@bendyline/docblocks-react 1.1.2 → 2.1.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 (225) hide show
  1. package/README.md +37 -5
  2. package/dist/ExportDialog-7LDIXJZ3.js +10 -0
  3. package/dist/ExportDialog-7LDIXJZ3.js.map +1 -0
  4. package/dist/ExportToolbarControls-GHAOJMH6.js +508 -0
  5. package/dist/ExportToolbarControls-GHAOJMH6.js.map +1 -0
  6. package/dist/GitToolbarControl-GNMRVKWQ.js +136 -0
  7. package/dist/GitToolbarControl-GNMRVKWQ.js.map +1 -0
  8. package/dist/GitUI-VHOBQY43.js +1133 -0
  9. package/dist/GitUI-VHOBQY43.js.map +1 -0
  10. package/dist/LazyEditorShell-EF2BWRXU.js +6 -0
  11. package/dist/LazyEditorShell-EF2BWRXU.js.map +1 -0
  12. package/dist/ShareDialog-63ENBEDZ.js +213 -0
  13. package/dist/ShareDialog-63ENBEDZ.js.map +1 -0
  14. package/dist/chunk-4XXSWN3T.js +13 -0
  15. package/dist/chunk-4XXSWN3T.js.map +1 -0
  16. package/dist/chunk-57ZJJOC5.js +89 -0
  17. package/dist/chunk-57ZJJOC5.js.map +1 -0
  18. package/dist/chunk-5A4KEWKT.js +97 -0
  19. package/dist/chunk-5A4KEWKT.js.map +1 -0
  20. package/dist/chunk-DD4VFJQI.js +51 -0
  21. package/dist/chunk-DD4VFJQI.js.map +1 -0
  22. package/dist/chunk-FEWQUQML.js +256 -0
  23. package/dist/chunk-FEWQUQML.js.map +1 -0
  24. package/dist/chunk-FMGTHSTX.js +110 -0
  25. package/dist/chunk-FMGTHSTX.js.map +1 -0
  26. package/dist/chunk-UNYZQXWR.js +324 -0
  27. package/dist/chunk-UNYZQXWR.js.map +1 -0
  28. package/dist/chunk-VHDP4IPL.js +70 -0
  29. package/dist/chunk-VHDP4IPL.js.map +1 -0
  30. package/dist/chunk-ZI56BNB7.js +270 -0
  31. package/dist/chunk-ZI56BNB7.js.map +1 -0
  32. package/dist/editor.d.ts +11 -0
  33. package/dist/editor.js +9 -0
  34. package/dist/editor.js.map +1 -0
  35. package/dist/export/index.d.ts +93 -0
  36. package/dist/export/index.js +27 -0
  37. package/dist/export/index.js.map +1 -0
  38. package/dist/index.d.ts +346 -18
  39. package/dist/index.js +6169 -18
  40. package/dist/index.js.map +1 -1
  41. package/dist/run-export-ICTZITXC.js +10 -0
  42. package/dist/run-export-ICTZITXC.js.map +1 -0
  43. package/dist/settings/index.d.ts +36 -0
  44. package/dist/settings/index.js +14 -0
  45. package/dist/settings/index.js.map +1 -0
  46. package/package.json +33 -13
  47. package/src/styles/docblocks.css +2738 -132
  48. package/dist/AppMenu/AppMenu.d.ts +0 -26
  49. package/dist/AppMenu/AppMenu.d.ts.map +0 -1
  50. package/dist/AppMenu/AppMenu.js +0 -28
  51. package/dist/AppMenu/AppMenu.js.map +0 -1
  52. package/dist/AppMenu/index.d.ts +0 -3
  53. package/dist/AppMenu/index.d.ts.map +0 -1
  54. package/dist/AppMenu/index.js +0 -2
  55. package/dist/AppMenu/index.js.map +0 -1
  56. package/dist/DocBlocksShell/DocBlocksShell.d.ts +0 -36
  57. package/dist/DocBlocksShell/DocBlocksShell.d.ts.map +0 -1
  58. package/dist/DocBlocksShell/DocBlocksShell.js +0 -1351
  59. package/dist/DocBlocksShell/DocBlocksShell.js.map +0 -1
  60. package/dist/DocBlocksShell/index.d.ts +0 -3
  61. package/dist/DocBlocksShell/index.d.ts.map +0 -1
  62. package/dist/DocBlocksShell/index.js +0 -2
  63. package/dist/DocBlocksShell/index.js.map +0 -1
  64. package/dist/Export/ExportDialog.d.ts +0 -16
  65. package/dist/Export/ExportDialog.d.ts.map +0 -1
  66. package/dist/Export/ExportDialog.js +0 -158
  67. package/dist/Export/ExportDialog.js.map +0 -1
  68. package/dist/Export/ExportToolbarControls.d.ts +0 -17
  69. package/dist/Export/ExportToolbarControls.d.ts.map +0 -1
  70. package/dist/Export/ExportToolbarControls.js +0 -200
  71. package/dist/Export/ExportToolbarControls.js.map +0 -1
  72. package/dist/Export/export-options.d.ts +0 -53
  73. package/dist/Export/export-options.d.ts.map +0 -1
  74. package/dist/Export/export-options.js +0 -49
  75. package/dist/Export/export-options.js.map +0 -1
  76. package/dist/Export/index.d.ts +0 -6
  77. package/dist/Export/index.d.ts.map +0 -1
  78. package/dist/Export/index.js +0 -3
  79. package/dist/Export/index.js.map +0 -1
  80. package/dist/Export/run-export.d.ts +0 -8
  81. package/dist/Export/run-export.d.ts.map +0 -1
  82. package/dist/Export/run-export.js +0 -296
  83. package/dist/Export/run-export.js.map +0 -1
  84. package/dist/Export/transform-summaries.d.ts +0 -7
  85. package/dist/Export/transform-summaries.d.ts.map +0 -1
  86. package/dist/Export/transform-summaries.js +0 -6
  87. package/dist/Export/transform-summaries.js.map +0 -1
  88. package/dist/FileExplorer/FileExplorer.d.ts +0 -21
  89. package/dist/FileExplorer/FileExplorer.d.ts.map +0 -1
  90. package/dist/FileExplorer/FileExplorer.js +0 -140
  91. package/dist/FileExplorer/FileExplorer.js.map +0 -1
  92. package/dist/FileExplorer/FileTreeNode.d.ts +0 -18
  93. package/dist/FileExplorer/FileTreeNode.d.ts.map +0 -1
  94. package/dist/FileExplorer/FileTreeNode.js +0 -112
  95. package/dist/FileExplorer/FileTreeNode.js.map +0 -1
  96. package/dist/FileExplorer/index.d.ts +0 -6
  97. package/dist/FileExplorer/index.d.ts.map +0 -1
  98. package/dist/FileExplorer/index.js +0 -4
  99. package/dist/FileExplorer/index.js.map +0 -1
  100. package/dist/FileExplorer/useFileTree.d.ts +0 -35
  101. package/dist/FileExplorer/useFileTree.d.ts.map +0 -1
  102. package/dist/FileExplorer/useFileTree.js +0 -124
  103. package/dist/FileExplorer/useFileTree.js.map +0 -1
  104. package/dist/WorkspacePicker/WorkspacePicker.d.ts +0 -17
  105. package/dist/WorkspacePicker/WorkspacePicker.d.ts.map +0 -1
  106. package/dist/WorkspacePicker/WorkspacePicker.js +0 -63
  107. package/dist/WorkspacePicker/WorkspacePicker.js.map +0 -1
  108. package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts +0 -11
  109. package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts.map +0 -1
  110. package/dist/WorkspacePicker/WorkspaceSettingsButton.js +0 -27
  111. package/dist/WorkspacePicker/WorkspaceSettingsButton.js.map +0 -1
  112. package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts +0 -20
  113. package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts.map +0 -1
  114. package/dist/WorkspacePicker/WorkspaceSettingsDialog.js +0 -36
  115. package/dist/WorkspacePicker/WorkspaceSettingsDialog.js.map +0 -1
  116. package/dist/WorkspacePicker/index.d.ts +0 -3
  117. package/dist/WorkspacePicker/index.d.ts.map +0 -1
  118. package/dist/WorkspacePicker/index.js +0 -2
  119. package/dist/WorkspacePicker/index.js.map +0 -1
  120. package/dist/hooks/index.d.ts +0 -2
  121. package/dist/hooks/index.d.ts.map +0 -1
  122. package/dist/hooks/index.js +0 -2
  123. package/dist/hooks/index.js.map +0 -1
  124. package/dist/hooks/useAutoSave.d.ts +0 -15
  125. package/dist/hooks/useAutoSave.d.ts.map +0 -1
  126. package/dist/hooks/useAutoSave.js +0 -83
  127. package/dist/hooks/useAutoSave.js.map +0 -1
  128. package/dist/icons.d.ts +0 -7
  129. package/dist/icons.d.ts.map +0 -1
  130. package/dist/icons.js +0 -27
  131. package/dist/icons.js.map +0 -1
  132. package/dist/index.d.ts.map +0 -1
  133. package/dist/monaco-slim.d.ts +0 -19
  134. package/dist/monaco-slim.d.ts.map +0 -1
  135. package/dist/monaco-slim.js +0 -19
  136. package/dist/monaco-slim.js.map +0 -1
  137. package/dist/preferences/versioning.d.ts +0 -27
  138. package/dist/preferences/versioning.d.ts.map +0 -1
  139. package/dist/preferences/versioning.js +0 -62
  140. package/dist/preferences/versioning.js.map +0 -1
  141. package/src/AppMenu/AppMenu.tsx +0 -264
  142. package/src/AppMenu/index.ts +0 -2
  143. package/src/DocBlocksShell/DocBlocksShell.tsx +0 -1778
  144. package/src/DocBlocksShell/index.ts +0 -2
  145. package/src/Export/ExportDialog.tsx +0 -383
  146. package/src/Export/ExportToolbarControls.tsx +0 -313
  147. package/src/Export/export-options.ts +0 -99
  148. package/src/Export/index.ts +0 -5
  149. package/src/Export/run-export.ts +0 -349
  150. package/src/Export/transform-summaries.ts +0 -14
  151. package/src/FileExplorer/FileExplorer.tsx +0 -282
  152. package/src/FileExplorer/FileTreeNode.tsx +0 -214
  153. package/src/FileExplorer/index.ts +0 -5
  154. package/src/FileExplorer/useFileTree.ts +0 -178
  155. package/src/WorkspacePicker/WorkspacePicker.tsx +0 -137
  156. package/src/WorkspacePicker/WorkspaceSettingsButton.tsx +0 -88
  157. package/src/WorkspacePicker/WorkspaceSettingsDialog.tsx +0 -121
  158. package/src/WorkspacePicker/index.ts +0 -2
  159. package/src/fonts/fonts.css +0 -362
  160. package/src/fonts/licenses/LICENSE-cormorant-garamond.txt +0 -93
  161. package/src/fonts/licenses/LICENSE-crimson-text.txt +0 -93
  162. package/src/fonts/licenses/LICENSE-dm-sans.txt +0 -93
  163. package/src/fonts/licenses/LICENSE-dm-serif-display.txt +0 -93
  164. package/src/fonts/licenses/LICENSE-hanken-grotesk.txt +0 -94
  165. package/src/fonts/licenses/LICENSE-ibm-plex-sans.txt +0 -93
  166. package/src/fonts/licenses/LICENSE-inter.txt +0 -93
  167. package/src/fonts/licenses/LICENSE-jetbrains-mono.txt +0 -93
  168. package/src/fonts/licenses/LICENSE-lora.txt +0 -93
  169. package/src/fonts/licenses/LICENSE-merriweather.txt +0 -93
  170. package/src/fonts/licenses/LICENSE-oswald.txt +0 -93
  171. package/src/fonts/licenses/LICENSE-playfair-display.txt +0 -93
  172. package/src/fonts/licenses/LICENSE-pt-serif.txt +0 -93
  173. package/src/fonts/licenses/LICENSE-roboto.txt +0 -93
  174. package/src/fonts/licenses/LICENSE-source-serif-4.txt +0 -93
  175. package/src/fonts/woff2/cormorant-garamond-400.woff2 +0 -0
  176. package/src/fonts/woff2/cormorant-garamond-700.woff2 +0 -0
  177. package/src/fonts/woff2/crimson-text-400.woff2 +0 -0
  178. package/src/fonts/woff2/crimson-text-400i.woff2 +0 -0
  179. package/src/fonts/woff2/crimson-text-700.woff2 +0 -0
  180. package/src/fonts/woff2/dm-sans-400.woff2 +0 -0
  181. package/src/fonts/woff2/dm-sans-400i.woff2 +0 -0
  182. package/src/fonts/woff2/dm-sans-500.woff2 +0 -0
  183. package/src/fonts/woff2/dm-sans-700.woff2 +0 -0
  184. package/src/fonts/woff2/dm-serif-display-400.woff2 +0 -0
  185. package/src/fonts/woff2/hanken-grotesk-400.woff2 +0 -0
  186. package/src/fonts/woff2/hanken-grotesk-400i.woff2 +0 -0
  187. package/src/fonts/woff2/hanken-grotesk-500.woff2 +0 -0
  188. package/src/fonts/woff2/hanken-grotesk-600.woff2 +0 -0
  189. package/src/fonts/woff2/hanken-grotesk-700.woff2 +0 -0
  190. package/src/fonts/woff2/ibm-plex-sans-400.woff2 +0 -0
  191. package/src/fonts/woff2/ibm-plex-sans-400i.woff2 +0 -0
  192. package/src/fonts/woff2/ibm-plex-sans-500.woff2 +0 -0
  193. package/src/fonts/woff2/ibm-plex-sans-600.woff2 +0 -0
  194. package/src/fonts/woff2/ibm-plex-sans-700.woff2 +0 -0
  195. package/src/fonts/woff2/inter-400.woff2 +0 -0
  196. package/src/fonts/woff2/inter-400i.woff2 +0 -0
  197. package/src/fonts/woff2/inter-500.woff2 +0 -0
  198. package/src/fonts/woff2/inter-600.woff2 +0 -0
  199. package/src/fonts/woff2/inter-700.woff2 +0 -0
  200. package/src/fonts/woff2/jetbrains-mono-400.woff2 +0 -0
  201. package/src/fonts/woff2/jetbrains-mono-400i.woff2 +0 -0
  202. package/src/fonts/woff2/jetbrains-mono-700.woff2 +0 -0
  203. package/src/fonts/woff2/lora-400.woff2 +0 -0
  204. package/src/fonts/woff2/lora-400i.woff2 +0 -0
  205. package/src/fonts/woff2/lora-700.woff2 +0 -0
  206. package/src/fonts/woff2/merriweather-400.woff2 +0 -0
  207. package/src/fonts/woff2/merriweather-700.woff2 +0 -0
  208. package/src/fonts/woff2/oswald-400.woff2 +0 -0
  209. package/src/fonts/woff2/oswald-700.woff2 +0 -0
  210. package/src/fonts/woff2/playfair-display-400.woff2 +0 -0
  211. package/src/fonts/woff2/playfair-display-700.woff2 +0 -0
  212. package/src/fonts/woff2/pt-serif-400.woff2 +0 -0
  213. package/src/fonts/woff2/pt-serif-700.woff2 +0 -0
  214. package/src/fonts/woff2/roboto-400.woff2 +0 -0
  215. package/src/fonts/woff2/roboto-400i.woff2 +0 -0
  216. package/src/fonts/woff2/roboto-700.woff2 +0 -0
  217. package/src/fonts/woff2/source-serif-4-400.woff2 +0 -0
  218. package/src/fonts/woff2/source-serif-4-400i.woff2 +0 -0
  219. package/src/fonts/woff2/source-serif-4-700.woff2 +0 -0
  220. package/src/hooks/index.ts +0 -1
  221. package/src/hooks/useAutoSave.ts +0 -116
  222. package/src/icons.tsx +0 -70
  223. package/src/index.ts +0 -31
  224. package/src/monaco-slim.ts +0 -20
  225. package/src/preferences/versioning.ts +0 -69
@@ -0,0 +1,136 @@
1
+ import {
2
+ useMenuKeyboard
3
+ } from "./chunk-57ZJJOC5.js";
4
+ import {
5
+ isFileDirty,
6
+ useGitContext
7
+ } from "./chunk-5A4KEWKT.js";
8
+
9
+ // src/Git/GitToolbarControl.tsx
10
+ import { useEffect, useRef, useState } from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ function GitToolbarControl({ selectedFile }) {
13
+ const git = useGitContext();
14
+ const [menuOpen, setMenuOpen] = useState(false);
15
+ const rootRef = useRef(null);
16
+ const { menuRef, triggerRef, handleMenuKeyDown, handleTriggerKeyDown, closeMenu } = useMenuKeyboard(menuOpen, setMenuOpen);
17
+ useEffect(() => {
18
+ if (!menuOpen) return;
19
+ const onPointerDown = (e) => {
20
+ if (rootRef.current && !rootRef.current.contains(e.target)) {
21
+ setMenuOpen(false);
22
+ }
23
+ };
24
+ document.addEventListener("pointerdown", onPointerDown);
25
+ return () => document.removeEventListener("pointerdown", onPointerDown);
26
+ }, [menuOpen]);
27
+ if (!git || !git.repo || !selectedFile) return null;
28
+ const dirty = isFileDirty(git.status, selectedFile);
29
+ const label = dirty ? "Git actions (file modified)" : "Git actions";
30
+ const openDiff = () => {
31
+ closeMenu(false);
32
+ git.openDialog({ kind: "diff", path: selectedFile });
33
+ };
34
+ const openHistory = () => {
35
+ closeMenu(false);
36
+ git.openDialog({ kind: "history", path: selectedFile });
37
+ };
38
+ const openOnRemote = () => {
39
+ closeMenu(false);
40
+ git.openOnRemote(selectedFile);
41
+ };
42
+ return /* @__PURE__ */ jsxs("div", { className: "db-toolbar-menu", ref: rootRef, children: [
43
+ /* @__PURE__ */ jsxs(
44
+ "button",
45
+ {
46
+ ref: triggerRef,
47
+ type: "button",
48
+ className: "squisq-toolbar-button db-git-toolbar-trigger",
49
+ onClick: () => setMenuOpen((prev) => !prev),
50
+ onKeyDown: handleTriggerKeyDown,
51
+ "aria-label": label,
52
+ "aria-haspopup": "menu",
53
+ "aria-expanded": menuOpen,
54
+ "data-tooltip": label,
55
+ children: [
56
+ /* @__PURE__ */ jsx(BranchGlyph, {}),
57
+ dirty && /* @__PURE__ */ jsx("span", { className: "db-git-toolbar-dot", "aria-hidden": "true" })
58
+ ]
59
+ }
60
+ ),
61
+ menuOpen && /* @__PURE__ */ jsxs(
62
+ "div",
63
+ {
64
+ ref: menuRef,
65
+ className: "db-toolbar-menu-dropdown",
66
+ role: "menu",
67
+ "aria-label": label,
68
+ onKeyDown: handleMenuKeyDown,
69
+ children: [
70
+ /* @__PURE__ */ jsx(
71
+ "button",
72
+ {
73
+ type: "button",
74
+ role: "menuitem",
75
+ tabIndex: -1,
76
+ className: "db-toolbar-menu-item",
77
+ disabled: !dirty,
78
+ onClick: openDiff,
79
+ children: "View changes"
80
+ }
81
+ ),
82
+ /* @__PURE__ */ jsx(
83
+ "button",
84
+ {
85
+ type: "button",
86
+ role: "menuitem",
87
+ tabIndex: -1,
88
+ className: "db-toolbar-menu-item",
89
+ onClick: openHistory,
90
+ children: "File history\u2026"
91
+ }
92
+ ),
93
+ git.remoteWeb && /* @__PURE__ */ jsxs(
94
+ "button",
95
+ {
96
+ type: "button",
97
+ role: "menuitem",
98
+ tabIndex: -1,
99
+ className: "db-toolbar-menu-item",
100
+ onClick: openOnRemote,
101
+ children: [
102
+ "Open on ",
103
+ git.remoteWeb.host
104
+ ]
105
+ }
106
+ )
107
+ ]
108
+ }
109
+ )
110
+ ] });
111
+ }
112
+ function BranchGlyph() {
113
+ return /* @__PURE__ */ jsxs(
114
+ "svg",
115
+ {
116
+ viewBox: "0 0 16 16",
117
+ width: "16",
118
+ height: "16",
119
+ fill: "none",
120
+ stroke: "currentColor",
121
+ strokeWidth: "1.5",
122
+ strokeLinecap: "round",
123
+ strokeLinejoin: "round",
124
+ "aria-hidden": "true",
125
+ children: [
126
+ /* @__PURE__ */ jsx("circle", { cx: "4.5", cy: "12", r: "2" }),
127
+ /* @__PURE__ */ jsx("circle", { cx: "11.5", cy: "4", r: "2" }),
128
+ /* @__PURE__ */ jsx("path", { d: "M4.5 10V7.5A2.5 2.5 0 0 1 7 5h2.5" })
129
+ ]
130
+ }
131
+ );
132
+ }
133
+ export {
134
+ GitToolbarControl
135
+ };
136
+ //# sourceMappingURL=GitToolbarControl-GNMRVKWQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Git/GitToolbarControl.tsx"],"sourcesContent":["/**\n * GitToolbarControl — per-file git actions in the editor toolbar.\n *\n * A single branch-glyph button (styled like the export trigger) opening a\n * small dropdown: view working-tree changes, per-file history, and \"Open\n * on <host>\" when a web remote is known. A dot overlay marks the selected\n * file as modified. Null-renders without a git context, a repository, or a\n * selected file. Deliberately has no editor dependency.\n */\n\nimport { useEffect, useRef, useState } from 'react';\nimport { useGitContext } from './GitContext.js';\nimport { isFileDirty } from './git-status.js';\nimport { useMenuKeyboard } from './useMenuKeyboard.js';\n\nexport interface GitToolbarControlProps {\n /** Currently selected file path (slash-prefixed), or null. */\n selectedFile: string | null;\n}\n\nexport function GitToolbarControl({ selectedFile }: GitToolbarControlProps) {\n const git = useGitContext();\n const [menuOpen, setMenuOpen] = useState(false);\n /** Wraps trigger + menu — the outside-click hit test, not the menu itself. */\n const rootRef = useRef<HTMLDivElement>(null);\n const { menuRef, triggerRef, handleMenuKeyDown, handleTriggerKeyDown, closeMenu } =\n useMenuKeyboard(menuOpen, setMenuOpen);\n\n // Close on outside click (same pointerdown pattern as ExportToolbarControls).\n useEffect(() => {\n if (!menuOpen) return;\n const onPointerDown = (e: PointerEvent) => {\n if (rootRef.current && !rootRef.current.contains(e.target as Node)) {\n setMenuOpen(false);\n }\n };\n document.addEventListener('pointerdown', onPointerDown);\n return () => document.removeEventListener('pointerdown', onPointerDown);\n }, [menuOpen]);\n\n if (!git || !git.repo || !selectedFile) return null;\n\n const dirty = isFileDirty(git.status, selectedFile);\n const label = dirty ? 'Git actions (file modified)' : 'Git actions';\n\n // Each of these replaces the menu with a dialog, so focus belongs there,\n // not back on the trigger.\n const openDiff = () => {\n closeMenu(false);\n git.openDialog({ kind: 'diff', path: selectedFile });\n };\n const openHistory = () => {\n closeMenu(false);\n git.openDialog({ kind: 'history', path: selectedFile });\n };\n const openOnRemote = () => {\n closeMenu(false);\n git.openOnRemote(selectedFile);\n };\n\n return (\n <div className=\"db-toolbar-menu\" ref={rootRef}>\n <button\n ref={triggerRef}\n type=\"button\"\n className=\"squisq-toolbar-button db-git-toolbar-trigger\"\n onClick={() => setMenuOpen((prev) => !prev)}\n onKeyDown={handleTriggerKeyDown}\n aria-label={label}\n aria-haspopup=\"menu\"\n aria-expanded={menuOpen}\n data-tooltip={label}\n >\n <BranchGlyph />\n {dirty && <span className=\"db-git-toolbar-dot\" aria-hidden=\"true\" />}\n </button>\n\n {menuOpen && (\n <div\n ref={menuRef}\n className=\"db-toolbar-menu-dropdown\"\n role=\"menu\"\n aria-label={label}\n onKeyDown={handleMenuKeyDown}\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabIndex={-1}\n className=\"db-toolbar-menu-item\"\n disabled={!dirty}\n onClick={openDiff}\n >\n View changes\n </button>\n <button\n type=\"button\"\n role=\"menuitem\"\n tabIndex={-1}\n className=\"db-toolbar-menu-item\"\n onClick={openHistory}\n >\n File history…\n </button>\n {git.remoteWeb && (\n <button\n type=\"button\"\n role=\"menuitem\"\n tabIndex={-1}\n className=\"db-toolbar-menu-item\"\n onClick={openOnRemote}\n >\n Open on {git.remoteWeb.host}\n </button>\n )}\n </div>\n )}\n </div>\n );\n}\n\nfunction BranchGlyph() {\n return (\n <svg\n viewBox=\"0 0 16 16\"\n width=\"16\"\n height=\"16\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"4.5\" cy=\"12\" r=\"2\" />\n <circle cx=\"11.5\" cy=\"4\" r=\"2\" />\n <path d=\"M4.5 10V7.5A2.5 2.5 0 0 1 7 5h2.5\" />\n </svg>\n );\n}\n"],"mappings":"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","names":[]}