@intlayer/design-system 5.5.10 → 5.6.0

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 (138) hide show
  1. package/README.md +1 -1
  2. package/dist/.vite/manifest.json +86 -51
  3. package/dist/components/Auth/AuthModal/index.cjs +2 -2
  4. package/dist/components/Auth/AuthModal/index.mjs +2 -2
  5. package/dist/components/Auth/useAuth/useCSRF.d.ts +1 -1
  6. package/dist/components/Auth/useAuth/useOAuth2.d.ts +1 -1
  7. package/dist/components/Auth/useUser/index.cjs +2 -2
  8. package/dist/components/Auth/useUser/index.mjs +2 -2
  9. package/dist/components/Container/index.cjs +2 -1
  10. package/dist/components/Container/index.cjs.map +1 -1
  11. package/dist/components/Container/index.d.ts +2 -3
  12. package/dist/components/Container/index.d.ts.map +1 -1
  13. package/dist/components/Container/index.mjs +3 -2
  14. package/dist/components/Container/index.mjs.map +1 -1
  15. package/dist/components/ContentEditor/ContentEditorTextArea.cjs +2 -2
  16. package/dist/components/ContentEditor/ContentEditorTextArea.mjs +2 -2
  17. package/dist/components/{IDE/CopyButton.cjs → CopyButton/index.cjs} +6 -5
  18. package/dist/components/CopyButton/index.cjs.map +1 -0
  19. package/dist/components/{IDE/CopyButton.d.ts → CopyButton/index.d.ts} +3 -2
  20. package/dist/components/CopyButton/index.d.ts.map +1 -0
  21. package/dist/components/{IDE/CopyButton.mjs → CopyButton/index.mjs} +6 -5
  22. package/dist/components/CopyButton/index.mjs.map +1 -0
  23. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +2 -2
  24. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +2 -2
  25. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +1 -1
  26. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  27. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +2 -2
  28. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +2 -2
  29. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +2 -2
  30. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +2 -2
  31. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +2 -2
  32. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +2 -2
  33. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.cjs +2 -2
  34. package/dist/components/DictionaryFieldEditor/StructureView/StructureView.mjs +2 -2
  35. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.cjs +2 -2
  36. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +2 -2
  37. package/dist/components/EditableField/EditableFieldTextArea.cjs +2 -2
  38. package/dist/components/EditableField/EditableFieldTextArea.mjs +2 -2
  39. package/dist/components/IDE/Code.cjs +3 -3
  40. package/dist/components/IDE/Code.cjs.map +1 -1
  41. package/dist/components/IDE/Code.d.ts +1 -1
  42. package/dist/components/IDE/Code.d.ts.map +1 -1
  43. package/dist/components/IDE/Code.mjs +3 -3
  44. package/dist/components/IDE/Code.mjs.map +1 -1
  45. package/dist/components/IDE/CodeContext.cjs +2 -2
  46. package/dist/components/IDE/CodeContext.mjs +2 -2
  47. package/dist/components/IDE/CopyCode.cjs +28 -0
  48. package/dist/components/IDE/CopyCode.cjs.map +1 -0
  49. package/dist/components/IDE/CopyCode.d.ts +7 -0
  50. package/dist/components/IDE/CopyCode.d.ts.map +1 -0
  51. package/dist/components/IDE/CopyCode.mjs +28 -0
  52. package/dist/components/IDE/CopyCode.mjs.map +1 -0
  53. package/dist/components/IDE/MonacoCode.cjs +2 -2
  54. package/dist/components/IDE/MonacoCode.cjs.map +1 -1
  55. package/dist/components/IDE/MonacoCode.mjs +1 -1
  56. package/dist/components/IDE/MonacoCode.mjs.map +1 -1
  57. package/dist/components/IDE/code.content.cjs +39 -0
  58. package/dist/components/IDE/code.content.cjs.map +1 -0
  59. package/dist/components/IDE/code.content.d.ts +73 -0
  60. package/dist/components/IDE/code.content.d.ts.map +1 -0
  61. package/dist/components/IDE/code.content.mjs +40 -0
  62. package/dist/components/IDE/code.content.mjs.map +1 -0
  63. package/dist/components/IDE/copyCode.content.cjs +39 -0
  64. package/dist/components/IDE/copyCode.content.cjs.map +1 -0
  65. package/dist/components/IDE/copyCode.content.d.ts +73 -0
  66. package/dist/components/IDE/copyCode.content.d.ts.map +1 -0
  67. package/dist/components/IDE/copyCode.content.mjs +40 -0
  68. package/dist/components/IDE/copyCode.content.mjs.map +1 -0
  69. package/dist/components/Link/Link.cjs.map +1 -1
  70. package/dist/components/Link/Link.d.ts.map +1 -1
  71. package/dist/components/Link/Link.mjs.map +1 -1
  72. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +2 -2
  73. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -2
  74. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.cjs +2 -2
  75. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +2 -2
  76. package/dist/components/MarkDownRender/index.cjs +27 -1
  77. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  78. package/dist/components/MarkDownRender/index.d.ts +2 -2
  79. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  80. package/dist/components/MarkDownRender/index.mjs +27 -1
  81. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  82. package/dist/components/Modal/Modal.cjs +4 -4
  83. package/dist/components/Modal/Modal.mjs +4 -4
  84. package/dist/components/Navbar/MobileNavbar.cjs +3 -3
  85. package/dist/components/Navbar/MobileNavbar.mjs +3 -3
  86. package/dist/components/Navbar/index.cjs +5 -5
  87. package/dist/components/Navbar/index.mjs +5 -5
  88. package/dist/components/Popover/index.cjs +59 -15
  89. package/dist/components/Popover/index.cjs.map +1 -1
  90. package/dist/components/Popover/index.d.ts +32 -6
  91. package/dist/components/Popover/index.d.ts.map +1 -1
  92. package/dist/components/Popover/index.mjs +60 -16
  93. package/dist/components/Popover/index.mjs.map +1 -1
  94. package/dist/components/SocialNetworks/index.cjs +1 -1
  95. package/dist/components/SocialNetworks/index.cjs.map +1 -1
  96. package/dist/components/SocialNetworks/index.mjs +1 -1
  97. package/dist/components/SocialNetworks/index.mjs.map +1 -1
  98. package/dist/components/SwitchSelector/index.cjs +3 -3
  99. package/dist/components/SwitchSelector/index.mjs +3 -3
  100. package/dist/components/TabSelector/TabSelector.cjs +3 -3
  101. package/dist/components/TabSelector/TabSelector.mjs +3 -3
  102. package/dist/components/TextArea/AutocompleteTextArea.cjs +2 -2
  103. package/dist/components/TextArea/AutocompleteTextArea.mjs +2 -2
  104. package/dist/components/index.cjs +3 -0
  105. package/dist/components/index.cjs.map +1 -1
  106. package/dist/components/index.d.ts +1 -0
  107. package/dist/components/index.d.ts.map +1 -1
  108. package/dist/components/index.mjs +4 -1
  109. package/dist/components/index.mjs.map +1 -1
  110. package/dist/hooks/index.cjs +25 -23
  111. package/dist/hooks/index.cjs.map +1 -1
  112. package/dist/hooks/index.d.ts +8 -7
  113. package/dist/hooks/index.d.ts.map +1 -1
  114. package/dist/hooks/index.mjs +10 -8
  115. package/dist/hooks/index.mjs.map +1 -1
  116. package/dist/hooks/intlayerAPIHooks.d.ts +54 -54
  117. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  118. package/dist/hooks/useAsync/useAsync.cjs +10 -11
  119. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  120. package/dist/hooks/useAsync/useAsync.mjs +10 -11
  121. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  122. package/dist/hooks/useIntlayerAPI.cjs +5 -4
  123. package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
  124. package/dist/hooks/useIntlayerAPI.d.ts +66 -65
  125. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  126. package/dist/hooks/useIntlayerAPI.mjs +5 -4
  127. package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
  128. package/dist/hooks/useScreenWidth.cjs +18 -0
  129. package/dist/hooks/useScreenWidth.cjs.map +1 -0
  130. package/dist/hooks/useScreenWidth.d.ts +4 -0
  131. package/dist/hooks/useScreenWidth.d.ts.map +1 -0
  132. package/dist/hooks/useScreenWidth.mjs +18 -0
  133. package/dist/hooks/useScreenWidth.mjs.map +1 -0
  134. package/dist/tailwind.css +1 -1
  135. package/package.json +18 -18
  136. package/dist/components/IDE/CopyButton.cjs.map +0 -1
  137. package/dist/components/IDE/CopyButton.d.ts.map +0 -1
  138. package/dist/components/IDE/CopyButton.mjs.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
+ import { ButtonProps } from '../Button';
2
3
  type CopyButtonProps = {
3
4
  content: string;
4
- };
5
+ } & Partial<ButtonProps>;
5
6
  export declare const CopyButton: FC<CopyButtonProps>;
6
7
  export {};
7
- //# sourceMappingURL=CopyButton.d.ts.map
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CopyButton/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAU,WAAW,EAAE,MAAM,WAAW,CAAC;AAGhD,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEzB,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA+B1C,CAAC"}
@@ -4,8 +4,8 @@ import { CopyCheckIcon, CopyIcon } from "lucide-react";
4
4
  import { useState, useEffect } from "react";
5
5
  import { useDictionary } from "react-intlayer";
6
6
  import { Button } from "../Button/Button.mjs";
7
- import { copyContentContent } from "./CopyButton.content.mjs";
8
- const CopyButton = ({ content }) => {
7
+ import { copyContentContent } from "../IDE/CopyButton.content.mjs";
8
+ const CopyButton = ({ content, ...props }) => {
9
9
  const [copied, setCopied] = useState(false);
10
10
  const { label } = useDictionary(copyContentContent);
11
11
  const handleCopy = async () => {
@@ -29,12 +29,13 @@ const CopyButton = ({ content }) => {
29
29
  onClick: handleCopy,
30
30
  variant: "hoverable",
31
31
  color: "text",
32
- label: label.value,
33
- size: "icon-sm"
32
+ size: "icon-sm",
33
+ ...props,
34
+ label: props.label ?? label.value
34
35
  }
35
36
  );
36
37
  };
37
38
  export {
38
39
  CopyButton
39
40
  };
40
- //# sourceMappingURL=CopyButton.mjs.map
41
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/CopyButton/index.tsx"],"sourcesContent":["'use client';\n\nimport { CopyCheckIcon, CopyIcon } from 'lucide-react';\nimport { useEffect, useState, type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport { Button, ButtonProps } from '../Button';\nimport { copyContentContent } from '../IDE/CopyButton.content';\n\ntype CopyButtonProps = {\n content: string;\n} & Partial<ButtonProps>;\n\nexport const CopyButton: FC<CopyButtonProps> = ({ content, ...props }) => {\n const [copied, setCopied] = useState(false);\n const { label } = useDictionary(copyContentContent);\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(content);\n setCopied(true);\n } catch (error) {\n console.error('Failed to copy text: ', error);\n }\n };\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setCopied(false);\n }, 1000);\n return () => clearTimeout(timer);\n }, [copied]);\n\n return (\n <Button\n Icon={copied ? CopyCheckIcon : CopyIcon}\n onClick={handleCopy}\n variant=\"hoverable\"\n color=\"text\"\n size=\"icon-sm\"\n {...props}\n label={props.label ?? label.value}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;AAYO,MAAM,aAAkC,CAAC,EAAE,SAAS,GAAG,YAAY;AACxE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,QAAM,EAAE,MAAA,IAAU,cAAc,kBAAkB;AAElD,QAAM,aAAa,YAAY;AACzB,QAAA;AACI,YAAA,UAAU,UAAU,UAAU,OAAO;AAC3C,gBAAU,IAAI;AAAA,aACP,OAAO;AACN,cAAA,MAAM,yBAAyB,KAAK;AAAA,IAAA;AAAA,EAEhD;AAEA,YAAU,MAAM;AACR,UAAA,QAAQ,WAAW,MAAM;AAC7B,gBAAU,KAAK;AAAA,OACd,GAAI;AACA,WAAA,MAAM,aAAa,KAAK;AAAA,EAAA,GAC9B,CAAC,MAAM,CAAC;AAGT,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAM,SAAS,gBAAgB;AAAA,MAC/B,SAAS;AAAA,MACT,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,MAAK;AAAA,MACJ,GAAG;AAAA,MACJ,OAAO,MAAM,SAAS,MAAM;AAAA,IAAA;AAAA,EAC9B;AAEJ;"}
@@ -7,10 +7,10 @@ const editorReact = require("@intlayer/editor-react");
7
7
  const lucideReact = require("lucide-react");
8
8
  const ReactExports = require("react");
9
9
  const reactIntlayer = require("react-intlayer");
10
- require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
11
- require("../../../hooks/useAsync/useAsyncStateStore.cjs");
12
10
  const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
11
+ require("../../../hooks/useAsync/useAsyncStateStore.cjs");
13
12
  require("deepmerge");
13
+ require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
14
14
  const utils_object = require("../../../utils/object.cjs");
15
15
  const components_Button_Button = require("../../Button/Button.cjs");
16
16
  const components_Container_index = require("../../Container/index.cjs");
@@ -5,10 +5,10 @@ import { useEditedContent, useConfiguration } from "@intlayer/editor-react";
5
5
  import { Trash, Plus, WandSparkles } from "lucide-react";
6
6
  import { Fragment as Fragment$1, useState } from "react";
7
7
  import { useDictionary, useLocale } from "react-intlayer";
8
- import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
9
- import "../../../hooks/useAsync/useAsyncStateStore.mjs";
10
8
  import { useAuditContentDeclarationField } from "../../../hooks/intlayerAPIHooks.mjs";
9
+ import "../../../hooks/useAsync/useAsyncStateStore.mjs";
11
10
  import "deepmerge";
11
+ import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
12
  import { renameKey } from "../../../utils/object.mjs";
13
13
  import { Button } from "../../Button/Button.mjs";
14
14
  import { Container } from "../../Container/index.mjs";
@@ -6,10 +6,10 @@ const reactIntlayer = require("react-intlayer");
6
6
  const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
7
7
  require("react");
8
8
  require("../../Button/Button.cjs");
9
- require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
10
9
  require("../../../hooks/useAsync/useAsyncStateStore.cjs");
11
10
  require("@intlayer/editor-react");
12
11
  require("deepmerge");
12
+ require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
13
13
  const components_Auth_useAuth_index = require("../../Auth/useAuth/index.cjs");
14
14
  require("../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs");
15
15
  require("@intlayer/api");
@@ -4,10 +4,10 @@ import { useDictionary } from "react-intlayer";
4
4
  import { useAddDictionary, useGetProjects } from "../../../hooks/intlayerAPIHooks.mjs";
5
5
  import "react";
6
6
  import "../../Button/Button.mjs";
7
- import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
8
7
  import "../../../hooks/useAsync/useAsyncStateStore.mjs";
9
8
  import "@intlayer/editor-react";
10
9
  import "deepmerge";
10
+ import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
11
11
  import { useAuth } from "../../Auth/useAuth/index.mjs";
12
12
  import "../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs";
13
13
  import "@intlayer/api";
@@ -6,10 +6,10 @@ const editorReact = require("@intlayer/editor-react");
6
6
  const lucideReact = require("lucide-react");
7
7
  const ReactExports = require("react");
8
8
  const reactIntlayer = require("react-intlayer");
9
- require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
10
- require("../../../hooks/useAsync/useAsyncStateStore.cjs");
11
9
  const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
10
+ require("../../../hooks/useAsync/useAsyncStateStore.cjs");
12
11
  require("deepmerge");
12
+ require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
13
13
  require("../../Button/Button.cjs");
14
14
  const components_Auth_useAuth_index = require("../../Auth/useAuth/index.cjs");
15
15
  require("../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs");
@@ -4,10 +4,10 @@ import { useEditedContent } from "@intlayer/editor-react";
4
4
  import { WandSparkles } from "lucide-react";
5
5
  import { useEffect } from "react";
6
6
  import { useDictionary } from "react-intlayer";
7
- import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
8
- import "../../../hooks/useAsync/useAsyncStateStore.mjs";
9
7
  import { useGetProjects, useGetTags, useAuditContentDeclarationMetadata } from "../../../hooks/intlayerAPIHooks.mjs";
8
+ import "../../../hooks/useAsync/useAsyncStateStore.mjs";
10
9
  import "deepmerge";
10
+ import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
11
11
  import "../../Button/Button.mjs";
12
12
  import { useAuth } from "../../Auth/useAuth/index.mjs";
13
13
  import "../../Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs";
@@ -10,12 +10,12 @@ const components_Button_Button = require("../Button/Button.cjs");
10
10
  require("@intlayer/config/client");
11
11
  require("@intlayer/core");
12
12
  require("fuse.js");
13
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
14
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
15
13
  require("@intlayer/api");
16
14
  require("@intlayer/config/built");
15
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
17
16
  require("../Toaster/Toast.cjs");
18
17
  require("deepmerge");
18
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
19
19
  require("../Container/index.cjs");
20
20
  require("../DropDown/index.cjs");
21
21
  require("../Input/Input.cjs");
@@ -8,12 +8,12 @@ import { Button } from "../Button/Button.mjs";
8
8
  import "@intlayer/config/client";
9
9
  import "@intlayer/core";
10
10
  import "fuse.js";
11
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
13
11
  import "@intlayer/api";
14
12
  import "@intlayer/config/built";
13
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
15
14
  import "../Toaster/Toast.mjs";
16
15
  import "deepmerge";
16
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
17
17
  import "../Container/index.mjs";
18
18
  import "../DropDown/index.mjs";
19
19
  import "../Input/Input.mjs";
@@ -7,10 +7,10 @@ const lucideReact = require("lucide-react");
7
7
  const ReactExports = require("react");
8
8
  const reactIntlayer = require("react-intlayer");
9
9
  const components_Modal_Modal = require("../../Modal/Modal.cjs");
10
- require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
11
- require("../../../hooks/useAsync/useAsyncStateStore.cjs");
12
10
  const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
11
+ require("../../../hooks/useAsync/useAsyncStateStore.cjs");
13
12
  require("deepmerge");
13
+ require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
14
14
  const utils_cn = require("../../../utils/cn.cjs");
15
15
  require("../../Button/Button.cjs");
16
16
  const components_Auth_useAuth_index = require("../../Auth/useAuth/index.cjs");
@@ -5,10 +5,10 @@ import { Save, Trash, RotateCcw, Download, ArrowUpFromLine } from "lucide-react"
5
5
  import { useState } from "react";
6
6
  import { useDictionary } from "react-intlayer";
7
7
  import { Modal } from "../../Modal/Modal.mjs";
8
- import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
9
- import "../../../hooks/useAsync/useAsyncStateStore.mjs";
10
8
  import { useDeleteDictionary, useWriteDictionary, usePushDictionaries } from "../../../hooks/intlayerAPIHooks.mjs";
9
+ import "../../../hooks/useAsync/useAsyncStateStore.mjs";
11
10
  import "deepmerge";
11
+ import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
12
  import { cn } from "../../../utils/cn.mjs";
13
13
  import "../../Button/Button.mjs";
14
14
  import { useAuth } from "../../Auth/useAuth/index.mjs";
@@ -15,12 +15,12 @@ require("clsx");
15
15
  require("tailwind-merge");
16
16
  require("../../Input/Input.cjs");
17
17
  require("../../Input/Checkbox.cjs");
18
- require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
19
- require("../../../hooks/useAsync/useAsyncStateStore.cjs");
20
18
  require("@intlayer/api");
21
19
  require("@intlayer/config/built");
20
+ require("../../../hooks/useAsync/useAsyncStateStore.cjs");
22
21
  require("../../Toaster/Toast.cjs");
23
22
  require("deepmerge");
23
+ require("../../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
24
24
  const components_DictionaryFieldEditor_NodeTypeSelector = require("../NodeTypeSelector.cjs");
25
25
  const components_DictionaryFieldEditor_StructureView_structureView_content = require("./structureView.content.cjs");
26
26
  const NodeTypeView = ({
@@ -13,12 +13,12 @@ import "clsx";
13
13
  import "tailwind-merge";
14
14
  import "../../Input/Input.mjs";
15
15
  import "../../Input/Checkbox.mjs";
16
- import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
17
- import "../../../hooks/useAsync/useAsyncStateStore.mjs";
18
16
  import "@intlayer/api";
19
17
  import "@intlayer/config/built";
18
+ import "../../../hooks/useAsync/useAsyncStateStore.mjs";
20
19
  import "../../Toaster/Toast.mjs";
21
20
  import "deepmerge";
21
+ import "../../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
22
22
  import { NodeTypeSelector } from "../NodeTypeSelector.mjs";
23
23
  import { structureViewContent } from "./structureView.content.mjs";
24
24
  const NodeTypeView = ({
@@ -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 VersionSwitcherContext = ReactExports.createContext({
15
15
  availableVersions: [],
16
16
  selectedVersion: null,
@@ -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 VersionSwitcherContext = createContext({
13
13
  availableVersions: [],
14
14
  selectedVersion: null,
@@ -10,12 +10,12 @@ require("../Input/Input.cjs");
10
10
  require("lucide-react");
11
11
  require("../Input/Checkbox.cjs");
12
12
  require("@intlayer/editor-react");
13
- require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
14
- require("../../hooks/useAsync/useAsyncStateStore.cjs");
15
13
  require("@intlayer/api");
16
14
  require("@intlayer/config/built");
15
+ require("../../hooks/useAsync/useAsyncStateStore.cjs");
17
16
  require("../Toaster/Toast.cjs");
18
17
  require("deepmerge");
18
+ require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
19
19
  const components_EditableField_EditableFieldLayout = require("./EditableFieldLayout.cjs");
20
20
  const EditableFieldTextArea = ({
21
21
  onSave,
@@ -8,12 +8,12 @@ import "../Input/Input.mjs";
8
8
  import "lucide-react";
9
9
  import "../Input/Checkbox.mjs";
10
10
  import "@intlayer/editor-react";
11
- import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
- import "../../hooks/useAsync/useAsyncStateStore.mjs";
13
11
  import "@intlayer/api";
14
12
  import "@intlayer/config/built";
13
+ import "../../hooks/useAsync/useAsyncStateStore.mjs";
15
14
  import "../Toaster/Toast.mjs";
16
15
  import "deepmerge";
16
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
17
17
  import { EditableFieldLayout } from "./EditableFieldLayout.mjs";
18
18
  const EditableFieldTextArea = ({
19
19
  onSave,
@@ -7,7 +7,7 @@ const components_IDE_CodeBlockClient = require("./CodeBlockClient.cjs");
7
7
  const components_IDE_CodeConditionalRenderer = require("./CodeConditionalRenderer.cjs");
8
8
  const components_IDE_CodeFormatSelector = require("./CodeFormatSelector.cjs");
9
9
  const components_IDE_ContentDeclarationFormatSelector = require("./ContentDeclarationFormatSelector.cjs");
10
- const components_IDE_CopyButton = require("./CopyButton.cjs");
10
+ const components_IDE_CopyCode = require("./CopyCode.cjs");
11
11
  const components_IDE_PackageManagerSelector = require("./PackageManagerSelector.cjs");
12
12
  const Code = ({
13
13
  children,
@@ -50,14 +50,14 @@ const Code = ({
50
50
  contentDeclarationFormat && /* @__PURE__ */ jsxRuntime.jsx(components_IDE_ContentDeclarationFormatSelector.ContentDeclarationFormatSelector, {})
51
51
  ] })
52
52
  ] }),
53
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-28", children: /* @__PURE__ */ jsxRuntime.jsx(
53
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-48", children: /* @__PURE__ */ jsxRuntime.jsx(
54
54
  "div",
55
55
  {
56
56
  className: utils_cn.cn(
57
57
  "absolute bottom-0 right-2 flex h-7 items-center",
58
58
  hadSelectInHeader && "h-11"
59
59
  ),
60
- children: /* @__PURE__ */ jsxRuntime.jsx(components_IDE_CopyButton.CopyButton, { content: code })
60
+ children: /* @__PURE__ */ jsxRuntime.jsx(components_IDE_CopyCode.CopyCode, { code })
61
61
  }
62
62
  ) })
63
63
  ] }),
@@ -1 +1 @@
1
- {"version":3,"file":"Code.cjs","sources":["../../../src/components/IDE/Code.tsx"],"sourcesContent":["import { type FC, type HTMLAttributes } from 'react';\nimport type { BundledLanguage } from 'shiki';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { CodeBlock } from './CodeBlockClient';\nimport { CodeConditionalRender } from './CodeConditionalRenderer';\nimport type {\n PackageManager,\n CodeFormat,\n ContentDeclarationFormat,\n} from './CodeContext';\nimport { CodeFormatSelector } from './CodeFormatSelector';\nimport { ContentDeclarationFormatSelector } from './ContentDeclarationFormatSelector';\nimport { CopyButton } from './CopyButton';\nimport { PackageManagerSelector } from './PackageManagerSelector';\n\nexport type CodeCompAttributes = {\n fileName?: string;\n packageManager?: PackageManager;\n codeFormat?: CodeFormat;\n contentDeclarationFormat?: ContentDeclarationFormat;\n};\n\ntype CodeCompProps = {\n children: string;\n fileName?: string;\n language: BundledLanguage;\n isDarkMode?: boolean;\n showHeader?: boolean;\n showLineNumbers?: boolean;\n} & CodeCompAttributes &\n HTMLAttributes<HTMLDivElement>;\n\nexport const Code: FC<CodeCompProps> = ({\n children,\n language,\n isDarkMode,\n showHeader = true,\n showLineNumbers = true,\n className,\n fileName,\n packageManager,\n codeFormat,\n contentDeclarationFormat,\n ...props\n}) => {\n const code = children.endsWith('\\n') ? children.slice(0, -1) : children;\n\n const hadSelectInHeader =\n packageManager || codeFormat || contentDeclarationFormat;\n\n return (\n <CodeConditionalRender\n packageManager={packageManager}\n codeFormat={codeFormat}\n contentDeclarationFormat={contentDeclarationFormat}\n >\n <Container\n className={cn(\n 'relative text-sm leading-6',\n showLineNumbers && 'with-line-number ml-0',\n className\n )}\n transparency=\"lg\"\n {...props}\n >\n {showHeader && (\n <>\n <div className=\"bg-card/50 text-neutral grid w-full grid-cols-[1fr_auto] items-center justify-between rounded-t-xl py-1.5 pl-4 pr-12 text-xs\">\n <span className=\"truncate\">{fileName ?? language}</span>\n <div className=\"flex items-center gap-2\">\n {packageManager && <PackageManagerSelector />}\n {codeFormat && <CodeFormatSelector />}\n {contentDeclarationFormat && (\n <ContentDeclarationFormatSelector />\n )}\n </div>\n </div>\n <div className=\"sticky top-28\">\n <div\n className={cn(\n 'absolute bottom-0 right-2 flex h-7 items-center',\n hadSelectInHeader && 'h-11'\n )}\n >\n <CopyButton content={code} />\n </div>\n </div>\n </>\n )}\n <div className=\"grid size-full grid-cols-[0px] overflow-auto p-3\">\n <CodeBlock lang={language} isDarkMode={isDarkMode}>\n {code}\n </CodeBlock>\n </div>\n </Container>\n </CodeConditionalRender>\n );\n};\n"],"names":["jsx","CodeConditionalRender","jsxs","Container","cn","Fragment","PackageManagerSelector","CodeFormatSelector","ContentDeclarationFormatSelector","CopyButton","CodeBlock"],"mappings":";;;;;;;;;;;AAiCO,MAAM,OAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,OAAO,SAAS,SAAS,IAAI,IAAI,SAAS,MAAM,GAAG,EAAE,IAAI;AAEzD,QAAA,oBACJ,kBAAkB,cAAc;AAGhC,SAAAA,2BAAA;AAAA,IAACC,uCAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,2BAAA;AAAA,QAACC,2BAAA;AAAA,QAAA;AAAA,UACC,WAAWC,SAAA;AAAA,YACT;AAAA,YACA,mBAAmB;AAAA,YACnB;AAAA,UACF;AAAA,UACA,cAAa;AAAA,UACZ,GAAG;AAAA,UAEH,UAAA;AAAA,YAAA,cAEGF,2BAAA,KAAAG,qBAAA,EAAA,UAAA;AAAA,cAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,gIACb,UAAA;AAAA,gBAAAF,2BAAA,IAAC,QAAK,EAAA,WAAU,YAAY,UAAA,YAAY,UAAS;AAAA,gBACjDE,2BAAAA,KAAC,OAAI,EAAA,WAAU,2BACZ,UAAA;AAAA,kBAAA,iDAAmBI,sCAAuB,wBAAA,EAAA;AAAA,kBAC1C,6CAAeC,kCAAmB,oBAAA,EAAA;AAAA,kBAClC,2DACEC,gDAAAA,kCAAiC,CAAA,CAAA;AAAA,gBAAA,EAEtC,CAAA;AAAA,cAAA,GACF;AAAA,cACAR,2BAAAA,IAAC,OAAI,EAAA,WAAU,iBACb,UAAAA,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWI,SAAA;AAAA,oBACT;AAAA,oBACA,qBAAqB;AAAA,kBACvB;AAAA,kBAEA,UAAAJ,2BAAAA,IAACS,0BAAAA,YAAW,EAAA,SAAS,KAAM,CAAA;AAAA,gBAAA;AAAA,cAAA,EAE/B,CAAA;AAAA,YAAA,GACF;AAAA,YAEFT,2BAAAA,IAAC,OAAI,EAAA,WAAU,oDACb,UAAAA,2BAAA,IAACU,4CAAU,MAAM,UAAU,YACxB,UAAA,KACH,CAAA,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;;"}
1
+ {"version":3,"file":"Code.cjs","sources":["../../../src/components/IDE/Code.tsx"],"sourcesContent":["import { type FC, type HTMLAttributes } from 'react';\nimport type { BundledLanguage } from 'shiki';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { CodeBlock } from './CodeBlockClient';\nimport { CodeConditionalRender } from './CodeConditionalRenderer';\nimport type {\n CodeFormat,\n ContentDeclarationFormat,\n PackageManager,\n} from './CodeContext';\nimport { CodeFormatSelector } from './CodeFormatSelector';\nimport { ContentDeclarationFormatSelector } from './ContentDeclarationFormatSelector';\nimport { CopyCode } from './CopyCode';\nimport { PackageManagerSelector } from './PackageManagerSelector';\n\nexport type CodeCompAttributes = {\n fileName?: string;\n packageManager?: PackageManager;\n codeFormat?: CodeFormat;\n contentDeclarationFormat?: ContentDeclarationFormat;\n};\n\ntype CodeCompProps = {\n children: string;\n fileName?: string;\n language: BundledLanguage;\n isDarkMode?: boolean;\n showHeader?: boolean;\n showLineNumbers?: boolean;\n} & CodeCompAttributes &\n HTMLAttributes<HTMLDivElement>;\n\nexport const Code: FC<CodeCompProps> = ({\n children,\n language,\n isDarkMode,\n showHeader = true,\n showLineNumbers = true,\n className,\n fileName,\n packageManager,\n codeFormat,\n contentDeclarationFormat,\n ...props\n}) => {\n const code = children.endsWith('\\n') ? children.slice(0, -1) : children;\n\n const hadSelectInHeader =\n packageManager || codeFormat || contentDeclarationFormat;\n\n return (\n <CodeConditionalRender\n packageManager={packageManager}\n codeFormat={codeFormat}\n contentDeclarationFormat={contentDeclarationFormat}\n >\n <Container\n className={cn(\n 'relative text-sm leading-6',\n showLineNumbers && 'with-line-number ml-0',\n className\n )}\n transparency=\"lg\"\n {...props}\n >\n {showHeader && (\n <>\n <div className=\"bg-card/50 text-neutral grid w-full grid-cols-[1fr_auto] items-center justify-between rounded-t-xl py-1.5 pl-4 pr-12 text-xs\">\n <span className=\"truncate\">{fileName ?? language}</span>\n <div className=\"flex items-center gap-2\">\n {packageManager && <PackageManagerSelector />}\n {codeFormat && <CodeFormatSelector />}\n {contentDeclarationFormat && (\n <ContentDeclarationFormatSelector />\n )}\n </div>\n </div>\n <div className=\"sticky top-48\">\n <div\n className={cn(\n 'absolute bottom-0 right-2 flex h-7 items-center',\n hadSelectInHeader && 'h-11'\n )}\n >\n <CopyCode code={code} />\n </div>\n </div>\n </>\n )}\n <div className=\"grid size-full grid-cols-[0px] overflow-auto p-3\">\n <CodeBlock lang={language} isDarkMode={isDarkMode}>\n {code}\n </CodeBlock>\n </div>\n </Container>\n </CodeConditionalRender>\n );\n};\n"],"names":["jsx","CodeConditionalRender","jsxs","Container","cn","Fragment","PackageManagerSelector","CodeFormatSelector","ContentDeclarationFormatSelector","CopyCode","CodeBlock"],"mappings":";;;;;;;;;;;AAiCO,MAAM,OAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,OAAO,SAAS,SAAS,IAAI,IAAI,SAAS,MAAM,GAAG,EAAE,IAAI;AAEzD,QAAA,oBACJ,kBAAkB,cAAc;AAGhC,SAAAA,2BAAA;AAAA,IAACC,uCAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,2BAAA;AAAA,QAACC,2BAAA;AAAA,QAAA;AAAA,UACC,WAAWC,SAAA;AAAA,YACT;AAAA,YACA,mBAAmB;AAAA,YACnB;AAAA,UACF;AAAA,UACA,cAAa;AAAA,UACZ,GAAG;AAAA,UAEH,UAAA;AAAA,YAAA,cAEGF,2BAAA,KAAAG,qBAAA,EAAA,UAAA;AAAA,cAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,gIACb,UAAA;AAAA,gBAAAF,2BAAA,IAAC,QAAK,EAAA,WAAU,YAAY,UAAA,YAAY,UAAS;AAAA,gBACjDE,2BAAAA,KAAC,OAAI,EAAA,WAAU,2BACZ,UAAA;AAAA,kBAAA,iDAAmBI,sCAAuB,wBAAA,EAAA;AAAA,kBAC1C,6CAAeC,kCAAmB,oBAAA,EAAA;AAAA,kBAClC,2DACEC,gDAAAA,kCAAiC,CAAA,CAAA;AAAA,gBAAA,EAEtC,CAAA;AAAA,cAAA,GACF;AAAA,cACAR,2BAAAA,IAAC,OAAI,EAAA,WAAU,iBACb,UAAAA,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWI,SAAA;AAAA,oBACT;AAAA,oBACA,qBAAqB;AAAA,kBACvB;AAAA,kBAEA,UAAAJ,2BAAA,IAACS,oCAAS,KAAY,CAAA;AAAA,gBAAA;AAAA,cAAA,EAE1B,CAAA;AAAA,YAAA,GACF;AAAA,YAEFT,2BAAAA,IAAC,OAAI,EAAA,WAAU,oDACb,UAAAA,2BAAA,IAACU,4CAAU,MAAM,UAAU,YACxB,UAAA,KACH,CAAA,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;;"}
@@ -1,6 +1,6 @@
1
1
  import { FC, HTMLAttributes } from 'react';
2
2
  import { BundledLanguage } from 'shiki';
3
- import { PackageManager, CodeFormat, ContentDeclarationFormat } from './CodeContext';
3
+ import { CodeFormat, ContentDeclarationFormat, PackageManager } from './CodeContext';
4
4
  export type CodeCompAttributes = {
5
5
  fileName?: string;
6
6
  packageManager?: PackageManager;
@@ -1 +1 @@
1
- {"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../../src/components/IDE/Code.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAK7C,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAMvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,kBAAkB,GACpB,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,aAAa,CAiElC,CAAC"}
1
+ {"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../../src/components/IDE/Code.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAK7C,OAAO,KAAK,EACV,UAAU,EACV,wBAAwB,EACxB,cAAc,EACf,MAAM,eAAe,CAAC;AAMvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,kBAAkB,GACpB,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,aAAa,CAiElC,CAAC"}
@@ -5,7 +5,7 @@ import { CodeBlock } from "./CodeBlockClient.mjs";
5
5
  import { CodeConditionalRender } from "./CodeConditionalRenderer.mjs";
6
6
  import { CodeFormatSelector } from "./CodeFormatSelector.mjs";
7
7
  import { ContentDeclarationFormatSelector } from "./ContentDeclarationFormatSelector.mjs";
8
- import { CopyButton } from "./CopyButton.mjs";
8
+ import { CopyCode } from "./CopyCode.mjs";
9
9
  import { PackageManagerSelector } from "./PackageManagerSelector.mjs";
10
10
  const Code = ({
11
11
  children,
@@ -48,14 +48,14 @@ const Code = ({
48
48
  contentDeclarationFormat && /* @__PURE__ */ jsx(ContentDeclarationFormatSelector, {})
49
49
  ] })
50
50
  ] }),
51
- /* @__PURE__ */ jsx("div", { className: "sticky top-28", children: /* @__PURE__ */ jsx(
51
+ /* @__PURE__ */ jsx("div", { className: "sticky top-48", children: /* @__PURE__ */ jsx(
52
52
  "div",
53
53
  {
54
54
  className: cn(
55
55
  "absolute bottom-0 right-2 flex h-7 items-center",
56
56
  hadSelectInHeader && "h-11"
57
57
  ),
58
- children: /* @__PURE__ */ jsx(CopyButton, { content: code })
58
+ children: /* @__PURE__ */ jsx(CopyCode, { code })
59
59
  }
60
60
  ) })
61
61
  ] }),
@@ -1 +1 @@
1
- {"version":3,"file":"Code.mjs","sources":["../../../src/components/IDE/Code.tsx"],"sourcesContent":["import { type FC, type HTMLAttributes } from 'react';\nimport type { BundledLanguage } from 'shiki';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { CodeBlock } from './CodeBlockClient';\nimport { CodeConditionalRender } from './CodeConditionalRenderer';\nimport type {\n PackageManager,\n CodeFormat,\n ContentDeclarationFormat,\n} from './CodeContext';\nimport { CodeFormatSelector } from './CodeFormatSelector';\nimport { ContentDeclarationFormatSelector } from './ContentDeclarationFormatSelector';\nimport { CopyButton } from './CopyButton';\nimport { PackageManagerSelector } from './PackageManagerSelector';\n\nexport type CodeCompAttributes = {\n fileName?: string;\n packageManager?: PackageManager;\n codeFormat?: CodeFormat;\n contentDeclarationFormat?: ContentDeclarationFormat;\n};\n\ntype CodeCompProps = {\n children: string;\n fileName?: string;\n language: BundledLanguage;\n isDarkMode?: boolean;\n showHeader?: boolean;\n showLineNumbers?: boolean;\n} & CodeCompAttributes &\n HTMLAttributes<HTMLDivElement>;\n\nexport const Code: FC<CodeCompProps> = ({\n children,\n language,\n isDarkMode,\n showHeader = true,\n showLineNumbers = true,\n className,\n fileName,\n packageManager,\n codeFormat,\n contentDeclarationFormat,\n ...props\n}) => {\n const code = children.endsWith('\\n') ? children.slice(0, -1) : children;\n\n const hadSelectInHeader =\n packageManager || codeFormat || contentDeclarationFormat;\n\n return (\n <CodeConditionalRender\n packageManager={packageManager}\n codeFormat={codeFormat}\n contentDeclarationFormat={contentDeclarationFormat}\n >\n <Container\n className={cn(\n 'relative text-sm leading-6',\n showLineNumbers && 'with-line-number ml-0',\n className\n )}\n transparency=\"lg\"\n {...props}\n >\n {showHeader && (\n <>\n <div className=\"bg-card/50 text-neutral grid w-full grid-cols-[1fr_auto] items-center justify-between rounded-t-xl py-1.5 pl-4 pr-12 text-xs\">\n <span className=\"truncate\">{fileName ?? language}</span>\n <div className=\"flex items-center gap-2\">\n {packageManager && <PackageManagerSelector />}\n {codeFormat && <CodeFormatSelector />}\n {contentDeclarationFormat && (\n <ContentDeclarationFormatSelector />\n )}\n </div>\n </div>\n <div className=\"sticky top-28\">\n <div\n className={cn(\n 'absolute bottom-0 right-2 flex h-7 items-center',\n hadSelectInHeader && 'h-11'\n )}\n >\n <CopyButton content={code} />\n </div>\n </div>\n </>\n )}\n <div className=\"grid size-full grid-cols-[0px] overflow-auto p-3\">\n <CodeBlock lang={language} isDarkMode={isDarkMode}>\n {code}\n </CodeBlock>\n </div>\n </Container>\n </CodeConditionalRender>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAiCO,MAAM,OAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,OAAO,SAAS,SAAS,IAAI,IAAI,SAAS,MAAM,GAAG,EAAE,IAAI;AAEzD,QAAA,oBACJ,kBAAkB,cAAc;AAGhC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA,mBAAmB;AAAA,YACnB;AAAA,UACF;AAAA,UACA,cAAa;AAAA,UACZ,GAAG;AAAA,UAEH,UAAA;AAAA,YAAA,cAEG,qBAAA,UAAA,EAAA,UAAA;AAAA,cAAC,qBAAA,OAAA,EAAI,WAAU,gIACb,UAAA;AAAA,gBAAA,oBAAC,QAAK,EAAA,WAAU,YAAY,UAAA,YAAY,UAAS;AAAA,gBACjD,qBAAC,OAAI,EAAA,WAAU,2BACZ,UAAA;AAAA,kBAAA,sCAAmB,wBAAuB,EAAA;AAAA,kBAC1C,kCAAe,oBAAmB,EAAA;AAAA,kBAClC,gDACE,kCAAiC,CAAA,CAAA;AAAA,gBAAA,EAEtC,CAAA;AAAA,cAAA,GACF;AAAA,cACA,oBAAC,OAAI,EAAA,WAAU,iBACb,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,oBACT;AAAA,oBACA,qBAAqB;AAAA,kBACvB;AAAA,kBAEA,UAAA,oBAAC,YAAW,EAAA,SAAS,KAAM,CAAA;AAAA,gBAAA;AAAA,cAAA,EAE/B,CAAA;AAAA,YAAA,GACF;AAAA,YAEF,oBAAC,OAAI,EAAA,WAAU,oDACb,UAAA,oBAAC,aAAU,MAAM,UAAU,YACxB,UAAA,KACH,CAAA,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"Code.mjs","sources":["../../../src/components/IDE/Code.tsx"],"sourcesContent":["import { type FC, type HTMLAttributes } from 'react';\nimport type { BundledLanguage } from 'shiki';\nimport { cn } from '../../utils/cn';\nimport { Container } from '../Container';\nimport { CodeBlock } from './CodeBlockClient';\nimport { CodeConditionalRender } from './CodeConditionalRenderer';\nimport type {\n CodeFormat,\n ContentDeclarationFormat,\n PackageManager,\n} from './CodeContext';\nimport { CodeFormatSelector } from './CodeFormatSelector';\nimport { ContentDeclarationFormatSelector } from './ContentDeclarationFormatSelector';\nimport { CopyCode } from './CopyCode';\nimport { PackageManagerSelector } from './PackageManagerSelector';\n\nexport type CodeCompAttributes = {\n fileName?: string;\n packageManager?: PackageManager;\n codeFormat?: CodeFormat;\n contentDeclarationFormat?: ContentDeclarationFormat;\n};\n\ntype CodeCompProps = {\n children: string;\n fileName?: string;\n language: BundledLanguage;\n isDarkMode?: boolean;\n showHeader?: boolean;\n showLineNumbers?: boolean;\n} & CodeCompAttributes &\n HTMLAttributes<HTMLDivElement>;\n\nexport const Code: FC<CodeCompProps> = ({\n children,\n language,\n isDarkMode,\n showHeader = true,\n showLineNumbers = true,\n className,\n fileName,\n packageManager,\n codeFormat,\n contentDeclarationFormat,\n ...props\n}) => {\n const code = children.endsWith('\\n') ? children.slice(0, -1) : children;\n\n const hadSelectInHeader =\n packageManager || codeFormat || contentDeclarationFormat;\n\n return (\n <CodeConditionalRender\n packageManager={packageManager}\n codeFormat={codeFormat}\n contentDeclarationFormat={contentDeclarationFormat}\n >\n <Container\n className={cn(\n 'relative text-sm leading-6',\n showLineNumbers && 'with-line-number ml-0',\n className\n )}\n transparency=\"lg\"\n {...props}\n >\n {showHeader && (\n <>\n <div className=\"bg-card/50 text-neutral grid w-full grid-cols-[1fr_auto] items-center justify-between rounded-t-xl py-1.5 pl-4 pr-12 text-xs\">\n <span className=\"truncate\">{fileName ?? language}</span>\n <div className=\"flex items-center gap-2\">\n {packageManager && <PackageManagerSelector />}\n {codeFormat && <CodeFormatSelector />}\n {contentDeclarationFormat && (\n <ContentDeclarationFormatSelector />\n )}\n </div>\n </div>\n <div className=\"sticky top-48\">\n <div\n className={cn(\n 'absolute bottom-0 right-2 flex h-7 items-center',\n hadSelectInHeader && 'h-11'\n )}\n >\n <CopyCode code={code} />\n </div>\n </div>\n </>\n )}\n <div className=\"grid size-full grid-cols-[0px] overflow-auto p-3\">\n <CodeBlock lang={language} isDarkMode={isDarkMode}>\n {code}\n </CodeBlock>\n </div>\n </Container>\n </CodeConditionalRender>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAiCO,MAAM,OAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,OAAO,SAAS,SAAS,IAAI,IAAI,SAAS,MAAM,GAAG,EAAE,IAAI;AAEzD,QAAA,oBACJ,kBAAkB,cAAc;AAGhC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA,mBAAmB;AAAA,YACnB;AAAA,UACF;AAAA,UACA,cAAa;AAAA,UACZ,GAAG;AAAA,UAEH,UAAA;AAAA,YAAA,cAEG,qBAAA,UAAA,EAAA,UAAA;AAAA,cAAC,qBAAA,OAAA,EAAI,WAAU,gIACb,UAAA;AAAA,gBAAA,oBAAC,QAAK,EAAA,WAAU,YAAY,UAAA,YAAY,UAAS;AAAA,gBACjD,qBAAC,OAAI,EAAA,WAAU,2BACZ,UAAA;AAAA,kBAAA,sCAAmB,wBAAuB,EAAA;AAAA,kBAC1C,kCAAe,oBAAmB,EAAA;AAAA,kBAClC,gDACE,kCAAiC,CAAA,CAAA;AAAA,gBAAA,EAEtC,CAAA;AAAA,cAAA,GACF;AAAA,cACA,oBAAC,OAAI,EAAA,WAAU,iBACb,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,oBACT;AAAA,oBACA,qBAAqB;AAAA,kBACvB;AAAA,kBAEA,UAAA,oBAAC,YAAS,KAAY,CAAA;AAAA,gBAAA;AAAA,cAAA,EAE1B,CAAA;AAAA,YAAA,GACF;AAAA,YAEF,oBAAC,OAAI,EAAA,WAAU,oDACb,UAAA,oBAAC,aAAU,MAAM,UAAU,YACxB,UAAA,KACH,CAAA,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
@@ -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: () => {
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const reactIntlayer = require("react-intlayer");
6
+ const components_CopyButton_index = require("../CopyButton/index.cjs");
7
+ const components_Popover_index = require("../Popover/index.cjs");
8
+ const components_IDE_copyCode_content = require("./copyCode.content.cjs");
9
+ const CopyCode = ({ code }) => {
10
+ const { title, description } = reactIntlayer.useDictionary(components_IDE_copyCode_content);
11
+ return /* @__PURE__ */ jsxRuntime.jsxs(components_Popover_index.Popover, { identifier: "copy", children: [
12
+ /* @__PURE__ */ jsxRuntime.jsx(components_CopyButton_index.CopyButton, { content: code }),
13
+ /* @__PURE__ */ jsxRuntime.jsxs(
14
+ components_Popover_index.Popover.Detail,
15
+ {
16
+ identifier: "copy",
17
+ className: "flex flex-col gap-3 p-3 min-w-64 text-sm",
18
+ xAlign: "end",
19
+ children: [
20
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: title }),
21
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-neutral", children: description })
22
+ ]
23
+ }
24
+ )
25
+ ] });
26
+ };
27
+ exports.CopyCode = CopyCode;
28
+ //# sourceMappingURL=CopyCode.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyCode.cjs","sources":["../../../src/components/IDE/CopyCode.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport { CopyButton } from '../CopyButton';\nimport { Popover } from '../Popover';\nimport copyContentContent from './copyCode.content';\n\ntype CopyCodeProps = {\n code: string;\n};\n\nexport const CopyCode: FC<CopyCodeProps> = ({ code }) => {\n const { title, description } = useDictionary(copyContentContent);\n\n return (\n <Popover identifier=\"copy\">\n <CopyButton content={code} />\n\n <Popover.Detail\n identifier=\"copy\"\n className=\"flex flex-col gap-3 p-3 min-w-64 text-sm\"\n xAlign=\"end\"\n >\n <strong>{title}</strong>\n <p className=\"text-neutral\">{description}</p>\n </Popover.Detail>\n </Popover>\n );\n};\n"],"names":["useDictionary","copyContentContent","jsxs","Popover","jsx","CopyButton"],"mappings":";;;;;;;;AAYO,MAAM,WAA8B,CAAC,EAAE,WAAW;AACvD,QAAM,EAAE,OAAO,gBAAgBA,cAAAA,cAAcC,+BAAkB;AAG7D,SAAAC,2BAAA,KAACC,yBAAQ,SAAA,EAAA,YAAW,QAClB,UAAA;AAAA,IAACC,2BAAAA,IAAAC,4BAAA,YAAA,EAAW,SAAS,KAAM,CAAA;AAAA,IAE3BH,2BAAA;AAAA,MAACC,yBAAAA,QAAQ;AAAA,MAAR;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,QAAO;AAAA,QAEP,UAAA;AAAA,UAAAC,2BAAAA,IAAC,YAAQ,UAAM,MAAA,CAAA;AAAA,UACdA,2BAAA,IAAA,KAAA,EAAE,WAAU,gBAAgB,UAAY,YAAA,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC3C,GACF;AAEJ;;"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ type CopyCodeProps = {
3
+ code: string;
4
+ };
5
+ export declare const CopyCode: FC<CopyCodeProps>;
6
+ export {};
7
+ //# sourceMappingURL=CopyCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyCode.d.ts","sourceRoot":"","sources":["../../../src/components/IDE/CopyCode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAiBtC,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { useDictionary } from "react-intlayer";
4
+ import { CopyButton } from "../CopyButton/index.mjs";
5
+ import { Popover } from "../Popover/index.mjs";
6
+ import copyContentContent from "./copyCode.content.mjs";
7
+ const CopyCode = ({ code }) => {
8
+ const { title, description } = useDictionary(copyContentContent);
9
+ return /* @__PURE__ */ jsxs(Popover, { identifier: "copy", children: [
10
+ /* @__PURE__ */ jsx(CopyButton, { content: code }),
11
+ /* @__PURE__ */ jsxs(
12
+ Popover.Detail,
13
+ {
14
+ identifier: "copy",
15
+ className: "flex flex-col gap-3 p-3 min-w-64 text-sm",
16
+ xAlign: "end",
17
+ children: [
18
+ /* @__PURE__ */ jsx("strong", { children: title }),
19
+ /* @__PURE__ */ jsx("p", { className: "text-neutral", children: description })
20
+ ]
21
+ }
22
+ )
23
+ ] });
24
+ };
25
+ export {
26
+ CopyCode
27
+ };
28
+ //# sourceMappingURL=CopyCode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyCode.mjs","sources":["../../../src/components/IDE/CopyCode.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\nimport { useDictionary } from 'react-intlayer';\nimport { CopyButton } from '../CopyButton';\nimport { Popover } from '../Popover';\nimport copyContentContent from './copyCode.content';\n\ntype CopyCodeProps = {\n code: string;\n};\n\nexport const CopyCode: FC<CopyCodeProps> = ({ code }) => {\n const { title, description } = useDictionary(copyContentContent);\n\n return (\n <Popover identifier=\"copy\">\n <CopyButton content={code} />\n\n <Popover.Detail\n identifier=\"copy\"\n className=\"flex flex-col gap-3 p-3 min-w-64 text-sm\"\n xAlign=\"end\"\n >\n <strong>{title}</strong>\n <p className=\"text-neutral\">{description}</p>\n </Popover.Detail>\n </Popover>\n );\n};\n"],"names":[],"mappings":";;;;;;AAYO,MAAM,WAA8B,CAAC,EAAE,WAAW;AACvD,QAAM,EAAE,OAAO,gBAAgB,cAAc,kBAAkB;AAG7D,SAAA,qBAAC,SAAQ,EAAA,YAAW,QAClB,UAAA;AAAA,IAAC,oBAAA,YAAA,EAAW,SAAS,KAAM,CAAA;AAAA,IAE3B;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,QAAO;AAAA,QAEP,UAAA;AAAA,UAAA,oBAAC,YAAQ,UAAM,MAAA,CAAA;AAAA,UACd,oBAAA,KAAA,EAAE,WAAU,gBAAgB,UAAY,YAAA,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC3C,GACF;AAEJ;"}
@@ -5,8 +5,8 @@ const jsxRuntime = require("react/jsx-runtime");
5
5
  const react = require("@monaco-editor/react");
6
6
  const ReactExports = require("react");
7
7
  const utils_cn = require("../../utils/cn.cjs");
8
+ const components_CopyButton_index = require("../CopyButton/index.cjs");
8
9
  const components_Loader_index = require("../Loader/index.cjs");
9
- const components_IDE_CopyButton = require("./CopyButton.cjs");
10
10
  const MonacoCode = ({
11
11
  children,
12
12
  language,
@@ -79,7 +79,7 @@ const MonacoCode = ({
79
79
  "div",
80
80
  {
81
81
  className: utils_cn.cn("absolute bottom-0 right-2 flex h-7 items-center"),
82
- children: /* @__PURE__ */ jsxRuntime.jsx(components_IDE_CopyButton.CopyButton, { content: children })
82
+ children: /* @__PURE__ */ jsxRuntime.jsx(components_CopyButton_index.CopyButton, { content: children })
83
83
  }
84
84
  ) }),
85
85
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoCode.cjs","sources":["../../../src/components/IDE/MonacoCode.tsx"],"sourcesContent":["'use client';\n\nimport { type OnChange, type OnMount, Editor } from '@monaco-editor/react';\nimport { type FC, useState, useRef, useMemo } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Loader } from '../Loader';\nimport { CopyButton } from './CopyButton';\n\ntype CodeCompProps = {\n children: string;\n language: string;\n isDarkMode?: boolean;\n showLineNumbers?: boolean;\n showCopyButton?: boolean;\n isReadOnly?: boolean;\n onChange?: OnChange;\n};\n\nexport const MonacoCode: FC<CodeCompProps> = ({\n children,\n language,\n isDarkMode,\n showLineNumbers,\n showCopyButton = true,\n isReadOnly = false,\n onChange,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const ideRef = useRef(null);\n const [editorSize, setEditorSize] = useState<{\n height: number;\n width: number;\n }>({ height: 0, width: 0 });\n\n const theme = useMemo(\n () => (isDarkMode ? 'vs-dark-transparent' : 'hc-light-theme'),\n [isDarkMode]\n );\n\n const handleMountIde: OnMount = (editor, monaco) => {\n // first time you set the height based on content Height\n\n ideRef.current = editor as any;\n const contentHeight = (editor.getContentHeight() ?? 0) + 25;\n\n monaco.editor.defineTheme('vs-dark-transparent', {\n base: 'vs-dark',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': '#00000000',\n },\n });\n monaco.editor.defineTheme('hc-light-theme', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': '#00000000',\n },\n });\n\n monaco.editor.setTheme(theme);\n\n // Disable TypeScript diagnostics\n monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true, // Disables type checking\n noSyntaxValidation: true, // Disables syntax errors\n });\n\n // Disable JavaScript diagnostics\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: true,\n });\n\n // Disable unnecessary language features (e.g., suggestions, quick fixes)\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n noLib: true,\n allowNonTsExtensions: true,\n });\n\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n noLib: true,\n allowNonTsExtensions: true,\n });\n\n setEditorSize({\n height: contentHeight,\n width: containerRef.current?.clientWidth ?? 0,\n });\n };\n\n const isShowLineNumbers = showLineNumbers ?? children.split('\\n').length > 1;\n\n return (\n <div\n className={cn(\n 'relative h-full w-full text-sm',\n showLineNumbers && 'ml-0'\n )}\n >\n {showCopyButton && (\n <div className=\"sticky top-5 z-10\">\n <div\n className={cn('absolute bottom-0 right-2 flex h-7 items-center')}\n >\n <CopyButton content={children} />\n </div>\n </div>\n )}\n <div\n className=\"z-0 grid size-full grid-cols-[0px] overflow-auto\"\n ref={containerRef}\n >\n <Editor\n {...editorSize}\n defaultLanguage=\"typescript\"\n language={language}\n loading={<Loader />}\n defaultValue={String(children).replace(/\\n$/, '')}\n onMount={handleMountIde}\n onChange={onChange}\n options={{\n readOnly: isReadOnly,\n cursorStyle: 'line',\n minimap: { enabled: false },\n scrollbar: {\n vertical: 'hidden',\n verticalScrollbarSize: 0,\n alwaysConsumeMouseWheel: false,\n },\n folding: false, // Disable code folding\n renderValidationDecorations: 'off', // Disable error/warning decorations\n quickSuggestions: false, // Disable IntelliSense\n parameterHints: { enabled: false }, // Disable parameter hints\n suggestOnTriggerCharacters: false, // Disable suggestions on typing\n\n mouseWheelScrollSensitivity: 0,\n fastScrollSensitivity: 0,\n scrollBeyondLastLine: false,\n lineNumbers: isShowLineNumbers ? 'on' : 'off',\n }}\n theme={theme}\n className=\"my-2 rounded-md\"\n />\n </div>\n </div>\n );\n};\n"],"names":["useRef","useState","useMemo","jsxs","cn","jsx","CopyButton","Editor","Loader"],"mappings":";;;;;;;;;AAkBO,MAAM,aAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb;AACF,MAAM;AACE,QAAA,eAAeA,oBAAuB,IAAI;AAC1C,QAAA,SAASA,oBAAO,IAAI;AACpB,QAAA,CAAC,YAAY,aAAa,IAAIC,aAAA,SAGjC,EAAE,QAAQ,GAAG,OAAO,GAAG;AAE1B,QAAM,QAAQC,aAAA;AAAA,IACZ,MAAO,aAAa,wBAAwB;AAAA,IAC5C,CAAC,UAAU;AAAA,EACb;AAEM,QAAA,iBAA0B,CAAC,QAAQ,WAAW;AAGlD,WAAO,UAAU;AACjB,UAAM,iBAAiB,OAAO,iBAAiB,KAAK,KAAK;AAElD,WAAA,OAAO,YAAY,uBAAuB;AAAA,MAC/C,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO,CAAC;AAAA,MACR,QAAQ;AAAA,QACN,qBAAqB;AAAA,MAAA;AAAA,IACvB,CACD;AACM,WAAA,OAAO,YAAY,kBAAkB;AAAA,MAC1C,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO,CAAC;AAAA,MACR,QAAQ;AAAA,QACN,qBAAqB;AAAA,MAAA;AAAA,IACvB,CACD;AAEM,WAAA,OAAO,SAAS,KAAK;AAGrB,WAAA,UAAU,WAAW,mBAAmB,sBAAsB;AAAA,MACnE,sBAAsB;AAAA;AAAA,MACtB,oBAAoB;AAAA;AAAA,IAAA,CACrB;AAGM,WAAA,UAAU,WAAW,mBAAmB,sBAAsB;AAAA,MACnE,sBAAsB;AAAA,MACtB,oBAAoB;AAAA,IAAA,CACrB;AAGM,WAAA,UAAU,WAAW,mBAAmB,mBAAmB;AAAA,MAChE,OAAO;AAAA,MACP,sBAAsB;AAAA,IAAA,CACvB;AAEM,WAAA,UAAU,WAAW,mBAAmB,mBAAmB;AAAA,MAChE,OAAO;AAAA,MACP,sBAAsB;AAAA,IAAA,CACvB;AAEa,kBAAA;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO,aAAa,SAAS,eAAe;AAAA,IAAA,CAC7C;AAAA,EACH;AAEA,QAAM,oBAAoB,mBAAmB,SAAS,MAAM,IAAI,EAAE,SAAS;AAGzE,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,SAAA;AAAA,QACT;AAAA,QACA,mBAAmB;AAAA,MACrB;AAAA,MAEC,UAAA;AAAA,QACC,kBAAAC,2BAAA,IAAC,OAAI,EAAA,WAAU,qBACb,UAAAA,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD,YAAG,iDAAiD;AAAA,YAE/D,UAAAC,2BAAAA,IAACC,0BAAAA,YAAW,EAAA,SAAS,SAAU,CAAA;AAAA,UAAA;AAAA,QAAA,GAEnC;AAAA,QAEFD,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,KAAK;AAAA,YAEL,UAAAA,2BAAA;AAAA,cAACE,MAAA;AAAA,cAAA;AAAA,gBACE,GAAG;AAAA,gBACJ,iBAAgB;AAAA,gBAChB;AAAA,gBACA,wCAAUC,wBAAO,QAAA,EAAA;AAAA,gBACjB,cAAc,OAAO,QAAQ,EAAE,QAAQ,OAAO,EAAE;AAAA,gBAChD,SAAS;AAAA,gBACT;AAAA,gBACA,SAAS;AAAA,kBACP,UAAU;AAAA,kBACV,aAAa;AAAA,kBACb,SAAS,EAAE,SAAS,MAAM;AAAA,kBAC1B,WAAW;AAAA,oBACT,UAAU;AAAA,oBACV,uBAAuB;AAAA,oBACvB,yBAAyB;AAAA,kBAC3B;AAAA,kBACA,SAAS;AAAA;AAAA,kBACT,6BAA6B;AAAA;AAAA,kBAC7B,kBAAkB;AAAA;AAAA,kBAClB,gBAAgB,EAAE,SAAS,MAAM;AAAA;AAAA,kBACjC,4BAA4B;AAAA;AAAA,kBAE5B,6BAA6B;AAAA,kBAC7B,uBAAuB;AAAA,kBACvB,sBAAsB;AAAA,kBACtB,aAAa,oBAAoB,OAAO;AAAA,gBAC1C;AAAA,gBACA;AAAA,gBACA,WAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UACZ;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
1
+ {"version":3,"file":"MonacoCode.cjs","sources":["../../../src/components/IDE/MonacoCode.tsx"],"sourcesContent":["'use client';\n\nimport { type OnChange, type OnMount, Editor } from '@monaco-editor/react';\nimport { type FC, useMemo, useRef, useState } from 'react';\nimport { cn } from '../../utils/cn';\nimport { CopyButton } from '../CopyButton';\nimport { Loader } from '../Loader';\n\ntype CodeCompProps = {\n children: string;\n language: string;\n isDarkMode?: boolean;\n showLineNumbers?: boolean;\n showCopyButton?: boolean;\n isReadOnly?: boolean;\n onChange?: OnChange;\n};\n\nexport const MonacoCode: FC<CodeCompProps> = ({\n children,\n language,\n isDarkMode,\n showLineNumbers,\n showCopyButton = true,\n isReadOnly = false,\n onChange,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const ideRef = useRef(null);\n const [editorSize, setEditorSize] = useState<{\n height: number;\n width: number;\n }>({ height: 0, width: 0 });\n\n const theme = useMemo(\n () => (isDarkMode ? 'vs-dark-transparent' : 'hc-light-theme'),\n [isDarkMode]\n );\n\n const handleMountIde: OnMount = (editor, monaco) => {\n // first time you set the height based on content Height\n\n ideRef.current = editor as any;\n const contentHeight = (editor.getContentHeight() ?? 0) + 25;\n\n monaco.editor.defineTheme('vs-dark-transparent', {\n base: 'vs-dark',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': '#00000000',\n },\n });\n monaco.editor.defineTheme('hc-light-theme', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': '#00000000',\n },\n });\n\n monaco.editor.setTheme(theme);\n\n // Disable TypeScript diagnostics\n monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true, // Disables type checking\n noSyntaxValidation: true, // Disables syntax errors\n });\n\n // Disable JavaScript diagnostics\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: true,\n });\n\n // Disable unnecessary language features (e.g., suggestions, quick fixes)\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n noLib: true,\n allowNonTsExtensions: true,\n });\n\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n noLib: true,\n allowNonTsExtensions: true,\n });\n\n setEditorSize({\n height: contentHeight,\n width: containerRef.current?.clientWidth ?? 0,\n });\n };\n\n const isShowLineNumbers = showLineNumbers ?? children.split('\\n').length > 1;\n\n return (\n <div\n className={cn(\n 'relative h-full w-full text-sm',\n showLineNumbers && 'ml-0'\n )}\n >\n {showCopyButton && (\n <div className=\"sticky top-5 z-10\">\n <div\n className={cn('absolute bottom-0 right-2 flex h-7 items-center')}\n >\n <CopyButton content={children} />\n </div>\n </div>\n )}\n <div\n className=\"z-0 grid size-full grid-cols-[0px] overflow-auto\"\n ref={containerRef}\n >\n <Editor\n {...editorSize}\n defaultLanguage=\"typescript\"\n language={language}\n loading={<Loader />}\n defaultValue={String(children).replace(/\\n$/, '')}\n onMount={handleMountIde}\n onChange={onChange}\n options={{\n readOnly: isReadOnly,\n cursorStyle: 'line',\n minimap: { enabled: false },\n scrollbar: {\n vertical: 'hidden',\n verticalScrollbarSize: 0,\n alwaysConsumeMouseWheel: false,\n },\n folding: false, // Disable code folding\n renderValidationDecorations: 'off', // Disable error/warning decorations\n quickSuggestions: false, // Disable IntelliSense\n parameterHints: { enabled: false }, // Disable parameter hints\n suggestOnTriggerCharacters: false, // Disable suggestions on typing\n\n mouseWheelScrollSensitivity: 0,\n fastScrollSensitivity: 0,\n scrollBeyondLastLine: false,\n lineNumbers: isShowLineNumbers ? 'on' : 'off',\n }}\n theme={theme}\n className=\"my-2 rounded-md\"\n />\n </div>\n </div>\n );\n};\n"],"names":["useRef","useState","useMemo","jsxs","cn","jsx","CopyButton","Editor","Loader"],"mappings":"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"}