@lobb-js/studio 0.1.38 → 0.1.40

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 (342) hide show
  1. package/dist/Lobb.js +358 -0
  2. package/dist/Studio.svelte +150 -0
  3. package/dist/Studio.svelte.d.ts +6 -0
  4. package/{src/lib → dist}/components/LlmButton.svelte +2 -2
  5. package/dist/components/LlmButton.svelte.d.ts +17 -0
  6. package/{src/lib → dist}/components/Studio.svelte +10 -10
  7. package/dist/components/Studio.svelte.d.ts +6 -0
  8. package/{src/lib → dist}/components/alertView.svelte +1 -1
  9. package/dist/components/alertView.svelte.d.ts +8 -0
  10. package/{src/lib → dist}/components/breadCrumbs.svelte +2 -2
  11. package/dist/components/breadCrumbs.svelte.d.ts +3 -0
  12. package/{src/lib → dist}/components/combobox.svelte +4 -4
  13. package/dist/components/combobox.svelte.d.ts +15 -0
  14. package/{src/lib → dist}/components/confirmationDialog/confirmationDialog.svelte +1 -1
  15. package/dist/components/confirmationDialog/confirmationDialog.svelte.d.ts +8 -0
  16. package/dist/components/confirmationDialog/store.svelte.d.ts +1 -0
  17. package/dist/components/confirmationDialog/store.svelte.js +69 -0
  18. package/{src/lib → dist}/components/createManyButton.svelte +2 -2
  19. package/dist/components/createManyButton.svelte.d.ts +8 -0
  20. package/{src/lib → dist}/components/dataTable/childRecords.svelte +2 -2
  21. package/dist/components/dataTable/childRecords.svelte.d.ts +9 -0
  22. package/{src/lib → dist}/components/dataTable/dataTable.svelte +3 -3
  23. package/dist/components/dataTable/dataTable.svelte.d.ts +15 -0
  24. package/{src/lib → dist}/components/dataTable/fieldCell.svelte +1 -1
  25. package/dist/components/dataTable/fieldCell.svelte.d.ts +10 -0
  26. package/{src/lib → dist}/components/dataTable/filter.svelte +2 -2
  27. package/dist/components/dataTable/filter.svelte.d.ts +10 -0
  28. package/{src/lib → dist}/components/dataTable/filterButton.svelte +1 -1
  29. package/dist/components/dataTable/filterButton.svelte.d.ts +8 -0
  30. package/dist/components/dataTable/footer.svelte.d.ts +8 -0
  31. package/{src/lib → dist}/components/dataTable/header.svelte +2 -2
  32. package/dist/components/dataTable/header.svelte.d.ts +10 -0
  33. package/{src/lib → dist}/components/dataTable/sort.svelte +2 -2
  34. package/dist/components/dataTable/sort.svelte.d.ts +8 -0
  35. package/{src/lib → dist}/components/dataTable/sortButton.svelte +2 -2
  36. package/dist/components/dataTable/sortButton.svelte.d.ts +8 -0
  37. package/dist/components/dataTable/table.svelte.d.ts +32 -0
  38. package/dist/components/dataTable/utils.d.ts +7 -0
  39. package/dist/components/dataTable/utils.js +111 -0
  40. package/{src/lib → dist}/components/detailView/create/children.svelte +3 -3
  41. package/dist/components/detailView/create/children.svelte.d.ts +8 -0
  42. package/{src/lib → dist}/components/detailView/create/createDetailView.svelte +6 -6
  43. package/dist/components/detailView/create/createDetailView.svelte.d.ts +18 -0
  44. package/{src/lib → dist}/components/detailView/create/createDetailViewButton.svelte +2 -2
  45. package/dist/components/detailView/create/createDetailViewButton.svelte.d.ts +11 -0
  46. package/{src/lib → dist}/components/detailView/create/createManyView.svelte +5 -5
  47. package/dist/components/detailView/create/createManyView.svelte.d.ts +16 -0
  48. package/{src/lib → dist}/components/detailView/create/subRecords.svelte +1 -1
  49. package/dist/components/detailView/create/subRecords.svelte.d.ts +8 -0
  50. package/dist/components/detailView/detailViewForm.svelte.d.ts +48 -0
  51. package/dist/components/detailView/fieldCustomInput.svelte.d.ts +10 -0
  52. package/{src/lib → dist}/components/detailView/fieldInput.svelte +4 -4
  53. package/dist/components/detailView/fieldInput.svelte.d.ts +10 -0
  54. package/{src/lib → dist}/components/detailView/fieldInputReplacement.svelte +1 -1
  55. package/dist/components/detailView/fieldInputReplacement.svelte.d.ts +11 -0
  56. package/dist/components/detailView/store.svelte.d.ts +4 -0
  57. package/dist/components/detailView/store.svelte.js +125 -0
  58. package/{src/lib → dist}/components/detailView/update/children.svelte +4 -4
  59. package/dist/components/detailView/update/children.svelte.d.ts +7 -0
  60. package/{src/lib → dist}/components/detailView/update/updateDetailView.svelte +6 -6
  61. package/dist/components/detailView/update/updateDetailView.svelte.d.ts +19 -0
  62. package/{src/lib → dist}/components/detailView/update/updateDetailViewButton.svelte +2 -2
  63. package/dist/components/detailView/update/updateDetailViewButton.svelte.d.ts +11 -0
  64. package/dist/components/detailView/utils.d.ts +8 -0
  65. package/dist/components/detailView/utils.js +165 -0
  66. package/{src/lib → dist}/components/diffViewer.svelte +1 -1
  67. package/dist/components/diffViewer.svelte.d.ts +9 -0
  68. package/{src/lib → dist}/components/drawer.svelte +1 -1
  69. package/dist/components/drawer.svelte.d.ts +8 -0
  70. package/{src/lib → dist}/components/extensionsComponents.svelte +1 -1
  71. package/dist/components/extensionsComponents.svelte.d.ts +11 -0
  72. package/dist/components/foreingKeyInput.svelte.d.ts +11 -0
  73. package/{src/lib → dist}/components/header.svelte +1 -1
  74. package/dist/components/header.svelte.d.ts +6 -0
  75. package/dist/components/loadingTypesForMonacoEditor.d.ts +7 -0
  76. package/dist/components/loadingTypesForMonacoEditor.js +72 -0
  77. package/{src/lib → dist}/components/miniSidebar.svelte +7 -7
  78. package/dist/components/miniSidebar.svelte.d.ts +20 -0
  79. package/{src/lib → dist}/components/monacoEditor.svelte +1 -1
  80. package/dist/components/monacoEditor.svelte.d.ts +13 -0
  81. package/{src/lib → dist}/components/rangeCalendarButton.svelte +4 -4
  82. package/dist/components/rangeCalendarButton.svelte.d.ts +7 -0
  83. package/{src/lib → dist}/components/routes/collections/collection.svelte +4 -4
  84. package/dist/components/routes/collections/collection.svelte.d.ts +11 -0
  85. package/{src/lib → dist}/components/routes/collections/collections.svelte +3 -3
  86. package/{src/lib → dist}/components/routes/data_model/dataModel.svelte +2 -2
  87. package/{src/lib → dist}/components/routes/data_model/flow.svelte +1 -1
  88. package/{src/lib → dist}/components/routes/data_model/syncManager.svelte +6 -6
  89. package/dist/components/routes/data_model/utils.js +34 -0
  90. package/{src/lib → dist}/components/routes/extensions/extension.svelte +2 -2
  91. package/dist/components/routes/extensions/extension.svelte.d.ts +13 -0
  92. package/{src/lib → dist}/components/routes/home.svelte +2 -2
  93. package/dist/components/routes/home.svelte.d.ts +26 -0
  94. package/{src/lib → dist}/components/routes/workflows/workflows.svelte +8 -8
  95. package/{src/lib → dist}/components/selectRecord.svelte +1 -1
  96. package/dist/components/selectRecord.svelte.d.ts +15 -0
  97. package/{src/lib → dist}/components/setServerPage.svelte +2 -2
  98. package/dist/components/setServerPage.svelte.d.ts +18 -0
  99. package/{src/lib/components/sidebar/index.ts → dist/components/sidebar/index.d.ts} +1 -2
  100. package/dist/components/sidebar/index.js +3 -0
  101. package/{src/lib → dist}/components/sidebar/sidebar.svelte +1 -1
  102. package/dist/components/sidebar/sidebar.svelte.d.ts +17 -0
  103. package/dist/components/sidebar/sidebarElements.svelte.d.ts +19 -0
  104. package/dist/components/sidebar/sidebarTrigger.svelte.d.ts +7 -0
  105. package/{src/lib → dist}/components/singletone.svelte +1 -1
  106. package/dist/components/singletone.svelte.d.ts +6 -0
  107. package/{src/lib → dist}/components/ui/accordion/accordion-content.svelte +1 -1
  108. package/dist/components/ui/accordion/accordion-content.svelte.d.ts +4 -0
  109. package/{src/lib → dist}/components/ui/accordion/accordion-item.svelte +1 -1
  110. package/dist/components/ui/accordion/accordion-item.svelte.d.ts +4 -0
  111. package/{src/lib → dist}/components/ui/accordion/accordion-trigger.svelte +1 -1
  112. package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +7 -0
  113. package/dist/components/ui/accordion/index.d.ts +6 -0
  114. package/{src/lib/components/ui/accordion/index.ts → dist/components/ui/accordion/index.js} +4 -13
  115. package/{src/lib → dist}/components/ui/alert/alert-description.svelte +1 -1
  116. package/dist/components/ui/alert/alert-description.svelte.d.ts +5 -0
  117. package/{src/lib → dist}/components/ui/alert/alert-title.svelte +1 -1
  118. package/dist/components/ui/alert/alert-title.svelte.d.ts +8 -0
  119. package/{src/lib → dist}/components/ui/alert/alert.svelte +1 -1
  120. package/dist/components/ui/alert/alert.svelte.d.ts +26 -0
  121. package/{src/lib/components/ui/alert/index.ts → dist/components/ui/alert/index.d.ts} +1 -10
  122. package/dist/components/ui/alert/index.js +7 -0
  123. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-action.svelte +2 -2
  124. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +4 -0
  125. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-cancel.svelte +2 -2
  126. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +4 -0
  127. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-content.svelte +1 -1
  128. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +7 -0
  129. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-description.svelte +1 -1
  130. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +4 -0
  131. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-footer.svelte +1 -1
  132. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +5 -0
  133. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-header.svelte +1 -1
  134. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +5 -0
  135. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
  136. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +4 -0
  137. package/{src/lib → dist}/components/ui/alert-dialog/alert-dialog-title.svelte +1 -1
  138. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +4 -0
  139. package/dist/components/ui/alert-dialog/index.d.ts +13 -0
  140. package/dist/components/ui/alert-dialog/index.js +15 -0
  141. package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +1 -1
  142. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  143. package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb-item.svelte +1 -1
  144. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  145. package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb-link.svelte +1 -1
  146. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  147. package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb-list.svelte +1 -1
  148. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  149. package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb-page.svelte +1 -1
  150. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  151. package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb-separator.svelte +1 -1
  152. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  153. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  154. package/{src/lib/components/ui/breadcrumb/index.ts → dist/components/ui/breadcrumb/index.d.ts} +1 -18
  155. package/dist/components/ui/breadcrumb/index.js +10 -0
  156. package/{src/lib → dist}/components/ui/button/button.svelte +1 -1
  157. package/dist/components/ui/button/button.svelte.d.ts +60 -0
  158. package/dist/components/ui/button/index.d.ts +2 -0
  159. package/dist/components/ui/button/index.js +4 -0
  160. package/{src/lib → dist}/components/ui/checkbox/checkbox.svelte +1 -1
  161. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
  162. package/dist/components/ui/checkbox/index.d.ts +2 -0
  163. package/dist/components/ui/checkbox/index.js +4 -0
  164. package/{src/lib → dist}/components/ui/command/command-dialog.svelte +1 -1
  165. package/dist/components/ui/command/command-dialog.svelte.d.ts +9 -0
  166. package/{src/lib → dist}/components/ui/command/command-empty.svelte +1 -1
  167. package/dist/components/ui/command/command-empty.svelte.d.ts +4 -0
  168. package/{src/lib → dist}/components/ui/command/command-group.svelte +1 -1
  169. package/dist/components/ui/command/command-group.svelte.d.ts +7 -0
  170. package/{src/lib → dist}/components/ui/command/command-input.svelte +1 -1
  171. package/dist/components/ui/command/command-input.svelte.d.ts +4 -0
  172. package/{src/lib → dist}/components/ui/command/command-item.svelte +1 -1
  173. package/dist/components/ui/command/command-item.svelte.d.ts +4 -0
  174. package/{src/lib → dist}/components/ui/command/command-link-item.svelte +1 -1
  175. package/dist/components/ui/command/command-link-item.svelte.d.ts +4 -0
  176. package/{src/lib → dist}/components/ui/command/command-list.svelte +1 -1
  177. package/dist/components/ui/command/command-list.svelte.d.ts +4 -0
  178. package/{src/lib → dist}/components/ui/command/command-separator.svelte +1 -1
  179. package/dist/components/ui/command/command-separator.svelte.d.ts +4 -0
  180. package/{src/lib → dist}/components/ui/command/command-shortcut.svelte +1 -1
  181. package/dist/components/ui/command/command-shortcut.svelte.d.ts +5 -0
  182. package/{src/lib → dist}/components/ui/command/command.svelte +1 -1
  183. package/dist/components/ui/command/command.svelte.d.ts +4 -0
  184. package/{src/lib/components/ui/command/index.ts → dist/components/ui/command/index.d.ts} +2 -29
  185. package/dist/components/ui/command/index.js +15 -0
  186. package/{src/lib → dist}/components/ui/dialog/dialog-content.svelte +1 -1
  187. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +9 -0
  188. package/{src/lib → dist}/components/ui/dialog/dialog-description.svelte +1 -1
  189. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  190. package/{src/lib → dist}/components/ui/dialog/dialog-footer.svelte +1 -1
  191. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
  192. package/{src/lib → dist}/components/ui/dialog/dialog-header.svelte +1 -1
  193. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  194. package/{src/lib → dist}/components/ui/dialog/dialog-overlay.svelte +1 -1
  195. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  196. package/{src/lib → dist}/components/ui/dialog/dialog-title.svelte +1 -1
  197. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  198. package/dist/components/ui/dialog/index.d.ts +12 -0
  199. package/dist/components/ui/dialog/index.js +14 -0
  200. package/dist/components/ui/input/index.d.ts +2 -0
  201. package/dist/components/ui/input/index.js +4 -0
  202. package/{src/lib → dist}/components/ui/input/input.svelte +1 -1
  203. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  204. package/dist/components/ui/label/index.d.ts +2 -0
  205. package/dist/components/ui/label/index.js +4 -0
  206. package/{src/lib → dist}/components/ui/label/label.svelte +1 -1
  207. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  208. package/dist/components/ui/popover/index.d.ts +6 -0
  209. package/dist/components/ui/popover/index.js +8 -0
  210. package/{src/lib → dist}/components/ui/popover/popover-content.svelte +1 -1
  211. package/dist/components/ui/popover/popover-content.svelte.d.ts +7 -0
  212. package/{src/lib/components/ui/range-calendar/index.ts → dist/components/ui/range-calendar/index.d.ts} +1 -17
  213. package/dist/components/ui/range-calendar/index.js +16 -0
  214. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-cell.svelte +1 -1
  215. package/dist/components/ui/range-calendar/range-calendar-cell.svelte.d.ts +4 -0
  216. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-day.svelte +2 -2
  217. package/dist/components/ui/range-calendar/range-calendar-day.svelte.d.ts +6 -0
  218. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-grid-body.svelte +1 -1
  219. package/dist/components/ui/range-calendar/range-calendar-grid-body.svelte.d.ts +4 -0
  220. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-grid-head.svelte +1 -1
  221. package/dist/components/ui/range-calendar/range-calendar-grid-head.svelte.d.ts +4 -0
  222. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-grid-row.svelte +1 -1
  223. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte.d.ts +4 -0
  224. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-grid.svelte +1 -1
  225. package/dist/components/ui/range-calendar/range-calendar-grid.svelte.d.ts +4 -0
  226. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-head-cell.svelte +1 -1
  227. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte.d.ts +4 -0
  228. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-header.svelte +1 -1
  229. package/dist/components/ui/range-calendar/range-calendar-header.svelte.d.ts +4 -0
  230. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-heading.svelte +1 -1
  231. package/dist/components/ui/range-calendar/range-calendar-heading.svelte.d.ts +4 -0
  232. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-months.svelte +1 -1
  233. package/dist/components/ui/range-calendar/range-calendar-months.svelte.d.ts +5 -0
  234. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-next-button.svelte +2 -2
  235. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte.d.ts +4 -0
  236. package/{src/lib → dist}/components/ui/range-calendar/range-calendar-prev-button.svelte +2 -2
  237. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte.d.ts +4 -0
  238. package/{src/lib → dist}/components/ui/range-calendar/range-calendar.svelte +1 -1
  239. package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +5 -0
  240. package/dist/components/ui/select/index.d.ts +11 -0
  241. package/dist/components/ui/select/index.js +13 -0
  242. package/{src/lib → dist}/components/ui/select/select-content.svelte +1 -1
  243. package/dist/components/ui/select/select-content.svelte.d.ts +7 -0
  244. package/{src/lib → dist}/components/ui/select/select-group-heading.svelte +1 -1
  245. package/dist/components/ui/select/select-group-heading.svelte.d.ts +4 -0
  246. package/{src/lib → dist}/components/ui/select/select-item.svelte +1 -1
  247. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  248. package/{src/lib → dist}/components/ui/select/select-scroll-down-button.svelte +1 -1
  249. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  250. package/{src/lib → dist}/components/ui/select/select-scroll-up-button.svelte +1 -1
  251. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  252. package/{src/lib → dist}/components/ui/select/select-separator.svelte +2 -2
  253. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  254. package/{src/lib → dist}/components/ui/select/select-trigger.svelte +1 -1
  255. package/dist/components/ui/select/select-trigger.svelte.d.ts +4 -0
  256. package/dist/components/ui/separator/index.d.ts +2 -0
  257. package/dist/components/ui/separator/index.js +4 -0
  258. package/{src/lib → dist}/components/ui/separator/separator.svelte +1 -1
  259. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  260. package/dist/components/ui/skeleton/index.d.ts +2 -0
  261. package/dist/components/ui/skeleton/index.js +4 -0
  262. package/{src/lib → dist}/components/ui/skeleton/skeleton.svelte +1 -1
  263. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
  264. package/dist/components/ui/sonner/index.js +1 -0
  265. package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
  266. package/dist/components/ui/switch/index.d.ts +2 -0
  267. package/dist/components/ui/switch/index.js +4 -0
  268. package/{src/lib → dist}/components/ui/switch/switch.svelte +1 -1
  269. package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
  270. package/dist/components/ui/textarea/index.d.ts +2 -0
  271. package/dist/components/ui/textarea/index.js +4 -0
  272. package/{src/lib → dist}/components/ui/textarea/textarea.svelte +1 -1
  273. package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
  274. package/dist/components/ui/tooltip/index.d.ts +6 -0
  275. package/dist/components/ui/tooltip/index.js +8 -0
  276. package/{src/lib → dist}/components/ui/tooltip/tooltip-content.svelte +1 -1
  277. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +4 -0
  278. package/{src/lib → dist}/components/workflowEditor.svelte +5 -5
  279. package/dist/components/workflowEditor.svelte.d.ts +16 -0
  280. package/dist/eventSystem.js +89 -0
  281. package/{src/lib → dist}/extensions/extension.types.d.ts +21 -21
  282. package/dist/extensions/extension.types.js +1 -0
  283. package/dist/extensions/extensionUtils.js +239 -0
  284. package/dist/index.js +27 -0
  285. package/dist/store.svelte.js +72 -0
  286. package/dist/store.types.js +1 -0
  287. package/dist/utils.js +72 -0
  288. package/package.json +18 -6
  289. package/vite-plugins/index.js +3 -6
  290. package/vite-plugins/monorepo-import-resolver.js +92 -0
  291. package/src/lib/Lobb.ts +0 -241
  292. package/src/lib/components/confirmationDialog/store.svelte.ts +0 -28
  293. package/src/lib/components/dataTable/utils.ts +0 -127
  294. package/src/lib/components/detailView/store.svelte.ts +0 -61
  295. package/src/lib/components/detailView/utils.ts +0 -177
  296. package/src/lib/components/loadingTypesForMonacoEditor.ts +0 -36
  297. package/src/lib/components/routes/data_model/utils.ts +0 -35
  298. package/src/lib/components/ui/alert-dialog/index.ts +0 -40
  299. package/src/lib/components/ui/button/index.ts +0 -17
  300. package/src/lib/components/ui/checkbox/index.ts +0 -6
  301. package/src/lib/components/ui/dialog/index.ts +0 -37
  302. package/src/lib/components/ui/input/index.ts +0 -7
  303. package/src/lib/components/ui/label/index.ts +0 -7
  304. package/src/lib/components/ui/popover/index.ts +0 -17
  305. package/src/lib/components/ui/select/index.ts +0 -34
  306. package/src/lib/components/ui/separator/index.ts +0 -7
  307. package/src/lib/components/ui/skeleton/index.ts +0 -7
  308. package/src/lib/components/ui/switch/index.ts +0 -7
  309. package/src/lib/components/ui/textarea/index.ts +0 -7
  310. package/src/lib/components/ui/tooltip/index.ts +0 -18
  311. package/src/lib/eventSystem.ts +0 -38
  312. package/src/lib/extensions/extension.types.ts +0 -92
  313. package/src/lib/extensions/extensionUtils.ts +0 -191
  314. package/src/lib/index.ts +0 -36
  315. package/src/lib/store.svelte.ts +0 -33
  316. package/src/lib/store.types.ts +0 -28
  317. package/src/lib/utils.ts +0 -79
  318. package/vite-plugins/studio-source-resolver.js +0 -41
  319. /package/{src/lib → dist}/Lobb.d.ts +0 -0
  320. /package/{src/lib → dist}/components/dataTable/footer.svelte +0 -0
  321. /package/{src/lib → dist}/components/dataTable/table.svelte +0 -0
  322. /package/{src/lib → dist}/components/detailView/detailViewForm.svelte +0 -0
  323. /package/{src/lib → dist}/components/detailView/fieldCustomInput.svelte +0 -0
  324. /package/{src/lib → dist}/components/foreingKeyInput.svelte +0 -0
  325. /package/{src/lib → dist}/components/routes/collections/collections.svelte.d.ts +0 -0
  326. /package/{src/lib → dist}/components/routes/data_model/dataModel.svelte.d.ts +0 -0
  327. /package/{src/lib → dist}/components/routes/data_model/flow.css +0 -0
  328. /package/{src/lib → dist}/components/routes/data_model/flow.svelte.d.ts +0 -0
  329. /package/{src/lib → dist}/components/routes/data_model/syncManager.svelte.d.ts +0 -0
  330. /package/{src/lib → dist}/components/routes/data_model/utils.d.ts +0 -0
  331. /package/{src/lib → dist}/components/routes/workflows/workflows.svelte.d.ts +0 -0
  332. /package/{src/lib → dist}/components/sidebar/sidebarElements.svelte +0 -0
  333. /package/{src/lib → dist}/components/sidebar/sidebarTrigger.svelte +0 -0
  334. /package/{src/lib → dist}/components/ui/breadcrumb/breadcrumb.svelte +0 -0
  335. /package/{src/lib/components/ui/sonner/index.ts → dist/components/ui/sonner/index.d.ts} +0 -0
  336. /package/{src/lib → dist}/components/ui/sonner/sonner.svelte +0 -0
  337. /package/{src/lib → dist}/eventSystem.d.ts +0 -0
  338. /package/{src/lib → dist}/extensions/extensionUtils.d.ts +0 -0
  339. /package/{src/lib → dist}/index.d.ts +0 -0
  340. /package/{src/lib → dist}/store.svelte.d.ts +0 -0
  341. /package/{src/lib → dist}/store.types.d.ts +0 -0
  342. /package/{src/lib → dist}/utils.d.ts +0 -0
@@ -0,0 +1,239 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
46
+ import { lobb } from "..";
47
+ import { ctx } from "../store.svelte";
48
+ import { toast } from "svelte-sonner";
49
+ import { showDialog } from "../components/confirmationDialog/store.svelte";
50
+ import { Button } from "../components/ui/button";
51
+ import { Input } from "../components/ui/input";
52
+ import { Separator } from "../components/ui/separator";
53
+ import { Skeleton } from "../components/ui/skeleton";
54
+ import Table from "../components/dataTable/table.svelte";
55
+ import { mediaQueries } from "../utils";
56
+ import LlmButton from "../components/LlmButton.svelte";
57
+ import Sidebar from "../components/sidebar/sidebar.svelte";
58
+ import SidebarTrigger from "../components/sidebar/sidebarTrigger.svelte";
59
+ import CreateDetailViewButton from "../components/detailView/create/createDetailViewButton.svelte";
60
+ import UpdateDetailViewButton from "../components/detailView/update/updateDetailViewButton.svelte";
61
+ import * as intlDate from "@internationalized/date";
62
+ import * as Tooltip from "../components/ui/tooltip";
63
+ import * as Breadcrumb from "../components/ui/breadcrumb";
64
+ import { ContextMenu } from "bits-ui";
65
+ import * as Popover from "../components/ui/popover";
66
+ import * as Icons from "lucide-svelte";
67
+ import { location } from "@wjfe/n-savant";
68
+ import RangeCalendarButton from "../components/rangeCalendarButton.svelte";
69
+ import DataTable from "../components/dataTable/dataTable.svelte";
70
+ import Drawer from "../components/drawer.svelte";
71
+ import SelectRecord from "../components/selectRecord.svelte";
72
+ import { Switch } from "../components/ui/switch";
73
+ export function getComponents() {
74
+ return {
75
+ Button: Button,
76
+ Input: Input,
77
+ Separator: Separator,
78
+ Skeleton: Skeleton,
79
+ LlmButton: LlmButton,
80
+ Sidebar: Sidebar,
81
+ SidebarTrigger: SidebarTrigger,
82
+ CreateDetailViewButton: CreateDetailViewButton,
83
+ UpdateDetailViewButton: UpdateDetailViewButton,
84
+ Tooltip: Tooltip,
85
+ Breadcrumb: Breadcrumb,
86
+ ContextMenu: ContextMenu,
87
+ Popover: Popover,
88
+ Icons: Icons,
89
+ Table: Table,
90
+ RangeCalendarButton: RangeCalendarButton,
91
+ DataTable: DataTable,
92
+ Drawer: Drawer,
93
+ SelectRecord: SelectRecord,
94
+ Switch: Switch,
95
+ };
96
+ }
97
+ export function getExtensionUtils() {
98
+ return {
99
+ ctx: ctx,
100
+ lobb: lobb,
101
+ location: location,
102
+ toast: toast,
103
+ showDialog: showDialog,
104
+ components: getComponents(),
105
+ mediaQueries: mediaQueries,
106
+ intlDate: intlDate,
107
+ };
108
+ }
109
+ export function getExtensionsThatHasDash() {
110
+ var extensionNames = Object.keys(ctx.meta.extensions);
111
+ var extensionsWithDashExt = [];
112
+ for (var index = 0; index < extensionNames.length; index++) {
113
+ var extensionName = extensionNames[index];
114
+ var extensionMeta = ctx.meta.extensions[extensionName];
115
+ if (extensionMeta.hasDashboardExtension) {
116
+ extensionsWithDashExt.push(extensionName);
117
+ }
118
+ }
119
+ return extensionsWithDashExt;
120
+ }
121
+ export function loadExtensions(studioExtensions) {
122
+ return __awaiter(this, void 0, Promise, function () {
123
+ var extensions, index, studioExtension, extensionsThatHasDash, index, extensionName, _a, _b, error_1;
124
+ var _c;
125
+ return __generator(this, function (_d) {
126
+ switch (_d.label) {
127
+ case 0:
128
+ extensions = {};
129
+ if (studioExtensions) {
130
+ for (index = 0; index < studioExtensions.length; index++) {
131
+ studioExtension = studioExtensions[index](getExtensionUtils());
132
+ extensions[studioExtension.name] = studioExtension;
133
+ }
134
+ }
135
+ extensionsThatHasDash = getExtensionsThatHasDash();
136
+ index = 0;
137
+ _d.label = 1;
138
+ case 1:
139
+ if (!(index < extensionsThatHasDash.length)) return [3 /*break*/, 6];
140
+ extensionName = extensionsThatHasDash[index];
141
+ // Try to import locally-installed extension by name first
142
+ if (extensionName && extensions[extensionName]) {
143
+ return [3 /*break*/, 5];
144
+ }
145
+ _d.label = 2;
146
+ case 2:
147
+ _d.trys.push([2, 4, , 5]);
148
+ _a = extensions;
149
+ _b = extensionName;
150
+ return [4 /*yield*/, import(
151
+ /* @vite-ignore */ "".concat(ctx.lobbUrl, "/api/extensions/").concat(extensionName, "/dashboard?v=").concat((_c = ctx.meta.extensions[extensionName]) === null || _c === void 0 ? void 0 : _c.version))];
152
+ case 3:
153
+ _a[_b] = (_d.sent()).extension(getExtensionUtils());
154
+ return [3 /*break*/, 5];
155
+ case 4:
156
+ error_1 = _d.sent();
157
+ console.warn("Failed to load remote extension ".concat(extensionName), error_1);
158
+ return [3 /*break*/, 5];
159
+ case 5:
160
+ index++;
161
+ return [3 /*break*/, 1];
162
+ case 6: return [2 /*return*/, extensions];
163
+ }
164
+ });
165
+ });
166
+ }
167
+ export function loadExtensionComponents(name, filterByExtensions) {
168
+ var components = [];
169
+ for (var _i = 0, _a = Object.entries(ctx.extensions); _i < _a.length; _i++) {
170
+ var _b = _a[_i], extensionName = _b[0], extensionValue = _b[1];
171
+ if (filterByExtensions && !filterByExtensions.includes(extensionName)) {
172
+ continue;
173
+ }
174
+ if (extensionValue.components) {
175
+ for (var _c = 0, _d = Object.entries(extensionValue.components); _c < _d.length; _c++) {
176
+ var _e = _d[_c], componentName = _e[0], componentValue = _e[1];
177
+ if (name.startsWith(componentName)) {
178
+ components.push(componentValue);
179
+ }
180
+ }
181
+ }
182
+ }
183
+ return components;
184
+ }
185
+ export function executeExtensionsOnStartup() {
186
+ return __awaiter(this, void 0, void 0, function () {
187
+ var extensionNames, index, extensionName, extension;
188
+ return __generator(this, function (_a) {
189
+ switch (_a.label) {
190
+ case 0:
191
+ extensionNames = Object.keys(ctx.extensions);
192
+ index = 0;
193
+ _a.label = 1;
194
+ case 1:
195
+ if (!(index < extensionNames.length)) return [3 /*break*/, 4];
196
+ extensionName = extensionNames[index];
197
+ extension = ctx.extensions[extensionName];
198
+ if (!extension) return [3 /*break*/, 3];
199
+ if (!extension.onStartup) return [3 /*break*/, 3];
200
+ return [4 /*yield*/, extension.onStartup(getExtensionUtils())];
201
+ case 2:
202
+ _a.sent();
203
+ _a.label = 3;
204
+ case 3:
205
+ index++;
206
+ return [3 /*break*/, 1];
207
+ case 4: return [2 /*return*/];
208
+ }
209
+ });
210
+ });
211
+ }
212
+ export function getDashboardNavs() {
213
+ var navs = {
214
+ top: [],
215
+ middle: [],
216
+ bottom: [],
217
+ };
218
+ var extensionNames = Object.keys(ctx.extensions);
219
+ for (var index = 0; index < extensionNames.length; index++) {
220
+ var extensionName = extensionNames[index];
221
+ var extension = ctx.extensions[extensionName];
222
+ if (extension) {
223
+ if (extension.dashboardNavs && extension.dashboardNavs.top && navs.top) {
224
+ navs.top = __spreadArray(__spreadArray([], navs.top, true), extension.dashboardNavs.top, true);
225
+ }
226
+ if (extension.dashboardNavs &&
227
+ extension.dashboardNavs.middle &&
228
+ navs.middle) {
229
+ navs.middle = __spreadArray(__spreadArray([], navs.middle, true), extension.dashboardNavs.middle, true);
230
+ }
231
+ if (extension.dashboardNavs &&
232
+ extension.dashboardNavs.bottom &&
233
+ navs.bottom) {
234
+ navs.bottom = __spreadArray(__spreadArray([], navs.bottom, true), extension.dashboardNavs.bottom, true);
235
+ }
236
+ }
237
+ }
238
+ return navs;
239
+ }
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ // Main Studio component
2
+ export { default as Studio } from "./components/Studio.svelte";
3
+ // Lobb client and utilities
4
+ export { Lobb } from "./Lobb";
5
+ export * from "./utils";
6
+ export * from "./eventSystem";
7
+ export { ctx, lobb } from "./store.svelte";
8
+ export function createSet(lastNumber) {
9
+ var set = new Set();
10
+ for (var i = 0; i <= lastNumber; i++) {
11
+ set.add(i);
12
+ }
13
+ return set;
14
+ }
15
+ export function moveElement(array, fromIndex, toIndex) {
16
+ if (fromIndex < 0 || fromIndex >= array.length || toIndex < 0 ||
17
+ toIndex >= array.length) {
18
+ throw new Error("Index out of bounds");
19
+ }
20
+ var element = array.splice(fromIndex, 1)[0];
21
+ array.splice(toIndex, 0, element);
22
+ return array;
23
+ }
24
+ export function pxToRem(px) {
25
+ var rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
26
+ return px / rootFontSize;
27
+ }
@@ -0,0 +1,72 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { Lobb } from './Lobb';
38
+ import { toast } from 'svelte-sonner';
39
+ import pkg from '../../package.json';
40
+ if (!window.APP_ENV) {
41
+ window.APP_ENV = {};
42
+ }
43
+ if (window.APP_ENV.LOBB_URL === '%LOBB_URL%') {
44
+ window.APP_ENV.LOBB_URL = null;
45
+ }
46
+ export var ctx = $state.raw({
47
+ studioVersion: pkg.version,
48
+ lobbUrl: window.APP_ENV.LOBB_URL || localStorage.getItem("lobb_url"),
49
+ extensions: {},
50
+ meta: {
51
+ collections: null,
52
+ extensions: null,
53
+ filter: null
54
+ },
55
+ });
56
+ export var lobb = new Lobb(ctx.lobbUrl);
57
+ // logging the message if got any bad responses
58
+ lobb.onResponse(function (response) { return __awaiter(void 0, void 0, void 0, function () {
59
+ var body;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ if (!(response.status >= 400)) return [3 /*break*/, 2];
64
+ return [4 /*yield*/, response.json()];
65
+ case 1:
66
+ body = _a.sent();
67
+ toast.error(body.message);
68
+ _a.label = 2;
69
+ case 2: return [2 /*return*/];
70
+ }
71
+ });
72
+ }); });
@@ -0,0 +1 @@
1
+ export {};
package/dist/utils.js ADDED
@@ -0,0 +1,72 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ import { MediaQuery } from 'svelte/reactivity';
4
+ import { ctx } from "./store.svelte";
5
+ export function cn() {
6
+ var inputs = [];
7
+ for (var _i = 0; _i < arguments.length; _i++) {
8
+ inputs[_i] = arguments[_i];
9
+ }
10
+ return twMerge(clsx(inputs));
11
+ }
12
+ export var mediaQueries = {
13
+ sm: new MediaQuery('min-width: 640px'),
14
+ md: new MediaQuery('min-width: 768px'),
15
+ lg: new MediaQuery('min-width: 1024px'),
16
+ xl: new MediaQuery('min-width: 1280px'),
17
+ '2xl': new MediaQuery('min-width: 1536px'),
18
+ };
19
+ export function getFieldRelation(collectionName, fieldName) {
20
+ var relations = ctx.meta.relations;
21
+ for (var index = 0; index < relations.length; index++) {
22
+ var relation = relations[index];
23
+ if (relation.from.collection === collectionName && relation.from.field === fieldName) {
24
+ return relation;
25
+ }
26
+ }
27
+ return null;
28
+ }
29
+ ;
30
+ export function getDiscriminatorFieldRelation(collectionName, fieldName) {
31
+ var relations = ctx.meta.relations;
32
+ for (var index = 0; index < relations.length; index++) {
33
+ var relation = relations[index];
34
+ if (relation.from.collection === collectionName && relation.from.discriminator === fieldName) {
35
+ return relation;
36
+ }
37
+ }
38
+ return null;
39
+ }
40
+ ;
41
+ export function recordHasChildrean(collectionName) {
42
+ for (var index = 0; index < ctx.meta.relations.length; index++) {
43
+ var relation = ctx.meta.relations[index];
44
+ if (relation.to.collection === collectionName) {
45
+ return true;
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ ;
51
+ export function calculateDrawerWidth() {
52
+ var backgroundDrawerButtons = document.querySelectorAll(".backgroundDrawerButton");
53
+ var drawersCount = Array.from(backgroundDrawerButtons).length;
54
+ var width = 672 - (30 * drawersCount);
55
+ return width;
56
+ }
57
+ ;
58
+ export function getChangedProperties(oldObj, newObj) {
59
+ var changes = {};
60
+ for (var _i = 0, _a = Object.keys(newObj); _i < _a.length; _i++) {
61
+ var key = _a[_i];
62
+ if (oldObj[key] !== newObj[key]) {
63
+ changes[key] = newObj[key];
64
+ }
65
+ }
66
+ return changes;
67
+ }
68
+ export function parseFunction(functionString) {
69
+ var functionObj = new Function("return " + functionString)();
70
+ return functionObj;
71
+ }
72
+ ;
package/package.json CHANGED
@@ -1,24 +1,34 @@
1
1
  {
2
2
  "name": "@lobb-js/studio",
3
- "version": "0.1.38",
3
+ "version": "0.1.40",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "files": [
9
- "src/lib",
9
+ "dist",
10
10
  "vite-plugins"
11
11
  ],
12
12
  "exports": {
13
- ".": "./src/lib/components/Studio.svelte",
14
- "./*": "./src/lib/components/*",
13
+ ".": {
14
+ "svelte": "./dist/components/Studio.svelte"
15
+ },
16
+ "./internal": {
17
+ "svelte": "./src/lib/components/Studio.svelte"
18
+ },
19
+ "./*": {
20
+ "svelte": "./dist/components/*"
21
+ },
22
+ "./internal/*": {
23
+ "svelte": "./src/lib/components/*"
24
+ },
15
25
  "./vite-plugins": "./vite-plugins/index.js",
16
26
  "./components": "./src/components-export.ts"
17
27
  },
18
28
  "scripts": {
19
29
  "dev": "vite",
20
30
  "build": "rm -rf dist && vite build --config vite.build.svelte.config.ts && vite build",
21
- "package": "svelte-package --input src/lib/components",
31
+ "package": "svelte-package --input src/lib",
22
32
  "preview": "vite preview",
23
33
  "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json",
24
34
  "build_extension": "vite build --config vite.extension.config.ts",
@@ -54,9 +64,11 @@
54
64
  "vite-plugin-css-injected-by-js": "^3.5.2",
55
65
  "vitest": "^4.0.5",
56
66
  "tailwindcss": "4.1.18",
57
- "svelte": "5.39.8",
58
67
  "vite": "6.3.3"
59
68
  },
69
+ "peerDependencies": {
70
+ "svelte": "^5.0.0"
71
+ },
60
72
  "dependencies": {
61
73
  "@andrewbranch/untar.js": "^1.0.3",
62
74
  "@dagrejs/dagre": "^1.1.5",
@@ -1,21 +1,18 @@
1
1
  import { contextualLibAlias } from "./contextual-lib-alias.js";
2
- import { studioSourceResolver } from "./studio-source-resolver.js";
2
+ import { monorepoImportResolver } from "./monorepo-import-resolver.js";
3
3
 
4
4
  /**
5
5
  * Returns an array of Vite plugins needed for Lobb Studio integration.
6
6
  *
7
7
  * Includes:
8
+ * - monorepoImportResolver: Resolves @lobb-js/studio to /internal (monorepo) or default (standalone)
8
9
  * - contextualLibAlias: Resolves $lib imports contextually
9
- * - studioSourceResolver: Resolves @lobb-js/studio to source (monorepo) or dist (standalone)
10
10
  *
11
11
  * @returns {import('vite').Plugin[]}
12
12
  */
13
13
  export function lobbStudioPlugins() {
14
14
  return [
15
- studioSourceResolver(),
15
+ monorepoImportResolver(),
16
16
  contextualLibAlias(),
17
17
  ];
18
18
  }
19
-
20
- // Also export individual plugins for advanced usage
21
- export { contextualLibAlias, studioSourceResolver };
@@ -0,0 +1,92 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+
4
+ /**
5
+ * Detects if the current project is inside a monorepo workspace.
6
+ *
7
+ * Checks for workspace configuration files in parent directories:
8
+ * - pnpm-workspace.yaml (pnpm)
9
+ * - package.json with "workspaces" field (npm/yarn)
10
+ *
11
+ * @param {string} startDir - Directory to start searching from
12
+ * @returns {boolean} True if inside a monorepo workspace
13
+ */
14
+ function isInMonorepo(startDir) {
15
+ let currentDir = startDir;
16
+ const root = path.parse(currentDir).root;
17
+
18
+ while (currentDir !== root) {
19
+ // Check for pnpm-workspace.yaml
20
+ if (fs.existsSync(path.join(currentDir, 'pnpm-workspace.yaml'))) {
21
+ return true;
22
+ }
23
+
24
+ // Check for package.json with workspaces field
25
+ const pkgPath = path.join(currentDir, 'package.json');
26
+ if (fs.existsSync(pkgPath)) {
27
+ try {
28
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
29
+ if (pkg.workspaces) {
30
+ return true;
31
+ }
32
+ } catch (e) {
33
+ // Ignore parse errors
34
+ }
35
+ }
36
+
37
+ // Move up one directory
38
+ currentDir = path.dirname(currentDir);
39
+ }
40
+
41
+ return false;
42
+ }
43
+
44
+ /**
45
+ * Vite plugin that resolves @lobb-js/studio imports contextually.
46
+ *
47
+ * - Inside monorepo: Rewrites to @lobb-js/studio/internal (uses source files from /src for fast HMR)
48
+ * - Outside monorepo: Uses default export (uses built files from /dist)
49
+ *
50
+ * This allows consuming projects to use identical import syntax everywhere:
51
+ * `import Studio from '@lobb-js/studio'`
52
+ *
53
+ * The plugin automatically optimizes the resolution based on the environment.
54
+ *
55
+ * @returns {import('vite').Plugin}
56
+ */
57
+ export function monorepoImportResolver() {
58
+ let isMonorepo = false;
59
+
60
+ return {
61
+ name: "monorepo-import-resolver",
62
+ enforce: "pre",
63
+
64
+ configResolved(config) {
65
+ // Detect monorepo once during config resolution
66
+ isMonorepo = isInMonorepo(config.root);
67
+
68
+ if (isMonorepo) {
69
+ console.log('🎯 Lobb Studio: Running in monorepo mode - using source files for fast HMR');
70
+ } else {
71
+ console.log('📦 Lobb Studio: Running in standalone mode - using built distribution files');
72
+ }
73
+ },
74
+
75
+ async resolveId(source, importer, options) {
76
+ // Handle @lobb-js/studio imports (and subpaths like @lobb-js/studio/*)
77
+ if (!source.startsWith("@lobb-js/studio")) return null;
78
+
79
+ // Don't rewrite if already using /internal path
80
+ if (source.startsWith("@lobb-js/studio/internal")) return null;
81
+
82
+ // In monorepo, rewrite to /internal path which points to source files
83
+ if (isMonorepo) {
84
+ const rewrittenSource = source.replace("@lobb-js/studio", "@lobb-js/studio/internal");
85
+ return this.resolve(rewrittenSource, importer, { skipSelf: true, ...options });
86
+ }
87
+
88
+ // Not in monorepo - let default resolution handle it (uses dist/ from node_modules)
89
+ return null;
90
+ }
91
+ };
92
+ }