@corensystem/coren-ui 1.0.0-next.20260924.75108.887a9c2

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 (1671) hide show
  1. package/bin/intent.js +20 -0
  2. package/dist/accordion.d.mts +11 -0
  3. package/dist/accordion.d.mts.map +1 -0
  4. package/dist/accordion.mjs +42 -0
  5. package/dist/accordion.mjs.map +1 -0
  6. package/dist/activity-log.d.mts +29 -0
  7. package/dist/activity-log.d.mts.map +1 -0
  8. package/dist/activity-log.mjs +60 -0
  9. package/dist/activity-log.mjs.map +1 -0
  10. package/dist/activity-sheet.d.mts +18 -0
  11. package/dist/activity-sheet.d.mts.map +1 -0
  12. package/dist/activity-sheet.mjs +167 -0
  13. package/dist/activity-sheet.mjs.map +1 -0
  14. package/dist/add-clinic-location-dialog.d.mts +21 -0
  15. package/dist/add-clinic-location-dialog.d.mts.map +1 -0
  16. package/dist/add-clinic-location-dialog.mjs +96 -0
  17. package/dist/add-clinic-location-dialog.mjs.map +1 -0
  18. package/dist/add-clinic-visit-dialog.d.mts +51 -0
  19. package/dist/add-clinic-visit-dialog.d.mts.map +1 -0
  20. package/dist/add-clinic-visit-dialog.mjs +307 -0
  21. package/dist/add-clinic-visit-dialog.mjs.map +1 -0
  22. package/dist/add-observation-dialog.d.mts +36 -0
  23. package/dist/add-observation-dialog.d.mts.map +1 -0
  24. package/dist/add-observation-dialog.mjs +269 -0
  25. package/dist/add-observation-dialog.mjs.map +1 -0
  26. package/dist/alert-dialog.d.mts +24 -0
  27. package/dist/alert-dialog.d.mts.map +1 -0
  28. package/dist/alert-dialog.mjs +62 -0
  29. package/dist/alert-dialog.mjs.map +1 -0
  30. package/dist/alert.d.mts +12 -0
  31. package/dist/alert.d.mts.map +1 -0
  32. package/dist/alert.mjs +36 -0
  33. package/dist/alert.mjs.map +1 -0
  34. package/dist/app-card.d.mts +21 -0
  35. package/dist/app-card.d.mts.map +1 -0
  36. package/dist/app-card.mjs +49 -0
  37. package/dist/app-card.mjs.map +1 -0
  38. package/dist/app-shell.d.mts +39 -0
  39. package/dist/app-shell.d.mts.map +1 -0
  40. package/dist/app-shell.mjs +79 -0
  41. package/dist/app-shell.mjs.map +1 -0
  42. package/dist/aspect-ratio.d.mts +8 -0
  43. package/dist/aspect-ratio.d.mts.map +1 -0
  44. package/dist/aspect-ratio.mjs +14 -0
  45. package/dist/aspect-ratio.mjs.map +1 -0
  46. package/dist/asset-list-item.d.mts +36 -0
  47. package/dist/asset-list-item.d.mts.map +1 -0
  48. package/dist/asset-list-item.mjs +51 -0
  49. package/dist/asset-list-item.mjs.map +1 -0
  50. package/dist/assign-doctor-dialog.d.mts +28 -0
  51. package/dist/assign-doctor-dialog.d.mts.map +1 -0
  52. package/dist/assign-doctor-dialog.mjs +194 -0
  53. package/dist/assign-doctor-dialog.mjs.map +1 -0
  54. package/dist/attention-list.d.mts +29 -0
  55. package/dist/attention-list.d.mts.map +1 -0
  56. package/dist/attention-list.mjs +82 -0
  57. package/dist/attention-list.mjs.map +1 -0
  58. package/dist/avatar-status-dot.d.mts +22 -0
  59. package/dist/avatar-status-dot.d.mts.map +1 -0
  60. package/dist/avatar-status-dot.mjs +72 -0
  61. package/dist/avatar-status-dot.mjs.map +1 -0
  62. package/dist/avatar.d.mts +34 -0
  63. package/dist/avatar.d.mts.map +1 -0
  64. package/dist/avatar.mjs +103 -0
  65. package/dist/avatar.mjs.map +1 -0
  66. package/dist/badge.d.mts +18 -0
  67. package/dist/badge.d.mts.map +1 -0
  68. package/dist/badge.mjs +39 -0
  69. package/dist/badge.mjs.map +1 -0
  70. package/dist/banner.d.mts +18 -0
  71. package/dist/banner.d.mts.map +1 -0
  72. package/dist/banner.mjs +74 -0
  73. package/dist/banner.mjs.map +1 -0
  74. package/dist/blockquote.d.mts +13 -0
  75. package/dist/blockquote.d.mts.map +1 -0
  76. package/dist/blockquote.mjs +22 -0
  77. package/dist/blockquote.mjs.map +1 -0
  78. package/dist/blueprint-segment.d.mts +33 -0
  79. package/dist/blueprint-segment.d.mts.map +1 -0
  80. package/dist/blueprint-segment.mjs +59 -0
  81. package/dist/blueprint-segment.mjs.map +1 -0
  82. package/dist/bottom-sheet-switcher.d.mts +32 -0
  83. package/dist/bottom-sheet-switcher.d.mts.map +1 -0
  84. package/dist/bottom-sheet-switcher.mjs +40 -0
  85. package/dist/bottom-sheet-switcher.mjs.map +1 -0
  86. package/dist/bottom-sheet.d.mts +23 -0
  87. package/dist/bottom-sheet.d.mts.map +1 -0
  88. package/dist/bottom-sheet.mjs +91 -0
  89. package/dist/bottom-sheet.mjs.map +1 -0
  90. package/dist/breadcrumb.d.mts +39 -0
  91. package/dist/breadcrumb.d.mts.map +1 -0
  92. package/dist/breadcrumb.mjs +95 -0
  93. package/dist/breadcrumb.mjs.map +1 -0
  94. package/dist/breadcrumbs.d.mts +2 -0
  95. package/dist/breadcrumbs.mjs +2 -0
  96. package/dist/browser-tabs.d.mts +40 -0
  97. package/dist/browser-tabs.d.mts.map +1 -0
  98. package/dist/browser-tabs.mjs +127 -0
  99. package/dist/browser-tabs.mjs.map +1 -0
  100. package/dist/building-model-placeholder.d.mts +46 -0
  101. package/dist/building-model-placeholder.d.mts.map +1 -0
  102. package/dist/building-model-placeholder.mjs +175 -0
  103. package/dist/building-model-placeholder.mjs.map +1 -0
  104. package/dist/building-progress.d.mts +32 -0
  105. package/dist/building-progress.d.mts.map +1 -0
  106. package/dist/building-progress.mjs +74 -0
  107. package/dist/building-progress.mjs.map +1 -0
  108. package/dist/building-viewer.d.mts +91 -0
  109. package/dist/building-viewer.d.mts.map +1 -0
  110. package/dist/building-viewer.mjs +567 -0
  111. package/dist/building-viewer.mjs.map +1 -0
  112. package/dist/button-group.d.mts +8 -0
  113. package/dist/button-group.d.mts.map +1 -0
  114. package/dist/button-group.mjs +21 -0
  115. package/dist/button-group.mjs.map +1 -0
  116. package/dist/button.d.mts +21 -0
  117. package/dist/button.d.mts.map +1 -0
  118. package/dist/button.mjs +79 -0
  119. package/dist/button.mjs.map +1 -0
  120. package/dist/calendar-view.d.mts +47 -0
  121. package/dist/calendar-view.d.mts.map +1 -0
  122. package/dist/calendar-view.mjs +165 -0
  123. package/dist/calendar-view.mjs.map +1 -0
  124. package/dist/calendar.d.mts +15 -0
  125. package/dist/calendar.d.mts.map +1 -0
  126. package/dist/calendar.mjs +94 -0
  127. package/dist/calendar.mjs.map +1 -0
  128. package/dist/camera-detail-panel.d.mts +44 -0
  129. package/dist/camera-detail-panel.d.mts.map +1 -0
  130. package/dist/camera-detail-panel.mjs +105 -0
  131. package/dist/camera-detail-panel.mjs.map +1 -0
  132. package/dist/canvas-file-picker.d.mts +28 -0
  133. package/dist/canvas-file-picker.d.mts.map +1 -0
  134. package/dist/canvas-file-picker.mjs +90 -0
  135. package/dist/canvas-file-picker.mjs.map +1 -0
  136. package/dist/canvas-header.d.mts +28 -0
  137. package/dist/canvas-header.d.mts.map +1 -0
  138. package/dist/canvas-header.mjs +42 -0
  139. package/dist/canvas-header.mjs.map +1 -0
  140. package/dist/canvas-navigator.d.mts +87 -0
  141. package/dist/canvas-navigator.d.mts.map +1 -0
  142. package/dist/canvas-navigator.mjs +426 -0
  143. package/dist/canvas-navigator.mjs.map +1 -0
  144. package/dist/canvas-toolbar.d.mts +37 -0
  145. package/dist/canvas-toolbar.d.mts.map +1 -0
  146. package/dist/canvas-toolbar.mjs +65 -0
  147. package/dist/canvas-toolbar.mjs.map +1 -0
  148. package/dist/capture-route-minimap.d.mts +40 -0
  149. package/dist/capture-route-minimap.d.mts.map +1 -0
  150. package/dist/capture-route-minimap.mjs +438 -0
  151. package/dist/capture-route-minimap.mjs.map +1 -0
  152. package/dist/card.d.mts +17 -0
  153. package/dist/card.d.mts.map +1 -0
  154. package/dist/card.mjs +63 -0
  155. package/dist/card.mjs.map +1 -0
  156. package/dist/carousel.d.mts +23 -0
  157. package/dist/carousel.d.mts.map +1 -0
  158. package/dist/carousel.mjs +141 -0
  159. package/dist/carousel.mjs.map +1 -0
  160. package/dist/catalogue-view-toggle.d.mts +53 -0
  161. package/dist/catalogue-view-toggle.d.mts.map +1 -0
  162. package/dist/catalogue-view-toggle.mjs +54 -0
  163. package/dist/catalogue-view-toggle.mjs.map +1 -0
  164. package/dist/chart.d.mts +91 -0
  165. package/dist/chart.d.mts.map +1 -0
  166. package/dist/chart.mjs +254 -0
  167. package/dist/chart.mjs.map +1 -0
  168. package/dist/chat/core-ai-chat-header.d.mts +95 -0
  169. package/dist/chat/core-ai-chat-header.d.mts.map +1 -0
  170. package/dist/chat/core-ai-chat-header.mjs +237 -0
  171. package/dist/chat/core-ai-chat-header.mjs.map +1 -0
  172. package/dist/chat/core-ai-chat-message.d.mts +18 -0
  173. package/dist/chat/core-ai-chat-message.d.mts.map +1 -0
  174. package/dist/chat/core-ai-chat-message.mjs +82 -0
  175. package/dist/chat/core-ai-chat-message.mjs.map +1 -0
  176. package/dist/chat/core-ai-chat.d.mts +116 -0
  177. package/dist/chat/core-ai-chat.d.mts.map +1 -0
  178. package/dist/chat/core-ai-chat.mjs +325 -0
  179. package/dist/chat/core-ai-chat.mjs.map +1 -0
  180. package/dist/chat/core-chart-renderer.d.mts +10 -0
  181. package/dist/chat/core-chart-renderer.d.mts.map +1 -0
  182. package/dist/chat/core-chart-renderer.mjs +177 -0
  183. package/dist/chat/core-chart-renderer.mjs.map +1 -0
  184. package/dist/chat/core-chat-input.d.mts +9 -0
  185. package/dist/chat/core-chat-input.d.mts.map +1 -0
  186. package/dist/chat/core-chat-input.mjs +66 -0
  187. package/dist/chat/core-chat-input.mjs.map +1 -0
  188. package/dist/chat/core-chat-message.d.mts +11 -0
  189. package/dist/chat/core-chat-message.d.mts.map +1 -0
  190. package/dist/chat/core-chat-message.mjs +101 -0
  191. package/dist/chat/core-chat-message.mjs.map +1 -0
  192. package/dist/chat/core-chat-panel.d.mts +16 -0
  193. package/dist/chat/core-chat-panel.d.mts.map +1 -0
  194. package/dist/chat/core-chat-panel.mjs +139 -0
  195. package/dist/chat/core-chat-panel.mjs.map +1 -0
  196. package/dist/chat/core-chat-widget.d.mts +12 -0
  197. package/dist/chat/core-chat-widget.d.mts.map +1 -0
  198. package/dist/chat/core-chat-widget.mjs +116 -0
  199. package/dist/chat/core-chat-widget.mjs.map +1 -0
  200. package/dist/chat-layout.d.mts +38 -0
  201. package/dist/chat-layout.d.mts.map +1 -0
  202. package/dist/chat-layout.mjs +94 -0
  203. package/dist/chat-layout.mjs.map +1 -0
  204. package/dist/chat-message.d.mts +40 -0
  205. package/dist/chat-message.d.mts.map +1 -0
  206. package/dist/chat-message.mjs +84 -0
  207. package/dist/chat-message.mjs.map +1 -0
  208. package/dist/checkbox.d.mts +8 -0
  209. package/dist/checkbox.d.mts.map +1 -0
  210. package/dist/checkbox.mjs +22 -0
  211. package/dist/checkbox.mjs.map +1 -0
  212. package/dist/chip.d.mts +54 -0
  213. package/dist/chip.d.mts.map +1 -0
  214. package/dist/chip.mjs +142 -0
  215. package/dist/chip.mjs.map +1 -0
  216. package/dist/citation.d.mts +22 -0
  217. package/dist/citation.d.mts.map +1 -0
  218. package/dist/citation.mjs +70 -0
  219. package/dist/citation.mjs.map +1 -0
  220. package/dist/clickable-card.d.mts +28 -0
  221. package/dist/clickable-card.d.mts.map +1 -0
  222. package/dist/clickable-card.mjs +87 -0
  223. package/dist/clickable-card.mjs.map +1 -0
  224. package/dist/code.d.mts +21 -0
  225. package/dist/code.d.mts.map +1 -0
  226. package/dist/code.mjs +48 -0
  227. package/dist/code.mjs.map +1 -0
  228. package/dist/collapsible.d.mts +10 -0
  229. package/dist/collapsible.d.mts.map +1 -0
  230. package/dist/collapsible.mjs +16 -0
  231. package/dist/collapsible.mjs.map +1 -0
  232. package/dist/combobox.d.mts +116 -0
  233. package/dist/combobox.d.mts.map +1 -0
  234. package/dist/combobox.mjs +149 -0
  235. package/dist/combobox.mjs.map +1 -0
  236. package/dist/command-palette.d.mts +43 -0
  237. package/dist/command-palette.d.mts.map +1 -0
  238. package/dist/command-palette.mjs +70 -0
  239. package/dist/command-palette.mjs.map +1 -0
  240. package/dist/command.d.mts +91 -0
  241. package/dist/command.d.mts.map +1 -0
  242. package/dist/command.mjs +82 -0
  243. package/dist/command.mjs.map +1 -0
  244. package/dist/comment-composer.d.mts +29 -0
  245. package/dist/comment-composer.d.mts.map +1 -0
  246. package/dist/comment-composer.mjs +253 -0
  247. package/dist/comment-composer.mjs.map +1 -0
  248. package/dist/comment-thread.d.mts +66 -0
  249. package/dist/comment-thread.d.mts.map +1 -0
  250. package/dist/comment-thread.mjs +180 -0
  251. package/dist/comment-thread.mjs.map +1 -0
  252. package/dist/compare-bars.d.mts +29 -0
  253. package/dist/compare-bars.d.mts.map +1 -0
  254. package/dist/compare-bars.mjs +118 -0
  255. package/dist/compare-bars.mjs.map +1 -0
  256. package/dist/compare-view.d.mts +75 -0
  257. package/dist/compare-view.d.mts.map +1 -0
  258. package/dist/compare-view.mjs +383 -0
  259. package/dist/compare-view.mjs.map +1 -0
  260. package/dist/confirm-dialog.d.mts +37 -0
  261. package/dist/confirm-dialog.d.mts.map +1 -0
  262. package/dist/confirm-dialog.mjs +40 -0
  263. package/dist/confirm-dialog.mjs.map +1 -0
  264. package/dist/context-menu.d.mts +31 -0
  265. package/dist/context-menu.d.mts.map +1 -0
  266. package/dist/context-menu.mjs +84 -0
  267. package/dist/context-menu.mjs.map +1 -0
  268. package/dist/context-toolbar.d.mts +22 -0
  269. package/dist/context-toolbar.d.mts.map +1 -0
  270. package/dist/context-toolbar.mjs +81 -0
  271. package/dist/context-toolbar.mjs.map +1 -0
  272. package/dist/copy-button.d.mts +15 -0
  273. package/dist/copy-button.d.mts.map +1 -0
  274. package/dist/copy-button.mjs +33 -0
  275. package/dist/copy-button.mjs.map +1 -0
  276. package/dist/core-mark.d.mts +25 -0
  277. package/dist/core-mark.d.mts.map +1 -0
  278. package/dist/core-mark.mjs +74 -0
  279. package/dist/core-mark.mjs.map +1 -0
  280. package/dist/data/mock-data.d.mts +9 -0
  281. package/dist/data/mock-data.d.mts.map +1 -0
  282. package/dist/data/mock-data.mjs +159 -0
  283. package/dist/data/mock-data.mjs.map +1 -0
  284. package/dist/data/rnglf-zones.d.mts +17 -0
  285. package/dist/data/rnglf-zones.d.mts.map +1 -0
  286. package/dist/data/rnglf-zones.mjs +1400 -0
  287. package/dist/data/rnglf-zones.mjs.map +1 -0
  288. package/dist/data-table.d.mts +202 -0
  289. package/dist/data-table.d.mts.map +1 -0
  290. package/dist/data-table.mjs +520 -0
  291. package/dist/data-table.mjs.map +1 -0
  292. package/dist/date-picker.d.mts +111 -0
  293. package/dist/date-picker.d.mts.map +1 -0
  294. package/dist/date-picker.mjs +546 -0
  295. package/dist/date-picker.mjs.map +1 -0
  296. package/dist/date-range-input.d.mts +26 -0
  297. package/dist/date-range-input.d.mts.map +1 -0
  298. package/dist/date-range-input.mjs +60 -0
  299. package/dist/date-range-input.mjs.map +1 -0
  300. package/dist/date-time-input.d.mts +27 -0
  301. package/dist/date-time-input.d.mts.map +1 -0
  302. package/dist/date-time-input.mjs +110 -0
  303. package/dist/date-time-input.mjs.map +1 -0
  304. package/dist/detail-panel-shell.d.mts +37 -0
  305. package/dist/detail-panel-shell.d.mts.map +1 -0
  306. package/dist/detail-panel-shell.mjs +86 -0
  307. package/dist/detail-panel-shell.mjs.map +1 -0
  308. package/dist/dialog.d.mts +105 -0
  309. package/dist/dialog.d.mts.map +1 -0
  310. package/dist/dialog.mjs +137 -0
  311. package/dist/dialog.mjs.map +1 -0
  312. package/dist/divider.d.mts +8 -0
  313. package/dist/divider.d.mts.map +1 -0
  314. package/dist/divider.mjs +18 -0
  315. package/dist/divider.mjs.map +1 -0
  316. package/dist/drawer.d.mts +26 -0
  317. package/dist/drawer.d.mts.map +1 -0
  318. package/dist/drawer.mjs +53 -0
  319. package/dist/drawer.mjs.map +1 -0
  320. package/dist/drawing-actions.d.mts +29 -0
  321. package/dist/drawing-actions.d.mts.map +1 -0
  322. package/dist/drawing-actions.mjs +124 -0
  323. package/dist/drawing-actions.mjs.map +1 -0
  324. package/dist/dropdown-menu.d.mts +31 -0
  325. package/dist/dropdown-menu.d.mts.map +1 -0
  326. package/dist/dropdown-menu.mjs +84 -0
  327. package/dist/dropdown-menu.mjs.map +1 -0
  328. package/dist/empty.d.mts +34 -0
  329. package/dist/empty.d.mts.map +1 -0
  330. package/dist/empty.mjs +119 -0
  331. package/dist/empty.mjs.map +1 -0
  332. package/dist/error-page.d.mts +20 -0
  333. package/dist/error-page.d.mts.map +1 -0
  334. package/dist/error-page.mjs +96 -0
  335. package/dist/error-page.mjs.map +1 -0
  336. package/dist/export-dialog.d.mts +58 -0
  337. package/dist/export-dialog.d.mts.map +1 -0
  338. package/dist/export-dialog.mjs +248 -0
  339. package/dist/export-dialog.mjs.map +1 -0
  340. package/dist/field.d.mts +11 -0
  341. package/dist/field.d.mts.map +1 -0
  342. package/dist/field.mjs +34 -0
  343. package/dist/field.mjs.map +1 -0
  344. package/dist/file-input.d.mts +17 -0
  345. package/dist/file-input.d.mts.map +1 -0
  346. package/dist/file-input.mjs +114 -0
  347. package/dist/file-input.mjs.map +1 -0
  348. package/dist/file-system/context.d.mts +28 -0
  349. package/dist/file-system/context.d.mts.map +1 -0
  350. package/dist/file-system/context.mjs +42 -0
  351. package/dist/file-system/context.mjs.map +1 -0
  352. package/dist/file-system/file-system-details.d.mts +12 -0
  353. package/dist/file-system/file-system-details.d.mts.map +1 -0
  354. package/dist/file-system/file-system-details.mjs +166 -0
  355. package/dist/file-system/file-system-details.mjs.map +1 -0
  356. package/dist/file-system/file-system-filters.d.mts +16 -0
  357. package/dist/file-system/file-system-filters.d.mts.map +1 -0
  358. package/dist/file-system/file-system-filters.mjs +205 -0
  359. package/dist/file-system/file-system-filters.mjs.map +1 -0
  360. package/dist/file-system/file-system-new.d.mts +16 -0
  361. package/dist/file-system/file-system-new.d.mts.map +1 -0
  362. package/dist/file-system/file-system-new.mjs +204 -0
  363. package/dist/file-system/file-system-new.mjs.map +1 -0
  364. package/dist/file-system/file-system-path.d.mts +7 -0
  365. package/dist/file-system/file-system-path.d.mts.map +1 -0
  366. package/dist/file-system/file-system-path.mjs +22 -0
  367. package/dist/file-system/file-system-path.mjs.map +1 -0
  368. package/dist/file-system/file-system-project.d.mts +16 -0
  369. package/dist/file-system/file-system-project.d.mts.map +1 -0
  370. package/dist/file-system/file-system-project.mjs +253 -0
  371. package/dist/file-system/file-system-project.mjs.map +1 -0
  372. package/dist/file-system/file-system-table.d.mts +17 -0
  373. package/dist/file-system/file-system-table.d.mts.map +1 -0
  374. package/dist/file-system/file-system-table.mjs +95 -0
  375. package/dist/file-system/file-system-table.mjs.map +1 -0
  376. package/dist/file-system/file-system.d.mts +35 -0
  377. package/dist/file-system/file-system.d.mts.map +1 -0
  378. package/dist/file-system/file-system.mjs +179 -0
  379. package/dist/file-system/file-system.mjs.map +1 -0
  380. package/dist/file-system/index.d.mts +9 -0
  381. package/dist/file-system/index.mjs +9 -0
  382. package/dist/file-system/model.d.mts +156 -0
  383. package/dist/file-system/model.d.mts.map +1 -0
  384. package/dist/file-system/model.mjs +200 -0
  385. package/dist/file-system/model.mjs.map +1 -0
  386. package/dist/filter.d.mts +92 -0
  387. package/dist/filter.d.mts.map +1 -0
  388. package/dist/filter.mjs +267 -0
  389. package/dist/filter.mjs.map +1 -0
  390. package/dist/float-shadow.d.mts +10 -0
  391. package/dist/float-shadow.d.mts.map +1 -0
  392. package/dist/float-shadow.mjs +11 -0
  393. package/dist/float-shadow.mjs.map +1 -0
  394. package/dist/floating-assistant.d.mts +75 -0
  395. package/dist/floating-assistant.d.mts.map +1 -0
  396. package/dist/floating-assistant.mjs +114 -0
  397. package/dist/floating-assistant.mjs.map +1 -0
  398. package/dist/floor-progress-bar.d.mts +17 -0
  399. package/dist/floor-progress-bar.d.mts.map +1 -0
  400. package/dist/floor-progress-bar.mjs +38 -0
  401. package/dist/floor-progress-bar.mjs.map +1 -0
  402. package/dist/fonts/LICENSE.md +41 -0
  403. package/dist/fonts/figtree-italic-300-900-latin-ext.woff2 +0 -0
  404. package/dist/fonts/figtree-italic-300-900-latin.woff2 +0 -0
  405. package/dist/fonts/figtree-normal-300-900-latin-ext.woff2 +0 -0
  406. package/dist/fonts/figtree-normal-300-900-latin.woff2 +0 -0
  407. package/dist/fonts/ibm-plex-mono-italic-400-latin-ext.woff2 +0 -0
  408. package/dist/fonts/ibm-plex-mono-italic-400-latin.woff2 +0 -0
  409. package/dist/fonts/ibm-plex-mono-normal-400-latin-ext.woff2 +0 -0
  410. package/dist/fonts/ibm-plex-mono-normal-400-latin.woff2 +0 -0
  411. package/dist/fonts/ibm-plex-mono-normal-500-latin-ext.woff2 +0 -0
  412. package/dist/fonts/ibm-plex-mono-normal-500-latin.woff2 +0 -0
  413. package/dist/fonts/ibm-plex-mono-normal-600-latin-ext.woff2 +0 -0
  414. package/dist/fonts/ibm-plex-mono-normal-600-latin.woff2 +0 -0
  415. package/dist/fonts/lora-italic-400-700-latin-ext.woff2 +0 -0
  416. package/dist/fonts/lora-italic-400-700-latin.woff2 +0 -0
  417. package/dist/fonts/lora-normal-400-700-latin-ext.woff2 +0 -0
  418. package/dist/fonts/lora-normal-400-700-latin.woff2 +0 -0
  419. package/dist/footprint-viewer.d.mts +88 -0
  420. package/dist/footprint-viewer.d.mts.map +1 -0
  421. package/dist/footprint-viewer.mjs +657 -0
  422. package/dist/footprint-viewer.mjs.map +1 -0
  423. package/dist/form-action-bar.d.mts +32 -0
  424. package/dist/form-action-bar.d.mts.map +1 -0
  425. package/dist/form-action-bar.mjs +42 -0
  426. package/dist/form-action-bar.mjs.map +1 -0
  427. package/dist/form-dialog.d.mts +116 -0
  428. package/dist/form-dialog.d.mts.map +1 -0
  429. package/dist/form-dialog.mjs +149 -0
  430. package/dist/form-dialog.mjs.map +1 -0
  431. package/dist/form-layout.d.mts +33 -0
  432. package/dist/form-layout.d.mts.map +1 -0
  433. package/dist/form-layout.mjs +90 -0
  434. package/dist/form-layout.mjs.map +1 -0
  435. package/dist/form.d.mts +29 -0
  436. package/dist/form.d.mts.map +1 -0
  437. package/dist/form.mjs +93 -0
  438. package/dist/form.mjs.map +1 -0
  439. package/dist/fragment-viewer/cinematic.d.mts +76 -0
  440. package/dist/fragment-viewer/cinematic.d.mts.map +1 -0
  441. package/dist/fragment-viewer/cinematic.mjs +382 -0
  442. package/dist/fragment-viewer/cinematic.mjs.map +1 -0
  443. package/dist/fragment-viewer/context.d.mts +106 -0
  444. package/dist/fragment-viewer/context.d.mts.map +1 -0
  445. package/dist/fragment-viewer/context.mjs +168 -0
  446. package/dist/fragment-viewer/context.mjs.map +1 -0
  447. package/dist/fragment-viewer/runtime.d.mts +288 -0
  448. package/dist/fragment-viewer/runtime.d.mts.map +1 -0
  449. package/dist/fragment-viewer/runtime.mjs +782 -0
  450. package/dist/fragment-viewer/runtime.mjs.map +1 -0
  451. package/dist/fragment-viewer.d.mts +62 -0
  452. package/dist/fragment-viewer.d.mts.map +1 -0
  453. package/dist/fragment-viewer.mjs +144 -0
  454. package/dist/fragment-viewer.mjs.map +1 -0
  455. package/dist/gantt.d.mts +72 -0
  456. package/dist/gantt.d.mts.map +1 -0
  457. package/dist/gantt.mjs +281 -0
  458. package/dist/gantt.mjs.map +1 -0
  459. package/dist/graph-canvas.d.mts +60 -0
  460. package/dist/graph-canvas.d.mts.map +1 -0
  461. package/dist/graph-canvas.mjs +105 -0
  462. package/dist/graph-canvas.mjs.map +1 -0
  463. package/dist/grid.d.mts +16 -0
  464. package/dist/grid.d.mts.map +1 -0
  465. package/dist/grid.mjs +47 -0
  466. package/dist/grid.mjs.map +1 -0
  467. package/dist/heading.d.mts +16 -0
  468. package/dist/heading.d.mts.map +1 -0
  469. package/dist/heading.mjs +43 -0
  470. package/dist/heading.mjs.map +1 -0
  471. package/dist/house-shape.d.mts +22 -0
  472. package/dist/house-shape.d.mts.map +1 -0
  473. package/dist/house-shape.mjs +103 -0
  474. package/dist/house-shape.mjs.map +1 -0
  475. package/dist/hover-card.d.mts +10 -0
  476. package/dist/hover-card.d.mts.map +1 -0
  477. package/dist/hover-card.mjs +22 -0
  478. package/dist/hover-card.mjs.map +1 -0
  479. package/dist/icon-button.d.mts +20 -0
  480. package/dist/icon-button.d.mts.map +1 -0
  481. package/dist/icon-button.mjs +52 -0
  482. package/dist/icon-button.mjs.map +1 -0
  483. package/dist/icon.d.mts +16 -0
  484. package/dist/icon.d.mts.map +1 -0
  485. package/dist/icon.mjs +32 -0
  486. package/dist/icon.mjs.map +1 -0
  487. package/dist/image-zoom.d.mts +23 -0
  488. package/dist/image-zoom.d.mts.map +1 -0
  489. package/dist/image-zoom.mjs +51 -0
  490. package/dist/image-zoom.mjs.map +1 -0
  491. package/dist/index.d.mts +3 -0
  492. package/dist/index.mjs +2 -0
  493. package/dist/inline-comment-composer.d.mts +40 -0
  494. package/dist/inline-comment-composer.d.mts.map +1 -0
  495. package/dist/inline-comment-composer.mjs +174 -0
  496. package/dist/inline-comment-composer.mjs.map +1 -0
  497. package/dist/input-group.d.mts +8 -0
  498. package/dist/input-group.d.mts.map +1 -0
  499. package/dist/input-group.mjs +21 -0
  500. package/dist/input-group.mjs.map +1 -0
  501. package/dist/input-otp.d.mts +40 -0
  502. package/dist/input-otp.d.mts.map +1 -0
  503. package/dist/input-otp.mjs +44 -0
  504. package/dist/input-otp.mjs.map +1 -0
  505. package/dist/input.d.mts +7 -0
  506. package/dist/input.d.mts.map +1 -0
  507. package/dist/input.mjs +18 -0
  508. package/dist/input.mjs.map +1 -0
  509. package/dist/item.d.mts +10 -0
  510. package/dist/item.d.mts.map +1 -0
  511. package/dist/item.mjs +33 -0
  512. package/dist/item.mjs.map +1 -0
  513. package/dist/kbd.d.mts +8 -0
  514. package/dist/kbd.d.mts.map +1 -0
  515. package/dist/kbd.mjs +15 -0
  516. package/dist/kbd.mjs.map +1 -0
  517. package/dist/kiosk-body.d.mts +13 -0
  518. package/dist/kiosk-body.d.mts.map +1 -0
  519. package/dist/kiosk-body.mjs +352 -0
  520. package/dist/kiosk-body.mjs.map +1 -0
  521. package/dist/kpi-bar.d.mts +29 -0
  522. package/dist/kpi-bar.d.mts.map +1 -0
  523. package/dist/kpi-bar.mjs +46 -0
  524. package/dist/kpi-bar.mjs.map +1 -0
  525. package/dist/kpi-summary.d.mts +24 -0
  526. package/dist/kpi-summary.d.mts.map +1 -0
  527. package/dist/kpi-summary.mjs +22 -0
  528. package/dist/kpi-summary.mjs.map +1 -0
  529. package/dist/label.d.mts +19 -0
  530. package/dist/label.d.mts.map +1 -0
  531. package/dist/label.mjs +27 -0
  532. package/dist/label.mjs.map +1 -0
  533. package/dist/legend.d.mts +87 -0
  534. package/dist/legend.d.mts.map +1 -0
  535. package/dist/legend.mjs +210 -0
  536. package/dist/legend.mjs.map +1 -0
  537. package/dist/lightbox.d.mts +28 -0
  538. package/dist/lightbox.d.mts.map +1 -0
  539. package/dist/lightbox.mjs +142 -0
  540. package/dist/lightbox.mjs.map +1 -0
  541. package/dist/link-type-detail.d.mts +73 -0
  542. package/dist/link-type-detail.d.mts.map +1 -0
  543. package/dist/link-type-detail.mjs +628 -0
  544. package/dist/link-type-detail.mjs.map +1 -0
  545. package/dist/link-type-wizard.d.mts +35 -0
  546. package/dist/link-type-wizard.d.mts.map +1 -0
  547. package/dist/link-type-wizard.mjs +303 -0
  548. package/dist/link-type-wizard.mjs.map +1 -0
  549. package/dist/link.d.mts +14 -0
  550. package/dist/link.d.mts.map +1 -0
  551. package/dist/link.mjs +30 -0
  552. package/dist/link.mjs.map +1 -0
  553. package/dist/list.d.mts +19 -0
  554. package/dist/list.d.mts.map +1 -0
  555. package/dist/list.mjs +27 -0
  556. package/dist/list.mjs.map +1 -0
  557. package/dist/map-compare-layout.d.mts +53 -0
  558. package/dist/map-compare-layout.d.mts.map +1 -0
  559. package/dist/map-compare-layout.mjs +164 -0
  560. package/dist/map-compare-layout.mjs.map +1 -0
  561. package/dist/map-compass.d.mts +22 -0
  562. package/dist/map-compass.d.mts.map +1 -0
  563. package/dist/map-compass.mjs +56 -0
  564. package/dist/map-compass.mjs.map +1 -0
  565. package/dist/map-control-panel.d.mts +92 -0
  566. package/dist/map-control-panel.d.mts.map +1 -0
  567. package/dist/map-control-panel.mjs +153 -0
  568. package/dist/map-control-panel.mjs.map +1 -0
  569. package/dist/map-controls.d.mts +24 -0
  570. package/dist/map-controls.d.mts.map +1 -0
  571. package/dist/map-controls.mjs +322 -0
  572. package/dist/map-controls.mjs.map +1 -0
  573. package/dist/map-hover-card.d.mts +28 -0
  574. package/dist/map-hover-card.d.mts.map +1 -0
  575. package/dist/map-hover-card.mjs +56 -0
  576. package/dist/map-hover-card.mjs.map +1 -0
  577. package/dist/map-legend.d.mts +41 -0
  578. package/dist/map-legend.d.mts.map +1 -0
  579. package/dist/map-legend.mjs +97 -0
  580. package/dist/map-legend.mjs.map +1 -0
  581. package/dist/map-minimap.d.mts +44 -0
  582. package/dist/map-minimap.d.mts.map +1 -0
  583. package/dist/map-minimap.mjs +108 -0
  584. package/dist/map-minimap.mjs.map +1 -0
  585. package/dist/map-toolbar.d.mts +60 -0
  586. package/dist/map-toolbar.d.mts.map +1 -0
  587. package/dist/map-toolbar.mjs +195 -0
  588. package/dist/map-toolbar.mjs.map +1 -0
  589. package/dist/map-transition.d.mts +51 -0
  590. package/dist/map-transition.d.mts.map +1 -0
  591. package/dist/map-transition.mjs +59 -0
  592. package/dist/map-transition.mjs.map +1 -0
  593. package/dist/map.d.mts +14 -0
  594. package/dist/map.d.mts.map +1 -0
  595. package/dist/map.mjs +47 -0
  596. package/dist/map.mjs.map +1 -0
  597. package/dist/mapbox-token.d.mts +12 -0
  598. package/dist/mapbox-token.d.mts.map +1 -0
  599. package/dist/mapbox-token.mjs +15 -0
  600. package/dist/mapbox-token.mjs.map +1 -0
  601. package/dist/markdown.d.mts +18 -0
  602. package/dist/markdown.d.mts.map +1 -0
  603. package/dist/markdown.mjs +41 -0
  604. package/dist/markdown.mjs.map +1 -0
  605. package/dist/mega-menu.d.mts +36 -0
  606. package/dist/mega-menu.d.mts.map +1 -0
  607. package/dist/mega-menu.mjs +89 -0
  608. package/dist/mega-menu.mjs.map +1 -0
  609. package/dist/menubar.d.mts +32 -0
  610. package/dist/menubar.d.mts.map +1 -0
  611. package/dist/menubar.mjs +96 -0
  612. package/dist/menubar.mjs.map +1 -0
  613. package/dist/metadata-list.d.mts +2 -0
  614. package/dist/metadata-list.mjs +2 -0
  615. package/dist/metric-card.d.mts +28 -0
  616. package/dist/metric-card.d.mts.map +1 -0
  617. package/dist/metric-card.mjs +55 -0
  618. package/dist/metric-card.mjs.map +1 -0
  619. package/dist/milestone-table.d.mts +35 -0
  620. package/dist/milestone-table.d.mts.map +1 -0
  621. package/dist/milestone-table.mjs +84 -0
  622. package/dist/milestone-table.mjs.map +1 -0
  623. package/dist/minimap.d.mts +23 -0
  624. package/dist/minimap.d.mts.map +1 -0
  625. package/dist/minimap.mjs +64 -0
  626. package/dist/minimap.mjs.map +1 -0
  627. package/dist/more-menu.d.mts +27 -0
  628. package/dist/more-menu.d.mts.map +1 -0
  629. package/dist/more-menu.mjs +34 -0
  630. package/dist/more-menu.mjs.map +1 -0
  631. package/dist/multi-select.d.mts +38 -0
  632. package/dist/multi-select.d.mts.map +1 -0
  633. package/dist/multi-select.mjs +106 -0
  634. package/dist/multi-select.mjs.map +1 -0
  635. package/dist/navigation/core-app-sidebar.d.mts +461 -0
  636. package/dist/navigation/core-app-sidebar.d.mts.map +1 -0
  637. package/dist/navigation/core-app-sidebar.mjs +1288 -0
  638. package/dist/navigation/core-app-sidebar.mjs.map +1 -0
  639. package/dist/navigation/core-app-top-bar.d.mts +116 -0
  640. package/dist/navigation/core-app-top-bar.d.mts.map +1 -0
  641. package/dist/navigation/core-app-top-bar.mjs +224 -0
  642. package/dist/navigation/core-app-top-bar.mjs.map +1 -0
  643. package/dist/navigation/core-context-tabs.d.mts +12 -0
  644. package/dist/navigation/core-context-tabs.d.mts.map +1 -0
  645. package/dist/navigation/core-context-tabs.mjs +32 -0
  646. package/dist/navigation/core-context-tabs.mjs.map +1 -0
  647. package/dist/navigation/core-dashboard-header.d.mts +20 -0
  648. package/dist/navigation/core-dashboard-header.d.mts.map +1 -0
  649. package/dist/navigation/core-dashboard-header.mjs +227 -0
  650. package/dist/navigation/core-dashboard-header.mjs.map +1 -0
  651. package/dist/navigation/core-filter-strip.d.mts +12 -0
  652. package/dist/navigation/core-filter-strip.d.mts.map +1 -0
  653. package/dist/navigation/core-filter-strip.mjs +289 -0
  654. package/dist/navigation/core-filter-strip.mjs.map +1 -0
  655. package/dist/navigation/core-org-project-switcher.d.mts +12 -0
  656. package/dist/navigation/core-org-project-switcher.d.mts.map +1 -0
  657. package/dist/navigation/core-org-project-switcher.mjs +201 -0
  658. package/dist/navigation/core-org-project-switcher.mjs.map +1 -0
  659. package/dist/navigation/switcher.d.mts +38 -0
  660. package/dist/navigation/switcher.d.mts.map +1 -0
  661. package/dist/navigation/switcher.mjs +144 -0
  662. package/dist/navigation/switcher.mjs.map +1 -0
  663. package/dist/navigation-menu.d.mts +16 -0
  664. package/dist/navigation-menu.d.mts.map +1 -0
  665. package/dist/navigation-menu.mjs +64 -0
  666. package/dist/navigation-menu.mjs.map +1 -0
  667. package/dist/neighborhood-scene.d.mts +21 -0
  668. package/dist/neighborhood-scene.d.mts.map +1 -0
  669. package/dist/neighborhood-scene.mjs +285 -0
  670. package/dist/neighborhood-scene.mjs.map +1 -0
  671. package/dist/node-graph.d.mts +154 -0
  672. package/dist/node-graph.d.mts.map +1 -0
  673. package/dist/node-graph.mjs +349 -0
  674. package/dist/node-graph.mjs.map +1 -0
  675. package/dist/notification-center.d.mts +40 -0
  676. package/dist/notification-center.d.mts.map +1 -0
  677. package/dist/notification-center.mjs +224 -0
  678. package/dist/notification-center.mjs.map +1 -0
  679. package/dist/number-input.d.mts +23 -0
  680. package/dist/number-input.d.mts.map +1 -0
  681. package/dist/number-input.mjs +79 -0
  682. package/dist/number-input.mjs.map +1 -0
  683. package/dist/object-drawing-toolbar.d.mts +38 -0
  684. package/dist/object-drawing-toolbar.d.mts.map +1 -0
  685. package/dist/object-drawing-toolbar.mjs +172 -0
  686. package/dist/object-drawing-toolbar.mjs.map +1 -0
  687. package/dist/object-type-detail.d.mts +27 -0
  688. package/dist/object-type-detail.d.mts.map +1 -0
  689. package/dist/object-type-detail.mjs +1389 -0
  690. package/dist/object-type-detail.mjs.map +1 -0
  691. package/dist/object-type-wizard.d.mts +78 -0
  692. package/dist/object-type-wizard.d.mts.map +1 -0
  693. package/dist/object-type-wizard.mjs +885 -0
  694. package/dist/object-type-wizard.mjs.map +1 -0
  695. package/dist/observation-detail-panel.d.mts +89 -0
  696. package/dist/observation-detail-panel.d.mts.map +1 -0
  697. package/dist/observation-detail-panel.mjs +168 -0
  698. package/dist/observation-detail-panel.mjs.map +1 -0
  699. package/dist/observations-map.d.mts +288 -0
  700. package/dist/observations-map.d.mts.map +1 -0
  701. package/dist/observations-map.mjs +1087 -0
  702. package/dist/observations-map.mjs.map +1 -0
  703. package/dist/operations-drawer.d.mts +51 -0
  704. package/dist/operations-drawer.d.mts.map +1 -0
  705. package/dist/operations-drawer.mjs +193 -0
  706. package/dist/operations-drawer.mjs.map +1 -0
  707. package/dist/outline.d.mts +27 -0
  708. package/dist/outline.d.mts.map +1 -0
  709. package/dist/outline.mjs +47 -0
  710. package/dist/outline.mjs.map +1 -0
  711. package/dist/overflow-list.d.mts +23 -0
  712. package/dist/overflow-list.d.mts.map +1 -0
  713. package/dist/overflow-list.mjs +38 -0
  714. package/dist/overflow-list.mjs.map +1 -0
  715. package/dist/overlay.d.mts +17 -0
  716. package/dist/overlay.d.mts.map +1 -0
  717. package/dist/overlay.mjs +32 -0
  718. package/dist/overlay.mjs.map +1 -0
  719. package/dist/page-content-header.d.mts +43 -0
  720. package/dist/page-content-header.d.mts.map +1 -0
  721. package/dist/page-content-header.mjs +224 -0
  722. package/dist/page-content-header.mjs.map +1 -0
  723. package/dist/pages/almanar-blocks-data.d.mts +4 -0
  724. package/dist/pages/almanar-blocks-data.d.mts.map +1 -0
  725. package/dist/pages/almanar-blocks-data.mjs +691 -0
  726. package/dist/pages/almanar-blocks-data.mjs.map +1 -0
  727. package/dist/pages/almanar-hierarchy-data.d.mts +9 -0
  728. package/dist/pages/almanar-hierarchy-data.d.mts.map +1 -0
  729. package/dist/pages/almanar-hierarchy-data.mjs +816 -0
  730. package/dist/pages/almanar-hierarchy-data.mjs.map +1 -0
  731. package/dist/pages/almanar-villa-taxonomy.d.mts +9 -0
  732. package/dist/pages/almanar-villa-taxonomy.d.mts.map +1 -0
  733. package/dist/pages/almanar-villa-taxonomy.mjs +1569 -0
  734. package/dist/pages/almanar-villa-taxonomy.mjs.map +1 -0
  735. package/dist/pages/app-marketplace-shared.d.mts +146 -0
  736. package/dist/pages/app-marketplace-shared.d.mts.map +1 -0
  737. package/dist/pages/app-marketplace-shared.mjs +739 -0
  738. package/dist/pages/app-marketplace-shared.mjs.map +1 -0
  739. package/dist/pages/capture-ui-enhanced.d.mts +125 -0
  740. package/dist/pages/capture-ui-enhanced.d.mts.map +1 -0
  741. package/dist/pages/capture-ui-enhanced.mjs +915 -0
  742. package/dist/pages/capture-ui-enhanced.mjs.map +1 -0
  743. package/dist/pages/core-admin-panel.d.mts +10 -0
  744. package/dist/pages/core-admin-panel.d.mts.map +1 -0
  745. package/dist/pages/core-admin-panel.mjs +3076 -0
  746. package/dist/pages/core-admin-panel.mjs.map +1 -0
  747. package/dist/pages/core-analytics-overview.d.mts +10 -0
  748. package/dist/pages/core-analytics-overview.d.mts.map +1 -0
  749. package/dist/pages/core-analytics-overview.mjs +904 -0
  750. package/dist/pages/core-analytics-overview.mjs.map +1 -0
  751. package/dist/pages/core-app-installer.d.mts +17 -0
  752. package/dist/pages/core-app-installer.d.mts.map +1 -0
  753. package/dist/pages/core-app-installer.mjs +94 -0
  754. package/dist/pages/core-app-installer.mjs.map +1 -0
  755. package/dist/pages/core-blueprint-viewer-3.d.mts +25 -0
  756. package/dist/pages/core-blueprint-viewer-3.d.mts.map +1 -0
  757. package/dist/pages/core-blueprint-viewer-3.mjs +688 -0
  758. package/dist/pages/core-blueprint-viewer-3.mjs.map +1 -0
  759. package/dist/pages/core-blueprint-viewer.d.mts +14 -0
  760. package/dist/pages/core-blueprint-viewer.d.mts.map +1 -0
  761. package/dist/pages/core-blueprint-viewer.mjs +665 -0
  762. package/dist/pages/core-blueprint-viewer.mjs.map +1 -0
  763. package/dist/pages/core-building-viewer-capture.d.mts +18 -0
  764. package/dist/pages/core-building-viewer-capture.d.mts.map +1 -0
  765. package/dist/pages/core-building-viewer-capture.mjs +268 -0
  766. package/dist/pages/core-building-viewer-capture.mjs.map +1 -0
  767. package/dist/pages/core-building-viewer.d.mts +20 -0
  768. package/dist/pages/core-building-viewer.d.mts.map +1 -0
  769. package/dist/pages/core-building-viewer.mjs +299 -0
  770. package/dist/pages/core-building-viewer.mjs.map +1 -0
  771. package/dist/pages/core-clinic.d.mts +14 -0
  772. package/dist/pages/core-clinic.d.mts.map +1 -0
  773. package/dist/pages/core-clinic.mjs +2175 -0
  774. package/dist/pages/core-clinic.mjs.map +1 -0
  775. package/dist/pages/core-content-area.d.mts +15 -0
  776. package/dist/pages/core-content-area.d.mts.map +1 -0
  777. package/dist/pages/core-content-area.mjs +192 -0
  778. package/dist/pages/core-content-area.mjs.map +1 -0
  779. package/dist/pages/core-core-connect-v3.d.mts +16 -0
  780. package/dist/pages/core-core-connect-v3.d.mts.map +1 -0
  781. package/dist/pages/core-core-connect-v3.mjs +30 -0
  782. package/dist/pages/core-core-connect-v3.mjs.map +1 -0
  783. package/dist/pages/core-core-connect.d.mts +15 -0
  784. package/dist/pages/core-core-connect.d.mts.map +1 -0
  785. package/dist/pages/core-core-connect.mjs +21 -0
  786. package/dist/pages/core-core-connect.mjs.map +1 -0
  787. package/dist/pages/core-design-canvas.d.mts +10 -0
  788. package/dist/pages/core-design-canvas.d.mts.map +1 -0
  789. package/dist/pages/core-design-canvas.mjs +322 -0
  790. package/dist/pages/core-design-canvas.mjs.map +1 -0
  791. package/dist/pages/core-login-page.d.mts +8 -0
  792. package/dist/pages/core-login-page.d.mts.map +1 -0
  793. package/dist/pages/core-login-page.mjs +141 -0
  794. package/dist/pages/core-login-page.mjs.map +1 -0
  795. package/dist/pages/core-map-compare-layout.d.mts +20 -0
  796. package/dist/pages/core-map-compare-layout.d.mts.map +1 -0
  797. package/dist/pages/core-map-compare-layout.mjs +187 -0
  798. package/dist/pages/core-map-compare-layout.mjs.map +1 -0
  799. package/dist/pages/core-observations-map-view.d.mts +19 -0
  800. package/dist/pages/core-observations-map-view.d.mts.map +1 -0
  801. package/dist/pages/core-observations-map-view.mjs +1273 -0
  802. package/dist/pages/core-observations-map-view.mjs.map +1 -0
  803. package/dist/pages/core-org-ai-report.d.mts +9 -0
  804. package/dist/pages/core-org-ai-report.d.mts.map +1 -0
  805. package/dist/pages/core-org-ai-report.mjs +474 -0
  806. package/dist/pages/core-org-ai-report.mjs.map +1 -0
  807. package/dist/pages/core-org-overview.d.mts +11 -0
  808. package/dist/pages/core-org-overview.d.mts.map +1 -0
  809. package/dist/pages/core-org-overview.mjs +718 -0
  810. package/dist/pages/core-org-overview.mjs.map +1 -0
  811. package/dist/pages/core-org-performance.d.mts +11 -0
  812. package/dist/pages/core-org-performance.d.mts.map +1 -0
  813. package/dist/pages/core-org-performance.mjs +1398 -0
  814. package/dist/pages/core-org-performance.mjs.map +1 -0
  815. package/dist/pages/core-org-reality-capture.d.mts +10 -0
  816. package/dist/pages/core-org-reality-capture.d.mts.map +1 -0
  817. package/dist/pages/core-org-reality-capture.mjs +1962 -0
  818. package/dist/pages/core-org-reality-capture.mjs.map +1 -0
  819. package/dist/pages/core-org-workforce-intelligence.d.mts +12 -0
  820. package/dist/pages/core-org-workforce-intelligence.d.mts.map +1 -0
  821. package/dist/pages/core-org-workforce-intelligence.mjs +1215 -0
  822. package/dist/pages/core-org-workforce-intelligence.mjs.map +1 -0
  823. package/dist/pages/core-progress-details.d.mts +10 -0
  824. package/dist/pages/core-progress-details.d.mts.map +1 -0
  825. package/dist/pages/core-progress-details.mjs +758 -0
  826. package/dist/pages/core-progress-details.mjs.map +1 -0
  827. package/dist/pages/core-project-overview.d.mts +9 -0
  828. package/dist/pages/core-project-overview.d.mts.map +1 -0
  829. package/dist/pages/core-project-overview.mjs +246 -0
  830. package/dist/pages/core-project-overview.mjs.map +1 -0
  831. package/dist/pages/core-project-quality-issues.d.mts +9 -0
  832. package/dist/pages/core-project-quality-issues.d.mts.map +1 -0
  833. package/dist/pages/core-project-quality-issues.mjs +508 -0
  834. package/dist/pages/core-project-quality-issues.mjs.map +1 -0
  835. package/dist/pages/core-project-reality-capture.d.mts +9 -0
  836. package/dist/pages/core-project-reality-capture.d.mts.map +1 -0
  837. package/dist/pages/core-project-reality-capture.mjs +496 -0
  838. package/dist/pages/core-project-reality-capture.mjs.map +1 -0
  839. package/dist/pages/core-project-schedule-cost.d.mts +9 -0
  840. package/dist/pages/core-project-schedule-cost.d.mts.map +1 -0
  841. package/dist/pages/core-project-schedule-cost.mjs +548 -0
  842. package/dist/pages/core-project-schedule-cost.mjs.map +1 -0
  843. package/dist/pages/core-project-setup.d.mts +10 -0
  844. package/dist/pages/core-project-setup.d.mts.map +1 -0
  845. package/dist/pages/core-project-setup.mjs +283 -0
  846. package/dist/pages/core-project-setup.mjs.map +1 -0
  847. package/dist/pages/core-project-workforce-safety.d.mts +9 -0
  848. package/dist/pages/core-project-workforce-safety.d.mts.map +1 -0
  849. package/dist/pages/core-project-workforce-safety.mjs +465 -0
  850. package/dist/pages/core-project-workforce-safety.mjs.map +1 -0
  851. package/dist/pages/core-safety-manager.d.mts +14 -0
  852. package/dist/pages/core-safety-manager.d.mts.map +1 -0
  853. package/dist/pages/core-safety-manager.mjs +3081 -0
  854. package/dist/pages/core-safety-manager.mjs.map +1 -0
  855. package/dist/pages/core-site-reality.d.mts +25 -0
  856. package/dist/pages/core-site-reality.d.mts.map +1 -0
  857. package/dist/pages/core-site-reality.mjs +505 -0
  858. package/dist/pages/core-site-reality.mjs.map +1 -0
  859. package/dist/pages/core-task-monitor.d.mts +4 -0
  860. package/dist/pages/core-task-monitor.d.mts.map +1 -0
  861. package/dist/pages/core-task-monitor.mjs +587 -0
  862. package/dist/pages/core-task-monitor.mjs.map +1 -0
  863. package/dist/pages/core-timesheet.d.mts +2 -0
  864. package/dist/pages/core-timesheet.mjs +2 -0
  865. package/dist/pages/core-verifytime-command-center.d.mts +4 -0
  866. package/dist/pages/core-verifytime-command-center.d.mts.map +1 -0
  867. package/dist/pages/core-verifytime-command-center.mjs +1089 -0
  868. package/dist/pages/core-verifytime-command-center.mjs.map +1 -0
  869. package/dist/pages/core-wc3-workspace.d.mts +71 -0
  870. package/dist/pages/core-wc3-workspace.d.mts.map +1 -0
  871. package/dist/pages/core-wc3-workspace.mjs +1015 -0
  872. package/dist/pages/core-wc3-workspace.mjs.map +1 -0
  873. package/dist/pages/core-work-permit.d.mts +14 -0
  874. package/dist/pages/core-work-permit.d.mts.map +1 -0
  875. package/dist/pages/core-work-permit.mjs +281 -0
  876. package/dist/pages/core-work-permit.mjs.map +1 -0
  877. package/dist/pages/core-workforce.d.mts +24 -0
  878. package/dist/pages/core-workforce.d.mts.map +1 -0
  879. package/dist/pages/core-workforce.mjs +1253 -0
  880. package/dist/pages/core-workforce.mjs.map +1 -0
  881. package/dist/pages/org-logos.d.mts +9 -0
  882. package/dist/pages/org-logos.d.mts.map +1 -0
  883. package/dist/pages/org-logos.mjs +11 -0
  884. package/dist/pages/org-logos.mjs.map +1 -0
  885. package/dist/pages/state-machine-fixtures.d.mts +34 -0
  886. package/dist/pages/state-machine-fixtures.d.mts.map +1 -0
  887. package/dist/pages/state-machine-fixtures.mjs +73 -0
  888. package/dist/pages/state-machine-fixtures.mjs.map +1 -0
  889. package/dist/pages/state-machine.d.mts +407 -0
  890. package/dist/pages/state-machine.d.mts.map +1 -0
  891. package/dist/pages/state-machine.mjs +2254 -0
  892. package/dist/pages/state-machine.mjs.map +1 -0
  893. package/dist/pages/typeform/AttachmentInput.d.mts +11 -0
  894. package/dist/pages/typeform/AttachmentInput.d.mts.map +1 -0
  895. package/dist/pages/typeform/AttachmentInput.mjs +59 -0
  896. package/dist/pages/typeform/AttachmentInput.mjs.map +1 -0
  897. package/dist/pages/typeform/BuildMethodScreen.d.mts +10 -0
  898. package/dist/pages/typeform/BuildMethodScreen.d.mts.map +1 -0
  899. package/dist/pages/typeform/BuildMethodScreen.mjs +176 -0
  900. package/dist/pages/typeform/BuildMethodScreen.mjs.map +1 -0
  901. package/dist/pages/typeform/BuilderFlow.d.mts +29 -0
  902. package/dist/pages/typeform/BuilderFlow.d.mts.map +1 -0
  903. package/dist/pages/typeform/BuilderFlow.mjs +111 -0
  904. package/dist/pages/typeform/BuilderFlow.mjs.map +1 -0
  905. package/dist/pages/typeform/BuilderScreen.d.mts +14 -0
  906. package/dist/pages/typeform/BuilderScreen.d.mts.map +1 -0
  907. package/dist/pages/typeform/BuilderScreen.mjs +668 -0
  908. package/dist/pages/typeform/BuilderScreen.mjs.map +1 -0
  909. package/dist/pages/typeform/DataSourceSelect.d.mts +13 -0
  910. package/dist/pages/typeform/DataSourceSelect.d.mts.map +1 -0
  911. package/dist/pages/typeform/DataSourceSelect.mjs +36 -0
  912. package/dist/pages/typeform/DataSourceSelect.mjs.map +1 -0
  913. package/dist/pages/typeform/DerivedCountDisplay.d.mts +10 -0
  914. package/dist/pages/typeform/DerivedCountDisplay.d.mts.map +1 -0
  915. package/dist/pages/typeform/DerivedCountDisplay.mjs +20 -0
  916. package/dist/pages/typeform/DerivedCountDisplay.mjs.map +1 -0
  917. package/dist/pages/typeform/FillerRJSF.d.mts +10 -0
  918. package/dist/pages/typeform/FillerRJSF.d.mts.map +1 -0
  919. package/dist/pages/typeform/FillerRJSF.mjs +314 -0
  920. package/dist/pages/typeform/FillerRJSF.mjs.map +1 -0
  921. package/dist/pages/typeform/FormBuilderWidgetRJSF.d.mts +9 -0
  922. package/dist/pages/typeform/FormBuilderWidgetRJSF.d.mts.map +1 -0
  923. package/dist/pages/typeform/FormBuilderWidgetRJSF.mjs +22 -0
  924. package/dist/pages/typeform/FormBuilderWidgetRJSF.mjs.map +1 -0
  925. package/dist/pages/typeform/PublishScreen.d.mts +18 -0
  926. package/dist/pages/typeform/PublishScreen.d.mts.map +1 -0
  927. package/dist/pages/typeform/PublishScreen.mjs +163 -0
  928. package/dist/pages/typeform/PublishScreen.mjs.map +1 -0
  929. package/dist/pages/typeform/QuestionInspector.d.mts +7 -0
  930. package/dist/pages/typeform/QuestionInspector.d.mts.map +1 -0
  931. package/dist/pages/typeform/QuestionInspector.mjs +749 -0
  932. package/dist/pages/typeform/QuestionInspector.mjs.map +1 -0
  933. package/dist/pages/typeform/QuestionRenderer.d.mts +23 -0
  934. package/dist/pages/typeform/QuestionRenderer.d.mts.map +1 -0
  935. package/dist/pages/typeform/QuestionRenderer.mjs +170 -0
  936. package/dist/pages/typeform/QuestionRenderer.mjs.map +1 -0
  937. package/dist/pages/typeform/RatingInput.d.mts +14 -0
  938. package/dist/pages/typeform/RatingInput.d.mts.map +1 -0
  939. package/dist/pages/typeform/RatingInput.mjs +58 -0
  940. package/dist/pages/typeform/RatingInput.mjs.map +1 -0
  941. package/dist/pages/typeform/RuleGroupEditor.d.mts +9 -0
  942. package/dist/pages/typeform/RuleGroupEditor.d.mts.map +1 -0
  943. package/dist/pages/typeform/RuleGroupEditor.mjs +183 -0
  944. package/dist/pages/typeform/RuleGroupEditor.mjs.map +1 -0
  945. package/dist/pages/typeform/SignaturePad.d.mts +11 -0
  946. package/dist/pages/typeform/SignaturePad.d.mts.map +1 -0
  947. package/dist/pages/typeform/SignaturePad.mjs +111 -0
  948. package/dist/pages/typeform/SignaturePad.mjs.map +1 -0
  949. package/dist/pages/typeform/TableInput.d.mts +15 -0
  950. package/dist/pages/typeform/TableInput.d.mts.map +1 -0
  951. package/dist/pages/typeform/TableInput.mjs +73 -0
  952. package/dist/pages/typeform/TableInput.mjs.map +1 -0
  953. package/dist/pages/typeform/WorkspaceScreen.d.mts +20 -0
  954. package/dist/pages/typeform/WorkspaceScreen.d.mts.map +1 -0
  955. package/dist/pages/typeform/WorkspaceScreen.mjs +158 -0
  956. package/dist/pages/typeform/WorkspaceScreen.mjs.map +1 -0
  957. package/dist/pages/typeform/coreRjsfTheme.d.mts +4 -0
  958. package/dist/pages/typeform/coreRjsfTheme.d.mts.map +1 -0
  959. package/dist/pages/typeform/coreRjsfTheme.mjs +142 -0
  960. package/dist/pages/typeform/coreRjsfTheme.mjs.map +1 -0
  961. package/dist/pages/typeform/dataSources.d.mts +35 -0
  962. package/dist/pages/typeform/dataSources.d.mts.map +1 -0
  963. package/dist/pages/typeform/dataSources.mjs +210 -0
  964. package/dist/pages/typeform/dataSources.mjs.map +1 -0
  965. package/dist/pages/typeform/fillerShared.d.mts +21 -0
  966. package/dist/pages/typeform/fillerShared.d.mts.map +1 -0
  967. package/dist/pages/typeform/fillerShared.mjs +112 -0
  968. package/dist/pages/typeform/fillerShared.mjs.map +1 -0
  969. package/dist/pages/typeform/logic.d.mts +46 -0
  970. package/dist/pages/typeform/logic.d.mts.map +1 -0
  971. package/dist/pages/typeform/logic.mjs +193 -0
  972. package/dist/pages/typeform/logic.mjs.map +1 -0
  973. package/dist/pages/typeform/model.d.mts +144 -0
  974. package/dist/pages/typeform/model.d.mts.map +1 -0
  975. package/dist/pages/typeform/model.mjs +328 -0
  976. package/dist/pages/typeform/model.mjs.map +1 -0
  977. package/dist/pages/typeform/schemaToJsonSchema.d.mts +9 -0
  978. package/dist/pages/typeform/schemaToJsonSchema.d.mts.map +1 -0
  979. package/dist/pages/typeform/schemaToJsonSchema.mjs +119 -0
  980. package/dist/pages/typeform/schemaToJsonSchema.mjs.map +1 -0
  981. package/dist/pages/typeform/useFormBuilder.d.mts +34 -0
  982. package/dist/pages/typeform/useFormBuilder.d.mts.map +1 -0
  983. package/dist/pages/typeform/useFormBuilder.mjs +389 -0
  984. package/dist/pages/typeform/useFormBuilder.mjs.map +1 -0
  985. package/dist/pages/view-mode-thumbs.d.mts +6 -0
  986. package/dist/pages/view-mode-thumbs.d.mts.map +1 -0
  987. package/dist/pages/view-mode-thumbs.mjs +8 -0
  988. package/dist/pages/view-mode-thumbs.mjs.map +1 -0
  989. package/dist/pages/wc3-action-type-detail.d.mts +166 -0
  990. package/dist/pages/wc3-action-type-detail.d.mts.map +1 -0
  991. package/dist/pages/wc3-action-type-detail.mjs +2182 -0
  992. package/dist/pages/wc3-action-type-detail.mjs.map +1 -0
  993. package/dist/pages/wc3-action-type-run-dialog.d.mts +23 -0
  994. package/dist/pages/wc3-action-type-run-dialog.d.mts.map +1 -0
  995. package/dist/pages/wc3-action-type-run-dialog.mjs +383 -0
  996. package/dist/pages/wc3-action-type-run-dialog.mjs.map +1 -0
  997. package/dist/pages/wc3-action-type-wizard.d.mts +75 -0
  998. package/dist/pages/wc3-action-type-wizard.d.mts.map +1 -0
  999. package/dist/pages/wc3-action-type-wizard.mjs +702 -0
  1000. package/dist/pages/wc3-action-type-wizard.mjs.map +1 -0
  1001. package/dist/pages/wc3-analysis-data-view.d.mts +15 -0
  1002. package/dist/pages/wc3-analysis-data-view.d.mts.map +1 -0
  1003. package/dist/pages/wc3-analysis-data-view.mjs +129 -0
  1004. package/dist/pages/wc3-analysis-data-view.mjs.map +1 -0
  1005. package/dist/pages/wc3-analysis-data.d.mts +181 -0
  1006. package/dist/pages/wc3-analysis-data.d.mts.map +1 -0
  1007. package/dist/pages/wc3-analysis-data.mjs +4074 -0
  1008. package/dist/pages/wc3-analysis-data.mjs.map +1 -0
  1009. package/dist/pages/wc3-analysis-object-view.d.mts +12 -0
  1010. package/dist/pages/wc3-analysis-object-view.d.mts.map +1 -0
  1011. package/dist/pages/wc3-analysis-object-view.mjs +196 -0
  1012. package/dist/pages/wc3-analysis-object-view.mjs.map +1 -0
  1013. package/dist/pages/wc3-analysis-saved-view.d.mts +6 -0
  1014. package/dist/pages/wc3-analysis-saved-view.d.mts.map +1 -0
  1015. package/dist/pages/wc3-analysis-saved-view.mjs +540 -0
  1016. package/dist/pages/wc3-analysis-saved-view.mjs.map +1 -0
  1017. package/dist/pages/wc3-analysis-shared.d.mts +346 -0
  1018. package/dist/pages/wc3-analysis-shared.d.mts.map +1 -0
  1019. package/dist/pages/wc3-analysis-shared.mjs +1119 -0
  1020. package/dist/pages/wc3-analysis-shared.mjs.map +1 -0
  1021. package/dist/pages/wc3-analysis-views.d.mts +25 -0
  1022. package/dist/pages/wc3-analysis-views.d.mts.map +1 -0
  1023. package/dist/pages/wc3-analysis-views.mjs +48 -0
  1024. package/dist/pages/wc3-analysis-views.mjs.map +1 -0
  1025. package/dist/pages/wc3-fs-data.d.mts +12 -0
  1026. package/dist/pages/wc3-fs-data.d.mts.map +1 -0
  1027. package/dist/pages/wc3-fs-data.mjs +745 -0
  1028. package/dist/pages/wc3-fs-data.mjs.map +1 -0
  1029. package/dist/pages/wc3-fs-location-field.d.mts +13 -0
  1030. package/dist/pages/wc3-fs-location-field.d.mts.map +1 -0
  1031. package/dist/pages/wc3-fs-location-field.mjs +56 -0
  1032. package/dist/pages/wc3-fs-location-field.mjs.map +1 -0
  1033. package/dist/pages/wc3-fs-path-label.d.mts +12 -0
  1034. package/dist/pages/wc3-fs-path-label.d.mts.map +1 -0
  1035. package/dist/pages/wc3-fs-path-label.mjs +36 -0
  1036. package/dist/pages/wc3-fs-path-label.mjs.map +1 -0
  1037. package/dist/pages/wc3-fs-records.d.mts +17 -0
  1038. package/dist/pages/wc3-fs-records.d.mts.map +1 -0
  1039. package/dist/pages/wc3-fs-records.mjs +107 -0
  1040. package/dist/pages/wc3-fs-records.mjs.map +1 -0
  1041. package/dist/pages/wc3-fs-store.d.mts +43 -0
  1042. package/dist/pages/wc3-fs-store.d.mts.map +1 -0
  1043. package/dist/pages/wc3-fs-store.mjs +81 -0
  1044. package/dist/pages/wc3-fs-store.mjs.map +1 -0
  1045. package/dist/pages/wc3-fs-types.d.mts +19 -0
  1046. package/dist/pages/wc3-fs-types.d.mts.map +1 -0
  1047. package/dist/pages/wc3-fs-types.mjs +66 -0
  1048. package/dist/pages/wc3-fs-types.mjs.map +1 -0
  1049. package/dist/pages/wc3-graph-explorer-flow.d.mts +14 -0
  1050. package/dist/pages/wc3-graph-explorer-flow.d.mts.map +1 -0
  1051. package/dist/pages/wc3-graph-explorer-flow.mjs +275 -0
  1052. package/dist/pages/wc3-graph-explorer-flow.mjs.map +1 -0
  1053. package/dist/pages/wc3-group-detail.d.mts +26 -0
  1054. package/dist/pages/wc3-group-detail.d.mts.map +1 -0
  1055. package/dist/pages/wc3-group-detail.mjs +358 -0
  1056. package/dist/pages/wc3-group-detail.mjs.map +1 -0
  1057. package/dist/pages/wc3-group-wizard.d.mts +28 -0
  1058. package/dist/pages/wc3-group-wizard.d.mts.map +1 -0
  1059. package/dist/pages/wc3-group-wizard.mjs +120 -0
  1060. package/dist/pages/wc3-group-wizard.mjs.map +1 -0
  1061. package/dist/pages/wc3-health-view.d.mts +34 -0
  1062. package/dist/pages/wc3-health-view.d.mts.map +1 -0
  1063. package/dist/pages/wc3-health-view.mjs +413 -0
  1064. package/dist/pages/wc3-health-view.mjs.map +1 -0
  1065. package/dist/pages/wc3-home-view.d.mts +24 -0
  1066. package/dist/pages/wc3-home-view.d.mts.map +1 -0
  1067. package/dist/pages/wc3-home-view.mjs +59 -0
  1068. package/dist/pages/wc3-home-view.mjs.map +1 -0
  1069. package/dist/pages/wc3-interface-detail.d.mts +66 -0
  1070. package/dist/pages/wc3-interface-detail.d.mts.map +1 -0
  1071. package/dist/pages/wc3-interface-detail.mjs +1060 -0
  1072. package/dist/pages/wc3-interface-detail.mjs.map +1 -0
  1073. package/dist/pages/wc3-interface-wizard.d.mts +39 -0
  1074. package/dist/pages/wc3-interface-wizard.d.mts.map +1 -0
  1075. package/dist/pages/wc3-interface-wizard.mjs +226 -0
  1076. package/dist/pages/wc3-interface-wizard.mjs.map +1 -0
  1077. package/dist/pages/wc3-lineage-data-view.d.mts +6 -0
  1078. package/dist/pages/wc3-lineage-data-view.d.mts.map +1 -0
  1079. package/dist/pages/wc3-lineage-data-view.mjs +481 -0
  1080. package/dist/pages/wc3-lineage-data-view.mjs.map +1 -0
  1081. package/dist/pages/wc3-lineage-data.d.mts +191 -0
  1082. package/dist/pages/wc3-lineage-data.d.mts.map +1 -0
  1083. package/dist/pages/wc3-lineage-data.mjs +1061 -0
  1084. package/dist/pages/wc3-lineage-data.mjs.map +1 -0
  1085. package/dist/pages/wc3-lineage-impact-view.d.mts +13 -0
  1086. package/dist/pages/wc3-lineage-impact-view.d.mts.map +1 -0
  1087. package/dist/pages/wc3-lineage-impact-view.mjs +247 -0
  1088. package/dist/pages/wc3-lineage-impact-view.mjs.map +1 -0
  1089. package/dist/pages/wc3-lineage-shared.d.mts +137 -0
  1090. package/dist/pages/wc3-lineage-shared.d.mts.map +1 -0
  1091. package/dist/pages/wc3-lineage-shared.mjs +150 -0
  1092. package/dist/pages/wc3-lineage-shared.mjs.map +1 -0
  1093. package/dist/pages/wc3-lineage-views.d.mts +7 -0
  1094. package/dist/pages/wc3-lineage-views.d.mts.map +1 -0
  1095. package/dist/pages/wc3-lineage-views.mjs +13 -0
  1096. package/dist/pages/wc3-lineage-views.mjs.map +1 -0
  1097. package/dist/pages/wc3-lineage-workflow-view.d.mts +12 -0
  1098. package/dist/pages/wc3-lineage-workflow-view.d.mts.map +1 -0
  1099. package/dist/pages/wc3-lineage-workflow-view.mjs +326 -0
  1100. package/dist/pages/wc3-lineage-workflow-view.mjs.map +1 -0
  1101. package/dist/pages/wc3-object-type-detail.d.mts +18 -0
  1102. package/dist/pages/wc3-object-type-detail.d.mts.map +1 -0
  1103. package/dist/pages/wc3-object-type-detail.mjs +977 -0
  1104. package/dist/pages/wc3-object-type-detail.mjs.map +1 -0
  1105. package/dist/pages/wc3-ontology-data.d.mts +246 -0
  1106. package/dist/pages/wc3-ontology-data.d.mts.map +1 -0
  1107. package/dist/pages/wc3-ontology-data.mjs +8542 -0
  1108. package/dist/pages/wc3-ontology-data.mjs.map +1 -0
  1109. package/dist/pages/wc3-ontology-glyphs.d.mts +14 -0
  1110. package/dist/pages/wc3-ontology-glyphs.d.mts.map +1 -0
  1111. package/dist/pages/wc3-ontology-glyphs.mjs +53 -0
  1112. package/dist/pages/wc3-ontology-glyphs.mjs.map +1 -0
  1113. package/dist/pages/wc3-ontology-scope.d.mts +62 -0
  1114. package/dist/pages/wc3-ontology-scope.d.mts.map +1 -0
  1115. package/dist/pages/wc3-ontology-scope.mjs +109 -0
  1116. package/dist/pages/wc3-ontology-scope.mjs.map +1 -0
  1117. package/dist/pages/wc3-ontology-views.d.mts +34 -0
  1118. package/dist/pages/wc3-ontology-views.d.mts.map +1 -0
  1119. package/dist/pages/wc3-ontology-views.mjs +1253 -0
  1120. package/dist/pages/wc3-ontology-views.mjs.map +1 -0
  1121. package/dist/pages/wc3-permit-policy.d.mts +56 -0
  1122. package/dist/pages/wc3-permit-policy.d.mts.map +1 -0
  1123. package/dist/pages/wc3-permit-policy.mjs +478 -0
  1124. package/dist/pages/wc3-permit-policy.mjs.map +1 -0
  1125. package/dist/pages/wc3-pipeline-detail.d.mts +13 -0
  1126. package/dist/pages/wc3-pipeline-detail.d.mts.map +1 -0
  1127. package/dist/pages/wc3-pipeline-detail.mjs +818 -0
  1128. package/dist/pages/wc3-pipeline-detail.mjs.map +1 -0
  1129. package/dist/pages/wc3-pipeline-list-view.d.mts +5 -0
  1130. package/dist/pages/wc3-pipeline-list-view.d.mts.map +1 -0
  1131. package/dist/pages/wc3-pipeline-list-view.mjs +692 -0
  1132. package/dist/pages/wc3-pipeline-list-view.mjs.map +1 -0
  1133. package/dist/pages/wc3-pipeline-shared.d.mts +301 -0
  1134. package/dist/pages/wc3-pipeline-shared.d.mts.map +1 -0
  1135. package/dist/pages/wc3-pipeline-shared.mjs +703 -0
  1136. package/dist/pages/wc3-pipeline-shared.mjs.map +1 -0
  1137. package/dist/pages/wc3-pipeline-side-views.d.mts +7 -0
  1138. package/dist/pages/wc3-pipeline-side-views.d.mts.map +1 -0
  1139. package/dist/pages/wc3-pipeline-side-views.mjs +998 -0
  1140. package/dist/pages/wc3-pipeline-side-views.mjs.map +1 -0
  1141. package/dist/pages/wc3-pipeline-views.d.mts +15 -0
  1142. package/dist/pages/wc3-pipeline-views.d.mts.map +1 -0
  1143. package/dist/pages/wc3-pipeline-views.mjs +23 -0
  1144. package/dist/pages/wc3-pipeline-views.mjs.map +1 -0
  1145. package/dist/pages/wc3-process-bottlenecks.d.mts +22 -0
  1146. package/dist/pages/wc3-process-bottlenecks.d.mts.map +1 -0
  1147. package/dist/pages/wc3-process-bottlenecks.mjs +352 -0
  1148. package/dist/pages/wc3-process-bottlenecks.mjs.map +1 -0
  1149. package/dist/pages/wc3-process-create.d.mts +24 -0
  1150. package/dist/pages/wc3-process-create.d.mts.map +1 -0
  1151. package/dist/pages/wc3-process-create.mjs +230 -0
  1152. package/dist/pages/wc3-process-create.mjs.map +1 -0
  1153. package/dist/pages/wc3-process-data.d.mts +238 -0
  1154. package/dist/pages/wc3-process-data.d.mts.map +1 -0
  1155. package/dist/pages/wc3-process-data.mjs +2251 -0
  1156. package/dist/pages/wc3-process-data.mjs.map +1 -0
  1157. package/dist/pages/wc3-process-detail.d.mts +21 -0
  1158. package/dist/pages/wc3-process-detail.d.mts.map +1 -0
  1159. package/dist/pages/wc3-process-detail.mjs +21 -0
  1160. package/dist/pages/wc3-process-detail.mjs.map +1 -0
  1161. package/dist/pages/wc3-process-list-view.d.mts +5 -0
  1162. package/dist/pages/wc3-process-list-view.d.mts.map +1 -0
  1163. package/dist/pages/wc3-process-list-view.mjs +602 -0
  1164. package/dist/pages/wc3-process-list-view.mjs.map +1 -0
  1165. package/dist/pages/wc3-process-shared.d.mts +443 -0
  1166. package/dist/pages/wc3-process-shared.d.mts.map +1 -0
  1167. package/dist/pages/wc3-process-shared.mjs +980 -0
  1168. package/dist/pages/wc3-process-shared.mjs.map +1 -0
  1169. package/dist/pages/wc3-process-views.d.mts +19 -0
  1170. package/dist/pages/wc3-process-views.d.mts.map +1 -0
  1171. package/dist/pages/wc3-process-views.mjs +23 -0
  1172. package/dist/pages/wc3-process-views.mjs.map +1 -0
  1173. package/dist/pages/wc3-product-catalogue-view.d.mts +5 -0
  1174. package/dist/pages/wc3-product-catalogue-view.d.mts.map +1 -0
  1175. package/dist/pages/wc3-product-catalogue-view.mjs +587 -0
  1176. package/dist/pages/wc3-product-catalogue-view.mjs.map +1 -0
  1177. package/dist/pages/wc3-product-data.d.mts +206 -0
  1178. package/dist/pages/wc3-product-data.d.mts.map +1 -0
  1179. package/dist/pages/wc3-product-data.mjs +2669 -0
  1180. package/dist/pages/wc3-product-data.mjs.map +1 -0
  1181. package/dist/pages/wc3-product-detail.d.mts +31 -0
  1182. package/dist/pages/wc3-product-detail.d.mts.map +1 -0
  1183. package/dist/pages/wc3-product-detail.mjs +1137 -0
  1184. package/dist/pages/wc3-product-detail.mjs.map +1 -0
  1185. package/dist/pages/wc3-product-install-dialog.d.mts +99 -0
  1186. package/dist/pages/wc3-product-install-dialog.d.mts.map +1 -0
  1187. package/dist/pages/wc3-product-install-dialog.mjs +808 -0
  1188. package/dist/pages/wc3-product-install-dialog.mjs.map +1 -0
  1189. package/dist/pages/wc3-product-shared.d.mts +152 -0
  1190. package/dist/pages/wc3-product-shared.d.mts.map +1 -0
  1191. package/dist/pages/wc3-product-shared.mjs +268 -0
  1192. package/dist/pages/wc3-product-shared.mjs.map +1 -0
  1193. package/dist/pages/wc3-product-views.d.mts +7 -0
  1194. package/dist/pages/wc3-product-views.d.mts.map +1 -0
  1195. package/dist/pages/wc3-product-views.mjs +7 -0
  1196. package/dist/pages/wc3-product-views.mjs.map +1 -0
  1197. package/dist/pages/wc3-shared-property-detail.d.mts +95 -0
  1198. package/dist/pages/wc3-shared-property-detail.d.mts.map +1 -0
  1199. package/dist/pages/wc3-shared-property-detail.mjs +546 -0
  1200. package/dist/pages/wc3-shared-property-detail.mjs.map +1 -0
  1201. package/dist/pages/wc3-shared-property-view.d.mts +10 -0
  1202. package/dist/pages/wc3-shared-property-view.d.mts.map +1 -0
  1203. package/dist/pages/wc3-shared-property-view.mjs +455 -0
  1204. package/dist/pages/wc3-shared-property-view.mjs.map +1 -0
  1205. package/dist/pages/wc3-shared-property-wizard.d.mts +31 -0
  1206. package/dist/pages/wc3-shared-property-wizard.d.mts.map +1 -0
  1207. package/dist/pages/wc3-shared-property-wizard.mjs +181 -0
  1208. package/dist/pages/wc3-shared-property-wizard.mjs.map +1 -0
  1209. package/dist/pages/work-permit-templates.d.mts +30 -0
  1210. package/dist/pages/work-permit-templates.d.mts.map +1 -0
  1211. package/dist/pages/work-permit-templates.mjs +793 -0
  1212. package/dist/pages/work-permit-templates.mjs.map +1 -0
  1213. package/dist/pages/workforce-analytics.d.mts +11 -0
  1214. package/dist/pages/workforce-analytics.d.mts.map +1 -0
  1215. package/dist/pages/workforce-analytics.mjs +561 -0
  1216. package/dist/pages/workforce-analytics.mjs.map +1 -0
  1217. package/dist/pages/workforce-compliance-settings.d.mts +9 -0
  1218. package/dist/pages/workforce-compliance-settings.d.mts.map +1 -0
  1219. package/dist/pages/workforce-compliance-settings.mjs +375 -0
  1220. package/dist/pages/workforce-compliance-settings.mjs.map +1 -0
  1221. package/dist/pages/workforce-compliance.d.mts +81 -0
  1222. package/dist/pages/workforce-compliance.d.mts.map +1 -0
  1223. package/dist/pages/workforce-compliance.mjs +805 -0
  1224. package/dist/pages/workforce-compliance.mjs.map +1 -0
  1225. package/dist/pages/workforce-crews.d.mts +5 -0
  1226. package/dist/pages/workforce-crews.d.mts.map +1 -0
  1227. package/dist/pages/workforce-crews.mjs +1091 -0
  1228. package/dist/pages/workforce-crews.mjs.map +1 -0
  1229. package/dist/pages/workforce-map-view.d.mts +8 -0
  1230. package/dist/pages/workforce-map-view.d.mts.map +1 -0
  1231. package/dist/pages/workforce-map-view.mjs +953 -0
  1232. package/dist/pages/workforce-map-view.mjs.map +1 -0
  1233. package/dist/pages/workforce-obs.d.mts +5 -0
  1234. package/dist/pages/workforce-obs.d.mts.map +1 -0
  1235. package/dist/pages/workforce-obs.mjs +649 -0
  1236. package/dist/pages/workforce-obs.mjs.map +1 -0
  1237. package/dist/pagination.d.mts +32 -0
  1238. package/dist/pagination.d.mts.map +1 -0
  1239. package/dist/pagination.mjs +67 -0
  1240. package/dist/pagination.mjs.map +1 -0
  1241. package/dist/permission-matrix.d.mts +43 -0
  1242. package/dist/permission-matrix.d.mts.map +1 -0
  1243. package/dist/permission-matrix.mjs +146 -0
  1244. package/dist/permission-matrix.mjs.map +1 -0
  1245. package/dist/popover.d.mts +19 -0
  1246. package/dist/popover.d.mts.map +1 -0
  1247. package/dist/popover.mjs +31 -0
  1248. package/dist/popover.mjs.map +1 -0
  1249. package/dist/product-package-detail.d.mts +173 -0
  1250. package/dist/product-package-detail.d.mts.map +1 -0
  1251. package/dist/product-package-detail.mjs +521 -0
  1252. package/dist/product-package-detail.mjs.map +1 -0
  1253. package/dist/progress-comparison.d.mts +93 -0
  1254. package/dist/progress-comparison.d.mts.map +1 -0
  1255. package/dist/progress-comparison.mjs +253 -0
  1256. package/dist/progress-comparison.mjs.map +1 -0
  1257. package/dist/progress-list-item.d.mts +46 -0
  1258. package/dist/progress-list-item.d.mts.map +1 -0
  1259. package/dist/progress-list-item.mjs +79 -0
  1260. package/dist/progress-list-item.mjs.map +1 -0
  1261. package/dist/progress-sheet.d.mts +39 -0
  1262. package/dist/progress-sheet.d.mts.map +1 -0
  1263. package/dist/progress-sheet.mjs +760 -0
  1264. package/dist/progress-sheet.mjs.map +1 -0
  1265. package/dist/progress-stat.d.mts +26 -0
  1266. package/dist/progress-stat.d.mts.map +1 -0
  1267. package/dist/progress-stat.mjs +54 -0
  1268. package/dist/progress-stat.mjs.map +1 -0
  1269. package/dist/progress.d.mts +13 -0
  1270. package/dist/progress.d.mts.map +1 -0
  1271. package/dist/progress.mjs +32 -0
  1272. package/dist/progress.mjs.map +1 -0
  1273. package/dist/prompt-input.d.mts +108 -0
  1274. package/dist/prompt-input.d.mts.map +1 -0
  1275. package/dist/prompt-input.mjs +400 -0
  1276. package/dist/prompt-input.mjs.map +1 -0
  1277. package/dist/property-list.d.mts +37 -0
  1278. package/dist/property-list.d.mts.map +1 -0
  1279. package/dist/property-list.mjs +60 -0
  1280. package/dist/property-list.mjs.map +1 -0
  1281. package/dist/push-panel.d.mts +75 -0
  1282. package/dist/push-panel.d.mts.map +1 -0
  1283. package/dist/push-panel.mjs +182 -0
  1284. package/dist/push-panel.mjs.map +1 -0
  1285. package/dist/radio-group.d.mts +9 -0
  1286. package/dist/radio-group.d.mts.map +1 -0
  1287. package/dist/radio-group.mjs +27 -0
  1288. package/dist/radio-group.mjs.map +1 -0
  1289. package/dist/record-detail-shell.d.mts +46 -0
  1290. package/dist/record-detail-shell.d.mts.map +1 -0
  1291. package/dist/record-detail-shell.mjs +29 -0
  1292. package/dist/record-detail-shell.mjs.map +1 -0
  1293. package/dist/resizable.d.mts +11 -0
  1294. package/dist/resizable.d.mts.map +1 -0
  1295. package/dist/resizable.mjs +23 -0
  1296. package/dist/resizable.mjs.map +1 -0
  1297. package/dist/resize-handle.d.mts +19 -0
  1298. package/dist/resize-handle.d.mts.map +1 -0
  1299. package/dist/resize-handle.mjs +45 -0
  1300. package/dist/resize-handle.mjs.map +1 -0
  1301. package/dist/responder-detail-panel.d.mts +72 -0
  1302. package/dist/responder-detail-panel.d.mts.map +1 -0
  1303. package/dist/responder-detail-panel.mjs +232 -0
  1304. package/dist/responder-detail-panel.mjs.map +1 -0
  1305. package/dist/rule-row.d.mts +63 -0
  1306. package/dist/rule-row.d.mts.map +1 -0
  1307. package/dist/rule-row.mjs +97 -0
  1308. package/dist/rule-row.mjs.map +1 -0
  1309. package/dist/schedule-week-bar.d.mts +24 -0
  1310. package/dist/schedule-week-bar.d.mts.map +1 -0
  1311. package/dist/schedule-week-bar.mjs +99 -0
  1312. package/dist/schedule-week-bar.mjs.map +1 -0
  1313. package/dist/score-gauge.d.mts +24 -0
  1314. package/dist/score-gauge.d.mts.map +1 -0
  1315. package/dist/score-gauge.mjs +73 -0
  1316. package/dist/score-gauge.mjs.map +1 -0
  1317. package/dist/scroll-area.d.mts +27 -0
  1318. package/dist/scroll-area.d.mts.map +1 -0
  1319. package/dist/scroll-area.mjs +35 -0
  1320. package/dist/scroll-area.mjs.map +1 -0
  1321. package/dist/search-filter-bar.d.mts +22 -0
  1322. package/dist/search-filter-bar.d.mts.map +1 -0
  1323. package/dist/search-filter-bar.mjs +56 -0
  1324. package/dist/search-filter-bar.mjs.map +1 -0
  1325. package/dist/section-header.d.mts +22 -0
  1326. package/dist/section-header.d.mts.map +1 -0
  1327. package/dist/section-header.mjs +32 -0
  1328. package/dist/section-header.mjs.map +1 -0
  1329. package/dist/section-panel.d.mts +47 -0
  1330. package/dist/section-panel.d.mts.map +1 -0
  1331. package/dist/section-panel.mjs +78 -0
  1332. package/dist/section-panel.mjs.map +1 -0
  1333. package/dist/section.d.mts +15 -0
  1334. package/dist/section.d.mts.map +1 -0
  1335. package/dist/section.mjs +34 -0
  1336. package/dist/section.mjs.map +1 -0
  1337. package/dist/segmented-control.d.mts +26 -0
  1338. package/dist/segmented-control.d.mts.map +1 -0
  1339. package/dist/segmented-control.mjs +70 -0
  1340. package/dist/segmented-control.mjs.map +1 -0
  1341. package/dist/select.d.mts +87 -0
  1342. package/dist/select.d.mts.map +1 -0
  1343. package/dist/select.mjs +280 -0
  1344. package/dist/select.mjs.map +1 -0
  1345. package/dist/selectable-card.d.mts +39 -0
  1346. package/dist/selectable-card.d.mts.map +1 -0
  1347. package/dist/selectable-card.mjs +102 -0
  1348. package/dist/selectable-card.mjs.map +1 -0
  1349. package/dist/separator.d.mts +8 -0
  1350. package/dist/separator.d.mts.map +1 -0
  1351. package/dist/separator.mjs +18 -0
  1352. package/dist/separator.mjs.map +1 -0
  1353. package/dist/services/chatService.d.mts +11 -0
  1354. package/dist/services/chatService.d.mts.map +1 -0
  1355. package/dist/services/chatService.mjs +44 -0
  1356. package/dist/services/chatService.mjs.map +1 -0
  1357. package/dist/setup-steps-checklist.d.mts +50 -0
  1358. package/dist/setup-steps-checklist.d.mts.map +1 -0
  1359. package/dist/setup-steps-checklist.mjs +183 -0
  1360. package/dist/setup-steps-checklist.mjs.map +1 -0
  1361. package/dist/sheet.d.mts +41 -0
  1362. package/dist/sheet.d.mts.map +1 -0
  1363. package/dist/sheet.mjs +71 -0
  1364. package/dist/sheet.mjs.map +1 -0
  1365. package/dist/side-menu.d.mts +61 -0
  1366. package/dist/side-menu.d.mts.map +1 -0
  1367. package/dist/side-menu.mjs +160 -0
  1368. package/dist/side-menu.mjs.map +1 -0
  1369. package/dist/sidebar.d.mts +36 -0
  1370. package/dist/sidebar.d.mts.map +1 -0
  1371. package/dist/sidebar.mjs +159 -0
  1372. package/dist/sidebar.mjs.map +1 -0
  1373. package/dist/single-house-view.d.mts +13 -0
  1374. package/dist/single-house-view.d.mts.map +1 -0
  1375. package/dist/single-house-view.mjs +506 -0
  1376. package/dist/single-house-view.mjs.map +1 -0
  1377. package/dist/site-image-viewer/batches.mjs +362 -0
  1378. package/dist/site-image-viewer/batches.mjs.map +1 -0
  1379. package/dist/site-image-viewer/blocks-zone-1a.mjs +1815 -0
  1380. package/dist/site-image-viewer/blocks-zone-1a.mjs.map +1 -0
  1381. package/dist/site-image-viewer/blocks-zone-1b.mjs +2623 -0
  1382. package/dist/site-image-viewer/blocks-zone-1b.mjs.map +1 -0
  1383. package/dist/site-image-viewer/legend-items.d.mts +6 -0
  1384. package/dist/site-image-viewer/legend-items.d.mts.map +1 -0
  1385. package/dist/site-image-viewer/legend-items.mjs +104 -0
  1386. package/dist/site-image-viewer/legend-items.mjs.map +1 -0
  1387. package/dist/site-image-viewer/milestone-ramp.d.mts +81 -0
  1388. package/dist/site-image-viewer/milestone-ramp.d.mts.map +1 -0
  1389. package/dist/site-image-viewer/milestone-ramp.mjs +112 -0
  1390. package/dist/site-image-viewer/milestone-ramp.mjs.map +1 -0
  1391. package/dist/site-image-viewer/phases.mjs +60 -0
  1392. package/dist/site-image-viewer/phases.mjs.map +1 -0
  1393. package/dist/site-image-viewer/site-legend.d.mts +20 -0
  1394. package/dist/site-image-viewer/site-legend.d.mts.map +1 -0
  1395. package/dist/site-image-viewer/site-legend.mjs +113 -0
  1396. package/dist/site-image-viewer/site-legend.mjs.map +1 -0
  1397. package/dist/site-image-viewer/types.d.mts +32 -0
  1398. package/dist/site-image-viewer/types.d.mts.map +1 -0
  1399. package/dist/site-image-viewer/types.mjs +1 -0
  1400. package/dist/site-image-viewer/villa-hover-card.d.mts +15 -0
  1401. package/dist/site-image-viewer/villa-hover-card.d.mts.map +1 -0
  1402. package/dist/site-image-viewer/villa-hover-card.mjs +48 -0
  1403. package/dist/site-image-viewer/villa-hover-card.mjs.map +1 -0
  1404. package/dist/site-image-viewer/villas.mjs +34494 -0
  1405. package/dist/site-image-viewer/villas.mjs.map +1 -0
  1406. package/dist/site-image-viewer/zone1b-villas.mjs +36211 -0
  1407. package/dist/site-image-viewer/zone1b-villas.mjs.map +1 -0
  1408. package/dist/site-image-viewer/zones-marketing.mjs +114 -0
  1409. package/dist/site-image-viewer/zones-marketing.mjs.map +1 -0
  1410. package/dist/site-image-viewer/zones.mjs +114 -0
  1411. package/dist/site-image-viewer/zones.mjs.map +1 -0
  1412. package/dist/site-image-viewer-fixtures.d.mts +44 -0
  1413. package/dist/site-image-viewer-fixtures.d.mts.map +1 -0
  1414. package/dist/site-image-viewer-fixtures.mjs +112 -0
  1415. package/dist/site-image-viewer-fixtures.mjs.map +1 -0
  1416. package/dist/site-image-viewer.d.mts +98 -0
  1417. package/dist/site-image-viewer.d.mts.map +1 -0
  1418. package/dist/site-image-viewer.mjs +501 -0
  1419. package/dist/site-image-viewer.mjs.map +1 -0
  1420. package/dist/site-panel.d.mts +123 -0
  1421. package/dist/site-panel.d.mts.map +1 -0
  1422. package/dist/site-panel.mjs +1413 -0
  1423. package/dist/site-panel.mjs.map +1 -0
  1424. package/dist/site-reality-viewer.d.mts +46 -0
  1425. package/dist/site-reality-viewer.d.mts.map +1 -0
  1426. package/dist/site-reality-viewer.mjs +436 -0
  1427. package/dist/site-reality-viewer.mjs.map +1 -0
  1428. package/dist/site-toolbar.d.mts +54 -0
  1429. package/dist/site-toolbar.d.mts.map +1 -0
  1430. package/dist/site-toolbar.mjs +110 -0
  1431. package/dist/site-toolbar.mjs.map +1 -0
  1432. package/dist/skeleton.d.mts +6 -0
  1433. package/dist/skeleton.d.mts.map +1 -0
  1434. package/dist/skeleton.mjs +14 -0
  1435. package/dist/skeleton.mjs.map +1 -0
  1436. package/dist/slider.d.mts +8 -0
  1437. package/dist/slider.d.mts.map +1 -0
  1438. package/dist/slider.mjs +20 -0
  1439. package/dist/slider.mjs.map +1 -0
  1440. package/dist/sonner.d.mts +8 -0
  1441. package/dist/sonner.d.mts.map +1 -0
  1442. package/dist/sonner.mjs +20 -0
  1443. package/dist/sonner.mjs.map +1 -0
  1444. package/dist/spinner.d.mts +12 -0
  1445. package/dist/spinner.d.mts.map +1 -0
  1446. package/dist/spinner.mjs +38 -0
  1447. package/dist/spinner.mjs.map +1 -0
  1448. package/dist/stack.d.mts +18 -0
  1449. package/dist/stack.d.mts.map +1 -0
  1450. package/dist/stack.mjs +61 -0
  1451. package/dist/stack.mjs.map +1 -0
  1452. package/dist/stage-content.d.mts +13 -0
  1453. package/dist/stage-content.d.mts.map +1 -0
  1454. package/dist/stage-content.mjs +664 -0
  1455. package/dist/stage-content.mjs.map +1 -0
  1456. package/dist/status-dot.d.mts +18 -0
  1457. package/dist/status-dot.d.mts.map +1 -0
  1458. package/dist/status-dot.mjs +89 -0
  1459. package/dist/status-dot.mjs.map +1 -0
  1460. package/dist/stepper.d.mts +19 -0
  1461. package/dist/stepper.d.mts.map +1 -0
  1462. package/dist/stepper.mjs +113 -0
  1463. package/dist/stepper.mjs.map +1 -0
  1464. package/dist/styles.css +1 -0
  1465. package/dist/styles.tw4.css +1 -0
  1466. package/dist/switch.d.mts +12 -0
  1467. package/dist/switch.d.mts.map +1 -0
  1468. package/dist/switch.mjs +17 -0
  1469. package/dist/switch.mjs.map +1 -0
  1470. package/dist/tab-list.d.mts +33 -0
  1471. package/dist/tab-list.d.mts.map +1 -0
  1472. package/dist/tab-list.mjs +90 -0
  1473. package/dist/tab-list.mjs.map +1 -0
  1474. package/dist/table.d.mts +14 -0
  1475. package/dist/table.d.mts.map +1 -0
  1476. package/dist/table.mjs +60 -0
  1477. package/dist/table.mjs.map +1 -0
  1478. package/dist/tabs.d.mts +42 -0
  1479. package/dist/tabs.d.mts.map +1 -0
  1480. package/dist/tabs.mjs +258 -0
  1481. package/dist/tabs.mjs.map +1 -0
  1482. package/dist/task-monitor.d.mts +70 -0
  1483. package/dist/task-monitor.d.mts.map +1 -0
  1484. package/dist/task-monitor.mjs +319 -0
  1485. package/dist/task-monitor.mjs.map +1 -0
  1486. package/dist/text.d.mts +18 -0
  1487. package/dist/text.d.mts.map +1 -0
  1488. package/dist/text.mjs +60 -0
  1489. package/dist/text.mjs.map +1 -0
  1490. package/dist/textarea.d.mts +7 -0
  1491. package/dist/textarea.d.mts.map +1 -0
  1492. package/dist/textarea.mjs +15 -0
  1493. package/dist/textarea.mjs.map +1 -0
  1494. package/dist/thinking-pill.d.mts +15 -0
  1495. package/dist/thinking-pill.d.mts.map +1 -0
  1496. package/dist/thinking-pill.mjs +28 -0
  1497. package/dist/thinking-pill.mjs.map +1 -0
  1498. package/dist/thumbnail.d.mts +20 -0
  1499. package/dist/thumbnail.d.mts.map +1 -0
  1500. package/dist/thumbnail.mjs +81 -0
  1501. package/dist/thumbnail.mjs.map +1 -0
  1502. package/dist/time-input.d.mts +15 -0
  1503. package/dist/time-input.d.mts.map +1 -0
  1504. package/dist/time-input.mjs +21 -0
  1505. package/dist/time-input.mjs.map +1 -0
  1506. package/dist/time-scrubber.d.mts +93 -0
  1507. package/dist/time-scrubber.d.mts.map +1 -0
  1508. package/dist/time-scrubber.mjs +420 -0
  1509. package/dist/time-scrubber.mjs.map +1 -0
  1510. package/dist/timeline-range-selector.d.mts +30 -0
  1511. package/dist/timeline-range-selector.d.mts.map +1 -0
  1512. package/dist/timeline-range-selector.mjs +232 -0
  1513. package/dist/timeline-range-selector.mjs.map +1 -0
  1514. package/dist/timestamp-picker.d.mts +32 -0
  1515. package/dist/timestamp-picker.d.mts.map +1 -0
  1516. package/dist/timestamp-picker.mjs +143 -0
  1517. package/dist/timestamp-picker.mjs.map +1 -0
  1518. package/dist/timestamp.d.mts +15 -0
  1519. package/dist/timestamp.d.mts.map +1 -0
  1520. package/dist/timestamp.mjs +61 -0
  1521. package/dist/timestamp.mjs.map +1 -0
  1522. package/dist/toast.d.mts +18 -0
  1523. package/dist/toast.d.mts.map +1 -0
  1524. package/dist/toast.mjs +59 -0
  1525. package/dist/toast.mjs.map +1 -0
  1526. package/dist/toaster.d.mts +5 -0
  1527. package/dist/toaster.d.mts.map +1 -0
  1528. package/dist/toaster.mjs +23 -0
  1529. package/dist/toaster.mjs.map +1 -0
  1530. package/dist/toggle-group.d.mts +16 -0
  1531. package/dist/toggle-group.d.mts.map +1 -0
  1532. package/dist/toggle-group.mjs +41 -0
  1533. package/dist/toggle-group.mjs.map +1 -0
  1534. package/dist/toggle.d.mts +16 -0
  1535. package/dist/toggle.d.mts.map +1 -0
  1536. package/dist/toggle.mjs +38 -0
  1537. package/dist/toggle.mjs.map +1 -0
  1538. package/dist/tokenizer.d.mts +23 -0
  1539. package/dist/tokenizer.d.mts.map +1 -0
  1540. package/dist/tokenizer.mjs +87 -0
  1541. package/dist/tokenizer.mjs.map +1 -0
  1542. package/dist/tones.d.mts +59 -0
  1543. package/dist/tones.d.mts.map +1 -0
  1544. package/dist/tones.mjs +177 -0
  1545. package/dist/tones.mjs.map +1 -0
  1546. package/dist/tool-call.d.mts +29 -0
  1547. package/dist/tool-call.d.mts.map +1 -0
  1548. package/dist/tool-call.mjs +89 -0
  1549. package/dist/tool-call.mjs.map +1 -0
  1550. package/dist/toolbar-color-picker.d.mts +50 -0
  1551. package/dist/toolbar-color-picker.d.mts.map +1 -0
  1552. package/dist/toolbar-color-picker.mjs +238 -0
  1553. package/dist/toolbar-color-picker.mjs.map +1 -0
  1554. package/dist/toolbar-pager.d.mts +17 -0
  1555. package/dist/toolbar-pager.d.mts.map +1 -0
  1556. package/dist/toolbar-pager.mjs +40 -0
  1557. package/dist/toolbar-pager.mjs.map +1 -0
  1558. package/dist/toolbar-stats.d.mts +34 -0
  1559. package/dist/toolbar-stats.d.mts.map +1 -0
  1560. package/dist/toolbar-stats.mjs +53 -0
  1561. package/dist/toolbar-stats.mjs.map +1 -0
  1562. package/dist/toolbar.d.mts +98 -0
  1563. package/dist/toolbar.d.mts.map +1 -0
  1564. package/dist/toolbar.mjs +86 -0
  1565. package/dist/toolbar.mjs.map +1 -0
  1566. package/dist/tooltip.d.mts +30 -0
  1567. package/dist/tooltip.d.mts.map +1 -0
  1568. package/dist/tooltip.mjs +83 -0
  1569. package/dist/tooltip.mjs.map +1 -0
  1570. package/dist/tree-list.d.mts +38 -0
  1571. package/dist/tree-list.d.mts.map +1 -0
  1572. package/dist/tree-list.mjs +95 -0
  1573. package/dist/tree-list.mjs.map +1 -0
  1574. package/dist/tree-row.d.mts +84 -0
  1575. package/dist/tree-row.d.mts.map +1 -0
  1576. package/dist/tree-row.mjs +150 -0
  1577. package/dist/tree-row.mjs.map +1 -0
  1578. package/dist/trend-chart.d.mts +28 -0
  1579. package/dist/trend-chart.d.mts.map +1 -0
  1580. package/dist/trend-chart.mjs +33 -0
  1581. package/dist/trend-chart.mjs.map +1 -0
  1582. package/dist/turn-timer.d.mts +23 -0
  1583. package/dist/turn-timer.d.mts.map +1 -0
  1584. package/dist/turn-timer.mjs +51 -0
  1585. package/dist/turn-timer.mjs.map +1 -0
  1586. package/dist/typeahead-item.d.mts +34 -0
  1587. package/dist/typeahead-item.d.mts.map +1 -0
  1588. package/dist/typeahead-item.mjs +74 -0
  1589. package/dist/typeahead-item.mjs.map +1 -0
  1590. package/dist/types/chat.d.mts +66 -0
  1591. package/dist/types/chat.d.mts.map +1 -0
  1592. package/dist/types/chat.mjs +1 -0
  1593. package/dist/types.d.mts +44 -0
  1594. package/dist/types.d.mts.map +1 -0
  1595. package/dist/types.mjs +49 -0
  1596. package/dist/types.mjs.map +1 -0
  1597. package/dist/typography.d.mts +17 -0
  1598. package/dist/typography.d.mts.map +1 -0
  1599. package/dist/typography.mjs +75 -0
  1600. package/dist/typography.mjs.map +1 -0
  1601. package/dist/use-debounced-value.d.mts +11 -0
  1602. package/dist/use-debounced-value.d.mts.map +1 -0
  1603. package/dist/use-debounced-value.mjs +25 -0
  1604. package/dist/use-debounced-value.mjs.map +1 -0
  1605. package/dist/use-document-dir.d.mts +15 -0
  1606. package/dist/use-document-dir.d.mts.map +1 -0
  1607. package/dist/use-document-dir.mjs +33 -0
  1608. package/dist/use-document-dir.mjs.map +1 -0
  1609. package/dist/use-persistent-state.d.mts +9 -0
  1610. package/dist/use-persistent-state.d.mts.map +1 -0
  1611. package/dist/use-persistent-state.mjs +29 -0
  1612. package/dist/use-persistent-state.mjs.map +1 -0
  1613. package/dist/use-toast.d.mts +47 -0
  1614. package/dist/use-toast.d.mts.map +1 -0
  1615. package/dist/use-toast.mjs +119 -0
  1616. package/dist/use-toast.mjs.map +1 -0
  1617. package/dist/vertical-zoom-tools.d.mts +27 -0
  1618. package/dist/vertical-zoom-tools.d.mts.map +1 -0
  1619. package/dist/vertical-zoom-tools.mjs +66 -0
  1620. package/dist/vertical-zoom-tools.mjs.map +1 -0
  1621. package/dist/view-tab-bar.d.mts +75 -0
  1622. package/dist/view-tab-bar.d.mts.map +1 -0
  1623. package/dist/view-tab-bar.mjs +80 -0
  1624. package/dist/view-tab-bar.mjs.map +1 -0
  1625. package/dist/viewer-toolbar.d.mts +41 -0
  1626. package/dist/viewer-toolbar.d.mts.map +1 -0
  1627. package/dist/viewer-toolbar.mjs +271 -0
  1628. package/dist/viewer-toolbar.mjs.map +1 -0
  1629. package/dist/violation-list.d.mts +26 -0
  1630. package/dist/violation-list.d.mts.map +1 -0
  1631. package/dist/violation-list.mjs +53 -0
  1632. package/dist/violation-list.mjs.map +1 -0
  1633. package/dist/walkthrough-modal.d.mts +12 -0
  1634. package/dist/walkthrough-modal.d.mts.map +1 -0
  1635. package/dist/walkthrough-modal.mjs +28 -0
  1636. package/dist/walkthrough-modal.mjs.map +1 -0
  1637. package/dist/walkthrough-tile.d.mts +17 -0
  1638. package/dist/walkthrough-tile.d.mts.map +1 -0
  1639. package/dist/walkthrough-tile.mjs +75 -0
  1640. package/dist/walkthrough-tile.mjs.map +1 -0
  1641. package/dist/week-selector.d.mts +45 -0
  1642. package/dist/week-selector.d.mts.map +1 -0
  1643. package/dist/week-selector.mjs +101 -0
  1644. package/dist/week-selector.mjs.map +1 -0
  1645. package/dist/widget-card.d.mts +18 -0
  1646. package/dist/widget-card.d.mts.map +1 -0
  1647. package/dist/widget-card.mjs +46 -0
  1648. package/dist/widget-card.mjs.map +1 -0
  1649. package/dist/wizard-dialog.d.mts +68 -0
  1650. package/dist/wizard-dialog.d.mts.map +1 -0
  1651. package/dist/wizard-dialog.mjs +108 -0
  1652. package/dist/wizard-dialog.mjs.map +1 -0
  1653. package/dist/work-item-card.d.mts +38 -0
  1654. package/dist/work-item-card.d.mts.map +1 -0
  1655. package/dist/work-item-card.mjs +231 -0
  1656. package/dist/work-item-card.mjs.map +1 -0
  1657. package/dist/worker-profile.d.mts +244 -0
  1658. package/dist/worker-profile.d.mts.map +1 -0
  1659. package/dist/worker-profile.mjs +621 -0
  1660. package/dist/worker-profile.mjs.map +1 -0
  1661. package/dist/zoom-tools.d.mts +29 -0
  1662. package/dist/zoom-tools.d.mts.map +1 -0
  1663. package/dist/zoom-tools.mjs +94 -0
  1664. package/dist/zoom-tools.mjs.map +1 -0
  1665. package/package.json +1792 -0
  1666. package/skills/core-ui-charts/SKILL.md +243 -0
  1667. package/skills/core-ui-chat/SKILL.md +260 -0
  1668. package/skills/core-ui-components/SKILL.md +299 -0
  1669. package/skills/core-ui-composition/SKILL.md +186 -0
  1670. package/skills/core-ui-data-table/SKILL.md +243 -0
  1671. package/skills/core-ui-forms/SKILL.md +289 -0
@@ -0,0 +1,2254 @@
1
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "../accordion.mjs";
2
+ import { Badge } from "../badge.mjs";
3
+ import { HoverTooltip } from "../tooltip.mjs";
4
+ import { Button } from "../button.mjs";
5
+ import { Card, CardContent, CardHeader, CardTitle } from "../card.mjs";
6
+ import { Empty } from "../empty.mjs";
7
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from "../tabs.mjs";
8
+ import { Label } from "../label.mjs";
9
+ import { Input } from "../input.mjs";
10
+ import { Switch } from "../switch.mjs";
11
+ import { Textarea } from "../textarea.mjs";
12
+ import { Banner } from "../banner.mjs";
13
+ import { ToggleGroup, ToggleGroupItem } from "../toggle-group.mjs";
14
+ import { Combobox } from "../combobox.mjs";
15
+ import { ConfirmDialog } from "../confirm-dialog.mjs";
16
+ import { DataTable, DataTableColumnHeader } from "../data-table.mjs";
17
+ import { GraphCanvas, Handle, MarkerType, Panel, Position, useEdgesState, useNodesState, useReactFlow } from "../graph-canvas.mjs";
18
+ import { RecordDetailShell } from "../record-detail-shell.mjs";
19
+ import { getObjectType } from "./wc3-ontology-data.mjs";
20
+ import { Mono, TypeGlyphLabel, lineageNav } from "./wc3-lineage-shared.mjs";
21
+ import { processRowAgeHours, processRowOverSla, processRowSlaHours, processStateOf, processTokens } from "./wc3-process-data.mjs";
22
+ import { CustomTag, KindLegend, ProcessGlyphTile, ProcessProvenanceNote, ProductChip, ProposedTag, SlaModelBadge, StateChip, StateFlagBadges, TransitionKindBadge, WC3_PROCESS_EDIT_INITIAL, WC3_PROCESS_ICONS, WC3_PROCESS_MESSAGES, WC3_PROCESS_STATE_COLORS, addState, addTransition, checkTransition, deleteState, deleteTransition, formatHours, moveState, processFacts, processLayout, processRowKeys, processRowPk, processRowTitle, processSlaModel, rebindTransition, stateDeleteBlockReason, transitionAction, updateProcessMeta, updateState } from "./wc3-process-shared.mjs";
23
+ import { PermitPolicySection, WC3_PERMIT_POLICY_INITIAL } from "./wc3-permit-policy.mjs";
24
+ import { ProcessBottlenecksSection } from "./wc3-process-bottlenecks.mjs";
25
+ import { cn } from "@corensystem/coren-utils";
26
+ import { ArrowLeft, ArrowRight, ChevronDown, ChevronUp, CircleDot, ClipboardList, Clock, GitBranch, LayoutGrid, Plus, Rows3, Settings2, ShieldCheck, Trash2, TriangleAlert, Workflow, X, XCircle } from "lucide-react";
27
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
28
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
29
+ //#region src/pages/state-machine.tsx
30
+ const STATE_CATEGORIES = [
31
+ "draft",
32
+ "pending",
33
+ "active",
34
+ "terminal"
35
+ ];
36
+ const STATE_TYPES = [
37
+ "initial",
38
+ "intermediate",
39
+ "terminal"
40
+ ];
41
+ /**
42
+ * How much of a state's identity colour goes into its node.
43
+ *
44
+ * Enough to tell two states apart at a glance and to match the dot the rail prints beside the same
45
+ * state; not enough to fight the default node's own border or to stop the label reading. It is mixed
46
+ * into React Flow's node background, so one number covers light and dark.
47
+ */
48
+ const WC3_PROCESS_NODE_TINT = "14%";
49
+ /** Stable identities, so an omitted prop does not change a memo's deps on every render. */
50
+ const NO_ACTIONS = [];
51
+ const NO_EFFECTS = [];
52
+ const NO_ROWS = [];
53
+ /**
54
+ * The five behavioural flags, in the order the permit editor reads them out.
55
+ *
56
+ * These default to the built-in five rather than to empty, unlike the vocabularies above, and the
57
+ * difference is real: `Wc3ProcessState.flags` is a closed union in the MODEL, so these are labels
58
+ * for something the widget already understands rather than a list only the host can know. Pass
59
+ * `stateFlags` to relabel them, to reorder them, or to offer fewer.
60
+ */
61
+ const DEFAULT_STATE_FLAGS = [
62
+ {
63
+ flag: "monitored",
64
+ label: "Monitored"
65
+ },
66
+ {
67
+ flag: "authorizesWork",
68
+ label: "Authorizes work"
69
+ },
70
+ {
71
+ flag: "editableAnswers",
72
+ label: "Answers editable"
73
+ },
74
+ {
75
+ flag: "mutableReceiver",
76
+ label: "Receiver editable"
77
+ },
78
+ {
79
+ flag: "reopenable",
80
+ label: "Reopenable"
81
+ }
82
+ ];
83
+ const StateMachineDataContext = createContext({
84
+ actions: NO_ACTIONS,
85
+ effects: NO_EFFECTS,
86
+ stateFlags: DEFAULT_STATE_FLAGS,
87
+ instances: NO_ROWS,
88
+ readOnly: false
89
+ });
90
+ /** Everything the host supplied, for the pieces too deep to prop-drill to. */
91
+ function useStateMachineData() {
92
+ return useContext(StateMachineDataContext);
93
+ }
94
+ /** The bound-action picker's options, in Combobox shape. */
95
+ const actionOptions = (actions) => actions.map((a) => ({
96
+ value: a.id,
97
+ label: a.label
98
+ }));
99
+ /**
100
+ * A state on the canvas, drawn as React Flow's OWN default node.
101
+ *
102
+ * This used to paint a bespoke box: an identity colour strip, the category and graph role, the
103
+ * custom / proposed markers, the behavioural flags, a live token pill and an SLA tint, all inside a
104
+ * fixed 176×66 frame. Next to the graphs on reactflow.dev/examples it read as noise — five type
105
+ * sizes in a box the size of a business card, a different stroke colour per transition kind, and
106
+ * orthogonal wiring fighting the curves. The whole canvas is back on React Flow's defaults: default
107
+ * node chrome, default `#b1b1b7` bezier edges, default handles, default selection. The readouts it
108
+ * dropped are all still on the page — the rail's state inspector and the Instances section.
109
+ *
110
+ * Registered under the `default` KEY, not a name of our own, and that is what buys the default look:
111
+ * React Flow classes every node `react-flow__node-<type>`, so `type: "default"` picks up the
112
+ * library's own node CSS — fill, 1px border, radius, 150px width, 12px centred text, hover and
113
+ * selected shadow — while this component still supplies the four handles below.
114
+ *
115
+ * FOUR explicit handles, not two. A self-transition and a backward edge only render when source and
116
+ * target resolve to DIFFERENT handles: with in/out alone the extension loop would draw nothing and
117
+ * every reject_loop / reopen edge would overlay the forward edge it runs beside.
118
+ */
119
+ function ProcessFlowNode({ data }) {
120
+ const { state } = data;
121
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
122
+ /* @__PURE__ */ jsx(Handle, {
123
+ id: "in",
124
+ type: "target",
125
+ position: Position.Left,
126
+ title: "incoming"
127
+ }),
128
+ /* @__PURE__ */ jsx(Handle, {
129
+ id: "back-in",
130
+ type: "target",
131
+ position: Position.Top,
132
+ title: "incoming (loop / backward)"
133
+ }),
134
+ state.name,
135
+ /* @__PURE__ */ jsx(Handle, {
136
+ id: "out",
137
+ type: "source",
138
+ position: Position.Right,
139
+ title: "outgoing"
140
+ }),
141
+ /* @__PURE__ */ jsx(Handle, {
142
+ id: "back-out",
143
+ type: "source",
144
+ position: Position.Bottom,
145
+ title: "outgoing (loop / backward)"
146
+ })
147
+ ] });
148
+ }
149
+ const PROCESS_NODE_TYPES = { default: ProcessFlowNode };
150
+ function ProcessRailCard({ title, count, children }) {
151
+ return /* @__PURE__ */ jsxs(Card, {
152
+ className: "wwc:shrink-0",
153
+ children: [/* @__PURE__ */ jsx(CardHeader, {
154
+ className: "wwc:p-3",
155
+ children: /* @__PURE__ */ jsxs(CardTitle, {
156
+ className: "wwc:text-sm",
157
+ children: [title, count !== void 0 ? /* @__PURE__ */ jsxs("span", {
158
+ className: "wwc:font-normal wwc:text-muted-foreground",
159
+ children: [
160
+ " (",
161
+ count,
162
+ ")"
163
+ ]
164
+ }) : null]
165
+ })
166
+ }), /* @__PURE__ */ jsx(CardContent, {
167
+ className: "wwc:p-3 wwc:pt-0",
168
+ children
169
+ })]
170
+ });
171
+ }
172
+ /**
173
+ * Mounted with `key={state.id}` so its uncontrolled inputs and its inline errors reset when the
174
+ * selection moves — the same reason the pipeline's node inspector keys on its node.
175
+ */
176
+ /**
177
+ * The vocabulary "Add effect…" offers.
178
+ *
179
+ * FIXTURE, not a contract. The engine's real effect set is not modelled anywhere in this repo — the
180
+ * permit process's own SLA note mentions `start_sla_timer` in passing and nothing else — so this is
181
+ * a plausible list to author against, kept small and named the way the note names its one example.
182
+ * Replace it with the engine's list when there is one; every consumer reads it from here.
183
+ */
184
+ const WC3_PROCESS_EFFECTS = [
185
+ {
186
+ id: "start_sla_timer",
187
+ label: "start_sla_timer",
188
+ note: "Begins this state's SLA clock on the permit."
189
+ },
190
+ {
191
+ id: "stop_sla_timer",
192
+ label: "stop_sla_timer",
193
+ note: "Stops any running SLA clock."
194
+ },
195
+ {
196
+ id: "notify_receiver",
197
+ label: "notify_receiver",
198
+ note: "Notifies the permit's receiver."
199
+ },
200
+ {
201
+ id: "notify_issuer",
202
+ label: "notify_issuer",
203
+ note: "Notifies the issuing authority."
204
+ },
205
+ {
206
+ id: "lock_answers",
207
+ label: "lock_answers",
208
+ note: "Freezes the permit's answers against further edits."
209
+ },
210
+ {
211
+ id: "unlock_answers",
212
+ label: "unlock_answers",
213
+ note: "Reopens the permit's answers for editing."
214
+ },
215
+ {
216
+ id: "write_audit_entry",
217
+ label: "write_audit_entry",
218
+ note: "Writes an extra audit line beyond the implicit one."
219
+ }
220
+ ];
221
+ /**
222
+ * Mounted with `key={state.id}` so its uncontrolled inputs and its inline errors reset when the
223
+ * selection moves — the same reason the pipeline's node inspector keys on its node.
224
+ *
225
+ * Entry requirements and effects are COLLAPSED by default. They are the deep end of a state — most
226
+ * edits here are a rename or a flag — and an always-open pair of pickers would push the next state
227
+ * in the list off the screen for the sake of two lines that usually read "none".
228
+ */
229
+ function StateInspector({ process, state, onChange, onDelete, onSelectTransition, authoring = false }) {
230
+ const [nameErr, setNameErr] = useState(null);
231
+ const [slaErr, setSlaErr] = useState(null);
232
+ const [showEntry, setShowEntry] = useState(false);
233
+ const { actions, effects: effectOptions, stateFlags, instances } = useStateMachineData();
234
+ const objectType = getObjectType(process.objectTypeId);
235
+ const tokens = processTokens(process, state.id, [...instances]);
236
+ const outgoing = process.transitions.filter((t) => t.from === state.id);
237
+ const severityDriven = processSlaModel(process) === "severity";
238
+ const requirements = state.entryRequirements ?? [];
239
+ const effects = state.entryEffects ?? [];
240
+ const commitName = (value) => {
241
+ const next = value.trim();
242
+ if (!next) {
243
+ setNameErr(WC3_PROCESS_MESSAGES.nameRequired);
244
+ return;
245
+ }
246
+ if (process.states.some((s) => s.id !== state.id && (s.name.toLowerCase() === next.toLowerCase() || s.value.toLowerCase() === next.toLowerCase()))) {
247
+ setNameErr(WC3_PROCESS_MESSAGES.stateNameTaken);
248
+ return;
249
+ }
250
+ setNameErr(null);
251
+ onChange(updateState(process, state.id, { name: next }));
252
+ };
253
+ const commitSla = (raw) => {
254
+ const trimmed = raw.trim();
255
+ if (!trimmed) {
256
+ setSlaErr(null);
257
+ onChange(updateState(process, state.id, { slaHours: null }));
258
+ return;
259
+ }
260
+ const value = Number(trimmed);
261
+ if (!Number.isFinite(value) || value <= 0) {
262
+ setSlaErr(WC3_PROCESS_MESSAGES.slaPositive);
263
+ return;
264
+ }
265
+ setSlaErr(null);
266
+ onChange(updateState(process, state.id, { slaHours: value }));
267
+ };
268
+ const toggleFlag = (flag) => {
269
+ const next = state.flags.includes(flag) ? state.flags.filter((f) => f !== flag) : [...state.flags, flag];
270
+ onChange(updateState(process, state.id, { flags: next }));
271
+ };
272
+ const setRequirements = (next) => onChange(updateState(process, state.id, { entryRequirements: next }));
273
+ const setEffects = (next) => onChange(updateState(process, state.id, { entryEffects: next }));
274
+ return /* @__PURE__ */ jsxs("div", {
275
+ className: "wwc:space-y-3",
276
+ children: [
277
+ /* @__PURE__ */ jsxs("div", {
278
+ className: "wwc:grid wwc:gap-3 wwc:@md:grid-cols-2",
279
+ children: [
280
+ /* @__PURE__ */ jsxs("div", {
281
+ className: "wwc:space-y-1.5",
282
+ children: [/* @__PURE__ */ jsx(Label, {
283
+ htmlFor: `state-key-${state.id}`,
284
+ children: "Key (auto)"
285
+ }), /* @__PURE__ */ jsx(Input, {
286
+ id: `state-key-${state.id}`,
287
+ value: state.value,
288
+ disabled: true,
289
+ readOnly: true,
290
+ className: "wwc:font-mono wwc:text-xs"
291
+ })]
292
+ }),
293
+ /* @__PURE__ */ jsxs("div", {
294
+ className: "wwc:space-y-1.5",
295
+ children: [
296
+ /* @__PURE__ */ jsx(Label, {
297
+ htmlFor: `state-label-${state.id}`,
298
+ children: "Label"
299
+ }),
300
+ /* @__PURE__ */ jsx(Input, {
301
+ id: `state-label-${state.id}`,
302
+ defaultValue: state.name,
303
+ "aria-invalid": nameErr !== null,
304
+ className: cn(nameErr && "wwc:border-destructive"),
305
+ onBlur: (event) => commitName(event.target.value)
306
+ }),
307
+ nameErr && /* @__PURE__ */ jsx("p", {
308
+ className: "wwc:text-xs wwc:text-destructive",
309
+ children: nameErr
310
+ })
311
+ ]
312
+ }),
313
+ /* @__PURE__ */ jsxs("div", {
314
+ className: "wwc:space-y-1.5",
315
+ children: [/* @__PURE__ */ jsx(Label, { children: "Category" }), /* @__PURE__ */ jsx(Combobox, {
316
+ options: STATE_CATEGORIES.map((value) => ({
317
+ value,
318
+ label: value
319
+ })),
320
+ value: state.category,
321
+ onValueChange: (value) => onChange(updateState(process, state.id, { category: value })),
322
+ className: "wwc:w-full"
323
+ })]
324
+ }),
325
+ /* @__PURE__ */ jsxs("div", {
326
+ className: "wwc:space-y-1.5",
327
+ children: [/* @__PURE__ */ jsx(Label, { children: "Type" }), /* @__PURE__ */ jsx(Combobox, {
328
+ options: STATE_TYPES.map((value) => ({
329
+ value,
330
+ label: value
331
+ })),
332
+ value: state.type,
333
+ onValueChange: (value) => onChange(updateState(process, state.id, { type: value })),
334
+ className: "wwc:w-full"
335
+ })]
336
+ })
337
+ ]
338
+ }),
339
+ /* @__PURE__ */ jsx("div", {
340
+ className: "wwc:grid wwc:gap-2",
341
+ children: stateFlags.map(({ flag, label }) => /* @__PURE__ */ jsxs("div", {
342
+ className: "wwc:flex wwc:items-center wwc:gap-2",
343
+ children: [/* @__PURE__ */ jsx(Switch, {
344
+ id: `state-${state.id}-${flag}`,
345
+ checked: state.flags.includes(flag),
346
+ onCheckedChange: () => toggleFlag(flag)
347
+ }), /* @__PURE__ */ jsx(Label, {
348
+ htmlFor: `state-${state.id}-${flag}`,
349
+ className: "wwc:text-xs wwc:font-normal",
350
+ children: label
351
+ })]
352
+ }, flag))
353
+ }),
354
+ !authoring && /* @__PURE__ */ jsxs(Fragment$1, { children: [
355
+ /* @__PURE__ */ jsxs("div", {
356
+ className: "wwc:space-y-1.5",
357
+ children: [
358
+ /* @__PURE__ */ jsx(Label, {
359
+ htmlFor: `state-sla-${state.id}`,
360
+ children: "SLA (hours)"
361
+ }),
362
+ /* @__PURE__ */ jsx(Input, {
363
+ id: `state-sla-${state.id}`,
364
+ defaultValue: state.slaHours ?? "",
365
+ disabled: severityDriven,
366
+ placeholder: "none",
367
+ "aria-invalid": slaErr !== null,
368
+ className: cn(slaErr && "wwc:border-destructive"),
369
+ onBlur: (event) => commitSla(event.target.value)
370
+ }),
371
+ slaErr && /* @__PURE__ */ jsx("p", {
372
+ className: "wwc:text-xs wwc:text-destructive",
373
+ children: slaErr
374
+ }),
375
+ severityDriven && /* @__PURE__ */ jsx("p", {
376
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
377
+ children: WC3_PROCESS_MESSAGES.severitySlaOverride
378
+ })
379
+ ]
380
+ }),
381
+ /* @__PURE__ */ jsxs("div", {
382
+ className: "wwc:space-y-1.5",
383
+ children: [/* @__PURE__ */ jsx(Label, { children: "Colour" }), /* @__PURE__ */ jsx("div", {
384
+ className: "wwc:flex wwc:flex-wrap wwc:gap-1.5",
385
+ children: WC3_PROCESS_STATE_COLORS.map((color) => /* @__PURE__ */ jsx("button", {
386
+ type: "button",
387
+ "aria-label": color,
388
+ "aria-pressed": state.color === color,
389
+ className: cn("wwc:size-5 wwc:rounded-full wwc:border", state.color === color ? "wwc:border-primary wwc:ring-1 wwc:ring-primary" : "wwc:border-border"),
390
+ style: { background: color },
391
+ onClick: () => onChange(updateState(process, state.id, { color }))
392
+ }, color))
393
+ })]
394
+ }),
395
+ /* @__PURE__ */ jsxs("div", {
396
+ className: "wwc:space-y-1 wwc:rounded-md wwc:border wwc:border-border wwc:p-2.5",
397
+ children: [/* @__PURE__ */ jsx("div", {
398
+ className: "wwc:text-[10px] wwc:font-semibold wwc:tracking-wider wwc:text-muted-foreground wwc:uppercase",
399
+ children: "Outgoing transitions"
400
+ }), outgoing.length === 0 ? /* @__PURE__ */ jsx("p", {
401
+ className: "wwc:text-xs wwc:text-muted-foreground",
402
+ children: "None. A non-terminal state without an outgoing transition fails rule L5."
403
+ }) : /* @__PURE__ */ jsx("div", {
404
+ className: "wwc:space-y-1",
405
+ children: outgoing.map((t) => /* @__PURE__ */ jsxs("button", {
406
+ type: "button",
407
+ className: "wwc:flex wwc:w-full wwc:items-center wwc:gap-1.5 wwc:text-left wwc:text-xs wwc:hover:underline",
408
+ onClick: () => onSelectTransition(t.id),
409
+ children: [/* @__PURE__ */ jsx(Mono, { children: t.key }), /* @__PURE__ */ jsx(TransitionKindBadge, { kind: t.kind })]
410
+ }, t.id))
411
+ })]
412
+ }),
413
+ /* @__PURE__ */ jsxs("p", {
414
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
415
+ children: [
416
+ tokens.length,
417
+ " live ",
418
+ objectType?.displayName ?? "row",
419
+ tokens.length === 1 ? "" : "s",
420
+ " in this state."
421
+ ]
422
+ })
423
+ ] }),
424
+ /* @__PURE__ */ jsxs("div", {
425
+ className: "wwc:space-y-3 wwc:border-t wwc:border-border wwc:pt-3",
426
+ children: [/* @__PURE__ */ jsxs(Button, {
427
+ variant: "outline",
428
+ size: "sm",
429
+ "aria-expanded": showEntry,
430
+ className: "wwc:gap-1.5",
431
+ onClick: () => setShowEntry((open) => !open),
432
+ children: [/* @__PURE__ */ jsx(ChevronDown, { className: cn("wwc:h-3.5 wwc:w-3.5 wwc:transition-transform", showEntry && "wwc:rotate-180") }), "Entry requirements"]
433
+ }), showEntry && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(EntryList, {
434
+ title: "Entry requirements",
435
+ description: `Collected before a permit may REACH “${state.name}”, on any incoming transition.`,
436
+ empty: "None required here.",
437
+ placeholder: "Add required action…",
438
+ options: actionOptions(actions),
439
+ values: requirements,
440
+ labelOf: (id) => actions.find((a) => a.id === id)?.label ?? id,
441
+ onChange: setRequirements
442
+ }), /* @__PURE__ */ jsx(EntryList, {
443
+ title: "Entry effects",
444
+ description: `Applied in this order whenever a permit ENTERS “${state.name}”, in the commit phase and after the incoming edge’s own effects. Reordering them changes what the permit ends up with.`,
445
+ empty: "No effects beyond the implicit audit entry.",
446
+ placeholder: "Add effect…",
447
+ options: effectOptions.map((effect) => ({
448
+ value: effect.id,
449
+ label: effect.label
450
+ })),
451
+ values: effects,
452
+ labelOf: (id) => effectOptions.find((effect) => effect.id === id)?.label ?? id,
453
+ ordered: true,
454
+ onChange: setEffects
455
+ })] })]
456
+ }),
457
+ /* @__PURE__ */ jsxs(Button, {
458
+ variant: "outline",
459
+ size: "sm",
460
+ className: "wwc:w-full wwc:gap-1.5 wwc:text-destructive",
461
+ onClick: onDelete,
462
+ children: [/* @__PURE__ */ jsx(Trash2, { className: "wwc:h-3.5 wwc:w-3.5" }), "Delete state"]
463
+ })
464
+ ]
465
+ });
466
+ }
467
+ /**
468
+ * One entry list — requirements or effects. Same shape both times: a heading, what it means, the
469
+ * current entries, and a picker that only offers what is not already in the list.
470
+ *
471
+ * `ordered` adds move-up / move-down, because for EFFECTS the order is the behaviour — the panel
472
+ * says so in its own description — while a requirement is a set and numbering it would imply a
473
+ * sequence that does not exist.
474
+ */
475
+ function EntryList({ title, description, empty, placeholder, options, values, labelOf, ordered = false, onChange }) {
476
+ const remaining = options.filter((option) => !values.includes(option.value));
477
+ const move = (index, by) => {
478
+ const next = [...values];
479
+ const target = index + by;
480
+ if (target < 0 || target >= next.length) return;
481
+ [next[index], next[target]] = [next[target], next[index]];
482
+ onChange(next);
483
+ };
484
+ return /* @__PURE__ */ jsxs("div", {
485
+ className: "wwc:space-y-1.5",
486
+ children: [
487
+ /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
488
+ className: "wwc:text-xs wwc:font-semibold",
489
+ children: title
490
+ }), /* @__PURE__ */ jsx("p", {
491
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
492
+ children: description
493
+ })] }),
494
+ values.length === 0 ? /* @__PURE__ */ jsx("p", {
495
+ className: "wwc:text-xs wwc:text-muted-foreground",
496
+ children: empty
497
+ }) : /* @__PURE__ */ jsx("div", {
498
+ className: "wwc:space-y-1",
499
+ children: values.map((id, index) => /* @__PURE__ */ jsxs("div", {
500
+ className: "wwc:flex wwc:items-center wwc:gap-1.5 wwc:rounded-md wwc:border wwc:border-border wwc:px-2 wwc:py-1",
501
+ children: [
502
+ ordered && /* @__PURE__ */ jsx("span", {
503
+ className: "wwc:shrink-0 wwc:text-[10px] wwc:tabular-nums wwc:text-muted-foreground",
504
+ children: index + 1
505
+ }),
506
+ /* @__PURE__ */ jsx("span", {
507
+ className: "wwc:min-w-0 wwc:flex-1 wwc:truncate wwc:text-xs",
508
+ children: labelOf(id)
509
+ }),
510
+ ordered && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Button, {
511
+ variant: "ghost",
512
+ icon: true,
513
+ "aria-label": "Move up",
514
+ disabled: index === 0,
515
+ className: "wwc:h-6 wwc:w-6",
516
+ onClick: () => move(index, -1),
517
+ children: /* @__PURE__ */ jsx(ChevronUp, { className: "wwc:h-3 wwc:w-3" })
518
+ }), /* @__PURE__ */ jsx(Button, {
519
+ variant: "ghost",
520
+ icon: true,
521
+ "aria-label": "Move down",
522
+ disabled: index === values.length - 1,
523
+ className: "wwc:h-6 wwc:w-6",
524
+ onClick: () => move(index, 1),
525
+ children: /* @__PURE__ */ jsx(ChevronDown, { className: "wwc:h-3 wwc:w-3" })
526
+ })] }),
527
+ /* @__PURE__ */ jsx(Button, {
528
+ variant: "ghost",
529
+ icon: true,
530
+ "aria-label": `Remove ${labelOf(id)}`,
531
+ className: "wwc:h-6 wwc:w-6 wwc:text-muted-foreground",
532
+ onClick: () => onChange(values.filter((value) => value !== id)),
533
+ children: /* @__PURE__ */ jsx(X, { className: "wwc:h-3 wwc:w-3" })
534
+ })
535
+ ]
536
+ }, id))
537
+ }),
538
+ remaining.length > 0 && /* @__PURE__ */ jsx(Combobox, {
539
+ options: remaining,
540
+ value: "",
541
+ onValueChange: (value) => {
542
+ if (value) onChange([...values, value]);
543
+ },
544
+ placeholder,
545
+ className: "wwc:w-full"
546
+ })
547
+ ]
548
+ });
549
+ }
550
+ function TransitionInspector({ process, transition, onChange, onDelete, onNavigate }) {
551
+ const from = process.states.find((s) => s.id === transition.from);
552
+ const to = process.states.find((s) => s.id === transition.to);
553
+ const { actions } = useStateMachineData();
554
+ const action = transitionAction(transition, actions);
555
+ const unbound = transition.actionTypeId === null;
556
+ const [showDetail, setShowDetail] = useState(false);
557
+ return /* @__PURE__ */ jsxs("div", {
558
+ className: "wwc:space-y-3",
559
+ children: [
560
+ /* @__PURE__ */ jsxs("div", {
561
+ className: "wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-1.5",
562
+ children: [
563
+ /* @__PURE__ */ jsx("span", {
564
+ className: "wwc:text-sm wwc:font-semibold",
565
+ children: transition.key
566
+ }),
567
+ /* @__PURE__ */ jsx(TransitionKindBadge, { kind: transition.kind }),
568
+ transition.proposed && /* @__PURE__ */ jsx(ProposedTag, {})
569
+ ]
570
+ }),
571
+ /* @__PURE__ */ jsxs("div", {
572
+ className: "wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-1.5 wwc:text-xs",
573
+ children: [
574
+ from ? /* @__PURE__ */ jsx(StateChip, { state: from }) : /* @__PURE__ */ jsx("span", {
575
+ className: "wwc:text-muted-foreground wwc:italic",
576
+ children: "deleted"
577
+ }),
578
+ /* @__PURE__ */ jsx(ArrowRight, { className: "wwc:h-3.5 wwc:w-3.5 wwc:shrink-0 wwc:text-muted-foreground" }),
579
+ to ? /* @__PURE__ */ jsx(StateChip, { state: to }) : /* @__PURE__ */ jsx("span", {
580
+ className: "wwc:text-muted-foreground wwc:italic",
581
+ children: "deleted"
582
+ })
583
+ ]
584
+ }),
585
+ /* @__PURE__ */ jsxs("div", {
586
+ className: "wwc:space-y-1.5",
587
+ children: [
588
+ /* @__PURE__ */ jsx(Label, { children: "Bound action type" }),
589
+ /* @__PURE__ */ jsx(Combobox, {
590
+ options: actionOptions(actions),
591
+ value: transition.actionTypeId ?? "",
592
+ onValueChange: (value) => onChange(rebindTransition(process, transition.id, value)),
593
+ placeholder: "Select action type…",
594
+ className: "wwc:w-full"
595
+ }),
596
+ action ? /* @__PURE__ */ jsx("p", {
597
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
598
+ children: "Enforcement lives on the shared ontology action — parameter validation, submission criteria and guard functions. Run it from any projection and the same rules apply."
599
+ }) : unbound ? /* @__PURE__ */ jsx("p", {
600
+ className: "wwc:text-xs wwc:text-amber-700 wwc:dark:text-amber-400",
601
+ children: "Drawn, not bound. The edge is on the canvas and dashed until it binds; rule L7 holds the graph back from publishing until then."
602
+ }) : /* @__PURE__ */ jsx("p", {
603
+ className: "wwc:text-xs wwc:text-destructive",
604
+ children: "This binding does not resolve in the ontology — rule L7 flags it until it is rebound."
605
+ })
606
+ ]
607
+ }),
608
+ /* @__PURE__ */ jsxs("div", {
609
+ className: "wwc:space-y-3 wwc:border-t wwc:border-border wwc:pt-3",
610
+ children: [/* @__PURE__ */ jsxs(Button, {
611
+ variant: "outline",
612
+ size: "sm",
613
+ "aria-expanded": showDetail,
614
+ className: "wwc:gap-1.5",
615
+ onClick: () => setShowDetail((open) => !open),
616
+ children: [/* @__PURE__ */ jsx(ChevronDown, { className: cn("wwc:h-3.5 wwc:w-3.5 wwc:transition-transform", showDetail && "wwc:rotate-180") }), "Actor, guards and effects"]
617
+ }), showDetail && /* @__PURE__ */ jsxs(Fragment$1, { children: [
618
+ /* @__PURE__ */ jsxs("div", {
619
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
620
+ children: ["actor role: ", transition.actorRole]
621
+ }),
622
+ /* @__PURE__ */ jsxs("div", {
623
+ className: "wwc:space-y-1",
624
+ children: [/* @__PURE__ */ jsx("div", {
625
+ className: "wwc:text-[10px] wwc:font-semibold wwc:tracking-wider wwc:text-muted-foreground wwc:uppercase",
626
+ children: "Guards"
627
+ }), transition.guards.length === 0 ? /* @__PURE__ */ jsx("p", {
628
+ className: "wwc:text-xs wwc:text-muted-foreground",
629
+ children: "None declared on this edge."
630
+ }) : /* @__PURE__ */ jsx("div", {
631
+ className: "wwc:flex wwc:flex-wrap wwc:gap-1",
632
+ children: transition.guards.map((guard) => /* @__PURE__ */ jsx("span", {
633
+ className: "wwc:rounded wwc:bg-muted wwc:px-1.5 wwc:py-0.5",
634
+ children: /* @__PURE__ */ jsx(Mono, { children: guard })
635
+ }, guard))
636
+ })]
637
+ }),
638
+ /* @__PURE__ */ jsxs("div", {
639
+ className: "wwc:space-y-1",
640
+ children: [/* @__PURE__ */ jsx("div", {
641
+ className: "wwc:text-[10px] wwc:font-semibold wwc:tracking-wider wwc:text-muted-foreground wwc:uppercase",
642
+ children: "Effects"
643
+ }), /* @__PURE__ */ jsx("p", {
644
+ className: "wwc:text-xs",
645
+ children: transition.note ?? /* @__PURE__ */ jsx("span", {
646
+ className: "wwc:text-muted-foreground",
647
+ children: "No effects beyond the implicit audit entry."
648
+ })
649
+ })]
650
+ })
651
+ ] })]
652
+ }),
653
+ /* @__PURE__ */ jsxs("div", {
654
+ className: "wwc:flex wwc:items-center wwc:justify-between wwc:gap-2",
655
+ children: [/* @__PURE__ */ jsxs(Button, {
656
+ variant: "destructive",
657
+ size: "sm",
658
+ className: "wwc:gap-1.5",
659
+ onClick: onDelete,
660
+ children: [/* @__PURE__ */ jsx(Trash2, { className: "wwc:h-3.5 wwc:w-3.5" }), "Delete transition…"]
661
+ }), action && onNavigate && /* @__PURE__ */ jsxs(Button, {
662
+ variant: "ghost",
663
+ size: "sm",
664
+ className: "wwc:h-6 wwc:gap-1 wwc:px-1.5 wwc:text-[11px]",
665
+ onClick: () => onNavigate(lineageNav.actionType(action.id)),
666
+ children: ["action type", /* @__PURE__ */ jsx(ArrowRight, { className: "wwc:h-3 wwc:w-3" })]
667
+ })]
668
+ })
669
+ ]
670
+ });
671
+ }
672
+ /**
673
+ * The rail's way to create a transition, for the edge you would rather type than draw. A canvas drag
674
+ * is the other way and it commits on drop; neither needs a binding, which is nullable.
675
+ *
676
+ * The check runs LIVE on the current draft, so its refusal — or its rule-L6 note, which is a hint and
677
+ * not a refusal — is readable before the button is pressed.
678
+ */
679
+ /**
680
+ * The in-place "add state" form.
681
+ *
682
+ * Name, category and role rather than name alone: a state added with only a name lands as an
683
+ * intermediate/pending/custom guess that then has to be corrected in the inspector, and the two
684
+ * fields that decide how the graph READS — where it starts and where it ends — are exactly the ones
685
+ * worth asking for up front. Everything else (colour, SLA, flags) has a sensible default and is a
686
+ * refinement, so it stays in the inspector.
687
+ */
688
+ function AddStateForm({ onAdd, onCancel, error }) {
689
+ const [name, setName] = useState("");
690
+ const [category, setCategory] = useState("pending");
691
+ const [type, setType] = useState("intermediate");
692
+ return /* @__PURE__ */ jsxs("div", {
693
+ className: "wwc:space-y-2 wwc:rounded-md wwc:border wwc:border-border wwc:p-2.5",
694
+ children: [
695
+ /* @__PURE__ */ jsxs("div", {
696
+ className: "wwc:space-y-1.5",
697
+ children: [/* @__PURE__ */ jsx(Label, {
698
+ htmlFor: "new-state-name",
699
+ children: "Name"
700
+ }), /* @__PURE__ */ jsx(Input, {
701
+ id: "new-state-name",
702
+ value: name,
703
+ placeholder: "New state name…",
704
+ "aria-invalid": error !== null,
705
+ className: cn(error && "wwc:border-destructive"),
706
+ onChange: (event) => setName(event.target.value),
707
+ onKeyDown: (event) => {
708
+ if (event.key === "Enter") onAdd({
709
+ name,
710
+ category,
711
+ type
712
+ });
713
+ if (event.key === "Escape") onCancel();
714
+ }
715
+ })]
716
+ }),
717
+ /* @__PURE__ */ jsxs("div", {
718
+ className: "wwc:grid wwc:grid-cols-2 wwc:gap-2",
719
+ children: [/* @__PURE__ */ jsxs("div", {
720
+ className: "wwc:space-y-1.5",
721
+ children: [/* @__PURE__ */ jsx(Label, { children: "Category" }), /* @__PURE__ */ jsx(Combobox, {
722
+ options: STATE_CATEGORIES.map((value) => ({
723
+ value,
724
+ label: value
725
+ })),
726
+ value: category,
727
+ onValueChange: (value) => setCategory(value),
728
+ className: "wwc:w-full"
729
+ })]
730
+ }), /* @__PURE__ */ jsxs("div", {
731
+ className: "wwc:space-y-1.5",
732
+ children: [/* @__PURE__ */ jsx(Label, { children: "Role" }), /* @__PURE__ */ jsx(Combobox, {
733
+ options: STATE_TYPES.map((value) => ({
734
+ value,
735
+ label: value
736
+ })),
737
+ value: type,
738
+ onValueChange: (value) => setType(value),
739
+ className: "wwc:w-full"
740
+ })]
741
+ })]
742
+ }),
743
+ error && /* @__PURE__ */ jsx("p", {
744
+ className: "wwc:text-xs wwc:text-destructive",
745
+ children: error
746
+ }),
747
+ /* @__PURE__ */ jsxs("div", {
748
+ className: "wwc:flex wwc:items-center wwc:gap-2",
749
+ children: [/* @__PURE__ */ jsxs(Button, {
750
+ size: "sm",
751
+ className: "wwc:gap-1.5",
752
+ onClick: () => onAdd({
753
+ name,
754
+ category,
755
+ type
756
+ }),
757
+ children: [/* @__PURE__ */ jsx(Plus, { className: "wwc:h-3.5 wwc:w-3.5" }), "Add state"]
758
+ }), /* @__PURE__ */ jsx(Button, {
759
+ variant: "ghost",
760
+ size: "sm",
761
+ onClick: onCancel,
762
+ children: "Cancel"
763
+ })]
764
+ }),
765
+ /* @__PURE__ */ jsx("p", {
766
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
767
+ children: "It lands custom, with no SLA and no outgoing edge — so rule L5 flags it until a transition is added."
768
+ })
769
+ ]
770
+ });
771
+ }
772
+ function AddTransitionForm({ process, draft, onDraftChange, onAdd, onCancel }) {
773
+ const { actions } = useStateMachineData();
774
+ const stateOptions = process.states.map((s) => ({
775
+ value: s.id,
776
+ label: s.name
777
+ }));
778
+ const check = draft.from && draft.to ? checkTransition(process, draft.from, draft.to, draft.actionTypeId, actions) : null;
779
+ return /* @__PURE__ */ jsxs("div", {
780
+ className: "wwc:space-y-2",
781
+ children: [
782
+ /* @__PURE__ */ jsxs("div", {
783
+ className: "wwc:grid wwc:gap-2",
784
+ children: [
785
+ /* @__PURE__ */ jsx(Combobox, {
786
+ options: stateOptions,
787
+ value: draft.from ?? "",
788
+ onValueChange: (value) => onDraftChange({
789
+ ...draft,
790
+ from: value
791
+ }),
792
+ placeholder: "from state…",
793
+ className: "wwc:w-full"
794
+ }),
795
+ /* @__PURE__ */ jsx(Combobox, {
796
+ options: stateOptions,
797
+ value: draft.to ?? "",
798
+ onValueChange: (value) => onDraftChange({
799
+ ...draft,
800
+ to: value
801
+ }),
802
+ placeholder: "to state…",
803
+ className: "wwc:w-full"
804
+ }),
805
+ /* @__PURE__ */ jsx(Combobox, {
806
+ options: actionOptions(actions),
807
+ value: draft.actionTypeId ?? "",
808
+ onValueChange: (value) => onDraftChange({
809
+ ...draft,
810
+ actionTypeId: value
811
+ }),
812
+ placeholder: "bound action (optional)…",
813
+ className: "wwc:w-full"
814
+ })
815
+ ]
816
+ }),
817
+ check && !check.ok && /* @__PURE__ */ jsx("p", {
818
+ className: "wwc:text-xs wwc:text-destructive",
819
+ children: check.reason
820
+ }),
821
+ check?.ok && check.note && /* @__PURE__ */ jsx("p", {
822
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
823
+ children: check.note
824
+ }),
825
+ check?.ok && !check.note && /* @__PURE__ */ jsxs("p", {
826
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
827
+ children: [
828
+ "Will be created as kind ",
829
+ /* @__PURE__ */ jsx("b", { children: check.kind }),
830
+ " — derived from the graph, never asked for.",
831
+ !draft.actionTypeId && " Unbound, so rule L7 will hold the graph back from publishing until it binds."
832
+ ]
833
+ }),
834
+ /* @__PURE__ */ jsxs(Button, {
835
+ size: "sm",
836
+ className: "wwc:gap-1.5",
837
+ disabled: !draft.from || !draft.to,
838
+ onClick: () => {
839
+ if (!draft.from || !draft.to) return;
840
+ onAdd({
841
+ from: draft.from,
842
+ to: draft.to,
843
+ actionTypeId: draft.actionTypeId
844
+ });
845
+ },
846
+ children: [/* @__PURE__ */ jsx(Plus, { className: "wwc:h-3.5 wwc:w-3.5" }), "Add transition"]
847
+ }),
848
+ onCancel && /* @__PURE__ */ jsx(Button, {
849
+ variant: "ghost",
850
+ size: "sm",
851
+ className: "wwc:ml-2",
852
+ onClick: onCancel,
853
+ children: "Cancel"
854
+ })
855
+ ]
856
+ });
857
+ }
858
+ /** Present in at least one row — an optional column is shipped only when the data actually has it. */
859
+ const rowsCarry = (rows, key) => rows.some((row) => row[key] !== void 0 && row[key] !== null && row[key] !== "");
860
+ function InstancesSection({ process, selectedStateId, onSelectState, loading = false }) {
861
+ const [query, setQuery] = useState("");
862
+ const { instances } = useStateMachineData();
863
+ const objectType = getObjectType(process.objectTypeId);
864
+ const allRows = useMemo(() => [...instances], [instances]);
865
+ const scoped = useMemo(() => selectedStateId ? processTokens(process, selectedStateId, allRows) : allRows, [
866
+ process,
867
+ selectedStateId,
868
+ allRows
869
+ ]);
870
+ const selectedState = selectedStateId ? process.states.find((s) => s.id === selectedStateId) : void 0;
871
+ const unclaimed = useMemo(() => allRows.filter((row) => processStateOf(process, row) === void 0).length, [process, allRows]);
872
+ const columns = useMemo(() => {
873
+ const keys = processRowKeys(process);
874
+ const defs = [
875
+ {
876
+ id: "id",
877
+ accessorFn: (row) => processRowPk(process, row),
878
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
879
+ column,
880
+ title: keys.pk || "Id"
881
+ }),
882
+ enableHiding: false,
883
+ cell: ({ row }) => /* @__PURE__ */ jsx(Mono, { children: processRowPk(process, row.original) })
884
+ },
885
+ {
886
+ id: "title",
887
+ accessorFn: (row) => processRowTitle(process, row),
888
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
889
+ column,
890
+ title: keys.title || "Title"
891
+ }),
892
+ cell: ({ row }) => /* @__PURE__ */ jsx("span", {
893
+ className: "wwc:text-xs",
894
+ children: processRowTitle(process, row.original)
895
+ })
896
+ },
897
+ {
898
+ id: "state",
899
+ accessorFn: (row) => processStateOf(process, row)?.name ?? "",
900
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
901
+ column,
902
+ title: "State"
903
+ }),
904
+ cell: ({ row }) => {
905
+ const state = processStateOf(process, row.original);
906
+ if (!state) return /* @__PURE__ */ jsxs("span", {
907
+ className: "wwc:text-xs wwc:text-muted-foreground wwc:italic",
908
+ children: ["no state matches ", String(row.original[process.statusProp] ?? "—")]
909
+ });
910
+ return /* @__PURE__ */ jsx(StateChip, { state });
911
+ }
912
+ }
913
+ ];
914
+ if (rowsCarry(scoped, "severity_level")) defs.push({
915
+ id: "severity",
916
+ accessorFn: (row) => String(row.severity_level ?? ""),
917
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
918
+ column,
919
+ title: "Severity"
920
+ }),
921
+ cell: ({ row }) => /* @__PURE__ */ jsx(Badge, {
922
+ variant: "neutralSoft",
923
+ children: String(row.original.severity_level ?? "—")
924
+ })
925
+ });
926
+ if (rowsCarry(scoped, "zone_id")) defs.push({
927
+ id: "zone",
928
+ accessorFn: (row) => String(row.zone_id ?? ""),
929
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
930
+ column,
931
+ title: "Zone"
932
+ }),
933
+ cell: ({ row }) => /* @__PURE__ */ jsx(Mono, { children: String(row.original.zone_id ?? "—") })
934
+ });
935
+ if (rowsCarry(scoped, "assigned_to")) defs.push({
936
+ id: "assigned to",
937
+ accessorFn: (row) => String(row.assigned_to ?? ""),
938
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
939
+ column,
940
+ title: "Assigned to"
941
+ }),
942
+ cell: ({ row }) => /* @__PURE__ */ jsx(Mono, { children: String(row.original.assigned_to ?? "unassigned") })
943
+ });
944
+ if (rowsCarry(scoped, "receiver_worker_id")) defs.push({
945
+ id: "receiver",
946
+ accessorFn: (row) => String(row.receiver_worker_id ?? ""),
947
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
948
+ column,
949
+ title: "Receiver"
950
+ }),
951
+ cell: ({ row }) => /* @__PURE__ */ jsx(Mono, { children: String(row.original.receiver_worker_id ?? "—") })
952
+ });
953
+ defs.push({
954
+ id: "age",
955
+ accessorFn: (row) => processRowAgeHours(process, row),
956
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
957
+ column,
958
+ title: "Age"
959
+ }),
960
+ meta: {
961
+ headerClassName: "wwc:text-right",
962
+ cellClassName: "wwc:text-right wwc:tabular-nums"
963
+ },
964
+ cell: ({ row }) => formatHours(processRowAgeHours(process, row.original))
965
+ }, {
966
+ id: "sla",
967
+ accessorFn: (row) => processRowSlaHours(process, row, processStateOf(process, row)) ?? 0,
968
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
969
+ column,
970
+ title: "SLA"
971
+ }),
972
+ meta: {
973
+ headerClassName: "wwc:text-right",
974
+ cellClassName: "wwc:text-right wwc:tabular-nums"
975
+ },
976
+ cell: ({ row }) => {
977
+ const sla = processRowSlaHours(process, row.original, processStateOf(process, row.original));
978
+ return sla === null ? /* @__PURE__ */ jsx("span", {
979
+ className: "wwc:text-muted-foreground",
980
+ children: "—"
981
+ }) : `${sla} h`;
982
+ }
983
+ }, {
984
+ id: "over sla",
985
+ accessorFn: (row) => processRowOverSla(process, row) ? 1 : 0,
986
+ header: ({ column }) => /* @__PURE__ */ jsx(DataTableColumnHeader, {
987
+ column,
988
+ title: "Over SLA"
989
+ }),
990
+ cell: ({ row }) => processRowOverSla(process, row.original) ? /* @__PURE__ */ jsxs(Badge, {
991
+ variant: "dangerSoft",
992
+ children: [/* @__PURE__ */ jsx(Clock, { className: "wwc:h-3 wwc:w-3" }), "over"]
993
+ }) : /* @__PURE__ */ jsx("span", {
994
+ className: "wwc:text-muted-foreground",
995
+ children: "—"
996
+ })
997
+ });
998
+ return defs;
999
+ }, [process, scoped]);
1000
+ const data = useMemo(() => {
1001
+ const needle = query.trim().toLowerCase();
1002
+ if (!needle) return scoped;
1003
+ return scoped.filter((row) => Object.values(row).map((value) => value === null ? "" : String(value)).join(" ").toLowerCase().includes(needle));
1004
+ }, [scoped, query]);
1005
+ return /* @__PURE__ */ jsxs("div", {
1006
+ className: "wwc:space-y-4",
1007
+ children: [
1008
+ /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, {
1009
+ className: "wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-x-3 wwc:gap-y-1.5 wwc:px-3.5 wwc:py-2.5 wwc:text-xs",
1010
+ children: [
1011
+ /* @__PURE__ */ jsx("span", {
1012
+ className: "wwc:font-semibold",
1013
+ children: selectedState ? `Tokens in “${selectedState.name}”` : "All tokens"
1014
+ }),
1015
+ /* @__PURE__ */ jsxs("span", {
1016
+ className: "wwc:text-muted-foreground",
1017
+ children: [
1018
+ scoped.length,
1019
+ " of ",
1020
+ allRows.length,
1021
+ " ",
1022
+ objectType?.pluralName ?? "rows"
1023
+ ]
1024
+ }),
1025
+ /* @__PURE__ */ jsx(Combobox, {
1026
+ options: process.states.map((s) => ({
1027
+ value: s.id,
1028
+ label: s.name
1029
+ })),
1030
+ value: selectedStateId ?? "",
1031
+ onValueChange: (value) => onSelectState(value || null),
1032
+ placeholder: "Scope to a state…",
1033
+ className: "wwc:w-52"
1034
+ }),
1035
+ selectedStateId && /* @__PURE__ */ jsx(Button, {
1036
+ variant: "ghost",
1037
+ size: "sm",
1038
+ onClick: () => onSelectState(null),
1039
+ children: "Clear scope"
1040
+ }),
1041
+ /* @__PURE__ */ jsx("span", { className: "wwc:flex-1" }),
1042
+ /* @__PURE__ */ jsxs("span", {
1043
+ className: "wwc:text-muted-foreground",
1044
+ children: [
1045
+ "a row sits in whichever state's ",
1046
+ /* @__PURE__ */ jsx(Mono, { children: "value" }),
1047
+ " matches its ",
1048
+ /* @__PURE__ */ jsx(Mono, { children: process.statusProp })
1049
+ ]
1050
+ })
1051
+ ]
1052
+ }) }),
1053
+ unclaimed > 0 && /* @__PURE__ */ jsx(Banner, {
1054
+ variant: "info",
1055
+ title: `${unclaimed} of ${allRows.length} rows sit in no state of this process`,
1056
+ description: `Tokens are the live ${objectType?.pluralName ?? "instance"} rows of ${objectType?.displayName ?? process.objectTypeId}, shared by every process bound to that object type. A row sits in whichever state's value matches its ${process.statusProp} field — a state whose value matches nothing shows 0 tokens.`
1057
+ }),
1058
+ /* @__PURE__ */ jsx(DataTable, {
1059
+ columns,
1060
+ data,
1061
+ search: query,
1062
+ onSearchChange: setQuery,
1063
+ searchPlaceholder: "Filter tokens…",
1064
+ recordLabel: "token",
1065
+ recordLabelPlural: "tokens",
1066
+ pageSize: 25,
1067
+ flushToolbar: true,
1068
+ getRowId: (row) => processRowPk(process, row),
1069
+ isLoading: loading,
1070
+ emptyMessage: loading ? "Loading tokens…" : allRows.length === 0 ? `No ${objectType?.pluralName ?? "instance"} rows back this process, so it has no tokens.` : "No tokens match the current scope and search."
1071
+ })
1072
+ ]
1073
+ });
1074
+ }
1075
+ function SettingsSection({ process, onChange, onNavigate, identityExtra, authoring = false }) {
1076
+ const [nameErr, setNameErr] = useState(false);
1077
+ const facts = useMemo(() => processFacts(process), [process]);
1078
+ const objectType = getObjectType(process.objectTypeId);
1079
+ return /* @__PURE__ */ jsxs("div", {
1080
+ className: "wwc:space-y-4",
1081
+ children: [/* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
1082
+ className: "wwc:p-3",
1083
+ children: /* @__PURE__ */ jsx(CardTitle, {
1084
+ className: "wwc:text-sm",
1085
+ children: "Identity"
1086
+ })
1087
+ }), /* @__PURE__ */ jsxs(CardContent, {
1088
+ className: "wwc:space-y-3 wwc:p-3 wwc:pt-0",
1089
+ children: [
1090
+ /* @__PURE__ */ jsxs("div", {
1091
+ className: "wwc:space-y-1.5",
1092
+ children: [
1093
+ /* @__PURE__ */ jsx(Label, {
1094
+ htmlFor: `proc-name-${process.id}`,
1095
+ children: "Name"
1096
+ }),
1097
+ /* @__PURE__ */ jsx(Input, {
1098
+ id: `proc-name-${process.id}`,
1099
+ defaultValue: process.name,
1100
+ "aria-invalid": nameErr,
1101
+ className: cn(nameErr && "wwc:border-destructive"),
1102
+ onBlur: (event) => {
1103
+ const value = event.target.value.trim();
1104
+ if (!value) {
1105
+ setNameErr(true);
1106
+ return;
1107
+ }
1108
+ setNameErr(false);
1109
+ onChange(updateProcessMeta(process, { name: value }));
1110
+ }
1111
+ }),
1112
+ nameErr && /* @__PURE__ */ jsx("p", {
1113
+ className: "wwc:text-xs wwc:text-destructive",
1114
+ children: WC3_PROCESS_MESSAGES.nameRequired
1115
+ })
1116
+ ]
1117
+ }),
1118
+ !authoring && /* @__PURE__ */ jsxs("div", {
1119
+ className: "wwc:space-y-1.5",
1120
+ children: [/* @__PURE__ */ jsx(Label, { children: "Icon" }), /* @__PURE__ */ jsx(Combobox, {
1121
+ options: WC3_PROCESS_ICONS.map((icon) => ({
1122
+ value: icon,
1123
+ label: icon
1124
+ })),
1125
+ value: process.icon,
1126
+ onValueChange: (value) => onChange(updateProcessMeta(process, { icon: value })),
1127
+ className: "wwc:w-full"
1128
+ })]
1129
+ }),
1130
+ identityExtra,
1131
+ !authoring && /* @__PURE__ */ jsxs("div", {
1132
+ className: "wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-x-4 wwc:gap-y-1.5 wwc:text-xs",
1133
+ children: [
1134
+ /* @__PURE__ */ jsx(Mono, { children: process.id }),
1135
+ /* @__PURE__ */ jsxs("span", {
1136
+ className: "wwc:flex wwc:items-center wwc:gap-1.5",
1137
+ children: ["backing type", onNavigate ? /* @__PURE__ */ jsx("button", {
1138
+ type: "button",
1139
+ className: "wwc:underline wwc:underline-offset-2",
1140
+ onClick: () => onNavigate(lineageNav.objectType(process.objectTypeId)),
1141
+ children: /* @__PURE__ */ jsx(TypeGlyphLabel, { type: objectType })
1142
+ }) : /* @__PURE__ */ jsx(TypeGlyphLabel, { type: objectType })]
1143
+ }),
1144
+ /* @__PURE__ */ jsxs("span", {
1145
+ className: "wwc:flex wwc:items-center wwc:gap-1.5",
1146
+ children: ["status property ", /* @__PURE__ */ jsx(Mono, { children: process.statusProp })]
1147
+ }),
1148
+ /* @__PURE__ */ jsx(ProductChip, {
1149
+ process,
1150
+ onOpenProduct: onNavigate ? (key) => onNavigate(lineageNav.product(key)) : void 0
1151
+ }),
1152
+ /* @__PURE__ */ jsx(SlaModelBadge, { process })
1153
+ ]
1154
+ })
1155
+ ]
1156
+ })] }), !authoring && /* @__PURE__ */ jsxs(Fragment$1, { children: [
1157
+ /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
1158
+ className: "wwc:p-3",
1159
+ children: /* @__PURE__ */ jsxs(CardTitle, {
1160
+ className: "wwc:text-sm",
1161
+ children: ["Also touches", /* @__PURE__ */ jsxs("span", {
1162
+ className: "wwc:font-normal wwc:text-muted-foreground",
1163
+ children: [
1164
+ " (",
1165
+ facts.alsoTouches.length,
1166
+ ")"
1167
+ ]
1168
+ })]
1169
+ })
1170
+ }), /* @__PURE__ */ jsx(CardContent, {
1171
+ className: "wwc:p-3 wwc:pt-0",
1172
+ children: facts.alsoTouches.length === 0 ? /* @__PURE__ */ jsx("p", {
1173
+ className: "wwc:text-xs wwc:text-muted-foreground",
1174
+ children: "This graph reads and writes only its own object type."
1175
+ }) : /* @__PURE__ */ jsx("div", {
1176
+ className: "wwc:flex wwc:flex-wrap wwc:gap-1.5",
1177
+ children: facts.alsoTouches.map((touch) => /* @__PURE__ */ jsxs(Badge, {
1178
+ variant: "neutralSoft",
1179
+ children: [touch.displayName, touch.productKey ? ` · ${touch.productKey}` : ""]
1180
+ }, touch.otId))
1181
+ })
1182
+ })] }),
1183
+ /* @__PURE__ */ jsx(ProcessProvenanceNote, { process }),
1184
+ facts.lint.length > 0 ? /* @__PURE__ */ jsx(Banner, {
1185
+ variant: "warning",
1186
+ title: "Graph validity (DWP engine rules L1–L7)",
1187
+ items: facts.lint.map((error) => `${error.rule} · ${error.msg}`)
1188
+ }) : /* @__PURE__ */ jsx(Banner, {
1189
+ variant: "success",
1190
+ title: "Graph is publishable",
1191
+ description: "Every validity rule L1–L7 passes: one initial state, at least one terminal and one active state, no unreachable state, every non-terminal state has an outgoing edge, terminal states take only reopen edges, and every transition binds to an action type that exists."
1192
+ }),
1193
+ /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
1194
+ className: "wwc:p-3",
1195
+ children: /* @__PURE__ */ jsx(CardTitle, {
1196
+ className: "wwc:text-sm",
1197
+ children: "Transition kinds"
1198
+ })
1199
+ }), /* @__PURE__ */ jsxs(CardContent, {
1200
+ className: "wwc:space-y-2 wwc:p-3 wwc:pt-0",
1201
+ children: [/* @__PURE__ */ jsx(KindLegend, {}), /* @__PURE__ */ jsx("p", {
1202
+ className: "wwc:text-[10.5px] wwc:text-muted-foreground",
1203
+ children: "A kind is derived from the graph when a transition is added — a self edge is an extension loop, an edge leaving a terminal state is a reopen, an edge going back a column is a reject loop, everything else is forward."
1204
+ })]
1205
+ })] }),
1206
+ /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
1207
+ className: "wwc:p-3",
1208
+ children: /* @__PURE__ */ jsx(CardTitle, {
1209
+ className: "wwc:text-sm",
1210
+ children: "States"
1211
+ })
1212
+ }), /* @__PURE__ */ jsx(CardContent, {
1213
+ className: "wwc:space-y-2 wwc:p-3 wwc:pt-0",
1214
+ children: process.states.map((state) => /* @__PURE__ */ jsxs("div", {
1215
+ className: "wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-2 wwc:border-b wwc:border-border wwc:pb-2 wwc:text-xs wwc:last:border-b-0 wwc:last:pb-0",
1216
+ children: [
1217
+ /* @__PURE__ */ jsx(StateChip, { state }),
1218
+ /* @__PURE__ */ jsx(Badge, {
1219
+ variant: "neutralSoft",
1220
+ children: state.type
1221
+ }),
1222
+ state.custom && /* @__PURE__ */ jsx(CustomTag, {}),
1223
+ state.proposed && /* @__PURE__ */ jsx(ProposedTag, {}),
1224
+ /* @__PURE__ */ jsx(StateFlagBadges, { state }),
1225
+ /* @__PURE__ */ jsx("span", { className: "wwc:flex-1" }),
1226
+ /* @__PURE__ */ jsx(Mono, { children: state.value }),
1227
+ /* @__PURE__ */ jsx("span", {
1228
+ className: "wwc:text-muted-foreground",
1229
+ children: state.slaHours === null ? "no SLA" : `${state.slaHours} h`
1230
+ })
1231
+ ]
1232
+ }, state.id))
1233
+ })] })
1234
+ ] })]
1235
+ });
1236
+ }
1237
+ /**
1238
+ * The permit's type and description, shown inside the General section's Identity card.
1239
+ *
1240
+ * They sit BESIDE the record's own Name and Icon rather than in a panel of their own: all four
1241
+ * answer "what is this permit", and splitting them across two surfaces would make the same question
1242
+ * take two places to answer.
1243
+ */
1244
+ function PermitFields({ permit, onPermitChange, typeOptions }) {
1245
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", {
1246
+ className: "wwc:space-y-1.5",
1247
+ children: [/* @__PURE__ */ jsx(Label, { children: "Permit type" }), typeOptions.length === 0 ? /* @__PURE__ */ jsxs("p", {
1248
+ className: "wwc:text-xs wwc:text-muted-foreground",
1249
+ children: [
1250
+ "This process's rows carry no ",
1251
+ /* @__PURE__ */ jsx(Mono, { children: "permit_type" }),
1252
+ ", so there is no type to choose."
1253
+ ]
1254
+ }) : /* @__PURE__ */ jsx(ToggleGroup, {
1255
+ type: "single",
1256
+ value: permit.type,
1257
+ onValueChange: (next) => onPermitChange({
1258
+ ...permit,
1259
+ type: next
1260
+ }),
1261
+ variant: "outline",
1262
+ size: "sm",
1263
+ className: "wwc:flex-wrap wwc:justify-start wwc:gap-2",
1264
+ children: typeOptions.map((option) => {
1265
+ const picked = permit.type === option.value;
1266
+ return /* @__PURE__ */ jsxs(ToggleGroupItem, {
1267
+ value: option.value,
1268
+ "aria-label": option.label,
1269
+ className: cn("wwc:gap-2 wwc:rounded-full wwc:px-3 wwc:capitalize", "wwc:data-[state=on]:border-primary wwc:data-[state=on]:bg-primary/10 wwc:data-[state=on]:font-semibold wwc:data-[state=on]:text-foreground wwc:data-[state=on]:ring-1 wwc:data-[state=on]:ring-primary"),
1270
+ children: [/* @__PURE__ */ jsx("span", {
1271
+ className: cn("wwc:size-2 wwc:shrink-0 wwc:rounded-full", !picked && "wwc:opacity-40"),
1272
+ style: { background: option.dot }
1273
+ }), option.label]
1274
+ }, option.value);
1275
+ })
1276
+ })]
1277
+ }), /* @__PURE__ */ jsxs("div", {
1278
+ className: "wwc:space-y-1.5",
1279
+ children: [/* @__PURE__ */ jsx(Label, {
1280
+ htmlFor: "permit-description",
1281
+ children: "Description"
1282
+ }), /* @__PURE__ */ jsx(Textarea, {
1283
+ id: "permit-description",
1284
+ value: permit.description,
1285
+ rows: 4,
1286
+ placeholder: "What this permit covers, and when it applies…",
1287
+ onChange: (event) => onPermitChange({
1288
+ ...permit,
1289
+ description: event.target.value
1290
+ })
1291
+ })]
1292
+ })] });
1293
+ }
1294
+ /**
1295
+ * Re-runs the auto-layout and re-frames the graph.
1296
+ *
1297
+ * Positions are owned by the drag once the record is seeded — nothing recomputes them, by design, or
1298
+ * every unrelated edit would snap a moved state back. That leaves no way out of a graph the user has
1299
+ * pulled apart, or one where three states added in a row have stacked in the last column. This is
1300
+ * that way out, and it is explicit, so it can never fight a drag.
1301
+ *
1302
+ * Mounted as a GraphCanvas CHILD, which puts it inside the ReactFlowProvider — the only place
1303
+ * `fitView` can be called from. Re-framing matters here: a tidy that moved every node off screen
1304
+ * would read as having deleted the graph.
1305
+ */
1306
+ function TidyLayoutButton({ onTidy }) {
1307
+ const { fitView } = useReactFlow();
1308
+ return /* @__PURE__ */ jsx(Panel, {
1309
+ position: "top-right",
1310
+ children: /* @__PURE__ */ jsxs(Button, {
1311
+ variant: "outline",
1312
+ size: "sm",
1313
+ className: "wwc:gap-1.5 wwc:bg-card",
1314
+ onClick: () => {
1315
+ onTidy();
1316
+ requestAnimationFrame(() => void fitView({
1317
+ padding: .12,
1318
+ duration: 250
1319
+ }));
1320
+ },
1321
+ children: [/* @__PURE__ */ jsx(LayoutGrid, { className: "wwc:h-3.5 wwc:w-3.5" }), "Tidy layout"]
1322
+ })
1323
+ });
1324
+ }
1325
+ /**
1326
+ * The canvas footer: whether the graph currently passes the engine's rules.
1327
+ *
1328
+ * It replaced a legend and a how-to-drag hint. Both were static text that said the same thing on
1329
+ * every visit; this line changes, and what it changes to is the one question an author actually has
1330
+ * open while wiring a graph — is this publishable yet.
1331
+ *
1332
+ * The check is INSTANT (processGraphLint is pure and local), so the "Checking…" state is not
1333
+ * hiding latency. It is there because a result that flips silently between two green sentences is
1334
+ * indistinguishable from a result that never ran: the brief pause is what makes the recheck visible,
1335
+ * and it is what a real server-side validation would occupy anyway.
1336
+ */
1337
+ function WorkflowStatus({ lint, graphKey }) {
1338
+ const [checking, setChecking] = useState(false);
1339
+ useEffect(() => {
1340
+ setChecking(true);
1341
+ const timer = setTimeout(() => setChecking(false), 450);
1342
+ return () => clearTimeout(timer);
1343
+ }, [graphKey]);
1344
+ if (checking) return /* @__PURE__ */ jsx("output", {
1345
+ className: cn("wwc:text-xs wwc:text-transparent", "wwc:bg-[linear-gradient(90deg,var(--wwc-color-muted-foreground)_0%,var(--wwc-color-muted-foreground)_35%,var(--wwc-color-foreground)_50%,var(--wwc-color-muted-foreground)_65%,var(--wwc-color-muted-foreground)_100%)]", "wwc:bg-[length:200%_100%] wwc:bg-clip-text", "wwc:animate-text-shimmer wwc:motion-reduce:animate-none"),
1346
+ children: "Checking workflow…"
1347
+ });
1348
+ if (lint.length === 0) return /* @__PURE__ */ jsx("output", {
1349
+ className: "wwc:text-xs wwc:text-green-700 wwc:dark:text-green-400",
1350
+ children: "Workflow validated — no blocking issues."
1351
+ });
1352
+ return /* @__PURE__ */ jsxs("output", {
1353
+ className: "wwc:text-xs wwc:text-destructive",
1354
+ children: [
1355
+ lint.length,
1356
+ " blocking issue",
1357
+ lint.length === 1 ? "" : "s",
1358
+ " — ",
1359
+ lint.map((error) => error.rule).join(", "),
1360
+ "."
1361
+ ]
1362
+ });
1363
+ }
1364
+ /**
1365
+ * What each variant turns on.
1366
+ *
1367
+ * A record rather than a chain of `variant === "…"` tests: every behavioural difference between
1368
+ * variants is visible in one table, and a variant that has not opted into a trait cannot silently
1369
+ * inherit it from whichever branch happened to run. Add a trait as a new KEY here — never as an
1370
+ * inline test in the render.
1371
+ */
1372
+ const VARIANT_TRAITS = {
1373
+ connect: {
1374
+ rail: true,
1375
+ shell: true,
1376
+ sections: [{ items: [
1377
+ "canvas",
1378
+ "instances",
1379
+ "bottlenecks",
1380
+ "general"
1381
+ ] }],
1382
+ sectionLabels: { general: "Settings" },
1383
+ permitFields: false
1384
+ },
1385
+ "work-permit": {
1386
+ rail: true,
1387
+ shell: true,
1388
+ sections: [{ items: [
1389
+ "general",
1390
+ "canvas",
1391
+ "form",
1392
+ "policy"
1393
+ ] }, {
1394
+ items: ["instances", "bottlenecks"],
1395
+ divider: true
1396
+ }],
1397
+ permitFields: true
1398
+ }
1399
+ };
1400
+ const SECTION_LABEL = {
1401
+ canvas: "Canvas",
1402
+ instances: "Instances",
1403
+ bottlenecks: "Bottlenecks",
1404
+ general: "General",
1405
+ form: "Form",
1406
+ policy: "Policy"
1407
+ };
1408
+ const SECTION_ICON = {
1409
+ canvas: Workflow,
1410
+ instances: Rows3,
1411
+ bottlenecks: Clock,
1412
+ general: Settings2,
1413
+ form: ClipboardList,
1414
+ policy: ShieldCheck
1415
+ };
1416
+ /**
1417
+ * Mirrors RecordDetailShell's non-flush content well (unpadded scroll owner outside, padded block
1418
+ * inside — see the comment there for why they nest). The shell is mounted `flush` here so the form
1419
+ * builder can stay a stable direct child across section switches (hidden, never unmounted); the
1420
+ * sections that want the classic padded well get it from this wrapper instead.
1421
+ */
1422
+ function SectionWell({ children }) {
1423
+ return /* @__PURE__ */ jsx("div", {
1424
+ className: "wwc:min-h-0 wwc:flex-1 wwc:overflow-auto",
1425
+ children: /* @__PURE__ */ jsx("div", {
1426
+ className: "wwc:w-full wwc:space-y-4 wwc:p-6",
1427
+ children
1428
+ })
1429
+ });
1430
+ }
1431
+ /**
1432
+ * The colour each permit type is known by, keyed by its raw `permit_type` value.
1433
+ *
1434
+ * ONE source for both surfaces that paint a type: the pills in this file and the table chips in
1435
+ * work-permit-templates.tsx. Two maps would drift, and a type that is red in a list and orange in
1436
+ * its editor is worse than a type with no colour at all.
1437
+ *
1438
+ * `dot` is a hex applied INLINE — legal here for the same reason WC3_PROCESS_STATE_COLORS is: it is
1439
+ * fixture identity, never chrome, and a dot carries no text so it has no contrast to lose. `chip`
1440
+ * has to be classes instead, because a chip DOES carry text and a single hex would be one value for
1441
+ * both themes.
1442
+ */
1443
+ const PERMIT_TYPE_COLOR = {
1444
+ hot_work: {
1445
+ dot: "#dc2626",
1446
+ chip: "wwc:border-red-600/25 wwc:bg-red-500/10 wwc:text-red-700 wwc:dark:text-red-400"
1447
+ },
1448
+ cold_work: {
1449
+ dot: "#2563eb",
1450
+ chip: "wwc:border-blue-600/25 wwc:bg-blue-500/10 wwc:text-blue-700 wwc:dark:text-blue-400"
1451
+ },
1452
+ confined_space: {
1453
+ dot: "#7c3aed",
1454
+ chip: "wwc:border-violet-600/25 wwc:bg-violet-500/10 wwc:text-violet-700 wwc:dark:text-violet-400"
1455
+ },
1456
+ work_at_height: {
1457
+ dot: "#ea580c",
1458
+ chip: "wwc:border-orange-600/25 wwc:bg-orange-500/10 wwc:text-orange-700 wwc:dark:text-orange-400"
1459
+ },
1460
+ electrical_work: {
1461
+ dot: "#d97706",
1462
+ chip: "wwc:border-amber-600/25 wwc:bg-amber-500/10 wwc:text-amber-700 wwc:dark:text-amber-400"
1463
+ },
1464
+ excavation: {
1465
+ dot: "#059669",
1466
+ chip: "wwc:border-emerald-600/25 wwc:bg-emerald-500/10 wwc:text-emerald-700 wwc:dark:text-emerald-400"
1467
+ },
1468
+ lifting: {
1469
+ dot: "#0891b2",
1470
+ chip: "wwc:border-cyan-600/25 wwc:bg-cyan-500/10 wwc:text-cyan-700 wwc:dark:text-cyan-400"
1471
+ },
1472
+ radiography: {
1473
+ dot: "#db2777",
1474
+ chip: "wwc:border-pink-600/25 wwc:bg-pink-500/10 wwc:text-pink-700 wwc:dark:text-pink-400"
1475
+ }
1476
+ };
1477
+ /** Neutral rather than a random colour: an unrecognised type should read as unclassified, not as a
1478
+ * type whose colour nobody can look up. */
1479
+ const PERMIT_TYPE_FALLBACK = {
1480
+ dot: "var(--wwc-color-muted-foreground)",
1481
+ chip: "wwc:border-border wwc:bg-muted wwc:text-muted-foreground"
1482
+ };
1483
+ const permitTypeColor = (value) => PERMIT_TYPE_COLOR[value] ?? PERMIT_TYPE_FALLBACK;
1484
+ /**
1485
+ * The permit types this process's OWN tokens carry, deduped and in first-seen order.
1486
+ *
1487
+ * Derived rather than declared: a hard-coded list would silently drift from the fixture the moment a
1488
+ * row is added. A process whose rows have no `permit_type` yields an empty list, and the field says
1489
+ * so instead of offering choices that mean nothing.
1490
+ */
1491
+ function permitTypeOptions(process, instances = []) {
1492
+ const seen = /* @__PURE__ */ new Set();
1493
+ for (const row of instances) {
1494
+ const value = row.permit_type;
1495
+ if (typeof value === "string" && value !== "" && !seen.has(value)) seen.add(value);
1496
+ }
1497
+ return [...seen].map((value) => ({
1498
+ value,
1499
+ label: value.replace(/_/g, " "),
1500
+ dot: permitTypeColor(value).dot
1501
+ }));
1502
+ }
1503
+ /**
1504
+ * The state-machine authoring surface: header band, section rail, canvas and editing panel.
1505
+ *
1506
+ * Pick the cut with {@link StateMachineProps.variant} — `connect` or `work-permit`. Both render the
1507
+ * same canvas, the same editing panel and the same guards; they differ in the left rail alone.
1508
+ *
1509
+ * Height contract: the canvas fills its container, so the container MUST resolve a height. Placed in
1510
+ * a box with no resolved height the canvas collapses to a 0px strip — the same failure GraphCanvas
1511
+ * documents, inherited here because this widget is one.
1512
+ *
1513
+ * ```tsx
1514
+ * <div className="h-[42rem]">
1515
+ * <StateMachine variant="connect" process={process} onChange={setProcess} />
1516
+ * </div>
1517
+ * ```
1518
+ */
1519
+ function StateMachine({ process, onChange, variant = "connect", shell: shellProp, edit: editProp, onEditChange, onNavigate, permit: permitProp, onPermitChange, section: sectionProp, onSectionChange, onBack, formSlot, headerActions, railFooter, authoring = false, actions = NO_ACTIONS, effects = NO_EFFECTS, stateFlags = DEFAULT_STATE_FLAGS, instances = NO_ROWS, instancesLoading = false, readOnly = false, sections: sectionsProp, sectionLabels: sectionLabelsProp, className }) {
1520
+ const traits = VARIANT_TRAITS[variant];
1521
+ const shell = shellProp ?? traits.shell;
1522
+ const sectionGroups = sectionsProp ?? traits.sections;
1523
+ const sectionLabels = sectionLabelsProp ?? traits.sectionLabels;
1524
+ const { permitFields } = traits;
1525
+ const editing = shell && traits.rail && !readOnly;
1526
+ const data = useMemo(() => ({
1527
+ actions,
1528
+ effects,
1529
+ stateFlags,
1530
+ instances,
1531
+ readOnly
1532
+ }), [
1533
+ actions,
1534
+ effects,
1535
+ stateFlags,
1536
+ instances,
1537
+ readOnly
1538
+ ]);
1539
+ /**
1540
+ * Which section the rail opens on.
1541
+ *
1542
+ * AUTHORING ALWAYS OPENS ON THE CANVAS. A graph that is being written has nothing else worth
1543
+ * landing on — Instances and Bottlenecks are dropped in that mode, and General is identity fields
1544
+ * for a record whose whole point is the shape being drawn behind them. The work-permit cut is the
1545
+ * one this changes: its rail leads with General, which is right for an existing template and
1546
+ * wrong for a blank one.
1547
+ */
1548
+ const defaultSection = authoring ? "canvas" : sectionGroups[0]?.items[0] ?? "canvas";
1549
+ const [ownEdit, setOwnEdit] = useState(WC3_PROCESS_EDIT_INITIAL);
1550
+ const controlled = editProp !== void 0;
1551
+ const edit = editProp ?? ownEdit;
1552
+ const setEdit = useCallback((update) => {
1553
+ if (controlled) onEditChange?.(update(editProp));
1554
+ else setOwnEdit(update);
1555
+ }, [
1556
+ controlled,
1557
+ editProp,
1558
+ onEditChange
1559
+ ]);
1560
+ const [ownPermit, setOwnPermit] = useState(() => ({
1561
+ name: process.name,
1562
+ type: "",
1563
+ description: "",
1564
+ policy: WC3_PERMIT_POLICY_INITIAL
1565
+ }));
1566
+ const permit = permitProp ?? ownPermit;
1567
+ const setPermit = (next) => {
1568
+ if (permitProp === void 0) setOwnPermit(next);
1569
+ onPermitChange?.(next);
1570
+ if (next.name !== process.name) onChange(updateProcessMeta(process, { name: next.name }));
1571
+ };
1572
+ const [ownSection, setOwnSection] = useState(defaultSection);
1573
+ const section = sectionProp ?? ownSection;
1574
+ const setSection = (next) => {
1575
+ if (sectionProp === void 0) setOwnSection(next);
1576
+ onSectionChange?.(next);
1577
+ };
1578
+ const typeOptions = useMemo(() => permitTypeOptions(process, instances), [process, instances]);
1579
+ const [pending, setPending] = useState(null);
1580
+ const [railTab, setRailTab] = useState("state");
1581
+ const [newStateErr, setNewStateErr] = useState(null);
1582
+ const [addingState, setAddingState] = useState(false);
1583
+ const [addingTransition, setAddingTransition] = useState(false);
1584
+ useEffect(() => {
1585
+ setOwnEdit(WC3_PROCESS_EDIT_INITIAL);
1586
+ setOwnSection(defaultSection);
1587
+ setRailTab("state");
1588
+ setOwnPermit({
1589
+ name: process.name,
1590
+ type: "",
1591
+ description: "",
1592
+ policy: WC3_PERMIT_POLICY_INITIAL
1593
+ });
1594
+ setPending(null);
1595
+ setNewStateErr(null);
1596
+ setAddingState(false);
1597
+ setAddingTransition(false);
1598
+ }, [process.id]);
1599
+ const rows = useMemo(() => [...instances], [instances]);
1600
+ const facts = useMemo(() => processFacts(process, rows, actions), [
1601
+ process,
1602
+ rows,
1603
+ actions
1604
+ ]);
1605
+ /**
1606
+ * What the validity check depends on: the SHAPE of the graph, not the record.
1607
+ *
1608
+ * Every commit deep-clones the process, so `process` itself changes identity when a state is
1609
+ * merely dragged. Hashing the fields the rules actually read keeps the footer from re-checking on
1610
+ * a move that cannot alter the answer.
1611
+ */
1612
+ const graphKey = useMemo(() => [process.states.map((state) => `${state.id}:${state.type}:${state.category}:${state.flags.join("+")}`).join("|"), process.transitions.map((t) => `${t.id}:${t.from}>${t.to}:${t.actionTypeId}`).join("|")].join("//"), [process.states, process.transitions]);
1613
+ const flowNodes = useMemo(() => process.states.map((state) => ({
1614
+ id: state.id,
1615
+ type: "default",
1616
+ position: process.layout[state.id] ?? {
1617
+ x: 36,
1618
+ y: 34
1619
+ },
1620
+ selected: edit.stateSel === state.id,
1621
+ style: { ["--xy-node-background-color"]: `color-mix(in srgb, ${state.color} ${WC3_PROCESS_NODE_TINT}, var(--xy-node-background-color-default))` },
1622
+ data: { state }
1623
+ })), [
1624
+ process.states,
1625
+ process.layout,
1626
+ edit.stateSel
1627
+ ]);
1628
+ const flowEdges = useMemo(() => {
1629
+ const known = new Set(process.states.map((s) => s.id));
1630
+ return process.transitions.map((t) => {
1631
+ if (!known.has(t.from) || !known.has(t.to)) return null;
1632
+ const selfLoop = t.from === t.to;
1633
+ const backward = !selfLoop && (process.layout[t.to]?.x ?? 0) < (process.layout[t.from]?.x ?? 0);
1634
+ return {
1635
+ id: t.id,
1636
+ source: t.from,
1637
+ target: t.to,
1638
+ sourceHandle: backward ? "back-out" : "out",
1639
+ targetHandle: selfLoop || backward ? "back-in" : "in",
1640
+ selected: edit.transSel === t.id,
1641
+ ...t.actionTypeId === null ? { style: { strokeDasharray: "5 4" } } : {},
1642
+ markerEnd: { type: MarkerType.ArrowClosed }
1643
+ };
1644
+ }).filter((edge) => edge !== null);
1645
+ }, [
1646
+ process.states,
1647
+ process.transitions,
1648
+ process.layout,
1649
+ edit.transSel
1650
+ ]);
1651
+ const [nodes, setNodes, onNodesChange] = useNodesState(flowNodes);
1652
+ const [edges, setEdges, onEdgesChange] = useEdgesState(flowEdges);
1653
+ useEffect(() => setNodes(flowNodes), [flowNodes, setNodes]);
1654
+ useEffect(() => setEdges(flowEdges), [flowEdges, setEdges]);
1655
+ const openAddState = () => {
1656
+ setNewStateErr(null);
1657
+ setAddingState(true);
1658
+ };
1659
+ const addNewState = (draft) => {
1660
+ const name = draft.name.trim();
1661
+ if (!name) {
1662
+ setNewStateErr(WC3_PROCESS_MESSAGES.nameRequired);
1663
+ return;
1664
+ }
1665
+ if (process.states.some((s) => s.name.toLowerCase() === name.toLowerCase() || s.value.toLowerCase() === name.toLowerCase())) {
1666
+ setNewStateErr(WC3_PROCESS_MESSAGES.stateNameTaken);
1667
+ return;
1668
+ }
1669
+ setNewStateErr(null);
1670
+ const { process: added, stateId } = addState(process, name);
1671
+ onChange(updateState(added, stateId, {
1672
+ category: draft.category,
1673
+ type: draft.type
1674
+ }));
1675
+ setEdit((state) => ({
1676
+ ...state,
1677
+ stateSel: stateId,
1678
+ transSel: null,
1679
+ graphErr: null
1680
+ }));
1681
+ setRailTab("state");
1682
+ setAddingState(false);
1683
+ };
1684
+ const closeAddTransition = () => {
1685
+ setAddingTransition(false);
1686
+ setEdit((state) => ({
1687
+ ...state,
1688
+ draftTransition: {
1689
+ from: null,
1690
+ to: null,
1691
+ actionTypeId: null
1692
+ },
1693
+ graphErr: null
1694
+ }));
1695
+ };
1696
+ const commitTransition = (args) => {
1697
+ const check = checkTransition(process, args.from, args.to, args.actionTypeId, actions);
1698
+ if (!check.ok) {
1699
+ setEdit((state) => ({
1700
+ ...state,
1701
+ graphErr: check.reason
1702
+ }));
1703
+ return;
1704
+ }
1705
+ const { process: next, transitionId } = addTransition(process, {
1706
+ from: args.from,
1707
+ to: args.to,
1708
+ actionTypeId: args.actionTypeId
1709
+ });
1710
+ onChange(next);
1711
+ setEdit((state) => ({
1712
+ ...state,
1713
+ graphErr: null,
1714
+ transSel: transitionId,
1715
+ stateSel: null,
1716
+ draftTransition: {
1717
+ from: null,
1718
+ to: null,
1719
+ actionTypeId: null
1720
+ }
1721
+ }));
1722
+ setRailTab("transition");
1723
+ setAddingTransition(false);
1724
+ };
1725
+ /**
1726
+ * The drag-time guards. Probed with a resolvable binding so guards 1 and 4 — the only two a drag
1727
+ * can violate — decide the drop; the binding itself is checked when the form commits.
1728
+ */
1729
+ const validateDrag = useCallback((connection) => checkTransition(process, connection.source, connection.target, null, actions), [process, actions]);
1730
+ /**
1731
+ * The refusal surface. `isValidConnection` blocks the drop, which means `onConnect` never fires for
1732
+ * a refused edge and the reason would never be read — so the guards run again here, on the pair the
1733
+ * drag actually ended on, and their message lands in the warn banner verbatim. Handles are resolved
1734
+ * by TYPE, not by drag direction, so dragging target→source refuses for the same reason as
1735
+ * source→target rather than for a spurious one.
1736
+ */
1737
+ const onConnectEnd = useCallback((_event, state) => {
1738
+ const { fromHandle, toHandle } = state;
1739
+ if (!fromHandle || !toHandle) return;
1740
+ const source = fromHandle.type === "source" ? fromHandle : toHandle;
1741
+ const target = fromHandle.type === "source" ? toHandle : fromHandle;
1742
+ if (!source.nodeId || !target.nodeId) return;
1743
+ const check = checkTransition(process, source.nodeId, target.nodeId, null, actions);
1744
+ setEdit((edited) => ({
1745
+ ...edited,
1746
+ graphErr: check.ok ? null : check.reason
1747
+ }));
1748
+ }, [
1749
+ process,
1750
+ actions,
1751
+ setEdit
1752
+ ]);
1753
+ /**
1754
+ * A LEGAL drop COMMITS, unbound.
1755
+ *
1756
+ * The drag supplies both endpoints; addTransition derives the key and the kind; the binding is
1757
+ * left null and rule L7 carries it from there. Then the new edge is SELECTED and its inspector
1758
+ * opened, so the field the drop could not fill is the field under the cursor — draw the line,
1759
+ * finish it in place. One onChange, so undo drops the edge and nothing else.
1760
+ */
1761
+ const onConnect = useCallback((connection) => {
1762
+ if (!connection.source || !connection.target) return;
1763
+ const { process: next, transitionId } = addTransition(process, {
1764
+ from: connection.source,
1765
+ to: connection.target,
1766
+ actionTypeId: null
1767
+ });
1768
+ onChange(next);
1769
+ setRailTab("transition");
1770
+ setAddingTransition(false);
1771
+ setEdit((state) => ({
1772
+ ...state,
1773
+ graphErr: null,
1774
+ stateSel: null,
1775
+ transSel: transitionId,
1776
+ draftTransition: {
1777
+ from: null,
1778
+ to: null,
1779
+ actionTypeId: null
1780
+ }
1781
+ }));
1782
+ }, [
1783
+ process,
1784
+ onChange,
1785
+ setEdit
1786
+ ]);
1787
+ const requestDeleteState = (stateId) => {
1788
+ const reason = stateDeleteBlockReason(process, stateId, rows);
1789
+ if (reason) {
1790
+ setEdit((state) => ({
1791
+ ...state,
1792
+ graphErr: reason
1793
+ }));
1794
+ return;
1795
+ }
1796
+ setPending({
1797
+ kind: "state",
1798
+ id: stateId
1799
+ });
1800
+ };
1801
+ const confirmPending = () => {
1802
+ if (!pending) return;
1803
+ if (pending.kind === "state") {
1804
+ onChange(deleteState(process, pending.id));
1805
+ setEdit((state) => ({
1806
+ ...state,
1807
+ stateSel: null,
1808
+ graphErr: null
1809
+ }));
1810
+ } else {
1811
+ onChange(deleteTransition(process, pending.id));
1812
+ setEdit((state) => ({
1813
+ ...state,
1814
+ transSel: null,
1815
+ graphErr: null
1816
+ }));
1817
+ }
1818
+ setPending(null);
1819
+ };
1820
+ const pendingState = pending?.kind === "state" ? process.states.find((s) => s.id === pending.id) : void 0;
1821
+ const pendingTransition = pending?.kind === "transition" ? process.transitions.find((t) => t.id === pending.id) : void 0;
1822
+ const workflowStage = /* @__PURE__ */ jsxs("div", {
1823
+ className: cn("wwc:grid wwc:min-h-0 wwc:min-w-0 wwc:flex-1 wwc:overflow-hidden", editing && "wwc:lg:grid-cols-[minmax(0,1fr)_22rem]"),
1824
+ children: [/* @__PURE__ */ jsxs("div", {
1825
+ className: "wwc:flex wwc:min-h-0 wwc:flex-col wwc:overflow-hidden wwc:bg-card",
1826
+ children: [
1827
+ edit.graphErr && /* @__PURE__ */ jsxs("div", {
1828
+ className: "wwc:flex wwc:shrink-0 wwc:items-start wwc:gap-2 wwc:border-b wwc:border-amber-600/30 wwc:bg-amber-500/5 wwc:p-3 wwc:text-sm",
1829
+ children: [/* @__PURE__ */ jsx(XCircle, { className: "wwc:mt-0.5 wwc:h-4 wwc:w-4 wwc:shrink-0 wwc:text-amber-600" }), /* @__PURE__ */ jsxs("span", { children: [
1830
+ /* @__PURE__ */ jsx("b", { children: "Edit refused:" }),
1831
+ " ",
1832
+ edit.graphErr
1833
+ ] })]
1834
+ }),
1835
+ /* @__PURE__ */ jsx("div", {
1836
+ className: "wwc:min-h-0 wwc:flex-1",
1837
+ children: process.states.length === 0 ? /* @__PURE__ */ jsx(Empty, {
1838
+ title: "No states",
1839
+ description: "This process has no states left. Add one in the rail on the right — a graph needs one initial state, one terminal state and at least one active state to pass rules L1–L3."
1840
+ }) : /* @__PURE__ */ jsx(GraphCanvas, {
1841
+ layout: "free",
1842
+ fitViewOptions: { padding: .12 },
1843
+ nodes,
1844
+ edges,
1845
+ onNodesChange,
1846
+ onEdgesChange,
1847
+ nodeTypes: PROCESS_NODE_TYPES,
1848
+ nodesConnectable: editing,
1849
+ nodesDraggable: !readOnly,
1850
+ onConnect: editing ? onConnect : void 0,
1851
+ isValidConnection: (connection) => editing && validateDrag(connection).ok,
1852
+ onConnectStart: () => setEdit((state) => ({
1853
+ ...state,
1854
+ graphErr: null
1855
+ })),
1856
+ onConnectEnd,
1857
+ onNodeClick: (_, node) => {
1858
+ setRailTab("state");
1859
+ setEdit((state) => ({
1860
+ ...state,
1861
+ stateSel: state.stateSel === node.id ? null : node.id,
1862
+ transSel: null
1863
+ }));
1864
+ },
1865
+ onNodeDragStop: readOnly ? void 0 : (_, node) => onChange(moveState(process, node.id, node.position.x, node.position.y)),
1866
+ onEdgeClick: (_, edge) => {
1867
+ setRailTab("transition");
1868
+ setEdit((state) => ({
1869
+ ...state,
1870
+ transSel: state.transSel === edge.id ? null : edge.id,
1871
+ stateSel: null
1872
+ }));
1873
+ },
1874
+ onPaneClick: () => setEdit((state) => ({
1875
+ ...state,
1876
+ stateSel: null,
1877
+ transSel: null,
1878
+ graphErr: null
1879
+ })),
1880
+ children: !readOnly && /* @__PURE__ */ jsx(TidyLayoutButton, { onTidy: () => onChange({
1881
+ ...process,
1882
+ layout: processLayout(process)
1883
+ }) })
1884
+ })
1885
+ }),
1886
+ /* @__PURE__ */ jsx("div", {
1887
+ className: "wwc:flex wwc:shrink-0 wwc:items-center wwc:justify-center wwc:border-t wwc:border-border wwc:px-3 wwc:py-2",
1888
+ children: /* @__PURE__ */ jsx(WorkflowStatus, {
1889
+ lint: facts.lint,
1890
+ graphKey
1891
+ })
1892
+ })
1893
+ ]
1894
+ }), editing && /* @__PURE__ */ jsxs("div", {
1895
+ className: "wwc:flex wwc:min-h-0 wwc:flex-col wwc:gap-4 wwc:overflow-y-auto wwc:border-t wwc:border-border wwc:bg-card wwc:p-4 wwc:lg:border-t-0 wwc:lg:border-l",
1896
+ children: [
1897
+ /* @__PURE__ */ jsxs(Tabs, {
1898
+ value: railTab,
1899
+ onValueChange: (value) => setRailTab(value),
1900
+ children: [
1901
+ /* @__PURE__ */ jsxs(TabsList, {
1902
+ className: "wwc:grid wwc:w-full wwc:grid-cols-2",
1903
+ children: [/* @__PURE__ */ jsxs(TabsTrigger, {
1904
+ value: "state",
1905
+ className: "wwc:gap-1.5",
1906
+ children: [/* @__PURE__ */ jsx(CircleDot, { className: "wwc:h-3.5 wwc:w-3.5" }), "State"]
1907
+ }), /* @__PURE__ */ jsxs(TabsTrigger, {
1908
+ value: "transition",
1909
+ className: "wwc:gap-1.5",
1910
+ children: [/* @__PURE__ */ jsx(ArrowRight, { className: "wwc:h-3.5 wwc:w-3.5" }), "Transition"]
1911
+ })]
1912
+ }),
1913
+ /* @__PURE__ */ jsx(TabsContent, {
1914
+ value: "state",
1915
+ className: "wwc:mt-4 wwc:space-y-4",
1916
+ children: /* @__PURE__ */ jsxs(ProcessRailCard, {
1917
+ title: "States",
1918
+ count: process.states.length,
1919
+ children: [process.states.length === 0 ? /* @__PURE__ */ jsx("p", {
1920
+ className: "wwc:text-xs wwc:text-muted-foreground",
1921
+ children: "No states yet. Add the first one below — a graph needs an initial state, a terminal state and at least one active state to pass rules L1–L3."
1922
+ }) : /* @__PURE__ */ jsx(Accordion, {
1923
+ type: "single",
1924
+ collapsible: true,
1925
+ value: edit.stateSel ?? "",
1926
+ onValueChange: (next) => setEdit((state) => ({
1927
+ ...state,
1928
+ stateSel: next || null,
1929
+ transSel: null,
1930
+ graphErr: null
1931
+ })),
1932
+ children: process.states.map((state) => /* @__PURE__ */ jsxs(AccordionItem, {
1933
+ value: state.id,
1934
+ className: "wwc:last:border-b-0",
1935
+ children: [/* @__PURE__ */ jsx(AccordionTrigger, {
1936
+ className: "wwc:py-2.5 wwc:hover:no-underline",
1937
+ children: /* @__PURE__ */ jsxs("span", {
1938
+ className: "wwc:flex wwc:min-w-0 wwc:items-center wwc:gap-2",
1939
+ children: [
1940
+ /* @__PURE__ */ jsx("span", {
1941
+ className: "wwc:size-2 wwc:shrink-0 wwc:rounded-full",
1942
+ style: { background: state.color }
1943
+ }),
1944
+ /* @__PURE__ */ jsx("span", {
1945
+ className: "wwc:truncate",
1946
+ children: state.name
1947
+ }),
1948
+ /* @__PURE__ */ jsxs("span", {
1949
+ className: "wwc:shrink-0 wwc:text-[10px] wwc:text-muted-foreground",
1950
+ children: [state.category, state.type === "initial" ? " · initial" : state.type === "terminal" ? " · terminal" : ""]
1951
+ })
1952
+ ]
1953
+ })
1954
+ }), /* @__PURE__ */ jsx(AccordionContent, {
1955
+ className: "wwc:pb-4",
1956
+ children: /* @__PURE__ */ jsx(StateInspector, {
1957
+ process,
1958
+ state,
1959
+ authoring,
1960
+ onChange,
1961
+ onDelete: () => requestDeleteState(state.id),
1962
+ onSelectTransition: (id) => {
1963
+ setEdit((current) => ({
1964
+ ...current,
1965
+ transSel: id,
1966
+ stateSel: null,
1967
+ graphErr: null
1968
+ }));
1969
+ setRailTab("transition");
1970
+ }
1971
+ })
1972
+ })]
1973
+ }, state.id))
1974
+ }), /* @__PURE__ */ jsx("div", {
1975
+ className: "wwc:mt-3",
1976
+ children: addingState ? /* @__PURE__ */ jsx(AddStateForm, {
1977
+ onCancel: () => setAddingState(false),
1978
+ onAdd: addNewState,
1979
+ error: newStateErr
1980
+ }) : /* @__PURE__ */ jsxs(Button, {
1981
+ variant: "outline",
1982
+ size: "sm",
1983
+ className: "wwc:w-full wwc:gap-1.5",
1984
+ onClick: openAddState,
1985
+ children: [/* @__PURE__ */ jsx(Plus, { className: "wwc:h-3.5 wwc:w-3.5" }), "Add state"]
1986
+ })
1987
+ })]
1988
+ })
1989
+ }),
1990
+ /* @__PURE__ */ jsx(TabsContent, {
1991
+ value: "transition",
1992
+ className: "wwc:mt-4 wwc:space-y-4",
1993
+ children: /* @__PURE__ */ jsxs(ProcessRailCard, {
1994
+ title: "Transitions",
1995
+ count: facts.transitionCount,
1996
+ children: [process.transitions.length === 0 ? /* @__PURE__ */ jsx("p", {
1997
+ className: "wwc:text-xs wwc:text-muted-foreground",
1998
+ children: "No transitions yet. Add one below, or drag between two states on the canvas to pre-fill the form."
1999
+ }) : /* @__PURE__ */ jsx(Accordion, {
2000
+ type: "single",
2001
+ collapsible: true,
2002
+ value: edit.transSel ?? "",
2003
+ onValueChange: (next) => setEdit((state) => ({
2004
+ ...state,
2005
+ transSel: next || null,
2006
+ stateSel: null,
2007
+ graphErr: null
2008
+ })),
2009
+ children: process.transitions.map((transition) => {
2010
+ const from = process.states.find((s) => s.id === transition.from);
2011
+ const to = process.states.find((s) => s.id === transition.to);
2012
+ return /* @__PURE__ */ jsxs(AccordionItem, {
2013
+ value: transition.id,
2014
+ className: "wwc:last:border-b-0",
2015
+ children: [/* @__PURE__ */ jsx(AccordionTrigger, {
2016
+ className: "wwc:py-2.5 wwc:hover:no-underline",
2017
+ children: /* @__PURE__ */ jsxs("span", {
2018
+ className: "wwc:flex wwc:min-w-0 wwc:flex-col wwc:items-start wwc:gap-0.5",
2019
+ children: [/* @__PURE__ */ jsxs("span", {
2020
+ className: "wwc:flex wwc:min-w-0 wwc:items-center wwc:gap-1.5",
2021
+ children: [/* @__PURE__ */ jsx("span", {
2022
+ className: "wwc:truncate",
2023
+ children: transition.key
2024
+ }), transition.proposed && /* @__PURE__ */ jsx(ProposedTag, {})]
2025
+ }), /* @__PURE__ */ jsxs("span", {
2026
+ className: "wwc:flex wwc:min-w-0 wwc:items-center wwc:gap-1 wwc:text-[10px] wwc:font-normal wwc:text-muted-foreground",
2027
+ children: [
2028
+ /* @__PURE__ */ jsx("span", {
2029
+ className: "wwc:truncate",
2030
+ children: from?.name ?? "deleted"
2031
+ }),
2032
+ /* @__PURE__ */ jsx(ArrowRight, { className: "wwc:h-3 wwc:w-3 wwc:shrink-0" }),
2033
+ /* @__PURE__ */ jsx("span", {
2034
+ className: "wwc:truncate",
2035
+ children: to?.name ?? "deleted"
2036
+ })
2037
+ ]
2038
+ })]
2039
+ })
2040
+ }), /* @__PURE__ */ jsx(AccordionContent, {
2041
+ className: "wwc:pb-4",
2042
+ children: /* @__PURE__ */ jsx(TransitionInspector, {
2043
+ process,
2044
+ transition,
2045
+ onChange,
2046
+ onDelete: () => setPending({
2047
+ kind: "transition",
2048
+ id: transition.id
2049
+ }),
2050
+ onNavigate
2051
+ })
2052
+ })]
2053
+ }, transition.id);
2054
+ })
2055
+ }), /* @__PURE__ */ jsx("div", {
2056
+ className: "wwc:mt-3",
2057
+ children: addingTransition ? /* @__PURE__ */ jsx(AddTransitionForm, {
2058
+ process,
2059
+ draft: edit.draftTransition,
2060
+ onDraftChange: (next) => setEdit((state) => ({
2061
+ ...state,
2062
+ draftTransition: next
2063
+ })),
2064
+ onAdd: commitTransition,
2065
+ onCancel: closeAddTransition
2066
+ }) : /* @__PURE__ */ jsxs(Button, {
2067
+ variant: "outline",
2068
+ size: "sm",
2069
+ className: "wwc:w-full wwc:gap-1.5",
2070
+ onClick: () => setAddingTransition(true),
2071
+ children: [/* @__PURE__ */ jsx(Plus, { className: "wwc:h-3.5 wwc:w-3.5" }), "Add transition"]
2072
+ })
2073
+ })]
2074
+ })
2075
+ })
2076
+ ]
2077
+ }),
2078
+ facts.lint.length > 0 && /* @__PURE__ */ jsx(ProcessRailCard, {
2079
+ title: "Graph validity",
2080
+ count: facts.lint.length,
2081
+ children: /* @__PURE__ */ jsx("div", {
2082
+ className: "wwc:space-y-1",
2083
+ children: facts.lint.map((error) => /* @__PURE__ */ jsxs("div", {
2084
+ className: "wwc:flex wwc:gap-1.5 wwc:text-xs",
2085
+ children: [/* @__PURE__ */ jsx(GitBranch, { className: "wwc:mt-0.5 wwc:h-3 wwc:w-3 wwc:shrink-0 wwc:text-muted-foreground" }), /* @__PURE__ */ jsxs("span", { children: [
2086
+ /* @__PURE__ */ jsx("b", { children: error.rule }),
2087
+ " ",
2088
+ error.msg
2089
+ ] })]
2090
+ }, `${error.rule}-${error.msg}`))
2091
+ })
2092
+ }),
2093
+ railFooter
2094
+ ]
2095
+ })]
2096
+ });
2097
+ const dialogs = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(ConfirmDialog, {
2098
+ open: pending?.kind === "state",
2099
+ onOpenChange: (next) => {
2100
+ if (!next) setPending(null);
2101
+ },
2102
+ title: "Delete state",
2103
+ description: WC3_PROCESS_MESSAGES.deleteState(pendingState?.name ?? "", process.transitions.filter((t) => t.from === pending?.id || t.to === pending?.id).length),
2104
+ confirmLabel: "Delete",
2105
+ destructive: true,
2106
+ onConfirm: confirmPending
2107
+ }), /* @__PURE__ */ jsx(ConfirmDialog, {
2108
+ open: pending?.kind === "transition",
2109
+ onOpenChange: (next) => {
2110
+ if (!next) setPending(null);
2111
+ },
2112
+ title: "Delete transition",
2113
+ description: WC3_PROCESS_MESSAGES.deleteTransition(pendingTransition?.key ?? ""),
2114
+ confirmLabel: "Delete transition",
2115
+ destructive: true,
2116
+ onConfirm: confirmPending
2117
+ })] });
2118
+ if (!shell) return /* @__PURE__ */ jsx(StateMachineDataContext.Provider, {
2119
+ value: data,
2120
+ children: /* @__PURE__ */ jsxs("div", {
2121
+ className: cn("wwc:flex wwc:min-h-0 wwc:min-w-0 wwc:flex-1 wwc:flex-col", className),
2122
+ children: [workflowStage, dialogs]
2123
+ })
2124
+ });
2125
+ const railGroups = (authoring ? sectionGroups.map((group) => ({
2126
+ ...group,
2127
+ items: group.items.filter((id) => id !== "instances" && id !== "bottlenecks")
2128
+ })).filter((group) => group.items.length > 0) : sectionGroups).map((group) => ({
2129
+ divider: group.divider,
2130
+ items: group.items.map((id) => ({
2131
+ id,
2132
+ label: sectionLabels?.[id] ?? SECTION_LABEL[id],
2133
+ icon: SECTION_ICON[id],
2134
+ count: id === "canvas" ? facts.stateCount : id === "instances" ? facts.tokenCount : id === "bottlenecks" ? facts.openCount : id === "general" && facts.lint.length > 0 ? facts.lint.length : void 0
2135
+ }))
2136
+ }));
2137
+ const selectState = (stateId) => setEdit((state) => ({
2138
+ ...state,
2139
+ stateSel: stateId,
2140
+ transSel: null
2141
+ }));
2142
+ const shellBody = /* @__PURE__ */ jsxs("div", {
2143
+ className: cn("wwc:flex wwc:min-h-0 wwc:flex-1 wwc:flex-col", className),
2144
+ children: [
2145
+ /* @__PURE__ */ jsxs("div", {
2146
+ className: "wwc:flex wwc:min-h-12 wwc:shrink-0 wwc:items-center wwc:justify-between wwc:gap-3 wwc:border-b wwc:border-border wwc:bg-card wwc:px-3",
2147
+ children: [/* @__PURE__ */ jsxs("div", {
2148
+ className: "wwc:flex wwc:min-w-0 wwc:items-center wwc:gap-2.5",
2149
+ children: [
2150
+ onBack && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Button, {
2151
+ variant: "ghost",
2152
+ size: "sm",
2153
+ className: "wwc:gap-1.5",
2154
+ onClick: onBack,
2155
+ children: [/* @__PURE__ */ jsx(ArrowLeft, { className: "wwc:h-4 wwc:w-4" }), "Back"]
2156
+ }), /* @__PURE__ */ jsx("div", { className: "wwc:h-5 wwc:w-px wwc:shrink-0 wwc:bg-border" })] }),
2157
+ !authoring && /* @__PURE__ */ jsx(ProcessGlyphTile, { process }),
2158
+ /* @__PURE__ */ jsx("h1", {
2159
+ className: "wwc:truncate wwc:text-sm wwc:font-semibold",
2160
+ children: process.name
2161
+ }),
2162
+ !authoring && /* @__PURE__ */ jsx(ProductChip, {
2163
+ process,
2164
+ onOpenProduct: onNavigate ? (key) => onNavigate(lineageNav.product(key)) : void 0
2165
+ }),
2166
+ !authoring && /* @__PURE__ */ jsx(SlaModelBadge, { process }),
2167
+ !authoring && facts.lint.length > 0 && /* @__PURE__ */ jsx(HoverTooltip, {
2168
+ content: facts.lint.map((error) => `${error.rule}: ${error.msg}`).join(" "),
2169
+ children: /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsxs(Badge, {
2170
+ variant: "warningSoft",
2171
+ className: "wwc:gap-1 wwc:font-normal",
2172
+ children: [
2173
+ /* @__PURE__ */ jsx(TriangleAlert, { className: "wwc:h-3 wwc:w-3" }),
2174
+ facts.lint.length,
2175
+ " lint"
2176
+ ]
2177
+ }) })
2178
+ }),
2179
+ !authoring && /* @__PURE__ */ jsxs("span", {
2180
+ className: "wwc:hidden wwc:truncate wwc:text-[11px] wwc:text-muted-foreground wwc:lg:inline",
2181
+ children: [
2182
+ facts.stateCount,
2183
+ " states · ",
2184
+ facts.transitionCount,
2185
+ " transitions · ",
2186
+ facts.openCount,
2187
+ " open tokens"
2188
+ ]
2189
+ })
2190
+ ]
2191
+ }), /* @__PURE__ */ jsx("div", {
2192
+ className: "wwc:flex wwc:shrink-0 wwc:items-center wwc:gap-3",
2193
+ children: headerActions
2194
+ })]
2195
+ }),
2196
+ /* @__PURE__ */ jsxs(RecordDetailShell, {
2197
+ title: "Process",
2198
+ sections: railGroups,
2199
+ activeSectionId: section,
2200
+ onSectionChange: (id) => setSection(id),
2201
+ flush: true,
2202
+ children: [formSlot ? /* @__PURE__ */ jsx("div", {
2203
+ className: cn("wwc:min-h-0 wwc:min-w-0 wwc:flex-1 wwc:flex-col", section === "form" ? "wwc:flex" : "wwc:hidden"),
2204
+ children: formSlot
2205
+ }) : null, section === "canvas" ? /* @__PURE__ */ jsx("div", {
2206
+ className: "wwc:flex wwc:min-h-0 wwc:min-w-0 wwc:flex-1 wwc:flex-col",
2207
+ children: workflowStage
2208
+ }) : section === "general" ? /* @__PURE__ */ jsx(SectionWell, { children: /* @__PURE__ */ jsx(SettingsSection, {
2209
+ process,
2210
+ onChange,
2211
+ onNavigate,
2212
+ authoring,
2213
+ identityExtra: permitFields ? /* @__PURE__ */ jsx(PermitFields, {
2214
+ permit,
2215
+ onPermitChange: setPermit,
2216
+ typeOptions
2217
+ }) : void 0
2218
+ }) }) : section === "policy" ? /* @__PURE__ */ jsx(SectionWell, { children: /* @__PURE__ */ jsx(PermitPolicySection, {
2219
+ policy: permit.policy,
2220
+ onChange: (policy) => setPermit({
2221
+ ...permit,
2222
+ policy
2223
+ })
2224
+ }) }) : section === "form" ? formSlot ? null : /* @__PURE__ */ jsx(SectionWell, { children: /* @__PURE__ */ jsx(Empty, {
2225
+ title: "Form",
2226
+ description: "Nothing here yet. This is where the permit's request form goes — the fields an applicant fills in before the workflow has anything to move. Pass `formSlot` to fill it."
2227
+ }) }) : section === "instances" ? /* @__PURE__ */ jsx(SectionWell, { children: /* @__PURE__ */ jsx(InstancesSection, {
2228
+ process,
2229
+ selectedStateId: edit.stateSel,
2230
+ onSelectState: selectState,
2231
+ loading: instancesLoading
2232
+ }) }) : /* @__PURE__ */ jsx(SectionWell, { children: /* @__PURE__ */ jsx(ProcessBottlenecksSection, {
2233
+ process,
2234
+ instances,
2235
+ selectedStateId: edit.stateSel,
2236
+ onSelectState: selectState,
2237
+ onOpenInstances: (stateId) => {
2238
+ selectState(stateId);
2239
+ setSection("instances");
2240
+ }
2241
+ }) })]
2242
+ }),
2243
+ dialogs
2244
+ ]
2245
+ });
2246
+ return /* @__PURE__ */ jsx(StateMachineDataContext.Provider, {
2247
+ value: data,
2248
+ children: shellBody
2249
+ });
2250
+ }
2251
+ //#endregion
2252
+ export { AddStateForm, AddTransitionForm, InstancesSection, PERMIT_TYPE_COLOR, PROCESS_NODE_TYPES, PermitFields, ProcessFlowNode, ProcessRailCard, SettingsSection, StateInspector, StateMachine, TransitionInspector, WC3_PROCESS_EFFECTS, permitTypeColor, permitTypeOptions };
2253
+
2254
+ //# sourceMappingURL=state-machine.mjs.map