@health-samurai/react-components 0.0.0-alpha.4 → 0.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.css +1375 -484
- package/dist/src/components/code-editor/http/grammar/http.d.ts +3 -0
- package/dist/src/components/code-editor/http/grammar/http.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.grammar +74 -0
- package/dist/src/components/code-editor/http/grammar/http.js +38 -0
- package/dist/src/components/code-editor/http/grammar/http.js.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.d.ts +2 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.js +4 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.js.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.test.d.ts +2 -0
- package/dist/src/components/code-editor/http/grammar/http.test.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.test.js +80 -0
- package/dist/src/components/code-editor/http/grammar/http.test.js.map +1 -0
- package/dist/src/components/code-editor/http/index.d.ts +4 -0
- package/dist/src/components/code-editor/http/index.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/index.js +66 -0
- package/dist/src/components/code-editor/http/index.js.map +1 -0
- package/dist/src/components/code-editor/index.d.ts +14 -2
- package/dist/src/components/code-editor/index.d.ts.map +1 -1
- package/dist/src/components/code-editor/index.js +309 -20
- package/dist/src/components/code-editor/index.js.map +1 -1
- package/dist/src/components/code-editor.stories.d.ts +1 -0
- package/dist/src/components/code-editor.stories.d.ts.map +1 -1
- package/dist/src/components/code-editor.stories.js +255 -2
- package/dist/src/components/code-editor.stories.js.map +1 -1
- package/dist/src/components/copy-icon.d.ts +5 -1
- package/dist/src/components/copy-icon.d.ts.map +1 -1
- package/dist/src/components/copy-icon.js +41 -3
- package/dist/src/components/copy-icon.js.map +1 -1
- package/dist/src/components/data-table.d.ts +8 -0
- package/dist/src/components/data-table.d.ts.map +1 -0
- package/dist/src/components/data-table.js +65 -0
- package/dist/src/components/data-table.js.map +1 -0
- package/dist/src/components/data-table.stories.d.ts +7 -0
- package/dist/src/components/data-table.stories.d.ts.map +1 -0
- package/dist/src/components/data-table.stories.js +44 -0
- package/dist/src/components/data-table.stories.js.map +1 -0
- package/dist/src/components/fhir-structure-view.d.ts +34 -0
- package/dist/src/components/fhir-structure-view.d.ts.map +1 -0
- package/dist/src/components/fhir-structure-view.js +229 -0
- package/dist/src/components/fhir-structure-view.js.map +1 -0
- package/dist/src/components/fhir-structure-view.stories.d.ts +7 -0
- package/dist/src/components/fhir-structure-view.stories.d.ts.map +1 -0
- package/dist/src/components/fhir-structure-view.stories.js +447 -0
- package/dist/src/components/fhir-structure-view.stories.js.map +1 -0
- package/dist/src/components/patient-table.d.ts +73 -0
- package/dist/src/components/patient-table.d.ts.map +1 -0
- package/dist/src/components/patient-table.js +921 -0
- package/dist/src/components/patient-table.js.map +1 -0
- package/dist/src/components/patient-table.stories.d.ts +111 -0
- package/dist/src/components/patient-table.stories.d.ts.map +1 -0
- package/dist/src/components/patient-table.stories.js +172 -0
- package/dist/src/components/patient-table.stories.js.map +1 -0
- package/dist/src/components/request-line-editor.d.ts +13 -35
- package/dist/src/components/request-line-editor.d.ts.map +1 -1
- package/dist/src/components/request-line-editor.js +72 -49
- package/dist/src/components/request-line-editor.js.map +1 -1
- package/dist/src/components/request-line-editor.stories.d.ts.map +1 -1
- package/dist/src/components/request-line-editor.stories.js +17 -53
- package/dist/src/components/request-line-editor.stories.js.map +1 -1
- package/dist/src/components/segment-control.d.ts +16 -0
- package/dist/src/components/segment-control.d.ts.map +1 -0
- package/dist/src/components/segment-control.js +48 -0
- package/dist/src/components/segment-control.js.map +1 -0
- package/dist/src/components/segment-control.stories.d.ts +15 -0
- package/dist/src/components/segment-control.stories.d.ts.map +1 -0
- package/dist/src/components/segment-control.stories.js +33 -0
- package/dist/src/components/segment-control.stories.js.map +1 -0
- package/dist/src/components/split-button.d.ts +5 -0
- package/dist/src/components/split-button.d.ts.map +1 -0
- package/dist/src/components/split-button.js +12 -0
- package/dist/src/components/split-button.js.map +1 -0
- package/dist/src/components/split-button.stories.d.ts +7 -0
- package/dist/src/components/split-button.stories.d.ts.map +1 -0
- package/dist/src/components/split-button.stories.js +57 -0
- package/dist/src/components/split-button.stories.js.map +1 -0
- package/dist/src/components/tree-view.d.ts +22 -0
- package/dist/src/components/tree-view.d.ts.map +1 -0
- package/dist/src/components/tree-view.js +101 -0
- package/dist/src/components/tree-view.js.map +1 -0
- package/dist/src/components/tree-view.stories.d.ts +13 -0
- package/dist/src/components/tree-view.stories.d.ts.map +1 -0
- package/dist/src/components/tree-view.stories.js +274 -0
- package/dist/src/components/tree-view.stories.js.map +1 -0
- package/dist/src/icons.d.ts +9 -0
- package/dist/src/icons.d.ts.map +1 -0
- package/dist/src/icons.js +279 -0
- package/dist/src/icons.js.map +1 -0
- package/dist/src/index.css +42 -3
- package/dist/src/index.d.ts +9 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.js +23 -5
- package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.d.ts +3 -1
- package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.js +5 -2
- package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/alert.js +12 -5
- package/dist/src/shadcn/components/ui/alert.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.js +4 -3
- package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
- package/dist/src/shadcn/components/ui/badge.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/badge.js +16 -5
- package/dist/src/shadcn/components/ui/badge.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.js +6 -6
- package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/button.js +19 -11
- package/dist/src/shadcn/components/ui/button.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/card.js +14 -6
- package/dist/src/shadcn/components/ui/card.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.js +20 -5
- package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.js +44 -35
- package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/combobox.d.ts +18 -0
- package/dist/src/shadcn/components/ui/combobox.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.js +121 -0
- package/dist/src/shadcn/components/ui/combobox.js.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.stories.d.ts +11 -0
- package/dist/src/shadcn/components/ui/combobox.stories.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.stories.js +16 -0
- package/dist/src/shadcn/components/ui/combobox.stories.js.map +1 -0
- package/dist/src/shadcn/components/ui/command.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/command.js +73 -12
- package/dist/src/shadcn/components/ui/command.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.stories.js +0 -1
- package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.js +35 -7
- package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.js +26 -5
- package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js +12 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/form.js +12 -4
- package/dist/src/shadcn/components/ui/form.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.d.ts +3 -1
- package/dist/src/shadcn/components/ui/input.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/input.js +126 -17
- package/dist/src/shadcn/components/ui/input.js.map +1 -1
- package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/label.js +8 -1
- package/dist/src/shadcn/components/ui/label.js.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.js +35 -13
- package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.js +6 -6
- package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/popover.js +12 -1
- package/dist/src/shadcn/components/ui/popover.js.map +1 -1
- package/dist/src/shadcn/components/ui/progress.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/progress.js +6 -2
- package/dist/src/shadcn/components/ui/progress.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.js +11 -6
- package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.js +57 -34
- package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.js +9 -3
- package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/select.js +49 -14
- package/dist/src/shadcn/components/ui/select.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.js +1 -4
- package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/separator.js +7 -1
- package/dist/src/shadcn/components/ui/separator.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.js +20 -6
- package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.js +3 -1
- package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
- package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/slider.js +34 -4
- package/dist/src/shadcn/components/ui/slider.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.d.ts +16 -1
- package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.js +23 -3
- package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.js +19 -11
- package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/switch.js +18 -2
- package/dist/src/shadcn/components/ui/switch.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/table.js +12 -8
- package/dist/src/shadcn/components/ui/table.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.d.ts +21 -3
- package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.js +315 -9
- package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js +50 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.js +15 -1
- package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.js +6 -2
- package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.js +18 -6
- package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.js +11 -1
- package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
- package/dist/src/shadcn/components/ui/tree.d.ts +28 -0
- package/dist/src/shadcn/components/ui/tree.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/tree.js +122 -0
- package/dist/src/shadcn/components/ui/tree.js.map +1 -0
- package/dist/src/typography.css +12 -0
- package/package.json +13 -2
- package/src/components/code-editor/http/grammar/http.grammar +74 -0
- package/src/components/code-editor/http/grammar/http.terms.ts +9 -0
- package/src/components/code-editor/http/grammar/http.test.ts +110 -0
- package/src/components/code-editor/http/grammar/http.ts +21 -0
- package/src/components/code-editor/http/index.ts +87 -0
- package/src/components/code-editor/index.tsx +307 -21
- package/src/components/code-editor.stories.tsx +295 -1
- package/src/components/copy-icon.tsx +57 -3
- package/src/components/data-table.stories.tsx +38 -0
- package/src/components/data-table.tsx +117 -0
- package/src/components/fhir-structure-view.stories.tsx +439 -0
- package/src/components/fhir-structure-view.tsx +231 -0
- package/src/components/patient-table.stories.tsx +111 -0
- package/src/components/patient-table.tsx +1301 -0
- package/src/components/request-line-editor.stories.tsx +17 -27
- package/src/components/request-line-editor.tsx +98 -61
- package/src/components/segment-control.stories.tsx +29 -0
- package/src/components/segment-control.tsx +80 -0
- package/src/components/split-button.stories.tsx +49 -0
- package/src/components/split-button.tsx +17 -0
- package/src/components/tree-view.stories.tsx +259 -0
- package/src/components/tree-view.tsx +172 -0
- package/src/icons.tsx +287 -0
- package/src/index.css +42 -3
- package/src/index.tsx +9 -2
- package/src/shadcn/components/ui/accordion.tsx +66 -8
- package/src/shadcn/components/ui/alert-dialog.tsx +6 -2
- package/src/shadcn/components/ui/alert.tsx +53 -15
- package/src/shadcn/components/ui/avatar.tsx +17 -6
- package/src/shadcn/components/ui/badge.tsx +67 -18
- package/src/shadcn/components/ui/breadcrumb.tsx +35 -7
- package/src/shadcn/components/ui/button.tsx +118 -57
- package/src/shadcn/components/ui/card.tsx +44 -13
- package/src/shadcn/components/ui/checkbox.stories.tsx +20 -24
- package/src/shadcn/components/ui/checkbox.tsx +45 -4
- package/src/shadcn/components/ui/combobox.stories.tsx +19 -0
- package/src/shadcn/components/ui/combobox.tsx +142 -0
- package/src/shadcn/components/ui/command.stories.tsx +1 -1
- package/src/shadcn/components/ui/command.tsx +192 -36
- package/src/shadcn/components/ui/dialog.tsx +101 -13
- package/src/shadcn/components/ui/drawer.tsx +93 -18
- package/src/shadcn/components/ui/dropdown-menu.tsx +37 -9
- package/src/shadcn/components/ui/form.tsx +16 -4
- package/src/shadcn/components/ui/input.tsx +400 -29
- package/src/shadcn/components/ui/label.tsx +21 -4
- package/src/shadcn/components/ui/menubar.tsx +188 -43
- package/src/shadcn/components/ui/pagination.tsx +12 -6
- package/src/shadcn/components/ui/popover.tsx +35 -4
- package/src/shadcn/components/ui/progress.tsx +21 -5
- package/src/shadcn/components/ui/radio-group.stories.tsx +22 -14
- package/src/shadcn/components/ui/radio-group.tsx +42 -5
- package/src/shadcn/components/ui/scroll-area.tsx +33 -5
- package/src/shadcn/components/ui/select.stories.tsx +0 -2
- package/src/shadcn/components/ui/select.tsx +184 -33
- package/src/shadcn/components/ui/separator.tsx +15 -5
- package/src/shadcn/components/ui/sidebar.tsx +68 -26
- package/src/shadcn/components/ui/skeleton.tsx +4 -1
- package/src/shadcn/components/ui/slider.tsx +82 -11
- package/src/shadcn/components/ui/sonner.stories.tsx +19 -15
- package/src/shadcn/components/ui/sonner.tsx +53 -3
- package/src/shadcn/components/ui/switch.tsx +53 -7
- package/src/shadcn/components/ui/table.tsx +38 -11
- package/src/shadcn/components/ui/tabs.stories.tsx +32 -0
- package/src/shadcn/components/ui/tabs.tsx +456 -17
- package/src/shadcn/components/ui/textarea.tsx +42 -4
- package/src/shadcn/components/ui/toggle-group.tsx +27 -5
- package/src/shadcn/components/ui/toggle.tsx +59 -18
- package/src/shadcn/components/ui/tooltip.tsx +33 -8
- package/src/shadcn/components/ui/tree.tsx +233 -0
- package/src/typography.css +12 -0
|
@@ -2,13 +2,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap } from "@codemirror/autocomplete";
|
|
3
3
|
import { defaultKeymap, history, historyKeymap } from "@codemirror/commands";
|
|
4
4
|
import { json, jsonParseLinter } from "@codemirror/lang-json";
|
|
5
|
+
import { SQLDialect, sql } from "@codemirror/lang-sql";
|
|
6
|
+
import { yaml } from "@codemirror/lang-yaml";
|
|
5
7
|
import { bracketMatching, foldGutter, foldKeymap, HighlightStyle, indentOnInput, syntaxHighlighting } from "@codemirror/language";
|
|
6
8
|
import { linter, lintGutter, lintKeymap } from "@codemirror/lint";
|
|
7
9
|
import { highlightSelectionMatches, searchKeymap } from "@codemirror/search";
|
|
8
|
-
import { EditorState } from "@codemirror/state";
|
|
10
|
+
import { Compartment, EditorState } from "@codemirror/state";
|
|
9
11
|
import { crosshairCursor, drawSelection, dropCursor, EditorView, highlightActiveLine, highlightActiveLineGutter, highlightSpecialChars, keymap, lineNumbers, rectangularSelection } from "@codemirror/view";
|
|
10
12
|
import { tags } from "@lezer/highlight";
|
|
11
13
|
import * as React from "react";
|
|
14
|
+
import { http } from "./http/index.js";
|
|
12
15
|
const baseTheme = EditorView.baseTheme({
|
|
13
16
|
"&": {
|
|
14
17
|
backgroundColor: "var(--color-bg-primary)",
|
|
@@ -46,6 +49,43 @@ const baseTheme = EditorView.baseTheme({
|
|
|
46
49
|
backgroundColor: "rgba(255, 255, 255, 0)"
|
|
47
50
|
}
|
|
48
51
|
});
|
|
52
|
+
const readOnlyTheme = EditorView.theme({
|
|
53
|
+
"&": {
|
|
54
|
+
backgroundColor: "var(--color-bg-secondary)",
|
|
55
|
+
height: "100%",
|
|
56
|
+
width: "100%",
|
|
57
|
+
fontSize: "14px",
|
|
58
|
+
paddingTop: "8px",
|
|
59
|
+
paddingBottom: "8px"
|
|
60
|
+
},
|
|
61
|
+
".cm-scroller": {
|
|
62
|
+
overflow: "auto"
|
|
63
|
+
},
|
|
64
|
+
".cm-content": {
|
|
65
|
+
fontFamily: "var(--font-family-mono)",
|
|
66
|
+
padding: "0"
|
|
67
|
+
},
|
|
68
|
+
"&.cm-focused": {
|
|
69
|
+
outline: "none"
|
|
70
|
+
},
|
|
71
|
+
".cm-gutter": {
|
|
72
|
+
fontFamily: "var(--font-family-mono)"
|
|
73
|
+
},
|
|
74
|
+
".cm-gutters": {
|
|
75
|
+
backgroundColor: "var(--color-bg-secondary)",
|
|
76
|
+
border: "none"
|
|
77
|
+
},
|
|
78
|
+
".cm-lineNumbers": {
|
|
79
|
+
paddingLeft: "16px"
|
|
80
|
+
},
|
|
81
|
+
".cm-activeLineGutter": {
|
|
82
|
+
backgroundColor: "var(--color-bg-secondary)",
|
|
83
|
+
color: "var(--color-text-primary)"
|
|
84
|
+
},
|
|
85
|
+
".cm-activeLine": {
|
|
86
|
+
backgroundColor: "rgba(255, 255, 255, 0)"
|
|
87
|
+
}
|
|
88
|
+
});
|
|
49
89
|
const customHighlightStyle = HighlightStyle.define([
|
|
50
90
|
{
|
|
51
91
|
tag: tags.propertyName,
|
|
@@ -66,19 +106,181 @@ const customHighlightStyle = HighlightStyle.define([
|
|
|
66
106
|
{
|
|
67
107
|
tag: tags.null,
|
|
68
108
|
color: "#569cd6"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
tag: tags.keyword,
|
|
112
|
+
color: "#569cd6"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
tag: tags.operatorKeyword,
|
|
116
|
+
color: "#405CBF"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
tag: tags.controlKeyword,
|
|
120
|
+
color: "#EA4A35"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
tag: tags.typeName,
|
|
124
|
+
color: "#00A984"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
tag: tags.variableName,
|
|
128
|
+
color: "#EA4A35"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
tag: tags.operator,
|
|
132
|
+
color: "#405CBF"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
tag: tags.comment,
|
|
136
|
+
color: "#00A984"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
tag: tags.lineComment,
|
|
140
|
+
color: "#00A984"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
tag: tags.blockComment,
|
|
144
|
+
color: "#00A984"
|
|
69
145
|
}
|
|
70
146
|
]);
|
|
71
|
-
|
|
72
|
-
|
|
147
|
+
const SQL_KEYWORDS = [
|
|
148
|
+
"select",
|
|
149
|
+
"from",
|
|
150
|
+
"where",
|
|
151
|
+
"and",
|
|
152
|
+
"or",
|
|
153
|
+
"not",
|
|
154
|
+
"in",
|
|
155
|
+
"between",
|
|
156
|
+
"like",
|
|
157
|
+
"insert",
|
|
158
|
+
"update",
|
|
159
|
+
"delete",
|
|
160
|
+
"create",
|
|
161
|
+
"drop",
|
|
162
|
+
"alter",
|
|
163
|
+
"table",
|
|
164
|
+
"index",
|
|
165
|
+
"join",
|
|
166
|
+
"inner",
|
|
167
|
+
"left",
|
|
168
|
+
"right",
|
|
169
|
+
"outer",
|
|
170
|
+
"on",
|
|
171
|
+
"as",
|
|
172
|
+
"order",
|
|
173
|
+
"by",
|
|
174
|
+
"group",
|
|
175
|
+
"having",
|
|
176
|
+
"limit",
|
|
177
|
+
"offset",
|
|
178
|
+
"union",
|
|
179
|
+
"intersect",
|
|
180
|
+
"except",
|
|
181
|
+
"distinct",
|
|
182
|
+
"all",
|
|
183
|
+
"exists",
|
|
184
|
+
"case",
|
|
185
|
+
"when",
|
|
186
|
+
"then",
|
|
187
|
+
"else",
|
|
188
|
+
"end",
|
|
189
|
+
"null",
|
|
190
|
+
"true",
|
|
191
|
+
"false",
|
|
192
|
+
"is",
|
|
193
|
+
"asc",
|
|
194
|
+
"desc"
|
|
195
|
+
];
|
|
196
|
+
const SQL_BUILTIN = [
|
|
197
|
+
"varchar",
|
|
198
|
+
"char",
|
|
199
|
+
"text",
|
|
200
|
+
"integer",
|
|
201
|
+
"int",
|
|
202
|
+
"bigint",
|
|
203
|
+
"decimal",
|
|
204
|
+
"numeric",
|
|
205
|
+
"float",
|
|
206
|
+
"real",
|
|
207
|
+
"boolean",
|
|
208
|
+
"date",
|
|
209
|
+
"time",
|
|
210
|
+
"timestamp",
|
|
211
|
+
"uuid",
|
|
212
|
+
"count",
|
|
213
|
+
"sum",
|
|
214
|
+
"avg",
|
|
215
|
+
"min",
|
|
216
|
+
"max",
|
|
217
|
+
"coalesce",
|
|
218
|
+
"concat",
|
|
219
|
+
"substring",
|
|
220
|
+
"upper",
|
|
221
|
+
"lower",
|
|
222
|
+
"trim",
|
|
223
|
+
"length",
|
|
224
|
+
"now",
|
|
225
|
+
"current_date",
|
|
226
|
+
"current_time"
|
|
227
|
+
];
|
|
228
|
+
const customSQLDialect = SQLDialect.define({
|
|
229
|
+
keywords: SQL_KEYWORDS.join(" "),
|
|
230
|
+
builtin: SQL_BUILTIN.join(" ")
|
|
231
|
+
});
|
|
232
|
+
function languageExtensions(mode) {
|
|
233
|
+
if (mode === "http") {
|
|
234
|
+
const jsonLang = json();
|
|
235
|
+
const yamlLang = yaml();
|
|
236
|
+
return [
|
|
237
|
+
http((ct)=>ct === "application/json" ? jsonLang.language : ct === "text/yaml" ? yamlLang.language : null),
|
|
238
|
+
syntaxHighlighting(customHighlightStyle)
|
|
239
|
+
];
|
|
240
|
+
} else if (mode === "sql") {
|
|
241
|
+
return [
|
|
242
|
+
sql({
|
|
243
|
+
dialect: customSQLDialect
|
|
244
|
+
}),
|
|
245
|
+
syntaxHighlighting(customHighlightStyle)
|
|
246
|
+
];
|
|
247
|
+
} else if (mode === "yaml") {
|
|
248
|
+
return [
|
|
249
|
+
yaml(),
|
|
250
|
+
syntaxHighlighting(customHighlightStyle)
|
|
251
|
+
];
|
|
252
|
+
} else {
|
|
253
|
+
return [
|
|
254
|
+
json(),
|
|
255
|
+
linter(jsonParseLinter(), {
|
|
256
|
+
delay: 300
|
|
257
|
+
}),
|
|
258
|
+
syntaxHighlighting(customHighlightStyle)
|
|
259
|
+
];
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
export function CodeEditor({ defaultValue, currentValue, onChange, onUpdate, viewCallback, readOnly = false, id, mode = "json", isReadOnlyTheme = false }) {
|
|
263
|
+
const domRef = React.useRef(null);
|
|
264
|
+
const [view, setView] = React.useState(null);
|
|
265
|
+
const initialValue = React.useRef(defaultValue ?? "");
|
|
266
|
+
const onChangeComparment = React.useRef(new Compartment());
|
|
267
|
+
const onUpdateComparment = React.useRef(new Compartment());
|
|
268
|
+
const languageCompartment = React.useRef(new Compartment());
|
|
269
|
+
const readOnlyCompartment = React.useRef(new Compartment());
|
|
270
|
+
const themeCompartment = React.useRef(new Compartment());
|
|
73
271
|
React.useEffect(()=>{
|
|
74
|
-
if (!
|
|
272
|
+
if (!domRef.current) {
|
|
75
273
|
return;
|
|
76
274
|
}
|
|
77
275
|
const view = new EditorView({
|
|
78
|
-
parent:
|
|
276
|
+
parent: domRef.current,
|
|
79
277
|
state: EditorState.create({
|
|
80
|
-
doc:
|
|
278
|
+
doc: initialValue.current,
|
|
81
279
|
extensions: [
|
|
280
|
+
EditorView.contentAttributes.of({
|
|
281
|
+
"data-gramm": "false"
|
|
282
|
+
}),
|
|
283
|
+
readOnlyCompartment.current.of(EditorState.readOnly.of(false)),
|
|
82
284
|
lineNumbers(),
|
|
83
285
|
foldGutter(),
|
|
84
286
|
highlightSpecialChars(),
|
|
@@ -87,8 +289,7 @@ export function CodeEditor({ defaultValue, onChange }) {
|
|
|
87
289
|
dropCursor(),
|
|
88
290
|
EditorState.allowMultipleSelections.of(true),
|
|
89
291
|
indentOnInput(),
|
|
90
|
-
|
|
91
|
-
syntaxHighlighting(customHighlightStyle),
|
|
292
|
+
languageCompartment.current.of([]),
|
|
92
293
|
bracketMatching(),
|
|
93
294
|
closeBrackets(),
|
|
94
295
|
autocompletion(),
|
|
@@ -97,7 +298,7 @@ export function CodeEditor({ defaultValue, onChange }) {
|
|
|
97
298
|
highlightActiveLine(),
|
|
98
299
|
highlightActiveLineGutter(),
|
|
99
300
|
highlightSelectionMatches(),
|
|
100
|
-
baseTheme,
|
|
301
|
+
themeCompartment.current.of(baseTheme),
|
|
101
302
|
keymap.of([
|
|
102
303
|
...closeBracketsKeymap,
|
|
103
304
|
...defaultKeymap,
|
|
@@ -107,26 +308,114 @@ export function CodeEditor({ defaultValue, onChange }) {
|
|
|
107
308
|
...completionKeymap,
|
|
108
309
|
...lintKeymap
|
|
109
310
|
]),
|
|
110
|
-
linter(jsonParseLinter(), {
|
|
111
|
-
delay: 300
|
|
112
|
-
}),
|
|
113
311
|
lintGutter(),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
onChange(update.view.state.doc.toString());
|
|
117
|
-
}
|
|
118
|
-
})
|
|
312
|
+
onChangeComparment.current.of([]),
|
|
313
|
+
onUpdateComparment.current.of([])
|
|
119
314
|
]
|
|
120
315
|
})
|
|
121
316
|
});
|
|
122
|
-
|
|
317
|
+
setView(()=>view);
|
|
318
|
+
return ()=>{
|
|
319
|
+
view.destroy();
|
|
320
|
+
setView(()=>null);
|
|
321
|
+
};
|
|
322
|
+
}, []);
|
|
323
|
+
React.useEffect(()=>{
|
|
324
|
+
if (viewCallback && view) {
|
|
325
|
+
viewCallback(view);
|
|
326
|
+
}
|
|
327
|
+
}, [
|
|
328
|
+
view,
|
|
329
|
+
viewCallback
|
|
330
|
+
]);
|
|
331
|
+
React.useEffect(()=>{
|
|
332
|
+
view?.dispatch({
|
|
333
|
+
effects: onChangeComparment.current.reconfigure([
|
|
334
|
+
EditorView.updateListener.of((update)=>{
|
|
335
|
+
if (update.docChanged && onChange) {
|
|
336
|
+
onChange(update.view.state.doc.toString());
|
|
337
|
+
}
|
|
338
|
+
})
|
|
339
|
+
])
|
|
340
|
+
});
|
|
123
341
|
}, [
|
|
124
|
-
|
|
342
|
+
view,
|
|
125
343
|
onChange
|
|
126
344
|
]);
|
|
345
|
+
React.useEffect(()=>{
|
|
346
|
+
view?.dispatch({
|
|
347
|
+
effects: onUpdateComparment.current.reconfigure([
|
|
348
|
+
EditorView.updateListener.of((update)=>{
|
|
349
|
+
if (onUpdate) {
|
|
350
|
+
onUpdate(update);
|
|
351
|
+
}
|
|
352
|
+
})
|
|
353
|
+
])
|
|
354
|
+
});
|
|
355
|
+
}, [
|
|
356
|
+
view,
|
|
357
|
+
onUpdate
|
|
358
|
+
]);
|
|
359
|
+
// FIXME: it is probably better to have CM manage its state.
|
|
360
|
+
React.useEffect(()=>{
|
|
361
|
+
if (!view || currentValue === undefined) {
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
const currentDoc = view.state.doc.toString();
|
|
365
|
+
if (currentDoc !== currentValue) {
|
|
366
|
+
view.dispatch({
|
|
367
|
+
changes: {
|
|
368
|
+
from: 0,
|
|
369
|
+
to: currentDoc.length,
|
|
370
|
+
insert: currentValue
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
}, [
|
|
375
|
+
currentValue,
|
|
376
|
+
view
|
|
377
|
+
]);
|
|
378
|
+
React.useEffect(()=>{
|
|
379
|
+
if (view === null) {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
view.dispatch({
|
|
383
|
+
effects: languageCompartment.current.reconfigure(languageExtensions(mode))
|
|
384
|
+
});
|
|
385
|
+
}, [
|
|
386
|
+
mode,
|
|
387
|
+
view
|
|
388
|
+
]);
|
|
389
|
+
React.useEffect(()=>{
|
|
390
|
+
if (view === null) {
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
view.dispatch({
|
|
394
|
+
effects: [
|
|
395
|
+
readOnlyCompartment.current.reconfigure(EditorState.readOnly.of(readOnly))
|
|
396
|
+
]
|
|
397
|
+
});
|
|
398
|
+
}, [
|
|
399
|
+
readOnly,
|
|
400
|
+
view
|
|
401
|
+
]);
|
|
402
|
+
React.useEffect(()=>{
|
|
403
|
+
if (view === null) {
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
view.dispatch({
|
|
407
|
+
effects: [
|
|
408
|
+
themeCompartment.current.reconfigure(isReadOnlyTheme ? readOnlyTheme : baseTheme)
|
|
409
|
+
]
|
|
410
|
+
});
|
|
411
|
+
}, [
|
|
412
|
+
isReadOnlyTheme,
|
|
413
|
+
view
|
|
414
|
+
]);
|
|
127
415
|
return /*#__PURE__*/ _jsx("div", {
|
|
128
416
|
className: "h-full w-full",
|
|
129
|
-
ref:
|
|
417
|
+
ref: domRef,
|
|
418
|
+
id: id
|
|
130
419
|
});
|
|
131
420
|
}
|
|
132
421
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/code-editor/index.tsx"],"sourcesContent":["import {\n\tautocompletion,\n\tcloseBrackets,\n\tcloseBracketsKeymap,\n\tcompletionKeymap,\n} from \"@codemirror/autocomplete\";\nimport { defaultKeymap, history, historyKeymap } from \"@codemirror/commands\";\nimport { json, jsonParseLinter } from \"@codemirror/lang-json\";\nimport {\n\tbracketMatching,\n\tfoldGutter,\n\tfoldKeymap,\n\tHighlightStyle,\n\tindentOnInput,\n\tsyntaxHighlighting,\n} from \"@codemirror/language\";\nimport { linter, lintGutter, lintKeymap } from \"@codemirror/lint\";\nimport { highlightSelectionMatches, searchKeymap } from \"@codemirror/search\";\nimport { EditorState } from \"@codemirror/state\";\nimport {\n\tcrosshairCursor,\n\tdrawSelection,\n\tdropCursor,\n\tEditorView,\n\thighlightActiveLine,\n\thighlightActiveLineGutter,\n\thighlightSpecialChars,\n\tkeymap,\n\tlineNumbers,\n\trectangularSelection,\n} from \"@codemirror/view\";\nimport { tags } from \"@lezer/highlight\";\nimport * as React from \"react\";\n\nconst baseTheme = EditorView.baseTheme({\n\t\"&\": {\n\t\tbackgroundColor: \"var(--color-bg-primary)\",\n\t\theight: \"100%\",\n\t\twidth: \"100%\",\n\t\tfontSize: \"14px\",\n\t\tpaddingTop: \"8px\",\n\t\tpaddingBottom: \"8px\",\n\t},\n\t\".cm-scroller\": {\n\t\toverflow: \"auto\",\n\t},\n\t\".cm-content\": {\n\t\tfontFamily: \"var(--font-family-mono)\",\n\t\tpadding: \"0\",\n\t},\n\t\"&.cm-focused\": {\n\t\toutline: \"none\",\n\t},\n\t\".cm-gutter\": {\n\t\tfontFamily: \"var(--font-family-mono)\",\n\t},\n\t\".cm-gutters\": {\n\t\tbackgroundColor: \"var(--color-bg-primary)\",\n\t\tborder: \"none\",\n\t},\n\t\".cm-lineNumbers\": {\n\t\tpaddingLeft: \"16px\",\n\t},\n\t\".cm-activeLineGutter\": {\n\t\tbackgroundColor: \"var(--color-bg-primary)\",\n\t\tcolor: \"var(--color-text-primary)\",\n\t},\n\t\".cm-activeLine\": {\n\t\tbackgroundColor: \"rgba(255, 255, 255, 0)\",\n\t},\n});\n\nconst customHighlightStyle = HighlightStyle.define([\n\t{ tag: tags.propertyName, color: \"#EA4A35\" },\n\t{ tag: tags.string, color: \"#405CBF\" },\n\t{ tag: tags.number, color: \"#00A984\" },\n\t{ tag: tags.bool, color: \"#569cd6\" },\n\t{ tag: tags.null, color: \"#569cd6\" },\n]);\n\nexport function CodeEditor({\n\tdefaultValue,\n\tonChange,\n}: {\n\tdefaultValue?: string;\n\tonChange?: (value: string) => void;\n}) {\n\tconst editorRef = React.useRef(null);\n\n\tReact.useEffect(() => {\n\t\tif (!editorRef.current) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst view = new EditorView({\n\t\t\tparent: editorRef.current,\n\t\t\tstate: EditorState.create({\n\t\t\t\tdoc: defaultValue ?? \"\",\n\t\t\t\textensions: [\n\t\t\t\t\tlineNumbers(),\n\t\t\t\t\tfoldGutter(),\n\t\t\t\t\thighlightSpecialChars(),\n\t\t\t\t\thistory(),\n\t\t\t\t\tdrawSelection(),\n\t\t\t\t\tdropCursor(),\n\t\t\t\t\tEditorState.allowMultipleSelections.of(true),\n\t\t\t\t\tindentOnInput(),\n\t\t\t\t\tjson(),\n\t\t\t\t\tsyntaxHighlighting(customHighlightStyle),\n\t\t\t\t\tbracketMatching(),\n\t\t\t\t\tcloseBrackets(),\n\t\t\t\t\tautocompletion(),\n\t\t\t\t\trectangularSelection(),\n\t\t\t\t\tcrosshairCursor(),\n\t\t\t\t\thighlightActiveLine(),\n\t\t\t\t\thighlightActiveLineGutter(),\n\t\t\t\t\thighlightSelectionMatches(),\n\t\t\t\t\tbaseTheme,\n\t\t\t\t\tkeymap.of([\n\t\t\t\t\t\t...closeBracketsKeymap,\n\t\t\t\t\t\t...defaultKeymap,\n\t\t\t\t\t\t...searchKeymap,\n\t\t\t\t\t\t...historyKeymap,\n\t\t\t\t\t\t...foldKeymap,\n\t\t\t\t\t\t...completionKeymap,\n\t\t\t\t\t\t...lintKeymap,\n\t\t\t\t\t]),\n\t\t\t\t\tlinter(jsonParseLinter(), { delay: 300 }),\n\t\t\t\t\tlintGutter(),\n\t\t\t\t\tEditorView.updateListener.of((update) => {\n\t\t\t\t\t\tif (update.docChanged && onChange) {\n\t\t\t\t\t\t\tonChange(update.view.state.doc.toString());\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}),\n\t\t});\n\n\t\treturn () => view.destroy();\n\t}, [defaultValue, onChange]);\n\n\treturn <div className=\"h-full w-full\" ref={editorRef} />;\n}\n"],"names":["autocompletion","closeBrackets","closeBracketsKeymap","completionKeymap","defaultKeymap","history","historyKeymap","json","jsonParseLinter","bracketMatching","foldGutter","foldKeymap","HighlightStyle","indentOnInput","syntaxHighlighting","linter","lintGutter","lintKeymap","highlightSelectionMatches","searchKeymap","EditorState","crosshairCursor","drawSelection","dropCursor","EditorView","highlightActiveLine","highlightActiveLineGutter","highlightSpecialChars","keymap","lineNumbers","rectangularSelection","tags","React","baseTheme","backgroundColor","height","width","fontSize","paddingTop","paddingBottom","overflow","fontFamily","padding","outline","border","paddingLeft","color","customHighlightStyle","define","tag","propertyName","string","number","bool","null","CodeEditor","defaultValue","onChange","editorRef","useRef","useEffect","current","view","parent","state","create","doc","extensions","allowMultipleSelections","of","delay","updateListener","update","docChanged","toString","destroy","div","className","ref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/code-editor/index.tsx"],"sourcesContent":["import {\n\tautocompletion,\n\tcloseBrackets,\n\tcloseBracketsKeymap,\n\tcompletionKeymap,\n} from \"@codemirror/autocomplete\";\nimport { defaultKeymap, history, historyKeymap } from \"@codemirror/commands\";\nimport { json, jsonParseLinter } from \"@codemirror/lang-json\";\nimport { SQLDialect, sql } from \"@codemirror/lang-sql\";\nimport { yaml } from \"@codemirror/lang-yaml\";\nimport {\n\tbracketMatching,\n\tfoldGutter,\n\tfoldKeymap,\n\tHighlightStyle,\n\tindentOnInput,\n\tsyntaxHighlighting,\n} from \"@codemirror/language\";\nimport { linter, lintGutter, lintKeymap } from \"@codemirror/lint\";\nimport { highlightSelectionMatches, searchKeymap } from \"@codemirror/search\";\nimport { Compartment, EditorState } from \"@codemirror/state\";\nimport {\n\tcrosshairCursor,\n\tdrawSelection,\n\tdropCursor,\n\tEditorView,\n\thighlightActiveLine,\n\thighlightActiveLineGutter,\n\thighlightSpecialChars,\n\tkeymap,\n\tlineNumbers,\n\trectangularSelection,\n\ttype ViewUpdate,\n} from \"@codemirror/view\";\nimport { tags } from \"@lezer/highlight\";\nimport * as React from \"react\";\n\nimport { http } from \"./http\";\n\nconst baseTheme = EditorView.baseTheme({\n\t\"&\": {\n\t\tbackgroundColor: \"var(--color-bg-primary)\",\n\t\theight: \"100%\",\n\t\twidth: \"100%\",\n\t\tfontSize: \"14px\",\n\t\tpaddingTop: \"8px\",\n\t\tpaddingBottom: \"8px\",\n\t},\n\t\".cm-scroller\": {\n\t\toverflow: \"auto\",\n\t},\n\t\".cm-content\": {\n\t\tfontFamily: \"var(--font-family-mono)\",\n\t\tpadding: \"0\",\n\t},\n\t\"&.cm-focused\": {\n\t\toutline: \"none\",\n\t},\n\t\".cm-gutter\": {\n\t\tfontFamily: \"var(--font-family-mono)\",\n\t},\n\t\".cm-gutters\": {\n\t\tbackgroundColor: \"var(--color-bg-primary)\",\n\t\tborder: \"none\",\n\t},\n\t\".cm-lineNumbers\": {\n\t\tpaddingLeft: \"16px\",\n\t},\n\t\".cm-activeLineGutter\": {\n\t\tbackgroundColor: \"var(--color-bg-primary)\",\n\t\tcolor: \"var(--color-text-primary)\",\n\t},\n\t\".cm-activeLine\": {\n\t\tbackgroundColor: \"rgba(255, 255, 255, 0)\",\n\t},\n});\n\nconst readOnlyTheme = EditorView.theme({\n\t\"&\": {\n\t\tbackgroundColor: \"var(--color-bg-secondary)\",\n\t\theight: \"100%\",\n\t\twidth: \"100%\",\n\t\tfontSize: \"14px\",\n\t\tpaddingTop: \"8px\",\n\t\tpaddingBottom: \"8px\",\n\t},\n\t\".cm-scroller\": {\n\t\toverflow: \"auto\",\n\t},\n\t\".cm-content\": {\n\t\tfontFamily: \"var(--font-family-mono)\",\n\t\tpadding: \"0\",\n\t},\n\t\"&.cm-focused\": {\n\t\toutline: \"none\",\n\t},\n\t\".cm-gutter\": {\n\t\tfontFamily: \"var(--font-family-mono)\",\n\t},\n\t\".cm-gutters\": {\n\t\tbackgroundColor: \"var(--color-bg-secondary)\",\n\t\tborder: \"none\",\n\t},\n\t\".cm-lineNumbers\": {\n\t\tpaddingLeft: \"16px\",\n\t},\n\t\".cm-activeLineGutter\": {\n\t\tbackgroundColor: \"var(--color-bg-secondary)\",\n\t\tcolor: \"var(--color-text-primary)\",\n\t},\n\t\".cm-activeLine\": {\n\t\tbackgroundColor: \"rgba(255, 255, 255, 0)\",\n\t},\n});\n\nconst customHighlightStyle = HighlightStyle.define([\n\t{ tag: tags.propertyName, color: \"#EA4A35\" },\n\t{ tag: tags.string, color: \"#405CBF\" },\n\t{ tag: tags.number, color: \"#00A984\" },\n\t{ tag: tags.bool, color: \"#569cd6\" },\n\t{ tag: tags.null, color: \"#569cd6\" },\n\t{ tag: tags.keyword, color: \"#569cd6\" },\n\t{ tag: tags.operatorKeyword, color: \"#405CBF\" },\n\t{ tag: tags.controlKeyword, color: \"#EA4A35\" },\n\t{ tag: tags.typeName, color: \"#00A984\" },\n\t{ tag: tags.variableName, color: \"#EA4A35\" },\n\t{ tag: tags.operator, color: \"#405CBF\" },\n\t{ tag: tags.comment, color: \"#00A984\" },\n\t{ tag: tags.lineComment, color: \"#00A984\" },\n\t{ tag: tags.blockComment, color: \"#00A984\" },\n]);\n\nconst SQL_KEYWORDS = [\n\t\"select\",\n\t\"from\",\n\t\"where\",\n\t\"and\",\n\t\"or\",\n\t\"not\",\n\t\"in\",\n\t\"between\",\n\t\"like\",\n\t\"insert\",\n\t\"update\",\n\t\"delete\",\n\t\"create\",\n\t\"drop\",\n\t\"alter\",\n\t\"table\",\n\t\"index\",\n\t\"join\",\n\t\"inner\",\n\t\"left\",\n\t\"right\",\n\t\"outer\",\n\t\"on\",\n\t\"as\",\n\t\"order\",\n\t\"by\",\n\t\"group\",\n\t\"having\",\n\t\"limit\",\n\t\"offset\",\n\t\"union\",\n\t\"intersect\",\n\t\"except\",\n\t\"distinct\",\n\t\"all\",\n\t\"exists\",\n\t\"case\",\n\t\"when\",\n\t\"then\",\n\t\"else\",\n\t\"end\",\n\t\"null\",\n\t\"true\",\n\t\"false\",\n\t\"is\",\n\t\"asc\",\n\t\"desc\",\n];\n\nconst SQL_BUILTIN = [\n\t\"varchar\",\n\t\"char\",\n\t\"text\",\n\t\"integer\",\n\t\"int\",\n\t\"bigint\",\n\t\"decimal\",\n\t\"numeric\",\n\t\"float\",\n\t\"real\",\n\t\"boolean\",\n\t\"date\",\n\t\"time\",\n\t\"timestamp\",\n\t\"uuid\",\n\t\"count\",\n\t\"sum\",\n\t\"avg\",\n\t\"min\",\n\t\"max\",\n\t\"coalesce\",\n\t\"concat\",\n\t\"substring\",\n\t\"upper\",\n\t\"lower\",\n\t\"trim\",\n\t\"length\",\n\t\"now\",\n\t\"current_date\",\n\t\"current_time\",\n];\n\nconst customSQLDialect = SQLDialect.define({\n\tkeywords: SQL_KEYWORDS.join(\" \"),\n\tbuiltin: SQL_BUILTIN.join(\" \"),\n});\n\ntype LanguageMode = \"json\" | \"http\" | \"sql\" | \"yaml\";\n\nfunction languageExtensions(mode: LanguageMode) {\n\tif (mode === \"http\") {\n\t\tconst jsonLang = json();\n\t\tconst yamlLang = yaml();\n\t\treturn [\n\t\t\thttp((ct) =>\n\t\t\t\tct === \"application/json\"\n\t\t\t\t\t? jsonLang.language\n\t\t\t\t\t: ct === \"text/yaml\"\n\t\t\t\t\t\t? yamlLang.language\n\t\t\t\t\t\t: null,\n\t\t\t),\n\t\t\tsyntaxHighlighting(customHighlightStyle),\n\t\t];\n\t} else if (mode === \"sql\") {\n\t\treturn [\n\t\t\tsql({ dialect: customSQLDialect }),\n\t\t\tsyntaxHighlighting(customHighlightStyle),\n\t\t];\n\t} else if (mode === \"yaml\") {\n\t\treturn [yaml(), syntaxHighlighting(customHighlightStyle)];\n\t} else {\n\t\treturn [\n\t\t\tjson(),\n\t\t\tlinter(jsonParseLinter(), { delay: 300 }),\n\t\t\tsyntaxHighlighting(customHighlightStyle),\n\t\t];\n\t}\n}\n\ntype CodeEditorProps = {\n\treadOnly?: boolean;\n\tisReadOnlyTheme?: boolean;\n\tdefaultValue?: string;\n\tcurrentValue?: string;\n\tonChange?: (value: string) => void;\n\tonUpdate?: (update: ViewUpdate) => void;\n\tid?: string;\n\tmode?: LanguageMode;\n\tviewCallback?: (view: EditorView) => void;\n};\n\nexport type CodeEditorView = EditorView;\n\nexport function CodeEditor({\n\tdefaultValue,\n\tcurrentValue,\n\tonChange,\n\tonUpdate,\n\tviewCallback,\n\treadOnly = false,\n\tid,\n\tmode = \"json\",\n\tisReadOnlyTheme = false,\n}: CodeEditorProps) {\n\tconst domRef = React.useRef(null);\n\tconst [view, setView] = React.useState<EditorView | null>(null);\n\n\tconst initialValue = React.useRef(defaultValue ?? \"\");\n\n\tconst onChangeComparment = React.useRef(new Compartment());\n\tconst onUpdateComparment = React.useRef(new Compartment());\n\tconst languageCompartment = React.useRef(new Compartment());\n\tconst readOnlyCompartment = React.useRef(new Compartment());\n\tconst themeCompartment = React.useRef(new Compartment());\n\n\tReact.useEffect(() => {\n\t\tif (!domRef.current) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst view = new EditorView({\n\t\t\tparent: domRef.current,\n\t\t\tstate: EditorState.create({\n\t\t\t\tdoc: initialValue.current,\n\t\t\t\textensions: [\n\t\t\t\t\tEditorView.contentAttributes.of({ \"data-gramm\": \"false\" }),\n\t\t\t\t\treadOnlyCompartment.current.of(EditorState.readOnly.of(false)),\n\t\t\t\t\tlineNumbers(),\n\t\t\t\t\tfoldGutter(),\n\t\t\t\t\thighlightSpecialChars(),\n\t\t\t\t\thistory(),\n\t\t\t\t\tdrawSelection(),\n\t\t\t\t\tdropCursor(),\n\t\t\t\t\tEditorState.allowMultipleSelections.of(true),\n\t\t\t\t\tindentOnInput(),\n\t\t\t\t\tlanguageCompartment.current.of([]),\n\t\t\t\t\tbracketMatching(),\n\t\t\t\t\tcloseBrackets(),\n\t\t\t\t\tautocompletion(),\n\t\t\t\t\trectangularSelection(),\n\t\t\t\t\tcrosshairCursor(),\n\t\t\t\t\thighlightActiveLine(),\n\t\t\t\t\thighlightActiveLineGutter(),\n\t\t\t\t\thighlightSelectionMatches(),\n\t\t\t\t\tthemeCompartment.current.of(baseTheme),\n\t\t\t\t\tkeymap.of([\n\t\t\t\t\t\t...closeBracketsKeymap,\n\t\t\t\t\t\t...defaultKeymap,\n\t\t\t\t\t\t...searchKeymap,\n\t\t\t\t\t\t...historyKeymap,\n\t\t\t\t\t\t...foldKeymap,\n\t\t\t\t\t\t...completionKeymap,\n\t\t\t\t\t\t...lintKeymap,\n\t\t\t\t\t]),\n\t\t\t\t\tlintGutter(),\n\t\t\t\t\tonChangeComparment.current.of([]),\n\t\t\t\t\tonUpdateComparment.current.of([]),\n\t\t\t\t],\n\t\t\t}),\n\t\t});\n\n\t\tsetView(() => view);\n\n\t\treturn () => {\n\t\t\tview.destroy();\n\t\t\tsetView(() => null);\n\t\t};\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (viewCallback && view) {\n\t\t\tviewCallback(view);\n\t\t}\n\t}, [view, viewCallback]);\n\n\tReact.useEffect(() => {\n\t\tview?.dispatch({\n\t\t\teffects: onChangeComparment.current.reconfigure([\n\t\t\t\tEditorView.updateListener.of((update) => {\n\t\t\t\t\tif (update.docChanged && onChange) {\n\t\t\t\t\t\tonChange(update.view.state.doc.toString());\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t]),\n\t\t});\n\t}, [view, onChange]);\n\n\tReact.useEffect(() => {\n\t\tview?.dispatch({\n\t\t\teffects: onUpdateComparment.current.reconfigure([\n\t\t\t\tEditorView.updateListener.of((update) => {\n\t\t\t\t\tif (onUpdate) {\n\t\t\t\t\t\tonUpdate(update);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t]),\n\t\t});\n\t}, [view, onUpdate]);\n\n\t// FIXME: it is probably better to have CM manage its state.\n\tReact.useEffect(() => {\n\t\tif (!view || currentValue === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentDoc = view.state.doc.toString();\n\t\tif (currentDoc !== currentValue) {\n\t\t\tview.dispatch({\n\t\t\t\tchanges: {\n\t\t\t\t\tfrom: 0,\n\t\t\t\t\tto: currentDoc.length,\n\t\t\t\t\tinsert: currentValue,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}, [currentValue, view]);\n\n\tReact.useEffect(() => {\n\t\tif (view === null) {\n\t\t\treturn;\n\t\t}\n\t\tview.dispatch({\n\t\t\teffects: languageCompartment.current.reconfigure(\n\t\t\t\tlanguageExtensions(mode),\n\t\t\t),\n\t\t});\n\t}, [mode, view]);\n\n\tReact.useEffect(() => {\n\t\tif (view === null) {\n\t\t\treturn;\n\t\t}\n\t\tview.dispatch({\n\t\t\teffects: [\n\t\t\t\treadOnlyCompartment.current.reconfigure(\n\t\t\t\t\tEditorState.readOnly.of(readOnly),\n\t\t\t\t),\n\t\t\t],\n\t\t});\n\t}, [readOnly, view]);\n\n\tReact.useEffect(() => {\n\t\tif (view === null) {\n\t\t\treturn;\n\t\t}\n\t\tview.dispatch({\n\t\t\teffects: [\n\t\t\t\tthemeCompartment.current.reconfigure(\n\t\t\t\t\tisReadOnlyTheme ? readOnlyTheme : baseTheme,\n\t\t\t\t),\n\t\t\t],\n\t\t});\n\t}, [isReadOnlyTheme, view]);\n\n\treturn <div className=\"h-full w-full\" ref={domRef} id={id} />;\n}\n"],"names":["autocompletion","closeBrackets","closeBracketsKeymap","completionKeymap","defaultKeymap","history","historyKeymap","json","jsonParseLinter","SQLDialect","sql","yaml","bracketMatching","foldGutter","foldKeymap","HighlightStyle","indentOnInput","syntaxHighlighting","linter","lintGutter","lintKeymap","highlightSelectionMatches","searchKeymap","Compartment","EditorState","crosshairCursor","drawSelection","dropCursor","EditorView","highlightActiveLine","highlightActiveLineGutter","highlightSpecialChars","keymap","lineNumbers","rectangularSelection","tags","React","http","baseTheme","backgroundColor","height","width","fontSize","paddingTop","paddingBottom","overflow","fontFamily","padding","outline","border","paddingLeft","color","readOnlyTheme","theme","customHighlightStyle","define","tag","propertyName","string","number","bool","null","keyword","operatorKeyword","controlKeyword","typeName","variableName","operator","comment","lineComment","blockComment","SQL_KEYWORDS","SQL_BUILTIN","customSQLDialect","keywords","join","builtin","languageExtensions","mode","jsonLang","yamlLang","ct","language","dialect","delay","CodeEditor","defaultValue","currentValue","onChange","onUpdate","viewCallback","readOnly","id","isReadOnlyTheme","domRef","useRef","view","setView","useState","initialValue","onChangeComparment","onUpdateComparment","languageCompartment","readOnlyCompartment","themeCompartment","useEffect","current","parent","state","create","doc","extensions","contentAttributes","of","allowMultipleSelections","destroy","dispatch","effects","reconfigure","updateListener","update","docChanged","toString","undefined","currentDoc","changes","from","to","length","insert","div","className","ref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-editor.stories.d.ts","sourceRoot":"","sources":["../../../src/components/code-editor.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"code-editor.stories.d.ts","sourceRoot":"","sources":["../../../src/components/code-editor.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAOjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;AAEzC,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAiSF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC"}
|