@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":"core-observations-map-view.mjs","names":[],"sources":["../../src/pages/core-observations-map-view.tsx"],"sourcesContent":["// Observations Map View — the map surface of the Safety Manager: every observation of a day placed\n// on the site it happened on, alongside the cameras that caught them and the responders who work\n// them. Sample data only, like the rest of the pages here; the point is the composition —\n// ObservationsMap under a set of floating panels, all of them controlled from this one component.\n\nimport {cn} from \"@corensystem/coren-utils\";\nimport {Eye} from \"lucide-react\";\nimport * as React from \"react\";\n\nimport {Badge} from \"../badge\";\nimport {CameraDetailPanel} from \"../camera-detail-panel\";\nimport type {CommentItem} from \"../comment-thread\";\nimport {RNGLF_ZONES} from \"../data/rnglf-zones\";\nimport {MapControlPanel} from \"../map-control-panel\";\nimport {MapHoverCard} from \"../map-hover-card\";\nimport {MapLegend} from \"../map-legend\";\nimport {ObservationDetailPanel, type ObservationDetail} from \"../observation-detail-panel\";\nimport {CAMERA_ICON, HAZARD_ICON, RESPONDER_ICON, ObservationsMap} from \"../observations-map\";\nimport {ResponderDetailPanel, type ResponderDetail} from \"../responder-detail-panel\";\nimport type {TimeScrubberActivity} from \"../time-scrubber\";\nimport {ViolationList} from \"../violation-list\";\n\nconst startOfDay = (d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate());\nconst hhmm = (d: Date) => `${String(d.getHours()).padStart(2, \"0\")}:${String(d.getMinutes()).padStart(2, \"0\")}`;\n\n/**\n * Filter vocabulary, taken from the Safety Manager filter panel. Category is the violation type —\n * what the observation actually is — while Source is the system that raised it.\n */\nconst SEVERITIES = [\"Not Determined\", \"Low\", \"Medium\", \"High\", \"Emergency\"] as const;\n\nconst SOURCES = [\n\t\"ConnectedWorker\",\n\t\"AVL\",\n\t\"CCTV\",\n\t\"Manual\",\n\t\"QRCode\",\n\t\"ClinicViolation\",\n\t\"TrainingCenter\",\n\t\"DigitalWorkPermit\",\n\t\"WeatherStation\",\n];\n\nconst CATEGORIES = [\n\t\"Barriers, Guardrails & Warning Lines\",\n\t\"Entering Restricted Area\",\n\t\"Head Impact\",\n\t\"PPE Compliance Detection\",\n\t\"SOS\",\n\t\"Workers in Line of Fire of Lifting Operations\",\n];\n\n/** `null` is the unassigned bucket the panel exposes as \"Unassigned\". */\nconst COMPANIES: (string | null)[] = [\"DEFAULT PACKAGE\", \"Aramco\", \"SRACO\", null];\nconst UNASSIGNED = \"__unassigned__\";\n\n/** Category drives the severity a violation type tends to carry. */\nconst CATEGORY_SEVERITY: Record<string, (typeof SEVERITIES)[number]> = {\n\t\"Barriers, Guardrails & Warning Lines\": \"Medium\",\n\t\"Entering Restricted Area\": \"High\",\n\t\"Head Impact\": \"High\",\n\t\"PPE Compliance Detection\": \"Medium\",\n\tSOS: \"Emergency\",\n\t\"Workers in Line of Fire of Lifting Operations\": \"High\",\n};\n\n/**\n * Which actions apply to a ticket, mirroring `lifecycleActionsFor` in the Safety Manager template:\n * the action set is a function of status and source, not a fixed menu.\n */\nfunction actionsFor(t: ObservationDetail) {\n\tif (t.status === \"pending\") {\n\t\tconst secondary = [{id: \"false-alarm\", label: \"False Alarm\"}];\n\t\t// False Positive is a CCTV-only escape hatch.\n\t\tif (t.source === \"CCTV\") secondary.push({id: \"false-positive\", label: \"False Positive\"});\n\t\treturn {primary: {id: \"open\", label: \"Mark as Opened\"}, secondary};\n\t}\n\tif (t.status === \"open\") {\n\t\treturn {\n\t\t\tprimary: {id: \"close\", label: \"Close Issue\"},\n\t\t\tsecondary: [\n\t\t\t\t{id: \"change-severity\", label: \"Change Severity\"},\n\t\t\t\t{id: \"set-company\", label: \"Set Company\"},\n\t\t\t],\n\t\t};\n\t}\n\treturn {primary: {id: \"reopen\", label: \"Reopen\"}, secondary: []};\n}\n\n/** The map's New/Open/Closed maps onto the ticket's pending/open/closed. */\nconst TICKET_STATUS = {new: \"pending\", open: \"open\", closed: \"closed\"} as const;\n\n// The navigation styles are omitted: they pull mapbox-traffic-v1, a paid tileset this token cannot\n// fetch, so they 404 on every pan and render without the traffic that is their whole point.\nconst MAP_STYLES = [\n\t{value: \"mapbox://styles/mapbox/standard\", label: \"Standard\"},\n\t{value: \"mapbox://styles/mapbox/standard-satellite\", label: \"Standard Satellite\"},\n\t{value: \"mapbox://styles/mapbox/satellite-streets-v12\", label: \"Satellite Streets\"},\n\t{value: \"mapbox://styles/mapbox/satellite-v9\", label: \"Satellite\"},\n\t{value: \"mapbox://styles/mapbox/streets-v12\", label: \"Streets\"},\n\t{value: \"mapbox://styles/mapbox/outdoors-v12\", label: \"Outdoors\"},\n\t{value: \"mapbox://styles/mapbox/light-v11\", label: \"Light\"},\n\t{value: \"mapbox://styles/mapbox/dark-v11\", label: \"Dark\"},\n];\n\n/**\n * Observations are placed inside the zones rather than across the whole blueprint footprint — the\n * footprint is ~21km of mostly empty desert, and work only happens where the zones are.\n */\nconst ZONE_CENTROIDS = RNGLF_ZONES.map((zone) => {\n\tconst pts = zone.coordinates;\n\treturn [pts.reduce((sum, p) => sum + p[0], 0) / pts.length, pts.reduce((sum, p) => sum + p[1], 0) / pts.length] as [\n\t\tnumber,\n\t\tnumber,\n\t];\n});\n\n/** Observation lifecycle. The three states the timeline legend reads out. */\nconst STATUS = {\n\t// Unanswered is the loudest state, cooling as it is worked and closed out.\n\tnew: {label: \"New\", color: \"#ef4444\", bar: \"wwc:bg-[#ef4444]\"},\n\topen: {label: \"Open\", color: \"#f97316\", bar: \"wwc:bg-[#f97316]\"},\n\tclosed: {label: \"Closed\", color: \"#22c55e\", bar: \"wwc:bg-[#22c55e]\"},\n} as const;\n\n/**\n * The severity ladder as its own colour scheme. Only one scheme is live at a time, so it can reuse the\n * same hues — an escalation ramp from unset grey through to emergency red.\n */\nconst SEVERITY_META: Record<(typeof SEVERITIES)[number], {color: string; bar: string}> = {\n\t\"Not Determined\": {color: \"#94a3b8\", bar: \"wwc:bg-[#94a3b8]\"},\n\tLow: {color: \"#22c55e\", bar: \"wwc:bg-[#22c55e]\"},\n\tMedium: {color: \"#eab308\", bar: \"wwc:bg-[#eab308]\"},\n\tHigh: {color: \"#f97316\", bar: \"wwc:bg-[#f97316]\"},\n\tEmergency: {color: \"#dc2626\", bar: \"wwc:bg-[#dc2626]\"},\n};\n\n/** Which dimension the map and timeline are coloured and bucketed by. */\ntype ColorBy = \"status\" | \"severity\";\n\n/** How far around a responder counts as theirs to reach. */\nconst COVERAGE_METERS = 500;\n\n/**\n * The timeline's resolution. Five minutes rather than an hour: violations arrive in bursts, and an\n * hourly bar averages a spike flat. It also matches how often a responder's position is sampled, so\n * a bar and a whereabouts describe the same instant.\n */\nconst FRAME_MINUTES = 5;\n\ntype StatusKey = keyof typeof STATUS;\nconst STATUS_KEYS = Object.keys(STATUS) as StatusKey[];\n\n// Deterministic PRNG — stories must render identically on every load.\nfunction seededRandom(seed: number) {\n\tlet s = seed | 0;\n\treturn () => {\n\t\ts = (s + 0x6d2b79f5) | 0;\n\t\tlet t = Math.imul(s ^ (s >>> 15), 1 | s);\n\t\tt = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n\t\treturn ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n\t};\n}\n\n/** Share of the day's observations reported in each hour — quiet overnight, two shift peaks. */\nconst HOURLY_WEIGHT = [1, 1, 1, 1, 2, 6, 14, 26, 34, 38, 36, 30, 18, 22, 32, 35, 30, 20, 10, 6, 4, 3, 2, 1];\n\n/**\n * A day's worth of observations at realistic volume — a few hundred, concentrated in working hours.\n * Sites report far more than a handful per hour, which is what the hourly stacked track is for.\n */\nfunction buildObservations(dayStart: Date, count: number, cutoff: Date) {\n\tconst random = seededRandom(1337);\n\tconst total = HOURLY_WEIGHT.reduce((a, b) => a + b, 0);\n\tconst out: {\n\t\tid: string;\n\t\tcoordinates: [number, number];\n\t\tlabel: string;\n\t\tdescription: string;\n\t\ttitle: string;\n\t\tzoneId: string;\n\t\tassigneeId?: string;\n\t\t/** False for reports that arrived without coordinates — they exist, but not on the map. */\n\t\tlocated: boolean;\n\t\tsource: string;\n\t\tcategory: string;\n\t\tseverity: ObservationDetail[\"severity\"];\n\t\tcompany?: string;\n\t\tcolor: string;\n\t\tstatus: StatusKey;\n\t\ttime: Date;\n\t}[] = [];\n\n\tconst cutoffMs = cutoff.getTime();\n\tlet n = 0;\n\tfor (let hour = 0; hour < 24; hour++) {\n\t\tconst inHour = Math.round((HOURLY_WEIGHT[hour] / total) * count);\n\t\tfor (let i = 0; i < inHour; i++) {\n\t\t\t// Older observations have had time to be worked: mostly closed. Recent ones are still new.\n\t\t\tconst age = 1 - hour / 24;\n\t\t\tconst roll = random();\n\t\t\tconst status: StatusKey = roll < age * 0.55 ? \"new\" : roll < age * 0.55 + 0.3 ? \"open\" : \"closed\";\n\t\t\tconst minute = Math.floor(random() * 60);\n\n\t\t\t// The zone the violation happened in — violations are zone-scoped, so the zone filter has\n\t\t\t// something real to filter on. (Cameras deliberately are not; they watch across zones.)\n\t\t\tconst zoneIndex = Math.floor(random() * ZONE_CENTROIDS.length);\n\t\t\tconst [zLng, zLat] = ZONE_CENTROIDS[zoneIndex];\n\t\t\tconst category = CATEGORIES[n % CATEGORIES.length];\n\t\t\tconst time = new Date(dayStart.getTime() + (hour * 60 + minute) * 60 * 1000);\n\t\t\t// Nothing is reported from the future — hours past the cutoff stay genuinely empty.\n\t\t\tif (time.getTime() > cutoffMs) continue;\n\t\t\tout.push({\n\t\t\t\tid: `obs-${n}`,\n\t\t\t\t// Jittered around a zone centre — roughly 150m, enough to read as a cluster not a stack.\n\t\t\t\tcoordinates: [zLng + (random() - 0.5) * 0.003, zLat + (random() - 0.5) * 0.003] as [number, number],\n\t\t\t\tzoneId: String(RNGLF_ZONES[zoneIndex].id),\n\t\t\t\t// A phone with no fix, a report typed in later: roughly one in twelve has no coordinates.\n\t\t\t\tlocated: n % 12 !== 0,\n\t\t\t\t// Roughly a third are already someone's; the rest are unassigned and up for grabs.\n\t\t\t\tassigneeId: n % 3 === 0 ? RESPONDER_IDS[n % RESPONDER_IDS.length] : undefined,\n\t\t\t\tlabel: `${category} #${1000 + n}`,\n\t\t\t\tdescription: `${category} detected at ${String(hour).padStart(2, \"0\")}:${String(minute).padStart(2, \"0\")}.`,\n\t\t\t\ttitle: category,\n\t\t\t\tsource: SOURCES[n % SOURCES.length],\n\t\t\t\tcategory,\n\t\t\t\tseverity: CATEGORY_SEVERITY[category],\n\t\t\t\tcompany: COMPANIES[n % COMPANIES.length] ?? undefined,\n\t\t\t\tcolor: STATUS[status].color,\n\t\t\t\tstatus,\n\t\t\t\ttime,\n\t\t\t});\n\t\t\tn++;\n\t\t}\n\t}\n\treturn out;\n}\n\n/** How often a responder's whereabouts are sampled — kept in step with the timeline's frame. */\nconst TRACK_SAMPLE_MINUTES = FRAME_MINUTES;\n\n/**\n * A responder's whereabouts through the day: a few waypoints they rotate between, sampled into a\n * track. Each leg is mostly dwell then a walk, rather than constant drift — which is how a patrol\n * actually looks, and it means \"where were they at 08:10\" has a believable answer.\n */\nfunction buildTrack(dayStart: Date, homeIndex: number, seed: number) {\n\tconst random = seededRandom(seed);\n\tconst pick = () => Math.floor(random() * ZONE_CENTROIDS.length);\n\t// Out and back twice, returning home overnight.\n\tconst waypoints = [\n\t\t{minute: 0, zone: homeIndex},\n\t\t{minute: 6 * 60, zone: homeIndex},\n\t\t{minute: 10 * 60, zone: pick()},\n\t\t{minute: 13 * 60, zone: homeIndex},\n\t\t{minute: 16 * 60, zone: pick()},\n\t\t{minute: 19 * 60, zone: homeIndex},\n\t\t{minute: 24 * 60, zone: homeIndex},\n\t];\n\n\t/**\n\t * Contact drops: a responder's device goes offline for stretches of the day. Two gaps each, placed\n\t * off the seed so they differ per responder — the map has to survive them, not pretend they are not\n\t * there.\n\t */\n\tconst gaps = [\n\t\t{from: 4 * 60 + Math.floor(random() * 60), length: 90},\n\t\t{from: 13 * 60 + Math.floor(random() * 120), length: 60},\n\t];\n\tconst online = (minute: number) => !gaps.some((g) => minute >= g.from && minute < g.from + g.length);\n\n\tconst track: {time: Date; at: [number, number]; online: boolean}[] = [];\n\tfor (let minute = 0; minute <= 24 * 60; minute += TRACK_SAMPLE_MINUTES) {\n\t\tlet leg = waypoints.findIndex((w, i) => i < waypoints.length - 1 && minute < waypoints[i + 1].minute);\n\t\tif (leg === -1) leg = waypoints.length - 2;\n\t\tconst from = ZONE_CENTROIDS[waypoints[leg].zone];\n\t\tconst to = ZONE_CENTROIDS[waypoints[leg + 1].zone];\n\t\tconst span = waypoints[leg + 1].minute - waypoints[leg].minute;\n\t\tconst through = (minute - waypoints[leg].minute) / span;\n\t\t// Hold position for the first 60% of a leg, then walk it in the remaining 40%.\n\t\tconst moved = Math.max(0, (through - 0.6) / 0.4);\n\t\ttrack.push({\n\t\t\ttime: new Date(dayStart.getTime() + minute * 60 * 1000),\n\t\t\tat: [from[0] + (to[0] - from[0]) * moved, from[1] + (to[1] - from[1]) * moved],\n\t\t\tonline: online(minute),\n\t\t});\n\t}\n\treturn track;\n}\n\ntype TrackSample = {time: Date; at: [number, number]; online: boolean};\n\n/**\n * Where a responder was at `time` — the last sample at or before it, so it never reports a future\n * position. `online` says whether that is where they *are* or merely where they were last seen.\n */\nfunction sampleAt(track: TrackSample[], time: Date): TrackSample {\n\tconst ms = time.getTime();\n\tif (ms <= track[0].time.getTime()) return track[0];\n\tfor (let i = track.length - 1; i >= 0; i--) if (track[i].time.getTime() <= ms) return track[i];\n\treturn track[track.length - 1];\n}\n\n/** Split a window's samples into one run per unbroken stretch of contact. */\nfunction contactRuns(track: TrackSample[], from: Date, to: Date): [number, number][][] {\n\tconst runs: [number, number][][] = [];\n\tlet run: [number, number][] = [];\n\tfor (const sample of track) {\n\t\tif (sample.time < from || sample.time > to) continue;\n\t\tif (sample.online) run.push(sample.at);\n\t\telse if (run.length) {\n\t\t\truns.push(run);\n\t\t\trun = [];\n\t\t}\n\t}\n\tif (run.length) runs.push(run);\n\treturn runs;\n}\n\n/** Responder ids, declared ahead of the generator so observations can be assigned to them. */\nconst RESPONDER_IDS = [\"r-1\", \"r-2\", \"r-3\", \"r-4\"];\n\n/**\n * Safety responders, with the field set the Safety Manager responder list records. Placed at zone\n * centres so they read as posted to an area rather than scattered.\n */\nconst RESPONDERS: (ResponderDetail & {zoneIndex: number})[] = [\n\t{\n\t\tid: \"r-1\",\n\t\tzoneIndex: 4,\n\t\tname: \"Miguel Santos\",\n\t\tinitials: \"MS\",\n\t\trole: \"Safety Officer\",\n\t\ttrade: \"INDIRECT-CONSTRUCTION MANAGER\",\n\t\tonline: true,\n\t\tenrolledSince: \"14 Jul 2026\",\n\t\talertsSent: 78,\n\t\talertsAcked: 61,\n\t\talertsClosed: 54,\n\t\tacknowledgmentRate: \"78%\",\n\t\tavgResponse: \"4m 12s\",\n\t\ttimeOnSite: \"6h 40m\",\n\t\ttimeInAssignedZone: \"5h 02m\",\n\t\tplatformAcks: {Android: 41, iOS: 14, Web: 6},\n\t\tchannel: \"Mobile\",\n\t\tmobileNumber: \"+966 50 118 4402\",\n\t\tcompanies: [\"TR\", \"TR-ACTAVO\", \"TR-AFIC\"],\n\t\tcompanyOverflow: 12,\n\t\tzones: \"All\",\n\t\tpackages: \"NGL Fractionation Trains & Utilities\",\n\t\tobservationSources: [\"ConnectedWorker\", \"WeatherStation\"],\n\t},\n\t{\n\t\tid: \"r-2\",\n\t\tzoneIndex: 10,\n\t\tname: \"Mohammad Junaid Raza\",\n\t\tinitials: \"MR\",\n\t\trole: \"HSE Supervisor\",\n\t\ttrade: \"INDIRECT-HSE SUPERVISOR\",\n\t\tonline: true,\n\t\tenrolledSince: \"02 Jun 2026\",\n\t\talertsSent: 143,\n\t\talertsAcked: 138,\n\t\talertsClosed: 131,\n\t\tacknowledgmentRate: \"96%\",\n\t\tavgResponse: \"1m 48s\",\n\t\ttimeOnSite: \"8h 15m\",\n\t\ttimeInAssignedZone: \"7h 33m\",\n\t\tplatformAcks: {Android: 96, Huawei: 30, Web: 12},\n\t\tchannel: \"Mobile\",\n\t\tmobileNumber: \"+966 55 902 7731\",\n\t\tcompanies: [\"NGMSA-PKG3\", \"SH-PKG5\"],\n\t\tcompanyOverflow: 3,\n\t\tzones: \"NGMSA-PKG3, SH-PKG5\",\n\t\tpackages: \"Utilities & Offsites\",\n\t\tobservationSources: [\"ConnectedWorker\", \"CCTV\", \"ClinicViolation\"],\n\t},\n\t{\n\t\tid: \"r-3\",\n\t\tzoneIndex: 17,\n\t\tname: \"Roberto Cruz Tuazon\",\n\t\tinitials: \"RT\",\n\t\trole: \"Safety Officer\",\n\t\ttrade: \"DIRECT-SAFETY OFFICER\",\n\t\tonline: false,\n\t\tenrolledSince: \"21 Mar 2026\",\n\t\talertsSent: 52,\n\t\talertsAcked: 44,\n\t\talertsClosed: 44,\n\t\tacknowledgmentRate: \"85%\",\n\t\tavgResponse: \"3m 05s\",\n\t\ttimeOnSite: \"-\",\n\t\ttimeInAssignedZone: \"-\",\n\t\tplatformAcks: {iOS: 33, Web: 11},\n\t\tchannel: \"Mobile\",\n\t\tmobileNumber: \"+966 53 664 1198\",\n\t\tcompanies: [\"BQ-PKG10\"],\n\t\tcompanyOverflow: 0,\n\t\tzones: \"BQ-PKG10\",\n\t\tpackages: \"Pipe Laydown & TCF\",\n\t\tobservationSources: [\"Manual\", \"QRCode\"],\n\t},\n\t{\n\t\tid: \"r-4\",\n\t\tzoneIndex: 25,\n\t\tname: \"Muhammad Aqeel\",\n\t\tinitials: \"MA\",\n\t\trole: \"HSE Officer\",\n\t\ttrade: \"INDIRECT-HSE OFFICER\",\n\t\tonline: true,\n\t\tenrolledSince: \"09 May 2026\",\n\t\talertsSent: 97,\n\t\talertsAcked: 90,\n\t\talertsClosed: 71,\n\t\tacknowledgmentRate: \"93%\",\n\t\tavgResponse: \"2m 21s\",\n\t\ttimeOnSite: \"7h 04m\",\n\t\ttimeInAssignedZone: \"6h 11m\",\n\t\tplatformAcks: {Android: 72, Web: 18},\n\t\tchannel: \"Mobile\",\n\t\tmobileNumber: \"+966 56 447 3390\",\n\t\tcompanies: [\"TR-PKG1\", \"TR-PKG2\"],\n\t\tcompanyOverflow: 5,\n\t\tzones: \"TR-PKG1, TR-PKG2\",\n\t\tpackages: \"NGL Trains 1 & 2\",\n\t\tobservationSources: [\"ConnectedWorker\", \"AVL\"],\n\t},\n];\n\n/** One camera per zone centre — a camera watches a zone, and the badge counts what it caught. */\nfunction buildCameras(observations: ReturnType<typeof buildObservations>) {\n\treturn RNGLF_ZONES.slice(0, 14).map((zone, i) => {\n\t\tconst [lng, lat] = ZONE_CENTROIDS[i];\n\t\t// Attribute the observations that fell nearest this camera — it is what the badge counts and\n\t\t// what the camera panel lists, so both read off one array.\n\t\tconst caught = observations.filter((o) => {\n\t\t\tconst dx = o.coordinates[0] - lng;\n\t\t\tconst dy = o.coordinates[1] - lat;\n\t\t\treturn Math.sqrt(dx * dx + dy * dy) < 0.0016;\n\t\t});\n\t\treturn {\n\t\t\tid: zone.id,\n\t\t\tname: `CAM ${String(i + 1).padStart(2, \"0\")}`,\n\t\t\tzone: zone.name ?? String(zone.id),\n\t\t\tcoordinates: [lng, lat] as [number, number],\n\t\t\tviolations: caught.length,\n\t\t\tcaught,\n\t\t};\n\t});\n}\n\nexport interface ObservationsMapViewProps {\n\tclassName?: string;\n}\n\n/**\n * The Observations Map as a whole working view: a day of safety observations over the RNGLF site,\n * with cameras, responders and their tracks, a five-minute timeline, filter and display panels, a\n * key, and the ticket / camera / responder detail panels a marker opens.\n *\n * Everything it draws is generated here — observations, cameras, responder whereabouts — so it runs\n * on its own with no data wiring. It fills its parent, which owns the height.\n *\n * @deprecated Preview/demo prototype — renders built-in sample data and mock handlers. Not a\n * supported production import: compose your own view from `ObservationsMap` and the map panels,\n * wired to your data.\n */\nexport function ObservationsMapView({className}: ObservationsMapViewProps) {\n\t// Off by default: the zones now carry the real geography, so the dashed footprint is noise until a\n\t// blueprint image exists to drape.\n\tconst [showBlueprint, setShowBlueprint] = React.useState(false);\n\tconst [showZones, setShowZones] = React.useState(true);\n\tconst [mapStyle, setMapStyle] = React.useState(MAP_STYLES[0].value);\n\t// Empty means \"no filter\" for both — 90 zones and 3 statuses are unwieldy to pre-select.\n\tconst [zoneFilter, setZoneFilter] = React.useState<string[]>([]);\n\tconst [statusFilter, setStatusFilter] = React.useState<string[]>([]);\n\tconst [severityFilter, setSeverityFilter] = React.useState<string[]>([]);\n\tconst [sourceFilter, setSourceFilter] = React.useState<string[]>([]);\n\tconst [categoryFilter, setCategoryFilter] = React.useState<string[]>([]);\n\tconst [companyFilter, setCompanyFilter] = React.useState<string[]>([]);\n\tconst [showCameras, setShowCameras] = React.useState(true);\n\tconst [showZoneNames, setShowZoneNames] = React.useState(true);\n\tconst [showResponders, setShowResponders] = React.useState(true);\n\tconst [colorBy, setColorBy] = React.useState<ColorBy>(\"status\");\n\t// A collapsed timeline frees the right of its row, so the legend drops down beside it.\n\tconst [timelineCollapsed, setTimelineCollapsed] = React.useState(false);\n\tconst [openResponderId, setOpenResponderId] = React.useState<string | number | null>(null);\n\t// The open ticket, plus any lifecycle edits made to it from the panel.\n\tconst [openTicketId, setOpenTicketId] = React.useState<string | null>(null);\n\t// Set while a camera is open. A ticket drilled into from it keeps this, which is what makes Back work.\n\tconst [openCameraId, setOpenCameraId] = React.useState<string | number | null>(null);\n\tconst [ticketEdits, setTicketEdits] = React.useState<Record<string, Partial<ObservationDetail>>>({});\n\tconst [commentsById, setCommentsById] = React.useState<Record<string, CommentItem[]>>({});\n\tconst [draft, setDraft] = React.useState(\"\");\n\n\t// Live day. Nothing is generated past `maxTime`, so the hours ahead of now are empty because there\n\t// is no data yet — not because the window is hiding it.\n\tconst [selectedDate, setSelectedDate] = React.useState(() => startOfDay(new Date()));\n\t// The window the map reads. Opens on the last frame — \"now\" means the past few minutes, not the\n\t// hour so far. Drag either handle to widen it.\n\tconst [range, setRange] = React.useState<[Date, Date]>(() => {\n\t\tconst now = new Date();\n\t\treturn [new Date(now.getTime() - FRAME_MINUTES * 60 * 1000), now];\n\t});\n\n\tconst day = React.useMemo(\n\t\t() => ({start: selectedDate, end: new Date(selectedDate.getTime() + 24 * 60 * 60 * 1000)}),\n\t\t[selectedDate],\n\t);\n\n\t// On today's timeline the cursor stops at \"now\"; a past day is fully historical.\n\tconst maxTime = React.useMemo(() => {\n\t\tconst now = new Date();\n\t\treturn startOfDay(now).getTime() === selectedDate.getTime() ? now : day.end;\n\t}, [selectedDate, day.end]);\n\n\tconst observations = React.useMemo(() => buildObservations(day.start, 420, maxTime), [day.start, maxTime]);\n\n\t/**\n\t * The map is a snapshot of the selected window, not a running total from 00:00 — moving or widening\n\t * the range moves through the day rather than accumulating it, which is what keeps the hourly track\n\t * and the pins describing the same thing.\n\t */\n\tconst visible = React.useMemo(\n\t\t() => observations.filter((o) => o.time.getTime() >= range[0].getTime() && o.time.getTime() < range[1].getTime()),\n\t\t[observations, range],\n\t);\n\n\t/**\n\t * Every filter applies to the violations. Zone is one of them — a violation belongs to a zone, so\n\t * filtering by zone scopes the pins as well as the polygons. Cameras are deliberately exempt: they\n\t * watch across zones rather than sitting in one, so a zone filter must not make them vanish.\n\t *\n\t * The timeline keeps showing the whole day's breakdown, so filtering never looks like data loss.\n\t */\n\tconst shownObservations = React.useMemo(\n\t\t() =>\n\t\t\tvisible.filter((o) => {\n\t\t\t\tif (statusFilter.length && !statusFilter.includes(o.status)) return false;\n\t\t\t\tif (zoneFilter.length && !zoneFilter.includes(o.zoneId)) return false;\n\t\t\t\tif (severityFilter.length && !severityFilter.includes(o.severity)) return false;\n\t\t\t\tif (sourceFilter.length && !sourceFilter.includes(o.source)) return false;\n\t\t\t\tif (categoryFilter.length && !categoryFilter.includes(o.category)) return false;\n\t\t\t\tif (companyFilter.length && !companyFilter.includes(o.company ?? UNASSIGNED)) return false;\n\t\t\t\treturn true;\n\t\t\t}),\n\t\t[visible, statusFilter, zoneFilter, severityFilter, sourceFilter, categoryFilter, companyFilter],\n\t);\n\n\tconst cameras = React.useMemo(() => buildCameras(shownObservations), [shownObservations]);\n\n\t/**\n\t * Responders move, so the map cannot pin them to one point for a whole window. Each carries a track\n\t * for the day, and is drawn at their last known position *within the selected range* — the most\n\t * recent place they actually were, not where they ended the day.\n\t */\n\tconst responderTracks = React.useMemo(\n\t\t() => RESPONDERS.map((r, i) => ({...r, track: buildTrack(day.start, r.zoneIndex, 4200 + i * 17)})),\n\t\t[day.start],\n\t);\n\n\tconst placedResponders = React.useMemo(\n\t\t() =>\n\t\t\tresponderTracks.map((r) => {\n\t\t\t\tconst last = sampleAt(r.track, range[1] < maxTime ? range[1] : maxTime);\n\t\t\t\t// Out of contact draws faded and marks the last place they were seen, not where they are.\n\t\t\t\treturn {...r, coordinates: last.at, online: last.online};\n\t\t\t}),\n\t\t[responderTracks, range, maxTime],\n\t);\n\tconst metresBetween = React.useCallback((a: [number, number], b: [number, number]) => {\n\t\tconst dLat = (a[1] - b[1]) * 110574;\n\t\tconst dLng = (a[0] - b[0]) * 111320 * Math.cos((a[1] * Math.PI) / 180);\n\t\treturn Math.hypot(dLat, dLng);\n\t}, []);\n\n\tconst openResponder = React.useMemo(\n\t\t() => placedResponders.find((r) => r.id === openResponderId) ?? null,\n\t\t[placedResponders, openResponderId],\n\t);\n\n\t/**\n\t * Violations a camera accounts for are not drawn on the map. They are reported at the camera's own\n\t * coordinates, so the badge would cover them anyway — and the count on the camera already says how\n\t * many there are. They stay reachable by opening the camera.\n\t */\n\tconst cameraHeldIds = React.useMemo(() => new Set(cameras.flatMap((c) => c.caught.map((o) => o.id))), [cameras]);\n\n\tconst mapObservations = React.useMemo(\n\t\t() => shownObservations.filter((o) => o.located && !cameraHeldIds.has(o.id)),\n\t\t[shownObservations, cameraHeldIds],\n\t);\n\n\t/** Reports with no coordinates. They cannot be pinned, so they get a list instead of being dropped. */\n\tconst unlocated = React.useMemo(() => shownObservations.filter((o) => !o.located), [shownObservations]);\n\n\t/** What the open responder already owns, and what else is close enough for them to take. */\n\tconst responderQueues = React.useMemo(() => {\n\t\tif (!openResponder) return {assigned: [], nearby: []};\n\t\tconst summarise = (o: (typeof shownObservations)[number]) => ({\n\t\t\tid: o.id,\n\t\t\ttitle: o.label,\n\t\t\tstatus: TICKET_STATUS[o.status],\n\t\t\tseverity: o.severity,\n\t\t\ttimestamp: hhmm(o.time),\n\t\t\tdetail: `${Math.round(metresBetween(o.coordinates, sampleAt(openResponder.track, o.time).at))}m away`,\n\t\t});\n\t\treturn {\n\t\t\tassigned: shownObservations.filter((o) => o.assigneeId === openResponder.id).map(summarise),\n\t\t\t// In range is judged per violation, at the moment it was reported — against where the responder\n\t\t\t// actually stood then, not where they happened to end the window. Over a range they move, so a\n\t\t\t// single circle would both miss violations they could have reached and claim ones they could not.\n\t\t\tnearby: shownObservations\n\t\t\t\t.filter((o) => {\n\t\t\t\t\tif (o.assigneeId === openResponder.id) return false;\n\t\t\t\t\tconst was = sampleAt(openResponder.track, o.time);\n\t\t\t\t\t// Out of contact is not \"in range\": there is no knowing where they were, and they were\n\t\t\t\t\t// not reachable. A stale position would claim reach they never had.\n\t\t\t\t\treturn was.online && metresBetween(o.coordinates, was.at) <= COVERAGE_METERS;\n\t\t\t\t})\n\t\t\t\t.map(summarise),\n\t\t};\n\t}, [openResponder, shownObservations, metresBetween]);\n\n\t// Markers take their colour from whichever dimension the map is showing.\n\tconst colouredObservations = React.useMemo(\n\t\t() =>\n\t\t\tmapObservations.map((o) => ({\n\t\t\t\t...o,\n\t\t\t\tcolor: colorBy === \"severity\" ? SEVERITY_META[o.severity].color : STATUS[o.status].color,\n\t\t\t})),\n\t\t[mapObservations, colorBy],\n\t);\n\n\t/**\n\t * What stays lit while something is selected: the open ticket on its own, or a camera together with\n\t * every violation it caught — the camera panel lists them, so the map should show the same set.\n\t */\n\tconst focusedIds = React.useMemo(() => {\n\t\t// A focused responder also stops being nudged off a camera, so its coverage centres on its badge.\n\t\tif (openResponderId) return [openResponderId];\n\t\tif (openTicketId && !openCameraId) return [openTicketId];\n\t\tconst camera = cameras.find((c) => c.id === openCameraId);\n\t\tif (!camera) return undefined;\n\t\t// Its violations are not pins, so there is nothing else to keep lit.\n\t\treturn [camera.id];\n\t}, [openTicketId, openCameraId, openResponderId, cameras]);\n\n\tconst openCamera = React.useMemo(() => cameras.find((c) => c.id === openCameraId) ?? null, [cameras, openCameraId]);\n\n\tconst openTicket = React.useMemo<ObservationDetail | null>(() => {\n\t\tconst o = observations.find((x) => x.id === openTicketId);\n\t\tif (!o) return null;\n\t\t// No coordinates means no zone to derive; the panel says so rather than guessing one.\n\t\tconst zone = !o.located\n\t\t\t? null\n\t\t\t: RNGLF_ZONES.reduce<{name: string; d: number} | null>((best, z) => {\n\t\t\t\t\tconst c = ZONE_CENTROIDS[RNGLF_ZONES.indexOf(z)];\n\t\t\t\t\tconst d = Math.hypot(o.coordinates[0] - c[0], o.coordinates[1] - c[1]);\n\t\t\t\t\treturn !best || d < best.d ? {name: z.name ?? String(z.id), d} : best;\n\t\t\t\t}, null);\n\t\treturn {\n\t\t\tid: o.id,\n\t\t\ttitle: o.label,\n\t\t\tdescription: o.description,\n\t\t\tstatus: TICKET_STATUS[o.status],\n\t\t\tseverity: o.severity,\n\t\t\tsource: o.source,\n\t\t\tcategory: o.category,\n\t\t\tcompany: o.company,\n\t\t\tzone: zone?.name,\n\t\t\tupdatedAt: o.time.toLocaleTimeString([], {hour: \"2-digit\", minute: \"2-digit\"}),\n\t\t\t...ticketEdits[o.id],\n\t\t};\n\t}, [observations, openTicketId, ticketEdits]);\n\n\t// Every lifecycle action drops an audit line into the thread, as the list view does.\n\tconst runAction = React.useCallback(\n\t\t(actionId: string) => {\n\t\t\tif (!openTicket) return;\n\t\t\tconst next: Partial<ObservationDetail> =\n\t\t\t\tactionId === \"open\"\n\t\t\t\t\t? {status: \"open\", assignedTo: \"Muhammad Aqeel\"}\n\t\t\t\t\t: actionId === \"close\"\n\t\t\t\t\t\t? {status: \"closed\", closedBy: \"Roberto Cruz Tuazon\"}\n\t\t\t\t\t\t: actionId === \"reopen\"\n\t\t\t\t\t\t\t? {status: \"open\", assignedTo: \"Muhammad Aqeel\", closedBy: undefined}\n\t\t\t\t\t\t\t: actionId === \"false-positive\"\n\t\t\t\t\t\t\t\t? {status: \"closed\", falsePositive: true}\n\t\t\t\t\t\t\t\t: actionId === \"false-alarm\"\n\t\t\t\t\t\t\t\t\t? {status: \"closed\"}\n\t\t\t\t\t\t\t\t\t: {};\n\t\t\tconst label: Record<string, string> = {\n\t\t\t\topen: \"Marked as opened and assigned to Muhammad Aqeel.\",\n\t\t\t\tclose: \"Closed by Roberto Cruz Tuazon.\",\n\t\t\t\treopen: \"Reopened.\",\n\t\t\t\t\"false-alarm\": \"Marked as false alarm.\",\n\t\t\t\t\"false-positive\": \"Marked as false positive.\",\n\t\t\t\t\"change-severity\": \"Severity change requested.\",\n\t\t\t\t\"set-company\": \"Company assignment requested.\",\n\t\t\t};\n\t\t\tsetTicketEdits((prev) => ({...prev, [openTicket.id]: {...prev[openTicket.id], ...next}}));\n\t\t\tsetCommentsById((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\t[openTicket.id]: [\n\t\t\t\t\t...(prev[openTicket.id] ?? []),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `a-${openTicket.id}-${prev[openTicket.id]?.length ?? 0}`,\n\t\t\t\t\t\tauthor: {name: \"System\", initials: \"S\"},\n\t\t\t\t\t\ttimestamp: \"just now\",\n\t\t\t\t\t\tbody: label[actionId] ?? actionId,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}));\n\t\t},\n\t\t[openTicket],\n\t);\n\n\t/**\n\t * One bar per hour, stacked by status. Observations arrive in the hundreds per day and dozens per\n\t * hour, so an hourly bucket is the honest resolution — finer buckets just add noise to a track that\n\t * is 24 bars wide, and coarser ones hide the shift peaks.\n\t */\n\tconst activity = React.useMemo<TimeScrubberActivity[]>(\n\t\t() =>\n\t\t\tArray.from({length: (24 * 60) / FRAME_MINUTES}, (_, i) => {\n\t\t\t\tconst from = day.start.getTime() + i * FRAME_MINUTES * 60 * 1000;\n\t\t\t\tconst to = from + FRAME_MINUTES * 60 * 1000;\n\t\t\t\tconst time = new Date(from);\n\t\t\t\tconst inFrame = observations.filter((o) => o.time.getTime() >= from && o.time.getTime() < to);\n\t\t\t\t// Bars stack by whatever the map is coloured by, so the two always describe the same split.\n\t\t\t\tconst segments =\n\t\t\t\t\tcolorBy === \"severity\"\n\t\t\t\t\t\t? SEVERITIES.map((level) => ({\n\t\t\t\t\t\t\t\tvalue: inFrame.filter((o) => o.severity === level).length,\n\t\t\t\t\t\t\t\tclassName: SEVERITY_META[level].bar,\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t: // Bottom→top: closed underneath, new on top, so the unresolved work reads at a glance.\n\t\t\t\t\t\t\t([...STATUS_KEYS].reverse().map((k) => ({\n\t\t\t\t\t\t\t\tvalue: inFrame.filter((o) => o.status === k).length,\n\t\t\t\t\t\t\t\tclassName: STATUS[k].bar,\n\t\t\t\t\t\t\t})) as {value: number; className: string}[]);\n\t\t\t\tconst future = from > maxTime.getTime();\n\t\t\t\treturn {\n\t\t\t\t\ttime,\n\t\t\t\t\tvalue: inFrame.length,\n\t\t\t\t\tsegments,\n\t\t\t\t\ttitle: future\n\t\t\t\t\t\t? `${hhmm(time)} — no data yet`\n\t\t\t\t\t\t: `${hhmm(time)} — ${inFrame.length} observation${inFrame.length === 1 ? \"\" : \"s\"}`,\n\t\t\t\t};\n\t\t\t}),\n\t\t[day.start, observations, maxTime, colorBy],\n\t);\n\n\t// \"Now\" snaps the window back to the last frame on today — the most recent five minutes.\n\tconst goToNow = React.useCallback(() => {\n\t\tconst now = new Date();\n\t\tsetSelectedDate(startOfDay(now));\n\t\tsetRange([new Date(now.getTime() - FRAME_MINUTES * 60 * 1000), now]);\n\t}, []);\n\n\t// Switching day carries the window's width and time-of-day onto the new date.\n\tconst changeDate = React.useCallback((date: Date) => {\n\t\tconst start = startOfDay(date);\n\t\tsetSelectedDate(start);\n\t\tsetRange(([from, to]) => {\n\t\t\tconst width = to.getTime() - from.getTime();\n\t\t\tconst offset = from.getTime() - startOfDay(from).getTime();\n\t\t\tconst next = new Date(start.getTime() + offset);\n\t\t\treturn [next, new Date(next.getTime() + width)];\n\t\t});\n\t}, []);\n\n\treturn (\n\t\t// The height is the parent's to give: a story hands it the viewport, a template tab hands it\n\t\t// what is left under the header.\n\t\t<div className={cn(\"wwc:h-full wwc:min-h-0\", className)}>\n\t\t\t<ObservationsMap\n\t\t\t\tfullHeight\n\t\t\t\tclassName=\"wwc:rounded-none\"\n\t\t\t\tshowBlueprint={showBlueprint}\n\t\t\t\tmapStyle={mapStyle}\n\t\t\t\tzones={RNGLF_ZONES}\n\t\t\t\tselectedZoneIds={zoneFilter}\n\t\t\t\t// Captured framing. fitTo must be \"none\" or the bounds fit would override center/zoom on load.\n\t\t\t\tfitTo=\"none\"\n\t\t\t\tcenter={[49.6857, 26.801247]}\n\t\t\t\tzoom={13.27}\n\t\t\t\tbearing={0}\n\t\t\t\tpitch={45.5}\n\t\t\t\tzoneColorMode=\"neutral\"\n\t\t\t\tshowZones={showZones}\n\t\t\t\tshowZoneLabels={showZoneNames}\n\t\t\t\tonZoneSelect={(zone) => {\n\t\t\t\t\t// Clicking a zone toggles it in the filter — the same selection the dropdown drives, so\n\t\t\t\t\t// the click zooms, outlines and filters rather than just naming what was hit.\n\t\t\t\t\tconst id = String(zone.id);\n\t\t\t\t\tsetZoneFilter((prev) => (prev.includes(id) ? prev.filter((z) => z !== id) : [...prev, id]));\n\t\t\t\t}}\n\t\t\t\tobservations={colouredObservations}\n\t\t\t\trenderHoverCard={({kind, id}) => {\n\t\t\t\t\tif (kind === \"observation\") {\n\t\t\t\t\t\tconst o = observations.find((x) => x.id === id);\n\t\t\t\t\t\tif (!o) return null;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MapHoverCard\n\t\t\t\t\t\t\t\ttitle={o.label}\n\t\t\t\t\t\t\t\tbadges={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<Badge variant=\"neutralSoft\">{STATUS[o.status].label}</Badge>\n\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\">{o.severity}</Badge>\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\trows={[\n\t\t\t\t\t\t\t\t\t{label: \"Reported\", value: hhmm(o.time)},\n\t\t\t\t\t\t\t\t\t{label: \"Source\", value: o.source},\n\t\t\t\t\t\t\t\t\t{label: \"Company\", value: o.company ?? \"Not Determined\"},\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\tfooter=\"Click to open the ticket\"\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\tif (kind === \"camera\") {\n\t\t\t\t\t\tconst c = cameras.find((x) => x.id === id);\n\t\t\t\t\t\tif (!c) return null;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MapHoverCard\n\t\t\t\t\t\t\t\ttitle={c.name}\n\t\t\t\t\t\t\t\tbadges={<Badge variant=\"neutralSoft\">{c.violations} in window</Badge>}\n\t\t\t\t\t\t\t\t// Stands in for the live feed until streams are wired in.\n\t\t\t\t\t\t\t\tmedia={\n\t\t\t\t\t\t\t\t\t<div className=\"wwc:flex wwc:h-16 wwc:items-center wwc:justify-center wwc:border-b wwc:border-border wwc:bg-muted wwc:text-[11px] wwc:text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\tNo preview\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trows={[\n\t\t\t\t\t\t\t\t\t{label: \"Type\", value: \"Fixed CCTV\"},\n\t\t\t\t\t\t\t\t\t{label: \"Location\", value: c.zone},\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\tfooter=\"Click to open the camera\"\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\tconst r = placedResponders.find((x) => x.id === id);\n\t\t\t\t\tif (!r) return null;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MapHoverCard\n\t\t\t\t\t\t\ttitle={r.name}\n\t\t\t\t\t\t\tbadges={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Badge variant={r.online ? \"successSoft\" : \"neutralSoft\"}>{r.online ? \"Online\" : \"Offline\"}</Badge>\n\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\">{r.role}</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\trows={[\n\t\t\t\t\t\t\t\t{label: \"Acked\", value: `${r.acknowledgmentRate ?? \"-\"}`},\n\t\t\t\t\t\t\t\t{label: \"Avg. response\", value: r.avgResponse ?? \"-\"},\n\t\t\t\t\t\t\t\t{label: \"Zones\", value: r.zones ?? \"-\"},\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tfooter={`Reaches ${COVERAGE_METERS}m around them`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t\tonObservationSelect={(observation) => {\n\t\t\t\t\tsetOpenTicketId(observation.id);\n\t\t\t\t\tsetOpenCameraId(null);\n\t\t\t\t\tsetOpenResponderId(null);\n\t\t\t\t}}\n\t\t\t\tcameras={cameras}\n\t\t\t\tresponders={placedResponders}\n\t\t\t\t// A selected responder shows where they went in this window and the ground that put in reach.\n\t\t\t\t// The corridor's round caps already cover the endpoint, so no separate circle is needed.\n\t\t\t\ttrack={\n\t\t\t\t\topenResponder\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t// One segment per unbroken run of contact, so an offline stretch is drawn as a gap\n\t\t\t\t\t\t\t\t// rather than a straight line across ground nobody walked.\n\t\t\t\t\t\t\t\tsegments: contactRuns(openResponder.track, range[0], range[1] < maxTime ? range[1] : maxTime),\n\t\t\t\t\t\t\t\tradiusMeters: COVERAGE_METERS,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tshowResponders={showResponders}\n\t\t\t\tonResponderSelect={(responder) => {\n\t\t\t\t\tsetOpenResponderId(responder.id);\n\t\t\t\t\tsetOpenTicketId(null);\n\t\t\t\t\tsetOpenCameraId(null);\n\t\t\t\t}}\n\t\t\t\tfocusedIds={focusedIds}\n\t\t\t\tonBackgroundClick={() => {\n\t\t\t\t\tsetOpenTicketId(null);\n\t\t\t\t\tsetOpenCameraId(null);\n\t\t\t\t}}\n\t\t\t\tshowCameras={showCameras}\n\t\t\t\tonCameraSelect={(camera) => {\n\t\t\t\t\tsetOpenCameraId(camera.id);\n\t\t\t\t\tsetOpenTicketId(null);\n\t\t\t\t\tsetOpenResponderId(null);\n\t\t\t\t}}\n\t\t\t\tdetail={\n\t\t\t\t\topenTicket ? (\n\t\t\t\t\t\t<ObservationDetailPanel\n\t\t\t\t\t\t\tobservation={openTicket}\n\t\t\t\t\t\t\tonClose={() => setOpenTicketId(null)}\n\t\t\t\t\t\t\tprimaryAction={actionsFor(openTicket).primary}\n\t\t\t\t\t\t\tsecondaryActions={actionsFor(openTicket).secondary}\n\t\t\t\t\t\t\tonAction={runAction}\n\t\t\t\t\t\t\tcomments={commentsById[openTicket.id] ?? []}\n\t\t\t\t\t\t\tcommentValue={draft}\n\t\t\t\t\t\t\tonCommentValueChange={setDraft}\n\t\t\t\t\t\t\tonCommentSubmit={(html) => {\n\t\t\t\t\t\t\t\t// CommentItem.body renders as a node, not markup — the composer hands back HTML,\n\t\t\t\t\t\t\t\t// so flatten it to text rather than printing the tags.\n\t\t\t\t\t\t\t\tconst text = html\n\t\t\t\t\t\t\t\t\t.replace(/<\\/(p|div|li)>/g, \"\\n\")\n\t\t\t\t\t\t\t\t\t.replace(/<[^>]+>/g, \"\")\n\t\t\t\t\t\t\t\t\t.trim();\n\t\t\t\t\t\t\t\tif (!text) return;\n\t\t\t\t\t\t\t\tsetCommentsById((prev) => ({\n\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t[openTicket.id]: [\n\t\t\t\t\t\t\t\t\t\t...(prev[openTicket.id] ?? []),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: `c-${openTicket.id}-${prev[openTicket.id]?.length ?? 0}`,\n\t\t\t\t\t\t\t\t\t\t\tauthor: {name: \"You\", initials: \"Y\"},\n\t\t\t\t\t\t\t\t\t\t\ttimestamp: \"just now\",\n\t\t\t\t\t\t\t\t\t\t\tbody: text,\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\tsetDraft(\"\");\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonBack={openCamera || openResponder ? () => setOpenTicketId(null) : undefined}\n\t\t\t\t\t\t\tbackLabel={\n\t\t\t\t\t\t\t\topenCamera ? `Back to ${openCamera.name}` : openResponder ? `Back to ${openResponder.name}` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : openResponder ? (\n\t\t\t\t\t\t<ResponderDetailPanel\n\t\t\t\t\t\t\tresponder={openResponder}\n\t\t\t\t\t\t\tassigned={responderQueues.assigned}\n\t\t\t\t\t\t\tnearby={responderQueues.nearby}\n\t\t\t\t\t\t\tcoverageMeters={COVERAGE_METERS}\n\t\t\t\t\t\t\tonViolationSelect={(v) => setOpenTicketId(v.id)}\n\t\t\t\t\t\t\tonClose={() => setOpenResponderId(null)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : openCamera ? (\n\t\t\t\t\t\t<CameraDetailPanel\n\t\t\t\t\t\t\tcamera={{\n\t\t\t\t\t\t\t\tid: openCamera.id,\n\t\t\t\t\t\t\t\tname: openCamera.name,\n\t\t\t\t\t\t\t\tkind: \"Fixed CCTV\",\n\t\t\t\t\t\t\t\tlocation: openCamera.zone,\n\t\t\t\t\t\t\t\tstate: \"Online\",\n\t\t\t\t\t\t\t\t// No thumbnailUrl yet — the panel shows its placeholder until real stills or a\n\t\t\t\t\t\t\t\t// live stream are wired in.\n\t\t\t\t\t\t\t\tlive: true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tviolations={openCamera.caught.map((o) => ({\n\t\t\t\t\t\t\t\tid: o.id,\n\t\t\t\t\t\t\t\ttitle: o.label,\n\t\t\t\t\t\t\t\tstatus: TICKET_STATUS[o.status],\n\t\t\t\t\t\t\t\tseverity: o.severity,\n\t\t\t\t\t\t\t\ttimestamp: o.time.toLocaleTimeString([], {hour: \"2-digit\", minute: \"2-digit\"}),\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\tonViolationSelect={(v) => setOpenTicketId(v.id)}\n\t\t\t\t\t\t\tonClose={() => setOpenCameraId(null)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\tlegendInline={timelineCollapsed}\n\t\t\t\tlegend={\n\t\t\t\t\t<MapLegend\n\t\t\t\t\t\tsections={[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// The key tracks whatever the map is coloured by, so it never describes the other scheme.\n\t\t\t\t\t\t\t\ttitle: colorBy === \"severity\" ? \"Severity\" : \"Status\",\n\t\t\t\t\t\t\t\titems:\n\t\t\t\t\t\t\t\t\tcolorBy === \"severity\"\n\t\t\t\t\t\t\t\t\t\t? SEVERITIES.map((level) => ({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: level,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: SEVERITY_META[level].color,\n\t\t\t\t\t\t\t\t\t\t\t\tshape: \"circle\" as const,\n\t\t\t\t\t\t\t\t\t\t\t\ticon: HAZARD_ICON,\n\t\t\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t\t\t: STATUS_KEYS.map((k) => ({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: STATUS[k].label,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: STATUS[k].color,\n\t\t\t\t\t\t\t\t\t\t\t\tshape: \"circle\" as const,\n\t\t\t\t\t\t\t\t\t\t\t\ticon: HAZARD_ICON,\n\t\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: \"On site\",\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t{label: \"Camera\", color: \"#3d4a5c\", shape: \"square\" as const, icon: CAMERA_ICON},\n\t\t\t\t\t\t\t\t\t{label: \"Responder\", color: \"#2f6b63\", shape: \"square\" as const, icon: RESPONDER_ICON},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: \"Areas\",\n\t\t\t\t\t\t\t\titems: [{label: \"Zone\", color: \"#64748b\", shape: \"fill\" as const}],\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\tcontrols={\n\t\t\t\t\t// Two panels side by side — what is shown, and how it is drawn — with the unlocated list\n\t\t\t\t\t// stacked beneath them. Each folds independently.\n\t\t\t\t\t<div className=\"wwc:flex wwc:flex-col wwc:gap-2\">\n\t\t\t\t\t\t<div className=\"wwc:flex wwc:items-start wwc:gap-2\">\n\t\t\t\t\t\t\t<MapControlPanel\n\t\t\t\t\t\t\t\ttitle=\"Filters\"\n\t\t\t\t\t\t\t\t// Folded until asked for — the map is the content, the controls are the aside.\n\t\t\t\t\t\t\t\tdefaultCollapsed\n\t\t\t\t\t\t\t\tonClear={() => {\n\t\t\t\t\t\t\t\t\tsetZoneFilter([]);\n\t\t\t\t\t\t\t\t\tsetStatusFilter([]);\n\t\t\t\t\t\t\t\t\tsetCategoryFilter([]);\n\t\t\t\t\t\t\t\t\tsetSeverityFilter([]);\n\t\t\t\t\t\t\t\t\tsetSourceFilter([]);\n\t\t\t\t\t\t\t\t\tsetCompanyFilter([]);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tselects={[\n\t\t\t\t\t\t\t\t\t// The dimension the map is coloured by leads as coloured chips; the other becomes a plain\n\t\t\t\t\t\t\t\t\t// dropdown. Switching `colorBy` swaps which is which.\n\t\t\t\t\t\t\t\t\tcolorBy === \"severity\"\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"severity-chips\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Severity\",\n\t\t\t\t\t\t\t\t\t\t\t\tas: \"chips\" as const,\n\t\t\t\t\t\t\t\t\t\t\t\t// Five labels will not fit one row; a three-column grid keeps them even.\n\t\t\t\t\t\t\t\t\t\t\t\tchipColumns: 3,\n\t\t\t\t\t\t\t\t\t\t\t\toptions: SEVERITIES.map((level) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: level,\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: level,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: SEVERITY_META[level].color,\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\tvalue: severityFilter,\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange: setSeverityFilter,\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\tid: \"status-chips\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Status\",\n\t\t\t\t\t\t\t\t\t\t\t\t// Three options — a segmented row shows all of them at once instead of hiding them.\n\t\t\t\t\t\t\t\t\t\t\t\tas: \"chips\" as const,\n\t\t\t\t\t\t\t\t\t\t\t\toptions: STATUS_KEYS.map((k) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: k,\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: STATUS[k].label,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: STATUS[k].color,\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\tvalue: statusFilter,\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange: setStatusFilter,\n\t\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\tid: \"zone-filter\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Zones\",\n\t\t\t\t\t\t\t\t\t\tplaceholder: `All zones (${RNGLF_ZONES.length})`,\n\t\t\t\t\t\t\t\t\t\toptions: RNGLF_ZONES.map((z) => ({value: String(z.id), label: z.name ?? String(z.id)})),\n\t\t\t\t\t\t\t\t\t\tvalue: zoneFilter,\n\t\t\t\t\t\t\t\t\t\tonValueChange: setZoneFilter,\n\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\tid: \"company-filter\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Companies\",\n\t\t\t\t\t\t\t\t\t\tplaceholder: \"All companies\",\n\t\t\t\t\t\t\t\t\t\toptions: COMPANIES.map((c) => ({value: c ?? UNASSIGNED, label: c ?? \"Unassigned\"})),\n\t\t\t\t\t\t\t\t\t\tvalue: companyFilter,\n\t\t\t\t\t\t\t\t\t\tonValueChange: setCompanyFilter,\n\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\tid: \"source-filter\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Sources\",\n\t\t\t\t\t\t\t\t\t\tplaceholder: \"All sources\",\n\t\t\t\t\t\t\t\t\t\toptions: SOURCES.map((v) => ({value: v, label: v})),\n\t\t\t\t\t\t\t\t\t\tvalue: sourceFilter,\n\t\t\t\t\t\t\t\t\t\tonValueChange: setSourceFilter,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t// The dimension not being coloured by sits here as an uncoloured dropdown.\n\t\t\t\t\t\t\t\t\tcolorBy === \"severity\"\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"status-filter\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Status\",\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: \"All statuses\",\n\t\t\t\t\t\t\t\t\t\t\t\toptions: STATUS_KEYS.map((k) => ({value: k, label: STATUS[k].label})),\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: statusFilter,\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange: setStatusFilter,\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\tid: \"severity-filter\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Severity\",\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: \"All severities\",\n\t\t\t\t\t\t\t\t\t\t\t\toptions: SEVERITIES.map((v) => ({value: v, label: v})),\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: severityFilter,\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange: setSeverityFilter,\n\t\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\tid: \"category-filter\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Type\",\n\t\t\t\t\t\t\t\t\t\tplaceholder: \"All types\",\n\t\t\t\t\t\t\t\t\t\toptions: CATEGORIES.map((c) => ({value: c, label: c})),\n\t\t\t\t\t\t\t\t\t\tvalue: categoryFilter,\n\t\t\t\t\t\t\t\t\t\tonValueChange: setCategoryFilter,\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\n\t\t\t\t\t\t\t<MapControlPanel\n\t\t\t\t\t\t\t\ttitle=\"Settings\"\n\t\t\t\t\t\t\t\tdefaultCollapsed\n\t\t\t\t\t\t\t\t// Narrower than Filters: one dropdown and four switches, with no pills to hold.\n\t\t\t\t\t\t\t\twidth={220}\n\t\t\t\t\t\t\t\tselects={[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: \"color-by\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Show by\",\n\t\t\t\t\t\t\t\t\t\t// Two options — a pair of chips is quicker to read and to hit than a dropdown.\n\t\t\t\t\t\t\t\t\t\tas: \"chips\",\n\t\t\t\t\t\t\t\t\t\tsingle: true,\n\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t{value: \"status\", label: \"Status\"},\n\t\t\t\t\t\t\t\t\t\t\t{value: \"severity\", label: \"Severity\"},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tvalue: [colorBy],\n\t\t\t\t\t\t\t\t\t\tonValueChange: ([next]) => setColorBy(next as ColorBy),\n\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\tid: \"map-type\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Map type\",\n\t\t\t\t\t\t\t\t\t\tsingle: true,\n\t\t\t\t\t\t\t\t\t\toptions: MAP_STYLES,\n\t\t\t\t\t\t\t\t\t\tvalue: [mapStyle],\n\t\t\t\t\t\t\t\t\t\tonValueChange: ([next]) => setMapStyle(next),\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\ttoggles={[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: \"panel-blueprint\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Blueprint\",\n\t\t\t\t\t\t\t\t\t\tchecked: showBlueprint,\n\t\t\t\t\t\t\t\t\t\tonCheckedChange: setShowBlueprint,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{id: \"panel-zones\", label: \"Zones\", checked: showZones, onCheckedChange: setShowZones},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: \"panel-zone-names\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Zone names\",\n\t\t\t\t\t\t\t\t\t\tchecked: showZoneNames,\n\t\t\t\t\t\t\t\t\t\tonCheckedChange: setShowZoneNames,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{id: \"panel-cameras\", label: \"Cameras\", checked: showCameras, onCheckedChange: setShowCameras},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: \"panel-responders\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Responders\",\n\t\t\t\t\t\t\t\t\t\tchecked: showResponders,\n\t\t\t\t\t\t\t\t\t\tonCheckedChange: setShowResponders,\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</div>\n\n\t\t\t\t\t\t{/* Reports with no coordinates cannot be pinned, so they get a list. Same rows as every\n\t\t\t\t\t\t other route into a ticket, and the same right-hand panel opens. */}\n\t\t\t\t\t\t{/* Always present, even at nothing: a panel that appears and disappears as the window\n\t\t\t\t\t\t changes is impossible to rely on, and \"none right now\" is itself worth knowing. */}\n\t\t\t\t\t\t<MapControlPanel\n\t\t\t\t\t\t\ttitle={`No location (${unlocated.length})`}\n\t\t\t\t\t\t\t// Opened by default, and the only panel that is: these reports are not on the map, so\n\t\t\t\t\t\t\t// this list is the only place they can be noticed at all.\n\t\t\t\t\t\t\t// Shorter than a filter panel: it is a queue to dip into, not the main control.\n\t\t\t\t\t\t\tmaxHeight=\"34vh\"\n\t\t\t\t\t\t\t// Borderless and edge-faded, so the queue reads as part of the map rather than a\n\t\t\t\t\t\t\t// control panel sitting on it.\n\t\t\t\t\t\t\tclassName=\"wwc:border-0\"\n\t\t\t\t\t\t\tfadeEdges\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{unlocated.length === 0 ? (\n\t\t\t\t\t\t\t\t<p className=\"wwc:py-2 wwc:text-center wwc:text-xs wwc:text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tEverything in this window has a location.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ViolationList\n\t\t\t\t\t\t\t\t\tviolations={unlocated.map((o) => ({\n\t\t\t\t\t\t\t\t\t\tid: o.id,\n\t\t\t\t\t\t\t\t\t\ttitle: o.label,\n\t\t\t\t\t\t\t\t\t\tstatus: TICKET_STATUS[o.status],\n\t\t\t\t\t\t\t\t\t\tseverity: o.severity,\n\t\t\t\t\t\t\t\t\t\ttimestamp: hhmm(o.time),\n\t\t\t\t\t\t\t\t\t\tdetail: o.source,\n\t\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\t\tonSelect={(v) => {\n\t\t\t\t\t\t\t\t\t\tsetOpenTicketId(v.id);\n\t\t\t\t\t\t\t\t\t\tsetOpenCameraId(null);\n\t\t\t\t\t\t\t\t\t\tsetOpenResponderId(null);\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</MapControlPanel>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\ttimeline={{\n\t\t\t\t\tstart: day.start,\n\t\t\t\t\tend: day.end,\n\t\t\t\t\tvariant: \"barGraph\",\n\t\t\t\t\tdata: activity,\n\t\t\t\t\tlabel: (\n\t\t\t\t\t\t<span className=\"wwc:flex wwc:items-center wwc:gap-1\">\n\t\t\t\t\t\t\t<Eye className=\"wwc:h-3 wwc:w-3\" />\n\t\t\t\t\t\t\tObservations\n\t\t\t\t\t\t</span>\n\t\t\t\t\t),\n\t\t\t\t\tcollapsed: timelineCollapsed,\n\t\t\t\t\tonCollapsedChange: setTimelineCollapsed,\n\t\t\t\t\t// Ticks stay hourly even though the bars are five-minute — 288 ticks would be a solid line.\n\t\t\t\t\tminorEveryMinutes: 60,\n\t\t\t\t\tmajorEveryMinutes: 180,\n\t\t\t\t\tlegend:\n\t\t\t\t\t\tcolorBy === \"severity\"\n\t\t\t\t\t\t\t? SEVERITIES.map((level) => ({label: level, className: SEVERITY_META[level].bar}))\n\t\t\t\t\t\t\t: STATUS_KEYS.map((k) => ({label: STATUS[k].label, className: STATUS[k].bar})),\n\t\t\t\t\t// Two handles, not a playhead: the map reads a window, so the control that sets it is a range.\n\t\t\t\t\trangeValue: range,\n\t\t\t\t\tonRangeValueChange: setRange,\n\t\t\t\t\tmax: maxTime,\n\t\t\t\t\tdate: selectedDate,\n\t\t\t\t\tonDateChange: changeDate,\n\t\t\t\t\tonNow: goToNow,\n\t\t\t\t\tvalueLabel: `${shownObservations.length} in ${hhmm(range[0])}–${hhmm(range[1])} · ${mapObservations.length} on map / ${cameraHeldIds.size} on cameras${unlocated.length ? ` / ${unlocated.length} unlocated` : \"\"}`,\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Organization } from "../types.mjs";
2
+ //#region src/pages/core-org-ai-report.d.ts
3
+ interface OrgAIReportProps {
4
+ selectedOrg: Organization;
5
+ }
6
+ /** AI-powered report generation with chat interface and dynamic chart widgets. */
7
+ export declare function OrgAIReport({ selectedOrg: _selectedOrg }: OrgAIReportProps): import("react/jsx-runtime").JSX.Element;
8
+ //#endregion
9
+ //# sourceMappingURL=core-org-ai-report.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-org-ai-report.d.mts","names":[],"sources":["../../src/pages/core-org-ai-report.tsx"],"mappings":";;UA6BU;EACT,aAAa;;;wBAqBE,cAAa,aAAa,gBAAe,+CAAgB,IAAA"}