@octaviaflow/core 3.0.18-beta.0 → 3.0.18

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 (428) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +45 -0
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  3. package/dist/components/Accordion/index.d.ts +2 -0
  4. package/dist/components/Accordion/index.d.ts.map +1 -0
  5. package/dist/components/AgentCard/AgentCard.d.ts +53 -7
  6. package/dist/components/AgentCard/AgentCard.d.ts.map +1 -1
  7. package/dist/components/AlertCard/AlertCard.d.ts +76 -0
  8. package/dist/components/AlertCard/AlertCard.d.ts.map +1 -0
  9. package/dist/components/AlertCard/index.d.ts +2 -0
  10. package/dist/components/AlertCard/index.d.ts.map +1 -0
  11. package/dist/components/AuthCard/AuthCard.d.ts +29 -42
  12. package/dist/components/AuthCard/AuthCard.d.ts.map +1 -1
  13. package/dist/components/Avatar/Avatar.d.ts +48 -11
  14. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  15. package/dist/components/Avatar/index.d.ts +1 -1
  16. package/dist/components/Avatar/index.d.ts.map +1 -1
  17. package/dist/components/Badge/Badge.d.ts +46 -8
  18. package/dist/components/Badge/Badge.d.ts.map +1 -1
  19. package/dist/components/Badge/index.d.ts +1 -1
  20. package/dist/components/Badge/index.d.ts.map +1 -1
  21. package/dist/components/Banner/Banner.d.ts +53 -6
  22. package/dist/components/Banner/Banner.d.ts.map +1 -1
  23. package/dist/components/Banner/index.d.ts +1 -1
  24. package/dist/components/Banner/index.d.ts.map +1 -1
  25. package/dist/components/BarChart/BarChart.d.ts +62 -5
  26. package/dist/components/BarChart/BarChart.d.ts.map +1 -1
  27. package/dist/components/BarChart/index.d.ts +1 -1
  28. package/dist/components/BarChart/index.d.ts.map +1 -1
  29. package/dist/components/BlogCard/BlogCard.d.ts +39 -4
  30. package/dist/components/BlogCard/BlogCard.d.ts.map +1 -1
  31. package/dist/components/Button/Button.d.ts +23 -5
  32. package/dist/components/Button/Button.d.ts.map +1 -1
  33. package/dist/components/Calendar/Calendar.d.ts +53 -4
  34. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  35. package/dist/components/CalendarHeatmap/CalendarHeatmap.d.ts +47 -0
  36. package/dist/components/CalendarHeatmap/CalendarHeatmap.d.ts.map +1 -0
  37. package/dist/components/CalendarHeatmap/index.d.ts +2 -0
  38. package/dist/components/CalendarHeatmap/index.d.ts.map +1 -0
  39. package/dist/components/Callout/Callout.d.ts +33 -7
  40. package/dist/components/Callout/Callout.d.ts.map +1 -1
  41. package/dist/components/Callout/index.d.ts +1 -1
  42. package/dist/components/Callout/index.d.ts.map +1 -1
  43. package/dist/components/Card/Card.d.ts +49 -8
  44. package/dist/components/Card/Card.d.ts.map +1 -1
  45. package/dist/components/Card/index.d.ts +1 -1
  46. package/dist/components/Card/index.d.ts.map +1 -1
  47. package/dist/components/ChatBubble/ChatBubble.d.ts +32 -7
  48. package/dist/components/ChatBubble/ChatBubble.d.ts.map +1 -1
  49. package/dist/components/ChatBubble/index.d.ts +1 -1
  50. package/dist/components/ChatBubble/index.d.ts.map +1 -1
  51. package/dist/components/Checkbox/Checkbox.d.ts +16 -3
  52. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  53. package/dist/components/Checkbox/index.d.ts +1 -1
  54. package/dist/components/Checkbox/index.d.ts.map +1 -1
  55. package/dist/components/Chip/Chip.d.ts +28 -9
  56. package/dist/components/Chip/Chip.d.ts.map +1 -1
  57. package/dist/components/Chip/index.d.ts +1 -1
  58. package/dist/components/Chip/index.d.ts.map +1 -1
  59. package/dist/components/ChoiceCard/ChoiceCard.d.ts +44 -6
  60. package/dist/components/ChoiceCard/ChoiceCard.d.ts.map +1 -1
  61. package/dist/components/ChoiceCard/index.d.ts +1 -1
  62. package/dist/components/ChoiceCard/index.d.ts.map +1 -1
  63. package/dist/components/Coachmark/Coachmark.d.ts +52 -0
  64. package/dist/components/Coachmark/Coachmark.d.ts.map +1 -0
  65. package/dist/components/Coachmark/index.d.ts +2 -0
  66. package/dist/components/Coachmark/index.d.ts.map +1 -0
  67. package/dist/components/CodeEditor/CodeEditor.d.ts +10 -1
  68. package/dist/components/CodeEditor/CodeEditor.d.ts.map +1 -1
  69. package/dist/components/ColorPicker/ColorPicker.d.ts +25 -6
  70. package/dist/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  71. package/dist/components/ColorPicker/index.d.ts +1 -1
  72. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  73. package/dist/components/CommandPalette/CommandPalette.d.ts +64 -0
  74. package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -0
  75. package/dist/components/CommandPalette/index.d.ts +2 -0
  76. package/dist/components/CommandPalette/index.d.ts.map +1 -0
  77. package/dist/components/ConditionBuilder/ConditionBuilder.d.ts +24 -4
  78. package/dist/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
  79. package/dist/components/ConfigPanel/ConfigPanel.d.ts +18 -12
  80. package/dist/components/ConfigPanel/ConfigPanel.d.ts.map +1 -1
  81. package/dist/components/ConfigPanel/index.d.ts +1 -1
  82. package/dist/components/ConfigPanel/index.d.ts.map +1 -1
  83. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +47 -0
  84. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
  85. package/dist/components/ConfirmDialog/index.d.ts +2 -0
  86. package/dist/components/ConfirmDialog/index.d.ts.map +1 -0
  87. package/dist/components/ConnectorCard/ConnectorCard.d.ts +49 -0
  88. package/dist/components/ConnectorCard/ConnectorCard.d.ts.map +1 -0
  89. package/dist/components/ConnectorCard/index.d.ts +2 -0
  90. package/dist/components/ConnectorCard/index.d.ts.map +1 -0
  91. package/dist/components/ContextMenu/ContextMenu.d.ts +46 -0
  92. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  93. package/dist/components/ContextMenu/index.d.ts +2 -0
  94. package/dist/components/ContextMenu/index.d.ts.map +1 -0
  95. package/dist/components/CountUp/CountUp.d.ts +35 -0
  96. package/dist/components/CountUp/CountUp.d.ts.map +1 -0
  97. package/dist/components/CountUp/index.d.ts +2 -0
  98. package/dist/components/CountUp/index.d.ts.map +1 -0
  99. package/dist/components/DataMapper/DataMapper.d.ts +3 -3
  100. package/dist/components/DataMapper/DataMapper.d.ts.map +1 -1
  101. package/dist/components/DataTable/DataTable.d.ts +35 -3
  102. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  103. package/dist/components/DatasetCard/DatasetCard.d.ts +55 -0
  104. package/dist/components/DatasetCard/DatasetCard.d.ts.map +1 -0
  105. package/dist/components/DatasetCard/index.d.ts +2 -0
  106. package/dist/components/DatasetCard/index.d.ts.map +1 -0
  107. package/dist/components/DatePicker/DatePicker.d.ts +18 -5
  108. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  109. package/dist/components/DatePicker/index.d.ts +1 -1
  110. package/dist/components/DatePicker/index.d.ts.map +1 -1
  111. package/dist/components/DescriptionList/DescriptionList.d.ts +10 -6
  112. package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -1
  113. package/dist/components/DescriptionList/index.d.ts +1 -1
  114. package/dist/components/DescriptionList/index.d.ts.map +1 -1
  115. package/dist/components/Dialog/Dialog.d.ts +13 -5
  116. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  117. package/dist/components/Dialog/index.d.ts +1 -1
  118. package/dist/components/Dialog/index.d.ts.map +1 -1
  119. package/dist/components/Divider/Divider.d.ts +24 -0
  120. package/dist/components/Divider/Divider.d.ts.map +1 -0
  121. package/dist/components/Divider/index.d.ts +2 -0
  122. package/dist/components/Divider/index.d.ts.map +1 -0
  123. package/dist/components/DonutChart/DonutChart.d.ts +32 -4
  124. package/dist/components/DonutChart/DonutChart.d.ts.map +1 -1
  125. package/dist/components/Drawer/Drawer.d.ts +12 -5
  126. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  127. package/dist/components/Drawer/index.d.ts +1 -1
  128. package/dist/components/Drawer/index.d.ts.map +1 -1
  129. package/dist/components/EmptyState/EmptyState.d.ts +16 -6
  130. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  131. package/dist/components/EmptyState/index.d.ts +1 -1
  132. package/dist/components/EmptyState/index.d.ts.map +1 -1
  133. package/dist/components/FeatureCard/FeatureCard.d.ts +29 -10
  134. package/dist/components/FeatureCard/FeatureCard.d.ts.map +1 -1
  135. package/dist/components/FileDropzone/FileDropzone.d.ts +3 -3
  136. package/dist/components/FileDropzone/FileDropzone.d.ts.map +1 -1
  137. package/dist/components/Gauge/Gauge.d.ts +46 -0
  138. package/dist/components/Gauge/Gauge.d.ts.map +1 -0
  139. package/dist/components/Gauge/index.d.ts +2 -0
  140. package/dist/components/Gauge/index.d.ts.map +1 -0
  141. package/dist/components/Grid/Grid.d.ts +46 -0
  142. package/dist/components/Grid/Grid.d.ts.map +1 -0
  143. package/dist/components/Grid/index.d.ts +2 -0
  144. package/dist/components/Grid/index.d.ts.map +1 -0
  145. package/dist/components/Heatmap/Heatmap.d.ts +54 -0
  146. package/dist/components/Heatmap/Heatmap.d.ts.map +1 -0
  147. package/dist/components/Heatmap/index.d.ts +2 -0
  148. package/dist/components/Heatmap/index.d.ts.map +1 -0
  149. package/dist/components/IconCard/IconCard.d.ts +24 -6
  150. package/dist/components/IconCard/IconCard.d.ts.map +1 -1
  151. package/dist/components/IconCard/index.d.ts +1 -1
  152. package/dist/components/IconCard/index.d.ts.map +1 -1
  153. package/dist/components/InlineMessage/InlineMessage.d.ts +24 -0
  154. package/dist/components/InlineMessage/InlineMessage.d.ts.map +1 -0
  155. package/dist/components/InlineMessage/index.d.ts +2 -0
  156. package/dist/components/InlineMessage/index.d.ts.map +1 -0
  157. package/dist/components/Input/Input.d.ts.map +1 -1
  158. package/dist/components/IntegrationCard/IntegrationCard.d.ts +69 -0
  159. package/dist/components/IntegrationCard/IntegrationCard.d.ts.map +1 -0
  160. package/dist/components/IntegrationCard/index.d.ts +2 -0
  161. package/dist/components/IntegrationCard/index.d.ts.map +1 -0
  162. package/dist/components/JsonViewer/JsonViewer.d.ts +10 -4
  163. package/dist/components/JsonViewer/JsonViewer.d.ts.map +1 -1
  164. package/dist/components/KanbanCard/KanbanCard.d.ts +40 -7
  165. package/dist/components/KanbanCard/KanbanCard.d.ts.map +1 -1
  166. package/dist/components/Kbd/Kbd.d.ts +8 -9
  167. package/dist/components/Kbd/Kbd.d.ts.map +1 -1
  168. package/dist/components/Kbd/index.d.ts +1 -1
  169. package/dist/components/Kbd/index.d.ts.map +1 -1
  170. package/dist/components/LineChart/LineChart.d.ts +42 -4
  171. package/dist/components/LineChart/LineChart.d.ts.map +1 -1
  172. package/dist/components/LineChart/index.d.ts +1 -1
  173. package/dist/components/LineChart/index.d.ts.map +1 -1
  174. package/dist/components/LinkButton/LinkButton.d.ts +16 -4
  175. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
  176. package/dist/components/LinkButton/index.d.ts +1 -1
  177. package/dist/components/LinkButton/index.d.ts.map +1 -1
  178. package/dist/components/MetricCard/MetricCard.d.ts +71 -0
  179. package/dist/components/MetricCard/MetricCard.d.ts.map +1 -0
  180. package/dist/components/MetricCard/index.d.ts +2 -0
  181. package/dist/components/MetricCard/index.d.ts.map +1 -0
  182. package/dist/components/MonacoEditor/MonacoDiffEditor.d.ts +22 -5
  183. package/dist/components/MonacoEditor/MonacoDiffEditor.d.ts.map +1 -1
  184. package/dist/components/MonacoEditor/MonacoEditor.d.ts +28 -7
  185. package/dist/components/MonacoEditor/MonacoEditor.d.ts.map +1 -1
  186. package/dist/components/MonacoEditor/index.d.ts +2 -2
  187. package/dist/components/MonacoEditor/index.d.ts.map +1 -1
  188. package/dist/components/MultiSelect/MultiSelect.d.ts +23 -7
  189. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  190. package/dist/components/MultiSelect/index.d.ts +1 -1
  191. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  192. package/dist/components/NumberInput/NumberInput.d.ts +13 -7
  193. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  194. package/dist/components/NumberInput/index.d.ts +1 -1
  195. package/dist/components/NumberInput/index.d.ts.map +1 -1
  196. package/dist/components/OTPInput/OTPInput.d.ts +27 -4
  197. package/dist/components/OTPInput/OTPInput.d.ts.map +1 -1
  198. package/dist/components/OTPInput/index.d.ts +1 -1
  199. package/dist/components/OTPInput/index.d.ts.map +1 -1
  200. package/dist/components/Pagination/Pagination.d.ts +50 -0
  201. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  202. package/dist/components/Pagination/index.d.ts +2 -0
  203. package/dist/components/Pagination/index.d.ts.map +1 -0
  204. package/dist/components/PasswordInput/PasswordInput.d.ts +22 -7
  205. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  206. package/dist/components/PasswordInput/index.d.ts +1 -1
  207. package/dist/components/PasswordInput/index.d.ts.map +1 -1
  208. package/dist/components/PhoneInput/PhoneInput.d.ts +19 -6
  209. package/dist/components/PhoneInput/PhoneInput.d.ts.map +1 -1
  210. package/dist/components/PhoneInput/countries.d.ts +15 -0
  211. package/dist/components/PhoneInput/countries.d.ts.map +1 -0
  212. package/dist/components/PhoneInput/index.d.ts +2 -1
  213. package/dist/components/PhoneInput/index.d.ts.map +1 -1
  214. package/dist/components/PipelineCard/PipelineCard.d.ts +100 -0
  215. package/dist/components/PipelineCard/PipelineCard.d.ts.map +1 -0
  216. package/dist/components/PipelineCard/index.d.ts +2 -0
  217. package/dist/components/PipelineCard/index.d.ts.map +1 -0
  218. package/dist/components/Popover/Popover.d.ts +5 -1
  219. package/dist/components/Popover/Popover.d.ts.map +1 -1
  220. package/dist/components/PricingCard/PricingCard.d.ts +28 -5
  221. package/dist/components/PricingCard/PricingCard.d.ts.map +1 -1
  222. package/dist/components/ProductCard/ProductCard.d.ts +35 -4
  223. package/dist/components/ProductCard/ProductCard.d.ts.map +1 -1
  224. package/dist/components/ProgressBar/ProgressBar.d.ts +28 -0
  225. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  226. package/dist/components/ProgressBar/index.d.ts +2 -0
  227. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  228. package/dist/components/ProgressRing/ProgressRing.d.ts +22 -5
  229. package/dist/components/ProgressRing/ProgressRing.d.ts.map +1 -1
  230. package/dist/components/ProgressRing/index.d.ts +1 -1
  231. package/dist/components/ProgressRing/index.d.ts.map +1 -1
  232. package/dist/components/PromptInput/PromptInput.d.ts +59 -16
  233. package/dist/components/PromptInput/PromptInput.d.ts.map +1 -1
  234. package/dist/components/PromptInput/index.d.ts +1 -1
  235. package/dist/components/PromptInput/index.d.ts.map +1 -1
  236. package/dist/components/Quote/Quote.d.ts +20 -6
  237. package/dist/components/Quote/Quote.d.ts.map +1 -1
  238. package/dist/components/Quote/index.d.ts +1 -1
  239. package/dist/components/Quote/index.d.ts.map +1 -1
  240. package/dist/components/Radio/Radio.d.ts +12 -5
  241. package/dist/components/Radio/Radio.d.ts.map +1 -1
  242. package/dist/components/Radio/RadioGroup.d.ts +16 -15
  243. package/dist/components/Radio/RadioGroup.d.ts.map +1 -1
  244. package/dist/components/Radio/index.d.ts +2 -2
  245. package/dist/components/Radio/index.d.ts.map +1 -1
  246. package/dist/components/RangeSlider/RangeSlider.d.ts +18 -5
  247. package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  248. package/dist/components/RangeSlider/index.d.ts +1 -1
  249. package/dist/components/RangeSlider/index.d.ts.map +1 -1
  250. package/dist/components/Rating/BinaryRating.d.ts +40 -0
  251. package/dist/components/Rating/BinaryRating.d.ts.map +1 -0
  252. package/dist/components/Rating/Rating.d.ts +21 -6
  253. package/dist/components/Rating/Rating.d.ts.map +1 -1
  254. package/dist/components/Rating/index.d.ts +2 -1
  255. package/dist/components/Rating/index.d.ts.map +1 -1
  256. package/dist/components/Resizable/Resizable.d.ts +32 -36
  257. package/dist/components/Resizable/Resizable.d.ts.map +1 -1
  258. package/dist/components/Resizable/index.d.ts +1 -1
  259. package/dist/components/Resizable/index.d.ts.map +1 -1
  260. package/dist/components/Ribbon/Ribbon.d.ts +12 -6
  261. package/dist/components/Ribbon/Ribbon.d.ts.map +1 -1
  262. package/dist/components/Ribbon/index.d.ts +1 -1
  263. package/dist/components/Ribbon/index.d.ts.map +1 -1
  264. package/dist/components/Sankey/Sankey.d.ts +53 -0
  265. package/dist/components/Sankey/Sankey.d.ts.map +1 -0
  266. package/dist/components/Sankey/index.d.ts +2 -0
  267. package/dist/components/Sankey/index.d.ts.map +1 -0
  268. package/dist/components/ScrollArea/ScrollArea.d.ts +33 -0
  269. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  270. package/dist/components/ScrollArea/index.d.ts +2 -0
  271. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  272. package/dist/components/SegmentedControl/SegmentedControl.d.ts +38 -0
  273. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -0
  274. package/dist/components/SegmentedControl/index.d.ts +2 -0
  275. package/dist/components/SegmentedControl/index.d.ts.map +1 -0
  276. package/dist/components/Select/Select.d.ts +19 -1
  277. package/dist/components/Select/Select.d.ts.map +1 -1
  278. package/dist/components/Sheet/Sheet.d.ts.map +1 -1
  279. package/dist/components/Show/Show.d.ts +35 -0
  280. package/dist/components/Show/Show.d.ts.map +1 -0
  281. package/dist/components/Show/index.d.ts +2 -0
  282. package/dist/components/Show/index.d.ts.map +1 -0
  283. package/dist/components/Sidebar/Sidebar.d.ts +7 -8
  284. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
  285. package/dist/components/Skeleton/Skeleton.d.ts +43 -5
  286. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  287. package/dist/components/Skeleton/index.d.ts +1 -1
  288. package/dist/components/Skeleton/index.d.ts.map +1 -1
  289. package/dist/components/Slider/Slider.d.ts +26 -7
  290. package/dist/components/Slider/Slider.d.ts.map +1 -1
  291. package/dist/components/Slider/index.d.ts +1 -1
  292. package/dist/components/Slider/index.d.ts.map +1 -1
  293. package/dist/components/SocialButton/SocialButton.d.ts +23 -5
  294. package/dist/components/SocialButton/SocialButton.d.ts.map +1 -1
  295. package/dist/components/SocialButton/index.d.ts +1 -1
  296. package/dist/components/SocialButton/index.d.ts.map +1 -1
  297. package/dist/components/Sortable/Sortable.d.ts +14 -6
  298. package/dist/components/Sortable/Sortable.d.ts.map +1 -1
  299. package/dist/components/Sparkline/Sparkline.d.ts +38 -3
  300. package/dist/components/Sparkline/Sparkline.d.ts.map +1 -1
  301. package/dist/components/Sparkline/index.d.ts +1 -1
  302. package/dist/components/Sparkline/index.d.ts.map +1 -1
  303. package/dist/components/Spinner/Spinner.d.ts +14 -5
  304. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  305. package/dist/components/Spinner/index.d.ts +1 -1
  306. package/dist/components/Spinner/index.d.ts.map +1 -1
  307. package/dist/components/Spotlight/Spotlight.d.ts +37 -0
  308. package/dist/components/Spotlight/Spotlight.d.ts.map +1 -0
  309. package/dist/components/Spotlight/index.d.ts +2 -0
  310. package/dist/components/Spotlight/index.d.ts.map +1 -0
  311. package/dist/components/Stack/Stack.d.ts +41 -0
  312. package/dist/components/Stack/Stack.d.ts.map +1 -0
  313. package/dist/components/Stack/index.d.ts +2 -0
  314. package/dist/components/Stack/index.d.ts.map +1 -0
  315. package/dist/components/Stat/Stat.d.ts +15 -6
  316. package/dist/components/Stat/Stat.d.ts.map +1 -1
  317. package/dist/components/Stat/index.d.ts +1 -1
  318. package/dist/components/Stat/index.d.ts.map +1 -1
  319. package/dist/components/StatusTiles/StatusTiles.d.ts +39 -0
  320. package/dist/components/StatusTiles/StatusTiles.d.ts.map +1 -0
  321. package/dist/components/StatusTiles/index.d.ts +2 -0
  322. package/dist/components/StatusTiles/index.d.ts.map +1 -0
  323. package/dist/components/Stepper/Stepper.d.ts +53 -0
  324. package/dist/components/Stepper/Stepper.d.ts.map +1 -0
  325. package/dist/components/Stepper/index.d.ts +2 -0
  326. package/dist/components/Stepper/index.d.ts.map +1 -0
  327. package/dist/components/Switch/Switch.d.ts +11 -6
  328. package/dist/components/Switch/Switch.d.ts.map +1 -1
  329. package/dist/components/Switch/index.d.ts +1 -1
  330. package/dist/components/Switch/index.d.ts.map +1 -1
  331. package/dist/components/Table/Table.d.ts +11 -5
  332. package/dist/components/Table/Table.d.ts.map +1 -1
  333. package/dist/components/TagsInput/TagsInput.d.ts +10 -5
  334. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  335. package/dist/components/TagsInput/index.d.ts +1 -1
  336. package/dist/components/TagsInput/index.d.ts.map +1 -1
  337. package/dist/components/TemplateCard/TemplateCard.d.ts +120 -0
  338. package/dist/components/TemplateCard/TemplateCard.d.ts.map +1 -0
  339. package/dist/components/TemplateCard/index.d.ts +2 -0
  340. package/dist/components/TemplateCard/index.d.ts.map +1 -0
  341. package/dist/components/TestimonialCard/TestimonialCard.d.ts +30 -5
  342. package/dist/components/TestimonialCard/TestimonialCard.d.ts.map +1 -1
  343. package/dist/components/Textarea/Textarea.d.ts +81 -7
  344. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  345. package/dist/components/Textarea/index.d.ts +1 -1
  346. package/dist/components/Textarea/index.d.ts.map +1 -1
  347. package/dist/components/TimePicker/TimePicker.d.ts +7 -5
  348. package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
  349. package/dist/components/TimePicker/index.d.ts +1 -1
  350. package/dist/components/TimePicker/index.d.ts.map +1 -1
  351. package/dist/components/Timeline/Timeline.d.ts +14 -5
  352. package/dist/components/Timeline/Timeline.d.ts.map +1 -1
  353. package/dist/components/Timeline/index.d.ts +1 -1
  354. package/dist/components/Timeline/index.d.ts.map +1 -1
  355. package/dist/components/TimezonePicker/TimezonePicker.d.ts +8 -5
  356. package/dist/components/TimezonePicker/TimezonePicker.d.ts.map +1 -1
  357. package/dist/components/TimezonePicker/index.d.ts +1 -1
  358. package/dist/components/TimezonePicker/index.d.ts.map +1 -1
  359. package/dist/components/Toast/Toast.d.ts +15 -0
  360. package/dist/components/Toast/Toast.d.ts.map +1 -1
  361. package/dist/components/Toggle/Toggle.d.ts +16 -6
  362. package/dist/components/Toggle/Toggle.d.ts.map +1 -1
  363. package/dist/components/Toggle/index.d.ts +1 -1
  364. package/dist/components/Toggle/index.d.ts.map +1 -1
  365. package/dist/components/ToolCard/ToolCard.d.ts +12 -10
  366. package/dist/components/ToolCard/ToolCard.d.ts.map +1 -1
  367. package/dist/components/Tooltip/Tooltip.d.ts +13 -2
  368. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  369. package/dist/components/Tooltip/index.d.ts +1 -1
  370. package/dist/components/Tooltip/index.d.ts.map +1 -1
  371. package/dist/components/TraceStep/TraceStep.d.ts +37 -8
  372. package/dist/components/TraceStep/TraceStep.d.ts.map +1 -1
  373. package/dist/components/TreeView/TreeView.d.ts +54 -0
  374. package/dist/components/TreeView/TreeView.d.ts.map +1 -0
  375. package/dist/components/TreeView/index.d.ts +2 -0
  376. package/dist/components/TreeView/index.d.ts.map +1 -0
  377. package/dist/components/UserCard/UserCard.d.ts +38 -5
  378. package/dist/components/UserCard/UserCard.d.ts.map +1 -1
  379. package/dist/components/XmlViewer/XmlViewer.d.ts +11 -6
  380. package/dist/components/XmlViewer/XmlViewer.d.ts.map +1 -1
  381. package/dist/components/YamlViewer/YamlViewer.d.ts +13 -6
  382. package/dist/components/YamlViewer/YamlViewer.d.ts.map +1 -1
  383. package/dist/hooks/useBanner.d.ts +27 -0
  384. package/dist/hooks/useBanner.d.ts.map +1 -0
  385. package/dist/hooks/useBreakpoint.d.ts +29 -0
  386. package/dist/hooks/useBreakpoint.d.ts.map +1 -0
  387. package/dist/hooks/useCallout.d.ts +32 -0
  388. package/dist/hooks/useCallout.d.ts.map +1 -0
  389. package/dist/hooks/useMediaQuery.d.ts +15 -0
  390. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  391. package/dist/hooks/usePasswordStrength.d.ts +37 -0
  392. package/dist/hooks/usePasswordStrength.d.ts.map +1 -0
  393. package/dist/hooks/useRating.d.ts +51 -0
  394. package/dist/hooks/useRating.d.ts.map +1 -0
  395. package/dist/hooks/useTextareaCommands.d.ts +55 -0
  396. package/dist/hooks/useTextareaCommands.d.ts.map +1 -0
  397. package/dist/hooks/useTextareaSelection.d.ts +34 -0
  398. package/dist/hooks/useTextareaSelection.d.ts.map +1 -0
  399. package/dist/hooks/useTextareaTools.d.ts +88 -0
  400. package/dist/hooks/useTextareaTools.d.ts.map +1 -0
  401. package/dist/hooks/useTimeline.d.ts +31 -0
  402. package/dist/hooks/useTimeline.d.ts.map +1 -0
  403. package/dist/hooks/useTraceTimeline.d.ts +54 -0
  404. package/dist/hooks/useTraceTimeline.d.ts.map +1 -0
  405. package/dist/index.cjs +22959 -10158
  406. package/dist/index.cjs.map +1 -1
  407. package/dist/index.d.ts +90 -47
  408. package/dist/index.d.ts.map +1 -1
  409. package/dist/index.js +23914 -10637
  410. package/dist/index.js.map +1 -1
  411. package/dist/monaco.cjs +359 -488
  412. package/dist/monaco.cjs.map +1 -1
  413. package/dist/monaco.d.ts +1 -1
  414. package/dist/monaco.d.ts.map +1 -1
  415. package/dist/monaco.js +381 -489
  416. package/dist/monaco.js.map +1 -1
  417. package/dist/stories/_shared/TestPage.d.ts +12 -0
  418. package/dist/stories/_shared/TestPage.d.ts.map +1 -0
  419. package/dist/styles.css +1 -1
  420. package/dist/utils/Slot.d.ts +7 -0
  421. package/dist/utils/Slot.d.ts.map +1 -0
  422. package/dist/utils/composeRefs.d.ts +7 -0
  423. package/dist/utils/composeRefs.d.ts.map +1 -0
  424. package/dist/utils/gradients.d.ts +77 -0
  425. package/dist/utils/gradients.d.ts.map +1 -0
  426. package/dist/utils/zIndex.d.ts +53 -0
  427. package/dist/utils/zIndex.d.ts.map +1 -0
  428. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/monaco.ts","../src/components/MonacoEditor/MonacoDiffEditor.tsx","../src/utils/cn.ts","../src/components/MonacoEditor/octaviaflowTheme.ts","../src/components/MonacoEditor/MonacoEditor.tsx"],"sourcesContent":["// `@octaviaflow/core/monaco` — opt-in entry for the Monaco-based editor\n// components. Pulled into a consumer's bundle only when explicitly imported,\n// so the rest of @octaviaflow/core stays free of any `@monaco-editor/react`\n// peer-dep dependency.\n//\n// Usage:\n// import { MonacoEditor, MonacoDiffEditor } from \"@octaviaflow/core/monaco\";\n//\n// Required peer deps when this subpath is used:\n// - @monaco-editor/react\n// - monaco-editor\n//\n// Lazy-loading is still preserved inside the editor components themselves —\n// the actual `@monaco-editor/react` import happens only when the editor first\n// renders, not at module-evaluation time.\n\nexport {\n MonacoDiffEditor,\n type MonacoDiffEditorProps,\n MonacoEditor,\n type MonacoEditorProps,\n type MonacoLanguage,\n type MonacoMarker,\n OCTAVIAFLOW_LIGHT,\n OCTAVIAFLOW_THEME_ID,\n} from \"./components/MonacoEditor\";\n","\"use client\";\n// Same lazy-load rationale as MonacoEditor.tsx — keep Monaco out of the\n// synchronous module graph so consumers without @monaco-editor/react can\n// still import @octaviaflow/core safely.\nimport type { Monaco } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport { type CSSProperties, lazy, type ReactNode, Suspense, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { MonacoLanguage } from \"./MonacoEditor\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst DiffEditor = lazy(() =>\n import(\"@monaco-editor/react\").then((mod) => ({ default: mod.DiffEditor })),\n);\n\nexport interface MonacoDiffEditorProps {\n original: string;\n modified: string;\n onModifiedChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Side-by-side vs inline diff. Default \"side-by-side\". */\n renderSideBySide?: boolean;\n /** Read-only on the right side. Default false. */\n readOnly?: boolean;\n /** Show only changed regions. */\n hideUnchangedRegions?: boolean;\n /** Editor height. Default 360. */\n height?: number | string;\n minHeight?: number;\n /** Labels above each side. */\n originalLabel?: ReactNode;\n modifiedLabel?: ReactNode;\n toolbar?: ReactNode;\n /** Pass-through Monaco diff editor options. */\n options?: editor.IDiffEditorConstructionOptions;\n onMount?: (editor: editor.IStandaloneDiffEditor, monaco: Monaco) => void;\n style?: CSSProperties;\n className?: string;\n theme?: string;\n hideToolbar?: boolean;\n}\n\nexport function MonacoDiffEditor({\n original,\n modified,\n onModifiedChange,\n language = \"plaintext\",\n renderSideBySide = true,\n readOnly = false,\n hideUnchangedRegions = false,\n height = 360,\n minHeight = 200,\n originalLabel = \"Original\",\n modifiedLabel = \"Modified\",\n toolbar,\n options,\n onMount,\n style,\n className,\n theme,\n hideToolbar = false,\n}: MonacoDiffEditorProps) {\n const editorRef = useRef<editor.IStandaloneDiffEditor | null>(null);\n const [sideBySide, setSideBySide] = useState(renderSideBySide);\n\n const handleMount = (diffEditor: editor.IStandaloneDiffEditor, monaco: Monaco) => {\n editorRef.current = diffEditor;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n const modifiedEditor = diffEditor.getModifiedEditor();\n modifiedEditor.onDidChangeModelContent(() => {\n onModifiedChange?.(modifiedEditor.getValue());\n });\n\n onMount?.(diffEditor, monaco);\n };\n\n const mergedOptions: editor.IDiffEditorConstructionOptions = {\n readOnly,\n originalEditable: false,\n renderSideBySide: sideBySide,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n lineHeight: 20,\n automaticLayout: true,\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n renderOverviewRuler: true,\n diffWordWrap: \"off\",\n padding: { top: 8, bottom: 8 },\n hideUnchangedRegions: {\n enabled: hideUnchangedRegions,\n revealLineCount: 20,\n minimumLineCount: 3,\n contextLineCount: 3,\n },\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n ...options,\n };\n\n return (\n <div className={cn(\"ods-monaco-diff\", `ods-monaco-diff--${language}`, className)} style={style}>\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">DIFF · {language.toUpperCase()}</span>\n <span className=\"ods-monaco-diff__labels\">\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--orig\">\n {originalLabel}\n </span>\n <span className=\"ods-monaco-diff__arrow\" aria-hidden=\"true\">\n →\n </span>\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--mod\">\n {modifiedLabel}\n </span>\n </span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", sideBySide && \"ods-monaco__btn--active\")}\n onClick={() => setSideBySide((s) => !s)}\n aria-pressed={sideBySide}\n aria-label=\"Toggle side-by-side\"\n title={sideBySide ? \"Inline\" : \"Side-by-side\"}\n >\n {sideBySide ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"1.5\"\n y=\"2\"\n width=\"5\"\n height=\"10\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n <rect\n x=\"7.5\"\n y=\"2\"\n width=\"5\"\n height=\"10\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n </svg>\n ) : (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"1.5\"\n y=\"2\"\n width=\"11\"\n height=\"10\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n <path d=\"M1.5 7h11\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n </svg>\n )}\n </button>\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense\n fallback={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading diff…</span>\n </div>\n }\n >\n <DiffEditor\n original={original}\n modified={modified}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading diff…</span>\n </div>\n }\n />\n </Suspense>\n </div>\n </div>\n );\n}\n","import { type ClassValue, clsx } from \"clsx\";\n\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs);\n}\n","import type { editor } from \"monaco-editor\";\n\n/**\n * OctaviaFlow v1 Monaco theme — light, Linear-tight, accent-driven.\n * Hex values mirror the canonical v1 tokens (see packages/styles/src/02-tokens/_v1.scss).\n */\nexport const OCTAVIAFLOW_LIGHT: editor.IStandaloneThemeData = {\n base: \"vs\",\n inherit: true,\n rules: [\n { token: \"\", foreground: \"161616\", background: \"FFFFFF\" },\n { token: \"comment\", foreground: \"6F6F6F\", fontStyle: \"italic\" },\n { token: \"string\", foreground: \"198038\" },\n { token: \"string.key.json\", foreground: \"0F62FE\" },\n { token: \"string.value.json\", foreground: \"198038\" },\n { token: \"number\", foreground: \"0043CE\" },\n { token: \"keyword\", foreground: \"8A3FFC\" },\n { token: \"keyword.sql\", foreground: \"8A3FFC\" },\n { token: \"operator\", foreground: \"393939\" },\n { token: \"delimiter\", foreground: \"525252\" },\n { token: \"type\", foreground: \"0F62FE\" },\n { token: \"type.identifier\", foreground: \"0F62FE\" },\n { token: \"identifier\", foreground: \"161616\" },\n { token: \"constant\", foreground: \"0043CE\" },\n { token: \"boolean\", foreground: \"F1C21B\", fontStyle: \"bold\" },\n { token: \"tag\", foreground: \"DA1E28\" },\n { token: \"attribute.name\", foreground: \"8A3FFC\" },\n { token: \"attribute.value\", foreground: \"198038\" },\n { token: \"regexp\", foreground: \"DA1E28\" },\n { token: \"function\", foreground: \"0F62FE\" },\n { token: \"variable\", foreground: \"161616\" },\n { token: \"variable.parameter\", foreground: \"393939\", fontStyle: \"italic\" },\n { token: \"namespace\", foreground: \"0F62FE\" },\n ],\n colors: {\n \"editor.background\": \"#FFFFFF\",\n \"editor.foreground\": \"#161616\",\n \"editor.lineHighlightBackground\": \"#F4F4F4\",\n \"editor.lineHighlightBorder\": \"#00000000\",\n \"editorLineNumber.foreground\": \"#A8A8A8\",\n \"editorLineNumber.activeForeground\": \"#0F62FE\",\n \"editorCursor.foreground\": \"#0F62FE\",\n \"editor.selectionBackground\": \"#D0E2FF\",\n \"editor.selectionHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightStrongBackground\": \"#D0E2FF\",\n \"editor.findMatchBackground\": \"#FFD7D9\",\n \"editor.findMatchHighlightBackground\": \"#FFE9EB\",\n \"editorIndentGuide.background1\": \"#F4F4F4\",\n \"editorIndentGuide.activeBackground1\": \"#E0E0E0\",\n \"editorWhitespace.foreground\": \"#E0E0E0\",\n \"editorBracketMatch.background\": \"#D0E2FF\",\n \"editorBracketMatch.border\": \"#0F62FE\",\n \"editor.foldBackground\": \"#F4F4F4\",\n\n \"editorGutter.background\": \"#F4F4F4\",\n \"editorGutter.modifiedBackground\": \"#0F62FE\",\n \"editorGutter.addedBackground\": \"#198038\",\n \"editorGutter.deletedBackground\": \"#DA1E28\",\n\n \"editorWidget.background\": \"#FFFFFF\",\n \"editorWidget.foreground\": \"#161616\",\n \"editorWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.background\": \"#FFFFFF\",\n \"editorSuggestWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.foreground\": \"#161616\",\n \"editorSuggestWidget.selectedBackground\": \"#EDF5FF\",\n \"editorSuggestWidget.selectedForeground\": \"#161616\",\n \"editorSuggestWidget.highlightForeground\": \"#0F62FE\",\n\n \"editorHoverWidget.background\": \"#FFFFFF\",\n \"editorHoverWidget.border\": \"#E0E0E0\",\n\n \"editorError.foreground\": \"#DA1E28\",\n \"editorWarning.foreground\": \"#F1C21B\",\n \"editorInfo.foreground\": \"#0F62FE\",\n\n \"diffEditor.insertedTextBackground\": \"#A7F0BA40\",\n \"diffEditor.removedTextBackground\": \"#FFB3B840\",\n \"diffEditor.insertedLineBackground\": \"#DEFBE640\",\n \"diffEditor.removedLineBackground\": \"#FFD7D940\",\n\n \"scrollbar.shadow\": \"#00000000\",\n \"scrollbarSlider.background\": \"#0F62FE20\",\n \"scrollbarSlider.hoverBackground\": \"#0F62FE40\",\n \"scrollbarSlider.activeBackground\": \"#0F62FE60\",\n\n \"minimap.background\": \"#FAFAFA\",\n \"minimap.selectionHighlight\": \"#0F62FE\",\n \"minimapSlider.background\": \"#0F62FE15\",\n \"minimapSlider.hoverBackground\": \"#0F62FE30\",\n \"minimapSlider.activeBackground\": \"#0F62FE50\",\n\n \"input.background\": \"#FFFFFF\",\n \"input.foreground\": \"#161616\",\n \"input.border\": \"#C6C6C6\",\n \"inputOption.activeBorder\": \"#0F62FE\",\n\n focusBorder: \"#0F62FE\",\n },\n};\n\nexport const OCTAVIAFLOW_THEME_ID = \"octaviaflow-light\";\n","\"use client\";\n// IMPORTANT: `@monaco-editor/react` and `monaco-editor` are optional peer deps.\n// Consumers that don't install them must still be able to import the rest of\n// `@octaviaflow/core` without crashing. Using `React.lazy` + dynamic import\n// keeps Monaco out of the synchronous module graph — it only resolves when a\n// MonacoEditor is actually rendered, deferring the require to that moment.\n//\n// Type-only imports for `editor` and `Monaco` are erased at build time, so\n// they impose no runtime dependency.\nimport type { Monaco, OnMount } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport {\n type CSSProperties,\n lazy,\n type ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst Editor = lazy(() => import(\"@monaco-editor/react\").then((mod) => ({ default: mod.Editor })));\n\nexport type MonacoLanguage =\n | \"sql\"\n | \"json\"\n | \"javascript\"\n | \"typescript\"\n | \"tsx\"\n | \"yaml\"\n | \"xml\"\n | \"html\"\n | \"css\"\n | \"scss\"\n | \"markdown\"\n | \"python\"\n | \"go\"\n | \"rust\"\n | \"java\"\n | \"csharp\"\n | \"shell\"\n | \"plaintext\";\n\nexport interface MonacoMarker {\n /** 1-based line number. */\n line: number;\n /** 1-based column. */\n column?: number;\n /** 1-based end line. Defaults to `line`. */\n endLine?: number;\n /** 1-based end column. */\n endColumn?: number;\n severity?: \"error\" | \"warning\" | \"info\" | \"hint\";\n message: string;\n /** Optional source label, e.g. \"json-schema\". */\n source?: string;\n}\n\nexport interface MonacoEditorProps {\n value: string;\n onChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Read-only mode. */\n readOnly?: boolean;\n /** Editor height — number (px) or any CSS length. Default 320. */\n height?: number | string;\n /** Min height when auto-sizing is disabled. */\n minHeight?: number;\n /** Custom toolbar slot above the editor. */\n toolbar?: ReactNode;\n /** Status pill on the right side of the toolbar. */\n status?: ReactNode;\n /** Hide the toolbar entirely. */\n hideToolbar?: boolean;\n /** Hide the footer (cursor pos + shortcut hints). */\n hideFooter?: boolean;\n /** Show built-in Copy button. */\n showCopy?: boolean;\n /** Show built-in Format button. Uses Monaco's `editor.action.formatDocument`. */\n showFormat?: boolean;\n /** Show built-in word-wrap toggle. */\n showWordWrapToggle?: boolean;\n /** Show built-in minimap toggle. */\n showMinimapToggle?: boolean;\n /** Initial word wrap. Default false. */\n wordWrap?: boolean;\n /** Initial minimap state. Default false (off — Linear-tight). */\n minimap?: boolean;\n /** Show line numbers. Default true. */\n showLineNumbers?: boolean;\n /** Diagnostic markers (errors, warnings, info, hints). */\n markers?: MonacoMarker[];\n /** Pass-through Monaco editor options. Merged after the defaults. */\n options?: editor.IStandaloneEditorConstructionOptions;\n /** Called once Monaco has mounted with the editor + monaco namespace. */\n onMount?: OnMount;\n /** Style attribute for the wrapper. */\n style?: CSSProperties;\n className?: string;\n ariaLabel?: string;\n /** Theme override. Defaults to \"octaviaflow-light\". */\n theme?: string;\n}\n\nconst MARKER_SEVERITY: Record<Required<MonacoMarker>[\"severity\"], number> = {\n hint: 1,\n info: 2,\n warning: 4,\n error: 8,\n};\n\nexport function MonacoEditor({\n value,\n onChange,\n language = \"plaintext\",\n readOnly = false,\n height = 320,\n minHeight = 120,\n toolbar,\n status,\n hideToolbar = false,\n hideFooter = false,\n showCopy = true,\n showFormat = true,\n showWordWrapToggle = true,\n showMinimapToggle = true,\n wordWrap: wordWrapProp,\n minimap: minimapProp,\n showLineNumbers = true,\n markers,\n options,\n onMount,\n style,\n className,\n ariaLabel = \"Code editor\",\n theme,\n}: MonacoEditorProps) {\n const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n\n const [wordWrap, setWordWrap] = useState<boolean>(wordWrapProp ?? false);\n const [minimap, setMinimap] = useState<boolean>(minimapProp ?? false);\n const [copied, setCopied] = useState(false);\n const [cursor, setCursor] = useState({ line: 1, column: 1 });\n const [selection, setSelection] = useState({ chars: 0, lines: 0 });\n const [lineCount, setLineCount] = useState(value.split(\"\\n\").length);\n\n // Keep prop-driven state in sync if controlled\n useEffect(() => {\n if (wordWrapProp !== undefined) setWordWrap(wordWrapProp);\n }, [wordWrapProp]);\n useEffect(() => {\n if (minimapProp !== undefined) setMinimap(minimapProp);\n }, [minimapProp]);\n\n // Apply word wrap / minimap changes to the live editor\n useEffect(() => {\n editorRef.current?.updateOptions({\n wordWrap: wordWrap ? \"on\" : \"off\",\n minimap: { enabled: minimap },\n });\n }, [wordWrap, minimap]);\n\n // Apply markers when they change\n useEffect(() => {\n const editor = editorRef.current;\n const monaco = monacoRef.current;\n if (!editor || !monaco || !markers) return;\n const model = editor.getModel();\n if (!model) return;\n monaco.editor.setModelMarkers(\n model,\n \"octaviaflow\",\n markers.map((m) => ({\n severity: MARKER_SEVERITY[m.severity ?? \"error\"],\n message: m.message,\n startLineNumber: m.line,\n startColumn: m.column ?? 1,\n endLineNumber: m.endLine ?? m.line,\n endColumn: m.endColumn ?? (m.column ?? 1) + 1,\n source: m.source,\n })),\n );\n }, [markers]);\n\n const handleMount: OnMount = useCallback(\n (editor, monaco) => {\n editorRef.current = editor;\n monacoRef.current = monaco;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n // Cursor + selection tracking\n editor.onDidChangeCursorPosition((e) => {\n setCursor({ line: e.position.lineNumber, column: e.position.column });\n });\n editor.onDidChangeCursorSelection((e) => {\n const sel = e.selection;\n if (sel.isEmpty()) {\n setSelection({ chars: 0, lines: 0 });\n return;\n }\n const model = editor.getModel();\n if (!model) return;\n const text = model.getValueInRange(sel);\n setSelection({\n chars: text.length,\n lines: text.split(\"\\n\").length,\n });\n });\n // Track line count for footer\n const model = editor.getModel();\n if (model) {\n setLineCount(model.getLineCount());\n model.onDidChangeContent(() => setLineCount(model.getLineCount()));\n }\n\n onMount?.(editor, monaco);\n },\n [onMount, theme],\n );\n\n const handleCopy = async () => {\n if (typeof navigator === \"undefined\") return;\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 1200);\n } catch {\n /* ignore */\n }\n };\n\n const handleFormat = () => {\n editorRef.current?.getAction(\"editor.action.formatDocument\")?.run();\n };\n\n const mergedOptions: editor.IStandaloneEditorConstructionOptions = {\n readOnly,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n fontLigatures: true,\n lineHeight: 20,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: minimap },\n wordWrap: wordWrap ? \"on\" : \"off\",\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n cursorBlinking: \"smooth\",\n cursorSmoothCaretAnimation: \"on\",\n renderLineHighlight: \"line\",\n padding: { top: 8, bottom: 8 },\n bracketPairColorization: { enabled: true },\n guides: { bracketPairs: true, indentation: true },\n automaticLayout: true,\n tabSize: 2,\n insertSpaces: true,\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n fixedOverflowWidgets: true,\n contextmenu: true,\n suggestOnTriggerCharacters: true,\n quickSuggestions: { other: true, comments: false, strings: false },\n formatOnPaste: false,\n formatOnType: false,\n \"semanticHighlighting.enabled\": true,\n ...options,\n };\n\n const showWrapBtn = showWordWrapToggle && wordWrapProp === undefined;\n const showMinimapBtn = showMinimapToggle && minimapProp === undefined;\n\n return (\n <div\n className={cn(\n \"ods-monaco\",\n `ods-monaco--${language}`,\n readOnly && \"ods-monaco--readonly\",\n className,\n )}\n style={style}\n >\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">{language.toUpperCase()}</span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <span className=\"ods-monaco__lines\">\n {lineCount} line{lineCount === 1 ? \"\" : \"s\"}\n </span>\n {status && <span className=\"ods-monaco__status\">{status}</span>}\n {showWrapBtn && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", wordWrap && \"ods-monaco__btn--active\")}\n onClick={() => setWordWrap((w) => !w)}\n aria-pressed={wordWrap}\n aria-label=\"Toggle word wrap\"\n title=\"Word wrap\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 3.5h10M2 7h7.5a2 2 0 1 1 0 4H8m0 0 1.5-1.5M8 11l1.5 1.5M2 10.5h3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n {showMinimapBtn && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", minimap && \"ods-monaco__btn--active\")}\n onClick={() => setMinimap((m) => !m)}\n aria-pressed={minimap}\n aria-label=\"Toggle minimap\"\n title=\"Minimap\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"2\"\n y=\"2.5\"\n width=\"6\"\n height=\"9\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n />\n <rect\n x=\"9\"\n y=\"2.5\"\n width=\"3\"\n height=\"9\"\n rx=\"0.5\"\n fill=\"currentColor\"\n opacity=\"0.25\"\n />\n <path\n d=\"M3.5 4.5h3M3.5 6.5h3M3.5 8.5h2\"\n stroke=\"currentColor\"\n strokeWidth=\"1\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n )}\n {showFormat && !readOnly && (\n <button\n type=\"button\"\n className=\"ods-monaco__btn\"\n onClick={handleFormat}\n aria-label=\"Format document\"\n title=\"Format (Shift+Alt+F)\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2.5 4h9M4 7h7.5M5.5 10H11\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M2.5 7 3.5 6 2.5 5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n {showCopy && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", copied && \"ods-monaco__btn--success\")}\n onClick={handleCopy}\n aria-label=\"Copy\"\n title=\"Copy\"\n >\n {copied ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m3 7 3 3 5-6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"3\"\n y=\"3\"\n width=\"8\"\n height=\"8\"\n rx=\"1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n <path\n d=\"M5 1.5h6V8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n strokeLinecap=\"round\"\n />\n </svg>\n )}\n </button>\n )}\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense\n fallback={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading editor…</span>\n </div>\n }\n >\n <Editor\n value={value}\n onChange={(v) => onChange?.(v ?? \"\")}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading editor…</span>\n </div>\n }\n aria-label={ariaLabel}\n />\n </Suspense>\n </div>\n\n {!hideFooter && (\n <div className=\"ods-monaco__footer\">\n <span className=\"ods-monaco__pos\">\n Ln {cursor.line}, Col {cursor.column}\n {selection.chars > 0 && (\n <>\n {\" \"}\n · {selection.chars} char{selection.chars === 1 ? \"\" : \"s\"}\n {selection.lines > 1 && ` · ${selection.lines} lines`}\n </>\n )}\n </span>\n <span className=\"ods-monaco__shortcut-hint\">\n <kbd className=\"ods-monaco__kbd\">⌘F</kbd> find\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">⌘⇧F</kbd> replace\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">F1</kbd> commands\n </span>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":["import_react","import_jsx_runtime","model"]}
1
+ {"version":3,"sources":["../src/monaco.ts","../src/components/MonacoEditor/MonacoDiffEditor.tsx","../src/utils/cn.ts","../src/components/MonacoEditor/octaviaflowTheme.ts","../src/components/MonacoEditor/MonacoEditor.tsx"],"sourcesContent":["// `@octaviaflow/core/monaco` — opt-in entry for the Monaco-based editor\n// components. Pulled into a consumer's bundle only when explicitly imported,\n// so the rest of @octaviaflow/core stays free of any `@monaco-editor/react`\n// peer-dep dependency.\n//\n// Usage:\n// import { MonacoEditor, MonacoDiffEditor } from \"@octaviaflow/core/monaco\";\n//\n// Required peer deps when this subpath is used:\n// - @monaco-editor/react\n// - monaco-editor\n//\n// Lazy-loading is still preserved inside the editor components themselves —\n// the actual `@monaco-editor/react` import happens only when the editor first\n// renders, not at module-evaluation time.\n\nexport {\n MonacoDiffEditor,\n type MonacoDiffEditorHandle,\n type MonacoDiffEditorProps,\n MonacoEditor,\n type MonacoEditorHandle,\n type MonacoEditorProps,\n type MonacoLanguage,\n type MonacoMarker,\n OCTAVIAFLOW_LIGHT,\n OCTAVIAFLOW_THEME_ID,\n} from \"./components/MonacoEditor\";\n","\"use client\";\n// Same lazy-load rationale as MonacoEditor.tsx — keep Monaco out of the\n// synchronous module graph so consumers without @monaco-editor/react can\n// still import @octaviaflow/core safely.\nimport type { Monaco } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n lazy,\n type ReactNode,\n Suspense,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport {\n RenewIcon,\n SplitIcon,\n SquareOutlineIcon,\n} from \"@octaviaflow/icons\";\nimport { cn } from \"../../utils/cn\";\nimport type { MonacoLanguage } from \"./MonacoEditor\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst DiffEditor = lazy(() =>\n import(\"@monaco-editor/react\").then((mod) => ({ default: mod.DiffEditor })),\n);\n\n/* ---------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\n/** Imperative handle returned via `ref` — gives consumers programmatic\n * access to both sides of the diff without exposing the lazy-loaded\n * module type to their build graph. */\nexport interface MonacoDiffEditorHandle {\n /** Move keyboard focus to the modified-side editor. */\n focus(): void;\n /** Access the raw Monaco diff editor (null until mounted). */\n getDiffEditor(): editor.IStandaloneDiffEditor | null;\n /** Access the Monaco namespace (null until mounted). */\n getMonaco(): Monaco | null;\n /** Read the original-side value. */\n getOriginalValue(): string;\n /** Read the modified-side value. */\n getModifiedValue(): string;\n /** Replace the modified-side value. */\n setModifiedValue(value: string): void;\n}\n\ntype DivPropsBase = Omit<\n ComponentPropsWithoutRef<\"div\">,\n \"onChange\" | \"children\"\n>;\n\nexport interface MonacoDiffEditorProps extends DivPropsBase {\n original: string;\n modified: string;\n onModifiedChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Side-by-side vs inline diff. Default \"side-by-side\". */\n renderSideBySide?: boolean;\n /** Read-only on the right side. Default false. */\n readOnly?: boolean;\n /** Show only changed regions. */\n hideUnchangedRegions?: boolean;\n /** Editor height. Default 360. */\n height?: number | string;\n minHeight?: number;\n /** Labels above each side. */\n originalLabel?: ReactNode;\n modifiedLabel?: ReactNode;\n toolbar?: ReactNode;\n /** Pass-through Monaco diff editor options. */\n options?: editor.IDiffEditorConstructionOptions;\n onMount?: (\n editor: editor.IStandaloneDiffEditor,\n monaco: Monaco,\n ) => void;\n theme?: string;\n hideToolbar?: boolean;\n}\n\n/* ---------------------------------------------------------------------------\n * Helpers\n * ------------------------------------------------------------------------- */\n\nfunction LoadingPlaceholder() {\n return (\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <RenewIcon />\n </span>\n <span>Loading diff…</span>\n </div>\n );\n}\n\n/* ---------------------------------------------------------------------------\n * Component\n * ------------------------------------------------------------------------- */\n\nexport const MonacoDiffEditor = forwardRef<\n MonacoDiffEditorHandle,\n MonacoDiffEditorProps\n>(function MonacoDiffEditor(\n {\n original,\n modified,\n onModifiedChange,\n language = \"plaintext\",\n renderSideBySide = true,\n readOnly = false,\n hideUnchangedRegions = false,\n height = 360,\n minHeight = 200,\n originalLabel = \"Original\",\n modifiedLabel = \"Modified\",\n toolbar,\n options,\n onMount,\n className,\n theme,\n hideToolbar = false,\n ...rest\n },\n ref,\n) {\n const editorRef = useRef<editor.IStandaloneDiffEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n const [sideBySide, setSideBySide] = useState(renderSideBySide);\n\n useImperativeHandle(\n ref,\n (): MonacoDiffEditorHandle => ({\n focus: () => editorRef.current?.getModifiedEditor().focus(),\n getDiffEditor: () => editorRef.current,\n getMonaco: () => monacoRef.current,\n getOriginalValue: () =>\n editorRef.current?.getOriginalEditor().getValue() ?? \"\",\n getModifiedValue: () =>\n editorRef.current?.getModifiedEditor().getValue() ?? \"\",\n setModifiedValue: (v: string) =>\n editorRef.current?.getModifiedEditor().setValue(v),\n }),\n [],\n );\n\n const handleMount = (\n diffEditor: editor.IStandaloneDiffEditor,\n monaco: Monaco,\n ) => {\n editorRef.current = diffEditor;\n monacoRef.current = monaco;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n const modifiedEditor = diffEditor.getModifiedEditor();\n modifiedEditor.onDidChangeModelContent(() => {\n onModifiedChange?.(modifiedEditor.getValue());\n });\n\n onMount?.(diffEditor, monaco);\n };\n\n const mergedOptions: editor.IDiffEditorConstructionOptions = {\n readOnly,\n originalEditable: false,\n renderSideBySide: sideBySide,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n lineHeight: 20,\n automaticLayout: true,\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n renderOverviewRuler: true,\n diffWordWrap: \"off\",\n padding: { top: 8, bottom: 8 },\n hideUnchangedRegions: {\n enabled: hideUnchangedRegions,\n revealLineCount: 20,\n minimumLineCount: 3,\n contextLineCount: 3,\n },\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n ...options,\n };\n\n return (\n <div\n {...rest}\n className={cn(\n \"ods-monaco-diff\",\n `ods-monaco-diff--${language}`,\n className,\n )}\n >\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">\n DIFF · {language.toUpperCase()}\n </span>\n <span className=\"ods-monaco-diff__labels\">\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--orig\">\n {originalLabel}\n </span>\n <span className=\"ods-monaco-diff__arrow\" aria-hidden=\"true\">\n →\n </span>\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--mod\">\n {modifiedLabel}\n </span>\n </span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <button\n type=\"button\"\n className={cn(\n \"ods-monaco__btn\",\n sideBySide && \"ods-monaco__btn--active\",\n )}\n onClick={() => setSideBySide((s) => !s)}\n aria-pressed={sideBySide}\n aria-label={\n sideBySide ? \"Switch to inline diff\" : \"Switch to side-by-side\"\n }\n title={sideBySide ? \"Inline\" : \"Side-by-side\"}\n >\n {sideBySide ? <SplitIcon /> : <SquareOutlineIcon />}\n </button>\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense fallback={<LoadingPlaceholder />}>\n <DiffEditor\n original={original}\n modified={modified}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={<LoadingPlaceholder />}\n />\n </Suspense>\n </div>\n </div>\n );\n});\n\nMonacoDiffEditor.displayName = \"MonacoDiffEditor\";\n","import { type ClassValue, clsx } from \"clsx\";\n\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs);\n}\n","import type { editor } from \"monaco-editor\";\n\n/**\n * OctaviaFlow v1 Monaco theme — light, Linear-tight, accent-driven.\n * Hex values mirror the canonical v1 tokens (see packages/styles/src/02-tokens/_v1.scss).\n */\nexport const OCTAVIAFLOW_LIGHT: editor.IStandaloneThemeData = {\n base: \"vs\",\n inherit: true,\n rules: [\n { token: \"\", foreground: \"161616\", background: \"FFFFFF\" },\n { token: \"comment\", foreground: \"6F6F6F\", fontStyle: \"italic\" },\n { token: \"string\", foreground: \"198038\" },\n { token: \"string.key.json\", foreground: \"0F62FE\" },\n { token: \"string.value.json\", foreground: \"198038\" },\n { token: \"number\", foreground: \"0043CE\" },\n { token: \"keyword\", foreground: \"8A3FFC\" },\n { token: \"keyword.sql\", foreground: \"8A3FFC\" },\n { token: \"operator\", foreground: \"393939\" },\n { token: \"delimiter\", foreground: \"525252\" },\n { token: \"type\", foreground: \"0F62FE\" },\n { token: \"type.identifier\", foreground: \"0F62FE\" },\n { token: \"identifier\", foreground: \"161616\" },\n { token: \"constant\", foreground: \"0043CE\" },\n { token: \"boolean\", foreground: \"F1C21B\", fontStyle: \"bold\" },\n { token: \"tag\", foreground: \"DA1E28\" },\n { token: \"attribute.name\", foreground: \"8A3FFC\" },\n { token: \"attribute.value\", foreground: \"198038\" },\n { token: \"regexp\", foreground: \"DA1E28\" },\n { token: \"function\", foreground: \"0F62FE\" },\n { token: \"variable\", foreground: \"161616\" },\n { token: \"variable.parameter\", foreground: \"393939\", fontStyle: \"italic\" },\n { token: \"namespace\", foreground: \"0F62FE\" },\n ],\n colors: {\n \"editor.background\": \"#FFFFFF\",\n \"editor.foreground\": \"#161616\",\n \"editor.lineHighlightBackground\": \"#F4F4F4\",\n \"editor.lineHighlightBorder\": \"#00000000\",\n \"editorLineNumber.foreground\": \"#A8A8A8\",\n \"editorLineNumber.activeForeground\": \"#0F62FE\",\n \"editorCursor.foreground\": \"#0F62FE\",\n \"editor.selectionBackground\": \"#D0E2FF\",\n \"editor.selectionHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightStrongBackground\": \"#D0E2FF\",\n \"editor.findMatchBackground\": \"#FFD7D9\",\n \"editor.findMatchHighlightBackground\": \"#FFE9EB\",\n \"editorIndentGuide.background1\": \"#F4F4F4\",\n \"editorIndentGuide.activeBackground1\": \"#E0E0E0\",\n \"editorWhitespace.foreground\": \"#E0E0E0\",\n \"editorBracketMatch.background\": \"#D0E2FF\",\n \"editorBracketMatch.border\": \"#0F62FE\",\n \"editor.foldBackground\": \"#F4F4F4\",\n\n \"editorGutter.background\": \"#F4F4F4\",\n \"editorGutter.modifiedBackground\": \"#0F62FE\",\n \"editorGutter.addedBackground\": \"#198038\",\n \"editorGutter.deletedBackground\": \"#DA1E28\",\n\n \"editorWidget.background\": \"#FFFFFF\",\n \"editorWidget.foreground\": \"#161616\",\n \"editorWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.background\": \"#FFFFFF\",\n \"editorSuggestWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.foreground\": \"#161616\",\n \"editorSuggestWidget.selectedBackground\": \"#EDF5FF\",\n \"editorSuggestWidget.selectedForeground\": \"#161616\",\n \"editorSuggestWidget.highlightForeground\": \"#0F62FE\",\n\n \"editorHoverWidget.background\": \"#FFFFFF\",\n \"editorHoverWidget.border\": \"#E0E0E0\",\n\n \"editorError.foreground\": \"#DA1E28\",\n \"editorWarning.foreground\": \"#F1C21B\",\n \"editorInfo.foreground\": \"#0F62FE\",\n\n \"diffEditor.insertedTextBackground\": \"#A7F0BA40\",\n \"diffEditor.removedTextBackground\": \"#FFB3B840\",\n \"diffEditor.insertedLineBackground\": \"#DEFBE640\",\n \"diffEditor.removedLineBackground\": \"#FFD7D940\",\n\n \"scrollbar.shadow\": \"#00000000\",\n \"scrollbarSlider.background\": \"#0F62FE20\",\n \"scrollbarSlider.hoverBackground\": \"#0F62FE40\",\n \"scrollbarSlider.activeBackground\": \"#0F62FE60\",\n\n \"minimap.background\": \"#FAFAFA\",\n \"minimap.selectionHighlight\": \"#0F62FE\",\n \"minimapSlider.background\": \"#0F62FE15\",\n \"minimapSlider.hoverBackground\": \"#0F62FE30\",\n \"minimapSlider.activeBackground\": \"#0F62FE50\",\n\n \"input.background\": \"#FFFFFF\",\n \"input.foreground\": \"#161616\",\n \"input.border\": \"#C6C6C6\",\n \"inputOption.activeBorder\": \"#0F62FE\",\n\n focusBorder: \"#0F62FE\",\n },\n};\n\nexport const OCTAVIAFLOW_THEME_ID = \"octaviaflow-light\";\n","\"use client\";\n// IMPORTANT: `@monaco-editor/react` and `monaco-editor` are optional peer deps.\n// Consumers that don't install them must still be able to import the rest of\n// `@octaviaflow/core` without crashing. Using `React.lazy` + dynamic import\n// keeps Monaco out of the synchronous module graph — it only resolves when a\n// MonacoEditor is actually rendered, deferring the require to that moment.\n//\n// Type-only imports for `editor` and `Monaco` are erased at build time, so\n// they impose no runtime dependency.\nimport type { Monaco, OnMount } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n lazy,\n type ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport {\n CheckmarkIcon,\n CopyIcon,\n MagicWandIcon,\n MinimapOffIcon,\n MinimapOnIcon,\n RenewIcon,\n TextWrapIcon,\n} from \"@octaviaflow/icons\";\nimport { cn } from \"../../utils/cn\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst Editor = lazy(() =>\n import(\"@monaco-editor/react\").then((mod) => ({ default: mod.Editor })),\n);\n\n/* ---------------------------------------------------------------------------\n * Types\n * ------------------------------------------------------------------------- */\n\nexport type MonacoLanguage =\n | \"sql\"\n | \"json\"\n | \"javascript\"\n | \"typescript\"\n | \"tsx\"\n | \"yaml\"\n | \"xml\"\n | \"html\"\n | \"css\"\n | \"scss\"\n | \"markdown\"\n | \"python\"\n | \"go\"\n | \"rust\"\n | \"java\"\n | \"csharp\"\n | \"shell\"\n | \"plaintext\";\n\nexport interface MonacoMarker {\n /** 1-based line number. */\n line: number;\n /** 1-based column. */\n column?: number;\n /** 1-based end line. Defaults to `line`. */\n endLine?: number;\n /** 1-based end column. */\n endColumn?: number;\n severity?: \"error\" | \"warning\" | \"info\" | \"hint\";\n message: string;\n /** Optional source label, e.g. \"json-schema\". */\n source?: string;\n}\n\n/** Imperative handle returned via `ref` — gives consumers programmatic\n * access to the underlying Monaco editor without exposing the lazy-loaded\n * module type to their build graph. */\nexport interface MonacoEditorHandle {\n /** Move keyboard focus to the editor surface. */\n focus(): void;\n /** Access the raw Monaco standalone editor (null until mounted). */\n getEditor(): editor.IStandaloneCodeEditor | null;\n /** Access the Monaco namespace (null until mounted). */\n getMonaco(): Monaco | null;\n /** Current model value, or \"\" if not mounted. */\n getValue(): string;\n /** Replace the editor's value (preserves undo history when used via the\n * model's `setValue`). */\n setValue(value: string): void;\n /** Trigger the built-in `editor.action.formatDocument` action. */\n format(): void;\n}\n\ntype DivPropsBase = Omit<\n ComponentPropsWithoutRef<\"div\">,\n \"onChange\" | \"onCopy\" | \"children\"\n>;\n\nexport interface MonacoEditorProps extends DivPropsBase {\n value: string;\n onChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Read-only mode. */\n readOnly?: boolean;\n /** Editor height — number (px) or any CSS length. Default 320. */\n height?: number | string;\n /** Min height when auto-sizing is disabled. */\n minHeight?: number;\n /** Custom toolbar slot above the editor. */\n toolbar?: ReactNode;\n /** Status pill on the right side of the toolbar. */\n status?: ReactNode;\n /** Hide the toolbar entirely. */\n hideToolbar?: boolean;\n /** Hide the footer (cursor pos + shortcut hints). */\n hideFooter?: boolean;\n /** Show built-in Copy button. */\n showCopy?: boolean;\n /** Show built-in Format button. Uses Monaco's `editor.action.formatDocument`. */\n showFormat?: boolean;\n /** Show built-in word-wrap toggle. */\n showWordWrapToggle?: boolean;\n /** Show built-in minimap toggle. */\n showMinimapToggle?: boolean;\n /** Initial word wrap. Default false. */\n wordWrap?: boolean;\n /** Initial minimap state. Default false (off — Linear-tight). */\n minimap?: boolean;\n /** Show line numbers. Default true. */\n showLineNumbers?: boolean;\n /** Diagnostic markers (errors, warnings, info, hints). */\n markers?: MonacoMarker[];\n /** Pass-through Monaco editor options. Merged after the defaults. */\n options?: editor.IStandaloneEditorConstructionOptions;\n /** Called once Monaco has mounted with the editor + monaco namespace. */\n onMount?: OnMount;\n /** Called after the built-in Copy button writes to the clipboard. */\n onCopy?: (value: string) => void;\n /** How long the Copy button shows the \"copied\" state. Default 1200ms. */\n copySuccessTimeoutMs?: number;\n ariaLabel?: string;\n /** Theme override. Defaults to \"octaviaflow-light\". */\n theme?: string;\n}\n\n/* ---------------------------------------------------------------------------\n * Helpers\n * ------------------------------------------------------------------------- */\n\nconst MARKER_SEVERITY: Record<Required<MonacoMarker>[\"severity\"], number> = {\n hint: 1,\n info: 2,\n warning: 4,\n error: 8,\n};\n\nfunction LoadingPlaceholder({ label }: { label: string }) {\n return (\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <RenewIcon />\n </span>\n <span>{label}</span>\n </div>\n );\n}\n\n/* ---------------------------------------------------------------------------\n * Component\n * ------------------------------------------------------------------------- */\n\nexport const MonacoEditor = forwardRef<MonacoEditorHandle, MonacoEditorProps>(\n function MonacoEditor(\n {\n value,\n onChange,\n language = \"plaintext\",\n readOnly = false,\n height = 320,\n minHeight = 120,\n toolbar,\n status,\n hideToolbar = false,\n hideFooter = false,\n showCopy = true,\n showFormat = true,\n showWordWrapToggle = true,\n showMinimapToggle = true,\n wordWrap: wordWrapProp,\n minimap: minimapProp,\n showLineNumbers = true,\n markers,\n options,\n onMount,\n onCopy,\n copySuccessTimeoutMs = 1200,\n className,\n ariaLabel = \"Code editor\",\n theme,\n ...rest\n },\n ref,\n ) {\n const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n\n const [wordWrap, setWordWrap] = useState<boolean>(wordWrapProp ?? false);\n const [minimap, setMinimap] = useState<boolean>(minimapProp ?? false);\n const [copied, setCopied] = useState(false);\n const [cursor, setCursor] = useState({ line: 1, column: 1 });\n const [selection, setSelection] = useState({ chars: 0, lines: 0 });\n const [lineCount, setLineCount] = useState(value.split(\"\\n\").length);\n\n // Imperative handle — exposes only the surface consumers need.\n useImperativeHandle(\n ref,\n (): MonacoEditorHandle => ({\n focus: () => editorRef.current?.focus(),\n getEditor: () => editorRef.current,\n getMonaco: () => monacoRef.current,\n getValue: () => editorRef.current?.getValue() ?? \"\",\n setValue: (v: string) => editorRef.current?.setValue(v),\n format: () =>\n editorRef.current?.getAction(\"editor.action.formatDocument\")?.run(),\n }),\n [],\n );\n\n // Keep prop-driven state in sync if controlled\n useEffect(() => {\n if (wordWrapProp !== undefined) setWordWrap(wordWrapProp);\n }, [wordWrapProp]);\n useEffect(() => {\n if (minimapProp !== undefined) setMinimap(minimapProp);\n }, [minimapProp]);\n\n // Apply word wrap / minimap changes to the live editor\n useEffect(() => {\n editorRef.current?.updateOptions({\n wordWrap: wordWrap ? \"on\" : \"off\",\n minimap: { enabled: minimap },\n });\n }, [wordWrap, minimap]);\n\n // Apply markers when they change\n useEffect(() => {\n const ed = editorRef.current;\n const monaco = monacoRef.current;\n if (!ed || !monaco || !markers) return;\n const model = ed.getModel();\n if (!model) return;\n monaco.editor.setModelMarkers(\n model,\n \"octaviaflow\",\n markers.map((m) => ({\n severity: MARKER_SEVERITY[m.severity ?? \"error\"],\n message: m.message,\n startLineNumber: m.line,\n startColumn: m.column ?? 1,\n endLineNumber: m.endLine ?? m.line,\n endColumn: m.endColumn ?? (m.column ?? 1) + 1,\n source: m.source,\n })),\n );\n }, [markers]);\n\n const handleMount: OnMount = useCallback(\n (ed, monaco) => {\n editorRef.current = ed;\n monacoRef.current = monaco;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n // Cursor + selection tracking\n ed.onDidChangeCursorPosition((e) => {\n setCursor({ line: e.position.lineNumber, column: e.position.column });\n });\n ed.onDidChangeCursorSelection((e) => {\n const sel = e.selection;\n if (sel.isEmpty()) {\n setSelection({ chars: 0, lines: 0 });\n return;\n }\n const model = ed.getModel();\n if (!model) return;\n const text = model.getValueInRange(sel);\n setSelection({\n chars: text.length,\n lines: text.split(\"\\n\").length,\n });\n });\n // Track line count for footer\n const model = ed.getModel();\n if (model) {\n setLineCount(model.getLineCount());\n model.onDidChangeContent(() => setLineCount(model.getLineCount()));\n }\n\n onMount?.(ed, monaco);\n },\n [onMount, theme],\n );\n\n const handleCopy = async () => {\n if (typeof navigator === \"undefined\") return;\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n onCopy?.(value);\n setTimeout(() => setCopied(false), copySuccessTimeoutMs);\n } catch {\n /* ignore — clipboard permission denied or insecure context */\n }\n };\n\n const handleFormat = () => {\n editorRef.current?.getAction(\"editor.action.formatDocument\")?.run();\n };\n\n const mergedOptions: editor.IStandaloneEditorConstructionOptions = {\n readOnly,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n fontLigatures: true,\n lineHeight: 20,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: minimap },\n wordWrap: wordWrap ? \"on\" : \"off\",\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n cursorBlinking: \"smooth\",\n cursorSmoothCaretAnimation: \"on\",\n renderLineHighlight: \"line\",\n padding: { top: 8, bottom: 8 },\n bracketPairColorization: { enabled: true },\n guides: { bracketPairs: true, indentation: true },\n automaticLayout: true,\n tabSize: 2,\n insertSpaces: true,\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n fixedOverflowWidgets: true,\n contextmenu: true,\n suggestOnTriggerCharacters: true,\n quickSuggestions: { other: true, comments: false, strings: false },\n formatOnPaste: false,\n formatOnType: false,\n \"semanticHighlighting.enabled\": true,\n ...options,\n };\n\n const showWrapBtn = showWordWrapToggle && wordWrapProp === undefined;\n const showMinimapBtn = showMinimapToggle && minimapProp === undefined;\n\n return (\n <div\n {...rest}\n className={cn(\n \"ods-monaco\",\n `ods-monaco--${language}`,\n readOnly && \"ods-monaco--readonly\",\n className,\n )}\n >\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">{language.toUpperCase()}</span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <span className=\"ods-monaco__lines\">\n {lineCount} line{lineCount === 1 ? \"\" : \"s\"}\n </span>\n {status && <span className=\"ods-monaco__status\">{status}</span>}\n {showWrapBtn && (\n <button\n type=\"button\"\n className={cn(\n \"ods-monaco__btn\",\n wordWrap && \"ods-monaco__btn--active\",\n )}\n onClick={() => setWordWrap((w) => !w)}\n aria-pressed={wordWrap}\n aria-label=\"Toggle word wrap\"\n title=\"Word wrap\"\n >\n <TextWrapIcon />\n </button>\n )}\n {showMinimapBtn && (\n <button\n type=\"button\"\n className={cn(\n \"ods-monaco__btn\",\n minimap && \"ods-monaco__btn--active\",\n )}\n onClick={() => setMinimap((m) => !m)}\n aria-pressed={minimap}\n aria-label=\"Toggle minimap\"\n title=\"Minimap\"\n >\n {minimap ? <MinimapOnIcon /> : <MinimapOffIcon />}\n </button>\n )}\n {showFormat && !readOnly && (\n <button\n type=\"button\"\n className=\"ods-monaco__btn\"\n onClick={handleFormat}\n aria-label=\"Format document\"\n title=\"Format (Shift+Alt+F)\"\n >\n <MagicWandIcon />\n </button>\n )}\n {showCopy && (\n <button\n type=\"button\"\n className={cn(\n \"ods-monaco__btn\",\n copied && \"ods-monaco__btn--success\",\n )}\n onClick={handleCopy}\n aria-label={copied ? \"Copied\" : \"Copy\"}\n title={copied ? \"Copied\" : \"Copy\"}\n >\n {copied ? <CheckmarkIcon /> : <CopyIcon />}\n </button>\n )}\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense fallback={<LoadingPlaceholder label=\"Loading editor…\" />}>\n <Editor\n value={value}\n onChange={(v) => onChange?.(v ?? \"\")}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={<LoadingPlaceholder label=\"Loading editor…\" />}\n aria-label={ariaLabel}\n />\n </Suspense>\n </div>\n\n {!hideFooter && (\n <div className=\"ods-monaco__footer\">\n <span className=\"ods-monaco__pos\">\n Ln {cursor.line}, Col {cursor.column}\n {selection.chars > 0 && (\n <>\n {\" \"}\n · {selection.chars} char{selection.chars === 1 ? \"\" : \"s\"}\n {selection.lines > 1 && ` · ${selection.lines} lines`}\n </>\n )}\n </span>\n <span className=\"ods-monaco__shortcut-hint\">\n <kbd className=\"ods-monaco__kbd\">⌘F</kbd> find\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">⌘⇧F</kbd> replace\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">F1</kbd> commands\n </span>\n </div>\n )}\n </div>\n );\n },\n);\n\nMonacoEditor.displayName = \"MonacoEditor\";\n"],"mappings":"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","names":["MonacoDiffEditor","import_react","import_icons","import_jsx_runtime","LoadingPlaceholder","MonacoEditor","model"]}
package/dist/monaco.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { MonacoDiffEditor, type MonacoDiffEditorProps, MonacoEditor, type MonacoEditorProps, type MonacoLanguage, type MonacoMarker, OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID, } from "./components/MonacoEditor";
1
+ export { MonacoDiffEditor, type MonacoDiffEditorHandle, type MonacoDiffEditorProps, MonacoEditor, type MonacoEditorHandle, type MonacoEditorProps, type MonacoLanguage, type MonacoMarker, OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID, } from "./components/MonacoEditor";
2
2
  //# sourceMappingURL=monaco.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monaco.d.ts","sourceRoot":"","sources":["../src/monaco.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"monaco.d.ts","sourceRoot":"","sources":["../src/monaco.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC"}