@intlayer/design-system 8.2.3 → 8.3.0-canary.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.
- package/dist/esm/components/Accordion/Accordion.mjs +1 -1
- package/dist/esm/components/Avatar/index.mjs +1 -1
- package/dist/esm/components/Breadcrumb/index.mjs +1 -1
- package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
- package/dist/esm/components/Browser/Browser.mjs +1 -1
- package/dist/esm/components/Carousel/index.mjs +4 -4
- package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
- package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
- package/dist/esm/components/CopyButton/index.mjs +1 -1
- package/dist/esm/components/CopyToClipboard/index.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -1
- package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +1 -1
- package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
- package/dist/esm/components/Flags/Flag.mjs +1 -1
- package/dist/esm/components/Flags/Flag.mjs.map +1 -1
- package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
- package/dist/esm/components/HideShow/index.mjs +1 -1
- package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeBlockShiki.mjs +1 -1
- package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
- package/dist/esm/components/IDE/FileTree.mjs +1 -1
- package/dist/esm/components/Input/Input.mjs +1 -1
- package/dist/esm/components/Input/Input.mjs.map +1 -1
- package/dist/esm/components/Input/InputPassword.mjs +1 -1
- package/dist/esm/components/Input/OTPInput.mjs +2 -2
- package/dist/esm/components/Label/index.mjs +1 -1
- package/dist/esm/components/Label/index.mjs.map +1 -1
- package/dist/esm/components/LanguageBackground/index.mjs +1 -1
- package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
- package/dist/esm/components/Link/Link.mjs +1 -1
- package/dist/esm/components/Link/Link.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -1
- package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
- package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +1 -1
- package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
- package/dist/esm/components/MarkDownRender/index.mjs +1 -1
- package/dist/esm/components/MaxHeightSmoother/index.mjs +1 -1
- package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
- package/dist/esm/components/Modal/Modal.mjs +1 -1
- package/dist/esm/components/Pagination/Pagination.mjs +1 -1
- package/dist/esm/components/RightDrawer/RightDrawer.mjs +1 -1
- package/dist/esm/components/Select/Multiselect.mjs +1 -1
- package/dist/esm/components/Select/Select.mjs +1 -1
- package/dist/esm/components/Select/Select.mjs.map +1 -1
- package/dist/esm/components/Table/Table.mjs +1 -1
- package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -1
- package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -1
- package/dist/esm/components/Toaster/Toast.mjs +1 -1
- package/dist/esm/components/index.mjs +1 -1
- package/dist/esm/hooks/index.mjs +1 -1
- package/dist/esm/hooks/reactQuery.mjs +1 -1
- package/dist/esm/hooks/reactQuery.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useOAuth2.mjs +1 -1
- package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useSession.mjs +1 -1
- package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
- package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
- package/dist/esm/libs/auth.mjs +1 -1
- package/dist/esm/libs/auth.mjs.map +1 -1
- package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
- package/dist/types/components/Badge/index.d.ts +1 -1
- package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +3 -3
- package/dist/types/components/Breadcrumb/index.d.ts +1 -1
- package/dist/types/components/Browser/Browser.content.d.ts +17 -17
- package/dist/types/components/Button/Button.d.ts +3 -3
- package/dist/types/components/Carousel/index.content.d.ts +7 -7
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -2
- package/dist/types/components/Command/index.d.ts +1 -1
- package/dist/types/components/Container/index.d.ts +5 -5
- package/dist/types/components/CopyButton/CopyButton.content.d.ts +3 -3
- package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts +2 -1
- package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts.map +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts +3 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/ContentEditor.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts +2 -1
- package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +9 -9
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +55 -55
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +33 -33
- package/dist/types/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/JSONEditor.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts +2 -1
- package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts +4 -4
- package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts +2 -1
- package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +33 -33
- package/dist/types/components/DictionaryFieldEditor/StructureEditor.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts +2 -1
- package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +9 -9
- package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +7 -7
- package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +5 -5
- package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts +1 -1
- package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +31 -31
- package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
- package/dist/types/components/Flags/Flag.d.ts +1 -1
- package/dist/types/components/Flags/Flag.d.ts.map +1 -1
- package/dist/types/components/HTMLRender/HTMLRender.d.ts +1 -1
- package/dist/types/components/IDE/CodeBlockClient.d.ts +2 -2
- package/dist/types/components/IDE/CodeBlockClient.d.ts.map +1 -1
- package/dist/types/components/IDE/CodeBlockShiki.d.ts.map +1 -1
- package/dist/types/components/IDE/code.content.d.ts +5 -5
- package/dist/types/components/IDE/copyCode.content.d.ts +5 -5
- package/dist/types/components/IDE/index.d.ts +2 -2
- package/dist/types/components/IDE/selectors.content.d.ts +13 -13
- package/dist/types/components/Input/Checkbox.d.ts +1 -1
- package/dist/types/components/LanguageBackground/index.d.ts.map +1 -1
- package/dist/types/components/Link/Link.d.ts +4 -4
- package/dist/types/components/Loader/index.content.d.ts +3 -3
- package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts.map +1 -1
- package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +17 -17
- package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +1 -1
- package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
- package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +13 -13
- package/dist/types/components/MarkDownRender/MarkDownRender.d.ts +143 -15
- package/dist/types/components/MarkDownRender/MarkDownRender.d.ts.map +1 -1
- package/dist/types/components/MarkDownRender/index.d.ts +2 -2
- package/dist/types/components/Pagination/Pagination.d.ts +2 -2
- package/dist/types/components/Pagination/pagination.content.d.ts +11 -11
- package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +5 -5
- package/dist/types/components/Select/Select.d.ts.map +1 -1
- package/dist/types/components/SwitchSelector/index.d.ts +1 -1
- package/dist/types/components/Tab/Tab.d.ts +2 -2
- package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
- package/dist/types/components/Table/table.content.d.ts +3 -3
- package/dist/types/components/Tag/index.d.ts +2 -2
- package/dist/types/components/Terminal/terminal.content.d.ts +5 -5
- package/dist/types/components/index.d.ts +3 -3
- package/dist/types/hooks/index.d.ts +3 -3
- package/dist/types/hooks/reactQuery.d.ts +11 -3
- package/dist/types/hooks/reactQuery.d.ts.map +1 -1
- package/dist/types/hooks/useAuth/useAuth.d.ts +1 -1
- package/dist/types/hooks/useAuth/useOAuth2.d.ts +1 -1
- package/dist/types/hooks/useAuth/useSession.d.ts +1 -1
- package/dist/types/hooks/useIntlayerAPI.d.ts +2 -2
- package/dist/types/hooks/useIntlayerAPI.d.ts.map +1 -1
- package/dist/types/libs/auth.d.ts +1 -1
- package/package.json +31 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTypeSelector.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/NodeTypeSelector.tsx"],"sourcesContent":["'use client';\n\nimport { getNodeType } from '@intlayer/core/dictionaryManipulator';\nimport {
|
|
1
|
+
{"version":3,"file":"NodeTypeSelector.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/NodeTypeSelector.tsx"],"sourcesContent":["'use client';\n\nimport { getNodeType } from '@intlayer/core/dictionaryManipulator';\nimport type { ContentNode } from '@intlayer/types/dictionary';\nimport { NodeType } from '@intlayer/types/nodeType';\nimport { type FC, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { Select } from '../Select';\n\ntype NodeTypeSelectorProps = {\n section: ContentNode;\n onValueChange: (keyType: NodeType) => void;\n};\n\nexport const NodeTypeSelector: FC<NodeTypeSelectorProps> = ({\n section,\n onValueChange: onValueChangeProp,\n}) => {\n const {\n multilingual,\n text,\n number,\n boolean,\n node,\n array,\n enumeration,\n triggerPlaceHolder,\n nest,\n gender,\n condition,\n markdown,\n insertion,\n reactNode,\n file,\n } = useIntlayer('node-type-selector');\n const nodeType = getNodeType(section);\n const [keyType, setKeyType] = useState<NodeType>(nodeType);\n\n const onValueChange = (keyType: NodeType) => {\n setKeyType(keyType);\n onValueChangeProp(keyType);\n };\n\n return (\n <Select value={keyType} onValueChange={onValueChange}>\n <Select.Trigger>\n <Select.Value placeholder={triggerPlaceHolder} />\n </Select.Trigger>\n <Select.Content>\n <Select.Item value={NodeType.Translation}>{multilingual}</Select.Item>\n <Select.Item value={NodeType.Text}>{text}</Select.Item>\n <Select.Item value={NodeType.Number}>{number}</Select.Item>\n <Select.Item value={NodeType.Boolean}>{boolean}</Select.Item>\n <Select.Item value={NodeType.Object}>{node}</Select.Item>\n <Select.Item value={NodeType.Array}>{array}</Select.Item>\n <Select.Item value={NodeType.Enumeration}>{enumeration}</Select.Item>\n <Select.Item value={NodeType.Gender}>{gender}</Select.Item>\n <Select.Item value={NodeType.Insertion}>{insertion}</Select.Item>\n <Select.Item value={NodeType.Markdown}>{markdown}</Select.Item>\n <Select.Item value={NodeType.Nested}>{nest}</Select.Item>\n <Select.Item value={NodeType.Condition}>{condition}</Select.Item>\n <Select.Item value={NodeType.ReactNode} disabled>\n {reactNode}\n </Select.Item>\n <Select.Item value={NodeType.File}>{file}</Select.Item>\n </Select.Content>\n </Select>\n );\n};\n"],"mappings":"kTAcA,MAAa,GAA+C,CAC1D,UACA,cAAe,KACX,CACJ,GAAM,CACJ,eACA,OACA,SACA,UACA,OACA,QACA,cACA,qBACA,OACA,SACA,YACA,WACA,YACA,YACA,QACE,EAAY,qBAAqB,CAE/B,CAAC,EAAS,GAAc,EADb,EAAY,EAAQ,CACqB,CAO1D,OACE,EAAC,EAAD,CAAQ,MAAO,EAAwB,cANlB,GAAsB,CAC3C,EAAW,EAAQ,CACnB,EAAkB,EAAQ,WAI1B,CACE,EAAC,EAAO,QAAR,CAAA,SACE,EAAC,EAAO,MAAR,CAAc,YAAa,EAAsB,CAAA,CAClC,CAAA,CACjB,EAAC,EAAO,QAAR,CAAA,SAAA,CACE,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,qBAAc,EAA2B,CAAA,CACtE,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,cAAO,EAAmB,CAAA,CACvD,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,gBAAS,EAAqB,CAAA,CAC3D,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,iBAAU,EAAsB,CAAA,CAC7D,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,gBAAS,EAAmB,CAAA,CACzD,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,eAAQ,EAAoB,CAAA,CACzD,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,qBAAc,EAA0B,CAAA,CACrE,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,gBAAS,EAAqB,CAAA,CAC3D,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,mBAAY,EAAwB,CAAA,CACjE,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,kBAAW,EAAuB,CAAA,CAC/D,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,gBAAS,EAAmB,CAAA,CACzD,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,mBAAY,EAAwB,CAAA,CACjE,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,UAAW,SAAA,YACrC,EACW,CAAA,CACd,EAAC,EAAO,KAAR,CAAa,MAAO,EAAS,cAAO,EAAmB,CAAA,CACxC,CAAA,CAAA,CACV"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{cn as e}from"../../../utils/cn.mjs";import{ButtonColor as t,ButtonVariant as n}from"../../Button/Button.mjs";import{useAuth as r}from"../../../hooks/useAuth/useAuth.mjs";import{useDeleteDictionary as i,usePushDictionaries as a,useWriteDictionary as o}from"../../../hooks/reactQuery.mjs";import{Modal as s,ModalSize as c}from"../../Modal/Modal.mjs";import{Form as l}from"../../Form/Form.mjs";import{
|
|
1
|
+
"use client";import{cn as e}from"../../../utils/cn.mjs";import{ButtonColor as t,ButtonVariant as n}from"../../Button/Button.mjs";import{useAuth as r}from"../../../hooks/useAuth/useAuth.mjs";import{useDeleteDictionary as i,usePushDictionaries as a,useWriteDictionary as o}from"../../../hooks/reactQuery.mjs";import{Modal as s,ModalSize as c}from"../../Modal/Modal.mjs";import{Form as l}from"../../Form/Form.mjs";import{useState as u}from"react";import{ArrowUpFromLine as d,Download as f,RotateCcw as p,Save as m,Trash as h}from"lucide-react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{useIntlayer as y}from"react-intlayer";import{useDictionariesRecordActions as b,useEditedContent as x}from"@intlayer/editor-react";const S=({dictionary:S,mode:C,className:w,onDelete:T,onSave:E,...D})=>{let[O,k]=u(!1),{setLocaleDictionary:A}=b(),{mutate:j,isPending:M}=i(),{mutate:N,isPending:P}=o(),{mutate:F,isPending:I}=a(),L=P||I,{editedContent:R,restoreEditedContent:z}=x(),{deleteButton:B,resetButton:V,saveButton:H,publishButton:U,downloadButton:W,confirmation:G}=y(`save-dictionary-details`),{isAuthenticated:K}=r(),q=R?.[S.localId],J=q&&JSON.stringify(q)!==JSON.stringify(S),Y=S?.id!==void 0,X=async()=>{R?.[S.localId]&&N({dictionary:{...S,...R?.[S.localId]}},{onSuccess:()=>{A(R?.[S.localId]),z(S.localId),k(!1),E?.()}})},Z=()=>{let e={...S,...R?.[S.localId]};F({dictionaries:[e]},{onSuccess:t=>{t&&(A(e),z(S.localId),E?.())}})},Q=()=>{S.id&&j({dictionaryId:S.id},{onSuccess:e=>{e&&T?.()}})};return v(g,{children:[_(s,{isOpen:O,title:G.title.value,size:c.MD,onClose:()=>k(!1),padding:`md`,children:v(`form`,{className:`size-full`,children:[_(`p`,{className:`py-4 text-neutral text-sm`,children:G.message}),v(`div`,{className:`mt-12 flex justify-end gap-2 max-md:flex-col`,children:[_(l.Button,{label:G.cancelButton.label.value,disabled:!J||L,color:t.TEXT,className:`max-md:w-full`,variant:n.OUTLINE,onClick:()=>k(!1),children:G.cancelButton.text}),_(l.Button,{label:G.confirmButton.label.value,disabled:!J||L,Icon:m,color:t.TEXT,className:`max-md:w-full`,isLoading:I,onClick:X,children:G.confirmButton.text})]})]})}),v(`form`,{className:e(`flex justify-end gap-2 max-md:flex-col`,w),...D,children:[C.includes(`remote`)&&Y&&T&&K&&_(l.Button,{label:B.label.value,Icon:h,color:t.ERROR,variant:n.OUTLINE,className:`max-md:w-full`,isLoading:M,onClick:Q,children:B.text}),J&&_(l.Button,{label:V.label.value,disabled:!J,Icon:p,variant:n.OUTLINE,color:t.TEXT,className:`max-md:w-full`,onClick:()=>z(S.localId),children:V.text}),C.includes(`local`)&&_(l.Button,{label:W.label.value,disabled:!J||L,Icon:f,color:t.TEXT,variant:K?n.OUTLINE:n.DEFAULT,className:`max-md:w-full`,isLoading:P,onClick:()=>k(!0),children:W.text}),C.includes(`remote`)&&K&&!Y&&_(l.Button,{label:U.label.value,disabled:L,Icon:d,color:t.TEXT,className:`max-md:w-full`,isLoading:I,onClick:Z,children:U.text}),C.includes(`remote`)&&K&&Y&&J&&_(l.Button,{label:H.label.value,disabled:!J||L,Icon:m,color:`text`,className:`max-md:w-full`,isLoading:I,onClick:Z,children:H.text})]})]})};export{S as SaveForm};
|
|
2
2
|
//# sourceMappingURL=SaveForm.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveForm.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx"],"sourcesContent":["'use client';\n\nimport { ButtonColor, ButtonVariant } from '@components/Button';\nimport { Form } from '@components/Form';\nimport { Modal, ModalSize } from '@components/Modal';\nimport {\n useAuth,\n useDeleteDictionary,\n usePushDictionaries,\n useWriteDictionary,\n} from '@hooks/index';\nimport type { Dictionary as DistantDictionary } from '@intlayer/backend';\nimport {\n useDictionariesRecordActions,\n useEditedContent,\n} from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types';\nimport { cn } from '@utils/cn';\nimport {\n ArrowUpFromLine,\n Download,\n RotateCcw,\n Save,\n Trash,\n} from 'lucide-react';\nimport {\n type DetailedHTMLProps,\n type FC,\n type FormHTMLAttributes,\n useState,\n} from 'react';\nimport { useIntlayer } from 'react-intlayer';\n\ntype DictionaryDetailsProps = {\n dictionary: Dictionary;\n mode: ('local' | 'remote')[];\n onDelete?: () => void;\n onSave?: () => void;\n} & DetailedHTMLProps<FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>;\n\nexport const SaveForm: FC<DictionaryDetailsProps> = ({\n dictionary,\n mode,\n className,\n onDelete,\n onSave,\n ...props\n}) => {\n const [isFormatAlertModalOpen, setIsFormatAlertModalOpen] = useState(false);\n const { setLocaleDictionary } = useDictionariesRecordActions();\n const { mutate: deleteDictionary, isPending: isDeleting } =\n useDeleteDictionary();\n const { mutate: writeDictionary, isPending: isWriting } =\n useWriteDictionary();\n const { mutate: pushDictionaries, isPending: isPushing } =\n usePushDictionaries();\n const isLoading = isWriting || isPushing;\n\n const { editedContent, restoreEditedContent } = useEditedContent();\n const {\n deleteButton,\n resetButton,\n saveButton,\n publishButton,\n downloadButton,\n confirmation,\n } = useIntlayer('save-dictionary-details');\n const { isAuthenticated } = useAuth();\n\n const editedDictionary = editedContent?.[dictionary.localId!];\n\n const isEdited =\n editedDictionary &&\n JSON.stringify(editedDictionary) !== JSON.stringify(dictionary);\n\n const isDistantDictionary =\n typeof (dictionary as unknown as DistantDictionary)?.id !== 'undefined';\n\n const handleSaveDictionaryConfirmation = async () => {\n if (!editedContent?.[dictionary.localId!]) return;\n\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n writeDictionary(\n {\n dictionary: updatedDictionary,\n },\n {\n onSuccess: () => {\n setLocaleDictionary(editedContent?.[dictionary.localId!]);\n restoreEditedContent(dictionary.localId!);\n setIsFormatAlertModalOpen(false);\n onSave?.();\n },\n }\n );\n };\n\n const handlePushDictionary = () => {\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n pushDictionaries(\n { dictionaries: [updatedDictionary] },\n {\n onSuccess: (res) => {\n if (res) {\n setLocaleDictionary(updatedDictionary);\n restoreEditedContent(dictionary.localId!);\n onSave?.();\n }\n },\n }\n );\n };\n\n const handleDeleteDictionary = () => {\n if (!dictionary.id) return;\n\n deleteDictionary(\n {\n dictionaryId: dictionary.id,\n },\n {\n onSuccess: (res) => {\n if (res) {\n onDelete?.();\n }\n },\n }\n );\n };\n\n return (\n <>\n <Modal\n isOpen={isFormatAlertModalOpen}\n title={confirmation.title.value}\n size={ModalSize.MD}\n onClose={() => setIsFormatAlertModalOpen(false)}\n padding=\"md\"\n >\n <form className=\"size-full\">\n <p className=\"py-4 text-neutral text-sm\">{confirmation.message}</p>\n\n <div className=\"mt-12 flex justify-end gap-2 max-md:flex-col\">\n <Form.Button\n label={confirmation.cancelButton.label.value}\n disabled={!isEdited || isLoading}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n variant={ButtonVariant.OUTLINE}\n onClick={() => setIsFormatAlertModalOpen(false)}\n >\n {confirmation.cancelButton.text}\n </Form.Button>\n <Form.Button\n label={confirmation.confirmButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Save}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handleSaveDictionaryConfirmation}\n >\n {confirmation.confirmButton.text}\n </Form.Button>\n </div>\n </form>\n </Modal>\n <form\n className={cn('flex justify-end gap-2 max-md:flex-col', className)}\n {...props}\n >\n {mode.includes('remote') &&\n isDistantDictionary &&\n onDelete &&\n isAuthenticated && (\n <Form.Button\n label={deleteButton.label.value}\n Icon={Trash}\n color={ButtonColor.ERROR}\n variant={ButtonVariant.OUTLINE}\n className=\"max-md:w-full\"\n isLoading={isDeleting}\n onClick={handleDeleteDictionary}\n >\n {deleteButton.text}\n </Form.Button>\n )}\n {isEdited && (\n <Form.Button\n label={resetButton.label.value}\n disabled={!isEdited}\n Icon={RotateCcw}\n variant={ButtonVariant.OUTLINE}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n onClick={() => restoreEditedContent(dictionary.localId!)}\n >\n {resetButton.text}\n </Form.Button>\n )}\n {mode.includes('local') && (\n <Form.Button\n label={downloadButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Download}\n color={ButtonColor.TEXT}\n variant={\n isAuthenticated ? ButtonVariant.OUTLINE : ButtonVariant.DEFAULT\n }\n className=\"max-md:w-full\"\n isLoading={isWriting}\n onClick={() => setIsFormatAlertModalOpen(true)}\n >\n {downloadButton.text}\n </Form.Button>\n )}\n {mode.includes('remote') && isAuthenticated && !isDistantDictionary && (\n <Form.Button\n label={publishButton.label.value}\n disabled={isLoading}\n Icon={ArrowUpFromLine}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {publishButton.text}\n </Form.Button>\n )}\n {mode.includes('remote') &&\n isAuthenticated &&\n isDistantDictionary &&\n isEdited && (\n <Form.Button\n label={saveButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Save}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {saveButton.text}\n </Form.Button>\n )}\n </form>\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SaveForm.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx"],"sourcesContent":["'use client';\n\nimport { ButtonColor, ButtonVariant } from '@components/Button';\nimport { Form } from '@components/Form';\nimport { Modal, ModalSize } from '@components/Modal';\nimport {\n useAuth,\n useDeleteDictionary,\n usePushDictionaries,\n useWriteDictionary,\n} from '@hooks/index';\nimport type { Dictionary as DistantDictionary } from '@intlayer/backend';\nimport {\n useDictionariesRecordActions,\n useEditedContent,\n} from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { cn } from '@utils/cn';\nimport {\n ArrowUpFromLine,\n Download,\n RotateCcw,\n Save,\n Trash,\n} from 'lucide-react';\nimport {\n type DetailedHTMLProps,\n type FC,\n type FormHTMLAttributes,\n useState,\n} from 'react';\nimport { useIntlayer } from 'react-intlayer';\n\ntype DictionaryDetailsProps = {\n dictionary: Dictionary;\n mode: ('local' | 'remote')[];\n onDelete?: () => void;\n onSave?: () => void;\n} & DetailedHTMLProps<FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>;\n\nexport const SaveForm: FC<DictionaryDetailsProps> = ({\n dictionary,\n mode,\n className,\n onDelete,\n onSave,\n ...props\n}) => {\n const [isFormatAlertModalOpen, setIsFormatAlertModalOpen] = useState(false);\n const { setLocaleDictionary } = useDictionariesRecordActions();\n const { mutate: deleteDictionary, isPending: isDeleting } =\n useDeleteDictionary();\n const { mutate: writeDictionary, isPending: isWriting } =\n useWriteDictionary();\n const { mutate: pushDictionaries, isPending: isPushing } =\n usePushDictionaries();\n const isLoading = isWriting || isPushing;\n\n const { editedContent, restoreEditedContent } = useEditedContent();\n const {\n deleteButton,\n resetButton,\n saveButton,\n publishButton,\n downloadButton,\n confirmation,\n } = useIntlayer('save-dictionary-details');\n const { isAuthenticated } = useAuth();\n\n const editedDictionary = editedContent?.[dictionary.localId!];\n\n const isEdited =\n editedDictionary &&\n JSON.stringify(editedDictionary) !== JSON.stringify(dictionary);\n\n const isDistantDictionary =\n typeof (dictionary as unknown as DistantDictionary)?.id !== 'undefined';\n\n const handleSaveDictionaryConfirmation = async () => {\n if (!editedContent?.[dictionary.localId!]) return;\n\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n writeDictionary(\n {\n dictionary: updatedDictionary,\n },\n {\n onSuccess: () => {\n setLocaleDictionary(editedContent?.[dictionary.localId!]);\n restoreEditedContent(dictionary.localId!);\n setIsFormatAlertModalOpen(false);\n onSave?.();\n },\n }\n );\n };\n\n const handlePushDictionary = () => {\n const updatedDictionary = {\n ...dictionary,\n ...editedContent?.[dictionary.localId!],\n };\n\n pushDictionaries(\n { dictionaries: [updatedDictionary] },\n {\n onSuccess: (res) => {\n if (res) {\n setLocaleDictionary(updatedDictionary);\n restoreEditedContent(dictionary.localId!);\n onSave?.();\n }\n },\n }\n );\n };\n\n const handleDeleteDictionary = () => {\n if (!dictionary.id) return;\n\n deleteDictionary(\n {\n dictionaryId: dictionary.id,\n },\n {\n onSuccess: (res) => {\n if (res) {\n onDelete?.();\n }\n },\n }\n );\n };\n\n return (\n <>\n <Modal\n isOpen={isFormatAlertModalOpen}\n title={confirmation.title.value}\n size={ModalSize.MD}\n onClose={() => setIsFormatAlertModalOpen(false)}\n padding=\"md\"\n >\n <form className=\"size-full\">\n <p className=\"py-4 text-neutral text-sm\">{confirmation.message}</p>\n\n <div className=\"mt-12 flex justify-end gap-2 max-md:flex-col\">\n <Form.Button\n label={confirmation.cancelButton.label.value}\n disabled={!isEdited || isLoading}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n variant={ButtonVariant.OUTLINE}\n onClick={() => setIsFormatAlertModalOpen(false)}\n >\n {confirmation.cancelButton.text}\n </Form.Button>\n <Form.Button\n label={confirmation.confirmButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Save}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handleSaveDictionaryConfirmation}\n >\n {confirmation.confirmButton.text}\n </Form.Button>\n </div>\n </form>\n </Modal>\n <form\n className={cn('flex justify-end gap-2 max-md:flex-col', className)}\n {...props}\n >\n {mode.includes('remote') &&\n isDistantDictionary &&\n onDelete &&\n isAuthenticated && (\n <Form.Button\n label={deleteButton.label.value}\n Icon={Trash}\n color={ButtonColor.ERROR}\n variant={ButtonVariant.OUTLINE}\n className=\"max-md:w-full\"\n isLoading={isDeleting}\n onClick={handleDeleteDictionary}\n >\n {deleteButton.text}\n </Form.Button>\n )}\n {isEdited && (\n <Form.Button\n label={resetButton.label.value}\n disabled={!isEdited}\n Icon={RotateCcw}\n variant={ButtonVariant.OUTLINE}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n onClick={() => restoreEditedContent(dictionary.localId!)}\n >\n {resetButton.text}\n </Form.Button>\n )}\n {mode.includes('local') && (\n <Form.Button\n label={downloadButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Download}\n color={ButtonColor.TEXT}\n variant={\n isAuthenticated ? ButtonVariant.OUTLINE : ButtonVariant.DEFAULT\n }\n className=\"max-md:w-full\"\n isLoading={isWriting}\n onClick={() => setIsFormatAlertModalOpen(true)}\n >\n {downloadButton.text}\n </Form.Button>\n )}\n {mode.includes('remote') && isAuthenticated && !isDistantDictionary && (\n <Form.Button\n label={publishButton.label.value}\n disabled={isLoading}\n Icon={ArrowUpFromLine}\n color={ButtonColor.TEXT}\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {publishButton.text}\n </Form.Button>\n )}\n {mode.includes('remote') &&\n isAuthenticated &&\n isDistantDictionary &&\n isEdited && (\n <Form.Button\n label={saveButton.label.value}\n disabled={!isEdited || isLoading}\n Icon={Save}\n color=\"text\"\n className=\"max-md:w-full\"\n isLoading={isPushing}\n onClick={handlePushDictionary}\n >\n {saveButton.text}\n </Form.Button>\n )}\n </form>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructureEditor.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/StructureEditor.tsx"],"sourcesContent":["'use client';\n\nimport { useEditedContent } from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types';\nimport type { FC } from 'react';\nimport { NodeView } from './StructureView/StructureView';\n\ntype NodeEditorProps = {\n dictionary: Dictionary;\n};\n\nexport const StructureEditor: FC<NodeEditorProps> = ({ dictionary }) => {\n const { content, localId } = dictionary;\n\n const { editedContent } = useEditedContent();\n const initialSection =\n typeof editedContent?.[localId!]?.content === 'undefined'\n ? content\n : editedContent?.[localId!]?.content;\n\n return (\n <NodeView\n section={initialSection}\n keyPath={[]}\n dictionaryLocalId={localId!}\n />\n );\n};\n"],"mappings":"4KAWA,MAAa,GAAwC,CAAE,gBAAiB,CACtE,GAAM,CAAE,UAAS,WAAY,EAEvB,CAAE,iBAAkB,GAAkB,CAM5C,OACE,EAAC,EAAD,CACE,QANK,IAAgB,IAAW,UAAY,OAC1C,EACA,IAAgB,IAAW,QAK7B,QAAS,EAAE,CACX,kBAAmB,EACnB,CAAA"}
|
|
1
|
+
{"version":3,"file":"StructureEditor.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/StructureEditor.tsx"],"sourcesContent":["'use client';\n\nimport { useEditedContent } from '@intlayer/editor-react';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport type { FC } from 'react';\nimport { NodeView } from './StructureView/StructureView';\n\ntype NodeEditorProps = {\n dictionary: Dictionary;\n};\n\nexport const StructureEditor: FC<NodeEditorProps> = ({ dictionary }) => {\n const { content, localId } = dictionary;\n\n const { editedContent } = useEditedContent();\n const initialSection =\n typeof editedContent?.[localId!]?.content === 'undefined'\n ? content\n : editedContent?.[localId!]?.content;\n\n return (\n <NodeView\n section={initialSection}\n keyPath={[]}\n dictionaryLocalId={localId!}\n />\n );\n};\n"],"mappings":"4KAWA,MAAa,GAAwC,CAAE,gBAAiB,CACtE,GAAM,CAAE,UAAS,WAAY,EAEvB,CAAE,iBAAkB,GAAkB,CAM5C,OACE,EAAC,EAAD,CACE,QANK,IAAgB,IAAW,UAAY,OAC1C,EACA,IAAgB,IAAW,QAK7B,QAAS,EAAE,CACX,kBAAmB,EACnB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{Container as e}from"../../Container/index.mjs";import{Button as t,ButtonColor as n,ButtonSize as r,ButtonVariant as i}from"../../Button/Button.mjs";import{InputVariant as a}from"../../Input/Input.mjs";import{EditableFieldInput as o}from"../../EditableField/EditableFieldInput.mjs";import{NodeTypeSelector as s}from"../NodeTypeSelector.mjs";import{Plus as c,Trash as l}from"lucide-react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{useIntlayer as p}from"react-intlayer";import{useConfiguration as m,useEditedContentActions as h,useFocusUnmergedDictionary as g}from"@intlayer/editor-react";import{getDefaultNode as _,getNodeChildren as v,getNodeType as y}from"@intlayer/core/dictionaryManipulator";import{NodeType as b}from"@intlayer/types";import{isSameKeyPath as x}from"@intlayer/core/utils";import{camelCaseToSentence as S}from"@intlayer/config/client";const C=({section:e,dictionaryLocalId:t,keyPath:n,onNodeTypeChange:r})=>{let i=m()?.internationalization.locales??[],a=y(e),o=v(e),c=e=>{r(_(a,i,e))};if(a===b.Translation||a===b.Condition||a===b.Gender||a===b.Enumeration){let l=Object.keys(e[a])[0],u=[...n,{type:a,key:l}];return f(`div`,{className:`flex w-full flex-col gap-1`,children:[d(s,{section:e,onValueChange:e=>r(_(e,i))}),d(C,{section:o,keyPath:u,dictionaryLocalId:t,onNodeTypeChange:c})]})}if(a===b.Array){let l=[...n,{type:a,key:0}];return f(`div`,{className:`flex w-full flex-col gap-1`,children:[d(s,{section:e,onValueChange:e=>r(_(e,i))}),d(C,{section:o,keyPath:l,dictionaryLocalId:t,onNodeTypeChange:c})]})}return a===b.Object?f(u,{children:[d(s,{section:e,onValueChange:e=>r(_(e,i))}),d(`div`,{className:`mt-6 ml-10`,children:d(E,{keyPath:n,section:e,dictionaryLocalId:t})})]}):d(s,{section:e,onValueChange:e=>r(_(e,i))})},w=({sectionKey:s,section:c,keyPath:u,dictionaryLocalId:m})=>{let{focusedContent:_,setFocusedContentKeyPath:v}=g(),{renameEditedContent:y,addEditedContent:b}=h(),{titleInput:w,deleteButton:T}=p(`structure-view`),E=e=>{y(m,e,u);let t=u.slice(0,-1),n=u[u.length-1];v([...t,{...n,key:e}])};return d(e,{transparency:`xl`,roundedSize:`xl`,className:`w-full min-w-80 gap-2 overflow-auto px-5 py-2`,border:!0,borderColor:`text`,background:`none`,"aria-selected":x(u,_?.keyPath??[]),onClick:()=>v(u),children:f(`div`,{className:`flex w-full flex-col items-start justify-between gap-3`,children:[typeof s==`string`&&f(`div`,{className:`w-full`,children:[f(`div`,{className:`flex w-full items-center justify-between gap-10`,children:[d(o,{name:`key`,"aria-label":`Key`,placeholder:w.placeholder.value,defaultValue:s,onSave:e=>E(e),variant:a.INVISIBLE}),d(t,{label:T.label.value,variant:i.HOVERABLE,size:r.ICON_SM,color:n.TEXT,className:`translate-x-2`,Icon:l,onClick:()=>{b(m,void 0,u),v(u.slice(0,-1))}})]}),f(`span`,{className:`ml-3 text-neutral text-sm`,children:[`( `,S(s),` )`]})]}),d(C,{keyPath:u,dictionaryLocalId:m,section:c,onNodeTypeChange:e=>{b(m,e,u)}})]})})},T=({section:e,keyPath:a,dictionaryLocalId:o})=>{let{addNodeButton:s}=p(`structure-view`),{setFocusedContentKeyPath:l}=g(),{addEditedContent:u}=h();return!e||typeof e!=`object`?d(`div`,{children:`Not an object`}):f(`div`,{className:`flex flex-col gap-2 overflow-y-auto`,children:[d(`ul`,{className:`mr-auto flex flex-col gap-4`,children:Object.keys(e).map(t=>d(`li`,{className:`flex w-full`,children:d(w,{sectionKey:t,section:e?.[t],keyPath:[...a,{type:b.Object,key:t}],dictionaryLocalId:o})},`${JSON.stringify(a)}-object-${t}`))}),d(t,{label:s.label.value,variant:i.HOVERABLE,size:r.MD,color:n.TEXT,Icon:c,className:`flex-1`,onClick:()=>{let e=[...a,{type:b.Object,key:`newKey`}];u(o,``,e),l(e)},children:s.text})]})},E=({section:e,keyPath:t,dictionaryLocalId:n})=>!e||typeof e!=`object`||typeof e.nodeType==`string`?d(w,{sectionKey:`content`,section:e,keyPath:t,dictionaryLocalId:n}):d(T,{section:e,keyPath:t,dictionaryLocalId:n});export{w as NodeView,T as ObjectView,E as StructureView};
|
|
1
|
+
"use client";import{Container as e}from"../../Container/index.mjs";import{Button as t,ButtonColor as n,ButtonSize as r,ButtonVariant as i}from"../../Button/Button.mjs";import{InputVariant as a}from"../../Input/Input.mjs";import{EditableFieldInput as o}from"../../EditableField/EditableFieldInput.mjs";import{NodeTypeSelector as s}from"../NodeTypeSelector.mjs";import{Plus as c,Trash as l}from"lucide-react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{useIntlayer as p}from"react-intlayer";import{useConfiguration as m,useEditedContentActions as h,useFocusUnmergedDictionary as g}from"@intlayer/editor-react";import{getDefaultNode as _,getNodeChildren as v,getNodeType as y}from"@intlayer/core/dictionaryManipulator";import{NodeType as b}from"@intlayer/types/nodeType";import{isSameKeyPath as x}from"@intlayer/core/utils";import{camelCaseToSentence as S}from"@intlayer/config/client";const C=({section:e,dictionaryLocalId:t,keyPath:n,onNodeTypeChange:r})=>{let i=m()?.internationalization.locales??[],a=y(e),o=v(e),c=e=>{r(_(a,i,e))};if(a===b.Translation||a===b.Condition||a===b.Gender||a===b.Enumeration){let l=Object.keys(e[a])[0],u=[...n,{type:a,key:l}];return f(`div`,{className:`flex w-full flex-col gap-1`,children:[d(s,{section:e,onValueChange:e=>r(_(e,i))}),d(C,{section:o,keyPath:u,dictionaryLocalId:t,onNodeTypeChange:c})]})}if(a===b.Array){let l=[...n,{type:a,key:0}];return f(`div`,{className:`flex w-full flex-col gap-1`,children:[d(s,{section:e,onValueChange:e=>r(_(e,i))}),d(C,{section:o,keyPath:l,dictionaryLocalId:t,onNodeTypeChange:c})]})}return a===b.Object?f(u,{children:[d(s,{section:e,onValueChange:e=>r(_(e,i))}),d(`div`,{className:`mt-6 ml-10`,children:d(E,{keyPath:n,section:e,dictionaryLocalId:t})})]}):d(s,{section:e,onValueChange:e=>r(_(e,i))})},w=({sectionKey:s,section:c,keyPath:u,dictionaryLocalId:m})=>{let{focusedContent:_,setFocusedContentKeyPath:v}=g(),{renameEditedContent:y,addEditedContent:b}=h(),{titleInput:w,deleteButton:T}=p(`structure-view`),E=e=>{y(m,e,u);let t=u.slice(0,-1),n=u[u.length-1];v([...t,{...n,key:e}])};return d(e,{transparency:`xl`,roundedSize:`xl`,className:`w-full min-w-80 gap-2 overflow-auto px-5 py-2`,border:!0,borderColor:`text`,background:`none`,"aria-selected":x(u,_?.keyPath??[]),onClick:()=>v(u),children:f(`div`,{className:`flex w-full flex-col items-start justify-between gap-3`,children:[typeof s==`string`&&f(`div`,{className:`w-full`,children:[f(`div`,{className:`flex w-full items-center justify-between gap-10`,children:[d(o,{name:`key`,"aria-label":`Key`,placeholder:w.placeholder.value,defaultValue:s,onSave:e=>E(e),variant:a.INVISIBLE}),d(t,{label:T.label.value,variant:i.HOVERABLE,size:r.ICON_SM,color:n.TEXT,className:`translate-x-2`,Icon:l,onClick:()=>{b(m,void 0,u),v(u.slice(0,-1))}})]}),f(`span`,{className:`ml-3 text-neutral text-sm`,children:[`( `,S(s),` )`]})]}),d(C,{keyPath:u,dictionaryLocalId:m,section:c,onNodeTypeChange:e=>{b(m,e,u)}})]})})},T=({section:e,keyPath:a,dictionaryLocalId:o})=>{let{addNodeButton:s}=p(`structure-view`),{setFocusedContentKeyPath:l}=g(),{addEditedContent:u}=h();return!e||typeof e!=`object`?d(`div`,{children:`Not an object`}):f(`div`,{className:`flex flex-col gap-2 overflow-y-auto`,children:[d(`ul`,{className:`mr-auto flex flex-col gap-4`,children:Object.keys(e).map(t=>d(`li`,{className:`flex w-full`,children:d(w,{sectionKey:t,section:e?.[t],keyPath:[...a,{type:b.Object,key:t}],dictionaryLocalId:o})},`${JSON.stringify(a)}-object-${t}`))}),d(t,{label:s.label.value,variant:i.HOVERABLE,size:r.MD,color:n.TEXT,Icon:c,className:`flex-1`,onClick:()=>{let e=[...a,{type:b.Object,key:`newKey`}];u(o,``,e),l(e)},children:s.text})]})},E=({section:e,keyPath:t,dictionaryLocalId:n})=>!e||typeof e!=`object`||typeof e.nodeType==`string`?d(w,{sectionKey:`content`,section:e,keyPath:t,dictionaryLocalId:n}):d(T,{section:e,keyPath:t,dictionaryLocalId:n});export{w as NodeView,T as ObjectView,E as StructureView};
|
|
2
2
|
//# sourceMappingURL=StructureView.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructureView.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/StructureView/StructureView.tsx"],"sourcesContent":["'use client';\n\nimport {\n Button,\n ButtonColor,\n ButtonSize,\n ButtonVariant,\n} from '@components/Button';\nimport { Container } from '@components/Container';\nimport { EditableFieldInput } from '@components/EditableField';\nimport { InputVariant } from '@components/Input';\nimport { camelCaseToSentence } from '@intlayer/config/client';\nimport {\n getDefaultNode,\n getNodeChildren,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport { isSameKeyPath } from '@intlayer/core/utils';\nimport {\n useConfiguration,\n useEditedContentActions,\n useFocusUnmergedDictionary,\n} from '@intlayer/editor-react';\nimport {\n type KeyPath,\n type LocalDictionaryId,\n NodeType,\n type TypedNode,\n} from '@intlayer/types';\nimport type { ContentNode } from 'intlayer';\nimport { Plus, Trash } from 'lucide-react';\nimport type { FC } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { NodeTypeSelector } from '../NodeTypeSelector';\n\ntype NodeTypeViewProps = {\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n onNodeTypeChange: (content?: ContentNode) => void;\n};\n\nconst NodeTypeView: FC<NodeTypeViewProps> = ({\n section,\n dictionaryLocalId,\n keyPath,\n onNodeTypeChange: onNodeTypeChangeProp,\n}) => {\n const locales = useConfiguration()?.internationalization.locales ?? [];\n const nodeType = getNodeType(section);\n const children = getNodeChildren(section);\n\n const onNodeTypeChange = (content?: ContentNode) => {\n const transformedContent = getDefaultNode(\n nodeType,\n locales,\n content\n ) as ContentNode;\n\n onNodeTypeChangeProp(transformedContent);\n };\n\n if (\n nodeType === NodeType.Translation ||\n nodeType === NodeType.Condition ||\n nodeType === NodeType.Gender ||\n nodeType === NodeType.Enumeration\n ) {\n const firstKey = Object.keys(\n (section as unknown as TypedNode)[nodeType as keyof typeof section]\n )[0];\n const childrenKeyPath = [\n ...keyPath,\n { type: nodeType, key: firstKey },\n ] as KeyPath[];\n\n return (\n <div className=\"flex w-full flex-col gap-1\">\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(\n getDefaultNode(nodeType, locales) as ContentNode\n )\n }\n />\n\n <NodeTypeView\n section={children}\n keyPath={childrenKeyPath}\n dictionaryLocalId={dictionaryLocalId}\n onNodeTypeChange={onNodeTypeChange}\n />\n </div>\n );\n }\n\n if (nodeType === NodeType.Array) {\n const childrenKeyPath = [...keyPath, { type: nodeType, key: 0 } as KeyPath];\n return (\n <div className=\"flex w-full flex-col gap-1\">\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(\n getDefaultNode(nodeType, locales) as ContentNode\n )\n }\n />\n\n <NodeTypeView\n section={children}\n keyPath={childrenKeyPath}\n dictionaryLocalId={dictionaryLocalId}\n onNodeTypeChange={onNodeTypeChange}\n />\n </div>\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <>\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(\n getDefaultNode(nodeType, locales) as ContentNode\n )\n }\n />\n <div className=\"mt-6 ml-10\">\n <StructureView\n keyPath={keyPath}\n section={section}\n dictionaryLocalId={dictionaryLocalId}\n />\n </div>\n </>\n );\n }\n\n return (\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(getDefaultNode(nodeType, locales) as ContentNode)\n }\n />\n );\n};\n\ntype NodeWrapperProps = {\n sectionKey?: string;\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n};\n\nexport const NodeView: FC<NodeWrapperProps> = ({\n sectionKey,\n section,\n keyPath,\n dictionaryLocalId,\n}) => {\n const { focusedContent, setFocusedContentKeyPath } =\n useFocusUnmergedDictionary();\n const { renameEditedContent, addEditedContent } = useEditedContentActions();\n\n const { titleInput, deleteButton } = useIntlayer('structure-view');\n\n const handleRenameNodeKey = (keyName: string) => {\n renameEditedContent(dictionaryLocalId, keyName, keyPath);\n const prevKeyPath: KeyPath[] = keyPath.slice(0, -1);\n const lastKeyPath: KeyPath = keyPath[keyPath.length - 1];\n const newKeyPath: KeyPath[] = [\n ...prevKeyPath,\n { ...lastKeyPath, key: keyName } as KeyPath,\n ];\n setFocusedContentKeyPath(newKeyPath);\n };\n\n return (\n <Container\n transparency=\"xl\"\n roundedSize=\"xl\"\n className=\"w-full min-w-80 gap-2 overflow-auto px-5 py-2\"\n border\n borderColor=\"text\"\n background=\"none\"\n aria-selected={isSameKeyPath(keyPath, focusedContent?.keyPath ?? [])}\n onClick={() => setFocusedContentKeyPath(keyPath)}\n >\n <div className=\"flex w-full flex-col items-start justify-between gap-3\">\n {typeof sectionKey === 'string' && (\n <div className=\"w-full\">\n <div className=\"flex w-full items-center justify-between gap-10\">\n <EditableFieldInput\n name=\"key\"\n aria-label=\"Key\"\n placeholder={titleInput.placeholder.value}\n defaultValue={sectionKey}\n onSave={(value) => handleRenameNodeKey(value)}\n variant={InputVariant.INVISIBLE}\n />\n <Button\n label={deleteButton.label.value}\n variant={ButtonVariant.HOVERABLE}\n size={ButtonSize.ICON_SM}\n color={ButtonColor.TEXT}\n className=\"translate-x-2\"\n Icon={Trash}\n onClick={() => {\n addEditedContent(dictionaryLocalId, undefined, keyPath);\n\n const parentKeyPath: KeyPath[] = keyPath.slice(0, -1);\n setFocusedContentKeyPath(parentKeyPath);\n }}\n />\n </div>\n\n <span className=\"ml-3 text-neutral text-sm\">\n ( {camelCaseToSentence(sectionKey)} )\n </span>\n </div>\n )}\n <NodeTypeView\n keyPath={keyPath}\n dictionaryLocalId={dictionaryLocalId}\n section={section}\n onNodeTypeChange={(content) => {\n addEditedContent(dictionaryLocalId, content, keyPath);\n }}\n />\n </div>\n </Container>\n );\n};\n\ntype ObjectViewProps = {\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n};\n\nexport const ObjectView: FC<ObjectViewProps> = ({\n section,\n keyPath,\n dictionaryLocalId,\n}) => {\n const { addNodeButton } = useIntlayer('structure-view');\n const { setFocusedContentKeyPath } = useFocusUnmergedDictionary();\n const { addEditedContent } = useEditedContentActions();\n\n if (!section || typeof section !== 'object') {\n return <div>Not an object</div>;\n }\n\n return (\n <div className=\"flex flex-col gap-2 overflow-y-auto\">\n <ul className=\"mr-auto flex flex-col gap-4\">\n {Object.keys(section).map((key) => (\n <li\n key={`${JSON.stringify(keyPath)}-object-${key}`}\n className=\"flex w-full\"\n >\n <NodeView\n sectionKey={key}\n section={section?.[key as keyof typeof section]}\n keyPath={[...keyPath, { type: NodeType.Object, key }]}\n dictionaryLocalId={dictionaryLocalId}\n />\n </li>\n ))}\n </ul>\n <Button\n label={addNodeButton.label.value}\n variant={ButtonVariant.HOVERABLE}\n size={ButtonSize.MD}\n color={ButtonColor.TEXT}\n Icon={Plus}\n className=\"flex-1\"\n onClick={() => {\n const newKey = 'newKey';\n const newKeyPath = [\n ...keyPath,\n { type: NodeType.Object, key: newKey },\n ] as KeyPath[];\n addEditedContent(dictionaryLocalId, '', newKeyPath);\n setFocusedContentKeyPath(newKeyPath);\n }}\n >\n {addNodeButton.text}\n </Button>\n </div>\n );\n};\n\ntype StructureViewProps = {\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n};\n\nexport const StructureView: FC<StructureViewProps> = ({\n section,\n keyPath,\n dictionaryLocalId,\n}) => {\n if (\n !section ||\n typeof section !== 'object' ||\n typeof section.nodeType === 'string'\n ) {\n return (\n <NodeView\n sectionKey={'content'}\n section={section}\n keyPath={keyPath}\n dictionaryLocalId={dictionaryLocalId}\n />\n );\n }\n\n return (\n <ObjectView\n section={section}\n keyPath={keyPath}\n dictionaryLocalId={dictionaryLocalId}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StructureView.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/StructureView/StructureView.tsx"],"sourcesContent":["'use client';\n\nimport {\n Button,\n ButtonColor,\n ButtonSize,\n ButtonVariant,\n} from '@components/Button';\nimport { Container } from '@components/Container';\nimport { EditableFieldInput } from '@components/EditableField';\nimport { InputVariant } from '@components/Input';\nimport { camelCaseToSentence } from '@intlayer/config/client';\nimport {\n getDefaultNode,\n getNodeChildren,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport { isSameKeyPath } from '@intlayer/core/utils';\nimport {\n useConfiguration,\n useEditedContentActions,\n useFocusUnmergedDictionary,\n} from '@intlayer/editor-react';\nimport type { KeyPath } from '@intlayer/types/keyPath';\nimport type { LocalDictionaryId, TypedNode } from '@intlayer/types/dictionary';;\nimport { NodeType } from '@intlayer/types/nodeType';\nimport type { ContentNode } from 'intlayer';\nimport { Plus, Trash } from 'lucide-react';\nimport type { FC } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { NodeTypeSelector } from '../NodeTypeSelector';\n\ntype NodeTypeViewProps = {\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n onNodeTypeChange: (content?: ContentNode) => void;\n};\n\nconst NodeTypeView: FC<NodeTypeViewProps> = ({\n section,\n dictionaryLocalId,\n keyPath,\n onNodeTypeChange: onNodeTypeChangeProp,\n}) => {\n const locales = useConfiguration()?.internationalization.locales ?? [];\n const nodeType = getNodeType(section);\n const children = getNodeChildren(section);\n\n const onNodeTypeChange = (content?: ContentNode) => {\n const transformedContent = getDefaultNode(\n nodeType,\n locales,\n content\n ) as ContentNode;\n\n onNodeTypeChangeProp(transformedContent);\n };\n\n if (\n nodeType === NodeType.Translation ||\n nodeType === NodeType.Condition ||\n nodeType === NodeType.Gender ||\n nodeType === NodeType.Enumeration\n ) {\n const firstKey = Object.keys(\n (section as unknown as TypedNode)[nodeType as keyof typeof section]\n )[0];\n const childrenKeyPath = [\n ...keyPath,\n { type: nodeType, key: firstKey },\n ] as KeyPath[];\n\n return (\n <div className=\"flex w-full flex-col gap-1\">\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(\n getDefaultNode(nodeType, locales) as ContentNode\n )\n }\n />\n\n <NodeTypeView\n section={children}\n keyPath={childrenKeyPath}\n dictionaryLocalId={dictionaryLocalId}\n onNodeTypeChange={onNodeTypeChange}\n />\n </div>\n );\n }\n\n if (nodeType === NodeType.Array) {\n const childrenKeyPath = [...keyPath, { type: nodeType, key: 0 } as KeyPath];\n return (\n <div className=\"flex w-full flex-col gap-1\">\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(\n getDefaultNode(nodeType, locales) as ContentNode\n )\n }\n />\n\n <NodeTypeView\n section={children}\n keyPath={childrenKeyPath}\n dictionaryLocalId={dictionaryLocalId}\n onNodeTypeChange={onNodeTypeChange}\n />\n </div>\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <>\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(\n getDefaultNode(nodeType, locales) as ContentNode\n )\n }\n />\n <div className=\"mt-6 ml-10\">\n <StructureView\n keyPath={keyPath}\n section={section}\n dictionaryLocalId={dictionaryLocalId}\n />\n </div>\n </>\n );\n }\n\n return (\n <NodeTypeSelector\n section={section}\n onValueChange={(nodeType) =>\n onNodeTypeChangeProp(getDefaultNode(nodeType, locales) as ContentNode)\n }\n />\n );\n};\n\ntype NodeWrapperProps = {\n sectionKey?: string;\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n};\n\nexport const NodeView: FC<NodeWrapperProps> = ({\n sectionKey,\n section,\n keyPath,\n dictionaryLocalId,\n}) => {\n const { focusedContent, setFocusedContentKeyPath } =\n useFocusUnmergedDictionary();\n const { renameEditedContent, addEditedContent } = useEditedContentActions();\n\n const { titleInput, deleteButton } = useIntlayer('structure-view');\n\n const handleRenameNodeKey = (keyName: string) => {\n renameEditedContent(dictionaryLocalId, keyName, keyPath);\n const prevKeyPath: KeyPath[] = keyPath.slice(0, -1);\n const lastKeyPath: KeyPath = keyPath[keyPath.length - 1];\n const newKeyPath: KeyPath[] = [\n ...prevKeyPath,\n { ...lastKeyPath, key: keyName } as KeyPath,\n ];\n setFocusedContentKeyPath(newKeyPath);\n };\n\n return (\n <Container\n transparency=\"xl\"\n roundedSize=\"xl\"\n className=\"w-full min-w-80 gap-2 overflow-auto px-5 py-2\"\n border\n borderColor=\"text\"\n background=\"none\"\n aria-selected={isSameKeyPath(keyPath, focusedContent?.keyPath ?? [])}\n onClick={() => setFocusedContentKeyPath(keyPath)}\n >\n <div className=\"flex w-full flex-col items-start justify-between gap-3\">\n {typeof sectionKey === 'string' && (\n <div className=\"w-full\">\n <div className=\"flex w-full items-center justify-between gap-10\">\n <EditableFieldInput\n name=\"key\"\n aria-label=\"Key\"\n placeholder={titleInput.placeholder.value}\n defaultValue={sectionKey}\n onSave={(value) => handleRenameNodeKey(value)}\n variant={InputVariant.INVISIBLE}\n />\n <Button\n label={deleteButton.label.value}\n variant={ButtonVariant.HOVERABLE}\n size={ButtonSize.ICON_SM}\n color={ButtonColor.TEXT}\n className=\"translate-x-2\"\n Icon={Trash}\n onClick={() => {\n addEditedContent(dictionaryLocalId, undefined, keyPath);\n\n const parentKeyPath: KeyPath[] = keyPath.slice(0, -1);\n setFocusedContentKeyPath(parentKeyPath);\n }}\n />\n </div>\n\n <span className=\"ml-3 text-neutral text-sm\">\n ( {camelCaseToSentence(sectionKey)} )\n </span>\n </div>\n )}\n <NodeTypeView\n keyPath={keyPath}\n dictionaryLocalId={dictionaryLocalId}\n section={section}\n onNodeTypeChange={(content) => {\n addEditedContent(dictionaryLocalId, content, keyPath);\n }}\n />\n </div>\n </Container>\n );\n};\n\ntype ObjectViewProps = {\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n};\n\nexport const ObjectView: FC<ObjectViewProps> = ({\n section,\n keyPath,\n dictionaryLocalId,\n}) => {\n const { addNodeButton } = useIntlayer('structure-view');\n const { setFocusedContentKeyPath } = useFocusUnmergedDictionary();\n const { addEditedContent } = useEditedContentActions();\n\n if (!section || typeof section !== 'object') {\n return <div>Not an object</div>;\n }\n\n return (\n <div className=\"flex flex-col gap-2 overflow-y-auto\">\n <ul className=\"mr-auto flex flex-col gap-4\">\n {Object.keys(section).map((key) => (\n <li\n key={`${JSON.stringify(keyPath)}-object-${key}`}\n className=\"flex w-full\"\n >\n <NodeView\n sectionKey={key}\n section={section?.[key as keyof typeof section]}\n keyPath={[...keyPath, { type: NodeType.Object, key }]}\n dictionaryLocalId={dictionaryLocalId}\n />\n </li>\n ))}\n </ul>\n <Button\n label={addNodeButton.label.value}\n variant={ButtonVariant.HOVERABLE}\n size={ButtonSize.MD}\n color={ButtonColor.TEXT}\n Icon={Plus}\n className=\"flex-1\"\n onClick={() => {\n const newKey = 'newKey';\n const newKeyPath = [\n ...keyPath,\n { type: NodeType.Object, key: newKey },\n ] as KeyPath[];\n addEditedContent(dictionaryLocalId, '', newKeyPath);\n setFocusedContentKeyPath(newKeyPath);\n }}\n >\n {addNodeButton.text}\n </Button>\n </div>\n );\n};\n\ntype StructureViewProps = {\n dictionaryLocalId: LocalDictionaryId;\n keyPath: KeyPath[];\n section: ContentNode;\n};\n\nexport const StructureView: FC<StructureViewProps> = ({\n section,\n keyPath,\n dictionaryLocalId,\n}) => {\n if (\n !section ||\n typeof section !== 'object' ||\n typeof section.nodeType === 'string'\n ) {\n return (\n <NodeView\n sectionKey={'content'}\n section={section}\n keyPath={keyPath}\n dictionaryLocalId={dictionaryLocalId}\n />\n );\n }\n\n return (\n <ObjectView\n section={section}\n keyPath={keyPath}\n dictionaryLocalId={dictionaryLocalId}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getNodeChildren as e,getNodeType as t}from"@intlayer/core/dictionaryManipulator";import{NodeType as n}from"@intlayer/types";const r=i=>{let a=e(i),o=t(i);return a&&(o===n.ReactNode||o===n.File)?!0:a&&typeof a.nodeType==`string`?r(a[a.nodeType]):typeof a==`string`||typeof a==`number`||typeof a==`boolean`||a===void 0};export{r as getIsEditableSection};
|
|
1
|
+
import{getNodeChildren as e,getNodeType as t}from"@intlayer/core/dictionaryManipulator";import{NodeType as n}from"@intlayer/types/nodeType";const r=i=>{let a=e(i),o=t(i);return a&&(o===n.ReactNode||o===n.File)?!0:a&&typeof a.nodeType==`string`?r(a[a.nodeType]):typeof a==`string`||typeof a==`number`||typeof a==`boolean`||a===void 0};export{r as getIsEditableSection};
|
|
2
2
|
//# sourceMappingURL=getIsEditableSection.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsEditableSection.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/getIsEditableSection.ts"],"sourcesContent":["import {\n getNodeChildren,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport {
|
|
1
|
+
{"version":3,"file":"getIsEditableSection.mjs","names":[],"sources":["../../../../src/components/DictionaryFieldEditor/getIsEditableSection.ts"],"sourcesContent":["import {\n getNodeChildren,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport type { ContentNode, TypedNode } from '@intlayer/types/dictionary';\nimport { NodeType } from '@intlayer/types/nodeType';\n\nexport const getIsEditableSection = (section: ContentNode): boolean => {\n const children = getNodeChildren(section);\n const nodeType = getNodeType(section);\n\n if (\n children &&\n (nodeType === NodeType.ReactNode || nodeType === NodeType.File)\n ) {\n return true;\n }\n\n if (children && typeof (children as TypedNode).nodeType === 'string') {\n return getIsEditableSection(\n (children as TypedNode)[\n (children as TypedNode).nodeType as keyof typeof section\n ]\n );\n }\n\n return (\n typeof children === 'string' || // String\n typeof children === 'number' || // Number\n typeof children === 'boolean' || // Boolean\n typeof children === 'undefined' // Undefined like nested field\n );\n};\n"],"mappings":"4IAOA,MAAa,EAAwB,GAAkC,CACrE,IAAM,EAAW,EAAgB,EAAQ,CACnC,EAAW,EAAY,EAAQ,CAiBrC,OAdE,IACC,IAAa,EAAS,WAAa,IAAa,EAAS,MAEnD,GAGL,GAAY,OAAQ,EAAuB,UAAa,SACnD,EACJ,EACE,EAAuB,UAE3B,CAID,OAAO,GAAa,UACpB,OAAO,GAAa,UACpB,OAAO,GAAa,WACb,IAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{cn as e}from"../../utils/cn.mjs";import{Button as t,ButtonColor as n,ButtonSize as r,ButtonVariant as i}from"../Button/Button.mjs";import{
|
|
1
|
+
"use client";import{cn as e}from"../../utils/cn.mjs";import{Button as t,ButtonColor as n,ButtonSize as r,ButtonVariant as i}from"../Button/Button.mjs";import{useCallback as a,useEffect as o,useRef as s,useState as c}from"react";import{Check as l,Pencil as u,X as d}from"lucide-react";import{jsx as f,jsxs as p}from"react/jsx-runtime";const m=({value:m=``,onCancel:h,onSave:g,onClick:_,children:v,isDisabled:y,...b})=>{let[x,S]=c(!1),C=s(null),w=e=>{e.stopPropagation(),S(!1),g()},T=e=>{e.stopPropagation(),S(!1),h()},E=!m||m===``?`-`:m,D=a(e=>{let t=window.getSelection();t&&t.toString().trim()!==``||C.current&&!C.current.contains(e.target)&&(S(!1),g())},[g]);return o(()=>(x?document.addEventListener(`click`,D):document.removeEventListener(`click`,D),()=>document.removeEventListener(`click`,D)),[D,x]),p(`span`,{className:`group/editable-field flex gap-2`,role:`button`,tabIndex:0,onClick:e=>{S(!0),_?.(e)},ref:C,...b,children:[p(`div`,{className:e(`flex flex-1 gap-2`,x?`display`:`hidden`),children:[v,f(t,{label:`Save`,variant:i.HOVERABLE,size:r.ICON_SM,color:n.TEXT,Icon:l,onClick:w,disabled:y,className:`!text-current`,role:`button`,tabIndex:0,"aria-label":`Save changes`,"data-testid":`editable-field-save-button`}),f(t,{label:`Cancel`,color:n.TEXT,variant:i.HOVERABLE,className:`!text-current`,size:r.ICON_SM,Icon:d,onClick:T,disabled:y,role:`button`,tabIndex:0,"aria-label":`Cancel changes`,"data-testid":`editable-field-cancel-button`})]},String(x)),p(`div`,{className:e(`flex flex-1 gap-2`,x?`hidden`:`display`),children:[f(`span`,{className:`ml-2 flex w-full whitespace-pre-wrap p-1 text-sm leading-6`,children:E}),f(t,{label:`Edit`,Icon:u,color:n.TEXT,variant:i.HOVERABLE,size:r.ICON_SM,className:`!text-current invisible group-hover/editable-field:visible`,disabled:y,onClick:e=>{e.stopPropagation(),S(!0)}})]})]})};export{m as EditableFieldLayout};
|
|
2
2
|
//# sourceMappingURL=EditableFieldLayout.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{cn as e}from"../../utils/cn.mjs";import{MaxHeightSmoother as t}from"../MaxHeightSmoother/index.mjs";import{useEffect as n,useRef as r,useState as i}from"react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{useIntlayer as s}from"react-intlayer";const c=({isRollable:c=!0,minHeight:l=700,children:u,className:d})=>{let[f,p]=i(0),[m,h]=i(!0),g=r(null),{expandCollapseContent:_}=s(`expand-collapse`),v=f>l;return n(()=>{g.current&&p(g.current.
|
|
1
|
+
"use client";import{cn as e}from"../../utils/cn.mjs";import{MaxHeightSmoother as t}from"../MaxHeightSmoother/index.mjs";import{useEffect as n,useRef as r,useState as i}from"react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{useIntlayer as s}from"react-intlayer";const c=({isRollable:c=!0,minHeight:l=700,children:u,className:d})=>{let[f,p]=i(0),[m,h]=i(!0),g=r(null),{expandCollapseContent:_}=s(`expand-collapse`),v=f>l;return n(()=>{let e=()=>{g.current&&p(g.current.scrollHeight)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[u]),c?v?o(`div`,{className:`w-full`,children:[a(t,{isHidden:m,minHeight:l,className:`w-full overflow-x-auto overflow-y-hidden`,children:a(`div`,{className:e(`grid min-h-0 w-full`,d),ref:g,children:u})}),v&&a(`button`,{className:e(`flex w-full cursor-pointer items-center justify-center`,`bg-gradient-to-t from-card/80 to-transparent px-3 py-2`,`text-md text-neutral-700 backdrop-blur`,`transition-all duration-300 hover:py-3`,`dark:text-neutral-400`),type:`button`,onClick:()=>h(e=>!e),children:_(m)})]}):a(`div`,{className:e(`grid min-h-0 w-full`,d),ref:g,children:u}):u};export{c as ExpandCollapse};
|
|
2
2
|
//# sourceMappingURL=ExpandCollapse.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandCollapse.mjs","names":[],"sources":["../../../../src/components/ExpandCollapse/ExpandCollapse.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport { type FC, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\n\n/**\n * Props for the ExpandCollapse component\n */\nexport type ExpandCollapseProps = {\n /** Whether the component should provide expand/collapse functionality. If false, renders children directly */\n isRollable?: boolean;\n /** Minimum height in pixels before showing the expand/collapse toggle */\n minHeight?: number;\n /** Content that may overflow and trigger the expand/collapse behavior */\n children: ReactNode;\n /** Additional CSS classes for styling customization */\n className?: string;\n};\n\n/** Default minimum height threshold for triggering expand/collapse behavior */\nconst DEFAULT_MIN_HEIGHT = 700;\n\n/**\n * ExpandCollapse Component\n *\n * A smart content container that automatically provides expand/collapse functionality\n * when content exceeds a specified height threshold. Features smooth animations,\n * internationalized toggle text, and intelligent height detection.\n *\n * @example\n * ```tsx\n * <ExpandCollapse minHeight={300}>\n * <div>Very long content that will be collapsed...</div>\n * </ExpandCollapse>\n * ```\n *\n * ## Key Features\n * - **Smart Detection**: Automatically detects when content exceeds height threshold\n * - **Smooth Animations**: Uses CSS transitions for smooth expand/collapse effects\n * - **Internationalization**: Toggle text supports multiple languages via Intlayer\n * - **Customizable Height**: Configurable minimum height threshold\n * - **Performance Optimized**: Only applies collapse behavior when necessary\n * - **Accessibility**: Proper ARIA attributes and keyboard support\n *\n * ## Behavior Logic\n * 1. **Measurement Phase**: Measures actual content height on mount\n * 2. **Comparison**: Compares content height against minHeight threshold\n * 3. **Conditional Rendering**:\n * - If content ≤ minHeight: Renders normally without collapse functionality\n * - If content > minHeight: Enables expand/collapse with toggle button\n * 4. **State Management**: Manages collapsed/expanded state with smooth transitions\n *\n * ## When to Use\n * - Long-form content (articles, documentation, code blocks)\n * - Lists or tables that may grow beyond comfortable viewing height\n * - User-generated content with unpredictable length\n * - FAQ sections or expandable content cards\n * - Code examples or JSON data display\n *\n * ## Accessibility Features\n * - **Keyboard Navigation**: Toggle button is focusable and keyboard accessible\n * - **Screen Reader Support**: Proper ARIA labels and state announcements\n * - **Visual Indicators**: Clear visual cues for collapsed/expanded states\n * - **Smooth Animations**: Respects user preferences for reduced motion\n *\n * ## Internationalization\n * - Supports multiple languages through Intlayer integration\n * - Toggle text automatically adapts to current locale\n * - Includes translations for \"Show all\" and \"Show less\" states\n *\n * @param props - ExpandCollapseProps\n * @returns React functional component\n */\nexport const ExpandCollapse: FC<ExpandCollapseProps> = ({\n isRollable = true,\n minHeight = DEFAULT_MIN_HEIGHT,\n children,\n className,\n}) => {\n const [codeContainerHeight, setCodeContainerHeight] = useState(0);\n const [isCollapsed, setIsCollapsed] = useState(true);\n const codeContainerRef = useRef<HTMLDivElement>(null);\n const { expandCollapseContent } = useIntlayer('expand-collapse');\n\n const isTooBig = codeContainerHeight > minHeight;\n\n useEffect(() => {\n if (codeContainerRef.current) {\n
|
|
1
|
+
{"version":3,"file":"ExpandCollapse.mjs","names":[],"sources":["../../../../src/components/ExpandCollapse/ExpandCollapse.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport { type FC, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\n\n/**\n * Props for the ExpandCollapse component\n */\nexport type ExpandCollapseProps = {\n /** Whether the component should provide expand/collapse functionality. If false, renders children directly */\n isRollable?: boolean;\n /** Minimum height in pixels before showing the expand/collapse toggle */\n minHeight?: number;\n /** Content that may overflow and trigger the expand/collapse behavior */\n children: ReactNode;\n /** Additional CSS classes for styling customization */\n className?: string;\n};\n\n/** Default minimum height threshold for triggering expand/collapse behavior */\nconst DEFAULT_MIN_HEIGHT = 700;\n\n/**\n * ExpandCollapse Component\n *\n * A smart content container that automatically provides expand/collapse functionality\n * when content exceeds a specified height threshold. Features smooth animations,\n * internationalized toggle text, and intelligent height detection.\n *\n * @example\n * ```tsx\n * <ExpandCollapse minHeight={300}>\n * <div>Very long content that will be collapsed...</div>\n * </ExpandCollapse>\n * ```\n *\n * ## Key Features\n * - **Smart Detection**: Automatically detects when content exceeds height threshold\n * - **Smooth Animations**: Uses CSS transitions for smooth expand/collapse effects\n * - **Internationalization**: Toggle text supports multiple languages via Intlayer\n * - **Customizable Height**: Configurable minimum height threshold\n * - **Performance Optimized**: Only applies collapse behavior when necessary\n * - **Accessibility**: Proper ARIA attributes and keyboard support\n *\n * ## Behavior Logic\n * 1. **Measurement Phase**: Measures actual content height on mount\n * 2. **Comparison**: Compares content height against minHeight threshold\n * 3. **Conditional Rendering**:\n * - If content ≤ minHeight: Renders normally without collapse functionality\n * - If content > minHeight: Enables expand/collapse with toggle button\n * 4. **State Management**: Manages collapsed/expanded state with smooth transitions\n *\n * ## When to Use\n * - Long-form content (articles, documentation, code blocks)\n * - Lists or tables that may grow beyond comfortable viewing height\n * - User-generated content with unpredictable length\n * - FAQ sections or expandable content cards\n * - Code examples or JSON data display\n *\n * ## Accessibility Features\n * - **Keyboard Navigation**: Toggle button is focusable and keyboard accessible\n * - **Screen Reader Support**: Proper ARIA labels and state announcements\n * - **Visual Indicators**: Clear visual cues for collapsed/expanded states\n * - **Smooth Animations**: Respects user preferences for reduced motion\n *\n * ## Internationalization\n * - Supports multiple languages through Intlayer integration\n * - Toggle text automatically adapts to current locale\n * - Includes translations for \"Show all\" and \"Show less\" states\n *\n * @param props - ExpandCollapseProps\n * @returns React functional component\n */\nexport const ExpandCollapse: FC<ExpandCollapseProps> = ({\n isRollable = true,\n minHeight = DEFAULT_MIN_HEIGHT,\n children,\n className,\n}) => {\n const [codeContainerHeight, setCodeContainerHeight] = useState(0);\n const [isCollapsed, setIsCollapsed] = useState(true);\n const codeContainerRef = useRef<HTMLDivElement>(null);\n const { expandCollapseContent } = useIntlayer('expand-collapse');\n\n const isTooBig = codeContainerHeight > minHeight;\n\n useEffect(() => {\n const measure = () => {\n if (codeContainerRef.current) {\n setCodeContainerHeight(codeContainerRef.current.scrollHeight);\n }\n };\n\n measure();\n\n window.addEventListener('resize', measure);\n return () => window.removeEventListener('resize', measure);\n }, [children]);\n\n if (!isRollable) {\n return children;\n }\n\n if (!isTooBig) {\n return (\n <div\n className={cn('grid min-h-0 w-full', className)}\n ref={codeContainerRef}\n >\n {children}\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <MaxHeightSmoother\n isHidden={isCollapsed}\n minHeight={minHeight}\n className=\"w-full overflow-x-auto overflow-y-hidden\"\n >\n <div\n className={cn('grid min-h-0 w-full', className)}\n ref={codeContainerRef}\n >\n {children}\n </div>\n </MaxHeightSmoother>\n\n {isTooBig && (\n <button\n className={cn(\n 'flex w-full cursor-pointer items-center justify-center',\n 'bg-gradient-to-t from-card/80 to-transparent px-3 py-2',\n 'text-md text-neutral-700 backdrop-blur',\n 'transition-all duration-300 hover:py-3',\n 'dark:text-neutral-400'\n )}\n type=\"button\"\n onClick={() => setIsCollapsed((prev) => !prev)}\n >\n {expandCollapseContent(isCollapsed)}\n </button>\n )}\n </div>\n );\n};\n"],"mappings":"mRAsBA,MAqDa,GAA2C,CACtD,aAAa,GACb,YAAY,IACZ,WACA,eACI,CACJ,GAAM,CAAC,EAAqB,GAA0B,EAAS,EAAE,CAC3D,CAAC,EAAa,GAAkB,EAAS,GAAK,CAC9C,EAAmB,EAAuB,KAAK,CAC/C,CAAE,yBAA0B,EAAY,kBAAkB,CAE1D,EAAW,EAAsB,EA8BvC,OA5BA,MAAgB,CACd,IAAM,MAAgB,CAChB,EAAiB,SACnB,EAAuB,EAAiB,QAAQ,aAAa,EAOjE,OAHA,GAAS,CAET,OAAO,iBAAiB,SAAU,EAAQ,KAC7B,OAAO,oBAAoB,SAAU,EAAQ,EACzD,CAAC,EAAS,CAAC,CAET,EAIA,EAYH,EAAC,MAAD,CAAK,UAAU,kBAAf,CACE,EAAC,EAAD,CACE,SAAU,EACC,YACX,UAAU,oDAEV,EAAC,MAAD,CACE,UAAW,EAAG,sBAAuB,EAAU,CAC/C,IAAK,EAEJ,WACG,CAAA,CACY,CAAA,CAEnB,GACC,EAAC,SAAD,CACE,UAAW,EACT,yDACA,yDACA,yCACA,yCACA,wBACD,CACD,KAAK,SACL,YAAe,EAAgB,GAAS,CAAC,EAAK,UAE7C,EAAsB,EAAY,CAC5B,CAAA,CAEP,GAvCJ,EAAC,MAAD,CACE,UAAW,EAAG,sBAAuB,EAAU,CAC/C,IAAK,EAEJ,WACG,CAAA,CAVD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Suspense as e,lazy as t}from"react";import{jsx as n}from"react/jsx-runtime";import{Locales as r}from"@intlayer/types";const i=e=>t(async()=>{let t=(await e()).default;return typeof t==`string`?{default:e=>n(`img`,{src:t,alt:`flag`,...e})}:{default:t}}),a={[r.ENGLISH]:i(()=>import(`./us.mjs`)),[r.FRENCH]:i(()=>import(`./fr.mjs`)),[r.SPANISH]:i(()=>import(`./es.mjs`)),[r.PORTUGUESE]:i(()=>import(`./pt.mjs`)),[r.GERMAN]:i(()=>import(`./de.mjs`)),[r.AFRIKAANS]:i(()=>import(`./za.mjs`)),[r.ARABIC]:i(()=>import(`./sa.mjs`)),[r.AZERI_LATIN]:i(()=>import(`./az.mjs`)),[r.BELARUSIAN]:i(()=>import(`./by.mjs`)),[r.BULGARIAN]:i(()=>import(`./bg.mjs`)),[r.BOSNIAN]:i(()=>import(`./ba.mjs`)),[r.CATALAN]:i(()=>import(`./es-ct.mjs`)),[r.CZECH]:i(()=>import(`./cz.mjs`)),[r.WELSH]:i(()=>import(`./gb-wls.mjs`)),[r.DANISH]:i(()=>import(`./dk.mjs`)),[r.DIVEHI]:i(()=>import(`./mv.mjs`)),[r.GREEK]:i(()=>import(`./gr.mjs`)),[r.ESPERANTO]:i(()=>import(`./xx.mjs`)),[r.ESTONIAN]:i(()=>import(`./ee.mjs`)),[r.BASQUE]:i(()=>import(`./es-pv.mjs`)),[r.FARSI]:i(()=>import(`./ir.mjs`)),[r.FINNISH]:i(()=>import(`./fi.mjs`)),[r.FAROESE]:i(()=>import(`./fo.mjs`)),[r.GALICIAN]:i(()=>import(`./es-ga.mjs`)),[r.GUJARATI]:i(()=>import(`./in.mjs`)),[r.HEBREW]:i(()=>import(`./il.mjs`)),[r.HINDI]:i(()=>import(`./in.mjs`)),[r.CROATIAN]:i(()=>import(`./hr.mjs`)),[r.HUNGARIAN]:i(()=>import(`./hu.mjs`)),[r.ARMENIAN]:i(()=>import(`./am.mjs`)),[r.INDONESIAN]:i(()=>import(`./id.mjs`)),[r.ICELANDIC]:i(()=>import(`./is.mjs`)),[r.ITALIAN]:i(()=>import(`./it.mjs`)),[r.JAPANESE]:i(()=>import(`./jp.mjs`)),[r.GEORGIAN]:i(()=>import(`./ge.mjs`)),[r.KAZAKH]:i(()=>import(`./kz.mjs`)),[r.KANNADA]:i(()=>import(`./in.mjs`)),[r.KOREAN]:i(()=>import(`./kr.mjs`)),[r.KONKANI]:i(()=>import(`./in.mjs`)),[r.KYRGYZ]:i(()=>import(`./kg.mjs`)),[r.LITHUANIAN]:i(()=>import(`./lt.mjs`)),[r.LATVIAN]:i(()=>import(`./lv.mjs`)),[r.MAORI]:i(()=>import(`./nz.mjs`)),[r.FYRO_MACEDONIAN]:i(()=>import(`./mk.mjs`)),[r.MONGOLIAN]:i(()=>import(`./mn.mjs`)),[r.MARATHI]:i(()=>import(`./in.mjs`)),[r.MALAY]:i(()=>import(`./my.mjs`)),[r.MALTESE]:i(()=>import(`./mt.mjs`)),[r.NORWEGIAN_BOKMAL]:i(()=>import(`./no.mjs`)),[r.DUTCH]:i(()=>import(`./nl.mjs`)),[r.NORTHERN_SOTHO]:i(()=>import(`./za.mjs`)),[r.PUNJABI]:i(()=>import(`./in.mjs`)),[r.POLISH]:i(()=>import(`./pl.mjs`)),[r.PASHTO]:i(()=>import(`./af.mjs`)),[r.QUECHUA]:i(()=>import(`./pe.mjs`)),[r.ROMANIAN]:i(()=>import(`./ro.mjs`)),[r.RUSSIAN]:i(()=>import(`./ru.mjs`)),[r.SANSKRIT]:i(()=>import(`./in.mjs`)),[r.SAMI_NORTHERN]:i(()=>import(`./no.mjs`)),[r.SLOVAK]:i(()=>import(`./sk.mjs`)),[r.SLOVENIAN]:i(()=>import(`./si.mjs`)),[r.ALBANIAN]:i(()=>import(`./al.mjs`)),[r.SERBIAN_LATIN]:i(()=>import(`./rs.mjs`)),[r.SWEDISH]:i(()=>import(`./se.mjs`)),[r.SWEDISH_FINLAND]:i(()=>import(`./fi.mjs`)),[r.SWEDISH_SWEDEN]:i(()=>import(`./se.mjs`)),[r.SWAHILI]:i(()=>import(`./ke.mjs`)),[r.SYRIAC]:i(()=>import(`./sy.mjs`)),[r.TAMIL]:i(()=>import(`./in.mjs`)),[r.TELUGU]:i(()=>import(`./in.mjs`)),[r.THAI]:i(()=>import(`./th.mjs`)),[r.TAGALOG]:i(()=>import(`./ph.mjs`)),[r.TSWANA]:i(()=>import(`./za.mjs`)),[r.TURKISH]:i(()=>import(`./tr.mjs`)),[r.TATAR]:i(()=>import(`./ru.mjs`)),[r.UKRAINIAN]:i(()=>import(`./ua.mjs`)),[r.URDU]:i(()=>import(`./pk.mjs`)),[r.UZBEK_LATIN]:i(()=>import(`./uz.mjs`)),[r.VIETNAMESE]:i(()=>import(`./vn.mjs`)),[r.XHOSA]:i(()=>import(`./za.mjs`)),[r.CHINESE_SIMPLIFIED]:i(()=>import(`./cn.mjs`)),[r.CHINESE_TRADITIONAL]:i(()=>import(`./tw.mjs`)),[r.ZULU]:i(()=>import(`./za.mjs`)),[r.AFRIKAANS_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.ARABIC_UNITED_ARAB_EMIRATES]:i(()=>import(`./ae.mjs`)),[r.ARABIC_BAHRAIN]:i(()=>import(`./bh.mjs`)),[r.ARABIC_ALGERIA]:i(()=>import(`./dz.mjs`)),[r.ARABIC_EGYPT]:i(()=>import(`./eg.mjs`)),[r.ARABIC_IRAQ]:i(()=>import(`./iq.mjs`)),[r.ARABIC_JORDAN]:i(()=>import(`./jo.mjs`)),[r.ARABIC_KUWAIT]:i(()=>import(`./kw.mjs`)),[r.ARABIC_LEBANON]:i(()=>import(`./lb.mjs`)),[r.ARABIC_LIBYA]:i(()=>import(`./ly.mjs`)),[r.ARABIC_MOROCCO]:i(()=>import(`./ma.mjs`)),[r.ARABIC_OMAN]:i(()=>import(`./om.mjs`)),[r.ARABIC_QATAR]:i(()=>import(`./qa.mjs`)),[r.ARABIC_SAUDI_ARABIA]:i(()=>import(`./sa.mjs`)),[r.ARABIC_SYRIA]:i(()=>import(`./sy.mjs`)),[r.ARABIC_TUNISIA]:i(()=>import(`./tn.mjs`)),[r.ARABIC_YEMEN]:i(()=>import(`./ye.mjs`)),[r.AZERI_LATIN_AZERBAIJAN]:i(()=>import(`./az.mjs`)),[r.BELARUSIAN_BELARUS]:i(()=>import(`./by.mjs`)),[r.BULGARIAN_BULGARIA]:i(()=>import(`./bg.mjs`)),[r.BOSNIAN_BOSNIA_AND_HERZEGOVINA]:i(()=>import(`./ba.mjs`)),[r.CATALAN_SPAIN]:i(()=>import(`./es-ct.mjs`)),[r.CZECH_CZECH_REPUBLIC]:i(()=>import(`./cz.mjs`)),[r.WELSH_UNITED_KINGDOM]:i(()=>import(`./gb-wls.mjs`)),[r.DANISH_DENMARK]:i(()=>import(`./dk.mjs`)),[r.GERMAN_AUSTRIA]:i(()=>import(`./at.mjs`)),[r.GERMAN_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.GERMAN_GERMANY]:i(()=>import(`./de.mjs`)),[r.GERMAN_LIECHTENSTEIN]:i(()=>import(`./li.mjs`)),[r.GERMAN_LUXEMBOURG]:i(()=>import(`./lu.mjs`)),[r.DIVEHI_MALDIVES]:i(()=>import(`./mv.mjs`)),[r.GREEK_GREECE]:i(()=>import(`./gr.mjs`)),[r.ENGLISH_AUSTRALIA]:i(()=>import(`./au.mjs`)),[r.ENGLISH_BELIZE]:i(()=>import(`./bz.mjs`)),[r.ENGLISH_CANADA]:i(()=>import(`./ca.mjs`)),[r.ENGLISH_CARIBBEAN]:i(()=>import(`./jm.mjs`)),[r.ENGLISH_UNITED_KINGDOM]:i(()=>import(`./gb.mjs`)),[r.ENGLISH_IRELAND]:i(()=>import(`./ie.mjs`)),[r.ENGLISH_JAMAICA]:i(()=>import(`./jm.mjs`)),[r.ENGLISH_NEW_ZEALAND]:i(()=>import(`./nz.mjs`)),[r.ENGLISH_PHILIPPINES]:i(()=>import(`./ph.mjs`)),[r.ENGLISH_TRINIDAD_AND_TOBAGO]:i(()=>import(`./tt.mjs`)),[r.ENGLISH_UNITED_STATES]:i(()=>import(`./us.mjs`)),[r.ENGLISH_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.ENGLISH_ZIMBABWE]:i(()=>import(`./zw.mjs`)),[r.SPANISH_ARGENTINA]:i(()=>import(`./ar.mjs`)),[r.SPANISH_BOLIVIA]:i(()=>import(`./bo.mjs`)),[r.SPANISH_CHILE]:i(()=>import(`./cl.mjs`)),[r.SPANISH_COLOMBIA]:i(()=>import(`./co.mjs`)),[r.SPANISH_COSTA_RICA]:i(()=>import(`./cr.mjs`)),[r.SPANISH_DOMINICAN_REPUBLIC]:i(()=>import(`./do.mjs`)),[r.SPANISH_ECUADOR]:i(()=>import(`./ec.mjs`)),[r.SPANISH_SPAIN]:i(()=>import(`./es.mjs`)),[r.SPANISH_GUATEMALA]:i(()=>import(`./gt.mjs`)),[r.SPANISH_HONDURAS]:i(()=>import(`./hn.mjs`)),[r.SPANISH_MEXICO]:i(()=>import(`./mx.mjs`)),[r.SPANISH_NICARAGUA]:i(()=>import(`./ni.mjs`)),[r.SPANISH_PANAMA]:i(()=>import(`./pa.mjs`)),[r.SPANISH_PERU]:i(()=>import(`./pe.mjs`)),[r.SPANISH_PUERTO_RICO]:i(()=>import(`./pr.mjs`)),[r.SPANISH_PARAGUAY]:i(()=>import(`./py.mjs`)),[r.SPANISH_EL_SALVADOR]:i(()=>import(`./sv.mjs`)),[r.SPANISH_URUGUAY]:i(()=>import(`./uy.mjs`)),[r.SPANISH_VENEZUELA]:i(()=>import(`./ve.mjs`)),[r.ESTONIAN_ESTONIA]:i(()=>import(`./ee.mjs`)),[r.BASQUE_SPAIN]:i(()=>import(`./es-pv.mjs`)),[r.FARSI_IRAN]:i(()=>import(`./ir.mjs`)),[r.FINNISH_FINLAND]:i(()=>import(`./fi.mjs`)),[r.FAROESE_FAROE_ISLANDS]:i(()=>import(`./fo.mjs`)),[r.FRENCH_BELGIUM]:i(()=>import(`./be.mjs`)),[r.FRENCH_CANADA]:i(()=>import(`./ca.mjs`)),[r.FRENCH_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.FRENCH_FRANCE]:i(()=>import(`./fr.mjs`)),[r.FRENCH_LUXEMBOURG]:i(()=>import(`./lu.mjs`)),[r.FRENCH_PRINCIPALITY_OF_MONACO]:i(()=>import(`./mc.mjs`)),[r.GALICIAN_SPAIN]:i(()=>import(`./es-ga.mjs`)),[r.GUJARATI_INDIA]:i(()=>import(`./in.mjs`)),[r.HEBREW_ISRAEL]:i(()=>import(`./il.mjs`)),[r.HINDI_INDIA]:i(()=>import(`./in.mjs`)),[r.CROATIAN_BOSNIA_AND_HERZEGOVINA]:i(()=>import(`./ba.mjs`)),[r.CROATIAN_CROATIA]:i(()=>import(`./hr.mjs`)),[r.HUNGARIAN_HUNGARY]:i(()=>import(`./hu.mjs`)),[r.ARMENIAN_ARMENIA]:i(()=>import(`./am.mjs`)),[r.INDONESIAN_INDONESIA]:i(()=>import(`./id.mjs`)),[r.ICELANDIC_ICELAND]:i(()=>import(`./is.mjs`)),[r.ITALIAN_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.ITALIAN_ITALY]:i(()=>import(`./it.mjs`)),[r.JAPANESE_JAPAN]:i(()=>import(`./jp.mjs`)),[r.GEORGIAN_GEORGIA]:i(()=>import(`./ge.mjs`)),[r.KAZAKH_KAZAKHSTAN]:i(()=>import(`./kz.mjs`)),[r.KANNADA_INDIA]:i(()=>import(`./in.mjs`)),[r.KOREAN_KOREA]:i(()=>import(`./kr.mjs`)),[r.KONKANI_INDIA]:i(()=>import(`./in.mjs`)),[r.KYRGYZ_KYRGYZSTAN]:i(()=>import(`./kg.mjs`)),[r.LITHUANIAN_LITHUANIA]:i(()=>import(`./lt.mjs`)),[r.LATVIAN_LATVIA]:i(()=>import(`./lv.mjs`)),[r.MAORI_NEW_ZEALAND]:i(()=>import(`./nz.mjs`)),[r.FYRO_MACEDONIAN_MACEDONIA]:i(()=>import(`./mk.mjs`)),[r.MONGOLIAN_MONGOLIA]:i(()=>import(`./mn.mjs`)),[r.MARATHI_INDIA]:i(()=>import(`./in.mjs`)),[r.MALAY_BRUNEI_DARUSSALAM]:i(()=>import(`./bn.mjs`)),[r.MALAY_MALAYSIA]:i(()=>import(`./my.mjs`)),[r.MALTESE_MALTA]:i(()=>import(`./mt.mjs`)),[r.NORWEGIAN_BOKMAL_NORWAY]:i(()=>import(`./no.mjs`)),[r.DUTCH_BELGIUM]:i(()=>import(`./be.mjs`)),[r.DUTCH_NETHERLANDS]:i(()=>import(`./nl.mjs`)),[r.NORWEGIAN_NYNORSK_NORWAY]:i(()=>import(`./no.mjs`)),[r.NORTHERN_SOTHO_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.PUNJABI_INDIA]:i(()=>import(`./in.mjs`)),[r.POLISH_POLAND]:i(()=>import(`./pl.mjs`)),[r.PASHTO_AFGHANISTAN]:i(()=>import(`./af.mjs`)),[r.PORTUGUESE_BRAZIL]:i(()=>import(`./br.mjs`)),[r.PORTUGUESE_PORTUGAL]:i(()=>import(`./pt.mjs`)),[r.QUECHUA_BOLIVIA]:i(()=>import(`./bo.mjs`)),[r.QUECHUA_ECUADOR]:i(()=>import(`./ec.mjs`)),[r.QUECHUA_PERU]:i(()=>import(`./pe.mjs`)),[r.ROMANIAN_ROMANIA]:i(()=>import(`./ro.mjs`)),[r.RUSSIAN_RUSSIA]:i(()=>import(`./ru.mjs`)),[r.SANSKRIT_INDIA]:i(()=>import(`./in.mjs`)),[r.SAMI_NORTHERN_FINLAND]:i(()=>import(`./fi.mjs`)),[r.SAMI_NORTHERN_NORWAY]:i(()=>import(`./no.mjs`)),[r.SAMI_NORTHERN_SWEDEN]:i(()=>import(`./se.mjs`)),[r.SLOVAK_SLOVAKIA]:i(()=>import(`./sk.mjs`)),[r.SLOVENIAN_SLOVENIA]:i(()=>import(`./si.mjs`)),[r.ALBANIAN_ALBANIA]:i(()=>import(`./al.mjs`)),[r.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA]:i(()=>import(`./ba.mjs`)),[r.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO]:i(()=>import(`./rs.mjs`)),[r.SWAHILI_KENYA]:i(()=>import(`./ke.mjs`)),[r.SYRIAC_SYRIA]:i(()=>import(`./sy.mjs`)),[r.TAMIL_INDIA]:i(()=>import(`./in.mjs`)),[r.TELUGU_INDIA]:i(()=>import(`./in.mjs`)),[r.THAI_THAILAND]:i(()=>import(`./th.mjs`)),[r.TAGALOG_PHILIPPINES]:i(()=>import(`./ph.mjs`)),[r.TSWANA_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.TURKISH_TURKEY]:i(()=>import(`./tr.mjs`)),[r.TATAR_RUSSIA]:i(()=>import(`./ru.mjs`)),[r.TSOGA]:i(()=>import(`./xx.mjs`)),[r.UKRAINIAN_UKRAINE]:i(()=>import(`./ua.mjs`)),[r.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN]:i(()=>import(`./pk.mjs`)),[r.UZBEK_LATIN_UZBEKISTAN]:i(()=>import(`./uz.mjs`)),[r.VIETNAMESE_VIET_NAM]:i(()=>import(`./vn.mjs`)),[r.XHOSA_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.CHINESE]:i(()=>import(`./cn.mjs`)),[r.CHINESE_SIMPLIFIED_CHINA]:i(()=>import(`./cn.mjs`)),[r.CHINESE_HONG_KONG]:i(()=>import(`./hk.mjs`)),[r.CHINESE_MACAU]:i(()=>import(`./mo.mjs`)),[r.CHINESE_SINGAPORE]:i(()=>import(`./sg.mjs`)),[r.ZULU_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.BENGALI]:i(()=>import(`./in.mjs`)),[r.BENGALI_BANGLADESH]:i(()=>import(`./bd.mjs`)),[r.BENGALI_INDIA]:i(()=>import(`./in.mjs`)),[r.BENGALI_MYANMAR]:i(()=>import(`./mm.mjs`)),[r.BURMESE]:i(()=>import(`./mm.mjs`)),[r.BURMESE_MYANMAR]:i(()=>import(`./mm.mjs`)),[r.KHMER]:i(()=>import(`./kh.mjs`)),[r.KHMER_CAMBODIA]:i(()=>import(`./kh.mjs`)),[r.LAO]:i(()=>import(`./la.mjs`)),[r.LAO_LAOS]:i(()=>import(`./la.mjs`)),[r.YORUBA]:i(()=>import(`./ng.mjs`)),[r.YORUBA_NIGERIA]:i(()=>import(`./ng.mjs`)),[r.AMHARIC]:i(()=>import(`./et.mjs`)),[r.AMHARIC_ETHIOPIA]:i(()=>import(`./et.mjs`)),[r.NEPALI]:i(()=>import(`./np.mjs`)),[r.NEPALI_NEPAL]:i(()=>import(`./np.mjs`)),[r.IRISH]:i(()=>import(`./ie.mjs`)),[r.IRISH_IRELAND]:i(()=>import(`./ie.mjs`)),[r.SCOTTISH_GAELIC]:i(()=>import(`./gb.mjs`)),[r.SCOTTISH_GAELIC_UNITED_KINGDOM]:i(()=>import(`./gb.mjs`)),[r.KURDISH]:i(()=>import(`./tr.mjs`)),[r.KURDISH_TURKEY]:i(()=>import(`./tr.mjs`)),[r.MALAYALAM]:i(()=>import(`./in.mjs`)),[r.MALAYALAM_INDIA]:i(()=>import(`./in.mjs`)),[r.NORWEGIAN]:i(()=>import(`./no.mjs`)),[r.NORWEGIAN_NYNORSK]:i(()=>import(`./no.mjs`)),[r.ROMANIAN_MOLDOVA]:i(()=>import(`./md.mjs`)),[r.ROMANSH]:i(()=>import(`./ch.mjs`)),[r.ROMANSH_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.RUSSIAN_MOLDOVA]:i(()=>import(`./md.mjs`)),[r.UPPER_SORBIAN]:i(()=>import(`./de.mjs`)),[r.UPPER_SORBIAN_GERMANY]:i(()=>import(`./de.mjs`)),[r.LOWER_SORBIAN]:i(()=>import(`./de.mjs`)),[r.LOWER_SORBIAN_GERMANY]:i(()=>import(`./de.mjs`)),[r.VENDA]:i(()=>import(`./za.mjs`)),[r.VENDA_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.YIDDISH]:i(()=>import(`./il.mjs`)),[r.YIDDISH_WORLD]:i(()=>import(`./il.mjs`)),[r.SINHALA]:i(()=>import(`./lk.mjs`)),[r.SINHALA_SRI_LANKA]:i(()=>import(`./lk.mjs`)),[r.SERBIAN_CYRILLIC]:i(()=>import(`./rs.mjs`)),[r.SERBIAN_CYRILLIC_SERBIA]:i(()=>import(`./rs.mjs`)),[r.ENGLISH_INDIA]:i(()=>import(`./in.mjs`)),[r.ENGLISH_SINGAPORE]:i(()=>import(`./sg.mjs`)),[r.ENGLISH_HONG_KONG]:i(()=>import(`./hk.mjs`)),[r.ENGLISH_NIGERIA]:i(()=>import(`./ng.mjs`)),[r.ENGLISH_PAKISTAN]:i(()=>import(`./pk.mjs`)),[r.ENGLISH_MALAYSIA]:i(()=>import(`./my.mjs`)),[r.ENGLISH_BOTSWANA]:i(()=>import(`./bw.mjs`)),[r.ENGLISH_KENYA]:i(()=>import(`./ke.mjs`)),[r.ENGLISH_TANZANIA]:i(()=>import(`./tz.mjs`)),[r.ENGLISH_GHANA]:i(()=>import(`./gh.mjs`)),[r.ENGLISH_UGANDA]:i(()=>import(`./ug.mjs`)),[r.SPANISH_CUBA]:i(()=>import(`./cu.mjs`)),[r.SPANISH_UNITED_STATES]:i(()=>import(`./us.mjs`)),[r.PORTUGUESE_GUINEA_BISSAU]:i(()=>import(`./gw.mjs`)),[r.PORTUGUESE_MOZAMBIQUE]:i(()=>import(`./mz.mjs`)),[r.PORTUGUESE_SAO_TOME_AND_PRINCIPE]:i(()=>import(`./st.mjs`)),[r.PORTUGUESE_CAPE_VERDE]:i(()=>import(`./cv.mjs`)),[r.PORTUGUESE_TIMOR_LESTE]:i(()=>import(`./tl.mjs`)),[r.PORTUGUESE_MACAU]:i(()=>import(`./mo.mjs`)),[r.CHINESE_TAIWAN]:i(()=>import(`./tw.mjs`)),[r.ARABIC_MAURITANIA]:i(()=>import(`./mr.mjs`)),[r.ARABIC_PALESTINE]:i(()=>import(`./ps.mjs`)),[r.ARABIC_SUDAN]:i(()=>import(`./sd.mjs`)),[r.ARABIC_DJIBOUTI]:i(()=>import(`./dj.mjs`)),[r.ARABIC_SOMALIA]:i(()=>import(`./so.mjs`)),[r.ARABIC_CHAD]:i(()=>import(`./td.mjs`)),[r.ARABIC_COMOROS]:i(()=>import(`./km.mjs`))},o=({locale:t,alt:r,...o})=>n(e,{children:n(a[t]??i(()=>import(`./xx.mjs`)),{alt:r??`${t} flag`,...o,role:`img`})});export{o as Flag};
|
|
1
|
+
import{Suspense as e,lazy as t}from"react";import{jsx as n}from"react/jsx-runtime";import*as r from"@intlayer/types/locales";const i=e=>t(async()=>{let t=(await e()).default;return typeof t==`string`?{default:e=>n(`img`,{src:t,alt:`flag`,...e})}:{default:t}}),a={[r.ENGLISH]:i(()=>import(`./us.mjs`)),[r.FRENCH]:i(()=>import(`./fr.mjs`)),[r.SPANISH]:i(()=>import(`./es.mjs`)),[r.PORTUGUESE]:i(()=>import(`./pt.mjs`)),[r.GERMAN]:i(()=>import(`./de.mjs`)),[r.AFRIKAANS]:i(()=>import(`./za.mjs`)),[r.ARABIC]:i(()=>import(`./sa.mjs`)),[r.AZERI_LATIN]:i(()=>import(`./az.mjs`)),[r.BELARUSIAN]:i(()=>import(`./by.mjs`)),[r.BULGARIAN]:i(()=>import(`./bg.mjs`)),[r.BOSNIAN]:i(()=>import(`./ba.mjs`)),[r.CATALAN]:i(()=>import(`./es-ct.mjs`)),[r.CZECH]:i(()=>import(`./cz.mjs`)),[r.WELSH]:i(()=>import(`./gb-wls.mjs`)),[r.DANISH]:i(()=>import(`./dk.mjs`)),[r.DIVEHI]:i(()=>import(`./mv.mjs`)),[r.GREEK]:i(()=>import(`./gr.mjs`)),[r.ESPERANTO]:i(()=>import(`./xx.mjs`)),[r.ESTONIAN]:i(()=>import(`./ee.mjs`)),[r.BASQUE]:i(()=>import(`./es-pv.mjs`)),[r.FARSI]:i(()=>import(`./ir.mjs`)),[r.FINNISH]:i(()=>import(`./fi.mjs`)),[r.FAROESE]:i(()=>import(`./fo.mjs`)),[r.GALICIAN]:i(()=>import(`./es-ga.mjs`)),[r.GUJARATI]:i(()=>import(`./in.mjs`)),[r.HEBREW]:i(()=>import(`./il.mjs`)),[r.HINDI]:i(()=>import(`./in.mjs`)),[r.CROATIAN]:i(()=>import(`./hr.mjs`)),[r.HUNGARIAN]:i(()=>import(`./hu.mjs`)),[r.ARMENIAN]:i(()=>import(`./am.mjs`)),[r.INDONESIAN]:i(()=>import(`./id.mjs`)),[r.ICELANDIC]:i(()=>import(`./is.mjs`)),[r.ITALIAN]:i(()=>import(`./it.mjs`)),[r.JAPANESE]:i(()=>import(`./jp.mjs`)),[r.GEORGIAN]:i(()=>import(`./ge.mjs`)),[r.KAZAKH]:i(()=>import(`./kz.mjs`)),[r.KANNADA]:i(()=>import(`./in.mjs`)),[r.KOREAN]:i(()=>import(`./kr.mjs`)),[r.KONKANI]:i(()=>import(`./in.mjs`)),[r.KYRGYZ]:i(()=>import(`./kg.mjs`)),[r.LITHUANIAN]:i(()=>import(`./lt.mjs`)),[r.LATVIAN]:i(()=>import(`./lv.mjs`)),[r.MAORI]:i(()=>import(`./nz.mjs`)),[r.FYRO_MACEDONIAN]:i(()=>import(`./mk.mjs`)),[r.MONGOLIAN]:i(()=>import(`./mn.mjs`)),[r.MARATHI]:i(()=>import(`./in.mjs`)),[r.MALAY]:i(()=>import(`./my.mjs`)),[r.MALTESE]:i(()=>import(`./mt.mjs`)),[r.NORWEGIAN_BOKMAL]:i(()=>import(`./no.mjs`)),[r.DUTCH]:i(()=>import(`./nl.mjs`)),[r.NORTHERN_SOTHO]:i(()=>import(`./za.mjs`)),[r.PUNJABI]:i(()=>import(`./in.mjs`)),[r.POLISH]:i(()=>import(`./pl.mjs`)),[r.PASHTO]:i(()=>import(`./af.mjs`)),[r.QUECHUA]:i(()=>import(`./pe.mjs`)),[r.ROMANIAN]:i(()=>import(`./ro.mjs`)),[r.RUSSIAN]:i(()=>import(`./ru.mjs`)),[r.SANSKRIT]:i(()=>import(`./in.mjs`)),[r.SAMI_NORTHERN]:i(()=>import(`./no.mjs`)),[r.SLOVAK]:i(()=>import(`./sk.mjs`)),[r.SLOVENIAN]:i(()=>import(`./si.mjs`)),[r.ALBANIAN]:i(()=>import(`./al.mjs`)),[r.SERBIAN_LATIN]:i(()=>import(`./rs.mjs`)),[r.SWEDISH]:i(()=>import(`./se.mjs`)),[r.SWEDISH_FINLAND]:i(()=>import(`./fi.mjs`)),[r.SWEDISH_SWEDEN]:i(()=>import(`./se.mjs`)),[r.SWAHILI]:i(()=>import(`./ke.mjs`)),[r.SYRIAC]:i(()=>import(`./sy.mjs`)),[r.TAMIL]:i(()=>import(`./in.mjs`)),[r.TELUGU]:i(()=>import(`./in.mjs`)),[r.THAI]:i(()=>import(`./th.mjs`)),[r.TAGALOG]:i(()=>import(`./ph.mjs`)),[r.TSWANA]:i(()=>import(`./za.mjs`)),[r.TURKISH]:i(()=>import(`./tr.mjs`)),[r.TATAR]:i(()=>import(`./ru.mjs`)),[r.UKRAINIAN]:i(()=>import(`./ua.mjs`)),[r.URDU]:i(()=>import(`./pk.mjs`)),[r.UZBEK_LATIN]:i(()=>import(`./uz.mjs`)),[r.VIETNAMESE]:i(()=>import(`./vn.mjs`)),[r.XHOSA]:i(()=>import(`./za.mjs`)),[r.CHINESE_SIMPLIFIED]:i(()=>import(`./cn.mjs`)),[r.CHINESE_TRADITIONAL]:i(()=>import(`./tw.mjs`)),[r.ZULU]:i(()=>import(`./za.mjs`)),[r.AFRIKAANS_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.ARABIC_UNITED_ARAB_EMIRATES]:i(()=>import(`./ae.mjs`)),[r.ARABIC_BAHRAIN]:i(()=>import(`./bh.mjs`)),[r.ARABIC_ALGERIA]:i(()=>import(`./dz.mjs`)),[r.ARABIC_EGYPT]:i(()=>import(`./eg.mjs`)),[r.ARABIC_IRAQ]:i(()=>import(`./iq.mjs`)),[r.ARABIC_JORDAN]:i(()=>import(`./jo.mjs`)),[r.ARABIC_KUWAIT]:i(()=>import(`./kw.mjs`)),[r.ARABIC_LEBANON]:i(()=>import(`./lb.mjs`)),[r.ARABIC_LIBYA]:i(()=>import(`./ly.mjs`)),[r.ARABIC_MOROCCO]:i(()=>import(`./ma.mjs`)),[r.ARABIC_OMAN]:i(()=>import(`./om.mjs`)),[r.ARABIC_QATAR]:i(()=>import(`./qa.mjs`)),[r.ARABIC_SAUDI_ARABIA]:i(()=>import(`./sa.mjs`)),[r.ARABIC_SYRIA]:i(()=>import(`./sy.mjs`)),[r.ARABIC_TUNISIA]:i(()=>import(`./tn.mjs`)),[r.ARABIC_YEMEN]:i(()=>import(`./ye.mjs`)),[r.AZERI_LATIN_AZERBAIJAN]:i(()=>import(`./az.mjs`)),[r.BELARUSIAN_BELARUS]:i(()=>import(`./by.mjs`)),[r.BULGARIAN_BULGARIA]:i(()=>import(`./bg.mjs`)),[r.BOSNIAN_BOSNIA_AND_HERZEGOVINA]:i(()=>import(`./ba.mjs`)),[r.CATALAN_SPAIN]:i(()=>import(`./es-ct.mjs`)),[r.CZECH_CZECH_REPUBLIC]:i(()=>import(`./cz.mjs`)),[r.WELSH_UNITED_KINGDOM]:i(()=>import(`./gb-wls.mjs`)),[r.DANISH_DENMARK]:i(()=>import(`./dk.mjs`)),[r.GERMAN_AUSTRIA]:i(()=>import(`./at.mjs`)),[r.GERMAN_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.GERMAN_GERMANY]:i(()=>import(`./de.mjs`)),[r.GERMAN_LIECHTENSTEIN]:i(()=>import(`./li.mjs`)),[r.GERMAN_LUXEMBOURG]:i(()=>import(`./lu.mjs`)),[r.DIVEHI_MALDIVES]:i(()=>import(`./mv.mjs`)),[r.GREEK_GREECE]:i(()=>import(`./gr.mjs`)),[r.ENGLISH_AUSTRALIA]:i(()=>import(`./au.mjs`)),[r.ENGLISH_BELIZE]:i(()=>import(`./bz.mjs`)),[r.ENGLISH_CANADA]:i(()=>import(`./ca.mjs`)),[r.ENGLISH_CARIBBEAN]:i(()=>import(`./jm.mjs`)),[r.ENGLISH_UNITED_KINGDOM]:i(()=>import(`./gb.mjs`)),[r.ENGLISH_IRELAND]:i(()=>import(`./ie.mjs`)),[r.ENGLISH_JAMAICA]:i(()=>import(`./jm.mjs`)),[r.ENGLISH_NEW_ZEALAND]:i(()=>import(`./nz.mjs`)),[r.ENGLISH_PHILIPPINES]:i(()=>import(`./ph.mjs`)),[r.ENGLISH_TRINIDAD_AND_TOBAGO]:i(()=>import(`./tt.mjs`)),[r.ENGLISH_UNITED_STATES]:i(()=>import(`./us.mjs`)),[r.ENGLISH_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.ENGLISH_ZIMBABWE]:i(()=>import(`./zw.mjs`)),[r.SPANISH_ARGENTINA]:i(()=>import(`./ar.mjs`)),[r.SPANISH_BOLIVIA]:i(()=>import(`./bo.mjs`)),[r.SPANISH_CHILE]:i(()=>import(`./cl.mjs`)),[r.SPANISH_COLOMBIA]:i(()=>import(`./co.mjs`)),[r.SPANISH_COSTA_RICA]:i(()=>import(`./cr.mjs`)),[r.SPANISH_DOMINICAN_REPUBLIC]:i(()=>import(`./do.mjs`)),[r.SPANISH_ECUADOR]:i(()=>import(`./ec.mjs`)),[r.SPANISH_SPAIN]:i(()=>import(`./es.mjs`)),[r.SPANISH_GUATEMALA]:i(()=>import(`./gt.mjs`)),[r.SPANISH_HONDURAS]:i(()=>import(`./hn.mjs`)),[r.SPANISH_MEXICO]:i(()=>import(`./mx.mjs`)),[r.SPANISH_NICARAGUA]:i(()=>import(`./ni.mjs`)),[r.SPANISH_PANAMA]:i(()=>import(`./pa.mjs`)),[r.SPANISH_PERU]:i(()=>import(`./pe.mjs`)),[r.SPANISH_PUERTO_RICO]:i(()=>import(`./pr.mjs`)),[r.SPANISH_PARAGUAY]:i(()=>import(`./py.mjs`)),[r.SPANISH_EL_SALVADOR]:i(()=>import(`./sv.mjs`)),[r.SPANISH_URUGUAY]:i(()=>import(`./uy.mjs`)),[r.SPANISH_VENEZUELA]:i(()=>import(`./ve.mjs`)),[r.ESTONIAN_ESTONIA]:i(()=>import(`./ee.mjs`)),[r.BASQUE_SPAIN]:i(()=>import(`./es-pv.mjs`)),[r.FARSI_IRAN]:i(()=>import(`./ir.mjs`)),[r.FINNISH_FINLAND]:i(()=>import(`./fi.mjs`)),[r.FAROESE_FAROE_ISLANDS]:i(()=>import(`./fo.mjs`)),[r.FRENCH_BELGIUM]:i(()=>import(`./be.mjs`)),[r.FRENCH_CANADA]:i(()=>import(`./ca.mjs`)),[r.FRENCH_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.FRENCH_FRANCE]:i(()=>import(`./fr.mjs`)),[r.FRENCH_LUXEMBOURG]:i(()=>import(`./lu.mjs`)),[r.FRENCH_PRINCIPALITY_OF_MONACO]:i(()=>import(`./mc.mjs`)),[r.GALICIAN_SPAIN]:i(()=>import(`./es-ga.mjs`)),[r.GUJARATI_INDIA]:i(()=>import(`./in.mjs`)),[r.HEBREW_ISRAEL]:i(()=>import(`./il.mjs`)),[r.HINDI_INDIA]:i(()=>import(`./in.mjs`)),[r.CROATIAN_BOSNIA_AND_HERZEGOVINA]:i(()=>import(`./ba.mjs`)),[r.CROATIAN_CROATIA]:i(()=>import(`./hr.mjs`)),[r.HUNGARIAN_HUNGARY]:i(()=>import(`./hu.mjs`)),[r.ARMENIAN_ARMENIA]:i(()=>import(`./am.mjs`)),[r.INDONESIAN_INDONESIA]:i(()=>import(`./id.mjs`)),[r.ICELANDIC_ICELAND]:i(()=>import(`./is.mjs`)),[r.ITALIAN_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.ITALIAN_ITALY]:i(()=>import(`./it.mjs`)),[r.JAPANESE_JAPAN]:i(()=>import(`./jp.mjs`)),[r.GEORGIAN_GEORGIA]:i(()=>import(`./ge.mjs`)),[r.KAZAKH_KAZAKHSTAN]:i(()=>import(`./kz.mjs`)),[r.KANNADA_INDIA]:i(()=>import(`./in.mjs`)),[r.KOREAN_KOREA]:i(()=>import(`./kr.mjs`)),[r.KONKANI_INDIA]:i(()=>import(`./in.mjs`)),[r.KYRGYZ_KYRGYZSTAN]:i(()=>import(`./kg.mjs`)),[r.LITHUANIAN_LITHUANIA]:i(()=>import(`./lt.mjs`)),[r.LATVIAN_LATVIA]:i(()=>import(`./lv.mjs`)),[r.MAORI_NEW_ZEALAND]:i(()=>import(`./nz.mjs`)),[r.FYRO_MACEDONIAN_MACEDONIA]:i(()=>import(`./mk.mjs`)),[r.MONGOLIAN_MONGOLIA]:i(()=>import(`./mn.mjs`)),[r.MARATHI_INDIA]:i(()=>import(`./in.mjs`)),[r.MALAY_BRUNEI_DARUSSALAM]:i(()=>import(`./bn.mjs`)),[r.MALAY_MALAYSIA]:i(()=>import(`./my.mjs`)),[r.MALTESE_MALTA]:i(()=>import(`./mt.mjs`)),[r.NORWEGIAN_BOKMAL_NORWAY]:i(()=>import(`./no.mjs`)),[r.DUTCH_BELGIUM]:i(()=>import(`./be.mjs`)),[r.DUTCH_NETHERLANDS]:i(()=>import(`./nl.mjs`)),[r.NORWEGIAN_NYNORSK_NORWAY]:i(()=>import(`./no.mjs`)),[r.NORTHERN_SOTHO_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.PUNJABI_INDIA]:i(()=>import(`./in.mjs`)),[r.POLISH_POLAND]:i(()=>import(`./pl.mjs`)),[r.PASHTO_AFGHANISTAN]:i(()=>import(`./af.mjs`)),[r.PORTUGUESE_BRAZIL]:i(()=>import(`./br.mjs`)),[r.PORTUGUESE_PORTUGAL]:i(()=>import(`./pt.mjs`)),[r.QUECHUA_BOLIVIA]:i(()=>import(`./bo.mjs`)),[r.QUECHUA_ECUADOR]:i(()=>import(`./ec.mjs`)),[r.QUECHUA_PERU]:i(()=>import(`./pe.mjs`)),[r.ROMANIAN_ROMANIA]:i(()=>import(`./ro.mjs`)),[r.RUSSIAN_RUSSIA]:i(()=>import(`./ru.mjs`)),[r.SANSKRIT_INDIA]:i(()=>import(`./in.mjs`)),[r.SAMI_NORTHERN_FINLAND]:i(()=>import(`./fi.mjs`)),[r.SAMI_NORTHERN_NORWAY]:i(()=>import(`./no.mjs`)),[r.SAMI_NORTHERN_SWEDEN]:i(()=>import(`./se.mjs`)),[r.SLOVAK_SLOVAKIA]:i(()=>import(`./sk.mjs`)),[r.SLOVENIAN_SLOVENIA]:i(()=>import(`./si.mjs`)),[r.ALBANIAN_ALBANIA]:i(()=>import(`./al.mjs`)),[r.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA]:i(()=>import(`./ba.mjs`)),[r.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO]:i(()=>import(`./rs.mjs`)),[r.SWAHILI_KENYA]:i(()=>import(`./ke.mjs`)),[r.SYRIAC_SYRIA]:i(()=>import(`./sy.mjs`)),[r.TAMIL_INDIA]:i(()=>import(`./in.mjs`)),[r.TELUGU_INDIA]:i(()=>import(`./in.mjs`)),[r.THAI_THAILAND]:i(()=>import(`./th.mjs`)),[r.TAGALOG_PHILIPPINES]:i(()=>import(`./ph.mjs`)),[r.TSWANA_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.TURKISH_TURKEY]:i(()=>import(`./tr.mjs`)),[r.TATAR_RUSSIA]:i(()=>import(`./ru.mjs`)),[r.TSOGA]:i(()=>import(`./xx.mjs`)),[r.UKRAINIAN_UKRAINE]:i(()=>import(`./ua.mjs`)),[r.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN]:i(()=>import(`./pk.mjs`)),[r.UZBEK_LATIN_UZBEKISTAN]:i(()=>import(`./uz.mjs`)),[r.VIETNAMESE_VIET_NAM]:i(()=>import(`./vn.mjs`)),[r.XHOSA_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.CHINESE]:i(()=>import(`./cn.mjs`)),[r.CHINESE_SIMPLIFIED_CHINA]:i(()=>import(`./cn.mjs`)),[r.CHINESE_HONG_KONG]:i(()=>import(`./hk.mjs`)),[r.CHINESE_MACAU]:i(()=>import(`./mo.mjs`)),[r.CHINESE_SINGAPORE]:i(()=>import(`./sg.mjs`)),[r.ZULU_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.BENGALI]:i(()=>import(`./in.mjs`)),[r.BENGALI_BANGLADESH]:i(()=>import(`./bd.mjs`)),[r.BENGALI_INDIA]:i(()=>import(`./in.mjs`)),[r.BENGALI_MYANMAR]:i(()=>import(`./mm.mjs`)),[r.BURMESE]:i(()=>import(`./mm.mjs`)),[r.BURMESE_MYANMAR]:i(()=>import(`./mm.mjs`)),[r.KHMER]:i(()=>import(`./kh.mjs`)),[r.KHMER_CAMBODIA]:i(()=>import(`./kh.mjs`)),[r.LAO]:i(()=>import(`./la.mjs`)),[r.LAO_LAOS]:i(()=>import(`./la.mjs`)),[r.YORUBA]:i(()=>import(`./ng.mjs`)),[r.YORUBA_NIGERIA]:i(()=>import(`./ng.mjs`)),[r.AMHARIC]:i(()=>import(`./et.mjs`)),[r.AMHARIC_ETHIOPIA]:i(()=>import(`./et.mjs`)),[r.NEPALI]:i(()=>import(`./np.mjs`)),[r.NEPALI_NEPAL]:i(()=>import(`./np.mjs`)),[r.IRISH]:i(()=>import(`./ie.mjs`)),[r.IRISH_IRELAND]:i(()=>import(`./ie.mjs`)),[r.SCOTTISH_GAELIC]:i(()=>import(`./gb.mjs`)),[r.SCOTTISH_GAELIC_UNITED_KINGDOM]:i(()=>import(`./gb.mjs`)),[r.KURDISH]:i(()=>import(`./tr.mjs`)),[r.KURDISH_TURKEY]:i(()=>import(`./tr.mjs`)),[r.MALAYALAM]:i(()=>import(`./in.mjs`)),[r.MALAYALAM_INDIA]:i(()=>import(`./in.mjs`)),[r.NORWEGIAN]:i(()=>import(`./no.mjs`)),[r.NORWEGIAN_NYNORSK]:i(()=>import(`./no.mjs`)),[r.ROMANIAN_MOLDOVA]:i(()=>import(`./md.mjs`)),[r.ROMANSH]:i(()=>import(`./ch.mjs`)),[r.ROMANSH_SWITZERLAND]:i(()=>import(`./ch.mjs`)),[r.RUSSIAN_MOLDOVA]:i(()=>import(`./md.mjs`)),[r.UPPER_SORBIAN]:i(()=>import(`./de.mjs`)),[r.UPPER_SORBIAN_GERMANY]:i(()=>import(`./de.mjs`)),[r.LOWER_SORBIAN]:i(()=>import(`./de.mjs`)),[r.LOWER_SORBIAN_GERMANY]:i(()=>import(`./de.mjs`)),[r.VENDA]:i(()=>import(`./za.mjs`)),[r.VENDA_SOUTH_AFRICA]:i(()=>import(`./za.mjs`)),[r.YIDDISH]:i(()=>import(`./il.mjs`)),[r.YIDDISH_WORLD]:i(()=>import(`./il.mjs`)),[r.SINHALA]:i(()=>import(`./lk.mjs`)),[r.SINHALA_SRI_LANKA]:i(()=>import(`./lk.mjs`)),[r.SERBIAN_CYRILLIC]:i(()=>import(`./rs.mjs`)),[r.SERBIAN_CYRILLIC_SERBIA]:i(()=>import(`./rs.mjs`)),[r.ENGLISH_INDIA]:i(()=>import(`./in.mjs`)),[r.ENGLISH_SINGAPORE]:i(()=>import(`./sg.mjs`)),[r.ENGLISH_HONG_KONG]:i(()=>import(`./hk.mjs`)),[r.ENGLISH_NIGERIA]:i(()=>import(`./ng.mjs`)),[r.ENGLISH_PAKISTAN]:i(()=>import(`./pk.mjs`)),[r.ENGLISH_MALAYSIA]:i(()=>import(`./my.mjs`)),[r.ENGLISH_BOTSWANA]:i(()=>import(`./bw.mjs`)),[r.ENGLISH_KENYA]:i(()=>import(`./ke.mjs`)),[r.ENGLISH_TANZANIA]:i(()=>import(`./tz.mjs`)),[r.ENGLISH_GHANA]:i(()=>import(`./gh.mjs`)),[r.ENGLISH_UGANDA]:i(()=>import(`./ug.mjs`)),[r.SPANISH_CUBA]:i(()=>import(`./cu.mjs`)),[r.SPANISH_UNITED_STATES]:i(()=>import(`./us.mjs`)),[r.PORTUGUESE_GUINEA_BISSAU]:i(()=>import(`./gw.mjs`)),[r.PORTUGUESE_MOZAMBIQUE]:i(()=>import(`./mz.mjs`)),[r.PORTUGUESE_SAO_TOME_AND_PRINCIPE]:i(()=>import(`./st.mjs`)),[r.PORTUGUESE_CAPE_VERDE]:i(()=>import(`./cv.mjs`)),[r.PORTUGUESE_TIMOR_LESTE]:i(()=>import(`./tl.mjs`)),[r.PORTUGUESE_MACAU]:i(()=>import(`./mo.mjs`)),[r.CHINESE_TAIWAN]:i(()=>import(`./tw.mjs`)),[r.ARABIC_MAURITANIA]:i(()=>import(`./mr.mjs`)),[r.ARABIC_PALESTINE]:i(()=>import(`./ps.mjs`)),[r.ARABIC_SUDAN]:i(()=>import(`./sd.mjs`)),[r.ARABIC_DJIBOUTI]:i(()=>import(`./dj.mjs`)),[r.ARABIC_SOMALIA]:i(()=>import(`./so.mjs`)),[r.ARABIC_CHAD]:i(()=>import(`./td.mjs`)),[r.ARABIC_COMOROS]:i(()=>import(`./km.mjs`))},o=({locale:t,alt:r,...o})=>n(e,{children:n(a[t]??i(()=>import(`./xx.mjs`)),{alt:r??`${t} flag`,...o,role:`img`})});export{o as Flag};
|
|
2
2
|
//# sourceMappingURL=Flag.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flag.mjs","names":[],"sources":["../../../../src/components/Flags/Flag.tsx"],"sourcesContent":["import { type Locale, Locales } from '@intlayer/types';\nimport {\n type FC,\n type ImgHTMLAttributes,\n type JSX,\n lazy,\n Suspense,\n} from 'react';\n\ntype FlagProps = ImgHTMLAttributes<HTMLImageElement> & {\n locale: Locale;\n};\n\n// This ensures React.lazy always receives a valid component,\n// regardless of how your bundler loads SVGs.\nconst dynamicFlag = (importFn: () => Promise<any>) =>\n lazy(async () => {\n const module = await importFn();\n const asset = module.default;\n\n // Case A: Bundler returns a URL string (e.g. file-loader)\n // We wrap it in a simple img component\n if (typeof asset === 'string') {\n return {\n default: (props: any) => <img src={asset} alt=\"flag\" {...props} />,\n };\n }\n\n // Case B: Bundler returns a React Component (SVGR)\n // We return it as-is\n return { default: asset };\n });\n\nconst flagRecord: Partial<Record<Locale, ReturnType<typeof dynamicFlag>>> = {\n [Locales.ENGLISH]: dynamicFlag(() => import('./us.svg')),\n [Locales.FRENCH]: dynamicFlag(() => import('./fr.svg')),\n [Locales.SPANISH]: dynamicFlag(() => import('./es.svg')),\n [Locales.PORTUGUESE]: dynamicFlag(() => import('./pt.svg')),\n [Locales.GERMAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.AFRIKAANS]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC]: dynamicFlag(() => import('./sa.svg')),\n [Locales.AZERI_LATIN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN]: dynamicFlag(() => import('./ba.svg')),\n [Locales.CATALAN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH]: dynamicFlag(() => import('./dk.svg')),\n [Locales.DIVEHI]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ESPERANTO]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.ESTONIAN]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE]: dynamicFlag(() => import('./fo.svg')),\n [Locales.GALICIAN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORTHERN_SOTHO]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO]: dynamicFlag(() => import('./af.svg')),\n [Locales.QUECHUA]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN]: dynamicFlag(() => import('./no.svg')), // No specific flag, assuming Norway\n [Locales.SLOVAK]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SWEDISH]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWEDISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SWEDISH_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWAHILI]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR]: dynamicFlag(() => import('./ru.svg')), // Assuming Russian Federation\n [Locales.UKRAINIAN]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU]: dynamicFlag(() => import('./pk.svg')),\n [Locales.UZBEK_LATIN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE_SIMPLIFIED]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_TRADITIONAL]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ZULU]: dynamicFlag(() => import('./za.svg')),\n [Locales.AFRIKAANS_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC_UNITED_ARAB_EMIRATES]: dynamicFlag(() => import('./ae.svg')),\n [Locales.ARABIC_BAHRAIN]: dynamicFlag(() => import('./bh.svg')),\n [Locales.ARABIC_ALGERIA]: dynamicFlag(() => import('./dz.svg')),\n [Locales.ARABIC_EGYPT]: dynamicFlag(() => import('./eg.svg')),\n [Locales.ARABIC_IRAQ]: dynamicFlag(() => import('./iq.svg')),\n [Locales.ARABIC_JORDAN]: dynamicFlag(() => import('./jo.svg')),\n [Locales.ARABIC_KUWAIT]: dynamicFlag(() => import('./kw.svg')),\n [Locales.ARABIC_LEBANON]: dynamicFlag(() => import('./lb.svg')),\n [Locales.ARABIC_LIBYA]: dynamicFlag(() => import('./ly.svg')),\n [Locales.ARABIC_MOROCCO]: dynamicFlag(() => import('./ma.svg')),\n [Locales.ARABIC_OMAN]: dynamicFlag(() => import('./om.svg')),\n [Locales.ARABIC_QATAR]: dynamicFlag(() => import('./qa.svg')),\n [Locales.ARABIC_SAUDI_ARABIA]: dynamicFlag(() => import('./sa.svg')),\n [Locales.ARABIC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.ARABIC_TUNISIA]: dynamicFlag(() => import('./tn.svg')),\n [Locales.ARABIC_YEMEN]: dynamicFlag(() => import('./ye.svg')),\n [Locales.AZERI_LATIN_AZERBAIJAN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN_BELARUS]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN_BULGARIA]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CATALAN_SPAIN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH_CZECH_REPUBLIC]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH_DENMARK]: dynamicFlag(() => import('./dk.svg')),\n [Locales.GERMAN_AUSTRIA]: dynamicFlag(() => import('./at.svg')),\n [Locales.GERMAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.GERMAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.GERMAN_LIECHTENSTEIN]: dynamicFlag(() => import('./li.svg')),\n [Locales.GERMAN_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.DIVEHI_MALDIVES]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK_GREECE]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ENGLISH_AUSTRALIA]: dynamicFlag(() => import('./au.svg')),\n [Locales.ENGLISH_BELIZE]: dynamicFlag(() => import('./bz.svg')),\n [Locales.ENGLISH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.ENGLISH_CARIBBEAN]: dynamicFlag(() => import('./jm.svg')), // Using Jamaica as representative of English-speaking Caribbean\n [Locales.ENGLISH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb.svg')),\n [Locales.ENGLISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.ENGLISH_JAMAICA]: dynamicFlag(() => import('./jm.svg')),\n [Locales.ENGLISH_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.ENGLISH_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.ENGLISH_TRINIDAD_AND_TOBAGO]: dynamicFlag(() => import('./tt.svg')),\n [Locales.ENGLISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.ENGLISH_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ENGLISH_ZIMBABWE]: dynamicFlag(() => import('./zw.svg')),\n [Locales.SPANISH_ARGENTINA]: dynamicFlag(() => import('./ar.svg')),\n [Locales.SPANISH_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.SPANISH_CHILE]: dynamicFlag(() => import('./cl.svg')),\n [Locales.SPANISH_COLOMBIA]: dynamicFlag(() => import('./co.svg')),\n [Locales.SPANISH_COSTA_RICA]: dynamicFlag(() => import('./cr.svg')),\n [Locales.SPANISH_DOMINICAN_REPUBLIC]: dynamicFlag(() => import('./do.svg')),\n [Locales.SPANISH_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.SPANISH_SPAIN]: dynamicFlag(() => import('./es.svg')),\n [Locales.SPANISH_GUATEMALA]: dynamicFlag(() => import('./gt.svg')),\n [Locales.SPANISH_HONDURAS]: dynamicFlag(() => import('./hn.svg')),\n [Locales.SPANISH_MEXICO]: dynamicFlag(() => import('./mx.svg')),\n [Locales.SPANISH_NICARAGUA]: dynamicFlag(() => import('./ni.svg')),\n [Locales.SPANISH_PANAMA]: dynamicFlag(() => import('./pa.svg')),\n [Locales.SPANISH_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.SPANISH_PUERTO_RICO]: dynamicFlag(() => import('./pr.svg')),\n [Locales.SPANISH_PARAGUAY]: dynamicFlag(() => import('./py.svg')),\n [Locales.SPANISH_EL_SALVADOR]: dynamicFlag(() => import('./sv.svg')),\n [Locales.SPANISH_URUGUAY]: dynamicFlag(() => import('./uy.svg')),\n [Locales.SPANISH_VENEZUELA]: dynamicFlag(() => import('./ve.svg')),\n [Locales.ESTONIAN_ESTONIA]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE_SPAIN]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI_IRAN]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE_FAROE_ISLANDS]: dynamicFlag(() => import('./fo.svg')),\n [Locales.FRENCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.FRENCH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.FRENCH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.FRENCH_FRANCE]: dynamicFlag(() => import('./fr.svg')),\n [Locales.FRENCH_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.FRENCH_PRINCIPALITY_OF_MONACO]: dynamicFlag(\n () => import('./mc.svg')\n ),\n [Locales.GALICIAN_SPAIN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW_ISRAEL]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CROATIAN_CROATIA]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN_HUNGARY]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN_ARMENIA]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN_INDONESIA]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC_ICELAND]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ITALIAN_ITALY]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE_JAPAN]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN_GEORGIA]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH_KAZAKHSTAN]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN_KOREA]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ_KYRGYZSTAN]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN_LITHUANIA]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN_LATVIA]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN_MACEDONIA]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN_MONGOLIA]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY_BRUNEI_DARUSSALAM]: dynamicFlag(() => import('./bn.svg')),\n [Locales.MALAY_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE_MALTA]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.DUTCH_NETHERLANDS]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORWEGIAN_NYNORSK_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORTHERN_SOTHO_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH_POLAND]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO_AFGHANISTAN]: dynamicFlag(() => import('./af.svg')),\n [Locales.PORTUGUESE_BRAZIL]: dynamicFlag(() => import('./br.svg')),\n [Locales.PORTUGUESE_PORTUGAL]: dynamicFlag(() => import('./pt.svg')),\n [Locales.QUECHUA_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.QUECHUA_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.QUECHUA_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN_ROMANIA]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SAMI_NORTHERN_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.SAMI_NORTHERN_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SLOVAK_SLOVAKIA]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN_SLOVENIA]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN_ALBANIA]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO]: dynamicFlag(\n () => import('./rs.svg')\n ),\n [Locales.SWAHILI_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI_THAILAND]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.TSOGA]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.UKRAINIAN_UKRAINE]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN]: dynamicFlag(\n () => import('./pk.svg')\n ),\n [Locales.UZBEK_LATIN_UZBEKISTAN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE_VIET_NAM]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_SIMPLIFIED_CHINA]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.CHINESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ZULU_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.BENGALI]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_BANGLADESH]: dynamicFlag(() => import('./bd.svg')),\n [Locales.BENGALI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.KHMER]: dynamicFlag(() => import('./kh.svg')),\n [Locales.KHMER_CAMBODIA]: dynamicFlag(() => import('./kh.svg')),\n [Locales.LAO]: dynamicFlag(() => import('./la.svg')),\n [Locales.LAO_LAOS]: dynamicFlag(() => import('./la.svg')),\n [Locales.YORUBA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.YORUBA_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.AMHARIC]: dynamicFlag(() => import('./et.svg')),\n [Locales.AMHARIC_ETHIOPIA]: dynamicFlag(() => import('./et.svg')),\n [Locales.NEPALI]: dynamicFlag(() => import('./np.svg')),\n [Locales.NEPALI_NEPAL]: dynamicFlag(() => import('./np.svg')),\n [Locales.IRISH]: dynamicFlag(() => import('./ie.svg')),\n [Locales.IRISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.SCOTTISH_GAELIC]: dynamicFlag(() => import('./gb.svg')),\n [Locales.SCOTTISH_GAELIC_UNITED_KINGDOM]: dynamicFlag(\n () => import('./gb.svg')\n ),\n [Locales.KURDISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.KURDISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.MALAYALAM]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAYALAM_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.NORWEGIAN]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORWEGIAN_NYNORSK]: dynamicFlag(() => import('./no.svg')),\n [Locales.ROMANIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.ROMANSH]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ROMANSH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.RUSSIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.UPPER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.UPPER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.VENDA]: dynamicFlag(() => import('./za.svg')),\n [Locales.VENDA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.YIDDISH]: dynamicFlag(() => import('./il.svg')),\n [Locales.YIDDISH_WORLD]: dynamicFlag(() => import('./il.svg')),\n [Locales.SINHALA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SINHALA_SRI_LANKA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SERBIAN_CYRILLIC]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SERBIAN_CYRILLIC_SERBIA]: dynamicFlag(() => import('./rs.svg')),\n [Locales.ENGLISH_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.ENGLISH_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ENGLISH_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.ENGLISH_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.ENGLISH_PAKISTAN]: dynamicFlag(() => import('./pk.svg')),\n [Locales.ENGLISH_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.ENGLISH_BOTSWANA]: dynamicFlag(() => import('./bw.svg')),\n [Locales.ENGLISH_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.ENGLISH_TANZANIA]: dynamicFlag(() => import('./tz.svg')),\n [Locales.ENGLISH_GHANA]: dynamicFlag(() => import('./gh.svg')),\n [Locales.ENGLISH_UGANDA]: dynamicFlag(() => import('./ug.svg')),\n [Locales.SPANISH_CUBA]: dynamicFlag(() => import('./cu.svg')),\n [Locales.SPANISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.PORTUGUESE_GUINEA_BISSAU]: dynamicFlag(() => import('./gw.svg')),\n [Locales.PORTUGUESE_MOZAMBIQUE]: dynamicFlag(() => import('./mz.svg')),\n [Locales.PORTUGUESE_SAO_TOME_AND_PRINCIPE]: dynamicFlag(\n () => import('./st.svg')\n ),\n [Locales.PORTUGUESE_CAPE_VERDE]: dynamicFlag(() => import('./cv.svg')),\n [Locales.PORTUGUESE_TIMOR_LESTE]: dynamicFlag(() => import('./tl.svg')),\n [Locales.PORTUGUESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_TAIWAN]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ARABIC_MAURITANIA]: dynamicFlag(() => import('./mr.svg')),\n [Locales.ARABIC_PALESTINE]: dynamicFlag(() => import('./ps.svg')),\n [Locales.ARABIC_SUDAN]: dynamicFlag(() => import('./sd.svg')),\n [Locales.ARABIC_DJIBOUTI]: dynamicFlag(() => import('./dj.svg')),\n [Locales.ARABIC_SOMALIA]: dynamicFlag(() => import('./so.svg')),\n [Locales.ARABIC_CHAD]: dynamicFlag(() => import('./td.svg')),\n [Locales.ARABIC_COMOROS]: dynamicFlag(() => import('./km.svg')),\n};\n\nexport const Flag: FC<FlagProps> = ({ locale, alt, ...props }): JSX.Element => {\n const LazyFlag = flagRecord[locale] ?? dynamicFlag(() => import('./xx.svg'));\n\n return (\n <Suspense>\n <LazyFlag alt={alt ?? `${locale} flag`} {...(props as any)} role=\"img\" />\n </Suspense>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Flag.mjs","names":[],"sources":["../../../../src/components/Flags/Flag.tsx"],"sourcesContent":["import type { Locale } from '@intlayer/types/allLocales';\nimport * as Locales from '@intlayer/types/locales';\nimport {\n type FC,\n type ImgHTMLAttributes,\n type JSX,\n lazy,\n Suspense,\n} from 'react';\n\ntype FlagProps = ImgHTMLAttributes<HTMLImageElement> & {\n locale: Locale;\n};\n\n// This ensures React.lazy always receives a valid component,\n// regardless of how your bundler loads SVGs.\nconst dynamicFlag = (importFn: () => Promise<any>) =>\n lazy(async () => {\n const module = await importFn();\n const asset = module.default;\n\n // Case A: Bundler returns a URL string (e.g. file-loader)\n // We wrap it in a simple img component\n if (typeof asset === 'string') {\n return {\n default: (props: any) => <img src={asset} alt=\"flag\" {...props} />,\n };\n }\n\n // Case B: Bundler returns a React Component (SVGR)\n // We return it as-is\n return { default: asset };\n });\n\nconst flagRecord: Partial<Record<Locale, ReturnType<typeof dynamicFlag>>> = {\n [Locales.ENGLISH]: dynamicFlag(() => import('./us.svg')),\n [Locales.FRENCH]: dynamicFlag(() => import('./fr.svg')),\n [Locales.SPANISH]: dynamicFlag(() => import('./es.svg')),\n [Locales.PORTUGUESE]: dynamicFlag(() => import('./pt.svg')),\n [Locales.GERMAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.AFRIKAANS]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC]: dynamicFlag(() => import('./sa.svg')),\n [Locales.AZERI_LATIN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN]: dynamicFlag(() => import('./ba.svg')),\n [Locales.CATALAN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH]: dynamicFlag(() => import('./dk.svg')),\n [Locales.DIVEHI]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ESPERANTO]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.ESTONIAN]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE]: dynamicFlag(() => import('./fo.svg')),\n [Locales.GALICIAN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORTHERN_SOTHO]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO]: dynamicFlag(() => import('./af.svg')),\n [Locales.QUECHUA]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN]: dynamicFlag(() => import('./no.svg')), // No specific flag, assuming Norway\n [Locales.SLOVAK]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SWEDISH]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWEDISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SWEDISH_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWAHILI]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR]: dynamicFlag(() => import('./ru.svg')), // Assuming Russian Federation\n [Locales.UKRAINIAN]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU]: dynamicFlag(() => import('./pk.svg')),\n [Locales.UZBEK_LATIN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE_SIMPLIFIED]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_TRADITIONAL]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ZULU]: dynamicFlag(() => import('./za.svg')),\n [Locales.AFRIKAANS_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC_UNITED_ARAB_EMIRATES]: dynamicFlag(() => import('./ae.svg')),\n [Locales.ARABIC_BAHRAIN]: dynamicFlag(() => import('./bh.svg')),\n [Locales.ARABIC_ALGERIA]: dynamicFlag(() => import('./dz.svg')),\n [Locales.ARABIC_EGYPT]: dynamicFlag(() => import('./eg.svg')),\n [Locales.ARABIC_IRAQ]: dynamicFlag(() => import('./iq.svg')),\n [Locales.ARABIC_JORDAN]: dynamicFlag(() => import('./jo.svg')),\n [Locales.ARABIC_KUWAIT]: dynamicFlag(() => import('./kw.svg')),\n [Locales.ARABIC_LEBANON]: dynamicFlag(() => import('./lb.svg')),\n [Locales.ARABIC_LIBYA]: dynamicFlag(() => import('./ly.svg')),\n [Locales.ARABIC_MOROCCO]: dynamicFlag(() => import('./ma.svg')),\n [Locales.ARABIC_OMAN]: dynamicFlag(() => import('./om.svg')),\n [Locales.ARABIC_QATAR]: dynamicFlag(() => import('./qa.svg')),\n [Locales.ARABIC_SAUDI_ARABIA]: dynamicFlag(() => import('./sa.svg')),\n [Locales.ARABIC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.ARABIC_TUNISIA]: dynamicFlag(() => import('./tn.svg')),\n [Locales.ARABIC_YEMEN]: dynamicFlag(() => import('./ye.svg')),\n [Locales.AZERI_LATIN_AZERBAIJAN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN_BELARUS]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN_BULGARIA]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CATALAN_SPAIN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH_CZECH_REPUBLIC]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH_DENMARK]: dynamicFlag(() => import('./dk.svg')),\n [Locales.GERMAN_AUSTRIA]: dynamicFlag(() => import('./at.svg')),\n [Locales.GERMAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.GERMAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.GERMAN_LIECHTENSTEIN]: dynamicFlag(() => import('./li.svg')),\n [Locales.GERMAN_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.DIVEHI_MALDIVES]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK_GREECE]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ENGLISH_AUSTRALIA]: dynamicFlag(() => import('./au.svg')),\n [Locales.ENGLISH_BELIZE]: dynamicFlag(() => import('./bz.svg')),\n [Locales.ENGLISH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.ENGLISH_CARIBBEAN]: dynamicFlag(() => import('./jm.svg')), // Using Jamaica as representative of English-speaking Caribbean\n [Locales.ENGLISH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb.svg')),\n [Locales.ENGLISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.ENGLISH_JAMAICA]: dynamicFlag(() => import('./jm.svg')),\n [Locales.ENGLISH_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.ENGLISH_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.ENGLISH_TRINIDAD_AND_TOBAGO]: dynamicFlag(() => import('./tt.svg')),\n [Locales.ENGLISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.ENGLISH_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ENGLISH_ZIMBABWE]: dynamicFlag(() => import('./zw.svg')),\n [Locales.SPANISH_ARGENTINA]: dynamicFlag(() => import('./ar.svg')),\n [Locales.SPANISH_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.SPANISH_CHILE]: dynamicFlag(() => import('./cl.svg')),\n [Locales.SPANISH_COLOMBIA]: dynamicFlag(() => import('./co.svg')),\n [Locales.SPANISH_COSTA_RICA]: dynamicFlag(() => import('./cr.svg')),\n [Locales.SPANISH_DOMINICAN_REPUBLIC]: dynamicFlag(() => import('./do.svg')),\n [Locales.SPANISH_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.SPANISH_SPAIN]: dynamicFlag(() => import('./es.svg')),\n [Locales.SPANISH_GUATEMALA]: dynamicFlag(() => import('./gt.svg')),\n [Locales.SPANISH_HONDURAS]: dynamicFlag(() => import('./hn.svg')),\n [Locales.SPANISH_MEXICO]: dynamicFlag(() => import('./mx.svg')),\n [Locales.SPANISH_NICARAGUA]: dynamicFlag(() => import('./ni.svg')),\n [Locales.SPANISH_PANAMA]: dynamicFlag(() => import('./pa.svg')),\n [Locales.SPANISH_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.SPANISH_PUERTO_RICO]: dynamicFlag(() => import('./pr.svg')),\n [Locales.SPANISH_PARAGUAY]: dynamicFlag(() => import('./py.svg')),\n [Locales.SPANISH_EL_SALVADOR]: dynamicFlag(() => import('./sv.svg')),\n [Locales.SPANISH_URUGUAY]: dynamicFlag(() => import('./uy.svg')),\n [Locales.SPANISH_VENEZUELA]: dynamicFlag(() => import('./ve.svg')),\n [Locales.ESTONIAN_ESTONIA]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE_SPAIN]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI_IRAN]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE_FAROE_ISLANDS]: dynamicFlag(() => import('./fo.svg')),\n [Locales.FRENCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.FRENCH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.FRENCH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.FRENCH_FRANCE]: dynamicFlag(() => import('./fr.svg')),\n [Locales.FRENCH_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.FRENCH_PRINCIPALITY_OF_MONACO]: dynamicFlag(\n () => import('./mc.svg')\n ),\n [Locales.GALICIAN_SPAIN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW_ISRAEL]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CROATIAN_CROATIA]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN_HUNGARY]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN_ARMENIA]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN_INDONESIA]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC_ICELAND]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ITALIAN_ITALY]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE_JAPAN]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN_GEORGIA]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH_KAZAKHSTAN]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN_KOREA]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ_KYRGYZSTAN]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN_LITHUANIA]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN_LATVIA]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN_MACEDONIA]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN_MONGOLIA]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY_BRUNEI_DARUSSALAM]: dynamicFlag(() => import('./bn.svg')),\n [Locales.MALAY_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE_MALTA]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.DUTCH_NETHERLANDS]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORWEGIAN_NYNORSK_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORTHERN_SOTHO_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH_POLAND]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO_AFGHANISTAN]: dynamicFlag(() => import('./af.svg')),\n [Locales.PORTUGUESE_BRAZIL]: dynamicFlag(() => import('./br.svg')),\n [Locales.PORTUGUESE_PORTUGAL]: dynamicFlag(() => import('./pt.svg')),\n [Locales.QUECHUA_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.QUECHUA_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.QUECHUA_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN_ROMANIA]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SAMI_NORTHERN_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.SAMI_NORTHERN_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SLOVAK_SLOVAKIA]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN_SLOVENIA]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN_ALBANIA]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO]: dynamicFlag(\n () => import('./rs.svg')\n ),\n [Locales.SWAHILI_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI_THAILAND]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.TSOGA]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.UKRAINIAN_UKRAINE]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN]: dynamicFlag(\n () => import('./pk.svg')\n ),\n [Locales.UZBEK_LATIN_UZBEKISTAN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE_VIET_NAM]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_SIMPLIFIED_CHINA]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.CHINESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ZULU_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.BENGALI]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_BANGLADESH]: dynamicFlag(() => import('./bd.svg')),\n [Locales.BENGALI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.KHMER]: dynamicFlag(() => import('./kh.svg')),\n [Locales.KHMER_CAMBODIA]: dynamicFlag(() => import('./kh.svg')),\n [Locales.LAO]: dynamicFlag(() => import('./la.svg')),\n [Locales.LAO_LAOS]: dynamicFlag(() => import('./la.svg')),\n [Locales.YORUBA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.YORUBA_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.AMHARIC]: dynamicFlag(() => import('./et.svg')),\n [Locales.AMHARIC_ETHIOPIA]: dynamicFlag(() => import('./et.svg')),\n [Locales.NEPALI]: dynamicFlag(() => import('./np.svg')),\n [Locales.NEPALI_NEPAL]: dynamicFlag(() => import('./np.svg')),\n [Locales.IRISH]: dynamicFlag(() => import('./ie.svg')),\n [Locales.IRISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.SCOTTISH_GAELIC]: dynamicFlag(() => import('./gb.svg')),\n [Locales.SCOTTISH_GAELIC_UNITED_KINGDOM]: dynamicFlag(\n () => import('./gb.svg')\n ),\n [Locales.KURDISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.KURDISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.MALAYALAM]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAYALAM_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.NORWEGIAN]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORWEGIAN_NYNORSK]: dynamicFlag(() => import('./no.svg')),\n [Locales.ROMANIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.ROMANSH]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ROMANSH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.RUSSIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.UPPER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.UPPER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.VENDA]: dynamicFlag(() => import('./za.svg')),\n [Locales.VENDA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.YIDDISH]: dynamicFlag(() => import('./il.svg')),\n [Locales.YIDDISH_WORLD]: dynamicFlag(() => import('./il.svg')),\n [Locales.SINHALA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SINHALA_SRI_LANKA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SERBIAN_CYRILLIC]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SERBIAN_CYRILLIC_SERBIA]: dynamicFlag(() => import('./rs.svg')),\n [Locales.ENGLISH_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.ENGLISH_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ENGLISH_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.ENGLISH_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.ENGLISH_PAKISTAN]: dynamicFlag(() => import('./pk.svg')),\n [Locales.ENGLISH_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.ENGLISH_BOTSWANA]: dynamicFlag(() => import('./bw.svg')),\n [Locales.ENGLISH_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.ENGLISH_TANZANIA]: dynamicFlag(() => import('./tz.svg')),\n [Locales.ENGLISH_GHANA]: dynamicFlag(() => import('./gh.svg')),\n [Locales.ENGLISH_UGANDA]: dynamicFlag(() => import('./ug.svg')),\n [Locales.SPANISH_CUBA]: dynamicFlag(() => import('./cu.svg')),\n [Locales.SPANISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.PORTUGUESE_GUINEA_BISSAU]: dynamicFlag(() => import('./gw.svg')),\n [Locales.PORTUGUESE_MOZAMBIQUE]: dynamicFlag(() => import('./mz.svg')),\n [Locales.PORTUGUESE_SAO_TOME_AND_PRINCIPE]: dynamicFlag(\n () => import('./st.svg')\n ),\n [Locales.PORTUGUESE_CAPE_VERDE]: dynamicFlag(() => import('./cv.svg')),\n [Locales.PORTUGUESE_TIMOR_LESTE]: dynamicFlag(() => import('./tl.svg')),\n [Locales.PORTUGUESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_TAIWAN]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ARABIC_MAURITANIA]: dynamicFlag(() => import('./mr.svg')),\n [Locales.ARABIC_PALESTINE]: dynamicFlag(() => import('./ps.svg')),\n [Locales.ARABIC_SUDAN]: dynamicFlag(() => import('./sd.svg')),\n [Locales.ARABIC_DJIBOUTI]: dynamicFlag(() => import('./dj.svg')),\n [Locales.ARABIC_SOMALIA]: dynamicFlag(() => import('./so.svg')),\n [Locales.ARABIC_CHAD]: dynamicFlag(() => import('./td.svg')),\n [Locales.ARABIC_COMOROS]: dynamicFlag(() => import('./km.svg')),\n};\n\nexport const Flag: FC<FlagProps> = ({ locale, alt, ...props }): JSX.Element => {\n const LazyFlag = flagRecord[locale] ?? dynamicFlag(() => import('./xx.svg'));\n\n return (\n <Suspense>\n <LazyFlag alt={alt ?? `${locale} flag`} {...(props as any)} role=\"img\" />\n </Suspense>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTMLRender.mjs","names":[],"sources":["../../../../src/components/HTMLRender/HTMLRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types';\nimport type { ComponentProps, FC } from 'react';\nimport {\n type HTMLRenderer as HTMLRendererIntlayer,\n type RenderHTMLProps,\n renderHTML,\n} from 'react-intlayer';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Link } from '../Link';\n\ntype HTMLRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n components?: ComponentProps<typeof HTMLRendererIntlayer>['components'];\n};\n\nexport const getIntlayerHTMLOptions: (isDarkMode: boolean) => RenderHTMLProps =\n () => ({\n components: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} className=\"mt-16\" {...props} />,\n h3: (props) => <H3 isClickable={true} className=\"mt-5\" {...props} />,\n h4: (props) => <H4 isClickable={true} className=\"mt-3\" {...props} />,\n h5: (props) => <H5 isClickable={true} className=\"mt-3\" {...props} />,\n h6: (props) => <H6 isClickable={true} className=\"mt-3\" {...props} />,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n },\n });\n\n/**\n * HTMLRenderer Component\n *\n * A comprehensive HTML renderer that transforms HTML text into rich,\n * interactive content with custom styling and Intlayer integration.\n */\nexport const HTMLRenderer: FC<HTMLRendererProps> = ({\n children,\n isDarkMode,\n locale,\n components: componentsProp,\n}) => {\n const htmlOptions = getIntlayerHTMLOptions(isDarkMode ?? false);\n\n const htmlContent = renderHTML(children, {\n components: {\n ...htmlOptions.components,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n ...componentsProp,\n },\n });\n\n return <>{htmlContent}</>;\n};\n"],"mappings":"4NAiBA,MAAa,OACJ,CACL,WAAY,CACV,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,GAAI,EAAS,CAAA,CACnD,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,QAAQ,GAAI,EAAS,CAAA,CACrE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACZ,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEL,CACF,EAQU,GAAuC,CAClD,WACA,aACA,SACA,WAAY,KAqBL,EAAA,EAAA,CAAA,SAjBa,EAAW,EAAU,CACvC,WAAY,CACV,GAJgB,EAAuB,GAAc,GAAM,CAI5C,WACf,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACJ,SACR,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEJ,GAAG,EACJ,CACF,CAAC,CAEuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"HTMLRender.mjs","names":[],"sources":["../../../../src/components/HTMLRender/HTMLRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { ComponentProps, FC } from 'react';\nimport {\n type HTMLRenderer as HTMLRendererIntlayer,\n type RenderHTMLProps,\n renderHTML,\n} from 'react-intlayer';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Link } from '../Link';\n\ntype HTMLRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n components?: ComponentProps<typeof HTMLRendererIntlayer>['components'];\n};\n\nexport const getIntlayerHTMLOptions: (isDarkMode: boolean) => RenderHTMLProps =\n () => ({\n components: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} className=\"mt-16\" {...props} />,\n h3: (props) => <H3 isClickable={true} className=\"mt-5\" {...props} />,\n h4: (props) => <H4 isClickable={true} className=\"mt-3\" {...props} />,\n h5: (props) => <H5 isClickable={true} className=\"mt-3\" {...props} />,\n h6: (props) => <H6 isClickable={true} className=\"mt-3\" {...props} />,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n },\n });\n\n/**\n * HTMLRenderer Component\n *\n * A comprehensive HTML renderer that transforms HTML text into rich,\n * interactive content with custom styling and Intlayer integration.\n */\nexport const HTMLRenderer: FC<HTMLRendererProps> = ({\n children,\n isDarkMode,\n locale,\n components: componentsProp,\n}) => {\n const htmlOptions = getIntlayerHTMLOptions(isDarkMode ?? false);\n\n const htmlContent = renderHTML(children, {\n components: {\n ...htmlOptions.components,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n ...componentsProp,\n },\n });\n\n return <>{htmlContent}</>;\n};\n"],"mappings":"4NAiBA,MAAa,OACJ,CACL,WAAY,CACV,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,GAAI,EAAS,CAAA,CACnD,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,QAAQ,GAAI,EAAS,CAAA,CACrE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACZ,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEL,CACF,EAQU,GAAuC,CAClD,WACA,aACA,SACA,WAAY,KAqBL,EAAA,EAAA,CAAA,SAjBa,EAAW,EAAU,CACvC,WAAY,CACV,GAJgB,EAAuB,GAAc,GAAM,CAI5C,WACf,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACJ,SACR,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEJ,GAAG,EACJ,CACF,CAAC,CAEuB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{cn as e}from"../../utils/cn.mjs";import{
|
|
1
|
+
"use client";import{cn as e}from"../../utils/cn.mjs";import{useEffect as t,useMemo as n,useRef as r,useState as i}from"react";import{Eye as a,EyeOff as o}from"lucide-react";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=(e,t=6)=>e.replace(RegExp(`.{1,${t}}`,`g`),`$&`),u=({text:u,className:d,visiblePrefixChars:f=6,maskChar:p=`•`,revealDurationMs:m=1e4})=>{let[h,g]=i(!1),_=r(null),v=n(()=>{if(!u)return``;if(f<=0)return p.repeat(u.length);let e=u.slice(0,f),t=Math.max(0,u.length-f);return l(`${e}${p.repeat(t)}`)},[u,f,p]);t(()=>()=>{_.current&&=(window.clearTimeout(_.current),null)},[]);let y=()=>{h||(g(!0),_.current&&=(window.clearTimeout(_.current),null),_.current=window.setTimeout(()=>{g(!1)},m))},b=()=>{g(!1),_.current&&=(window.clearTimeout(_.current),null)},x=h?o:a;return c(`span`,{className:e(`inline-flex max-w-full items-center gap-2 rounded-md p-0.5 hover:cursor-pointer hover:bg-neutral/10`,d),onClick:h?b:y,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h?b():y())},role:`button`,tabIndex:0,children:[s(`span`,{className:`min-w-0 break-all`,children:h?u:v}),s(x,{className:`ml-1 ml-auto size-4 min-w-4 shrink-0`})]})};export{u as HideShow};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlockClient.mjs","names":[],"sources":["../../../../src/components/IDE/CodeBlockClient.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport { type FC, type HTMLAttributes, lazy, Suspense } from 'react';\nimport type { BundledLanguage } from 'shiki/bundle/web';\n\nexport const CodeDefault: FC<{ children: string }> = ({ children }) => (\n <div className=\"min-w-0 max-w-full overflow-x-auto\">\n <pre className=\"min-w-0 max-w-full overflow-x-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">\n <code>\n {typeof children === 'string'\n ? children.split('\\n').map((line, index) => (\n <span\n className=\"line block w-full\"\n key={`line-${index}-${line.slice(0, 10)}`}\n >\n {line}\n </span>\n ))\n : children}\n </code>\n </pre>\n </div>\n);\n\n// Lazy load the Shiki component\nconst CodeBlockShiki = lazy(() =>\n import('./CodeBlockShiki').then((mod) => ({\n default: mod.CodeBlockShiki,\n }))\n);\n\nexport type CodeBlockProps = {\n children: string;\n lang: BundledLanguage;\n isDarkMode?: boolean;\n isEditable?: boolean;\n onChange?: (content: string) => void;\n} & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>;\n\nexport const CodeBlock: FC<CodeBlockProps> = ({\n className,\n onChange,\n isEditable,\n children,\n lang,\n isDarkMode,\n ...props\n}) => (\n <div\n className={cn('flex w-full min-w-0 max-w-full overflow-x-auto', className)}\n {...props}\n >\n <Suspense fallback={<CodeDefault>{children}</CodeDefault>}>\n <CodeBlockShiki lang={lang} isDarkMode={isDarkMode}>\n {children}\n </CodeBlockShiki>\n </Suspense>\n </div>\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CodeBlockClient.mjs","names":[],"sources":["../../../../src/components/IDE/CodeBlockClient.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport { type FC, type HTMLAttributes, lazy, Suspense } from 'react';\nimport type { BundledLanguage } from 'shiki/bundle/web';\n\nexport type { BundledLanguage as CodeLanguage } from 'shiki/bundle/web';\n\nexport const CodeDefault: FC<{ children: string }> = ({ children }) => (\n <div className=\"min-w-0 max-w-full overflow-x-auto\">\n <pre className=\"min-w-0 max-w-full overflow-x-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">\n <code>\n {typeof children === 'string'\n ? children.split('\\n').map((line, index) => (\n <span\n className=\"line block w-full\"\n key={`line-${index}-${line.slice(0, 10)}`}\n >\n {line}\n </span>\n ))\n : children}\n </code>\n </pre>\n </div>\n);\n\n// Lazy load the Shiki component\nconst CodeBlockShiki = lazy(() =>\n import('./CodeBlockShiki').then((mod) => ({\n default: mod.CodeBlockShiki,\n }))\n);\n\nexport type CodeBlockProps = {\n children: string;\n lang: BundledLanguage;\n isDarkMode?: boolean;\n isEditable?: boolean;\n onChange?: (content: string) => void;\n} & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>;\n\nexport const CodeBlock: FC<CodeBlockProps> = ({\n className,\n onChange,\n isEditable,\n children,\n lang,\n isDarkMode,\n ...props\n}) => (\n <div\n className={cn('flex w-full min-w-0 max-w-full overflow-x-auto', className)}\n {...props}\n >\n <Suspense fallback={<CodeDefault>{children}</CodeDefault>}>\n <CodeBlockShiki lang={lang} isDarkMode={isDarkMode}>\n {children}\n </CodeBlockShiki>\n </Suspense>\n </div>\n);\n"],"mappings":"2HAMA,MAAa,GAAyC,CAAE,cACtD,EAAC,MAAD,CAAK,UAAU,8CACb,EAAC,MAAD,CAAK,UAAU,6HACb,EAAC,OAAD,CAAA,SACG,OAAO,GAAa,SACjB,EAAS,MAAM;EAAK,CAAC,KAAK,EAAM,IAC9B,EAAC,OAAD,CACE,UAAU,6BAGT,EACI,CAHA,QAAQ,EAAM,GAAG,EAAK,MAAM,EAAG,GAAG,GAGlC,CACP,CACF,EACC,CAAA,CACH,CAAA,CACF,CAAA,CAIF,EAAiB,MACrB,OAAO,wBAAoB,KAAM,IAAS,CACxC,QAAS,EAAI,eACd,EAAE,CACJ,CAUY,GAAiC,CAC5C,YACA,WACA,aACA,WACA,OACA,aACA,GAAG,KAEH,EAAC,MAAD,CACE,UAAW,EAAG,iDAAkD,EAAU,CAC1E,GAAI,WAEJ,EAAC,EAAD,CAAU,SAAU,EAAC,EAAD,CAAc,WAAuB,CAAA,UACvD,EAAC,EAAD,CAAsB,OAAkB,aACrC,WACc,CAAA,CACR,CAAA,CACP,CAAA"}
|