@intlayer/design-system 8.1.2 → 8.1.3
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/_virtual/_rolldown/runtime.mjs +1 -18
- package/dist/esm/components/Accordion/Accordion.mjs +1 -99
- package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
- package/dist/esm/components/Accordion/index.mjs +1 -3
- package/dist/esm/components/Avatar/index.mjs +1 -126
- package/dist/esm/components/Avatar/index.mjs.map +1 -1
- package/dist/esm/components/Badge/index.mjs +1 -150
- package/dist/esm/components/Badge/index.mjs.map +1 -1
- package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs +1 -32
- package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs.map +1 -1
- package/dist/esm/components/Breadcrumb/index.mjs +1 -232
- package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
- package/dist/esm/components/Browser/Browser.content.mjs +1 -179
- package/dist/esm/components/Browser/Browser.content.mjs.map +1 -1
- package/dist/esm/components/Browser/Browser.mjs +1 -249
- package/dist/esm/components/Browser/Browser.mjs.map +1 -1
- package/dist/esm/components/Browser/index.mjs +1 -3
- package/dist/esm/components/Button/Button.mjs +1 -287
- package/dist/esm/components/Button/Button.mjs.map +1 -1
- package/dist/esm/components/Button/index.mjs +1 -3
- package/dist/esm/components/Carousel/index.content.mjs +1 -79
- package/dist/esm/components/Carousel/index.content.mjs.map +1 -1
- package/dist/esm/components/Carousel/index.mjs +4 -270
- package/dist/esm/components/Carousel/index.mjs.map +1 -1
- package/dist/esm/components/ClickOutsideDiv/index.mjs +1 -42
- package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
- package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -246
- package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
- package/dist/esm/components/CollapsibleTable/index.mjs +1 -3
- package/dist/esm/components/Command/index.mjs +1 -88
- package/dist/esm/components/Command/index.mjs.map +1 -1
- package/dist/esm/components/Container/index.mjs +1 -203
- package/dist/esm/components/Container/index.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -107
- package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -110
- package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -113
- package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/index.mjs +1 -5
- package/dist/esm/components/ContentSelector/ContentSelector.mjs +1 -81
- package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
- package/dist/esm/components/ContentSelector/index.mjs +1 -3
- package/dist/esm/components/CopyButton/CopyButton.content.mjs +1 -32
- package/dist/esm/components/CopyButton/CopyButton.content.mjs.map +1 -1
- package/dist/esm/components/CopyButton/index.mjs +1 -121
- package/dist/esm/components/CopyButton/index.mjs.map +1 -1
- package/dist/esm/components/CopyToClipboard/index.mjs +1 -101
- package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +1 -31
- package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/ItemLayout.mjs +1 -36
- package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -35
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -32
- package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -32
- package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -36
- package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs +1 -21
- package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +1 -21
- package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -21
- package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -39
- package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +1 -35
- package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -22
- package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -88
- package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/index.mjs +1 -3
- package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +1 -61
- package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -661
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -64
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs +1 -268
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs +1 -98
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs +1 -14
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -328
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +1 -575
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs +1 -338
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs +1 -29
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -112
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs +1 -98
- package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs +1 -28
- package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs +1 -22
- package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -172
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs +1 -268
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +1 -84
- package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -153
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +1 -350
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs +1 -19
- package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -199
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs +1 -100
- package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +1 -73
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +1 -27
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/index.mjs +1 -4
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs +1 -78
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs +1 -58
- package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs +1 -14
- package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/index.mjs +1 -10
- package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs +1 -318
- package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
- package/dist/esm/components/DropDown/index.mjs +1 -177
- package/dist/esm/components/DropDown/index.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldInput.mjs +1 -68
- package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -103
- package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldTextArea.mjs +1 -77
- package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
- package/dist/esm/components/EditableField/index.mjs +1 -4
- package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +1 -96
- package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
- package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs +1 -58
- package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs.map +1 -1
- package/dist/esm/components/ExpandCollapse/index.mjs +1 -3
- package/dist/esm/components/Flags/Flag.mjs +1 -326
- package/dist/esm/components/Flags/Flag.mjs.map +1 -1
- package/dist/esm/components/Flags/ae.mjs +1 -36
- package/dist/esm/components/Flags/ae.mjs.map +1 -1
- package/dist/esm/components/Flags/af.mjs +1 -96
- package/dist/esm/components/Flags/af.mjs.map +1 -1
- package/dist/esm/components/Flags/al.mjs +1 -37
- package/dist/esm/components/Flags/al.mjs.map +1 -1
- package/dist/esm/components/Flags/am.mjs +1 -33
- package/dist/esm/components/Flags/am.mjs.map +1 -1
- package/dist/esm/components/Flags/ar.mjs +1 -160
- package/dist/esm/components/Flags/ar.mjs.map +1 -1
- package/dist/esm/components/Flags/at.mjs +1 -30
- package/dist/esm/components/Flags/at.mjs.map +1 -1
- package/dist/esm/components/Flags/au.mjs +1 -42
- package/dist/esm/components/Flags/au.mjs.map +1 -1
- package/dist/esm/components/Flags/az.mjs +1 -46
- package/dist/esm/components/Flags/az.mjs.map +1 -1
- package/dist/esm/components/Flags/ba.mjs +1 -40
- package/dist/esm/components/Flags/ba.mjs.map +1 -1
- package/dist/esm/components/Flags/bd.mjs +1 -32
- package/dist/esm/components/Flags/bd.mjs.map +1 -1
- package/dist/esm/components/Flags/be.mjs +1 -36
- package/dist/esm/components/Flags/be.mjs.map +1 -1
- package/dist/esm/components/Flags/bg.mjs +1 -33
- package/dist/esm/components/Flags/bg.mjs.map +1 -1
- package/dist/esm/components/Flags/bh.mjs +1 -30
- package/dist/esm/components/Flags/bh.mjs.map +1 -1
- package/dist/esm/components/Flags/bn.mjs +1 -42
- package/dist/esm/components/Flags/bn.mjs.map +1 -1
- package/dist/esm/components/Flags/bo.mjs +1 -3030
- package/dist/esm/components/Flags/bo.mjs.map +1 -1
- package/dist/esm/components/Flags/br.mjs +1 -106
- package/dist/esm/components/Flags/br.mjs.map +1 -1
- package/dist/esm/components/Flags/bw.mjs +1 -33
- package/dist/esm/components/Flags/bw.mjs.map +1 -1
- package/dist/esm/components/Flags/by.mjs +1 -45
- package/dist/esm/components/Flags/by.mjs.map +1 -1
- package/dist/esm/components/Flags/bz.mjs +1 -338
- package/dist/esm/components/Flags/bz.mjs.map +1 -1
- package/dist/esm/components/Flags/ca.mjs +1 -30
- package/dist/esm/components/Flags/ca.mjs.map +1 -1
- package/dist/esm/components/Flags/ch.mjs +1 -30
- package/dist/esm/components/Flags/ch.mjs.map +1 -1
- package/dist/esm/components/Flags/cl.mjs +1 -43
- package/dist/esm/components/Flags/cl.mjs.map +1 -1
- package/dist/esm/components/Flags/cn.mjs +1 -57
- package/dist/esm/components/Flags/cn.mjs.map +1 -1
- package/dist/esm/components/Flags/co.mjs +1 -36
- package/dist/esm/components/Flags/co.mjs.map +1 -1
- package/dist/esm/components/Flags/cr.mjs +1 -36
- package/dist/esm/components/Flags/cr.mjs.map +1 -1
- package/dist/esm/components/Flags/cu.mjs +1 -43
- package/dist/esm/components/Flags/cu.mjs.map +1 -1
- package/dist/esm/components/Flags/cv.mjs +1 -43
- package/dist/esm/components/Flags/cv.mjs.map +1 -1
- package/dist/esm/components/Flags/cz.mjs +1 -33
- package/dist/esm/components/Flags/cz.mjs.map +1 -1
- package/dist/esm/components/Flags/de.mjs +1 -33
- package/dist/esm/components/Flags/de.mjs.map +1 -1
- package/dist/esm/components/Flags/dj.mjs +1 -43
- package/dist/esm/components/Flags/dj.mjs.map +1 -1
- package/dist/esm/components/Flags/dk.mjs +1 -33
- package/dist/esm/components/Flags/dk.mjs.map +1 -1
- package/dist/esm/components/Flags/do.mjs +1 -211
- package/dist/esm/components/Flags/do.mjs.map +1 -1
- package/dist/esm/components/Flags/dz.mjs +1 -33
- package/dist/esm/components/Flags/dz.mjs.map +1 -1
- package/dist/esm/components/Flags/ec.mjs +1 -622
- package/dist/esm/components/Flags/ec.mjs.map +1 -1
- package/dist/esm/components/Flags/ee.mjs +1 -33
- package/dist/esm/components/Flags/ee.mjs.map +1 -1
- package/dist/esm/components/Flags/eg.mjs +1 -112
- package/dist/esm/components/Flags/eg.mjs.map +1 -1
- package/dist/esm/components/Flags/es-ct.mjs +1 -32
- package/dist/esm/components/Flags/es-ct.mjs.map +1 -1
- package/dist/esm/components/Flags/es-ga.mjs +1 -792
- package/dist/esm/components/Flags/es-ga.mjs.map +1 -1
- package/dist/esm/components/Flags/es-pv.mjs +1 -33
- package/dist/esm/components/Flags/es-pv.mjs.map +1 -1
- package/dist/esm/components/Flags/es.mjs +1 -2226
- package/dist/esm/components/Flags/es.mjs.map +1 -1
- package/dist/esm/components/Flags/et.mjs +1 -50
- package/dist/esm/components/Flags/et.mjs.map +1 -1
- package/dist/esm/components/Flags/fi.mjs +1 -33
- package/dist/esm/components/Flags/fi.mjs.map +1 -1
- package/dist/esm/components/Flags/flags.mjs +1 -1363
- package/dist/esm/components/Flags/flags.mjs.map +1 -1
- package/dist/esm/components/Flags/fo.mjs +1 -41
- package/dist/esm/components/Flags/fo.mjs.map +1 -1
- package/dist/esm/components/Flags/fr.mjs +1 -33
- package/dist/esm/components/Flags/fr.mjs.map +1 -1
- package/dist/esm/components/Flags/gb-wls.mjs +1 -43
- package/dist/esm/components/Flags/gb-wls.mjs.map +1 -1
- package/dist/esm/components/Flags/gb.mjs +1 -39
- package/dist/esm/components/Flags/gb.mjs.map +1 -1
- package/dist/esm/components/Flags/ge.mjs +1 -37
- package/dist/esm/components/Flags/ge.mjs.map +1 -1
- package/dist/esm/components/Flags/gh.mjs +1 -36
- package/dist/esm/components/Flags/gh.mjs.map +1 -1
- package/dist/esm/components/Flags/gr.mjs +1 -66
- package/dist/esm/components/Flags/gr.mjs.map +1 -1
- package/dist/esm/components/Flags/gt.mjs +1 -461
- package/dist/esm/components/Flags/gt.mjs.map +1 -1
- package/dist/esm/components/Flags/gw.mjs +1 -67
- package/dist/esm/components/Flags/gw.mjs.map +1 -1
- package/dist/esm/components/Flags/hk.mjs +1 -44
- package/dist/esm/components/Flags/hk.mjs.map +1 -1
- package/dist/esm/components/Flags/hn.mjs +1 -83
- package/dist/esm/components/Flags/hn.mjs.map +1 -1
- package/dist/esm/components/Flags/hr.mjs +1 -94
- package/dist/esm/components/Flags/hr.mjs.map +1 -1
- package/dist/esm/components/Flags/hu.mjs +1 -33
- package/dist/esm/components/Flags/hu.mjs.map +1 -1
- package/dist/esm/components/Flags/id.mjs +1 -30
- package/dist/esm/components/Flags/id.mjs.map +1 -1
- package/dist/esm/components/Flags/ie.mjs +1 -36
- package/dist/esm/components/Flags/ie.mjs.map +1 -1
- package/dist/esm/components/Flags/il.mjs +1 -46
- package/dist/esm/components/Flags/il.mjs.map +1 -1
- package/dist/esm/components/Flags/in.mjs +1 -74
- package/dist/esm/components/Flags/in.mjs.map +1 -1
- package/dist/esm/components/Flags/index.mjs +1 -4
- package/dist/esm/components/Flags/iq.mjs +1 -40
- package/dist/esm/components/Flags/iq.mjs.map +1 -1
- package/dist/esm/components/Flags/ir.mjs +1 -112
- package/dist/esm/components/Flags/ir.mjs.map +1 -1
- package/dist/esm/components/Flags/is.mjs +1 -40
- package/dist/esm/components/Flags/is.mjs.map +1 -1
- package/dist/esm/components/Flags/it.mjs +1 -36
- package/dist/esm/components/Flags/it.mjs.map +1 -1
- package/dist/esm/components/Flags/jm.mjs +1 -36
- package/dist/esm/components/Flags/jm.mjs.map +1 -1
- package/dist/esm/components/Flags/jo.mjs +1 -48
- package/dist/esm/components/Flags/jo.mjs.map +1 -1
- package/dist/esm/components/Flags/jp.mjs +1 -41
- package/dist/esm/components/Flags/jp.mjs.map +1 -1
- package/dist/esm/components/Flags/ke.mjs +1 -91
- package/dist/esm/components/Flags/ke.mjs.map +1 -1
- package/dist/esm/components/Flags/kg.mjs +1 -49
- package/dist/esm/components/Flags/kg.mjs.map +1 -1
- package/dist/esm/components/Flags/kh.mjs +1 -76
- package/dist/esm/components/Flags/kh.mjs.map +1 -1
- package/dist/esm/components/Flags/km.mjs +1 -52
- package/dist/esm/components/Flags/km.mjs.map +1 -1
- package/dist/esm/components/Flags/kr.mjs +1 -64
- package/dist/esm/components/Flags/kr.mjs.map +1 -1
- package/dist/esm/components/Flags/kw.mjs +1 -44
- package/dist/esm/components/Flags/kw.mjs.map +1 -1
- package/dist/esm/components/Flags/kz.mjs +1 -94
- package/dist/esm/components/Flags/kz.mjs.map +1 -1
- package/dist/esm/components/Flags/la.mjs +1 -39
- package/dist/esm/components/Flags/la.mjs.map +1 -1
- package/dist/esm/components/Flags/lb.mjs +1 -50
- package/dist/esm/components/Flags/lb.mjs.map +1 -1
- package/dist/esm/components/Flags/li.mjs +1 -136
- package/dist/esm/components/Flags/li.mjs.map +1 -1
- package/dist/esm/components/Flags/lk.mjs +1 -73
- package/dist/esm/components/Flags/lk.mjs.map +1 -1
- package/dist/esm/components/Flags/lt.mjs +1 -46
- package/dist/esm/components/Flags/lt.mjs.map +1 -1
- package/dist/esm/components/Flags/lu.mjs +1 -33
- package/dist/esm/components/Flags/lu.mjs.map +1 -1
- package/dist/esm/components/Flags/lv.mjs +1 -30
- package/dist/esm/components/Flags/lv.mjs.map +1 -1
- package/dist/esm/components/Flags/ly.mjs +1 -39
- package/dist/esm/components/Flags/ly.mjs.map +1 -1
- package/dist/esm/components/Flags/ma.mjs +1 -32
- package/dist/esm/components/Flags/ma.mjs.map +1 -1
- package/dist/esm/components/Flags/mc.mjs +1 -33
- package/dist/esm/components/Flags/mc.mjs.map +1 -1
- package/dist/esm/components/Flags/md.mjs +1 -317
- package/dist/esm/components/Flags/md.mjs.map +1 -1
- package/dist/esm/components/Flags/mk.mjs +1 -37
- package/dist/esm/components/Flags/mk.mjs.map +1 -1
- package/dist/esm/components/Flags/mm.mjs +1 -58
- package/dist/esm/components/Flags/mm.mjs.map +1 -1
- package/dist/esm/components/Flags/mn.mjs +1 -59
- package/dist/esm/components/Flags/mn.mjs.map +1 -1
- package/dist/esm/components/Flags/mo.mjs +1 -42
- package/dist/esm/components/Flags/mo.mjs.map +1 -1
- package/dist/esm/components/Flags/mr.mjs +1 -37
- package/dist/esm/components/Flags/mr.mjs.map +1 -1
- package/dist/esm/components/Flags/mt.mjs +1 -153
- package/dist/esm/components/Flags/mt.mjs.map +1 -1
- package/dist/esm/components/Flags/mv.mjs +1 -40
- package/dist/esm/components/Flags/mv.mjs.map +1 -1
- package/dist/esm/components/Flags/mx.mjs +1 -1365
- package/dist/esm/components/Flags/mx.mjs.map +1 -1
- package/dist/esm/components/Flags/my.mjs +1 -78
- package/dist/esm/components/Flags/my.mjs.map +1 -1
- package/dist/esm/components/Flags/mz.mjs +1 -92
- package/dist/esm/components/Flags/mz.mjs.map +1 -1
- package/dist/esm/components/Flags/ng.mjs +1 -33
- package/dist/esm/components/Flags/ng.mjs.map +1 -1
- package/dist/esm/components/Flags/ni.mjs +1 -451
- package/dist/esm/components/Flags/ni.mjs.map +1 -1
- package/dist/esm/components/Flags/nl.mjs +1 -33
- package/dist/esm/components/Flags/nl.mjs.map +1 -1
- package/dist/esm/components/Flags/no.mjs +1 -39
- package/dist/esm/components/Flags/no.mjs.map +1 -1
- package/dist/esm/components/Flags/np.mjs +1 -38
- package/dist/esm/components/Flags/np.mjs.map +1 -1
- package/dist/esm/components/Flags/nz.mjs +1 -104
- package/dist/esm/components/Flags/nz.mjs.map +1 -1
- package/dist/esm/components/Flags/om.mjs +1 -539
- package/dist/esm/components/Flags/om.mjs.map +1 -1
- package/dist/esm/components/Flags/pa.mjs +1 -46
- package/dist/esm/components/Flags/pa.mjs.map +1 -1
- package/dist/esm/components/Flags/pe.mjs +1 -30
- package/dist/esm/components/Flags/pe.mjs.map +1 -1
- package/dist/esm/components/Flags/ph.mjs +1 -36
- package/dist/esm/components/Flags/ph.mjs.map +1 -1
- package/dist/esm/components/Flags/pk.mjs +1 -38
- package/dist/esm/components/Flags/pk.mjs.map +1 -1
- package/dist/esm/components/Flags/pl.mjs +1 -30
- package/dist/esm/components/Flags/pl.mjs.map +1 -1
- package/dist/esm/components/Flags/pr.mjs +1 -43
- package/dist/esm/components/Flags/pr.mjs.map +1 -1
- package/dist/esm/components/Flags/ps.mjs +1 -45
- package/dist/esm/components/Flags/ps.mjs.map +1 -1
- package/dist/esm/components/Flags/pt.mjs +1 -152
- package/dist/esm/components/Flags/pt.mjs.map +1 -1
- package/dist/esm/components/Flags/py.mjs +1 -61
- package/dist/esm/components/Flags/py.mjs.map +1 -1
- package/dist/esm/components/Flags/qa.mjs +1 -30
- package/dist/esm/components/Flags/qa.mjs.map +1 -1
- package/dist/esm/components/Flags/ro.mjs +1 -36
- package/dist/esm/components/Flags/ro.mjs.map +1 -1
- package/dist/esm/components/Flags/rs.mjs +1 -820
- package/dist/esm/components/Flags/rs.mjs.map +1 -1
- package/dist/esm/components/Flags/ru.mjs +1 -33
- package/dist/esm/components/Flags/ru.mjs.map +1 -1
- package/dist/esm/components/Flags/sa.mjs +1 -79
- package/dist/esm/components/Flags/sa.mjs.map +1 -1
- package/dist/esm/components/Flags/sd.mjs +1 -44
- package/dist/esm/components/Flags/sd.mjs.map +1 -1
- package/dist/esm/components/Flags/se.mjs +1 -30
- package/dist/esm/components/Flags/se.mjs.map +1 -1
- package/dist/esm/components/Flags/sg.mjs +1 -42
- package/dist/esm/components/Flags/sg.mjs.map +1 -1
- package/dist/esm/components/Flags/si.mjs +1 -59
- package/dist/esm/components/Flags/si.mjs.map +1 -1
- package/dist/esm/components/Flags/sk.mjs +1 -45
- package/dist/esm/components/Flags/sk.mjs.map +1 -1
- package/dist/esm/components/Flags/so.mjs +1 -37
- package/dist/esm/components/Flags/so.mjs.map +1 -1
- package/dist/esm/components/Flags/st.mjs +1 -73
- package/dist/esm/components/Flags/st.mjs.map +1 -1
- package/dist/esm/components/Flags/sv.mjs +1 -1735
- package/dist/esm/components/Flags/sv.mjs.map +1 -1
- package/dist/esm/components/Flags/sy.mjs +1 -36
- package/dist/esm/components/Flags/sy.mjs.map +1 -1
- package/dist/esm/components/Flags/td.mjs +1 -33
- package/dist/esm/components/Flags/td.mjs.map +1 -1
- package/dist/esm/components/Flags/th.mjs +1 -33
- package/dist/esm/components/Flags/th.mjs.map +1 -1
- package/dist/esm/components/Flags/tl.mjs +1 -43
- package/dist/esm/components/Flags/tl.mjs.map +1 -1
- package/dist/esm/components/Flags/tn.mjs +1 -30
- package/dist/esm/components/Flags/tn.mjs.map +1 -1
- package/dist/esm/components/Flags/tr.mjs +1 -36
- package/dist/esm/components/Flags/tr.mjs.map +1 -1
- package/dist/esm/components/Flags/tt.mjs +1 -35
- package/dist/esm/components/Flags/tt.mjs.map +1 -1
- package/dist/esm/components/Flags/tw.mjs +1 -40
- package/dist/esm/components/Flags/tw.mjs.map +1 -1
- package/dist/esm/components/Flags/tz.mjs +1 -44
- package/dist/esm/components/Flags/tz.mjs.map +1 -1
- package/dist/esm/components/Flags/ua.mjs +1 -33
- package/dist/esm/components/Flags/ua.mjs.map +1 -1
- package/dist/esm/components/Flags/ug.mjs +1 -145
- package/dist/esm/components/Flags/ug.mjs.map +1 -1
- package/dist/esm/components/Flags/us.mjs +1 -45
- package/dist/esm/components/Flags/us.mjs.map +1 -1
- package/dist/esm/components/Flags/uy.mjs +1 -63
- package/dist/esm/components/Flags/uy.mjs.map +1 -1
- package/dist/esm/components/Flags/uz.mjs +1 -109
- package/dist/esm/components/Flags/uz.mjs.map +1 -1
- package/dist/esm/components/Flags/ve.mjs +1 -84
- package/dist/esm/components/Flags/ve.mjs.map +1 -1
- package/dist/esm/components/Flags/vn.mjs +1 -37
- package/dist/esm/components/Flags/vn.mjs.map +1 -1
- package/dist/esm/components/Flags/xx.mjs +1 -35
- package/dist/esm/components/Flags/xx.mjs.map +1 -1
- package/dist/esm/components/Flags/ye.mjs +1 -36
- package/dist/esm/components/Flags/ye.mjs.map +1 -1
- package/dist/esm/components/Flags/za.mjs +1 -51
- package/dist/esm/components/Flags/za.mjs.map +1 -1
- package/dist/esm/components/Flags/zw.mjs +1 -70
- package/dist/esm/components/Flags/zw.mjs.map +1 -1
- package/dist/esm/components/Footer/index.mjs +1 -123
- package/dist/esm/components/Footer/index.mjs.map +1 -1
- package/dist/esm/components/Form/Form.mjs +1 -65
- package/dist/esm/components/Form/Form.mjs.map +1 -1
- package/dist/esm/components/Form/FormBase.mjs +1 -50
- package/dist/esm/components/Form/FormBase.mjs.map +1 -1
- package/dist/esm/components/Form/FormControl.mjs +1 -19
- package/dist/esm/components/Form/FormControl.mjs.map +1 -1
- package/dist/esm/components/Form/FormDescription.mjs +1 -17
- package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
- package/dist/esm/components/Form/FormField.mjs +1 -34
- package/dist/esm/components/Form/FormField.mjs.map +1 -1
- package/dist/esm/components/Form/FormItem.mjs +1 -23
- package/dist/esm/components/Form/FormItem.mjs.map +1 -1
- package/dist/esm/components/Form/FormLabel.mjs +1 -19
- package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
- package/dist/esm/components/Form/FormMessage.mjs +1 -21
- package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
- package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs +1 -14
- package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/CheckboxElement.mjs +1 -25
- package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs +1 -16
- package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs +1 -16
- package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/FormElement.mjs +1 -58
- package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/FormElementWrapper.mjs +1 -34
- package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
- package/dist/esm/components/Form/elements/InputElement.mjs +1 -16
- package/dist/esm/components/Form/elements/InputElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/InputPasswordElement.mjs +1 -19
- package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/MultiselectElement.mjs +1 -49
- package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/OTPElement.mjs +1 -108
- package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/SearchInputElement.mjs +1 -16
- package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/SelectElement.mjs +1 -49
- package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +1 -48
- package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/TextAreaElement.mjs +1 -16
- package/dist/esm/components/Form/elements/TextAreaElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/index.mjs +1 -10
- package/dist/esm/components/Form/index.mjs +1 -5
- package/dist/esm/components/Form/layout/FormItemLayout.mjs +1 -24
- package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
- package/dist/esm/components/Form/layout/FormLabelLayout.mjs +1 -20
- package/dist/esm/components/Form/layout/FormLabelLayout.mjs.map +1 -1
- package/dist/esm/components/Form/layout/RequiredStar.mjs +1 -10
- package/dist/esm/components/Form/layout/RequiredStar.mjs.map +1 -1
- package/dist/esm/components/Form/layout/index.mjs +1 -4
- package/dist/esm/components/HTMLRender/HTMLRender.mjs +1 -65
- package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
- package/dist/esm/components/HTMLRender/index.mjs +1 -3
- package/dist/esm/components/Headers/index.mjs +1 -216
- package/dist/esm/components/Headers/index.mjs.map +1 -1
- package/dist/esm/components/HeightResizer/index.mjs +1 -163
- package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
- package/dist/esm/components/HideShow/index.mjs +1 -70
- package/dist/esm/components/HideShow/index.mjs.map +1 -1
- package/dist/esm/components/IDE/Code.mjs +2 -59
- package/dist/esm/components/IDE/Code.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeBlockClient.mjs +2 -31
- package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeBlockServer.mjs +2 -45
- package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeBlockShiki.mjs +1 -109
- package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeConditionalRenderer.mjs +1 -20
- package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeContext.mjs +1 -44
- package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeFormatSelector.mjs +1 -40
- package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
- package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs +1 -41
- package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
- package/dist/esm/components/IDE/CopyCode.mjs +1 -27
- package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
- package/dist/esm/components/IDE/FileList.mjs +1 -34
- package/dist/esm/components/IDE/FileList.mjs.map +1 -1
- package/dist/esm/components/IDE/FileTree.mjs +1 -64
- package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
- package/dist/esm/components/IDE/IDE.mjs +1 -87
- package/dist/esm/components/IDE/IDE.mjs.map +1 -1
- package/dist/esm/components/IDE/MarkDownRender.mjs +1 -22
- package/dist/esm/components/IDE/MarkDownRender.mjs.map +1 -1
- package/dist/esm/components/IDE/MonacoCode.mjs +2 -103
- package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
- package/dist/esm/components/IDE/PackageManagerSelector.mjs +1 -42
- package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
- package/dist/esm/components/IDE/code.content.mjs +1 -58
- package/dist/esm/components/IDE/code.content.mjs.map +1 -1
- package/dist/esm/components/IDE/copyCode.content.mjs +1 -58
- package/dist/esm/components/IDE/copyCode.content.mjs.map +1 -1
- package/dist/esm/components/IDE/createFileTree.mjs +1 -31
- package/dist/esm/components/IDE/createFileTree.mjs.map +1 -1
- package/dist/esm/components/IDE/index.mjs +1 -6
- package/dist/esm/components/IDE/selectors.content.mjs +1 -144
- package/dist/esm/components/IDE/selectors.content.mjs.map +1 -1
- package/dist/esm/components/InformationTag/index.mjs +1 -80
- package/dist/esm/components/InformationTag/index.mjs.map +1 -1
- package/dist/esm/components/Input/Checkbox.mjs +1 -97
- package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
- package/dist/esm/components/Input/Input.mjs +1 -64
- package/dist/esm/components/Input/Input.mjs.map +1 -1
- package/dist/esm/components/Input/InputPassword.mjs +1 -38
- package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
- package/dist/esm/components/Input/OTPInput.mjs +2 -474
- package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
- package/dist/esm/components/Input/SearchInput.mjs +1 -17
- package/dist/esm/components/Input/SearchInput.mjs.map +1 -1
- package/dist/esm/components/Input/index.mjs +1 -7
- package/dist/esm/components/KeyboardScreenAdapter/index.mjs +1 -119
- package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
- package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs +1 -230
- package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs.map +1 -1
- package/dist/esm/components/KeyboardShortcut/index.mjs +1 -3
- package/dist/esm/components/Label/index.mjs +1 -53
- package/dist/esm/components/Label/index.mjs.map +1 -1
- package/dist/esm/components/LanguageBackground/index.mjs +1 -87
- package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
- package/dist/esm/components/Link/Link.mjs +1 -239
- package/dist/esm/components/Link/Link.mjs.map +1 -1
- package/dist/esm/components/Link/index.mjs +1 -3
- package/dist/esm/components/Loader/index.content.mjs +1 -32
- package/dist/esm/components/Loader/index.content.mjs.map +1 -1
- package/dist/esm/components/Loader/index.mjs +1 -111
- package/dist/esm/components/Loader/index.mjs.map +1 -1
- package/dist/esm/components/Loader/spinner.mjs +1 -121
- package/dist/esm/components/Loader/spinner.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -183
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +1 -29
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/index.mjs +1 -4
- package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs +1 -182
- package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -134
- package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherDropDown/index.mjs +1 -3
- package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs +1 -140
- package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
- package/dist/esm/components/Logo/Logo.mjs +1 -34
- package/dist/esm/components/Logo/Logo.mjs.map +1 -1
- package/dist/esm/components/Logo/LogoTextOnly.mjs +1 -28
- package/dist/esm/components/Logo/LogoTextOnly.mjs.map +1 -1
- package/dist/esm/components/Logo/LogoWithText.mjs +1 -34
- package/dist/esm/components/Logo/LogoWithText.mjs.map +1 -1
- package/dist/esm/components/Logo/LogoWithTextBelow.mjs +1 -34
- package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
- package/dist/esm/components/Logo/index.mjs +1 -6
- package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +1 -167
- package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
- package/dist/esm/components/MarkDownRender/index.mjs +1 -3
- package/dist/esm/components/MaxHeightSmoother/index.mjs +1 -163
- package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
- package/dist/esm/components/MaxWidthSmoother/index.mjs +1 -18
- package/dist/esm/components/MaxWidthSmoother/index.mjs.map +1 -1
- package/dist/esm/components/Modal/Modal.mjs +1 -201
- package/dist/esm/components/Modal/Modal.mjs.map +1 -1
- package/dist/esm/components/Modal/index.mjs +1 -3
- package/dist/esm/components/Navbar/Burger.mjs +1 -76
- package/dist/esm/components/Navbar/Burger.mjs.map +1 -1
- package/dist/esm/components/Navbar/DesktopNavbar.mjs +1 -96
- package/dist/esm/components/Navbar/DesktopNavbar.mjs.map +1 -1
- package/dist/esm/components/Navbar/MobileNavbar.mjs +1 -169
- package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
- package/dist/esm/components/Navbar/index.mjs +1 -86
- package/dist/esm/components/Navbar/index.mjs.map +1 -1
- package/dist/esm/components/Navbar/useNavigation.mjs +1 -152
- package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
- package/dist/esm/components/Pagination/NumberItemsSelector.mjs +1 -46
- package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
- package/dist/esm/components/Pagination/Pagination.mjs +1 -173
- package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
- package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs +1 -27
- package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
- package/dist/esm/components/Pagination/index.mjs +1 -5
- package/dist/esm/components/Pagination/pagination.content.mjs +1 -114
- package/dist/esm/components/Pagination/pagination.content.mjs.map +1 -1
- package/dist/esm/components/Pattern/DotPattern.mjs +1 -121
- package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
- package/dist/esm/components/Pattern/GridPattern.mjs +1 -156
- package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
- package/dist/esm/components/Pattern/SpotLight.mjs +1 -168
- package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
- package/dist/esm/components/Pattern/index.mjs +1 -5
- package/dist/esm/components/Popover/dynamic.mjs +1 -128
- package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
- package/dist/esm/components/Popover/index.mjs +1 -4
- package/dist/esm/components/Popover/static.mjs +1 -192
- package/dist/esm/components/Popover/static.mjs.map +1 -1
- package/dist/esm/components/PressableSpan/PressableSpan.mjs +1 -158
- package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
- package/dist/esm/components/PressableSpan/index.mjs +1 -3
- package/dist/esm/components/RightDrawer/RightDrawer.mjs +1 -179
- package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
- package/dist/esm/components/RightDrawer/index.mjs +1 -4
- package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs +1 -60
- package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs.map +1 -1
- package/dist/esm/components/RightDrawer/rightDrawer.content.mjs +1 -59
- package/dist/esm/components/RightDrawer/rightDrawer.content.mjs.map +1 -1
- package/dist/esm/components/RightDrawer/useRightDrawer.mjs +1 -64
- package/dist/esm/components/RightDrawer/useRightDrawer.mjs.map +1 -1
- package/dist/esm/components/Select/Multiselect.mjs +1 -353
- package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
- package/dist/esm/components/Select/Select.mjs +1 -276
- package/dist/esm/components/Select/Select.mjs.map +1 -1
- package/dist/esm/components/Select/index.mjs +1 -4
- package/dist/esm/components/SocialNetworks/DiscordLogo.mjs +1 -20
- package/dist/esm/components/SocialNetworks/DiscordLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/FacebookLogo.mjs +1 -17
- package/dist/esm/components/SocialNetworks/FacebookLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/InstagramLogo.mjs +1 -29
- package/dist/esm/components/SocialNetworks/InstagramLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs +1 -32
- package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs +1 -15
- package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/TiktokLogo.mjs +1 -17
- package/dist/esm/components/SocialNetworks/TiktokLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/XLogo.mjs +1 -17
- package/dist/esm/components/SocialNetworks/XLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs +1 -17
- package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs.map +1 -1
- package/dist/esm/components/SocialNetworks/index.mjs +1 -64
- package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
- package/dist/esm/components/SwitchSelector/index.mjs +1 -145
- package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
- package/dist/esm/components/Tab/Tab.mjs +1 -148
- package/dist/esm/components/Tab/Tab.mjs.map +1 -1
- package/dist/esm/components/Tab/TabContext.mjs +1 -33
- package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
- package/dist/esm/components/Tab/index.mjs +1 -3
- package/dist/esm/components/TabSelector/TabSelector.mjs +1 -111
- package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
- package/dist/esm/components/TabSelector/index.mjs +1 -3
- package/dist/esm/components/Table/Table.mjs +1 -195
- package/dist/esm/components/Table/Table.mjs.map +1 -1
- package/dist/esm/components/Table/index.mjs +1 -3
- package/dist/esm/components/Table/table.content.mjs +1 -36
- package/dist/esm/components/Table/table.content.mjs.map +1 -1
- package/dist/esm/components/Tag/index.mjs +1 -316
- package/dist/esm/components/Tag/index.mjs.map +1 -1
- package/dist/esm/components/Terminal/Terminal.mjs +3 -160
- package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
- package/dist/esm/components/Terminal/index.mjs +1 -3
- package/dist/esm/components/Terminal/terminal.content.mjs +1 -60
- package/dist/esm/components/Terminal/terminal.content.mjs.map +1 -1
- package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +1 -106
- package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
- package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +1 -257
- package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
- package/dist/esm/components/TextArea/TextArea.mjs +1 -58
- package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/esm/components/TextArea/index.mjs +1 -5
- package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -79
- package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
- package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -53
- package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
- package/dist/esm/components/ThemeSwitcherDropDown/index.mjs +1 -5
- package/dist/esm/components/ThemeSwitcherDropDown/types.mjs +1 -10
- package/dist/esm/components/ThemeSwitcherDropDown/types.mjs.map +1 -1
- package/dist/esm/components/Toaster/Toast.mjs +1 -187
- package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
- package/dist/esm/components/Toaster/Toaster.mjs +1 -66
- package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
- package/dist/esm/components/Toaster/index.mjs +1 -5
- package/dist/esm/components/Toaster/useToast.mjs +1 -308
- package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
- package/dist/esm/components/WithResizer/index.mjs +1 -200
- package/dist/esm/components/WithResizer/index.mjs.map +1 -1
- package/dist/esm/components/index.mjs +1 -105
- package/dist/esm/hooks/index.mjs +1 -22
- package/dist/esm/hooks/reactQuery.mjs +1 -915
- package/dist/esm/hooks/reactQuery.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/index.mjs +1 -5
- package/dist/esm/hooks/useAuth/useAuth.mjs +1 -21
- package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useOAuth2.mjs +1 -28
- package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useSession.mjs +1 -42
- package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
- package/dist/esm/hooks/useDevice.mjs +1 -71
- package/dist/esm/hooks/useDevice.mjs.map +1 -1
- package/dist/esm/hooks/useGetElementById.mjs +1 -15
- package/dist/esm/hooks/useGetElementById.mjs.map +1 -1
- package/dist/esm/hooks/useGetElementOrWindow.mjs +1 -15
- package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
- package/dist/esm/hooks/useHorizontalSwipe.mjs +1 -123
- package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
- package/dist/esm/hooks/useIntlayerAPI.mjs +1 -21
- package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
- package/dist/esm/hooks/useIsDarkMode.mjs +1 -15
- package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
- package/dist/esm/hooks/useIsMounted.mjs +1 -15
- package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
- package/dist/esm/hooks/useItemSelector.mjs +1 -146
- package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
- package/dist/esm/hooks/useKeyboardDetector.mjs +1 -26
- package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
- package/dist/esm/hooks/usePersistedStore.mjs +1 -65
- package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
- package/dist/esm/hooks/useScreenWidth.mjs +1 -20
- package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
- package/dist/esm/hooks/useScrollBlockage/index.mjs +1 -27
- package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
- package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs +1 -70
- package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
- package/dist/esm/hooks/useScrollDetection.mjs +1 -61
- package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
- package/dist/esm/hooks/useScrollY.mjs +1 -68
- package/dist/esm/hooks/useScrollY.mjs.map +1 -1
- package/dist/esm/hooks/useSearch.mjs +1 -50
- package/dist/esm/hooks/useSearch.mjs.map +1 -1
- package/dist/esm/hooks/useUser/index.mjs +1 -28
- package/dist/esm/hooks/useUser/index.mjs.map +1 -1
- package/dist/esm/libs/auth.mjs +1 -176
- package/dist/esm/libs/auth.mjs.map +1 -1
- package/dist/esm/libs/index.mjs +1 -3
- package/dist/esm/providers/ReactQueryProvider.mjs +1 -86
- package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
- package/dist/esm/providers/index.mjs +1 -4
- package/dist/esm/tailwind.config.mjs +1 -15
- package/dist/esm/tailwind.config.mjs.map +1 -1
- package/dist/esm/utils/cn.mjs +1 -8
- package/dist/esm/utils/cn.mjs.map +1 -1
- package/dist/esm/utils/image.mjs +1 -51
- package/dist/esm/utils/image.mjs.map +1 -1
- package/dist/esm/utils/object.mjs +1 -32
- package/dist/esm/utils/object.mjs.map +1 -1
- package/dist/types/components/Avatar/index.d.ts.map +1 -1
- package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +1 -1
- package/dist/types/components/Browser/Browser.content.d.ts +8 -8
- package/dist/types/components/Button/Button.d.ts +3 -3
- package/dist/types/components/Carousel/index.content.d.ts +5 -5
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -84
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
- package/dist/types/components/Command/index.d.ts +2 -2
- package/dist/types/components/Container/index.d.ts +7 -7
- package/dist/types/components/CopyButton/CopyButton.content.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts +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/InsertionWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -1
- package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +12 -12
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +4 -4
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +27 -27
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +16 -16
- package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +12 -12
- package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +16 -16
- package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +4 -4
- package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +3 -3
- package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +2 -2
- package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +15 -15
- package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
- package/dist/types/components/HTMLRender/HTMLRender.d.ts.map +1 -1
- package/dist/types/components/IDE/MonacoCode.d.ts.map +1 -1
- package/dist/types/components/IDE/code.content.d.ts +2 -2
- package/dist/types/components/IDE/copyCode.content.d.ts +2 -2
- package/dist/types/components/IDE/selectors.content.d.ts +6 -6
- package/dist/types/components/Input/Checkbox.d.ts +2 -2
- package/dist/types/components/Input/Input.d.ts +1 -1
- package/dist/types/components/Link/Link.d.ts +3 -3
- package/dist/types/components/Loader/index.content.d.ts +1 -1
- package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +8 -8
- package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +6 -6
- package/dist/types/components/Pagination/Pagination.d.ts +1 -1
- package/dist/types/components/Pagination/pagination.content.d.ts +7 -7
- package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +2 -2
- package/dist/types/components/SwitchSelector/index.d.ts +2 -2
- package/dist/types/components/Tab/Tab.d.ts +1 -1
- package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
- package/dist/types/components/Table/table.content.d.ts +1 -1
- package/dist/types/components/Tag/index.d.ts +3 -3
- package/dist/types/components/Terminal/terminal.content.d.ts +2 -2
- package/package.json +14 -14
- package/tailwind.css +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.mjs","names":["ContentEditorTextAreaBase","ContentEditorInputBase","MarkdownRenderer"],"sources":["../../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"sourcesContent":["'use client';\n\nimport {\n Button,\n ButtonColor,\n ButtonSize,\n ButtonTextAlign,\n ButtonVariant,\n} from '@components/Button';\nimport { Container } from '@components/Container';\nimport {\n ContentEditorInput as ContentEditorInputBase,\n type ContentEditorInputProps as ContentEditorInputPropsBase,\n} from '@components/ContentEditor/ContentEditorInput';\nimport {\n ContentEditorTextArea as ContentEditorTextAreaBase,\n type ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n} from '@components/ContentEditor/ContentEditorTextArea';\nimport { InputVariant } from '@components/Input';\nimport { Label } from '@components/Label';\nimport { useLocaleSwitcherContent } from '@components/LocaleSwitcherContentDropDown';\nimport { MarkdownRenderer } from '@components/MarkDownRender';\nimport {\n SwitchSelector,\n type SwitchSelectorChoices,\n SwitchSelectorColor,\n type SwitchSelectorProps,\n SwitchSelectorSize,\n} from '@components/SwitchSelector';\nimport { useAuditContentDeclarationField } from '@hooks/reactQuery';\nimport {\n type ConditionContent,\n type EnumerationContent,\n type FileContent,\n type GenderContent,\n getEmptyNode,\n getLocaleName,\n getNodeType,\n type HTMLContent,\n type InsertionContent,\n type MarkdownContent,\n type TranslationContent,\n} from '@intlayer/core';\nimport { useConfiguration, useEditedContent } from '@intlayer/editor-react';\nimport {\n type ContentNode,\n type Dictionary,\n type KeyPath,\n type Locale,\n type LocalesValues,\n NodeType,\n} from '@intlayer/types';\nimport { renameKey } from '@utils/object';\nimport { Plus, Trash, WandSparkles } from 'lucide-react';\nimport { type FC, Fragment, type ReactNode, useState } from 'react';\nimport { useIntlayer, useLocale } from 'react-intlayer';\nimport { EnumKeyInput } from '../EnumKeyInput';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype ContentEditorTextAreaProps = Omit<\n ContentEditorTextAreaPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { editedContent, addEditedContent } = useEditedContent();\n const configuration = useConfiguration();\n const { mutate: auditContentDeclarationField, isPending: isAuditing } =\n useAuditContentDeclarationField();\n\n return (\n <ContentEditorTextAreaBase\n variant={InputVariant.DEFAULT}\n onContentChange={(newValue) =>\n addEditedContent(dictionary.localId!, newValue, keyPath)\n }\n additionalButtons={\n <Button\n Icon={WandSparkles}\n label=\"Audit\"\n variant={ButtonVariant.HOVERABLE}\n size={ButtonSize.ICON_SM}\n color={ButtonColor.TEXT}\n className=\"cursor-pointer hover:scale-110\"\n isLoading={isAuditing}\n onClick={() => {\n auditContentDeclarationField(\n {\n fileContent: JSON.stringify({\n ...dictionary,\n ...(editedContent?.[dictionary.localId!] ?? {}),\n }),\n keyPath,\n locales: configuration.internationalization.locales ?? [],\n aiOptions: {\n apiKey: configuration.ai?.apiKey,\n model: configuration.ai?.model,\n temperature: configuration.ai?.temperature,\n },\n },\n {\n onSuccess: (response) => {\n if (!response?.data) return;\n\n try {\n const editedContent = response.data.fileContent as string;\n\n addEditedContent(\n dictionary.localId!,\n editedContent,\n keyPath\n );\n } catch (error) {\n console.error(error);\n }\n },\n }\n );\n }}\n />\n }\n {...props}\n />\n );\n};\n\ntype ContentEditorInputProps = Omit<\n ContentEditorInputPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorInput: FC<ContentEditorInputProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <ContentEditorInputBase\n variant={InputVariant.DEFAULT}\n onContentChange={(newValue) =>\n addEditedContent(dictionary.localId!, newValue, keyPath)\n }\n {...props}\n />\n );\n};\n\nconst toggleContent = [\n {\n content: 'False',\n value: false,\n },\n {\n content: 'True',\n value: true,\n },\n] as SwitchSelectorChoices<boolean>;\n\ntype ContentEditorToggleProps = SwitchSelectorProps & {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n};\n\nconst ContentEditorToggle: FC<ContentEditorToggleProps> = ({\n dictionary,\n keyPath,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <SwitchSelector\n choices={toggleContent}\n value={true}\n onChange={(value) =>\n addEditedContent(dictionary.localId!, value, keyPath)\n }\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n {...props}\n />\n );\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n isDarkMode?: boolean;\n renderSection?: (content: string) => ReactNode;\n onContentChange?: (newValue: string) => void;\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}: TextEditorProps) => {\n const { locale, defaultLocale } = useLocale();\n const { selectedLocales, availableLocales } = useLocaleSwitcherContent();\n\n const sectionContent = (section as TranslationContent<string>)[\n NodeType.Translation\n ] as Record<Locale, string>;\n\n const sectionContentKeys = Object.keys(sectionContent) as LocalesValues[];\n\n const isFiltered = availableLocales.length > selectedLocales.length;\n\n const localesList = isFiltered\n ? selectedLocales\n : // If the translation include content in other locales, we display all of them\n [...new Set([...availableLocales, ...sectionContentKeys])];\n\n const content: any = (section as TranslationContent<string>)[\n NodeType.Translation\n ];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {localesList.map((translationKey) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-translation-${translationKey}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 w-full p-2 text-xs\">\n <td className=\"flex w-full\">\n {getLocaleName(translationKey, locale)}\n </td>\n </tr>\n <tr className=\"flex\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n content[translationKey] ??\n getEmptyNode(content[defaultLocale])\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration, removeEnumeration } =\n useIntlayer('navigation-view');\n\n const content = (section as EnumerationContent<string>)[NodeType.Enumeration];\n const firstKey = Object.keys(content)[0] as keyof typeof content;\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => {\n const childrenKeyPath = [\n ...keyPath,\n { type: NodeType.Enumeration, key: enumKey },\n ] as KeyPath[];\n const uniqueKey = `${JSON.stringify(keyPath)}-enumeration-${enumKey}`;\n\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 w-full\">\n <td className=\"flex w-full\">\n <div className=\"flex flex-1\">\n <Button\n label={removeEnumeration.label.value}\n variant=\"hoverable\"\n size=\"sm\"\n color=\"error\"\n className=\"ml-auto text-neutral hover:text-error\"\n Icon={Trash}\n onClick={() =>\n addEditedContent(\n dictionary.localId!,\n undefined,\n childrenKeyPath\n )\n }\n >\n {removeEnumeration.text}\n </Button>\n </div>\n </td>\n </tr>\n <tr className=\"w-full p-2\">\n <td className=\"flex w-full\">\n <EnumKeyInput\n value={enumKey}\n onChange={(value) => {\n const preValueContent = (\n section as EnumerationContent<string>\n )[NodeType.Enumeration];\n\n const newValueContent = renameKey(\n preValueContent,\n enumKey as keyof typeof preValueContent,\n value\n );\n const newValue = {\n ...(section as EnumerationContent<string>),\n [NodeType.Enumeration]: newValueContent,\n };\n\n console.log('newValue', newValue);\n\n addEditedContent(\n dictionary.localId!,\n newValue,\n keyPath\n );\n }}\n />\n </td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditor\n section={\n content[enumKey as keyof typeof content] ??\n getEmptyNode(content[firstKey])\n }\n keyPath={childrenKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n\n <Button\n label={addNewEnumeration.label.value}\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.NEUTRAL}\n textAlign={ButtonTextAlign.LEFT}\n isFullWidth\n onClick={() =>\n addEditedContent(\n dictionary.localId!,\n getEmptyNode(content[firstKey]) ?? '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }]\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </div>\n );\n};\n\nconst ConditionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const content = (section as ConditionContent<string>)[NodeType.Condition];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['true', 'false', 'fallback'].map((condKey) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-condition-${condKey}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 block w-full p-2 text-xs\">\n <td className=\"flex w-full\">{String(condKey)}</td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content.true)\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Condition,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n );\n};\n\nconst GenderTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const content = (section as GenderContent<string>)[NodeType.Gender];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['male', 'female', 'fallback'].map((condKey) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-gender-${condKey}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 block w-full p-2 text-xs\">\n <td className=\"flex w-full\">{String(condKey)}</td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content.male)\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Gender,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement, removeElement } = useIntlayer('navigation-view');\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-array-${index}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 w-full p-2\">\n <td className=\"flex w-full\">\n <div className=\"flex w-full items-center justify-between gap-2\">\n <span className=\"text-xs\">{String(index)}</span>\n <Button\n label={removeElement.label.value}\n variant=\"hoverable\"\n size=\"sm\"\n color=\"error\"\n className=\"ml-auto text-neutral hover:text-error\"\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: index, // Fixed: Use index instead of length\n },\n ];\n addEditedContent(\n dictionary.localId!,\n undefined,\n newKeyPath\n );\n }}\n Icon={Trash}\n >\n {removeElement.text}\n </Button>\n </div>\n </td>\n </tr>\n\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n subSection ??\n getEmptyNode((section as unknown as ContentNode[])[0])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n <Button\n label={addNewElement.label.value}\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.NEUTRAL}\n textAlign={ButtonTextAlign.LEFT}\n isFullWidth\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length, // Keeps length for adding new items\n },\n ];\n addEditedContent(\n dictionary.localId!,\n getEmptyNode((section as unknown as ContentNode[])[0]) ?? '',\n newKeyPath,\n false\n );\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n};\n\nconst ObjectTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => (\n <>\n <table className=\"w-full\">\n <tbody className=\"flex flex-col gap-2\">\n {Object.keys(section as unknown as Record<string, ContentNode>).map(\n (key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeType.Object, key },\n ];\n const typedSection = section as unknown as Record<\n string,\n ContentNode\n >;\n const firstKey = Object.keys(\n typedSection\n )[0] as keyof typeof section;\n const subSection =\n typedSection[key as keyof typeof section] ??\n getEmptyNode(typedSection[firstKey]);\n const uniqueKey = `${JSON.stringify(keyPath)}-object-${key}`;\n\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 p-2 text-xs\">\n <td className=\"flex w-full\">{String(key)}</td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditor\n section={subSection}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n }\n )}\n </tbody>\n </table>\n </>\n);\n\nenum MarkdownViewMode {\n Edit,\n Preview,\n}\n\nenum HtmlViewMode {\n Edit,\n Preview,\n}\n\nconst HtmlTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}) => {\n const [mode, setMode] = useState(HtmlViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: HtmlViewMode.Edit,\n },\n {\n content: 'Preview',\n value: HtmlViewMode.Preview,\n },\n ] as SwitchSelectorChoices<HtmlViewMode>;\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.HTML }];\n\n const content = (section as HTMLContent<ContentNode>)[\n NodeType.HTML\n ] as ContentNode;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n className=\"ml-auto\"\n />\n\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={\n mode === HtmlViewMode.Preview\n ? (content) => (\n // biome-ignore lint/security/noDangerouslySetInnerHtml: HTML content is user-controlled and rendered in editor context\n <div dangerouslySetInnerHTML={{ __html: content }} />\n )\n : undefined\n }\n />\n </div>\n );\n};\n\nconst MarkdownTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n}) => {\n const [mode, setMode] = useState(MarkdownViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: MarkdownViewMode.Edit,\n },\n {\n content: 'Preview',\n value: MarkdownViewMode.Preview,\n },\n ] as SwitchSelectorChoices<MarkdownViewMode>;\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Markdown }];\n\n const content = (section as MarkdownContent<ContentNode>)[\n NodeType.Markdown\n ] as ContentNode;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n className=\"ml-auto\"\n />\n\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={\n mode === MarkdownViewMode.Preview\n ? (content) => (\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n )\n : undefined\n }\n />\n </div>\n );\n};\n\nconst InsertionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Insertion }];\n\n const content = (section as InsertionContent<ContentNode>)[\n NodeType.Insertion\n ];\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst FileTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.File }];\n\n const fileUrl = (section as FileContent)[NodeType.File];\n const { content } = section as FileContent;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <span className=\"text-neutral text-sm\">{fileUrl} </span>\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst NestedTextEditor: FC<TextEditorProps> = ({\n keyPath,\n dictionary,\n renderSection,\n section,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n const content = (section as any)[NodeType.Nested];\n const childrenKeyPath = [...keyPath, { type: NodeType.Nested }] as KeyPath[];\n\n return (\n <div className=\"flex w-full flex-col gap-4 p-2\">\n <Label>Dictionary key</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant={InputVariant.DEFAULT}\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.localId!,\n {\n ...content,\n dictionaryKey: String(newValue),\n },\n childrenKeyPath\n );\n }}\n >\n {content.dictionaryKey ?? ''}\n </ContentEditorInputBase>\n\n <Label>Path (optional)</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant={InputVariant.DEFAULT}\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.localId!,\n {\n ...content,\n path: newValue !== '' ? newValue : undefined,\n },\n childrenKeyPath\n );\n }}\n >\n {content.path ?? ''}\n </ContentEditorInputBase>\n </div>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n isDarkMode,\n}) => {\n const { tsxNotEditable } = useIntlayer('navigation-view');\n const nodeType = getNodeType(section);\n\n if (nodeType === NodeType.ReactNode) {\n return (\n <div className=\"flex w-full flex-col gap-2\">\n <span>(React Node)</span>\n <span className=\"flex text-neutral text-xs\">{tsxNotEditable}</span>\n </div>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <NestedTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Gender) {\n return (\n <GenderTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Insertion) {\n return (\n <InsertionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n isDarkMode={isDarkMode}\n />\n );\n }\n\n if (nodeType === NodeType.HTML) {\n return (\n <HtmlTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.File) {\n return (\n <FileTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <ObjectTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Number) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorInput\n dictionary={dictionary}\n keyPath={keyPath}\n type=\"number\"\n aria-label=\"Edit field\"\n >\n {section as number}\n </ContentEditorInput>\n </div>\n );\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"w-full p-2\">\n {typeof renderSection === 'function' ? (\n renderSection(section as string)\n ) : (\n <ContentEditorTextArea\n variant={InputVariant.DEFAULT}\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n >\n {section as string}\n </ContentEditorTextArea>\n )}\n </div>\n );\n }\n\n if (nodeType === NodeType.Boolean) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorToggle\n dictionary={dictionary}\n keyPath={keyPath}\n value={section as boolean}\n />\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n Error. Format not supported.\n {JSON.stringify(section, null, 2)}\n {JSON.stringify(keyPath, null, 2)}\n NodeType : {nodeType}\n </div>\n );\n};\n\nexport const TextEditorContainer: FC<TextEditorProps> = (props) => (\n <Container\n border\n background=\"none\"\n className=\"top-6 flex h-full flex-1 flex-col gap-6 overflow-hidden p-2 md:sticky\"\n roundedSize=\"xl\"\n >\n <TextEditor {...props} />\n </Container>\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextEditor.mjs","names":["ContentEditorTextAreaBase","ContentEditorInputBase","MarkdownRenderer"],"sources":["../../../../../src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx"],"sourcesContent":["'use client';\n\nimport {\n Button,\n ButtonColor,\n ButtonSize,\n ButtonTextAlign,\n ButtonVariant,\n} from '@components/Button';\nimport { Container } from '@components/Container';\nimport {\n ContentEditorInput as ContentEditorInputBase,\n type ContentEditorInputProps as ContentEditorInputPropsBase,\n} from '@components/ContentEditor/ContentEditorInput';\nimport {\n ContentEditorTextArea as ContentEditorTextAreaBase,\n type ContentEditorTextAreaProps as ContentEditorTextAreaPropsBase,\n} from '@components/ContentEditor/ContentEditorTextArea';\nimport { InputVariant } from '@components/Input';\nimport { Label } from '@components/Label';\nimport { useLocaleSwitcherContent } from '@components/LocaleSwitcherContentDropDown';\nimport { MarkdownRenderer } from '@components/MarkDownRender';\nimport {\n SwitchSelector,\n type SwitchSelectorChoices,\n SwitchSelectorColor,\n type SwitchSelectorProps,\n SwitchSelectorSize,\n} from '@components/SwitchSelector';\nimport { useAuditContentDeclarationField } from '@hooks/reactQuery';\nimport {\n getEmptyNode,\n getNodeType,\n} from '@intlayer/core/dictionaryManipulator';\nimport { getLocaleName } from '@intlayer/core/localization';\nimport type {\n ConditionContent,\n EnumerationContent,\n FileContent,\n GenderContent,\n HTMLContent,\n InsertionContent,\n MarkdownContent,\n TranslationContent,\n} from '@intlayer/core/transpiler';\nimport { useConfiguration, useEditedContent } from '@intlayer/editor-react';\nimport {\n type ContentNode,\n type Dictionary,\n type KeyPath,\n type Locale,\n type LocalesValues,\n NodeType,\n} from '@intlayer/types';\nimport { renameKey } from '@utils/object';\nimport { Plus, Trash, WandSparkles } from 'lucide-react';\nimport { type FC, Fragment, type ReactNode, useState } from 'react';\nimport { useIntlayer, useLocale } from 'react-intlayer';\nimport { EnumKeyInput } from '../EnumKeyInput';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\ntype ContentEditorTextAreaProps = Omit<\n ContentEditorTextAreaPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorTextArea: FC<ContentEditorTextAreaProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { editedContent, addEditedContent } = useEditedContent();\n const configuration = useConfiguration();\n const { mutate: auditContentDeclarationField, isPending: isAuditing } =\n useAuditContentDeclarationField();\n\n return (\n <ContentEditorTextAreaBase\n variant={InputVariant.DEFAULT}\n onContentChange={(newValue) =>\n addEditedContent(dictionary.localId!, newValue, keyPath)\n }\n additionalButtons={\n <Button\n Icon={WandSparkles}\n label=\"Audit\"\n variant={ButtonVariant.HOVERABLE}\n size={ButtonSize.ICON_SM}\n color={ButtonColor.TEXT}\n className=\"cursor-pointer hover:scale-110\"\n isLoading={isAuditing}\n onClick={() => {\n auditContentDeclarationField(\n {\n fileContent: JSON.stringify({\n ...dictionary,\n ...(editedContent?.[dictionary.localId!] ?? {}),\n }),\n keyPath,\n locales: configuration.internationalization.locales ?? [],\n aiOptions: {\n apiKey: configuration.ai?.apiKey,\n model: configuration.ai?.model,\n temperature: configuration.ai?.temperature,\n },\n },\n {\n onSuccess: (response) => {\n if (!response?.data) return;\n\n try {\n const editedContent = response.data.fileContent as string;\n\n addEditedContent(\n dictionary.localId!,\n editedContent,\n keyPath\n );\n } catch (error) {\n console.error(error);\n }\n },\n }\n );\n }}\n />\n }\n {...props}\n />\n );\n};\n\ntype ContentEditorInputProps = Omit<\n ContentEditorInputPropsBase,\n 'onContentChange'\n> & {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n};\n\nconst ContentEditorInput: FC<ContentEditorInputProps> = ({\n keyPath,\n dictionary,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <ContentEditorInputBase\n variant={InputVariant.DEFAULT}\n onContentChange={(newValue) =>\n addEditedContent(dictionary.localId!, newValue, keyPath)\n }\n {...props}\n />\n );\n};\n\nconst toggleContent = [\n {\n content: 'False',\n value: false,\n },\n {\n content: 'True',\n value: true,\n },\n] as SwitchSelectorChoices<boolean>;\n\ntype ContentEditorToggleProps = SwitchSelectorProps & {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n};\n\nconst ContentEditorToggle: FC<ContentEditorToggleProps> = ({\n dictionary,\n keyPath,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n return (\n <SwitchSelector\n choices={toggleContent}\n value={true}\n onChange={(value) =>\n addEditedContent(dictionary.localId!, value, keyPath)\n }\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n {...props}\n />\n );\n};\n\nexport type TextEditorProps = {\n dictionary: Dictionary;\n keyPath: KeyPath[];\n section: ContentNode;\n isDarkMode?: boolean;\n renderSection?: (content: string) => ReactNode;\n onContentChange?: (newValue: string) => void;\n};\n\nconst TranslationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}: TextEditorProps) => {\n const { locale, defaultLocale } = useLocale();\n const { selectedLocales, availableLocales } = useLocaleSwitcherContent();\n\n const sectionContent = (section as TranslationContent<string>)[\n NodeType.Translation\n ] as Record<Locale, string>;\n\n const sectionContentKeys = Object.keys(sectionContent) as LocalesValues[];\n\n const isFiltered = availableLocales.length > selectedLocales.length;\n\n const localesList = isFiltered\n ? selectedLocales\n : // If the translation include content in other locales, we display all of them\n [...new Set([...availableLocales, ...sectionContentKeys])];\n\n const content: any = (section as TranslationContent<string>)[\n NodeType.Translation\n ];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {localesList.map((translationKey) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-translation-${translationKey}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 w-full p-2 text-xs\">\n <td className=\"flex w-full\">\n {getLocaleName(translationKey, locale)}\n </td>\n </tr>\n <tr className=\"flex\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n content[translationKey] ??\n getEmptyNode(content[defaultLocale])\n }\n keyPath={[\n ...keyPath,\n { type: NodeType.Translation, key: translationKey },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n );\n};\n\nconst EnumerationTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewEnumeration, removeEnumeration } =\n useIntlayer('navigation-view');\n\n const content = (section as EnumerationContent<string>)[NodeType.Enumeration];\n const firstKey = Object.keys(content)[0] as keyof typeof content;\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {Object.keys(\n (section as EnumerationContent<ContentNode>)[NodeType.Enumeration]\n ).map((enumKey) => {\n const childrenKeyPath = [\n ...keyPath,\n { type: NodeType.Enumeration, key: enumKey },\n ] as KeyPath[];\n const uniqueKey = `${JSON.stringify(keyPath)}-enumeration-${enumKey}`;\n\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 w-full\">\n <td className=\"flex w-full\">\n <div className=\"flex flex-1\">\n <Button\n label={removeEnumeration.label.value}\n variant=\"hoverable\"\n size=\"sm\"\n color=\"error\"\n className=\"ml-auto text-neutral hover:text-error\"\n Icon={Trash}\n onClick={() =>\n addEditedContent(\n dictionary.localId!,\n undefined,\n childrenKeyPath\n )\n }\n >\n {removeEnumeration.text}\n </Button>\n </div>\n </td>\n </tr>\n <tr className=\"w-full p-2\">\n <td className=\"flex w-full\">\n <EnumKeyInput\n value={enumKey}\n onChange={(value) => {\n const preValueContent = (\n section as EnumerationContent<string>\n )[NodeType.Enumeration];\n\n const newValueContent = renameKey(\n preValueContent,\n enumKey as keyof typeof preValueContent,\n value\n );\n const newValue = {\n ...(section as EnumerationContent<string>),\n [NodeType.Enumeration]: newValueContent,\n };\n\n console.log('newValue', newValue);\n\n addEditedContent(\n dictionary.localId!,\n newValue,\n keyPath\n );\n }}\n />\n </td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditor\n section={\n content[enumKey as keyof typeof content] ??\n getEmptyNode(content[firstKey])\n }\n keyPath={childrenKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n\n <Button\n label={addNewEnumeration.label.value}\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.NEUTRAL}\n textAlign={ButtonTextAlign.LEFT}\n isFullWidth\n onClick={() =>\n addEditedContent(\n dictionary.localId!,\n getEmptyNode(content[firstKey]) ?? '',\n [...keyPath, { type: NodeType.Enumeration, key: 'unknown' }]\n )\n }\n Icon={Plus}\n className=\"m-2\"\n >\n {addNewEnumeration.text}\n </Button>\n </div>\n );\n};\n\nconst ConditionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const content = (section as ConditionContent<string>)[NodeType.Condition];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['true', 'false', 'fallback'].map((condKey) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-condition-${condKey}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 block w-full p-2 text-xs\">\n <td className=\"flex w-full\">{String(condKey)}</td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content.true)\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Condition,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n );\n};\n\nconst GenderTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const content = (section as GenderContent<string>)[NodeType.Gender];\n\n return (\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {['male', 'female', 'fallback'].map((condKey) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-gender-${condKey}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 block w-full p-2 text-xs\">\n <td className=\"flex w-full\">{String(condKey)}</td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n content[condKey as keyof typeof content] ??\n getEmptyNode(content.male)\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Gender,\n key: condKey,\n } as KeyPath,\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n );\n};\n\nconst ArrayTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => {\n const { addEditedContent } = useEditedContent();\n const { addNewElement, removeElement } = useIntlayer('navigation-view');\n\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full\">\n <tbody className=\"flex w-full flex-col gap-2\">\n {(section as unknown as ContentNode[]).map((subSection, index) => {\n const uniqueKey = `${JSON.stringify(keyPath)}-array-${index}`;\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 w-full p-2\">\n <td className=\"flex w-full\">\n <div className=\"flex w-full items-center justify-between gap-2\">\n <span className=\"text-xs\">{String(index)}</span>\n <Button\n label={removeElement.label.value}\n variant=\"hoverable\"\n size=\"sm\"\n color=\"error\"\n className=\"ml-auto text-neutral hover:text-error\"\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: index, // Fixed: Use index instead of length\n },\n ];\n addEditedContent(\n dictionary.localId!,\n undefined,\n newKeyPath\n );\n }}\n Icon={Trash}\n >\n {removeElement.text}\n </Button>\n </div>\n </td>\n </tr>\n\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditorContainer\n section={\n subSection ??\n getEmptyNode((section as unknown as ContentNode[])[0])\n }\n keyPath={[\n ...keyPath,\n {\n type: NodeType.Array,\n key: index,\n },\n ]}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n })}\n </tbody>\n </table>\n <Button\n label={addNewElement.label.value}\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.NEUTRAL}\n textAlign={ButtonTextAlign.LEFT}\n isFullWidth\n onClick={() => {\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Array,\n key: (section as unknown as ContentNode[]).length, // Keeps length for adding new items\n },\n ];\n addEditedContent(\n dictionary.localId!,\n getEmptyNode((section as unknown as ContentNode[])[0]) ?? '',\n newKeyPath,\n false\n );\n }}\n Icon={Plus}\n >\n {addNewElement.text}\n </Button>\n </div>\n );\n};\n\nconst ObjectTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n}) => (\n <>\n <table className=\"w-full\">\n <tbody className=\"flex flex-col gap-2\">\n {Object.keys(section as unknown as Record<string, ContentNode>).map(\n (key) => {\n const childKeyPath: KeyPath[] = [\n ...keyPath,\n { type: NodeType.Object, key },\n ];\n const typedSection = section as unknown as Record<\n string,\n ContentNode\n >;\n const firstKey = Object.keys(\n typedSection\n )[0] as keyof typeof section;\n const subSection =\n typedSection[key as keyof typeof section] ??\n getEmptyNode(typedSection[firstKey]);\n const uniqueKey = `${JSON.stringify(keyPath)}-object-${key}`;\n\n return (\n <Fragment key={uniqueKey}>\n <tr className=\"mt-2 p-2 text-xs\">\n <td className=\"flex w-full\">{String(key)}</td>\n </tr>\n <tr className=\"block w-full\">\n <td className=\"flex w-full\">\n <TextEditor\n section={subSection}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={renderSection}\n />\n </td>\n </tr>\n </Fragment>\n );\n }\n )}\n </tbody>\n </table>\n </>\n);\n\nenum MarkdownViewMode {\n Edit,\n Preview,\n}\n\nenum HtmlViewMode {\n Edit,\n Preview,\n}\n\nconst HtmlTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n}) => {\n const [mode, setMode] = useState(HtmlViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: HtmlViewMode.Edit,\n },\n {\n content: 'Preview',\n value: HtmlViewMode.Preview,\n },\n ] as SwitchSelectorChoices<HtmlViewMode>;\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.HTML }];\n\n const content = (section as HTMLContent<ContentNode>)[\n NodeType.HTML\n ] as ContentNode;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n className=\"ml-auto\"\n />\n\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={\n mode === HtmlViewMode.Preview\n ? (content) => (\n // biome-ignore lint/security/noDangerouslySetInnerHtml: HTML content is user-controlled and rendered in editor context\n <div dangerouslySetInnerHTML={{ __html: content }} />\n )\n : undefined\n }\n />\n </div>\n );\n};\n\nconst MarkdownTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n isDarkMode,\n}) => {\n const [mode, setMode] = useState(MarkdownViewMode.Edit);\n const toggleContent = [\n {\n content: 'Edit',\n value: MarkdownViewMode.Edit,\n },\n {\n content: 'Preview',\n value: MarkdownViewMode.Preview,\n },\n ] as SwitchSelectorChoices<MarkdownViewMode>;\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Markdown }];\n\n const content = (section as MarkdownContent<ContentNode>)[\n NodeType.Markdown\n ] as ContentNode;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <SwitchSelector\n choices={toggleContent}\n value={mode}\n onChange={setMode}\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n className=\"ml-auto\"\n />\n\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n dictionary={dictionary}\n renderSection={\n mode === MarkdownViewMode.Preview\n ? (content) => (\n <MarkdownRenderer isDarkMode={isDarkMode}>\n {content}\n </MarkdownRenderer>\n )\n : undefined\n }\n />\n </div>\n );\n};\n\nconst InsertionTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.Insertion }];\n\n const content = (section as InsertionContent<ContentNode>)[\n NodeType.Insertion\n ];\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst FileTextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n ...props\n}) => {\n const childKeyPath: KeyPath[] = [...keyPath, { type: NodeType.File }];\n\n const fileUrl = (section as FileContent)[NodeType.File];\n const { content } = section as FileContent;\n\n return (\n <div className=\"flex w-full flex-col justify-center gap-6 p-2\">\n <span className=\"text-neutral text-sm\">{fileUrl} </span>\n <TextEditorContainer\n section={content}\n keyPath={childKeyPath}\n {...props}\n />\n </div>\n );\n};\n\nconst NestedTextEditor: FC<TextEditorProps> = ({\n keyPath,\n dictionary,\n renderSection,\n section,\n ...props\n}) => {\n const { addEditedContent } = useEditedContent();\n\n const content = (section as any)[NodeType.Nested];\n const childrenKeyPath = [...keyPath, { type: NodeType.Nested }] as KeyPath[];\n\n return (\n <div className=\"flex w-full flex-col gap-4 p-2\">\n <Label>Dictionary key</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant={InputVariant.DEFAULT}\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.localId!,\n {\n ...content,\n dictionaryKey: String(newValue),\n },\n childrenKeyPath\n );\n }}\n >\n {content.dictionaryKey ?? ''}\n </ContentEditorInputBase>\n\n <Label>Path (optional)</Label>\n <ContentEditorInputBase\n aria-label=\"Edit field\"\n type=\"text\"\n variant={InputVariant.DEFAULT}\n {...props}\n onContentChange={(newValue) => {\n addEditedContent(\n dictionary.localId!,\n {\n ...content,\n path: newValue !== '' ? newValue : undefined,\n },\n childrenKeyPath\n );\n }}\n >\n {content.path ?? ''}\n </ContentEditorInputBase>\n </div>\n );\n};\n\nexport const TextEditor: FC<TextEditorProps> = ({\n section,\n keyPath,\n dictionary,\n renderSection,\n isDarkMode,\n}) => {\n const { tsxNotEditable } = useIntlayer('navigation-view');\n const nodeType = getNodeType(section);\n\n if (nodeType === NodeType.ReactNode) {\n return (\n <div className=\"flex w-full flex-col gap-2\">\n <span>(React Node)</span>\n <span className=\"flex text-neutral text-xs\">{tsxNotEditable}</span>\n </div>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <NestedTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Gender) {\n return (\n <GenderTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Insertion) {\n return (\n <InsertionTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n isDarkMode={isDarkMode}\n />\n );\n }\n\n if (nodeType === NodeType.HTML) {\n return (\n <HtmlTextEditor\n dictionary={dictionary}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.File) {\n return (\n <FileTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Object) {\n return (\n <ObjectTextEditor\n dictionary={dictionary}\n renderSection={renderSection}\n keyPath={keyPath}\n section={section}\n />\n );\n }\n\n if (nodeType === NodeType.Number) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorInput\n dictionary={dictionary}\n keyPath={keyPath}\n type=\"number\"\n aria-label=\"Edit field\"\n >\n {section as number}\n </ContentEditorInput>\n </div>\n );\n }\n\n if (nodeType === NodeType.Text) {\n return (\n <div className=\"w-full p-2\">\n {typeof renderSection === 'function' ? (\n renderSection(section as string)\n ) : (\n <ContentEditorTextArea\n variant={InputVariant.DEFAULT}\n aria-label=\"Edit field\"\n keyPath={keyPath}\n dictionary={dictionary}\n >\n {section as string}\n </ContentEditorTextArea>\n )}\n </div>\n );\n }\n\n if (nodeType === NodeType.Boolean) {\n return (\n <div className=\"w-full p-2\">\n <ContentEditorToggle\n dictionary={dictionary}\n keyPath={keyPath}\n value={section as boolean}\n />\n </div>\n );\n }\n\n return (\n <div className=\"w-full p-2\">\n Error. Format not supported.\n {JSON.stringify(section, null, 2)}\n {JSON.stringify(keyPath, null, 2)}\n NodeType : {nodeType}\n </div>\n );\n};\n\nexport const TextEditorContainer: FC<TextEditorProps> = (props) => (\n <Container\n border\n background=\"none\"\n className=\"top-6 flex h-full flex-1 flex-col gap-6 overflow-hidden p-2 md:sticky\"\n roundedSize=\"xl\"\n >\n <TextEditor {...props} />\n </Container>\n);\n"],"mappings":"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"}
|
package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs
CHANGED
|
@@ -1,65 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { ButtonColor } from "../../Button/Button.mjs";
|
|
4
|
-
import { useSession } from "../../../hooks/useAuth/useSession.mjs";
|
|
5
|
-
import { useAddDictionary, useGetProjects } from "../../../hooks/reactQuery.mjs";
|
|
6
|
-
import { MultiSelect } from "../../Select/Multiselect.mjs";
|
|
7
|
-
import { useForm } from "../../Form/FormBase.mjs";
|
|
8
|
-
import { Form } from "../../Form/Form.mjs";
|
|
9
|
-
import { useDictionarySchema } from "./useDictionaryFormSchema.mjs";
|
|
10
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { useIntlayer } from "react-intlayer";
|
|
12
|
-
|
|
13
|
-
//#region src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx
|
|
14
|
-
const DictionaryCreationForm = ({ onDictionaryCreated }) => {
|
|
15
|
-
const { session } = useSession();
|
|
16
|
-
const { project } = session ?? {};
|
|
17
|
-
const { mutate: addDictionary, isPending } = useAddDictionary();
|
|
18
|
-
const { data: projectsData } = useGetProjects();
|
|
19
|
-
const DictionarySchema = useDictionarySchema(String(project?.id));
|
|
20
|
-
const { form, isSubmitting } = useForm(DictionarySchema);
|
|
21
|
-
const { keyInput, createDictionaryButton, projectInput } = useIntlayer("dictionary-form");
|
|
22
|
-
const onSubmitSuccess = (data) => {
|
|
23
|
-
addDictionary({ dictionary: data }, { onSuccess: () => {
|
|
24
|
-
onDictionaryCreated?.();
|
|
25
|
-
} });
|
|
26
|
-
};
|
|
27
|
-
return /* @__PURE__ */ jsxs(Form, {
|
|
28
|
-
schema: DictionarySchema,
|
|
29
|
-
onSubmitSuccess,
|
|
30
|
-
className: "m-auto w-full max-w-[400px]",
|
|
31
|
-
...form,
|
|
32
|
-
children: [
|
|
33
|
-
/* @__PURE__ */ jsx(Form.Input, {
|
|
34
|
-
name: "key",
|
|
35
|
-
label: keyInput.label.value,
|
|
36
|
-
placeholder: keyInput.placeholder.value,
|
|
37
|
-
isRequired: true
|
|
38
|
-
}),
|
|
39
|
-
/* @__PURE__ */ jsxs(Form.MultiSelect, {
|
|
40
|
-
name: "projectIds",
|
|
41
|
-
label: projectInput.label.value,
|
|
42
|
-
children: [/* @__PURE__ */ jsx(MultiSelect.Trigger, {
|
|
43
|
-
getBadgeValue: (value) => projectsData?.data?.find((project) => String(project.id) === value)?.name ?? value,
|
|
44
|
-
children: /* @__PURE__ */ jsx(MultiSelect.Input, { placeholder: projectInput.placeholder.value })
|
|
45
|
-
}), /* @__PURE__ */ jsx(MultiSelect.Content, { children: /* @__PURE__ */ jsx(MultiSelect.List, { children: projectsData?.data?.map((project) => /* @__PURE__ */ jsx(MultiSelect.Item, {
|
|
46
|
-
value: String(project.id),
|
|
47
|
-
children: project.name
|
|
48
|
-
}, String(project.id))) }) })]
|
|
49
|
-
}),
|
|
50
|
-
/* @__PURE__ */ jsx(Form.Button, {
|
|
51
|
-
className: "mt-12 ml-auto",
|
|
52
|
-
type: "submit",
|
|
53
|
-
color: ButtonColor.TEXT,
|
|
54
|
-
isLoading: isSubmitting || isPending,
|
|
55
|
-
label: createDictionaryButton.ariaLabel.value,
|
|
56
|
-
isFullWidth: true,
|
|
57
|
-
children: createDictionaryButton.text
|
|
58
|
-
})
|
|
59
|
-
]
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
//#endregion
|
|
64
|
-
export { DictionaryCreationForm };
|
|
1
|
+
"use client";import{ButtonColor as e}from"../../Button/Button.mjs";import{useSession as t}from"../../../hooks/useAuth/useSession.mjs";import{useAddDictionary as n,useGetProjects as r}from"../../../hooks/reactQuery.mjs";import{MultiSelect as i}from"../../Select/Multiselect.mjs";import{useForm as a}from"../../Form/FormBase.mjs";import{Form as o}from"../../Form/Form.mjs";import{useDictionarySchema as s}from"./useDictionaryFormSchema.mjs";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{useIntlayer as u}from"react-intlayer";const d=({onDictionaryCreated:d})=>{let{session:f}=t(),{project:p}=f??{},{mutate:m,isPending:h}=n(),{data:g}=r(),_=s(String(p?.id)),{form:v,isSubmitting:y}=a(_),{keyInput:b,createDictionaryButton:x,projectInput:S}=u(`dictionary-form`);return l(o,{schema:_,onSubmitSuccess:e=>{m({dictionary:e},{onSuccess:()=>{d?.()}})},className:`m-auto w-full max-w-[400px]`,...v,children:[c(o.Input,{name:`key`,label:b.label.value,placeholder:b.placeholder.value,isRequired:!0}),l(o.MultiSelect,{name:`projectIds`,label:S.label.value,children:[c(i.Trigger,{getBadgeValue:e=>g?.data?.find(t=>String(t.id)===e)?.name??e,children:c(i.Input,{placeholder:S.placeholder.value})}),c(i.Content,{children:c(i.List,{children:g?.data?.map(e=>c(i.Item,{value:String(e.id),children:e.name},String(e.id)))})})]}),c(o.Button,{className:`mt-12 ml-auto`,type:`submit`,color:e.TEXT,isLoading:y||h,label:x.ariaLabel.value,isFullWidth:!0,children:x.text})]})};export{d as DictionaryCreationForm};
|
|
65
2
|
//# sourceMappingURL=DictionaryCreationForm.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DictionaryCreationForm.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx"],"sourcesContent":["'use client';\n\nimport { ButtonColor } from '@components/Button';\nimport { Form, useForm } from '@components/Form';\nimport { MultiSelect } from '@components/Select';\nimport { useAddDictionary, useGetProjects } from '@hooks/reactQuery';\nimport { useSession } from '@hooks/useAuth';\nimport type { FC } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport {\n type DictionaryFormData,\n useDictionarySchema,\n} from './useDictionaryFormSchema';\n\ntype DictionaryCreationFormProps = {\n onDictionaryCreated?: () => void;\n};\n\nexport const DictionaryCreationForm: FC<DictionaryCreationFormProps> = ({\n onDictionaryCreated,\n}) => {\n const { session } = useSession();\n const { project } = session ?? {};\n const { mutate: addDictionary, isPending } = useAddDictionary();\n const { data: projectsData } = useGetProjects();\n const DictionarySchema = useDictionarySchema(String(project?.id));\n const { form, isSubmitting } = useForm(DictionarySchema);\n const { keyInput, createDictionaryButton, projectInput } =\n useIntlayer('dictionary-form');\n\n const onSubmitSuccess = (data: DictionaryFormData) => {\n addDictionary(\n { dictionary: data },\n {\n onSuccess: () => {\n onDictionaryCreated?.();\n },\n }\n );\n };\n\n return (\n <Form\n schema={DictionarySchema}\n onSubmitSuccess={onSubmitSuccess}\n className=\"m-auto w-full max-w-[400px]\"\n {...form}\n >\n <Form.Input\n name=\"key\"\n label={keyInput.label.value}\n placeholder={keyInput.placeholder.value}\n isRequired\n />\n\n <Form.MultiSelect name=\"projectIds\" label={projectInput.label.value}>\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projectsData?.data?.find((project) => String(project.id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <MultiSelect.List>\n {projectsData?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project.id)}\n value={String(project.id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.Button\n className=\"mt-12 ml-auto\"\n type=\"submit\"\n color={ButtonColor.TEXT}\n isLoading={isSubmitting || isPending}\n label={createDictionaryButton.ariaLabel.value}\n isFullWidth\n >\n {createDictionaryButton.text}\n </Form.Button>\n </Form>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DictionaryCreationForm.mjs","names":[],"sources":["../../../../../src/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.tsx"],"sourcesContent":["'use client';\n\nimport { ButtonColor } from '@components/Button';\nimport { Form, useForm } from '@components/Form';\nimport { MultiSelect } from '@components/Select';\nimport { useAddDictionary, useGetProjects } from '@hooks/reactQuery';\nimport { useSession } from '@hooks/useAuth';\nimport type { FC } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport {\n type DictionaryFormData,\n useDictionarySchema,\n} from './useDictionaryFormSchema';\n\ntype DictionaryCreationFormProps = {\n onDictionaryCreated?: () => void;\n};\n\nexport const DictionaryCreationForm: FC<DictionaryCreationFormProps> = ({\n onDictionaryCreated,\n}) => {\n const { session } = useSession();\n const { project } = session ?? {};\n const { mutate: addDictionary, isPending } = useAddDictionary();\n const { data: projectsData } = useGetProjects();\n const DictionarySchema = useDictionarySchema(String(project?.id));\n const { form, isSubmitting } = useForm(DictionarySchema);\n const { keyInput, createDictionaryButton, projectInput } =\n useIntlayer('dictionary-form');\n\n const onSubmitSuccess = (data: DictionaryFormData) => {\n addDictionary(\n { dictionary: data },\n {\n onSuccess: () => {\n onDictionaryCreated?.();\n },\n }\n );\n };\n\n return (\n <Form\n schema={DictionarySchema}\n onSubmitSuccess={onSubmitSuccess}\n className=\"m-auto w-full max-w-[400px]\"\n {...form}\n >\n <Form.Input\n name=\"key\"\n label={keyInput.label.value}\n placeholder={keyInput.placeholder.value}\n isRequired\n />\n\n <Form.MultiSelect name=\"projectIds\" label={projectInput.label.value}>\n <MultiSelect.Trigger\n getBadgeValue={(value) =>\n projectsData?.data?.find((project) => String(project.id) === value)\n ?.name ?? value\n }\n >\n <MultiSelect.Input placeholder={projectInput.placeholder.value} />\n </MultiSelect.Trigger>\n <MultiSelect.Content>\n <MultiSelect.List>\n {projectsData?.data?.map((project) => (\n <MultiSelect.Item\n key={String(project.id)}\n value={String(project.id)}\n >\n {project.name}\n </MultiSelect.Item>\n ))}\n </MultiSelect.List>\n </MultiSelect.Content>\n </Form.MultiSelect>\n\n <Form.Button\n className=\"mt-12 ml-auto\"\n type=\"submit\"\n color={ButtonColor.TEXT}\n isLoading={isSubmitting || isPending}\n label={createDictionaryButton.ariaLabel.value}\n isFullWidth\n >\n {createDictionaryButton.text}\n </Form.Button>\n </Form>\n );\n};\n"],"mappings":"shBAkBA,MAAa,GAA2D,CACtE,yBACI,CACJ,GAAM,CAAE,WAAY,GAAY,CAC1B,CAAE,WAAY,GAAW,EAAE,CAC3B,CAAE,OAAQ,EAAe,aAAc,GAAkB,CACzD,CAAE,KAAM,GAAiB,GAAgB,CACzC,EAAmB,EAAoB,OAAO,GAAS,GAAG,CAAC,CAC3D,CAAE,OAAM,gBAAiB,EAAQ,EAAiB,CAClD,CAAE,WAAU,yBAAwB,gBACxC,EAAY,kBAAkB,CAahC,OACE,EAAC,EAAA,CACC,OAAQ,EACS,gBAdI,GAA6B,CACpD,EACE,CAAE,WAAY,EAAM,CACpB,CACE,cAAiB,CACf,KAAuB,EAE1B,CACF,EAOC,UAAU,8BACV,GAAI,YAEJ,EAAC,EAAK,MAAA,CACJ,KAAK,MACL,MAAO,EAAS,MAAM,MACtB,YAAa,EAAS,YAAY,MAClC,WAAA,IACA,CAEF,EAAC,EAAK,YAAA,CAAY,KAAK,aAAa,MAAO,EAAa,MAAM,gBAC5D,EAAC,EAAY,QAAA,CACX,cAAgB,GACd,GAAc,MAAM,KAAM,GAAY,OAAO,EAAQ,GAAG,GAAK,EAAM,EAC/D,MAAQ,WAGd,EAAC,EAAY,MAAA,CAAM,YAAa,EAAa,YAAY,MAAA,CAAS,EAC9C,CACtB,EAAC,EAAY,QAAA,CAAA,SACX,EAAC,EAAY,KAAA,CAAA,SACV,GAAc,MAAM,IAAK,GACxB,EAAC,EAAY,KAAA,CAEX,MAAO,OAAO,EAAQ,GAAG,UAExB,EAAQ,MAHJ,OAAO,EAAQ,GAAG,CAIN,CACnB,CAAA,CACe,CAAA,CACC,CAAA,EACL,CAEnB,EAAC,EAAK,OAAA,CACJ,UAAU,gBACV,KAAK,SACL,MAAO,EAAY,KACnB,UAAW,GAAgB,EAC3B,MAAO,EAAuB,UAAU,MACxC,YAAA,YAEC,EAAuB,MACZ,GACT"}
|
|
@@ -1,269 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
//#region src/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.ts
|
|
4
|
-
const dictionaryFormContent = {
|
|
5
|
-
key: "dictionary-form",
|
|
6
|
-
content: {
|
|
7
|
-
keyInput: {
|
|
8
|
-
label: t({
|
|
9
|
-
en: "Key",
|
|
10
|
-
"en-GB": "Key",
|
|
11
|
-
fr: "Clé",
|
|
12
|
-
es: "Clave",
|
|
13
|
-
de: "Schlüssel",
|
|
14
|
-
ja: "キー",
|
|
15
|
-
ko: "키",
|
|
16
|
-
zh: "键",
|
|
17
|
-
it: "Chiave",
|
|
18
|
-
pt: "Chave",
|
|
19
|
-
hi: "कुंजी",
|
|
20
|
-
ar: "مفتاح",
|
|
21
|
-
ru: "Ключ",
|
|
22
|
-
tr: "Anahtar",
|
|
23
|
-
pl: "Klucz",
|
|
24
|
-
id: "Key",
|
|
25
|
-
vi: "Key",
|
|
26
|
-
uk: "Ключ"
|
|
27
|
-
}),
|
|
28
|
-
placeholder: t({
|
|
29
|
-
en: "Enter the key of your dictionary",
|
|
30
|
-
"en-GB": "Enter the key of your dictionary",
|
|
31
|
-
fr: "Entrez la clé de votre dictionnaire",
|
|
32
|
-
es: "Ingrese la clave de su diccionario",
|
|
33
|
-
de: "Geben Sie den Schlüssel Ihres Wörterbuchs ein",
|
|
34
|
-
ja: "辞書のキーを入力してください",
|
|
35
|
-
ko: "사전의 키를 입력하세요",
|
|
36
|
-
zh: "输入字典的键",
|
|
37
|
-
it: "Inserisci la chiave del tuo dizionario",
|
|
38
|
-
pt: "Insira a chave do seu dicionário",
|
|
39
|
-
hi: "अपने शब्दकोश की कुंजी दर्ज करें",
|
|
40
|
-
ar: "أدخل مفتاح القاموس الخاص بك",
|
|
41
|
-
ru: "Введите ключ вашего словаря",
|
|
42
|
-
tr: "Sözlüğünüzün anahtarını girin",
|
|
43
|
-
pl: "Wprowadź klucz słownika",
|
|
44
|
-
id: "Masukkan key dictionary Anda",
|
|
45
|
-
vi: "Nhập key của từ điển của bạn",
|
|
46
|
-
uk: "Введіть ключ вашого словника"
|
|
47
|
-
})
|
|
48
|
-
},
|
|
49
|
-
projectInput: {
|
|
50
|
-
label: t({
|
|
51
|
-
en: "Projects",
|
|
52
|
-
"en-GB": "Projects",
|
|
53
|
-
fr: "Projets",
|
|
54
|
-
es: "Proyectos",
|
|
55
|
-
de: "Projekte",
|
|
56
|
-
ja: "プロジェクト",
|
|
57
|
-
ko: "프로젝트",
|
|
58
|
-
zh: "项目",
|
|
59
|
-
it: "Progetti",
|
|
60
|
-
pt: "Projetos",
|
|
61
|
-
hi: "प्रोजेक्ट",
|
|
62
|
-
ar: "مشاريع",
|
|
63
|
-
ru: "Проекты",
|
|
64
|
-
tr: "Projeler",
|
|
65
|
-
pl: "Projekty",
|
|
66
|
-
id: "Projects",
|
|
67
|
-
vi: "Dự án",
|
|
68
|
-
uk: "Проєкти"
|
|
69
|
-
}),
|
|
70
|
-
placeholder: t({
|
|
71
|
-
en: "Select one or more projects to associate with your dictionary",
|
|
72
|
-
"en-GB": "Select one or more projects to associate with your dictionary",
|
|
73
|
-
fr: "Sélectionnez un ou plusieurs projets à associer à votre dictionnaire",
|
|
74
|
-
es: "Seleccione uno o más proyectos para asociar con su diccionario",
|
|
75
|
-
de: "Wählen Sie ein oder mehrere Projekte aus, um sie mit Ihrem Wörterbuch zu verknüpfen",
|
|
76
|
-
ja: "辞書に関連付けるプロジェクトを1つ以上選択してください",
|
|
77
|
-
ko: "사전과 연결할 프로젝트를 하나 이상 선택하세요",
|
|
78
|
-
zh: "选择一个或多个项目与您的字典关联",
|
|
79
|
-
it: "Seleziona uno o più progetti da associare al tuo dizionario",
|
|
80
|
-
pt: "Selecione um ou mais projetos para associar ao seu dicionário",
|
|
81
|
-
hi: "अपने शब्दकोश से जोड़ने के लिए एक या एक से अधिक प्रोजेक्ट चुनें",
|
|
82
|
-
ar: "حدد مشروعًا أو أكثر للربط مع قاموسك",
|
|
83
|
-
ru: "Выберите один или несколько проектов для связывания со словарем",
|
|
84
|
-
tr: "Sözlüğünüzle ilişkilendirmek için bir veya daha fazla proje seçin",
|
|
85
|
-
pl: "Wybierz jeden lub więcej projektów do powiązania z tym słownikiem",
|
|
86
|
-
id: "Pilih satu atau lebih Projects untuk dikaitkan dengan dictionary Anda",
|
|
87
|
-
vi: "Chọn một hoặc nhiều dự án để liên kết với từ điển của bạn",
|
|
88
|
-
uk: "Виберіть один або кілька проєктів, щоб пов'язати їх із вашим словником"
|
|
89
|
-
})
|
|
90
|
-
},
|
|
91
|
-
noDictionaryView: {
|
|
92
|
-
title: t({
|
|
93
|
-
en: "No dictionary",
|
|
94
|
-
"en-GB": "No dictionary",
|
|
95
|
-
fr: "Aucun dictionnaire",
|
|
96
|
-
es: "Sin diccionario",
|
|
97
|
-
de: "Kein Wörterbuch",
|
|
98
|
-
ja: "辞書がありません",
|
|
99
|
-
ko: "사전이 없습니다",
|
|
100
|
-
zh: "没有字典",
|
|
101
|
-
it: "Nessun dizionario",
|
|
102
|
-
pt: "Nenhum dicionário",
|
|
103
|
-
hi: "कोई शब्दकोश नहीं",
|
|
104
|
-
ar: "لا يوجد قاموس",
|
|
105
|
-
ru: "Нет словаря",
|
|
106
|
-
tr: "Hiç sözlük yok",
|
|
107
|
-
pl: "Brak słownika",
|
|
108
|
-
id: "Tidak ada dictionary",
|
|
109
|
-
vi: "Chưa có từ điển",
|
|
110
|
-
uk: "Немає словника"
|
|
111
|
-
}),
|
|
112
|
-
description: t({
|
|
113
|
-
en: "Create your first dictionary to start using Intlayer",
|
|
114
|
-
"en-GB": "Create your first dictionary to start using Intlayer",
|
|
115
|
-
fr: "Créez votre premier dictionnaire pour commencer à utiliser Intlayer",
|
|
116
|
-
es: "Cree su primer diccionario para comenzar a usar Intlayer",
|
|
117
|
-
de: "Erstellen Sie Ihr erstes Wörterbuch, um Intlayer zu verwenden",
|
|
118
|
-
ja: "Intlayerを使用するために最初の辞書を作成してください",
|
|
119
|
-
ko: "Intlayer를 사용하려면 첫 번째 사전을 만들어주세요",
|
|
120
|
-
zh: "创建您的第一个字典以开始使用Intlayer",
|
|
121
|
-
it: "Crea il tuo primo dizionario per iniziare a usare Intlayer",
|
|
122
|
-
pt: "Crie seu primeiro dicionário para começar a usar o Intlayer",
|
|
123
|
-
hi: "Intlayer का उपयोग करने के लिए अपना पहला शब्दकोश बनाएं",
|
|
124
|
-
ar: "أنشئ قاموسك الأول لبدء استخدام Intlayer",
|
|
125
|
-
ru: "Создайте свой первый словарь, чтобы начать использовать Intlayer",
|
|
126
|
-
tr: "Intlayer'ı kullanmaya başlamak için ilk sözlüğünüzü oluşturun",
|
|
127
|
-
pl: "Utwórz swój pierwszy słownik, aby zacząć korzystać z Intlayer",
|
|
128
|
-
id: "Buat dictionary pertama Anda untuk mulai menggunakan Intlayer",
|
|
129
|
-
vi: "Tạo từ điển đầu tiên của bạn để bắt đầu sử dụng Intlayer",
|
|
130
|
-
uk: "Створіть свій перший словник, щоб почати користуватися Intlayer"
|
|
131
|
-
})
|
|
132
|
-
},
|
|
133
|
-
createDictionaryTitle: t({
|
|
134
|
-
en: "No dictionary",
|
|
135
|
-
"en-GB": "No dictionary",
|
|
136
|
-
fr: "Aucun dictionnaire",
|
|
137
|
-
es: "Sin diccionario",
|
|
138
|
-
de: "Kein Wörterbuch",
|
|
139
|
-
ja: "辞書がありません",
|
|
140
|
-
ko: "사전이 없습니다",
|
|
141
|
-
zh: "没有字典",
|
|
142
|
-
it: "Nessun dizionario",
|
|
143
|
-
pt: "Nenhum dicionário",
|
|
144
|
-
hi: "कोई शब्दकोश नहीं",
|
|
145
|
-
ar: "لا يوجد قاموس",
|
|
146
|
-
ru: "Нет словаря",
|
|
147
|
-
tr: "Hiç sözlük yok",
|
|
148
|
-
pl: "Brak słownika",
|
|
149
|
-
id: "Tidak ada dictionary",
|
|
150
|
-
vi: "Chưa có từ điển",
|
|
151
|
-
uk: "Немає словника"
|
|
152
|
-
}),
|
|
153
|
-
createDictionaryDescription: t({
|
|
154
|
-
en: "Create your first dictionary to start using Intlayer",
|
|
155
|
-
"en-GB": "Create your first dictionary to start using Intlayer",
|
|
156
|
-
fr: "Créez votre premier dictionnaire pour commencer à utiliser Intlayer",
|
|
157
|
-
es: "Cree su primer diccionario para comenzar a usar Intlayer",
|
|
158
|
-
de: "Erstellen Sie Ihr erstes Wörterbuch, um Intlayer zu verwenden",
|
|
159
|
-
ja: "Intlayerを使用するために最初の辞書を作成してください",
|
|
160
|
-
ko: "Intlayer를 사용하려면 첫 번째 사전을 만들어주세요",
|
|
161
|
-
zh: "创建您的第一个字典以开始使用Intlayer",
|
|
162
|
-
it: "Crea il tuo primo dizionario per iniziare a usare Intlayer",
|
|
163
|
-
pt: "Crie seu primeiro dicionário para começar a usar o Intlayer",
|
|
164
|
-
hi: "Intlayer का उपयोग करने के लिए अपना पहला शब्दकोश बनाएं",
|
|
165
|
-
ar: "أنشئ قاموسك الأول لبدء استخدام Intlayer",
|
|
166
|
-
ru: "Создайте свой первый словарь, чтобы начать использовать Intlayer",
|
|
167
|
-
tr: "Intlayer'ı kullanmaya başlamak için ilk sözlüğünüzü oluşturun",
|
|
168
|
-
pl: "Utwórz swój pierwszy słownik, aby zacząć korzystać z Intlayer",
|
|
169
|
-
id: "Buat dictionary pertama Anda untuk mulai menggunakan Intlayer",
|
|
170
|
-
vi: "Tạo từ điển đầu tiên của bạn để bắt đầu sử dụng Intlayer",
|
|
171
|
-
uk: "Створіть свій перший словник, щоб почати користуватися Intlayer"
|
|
172
|
-
}),
|
|
173
|
-
createDictionaryButton: {
|
|
174
|
-
text: t({
|
|
175
|
-
en: "Create dictionary",
|
|
176
|
-
"en-GB": "Create dictionary",
|
|
177
|
-
fr: "Créer un dictionnaire",
|
|
178
|
-
es: "Crear un diccionario",
|
|
179
|
-
de: "Wörterbuch erstellen",
|
|
180
|
-
ja: "辞書を作成",
|
|
181
|
-
ko: "사전 만들기",
|
|
182
|
-
zh: "创建字典",
|
|
183
|
-
it: "Crea dizionario",
|
|
184
|
-
pt: "Criar dicionário",
|
|
185
|
-
hi: "शब्दकोश बनाएँ",
|
|
186
|
-
ar: "إنشاء قاموس",
|
|
187
|
-
ru: "Создать словарь",
|
|
188
|
-
tr: "Sözlük oluştur",
|
|
189
|
-
pl: "Utwórz słownik",
|
|
190
|
-
id: "Buat dictionary",
|
|
191
|
-
vi: "Tạo từ điển",
|
|
192
|
-
uk: "Створити словник"
|
|
193
|
-
}),
|
|
194
|
-
ariaLabel: t({
|
|
195
|
-
en: "Click to create dictionary",
|
|
196
|
-
"en-GB": "Click to create dictionary",
|
|
197
|
-
fr: "Cliquez pour créer un dictionnaire",
|
|
198
|
-
es: "Haga clic para crear un diccionario",
|
|
199
|
-
de: "Klicken Sie, um ein Wörterbuch zu erstellen",
|
|
200
|
-
ja: "辞書を作成するにはクリックしてください",
|
|
201
|
-
ko: "사전을 만들려면 클릭하세요",
|
|
202
|
-
zh: "点击创建字典",
|
|
203
|
-
it: "Clicca per creare un dizionario",
|
|
204
|
-
pt: "Clique para criar dicionário",
|
|
205
|
-
hi: "शब्दकोश बनाने के लिए क्लिक करें",
|
|
206
|
-
ar: "انقر لإنشاء قاموس",
|
|
207
|
-
ru: "Нажмите, чтобы создать словарь",
|
|
208
|
-
tr: "Sözlük oluşturmak için tıklayın",
|
|
209
|
-
pl: "Kliknij, aby utworzyć słownik",
|
|
210
|
-
id: "Klik untuk membuat dictionary",
|
|
211
|
-
vi: "Nhấn để tạo từ điển",
|
|
212
|
-
uk: "Натисніть, щоб створити словник"
|
|
213
|
-
})
|
|
214
|
-
},
|
|
215
|
-
editButton: {
|
|
216
|
-
text: t({
|
|
217
|
-
en: "Edit dictionary",
|
|
218
|
-
"en-GB": "Edit dictionary",
|
|
219
|
-
fr: "Modifier le dictionnaire",
|
|
220
|
-
es: "Editar el diccionario",
|
|
221
|
-
de: "Wörterbuch bearbeiten",
|
|
222
|
-
ja: "辞書を編集",
|
|
223
|
-
ko: "사전 편집",
|
|
224
|
-
zh: "编辑字典",
|
|
225
|
-
it: "Modifica dizionario",
|
|
226
|
-
pt: "Editar dicionário",
|
|
227
|
-
hi: "शब्दकोश संपादित करें",
|
|
228
|
-
ar: "تعديل القاموس",
|
|
229
|
-
ru: "Редактировать словарь",
|
|
230
|
-
tr: "Sözlüğü düzenle",
|
|
231
|
-
pl: "Edytuj słownik",
|
|
232
|
-
id: "Edit dictionary",
|
|
233
|
-
vi: "Chỉnh sửa từ điển",
|
|
234
|
-
uk: "Редагувати словник"
|
|
235
|
-
}),
|
|
236
|
-
ariaLabel: t({
|
|
237
|
-
en: "Click to edit",
|
|
238
|
-
"en-GB": "Click to edit",
|
|
239
|
-
fr: "Cliquez pour modifier",
|
|
240
|
-
es: "Haga clic para editar",
|
|
241
|
-
de: "Klicken Sie, um zu bearbeiten",
|
|
242
|
-
ja: "編集するにはクリックしてください",
|
|
243
|
-
ko: "편집하려면 클릭하세요",
|
|
244
|
-
zh: "点击编辑",
|
|
245
|
-
it: "Clicca per modificare",
|
|
246
|
-
pt: "Clique para editar",
|
|
247
|
-
hi: "संपादित करने के लिए क्लिक करें",
|
|
248
|
-
ar: "انقر لتعديل",
|
|
249
|
-
ru: "Нажмите, чтобы отредактировать",
|
|
250
|
-
tr: "Düzenlemek için tıklayın",
|
|
251
|
-
pl: "Kliknij, aby edytować",
|
|
252
|
-
id: "Klik untuk mengedit",
|
|
253
|
-
vi: "Nhấn để chỉnh sửa",
|
|
254
|
-
uk: "Натисніть, щоб редагувати словник"
|
|
255
|
-
})
|
|
256
|
-
}
|
|
257
|
-
},
|
|
258
|
-
title: "Dictionary form",
|
|
259
|
-
description: "Content declarations for the dictionary creation form, including labels, placeholders, titles, descriptions, and button texts for managing dictionaries within Intlayer.",
|
|
260
|
-
tags: [
|
|
261
|
-
"form",
|
|
262
|
-
"dictionary creation",
|
|
263
|
-
"intlayer cms"
|
|
264
|
-
]
|
|
265
|
-
};
|
|
266
|
-
|
|
267
|
-
//#endregion
|
|
268
|
-
export { dictionaryFormContent as default, dictionaryFormContent };
|
|
1
|
+
import{t as e}from"intlayer";const t={key:`dictionary-form`,content:{keyInput:{label:e({en:`Key`,"en-GB":`Key`,fr:`Clé`,es:`Clave`,de:`Schlüssel`,ja:`キー`,ko:`키`,zh:`键`,it:`Chiave`,pt:`Chave`,hi:`कुंजी`,ar:`مفتاح`,ru:`Ключ`,tr:`Anahtar`,pl:`Klucz`,id:`Key`,vi:`Key`,uk:`Ключ`}),placeholder:e({en:`Enter the key of your dictionary`,"en-GB":`Enter the key of your dictionary`,fr:`Entrez la clé de votre dictionnaire`,es:`Ingrese la clave de su diccionario`,de:`Geben Sie den Schlüssel Ihres Wörterbuchs ein`,ja:`辞書のキーを入力してください`,ko:`사전의 키를 입력하세요`,zh:`输入字典的键`,it:`Inserisci la chiave del tuo dizionario`,pt:`Insira a chave do seu dicionário`,hi:`अपने शब्दकोश की कुंजी दर्ज करें`,ar:`أدخل مفتاح القاموس الخاص بك`,ru:`Введите ключ вашего словаря`,tr:`Sözlüğünüzün anahtarını girin`,pl:`Wprowadź klucz słownika`,id:`Masukkan key dictionary Anda`,vi:`Nhập key của từ điển của bạn`,uk:`Введіть ключ вашого словника`})},projectInput:{label:e({en:`Projects`,"en-GB":`Projects`,fr:`Projets`,es:`Proyectos`,de:`Projekte`,ja:`プロジェクト`,ko:`프로젝트`,zh:`项目`,it:`Progetti`,pt:`Projetos`,hi:`प्रोजेक्ट`,ar:`مشاريع`,ru:`Проекты`,tr:`Projeler`,pl:`Projekty`,id:`Projects`,vi:`Dự án`,uk:`Проєкти`}),placeholder:e({en:`Select one or more projects to associate with your dictionary`,"en-GB":`Select one or more projects to associate with your dictionary`,fr:`Sélectionnez un ou plusieurs projets à associer à votre dictionnaire`,es:`Seleccione uno o más proyectos para asociar con su diccionario`,de:`Wählen Sie ein oder mehrere Projekte aus, um sie mit Ihrem Wörterbuch zu verknüpfen`,ja:`辞書に関連付けるプロジェクトを1つ以上選択してください`,ko:`사전과 연결할 프로젝트를 하나 이상 선택하세요`,zh:`选择一个或多个项目与您的字典关联`,it:`Seleziona uno o più progetti da associare al tuo dizionario`,pt:`Selecione um ou mais projetos para associar ao seu dicionário`,hi:`अपने शब्दकोश से जोड़ने के लिए एक या एक से अधिक प्रोजेक्ट चुनें`,ar:`حدد مشروعًا أو أكثر للربط مع قاموسك`,ru:`Выберите один или несколько проектов для связывания со словарем`,tr:`Sözlüğünüzle ilişkilendirmek için bir veya daha fazla proje seçin`,pl:`Wybierz jeden lub więcej projektów do powiązania z tym słownikiem`,id:`Pilih satu atau lebih Projects untuk dikaitkan dengan dictionary Anda`,vi:`Chọn một hoặc nhiều dự án để liên kết với từ điển của bạn`,uk:`Виберіть один або кілька проєктів, щоб пов'язати їх із вашим словником`})},noDictionaryView:{title:e({en:`No dictionary`,"en-GB":`No dictionary`,fr:`Aucun dictionnaire`,es:`Sin diccionario`,de:`Kein Wörterbuch`,ja:`辞書がありません`,ko:`사전이 없습니다`,zh:`没有字典`,it:`Nessun dizionario`,pt:`Nenhum dicionário`,hi:`कोई शब्दकोश नहीं`,ar:`لا يوجد قاموس`,ru:`Нет словаря`,tr:`Hiç sözlük yok`,pl:`Brak słownika`,id:`Tidak ada dictionary`,vi:`Chưa có từ điển`,uk:`Немає словника`}),description:e({en:`Create your first dictionary to start using Intlayer`,"en-GB":`Create your first dictionary to start using Intlayer`,fr:`Créez votre premier dictionnaire pour commencer à utiliser Intlayer`,es:`Cree su primer diccionario para comenzar a usar Intlayer`,de:`Erstellen Sie Ihr erstes Wörterbuch, um Intlayer zu verwenden`,ja:`Intlayerを使用するために最初の辞書を作成してください`,ko:`Intlayer를 사용하려면 첫 번째 사전을 만들어주세요`,zh:`创建您的第一个字典以开始使用Intlayer`,it:`Crea il tuo primo dizionario per iniziare a usare Intlayer`,pt:`Crie seu primeiro dicionário para começar a usar o Intlayer`,hi:`Intlayer का उपयोग करने के लिए अपना पहला शब्दकोश बनाएं`,ar:`أنشئ قاموسك الأول لبدء استخدام Intlayer`,ru:`Создайте свой первый словарь, чтобы начать использовать Intlayer`,tr:`Intlayer'ı kullanmaya başlamak için ilk sözlüğünüzü oluşturun`,pl:`Utwórz swój pierwszy słownik, aby zacząć korzystać z Intlayer`,id:`Buat dictionary pertama Anda untuk mulai menggunakan Intlayer`,vi:`Tạo từ điển đầu tiên của bạn để bắt đầu sử dụng Intlayer`,uk:`Створіть свій перший словник, щоб почати користуватися Intlayer`})},createDictionaryTitle:e({en:`No dictionary`,"en-GB":`No dictionary`,fr:`Aucun dictionnaire`,es:`Sin diccionario`,de:`Kein Wörterbuch`,ja:`辞書がありません`,ko:`사전이 없습니다`,zh:`没有字典`,it:`Nessun dizionario`,pt:`Nenhum dicionário`,hi:`कोई शब्दकोश नहीं`,ar:`لا يوجد قاموس`,ru:`Нет словаря`,tr:`Hiç sözlük yok`,pl:`Brak słownika`,id:`Tidak ada dictionary`,vi:`Chưa có từ điển`,uk:`Немає словника`}),createDictionaryDescription:e({en:`Create your first dictionary to start using Intlayer`,"en-GB":`Create your first dictionary to start using Intlayer`,fr:`Créez votre premier dictionnaire pour commencer à utiliser Intlayer`,es:`Cree su primer diccionario para comenzar a usar Intlayer`,de:`Erstellen Sie Ihr erstes Wörterbuch, um Intlayer zu verwenden`,ja:`Intlayerを使用するために最初の辞書を作成してください`,ko:`Intlayer를 사용하려면 첫 번째 사전을 만들어주세요`,zh:`创建您的第一个字典以开始使用Intlayer`,it:`Crea il tuo primo dizionario per iniziare a usare Intlayer`,pt:`Crie seu primeiro dicionário para começar a usar o Intlayer`,hi:`Intlayer का उपयोग करने के लिए अपना पहला शब्दकोश बनाएं`,ar:`أنشئ قاموسك الأول لبدء استخدام Intlayer`,ru:`Создайте свой первый словарь, чтобы начать использовать Intlayer`,tr:`Intlayer'ı kullanmaya başlamak için ilk sözlüğünüzü oluşturun`,pl:`Utwórz swój pierwszy słownik, aby zacząć korzystać z Intlayer`,id:`Buat dictionary pertama Anda untuk mulai menggunakan Intlayer`,vi:`Tạo từ điển đầu tiên của bạn để bắt đầu sử dụng Intlayer`,uk:`Створіть свій перший словник, щоб почати користуватися Intlayer`}),createDictionaryButton:{text:e({en:`Create dictionary`,"en-GB":`Create dictionary`,fr:`Créer un dictionnaire`,es:`Crear un diccionario`,de:`Wörterbuch erstellen`,ja:`辞書を作成`,ko:`사전 만들기`,zh:`创建字典`,it:`Crea dizionario`,pt:`Criar dicionário`,hi:`शब्दकोश बनाएँ`,ar:`إنشاء قاموس`,ru:`Создать словарь`,tr:`Sözlük oluştur`,pl:`Utwórz słownik`,id:`Buat dictionary`,vi:`Tạo từ điển`,uk:`Створити словник`}),ariaLabel:e({en:`Click to create dictionary`,"en-GB":`Click to create dictionary`,fr:`Cliquez pour créer un dictionnaire`,es:`Haga clic para crear un diccionario`,de:`Klicken Sie, um ein Wörterbuch zu erstellen`,ja:`辞書を作成するにはクリックしてください`,ko:`사전을 만들려면 클릭하세요`,zh:`点击创建字典`,it:`Clicca per creare un dizionario`,pt:`Clique para criar dicionário`,hi:`शब्दकोश बनाने के लिए क्लिक करें`,ar:`انقر لإنشاء قاموس`,ru:`Нажмите, чтобы создать словарь`,tr:`Sözlük oluşturmak için tıklayın`,pl:`Kliknij, aby utworzyć słownik`,id:`Klik untuk membuat dictionary`,vi:`Nhấn để tạo từ điển`,uk:`Натисніть, щоб створити словник`})},editButton:{text:e({en:`Edit dictionary`,"en-GB":`Edit dictionary`,fr:`Modifier le dictionnaire`,es:`Editar el diccionario`,de:`Wörterbuch bearbeiten`,ja:`辞書を編集`,ko:`사전 편집`,zh:`编辑字典`,it:`Modifica dizionario`,pt:`Editar dicionário`,hi:`शब्दकोश संपादित करें`,ar:`تعديل القاموس`,ru:`Редактировать словарь`,tr:`Sözlüğü düzenle`,pl:`Edytuj słownik`,id:`Edit dictionary`,vi:`Chỉnh sửa từ điển`,uk:`Редагувати словник`}),ariaLabel:e({en:`Click to edit`,"en-GB":`Click to edit`,fr:`Cliquez pour modifier`,es:`Haga clic para editar`,de:`Klicken Sie, um zu bearbeiten`,ja:`編集するにはクリックしてください`,ko:`편집하려면 클릭하세요`,zh:`点击编辑`,it:`Clicca per modificare`,pt:`Clique para editar`,hi:`संपादित करने के लिए क्लिक करें`,ar:`انقر لتعديل`,ru:`Нажмите, чтобы отредактировать`,tr:`Düzenlemek için tıklayın`,pl:`Kliknij, aby edytować`,id:`Klik untuk mengedit`,vi:`Nhấn để chỉnh sửa`,uk:`Натисніть, щоб редагувати словник`})}},title:`Dictionary form`,description:`Content declarations for the dictionary creation form, including labels, placeholders, titles, descriptions, and button texts for managing dictionaries within Intlayer.`,tags:[`form`,`dictionary creation`,`intlayer cms`]};export{t as default,t as dictionaryFormContent};
|
|
269
2
|
//# sourceMappingURL=dictionaryCreationForm.content.mjs.map
|