@intlayer/design-system 9.0.0-canary.3 → 9.0.0-canary.6

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 (60) hide show
  1. package/dist/esm/api/hooks/utils.mjs +1 -1
  2. package/dist/esm/api/useAuth/useOAuth2.mjs +2 -2
  3. package/dist/esm/api/useAuth/useSession.mjs +2 -2
  4. package/dist/esm/components/Breadcrumb/index.mjs +1 -1
  5. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
  6. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +1 -1
  7. package/dist/esm/components/DictionaryEditor/NodeWrapper/BooleanWrapper.mjs +1 -1
  8. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -1
  9. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  10. package/dist/esm/components/DictionaryEditor/NodeWrapper/NumberWrapper.mjs +1 -1
  11. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +1 -1
  12. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  13. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +1 -1
  14. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -1
  15. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
  16. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  17. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs +1 -1
  18. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
  19. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
  20. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs +1 -1
  21. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
  22. package/dist/esm/components/Form/elements/OTPElement.mjs +1 -1
  23. package/dist/esm/components/Input/OTPInput.mjs +1 -1
  24. package/dist/esm/components/Link/Link.mjs +1 -1
  25. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
  26. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +1 -1
  27. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  28. package/dist/esm/components/MarkdownEditor/generative/AISelector.mjs +1 -1
  29. package/dist/esm/components/Modal/Modal.mjs +3 -3
  30. package/dist/esm/components/Navbar/MobileNavbar.mjs +1 -1
  31. package/dist/esm/components/Pagination/Pagination.mjs +2 -2
  32. package/dist/esm/components/RightDrawer/RightDrawer.mjs +3 -3
  33. package/dist/esm/components/Tab/Tab.mjs +1 -1
  34. package/dist/esm/components/Toaster/Toast.mjs +2 -2
  35. package/dist/esm/components/index.mjs +3 -3
  36. package/dist/esm/hooks/index.mjs +8 -8
  37. package/dist/esm/providers/ReactQueryProvider.mjs +2 -2
  38. package/dist/esm/utils/cn.mjs +2 -8
  39. package/dist/types/components/Badge/index.d.ts +2 -2
  40. package/dist/types/components/Button/Button.d.ts +5 -5
  41. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -2
  42. package/dist/types/components/Command/index.d.ts +2 -2
  43. package/dist/types/components/Container/index.d.ts +2 -2
  44. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  45. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.d.ts +2 -2
  46. package/dist/types/components/Input/Checkbox.d.ts +1 -1
  47. package/dist/types/components/Input/Radio.d.ts +1 -1
  48. package/dist/types/components/Link/Link.d.ts +3 -3
  49. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts.map +1 -1
  50. package/dist/types/components/Pagination/Pagination.d.ts +2 -2
  51. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts +2 -2
  52. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts +1 -1
  53. package/dist/types/components/Tab/Tab.d.ts +1 -1
  54. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  55. package/dist/types/components/Tag/index.d.ts +1 -1
  56. package/dist/types/components/Toaster/Toast.d.ts +1 -1
  57. package/dist/types/utils/cn.d.ts +2 -7
  58. package/package.json +25 -26
  59. package/dist/esm/utils/cn.mjs.map +0 -1
  60. package/dist/types/utils/cn.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import { useAuth } from "../useAuth/useAuth.mjs";
4
- import { useConfiguration } from "@intlayer/editor-react";
5
4
  import { useQuery } from "@tanstack/react-query";
5
+ import { useConfiguration } from "@intlayer/editor-react";
6
6
 
7
7
  //#region src/api/hooks/utils.ts
8
8
  const useAuthEnable = ({ requireUser, requireProject, requireOrganization }) => {
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
+ import { useQuery } from "@tanstack/react-query";
4
+ import { editor } from "@intlayer/config/built";
3
5
  import { getOAuthAPI } from "@intlayer/api";
4
6
  import { useConfiguration } from "@intlayer/editor-react";
5
- import { editor } from "@intlayer/config/built";
6
- import { useQuery } from "@tanstack/react-query";
7
7
  import { defu } from "defu";
8
8
 
9
9
  //#region src/api/useAuth/useOAuth2.ts
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { getAuthAPI } from "../../libs/auth.mjs";
4
- import { useConfiguration } from "@intlayer/editor-react";
5
- import { editor } from "@intlayer/config/built";
6
4
  import { useQuery, useQueryClient } from "@tanstack/react-query";
5
+ import { editor } from "@intlayer/config/built";
6
+ import { useConfiguration } from "@intlayer/editor-react";
7
7
 
8
8
  //#region src/api/useAuth/useSession.ts
9
9
  const useSession = (sessionProp, intlayerConfiguration) => {
@@ -4,8 +4,8 @@ import { cn } from "../../utils/cn.mjs";
4
4
  import { Button } from "../Button/Button.mjs";
5
5
  import { Link } from "../Link/Link.mjs";
6
6
  import { Fragment, createElement } from "react";
7
- import { ChevronRightIcon } from "lucide-react";
8
7
  import { cva } from "class-variance-authority";
8
+ import { ChevronRightIcon } from "lucide-react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
10
  import { getIntlayer } from "intlayer";
11
11
  import { useIntlayer } from "react-intlayer";
@@ -3,8 +3,8 @@
3
3
  import { cn } from "../../utils/cn.mjs";
4
4
  import { MaxHeightSmoother } from "../MaxHeightSmoother/index.mjs";
5
5
  import { useState } from "react";
6
- import { ChevronRight } from "lucide-react";
7
6
  import { cva } from "class-variance-authority";
7
+ import { ChevronRight } from "lucide-react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/components/CollapsibleTable/CollapsibleTable.tsx
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { NodeWrapper } from "./NodeWrapper/index.mjs";
4
- import { useEditedContent, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
5
4
  import { createElement } from "react";
6
5
  import { jsx } from "react/jsx-runtime";
6
+ import { useEditedContent, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
7
7
 
8
8
  //#region src/components/DictionaryEditor/DictionaryEditor.tsx
9
9
  const DictionaryEditor = ({ dictionary, ...props }) => {
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { cn } from "../../../utils/cn.mjs";
4
4
  import { SwitchSelector } from "../../SwitchSelector/SwitchSelector.mjs";
5
- import { useEditorLocale } from "@intlayer/editor-react";
6
5
  import { Fragment, jsx } from "react/jsx-runtime";
6
+ import { useEditorLocale } from "@intlayer/editor-react";
7
7
  import { getContentNodeByKeyPath } from "@intlayer/core/dictionaryManipulator";
8
8
 
9
9
  //#region src/components/DictionaryEditor/NodeWrapper/BooleanWrapper.tsx
@@ -1,6 +1,6 @@
1
1
  import { StringWrapper } from "./StringWrapper.mjs";
2
- import { useEditedContent } from "@intlayer/editor-react";
3
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEditedContent } from "@intlayer/editor-react";
4
4
  import { getContentNodeByKeyPath } from "@intlayer/core/dictionaryManipulator";
5
5
  import * as NodeTypes from "@intlayer/types/nodeType";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownWrapper.mjs","names":[],"sources":["../../../../../src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx"],"sourcesContent":["import type { MarkdownContent } from '@intlayer/core/transpiler';\nimport type { ContentNode } from '@intlayer/types/dictionary';\nimport type { KeyPath } from '@intlayer/types/keyPath';\n\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype MarkdownWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: MarkdownContent<ContentNode>;\n};\n\nexport const MarkdownWrapper: FC<MarkdownWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeTypes.MARKDOWN,\n },\n ];\n\n const subSection = section[NodeTypes.MARKDOWN] as ContentNode;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />\n </div>\n );\n};\n"],"mappings":";;;;;AAYA,MAAa,mBAA6C,UAAU;CAClE,MAAM,EAAE,SAAS,YAAY;CAE7B,MAAM,aAAwB,CAC5B,GAAG,SACH,EACE,MAAM,UAAU,UACjB,CACF;CAED,MAAM,aAAa,QAAQ,UAAU;AAErC,QACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,aAAD;GAAa,GAAI;GAAO,SAAS;GAAY,SAAS;GAAc;EAChE"}
1
+ {"version":3,"file":"MarkdownWrapper.mjs","names":[],"sources":["../../../../../src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx"],"sourcesContent":["import type { MarkdownContent } from '@intlayer/core/transpiler';\nimport type { ContentNode } from '@intlayer/types/dictionary';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport * as NodeTypes from '@intlayer/types/nodeType';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype MarkdownWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: MarkdownContent<ContentNode>;\n};\n\nexport const MarkdownWrapper: FC<MarkdownWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeTypes.MARKDOWN,\n },\n ];\n\n const subSection = section[NodeTypes.MARKDOWN] as ContentNode;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />\n </div>\n );\n};\n"],"mappings":";;;;;AAWA,MAAa,mBAA6C,UAAU;CAClE,MAAM,EAAE,SAAS,YAAY;CAE7B,MAAM,aAAwB,CAC5B,GAAG,SACH,EACE,MAAM,UAAU,UACjB,CACF;CAED,MAAM,aAAa,QAAQ,UAAU;AAErC,QACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,aAAD;GAAa,GAAI;GAAO,SAAS;GAAY,SAAS;GAAc;EAChE"}
@@ -1,7 +1,7 @@
1
1
  import { cn } from "../../../utils/cn.mjs";
2
2
  import { EditableFieldInput } from "../../EditableField/EditableFieldInput.mjs";
3
- import { useEditorLocale } from "@intlayer/editor-react";
4
3
  import { Fragment, jsx } from "react/jsx-runtime";
4
+ import { useEditorLocale } from "@intlayer/editor-react";
5
5
  import { getContentNodeByKeyPath } from "@intlayer/core/dictionaryManipulator";
6
6
 
7
7
  //#region src/components/DictionaryEditor/NodeWrapper/NumberWrapper.tsx
@@ -1,7 +1,7 @@
1
1
  import { cn } from "../../../utils/cn.mjs";
2
2
  import { EditableFieldTextArea } from "../../EditableField/EditableFieldTextArea.mjs";
3
- import { useEditorLocale } from "@intlayer/editor-react";
4
3
  import { Fragment, jsx } from "react/jsx-runtime";
4
+ import { useEditorLocale } from "@intlayer/editor-react";
5
5
  import { getContentNodeByKeyPath } from "@intlayer/core/dictionaryManipulator";
6
6
 
7
7
  //#region src/components/DictionaryEditor/NodeWrapper/StringWrapper.tsx
@@ -13,9 +13,9 @@ import { NestedObjectWrapper } from "./NestedObjectWrapper.mjs";
13
13
  import { NumberWrapper } from "./NumberWrapper.mjs";
14
14
  import { PluralWrapper } from "./PluralWrapper.mjs";
15
15
  import { TranslationWrapper } from "./TranslationWrapper.mjs";
16
- import { useEditorLocale } from "@intlayer/editor-react";
17
16
  import { memo, useMemo } from "react";
18
17
  import { jsx } from "react/jsx-runtime";
18
+ import { useEditorLocale } from "@intlayer/editor-react";
19
19
  import { getContentNodeByKeyPath, getNodeType } from "@intlayer/core/dictionaryManipulator";
20
20
  import * as NodeTypes from "@intlayer/types/nodeType";
21
21
 
@@ -8,9 +8,9 @@ import { TextEditorContainer } from "./ContentEditorView/TextEditor.mjs";
8
8
  import { getIsEditableSection } from "./getIsEditableSection.mjs";
9
9
  import { KeyPathBreadcrumb } from "./KeyPathBreadcrumb.mjs";
10
10
  import { NavigationViewNode } from "./NavigationView/NavigationViewNode.mjs";
11
- import { useEditedContent, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
12
11
  import { useCallback, useDeferredValue, useEffect, useMemo, useState, useTransition } from "react";
13
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
+ import { useEditedContent, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
14
14
  import { useIntlayer } from "react-intlayer";
15
15
  import { getContentNodeByKeyPath } from "@intlayer/core/dictionaryManipulator";
16
16
 
@@ -13,10 +13,10 @@ import { renameKey } from "./object.mjs";
13
13
  import { Label } from "../../Label/index.mjs";
14
14
  import { EnumKeyInput } from "../EnumKeyInput.mjs";
15
15
  import { SafeHtmlRenderer } from "./SafeHtmlRenderer.mjs";
16
- import { useConfiguration, useEditedContent } from "@intlayer/editor-react";
17
16
  import { Fragment, Suspense, lazy, memo, useState } from "react";
18
17
  import { Plus, Trash, WandSparkles } from "lucide-react";
19
18
  import { jsx, jsxs } from "react/jsx-runtime";
19
+ import { useConfiguration, useEditedContent } from "@intlayer/editor-react";
20
20
  import { useIntlayer, useLocale } from "react-intlayer";
21
21
  import { getLocaleName } from "@intlayer/core/localization";
22
22
  import { getEmptyNode, getNodeType } from "@intlayer/core/dictionaryManipulator";
@@ -28,10 +28,10 @@ import { useForm as useForm$1 } from "../../Form/FormBase.mjs";
28
28
  import { Form } from "../../Form/Form.mjs";
29
29
  import { MonacoCode } from "../../IDE/MonacoCode.mjs";
30
30
  import { useDictionaryDetailsSchema } from "./useDictionaryDetailsSchema.mjs";
31
- import { useEditedContent } from "@intlayer/editor-react";
32
31
  import { useEffect, useMemo, useState } from "react";
33
32
  import { WandSparkles } from "lucide-react";
34
33
  import { jsx, jsxs } from "react/jsx-runtime";
34
+ import { useEditedContent } from "@intlayer/editor-react";
35
35
  import { useIntlayer } from "react-intlayer";
36
36
  import { useWatch } from "react-hook-form";
37
37
  import { AnimatePresence, motion } from "framer-motion";
@@ -10,10 +10,10 @@ import { DictionaryDetailsForm } from "./DictionaryDetails/DictionaryDetailsForm
10
10
  import { JSONEditor } from "./JSONEditor.mjs";
11
11
  import { SaveForm } from "./SaveForm/SaveForm.mjs";
12
12
  import { StructureEditor } from "./StructureEditor.mjs";
13
- import { useConfiguration, useDictionariesRecordActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
14
13
  import { useEffect, useState } from "react";
15
14
  import { ArrowLeft } from "lucide-react";
16
15
  import { jsx, jsxs } from "react/jsx-runtime";
16
+ import { useConfiguration, useDictionariesRecordActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
17
17
  import { useIntlayer } from "react-intlayer";
18
18
 
19
19
  //#region src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx
@@ -1,6 +1,6 @@
1
1
  import { MonacoCode } from "../IDE/MonacoCode.mjs";
2
- import { useEditedContent } from "@intlayer/editor-react";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import { useEditedContent } from "@intlayer/editor-react";
4
4
 
5
5
  //#region src/components/DictionaryFieldEditor/JSONEditor.tsx
6
6
  const JSONEditor = ({ dictionary, isDarkMode }) => {
@@ -2,10 +2,10 @@ import { Button } from "../../Button/Button.mjs";
2
2
  import { Accordion } from "../../Accordion/Accordion.mjs";
3
3
  import { useLocaleSwitcherContent } from "../../LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs";
4
4
  import { getIsEditableSection } from "../getIsEditableSection.mjs";
5
- import { useEditedContentActions, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
6
5
  import { useState } from "react";
7
6
  import { ChevronRight, Plus } from "lucide-react";
8
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { useEditedContentActions, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
9
9
  import { useIntlayer } from "react-intlayer";
10
10
  import { getContentNodeByKeyPath, getEmptyNode, getNodeType } from "@intlayer/core/dictionaryManipulator";
11
11
  import * as NodeTypes from "@intlayer/types/nodeType";
@@ -7,10 +7,10 @@ import { useDeleteDictionary, usePushDictionaries } from "../../../api/hooks/dic
7
7
  import { useWriteDictionary } from "../../../api/hooks/editor.mjs";
8
8
  import { Button } from "../../Button/Button.mjs";
9
9
  import { Modal } from "../../Modal/Modal.mjs";
10
- import { useDictionariesRecordActions, useEditedContent } from "@intlayer/editor-react";
11
10
  import { useState } from "react";
12
11
  import { ArrowUpFromLine, Download, RotateCcw, Save, Trash } from "lucide-react";
13
12
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
+ import { useDictionariesRecordActions, useEditedContent } from "@intlayer/editor-react";
14
14
  import { useIntlayer } from "react-intlayer";
15
15
 
16
16
  //#region src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import { NodeView } from "./StructureView/StructureView.mjs";
4
- import { useEditedContent } from "@intlayer/editor-react";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import { useEditedContent } from "@intlayer/editor-react";
6
6
 
7
7
  //#region src/components/DictionaryFieldEditor/StructureEditor.tsx
8
8
  const StructureEditor = ({ dictionary }) => {
@@ -4,9 +4,9 @@ import { Button } from "../../Button/Button.mjs";
4
4
  import { Container } from "../../Container/index.mjs";
5
5
  import { EditableFieldInput } from "../../EditableField/EditableFieldInput.mjs";
6
6
  import { NodeTypeSelector } from "../NodeTypeSelector.mjs";
7
- import { useConfiguration, useEditedContentActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
8
7
  import { Plus, Trash } from "lucide-react";
9
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { useConfiguration, useEditedContentActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
10
10
  import { useIntlayer } from "react-intlayer";
11
11
  import { getDefaultNode, getNodeChildren, getNodeType } from "@intlayer/core/dictionaryManipulator";
12
12
  import * as NodeTypes from "@intlayer/types/nodeType";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import { useItemSelector } from "../../../hooks/useItemSelector.mjs";
4
3
  import { InputIndicator, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "../../Input/OTPInput.mjs";
4
+ import { useItemSelector } from "../../../hooks/useItemSelector.mjs";
5
5
  import { FormField, useFormField } from "../FormField.mjs";
6
6
  import { FormItemLayout } from "../layout/FormItemLayout.mjs";
7
7
  import { useEffect, useRef } from "react";
@@ -3,8 +3,8 @@
3
3
  import { cn } from "../../utils/cn.mjs";
4
4
  import { Button } from "../Button/Button.mjs";
5
5
  import { createContext, useContext, useEffect, useRef, useState } from "react";
6
- import { MinusIcon } from "lucide-react";
7
6
  import { cva } from "class-variance-authority";
7
+ import { MinusIcon } from "lucide-react";
8
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/components/Input/OTPInput.tsx
@@ -1,7 +1,7 @@
1
1
  import { cn } from "../../utils/cn.mjs";
2
2
  import { isValidElement } from "react";
3
- import { ExternalLink, MoveRight } from "lucide-react";
4
3
  import { cva } from "class-variance-authority";
4
+ import { ExternalLink, MoveRight } from "lucide-react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { getLocalizedUrl } from "@intlayer/core/localization";
7
7
 
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
- import { usePersistedStore } from "../../hooks/usePersistedStore.mjs";
4
3
  import { Button } from "../Button/Button.mjs";
5
4
  import { Container } from "../Container/index.mjs";
6
5
  import { DropDown } from "../DropDown/index.mjs";
7
6
  import { Input } from "../Input/Input.mjs";
8
7
  import { SwitchSelector } from "../SwitchSelector/SwitchSelector.mjs";
8
+ import { usePersistedStore } from "../../hooks/usePersistedStore.mjs";
9
9
  import { useLocaleSwitcherContent } from "./LocaleSwitcherContentContext.mjs";
10
10
  import { useMemo, useRef, useState } from "react";
11
11
  import { Check, Globe, MoveVertical } from "lucide-react";
@@ -50,7 +50,7 @@ const StrongRenderer = (props) => /* @__PURE__ */ jsx("strong", {
50
50
  const MemoizedCodeBlock = memo(({ className, children, isDarkMode, lang, ...rest }) => {
51
51
  const content = String(children ?? "").replace(/\n$/, "");
52
52
  if (!!!className) return /* @__PURE__ */ jsx("code", {
53
- className: "scale-80 rounded-md border border-neutral/30 bg-card/60 box-decoration-clone px-1.5 py-0.5 font-mono",
53
+ className: "inline-block scale-80 rounded-lg border border-neutral/30 bg-card/60 box-decoration-clone px-1.5 py-0.5 font-mono",
54
54
  children: content.replace(/&(?:amp;)?#(\d+);/g, (_, code) => String.fromCharCode(parseInt(code, 10)))
55
55
  });
56
56
  const language = className?.replace(/lang(?:uage)?-/, "") || "plaintext";
@@ -1 +1 @@
1
- {"version":3,"file":"MarkDownRender.mjs","names":[],"sources":["../../../../src/components/MarkDownRender/MarkDownRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport { cn } from '@utils/cn';\nimport type { ComponentProps, ComponentPropsWithoutRef, FC } from 'react';\nimport { memo } from 'react';\nimport {\n type MarkdownRenderer as MarkdownRendererIntlayer,\n type ParsedMarkdown,\n renderMarkdown,\n} from 'react-intlayer/markdown';\n\nexport type { ParsedMarkdown };\n\nimport type { BundledLanguage } from 'shiki/bundle/web';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\nimport { Tab } from '../Tab';\nimport { TabProvider } from '../Tab/TabContext';\nimport { Hr, SmartTable, Td, Th, Tr } from '../Table';\nimport { MarkDownIframe } from './MarkDownIframe';\n\n// Extracted, stable component renderers\nconst H1Renderer = (props: ComponentProps<'h1'>) => (\n <H1 isClickable className=\"mb-16 mb-8 text-text\" {...props} />\n);\nconst H2Renderer = (props: ComponentProps<'h2'>) => (\n <H2 isClickable className=\"mt-16 text-text\" {...props} />\n);\nconst H3Renderer = (props: ComponentProps<'h3'>) => (\n <H3 isClickable className=\"mt-5 text-text\" {...props} />\n);\nconst H4Renderer = (props: ComponentProps<'h4'>) => (\n <H4 isClickable className=\"mt-3 text-text\" {...props} />\n);\nconst H5Renderer = (props: ComponentProps<'h5'>) => (\n <H5 isClickable className=\"mt-3 text-text\" {...props} />\n);\nconst H6Renderer = (props: ComponentProps<'h6'>) => (\n <H6 isClickable className=\"mt-3 text-text\" {...props} />\n);\nconst StrongRenderer = (props: ComponentProps<'strong'>) => (\n <strong className=\"text-text\" {...props} />\n);\n\nconst MemoizedCodeBlock = memo(\n ({\n className,\n children,\n isDarkMode,\n lang, // Destructure html lang prop to prevent passing invalid BCP-47 language tag to Code component\n ...rest\n }: ComponentProps<'code'> & { isDarkMode?: boolean }) => {\n const content = String(children ?? '').replace(/\\n$/, '');\n const isBlock = !!className;\n\n if (!isBlock) {\n const decodedContent = content.replace(\n /&(?:amp;)?#(\\d+);/g,\n (_, code: string) => String.fromCharCode(parseInt(code, 10))\n );\n return (\n <code className=\"scale-80 rounded-md border border-neutral/30 bg-card/60 box-decoration-clone px-1.5 py-0.5 font-mono\">\n {decodedContent}\n </code>\n );\n }\n\n const language = (className?.replace(/lang(?:uage)?-/, '') ||\n 'plaintext') as BundledLanguage;\n\n return (\n <Code {...rest} language={language} showHeader isDarkMode={isDarkMode}>\n {content}\n </Code>\n );\n },\n (prevProps, nextProps) =>\n prevProps.children === nextProps.children &&\n prevProps.className === nextProps.className &&\n prevProps.isDarkMode === nextProps.isDarkMode\n);\n\nconst createCodeRenderer = (isDarkMode?: boolean) => {\n return function CodeWrapper(props: ComponentProps<'code'>) {\n return <MemoizedCodeBlock {...props} isDarkMode={isDarkMode} />;\n };\n};\n\nconst BlockquoteRenderer = ({\n className,\n ...props\n}: ComponentProps<'blockquote'>) => (\n <blockquote\n className={cn(\n 'mt-5 gap-3 border-card border-l-4 pl-5 text-neutral [&_strong]:text-neutral',\n className\n )}\n {...props}\n />\n);\n\nconst UlRenderer = ({ className, ...props }: ComponentProps<'ul'>) => (\n <ul\n className={cn(\n 'mt-5 flex list-disc flex-col gap-3 pl-5 marker:text-neutral/80',\n className\n )}\n {...props}\n />\n);\n\nconst OlRenderer = ({ className, ...props }: ComponentProps<'ol'>) => (\n <ol\n className={cn(\n 'mt-5 flex list-decimal flex-col gap-3 pl-5 marker:text-neutral/80',\n className\n )}\n {...props}\n />\n);\n\nconst ImgRenderer = ({\n className,\n alt,\n src,\n ...props\n}: ComponentProps<'img'>) => (\n <img\n {...props}\n alt={alt ?? ''}\n loading=\"lazy\"\n className={cn('max-h-[80vh] max-w-full rounded-md', className)}\n src={\n src?.includes('github.com')\n ? src\n ?.replace('github.com', 'raw.githubusercontent.com')\n .replace('/blob/', '/') // GitHub raw URLs do not use /blob/\n : src\n }\n />\n);\n\nconst createLinkRenderer = (locale?: LocalesValues) => {\n return (props: ComponentProps<'a'>) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined\n locale={locale}\n label=\"\"\n color=\"text\"\n {...(props as any)}\n />\n );\n};\n\nconst PreRenderer = (props: ComponentProps<'pre'>) => <>{props.children}</>;\nconst TableRenderer = (props: ComponentProps<typeof SmartTable>) => (\n <SmartTable isRollable displayModal {...props} />\n);\n\nconst TabsRenderer = (props: ComponentProps<typeof Tab>) => (\n <Tab\n {...props}\n className=\"rounded-xl border border-card\"\n headerClassName=\"sticky rounded-xl top-24 z-5 bg-background/70 backdrop-blur overflow-x-auto\"\n />\n);\nconst ColumnsRenderer = ({\n className,\n ...props\n}: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex gap-4 max-md:flex-col', className)} {...props} />\n);\nconst ColumnRenderer = ({\n className,\n ...props\n}: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex-1', className)} {...props} />\n);\n\nconst Iframe = (props: ComponentProps<'iframe'>) => (\n <MarkDownIframe {...props} />\n);\n\n// Static configuration object for static renderers\nconst staticMarkdownComponents = {\n h1: H1Renderer,\n h2: H2Renderer,\n h3: H3Renderer,\n h4: H4Renderer,\n h5: H5Renderer,\n h6: H6Renderer,\n strong: StrongRenderer,\n blockquote: BlockquoteRenderer,\n ul: UlRenderer,\n ol: OlRenderer,\n img: ImgRenderer,\n pre: PreRenderer,\n table: TableRenderer,\n th: Th,\n tr: Tr,\n td: Td,\n hr: Hr,\n Tabs: TabsRenderer,\n Tab: Tab.Item,\n Columns: ColumnsRenderer,\n Column: ColumnRenderer,\n iframe: Iframe,\n};\n\n// Factory function to create components with dynamic props\nconst createMarkdownComponents = (\n isDarkMode?: boolean,\n locale?: LocalesValues\n) => ({\n ...staticMarkdownComponents,\n code: createCodeRenderer(isDarkMode),\n a: createLinkRenderer(locale),\n});\n\n// Export static renderers for backward compatibility\nexport const baseMarkdownComponents = staticMarkdownComponents;\n\ntype MarkdownRendererProps = {\n children: string | ParsedMarkdown;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n forceBlock?: boolean;\n preserveFrontmatter?: boolean;\n tagfilter?: boolean;\n components?: ComponentProps<typeof MarkdownRendererIntlayer>['components'];\n wrapper?: ComponentProps<typeof MarkdownRendererIntlayer>['wrapper'];\n};\n\nexport const getIntlayerMarkdownOptions = (_isDarkMode?: boolean) => ({\n components: baseMarkdownComponents,\n});\n\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode = false,\n locale,\n forceBlock,\n preserveFrontmatter,\n tagfilter,\n components: componentsProp,\n wrapper,\n}) => {\n const markdownComponents = createMarkdownComponents(isDarkMode, locale);\n\n const markdownContent = renderMarkdown(children, {\n components: {\n ...markdownComponents,\n ...componentsProp,\n },\n wrapper,\n forceBlock,\n preserveFrontmatter,\n tagfilter,\n });\n\n return (\n <CodeProvider>\n <TabProvider>{markdownContent}</TabProvider>\n </CodeProvider>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"MarkDownRender.mjs","names":[],"sources":["../../../../src/components/MarkDownRender/MarkDownRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport { cn } from '@utils/cn';\nimport type { ComponentProps, ComponentPropsWithoutRef, FC } from 'react';\nimport { memo } from 'react';\nimport {\n type MarkdownRenderer as MarkdownRendererIntlayer,\n type ParsedMarkdown,\n renderMarkdown,\n} from 'react-intlayer/markdown';\nimport type { BundledLanguage } from 'shiki/bundle/web';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\nimport { Tab } from '../Tab';\nimport { TabProvider } from '../Tab/TabContext';\nimport { Hr, SmartTable, Td, Th, Tr } from '../Table';\nimport { MarkDownIframe } from './MarkDownIframe';\n\nexport type { ParsedMarkdown };\n\n// Extracted, stable component renderers\nconst H1Renderer = (props: ComponentProps<'h1'>) => (\n <H1 isClickable className=\"mb-16 mb-8 text-text\" {...props} />\n);\nconst H2Renderer = (props: ComponentProps<'h2'>) => (\n <H2 isClickable className=\"mt-16 text-text\" {...props} />\n);\nconst H3Renderer = (props: ComponentProps<'h3'>) => (\n <H3 isClickable className=\"mt-5 text-text\" {...props} />\n);\nconst H4Renderer = (props: ComponentProps<'h4'>) => (\n <H4 isClickable className=\"mt-3 text-text\" {...props} />\n);\nconst H5Renderer = (props: ComponentProps<'h5'>) => (\n <H5 isClickable className=\"mt-3 text-text\" {...props} />\n);\nconst H6Renderer = (props: ComponentProps<'h6'>) => (\n <H6 isClickable className=\"mt-3 text-text\" {...props} />\n);\nconst StrongRenderer = (props: ComponentProps<'strong'>) => (\n <strong className=\"text-text\" {...props} />\n);\n\nconst MemoizedCodeBlock = memo(\n ({\n className,\n children,\n isDarkMode,\n lang, // Destructure html lang prop to prevent passing invalid BCP-47 language tag to Code component\n ...rest\n }: ComponentProps<'code'> & { isDarkMode?: boolean }) => {\n const content = String(children ?? '').replace(/\\n$/, '');\n const isBlock = !!className;\n\n if (!isBlock) {\n const decodedContent = content.replace(\n /&(?:amp;)?#(\\d+);/g,\n (_, code: string) => String.fromCharCode(parseInt(code, 10))\n );\n return (\n <code className=\"inline-block scale-80 rounded-lg border border-neutral/30 bg-card/60 box-decoration-clone px-1.5 py-0.5 font-mono\">\n {decodedContent}\n </code>\n );\n }\n\n const language = (className?.replace(/lang(?:uage)?-/, '') ||\n 'plaintext') as BundledLanguage;\n\n return (\n <Code {...rest} language={language} showHeader isDarkMode={isDarkMode}>\n {content}\n </Code>\n );\n },\n (prevProps, nextProps) =>\n prevProps.children === nextProps.children &&\n prevProps.className === nextProps.className &&\n prevProps.isDarkMode === nextProps.isDarkMode\n);\n\nconst createCodeRenderer = (isDarkMode?: boolean) => {\n return function CodeWrapper(props: ComponentProps<'code'>) {\n return <MemoizedCodeBlock {...props} isDarkMode={isDarkMode} />;\n };\n};\n\nconst BlockquoteRenderer = ({\n className,\n ...props\n}: ComponentProps<'blockquote'>) => (\n <blockquote\n className={cn(\n 'mt-5 gap-3 border-card border-l-4 pl-5 text-neutral [&_strong]:text-neutral',\n className\n )}\n {...props}\n />\n);\n\nconst UlRenderer = ({ className, ...props }: ComponentProps<'ul'>) => (\n <ul\n className={cn(\n 'mt-5 flex list-disc flex-col gap-3 pl-5 marker:text-neutral/80',\n className\n )}\n {...props}\n />\n);\n\nconst OlRenderer = ({ className, ...props }: ComponentProps<'ol'>) => (\n <ol\n className={cn(\n 'mt-5 flex list-decimal flex-col gap-3 pl-5 marker:text-neutral/80',\n className\n )}\n {...props}\n />\n);\n\nconst ImgRenderer = ({\n className,\n alt,\n src,\n ...props\n}: ComponentProps<'img'>) => (\n <img\n {...props}\n alt={alt ?? ''}\n loading=\"lazy\"\n className={cn('max-h-[80vh] max-w-full rounded-md', className)}\n src={\n src?.includes('github.com')\n ? src\n ?.replace('github.com', 'raw.githubusercontent.com')\n .replace('/blob/', '/') // GitHub raw URLs do not use /blob/\n : src\n }\n />\n);\n\nconst createLinkRenderer = (locale?: LocalesValues) => {\n return (props: ComponentProps<'a'>) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined\n locale={locale}\n label=\"\"\n color=\"text\"\n {...(props as any)}\n />\n );\n};\n\nconst PreRenderer = (props: ComponentProps<'pre'>) => <>{props.children}</>;\nconst TableRenderer = (props: ComponentProps<typeof SmartTable>) => (\n <SmartTable isRollable displayModal {...props} />\n);\n\nconst TabsRenderer = (props: ComponentProps<typeof Tab>) => (\n <Tab\n {...props}\n className=\"rounded-xl border border-card\"\n headerClassName=\"sticky rounded-xl top-24 z-5 bg-background/70 backdrop-blur overflow-x-auto\"\n />\n);\nconst ColumnsRenderer = ({\n className,\n ...props\n}: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex gap-4 max-md:flex-col', className)} {...props} />\n);\nconst ColumnRenderer = ({\n className,\n ...props\n}: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex-1', className)} {...props} />\n);\n\nconst Iframe = (props: ComponentProps<'iframe'>) => (\n <MarkDownIframe {...props} />\n);\n\n// Static configuration object for static renderers\nconst staticMarkdownComponents = {\n h1: H1Renderer,\n h2: H2Renderer,\n h3: H3Renderer,\n h4: H4Renderer,\n h5: H5Renderer,\n h6: H6Renderer,\n strong: StrongRenderer,\n blockquote: BlockquoteRenderer,\n ul: UlRenderer,\n ol: OlRenderer,\n img: ImgRenderer,\n pre: PreRenderer,\n table: TableRenderer,\n th: Th,\n tr: Tr,\n td: Td,\n hr: Hr,\n Tabs: TabsRenderer,\n Tab: Tab.Item,\n Columns: ColumnsRenderer,\n Column: ColumnRenderer,\n iframe: Iframe,\n};\n\n// Factory function to create components with dynamic props\nconst createMarkdownComponents = (\n isDarkMode?: boolean,\n locale?: LocalesValues\n) => ({\n ...staticMarkdownComponents,\n code: createCodeRenderer(isDarkMode),\n a: createLinkRenderer(locale),\n});\n\n// Export static renderers for backward compatibility\nexport const baseMarkdownComponents = staticMarkdownComponents;\n\ntype MarkdownRendererProps = {\n children: string | ParsedMarkdown;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n forceBlock?: boolean;\n preserveFrontmatter?: boolean;\n tagfilter?: boolean;\n components?: ComponentProps<typeof MarkdownRendererIntlayer>['components'];\n wrapper?: ComponentProps<typeof MarkdownRendererIntlayer>['wrapper'];\n};\n\nexport const getIntlayerMarkdownOptions = (_isDarkMode?: boolean) => ({\n components: baseMarkdownComponents,\n});\n\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode = false,\n locale,\n forceBlock,\n preserveFrontmatter,\n tagfilter,\n components: componentsProp,\n wrapper,\n}) => {\n const markdownComponents = createMarkdownComponents(isDarkMode, locale);\n\n const markdownContent = renderMarkdown(children, {\n components: {\n ...markdownComponents,\n ...componentsProp,\n },\n wrapper,\n forceBlock,\n preserveFrontmatter,\n tagfilter,\n });\n\n return (\n <CodeProvider>\n <TabProvider>{markdownContent}</TabProvider>\n </CodeProvider>\n );\n};\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
 
3
+ import { toast } from "../../Toaster/useToast.mjs";
3
4
  import { Loader } from "../../Loader/index.mjs";
4
5
  import { Button } from "../../Button/Button.mjs";
5
6
  import { Command, CommandRoot } from "../../Command/index.mjs";
6
7
  import { MarkdownRenderer as MarkdownRenderer$1 } from "../../MarkDownRender/MarkDownRender.mjs";
7
8
  import { useEditor } from "../novel/components/index.mjs";
8
9
  import { addAIHighlight } from "../novel/extensions/ai-highlight.mjs";
9
- import { toast } from "../../Toaster/useToast.mjs";
10
10
  import { AICompletionCommands } from "./AICompletionCommands.mjs";
11
11
  import { AISelectorCommands } from "./AISelectorCommands.mjs";
12
12
  import { useAICompletion } from "./useAICompletion.mjs";
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from "../../utils/cn.mjs";
4
- import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
5
- import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
6
4
  import { Button } from "../Button/Button.mjs";
7
5
  import { Container } from "../Container/index.mjs";
6
+ import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
7
+ import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
8
8
  import { H3 } from "../Headers/index.mjs";
9
9
  import { useEffect } from "react";
10
- import { X } from "lucide-react";
11
10
  import { cva } from "class-variance-authority";
11
+ import { X } from "lucide-react";
12
12
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
13
  import { motion } from "framer-motion";
14
14
  import { createPortal } from "react-dom";
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from "../../utils/cn.mjs";
4
+ import { MaxHeightSmoother } from "../MaxHeightSmoother/index.mjs";
4
5
  import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
5
6
  import { useScrollDetection } from "../../hooks/useScrollDetection.mjs";
6
- import { MaxHeightSmoother } from "../MaxHeightSmoother/index.mjs";
7
7
  import { Burger } from "./Burger.mjs";
8
8
  import { useRef, useState } from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from "../../utils/cn.mjs";
4
- import { useItemSelector } from "../../hooks/useItemSelector.mjs";
5
4
  import { Button } from "../Button/Button.mjs";
5
+ import { useItemSelector } from "../../hooks/useItemSelector.mjs";
6
6
  import { useEffect, useRef } from "react";
7
- import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react";
8
7
  import { cva } from "class-variance-authority";
8
+ import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  import { useIntlayer } from "react-intlayer";
11
11
 
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
 
3
- import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
4
- import { useDevice } from "../../hooks/useDevice.mjs";
5
- import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
6
3
  import { Button } from "../Button/Button.mjs";
7
4
  import { Container } from "../Container/index.mjs";
5
+ import { useDevice } from "../../hooks/useDevice.mjs";
8
6
  import { KeyboardShortcut } from "../KeyboardShortcut/KeyboardShortcut.mjs";
9
7
  import { Popover } from "../Popover/dynamic.mjs";
8
+ import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
9
+ import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
10
10
  import { MaxWidthSmoother } from "../MaxWidthSmoother/index.mjs";
11
11
  import { isElementAtTopAndNotCovered } from "./isElementAtTopAndNotCovered.mjs";
12
12
  import { useRightDrawer } from "./useRightDrawer.mjs";
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from "../../utils/cn.mjs";
4
- import { useHorizontalSwipe } from "../../hooks/useHorizontalSwipe.mjs";
5
4
  import { TabSelector } from "../TabSelector/TabSelector.mjs";
5
+ import { useHorizontalSwipe } from "../../hooks/useHorizontalSwipe.mjs";
6
6
  import { useTabContext } from "./TabContext.mjs";
7
7
  import { Children, createContext, isValidElement, useState } from "react";
8
8
  import { cva } from "class-variance-authority";
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from "../../utils/cn.mjs";
4
- import { X } from "lucide-react";
4
+ import * as ToastPrimitives from "@radix-ui/react-toast";
5
5
  import { cva } from "class-variance-authority";
6
+ import { X } from "lucide-react";
6
7
  import { jsx } from "react/jsx-runtime";
7
- import * as ToastPrimitives from "@radix-ui/react-toast";
8
8
 
9
9
  //#region src/components/Toaster/Toast.tsx
10
10
  const ToastProvider = ToastPrimitives;
@@ -1,3 +1,6 @@
1
+ import { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, toastVariants } from "./Toaster/Toast.mjs";
2
+ import { reducer, toast, useToast } from "./Toaster/useToast.mjs";
3
+ import { Toaster } from "./Toaster/Toaster.mjs";
1
4
  import { Loader } from "./Loader/index.mjs";
2
5
  import { Button, buttonVariants } from "./Button/Button.mjs";
3
6
  import { MaxHeightSmoother } from "./MaxHeightSmoother/index.mjs";
@@ -118,9 +121,6 @@ import { SmartTable } from "./Table/SmartTable.mjs";
118
121
  import { Hr, Td, Th, Tr } from "./Table/TableElements.mjs";
119
122
  import { MarkdownRenderer, baseMarkdownComponents, getIntlayerMarkdownOptions } from "./MarkDownRender/MarkDownRender.mjs";
120
123
  import { createEditorUploadFn } from "./MarkdownEditor/imageUpload.mjs";
121
- import { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, toastVariants } from "./Toaster/Toast.mjs";
122
- import { reducer, toast, useToast } from "./Toaster/useToast.mjs";
123
- import { Toaster } from "./Toaster/Toaster.mjs";
124
124
  import { MarkdownEditor } from "./MarkdownEditor/MarkdownEditor.mjs";
125
125
  import { MaxWidthSmoother } from "./MaxWidthSmoother/index.mjs";
126
126
  import { DesktopNavbar } from "./Navbar/DesktopNavbar.mjs";
@@ -1,16 +1,16 @@
1
- import { useKeyboardDetector } from "./useKeyboardDetector.mjs";
2
- import { useGetElementOrWindow } from "./useGetElementOrWindow.mjs";
3
- import { useScrollY } from "./useScrollY.mjs";
4
- import { usePersistedStore } from "./usePersistedStore.mjs";
5
- import { useHorizontalSwipe } from "./useHorizontalSwipe.mjs";
6
- import { useItemSelector } from "./useItemSelector.mjs";
7
1
  import { calculateIsMobile, checkIsIOS, checkIsIphoneOrSafariDevice, checkIsMac, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useDevice } from "./useDevice.mjs";
8
- import { useSearch } from "./useSearch.mjs";
9
- import { useIsMounted } from "./useIsMounted.mjs";
2
+ import { useItemSelector } from "./useItemSelector.mjs";
3
+ import { usePersistedStore } from "./usePersistedStore.mjs";
10
4
  import { useGetElementById } from "./useGetElementById.mjs";
5
+ import { useGetElementOrWindow } from "./useGetElementOrWindow.mjs";
6
+ import { useHorizontalSwipe } from "./useHorizontalSwipe.mjs";
11
7
  import { useIsDarkMode } from "./useIsDarkMode.mjs";
8
+ import { useIsMounted } from "./useIsMounted.mjs";
9
+ import { useKeyboardDetector } from "./useKeyboardDetector.mjs";
12
10
  import { useScreenWidth } from "./useScreenWidth.mjs";
13
11
  import { useScrollBlockage } from "./useScrollBlockage/index.mjs";
14
12
  import { useScrollDetection } from "./useScrollDetection.mjs";
13
+ import { useScrollY } from "./useScrollY.mjs";
14
+ import { useSearch } from "./useSearch.mjs";
15
15
 
16
16
  export { calculateIsMobile, checkIsIOS, checkIsIphoneOrSafariDevice, checkIsMac, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useDevice, useGetElementById, useGetElementOrWindow, useHorizontalSwipe, useIsDarkMode, useIsMounted, useItemSelector, useKeyboardDetector, usePersistedStore, useScreenWidth, useScrollBlockage, useScrollDetection, useScrollY, useSearch };
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
3
  import { useToast } from "../components/Toaster/useToast.mjs";
4
+ import { createAsyncStoragePersister } from "@tanstack/query-async-storage-persister";
4
5
  import { MutationCache, QueryClient, QueryClientProvider, timeoutManager } from "@tanstack/react-query";
6
+ import { PersistQueryClientProvider } from "@tanstack/react-query-persist-client";
5
7
  import { useRef } from "react";
6
8
  import { jsx } from "react/jsx-runtime";
7
- import { createAsyncStoragePersister } from "@tanstack/query-async-storage-persister";
8
- import { PersistQueryClientProvider } from "@tanstack/react-query-persist-client";
9
9
 
10
10
  //#region src/providers/ReactQueryProvider.tsx
11
11
  const PERSIST_MAX_AGE = 1e3 * 60 * 60 * 24;
@@ -1,9 +1,3 @@
1
- import { clsx } from "clsx";
2
- import { twMerge } from "tailwind-merge";
1
+ import { cn } from "cnfast";
3
2
 
4
- //#region src/utils/cn.ts
5
- const cn = (...inputs) => twMerge(clsx(inputs));
6
-
7
- //#endregion
8
- export { cn };
9
- //# sourceMappingURL=cn.mjs.map
3
+ export { cn };
@@ -23,8 +23,8 @@ type BadgeSize = 'sm' | 'md' | 'lg';
23
23
  * @description Defines the styling variants for different badge combinations
24
24
  */
25
25
  declare const badgeVariants: (props?: {
26
- color?: "error" | "custom" | "primary" | "secondary" | "neutral" | "light" | "dark" | "text" | "success";
27
- variant?: "none" | "default" | "outline" | "hoverable";
26
+ color?: "error" | "success" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark" | "custom";
27
+ variant?: "default" | "none" | "hoverable" | "outline";
28
28
  size?: "sm" | "md" | "lg";
29
29
  } & _$class_variance_authority_types0.ClassProp) => string;
30
30
  /**
@@ -24,11 +24,11 @@ type ButtonTextAlign = 'left' | 'center' | 'right';
24
24
  * Enhanced button variants with improved accessibility and focus states
25
25
  */
26
26
  declare const buttonVariants: (props?: {
27
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl" | "custom";
28
- color?: "error" | "custom" | "primary" | "secondary" | "neutral" | "card" | "light" | "dark" | "text" | "current" | "text-inverse" | "success";
29
- roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "3xl" | "4xl" | "5xl" | "full";
30
- variant?: "none" | "default" | "outline" | "link" | "invisible-link" | "hoverable" | "fade" | "input";
31
- textAlign?: "left" | "center" | "right";
27
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "custom" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl";
28
+ color?: "error" | "success" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark" | "custom" | "card" | "text-inverse" | "current";
29
+ roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "full" | "3xl" | "4xl" | "5xl";
30
+ variant?: "default" | "input" | "none" | "hoverable" | "link" | "outline" | "invisible-link" | "fade";
31
+ textAlign?: "center" | "left" | "right";
32
32
  isFullWidth?: boolean;
33
33
  } & _$class_variance_authority_types0.ClassProp) => string;
34
34
  /**
@@ -5,8 +5,8 @@ import { VariantProps } from "class-variance-authority";
5
5
  //#region src/components/CollapsibleTable/CollapsibleTable.d.ts
6
6
  declare const collapsibleTableVariants: (props?: {
7
7
  size?: "sm" | "md" | "lg" | "xl" | "full";
8
- variant?: "dark" | "default" | "ghost" | "outlined";
9
- spacing?: "sm" | "md" | "lg" | "none" | "auto";
8
+ variant?: "default" | "dark" | "ghost" | "outlined";
9
+ spacing?: "auto" | "sm" | "md" | "lg" | "none";
10
10
  } & _$class_variance_authority_types0.ClassProp) => string;
11
11
  interface CollapsibleTableProps extends Omit<HTMLAttributes<HTMLElement>, 'title'>, VariantProps<typeof collapsibleTableVariants> {
12
12
  /** Table title displayed in the header */
@@ -28,7 +28,7 @@ declare const Command: {
28
28
  ref?: React.Ref<HTMLInputElement>;
29
29
  } & {
30
30
  asChild?: boolean;
31
- }, "key" | keyof _$react.InputHTMLAttributes<HTMLInputElement> | "asChild">, "type" | "value" | "onChange"> & {
31
+ }, "key" | keyof _$react.InputHTMLAttributes<HTMLInputElement> | "asChild">, "type" | "onChange" | "value"> & {
32
32
  value?: string;
33
33
  onValueChange?: (search: string) => void;
34
34
  } & _$react.RefAttributes<HTMLInputElement>>;
@@ -72,7 +72,7 @@ declare const Command: {
72
72
  ref?: React.Ref<HTMLDivElement>;
73
73
  } & {
74
74
  asChild?: boolean;
75
- }, "key" | keyof HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "onSelect" | "disabled"> & {
75
+ }, "key" | keyof HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
76
76
  disabled?: boolean;
77
77
  onSelect?: (value: string) => void;
78
78
  value?: string;
@@ -8,12 +8,12 @@ import { VariantProps } from "class-variance-authority";
8
8
  * Provides flexible styling options for background, padding, borders, and layout
9
9
  */
10
10
  declare const containerVariants: (props?: {
11
- roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "3xl" | "4xl" | "full";
11
+ roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "full" | "3xl" | "4xl";
12
12
  transparency?: "xs" | "sm" | "md" | "lg" | "xl" | "none" | "full";
13
13
  padding?: "sm" | "md" | "lg" | "xl" | "2xl" | "none";
14
14
  separator?: "both" | "without" | "x" | "y";
15
15
  border?: "with" | "none";
16
- borderColor?: "error" | "primary" | "secondary" | "neutral" | "card" | "text" | "success" | "warning";
16
+ borderColor?: "error" | "success" | "text" | "primary" | "secondary" | "neutral" | "warning" | "card";
17
17
  background?: "with" | "none" | "hoverable";
18
18
  gap?: "sm" | "md" | "lg" | "xl" | "2xl" | "none";
19
19
  } & _$class_variance_authority_types0.ClassProp) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownWrapper.d.ts","names":[],"sources":["../../../../../src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx"],"mappings":";;;;;;KAQK,oBAAA,GAAuB,IAAA,CAAK,gBAAA;EAC/B,OAAA,EAAS,eAAA,CAAgB,WAAA;AAAA;AAAA,cAGd,eAAA,EAAiB,EAAA,CAAG,oBAAA"}
1
+ {"version":3,"file":"MarkdownWrapper.d.ts","names":[],"sources":["../../../../../src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx"],"mappings":";;;;;;KAOK,oBAAA,GAAuB,IAAA,CAAK,gBAAA;EAC/B,OAAA,EAAS,eAAA,CAAgB,WAAA;AAAA;AAAA,cAGd,eAAA,EAAiB,EAAA,CAAG,oBAAA"}
@@ -7,10 +7,10 @@ declare const useDictionarySchema: (projectId: string) => z.ZodObject<{
7
7
  key: z.ZodDefault<z.ZodString>;
8
8
  projectIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
9
9
  qualifierType: z.ZodDefault<z.ZodEnum<{
10
- none: "none";
11
- variant: "variant";
12
10
  meta: "meta";
11
+ none: "none";
13
12
  item: "item";
13
+ variant: "variant";
14
14
  }>>;
15
15
  item: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
16
16
  variant: z.ZodOptional<z.ZodString>;
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
6
6
  declare const checkboxVariants: (props?: {
7
7
  variant?: "default";
8
8
  size?: "xs" | "sm" | "md" | "lg";
9
- color?: "error" | "custom" | "primary" | "secondary" | "neutral" | "light" | "dark" | "text" | "text-inverse" | "success";
9
+ color?: "error" | "success" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark" | "custom" | "text-inverse";
10
10
  validationStyleEnabled?: "enabled" | "disabled";
11
11
  } & _$class_variance_authority_types0.ClassProp) => string;
12
12
  type CheckboxSize = 'xs' | 'sm' | 'md' | 'lg';
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
6
6
  declare const radioVariants: (props?: {
7
7
  variant?: "default";
8
8
  size?: "xs" | "sm" | "md" | "lg";
9
- color?: "error" | "custom" | "primary" | "secondary" | "neutral" | "light" | "dark" | "text" | "text-inverse" | "success";
9
+ color?: "error" | "success" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark" | "custom" | "text-inverse";
10
10
  validationStyleEnabled?: "enabled" | "disabled";
11
11
  } & _$class_variance_authority_types0.ClassProp) => string;
12
12
  type RadioSize = 'xs' | 'sm' | 'md' | 'lg';
@@ -13,9 +13,9 @@ type LinkRoundedSize = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'ful
13
13
  type LinkSize = 'sm' | 'md' | 'lg' | 'xl' | 'custom';
14
14
  type LinkUnderlined = 'default' | 'true' | 'false';
15
15
  declare const linkVariants: (props?: {
16
- variant?: "default" | "invisible-link" | "hoverable" | "button" | "button-outlined";
17
- roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "3xl" | "full";
18
- color?: "error" | "custom" | "primary" | "secondary" | "neutral" | "light" | "dark" | "text" | "text-inverse" | "success";
16
+ variant?: "default" | "hoverable" | "button" | "invisible-link" | "button-outlined";
17
+ roundedSize?: "sm" | "md" | "lg" | "xl" | "2xl" | "none" | "full" | "3xl";
18
+ color?: "error" | "success" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark" | "custom" | "text-inverse";
19
19
  size?: "sm" | "md" | "lg" | "xl" | "custom";
20
20
  underlined?: boolean | "default";
21
21
  } & _$class_variance_authority_types0.ClassProp) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"MarkDownRender.d.ts","names":[],"sources":["../../../../src/components/MarkDownRender/MarkDownRender.tsx"],"mappings":";;;;;;;;cA8Na,sBAAA;cAvMc,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;kBAGhB,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAmDpD,cAAA,mBAA4B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAUc,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAUpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;KAe9D,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;eA6BI,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;iBACnB,cAAA,QAAsB,UAAA,MAAW,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;gBAIlC,cAAA,QAAsB,GAAA,MAAI,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;KAUpD,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAM/B,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;kBAIX,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;AAAA;AAAA,KA2C1C,qBAAA;EACH,QAAA,WAAmB,cAAA;EACnB,UAAA;EACA,MAAA,GAAS,aAAA;EACT,UAAA;EACA,mBAAA;EACA,SAAA;EACA,UAAA,GAAa,cAAA,QAAsB,kBAAA;EACnC,OAAA,GAAU,cAAA,QAAsB,kBAAA;AAAA;AAAA,cAGrB,0BAAA,GAA8B,WAAA;;gBApNhB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;oBAGhB,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAmDpD,cAAA,mBAA4B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAUc,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAUpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;OAe9D,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;iBA6BI,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;mBACnB,cAAA,QAAsB,UAAA,MAAW,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;kBAIlC,cAAA,QAAsB,GAAA,MAAI,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;OAUpD,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAM/B,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;oBAIX,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;EAAA;AAAA;AAAA,cA0DlC,gBAAA,EAAkB,EAAA,CAAG,qBAAA"}
1
+ {"version":3,"file":"MarkDownRender.d.ts","names":[],"sources":["../../../../src/components/MarkDownRender/MarkDownRender.tsx"],"mappings":";;;;;;;;cA6Na,sBAAA;cAvMc,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;cAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;kBAGhB,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAmDpD,cAAA,mBAA4B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAUc,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAUpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;KAe9D,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;eA6BI,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;iBACnB,cAAA,QAAsB,UAAA,MAAW,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;gBAIlC,cAAA,QAAsB,GAAA,MAAI,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;KAUpD,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;KAM/B,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;kBAIX,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;AAAA;AAAA,KA2C1C,qBAAA;EACH,QAAA,WAAmB,cAAA;EACnB,UAAA;EACA,MAAA,GAAS,aAAA;EACT,UAAA;EACA,mBAAA;EACA,SAAA;EACA,UAAA,GAAa,cAAA,QAAsB,kBAAA;EACnC,OAAA,GAAU,cAAA,QAAsB,kBAAA;AAAA;AAAA,cAGrB,0BAAA,GAA8B,WAAA;;gBApNhB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;gBAGpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;oBAGhB,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAmDpD,cAAA,mBAA4B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAUc,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAUpB,cAAA,WAAoB,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;OAe9D,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;iBA6BI,cAAA,YAAqB,OAAA,CAAA,GAAA,CAAA,OAAA;mBACnB,cAAA,QAAsB,UAAA,MAAW,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;kBAIlC,cAAA,QAAsB,GAAA,MAAI,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;;OAUpD,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;;;;OAM/B,wBAAA,YAA+B,OAAA,CAAA,GAAA,CAAA,OAAA;oBAIX,cAAA,eAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;EAAA;AAAA;AAAA,cA0DlC,gBAAA,EAAkB,EAAA,CAAG,qBAAA"}
@@ -5,8 +5,8 @@ import { VariantProps } from "class-variance-authority";
5
5
  //#region src/components/Pagination/Pagination.d.ts
6
6
  declare const paginationVariants: (props?: {
7
7
  size?: "sm" | "md" | "lg";
8
- color?: "primary" | "secondary" | "neutral" | "text";
9
- variant?: "default" | "bordered" | "ghost";
8
+ color?: "text" | "primary" | "secondary" | "neutral";
9
+ variant?: "default" | "ghost" | "bordered";
10
10
  } & _$class_variance_authority_types0.ClassProp) => string;
11
11
  type PaginationSize = 'sm' | 'md' | 'lg';
12
12
  type PaginationVariant = 'default' | 'bordered' | 'ghost';
@@ -25,14 +25,14 @@ type SwitchSelectorBaseProps<T = boolean> = {
25
25
  };
26
26
  type SwitchSelectorProps<T = boolean> = SwitchSelectorBaseProps<T> & VariantProps<typeof switchSelectorVariant> & VariantProps<typeof choiceVariant>;
27
27
  declare const switchSelectorVariant: (props?: {
28
- color?: "primary" | "secondary" | "neutral" | "light" | "dark" | "text";
28
+ color?: "text" | "primary" | "secondary" | "neutral" | "light" | "dark";
29
29
  disabled?: boolean;
30
30
  } & _$class_variance_authority_types0.ClassProp) => string;
31
31
  declare const choiceVariant: (props?: {
32
32
  size?: "xs" | "sm" | "md" | "lg";
33
33
  } & _$class_variance_authority_types0.ClassProp) => string;
34
34
  declare const indicatorVariant: (props?: {
35
- color?: "error" | "primary" | "secondary" | "neutral" | "light" | "dark" | "text";
35
+ color?: "error" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark";
36
36
  } & _$class_variance_authority_types0.ClassProp) => string;
37
37
  /**
38
38
  * Component that allows the user to select one of the provided choices.
@@ -5,7 +5,7 @@ import { VariantProps } from "class-variance-authority";
5
5
 
6
6
  //#region src/components/SwitchSelector/VerticalSwitchSelector.d.ts
7
7
  declare const verticalSwitchSelectorVariant: (props?: {
8
- color?: "primary" | "secondary" | "neutral" | "light" | "dark" | "text" | "error";
8
+ color?: "error" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark";
9
9
  disabled?: boolean;
10
10
  } & _$class_variance_authority_types0.ClassProp) => string;
11
11
  declare const verticalChoiceVariant: (props?: {
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
6
6
  //#region src/components/Tab/Tab.d.ts
7
7
  declare const tabContainerVariant: (props?: {
8
8
  background?: "with" | "without";
9
- variant?: "default" | "bordered" | "ghost";
9
+ variant?: "default" | "ghost" | "bordered";
10
10
  } & _$class_variance_authority_types0.ClassProp) => string;
11
11
  type TabProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof tabContainerVariant> & {
12
12
  defaultTab?: string;
@@ -7,7 +7,7 @@ import { ItemSelectorOrientation } from "@hooks/useItemSelector";
7
7
  //#region src/components/TabSelector/TabSelector.d.ts
8
8
  type TabSelectorColor = 'primary' | 'secondary' | 'error' | 'neutral' | 'light' | 'dark' | 'text';
9
9
  declare const tabSelectorVariant: (props?: {
10
- color?: "error" | "primary" | "secondary" | "neutral" | "light" | "dark" | "text";
10
+ color?: "error" | "text" | "primary" | "secondary" | "neutral" | "light" | "dark";
11
11
  } & _$class_variance_authority_types0.ClassProp) => string;
12
12
  type TabSelectorItemProps = HTMLAttributes<HTMLElement> & {
13
13
  key: string | number;
@@ -147,7 +147,7 @@ type TagBorder = 'none' | 'with';
147
147
  type TagBackground = 'none' | 'with';
148
148
  declare const containerVariants: (props?: {
149
149
  roundedSize?: "sm" | "md" | "lg" | "xl" | "none" | "full" | "xxl" | "xxxl";
150
- color?: "error" | "primary" | "neutral" | "text" | "success" | "warning" | "black" | "white";
150
+ color?: "error" | "success" | "text" | "primary" | "neutral" | "warning" | "black" | "white";
151
151
  size?: "xs" | "sm" | "md" | "lg" | "xl";
152
152
  border?: "with" | "none";
153
153
  background?: "with" | "none";
@@ -25,7 +25,7 @@ declare const ToastViewport: FC<ComponentProps<typeof ToastPrimitives.Viewport>>
25
25
  * ```
26
26
  */
27
27
  declare const toastVariants: (props?: {
28
- variant?: "error" | "success" | "default";
28
+ variant?: "error" | "default" | "success";
29
29
  } & _$class_variance_authority_types0.ClassProp) => string;
30
30
  /**
31
31
  * Toast Component
@@ -1,7 +1,2 @@
1
- import { ClassValue } from "clsx";
2
-
3
- //#region src/utils/cn.d.ts
4
- declare const cn: (...inputs: ClassValue[]) => string;
5
- //#endregion
6
- export { cn };
7
- //# sourceMappingURL=cn.d.ts.map
1
+ import { cn } from "cnfast";
2
+ export { cn };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/design-system",
3
- "version": "9.0.0-canary.3",
3
+ "version": "9.0.0-canary.6",
4
4
  "private": false,
5
5
  "description": "Intlayer design system, including UI components used in the Intlayer editor, website, and visual editor/CMS.",
6
6
  "keywords": [
@@ -440,15 +440,15 @@
440
440
  "typecheck_": "tsc --noEmit --project tsconfig.types.json"
441
441
  },
442
442
  "dependencies": {
443
- "@better-auth/passkey": "1.6.19",
444
- "@better-auth/sso": "1.6.19",
445
- "@intlayer/api": "9.0.0-canary.3",
446
- "@intlayer/chokidar": "9.0.0-canary.3",
447
- "@intlayer/config": "9.0.0-canary.3",
448
- "@intlayer/core": "9.0.0-canary.3",
449
- "@intlayer/dictionaries-entry": "9.0.0-canary.3",
450
- "@intlayer/editor-react": "9.0.0-canary.3",
451
- "@intlayer/types": "9.0.0-canary.3",
443
+ "@better-auth/passkey": "1.6.20",
444
+ "@better-auth/sso": "1.6.20",
445
+ "@intlayer/api": "9.0.0-canary.6",
446
+ "@intlayer/chokidar": "9.0.0-canary.6",
447
+ "@intlayer/config": "9.0.0-canary.6",
448
+ "@intlayer/core": "9.0.0-canary.6",
449
+ "@intlayer/dictionaries-entry": "9.0.0-canary.6",
450
+ "@intlayer/editor-react": "9.0.0-canary.6",
451
+ "@intlayer/types": "9.0.0-canary.6",
452
452
  "@radix-ui/react-dialog": "1.1.17",
453
453
  "@radix-ui/react-select": "2.3.1",
454
454
  "@radix-ui/react-slot": "1.3.0",
@@ -474,13 +474,14 @@
474
474
  "@tiptap/react": "3.26.1",
475
475
  "@tiptap/starter-kit": "3.26.1",
476
476
  "@tiptap/suggestion": "3.26.1",
477
- "better-auth": "1.6.19",
477
+ "better-auth": "1.6.20",
478
478
  "class-variance-authority": "0.7.1",
479
479
  "cmdk": "1.1.1",
480
+ "cnfast": "^0.0.8",
480
481
  "defu": "6.1.7",
481
482
  "dompurify": "3.4.10",
482
483
  "isomorphic-dompurify": "3.17.0",
483
- "react-intlayer": "9.0.0-canary.3",
484
+ "react-intlayer": "9.0.0-canary.6",
484
485
  "react-moveable": "^0.56.0",
485
486
  "rollup-preserve-directives": "1.1.3",
486
487
  "tippy.js": "^6.3.7",
@@ -491,7 +492,7 @@
491
492
  "zod": "4.4.3"
492
493
  },
493
494
  "devDependencies": {
494
- "@intlayer/backend": "9.0.0-canary.3",
495
+ "@intlayer/backend": "9.0.0-canary.6",
495
496
  "@shikijs/transformers": "4.2.0",
496
497
  "@storybook/addon-a11y": "8.6.14",
497
498
  "@storybook/addon-essentials": "8.6.14",
@@ -515,41 +516,39 @@
515
516
  "@testing-library/user-event": "14.6.1",
516
517
  "@types/dompurify": "3.2.0",
517
518
  "@types/espree": "11.1.0",
518
- "@types/node": "25.9.3",
519
+ "@types/node": "25.9.4",
519
520
  "@types/react": "19.2.17",
520
521
  "@types/react-dom": "19.2.3",
521
522
  "@utils/ts-config": "1.0.4",
522
523
  "@utils/ts-config-types": "1.0.4",
523
- "clsx": "2.1.1",
524
524
  "fast-glob": "3.3.3",
525
- "intlayer": "9.0.0-canary.3",
525
+ "intlayer": "9.0.0-canary.6",
526
526
  "rimraf": "6.1.3",
527
527
  "shiki": "4.2.0",
528
528
  "storybook": "8.6.17",
529
- "tailwind-merge": "3.6.0",
530
529
  "tsdown": "0.21.10",
531
530
  "typescript": "6.0.3",
532
- "vite": "8.0.16",
533
- "vite-intlayer": "9.0.0-canary.3",
531
+ "vite": "8.1.0",
532
+ "vite-intlayer": "9.0.0-canary.6",
534
533
  "vite-plugin-dts": "5.0.2",
535
534
  "vitest": "4.1.9"
536
535
  },
537
536
  "peerDependencies": {
538
537
  "@better-fetch/fetch": "1.3.1",
539
538
  "@hookform/resolvers": "5.4.0",
540
- "@intlayer/backend": "9.0.0-canary.3",
539
+ "@intlayer/backend": "9.0.0-canary.6",
541
540
  "@monaco-editor/react": "4.7.0",
542
541
  "@shikijs/transformers": "4.2.0",
543
- "@tanstack/react-query": "5.101.0",
544
- "@tanstack/react-query-devtools": "5.101.0",
545
- "framer-motion": "12.40.0",
542
+ "@tanstack/react-query": "5.101.1",
543
+ "@tanstack/react-query-devtools": "5.101.1",
544
+ "framer-motion": "12.41.0",
546
545
  "fuse.js": "7.4.2",
547
- "intlayer": "9.0.0-canary.3",
548
- "lucide-react": "1.20.0",
546
+ "intlayer": "9.0.0-canary.6",
547
+ "lucide-react": "1.21.0",
549
548
  "react": ">=16.0.0",
550
549
  "react-dom": ">=16.0.0",
551
550
  "react-hook-form": "7.79.0",
552
- "react-intlayer": "9.0.0-canary.3",
551
+ "react-intlayer": "9.0.0-canary.6",
553
552
  "shiki": "4.2.0",
554
553
  "tailwindcss": "4.3.1"
555
554
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn.mjs","names":[],"sources":["../../../src/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n"],"mappings":";;;;AAGA,MAAa,MAAM,GAAG,WAAyB,QAAQ,KAAK,OAAO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn.d.ts","names":[],"sources":["../../../src/utils/cn.ts"],"mappings":";;;cAGa,EAAA,MAAS,MAAA,EAAQ,UAAA"}