@trebired/frontend 1.7.0 → 1.8.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 (170) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/actions/forms.d.ts.map +1 -1
  3. package/dist/actions/forms.js +4 -0
  4. package/dist/actions/forms.js.map +1 -1
  5. package/dist/actions/response.d.ts.map +1 -1
  6. package/dist/actions/response.js +1 -1
  7. package/dist/actions/response.js.map +1 -1
  8. package/dist/actions/types.d.ts +1 -0
  9. package/dist/actions/types.d.ts.map +1 -1
  10. package/dist/code/components/index.d.ts +42 -0
  11. package/dist/code/components/index.d.ts.map +1 -0
  12. package/dist/code/components/index.js +30 -0
  13. package/dist/code/components/index.js.map +1 -0
  14. package/dist/code/index.d.ts +5 -0
  15. package/dist/code/index.d.ts.map +1 -0
  16. package/dist/code/index.js +5 -0
  17. package/dist/code/index.js.map +1 -0
  18. package/dist/code/language.d.ts +3 -0
  19. package/dist/code/language.d.ts.map +1 -0
  20. package/dist/code/language.js +94 -0
  21. package/dist/code/language.js.map +1 -0
  22. package/dist/code/monaco.d.ts +13 -0
  23. package/dist/code/monaco.d.ts.map +1 -0
  24. package/dist/code/monaco.js +150 -0
  25. package/dist/code/monaco.js.map +1 -0
  26. package/dist/code/runtime.d.ts +6 -0
  27. package/dist/code/runtime.d.ts.map +1 -0
  28. package/dist/code/runtime.js +107 -0
  29. package/dist/code/runtime.js.map +1 -0
  30. package/dist/code/styles/index.scss +39 -0
  31. package/dist/config/normalize.d.ts.map +1 -1
  32. package/dist/config/normalize.js +2 -0
  33. package/dist/config/normalize.js.map +1 -1
  34. package/dist/config/scss.d.ts.map +1 -1
  35. package/dist/config/scss.js +2 -0
  36. package/dist/config/scss.js.map +1 -1
  37. package/dist/config/types.d.ts +1 -1
  38. package/dist/config/types.d.ts.map +1 -1
  39. package/dist/editor/components/content.d.ts +8 -0
  40. package/dist/editor/components/content.d.ts.map +1 -0
  41. package/dist/editor/components/content.js +40 -0
  42. package/dist/editor/components/content.js.map +1 -0
  43. package/dist/editor/components/index.d.ts +4 -0
  44. package/dist/editor/components/index.d.ts.map +1 -0
  45. package/dist/editor/components/index.js +3 -0
  46. package/dist/editor/components/index.js.map +1 -0
  47. package/dist/editor/components/surface.d.ts +5 -0
  48. package/dist/editor/components/surface.d.ts.map +1 -0
  49. package/dist/editor/components/surface.js +143 -0
  50. package/dist/editor/components/surface.js.map +1 -0
  51. package/dist/editor/components/types.d.ts +63 -0
  52. package/dist/editor/components/types.d.ts.map +1 -0
  53. package/dist/editor/components/types.js +2 -0
  54. package/dist/editor/components/types.js.map +1 -0
  55. package/dist/editor/content.d.ts +18 -0
  56. package/dist/editor/content.d.ts.map +1 -0
  57. package/dist/editor/content.js +116 -0
  58. package/dist/editor/content.js.map +1 -0
  59. package/dist/editor/index.d.ts +6 -0
  60. package/dist/editor/index.d.ts.map +1 -0
  61. package/dist/editor/index.js +8 -0
  62. package/dist/editor/index.js.map +1 -0
  63. package/dist/editor/styles/index.scss +38 -0
  64. package/dist/index.d.ts +2 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +6 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/primitives/components/display.d.ts +41 -0
  69. package/dist/primitives/components/display.d.ts.map +1 -0
  70. package/dist/primitives/components/display.js +53 -0
  71. package/dist/primitives/components/display.js.map +1 -0
  72. package/dist/primitives/components/index.d.ts +1 -0
  73. package/dist/primitives/components/index.d.ts.map +1 -1
  74. package/dist/primitives/components/index.js +1 -0
  75. package/dist/primitives/components/index.js.map +1 -1
  76. package/dist/primitives/components/key_value.d.ts +2 -2
  77. package/dist/primitives/components/key_value.d.ts.map +1 -1
  78. package/dist/primitives/components/key_value.js +9 -4
  79. package/dist/primitives/components/key_value.js.map +1 -1
  80. package/dist/primitives/components/types.d.ts +8 -5
  81. package/dist/primitives/components/types.d.ts.map +1 -1
  82. package/dist/primitives/styles/_display.scss +90 -0
  83. package/dist/primitives/styles/index.scss +1 -0
  84. package/dist/react/index.d.ts +2 -0
  85. package/dist/react/index.d.ts.map +1 -1
  86. package/dist/react/index.js +2 -0
  87. package/dist/react/index.js.map +1 -1
  88. package/dist/src/actions/forms.d.ts.map +1 -1
  89. package/dist/src/actions/forms.js +4 -0
  90. package/dist/src/actions/forms.js.map +1 -1
  91. package/dist/src/actions/response.d.ts.map +1 -1
  92. package/dist/src/actions/response.js +1 -1
  93. package/dist/src/actions/response.js.map +1 -1
  94. package/dist/src/actions/types.d.ts +1 -0
  95. package/dist/src/actions/types.d.ts.map +1 -1
  96. package/dist/src/code/components/index.d.ts +42 -0
  97. package/dist/src/code/components/index.d.ts.map +1 -0
  98. package/dist/src/code/components/index.js +30 -0
  99. package/dist/src/code/components/index.js.map +1 -0
  100. package/dist/src/code/index.d.ts +5 -0
  101. package/dist/src/code/index.d.ts.map +1 -0
  102. package/dist/src/code/index.js +5 -0
  103. package/dist/src/code/index.js.map +1 -0
  104. package/dist/src/code/language.d.ts +3 -0
  105. package/dist/src/code/language.d.ts.map +1 -0
  106. package/dist/src/code/language.js +94 -0
  107. package/dist/src/code/language.js.map +1 -0
  108. package/dist/src/code/monaco.d.ts +13 -0
  109. package/dist/src/code/monaco.d.ts.map +1 -0
  110. package/dist/src/code/monaco.js +150 -0
  111. package/dist/src/code/monaco.js.map +1 -0
  112. package/dist/src/code/runtime.d.ts +6 -0
  113. package/dist/src/code/runtime.d.ts.map +1 -0
  114. package/dist/src/code/runtime.js +107 -0
  115. package/dist/src/code/runtime.js.map +1 -0
  116. package/dist/src/config/normalize.d.ts.map +1 -1
  117. package/dist/src/config/normalize.js +2 -0
  118. package/dist/src/config/normalize.js.map +1 -1
  119. package/dist/src/config/scss.d.ts.map +1 -1
  120. package/dist/src/config/scss.js +2 -0
  121. package/dist/src/config/scss.js.map +1 -1
  122. package/dist/src/config/types.d.ts +1 -1
  123. package/dist/src/config/types.d.ts.map +1 -1
  124. package/dist/src/editor/components/content.d.ts +8 -0
  125. package/dist/src/editor/components/content.d.ts.map +1 -0
  126. package/dist/src/editor/components/content.js +40 -0
  127. package/dist/src/editor/components/content.js.map +1 -0
  128. package/dist/src/editor/components/index.d.ts +4 -0
  129. package/dist/src/editor/components/index.d.ts.map +1 -0
  130. package/dist/src/editor/components/index.js +3 -0
  131. package/dist/src/editor/components/index.js.map +1 -0
  132. package/dist/src/editor/components/surface.d.ts +5 -0
  133. package/dist/src/editor/components/surface.d.ts.map +1 -0
  134. package/dist/src/editor/components/surface.js +143 -0
  135. package/dist/src/editor/components/surface.js.map +1 -0
  136. package/dist/src/editor/components/types.d.ts +63 -0
  137. package/dist/src/editor/components/types.d.ts.map +1 -0
  138. package/dist/src/editor/components/types.js +2 -0
  139. package/dist/src/editor/components/types.js.map +1 -0
  140. package/dist/src/editor/content.d.ts +18 -0
  141. package/dist/src/editor/content.d.ts.map +1 -0
  142. package/dist/src/editor/content.js +116 -0
  143. package/dist/src/editor/content.js.map +1 -0
  144. package/dist/src/editor/index.d.ts +6 -0
  145. package/dist/src/editor/index.d.ts.map +1 -0
  146. package/dist/src/editor/index.js +8 -0
  147. package/dist/src/editor/index.js.map +1 -0
  148. package/dist/src/index.d.ts +2 -0
  149. package/dist/src/index.d.ts.map +1 -1
  150. package/dist/src/index.js +6 -0
  151. package/dist/src/index.js.map +1 -1
  152. package/dist/src/primitives/components/display.d.ts +41 -0
  153. package/dist/src/primitives/components/display.d.ts.map +1 -0
  154. package/dist/src/primitives/components/display.js +53 -0
  155. package/dist/src/primitives/components/display.js.map +1 -0
  156. package/dist/src/primitives/components/index.d.ts +1 -0
  157. package/dist/src/primitives/components/index.d.ts.map +1 -1
  158. package/dist/src/primitives/components/index.js +1 -0
  159. package/dist/src/primitives/components/index.js.map +1 -1
  160. package/dist/src/primitives/components/key_value.d.ts +2 -2
  161. package/dist/src/primitives/components/key_value.d.ts.map +1 -1
  162. package/dist/src/primitives/components/key_value.js +9 -4
  163. package/dist/src/primitives/components/key_value.js.map +1 -1
  164. package/dist/src/primitives/components/types.d.ts +8 -5
  165. package/dist/src/primitives/components/types.d.ts.map +1 -1
  166. package/dist/src/react/index.d.ts +2 -0
  167. package/dist/src/react/index.d.ts.map +1 -1
  168. package/dist/src/react/index.js +2 -0
  169. package/dist/src/react/index.js.map +1 -1
  170. package/package.json +1 -1
@@ -0,0 +1,143 @@
1
+ import { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Icon } from "../../../icons/react/index.js";
3
+ import { bar as progress_bar } from "../../../primitives/components/controls.js";
4
+ import { card } from "../../../primitives/components/controls.js";
5
+ import { FullscreenCloseButton, FullscreenOpenButton, FullscreenTarget, } from "../../../fullscreen/components/index.js";
6
+ const EDITOR_FULLSCREEN_GROUP = "editor_surface";
7
+ const EDITOR_EXTEND_ID = "editor_surface_panel";
8
+ function editor_body(props) {
9
+ const { mode, ...surfaceProps } = props;
10
+ return editor_surface({
11
+ ...surfaceProps,
12
+ ideMode: normalizeEditorMode(mode),
13
+ });
14
+ }
15
+ function editor_surface(props) {
16
+ const state = readSurfaceState(props);
17
+ const surface = card({
18
+ className: "column gap-sm",
19
+ children: (_jsxs(_Fragment, { children: [editorHeader(state), state.ideMode === "edit" ? editSurface(state) : viewerSurface(state)] })),
20
+ });
21
+ return (_jsx(FullscreenTarget, { fullscreenId: state.extendId, group: state.extendGroup, children: surface }));
22
+ }
23
+ function labels(input = {}) {
24
+ return {
25
+ displayFullscreen: input.displayFullscreen || "Display fullscreen",
26
+ editor: input.editor || "Editor",
27
+ editorSessionOpening: input.editorSessionOpening || "Editor session is opening.",
28
+ exitFullscreen: input.exitFullscreen || "Exit fullscreen",
29
+ monacoEditorLoadFailed: input.monacoEditorLoadFailed || "Editor failed to load.",
30
+ openFullIde: input.openFullIde || "Open full IDE",
31
+ preparingFileBrowser: input.preparingFileBrowser || "Preparing file browser.",
32
+ requestedPath: input.requestedPath || ((path) => `Requested path: ${path}`),
33
+ viewerLoadingTitle: input.viewerLoadingTitle || "Loading viewer",
34
+ waitingForEditorAvailability: input.waitingForEditorAvailability || "Waiting for editor availability.",
35
+ };
36
+ }
37
+ function readSurfaceState(props) {
38
+ const text = labels(props.labels);
39
+ const extendId = String(props.extendId || EDITOR_EXTEND_ID).trim() ||
40
+ EDITOR_EXTEND_ID;
41
+ const extendGroup = String(props.extendGroup || EDITOR_FULLSCREEN_GROUP).trim() ||
42
+ EDITOR_FULLSCREEN_GROUP;
43
+ return {
44
+ actions: props.actions,
45
+ extendGroup,
46
+ extendId,
47
+ fullIdeUrl: String(props.fullIdeUrl || "").trim(),
48
+ ideAvailable: props.ideAvailable !== false,
49
+ ideLaunch: objectValue(props.ideLaunch),
50
+ ideMode: readIdeMode(props.ideMode),
51
+ ideUnavailableMessage: String(props.ideUnavailableMessage || "").trim(),
52
+ initialStatusText: String(props.initialStatusText || "").trim(),
53
+ labels: text,
54
+ loading: loadingState(props.ideLaunch, text),
55
+ requestedPath: String(props.requestedPath || "").trim(),
56
+ title: String(props.title || text.editor).trim() || text.editor,
57
+ viewer: viewerState(props, text),
58
+ };
59
+ }
60
+ function loadingState(ideLaunch, text) {
61
+ const activity = objectValue(ideLaunch?.activity);
62
+ const percent = Math.max(0, Math.min(100, Number(activity?.progress_percent) || 0));
63
+ return {
64
+ detail: String(activity?.progress_detail ||
65
+ activity?.status_message ||
66
+ text.editorSessionOpening).trim(),
67
+ label: percent > 0 ? `${percent}%` : "0%",
68
+ meta: String(activity?.progress_meta || "").trim(),
69
+ percent,
70
+ };
71
+ }
72
+ function viewerState(props, text) {
73
+ return {
74
+ loadingText: String(props.viewerLoadingText || text.preparingFileBrowser).trim(),
75
+ loadingTitle: String(props.viewerLoadingTitle || text.viewerLoadingTitle).trim(),
76
+ rootDataAttr: String(props.viewerRootDataAttr || "data-editor-viewer-root").trim(),
77
+ rootId: String(props.viewerRootId || "").trim(),
78
+ state: objectValue(props.viewerState),
79
+ stateDataAttr: String(props.viewerStateDataAttr || "data-editor-viewer-state").trim(),
80
+ stateId: String(props.viewerStateId || "").trim(),
81
+ };
82
+ }
83
+ function editSurface(state) {
84
+ return (_jsxs("div", { className: "border radius-md overflow-hidden", children: [_jsx("script", { "data-editor-launch": "", dangerouslySetInnerHTML: jsonHtml(state.ideLaunch), type: "application/json" }), editorLoader(state), _jsx("iframe", { "aria-label": state.labels.editor, className: "display-block overflow-hidden width-max height-xl4 bg-transparent border-0", "data-editor-frame": "", hidden: true, name: "editor_frame", src: "about:blank" })] }));
85
+ }
86
+ function editorLoader(state) {
87
+ return (_jsx("div", { className: "inline-row height-xl4", "data-editor-loader": "", children: _jsx("div", { className: "center", children: _jsx("div", { className: "width-fit no-stretch", children: editorLoaderContent(state) }) }) }));
88
+ }
89
+ function editorLoaderContent(state) {
90
+ return (_jsxs("div", { className: "column gap-sm center hor-center", children: [_jsx("strong", { "data-editor-status": "", children: state.initialStatusText || state.labels.waitingForEditorAvailability }), _jsx("span", { className: "text-muted text-small text-break", "data-editor-detail": "", children: state.loading.detail }), _jsx("div", { className: "width-md max-width-full text-left", children: progress_bar({
91
+ label: state.loading.label,
92
+ meta: state.loading.meta,
93
+ percent: state.loading.percent,
94
+ wrapperAttributes: "data-editor-progress-bar",
95
+ }) }), unavailableMessage(state), requestedPath(state)] }));
96
+ }
97
+ function unavailableMessage(state) {
98
+ if (state.ideAvailable || !state.ideUnavailableMessage)
99
+ return null;
100
+ return (_jsx("span", { className: "text-muted text-small text-break", "data-editor-unavailable": "", children: state.ideUnavailableMessage }));
101
+ }
102
+ function requestedPath(state) {
103
+ if (!state.requestedPath)
104
+ return null;
105
+ return (_jsx("span", { className: "text-muted text-small text-break", children: state.labels.requestedPath(state.requestedPath) }));
106
+ }
107
+ function viewerSurface(state) {
108
+ return (_jsxs(_Fragment, { children: [_jsx("script", { id: state.viewer.stateId || undefined, type: "application/json", [state.viewer.stateDataAttr]: "", dangerouslySetInnerHTML: jsonHtml(state.viewer.state) }), _jsx("div", { id: state.viewer.rootId || undefined, className: "column gap-sm grow", [state.viewer.rootDataAttr]: "", style: { flex: "1 1 auto", minHeight: 0 }, children: viewerLoadingCard(state) })] }));
109
+ }
110
+ function viewerLoadingCard(state) {
111
+ return card({
112
+ className: "column gap-sm center ver-center",
113
+ style: { minHeight: 560 },
114
+ children: (_jsxs(_Fragment, { children: [_jsx("strong", { children: state.viewer.loadingTitle }), _jsx("span", { className: "text-muted text-small text-break", children: state.viewer.loadingText })] })),
115
+ });
116
+ }
117
+ function editorHeader(state) {
118
+ return card({
119
+ className: "inline-row width-full ver-center gap-sm padding-sm",
120
+ children: (_jsxs(_Fragment, { children: [_jsx("h3", { children: state.title }), _jsx("div", { className: "right", children: _jsxs("div", { className: "inline-row gap-xs", children: [state.actions, state.ideMode === "edit" ? editorExternalLink(state) : null, state.ideMode !== "edit" ? fullscreenActions(state) : null] }) })] })),
121
+ });
122
+ }
123
+ function fullscreenActions(state) {
124
+ return (_jsxs(_Fragment, { children: [_jsx(FullscreenOpenButton, { "aria-label": state.labels.displayFullscreen, className: "btn solid icon md has-tooltip", fullscreenId: state.extendId, group: state.extendGroup, title: state.labels.displayFullscreen, children: _jsx(Icon, { spec: "remixicon fullscreen-line" }) }), _jsx(FullscreenCloseButton, { "aria-label": state.labels.exitFullscreen, className: "btn solid icon md has-tooltip", "data-tbf-fullscreen-hidden": "true", fullscreenId: state.extendId, group: state.extendGroup, title: state.labels.exitFullscreen, children: _jsx(Icon, { spec: "remixicon fullscreen-exit-line" }) })] }));
125
+ }
126
+ function editorExternalLink(state) {
127
+ return (_jsxs("a", { className: "btn sm", "data-editor-external-link": "", hidden: true, href: state.fullIdeUrl || undefined, children: [_jsx(Icon, { spec: "remixicon external-link-line" }), " ", state.labels.openFullIde] }));
128
+ }
129
+ function normalizeEditorMode(mode) {
130
+ const normalized = String(mode || "").trim().toLowerCase();
131
+ return normalized === "view" || normalized === "viewer" ? "view" : "edit";
132
+ }
133
+ function readIdeMode(value) {
134
+ return String(value || "").trim().toLowerCase() === "view" ? "view" : "edit";
135
+ }
136
+ function objectValue(value) {
137
+ return value && typeof value === "object" ? value : {};
138
+ }
139
+ function jsonHtml(value) {
140
+ return { __html: JSON.stringify(value).replace(/</g, "\\u003c") };
141
+ }
142
+ export { editor_body, editor_surface };
143
+ //# sourceMappingURL=surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../../src/editor/components/surface.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AACjD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD,SAAS,WAAW,CAAC,KAAsB;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;IACxC,OAAO,cAAc,CAAC;QACpB,GAAG,YAAY;QACf,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC;QACnB,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,CACR,8BACG,YAAY,CAAC,KAAK,CAAC,EACnB,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IACpE,CACJ;KACF,CAAC,CAAC;IACH,OAAO,CACL,KAAC,gBAAgB,IAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,YACrE,OAAO,GACS,CACpB,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,QAAsB,EAAE;IACtC,OAAO;QACL,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,oBAAoB;QAClE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;QAChC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,4BAA4B;QAChF,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,iBAAiB;QACzD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,IAAI,wBAAwB;QAChF,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,eAAe;QACjD,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,yBAAyB;QAC7E,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC3E,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,gBAAgB;QAChE,4BAA4B,EAAE,KAAK,CAAC,4BAA4B,IAAI,kCAAkC;KACvG,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,IAAI,EAAE;QAChE,gBAAgB,CAAC;IACnB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,uBAAuB,CAAC,CAAC,IAAI,EAAE;QAC7E,uBAAuB,CAAC;IAC1B,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW;QACX,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACjD,YAAY,EAAE,KAAK,CAAC,YAAY,KAAK,KAAK;QAC1C,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACvE,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC/D,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC;QAC5C,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACvD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM;QAC/D,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,SAAc,EAAE,IAA4B;IAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO;QACL,MAAM,EAAE,MAAM,CACZ,QAAQ,EAAE,eAAe;YACvB,QAAQ,EAAE,cAAc;YACxB,IAAI,CAAC,oBAAoB,CAC5B,CAAC,IAAI,EAAE;QACR,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI;QACzC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAClD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB,EAAE,IAA4B;IAC1E,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE;QAChF,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE;QAChF,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,yBAAyB,CAAC,CAAC,IAAI,EAAE;QAClF,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC/C,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;QACrC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,0BAA0B,CAAC,CAAC,IAAI,EAAE;QACrF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAA0C;IAC7D,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAC/C,uCACqB,EAAE,EACrB,uBAAuB,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAClD,IAAI,EAAC,kBAAkB,GACvB,EACD,YAAY,CAAC,KAAK,CAAC,EACpB,+BACc,KAAK,CAAC,MAAM,CAAC,MAAM,EAC/B,SAAS,EAAC,4EAA4E,uBACpE,EAAE,EACpB,MAAM,QACN,IAAI,EAAC,cAAc,EACnB,GAAG,EAAC,aAAa,GACjB,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA0C;IAC9D,OAAO,CACL,cAAK,SAAS,EAAC,uBAAuB,wBAAoB,EAAE,YAC1D,cAAK,SAAS,EAAC,QAAQ,YACrB,cAAK,SAAS,EAAC,sBAAsB,YAAE,mBAAmB,CAAC,KAAK,CAAC,GAAO,GACpE,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA0C;IACrE,OAAO,CACL,eAAK,SAAS,EAAC,iCAAiC,aAC9C,uCAA2B,EAAE,YAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,4BAA4B,GAAU,EAC7G,eAAM,SAAS,EAAC,kCAAkC,wBAAoB,EAAE,YAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAQ,EACtG,cAAK,SAAS,EAAC,mCAAmC,YAC/C,YAAY,CAAC;oBACZ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;oBAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;oBACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;oBAC9B,iBAAiB,EAAE,0BAA0B;iBAC9C,CAAC,GACE,EACL,kBAAkB,CAAC,KAAK,CAAC,EACzB,aAAa,CAAC,KAAK,CAAC,IACjB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA0C;IACpE,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO,CACL,eAAM,SAAS,EAAC,kCAAkC,6BAAyB,EAAE,YAC1E,KAAK,CAAC,qBAAqB,GACvB,CACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA0C;IAC/D,IAAI,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,CACL,eAAM,SAAS,EAAC,kCAAkC,YAC/C,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,GAC3C,CACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA0C;IAC/D,OAAO,CACL,8BACE,iBACE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,EACrC,IAAI,EAAC,kBAAkB,EACjB,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EACtC,uBAAuB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACrD,EACF,cACE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EACpC,SAAS,EAAC,oBAAoB,EACxB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,EACrC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,YAExC,iBAAiB,CAAC,KAAK,CAAC,GACrB,IACL,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0C;IACnE,OAAO,IAAI,CAAC;QACV,SAAS,EAAE,iCAAiC;QAC5C,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;QACzB,QAAQ,EAAE,CACR,8BACE,2BAAS,KAAK,CAAC,MAAM,CAAC,YAAY,GAAU,EAC5C,eAAM,SAAS,EAAC,kCAAkC,YAAE,KAAK,CAAC,MAAM,CAAC,WAAW,GAAQ,IACnF,CACJ;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAA0C;IAC9D,OAAO,IAAI,CAAC;QACV,SAAS,EAAE,oDAAoD;QAC/D,QAAQ,EAAE,CACR,8BACE,uBAAK,KAAK,CAAC,KAAK,GAAM,EACtB,cAAK,SAAS,EAAC,OAAO,YACpB,eAAK,SAAS,EAAC,mBAAmB,aAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3D,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IACvD,GACF,IACL,CACJ;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0C;IACnE,OAAO,CACL,8BACE,KAAC,oBAAoB,kBACP,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAC1C,SAAS,EAAC,+BAA+B,EACzC,YAAY,EAAE,KAAK,CAAC,QAAQ,EAC5B,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,YAErC,KAAC,IAAI,IAAC,IAAI,EAAC,2BAA2B,GAAG,GACpB,EACvB,KAAC,qBAAqB,kBACR,KAAK,CAAC,MAAM,CAAC,cAAc,EACvC,SAAS,EAAC,+BAA+B,gCACd,MAAM,EACjC,YAAY,EAAE,KAAK,CAAC,QAAQ,EAC5B,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,YAElC,KAAC,IAAI,IAAC,IAAI,EAAC,gCAAgC,GAAG,GACxB,IACvB,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA0C;IACpE,OAAO,CACL,aACE,SAAS,EAAC,QAAQ,+BACQ,EAAE,EAC5B,MAAM,QACN,IAAI,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS,aAEnC,KAAC,IAAI,IAAC,IAAI,EAAC,8BAA8B,GAAG,OAAE,KAAK,CAAC,MAAM,CAAC,WAAW,IACpE,CACL,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/E,CAAC;AAED,SAAS,WAAW,CAAC,KAAU;IAC7B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { CSSProperties, ReactNode } from "react";
2
+ type EditorLabels = {
3
+ displayFullscreen?: string;
4
+ editor?: string;
5
+ editorSessionOpening?: string;
6
+ exitFullscreen?: string;
7
+ monacoEditorLoadFailed?: string;
8
+ openFullIde?: string;
9
+ preparingFileBrowser?: string;
10
+ requestedPath?: (path: string) => string;
11
+ viewerLoadingTitle?: string;
12
+ waitingForEditorAvailability?: string;
13
+ };
14
+ type EditorContentProps = {
15
+ body?: ReactNode;
16
+ className?: string;
17
+ defaultValue?: string;
18
+ description?: ReactNode;
19
+ disabled?: boolean;
20
+ language?: string;
21
+ minHeight?: number;
22
+ name?: string;
23
+ path?: string;
24
+ placeholder?: string;
25
+ readonly?: boolean;
26
+ surfaceClassName?: string;
27
+ surfaceStyle?: CSSProperties;
28
+ title: ReactNode;
29
+ value?: string;
30
+ };
31
+ type EditorSidebarProps = {
32
+ children?: ReactNode;
33
+ className?: string;
34
+ description?: ReactNode;
35
+ style?: CSSProperties;
36
+ title: ReactNode;
37
+ };
38
+ type EditorSurfaceProps = {
39
+ actions?: ReactNode;
40
+ extendGroup?: string;
41
+ extendId?: string;
42
+ fullIdeUrl?: string;
43
+ ideAvailable?: boolean;
44
+ ideLaunch?: any;
45
+ ideMode?: string;
46
+ ideUnavailableMessage?: string;
47
+ initialStatusText?: string;
48
+ labels?: EditorLabels;
49
+ requestedPath?: string;
50
+ title?: string;
51
+ viewerLoadingText?: string;
52
+ viewerLoadingTitle?: string;
53
+ viewerRootDataAttr?: string;
54
+ viewerRootId?: string;
55
+ viewerState?: any;
56
+ viewerStateDataAttr?: string;
57
+ viewerStateId?: string;
58
+ };
59
+ type EditorBodyProps = Omit<EditorSurfaceProps, "ideMode"> & {
60
+ mode?: "edit" | "editor" | "view" | "viewer";
61
+ };
62
+ export type { EditorBodyProps, EditorContentProps, EditorLabels, EditorSidebarProps, EditorSurfaceProps, };
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,KAAK,YAAY,GAAG;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC9C,CAAC;AAEF,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/editor/components/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { BindRoot } from "../../dom/index.d.ts";
2
+ type EditorContentState = {
3
+ editor: any;
4
+ input: HTMLTextAreaElement;
5
+ };
6
+ type EditorContentConfig = {
7
+ language?: string;
8
+ placeholder?: string;
9
+ readOnly?: boolean;
10
+ };
11
+ declare function bindEditorContent(root: HTMLElement): Promise<void>;
12
+ declare function syncEditorContent(root: HTMLElement): void;
13
+ declare function layoutEditorContent(root: HTMLElement): void;
14
+ declare function scheduleEditorContentLayout(target?: HTMLElement | Document): void;
15
+ declare function bindEditorContentFields(root?: BindRoot): void;
16
+ export { bindEditorContent, bindEditorContentFields, layoutEditorContent, scheduleEditorContentLayout, syncEditorContent, };
17
+ export type { EditorContentConfig, EditorContentState };
18
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/editor/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAS9C,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,mBAAmB,CAAC;CAC5B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAsDF,iBAAe,iBAAiB,CAAC,IAAI,EAAE,WAAW,iBAiBjD;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,WAAW,QAK3C;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,WAAW,QAK7C;AAED,iBAAS,2BAA2B,CAAC,MAAM,GAAE,WAAW,GAAG,QAAmB,QAU7E;AAqBD,iBAAS,uBAAuB,CAAC,IAAI,GAAE,QAAmB,QAQzD;AAED,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,GAClB,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { parseJsonText, queryAll } from "../../dom/index.js";
2
+ import { activateLanguage } from "../../code/language.js";
3
+ import { defineMonacoThemes, ensureMonaco, getPreferredMonacoThemeName, } from "../../code/monaco.js";
4
+ const roots = new Set();
5
+ const states = new WeakMap();
6
+ let sharedListenersBound = false;
7
+ function editorContentConfig(root, input) {
8
+ const script = root.querySelector('script[type="application/json"][data-tbf-editor-content-config]');
9
+ const config = parseJsonText(script?.textContent || "", {});
10
+ return {
11
+ language: String(config.language || "json"),
12
+ placeholder: String(config.placeholder || ""),
13
+ readOnly: config.readOnly === true || input.disabled,
14
+ };
15
+ }
16
+ function editorContentChildren(root) {
17
+ const children = Array.from(root.children);
18
+ const input = children.find((child) => {
19
+ return child instanceof HTMLTextAreaElement;
20
+ });
21
+ const host = children.find((child) => {
22
+ return child instanceof HTMLElement &&
23
+ !(child instanceof HTMLScriptElement) &&
24
+ !(child instanceof HTMLTextAreaElement);
25
+ });
26
+ return { host, input };
27
+ }
28
+ function createEditor(monacoRef, host, input, config) {
29
+ defineMonacoThemes(monacoRef);
30
+ monacoRef.editor.setTheme(getPreferredMonacoThemeName());
31
+ return monacoRef.editor.create(host, {
32
+ automaticLayout: true,
33
+ fontSize: 13,
34
+ language: config.language,
35
+ lineNumbers: "on",
36
+ minimap: { enabled: false },
37
+ overviewRulerBorder: false,
38
+ placeholder: config.placeholder,
39
+ readOnly: config.readOnly,
40
+ renderLineHighlight: "all",
41
+ scrollBeyondLastLine: false,
42
+ tabSize: 2,
43
+ value: input.value || "",
44
+ wordWrap: "on",
45
+ });
46
+ }
47
+ async function bindEditorContent(root) {
48
+ if (states.has(root))
49
+ return;
50
+ const { host, input } = editorContentChildren(root);
51
+ if (!(input instanceof HTMLTextAreaElement) || !(host instanceof HTMLElement)) {
52
+ return;
53
+ }
54
+ const config = editorContentConfig(root, input);
55
+ const monacoRef = await ensureMonaco();
56
+ await activateLanguage(monacoRef, config.language);
57
+ const editor = createEditor(monacoRef, host, input, config);
58
+ editor.onDidChangeModelContent(() => {
59
+ input.value = String(editor.getValue() || "");
60
+ });
61
+ bindEditorFormSubmit(root, input);
62
+ states.set(root, { editor, input });
63
+ roots.add(root);
64
+ bindEditorSharedListeners();
65
+ }
66
+ function syncEditorContent(root) {
67
+ const state = states.get(root);
68
+ if (state?.editor && state.input) {
69
+ state.input.value = String(state.editor.getValue() || "");
70
+ }
71
+ }
72
+ function layoutEditorContent(root) {
73
+ const state = states.get(root);
74
+ if (state?.editor && typeof state.editor.layout === "function") {
75
+ state.editor.layout();
76
+ }
77
+ }
78
+ function scheduleEditorContentLayout(target = document) {
79
+ window.requestAnimationFrame(() => {
80
+ window.requestAnimationFrame(() => {
81
+ roots.forEach((root) => {
82
+ if (target instanceof Document || target.contains(root)) {
83
+ layoutEditorContent(root);
84
+ }
85
+ });
86
+ });
87
+ });
88
+ }
89
+ function bindEditorFormSubmit(root, input) {
90
+ const form = input.form || root.closest("form");
91
+ if (!(form instanceof HTMLFormElement))
92
+ return null;
93
+ form.addEventListener("submit", () => {
94
+ syncEditorContent(root);
95
+ }, true);
96
+ return form;
97
+ }
98
+ function bindEditorSharedListeners() {
99
+ if (sharedListenersBound)
100
+ return;
101
+ sharedListenersBound = true;
102
+ document.addEventListener("tabs:change", (event) => {
103
+ scheduleEditorContentLayout(event.target instanceof HTMLElement ? event.target : document);
104
+ });
105
+ }
106
+ function bindEditorContentFields(root = document) {
107
+ queryAll(root, "editor-content-field,[data-tbf-editor-content-field]")
108
+ .forEach((field) => {
109
+ void bindEditorContent(field).catch(() => {
110
+ field.textContent = field.getAttribute("data-tbf-editor-error") ||
111
+ "Editor failed to load.";
112
+ });
113
+ });
114
+ }
115
+ export { bindEditorContent, bindEditorContentFields, layoutEditorContent, scheduleEditorContentLayout, syncEditorContent, };
116
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/editor/content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./components/index.js";
2
+ export * from "./content.js";
3
+ import type { BindRoot } from "../../dom/index.d.ts";
4
+ declare function bindEditors(root?: BindRoot): void;
5
+ export { bindEditors };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAE7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,QAE7C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./components/index.js";
2
+ export * from "./content.js";
3
+ import { bindEditorContentFields } from "./content.js";
4
+ function bindEditors(root = document) {
5
+ bindEditorContentFields(root);
6
+ }
7
+ export { bindEditors };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,SAAS,WAAW,CAAC,OAAiB,QAAQ;IAC5C,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -30,7 +30,9 @@ declare function bindFrontendRuntime(root?: BindRoot, options?: FrontendRuntimeO
30
30
  export { bindFrontendRuntime, rehydrate };
31
31
  export type { FrontendLoggingOptions, FrontendRuntimeAdapters, FrontendRuntimeBinding, FrontendRuntimeOptions, };
32
32
  export * from "./actions/index.js";
33
+ export * from "./code/index.js";
33
34
  export * from "./dom/index.js";
35
+ export * from "./editor/index.js";
34
36
  export * from "./flash/index.js";
35
37
  export * from "./fullscreen/index.js";
36
38
  export * from "./graph/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  import { bindActionButtons, bindActionForms, bindActionTriggers } from "./actions/index.js";
2
+ import { bindCodeBlocks } from "./code/index.js";
3
+ import { bindEditors } from "./editor/index.js";
2
4
  import { bindAdvancedInputControllers } from "./inputs/advanced/index.js";
3
5
  import { bindInputControllers } from "./inputs/index.js";
4
6
  import { bindIcons } from "./icons/index.js";
@@ -41,6 +43,8 @@ function bindFrontendRuntimeOnce(root, options) {
41
43
  bindProgress();
42
44
  bindIcons(scope);
43
45
  bindGraphs(scope);
46
+ bindCodeBlocks(scope);
47
+ bindEditors(scope);
44
48
  bindInputControllers(scope, {
45
49
  flash: adapters.flash,
46
50
  logging: {
@@ -106,7 +110,9 @@ function bindFrontendRuntime(root = document, options = {}) {
106
110
  }
107
111
  export { bindFrontendRuntime, rehydrate };
108
112
  export * from "./actions/index.js";
113
+ export * from "./code/index.js";
109
114
  export * from "./dom/index.js";
115
+ export * from "./editor/index.js";
110
116
  export * from "./flash/index.js";
111
117
  export * from "./fullscreen/index.js";
112
118
  export * from "./graph/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { HTMLAttributes, ReactNode } from "react";
2
+ type TableProps = HTMLAttributes<HTMLTableElement> & {
3
+ children?: ReactNode;
4
+ };
5
+ type SummaryStat = {
6
+ label: string;
7
+ note: string;
8
+ value: unknown;
9
+ valueProps?: Record<string, unknown>;
10
+ };
11
+ type SummaryCardProps = {
12
+ description: ReactNode;
13
+ stats: SummaryStat[];
14
+ title: ReactNode;
15
+ };
16
+ type CanvasPanelCompatProps = {
17
+ canvasBackground?: boolean;
18
+ children?: ReactNode;
19
+ content?: ReactNode;
20
+ contentClassName?: string;
21
+ extendGroup?: string;
22
+ extendId?: string;
23
+ id?: string;
24
+ panelClassName?: string;
25
+ rootAttrs?: Record<string, unknown>;
26
+ scroll?: boolean;
27
+ title?: ReactNode;
28
+ toolbar?: boolean;
29
+ toolbarContent?: ReactNode;
30
+ };
31
+ declare function table(props: TableProps): import("react").JSX.Element;
32
+ declare function summary_stat_card(stat: SummaryStat): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element;
33
+ declare function summary_card(props: SummaryCardProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element;
34
+ declare function title_description_card(props: {
35
+ description: ReactNode;
36
+ title: ReactNode;
37
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element;
38
+ declare function canvas_panel(props: CanvasPanelCompatProps): import("react").JSX.Element;
39
+ export { canvas_panel, summary_card, summary_stat_card, table, title_description_card, };
40
+ export type { CanvasPanelCompatProps, SummaryCardProps, SummaryStat, TableProps, };
41
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/display.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlD,KAAK,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,SAAS,CAAC;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,iBAAS,KAAK,CAAC,KAAK,EAAE,UAAU,+BAO/B;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,WAAW,yRAa3C;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,gBAAgB,yRAa5C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,yRAKlF;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,sBAAsB,+BAqBlD;AAqCD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,sBAAsB,GACvB,CAAC;AACF,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACX,UAAU,GACX,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CanvasPanel as FrontendCanvasPanel } from "../../../surface/components/index.js";
3
+ import { FullscreenTarget } from "../../../fullscreen/components/index.js";
4
+ import { appendClassName, joinClassNames } from "./shared.js";
5
+ import { card } from "./controls.js";
6
+ function table(props) {
7
+ const { children, className, ...rest } = props;
8
+ return (_jsx("table", { ...rest, className: joinClassNames(className), "data-tbf-table": "", children: children }));
9
+ }
10
+ function summary_stat_card(stat) {
11
+ return card({
12
+ className: "column gap-xs",
13
+ children: (_jsxs(_Fragment, { children: [_jsx("span", { className: "label", children: stat.label }), _jsx("strong", { ...(stat.valueProps || {}), children: String(stat.value == null ? "" : stat.value) }), _jsx("span", { className: "text-muted text-small", children: stat.note })] })),
14
+ });
15
+ }
16
+ function summary_card(props) {
17
+ const stats = Array.isArray(props.stats) ? props.stats : [];
18
+ return card({
19
+ className: "column gap-sm",
20
+ children: (_jsxs(_Fragment, { children: [titleDescriptionNode(props.title, props.description), _jsx("div", { className: "grid auto-sm gap-sm", children: stats.map((stat) => summary_stat_card(stat)) })] })),
21
+ });
22
+ }
23
+ function title_description_card(props) {
24
+ return card({
25
+ className: "column gap-sm",
26
+ children: titleDescriptionNode(props.title, props.description),
27
+ });
28
+ }
29
+ function canvas_panel(props) {
30
+ const content = props.content == null ? props.children : props.content;
31
+ const rootAttrs = objectAttrs(props.rootAttrs);
32
+ const CanvasPanel = FrontendCanvasPanel;
33
+ const panel = (_jsx(CanvasPanel, { ...rootAttrs, ...(props.id ? { id: String(props.id) } : {}), actions: props.toolbar === false ? undefined : props.toolbarContent, className: panelClassName(props), title: props.toolbar === false ? undefined : props.title, children: _jsx("div", { className: contentClassName(props), children: content }) }));
34
+ if (!props.extendId || !props.extendGroup)
35
+ return panel;
36
+ return (_jsx(FullscreenTarget, { fullscreenId: props.extendId, group: props.extendGroup, children: panel }));
37
+ }
38
+ function titleDescriptionNode(title, description) {
39
+ return (_jsxs("div", { className: "title-desc column gap-sm", children: [_jsx("h3", { children: title }), _jsx("p", { className: "text-muted", children: description })] }));
40
+ }
41
+ function panelClassName(props) {
42
+ return appendClassName(appendClassName("canvas-panel column overflow-hidden padding-xs", String(props.panelClassName || "height-max")), props.canvasBackground === false ? "" : "bg-canvas");
43
+ }
44
+ function contentClassName(props) {
45
+ return appendClassName(props.contentClassName, appendClassName("canvas-panel-content", props.scroll === true ? "scroll scroll-min" : ""));
46
+ }
47
+ function objectAttrs(value) {
48
+ return value && typeof value === "object"
49
+ ? value
50
+ : {};
51
+ }
52
+ export { canvas_panel, summary_card, summary_stat_card, table, title_description_card, };
53
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../src/primitives/components/display.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from "./card/body.js";
2
2
  export * from "./card/parts.js";
3
3
  export * from "./controls.js";
4
+ export * from "./display.js";
4
5
  export * from "./key_value.js";
5
6
  export * from "./shared.js";
6
7
  export * from "./time_counter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,YAAY,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,YAAY,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from "./card/body.js";
2
2
  export * from "./card/parts.js";
3
3
  export * from "./controls.js";
4
+ export * from "./display.js";
4
5
  export * from "./key_value.js";
5
6
  export * from "./shared.js";
6
7
  export * from "./time_counter.js";