@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.
- package/bin/intent.js +20 -0
- package/dist/accordion.d.mts +11 -0
- package/dist/accordion.d.mts.map +1 -0
- package/dist/accordion.mjs +42 -0
- package/dist/accordion.mjs.map +1 -0
- package/dist/activity-log.d.mts +29 -0
- package/dist/activity-log.d.mts.map +1 -0
- package/dist/activity-log.mjs +60 -0
- package/dist/activity-log.mjs.map +1 -0
- package/dist/activity-sheet.d.mts +18 -0
- package/dist/activity-sheet.d.mts.map +1 -0
- package/dist/activity-sheet.mjs +167 -0
- package/dist/activity-sheet.mjs.map +1 -0
- package/dist/add-clinic-location-dialog.d.mts +21 -0
- package/dist/add-clinic-location-dialog.d.mts.map +1 -0
- package/dist/add-clinic-location-dialog.mjs +96 -0
- package/dist/add-clinic-location-dialog.mjs.map +1 -0
- package/dist/add-clinic-visit-dialog.d.mts +51 -0
- package/dist/add-clinic-visit-dialog.d.mts.map +1 -0
- package/dist/add-clinic-visit-dialog.mjs +307 -0
- package/dist/add-clinic-visit-dialog.mjs.map +1 -0
- package/dist/add-observation-dialog.d.mts +36 -0
- package/dist/add-observation-dialog.d.mts.map +1 -0
- package/dist/add-observation-dialog.mjs +269 -0
- package/dist/add-observation-dialog.mjs.map +1 -0
- package/dist/alert-dialog.d.mts +24 -0
- package/dist/alert-dialog.d.mts.map +1 -0
- package/dist/alert-dialog.mjs +62 -0
- package/dist/alert-dialog.mjs.map +1 -0
- package/dist/alert.d.mts +12 -0
- package/dist/alert.d.mts.map +1 -0
- package/dist/alert.mjs +36 -0
- package/dist/alert.mjs.map +1 -0
- package/dist/app-card.d.mts +21 -0
- package/dist/app-card.d.mts.map +1 -0
- package/dist/app-card.mjs +49 -0
- package/dist/app-card.mjs.map +1 -0
- package/dist/app-shell.d.mts +39 -0
- package/dist/app-shell.d.mts.map +1 -0
- package/dist/app-shell.mjs +79 -0
- package/dist/app-shell.mjs.map +1 -0
- package/dist/aspect-ratio.d.mts +8 -0
- package/dist/aspect-ratio.d.mts.map +1 -0
- package/dist/aspect-ratio.mjs +14 -0
- package/dist/aspect-ratio.mjs.map +1 -0
- package/dist/asset-list-item.d.mts +36 -0
- package/dist/asset-list-item.d.mts.map +1 -0
- package/dist/asset-list-item.mjs +51 -0
- package/dist/asset-list-item.mjs.map +1 -0
- package/dist/assign-doctor-dialog.d.mts +28 -0
- package/dist/assign-doctor-dialog.d.mts.map +1 -0
- package/dist/assign-doctor-dialog.mjs +194 -0
- package/dist/assign-doctor-dialog.mjs.map +1 -0
- package/dist/attention-list.d.mts +29 -0
- package/dist/attention-list.d.mts.map +1 -0
- package/dist/attention-list.mjs +82 -0
- package/dist/attention-list.mjs.map +1 -0
- package/dist/avatar-status-dot.d.mts +22 -0
- package/dist/avatar-status-dot.d.mts.map +1 -0
- package/dist/avatar-status-dot.mjs +72 -0
- package/dist/avatar-status-dot.mjs.map +1 -0
- package/dist/avatar.d.mts +34 -0
- package/dist/avatar.d.mts.map +1 -0
- package/dist/avatar.mjs +103 -0
- package/dist/avatar.mjs.map +1 -0
- package/dist/badge.d.mts +18 -0
- package/dist/badge.d.mts.map +1 -0
- package/dist/badge.mjs +39 -0
- package/dist/badge.mjs.map +1 -0
- package/dist/banner.d.mts +18 -0
- package/dist/banner.d.mts.map +1 -0
- package/dist/banner.mjs +74 -0
- package/dist/banner.mjs.map +1 -0
- package/dist/blockquote.d.mts +13 -0
- package/dist/blockquote.d.mts.map +1 -0
- package/dist/blockquote.mjs +22 -0
- package/dist/blockquote.mjs.map +1 -0
- package/dist/blueprint-segment.d.mts +33 -0
- package/dist/blueprint-segment.d.mts.map +1 -0
- package/dist/blueprint-segment.mjs +59 -0
- package/dist/blueprint-segment.mjs.map +1 -0
- package/dist/bottom-sheet-switcher.d.mts +32 -0
- package/dist/bottom-sheet-switcher.d.mts.map +1 -0
- package/dist/bottom-sheet-switcher.mjs +40 -0
- package/dist/bottom-sheet-switcher.mjs.map +1 -0
- package/dist/bottom-sheet.d.mts +23 -0
- package/dist/bottom-sheet.d.mts.map +1 -0
- package/dist/bottom-sheet.mjs +91 -0
- package/dist/bottom-sheet.mjs.map +1 -0
- package/dist/breadcrumb.d.mts +39 -0
- package/dist/breadcrumb.d.mts.map +1 -0
- package/dist/breadcrumb.mjs +95 -0
- package/dist/breadcrumb.mjs.map +1 -0
- package/dist/breadcrumbs.d.mts +2 -0
- package/dist/breadcrumbs.mjs +2 -0
- package/dist/browser-tabs.d.mts +40 -0
- package/dist/browser-tabs.d.mts.map +1 -0
- package/dist/browser-tabs.mjs +127 -0
- package/dist/browser-tabs.mjs.map +1 -0
- package/dist/building-model-placeholder.d.mts +46 -0
- package/dist/building-model-placeholder.d.mts.map +1 -0
- package/dist/building-model-placeholder.mjs +175 -0
- package/dist/building-model-placeholder.mjs.map +1 -0
- package/dist/building-progress.d.mts +32 -0
- package/dist/building-progress.d.mts.map +1 -0
- package/dist/building-progress.mjs +74 -0
- package/dist/building-progress.mjs.map +1 -0
- package/dist/building-viewer.d.mts +91 -0
- package/dist/building-viewer.d.mts.map +1 -0
- package/dist/building-viewer.mjs +567 -0
- package/dist/building-viewer.mjs.map +1 -0
- package/dist/button-group.d.mts +8 -0
- package/dist/button-group.d.mts.map +1 -0
- package/dist/button-group.mjs +21 -0
- package/dist/button-group.mjs.map +1 -0
- package/dist/button.d.mts +21 -0
- package/dist/button.d.mts.map +1 -0
- package/dist/button.mjs +79 -0
- package/dist/button.mjs.map +1 -0
- package/dist/calendar-view.d.mts +47 -0
- package/dist/calendar-view.d.mts.map +1 -0
- package/dist/calendar-view.mjs +165 -0
- package/dist/calendar-view.mjs.map +1 -0
- package/dist/calendar.d.mts +15 -0
- package/dist/calendar.d.mts.map +1 -0
- package/dist/calendar.mjs +94 -0
- package/dist/calendar.mjs.map +1 -0
- package/dist/camera-detail-panel.d.mts +44 -0
- package/dist/camera-detail-panel.d.mts.map +1 -0
- package/dist/camera-detail-panel.mjs +105 -0
- package/dist/camera-detail-panel.mjs.map +1 -0
- package/dist/canvas-file-picker.d.mts +28 -0
- package/dist/canvas-file-picker.d.mts.map +1 -0
- package/dist/canvas-file-picker.mjs +90 -0
- package/dist/canvas-file-picker.mjs.map +1 -0
- package/dist/canvas-header.d.mts +28 -0
- package/dist/canvas-header.d.mts.map +1 -0
- package/dist/canvas-header.mjs +42 -0
- package/dist/canvas-header.mjs.map +1 -0
- package/dist/canvas-navigator.d.mts +87 -0
- package/dist/canvas-navigator.d.mts.map +1 -0
- package/dist/canvas-navigator.mjs +426 -0
- package/dist/canvas-navigator.mjs.map +1 -0
- package/dist/canvas-toolbar.d.mts +37 -0
- package/dist/canvas-toolbar.d.mts.map +1 -0
- package/dist/canvas-toolbar.mjs +65 -0
- package/dist/canvas-toolbar.mjs.map +1 -0
- package/dist/capture-route-minimap.d.mts +40 -0
- package/dist/capture-route-minimap.d.mts.map +1 -0
- package/dist/capture-route-minimap.mjs +438 -0
- package/dist/capture-route-minimap.mjs.map +1 -0
- package/dist/card.d.mts +17 -0
- package/dist/card.d.mts.map +1 -0
- package/dist/card.mjs +63 -0
- package/dist/card.mjs.map +1 -0
- package/dist/carousel.d.mts +23 -0
- package/dist/carousel.d.mts.map +1 -0
- package/dist/carousel.mjs +141 -0
- package/dist/carousel.mjs.map +1 -0
- package/dist/catalogue-view-toggle.d.mts +53 -0
- package/dist/catalogue-view-toggle.d.mts.map +1 -0
- package/dist/catalogue-view-toggle.mjs +54 -0
- package/dist/catalogue-view-toggle.mjs.map +1 -0
- package/dist/chart.d.mts +91 -0
- package/dist/chart.d.mts.map +1 -0
- package/dist/chart.mjs +254 -0
- package/dist/chart.mjs.map +1 -0
- package/dist/chat/core-ai-chat-header.d.mts +95 -0
- package/dist/chat/core-ai-chat-header.d.mts.map +1 -0
- package/dist/chat/core-ai-chat-header.mjs +237 -0
- package/dist/chat/core-ai-chat-header.mjs.map +1 -0
- package/dist/chat/core-ai-chat-message.d.mts +18 -0
- package/dist/chat/core-ai-chat-message.d.mts.map +1 -0
- package/dist/chat/core-ai-chat-message.mjs +82 -0
- package/dist/chat/core-ai-chat-message.mjs.map +1 -0
- package/dist/chat/core-ai-chat.d.mts +116 -0
- package/dist/chat/core-ai-chat.d.mts.map +1 -0
- package/dist/chat/core-ai-chat.mjs +325 -0
- package/dist/chat/core-ai-chat.mjs.map +1 -0
- package/dist/chat/core-chart-renderer.d.mts +10 -0
- package/dist/chat/core-chart-renderer.d.mts.map +1 -0
- package/dist/chat/core-chart-renderer.mjs +177 -0
- package/dist/chat/core-chart-renderer.mjs.map +1 -0
- package/dist/chat/core-chat-input.d.mts +9 -0
- package/dist/chat/core-chat-input.d.mts.map +1 -0
- package/dist/chat/core-chat-input.mjs +66 -0
- package/dist/chat/core-chat-input.mjs.map +1 -0
- package/dist/chat/core-chat-message.d.mts +11 -0
- package/dist/chat/core-chat-message.d.mts.map +1 -0
- package/dist/chat/core-chat-message.mjs +101 -0
- package/dist/chat/core-chat-message.mjs.map +1 -0
- package/dist/chat/core-chat-panel.d.mts +16 -0
- package/dist/chat/core-chat-panel.d.mts.map +1 -0
- package/dist/chat/core-chat-panel.mjs +139 -0
- package/dist/chat/core-chat-panel.mjs.map +1 -0
- package/dist/chat/core-chat-widget.d.mts +12 -0
- package/dist/chat/core-chat-widget.d.mts.map +1 -0
- package/dist/chat/core-chat-widget.mjs +116 -0
- package/dist/chat/core-chat-widget.mjs.map +1 -0
- package/dist/chat-layout.d.mts +38 -0
- package/dist/chat-layout.d.mts.map +1 -0
- package/dist/chat-layout.mjs +94 -0
- package/dist/chat-layout.mjs.map +1 -0
- package/dist/chat-message.d.mts +40 -0
- package/dist/chat-message.d.mts.map +1 -0
- package/dist/chat-message.mjs +84 -0
- package/dist/chat-message.mjs.map +1 -0
- package/dist/checkbox.d.mts +8 -0
- package/dist/checkbox.d.mts.map +1 -0
- package/dist/checkbox.mjs +22 -0
- package/dist/checkbox.mjs.map +1 -0
- package/dist/chip.d.mts +54 -0
- package/dist/chip.d.mts.map +1 -0
- package/dist/chip.mjs +142 -0
- package/dist/chip.mjs.map +1 -0
- package/dist/citation.d.mts +22 -0
- package/dist/citation.d.mts.map +1 -0
- package/dist/citation.mjs +70 -0
- package/dist/citation.mjs.map +1 -0
- package/dist/clickable-card.d.mts +28 -0
- package/dist/clickable-card.d.mts.map +1 -0
- package/dist/clickable-card.mjs +87 -0
- package/dist/clickable-card.mjs.map +1 -0
- package/dist/code.d.mts +21 -0
- package/dist/code.d.mts.map +1 -0
- package/dist/code.mjs +48 -0
- package/dist/code.mjs.map +1 -0
- package/dist/collapsible.d.mts +10 -0
- package/dist/collapsible.d.mts.map +1 -0
- package/dist/collapsible.mjs +16 -0
- package/dist/collapsible.mjs.map +1 -0
- package/dist/combobox.d.mts +116 -0
- package/dist/combobox.d.mts.map +1 -0
- package/dist/combobox.mjs +149 -0
- package/dist/combobox.mjs.map +1 -0
- package/dist/command-palette.d.mts +43 -0
- package/dist/command-palette.d.mts.map +1 -0
- package/dist/command-palette.mjs +70 -0
- package/dist/command-palette.mjs.map +1 -0
- package/dist/command.d.mts +91 -0
- package/dist/command.d.mts.map +1 -0
- package/dist/command.mjs +82 -0
- package/dist/command.mjs.map +1 -0
- package/dist/comment-composer.d.mts +29 -0
- package/dist/comment-composer.d.mts.map +1 -0
- package/dist/comment-composer.mjs +253 -0
- package/dist/comment-composer.mjs.map +1 -0
- package/dist/comment-thread.d.mts +66 -0
- package/dist/comment-thread.d.mts.map +1 -0
- package/dist/comment-thread.mjs +180 -0
- package/dist/comment-thread.mjs.map +1 -0
- package/dist/compare-bars.d.mts +29 -0
- package/dist/compare-bars.d.mts.map +1 -0
- package/dist/compare-bars.mjs +118 -0
- package/dist/compare-bars.mjs.map +1 -0
- package/dist/compare-view.d.mts +75 -0
- package/dist/compare-view.d.mts.map +1 -0
- package/dist/compare-view.mjs +383 -0
- package/dist/compare-view.mjs.map +1 -0
- package/dist/confirm-dialog.d.mts +37 -0
- package/dist/confirm-dialog.d.mts.map +1 -0
- package/dist/confirm-dialog.mjs +40 -0
- package/dist/confirm-dialog.mjs.map +1 -0
- package/dist/context-menu.d.mts +31 -0
- package/dist/context-menu.d.mts.map +1 -0
- package/dist/context-menu.mjs +84 -0
- package/dist/context-menu.mjs.map +1 -0
- package/dist/context-toolbar.d.mts +22 -0
- package/dist/context-toolbar.d.mts.map +1 -0
- package/dist/context-toolbar.mjs +81 -0
- package/dist/context-toolbar.mjs.map +1 -0
- package/dist/copy-button.d.mts +15 -0
- package/dist/copy-button.d.mts.map +1 -0
- package/dist/copy-button.mjs +33 -0
- package/dist/copy-button.mjs.map +1 -0
- package/dist/core-mark.d.mts +25 -0
- package/dist/core-mark.d.mts.map +1 -0
- package/dist/core-mark.mjs +74 -0
- package/dist/core-mark.mjs.map +1 -0
- package/dist/data/mock-data.d.mts +9 -0
- package/dist/data/mock-data.d.mts.map +1 -0
- package/dist/data/mock-data.mjs +159 -0
- package/dist/data/mock-data.mjs.map +1 -0
- package/dist/data/rnglf-zones.d.mts +17 -0
- package/dist/data/rnglf-zones.d.mts.map +1 -0
- package/dist/data/rnglf-zones.mjs +1400 -0
- package/dist/data/rnglf-zones.mjs.map +1 -0
- package/dist/data-table.d.mts +202 -0
- package/dist/data-table.d.mts.map +1 -0
- package/dist/data-table.mjs +520 -0
- package/dist/data-table.mjs.map +1 -0
- package/dist/date-picker.d.mts +111 -0
- package/dist/date-picker.d.mts.map +1 -0
- package/dist/date-picker.mjs +546 -0
- package/dist/date-picker.mjs.map +1 -0
- package/dist/date-range-input.d.mts +26 -0
- package/dist/date-range-input.d.mts.map +1 -0
- package/dist/date-range-input.mjs +60 -0
- package/dist/date-range-input.mjs.map +1 -0
- package/dist/date-time-input.d.mts +27 -0
- package/dist/date-time-input.d.mts.map +1 -0
- package/dist/date-time-input.mjs +110 -0
- package/dist/date-time-input.mjs.map +1 -0
- package/dist/detail-panel-shell.d.mts +37 -0
- package/dist/detail-panel-shell.d.mts.map +1 -0
- package/dist/detail-panel-shell.mjs +86 -0
- package/dist/detail-panel-shell.mjs.map +1 -0
- package/dist/dialog.d.mts +105 -0
- package/dist/dialog.d.mts.map +1 -0
- package/dist/dialog.mjs +137 -0
- package/dist/dialog.mjs.map +1 -0
- package/dist/divider.d.mts +8 -0
- package/dist/divider.d.mts.map +1 -0
- package/dist/divider.mjs +18 -0
- package/dist/divider.mjs.map +1 -0
- package/dist/drawer.d.mts +26 -0
- package/dist/drawer.d.mts.map +1 -0
- package/dist/drawer.mjs +53 -0
- package/dist/drawer.mjs.map +1 -0
- package/dist/drawing-actions.d.mts +29 -0
- package/dist/drawing-actions.d.mts.map +1 -0
- package/dist/drawing-actions.mjs +124 -0
- package/dist/drawing-actions.mjs.map +1 -0
- package/dist/dropdown-menu.d.mts +31 -0
- package/dist/dropdown-menu.d.mts.map +1 -0
- package/dist/dropdown-menu.mjs +84 -0
- package/dist/dropdown-menu.mjs.map +1 -0
- package/dist/empty.d.mts +34 -0
- package/dist/empty.d.mts.map +1 -0
- package/dist/empty.mjs +119 -0
- package/dist/empty.mjs.map +1 -0
- package/dist/error-page.d.mts +20 -0
- package/dist/error-page.d.mts.map +1 -0
- package/dist/error-page.mjs +96 -0
- package/dist/error-page.mjs.map +1 -0
- package/dist/export-dialog.d.mts +58 -0
- package/dist/export-dialog.d.mts.map +1 -0
- package/dist/export-dialog.mjs +248 -0
- package/dist/export-dialog.mjs.map +1 -0
- package/dist/field.d.mts +11 -0
- package/dist/field.d.mts.map +1 -0
- package/dist/field.mjs +34 -0
- package/dist/field.mjs.map +1 -0
- package/dist/file-input.d.mts +17 -0
- package/dist/file-input.d.mts.map +1 -0
- package/dist/file-input.mjs +114 -0
- package/dist/file-input.mjs.map +1 -0
- package/dist/file-system/context.d.mts +28 -0
- package/dist/file-system/context.d.mts.map +1 -0
- package/dist/file-system/context.mjs +42 -0
- package/dist/file-system/context.mjs.map +1 -0
- package/dist/file-system/file-system-details.d.mts +12 -0
- package/dist/file-system/file-system-details.d.mts.map +1 -0
- package/dist/file-system/file-system-details.mjs +166 -0
- package/dist/file-system/file-system-details.mjs.map +1 -0
- package/dist/file-system/file-system-filters.d.mts +16 -0
- package/dist/file-system/file-system-filters.d.mts.map +1 -0
- package/dist/file-system/file-system-filters.mjs +205 -0
- package/dist/file-system/file-system-filters.mjs.map +1 -0
- package/dist/file-system/file-system-new.d.mts +16 -0
- package/dist/file-system/file-system-new.d.mts.map +1 -0
- package/dist/file-system/file-system-new.mjs +204 -0
- package/dist/file-system/file-system-new.mjs.map +1 -0
- package/dist/file-system/file-system-path.d.mts +7 -0
- package/dist/file-system/file-system-path.d.mts.map +1 -0
- package/dist/file-system/file-system-path.mjs +22 -0
- package/dist/file-system/file-system-path.mjs.map +1 -0
- package/dist/file-system/file-system-project.d.mts +16 -0
- package/dist/file-system/file-system-project.d.mts.map +1 -0
- package/dist/file-system/file-system-project.mjs +253 -0
- package/dist/file-system/file-system-project.mjs.map +1 -0
- package/dist/file-system/file-system-table.d.mts +17 -0
- package/dist/file-system/file-system-table.d.mts.map +1 -0
- package/dist/file-system/file-system-table.mjs +95 -0
- package/dist/file-system/file-system-table.mjs.map +1 -0
- package/dist/file-system/file-system.d.mts +35 -0
- package/dist/file-system/file-system.d.mts.map +1 -0
- package/dist/file-system/file-system.mjs +179 -0
- package/dist/file-system/file-system.mjs.map +1 -0
- package/dist/file-system/index.d.mts +9 -0
- package/dist/file-system/index.mjs +9 -0
- package/dist/file-system/model.d.mts +156 -0
- package/dist/file-system/model.d.mts.map +1 -0
- package/dist/file-system/model.mjs +200 -0
- package/dist/file-system/model.mjs.map +1 -0
- package/dist/filter.d.mts +92 -0
- package/dist/filter.d.mts.map +1 -0
- package/dist/filter.mjs +267 -0
- package/dist/filter.mjs.map +1 -0
- package/dist/float-shadow.d.mts +10 -0
- package/dist/float-shadow.d.mts.map +1 -0
- package/dist/float-shadow.mjs +11 -0
- package/dist/float-shadow.mjs.map +1 -0
- package/dist/floating-assistant.d.mts +75 -0
- package/dist/floating-assistant.d.mts.map +1 -0
- package/dist/floating-assistant.mjs +114 -0
- package/dist/floating-assistant.mjs.map +1 -0
- package/dist/floor-progress-bar.d.mts +17 -0
- package/dist/floor-progress-bar.d.mts.map +1 -0
- package/dist/floor-progress-bar.mjs +38 -0
- package/dist/floor-progress-bar.mjs.map +1 -0
- package/dist/fonts/LICENSE.md +41 -0
- package/dist/fonts/figtree-italic-300-900-latin-ext.woff2 +0 -0
- package/dist/fonts/figtree-italic-300-900-latin.woff2 +0 -0
- package/dist/fonts/figtree-normal-300-900-latin-ext.woff2 +0 -0
- package/dist/fonts/figtree-normal-300-900-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-italic-400-latin-ext.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-italic-400-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-normal-400-latin-ext.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-normal-400-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-normal-500-latin-ext.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-normal-500-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-normal-600-latin-ext.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-normal-600-latin.woff2 +0 -0
- package/dist/fonts/lora-italic-400-700-latin-ext.woff2 +0 -0
- package/dist/fonts/lora-italic-400-700-latin.woff2 +0 -0
- package/dist/fonts/lora-normal-400-700-latin-ext.woff2 +0 -0
- package/dist/fonts/lora-normal-400-700-latin.woff2 +0 -0
- package/dist/footprint-viewer.d.mts +88 -0
- package/dist/footprint-viewer.d.mts.map +1 -0
- package/dist/footprint-viewer.mjs +657 -0
- package/dist/footprint-viewer.mjs.map +1 -0
- package/dist/form-action-bar.d.mts +32 -0
- package/dist/form-action-bar.d.mts.map +1 -0
- package/dist/form-action-bar.mjs +42 -0
- package/dist/form-action-bar.mjs.map +1 -0
- package/dist/form-dialog.d.mts +116 -0
- package/dist/form-dialog.d.mts.map +1 -0
- package/dist/form-dialog.mjs +149 -0
- package/dist/form-dialog.mjs.map +1 -0
- package/dist/form-layout.d.mts +33 -0
- package/dist/form-layout.d.mts.map +1 -0
- package/dist/form-layout.mjs +90 -0
- package/dist/form-layout.mjs.map +1 -0
- package/dist/form.d.mts +29 -0
- package/dist/form.d.mts.map +1 -0
- package/dist/form.mjs +93 -0
- package/dist/form.mjs.map +1 -0
- package/dist/fragment-viewer/cinematic.d.mts +76 -0
- package/dist/fragment-viewer/cinematic.d.mts.map +1 -0
- package/dist/fragment-viewer/cinematic.mjs +382 -0
- package/dist/fragment-viewer/cinematic.mjs.map +1 -0
- package/dist/fragment-viewer/context.d.mts +106 -0
- package/dist/fragment-viewer/context.d.mts.map +1 -0
- package/dist/fragment-viewer/context.mjs +168 -0
- package/dist/fragment-viewer/context.mjs.map +1 -0
- package/dist/fragment-viewer/runtime.d.mts +288 -0
- package/dist/fragment-viewer/runtime.d.mts.map +1 -0
- package/dist/fragment-viewer/runtime.mjs +782 -0
- package/dist/fragment-viewer/runtime.mjs.map +1 -0
- package/dist/fragment-viewer.d.mts +62 -0
- package/dist/fragment-viewer.d.mts.map +1 -0
- package/dist/fragment-viewer.mjs +144 -0
- package/dist/fragment-viewer.mjs.map +1 -0
- package/dist/gantt.d.mts +72 -0
- package/dist/gantt.d.mts.map +1 -0
- package/dist/gantt.mjs +281 -0
- package/dist/gantt.mjs.map +1 -0
- package/dist/graph-canvas.d.mts +60 -0
- package/dist/graph-canvas.d.mts.map +1 -0
- package/dist/graph-canvas.mjs +105 -0
- package/dist/graph-canvas.mjs.map +1 -0
- package/dist/grid.d.mts +16 -0
- package/dist/grid.d.mts.map +1 -0
- package/dist/grid.mjs +47 -0
- package/dist/grid.mjs.map +1 -0
- package/dist/heading.d.mts +16 -0
- package/dist/heading.d.mts.map +1 -0
- package/dist/heading.mjs +43 -0
- package/dist/heading.mjs.map +1 -0
- package/dist/house-shape.d.mts +22 -0
- package/dist/house-shape.d.mts.map +1 -0
- package/dist/house-shape.mjs +103 -0
- package/dist/house-shape.mjs.map +1 -0
- package/dist/hover-card.d.mts +10 -0
- package/dist/hover-card.d.mts.map +1 -0
- package/dist/hover-card.mjs +22 -0
- package/dist/hover-card.mjs.map +1 -0
- package/dist/icon-button.d.mts +20 -0
- package/dist/icon-button.d.mts.map +1 -0
- package/dist/icon-button.mjs +52 -0
- package/dist/icon-button.mjs.map +1 -0
- package/dist/icon.d.mts +16 -0
- package/dist/icon.d.mts.map +1 -0
- package/dist/icon.mjs +32 -0
- package/dist/icon.mjs.map +1 -0
- package/dist/image-zoom.d.mts +23 -0
- package/dist/image-zoom.d.mts.map +1 -0
- package/dist/image-zoom.mjs +51 -0
- package/dist/image-zoom.mjs.map +1 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +2 -0
- package/dist/inline-comment-composer.d.mts +40 -0
- package/dist/inline-comment-composer.d.mts.map +1 -0
- package/dist/inline-comment-composer.mjs +174 -0
- package/dist/inline-comment-composer.mjs.map +1 -0
- package/dist/input-group.d.mts +8 -0
- package/dist/input-group.d.mts.map +1 -0
- package/dist/input-group.mjs +21 -0
- package/dist/input-group.mjs.map +1 -0
- package/dist/input-otp.d.mts +40 -0
- package/dist/input-otp.d.mts.map +1 -0
- package/dist/input-otp.mjs +44 -0
- package/dist/input-otp.mjs.map +1 -0
- package/dist/input.d.mts +7 -0
- package/dist/input.d.mts.map +1 -0
- package/dist/input.mjs +18 -0
- package/dist/input.mjs.map +1 -0
- package/dist/item.d.mts +10 -0
- package/dist/item.d.mts.map +1 -0
- package/dist/item.mjs +33 -0
- package/dist/item.mjs.map +1 -0
- package/dist/kbd.d.mts +8 -0
- package/dist/kbd.d.mts.map +1 -0
- package/dist/kbd.mjs +15 -0
- package/dist/kbd.mjs.map +1 -0
- package/dist/kiosk-body.d.mts +13 -0
- package/dist/kiosk-body.d.mts.map +1 -0
- package/dist/kiosk-body.mjs +352 -0
- package/dist/kiosk-body.mjs.map +1 -0
- package/dist/kpi-bar.d.mts +29 -0
- package/dist/kpi-bar.d.mts.map +1 -0
- package/dist/kpi-bar.mjs +46 -0
- package/dist/kpi-bar.mjs.map +1 -0
- package/dist/kpi-summary.d.mts +24 -0
- package/dist/kpi-summary.d.mts.map +1 -0
- package/dist/kpi-summary.mjs +22 -0
- package/dist/kpi-summary.mjs.map +1 -0
- package/dist/label.d.mts +19 -0
- package/dist/label.d.mts.map +1 -0
- package/dist/label.mjs +27 -0
- package/dist/label.mjs.map +1 -0
- package/dist/legend.d.mts +87 -0
- package/dist/legend.d.mts.map +1 -0
- package/dist/legend.mjs +210 -0
- package/dist/legend.mjs.map +1 -0
- package/dist/lightbox.d.mts +28 -0
- package/dist/lightbox.d.mts.map +1 -0
- package/dist/lightbox.mjs +142 -0
- package/dist/lightbox.mjs.map +1 -0
- package/dist/link-type-detail.d.mts +73 -0
- package/dist/link-type-detail.d.mts.map +1 -0
- package/dist/link-type-detail.mjs +628 -0
- package/dist/link-type-detail.mjs.map +1 -0
- package/dist/link-type-wizard.d.mts +35 -0
- package/dist/link-type-wizard.d.mts.map +1 -0
- package/dist/link-type-wizard.mjs +303 -0
- package/dist/link-type-wizard.mjs.map +1 -0
- package/dist/link.d.mts +14 -0
- package/dist/link.d.mts.map +1 -0
- package/dist/link.mjs +30 -0
- package/dist/link.mjs.map +1 -0
- package/dist/list.d.mts +19 -0
- package/dist/list.d.mts.map +1 -0
- package/dist/list.mjs +27 -0
- package/dist/list.mjs.map +1 -0
- package/dist/map-compare-layout.d.mts +53 -0
- package/dist/map-compare-layout.d.mts.map +1 -0
- package/dist/map-compare-layout.mjs +164 -0
- package/dist/map-compare-layout.mjs.map +1 -0
- package/dist/map-compass.d.mts +22 -0
- package/dist/map-compass.d.mts.map +1 -0
- package/dist/map-compass.mjs +56 -0
- package/dist/map-compass.mjs.map +1 -0
- package/dist/map-control-panel.d.mts +92 -0
- package/dist/map-control-panel.d.mts.map +1 -0
- package/dist/map-control-panel.mjs +153 -0
- package/dist/map-control-panel.mjs.map +1 -0
- package/dist/map-controls.d.mts +24 -0
- package/dist/map-controls.d.mts.map +1 -0
- package/dist/map-controls.mjs +322 -0
- package/dist/map-controls.mjs.map +1 -0
- package/dist/map-hover-card.d.mts +28 -0
- package/dist/map-hover-card.d.mts.map +1 -0
- package/dist/map-hover-card.mjs +56 -0
- package/dist/map-hover-card.mjs.map +1 -0
- package/dist/map-legend.d.mts +41 -0
- package/dist/map-legend.d.mts.map +1 -0
- package/dist/map-legend.mjs +97 -0
- package/dist/map-legend.mjs.map +1 -0
- package/dist/map-minimap.d.mts +44 -0
- package/dist/map-minimap.d.mts.map +1 -0
- package/dist/map-minimap.mjs +108 -0
- package/dist/map-minimap.mjs.map +1 -0
- package/dist/map-toolbar.d.mts +60 -0
- package/dist/map-toolbar.d.mts.map +1 -0
- package/dist/map-toolbar.mjs +195 -0
- package/dist/map-toolbar.mjs.map +1 -0
- package/dist/map-transition.d.mts +51 -0
- package/dist/map-transition.d.mts.map +1 -0
- package/dist/map-transition.mjs +59 -0
- package/dist/map-transition.mjs.map +1 -0
- package/dist/map.d.mts +14 -0
- package/dist/map.d.mts.map +1 -0
- package/dist/map.mjs +47 -0
- package/dist/map.mjs.map +1 -0
- package/dist/mapbox-token.d.mts +12 -0
- package/dist/mapbox-token.d.mts.map +1 -0
- package/dist/mapbox-token.mjs +15 -0
- package/dist/mapbox-token.mjs.map +1 -0
- package/dist/markdown.d.mts +18 -0
- package/dist/markdown.d.mts.map +1 -0
- package/dist/markdown.mjs +41 -0
- package/dist/markdown.mjs.map +1 -0
- package/dist/mega-menu.d.mts +36 -0
- package/dist/mega-menu.d.mts.map +1 -0
- package/dist/mega-menu.mjs +89 -0
- package/dist/mega-menu.mjs.map +1 -0
- package/dist/menubar.d.mts +32 -0
- package/dist/menubar.d.mts.map +1 -0
- package/dist/menubar.mjs +96 -0
- package/dist/menubar.mjs.map +1 -0
- package/dist/metadata-list.d.mts +2 -0
- package/dist/metadata-list.mjs +2 -0
- package/dist/metric-card.d.mts +28 -0
- package/dist/metric-card.d.mts.map +1 -0
- package/dist/metric-card.mjs +55 -0
- package/dist/metric-card.mjs.map +1 -0
- package/dist/milestone-table.d.mts +35 -0
- package/dist/milestone-table.d.mts.map +1 -0
- package/dist/milestone-table.mjs +84 -0
- package/dist/milestone-table.mjs.map +1 -0
- package/dist/minimap.d.mts +23 -0
- package/dist/minimap.d.mts.map +1 -0
- package/dist/minimap.mjs +64 -0
- package/dist/minimap.mjs.map +1 -0
- package/dist/more-menu.d.mts +27 -0
- package/dist/more-menu.d.mts.map +1 -0
- package/dist/more-menu.mjs +34 -0
- package/dist/more-menu.mjs.map +1 -0
- package/dist/multi-select.d.mts +38 -0
- package/dist/multi-select.d.mts.map +1 -0
- package/dist/multi-select.mjs +106 -0
- package/dist/multi-select.mjs.map +1 -0
- package/dist/navigation/core-app-sidebar.d.mts +461 -0
- package/dist/navigation/core-app-sidebar.d.mts.map +1 -0
- package/dist/navigation/core-app-sidebar.mjs +1288 -0
- package/dist/navigation/core-app-sidebar.mjs.map +1 -0
- package/dist/navigation/core-app-top-bar.d.mts +116 -0
- package/dist/navigation/core-app-top-bar.d.mts.map +1 -0
- package/dist/navigation/core-app-top-bar.mjs +224 -0
- package/dist/navigation/core-app-top-bar.mjs.map +1 -0
- package/dist/navigation/core-context-tabs.d.mts +12 -0
- package/dist/navigation/core-context-tabs.d.mts.map +1 -0
- package/dist/navigation/core-context-tabs.mjs +32 -0
- package/dist/navigation/core-context-tabs.mjs.map +1 -0
- package/dist/navigation/core-dashboard-header.d.mts +20 -0
- package/dist/navigation/core-dashboard-header.d.mts.map +1 -0
- package/dist/navigation/core-dashboard-header.mjs +227 -0
- package/dist/navigation/core-dashboard-header.mjs.map +1 -0
- package/dist/navigation/core-filter-strip.d.mts +12 -0
- package/dist/navigation/core-filter-strip.d.mts.map +1 -0
- package/dist/navigation/core-filter-strip.mjs +289 -0
- package/dist/navigation/core-filter-strip.mjs.map +1 -0
- package/dist/navigation/core-org-project-switcher.d.mts +12 -0
- package/dist/navigation/core-org-project-switcher.d.mts.map +1 -0
- package/dist/navigation/core-org-project-switcher.mjs +201 -0
- package/dist/navigation/core-org-project-switcher.mjs.map +1 -0
- package/dist/navigation/switcher.d.mts +38 -0
- package/dist/navigation/switcher.d.mts.map +1 -0
- package/dist/navigation/switcher.mjs +144 -0
- package/dist/navigation/switcher.mjs.map +1 -0
- package/dist/navigation-menu.d.mts +16 -0
- package/dist/navigation-menu.d.mts.map +1 -0
- package/dist/navigation-menu.mjs +64 -0
- package/dist/navigation-menu.mjs.map +1 -0
- package/dist/neighborhood-scene.d.mts +21 -0
- package/dist/neighborhood-scene.d.mts.map +1 -0
- package/dist/neighborhood-scene.mjs +285 -0
- package/dist/neighborhood-scene.mjs.map +1 -0
- package/dist/node-graph.d.mts +154 -0
- package/dist/node-graph.d.mts.map +1 -0
- package/dist/node-graph.mjs +349 -0
- package/dist/node-graph.mjs.map +1 -0
- package/dist/notification-center.d.mts +40 -0
- package/dist/notification-center.d.mts.map +1 -0
- package/dist/notification-center.mjs +224 -0
- package/dist/notification-center.mjs.map +1 -0
- package/dist/number-input.d.mts +23 -0
- package/dist/number-input.d.mts.map +1 -0
- package/dist/number-input.mjs +79 -0
- package/dist/number-input.mjs.map +1 -0
- package/dist/object-drawing-toolbar.d.mts +38 -0
- package/dist/object-drawing-toolbar.d.mts.map +1 -0
- package/dist/object-drawing-toolbar.mjs +172 -0
- package/dist/object-drawing-toolbar.mjs.map +1 -0
- package/dist/object-type-detail.d.mts +27 -0
- package/dist/object-type-detail.d.mts.map +1 -0
- package/dist/object-type-detail.mjs +1389 -0
- package/dist/object-type-detail.mjs.map +1 -0
- package/dist/object-type-wizard.d.mts +78 -0
- package/dist/object-type-wizard.d.mts.map +1 -0
- package/dist/object-type-wizard.mjs +885 -0
- package/dist/object-type-wizard.mjs.map +1 -0
- package/dist/observation-detail-panel.d.mts +89 -0
- package/dist/observation-detail-panel.d.mts.map +1 -0
- package/dist/observation-detail-panel.mjs +168 -0
- package/dist/observation-detail-panel.mjs.map +1 -0
- package/dist/observations-map.d.mts +288 -0
- package/dist/observations-map.d.mts.map +1 -0
- package/dist/observations-map.mjs +1087 -0
- package/dist/observations-map.mjs.map +1 -0
- package/dist/operations-drawer.d.mts +51 -0
- package/dist/operations-drawer.d.mts.map +1 -0
- package/dist/operations-drawer.mjs +193 -0
- package/dist/operations-drawer.mjs.map +1 -0
- package/dist/outline.d.mts +27 -0
- package/dist/outline.d.mts.map +1 -0
- package/dist/outline.mjs +47 -0
- package/dist/outline.mjs.map +1 -0
- package/dist/overflow-list.d.mts +23 -0
- package/dist/overflow-list.d.mts.map +1 -0
- package/dist/overflow-list.mjs +38 -0
- package/dist/overflow-list.mjs.map +1 -0
- package/dist/overlay.d.mts +17 -0
- package/dist/overlay.d.mts.map +1 -0
- package/dist/overlay.mjs +32 -0
- package/dist/overlay.mjs.map +1 -0
- package/dist/page-content-header.d.mts +43 -0
- package/dist/page-content-header.d.mts.map +1 -0
- package/dist/page-content-header.mjs +224 -0
- package/dist/page-content-header.mjs.map +1 -0
- package/dist/pages/almanar-blocks-data.d.mts +4 -0
- package/dist/pages/almanar-blocks-data.d.mts.map +1 -0
- package/dist/pages/almanar-blocks-data.mjs +691 -0
- package/dist/pages/almanar-blocks-data.mjs.map +1 -0
- package/dist/pages/almanar-hierarchy-data.d.mts +9 -0
- package/dist/pages/almanar-hierarchy-data.d.mts.map +1 -0
- package/dist/pages/almanar-hierarchy-data.mjs +816 -0
- package/dist/pages/almanar-hierarchy-data.mjs.map +1 -0
- package/dist/pages/almanar-villa-taxonomy.d.mts +9 -0
- package/dist/pages/almanar-villa-taxonomy.d.mts.map +1 -0
- package/dist/pages/almanar-villa-taxonomy.mjs +1569 -0
- package/dist/pages/almanar-villa-taxonomy.mjs.map +1 -0
- package/dist/pages/app-marketplace-shared.d.mts +146 -0
- package/dist/pages/app-marketplace-shared.d.mts.map +1 -0
- package/dist/pages/app-marketplace-shared.mjs +739 -0
- package/dist/pages/app-marketplace-shared.mjs.map +1 -0
- package/dist/pages/capture-ui-enhanced.d.mts +125 -0
- package/dist/pages/capture-ui-enhanced.d.mts.map +1 -0
- package/dist/pages/capture-ui-enhanced.mjs +915 -0
- package/dist/pages/capture-ui-enhanced.mjs.map +1 -0
- package/dist/pages/core-admin-panel.d.mts +10 -0
- package/dist/pages/core-admin-panel.d.mts.map +1 -0
- package/dist/pages/core-admin-panel.mjs +3076 -0
- package/dist/pages/core-admin-panel.mjs.map +1 -0
- package/dist/pages/core-analytics-overview.d.mts +10 -0
- package/dist/pages/core-analytics-overview.d.mts.map +1 -0
- package/dist/pages/core-analytics-overview.mjs +904 -0
- package/dist/pages/core-analytics-overview.mjs.map +1 -0
- package/dist/pages/core-app-installer.d.mts +17 -0
- package/dist/pages/core-app-installer.d.mts.map +1 -0
- package/dist/pages/core-app-installer.mjs +94 -0
- package/dist/pages/core-app-installer.mjs.map +1 -0
- package/dist/pages/core-blueprint-viewer-3.d.mts +25 -0
- package/dist/pages/core-blueprint-viewer-3.d.mts.map +1 -0
- package/dist/pages/core-blueprint-viewer-3.mjs +688 -0
- package/dist/pages/core-blueprint-viewer-3.mjs.map +1 -0
- package/dist/pages/core-blueprint-viewer.d.mts +14 -0
- package/dist/pages/core-blueprint-viewer.d.mts.map +1 -0
- package/dist/pages/core-blueprint-viewer.mjs +665 -0
- package/dist/pages/core-blueprint-viewer.mjs.map +1 -0
- package/dist/pages/core-building-viewer-capture.d.mts +18 -0
- package/dist/pages/core-building-viewer-capture.d.mts.map +1 -0
- package/dist/pages/core-building-viewer-capture.mjs +268 -0
- package/dist/pages/core-building-viewer-capture.mjs.map +1 -0
- package/dist/pages/core-building-viewer.d.mts +20 -0
- package/dist/pages/core-building-viewer.d.mts.map +1 -0
- package/dist/pages/core-building-viewer.mjs +299 -0
- package/dist/pages/core-building-viewer.mjs.map +1 -0
- package/dist/pages/core-clinic.d.mts +14 -0
- package/dist/pages/core-clinic.d.mts.map +1 -0
- package/dist/pages/core-clinic.mjs +2175 -0
- package/dist/pages/core-clinic.mjs.map +1 -0
- package/dist/pages/core-content-area.d.mts +15 -0
- package/dist/pages/core-content-area.d.mts.map +1 -0
- package/dist/pages/core-content-area.mjs +192 -0
- package/dist/pages/core-content-area.mjs.map +1 -0
- package/dist/pages/core-core-connect-v3.d.mts +16 -0
- package/dist/pages/core-core-connect-v3.d.mts.map +1 -0
- package/dist/pages/core-core-connect-v3.mjs +30 -0
- package/dist/pages/core-core-connect-v3.mjs.map +1 -0
- package/dist/pages/core-core-connect.d.mts +15 -0
- package/dist/pages/core-core-connect.d.mts.map +1 -0
- package/dist/pages/core-core-connect.mjs +21 -0
- package/dist/pages/core-core-connect.mjs.map +1 -0
- package/dist/pages/core-design-canvas.d.mts +10 -0
- package/dist/pages/core-design-canvas.d.mts.map +1 -0
- package/dist/pages/core-design-canvas.mjs +322 -0
- package/dist/pages/core-design-canvas.mjs.map +1 -0
- package/dist/pages/core-login-page.d.mts +8 -0
- package/dist/pages/core-login-page.d.mts.map +1 -0
- package/dist/pages/core-login-page.mjs +141 -0
- package/dist/pages/core-login-page.mjs.map +1 -0
- package/dist/pages/core-map-compare-layout.d.mts +20 -0
- package/dist/pages/core-map-compare-layout.d.mts.map +1 -0
- package/dist/pages/core-map-compare-layout.mjs +187 -0
- package/dist/pages/core-map-compare-layout.mjs.map +1 -0
- package/dist/pages/core-observations-map-view.d.mts +19 -0
- package/dist/pages/core-observations-map-view.d.mts.map +1 -0
- package/dist/pages/core-observations-map-view.mjs +1273 -0
- package/dist/pages/core-observations-map-view.mjs.map +1 -0
- package/dist/pages/core-org-ai-report.d.mts +9 -0
- package/dist/pages/core-org-ai-report.d.mts.map +1 -0
- package/dist/pages/core-org-ai-report.mjs +474 -0
- package/dist/pages/core-org-ai-report.mjs.map +1 -0
- package/dist/pages/core-org-overview.d.mts +11 -0
- package/dist/pages/core-org-overview.d.mts.map +1 -0
- package/dist/pages/core-org-overview.mjs +718 -0
- package/dist/pages/core-org-overview.mjs.map +1 -0
- package/dist/pages/core-org-performance.d.mts +11 -0
- package/dist/pages/core-org-performance.d.mts.map +1 -0
- package/dist/pages/core-org-performance.mjs +1398 -0
- package/dist/pages/core-org-performance.mjs.map +1 -0
- package/dist/pages/core-org-reality-capture.d.mts +10 -0
- package/dist/pages/core-org-reality-capture.d.mts.map +1 -0
- package/dist/pages/core-org-reality-capture.mjs +1962 -0
- package/dist/pages/core-org-reality-capture.mjs.map +1 -0
- package/dist/pages/core-org-workforce-intelligence.d.mts +12 -0
- package/dist/pages/core-org-workforce-intelligence.d.mts.map +1 -0
- package/dist/pages/core-org-workforce-intelligence.mjs +1215 -0
- package/dist/pages/core-org-workforce-intelligence.mjs.map +1 -0
- package/dist/pages/core-progress-details.d.mts +10 -0
- package/dist/pages/core-progress-details.d.mts.map +1 -0
- package/dist/pages/core-progress-details.mjs +758 -0
- package/dist/pages/core-progress-details.mjs.map +1 -0
- package/dist/pages/core-project-overview.d.mts +9 -0
- package/dist/pages/core-project-overview.d.mts.map +1 -0
- package/dist/pages/core-project-overview.mjs +246 -0
- package/dist/pages/core-project-overview.mjs.map +1 -0
- package/dist/pages/core-project-quality-issues.d.mts +9 -0
- package/dist/pages/core-project-quality-issues.d.mts.map +1 -0
- package/dist/pages/core-project-quality-issues.mjs +508 -0
- package/dist/pages/core-project-quality-issues.mjs.map +1 -0
- package/dist/pages/core-project-reality-capture.d.mts +9 -0
- package/dist/pages/core-project-reality-capture.d.mts.map +1 -0
- package/dist/pages/core-project-reality-capture.mjs +496 -0
- package/dist/pages/core-project-reality-capture.mjs.map +1 -0
- package/dist/pages/core-project-schedule-cost.d.mts +9 -0
- package/dist/pages/core-project-schedule-cost.d.mts.map +1 -0
- package/dist/pages/core-project-schedule-cost.mjs +548 -0
- package/dist/pages/core-project-schedule-cost.mjs.map +1 -0
- package/dist/pages/core-project-setup.d.mts +10 -0
- package/dist/pages/core-project-setup.d.mts.map +1 -0
- package/dist/pages/core-project-setup.mjs +283 -0
- package/dist/pages/core-project-setup.mjs.map +1 -0
- package/dist/pages/core-project-workforce-safety.d.mts +9 -0
- package/dist/pages/core-project-workforce-safety.d.mts.map +1 -0
- package/dist/pages/core-project-workforce-safety.mjs +465 -0
- package/dist/pages/core-project-workforce-safety.mjs.map +1 -0
- package/dist/pages/core-safety-manager.d.mts +14 -0
- package/dist/pages/core-safety-manager.d.mts.map +1 -0
- package/dist/pages/core-safety-manager.mjs +3081 -0
- package/dist/pages/core-safety-manager.mjs.map +1 -0
- package/dist/pages/core-site-reality.d.mts +25 -0
- package/dist/pages/core-site-reality.d.mts.map +1 -0
- package/dist/pages/core-site-reality.mjs +505 -0
- package/dist/pages/core-site-reality.mjs.map +1 -0
- package/dist/pages/core-task-monitor.d.mts +4 -0
- package/dist/pages/core-task-monitor.d.mts.map +1 -0
- package/dist/pages/core-task-monitor.mjs +587 -0
- package/dist/pages/core-task-monitor.mjs.map +1 -0
- package/dist/pages/core-timesheet.d.mts +2 -0
- package/dist/pages/core-timesheet.mjs +2 -0
- package/dist/pages/core-verifytime-command-center.d.mts +4 -0
- package/dist/pages/core-verifytime-command-center.d.mts.map +1 -0
- package/dist/pages/core-verifytime-command-center.mjs +1089 -0
- package/dist/pages/core-verifytime-command-center.mjs.map +1 -0
- package/dist/pages/core-wc3-workspace.d.mts +71 -0
- package/dist/pages/core-wc3-workspace.d.mts.map +1 -0
- package/dist/pages/core-wc3-workspace.mjs +1015 -0
- package/dist/pages/core-wc3-workspace.mjs.map +1 -0
- package/dist/pages/core-work-permit.d.mts +14 -0
- package/dist/pages/core-work-permit.d.mts.map +1 -0
- package/dist/pages/core-work-permit.mjs +281 -0
- package/dist/pages/core-work-permit.mjs.map +1 -0
- package/dist/pages/core-workforce.d.mts +24 -0
- package/dist/pages/core-workforce.d.mts.map +1 -0
- package/dist/pages/core-workforce.mjs +1253 -0
- package/dist/pages/core-workforce.mjs.map +1 -0
- package/dist/pages/org-logos.d.mts +9 -0
- package/dist/pages/org-logos.d.mts.map +1 -0
- package/dist/pages/org-logos.mjs +11 -0
- package/dist/pages/org-logos.mjs.map +1 -0
- package/dist/pages/state-machine-fixtures.d.mts +34 -0
- package/dist/pages/state-machine-fixtures.d.mts.map +1 -0
- package/dist/pages/state-machine-fixtures.mjs +73 -0
- package/dist/pages/state-machine-fixtures.mjs.map +1 -0
- package/dist/pages/state-machine.d.mts +407 -0
- package/dist/pages/state-machine.d.mts.map +1 -0
- package/dist/pages/state-machine.mjs +2254 -0
- package/dist/pages/state-machine.mjs.map +1 -0
- package/dist/pages/typeform/AttachmentInput.d.mts +11 -0
- package/dist/pages/typeform/AttachmentInput.d.mts.map +1 -0
- package/dist/pages/typeform/AttachmentInput.mjs +59 -0
- package/dist/pages/typeform/AttachmentInput.mjs.map +1 -0
- package/dist/pages/typeform/BuildMethodScreen.d.mts +10 -0
- package/dist/pages/typeform/BuildMethodScreen.d.mts.map +1 -0
- package/dist/pages/typeform/BuildMethodScreen.mjs +176 -0
- package/dist/pages/typeform/BuildMethodScreen.mjs.map +1 -0
- package/dist/pages/typeform/BuilderFlow.d.mts +29 -0
- package/dist/pages/typeform/BuilderFlow.d.mts.map +1 -0
- package/dist/pages/typeform/BuilderFlow.mjs +111 -0
- package/dist/pages/typeform/BuilderFlow.mjs.map +1 -0
- package/dist/pages/typeform/BuilderScreen.d.mts +14 -0
- package/dist/pages/typeform/BuilderScreen.d.mts.map +1 -0
- package/dist/pages/typeform/BuilderScreen.mjs +668 -0
- package/dist/pages/typeform/BuilderScreen.mjs.map +1 -0
- package/dist/pages/typeform/DataSourceSelect.d.mts +13 -0
- package/dist/pages/typeform/DataSourceSelect.d.mts.map +1 -0
- package/dist/pages/typeform/DataSourceSelect.mjs +36 -0
- package/dist/pages/typeform/DataSourceSelect.mjs.map +1 -0
- package/dist/pages/typeform/DerivedCountDisplay.d.mts +10 -0
- package/dist/pages/typeform/DerivedCountDisplay.d.mts.map +1 -0
- package/dist/pages/typeform/DerivedCountDisplay.mjs +20 -0
- package/dist/pages/typeform/DerivedCountDisplay.mjs.map +1 -0
- package/dist/pages/typeform/FillerRJSF.d.mts +10 -0
- package/dist/pages/typeform/FillerRJSF.d.mts.map +1 -0
- package/dist/pages/typeform/FillerRJSF.mjs +314 -0
- package/dist/pages/typeform/FillerRJSF.mjs.map +1 -0
- package/dist/pages/typeform/FormBuilderWidgetRJSF.d.mts +9 -0
- package/dist/pages/typeform/FormBuilderWidgetRJSF.d.mts.map +1 -0
- package/dist/pages/typeform/FormBuilderWidgetRJSF.mjs +22 -0
- package/dist/pages/typeform/FormBuilderWidgetRJSF.mjs.map +1 -0
- package/dist/pages/typeform/PublishScreen.d.mts +18 -0
- package/dist/pages/typeform/PublishScreen.d.mts.map +1 -0
- package/dist/pages/typeform/PublishScreen.mjs +163 -0
- package/dist/pages/typeform/PublishScreen.mjs.map +1 -0
- package/dist/pages/typeform/QuestionInspector.d.mts +7 -0
- package/dist/pages/typeform/QuestionInspector.d.mts.map +1 -0
- package/dist/pages/typeform/QuestionInspector.mjs +749 -0
- package/dist/pages/typeform/QuestionInspector.mjs.map +1 -0
- package/dist/pages/typeform/QuestionRenderer.d.mts +23 -0
- package/dist/pages/typeform/QuestionRenderer.d.mts.map +1 -0
- package/dist/pages/typeform/QuestionRenderer.mjs +170 -0
- package/dist/pages/typeform/QuestionRenderer.mjs.map +1 -0
- package/dist/pages/typeform/RatingInput.d.mts +14 -0
- package/dist/pages/typeform/RatingInput.d.mts.map +1 -0
- package/dist/pages/typeform/RatingInput.mjs +58 -0
- package/dist/pages/typeform/RatingInput.mjs.map +1 -0
- package/dist/pages/typeform/RuleGroupEditor.d.mts +9 -0
- package/dist/pages/typeform/RuleGroupEditor.d.mts.map +1 -0
- package/dist/pages/typeform/RuleGroupEditor.mjs +183 -0
- package/dist/pages/typeform/RuleGroupEditor.mjs.map +1 -0
- package/dist/pages/typeform/SignaturePad.d.mts +11 -0
- package/dist/pages/typeform/SignaturePad.d.mts.map +1 -0
- package/dist/pages/typeform/SignaturePad.mjs +111 -0
- package/dist/pages/typeform/SignaturePad.mjs.map +1 -0
- package/dist/pages/typeform/TableInput.d.mts +15 -0
- package/dist/pages/typeform/TableInput.d.mts.map +1 -0
- package/dist/pages/typeform/TableInput.mjs +73 -0
- package/dist/pages/typeform/TableInput.mjs.map +1 -0
- package/dist/pages/typeform/WorkspaceScreen.d.mts +20 -0
- package/dist/pages/typeform/WorkspaceScreen.d.mts.map +1 -0
- package/dist/pages/typeform/WorkspaceScreen.mjs +158 -0
- package/dist/pages/typeform/WorkspaceScreen.mjs.map +1 -0
- package/dist/pages/typeform/coreRjsfTheme.d.mts +4 -0
- package/dist/pages/typeform/coreRjsfTheme.d.mts.map +1 -0
- package/dist/pages/typeform/coreRjsfTheme.mjs +142 -0
- package/dist/pages/typeform/coreRjsfTheme.mjs.map +1 -0
- package/dist/pages/typeform/dataSources.d.mts +35 -0
- package/dist/pages/typeform/dataSources.d.mts.map +1 -0
- package/dist/pages/typeform/dataSources.mjs +210 -0
- package/dist/pages/typeform/dataSources.mjs.map +1 -0
- package/dist/pages/typeform/fillerShared.d.mts +21 -0
- package/dist/pages/typeform/fillerShared.d.mts.map +1 -0
- package/dist/pages/typeform/fillerShared.mjs +112 -0
- package/dist/pages/typeform/fillerShared.mjs.map +1 -0
- package/dist/pages/typeform/logic.d.mts +46 -0
- package/dist/pages/typeform/logic.d.mts.map +1 -0
- package/dist/pages/typeform/logic.mjs +193 -0
- package/dist/pages/typeform/logic.mjs.map +1 -0
- package/dist/pages/typeform/model.d.mts +144 -0
- package/dist/pages/typeform/model.d.mts.map +1 -0
- package/dist/pages/typeform/model.mjs +328 -0
- package/dist/pages/typeform/model.mjs.map +1 -0
- package/dist/pages/typeform/schemaToJsonSchema.d.mts +9 -0
- package/dist/pages/typeform/schemaToJsonSchema.d.mts.map +1 -0
- package/dist/pages/typeform/schemaToJsonSchema.mjs +119 -0
- package/dist/pages/typeform/schemaToJsonSchema.mjs.map +1 -0
- package/dist/pages/typeform/useFormBuilder.d.mts +34 -0
- package/dist/pages/typeform/useFormBuilder.d.mts.map +1 -0
- package/dist/pages/typeform/useFormBuilder.mjs +389 -0
- package/dist/pages/typeform/useFormBuilder.mjs.map +1 -0
- package/dist/pages/view-mode-thumbs.d.mts +6 -0
- package/dist/pages/view-mode-thumbs.d.mts.map +1 -0
- package/dist/pages/view-mode-thumbs.mjs +8 -0
- package/dist/pages/view-mode-thumbs.mjs.map +1 -0
- package/dist/pages/wc3-action-type-detail.d.mts +166 -0
- package/dist/pages/wc3-action-type-detail.d.mts.map +1 -0
- package/dist/pages/wc3-action-type-detail.mjs +2182 -0
- package/dist/pages/wc3-action-type-detail.mjs.map +1 -0
- package/dist/pages/wc3-action-type-run-dialog.d.mts +23 -0
- package/dist/pages/wc3-action-type-run-dialog.d.mts.map +1 -0
- package/dist/pages/wc3-action-type-run-dialog.mjs +383 -0
- package/dist/pages/wc3-action-type-run-dialog.mjs.map +1 -0
- package/dist/pages/wc3-action-type-wizard.d.mts +75 -0
- package/dist/pages/wc3-action-type-wizard.d.mts.map +1 -0
- package/dist/pages/wc3-action-type-wizard.mjs +702 -0
- package/dist/pages/wc3-action-type-wizard.mjs.map +1 -0
- package/dist/pages/wc3-analysis-data-view.d.mts +15 -0
- package/dist/pages/wc3-analysis-data-view.d.mts.map +1 -0
- package/dist/pages/wc3-analysis-data-view.mjs +129 -0
- package/dist/pages/wc3-analysis-data-view.mjs.map +1 -0
- package/dist/pages/wc3-analysis-data.d.mts +181 -0
- package/dist/pages/wc3-analysis-data.d.mts.map +1 -0
- package/dist/pages/wc3-analysis-data.mjs +4074 -0
- package/dist/pages/wc3-analysis-data.mjs.map +1 -0
- package/dist/pages/wc3-analysis-object-view.d.mts +12 -0
- package/dist/pages/wc3-analysis-object-view.d.mts.map +1 -0
- package/dist/pages/wc3-analysis-object-view.mjs +196 -0
- package/dist/pages/wc3-analysis-object-view.mjs.map +1 -0
- package/dist/pages/wc3-analysis-saved-view.d.mts +6 -0
- package/dist/pages/wc3-analysis-saved-view.d.mts.map +1 -0
- package/dist/pages/wc3-analysis-saved-view.mjs +540 -0
- package/dist/pages/wc3-analysis-saved-view.mjs.map +1 -0
- package/dist/pages/wc3-analysis-shared.d.mts +346 -0
- package/dist/pages/wc3-analysis-shared.d.mts.map +1 -0
- package/dist/pages/wc3-analysis-shared.mjs +1119 -0
- package/dist/pages/wc3-analysis-shared.mjs.map +1 -0
- package/dist/pages/wc3-analysis-views.d.mts +25 -0
- package/dist/pages/wc3-analysis-views.d.mts.map +1 -0
- package/dist/pages/wc3-analysis-views.mjs +48 -0
- package/dist/pages/wc3-analysis-views.mjs.map +1 -0
- package/dist/pages/wc3-fs-data.d.mts +12 -0
- package/dist/pages/wc3-fs-data.d.mts.map +1 -0
- package/dist/pages/wc3-fs-data.mjs +745 -0
- package/dist/pages/wc3-fs-data.mjs.map +1 -0
- package/dist/pages/wc3-fs-location-field.d.mts +13 -0
- package/dist/pages/wc3-fs-location-field.d.mts.map +1 -0
- package/dist/pages/wc3-fs-location-field.mjs +56 -0
- package/dist/pages/wc3-fs-location-field.mjs.map +1 -0
- package/dist/pages/wc3-fs-path-label.d.mts +12 -0
- package/dist/pages/wc3-fs-path-label.d.mts.map +1 -0
- package/dist/pages/wc3-fs-path-label.mjs +36 -0
- package/dist/pages/wc3-fs-path-label.mjs.map +1 -0
- package/dist/pages/wc3-fs-records.d.mts +17 -0
- package/dist/pages/wc3-fs-records.d.mts.map +1 -0
- package/dist/pages/wc3-fs-records.mjs +107 -0
- package/dist/pages/wc3-fs-records.mjs.map +1 -0
- package/dist/pages/wc3-fs-store.d.mts +43 -0
- package/dist/pages/wc3-fs-store.d.mts.map +1 -0
- package/dist/pages/wc3-fs-store.mjs +81 -0
- package/dist/pages/wc3-fs-store.mjs.map +1 -0
- package/dist/pages/wc3-fs-types.d.mts +19 -0
- package/dist/pages/wc3-fs-types.d.mts.map +1 -0
- package/dist/pages/wc3-fs-types.mjs +66 -0
- package/dist/pages/wc3-fs-types.mjs.map +1 -0
- package/dist/pages/wc3-graph-explorer-flow.d.mts +14 -0
- package/dist/pages/wc3-graph-explorer-flow.d.mts.map +1 -0
- package/dist/pages/wc3-graph-explorer-flow.mjs +275 -0
- package/dist/pages/wc3-graph-explorer-flow.mjs.map +1 -0
- package/dist/pages/wc3-group-detail.d.mts +26 -0
- package/dist/pages/wc3-group-detail.d.mts.map +1 -0
- package/dist/pages/wc3-group-detail.mjs +358 -0
- package/dist/pages/wc3-group-detail.mjs.map +1 -0
- package/dist/pages/wc3-group-wizard.d.mts +28 -0
- package/dist/pages/wc3-group-wizard.d.mts.map +1 -0
- package/dist/pages/wc3-group-wizard.mjs +120 -0
- package/dist/pages/wc3-group-wizard.mjs.map +1 -0
- package/dist/pages/wc3-health-view.d.mts +34 -0
- package/dist/pages/wc3-health-view.d.mts.map +1 -0
- package/dist/pages/wc3-health-view.mjs +413 -0
- package/dist/pages/wc3-health-view.mjs.map +1 -0
- package/dist/pages/wc3-home-view.d.mts +24 -0
- package/dist/pages/wc3-home-view.d.mts.map +1 -0
- package/dist/pages/wc3-home-view.mjs +59 -0
- package/dist/pages/wc3-home-view.mjs.map +1 -0
- package/dist/pages/wc3-interface-detail.d.mts +66 -0
- package/dist/pages/wc3-interface-detail.d.mts.map +1 -0
- package/dist/pages/wc3-interface-detail.mjs +1060 -0
- package/dist/pages/wc3-interface-detail.mjs.map +1 -0
- package/dist/pages/wc3-interface-wizard.d.mts +39 -0
- package/dist/pages/wc3-interface-wizard.d.mts.map +1 -0
- package/dist/pages/wc3-interface-wizard.mjs +226 -0
- package/dist/pages/wc3-interface-wizard.mjs.map +1 -0
- package/dist/pages/wc3-lineage-data-view.d.mts +6 -0
- package/dist/pages/wc3-lineage-data-view.d.mts.map +1 -0
- package/dist/pages/wc3-lineage-data-view.mjs +481 -0
- package/dist/pages/wc3-lineage-data-view.mjs.map +1 -0
- package/dist/pages/wc3-lineage-data.d.mts +191 -0
- package/dist/pages/wc3-lineage-data.d.mts.map +1 -0
- package/dist/pages/wc3-lineage-data.mjs +1061 -0
- package/dist/pages/wc3-lineage-data.mjs.map +1 -0
- package/dist/pages/wc3-lineage-impact-view.d.mts +13 -0
- package/dist/pages/wc3-lineage-impact-view.d.mts.map +1 -0
- package/dist/pages/wc3-lineage-impact-view.mjs +247 -0
- package/dist/pages/wc3-lineage-impact-view.mjs.map +1 -0
- package/dist/pages/wc3-lineage-shared.d.mts +137 -0
- package/dist/pages/wc3-lineage-shared.d.mts.map +1 -0
- package/dist/pages/wc3-lineage-shared.mjs +150 -0
- package/dist/pages/wc3-lineage-shared.mjs.map +1 -0
- package/dist/pages/wc3-lineage-views.d.mts +7 -0
- package/dist/pages/wc3-lineage-views.d.mts.map +1 -0
- package/dist/pages/wc3-lineage-views.mjs +13 -0
- package/dist/pages/wc3-lineage-views.mjs.map +1 -0
- package/dist/pages/wc3-lineage-workflow-view.d.mts +12 -0
- package/dist/pages/wc3-lineage-workflow-view.d.mts.map +1 -0
- package/dist/pages/wc3-lineage-workflow-view.mjs +326 -0
- package/dist/pages/wc3-lineage-workflow-view.mjs.map +1 -0
- package/dist/pages/wc3-object-type-detail.d.mts +18 -0
- package/dist/pages/wc3-object-type-detail.d.mts.map +1 -0
- package/dist/pages/wc3-object-type-detail.mjs +977 -0
- package/dist/pages/wc3-object-type-detail.mjs.map +1 -0
- package/dist/pages/wc3-ontology-data.d.mts +246 -0
- package/dist/pages/wc3-ontology-data.d.mts.map +1 -0
- package/dist/pages/wc3-ontology-data.mjs +8542 -0
- package/dist/pages/wc3-ontology-data.mjs.map +1 -0
- package/dist/pages/wc3-ontology-glyphs.d.mts +14 -0
- package/dist/pages/wc3-ontology-glyphs.d.mts.map +1 -0
- package/dist/pages/wc3-ontology-glyphs.mjs +53 -0
- package/dist/pages/wc3-ontology-glyphs.mjs.map +1 -0
- package/dist/pages/wc3-ontology-scope.d.mts +62 -0
- package/dist/pages/wc3-ontology-scope.d.mts.map +1 -0
- package/dist/pages/wc3-ontology-scope.mjs +109 -0
- package/dist/pages/wc3-ontology-scope.mjs.map +1 -0
- package/dist/pages/wc3-ontology-views.d.mts +34 -0
- package/dist/pages/wc3-ontology-views.d.mts.map +1 -0
- package/dist/pages/wc3-ontology-views.mjs +1253 -0
- package/dist/pages/wc3-ontology-views.mjs.map +1 -0
- package/dist/pages/wc3-permit-policy.d.mts +56 -0
- package/dist/pages/wc3-permit-policy.d.mts.map +1 -0
- package/dist/pages/wc3-permit-policy.mjs +478 -0
- package/dist/pages/wc3-permit-policy.mjs.map +1 -0
- package/dist/pages/wc3-pipeline-detail.d.mts +13 -0
- package/dist/pages/wc3-pipeline-detail.d.mts.map +1 -0
- package/dist/pages/wc3-pipeline-detail.mjs +818 -0
- package/dist/pages/wc3-pipeline-detail.mjs.map +1 -0
- package/dist/pages/wc3-pipeline-list-view.d.mts +5 -0
- package/dist/pages/wc3-pipeline-list-view.d.mts.map +1 -0
- package/dist/pages/wc3-pipeline-list-view.mjs +692 -0
- package/dist/pages/wc3-pipeline-list-view.mjs.map +1 -0
- package/dist/pages/wc3-pipeline-shared.d.mts +301 -0
- package/dist/pages/wc3-pipeline-shared.d.mts.map +1 -0
- package/dist/pages/wc3-pipeline-shared.mjs +703 -0
- package/dist/pages/wc3-pipeline-shared.mjs.map +1 -0
- package/dist/pages/wc3-pipeline-side-views.d.mts +7 -0
- package/dist/pages/wc3-pipeline-side-views.d.mts.map +1 -0
- package/dist/pages/wc3-pipeline-side-views.mjs +998 -0
- package/dist/pages/wc3-pipeline-side-views.mjs.map +1 -0
- package/dist/pages/wc3-pipeline-views.d.mts +15 -0
- package/dist/pages/wc3-pipeline-views.d.mts.map +1 -0
- package/dist/pages/wc3-pipeline-views.mjs +23 -0
- package/dist/pages/wc3-pipeline-views.mjs.map +1 -0
- package/dist/pages/wc3-process-bottlenecks.d.mts +22 -0
- package/dist/pages/wc3-process-bottlenecks.d.mts.map +1 -0
- package/dist/pages/wc3-process-bottlenecks.mjs +352 -0
- package/dist/pages/wc3-process-bottlenecks.mjs.map +1 -0
- package/dist/pages/wc3-process-create.d.mts +24 -0
- package/dist/pages/wc3-process-create.d.mts.map +1 -0
- package/dist/pages/wc3-process-create.mjs +230 -0
- package/dist/pages/wc3-process-create.mjs.map +1 -0
- package/dist/pages/wc3-process-data.d.mts +238 -0
- package/dist/pages/wc3-process-data.d.mts.map +1 -0
- package/dist/pages/wc3-process-data.mjs +2251 -0
- package/dist/pages/wc3-process-data.mjs.map +1 -0
- package/dist/pages/wc3-process-detail.d.mts +21 -0
- package/dist/pages/wc3-process-detail.d.mts.map +1 -0
- package/dist/pages/wc3-process-detail.mjs +21 -0
- package/dist/pages/wc3-process-detail.mjs.map +1 -0
- package/dist/pages/wc3-process-list-view.d.mts +5 -0
- package/dist/pages/wc3-process-list-view.d.mts.map +1 -0
- package/dist/pages/wc3-process-list-view.mjs +602 -0
- package/dist/pages/wc3-process-list-view.mjs.map +1 -0
- package/dist/pages/wc3-process-shared.d.mts +443 -0
- package/dist/pages/wc3-process-shared.d.mts.map +1 -0
- package/dist/pages/wc3-process-shared.mjs +980 -0
- package/dist/pages/wc3-process-shared.mjs.map +1 -0
- package/dist/pages/wc3-process-views.d.mts +19 -0
- package/dist/pages/wc3-process-views.d.mts.map +1 -0
- package/dist/pages/wc3-process-views.mjs +23 -0
- package/dist/pages/wc3-process-views.mjs.map +1 -0
- package/dist/pages/wc3-product-catalogue-view.d.mts +5 -0
- package/dist/pages/wc3-product-catalogue-view.d.mts.map +1 -0
- package/dist/pages/wc3-product-catalogue-view.mjs +587 -0
- package/dist/pages/wc3-product-catalogue-view.mjs.map +1 -0
- package/dist/pages/wc3-product-data.d.mts +206 -0
- package/dist/pages/wc3-product-data.d.mts.map +1 -0
- package/dist/pages/wc3-product-data.mjs +2669 -0
- package/dist/pages/wc3-product-data.mjs.map +1 -0
- package/dist/pages/wc3-product-detail.d.mts +31 -0
- package/dist/pages/wc3-product-detail.d.mts.map +1 -0
- package/dist/pages/wc3-product-detail.mjs +1137 -0
- package/dist/pages/wc3-product-detail.mjs.map +1 -0
- package/dist/pages/wc3-product-install-dialog.d.mts +99 -0
- package/dist/pages/wc3-product-install-dialog.d.mts.map +1 -0
- package/dist/pages/wc3-product-install-dialog.mjs +808 -0
- package/dist/pages/wc3-product-install-dialog.mjs.map +1 -0
- package/dist/pages/wc3-product-shared.d.mts +152 -0
- package/dist/pages/wc3-product-shared.d.mts.map +1 -0
- package/dist/pages/wc3-product-shared.mjs +268 -0
- package/dist/pages/wc3-product-shared.mjs.map +1 -0
- package/dist/pages/wc3-product-views.d.mts +7 -0
- package/dist/pages/wc3-product-views.d.mts.map +1 -0
- package/dist/pages/wc3-product-views.mjs +7 -0
- package/dist/pages/wc3-product-views.mjs.map +1 -0
- package/dist/pages/wc3-shared-property-detail.d.mts +95 -0
- package/dist/pages/wc3-shared-property-detail.d.mts.map +1 -0
- package/dist/pages/wc3-shared-property-detail.mjs +546 -0
- package/dist/pages/wc3-shared-property-detail.mjs.map +1 -0
- package/dist/pages/wc3-shared-property-view.d.mts +10 -0
- package/dist/pages/wc3-shared-property-view.d.mts.map +1 -0
- package/dist/pages/wc3-shared-property-view.mjs +455 -0
- package/dist/pages/wc3-shared-property-view.mjs.map +1 -0
- package/dist/pages/wc3-shared-property-wizard.d.mts +31 -0
- package/dist/pages/wc3-shared-property-wizard.d.mts.map +1 -0
- package/dist/pages/wc3-shared-property-wizard.mjs +181 -0
- package/dist/pages/wc3-shared-property-wizard.mjs.map +1 -0
- package/dist/pages/work-permit-templates.d.mts +30 -0
- package/dist/pages/work-permit-templates.d.mts.map +1 -0
- package/dist/pages/work-permit-templates.mjs +793 -0
- package/dist/pages/work-permit-templates.mjs.map +1 -0
- package/dist/pages/workforce-analytics.d.mts +11 -0
- package/dist/pages/workforce-analytics.d.mts.map +1 -0
- package/dist/pages/workforce-analytics.mjs +561 -0
- package/dist/pages/workforce-analytics.mjs.map +1 -0
- package/dist/pages/workforce-compliance-settings.d.mts +9 -0
- package/dist/pages/workforce-compliance-settings.d.mts.map +1 -0
- package/dist/pages/workforce-compliance-settings.mjs +375 -0
- package/dist/pages/workforce-compliance-settings.mjs.map +1 -0
- package/dist/pages/workforce-compliance.d.mts +81 -0
- package/dist/pages/workforce-compliance.d.mts.map +1 -0
- package/dist/pages/workforce-compliance.mjs +805 -0
- package/dist/pages/workforce-compliance.mjs.map +1 -0
- package/dist/pages/workforce-crews.d.mts +5 -0
- package/dist/pages/workforce-crews.d.mts.map +1 -0
- package/dist/pages/workforce-crews.mjs +1091 -0
- package/dist/pages/workforce-crews.mjs.map +1 -0
- package/dist/pages/workforce-map-view.d.mts +8 -0
- package/dist/pages/workforce-map-view.d.mts.map +1 -0
- package/dist/pages/workforce-map-view.mjs +953 -0
- package/dist/pages/workforce-map-view.mjs.map +1 -0
- package/dist/pages/workforce-obs.d.mts +5 -0
- package/dist/pages/workforce-obs.d.mts.map +1 -0
- package/dist/pages/workforce-obs.mjs +649 -0
- package/dist/pages/workforce-obs.mjs.map +1 -0
- package/dist/pagination.d.mts +32 -0
- package/dist/pagination.d.mts.map +1 -0
- package/dist/pagination.mjs +67 -0
- package/dist/pagination.mjs.map +1 -0
- package/dist/permission-matrix.d.mts +43 -0
- package/dist/permission-matrix.d.mts.map +1 -0
- package/dist/permission-matrix.mjs +146 -0
- package/dist/permission-matrix.mjs.map +1 -0
- package/dist/popover.d.mts +19 -0
- package/dist/popover.d.mts.map +1 -0
- package/dist/popover.mjs +31 -0
- package/dist/popover.mjs.map +1 -0
- package/dist/product-package-detail.d.mts +173 -0
- package/dist/product-package-detail.d.mts.map +1 -0
- package/dist/product-package-detail.mjs +521 -0
- package/dist/product-package-detail.mjs.map +1 -0
- package/dist/progress-comparison.d.mts +93 -0
- package/dist/progress-comparison.d.mts.map +1 -0
- package/dist/progress-comparison.mjs +253 -0
- package/dist/progress-comparison.mjs.map +1 -0
- package/dist/progress-list-item.d.mts +46 -0
- package/dist/progress-list-item.d.mts.map +1 -0
- package/dist/progress-list-item.mjs +79 -0
- package/dist/progress-list-item.mjs.map +1 -0
- package/dist/progress-sheet.d.mts +39 -0
- package/dist/progress-sheet.d.mts.map +1 -0
- package/dist/progress-sheet.mjs +760 -0
- package/dist/progress-sheet.mjs.map +1 -0
- package/dist/progress-stat.d.mts +26 -0
- package/dist/progress-stat.d.mts.map +1 -0
- package/dist/progress-stat.mjs +54 -0
- package/dist/progress-stat.mjs.map +1 -0
- package/dist/progress.d.mts +13 -0
- package/dist/progress.d.mts.map +1 -0
- package/dist/progress.mjs +32 -0
- package/dist/progress.mjs.map +1 -0
- package/dist/prompt-input.d.mts +108 -0
- package/dist/prompt-input.d.mts.map +1 -0
- package/dist/prompt-input.mjs +400 -0
- package/dist/prompt-input.mjs.map +1 -0
- package/dist/property-list.d.mts +37 -0
- package/dist/property-list.d.mts.map +1 -0
- package/dist/property-list.mjs +60 -0
- package/dist/property-list.mjs.map +1 -0
- package/dist/push-panel.d.mts +75 -0
- package/dist/push-panel.d.mts.map +1 -0
- package/dist/push-panel.mjs +182 -0
- package/dist/push-panel.mjs.map +1 -0
- package/dist/radio-group.d.mts +9 -0
- package/dist/radio-group.d.mts.map +1 -0
- package/dist/radio-group.mjs +27 -0
- package/dist/radio-group.mjs.map +1 -0
- package/dist/record-detail-shell.d.mts +46 -0
- package/dist/record-detail-shell.d.mts.map +1 -0
- package/dist/record-detail-shell.mjs +29 -0
- package/dist/record-detail-shell.mjs.map +1 -0
- package/dist/resizable.d.mts +11 -0
- package/dist/resizable.d.mts.map +1 -0
- package/dist/resizable.mjs +23 -0
- package/dist/resizable.mjs.map +1 -0
- package/dist/resize-handle.d.mts +19 -0
- package/dist/resize-handle.d.mts.map +1 -0
- package/dist/resize-handle.mjs +45 -0
- package/dist/resize-handle.mjs.map +1 -0
- package/dist/responder-detail-panel.d.mts +72 -0
- package/dist/responder-detail-panel.d.mts.map +1 -0
- package/dist/responder-detail-panel.mjs +232 -0
- package/dist/responder-detail-panel.mjs.map +1 -0
- package/dist/rule-row.d.mts +63 -0
- package/dist/rule-row.d.mts.map +1 -0
- package/dist/rule-row.mjs +97 -0
- package/dist/rule-row.mjs.map +1 -0
- package/dist/schedule-week-bar.d.mts +24 -0
- package/dist/schedule-week-bar.d.mts.map +1 -0
- package/dist/schedule-week-bar.mjs +99 -0
- package/dist/schedule-week-bar.mjs.map +1 -0
- package/dist/score-gauge.d.mts +24 -0
- package/dist/score-gauge.d.mts.map +1 -0
- package/dist/score-gauge.mjs +73 -0
- package/dist/score-gauge.mjs.map +1 -0
- package/dist/scroll-area.d.mts +27 -0
- package/dist/scroll-area.d.mts.map +1 -0
- package/dist/scroll-area.mjs +35 -0
- package/dist/scroll-area.mjs.map +1 -0
- package/dist/search-filter-bar.d.mts +22 -0
- package/dist/search-filter-bar.d.mts.map +1 -0
- package/dist/search-filter-bar.mjs +56 -0
- package/dist/search-filter-bar.mjs.map +1 -0
- package/dist/section-header.d.mts +22 -0
- package/dist/section-header.d.mts.map +1 -0
- package/dist/section-header.mjs +32 -0
- package/dist/section-header.mjs.map +1 -0
- package/dist/section-panel.d.mts +47 -0
- package/dist/section-panel.d.mts.map +1 -0
- package/dist/section-panel.mjs +78 -0
- package/dist/section-panel.mjs.map +1 -0
- package/dist/section.d.mts +15 -0
- package/dist/section.d.mts.map +1 -0
- package/dist/section.mjs +34 -0
- package/dist/section.mjs.map +1 -0
- package/dist/segmented-control.d.mts +26 -0
- package/dist/segmented-control.d.mts.map +1 -0
- package/dist/segmented-control.mjs +70 -0
- package/dist/segmented-control.mjs.map +1 -0
- package/dist/select.d.mts +87 -0
- package/dist/select.d.mts.map +1 -0
- package/dist/select.mjs +280 -0
- package/dist/select.mjs.map +1 -0
- package/dist/selectable-card.d.mts +39 -0
- package/dist/selectable-card.d.mts.map +1 -0
- package/dist/selectable-card.mjs +102 -0
- package/dist/selectable-card.mjs.map +1 -0
- package/dist/separator.d.mts +8 -0
- package/dist/separator.d.mts.map +1 -0
- package/dist/separator.mjs +18 -0
- package/dist/separator.mjs.map +1 -0
- package/dist/services/chatService.d.mts +11 -0
- package/dist/services/chatService.d.mts.map +1 -0
- package/dist/services/chatService.mjs +44 -0
- package/dist/services/chatService.mjs.map +1 -0
- package/dist/setup-steps-checklist.d.mts +50 -0
- package/dist/setup-steps-checklist.d.mts.map +1 -0
- package/dist/setup-steps-checklist.mjs +183 -0
- package/dist/setup-steps-checklist.mjs.map +1 -0
- package/dist/sheet.d.mts +41 -0
- package/dist/sheet.d.mts.map +1 -0
- package/dist/sheet.mjs +71 -0
- package/dist/sheet.mjs.map +1 -0
- package/dist/side-menu.d.mts +61 -0
- package/dist/side-menu.d.mts.map +1 -0
- package/dist/side-menu.mjs +160 -0
- package/dist/side-menu.mjs.map +1 -0
- package/dist/sidebar.d.mts +36 -0
- package/dist/sidebar.d.mts.map +1 -0
- package/dist/sidebar.mjs +159 -0
- package/dist/sidebar.mjs.map +1 -0
- package/dist/single-house-view.d.mts +13 -0
- package/dist/single-house-view.d.mts.map +1 -0
- package/dist/single-house-view.mjs +506 -0
- package/dist/single-house-view.mjs.map +1 -0
- package/dist/site-image-viewer/batches.mjs +362 -0
- package/dist/site-image-viewer/batches.mjs.map +1 -0
- package/dist/site-image-viewer/blocks-zone-1a.mjs +1815 -0
- package/dist/site-image-viewer/blocks-zone-1a.mjs.map +1 -0
- package/dist/site-image-viewer/blocks-zone-1b.mjs +2623 -0
- package/dist/site-image-viewer/blocks-zone-1b.mjs.map +1 -0
- package/dist/site-image-viewer/legend-items.d.mts +6 -0
- package/dist/site-image-viewer/legend-items.d.mts.map +1 -0
- package/dist/site-image-viewer/legend-items.mjs +104 -0
- package/dist/site-image-viewer/legend-items.mjs.map +1 -0
- package/dist/site-image-viewer/milestone-ramp.d.mts +81 -0
- package/dist/site-image-viewer/milestone-ramp.d.mts.map +1 -0
- package/dist/site-image-viewer/milestone-ramp.mjs +112 -0
- package/dist/site-image-viewer/milestone-ramp.mjs.map +1 -0
- package/dist/site-image-viewer/phases.mjs +60 -0
- package/dist/site-image-viewer/phases.mjs.map +1 -0
- package/dist/site-image-viewer/site-legend.d.mts +20 -0
- package/dist/site-image-viewer/site-legend.d.mts.map +1 -0
- package/dist/site-image-viewer/site-legend.mjs +113 -0
- package/dist/site-image-viewer/site-legend.mjs.map +1 -0
- package/dist/site-image-viewer/types.d.mts +32 -0
- package/dist/site-image-viewer/types.d.mts.map +1 -0
- package/dist/site-image-viewer/types.mjs +1 -0
- package/dist/site-image-viewer/villa-hover-card.d.mts +15 -0
- package/dist/site-image-viewer/villa-hover-card.d.mts.map +1 -0
- package/dist/site-image-viewer/villa-hover-card.mjs +48 -0
- package/dist/site-image-viewer/villa-hover-card.mjs.map +1 -0
- package/dist/site-image-viewer/villas.mjs +34494 -0
- package/dist/site-image-viewer/villas.mjs.map +1 -0
- package/dist/site-image-viewer/zone1b-villas.mjs +36211 -0
- package/dist/site-image-viewer/zone1b-villas.mjs.map +1 -0
- package/dist/site-image-viewer/zones-marketing.mjs +114 -0
- package/dist/site-image-viewer/zones-marketing.mjs.map +1 -0
- package/dist/site-image-viewer/zones.mjs +114 -0
- package/dist/site-image-viewer/zones.mjs.map +1 -0
- package/dist/site-image-viewer-fixtures.d.mts +44 -0
- package/dist/site-image-viewer-fixtures.d.mts.map +1 -0
- package/dist/site-image-viewer-fixtures.mjs +112 -0
- package/dist/site-image-viewer-fixtures.mjs.map +1 -0
- package/dist/site-image-viewer.d.mts +98 -0
- package/dist/site-image-viewer.d.mts.map +1 -0
- package/dist/site-image-viewer.mjs +501 -0
- package/dist/site-image-viewer.mjs.map +1 -0
- package/dist/site-panel.d.mts +123 -0
- package/dist/site-panel.d.mts.map +1 -0
- package/dist/site-panel.mjs +1413 -0
- package/dist/site-panel.mjs.map +1 -0
- package/dist/site-reality-viewer.d.mts +46 -0
- package/dist/site-reality-viewer.d.mts.map +1 -0
- package/dist/site-reality-viewer.mjs +436 -0
- package/dist/site-reality-viewer.mjs.map +1 -0
- package/dist/site-toolbar.d.mts +54 -0
- package/dist/site-toolbar.d.mts.map +1 -0
- package/dist/site-toolbar.mjs +110 -0
- package/dist/site-toolbar.mjs.map +1 -0
- package/dist/skeleton.d.mts +6 -0
- package/dist/skeleton.d.mts.map +1 -0
- package/dist/skeleton.mjs +14 -0
- package/dist/skeleton.mjs.map +1 -0
- package/dist/slider.d.mts +8 -0
- package/dist/slider.d.mts.map +1 -0
- package/dist/slider.mjs +20 -0
- package/dist/slider.mjs.map +1 -0
- package/dist/sonner.d.mts +8 -0
- package/dist/sonner.d.mts.map +1 -0
- package/dist/sonner.mjs +20 -0
- package/dist/sonner.mjs.map +1 -0
- package/dist/spinner.d.mts +12 -0
- package/dist/spinner.d.mts.map +1 -0
- package/dist/spinner.mjs +38 -0
- package/dist/spinner.mjs.map +1 -0
- package/dist/stack.d.mts +18 -0
- package/dist/stack.d.mts.map +1 -0
- package/dist/stack.mjs +61 -0
- package/dist/stack.mjs.map +1 -0
- package/dist/stage-content.d.mts +13 -0
- package/dist/stage-content.d.mts.map +1 -0
- package/dist/stage-content.mjs +664 -0
- package/dist/stage-content.mjs.map +1 -0
- package/dist/status-dot.d.mts +18 -0
- package/dist/status-dot.d.mts.map +1 -0
- package/dist/status-dot.mjs +89 -0
- package/dist/status-dot.mjs.map +1 -0
- package/dist/stepper.d.mts +19 -0
- package/dist/stepper.d.mts.map +1 -0
- package/dist/stepper.mjs +113 -0
- package/dist/stepper.mjs.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/styles.tw4.css +1 -0
- package/dist/switch.d.mts +12 -0
- package/dist/switch.d.mts.map +1 -0
- package/dist/switch.mjs +17 -0
- package/dist/switch.mjs.map +1 -0
- package/dist/tab-list.d.mts +33 -0
- package/dist/tab-list.d.mts.map +1 -0
- package/dist/tab-list.mjs +90 -0
- package/dist/tab-list.mjs.map +1 -0
- package/dist/table.d.mts +14 -0
- package/dist/table.d.mts.map +1 -0
- package/dist/table.mjs +60 -0
- package/dist/table.mjs.map +1 -0
- package/dist/tabs.d.mts +42 -0
- package/dist/tabs.d.mts.map +1 -0
- package/dist/tabs.mjs +258 -0
- package/dist/tabs.mjs.map +1 -0
- package/dist/task-monitor.d.mts +70 -0
- package/dist/task-monitor.d.mts.map +1 -0
- package/dist/task-monitor.mjs +319 -0
- package/dist/task-monitor.mjs.map +1 -0
- package/dist/text.d.mts +18 -0
- package/dist/text.d.mts.map +1 -0
- package/dist/text.mjs +60 -0
- package/dist/text.mjs.map +1 -0
- package/dist/textarea.d.mts +7 -0
- package/dist/textarea.d.mts.map +1 -0
- package/dist/textarea.mjs +15 -0
- package/dist/textarea.mjs.map +1 -0
- package/dist/thinking-pill.d.mts +15 -0
- package/dist/thinking-pill.d.mts.map +1 -0
- package/dist/thinking-pill.mjs +28 -0
- package/dist/thinking-pill.mjs.map +1 -0
- package/dist/thumbnail.d.mts +20 -0
- package/dist/thumbnail.d.mts.map +1 -0
- package/dist/thumbnail.mjs +81 -0
- package/dist/thumbnail.mjs.map +1 -0
- package/dist/time-input.d.mts +15 -0
- package/dist/time-input.d.mts.map +1 -0
- package/dist/time-input.mjs +21 -0
- package/dist/time-input.mjs.map +1 -0
- package/dist/time-scrubber.d.mts +93 -0
- package/dist/time-scrubber.d.mts.map +1 -0
- package/dist/time-scrubber.mjs +420 -0
- package/dist/time-scrubber.mjs.map +1 -0
- package/dist/timeline-range-selector.d.mts +30 -0
- package/dist/timeline-range-selector.d.mts.map +1 -0
- package/dist/timeline-range-selector.mjs +232 -0
- package/dist/timeline-range-selector.mjs.map +1 -0
- package/dist/timestamp-picker.d.mts +32 -0
- package/dist/timestamp-picker.d.mts.map +1 -0
- package/dist/timestamp-picker.mjs +143 -0
- package/dist/timestamp-picker.mjs.map +1 -0
- package/dist/timestamp.d.mts +15 -0
- package/dist/timestamp.d.mts.map +1 -0
- package/dist/timestamp.mjs +61 -0
- package/dist/timestamp.mjs.map +1 -0
- package/dist/toast.d.mts +18 -0
- package/dist/toast.d.mts.map +1 -0
- package/dist/toast.mjs +59 -0
- package/dist/toast.mjs.map +1 -0
- package/dist/toaster.d.mts +5 -0
- package/dist/toaster.d.mts.map +1 -0
- package/dist/toaster.mjs +23 -0
- package/dist/toaster.mjs.map +1 -0
- package/dist/toggle-group.d.mts +16 -0
- package/dist/toggle-group.d.mts.map +1 -0
- package/dist/toggle-group.mjs +41 -0
- package/dist/toggle-group.mjs.map +1 -0
- package/dist/toggle.d.mts +16 -0
- package/dist/toggle.d.mts.map +1 -0
- package/dist/toggle.mjs +38 -0
- package/dist/toggle.mjs.map +1 -0
- package/dist/tokenizer.d.mts +23 -0
- package/dist/tokenizer.d.mts.map +1 -0
- package/dist/tokenizer.mjs +87 -0
- package/dist/tokenizer.mjs.map +1 -0
- package/dist/tones.d.mts +59 -0
- package/dist/tones.d.mts.map +1 -0
- package/dist/tones.mjs +177 -0
- package/dist/tones.mjs.map +1 -0
- package/dist/tool-call.d.mts +29 -0
- package/dist/tool-call.d.mts.map +1 -0
- package/dist/tool-call.mjs +89 -0
- package/dist/tool-call.mjs.map +1 -0
- package/dist/toolbar-color-picker.d.mts +50 -0
- package/dist/toolbar-color-picker.d.mts.map +1 -0
- package/dist/toolbar-color-picker.mjs +238 -0
- package/dist/toolbar-color-picker.mjs.map +1 -0
- package/dist/toolbar-pager.d.mts +17 -0
- package/dist/toolbar-pager.d.mts.map +1 -0
- package/dist/toolbar-pager.mjs +40 -0
- package/dist/toolbar-pager.mjs.map +1 -0
- package/dist/toolbar-stats.d.mts +34 -0
- package/dist/toolbar-stats.d.mts.map +1 -0
- package/dist/toolbar-stats.mjs +53 -0
- package/dist/toolbar-stats.mjs.map +1 -0
- package/dist/toolbar.d.mts +98 -0
- package/dist/toolbar.d.mts.map +1 -0
- package/dist/toolbar.mjs +86 -0
- package/dist/toolbar.mjs.map +1 -0
- package/dist/tooltip.d.mts +30 -0
- package/dist/tooltip.d.mts.map +1 -0
- package/dist/tooltip.mjs +83 -0
- package/dist/tooltip.mjs.map +1 -0
- package/dist/tree-list.d.mts +38 -0
- package/dist/tree-list.d.mts.map +1 -0
- package/dist/tree-list.mjs +95 -0
- package/dist/tree-list.mjs.map +1 -0
- package/dist/tree-row.d.mts +84 -0
- package/dist/tree-row.d.mts.map +1 -0
- package/dist/tree-row.mjs +150 -0
- package/dist/tree-row.mjs.map +1 -0
- package/dist/trend-chart.d.mts +28 -0
- package/dist/trend-chart.d.mts.map +1 -0
- package/dist/trend-chart.mjs +33 -0
- package/dist/trend-chart.mjs.map +1 -0
- package/dist/turn-timer.d.mts +23 -0
- package/dist/turn-timer.d.mts.map +1 -0
- package/dist/turn-timer.mjs +51 -0
- package/dist/turn-timer.mjs.map +1 -0
- package/dist/typeahead-item.d.mts +34 -0
- package/dist/typeahead-item.d.mts.map +1 -0
- package/dist/typeahead-item.mjs +74 -0
- package/dist/typeahead-item.mjs.map +1 -0
- package/dist/types/chat.d.mts +66 -0
- package/dist/types/chat.d.mts.map +1 -0
- package/dist/types/chat.mjs +1 -0
- package/dist/types.d.mts +44 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +49 -0
- package/dist/types.mjs.map +1 -0
- package/dist/typography.d.mts +17 -0
- package/dist/typography.d.mts.map +1 -0
- package/dist/typography.mjs +75 -0
- package/dist/typography.mjs.map +1 -0
- package/dist/use-debounced-value.d.mts +11 -0
- package/dist/use-debounced-value.d.mts.map +1 -0
- package/dist/use-debounced-value.mjs +25 -0
- package/dist/use-debounced-value.mjs.map +1 -0
- package/dist/use-document-dir.d.mts +15 -0
- package/dist/use-document-dir.d.mts.map +1 -0
- package/dist/use-document-dir.mjs +33 -0
- package/dist/use-document-dir.mjs.map +1 -0
- package/dist/use-persistent-state.d.mts +9 -0
- package/dist/use-persistent-state.d.mts.map +1 -0
- package/dist/use-persistent-state.mjs +29 -0
- package/dist/use-persistent-state.mjs.map +1 -0
- package/dist/use-toast.d.mts +47 -0
- package/dist/use-toast.d.mts.map +1 -0
- package/dist/use-toast.mjs +119 -0
- package/dist/use-toast.mjs.map +1 -0
- package/dist/vertical-zoom-tools.d.mts +27 -0
- package/dist/vertical-zoom-tools.d.mts.map +1 -0
- package/dist/vertical-zoom-tools.mjs +66 -0
- package/dist/vertical-zoom-tools.mjs.map +1 -0
- package/dist/view-tab-bar.d.mts +75 -0
- package/dist/view-tab-bar.d.mts.map +1 -0
- package/dist/view-tab-bar.mjs +80 -0
- package/dist/view-tab-bar.mjs.map +1 -0
- package/dist/viewer-toolbar.d.mts +41 -0
- package/dist/viewer-toolbar.d.mts.map +1 -0
- package/dist/viewer-toolbar.mjs +271 -0
- package/dist/viewer-toolbar.mjs.map +1 -0
- package/dist/violation-list.d.mts +26 -0
- package/dist/violation-list.d.mts.map +1 -0
- package/dist/violation-list.mjs +53 -0
- package/dist/violation-list.mjs.map +1 -0
- package/dist/walkthrough-modal.d.mts +12 -0
- package/dist/walkthrough-modal.d.mts.map +1 -0
- package/dist/walkthrough-modal.mjs +28 -0
- package/dist/walkthrough-modal.mjs.map +1 -0
- package/dist/walkthrough-tile.d.mts +17 -0
- package/dist/walkthrough-tile.d.mts.map +1 -0
- package/dist/walkthrough-tile.mjs +75 -0
- package/dist/walkthrough-tile.mjs.map +1 -0
- package/dist/week-selector.d.mts +45 -0
- package/dist/week-selector.d.mts.map +1 -0
- package/dist/week-selector.mjs +101 -0
- package/dist/week-selector.mjs.map +1 -0
- package/dist/widget-card.d.mts +18 -0
- package/dist/widget-card.d.mts.map +1 -0
- package/dist/widget-card.mjs +46 -0
- package/dist/widget-card.mjs.map +1 -0
- package/dist/wizard-dialog.d.mts +68 -0
- package/dist/wizard-dialog.d.mts.map +1 -0
- package/dist/wizard-dialog.mjs +108 -0
- package/dist/wizard-dialog.mjs.map +1 -0
- package/dist/work-item-card.d.mts +38 -0
- package/dist/work-item-card.d.mts.map +1 -0
- package/dist/work-item-card.mjs +231 -0
- package/dist/work-item-card.mjs.map +1 -0
- package/dist/worker-profile.d.mts +244 -0
- package/dist/worker-profile.d.mts.map +1 -0
- package/dist/worker-profile.mjs +621 -0
- package/dist/worker-profile.mjs.map +1 -0
- package/dist/zoom-tools.d.mts +29 -0
- package/dist/zoom-tools.d.mts.map +1 -0
- package/dist/zoom-tools.mjs +94 -0
- package/dist/zoom-tools.mjs.map +1 -0
- package/package.json +1792 -0
- package/skills/core-ui-charts/SKILL.md +243 -0
- package/skills/core-ui-chat/SKILL.md +260 -0
- package/skills/core-ui-components/SKILL.md +299 -0
- package/skills/core-ui-composition/SKILL.md +186 -0
- package/skills/core-ui-data-table/SKILL.md +243 -0
- package/skills/core-ui-forms/SKILL.md +289 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
import { TilesRenderer } from "3d-tiles-renderer";
|
|
2
|
+
import * as OBC from "@thatopen/components";
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader.js";
|
|
5
|
+
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
6
|
+
//#region src/site-reality-viewer.ts
|
|
7
|
+
/** Confirmed alignment of the mesh under the IFC (metric, both centred). */
|
|
8
|
+
const DEFAULT_ALIGN = {
|
|
9
|
+
offX: -283,
|
|
10
|
+
offY: 879,
|
|
11
|
+
scale: 3.29,
|
|
12
|
+
rot: -170,
|
|
13
|
+
zoff: 26.9
|
|
14
|
+
};
|
|
15
|
+
const HOUSE_NAME_RE = /[A-Z]{2,3}\d+-\d+/i;
|
|
16
|
+
const UNASSIGNED = new THREE.Color("#9ca3af");
|
|
17
|
+
const HOVER_ACCENT = new THREE.Color(.13, .5, 1);
|
|
18
|
+
const SELECT_ACCENT = new THREE.Color("#22d3ee");
|
|
19
|
+
async function createSiteViewer(container, options = {}) {
|
|
20
|
+
const o = {
|
|
21
|
+
fragUrl: "/site-b.frag",
|
|
22
|
+
workerUrl: "/worker.mjs",
|
|
23
|
+
tilesetUrl: "/reality-mesh/capture2/mesh_3d/tileset.json",
|
|
24
|
+
dracoPath: "/reality-mesh/draco/gltf/",
|
|
25
|
+
progressUrl: "/house-progress.json",
|
|
26
|
+
meshOpacity: .85,
|
|
27
|
+
modelOpacity: 1,
|
|
28
|
+
colourMode: "progress",
|
|
29
|
+
labels: true,
|
|
30
|
+
...options
|
|
31
|
+
};
|
|
32
|
+
const align = {
|
|
33
|
+
...DEFAULT_ALIGN,
|
|
34
|
+
...options.align ?? {}
|
|
35
|
+
};
|
|
36
|
+
const components = new OBC.Components();
|
|
37
|
+
const world = components.get(OBC.Worlds).create();
|
|
38
|
+
world.scene = new OBC.SimpleScene(components);
|
|
39
|
+
world.scene.setup();
|
|
40
|
+
world.scene.three.background = new THREE.Color("#1a1d21");
|
|
41
|
+
world.renderer = new OBC.SimpleRenderer(components, container);
|
|
42
|
+
world.camera = new OBC.OrthoPerspectiveCamera(components);
|
|
43
|
+
await world.camera.controls.setLookAt(12, 10, 12, 0, 0, 0);
|
|
44
|
+
components.init();
|
|
45
|
+
const gl = world.renderer.three;
|
|
46
|
+
gl.setPixelRatio(Math.min(window.devicePixelRatio, 1.5));
|
|
47
|
+
const FAR = 5e6;
|
|
48
|
+
const MAX_DOLLY = 2e6;
|
|
49
|
+
const raiseClip = () => {
|
|
50
|
+
const cam = world.camera.three;
|
|
51
|
+
if (cam.far !== FAR) {
|
|
52
|
+
cam.far = FAR;
|
|
53
|
+
cam.updateProjectionMatrix();
|
|
54
|
+
}
|
|
55
|
+
if (world.camera.controls.maxDistance !== MAX_DOLLY) world.camera.controls.maxDistance = MAX_DOLLY;
|
|
56
|
+
};
|
|
57
|
+
raiseClip();
|
|
58
|
+
world.camera.controls.addEventListener("update", raiseClip);
|
|
59
|
+
const workerBlob = await (await fetch(o.workerUrl)).blob();
|
|
60
|
+
const workerUrl = URL.createObjectURL(new File([workerBlob], "worker.mjs", { type: "text/javascript" }));
|
|
61
|
+
const fragments = components.get(OBC.FragmentsManager);
|
|
62
|
+
fragments.init(workerUrl);
|
|
63
|
+
world.camera.controls.addEventListener("update", () => fragments.core.update());
|
|
64
|
+
fragments.list.onItemSet.add(({ value: m }) => {
|
|
65
|
+
m.useCamera(world.camera.three);
|
|
66
|
+
world.scene.three.add(m.object);
|
|
67
|
+
fragments.core.update(true);
|
|
68
|
+
});
|
|
69
|
+
const bytes = new Uint8Array(await (await fetch(o.fragUrl)).arrayBuffer());
|
|
70
|
+
await fragments.core.load(bytes, { modelId: "site-b" });
|
|
71
|
+
const model = fragments.list.get("site-b");
|
|
72
|
+
if (!model) throw new Error("site-b.frag failed to load");
|
|
73
|
+
const box0 = model.box ?? new THREE.Box3().setFromObject(model.object);
|
|
74
|
+
const yOffset = Number.isFinite(box0.min.y) ? -box0.min.y : 0;
|
|
75
|
+
if (Math.abs(yOffset) > 1e-6) {
|
|
76
|
+
model.object.position.y += yOffset;
|
|
77
|
+
model.object.updateMatrixWorld(true);
|
|
78
|
+
fragments.core.update(true);
|
|
79
|
+
}
|
|
80
|
+
const box = box0.clone();
|
|
81
|
+
box.min.y += yOffset;
|
|
82
|
+
box.max.y += yOffset;
|
|
83
|
+
const center = box.getCenter(new THREE.Vector3());
|
|
84
|
+
const modelScene = new THREE.Scene();
|
|
85
|
+
modelScene.add(new THREE.AmbientLight(16777215, 2));
|
|
86
|
+
const dir = new THREE.DirectionalLight(16777215, 2);
|
|
87
|
+
dir.position.set(1, 2, 1);
|
|
88
|
+
modelScene.add(dir);
|
|
89
|
+
world.scene.three.remove(model.object);
|
|
90
|
+
modelScene.add(model.object);
|
|
91
|
+
const dbs = gl.getDrawingBufferSize(new THREE.Vector2());
|
|
92
|
+
const layerRT = new THREE.WebGLRenderTarget(dbs.x, dbs.y, {
|
|
93
|
+
depthBuffer: true,
|
|
94
|
+
samples: 4
|
|
95
|
+
});
|
|
96
|
+
layerRT.texture.colorSpace = THREE.SRGBColorSpace;
|
|
97
|
+
const quadCam = new THREE.OrthographicCamera(-1, 1, 1, -1, 0, 1);
|
|
98
|
+
const quadMat = new THREE.MeshBasicMaterial({
|
|
99
|
+
map: layerRT.texture,
|
|
100
|
+
transparent: true,
|
|
101
|
+
opacity: o.modelOpacity,
|
|
102
|
+
depthTest: false,
|
|
103
|
+
depthWrite: false,
|
|
104
|
+
toneMapped: false
|
|
105
|
+
});
|
|
106
|
+
const quadScene = new THREE.Scene();
|
|
107
|
+
quadScene.add(new THREE.Mesh(new THREE.PlaneGeometry(2, 2), quadMat));
|
|
108
|
+
let modelVisible = o.modelOpacity > .001;
|
|
109
|
+
world.renderer.onResize.add(() => {
|
|
110
|
+
const s = gl.getDrawingBufferSize(new THREE.Vector2());
|
|
111
|
+
layerRT.setSize(s.x, s.y);
|
|
112
|
+
});
|
|
113
|
+
world.renderer.onAfterUpdate.add(() => {
|
|
114
|
+
if (!modelVisible) return;
|
|
115
|
+
const prevAlpha = gl.getClearAlpha();
|
|
116
|
+
gl.setRenderTarget(layerRT);
|
|
117
|
+
gl.setClearColor(0, 0);
|
|
118
|
+
gl.clear(true, true, false);
|
|
119
|
+
gl.render(modelScene, world.camera.three);
|
|
120
|
+
gl.setRenderTarget(null);
|
|
121
|
+
gl.setClearAlpha(prevAlpha);
|
|
122
|
+
const prevAuto = gl.autoClear;
|
|
123
|
+
gl.autoClear = false;
|
|
124
|
+
gl.render(quadScene, quadCam);
|
|
125
|
+
gl.autoClear = prevAuto;
|
|
126
|
+
});
|
|
127
|
+
const satGroup = new THREE.Group();
|
|
128
|
+
const enuGroup = new THREE.Group();
|
|
129
|
+
satGroup.add(enuGroup);
|
|
130
|
+
world.scene.three.add(satGroup);
|
|
131
|
+
const tiles = new TilesRenderer(o.tilesetUrl);
|
|
132
|
+
tiles.errorTarget = 16;
|
|
133
|
+
tiles.maxDepth = 7;
|
|
134
|
+
tiles.lruCache.maxSize = 200;
|
|
135
|
+
tiles.lruCache.minSize = 100;
|
|
136
|
+
tiles.lruCache.maxBytesSize = .2 * 2 ** 30;
|
|
137
|
+
tiles.lruCache.unloadPercent = .25;
|
|
138
|
+
const draco = new DRACOLoader(tiles.manager);
|
|
139
|
+
draco.setDecoderPath(o.dracoPath);
|
|
140
|
+
const gltf = new GLTFLoader(tiles.manager);
|
|
141
|
+
gltf.setDRACOLoader(draco);
|
|
142
|
+
tiles.manager.addHandler(/\.(gltf|glb)$/i, gltf);
|
|
143
|
+
tiles.setCamera(world.camera.three);
|
|
144
|
+
tiles.setResolutionFromRenderer(world.camera.three, gl);
|
|
145
|
+
enuGroup.add(tiles.group);
|
|
146
|
+
let meshOpacity = o.meshOpacity;
|
|
147
|
+
const styleTile = (root) => root.traverse((n) => {
|
|
148
|
+
const mesh = n;
|
|
149
|
+
if (!mesh.isMesh) return;
|
|
150
|
+
for (const m of Array.isArray(mesh.material) ? mesh.material : [mesh.material]) {
|
|
151
|
+
if (!m) continue;
|
|
152
|
+
m.transparent = meshOpacity < 1;
|
|
153
|
+
m.opacity = meshOpacity;
|
|
154
|
+
m.depthWrite = meshOpacity >= 1;
|
|
155
|
+
m.needsUpdate = true;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
tiles.addEventListener("load-model", (e) => {
|
|
159
|
+
if (e.scene) styleTile(e.scene);
|
|
160
|
+
fragments.core.update();
|
|
161
|
+
});
|
|
162
|
+
let framed = false;
|
|
163
|
+
tiles.addEventListener("load-tile-set", () => {
|
|
164
|
+
const sphere = new THREE.Sphere();
|
|
165
|
+
if (framed || !tiles.getBoundingSphere(sphere)) return;
|
|
166
|
+
framed = true;
|
|
167
|
+
tiles.group.position.copy(sphere.center).multiplyScalar(-1);
|
|
168
|
+
enuGroup.quaternion.setFromUnitVectors(sphere.center.clone().normalize(), new THREE.Vector3(0, 1, 0));
|
|
169
|
+
applyAlign();
|
|
170
|
+
fitAll();
|
|
171
|
+
o.onReady?.(api);
|
|
172
|
+
});
|
|
173
|
+
world.renderer.onBeforeUpdate.add(() => {
|
|
174
|
+
tiles.setResolutionFromRenderer(world.camera.three, gl);
|
|
175
|
+
tiles.update();
|
|
176
|
+
});
|
|
177
|
+
function applyAlign() {
|
|
178
|
+
satGroup.position.set(center.x + align.offX, box.min.y - .05 + align.zoff, center.z - align.offY);
|
|
179
|
+
satGroup.scale.setScalar(align.scale);
|
|
180
|
+
satGroup.rotation.y = align.rot * Math.PI / 180;
|
|
181
|
+
fragments.core.update();
|
|
182
|
+
}
|
|
183
|
+
const villaColours = /* @__PURE__ */ new Map();
|
|
184
|
+
const idToVilla = /* @__PURE__ */ new Map();
|
|
185
|
+
const villaToIds = /* @__PURE__ */ new Map();
|
|
186
|
+
let allIds = [];
|
|
187
|
+
let colourMode = o.colourMode;
|
|
188
|
+
let hovered = null;
|
|
189
|
+
let selected = null;
|
|
190
|
+
async function loadColours() {
|
|
191
|
+
try {
|
|
192
|
+
const res = await fetch(o.progressUrl);
|
|
193
|
+
if (res.ok) {
|
|
194
|
+
const doc = await res.json();
|
|
195
|
+
for (const [code, h] of Object.entries(doc.houses)) villaColours.set(code, new THREE.Color(h.color));
|
|
196
|
+
}
|
|
197
|
+
} catch {}
|
|
198
|
+
}
|
|
199
|
+
const colourFor = (code) => villaColours.get(code) ?? UNASSIGNED;
|
|
200
|
+
async function indexVillas() {
|
|
201
|
+
const cats = await model.getItemsOfCategories([/IFCWALL/, /IFCSLAB/]);
|
|
202
|
+
allIds = [].concat(...Object.values(cats)).filter((x) => x != null);
|
|
203
|
+
if (!allIds.length) return;
|
|
204
|
+
const data = await model.getItemsData(allIds, { attributesDefault: true });
|
|
205
|
+
for (const it of data) {
|
|
206
|
+
const lid = (it?._localId)?.value;
|
|
207
|
+
const nm = (it?.Name)?.value;
|
|
208
|
+
if (typeof lid !== "number" || typeof nm !== "string" || !HOUSE_NAME_RE.test(nm)) continue;
|
|
209
|
+
idToVilla.set(lid, nm);
|
|
210
|
+
const arr = villaToIds.get(nm);
|
|
211
|
+
if (arr) arr.push(lid);
|
|
212
|
+
else villaToIds.set(nm, [lid]);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
async function paint(code) {
|
|
216
|
+
const ids = villaToIds.get(code);
|
|
217
|
+
if (!ids) return;
|
|
218
|
+
if (selected === code) return model.setColor(ids, SELECT_ACCENT);
|
|
219
|
+
if (hovered === code) {
|
|
220
|
+
if (colourMode === "material") return model.setColor(ids, HOVER_ACCENT);
|
|
221
|
+
return model.setColor(ids, colourFor(code).clone().lerp(new THREE.Color(1, 1, 1), .4));
|
|
222
|
+
}
|
|
223
|
+
if (colourMode === "progress") return model.setColor(ids, colourFor(code));
|
|
224
|
+
if (colourMode === "hover") return model.resetColor(ids);
|
|
225
|
+
return model.resetColor(ids);
|
|
226
|
+
}
|
|
227
|
+
async function repaintAll() {
|
|
228
|
+
if (colourMode === "progress") await Promise.all([...villaToIds.keys()].map((c) => paint(c)));
|
|
229
|
+
else {
|
|
230
|
+
await model.resetColor(allIds);
|
|
231
|
+
if (selected) await paint(selected);
|
|
232
|
+
}
|
|
233
|
+
await fragments.core.update(true);
|
|
234
|
+
}
|
|
235
|
+
let labelsVisible = options.labels ?? true;
|
|
236
|
+
const labelEls = [];
|
|
237
|
+
const labelLayer = document.createElement("div");
|
|
238
|
+
labelLayer.style.cssText = "position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2";
|
|
239
|
+
const styleLabel = (el, light) => {
|
|
240
|
+
el.style.background = light ? "#ffffff" : "#000000";
|
|
241
|
+
el.style.color = light ? "#111827" : "#ffffff";
|
|
242
|
+
};
|
|
243
|
+
function restyleLabels() {
|
|
244
|
+
for (const L of labelEls) styleLabel(L.inner, L.code === selected);
|
|
245
|
+
}
|
|
246
|
+
const _labelSphere = box.getBoundingSphere(new THREE.Sphere());
|
|
247
|
+
const _labelFov = (world.camera.three.fov ?? 50) * Math.PI / 180;
|
|
248
|
+
const labelZoomDist = _labelSphere.radius / Math.tan(_labelFov / 2) * .5;
|
|
249
|
+
const _labelTarget = new THREE.Vector3();
|
|
250
|
+
const cameraFramingDistance = () => {
|
|
251
|
+
world.camera.controls.getTarget(_labelTarget);
|
|
252
|
+
return world.camera.three.position.distanceTo(_labelTarget);
|
|
253
|
+
};
|
|
254
|
+
const _proj = new THREE.Vector3();
|
|
255
|
+
function updateLabels() {
|
|
256
|
+
const W = container.clientWidth;
|
|
257
|
+
const H = container.clientHeight;
|
|
258
|
+
const cam = world.camera.three;
|
|
259
|
+
const zoomedIn = cameraFramingDistance() <= labelZoomDist;
|
|
260
|
+
for (const L of labelEls) {
|
|
261
|
+
_proj.copy(L.center).project(cam);
|
|
262
|
+
if (!(labelsVisible && zoomedIn && _proj.z > -1 && _proj.z < 1 && Math.abs(_proj.x) < 1.15 && Math.abs(_proj.y) < 1.15)) {
|
|
263
|
+
if (L.el.style.visibility !== "hidden") L.el.style.visibility = "hidden";
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
L.el.style.visibility = "visible";
|
|
267
|
+
L.el.style.transform = `translate(-50%,-50%) translate(${(_proj.x * .5 + .5) * W}px,${(-_proj.y * .5 + .5) * H}px)`;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
async function buildLabels() {
|
|
271
|
+
container.appendChild(labelLayer);
|
|
272
|
+
await Promise.all([...villaToIds.keys()].map(async (code) => {
|
|
273
|
+
const ids = villaToIds.get(code);
|
|
274
|
+
if (!ids?.length) return;
|
|
275
|
+
const b = await model.getMergedBox(ids);
|
|
276
|
+
if (!b) return;
|
|
277
|
+
const center = b.getCenter(new THREE.Vector3());
|
|
278
|
+
const el = document.createElement("div");
|
|
279
|
+
el.style.cssText = "position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;will-change:transform";
|
|
280
|
+
const inner = document.createElement("div");
|
|
281
|
+
inner.textContent = code.split("-").pop() ?? code;
|
|
282
|
+
inner.style.cssText = "padding:2px 6px;border-radius:5px;font:600 12px/1 ui-sans-serif,system-ui,-apple-system,sans-serif;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.35)";
|
|
283
|
+
styleLabel(inner, code === selected);
|
|
284
|
+
el.appendChild(inner);
|
|
285
|
+
labelLayer.appendChild(el);
|
|
286
|
+
labelEls.push({
|
|
287
|
+
code,
|
|
288
|
+
el,
|
|
289
|
+
inner,
|
|
290
|
+
center
|
|
291
|
+
});
|
|
292
|
+
}));
|
|
293
|
+
updateLabels();
|
|
294
|
+
}
|
|
295
|
+
world.renderer.onBeforeUpdate.add(updateLabels);
|
|
296
|
+
let raf = 0;
|
|
297
|
+
let lastXY = null;
|
|
298
|
+
let busy = false;
|
|
299
|
+
async function hitVilla(x, y) {
|
|
300
|
+
const hit = await model.raycast({
|
|
301
|
+
camera: world.camera.three,
|
|
302
|
+
mouse: new THREE.Vector2(x, y),
|
|
303
|
+
dom: gl.domElement
|
|
304
|
+
});
|
|
305
|
+
return hit && typeof hit.localId === "number" ? idToVilla.get(hit.localId) ?? null : null;
|
|
306
|
+
}
|
|
307
|
+
async function onHoverTick() {
|
|
308
|
+
raf = 0;
|
|
309
|
+
if (busy || !lastXY) return;
|
|
310
|
+
busy = true;
|
|
311
|
+
try {
|
|
312
|
+
const code = await hitVilla(lastXY.x, lastXY.y);
|
|
313
|
+
if (code !== hovered) {
|
|
314
|
+
const prev = hovered;
|
|
315
|
+
hovered = code;
|
|
316
|
+
if (prev && prev !== selected) await paint(prev);
|
|
317
|
+
if (code && code !== selected) await paint(code);
|
|
318
|
+
await fragments.core.update(true);
|
|
319
|
+
api.onHover?.(code);
|
|
320
|
+
}
|
|
321
|
+
} finally {
|
|
322
|
+
busy = false;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
const onMove = (e) => {
|
|
326
|
+
lastXY = {
|
|
327
|
+
x: e.clientX,
|
|
328
|
+
y: e.clientY
|
|
329
|
+
};
|
|
330
|
+
if (!raf) raf = requestAnimationFrame(() => void onHoverTick());
|
|
331
|
+
};
|
|
332
|
+
const onLeave = () => {
|
|
333
|
+
lastXY = null;
|
|
334
|
+
if (hovered && hovered !== selected) {
|
|
335
|
+
const h = hovered;
|
|
336
|
+
hovered = null;
|
|
337
|
+
paint(h).then(() => fragments.core.update(true));
|
|
338
|
+
}
|
|
339
|
+
hovered = null;
|
|
340
|
+
api.onHover?.(null);
|
|
341
|
+
};
|
|
342
|
+
const onClick = (e) => {
|
|
343
|
+
hitVilla(e.clientX, e.clientY).then((c) => api.selectVilla(c));
|
|
344
|
+
};
|
|
345
|
+
container.addEventListener("mousemove", onMove);
|
|
346
|
+
container.addEventListener("mouseleave", onLeave);
|
|
347
|
+
container.addEventListener("click", onClick);
|
|
348
|
+
const api = {
|
|
349
|
+
setModelOpacity(op) {
|
|
350
|
+
quadMat.opacity = op;
|
|
351
|
+
modelVisible = op > .001;
|
|
352
|
+
fragments.core.update();
|
|
353
|
+
},
|
|
354
|
+
setMeshOpacity(op) {
|
|
355
|
+
meshOpacity = op;
|
|
356
|
+
tiles.group.traverse((n) => styleTile(n));
|
|
357
|
+
fragments.core.update();
|
|
358
|
+
},
|
|
359
|
+
setModelVisible(v) {
|
|
360
|
+
modelVisible = v;
|
|
361
|
+
fragments.core.update();
|
|
362
|
+
},
|
|
363
|
+
setMeshVisible(v) {
|
|
364
|
+
satGroup.visible = v;
|
|
365
|
+
fragments.core.update();
|
|
366
|
+
},
|
|
367
|
+
setLabelsVisible(v) {
|
|
368
|
+
labelsVisible = v;
|
|
369
|
+
updateLabels();
|
|
370
|
+
},
|
|
371
|
+
async setColourMode(mode) {
|
|
372
|
+
colourMode = mode;
|
|
373
|
+
hovered = null;
|
|
374
|
+
await repaintAll();
|
|
375
|
+
},
|
|
376
|
+
setVillaColours(map) {
|
|
377
|
+
for (const [code, hex] of Object.entries(map)) villaColours.set(code, new THREE.Color(hex));
|
|
378
|
+
repaintAll();
|
|
379
|
+
},
|
|
380
|
+
async selectVilla(code) {
|
|
381
|
+
const prev = selected;
|
|
382
|
+
selected = code;
|
|
383
|
+
if (prev) await paint(prev);
|
|
384
|
+
if (code) await paint(code);
|
|
385
|
+
await fragments.core.update(true);
|
|
386
|
+
restyleLabels();
|
|
387
|
+
api.onSelect?.(code);
|
|
388
|
+
},
|
|
389
|
+
getSelectedVilla() {
|
|
390
|
+
return selected;
|
|
391
|
+
},
|
|
392
|
+
getVillaCodes() {
|
|
393
|
+
return [...villaToIds.keys()];
|
|
394
|
+
},
|
|
395
|
+
getVillaColour(code) {
|
|
396
|
+
const c = villaColours.get(code);
|
|
397
|
+
return c ? "#" + c.getHexString() : null;
|
|
398
|
+
},
|
|
399
|
+
async fitVilla(code) {
|
|
400
|
+
const ids = villaToIds.get(code);
|
|
401
|
+
if (!ids?.length) return;
|
|
402
|
+
const b = await model.getMergedBox(ids);
|
|
403
|
+
if (!b) return;
|
|
404
|
+
const c = b.getCenter(new THREE.Vector3());
|
|
405
|
+
b.setFromCenterAndSize(c, b.getSize(new THREE.Vector3()).multiplyScalar(4));
|
|
406
|
+
await world.camera.controls.fitToBox(b, true);
|
|
407
|
+
},
|
|
408
|
+
async fitAll() {
|
|
409
|
+
await world.camera.controls.fitToBox(box, true);
|
|
410
|
+
},
|
|
411
|
+
onHover: options.onHover,
|
|
412
|
+
onSelect: options.onSelect,
|
|
413
|
+
dispose() {
|
|
414
|
+
container.removeEventListener("mousemove", onMove);
|
|
415
|
+
container.removeEventListener("mouseleave", onLeave);
|
|
416
|
+
container.removeEventListener("click", onClick);
|
|
417
|
+
try {
|
|
418
|
+
tiles.dispose();
|
|
419
|
+
} catch {}
|
|
420
|
+
components.dispose();
|
|
421
|
+
container.replaceChildren();
|
|
422
|
+
}
|
|
423
|
+
};
|
|
424
|
+
async function fitAll() {
|
|
425
|
+
await world.camera.controls.fitToBox(box, true);
|
|
426
|
+
}
|
|
427
|
+
await loadColours();
|
|
428
|
+
await indexVillas();
|
|
429
|
+
await repaintAll();
|
|
430
|
+
buildLabels();
|
|
431
|
+
return api;
|
|
432
|
+
}
|
|
433
|
+
//#endregion
|
|
434
|
+
export { createSiteViewer };
|
|
435
|
+
|
|
436
|
+
//# sourceMappingURL=site-reality-viewer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-reality-viewer.mjs","names":[],"sources":["../src/site-reality-viewer.ts"],"sourcesContent":["// Headless reality-mesh + progress-model viewer (no built-in UI). Renders the DroneDeploy reality-capture\n// mesh (Cesium 3D Tiles) with the IFC \"progress model\" composited on top at a uniform opacity, and exposes\n// a programmatic API keyed by villa number. Adapted from the embed-reality-mesh-viewer handoff prompt.\nimport {TilesRenderer} from \"3d-tiles-renderer\";\nimport * as OBC from \"@thatopen/components\";\nimport * as THREE from \"three\";\nimport {DRACOLoader} from \"three/examples/jsm/loaders/DRACOLoader.js\";\nimport {GLTFLoader} from \"three/examples/jsm/loaders/GLTFLoader.js\";\n\nexport type ColourMode = \"material\" | \"progress\" | \"hover\";\nexport interface AlignState {\n\toffX: number;\n\toffY: number;\n\tscale: number;\n\trot: number;\n\tzoff: number;\n}\nexport interface SiteViewerOptions {\n\tfragUrl?: string;\n\tworkerUrl?: string;\n\ttilesetUrl?: string;\n\tdracoPath?: string;\n\tprogressUrl?: string;\n\talign?: Partial<AlignState>;\n\tmeshOpacity?: number;\n\tmodelOpacity?: number;\n\tcolourMode?: ColourMode;\n\t/** Show the villa-number chips floating over each villa. Default true. */\n\tlabels?: boolean;\n\tonReady?: (v: SiteViewer) => void;\n\tonHover?: (code: string | null) => void;\n\tonSelect?: (code: string | null) => void;\n}\nexport interface SiteViewer {\n\tsetModelOpacity(op: number): void;\n\tsetMeshOpacity(op: number): void;\n\tsetModelVisible(v: boolean): void;\n\tsetMeshVisible(v: boolean): void;\n\tsetLabelsVisible(v: boolean): void;\n\tsetColourMode(mode: ColourMode): void;\n\tsetVillaColours(map: Record<string, string>): void;\n\tselectVilla(code: string | null): void;\n\tgetSelectedVilla(): string | null;\n\tgetVillaCodes(): string[];\n\tgetVillaColour(code: string): string | null;\n\tfitVilla(code: string): Promise<void>;\n\tfitAll(): Promise<void>;\n\tonHover?: (code: string | null) => void;\n\tonSelect?: (code: string | null) => void;\n\tdispose(): void;\n}\n\n/** Confirmed alignment of the mesh under the IFC (metric, both centred). */\nconst DEFAULT_ALIGN: AlignState = {offX: -283, offY: 879, scale: 3.29, rot: -170, zoff: 26.9};\nconst HOUSE_NAME_RE = /[A-Z]{2,3}\\d+-\\d+/i; // villa numbers: DP4-2050, VL4-2275, TH1-2234…\nconst UNASSIGNED = new THREE.Color(\"#9ca3af\");\nconst HOVER_ACCENT = new THREE.Color(0.13, 0.5, 1);\nconst SELECT_ACCENT = new THREE.Color(\"#22d3ee\");\n\nexport async function createSiteViewer(container: HTMLElement, options: SiteViewerOptions = {}): Promise<SiteViewer> {\n\tconst o = {\n\t\tfragUrl: \"/site-b.frag\",\n\t\tworkerUrl: \"/worker.mjs\",\n\t\ttilesetUrl: \"/reality-mesh/capture2/mesh_3d/tileset.json\",\n\t\tdracoPath: \"/reality-mesh/draco/gltf/\",\n\t\tprogressUrl: \"/house-progress.json\",\n\t\tmeshOpacity: 0.85,\n\t\tmodelOpacity: 1,\n\t\tcolourMode: \"progress\" as ColourMode,\n\t\tlabels: true,\n\t\t...options,\n\t};\n\tconst align: AlignState = {...DEFAULT_ALIGN, ...(options.align ?? {})};\n\n\t// --- World ---------------------------------------------------------------\n\tconst components = new OBC.Components();\n\tconst world = components.get(OBC.Worlds).create<OBC.SimpleScene, OBC.OrthoPerspectiveCamera, OBC.SimpleRenderer>();\n\tworld.scene = new OBC.SimpleScene(components);\n\tworld.scene.setup();\n\tworld.scene.three.background = new THREE.Color(\"#1a1d21\");\n\tworld.renderer = new OBC.SimpleRenderer(components, container);\n\tworld.camera = new OBC.OrthoPerspectiveCamera(components);\n\tawait world.camera.controls.setLookAt(12, 10, 12, 0, 0, 0);\n\tcomponents.init();\n\n\tconst gl = (world.renderer as OBC.SimpleRenderer).three;\n\tgl.setPixelRatio(Math.min(window.devicePixelRatio, 1.5));\n\n\t// Zoom out over the ~1.8 km site without clipping.\n\tconst FAR = 5_000_000;\n\tconst MAX_DOLLY = 2_000_000;\n\tconst raiseClip = () => {\n\t\tconst cam = world.camera.three as THREE.PerspectiveCamera;\n\t\tif (cam.far !== FAR) {\n\t\t\tcam.far = FAR;\n\t\t\tcam.updateProjectionMatrix();\n\t\t}\n\t\tif (world.camera.controls.maxDistance !== MAX_DOLLY) world.camera.controls.maxDistance = MAX_DOLLY;\n\t};\n\traiseClip();\n\tworld.camera.controls.addEventListener(\"update\", raiseClip);\n\n\t// --- Fragments (progress model) -----------------------------------------\n\tconst workerBlob = await (await fetch(o.workerUrl)).blob();\n\tconst workerUrl = URL.createObjectURL(new File([workerBlob], \"worker.mjs\", {type: \"text/javascript\"}));\n\tconst fragments = components.get(OBC.FragmentsManager);\n\tfragments.init(workerUrl);\n\tworld.camera.controls.addEventListener(\"update\", () => fragments.core.update());\n\tfragments.list.onItemSet.add(({value: m}) => {\n\t\tm.useCamera(world.camera.three);\n\t\tworld.scene.three.add(m.object);\n\t\tfragments.core.update(true);\n\t});\n\n\tconst bytes = new Uint8Array(await (await fetch(o.fragUrl)).arrayBuffer());\n\tawait fragments.core.load(bytes, {modelId: \"site-b\"});\n\tconst model = fragments.list.get(\"site-b\");\n\tif (!model) throw new Error(\"site-b.frag failed to load\");\n\n\t// Sit the model base on y = 0.\n\tconst box0 = model.box ?? new THREE.Box3().setFromObject(model.object);\n\tconst yOffset = Number.isFinite(box0.min.y) ? -box0.min.y : 0;\n\tif (Math.abs(yOffset) > 1e-6) {\n\t\tmodel.object.position.y += yOffset;\n\t\tmodel.object.updateMatrixWorld(true);\n\t\tfragments.core.update(true);\n\t}\n\tconst box = box0.clone();\n\tbox.min.y += yOffset;\n\tbox.max.y += yOffset;\n\tconst center = box.getCenter(new THREE.Vector3());\n\n\t// --- Progress model as its own composited layer -------------------------\n\tconst modelScene = new THREE.Scene();\n\tmodelScene.add(new THREE.AmbientLight(0xffffff, 2));\n\tconst dir = new THREE.DirectionalLight(0xffffff, 2);\n\tdir.position.set(1, 2, 1);\n\tmodelScene.add(dir);\n\tworld.scene.three.remove(model.object);\n\tmodelScene.add(model.object);\n\n\tconst dbs = gl.getDrawingBufferSize(new THREE.Vector2());\n\tconst layerRT = new THREE.WebGLRenderTarget(dbs.x, dbs.y, {depthBuffer: true, samples: 4});\n\tlayerRT.texture.colorSpace = THREE.SRGBColorSpace;\n\tconst quadCam = new THREE.OrthographicCamera(-1, 1, 1, -1, 0, 1);\n\tconst quadMat = new THREE.MeshBasicMaterial({\n\t\tmap: layerRT.texture,\n\t\ttransparent: true,\n\t\topacity: o.modelOpacity,\n\t\tdepthTest: false,\n\t\tdepthWrite: false,\n\t\ttoneMapped: false,\n\t});\n\tconst quadScene = new THREE.Scene();\n\tquadScene.add(new THREE.Mesh(new THREE.PlaneGeometry(2, 2), quadMat));\n\tlet modelVisible = o.modelOpacity > 0.001;\n\tworld.renderer.onResize.add(() => {\n\t\tconst s = gl.getDrawingBufferSize(new THREE.Vector2());\n\t\tlayerRT.setSize(s.x, s.y);\n\t});\n\tworld.renderer.onAfterUpdate.add(() => {\n\t\tif (!modelVisible) return;\n\t\tconst prevAlpha = gl.getClearAlpha();\n\t\tgl.setRenderTarget(layerRT);\n\t\tgl.setClearColor(0x000000, 0);\n\t\tgl.clear(true, true, false);\n\t\tgl.render(modelScene, world.camera.three);\n\t\tgl.setRenderTarget(null);\n\t\tgl.setClearAlpha(prevAlpha);\n\t\tconst prevAuto = gl.autoClear;\n\t\tgl.autoClear = false;\n\t\tgl.render(quadScene, quadCam);\n\t\tgl.autoClear = prevAuto;\n\t});\n\n\t// --- Reality mesh (Cesium 3D Tiles, ECEF) --------------------------------\n\tconst satGroup = new THREE.Group(); // alignment to the IFC\n\tconst enuGroup = new THREE.Group(); // ECEF-up -> world +Y\n\tsatGroup.add(enuGroup);\n\tworld.scene.three.add(satGroup);\n\tconst tiles = new TilesRenderer(o.tilesetUrl);\n\ttiles.errorTarget = 16;\n\ttiles.maxDepth = 7;\n\ttiles.lruCache.maxSize = 200;\n\ttiles.lruCache.minSize = 100;\n\ttiles.lruCache.maxBytesSize = 0.2 * 2 ** 30;\n\ttiles.lruCache.unloadPercent = 0.25;\n\tconst draco = new DRACOLoader(tiles.manager);\n\tdraco.setDecoderPath(o.dracoPath);\n\tconst gltf = new GLTFLoader(tiles.manager);\n\tgltf.setDRACOLoader(draco);\n\ttiles.manager.addHandler(/\\.(gltf|glb)$/i, gltf);\n\ttiles.setCamera(world.camera.three);\n\ttiles.setResolutionFromRenderer(world.camera.three, gl);\n\tenuGroup.add(tiles.group);\n\n\tlet meshOpacity = o.meshOpacity;\n\tconst styleTile = (root: THREE.Object3D) =>\n\t\troot.traverse((n) => {\n\t\t\tconst mesh = n as THREE.Mesh;\n\t\t\tif (!mesh.isMesh) return;\n\t\t\tfor (const m of Array.isArray(mesh.material) ? mesh.material : [mesh.material]) {\n\t\t\t\tif (!m) continue;\n\t\t\t\tm.transparent = meshOpacity < 1;\n\t\t\t\t(m as THREE.Material & {opacity: number}).opacity = meshOpacity;\n\t\t\t\tm.depthWrite = meshOpacity >= 1;\n\t\t\t\tm.needsUpdate = true;\n\t\t\t}\n\t\t});\n\ttiles.addEventListener(\"load-model\", (e: {scene?: THREE.Object3D}) => {\n\t\tif (e.scene) styleTile(e.scene);\n\t\tfragments.core.update();\n\t});\n\tlet framed = false;\n\ttiles.addEventListener(\"load-tile-set\", () => {\n\t\tconst sphere = new THREE.Sphere();\n\t\tif (framed || !tiles.getBoundingSphere(sphere)) return;\n\t\tframed = true;\n\t\ttiles.group.position.copy(sphere.center).multiplyScalar(-1);\n\t\tenuGroup.quaternion.setFromUnitVectors(sphere.center.clone().normalize(), new THREE.Vector3(0, 1, 0));\n\t\tapplyAlign();\n\t\tvoid fitAll();\n\t\to.onReady?.(api);\n\t});\n\tworld.renderer.onBeforeUpdate.add(() => {\n\t\ttiles.setResolutionFromRenderer(world.camera.three, gl);\n\t\ttiles.update();\n\t});\n\tfunction applyAlign() {\n\t\tsatGroup.position.set(center.x + align.offX, box.min.y - 0.05 + align.zoff, center.z - align.offY);\n\t\tsatGroup.scale.setScalar(align.scale);\n\t\tsatGroup.rotation.y = (align.rot * Math.PI) / 180;\n\t\tfragments.core.update();\n\t}\n\n\t// --- Villa identity + colouring -----------------------------------------\n\tconst villaColours = new Map<string, THREE.Color>();\n\tconst idToVilla = new Map<number, string>();\n\tconst villaToIds = new Map<string, number[]>();\n\tlet allIds: number[] = [];\n\tlet colourMode: ColourMode = o.colourMode;\n\tlet hovered: string | null = null;\n\tlet selected: string | null = null;\n\n\tasync function loadColours() {\n\t\ttry {\n\t\t\tconst res = await fetch(o.progressUrl);\n\t\t\tif (res.ok) {\n\t\t\t\tconst doc = (await res.json()) as {houses: Record<string, {color: string}>};\n\t\t\t\tfor (const [code, h] of Object.entries(doc.houses)) villaColours.set(code, new THREE.Color(h.color));\n\t\t\t}\n\t\t} catch {\n\t\t\t/* villas fall back to grey */\n\t\t}\n\t}\n\tconst colourFor = (code: string) => villaColours.get(code) ?? UNASSIGNED;\n\n\tasync function indexVillas() {\n\t\tconst cats = await model!.getItemsOfCategories([/IFCWALL/, /IFCSLAB/]);\n\t\tallIds = ([] as number[]).concat(...Object.values(cats)).filter((x) => x != null);\n\t\tif (!allIds.length) return;\n\t\tconst data = (await model!.getItemsData(allIds, {attributesDefault: true})) as Array<\n\t\t\tRecord<string, {value?: unknown} | undefined>\n\t\t>;\n\t\tfor (const it of data) {\n\t\t\tconst lid = (it?._localId as {value?: unknown} | undefined)?.value;\n\t\t\tconst nm = (it?.Name as {value?: unknown} | undefined)?.value;\n\t\t\tif (typeof lid !== \"number\" || typeof nm !== \"string\" || !HOUSE_NAME_RE.test(nm)) continue;\n\t\t\tidToVilla.set(lid, nm);\n\t\t\tconst arr = villaToIds.get(nm);\n\t\t\tif (arr) arr.push(lid);\n\t\t\telse villaToIds.set(nm, [lid]);\n\t\t}\n\t}\n\n\t// Paint one villa according to (mode, selected, hovered).\n\tasync function paint(code: string) {\n\t\tconst ids = villaToIds.get(code);\n\t\tif (!ids) return;\n\t\tif (selected === code) return model!.setColor(ids, SELECT_ACCENT);\n\t\tif (hovered === code) {\n\t\t\tif (colourMode === \"material\") return model!.setColor(ids, HOVER_ACCENT);\n\t\t\treturn model!.setColor(\n\t\t\t\tids,\n\t\t\t\tcolourFor(code)\n\t\t\t\t\t.clone()\n\t\t\t\t\t.lerp(new THREE.Color(1, 1, 1), 0.4),\n\t\t\t);\n\t\t}\n\t\tif (colourMode === \"progress\") return model!.setColor(ids, colourFor(code));\n\t\tif (colourMode === \"hover\") return model!.resetColor(ids);\n\t\treturn model!.resetColor(ids); // material\n\t}\n\tasync function repaintAll() {\n\t\tif (colourMode === \"progress\") {\n\t\t\tawait Promise.all([...villaToIds.keys()].map((c) => paint(c)));\n\t\t} else {\n\t\t\tawait model!.resetColor(allIds);\n\t\t\tif (selected) await paint(selected);\n\t\t}\n\t\tawait fragments.core.update(true);\n\t}\n\n\t// --- Villa-number labels (HTML chips over each villa, matching the 2D site-plan labels) -----------------\n\t// A DOM overlay ABOVE the canvas but `pointer-events:none`, so it never blocks orbit / hover / click. One\n\t// chip per villa carrying the same theme as the 2D `VillaLabel`: a black pill with white text by default,\n\t// flipped to a white pill with dark text when its villa is selected. Each frame the villa's world centre is\n\t// projected to screen space and the chip is moved there; chips that fall off-screen hide.\n\tlet labelsVisible = options.labels ?? true;\n\tconst labelEls: {code: string; el: HTMLDivElement; inner: HTMLDivElement; center: THREE.Vector3}[] = [];\n\tconst labelLayer = document.createElement(\"div\");\n\tlabelLayer.style.cssText = \"position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2\";\n\tconst styleLabel = (el: HTMLDivElement, light: boolean) => {\n\t\t// Matches the 2D VillaLabel: dark chip / white text by default; white chip / dark text when selected.\n\t\tel.style.background = light ? \"#ffffff\" : \"#000000\";\n\t\tel.style.color = light ? \"#111827\" : \"#ffffff\";\n\t};\n\tfunction restyleLabels() {\n\t\tfor (const L of labelEls) styleLabel(L.inner, L.code === selected);\n\t}\n\t// Labels only appear once the camera has zoomed in past 50% — at the full-site framing hundreds of chips\n\t// overlap into noise. `labelZoomDist` is the distance that frames the whole model, halved; chips show only\n\t// while the camera sits closer to its target than that (i.e. zoomed in more than 50%).\n\tconst _labelSphere = box.getBoundingSphere(new THREE.Sphere());\n\tconst _labelFov = (((world.camera.three as THREE.PerspectiveCamera).fov ?? 50) * Math.PI) / 180;\n\tconst labelZoomDist = (_labelSphere.radius / Math.tan(_labelFov / 2)) * 0.5;\n\tconst _labelTarget = new THREE.Vector3();\n\tconst cameraFramingDistance = () => {\n\t\t(world.camera.controls as unknown as {getTarget(v: THREE.Vector3): THREE.Vector3}).getTarget(_labelTarget);\n\t\treturn world.camera.three.position.distanceTo(_labelTarget);\n\t};\n\tconst _proj = new THREE.Vector3();\n\tfunction updateLabels() {\n\t\tconst W = container.clientWidth;\n\t\tconst H = container.clientHeight;\n\t\tconst cam = world.camera.three;\n\t\tconst zoomedIn = cameraFramingDistance() <= labelZoomDist;\n\t\tfor (const L of labelEls) {\n\t\t\t_proj.copy(L.center).project(cam);\n\t\t\tconst onScreen =\n\t\t\t\tlabelsVisible &&\n\t\t\t\tzoomedIn &&\n\t\t\t\t_proj.z > -1 &&\n\t\t\t\t_proj.z < 1 &&\n\t\t\t\tMath.abs(_proj.x) < 1.15 &&\n\t\t\t\tMath.abs(_proj.y) < 1.15;\n\t\t\tif (!onScreen) {\n\t\t\t\tif (L.el.style.visibility !== \"hidden\") L.el.style.visibility = \"hidden\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tL.el.style.visibility = \"visible\";\n\t\t\tL.el.style.transform = `translate(-50%,-50%) translate(${(_proj.x * 0.5 + 0.5) * W}px,${(-_proj.y * 0.5 + 0.5) * H}px)`;\n\t\t}\n\t}\n\tasync function buildLabels() {\n\t\tcontainer.appendChild(labelLayer);\n\t\tawait Promise.all(\n\t\t\t[...villaToIds.keys()].map(async (code) => {\n\t\t\t\tconst ids = villaToIds.get(code);\n\t\t\t\tif (!ids?.length) return;\n\t\t\t\tconst b = await model!.getMergedBox(ids);\n\t\t\t\tif (!b) return;\n\t\t\t\tconst center = b.getCenter(new THREE.Vector3());\n\t\t\t\t// Outer positioner — moved to the villa's projected screen point every frame.\n\t\t\t\tconst el = document.createElement(\"div\");\n\t\t\t\tel.style.cssText = \"position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;will-change:transform\";\n\t\t\t\t// Inner pill — the visible chip (plot number only, like the 2D chips).\n\t\t\t\tconst inner = document.createElement(\"div\");\n\t\t\t\tinner.textContent = code.split(\"-\").pop() ?? code;\n\t\t\t\tinner.style.cssText =\n\t\t\t\t\t\"padding:2px 6px;border-radius:5px;font:600 12px/1 ui-sans-serif,system-ui,-apple-system,sans-serif;\" +\n\t\t\t\t\t\"white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.35)\";\n\t\t\t\tstyleLabel(inner, code === selected);\n\t\t\t\tel.appendChild(inner);\n\t\t\t\tlabelLayer.appendChild(el);\n\t\t\t\tlabelEls.push({code, el, inner, center});\n\t\t\t}),\n\t\t);\n\t\tupdateLabels();\n\t}\n\tworld.renderer.onBeforeUpdate.add(updateLabels);\n\n\t// --- Pointer: hover + click -> villa number ------------------------------\n\tlet raf = 0;\n\tlet lastXY: {x: number; y: number} | null = null;\n\tlet busy = false;\n\tasync function hitVilla(x: number, y: number): Promise<string | null> {\n\t\tconst hit = (await model!.raycast({\n\t\t\tcamera: world.camera.three,\n\t\t\tmouse: new THREE.Vector2(x, y),\n\t\t\tdom: gl.domElement,\n\t\t})) as {localId?: number} | null;\n\t\treturn hit && typeof hit.localId === \"number\" ? (idToVilla.get(hit.localId) ?? null) : null;\n\t}\n\tasync function onHoverTick() {\n\t\traf = 0;\n\t\tif (busy || !lastXY) return;\n\t\tbusy = true;\n\t\ttry {\n\t\t\tconst code = await hitVilla(lastXY.x, lastXY.y);\n\t\t\tif (code !== hovered) {\n\t\t\t\tconst prev = hovered;\n\t\t\t\thovered = code;\n\t\t\t\tif (prev && prev !== selected) await paint(prev);\n\t\t\t\tif (code && code !== selected) await paint(code);\n\t\t\t\tawait fragments.core.update(true);\n\t\t\t\tapi.onHover?.(code);\n\t\t\t}\n\t\t} finally {\n\t\t\tbusy = false;\n\t\t}\n\t}\n\tconst onMove = (e: MouseEvent) => {\n\t\tlastXY = {x: e.clientX, y: e.clientY};\n\t\tif (!raf) raf = requestAnimationFrame(() => void onHoverTick());\n\t};\n\tconst onLeave = () => {\n\t\tlastXY = null;\n\t\tif (hovered && hovered !== selected) {\n\t\t\tconst h = hovered;\n\t\t\thovered = null;\n\t\t\tvoid paint(h).then(() => fragments.core.update(true));\n\t\t}\n\t\thovered = null;\n\t\tapi.onHover?.(null);\n\t};\n\tconst onClick = (e: MouseEvent) => {\n\t\tvoid hitVilla(e.clientX, e.clientY).then((c) => api.selectVilla(c));\n\t};\n\tcontainer.addEventListener(\"mousemove\", onMove);\n\tcontainer.addEventListener(\"mouseleave\", onLeave);\n\tcontainer.addEventListener(\"click\", onClick);\n\n\t// --- Public API ----------------------------------------------------------\n\tconst api: SiteViewer = {\n\t\tsetModelOpacity(op) {\n\t\t\tquadMat.opacity = op;\n\t\t\tmodelVisible = op > 0.001;\n\t\t\tfragments.core.update();\n\t\t},\n\t\tsetMeshOpacity(op) {\n\t\t\tmeshOpacity = op;\n\t\t\ttiles.group.traverse((n) => styleTile(n));\n\t\t\tfragments.core.update();\n\t\t},\n\t\tsetModelVisible(v) {\n\t\t\tmodelVisible = v;\n\t\t\tfragments.core.update();\n\t\t},\n\t\tsetMeshVisible(v) {\n\t\t\tsatGroup.visible = v;\n\t\t\tfragments.core.update();\n\t\t},\n\t\tsetLabelsVisible(v) {\n\t\t\tlabelsVisible = v;\n\t\t\tupdateLabels();\n\t\t},\n\t\tasync setColourMode(mode) {\n\t\t\tcolourMode = mode;\n\t\t\thovered = null;\n\t\t\tawait repaintAll();\n\t\t},\n\t\tsetVillaColours(map) {\n\t\t\tfor (const [code, hex] of Object.entries(map)) villaColours.set(code, new THREE.Color(hex));\n\t\t\tvoid repaintAll();\n\t\t},\n\t\tasync selectVilla(code) {\n\t\t\tconst prev = selected;\n\t\t\tselected = code;\n\t\t\tif (prev) await paint(prev);\n\t\t\tif (code) await paint(code);\n\t\t\tawait fragments.core.update(true);\n\t\t\t// Flip the selected villa's label to the white (light) chip; every other chip stays black.\n\t\t\trestyleLabels();\n\t\t\tapi.onSelect?.(code);\n\t\t},\n\t\tgetSelectedVilla() {\n\t\t\treturn selected;\n\t\t},\n\t\tgetVillaCodes() {\n\t\t\treturn [...villaToIds.keys()];\n\t\t},\n\t\tgetVillaColour(code) {\n\t\t\tconst c = villaColours.get(code);\n\t\t\treturn c ? \"#\" + c.getHexString() : null;\n\t\t},\n\t\tasync fitVilla(code) {\n\t\t\tconst ids = villaToIds.get(code);\n\t\t\tif (!ids?.length) return;\n\t\t\tconst b = await model!.getMergedBox(ids);\n\t\t\tif (!b) return;\n\t\t\t// Frame a box 4× the villa's size so the selected villa settles with plenty of surrounding context\n\t\t\t// (a tight 1× fit-to-box zoomed in far too close).\n\t\t\tconst c = b.getCenter(new THREE.Vector3());\n\t\t\tb.setFromCenterAndSize(c, b.getSize(new THREE.Vector3()).multiplyScalar(4));\n\t\t\tawait world.camera.controls.fitToBox(b, true);\n\t\t},\n\t\tasync fitAll() {\n\t\t\tawait world.camera.controls.fitToBox(box, true);\n\t\t},\n\t\tonHover: options.onHover,\n\t\tonSelect: options.onSelect,\n\t\tdispose() {\n\t\t\tcontainer.removeEventListener(\"mousemove\", onMove);\n\t\t\tcontainer.removeEventListener(\"mouseleave\", onLeave);\n\t\t\tcontainer.removeEventListener(\"click\", onClick);\n\t\t\ttry {\n\t\t\t\ttiles.dispose();\n\t\t\t} catch {\n\t\t\t\t/* ignore */\n\t\t\t}\n\t\t\tcomponents.dispose();\n\t\t\tcontainer.replaceChildren();\n\t\t},\n\t};\n\n\tasync function fitAll() {\n\t\tawait world.camera.controls.fitToBox(box, true);\n\t}\n\n\tawait loadColours();\n\tawait indexVillas();\n\tawait repaintAll();\n\tvoid buildLabels();\n\treturn api;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ComponentType } from "react";
|
|
2
|
+
//#region src/site-toolbar.d.ts
|
|
3
|
+
/** The LBS level shown on the canvas — Villa (leaf) or Batch (parent grouping, with the level dropdown). */
|
|
4
|
+
export type ViewId = "villa" | "batch";
|
|
5
|
+
/** How the canvas is rendered, independent of the level: 2D plan, satellite basemap, or the 3D model. */
|
|
6
|
+
export type ViewMode = "plan" | "satellite" | "3d";
|
|
7
|
+
/** Grouping level under the "Batch" slot. */
|
|
8
|
+
export type LevelId = "block" | "batch" | "zone" | "phase";
|
|
9
|
+
/** Lucide-style icon component (rendered with a `className`). */
|
|
10
|
+
type IconComponent = ComponentType<{
|
|
11
|
+
className?: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type SiteToolbarLevel = {
|
|
14
|
+
id: LevelId;
|
|
15
|
+
label: string;
|
|
16
|
+
icon: IconComponent;
|
|
17
|
+
};
|
|
18
|
+
export type SiteToolbarModeTab = {
|
|
19
|
+
id: ViewMode;
|
|
20
|
+
label: string;
|
|
21
|
+
thumb: string;
|
|
22
|
+
icon: IconComponent;
|
|
23
|
+
};
|
|
24
|
+
export type SiteToolbarProps = {
|
|
25
|
+
view: ViewId;
|
|
26
|
+
mode: ViewMode;
|
|
27
|
+
level: LevelId;
|
|
28
|
+
/** The resolved active grouping level (drives the Batch slot's icon + label). */
|
|
29
|
+
activeLevel: SiteToolbarLevel;
|
|
30
|
+
/** Level dropdown items (Batch / Zone / Phase). */
|
|
31
|
+
levels: SiteToolbarLevel[];
|
|
32
|
+
/** Mode tiles (Reality / Plan / Satellite); host filters out 3d when `hide3d`. */
|
|
33
|
+
modeTabs: SiteToolbarModeTab[];
|
|
34
|
+
/** Satellite tile enable/disable (derived by the host from view + level + currentLocation). */
|
|
35
|
+
hasSatellite: boolean;
|
|
36
|
+
/** Drop the 3D (Reality) tile — mirrors the host's `hide3d` prop. */
|
|
37
|
+
hide3d?: boolean;
|
|
38
|
+
/** reportsOpen fade + pointer-events-none (host-computed). */
|
|
39
|
+
chromeFade: string;
|
|
40
|
+
/** Villa / Batch buttons → host `selectView`. */
|
|
41
|
+
onSelectView: (v: ViewId) => void;
|
|
42
|
+
/** Dropdown item → host `selectLevel`. */
|
|
43
|
+
onSelectLevel: (l: LevelId) => void;
|
|
44
|
+
/** Reality / Plan / Satellite tile → host `selectMode` (host runs the isZoomedIn / toVillaLevel / toSiteLevel branch). */
|
|
45
|
+
onSelectMode: (m: ViewMode) => void;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Top-centre canvas toolbar: LEFT level-nav pill (Villa + Batch dropdown) and
|
|
49
|
+
* RIGHT view-mode switcher (Reality / Plan). Fully controlled — see file header.
|
|
50
|
+
*/
|
|
51
|
+
export declare function SiteToolbar({ view, mode, level, activeLevel, levels, modeTabs, hasSatellite, hide3d, chromeFade, onSelectView, onSelectLevel, onSelectMode }: SiteToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { SiteToolbar as default };
|
|
54
|
+
//# sourceMappingURL=site-toolbar.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-toolbar.d.mts","names":[],"sources":["../src/site-toolbar.tsx"],"mappings":";;;YAgDY;;YAEA;;YAEA;;KAGP,gBAAgB;EAAe;;YAExB;EAAoB,IAAI;EAAS;EAAe,MAAM;;YACtD;EAAsB,IAAI;EAAU;EAAe;EAAe,MAAM;;YAExE;EACX,MAAM;EACN,MAAM;EACN,OAAO;;EAEP,aAAa;;EAGb,QAAQ;;EAER,UAAU;;EAGV;;EAEA;;EAGA;;EAIA,eAAe,GAAG;;EAElB,gBAAgB,GAAG;;EAEnB,eAAe,GAAG;;;;;;wBAOH,cACf,MACA,MACA,OACA,aACA,QACA,UACA,cACA,QACA,YACA,cACA,eACA,gBACE,+CAAgB,IAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { cn } from "@corensystem/coren-utils";
|
|
2
|
+
import { Check, Home } from "lucide-react";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/site-toolbar.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Top-centre canvas toolbar: LEFT level-nav pill (Villa + Batch dropdown) and
|
|
8
|
+
* RIGHT view-mode switcher (Reality / Plan). Fully controlled — see file header.
|
|
9
|
+
*/
|
|
10
|
+
function SiteToolbar({ view, mode, level, activeLevel, levels, modeTabs, hasSatellite, hide3d, chromeFade, onSelectView, onSelectLevel, onSelectMode }) {
|
|
11
|
+
const [levelMenuOpen, setLevelMenuOpen] = useState(false);
|
|
12
|
+
const LevelIcon = activeLevel.icon;
|
|
13
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
14
|
+
className: cn("wwc:absolute wwc:left-1/2 wwc:top-4 wwc:z-20 wwc:flex wwc:-translate-x-1/2 wwc:items-stretch wwc:gap-2", chromeFade),
|
|
15
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
16
|
+
className: "wwc:flex wwc:items-center wwc:gap-1 wwc:rounded-lg wwc:border wwc:border-border wwc:bg-card/95 wwc:p-1 wwc:shadow-lg wwc:backdrop-blur-sm",
|
|
17
|
+
children: [/* @__PURE__ */ jsxs("button", {
|
|
18
|
+
type: "button",
|
|
19
|
+
"aria-pressed": view === "villa",
|
|
20
|
+
onClick: () => onSelectView("villa"),
|
|
21
|
+
className: cn("wwc:flex wwc:flex-col wwc:items-center wwc:gap-1 wwc:rounded-md wwc:px-4 wwc:py-2 wwc:text-xs wwc:font-medium wwc:transition-colors", view === "villa" ? "wwc:bg-primary/10 wwc:text-primary" : "wwc:text-muted-foreground wwc:hover:bg-accent wwc:hover:text-foreground"),
|
|
22
|
+
children: [/* @__PURE__ */ jsx(Home, { className: "wwc:size-4" }), "Villa"]
|
|
23
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
24
|
+
className: "wwc:relative",
|
|
25
|
+
onMouseEnter: () => setLevelMenuOpen(true),
|
|
26
|
+
onMouseLeave: () => setLevelMenuOpen(false),
|
|
27
|
+
children: [/* @__PURE__ */ jsxs("button", {
|
|
28
|
+
type: "button",
|
|
29
|
+
"aria-pressed": view === "batch",
|
|
30
|
+
"aria-haspopup": "menu",
|
|
31
|
+
"aria-expanded": levelMenuOpen,
|
|
32
|
+
onClick: () => onSelectView("batch"),
|
|
33
|
+
className: cn("wwc:flex wwc:flex-col wwc:items-center wwc:gap-1 wwc:rounded-md wwc:px-4 wwc:py-2 wwc:text-xs wwc:font-medium wwc:transition-colors", view === "batch" ? "wwc:bg-primary/10 wwc:text-primary" : "wwc:text-muted-foreground wwc:hover:bg-accent wwc:hover:text-foreground"),
|
|
34
|
+
children: [/* @__PURE__ */ jsx(LevelIcon, { className: "wwc:size-4" }), activeLevel.label]
|
|
35
|
+
}), levelMenuOpen ? /* @__PURE__ */ jsx("div", {
|
|
36
|
+
className: "wwc:absolute wwc:left-1/2 wwc:top-full wwc:z-30 wwc:-translate-x-1/2 wwc:pt-1.5",
|
|
37
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
38
|
+
role: "menu",
|
|
39
|
+
className: "wwc:min-w-[180px] wwc:overflow-hidden wwc:rounded-lg wwc:border wwc:border-border wwc:bg-card wwc:p-1 wwc:shadow-lg",
|
|
40
|
+
children: levels.map((l) => {
|
|
41
|
+
const LIcon = l.icon;
|
|
42
|
+
const selected = level === l.id && view === "batch" && mode !== "3d";
|
|
43
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
44
|
+
type: "button",
|
|
45
|
+
role: "menuitemradio",
|
|
46
|
+
"aria-checked": selected,
|
|
47
|
+
onClick: () => {
|
|
48
|
+
setLevelMenuOpen(false);
|
|
49
|
+
onSelectLevel(l.id);
|
|
50
|
+
},
|
|
51
|
+
className: cn("wwc:flex wwc:w-full wwc:items-center wwc:gap-2.5 wwc:rounded-md wwc:px-2.5 wwc:py-2 wwc:text-sm wwc:font-medium wwc:transition-colors", selected ? "wwc:bg-primary/10 wwc:text-primary" : "wwc:text-foreground wwc:hover:bg-accent"),
|
|
52
|
+
children: [
|
|
53
|
+
/* @__PURE__ */ jsx(LIcon, { className: "wwc:size-4 wwc:shrink-0" }),
|
|
54
|
+
/* @__PURE__ */ jsx("span", {
|
|
55
|
+
className: "wwc:flex-1 wwc:text-left",
|
|
56
|
+
children: l.label
|
|
57
|
+
}),
|
|
58
|
+
selected ? /* @__PURE__ */ jsx(Check, { className: "wwc:size-4 wwc:shrink-0" }) : null
|
|
59
|
+
]
|
|
60
|
+
}, l.id);
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
}) : null]
|
|
64
|
+
})]
|
|
65
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
66
|
+
className: "wwc:flex wwc:items-stretch wwc:gap-1 wwc:rounded-lg wwc:border wwc:border-border wwc:bg-card/95 wwc:p-1 wwc:shadow-lg wwc:backdrop-blur-sm",
|
|
67
|
+
children: modeTabs.filter((m) => !(hide3d && m.id === "3d")).map((m) => {
|
|
68
|
+
const Icon = m.icon;
|
|
69
|
+
const active = mode === m.id;
|
|
70
|
+
const disabled = m.id === "satellite" && !hasSatellite;
|
|
71
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
72
|
+
type: "button",
|
|
73
|
+
"aria-pressed": active,
|
|
74
|
+
"aria-label": m.label,
|
|
75
|
+
disabled,
|
|
76
|
+
onClick: () => onSelectMode(m.id),
|
|
77
|
+
className: cn("wwc:group wwc:relative wwc:w-20 wwc:overflow-hidden wwc:rounded-md wwc:border wwc:border-transparent wwc:transition wwc:hover:brightness-105 wwc:focus-visible:outline-none wwc:focus-visible:ring-2 wwc:focus-visible:ring-primary", active && "wwc:border-primary wwc:ring-2 wwc:ring-primary", disabled && "wwc:cursor-not-allowed wwc:border-border wwc:bg-muted wwc:hover:brightness-100"),
|
|
78
|
+
children: [disabled ? /* @__PURE__ */ jsx("svg", {
|
|
79
|
+
className: "wwc:absolute wwc:inset-0 wwc:size-full wwc:text-muted-foreground/50",
|
|
80
|
+
viewBox: "0 0 100 100",
|
|
81
|
+
preserveAspectRatio: "none",
|
|
82
|
+
"aria-hidden": "true",
|
|
83
|
+
children: /* @__PURE__ */ jsx("line", {
|
|
84
|
+
x1: "6",
|
|
85
|
+
y1: "94",
|
|
86
|
+
x2: "94",
|
|
87
|
+
y2: "6",
|
|
88
|
+
stroke: "currentColor",
|
|
89
|
+
strokeWidth: 2,
|
|
90
|
+
strokeLinecap: "round",
|
|
91
|
+
vectorEffect: "non-scaling-stroke"
|
|
92
|
+
})
|
|
93
|
+
}) : /* @__PURE__ */ jsx("img", {
|
|
94
|
+
src: m.thumb,
|
|
95
|
+
alt: "",
|
|
96
|
+
"aria-hidden": true,
|
|
97
|
+
className: "wwc:absolute wwc:inset-0 wwc:size-full wwc:object-cover"
|
|
98
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
99
|
+
className: cn("wwc:absolute wwc:inset-x-0 wwc:bottom-0 wwc:flex wwc:items-center wwc:justify-center wwc:gap-1 wwc:pt-4 wwc:pb-1 wwc:text-[11px] wwc:font-semibold", disabled ? "wwc:text-muted-foreground" : "wwc:bg-gradient-to-t wwc:from-black/85 wwc:via-black/40 wwc:to-transparent wwc:text-white"),
|
|
100
|
+
children: [/* @__PURE__ */ jsx(Icon, { className: "wwc:size-3.5" }), m.label]
|
|
101
|
+
})]
|
|
102
|
+
}, m.id);
|
|
103
|
+
})
|
|
104
|
+
})]
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
export { SiteToolbar, SiteToolbar as default };
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=site-toolbar.mjs.map
|