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 r,h as a}from"./p-DUsoYu9r.js";const i=class{constructor(r){t(this,r),this.rowSelect=e(this,"rowSelect"),this.rowDeselect=e(this,"rowDeselect"),this.cellEdit=e(this,"cellEdit"),this.cellEditStart=e(this,"cellEditStart"),this.cellEditStop=e(this,"cellEditStop"),this.rowEditStart=e(this,"rowEditStart"),this.rowEditStop=e(this,"rowEditStop"),this.sortChange=e(this,"sortChange"),this.filterChange=e(this,"filterChange"),this.pageChange=e(this,"pageChange"),this.searchChange=e(this,"searchChange"),this.columnOrderChange=e(this,"columnOrderChange"),this.columnVisibilityChange=e(this,"columnVisibilityChange"),this.columnPin=e(this,"columnPin"),this.rowPin=e(this,"rowPin"),this.rowReorderEvent=e(this,"rowReorderEvent"),this.dataExport=e(this,"dataExport"),this.groupToggle=e(this,"groupToggle"),this.groupByChange=e(this,"groupByChange"),this.rowEdit=e(this,"rowEdit"),this.rowDelete=e(this,"rowDelete"),this.rowAction=e(this,"rowAction"),this.lazyLoadMore=e(this,"lazyLoadMore")}get el(){return r(this)}config={columns:[],data:[],selectable:!1,pagination:!0,pageSize:10};columns=[];data=[];selectable=!1;multiSelect=!0;editable=!1;stickyHeader=!0;pagination=!0;pageSize=10;pageSizeOptions=[5,10,25,50,100];paginationTheme="default";paginationShape="default";paginationKeyboardNav=!0;paginationQuickJump=!1;paginationQuickJumpStep=5;paginationShowProgress=!1;paginationSticky=!1;paginationStickyPosition="bottom";paginationTransitions=!0;paginationUrlSync=!1;paginationUrlParam="page";paginationPersistPage=!1;paginationStorageKey="table-page";paginationSwipeGestures=!0;paginationSmartCompact=!1;paginationSmartCompactThreshold=20;paginationAutoHide=!0;paginationResponsive=!0;paginationMobileBreakpoint=768;virtualScroll=!1;virtualRowHeight=48;advancedFilters=!1;columnAggregation=!1;aggregationFunctions=["sum","avg","min","max","count"];persistState=!1;stateStorageKey="table-state";multiSort=!1;maxSortColumns=3;autoSizeColumns=!1;rowDetails=!1;keyboardShortcuts=!0;excelExport=!1;inlineValidation=!1;validationRules={};advancedCellEditors=!0;columnFormatting=!0;rangeSelection=!1;copyPaste=!1;conditionalFormatting=!1;formattingRules={};contextMenu=!1;mobileCardView=!0;lazyLoad=!1;pdfExport=!1;enableSparklines=!1;undoRedo=!1;printOptimized=!1;enhancedAccessibility=!0;advancedValidation=!1;searchable=!0;sortable=!0;filterable=!0;columnReorder=!0;columnVisibility=!0;rowHeight="normal";striped=!0;stripedColor;stripedColorDark;hoverable=!0;bordered=!0;loading=!1;showSkeleton=!0;skeletonRows=5;emptyMessage="No data available";serverSide=!1;totalRows=0;exportable=!0;theme="auto";variant="default";color="primary";grouping=!1;groupBy="";expandGroupsByDefault=!0;showGroupCount=!0;columnGrouping=!1;showGroupingControls=!0;treeData=!1;showActions=!1;customActions;iconLibrary="default";columnPinning=!0;rowPinning=!0;rowSpanning=!1;rowReorder=!1;multiFilter=!0;showFilterPanel=!1;showColumnPanel=!1;headerBackground;state={selectedRows:new Set,virtualVisibleRange:{start:0,end:50},sortConfig:{field:"",direction:null},filterConfig:{},searchQuery:"",pagination:{currentPage:1,pageSize:10,totalPages:1,totalRows:0},editingCell:null,columnOrder:[],visibleColumns:new Set,columnWidths:new Map,expandedGroups:new Set,groupBy:null,expandedRows:new Set,focusedCell:null};draggedColumn=null;draggedRow=null;showColumnSettings=!1;showExportDialog=!1;resizingColumn=null;activeActionMenu=null;pinnedColumns={left:[],right:[]};pinnedRows={top:[],bottom:[]};editingRow=null;activeFilters=new Map;filterPanelField="";filterPanelOperator="contains";filterPanelValue="";draggedColumnInPanel=null;columnSearchQuery="";virtualScrollOffset=0;virtualVisibleRange={start:0,end:50};multiSortConfig=[];columnAggregations=new Map;expandedRowDetails=new Set;validationErrors=new Map;showKeyboardShortcutsHelp=!1;advancedFilterConfig=new Map;rangeSelectionAnchor=null;clipboardData=[];formattingCache=new Map;contextMenuState={visible:!1,x:0,y:0,type:"cell",target:null};undoStack=[];redoStack=[];lazyLoadedRows=new Set;isMobileView=!1;rowSelect;rowDeselect;cellEdit;cellEditStart;cellEditStop;rowEditStart;rowEditStop;sortChange;filterChange;pageChange;searchChange;columnOrderChange;columnVisibilityChange;columnPin;rowPin;rowReorderEvent;dataExport;groupToggle;groupByChange;rowEdit;rowDelete;rowAction;lazyLoadMore;resizeObserver;lazyLoadObserver;editInputRef;resizeStartX=0;resizeStartWidth=0;resizingColumnId="";componentWillLoad(){this.initializeState()}componentDidLoad(){this.loadTableState(),this.setupResizeObserver(),this.applyTheme(),this.setupClickOutsideListener(),this.setupGlobalKeyboardShortcuts(),this.copyPaste&&(document.addEventListener("copy",this.handleCopy),document.addEventListener("paste",this.handlePaste))}disconnectedCallback(){this.resizeObserver&&this.resizeObserver.disconnect(),this.lazyLoadObserver&&this.lazyLoadObserver.disconnect(),document.removeEventListener("mousemove",this.handleResizeMove),document.removeEventListener("mouseup",this.handleResizeEnd),this.copyPaste&&(document.removeEventListener("copy",this.handleCopy),document.removeEventListener("paste",this.handlePaste)),document.removeEventListener("click",this.handleClickOutside)}onDataOrColumnsChange(){this.initializeState()}onPageSizeChange(t){this.state={...this.state,pagination:{...this.state.pagination,pageSize:t,currentPage:1,totalPages:this.calculateTotalPages(t)}}}onGroupByChange(t){this.handleGroupByChange(t)}onThemeChange(){this.applyTheme()}async selectRow(t){const e=new Set(this.state.selectedRows);e.add(t),this.updateSelectedRows(e)}async deselectRow(t){const e=new Set(this.state.selectedRows);e.delete(t),this.updateSelectedRows(e)}async selectAllRows(){const t=this.getProcessedData().map((t=>t.id));this.updateSelectedRows(new Set(t))}async deselectAllRows(){this.updateSelectedRows(new Set)}async getSelectedRows(){return Array.from(this.state.selectedRows)}async exportData(t={format:"csv"}){const e=this.prepareExportData(t);this.performExport(e,t)}async resetFilters(){this.state={...this.state,filterConfig:{},searchQuery:"",pagination:{...this.state.pagination,currentPage:1}}}async resetSort(){this.state={...this.state,sortConfig:{field:"",direction:null}}}async goToPage(t){t>=1&&t<=this.state.pagination.totalPages&&(this.state={...this.state,pagination:{...this.state.pagination,currentPage:t}},this.pageChange.emit({page:t,pageSize:this.state.pagination.pageSize}))}async refresh(){this.initializeState()}async print(){if(this.printOptimized)window.print();else{const t=document.createElement("style");t.textContent="\n @media print {\n body * { visibility: hidden; }\n .data-table-container, .data-table-container * { visibility: visible; }\n .data-table-container { position: absolute; left: 0; top: 0; width: 100%; }\n .toolbar, .pagination-container, .column-settings-panel, .filter-panel { display: none !important; }\n .data-table { width: 100% !important; border-collapse: collapse !important; }\n .data-table td, .data-table th { border: 1px solid #ddd !important; padding: 8px !important; }\n }\n ",document.head.appendChild(t),window.print(),document.head.removeChild(t)}}initializeState(){const t=this.parseColumns(),e=this.flattenColumns(t),r=this.calculateInitialColumnWidths(e),a=this.groupBy||null,i=new Set;if(a&&this.expandGroupsByDefault){const t=this.parseData();this.groupData(t,a).forEach(((t,e)=>i.add(e)))}this.state={...this.state,columnOrder:e.map((t=>t.id)),visibleColumns:new Set(e.filter((t=>!1!==t.visible)).map((t=>t.id))),columnWidths:r,groupBy:a,expandedGroups:i,pagination:{currentPage:1,pageSize:this.pageSize,totalPages:this.calculateTotalPages(this.pageSize),totalRows:this.getTotalRows()},focusedCell:null}}parseColumns(){if("string"==typeof this.columns)try{return JSON.parse(this.columns)}catch{return[]}return this.columns||[]}parseData(){if("string"==typeof this.data)try{return JSON.parse(this.data)}catch{return[]}return this.data||[]}parsePageSizeOptions(){if("string"==typeof this.pageSizeOptions)try{return JSON.parse(this.pageSizeOptions)}catch{return[5,10,25,50,100]}return this.pageSizeOptions}flattenColumns(t){const e=[],r=t=>{t.forEach((t=>{t.children&&t.children.length>0?r(t.children):e.push(t)}))};return r(t),e}getVisibleColumns(){const t=this.parseColumns(),e=this.flattenColumns(t);return this.state.columnOrder.map((t=>e.find((e=>e.id===t)))).filter((t=>!!t&&this.state.visibleColumns.has(t.id)))}getTotalRows(){return this.serverSide?this.totalRows:this.parseData().length}calculateTotalPages(t){const e=this.getTotalRows();return Math.ceil(e/t)}getProcessedData(){let t=this.parseData();return this.treeData&&(this.state.searchQuery||Object.keys(this.state.filterConfig),t=this.flattenTreeData(t)),this.searchable&&this.state.searchQuery&&(t=this.applySearch(t,this.state.searchQuery)),this.filterable&&Object.keys(this.state.filterConfig).length>0&&(t=this.applyFilters(t,this.state.filterConfig)),this.advancedFilters&&(t=this.applyAdvancedFilters(t)),this.sortable&&(this.multiSort&&this.multiSortConfig.length>0?t=this.applyMultiSort(t):this.state.sortConfig.field&&this.state.sortConfig.direction&&(t=this.applySort(t,this.state.sortConfig))),this.serverSide||(this.state.pagination.totalRows=t.length,this.state.pagination.totalPages=this.calculateTotalPages(this.state.pagination.pageSize)),!this.pagination||this.serverSide||this.virtualScroll||(t=this.applyPagination(t)),this.persistState&&this.saveTableState(),t}applySearch(t,e){const r=e.toLowerCase(),a=this.getVisibleColumns();return t.filter((t=>a.some((e=>String(e.field?t[e.field]:"").toLowerCase().includes(r)))))}applyFilters(t,e){return t.filter((t=>Object.keys(e).every((r=>{const a=e[r];if(null===a||""===a)return!0;const i=t[r];return"string"==typeof a?String(i).toLowerCase().includes(a.toLowerCase()):i===a}))))}applySort(t,e){return[...t].sort(((t,r)=>{const a=t[e.field],i=r[e.field];if(a===i)return 0;const o=a<i?-1:1;return"asc"===e.direction?o:-o}))}applyPagination(t){const{currentPage:e,pageSize:r}=this.state.pagination,a=(e-1)*r;return t.slice(a,a+r)}groupData(t,e){const r=new Map;return t.forEach((t=>{const a=null!=t[e]?String(t[e]):"(Empty)";r.has(a)||r.set(a,[]),r.get(a).push(t)})),r}handleGroupToggle(t){const e=new Set(this.state.expandedGroups);e.has(t)?e.delete(t):e.add(t),this.state={...this.state,expandedGroups:e},this.groupToggle.emit({groupKey:t,expanded:e.has(t)})}handleGroupByChange(t){const e=t===this.state.groupBy?null:t,r=new Set;if(e&&this.expandGroupsByDefault){const t=this.getProcessedData();this.groupData(t,e).forEach(((t,e)=>r.add(e)))}this.state={...this.state,groupBy:e,expandedGroups:r},e&&this.groupByChange.emit({field:e})}handleSort(t){if(!this.sortable)return;this.pushUndoState();const e=this.state.sortConfig;let r="asc";e.field===t&&("asc"===e.direction?r="desc":"desc"===e.direction&&(r=null));const a={field:r?t:"",direction:r};this.state={...this.state,sortConfig:a},this.sortChange.emit(a),this.enhancedAccessibility&&r&&this.announceToScreenReader(`Sorted by ${t} ${"asc"===r?"ascending":"descending"}`)}handleSearch(t){this.pushUndoState();const e=t.target;this.state={...this.state,searchQuery:e.value,pagination:{...this.state.pagination,currentPage:1}},this.searchChange.emit({query:e.value})}handleFilter(t,e){this.pushUndoState();const r={...this.state.filterConfig};if(""===e?delete r[t]:r[t]=e,this.state={...this.state,filterConfig:r,pagination:{...this.state.pagination,currentPage:1}},this.filterChange.emit(r),this.enhancedAccessibility){const t=Object.keys(r).length;this.announceToScreenReader(`${t} filter${1!==t?"s":""} applied`)}}handleRowSelect(t,e){const r=e.target,a=new Set(this.state.selectedRows);r.checked?(this.multiSelect||a.clear(),a.add(t)):a.delete(t),this.updateSelectedRows(a)}handleSelectAll(t){if(t.target.checked){const t=this.getProcessedData().map((t=>t.id));this.updateSelectedRows(new Set(t))}else this.updateSelectedRows(new Set)}updateSelectedRows(t){this.pushUndoState(),this.state={...this.state,selectedRows:t};const e=Array.from(t);t.size>0?(this.rowSelect.emit({selectedRows:e}),this.enhancedAccessibility&&this.announceToScreenReader(`${t.size} row${1!==t.size?"s":""} selected`)):(this.rowDeselect.emit({selectedRows:e}),this.enhancedAccessibility&&this.announceToScreenReader("All rows deselected"))}handleCellEdit(t,e,r){if(this.advancedValidation){const a=this.validateCell(t,e,r),i=String(t);if(a){const t=this.validationErrors.get(i)||new Map;t.set(e,a),this.validationErrors=new Map(this.validationErrors).set(i,t)}else{const t=this.validationErrors.get(i);t&&t.has(e)&&(t.delete(e),this.validationErrors=new Map(this.validationErrors))}}this.cellEditStop.emit({rowId:t,field:e,value:r}),this.cellEdit.emit({rowId:t,field:e,value:r}),this.state={...this.state,editingCell:null},this.editingRow!==t||this.editable||this.stopRowEdit(t)}startCellEdit(t,e){if(!this.editable)return;const r=Array.isArray(this.data)?this.data.find((e=>e.id===t)):null;this.cellEditStart.emit({rowId:t,field:e,value:r?r[e]:null}),this.editingRow!==t&&this.startRowEdit(t),this.state={...this.state,editingCell:{rowId:t,field:e}},setTimeout((()=>{this.editInputRef&&(this.editInputRef?.setFocus(),this.editInputRef&&"select"in this.editInputRef&&this.editInputRef.select())}),0)}startRowEdit(t){const e=Array.isArray(this.data)?this.data.find((e=>e.id===t)):null;e&&(this.editingRow=t,this.rowEditStart.emit({row:e}))}stopRowEdit(t){const e=Array.isArray(this.data)?this.data.find((e=>e.id===t)):null;e&&(this.editingRow=null,this.rowEditStop.emit({row:e}))}toggleRowExpansion(t,e){e.stopPropagation();const r=new Set(this.state.expandedRows);r.has(t)?r.delete(t):r.add(t),this.state={...this.state,expandedRows:r}}flattenTreeData(t,e=0){let r=[];return t.forEach((t=>{const a={...t,_depth:e,_hasChildren:t.children&&t.children.length>0};r.push(a),t.children&&t.children.length>0&&this.state.expandedRows.has(t.id)&&(r=r.concat(this.flattenTreeData(t.children,e+1)))})),r}handlePaginationChange(t){const{page:e,itemsPerPage:r}=t.detail;this.state={...this.state,pagination:{...this.state.pagination,currentPage:e,pageSize:r}},this.pageChange.emit({page:e,pageSize:r})}handlePageSizeChangeFromPagination(t){const e=t.detail;this.state={...this.state,pagination:{...this.state.pagination,pageSize:e,currentPage:1,totalPages:this.calculateTotalPages(e)}},this.pageChange.emit({page:1,pageSize:e})}handleVirtualScroll=t=>{if(!this.virtualScroll)return;const e=t.target,r=Math.floor(e.scrollTop/this.virtualRowHeight),a=r+Math.ceil(e.clientHeight/this.virtualRowHeight)+10;this.virtualVisibleRange={start:Math.max(0,r-5),end:a}};handleMultiSort(t,e){if(!this.multiSort)return void this.handleSort(t);this.pushUndoState();const r=e&&(e.ctrlKey||e.metaKey),a=this.multiSortConfig.findIndex((e=>e.field===t));let i=[...this.multiSortConfig];r?a>=0?"asc"===i[a].direction?i[a].direction="desc":i.splice(a,1):i.length<this.maxSortColumns&&i.push({field:t,direction:"asc"}):i=a>=0&&"asc"===i[a].direction?[{field:t,direction:"desc"}]:[{field:t,direction:"asc"}],this.multiSortConfig=i}applyMultiSort(t){return this.multiSort&&0!==this.multiSortConfig.length?[...t].sort(((t,e)=>{for(const r of this.multiSortConfig){const a=t[r.field],i=e[r.field];if(a!==i){const t=a<i?-1:1;return"asc"===r.direction?t:-t}}return 0})):this.applySort(t,this.state.sortConfig)}filterOperators={equals:(t,e)=>t===e,notEquals:(t,e)=>t!==e,contains:(t,e)=>String(t).toLowerCase().includes(String(e).toLowerCase()),startsWith:(t,e)=>String(t).toLowerCase().startsWith(String(e).toLowerCase()),endsWith:(t,e)=>String(t).toLowerCase().endsWith(String(e).toLowerCase()),greaterThan:(t,e)=>Number(t)>Number(e),lessThan:(t,e)=>Number(t)<Number(e),isEmpty:t=>null==t||""===t,isNotEmpty:t=>null!=t&&""!==t};applyAdvancedFilters(t){return this.advancedFilters&&0!==this.advancedFilterConfig.size?t.filter((t=>Array.from(this.advancedFilterConfig.entries()).every((([e,r])=>{const a=this.filterOperators[r.operator];return!a||a(t[e],r.value)})))):t}saveTableState(){if(this.persistState&&"undefined"!=typeof window)try{const t={sortConfig:this.multiSort?this.multiSortConfig:this.state.sortConfig,filterConfig:this.state.filterConfig,columnOrder:this.state.columnOrder,visibleColumns:Array.from(this.state.visibleColumns),columnWidths:Array.from(this.state.columnWidths.entries()),pagination:this.state.pagination,groupBy:this.state.groupBy};localStorage.setItem(this.stateStorageKey,JSON.stringify(t))}catch(t){console.error("Failed to save table state:",t)}}loadTableState(){if(this.persistState&&"undefined"!=typeof window)try{const t=localStorage.getItem(this.stateStorageKey);if(t){const e=JSON.parse(t);this.multiSort&&e.multiSortConfig&&(this.multiSortConfig=e.multiSortConfig),this.state={...this.state,sortConfig:e.sortConfig||this.state.sortConfig,filterConfig:e.filterConfig||{},columnOrder:e.columnOrder||this.state.columnOrder,visibleColumns:new Set(e.visibleColumns||this.state.visibleColumns),columnWidths:new Map(e.columnWidths||[]),groupBy:e.groupBy||null}}}catch(t){console.error("Failed to load table state:",t)}}toggleRowDetails(t){const e=new Set(this.expandedRowDetails);e.has(t)?e.delete(t):e.add(t),this.expandedRowDetails=e}validateCell(t,e,r){if(!this.inlineValidation&&!this.advancedValidation)return null;const a=this.getVisibleColumns().find((t=>t.field===e));if(a&&a.validator){const e=Array.isArray(this.data)?this.data.find((e=>e.id===t)):null,i=a.validator(r,e);if(!0!==i&&null!==i)return"string"==typeof i?i:"Invalid value"}if(!this.validationRules[e])return null;const i=this.validationRules[e];if(i.required&&(null==r||""===r))return"This field is required";if(i.minLength&&String(r).length<i.minLength)return`Minimum length is ${i.minLength}`;if(i.maxLength&&String(r).length>i.maxLength)return`Maximum length is ${i.maxLength}`;if(void 0!==i.min&&Number(r)<i.min)return`Minimum value is ${i.min}`;if(void 0!==i.max&&Number(r)>i.max)return`Maximum value is ${i.max}`;if(i.pattern&&!new RegExp(i.pattern).test(String(r)))return i.patternMessage||"Invalid format";if(this.advancedValidation&&i.custom&&"function"==typeof i.custom)try{const t=i.custom(r);if(!0!==t)return"string"==typeof t?t:"Validation failed"}catch(t){return"Validation error"}return this.advancedValidation&&i.asyncCustom&&"function"==typeof i.asyncCustom&&this.validateCellAsync(t,e,r,i.asyncCustom),null}async validateCellAsync(t,e,r,a){try{const i=await a(r),o=String(t);if(!0!==i){const t="string"==typeof i?i:"Async validation failed",r=this.validationErrors.get(o)||new Map;r.set(e,t),this.validationErrors=new Map(this.validationErrors).set(o,r)}else{const t=this.validationErrors.get(o);t&&t.has(e)&&(t.delete(e),this.validationErrors=new Map(this.validationErrors))}}catch(r){const a=String(t),i=this.validationErrors.get(a)||new Map;i.set(e,"Async validation error"),this.validationErrors=new Map(this.validationErrors).set(a,i)}}renderAdvancedCellEditor(t,e,r){if(!this.advancedCellEditors)return this.renderEditableCell(t,e,r);const i=r=>{this.handleCellEdit(t.id,e.field,r),this.state={...this.state,editingCell:null}};switch(e.type){case"date":case"datetime":case"number":return a("ui-input",{type:"datetime"===e.type?"datetime-local":e.type,value:r||"",onInputChange:t=>i("number"===e.type?Number(t.detail):t.detail),onInputBlur:()=>this.state={...this.state,editingCell:null},customClass:`cell-editor ${e.type}-editor`,size:"sm"});case"boolean":return a("ui-checkbox",{checked:!!r,onCheckboxChange:t=>i(t.detail.checked),size:"sm"});default:return this.renderEditableCell(t,e,r)}}formatCellValue(t,e){if(!this.columnFormatting||null==t)return String(t||"");if(e.format)return e.format(t);switch(e.type){case"number":return(new Intl.NumberFormat).format(Number(t));case"date":return(new Intl.DateTimeFormat).format(new Date(t));case"datetime":return new Intl.DateTimeFormat(void 0,{dateStyle:"short",timeStyle:"short"}).format(new Date(t));default:return e.field?.toLowerCase().includes("price")||e.field?.toLowerCase().includes("cost")||e.field?.toLowerCase().includes("amount")?new Intl.NumberFormat(void 0,{style:"currency",currency:"USD"}).format(Number(t)):e.field?.toLowerCase().includes("percent")||e.field?.toLowerCase().includes("rate")?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:2}).format(Number(t)/100):String(t)}}handleCellClick(t,e,r){if(!this.rangeSelection||!r.shiftKey)return;if(!this.rangeSelectionAnchor)return void(this.rangeSelectionAnchor={rowId:t,field:e});const a=this.getProcessedData(),i=a.findIndex((t=>t.id===this.rangeSelectionAnchor.rowId)),o=a.findIndex((e=>e.id===t)),n=Math.min(i,o),s=Math.max(i,o),l=new Set(this.state.selectedRows);for(let t=n;t<=s;t++)l.add(a[t].id);this.state={...this.state,selectedRows:l}}handleCopy=t=>{if(!this.copyPaste||0===this.state.selectedRows.size)return;t.preventDefault();const e=this.getProcessedData(),r=this.getVisibleColumns(),a=e.filter((t=>this.state.selectedRows.has(t.id))),i=r.map((t=>t.label)).join("\t")+"\n"+a.map((t=>r.map((e=>this.formatCellValue(t[e.field],e))).join("\t"))).join("\n");t.clipboardData?.setData("text/plain",i),this.clipboardData=a.map((t=>r.map((e=>t[e.field]))))};handlePaste=t=>{if(!this.copyPaste||!this.editable)return;t.preventDefault();const e=t.clipboardData?.getData("text/plain");if(!e)return;const r=e.split("\n").map((t=>t.split("\t")));this.cellEdit.emit({rowId:"paste",field:"multiple",value:r})};getConditionalFormattingStyle(t,e){if(!this.conditionalFormatting||!this.formattingRules[e.field])return{};const r=this.formattingRules[e.field],a=Number(t);if(r.colorScale){const{min:t,max:e,minColor:i,maxColor:o}=r.colorScale,n=(a-t)/(e-t);return{backgroundColor:`rgb(${Math.round(i.r+(o.r-i.r)*n)}, ${Math.round(i.g+(o.g-i.g)*n)}, ${Math.round(i.b+(o.b-i.b)*n)})`}}if(r.dataBar){const{min:t,max:e,color:i}=r.dataBar,o=(a-t)/(e-t)*100;return{background:`linear-gradient(90deg, ${i} ${o}%, transparent ${o}%)`}}return r.custom&&"function"==typeof r.custom?r.custom(t):{}}toggleColumnVisibility(t){const e=new Set(this.state.visibleColumns);e.has(t)?e.delete(t):e.add(t),this.state={...this.state,visibleColumns:e},this.columnVisibilityChange.emit({visible:Array.from(e)})}handleColumnDragStart(t,e){this.draggedColumn=t,e.dataTransfer.effectAllowed="move"}handleColumnDragOver(t){t.preventDefault(),t.dataTransfer.dropEffect="move"}handleColumnDrop(t,e){if(e.preventDefault(),!this.draggedColumn||this.draggedColumn===t)return;const r=[...this.state.columnOrder],a=r.indexOf(this.draggedColumn),i=r.indexOf(t);r.splice(a,1),r.splice(i,0,this.draggedColumn),this.state={...this.state,columnOrder:r},this.columnOrderChange.emit({order:r}),this.draggedColumn=null}async handleColumnPin(t,e){const r={...this.pinnedColumns};r.left=r.left.filter((e=>e!==t)),r.right=r.right.filter((e=>e!==t)),"left"===e?r.left.push(t):"right"===e&&r.right.push(t),this.pinnedColumns=r,this.columnPin.emit({columnId:t,position:e})}async handleRowPin(t,e){const r={...this.pinnedRows};r.top=r.top.filter((e=>e!==t)),r.bottom=r.bottom.filter((e=>e!==t)),"top"===e?r.top.push(t):"bottom"===e&&r.bottom.push(t),this.pinnedRows=r,this.rowPin.emit({rowId:t,position:e})}handleRowDragStart(t,e){this.rowReorder&&(this.draggedRow=t,e.dataTransfer.effectAllowed="move")}handleRowDragOver(t){this.rowReorder&&(t.preventDefault(),t.dataTransfer.dropEffect="move")}handleRowDrop(t,e){e.preventDefault(),null!==this.draggedRow&&this.draggedRow!==t&&(this.rowReorderEvent.emit({fromIndex:this.draggedRow,toIndex:t}),this.draggedRow=null)}addFilter(t,e,r){const a=this.activeFilters.get(t)||[];a.push({operator:e,value:r}),this.activeFilters.set(t,a);const i={...this.state.filterConfig};i[t]=a,this.state={...this.state,filterConfig:i},this.filterChange.emit(i)}removeFilter(t,e){const r=this.activeFilters.get(t)||[];r.splice(e,1),0===r.length?this.activeFilters.delete(t):this.activeFilters.set(t,r);const a={...this.state.filterConfig};0===r.length?delete a[t]:a[t]=r,this.state={...this.state,filterConfig:a},this.filterChange.emit(a)}clearAllFilters(){this.activeFilters.clear(),this.state={...this.state,filterConfig:{}},this.filterChange.emit({})}handleResizeStart=(t,e)=>{e.preventDefault(),e.stopPropagation(),this.resizingColumnId=t,this.resizeStartX=e.clientX,this.resizeStartWidth=this.state.columnWidths.get(t)||150,this.resizingColumn=t,document.addEventListener("mousemove",this.handleResizeMove),document.addEventListener("mouseup",this.handleResizeEnd),document.body.style.userSelect="none"};handleResizeMove=t=>{if(!this.resizingColumnId)return;const e=Math.max(50,this.resizeStartWidth+(t.clientX-this.resizeStartX)),r=new Map(this.state.columnWidths);r.set(this.resizingColumnId,e),this.state={...this.state,columnWidths:r}};handleResizeEnd=()=>{this.resizingColumnId="",this.resizingColumn=null,document.body.style.userSelect="",document.removeEventListener("mousemove",this.handleResizeMove),document.removeEventListener("mouseup",this.handleResizeEnd)};calculateInitialColumnWidths(t){const e=new Map,r=t.filter((t=>!1!==t.visible)),a=r.length;let i;return i=a<=3?250:a<=6?200:a<=10?150:a<=15?120:100,r.forEach((t=>{if(t.width){const r=parseInt(t.width);e.set(t.id,isNaN(r)?i:r)}else e.set(t.id,i)})),e}prepareExportData(t){let e=t.selectedOnly?this.parseData().filter((t=>this.state.selectedRows.has(t.id))):this.getProcessedData();const r=t.visibleColumnsOnly?this.getVisibleColumns():this.flattenColumns(this.parseColumns());return e.map((t=>{const e={};return r.forEach((r=>{r.field&&(e[r.label]=r.format?r.format(t[r.field]):t[r.field])})),e}))}performExport(t,e){"csv"===e.format?this.exportToCSV(t,e.fileName||"export.csv"):"json"===e.format?this.exportToJSON(t,e.fileName||"export.json"):"excel"===e.format&&this.exportToExcel(t,e.fileName||"export.xlsx"),this.dataExport.emit({data:t,format:e.format}),this.showExportDialog=!1}exportToCSV(t,e){if(0===t.length)return;const r=Object.keys(t[0]),a=[r.join(","),...t.map((t=>r.map((e=>{const r=t[e];return"string"==typeof r&&r.includes(",")?`"${r}"`:r})).join(",")))].join("\n");this.downloadFile(a,e,"text/csv")}exportToJSON(t,e){const r=JSON.stringify(t,null,2);this.downloadFile(r,e,"application/json")}exportToExcel(t,e){if(0===t.length)return;const r=Object.keys(t[0]);let a='<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?>';a+='<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" ',a+='xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">',a+="<Styles>",a+='<Style ss:ID="Header"><Font ss:Bold="1"/><Interior ss:Color="#4472C4" ss:Pattern="Solid"/></Style>',a+='<Style ss:ID="Default"><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style>',a+="</Styles>",a+='<Worksheet ss:Name="Sheet1"><Table>',a+='<Row ss:StyleID="Header">',r.forEach((t=>{a+=`<Cell><Data ss:Type="String">${this.escapeXml(t)}</Data></Cell>`})),a+="</Row>",t.forEach((t=>{a+='<Row ss:StyleID="Default">',r.forEach((e=>{const r=t[e];a+=`<Cell><Data ss:Type="${"number"==typeof r?"Number":"String"}">${this.escapeXml(String(null!=r?r:""))}</Data></Cell>`})),a+="</Row>"})),a+="</Table></Worksheet></Workbook>",this.downloadFile(a,e,"application/vnd.ms-excel")}escapeXml(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}downloadFile(t,e,r){const a=new Blob([t],{type:r}),i=URL.createObjectURL(a),o=document.createElement("a");o.href=i,o.download=e,o.click(),URL.revokeObjectURL(i)}exportToPDF(){this.printOptimized||(console.warn("PDF Export requires jspdf library. Please enable print mode."),alert("PDF Export not fully implemented without jspdf. Printing page instead.")),window.print()}pushUndoState(){if(!this.undoRedo)return;const t=JSON.parse(JSON.stringify(this.state));this.undoStack=[...this.undoStack,t],this.redoStack=[],this.undoStack.length>20&&this.undoStack.shift()}handleUndo(){if(!this.undoRedo||0===this.undoStack.length)return;const t=JSON.parse(JSON.stringify(this.state));this.redoStack=[...this.redoStack,t];const e=this.undoStack.pop();this.undoStack=[...this.undoStack],this.state={...e}}handleRedo(){if(!this.undoRedo||0===this.redoStack.length)return;const t=JSON.parse(JSON.stringify(this.state));this.undoStack=[...this.undoStack,t];const e=this.redoStack.pop();this.redoStack=[...this.redoStack],this.state={...e}}setupGlobalKeyboardShortcuts(){document.addEventListener("keydown",(t=>{this.undoRedo&&((t.ctrlKey||t.metaKey)&&"z"===t.key&&(t.preventDefault(),this.handleUndo()),(t.ctrlKey||t.metaKey)&&("y"===t.key||t.shiftKey&&"z"===t.key)&&(t.preventDefault(),this.handleRedo())),this.keyboardShortcuts&&!this.state.editingCell&&this.handleKeyboardNavigation(t)}))}handleKeyboardNavigation(t){if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Enter","Escape","Tab"].includes(t.key))return;const e=this.getProcessedData(),r=this.getVisibleColumns();if(0===e.length||0===r.length)return;let{focusedCell:a}=this.state;if(!a)return void(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)&&(this.setFocusedCell(e[0].id,r[0].field??""),t.preventDefault()));const i=e.findIndex((t=>t.id===a.rowId)),o=r.findIndex((t=>t.field===a.field));if(-1!==i&&-1!==o)switch(t.key){case"ArrowUp":i>0&&(this.setFocusedCell(e[i-1].id,a.field),t.preventDefault());break;case"ArrowDown":i<e.length-1&&(this.setFocusedCell(e[i+1].id,a.field),t.preventDefault());break;case"ArrowLeft":o>0&&(this.setFocusedCell(a.rowId,r[o-1].field??""),t.preventDefault());break;case"ArrowRight":o<r.length-1&&(this.setFocusedCell(a.rowId,r[o+1].field??""),t.preventDefault());break;case"Enter":this.editable&&(this.startCellEdit(a.rowId,a.field),t.preventDefault());break;case"Escape":this.setFocusedCell(null,"")}}setFocusedCell(t,e){this.state={...this.state,focusedCell:t?{rowId:t,field:e}:null},t&&setTimeout((()=>{const r=this.el.shadowRoot?.querySelector(`td[data-row-id="${t}"][data-field="${e}"]`);r&&r.scrollIntoView({block:"nearest",inline:"nearest"})}),0)}applyTheme(){const t=this.el.shadowRoot?.querySelector(".data-table-container");if(t)if("auto"===this.theme){const e=window.matchMedia("(prefers-color-scheme: dark)").matches;t.classList.toggle("dark-mode",e)}else t.classList.toggle("dark-mode","dark"===this.theme)}setupClickOutsideListener=()=>{document.addEventListener("click",this.handleClickOutside),document.addEventListener("contextmenu",(t=>{if(this.contextMenu&&this.contextMenuState.visible){const e=t.target,r=(this.el.shadowRoot||this.el).querySelector(".context-menu");if(r&&r.contains(e))return}}))};handleClickOutside=t=>{if(null!==this.activeActionMenu&&(t.target.closest(".row-actions-container")||(this.activeActionMenu=null)),this.contextMenuState.visible){const e=t.target,r=(this.el.shadowRoot||this.el).querySelector(".context-menu");if(r&&r.contains(e))return;this.contextMenuState={...this.contextMenuState,visible:!1}}};handleHeaderContextMenu(t,e){t.preventDefault(),t.stopPropagation();const r=t.currentTarget.getBoundingClientRect();this.contextMenuState={visible:!0,x:r.left,y:r.bottom+window.scrollY,type:"header",target:e}}toggleColumnPin(t,e){const r={...this.pinnedColumns};r.left=r.left.filter((e=>e!==t)),r.right=r.right.filter((e=>e!==t)),"left"===e?r.left.push(t):"right"===e&&r.right.push(t),this.pinnedColumns=r,this.contextMenuState={...this.contextMenuState,visible:!1}}handleContextMenu(t,e,r){this.contextMenu&&(t.preventDefault(),t.stopPropagation(),this.contextMenuState={visible:!0,x:t.clientX,y:t.clientY,type:e,target:r})}setupResizeObserver(){this.resizeObserver=new ResizeObserver((t=>{this.el.shadowRoot?.host.dispatchEvent(new CustomEvent("tableResize"));for(const e of t)this.isMobileView=e.contentRect.width<768})),this.resizeObserver.observe(this.el)}setupLazyLoadObserver(t){t&&this.lazyLoad&&(this.lazyLoadObserver&&this.lazyLoadObserver.disconnect(),this.lazyLoadObserver=new IntersectionObserver((t=>{t.forEach((t=>{if(t.isIntersecting&&!this.loading){const t=this.parseData().length;this.lazyLoadMore.emit({currentCount:t})}}))}),{root:null,rootMargin:"100px",threshold:.1}),this.lazyLoadObserver.observe(t))}announceToScreenReader(t){if(!this.enhancedAccessibility)return;let e=this.el.shadowRoot?.querySelector(".sr-announcer");e||(e=document.createElement("div"),e.className="sr-announcer",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),e.setAttribute("role","status"),this.el.shadowRoot?.appendChild(e)),e.textContent="",setTimeout((()=>{e.textContent=t}),100)}calculateAggregations(t){const e={};return this.getVisibleColumns().forEach((r=>{r.aggregation&&r.aggregation.length>0&&(e[r.id]={},r.aggregation.forEach((a=>{const i=t.map((t=>t[r.field])).filter((t=>null!=t&&""!==t));switch(a){case"sum":e[r.id].sum=i.reduce(((t,e)=>Number(t)+Number(e)),0);break;case"avg":const t=i.reduce(((t,e)=>Number(t)+Number(e)),0);e[r.id].avg=i.length>0?t/i.length:0;break;case"min":"date"===r.type||r.id&&r.id.toLowerCase().includes("date")?(i.sort(),e[r.id].min=i[0]):e[r.id].min=Math.min(...i.map((t=>Number(t))));break;case"max":"date"===r.type||r.id&&r.id.toLowerCase().includes("date")?(i.sort(),e[r.id].max=i[i.length-1]):e[r.id].max=Math.max(...i.map((t=>Number(t))));break;case"count":e[r.id].count=i.length}})))})),e}renderAggregationFooter(){const t=this.getProcessedData(),e=this.calculateAggregations(t);return Object.keys(e).length>0?a("tfoot",{class:"data-table-footer"},a("tr",null,(this.selectable||this.multiSelect)&&a("td",null),this.rowDetails&&a("td",null),this.getVisibleColumns().map((t=>{const r=e[t.id],i=this.pinnedColumns.left.includes(t.id),o=this.pinnedColumns.right.includes(t.id);return a("td",{class:{"pinned-left":i,"pinned-right":o},style:{position:i||o?"sticky":void 0,left:i?this.getPinnedOffset(t.id,"left"):void 0,right:o?this.getPinnedOffset(t.id,"right"):void 0,zIndex:i||o?"3":void 0,textAlign:t.align||"left"}},r&&Object.entries(r).map((([e,r])=>a("div",{class:"agg-item"},a("span",{class:"agg-label"},e,":"),a("span",{class:"agg-value"},t.format&&"number"==typeof r?t.format(r):r)))))})))):null}renderSkeletonRows(t){return Array.from({length:this.skeletonRows},((e,r)=>a("tr",{key:`skeleton-${r}`,class:"skeleton-row"},this.selectable&&a("td",{class:"skeleton-cell"},a("ui-skeleton",{shape:"square",size:"sm",width:"16px",height:"16px"})),t.map((t=>a("td",{key:`skeleton-${r}-${t.id}`,class:"skeleton-cell"},a("ui-skeleton",{shape:"text",animationType:"wave",width:30+40*Math.random()+"%"})))))))}getPinnedOffset(t,e){const r=this.getVisibleColumns(),a=t=>"left"===e?this.pinnedColumns.left.includes(t.id):this.pinnedColumns.right.includes(t.id),i=r.filter((t=>a(t))),o=i.findIndex((e=>e.id===t));if(o<=0)return"0px";let n=0;for(let t=0;t<o;t++)n+=this.state.columnWidths.get(i[t].id)||150;return`${n}px`}renderColumnHeader(t,e=1){if(t.children&&t.children.length>0)return a("th",{class:"column-group",colSpan:this.getLeafColumnCount(t),style:{textAlign:t.align||"left"}},a("div",{class:"column-header-content"},a("span",null,t.label)));const r=this.state.sortConfig.field===t.field,i=r?this.state.sortConfig.direction:null,o=this.state.columnWidths.get(t.id);return a("th",{rowSpan:e>1?e:void 0,class:{sortable:this.sortable&&!1!==t.sortable,sorted:r,"sticky-column":t.sticky||this.pinnedColumns.left.includes(t.id)||this.pinnedColumns.right.includes(t.id),resizing:this.resizingColumn===t.id,"pinned-left":this.pinnedColumns.left.includes(t.id),"pinned-right":this.pinnedColumns.right.includes(t.id)},style:{width:o?`${o}px`:t.width||"auto",minWidth:t.minWidth,textAlign:t.align||"left",position:t.sticky||this.pinnedColumns.left.includes(t.id)||this.pinnedColumns.right.includes(t.id)?"sticky":"relative",left:this.pinnedColumns.left.includes(t.id)?this.getPinnedOffset(t.id,"left"):void 0,right:this.pinnedColumns.right.includes(t.id)?this.getPinnedOffset(t.id,"right"):void 0,zIndex:t.sticky||this.pinnedColumns.left.includes(t.id)||this.pinnedColumns.right.includes(t.id)?"30":void 0}},a("div",{class:"column-header-content"},this.columnReorder&&a("span",{class:"drag-handle",draggable:!0,onDragStart:e=>this.handleColumnDragStart(t.id,e),onDragOver:t=>this.handleColumnDragOver(t),onDrop:e=>this.handleColumnDrop(t.id,e),title:"Drag to reorder"},a("ui-icon",{name:"grip-vertical",library:"lucide",size:"1.2em"})),a("span",{class:"column-label",onClick:e=>!1!==t.sortable&&this.handleMultiSort(t.field||t.id,e)},(this.pinnedColumns.left.includes(t.id)||this.pinnedColumns.right.includes(t.id))&&a("ui-icon",{name:"pin",library:"lucide",size:"14px",class:"pin-indicator"}),t.label),this.sortable&&!1!==t.sortable&&(()=>{if(this.multiSort){const e=this.multiSortConfig.findIndex((e=>e.field===(t.field||t.id)));return e>=0?a("span",{class:"sort-icon multi-sort"},a("ui-icon",{name:"asc"===this.multiSortConfig[e].direction?"arrow-up":"arrow-down",library:"lucide",size:"14px"}),a("span",{class:"sort-order-badge"},e+1)):a("ui-icon",{name:"arrow-up-down",library:"lucide",size:"14px",class:"sort-icon"})}return a("span",{class:"sort-icon"},!r&&a("ui-icon",{name:"arrow-up-down",library:"lucide",size:"14px"}),r&&a("ui-icon",{name:"asc"===i?"arrow-up":"arrow-down",library:"lucide",size:"14px"}))})(),a("ui-button",{variant:"ghost",class:"header-menu-trigger",onClick:e=>this.handleHeaderContextMenu(e,t),ariaLabel:"Column options",icon:"more-vertical",iconLibrary:"lucide",iconOnly:!0,size:"sm"})),this.filterable&&!1!==t.filterable&&a("div",{class:"column-filter"},a("ui-input",{type:"text",placeholder:`Filter ${t.label}...`,value:this.state.filterConfig[t.field||t.id]||"",onInputChange:e=>this.handleFilter(t.field||t.id,e.detail),onClick:t=>t.stopPropagation(),size:"sm",variant:"outlined"})),a("div",{class:"resize-handle",onMouseDown:e=>this.handleResizeStart(t.id,e),onClick:t=>t.stopPropagation()}))}renderTableHeaders(){const t=this.parseColumns();if(!t.some((t=>t.children&&t.children.length>0)))return a("tr",null,this.selectable&&a("th",{class:"select-column"},this.multiSelect&&a("ui-checkbox",{checked:this.state.selectedRows.size===this.getProcessedData().length,onCheckboxChange:t=>this.handleSelectAll(t),ariaLabel:"Select all rows",size:"sm"})),this.getVisibleColumns().map((t=>this.renderColumnHeader(t))),this.showActions&&a("th",{class:"actions-column"},"Actions"),this.rowDetails&&a("th",{class:"row-details-column"},"Details"));const e=[],r=this.getMaxColumnDepth(t);for(let i=0;i<r;i++)e.push(a("tr",null,0===i&&this.selectable&&a("th",{class:"select-column",rowSpan:r},this.multiSelect&&a("ui-checkbox",{checked:this.state.selectedRows.size===this.getProcessedData().length,onCheckboxChange:t=>this.handleSelectAll(t),ariaLabel:"Select all rows",size:"sm"})),this.renderHeaderLevel(t,i,0,r),0===i&&this.showActions&&a("th",{class:"actions-column",rowSpan:r},"Actions"),0===i&&this.rowDetails&&a("th",{class:"row-details-column",rowSpan:r},"Details")));return e}getMaxColumnDepth(t){let e=1;const r=(t,a)=>{t.forEach((t=>{t.children&&t.children.length>0&&(e=Math.max(e,a+1),r(t.children,a+1))}))};return r(t,1),e}renderHeaderLevel(t,e,r=0,a=1){const i=[];return t.forEach((t=>{const o=t.children&&t.children.length>0;(o?this.getLeafColumnCount(t)>0:this.state.visibleColumns.has(t.id))&&(r===e?i.push(this.renderColumnHeader(t,o?1:a-r)):o&&i.push(...this.renderHeaderLevel(t.children,e,r+1,a)))})),i}renderCell(t,e){const r=e.field?t[e.field]:"";let i;i=this.editable&&!1!==e.editable||this.state.editingCell?.rowId===t.id&&this.state.editingCell?.field===e.field&&!1!==e.editable?this.advancedCellEditors?this.renderAdvancedCellEditor(t,e,r):this.renderEditableCell(t,e,r):this.columnFormatting?this.formatCellValue(r,e):this.renderDisplayCell(t,e,r);const o=this.getVisibleColumns();if(this.treeData&&o.length>0&&o[0].id===e.id){const e=t._depth||0,r=t._hasChildren,o=this.state.expandedRows.has(t.id);return a("div",{class:"cell-content-wrapper",style:{display:"flex",alignItems:"center"}},a("span",{style:{paddingLeft:24*e+"px"}}),r?a("span",{class:"tree-toggle-icon",onClick:e=>this.toggleRowExpansion(t.id,e),style:{cursor:"pointer",marginRight:"8px",display:"inline-block",width:"16px",textAlign:"center",userSelect:"none"}},a("ui-icon",{name:o?"chevron-down":"chevron-right",library:"lucide",size:"14px"})):a("span",{style:{display:"inline-block",width:"24px"}}),a("div",{class:"cell-inner-content",style:{flex:"1"}},i))}return!this.columnReorder||e.align&&"left"!==e.align?i:a("div",{class:"cell-content-wrapper",style:{display:"flex",alignItems:"center"}},a("span",{class:"drag-handle-spacer",style:{width:"22px",flexShrink:"0"}}),a("div",{class:"cell-inner-content",style:{flex:"1"}},i))}getLeafColumnCount(t){if(!t.children||0===t.children.length)return 1;let e=0;return t.children.forEach((t=>{t.children&&t.children.length>0?e+=this.getLeafColumnCount(t):this.state.visibleColumns.has(t.id)&&(e+=1)})),e}renderEditableCell(t,e,r){const i=()=>{this.editable||(this.state={...this.state,editingCell:null})},o=(r,a)=>{"Enter"===r.key?this.handleCellEdit(t.id,e.field,a.value):"Escape"===r.key&&(this.editable||i())};switch(e.type){case"select":return a("select",{ref:t=>{t&&(this.editInputRef=t,t.value=r)},onChange:r=>this.handleCellEdit(t.id,e.field,r.target.value),onBlur:i,class:"cell-select"},e.selectOptions?.map((t=>a("option",{value:t.value,selected:t.value===r},t.label))));case"radio":return a("div",{class:"cell-radio-group"},e.radioOptions?.map((i=>a("label",{class:"radio-label"},a("ui-radio",{name:`${t.id}-${e.field}`,value:i.value,checked:i.value===r,onRadioChange:r=>this.handleCellEdit(t.id,e.field,r.detail.value),label:i.label,size:"sm"})))));case"checkbox":return a("ui-checkbox",{ref:t=>this.editInputRef=t,checked:!0===r||"true"===r,onCheckboxChange:r=>this.handleCellEdit(t.id,e.field,r.detail.checked),onCheckboxBlur:i,size:"sm"});case"switch":return a("ui-switch",{checked:!0===r||"true"===r,onSwitchChange:r=>this.handleCellEdit(t.id,e.field,r.detail.checked),size:"sm"});case"rating":const n=e.maxRating||5,s=Number(r)||0;return a("div",{class:"cell-rating"},Array.from({length:n},((t,e)=>e+1)).map((r=>a("span",{class:{star:!0,filled:r<=s},onClick:()=>this.handleCellEdit(t.id,e.field,r)},a("ui-icon",{name:"star",library:"lucide",size:"1.2em",color:r<=s?"#ffc107":"#bdbdbd"})))));case"date":case"time":case"datetime":case"password":case"email":return a("ui-input",{ref:t=>this.editInputRef=t,type:"datetime"===e.type?"datetime-local":e.type,value:r,onInputChange:r=>this.handleCellEdit(t.id,e.field,r.detail),onInputBlur:i,onInputKeydown:t=>o(t.detail,t.target),customClass:"cell-input",variant:"plain",size:"sm"});case"url":return a("ui-input",{ref:t=>this.editInputRef=t,type:"number"===e.type?"number":"tel"===e.type?"tel":"url"===e.type?"url":"text",value:r,onInputChange:r=>this.handleCellEdit(t.id,e.field,r.detail),onInputBlur:i,onInputKeydown:t=>o(t.detail,t.target),customClass:"cell-input",variant:"plain",size:"sm"})}}renderDisplayCell(t,e,r){if(e.render)return a("span",{class:{"editable-cell":this.editable&&!1!==e.editable},onDblClick:()=>this.editable&&!1!==e.editable&&this.startCellEdit(t.id,e.field)},e.render(r,t,0));if(this.enableSparklines&&Array.isArray(r)&&r.length>0&&"number"==typeof r[0])return this.renderSparkline(r);let i;switch(e.type){case"checkbox":case"boolean":i=a("span",{class:"cell-boolean"},a("ui-icon",{name:r?"check":"x",library:"lucide",size:"1.2em",color:r?"#4caf50":"#f44336"}));break;case"switch":i=a("ui-switch",{checked:!!r,readonly:!0,size:"sm"});break;case"rating":i=a("ui-rating",{value:Number(r)||0,max:e.maxRating||5,readonly:!0,size:"sm"});break;case"image":const t=e.imageStyle||{};i=r?a("img",{src:r,alt:"Cell image",class:"cell-image",style:{width:t.width||"40px",height:t.height||"40px",borderRadius:t.borderRadius||"4px"}}):null;break;case"password":i=a("span",{class:"cell-password"},"•".repeat(r?.length||8));break;case"date":i=r?new Date(r).toLocaleDateString():"";break;case"datetime":i=r?new Date(r).toLocaleString():"";break;case"time":i=r;break;case"email":i=a("a",{href:`mailto:${r}`,class:"cell-link"},r);break;case"url":i=a("a",{href:r,target:"_blank",rel:"noopener noreferrer",class:"cell-link"},r);break;case"tel":i=a("a",{href:`tel:${r}`,class:"cell-link"},r);break;default:i=e.format?e.format(r):r}return a("span",{class:{"editable-cell":this.editable&&!1!==e.editable},onDblClick:()=>this.editable&&!1!==e.editable&&this.startCellEdit(t.id,e.field)},i)}renderRowActions(t){const e=this.activeActionMenu===t.id,r=this.customActions||[{label:"Edit",value:"edit",icon:"✏️"},{label:"Delete",value:"delete",icon:"🗑️"}];return a("div",{class:"row-actions-container"},a("ui-button",{variant:"ghost",class:"row-actions-trigger",onClick:r=>{r.stopPropagation(),this.activeActionMenu=e?null:t.id},ariaLabel:"Row actions",icon:"more-vertical",iconLibrary:"lucide",iconOnly:!0,size:"sm"}),e&&a("div",{class:"row-actions-menu"},r.map((e=>a("ui-button",{key:e.value,variant:"ghost",class:"row-action-item",onClick:r=>{r.stopPropagation(),this.handleRowAction(t,e.value)},icon:e.icon,iconLibrary:e.iconLibrary||this.iconLibrary,label:e.label,size:"sm",block:!0,align:"start"})))))}handleRowAction(t,e){this.activeActionMenu=null,"edit"===e?this.rowEdit.emit({row:t}):"delete"===e?this.rowDelete.emit({row:t}):this.rowAction.emit({row:t,action:e})}renderGroupedRows(t,e){const r=this.groupData(t,this.state.groupBy),i=[];return r.forEach(((t,r)=>{const o=this.state.expandedGroups.has(r),n=t.length;i.push(a("tr",{class:"group-header-row",key:`group-${r}`,role:"row","aria-expanded":o},a("td",{colSpan:e.length+(this.selectable?1:0)+(this.showActions?1:0),class:"group-header-cell",onClick:()=>this.handleGroupToggle(r),role:"button",tabIndex:0,onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleGroupToggle(r))},"aria-label":`${o?"Collapse":"Expand"} group ${r}`},a("div",{class:"group-header-content"},a("span",{class:"group-expand-icon"},a("ui-icon",{name:o?"chevron-down":"chevron-right",library:"lucide",size:"14px"})),a("span",{class:"group-label"},r),this.showGroupCount&&a("span",{class:"group-count"},"(",n," ",1===n?"item":"items",")"))))),o&&t.forEach(((t,o)=>{i.push(a("tr",{class:{"group-data-row":!0,selected:this.state.selectedRows.has(t.id)},key:t.id,role:"row","data-group":r,"aria-label":`Row ${o+1} in group ${r}`},this.selectable&&a("td",{class:"select-column",role:"cell"},a("ui-checkbox",{checked:this.state.selectedRows.has(t.id),onCheckboxChange:e=>this.handleRowSelect(t.id,e.detail),ariaLabel:`Select row ${o+1}`,size:"sm"})),e.map((e=>a("td",{key:e.id,class:{"sticky-column":!!e.sticky,"focused-cell":this.state.focusedCell?.rowId===t.id&&this.state.focusedCell?.field===e.field,"pinned-left":this.pinnedColumns.left.includes(e.id),"pinned-right":this.pinnedColumns.right.includes(e.id)},style:{textAlign:e.align||"left"},role:"cell","data-row-id":t.id,"data-field":e.field,tabIndex:0,onFocus:()=>this.setFocusedCell(t.id,e.field)},this.renderCell(t,e)))),this.showActions&&a("td",{class:"actions-column",role:"cell"},this.renderRowActions(t)),this.rowDetails&&a("td",{class:"row-details-toggle-cell",role:"cell"},a("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.toggleRowDetails(t.id),ariaLabel:"Toggle row details",icon:this.expandedRowDetails.has(t.id)?"chevron-down":"chevron-right",iconLibrary:"lucide",iconOnly:!0,iconSize:"1.2em"})))),this.rowDetails&&this.expandedRowDetails.has(t.id)&&i.push(this.renderRowDetailsPanel(t))}))})),i}renderRowDetailsPanel(t){if(!this.rowDetails||!this.expandedRowDetails.has(t.id))return null;const e=this.getVisibleColumns();return a("tr",{key:`${t.id}-details`,class:"row-details-row"},a("td",{colSpan:e.length+(this.selectable?1:0)+(this.rowReorder?1:0)+(this.showActions?1:0)},a("div",{class:"row-details-panel"},a("div",{class:"details-header"},a("h4",null,"Row Details"),a("ui-button",{variant:"ghost",onClick:()=>this.toggleRowDetails(t.id),icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"})),a("div",{class:"details-content"},Object.entries(t).map((([t,e])=>a("div",{key:t,class:"detail-item"},a("strong",{class:"detail-label"},t,":"),a("span",{class:"detail-value"},String(e)))))))))}renderKeyboardShortcutsModal(){return this.showKeyboardShortcutsHelp?a("div",{class:"keyboard-shortcuts-modal",onClick:()=>this.showKeyboardShortcutsHelp=!1},a("div",{class:"modal-content",onClick:t=>t.stopPropagation()},a("div",{class:"modal-header"},a("h3",null,"Keyboard Shortcuts"),a("ui-button",{variant:"ghost",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm",onClick:()=>this.showKeyboardShortcutsHelp=!1})),a("div",{class:"modal-body"},a("table",{class:"shortcuts-table"},a("tbody",null,a("tr",null,a("td",{class:"shortcut-key"},"Ctrl + F"),a("td",{class:"shortcut-desc"},"Focus search")),a("tr",null,a("td",{class:"shortcut-key"},"Ctrl + A"),a("td",{class:"shortcut-desc"},"Select all rows")),a("tr",null,a("td",{class:"shortcut-key"},"Ctrl + E"),a("td",{class:"shortcut-desc"},"Export data")),a("tr",null,a("td",{class:"shortcut-key"},"Ctrl + Click"),a("td",{class:"shortcut-desc"},"Multi-column sort")),a("tr",null,a("td",{class:"shortcut-key"},"Shift + ?"),a("td",{class:"shortcut-desc"},"Show this help")),a("tr",null,a("td",{class:"shortcut-key"},"Arrow Keys"),a("td",{class:"shortcut-desc"},"Navigate cells"))))))):null}renderSparkline(t){if(t.length<2)return t.join(", ");const e=Math.min(...t),r=Math.max(...t)-e||1,i=t.map(((a,i)=>`${i/(t.length-1)*100},${20-(a-e)/r*20}`)).join(" ");return a("svg",{width:100,height:20,class:"sparkline",style:{display:"block"}},a("polyline",{points:i,fill:"none",stroke:"currentColor","stroke-width":"1.5"}))}renderContextMenu(){if(!this.contextMenuState.visible)return null;const{x:t,y:e,type:r,target:i}=this.contextMenuState,o={top:`${e}px`,left:`${t}px`,position:"fixed",zIndex:"1000"};if("header"===r){const t=i,e=this.pinnedColumns.left.includes(t.id),r=this.pinnedColumns.right.includes(t.id);return a("div",{class:"context-menu header-context-menu",style:o},a("div",{class:"context-menu-header"},t.label," Options"),a("ul",null,a("li",{onClick:()=>this.handleSort(t.field||t.id)},this.state.sortConfig.field===(t.field||t.id)&&"asc"===this.state.sortConfig.direction?a("span",null,a("ui-icon",{name:"check",library:"lucide",size:"1.2em"})," Sort Decending"):"Sort Ascending"),a("li",{class:"divider"}),a("li",{class:"has-submenu"},"Pin Column",a("ul",{class:"submenu"},a("li",{onClick:()=>this.toggleColumnPin(t.id,"left")},e&&a("ui-icon",{name:"check",library:"lucide",size:"1.2em"}),"Pin to Left"),a("li",{onClick:()=>this.toggleColumnPin(t.id,"right")},r&&a("ui-icon",{name:"check",library:"lucide",size:"1.2em"}),"Pin to Right"),a("li",{onClick:()=>this.toggleColumnPin(t.id,"none")},!e&&!r&&a("ui-icon",{name:"check",library:"lucide",size:"1.2em"}),"No Pin"))),a("li",{onClick:()=>this.toggleColumnVisibility(t.id)},"Hide Column"),a("li",{class:"divider"}),a("li",{onClick:()=>{this.handleFilter(t.field||t.id,""),this.contextMenuState={...this.contextMenuState,visible:!1}}},"Clear Column Filter")))}return a("div",{class:"context-menu",style:o},a("ul",null,a("li",{onClick:()=>this.handleContextAction("copy")},"Copy"),"row"===r&&a("li",{onClick:()=>this.handleContextAction("delete")},"Delete Row"),"cell"===r&&a("li",{onClick:()=>this.handleContextAction("edit")},"Edit Cell"),a("li",{class:"divider"}),a("li",{onClick:()=>this.handleContextAction("export")},"Export Row")))}handleContextAction(t){const{target:e,type:r}=this.contextMenuState;if("copy"===t){let t="";"cell"===r?t=String(e.value||""):"row"===r&&(t=JSON.stringify(e)),t&&navigator.clipboard.writeText(t).catch((t=>console.error("Copy failed",t)))}else"edit"===t&&"cell"===r&&this.startCellEdit(e.rowId,e.field);this.contextMenuState={...this.contextMenuState,visible:!1}}renderMobileCards(t){const e=this.getVisibleColumns();return a("div",{class:"mobile-cards-view"},t.map((t=>a("div",{class:"mobile-card",key:t.id},a("div",{class:"card-header"},this.selectable&&a("ui-checkbox",{checked:this.state.selectedRows.has(t.id),onCheckboxChange:e=>this.handleRowSelect(t.id,e.detail),size:"sm"}),a("span",{class:"card-title"},"Row #",t.id),this.showActions&&a("div",{class:"card-actions"},this.renderRowActions(t))),a("div",{class:"card-body"},e.map((e=>a("div",{class:"card-field",key:e.id},a("label",null,e.label||e.field),a("div",{class:"card-value"},this.renderCell(t,e))))))))),this.renderLazyLoadSentinel())}renderLazyLoadSentinel(){return this.lazyLoad?a("div",{class:"lazy-load-sentinel",ref:t=>{t&&this.setupLazyLoadObserver(t)},style:{height:"20px",textAlign:"center",padding:"10px"}},this.loading?"Loading more...":""):null}renderValidationError(t,e){if(!this.advancedValidation)return null;const r=String(t),i=this.validationErrors.get(r)?.get(e);return i?a("div",{class:"validation-error-tooltip"},a("ui-icon",{name:"alert-triangle",library:"lucide",size:"14px",class:"error-icon",color:"#f44336"}),a("span",{class:"error-message"},i)):null}renderPagination(){if(!this.pagination)return null;const{currentPage:t,pageSize:e,totalRows:r}=this.state.pagination;return a("div",{class:"pagination-container"},a("ui-pagination",{"total-items":r,"items-per-page":e,"current-page":t,"show-first-last":!0,"show-page-size":!0,"show-total":!0,"page-size-options":JSON.stringify(this.parsePageSizeOptions()),theme:this.paginationTheme,shape:this.paginationShape,"keyboard-nav":this.paginationKeyboardNav,"quick-jump":this.paginationQuickJump,"quick-jump-step":this.paginationQuickJumpStep,"show-progress":this.paginationShowProgress,sticky:this.paginationSticky,"sticky-position":this.paginationStickyPosition,"page-transition":this.paginationTransitions,"url-sync":this.paginationUrlSync,"url-param":this.paginationUrlParam,"persist-page":this.paginationPersistPage,"storage-key":this.paginationStorageKey,"swipe-gestures":this.paginationSwipeGestures,"smart-compact":this.paginationSmartCompact,"smart-compact-threshold":this.paginationSmartCompactThreshold,"auto-hide":this.paginationAutoHide,"responsive-mode":this.paginationResponsive,"mobile-breakpoint":this.paginationMobileBreakpoint,onPageChange:t=>this.handlePaginationChange(t),onItemsPerPageChange:t=>this.handlePageSizeChangeFromPagination(t)}))}renderToolbar(){return a("div",{class:"table-toolbar"},a("div",{class:"toolbar-left"},this.searchable&&a("div",{class:"search-box"},a("ui-input",{type:"text",placeholder:"Search...",value:this.state.searchQuery,onInputChange:t=>this.handleSearch(t.detail),ariaLabel:"Search table",size:"sm",prefixIcon:"search",variant:"outlined"})),this.grouping&&this.renderGroupingSelector()),a("div",{class:"toolbar-right"},this.filterable&&a("ui-button",{variant:"ghost",size:"sm",icon:"filter",iconLibrary:"lucide",iconSize:"1.1em",label:"Filters",ariaLabel:"Filter panel",onClick:()=>this.showFilterPanel=!this.showFilterPanel,"data-expanded":this.showFilterPanel}),this.columnVisibility&&a("ui-button",{variant:"ghost",size:"sm",icon:"settings",iconLibrary:"lucide",iconSize:"1.1em",label:"Columns",ariaLabel:"Column settings",onClick:()=>this.showColumnSettings=!this.showColumnSettings,"data-expanded":this.showColumnSettings}),this.exportable&&a("ui-button",{variant:"ghost",size:"sm",icon:"download",iconLibrary:"lucide",iconSize:"1.1em",label:"Export",ariaLabel:"Export data",onClick:()=>this.showExportDialog=!this.showExportDialog}),a("ui-button",{variant:"ghost",size:"sm",icon:"refresh-cw",iconLibrary:"lucide",iconSize:"1.1em",label:"Refresh",ariaLabel:"Refresh table",onClick:()=>this.refresh()})))}renderGroupingSelector(){const t=this.getVisibleColumns().filter((t=>!1!==t.groupBy));return 0===t.length?null:a("div",{class:"grouping-selector"},a("label",{htmlFor:"group-by-select"},"Group by:"),a("select",{id:"group-by-select",onInput:t=>this.handleGroupByChange(t.target.value),"aria-label":"Group table by column"},a("option",{value:"",selected:!this.state.groupBy},"None"),t.map((t=>a("option",{value:t.field||t.id,key:t.id,selected:this.state.groupBy===(t.field||t.id)},t.label)))))}renderFilterPanel(){if(!this.showFilterPanel)return null;const t=this.flattenColumns(this.parseColumns()),e=t.filter((t=>!1!==t.filterable)),r=e.find((t=>t.id===this.filterPanelField)),i=r?(o=r).type?o.type:o.field?.includes("date")||o.field?.includes("Date")?"date":o.field?.includes("price")||o.field?.includes("salary")||o.field?.includes("amount")?"number":o.field?.includes("email")?"email":"text":"text";var o;const n=(t=>{const e=[{value:"equals",label:"Equals"},{value:"notEquals",label:"Not Equals"}];return"number"===t||"date"===t?[...e,{value:"greaterThan",label:"Greater Than"},{value:"lessThan",label:"Less Than"},{value:"between",label:"Between"}]:"text"===t||"email"===t||"url"===t?[...e,{value:"contains",label:"Contains"},{value:"notContains",label:"Not Contains"},{value:"startsWith",label:"Starts With"},{value:"endsWith",label:"Ends With"}]:e})(i);return a("div",{class:"filter-panel"},a("div",{class:"filter-panel-header"},a("h4",null,a("ui-icon",{name:"filter",library:"lucide",size:"1.1em"})," Advanced Filters"),a("ui-button",{variant:"ghost",size:"sm",icon:"x",iconLibrary:"lucide",iconSize:"1.1em",onClick:()=>this.showFilterPanel=!1})),a("div",{class:"filter-panel-body"},a("div",{class:"filter-builder"},a("div",{class:"filter-row"},a("select",{class:"filter-field-select",onChange:t=>{this.filterPanelField=t.target.value,this.filterPanelValue=""}},a("option",{value:"",selected:""===this.filterPanelField},"Select Column..."),e.map((t=>a("option",{value:t.id,selected:this.filterPanelField===t.id},t.label)))),a("select",{class:"filter-operator-select",onChange:t=>this.filterPanelOperator=t.target.value,disabled:!this.filterPanelField},n.map((t=>a("option",{value:t.value,selected:this.filterPanelOperator===t.value},t.label)))),a("ui-input",{type:"number"===i?"number":"date"===i?"date":"text",customClass:"filter-value-input",value:this.filterPanelValue,onInputChange:t=>this.filterPanelValue=t.detail,placeholder:"Filter value...",disabled:!this.filterPanelField,size:"sm",variant:"outlined"}),a("ui-button",{variant:"ghost",size:"sm",icon:"plus",iconLibrary:"lucide",iconSize:"1.2em",label:"Add",onClick:()=>{this.filterPanelField&&this.filterPanelValue&&(this.addFilter(this.filterPanelField,this.filterPanelOperator,this.filterPanelValue),this.filterPanelField="",this.filterPanelValue="")},disabled:!this.filterPanelField||!this.filterPanelValue}))),a("div",{class:"active-filters"},a("div",{class:"active-filters-header"},a("span",null,"Active Filters (",Array.from(this.activeFilters.values()).flat().length,")"),this.activeFilters.size>0&&a("ui-button",{variant:"ghost",size:"sm",label:"Clear All",onClick:()=>this.clearAllFilters()})),a("div",{class:"filter-chips"},Array.from(this.activeFilters.entries()).map((([e,r])=>{const i=t.find((t=>t.id===e));return r.map(((t,r)=>a("div",{class:"filter-chip"},a("span",{class:"filter-chip-label"},a("strong",null,i?.label||e)," ",t.operator,' "',t.value,'"'),a("ui-button",{variant:"ghost",size:"sm",class:"filter-chip-remove",icon:"x",iconLibrary:"lucide",iconSize:"14px",onClick:()=>this.removeFilter(e,r)}))))})),0===this.activeFilters.size&&a("div",{class:"no-filters"},"No active filters")))))}renderColumnSettings(){if(!this.showColumnSettings)return null;const t=this.flattenColumns(this.parseColumns());return a("div",{class:"column-settings-dialog"},a("div",{class:"dialog-overlay",onClick:()=>this.showColumnSettings=!1}),a("div",{class:"dialog-content"},a("div",{class:"dialog-header"},a("h3",null,"Column Settings"),a("ui-button",{variant:"ghost",size:"sm",icon:"x",iconLibrary:"lucide",iconSize:"1.2em",onClick:()=>this.showColumnSettings=!1})),a("div",{class:"dialog-body"},a("div",{class:"column-list"},t.map((t=>a("label",{class:"column-item"},a("ui-checkbox",{checked:this.state.visibleColumns.has(t.id),onCheckboxChange:()=>this.toggleColumnVisibility(t.id),label:t.label,size:"sm"})))))),a("div",{class:"dialog-footer"},a("ui-button",{variant:"primary",label:"Done",onClick:()=>this.showColumnSettings=!1}))))}renderExportDialog(){return this.showExportDialog?a("div",{class:"export-dialog"},a("div",{class:"dialog-overlay",onClick:()=>this.showExportDialog=!1}),a("div",{class:"dialog-content"},a("div",{class:"dialog-header"},a("h3",null,"Export Data"),a("ui-button",{variant:"ghost",size:"sm",icon:"x",iconLibrary:"lucide",iconSize:"1.2em",onClick:()=>this.showExportDialog=!1})),a("div",{class:"dialog-body"},a("div",{class:"export-options"},a("ui-button",{variant:"ghost",fullWidth:!0,icon:"file-text",iconLibrary:"lucide",iconSize:"1.2em",label:"Export as CSV",onClick:()=>this.exportData({format:"csv",visibleColumnsOnly:!0})}),a("ui-button",{variant:"ghost",fullWidth:!0,icon:"clipboard",iconLibrary:"lucide",iconSize:"1.2em",label:"Export as JSON",onClick:()=>this.exportData({format:"json",visibleColumnsOnly:!0})}),this.pdfExport&&a("ui-button",{variant:"ghost",fullWidth:!0,icon:"book",iconLibrary:"lucide",iconSize:"1.2em",label:"Export as PDF",onClick:()=>this.exportToPDF()}),this.state.selectedRows.size>0&&a("ui-button",{variant:"ghost",fullWidth:!0,icon:"check-circle",iconLibrary:"lucide",iconSize:"1.2em",label:`Export Selected Only (${this.state.selectedRows.size} rows)`,onClick:()=>this.exportData({format:"csv",selectedOnly:!0})}))))):null}getHostStyles(){const t={};return this.headerBackground&&(t["--table-header-bg"]=this.headerBackground),this.stripedColor&&(t["--table-striped-bg"]=this.stripedColor),this.stripedColorDark&&(t["--table-striped-bg-dark"]=this.stripedColorDark),t}render(){const t=this.getProcessedData(),e=this.getVisibleColumns();let r=t,i=0,o=0;if(this.virtualScroll){const{start:e,end:a}=this.state.virtualVisibleRange,n=Math.max(0,e),s=Math.min(t.length,a);r=t.slice(n,s),i=n*this.virtualRowHeight,o=(t.length-s)*this.virtualRowHeight}return this.mobileCardView&&this.isMobileView?a("div",{class:{"data-table-container":!0,"mobile-view":!0,[`advanced-table-${this.variant}`]:!0,[`table-color-${this.color}`]:!0,"dark-mode":"dark"===this.theme,[this.rowHeight]:!!this.rowHeight},style:this.getHostStyles()},this.renderToolbar(),this.renderMobileCards(r),this.renderPagination(),this.renderFilterPanel(),this.renderColumnSettings(),this.renderExportDialog(),this.renderKeyboardShortcutsModal(),this.renderContextMenu()):a("div",{class:{"data-table-container":!0,[`advanced-table-${this.variant}`]:!0,[`table-color-${this.color}`]:!0,"dark-mode":"dark"===this.theme,[this.rowHeight]:!!this.rowHeight},style:this.getHostStyles()},this.renderToolbar(),a("div",{class:{"table-wrapper":!0,"virtual-scroll":this.virtualScroll},onScroll:this.virtualScroll?this.handleVirtualScroll:void 0},a("table",{class:{"data-table":!0,"sticky-header":this.stickyHeader,striped:this.striped,hoverable:this.hoverable,bordered:this.bordered},role:"table","aria-label":"Data table"},a("thead",null,this.renderTableHeaders()),a("tbody",null,this.loading&&this.showSkeleton&&this.renderSkeletonRows(e),this.loading&&!this.showSkeleton&&a("tr",null,a("td",{colSpan:e.length+(this.selectable?1:0)+(this.showActions?1:0)+(this.rowDetails?1:0),class:"loading-cell"},a("div",{class:"loading-container"},a("ui-loader",{type:"spinner",size:"2em",color:"primary"}),a("span",null,"Loading...")))),!this.loading&&0===t.length&&a("tr",null,a("td",{colSpan:e.length+(this.selectable?1:0)+(this.showActions?1:0)+(this.rowDetails?1:0),class:"empty-cell"},this.emptyMessage)),i>0&&a("tr",{style:{height:`${i}px`},role:"presentation"},a("td",{colSpan:e.length+(this.selectable?1:0)+(this.showActions?1:0),style:{padding:"0",border:"none"}})),!this.loading&&r.length>0&&this.state.groupBy&&this.renderGroupedRows(r,e),!this.loading&&r.length>0&&!this.state.groupBy&&r.map(((t,r)=>[a("tr",{class:{selected:this.state.selectedRows.has(t.id),"pinned-row-top":this.pinnedRows.top.includes(t.id),"pinned-row-bottom":this.pinnedRows.bottom.includes(t.id)},key:t.id,role:"row",onContextMenu:e=>this.handleContextMenu(e,"row",t),"data-row-id":t.id},this.selectable&&a("td",{class:"select-column",role:"cell"},a("ui-checkbox",{checked:this.state.selectedRows.has(t.id),onCheckboxChange:e=>this.handleRowSelect(t.id,e),ariaLabel:`Select row ${r+1}`,size:"sm"})),e.map((e=>a("td",{key:e.id,class:{"sticky-column":!!e.sticky,"range-selection-cell":!0,"focused-cell":this.state.focusedCell?.rowId===t.id&&this.state.focusedCell?.field===e.field,"pinned-left":this.pinnedColumns.left.includes(e.id),"pinned-right":this.pinnedColumns.right.includes(e.id)},style:{textAlign:e.align||"left",left:this.pinnedColumns.left.includes(e.id)?this.getPinnedOffset(e.id,"left"):void 0,right:this.pinnedColumns.right.includes(e.id)?this.getPinnedOffset(e.id,"right"):void 0,...this.getConditionalFormattingStyle(t[e.field],e)},role:"cell",onClick:r=>this.handleCellClick(t.id,e.field,r),onContextMenu:r=>this.handleContextMenu(r,"cell",{rowId:t.id,field:e.field,value:t[e.field]}),"data-row-id":t.id,"data-field":e.field,tabIndex:0,onFocus:()=>this.setFocusedCell(t.id,e.field)},this.renderCell(t,e),this.renderValidationError(t.id,e.field)))),this.showActions&&a("td",{class:"actions-column",role:"cell"},this.renderRowActions(t)),this.rowDetails&&a("td",{class:"row-details-toggle-cell",role:"cell"},a("ui-button",{variant:"ghost",size:"sm",icon:this.expandedRowDetails.has(t.id)?"chevron-down":"chevron-right",iconLibrary:"lucide",iconSize:"16px",ariaLabel:"Toggle row details",onClick:()=>this.toggleRowDetails(t.id)}))),this.renderRowDetailsPanel(t)])),o>0&&a("tr",{style:{height:`${o}px`},role:"presentation"},a("td",{colSpan:100,style:{padding:"0",border:"none"}}))),this.columnAggregation&&this.renderAggregationFooter()),this.renderLazyLoadSentinel()),this.renderPagination(),this.renderFilterPanel(),this.renderColumnSettings(),this.renderExportDialog(),this.renderKeyboardShortcutsModal(),this.renderContextMenu())}static get watchers(){return{data:[{onDataOrColumnsChange:0}],columns:[{onDataOrColumnsChange:0}],pageSize:[{onPageSizeChange:0}],groupBy:[{onGroupByChange:0}],theme:[{onThemeChange:0}]}}};i.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([color=primary]),.table-color-primary{--table-primary:var(--color-primary-hover, #2563eb);--table-primary-rgb:var(--color-primary-rgb)}:host([color=secondary]),.table-color-secondary{--table-primary:var(--color-primary, #64748b);--table-primary-rgb:var(--color-primary-rgb)}:host([color=success]),.table-color-success{--table-primary:var(--color-success, #10b981);--table-primary-rgb:var(--color-primary-rgb)}:host([color=danger]),.table-color-danger{--table-primary:var(--color-danger, #ef4444);--table-primary-rgb:var(--color-primary-rgb)}:host([color=warning]),.table-color-warning{--table-primary:var(--color-warning, #f59e0b);--table-primary-rgb:var(--color-primary-rgb)}:host([color=info]),.table-color-info{--table-primary:var(--color-primary, #0ea5e9);--table-primary-rgb:var(--color-primary-rgb)}:host{display:block;font-family:"Inter", -apple-system, sans-serif;--table-bg:var(--bg-primary, #ffffff);--table-header-bg:var(--bg-primary, #f8fafc);--table-border:var(--border-subtle, #f1f5f9);--table-text:var(--text-primary, #1e293b);--table-text-secondary:var(--color-primary, #64748b);--table-text-secondary-rgb:100, 116, 139;--table-hover:var(--bg-primary, #f1f5f9);--table-primary:var(--color-primary-hover, #2563eb);--table-primary-rgb:37, 99, 235;--table-selected:rgba(var(--table-primary-rgb), 0.1);--table-shadow:rgba(0, 0, 0, 0.05);--table-striped-bg:rgba(0, 0, 0, 0.02);--table-striped-bg-dark:rgba(255, 255, 255, 0.02)}.data-table-container{background:var(--table-bg);border-radius:8px;box-shadow:0 1px 3px var(--table-shadow);overflow:hidden}.data-table-container.dark-mode{--table-bg:var(--bg-secondary, #0f172a);--table-header-bg:var(--bg-primary, #1e293b);--table-border:rgba(255, 255, 255, 0.05);--table-text:var(--bg-primary, #f8fafc);--table-text-secondary:var(--color-primary, #94a3b8);--table-hover:rgba(255, 255, 255, 0.03);--table-selected:rgba(var(--table-primary-rgb), 0.1);--table-shadow:rgba(0, 0, 0, 0.4)}.advanced-table-glass{background:transparent !important;box-shadow:none !important}.advanced-table-glass .table-toolbar{background:rgba(255, 255, 255, 0.03);backdrop-filter:blur(12px) saturate(160%);border-color:rgba(255, 255, 255, 0.08)}.advanced-table-glass .data-table thead{background:rgba(255, 255, 255, 0.05);backdrop-filter:blur(8px)}.advanced-table-glass .data-table tbody tr{background:transparent}.advanced-table-glass .data-table tbody tr:hover{background:rgba(255, 255, 255, 0.04)}.advanced-table-glass.dark-mode .table-toolbar{background:rgba(0, 0, 0, 0.2)}.advanced-table-glass.dark-mode .data-table thead{background:rgba(0, 0, 0, 0.3)}.advanced-table-raised{box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);border:1px solid rgba(0, 0, 0, 0.05)}.advanced-table-raised .data-table thead{background:linear-gradient(to bottom, var(--bg-primary, #f8fafc), var(--bg-secondary, #f1f5f9))}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--table-header-bg);border-bottom:1px solid var(--table-border);gap:16px;flex-wrap:wrap;transition:all cubic-bezier(0.4, 0, 0.2, 1)}.toolbar-left,.toolbar-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-box{position:relative;min-width:250px}.search-box input{width:100%;padding:8px 36px 8px 12px;border:1px solid var(--table-border);border-radius:6px;font-size:14px;background:var(--table-bg);color:var(--table-text);transition:all 0.2s}.search-box input:focus{outline:none;border-color:var(--table-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:0.5}.toolbar-btn{padding:8px 16px;background:var(--table-bg);color:var(--table-text);border:1px solid var(--table-border);border-radius:6px;font-size:14px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:6px}.toolbar-btn:hover{background:var(--table-hover);border-color:var(--table-primary)}.toolbar-btn:active{transform:scale(0.98)}.table-wrapper{overflow-x:auto;overflow-y:auto;max-height:70vh;position:relative}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--table-header-bg)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--table-border);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--table-text-secondary)}.data-table{width:100%;border-collapse:collapse;color:var(--table-text);font-size:13.5px;letter-spacing:-0.01em}.data-table.bordered{border:1px solid var(--table-border);border-radius:8px}.data-table thead{background:var(--table-header-bg);position:relative;z-index:10}.data-table.sticky-header thead{position:sticky;top:0;z-index:20}.data-table th{padding:14px 20px;text-align:left;font-weight:600;white-space:nowrap;background:var(--table-header-bg);color:var(--table-text-secondary);border-bottom:2px solid var(--table-border);user-select:none;text-transform:uppercase;font-size:11px;letter-spacing:0.05em;transition:background cubic-bezier(0.4, 0, 0.2, 1), color cubic-bezier(0.4, 0, 0.2, 1)}.data-table th.sticky-column{position:sticky;left:0;z-index:30;box-shadow:2px 0 4px var(--table-shadow)}.data-table th.sortable{cursor:pointer;transition:background 0.2s}.data-table th.sortable:hover{background:var(--table-hover)}.column-header-content{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.drag-handle{cursor:grab;padding:0 4px;margin-right:4px;color:var(--table-text-secondary);font-size:14px;line-height:1;opacity:0.6;transition:all 0.2s;user-select:none;letter-spacing:-2px}.drag-handle:hover{opacity:1;color:var(--table-primary)}.drag-handle:active{cursor:grabbing}.column-label{flex:1;cursor:pointer;user-select:none}.data-table th.sortable .column-label:hover{color:var(--table-primary)}.column-header-content span:first-child{flex:1}.sort-icon{font-size:12px;opacity:0.5;transition:opacity 0.2s}.data-table th.sorted .sort-icon{opacity:1;color:var(--table-primary)}.column-filter{margin-top:8px}.column-filter input{width:100%;padding:4px 8px;border:1px solid var(--table-border);border-radius:4px;font-size:12px;background:var(--table-bg);color:var(--table-text)}.column-filter input:focus{outline:none;border-color:var(--table-primary)}.column-group{border-bottom:1px solid var(--table-border);background:var(--table-header-bg);font-weight:700}.resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;user-select:none;background:transparent;transition:background 0.2s;z-index:10}.resize-handle:hover{background:var(--table-primary)}.resize-handle::before{content:"";position:absolute;top:0;bottom:0;left:-2px;right:-2px;}.data-table th.resizing{user-select:none;cursor:col-resize}.data-table th.resizing .resize-handle{background:var(--table-primary)}.data-table tbody tr{transition:background cubic-bezier(0.4, 0, 0.2, 1);border-bottom:1px solid var(--table-border)}.data-table.hoverable tbody tr:hover{background:var(--table-hover);box-shadow:inset 4px 0 0 var(--table-primary)}.data-table.striped tbody tr:nth-child(even){background:var(--table-striped-bg)}.data-table-container.dark-mode .data-table.striped tbody tr:nth-child(even){background:var(--table-striped-bg-dark)}.data-table tbody tr.selected{background:var(--table-selected) !important}.data-table td{padding:14px 20px;color:var(--table-text);transition:color cubic-bezier(0.4, 0, 0.2, 1)}.data-table.compact td,.data-table.compact th{padding:6px 12px}.data-table.comfortable td,.data-table.comfortable th{padding:16px 20px}.data-table td.sticky-column{position:sticky;left:0;background:var(--table-bg);z-index:15;box-shadow:2px 0 4px var(--table-shadow)}.data-table tbody tr:hover td.sticky-column{background:var(--table-hover)}.data-table tbody tr.selected td.sticky-column{background:var(--table-selected)}.select-column{width:48px;text-align:center !important;padding:8px !important}.select-column input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--table-primary)}.actions-column{width:60px;text-align:center !important;padding:8px !important;position:relative}.row-actions-container{position:relative;display:inline-block}.row-actions-trigger{background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;color:var(--table-text-secondary);font-size:18px;line-height:1;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center}.row-actions-trigger:hover{background:var(--table-hover);color:var(--table-text)}.row-actions-trigger:active{background:var(--table-border)}.action-dots{font-weight:bold;letter-spacing:-2px}.row-actions-menu{position:absolute;top:100%;right:0;background:var(--table-bg);border:1px solid var(--table-border);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);min-width:140px;z-index:1000;margin-top:4px;overflow:hidden;animation:fadeInMenu 0.15s ease-out}@keyframes fadeInMenu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.row-action-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;text-align:left;cursor:pointer;color:var(--table-text);font-size:14px;transition:background 0.15s ease;border-bottom:1px solid var(--table-border)}.row-action-item:last-child{border-bottom:none}.row-action-item:hover{background:var(--table-hover)}.row-action-item:active{background:var(--table-border)}.action-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.action-label{flex:1}.grouping-selector{display:flex;align-items:center;gap:8px;margin-left:16px}.grouping-selector label{font-size:14px;font-weight:500;color:var(--table-text);white-space:nowrap}.grouping-selector select{padding:8px 12px;border:1px solid var(--table-border);border-radius:6px;font-size:14px;background:var(--table-bg);color:var(--table-text);cursor:pointer;min-width:150px;transition:all 0.2s}.grouping-selector select:focus{outline:none;border-color:var(--table-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.grouping-selector select:hover{border-color:var(--table-primary)}.group-header-row{background:var(--table-header-bg);border-top:2px solid var(--table-border);border-bottom:2px solid var(--table-border);transition:background 0.2s}.group-header-row:hover{background:var(--table-hover)}.group-header-cell{cursor:pointer;user-select:none;font-weight:600;padding:12px 16px !important;outline:none}.group-header-cell:focus{outline:2px solid var(--table-primary);outline-offset:-2px}.group-header-content{display:flex;align-items:center;gap:10px}.group-expand-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;color:var(--table-primary);transition:transform 0.2s ease}.group-header-row[aria-expanded=true] .group-expand-icon{transform:rotate(0deg)}.group-header-row[aria-expanded=false] .group-expand-icon{transform:rotate(-90deg)}.group-label{font-size:15px;color:var(--table-text);font-weight:600}.group-count{font-size:13px;color:var(--table-text-secondary);font-weight:normal;margin-left:4px}.group-data-row{animation:fadeIn 0.2s ease-in-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.group-data-row td{padding-left:48px !important;border-left:3px solid transparent;transition:all 0.2s}.group-data-row td:first-child{border-left:3px solid var(--table-border)}.group-data-row.selected{background:var(--table-selected)}.group-data-row.selected td:first-child{border-left-color:var(--table-primary)}.group-data-row:hover{background:var(--table-hover)}.group-data-row:hover td:first-child{border-left-color:var(--table-primary)}.editable-cell{cursor:pointer;padding:4px;border-radius:4px;transition:background 0.15s}.editable-cell:hover{background:rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.data-table td input,.data-table td select{width:100%;padding:6px 8px;border:2px solid var(--table-primary);border-radius:4px;font-size:14px;background:var(--table-bg);color:var(--table-text)}.data-table td input:focus,.data-table td select:focus{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.loading-cell,.empty-cell{text-align:center !important;padding:48px 16px !important;color:var(--table-text-secondary)}.loading-cell{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-spinner{width:48px;height:48px;border:3px solid rgba(var(--table-primary-rgb), 0.1);border-top-color:var(--table-primary);border-radius:50%;animation:spin 0.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;box-shadow:0 0 20px rgba(var(--table-primary-rgb), 0.15)}.skeleton-row td{padding:14px 20px}.skeleton-content,.skeleton-checkbox{height:16px;width:100%;background:linear-gradient(90deg, rgba(var(--table-text-secondary-rgb), 0.05) 25%, rgba(var(--table-text-secondary-rgb), 0.15) 37%, rgba(var(--table-text-secondary-rgb), 0.05) 63%);background-size:400% 100%;animation:skeleton-shimmer 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;border-radius:4px}.skeleton-checkbox{width:18px;height:18px;margin:0 auto}@keyframes skeleton-shimmer{0%{background-position:100% 50%}100%{background-position:0% 50%}}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--table-header-bg);border-top:1px solid var(--table-border);gap:16px;flex-wrap:wrap}.pagination-info{color:var(--table-text-secondary);font-size:14px}.pagination-controls{display:flex;gap:4px;align-items:center}.page-btn{min-width:36px;height:36px;padding:8px 12px;background:var(--table-bg);color:var(--table-text);border:1px solid var(--table-border);border-radius:6px;font-size:14px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center}.page-btn:hover:not(:disabled){background:var(--table-hover);border-color:var(--table-primary)}.page-btn:disabled{opacity:0.4;cursor:not-allowed}.page-btn.active{background:var(--table-primary);color:var(--text-standard, #ffffff);border-color:var(--table-primary)}.page-size-selector{display:flex;align-items:center;gap:8px}.page-size-selector label{display:flex;align-items:center;gap:8px;color:var(--table-text-secondary);font-size:14px}.page-size-selector select{padding:6px 32px 6px 12px;border:1px solid var(--table-border);border-radius:6px;background:var(--table-bg);color:var(--table-text);font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'12\' viewBox=\'0 0 12 12\'%3E%3Cpath fill=\'%236b7280\' d=\'M6 9L1 4h10z\'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.page-size-selector select:focus{outline:none;border-color:var(--table-primary)}.column-settings-dialog,.export-dialog{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.dialog-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.5);backdrop-filter:blur(4px)}.dialog-content{position:relative;background:var(--table-bg);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:dialogSlideIn 0.2s ease-out}@keyframes dialogSlideIn{from{opacity:0;transform:scale(0.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--table-border)}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:var(--table-text)}.close-btn{width:32px;height:32px;padding:0;background:transparent;border:none;color:var(--table-text-secondary);font-size:24px;cursor:pointer;border-radius:6px;transition:all 0.2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--table-hover);color:var(--table-text)}.dialog-body{padding:20px;overflow-y:auto;flex:1}.dialog-footer{padding:16px 20px;border-top:1px solid var(--table-border);display:flex;justify-content:flex-end;gap:12px}.dialog-footer button{padding:10px 20px;background:var(--table-primary);color:var(--text-standard, #ffffff);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s}.dialog-footer button:hover{background:var(--table-primary-hover)}.column-list{display:flex;flex-direction:column;gap:8px}.column-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--table-header-bg);border-radius:6px;cursor:pointer;transition:background 0.2s}.column-item:hover{background:var(--table-hover)}.column-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--table-primary)}.column-item span{flex:1;color:var(--table-text);font-size:14px}.export-options{display:flex;flex-direction:column;gap:12px}.export-btn{padding:16px;background:var(--table-bg);color:var(--table-text);border:2px solid var(--table-border);border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:12px}.export-btn:hover{background:var(--table-hover);border-color:var(--table-primary);transform:translateX(4px)}@media (max-width: 768px){.table-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%;justify-content:space-between}.search-box{min-width:100%}.pagination-container{flex-direction:column;align-items:stretch;gap:12px}.pagination-info,.pagination-controls,.page-size-selector{justify-content:center}.table-wrapper{max-height:60vh}.data-table{font-size:13px}.data-table th,.data-table td{padding:8px 12px}}@media (max-width: 480px){.data-table{font-size:12px}.data-table th,.data-table td{padding:6px 8px}.toolbar-btn{font-size:13px;padding:6px 12px}.pagination-controls .page-btn{min-width:32px;height:32px;padding:4px 8px;font-size:13px}}.data-table:focus-within{outline:2px solid var(--table-primary);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--table-primary);outline-offset:2px}.data-table-container *{box-sizing:border-box}.data-table tbody tr{contain:layout style}.data-table th[draggable=true]{cursor:move}.data-table th[draggable=true]:active{opacity:0.5}.skeleton-row{animation:pulse 1.5s ease-in-out infinite}.skeleton-cell{padding:12px 16px}.skeleton-content{height:16px;background:linear-gradient(90deg, var(--table-border) 25%, var(--table-hover) 50%, var(--table-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-checkbox{width:16px;height:16px;background:linear-gradient(90deg, var(--table-border) 25%, var(--table-hover) 50%, var(--table-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:3px;margin:0 auto}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}.cell-input{width:100%;padding:6px 8px;border:1px solid var(--table-border);border-radius:4px;background:var(--table-bg);color:var(--table-text);font-size:14px}.cell-input:focus{outline:none;border-color:var(--table-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.cell-select{width:100%;padding:6px 8px;border:1px solid var(--table-border);border-radius:4px;background:var(--table-bg);color:var(--table-text);font-size:14px;cursor:pointer}.cell-radio-group{display:flex;flex-direction:column;gap:6px}.radio-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}.radio-label input[type=radio]{cursor:pointer}.cell-checkbox{width:18px;height:18px;cursor:pointer}.cell-switch{position:relative;display:inline-block;width:44px;height:24px}.cell-switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-secondary, #ccc);transition:0.3s;border-radius:24px}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--bg-primary, #ffffff);transition:0.3s;border-radius:50%}.cell-switch input:checked+.switch-slider{background-color:var(--table-primary)}.cell-switch input:checked+.switch-slider:before{transform:translateX(20px)}.cell-rating{display:flex;gap:4px;font-size:18px}.cell-rating .star{cursor:pointer;color:var(--bg-secondary, #d1d5db);transition:color 0.2s}.cell-rating .star.filled{color:var(--color-danger, #fbbf24)}.cell-rating .star:hover{color:var(--color-danger, #fcd34d)}.cell-rating-display{display:flex;gap:2px;font-size:16px}.cell-rating-display .star{color:var(--bg-secondary, #d1d5db)}.cell-rating-display .star.filled{color:var(--color-danger, #fbbf24)}.cell-boolean{font-size:18px;font-weight:bold}.cell-switch-display{display:inline-block}.switch-indicator{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;background:var(--bg-primary, #e5e7eb);color:var(--text-muted, #6b7280);text-transform:uppercase}.switch-indicator.active{background:var(--table-primary);color:var(--text-standard, #ffffff)}.cell-image{display:block;object-fit:cover}.cell-password{letter-spacing:2px;font-family:monospace}.cell-link{color:var(--table-primary);text-decoration:none;transition:color 0.2s}.cell-link:hover{color:var(--table-primary-hover);text-decoration:underline}.column-group{background:var(--table-header-bg);font-weight:600;border-bottom:2px solid var(--table-border)}.data-table thead tr:has(.column-group)+tr th{border-top:1px solid var(--table-border)}.filter-panel{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background:var(--table-bg);border:1px solid var(--table-border);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.1);min-width:600px;max-width:90vw;max-height:80vh;z-index:1000;display:flex;flex-direction:column;animation:slideIn 0.2s ease-out}@keyframes slideIn{from{opacity:0;transform:translate(-50%, -45%)}to{opacity:1;transform:translate(-50%, -50%)}}.filter-panel::before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.5);backdrop-filter:blur(4px);z-index:-1}.filter-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--table-border)}.filter-panel-header h4{margin:0;font-size:18px;font-weight:600;color:var(--table-text);display:flex;align-items:center;gap:8px}.filter-panel-header .close-btn{background:transparent;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--table-text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all 0.2s}.filter-panel-header .close-btn:hover{background:var(--table-hover);color:var(--table-text)}.filter-panel-body{padding:24px;overflow-y:auto;flex:1}.filter-builder{margin-bottom:24px}.filter-row{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:12px;align-items:center}.filter-field-select,.filter-operator-select{padding:10px 12px;border:1px solid var(--table-border);border-radius:6px;font-size:14px;background:var(--table-bg);color:var(--table-text);cursor:pointer;transition:all 0.2s}.filter-field-select:focus,.filter-operator-select:focus{outline:none;border-color:var(--table-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.filter-field-select:hover,.filter-operator-select:hover{border-color:var(--table-primary)}.filter-field-select:disabled,.filter-operator-select:disabled{opacity:0.5;cursor:not-allowed}.filter-value-input{padding:10px 12px;border:1px solid var(--table-border);border-radius:6px;font-size:14px;background:var(--table-bg);color:var(--table-text);transition:all 0.2s}.filter-value-input:focus{outline:none;border-color:var(--table-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.filter-value-input:disabled{opacity:0.5;cursor:not-allowed;background:var(--table-header-bg)}.add-filter-btn{padding:10px 20px;background:var(--table-primary);color:var(--text-standard, #ffffff);border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap}.add-filter-btn:hover:not(:disabled){background:var(--table-primary-hover);transform:translateY(-1px);box-shadow:0 4px 6px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.add-filter-btn:active:not(:disabled){transform:translateY(0)}.add-filter-btn:disabled{opacity:0.5;cursor:not-allowed}.active-filters{border-top:1px solid var(--table-border);padding-top:20px}.active-filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.active-filters-header span{font-size:14px;font-weight:600;color:var(--table-text)}.clear-all-btn{padding:6px 12px;background:transparent;color:var(--color-danger, #ef4444);border:1px solid var(--color-danger, #ef4444);border-radius:6px;font-size:13px;cursor:pointer;transition:all 0.2s}.clear-all-btn:hover{background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--table-selected);border:1px solid var(--table-primary);border-radius:20px;font-size:13px;color:var(--table-text);animation:chipSlideIn 0.2s ease-out}@keyframes chipSlideIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.filter-chip-label{display:flex;align-items:center;gap:4px}.filter-chip-label strong{color:var(--table-primary)}.filter-chip-remove{background:transparent;border:none;color:var(--table-text-secondary);font-size:20px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 0.2s}.filter-chip-remove:hover{background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.1);color:var(--color-danger, #ef4444)}.no-filters{text-align:center;padding:32px;color:var(--table-text-secondary);font-size:14px}.pinned-row-top{position:sticky !important;top:0;z-index:25;background:var(--table-bg);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.pinned-row-bottom{position:sticky !important;bottom:0;z-index:25;background:var(--table-bg);box-shadow:0 -2px 4px rgba(0, 0, 0, 0.1)}.pinned-row-top::before,.pinned-row-bottom::before{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--color-primary, #10b981), var(--color-primary, #8b5cf6));opacity:0.6}.pinned-row-top::before{top:0}.pinned-row-bottom::before{bottom:0}.pinned-row-top:hover,.pinned-row-bottom:hover{background:var(--table-hover)}.sort-icon.multi-sort{position:relative;display:inline-flex;align-items:center;gap:4px}.sort-order-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);border-radius:50%;font-size:11px;font-weight:600;line-height:1}.aggregation-footer{background:var(--bg-primary, #f9fafb);border-top:2px solid var(--border-default, #e5e7eb);font-weight:600}.aggregation-cell{padding:12px}.aggregation-values{display:flex;gap:16px;flex-wrap:wrap}.agg-item{display:flex;gap:6px;align-items:center}.agg-label{color:var(--text-muted, #6b7280);font-size:12px;text-transform:uppercase}.agg-value{color:var(--text-primary, #111827);font-size:14px;font-weight:700}.row-details-row{background:var(--bg-primary, #f9fafb)}.row-details-panel{padding:20px;border:1px solid var(--border-default, #e5e7eb);border-radius:8px;margin:8px}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border-default, #e5e7eb)}.details-header h4{margin:0;color:var(--text-primary, #111827);font-size:16px}.close-details-btn{background:none;border:none;font-size:24px;color:var(--text-muted, #6b7280);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-details-btn:hover{background:var(--bg-primary, #e5e7eb);color:var(--text-primary, #111827)}.details-content{display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));gap:12px}.detail-item{display:flex;gap:8px;padding:8px;background:var(--bg-primary, #ffffff);border-radius:4px;border:1px solid var(--border-default, #e5e7eb)}.detail-label{color:var(--text-muted, #6b7280);font-size:13px;min-width:100px}.detail-value{color:var(--text-primary, #111827);font-size:13px;word-break:break-word}.keyboard-shortcuts-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:10000}.keyboard-shortcuts-modal .modal-content{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1);max-width:500px;width:90%;max-height:80vh;overflow:auto}.keyboard-shortcuts-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-default, #e5e7eb)}.keyboard-shortcuts-modal .modal-header h3{margin:0;font-size:18px;color:var(--text-primary, #111827)}.keyboard-shortcuts-modal .modal-header button{background:none;border:none;font-size:24px;color:var(--text-muted, #6b7280);cursor:pointer;padding:0;width:30px;height:30px}.keyboard-shortcuts-modal .modal-body{padding:20px}.shortcuts-table{width:100%;border-collapse:collapse}.shortcuts-table tr{border-bottom:1px solid var(--border-default, #e5e7eb)}.shortcuts-table tr:last-child{border-bottom:none}.shortcuts-table td{padding:12px 8px}.shortcut-key{font-family:"Courier New", monospace;background:var(--bg-secondary, #f3f4f6);padding:4px 8px;border-radius:4px;font-size:13px;font-weight:600;color:var(--text-secondary, #374151);white-space:nowrap}.shortcut-desc{color:var(--text-muted, #6b7280);font-size:14px}.validation-error-tooltip{position:absolute;bottom:100%;left:0;background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:100;margin-bottom:4px;display:flex;align-items:center;gap:6px;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1)}.validation-error-tooltip::after{content:"";position:absolute;top:100%;left:10px;border:5px solid transparent;border-top-color:var(--color-danger, #ef4444)}.error-icon{font-size:14px}.error-message{font-weight:500}td.has-validation-error{position:relative;border:2px solid var(--color-danger, #ef4444) !important;background:var(--bg-primary, #fef2f2)}.virtual-scroll-container{overflow-y:auto;position:relative;will-change:transform}.virtual-scroll-content{position:relative}.auto-size-btn{padding:4px 8px;font-size:12px;background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-strong, #d1d5db);border-radius:4px;cursor:pointer;color:var(--text-secondary, #374151)}.auto-size-btn:hover{background:var(--bg-primary, #e5e7eb)}.premium-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:linear-gradient(135deg, var(--color-primary, #667eea) 0%, var(--color-primary, #764ba2) 100%);color:var(--text-standard, #ffffff);border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}@media (prefers-color-scheme: dark){.aggregation-footer{background:var(--bg-primary, #1f2937);border-top-color:var(--border-default, #374151)}.row-details-panel{background:var(--bg-primary, #1f2937);border-color:var(--border-default, #374151)}.keyboard-shortcuts-modal .modal-content{background:var(--bg-primary, #1f2937);color:var(--text-standard, #f3f4f6)}.detail-item{background:var(--bg-secondary, #111827);border-color:var(--border-default, #374151)}}.cell-editor{width:100%;padding:6px 8px;border:2px solid var(--color-primary, #10b981);border-radius:4px;font-size:14px;outline:none}.date-editor,.datetime-editor{cursor:pointer}.number-editor{text-align:right}.select-editor{cursor:pointer;background:var(--bg-primary, #ffffff)}.checkbox-editor{width:20px;height:20px;cursor:pointer}.formatted-currency{color:var(--color-success-hover, #059669);font-weight:600}.formatted-percentage{color:var(--color-primary, #7c3aed);font-weight:600}.formatted-date{color:var(--color-primary, #0284c7)}.cell-range-selected{background:var(--bg-primary, #dbeafe) !important;border:2px solid var(--color-primary, #10b981) !important}.range-selection-anchor{background:var(--color-primary, #bfdbfe) !important;border:2px dashed var(--color-primary, #10b981) !important}.copy-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background:var(--color-success, #10b981);color:var(--text-standard, #ffffff);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;z-index:1000;animation:fadeInOut 1s ease-in-out}@keyframes fadeInOut{0%,100%{opacity:0}50%{opacity:1}}.color-scale-cell{position:relative;color:var(--text-primary, #111827);font-weight:600}.data-bar-cell{position:relative;padding:8px}.data-bar-value{position:relative;z-index:1;font-weight:600}.icon-set{display:inline-flex;align-items:center;gap:6px}.icon-set-icon{font-size:16px}.icon-positive{color:var(--color-success, #10b981)}.icon-neutral{color:var(--color-warning, #f59e0b)}.icon-negative{color:var(--color-danger, #ef4444)}.cell-with-formatting{transition:all 0.2s ease}.cell-with-formatting:hover{transform:scale(1.02);box-shadow:0 2px 8px rgba(0, 0, 0, 0.1)}.cell-progress-bar{width:100%;height:24px;background:var(--bg-primary, #e5e7eb);border-radius:12px;overflow:hidden;position:relative}.cell-progress-fill{height:100%;background:linear-gradient(90deg, var(--color-primary, #10b981) 0%, var(--color-primary, #1d4ed8) 100%);transition:width 0.3s ease;display:flex;align-items:center;justify-content:center;color:var(--text-standard, #ffffff);font-size:12px;font-weight:600}.cell-editor:focus{border-color:var(--color-primary-hover, #2563eb);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.cell-editor-error{border-color:var(--color-danger, #ef4444)}.cell-editor-error:focus{box-shadow:0 0 0 3px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}.bulk-actions-toolbar{position:sticky;top:0;z-index:100;background:var(--bg-secondary, #f3f4f6);border-bottom:2px solid var(--border-default, #e5e7eb);padding:12px 16px;display:flex;align-items:center;gap:12px;animation:slideDown 0.3s ease}@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.bulk-actions-count{font-weight:600;color:var(--text-secondary, #374151)}.bulk-action-btn{padding:6px 12px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-strong, #d1d5db);border-radius:6px;font-size:14px;cursor:pointer;transition:all 0.2s}.bulk-action-btn:hover{background:var(--bg-primary, #f9fafb);border-color:var(--color-primary, #9ca3af)}.bulk-action-btn.primary{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);border-color:var(--color-primary, #10b981)}.bulk-action-btn.primary:hover{background:var(--color-primary-hover, #2563eb)}.bulk-action-btn.danger{background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);border-color:var(--color-danger, #ef4444)}.bulk-action-btn.danger:hover{background:var(--color-danger-hover, #dc2626)}@media print{.data-table-container{box-shadow:none !important;border:none !important;overflow:visible !important;max-height:none !important}.table-wrapper{max-height:none !important;overflow:visible !important}.table-toolbar,.pagination-container,.filter-panel,.column-settings-dialog,.export-dialog,.keyboard-shortcuts-modal,.actions-column,.select-column,.row-details-toggle-cell,.bulk-actions-bar{display:none !important}.data-table{width:100% !important;border-collapse:collapse !important}.data-table th,.data-table td{color:var(--text-primary, #000) !important;border:1px solid var(--border-default, #ccc) !important;padding:8px !important}tr{break-inside:avoid;page-break-inside:avoid}}.context-menu{position:fixed;background:var(--table-bg);border:1px solid var(--table-border);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);border-radius:6px;padding:4px;min-width:160px;z-index:9999}.context-menu-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--table-text);font-size:14px;border-radius:4px}.context-menu-item:hover{background:var(--table-hover)}.mobile-cards-view{display:flex;flex-direction:column;gap:12px;padding:12px}.mobile-card{background:var(--table-bg);border:1px solid var(--table-border);border-radius:8px;padding:12px}.mobile-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--table-border);font-weight:600}.mobile-card .card-field{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.mobile-card .card-field label{color:var(--table-text-secondary);font-weight:500}.data-table td.focused-cell{box-shadow:inset 0 0 0 2px var(--table-primary) !important;background:rgba(var(--color-primary-rgb, 59, 130, 246), 0.05);z-index:10}.data-table td:focus{outline:none}.data-table th.pinned-left,.data-table td.pinned-left{position:sticky;left:0;z-index:25;box-shadow:2px 0 4px var(--table-shadow)}.data-table th.pinned-right,.data-table td.pinned-right{position:sticky;right:0;z-index:25;box-shadow:-2px 0 4px var(--table-shadow)}.header-menu-trigger{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--table-text-secondary);opacity:0;transition:all 0.2s;font-size:16px;line-height:1}.data-table th:hover .header-menu-trigger{opacity:1}.header-menu-trigger:hover{background:var(--table-hover);color:var(--table-text)}.context-menu.header-context-menu{min-width:200px}.context-menu-header{padding:8px 12px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--table-text-secondary);border-bottom:1px solid var(--table-border);margin-bottom:4px}.context-menu ul{list-style:none;padding:0;margin:0}.context-menu li{padding:8px 12px;cursor:pointer;font-size:14px;transition:background 0.2s;position:relative}.context-menu li:hover{background:var(--table-hover)}.context-menu li.divider{height:1px;background:var(--table-border);padding:0;margin:4px 0;cursor:default}.context-menu li.has-submenu::after{content:"";font-size:10px;position:absolute;right:12px;opacity:0.5}.context-menu .submenu{position:absolute;left:100%;top:0;display:none;background:var(--table-bg);border:1px solid var(--table-border);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);min-width:140px;padding:4px}.context-menu li.has-submenu:hover>.submenu{display:block}.sr-announcer{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.data-table th.pinned-left,.data-table td.pinned-left{background:linear-gradient(to right, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent);border-right:2px solid rgba(var(--color-primary-rgb, 59, 130, 246), 0.3)}.data-table th.pinned-right,.data-table td.pinned-right{background:linear-gradient(to left, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent);border-left:2px solid rgba(var(--color-primary-rgb, 59, 130, 246), 0.3)}.data-table th.pinned-left::before,.data-table th.pinned-right::before{content:"";font-size:10px;opacity:0.6;margin-right:4px}.data-table th.pinned-left:hover,.data-table th.pinned-right:hover{background:rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.pin-indicator{font-size:12px;margin-right:4px;opacity:0.8;display:inline-block;animation:pinPulse 2s ease-in-out infinite}@keyframes pinPulse{0%,100%{opacity:0.8}50%{opacity:1}}.data-table th.pinned-left,.data-table td.pinned-left{background:linear-gradient(to right, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent), var(--table-bg) !important;background-blend-mode:normal}.data-table th.pinned-right,.data-table td.pinned-right{background:linear-gradient(to left, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent), var(--table-bg) !important;background-blend-mode:normal}.data-table th.pinned-left{background:linear-gradient(to right, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent), var(--table-header-bg) !important}.data-table td.pinned-left{background:linear-gradient(to right, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent), var(--table-bg) !important}.data-table th.pinned-right{background:linear-gradient(to left, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent), var(--table-header-bg) !important}.data-table td.pinned-right{background:linear-gradient(to left, rgba(var(--color-primary-rgb, 59, 130, 246), 0.05), transparent), var(--table-bg) !important}.data-table-footer{background-color:var(--table-header-bg, #f8fafc);border-top:2px solid var(--border-subtle, #e2e8f0);font-weight:600;z-index:2}.data-table-container tfoot tr{position:sticky;bottom:0;background-color:var(--table-header-bg, #f8fafc);z-index:3;box-shadow:0 -1px 2px rgba(0, 0, 0, 0.05)}.data-table-footer td{padding:12px 16px;border-bottom:1px solid var(--border-subtle, #e2e8f0);background-color:inherit;vertical-align:top}.agg-item{display:flex;flex-direction:column;font-size:0.75rem;margin-bottom:4px}.agg-label{color:var(--text-muted, #64748b);text-transform:uppercase;font-size:0.65rem;margin-bottom:1px}.agg-value{color:var(--text-primary, #0f172a);font-weight:700;font-size:0.85rem}';export{i as ui_advanced_data_table}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as i,a as e,h as s}from"./p-DUsoYu9r.js";const a=class{constructor(e){t(this,e),this.itemClick=i(this,"itemClick"),this.filterChange=i(this,"filterChange"),this.sortChange=i(this,"sortChange"),this.itemSelectionChange=i(this,"itemSelectionChange"),this.layoutChange=i(this,"layoutChange"),this.itemsLoaded=i(this,"itemsLoaded"),this.batchDelete=i(this,"batchDelete")}get el(){return e(this)}items=[];columns=3;gap=16;layoutType="masonry";itemMinWidth=200;itemMaxWidth=400;breakpoints='{"640":2,"768":3,"1024":4,"1280":5}';filterBy="";sortBy="";sortOrder="asc";animationDuration=300;enableAnimation=!0;loadingState=!1;emptyMessage="No items to display";showFilters=!1;filterOptions=[];lazyLoad=!1;lazyLoadMargin="200px";infiniteScroll=!1;infiniteScrollDistance=200;selectable=!1;multiSelect=!1;showBatchActions=!1;lightbox=!1;filteredItems=[];currentColumns=3;isResizing=!1;selectedItems=new Set;loadedImages=new Set;visibleItems=12;activeImageIndex=-1;isLightboxOpen=!1;itemClick;filterChange;sortChange;itemSelectionChange;layoutChange;itemsLoaded;batchDelete;resizeObserver;componentWillLoad(){this.updateFilteredItems(),this.calculateColumns()}componentDidLoad(){this.setupResizeObserver(),this.infiniteScroll&&this.setupInfiniteScroll(),this.lazyLoad&&this.setupLazyLoading()}handleWindowKeyDown(t){if(this.isLightboxOpen&&this.lightbox)return"Escape"===t.key&&this.closeLightbox(),"ArrowRight"===t.key&&this.nextImage(t),void("ArrowLeft"===t.key&&this.prevImage(t));(this.selectedItems.size>0||document.activeElement===this.el)&&this.handleKeyDown(t)}handleKeyDown(t){if(this.selectable)return t.ctrlKey&&"a"===t.key?(t.preventDefault(),void this.selectAll()):"Escape"===t.key&&this.selectedItems.size>0?(t.preventDefault(),void this.deselectAll()):"Delete"===t.key&&this.selectedItems.size>0?(t.preventDefault(),void this.deleteSelected()):void 0}disconnectedCallback(){this.resizeObserver&&this.resizeObserver.disconnect(),this.infiniteScrollObserver&&this.infiniteScrollObserver.disconnect(),this.lazyLoadObserver&&this.lazyLoadObserver.disconnect()}infiniteScrollObserver;lazyLoadObserver;setupInfiniteScroll(){void 0!==globalThis.IntersectionObserver&&(this.infiniteScrollObserver=new IntersectionObserver((t=>{t.forEach((t=>{t.isIntersecting&&this.visibleItems<this.filteredItems.length&&(this.visibleItems=Math.min(this.visibleItems+12,this.filteredItems.length),this.itemsLoaded.emit({count:this.visibleItems,total:this.filteredItems.length}))}))}),{rootMargin:`${this.infiniteScrollDistance}px`}),setTimeout((()=>{const t=this.el.shadowRoot?.querySelector(".infinite-scroll-sentinel");t&&this.infiniteScrollObserver.observe(t)}),100))}setupLazyLoading(){void 0!==globalThis.IntersectionObserver&&(this.lazyLoadObserver=new IntersectionObserver((t=>{t.forEach((t=>{if(t.isIntersecting){const i=parseInt(t.target.getAttribute("data-index"));this.loadedImages=new Set([...this.loadedImages,i]);const e=t.target,s=e.getAttribute("data-src");s&&!e.src&&(e.src=s),this.lazyLoadObserver.unobserve(t.target)}}))}),{rootMargin:this.lazyLoadMargin}),setTimeout((()=>{const t=this.el.shadowRoot?.querySelectorAll("img[data-src]");t?.forEach((t=>this.lazyLoadObserver.observe(t)))}),100))}toggleSelection(t,i){if(!this.selectable)return;i&&i.stopPropagation();const e=new Set(this.selectedItems);e.has(t)?e.delete(t):(this.multiSelect||e.clear(),e.add(t)),this.selectedItems=e;const s=Array.from(this.selectedItems),a=s.map((t=>this.filteredItems[t]));this.itemSelectionChange.emit({selectedItems:a,indices:s})}selectAll(){if(!this.selectable)return;this.selectedItems=new Set(this.filteredItems.map(((t,i)=>i)));const t=Array.from(this.selectedItems),i=t.map((t=>this.filteredItems[t]));this.itemSelectionChange.emit({selectedItems:i,indices:t})}deselectAll(){this.selectedItems=new Set,this.itemSelectionChange.emit({selectedItems:[],indices:[]})}deleteSelected(){const t=Array.from(this.selectedItems),i=t.map((t=>this.filteredItems[t]));this.batchDelete.emit({items:i,indices:t}),this.selectedItems=new Set,this.itemSelectionChange.emit({selectedItems:[],indices:[]})}watchItemsChange(){this.updateFilteredItems()}watchColumnsChange(){this.calculateColumns()}getParsedItems(){if("string"==typeof this.items)try{return JSON.parse(this.items)}catch{return console.error("Invalid items JSON"),[]}return this.items}getParsedFilterOptions(){if("string"==typeof this.filterOptions)try{return JSON.parse(this.filterOptions)}catch{return[]}return this.filterOptions}getParsedBreakpoints(){try{return JSON.parse(this.breakpoints)}catch{return{640:2,768:3,1024:4,1280:5}}}setupResizeObserver(){this.resizeObserver=new ResizeObserver((()=>{this.isResizing=!0,this.calculateColumns(),setTimeout((()=>{this.isResizing=!1}),100)}));const t=this.el.shadowRoot.querySelector(".masonry-container");t&&this.resizeObserver.observe(t)}calculateColumns(){const t=this.el.shadowRoot?.querySelector(".masonry-container");if(!t)return;const i=t.clientWidth,e=this.getParsedBreakpoints(),s=Object.keys(e).map(Number).sort(((t,i)=>i-t));let a=this.columns;for(const t of s)if(i>=t){a=e[t];break}this.currentColumns=a}updateFilteredItems(){let t=[...this.getParsedItems()];this.filterBy&&(t=t.filter((t=>{const[i,e]=this.filterBy.split(":");return t[i]&&t[i].toString().toLowerCase().includes(e.toLowerCase())}))),this.sortBy&&t.sort(((t,i)=>{const e=t[this.sortBy],s=i[this.sortBy];if("number"==typeof e&&"number"==typeof s)return"asc"===this.sortOrder?e-s:s-e;const a=String(e).toLowerCase(),o=String(s).toLowerCase();return"asc"===this.sortOrder?a.localeCompare(o):o.localeCompare(a)})),this.filteredItems=t}handleItemClick=(t,i)=>{this.itemClick.emit({item:t,index:i})};handleFilterChange=(t,i)=>{this.filterChange.emit({filterBy:t,value:i})};handleSortChange=(t,i)=>{this.sortChange.emit({sortBy:t,order:i})};getColumnItems(t){return"masonry"===this.layoutType?this.filteredItems.filter(((i,e)=>e%this.currentColumns===t)):this.filteredItems}renderFilters(){if(!this.showFilters)return null;const t=this.getParsedFilterOptions();return s("div",{class:"masonry-filters"},s("div",{class:"filter-group"},s("label",null,"Filter:"),s("select",{onChange:i=>{const e=i.target.value;this.handleFilterChange(t[0]?.key||"category",e)}},s("option",{value:""},"All"),t.map((t=>s("option",{value:t.key},t.label))))),s("div",{class:"filter-group"},s("label",null,"Sort:"),s("select",{onChange:t=>this.handleSortChange(t.target.value,this.sortOrder)},s("option",{value:""},"None"),s("option",{value:"title"},"Title"),s("option",{value:"date"},"Date"),s("option",{value:"size"},"Size"))),s("div",{class:"filter-group"},s("ui-button",{variant:"ghost",class:{"sort-button":!0,active:"asc"===this.sortOrder},onClick:()=>this.handleSortChange(this.sortBy,"asc"),icon:"arrow-up",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"}),s("ui-button",{variant:"ghost",class:{"sort-button":!0,active:"desc"===this.sortOrder},onClick:()=>this.handleSortChange(this.sortBy,"desc"),icon:"arrow-down",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"})))}renderMasonryLayout(){const t=this.infiniteScroll?this.filteredItems.slice(0,this.visibleItems):this.filteredItems;return s("div",{class:"masonry-columns",role:"grid","aria-label":"Masonry layout",style:{"column-count":this.currentColumns.toString(),"column-gap":`${this.gap}px`}},t.map(((t,i)=>s("div",{class:{"masonry-item":!0,animate:this.enableAnimation&&!this.isResizing,selected:this.selectedItems.has(i)},style:{"margin-bottom":`${this.gap}px`,"animation-delay":this.enableAnimation?50*i+"ms":"0ms"},onClick:()=>this.handleItemClick(t,i),role:"gridcell","aria-selected":this.selectedItems.has(i)?"true":"false",tabindex:0},this.selectable&&s("div",{class:"selection-checkbox"},s("ui-checkbox",{checked:this.selectedItems.has(i),onCheckboxChange:t=>this.toggleSelection(i,t),ariaLabel:`Select ${t.title||`item ${i+1}`}`,size:"sm"})),s("slot",{name:`item-${i}`},this.renderDefaultItem(t,i))))),this.infiniteScroll&&this.visibleItems<this.filteredItems.length&&s("div",{class:"infinite-scroll-sentinel"}))}renderGridLayout(){const t=this.infiniteScroll?this.filteredItems.slice(0,this.visibleItems):this.filteredItems;return s("div",{class:"masonry-grid",role:"grid","aria-label":"Grid layout",style:{"grid-template-columns":`repeat(${this.currentColumns}, 1fr)`,gap:`${this.gap}px`}},t.map(((t,i)=>s("div",{class:{"masonry-item":!0,animate:this.enableAnimation&&!this.isResizing,selected:this.selectedItems.has(i)},style:{"animation-delay":this.enableAnimation?50*i+"ms":"0ms"},onClick:()=>this.handleItemClick(t,i),role:"gridcell","aria-selected":this.selectedItems.has(i)?"true":"false",tabindex:0},this.selectable&&s("div",{class:"selection-checkbox"},s("ui-checkbox",{checked:this.selectedItems.has(i),onCheckboxChange:t=>this.toggleSelection(i,t),ariaLabel:`Select ${t.title||`item ${i+1}`}`,size:"sm"})),s("slot",{name:`item-${i}`},this.renderDefaultItem(t,i))))),this.infiniteScroll&&this.visibleItems<this.filteredItems.length&&s("div",{class:"infinite-scroll-sentinel"}))}renderColumnsLayout(){const t=Array.from({length:this.currentColumns},((t,i)=>i)),i=this.infiniteScroll?this.filteredItems.slice(0,this.visibleItems):this.filteredItems;return s("div",{class:"masonry-flex-columns",role:"grid","aria-label":"Column layout",style:{gap:`${this.gap}px`}},t.map((t=>s("div",{class:"masonry-column",style:{flex:"1"},role:"row"},this.getColumnItems(t).map(((e,a)=>{const o=t+a*this.currentColumns;return o>=i.length?null:s("div",{class:{"masonry-item":!0,animate:this.enableAnimation&&!this.isResizing,selected:this.selectedItems.has(o)},style:{"margin-bottom":`${this.gap}px`,"animation-delay":this.enableAnimation?50*o+"ms":"0ms"},onClick:()=>this.handleItemClick(e,o),role:"gridcell","aria-selected":this.selectedItems.has(o)?"true":"false",tabindex:0},this.selectable&&s("div",{class:"selection-checkbox"},s("ui-checkbox",{checked:this.selectedItems.has(o),onCheckboxChange:t=>this.toggleSelection(o,t),ariaLabel:`Select ${e.title||`item ${o+1}`}`,size:"sm"})),s("slot",{name:`item-${o}`},this.renderDefaultItem(e,o)))}))))),this.infiniteScroll&&this.visibleItems<this.filteredItems.length&&s("div",{class:"infinite-scroll-sentinel"}))}openLightbox(t,i){this.lightbox&&(i.stopPropagation(),this.activeImageIndex=t,this.isLightboxOpen=!0,document.body.style.overflow="hidden")}closeLightbox(){this.isLightboxOpen=!1,document.body.style.overflow=""}nextImage(t){t&&t.stopPropagation(),this.activeImageIndex<this.filteredItems.length-1?this.activeImageIndex++:this.activeImageIndex=0}prevImage(t){t&&t.stopPropagation(),this.activeImageIndex>0?this.activeImageIndex--:this.activeImageIndex=this.filteredItems.length-1}renderLightbox(){if(!this.isLightboxOpen||-1===this.activeImageIndex)return null;const t=this.filteredItems[this.activeImageIndex];return t?s("div",{class:"masonry-lightbox",onClick:()=>this.closeLightbox()},s("ui-button",{variant:"ghost",class:"lightbox-close",onClick:()=>this.closeLightbox(),icon:"times",iconLibrary:"fontawesome",iconOnly:!0,size:"lg",ariaLabel:"Close lightbox"}),s("div",{class:"lightbox-content",onClick:t=>t.stopPropagation()},s("ui-button",{variant:"ghost",class:"lightbox-nav prev",onClick:t=>this.prevImage(t),icon:"chevron-left",iconLibrary:"fontawesome",iconOnly:!0,size:"lg",ariaLabel:"Previous image"}),s("div",{class:"lightbox-image-container"},s("img",{src:t.image,alt:t.title,class:"lightbox-image"}),s("div",{class:"lightbox-details"},s("h3",null,t.title),t.description&&s("p",null,t.description))),s("ui-button",{variant:"ghost",class:"lightbox-nav next",onClick:t=>this.nextImage(t),icon:"chevron-right",iconLibrary:"fontawesome",iconOnly:!0,size:"lg",ariaLabel:"Next image"})),s("div",{class:"lightbox-counter"},this.activeImageIndex+1," / ",this.filteredItems.length)):null}renderSkeleton(){const t=Array.from({length:3*this.currentColumns},((t,i)=>i)),i=Array.from({length:this.currentColumns},((t,i)=>i));return s("div",{class:"masonry-flex-columns skeleton-wrapper",style:{gap:`${this.gap}px`}},i.map((i=>s("div",{class:"masonry-column",style:{flex:"1"}},t.filter(((t,e)=>e%this.currentColumns===i)).map(((t,i)=>s("div",{class:"masonry-item skeleton-item",style:{"margin-bottom":`${this.gap}px`,height:200+50*i%200+"px"}},s("div",{class:"skeleton-shimmer"}))))))))}renderDefaultItem(t,i){return s("div",{class:"default-item",style:{"min-width":this.itemMinWidth?`${this.itemMinWidth}px`:void 0,"max-width":this.itemMaxWidth?`${this.itemMaxWidth}px`:void 0}},s("div",{class:"image-wrapper"},t.image&&s("img",this.lazyLoad?{"data-src":t.image,"data-index":i.toString(),alt:t.title||"Item",class:"lazy-image",style:{opacity:this.loadedImages.has(i)?"1":"0.3"}}:{src:t.image,alt:t.title||"Item",loading:"lazy"}),s("div",{class:"item-overlay"},s("div",{class:"overlay-actions"},this.lightbox&&s("ui-button",{variant:"ghost",onClick:t=>this.openLightbox(i,t),ariaLabel:"View Fullscreen",icon:"expand-alt",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"}),s("ui-button",{variant:"ghost",ariaLabel:"Like",icon:"heart",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"}),s("ui-button",{variant:"ghost",ariaLabel:"Info",icon:"info",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"})))),t.title&&s("h3",{class:"item-title"},t.title),t.description&&s("p",{class:"item-description"},t.description),t.tags&&s("div",{class:"item-tags"},t.tags.map((t=>s("span",{class:"tag"},t)))))}renderEmpty(){return s("div",{class:"masonry-empty"},s("ui-icon",{name:"inbox",library:"fontawesome"}),s("p",null,this.emptyMessage))}renderBatchActions(){return this.showBatchActions&&0!==this.selectedItems.size?s("div",{class:"batch-actions-toolbar",role:"toolbar","aria-label":"Batch actions"},s("span",{class:"selection-count"},this.selectedItems.size," selected"),s("div",{class:"action-buttons"},s("ui-button",{variant:"ghost",onClick:()=>this.selectAll(),ariaLabel:"Select all items",icon:"check-square",iconLibrary:"fontawesome",label:"Select All"}),s("ui-button",{variant:"ghost",onClick:()=>this.deselectAll(),ariaLabel:"Clear selection",icon:"times",iconLibrary:"fontawesome",label:"Clear"}),s("ui-button",{variant:"ghost",onClick:()=>this.deleteSelected(),class:"delete-button",ariaLabel:"Delete selected items",icon:"trash",iconLibrary:"fontawesome",label:"Delete"}))):null}render(){return this.loadingState?this.renderSkeleton():0===this.filteredItems.length?this.renderEmpty():s("div",{class:"masonry-wrapper",tabindex:this.selectable?0:-1},this.renderFilters(),this.renderBatchActions(),s("div",{class:{"masonry-container":!0,[`masonry-${this.layoutType}`]:!0}},"masonry"===this.layoutType&&this.renderMasonryLayout(),"grid"===this.layoutType&&this.renderGridLayout(),"columns"===this.layoutType&&this.renderColumnsLayout()),this.renderLightbox())}static get watchers(){return{items:[{watchItemsChange:0}],filterBy:[{watchItemsChange:0}],sortBy:[{watchItemsChange:0}],sortOrder:[{watchItemsChange:0}],columns:[{watchColumnsChange: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}.masonry-wrapper{width:100%;padding:16px}.masonry-filters{display:flex;gap:16px;align-items:center;margin-bottom:24px;padding:16px;background:var(--bg-primary, #f9fafb);border-radius:8px;flex-wrap:wrap}.masonry-filters .filter-group{display:flex;gap:8px;align-items:center}.masonry-filters .filter-group label{font-weight:600;font-size:0.875rem;color:var(--text-secondary, #374151)}.masonry-filters .filter-group select{padding:8px 12px;border:1px solid var(--border-strong, #d1d5db);border-radius:6px;font-size:0.875rem;background:var(--bg-primary, #ffffff);cursor:pointer;min-width:120px}.masonry-filters .filter-group select:focus{outline:none;border-color:var(--color-primary-hover, #2563eb);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.masonry-filters .filter-group .sort-button{padding:8px 12px;border:1px solid var(--border-strong, #d1d5db);border-radius:6px;background:var(--bg-primary, #ffffff);cursor:pointer;transition:all 0.2s ease;color:var(--text-muted, #6b7280)}.masonry-filters .filter-group .sort-button:hover{background:var(--bg-secondary, #f3f4f6);border-color:var(--color-primary, #9ca3af)}.masonry-filters .filter-group .sort-button.active{background:var(--color-success, #3dcd58);color:var(--text-standard, #ffffff);border-color:var(--color-success, #3dcd58)}.masonry-filters .filter-group .sort-button:focus{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.masonry-container{width:100%}.masonry-columns{column-gap:16px}.masonry-columns .masonry-item{break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100%}.masonry-grid{display:grid;grid-auto-rows:auto;width:100%}.masonry-grid .masonry-item{width:100%}.masonry-flex-columns{display:flex;width:100%}.masonry-flex-columns .masonry-column{display:flex;flex-direction:column}.masonry-item{cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease;background:var(--bg-primary, #ffffff);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.masonry-item:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.masonry-item.animate{animation:fadeInUp 0.3s ease forwards;opacity:0}.default-item img{width:100%;height:auto;display:block;object-fit:cover}.default-item .item-title{margin:12px 16px 8px;font-size:1rem;font-weight:600;color:var(--text-primary, #111827);line-height:1.4}.default-item .item-description{margin:0 16px 12px;font-size:0.875rem;color:var(--text-muted, #6b7280);line-height:1.5}.default-item .item-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 16px 16px}.default-item .item-tags .tag{padding:4px 8px;background:var(--bg-primary, #eff6ff);color:var(--color-success, #3dcd58);font-size:0.75rem;font-weight:500;border-radius:4px}.masonry-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted, #6b7280)}.masonry-loading .spinner{width:48px;height:48px;border:4px solid var(--border-default, #e5e7eb);border-top-color:var(--color-success, #3dcd58);border-radius:50%;animation:spin 0.8s linear infinite;margin-bottom:16px}.masonry-loading p{font-size:1rem;font-weight:500}.masonry-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted, #9ca3af)}.masonry-empty i{font-size:48px;margin-bottom:16px}.masonry-empty p{font-size:1rem;font-weight:500}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-item{background:var(--bg-secondary, #f3f4f6);position:relative;overflow:hidden;border-radius:8px}.skeleton-item .skeleton-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);animation:shimmer 1.5s infinite;transform:translateX(-100%)}@keyframes shimmer{100%{transform:translateX(100%)}}.masonry-lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0, 0, 0, 0.9);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn 0.3s ease}.masonry-lightbox .lightbox-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--text-standard, #ffffff);font-size:2rem;cursor:pointer;z-index:10001;transition:transform 0.2s ease}.masonry-lightbox .lightbox-close:hover{transform:scale(1.1)}.masonry-lightbox .lightbox-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:40px;box-sizing:border-box;position:relative}.masonry-lightbox .lightbox-nav{background:rgba(255, 255, 255, 0.1);border:none;color:var(--text-standard, #ffffff);font-size:1.5rem;padding:16px;border-radius:50%;cursor:pointer;transition:all 0.2s ease;backdrop-filter:blur(4px)}.masonry-lightbox .lightbox-nav:hover{background:rgba(255, 255, 255, 0.2);transform:scale(1.1)}.masonry-lightbox .lightbox-nav.prev{margin-right:20px}.masonry-lightbox .lightbox-nav.next{margin-left:20px}.masonry-lightbox .lightbox-image-container{position:relative;max-width:80%;max-height:80vh;border-radius:8px;overflow:hidden;box-shadow:0 20px 50px rgba(0, 0, 0, 0.5)}.masonry-lightbox .lightbox-image-container .lightbox-image{display:block;width:100%;height:100%;object-fit:contain;max-height:80vh}.masonry-lightbox .lightbox-image-container .lightbox-details{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);padding:24px;color:var(--text-standard, #ffffff);transform:translateY(100%);transition:transform 0.3s ease;box-sizing:border-box}.masonry-lightbox .lightbox-image-container .lightbox-details h3{margin:0 0 8px;font-size:1.25rem}.masonry-lightbox .lightbox-image-container .lightbox-details p{margin:0;opacity:0.8;font-size:0.9rem}.masonry-lightbox .lightbox-image-container:hover .lightbox-details{transform:translateY(0)}.masonry-lightbox .lightbox-counter{position:absolute;bottom:20px;color:rgba(255, 255, 255, 0.6);font-size:0.9rem;letter-spacing:1px}.default-item{position:relative}.default-item .image-wrapper{position:relative;overflow:hidden}.default-item .image-wrapper .item-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.4);opacity:0;transition:opacity 0.3s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}.default-item .image-wrapper .item-overlay .overlay-actions{display:flex;gap:12px;transform:translateY(20px);transition:transform 0.3s ease}.default-item .image-wrapper .item-overlay .action-btn{width:40px;height:40px;border-radius:50%;background:var(--bg-primary, #ffffff);border:none;color:var(--text-secondary, #333);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;box-shadow:0 4px 12px rgba(0, 0, 0, 0.2)}.default-item .image-wrapper .item-overlay .action-btn:hover{transform:translateY(-2px);background:var(--color-success, #3dcd58);color:var(--text-standard, #ffffff)}.default-item .image-wrapper:hover .item-overlay{opacity:1}.default-item .image-wrapper:hover .item-overlay .overlay-actions{transform:translateY(0)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}";export{a as ui_masonry}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,a as i,h as r}from"./p-DUsoYu9r.js";const s=class{constructor(i){t(this,i),this.groupChange=e(this,"groupChange"),this.groupValidation=e(this,"groupValidation")}normalizeValue(t){return Array.isArray(t)?t:"string"==typeof t&&t?t.split(","):[]}get el(){return i(this)}internals;value=[];name="";label="";helperText="";errorMessage="";required=!1;disabled=!1;readonly=!1;invalid=!1;orientation="vertical";gap="12px";showSelectAll=!1;selectAllLabel="Select All";buttonGroup=!1;min=0;max=1/0;validateOnChange=!0;size="md";color="primary";showSelectionCount=!1;reveal="none";revealDelay=0;revealStagger=60;victoryGlow=!1;rtl=!1;selectAllState="none";isVictory=!1;groupChange;groupValidation;componentWillLoad(){this.internals=this.el.attachInternals(),this.updateFormValue(),this.discoverCheckboxes(),this.updateCheckboxStates(),this.updateSelectAllState()}formResetCallback(){this.value=[],this.updateCheckboxStates(),this.updateSelectAllState(),this.updateFormValue()}handleValueChange(){this.updateCheckboxStates(),this.updateSelectAllState(),this.validateOnChange&&this.validate()}handleCheckboxChange(t){const{checked:e,value:i}=t.detail;if(this.disabled||this.readonly)return;let r=this.normalizeValue(this.value);e?r.includes(i)||(this.max===1/0||r.length<this.max)&&(r=[...r,i]):r=r.filter((t=>t!==i)),this.value=r,this.groupChange.emit({value:this.value}),this.updateSelectAllState(),this.validateOnChange&&this.validate(),this.updateFormValue()}updateFormValue(){if(this.name){const t=new FormData;this.value.forEach((e=>t.append(this.name,e))),this.internals.setFormValue(t)}else this.internals.setFormValue(this.value.join(","))}discoverCheckboxes(){}updateCheckboxStates(){const t=this.getAllCheckboxes(),e=this.normalizeValue(this.value),i=this.max!==1/0&&e.length>=this.max;t.forEach(((t,r)=>{t.checked=e.includes(t.value),t.disabled=this.disabled||i&&!t.checked||t.disabled,t.readonly=this.readonly,t.size=this.size,t.color=this.color,t.reveal=this.reveal,t.revealDelay=this.revealDelay+r*this.revealStagger,t.rtl=this.rtl,t.isButton=this.buttonGroup,this.name&&(t.name=this.name)}))}getAllCheckboxes(){return[...Array.from(this.el.querySelectorAll("ui-checkbox")),...Array.from(this.el.shadowRoot.querySelectorAll("ui-checkbox"))]}updateSelectAllState(){const t=this.getAllCheckboxes(),e=this.normalizeValue(this.value),i=t.filter((t=>!t.disabled));if(0===i.length)return;const r=i.filter((t=>e.includes(t.value))).length;0===r?(this.selectAllState="none",this.isVictory=!1):r===i.length?(this.selectAllState="all",this.victoryGlow&&(this.isVictory=!0)):(this.selectAllState="some",this.isVictory=!1)}handleSelectAllChange=t=>{if(this.disabled||this.readonly)return;const e=t.target,i=this.getAllCheckboxes().filter((t=>!t.disabled));if(e.checked){const t=i.map((t=>t.value)),e=Array.from(new Set([...this.value,...t]));this.value=this.max!==1/0?e.slice(0,this.max):e}else{const t=i.map((t=>t.value));this.value=this.value.filter((e=>!t.includes(e)))}this.groupChange.emit({value:this.value}),this.updateSelectAllState(),this.validateOnChange&&this.validate()};validate(){const t=[];this.required&&0===this.value.length&&t.push("At least one option must be selected"),this.min>0&&this.value.length<this.min&&t.push(`At least ${this.min} option${this.min>1?"s":""} must be selected`),this.max!==1/0&&this.value.length>this.max&&t.push(`No more than ${this.max} option${this.max>1?"s":""} can be selected`);const e=0===t.length;return this.groupValidation.emit({valid:e,errors:t}),e}selectAll(){const t=this.getAllCheckboxes().filter((t=>!t.disabled)).map((t=>t.value));this.value=this.max!==1/0?t.slice(0,this.max):t,this.groupChange.emit({value:this.value})}deselectAll(){this.value=[],this.groupChange.emit({value:this.value})}toggleAll(){"all"===this.selectAllState?this.deselectAll():this.selectAll()}renderSelectAll(){return this.showSelectAll?r("div",{class:"select-all-container"},r("ui-checkbox",{checked:"all"===this.selectAllState,indeterminate:"some"===this.selectAllState,label:this.selectAllLabel,disabled:this.disabled,readonly:this.readonly,size:this.size,color:this.color,rtl:this.rtl,onCheckboxChange:this.handleSelectAllChange})):null}renderLabel(){return this.label?r("div",{class:"group-label"},r("span",{class:"label-text"},this.label,this.required&&r("span",{class:"required-indicator"},"*")),this.showSelectionCount&&r("span",{class:"selection-count"},"(",this.value.length,this.max!==1/0?` / ${this.max}`:""," selected)")):null}renderHelperText(){if(this.invalid&&this.errorMessage)return r("div",{class:"helper-text error"},r("ui-icon",{name:"fa-exclamation-circle"}),this.errorMessage);if(this.helperText)return r("div",{class:"helper-text"},this.helperText);if(this.min>0||this.max!==1/0){const t=this.value.length;let e="";return this.min>0&&this.max!==1/0?e=`Select ${this.min}-${this.max} options (${t} selected)`:this.min>0?e=`Select at least ${this.min} option${this.min>1?"s":""} (${t} selected)`:this.max!==1/0&&(e=`Select up to ${this.max} option${this.max>1?"s":""} (${t} selected)`),r("div",{class:"helper-text"},e)}return null}options=[];searchable=!1;searchPlaceholder="Search options...";layout="list";columns=2;searchQuery="";handleSearch=t=>{this.searchQuery=t.target.value.toLowerCase()};getFilteredOptions(){if(!this.options||0===this.options.length)return[];const t=this.options.map((t=>"string"==typeof t?{label:t,value:t,disabled:!1}:t));return this.searchQuery?t.filter((t=>t.label.toLowerCase().includes(this.searchQuery))):t}renderSearch(){return this.searchable?r("div",{class:{"checkbox-search":!0,"search-active":this.searchQuery.length>0}},r("div",{class:"search-input-wrapper"},r("ui-icon",{name:"search",library:"lucide",class:"search-icon"}),r("input",{type:"text",placeholder:this.searchPlaceholder,onInput:this.handleSearch,value:this.searchQuery,class:"search-input"}),this.searchQuery.length>0&&r("ui-button",{variant:"ghost",class:"clear-search",onClick:()=>{this.searchQuery=""},icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}))):null}renderDataOptions(){const t=this.getFilteredOptions();if(0===t.length&&this.searchQuery)return r("div",{class:"no-results"},"No options found");const e=this.normalizeValue(this.value);return t.map(((t,i)=>r("ui-checkbox",{value:t.value,label:t.label,disabled:this.disabled||t.disabled,readonly:this.readonly,size:this.size,color:this.color,variant:t.variant||"default",name:this.name,checked:e.includes(t.value),reveal:this.reveal,revealDelay:this.revealDelay+i*this.revealStagger,rtl:this.rtl,isButton:this.buttonGroup,onCheckboxChange:this.handleCheckboxChange})))}render(){const t=this.options&&this.options.length>0;return r("div",{key:"05a2da58c9dd7f3438076d3beb725f3596545cb6",class:{"checkbox-group":!0,[`checkbox-group-${this.orientation}`]:"list"===this.layout,"checkbox-group-grid":"grid"===this.layout,[`checkbox-group-cols-${this.columns}`]:"grid"===this.layout,[`checkbox-group-${this.size}`]:!0,"checkbox-group-disabled":this.disabled,"checkbox-group-readonly":this.readonly,"checkbox-group-invalid":this.invalid,"checkbox-group-button":this.buttonGroup,"is-victory":this.isVictory},dir:this.rtl?"rtl":"ltr"},this.renderLabel(),this.renderSearch(),this.renderSelectAll(),r("div",{key:"0a64f5ff1b6474c771059e6d856b42a48641d5a1",class:"checkbox-group-items",style:"grid"===this.layout?{display:"grid",gridTemplateColumns:`repeat(${this.columns}, 1fr)`,gap:this.gap}:{gap:this.gap},role:"group","aria-labelledby":this.label?"group-label":void 0,"aria-required":this.required?"true":"false","aria-invalid":this.invalid?"true":"false"},t?this.renderDataOptions():r("slot",null)),this.renderHelperText())}static get formAssociated(){return!0}static get watchers(){return{value:[{handleValueChange:0}]}}};s.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}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group.is-victory .group-label .selection-count{animation:victory-pulse 2s infinite ease-in-out;background:var(--primary-color);color:var(--text-standard, #ffffff);box-shadow:0 0 15px var(--primary-color)}.group-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--label-color, var(--text-primary, #333));margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;cursor:default}.group-label .selection-count{font-size:10px;font-weight:600;text-transform:none;letter-spacing:normal;opacity:1;color:var(--label-subtitle-color, var(--text-secondary, #666));background:var(--bg-secondary, #f3f4f6);padding:2px 8px;border-radius:10px}.required-indicator{color:var(--danger-color, #f44336);margin-inline-start:4px}.select-all-container{padding-bottom:8px;border-bottom:1px solid var(--border-color, #e0e0e0)}.checkbox-group-items{display:flex}.checkbox-group-vertical .checkbox-group-items{flex-direction:column}.checkbox-group-horizontal .checkbox-group-items{flex-direction:row;flex-wrap:wrap}.checkbox-group-disabled{opacity:0.6;pointer-events:none}.checkbox-group-readonly{pointer-events:none}.checkbox-group-invalid .group-label{color:var(--danger-color, #f44336)}.helper-text{font-size:12px;color:var(--label-subtitle-color, var(--text-secondary, #666));display:flex;align-items:center;gap:6px}.helper-text.error{color:var(--danger-color, #f44336)}.helper-text i{font-size:14px}.checkbox-group-sm .group-label{font-size:12px}.checkbox-group-sm .helper-text{font-size:11px}.checkbox-group-lg .group-label{font-size:16px}.checkbox-group-lg .helper-text{font-size:13px}.checkbox-search{position:relative;margin-bottom:4px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.checkbox-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.checkbox-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.checkbox-search .search-icon{margin-left:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.checkbox-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.checkbox-search input.search-input::placeholder{opacity:1}.checkbox-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:6px;color:var(--text-secondary);transition:all 0.2s}.checkbox-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.checkbox-search .clear-search ui-icon{font-size:14px}@keyframes victory-pulse{0%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}50%{transform:scale(1.05);box-shadow:0 0 15px var(--primary-color)}100%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}}.no-results{font-size:14px;color:var(--text-secondary, #999);padding:8px 0;font-style:italic}.checkbox-group-grid .checkbox-group-items{display:grid}";export{s as ui_checkbox_group}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e,F as a,r as t,c as i,H as n}from"./p-DUsoYu9r.js";const o=class{topItems=[];bottomItems=[];bottomItemsSecondary=[];collapsed=!0;showHamburger=!0;logoUrl;logoAlt="Logo";appTitle;showSearch=!1;searchPlaceholder="Search...";iconLibrary="default";maxVisibleItems=0;navItemClicked;navToggled;expandedItems=new Set;searchQuery="";showOverflowMenu=!1;isHoveringMenu=!1;overflowMenuPosition={top:"0px",left:"0px"};hoveredIcon=null;tooltipPos={top:0,left:0};overflowTriggerRef;async toggle(){this.collapsed=!this.collapsed,this.navToggled.emit({collapsed:this.collapsed})}async expand(){this.collapsed=!1,this.navToggled.emit({collapsed:this.collapsed})}async collapse(){this.collapsed=!0,this.navToggled.emit({collapsed:this.collapsed})}componentWillLoad(){}handleHamburgerClick=()=>{this.toggle()};handleSearchInput=e=>{this.searchQuery=e.target.value.toLowerCase()};filterItems=e=>this.searchQuery?e.filter((e=>{const a=e.label.toLowerCase().includes(this.searchQuery),t=e.children?.some((e=>e.label.toLowerCase().includes(this.searchQuery)));return a||t})):e;splitItemsByVisibility=e=>0===this.maxVisibleItems||e.length<=this.maxVisibleItems?{visible:e,overflow:[]}:{visible:e.slice(0,this.maxVisibleItems),overflow:e.slice(this.maxVisibleItems)};calculateOverflowMenuPosition=()=>{if(!this.overflowTriggerRef)return;const e=this.overflowTriggerRef.getBoundingClientRect();let a=e.right+8,t=e.top;a+280>window.innerWidth&&(a=e.left-280-8),t+500>window.innerHeight&&(t=Math.max(8,window.innerHeight-500-8)),t=Math.max(8,t),this.overflowMenuPosition={top:`${t}px`,left:`${a}px`}};handleOverflowTriggerEnter=()=>{this.calculateOverflowMenuPosition(),this.showOverflowMenu=!0};toggleSubitems=e=>{const a=new Set(this.expandedItems);a.has(e)?a.delete(e):a.add(e),this.expandedItems=a};handleItemClick=(e,a,t=!1)=>{e.disabled?a.preventDefault():e.children&&e.children.length>0?(a.preventDefault(),this.toggleSubitems(e.id)):this.navItemClicked.emit({item:e,isChild:t})};handleIconEnter=(e,a)=>{if(this.collapsed&&(!e.children||0===e.children.length)){const t=a.currentTarget.getBoundingClientRect();this.hoveredIcon=e.id,this.tooltipPos={top:t.top+t.height/2,left:t.right+12}}};handleIconLeave=()=>{this.hoveredIcon&&(this.hoveredIcon=null)};renderNavItem=(t,i=!1)=>{const n=t.children&&t.children.length>0,o=this.expandedItems.has(t.id),r={"nav-item":!0,active:t.active,disabled:t.disabled,"has-children":n,expanded:o,"is-child":i},s={"nav-item-link":!0,"no-icon":!t.icon};return e("div",{key:t.id},t.sectionHeader&&!this.collapsed&&e("div",{class:"nav-section-header"},t.sectionHeader),e("div",{class:r},e("a",{href:t.href||"#",class:s,onClick:e=>this.handleItemClick(t,e,i)},t.icon&&e("span",{class:"nav-item-icon",onMouseEnter:e=>this.handleIconEnter(t,e),onMouseLeave:this.handleIconLeave},e("ui-icon",{name:t.icon,library:t.iconLibrary||this.iconLibrary,size:"1.25rem"})),!this.collapsed&&e(a,null,e("span",{class:"nav-item-label"},t.label),t.badge&&e("span",{class:"nav-item-badge"},t.badge),n&&e("span",{class:"nav-item-arrow"},e("ui-icon",{name:"chevron-down",library:this.iconLibrary,size:"1rem"})))),n&&o&&e("div",{class:"nav-children"},t.children.map((e=>this.renderNavItem(e,!0))))))};constructor(e){t(this,e),this.navItemClicked=i(this,"navItemClicked"),this.navToggled=i(this,"navToggled")}connectedCallback(){}render(){return e(n,{key:"0a615eb525f4bc7ac076501ce2350727fa9510fb",collapsed:this.collapsed},e("nav",{key:"f89f766c305662a8dbafd34f6e45f241d4975e2e",class:"nav-bar "+(this.collapsed?"collapsed":"expanded")},e("div",{key:"066f83d3bc8df75a31b56aa87a92c33cff9d6cee",class:"nav-header"},this.logoUrl&&e("img",{key:"40057cb53b7dd751b0a90413894197aa4266f690",src:this.logoUrl,alt:this.logoAlt,class:"nav-logo"}),this.appTitle&&e("span",{key:"4f7a597a93ca681d0532474b0ab45b9ad8953b26",class:"nav-title"},this.appTitle),this.showHamburger&&e("button",{key:"bf2d1388044b5d5228a8ec1e549adf8d2b645abd",class:"nav-hamburger",onClick:this.handleHamburgerClick,"aria-label":this.collapsed?"Expand navigation":"Collapse navigation"},e("ui-icon",this.collapsed?{name:"menu",library:this.iconLibrary,size:"1.5rem"}:{name:"x",library:this.iconLibrary,size:"1.5rem"}))),this.showSearch&&!this.collapsed&&e("div",{key:"c998229e3925b92db73584169ae1f0f21d5dc88c",class:"nav-search"},e("input",{key:"49f4c5c425460348ef34fb2885bd488f8adb408f",type:"text",class:"nav-search-input",placeholder:this.searchPlaceholder,onInput:this.handleSearchInput})),e("div",{key:"7d4d939b8c9ca8a58008dc3d651b18b5371bae5b",class:"nav-content"},this.renderSection(this.topItems,"nav-section-top")),this.hoveredIcon&&e("div",{key:"ec91c193a7881e597f6ee9934922751f2f197dad",class:"nav-tooltip visible",style:{top:`${this.tooltipPos.top}px`,left:`${this.tooltipPos.left}px`}},[...this.topItems,...this.bottomItems,...this.bottomItemsSecondary].flatMap((e=>[e,...e.children||[]])).find((e=>e.id===this.hoveredIcon))?.label),e("div",{key:"a5c8a38cf7ecb5feb91a21ccc95ddf333cec0eeb",class:"nav-footer"},this.renderSection(this.bottomItems,"nav-section-bottom"),this.renderSection(this.bottomItemsSecondary,"nav-section-bottom-secondary"))))}renderSection(a,t){if(!a||0===a.length)return null;const i=this.filterItems(a),{visible:n,overflow:o}=this.splitItemsByVisibility(i);return e("div",{class:`nav-section ${t}`},n.map((e=>this.renderNavItem(e))),o.length>0&&e("div",{class:"nav-overflow"},e("div",{class:"nav-overflow-trigger",ref:e=>this.overflowTriggerRef=e,onMouseEnter:this.handleOverflowTriggerEnter,onMouseLeave:()=>{setTimeout((()=>{this.isHoveringMenu||(this.showOverflowMenu=!1)}),100)}},e("span",{class:"nav-item-icon"},e("ui-icon",{name:"more-horizontal",library:this.iconLibrary,size:"1.25rem"})),e("span",{class:"nav-item-label"},"More (",o.length,")")),this.showOverflowMenu&&e("div",{class:"nav-overflow-menu",onMouseEnter:()=>{this.isHoveringMenu=!0,this.showOverflowMenu=!0},onMouseLeave:()=>{this.isHoveringMenu=!1,setTimeout((()=>{this.showOverflowMenu=!1}),100)},style:{left:this.overflowMenuPosition.left,top:this.overflowMenuPosition.top}},o.map((e=>this.renderNavItem(e))))))}};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;height:100%;width:var(--nav-width-expanded, 280px);transition:width var(--nav-transition, 0.4s cubic-bezier(0.4, 0, 0.2, 1));flex-shrink:0;overflow:hidden;--nav-bg:#0f172a;--nav-text:#f8fafc;--nav-text-muted:#94a3b8;--nav-accent:#3b82f6;--nav-accent-glow:rgba(59, 130, 246, 0.4);--nav-hover-bg:rgba(255, 255, 255, 0.05);--nav-active-bg:linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(139, 92, 246, 0.1) 100%);--nav-border:rgba(255, 255, 255, 0.08);--nav-width-expanded:280px;--nav-width-collapsed:80px;--nav-transition:0.4s cubic-bezier(0.4, 0, 0.2, 1)}:host([collapsed]){width:var(--nav-width-collapsed, 80px)}.nav-bar{display:flex;flex-direction:column;height:100%;background:var(--nav-bg);color:var(--nav-text);width:100%;border-right:1px solid var(--nav-border);position:relative;box-sizing:border-box}.nav-bar.collapsed{width:var(--nav-width-collapsed)}.nav-header{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;min-height:80px;border-bottom:1px solid var(--nav-border)}.collapsed .nav-header{padding:24px 0;justify-content:center}.nav-logo{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255, 255, 255, 0.2))}.nav-title{font-size:18px;font-weight:700;white-space:nowrap;letter-spacing:-0.5px;background:linear-gradient(to right, #fff, #94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.collapsed .nav-title{display:none}.nav-hamburger{background:var(--nav-hover-bg);border:1px solid var(--nav-border);color:white;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all 0.2s ease;margin-left:auto}.collapsed .nav-hamburger{margin-left:0}.collapsed .nav-header{flex-direction:column;padding:16px 0;height:auto;min-height:100px;gap:12px}.nav-hamburger:hover{background:var(--nav-accent);border-color:var(--nav-accent)}.nav-search{padding:16px;position:relative}.nav-search-input{width:100%;padding:10px 12px 10px 38px;background:rgba(255, 255, 255, 0.03);border:1px solid var(--nav-border);border-radius:10px;color:white;font-size:13px;outline:none;transition:all 0.3s ease}.nav-search-input:focus{border-color:var(--nav-accent);background:rgba(255, 255, 255, 0.05);box-shadow:0 0 15px var(--nav-accent-glow)}.nav-search::before{content:\"\";position:absolute;left:28px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='M21 21l-4.35-4.35'%3E%3C/path%3E%3C/svg%3E\") no-repeat center;pointer-events:none}.nav-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:12px;gap:8px}.collapsed .nav-content{padding:12px 0}.nav-section{display:flex;flex-direction:column;gap:4px}.nav-section-bottom{}.nav-footer{padding:12px;border-top:1px solid var(--nav-border);flex-shrink:0}.collapsed .nav-footer{padding:12px 0}.nav-section-header{padding:12px 12px 8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--nav-text-muted);letter-spacing:1px;opacity:0.8}.nav-item .nav-section-header{padding-left:12px;margin-top:12px;border-top:1px solid rgba(255, 255, 255, 0.05)}.collapsed .nav-section-header{display:none}.nav-item{position:relative}.nav-item-link{display:flex;align-items:center;gap:12px;padding:12px;color:var(--nav-text-muted);text-decoration:none;border-radius:12px;transition:all 0.3s ease;font-size:14px;font-weight:500;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-item-link.no-icon{font-size:13px;padding-left:16px}.nav-item-link.no-icon .nav-item-label{opacity:0.9;font-weight:400}.collapsed .nav-item-link{justify-content:center;padding:12px 0;gap:0}.nav-item-link:hover{background:var(--nav-hover-bg);color:white}.active>.nav-item-link{background:var(--nav-active-bg);color:var(--nav-accent);box-shadow:inset 0 0 0 1px rgba(59, 130, 246, 0.3)}.active>.nav-item-link::after{content:\"\";position:absolute;left:0;top:15%;bottom:15%;width:4px;background:var(--nav-accent);border-radius:0 4px 4px 0;box-shadow:0 0 15px var(--nav-accent)}.nav-item-arrow{margin-left:auto;transition:transform 0.3s ease;color:var(--nav-text-muted)}.expanded>.nav-item-link .nav-item-arrow{transform:rotate(180deg)}.nav-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:transform 0.3s ease}.nav-item-link:hover .nav-item-icon{transform:scale(1.1)}.active .nav-item-icon{color:var(--nav-accent)}.collapsed .nav-item-label{display:none}.nav-item-badge{background:var(--nav-accent);color:white;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:700;margin-left:auto}.collapsed .nav-item-badge{position:absolute;top:8px;right:8px;width:8px;height:8px;padding:0;font-size:0;box-shadow:0 0 10px var(--nav-accent)}.nav-children{padding-left:24px;margin-top:4px;display:flex;flex-direction:column;gap:2px;border-left:1px solid rgba(255, 255, 255, 0.05);margin-left:24px;padding-left:12px}.is-child .nav-item-link{padding:8px 12px;font-size:13px;border-radius:10px}.collapsed .nav-children{display:none}.nav-overflow{position:relative;margin:2px 0}.nav-overflow-trigger{display:flex;align-items:center;gap:12px;padding:12px;color:var(--nav-text-muted);cursor:pointer;border-radius:12px;transition:all 0.3s ease}.nav-overflow-trigger:hover{background:var(--nav-hover-bg);color:white}.nav-overflow-menu{position:fixed;background:var(--nav-bg);border:1px solid var(--nav-border);border-radius:16px;padding:8px;min-width:220px;box-shadow:0 20px 50px rgba(0, 0, 0, 0.5);z-index:10000;display:flex;flex-direction:column;gap:4px;animation:slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideMenu{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.expanded .nav-item{animation:slideMenu 0.4s ease forwards}.nav-content::-webkit-scrollbar{width:4px}.nav-content::-webkit-scrollbar-thumb{background:var(--nav-border);border-radius:4px}.nav-tooltip{position:fixed;background:#1e293b;color:white;padding:6px 12px;border-radius:6px;font-size:12px;pointer-events:none;z-index:10000;white-space:nowrap;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);border:1px solid rgba(255, 255, 255, 0.1);transform:translateY(-50%);opacity:0;transition:opacity 0.2s}.nav-tooltip.visible{opacity:1}";export{o as nav_bar}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as a,H as i}from"./p-DUsoYu9r.js";const r=class{constructor(a){t(this,a),this.patternInputChange=e(this,"patternInputChange"),this.patternInput=e(this,"patternInput"),this.patternInputFocus=e(this,"patternInputFocus"),this.patternInputBlur=e(this,"patternInputBlur"),this.patternInputValidate=e(this,"patternInputValidate")}inputElement;debounceTimer;value="";pattern;validationRegex;placeholder;label;name;disabled=!1;required=!1;size="md";showValidation=!0;allowedChars;autoFormat=!0;maskChar="#";showCounter=!1;maxLength;inputType="text";helperText;errorMessage;successMessage;rtl=!1;clearable=!1;isValid=!0;isTouched=!1;isFocused=!1;patternInputChange;patternInput;patternInputFocus;patternInputBlur;patternInputValidate;valueChanged(t){this.validateInput(t)}componentDidLoad(){this.value&&this.validateInput(this.value)}getInputTypeRegex(){switch(this.inputType){case"numeric":return/^[0-9]*$/;case"alpha":return/^[a-zA-Z]*$/;case"alphanumeric":return/^[a-zA-Z0-9]*$/;case"custom":return this.allowedChars?new RegExp(this.allowedChars):null;default:return null}}isCharAllowed(t,e){const a=this.getInputTypeRegex();return!a||a.test(e+t)}extractRawValue(t){return this.pattern&&this.autoFormat?t.replace(/[^\w\s]/g,"").replace(/\s+/g,""):t}formatValue(t){if(!this.pattern||!this.autoFormat)return t;let e="",a=0;for(let i=0;i<this.pattern.length&&a<t.length;i++){const r=this.pattern[i];r===this.maskChar?(e+=t[a],a++):e+=r}return e}validateInput(t){if(!t&&!this.required)return this.isValid=!0,!0;if(!t&&this.required)return this.isValid=!1,!1;if(this.validationRegex)try{const e=new RegExp(this.validationRegex),a=this.extractRawValue(t);this.isValid=e.test(a)}catch(t){console.error("Invalid validation regex:",t),this.isValid=!1}else this.isValid=!0;return this.isValid}handleInput=t=>{const e=this.extractRawValue(t.detail),a=this.autoFormat?this.formatValue(e):e;this.value=a;const i=this.validateInput(a);this.patternInput.emit({value:e,formatted:a}),clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>{this.patternInputChange.emit({value:e,formatted:a,isValid:i}),this.patternInputValidate.emit({isValid:i,value:e})}),300)};handleKeyPress=t=>{if(this.disabled)return;const e=t.key;if(e.length>1||t.ctrlKey||t.metaKey)return;const a=this.extractRawValue(this.value);this.isCharAllowed(e,a)?this.maxLength&&a.length>=this.maxLength&&t.preventDefault():t.preventDefault()};handlePaste=t=>{if(this.disabled)return;t.preventDefault();const e=t.clipboardData?.getData("text")||"";let a="";for(const t of e)this.isCharAllowed(t,a)&&(a+=t);if(this.maxLength){const t=this.extractRawValue(this.value);a=a.substring(0,this.maxLength-t.length)}const i=this.autoFormat?this.formatValue(a):a;this.value=i,this.inputElement&&(this.inputElement.value=i);const r=this.validateInput(i);this.patternInputChange.emit({value:a,formatted:i,isValid:r})};handleFocus=()=>{this.isFocused=!0,this.patternInputFocus.emit()};handleBlur=()=>{this.isFocused=!1,this.isTouched=!0,this.patternInputBlur.emit()};getValidationMessage(){return this.isTouched&&this.showValidation?!this.isValid&&this.errorMessage?this.errorMessage:this.isValid&&this.value&&this.successMessage?this.successMessage:null:null}getCharCount(){return{current:this.extractRawValue(this.value).length,max:this.maxLength}}render(){const t=this.getValidationMessage(),e=this.getCharCount(),r=this.isTouched&&!this.isValid&&this.showValidation,n=this.isTouched&&this.isValid&&this.value&&this.showValidation;return a(i,{key:"e6cafe1df0d19d9aa631bb08d2396af558b95673",class:{"pattern-input-host":!0,"pattern-input-disabled":this.disabled,"pattern-input-focused":this.isFocused,"pattern-input-error":r,"pattern-input-success":n}},a("div",{key:"9c5996bb1d80efc3ddedc692f3a2161acddd93f7",class:"pattern-input-wrapper",dir:this.rtl?"rtl":"ltr"},this.label&&a("label",{key:"ea22f82e44ce4631d82fbe3d6a9bbce3a68b848b",class:"pattern-input-label"},this.label,this.required&&a("span",{key:"71ee8e5c5d50ad9e1fe81df81385813cf157b911",class:"pattern-input-required"},"*")),a("div",{key:"a4e05ef18befa44931881b5baa3f91b983017456",class:{"pattern-input-container":!0,[`pattern-input-${this.size}`]:!0,"pattern-input-container-focused":this.isFocused,"pattern-input-container-error":r,"pattern-input-container-success":n}},a("slot",{key:"a498a913a37bf11470bad5c9043caa196f2b860f",name:"prefix"}),a("ui-input",{key:"e8b7202121a6a5a1c27f2e2f26783d11c6fa1013",ref:t=>this.inputElement=t,type:"text",class:"pattern-input-field",value:this.value,placeholder:this.placeholder||this.pattern,disabled:this.disabled,required:this.required,name:this.name,maxLength:this.pattern?.length||this.maxLength,onInputChange:this.handleInput,onInputKeydown:t=>this.handleKeyPress(t.detail),onPasteInternal:t=>this.handlePaste(t.detail),onFocusInternal:this.handleFocus,onInputBlur:this.handleBlur,ariaInvalid:r,ariaRequired:this.required,fullWidth:!0,size:this.size}),this.showValidation&&a("span",{key:"fce03bbf3acc80f7cc48e011725d07a4381a9c1b",class:"pattern-input-status"},r&&a("ui-icon",{key:"e2fb5bb51afc46e381ee29c071564d4226826bd6",name:"x-circle",library:"lucide",size:"1.2em",class:"status-icon status-error"}),n&&a("ui-icon",{key:"ec772884ed89b461b0659acd66bf7d5816200e20",name:"check-circle",library:"lucide",size:"1.2em",class:"status-icon status-success"})),this.clearable&&this.value&&!this.disabled&&a("ui-button",{key:"f461b44289a9f0bd6a6f215288746ef4697efb6d",variant:"ghost",class:"pattern-input-clear",onClick:()=>{this.value="",this.patternInputChange.emit({value:"",formatted:"",isValid:!this.required})},ariaLabel:"Clear input",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}),a("slot",{key:"453ce5f34c6384272b66d88a03e0ad897da4eada",name:"suffix"})),a("div",{key:"dc815745573df1a2edbaae6971543642e20e74ed",class:"pattern-input-footer"},a("div",{key:"58e39b130ffb2b694e462dca3909a1b0d8e2ebee",class:"pattern-input-messages"},this.helperText&&!t&&a("span",{key:"a0fb4ffbcc587ff0a5bab578e299df3653a2a19d",class:"helper-text"},this.helperText),t&&a("span",{key:"286eff6417e271b6a92423eb2c08a2247b96d6fb",class:{"validation-message":!0,"validation-error":r,"validation-success":n}},t)),this.showCounter&&a("span",{key:"99d1593a2012cb8c20d86c7de3cc4be8319c3aca",class:"char-counter"},e.current,e.max&&` / ${e.max}`))))}static get watchers(){return{value:[{valueChanged: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:block;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.pattern-input-wrapper{display:flex;flex-direction:column;gap:8px}.pattern-input-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #374151));margin-bottom:8px}.pattern-input-required{color:var(--color-danger, #ef4444);margin-left:4px}.pattern-input-container{position:relative;display:flex;align-items:center;background:var(--bg-primary, #ffffff);border:2px solid var(--border-strong, #d1d5db);border-radius:8px;transition:all 0.2s ease;padding:0 12px}.pattern-input-container:hover:not(.pattern-input-container-error){border-color:var(--color-primary, #9ca3af)}.pattern-input-container-focused{border-color:var(--color-primary-hover, #2563eb);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.pattern-input-container-error{border-color:var(--color-danger, #ef4444)}.pattern-input-container-error.pattern-input-container-focused{box-shadow:0 0 0 3px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}.pattern-input-container-success{border-color:var(--color-success, #10b981)}.pattern-input-container-success.pattern-input-container-focused{box-shadow:0 0 0 3px rgba(var(--color-success-rgb, 16, 185, 129), 0.1)}.pattern-input-field{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text-primary, #1f2937);font-family:"Courier New", monospace;letter-spacing:0.5px}.pattern-input-field::placeholder{color:var(--text-muted, #9ca3af);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;letter-spacing:normal}.pattern-input-field:disabled{cursor:not-allowed;color:var(--text-muted, #9ca3af);background:var(--bg-primary, #f9fafb)}.pattern-input-sm{padding:6px 10px}.pattern-input-sm .pattern-input-field{font-size:13px;padding:2px 0}.pattern-input-md{padding:8px 12px}.pattern-input-md .pattern-input-field{font-size:14px;padding:4px 0}.pattern-input-lg{padding:10px 14px}.pattern-input-lg .pattern-input-field{font-size:16px;padding:6px 0}.pattern-input-status{display:flex;align-items:center;margin-left:8px}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:bold}.status-error{background:var(--bg-primary, #fef2f2);color:var(--color-danger, #ef4444)}.status-success{background:var(--bg-primary, #f0fdf4);color:var(--color-success, #10b981)}.pattern-input-footer{display:flex;justify-content:space-between;align-items:flex-start;min-height:20px}.pattern-input-messages{flex:1}.helper-text,.validation-message{display:block;font-size:12px;line-height:1.4}.helper-text{color:var(--text-muted, #6b7280)}.validation-error{color:var(--color-danger, #ef4444);font-weight:500}.validation-success{color:var(--color-success, #10b981);font-weight:500}.char-counter{font-size:12px;color:var(--text-muted, #6b7280);font-weight:500;white-space:nowrap;margin-left:12px}.pattern-input-disabled{opacity:0.6;cursor:not-allowed}.pattern-input-disabled .pattern-input-container{background:var(--bg-primary, #f9fafb);cursor:not-allowed}.pattern-input-field:focus-visible{outline:none}.status-icon{animation:statusFadeIn 0.2s ease}@keyframes statusFadeIn{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.pattern-input-field[placeholder]{text-overflow:ellipsis}:host(.pattern-input-focused) .pattern-input-field{font-family:"Courier New", monospace}';export{r as ui_pattern_input}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,H as r}from"./p-DUsoYu9r.js";const a=class{constructor(i){t(this,i),this.commandSelect=e(this,"commandSelect"),this.paletteOpen=e(this,"paletteOpen"),this.paletteClose=e(this,"paletteClose")}commands=[];placeholder="Search commands…";shortcut="k";open=!1;maxVisible=8;showRecent=!0;persistKey="ui-command-palette-recent";query="";activeIndex=0;recent=[];isExecuting=!1;commandSelect;paletteOpen;paletteClose;inputRef;handlePersistKeyChange(){this.checkPersistence()}componentWillLoad(){this.checkPersistence(),this.handleGlobalKey=this.handleGlobalKey.bind(this)}checkPersistence(){if(this.persistKey&&this.showRecent)try{const t=localStorage.getItem(this.persistKey);t&&(this.recent=JSON.parse(t))}catch{}}componentDidLoad(){window.addEventListener("keydown",this.handleGlobalKey)}disconnectedCallback(){window.removeEventListener("keydown",this.handleGlobalKey)}async show(){this.open=!0,this.query="",this.isExecuting=!1,setTimeout((()=>this.inputRef?.focus()),50),this.paletteOpen.emit()}async hide(){this.open=!1,this.isExecuting=!1,this.paletteClose.emit()}handleGlobalKey(t){(t.metaKey||t.ctrlKey)&&t.key===this.shortcut&&(t.preventDefault(),this.open?this.hide():this.show()),"Escape"===t.key&&this.open&&this.hide()}getCommands(){if("string"==typeof this.commands)try{return JSON.parse(this.commands)}catch{return[]}return this.commands}fuzzyMatch(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),t.includes(e))return 10;let i=0,r=0;for(let a=0;a<t.length&&r<e.length;a++)t[a]===e[r]&&(i+=5,r++);return r===e.length?i:0}getFiltered(){const t=this.query.toLowerCase().trim(),e=this.getCommands();return t?e.map((e=>({item:e,score:Math.max(2*this.fuzzyMatch(e.label??"",t),this.fuzzyMatch(e.description||"",t),this.fuzzyMatch(e.group||"",t))}))).filter((t=>t.score>0)).sort(((t,e)=>e.score-t.score)).map((t=>t.item)).slice(0,this.maxVisible):this.showRecent&&this.recent.length>0?this.recent.map((t=>e.find((e=>e.id===t)))).filter(Boolean).slice(0,this.maxVisible):e.slice(0,this.maxVisible)}select(t){if(this.recent=[String(t.id),...this.recent.filter((e=>e!==String(t.id)))].slice(0,5),this.persistKey&&this.showRecent)try{localStorage.setItem(this.persistKey,JSON.stringify(this.recent))}catch{}this.commandSelect.emit(t),t.action?.(),this.hide()}handleKey=t=>{const e=this.getFiltered();"ArrowDown"===t.key&&(t.preventDefault(),this.activeIndex=(this.activeIndex+1)%e.length),"ArrowUp"===t.key&&(t.preventDefault(),this.activeIndex=(this.activeIndex-1+e.length)%e.length),"Enter"===t.key&&e[this.activeIndex]&&this.select(e[this.activeIndex])};groupItems(t){return t.reduce(((t,e)=>{const i=e.group||(this.showRecent&&!this.query&&this.recent.includes(String(e.id))?"Recent":"Commands");return(t[i]=t[i]||[]).push(e),t}),{})}render(){if(!this.open)return i(r,{class:"cp-hidden"});const t=this.getFiltered(),e=this.groupItems(t);let a=0;return i(r,null,i("div",{class:"cp-backdrop",onClick:()=>this.hide()}),i("div",{class:"cp-modal",role:"dialog","aria-modal":"true"},i("div",{class:"cp-search-row"},i("span",{class:"cp-search-icon"},"⌘"),i("input",{ref:t=>this.inputRef=t,class:"cp-search-input",type:"text",placeholder:this.placeholder,value:this.query,onInput:t=>{this.query=t.target.value,this.activeIndex=0},onKeyDown:this.handleKey,role:"combobox","aria-expanded":this.open.toString(),"aria-haspopup":"listbox","aria-autocomplete":"list","aria-activedescendant":t[this.activeIndex]?`cp-item-${t[this.activeIndex].id}`:void 0}),this.query&&i("ui-button",{variant:"ghost",size:"xxs",iconOnly:!0,class:"cp-clear",onClick:()=>this.query="",ariaLabel:"Clear",icon:"x",iconLibrary:"lucide",iconSize:"14px"}),i("kbd",{class:"cp-esc"},"esc")),0===t.length?i("div",{class:"cp-empty"},'No commands found for "',i("strong",null,this.query),'"'):i("div",{class:"cp-results",role:"listbox"},Object.entries(e).map((([t,e])=>i("div",{class:"cp-group",key:t},i("div",{class:"cp-group-label"},t),e.map((t=>{const e=a++;return i("div",{id:`cp-item-${t.id}`,class:{"cp-item":!0,"cp-item-active":e===this.activeIndex},role:"option","aria-selected":e===this.activeIndex,onClick:()=>this.select(t),onMouseEnter:()=>this.activeIndex=e,key:t.id,style:{"--stagger-idx":`${e}`}},t.icon&&i("span",{class:"cp-item-icon"},t.icon),i("div",{class:"cp-item-content"},i("span",{class:"cp-item-label"},t.label),t.description&&i("span",{class:"cp-item-desc"},t.description)),t.shortcut&&i("kbd",{class:"cp-shortcut"},t.shortcut))})))))),i("div",{class:"cp-footer"},i("span",null,i("kbd",null,"↑↓")," Navigate"),i("span",null,i("kbd",null,"↵")," Select"),i("span",null,i("kbd",null,"esc")," Close"))))}static get watchers(){return{persistKey:[{handlePersistKeyChange: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;position:fixed;z-index:9999;inset:0}:host(.cp-hidden){display:none;pointer-events:none}.cp-backdrop,.cp-modal{pointer-events:auto}.cp-backdrop{position:fixed;inset:0;background:rgba(0, 0, 0, 0.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:cp-fade-in 0.25s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes cp-fade-in{from{opacity:0}to{opacity:1}}.cp-modal{position:fixed;top:20%;left:50%;transform:translateX(-50%);width:560px;max-width:calc(100vw - 32px);background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 25px 60px rgba(0, 0, 0, 0.25);overflow:hidden;animation:cp-slide-in 0.15s ease;z-index:10000}@keyframes cp-slide-in{from{opacity:0;transform:translateX(-50%) translateY(-12px) scale(0.97)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.cp-search-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-subtle, #f3f4f6)}.cp-search-icon{font-size:18px;color:var(--text-muted, #9ca3af);flex-shrink:0}.cp-search-input{flex:1;border:none;outline:none;font-size:16px;color:var(--text-primary, #111827);background:transparent}.cp-search-input::placeholder{color:var(--bg-secondary, #d1d5db)}.cp-clear{border:none;background:none;color:var(--text-muted, #9ca3af);font-size:14px;cursor:pointer;padding:4px;border-radius:50%;line-height:1}.cp-clear:hover{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #374151)}.cp-esc{background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-default, #e5e7eb);border-radius:5px;padding:2px 7px;font-size:11px;color:var(--text-muted, #6b7280);flex-shrink:0}.cp-results{max-height:380px;overflow-y:auto}.cp-results::-webkit-scrollbar{width:4px}.cp-results::-webkit-scrollbar-thumb{background:var(--bg-primary, #e5e7eb);border-radius:4px}.cp-empty{text-align:center;padding:40px 20px;color:var(--text-muted, #6b7280);font-size:14px}.cp-empty strong{color:var(--text-secondary, #374151)}.cp-group{padding:6px 0}.cp-group-label{padding:6px 16px 4px;font-size:11px;font-weight:700;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:0.6px}.cp-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;border-radius:8px;margin:0 8px;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);opacity:0;transform:translateY(10px);animation:cp-item-appear 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;animation-delay:calc(var(--stagger-idx, 0) * 0.03s)}.cp-item:hover,.cp-item.cp-item-active{background:var(--bg-secondary, #f3f4f6);transform:scale(1.01) translateY(0)}.cp-item:hover .cp-item-label,.cp-item.cp-item-active .cp-item-label{color:var(--color-primary, #10b981)}@keyframes cp-item-appear{to{opacity:1;transform:translateY(0)}}.cp-item-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.cp-item-content{flex:1;min-width:0}.cp-item-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary, #111827)}.cp-item-desc{display:block;font-size:12px;color:var(--text-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-shortcut{background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-default, #e5e7eb);border-radius:5px;padding:2px 8px;font-size:11px;color:var(--text-muted, #6b7280);white-space:nowrap;flex-shrink:0}.cp-footer{display:flex;gap:18px;align-items:center;padding:10px 16px;border-top:1px solid var(--border-subtle, #f3f4f6);background:var(--bg-primary, #fafafa);font-size:11px;color:var(--text-muted, #9ca3af)}.cp-footer kbd{background:var(--bg-primary, #e5e7eb);border:1px solid var(--border-strong, #d1d5db);border-radius:4px;padding:1px 5px;font-size:10px;color:var(--text-secondary, #374151);margin-right:3px}";export{a as ui_command_palette}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as o,a as e,h as t,H as r}from"./p-DUsoYu9r.js";const i=class{constructor(e){o(this,e)}get el(){return e(this)}dock="left";width="320px";height="320px";relative=!1;position={x:100,y:100};dragOffset={x:0,y:0};dragging=!1;onHeaderMouseDown=o=>{"float"===this.dock&&(this.dragging=!0,this.dragOffset={x:o.clientX-this.position.x,y:o.clientY-this.position.y},document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))};onMouseMove=o=>{if(this.dragging&&(this.position={x:o.clientX-this.dragOffset.x,y:o.clientY-this.dragOffset.y}),this.resizing){const e=Math.max(120,o.clientX-this.el.getBoundingClientRect().left),t=Math.max(80,o.clientY-this.el.getBoundingClientRect().top);this.width=e+"px",this.height=t+"px"}};onMouseUp=()=>{this.dragging=!1,this.resizing=!1,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp)};resizing=!1;onResizeMouseDown=o=>{"float"===this.dock&&(o.stopPropagation(),this.resizing=!0,document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))};toggleFloat=()=>{this.dock="float"===this.dock?"left":"float";const o=new CustomEvent("dockChange",{detail:{dock:this.dock},bubbles:!0});this.el.dispatchEvent(o)};getDockStyle(){if("float"===this.dock)return{position:"fixed",left:`${this.position.x}px`,top:`${this.position.y}px`,width:this.width,height:this.height,zIndex:"1000"};const o={flexShrink:"0",zIndex:"200"};return"left"===this.dock||"right"===this.dock?(o.width=this.width,o.height="100%"):(o.width="100%",o.height=this.height),o}getFlexDirection(){switch(this.dock){case"left":default:return"row";case"right":return"row-reverse";case"top":return"column";case"bottom":return"column-reverse"}}render(){const o="float"===this.dock;return t(r,{key:"eb4278c32044099287ccc523dfeb357eac020471",class:{"ui-dock-host-layout":!0,"is-floating":o,[`is-docked-${this.dock}`]:!o,"is-relative":this.relative},style:{display:o?"block":"flex",flexDirection:this.getFlexDirection(),width:"100%",height:"100%",position:this.relative?"relative":"fixed",top:"0",left:"0",pointerEvents:o?"none":"auto"}},t("div",{key:"94e7a5c14e43b2148185a6cf1f82584e81b9d7fc",class:"dock-main-area",style:{flex:"1",overflow:"auto",pointerEvents:"auto"}},t("slot",{key:"d596984ab3af3b15b7ce804efa11d0c9deac4afb",name:"main"})),t("div",{key:"75305e8a892eaef65f9aad0b6616f51c420051ab",class:{"dock-panel":!0,floating:o,[this.dock]:!o},style:{...this.getDockStyle(),pointerEvents:"auto"}},t("div",{key:"870aeb69f442ff5999d497fac1b24c3df06789d6",class:"dock-header",onMouseDown:this.onHeaderMouseDown},t("span",{key:"d805d6048ad33ba4b1985b697d6f385a4cf7542d",class:"dock-header-content"},t("slot",{key:"773b00910c742b27390f6603dd4b953873c4d4b2",name:"header"},"Dock Host")),t("ui-button",{key:"f04e79da811c43f783126e42bbdbb30fe5bde7d5",variant:"ghost",onClick:this.toggleFloat,title:o?"Dock":"Float",size:"sm",icon:o?"layout":"maximize",iconLibrary:"lucide",label:o?"Dock":"Float"})),t("div",{key:"4f9d5d7a1970a66fe5166de61835aaa6b37cb7ab",class:"dock-content"},t("slot",{key:"fa29815f9621d44f3e18506b57c899088502f7dc"})),o&&t("div",{key:"1f62fef99c359ff8d4d15e959b70c584f50a979a",class:"dock-resize-handle",onMouseDown:this.onResizeMouseDown,style:{position:"absolute",right:"0",bottom:"0",width:"16px",height:"16px",cursor:"nwse-resize",zIndex:"10"}})))}};i.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}.ui-dock-host-layout{display:flex;width:100%;height:100%;overflow:hidden}.dock-main-area{flex:1;overflow:auto;position:relative;background:var(--ui-content-bg, #f8fafc)}.dock-panel{background:var(--ui-surface, var(--bg-primary, #ffffff));color:var(--ui-text, #1e293b);box-shadow:0 4px 24px rgba(0, 0, 0, 0.08);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:180px;min-height:120px;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);border:1px solid var(--ui-border, var(--border-subtle, #e2e8f0))}.dock-panel.left{border-left:4px solid var(--color-primary, #6366f1);border-radius:0 12px 12px 0}.dock-panel.right{border-right:4px solid var(--color-primary, #6366f1);border-radius:12px 0 0 12px}.dock-panel.top{border-top:4px solid var(--color-primary, #6366f1);border-radius:0 0 12px 12px}.dock-panel.bottom{border-bottom:4px solid var(--color-primary, #6366f1);border-radius:12px 12px 0 0}.dock-panel.floating{background:var(--ui-surface, var(--bg-primary, #ffffff));box-shadow:0 12px 48px rgba(0, 0, 0, 0.15);border-radius:18px;border:1px solid rgba(99, 102, 241, 0.2);min-width:120px;min-height:80px;z-index:9999}.dock-resize-handle{background:rgba(99, 102, 241, 0.1);border-radius:0 0 12px 0;position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;z-index:10;transition:background 0.2s}.dock-resize-handle:hover{background:rgba(99, 102, 241, 0.3)}.dock-header{background:var(--bg-primary, #f8fafc);padding:10px 16px;font-weight:700;font-size:0.875rem;color:var(--color-primary, #475569);display:flex;align-items:center;justify-content:space-between;cursor:move;user-select:none;border-bottom:1px solid var(--border-subtle, #f1f5f9)}.dock-float-btn{background:var(--bg-primary, #eff6ff);border:1px solid var(--border-subtle, #dbeafe);color:var(--color-primary-hover, #2563eb);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;margin-left:8px;transition:all 0.2s}.dock-float-btn:hover{background:var(--bg-primary, #dbeafe);transform:translateY(-1px)}.dock-content{flex:1;padding:16px;overflow:auto;line-height:1.5}@media (prefers-color-scheme: dark){.dock-header{background:var(--bg-primary, #1e293b);color:var(--text-standard, #f1f5f9);border-bottom-color:var(--color-primary, #334155)}.dock-float-btn{background:var(--color-primary, #334155);border-color:var(--color-primary, #475569);color:var(--color-primary, #60a5fa)}}";export{i as ui_dock_host}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,a as s,h as i}from"./p-DUsoYu9r.js";const a=class{constructor(s){t(this,s),this.valueChange=e(this,"valueChange")}get hostElement(){return s(this)}value=0;secondaryValue;minValue=0;maxValue=100;size=200;label="";unit="";showPercentage=!1;ranges="[]";needleColor="#1f2937";showTicks=!0;tickCount=10;animationDuration=1e3;startAngle=-135;endAngle=135;needleShape="triangle";customLabels="";gradientColors="";interactive=!1;valueChange;parsedLabels={};animatedValue=0;parsedRanges=[];parsedGradients=[];gradientId=`speedometer-grad-${Math.floor(1e6*Math.random())}`;animationFrame;animationStartTime;animationStartValue;isDragging=!1;rect;handleValueChange(t){this.animateToValue(t)}handleRangesChange(t){this.parseRanges(t)}handleLabelsChange(t){this.parseLabels(t)}handleGradientChange(t){this.parseGradients(t)}parseLabels(t){if(t)try{this.parsedLabels=JSON.parse(t)}catch(t){console.error("Invalid customLabels JSON",t)}else this.parsedLabels={}}componentWillLoad(){this.parseRanges(this.ranges),this.parseLabels(this.customLabels),this.parseGradients(this.gradientColors),this.animatedValue=this.value}componentDidLoad(){this.animateToValue(this.value)}disconnectedCallback(){this.animationFrame&&cancelAnimationFrame(this.animationFrame)}parseRanges(t){if(t)try{this.parsedRanges=JSON.parse(t)}catch(t){console.error("Invalid JSON for speedometer ranges:",t),this.parsedRanges=[]}else this.parsedRanges=[]}parseGradients(t){if(t)try{this.parsedGradients=JSON.parse(t)}catch(e){this.parsedGradients=t.split(",").map((t=>t.trim()))}else this.parsedGradients=[]}animateToValue(t){this.animationFrame&&cancelAnimationFrame(this.animationFrame),this.animationStartTime=performance.now(),this.animationStartValue=this.animatedValue;const e=s=>{const i=Math.min((s-this.animationStartTime)/this.animationDuration,1),a=1-Math.pow(1-i,3);this.animatedValue=this.animationStartValue+(t-this.animationStartValue)*a,i<1?this.animationFrame=requestAnimationFrame(e):this.animatedValue=t};this.animationFrame=requestAnimationFrame(e)}async exportImage(t="speedometer",e="png"){const s=this.hostElement.shadowRoot.querySelector("svg");if(s)if("svg"===e){const e=(new XMLSerializer).serializeToString(s),i=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(i);this.downloadFile(a,`${t}.svg`)}else{const e=(new XMLSerializer).serializeToString(s),i=document.createElement("canvas");i.width=this.size,i.height=this.size;const a=i.getContext("2d"),n=new Image;n.onload=()=>{a.drawImage(n,0,0);const e=i.toDataURL("image/png");this.downloadFile(e,`${t}.png`)},n.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e)))}}downloadFile(t,e){const s=document.createElement("a");s.href=t,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s)}handleMouseDown=t=>{this.interactive&&(this.isDragging=!0,this.rect=this.hostElement.shadowRoot.querySelector(".speedometer-container").getBoundingClientRect(),this.updateValueFromEvent(t),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.handleMouseUp))};handleMouseMove=t=>{this.isDragging&&(t.preventDefault(),this.updateValueFromEvent(t))};handleMouseUp=()=>{this.isDragging=!1,window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.handleMouseUp)};updateValueFromEvent(t){let e=Math.atan2(("touches"in t?t.touches[0].clientY:t.clientY)-(this.rect.top+this.rect.height/2),("touches"in t?t.touches[0].clientX:t.clientX)-(this.rect.left+this.rect.width/2))*(180/Math.PI);e=(e+360)%360;const s=this.endAngle-this.startAngle;let i=((e+90)%360-(this.startAngle+360)%360+360)%360;i>s&&(i=i>s+(360-s)/2?0:s);let a=this.startAngle+i;a=Math.max(this.startAngle,Math.min(this.endAngle,a));const n=Math.round(2*(this.minValue+(a-this.startAngle)/(this.endAngle-this.startAngle)*(this.maxValue-this.minValue)))/2;n!==this.value&&(this.value=n,this.valueChange.emit(this.value))}getColorForValue(t){if(0===this.parsedRanges.length)return"var(--primary-color)";const e=this.parsedRanges.find((e=>t>=e.min&&t<=e.max));return e?e.color:this.parsedRanges[0].color}valueToAngle(t){return this.startAngle+(t-this.minValue)/(this.maxValue-this.minValue)*(this.endAngle-this.startAngle)}polarToCartesian(t,e,s,i){const a=(i-90)*Math.PI/180;return{x:t+s*Math.cos(a),y:e+s*Math.sin(a)}}createArc(t,e,s,i,a){const n=this.polarToCartesian(t,e,s,a),h=this.polarToCartesian(t,e,s,i);return["M",n.x,n.y,"A",s,s,0,a-i<=180?"0":"1",0,h.x,h.y].join(" ")}renderArc(){const t=this.size/2,e=this.size/2-30,s=this.createArc(t,t,e,this.startAngle,this.endAngle),a=this.valueToAngle(this.animatedValue),n=this.createArc(t,t,e,this.startAngle,a);let h=this.getColorForValue(this.animatedValue);return this.parsedGradients.length>1&&(h=`url(#${this.gradientId})`),i("g",null,i("defs",null,this.parsedGradients.length>1&&i("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},this.parsedGradients.map(((t,e)=>i("stop",{offset:e/(this.parsedGradients.length-1)*100+"%","stop-color":t}))))),i("path",{d:s,fill:"none",stroke:"#e5e7eb","stroke-width":20,"stroke-linecap":"round"}),this.parsedRanges.length>0?this.parsedRanges.map((s=>{const a=this.valueToAngle(s.min),n=this.valueToAngle(s.max),h=this.createArc(t,t,e,a,n);return i("path",{d:h,fill:"none",stroke:s.color,"stroke-width":20,"stroke-linecap":"round",opacity:"0.3"})})):null,i("path",{d:n,fill:"none",stroke:h,"stroke-width":20,"stroke-linecap":"round",class:"value-arc"}))}renderTicks(){if(!this.showTicks)return null;const t=this.size/2,e=this.size/2-20,s=e-10,a=[];for(let n=0;n<=this.tickCount;n++){const h=n/this.tickCount,o=this.startAngle+(this.endAngle-this.startAngle)*h,r=this.polarToCartesian(t,t,e,o),l=this.polarToCartesian(t,t,s,o);if(a.push(i("line",{x1:r.x,y1:r.y,x2:l.x,y2:l.y,stroke:"#9ca3af","stroke-width":"2","stroke-linecap":"round"})),n%2==0){const e=this.polarToCartesian(t,t,s-15,o),n=this.minValue+(this.maxValue-this.minValue)*h,r=Math.round(n);a.push(i("text",{x:e.x,y:e.y,"text-anchor":"middle","dominant-baseline":"middle",class:"tick-label"},void 0!==this.parsedLabels[n]?this.parsedLabels[n]:r))}}return i("g",null,a)}renderNeedle(t,e,s=!1){const a=this.size/2,n=this.size/2-40,h=s?2:4,o=this.valueToAngle(t),r=this.polarToCartesian(a,a,n,o),l=(o-90)*Math.PI/180,c=l+Math.PI/2,d=l-Math.PI/2,p=a+h*Math.cos(c),m=a+h*Math.sin(c),u=a+h*Math.cos(d),g=a+h*Math.sin(d);let f="";if("line"===this.needleShape||s)f=`M ${p} ${m} L ${r.x} ${r.y}`;else if("arrow"===this.needleShape){const t=this.polarToCartesian(a,a,.7*n,o);f=`M ${p} ${m} L ${t.x} ${t.y} L ${r.x} ${r.y} L ${t.x} ${t.y} L ${u} ${g} Z`}else f=`M ${p} ${m} L ${r.x} ${r.y} L ${u} ${g} Z`;return i("g",{class:s?"needle-secondary":"needle-primary",style:{opacity:s?"0.6":"1"}},i("path",{d:f,fill:e,class:"needle"}),i("circle",{cx:a,cy:a,r:s?4:8,fill:e}),!s&&i("circle",{cx:a,cy:a,r:"4",fill:"#fff"}))}renderValue(){const t=this.showPercentage?Math.round((this.animatedValue-this.minValue)/(this.maxValue-this.minValue)*100):Math.round(10*this.animatedValue)/10,e=this.showPercentage?"%":this.unit,s=this.size/2,a=this.size-Math.max(15,Math.round(.1*this.size));return i("g",{class:"value-group",style:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}},i("text",{x:s,y:a,"text-anchor":"middle",class:"value-number-svg",fill:"currentColor","font-weight":"700"},t,e&&i("tspan",{class:"value-unit-svg","font-size":"0.6em",dx:"4","font-weight":"500"},e)),this.label&&i("text",{x:s,y:a+20,"text-anchor":"middle",class:"value-label-svg",fill:"#9ca3af","font-size":"12","font-weight":"500",style:{textTransform:"uppercase",letterSpacing:"0.5px"}},this.label))}render(){return i("div",{key:"570b60c58715ce7a233153441a669a866e4df90a",class:{"speedometer-container":!0,interactive:this.interactive,"is-dragging":this.isDragging},onMouseDown:this.handleMouseDown,style:{width:`${this.size}px`,height:`${this.size}px`,cursor:this.interactive?this.isDragging?"grabbing":"grab":"default"}},i("svg",{key:"a05ee4e7e85418f36e106209ec363f84071ff58f",width:this.size,height:this.size,viewBox:`0 0 ${this.size} ${this.size}`,class:"speedometer-svg"},this.renderArc(),this.renderTicks(),void 0!==this.secondaryValue&&this.renderNeedle(this.secondaryValue,"#9ca3af",!0),this.renderNeedle(this.animatedValue,this.needleColor),this.renderValue()))}static get watchers(){return{value:[{handleValueChange:0}],ranges:[{handleRangesChange:0}],customLabels:[{handleLabelsChange:0}],gradientColors:[{handleGradientChange: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}.speedometer-container{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.speedometer-svg{display:block}.value-arc{transition:stroke 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.needle{transition:transform 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))}.tick-label{font-size:11px;fill:var(--text-muted, #6b7280);font-weight:500}.value-display{position:absolute;bottom:var(--value-bottom, 8px);left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}.value-number-svg{font-size:32px;font-weight:700;fill:var(--text-primary, #1f2937);transition:fill 0.3s ease}.value-unit-svg{font-size:18px;font-weight:500;fill:var(--text-muted, #6b7280)}.value-label-svg{font-size:13px;fill:var(--text-muted, #6b7280);font-weight:500;text-transform:uppercase;letter-spacing:0.5px}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.8}}.speedometer-container:hover .value-arc{filter:drop-shadow(0 4px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3))}';export{a as ui_speedometer}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,h as t,H as a}from"./p-DUsoYu9r.js";const r=class{constructor(t){e(this,t)}categoryName;categoryIcon="📦";components=[];expanded=!0;mode="demo";toggleExpanded=()=>{this.expanded=!this.expanded};render(){return t(a,{key:"e3a09ce08fdb7d41a84a0513c9bd9307d7d0fb2f"},t("div",{key:"68321cc0d827decbd472217460b97dc7955c818c",class:{category:!0,collapsed:!this.expanded}},t("ui-button",{key:"4b232b38aa4f84d8526206801aa1c562a051da64",class:"category-header",onButtonClick:this.toggleExpanded,variant:"plain",fullWidth:!0,align:"start"},t("span",{key:"c4d4449576357c8a85e131fd6e51d550b61bcb0e",class:"category-icon"},this.categoryIcon),t("h2",{key:"dd646cf30106d5665fd7cf16a33a1646dd576be5",class:"category-title"},this.categoryName),t("span",{key:"e174d5fa4e6eeaf3e6998f583c5a38329e66e176",class:"category-count"},this.components.length),t("svg",{key:"5e926d6ace89797270d978e2c51aeeb362e57e33",class:{chevron:!0,rotated:!this.expanded},width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},t("polyline",{key:"f02857e200d2f5562c19a1fecc3a4584fd52271e",points:"6,9 12,15 18,9"}))),t("div",{key:"3e70d09a10eda7220b63253dca6638220326ea0a",class:"category-content"},t("div",{key:"a51ebf47c0fafe095ca8616ee3f661ee4124c805",class:"cards-grid"},this.components.map((e=>t("library-card",{key:e.id,"component-id":e.id,"card-title":e.name,description:e.description,icon:e.icon,badge:e.badge,docs:e.docs,mode:this.mode})))))))}};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:block;margin-bottom:32px}.category{background:linear-gradient(135deg, rgba(30, 41, 59, 0.6), rgba(15, 23, 42, 0.8));border:1px solid rgba(255, 255, 255, 0.08);border-radius:24px;overflow:hidden;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.category:hover{border-color:rgba(99, 102, 241, 0.3)}.category-header{display:flex;align-items:center;gap:16px;padding:24px 28px;background:transparent;border:none;width:100%;cursor:pointer;text-align:left;color:inherit;font-family:inherit;transition:background 0.2s ease}.category-header:hover{background:rgba(255, 255, 255, 0.03)}.category-icon{font-size:1.8rem;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(168, 85, 247, 0.15));border-radius:14px;flex-shrink:0}.category-title{margin:0;font-size:1.4rem;font-weight:700;color:#f1f5f9;flex:1;letter-spacing:-0.02em}.category-count{font-size:0.85rem;font-weight:600;padding:6px 14px;background:rgba(99, 102, 241, 0.15);color:#a5b4fc;border-radius:20px}.chevron{color:#64748b;transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.chevron.rotated{transform:rotate(-90deg)}.category-content{padding:0 24px 24px;max-height:2000px;overflow:hidden;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.category.collapsed .category-content{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:16px}@media (max-width: 768px){.cards-grid{grid-template-columns:1fr}.category-header{padding:16px 20px}.category-content{padding:0 16px 16px}.category-title{font-size:1.2rem}}:host-context(.light) .category{background:linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.9));border-color:rgba(0, 0, 0, 0.08)}:host-context(.light) .category-title{color:#1e293b}:host-context(.light) .chevron{color:#94a3b8}";export{r as category_section}
|