@m4l/components 9.10.1 → 9.10.2-beta-feature-731-m4l-components-code-editor.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/@types/types.d.ts +11 -0
  2. package/components/extended/ReactSimpleCodeEditor/CodeEditor.d.ts +6 -0
  3. package/components/extended/ReactSimpleCodeEditor/CodeEditor.d.ts.map +1 -0
  4. package/components/extended/ReactSimpleCodeEditor/CodeEditor.js +229 -0
  5. package/components/extended/ReactSimpleCodeEditor/CodeEditor.styles.d.ts +3 -0
  6. package/components/extended/ReactSimpleCodeEditor/CodeEditor.styles.d.ts.map +1 -0
  7. package/components/extended/ReactSimpleCodeEditor/CodeEditor.styles.js +265 -0
  8. package/components/extended/ReactSimpleCodeEditor/constants.d.ts +84 -0
  9. package/components/extended/ReactSimpleCodeEditor/constants.d.ts.map +1 -0
  10. package/components/extended/ReactSimpleCodeEditor/constants.js +162 -0
  11. package/components/extended/ReactSimpleCodeEditor/dictionary.d.ts +11 -0
  12. package/components/extended/ReactSimpleCodeEditor/dictionary.d.ts.map +1 -0
  13. package/components/extended/ReactSimpleCodeEditor/dictionary.js +7 -0
  14. package/components/extended/ReactSimpleCodeEditor/helpers/highlighting.d.ts +49 -0
  15. package/components/extended/ReactSimpleCodeEditor/helpers/highlighting.d.ts.map +1 -0
  16. package/components/extended/ReactSimpleCodeEditor/helpers/highlighting.js +1073 -0
  17. package/components/extended/ReactSimpleCodeEditor/helpers/languageIcon.d.ts +6 -0
  18. package/components/extended/ReactSimpleCodeEditor/helpers/languageIcon.d.ts.map +1 -0
  19. package/components/extended/ReactSimpleCodeEditor/helpers/languageIcon.js +9 -0
  20. package/components/extended/ReactSimpleCodeEditor/index.d.ts +4 -0
  21. package/components/extended/ReactSimpleCodeEditor/index.d.ts.map +1 -0
  22. package/components/extended/ReactSimpleCodeEditor/slots/CodeEditorEnum.d.ts +18 -0
  23. package/components/extended/ReactSimpleCodeEditor/slots/CodeEditorEnum.d.ts.map +1 -0
  24. package/components/extended/ReactSimpleCodeEditor/slots/CodeEditorEnum.js +4 -0
  25. package/components/extended/ReactSimpleCodeEditor/slots/CodeEditorSlots.d.ts +84 -0
  26. package/components/extended/ReactSimpleCodeEditor/slots/CodeEditorSlots.d.ts.map +1 -0
  27. package/components/extended/ReactSimpleCodeEditor/slots/CodeEditorSlots.js +63 -0
  28. package/components/extended/ReactSimpleCodeEditor/slots/index.d.ts +3 -0
  29. package/components/extended/ReactSimpleCodeEditor/slots/index.d.ts.map +1 -0
  30. package/components/extended/ReactSimpleCodeEditor/types.d.ts +104 -0
  31. package/components/extended/ReactSimpleCodeEditor/types.d.ts.map +1 -0
  32. package/components/extended/index.d.ts +1 -0
  33. package/components/extended/index.d.ts.map +1 -1
  34. package/components/hook-form/RHFCodeEditor/RHFCodeEditor.d.ts +7 -0
  35. package/components/hook-form/RHFCodeEditor/RHFCodeEditor.d.ts.map +1 -0
  36. package/components/hook-form/RHFCodeEditor/RHFCodeEditor.js +6 -0
  37. package/components/hook-form/RHFCodeEditor/index.d.ts +3 -0
  38. package/components/hook-form/RHFCodeEditor/index.d.ts.map +1 -0
  39. package/components/hook-form/index.d.ts +1 -0
  40. package/components/hook-form/index.d.ts.map +1 -1
  41. package/index.js +512 -502
  42. package/package.json +7 -4
@@ -0,0 +1,162 @@
1
+ import { DevSetiYamlOutlined as d, DevSetiReactOutlined as r, DevSetiTypescriptOutlined as C, FileFolderFileOutlined as n, DevSetiDbOutlined as E, DevSetiPythonOutlined as i, DevSetiJsonOutlined as F, DevSetiJavascriptOutlined as c, DevSetiShellOutlined as o } from "@m4l/icons";
2
+ import { getComponentClasses as u } from "../../../utils/getComponentSlotRoot.js";
3
+ import { CodeEditorSlots as D } from "./slots/CodeEditorEnum.js";
4
+ const s = {
5
+ dark: {
6
+ bracketPalette: ["#FFD700", "#DA70D6", "#179FFF"],
7
+ surface: {
8
+ activeIndentGuideForeground: "#707070",
9
+ borderColor: "#3C3C3C",
10
+ bracketMatchBorder: "#888888",
11
+ caretForeground: "#AEAFAD",
12
+ dividerColor: "#2B2B2B",
13
+ editorBackground: "#1F1F1F",
14
+ editorForeground: "#CCCCCC",
15
+ errorBorderColor: "#F85149",
16
+ errorRangeBackground: "#F8514926",
17
+ errorRangeShadowColor: "#F85149",
18
+ errorLineBackground: "#F8514914",
19
+ focusBorderColor: "#0078D4",
20
+ headerBackground: "#181818",
21
+ headerForeground: "#CCCCCC",
22
+ inactiveSelectionBackground: "#3A3D41",
23
+ indentGuideForeground: "#404040",
24
+ languageChipBackground: "#313131",
25
+ languageChipBorder: "#3C3C3C",
26
+ languageChipForeground: "#CCCCCC",
27
+ lineNumberActiveForeground: "#CCCCCC",
28
+ lineNumberForeground: "#6E7681",
29
+ placeholderForeground: "#989898",
30
+ readOnlyChipBackground: "#2489DB82",
31
+ readOnlyChipBorder: "#2488DB",
32
+ readOnlyChipForeground: "#FFFFFF",
33
+ rootBackground: "#181818",
34
+ selectionBackground: "#264F78",
35
+ widgetBackground: "#202020"
36
+ },
37
+ syntax: {
38
+ attributeName: "#9CDCFE",
39
+ boolean: "#569CD6",
40
+ comment: "#6A9955",
41
+ constant: "#4FC1FF",
42
+ escape: "#D7BA7D",
43
+ function: "#DCDCAA",
44
+ keyword: "#569CD6",
45
+ number: "#B5CEA8",
46
+ operator: "#CCCCCC",
47
+ regex: "#646695",
48
+ string: "#CE9178",
49
+ tag: "#569CD6",
50
+ type: "#4EC9B0",
51
+ variable: "#9CDCFE"
52
+ }
53
+ },
54
+ light: {
55
+ bracketPalette: ["#0431FA", "#319331", "#7B3814"],
56
+ surface: {
57
+ activeIndentGuideForeground: "#939393",
58
+ borderColor: "#CECECE",
59
+ bracketMatchBorder: "#B9B9B9",
60
+ caretForeground: "#000000",
61
+ dividerColor: "#E5E5E5",
62
+ editorBackground: "#FFFFFF",
63
+ editorForeground: "#3B3B3B",
64
+ errorBorderColor: "#F85149",
65
+ errorRangeBackground: "#F8514920",
66
+ errorRangeShadowColor: "#F85149",
67
+ errorLineBackground: "#F8514912",
68
+ focusBorderColor: "#005FB8",
69
+ headerBackground: "#F8F8F8",
70
+ headerForeground: "#3B3B3B",
71
+ inactiveSelectionBackground: "#E5EBF1",
72
+ indentGuideForeground: "#D3D3D3",
73
+ languageChipBackground: "#FFFFFF",
74
+ languageChipBorder: "#CECECE",
75
+ languageChipForeground: "#3B3B3B",
76
+ lineNumberActiveForeground: "#171184",
77
+ lineNumberForeground: "#6E7681",
78
+ placeholderForeground: "#767676",
79
+ readOnlyChipBackground: "#BED6ED",
80
+ readOnlyChipBorder: "#005FB8",
81
+ readOnlyChipForeground: "#000000",
82
+ rootBackground: "#F8F8F8",
83
+ selectionBackground: "#ADD6FF",
84
+ widgetBackground: "#F8F8F8"
85
+ },
86
+ syntax: {
87
+ attributeName: "#E50000",
88
+ boolean: "#0000FF",
89
+ comment: "#008000",
90
+ constant: "#0070C1",
91
+ escape: "#EE0000",
92
+ function: "#795E26",
93
+ keyword: "#0000FF",
94
+ number: "#098658",
95
+ operator: "#3B3B3B",
96
+ regex: "#811F3F",
97
+ string: "#A31515",
98
+ tag: "#800000",
99
+ type: "#267F99",
100
+ variable: "#001080"
101
+ }
102
+ }
103
+ }, g = "M4LCodeEditor", B = "text", A = 4, p = 10, T = 12, m = {
104
+ small: 18,
105
+ medium: 20
106
+ }, I = '"Geist Mono", "JetBrains Mono", "Cascadia Code", "Liberation Mono", monospace', h = "Read Only", e = "at-commands", L = "at-basic", N = "AT Commands", S = "CodeEditorLanguageChipIcon", k = {
107
+ commandPrefixes: ["AT+", "+"],
108
+ concatenationSeparators: [";"],
109
+ argumentSeparators: [","],
110
+ reservedWords: ["SET", "INFO", "SAVE", "CLEAR"]
111
+ }, R = {
112
+ js: "javascript",
113
+ jsx: "jsx",
114
+ ts: "typescript",
115
+ tsx: "tsx",
116
+ py: "python",
117
+ sh: "bash",
118
+ shell: "bash",
119
+ yml: "yaml",
120
+ at: e,
121
+ "telemetry-at": e
122
+ }, b = {
123
+ [e]: o,
124
+ bash: o,
125
+ javascript: c,
126
+ json: F,
127
+ jsx: r,
128
+ python: i,
129
+ sql: E,
130
+ text: n,
131
+ typescript: C,
132
+ tsx: r,
133
+ yaml: d
134
+ }, y = n;
135
+ function G(t) {
136
+ const a = t.palette.mode === "dark" ? "dark" : "light";
137
+ return s[a];
138
+ }
139
+ const v = u(
140
+ g,
141
+ D
142
+ );
143
+ export {
144
+ e as CODE_EDITOR_AT_LANGUAGE,
145
+ N as CODE_EDITOR_AT_TEMPLATE_LANGUAGE_LABEL,
146
+ L as CODE_EDITOR_AT_TEMPLATE_NAME,
147
+ k as CODE_EDITOR_AT_TEMPLATE_TOKENS,
148
+ v as CODE_EDITOR_CLASSES,
149
+ B as CODE_EDITOR_DEFAULT_LANGUAGE,
150
+ p as CODE_EDITOR_DEFAULT_MAX_LINES,
151
+ A as CODE_EDITOR_DEFAULT_MIN_LINES,
152
+ y as CODE_EDITOR_FALLBACK_LANGUAGE_ICON,
153
+ g as CODE_EDITOR_KEY_COMPONENT,
154
+ R as CODE_EDITOR_LANGUAGE_ALIASES,
155
+ S as CODE_EDITOR_LANGUAGE_CHIP_ICON_INSTANCE_ID,
156
+ b as CODE_EDITOR_LANGUAGE_ICON_BY_LANGUAGE,
157
+ m as CODE_EDITOR_LINE_HEIGHT_BY_SIZE,
158
+ I as CODE_EDITOR_MONO_FONT_FAMILY,
159
+ T as CODE_EDITOR_PADDING_PX,
160
+ h as CODE_EDITOR_READ_ONLY_LABEL,
161
+ G as getCodeEditorVSCodeModernPalette
162
+ };
@@ -0,0 +1,11 @@
1
+ import { Dictionary } from '@m4l/core';
2
+ export declare const CODE_EDITOR_DICTIONARY_KEY = "code_editor";
3
+ /**
4
+ * Return the dictionary namespaces required by the CodeEditor component.
5
+ */
6
+ export declare function getCodeEditorComponentsDictionary(): string[];
7
+ export declare const defaultCodeEditorDictionary: Dictionary;
8
+ export declare const CODE_EDITOR_DICTIONARY: {
9
+ readonly readOnly: "code_editor.read_only";
10
+ };
11
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/components/extended/ReactSimpleCodeEditor/dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AAExD;;GAEG;AACH,wBAAgB,iCAAiC,aAEhD;AAED,eAAO,MAAM,2BAA2B,EAAE,UAIzC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAEzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ const O = "code_editor", _ = {
2
+ readOnly: `${O}.read_only`
3
+ };
4
+ export {
5
+ _ as CODE_EDITOR_DICTIONARY,
6
+ O as CODE_EDITOR_DICTIONARY_KEY
7
+ };
@@ -0,0 +1,49 @@
1
+ import { ReactElement } from 'react';
2
+ import { Theme } from '@mui/material';
3
+ import { default as Prism } from 'prismjs';
4
+ import { PrismTheme } from 'prism-react-renderer';
5
+ import { CodeEditorCustomLanguages, CodeEditorLanguageTemplate, CodeEditorLanguageTemplateInput, HighlightCodeOptions, CodeEditorSyntaxValidationContext, CodeEditorSyntaxValidationResult } from '../types';
6
+ export declare const DEFAULT_CODE_EDITOR_AT_LANGUAGE_TEMPLATE: CodeEditorLanguageTemplate;
7
+ /** Escape a literal token so it can be embedded safely inside a RegExp. */
8
+ export declare function escapeRegExpToken(token: string): string;
9
+ /** Join user-defined token literals into a RegExp alternation pattern. */
10
+ export declare function createTokenAlternation(tokens?: string[]): string | undefined;
11
+ /** Build the Prism grammar for AT command templates from a token definition object. */
12
+ export declare function buildAtCommandGrammar(template: CodeEditorLanguageTemplate): Prism.Grammar;
13
+ /** Build the Prism grammar associated with the provided CodeEditor template. */
14
+ export declare function createCodeEditorLanguageGrammar(template: CodeEditorLanguageTemplate): Prism.Grammar;
15
+ /** Seed a built-in template without overwriting an already-registered Prism grammar. */
16
+ export declare function seedCodeEditorLanguageTemplate(template: CodeEditorLanguageTemplate): void;
17
+ /**
18
+ * Register a Prism grammar so CodeEditor can highlight a custom language.
19
+ */
20
+ export declare function registerCodeEditorLanguage(languageName: string, grammar: Prism.Grammar): void;
21
+ /** Register a reusable language template and the Prism grammar generated from it. */
22
+ export declare function registerCodeEditorLanguageTemplate(template: CodeEditorLanguageTemplate): void;
23
+ /** Resolve a named or inline template definition passed to the CodeEditor API. */
24
+ export declare function resolveCodeEditorLanguageTemplate(template?: CodeEditorLanguageTemplateInput): CodeEditorLanguageTemplate | undefined;
25
+ /** Ensure the active template is registered before Prism renders highlighted output. */
26
+ export declare function ensureCodeEditorLanguageTemplate(template?: CodeEditorLanguageTemplateInput): CodeEditorLanguageTemplate | undefined;
27
+ /**
28
+ * Register the custom languages passed to the current CodeEditor instance.
29
+ */
30
+ export declare function ensureCodeEditorLanguages(customLanguages?: CodeEditorCustomLanguages): void;
31
+ /**
32
+ * Resolve aliases such as js/ts/sh to the Prism language key used for highlighting.
33
+ */
34
+ export declare function resolveCodeEditorLanguage(languageText?: string): string;
35
+ /** Validate supported built-in languages while treating unsupported languages as opt-in via custom validators. */
36
+ export declare function validateCodeEditorSyntax({ code, languageTemplate, languageText, }: CodeEditorSyntaxValidationContext): CodeEditorSyntaxValidationResult;
37
+ /**
38
+ * Count the number of logical lines rendered by the editor, preserving trailing new lines.
39
+ */
40
+ export declare function getCodeEditorLineCount(value: string): number;
41
+ /**
42
+ * Build the Prism theme used by CodeEditor from the exact VS Code Modern palettes.
43
+ */
44
+ export declare function createCodeEditorPrismTheme(theme: Theme): PrismTheme;
45
+ /**
46
+ * Render the highlighted code tree consumed by react-simple-code-editor.
47
+ */
48
+ export declare function highlightCode({ code, customLanguages, languageTemplate, languageText, prismTheme, syntaxErrorRange, }: HighlightCodeOptions): ReactElement;
49
+ //# sourceMappingURL=highlighting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlighting.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/extended/ReactSimpleCodeEditor/helpers/highlighting.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAU3C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,iCAAiC,CAAC;AACzC,OAAO,8BAA8B,CAAC;AACtC,OAAO,8BAA8B,CAAC;AACtC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAUjF,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,oBAAoB,EAGpB,iCAAiC,EACjC,gCAAgC,EACjC,MAAM,UAAU,CAAC;AA4JlB,eAAO,MAAM,wCAAwC,EAAE,0BAWtD,CAAC;AA0RF,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAU5E;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,0BAA0B,GACnC,KAAK,CAAC,OAAO,CAmDf;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,0BAA0B,GACnC,KAAK,CAAC,OAAO,CAOf;AAED,wFAAwF;AACxF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,0BAA0B,GACnC,IAAI,CAcN;AAID;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,GACrB,IAAI,CAMN;AAED,qFAAqF;AACrF,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,0BAA0B,GACnC,IAAI,CAYN;AAED,kFAAkF;AAClF,wBAAgB,iCAAiC,CAC/C,QAAQ,CAAC,EAAE,+BAA+B,GACzC,0BAA0B,GAAG,SAAS,CAUxC;AAED,wFAAwF;AACxF,wBAAgB,gCAAgC,CAC9C,QAAQ,CAAC,EAAE,+BAA+B,GACzC,0BAA0B,GAAG,SAAS,CAUxC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,CAAC,EAAE,yBAAyB,GAC1C,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAKR;AAwpBD,kHAAkH;AAClH,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,YAAY,GACb,EAAE,iCAAiC,GAAG,gCAAgC,CAmBtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAkED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAiInE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,gBAAgB,GACjB,EAAE,oBAAoB,GAAG,YAAY,CA4QrC"}