atomicuilibrary 0.0.1
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/LICENSE +21 -0
- package/README.md +111 -0
- package/dist/cjs/category-section.cjs.entry.js +30 -0
- package/dist/cjs/component-size-DsYFUZcz.js +29 -0
- package/dist/cjs/dom-oP1E4Rd3.js +267 -0
- package/dist/cjs/event-bus-B6M2f8CQ.js +23 -0
- package/dist/cjs/exploration-project-tailwind.cjs.js +24 -0
- package/dist/cjs/focus-trap-i9T6oXLc.js +139 -0
- package/dist/cjs/index-ClkOYpT8.js +2275 -0
- package/dist/cjs/index.cjs.js +260 -0
- package/dist/cjs/layout-manager.cjs.entry.js +616 -0
- package/dist/cjs/library-card.cjs.entry.js +63 -0
- package/dist/cjs/lm-container_2.cjs.entry.js +79 -0
- package/dist/cjs/lm-panel_3.cjs.entry.js +108 -0
- package/dist/cjs/loader.cjs.js +12 -0
- package/dist/cjs/my-component.cjs.entry.js +33 -0
- package/dist/cjs/my-step.cjs.entry.js +29 -0
- package/dist/cjs/nav-bar.cjs.entry.js +247 -0
- package/dist/cjs/security-E1JcwxGc.js +1547 -0
- package/dist/cjs/smart-step.cjs.entry.js +47 -0
- package/dist/cjs/timeline-item.cjs.entry.js +29 -0
- package/dist/cjs/ui-accordion_10.cjs.entry.js +5733 -0
- package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2684 -0
- package/dist/cjs/ui-anchor.cjs.entry.js +558 -0
- package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +285 -0
- package/dist/cjs/ui-aside-panel.cjs.entry.js +638 -0
- package/dist/cjs/ui-avatar-group_3.cjs.entry.js +634 -0
- package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +56 -0
- package/dist/cjs/ui-breadcrumb.cjs.entry.js +201 -0
- package/dist/cjs/ui-callout-banner.cjs.entry.js +291 -0
- package/dist/cjs/ui-card.cjs.entry.js +411 -0
- package/dist/cjs/ui-carousel.cjs.entry.js +547 -0
- package/dist/cjs/ui-checkbox-group.cjs.entry.js +330 -0
- package/dist/cjs/ui-checkbox.cjs.entry.js +260 -0
- package/dist/cjs/ui-code-editor.cjs.entry.js +961 -0
- package/dist/cjs/ui-code-preview.cjs.entry.js +315 -0
- package/dist/cjs/ui-color-controller.cjs.entry.js +150 -0
- package/dist/cjs/ui-color-picker.cjs.entry.js +658 -0
- package/dist/cjs/ui-command-palette.cjs.entry.js +178 -0
- package/dist/cjs/ui-dialog-box.cjs.entry.js +1808 -0
- package/dist/cjs/ui-dialog-content.cjs.entry.js +31 -0
- package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +193 -0
- package/dist/cjs/ui-divider.cjs.entry.js +481 -0
- package/dist/cjs/ui-dock-host.cjs.entry.js +128 -0
- package/dist/cjs/ui-dock.cjs.entry.js +221 -0
- package/dist/cjs/ui-drag-drop.cjs.entry.js +172 -0
- package/dist/cjs/ui-dropdown_2.cjs.entry.js +1552 -0
- package/dist/cjs/ui-empty-state.cjs.entry.js +398 -0
- package/dist/cjs/ui-fab-item.cjs.entry.js +39 -0
- package/dist/cjs/ui-fab.cjs.entry.js +277 -0
- package/dist/cjs/ui-file-upload.cjs.entry.js +418 -0
- package/dist/cjs/ui-horizontal-nav.cjs.entry.js +135 -0
- package/dist/cjs/ui-image-button.cjs.entry.js +67 -0
- package/dist/cjs/ui-input-pair.cjs.entry.js +44 -0
- package/dist/cjs/ui-knob.cjs.entry.js +447 -0
- package/dist/cjs/ui-library.cjs.entry.js +134 -0
- package/dist/cjs/ui-list-group_2.cjs.entry.js +586 -0
- package/dist/cjs/ui-list.cjs.entry.js +732 -0
- package/dist/cjs/ui-masonry.cjs.entry.js +478 -0
- package/dist/cjs/ui-meter-group.cjs.entry.js +173 -0
- package/dist/cjs/ui-navigation-item.cjs.entry.js +104 -0
- package/dist/cjs/ui-number-input.cjs.entry.js +191 -0
- package/dist/cjs/ui-otp-input.cjs.entry.js +246 -0
- package/dist/cjs/ui-pagination_3.cjs.entry.js +1621 -0
- package/dist/cjs/ui-panel.cjs.entry.js +614 -0
- package/dist/cjs/ui-pattern-input.cjs.entry.js +278 -0
- package/dist/cjs/ui-popover.cjs.entry.js +517 -0
- package/dist/cjs/ui-progress.cjs.entry.js +516 -0
- package/dist/cjs/ui-radio-group.cjs.entry.js +205 -0
- package/dist/cjs/ui-radio.cjs.entry.js +206 -0
- package/dist/cjs/ui-range-slider.cjs.entry.js +637 -0
- package/dist/cjs/ui-resizable-panel.cjs.entry.js +484 -0
- package/dist/cjs/ui-scroll-top.cjs.entry.js +459 -0
- package/dist/cjs/ui-smart-context-menu.cjs.entry.js +376 -0
- package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +565 -0
- package/dist/cjs/ui-smart-stepper.cjs.entry.js +137 -0
- package/dist/cjs/ui-snackbar.cjs.entry.js +863 -0
- package/dist/cjs/ui-speed-dial.cjs.entry.js +520 -0
- package/dist/cjs/ui-speedometer.cjs.entry.js +428 -0
- package/dist/cjs/ui-splitter.cjs.entry.js +282 -0
- package/dist/cjs/ui-step.cjs.entry.js +30 -0
- package/dist/cjs/ui-stepper.cjs.entry.js +640 -0
- package/dist/cjs/ui-switch.cjs.entry.js +405 -0
- package/dist/cjs/ui-tabs.cjs.entry.js +703 -0
- package/dist/cjs/ui-tag.cjs.entry.js +299 -0
- package/dist/cjs/ui-timeline.cjs.entry.js +267 -0
- package/dist/cjs/ui-timer.cjs.entry.js +502 -0
- package/dist/cjs/ui-toolbar.cjs.entry.js +619 -0
- package/dist/cjs/ui-tooltip.cjs.entry.js +697 -0
- package/dist/cjs/ui-top-bar.cjs.entry.js +121 -0
- package/dist/cjs/ui-transfer-list.cjs.entry.js +592 -0
- package/dist/cjs/ui-tree.cjs.entry.js +874 -0
- package/dist/cjs/ui-workspace-manager.cjs.entry.js +1201 -0
- package/dist/cjs/utils-DVZ6gul6.js +26 -0
- package/dist/collection/assets/js/component-config.js +41 -0
- package/dist/collection/assets/js/demo-loader.js +147 -0
- package/dist/collection/assets/js/demo-nav.js +273 -0
- package/dist/collection/assets/js/demos/about-demo.js +60 -0
- package/dist/collection/assets/js/demos/accordion-demo.js +1954 -0
- package/dist/collection/assets/js/demos/advanced-data-table-demo.js +2952 -0
- package/dist/collection/assets/js/demos/anchor-demo.js +527 -0
- package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +174 -0
- package/dist/collection/assets/js/demos/aside-panel-demo.js +1109 -0
- package/dist/collection/assets/js/demos/avatar-demo.js +508 -0
- package/dist/collection/assets/js/demos/badge-demo.js +620 -0
- package/dist/collection/assets/js/demos/breadcrumb-demo.js +365 -0
- package/dist/collection/assets/js/demos/button-demo.js +1223 -0
- package/dist/collection/assets/js/demos/button-toggle-demo.js +978 -0
- package/dist/collection/assets/js/demos/callout-banner-demo.js +366 -0
- package/dist/collection/assets/js/demos/card-demo.js +427 -0
- package/dist/collection/assets/js/demos/carousel-demo.js +360 -0
- package/dist/collection/assets/js/demos/checkbox-demo.js +489 -0
- package/dist/collection/assets/js/demos/code-preview-demo.js +216 -0
- package/dist/collection/assets/js/demos/color-picker-demo.js +117 -0
- package/dist/collection/assets/js/demos/command-palette-demo.js +105 -0
- package/dist/collection/assets/js/demos/complex-form-demo.js +45 -0
- package/dist/collection/assets/js/demos/context-menu-data.js +436 -0
- package/dist/collection/assets/js/demos/context-menu-demo.js +829 -0
- package/dist/collection/assets/js/demos/dashboard-demo.js +5 -0
- package/dist/collection/assets/js/demos/dialog-demo-temp.js +411 -0
- package/dist/collection/assets/js/demos/dialog-demo.js +2567 -0
- package/dist/collection/assets/js/demos/divider-demo.js +853 -0
- package/dist/collection/assets/js/demos/dock-demo.js +422 -0
- package/dist/collection/assets/js/demos/dock-host-init.js +117 -0
- package/dist/collection/assets/js/demos/dock-host-playground.js +59 -0
- package/dist/collection/assets/js/demos/documentation-demo.js +34 -0
- package/dist/collection/assets/js/demos/drag-drop-demo.js +132 -0
- package/dist/collection/assets/js/demos/dropdown-demo.js +1410 -0
- package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +18 -0
- package/dist/collection/assets/js/demos/empty-state-demo.js +580 -0
- package/dist/collection/assets/js/demos/fab-demo.js +374 -0
- package/dist/collection/assets/js/demos/file-upload-demo.js +171 -0
- package/dist/collection/assets/js/demos/home-components.js +750 -0
- package/dist/collection/assets/js/demos/home-demo.js +441 -0
- package/dist/collection/assets/js/demos/horizontal-nav-demo.js +277 -0
- package/dist/collection/assets/js/demos/icon-demo.js +380 -0
- package/dist/collection/assets/js/demos/input-demo.js +1932 -0
- package/dist/collection/assets/js/demos/knob-demo.js +570 -0
- package/dist/collection/assets/js/demos/layout-manager-demo.js +918 -0
- package/dist/collection/assets/js/demos/list-demo.js +1402 -0
- package/dist/collection/assets/js/demos/loader-demo.js +453 -0
- package/dist/collection/assets/js/demos/meter-group-demo.js +499 -0
- package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +924 -0
- package/dist/collection/assets/js/demos/my-profile-demo.js +237 -0
- package/dist/collection/assets/js/demos/nav-bar-demo.js +187 -0
- package/dist/collection/assets/js/demos/number-input-demo.js +242 -0
- package/dist/collection/assets/js/demos/overview-demo.js +11 -0
- package/dist/collection/assets/js/demos/pagination-demo.js +1042 -0
- package/dist/collection/assets/js/demos/panel-demo.js +789 -0
- package/dist/collection/assets/js/demos/pattern-input-demo.js +241 -0
- package/dist/collection/assets/js/demos/popover-demo.js +882 -0
- package/dist/collection/assets/js/demos/progress-demo.js +462 -0
- package/dist/collection/assets/js/demos/radio-demo.js +413 -0
- package/dist/collection/assets/js/demos/range-slider-demo.js +1217 -0
- package/dist/collection/assets/js/demos/rating-demo.js +383 -0
- package/dist/collection/assets/js/demos/scroll-top-demo.js +353 -0
- package/dist/collection/assets/js/demos/skeleton-demo.js +490 -0
- package/dist/collection/assets/js/demos/skeleton-performance-demo.js +26 -0
- package/dist/collection/assets/js/demos/smart-dialog-demo.js +552 -0
- package/dist/collection/assets/js/demos/smart-menu-demo.js +375 -0
- package/dist/collection/assets/js/demos/smart-stepper-demo.js +50 -0
- package/dist/collection/assets/js/demos/snackbar-demo.js +1040 -0
- package/dist/collection/assets/js/demos/speed-dial-demo.js +764 -0
- package/dist/collection/assets/js/demos/speedometer-demo.js +425 -0
- package/dist/collection/assets/js/demos/split-button-demo.js +201 -0
- package/dist/collection/assets/js/demos/stack-demo.js +228 -0
- package/dist/collection/assets/js/demos/stepper-demo.js +798 -0
- package/dist/collection/assets/js/demos/switch-demo.js +849 -0
- package/dist/collection/assets/js/demos/tabs-demo.js +1032 -0
- package/dist/collection/assets/js/demos/tag-demo.js +842 -0
- package/dist/collection/assets/js/demos/theme-selector-demo.js +466 -0
- package/dist/collection/assets/js/demos/timeline-demo.js +365 -0
- package/dist/collection/assets/js/demos/timeline-playground.js +59 -0
- package/dist/collection/assets/js/demos/timer-demo.js +313 -0
- package/dist/collection/assets/js/demos/toolbar-demo.js +643 -0
- package/dist/collection/assets/js/demos/tooltip-demo.js +730 -0
- package/dist/collection/assets/js/demos/top-bar-demo.js +417 -0
- package/dist/collection/assets/js/demos/transfer-list-demo.js +555 -0
- package/dist/collection/assets/js/demos/tree-demo.js +693 -0
- package/dist/collection/assets/js/demos/workspace-manager-demo.js +241 -0
- package/dist/collection/assets/js/index-boot.js +104 -0
- package/dist/collection/assets/js/nav-bar-demo.js +20 -0
- package/dist/collection/assets/js/nav-bar-init.js +119 -0
- package/dist/collection/assets/js/utils/layout-loader.js +80 -0
- package/dist/collection/collection-manifest.json +113 -0
- package/dist/collection/components/accordion/accordion.css +2090 -0
- package/dist/collection/components/accordion/accordion.js +2955 -0
- package/dist/collection/components/accordion/types.js +1 -0
- package/dist/collection/components/advanced-data-table/advanced-data-table.css +2606 -0
- package/dist/collection/components/advanced-data-table/advanced-data-table.js +5394 -0
- package/dist/collection/components/advanced-data-table/types.js +1 -0
- package/dist/collection/components/anchor/anchor.css +395 -0
- package/dist/collection/components/anchor/anchor.js +1404 -0
- package/dist/collection/components/anchor/types.js +1 -0
- package/dist/collection/components/animate-on-scroll/animate-on-scroll.css +804 -0
- package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +696 -0
- package/dist/collection/components/aside-panel/aside-panel.css +472 -0
- package/dist/collection/components/aside-panel/aside-panel.js +1697 -0
- package/dist/collection/components/avatar/avatar.css +696 -0
- package/dist/collection/components/avatar/avatar.js +2007 -0
- package/dist/collection/components/avatar/types.js +1 -0
- package/dist/collection/components/avatar-group/avatar-group.css +253 -0
- package/dist/collection/components/avatar-group/avatar-group.js +405 -0
- package/dist/collection/components/avatar-group/types.js +1 -0
- package/dist/collection/components/badge/badge.css +580 -0
- package/dist/collection/components/badge/badge.js +723 -0
- package/dist/collection/components/badge/types.js +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item.js +231 -0
- package/dist/collection/components/breadcrumb/breadcrumb.css +313 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +510 -0
- package/dist/collection/components/breadcrumb/types.js +1 -0
- package/dist/collection/components/button/button.css +1862 -0
- package/dist/collection/components/button/button.js +1380 -0
- package/dist/collection/components/button/types.js +1 -0
- package/dist/collection/components/button-toggle/button-toggle.css +97 -0
- package/dist/collection/components/button-toggle/button-toggle.js +620 -0
- package/dist/collection/components/button-toggle-group/button-toggle-group.css +401 -0
- package/dist/collection/components/button-toggle-group/button-toggle-group.js +1572 -0
- package/dist/collection/components/button-toggle-group/types.js +1 -0
- package/dist/collection/components/callout-banner/callout-banner.css +684 -0
- package/dist/collection/components/callout-banner/callout-banner.js +1076 -0
- package/dist/collection/components/callout-banner/types.js +1 -0
- package/dist/collection/components/card/card.css +663 -0
- package/dist/collection/components/card/card.js +1697 -0
- package/dist/collection/components/card/types.js +1 -0
- package/dist/collection/components/carousel/carousel.css +549 -0
- package/dist/collection/components/carousel/carousel.js +1512 -0
- package/dist/collection/components/carousel/types.js +1 -0
- package/dist/collection/components/checkbox/checkbox.css +863 -0
- package/dist/collection/components/checkbox/checkbox.js +1201 -0
- package/dist/collection/components/checkbox/types.js +1 -0
- package/dist/collection/components/checkbox-group/checkbox-group.css +223 -0
- package/dist/collection/components/checkbox-group/checkbox-group.js +1001 -0
- package/dist/collection/components/checkbox-group/types.js +1 -0
- package/dist/collection/components/code-editor/code-editor.css +1081 -0
- package/dist/collection/components/code-editor/code-editor.js +1211 -0
- package/dist/collection/components/code-editor/types.js +1 -0
- package/dist/collection/components/code-preview/types.js +1 -0
- package/dist/collection/components/code-preview/ui-code-preview.css +209 -0
- package/dist/collection/components/code-preview/ui-code-preview.js +548 -0
- package/dist/collection/components/color-controller/color-controller.css +108 -0
- package/dist/collection/components/color-controller/color-controller.js +224 -0
- package/dist/collection/components/color-picker/color-picker.css +323 -0
- package/dist/collection/components/color-picker/color-picker.js +1139 -0
- package/dist/collection/components/color-picker/types.js +1 -0
- package/dist/collection/components/command-palette/command-palette.css +260 -0
- package/dist/collection/components/command-palette/command-palette.js +429 -0
- package/dist/collection/components/command-palette/types.js +1 -0
- package/dist/collection/components/context-menu/context-menu.css +388 -0
- package/dist/collection/components/context-menu/context-menu.js +1412 -0
- package/dist/collection/components/context-menu/types.js +1 -0
- package/dist/collection/components/dialog-box/dialog-box.css +1261 -0
- package/dist/collection/components/dialog-box/dialog-box.js +4314 -0
- package/dist/collection/components/dialog-box/dialog-tray.css +268 -0
- package/dist/collection/components/dialog-box/types.js +1 -0
- package/dist/collection/components/dialog-content/dialog-content.css +83 -0
- package/dist/collection/components/dialog-content/dialog-content.js +96 -0
- package/dist/collection/components/dialog-footer/dialog-footer.css +89 -0
- package/dist/collection/components/dialog-footer/dialog-footer.js +94 -0
- package/dist/collection/components/dialog-footer/types.js +1 -0
- package/dist/collection/components/dialog-header/dialog-header.css +203 -0
- package/dist/collection/components/dialog-header/dialog-header.js +630 -0
- package/dist/collection/components/dialog-header/types.js +1 -0
- package/dist/collection/components/divider/divider.css +948 -0
- package/dist/collection/components/divider/divider.js +1612 -0
- package/dist/collection/components/divider/types.js +1 -0
- package/dist/collection/components/dock/dock.css +348 -0
- package/dist/collection/components/dock/dock.js +464 -0
- package/dist/collection/components/dock/types.js +1 -0
- package/dist/collection/components/dock-host/index.js +1 -0
- package/dist/collection/components/dock-host/types.js +1 -0
- package/dist/collection/components/dock-host/ui-dock-host.css +155 -0
- package/dist/collection/components/dock-host/ui-dock-host.js +226 -0
- package/dist/collection/components/drag-drop/drag-drop.css +103 -0
- package/dist/collection/components/drag-drop/drag-drop.js +385 -0
- package/dist/collection/components/drag-drop/types.js +1 -0
- package/dist/collection/components/dropdown/dropdown.css +1142 -0
- package/dist/collection/components/dropdown/dropdown.js +2033 -0
- package/dist/collection/components/dropdown/types.js +1 -0
- package/dist/collection/components/empty-state/empty-state.css +712 -0
- package/dist/collection/components/empty-state/empty-state.js +1256 -0
- package/dist/collection/components/empty-state/types.js +1 -0
- package/dist/collection/components/fab/fab.css +601 -0
- package/dist/collection/components/fab/fab.js +1124 -0
- package/dist/collection/components/fab-item/fab-item.css +107 -0
- package/dist/collection/components/fab-item/fab-item.js +177 -0
- package/dist/collection/components/fab-item/types.js +1 -0
- package/dist/collection/components/file-upload/file-upload.css +243 -0
- package/dist/collection/components/file-upload/file-upload.js +1022 -0
- package/dist/collection/components/file-upload/types.js +1 -0
- package/dist/collection/components/horizontal-nav/horizontal-nav.css +394 -0
- package/dist/collection/components/horizontal-nav/horizontal-nav.js +375 -0
- package/dist/collection/components/icon/icon.css +113 -0
- package/dist/collection/components/icon/icon.js +583 -0
- package/dist/collection/components/image-button/image-button.css +154 -0
- package/dist/collection/components/image-button/image-button.js +310 -0
- package/dist/collection/components/image-button/types.js +1 -0
- package/dist/collection/components/input/input.css +1544 -0
- package/dist/collection/components/input/input.js +3690 -0
- package/dist/collection/components/input/types.js +1 -0
- package/dist/collection/components/input-pair/input-pair.css +72 -0
- package/dist/collection/components/input-pair/input-pair.js +309 -0
- package/dist/collection/components/knob/knob.css +162 -0
- package/dist/collection/components/knob/knob.js +986 -0
- package/dist/collection/components/knob/types.js +1 -0
- package/dist/collection/components/layout-manager/layout-manager.css +41 -0
- package/dist/collection/components/layout-manager/layout-manager.js +525 -0
- package/dist/collection/components/layout-manager/lm-container/lm-container.css +117 -0
- package/dist/collection/components/layout-manager/lm-container/lm-container.js +110 -0
- package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.css +0 -0
- package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +49 -0
- package/dist/collection/components/layout-manager/lm-panel/lm-panel.css +97 -0
- package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +58 -0
- package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.css +57 -0
- package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +120 -0
- package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.css +149 -0
- package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +130 -0
- package/dist/collection/components/layout-manager/types.js +1 -0
- package/dist/collection/components/library/category-section.css +147 -0
- package/dist/collection/components/library/category-section.js +139 -0
- package/dist/collection/components/library/data.js +74 -0
- package/dist/collection/components/library/library-card.css +181 -0
- package/dist/collection/components/library/library-card.js +203 -0
- package/dist/collection/components/library/library.css +358 -0
- package/dist/collection/components/library/library.js +91 -0
- package/dist/collection/components/list/list.css +1029 -0
- package/dist/collection/components/list/list.js +2167 -0
- package/dist/collection/components/list-group/list-group.css +275 -0
- package/dist/collection/components/list-group/list-group.js +356 -0
- package/dist/collection/components/list-item/list-item.css +1491 -0
- package/dist/collection/components/list-item/list-item.js +2184 -0
- package/dist/collection/components/masonry/masonry.css +414 -0
- package/dist/collection/components/masonry/masonry.js +1104 -0
- package/dist/collection/components/masonry/types.js +1 -0
- package/dist/collection/components/meter-group/meter-group.css +184 -0
- package/dist/collection/components/meter-group/meter-group.js +471 -0
- package/dist/collection/components/meter-group/types.js +1 -0
- package/dist/collection/components/my-component/my-component.css +27 -0
- package/dist/collection/components/my-component/my-component.js +95 -0
- package/dist/collection/components/my-step/my-step.css +25 -0
- package/dist/collection/components/my-step/my-step.js +237 -0
- package/dist/collection/components/nav-bar/nav-bar.css +448 -0
- package/dist/collection/components/nav-bar/nav-bar.js +608 -0
- package/dist/collection/components/number-input/number-input.css +200 -0
- package/dist/collection/components/number-input/number-input.js +695 -0
- package/dist/collection/components/otp-input/otp-input.css +243 -0
- package/dist/collection/components/otp-input/otp-input.js +761 -0
- package/dist/collection/components/otp-input/types.js +1 -0
- package/dist/collection/components/pagination/pagination.css +1399 -0
- package/dist/collection/components/pagination/pagination.js +2033 -0
- package/dist/collection/components/pagination/types.js +1 -0
- package/dist/collection/components/panel/panel.css +837 -0
- package/dist/collection/components/panel/panel.js +1842 -0
- package/dist/collection/components/panel/types.js +1 -0
- package/dist/collection/components/pattern-input/pattern-input.css +252 -0
- package/dist/collection/components/pattern-input/pattern-input.js +788 -0
- package/dist/collection/components/popover/popover.css +399 -0
- package/dist/collection/components/popover/popover.js +1449 -0
- package/dist/collection/components/popover/types.js +1 -0
- package/dist/collection/components/progress/progress.css +588 -0
- package/dist/collection/components/progress/progress.js +1414 -0
- package/dist/collection/components/progress/types.js +1 -0
- package/dist/collection/components/radio/radio.css +773 -0
- package/dist/collection/components/radio/radio.js +1059 -0
- package/dist/collection/components/radio/types.js +1 -0
- package/dist/collection/components/radio-group/radio-group.css +202 -0
- package/dist/collection/components/radio-group/radio-group.js +903 -0
- package/dist/collection/components/radio-group/types.js +1 -0
- package/dist/collection/components/range-slider/range-slider.css +602 -0
- package/dist/collection/components/range-slider/range-slider.js +1369 -0
- package/dist/collection/components/range-slider/types.js +1 -0
- package/dist/collection/components/rating/rating.css +768 -0
- package/dist/collection/components/rating/rating.js +1062 -0
- package/dist/collection/components/rating/types.js +1 -0
- package/dist/collection/components/resizable-panel/resizable-panel.css +247 -0
- package/dist/collection/components/resizable-panel/resizable-panel.js +874 -0
- package/dist/collection/components/resizable-panel/types.js +1 -0
- package/dist/collection/components/scroll-top/scroll-top.css +397 -0
- package/dist/collection/components/scroll-top/scroll-top.js +1178 -0
- package/dist/collection/components/scroll-top/types.js +1 -0
- package/dist/collection/components/skeleton/skeleton-loader.css +429 -0
- package/dist/collection/components/skeleton/skeleton-loader.js +1193 -0
- package/dist/collection/components/skeleton/types.js +1 -0
- package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +357 -0
- package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +1190 -0
- package/dist/collection/components/smart-location-dropdown/types.js +1 -0
- package/dist/collection/components/smart-menu/menu-item.interface.js +1 -0
- package/dist/collection/components/smart-menu/smart-menu.css +119 -0
- package/dist/collection/components/smart-menu/smart-menu.js +544 -0
- package/dist/collection/components/smart-stepper/smart-step.css +213 -0
- package/dist/collection/components/smart-stepper/smart-step.js +170 -0
- package/dist/collection/components/smart-stepper/smart-stepper.css +146 -0
- package/dist/collection/components/smart-stepper/smart-stepper.js +338 -0
- package/dist/collection/components/snackbar/snackbar.css +1480 -0
- package/dist/collection/components/snackbar/snackbar.js +1759 -0
- package/dist/collection/components/snackbar/types.js +1 -0
- package/dist/collection/components/speed-dial/speed-dial.css +478 -0
- package/dist/collection/components/speed-dial/speed-dial.js +1183 -0
- package/dist/collection/components/speed-dial/types.js +1 -0
- package/dist/collection/components/speedometer/speedometer.css +95 -0
- package/dist/collection/components/speedometer/speedometer.js +868 -0
- package/dist/collection/components/speedometer/types.js +1 -0
- package/dist/collection/components/splitter/splitter.css +269 -0
- package/dist/collection/components/splitter/splitter.js +713 -0
- package/dist/collection/components/splitter/types.js +1 -0
- package/dist/collection/components/stack/stack.css +269 -0
- package/dist/collection/components/stack/stack.js +297 -0
- package/dist/collection/components/stack/types.js +1 -0
- package/dist/collection/components/step/step.css +77 -0
- package/dist/collection/components/step/step.js +214 -0
- package/dist/collection/components/step/types.js +1 -0
- package/dist/collection/components/stepper/stepper.css +1079 -0
- package/dist/collection/components/stepper/stepper.js +1850 -0
- package/dist/collection/components/stepper/types.js +1 -0
- package/dist/collection/components/switch/switch.css +1099 -0
- package/dist/collection/components/switch/switch.js +1578 -0
- package/dist/collection/components/tabs/tabs.css +1355 -0
- package/dist/collection/components/tabs/tabs.js +1474 -0
- package/dist/collection/components/tabs/types.js +1 -0
- package/dist/collection/components/tag/tag.css +893 -0
- package/dist/collection/components/tag/tag.js +1119 -0
- package/dist/collection/components/tag/types.js +1 -0
- package/dist/collection/components/tag-group/tag-group.css +144 -0
- package/dist/collection/components/tag-group/tag-group.js +887 -0
- package/dist/collection/components/tag-group/types.js +1 -0
- package/dist/collection/components/timeline/timeline.css +1850 -0
- package/dist/collection/components/timeline/timeline.js +889 -0
- package/dist/collection/components/timeline/types.js +1 -0
- package/dist/collection/components/timeline/ui-timeline.stories.js +19 -0
- package/dist/collection/components/timeline-item/timeline-item.css +75 -0
- package/dist/collection/components/timeline-item/timeline-item.js +91 -0
- package/dist/collection/components/timer/timer.css +367 -0
- package/dist/collection/components/timer/timer.js +1292 -0
- package/dist/collection/components/timer/types.js +1 -0
- package/dist/collection/components/timer/ui-timer.stories.js +19 -0
- package/dist/collection/components/toggle-group/toggle-group.css +361 -0
- package/dist/collection/components/toggle-group/toggle-group.js +1212 -0
- package/dist/collection/components/toggle-group/types.js +1 -0
- package/dist/collection/components/toolbar/toolbar-types.js +1 -0
- package/dist/collection/components/toolbar/toolbar.css +1186 -0
- package/dist/collection/components/toolbar/toolbar.js +1635 -0
- package/dist/collection/components/tooltip/tooltip.css +609 -0
- package/dist/collection/components/tooltip/tooltip.js +1882 -0
- package/dist/collection/components/tooltip/types.js +1 -0
- package/dist/collection/components/top-bar/top-bar.css +274 -0
- package/dist/collection/components/top-bar/top-bar.js +383 -0
- package/dist/collection/components/transfer-list/transfer-list.css +520 -0
- package/dist/collection/components/transfer-list/transfer-list.js +1225 -0
- package/dist/collection/components/transfer-list/types.js +1 -0
- package/dist/collection/components/tree/tree.css +1197 -0
- package/dist/collection/components/tree/tree.js +2509 -0
- package/dist/collection/components/tree/types.js +1 -0
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +830 -0
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +1231 -0
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-types.js +1 -0
- package/dist/collection/components/ui-navigation-bar/navigation-item.css +679 -0
- package/dist/collection/components/ui-navigation-bar/navigation-item.js +385 -0
- package/dist/collection/components/ui-navigation-bar/navigation-types.js +1 -0
- package/dist/collection/components/workspace-manager/types.js +1 -0
- package/dist/collection/components/workspace-manager/workspace-manager.css +1094 -0
- package/dist/collection/components/workspace-manager/workspace-manager.js +1914 -0
- package/dist/collection/components.js +51 -0
- package/dist/collection/index.js +108 -0
- package/dist/collection/service/drag-manager.js +23 -0
- package/dist/collection/service/event-bus.js +19 -0
- package/dist/collection/service/serialization.js +8 -0
- package/dist/collection/service/state-engine.js +247 -0
- package/dist/collection/service/theme-switcher.js +146 -0
- package/dist/collection/stories/Button.stories.js +15 -0
- package/dist/collection/types/common.js +1 -0
- package/dist/collection/types/index.js +4 -0
- package/dist/collection/utils/aria-live.js +60 -0
- package/dist/collection/utils/component-size.js +25 -0
- package/dist/collection/utils/dom.js +260 -0
- package/dist/collection/utils/focus-trap.js +135 -0
- package/dist/collection/utils/security.js +10 -0
- package/dist/collection/utils/test/setup-component-test-env.js +92 -0
- package/dist/collection/utils/utils.js +21 -0
- package/dist/collection/utils/validation.js +74 -0
- package/dist/components/avatar-group.js +1 -0
- package/dist/components/avatar.js +1 -0
- package/dist/components/badge.js +1 -0
- package/dist/components/button-toggle.js +1 -0
- package/dist/components/category-section.d.ts +11 -0
- package/dist/components/category-section.js +1 -0
- package/dist/components/category-section2.js +1 -0
- package/dist/components/checkbox.js +1 -0
- package/dist/components/context-menu.js +1 -0
- package/dist/components/dialog-footer.js +1 -0
- package/dist/components/dialog-header.js +1 -0
- package/dist/components/dom.js +1 -0
- package/dist/components/dropdown.js +1 -0
- package/dist/components/event-bus.js +1 -0
- package/dist/components/focus-trap.js +1 -0
- package/dist/components/icon.js +2 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +1 -0
- package/dist/components/input.js +1 -0
- package/dist/components/layout-manager.d.ts +11 -0
- package/dist/components/layout-manager.js +1 -0
- package/dist/components/library-card.d.ts +11 -0
- package/dist/components/library-card.js +1 -0
- package/dist/components/library-card2.js +1 -0
- package/dist/components/list-group.js +1 -0
- package/dist/components/list-item.js +1 -0
- package/dist/components/lm-container.d.ts +11 -0
- package/dist/components/lm-container.js +1 -0
- package/dist/components/lm-container2.js +1 -0
- package/dist/components/lm-floating-window.d.ts +11 -0
- package/dist/components/lm-floating-window.js +1 -0
- package/dist/components/lm-floating-window2.js +1 -0
- package/dist/components/lm-panel.d.ts +11 -0
- package/dist/components/lm-panel.js +1 -0
- package/dist/components/lm-panel2.js +1 -0
- package/dist/components/lm-splitter.d.ts +11 -0
- package/dist/components/lm-splitter.js +1 -0
- package/dist/components/lm-splitter2.js +1 -0
- package/dist/components/lm-tabs.d.ts +11 -0
- package/dist/components/lm-tabs.js +1 -0
- package/dist/components/lm-tabs2.js +1 -0
- package/dist/components/my-component.d.ts +11 -0
- package/dist/components/my-component.js +1 -0
- package/dist/components/my-step.d.ts +11 -0
- package/dist/components/my-step.js +1 -0
- package/dist/components/nav-bar.d.ts +11 -0
- package/dist/components/nav-bar.js +1 -0
- package/dist/components/pagination.js +1 -0
- package/dist/components/radio.js +1 -0
- package/dist/components/range-slider.js +1 -0
- package/dist/components/rating.js +1 -0
- package/dist/components/resizable-panel.js +1 -0
- package/dist/components/skeleton-loader.js +1 -0
- package/dist/components/smart-step.d.ts +11 -0
- package/dist/components/smart-step.js +1 -0
- package/dist/components/stack.js +1 -0
- package/dist/components/switch.js +1 -0
- package/dist/components/tag-group.js +1 -0
- package/dist/components/tag.js +1 -0
- package/dist/components/timeline-item.d.ts +11 -0
- package/dist/components/timeline-item.js +1 -0
- package/dist/components/toggle-group.js +1 -0
- package/dist/components/tooltip.js +1 -0
- package/dist/components/ui-accordion.d.ts +11 -0
- package/dist/components/ui-accordion.js +1 -0
- package/dist/components/ui-advanced-data-table.d.ts +11 -0
- package/dist/components/ui-advanced-data-table.js +1 -0
- package/dist/components/ui-anchor.d.ts +11 -0
- package/dist/components/ui-anchor.js +1 -0
- package/dist/components/ui-animate-on-scroll.d.ts +11 -0
- package/dist/components/ui-animate-on-scroll.js +1 -0
- package/dist/components/ui-aside-panel.d.ts +11 -0
- package/dist/components/ui-aside-panel.js +1 -0
- package/dist/components/ui-avatar-group.d.ts +11 -0
- package/dist/components/ui-avatar-group.js +1 -0
- package/dist/components/ui-avatar.d.ts +11 -0
- package/dist/components/ui-avatar.js +1 -0
- package/dist/components/ui-badge.d.ts +11 -0
- package/dist/components/ui-badge.js +1 -0
- package/dist/components/ui-breadcrumb-item.d.ts +11 -0
- package/dist/components/ui-breadcrumb-item.js +1 -0
- package/dist/components/ui-breadcrumb.d.ts +11 -0
- package/dist/components/ui-breadcrumb.js +1 -0
- package/dist/components/ui-button-toggle-group.d.ts +11 -0
- package/dist/components/ui-button-toggle-group.js +1 -0
- package/dist/components/ui-button-toggle.d.ts +11 -0
- package/dist/components/ui-button-toggle.js +1 -0
- package/dist/components/ui-button.d.ts +11 -0
- package/dist/components/ui-button.js +1 -0
- package/dist/components/ui-callout-banner.d.ts +11 -0
- package/dist/components/ui-callout-banner.js +1 -0
- package/dist/components/ui-card.d.ts +11 -0
- package/dist/components/ui-card.js +1 -0
- package/dist/components/ui-carousel.d.ts +11 -0
- package/dist/components/ui-carousel.js +1 -0
- package/dist/components/ui-checkbox-group.d.ts +11 -0
- package/dist/components/ui-checkbox-group.js +1 -0
- package/dist/components/ui-checkbox.d.ts +11 -0
- package/dist/components/ui-checkbox.js +1 -0
- package/dist/components/ui-code-editor.d.ts +11 -0
- package/dist/components/ui-code-editor.js +1 -0
- package/dist/components/ui-code-preview.d.ts +11 -0
- package/dist/components/ui-code-preview.js +1 -0
- package/dist/components/ui-color-controller.d.ts +11 -0
- package/dist/components/ui-color-controller.js +1 -0
- package/dist/components/ui-color-picker.d.ts +11 -0
- package/dist/components/ui-color-picker.js +1 -0
- package/dist/components/ui-command-palette.d.ts +11 -0
- package/dist/components/ui-command-palette.js +1 -0
- package/dist/components/ui-context-menu.d.ts +11 -0
- package/dist/components/ui-context-menu.js +1 -0
- package/dist/components/ui-dialog-box.d.ts +11 -0
- package/dist/components/ui-dialog-box.js +1 -0
- package/dist/components/ui-dialog-content.d.ts +11 -0
- package/dist/components/ui-dialog-content.js +1 -0
- package/dist/components/ui-dialog-footer.d.ts +11 -0
- package/dist/components/ui-dialog-footer.js +1 -0
- package/dist/components/ui-dialog-header.d.ts +11 -0
- package/dist/components/ui-dialog-header.js +1 -0
- package/dist/components/ui-divider.d.ts +11 -0
- package/dist/components/ui-divider.js +1 -0
- package/dist/components/ui-dock-host.d.ts +11 -0
- package/dist/components/ui-dock-host.js +1 -0
- package/dist/components/ui-dock.d.ts +11 -0
- package/dist/components/ui-dock.js +1 -0
- package/dist/components/ui-drag-drop.d.ts +11 -0
- package/dist/components/ui-drag-drop.js +1 -0
- package/dist/components/ui-dropdown.d.ts +11 -0
- package/dist/components/ui-dropdown.js +1 -0
- package/dist/components/ui-empty-state.d.ts +11 -0
- package/dist/components/ui-empty-state.js +1 -0
- package/dist/components/ui-fab-item.d.ts +11 -0
- package/dist/components/ui-fab-item.js +1 -0
- package/dist/components/ui-fab.d.ts +11 -0
- package/dist/components/ui-fab.js +1 -0
- package/dist/components/ui-file-upload.d.ts +11 -0
- package/dist/components/ui-file-upload.js +1 -0
- package/dist/components/ui-horizontal-nav.d.ts +11 -0
- package/dist/components/ui-horizontal-nav.js +1 -0
- package/dist/components/ui-icon.d.ts +11 -0
- package/dist/components/ui-icon.js +1 -0
- package/dist/components/ui-image-button.d.ts +11 -0
- package/dist/components/ui-image-button.js +1 -0
- package/dist/components/ui-input-pair.d.ts +11 -0
- package/dist/components/ui-input-pair.js +1 -0
- package/dist/components/ui-input.d.ts +11 -0
- package/dist/components/ui-input.js +1 -0
- package/dist/components/ui-knob.d.ts +11 -0
- package/dist/components/ui-knob.js +1 -0
- package/dist/components/ui-library.d.ts +11 -0
- package/dist/components/ui-library.js +1 -0
- package/dist/components/ui-list-group.d.ts +11 -0
- package/dist/components/ui-list-group.js +1 -0
- package/dist/components/ui-list-item.d.ts +11 -0
- package/dist/components/ui-list-item.js +1 -0
- package/dist/components/ui-list.d.ts +11 -0
- package/dist/components/ui-list.js +1 -0
- package/dist/components/ui-masonry.d.ts +11 -0
- package/dist/components/ui-masonry.js +1 -0
- package/dist/components/ui-meter-group.d.ts +11 -0
- package/dist/components/ui-meter-group.js +1 -0
- package/dist/components/ui-navigation-bar.d.ts +11 -0
- package/dist/components/ui-navigation-bar.js +1 -0
- package/dist/components/ui-navigation-item.d.ts +11 -0
- package/dist/components/ui-navigation-item.js +1 -0
- package/dist/components/ui-number-input.d.ts +11 -0
- package/dist/components/ui-number-input.js +1 -0
- package/dist/components/ui-otp-input.d.ts +11 -0
- package/dist/components/ui-otp-input.js +1 -0
- package/dist/components/ui-pagination.d.ts +11 -0
- package/dist/components/ui-pagination.js +1 -0
- package/dist/components/ui-panel.d.ts +11 -0
- package/dist/components/ui-panel.js +1 -0
- package/dist/components/ui-pattern-input.d.ts +11 -0
- package/dist/components/ui-pattern-input.js +1 -0
- package/dist/components/ui-popover.d.ts +11 -0
- package/dist/components/ui-popover.js +1 -0
- package/dist/components/ui-progress.d.ts +11 -0
- package/dist/components/ui-progress.js +1 -0
- package/dist/components/ui-radio-group.d.ts +11 -0
- package/dist/components/ui-radio-group.js +1 -0
- package/dist/components/ui-radio.d.ts +11 -0
- package/dist/components/ui-radio.js +1 -0
- package/dist/components/ui-range-slider.d.ts +11 -0
- package/dist/components/ui-range-slider.js +1 -0
- package/dist/components/ui-rating.d.ts +11 -0
- package/dist/components/ui-rating.js +1 -0
- package/dist/components/ui-resizable-panel.d.ts +11 -0
- package/dist/components/ui-resizable-panel.js +1 -0
- package/dist/components/ui-scroll-top.d.ts +11 -0
- package/dist/components/ui-scroll-top.js +1 -0
- package/dist/components/ui-skeleton.d.ts +11 -0
- package/dist/components/ui-skeleton.js +1 -0
- package/dist/components/ui-smart-context-menu.d.ts +11 -0
- package/dist/components/ui-smart-context-menu.js +1 -0
- package/dist/components/ui-smart-location-dropdown.d.ts +11 -0
- package/dist/components/ui-smart-location-dropdown.js +1 -0
- package/dist/components/ui-smart-stepper.d.ts +11 -0
- package/dist/components/ui-smart-stepper.js +1 -0
- package/dist/components/ui-snackbar.d.ts +11 -0
- package/dist/components/ui-snackbar.js +1 -0
- package/dist/components/ui-speed-dial.d.ts +11 -0
- package/dist/components/ui-speed-dial.js +1 -0
- package/dist/components/ui-speedometer.d.ts +11 -0
- package/dist/components/ui-speedometer.js +1 -0
- package/dist/components/ui-splitter.d.ts +11 -0
- package/dist/components/ui-splitter.js +1 -0
- package/dist/components/ui-stack.d.ts +11 -0
- package/dist/components/ui-stack.js +1 -0
- package/dist/components/ui-step.d.ts +11 -0
- package/dist/components/ui-step.js +1 -0
- package/dist/components/ui-stepper.d.ts +11 -0
- package/dist/components/ui-stepper.js +1 -0
- package/dist/components/ui-switch.d.ts +11 -0
- package/dist/components/ui-switch.js +1 -0
- package/dist/components/ui-tabs.d.ts +11 -0
- package/dist/components/ui-tabs.js +1 -0
- package/dist/components/ui-tag-group.d.ts +11 -0
- package/dist/components/ui-tag-group.js +1 -0
- package/dist/components/ui-tag.d.ts +11 -0
- package/dist/components/ui-tag.js +1 -0
- package/dist/components/ui-timeline.d.ts +11 -0
- package/dist/components/ui-timeline.js +1 -0
- package/dist/components/ui-timer.d.ts +11 -0
- package/dist/components/ui-timer.js +1 -0
- package/dist/components/ui-toggle-group.d.ts +11 -0
- package/dist/components/ui-toggle-group.js +1 -0
- package/dist/components/ui-toolbar.d.ts +11 -0
- package/dist/components/ui-toolbar.js +1 -0
- package/dist/components/ui-tooltip.d.ts +11 -0
- package/dist/components/ui-tooltip.js +1 -0
- package/dist/components/ui-top-bar.d.ts +11 -0
- package/dist/components/ui-top-bar.js +1 -0
- package/dist/components/ui-transfer-list.d.ts +11 -0
- package/dist/components/ui-transfer-list.js +1 -0
- package/dist/components/ui-tree.d.ts +11 -0
- package/dist/components/ui-tree.js +1 -0
- package/dist/components/ui-workspace-manager.d.ts +11 -0
- package/dist/components/ui-workspace-manager.js +1 -0
- package/dist/components/utils.js +1 -0
- package/dist/esm/category-section.entry.js +28 -0
- package/dist/esm/component-size-C7gf39HE.js +27 -0
- package/dist/esm/dom-BMFah5q3.js +262 -0
- package/dist/esm/event-bus-vwwmWKs9.js +21 -0
- package/dist/esm/exploration-project-tailwind.js +20 -0
- package/dist/esm/focus-trap-BSQ8klD4.js +137 -0
- package/dist/esm/index-DUsoYu9r.js +2264 -0
- package/dist/esm/index.js +256 -0
- package/dist/esm/layout-manager.entry.js +614 -0
- package/dist/esm/library-card.entry.js +61 -0
- package/dist/esm/lm-container_2.entry.js +76 -0
- package/dist/esm/lm-panel_3.entry.js +104 -0
- package/dist/esm/loader.js +10 -0
- package/dist/esm/my-component.entry.js +31 -0
- package/dist/esm/my-step.entry.js +27 -0
- package/dist/esm/nav-bar.entry.js +245 -0
- package/dist/esm/security-D2WzX6vR.js +1545 -0
- package/dist/esm/smart-step.entry.js +45 -0
- package/dist/esm/timeline-item.entry.js +27 -0
- package/dist/esm/ui-accordion_10.entry.js +5722 -0
- package/dist/esm/ui-advanced-data-table.entry.js +2682 -0
- package/dist/esm/ui-anchor.entry.js +556 -0
- package/dist/esm/ui-animate-on-scroll.entry.js +283 -0
- package/dist/esm/ui-aside-panel.entry.js +636 -0
- package/dist/esm/ui-avatar-group_3.entry.js +630 -0
- package/dist/esm/ui-breadcrumb-item.entry.js +54 -0
- package/dist/esm/ui-breadcrumb.entry.js +199 -0
- package/dist/esm/ui-callout-banner.entry.js +289 -0
- package/dist/esm/ui-card.entry.js +409 -0
- package/dist/esm/ui-carousel.entry.js +545 -0
- package/dist/esm/ui-checkbox-group.entry.js +328 -0
- package/dist/esm/ui-checkbox.entry.js +258 -0
- package/dist/esm/ui-code-editor.entry.js +959 -0
- package/dist/esm/ui-code-preview.entry.js +313 -0
- package/dist/esm/ui-color-controller.entry.js +148 -0
- package/dist/esm/ui-color-picker.entry.js +656 -0
- package/dist/esm/ui-command-palette.entry.js +176 -0
- package/dist/esm/ui-dialog-box.entry.js +1806 -0
- package/dist/esm/ui-dialog-content.entry.js +29 -0
- package/dist/esm/ui-dialog-footer_2.entry.js +190 -0
- package/dist/esm/ui-divider.entry.js +479 -0
- package/dist/esm/ui-dock-host.entry.js +126 -0
- package/dist/esm/ui-dock.entry.js +219 -0
- package/dist/esm/ui-drag-drop.entry.js +170 -0
- package/dist/esm/ui-dropdown_2.entry.js +1549 -0
- package/dist/esm/ui-empty-state.entry.js +396 -0
- package/dist/esm/ui-fab-item.entry.js +37 -0
- package/dist/esm/ui-fab.entry.js +275 -0
- package/dist/esm/ui-file-upload.entry.js +416 -0
- package/dist/esm/ui-horizontal-nav.entry.js +133 -0
- package/dist/esm/ui-image-button.entry.js +65 -0
- package/dist/esm/ui-input-pair.entry.js +42 -0
- package/dist/esm/ui-knob.entry.js +445 -0
- package/dist/esm/ui-library.entry.js +132 -0
- package/dist/esm/ui-list-group_2.entry.js +583 -0
- package/dist/esm/ui-list.entry.js +730 -0
- package/dist/esm/ui-masonry.entry.js +476 -0
- package/dist/esm/ui-meter-group.entry.js +171 -0
- package/dist/esm/ui-navigation-item.entry.js +102 -0
- package/dist/esm/ui-number-input.entry.js +189 -0
- package/dist/esm/ui-otp-input.entry.js +244 -0
- package/dist/esm/ui-pagination_3.entry.js +1617 -0
- package/dist/esm/ui-panel.entry.js +612 -0
- package/dist/esm/ui-pattern-input.entry.js +276 -0
- package/dist/esm/ui-popover.entry.js +515 -0
- package/dist/esm/ui-progress.entry.js +514 -0
- package/dist/esm/ui-radio-group.entry.js +203 -0
- package/dist/esm/ui-radio.entry.js +204 -0
- package/dist/esm/ui-range-slider.entry.js +635 -0
- package/dist/esm/ui-resizable-panel.entry.js +482 -0
- package/dist/esm/ui-scroll-top.entry.js +457 -0
- package/dist/esm/ui-smart-context-menu.entry.js +374 -0
- package/dist/esm/ui-smart-location-dropdown.entry.js +563 -0
- package/dist/esm/ui-smart-stepper.entry.js +135 -0
- package/dist/esm/ui-snackbar.entry.js +861 -0
- package/dist/esm/ui-speed-dial.entry.js +518 -0
- package/dist/esm/ui-speedometer.entry.js +426 -0
- package/dist/esm/ui-splitter.entry.js +280 -0
- package/dist/esm/ui-step.entry.js +28 -0
- package/dist/esm/ui-stepper.entry.js +638 -0
- package/dist/esm/ui-switch.entry.js +403 -0
- package/dist/esm/ui-tabs.entry.js +701 -0
- package/dist/esm/ui-tag.entry.js +297 -0
- package/dist/esm/ui-timeline.entry.js +265 -0
- package/dist/esm/ui-timer.entry.js +500 -0
- package/dist/esm/ui-toolbar.entry.js +617 -0
- package/dist/esm/ui-tooltip.entry.js +695 -0
- package/dist/esm/ui-top-bar.entry.js +119 -0
- package/dist/esm/ui-transfer-list.entry.js +590 -0
- package/dist/esm/ui-tree.entry.js +872 -0
- package/dist/esm/ui-workspace-manager.entry.js +1199 -0
- package/dist/esm/utils-Ck6jDuhz.js +23 -0
- package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -0
- package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -0
- package/dist/exploration-project-tailwind/index.esm.js +1 -0
- package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-049744f9.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-06f0c679.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-0b004861.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-148e81df.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-200241f8.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-287dbf09.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-2d273118.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-2f961934.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-35296877.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-36861546.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-3d3d48fd.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-41cd6bf0.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-45482d86.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-46596a28.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-46efdea3.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-4d73c143.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-4de419d5.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-4f6bba75.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-5508874f.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-5e3e80ae.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-61717490.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-62352ef2.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-64e3a484.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-70d82d79.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-717dad1f.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-7376ac95.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-73d29a4a.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-7515b1e3.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-77124686.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-77a21491.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-77cc333a.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-7f91d949.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-807c6555.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-81961fb1.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-85bf89fd.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-85e36111.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-875be805.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-898dd0fa.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-8d951aef.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-9d0c8760.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-9fa70359.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-BMFah5q3.js +1 -0
- package/dist/exploration-project-tailwind/p-BSQ8klD4.js +1 -0
- package/dist/exploration-project-tailwind/p-C7gf39HE.js +1 -0
- package/dist/exploration-project-tailwind/p-Ck6jDuhz.js +1 -0
- package/dist/exploration-project-tailwind/p-D2WzX6vR.js +2 -0
- package/dist/exploration-project-tailwind/p-DUsoYu9r.js +2 -0
- package/dist/exploration-project-tailwind/p-a1ad32a2.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-a3f465d9.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-a42fdc33.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-aa85ff78.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ab752761.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c174a372.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c4ba7e52.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c5ddc817.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c6fd72e1.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c7e87fbb.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c87aeab6.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c90722ec.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ccb5c737.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-d16c9635.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-d2308a00.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-d30e24bd.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-d419eaf0.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-debede45.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-e5322e59.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-e8ba0c95.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-e90d5307.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f0830120.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f5719913.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-ffb1754a.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-vwwmWKs9.js +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/accordion/accordion.d.ts +352 -0
- package/dist/types/components/accordion/types.d.ts +69 -0
- package/dist/types/components/advanced-data-table/advanced-data-table.d.ts +697 -0
- package/dist/types/components/advanced-data-table/types.d.ts +120 -0
- package/dist/types/components/anchor/anchor.d.ts +133 -0
- package/dist/types/components/anchor/types.d.ts +17 -0
- package/dist/types/components/animate-on-scroll/animate-on-scroll.d.ts +101 -0
- package/dist/types/components/aside-panel/aside-panel.d.ts +249 -0
- package/dist/types/components/avatar/avatar.d.ts +201 -0
- package/dist/types/components/avatar/types.d.ts +132 -0
- package/dist/types/components/avatar-group/avatar-group.d.ts +52 -0
- package/dist/types/components/avatar-group/types.d.ts +31 -0
- package/dist/types/components/badge/badge.d.ts +109 -0
- package/dist/types/components/badge/types.d.ts +6 -0
- package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +36 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +73 -0
- package/dist/types/components/breadcrumb/types.d.ts +5 -0
- package/dist/types/components/button/button.d.ts +133 -0
- package/dist/types/components/button/types.d.ts +1 -0
- package/dist/types/components/button-toggle/button-toggle.d.ts +64 -0
- package/dist/types/components/button-toggle-group/button-toggle-group.d.ts +141 -0
- package/dist/types/components/button-toggle-group/types.d.ts +7 -0
- package/dist/types/components/callout-banner/callout-banner.d.ts +115 -0
- package/dist/types/components/callout-banner/types.d.ts +7 -0
- package/dist/types/components/card/card.d.ts +160 -0
- package/dist/types/components/card/types.d.ts +13 -0
- package/dist/types/components/carousel/carousel.d.ts +150 -0
- package/dist/types/components/carousel/types.d.ts +8 -0
- package/dist/types/components/checkbox/checkbox.d.ts +92 -0
- package/dist/types/components/checkbox/types.d.ts +5 -0
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +87 -0
- package/dist/types/components/checkbox-group/types.d.ts +8 -0
- package/dist/types/components/code-editor/code-editor.d.ts +147 -0
- package/dist/types/components/code-editor/types.d.ts +20 -0
- package/dist/types/components/code-preview/types.d.ts +5 -0
- package/dist/types/components/code-preview/ui-code-preview.d.ts +69 -0
- package/dist/types/components/color-controller/color-controller.d.ts +24 -0
- package/dist/types/components/color-picker/color-picker.d.ts +116 -0
- package/dist/types/components/color-picker/types.d.ts +24 -0
- package/dist/types/components/command-palette/command-palette.d.ts +41 -0
- package/dist/types/components/command-palette/types.d.ts +7 -0
- package/dist/types/components/context-menu/context-menu.d.ts +135 -0
- package/dist/types/components/context-menu/types.d.ts +20 -0
- package/dist/types/components/dialog-box/dialog-box.d.ts +648 -0
- package/dist/types/components/dialog-box/types.d.ts +1 -0
- package/dist/types/components/dialog-content/dialog-content.d.ts +9 -0
- package/dist/types/components/dialog-footer/dialog-footer.d.ts +9 -0
- package/dist/types/components/dialog-footer/types.d.ts +1 -0
- package/dist/types/components/dialog-header/dialog-header.d.ts +102 -0
- package/dist/types/components/dialog-header/types.d.ts +2 -0
- package/dist/types/components/divider/divider.d.ts +245 -0
- package/dist/types/components/divider/types.d.ts +14 -0
- package/dist/types/components/dock/dock.d.ts +37 -0
- package/dist/types/components/dock/types.d.ts +11 -0
- package/dist/types/components/dock-host/index.d.ts +1 -0
- package/dist/types/components/dock-host/types.d.ts +1 -0
- package/dist/types/components/dock-host/ui-dock-host.d.ts +23 -0
- package/dist/types/components/drag-drop/drag-drop.d.ts +52 -0
- package/dist/types/components/drag-drop/types.d.ts +9 -0
- package/dist/types/components/dropdown/dropdown.d.ts +264 -0
- package/dist/types/components/dropdown/types.d.ts +19 -0
- package/dist/types/components/empty-state/empty-state.d.ts +74 -0
- package/dist/types/components/empty-state/types.d.ts +13 -0
- package/dist/types/components/fab/fab.d.ts +73 -0
- package/dist/types/components/fab-item/fab-item.d.ts +14 -0
- package/dist/types/components/fab-item/types.d.ts +3 -0
- package/dist/types/components/file-upload/file-upload.d.ts +91 -0
- package/dist/types/components/file-upload/types.d.ts +15 -0
- package/dist/types/components/horizontal-nav/horizontal-nav.d.ts +68 -0
- package/dist/types/components/icon/icon.d.ts +66 -0
- package/dist/types/components/image-button/image-button.d.ts +31 -0
- package/dist/types/components/image-button/types.d.ts +1 -0
- package/dist/types/components/input/input.d.ts +217 -0
- package/dist/types/components/input/types.d.ts +6 -0
- package/dist/types/components/input-pair/input-pair.d.ts +28 -0
- package/dist/types/components/knob/knob.d.ts +147 -0
- package/dist/types/components/knob/types.d.ts +4 -0
- package/dist/types/components/layout-manager/layout-manager.d.ts +32 -0
- package/dist/types/components/layout-manager/lm-container/lm-container.d.ts +7 -0
- package/dist/types/components/layout-manager/lm-floating-window/lm-floating-window.d.ts +6 -0
- package/dist/types/components/layout-manager/lm-panel/lm-panel.d.ts +7 -0
- package/dist/types/components/layout-manager/lm-splitter/lm-splitter.d.ts +12 -0
- package/dist/types/components/layout-manager/lm-tabs/lm-tabs.d.ts +12 -0
- package/dist/types/components/layout-manager/types.d.ts +1 -0
- package/dist/types/components/library/category-section.d.ts +15 -0
- package/dist/types/components/library/data.d.ts +11 -0
- package/dist/types/components/library/library-card.d.ts +19 -0
- package/dist/types/components/library/library.d.ts +9 -0
- package/dist/types/components/list/list.d.ts +183 -0
- package/dist/types/components/list-group/list-group.d.ts +28 -0
- package/dist/types/components/list-item/list-item.d.ts +200 -0
- package/dist/types/components/masonry/masonry.d.ts +105 -0
- package/dist/types/components/masonry/types.d.ts +5 -0
- package/dist/types/components/meter-group/meter-group.d.ts +66 -0
- package/dist/types/components/meter-group/types.d.ts +12 -0
- package/dist/types/components/my-component/my-component.d.ts +16 -0
- package/dist/types/components/my-step/index.d.ts +12 -0
- package/dist/types/components/my-step/my-step.d.ts +13 -0
- package/dist/types/components/nav-bar/nav-bar.d.ts +119 -0
- package/dist/types/components/number-input/number-input.d.ts +72 -0
- package/dist/types/components/otp-input/otp-input.d.ts +64 -0
- package/dist/types/components/otp-input/types.d.ts +3 -0
- package/dist/types/components/pagination/pagination.d.ts +295 -0
- package/dist/types/components/pagination/types.d.ts +1 -0
- package/dist/types/components/panel/panel.d.ts +275 -0
- package/dist/types/components/panel/types.d.ts +7 -0
- package/dist/types/components/pattern-input/pattern-input.d.ts +88 -0
- package/dist/types/components/popover/popover.d.ts +161 -0
- package/dist/types/components/popover/types.d.ts +3 -0
- package/dist/types/components/progress/progress.d.ts +224 -0
- package/dist/types/components/progress/types.d.ts +6 -0
- package/dist/types/components/radio/radio.d.ts +87 -0
- package/dist/types/components/radio/types.d.ts +7 -0
- package/dist/types/components/radio-group/radio-group.d.ts +74 -0
- package/dist/types/components/radio-group/types.d.ts +2 -0
- package/dist/types/components/range-slider/range-slider.d.ts +201 -0
- package/dist/types/components/range-slider/types.d.ts +4 -0
- package/dist/types/components/rating/rating.d.ts +127 -0
- package/dist/types/components/rating/types.d.ts +1 -0
- package/dist/types/components/resizable-panel/resizable-panel.d.ts +59 -0
- package/dist/types/components/resizable-panel/types.d.ts +11 -0
- package/dist/types/components/scroll-top/scroll-top.d.ts +186 -0
- package/dist/types/components/scroll-top/types.d.ts +1 -0
- package/dist/types/components/skeleton/skeleton-loader.d.ts +149 -0
- package/dist/types/components/skeleton/types.d.ts +1 -0
- package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +119 -0
- package/dist/types/components/smart-location-dropdown/types.d.ts +37 -0
- package/dist/types/components/smart-menu/menu-item.interface.d.ts +10 -0
- package/dist/types/components/smart-menu/smart-menu.d.ts +64 -0
- package/dist/types/components/smart-stepper/smart-step.d.ts +29 -0
- package/dist/types/components/smart-stepper/smart-stepper.d.ts +53 -0
- package/dist/types/components/snackbar/snackbar.d.ts +223 -0
- package/dist/types/components/snackbar/types.d.ts +104 -0
- package/dist/types/components/speed-dial/speed-dial.d.ts +171 -0
- package/dist/types/components/speed-dial/types.d.ts +11 -0
- package/dist/types/components/speedometer/speedometer.d.ts +125 -0
- package/dist/types/components/speedometer/types.d.ts +8 -0
- package/dist/types/components/splitter/splitter.d.ts +63 -0
- package/dist/types/components/splitter/types.d.ts +9 -0
- package/dist/types/components/stack/stack.d.ts +34 -0
- package/dist/types/components/stack/types.d.ts +3 -0
- package/dist/types/components/step/step.d.ts +16 -0
- package/dist/types/components/step/types.d.ts +1 -0
- package/dist/types/components/stepper/stepper.d.ts +218 -0
- package/dist/types/components/stepper/types.d.ts +39 -0
- package/dist/types/components/switch/switch.d.ts +162 -0
- package/dist/types/components/tabs/tabs.d.ts +182 -0
- package/dist/types/components/tabs/types.d.ts +17 -0
- package/dist/types/components/tag/tag.d.ts +172 -0
- package/dist/types/components/tag/types.d.ts +4 -0
- package/dist/types/components/tag-group/tag-group.d.ts +107 -0
- package/dist/types/components/tag-group/types.d.ts +2 -0
- package/dist/types/components/timeline/timeline.d.ts +73 -0
- package/dist/types/components/timeline/types.d.ts +28 -0
- package/dist/types/components/timeline/ui-timeline.stories.d.ts +9 -0
- package/dist/types/components/timeline-item/timeline-item.d.ts +15 -0
- package/dist/types/components/timer/timer.d.ts +123 -0
- package/dist/types/components/timer/types.d.ts +18 -0
- package/dist/types/components/timer/ui-timer.stories.d.ts +9 -0
- package/dist/types/components/toggle-group/toggle-group.d.ts +136 -0
- package/dist/types/components/toggle-group/types.d.ts +5 -0
- package/dist/types/components/toolbar/toolbar-types.d.ts +189 -0
- package/dist/types/components/toolbar/toolbar.d.ts +150 -0
- package/dist/types/components/tooltip/tooltip.d.ts +166 -0
- package/dist/types/components/tooltip/types.d.ts +3 -0
- package/dist/types/components/top-bar/top-bar.d.ts +76 -0
- package/dist/types/components/transfer-list/transfer-list.d.ts +137 -0
- package/dist/types/components/transfer-list/types.d.ts +13 -0
- package/dist/types/components/tree/tree.d.ts +180 -0
- package/dist/types/components/tree/types.d.ts +76 -0
- package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +108 -0
- package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-types.d.ts +17 -0
- package/dist/types/components/ui-navigation-bar/navigation-item.d.ts +26 -0
- package/dist/types/components/ui-navigation-bar/navigation-types.d.ts +19 -0
- package/dist/types/components/workspace-manager/types.d.ts +48 -0
- package/dist/types/components/workspace-manager/workspace-manager.d.ts +211 -0
- package/dist/types/components.d.ts +29634 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/service/drag-manager.d.ts +8 -0
- package/dist/types/service/event-bus.d.ts +9 -0
- package/dist/types/service/serialization.d.ts +5 -0
- package/dist/types/service/state-engine.d.ts +25 -0
- package/dist/types/service/theme-switcher.d.ts +46 -0
- package/dist/types/stencil-public-runtime.d.ts +1860 -0
- package/dist/types/types/animation.type.d.ts +96 -0
- package/dist/types/types/common.d.ts +52 -0
- package/dist/types/types/common.type.d.ts +608 -0
- package/dist/types/types/index.d.ts +37 -0
- package/dist/types/types/text.type.d.ts +32 -0
- package/dist/types/utils/aria-live.d.ts +20 -0
- package/dist/types/utils/component-size.d.ts +2 -0
- package/dist/types/utils/dom.d.ts +58 -0
- package/dist/types/utils/focus-trap.d.ts +35 -0
- package/dist/types/utils/security.d.ts +5 -0
- package/dist/types/utils/test/setup-component-test-env.d.ts +14 -0
- package/dist/types/utils/utils.d.ts +7 -0
- package/dist/types/utils/validation.d.ts +43 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +77 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,a as i,h as s,H as r}from"./p-DUsoYu9r.js";const o=class{constructor(i){t(this,i),this.groupClick=e(this,"groupClick"),this.groupToggle=e(this,"groupToggle")}get el(){return i(this)}label="";collapsible=!1;expanded=!0;icon="";divider=!0;dense=!1;selectable=!1;selected=!1;badge="";badgeColor="default";level=0;skeleton=!1;groupClick;groupToggle;toggleExpanded=t=>{t.stopPropagation(),this.collapsible&&(this.expanded=!this.expanded,this.groupToggle.emit({expanded:this.expanded}))};handleHeaderClick=t=>{this.selectable&&(this.selected=!this.selected),this.groupClick.emit({selected:this.selected,expanded:this.expanded}),this.collapsible&&!this.selectable&&this.toggleExpanded(t)};renderSkeleton(){return s("div",{class:"list-group-skeleton"},s("div",{class:"skeleton-header"},s("div",{class:"skeleton-icon"}),s("div",{class:"skeleton-text"})),s("div",{class:"skeleton-content"},s("div",{class:"skeleton-item"}),s("div",{class:"skeleton-item"}),s("div",{class:"skeleton-item"})))}render(){if(this.skeleton)return s(r,null,this.renderSkeleton());const t={"group-header":!0,"group-header-collapsible":this.collapsible,"group-header-dense":this.dense,"group-header-selected":this.selected,"group-header-selectable":this.selectable},e={"group-content":!0,"group-content-collapsed":!this.expanded},i=24*this.level;return s(r,{style:{"--group-level":this.level.toString()}},this.label&&s("div",{class:t,onClick:this.handleHeaderClick,style:{paddingLeft:`${i+12}px`}},s("div",{class:"header-left"},this.collapsible&&s("ui-button",{variant:"ghost",onClick:this.toggleExpanded,ariaLabel:this.expanded?"Collapse group":"Expand group",icon:this.expanded?"chevron-down":"chevron-right",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"}),this.selectable&&s("div",{class:{"selection-checkbox":!0,selected:this.selected}},s("div",{class:"checkbox-box"},this.selected&&s("ui-icon",{name:"check",library:"fontawesome"}))),this.icon&&s("ui-icon",{class:"group-icon",name:this.icon.replace(/^fa[sb]? fa-/,""),library:"fontawesome"}),s("span",{class:"group-label"},this.label),this.badge&&s("span",{class:`group-badge badge-${this.badgeColor}`},this.badge)),s("div",{class:"header-actions"},s("slot",{name:"header-actions"}))),s("div",{class:e,role:"region","aria-expanded":this.expanded.toString()},s("slot",null)),s("div",{class:"group-footer"},s("slot",{name:"footer"})),this.divider&&s("div",{class:"group-divider"}))}};o.style=".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;--header-padding:12px 16px;--header-bg-hover:rgba(0, 0, 0, 0.04);--header-bg-selected:var(--primary-color-light, #e0f2fe);--header-color-selected:var(--primary-color, #0284c7)}.group-header{padding:var(--header-padding);font-weight:600;font-size:0.875rem;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:0.05em;display:flex;align-items:center;justify-content:space-between;user-select:none;border-radius:4px;margin-bottom:4px;transition:all 0.2s ease}.group-header-collapsible{cursor:pointer}.group-header-collapsible:hover{background-color:var(--header-bg-hover)}.group-header-selectable{cursor:pointer}.group-header-selectable:hover{background-color:var(--header-bg-hover)}.group-header-selected{background-color:var(--header-bg-selected);color:var(--header-color-selected)}.group-header-selected .group-icon,.group-header-selected .collapse-icon{color:var(--header-color-selected)}.group-header-dense{padding:8px 16px;font-size:0.8125rem}.header-left{display:flex;align-items:center;gap:12px;flex:1}.collapse-btn{background:none;border:none;padding:4px;cursor:pointer;color:inherit;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color 0.2s;margin-left:-8px}.collapse-btn:hover{background-color:rgba(0, 0, 0, 0.1)}.selection-checkbox{margin-right:-4px;display:flex;align-items:center;justify-content:center}.selection-checkbox .checkbox-box{width:20px;height:20px;border:2px solid var(--border-strong, #d1d5db);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;background:var(--bg-primary, #ffffff)}.selection-checkbox .checkbox-box i{font-size:12px;color:var(--text-standard, #ffffff);transform:scale(0);transition:transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.selection-checkbox.selected .checkbox-box{background:var(--primary-color, #0ea5e9);border-color:var(--primary-color, #0ea5e9)}.selection-checkbox.selected .checkbox-box i{transform:scale(1)}.selection-checkbox:hover .checkbox-box{border-color:var(--primary-color, #0ea5e9)}.group-badge{padding:2px 8px;border-radius:12px;font-size:0.75rem;font-weight:600;margin-left:8px;line-height:1.4}.group-badge.badge-default{background:var(--bg-primary, #e5e7eb);color:var(--text-secondary, #374151)}.group-badge.badge-primary{background:var(--primary-color, #0ea5e9);color:var(--text-standard, #ffffff)}.group-badge.badge-secondary{background:var(--secondary-color, #64748b);color:var(--text-standard, #ffffff)}.group-badge.badge-success{background:var(--success-color, #22c55e);color:var(--text-standard, #ffffff)}.group-badge.badge-danger{background:var(--danger-color, var(--color-danger, #ef4444));color:var(--text-standard, #ffffff)}.group-badge.badge-warning{background:var(--warning-color, var(--color-warning, #f59e0b));color:var(--text-standard, #ffffff)}.group-badge.badge-info{background:var(--info-color, var(--color-primary, #10b981));color:var(--text-standard, #ffffff)}.header-actions{display:flex;align-items:center;gap:8px}.group-footer{padding:8px 16px;border-top:1px solid var(--border-subtle, #f3f4f6);font-size:0.875rem;color:var(--text-muted, #6b7280)}.group-footer:empty{display:none}.collapse-icon{font-size:0.75rem;transition:transform 0.2s ease;color:var(--text-muted, #9ca3af)}.group-icon{font-size:1rem;color:var(--text-muted, #6b7280)}.group-label{flex:1}.group-content{display:block;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);opacity:1;max-height:1000px;overflow:visible;transform-origin:top}.group-content-collapsed{max-height:0;opacity:0;overflow:hidden;transform:scaleY(0.95)}.group-divider{height:1px;background-color:var(--bg-primary, #e5e7eb);margin:8px 0}.list-group-skeleton{padding:16px}.list-group-skeleton .skeleton-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.list-group-skeleton .skeleton-header .skeleton-icon{width:24px;height:24px;border-radius:4px;background:var(--bg-primary, #e5e7eb);animation:pulse 1.5s infinite}.list-group-skeleton .skeleton-header .skeleton-text{height:16px;width:120px;border-radius:4px;background:var(--bg-primary, #e5e7eb);animation:pulse 1.5s infinite}.list-group-skeleton .skeleton-content{display:flex;flex-direction:column;gap:12px;padding-left:12px}.list-group-skeleton .skeleton-content .skeleton-item{height:48px;width:100%;border-radius:8px;background:var(--bg-secondary, #f3f4f6);animation:pulse 1.5s infinite}.list-group-skeleton .skeleton-content .skeleton-item:nth-child(2){animation-delay:0.1s}.list-group-skeleton .skeleton-content .skeleton-item:nth-child(3){animation-delay:0.2s}@keyframes pulse{0%{opacity:1}50%{opacity:0.5}100%{opacity:1}}";const a=class{constructor(i){t(this,i),this.listItemClick=e(this,"listItemClick"),this.listItemActionClick=e(this,"listItemActionClick"),this.listItemToggle=e(this,"listItemToggle"),this.contextMenuOpenEvent=e(this,"contextMenuOpenEvent"),this.contextMenuCloseEvent=e(this,"contextMenuCloseEvent"),this.checkboxChange=e(this,"checkboxChange"),this.pillClick=e(this,"pillClick"),this.tagClick=e(this,"tagClick"),this.swipeAction=e(this,"swipeAction"),this.longPress=e(this,"longPress"),this.starToggle=e(this,"starToggle"),this.detailToggle=e(this,"detailToggle")}get el(){return i(this)}selected=!1;disabled=!1;readonly=!1;label="";value="";icon="";actionIcon="";size="md";color="default";variant="text";nested=!1;level=0;collapsible=!1;expanded=!1;divider=!1;dense=!1;interactive=!0;href="";target="_self";contextMenu=!1;contextMenuTrigger="click";contextMenuPosition="auto";showCheckbox=!1;checked=!1;sublabel="";multiline=!1;badge="";badgeColor="default";counter="";tags="";image="";userAvatar="";skeleton=!1;highlight="";selectionColor="default";hoverColor="default";avatarPosition="left";showMenu=!1;rightActionColor="danger";avatarGroup="";avatarGroupPosition="content";treeLines=!1;gridMode=!1;longPressDelay=600;locked=!1;swipeActions=!1;swipeBehavior="reveal";leftActionIcon="";leftActionColor="success";rightActionIcon="";progress=-1;status="";statusPosition="bottom-right";showStar=!1;leftActions=[];rightActions=[];fullSwipeThreshold=.75;starred=!1;expandable=!1;expandedDetail=!1;wobble=!1;priorityPulse=!1;presence=[];density="comfortable";sparkline=[];metadata={};showGhostLayer=!1;auraMode=!1;presenceCursors=[];a11yLabel="";isFocused=!1;isHovered=!1;contextMenuOpen=!1;contextMenuX=0;contextMenuY=0;swipeOffset=0;showStatusEditor=!1;listItemClick;listItemActionClick;listItemToggle;contextMenuOpenEvent;contextMenuCloseEvent;checkboxChange;pillClick;tagClick;swipeAction;longPress;starToggle;detailToggle;contextMenuRef;touchStartX=0;touchCurrentX=0;isSwiping=!1;longPressTimer;componentDidLoad(){this.contextMenu&&document.addEventListener("click",this.handleOutsideClick)}disconnectedCallback(){this.contextMenu&&document.removeEventListener("click",this.handleOutsideClick)}handleOutsideClick=t=>{if(this.contextMenuOpen&&this.contextMenuRef&&!this.contextMenuRef.contains(t.target)){const e=this.el.shadowRoot.querySelector(".list-item");e&&!e.contains(t.target)&&this.closeContextMenu()}};handleClick=t=>{if(!this.disabled&&!this.readonly){if(this.contextMenu&&"click"===this.contextMenuTrigger)return t.stopPropagation(),void this.toggleContextMenu(t);if(this.locked)return this.wobble=!0,void setTimeout((()=>this.wobble=!1),400);if(this.expandable&&!this.contextMenu)return this.expandedDetail=!this.expandedDetail,void this.detailToggle.emit({value:this.value,expanded:this.expandedDetail});this.collapsible&&!this.contextMenu&&(this.expanded=!this.expanded,this.listItemToggle.emit({value:this.value,expanded:this.expanded})),!this.interactive||this.contextMenu||this.locked||(t.shiftKey||t.ctrlKey||t.metaKey||(this.selected=!this.selected),this.listItemClick.emit({value:this.value,selected:this.selected,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey})),this.href&&(t.preventDefault(),window.open(this.href,this.target))}};handleContextMenu=t=>{this.contextMenu&&"rightClick"===this.contextMenuTrigger&&(t.preventDefault(),t.stopPropagation(),this.toggleContextMenu(t))};toggleContextMenu=t=>{this.contextMenuOpen?this.closeContextMenu():this.openContextMenu(t)};openContextMenu=t=>{const e=t.currentTarget.getBoundingClientRect(),i=200,s=window.innerWidth,r=window.innerHeight;let o=0,a=0;if("rightClick"===this.contextMenuTrigger)o=t.clientX,a=t.clientY;else switch(this.contextMenuPosition){case"right":o=e.right,a=e.top;break;case"left":o=e.left-i,a=e.top;break;case"bottom":o=e.left,a=e.bottom;break;default:s-e.right>i?(o=e.right,a=e.top):(o=e.left-i,a=e.top)}o+i>s&&(o=s-i-10),o<0&&(o=10),a+300>r&&(a=r-300-10,a<0&&(a=Math.max(10,e.top-300))),a<0&&(a=10),this.contextMenuX=o,this.contextMenuY=a,this.contextMenuOpen=!0,this.contextMenuOpenEvent.emit({value:this.value})};closeContextMenu=()=>{this.contextMenuOpen=!1,this.contextMenuCloseEvent.emit({value:this.value})};handleCheckboxChange=t=>{t.stopPropagation(),this.disabled||this.readonly||(this.checked=!this.checked,this.checkboxChange.emit({value:this.value,checked:this.checked}))};handleFocus=()=>{this.isFocused=!0};handleBlur=()=>{this.isFocused=!1};handleMouseEnter=t=>{this.isHovered=!0,this.contextMenu&&"hover"===this.contextMenuTrigger&&this.openContextMenu(t)};handleMouseLeave=()=>{this.isHovered=!1,this.contextMenu&&"hover"===this.contextMenuTrigger&&setTimeout((()=>{this.isHovered||this.closeContextMenu()}),300)};handleTouchStart=t=>{this.swipeActions&&!this.disabled&&(this.touchStartX=t.touches[0].clientX,this.isSwiping=!0,this.longPressDelay>0&&(this.longPressTimer=setTimeout((()=>{this.swipeOffset||(this.longPress.emit({value:this.value}),navigator.vibrate&&navigator.vibrate(50))}),this.longPressDelay)))};handleTouchMove=t=>{if(!this.isSwiping)return;this.touchCurrentX=t.touches[0].clientX;const e=this.touchCurrentX-this.touchStartX;Math.abs(e)>10&&clearTimeout(this.longPressTimer),e>80&&!this.leftActionIcon&&0===this.leftActions.length||e<-80&&!this.rightActionIcon&&0===this.rightActions.length||(this.swipeOffset=e)};handleTouchEnd=()=>{if(!this.swipeActions)return;clearTimeout(this.longPressTimer);const t=.25*this.el.clientWidth,e=this.el.clientWidth*this.fullSwipeThreshold,i=Math.abs(this.swipeOffset);if(i>e){const t=this.swipeOffset>0?"left":"right",e="left"===t?this.leftActions.length?this.leftActions:[{icon:this.leftActionIcon,action:"left"}]:this.rightActions.length?this.rightActions:[{icon:this.rightActionIcon,action:"right"}],i=e[0]?.action||("left"===t?"check":"trash");return this.swipeOffset=this.swipeOffset>0?this.el.clientWidth:-this.el.clientWidth,void setTimeout((()=>{this.swipeAction.emit({value:this.value,side:t,action:i}),"dismiss"===this.swipeBehavior?this.el.style.display="none":this.swipeOffset=0}),200)}this.swipeOffset=i>t?this.swipeOffset>0?80*Math.max(1,this.leftActions.length):-80*Math.max(1,this.rightActions.length):0};async focusItem(){this.isFocused=!0,this.el.shadowRoot.querySelector(".list-item")?.setAttribute("tabindex","0"),this.el.shadowRoot.querySelector(".list-item")?.focus()}handleKeyDown=t=>{this.isFocused&&"Enter"===t.key&&this.listItemClick.emit({value:this.value,selected:!this.selected})};renderLabel(t){return this.highlight&&t?t.split(new RegExp(`(${this.highlight})`,"gi")).map((t=>t.toLowerCase()===this.highlight.toLowerCase()?s("mark",{class:"list-item-highlight"},t):t)):t}renderPresenceCursors(){return this.presenceCursors&&0!==this.presenceCursors.length?s("div",{class:"presence-cursors-layer"},this.presenceCursors.map((t=>s("div",{class:`ghost-cursor cursor-${t.color||"blue"}`,style:{left:`${t.x}px`,top:`${t.y}px`}},s("ui-icon",{name:"mouse-pointer",library:"fontawesome"}),s("div",{class:"cursor-label"},t.name))))):null}renderSparkline(){if(!this.sparkline||this.sparkline.length<2)return null;const t=Math.max(...this.sparkline),e=Math.min(...this.sparkline),i=t-e||1,r=this.sparkline.map(((t,s)=>`${s/(this.sparkline.length-1)*60},${20-(t-e)/i*20}`)).join(" ");return s("svg",{class:"list-sparkline",width:60,height:20},s("polyline",{fill:"none",stroke:"#3bf673","stroke-width":"1.5",points:r}))}renderGhostLayer(){return this.showGhostLayer?s("div",{class:"list-item-ghost-layer"},s("div",{class:"ghost-meta"},"IP: ",this.metadata?.ip||"127.0.0.1"),s("div",{class:"ghost-meta"},"VER: ",this.metadata?.version||"1.0.0"),s("div",{class:"ghost-meta"},"ID: ",this.value||"N/A")):null}parseTagsToItems(){if(!this.tags)return[];try{const t="string"==typeof this.tags?JSON.parse(this.tags):this.tags;return Array.isArray(t)?t:[]}catch{return[]}}render(){const t={"list-item":!0,[`list-item-${this.size}`]:!0,[`list-item-${this.color}`]:!0,[`list-item-${this.variant}`]:!0,"list-item-selected":this.selected,"list-item-disabled":this.disabled,"list-item-readonly":this.readonly,"list-item-focused":this.isFocused,"list-item-hovered":this.isHovered,"list-item-nested":this.nested,"list-item-tree-lines":this.treeLines&&this.level>0,"list-item-grid":this.gridMode,"list-item-collapsible":this.collapsible,"list-item-expanded":this.expanded,"list-item-divider":this.divider,"list-item-dense":this.dense,"list-item-interactive":this.interactive,"list-item-link":!!this.href,"list-item-context-menu":this.contextMenu,"list-item-context-menu-open":this.contextMenuOpen,"list-item-multiline":this.multiline,"list-item-with-checkbox":this.showCheckbox,"list-item-checked":this.checked,"is-skeleton":this.skeleton,"list-item-locked":this.locked,"list-item-starred":this.starred,"list-item-expandable":this.expandable,"list-item-detail-expanded":this.expandedDetail,"is-wobbling":this.wobble,[`list-item-density-${this.density}`]:!0,[`list-item-aura-${this.status}`]:this.auraMode&&this.status&&!this.skeleton,[`list-item-selection-${this.selectionColor}`]:this.selected&&"default"!==this.selectionColor,[`list-item-hover-${this.hoverColor}`]:"default"!==this.hoverColor,"list-item-avatar-right":"right"===this.avatarPosition},e=24*this.level,i=this.parseTagsToItems(),o="string"==typeof this.avatarGroup?JSON.parse(this.avatarGroup||"[]"):this.avatarGroup||[];return s(r,{key:"58ce4116ce6d57212618035289472a8885198909",onKeyDown:this.handleKeyDown,tabIndex:this.interactive&&!this.disabled?0:-1},s("div",{key:"2d3d1569f7cadc8e324e75285b08e51865a616d9",class:t,onClick:this.handleClick,onContextMenu:this.handleContextMenu,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseDown:()=>{this.longPressTimer=setTimeout((()=>{this.longPress.emit({value:this.value})}),this.longPressDelay)},onMouseUp:()=>clearTimeout(this.longPressTimer),onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,tabindex:this.disabled?-1:0,role:"listitem","aria-label":this.a11yLabel||(this.skeleton?"Loading cluster node":`${this.label}, status: ${this.status}, health: ${this.progress}%`),"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false","aria-haspopup":this.contextMenu?"menu":void 0,"aria-expanded":this.contextMenuOpen?"true":"false",style:{paddingLeft:`${e+(this.level>0?32:16)}px`,transform:`translateX(${this.swipeOffset}px)`},part:"list-item"},this.priorityPulse&&s("div",{key:"077eb5592bd7da1c326619f37da4b42a0dc428b5",class:"list-item-pulse"}),this.presence&&this.presence.length>0&&this.presence.map((t=>s("div",{class:`presence-halo presence-${t.color||"blue"}`,title:`User ${t.id} active`}))),this.renderGhostLayer(),this.renderPresenceCursors(),this.swipeActions&&0!==this.swipeOffset&&s("div",{key:"f59474feb89543f37d4618ec4c422878669cee3a",class:"swipe-actions-container"},this.swipeOffset>0&&s("div",{key:"64c03eb1c0c9633988441ce81c16a0ba024185a4",class:"swipe-action-wrapper left"},this.leftActions.length>0?this.leftActions.map((t=>s("div",{class:`swipe-action bg-${t.color}`,onClick:()=>this.swipeAction.emit({value:this.value,side:"left",action:t.action})},s("ui-icon",{name:t.icon,library:"fontawesome"})))):s("div",{class:`swipe-action left bg-${this.leftActionColor}`},s("ui-icon",{name:this.leftActionIcon,library:"fontawesome"}))),this.swipeOffset<0&&s("div",{key:"d6670645e03558910d978b74685c6d0d1e76c774",class:"swipe-action-wrapper right"},this.rightActions.length>0?this.rightActions.map((t=>s("div",{class:`swipe-action bg-${t.color}`,onClick:()=>this.swipeAction.emit({value:this.value,side:"right",action:t.action})},s("ui-icon",{name:t.icon,library:"fontawesome"})))):s("div",{class:`swipe-action right bg-${this.rightActionColor}`},s("ui-icon",{name:this.rightActionIcon,library:"fontawesome"})))),this.skeleton&&s("div",{key:"4c77cacc6165a5f32b3048a3193c08c43fe1b3dd",class:"skeleton-pulse"}),this.showCheckbox&&!this.skeleton&&s("div",{key:"74c9ff9a6bec5c8201a1c713e0eb49d99c44dd85",class:"list-item-checkbox"},s("ui-checkbox",{key:"bdf7bed4aa503546fab79d1c1ca8f170b7ea4289",checked:this.checked,disabled:this.disabled,readonly:this.readonly,onCheckboxChange:t=>this.handleCheckboxChange(t),size:"sm"})),this.collapsible&&!this.contextMenu&&!this.skeleton&&s("ui-icon",{key:"0d90b7eaec8eada7810b04ce55b94f4e647b6af0",class:"collapse-icon",name:this.expanded?"chevron-down":"chevron-right",library:"fontawesome"}),"left"===this.avatarPosition&&s("div",{key:"32e681013eaf3b8dbf239ed093608b0186f56124",class:"list-item-left-media"},this.userAvatar?s("div",{class:"list-item-avatar-container"},s("ui-avatar",{class:{"list-item-avatar":!0,"skeleton-circle":this.skeleton},src:this.userAvatar,size:"lg"===this.size?"md":"sm"}),this.status&&!this.skeleton&&s("span",{class:`list-item-status status-${this.status} pos-${this.statusPosition}`})):this.image?s("div",{class:{"list-item-image":!0,"skeleton-rect":this.skeleton}},!this.skeleton&&s("img",{src:this.image,alt:this.label})):this.icon?s("ui-icon",{class:"list-item-icon",name:this.icon,library:"fontawesome"}):this.avatarGroup&&"media"===this.avatarGroupPosition?s("div",{class:"list-item-media-avatar-group"},s("ui-avatar-group",{items:o,size:"xs",spacing:"-12px",limit:3})):this.skeleton&&s("div",{class:"list-item-media-placeholder skeleton-circle"})),s("div",{key:"0149ace554979e9a601bd717fab44c8f71a22f75",class:"list-item-content"},s("div",{key:"b53dac62842d57fc4cb060bc138903b59ab1e32b",class:"list-item-label-wrapper"},this.showStar&&!this.skeleton&&s("ui-icon",{key:"15d77a692e85eab6ea85bd530068d83d9221ec0b",class:{"list-item-star-icon":!0,"is-starred":this.starred},name:"star",library:"fontawesome",onClick:t=>{t.stopPropagation(),this.starred=!this.starred,this.starToggle.emit({value:this.value,starred:this.starred}),navigator.vibrate&&navigator.vibrate(20)}}),s("span",{key:"08cc2c0d174b85bd07acee7aa98c0498d18bce4f",class:{"list-item-label":!0,"skeleton-text":this.skeleton}},this.skeleton?"":this.renderLabel(this.label)),this.badge&&!this.skeleton&&s("span",{key:"f0c536c274a653d4cb8a6ae4e9b0905a938d0073",class:`list-item-badge badge-${this.badgeColor}`},this.badge)),(this.sublabel||this.skeleton)&&s("div",{key:"e3f001f937904d3e291834de24a3305d32c5f22d",class:"list-item-subline"},s("span",{key:"cab7999b62cc0d3cca31b573043be48be72ad3b2",class:{"list-item-sublabel":!0,"skeleton-text":this.skeleton}},this.skeleton?"":this.renderLabel(this.sublabel)),this.renderSparkline()),this.progress>=0&&!this.skeleton&&s("div",{key:"10559a4b748ef1d49bc7748c35d05217294806b0",class:"list-item-progress-container"},s("div",{key:"36ec119650364308b1d86b0ed0361b675dd3b56a",class:"list-item-progress-bar",style:{width:`${this.progress}%`}}),s("span",{key:"ae6209cc9da5ddc2c4dad32c000602d3d4ed7977",class:"list-item-progress-text"},this.progress,"%")),this.avatarGroup&&"content"===this.avatarGroupPosition&&!this.skeleton&&s("div",{key:"91b42175d2203685397be51b38b0a20e978dab85",class:"list-item-collaborators"},s("ui-avatar-group",{key:"97782481c4725e203cafb230bdf9cff36ab0b4c7",items:o,size:"xs",spacing:"-8px"})),i.length>0&&!this.skeleton&&s("div",{key:"ce41b5b18a85962e36532117def183ebec3a889e",class:"list-item-tags"},s("ui-tag-group",{key:"9fefbdcf44f0f72caf6cb956a7ef663723440a51",spacing:"4px"},i.map((t=>s("ui-tag",{label:"string"==typeof t?t:t.label,color:t.color||"default",variant:t.variant||"light",size:"xs",shape:t.shape||"pill",icon:t.icon})))))),s("slot",{key:"f5f37f87becd210aebc7d3b443805447b2f08934"}),"right"===this.avatarPosition&&s("div",{key:"1a0024c8eb561fc77c10e6ca393556d57e5b82dc",class:"list-item-right-media"},this.userAvatar?s("div",{class:"list-item-avatar-container"},s("ui-avatar",{class:{"list-item-avatar":!0,"skeleton-circle":this.skeleton},src:this.userAvatar,size:"lg"===this.size?"md":"sm"}),this.status&&!this.skeleton&&s("span",{class:`list-item-status status-${this.status} pos-${this.statusPosition}`})):this.image?s("div",{class:{"list-item-image":!0,"skeleton-rect":this.skeleton}},!this.skeleton&&s("img",{src:this.image,alt:this.label})):this.icon?s("ui-icon",{class:"list-item-icon",name:this.icon,library:"fontawesome"}):this.avatarGroup&&"media"===this.avatarGroupPosition?s("div",{class:"list-item-media-avatar-group"},s("ui-avatar-group",{items:o,size:"xs",spacing:"-12px",limit:3})):null),this.avatarGroup&&"right"===this.avatarGroupPosition&&!this.skeleton&&s("div",{key:"ca2da167a6df02533aaf3e4d15b14af4a77b188c",class:"list-item-right-collaborators"},s("ui-avatar-group",{key:"93aca83ac5defecf49eba0144ef8eb793cf84d90",items:o,size:"xs",spacing:"-8px"})),""!==this.counter&&!this.skeleton&&s("span",{key:"e32d27e4c9f1e9899d9ea327f2aded8f2184de2a",class:"list-item-counter"},this.counter),this.locked&&!this.skeleton&&s("ui-icon",{key:"7d5bb73fa57391b4f06938ec16a625c86b89cf36",class:"list-item-lock-icon",name:"lock",library:"fontawesome"}),this.showMenu&&!this.skeleton&&s("div",{key:"5cac8d9f75433668559299587d62b358a564cdbc",class:"list-item-menu",onClick:t=>{t.stopPropagation(),this.toggleContextMenu(t)}},s("ui-icon",{key:"08ca49e61037d1a7f1590c9941213434caf3f993",name:"ellipsis-v",library:"fontawesome"}))),this.contextMenuOpen&&s("div",{key:"44a01fb51995af67c9a61464caab980c8f4ad523",ref:t=>this.contextMenuRef=t,class:"list-item-context-menu-container",style:{top:`${this.contextMenuY}px`,left:`${this.contextMenuX}px`}},s("slot",{key:"b44a9d26b3d06e2528c8133f6080db1eee944dc2",name:"context-menu"},s("div",{key:"455e867a0acb5fcd97df1e1c63de11ab643101ac",class:"context-menu-default"},s("div",{key:"ec25558af4c83b57bf36e7c430e5296de74956e9",class:"context-menu-item",onClick:()=>this.closeContextMenu()},s("ui-icon",{key:"69be015e453751f92d2572c82f83977b170386ef",name:"info-circle",library:"fontawesome"}),s("span",{key:"cc4a0148cba635cd3b7305827339b8be101b21dc"},"View Details")),s("div",{key:"bf42c2745524c05869583e60580777266f5fad0d",class:"context-menu-item",onClick:()=>this.closeContextMenu()},s("ui-icon",{key:"a40e0515fdf007eb09f0348947f38be95b36de42",name:"edit",library:"fontawesome"}),s("span",{key:"9243b179bbcb3b7f09c31ca72d73b38b166d0bb1"},"Edit Item")),s("div",{key:"881528fbf3230427a153c535c606d1edabd911ff",class:"context-menu-divider"}),s("div",{key:"18cd2ade135fdc8cbc9805361b889897a8c9d384",class:"context-menu-item danger",onClick:()=>this.closeContextMenu()},s("ui-icon",{key:"a16b3e59fc28d532abbda7d2228889d0e2475671",name:"trash",library:"fontawesome"}),s("span",{key:"1c7dae8d54e168682d9a1bdb6665951a95df092c"},"Delete Node"))))),this.expandable&&s("div",{key:"d6da1edf62a007534109bc82de4028efc4235912",class:{"list-item-detail-panel":!0,"is-expanded":this.expandedDetail}},s("slot",{key:"6c163928bcb53c29a47d3c56fbfe0ecbfcd5f8c3",name:"detail"})))}};a.style='.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:all 0.2s ease;user-select:none;outline:none;position:relative;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;width:100%;max-width:100%;box-sizing:border-box}.list-item:focus{outline:2px solid rgba(var(--color-primary-rgb, 59, 130, 246), 0.5);outline-offset:-2px}.collapse-icon{font-size:0.75rem;transition:transform 0.2s ease;color:var(--text-muted, #6b7280)}.list-item-icon{font-size:1.25rem;flex-shrink:0;transition:color 0.2s ease}.list-item-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-secondary, #f1f5f9)}.list-item-avatar img{width:100%;height:100%;object-fit:cover}.list-item-image{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-secondary, #f1f5f9)}.list-item-image img{width:100%;height:100%;object-fit:cover}.list-item-sm .list-item-avatar{width:32px;height:32px}.list-item-sm .list-item-image{width:36px;height:36px}.list-item-lg .list-item-avatar{width:48px;height:48px}.list-item-lg .list-item-image{width:64px;height:64px}.skeleton-pulse{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);animation:list-skeleton-shimmer 1.5s infinite;pointer-events:none;z-index:10}.skeleton-text{height:0.8em;background:var(--bg-primary, #e2e8f0);border-radius:4px;width:80%;display:inline-block}.skeleton-text.list-item-sublabel{width:60%;margin-top:4px}.skeleton-circle{background:var(--bg-primary, #e2e8f0);border-radius:50%}.skeleton-rect{background:var(--bg-primary, #e2e8f0);border-radius:8px}@keyframes list-skeleton-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.is-skeleton{pointer-events:none;background:transparent !important;border-color:var(--border-subtle, #f1f5f9) !important;transform:none !important}.list-item-highlight{background:var(--bg-primary, #dcfce7);color:var(--color-success, #166534);padding:0 2px;border-radius:2px;font-weight:700}.list-item-content{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;overflow:hidden}.list-item-label-wrapper{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.list-item-label{font-size:1rem;color:var(--text-secondary, #374151);transition:color 0.2s ease;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-sublabel{font-size:0.875rem;color:var(--text-muted, #6b7280);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-multiline .list-item-content{padding:4px 0}.list-item-multiline .list-item-label{white-space:normal;line-height:1.5;word-wrap:break-word;word-break:break-word}.list-item-multiline .list-item-sublabel{white-space:normal;line-height:1.5;word-wrap:break-word;word-break:break-word}.list-item-action-icon{font-size:1.125rem;flex-shrink:0;padding:4px;border-radius:4px;transition:all 0.2s ease}.list-item-action-icon:hover{background:rgba(0, 0, 0, 0.05)}.list-item-action-icon:active{transform:scale(0.95)}.list-item-sm{padding:8px 12px;gap:8px}.list-item-sm .list-item-icon{font-size:1rem}.list-item-sm .list-item-label{font-size:0.875rem}.list-item-sm .list-item-action-icon{font-size:1rem}.list-item-md{padding:12px 16px;gap:12px}.list-item-lg{padding:16px 20px;gap:14px}.list-item-lg .list-item-icon{font-size:1.5rem}.list-item-lg .list-item-label{font-size:1.125rem}.list-item-lg .list-item-action-icon{font-size:1.25rem}.list-item-dense{padding:6px 12px;gap:8px}.list-item-dense .list-item-label{font-size:0.875rem}.list-item-text{background:transparent}.list-item-text:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(0, 0, 0, 0.04)}.list-item-filled{background:var(--bg-primary, #ffffff);border:1px solid var(--border-default, #e5e7eb);margin-bottom:2px;border-radius:6px}.list-item-filled:hover:not(.list-item-disabled):not(.list-item-readonly){background:var(--bg-primary, #f9fafb);border-color:var(--border-strong, #d1d5db)}.list-item-filled.list-item-primary{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.05);border-color:rgba(var(--color-success-rgb, 61, 205, 88), 0.2)}.list-item-filled.list-item-primary:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-success-rgb, 61, 205, 88), 0.1)}.list-item-filled.list-item-secondary{background:rgba(107, 114, 128, 0.05);border-color:rgba(107, 114, 128, 0.2)}.list-item-filled.list-item-secondary:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(107, 114, 128, 0.1)}.list-item-filled.list-item-success{background:rgba(22, 163, 74, 0.05);border-color:rgba(22, 163, 74, 0.2)}.list-item-filled.list-item-success:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(22, 163, 74, 0.1)}.list-item-filled.list-item-danger{background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.05);border-color:rgba(var(--color-danger-rgb, 220, 38, 38), 0.2)}.list-item-filled.list-item-danger:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.1)}.list-item-filled.list-item-warning{background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.05);border-color:rgba(var(--color-warning-rgb, 245, 158, 11), 0.2)}.list-item-filled.list-item-warning:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.1)}.list-item-filled.list-item-info{background:rgba(8, 145, 178, 0.05);border-color:rgba(8, 145, 178, 0.2)}.list-item-filled.list-item-info:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(8, 145, 178, 0.1)}.list-item-outlined{background:transparent;border:1px solid var(--border-default, #e5e7eb);margin-bottom:2px;border-radius:6px}.list-item-outlined:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(0, 0, 0, 0.02);border-color:var(--border-strong, #d1d5db)}.list-item-outlined.list-item-primary{border-color:rgba(var(--color-success-rgb, 61, 205, 88), 0.3)}.list-item-outlined.list-item-primary:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-success-rgb, 61, 205, 88), 0.05);border-color:rgba(var(--color-success-rgb, 61, 205, 88), 0.5)}.list-item-outlined.list-item-secondary{border-color:rgba(107, 114, 128, 0.3)}.list-item-outlined.list-item-secondary:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(107, 114, 128, 0.05);border-color:rgba(107, 114, 128, 0.5)}.list-item-outlined.list-item-success{border-color:rgba(22, 163, 74, 0.3)}.list-item-outlined.list-item-success:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(22, 163, 74, 0.05);border-color:rgba(22, 163, 74, 0.5)}.list-item-outlined.list-item-danger{border-color:rgba(var(--color-danger-rgb, 220, 38, 38), 0.3)}.list-item-outlined.list-item-danger:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.05);border-color:rgba(var(--color-danger-rgb, 220, 38, 38), 0.5)}.list-item-outlined.list-item-warning{border-color:rgba(var(--color-warning-rgb, 245, 158, 11), 0.3)}.list-item-outlined.list-item-warning:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.05);border-color:rgba(var(--color-warning-rgb, 245, 158, 11), 0.5)}.list-item-outlined.list-item-info{border-color:rgba(8, 145, 178, 0.3)}.list-item-outlined.list-item-info:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(8, 145, 178, 0.05);border-color:rgba(8, 145, 178, 0.5)}.list-item-soft{background:rgba(0, 0, 0, 0.02);border-radius:6px;margin-bottom:2px}.list-item-soft:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(0, 0, 0, 0.05)}.list-item-soft.list-item-primary{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.08)}.list-item-soft.list-item-primary:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-success-rgb, 61, 205, 88), 0.12)}.list-item-soft.list-item-secondary{background:rgba(107, 114, 128, 0.08)}.list-item-soft.list-item-secondary:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(107, 114, 128, 0.12)}.list-item-soft.list-item-success{background:rgba(22, 163, 74, 0.08)}.list-item-soft.list-item-success:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(22, 163, 74, 0.12)}.list-item-soft.list-item-danger{background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.08)}.list-item-soft.list-item-danger:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.12)}.list-item-soft.list-item-warning{background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.08)}.list-item-soft.list-item-warning:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.12)}.list-item-soft.list-item-info{background:rgba(8, 145, 178, 0.08)}.list-item-soft.list-item-info:hover:not(.list-item-disabled):not(.list-item-readonly){background:rgba(8, 145, 178, 0.12)}.list-item-default .list-item-icon{color:var(--text-muted, #6b7280)}.list-item-primary .list-item-icon{color:var(--color-success, #3dcd58)}.list-item-secondary .list-item-icon{color:var(--text-muted, #6b7280)}.list-item-success .list-item-icon{color:var(--color-success, #16a34a)}.list-item-danger .list-item-icon{color:var(--color-danger-hover, #dc2626)}.list-item-warning .list-item-icon{color:var(--color-warning, #f59e0b)}.list-item-info .list-item-icon{color:var(--color-info-hover, #0891b2)}.list-item-text.list-item-selected.list-item-primary{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.08)}.list-item-text.list-item-selected.list-item-primary .list-item-icon,.list-item-text.list-item-selected.list-item-primary .list-item-label{color:var(--color-success, #3dcd58);font-weight:600}.list-item-text.list-item-selected.list-item-secondary{background:rgba(107, 114, 128, 0.08)}.list-item-text.list-item-selected.list-item-secondary .list-item-icon,.list-item-text.list-item-selected.list-item-secondary .list-item-label{color:var(--text-secondary, #4b5563);font-weight:600}.list-item-text.list-item-selected.list-item-success{background:rgba(22, 163, 74, 0.08)}.list-item-text.list-item-selected.list-item-success .list-item-icon,.list-item-text.list-item-selected.list-item-success .list-item-label{color:var(--color-success, #16a34a);font-weight:600}.list-item-text.list-item-selected.list-item-danger{background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.08)}.list-item-text.list-item-selected.list-item-danger .list-item-icon,.list-item-text.list-item-selected.list-item-danger .list-item-label{color:var(--color-danger-hover, #dc2626);font-weight:600}.list-item-text.list-item-selected.list-item-warning{background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.08)}.list-item-text.list-item-selected.list-item-warning .list-item-icon,.list-item-text.list-item-selected.list-item-warning .list-item-label{color:var(--color-warning-hover, #d97706);font-weight:600}.list-item-text.list-item-selected.list-item-info{background:rgba(8, 145, 178, 0.08)}.list-item-text.list-item-selected.list-item-info .list-item-icon,.list-item-text.list-item-selected.list-item-info .list-item-label{color:var(--color-info-hover, #0891b2);font-weight:600}.list-item-text.list-item-selected.list-item-default{background:rgba(0, 0, 0, 0.05)}.list-item-text.list-item-selected.list-item-default .list-item-label{font-weight:600}.list-item-filled.list-item-selected.list-item-primary{background:var(--bg-primary, #d1fae5);border-color:var(--color-success, #3dcd58)}.list-item-filled.list-item-selected.list-item-primary .list-item-icon,.list-item-filled.list-item-selected.list-item-primary .list-item-label{color:var(--color-success, #009B4E);font-weight:600}.list-item-filled.list-item-selected.list-item-success{background:var(--bg-primary, #dcfce7);border-color:var(--color-success, #16a34a)}.list-item-filled.list-item-selected.list-item-success .list-item-icon,.list-item-filled.list-item-selected.list-item-success .list-item-label{color:var(--color-success, #166534);font-weight:600}.list-item-filled.list-item-selected.list-item-danger{background:var(--bg-primary, #fee2e2);border-color:var(--color-danger-hover, #dc2626)}.list-item-filled.list-item-selected.list-item-danger .list-item-icon,.list-item-filled.list-item-selected.list-item-danger .list-item-label{color:var(--color-danger, #991b1b);font-weight:600}.list-item-outlined.list-item-selected.list-item-primary{border-color:var(--color-success, #3dcd58);border-width:2px}.list-item-outlined.list-item-selected.list-item-primary .list-item-icon,.list-item-outlined.list-item-selected.list-item-primary .list-item-label{color:var(--color-success, #3dcd58);font-weight:600}.list-item-outlined.list-item-selected.list-item-success{border-color:var(--color-success, #16a34a);border-width:2px}.list-item-outlined.list-item-selected.list-item-success .list-item-icon,.list-item-outlined.list-item-selected.list-item-success .list-item-label{color:var(--color-success, #16a34a);font-weight:600}.list-item-soft.list-item-selected.list-item-primary{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.12)}.list-item-soft.list-item-selected.list-item-primary .list-item-icon,.list-item-soft.list-item-selected.list-item-primary .list-item-label{color:var(--color-success, #009B4E);font-weight:600}.list-item-selected{border-radius:8px}.list-item-soft.list-item-selected.list-item-success{background:rgba(22, 163, 74, 0.12);border-radius:8px}.list-item-soft.list-item-selected.list-item-success .list-item-icon,.list-item-soft.list-item-selected.list-item-success .list-item-label{color:var(--color-success, #15803d);font-weight:600}.list-item-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.list-item-readonly{cursor:default}.list-item-divider::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--bg-primary, #e5e7eb)}.list-item-link .list-item-label{text-decoration:none}.list-item-link:hover .list-item-label{text-decoration:underline}.list-item-interactive{cursor:pointer}.list-item:not(.list-item-interactive){cursor:default}.list-item-children{display:flex;flex-direction:column;animation:slideDown 0.2s ease}@keyframes slideDown{from{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.list-item-focused{box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3)}.list-item-hovered:not(.list-item-disabled):not(.list-item-readonly){transform:translateX(2px);border-radius:8px}.list-item-context-menu{position:relative}.list-item-context-menu .list-item-context-icon{font-size:0.875rem;color:var(--text-muted, #9ca3af);margin-left:auto;transition:transform 0.2s ease}.list-item-context-menu.list-item-context-menu-open .list-item-context-icon{transform:rotate(90deg)}.list-item-context-menu:hover .list-item-context-icon{color:var(--text-muted, #6b7280)}.context-menu{min-width:200px;background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);padding:8px 0;animation:contextMenuFadeIn 0.15s ease-out;overflow:hidden;max-height:400px;overflow-y:auto}.context-menu ::slotted(ui-list-item){margin:0;border-radius:0}.context-menu::-webkit-scrollbar{width:6px}.context-menu::-webkit-scrollbar-track{background:transparent}.context-menu::-webkit-scrollbar-thumb{background:var(--bg-secondary, #d1d5db);border-radius:3px}.context-menu::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #9ca3af)}@keyframes contextMenuFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.context-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:transparent}.list-item-checkbox{display:flex;align-items:center;cursor:pointer;margin-right:4px}.list-item-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.list-item-checkbox .checkbox-icon{font-size:1.25rem;color:var(--text-muted, #9ca3af);transition:all 0.2s ease}.list-item-checkbox:hover .checkbox-icon{color:var(--text-muted, #6b7280)}.list-item-checked .checkbox-icon{color:var(--color-success, #3dcd58) !important}.list-item-disabled .list-item-checkbox,.list-item-readonly .list-item-checkbox{cursor:not-allowed;opacity:0.5}.list-item-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:0.75rem;font-weight:600;line-height:1;white-space:nowrap}.list-item-badge.badge-default{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #374151)}.list-item-badge.badge-primary{background:var(--bg-primary, #d1fae5);color:var(--color-success, #009B4E)}.list-item-badge.badge-secondary{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #4b5563)}.list-item-badge.badge-success{background:var(--bg-primary, #d1fae5);color:var(--color-primary, #065f46)}.list-item-badge.badge-danger{background:var(--bg-primary, #fee2e2);color:var(--color-danger, #991b1b)}.list-item-badge.badge-warning{background:var(--bg-primary, #fef3c7);color:var(--color-danger, #92400e)}.list-item-badge.badge-info{background:var(--bg-primary, #e0f2fe);color:var(--color-primary, #075985)}.list-item-counter{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-success, #3dcd58);color:var(--text-standard, #ffffff);font-size:0.75rem;font-weight:600;line-height:1;margin-left:auto;flex-shrink:0}.list-item-right{display:flex;align-items:center;flex-direction:column;gap:6px;margin-left:auto;flex-shrink:0;max-width:50%;overflow:hidden}.list-item-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.list-item-pills::-webkit-scrollbar{height:4px}.list-item-pills::-webkit-scrollbar-thumb{background:var(--bg-secondary, #d1d5db);border-radius:2px}.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:0.75rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;flex-shrink:0}.pill i{font-size:0.75rem}.pill:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.pill:active{transform:translateY(0)}.pill.pill-default{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #374151)}.pill.pill-default:hover{background:var(--bg-primary, #e5e7eb)}.pill.pill-primary{background:var(--bg-primary, #d1fae5);color:var(--color-success, #009B4E)}.pill.pill-primary:hover{background:var(--color-success, #a7f3d0)}.pill.pill-secondary{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #4b5563)}.pill.pill-secondary:hover{background:var(--bg-primary, #e5e7eb)}.pill.pill-success{background:var(--bg-primary, #d1fae5);color:var(--color-primary, #065f46)}.pill.pill-success:hover{background:var(--color-success, #a7f3d0)}.pill.pill-danger{background:var(--bg-primary, #fee2e2);color:var(--color-danger, #991b1b)}.pill.pill-danger:hover{background:var(--color-danger, #fecaca)}.pill.pill-warning{background:var(--bg-primary, #fef3c7);color:var(--color-danger, #92400e)}.pill.pill-warning:hover{background:var(--color-primary, #fde68a)}.pill.pill-info{background:var(--bg-primary, #e0f2fe);color:var(--color-primary, #075985)}.pill.pill-info:hover{background:var(--color-primary, #bae6fd)}.list-item-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.list-item-tags::-webkit-scrollbar{height:4px}.list-item-tags::-webkit-scrollbar-thumb{background:var(--bg-secondary, #d1d5db);border-radius:2px}.tag{display:inline-flex;align-items:center;padding:2px 8px;background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #6b7280);border-radius:4px;font-size:0.75rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;flex-shrink:0}.tag:hover{background:var(--bg-primary, #e5e7eb);color:var(--text-secondary, #374151)}.tag:active{transform:scale(0.95)}.list-item-sm .list-item-checkbox .checkbox-icon{font-size:1rem}.list-item-sm .list-item-badge{font-size:0.625rem;padding:1px 6px}.list-item-sm .list-item-counter{min-width:16px;height:16px;font-size:0.625rem}.list-item-sm .pill{padding:2px 8px;font-size:0.625rem}.list-item-sm .tag{padding:1px 6px;font-size:0.625rem}.list-item-sm .list-item-sublabel{font-size:0.75rem}.list-item-lg .list-item-checkbox .checkbox-icon{font-size:1.5rem}.list-item-lg .list-item-badge{font-size:0.875rem;padding:3px 10px}.list-item-lg .list-item-counter{min-width:24px;height:24px;font-size:0.875rem}.list-item-lg .pill{padding:6px 12px;font-size:0.875rem}.list-item-lg .tag{padding:3px 10px;font-size:0.875rem}.list-item-lg .list-item-sublabel{font-size:1rem}.list-item-left-media{display:flex;align-items:center;gap:inherit;flex-shrink:0}.list-item-right-media{display:flex;align-items:center;gap:inherit;flex-shrink:0;margin-left:12px}.list-item-avatar-right .list-item-counter,.list-item-avatar-right .list-item-action-icon,.list-item-avatar-right .list-item-context-icon{margin-left:8px}.list-item-avatar-right .list-item-right-media{margin-left:auto}.list-item.list-item-selection-primary.list-item-selected{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.12) !important;border-color:var(--color-success, #3dcd58) !important}.list-item.list-item-selection-primary.list-item-selected .list-item-label{color:var(--color-success, #009B4E) !important}.list-item.list-item-selection-primary.list-item-selected .list-item-icon{color:var(--color-success, #009B4E) !important}.list-item.list-item-selection-secondary.list-item-selected{background:rgba(107, 114, 128, 0.12) !important;border-color:var(--color-primary, #6b7280) !important}.list-item.list-item-selection-secondary.list-item-selected .list-item-label{color:var(--color-primary, #4b5563) !important}.list-item.list-item-selection-secondary.list-item-selected .list-item-icon{color:var(--color-primary, #4b5563) !important}.list-item.list-item-selection-success.list-item-selected{background:rgba(22, 163, 74, 0.12) !important;border-color:var(--color-success, #16a34a) !important}.list-item.list-item-selection-success.list-item-selected .list-item-label{color:var(--color-success, #15803d) !important}.list-item.list-item-selection-success.list-item-selected .list-item-icon{color:var(--color-success, #15803d) !important}.list-item.list-item-selection-danger.list-item-selected{background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.12) !important;border-color:var(--color-danger-hover, #dc2626) !important}.list-item.list-item-selection-danger.list-item-selected .list-item-label{color:var(--color-danger, #991b1b) !important}.list-item.list-item-selection-danger.list-item-selected .list-item-icon{color:var(--color-danger, #991b1b) !important}.list-item.list-item-selection-warning.list-item-selected{background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.12) !important;border-color:var(--color-warning, #f59e0b) !important}.list-item.list-item-selection-warning.list-item-selected .list-item-label{color:var(--color-danger, #92400e) !important}.list-item.list-item-selection-warning.list-item-selected .list-item-icon{color:var(--color-danger, #92400e) !important}.list-item.list-item-selection-info.list-item-selected{background:rgba(8, 145, 178, 0.12) !important;border-color:var(--color-info-hover, #0891b2) !important}.list-item.list-item-selection-info.list-item-selected .list-item-label{color:var(--color-primary, #075985) !important}.list-item.list-item-selection-info.list-item-selected .list-item-icon{color:var(--color-primary, #075985) !important}.list-item.list-item-hover-primary:hover:not(.list-item-selected):not(.list-item-disabled){background:rgba(var(--color-success-rgb, 61, 205, 88), 0.05) !important}.list-item.list-item-hover-secondary:hover:not(.list-item-selected):not(.list-item-disabled){background:rgba(107, 114, 128, 0.05) !important}.list-item.list-item-hover-success:hover:not(.list-item-selected):not(.list-item-disabled){background:rgba(22, 163, 74, 0.05) !important}.list-item.list-item-hover-danger:hover:not(.list-item-selected):not(.list-item-disabled){background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.05) !important}.list-item.list-item-hover-warning:hover:not(.list-item-selected):not(.list-item-disabled){background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.05) !important}.list-item.list-item-hover-info:hover:not(.list-item-selected):not(.list-item-disabled){background:rgba(8, 145, 178, 0.05) !important}.list-item-lock-icon{font-size:0.875rem;color:var(--text-muted, #9ca3af);margin-left:12px;flex-shrink:0}.list-item-menu-icon{font-size:1rem;color:var(--text-muted, #6b7280);margin-left:8px;padding:6px;border-radius:6px;transition:all 0.2s ease;flex-shrink:0;cursor:pointer}.list-item-menu-icon:hover{background:rgba(0, 0, 0, 0.08);color:var(--text-primary, #1f2937)}.list-item-menu-icon:active{transform:scale(0.9)}.list-item-locked{cursor:default !important}.list-item-locked .list-item-label{color:var(--text-muted, #9ca3af) !important}.list-item-locked .list-item-icon{opacity:0.5}.list-item-locked:hover{transform:none !important;background:transparent !important}.swipe-actions-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;z-index:-1;overflow:hidden;border-radius:inherit}.swipe-action{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-standard, #ffffff);transition:opacity 0.2s ease}.swipe-action ui-icon{font-size:1.5rem}.swipe-action.left{justify-content:flex-start;padding-left:24px;background-color:var(--color-success, #10b981)}.swipe-action.right{justify-content:flex-end;padding-right:24px;background-color:var(--color-danger, #ef4444)}.bg-success{background-color:var(--color-success, #10b981)}.bg-danger{background-color:var(--color-danger, #ef4444)}.bg-warning{background-color:var(--color-warning, #f59e0b)}.bg-info{background-color:var(--color-primary, #10b981)}.bg-primary{background-color:var(--color-success, #3dcd58)}.list-item[style*=transform]{transition:transform 0.1s ease-out}.list-item-grid{flex-direction:column !important;align-items:center !important;text-align:center;padding:24px 16px !important;border:1px solid var(--border-subtle, #f1f5f9);border-radius:16px !important;background:var(--bg-primary, #ffffff);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.05)}.list-item-grid:hover{transform:translateY(-4px) !important;box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);border-color:var(--color-primary, #10b981)}.list-item-grid .list-item-avatar,.list-item-grid .list-item-image{width:64px !important;height:64px !important;margin-bottom:16px}.list-item-grid .list-item-content{align-items:center;width:100%}.list-item-grid .list-item-label{font-size:1.125rem;font-weight:700}.list-item-grid .list-item-collaborators{margin-top:12px}.list-item-tree-lines{position:relative}.list-item-tree-lines::before{content:"";position:absolute;left:26px;top:-12px;bottom:50%;width:2px;background:var(--color-primary, #cbd5e1)}.list-item-tree-lines::after{content:"";position:absolute;left:26px;top:50%;width:16px;height:2px;background:var(--color-primary, #cbd5e1);border-radius:0 2px 2px 0}.list-item-collaborators{display:flex;align-items:center;margin-top:4px}.list-item.focused-item{outline:2px solid var(--color-primary, #10b981);outline-offset:-2px;background:var(--bg-primary, #eff6ff)}.list-item-avatar-container{position:relative;display:inline-flex}.list-item-status{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary, #ffffff);z-index:2}.list-item-status.pos-bottom-right{bottom:0;right:0}.list-item-status.pos-top-right{top:0;right:0}.list-item-status.status-online{background:var(--color-success, #10b981)}.list-item-status.status-busy{background:var(--color-danger, #ef4444)}.list-item-status.status-away{background:var(--color-warning, #f59e0b)}.list-item-status.status-offline{background:var(--color-primary, #94a3b8)}.list-item-status.status-online::after{content:"";position:absolute;width:100%;height:100%;background:inherit;border-radius:50%;animation:pulseStatus 2s infinite;opacity:0.6;left:0;top:0}@keyframes pulseStatus{0%{transform:scale(1);opacity:0.6}100%{transform:scale(3);opacity:0}}.list-item-progress-container{display:flex;align-items:center;gap:8px;margin-top:6px;width:100%}.list-item-progress-container .list-item-progress-bar{height:4px;background:var(--color-primary, #10b981);border-radius:2px;transition:width 0.3s ease}.list-item-progress-container .list-item-progress-text{font-size:10px;font-weight:700;color:var(--text-muted, #64748b)}.list-item-star-icon{font-size:0.875rem;color:var(--color-primary, #cbd5e1);margin-right:8px;cursor:pointer;transition:all 0.2s}.list-item-star-icon:hover{color:var(--color-primary, #94a3b8);transform:scale(1.1)}.list-item-star-icon.is-starred{color:var(--color-warning, #f59e0b) !important}.list-item-expandable-section{width:100%;background:var(--bg-primary, #f8fafc);overflow:hidden;border-top:1px solid var(--border-subtle, #f1f5f9);animation:expandDetail 0.4s cubic-bezier(0.4, 0, 0.2, 1)}.list-item-expandable-section .expandable-detail-content{padding:16px 24px 16px 56px}@keyframes expandDetail{from{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.list-item-media-avatar-group{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0}.list-item-right-collaborators{display:flex;align-items:center;margin-left:auto;margin-right:12px}.is-wobbling{animation:wobbleNo 0.4s ease-in-out}@keyframes wobbleNo{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}.list-item-pulse{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 rgba(var(--color-danger-rgb, 239, 68, 68), 0);animation:etherealPulse 2s infinite;z-index:1}@keyframes etherealPulse{0%{box-shadow:0 0 0 0 rgba(var(--color-danger-rgb, 239, 68, 68), 0.4)}70%{box-shadow:0 0 0 12px rgba(var(--color-danger-rgb, 239, 68, 68), 0)}100%{box-shadow:0 0 0 0 rgba(var(--color-danger-rgb, 239, 68, 68), 0)}}.presence-halo{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-primary, #ffffff);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.presence-halo.presence-blue{background:var(--color-primary, #10b981)}.presence-halo.presence-purple{background:var(--color-primary, #a855f7)}.list-item-density-compact{padding-top:4px !important;padding-bottom:4px !important;min-height:40px}.list-item-density-compact .list-item-sublabel,.list-item-density-compact .list-item-tags,.list-item-density-compact .list-item-progress-container{display:none}.list-item-density-compact .list-item-avatar-container,.list-item-density-compact ui-avatar{transform:scale(0.8)}.list-item-density-cozy{padding-top:20px !important;padding-bottom:20px !important}.list-item-density-cozy .list-item-label{font-size:1.1rem;font-weight:700;color:var(--text-primary, #0f172a)}.list-item-density-cozy .list-item-avatar-container,.list-item-density-cozy ui-avatar{transform:scale(1.15)}';export{o as ui_list_group,a as ui_list_item}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,a as i,h as e}from"./p-DUsoYu9r.js";import{g as s}from"./p-BMFah5q3.js";import{G as n}from"./p-vwwmWKs9.js";const o=t=>JSON.stringify(t),r=t=>JSON.parse(t);class a{state;constructor(t){this.state=t||a.emptyLayout()}static emptyLayout(){return{version:1,root:{id:"root",type:"row",children:[]},floating:[]}}findPanel(t,i=this.state.root){for(let e=0;e<i.children.length;e++){const s=i.children[e];if("panel"===s.type&&s.id===t)return{parent:i,index:e};if(s.children){const i=this.findPanel(t,s);if(i)return i}}return null}addPanel(t,i){const e={...t,id:t.id||`p_${Date.now()}`,type:"panel"};let s=i?this.findContainer(i):null;if(!s){const t=i=>{if(["row","column","tabs"].includes(i.type))return i;for(const e of i.children)if(e.children){const i=t(e);if(i)return i}return null};s=t(this.state.root)}if(s){if("single"===s.type&&s.children.length>0)return console.warn(`Container ${s.id} is 'single' and already has a panel. Rejecting add.`),null;s.children.push(e)}else this.state.root.children.push(e);return n.emit("panel:added",e),e.id}removePanel(t){const i=this.findPanel(t);if(!i||!i.parent)return!1;const e=i.parent.children.splice(i.index,1)[0];return n.emit("panel:removed",e),!0}resizePanel(t,i,e){const s=this.findContainer(t);if(!s||!s.children||s.children.length<=i+1)return;const o=s.children[i],r=s.children[i+1];o.size||(o.size=50),r.size||(r.size=50);const a=.1*e;o.size+=a,r.size-=a,o.size<5&&(o.size=5),r.size<5&&(r.size=5),n.emit("layout:updated",this.state)}setActiveTab(t,i){const e=this.findContainer(t);e&&"tabs"===e.type&&(e.activeTabId=i,n.emit("layout:updated",this.state))}findContainer(t,i=this.state.root){if(i.id===t)return i;for(const e of i.children)if(e.children){const i=this.findContainer(t,e);if(i)return i}return null}save(){return JSON.parse(JSON.stringify(this.state))}load(t){this.state=t,n.emit("layout:loaded",t),n.emit("layout:updated",this.state)}splitPanel(t,i,e){const s=this.findPanel(t);if(!s||!s.parent)return!1;const{parent:o,index:r}=s,a=o.children[r],l={...e,id:e.id||`p_${Date.now()}`,type:"panel"},h="horizontal"===i?"row":"column",c=(a.size||100)/2;if(a.size=c,l.size=c,o.type===h)o.children.splice(r+1,0,l);else{const t={id:`c_${Date.now()}`,type:h,children:[a,l]};o.children.splice(r,1,t)}return this.rebalanceSizes(o),n.emit("layout:updated",this.state),n.emit("panel:added",l),l.id}getPanelState(t,i=this.state.root){const e=this.findPanel(t,i);return e?e.parent.children[e.index]:null}movePanel(t,i,e){const s=this.findPanel(t);if(!s||!s.parent)return!1;const o=s.parent.children.splice(s.index,1)[0],r=this.findContainer(i);if(!r){const t=this.findPanel(i);return!!t&&(t.parent.children.splice(t.index+1,0,o),this.cleanupContainers(this.state.root),n.emit("layout:updated",this.state),!0)}return"number"==typeof e?r.children.splice(e,0,o):r.children.push(o),this.cleanupContainers(this.state.root),n.emit("panel:moved",o,i),n.emit("layout:updated",this.state),!0}mergePanel(t,i){const e=this.getPanelState(t),s=this.findContainer(i);if(s&&"tabs"===s.type)return this.movePanel(t,i);const o=this.findPanel(i);if(o){const{parent:i,index:s}=o,r=i.children[s];this.removePanel(t);const a={id:`c_tabs_${Date.now()}`,type:"tabs",children:[r,{...e,id:t}]};return i.children.splice(s,1,a),this.cleanupContainers(this.state.root),n.emit("layout:updated",this.state),!0}return!1}cleanupContainers(t){t.children=t.children.filter((t=>!t.children||(this.cleanupContainers(t),t.children.length>0))),this.rebalanceSizes(t)}rebalanceSizes(t){if(!t.children||0===t.children.length)return;const i=t.children.filter((t=>!t.size));if(i.length>0){const e=t.children.reduce(((t,i)=>t+(i.size||0)),0),s=Math.max(0,100-e)/i.length;i.forEach((t=>t.size=s))}const e=t.children.reduce(((t,i)=>t+(i.size||0)),0);e>0&&Math.abs(e-100)>.1&&t.children.forEach((t=>t.size=t.size/e*100))}collapsePanel(t){const i=this.getPanelState(t);return!(!i||i.collapsed||(i.collapsed=!0,n.emit("layout:updated",this.state),0))}expandPanel(t){const i=this.getPanelState(t);return!(!i||!i.collapsed||(i.collapsed=!1,n.emit("layout:updated",this.state),0))}}const l=class{constructor(i){t(this,i)}get el(){return i(this)}initialLayout;layout;engine;isDragging=!1;draggedPanelId=null;dropIndicator=null;currentDropTargetId=null;currentDropIndex=null;componentWillLoad(){if(this.initialLayout)try{const t=r(this.initialLayout);this.engine=new a(t)}catch(t){console.warn("Invalid initial layout, using empty layout",t),this.engine=new a}else this.engine=new a;this.layout=this.engine.save(),n.on("panel:dragstart",(t=>{this.isDragging=!0,this.draggedPanelId=t.panelId,document.addEventListener("mousemove",this.onGlobalMouseMove),document.addEventListener("mouseup",this.onGlobalMouseUp)})),n.on("splitter:drag",(t=>{const i=this.engine.findContainer(t.containerId);let e=0;i&&("row"===i.type||"horizontal"===i.type?e=t.dx:"column"!==i.type&&"vertical"!==i.type||(e=t.dy),0!==e&&(this.engine.resizePanel(t.containerId,t.index,e),this.layout=this.engine.save()))})),n.on("tab:changed",(t=>{this.engine.setActiveTab(t.containerId,t.tabId),this.layout=this.engine.save()})),n.on("panel:closed",(t=>{this.engine.removePanel(t),this.layout=this.engine.save()})),n.on("layout:updated",(()=>{this.layout=this.engine.save()})),window.LayoutEventBus=n}resizeObserver;componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>{this.checkAutoCollapse()})),this.resizeObserver.observe(this.el))}disconnectedCallback(){this.resizeObserver&&this.resizeObserver.disconnect(),document.removeEventListener("mousemove",this.onGlobalMouseMove),document.removeEventListener("mouseup",this.onGlobalMouseUp)}checkAutoCollapse(){this.el&&Array.from(this.el.querySelectorAll(".lm-panel")).forEach((t=>{const i=t.getAttribute("data-id"),e=this.engine.getPanelState(i);if(!e||!e.collapsible||e.collapsed)return;const s=t.getBoundingClientRect();(s.width<(e.minWidth||100)||s.height<(e.minHeight||100))&&(this.engine.collapsePanel(i),this.layout=this.engine.save())}))}async addPanel(t){const i=this.engine.addPanel(t);return this.layout=this.engine.save(),i}async removePanel(t){const i=this.engine.removePanel(t);return this.layout=this.engine.save(),i}async saveLayout(){return o(this.engine.save())}async loadLayout(t){const i=r(t);return this.engine.load(i),this.layout=this.engine.save(),!0}async splitPanel(t,i,e){const s=this.engine.splitPanel(t,i,e);return s?(this.layout=this.engine.save(),s):null}getIndicatorStyle(){if(!this.dropIndicator)return{};const{rect:t,zone:i}=this.dropIndicator,e=s(this.el),n={position:"fixed",pointerEvents:"none",zIndex:"10000",background:"rgba(59, 130, 246, 0.3)",border:"2px solid #3bf673",transition:"all 0.1s ease-out",borderRadius:"4px"},o=t.left-e.x,r=t.top-e.y,a=t.width,l=t.height;switch(i){case"left":n.left=`${o}px`,n.top=`${r}px`,n.width=a/2+"px",n.height=`${l}px`;break;case"right":n.left=`${o+a/2}px`,n.top=`${r}px`,n.width=a/2+"px",n.height=`${l}px`;break;case"top":n.left=`${o}px`,n.top=`${r}px`,n.width=`${a}px`,n.height=l/2+"px";break;case"bottom":n.left=`${o}px`,n.top=`${r+l/2}px`,n.width=`${a}px`,n.height=l/2+"px";break;case"root-left":n.left=`${o}px`,n.top=`${r}px`,n.width="40px",n.height=`${l}px`;break;case"root-right":n.left=o+a-40+"px",n.top=`${r}px`,n.width="40px",n.height=`${l}px`;break;case"root-top":n.left=`${o}px`,n.top=`${r}px`,n.width=`${a}px`,n.height="40px";break;case"root-bottom":n.left=`${o}px`,n.top=r+l-40+"px",n.width=`${a}px`,n.height="40px";break;default:n.left=`${o}px`,n.top=`${r}px`,n.width=`${a}px`,n.height=`${l}px`}return n}onGlobalMouseMove=t=>{if(!this.isDragging)return;const i=this.el.getBoundingClientRect(),e=t.clientX-i.left,s=t.clientY-i.top;let n=null;if(e<30?n="root-left":e>i.width-30?n="root-right":s<30?n="root-top":s>i.height-30&&(n="root-bottom"),n)return this.currentDropTargetId="root",void(this.dropIndicator={rect:i,zone:n});const o=document.elementsFromPoint(t.clientX,t.clientY).find((t=>t.classList.contains("lm-panel")||t.classList.contains("lm-container")||t.classList.contains("lm-tabs")));if(o){let i=o.getAttribute("data-id");const e=o.getBoundingClientRect();if(o.classList.contains("lm-tabs")){const i=o.querySelector(".lm-tab-list");if(i){const s=Array.from(i.querySelectorAll(".lm-tab"));let n=s.length;return s.forEach(((i,e)=>{const o=i.getBoundingClientRect();t.clientX<o.left+o.width/2&&n===s.length&&(n=e)})),this.currentDropTargetId=o.getAttribute("data-id"),this.currentDropIndex=n,void(this.dropIndicator={rect:e,zone:"center",index:n})}}if(i===this.draggedPanelId)return this.dropIndicator=null,void(this.currentDropTargetId=null);const s=(t.clientX-e.left)/e.width,n=(t.clientY-e.top)/e.height;let r="center";s<.25?r="left":s>.75?r="right":n<.25?r="top":n>.85&&(r="bottom"),this.currentDropTargetId=i,this.currentDropIndex=null,this.dropIndicator={rect:e,zone:r}}else this.dropIndicator=null,this.currentDropTargetId=null,this.currentDropIndex=null};onGlobalMouseUp=()=>{if(this.isDragging&&this.draggedPanelId&&this.currentDropTargetId){const t=this.dropIndicator?.zone,i=this.currentDropTargetId,e=this.draggedPanelId;if("center"===t)if(e.startsWith("new:")){const t=e.split(":")[1],s=`p_${Date.now()}`;this.engine.addPanel({id:s,title:t,content:`Content for ${t}`}),null!==this.currentDropIndex?this.engine.movePanel(s,i,this.currentDropIndex):this.engine.mergePanel(s,i)}else null!==this.currentDropIndex?this.engine.movePanel(e,i,this.currentDropIndex):this.engine.mergePanel(e,i);else if(t.startsWith("root-")){const i="root-left"===t||"root-right"===t?"horizontal":"vertical";let s;if(e.startsWith("new:")){const t=e.split(":")[1];s={id:`p_${Date.now()}`,title:t,content:`Content for ${t}`}}else s=this.engine.getPanelState(e),this.engine.removePanel(e);s&&this.engine.splitPanel(this.layout.root.id,i,s)}else if(t){const s="left"===t||"right"===t?"horizontal":"vertical";let n;if(e.startsWith("new:")){const t=e.split(":")[1];n={id:`p_${Date.now()}`,title:t,content:`New ${t}`}}else n=this.engine.getPanelState(e),this.engine.removePanel(e);n&&this.engine.splitPanel(i,s,n)}this.layout=this.engine.save()}this.isDragging=!1,this.draggedPanelId=null,this.dropIndicator=null,document.removeEventListener("mousemove",this.onGlobalMouseMove),document.removeEventListener("mouseup",this.onGlobalMouseUp)};render(){return e("div",{key:"f569e28b4534614afdb516bf769ad888c11b103f",class:"lm-root"},e("lm-container",{key:"fd8a5616176a28a3da539012d2e683f5216209fb",node:this.layout.root}),this.dropIndicator&&e("div",{key:"27e38072647723cba399914c9f1684dc9ea62de5",class:`lm-drop-indicator ${this.dropIndicator.zone}`,style:this.getIndicatorStyle()}),e("div",{key:"dfc23cda195b1b5ef6096c2fb76f52a0fd57cd3f",class:"lm-floating"},this.layout.floating.map((t=>e("lm-floating-window",{"panel-id":t.id})))))}};l.style=".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.lm-root{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;position:relative}.lm-floating{position:absolute;top:0;left:0;width:0;height:0;z-index:9999}";export{l as layout_manager}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as i}from"./p-DUsoYu9r.js";import{s as o}from"./p-D2WzX6vR.js";const r=class{constructor(i){t(this,i),this.valueChange=e(this,"valueChange"),this.runCode=e(this,"runCode")}value="";language="javascript";theme="vs-dark";readonly=!1;lineNumbers=!0;toolbar=!1;toolbarLabelDisplay="hover";toolbarGroups=["all"];tabs=[];valueChange;runCode;highlightedCode="";lineCount=1;statusStats={line:1,col:1,selected:0};showSearch=!1;searchQuery="";showPalette=!1;paletteQuery="";showHelp=!1;activeTabIndex=0;unfoldedLines=new Set;foldedLines=new Set;lintErrors=[];activeToolbarTab="home";fontSize=14;showLineNumbers=!0;showMinimap=!0;showSidebar=!0;showBottomPanel=!0;activeSidebarTab="files";activeBottomTab="terminal";activeFileIndex=0;files=[{name:"index.js",language:"javascript",content:"// Welcome to the IDE\n// Start coding here..."},{name:"styles.css",language:"css",content:"/* Add your styles here */\nbody {\n margin: 0;\n}"},{name:"index.html",language:"html",content:"<!DOCTYPE html>\n<html>\n<body>\n <h1>Hello</h1>\n</body>\n</html>"}];terminalLogs=[{type:"info",text:"IDE Terminal initialized.",time:(new Date).toLocaleTimeString()}];suggestions=[];suggestionIndex=0;showSuggestions=!1;suggestionPos={top:0,left:0};textarea;pre;lineNumbersRef;minimapRef;minimapViewport;searchInput;paletteInput;charWidth=8.4;lineHeight=21;keywords={javascript:["function","return","const","let","var","import","export","class","if","else","for","while","switch","case","break","continue","true","false","null","undefined","console","log","document","window","async","await","try","catch","throw","new","this","super","typeof","instanceof","void","delete","in","of"],python:["def","class","return","if","elif","else","for","while","try","except","finally","import","from","as","pass","break","continue","True","False","None","print","with","yield","lambda","global","nonlocal","raise","assert"],html:["div","span","h1","h2","h3","p","a","button","input","form","img","ul","li","script","style","head","body","html","meta","link","title","header","footer","nav","main","section","article","aside"],css:["color","background","border","margin","padding","width","height","display","flex","grid","font-size","position","top","left","right","bottom","opacity","z-index","transform","transition","animation","justify-content","align-items"],java:["public","private","protected","class","interface","extends","implements","void","int","double","String","boolean","if","else","for","while","return","new","this","super","try","catch","finally","throw","throws","package","import","static","final"],csharp:["public","private","protected","class","interface","void","int","string","bool","if","else","for","while","return","new","this","var","namespace","using","static","readonly","async","await"]};commands=[{id:"theme-toggle",label:"Toggle Theme (Dark/Light)",action:()=>this.toggleTheme()},{id:"minimap-toggle",label:"Toggle Minimap",action:()=>this.showMinimap=!this.showMinimap},{id:"line-nums-toggle",label:"Toggle Line Numbers",action:()=>this.showLineNumbers=!this.showLineNumbers},{id:"format",label:"Format Document (Simple Indent)",action:()=>this.simpleFormat()},{id:"clear",label:"Clear Code",action:()=>{this.value="",this.valueChange.emit("")}},{id:"copy",label:"Copy to Clipboard",action:()=>this.handleCopy()},{id:"fold-all",label:"Fold All",action:()=>this.foldAll()},{id:"unfold-all",label:"Unfold All",action:()=>this.unfoldAll()},{id:"undo",label:"Undo",action:()=>document.execCommand("undo")},{id:"redo",label:"Redo",action:()=>document.execCommand("redo")}];componentWillLoad(){this.highlightCode(),this.updateLineCount(),this.runLinting()}componentDidLoad(){this.measureChar(),this.tabs.length>0&&this.handleTabClick(0)}measureChar(){if(!this.pre)return;const t=document.createElement("span");t.textContent="M",t.style.visibility="hidden",this.pre.appendChild(t);const e=t.getBoundingClientRect();this.charWidth=e.width,this.lineHeight=e.height,this.pre.removeChild(t)}valueChanged(){this.highlightCode(),this.updateLineCount(),this.runLinting()}languageChanged(){this.highlightCode(),this.runLinting()}tabsChanged(){this.tabs.length>0&&this.activeTabIndex>=this.tabs.length&&this.handleTabClick(0)}searchQueryChanged(){this.highlightCode()}executeCode(){if("javascript"===this.language||"json"===this.language)try{const t=[],e={log:(...e)=>t.push({type:"info",text:e.map((t=>"object"==typeof t?JSON.stringify(t):String(t))).join(" ")}),error:(...e)=>t.push({type:"error",text:e.join(" ")}),warn:(...e)=>t.push({type:"warn",text:e.join(" ")})};return new Function("console",this.value)(e),t.length>0?t:[{type:"info",text:"(Success: No output)"}]}catch(t){return[{type:"error",text:`Runtime Error: ${t.message}`}]}return[{type:"info",text:`Simulation for ${this.language} complete. (Code execution restricted to JS)`}]}handleInput=t=>{this.value=t.target.value,this.valueChange.emit(this.value),this.checkSuggestions()};checkSuggestions(){if(!this.textarea)return;const{selectionStart:t,value:e}=this.textarea;let i=t-1;for(;i>=0&&/[\w]/.test(e[i]);)i--;const o=e.substring(i+1,t);if(o.length<1)return void(this.showSuggestions=!1);const r=(this.keywords[this.language]||[]).filter((t=>t.toLowerCase().startsWith(o.toLowerCase())&&t!==o));if(r.length>0){this.suggestions=r,this.suggestionIndex=0,this.showSuggestions=!0;const i=e.substring(0,t).split("\n");this.suggestionPos={top:i.length*this.lineHeight-this.textarea.scrollTop+5,left:i[i.length-1].length*this.charWidth-this.textarea.scrollLeft+10}}else this.showSuggestions=!1}acceptSuggestion(t){if(!this.textarea)return;const{selectionStart:e,value:i}=this.textarea;let o=e-1;for(;o>=0&&/[\w]/.test(i[o]);)o--;o++;const r=i.substring(0,o)+t+i.substring(e);this.value=r,this.valueChange.emit(r),this.showSuggestions=!1,requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=o+t.length,this.highlightCode(),this.textarea.focus()}))}handleScroll=()=>{if(this.textarea&&this.pre){const{scrollTop:t,scrollLeft:e}=this.textarea;if(this.pre.scrollTop=t,this.pre.scrollLeft=e,this.minimapRef&&(this.minimapRef.scrollTop=t/(this.textarea.scrollHeight-this.textarea.clientHeight)*(this.minimapRef.scrollHeight-this.minimapRef.clientHeight),this.minimapViewport)){const e=this.textarea.clientHeight/this.textarea.scrollHeight;this.minimapViewport.style.top=t/this.textarea.scrollHeight*100+"%",this.minimapViewport.style.height=100*e+"%"}}this.lineNumbersRef&&this.textarea&&(this.lineNumbersRef.scrollTop=this.textarea.scrollTop)};handleKeydown=t=>{const e=t.ctrlKey||t.metaKey;if(e&&t.shiftKey&&("p"===t.key||"P"===t.key))return t.preventDefault(),void this.togglePalette();if(e&&"f"===t.key)return t.preventDefault(),void this.toggleSearch();if(this.showSuggestions){if("ArrowDown"===t.key)return t.preventDefault(),void(this.suggestionIndex=(this.suggestionIndex+1)%this.suggestions.length);if("ArrowUp"===t.key)return t.preventDefault(),void(this.suggestionIndex=(this.suggestionIndex-1+this.suggestions.length)%this.suggestions.length);if("Enter"===t.key||"Tab"===t.key)return t.preventDefault(),void this.acceptSuggestion(this.suggestions[this.suggestionIndex]);if("Escape"===t.key)return void(this.showSuggestions=!1)}if("Tab"===t.key){t.preventDefault();const e=this.textarea.selectionStart,i=this.textarea.selectionEnd,o=" ";return this.value=this.value.substring(0,e)+o+this.value.substring(i),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=e+o.length,this.highlightCode()})),void this.valueChange.emit(this.value)}const i=this.textarea.selectionStart,o=this.textarea.selectionEnd,r=this.value,a={"(":")","{":"}","[":"]",'"':'"',"'":"'"};if(a[t.key])return t.preventDefault(),this.value=r.substring(0,i)+t.key+a[t.key]+r.substring(o),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i+1,this.highlightCode()})),void this.valueChange.emit(this.value);if(["}","]",")",'"',"'"].includes(t.key)&&r[i]===t.key)return t.preventDefault(),void(this.textarea.selectionStart=this.textarea.selectionEnd=i+1);if("Enter"===t.key){t.preventDefault();const e=r.substring(0,i).split("\n").pop(),a=e.match(/^\s*/);let s=a?a[0]:"";return(e.trim().endsWith("{")||e.trim().endsWith(":"))&&(s+=" "),this.value=r.substring(0,i)+"\n"+s+r.substring(o),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i+1+s.length,this.highlightCode()})),void this.valueChange.emit(this.value)}if("Backspace"===t.key&&i===o&&i>0){const e=r[i-1],o=r[i];("{"===e&&"}"===o||"("===e&&")"===o||"["===e&&"]"===o||'"'===e&&'"'===o||"'"===e&&"'"===o)&&(t.preventDefault(),this.value=r.substring(0,i-1)+r.substring(i+1),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i-1,this.highlightCode()})),this.valueChange.emit(this.value))}};handleSelection=t=>{const e=t.target,i=e.value.substring(0,e.selectionStart).split("\n");this.statusStats={line:i.length,col:i[i.length-1].length+1,selected:e.selectionEnd-e.selectionStart}};handleMinimapClick=t=>{const e=t.currentTarget.getBoundingClientRect();this.textarea&&(this.textarea.scrollTop=(t.clientY-e.top)/e.height*this.textarea.scrollHeight-this.textarea.clientHeight/2)};handleCopy=()=>{navigator.clipboard.writeText(this.value)};handleTabClick(t){if(t<0||t>=this.tabs.length)return;this.activeTabIndex=t;const e=this.tabs[t];this.value=e.content,this.language=e.language,this.valueChange.emit(this.value)}toggleSearch=()=>{this.showSearch=!this.showSearch,this.showSearch?setTimeout((()=>this.searchInput?.focus()),50):this.searchQuery=""};findNext(){if(!this.searchQuery)return;const t=this.value;let e=t.indexOf(this.searchQuery,this.textarea.selectionEnd);-1===e&&(e=t.indexOf(this.searchQuery,0)),-1!==e&&this.selectAndScroll(e,e+this.searchQuery.length)}findPrev(){if(!this.searchQuery)return;const t=this.value;let e=t.lastIndexOf(this.searchQuery,this.textarea.selectionStart-1);-1===e&&(e=t.lastIndexOf(this.searchQuery)),-1!==e&&this.selectAndScroll(e,e+this.searchQuery.length)}selectAndScroll(t,e){this.textarea.focus(),this.textarea.selectionStart=t,this.textarea.selectionEnd=e,this.handleScroll()}togglePalette=()=>{this.showPalette=!this.showPalette,this.paletteQuery="",this.showPalette&&setTimeout((()=>this.paletteInput?.focus()),50)};runCommand(t){t.isSymbol?this.selectAndScroll(t.start,t.end):t.action(),this.showPalette=!1}getPaletteItems(){if(this.paletteQuery.startsWith("@"))return this.getSymbols(this.paletteQuery.substring(1));const t=this.paletteQuery.toLowerCase();return this.commands.filter((e=>e.label.toLowerCase().includes(t)))}getSymbols(t){const e=[],i=this.value.split("\n"),o=t.toLowerCase(),r={javascript:/function\s+([\w$]+)|const\s+([\w$]+)\s*=\s*\([^)]*\)\s*=>|class\s+([\w$]+)/g,python:/def\s+([\w]+)|class\s+([\w]+)/g,java:/(?:public|private|protected|static|\s) +[\w\<\>\[\]]+\s+([\w]+)\s*\([^)]*\)\s*\{|class\s+([\w]+)/g,csharp:/(?:public|private|protected|static|\s) +[\w\<\>\[\]]+\s+([\w]+)\s*\([^)]*\)\s*\{|class\s+([\w]+)/g}[this.language];if(!r)return[];let a=0;for(let t=0;t<i.length;t++){const s=i[t];let n;for(;null!==(n=r.exec(s));){const i=n[1]||n[2]||n[3];i&&i.toLowerCase().includes(o)&&e.push({id:`symbol-${t}`,label:`@${i}`,isSymbol:!0,start:a+n.index,end:a+n.index+n[0].length,line:t+1})}a+=s.length+1}return e}toggleTheme(){this.theme="vs-dark"===this.theme?"vs-light":"vs-dark"}toggleMinimap(){this.showMinimap=!this.showMinimap}handleSelectAll(){this.textarea&&this.textarea.select()}handleUndo(){document.execCommand("undo")}handleRedo(){document.execCommand("redo")}handleCommentSelection(){if(!this.textarea)return;const t=this.textarea.selectionStart,e=this.textarea.selectionEnd,i=this.value,o=i.substring(t,e);let r;if("javascript"===this.language||"python"===this.language||"java"===this.language||"csharp"===this.language){const t="python"===this.language?"# ":"// ";r=o.includes("\n")?o.split("\n").map((e=>e.startsWith(t)?e.substring(t.length):t+e)).join("\n"):o.startsWith(t)?o.substring(t.length):t+o}else"html"===this.language?r=o.startsWith("\x3c!--")?o.replace(/^<!--\s*([\s\S]*?)\s*-->$/,"$1"):`\x3c!-- ${o} --\x3e`:"css"===this.language&&(r=o.startsWith("/*")?o.replace(/^\/\*\s*([\s\S]*?)\s*\*\/$/,"$1"):`/* ${o} */`);void 0!==r&&(this.value=i.substring(0,t)+r+i.substring(e),this.valueChange.emit(this.value),requestAnimationFrame((()=>{this.textarea.selectionStart=t,this.textarea.selectionEnd=t+r.length,this.highlightCode()})))}simpleFormat(){if("json"===this.language){try{const t=JSON.parse(this.value);this.value=JSON.stringify(t,null,2),this.valueChange.emit(this.value)}catch(t){}return}const t=this.value.split("\n");let e=0;const i=[];for(let o=0;o<t.length;o++){let r=t[o].trim();""!==r?((r.match(/^[\}\]\)]/)||r.startsWith("</"))&&(e=Math.max(0,e-1)),i.push(" ".repeat(e)+r),(r.endsWith("{")||r.endsWith("[")||r.endsWith("(")||r.match(/<[^/].*>$/)&&!r.match(/\/>$/)&&!r.includes("</"))&&e++):i.push("")}this.value=i.join("\n"),this.valueChange.emit(this.value),this.terminalLogs=[...this.terminalLogs,{type:"info",text:"Document formatted successfully.",time:(new Date).toLocaleTimeString()}]}getLineGitStatus(t){return t%15==0?"added":t%25==0?"modified":"none"}runLinting(){const t=[],e=this.value.split("\n"),i=[];for(let o=0;o<e.length;o++){const r=e[o];for(let e=0;e<r.length;e++){const a=r[e];if(["{","[","("].includes(a))i.push({char:a,line:o+1});else if(["}","]",")"].includes(a)){const e=i.pop();e&&this.matches(e.char,a)||t.push({line:o+1,msg:`Unexpected '${a}'`})}}}i.length>0&&i.forEach((e=>{t.push({line:e.line,msg:`Unclosed '${e.char}'`})})),this.lintErrors=t}matches(t,e){return"{"===t&&"}"===e||"["===t&&"]"===e||"("===t&&")"===e}isLineFoldable(t,e){if(t>=e.length-1)return!1;const i=this.getIndentLevel(e[t]);return this.getIndentLevel(e[t+1])>i||e[t].trim().endsWith("{")||e[t].trim().endsWith(":")}getIndentLevel(t){const e=t.match(/^\s*/);return e?e[0].length:0}toggleFold(t){this.foldedLines.has(t)?this.foldedLines.delete(t):this.foldedLines.add(t),this.foldedLines=new Set(this.foldedLines)}foldAll(){const t=this.value.split("\n");for(let e=0;e<t.length;e++)this.isLineFoldable(e,t)&&this.foldedLines.add(e+1);this.foldedLines=new Set(this.foldedLines)}unfoldAll(){this.foldedLines.clear(),this.foldedLines=new Set(this.foldedLines)}updateLineCount(){const t=this.value?this.value.split("\n").length:1;this.lineCount=t}highlightCode(){if(!this.value)return void(this.highlightedCode="");let t=this.escapeHtml(this.value);switch(this.language){case"javascript":case"json":t=this.highlightJS(t);break;case"html":t=this.highlightHTML(t);break;case"css":t=this.highlightCSS(t);break;case"python":t=this.highlightPython(t);break;case"java":case"csharp":t=this.highlightJavaCSharp(t);break;case"ladder":t=this.highlightLadder(t)}this.value.endsWith("\n")&&(t+="<br>"),this.highlightedCode=t}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}escapeHtml(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}highlightJS(t){return t.replace(/\/\/.*/g,'<span class="token comment">$&</span>').replace(/\/\*[\s\S]*?\*\//g,'<span class="token comment">$&</span>').replace(/('.*?')|(".*?")|(`[\s\S]*?`)/g,'<span class="token string">$&</span>').replace(/\b(const|let|var|function|return|if|else|for|while|import|export|class|this|new|true|false|null|undefined|async|await|try|catch|finally|throw|break|continue|default|case|switch|typeof|instanceof|void|delete|in|of|static|get|set|extends|super)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/(\w+)(?=\()/g,'<span class="token function">$&</span>')}highlightHTML(t){return t.replace(/(<\/?)(\w+)(.*?)(>)/g,((t,e,i,o,r)=>`<span class="token tag">${e}${i}</span>${o.replace(/(\w+)=("[^"]*")/g,'<span class="token attr-name">$1</span>=<span class="token string">$2</span>')}<span class="token tag">${r}</span>`)).replace(/<!--[\s\S]*?-->/g,'<span class="token comment">$&</span>')}highlightCSS(t){return t.replace(/\/\*[\s\S]*?\*\//g,'<span class="token comment">$&</span>').replace(/([a-zA-Z-]+)(?=:)/g,'<span class="token property">$1</span>').replace(/(:)([^;]+)(;)/g,((t,e,i,o)=>`${e}<span class="token number">${i}</span>${o}`)).replace(/(\.|#)([\w-]+)/g,'<span class="token selector">$1$2</span>')}highlightPython(t){return t.replace(/#.*/g,'<span class="token comment">$&</span>').replace(/("""[\s\S]*?""")|('''.*?''')/g,'<span class="token string">$&</span>').replace(/('.*?')|(".*?")/g,'<span class="token string">$&</span>').replace(/\b(def|class|if|elif|else|for|while|return|import|from|as|try|except|finally|with|pass|continue|break|True|False|None)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/@\w+/g,'<span class="token function">$&</span>')}highlightJavaCSharp(t){return t.replace(/\/\/.*/g,'<span class="token comment">$&</span>').replace(/('.*?')|(".*?")/g,'<span class="token string">$&</span>').replace(/\b(public|private|protected|static|final|class|interface|void|int|double|String|boolean|if|else|for|while|return|new|this|super|extends|implements|try|catch|finally|throw|throws|package|import|namespace|using|var)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/@\w+/g,'<span class="token function">$&</span>')}highlightLadder(t){return t.replace(/\(\*.*?\*\)/g,'<span class="token comment">$&</span>').replace(/\b(XIC|XIO|OTE|OTL|OTU|TON|TOF|RTO|CTU|CTD|MOV|COP|ADD|SUB|MUL|DIV|LIM|EQU|NEQ|LES|GRT|LEQ|GEQ|JMP|LBL)\b/g,'<span class="token keyword">$&</span>').replace(/\b(PROGRAM|END_PROGRAM|VAR|END_VAR|BOOL|INT|REAL|TIME|TON|IF|THEN|END_IF)\b/g,'<span class="token keyword">$&</span>').replace(/%[IQM][\d\.]+/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token variable">$&</span>')}renderLineNumbers(){if(!this.showLineNumbers)return null;const t=this.value.split("\n");return i("div",{class:"line-numbers",ref:t=>this.lineNumbersRef=t},t.map(((e,o)=>{const r=o+1,a=this.lintErrors.find((t=>t.line===r)),s=this.isLineFoldable(o,t),n=this.foldedLines.has(r),l=this.getLineGitStatus(o);return i("div",{class:{"line-number":!0,[`git-${l}`]:"none"!==l},onClick:()=>s&&this.toggleFold(r),style:{color:a?"#ff4d4d":"inherit"},title:a?a.msg:""},r,s&&i("span",{class:"fold-icon"},i("ui-icon",{name:"chevron-"+(n?"right":"down"),library:"fontawesome",size:"10px"})))})))}renderPalette(){if(!this.showPalette)return null;const t=this.getPaletteItems();return i("div",{class:"editor-palette-overlay",onClick:this.togglePalette},i("div",{class:"editor-palette",onClick:t=>t.stopPropagation()},i("div",{class:"palette-input-wrapper"},i("ui-icon",{name:"terminal",library:"fontawesome"}),i("ui-input",{type:"text",placeholder:"Type a command or @ for symbols...",value:this.paletteQuery,onInputChange:t=>this.paletteQuery=t.detail,ref:t=>this.paletteInput=t,onInputKeydown:e=>{"Escape"===e.detail.key&&this.togglePalette(),"Enter"===e.detail.key&&t.length>0&&this.runCommand(t[0])},variant:"plain",size:"sm"})),i("div",{class:"palette-results"},t.length>0?t.map((t=>i("div",{class:"palette-item",onClick:()=>this.runCommand(t)},i("ui-icon",{name:t.isSymbol?"at":"play",library:"fontawesome",size:"14px"}),i("span",null,t.label),t.line&&i("span",{class:"palette-meta"},"Line ",t.line)))):i("div",{class:"palette-no-results"},"No results found"))))}renderSearch(){return this.showSearch?i("div",{class:"search-widget"},i("ui-input",{customClass:"search-input",ref:t=>this.searchInput=t,type:"text",placeholder:"Find",value:this.searchQuery,onInputChange:t=>this.searchQuery=t.detail,onInputKeydown:t=>{const e=t.detail;"Escape"===e.key&&(this.showSearch=!1),"Enter"===e.key&&(e.shiftKey?this.findPrev():this.findNext())},size:"sm",variant:"outlined"}),i("div",{class:"search-actions"},i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.findPrev(),ariaLabel:"Previous (Shift+Enter)",icon:"arrow-up",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}),i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.findNext(),ariaLabel:"Next (Enter)",icon:"arrow-down",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}),i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.showSearch=!1,ariaLabel:"Close search",icon:"times",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}))):null}renderMinimap(){return this.showMinimap?i("div",{class:"minimap-container",onClick:this.handleMinimapClick},i("div",{class:"minimap-content",innerHTML:o(this.highlightedCode),ref:t=>this.minimapRef=t}),i("div",{class:"minimap-viewport",ref:t=>this.minimapViewport=t})):null}renderStatusBar(){return i("div",{class:"status-bar"},i("div",{class:"status-item"},i("ui-icon",{name:"code-branch",library:"fontawesome",size:"14px"})," main"),i("div",{class:"status-item"},i("ui-icon",{name:"exclamation-circle",library:"fontawesome",size:"14px"})," ",this.lintErrors.length," Errors"),i("div",{class:"status-item"},"Ln ",this.statusStats.line,", Col ",this.statusStats.col),i("div",{class:"status-item"},this.statusStats.selected>0?`(${this.statusStats.selected} selected)`:""),i("div",{class:"status-item"},"Spaces: 2"),i("div",{class:"status-item"},this.language.toUpperCase()),i("div",{class:"status-item",onClick:()=>this.toggleTheme(),style:{cursor:"pointer"}},i("ui-icon","vs-dark"===this.theme?{name:"moon",library:"fontawesome",size:"14px"}:{name:"sun",library:"fontawesome",size:"14px"})))}renderSuggestions(){return this.showSuggestions?i("ul",{class:"suggestion-list",style:{top:`${this.suggestionPos.top}px`,left:`${this.suggestionPos.left}px`}},this.suggestions.map(((t,e)=>i("li",{class:e===this.suggestionIndex?"active":"",onClick:()=>this.acceptSuggestion(t),onMouseDown:t=>t.preventDefault()},i("ui-icon",{name:"cube",library:"fontawesome",size:"14px",class:"icon"})," ",t)))):null}renderRibbonButton(t,e,o,r={}){const{lg:a=!1,color:s}=r,n="always"===this.toolbarLabelDisplay,l="hover"===this.toolbarLabelDisplay,c=i("ui-button",{slot:l?"target":void 0,onClick:o,style:s?{color:s}:{},ariaLabel:e,label:n?e:void 0,icon:t.replace(/^fa[sb]? fa-/,""),iconLibrary:"fontawesome",iconOnly:!n,size:a?"lg":"md",variant:"ghost"});return l?i("ui-tooltip",{content:e,position:"bottom"},c):c}isGroupVisible(t){return!(this.toolbarGroups&&!this.toolbarGroups.includes("all"))||this.toolbarGroups.includes(t)}renderToolbar(){return this.toolbar?i("div",{class:`editor-ribbon-container labels-${this.toolbarLabelDisplay}`},i("div",{class:"ribbon-tabs"},i("div",{class:"ribbon-tab "+("home"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="home"},i("ui-tooltip",{content:"Home",position:"bottom"},i("ui-icon",{name:"home",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("edit"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="edit"},i("ui-tooltip",{content:"Edit",position:"bottom"},i("ui-icon",{name:"edit",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("view"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="view"},i("ui-tooltip",{content:"View",position:"bottom"},i("ui-icon",{name:"eye",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("run"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="run"},i("ui-tooltip",{content:"Run",position:"bottom"},i("ui-icon",{name:"play",library:"fontawesome",slot:"target",size:"16px"})))),i("div",{class:"ribbon-content"},"home"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("history")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-undo","Undo",(()=>this.handleUndo()),{lg:!0}),this.renderRibbonButton("fas fa-redo","Redo",(()=>this.handleRedo()),{lg:!0})),i("div",{class:"ribbon-group-label"},"History")),this.isGroupVisible("history")&&this.isGroupVisible("clipboard")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("clipboard")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-copy","Copy",(()=>this.handleCopy())),this.renderRibbonButton("fas fa-mouse-pointer","Select All",(()=>this.handleSelectAll()))),i("div",{class:"ribbon-group-label"},"Clipboard")),(this.isGroupVisible("history")||this.isGroupVisible("clipboard"))&&this.isGroupVisible("search")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("search")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-search","Find",(()=>this.toggleSearch()),{lg:!0}),this.renderRibbonButton("fas fa-terminal","Palette",(()=>this.togglePalette()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Search"))),"edit"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("document")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-code","Format",(()=>this.simpleFormat()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Document")),this.isGroupVisible("document")&&this.isGroupVisible("folding")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("folding")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-minus-square","Fold All",(()=>this.foldAll())),this.renderRibbonButton("fas fa-plus-square","Unfold All",(()=>this.unfoldAll()))),i("div",{class:"ribbon-group-label"},"Folding")),(this.isGroupVisible("document")||this.isGroupVisible("folding"))&&this.isGroupVisible("actions")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("actions")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-comment-slash","Comment",(()=>this.handleCommentSelection()))),i("div",{class:"ribbon-group-label"},"Actions"))),"view"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("interface")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-map","Minimap",(()=>this.toggleMinimap()),{lg:!0,active:this.showMinimap}),this.renderRibbonButton("fas fa-list-ol","Line Numbers",(()=>this.showLineNumbers=!this.showLineNumbers),{lg:!0,active:this.showLineNumbers})),i("div",{class:"ribbon-group-label"},"Interface")),this.isGroupVisible("interface")&&this.isGroupVisible("theme")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("theme")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("vs-dark"===this.theme?"fas fa-moon":"fas fa-sun","vs-dark"===this.theme?"Dark":"Light",(()=>this.toggleTheme()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Theme")),(this.isGroupVisible("interface")||this.isGroupVisible("theme"))&&this.isGroupVisible("appearance")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("appearance")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},i("div",{class:"ribbon-select-container"},i("select",{onChange:t=>this.fontSize=parseInt(t.target.value)},[10,12,14,16,18,20,24].map((t=>i("option",{value:t,selected:this.fontSize===t},t,"px")))),"always"===this.toolbarLabelDisplay&&i("span",null,"Font Size"))),i("div",{class:"ribbon-group-label"},"Appearance"))),"run"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("execution")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-play","Run Code",(()=>this.runCode.emit()),{lg:!0,color:"#4ade80"})),i("div",{class:"ribbon-group-label"},"Execution"))))):null}renderHelp(){return this.showHelp?i("div",{class:"help-modal-overlay",onClick:()=>this.showHelp=!1},i("div",{class:"help-modal",onClick:t=>t.stopPropagation()},i("div",{class:"help-header"},i("h3",null,"Editor Shortcuts & Help"),i("ui-button",{variant:"ghost",onClick:()=>this.showHelp=!1,ariaLabel:"Close help",icon:"times",iconLibrary:"fontawesome",iconOnly:!0})),i("div",{class:"help-content"},i("div",{class:"help-section"},i("h4",null,"Keyboard Shortcuts"),i("ul",null,i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"F")," : Find / Search"),i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"Shift")," + ",i("kbd",null,"P")," : Command Palette"),i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"Space")," : Trigger Suggestions"),i("li",null,i("kbd",null,"Tab")," : Indent / Accept Suggestion"))),i("div",{class:"help-section"},i("h4",null,"Toolbar Features"),i("ul",null,i("li",null,i("ui-icon",{name:"play",library:"fontawesome",style:{color:"#4ade80"},size:"14px"})," ",i("strong",null,"Run"),": Execute code (demo mode)"),i("li",null,i("ui-icon",{name:"indent",library:"fontawesome",size:"14px"})," ",i("strong",null,"Format"),": Auto-indent code"),i("li",null,i("ui-icon",{name:"moon",library:"fontawesome",size:"14px"})," ",i("strong",null,"Theme"),": Toggle Dark/Light")))))):null}renderTabBar(){return this.tabs&&0!==this.tabs.length?i("div",{class:"editor-tabs"},this.tabs.map(((t,e)=>i("div",{class:"editor-tab "+(e===this.activeTabIndex?"active":""),onClick:()=>this.handleTabClick(e)},i("ui-icon",{class:"tab-icon",name:this.getIconForLang(t.language),library:"fontawesome"}),i("span",{class:"tab-title"},t.title))))):null}getIconForLang(t){switch(t){case"javascript":return"js-square";case"html":return"html5";case"css":return"css3";case"python":return"python";case"java":return"java";case"json":return"code";default:return"file-alt"}}renderSidebar(){return this.showSidebar?i("div",{class:{"editor-sidebar":!0,collapsed:!this.showSidebar}},i("div",{class:"sidebar-tabs"},i("div",{class:{"sidebar-tab":!0,active:"files"===this.activeSidebarTab},onClick:()=>this.activeSidebarTab="files"},i("ui-icon",{name:"copy",library:"fontawesome"}))),i("div",{class:"sidebar-content"},"files"===this.activeSidebarTab&&i("div",{class:"file-explorer"},i("div",{class:"sidebar-header"},"EXPLORER"),i("div",{class:"file-list"},this.files.map(((t,e)=>i("div",{class:{"file-item":!0,active:this.activeFileIndex===e},onClick:()=>this.switchFile(e)},i("ui-icon",{name:this.getFileIcon(t.name).split(" ").find((t=>t.startsWith("fa-"))).replace("fa-",""),library:"fontawesome",class:this.getFileIcon(t.name)}),i("span",null,t.name)))))))):null}handleTerminalKeyDown=t=>{if("Enter"===t.key){const e=t.target,i=e.value.trim().toLowerCase();if(!i)return;this.terminalLogs=[...this.terminalLogs,{type:"info",text:`$ ${e.value}`,time:(new Date).toLocaleTimeString()}],"clear"===i?this.terminalLogs=[]:"run"===i||"node index.js"===i?(this.terminalLogs=[...this.terminalLogs,{type:"info",text:"Executing program...",time:(new Date).toLocaleTimeString()}],setTimeout((()=>{const t=this.executeCode().map((t=>({...t,time:(new Date).toLocaleTimeString()})));this.terminalLogs=[...this.terminalLogs,...t],this.runCode.emit()}),500)):this.terminalLogs="help"===i?[...this.terminalLogs,{type:"info",text:"Available commands: run, clear, help, ls, whoami",time:(new Date).toLocaleTimeString()}]:[...this.terminalLogs,{type:"error",text:`Command not found: ${i}`,time:(new Date).toLocaleTimeString()}],e.value=""}};renderBreadcrumbs(){const t=this.files[this.activeFileIndex];return i("div",{class:"editor-breadcrumbs"},i("div",{class:"breadcrumb-item"},i("ui-icon",{name:"folder-open",library:"fontawesome",size:"12px"}),i("span",null,"project"),i("span",{class:"separator"},"/")),i("div",{class:"breadcrumb-item"},i("ui-icon",{name:this.getFileIcon(t.name).split(" ").find((t=>t.startsWith("fa-"))).replace("fa-",""),library:"fontawesome",class:this.getFileIcon(t.name),size:"12px"}),i("span",null,t.name)))}renderBottomPanel(){return this.showBottomPanel?i("div",{class:{"editor-bottom-panel":!0,collapsed:!this.showBottomPanel}},i("div",{class:"panel-header"},i("div",{class:"panel-tabs"},i("div",{class:{"panel-tab":!0,active:"terminal"===this.activeBottomTab},onClick:()=>this.activeBottomTab="terminal"},"TERMINAL"),i("div",{class:{"panel-tab":!0,active:"output"===this.activeBottomTab},onClick:()=>this.activeBottomTab="output"},"OUTPUT"),i("div",{class:{"panel-tab":!0,active:"problems"===this.activeBottomTab},onClick:()=>this.activeBottomTab="problems"},"PROBLEMS")),i("div",{class:"panel-controls"},i("ui-icon",{name:"times",library:"fontawesome",onClick:()=>this.showBottomPanel=!1,style:{cursor:"pointer"}}))),i("div",{class:"panel-content"},"terminal"===this.activeBottomTab&&i("div",{class:"terminal-content"},this.terminalLogs.map((t=>i("div",{class:`log-item ${t.type}`},i("span",{class:"log-time"},"[",t.time,"]"),i("span",{class:"log-text"},t.text)))),i("div",{class:"terminal-input-line"},i("span",{class:"terminal-prompt"},"$"),i("ui-input",{type:"text",customClass:"terminal-input",placeholder:"Type a command (run, clear, help)...",onInputKeydown:t=>this.handleTerminalKeyDown(t.detail),variant:"plain",size:"sm",fullWidth:!0}))),"output"===this.activeBottomTab&&i("div",{class:"output-preview",style:{display:"flex",alignItems:"center",justifyCenter:"center",height:"100%",background:"#f8fafc",color:"#64748b"}},i("div",{style:{textAlign:"center"}},i("ui-icon",{name:"eye-slash",library:"fontawesome",size:"32px",style:{opacity:.5,marginBottom:"12px"}}),i("p",{style:{fontSize:"14px",fontWeight:"500"}},"Live Preview Disabled (No Iframe)"))))):null}switchFile(t){this.activeFileIndex=t;const e=this.files[t];this.value=e.content,this.language=e.language,this.valueChange.emit(this.value)}getFileIcon(t){return t.endsWith(".js")?"fab fa-js-square text-warning":t.endsWith(".html")?"fab fa-html5 text-danger":t.endsWith(".css")?"fab fa-css3-alt text-primary":"fas fa-file-code"}render(){const t="vs-light"===this.theme?"theme-vs-light":"theme-vs-dark",e=this.value.split("\n");let r=-1,a=-1;for(let t=0;t<e.length;t++)if(-1!==r){if(!(this.getIndentLevel(e[t])<=a&&""!==e[t].trim()))continue;r=-1}else this.foldedLines.has(t+1)&&(r=t+1,a=this.getIndentLevel(e[t]));return i("div",{key:"321fc92d91bf5365394b866e7efef0bcce5f92e8",class:`code-editor-container ${t}`},this.renderTabBar(),this.renderToolbar(),this.renderPalette(),i("div",{key:"212c74c9fae6bddf8206698c2b7279acc328cdf6",class:"code-editor-layout"},this.renderSidebar(),i("div",{key:"6afeb17b34a66e4cdaf72d8582041913a58d13fc",class:"editor-main-panel"},this.renderBreadcrumbs(),i("div",{key:"7a3e97d74cc5b68250a4471a3e1b9fa858d22b98",class:"editor-main-content",style:{display:"flex",flex:"1",minHeight:"0",position:"relative"}},this.renderLineNumbers(),i("div",{key:"ce569b57f4c9b4365cd9f014d8aff2d1c8679b8b",class:"editor-wrapper"},this.renderSearch(),this.renderSuggestions(),i("ui-button",{key:"629168b1f60cc6a962af7d4f81e0078d5c13f2d4",variant:"ghost",class:"copy-button",onClick:this.handleCopy,ariaLabel:"Copy Code",icon:"copy",iconLibrary:"fontawesome",iconOnly:!0}),i("pre",{key:"d4fa13f823d5ba4ab80db9ab66286de099ba28cc",class:"syntax-highlighter",ref:t=>this.pre=t,innerHTML:o(this.highlightedCode)}),i("textarea",{key:"77d8ec6eb4aa8cea02da3ca30d1b5a992717d319",class:"editor-content",ref:t=>this.textarea=t,value:this.value,onInput:this.handleInput,onScroll:this.handleScroll,onKeyDown:this.handleKeydown,onSelect:this.handleSelection,onClick:this.handleSelection,onKeyUp:this.handleSelection,spellcheck:!1,readonly:this.readonly,role:"textbox","aria-multiline":"true","aria-label":"Code Editor"})),this.renderMinimap()),this.renderBottomPanel())),this.renderStatusBar(),this.renderHelp())}static get watchers(){return{value:[{valueChanged:0}],language:[{languageChanged:0}],tabs:[{tabsChanged:0}],searchQuery:[{searchQueryChanged:0}]}}};r.style='.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:flex;flex-direction:column;font-family:"Menlo", "Monaco", "Courier New", monospace;font-size:14px;line-height:1.5;position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, var(--border-subtle, #e2e8f0));background-color:var(--editor-bg);color:var(--editor-fg);--editor-bg:var(--bg-primary, #ffffff);--editor-fg:var(--text-primary, #1e293b);--line-num-bg:var(--bg-primary, #f8fafc);--line-num-fg:var(--color-primary, #94a3b8);--indent-guide:rgba(0, 0, 0, 0.05);--cursor-color:var(--text-primary, #000);--selection-bg:var(--color-primary, #b3d4fc);--status-bar-bg:var(--bg-secondary, #f1f5f9);--status-bar-fg:var(--color-primary, #64748b);--minimap-width:60px;--git-added:var(--color-success, #28a745);--git-modified:var(--color-danger, #ffc107)}:host(.theme-vs-dark){--editor-bg:var(--bg-primary, #1e1e1e);--editor-fg:var(--bg-secondary, #d4d4d4);--line-num-bg:var(--bg-primary, #1e1e1e);--line-num-fg:var(--text-muted, #858585);--cursor-color:var(--text-standard, #ffffff);--selection-bg:var(--color-primary, #264f78);--status-bar-bg:var(--color-primary, #007acc);--status-bar-fg:var(--bg-primary, #ffffff);border-color:var(--border-strong, #333)}.code-editor-container{display:flex;flex-direction:column;flex:1;position:relative;overflow:hidden;height:100%}.code-editor-layout{display:grid;grid-template-columns:auto 1fr auto;flex:1;min-height:0;position:relative;overflow:hidden;background-color:var(--editor-bg)}.sidebar-tabs{width:48px;flex-shrink:0;background-color:var(--status-bar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:20px}.sidebar-tabs .sidebar-tab{font-size:20px;color:var(--status-bar-fg);cursor:pointer;width:100%;display:flex;justify-content:center;position:relative;padding:8px 0;opacity:0.6;transition:all 0.2s}.sidebar-tabs .sidebar-tab.active{opacity:1;color:var(--color-primary, #007acc);border-left:2px solid var(--color-primary, #007acc)}.sidebar-tabs .sidebar-tab:hover{opacity:1}.sidebar-content{flex:1;overflow-y:auto;padding:0}.sidebar-header{padding:10px 16px;font-size:11px;font-weight:600;color:var(--status-bar-fg);text-transform:uppercase;letter-spacing:0.5px}.file-list{padding:4px 0}.file-item{display:flex;align-items:center;padding:6px 16px;gap:8px;cursor:pointer;font-size:13px;color:var(--status-bar-fg);transition:background 0.2s}.file-item:hover{background-color:rgba(128, 128, 128, 0.1);color:var(--editor-fg)}.file-item.active{background-color:rgba(0, 122, 204, 0.1);color:var(--color-primary, #007acc);font-weight:500}.file-item i{width:16px;text-align:center}.file-item .text-warning{color:var(--color-warning, #f59e0b)}.file-item .text-danger{color:var(--color-danger, #ef4444)}.file-item .text-primary{color:var(--color-primary, #10b981)}.editor-main-panel{display:flex;flex-direction:column;min-width:0;flex:1}.editor-breadcrumbs{height:35px;background-color:var(--editor-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;font-size:13px;color:var(--status-bar-fg);gap:10px;user-select:none}.editor-breadcrumbs .breadcrumb-item{display:flex;align-items:center;gap:6px;cursor:pointer}.editor-breadcrumbs .breadcrumb-item:hover{color:var(--editor-fg)}.editor-breadcrumbs .breadcrumb-item i{font-size:14px}.editor-breadcrumbs .breadcrumb-item .separator{opacity:0.5;margin:0 4px}.editor-bottom-panel{height:250px;background-color:var(--editor-bg);border-top:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:height 0.3s ease}.editor-bottom-panel.collapsed{height:0;border-top:none}.editor-bottom-panel .panel-header{height:35px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color);background-color:var(--status-bar-bg)}.editor-bottom-panel .panel-tabs{display:flex;gap:20px;height:100%}.editor-bottom-panel .panel-tabs .panel-tab{font-size:11px;font-weight:600;color:var(--status-bar-fg);height:100%;display:flex;align-items:center;cursor:pointer;border-bottom:2px solid transparent;opacity:0.7;transition:all 0.2s}.editor-bottom-panel .panel-tabs .panel-tab:hover{opacity:1}.editor-bottom-panel .panel-tabs .panel-tab.active{opacity:1;color:var(--color-primary, #007acc);border-bottom-color:var(--color-primary, #007acc)}.editor-bottom-panel .panel-controls i{font-size:12px;color:var(--status-bar-fg);cursor:pointer;opacity:0.6}.editor-bottom-panel .panel-controls i:hover{opacity:1;color:var(--color-danger, #ef4444)}.editor-bottom-panel .panel-content{flex:1;overflow-y:auto;padding:12px 16px;font-family:"Menlo", "Monaco", "Courier New", monospace;background-color:var(--editor-bg)}.editor-bottom-panel .terminal-content .log-item{margin-bottom:4px;font-size:12px;display:flex;gap:8px}.editor-bottom-panel .terminal-content .log-item .log-time{opacity:0.5}.editor-bottom-panel .terminal-content .log-item.info{color:var(--color-success, #10b981)}.editor-bottom-panel .terminal-content .log-item.error{color:var(--color-danger, #ef4444)}.editor-bottom-panel .terminal-content .log-item.warn{color:var(--color-warning, #f59e0b)}.editor-bottom-panel .terminal-content .terminal-input-line{display:flex;gap:8px;margin-top:8px;align-items:center}.editor-bottom-panel .terminal-content .terminal-input-line .terminal-prompt{color:var(--color-primary, #007acc);font-weight:bold}.editor-bottom-panel .terminal-content .terminal-input-line .terminal-input{background:transparent;border:none;color:var(--editor-fg);outline:none;flex:1;font-family:inherit;font-size:12px}.line-numbers{flex-shrink:0;padding:10px 0;text-align:right;background-color:var(--line-num-bg);color:var(--line-num-fg);border-right:1px solid rgba(128, 128, 128, 0.1);user-select:none;min-width:45px;overflow:hidden}.line-numbers .line-number{display:flex;padding:0 4px 0 8px;height:1.5em;white-space:nowrap;justify-content:space-between;cursor:pointer}.line-numbers .line-number .fold-icon{opacity:0;font-size:9px;margin-left:4px;display:flex;align-items:center;color:var(--line-num-fg)}.line-numbers .line-number.git-added{border-left:3px solid var(--git-added)}.line-numbers .line-number.git-modified{border-left:3px solid var(--git-modified)}.line-numbers .line-number:hover .fold-icon{opacity:1;color:var(--editor-fg)}.folded-placeholder{background-color:var(--status-bar-bg);color:var(--status-bar-fg);padding:0 4px;border-radius:2px;font-size:10px;cursor:pointer;user-select:none;margin-left:4px;display:inline-block;height:14px;line-height:14px}.editor-wrapper{flex-grow:1;position:relative;overflow:hidden}.editor-content,.syntax-highlighter{margin:0;padding:10px;border:none;box-sizing:border-box;font-family:inherit;font-size:inherit;line-height:inherit;tab-size:2;white-space:pre;word-wrap:normal;overflow-x:auto;overflow-y:auto;position:absolute;top:0;left:0;width:100%;height:100%}.editor-content{color:transparent;background:transparent;caret-color:var(--cursor-color);z-index:1;resize:none;outline:none;background-image:linear-gradient(to right, var(--indent-guide) 1px, transparent 1px);background-size:calc(var(--indent-size, 2) * 8.4px) 100%;background-repeat:repeat-x;background-attachment:local}.editor-content::selection{background:var(--selection-bg);color:transparent}.syntax-highlighter{z-index:0;pointer-events:none;color:var(--editor-fg)}.lint-error{text-decoration:underline wavy var(--color-danger, #ff4d4d);text-decoration-thickness:2px;position:relative}.minimap-container{width:var(--minimap-width);border-left:1px solid rgba(128, 128, 128, 0.1);background:var(--editor-bg);overflow:hidden;position:relative;user-select:none;flex-shrink:0;cursor:pointer}.minimap-content{transform-origin:top left;transform:scale(0.15);width:666%;pointer-events:none;padding:10px}.minimap-viewport{position:absolute;left:0;width:100%;background:rgba(100, 100, 100, 0.2);cursor:grab;transition:background 0.2s}.minimap-viewport:hover{background:rgba(100, 100, 100, 0.3)}.minimap-viewport:active{cursor:grabbing;background:rgba(100, 100, 100, 0.4)}.status-bar{display:flex;justify-content:flex-end;gap:16px;padding:4px 12px;background-color:var(--status-bar-bg);color:var(--status-bar-fg);font-size:11px;flex-shrink:0;user-select:none}.status-item{display:flex;align-items:center;gap:6px;cursor:default}.status-item i{font-size:10px}.command-palette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.3);z-index:100;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;backdrop-filter:blur(1px)}.command-palette{width:400px;max-width:90%;background:var(--editor-bg);border:1px solid var(--border-color, #454545);box-shadow:0 4px 12px rgba(0, 0, 0, 0.25);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;animation:slideDown 0.15s ease-out}.command-palette input{width:100%;padding:10px;border:none;background:var(--status-bar-bg);color:var(--editor-fg);font-family:inherit;font-size:13px;outline:none;border-bottom:1px solid var(--border-color, rgba(128, 128, 128, 0.2))}.command-palette .command-list{max-height:250px;overflow-y:auto;margin:0;padding:0;list-style:none}.command-palette .command-item{padding:8px 12px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;color:var(--editor-fg);border-left:2px solid transparent;}.command-palette .command-item:hover,.command-palette .command-item.active{background-color:var(--selection-bg);border-left-color:var(--status-bar-bg)}.command-palette .command-item .shortcut{opacity:0.6;font-size:11px}@keyframes slideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.token.comment{color:var(--color-success, #6a9955);font-style:italic}.token.string{color:var(--color-danger, #ce9178)}.token.number{color:var(--color-primary, #b5cea8)}.token.boolean{color:var(--color-primary, #569cd6)}.token.keyword{color:var(--color-primary, #c586c0);font-weight:bold}.token.function{color:var(--color-primary, #dcdcaa)}.token.operator{color:var(--bg-secondary, #d4d4d4)}.token.class{color:var(--color-primary, #4ec9b0)}.token.variable{color:var(--color-primary, #9cdcfe)}.token.tag{color:var(--color-primary, #569cd6)}.token.attr-name{color:var(--color-primary, #9cdcfe)}.token.property{color:var(--color-primary, #9cdcfe)}.token.selector{color:var(--color-primary, #d7ba7d)}:host(:not(.theme-vs-dark)) .token.string{color:var(--color-danger, #a31515)}:host(:not(.theme-vs-dark)) .token.keyword{color:var(--color-primary, #af00db)}:host(:not(.theme-vs-dark)) .token.function{color:var(--color-primary, #795e26)}:host(:not(.theme-vs-dark)) .token.number{color:var(--color-success, #098658)}:host(:not(.theme-vs-dark)) .token.comment{color:var(--color-success, #008000)}:host(:not(.theme-vs-dark)) .token.selector{color:var(--text-primary, #800000)}.copy-button{position:absolute;top:8px;right:20px;z-index:10;background:rgba(128, 128, 128, 0.2);border:none;color:var(--editor-fg);padding:4px 8px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity 0.2s;font-size:12px}.copy-button:hover{background:rgba(128, 128, 128, 0.4)}:host(:hover) .copy-button{opacity:1}.search-widget{position:absolute;top:10px;right:40px;right:60px;z-index:50;display:flex;background:var(--editor-bg);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);border-radius:4px;padding:4px;align-items:center}.search-widget .search-input{border:none;outline:none;background:transparent;color:var(--editor-fg);padding:4px;font-size:13px;width:150px}.search-widget .search-actions{display:flex;gap:2px}.search-widget .search-actions button{background:transparent;border:none;color:var(--status-bar-fg);cursor:pointer;padding:4px;border-radius:2px}.search-widget .search-actions button:hover{background:var(--line-num-bg);color:var(--editor-fg)}.suggestion-list{position:absolute;z-index:100;background:var(--editor-bg);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-radius:4px;max-height:200px;overflow-y:auto;width:200px;margin:0;padding:0;list-style:none;font-size:13px;font-family:inherit}.suggestion-list li{padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--editor-fg)}.suggestion-list li.active,.suggestion-list li:hover{background:var(--selection-bg);color:var(--editor-fg)}.suggestion-list li .icon{opacity:0.7;font-size:11px}.editor-tabs{display:flex;background-color:var(--status-bar-bg);background-color:var(--bg-primary, #252526);overflow-x:auto;flex-shrink:0;}.editor-tabs::-webkit-scrollbar{height:4px}.editor-tabs::-webkit-scrollbar-thumb{background:rgba(128, 128, 128, 0.3)}:host(:not(.theme-vs-dark)) .editor-tabs{background-color:var(--bg-primary, #f3f3f3)}.editor-tab{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--text-muted, #969696);background-color:transparent;cursor:pointer;border-right:1px solid rgba(0, 0, 0, 0.1);font-size:13px;white-space:nowrap;border-top:2px solid transparent;}.editor-tab:hover{background-color:rgba(128, 128, 128, 0.1);color:var(--editor-fg)}.editor-tab.active{background-color:var(--editor-bg);color:var(--editor-fg);border-top-color:var(--color-primary, #007acc);}.editor-tab .tab-icon{font-size:12px;opacity:0.8}.editor-tab{}.editor-ribbon-container{display:flex;flex-direction:column;background-color:var(--ribbon-bg, #f3f3f3);border-bottom:1px solid var(--border-color, #d1d1d1);flex-shrink:0;user-select:none;font-family:"Segoe UI", system-ui, -apple-system, sans-serif;--ribbon-bg:var(--bg-primary, #f3f3f3);--ribbon-tab-active:var(--bg-primary, #ffffff);--ribbon-tab-fg:var(--text-secondary, #333333);--ribbon-accent:var(--color-primary, #2b579a);}:host(.theme-vs-dark) .editor-ribbon-container{--ribbon-bg:var(--bg-secondary, #2d2d2d);--ribbon-tab-active:var(--text-secondary, #3c3c3c);--ribbon-tab-fg:var(--bg-secondary, #cccccc);--ribbon-accent:var(--color-primary, #007acc);border-bottom-color:var(--border-strong, #3e3e3e)}.ribbon-tabs{display:flex;padding:0 10px;background-color:var(--ribbon-accent);gap:2px}.ribbon-tab{padding:4px 12px;cursor:pointer;opacity:0.7;transition:all 0.2s;border-bottom:2px solid transparent;font-size:11px;font-weight:500;display:flex;align-items:center;gap:6px;min-width:60px;justify-content:center}.ribbon-tab ui-tooltip{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ribbon-tab i{font-size:14px}.ribbon-tab:hover{background-color:rgba(255, 255, 255, 0.15);opacity:1}.ribbon-tab:hover i{transform:scale(1.1)}.ribbon-tab.active{background-color:var(--ribbon-bg);color:var(--ribbon-tab-fg);font-weight:600;border-bottom:none;border-radius:4px 4px 0 0;margin-top:4px;padding-top:4px;opacity:1}.ribbon-tab.active i{opacity:1}.ribbon-content{background:var(--editor-bg);border-bottom:1px solid var(--border-color);min-height:0;padding:4px;display:flex;gap:8px;overflow-x:auto}.labels-hover .ribbon-content,.labels-hidden .ribbon-content{min-height:48px}.ribbon-panel{display:flex;gap:12px;height:100%;align-items:stretch}.ribbon-group{display:flex;flex-direction:column;gap:2px;padding-right:12px;border-right:1px solid var(--border-color);height:100%;justify-content:space-between}.ribbon-group:last-child{border-right:none}.ribbon-group.divider{padding:0;width:1px;background:linear-gradient(to bottom, transparent 10%, var(--border-color, #d1d1d1) 20%, var(--border-color, #d1d1d1) 80%, transparent 90%);margin:2px 4px}.ribbon-group-content{display:flex;gap:4px;align-items:center;flex:1}.ribbon-group-label{font-size:9px;color:var(--status-bar-fg);text-align:center;text-transform:uppercase;letter-spacing:0.5px;opacity:0.7}.labels-hidden .ribbon-group-label{display:none}.ribbon-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--editor-fg);cursor:pointer;transition:all 0.2s;min-width:32px;font-size:11px}.ribbon-btn i{font-size:16px}.ribbon-btn:hover{background:rgba(144, 144, 144, 0.1);border-color:var(--border-color)}.ribbon-btn.active{background:rgba(0, 122, 204, 0.1);border-color:var(--color-primary, #007acc);color:var(--color-primary, #007acc)}.ribbon-btn.lg{padding:4px 12px;gap:4px;min-width:48px}.ribbon-btn.lg i{font-size:20px}.ribbon-btn.icon-only{padding:4px;min-width:28px;height:28px}.ribbon-btn.icon-only span{display:none}.ribbon-btn.icon-only i{font-size:16px}.ribbon-select-container{display:flex;flex-direction:column;gap:2px;align-items:center}.ribbon-select-container select{padding:2px 4px;font-size:11px;border:1px solid var(--border-color, #ccc);border-radius:3px;background:var(--editor-bg);color:var(--editor-fg);outline:none}.ribbon-select-container span{font-size:10px;opacity:0.7}.help-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);z-index:200;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(2px)}.help-modal{background:var(--editor-bg);color:var(--editor-fg);width:400px;max-width:90%;border-radius:8px;border:1px solid var(--border-color, #454545);box-shadow:0 10px 25px rgba(0, 0, 0, 0.5);display:flex;flex-direction:column;overflow:hidden;animation:fadeIn 0.2s ease-out}.help-modal .help-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--status-bar-bg);color:var(--status-bar-fg);border-bottom:1px solid rgba(128, 128, 128, 0.2)}.help-modal .help-header h3{margin:0;font-size:14px;font-weight:600}.help-modal .help-header .close-btn{background:transparent;border:none;color:inherit;cursor:pointer;font-size:14px;padding:4px}.help-modal .help-header .close-btn:hover{opacity:0.8}.help-modal .help-content{padding:16px;display:flex;flex-direction:column;gap:16px}.help-modal .help-section h4{margin:0 0 8px 0;font-size:12px;text-transform:uppercase;letter-spacing:0.5px;opacity:0.7;border-bottom:1px solid rgba(128, 128, 128, 0.2);padding-bottom:4px}.help-modal .help-section ul{list-style:none;padding:0;margin:0;font-size:13px}.help-modal .help-section ul li{margin-bottom:6px;display:flex;align-items:center;gap:8px}.help-modal kbd{background:rgba(128, 128, 128, 0.2);padding:2px 4px;border-radius:3px;font-family:inherit;font-size:11px;border:1px solid rgba(128, 128, 128, 0.3)}@keyframes fadeIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}';export{r as ui_code_editor}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,a as i,h as a,H as s}from"./p-DUsoYu9r.js";const o=class{constructor(i){t(this,i),this.actionClick=e(this,"actionClick"),this.speedDialToggle=e(this,"speedDialToggle")}get el(){return i(this)}position="bottom-right";actions=[];strategy="fixed";icon="plus";iconLibrary="se";toggleIcon;actionLibrary="default";color="primary";size="md";variant="solid";direction="auto";shape="rounded";tooltipPosition="auto";showTooltips=!0;labelPosition="auto";labelHide=!1;trigger="click";layout="linear";closeOnScroll=!1;glassy=!1;magnetic=!1;magneticStrength=.3;magneticRadius=150;persistenceId;isDraggable=!1;isOpen=!1;magneticTransform={x:0,y:0};itemAngles=[];dragOffset={x:0,y:0};isDragging=!1;isElastic=!1;actionClick;speedDialToggle;mainButton;closeTimer;dragStartPos={x:0,y:0};initialOffset={x:0,y:0};componentWillLoad(){this.loadPersistedPosition()}loadPersistedPosition(){if(this.persistenceId&&this.isDraggable){const t=localStorage.getItem(`ui-speed-dial-pos-${this.persistenceId}`);if(t)try{this.dragOffset=JSON.parse(t)}catch(t){console.error("Failed to load SpeedDial position",t)}}}savePersistedPosition(){this.persistenceId&&this.isDraggable&&localStorage.setItem(`ui-speed-dial-pos-${this.persistenceId}`,JSON.stringify(this.dragOffset))}getActions(){if("string"==typeof this.actions)try{return JSON.parse(this.actions)}catch{return[]}return this.actions}getDialDirection(){return"auto"!==this.direction?this.direction:"center"===this.position||this.position.startsWith("bottom")?"up":this.position.startsWith("top")?"down":this.position.endsWith("right")?"left":"right"}getTooltipPosition(){if(this.labelPosition&&"auto"!==this.labelPosition)return this.labelPosition;if(this.tooltipPosition&&"auto"!==this.tooltipPosition)return this.tooltipPosition;const t=this.el.getBoundingClientRect();return this.position.endsWith("right")?t.left<120?"right":"left":this.position.endsWith("left")?t.right>window.innerWidth-120?"left":"right":this.position.startsWith("top")?t.bottom>window.innerHeight-120?"top":"bottom":"top"}toggleDial=()=>{this.isDragging||(this.triggerElastic(),this.setOpen(!this.isOpen))};triggerElastic(){this.isElastic=!0,setTimeout((()=>this.isElastic=!1),400)}handleOpenChange(t){t&&this.calculateSafeAngles()}calculateSafeAngles(){if("linear"===this.layout)return;const t=this.getActions().length;if(0===t)return;const e=[],i=this.el.getBoundingClientRect(),a=100;let s=0,o=360;if("arc"===this.layout){const t=this.getDialDirection();"up"===t?(s=180,o=360):"down"===t?(s=0,o=180):"left"===t?(s=90,o=270):"right"===t&&(s=270,o=450),!(i.right>window.innerWidth-a||this.position.includes("right"))||"up"!==t&&"auto"!==t||(s-=45,o-=45),!(i.left<a||this.position.includes("left"))||"up"!==t&&"auto"!==t||(s+=45,o+=45),!(i.top<a||this.position.includes("top"))||"right"!==t&&"auto"!==t||(s+=45,o+=45),!(i.bottom>window.innerHeight-a||this.position.includes("bottom"))||"right"!==t&&"auto"!==t||(s-=45,o-=45),"center-left"===this.position&&(s=270,o=450),"center-right"===this.position&&(s=90,o=270)}const r=t>1?(o-s)/("radial"===this.layout?t:t-1):0;for(let i=0;i<t;i++)e.push(s+i*r);this.itemAngles=e}setOpen(t){this.isOpen!==t&&(this.isOpen=t,this.speedDialToggle.emit(this.isOpen))}handleActionClick=t=>{t.disabled||(this.actionClick.emit(String(t.id)),this.setOpen(!1))};handleBackdropClick=()=>{this.isOpen&&"hover"!==this.trigger&&this.setOpen(!1)};handleWindowScroll(){this.isOpen&&this.closeOnScroll&&this.setOpen(!1)}handleGlobalKeyDown(t){const e=this.getActions();if(!e||0===e.length)return;const i=e.find((e=>e.shortcut===t.key&&!e.disabled));return i?(t.preventDefault(),void this.handleActionClick(i)):void 0}handleMouseMove(t){if(!this.magnetic)return;const e=this.el.getBoundingClientRect(),i=t.clientX-(e.left+e.width/2),a=t.clientY-(e.top+e.height/2),s=Math.sqrt(i*i+a*a);if(s<this.magneticRadius){const t=1-s/this.magneticRadius;this.magneticTransform={x:i*this.magneticStrength*t,y:a*this.magneticStrength*t}}else 0===this.magneticTransform.x&&0===this.magneticTransform.y||(this.magneticTransform={x:0,y:0})}onMouseDown(t){this.isDraggable&&(this.isDragging=!0,this.dragStartPos={x:t.clientX,y:t.clientY},this.initialOffset={...this.dragOffset},this.setOpen(!1),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))}onMouseMove=t=>{this.isDragging&&(this.dragOffset={x:this.initialOffset.x+(t.clientX-this.dragStartPos.x),y:this.initialOffset.y+(t.clientY-this.dragStartPos.y)})};onMouseUp=()=>{this.isDragging=!1,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp),this.savePersistedPosition()};onMouseEnter=()=>{"hover"===this.trigger&&(clearTimeout(this.closeTimer),this.setOpen(!0))};onMouseLeave=()=>{"hover"===this.trigger&&(this.closeTimer=setTimeout((()=>{this.setOpen(!1)}),300))};handleLocalKeyDown(t){if(!this.isOpen)return;const e=Array.from(this.el.shadowRoot?.querySelectorAll(".speed-dial-action")??[]);if((document.activeElement===this.mainButton||this.el.shadowRoot?.activeElement===this.mainButton)&&["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key))return t.preventDefault(),void(e.length>0&&e[e.length-1].focus());const i=e.indexOf(this.el.shadowRoot?.activeElement);"Escape"===t.key?(this.setOpen(!1),this.mainButton.focus()):-1!==i&&(["ArrowDown","ArrowRight"].includes(t.key)?(t.preventDefault(),e[(i+1)%e.length].focus()):["ArrowUp","ArrowLeft"].includes(t.key)&&(t.preventDefault(),e[(i-1+e.length)%e.length].focus()))}render(){const t=this.getActions(),e=this.getDialDirection(),i=this.getTooltipPosition(),o={"speed-dial-container":!0,[`speed-dial-${this.size}`]:!0,"speed-dial-open":this.isOpen,"speed-dial-glassy":this.glassy,"speed-dial-dragging":this.isDragging,"speed-dial-elastic":this.isElastic},r={"speed-dial-button":!0,"speed-dial-main":!0,[`speed-dial-${this.color}`]:!0,[`speed-dial-variant-${this.variant}`]:!0,[`speed-dial-shape-${this.shape}`]:!0,"speed-dial-button-open":this.isOpen,"speed-dial-button-has-toggle-icon":!!this.toggleIcon},n={"speed-dial-actions":!0,[`speed-dial-actions-${e}`]:!0,[`speed-dial-layout-${this.layout}`]:!0};return a(s,{key:"044e35eacc272591b4f60488eb366c40c1b1f236",class:{[`speed-dial-strategy-${this.strategy}`]:!0,[`speed-dial-${this.position}`]:!0},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},a("div",{key:"37b6426b0b26e5fbb55a7d52a1b1a515a3d56954",class:o,style:{"--magnetic-x":`${this.magneticTransform.x}px`,"--magnetic-y":`${this.magneticTransform.y}px`,"--drag-x":`${this.dragOffset.x}px`,"--drag-y":`${this.dragOffset.y}px`,transform:"translate(calc(var(--magnetic-x, 0px) + var(--drag-x, 0px)), calc(var(--magnetic-y, 0px) + var(--drag-y, 0px)))",transition:0!==this.magneticTransform.x||this.isDragging?"none":"transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",cursor:this.isDraggable?this.isDragging?"grabbing":"grab":"default"}},this.isOpen&&"click"===this.trigger&&a("div",{key:"4abeed7f2425ec14494dd7bb8e772eee322ff6a6",class:"speed-dial-backdrop",onClick:this.handleBackdropClick}),a("div",{key:"0bfdc8b5ce0ca3949742414078299c3fda31d755",class:n,role:"menu","aria-orientation":["top","bottom"].includes(e)?"vertical":"horizontal"},this.isOpen&&t.map(((t,e)=>{const s={"--item-angle":`${this.itemAngles[e]||0}deg`,"--index":e.toString(),"--stagger-delay":.05*e+"s","animation-delay":.05*e+"s"};return a("div",{key:t.id,class:"speed-dial-action-wrapper",style:s},a("ui-button",{variant:"ghost",class:{"speed-dial-action":!0,[`speed-dial-${t.variant||this.variant}`]:!0,[`speed-dial-variant-${t.variant||this.variant}`]:!0,[`speed-dial-shape-${t.shape||this.shape}`]:!0,[`speed-dial-${t.color||this.color}`]:!0,"speed-dial-action-disabled":t.disabled},onClick:()=>this.handleActionClick(t),disabled:t.disabled,ariaLabel:t.label,style:{backgroundColor:t.color||void 0}},a("span",{class:"speed-dial-action-icon"},a("ui-icon",{name:t.icon,library:t.iconLibrary||this.actionLibrary,size:"1.25em"})),t.badge&&a("span",{class:"speed-dial-action-badge",style:{backgroundColor:t.badgeColor}},t.badge),t.shortcut&&a("span",{class:"speed-dial-action-shortcut"},t.shortcut)),this.showTooltips&&t.label&&a("div",{class:{"speed-dial-tooltip":!0,[`speed-dial-tooltip-${i}`]:!0,"speed-dial-tooltip-hidden":this.labelHide}},t.label))}))),a("ui-button",{key:"3a6825fce27f39d7a4a689b4e860b7363b34e67f",variant:"ghost",class:r,onClick:this.toggleDial,ariaLabel:"Speed dial menu","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"true",ref:t=>this.mainButton=t},a("slot",{key:"b59d109049ce98eae735d4e598a929669171d247",name:"trigger-icon"},a("span",{key:"3d3c55dbbd3b67ade9dbd28a66b60feb2483e12a",class:"speed-dial-icon"},a("ui-icon",{key:"b0c231ad4fe207ca18e2b8efcf8ad891072d7c65",name:this.isOpen&&this.toggleIcon?this.toggleIcon:this.icon,library:this.iconLibrary,size:"1.5rem"}))))))}static get watchers(){return{isOpen:[{handleOpenChange:0}]}}};o.style='.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;z-index:1000;position:fixed;left:auto;right:auto;top:auto;bottom:auto}:host(.speed-dial-strategy-absolute){position:absolute}:host(.speed-dial-strategy-fixed){position:fixed}.speed-dial-container{position:relative}:host(.speed-dial-top-left){top:var(--speed-dial-top, 24px);left:var(--speed-dial-left, 24px)}:host(.speed-dial-top-right){top:var(--speed-dial-top, 24px);right:var(--speed-dial-right, 24px)}:host(.speed-dial-bottom-left){bottom:var(--speed-dial-bottom, 24px);left:var(--speed-dial-left, 24px)}:host(.speed-dial-bottom-right){bottom:var(--speed-dial-bottom, 24px);right:var(--speed-dial-right, 24px)}:host(.speed-dial-center),:host(.speed-dial-bottom-center){left:50%;bottom:var(--speed-dial-bottom, 24px);transform:translateX(-50%)}:host(.speed-dial-top-center){left:50%;top:var(--speed-dial-top, 24px);transform:translateX(-50%)}:host(.speed-dial-center-left){left:var(--speed-dial-left, 24px);top:50%;transform:translateY(-50%)}:host(.speed-dial-center-right){right:var(--speed-dial-right, 24px);top:50%;transform:translateY(-50%)}.speed-dial-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;animation:fadeIn 0.2s forwards;z-index:-1}.speed-dial-glassy .speed-dial-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes fadeIn{to{opacity:1}}.speed-dial-button{position:relative;z-index:2;display:flex !important;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);outline:none;-webkit-tap-highlight-color:transparent;background:transparent !important;border:none;padding:0;margin:0}.speed-dial-elastic .speed-dial-button{animation:speed-dial-elastic-anim 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes speed-dial-elastic-anim{0%{transform:scale(1)}30%{transform:scale(1.15, 0.85)}60%{transform:scale(0.9, 1.1)}100%{transform:scale(1)}}.speed-dial-button:hover{box-shadow:0 6px 12px rgba(0, 0, 0, 0.3);transform:scale(1.05)}.speed-dial-button:active{transform:scale(0.95)}.speed-dial-button-open:not(.speed-dial-button-has-toggle-icon){transform:rotate(45deg)}.speed-dial-button-open:not(.speed-dial-button-has-toggle-icon):hover{transform:rotate(45deg) scale(1.05)}.speed-dial-sm .speed-dial-button{width:40px;height:40px;font-size:18px}.speed-dial-sm .speed-dial-button{width:40px;height:40px;font-size:20px}.speed-dial-md .speed-dial-button{width:56px;height:56px;font-size:24px}.speed-dial-lg .speed-dial-button{width:72px;height:72px;font-size:32px}.speed-dial-icon{transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.speed-dial-actions{position:absolute;display:flex;gap:12px;z-index:1}.speed-dial-actions-up{flex-direction:column-reverse;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:12px}.speed-dial-actions-down{flex-direction:column;top:100%;left:50%;transform:translateX(-50%);margin-top:12px}.speed-dial-actions-left{flex-direction:row-reverse;right:100%;top:50%;transform:translateY(-50%);margin-right:12px}.speed-dial-actions-right{flex-direction:row;left:100%;top:50%;transform:translateY(-50%);margin-left:12px}.speed-dial-layout-radial,.speed-dial-layout-arc{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:0;height:0;overflow:visible}.speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-layout-arc .speed-dial-action-wrapper{position:absolute;top:50%;left:50%;margin:-24px;transform-origin:center center;transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);--angle:var(--item-angle, 0deg);--radius:100px;transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle))) scale(0);opacity:0}.speed-dial-open .speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-open .speed-dial-layout-arc .speed-dial-action-wrapper{transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle))) scale(1);opacity:1}.speed-dial-action-wrapper{position:relative;opacity:0;transform:scale(0);animation:actionAppear 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards}@keyframes actionAppear{from{opacity:0;transform:translate(0, 0) scale(0)}to{opacity:1;transform:var(--translation, translate(0, 0)) scale(1)}}.speed-dial-layout-linear .speed-dial-action-wrapper{--translation:translate(0, 0)}.speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-layout-arc .speed-dial-action-wrapper{--translation:translate(calc(cos(var(--angle)) * var(--radius)), calc(sin(var(--angle)) * -1 * var(--radius)))}.speed-dial-action{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;background:transparent !important;border:none}.speed-dial-sm .speed-dial-action{width:36px;height:36px;font-size:16px}.speed-dial-md .speed-dial-action{width:48px;height:48px;font-size:20px}.speed-dial-lg .speed-dial-action{width:60px;height:60px;font-size:24px}.speed-dial-action:hover:not(.speed-dial-action-disabled){box-shadow:0 4px 10px rgba(0, 0, 0, 0.3);transform:scale(1.1)}.speed-dial-action:active:not(.speed-dial-action-disabled){transform:scale(0.95)}.speed-dial-action-disabled{opacity:0.5;cursor:not-allowed}.speed-dial-action-icon{display:flex;align-items:center;justify-content:center}.speed-dial-action-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background-color:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);border:2px solid var(--bg-primary, #ffffff)}.speed-dial-action-shortcut{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:var(--color-primary, #374151);color:var(--text-standard, #ffffff);font-size:8px;padding:1px 4px;border-radius:4px;font-weight:700;text-transform:uppercase;z-index:1000;pointer-events:none}.speed-dial-action-shortcut.speed-dial-dragging{pointer-events:auto;z-index:2000}.speed-dial-action-shortcut{opacity:0.8}.speed-dial-tooltip{position:absolute;background-color:rgba(0, 0, 0, 0.85);color:var(--text-standard, #ffffff);padding:6px 12px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.2s ease;z-index:1001}.speed-dial-action-wrapper:hover .speed-dial-tooltip{opacity:1}.speed-dial-tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.speed-dial-tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.speed-dial-tooltip-top{bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:8px}.speed-dial-tooltip-bottom{top:100%;left:50%;transform:translateX(-50%);margin-top:8px}.speed-dial-tooltip::after{content:"";position:absolute;width:0;height:0;border:4px solid transparent}.speed-dial-tooltip-left::after{right:-8px;top:50%;transform:translateY(-50%);border-left-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-right::after{left:-8px;top:50%;transform:translateY(-50%);border-right-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-top::after{bottom:-8px;left:50%;transform:translateX(-50%);border-top-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-bottom::after{top:-8px;left:50%;transform:translateX(-50%);border-bottom-color:rgba(0, 0, 0, 0.85)}.speed-dial-button:focus-visible,.speed-dial-action:focus-visible{outline:2px solid var(--color-primary-hover, #2563eb);outline-offset:2px}';export{o as ui_speed_dial}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,a as i,h as s}from"./p-DUsoYu9r.js";import{c as o}from"./p-BMFah5q3.js";const a=class{constructor(i){t(this,i),this.locationChange=e(this,"locationChange"),this.locationSearch=e(this,"locationSearch"),this.locationOpen=e(this,"locationOpen"),this.locationClose=e(this,"locationClose"),this.locationLoadError=e(this,"locationLoadError"),this.locationCreate=e(this,"locationCreate")}get hostElement(){return i(this)}options=[];value="";multiSelect=!1;placeholder="Select location";searchable=!0;searchPlaceholder="Search country, state, city, postal code...";disabled=!1;clearable=!0;maxHeight=360;debounceMs=250;maxSelections=0;resultLimit=250;showRecent=!0;showFavorites=!0;persistState=!0;storageKey="ui-smart-location-dropdown-state";showPath=!0;showTypeBadge=!0;allowCustomValue=!1;ignoreParentPosition=!0;portal=!1;loadLocations;remoteMinChars=2;isOpen=!1;parsedOptions=[];remoteOptions=[];selectedIds=new Set;searchQuery="";loading=!1;loadError="";highlightedIndex=-1;menuLeft=0;menuTop=0;menuWidth=0;dropdownPosition="bottom";recentIds=[];favoriteIds=[];locationChange;locationSearch;locationOpen;locationClose;locationLoadError;locationCreate;searchDebounceTimer;searchInputRef;menuElement;optionsRefs=[];rafId;isPortaled=!1;searchToken=0;watchOptions(t){this.parsedOptions=this.normalizeOptions(t)}watchValue(t){this.selectedIds=this.parseSelectedIds(t)}componentWillLoad(){this.parsedOptions=this.normalizeOptions(this.options),this.selectedIds=this.parseSelectedIds(this.value),this.restorePersistentState()}disconnectedCallback(){this.searchDebounceTimer&&clearTimeout(this.searchDebounceTimer),this.cleanupPortal(),this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=0)}handleOutsideClick(t){const e="function"==typeof t.composedPath?t.composedPath():[],i=e.includes(this.hostElement)||this.hostElement.contains(t.target),s=!!this.menuElement&&(e.includes(this.menuElement)||this.menuElement.contains(t.target));i||s||this.closeDropdown()}handleResize(){this.isOpen&&this.calculatePosition()}handleScroll(){this.isOpen&&this.calculatePosition()}normalizeOptions(t){const e="string"==typeof t?this.tryParse(t):t||[],i=[],s=(t,e,o,a=[])=>{t.forEach((t=>{if(null==t||null==t.id||!t.label)return;const r=String(t.id),n=t.type||this.inferType(e),c=[...a,t.label],l=[t.label,t.code||"",n,c.join(" "),(t.tags||[]).join(" ")].join(" ").toLowerCase();i.push({...t,idStr:r,parentIdStr:o,type:n,depth:e,pathLabels:c,searchText:l}),t.children&&t.children.length>0&&s(t.children,e+1,r,c)}))};return s(e,0),i}tryParse(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e:[]}catch(t){return console.error("Invalid JSON for location options",t),[]}}inferType(t){return t<=0?"country":1===t?"state":2===t?"city":3===t?"district":"custom"}parseSelectedIds(t){return t?this.multiSelect?new Set(t.split(",").map((t=>t.trim())).filter(Boolean)):new Set([t]):new Set}get selectedOptions(){const t=new Map(this.getMergedOptions().map((t=>[t.idStr,t])));return Array.from(this.selectedIds).map((e=>t.get(e))).filter((t=>!!t))}getMergedOptions(){const t=[...this.parsedOptions],e=new Set(t.map((t=>t.idStr)));return this.remoteOptions.forEach((i=>{e.has(i.idStr)||t.push(i)})),t}get filteredOptions(){const t=this.getMergedOptions(),e=this.searchQuery.trim().toLowerCase();let i=e?t.filter((t=>t.searchText.includes(e))):t;if(!e){const t=this.favoriteIds.map((t=>i.find((e=>e.idStr===t)))).filter((t=>!!t)),e=this.recentIds.map((t=>i.find((e=>e.idStr===t&&!this.favoriteIds.includes(t))))).filter((t=>!!t)),s=new Set([...t.map((t=>t.idStr)),...e.map((t=>t.idStr))]),o=i.filter((t=>!s.has(t.idStr)));i=[...t,...e,...o]}return i.slice(0,this.resultLimit)}get typeLabelMap(){return{country:"Country",state:"State",province:"Province",city:"City",district:"District",postal:"Postal",custom:"Custom"}}toggleDropdown=()=>{this.disabled||(this.isOpen?this.closeDropdown():(this.isOpen=!0,this.locationOpen.emit(),this.highlightedIndex=this.filteredOptions.length>0?0:-1,this.schedulePositionUpdate(),this.searchable&&window.setTimeout((()=>this.searchInputRef?.focus()),25)))};closeDropdown=()=>{this.isOpen&&(this.isOpen=!1,this.locationClose.emit(),this.highlightedIndex=-1,this.searchQuery="",this.remoteOptions=[],this.loadError="",this.cleanupPortal())};schedulePositionUpdate(){this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{this.calculatePosition(),this.rafId=0}))}calculatePosition(){if(!this.isOpen||!this.menuElement)return;const t=this.hostElement.shadowRoot?.querySelector(".location-trigger");if(!t)return;this.portal&&!this.isPortaled&&this.menuElement.parentElement!==document.body&&(document.body.appendChild(this.menuElement),this.isPortaled=!0);const e=o(t,{menuWidth:t.offsetWidth,menuHeight:this.maxHeight,gap:4,placement:"auto",useTransformedAncestorOffset:!this.ignoreParentPosition});this.menuLeft=e.left,this.menuTop=e.top,this.menuWidth=e.width,this.dropdownPosition=e.placement}cleanupPortal(){this.portal&&this.isPortaled&&this.menuElement&&this.menuElement.parentElement===document.body&&(this.hostElement.appendChild(this.menuElement),this.isPortaled=!1)}onSearchInput_Custom=t=>{this.searchQuery=t||"",this.searchDebounceTimer&&clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=window.setTimeout((()=>{this.runRemoteSearch(this.searchQuery),this.emitSearchEvent(),this.highlightedIndex=this.filteredOptions.length>0?0:-1}),this.debounceMs)};async runRemoteSearch(t){if(!this.loadLocations)return;if((t||"").trim().length<this.remoteMinChars)return this.remoteOptions=[],this.loading=!1,void(this.loadError="");const e=++this.searchToken;this.loading=!0,this.loadError="";try{const i=await this.loadLocations(t.trim());if(e!==this.searchToken)return;this.remoteOptions=this.normalizeOptions(i||[])}catch(i){if(e!==this.searchToken)return;const s=i instanceof Error?i.message:"Failed to load locations";this.remoteOptions=[],this.loadError=s,this.locationLoadError.emit({query:t,message:s})}finally{e===this.searchToken&&(this.loading=!1,this.emitSearchEvent())}}emitSearchEvent(){this.locationSearch.emit({query:this.searchQuery,localResults:this.parsedOptions.filter((t=>t.searchText.includes(this.searchQuery.toLowerCase()))).length,remoteResults:this.remoteOptions.length,loading:this.loading})}handleKeyDown=t=>{if(this.disabled)return;const e=this.filteredOptions;switch(t.key){case"Enter":case" ":return this.isOpen?this.highlightedIndex>=0&&e[this.highlightedIndex]?(t.preventDefault(),void this.selectOption(e[this.highlightedIndex],"select")):void(this.allowCustomValue&&this.searchQuery.trim()&&(t.preventDefault(),this.createCustomLocation(this.searchQuery.trim()))):(t.preventDefault(),void this.toggleDropdown());case"ArrowDown":return t.preventDefault(),void(this.isOpen?e.length>0&&(this.highlightedIndex=Math.min(e.length-1,this.highlightedIndex+1),this.scrollToHighlighted()):this.toggleDropdown());case"ArrowUp":return t.preventDefault(),void(this.isOpen&&e.length>0&&(this.highlightedIndex=Math.max(0,this.highlightedIndex-1),this.scrollToHighlighted()));case"Escape":return void(this.isOpen&&(t.preventDefault(),this.closeDropdown()));case"Backspace":if(this.multiSelect&&!this.searchQuery&&this.selectedIds.size>0){const t=Array.from(this.selectedIds).at(-1);t&&this.removeSelectedId(t,"remove")}return;default:return}};scrollToHighlighted(){const t=this.optionsRefs[this.highlightedIndex];t?.scrollIntoView({block:"nearest"})}selectOption(t,e){if(!t.disabled){if(this.multiSelect){const e=new Set(this.selectedIds);if(e.has(t.idStr))e.delete(t.idStr);else{if(this.maxSelections>0&&e.size>=this.maxSelections)return;e.add(t.idStr)}this.selectedIds=e}else this.selectedIds=new Set([t.idStr]),this.closeDropdown();this.touchRecent(t.idStr),this.syncValueAndEmit(e)}}removeSelectedId(t,e){if(!this.selectedIds.has(t))return;const i=new Set(this.selectedIds);i.delete(t),this.selectedIds=i,this.syncValueAndEmit(e)}clearSelection=t=>{t?.stopPropagation(),0!==this.selectedIds.size&&(this.selectedIds=new Set,this.syncValueAndEmit("clear"))};toggleFavorite=(t,e)=>{e.stopPropagation();const i=this.favoriteIds.includes(t);this.favoriteIds=i?this.favoriteIds.filter((e=>e!==t)):[t,...this.favoriteIds].slice(0,50),this.persistCurrentState()};touchRecent(t){this.recentIds=[t,...this.recentIds.filter((e=>e!==t))].slice(0,50),this.persistCurrentState()}persistCurrentState(){if(this.persistState&&"undefined"!=typeof localStorage)try{localStorage.setItem(this.storageKey,JSON.stringify({recentIds:this.recentIds,favoriteIds:this.favoriteIds}))}catch{}}restorePersistentState(){if(this.persistState&&"undefined"!=typeof localStorage)try{const t=localStorage.getItem(this.storageKey);if(!t)return;const e=JSON.parse(t);this.recentIds=Array.isArray(e?.recentIds)?e.recentIds.map((t=>String(t))).slice(0,50):[],this.favoriteIds=Array.isArray(e?.favoriteIds)?e.favoriteIds.map((t=>String(t))).slice(0,50):[]}catch{this.recentIds=[],this.favoriteIds=[]}}syncValueAndEmit(t){const e=Array.from(this.selectedIds);this.value=this.multiSelect?e.join(","):e[0]||"",this.locationChange.emit({value:this.value,selected:this.selectedOptions,trigger:t,query:this.searchQuery})}createCustomLocation(t){const e=`custom:${t.toLowerCase().replace(/\s+/g,"-")}`,i={id:e,label:t,type:"custom"};this.locationCreate.emit(i);const s=this.normalizeOptions([i]);this.remoteOptions=[...s,...this.remoteOptions.filter((t=>t.idStr!==e))],s[0]&&this.selectOption(s[0],"select")}getDisplayText(){const t=this.selectedOptions;return 0===t.length?this.placeholder:this.multiSelect?1===t.length?this.showPath?t[0].pathLabels.join(" / "):t[0].label:`${t.length} locations selected`:this.showPath?t[0].pathLabels.join(" / "):t[0].label}renderSelectedChips(){if(!this.multiSelect||0===this.selectedOptions.length)return null;const t=this.selectedOptions.slice(0,3),e=this.selectedOptions.length-t.length;return s("div",{class:"selected-chips"},t.map((t=>s("span",{class:"selected-chip",key:`chip-${t.idStr}`},s("span",{class:"chip-label"},this.showPath?t.pathLabels.join(" / "):t.label),s("ui-button",{class:"chip-remove",onButtonClick:()=>this.removeSelectedId(t.idStr,"remove"),"aria-label":`Remove ${t.label}`,variant:"plain",icon:"x",iconLibrary:"lucide",iconOnly:!0})))),e>0&&s("span",{class:"selected-more"},"+",e))}renderOption(t,e){const i=this.selectedIds.has(t.idStr),o=this.highlightedIndex===e,a=this.favoriteIds.includes(t.idStr),r=this.showPath?t.pathLabels.join(" / "):t.label;return s("div",{class:{"location-option":!0,"location-option-selected":i,"location-option-highlighted":o,"location-option-disabled":!!t.disabled},role:"option","aria-selected":i?"true":"false",onMouseEnter:()=>this.highlightedIndex=e,onClick:()=>this.selectOption(t,"select"),ref:t=>this.optionsRefs[e]=t},s("div",{class:"location-option-main"},this.multiSelect&&s("ui-icon",{name:i?"check-square":"square",library:"lucide",size:"18px"}),s("div",{class:"location-option-text"},s("span",{class:"location-label"},r),t.code&&s("span",{class:"location-code"},t.code))),s("div",{class:"location-option-meta"},this.showTypeBadge&&s("span",{class:"location-type"},this.typeLabelMap[t.type]),this.showFavorites&&s("ui-button",{class:{"fav-btn":!0,active:a},onButtonClick:e=>this.toggleFavorite(t.idStr,e.detail),"aria-label":a?`Remove ${t.label} from favorites`:`Add ${t.label} to favorites`,variant:"plain",icon:"star",iconLibrary:"lucide",iconOnly:!0})))}render(){const t=this.filteredOptions,e=this.selectedIds.size>0,i=this.allowCustomValue&&!!this.searchQuery.trim()&&0===t.length;return s("div",{key:"0d1270c7b8941a54d23f12b336a40248127a9515",class:{"location-dropdown":!0,open:this.isOpen,disabled:this.disabled}},s("div",{key:"454a4fb32bdfcbb31f61ab24f69dd720f1d7975c",class:"location-trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox",tabIndex:this.disabled?-1:0,onClick:this.toggleDropdown,onKeyDown:this.handleKeyDown},s("span",{key:"06e96ca6b9ce142e1c6eb4145d75de7c6753d0aa",class:{"trigger-text":!0,placeholder:!e}},this.getDisplayText()),s("div",{key:"75bf60390f1983473a30b6c7fa6906d7bd39a99d",class:"trigger-icons"},e&&this.clearable&&!this.disabled&&s("ui-button",{key:"274b970b60c84e37ba60ef76a226d8dffd21f85b",class:"clear-btn",onButtonClick:this.clearSelection,"aria-label":"Clear selected locations",variant:"plain",icon:"x",iconLibrary:"lucide",iconOnly:!0}),s("ui-icon",{key:"872eb5b33bb7c84ebdf68d0685af115d78b893ba",name:"chevron-down",library:"lucide",size:"16px",class:{arrow:!0,open:this.isOpen}}))),this.renderSelectedChips(),this.isOpen&&s("div",{key:"5285b7a36ec106df13afbfde4bae0127567dd459",class:{menu:!0,top:"top"===this.dropdownPosition},role:"listbox",ref:t=>this.menuElement=t,style:{maxHeight:`${this.maxHeight}px`,left:`${this.menuLeft}px`,width:`${this.menuWidth}px`,position:"fixed",zIndex:"10020",top:`${this.menuTop}px`}},this.searchable&&s("div",{key:"96c9247325ad38fa7ad1378141a8de53fe23c062",class:"search-row"},s("ui-input",{key:"16e6a0e35ae37de129b1812ecd7ed7c46c3b84c3",ref:t=>this.searchInputRef=t,class:"search-input",value:this.searchQuery,placeholder:this.searchPlaceholder,onInputChange:t=>this.onSearchInput_Custom(t.detail),onKeyDown:this.handleKeyDown,variant:"plain"})),this.loading&&s("div",{key:"8be3bb6ff2b546d4b77dedea4efdced3cf456a73",class:"status loading"},"Loading locations..."),!this.loading&&this.loadError&&s("div",{key:"2990bc4eb6413fc9ad02ec4214af9701f3ddb63f",class:"status error"},this.loadError),!this.loading&&t.length>0&&s("div",{key:"cc1da47a2b1e0703c8f9cf3b12f66c53f4c72215",class:"options-list"},t.map(((t,e)=>this.renderOption(t,e)))),!this.loading&&0===t.length&&!i&&s("div",{key:"74871de825014986333f513ab8a78eee94efffca",class:"status empty"},"No locations found"),i&&s("ui-button",{key:"0fd041bedf71502bea54a09d658669ccd3bcc68f",class:"create-btn",onButtonClick:()=>this.createCustomLocation(this.searchQuery.trim()),variant:"plain",align:"start",fullWidth:!0,icon:"plus",iconLibrary:"lucide",label:`Create "${this.searchQuery.trim()}"`}),(this.showFavorites||this.showRecent)&&!this.searchQuery&&s("div",{key:"5a4c6ecc6768d6a6ee8b3731e4d12b845c936a8f",class:"footer-meta"},this.showFavorites&&s("span",{key:"e2cac6f8adb895ba9f262be9924ea9a5619c95e3"},"Favorites: ",this.favoriteIds.length),this.showRecent&&s("span",{key:"f541571f8f6dd69ce531f7a54cc8cd6d06b3d8a8"},"Recent: ",this.recentIds.length))))}static get watchers(){return{options:[{watchOptions:0}],value:[{watchValue:0}]}}};a.style='.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;width:100%;--sld-border:#cfd8e3;--sld-border-strong:#b4c1d1;--sld-focus:#2563eb;--sld-text:#10213a;--sld-muted:#62748a;--sld-bg:#ffffff;--sld-panel:rgba(255, 255, 255, 0.98);--sld-panel-solid:#ffffff;--sld-hover:#f3f8ff;--sld-selected:#e8f1ff;--sld-chip:#edf4ff;--sld-shadow:0 18px 40px rgba(15, 23, 42, 0.16)}.location-dropdown{position:relative;width:100%;font-family:"Segoe UI", Roboto, sans-serif}.location-trigger{border:1px solid var(--sld-border);border-radius:14px;min-height:48px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);color:var(--sld-text);cursor:pointer;box-shadow:0 2px 8px rgba(15, 23, 42, 0.04);transition:border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease}.location-trigger:hover{border-color:var(--sld-border-strong);box-shadow:0 10px 22px rgba(37, 99, 235, 0.08)}.location-trigger:focus,.location-dropdown.open .location-trigger{border-color:var(--sld-focus);box-shadow:0 0 0 4px rgba(37, 99, 235, 0.14), 0 16px 32px rgba(37, 99, 235, 0.14);outline:none}.location-dropdown.disabled .location-trigger{opacity:0.72;cursor:not-allowed}.trigger-text{flex:1;font-size:14px;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trigger-text.placeholder{color:#91a0b4}.trigger-icons{display:inline-flex;align-items:center;gap:6px}.arrow{transition:transform 0.18s ease;color:var(--sld-muted)}.arrow.open{transform:rotate(180deg)}.clear-btn,.fav-btn,.chip-remove{border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sld-muted);padding:0}.clear-btn:hover,.fav-btn:hover,.chip-remove:hover{color:var(--sld-text)}.clear-btn{width:24px;height:24px;border-radius:999px;background:#eef4fb}.clear-btn:hover{background:#e2ecf8}.fav-btn.active{color:#d97706}.selected-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.selected-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid #d7e7ff;background:var(--sld-chip);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.9);max-width:100%}.chip-label{font-size:12px;color:#1c3657;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-more{font-size:12px;color:#37557b;align-self:center}.menu{border:1px solid rgba(180, 193, 209, 0.72);border-radius:18px;background:var(--sld-panel-solid);background-color:var(--sld-panel-solid);backdrop-filter:blur(18px);box-shadow:var(--sld-shadow);overflow:hidden;isolation:isolate}.search-row{position:sticky;top:0;z-index:1;padding:12px;border-bottom:1px solid #edf2f7;background:var(--sld-panel)}.search-input{width:100%;border:1px solid #d4deea;border-radius:12px;padding:11px 13px;font-size:14px;outline:none;background:#f9fbfe;color:var(--sld-text);transition:border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease}.search-input:focus{border-color:var(--sld-focus);background:#ffffff;box-shadow:0 0 0 4px rgba(37, 99, 235, 0.1)}.options-list{padding:8px;overflow-y:auto;max-height:inherit;background:var(--sld-panel-solid)}.location-option{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;border:1px solid transparent;border-radius:14px;background:var(--sld-panel-solid);transition:background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease}.location-option:hover,.location-option-highlighted{background:var(--sld-hover);border-color:#d7e7ff;box-shadow:0 10px 24px rgba(37, 99, 235, 0.08);transform:translateY(-1px)}.location-option-selected{background:var(--sld-selected);border-color:#b9d4ff;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.85)}.location-option-disabled{opacity:0.5;cursor:not-allowed}.location-option-main{min-width:0;display:flex;align-items:center;gap:8px;flex:1}.location-option-text{min-width:0;display:flex;flex-direction:column}.location-label{font-size:13px;font-weight:600;color:var(--sld-text);white-space:normal;overflow:hidden;text-overflow:ellipsis}.location-code{font-size:11px;color:var(--sld-muted)}.location-option-meta{display:inline-flex;align-items:center;gap:8px}.location-type{font-size:10px;border:1px solid #d8e5f3;border-radius:999px;padding:4px 8px;color:#55708f;background:#f7fbff;text-transform:uppercase;letter-spacing:0.08em;font-weight:700}.fav-btn{width:28px;height:28px;border-radius:999px;background:#f6f9fc}.fav-btn:hover{background:#ebf2f8}.status{padding:14px;font-size:13px;background:var(--sld-panel-solid)}.status.loading,.status.empty{color:var(--sld-muted)}.status.error{color:#b91c1c;background:#fef2f2}.create-btn{width:100%;border:none;border-top:1px solid #edf2f7;background:#f7fbff;color:var(--sld-text);font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px;cursor:pointer;font-weight:600}.create-btn:hover{background:#eef6ff}.footer-meta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf2f7;padding:10px 12px 12px;font-size:11px;color:var(--sld-muted);background:var(--sld-panel)}';export{a as ui_smart_location_dropdown}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,a as s}from"./p-DUsoYu9r.js";const n=class{constructor(i){t(this,i),this.menuItemClick=e(this,"menuItemClick")}items=[];target;menuItemClick;visible=!1;position={x:0,y:0};activeSubmenus={};submenuPositions={};parsedItems=[];submenuOpenTimeouts={};submenuCloseTimeouts={};menuRef;targetElement=null;contextMenuHandler;targetRetryCount=0;maxTargetRetries=10;targetRetryDelay=100;handleItemsChange(t){this.parseItems(t)}componentWillLoad(){this.parseItems(this.items)}componentDidLoad(){if(this.attachContextMenuHandler(),this.target){const t=new MutationObserver((()=>{this.attachContextMenuHandler()}));t.observe(document.body,{childList:!0,subtree:!0}),this._targetObserver=t}}parseItems(t){if("string"==typeof t)try{this.parsedItems=JSON.parse(t)}catch{this.parsedItems=[]}else this.parsedItems=t||[]}attachContextMenuHandler(){if(!this.target)return void(this.contextMenuHandler||(this.contextMenuHandler=t=>{t.preventDefault(),t.stopPropagation(),this.show(t.clientX,t.clientY)},document.addEventListener("contextmenu",this.contextMenuHandler)));const t=document.querySelector(this.target);t!==this.targetElement&&(this.targetElement&&this.contextMenuHandler&&this.targetElement.removeEventListener("contextmenu",this.contextMenuHandler),this.targetElement=t),this.targetElement?(this.contextMenuHandler||(this.contextMenuHandler=t=>{t.preventDefault(),t.stopPropagation(),this.show(t.clientX,t.clientY)}),this.targetElement.addEventListener("contextmenu",this.contextMenuHandler),this.targetRetryCount=0):this.targetRetryCount<this.maxTargetRetries&&(this.targetRetryCount++,setTimeout((()=>this.attachContextMenuHandler()),this.targetRetryDelay))}disconnectedCallback(){this.targetElement&&this.contextMenuHandler&&this.targetElement.removeEventListener("contextmenu",this.contextMenuHandler),this._targetObserver&&this._targetObserver.disconnect(),!this.target&&this.contextMenuHandler&&document.removeEventListener("contextmenu",this.contextMenuHandler)}handleClickOutside(){this.visible&&this.hide()}handleResize(){this.visible&&this.hide()}async show(t,e){this.visible=!0,this.activeSubmenus={},this.submenuPositions={},setTimeout((()=>{this.position=this.calculatePosition(t,e,this.menuRef)}),0)}async hide(){this.visible=!1,this.activeSubmenus={},this.submenuPositions={}}calculatePosition(t,e,i){if(!i)return{x:t,y:e};const s=i.getBoundingClientRect(),n=window.innerWidth,a=window.innerHeight;let o=t,r=e;return t+s.width>n&&(o=n-s.width-5),e+s.height>a&&(r=a-s.height-5),{x:Math.max(5,o),y:Math.max(5,r)}}handleItemClick(t,e){e.stopPropagation(),t.disabled||t.divider||t.submenu&&t.submenu.length>0||(t.action&&t.action(),this.menuItemClick.emit({label:t.label,item:t}),this.hide())}handleItemHover(t,e,i,s=""){const n=s?`${s}-${e}`:`${e}`,a=n.split("-").length-1;if(Object.keys(this.submenuOpenTimeouts).forEach((t=>{t.split("-").length-1===a&&t!==n&&(clearTimeout(this.submenuOpenTimeouts[t]),delete this.submenuOpenTimeouts[t],this.activeSubmenus[t]=!1)})),t.submenu&&t.submenu.length>0&&!t.disabled)this.submenuOpenTimeouts[n]&&clearTimeout(this.submenuOpenTimeouts[n]),this.submenuCloseTimeouts[n]&&clearTimeout(this.submenuCloseTimeouts[n]),this.submenuOpenTimeouts[n]=window.setTimeout((()=>{this.activeSubmenus={...this.activeSubmenus,[n]:!0},setTimeout((()=>{const t=this.hostElement?.shadowRoot?.querySelector(`.submenu-${n}`);if(t){const e=i.currentTarget.getBoundingClientRect(),s=t.getBoundingClientRect(),a=window.innerWidth,o=window.innerHeight;let r=e.right,h=e.top,u="right",l="down";r+s.width>a&&(r=e.left-s.width,u="left"),h+s.height>o&&(h=Math.max(5,o-s.height-5),h<e.top&&(l="up")),r=Math.max(5,Math.min(r,a-s.width-5)),h=Math.max(5,Math.min(h,o-s.height-5)),this.submenuPositions={...this.submenuPositions,[n]:{x:r,y:h,direction:u,vertical:l}}}}),0)}),120);else{Object.keys(this.submenuOpenTimeouts).forEach((t=>{t.startsWith(n)||n.startsWith(t)||(clearTimeout(this.submenuOpenTimeouts[t]),delete this.submenuOpenTimeouts[t],this.activeSubmenus[t]=!1)})),Object.keys(this.submenuCloseTimeouts).forEach((t=>{t.startsWith(n)||n.startsWith(t)||(clearTimeout(this.submenuCloseTimeouts[t]),delete this.submenuCloseTimeouts[t])}));const t={},e={};Object.keys(this.activeSubmenus).forEach((i=>{(i.startsWith(n)||n.startsWith(i))&&(t[i]=this.activeSubmenus[i],this.submenuPositions[i]&&(e[i]=this.submenuPositions[i]))})),this.activeSubmenus=t,this.submenuPositions=e}}handleSubmenuClick(t,e){e.stopPropagation(),t.disabled||t.divider||(t.action&&t.action(),this.hide())}iconLibrary="default";renderMenuItem(t,e){if(t.divider)return i("div",{class:"menu-divider"});const s=t.submenu&&t.submenu.length>0,n=`${e}`;return i("div",{class:{"menu-item":!0,disabled:t.disabled,"has-submenu":s,active:this.activeSubmenus[n]},"data-path":n,onClick:e=>this.handleItemClick(t,e),onMouseEnter:i=>this.handleItemHover(t,e,i),onMouseLeave:()=>{setTimeout((()=>{const t=this.hostElement?.shadowRoot?.querySelector(`.submenu-${n}`);t&&t.matches(":hover")||(this.activeSubmenus[n]=!1,this.submenuPositions[n]=void 0)}),150)}},t.icon&&i("span",{class:"menu-icon"},i("ui-icon",{name:t.icon,library:this.iconLibrary,size:"16px"})),i("div",{class:"menu-label-container"},i("span",{class:"menu-label"},t.label),t.description&&i("span",{class:"menu-description"},t.description)),s&&i("span",{class:"submenu-arrow"},i("ui-icon",{name:"chevron-right",library:"lucide",size:"14px"})))}renderSubmenu(t,e,s=1){const n=this.submenuPositions[e];return!n||s>4?null:i("div",{class:`context-menu submenu submenu-${e} submenu-${n.direction} submenu-${n.vertical}`,style:{left:`${n.x}px`,top:`${n.y}px`,zIndex:`${1e4+s}`},onMouseEnter:()=>{this.submenuCloseTimeouts[e]&&(clearTimeout(this.submenuCloseTimeouts[e]),delete this.submenuCloseTimeouts[e]),this.activeSubmenus[e]=!0},onMouseLeave:()=>{this.submenuOpenTimeouts[e]&&(clearTimeout(this.submenuOpenTimeouts[e]),delete this.submenuOpenTimeouts[e]),this.submenuCloseTimeouts[e]=window.setTimeout((()=>{this.activeSubmenus[e]=!1}),200)}},t.map(((t,s)=>{if(t.divider)return i("div",{class:"menu-divider"});const a=t.submenu&&t.submenu.length>0,o=`${e}-${s}`;return i("div",{class:{"menu-item":!0,disabled:t.disabled,"has-submenu":a,active:this.activeSubmenus[o]},onClick:e=>this.handleItemClick(t,e),onMouseEnter:i=>this.handleItemHover(t,s,i,e),onMouseLeave:()=>{this.submenuOpenTimeouts[o]&&(clearTimeout(this.submenuOpenTimeouts[o]),delete this.submenuOpenTimeouts[o]),this.submenuCloseTimeouts[o]=window.setTimeout((()=>{this.activeSubmenus[o]=!1}),200)}},t.icon&&i("span",{class:"menu-icon"},i("ui-icon",{name:t.icon,library:this.iconLibrary,size:"16px"})),i("div",{class:"menu-label-container"},i("span",{class:"menu-label"},t.label),t.description&&i("span",{class:"menu-description"},t.description)),a&&i("span",{class:"submenu-arrow"},i("ui-icon",{name:"left"===n.direction?"chevron-left":"chevron-right",library:"lucide",size:"14px"})))})),Object.keys(this.activeSubmenus).map((t=>{if(t.startsWith(e+"-")){const e=this.getItemsByPath(t);if(e&&e.length>0)return this.renderSubmenu(e,t,s+1)}return null})))}getItemsByPath(t){const e=t.split("-").map((t=>parseInt(t)));let i=this.parsedItems;for(let t=0;t<e.length;t++){const s=e[t];if(!(i&&i[s]&&i[s].submenu))return null;i=i[s].submenu}return i}get hostElement(){return s(this)}render(){return this.visible?i("div",{id:"smart-menu-host"},i("div",{class:"context-menu",ref:t=>this.menuRef=t,style:{left:`${this.position.x}px`,top:`${this.position.y}px`},onClick:t=>t.stopPropagation()},this.parsedItems.map(((t,e)=>this.renderMenuItem(t,e)))),Object.keys(this.activeSubmenus).map((t=>{if(this.activeSubmenus[t]){const e=this.getItemsByPath(t);if(e&&e.length>0){const i=t.split("-").length+1;return this.renderSubmenu(e,t,i)}}return null}))):null}static get watchers(){return{items:[{handleItemsChange:0}]}}};n.style='.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.context-menu{position:fixed;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);backdrop-filter:blur(10px);border-radius:12px;padding:6px;min-width:220px;box-shadow:0 10px 40px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;z-index:10000;animation:menuFadeIn 0.15s ease-out;user-select:none}.context-menu.submenu{background:linear-gradient(135deg, #f093fb 0%, #f5576c 100%)}@keyframes menuFadeIn{from{opacity:0;transform:scale(0.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.menu-item{display:flex;align-items:center;padding:10px 14px;cursor:pointer;border-radius:8px;color:white;font-size:14px;font-weight:500;transition:all 0.15s ease;position:relative;gap:10px}.menu-item:hover:not(.disabled){background:rgba(255, 255, 255, 0.2);transform:translateX(2px)}.menu-item.active{background:rgba(255, 255, 255, 0.25)}.menu-item.disabled{opacity:0.4;cursor:not-allowed}.menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.menu-label-container{flex:1;display:flex;flex-direction:column}.menu-label{white-space:nowrap}.menu-description{font-size:11px;opacity:0.7;font-weight:normal;margin-top:1px}.submenu-arrow{font-size:10px;opacity:0.8;margin-left:auto}.menu-divider{height:1px;background:rgba(255, 255, 255, 0.2);margin:6px 8px}';export{n as ui_smart_context_menu}
|