@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 @@
1
+ {"version":3,"file":"wc3-interface-detail.mjs","names":[],"sources":["../../src/pages/wc3-interface-detail.tsx"],"sourcesContent":["import type {ColumnDef} from \"@tanstack/react-table\";\n\nimport {cn} from \"@corensystem/coren-utils\";\nimport {ArrowLeft, Bolt, Circle, CircleCheck, Link2, Plus, Share2, Trash2, TriangleAlert} from \"lucide-react\";\nimport {useEffect, useMemo, useState} from \"react\";\n\nimport {Badge} from \"../badge\";\nimport {Button} from \"../button\";\nimport {Card, CardContent, CardHeader, CardTitle} from \"../card\";\nimport {ConfirmDialog} from \"../confirm-dialog\";\nimport {DataTable, DataTableColumnHeader} from \"../data-table\";\nimport {Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle} from \"../dialog\";\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuSeparator,\n\tDropdownMenuTrigger,\n} from \"../dropdown-menu\";\nimport {Empty} from \"../empty\";\nimport {Input} from \"../input\";\nimport {Label} from \"../label\";\nimport {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from \"../select\";\nimport {Switch} from \"../switch\";\nimport {Textarea} from \"../textarea\";\nimport {ToggleGroup, ToggleGroupItem} from \"../toggle-group\";\nimport {HoverTooltip} from \"../tooltip\";\nimport type {NewInterfaceDraft} from \"./wc3-interface-wizard\";\nimport {\n\tWC3_ACTION_TYPES,\n\tWC3_INTERFACES,\n\tWC3_LINK_TYPES,\n\tWC3_SHARED_PROPERTIES,\n\tWC3_STATUSES,\n\ttype Wc3ActionType,\n\ttype Wc3Interface,\n\ttype Wc3LinkType,\n\ttype Wc3ObjectType,\n\ttype Wc3SharedProperty,\n\ttype Wc3Status,\n} from \"./wc3-ontology-data\";\nimport {OntologyGlyph} from \"./wc3-ontology-glyphs\";\n\n// The interface drill-in, ported from the prototype's InterfaceDetail: metadata, properties,\n// constraints, implementors and a danger zone. Five short sections, so they stack — the same call\n// LinkTypeDetailPage makes; only the object type has enough rows to earn a left SideMenu.\n//\n// Every read walks the `interfaces` / `objectTypes` arrays the host passes, never the frozen fixture\n// helpers (getInterface, interfaceAllProperties, interfaceImplementors), because an interface created\n// in this session or an object type that just gained an `implements` entry exists only in host state.\n\ntype IfProperty = Wc3Interface[\"properties\"][number];\ntype IfConstraint = Wc3Interface[\"linkConstraints\"][number];\n\nconst SEGMENT_ON =\n\t\"wwc:data-[state=on]:border-primary wwc:data-[state=on]:bg-primary/10 wwc:data-[state=on]:text-primary\";\n\n// Re-declared rather than imported: wc3-ontology-views.tsx imports this file, so exporting these from\n// there would be an import cycle. Same precedent as wc3-object-type-detail.tsx.\nconst STATUS_VARIANT: Record<Wc3Status, \"successSoft\" | \"warningSoft\" | \"dangerSoft\" | \"infoSoft\"> = {\n\tActive: \"successSoft\",\n\tEndorsed: \"infoSoft\",\n\tExperimental: \"warningSoft\",\n\tDeprecated: \"dangerSoft\",\n};\n\nfunction StatusPill({status}: {status: Wc3Status}) {\n\treturn <Badge variant={STATUS_VARIANT[status]}>{status}</Badge>;\n}\n\nfunction Mono({children}: {children: React.ReactNode}) {\n\treturn <span className=\"wwc:font-mono wwc:text-xs wwc:text-muted-foreground\">{children}</span>;\n}\n\n/** The prototype's RID chip — a truncated resource identifier with the full value on hover. */\nfunction RidChip({rid}: {rid: string}) {\n\tconst short = rid.split(\".\").slice(-1)[0];\n\treturn (\n\t\t<HoverTooltip content={rid}>\n\t\t\t<span className=\"wwc:cursor-default wwc:font-mono wwc:text-[11px] wwc:text-muted-foreground\">{short}</span>\n\t\t</HoverTooltip>\n\t);\n}\n\n/**\n * wc3-ontology-data.ts declares `actionConstraints: unknown[]`, although every fixture row carries the\n * same shape as a link constraint. Narrow at the edge instead of casting at the call site; when that\n * declaration is tightened this keeps working unchanged.\n */\nfunction isConstraint(v: unknown): v is IfConstraint {\n\tif (typeof v !== \"object\" || v === null) return false;\n\tconst c = v as Partial<IfConstraint>;\n\treturn typeof c.id === \"string\" && typeof c.targetId === \"string\" && typeof c.description === \"string\";\n}\n\nconst readConstraints = (list: readonly unknown[]): IfConstraint[] => list.filter(isConstraint);\n\nconst findInterface = (interfaces: Wc3Interface[], id: string) => interfaces.find((i) => i.id === id);\n\n/**\n * True when `fromId` already reaches `targetId` through its extends chain — the cycle guard behind the\n * Extends toggle. Adding X to Y is refused when X already extends Y, directly or transitively.\n */\nexport function interfaceExtendsReaches(fromId: string, targetId: string, interfaces: Wc3Interface[]): boolean {\n\tconst seen = new Set<string>();\n\tconst walk = (id: string): boolean => {\n\t\tif (seen.has(id)) return false;\n\t\tseen.add(id);\n\t\tconst it = findInterface(interfaces, id);\n\t\tif (!it) return false;\n\t\treturn it.extends.some((parent) => parent === targetId || walk(parent));\n\t};\n\treturn walk(fromId);\n}\n\ntype PropertyRow = {property: IfProperty; ownerId: string; inherited: boolean};\n\n/** Every property the interface promises: inherited ones first, then its own, deduped by API name. */\nfunction collectProperties(iface: Wc3Interface, interfaces: Wc3Interface[]): PropertyRow[] {\n\tconst seen = new Set<string>();\n\tconst out: PropertyRow[] = [];\n\tconst walk = (it: Wc3Interface | undefined, guard: Set<string>) => {\n\t\tif (!it || guard.has(it.id)) return;\n\t\tguard.add(it.id);\n\t\tit.extends.forEach((id) => walk(findInterface(interfaces, id), guard));\n\t\tit.properties.forEach((p) => {\n\t\t\tif (seen.has(p.apiName)) return;\n\t\t\tseen.add(p.apiName);\n\t\t\tout.push({property: p, ownerId: it.id, inherited: it.id !== iface.id});\n\t\t});\n\t};\n\twalk(iface, new Set());\n\treturn out;\n}\n\n/** Interface ids an object type satisfies through one `implements` entry, following extends. */\nfunction satisfiedBy(entryInterfaceId: string, interfaces: Wc3Interface[]): string[] {\n\tconst chain = (id: string, guard: Set<string>): string[] => {\n\t\tif (guard.has(id)) return [];\n\t\tguard.add(id);\n\t\tconst it = findInterface(interfaces, id);\n\t\treturn it ? [id, ...it.extends.flatMap((p) => chain(p, guard))] : [id];\n\t};\n\treturn chain(entryInterfaceId, new Set());\n}\n\n/** Object types implementing this interface, directly or through one that extends it. */\nfunction implementorsOf(ifaceId: string, objectTypes: Wc3ObjectType[], interfaces: Wc3Interface[]) {\n\treturn objectTypes.filter((o) =>\n\t\to.implements.some((im) => satisfiedBy(im.interfaceId, interfaces).includes(ifaceId)),\n\t);\n}\n\n/** The `implements` entry an object type satisfies this interface through. */\nfunction implementEntry(o: Wc3ObjectType, ifaceId: string, interfaces: Wc3Interface[]) {\n\treturn o.implements.find((im) => satisfiedBy(im.interfaceId, interfaces).includes(ifaceId));\n}\n\n/**\n * The prototype's auto-mapping pass: a shared property is the strongest signal, so it matches first;\n * failing that an identical API name AND base type is taken as the same field.\n */\nexport function autoMapInterfaceProperties(\n\tiface: Wc3Interface,\n\tobjectType: Wc3ObjectType,\n\tinterfaces: Wc3Interface[] = WC3_INTERFACES,\n): Record<string, string> {\n\tconst map: Record<string, string> = {};\n\tcollectProperties(iface, interfaces).forEach(({property}) => {\n\t\tconst bySharedProperty = property.sharedPropertyId\n\t\t\t? objectType.properties.find((p) => p.sharedPropertyId === property.sharedPropertyId)\n\t\t\t: undefined;\n\t\tconst byName = objectType.properties.find(\n\t\t\t(p) => p.apiName === property.apiName && p.baseType === property.baseType,\n\t\t);\n\t\tconst hit = bySharedProperty ?? byName;\n\t\tif (hit) map[property.id] = hit.id;\n\t});\n\treturn map;\n}\n\n// ─── Implement dialog ────────────────────────────────────────────────────────\n\n/** Sentinel: Radix Select rejects an empty option value, and \"no mapping\" needs to be selectable. */\nconst UNMAPPED = \"__unmapped__\";\n\nexport interface ImplementInterfaceDialogProps {\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tiface: Wc3Interface;\n\tobjectType: Wc3ObjectType;\n\t/** Needed to resolve inherited interface properties. */\n\tinterfaces?: Wc3Interface[];\n\tlinkTypes?: Wc3LinkType[];\n\tactionTypes?: Wc3ActionType[];\n\t/** Interface property id -> object type property id. */\n\tonImplement: (propertyMap: Record<string, string>) => void;\n}\n\n/**\n * Map an object type onto an interface's contract. Exported because the object-type detail carries the\n * same “Implement interface” menu and must open this exact dialog rather than a second copy of it.\n */\nexport function ImplementInterfaceDialog({\n\topen,\n\tonOpenChange,\n\tiface,\n\tobjectType,\n\tinterfaces = WC3_INTERFACES,\n\tlinkTypes = WC3_LINK_TYPES,\n\tactionTypes = WC3_ACTION_TYPES,\n\tonImplement,\n}: ImplementInterfaceDialogProps) {\n\tconst rows = useMemo(() => collectProperties(iface, interfaces), [iface, interfaces]);\n\tconst auto = useMemo(\n\t\t() => autoMapInterfaceProperties(iface, objectType, interfaces),\n\t\t[iface, objectType, interfaces],\n\t);\n\tconst [map, setMap] = useState<Record<string, string>>(auto);\n\tconst [error, setError] = useState<string | null>(null);\n\n\t// Re-open on a different pair (or after the auto-pass changes) starts from the auto-mapping again.\n\tuseEffect(() => {\n\t\tif (open) {\n\t\t\tsetMap(auto);\n\t\t\tsetError(null);\n\t\t}\n\t}, [open, auto]);\n\n\tconst linkConstraints = iface.linkConstraints;\n\tconst actionConstraints = readConstraints(iface.actionConstraints);\n\n\tconst linkSatisfied = (c: IfConstraint) =>\n\t\tlinkTypes.some(\n\t\t\t(l) =>\n\t\t\t\t(l.sideA.objectTypeId === objectType.id && l.sideB.objectTypeId === c.targetId) ||\n\t\t\t\t(l.sideB.objectTypeId === objectType.id && l.sideA.objectTypeId === c.targetId),\n\t\t);\n\n\tconst actionSatisfied = (c: IfConstraint) => {\n\t\tconst at = actionTypes.find((a) => a.id === c.targetId);\n\t\treturn Boolean(at && Array.isArray(at.rules) && at.rules.some((r) => r.objectTypeId === objectType.id));\n\t};\n\n\tconst autoCount = Object.keys(auto).length;\n\n\tconst submit = () => {\n\t\tconst unmappedRequired = rows\n\t\t\t.filter((r) => r.property.required && !map[r.property.id])\n\t\t\t.map((r) => r.property.apiName);\n\t\tconst unmetLinks = linkConstraints.filter((c) => c.required && !linkSatisfied(c)).map((c) => c.description);\n\t\tif (unmappedRequired.length > 0 || unmetLinks.length > 0) {\n\t\t\tsetError(\n\t\t\t\t[\n\t\t\t\t\tunmappedRequired.length > 0 ? `Unmapped required properties: ${unmappedRequired.join(\", \")}.` : null,\n\t\t\t\t\tunmetLinks.length > 0 ? `Unsatisfied required link constraints: ${unmetLinks.join(\"; \")}.` : null,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \"),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tonImplement(map);\n\t\tonOpenChange(false);\n\t};\n\n\treturn (\n\t\t<Dialog open={open} onOpenChange={onOpenChange}>\n\t\t\t<DialogContent className=\"wwc:flex wwc:max-h-[92vh] wwc:w-[calc(100vw-2rem)] wwc:max-w-3xl wwc:flex-col wwc:gap-0 wwc:overflow-hidden wwc:p-0\">\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>\n\t\t\t\t\t\t<OntologyGlyph name={objectType.icon} color={objectType.color} className=\"wwc:h-4 wwc:w-4\" />\n\t\t\t\t\t\t{objectType.displayName} implements {iface.displayName}\n\t\t\t\t\t</DialogTitle>\n\t\t\t\t\t<p className=\"wwc:text-sm wwc:text-muted-foreground\">\n\t\t\t\t\t\tShared-property matches were auto-mapped ({autoCount}/{rows.length}).\n\t\t\t\t\t</p>\n\t\t\t\t</DialogHeader>\n\n\t\t\t\t<div className=\"wwc:min-h-0 wwc:flex-1 wwc:space-y-4 wwc:overflow-y-auto wwc:px-6 wwc:py-5\">\n\t\t\t\t\t{rows.length === 0 && (\n\t\t\t\t\t\t<p className=\"wwc:text-sm wwc:text-muted-foreground\">\n\t\t\t\t\t\t\tThis interface promises no properties — implementing it is a pure contract statement.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{rows.map(({property}) => {\n\t\t\t\t\t\tconst value = map[property.id] ?? UNMAPPED;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div key={property.id} className=\"wwc:grid wwc:gap-2 wwc:sm:grid-cols-2 wwc:sm:items-center\">\n\t\t\t\t\t\t\t\t<div className=\"wwc:min-w-0 wwc:space-y-1\">\n\t\t\t\t\t\t\t\t\t<div className=\"wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-1.5\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"wwc:text-sm wwc:font-medium\">{property.name}</span>\n\t\t\t\t\t\t\t\t\t\t<Badge variant={property.required ? \"neutralSoft\" : \"secondary\"} className=\"wwc:font-normal\">\n\t\t\t\t\t\t\t\t\t\t\t{property.required ? \"required\" : \"optional\"}\n\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t{property.sharedPropertyId && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"infoSoft\" className=\"wwc:gap-1 wwc:font-normal\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Share2 className=\"wwc:h-3 wwc:w-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\tshared\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<Mono>\n\t\t\t\t\t\t\t\t\t\t{property.apiName} · {property.baseType}\n\t\t\t\t\t\t\t\t\t</Mono>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\tonValueChange={(v) =>\n\t\t\t\t\t\t\t\t\t\tsetMap((prev) => {\n\t\t\t\t\t\t\t\t\t\t\tconst next = {...prev};\n\t\t\t\t\t\t\t\t\t\t\tif (v === UNMAPPED) delete next[property.id];\n\t\t\t\t\t\t\t\t\t\t\telse next[property.id] = v;\n\t\t\t\t\t\t\t\t\t\t\treturn next;\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<SelectTrigger aria-label={`Map ${property.apiName}`}>\n\t\t\t\t\t\t\t\t\t\t<SelectValue />\n\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t\t<SelectItem value={UNMAPPED}>\n\t\t\t\t\t\t\t\t\t\t\t{property.required ? \"— unmapped —\" : \"— skip (optional) —\"}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t{objectType.properties.map((p) => (\n\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={p.id} value={p.id}>\n\t\t\t\t\t\t\t\t\t\t\t\t{p.apiName} ({p.baseType}){p.baseType === property.baseType ? \"\" : \" · type mismatch\"}\n\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\n\t\t\t\t\t{(linkConstraints.length > 0 || actionConstraints.length > 0) && (\n\t\t\t\t\t\t<div className=\"wwc:space-y-2 wwc:border-t wwc:border-border wwc:pt-4\">\n\t\t\t\t\t\t\t{linkConstraints.map((c) => (\n\t\t\t\t\t\t\t\t<ConstraintBanner key={c.id} constraint={c} satisfied={linkSatisfied(c)} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{actionConstraints.map((c) => (\n\t\t\t\t\t\t\t\t<ConstraintBanner key={c.id} constraint={c} satisfied={actionSatisfied(c)} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<span className=\"wwc:text-sm\">\n\t\t\t\t\t\t{error ? (\n\t\t\t\t\t\t\t<span className=\"wwc:text-destructive\">{error}</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"wwc:text-muted-foreground\">Required properties must be mapped.</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"wwc:flex wwc:shrink-0 wwc:items-center wwc:gap-2\">\n\t\t\t\t\t\t<Button variant=\"outline\" onClick={() => onOpenChange(false)}>\n\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button onClick={submit}>Implement</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n}\n\nfunction ConstraintBanner({constraint, satisfied}: {constraint: IfConstraint; satisfied: boolean}) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"wwc:flex wwc:items-start wwc:gap-2 wwc:rounded-lg wwc:border wwc:p-2.5 wwc:text-sm\",\n\t\t\t\tsatisfied\n\t\t\t\t\t? \"wwc:border-emerald-600/30 wwc:bg-emerald-500/5\"\n\t\t\t\t\t: constraint.required\n\t\t\t\t\t\t? \"wwc:border-red-600/30 wwc:bg-red-500/5\"\n\t\t\t\t\t\t: \"wwc:border-amber-600/30 wwc:bg-amber-500/5\",\n\t\t\t)}\n\t\t>\n\t\t\t{satisfied ? (\n\t\t\t\t<CircleCheck className=\"wwc:mt-0.5 wwc:h-4 wwc:w-4 wwc:shrink-0 wwc:text-emerald-600\" />\n\t\t\t) : constraint.required ? (\n\t\t\t\t<TriangleAlert className=\"wwc:mt-0.5 wwc:h-4 wwc:w-4 wwc:shrink-0 wwc:text-red-600\" />\n\t\t\t) : (\n\t\t\t\t<Circle className=\"wwc:mt-0.5 wwc:h-4 wwc:w-4 wwc:shrink-0 wwc:text-amber-600\" />\n\t\t\t)}\n\t\t\t<span>\n\t\t\t\t{constraint.description} —{\" \"}\n\t\t\t\t<b>{satisfied ? \"satisfied\" : constraint.required ? \"unsatisfied (required)\" : \"unsatisfied (recommended)\"}</b>\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\n// ─── Sections ────────────────────────────────────────────────────────────────\n\nfunction MetadataCard({\n\tiface,\n\tinterfaces,\n\tonChange,\n}: {\n\tiface: Wc3Interface;\n\tinterfaces: Wc3Interface[];\n\tonChange: (next: Wc3Interface) => void;\n}) {\n\t// An invalid API name is shown but never committed, so the field needs its own draft value.\n\tconst [apiDraft, setApiDraft] = useState<string | null>(null);\n\tconst [apiError, setApiError] = useState<string | null>(null);\n\tconst [extendsError, setExtendsError] = useState<string | null>(null);\n\n\tconst taken = interfaces.filter((i) => i.id !== iface.id).map((i) => i.apiName);\n\tconst others = interfaces.filter((i) => i.id !== iface.id);\n\n\tconst toggleExtends = (next: string[]) => {\n\t\tconst added = next.find((id) => !iface.extends.includes(id));\n\t\tif (added) {\n\t\t\tconst other = findInterface(interfaces, added);\n\t\t\t// Adding an interface that already reaches this one would close the inheritance loop.\n\t\t\tif (other && interfaceExtendsReaches(added, iface.id, interfaces)) {\n\t\t\t\tsetExtendsError(`“${other.displayName}” already extends “${iface.displayName}” — that would be a cycle.`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tsetExtendsError(null);\n\t\tonChange({...iface, extends: next});\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<CardTitle className=\"wwc:text-sm\">Metadata</CardTitle>\n\t\t\t</CardHeader>\n\t\t\t<CardContent className=\"wwc:space-y-4\">\n\t\t\t\t<div className=\"wwc:grid wwc:gap-4 wwc:sm:grid-cols-2\">\n\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t<Label htmlFor=\"if-dn\">Display name</Label>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tid=\"if-dn\"\n\t\t\t\t\t\t\tvalue={iface.displayName}\n\t\t\t\t\t\t\tonChange={(e) => onChange({...iface, displayName: e.target.value})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t<Label htmlFor=\"if-api\">API name</Label>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tid=\"if-api\"\n\t\t\t\t\t\t\tclassName=\"wwc:font-mono\"\n\t\t\t\t\t\t\tvalue={apiDraft ?? iface.apiName}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst raw = e.target.value;\n\t\t\t\t\t\t\t\tconst v = raw.trim();\n\t\t\t\t\t\t\t\t// Same two guards as the prototype — and an invalid value is not saved.\n\t\t\t\t\t\t\t\tif (!v) {\n\t\t\t\t\t\t\t\t\tsetApiDraft(raw);\n\t\t\t\t\t\t\t\t\tsetApiError(\"API name cannot be empty.\");\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (taken.includes(v)) {\n\t\t\t\t\t\t\t\t\tsetApiDraft(raw);\n\t\t\t\t\t\t\t\t\tsetApiError(`API name “${v}” is already used by another interface.`);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetApiDraft(null);\n\t\t\t\t\t\t\t\tsetApiError(null);\n\t\t\t\t\t\t\t\tonChange({...iface, apiName: raw});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{apiError && <p className=\"wwc:text-xs wwc:text-destructive\">{apiError}</p>}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t<Label>Status</Label>\n\t\t\t\t\t\t<Select value={iface.status} onValueChange={(v) => onChange({...iface, status: v as Wc3Status})}>\n\t\t\t\t\t\t\t<SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectValue />\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t{WC3_STATUSES.map((s) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={s} value={s}>\n\t\t\t\t\t\t\t\t\t\t{s}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t<Label>RID</Label>\n\t\t\t\t\t\t<p className=\"wwc:pt-1.5 wwc:font-mono wwc:text-xs wwc:text-muted-foreground\">{iface.rid}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"wwc:space-y-2\">\n\t\t\t\t\t<Label>Extends</Label>\n\t\t\t\t\t{others.length === 0 ? (\n\t\t\t\t\t\t<p className=\"wwc:text-sm wwc:text-muted-foreground\">No other interface to extend yet.</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ToggleGroup\n\t\t\t\t\t\t\ttype=\"multiple\"\n\t\t\t\t\t\t\tvalue={iface.extends}\n\t\t\t\t\t\t\tonValueChange={toggleExtends}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"wwc:flex-wrap wwc:justify-start wwc:gap-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{others.map((i) => (\n\t\t\t\t\t\t\t\t<ToggleGroupItem key={i.id} value={i.id} className={SEGMENT_ON}>\n\t\t\t\t\t\t\t\t\t<OntologyGlyph name={i.icon} className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t\t\t\t\t{i.displayName}\n\t\t\t\t\t\t\t\t</ToggleGroupItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ToggleGroup>\n\t\t\t\t\t)}\n\t\t\t\t\t{extendsError ? (\n\t\t\t\t\t\t<p className=\"wwc:text-xs wwc:text-destructive\">{extendsError}</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<p className=\"wwc:text-xs wwc:text-muted-foreground\">\n\t\t\t\t\t\t\tTransitive properties are inherited automatically. Cycles are rejected.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t<Label htmlFor=\"if-desc\">Description</Label>\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid=\"if-desc\"\n\t\t\t\t\t\tvalue={iface.description}\n\t\t\t\t\t\tonChange={(e) => onChange({...iface, description: e.target.value})}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</CardContent>\n\t\t</Card>\n\t);\n}\n\nlet createdProperties = 0;\n\nfunction PropertiesCard({\n\tiface,\n\tinterfaces,\n\tsharedProperties,\n\tonChange,\n}: {\n\tiface: Wc3Interface;\n\tinterfaces: Wc3Interface[];\n\tsharedProperties: Wc3SharedProperty[];\n\tonChange: (next: Wc3Interface) => void;\n}) {\n\tconst rows = useMemo(() => collectProperties(iface, interfaces), [iface, interfaces]);\n\tconst inherited = rows.filter((r) => r.inherited).length;\n\tconst pulledIn = new Set(rows.map((r) => r.property.sharedPropertyId).filter(Boolean));\n\tconst addableShared = sharedProperties.filter((sp) => !pulledIn.has(sp.id));\n\n\tconst columns: ColumnDef<PropertyRow, unknown>[] = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: \"name\",\n\t\t\t\taccessorFn: (r) => r.property.name,\n\t\t\t\theader: ({column}) => <DataTableColumnHeader column={column} title=\"Property\" />,\n\t\t\t\tcell: ({row}) => <span className=\"wwc:font-medium\">{row.original.property.name}</span>,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"apiName\",\n\t\t\t\taccessorFn: (r) => r.property.apiName,\n\t\t\t\theader: ({column}) => <DataTableColumnHeader column={column} title=\"API name\" />,\n\t\t\t\tcell: ({row}) => <Mono>{row.original.property.apiName}</Mono>,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"baseType\",\n\t\t\t\taccessorFn: (r) => r.property.baseType,\n\t\t\t\theader: ({column}) => <DataTableColumnHeader column={column} title=\"Base type\" />,\n\t\t\t\tcell: ({row}) => <span className=\"wwc:font-mono wwc:text-xs\">{row.original.property.baseType}</span>,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"required\",\n\t\t\t\theader: \"Required\",\n\t\t\t\tcell: ({row}) => {\n\t\t\t\t\tconst {property, inherited: isInherited} = row.original;\n\t\t\t\t\t// Only the interface's OWN contract is editable here; inherited rows are read-only.\n\t\t\t\t\tif (isInherited)\n\t\t\t\t\t\treturn <span className=\"wwc:text-muted-foreground\">{property.required ? \"required\" : \"optional\"}</span>;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\tchecked={property.required}\n\t\t\t\t\t\t\taria-label={`${property.apiName} required`}\n\t\t\t\t\t\t\tonCheckedChange={(checked) =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...iface,\n\t\t\t\t\t\t\t\t\tproperties: iface.properties.map((p) => (p.id === property.id ? {...p, required: checked} : p)),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"source\",\n\t\t\t\theader: \"Source\",\n\t\t\t\tcell: ({row}) => {\n\t\t\t\t\tconst {property, ownerId, inherited: isInherited} = row.original;\n\t\t\t\t\tconst owner = findInterface(interfaces, ownerId);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<span className=\"wwc:flex wwc:items-center wwc:gap-1.5\">\n\t\t\t\t\t\t\t{property.sharedPropertyId ? (\n\t\t\t\t\t\t\t\t<Badge variant=\"infoSoft\" className=\"wwc:gap-1 wwc:font-normal\">\n\t\t\t\t\t\t\t\t\t<Share2 className=\"wwc:h-3 wwc:w-3\" />\n\t\t\t\t\t\t\t\t\tshared\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"wwc:text-muted-foreground\">local</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isInherited && (\n\t\t\t\t\t\t\t\t<span className=\"wwc:text-xs wwc:text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t(inherited{owner ? ` from ${owner.displayName}` : \"\"})\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"actions\",\n\t\t\t\theader: \"\",\n\t\t\t\tcell: ({row}) =>\n\t\t\t\t\trow.original.inherited ? null : (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\ttooltip=\"Remove property\"\n\t\t\t\t\t\t\taria-label={`Remove ${row.original.property.apiName}`}\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...iface,\n\t\t\t\t\t\t\t\t\tproperties: iface.properties.filter((p) => p.id !== row.original.property.id),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Trash2 className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t),\n\t\t\t},\n\t\t],\n\t\t[iface, interfaces, onChange],\n\t);\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader className=\"wwc:flex-row wwc:items-center wwc:justify-between wwc:space-y-0\">\n\t\t\t\t<CardTitle className=\"wwc:text-sm\">\n\t\t\t\t\tProperties ({rows.length} incl. {inherited} inherited)\n\t\t\t\t</CardTitle>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t\t<Button size=\"sm\">\n\t\t\t\t\t\t\t<Plus className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t\t\tAdd property\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent align=\"end\" className=\"wwc:max-h-80 wwc:overflow-auto\">\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tonSelect={() =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...iface,\n\t\t\t\t\t\t\t\t\tproperties: [\n\t\t\t\t\t\t\t\t\t\t...iface.properties,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: `ifp_${iface.id}_${++createdProperties}`,\n\t\t\t\t\t\t\t\t\t\t\tapiName: \"new_property\",\n\t\t\t\t\t\t\t\t\t\t\tname: \"New property\",\n\t\t\t\t\t\t\t\t\t\t\tbaseType: \"string\",\n\t\t\t\t\t\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\t\t\t\t\t\tsharedPropertyId: null,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tLocal interface property\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t{addableShared.length > 0 && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t\t\t\t\t<DropdownMenuLabel>From shared property</DropdownMenuLabel>\n\t\t\t\t\t\t\t\t{addableShared.map((sp) => (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={sp.id}\n\t\t\t\t\t\t\t\t\t\tonSelect={() =>\n\t\t\t\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t\t\t\t...iface,\n\t\t\t\t\t\t\t\t\t\t\t\tproperties: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...iface.properties,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: `ifp_${iface.id}_${++createdProperties}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiName: sp.apiName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: sp.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbaseType: sp.baseType,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsharedPropertyId: sp.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{sp.displayName} <span className=\"wwc:font-mono wwc:text-xs\">({sp.baseType})</span>\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t<DataTable\n\t\t\t\t\tcolumns={columns}\n\t\t\t\t\tdata={rows}\n\t\t\t\t\tsearchKey=\"name\"\n\t\t\t\t\tsearchPlaceholder=\"Filter properties…\"\n\t\t\t\t\trecordLabel=\"property\"\n\t\t\t\t\trecordLabelPlural=\"properties\"\n\t\t\t\t\tpageSize={25}\n\t\t\t\t\temptyMessage=\"No properties — add local ones or pull in shared properties.\"\n\t\t\t\t\tgetRowId={(r) => `${r.ownerId}:${r.property.id}`}\n\t\t\t\t/>\n\t\t\t</CardContent>\n\t\t</Card>\n\t);\n}\n\nlet createdConstraints = 0;\n\nfunction ConstraintsCard({\n\tiface,\n\tobjectTypes,\n\tactionTypes,\n\tonChange,\n}: {\n\tiface: Wc3Interface;\n\tobjectTypes: Wc3ObjectType[];\n\tactionTypes: Wc3ActionType[];\n\tonChange: (next: Wc3Interface) => void;\n}) {\n\tconst actionConstraints = readConstraints(iface.actionConstraints);\n\tconst total = iface.linkConstraints.length + actionConstraints.length;\n\n\tconst addLink = (ot: Wc3ObjectType) =>\n\t\tonChange({\n\t\t\t...iface,\n\t\t\tlinkConstraints: [\n\t\t\t\t...iface.linkConstraints,\n\t\t\t\t{\n\t\t\t\t\tid: `ifc_${iface.id}_${++createdConstraints}`,\n\t\t\t\t\ttargetKind: \"objectType\",\n\t\t\t\t\ttargetId: ot.id,\n\t\t\t\t\tdescription: `Should link to a ${ot.displayName}`,\n\t\t\t\t\trequired: false,\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\n\tconst addAction = (at: Wc3ActionType) =>\n\t\tonChange({\n\t\t\t...iface,\n\t\t\tactionConstraints: [\n\t\t\t\t...actionConstraints,\n\t\t\t\t{\n\t\t\t\t\tid: `ifa_${iface.id}_${++createdConstraints}`,\n\t\t\t\t\ttargetKind: \"actionType\",\n\t\t\t\t\ttargetId: at.id,\n\t\t\t\t\tdescription: `Implementors should be covered by “${at.displayName}”`,\n\t\t\t\t\trequired: false,\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\n\tconst remove = (kind: \"link\" | \"action\", id: string) =>\n\t\tonChange(\n\t\t\tkind === \"link\"\n\t\t\t\t? {...iface, linkConstraints: iface.linkConstraints.filter((c) => c.id !== id)}\n\t\t\t\t: {...iface, actionConstraints: actionConstraints.filter((c) => c.id !== id)},\n\t\t);\n\n\tconst rules: {kind: \"link\" | \"action\"; constraint: IfConstraint}[] = [\n\t\t...iface.linkConstraints.map((c) => ({kind: \"link\" as const, constraint: c})),\n\t\t...actionConstraints.map((c) => ({kind: \"action\" as const, constraint: c})),\n\t];\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader className=\"wwc:flex-row wwc:items-center wwc:justify-between wwc:space-y-0\">\n\t\t\t\t<CardTitle className=\"wwc:text-sm\">Constraints ({total})</CardTitle>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t\t<Button size=\"sm\">\n\t\t\t\t\t\t\t<Plus className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t\t\tAdd constraint\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent align=\"end\" className=\"wwc:max-h-80 wwc:overflow-auto\">\n\t\t\t\t\t\t<DropdownMenuLabel>Link constraint — implementors must/should link to…</DropdownMenuLabel>\n\t\t\t\t\t\t{/* The prototype offers the first ten types; the menu is a shortcut, not a picker. */}\n\t\t\t\t\t\t{objectTypes.slice(0, 10).map((ot) => (\n\t\t\t\t\t\t\t<DropdownMenuItem key={ot.id} onSelect={() => addLink(ot)}>\n\t\t\t\t\t\t\t\t<OntologyGlyph name={ot.icon} color={ot.color} />\n\t\t\t\t\t\t\t\t{ot.displayName}\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t\t\t<DropdownMenuLabel>Action constraint — implementors covered by…</DropdownMenuLabel>\n\t\t\t\t\t\t{actionTypes.map((at) => (\n\t\t\t\t\t\t\t<DropdownMenuItem key={at.id} onSelect={() => addAction(at)}>\n\t\t\t\t\t\t\t\t<Bolt className=\"wwc:h-3.5 wwc:w-3.5 wwc:text-amber-600\" />\n\t\t\t\t\t\t\t\t{at.displayName}\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</CardHeader>\n\t\t\t<CardContent className=\"wwc:space-y-2\">\n\t\t\t\t{rules.length === 0 ? (\n\t\t\t\t\t<p className=\"wwc:text-sm wwc:text-muted-foreground\">\n\t\t\t\t\t\tNo constraints. Link constraints demand relationships; action constraints demand coverage by actions.\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\trules.map(({kind, constraint}) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={constraint.id}\n\t\t\t\t\t\t\tclassName=\"wwc:flex wwc:flex-wrap wwc:items-center wwc:gap-2 wwc:rounded-md wwc:border wwc:border-border wwc:p-3\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Badge variant=\"neutralSoft\" className=\"wwc:gap-1 wwc:font-normal\">\n\t\t\t\t\t\t\t\t{kind === \"link\" ? <Link2 className=\"wwc:h-3 wwc:w-3\" /> : <Bolt className=\"wwc:h-3 wwc:w-3\" />}\n\t\t\t\t\t\t\t\t{kind}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t<span className=\"wwc:text-sm\">{constraint.description}</span>\n\t\t\t\t\t\t\t<Badge variant={constraint.required ? \"warningSoft\" : \"secondary\"} className=\"wwc:font-normal\">\n\t\t\t\t\t\t\t\t{constraint.required ? \"required\" : \"recommended\"}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t\tclassName=\"wwc:ml-auto\"\n\t\t\t\t\t\t\t\ttooltip=\"Remove constraint\"\n\t\t\t\t\t\t\t\taria-label={`Remove ${constraint.description}`}\n\t\t\t\t\t\t\t\tonClick={() => remove(kind, constraint.id)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Trash2 className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t</CardContent>\n\t\t</Card>\n\t);\n}\n\nfunction ImplementorsCard({\n\tiface,\n\tinterfaces,\n\tobjectTypes,\n\tonOpenObjectType,\n\tonPickImplementor,\n}: {\n\tiface: Wc3Interface;\n\tinterfaces: Wc3Interface[];\n\tobjectTypes: Wc3ObjectType[];\n\tonOpenObjectType: (objectTypeId: string) => void;\n\tonPickImplementor: (objectTypeId: string) => void;\n}) {\n\tconst rows = useMemo(() => implementorsOf(iface.id, objectTypes, interfaces), [iface.id, objectTypes, interfaces]);\n\tconst candidates = objectTypes.filter((o) => !o.implements.some((im) => im.interfaceId === iface.id));\n\n\tconst columns: ColumnDef<Wc3ObjectType, unknown>[] = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\taccessorKey: \"displayName\",\n\t\t\t\theader: ({column}) => <DataTableColumnHeader column={column} title=\"Object type\" />,\n\t\t\t\tcell: ({row}) => (\n\t\t\t\t\t<span className=\"wwc:flex wwc:items-center wwc:gap-2 wwc:whitespace-nowrap wwc:font-medium\">\n\t\t\t\t\t\t<OntologyGlyph name={row.original.icon} color={row.original.color} />\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => onOpenObjectType(row.original.id)}\n\t\t\t\t\t\t\tclassName=\"wwc:text-left wwc:underline wwc:underline-offset-2 wwc:transition-colors wwc:hover:text-primary\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{row.original.displayName}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</span>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\taccessorKey: \"status\",\n\t\t\t\theader: ({column}) => <DataTableColumnHeader column={column} title=\"Status\" />,\n\t\t\t\tcell: ({row}) => <StatusPill status={row.original.status} />,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"mapped\",\n\t\t\t\theader: \"Mapped properties\",\n\t\t\t\tcell: ({row}) => {\n\t\t\t\t\tconst entry = implementEntry(row.original, iface.id, interfaces);\n\t\t\t\t\tconst pairs = Object.entries(entry?.propertyMap ?? {});\n\t\t\t\t\tif (pairs.length === 0) return <span className=\"wwc:text-muted-foreground\">—</span>;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<span className=\"wwc:flex wwc:flex-wrap wwc:gap-1\">\n\t\t\t\t\t\t\t{pairs.map(([ifacePropId, objectPropId]) => {\n\t\t\t\t\t\t\t\tconst ifaceProp = interfaces.flatMap((i) => i.properties).find((p) => p.id === ifacePropId);\n\t\t\t\t\t\t\t\tconst objectProp = row.original.properties.find((p) => p.id === objectPropId);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Badge key={ifacePropId} variant=\"neutralSoft\" className=\"wwc:font-mono wwc:font-normal\">\n\t\t\t\t\t\t\t\t\t\t{ifaceProp?.apiName ?? ifacePropId} → {objectProp?.apiName ?? objectPropId}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"open\",\n\t\t\t\theader: \"\",\n\t\t\t\tcell: ({row}) => (\n\t\t\t\t\t<Button variant=\"outline\" size=\"sm\" onClick={() => onOpenObjectType(row.original.id)}>\n\t\t\t\t\t\tOpen →\n\t\t\t\t\t</Button>\n\t\t\t\t),\n\t\t\t},\n\t\t],\n\t\t[iface.id, interfaces, onOpenObjectType],\n\t);\n\n\tconst implementMenu = (label: string) => (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t<Button size=\"sm\">\n\t\t\t\t\t<Plus className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t{label}\n\t\t\t\t</Button>\n\t\t\t</DropdownMenuTrigger>\n\t\t\t<DropdownMenuContent align=\"end\" className=\"wwc:max-h-80 wwc:overflow-auto\">\n\t\t\t\t{candidates.map((o) => (\n\t\t\t\t\t<DropdownMenuItem key={o.id} onSelect={() => onPickImplementor(o.id)}>\n\t\t\t\t\t\t<OntologyGlyph name={o.icon} color={o.color} />\n\t\t\t\t\t\t{o.displayName}\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t))}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader className=\"wwc:flex-row wwc:items-center wwc:justify-between wwc:space-y-0\">\n\t\t\t\t<CardTitle className=\"wwc:text-sm\">Implementors ({rows.length})</CardTitle>\n\t\t\t\t{candidates.length > 0 && implementMenu(\"Implement on object type…\")}\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t{rows.length === 0 ? (\n\t\t\t\t\t<Empty\n\t\t\t\t\t\t// Empty's 400px floor is sized for a whole pane; this one sits in a stacked card\n\t\t\t\t\t\t// between four others, so it takes the smaller floor instead of punching a hole.\n\t\t\t\t\t\tclassName=\"wwc:min-h-[220px] wwc:p-4\"\n\t\t\t\t\t\ticon={<OntologyGlyph name=\"puzzle\" className=\"wwc:h-6 wwc:w-6\" />}\n\t\t\t\t\t\ttitle=\"No implementors yet\"\n\t\t\t\t\t\tdescription=\"Nothing implements this contract, so workflows written against it have no targets.\"\n\t\t\t\t\t\taction={candidates.length > 0 ? implementMenu(\"Implement on an object type\") : undefined}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<DataTable\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tdata={rows}\n\t\t\t\t\t\tsearchKey=\"displayName\"\n\t\t\t\t\t\tsearchPlaceholder=\"Filter implementors…\"\n\t\t\t\t\t\trecordLabel=\"implementor\"\n\t\t\t\t\t\tpageSize={10}\n\t\t\t\t\t\tgetRowId={(o) => o.id}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</CardContent>\n\t\t</Card>\n\t);\n}\n\n// ─── Surface ─────────────────────────────────────────────────────────────────\n\nexport interface InterfaceDetailProps {\n\tiface: Wc3Interface;\n\t/** Every interface in host state — the Extends toggle, the uniqueness guard and the cycle check. */\n\tinterfaces: Wc3Interface[];\n\t/** Every object type in host state — implementors and “Implement on…” candidates. */\n\tobjectTypes: Wc3ObjectType[];\n\tsharedProperties?: Wc3SharedProperty[];\n\tactionTypes?: Wc3ActionType[];\n\tlinkTypes?: Wc3LinkType[];\n\tonBack: () => void;\n\tonChange: (next: Wc3Interface) => void;\n\tonDelete: () => void;\n\t/** Writes the `implements` entry onto the object type. */\n\tonImplement: (objectTypeId: string, propertyMap: Record<string, string>) => void;\n\tonOpenObjectType: (objectTypeId: string) => void;\n}\n\nexport function InterfaceDetail({\n\tiface,\n\tinterfaces,\n\tobjectTypes,\n\tsharedProperties = WC3_SHARED_PROPERTIES,\n\tactionTypes = WC3_ACTION_TYPES,\n\tlinkTypes = WC3_LINK_TYPES,\n\tonBack,\n\tonChange,\n\tonDelete,\n\tonImplement,\n\tonOpenObjectType,\n}: InterfaceDetailProps) {\n\tconst [implementTargetId, setImplementTargetId] = useState<string | null>(null);\n\tconst [confirmDelete, setConfirmDelete] = useState(false);\n\n\tconst implementTarget = objectTypes.find((o) => o.id === implementTargetId) ?? null;\n\tconst implementorCount = implementorsOf(iface.id, objectTypes, interfaces).length;\n\n\treturn (\n\t\t<div className=\"wwc:flex wwc:min-h-0 wwc:flex-1 wwc:flex-col\">\n\t\t\t{/* Fixed bar sized to PageContentHeader (compact -> min-h-12, px-3), as on both other drill-ins. */}\n\t\t\t<div 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\">\n\t\t\t\t<div className=\"wwc:flex wwc:min-w-0 wwc:items-center wwc:gap-2.5\">\n\t\t\t\t\t<Button variant=\"ghost\" size=\"sm\" className=\"wwc:gap-1.5\" onClick={onBack}>\n\t\t\t\t\t\t<ArrowLeft className=\"wwc:h-4 wwc:w-4\" />\n\t\t\t\t\t\tBack\n\t\t\t\t\t</Button>\n\t\t\t\t\t<div className=\"wwc:h-5 wwc:w-px wwc:shrink-0 wwc:bg-border\" />\n\t\t\t\t\t<OntologyGlyph name={iface.icon} className=\"wwc:h-4 wwc:w-4 wwc:shrink-0\" />\n\t\t\t\t\t<h1 className=\"wwc:truncate wwc:text-sm wwc:font-semibold\">{iface.displayName}</h1>\n\t\t\t\t\t<StatusPill status={iface.status} />\n\t\t\t\t\t<RidChip rid={iface.rid} />\n\t\t\t\t\t<span className=\"wwc:hidden wwc:truncate wwc:text-[11px] wwc:text-muted-foreground wwc:lg:inline\">\n\t\t\t\t\t\t<span className=\"wwc:font-mono\">{iface.apiName}</span> · {implementorCount} implementor\n\t\t\t\t\t\t{implementorCount === 1 ? \"\" : \"s\"}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/*\n\t\t\t * No section nav: five short sections — metadata is one card of five fields and the longest\n\t\t\t * table is three rows — so they stack, as on the link type. The object type's SideMenu earns\n\t\t\t * its keep with 20+ property rows; here it would hide four near-empty panes behind clicks.\n\t\t\t */}\n\t\t\t<div className=\"wwc:min-h-0 wwc:flex-1 wwc:overflow-auto\">\n\t\t\t\t<div className=\"wwc:w-full wwc:space-y-4 wwc:p-6\">\n\t\t\t\t\t<MetadataCard iface={iface} interfaces={interfaces} onChange={onChange} />\n\t\t\t\t\t<PropertiesCard\n\t\t\t\t\t\tiface={iface}\n\t\t\t\t\t\tinterfaces={interfaces}\n\t\t\t\t\t\tsharedProperties={sharedProperties}\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<ConstraintsCard iface={iface} objectTypes={objectTypes} actionTypes={actionTypes} onChange={onChange} />\n\t\t\t\t\t<ImplementorsCard\n\t\t\t\t\t\tiface={iface}\n\t\t\t\t\t\tinterfaces={interfaces}\n\t\t\t\t\t\tobjectTypes={objectTypes}\n\t\t\t\t\t\tonOpenObjectType={onOpenObjectType}\n\t\t\t\t\t\tonPickImplementor={setImplementTargetId}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Card>\n\t\t\t\t\t\t<CardHeader>\n\t\t\t\t\t\t\t<CardTitle className=\"wwc:text-sm wwc:text-destructive\">Danger zone</CardTitle>\n\t\t\t\t\t\t</CardHeader>\n\t\t\t\t\t\t<CardContent className=\"wwc:flex wwc:flex-wrap wwc:items-center wwc:justify-between wwc:gap-3\">\n\t\t\t\t\t\t\t<p className=\"wwc:text-sm wwc:text-muted-foreground\">\n\t\t\t\t\t\t\t\t<b className=\"wwc:text-foreground\">Delete this interface</b> — Implementors keep their properties; the\n\t\t\t\t\t\t\t\tabstraction disappears.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<Button variant=\"destructive\" size=\"sm\" onClick={() => setConfirmDelete(true)}>\n\t\t\t\t\t\t\t\t<Trash2 className=\"wwc:h-3.5 wwc:w-3.5\" />\n\t\t\t\t\t\t\t\tDelete interface\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</CardContent>\n\t\t\t\t\t</Card>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{implementTarget && (\n\t\t\t\t<ImplementInterfaceDialog\n\t\t\t\t\topen\n\t\t\t\t\tonOpenChange={(o) => !o && setImplementTargetId(null)}\n\t\t\t\t\tiface={iface}\n\t\t\t\t\tobjectType={implementTarget}\n\t\t\t\t\tinterfaces={interfaces}\n\t\t\t\t\tlinkTypes={linkTypes}\n\t\t\t\t\tactionTypes={actionTypes}\n\t\t\t\t\tonImplement={(propertyMap) => {\n\t\t\t\t\t\tonImplement(implementTarget.id, propertyMap);\n\t\t\t\t\t\tsetImplementTargetId(null);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<ConfirmDialog\n\t\t\t\topen={confirmDelete}\n\t\t\t\tonOpenChange={setConfirmDelete}\n\t\t\t\tdestructive\n\t\t\t\ttitle={`Delete “${iface.displayName}”?`}\n\t\t\t\tdescription={`${implementorCount} implementor${implementorCount === 1 ? \"\" : \"s\"} will lose the abstraction.`}\n\t\t\t\tconfirmLabel=\"Delete\"\n\t\t\t\tonConfirm={() => {\n\t\t\t\t\tsetConfirmDelete(false);\n\t\t\t\t\tonDelete();\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\n// ─── Create-dialog glue ──────────────────────────────────────────────────────\n\n/**\n * The eight icon tiles the prototype's IfCreateModal offers. Its `drone` and `webhook` have no entry in\n * wc3-ontology-glyphs, where an unmapped name silently renders as a generic box — so the nearest names\n * that DO exist stand in: target for drone, pipeline for webhook.\n */\nexport const WC3_INTERFACE_GLYPHS: string[] = [\n\t\"puzzle\",\n\t\"compass\",\n\t\"signal\",\n\t\"calendar\",\n\t\"box\",\n\t\"target\",\n\t\"shield\",\n\t\"pipeline\",\n];\n\n/** The same palette as components, for `NewInterfaceDialog`'s `icons` prop. */\nexport const WC3_INTERFACE_ICONS: React.ComponentType<{className?: string}>[] = WC3_INTERFACE_GLYPHS.map((name) => {\n\tconst Glyph = (props: {className?: string}) => <OntologyGlyph name={name} className={props.className} />;\n\tGlyph.displayName = `Glyph(${name})`;\n\treturn Glyph;\n});\n\n/**\n * The wizard's draft -> a WC3 interface. `seq` makes the client-side id and RID unique; a real RID is\n * minted server-side. Mirrors toObjectType/toLinkType in wc3-ontology-views.tsx.\n */\nexport function interfaceFromDraft(draft: NewInterfaceDraft, seq: number): Wc3Interface {\n\treturn {\n\t\tid: `if_new_${seq}`,\n\t\trid: `ri.ontology.main.interface.new-${seq}`,\n\t\tapiName: draft.apiName,\n\t\tdisplayName: draft.displayName,\n\t\ticon: WC3_INTERFACE_GLYPHS[draft.iconIndex] ?? \"puzzle\",\n\t\tstatus: draft.status as Wc3Status,\n\t\tdescription: draft.description,\n\t\textends: draft.extends,\n\t\tproperties: [],\n\t\tlinkConstraints: [],\n\t\tactionConstraints: [],\n\t};\n}\n\n/** Add an `implements` entry to an object type — what the host does with `onImplement`. */\nexport function withImplements(\n\tobjectType: Wc3ObjectType,\n\tinterfaceId: string,\n\tpropertyMap: Record<string, string>,\n): Wc3ObjectType {\n\treturn {\n\t\t...objectType,\n\t\timplements: [\n\t\t\t...objectType.implements.filter((im) => im.interfaceId !== interfaceId),\n\t\t\t{interfaceId, propertyMap, linkMap: []},\n\t\t],\n\t};\n}\n"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ //#region src/pages/wc3-interface-wizard.d.ts
2
+ /** "Site Asset" -> "siteAsset", matching the prototype's camel() used to seed the API name. */
3
+ export declare function camel(input: string): string;
4
+ export interface NewInterfaceDraft {
5
+ displayName: string;
6
+ apiName: string;
7
+ description: string;
8
+ status: string;
9
+ /** Index into the `icons` array the host supplied, so the host maps it back to its own glyph name. */
10
+ iconIndex: number;
11
+ /** Ids of the interfaces this one extends — multiple inheritance is allowed. */
12
+ extends: string[];
13
+ }
14
+ export interface NewInterfaceExtendsOption {
15
+ id: string;
16
+ label: string;
17
+ icon?: React.ComponentType<{
18
+ className?: string;
19
+ }>;
20
+ }
21
+ export interface NewInterfaceDialogProps {
22
+ open: boolean;
23
+ onOpenChange: (open: boolean) => void;
24
+ /** Icon palette. `NewInterfaceDraft.iconIndex` indexes into THIS array. */
25
+ icons?: React.ComponentType<{
26
+ className?: string;
27
+ }>[];
28
+ statuses?: string[];
29
+ /** Default status. Must be one of `statuses`. */
30
+ defaultStatus?: string;
31
+ /** Interfaces selectable under "Extends". */
32
+ extendsOptions?: NewInterfaceExtendsOption[];
33
+ /** Enforce the prototype's best-practice #8 rule. Default false, so the workforce page is unchanged. */
34
+ requireDescription?: boolean;
35
+ onCreate: (draft: NewInterfaceDraft) => void;
36
+ }
37
+ export declare function NewInterfaceDialog({ open, onOpenChange, icons, statuses, defaultStatus, extendsOptions, requireDescription, onCreate }: NewInterfaceDialogProps): import("react/jsx-runtime").JSX.Element;
38
+ //#endregion
39
+ //# sourceMappingURL=wc3-interface-wizard.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wc3-interface-wizard.d.mts","names":[],"sources":["../../src/pages/wc3-interface-wizard.tsx"],"mappings":";;wBAoBgB,MAAM;iBAKL;EAChB;EACA;EACA;EACA;;EAEA;;EAEA;;iBAGgB;EAChB;EACA;EACA,OAAO,MAAM;IAAe;;;iBAGZ;EAChB;EACA,eAAe;;EAEf,QAAQ,MAAM;IAAe;;EAC7B;;EAEA;;EAEA,iBAAiB;;EAEjB;EACA,WAAW,OAAO;;wBAGH,qBACf,MACA,cACA,OACA,UACA,eACA,gBACA,oBACA,YACE,sDAAuB,IAAA"}
@@ -0,0 +1,226 @@
1
+ import { Button } from "../button.mjs";
2
+ import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "../dialog.mjs";
3
+ import { Label } from "../label.mjs";
4
+ import { Input } from "../input.mjs";
5
+ import { Textarea } from "../textarea.mjs";
6
+ import { ToggleGroup, ToggleGroupItem } from "../toggle-group.mjs";
7
+ import { cn } from "@corensystem/coren-utils";
8
+ import { useMemo, useState } from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ //#region src/pages/wc3-interface-wizard.tsx
11
+ const SEGMENT_ON = "wwc:data-[state=on]:border-primary wwc:data-[state=on]:bg-primary/10 wwc:data-[state=on]:text-primary";
12
+ /** "Site Asset" -> "siteAsset", matching the prototype's camel() used to seed the API name. */
13
+ function camel(input) {
14
+ const cleaned = input.trim().replace(/[^A-Za-z0-9]+(.)?/g, (_, c) => c ? c.toUpperCase() : "");
15
+ return cleaned.charAt(0).toLowerCase() + cleaned.slice(1);
16
+ }
17
+ function NewInterfaceDialog({ open, onOpenChange, icons = [], statuses = [
18
+ "Active",
19
+ "Experimental",
20
+ "Endorsed"
21
+ ], defaultStatus = "Experimental", extendsOptions = [], requireDescription = false, onCreate }) {
22
+ const [displayName, setDisplayName] = useState("");
23
+ const [apiName, setApiName] = useState("");
24
+ const [apiTouched, setApiTouched] = useState(false);
25
+ const [description, setDescription] = useState("");
26
+ const [status, setStatus] = useState(defaultStatus);
27
+ const [iconIndex, setIconIndex] = useState(0);
28
+ const [extendsSel, setExtendsSel] = useState([]);
29
+ const [attempted, setAttempted] = useState(false);
30
+ const iconTiles = useMemo(() => {
31
+ const seen = /* @__PURE__ */ new Map();
32
+ return icons.map((Icon, index) => {
33
+ const base = Icon.displayName ?? "icon";
34
+ const n = (seen.get(base) ?? 0) + 1;
35
+ seen.set(base, n);
36
+ return {
37
+ Icon,
38
+ index,
39
+ key: n === 1 ? base : `${base}~${n}`
40
+ };
41
+ });
42
+ }, [icons]);
43
+ const nameMissing = displayName.trim().length === 0;
44
+ const descriptionMissing = requireDescription && description.trim().length === 0;
45
+ const error = !attempted ? null : nameMissing ? "Display name required." : descriptionMissing ? "Description required (best practice #8)." : null;
46
+ const reset = () => {
47
+ setDisplayName("");
48
+ setApiName("");
49
+ setApiTouched(false);
50
+ setDescription("");
51
+ setStatus(defaultStatus);
52
+ setIconIndex(0);
53
+ setExtendsSel([]);
54
+ setAttempted(false);
55
+ };
56
+ const create = () => {
57
+ if (nameMissing || descriptionMissing) {
58
+ setAttempted(true);
59
+ return;
60
+ }
61
+ onCreate({
62
+ displayName: displayName.trim(),
63
+ apiName: (apiName || camel(displayName)).trim(),
64
+ description: description.trim(),
65
+ status,
66
+ iconIndex,
67
+ extends: extendsSel
68
+ });
69
+ reset();
70
+ onOpenChange(false);
71
+ };
72
+ return /* @__PURE__ */ jsx(Dialog, {
73
+ open,
74
+ onOpenChange: (o) => {
75
+ if (!o) reset();
76
+ onOpenChange(o);
77
+ },
78
+ children: /* @__PURE__ */ jsxs(DialogContent, {
79
+ className: "wwc:flex wwc:max-h-[92vh] wwc:w-[calc(100vw-2rem)] wwc:max-w-3xl wwc:flex-col wwc:gap-0 wwc:overflow-hidden wwc:p-0",
80
+ children: [
81
+ /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "New interface" }) }),
82
+ /* @__PURE__ */ jsxs("div", {
83
+ className: "wwc:min-h-0 wwc:flex-1 wwc:space-y-5 wwc:overflow-y-auto wwc:px-6 wwc:py-5",
84
+ children: [
85
+ /* @__PURE__ */ jsxs("div", {
86
+ className: "wwc:grid wwc:gap-6 wwc:sm:grid-cols-2",
87
+ children: [/* @__PURE__ */ jsxs("div", {
88
+ className: "wwc:space-y-1.5",
89
+ children: [
90
+ /* @__PURE__ */ jsx(Label, {
91
+ htmlFor: "if-new-dn",
92
+ children: "Display name"
93
+ }),
94
+ /* @__PURE__ */ jsx(Input, {
95
+ id: "if-new-dn",
96
+ value: displayName,
97
+ onChange: (e) => {
98
+ setDisplayName(e.target.value);
99
+ if (!apiTouched) setApiName(camel(e.target.value));
100
+ },
101
+ "aria-invalid": attempted && nameMissing,
102
+ className: cn(attempted && nameMissing && "wwc:border-destructive")
103
+ }),
104
+ /* @__PURE__ */ jsx("p", {
105
+ className: "wwc:text-xs wwc:text-muted-foreground",
106
+ children: "An adjective-like abstraction, e.g. “Inspectable”"
107
+ })
108
+ ]
109
+ }), /* @__PURE__ */ jsxs("div", {
110
+ className: "wwc:space-y-1.5",
111
+ children: [/* @__PURE__ */ jsx(Label, {
112
+ htmlFor: "if-new-api",
113
+ children: "API name"
114
+ }), /* @__PURE__ */ jsx(Input, {
115
+ id: "if-new-api",
116
+ className: "wwc:font-mono",
117
+ value: apiName,
118
+ onChange: (e) => {
119
+ setApiTouched(true);
120
+ setApiName(e.target.value);
121
+ }
122
+ })]
123
+ })]
124
+ }),
125
+ /* @__PURE__ */ jsxs("div", {
126
+ className: "wwc:space-y-1.5",
127
+ children: [/* @__PURE__ */ jsx(Label, {
128
+ htmlFor: "if-new-desc",
129
+ children: "Description"
130
+ }), /* @__PURE__ */ jsx(Textarea, {
131
+ id: "if-new-desc",
132
+ rows: 2,
133
+ value: description,
134
+ onChange: (e) => setDescription(e.target.value),
135
+ "aria-invalid": attempted && descriptionMissing,
136
+ className: cn(attempted && descriptionMissing && "wwc:border-destructive")
137
+ })]
138
+ }),
139
+ /* @__PURE__ */ jsxs("div", {
140
+ className: "wwc:grid wwc:gap-6 wwc:sm:grid-cols-2",
141
+ children: [/* @__PURE__ */ jsxs("div", {
142
+ className: "wwc:space-y-1.5",
143
+ children: [/* @__PURE__ */ jsx(Label, { children: "Status" }), /* @__PURE__ */ jsx(ToggleGroup, {
144
+ type: "single",
145
+ value: status,
146
+ onValueChange: (v) => v && setStatus(v),
147
+ variant: "outline",
148
+ size: "sm",
149
+ className: "wwc:flex-wrap wwc:justify-start wwc:gap-2",
150
+ children: statuses.map((s) => /* @__PURE__ */ jsx(ToggleGroupItem, {
151
+ value: s,
152
+ className: SEGMENT_ON,
153
+ children: s
154
+ }, s))
155
+ })]
156
+ }), icons.length > 0 && /* @__PURE__ */ jsxs("div", {
157
+ className: "wwc:space-y-2",
158
+ children: [/* @__PURE__ */ jsx(Label, { children: "Icon" }), /* @__PURE__ */ jsx("div", {
159
+ className: "wwc:grid wwc:grid-cols-8 wwc:gap-2",
160
+ children: iconTiles.map(({ Icon, index, key }) => /* @__PURE__ */ jsx("button", {
161
+ type: "button",
162
+ "aria-label": `Icon ${index + 1}`,
163
+ "aria-pressed": index === iconIndex,
164
+ onClick: () => setIconIndex(index),
165
+ className: cn("wwc:flex wwc:aspect-square wwc:items-center wwc:justify-center wwc:rounded-lg wwc:border wwc:transition-colors", index === iconIndex ? "wwc:border-primary wwc:bg-primary/10 wwc:text-primary" : "wwc:border-border wwc:text-muted-foreground wwc:hover:bg-muted"),
166
+ children: /* @__PURE__ */ jsx(Icon, { className: "wwc:h-4 wwc:w-4" })
167
+ }, key))
168
+ })]
169
+ })]
170
+ }),
171
+ extendsOptions.length > 0 && /* @__PURE__ */ jsxs("div", {
172
+ className: "wwc:space-y-2",
173
+ children: [
174
+ /* @__PURE__ */ jsx(Label, { children: "Extends (multiple inheritance allowed)" }),
175
+ /* @__PURE__ */ jsx(ToggleGroup, {
176
+ type: "multiple",
177
+ value: extendsSel,
178
+ onValueChange: setExtendsSel,
179
+ variant: "outline",
180
+ size: "sm",
181
+ className: "wwc:flex-wrap wwc:justify-start wwc:gap-2",
182
+ children: extendsOptions.map((o) => {
183
+ const Icon = o.icon;
184
+ return /* @__PURE__ */ jsxs(ToggleGroupItem, {
185
+ value: o.id,
186
+ className: SEGMENT_ON,
187
+ children: [Icon && /* @__PURE__ */ jsx(Icon, { className: "wwc:h-3.5 wwc:w-3.5" }), o.label]
188
+ }, o.id);
189
+ })
190
+ }),
191
+ /* @__PURE__ */ jsx("p", {
192
+ className: "wwc:text-xs wwc:text-muted-foreground",
193
+ children: "Inherited properties and constraints flow through transitively."
194
+ })
195
+ ]
196
+ })
197
+ ]
198
+ }),
199
+ /* @__PURE__ */ jsxs(DialogFooter, { children: [/* @__PURE__ */ jsx("span", {
200
+ className: "wwc:text-sm",
201
+ children: error ? /* @__PURE__ */ jsx("span", {
202
+ className: "wwc:text-destructive",
203
+ children: error
204
+ }) : /* @__PURE__ */ jsx("span", {
205
+ className: "wwc:text-muted-foreground",
206
+ children: "Name it, then create."
207
+ })
208
+ }), /* @__PURE__ */ jsxs("div", {
209
+ className: "wwc:flex wwc:items-center wwc:gap-2",
210
+ children: [/* @__PURE__ */ jsx(Button, {
211
+ variant: "outline",
212
+ onClick: () => onOpenChange(false),
213
+ children: "Cancel"
214
+ }), /* @__PURE__ */ jsx(Button, {
215
+ onClick: create,
216
+ children: "Create interface"
217
+ })]
218
+ })] })
219
+ ]
220
+ })
221
+ });
222
+ }
223
+ //#endregion
224
+ export { NewInterfaceDialog, camel };
225
+
226
+ //# sourceMappingURL=wc3-interface-wizard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wc3-interface-wizard.mjs","names":[],"sources":["../../src/pages/wc3-interface-wizard.tsx"],"sourcesContent":["import {cn} from \"@corensystem/coren-utils\";\nimport {useMemo, useState} from \"react\";\n\nimport {Button} from \"../button\";\nimport {Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle} from \"../dialog\";\nimport {Input} from \"../input\";\nimport {Label} from \"../label\";\nimport {Textarea} from \"../textarea\";\nimport {ToggleGroup, ToggleGroupItem} from \"../toggle-group\";\n\n// The \"New interface\" dialog. Ontology-agnostic on purpose — every option list is a prop whose\n// default reproduces the private NewInterfaceDialog of the since-removed Workforce fork of this\n// surface, so those defaults are exactly what that page rendered. It belongs next to\n// link-type-wizard.tsx as src/interface-wizard.tsx; it lives here only because this agent may not\n// create files outside src/pages/wc3-Interfaces-*.\n\nconst SEGMENT_ON =\n\t\"wwc:data-[state=on]:border-primary wwc:data-[state=on]:bg-primary/10 wwc:data-[state=on]:text-primary\";\n\n/** \"Site Asset\" -> \"siteAsset\", matching the prototype's camel() used to seed the API name. */\nexport function camel(input: string) {\n\tconst cleaned = input.trim().replace(/[^A-Za-z0-9]+(.)?/g, (_, c: string | undefined) => (c ? c.toUpperCase() : \"\"));\n\treturn cleaned.charAt(0).toLowerCase() + cleaned.slice(1);\n}\n\nexport interface NewInterfaceDraft {\n\tdisplayName: string;\n\tapiName: string;\n\tdescription: string;\n\tstatus: string;\n\t/** Index into the `icons` array the host supplied, so the host maps it back to its own glyph name. */\n\ticonIndex: number;\n\t/** Ids of the interfaces this one extends — multiple inheritance is allowed. */\n\textends: string[];\n}\n\nexport interface NewInterfaceExtendsOption {\n\tid: string;\n\tlabel: string;\n\ticon?: React.ComponentType<{className?: string}>;\n}\n\nexport interface NewInterfaceDialogProps {\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\t/** Icon palette. `NewInterfaceDraft.iconIndex` indexes into THIS array. */\n\ticons?: React.ComponentType<{className?: string}>[];\n\tstatuses?: string[];\n\t/** Default status. Must be one of `statuses`. */\n\tdefaultStatus?: string;\n\t/** Interfaces selectable under \"Extends\". */\n\textendsOptions?: NewInterfaceExtendsOption[];\n\t/** Enforce the prototype's best-practice #8 rule. Default false, so the workforce page is unchanged. */\n\trequireDescription?: boolean;\n\tonCreate: (draft: NewInterfaceDraft) => void;\n}\n\nexport function NewInterfaceDialog({\n\topen,\n\tonOpenChange,\n\ticons = [],\n\tstatuses = [\"Active\", \"Experimental\", \"Endorsed\"],\n\tdefaultStatus = \"Experimental\",\n\textendsOptions = [],\n\trequireDescription = false,\n\tonCreate,\n}: NewInterfaceDialogProps) {\n\tconst [displayName, setDisplayName] = useState(\"\");\n\tconst [apiName, setApiName] = useState(\"\");\n\t// The API name follows the display name until the user edits it themselves; after that it is theirs.\n\tconst [apiTouched, setApiTouched] = useState(false);\n\tconst [description, setDescription] = useState(\"\");\n\tconst [status, setStatus] = useState(defaultStatus);\n\tconst [iconIndex, setIconIndex] = useState(0);\n\tconst [extendsSel, setExtendsSel] = useState<string[]>([]);\n\tconst [attempted, setAttempted] = useState(false);\n\n\t// A palette may repeat a component, so its name alone is not a unique key — suffix each repeat\n\t// with its occurrence number. The position stays the value (`iconIndex`), never the key.\n\tconst iconTiles = useMemo(() => {\n\t\tconst seen = new Map<string, number>();\n\t\treturn icons.map((Icon, index) => {\n\t\t\tconst base = (Icon as {displayName?: string}).displayName ?? \"icon\";\n\t\t\tconst n = (seen.get(base) ?? 0) + 1;\n\t\t\tseen.set(base, n);\n\t\t\treturn {Icon, index, key: n === 1 ? base : `${base}~${n}`};\n\t\t});\n\t}, [icons]);\n\n\tconst nameMissing = displayName.trim().length === 0;\n\tconst descriptionMissing = requireDescription && description.trim().length === 0;\n\tconst error = !attempted\n\t\t? null\n\t\t: nameMissing\n\t\t\t? \"Display name required.\"\n\t\t\t: descriptionMissing\n\t\t\t\t? \"Description required (best practice #8).\"\n\t\t\t\t: null;\n\n\tconst reset = () => {\n\t\tsetDisplayName(\"\");\n\t\tsetApiName(\"\");\n\t\tsetApiTouched(false);\n\t\tsetDescription(\"\");\n\t\tsetStatus(defaultStatus);\n\t\tsetIconIndex(0);\n\t\tsetExtendsSel([]);\n\t\tsetAttempted(false);\n\t};\n\n\tconst create = () => {\n\t\tif (nameMissing || descriptionMissing) {\n\t\t\tsetAttempted(true);\n\t\t\treturn;\n\t\t}\n\t\tonCreate({\n\t\t\tdisplayName: displayName.trim(),\n\t\t\tapiName: (apiName || camel(displayName)).trim(),\n\t\t\tdescription: description.trim(),\n\t\t\tstatus,\n\t\t\ticonIndex,\n\t\t\textends: extendsSel,\n\t\t});\n\t\treset();\n\t\tonOpenChange(false);\n\t};\n\n\treturn (\n\t\t<Dialog\n\t\t\topen={open}\n\t\t\tonOpenChange={(o) => {\n\t\t\t\tif (!o) reset();\n\t\t\t\tonOpenChange(o);\n\t\t\t}}\n\t\t>\n\t\t\t<DialogContent className=\"wwc:flex wwc:max-h-[92vh] wwc:w-[calc(100vw-2rem)] wwc:max-w-3xl wwc:flex-col wwc:gap-0 wwc:overflow-hidden wwc:p-0\">\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>New interface</DialogTitle>\n\t\t\t\t</DialogHeader>\n\n\t\t\t\t<div className=\"wwc:min-h-0 wwc:flex-1 wwc:space-y-5 wwc:overflow-y-auto wwc:px-6 wwc:py-5\">\n\t\t\t\t\t<div className=\"wwc:grid wwc:gap-6 wwc:sm:grid-cols-2\">\n\t\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t\t<Label htmlFor=\"if-new-dn\">Display name</Label>\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid=\"if-new-dn\"\n\t\t\t\t\t\t\t\tvalue={displayName}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tsetDisplayName(e.target.value);\n\t\t\t\t\t\t\t\t\tif (!apiTouched) setApiName(camel(e.target.value));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-invalid={attempted && nameMissing}\n\t\t\t\t\t\t\t\tclassName={cn(attempted && nameMissing && \"wwc:border-destructive\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"wwc:text-xs wwc:text-muted-foreground\">An adjective-like abstraction, e.g. “Inspectable”</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t\t<Label htmlFor=\"if-new-api\">API name</Label>\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid=\"if-new-api\"\n\t\t\t\t\t\t\t\tclassName=\"wwc:font-mono\"\n\t\t\t\t\t\t\t\tvalue={apiName}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tsetApiTouched(true);\n\t\t\t\t\t\t\t\t\tsetApiName(e.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t<Label htmlFor=\"if-new-desc\">Description</Label>\n\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\tid=\"if-new-desc\"\n\t\t\t\t\t\t\trows={2}\n\t\t\t\t\t\t\tvalue={description}\n\t\t\t\t\t\t\tonChange={(e) => setDescription(e.target.value)}\n\t\t\t\t\t\t\taria-invalid={attempted && descriptionMissing}\n\t\t\t\t\t\t\tclassName={cn(attempted && descriptionMissing && \"wwc:border-destructive\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"wwc:grid wwc:gap-6 wwc:sm:grid-cols-2\">\n\t\t\t\t\t\t<div className=\"wwc:space-y-1.5\">\n\t\t\t\t\t\t\t<Label>Status</Label>\n\t\t\t\t\t\t\t<ToggleGroup\n\t\t\t\t\t\t\t\ttype=\"single\"\n\t\t\t\t\t\t\t\tvalue={status}\n\t\t\t\t\t\t\t\tonValueChange={(v) => v && setStatus(v)}\n\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tclassName=\"wwc:flex-wrap wwc:justify-start wwc:gap-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{statuses.map((s) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupItem key={s} value={s} className={SEGMENT_ON}>\n\t\t\t\t\t\t\t\t\t\t{s}\n\t\t\t\t\t\t\t\t\t</ToggleGroupItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ToggleGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{icons.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"wwc:space-y-2\">\n\t\t\t\t\t\t\t\t<Label>Icon</Label>\n\t\t\t\t\t\t\t\t<div className=\"wwc:grid wwc:grid-cols-8 wwc:gap-2\">\n\t\t\t\t\t\t\t\t\t{iconTiles.map(({Icon, index, key}) => (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\taria-label={`Icon ${index + 1}`}\n\t\t\t\t\t\t\t\t\t\t\taria-pressed={index === iconIndex}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => setIconIndex(index)}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\"wwc:flex wwc:aspect-square wwc:items-center wwc:justify-center wwc:rounded-lg wwc:border wwc:transition-colors\",\n\t\t\t\t\t\t\t\t\t\t\t\tindex === iconIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t? \"wwc:border-primary wwc:bg-primary/10 wwc:text-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"wwc:border-border wwc:text-muted-foreground wwc:hover:bg-muted\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon className=\"wwc:h-4 wwc:w-4\" />\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{extendsOptions.length > 0 && (\n\t\t\t\t\t\t<div className=\"wwc:space-y-2\">\n\t\t\t\t\t\t\t<Label>Extends (multiple inheritance allowed)</Label>\n\t\t\t\t\t\t\t<ToggleGroup\n\t\t\t\t\t\t\t\ttype=\"multiple\"\n\t\t\t\t\t\t\t\tvalue={extendsSel}\n\t\t\t\t\t\t\t\tonValueChange={setExtendsSel}\n\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tclassName=\"wwc:flex-wrap wwc:justify-start wwc:gap-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{extendsOptions.map((o) => {\n\t\t\t\t\t\t\t\t\tconst Icon = o.icon;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupItem key={o.id} value={o.id} className={SEGMENT_ON}>\n\t\t\t\t\t\t\t\t\t\t\t{Icon && <Icon className=\"wwc:h-3.5 wwc:w-3.5\" />}\n\t\t\t\t\t\t\t\t\t\t\t{o.label}\n\t\t\t\t\t\t\t\t\t\t</ToggleGroupItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</ToggleGroup>\n\t\t\t\t\t\t\t<p className=\"wwc:text-xs wwc:text-muted-foreground\">\n\t\t\t\t\t\t\t\tInherited properties and constraints flow through transitively.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Create is never disabled — the reason it would fail is spelled out here instead. */}\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<span className=\"wwc:text-sm\">\n\t\t\t\t\t\t{error ? (\n\t\t\t\t\t\t\t<span className=\"wwc:text-destructive\">{error}</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"wwc:text-muted-foreground\">Name it, then create.</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"wwc:flex wwc:items-center wwc:gap-2\">\n\t\t\t\t\t\t<Button variant=\"outline\" onClick={() => onOpenChange(false)}>\n\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button onClick={create}>Create interface</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { LineageViewProps } from "./wc3-lineage-shared.mjs";
2
+ import "@xyflow/react/dist/style.css";
3
+ //#region src/pages/wc3-lineage-data-view.d.ts
4
+ export declare function LineageDataView({ onNavigate }?: LineageViewProps): import("react/jsx-runtime").JSX.Element;
5
+ //#endregion
6
+ //# sourceMappingURL=wc3-lineage-data-view.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wc3-lineage-data-view.d.mts","names":[],"sources":["../../src/pages/wc3-lineage-data-view.tsx"],"mappings":";;;wBA4XgB,kBAAiB,eAAa,+CAAqB,IAAA"}