zudoku 0.56.0 → 0.57.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/app/demo.js +1 -1
  2. package/dist/app/entry.client.js +1 -1
  3. package/dist/app/entry.server.js +1 -1
  4. package/dist/app/main.d.ts +1 -1
  5. package/dist/app/main.js +3 -2
  6. package/dist/app/main.js.map +1 -1
  7. package/dist/app/standalone.js +1 -1
  8. package/dist/config/validators/ProtectedRoutesSchema.d.ts +5 -4
  9. package/dist/config/validators/ProtectedRoutesSchema.js +4 -13
  10. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -1
  11. package/dist/config/validators/validate.d.ts +1 -13
  12. package/dist/lib/components/MobileTopNavigation.js +2 -2
  13. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  14. package/dist/lib/components/TopNavigation.js +2 -2
  15. package/dist/lib/components/TopNavigation.js.map +1 -1
  16. package/dist/lib/components/index.d.ts +0 -29
  17. package/dist/lib/components/index.js +0 -17
  18. package/dist/lib/components/index.js.map +1 -1
  19. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  20. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  21. package/dist/lib/components/navigation/utils.d.ts +1 -1
  22. package/dist/lib/components/navigation/utils.js +1 -1
  23. package/dist/lib/components/navigation/utils.js.map +1 -1
  24. package/dist/lib/core/ZudokuContext.d.ts +2 -1
  25. package/dist/lib/core/ZudokuContext.js +13 -3
  26. package/dist/lib/core/ZudokuContext.js.map +1 -1
  27. package/dist/lib/core/__internal.d.ts +37 -0
  28. package/dist/lib/core/__internal.js +26 -0
  29. package/dist/lib/core/__internal.js.map +1 -0
  30. package/dist/lib/core/router.d.ts +1 -0
  31. package/dist/lib/core/router.js +2 -0
  32. package/dist/lib/core/router.js.map +1 -0
  33. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  34. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  35. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  36. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  37. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  38. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  39. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  40. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  41. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  42. package/dist/vite/{remarkStaticGeneration.d.ts → mdx/remark-static-generation.d.ts} +2 -2
  43. package/dist/vite/{remarkStaticGeneration.js → mdx/remark-static-generation.js} +1 -1
  44. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  45. package/dist/vite/plugin-mdx.js +6 -23
  46. package/dist/vite/plugin-mdx.js.map +1 -1
  47. package/dist/vite/plugin-navigation.js +33 -34
  48. package/dist/vite/plugin-navigation.js.map +1 -1
  49. package/lib/CategoryHeading-DCpZu3yG.js +17 -0
  50. package/lib/CategoryHeading-DCpZu3yG.js.map +1 -0
  51. package/lib/{Command-CfgGXMfJ.js → Command-CDn17s8X.js} +2 -2
  52. package/lib/{Command-CfgGXMfJ.js.map → Command-CDn17s8X.js.map} +1 -1
  53. package/lib/{Dialog-B7YnrNnG.js → Dialog-BrIjMmUK.js} +3 -3
  54. package/lib/{Dialog-B7YnrNnG.js.map → Dialog-BrIjMmUK.js.map} +1 -1
  55. package/lib/{MdxPage-D49lfheg.js → MdxPage-CsYakgbK.js} +16 -15
  56. package/lib/{MdxPage-D49lfheg.js.map → MdxPage-CsYakgbK.js.map} +1 -1
  57. package/lib/{OAuthErrorPage-COKL9zOi.js → OAuthErrorPage-CW81kc7H.js} +7 -7
  58. package/lib/{OAuthErrorPage-COKL9zOi.js.map → OAuthErrorPage-CW81kc7H.js.map} +1 -1
  59. package/lib/{OasProvider-CCv_-asV.js → OasProvider-DF34c7Tj.js} +3 -3
  60. package/lib/{OasProvider-CCv_-asV.js.map → OasProvider-DF34c7Tj.js.map} +1 -1
  61. package/lib/{OperationList-DkS0B0y1.js → OperationList-BT3T9cyh.js} +17 -16
  62. package/lib/{OperationList-DkS0B0y1.js.map → OperationList-BT3T9cyh.js.map} +1 -1
  63. package/lib/{Pagination-VfR2DCXf.js → Pagination-BvcjSQfr.js} +3 -3
  64. package/lib/{Pagination-VfR2DCXf.js.map → Pagination-BvcjSQfr.js.map} +1 -1
  65. package/lib/RouteGuard-JLH6tCY8.js +56 -0
  66. package/lib/RouteGuard-JLH6tCY8.js.map +1 -0
  67. package/lib/RouterError-DcVonMP1.js +41 -0
  68. package/lib/RouterError-DcVonMP1.js.map +1 -0
  69. package/lib/{SchemaList-B7ezc5Uy.js → SchemaList-BSTuCiI1.js} +15 -14
  70. package/lib/{SchemaList-B7ezc5Uy.js.map → SchemaList-BSTuCiI1.js.map} +1 -1
  71. package/lib/{SchemaView-BuL-ycaR.js → SchemaView-B5oMHFaS.js} +4 -4
  72. package/lib/{SchemaView-BuL-ycaR.js.map → SchemaView-B5oMHFaS.js.map} +1 -1
  73. package/lib/{Select-B9h5k2Pz.js → Select-C3efYI1n.js} +8 -8
  74. package/lib/{Select-B9h5k2Pz.js.map → Select-C3efYI1n.js.map} +1 -1
  75. package/lib/{SignUp-Cn_gZ7UN.js → SignUp-BHw9Ci8d.js} +11 -11
  76. package/lib/{SignUp-Cn_gZ7UN.js.map → SignUp-BHw9Ci8d.js.map} +1 -1
  77. package/lib/{Slot-BFCJzl5J.js → Slot-DOtTvoyj.js} +1678 -1912
  78. package/lib/{Slot-BFCJzl5J.js.map → Slot-DOtTvoyj.js.map} +1 -1
  79. package/lib/{SyntaxHighlight-CSW4eaIJ.js → SyntaxHighlight-GR0eix_L.js} +2 -2
  80. package/lib/{SyntaxHighlight-CSW4eaIJ.js.map → SyntaxHighlight-GR0eix_L.js.map} +1 -1
  81. package/lib/{Toc-B9K7a2FS.js → Toc-BlcGIkXc.js} +2 -2
  82. package/lib/{Toc-B9K7a2FS.js.map → Toc-BlcGIkXc.js.map} +1 -1
  83. package/lib/{ZudokuContext-mDDq1hft.js → ZudokuContext-BuJD7yIX.js} +28 -28
  84. package/lib/{ZudokuContext-mDDq1hft.js.map → ZudokuContext-BuJD7yIX.js.map} +1 -1
  85. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +9204 -0
  86. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +1 -0
  87. package/lib/{circular-BMUvC5RK.js → circular-DKJCbMIs.js} +2 -2
  88. package/lib/{circular-BMUvC5RK.js.map → circular-DKJCbMIs.js.map} +1 -1
  89. package/lib/{createServer-I8dX2VSu.js → createServer-DR-J5mEE.js} +4 -4
  90. package/lib/{createServer-I8dX2VSu.js.map → createServer-DR-J5mEE.js.map} +1 -1
  91. package/lib/{errors-D2Qdkul6.js → errors-C1fOoSR8.js} +2 -2
  92. package/lib/{errors-D2Qdkul6.js.map → errors-C1fOoSR8.js.map} +1 -1
  93. package/lib/{hook-CGx8MPrU.js → hook-bv3iuX7X.js} +2 -2
  94. package/lib/{hook-CGx8MPrU.js.map → hook-bv3iuX7X.js.map} +1 -1
  95. package/lib/index-DDHx4NBX.js +1061 -0
  96. package/lib/index-DDHx4NBX.js.map +1 -0
  97. package/lib/{index-DZqSbZzE.js → index-DLcG9mHm.js} +17 -17
  98. package/lib/{index-DZqSbZzE.js.map → index-DLcG9mHm.js.map} +1 -1
  99. package/lib/{index-ChOC1gfC.js → index-HarEI51d.js} +2 -2
  100. package/lib/{index-ChOC1gfC.js.map → index-HarEI51d.js.map} +1 -1
  101. package/lib/{RouteGuard-CSi9-hSR.js → index.esm-BnYHxCYC.js} +226 -281
  102. package/lib/index.esm-BnYHxCYC.js.map +1 -0
  103. package/lib/mutation-Dy_5up8v.js +196 -0
  104. package/lib/mutation-Dy_5up8v.js.map +1 -0
  105. package/lib/ui/Command.js +1 -1
  106. package/lib/ui/SyntaxHighlight.js +2 -2
  107. package/lib/{useExposedProps-DUoV7MCU.js → useExposedProps-BH9aq4MD.js} +32 -32
  108. package/lib/{useExposedProps-DUoV7MCU.js.map → useExposedProps-BH9aq4MD.js.map} +1 -1
  109. package/lib/useLatest-hmRS46UF.js +11 -0
  110. package/lib/useLatest-hmRS46UF.js.map +1 -0
  111. package/lib/zudoku.__internal.js +2965 -0
  112. package/lib/zudoku.__internal.js.map +1 -0
  113. package/lib/zudoku.auth-auth0.js +1 -1
  114. package/lib/zudoku.auth-azureb2c.js +5 -5
  115. package/lib/zudoku.auth-clerk.js +2 -2
  116. package/lib/zudoku.auth-openid.js +5 -5
  117. package/lib/zudoku.auth-supabase.js +2 -2
  118. package/lib/zudoku.components.js +20 -29
  119. package/lib/zudoku.hooks.js +4 -4
  120. package/lib/zudoku.plugin-api-catalog.js +18 -18
  121. package/lib/zudoku.plugin-api-keys.js +27 -26
  122. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  123. package/lib/zudoku.plugin-custom-pages.js +1 -1
  124. package/lib/zudoku.plugin-markdown.js +1 -1
  125. package/lib/zudoku.plugin-openapi.js +4 -4
  126. package/lib/zudoku.plugin-redirect.js +3 -3
  127. package/lib/zudoku.plugin-search-pagefind.js +14 -14
  128. package/lib/zudoku.router.js +123 -0
  129. package/lib/zudoku.router.js.map +1 -0
  130. package/package.json +10 -1
  131. package/src/app/demo.tsx +1 -1
  132. package/src/app/entry.client.tsx +1 -1
  133. package/src/app/entry.server.tsx +1 -1
  134. package/src/app/main.tsx +4 -3
  135. package/src/app/standalone.tsx +1 -1
  136. package/src/lib/components/MobileTopNavigation.tsx +2 -2
  137. package/src/lib/components/TopNavigation.tsx +2 -2
  138. package/src/lib/components/index.ts +0 -20
  139. package/src/lib/components/navigation/NavigationItem.tsx +2 -2
  140. package/src/lib/components/navigation/utils.ts +1 -1
  141. package/src/lib/core/ZudokuContext.ts +22 -5
  142. package/src/lib/core/__internal.tsx +30 -0
  143. package/src/lib/core/router.ts +1 -0
  144. package/dist/vite/remarkStaticGeneration.js.map +0 -1
  145. package/lib/RouteGuard-CSi9-hSR.js.map +0 -1
  146. package/lib/chunk-QMGIS6GS-CdEm9pzB.js +0 -1839
  147. package/lib/chunk-QMGIS6GS-CdEm9pzB.js.map +0 -1
  148. package/lib/index-Cc70HIQT.js +0 -4087
  149. package/lib/index-Cc70HIQT.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm-BnYHxCYC.js","sources":["../../../node_modules/.pnpm/react-fast-compare@3.2.2/node_modules/react-fast-compare/index.js","../../../node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/browser.js","../../../node_modules/.pnpm/shallowequal@1.1.0/node_modules/shallowequal/index.js","../../../node_modules/.pnpm/@zudoku+react-helmet-async@2.0.5_react@19.1.0/node_modules/@zudoku/react-helmet-async/lib/index.esm.js"],"sourcesContent":["/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// src/index.tsx\nimport React3, { Component as Component3 } from \"react\";\nimport fastCompare from \"react-fast-compare\";\nimport invariant from \"invariant\";\n\n// src/Provider.tsx\nimport React2, { Component } from \"react\";\n\n// src/server.ts\nimport React from \"react\";\n\n// src/constants.ts\nvar TAG_NAMES = /* @__PURE__ */ ((TAG_NAMES2) => {\n TAG_NAMES2[\"BASE\"] = \"base\";\n TAG_NAMES2[\"BODY\"] = \"body\";\n TAG_NAMES2[\"HEAD\"] = \"head\";\n TAG_NAMES2[\"HTML\"] = \"html\";\n TAG_NAMES2[\"LINK\"] = \"link\";\n TAG_NAMES2[\"META\"] = \"meta\";\n TAG_NAMES2[\"NOSCRIPT\"] = \"noscript\";\n TAG_NAMES2[\"SCRIPT\"] = \"script\";\n TAG_NAMES2[\"STYLE\"] = \"style\";\n TAG_NAMES2[\"TITLE\"] = \"title\";\n TAG_NAMES2[\"FRAGMENT\"] = \"Symbol(react.fragment)\";\n return TAG_NAMES2;\n})(TAG_NAMES || {});\nvar SEO_PRIORITY_TAGS = {\n link: { rel: [\"amphtml\", \"canonical\", \"alternate\"] },\n script: { type: [\"application/ld+json\"] },\n meta: {\n charset: \"\",\n name: [\"generator\", \"robots\", \"description\"],\n property: [\n \"og:type\",\n \"og:title\",\n \"og:url\",\n \"og:image\",\n \"og:image:alt\",\n \"og:description\",\n \"twitter:url\",\n \"twitter:title\",\n \"twitter:description\",\n \"twitter:image\",\n \"twitter:image:alt\",\n \"twitter:card\",\n \"twitter:site\"\n ]\n }\n};\nvar VALID_TAG_NAMES = Object.values(TAG_NAMES);\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HTML_TAG_MAP = Object.entries(REACT_TAG_MAP).reduce(\n (carry, [key, value]) => {\n carry[value] = key;\n return carry;\n },\n {}\n);\nvar HELMET_ATTRIBUTE = \"data-rh\";\n\n// src/utils.ts\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\",\n PRIORITIZE_SEO_TAGS: \"prioritizeSeoTags\"\n};\nvar getInnermostProperty = (propsList, property) => {\n for (let i = propsList.length - 1; i >= 0; i -= 1) {\n const props = propsList[i];\n if (Object.prototype.hasOwnProperty.call(props, property)) {\n return props[property];\n }\n }\n return null;\n};\nvar getTitleFromPropsList = (propsList) => {\n let innermostTitle = getInnermostProperty(propsList, \"title\" /* TITLE */);\n const innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n if (Array.isArray(innermostTitle)) {\n innermostTitle = innermostTitle.join(\"\");\n }\n if (innermostTemplate && innermostTitle) {\n return innermostTemplate.replace(/%s/g, () => innermostTitle);\n }\n const innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || void 0;\n};\nvar getOnChangeClientState = (propsList) => getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || (() => {\n});\nvar getAttributesFromPropsList = (tagType, propsList) => propsList.filter((props) => typeof props[tagType] !== \"undefined\").map((props) => props[tagType]).reduce((tagAttrs, current) => ({ ...tagAttrs, ...current }), {});\nvar getBaseTagFromPropsList = (primaryAttributes, propsList) => propsList.filter((props) => typeof props[\"base\" /* BASE */] !== \"undefined\").map((props) => props[\"base\" /* BASE */]).reverse().reduce((innermostBaseTag, tag) => {\n if (!innermostBaseTag.length) {\n const keys = Object.keys(tag);\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const lowerCaseAttributeKey = attributeKey.toLowerCase();\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n return innermostBaseTag;\n}, []);\nvar warn = (msg) => console && typeof console.warn === \"function\" && console.warn(msg);\nvar getTagsFromPropsList = (tagName, primaryAttributes, propsList) => {\n const approvedSeenTags = {};\n return propsList.filter((props) => {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\n `Helmet: ${tagName} should be of type \"Array\". Instead found type \"${typeof props[tagName]}\"`\n );\n }\n return false;\n }).map((props) => props[tagName]).reverse().reduce((approvedTags, instanceTags) => {\n const instanceSeenTags = {};\n instanceTags.filter((tag) => {\n let primaryAttributeKey;\n const keys2 = Object.keys(tag);\n for (let i = 0; i < keys2.length; i += 1) {\n const attributeKey = keys2[i];\n const lowerCaseAttributeKey = attributeKey.toLowerCase();\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === \"rel\" /* REL */ && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === \"rel\" /* REL */ && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === \"innerHTML\" /* INNER_HTML */ || attributeKey === \"cssText\" /* CSS_TEXT */ || attributeKey === \"itemprop\" /* ITEM_PROP */)) {\n primaryAttributeKey = attributeKey;\n }\n }\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n const value = tag[primaryAttributeKey].toLowerCase();\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n return false;\n }).reverse().forEach((tag) => approvedTags.push(tag));\n const keys = Object.keys(instanceSeenTags);\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const tagUnion = {\n ...approvedSeenTags[attributeKey],\n ...instanceSeenTags[attributeKey]\n };\n approvedSeenTags[attributeKey] = tagUnion;\n }\n return approvedTags;\n }, []).reverse();\n};\nvar getAnyTrueFromPropsList = (propsList, checkedTag) => {\n if (Array.isArray(propsList) && propsList.length) {\n for (let index = 0; index < propsList.length; index += 1) {\n const prop = propsList[index];\n if (prop[checkedTag]) {\n return true;\n }\n }\n }\n return false;\n};\nvar reducePropsToState = (propsList) => ({\n baseTag: getBaseTagFromPropsList([\"href\" /* HREF */], propsList),\n bodyAttributes: getAttributesFromPropsList(\"bodyAttributes\" /* BODY */, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(\"htmlAttributes\" /* HTML */, propsList),\n linkTags: getTagsFromPropsList(\n \"link\" /* LINK */,\n [\"rel\" /* REL */, \"href\" /* HREF */],\n propsList\n ),\n metaTags: getTagsFromPropsList(\n \"meta\" /* META */,\n [\n \"name\" /* NAME */,\n \"charset\" /* CHARSET */,\n \"http-equiv\" /* HTTPEQUIV */,\n \"property\" /* PROPERTY */,\n \"itemprop\" /* ITEM_PROP */\n ],\n propsList\n ),\n noscriptTags: getTagsFromPropsList(\"noscript\" /* NOSCRIPT */, [\"innerHTML\" /* INNER_HTML */], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(\n \"script\" /* SCRIPT */,\n [\"src\" /* SRC */, \"innerHTML\" /* INNER_HTML */],\n propsList\n ),\n styleTags: getTagsFromPropsList(\"style\" /* STYLE */, [\"cssText\" /* CSS_TEXT */], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(\"titleAttributes\" /* TITLE */, propsList),\n prioritizeSeoTags: getAnyTrueFromPropsList(propsList, HELMET_PROPS.PRIORITIZE_SEO_TAGS)\n});\nvar flattenArray = (possibleArray) => Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\nvar checkIfPropsMatch = (props, toMatch) => {\n const keys = Object.keys(props);\n for (let i = 0; i < keys.length; i += 1) {\n if (toMatch[keys[i]] && toMatch[keys[i]].includes(props[keys[i]])) {\n return true;\n }\n }\n return false;\n};\nvar prioritizer = (elementsList, propsToMatch) => {\n if (Array.isArray(elementsList)) {\n return elementsList.reduce(\n (acc, elementAttrs) => {\n if (checkIfPropsMatch(elementAttrs, propsToMatch)) {\n acc.priority.push(elementAttrs);\n } else {\n acc.default.push(elementAttrs);\n }\n return acc;\n },\n { priority: [], default: [] }\n );\n }\n return { default: elementsList, priority: [] };\n};\nvar without = (obj, key) => {\n return {\n ...obj,\n [key]: void 0\n };\n};\n\n// src/server.ts\nvar SELF_CLOSING_TAGS = [\"noscript\" /* NOSCRIPT */, \"script\" /* SCRIPT */, \"style\" /* STYLE */];\nvar encodeSpecialCharacters = (str, encode = true) => {\n if (encode === false) {\n return String(str);\n }\n return String(str).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#x27;\");\n};\nvar generateElementAttributesAsString = (attributes) => Object.keys(attributes).reduce((str, key) => {\n const attr = typeof attributes[key] !== \"undefined\" ? `${key}=\"${attributes[key]}\"` : `${key}`;\n return str ? `${str} ${attr}` : attr;\n}, \"\");\nvar generateTitleAsString = (type, title, attributes, encode) => {\n const attributeString = generateElementAttributesAsString(attributes);\n const flattenedTitle = flattenArray(title);\n return attributeString ? `<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeString}>${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}</${type}>` : `<${type} ${HELMET_ATTRIBUTE}=\"true\">${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}</${type}>`;\n};\nvar generateTagsAsString = (type, tags, encode = true) => tags.reduce((str, t) => {\n const tag = t;\n const attributeHtml = Object.keys(tag).filter(\n (attribute) => !(attribute === \"innerHTML\" /* INNER_HTML */ || attribute === \"cssText\" /* CSS_TEXT */)\n ).reduce((string, attribute) => {\n const attr = typeof tag[attribute] === \"undefined\" ? attribute : `${attribute}=\"${encodeSpecialCharacters(tag[attribute], encode)}\"`;\n return string ? `${string} ${attr}` : attr;\n }, \"\");\n const tagContent = tag.innerHTML || tag.cssText || \"\";\n const isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return `${str}<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeHtml}${isSelfClosing ? `/>` : `>${tagContent}</${type}>`}`;\n}, \"\");\nvar convertElementAttributesToReactProps = (attributes, initProps = {}) => Object.keys(attributes).reduce((obj, key) => {\n const mapped = REACT_TAG_MAP[key];\n obj[mapped || key] = attributes[key];\n return obj;\n}, initProps);\nvar generateTitleAsReactComponent = (_type, title, attributes) => {\n const initProps = {\n key: title,\n [HELMET_ATTRIBUTE]: true\n };\n const props = convertElementAttributesToReactProps(attributes, initProps);\n return [React.createElement(\"title\" /* TITLE */, props, title)];\n};\nvar generateTagsAsReactComponent = (type, tags) => tags.map((tag, i) => {\n const mappedTag = {\n key: i,\n [HELMET_ATTRIBUTE]: true\n };\n Object.keys(tag).forEach((attribute) => {\n const mapped = REACT_TAG_MAP[attribute];\n const mappedAttribute = mapped || attribute;\n if (mappedAttribute === \"innerHTML\" /* INNER_HTML */ || mappedAttribute === \"cssText\" /* CSS_TEXT */) {\n const content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n});\nvar getMethodsForTag = (type, tags, encode = true) => {\n switch (type) {\n case \"title\" /* TITLE */:\n return {\n toComponent: () => generateTitleAsReactComponent(type, tags.title, tags.titleAttributes),\n toString: () => generateTitleAsString(type, tags.title, tags.titleAttributes, encode)\n };\n case \"bodyAttributes\" /* BODY */:\n case \"htmlAttributes\" /* HTML */:\n return {\n toComponent: () => convertElementAttributesToReactProps(tags),\n toString: () => generateElementAttributesAsString(tags)\n };\n default:\n return {\n toComponent: () => generateTagsAsReactComponent(type, tags),\n toString: () => generateTagsAsString(type, tags, encode)\n };\n }\n};\nvar getPriorityMethods = ({ metaTags, linkTags, scriptTags, encode }) => {\n const meta = prioritizer(metaTags, SEO_PRIORITY_TAGS.meta);\n const link = prioritizer(linkTags, SEO_PRIORITY_TAGS.link);\n const script = prioritizer(scriptTags, SEO_PRIORITY_TAGS.script);\n const priorityMethods = {\n toComponent: () => [\n ...generateTagsAsReactComponent(\"meta\" /* META */, meta.priority),\n ...generateTagsAsReactComponent(\"link\" /* LINK */, link.priority),\n ...generateTagsAsReactComponent(\"script\" /* SCRIPT */, script.priority)\n ],\n toString: () => (\n // generate all the tags as strings and concatenate them\n `${getMethodsForTag(\"meta\" /* META */, meta.priority, encode)} ${getMethodsForTag(\n \"link\" /* LINK */,\n link.priority,\n encode\n )} ${getMethodsForTag(\"script\" /* SCRIPT */, script.priority, encode)}`\n )\n };\n return {\n priorityMethods,\n metaTags: meta.default,\n linkTags: link.default,\n scriptTags: script.default\n };\n};\nvar mapStateOnServer = (props) => {\n const {\n baseTag,\n bodyAttributes,\n encode = true,\n htmlAttributes,\n noscriptTags,\n styleTags,\n title = \"\",\n titleAttributes,\n prioritizeSeoTags\n } = props;\n let { linkTags, metaTags, scriptTags } = props;\n let priorityMethods = {\n toComponent: () => {\n },\n toString: () => \"\"\n };\n if (prioritizeSeoTags) {\n ({ priorityMethods, linkTags, metaTags, scriptTags } = getPriorityMethods(props));\n }\n return {\n priority: priorityMethods,\n base: getMethodsForTag(\"base\" /* BASE */, baseTag, encode),\n bodyAttributes: getMethodsForTag(\"bodyAttributes\" /* BODY */, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(\"htmlAttributes\" /* HTML */, htmlAttributes, encode),\n link: getMethodsForTag(\"link\" /* LINK */, linkTags, encode),\n meta: getMethodsForTag(\"meta\" /* META */, metaTags, encode),\n noscript: getMethodsForTag(\"noscript\" /* NOSCRIPT */, noscriptTags, encode),\n script: getMethodsForTag(\"script\" /* SCRIPT */, scriptTags, encode),\n style: getMethodsForTag(\"style\" /* STYLE */, styleTags, encode),\n title: getMethodsForTag(\"title\" /* TITLE */, { title, titleAttributes }, encode)\n };\n};\nvar server_default = mapStateOnServer;\n\n// src/HelmetData.ts\nvar instances = [];\nvar isDocument = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar HelmetData = class {\n instances = [];\n canUseDOM = isDocument;\n context;\n value = {\n setHelmet: (serverState) => {\n this.context.helmet = serverState;\n },\n helmetInstances: {\n get: () => this.canUseDOM ? instances : this.instances,\n add: (instance) => {\n (this.canUseDOM ? instances : this.instances).push(instance);\n },\n remove: (instance) => {\n const index = (this.canUseDOM ? instances : this.instances).indexOf(instance);\n (this.canUseDOM ? instances : this.instances).splice(index, 1);\n }\n }\n };\n constructor(context, canUseDOM) {\n this.context = context;\n this.canUseDOM = canUseDOM || false;\n if (!canUseDOM) {\n context.helmet = server_default({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n }\n};\n\n// src/Provider.tsx\nvar defaultValue = {};\nvar Context = React2.createContext(defaultValue);\nvar HelmetProvider = class _HelmetProvider extends Component {\n static canUseDOM = isDocument;\n helmetData;\n constructor(props) {\n super(props);\n this.helmetData = new HelmetData(this.props.context || {}, _HelmetProvider.canUseDOM);\n }\n render() {\n return /* @__PURE__ */ React2.createElement(Context.Provider, { value: this.helmetData.value }, this.props.children);\n }\n};\n\n// src/Dispatcher.tsx\nimport { Component as Component2 } from \"react\";\nimport shallowEqual from \"shallowequal\";\n\n// src/client.ts\nvar updateTags = (type, tags) => {\n const headElement = document.head || document.querySelector(\"head\" /* HEAD */);\n const tagNodes = headElement.querySelectorAll(`${type}[${HELMET_ATTRIBUTE}]`);\n const oldTags = [].slice.call(tagNodes);\n const newTags = [];\n let indexToDelete;\n if (tags && tags.length) {\n tags.forEach((tag) => {\n const newElement = document.createElement(type);\n for (const attribute in tag) {\n if (Object.prototype.hasOwnProperty.call(tag, attribute)) {\n if (attribute === \"innerHTML\" /* INNER_HTML */) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === \"cssText\" /* CSS_TEXT */) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n const attr = attribute;\n const value = typeof tag[attr] === \"undefined\" ? \"\" : tag[attr];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n if (oldTags.some((existingTag, index) => {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n oldTags.forEach((tag) => tag.parentNode?.removeChild(tag));\n newTags.forEach((tag) => headElement.appendChild(tag));\n return {\n oldTags,\n newTags\n };\n};\nvar updateAttributes = (tagName, attributes) => {\n const elementTag = document.getElementsByTagName(tagName)[0];\n if (!elementTag) {\n return;\n }\n const helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n const helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n const attributesToRemove = [...helmetAttributes];\n const attributeKeys = Object.keys(attributes);\n for (const attribute of attributeKeys) {\n const value = attributes[attribute] || \"\";\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n const indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n for (let i = attributesToRemove.length - 1; i >= 0; i -= 1) {\n elementTag.removeAttribute(attributesToRemove[i]);\n }\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\nvar updateTitle = (title, attributes) => {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n updateAttributes(\"title\" /* TITLE */, attributes);\n};\nvar commitTagChanges = (newState, cb) => {\n const {\n baseTag,\n bodyAttributes,\n htmlAttributes,\n linkTags,\n metaTags,\n noscriptTags,\n onChangeClientState,\n scriptTags,\n styleTags,\n title,\n titleAttributes\n } = newState;\n updateAttributes(\"body\" /* BODY */, bodyAttributes);\n updateAttributes(\"html\" /* HTML */, htmlAttributes);\n updateTitle(title, titleAttributes);\n const tagUpdates = {\n baseTag: updateTags(\"base\" /* BASE */, baseTag),\n linkTags: updateTags(\"link\" /* LINK */, linkTags),\n metaTags: updateTags(\"meta\" /* META */, metaTags),\n noscriptTags: updateTags(\"noscript\" /* NOSCRIPT */, noscriptTags),\n scriptTags: updateTags(\"script\" /* SCRIPT */, scriptTags),\n styleTags: updateTags(\"style\" /* STYLE */, styleTags)\n };\n const addedTags = {};\n const removedTags = {};\n Object.keys(tagUpdates).forEach((tagType) => {\n const { newTags, oldTags } = tagUpdates[tagType];\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n if (cb) {\n cb();\n }\n onChangeClientState(newState, addedTags, removedTags);\n};\nvar _helmetCallback = null;\nvar handleStateChangeOnClient = (newState) => {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(() => {\n commitTagChanges(newState, () => {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\nvar client_default = handleStateChangeOnClient;\n\n// src/Dispatcher.tsx\nvar HelmetDispatcher = class extends Component2 {\n rendered = false;\n shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n }\n componentDidUpdate() {\n this.emitChange();\n }\n componentWillUnmount() {\n const { helmetInstances } = this.props.context;\n helmetInstances.remove(this);\n this.emitChange();\n }\n emitChange() {\n const { helmetInstances, setHelmet } = this.props.context;\n let serverState = null;\n const state = reducePropsToState(\n helmetInstances.get().map((instance) => {\n const props = { ...instance.props };\n delete props.context;\n return props;\n })\n );\n if (HelmetProvider.canUseDOM) {\n client_default(state);\n } else if (server_default) {\n serverState = server_default(state);\n }\n setHelmet(serverState);\n }\n // componentWillMount will be deprecated\n // for SSR, initialize on first render\n // constructor is also unsafe in StrictMode\n init() {\n if (this.rendered) {\n return;\n }\n this.rendered = true;\n const { helmetInstances } = this.props.context;\n helmetInstances.add(this);\n this.emitChange();\n }\n render() {\n this.init();\n return null;\n }\n};\n\n// src/index.tsx\nvar Helmet = class extends Component3 {\n static defaultProps = {\n defer: true,\n encodeSpecialCharacters: true,\n prioritizeSeoTags: false\n };\n shouldComponentUpdate(nextProps) {\n return !fastCompare(without(this.props, \"helmetData\"), without(nextProps, \"helmetData\"));\n }\n mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n switch (child.type) {\n case \"script\" /* SCRIPT */:\n case \"noscript\" /* NOSCRIPT */:\n return {\n innerHTML: nestedChildren\n };\n case \"style\" /* STYLE */:\n return {\n cssText: nestedChildren\n };\n default:\n throw new Error(\n `<${child.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`\n );\n }\n }\n flattenArrayTypeChildren(child, arrayTypeChildren, newChildProps, nestedChildren) {\n return {\n ...arrayTypeChildren,\n [child.type]: [\n ...arrayTypeChildren[child.type] || [],\n {\n ...newChildProps,\n ...this.mapNestedChildrenToProps(child, nestedChildren)\n }\n ]\n };\n }\n mapObjectTypeChildren(child, newProps, newChildProps, nestedChildren) {\n switch (child.type) {\n case \"title\" /* TITLE */:\n return {\n ...newProps,\n [child.type]: nestedChildren,\n titleAttributes: { ...newChildProps }\n };\n case \"body\" /* BODY */:\n return {\n ...newProps,\n bodyAttributes: { ...newChildProps }\n };\n case \"html\" /* HTML */:\n return {\n ...newProps,\n htmlAttributes: { ...newChildProps }\n };\n default:\n return {\n ...newProps,\n [child.type]: { ...newChildProps }\n };\n }\n }\n mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n let newFlattenedProps = { ...newProps };\n Object.keys(arrayTypeChildren).forEach((arrayChildName) => {\n newFlattenedProps = {\n ...newFlattenedProps,\n [arrayChildName]: arrayTypeChildren[arrayChildName]\n };\n });\n return newFlattenedProps;\n }\n warnOnInvalidChildren(child, nestedChildren) {\n invariant(\n VALID_TAG_NAMES.some((name) => child.type === name),\n typeof child.type === \"function\" ? `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 ${VALID_TAG_NAMES.join(\n \", \"\n )} are allowed. Helmet does not support rendering <${child.type}> elements. Refer to our API for more information.`\n );\n invariant(\n !nestedChildren || typeof nestedChildren === \"string\" || Array.isArray(nestedChildren) && !nestedChildren.some((nestedChild) => typeof nestedChild !== \"string\"),\n `Helmet expects a string as a child of <${child.type}>. Did you forget to wrap your children in braces? ( <${child.type}>{\\`\\`}</${child.type}> ) Refer to our API for more information.`\n );\n return true;\n }\n mapChildrenToProps(children, newProps) {\n let arrayTypeChildren = {};\n React3.Children.forEach(children, (child) => {\n if (!child || !child.props) {\n return;\n }\n const { children: nestedChildren, ...childProps } = child.props;\n const newChildProps = Object.keys(childProps).reduce((obj, key) => {\n obj[HTML_TAG_MAP[key] || key] = childProps[key];\n return obj;\n }, {});\n let { type } = child;\n if (typeof type === \"symbol\") {\n type = type.toString();\n } else {\n this.warnOnInvalidChildren(child, nestedChildren);\n }\n switch (type) {\n case \"Symbol(react.fragment)\" /* FRAGMENT */:\n newProps = this.mapChildrenToProps(nestedChildren, newProps);\n break;\n case \"link\" /* LINK */:\n case \"meta\" /* META */:\n case \"noscript\" /* NOSCRIPT */:\n case \"script\" /* SCRIPT */:\n case \"style\" /* STYLE */:\n arrayTypeChildren = this.flattenArrayTypeChildren(\n child,\n arrayTypeChildren,\n newChildProps,\n nestedChildren\n );\n break;\n default:\n newProps = this.mapObjectTypeChildren(child, newProps, newChildProps, nestedChildren);\n break;\n }\n });\n return this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n }\n render() {\n const { children, ...props } = this.props;\n let newProps = { ...props };\n let { helmetData } = props;\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n if (helmetData && !(helmetData instanceof HelmetData)) {\n const data = helmetData;\n helmetData = new HelmetData(data.context, true);\n delete newProps.helmetData;\n }\n return helmetData ? /* @__PURE__ */ React3.createElement(HelmetDispatcher, { ...newProps, context: helmetData.value }) : /* @__PURE__ */ React3.createElement(Context.Consumer, null, (context) => /* @__PURE__ */ React3.createElement(HelmetDispatcher, { ...newProps, context }));\n }\n};\nexport {\n Helmet,\n HelmetData,\n HelmetProvider\n};\n"],"names":["hasElementType","hasMap","hasSet","hasArrayBuffer","equal","a","b","length","i","keys","it","reactFastCompare","error","invariant","condition","format","c","d","e","f","args","argIndex","browser","shallowequal","objA","objB","compare","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","key","valueA","valueB","TAG_NAMES","TAG_NAMES2","SEO_PRIORITY_TAGS","VALID_TAG_NAMES","REACT_TAG_MAP","HTML_TAG_MAP","carry","value","HELMET_ATTRIBUTE","HELMET_PROPS","getInnermostProperty","propsList","property","props","getTitleFromPropsList","innermostTitle","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","tag","lowerCaseAttributeKey","warn","msg","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","keys2","attributeKey","tagUnion","getAnyTrueFromPropsList","checkedTag","index","reducePropsToState","flattenArray","possibleArray","checkIfPropsMatch","toMatch","prioritizer","elementsList","propsToMatch","acc","elementAttrs","without","obj","SELF_CLOSING_TAGS","encodeSpecialCharacters","str","encode","generateElementAttributesAsString","attributes","attr","generateTitleAsString","type","title","attributeString","flattenedTitle","generateTagsAsString","tags","t","attributeHtml","attribute","string","tagContent","isSelfClosing","convertElementAttributesToReactProps","initProps","mapped","generateTitleAsReactComponent","_type","React","generateTagsAsReactComponent","mappedTag","mappedAttribute","content","getMethodsForTag","getPriorityMethods","metaTags","linkTags","scriptTags","meta","link","script","mapStateOnServer","baseTag","bodyAttributes","htmlAttributes","noscriptTags","styleTags","titleAttributes","prioritizeSeoTags","priorityMethods","server_default","instances","isDocument","HelmetData","serverState","instance","context","canUseDOM","defaultValue","Context","React2","HelmetProvider","_HelmetProvider","Component","updateTags","headElement","tagNodes","oldTags","newTags","indexToDelete","newElement","existingTag","updateAttributes","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","updateTitle","commitTagChanges","newState","cb","onChangeClientState","tagUpdates","addedTags","removedTags","_helmetCallback","handleStateChangeOnClient","client_default","HelmetDispatcher","Component2","nextProps","shallowEqual","helmetInstances","setHelmet","state","Helmet","Component3","fastCompare","child","nestedChildren","arrayTypeChildren","newChildProps","newProps","newFlattenedProps","arrayChildName","name","nestedChild","children","React3","childProps","helmetData","data"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,196 @@
1
+ import { R as a, c as r, n as u } from "./ZudokuContext-BuJD7yIX.js";
2
+ var d = class extends a {
3
+ #e;
4
+ #t;
5
+ #i;
6
+ constructor(t) {
7
+ super(), this.mutationId = t.mutationId, this.#t = t.mutationCache, this.#e = [], this.state = t.state || h(), this.setOptions(t.options), this.scheduleGc();
8
+ }
9
+ setOptions(t) {
10
+ this.options = t, this.updateGcTime(this.options.gcTime);
11
+ }
12
+ get meta() {
13
+ return this.options.meta;
14
+ }
15
+ addObserver(t) {
16
+ this.#e.includes(t) || (this.#e.push(t), this.clearGcTimeout(), this.#t.notify({
17
+ type: "observerAdded",
18
+ mutation: this,
19
+ observer: t
20
+ }));
21
+ }
22
+ removeObserver(t) {
23
+ this.#e = this.#e.filter((i) => i !== t), this.scheduleGc(), this.#t.notify({
24
+ type: "observerRemoved",
25
+ mutation: this,
26
+ observer: t
27
+ });
28
+ }
29
+ optionalRemove() {
30
+ this.#e.length || (this.state.status === "pending" ? this.scheduleGc() : this.#t.remove(this));
31
+ }
32
+ continue() {
33
+ return this.#i?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before
34
+ this.execute(this.state.variables);
35
+ }
36
+ async execute(t) {
37
+ const i = () => {
38
+ this.#s({ type: "continue" });
39
+ };
40
+ this.#i = r({
41
+ fn: () => this.options.mutationFn ? this.options.mutationFn(t) : Promise.reject(new Error("No mutationFn found")),
42
+ onFail: (e, n) => {
43
+ this.#s({ type: "failed", failureCount: e, error: n });
44
+ },
45
+ onPause: () => {
46
+ this.#s({ type: "pause" });
47
+ },
48
+ onContinue: i,
49
+ retry: this.options.retry ?? 0,
50
+ retryDelay: this.options.retryDelay,
51
+ networkMode: this.options.networkMode,
52
+ canRun: () => this.#t.canRun(this)
53
+ });
54
+ const s = this.state.status === "pending", o = !this.#i.canStart();
55
+ try {
56
+ if (s)
57
+ i();
58
+ else {
59
+ this.#s({ type: "pending", variables: t, isPaused: o }), await this.#t.config.onMutate?.(
60
+ t,
61
+ this
62
+ );
63
+ const n = await this.options.onMutate?.(t);
64
+ n !== this.state.context && this.#s({
65
+ type: "pending",
66
+ context: n,
67
+ variables: t,
68
+ isPaused: o
69
+ });
70
+ }
71
+ const e = await this.#i.start();
72
+ return await this.#t.config.onSuccess?.(
73
+ e,
74
+ t,
75
+ this.state.context,
76
+ this
77
+ ), await this.options.onSuccess?.(e, t, this.state.context), await this.#t.config.onSettled?.(
78
+ e,
79
+ null,
80
+ this.state.variables,
81
+ this.state.context,
82
+ this
83
+ ), await this.options.onSettled?.(e, null, t, this.state.context), this.#s({ type: "success", data: e }), e;
84
+ } catch (e) {
85
+ try {
86
+ throw await this.#t.config.onError?.(
87
+ e,
88
+ t,
89
+ this.state.context,
90
+ this
91
+ ), await this.options.onError?.(
92
+ e,
93
+ t,
94
+ this.state.context
95
+ ), await this.#t.config.onSettled?.(
96
+ void 0,
97
+ e,
98
+ this.state.variables,
99
+ this.state.context,
100
+ this
101
+ ), await this.options.onSettled?.(
102
+ void 0,
103
+ e,
104
+ t,
105
+ this.state.context
106
+ ), e;
107
+ } finally {
108
+ this.#s({ type: "error", error: e });
109
+ }
110
+ } finally {
111
+ this.#t.runNext(this);
112
+ }
113
+ }
114
+ #s(t) {
115
+ const i = (s) => {
116
+ switch (t.type) {
117
+ case "failed":
118
+ return {
119
+ ...s,
120
+ failureCount: t.failureCount,
121
+ failureReason: t.error
122
+ };
123
+ case "pause":
124
+ return {
125
+ ...s,
126
+ isPaused: !0
127
+ };
128
+ case "continue":
129
+ return {
130
+ ...s,
131
+ isPaused: !1
132
+ };
133
+ case "pending":
134
+ return {
135
+ ...s,
136
+ context: t.context,
137
+ data: void 0,
138
+ failureCount: 0,
139
+ failureReason: null,
140
+ error: null,
141
+ isPaused: t.isPaused,
142
+ status: "pending",
143
+ variables: t.variables,
144
+ submittedAt: Date.now()
145
+ };
146
+ case "success":
147
+ return {
148
+ ...s,
149
+ data: t.data,
150
+ failureCount: 0,
151
+ failureReason: null,
152
+ error: null,
153
+ status: "success",
154
+ isPaused: !1
155
+ };
156
+ case "error":
157
+ return {
158
+ ...s,
159
+ data: void 0,
160
+ error: t.error,
161
+ failureCount: s.failureCount + 1,
162
+ failureReason: t.error,
163
+ isPaused: !1,
164
+ status: "error"
165
+ };
166
+ }
167
+ };
168
+ this.state = i(this.state), u.batch(() => {
169
+ this.#e.forEach((s) => {
170
+ s.onMutationUpdate(t);
171
+ }), this.#t.notify({
172
+ mutation: this,
173
+ type: "updated",
174
+ action: t
175
+ });
176
+ });
177
+ }
178
+ };
179
+ function h() {
180
+ return {
181
+ context: void 0,
182
+ data: void 0,
183
+ error: null,
184
+ failureCount: 0,
185
+ failureReason: null,
186
+ isPaused: !1,
187
+ status: "idle",
188
+ variables: void 0,
189
+ submittedAt: 0
190
+ };
191
+ }
192
+ export {
193
+ d as M,
194
+ h as g
195
+ };
196
+ //# sourceMappingURL=mutation-Dy_5up8v.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-Dy_5up8v.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.81.5/node_modules/@tanstack/query-core/build/modern/mutation.js"],"sourcesContent":["// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map"],"names":["Mutation","Removable","#observers","#mutationCache","#retryer","config","getDefaultState","options","observer","x","variables","onContinue","#dispatch","createRetryer","failureCount","error","restored","isPaused","context","data","action","reducer","state","notifyManager"],"mappings":"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","x_google_ignoreList":[0]}
package/lib/ui/Command.js CHANGED
@@ -2,7 +2,7 @@ import { j as o } from "../jsx-runtime-C5mzlN2N.js";
2
2
  import { _ as t } from "../index-CrcNWbel.js";
3
3
  import { Search as i } from "lucide-react";
4
4
  import * as s from "react";
5
- import { D as p, a as l } from "../Dialog-B7YnrNnG.js";
5
+ import { D as p, a as l } from "../Dialog-BrIjMmUK.js";
6
6
  import { c as r } from "../cn-dYga0KKN.js";
7
7
  const m = s.forwardRef(({ className: a, ...e }, d) => /* @__PURE__ */ o.jsx(
8
8
  t,
@@ -1,7 +1,7 @@
1
1
  import "../jsx-runtime-C5mzlN2N.js";
2
2
  import "react";
3
- import "../ZudokuContext-mDDq1hft.js";
4
- import { S as h } from "../SyntaxHighlight-CSW4eaIJ.js";
3
+ import "../ZudokuContext-BuJD7yIX.js";
4
+ import { S as h } from "../SyntaxHighlight-GR0eix_L.js";
5
5
  import "../invariant-Bm-FVUQE.js";
6
6
  import "../CodeBlock-yJjjRwj-.js";
7
7
  import "./EmbeddedCodeBlock.js";
@@ -1,7 +1,7 @@
1
1
  import * as n from "react";
2
2
  import T from "react";
3
- import { c as K, b as R, a as V, d as W } from "./chunk-QMGIS6GS-CdEm9pzB.js";
4
- const L = {}, D = T.createContext(L);
3
+ import { aM as K, aP as R, a_ as V, aU as W } from "./chunk-QMGIS6GS-DqecZ6nq.js";
4
+ const M = {}, D = T.createContext(M);
5
5
  function X(e) {
6
6
  const t = T.useContext(D);
7
7
  return T.useMemo(
@@ -13,7 +13,7 @@ function X(e) {
13
13
  }
14
14
  function Y(e) {
15
15
  let t;
16
- return e.disableParentContext ? t = typeof e.components == "function" ? e.components(L) : e.components || L : t = X(e.components), T.createElement(
16
+ return e.disableParentContext ? t = typeof e.components == "function" ? e.components(M) : e.components || M : t = X(e.components), T.createElement(
17
17
  D.Provider,
18
18
  { value: t },
19
19
  e.children
@@ -21,69 +21,69 @@ function Y(e) {
21
21
  }
22
22
  var z = (e, t, r, u, m, l, d, h) => {
23
23
  let i = document.documentElement, v = ["light", "dark"];
24
- function f(o) {
24
+ function f(a) {
25
25
  (Array.isArray(e) ? e : [e]).forEach((y) => {
26
26
  let S = y === "class", P = S && l ? m.map((b) => l[b] || b) : m;
27
- S ? (i.classList.remove(...P), i.classList.add(l && l[o] ? l[o] : o)) : i.setAttribute(y, o);
28
- }), k(o);
27
+ S ? (i.classList.remove(...P), i.classList.add(l && l[a] ? l[a] : a)) : i.setAttribute(y, a);
28
+ }), k(a);
29
29
  }
30
- function k(o) {
31
- h && v.includes(o) && (i.style.colorScheme = o);
30
+ function k(a) {
31
+ h && v.includes(a) && (i.style.colorScheme = a);
32
32
  }
33
33
  function c() {
34
34
  return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
35
35
  }
36
36
  if (u) f(u);
37
37
  else try {
38
- let o = localStorage.getItem(t) || r, y = d && o === "system" ? c() : o;
38
+ let a = localStorage.getItem(t) || r, y = d && a === "system" ? c() : a;
39
39
  f(y);
40
40
  } catch {
41
41
  }
42
- }, _ = ["light", "dark"], N = "(prefers-color-scheme: dark)", J = typeof window > "u", M = n.createContext(void 0), $ = { setTheme: (e) => {
42
+ }, I = ["light", "dark"], N = "(prefers-color-scheme: dark)", J = typeof window > "u", L = n.createContext(void 0), U = { setTheme: (e) => {
43
43
  }, themes: [] }, Z = () => {
44
44
  var e;
45
- return (e = n.useContext(M)) != null ? e : $;
46
- }, ee = (e) => n.useContext(M) ? n.createElement(n.Fragment, null, e.children) : n.createElement(F, { ...e }), j = ["light", "dark"], F = ({ forcedTheme: e, disableTransitionOnChange: t = !1, enableSystem: r = !0, enableColorScheme: u = !0, storageKey: m = "theme", themes: l = j, defaultTheme: d = r ? "system" : "light", attribute: h = "data-theme", value: i, children: v, nonce: f, scriptProps: k }) => {
47
- let [c, o] = n.useState(() => U(m, d)), [y, S] = n.useState(() => c === "system" ? x() : c), P = i ? Object.values(i) : l, b = n.useCallback((a) => {
48
- let s = a;
45
+ return (e = n.useContext(L)) != null ? e : U;
46
+ }, ee = (e) => n.useContext(L) ? n.createElement(n.Fragment, null, e.children) : n.createElement(j, { ...e }), $ = ["light", "dark"], j = ({ forcedTheme: e, disableTransitionOnChange: t = !1, enableSystem: r = !0, enableColorScheme: u = !0, storageKey: m = "theme", themes: l = $, defaultTheme: d = r ? "system" : "light", attribute: h = "data-theme", value: i, children: v, nonce: f, scriptProps: k }) => {
47
+ let [c, a] = n.useState(() => Q(m, d)), [y, S] = n.useState(() => c === "system" ? x() : c), P = i ? Object.values(i) : l, b = n.useCallback((o) => {
48
+ let s = o;
49
49
  if (!s) return;
50
- a === "system" && r && (s = x());
51
- let g = i ? i[s] : s, A = t ? q(f) : null, C = document.documentElement, I = (p) => {
50
+ o === "system" && r && (s = x());
51
+ let g = i ? i[s] : s, A = t ? q(f) : null, C = document.documentElement, _ = (p) => {
52
52
  p === "class" ? (C.classList.remove(...P), g && C.classList.add(g)) : p.startsWith("data-") && (g ? C.setAttribute(p, g) : C.removeAttribute(p));
53
53
  };
54
- if (Array.isArray(h) ? h.forEach(I) : I(h), u) {
55
- let p = _.includes(d) ? d : null, H = _.includes(s) ? s : p;
54
+ if (Array.isArray(h) ? h.forEach(_) : _(h), u) {
55
+ let p = I.includes(d) ? d : null, H = I.includes(s) ? s : p;
56
56
  C.style.colorScheme = H;
57
57
  }
58
58
  A?.();
59
- }, [f]), w = n.useCallback((a) => {
60
- let s = typeof a == "function" ? a(c) : a;
61
- o(s);
59
+ }, [f]), w = n.useCallback((o) => {
60
+ let s = typeof o == "function" ? o(c) : o;
61
+ a(s);
62
62
  try {
63
63
  localStorage.setItem(m, s);
64
64
  } catch {
65
65
  }
66
- }, [c]), E = n.useCallback((a) => {
67
- let s = x(a);
66
+ }, [c]), E = n.useCallback((o) => {
67
+ let s = x(o);
68
68
  S(s), c === "system" && r && !e && b("system");
69
69
  }, [c, e]);
70
70
  n.useEffect(() => {
71
- let a = window.matchMedia(N);
72
- return a.addListener(E), E(a), () => a.removeListener(E);
71
+ let o = window.matchMedia(N);
72
+ return o.addListener(E), E(o), () => o.removeListener(E);
73
73
  }, [E]), n.useEffect(() => {
74
- let a = (s) => {
75
- s.key === m && (s.newValue ? o(s.newValue) : w(d));
74
+ let o = (s) => {
75
+ s.key === m && (s.newValue ? a(s.newValue) : w(d));
76
76
  };
77
- return window.addEventListener("storage", a), () => window.removeEventListener("storage", a);
77
+ return window.addEventListener("storage", o), () => window.removeEventListener("storage", o);
78
78
  }, [w]), n.useEffect(() => {
79
79
  b(e ?? c);
80
80
  }, [e, c]);
81
81
  let O = n.useMemo(() => ({ theme: c, setTheme: w, forcedTheme: e, resolvedTheme: c === "system" ? y : c, themes: r ? [...l, "system"] : l, systemTheme: r ? y : void 0 }), [c, w, e, y, r, l]);
82
- return n.createElement(M.Provider, { value: O }, n.createElement(Q, { forcedTheme: e, storageKey: m, attribute: h, enableSystem: r, enableColorScheme: u, defaultTheme: d, value: i, themes: l, nonce: f, scriptProps: k }), v);
83
- }, Q = n.memo(({ forcedTheme: e, storageKey: t, attribute: r, enableSystem: u, enableColorScheme: m, defaultTheme: l, value: d, themes: h, nonce: i, scriptProps: v }) => {
82
+ return n.createElement(L.Provider, { value: O }, n.createElement(F, { forcedTheme: e, storageKey: m, attribute: h, enableSystem: r, enableColorScheme: u, defaultTheme: d, value: i, themes: l, nonce: f, scriptProps: k }), v);
83
+ }, F = n.memo(({ forcedTheme: e, storageKey: t, attribute: r, enableSystem: u, enableColorScheme: m, defaultTheme: l, value: d, themes: h, nonce: i, scriptProps: v }) => {
84
84
  let f = JSON.stringify([r, t, l, e, h, d, u, m]).slice(1, -1);
85
85
  return n.createElement("script", { ...v, suppressHydrationWarning: !0, nonce: typeof window > "u" ? i : "", dangerouslySetInnerHTML: { __html: `(${z.toString()})(${f})` } });
86
- }), U = (e, t) => {
86
+ }), Q = (e, t) => {
87
87
  if (J) return;
88
88
  let r;
89
89
  try {
@@ -110,4 +110,4 @@ export {
110
110
  X as u,
111
111
  Z as z
112
112
  };
113
- //# sourceMappingURL=useExposedProps-DUoV7MCU.js.map
113
+ //# sourceMappingURL=useExposedProps-BH9aq4MD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExposedProps-DUoV7MCU.js","sources":["../../../node_modules/.pnpm/@mdx-js+react@3.1.0_@types+react@19.1.8_react@19.1.0/node_modules/@mdx-js/react/lib/index.js","../../../node_modules/.pnpm/next-themes@0.4.6_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next-themes/dist/index.mjs","../src/lib/util/useExposedProps.tsx"],"sourcesContent":["/**\n * @import {MDXComponents} from 'mdx/types.js'\n * @import {Component, ReactElement, ReactNode} from 'react'\n */\n\n/**\n * @callback MergeComponents\n * Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n * Current components from the context.\n * @returns {MDXComponents}\n * Additional components.\n *\n * @typedef Props\n * Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n * Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(\n function () {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n },\n [contextComponents, components]\n )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n * Properties.\n * @returns {ReactElement}\n * Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n /** @type {Readonly<MDXComponents>} */\n let allComponents\n\n if (properties.disableParentContext) {\n allComponents =\n typeof properties.components === 'function'\n ? properties.components(emptyComponents)\n : properties.components || emptyComponents\n } else {\n allComponents = useMDXComponents(properties.components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n properties.children\n )\n}\n","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","import {\n type Location,\n type NavigateFunction,\n type Params,\n type SetURLSearchParams,\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router\";\n\nexport type ExposedComponentProps = {\n location: Location;\n navigate: NavigateFunction;\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParams;\n params: Params;\n};\n\nexport const useExposedProps = (): ExposedComponentProps => {\n const location = useLocation();\n const navigate = useNavigate();\n const [searchParams, setSearchParams] = useSearchParams();\n const params = useParams();\n\n return { location, navigate, params, searchParams, setSearchParams };\n};\n"],"names":["emptyComponents","MDXContext","React","useMDXComponents","components","contextComponents","MDXProvider","properties","allComponents","M","i","s","a","l","d","w","p","n","k","S","f","R","b","I","O","x","t","U","z","J","V","N","H","T","y","E","o","r","v","C","W","P","L","g","D","A","Q","_","useExposedProps","location","useLocation","navigate","useNavigate","searchParams","setSearchParams","useSearchParams","params","useParams"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"useExposedProps-BH9aq4MD.js","sources":["../../../node_modules/.pnpm/@mdx-js+react@3.1.0_@types+react@19.1.8_react@19.1.0/node_modules/@mdx-js/react/lib/index.js","../../../node_modules/.pnpm/next-themes@0.4.6_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next-themes/dist/index.mjs","../src/lib/util/useExposedProps.tsx"],"sourcesContent":["/**\n * @import {MDXComponents} from 'mdx/types.js'\n * @import {Component, ReactElement, ReactNode} from 'react'\n */\n\n/**\n * @callback MergeComponents\n * Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n * Current components from the context.\n * @returns {MDXComponents}\n * Additional components.\n *\n * @typedef Props\n * Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n * Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(\n function () {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n },\n [contextComponents, components]\n )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n * Properties.\n * @returns {ReactElement}\n * Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n /** @type {Readonly<MDXComponents>} */\n let allComponents\n\n if (properties.disableParentContext) {\n allComponents =\n typeof properties.components === 'function'\n ? properties.components(emptyComponents)\n : properties.components || emptyComponents\n } else {\n allComponents = useMDXComponents(properties.components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n properties.children\n )\n}\n","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","import {\n type Location,\n type NavigateFunction,\n type Params,\n type SetURLSearchParams,\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router\";\n\nexport type ExposedComponentProps = {\n location: Location;\n navigate: NavigateFunction;\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParams;\n params: Params;\n};\n\nexport const useExposedProps = (): ExposedComponentProps => {\n const location = useLocation();\n const navigate = useNavigate();\n const [searchParams, setSearchParams] = useSearchParams();\n const params = useParams();\n\n return { location, navigate, params, searchParams, setSearchParams };\n};\n"],"names":["emptyComponents","MDXContext","React","useMDXComponents","components","contextComponents","MDXProvider","properties","allComponents","M","i","s","a","l","d","w","p","n","k","S","f","R","b","I","O","x","t","z","J","V","N","H","T","y","E","r","v","C","W","P","L","g","D","A","Q","_","useExposedProps","location","useLocation","navigate","useNavigate","searchParams","setSearchParams","useSearchParams","params","useParams"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,11 @@
1
+ import { useRef as t, useEffect as f } from "react";
2
+ const u = (e) => {
3
+ const s = t(e);
4
+ return s.current = e, f(() => {
5
+ s.current = e;
6
+ }, [e]), s;
7
+ };
8
+ export {
9
+ u
10
+ };
11
+ //# sourceMappingURL=useLatest-hmRS46UF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLatest-hmRS46UF.js","sources":["../src/lib/util/useLatest.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n// This hook is useful when you need to store a reference to a variable that changes over time,\n// but you don't want to re-run any callbacks that depend on that variable every time it changes.\n// By using a reference to the latest value, you can ensure that any callbacks only run when necessary,\n// without any unnecessary re-renders.\n\n// Note: It's safe to put the return value of this hook in a dependency array, because it won't change!\nexport const useLatest = <T>(current: T) => {\n const valueRef = useRef(current);\n valueRef.current = current;\n\n useEffect(() => {\n valueRef.current = current;\n }, [current]);\n\n return valueRef;\n};\n"],"names":["useLatest","current","valueRef","useRef","useEffect"],"mappings":";AAQO,MAAMA,IAAY,CAAIC,MAAe;AAC1C,QAAMC,IAAWC,EAAOF,CAAO;AAC/B,SAAAC,EAAS,UAAUD,GAEnBG,EAAU,MAAM;AACd,IAAAF,EAAS,UAAUD;AAAA,EACrB,GAAG,CAACA,CAAO,CAAC,GAELC;AACT;"}