@intlayer/design-system 5.5.10 → 5.5.11

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 (77) hide show
  1. package/dist/.vite/manifest.json +48 -41
  2. package/dist/components/Auth/AuthModal/index.cjs +2 -2
  3. package/dist/components/Auth/AuthModal/index.mjs +2 -2
  4. package/dist/components/Auth/useAuth/useCSRF.d.ts +1 -1
  5. package/dist/components/Auth/useAuth/useOAuth2.d.ts +1 -1
  6. package/dist/components/Auth/useUser/index.cjs +2 -2
  7. package/dist/components/Auth/useUser/index.mjs +2 -2
  8. package/dist/components/ContentEditor/ContentEditorTextArea.cjs +2 -2
  9. package/dist/components/ContentEditor/ContentEditorTextArea.mjs +2 -2
  10. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +2 -2
  11. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +2 -2
  12. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +1 -1
  13. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  14. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +2 -2
  15. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +2 -2
  16. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +2 -2
  17. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +2 -2
  18. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +2 -2
  19. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +2 -2
  20. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs +2 -2
  21. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs +2 -2
  22. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.cjs +2 -2
  23. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +2 -2
  24. package/dist/components/EditableField/EditableFieldTextArea.cjs +2 -2
  25. package/dist/components/EditableField/EditableFieldTextArea.mjs +2 -2
  26. package/dist/components/IDE/CodeContext.cjs +2 -2
  27. package/dist/components/IDE/CodeContext.mjs +2 -2
  28. package/dist/components/Link/Link.cjs.map +1 -1
  29. package/dist/components/Link/Link.d.ts.map +1 -1
  30. package/dist/components/Link/Link.mjs.map +1 -1
  31. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +2 -2
  32. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -2
  33. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.cjs +2 -2
  34. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +2 -2
  35. package/dist/components/MarkDownRender/index.cjs +27 -1
  36. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  37. package/dist/components/MarkDownRender/index.d.ts +2 -2
  38. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  39. package/dist/components/MarkDownRender/index.mjs +27 -1
  40. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  41. package/dist/components/Modal/Modal.cjs +4 -4
  42. package/dist/components/Modal/Modal.mjs +4 -4
  43. package/dist/components/Navbar/MobileNavbar.cjs +3 -3
  44. package/dist/components/Navbar/MobileNavbar.mjs +3 -3
  45. package/dist/components/Navbar/index.cjs +5 -5
  46. package/dist/components/Navbar/index.mjs +5 -5
  47. package/dist/components/SwitchSelector/index.cjs +3 -3
  48. package/dist/components/SwitchSelector/index.mjs +3 -3
  49. package/dist/components/TabSelector/TabSelector.cjs +3 -3
  50. package/dist/components/TabSelector/TabSelector.mjs +3 -3
  51. package/dist/components/TextArea/AutocompleteTextArea.cjs +2 -2
  52. package/dist/components/TextArea/AutocompleteTextArea.mjs +2 -2
  53. package/dist/hooks/index.cjs +25 -23
  54. package/dist/hooks/index.cjs.map +1 -1
  55. package/dist/hooks/index.d.ts +8 -7
  56. package/dist/hooks/index.d.ts.map +1 -1
  57. package/dist/hooks/index.mjs +10 -8
  58. package/dist/hooks/index.mjs.map +1 -1
  59. package/dist/hooks/intlayerAPIHooks.d.ts +54 -54
  60. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  61. package/dist/hooks/useAsync/useAsync.cjs +10 -11
  62. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  63. package/dist/hooks/useAsync/useAsync.mjs +10 -11
  64. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  65. package/dist/hooks/useIntlayerAPI.cjs +5 -4
  66. package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
  67. package/dist/hooks/useIntlayerAPI.d.ts +66 -65
  68. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  69. package/dist/hooks/useIntlayerAPI.mjs +5 -4
  70. package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
  71. package/dist/hooks/useScreenWidth.cjs +18 -0
  72. package/dist/hooks/useScreenWidth.cjs.map +1 -0
  73. package/dist/hooks/useScreenWidth.d.ts +4 -0
  74. package/dist/hooks/useScreenWidth.d.ts.map +1 -0
  75. package/dist/hooks/useScreenWidth.mjs +18 -0
  76. package/dist/hooks/useScreenWidth.mjs.map +1 -0
  77. package/package.json +16 -16
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const ReactExports = require("react");
6
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
7
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
8
6
  require("@intlayer/editor-react");
9
7
  require("@intlayer/api");
10
8
  require("@intlayer/config/built");
9
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
11
10
  require("../Toaster/Toast.cjs");
12
11
  require("deepmerge");
13
12
  const hooks_usePersistedStore = require("../../hooks/usePersistedStore.cjs");
13
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
14
14
  const CodeContext = ReactExports.createContext({
15
15
  packageManager: "npm",
16
16
  setPackageManager: () => {
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
5
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
6
4
  import "@intlayer/editor-react";
7
5
  import "@intlayer/api";
8
6
  import "@intlayer/config/built";
7
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
9
8
  import "../Toaster/Toast.mjs";
10
9
  import "deepmerge";
11
10
  import { usePersistedStore } from "../../hooks/usePersistedStore.mjs";
11
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
12
  const CodeContext = createContext({
13
13
  packageManager: "npm",
14
14
  setPackageManager: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Link.cjs","sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/config/client';\n\nimport { getLocalizedUrl } from '@intlayer/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ExternalLink } from 'lucide-react';\nimport {\n type AnchorHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const linkVariants = cva(\n 'gap-3 transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default:\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0 hover:underline',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0',\n button:\n 'rounded-lg bg-current *:text-text-opposite min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n 'button-outlined':\n 'rounded-lg border-[1.5px] hover:bg-current/30 min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n hoverable:\n 'block rounded-lg border-none bg-current/0 transition hover:bg-current/20 aria-[current]:bg-current/5',\n },\n color: {\n primary: 'text-primary',\n secondary: 'text-secondary',\n destructive: 'text-destructive',\n neutral: 'text-neutral',\n light: 'text-white',\n dark: 'text-neutral-800',\n text: 'text-text',\n 'text-inverse': 'text-text-opposite',\n error: 'text-error',\n success: 'text-success',\n custom: '',\n },\n underlined: {\n default: '',\n true: 'underline',\n false: 'no-underline',\n },\n },\n\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n underlined: 'default',\n },\n }\n);\n\nexport type LinkProps = DetailedHTMLProps<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n HTMLAnchorElement\n> &\n VariantProps<typeof linkVariants> & {\n label: string;\n isExternalLink?: boolean;\n isActive?: boolean;\n locale?: LocalesValues;\n };\n\nexport const checkIsExternalLink = ({\n href,\n isExternalLink: isExternalLinkProp,\n}: LinkProps): boolean => {\n const isValidHref = typeof href === 'string' && href.trim() !== '';\n const isExternalLink =\n isExternalLinkProp === true ||\n (typeof isExternalLinkProp === 'undefined' &&\n isValidHref &&\n /^https?:\\/\\//.test(href));\n\n return isExternalLink;\n};\n\nexport const Link: FC<LinkProps> = (props) => {\n const {\n variant = 'default',\n color = 'primary',\n children,\n label,\n className,\n isActive,\n underlined,\n locale,\n isExternalLink: isExternalLinkProp,\n href: hrefProp,\n ...otherProps\n } = props;\n const { internationalization } = configuration;\n\n const isExternalLink = checkIsExternalLink(props);\n const isChildrenString = typeof children === 'string';\n\n const rel = isExternalLink ? 'noopener noreferrer nofollow' : undefined;\n\n const target = isExternalLink ? '_blank' : '_self';\n\n const hrefLang = locale\n ? locale === internationalization.defaultLocale\n ? 'x-default'\n : locale\n : undefined;\n\n const href =\n locale && hrefProp && !isExternalLink\n ? getLocalizedUrl(hrefProp, locale)\n : hrefProp;\n\n return (\n <a\n href={href}\n hrefLang={hrefLang}\n aria-label={label}\n rel={rel}\n target={target}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n linkVariants({\n variant,\n color,\n underlined,\n className,\n })\n )}\n {...otherProps}\n >\n {variant === 'button' ? <span>{children}</span> : children}\n {isExternalLink && isChildrenString && (\n <ExternalLink className=\"ml-2 inline-block size-4\" />\n )}\n </a>\n );\n};\n"],"names":["cva","configuration","getLocalizedUrl","jsxs","cn","jsx","ExternalLink"],"mappings":";;;;;;;;AAaO,MAAM,eAAeA,uBAAA;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,kBACE;AAAA,QACF,QACE;AAAA,QACF,mBACE;AAAA,QACF,WACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,IAAA;AAAA,EACd;AAEJ;AAaO,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,gBAAgB;AAClB,MAA0B;AACxB,QAAM,cAAc,OAAO,SAAS,YAAY,KAAK,WAAW;AAC1D,QAAA,iBACJ,uBAAuB,QACtB,OAAO,uBAAuB,eAC7B,eACA,eAAe,KAAK,IAAI;AAErB,SAAA;AACT;AAEa,MAAA,OAAsB,CAAC,UAAU;AACtC,QAAA;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,MAAM;AAAA,IACN,GAAG;AAAA,EAAA,IACD;AACE,QAAA,EAAE,yBAAyBC;AAE3B,QAAA,iBAAiB,oBAAoB,KAAK;AAC1C,QAAA,mBAAmB,OAAO,aAAa;AAEvC,QAAA,MAAM,iBAAiB,iCAAiC;AAExD,QAAA,SAAS,iBAAiB,WAAW;AAE3C,QAAM,WAAW,SACb,WAAW,qBAAqB,gBAC9B,cACA,SACF;AAEE,QAAA,OACJ,UAAU,YAAY,CAAC,iBACnBC,qBAAgB,UAAU,MAAM,IAChC;AAGJ,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,gBAAc,WAAW,SAAS;AAAA,MAClC,WAAWC,SAAA;AAAA,QACT,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,YAAY,WAAWC,2BAAA,IAAC,QAAM,EAAA,SAAS,CAAA,IAAU;AAAA,QACjD,kBAAkB,oBAChBA,2BAAA,IAAAC,YAAA,cAAA,EAAa,WAAU,2BAA2B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEvD;AAEJ;;;;"}
1
+ {"version":3,"file":"Link.cjs","sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/config/client';\nimport { getLocalizedUrl } from '@intlayer/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ExternalLink } from 'lucide-react';\nimport {\n type AnchorHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const linkVariants = cva(\n 'gap-3 transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default:\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0 hover:underline',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0',\n button:\n 'rounded-lg bg-current *:text-text-opposite min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n 'button-outlined':\n 'rounded-lg border-[1.5px] hover:bg-current/30 min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n hoverable:\n 'block rounded-lg border-none bg-current/0 transition hover:bg-current/20 aria-[current]:bg-current/5',\n },\n color: {\n primary: 'text-primary',\n secondary: 'text-secondary',\n destructive: 'text-destructive',\n neutral: 'text-neutral',\n light: 'text-white',\n dark: 'text-neutral-800',\n text: 'text-text',\n 'text-inverse': 'text-text-opposite',\n error: 'text-error',\n success: 'text-success',\n custom: '',\n },\n underlined: {\n default: '',\n true: 'underline',\n false: 'no-underline',\n },\n },\n\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n underlined: 'default',\n },\n }\n);\n\nexport type LinkProps = DetailedHTMLProps<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n HTMLAnchorElement\n> &\n VariantProps<typeof linkVariants> & {\n label: string;\n isExternalLink?: boolean;\n isActive?: boolean;\n locale?: LocalesValues;\n };\n\nexport const checkIsExternalLink = ({\n href,\n isExternalLink: isExternalLinkProp,\n}: LinkProps): boolean => {\n const isValidHref = typeof href === 'string' && href.trim() !== '';\n const isExternalLink =\n isExternalLinkProp === true ||\n (typeof isExternalLinkProp === 'undefined' &&\n isValidHref &&\n /^https?:\\/\\//.test(href));\n\n return isExternalLink;\n};\n\nexport const Link: FC<LinkProps> = (props) => {\n const {\n variant = 'default',\n color = 'primary',\n children,\n label,\n className,\n isActive,\n underlined,\n locale,\n isExternalLink: isExternalLinkProp,\n href: hrefProp,\n ...otherProps\n } = props;\n const { internationalization } = configuration;\n\n const isExternalLink = checkIsExternalLink(props);\n const isChildrenString = typeof children === 'string';\n\n const rel = isExternalLink ? 'noopener noreferrer nofollow' : undefined;\n\n const target = isExternalLink ? '_blank' : '_self';\n\n const hrefLang = locale\n ? locale === internationalization.defaultLocale\n ? 'x-default'\n : locale\n : undefined;\n\n const href =\n locale && hrefProp && !isExternalLink\n ? getLocalizedUrl(hrefProp, locale)\n : hrefProp;\n\n return (\n <a\n href={href}\n hrefLang={hrefLang}\n aria-label={label}\n rel={rel}\n target={target}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n linkVariants({\n variant,\n color,\n underlined,\n className,\n })\n )}\n {...otherProps}\n >\n {variant === 'button' ? <span>{children}</span> : children}\n {isExternalLink && isChildrenString && (\n <ExternalLink className=\"ml-2 inline-block size-4\" />\n )}\n </a>\n );\n};\n"],"names":["cva","configuration","getLocalizedUrl","jsxs","cn","jsx","ExternalLink"],"mappings":";;;;;;;;AAYO,MAAM,eAAeA,uBAAA;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,kBACE;AAAA,QACF,QACE;AAAA,QACF,mBACE;AAAA,QACF,WACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,IAAA;AAAA,EACd;AAEJ;AAaO,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,gBAAgB;AAClB,MAA0B;AACxB,QAAM,cAAc,OAAO,SAAS,YAAY,KAAK,WAAW;AAC1D,QAAA,iBACJ,uBAAuB,QACtB,OAAO,uBAAuB,eAC7B,eACA,eAAe,KAAK,IAAI;AAErB,SAAA;AACT;AAEa,MAAA,OAAsB,CAAC,UAAU;AACtC,QAAA;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,MAAM;AAAA,IACN,GAAG;AAAA,EAAA,IACD;AACE,QAAA,EAAE,yBAAyBC;AAE3B,QAAA,iBAAiB,oBAAoB,KAAK;AAC1C,QAAA,mBAAmB,OAAO,aAAa;AAEvC,QAAA,MAAM,iBAAiB,iCAAiC;AAExD,QAAA,SAAS,iBAAiB,WAAW;AAE3C,QAAM,WAAW,SACb,WAAW,qBAAqB,gBAC9B,cACA,SACF;AAEE,QAAA,OACJ,UAAU,YAAY,CAAC,iBACnBC,qBAAgB,UAAU,MAAM,IAChC;AAGJ,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,gBAAc,WAAW,SAAS;AAAA,MAClC,WAAWC,SAAA;AAAA,QACT,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,YAAY,WAAWC,2BAAA,IAAC,QAAM,EAAA,SAAS,CAAA,IAAU;AAAA,QACjD,kBAAkB,oBAChBA,2BAAA,IAAAC,YAAA,cAAA,EAAa,WAAU,2BAA2B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEvD;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAGf,eAAO,MAAM,YAAY;;;;8EA0CxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,iBAAiB,CACvC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,iBAAiB,CAClB,GACC,YAAY,CAAC,OAAO,YAAY,CAAC,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEJ,eAAO,MAAM,mBAAmB,GAAI,+CAGjC,SAAS,KAAG,OASd,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA0D9B,CAAC"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAGf,eAAO,MAAM,YAAY;;;;8EA0CxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,iBAAiB,CACvC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,iBAAiB,CAClB,GACC,YAAY,CAAC,OAAO,YAAY,CAAC,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEJ,eAAO,MAAM,mBAAmB,GAAI,+CAGjC,SAAS,KAAG,OASd,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA0D9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Link.mjs","sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/config/client';\n\nimport { getLocalizedUrl } from '@intlayer/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ExternalLink } from 'lucide-react';\nimport {\n type AnchorHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const linkVariants = cva(\n 'gap-3 transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default:\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0 hover:underline',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0',\n button:\n 'rounded-lg bg-current *:text-text-opposite min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n 'button-outlined':\n 'rounded-lg border-[1.5px] hover:bg-current/30 min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n hoverable:\n 'block rounded-lg border-none bg-current/0 transition hover:bg-current/20 aria-[current]:bg-current/5',\n },\n color: {\n primary: 'text-primary',\n secondary: 'text-secondary',\n destructive: 'text-destructive',\n neutral: 'text-neutral',\n light: 'text-white',\n dark: 'text-neutral-800',\n text: 'text-text',\n 'text-inverse': 'text-text-opposite',\n error: 'text-error',\n success: 'text-success',\n custom: '',\n },\n underlined: {\n default: '',\n true: 'underline',\n false: 'no-underline',\n },\n },\n\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n underlined: 'default',\n },\n }\n);\n\nexport type LinkProps = DetailedHTMLProps<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n HTMLAnchorElement\n> &\n VariantProps<typeof linkVariants> & {\n label: string;\n isExternalLink?: boolean;\n isActive?: boolean;\n locale?: LocalesValues;\n };\n\nexport const checkIsExternalLink = ({\n href,\n isExternalLink: isExternalLinkProp,\n}: LinkProps): boolean => {\n const isValidHref = typeof href === 'string' && href.trim() !== '';\n const isExternalLink =\n isExternalLinkProp === true ||\n (typeof isExternalLinkProp === 'undefined' &&\n isValidHref &&\n /^https?:\\/\\//.test(href));\n\n return isExternalLink;\n};\n\nexport const Link: FC<LinkProps> = (props) => {\n const {\n variant = 'default',\n color = 'primary',\n children,\n label,\n className,\n isActive,\n underlined,\n locale,\n isExternalLink: isExternalLinkProp,\n href: hrefProp,\n ...otherProps\n } = props;\n const { internationalization } = configuration;\n\n const isExternalLink = checkIsExternalLink(props);\n const isChildrenString = typeof children === 'string';\n\n const rel = isExternalLink ? 'noopener noreferrer nofollow' : undefined;\n\n const target = isExternalLink ? '_blank' : '_self';\n\n const hrefLang = locale\n ? locale === internationalization.defaultLocale\n ? 'x-default'\n : locale\n : undefined;\n\n const href =\n locale && hrefProp && !isExternalLink\n ? getLocalizedUrl(hrefProp, locale)\n : hrefProp;\n\n return (\n <a\n href={href}\n hrefLang={hrefLang}\n aria-label={label}\n rel={rel}\n target={target}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n linkVariants({\n variant,\n color,\n underlined,\n className,\n })\n )}\n {...otherProps}\n >\n {variant === 'button' ? <span>{children}</span> : children}\n {isExternalLink && isChildrenString && (\n <ExternalLink className=\"ml-2 inline-block size-4\" />\n )}\n </a>\n );\n};\n"],"names":["configuration"],"mappings":";;;;;;AAaO,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,kBACE;AAAA,QACF,QACE;AAAA,QACF,mBACE;AAAA,QACF,WACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,IAAA;AAAA,EACd;AAEJ;AAaO,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,gBAAgB;AAClB,MAA0B;AACxB,QAAM,cAAc,OAAO,SAAS,YAAY,KAAK,WAAW;AAC1D,QAAA,iBACJ,uBAAuB,QACtB,OAAO,uBAAuB,eAC7B,eACA,eAAe,KAAK,IAAI;AAErB,SAAA;AACT;AAEa,MAAA,OAAsB,CAAC,UAAU;AACtC,QAAA;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,MAAM;AAAA,IACN,GAAG;AAAA,EAAA,IACD;AACE,QAAA,EAAE,yBAAyBA;AAE3B,QAAA,iBAAiB,oBAAoB,KAAK;AAC1C,QAAA,mBAAmB,OAAO,aAAa;AAEvC,QAAA,MAAM,iBAAiB,iCAAiC;AAExD,QAAA,SAAS,iBAAiB,WAAW;AAE3C,QAAM,WAAW,SACb,WAAW,qBAAqB,gBAC9B,cACA,SACF;AAEE,QAAA,OACJ,UAAU,YAAY,CAAC,iBACnB,gBAAgB,UAAU,MAAM,IAChC;AAGJ,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,gBAAc,WAAW,SAAS;AAAA,MAClC,WAAW;AAAA,QACT,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,YAAY,WAAW,oBAAC,QAAM,EAAA,SAAS,CAAA,IAAU;AAAA,QACjD,kBAAkB,oBAChB,oBAAA,cAAA,EAAa,WAAU,2BAA2B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEvD;AAEJ;"}
1
+ {"version":3,"file":"Link.mjs","sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/config/client';\nimport { getLocalizedUrl } from '@intlayer/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ExternalLink } from 'lucide-react';\nimport {\n type AnchorHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const linkVariants = cva(\n 'gap-3 transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default:\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0 hover:underline',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-4 hover:bg-current/0',\n button:\n 'rounded-lg bg-current *:text-text-opposite min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n 'button-outlined':\n 'rounded-lg border-[1.5px] hover:bg-current/30 min-h-8 px-6 max-md:py-2 text-sm flex items-center justify-center gap-2 whitespace-nowrap font-medium transition focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50',\n hoverable:\n 'block rounded-lg border-none bg-current/0 transition hover:bg-current/20 aria-[current]:bg-current/5',\n },\n color: {\n primary: 'text-primary',\n secondary: 'text-secondary',\n destructive: 'text-destructive',\n neutral: 'text-neutral',\n light: 'text-white',\n dark: 'text-neutral-800',\n text: 'text-text',\n 'text-inverse': 'text-text-opposite',\n error: 'text-error',\n success: 'text-success',\n custom: '',\n },\n underlined: {\n default: '',\n true: 'underline',\n false: 'no-underline',\n },\n },\n\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n underlined: 'default',\n },\n }\n);\n\nexport type LinkProps = DetailedHTMLProps<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n HTMLAnchorElement\n> &\n VariantProps<typeof linkVariants> & {\n label: string;\n isExternalLink?: boolean;\n isActive?: boolean;\n locale?: LocalesValues;\n };\n\nexport const checkIsExternalLink = ({\n href,\n isExternalLink: isExternalLinkProp,\n}: LinkProps): boolean => {\n const isValidHref = typeof href === 'string' && href.trim() !== '';\n const isExternalLink =\n isExternalLinkProp === true ||\n (typeof isExternalLinkProp === 'undefined' &&\n isValidHref &&\n /^https?:\\/\\//.test(href));\n\n return isExternalLink;\n};\n\nexport const Link: FC<LinkProps> = (props) => {\n const {\n variant = 'default',\n color = 'primary',\n children,\n label,\n className,\n isActive,\n underlined,\n locale,\n isExternalLink: isExternalLinkProp,\n href: hrefProp,\n ...otherProps\n } = props;\n const { internationalization } = configuration;\n\n const isExternalLink = checkIsExternalLink(props);\n const isChildrenString = typeof children === 'string';\n\n const rel = isExternalLink ? 'noopener noreferrer nofollow' : undefined;\n\n const target = isExternalLink ? '_blank' : '_self';\n\n const hrefLang = locale\n ? locale === internationalization.defaultLocale\n ? 'x-default'\n : locale\n : undefined;\n\n const href =\n locale && hrefProp && !isExternalLink\n ? getLocalizedUrl(hrefProp, locale)\n : hrefProp;\n\n return (\n <a\n href={href}\n hrefLang={hrefLang}\n aria-label={label}\n rel={rel}\n target={target}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n linkVariants({\n variant,\n color,\n underlined,\n className,\n })\n )}\n {...otherProps}\n >\n {variant === 'button' ? <span>{children}</span> : children}\n {isExternalLink && isChildrenString && (\n <ExternalLink className=\"ml-2 inline-block size-4\" />\n )}\n </a>\n );\n};\n"],"names":["configuration"],"mappings":";;;;;;AAYO,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,kBACE;AAAA,QACF,QACE;AAAA,QACF,mBACE;AAAA,QACF,WACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,IAAA;AAAA,EACd;AAEJ;AAaO,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,gBAAgB;AAClB,MAA0B;AACxB,QAAM,cAAc,OAAO,SAAS,YAAY,KAAK,WAAW;AAC1D,QAAA,iBACJ,uBAAuB,QACtB,OAAO,uBAAuB,eAC7B,eACA,eAAe,KAAK,IAAI;AAErB,SAAA;AACT;AAEa,MAAA,OAAsB,CAAC,UAAU;AACtC,QAAA;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,MAAM;AAAA,IACN,GAAG;AAAA,EAAA,IACD;AACE,QAAA,EAAE,yBAAyBA;AAE3B,QAAA,iBAAiB,oBAAoB,KAAK;AAC1C,QAAA,mBAAmB,OAAO,aAAa;AAEvC,QAAA,MAAM,iBAAiB,iCAAiC;AAExD,QAAA,SAAS,iBAAiB,WAAW;AAE3C,QAAM,WAAW,SACb,WAAW,qBAAqB,gBAC9B,cACA,SACF;AAEE,QAAA,OACJ,UAAU,YAAY,CAAC,iBACnB,gBAAgB,UAAU,MAAM,IAChC;AAGJ,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,gBAAc,WAAW,SAAS;AAAA,MAClC,WAAW;AAAA,QACT,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,YAAY,WAAW,oBAAC,QAAM,EAAA,SAAS,CAAA,IAAU;AAAA,QACjD,kBAAkB,oBAChB,oBAAA,cAAA,EAAa,WAAU,2BAA2B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEvD;AAEJ;"}
@@ -8,14 +8,14 @@ const Fuse = require("fuse.js");
8
8
  const lucideReact = require("lucide-react");
9
9
  const ReactExports = require("react");
10
10
  const reactIntlayer = require("react-intlayer");
11
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
12
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
13
11
  require("@intlayer/editor-react");
14
12
  require("@intlayer/api");
15
13
  require("@intlayer/config/built");
14
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
16
15
  require("../Toaster/Toast.cjs");
17
16
  require("deepmerge");
18
17
  const hooks_usePersistedStore = require("../../hooks/usePersistedStore.cjs");
18
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
19
19
  const components_Button_Button = require("../Button/Button.cjs");
20
20
  const components_Container_index = require("../Container/index.cjs");
21
21
  const components_DropDown_index = require("../DropDown/index.cjs");
@@ -6,14 +6,14 @@ import Fuse from "fuse.js";
6
6
  import { Globe, MoveVertical, Check } from "lucide-react";
7
7
  import { useRef, useMemo, useState, useCallback } from "react";
8
8
  import { useDictionary, useLocale } from "react-intlayer";
9
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
10
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
11
9
  import "@intlayer/editor-react";
12
10
  import "@intlayer/api";
13
11
  import "@intlayer/config/built";
12
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
14
13
  import "../Toaster/Toast.mjs";
15
14
  import "deepmerge";
16
15
  import { usePersistedStore } from "../../hooks/usePersistedStore.mjs";
16
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
17
17
  import { Button } from "../Button/Button.mjs";
18
18
  import { Container } from "../Container/index.mjs";
19
19
  import { DropDown } from "../DropDown/index.mjs";
@@ -4,14 +4,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const ReactExports = require("react");
6
6
  const reactIntlayer = require("react-intlayer");
7
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
7
  require("@intlayer/editor-react");
10
8
  require("@intlayer/api");
11
9
  require("@intlayer/config/built");
10
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
12
11
  require("../Toaster/Toast.cjs");
13
12
  require("deepmerge");
14
13
  const hooks_usePersistedStore = require("../../hooks/usePersistedStore.cjs");
14
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
15
15
  const LocaleSwitcherContentContext = ReactExports.createContext({
16
16
  availableLocales: [],
17
17
  selectedLocales: [],
@@ -2,14 +2,14 @@
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
  import { useLocale } from "react-intlayer";
5
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
7
5
  import "@intlayer/editor-react";
8
6
  import "@intlayer/api";
9
7
  import "@intlayer/config/built";
8
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
10
9
  import "../Toaster/Toast.mjs";
11
10
  import "deepmerge";
12
11
  import { usePersistedStore } from "../../hooks/usePersistedStore.mjs";
12
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
13
13
  const LocaleSwitcherContentContext = createContext({
14
14
  availableLocales: [],
15
15
  selectedLocales: [],
@@ -8,6 +8,31 @@ const components_Headers_SectionScroller = require("../Headers/SectionScroller.c
8
8
  const components_IDE_Code = require("../IDE/Code.cjs");
9
9
  const components_IDE_CodeContext = require("../IDE/CodeContext.cjs");
10
10
  const components_Link_Link = require("../Link/Link.cjs");
11
+ const stripFrontmatter = (markdown) => {
12
+ const lines = markdown.split(/\r?\n/);
13
+ const firstNonEmptyLine = lines.find((line) => line.trim() !== "");
14
+ if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== "---") {
15
+ return markdown;
16
+ }
17
+ let inMetadataBlock = false;
18
+ let endOfMetadataIndex = -1;
19
+ for (let i = 0; i < lines.length; i++) {
20
+ const trimmedLine = lines[i].trim();
21
+ if (trimmedLine === "---") {
22
+ if (!inMetadataBlock) {
23
+ inMetadataBlock = true;
24
+ continue;
25
+ } else {
26
+ endOfMetadataIndex = i;
27
+ break;
28
+ }
29
+ }
30
+ }
31
+ if (endOfMetadataIndex > -1) {
32
+ return lines.slice(endOfMetadataIndex + 1).join("\n");
33
+ }
34
+ return markdown;
35
+ };
11
36
  const MarkdownRenderer = ({
12
37
  children,
13
38
  isDarkMode,
@@ -15,6 +40,7 @@ const MarkdownRenderer = ({
15
40
  options
16
41
  }) => {
17
42
  const { overrides, ...restOptions } = options ?? {};
43
+ const cleanMarkdown = stripFrontmatter(children);
18
44
  return /* @__PURE__ */ jsxRuntime.jsx(components_IDE_CodeContext.CodeProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
19
45
  Markdown,
20
46
  {
@@ -125,7 +151,7 @@ const MarkdownRenderer = ({
125
151
  ] }),
126
152
  ...restOptions
127
153
  },
128
- children: children ?? ""
154
+ children: cleanMarkdown ?? ""
129
155
  }
130
156
  ) });
131
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/MarkDownRender/index.tsx"],"sourcesContent":["import type { Locales } from '@intlayer/config';\nimport Markdown, { type MarkdownToJSX } from 'markdown-to-jsx';\nimport type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { H1, H2, H3, H4 } from '../Headers';\nimport { SectionScroller } from '../Headers/SectionScroller';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\n\ntype MarkdownRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: Locales;\n options?: MarkdownToJSX.Options;\n};\n\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode,\n locale,\n options,\n}) => {\n const { overrides, ...restOptions } = options ?? {};\n return (\n <CodeProvider>\n <Markdown\n options={{\n overrides: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} {...props} />,\n h3: (props) => <H3 isClickable={true} {...props} />,\n h4: (props) => <H4 isClickable={true} {...props} />,\n\n code: (props) =>\n typeof props.className === 'undefined' ? (\n <strong className=\"bg-card/60 rounded p-1 shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur\">\n {props.children}\n </strong>\n ) : (\n <Code\n isDarkMode={isDarkMode}\n language={props.className?.replace('lang-', '')}\n {...props}\n />\n ),\n\n blockquote: ({ className, ...props }) => (\n <blockquote\n className={cn(\n 'border-card text-neutral mt-5 flex flex-col gap-3 border-l-4 pl-5',\n className\n )}\n {...props}\n />\n ),\n ul: ({ className, ...props }) => (\n <ul\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n ol: ({ className, ...props }) => (\n <ol\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n li: ({ className, ...props }) => (\n <li className={cn('list-disc', className)} {...props} />\n ),\n img: ({ className, ...props }) => (\n <img\n {...props}\n loading=\"lazy\"\n className={cn('max-w-full rounded-md', className)}\n src={`${props.src}?raw=true`}\n />\n ),\n a: (props) => (\n <Link\n color=\"neutral\"\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n {...props}\n />\n ),\n pre: (props) => props.children,\n table: ({ className, ...props }) => (\n <div className=\"grid w-full max-w-full overflow-auto rounded\">\n <table\n className={cn(\n 'max-w-full table-auto overflow-hidden text-left',\n className\n )}\n {...props}\n />\n </div>\n ),\n th: ({ className, ...props }) => (\n <th\n className={cn(\n 'border-neutral bg-neutral/10 border-b p-4',\n className\n )}\n {...props}\n />\n ),\n tr: ({ className, ...props }) => (\n <tr\n className={cn('hover:bg-neutral/10 hover:/10', className)}\n {...props}\n />\n ),\n td: ({ className, ...props }) => (\n <td\n className={cn('border-b border-neutral-500/50 p-4', className)}\n {...props}\n />\n ),\n ...overrides,\n },\n wrapper: ({ className, ...props }) => (\n <>\n <SectionScroller />\n <div\n className={cn('flex flex-col gap-8 p-10', className)}\n {...props}\n />\n </>\n ),\n ...restOptions,\n }}\n >\n {children ?? ''}\n </Markdown>\n </CodeProvider>\n );\n};\n"],"names":["CodeProvider","jsx","H1","H2","H3","H4","Code","cn","Link","jsxs","Fragment","SectionScroller"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/MarkDownRender/index.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/config/client';\nimport Markdown, { type MarkdownToJSX } from 'markdown-to-jsx';\nimport type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { H1, H2, H3, H4 } from '../Headers';\nimport { SectionScroller } from '../Headers/SectionScroller';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\n\ntype MarkdownRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n options?: MarkdownToJSX.Options;\n};\n\n/**\n * Removes frontmatter from markdown content\n * Frontmatter is the YAML metadata block at the beginning of markdown files\n * delimited by --- at the start and end\n */\nconst stripFrontmatter = (markdown: string): string => {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n // No frontmatter, return original content\n return markdown;\n }\n\n let inMetadataBlock = false;\n let endOfMetadataIndex = -1;\n\n for (let i = 0; i < lines.length; i++) {\n const trimmedLine = lines[i].trim();\n\n // Toggle metadata block on encountering the delimiter\n if (trimmedLine === '---') {\n if (!inMetadataBlock) {\n // Begin metadata block\n inMetadataBlock = true;\n continue;\n } else {\n // End of metadata block\n endOfMetadataIndex = i;\n break;\n }\n }\n }\n\n if (endOfMetadataIndex > -1) {\n // Return content after the frontmatter\n return lines.slice(endOfMetadataIndex + 1).join('\\n');\n }\n\n // If we couldn't find the end delimiter, return original content\n return markdown;\n};\n\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode,\n locale,\n options,\n}) => {\n const { overrides, ...restOptions } = options ?? {};\n\n // Strip frontmatter from the markdown content before rendering\n const cleanMarkdown = stripFrontmatter(children);\n\n return (\n <CodeProvider>\n <Markdown\n options={{\n overrides: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} {...props} />,\n h3: (props) => <H3 isClickable={true} {...props} />,\n h4: (props) => <H4 isClickable={true} {...props} />,\n\n code: (props) =>\n typeof props.className === 'undefined' ? (\n <strong className=\"bg-card/60 rounded p-1 shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur\">\n {props.children}\n </strong>\n ) : (\n <Code\n isDarkMode={isDarkMode}\n language={props.className?.replace('lang-', '')}\n {...props}\n />\n ),\n\n blockquote: ({ className, ...props }) => (\n <blockquote\n className={cn(\n 'border-card text-neutral mt-5 flex flex-col gap-3 border-l-4 pl-5',\n className\n )}\n {...props}\n />\n ),\n ul: ({ className, ...props }) => (\n <ul\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n ol: ({ className, ...props }) => (\n <ol\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n li: ({ className, ...props }) => (\n <li className={cn('list-disc', className)} {...props} />\n ),\n img: ({ className, ...props }) => (\n <img\n {...props}\n loading=\"lazy\"\n className={cn('max-w-full rounded-md', className)}\n src={`${props.src}?raw=true`}\n />\n ),\n a: (props) => (\n <Link\n color=\"neutral\"\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n {...props}\n />\n ),\n pre: (props) => props.children,\n table: ({ className, ...props }) => (\n <div className=\"grid w-full max-w-full overflow-auto rounded\">\n <table\n className={cn(\n 'max-w-full table-auto overflow-hidden text-left',\n className\n )}\n {...props}\n />\n </div>\n ),\n th: ({ className, ...props }) => (\n <th\n className={cn(\n 'border-neutral bg-neutral/10 border-b p-4',\n className\n )}\n {...props}\n />\n ),\n tr: ({ className, ...props }) => (\n <tr\n className={cn('hover:bg-neutral/10 hover:/10', className)}\n {...props}\n />\n ),\n td: ({ className, ...props }) => (\n <td\n className={cn('border-b border-neutral-500/50 p-4', className)}\n {...props}\n />\n ),\n ...overrides,\n },\n wrapper: ({ className, ...props }) => (\n <>\n <SectionScroller />\n <div\n className={cn('flex flex-col gap-8 p-10', className)}\n {...props}\n />\n </>\n ),\n ...restOptions,\n }}\n >\n {cleanMarkdown ?? ''}\n </Markdown>\n </CodeProvider>\n );\n};\n"],"names":["CodeProvider","jsx","H1","H2","H3","H4","Code","cn","Link","jsxs","Fragment","SectionScroller"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { Locales } from '@intlayer/config';
1
+ import { LocalesValues } from '@intlayer/config/client';
2
2
  import { MarkdownToJSX } from 'markdown-to-jsx';
3
3
  import { FC } from 'react';
4
4
  type MarkdownRendererProps = {
5
5
  children: string;
6
6
  isDarkMode?: boolean;
7
- locale?: Locales;
7
+ locale?: LocalesValues;
8
8
  options?: MarkdownToJSX.Options;
9
9
  };
10
10
  export declare const MarkdownRenderer: FC<MarkdownRendererProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MarkDownRender/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA0HtD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MarkDownRender/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;CACjC,CAAC;AA+CF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA8HtD,CAAC"}
@@ -6,6 +6,31 @@ import { SectionScroller } from "../Headers/SectionScroller.mjs";
6
6
  import { Code } from "../IDE/Code.mjs";
7
7
  import { CodeProvider } from "../IDE/CodeContext.mjs";
8
8
  import { Link } from "../Link/Link.mjs";
9
+ const stripFrontmatter = (markdown) => {
10
+ const lines = markdown.split(/\r?\n/);
11
+ const firstNonEmptyLine = lines.find((line) => line.trim() !== "");
12
+ if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== "---") {
13
+ return markdown;
14
+ }
15
+ let inMetadataBlock = false;
16
+ let endOfMetadataIndex = -1;
17
+ for (let i = 0; i < lines.length; i++) {
18
+ const trimmedLine = lines[i].trim();
19
+ if (trimmedLine === "---") {
20
+ if (!inMetadataBlock) {
21
+ inMetadataBlock = true;
22
+ continue;
23
+ } else {
24
+ endOfMetadataIndex = i;
25
+ break;
26
+ }
27
+ }
28
+ }
29
+ if (endOfMetadataIndex > -1) {
30
+ return lines.slice(endOfMetadataIndex + 1).join("\n");
31
+ }
32
+ return markdown;
33
+ };
9
34
  const MarkdownRenderer = ({
10
35
  children,
11
36
  isDarkMode,
@@ -13,6 +38,7 @@ const MarkdownRenderer = ({
13
38
  options
14
39
  }) => {
15
40
  const { overrides, ...restOptions } = options ?? {};
41
+ const cleanMarkdown = stripFrontmatter(children);
16
42
  return /* @__PURE__ */ jsx(CodeProvider, { children: /* @__PURE__ */ jsx(
17
43
  Markdown,
18
44
  {
@@ -123,7 +149,7 @@ const MarkdownRenderer = ({
123
149
  ] }),
124
150
  ...restOptions
125
151
  },
126
- children: children ?? ""
152
+ children: cleanMarkdown ?? ""
127
153
  }
128
154
  ) });
129
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/MarkDownRender/index.tsx"],"sourcesContent":["import type { Locales } from '@intlayer/config';\nimport Markdown, { type MarkdownToJSX } from 'markdown-to-jsx';\nimport type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { H1, H2, H3, H4 } from '../Headers';\nimport { SectionScroller } from '../Headers/SectionScroller';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\n\ntype MarkdownRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: Locales;\n options?: MarkdownToJSX.Options;\n};\n\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode,\n locale,\n options,\n}) => {\n const { overrides, ...restOptions } = options ?? {};\n return (\n <CodeProvider>\n <Markdown\n options={{\n overrides: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} {...props} />,\n h3: (props) => <H3 isClickable={true} {...props} />,\n h4: (props) => <H4 isClickable={true} {...props} />,\n\n code: (props) =>\n typeof props.className === 'undefined' ? (\n <strong className=\"bg-card/60 rounded p-1 shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur\">\n {props.children}\n </strong>\n ) : (\n <Code\n isDarkMode={isDarkMode}\n language={props.className?.replace('lang-', '')}\n {...props}\n />\n ),\n\n blockquote: ({ className, ...props }) => (\n <blockquote\n className={cn(\n 'border-card text-neutral mt-5 flex flex-col gap-3 border-l-4 pl-5',\n className\n )}\n {...props}\n />\n ),\n ul: ({ className, ...props }) => (\n <ul\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n ol: ({ className, ...props }) => (\n <ol\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n li: ({ className, ...props }) => (\n <li className={cn('list-disc', className)} {...props} />\n ),\n img: ({ className, ...props }) => (\n <img\n {...props}\n loading=\"lazy\"\n className={cn('max-w-full rounded-md', className)}\n src={`${props.src}?raw=true`}\n />\n ),\n a: (props) => (\n <Link\n color=\"neutral\"\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n {...props}\n />\n ),\n pre: (props) => props.children,\n table: ({ className, ...props }) => (\n <div className=\"grid w-full max-w-full overflow-auto rounded\">\n <table\n className={cn(\n 'max-w-full table-auto overflow-hidden text-left',\n className\n )}\n {...props}\n />\n </div>\n ),\n th: ({ className, ...props }) => (\n <th\n className={cn(\n 'border-neutral bg-neutral/10 border-b p-4',\n className\n )}\n {...props}\n />\n ),\n tr: ({ className, ...props }) => (\n <tr\n className={cn('hover:bg-neutral/10 hover:/10', className)}\n {...props}\n />\n ),\n td: ({ className, ...props }) => (\n <td\n className={cn('border-b border-neutral-500/50 p-4', className)}\n {...props}\n />\n ),\n ...overrides,\n },\n wrapper: ({ className, ...props }) => (\n <>\n <SectionScroller />\n <div\n className={cn('flex flex-col gap-8 p-10', className)}\n {...props}\n />\n </>\n ),\n ...restOptions,\n }}\n >\n {children ?? ''}\n </Markdown>\n </CodeProvider>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/MarkDownRender/index.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/config/client';\nimport Markdown, { type MarkdownToJSX } from 'markdown-to-jsx';\nimport type { FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { H1, H2, H3, H4 } from '../Headers';\nimport { SectionScroller } from '../Headers/SectionScroller';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\n\ntype MarkdownRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n options?: MarkdownToJSX.Options;\n};\n\n/**\n * Removes frontmatter from markdown content\n * Frontmatter is the YAML metadata block at the beginning of markdown files\n * delimited by --- at the start and end\n */\nconst stripFrontmatter = (markdown: string): string => {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n // No frontmatter, return original content\n return markdown;\n }\n\n let inMetadataBlock = false;\n let endOfMetadataIndex = -1;\n\n for (let i = 0; i < lines.length; i++) {\n const trimmedLine = lines[i].trim();\n\n // Toggle metadata block on encountering the delimiter\n if (trimmedLine === '---') {\n if (!inMetadataBlock) {\n // Begin metadata block\n inMetadataBlock = true;\n continue;\n } else {\n // End of metadata block\n endOfMetadataIndex = i;\n break;\n }\n }\n }\n\n if (endOfMetadataIndex > -1) {\n // Return content after the frontmatter\n return lines.slice(endOfMetadataIndex + 1).join('\\n');\n }\n\n // If we couldn't find the end delimiter, return original content\n return markdown;\n};\n\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode,\n locale,\n options,\n}) => {\n const { overrides, ...restOptions } = options ?? {};\n\n // Strip frontmatter from the markdown content before rendering\n const cleanMarkdown = stripFrontmatter(children);\n\n return (\n <CodeProvider>\n <Markdown\n options={{\n overrides: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} {...props} />,\n h3: (props) => <H3 isClickable={true} {...props} />,\n h4: (props) => <H4 isClickable={true} {...props} />,\n\n code: (props) =>\n typeof props.className === 'undefined' ? (\n <strong className=\"bg-card/60 rounded p-1 shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur\">\n {props.children}\n </strong>\n ) : (\n <Code\n isDarkMode={isDarkMode}\n language={props.className?.replace('lang-', '')}\n {...props}\n />\n ),\n\n blockquote: ({ className, ...props }) => (\n <blockquote\n className={cn(\n 'border-card text-neutral mt-5 flex flex-col gap-3 border-l-4 pl-5',\n className\n )}\n {...props}\n />\n ),\n ul: ({ className, ...props }) => (\n <ul\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n ol: ({ className, ...props }) => (\n <ol\n className={cn('mt-5 flex flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n li: ({ className, ...props }) => (\n <li className={cn('list-disc', className)} {...props} />\n ),\n img: ({ className, ...props }) => (\n <img\n {...props}\n loading=\"lazy\"\n className={cn('max-w-full rounded-md', className)}\n src={`${props.src}?raw=true`}\n />\n ),\n a: (props) => (\n <Link\n color=\"neutral\"\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n {...props}\n />\n ),\n pre: (props) => props.children,\n table: ({ className, ...props }) => (\n <div className=\"grid w-full max-w-full overflow-auto rounded\">\n <table\n className={cn(\n 'max-w-full table-auto overflow-hidden text-left',\n className\n )}\n {...props}\n />\n </div>\n ),\n th: ({ className, ...props }) => (\n <th\n className={cn(\n 'border-neutral bg-neutral/10 border-b p-4',\n className\n )}\n {...props}\n />\n ),\n tr: ({ className, ...props }) => (\n <tr\n className={cn('hover:bg-neutral/10 hover:/10', className)}\n {...props}\n />\n ),\n td: ({ className, ...props }) => (\n <td\n className={cn('border-b border-neutral-500/50 p-4', className)}\n {...props}\n />\n ),\n ...overrides,\n },\n wrapper: ({ className, ...props }) => (\n <>\n <SectionScroller />\n <div\n className={cn('flex flex-col gap-8 p-10', className)}\n {...props}\n />\n </>\n ),\n ...restOptions,\n }}\n >\n {cleanMarkdown ?? ''}\n </Markdown>\n </CodeProvider>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -6,15 +6,15 @@ const classVarianceAuthority = require("class-variance-authority");
6
6
  const framerMotion = require("framer-motion");
7
7
  const lucideReact = require("lucide-react");
8
8
  const reactDom = require("react-dom");
9
- require("react");
10
- const hooks_useGetElementOrWindow = require("../../hooks/useGetElementOrWindow.cjs");
11
- const hooks_useScrollBlockage_index = require("../../index-BYzBot7l.cjs");
12
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
13
9
  require("@intlayer/editor-react");
14
10
  require("@intlayer/api");
15
11
  require("@intlayer/config/built");
12
+ require("react");
13
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
16
14
  require("../Toaster/Toast.cjs");
17
15
  require("deepmerge");
16
+ const hooks_useGetElementOrWindow = require("../../hooks/useGetElementOrWindow.cjs");
17
+ const hooks_useScrollBlockage_index = require("../../index-BYzBot7l.cjs");
18
18
  const utils_cn = require("../../utils/cn.cjs");
19
19
  const components_Button_Button = require("../Button/Button.cjs");
20
20
  const components_Container_index = require("../Container/index.cjs");
@@ -4,15 +4,15 @@ import { cva } from "class-variance-authority";
4
4
  import { motion } from "framer-motion";
5
5
  import { X } from "lucide-react";
6
6
  import { createPortal } from "react-dom";
7
- import "react";
8
- import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
9
- import { u as useScrollBlockage } from "../../index-BCuMWKyy.js";
10
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
11
7
  import "@intlayer/editor-react";
12
8
  import "@intlayer/api";
13
9
  import "@intlayer/config/built";
10
+ import "react";
11
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
14
12
  import "../Toaster/Toast.mjs";
15
13
  import "deepmerge";
14
+ import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
15
+ import { u as useScrollBlockage } from "../../index-BCuMWKyy.js";
16
16
  import { cn } from "../../utils/cn.mjs";
17
17
  import { Button } from "../Button/Button.mjs";
18
18
  import { Container } from "../Container/index.mjs";
@@ -4,14 +4,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const framerMotion = require("framer-motion");
6
6
  const ReactExports = require("react");
7
- const hooks_useScrollBlockage_index = require("../../index-BYzBot7l.cjs");
8
- const hooks_useScrollDetection = require("../../hooks/useScrollDetection.cjs");
9
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
10
7
  require("@intlayer/editor-react");
11
8
  require("@intlayer/api");
12
9
  require("@intlayer/config/built");
10
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
13
11
  require("../Toaster/Toast.cjs");
14
12
  require("deepmerge");
13
+ const hooks_useScrollBlockage_index = require("../../index-BYzBot7l.cjs");
14
+ const hooks_useScrollDetection = require("../../hooks/useScrollDetection.cjs");
15
15
  const utils_cn = require("../../utils/cn.cjs");
16
16
  const components_MaxHeightSmoother_index = require("../MaxHeightSmoother/index.cjs");
17
17
  const components_Navbar_Burger = require("./Burger.cjs");
@@ -2,14 +2,14 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { m } from "framer-motion";
4
4
  import { useState, useRef } from "react";
5
- import { u as useScrollBlockage } from "../../index-BCuMWKyy.js";
6
- import { useScrollDetection } from "../../hooks/useScrollDetection.mjs";
7
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
8
5
  import "@intlayer/editor-react";
9
6
  import "@intlayer/api";
10
7
  import "@intlayer/config/built";
8
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
11
9
  import "../Toaster/Toast.mjs";
12
10
  import "deepmerge";
11
+ import { u as useScrollBlockage } from "../../index-BCuMWKyy.js";
12
+ import { useScrollDetection } from "../../hooks/useScrollDetection.mjs";
13
13
  import { cn } from "../../utils/cn.mjs";
14
14
  import { MaxHeightSmoother } from "../MaxHeightSmoother/index.mjs";
15
15
  import { Burger } from "./Burger.mjs";
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
- const hooks_useDevice = require("../../hooks/useDevice.cjs");
6
- require("react");
7
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
- const hooks_useIsMounted = require("../../hooks/useIsMounted.cjs");
9
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
10
5
  require("@intlayer/editor-react");
11
6
  require("@intlayer/api");
12
7
  require("@intlayer/config/built");
8
+ require("react");
9
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
13
10
  require("../Toaster/Toast.cjs");
11
+ const hooks_useDevice = require("../../hooks/useDevice.cjs");
14
12
  require("deepmerge");
13
+ const hooks_useIsMounted = require("../../hooks/useIsMounted.cjs");
14
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
15
15
  const components_Navbar_DesktopNavbar = require("./DesktopNavbar.cjs");
16
16
  const components_Navbar_MobileNavbar = require("./MobileNavbar.cjs");
17
17
  const Navbar = ({
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import { jsx, Fragment } from "react/jsx-runtime";
3
- import { useDevice } from "../../hooks/useDevice.mjs";
4
- import "react";
5
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
- import { useIsMounted } from "../../hooks/useIsMounted.mjs";
7
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
8
3
  import "@intlayer/editor-react";
9
4
  import "@intlayer/api";
10
5
  import "@intlayer/config/built";
6
+ import "react";
7
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
11
8
  import "../Toaster/Toast.mjs";
9
+ import { useDevice } from "../../hooks/useDevice.mjs";
12
10
  import "deepmerge";
11
+ import { useIsMounted } from "../../hooks/useIsMounted.mjs";
12
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
13
13
  import { DesktopNavbar } from "./DesktopNavbar.mjs";
14
14
  import { MobileNavbar } from "./MobileNavbar.mjs";
15
15
  const Navbar = ({
@@ -4,14 +4,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const ReactExports = require("react");
6
6
  const classVarianceAuthority = require("class-variance-authority");
7
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
7
  require("@intlayer/editor-react");
10
8
  require("@intlayer/api");
11
9
  require("@intlayer/config/built");
10
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
12
11
  require("../Toaster/Toast.cjs");
13
- const hooks_useItemSelector = require("../../hooks/useItemSelector.cjs");
14
12
  require("deepmerge");
13
+ const hooks_useItemSelector = require("../../hooks/useItemSelector.cjs");
14
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
15
15
  const utils_cn = require("../../utils/cn.cjs");
16
16
  const defaultChoices = [
17
17
  { content: "Off", value: false },
@@ -2,14 +2,14 @@
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useState, useRef, useEffect, createElement } from "react";
4
4
  import { cva } from "class-variance-authority";
5
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
7
5
  import "@intlayer/editor-react";
8
6
  import "@intlayer/api";
9
7
  import "@intlayer/config/built";
8
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
10
9
  import "../Toaster/Toast.mjs";
11
- import { useItemSelector } from "../../hooks/useItemSelector.mjs";
12
10
  import "deepmerge";
11
+ import { useItemSelector } from "../../hooks/useItemSelector.mjs";
12
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
13
13
  import { cn } from "../../utils/cn.mjs";
14
14
  const defaultChoices = [
15
15
  { content: "Off", value: false },
@@ -4,14 +4,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const classVarianceAuthority = require("class-variance-authority");
6
6
  const ReactExports = require("react");
7
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
7
  require("@intlayer/editor-react");
10
8
  require("@intlayer/api");
11
9
  require("@intlayer/config/built");
10
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
12
11
  require("../Toaster/Toast.cjs");
13
- const hooks_useItemSelector = require("../../hooks/useItemSelector.cjs");
14
12
  require("deepmerge");
13
+ const hooks_useItemSelector = require("../../hooks/useItemSelector.cjs");
14
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
15
15
  const utils_cn = require("../../utils/cn.cjs");
16
16
  const tabSelectorVariant = classVarianceAuthority.cva(
17
17
  "relative flex size-full flex-row items-center gap-2",
@@ -2,14 +2,14 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { cva } from "class-variance-authority";
4
4
  import { useRef, cloneElement } from "react";
5
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
7
5
  import "@intlayer/editor-react";
8
6
  import "@intlayer/api";
9
7
  import "@intlayer/config/built";
8
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
10
9
  import "../Toaster/Toast.mjs";
11
- import { useItemSelector } from "../../hooks/useItemSelector.mjs";
12
10
  import "deepmerge";
11
+ import { useItemSelector } from "../../hooks/useItemSelector.mjs";
12
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
13
13
  import { cn } from "../../utils/cn.mjs";
14
14
  const tabSelectorVariant = cva(
15
15
  "relative flex size-full flex-row items-center gap-2",
@@ -4,10 +4,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const editorReact = require("@intlayer/editor-react");
6
6
  const ReactExports = require("react");
7
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
7
  const hooks_intlayerAPIHooks = require("../../hooks/intlayerAPIHooks.cjs");
8
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
10
9
  require("deepmerge");
10
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
11
11
  const components_TextArea_AutoSizeTextArea = require("./AutoSizeTextArea.cjs");
12
12
  const useDebounce = (value, delay) => {
13
13
  const [debouncedValue, setDebouncedValue] = ReactExports.useState(value);