atomicuilibrary 0.0.1 → 0.1.3
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/dist/cjs/category-section.cjs.entry.js +2 -2
- package/dist/cjs/dom-BvBb0kmW.js +267 -0
- package/dist/cjs/exploration-project-tailwind.cjs.js +2 -2
- package/dist/cjs/{index-ClkOYpT8.js → index-C32cWsm5.js} +1 -1
- package/dist/cjs/layout-manager.cjs.entry.js +3 -3
- package/dist/cjs/library-card.cjs.entry.js +2 -2
- package/dist/cjs/lm-container_2.cjs.entry.js +2 -2
- package/dist/cjs/lm-panel_3.cjs.entry.js +5 -5
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/my-component.cjs.entry.js +1 -1
- package/dist/cjs/my-step.cjs.entry.js +2 -2
- package/dist/cjs/nav-bar.cjs.entry.js +4 -4
- package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
- package/dist/cjs/smart-step.cjs.entry.js +3 -3
- package/dist/cjs/timeline-item.cjs.entry.js +2 -2
- package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +730 -61
- package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
- package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
- package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
- package/dist/cjs/ui-aside-panel.cjs.entry.js +11 -12
- package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
- package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ui-callout-banner.cjs.entry.js +3 -3
- package/dist/cjs/ui-card.cjs.entry.js +28 -5
- package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
- package/dist/cjs/ui-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/ui-code-editor.cjs.entry.js +3 -3
- package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
- package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
- package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
- package/dist/cjs/ui-dialog-box.cjs.entry.js +86 -12
- package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
- package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
- package/dist/cjs/ui-divider.cjs.entry.js +1 -1
- package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
- package/dist/cjs/ui-dock.cjs.entry.js +2 -2
- package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
- package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
- package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
- package/dist/cjs/ui-fab.cjs.entry.js +4 -4
- package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
- package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
- package/dist/cjs/ui-knob.cjs.entry.js +1 -1
- package/dist/cjs/ui-label.cjs.entry.js +473 -0
- package/dist/cjs/ui-library.cjs.entry.js +2 -2
- package/dist/cjs/ui-list-group_2.cjs.entry.js +351 -58
- package/dist/cjs/ui-list.cjs.entry.js +76 -42
- package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
- package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
- package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
- package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
- package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
- package/dist/cjs/ui-pagination_3.cjs.entry.js +235 -504
- package/dist/cjs/ui-panel.cjs.entry.js +1 -1
- package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
- package/dist/cjs/ui-progress.cjs.entry.js +164 -23
- package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
- package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
- package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
- package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
- package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ui-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
- package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
- package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
- package/dist/cjs/ui-step.cjs.entry.js +2 -2
- package/dist/cjs/ui-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ui-switch.cjs.entry.js +14 -13
- package/dist/cjs/ui-tabs.cjs.entry.js +3 -3
- package/dist/cjs/ui-tag.cjs.entry.js +58 -13
- package/dist/cjs/ui-timeline.cjs.entry.js +11 -3
- package/dist/cjs/ui-timer.cjs.entry.js +2 -2
- package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
- package/dist/cjs/ui-tooltip.cjs.entry.js +5 -5
- package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
- package/dist/cjs/ui-transfer-list.cjs.entry.js +7 -7
- package/dist/cjs/ui-tree.cjs.entry.js +30 -15
- package/dist/cjs/ui-workspace-manager.cjs.entry.js +3 -3
- package/dist/collection/assets/js/component-config.js +1 -0
- package/dist/collection/assets/js/demo-loader.js +2 -1
- package/dist/collection/assets/js/demos/about-demo.js +13 -13
- package/dist/collection/assets/js/demos/accordion-demo.js +238 -49
- package/dist/collection/assets/js/demos/advanced-data-table-demo.js +315 -316
- package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
- package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
- package/dist/collection/assets/js/demos/aside-panel-demo.js +57 -57
- package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
- package/dist/collection/assets/js/demos/badge-demo.js +51 -52
- package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
- package/dist/collection/assets/js/demos/button-demo.js +175 -106
- package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
- package/dist/collection/assets/js/demos/callout-banner-demo.js +332 -42
- package/dist/collection/assets/js/demos/card-demo.js +122 -74
- package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
- package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
- package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
- package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
- package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
- package/dist/collection/assets/js/demos/context-menu-demo.js +476 -55
- package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
- package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
- package/dist/collection/assets/js/demos/divider-demo.js +59 -62
- package/dist/collection/assets/js/demos/dock-demo.js +92 -72
- package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
- package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
- package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
- package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
- package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
- package/dist/collection/assets/js/demos/empty-state-demo.js +304 -88
- package/dist/collection/assets/js/demos/fab-demo.js +95 -11
- package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
- package/dist/collection/assets/js/demos/home-components.js +2 -2
- package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
- package/dist/collection/assets/js/demos/icon-demo.js +17 -17
- package/dist/collection/assets/js/demos/input-demo.js +147 -143
- package/dist/collection/assets/js/demos/knob-demo.js +29 -30
- package/dist/collection/assets/js/demos/label-demo.js +697 -0
- package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
- package/dist/collection/assets/js/demos/list-demo.js +226 -140
- package/dist/collection/assets/js/demos/loader-demo.js +48 -48
- package/dist/collection/assets/js/demos/masonry-demo.js +592 -0
- package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
- package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
- package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
- package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
- package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
- package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
- package/dist/collection/assets/js/demos/panel-demo.js +18 -25
- package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
- package/dist/collection/assets/js/demos/popover-demo.js +240 -149
- package/dist/collection/assets/js/demos/progress-demo.js +768 -61
- package/dist/collection/assets/js/demos/radio-demo.js +73 -12
- package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
- package/dist/collection/assets/js/demos/rating-demo.js +19 -19
- package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
- package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
- package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
- package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
- package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
- package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
- package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
- package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
- package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
- package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
- package/dist/collection/assets/js/demos/stack-demo.js +27 -27
- package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
- package/dist/collection/assets/js/demos/switch-demo.js +561 -125
- package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
- package/dist/collection/assets/js/demos/tag-demo.js +110 -80
- package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
- package/dist/collection/assets/js/demos/timeline-demo.js +27 -14
- package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
- package/dist/collection/assets/js/demos/timer-demo.js +10 -10
- package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
- package/dist/collection/assets/js/demos/tooltip-demo.js +116 -114
- package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
- package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
- package/dist/collection/assets/js/demos/tree-demo.js +72 -70
- package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
- package/dist/collection/collection-manifest.json +2 -6
- package/dist/collection/components/accordion/accordion.css +576 -9
- package/dist/collection/components/accordion/accordion.js +47 -14
- package/dist/collection/components/advanced-data-table/advanced-data-table.css +24 -10
- package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
- package/dist/collection/components/anchor/anchor.css +0 -1
- package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
- package/dist/collection/components/aside-panel/aside-panel.css +3 -5
- package/dist/collection/components/aside-panel/aside-panel.js +12 -13
- package/dist/collection/components/avatar/avatar.css +6 -6
- package/dist/collection/components/avatar/avatar.js +64 -12
- package/dist/collection/components/badge/badge.css +28 -17
- package/dist/collection/components/badge/badge.js +7 -4
- package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/button/button.css +132 -0
- package/dist/collection/components/button/button.js +130 -11
- package/dist/collection/components/button-toggle/button-toggle.js +2 -2
- package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
- package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
- package/dist/collection/components/callout-banner/callout-banner.css +75 -0
- package/dist/collection/components/callout-banner/callout-banner.js +1 -1
- package/dist/collection/components/card/card.css +304 -40
- package/dist/collection/components/card/card.js +48 -4
- package/dist/collection/components/checkbox/checkbox.css +8 -10
- package/dist/collection/components/checkbox/checkbox.js +5 -5
- package/dist/collection/components/code-editor/code-editor.js +1 -1
- package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
- package/dist/collection/components/color-picker/color-picker.css +110 -6
- package/dist/collection/components/color-picker/color-picker.js +302 -26
- package/dist/collection/components/context-menu/context-menu.css +8 -8
- package/dist/collection/components/dialog-box/dialog-box.js +117 -15
- package/dist/collection/components/dialog-header/dialog-header.js +2 -2
- package/dist/collection/components/dock/dock.css +116 -3
- package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
- package/dist/collection/components/drag-drop/drag-drop.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +101 -8
- package/dist/collection/components/dropdown/dropdown.js +94 -28
- package/dist/collection/components/empty-state/empty-state.js +1 -1
- package/dist/collection/components/fab/fab.css +87 -15
- package/dist/collection/components/fab/fab.js +3 -3
- package/dist/collection/components/fab-item/fab-item.js +1 -1
- package/dist/collection/components/file-upload/file-upload.css +1362 -31
- package/dist/collection/components/file-upload/file-upload.js +171 -50
- package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
- package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/input/input.css +9 -0
- package/dist/collection/components/input/input.js +21 -10
- package/dist/collection/components/label/label.css +583 -0
- package/dist/collection/components/label/label.js +1669 -0
- package/dist/collection/components/layout-manager/layout-manager.js +1 -1
- package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
- package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
- package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
- package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
- package/dist/collection/components/library/category-section.js +1 -1
- package/dist/collection/components/library/library-card.js +1 -1
- package/dist/collection/components/library/library.js +1 -1
- package/dist/collection/components/list/list.css +46 -5
- package/dist/collection/components/list/list.js +76 -42
- package/dist/collection/components/list-group/list-group.css +0 -2
- package/dist/collection/components/list-group/list-group.js +11 -5
- package/dist/collection/components/list-item/list-item.css +427 -131
- package/dist/collection/components/list-item/list-item.js +373 -58
- package/dist/collection/components/loader/loader.css +1635 -0
- package/dist/collection/components/loader/loader.js +1120 -0
- package/dist/collection/components/meter-group/meter-group.css +5 -0
- package/dist/collection/components/meter-group/meter-group.js +3 -2
- package/dist/collection/components/my-step/my-step.js +1 -1
- package/dist/collection/components/nav-bar/nav-bar.css +4 -4
- package/dist/collection/components/nav-bar/nav-bar.js +6 -6
- package/dist/collection/components/number-input/number-input.js +6 -2
- package/dist/collection/components/otp-input/otp-input.css +10 -0
- package/dist/collection/components/otp-input/otp-input.js +3 -3
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/pattern-input/pattern-input.css +0 -1
- package/dist/collection/components/pattern-input/pattern-input.js +44 -9
- package/dist/collection/components/popover/popover.css +35 -7
- package/dist/collection/components/popover/popover.js +64 -9
- package/dist/collection/components/progress/progress.css +307 -28
- package/dist/collection/components/progress/progress.js +244 -24
- package/dist/collection/components/radio/radio.css +5 -3
- package/dist/collection/components/radio/radio.js +2 -2
- package/dist/collection/components/range-slider/range-slider.css +284 -31
- package/dist/collection/components/range-slider/range-slider.js +5 -5
- package/dist/collection/components/rating/rating.css +151 -65
- package/dist/collection/components/rating/rating.js +31 -13
- package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
- package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
- package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
- package/dist/collection/components/smart-stepper/smart-step.js +2 -2
- package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
- package/dist/collection/components/snackbar/snackbar.js +1 -1
- package/dist/collection/components/speed-dial/speed-dial.js +1 -1
- package/dist/collection/components/speedometer/speedometer.css +26 -6
- package/dist/collection/components/speedometer/speedometer.js +26 -15
- package/dist/collection/components/stack/stack.js +2 -2
- package/dist/collection/components/step/step.js +1 -1
- package/dist/collection/components/stepper/stepper.js +1 -1
- package/dist/collection/components/switch/switch.css +367 -8
- package/dist/collection/components/switch/switch.js +14 -13
- package/dist/collection/components/tag/tag.css +38 -12
- package/dist/collection/components/tag/tag.js +58 -13
- package/dist/collection/components/tag-group/tag-group.css +0 -1
- package/dist/collection/components/tag-group/tag-group.js +3 -3
- package/dist/collection/components/timeline/timeline.css +380 -317
- package/dist/collection/components/timeline/timeline.js +8 -0
- package/dist/collection/components/timeline-item/timeline-item.js +1 -1
- package/dist/collection/components/timer/timer.js +1 -1
- package/dist/collection/components/toggle-group/toggle-group.css +7 -3
- package/dist/collection/components/toggle-group/toggle-group.js +7 -3
- package/dist/collection/components/toolbar/toolbar.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +4 -4
- package/dist/collection/components/top-bar/top-bar.js +2 -2
- package/dist/collection/components/transfer-list/transfer-list.css +13 -13
- package/dist/collection/components/transfer-list/transfer-list.js +4 -4
- package/dist/collection/components/tree/tree.css +35 -21
- package/dist/collection/components/tree/tree.js +28 -13
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +53 -20
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +48 -13
- package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
- package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
- package/dist/collection/components.js +1 -0
- package/dist/collection/utils/dom.js +151 -151
- package/dist/components/avatar-group.js +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/button-toggle.js +1 -1
- package/dist/components/button.js +1 -0
- package/dist/components/category-section2.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/context-menu.js +1 -1
- package/dist/components/dialog-header.js +1 -1
- package/dist/components/dom.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/icon.js +2 -2
- package/dist/components/input.js +1 -1
- package/dist/components/layout-manager.js +1 -1
- package/dist/components/library-card2.js +1 -1
- package/dist/components/list-group.js +1 -1
- package/dist/components/list-item.js +1 -1
- package/dist/components/lm-container2.js +1 -1
- package/dist/components/lm-floating-window2.js +1 -1
- package/dist/components/lm-panel2.js +1 -1
- package/dist/components/lm-splitter2.js +1 -1
- package/dist/components/lm-tabs2.js +1 -1
- package/dist/components/loader.js +1 -0
- package/dist/components/my-step.js +1 -1
- package/dist/components/nav-bar.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -0
- package/dist/components/radio.js +1 -1
- package/dist/components/range-slider.js +1 -1
- package/dist/components/rating.js +1 -1
- package/dist/components/resizable-panel.js +1 -1
- package/dist/components/skeleton-loader.js +1 -1
- package/dist/components/smart-step.js +1 -1
- package/dist/components/stack.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/tag-group.js +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/timeline-item.js +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/ui-accordion.js +1 -1
- package/dist/components/ui-advanced-data-table.js +1 -1
- package/dist/components/ui-anchor.js +1 -1
- package/dist/components/ui-animate-on-scroll.js +1 -1
- package/dist/components/ui-aside-panel.js +1 -1
- package/dist/components/ui-badge.js +1 -1
- package/dist/components/ui-breadcrumb-item.js +1 -1
- package/dist/components/ui-breadcrumb.js +1 -1
- package/dist/components/ui-button-toggle-group.js +1 -1
- package/dist/components/ui-button.js +1 -1
- package/dist/components/ui-callout-banner.js +1 -1
- package/dist/components/ui-card.js +1 -1
- package/dist/components/ui-carousel.js +1 -1
- package/dist/components/ui-code-editor.js +1 -1
- package/dist/components/ui-code-preview.js +1 -1
- package/dist/components/ui-color-picker.js +1 -1
- package/dist/components/ui-command-palette.js +1 -1
- package/dist/components/ui-dialog-box.js +1 -1
- package/dist/components/ui-divider.js +1 -1
- package/dist/components/ui-dock-host.js +1 -1
- package/dist/components/ui-dock.js +1 -1
- package/dist/components/ui-drag-drop.js +1 -1
- package/dist/components/ui-empty-state.js +1 -1
- package/dist/components/ui-fab-item.js +1 -1
- package/dist/components/ui-fab.js +1 -1
- package/dist/components/ui-file-upload.js +1 -1
- package/dist/components/ui-horizontal-nav.js +1 -1
- package/dist/components/ui-knob.js +1 -1
- package/dist/components/{ui-input-pair.d.ts → ui-label.d.ts} +4 -4
- package/dist/components/ui-label.js +1 -0
- package/dist/components/ui-library.js +1 -1
- package/dist/components/ui-list.js +1 -1
- package/dist/components/{ui-radio-group.d.ts → ui-loader.d.ts} +4 -4
- package/dist/components/ui-loader.js +1 -0
- package/dist/components/ui-masonry.js +1 -1
- package/dist/components/ui-meter-group.js +1 -1
- package/dist/components/ui-navigation-bar.js +1 -1
- package/dist/components/ui-navigation-item.js +1 -1
- package/dist/components/ui-number-input.js +1 -1
- package/dist/components/ui-otp-input.js +1 -1
- package/dist/components/ui-panel.js +1 -1
- package/dist/components/ui-pattern-input.js +1 -1
- package/dist/components/ui-popover.js +1 -1
- package/dist/components/ui-progress.js +1 -1
- package/dist/components/ui-scroll-top.js +1 -1
- package/dist/components/ui-smart-context-menu.js +1 -1
- package/dist/components/ui-smart-stepper.js +1 -1
- package/dist/components/ui-snackbar.js +1 -1
- package/dist/components/ui-speed-dial.js +1 -1
- package/dist/components/ui-speedometer.js +1 -1
- package/dist/components/ui-splitter.js +1 -1
- package/dist/components/ui-step.js +1 -1
- package/dist/components/ui-stepper.js +1 -1
- package/dist/components/ui-tabs.js +1 -1
- package/dist/components/ui-timeline.js +1 -1
- package/dist/components/ui-timer.js +1 -1
- package/dist/components/ui-toolbar.js +1 -1
- package/dist/components/ui-top-bar.js +1 -1
- package/dist/components/ui-transfer-list.js +1 -1
- package/dist/components/ui-tree.js +1 -1
- package/dist/components/ui-workspace-manager.js +1 -1
- package/dist/esm/category-section.entry.js +2 -2
- package/dist/esm/dom-DFBTWhGw.js +262 -0
- package/dist/esm/exploration-project-tailwind.js +3 -3
- package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
- package/dist/esm/layout-manager.entry.js +3 -3
- package/dist/esm/library-card.entry.js +2 -2
- package/dist/esm/lm-container_2.entry.js +2 -2
- package/dist/esm/lm-panel_3.entry.js +5 -5
- package/dist/esm/loader.js +3 -3
- package/dist/esm/my-component.entry.js +1 -1
- package/dist/esm/my-step.entry.js +2 -2
- package/dist/esm/nav-bar.entry.js +4 -4
- package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
- package/dist/esm/smart-step.entry.js +3 -3
- package/dist/esm/timeline-item.entry.js +2 -2
- package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +730 -62
- package/dist/esm/ui-advanced-data-table.entry.js +2 -2
- package/dist/esm/ui-anchor.entry.js +2 -2
- package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
- package/dist/esm/ui-aside-panel.entry.js +11 -12
- package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
- package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
- package/dist/esm/ui-breadcrumb.entry.js +1 -1
- package/dist/esm/ui-callout-banner.entry.js +3 -3
- package/dist/esm/ui-card.entry.js +28 -5
- package/dist/esm/ui-carousel.entry.js +1 -1
- package/dist/esm/ui-checkbox.entry.js +5 -5
- package/dist/esm/ui-code-editor.entry.js +3 -3
- package/dist/esm/ui-code-preview.entry.js +2 -2
- package/dist/esm/ui-color-picker.entry.js +256 -22
- package/dist/esm/ui-command-palette.entry.js +1 -1
- package/dist/esm/ui-dialog-box.entry.js +86 -12
- package/dist/esm/ui-dialog-content.entry.js +1 -1
- package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
- package/dist/esm/ui-divider.entry.js +1 -1
- package/dist/esm/ui-dock-host.entry.js +4 -4
- package/dist/esm/ui-dock.entry.js +2 -2
- package/dist/esm/ui-drag-drop.entry.js +2 -2
- package/dist/esm/ui-dropdown_2.entry.js +104 -34
- package/dist/esm/ui-empty-state.entry.js +2 -2
- package/dist/esm/ui-fab-item.entry.js +2 -2
- package/dist/esm/ui-fab.entry.js +4 -4
- package/dist/esm/ui-file-upload.entry.js +143 -44
- package/dist/esm/ui-horizontal-nav.entry.js +2 -2
- package/dist/esm/ui-knob.entry.js +1 -1
- package/dist/esm/ui-label.entry.js +471 -0
- package/dist/esm/ui-library.entry.js +2 -2
- package/dist/esm/ui-list-group_2.entry.js +351 -58
- package/dist/esm/ui-list.entry.js +76 -42
- package/dist/esm/ui-masonry.entry.js +1 -1
- package/dist/esm/ui-meter-group.entry.js +5 -4
- package/dist/esm/ui-navigation-item.entry.js +5 -5
- package/dist/esm/ui-number-input.entry.js +7 -3
- package/dist/esm/ui-otp-input.entry.js +5 -5
- package/dist/esm/ui-pagination_3.entry.js +235 -504
- package/dist/esm/ui-panel.entry.js +1 -1
- package/dist/esm/ui-pattern-input.entry.js +46 -11
- package/dist/esm/ui-progress.entry.js +164 -23
- package/dist/esm/ui-range-slider.entry.js +2 -2
- package/dist/esm/ui-resizable-panel.entry.js +2 -2
- package/dist/esm/ui-scroll-top.entry.js +1 -1
- package/dist/esm/ui-smart-context-menu.entry.js +1 -1
- package/dist/esm/ui-smart-stepper.entry.js +2 -2
- package/dist/esm/ui-snackbar.entry.js +2 -2
- package/dist/esm/ui-speed-dial.entry.js +1 -1
- package/dist/esm/ui-speedometer.entry.js +28 -17
- package/dist/esm/ui-splitter.entry.js +1 -1
- package/dist/esm/ui-step.entry.js +2 -2
- package/dist/esm/ui-stepper.entry.js +2 -2
- package/dist/esm/ui-switch.entry.js +14 -13
- package/dist/esm/ui-tabs.entry.js +3 -3
- package/dist/esm/ui-tag.entry.js +58 -13
- package/dist/esm/ui-timeline.entry.js +11 -3
- package/dist/esm/ui-timer.entry.js +2 -2
- package/dist/esm/ui-toolbar.entry.js +2 -2
- package/dist/esm/ui-tooltip.entry.js +5 -5
- package/dist/esm/ui-top-bar.entry.js +1 -1
- package/dist/esm/ui-transfer-list.entry.js +7 -7
- package/dist/esm/ui-tree.entry.js +30 -15
- package/dist/esm/ui-workspace-manager.entry.js +3 -3
- package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
- package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
- package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-024a299a.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-198c83e5.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-25530d0d.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-2b6aa7bc.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-2cfba753.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-2fe22958.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-3012e780.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-3ab43638.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-3efb44c8.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-46071679.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4c46ac0b.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-5042ddaa.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-62889cfe.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-66f71613.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-67c440b2.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-6f09503f.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-7ed3bba2.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-864cebb7.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-97086868.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-9c5ced88.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-9e4c45f5.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
- package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
- package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
- package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-ae617f62.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-aef76052.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-bc49a088.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-bd9a631f.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-c4f3d990.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-7f91d949.entry.js → p-cb6e38a6.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
- package/dist/types/components/accordion/accordion.d.ts +10 -2
- package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
- package/dist/types/components/avatar/avatar.d.ts +3 -0
- package/dist/types/components/avatar/types.d.ts +2 -0
- package/dist/types/components/badge/badge.d.ts +1 -0
- package/dist/types/components/button/button.d.ts +9 -0
- package/dist/types/components/card/card.d.ts +4 -0
- package/dist/types/components/color-picker/color-picker.d.ts +35 -2
- package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
- package/dist/types/components/dropdown/dropdown.d.ts +5 -0
- package/dist/types/components/file-upload/file-upload.d.ts +23 -6
- package/dist/types/components/label/label.d.ts +290 -0
- package/dist/types/components/label/types.d.ts +39 -0
- package/dist/types/components/list/list.d.ts +2 -1
- package/dist/types/components/list-group/list-group.d.ts +1 -0
- package/dist/types/components/list-item/list-item.d.ts +46 -17
- package/dist/types/components/loader/loader.d.ts +145 -0
- package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
- package/dist/types/components/popover/popover.d.ts +3 -0
- package/dist/types/components/progress/progress.d.ts +41 -2
- package/dist/types/components/range-slider/range-slider.d.ts +2 -2
- package/dist/types/components/rating/rating.d.ts +1 -0
- package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
- package/dist/types/components/speedometer/speedometer.d.ts +1 -0
- package/dist/types/components/tag/tag.d.ts +4 -0
- package/dist/types/components/tree/tree.d.ts +1 -0
- package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
- package/dist/types/components.d.ts +1214 -1381
- package/dist/types/types/common.d.ts +2 -2
- package/dist/types/types/common.type.d.ts +3 -1
- package/dist/types/utils/dom.d.ts +4 -4
- package/package.json +4 -4
- package/dist/cjs/dom-oP1E4Rd3.js +0 -267
- package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
- package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
- package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
- package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
- package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
- package/dist/cjs/ui-popover.cjs.entry.js +0 -517
- package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
- package/dist/cjs/ui-radio.cjs.entry.js +0 -206
- package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
- package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
- package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
- package/dist/collection/components/color-controller/color-controller.css +0 -108
- package/dist/collection/components/color-controller/color-controller.js +0 -224
- package/dist/collection/components/image-button/image-button.css +0 -154
- package/dist/collection/components/image-button/image-button.js +0 -310
- package/dist/collection/components/image-button/types.js +0 -1
- package/dist/collection/components/input-pair/input-pair.css +0 -72
- package/dist/collection/components/input-pair/input-pair.js +0 -309
- package/dist/collection/components/radio-group/radio-group.css +0 -202
- package/dist/collection/components/radio-group/radio-group.js +0 -903
- package/dist/collection/components/radio-group/types.js +0 -1
- package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
- package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
- package/dist/collection/components/smart-location-dropdown/types.js +0 -1
- package/dist/components/ui-checkbox-group.d.ts +0 -11
- package/dist/components/ui-checkbox-group.js +0 -1
- package/dist/components/ui-color-controller.d.ts +0 -11
- package/dist/components/ui-color-controller.js +0 -1
- package/dist/components/ui-image-button.d.ts +0 -11
- package/dist/components/ui-image-button.js +0 -1
- package/dist/components/ui-input-pair.js +0 -1
- package/dist/components/ui-radio-group.js +0 -1
- package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
- package/dist/components/ui-smart-location-dropdown.js +0 -1
- package/dist/esm/dom-BMFah5q3.js +0 -262
- package/dist/esm/ui-avatar-group_3.entry.js +0 -630
- package/dist/esm/ui-checkbox-group.entry.js +0 -328
- package/dist/esm/ui-color-controller.entry.js +0 -148
- package/dist/esm/ui-image-button.entry.js +0 -65
- package/dist/esm/ui-input-pair.entry.js +0 -42
- package/dist/esm/ui-popover.entry.js +0 -515
- package/dist/esm/ui-radio-group.entry.js +0 -203
- package/dist/esm/ui-radio.entry.js +0 -204
- package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
- package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-049744f9.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-46596a28.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-46efdea3.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-5508874f.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-64e3a484.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-70d82d79.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-875be805.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-9fa70359.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
- package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
- package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
- package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-d16c9635.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-d2308a00.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
- package/dist/types/components/checkbox-group/types.d.ts +0 -8
- package/dist/types/components/color-controller/color-controller.d.ts +0 -24
- package/dist/types/components/image-button/image-button.d.ts +0 -31
- package/dist/types/components/image-button/types.d.ts +0 -1
- package/dist/types/components/input-pair/input-pair.d.ts +0 -28
- package/dist/types/components/radio-group/radio-group.d.ts +0 -74
- package/dist/types/components/radio-group/types.d.ts +0 -2
- package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
- package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
- /package/dist/collection/components/{checkbox-group → label}/types.js +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var security = require('./security-
|
|
3
|
+
var index = require('./index-C32cWsm5.js');
|
|
4
|
+
var security = require('./security-CNaNip8F.js');
|
|
5
5
|
var componentSize = require('./component-size-DsYFUZcz.js');
|
|
6
6
|
var utils = require('./utils-DVZ6gul6.js');
|
|
7
7
|
|
|
8
|
-
const accordionCss = () => `@charset "UTF-8";.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}.accordion-container{width:100%;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background-color:var(--accordion-bg, white);font-family:var(--font-family)}.accordion-indicators{display:flex;gap:8px;padding:16px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;flex-wrap:wrap}.accordion-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid #d1d5db;border-radius:50%;background-color:white;color:#6b7280;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;outline:none}.accordion-indicator:hover:not(.accordion-indicator-disabled){border-color:var(--selected-header-color, #10b981);color:var(--selected-header-color, #10b981);background-color:var(--selected-header-bg, #eff6ff)}.accordion-indicator:focus{box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.accordion-indicator-active{border-color:var(--selected-header-color, #10b981);background-color:var(--selected-header-bg, #eff6ff);color:var(--selected-header-color, #10b981);font-weight:600}.accordion-indicator-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.accordion-item{border-bottom:1px solid #e5e7eb}.accordion-item:last-child{border-bottom:none}.accordion-item-disabled{opacity:0.6;pointer-events:none}.accordion-header{width:100%;padding:16px 20px;background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;color:#374151;transition:all 0.2s ease;outline:none}.accordion-header:focus{box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1);border-radius:4px}.accordion-header:hover:not(.accordion-header-disabled){background-color:transparent}.accordion-item-open .accordion-header{background-color:var(--selected-header-bg, #f0f9ff);border-left:none}.accordion-item-open .accordion-header.accordion-selection-left{border-left:3px solid var(--selected-header-color, #10b981)}.accordion-item-open .accordion-header.accordion-selection-top{border-top:3px solid var(--selected-header-color, #10b981)}.accordion-header:active:not(.accordion-header-disabled){background-color:#f3f4f6}.accordion-header:active:not(.accordion-header-disabled).accordion-physics-bouncy,.accordion-header:active:not(.accordion-header-disabled).accordion-physics-liquid{transform:perspective(500px) rotateX(-2deg) scale(0.985);transition:transform 0.1s cubic-bezier(0.4, 0, 0.2, 1)}.accordion-header:focus-visible{outline:none;box-shadow:0 0 0 2px white, 0 0 0 4px var(--selected-header-color, #10b981) !important;border-radius:4px;z-index:10}.accordion-header-disabled{cursor:not-allowed;color:#9ca3af}.accordion-header-content{display:flex !important;align-items:center;justify-content:space-between;width:100%;min-width:0;flex:1}.accordion-header-btn{width:100% !important;height:auto !important;min-height:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important;border:none !important;transform:none !important}.accordion-header-btn::part(button){padding:16px 20px !important;width:100% !important;justify-content:space-between !important;background:transparent !important;border:none !important;box-shadow:none !important}.accordion-header-btn:hover::part(button){background:rgba(0, 0, 0, 0.02) !important}.accordion-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left}.accordion-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.accordion-actions{display:flex;align-items:center;gap:4px;margin-left:4px}.accordion-icon{font-size:18px;color:#6b7280;flex-shrink:0}.accordion-image{width:24px;height:24px;border-radius:4px;object-fit:cover;flex-shrink:0}.accordion-header-text{flex:1;display:flex;flex-direction:column;min-width:0;text-align:left}.accordion-title-group{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.accordion-title{font-size:15px;font-weight:600;color:var(--color-text-primary, #111827);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-subtitle{font-size:13px;color:var(--color-text-muted, #6b7280);margin-top:2px}.accordion-badge{background-color:#ef4444;color:white;font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;min-width:20px;text-align:center;flex-shrink:0}.accordion-arrow{color:var(--color-text-muted, #6b7280);transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:0.7;pointer-events:none;}.accordion-header:hover .accordion-arrow{opacity:1;color:var(--color-text-primary, #111827);transform:scale(1.1)}.accordion-item-open .accordion-arrow{transform:rotate(180deg)}.accordion-arrow.arrow-start{margin-right:4px}.accordion-content{overflow:hidden;max-height:0;opacity:0;transition:max-height var(--animation-duration, 300ms) var(--animation-timing, ease), opacity var(--animation-duration, 300ms) var(--animation-timing, ease);background-color:#f9fafb;}.accordion-content.accordion-physics-bouncy{transition:max-height var(--animation-duration, 500ms) cubic-bezier(0.68, -0.6, 0.32, 1.6), opacity var(--animation-duration, 500ms) ease, transform var(--animation-duration, 500ms) cubic-bezier(0.68, -0.6, 0.32, 1.6);transform-origin:top}.accordion-content.accordion-physics-bouncy.accordion-content-open{animation:elastic-stretch var(--animation-duration, 500ms) cubic-bezier(0.68, -0.6, 0.32, 1.6)}.accordion-content.accordion-physics-liquid{transition:max-height var(--animation-duration, 600ms) cubic-bezier(0.2, 0.8, 0.2, 1), opacity var(--animation-duration, 600ms) ease, transform var(--animation-duration, 600ms) cubic-bezier(0.2, 0.8, 0.2, 1);transform-origin:top}.accordion-content.accordion-physics-liquid.accordion-content-open{animation:liquid-stretch var(--animation-duration, 600ms) cubic-bezier(0.2, 0.8, 0.2, 1)}@keyframes elastic-stretch{0%{transform:scaleY(0.9) translateY(-10px)}60%{transform:scaleY(1.05) translateY(0)}100%{transform:scaleY(1) translateY(0)}}@keyframes liquid-stretch{0%{transform:scaleY(0.8) skewX(-2deg)}50%{transform:scaleY(1.02) skewX(1deg)}100%{transform:scaleY(1) skewX(0)}}.accordion-content:not(.accordion-content-open){max-height:0;opacity:0}.accordion-content-open{max-height:90vh;opacity:1;overflow-y:auto}.accordion-content-inner{padding:16px 20px;color:#4b5563;line-height:1.6}.accordion-content-inner p{margin-top:0;margin-bottom:12px}.accordion-content-inner p:last-child{margin-bottom:0}.accordion-container.accordion-sm .accordion-header{padding:10px 16px;font-size:13px}.accordion-container.accordion-lg .accordion-header{padding:20px 24px;font-size:18px}.accordion-container.accordion-main .accordion-header{padding:24px 32px;font-size:22px;font-weight:700}.accordion-container.accordion-section .accordion-header{padding:18px 24px;font-size:18px;font-weight:600}.accordion-container.accordion-subsection .accordion-header{padding:14px 20px;font-size:15px;font-weight:500}.accordion-container.accordion-popover .accordion-header{padding:8px 12px;font-size:13px;font-weight:500}.accordion-container.accordion-popover .accordion-content-inner{padding:8px 12px;font-size:12px}.accordion-container.accordion-bordered .accordion-item{border:1px solid #e5e7eb;margin-bottom:8px;border-radius:6px}.accordion-container.accordion-bordered .accordion-item:last-child{margin-bottom:0}.accordion-container.accordion-bordered{border:none;background:transparent}.accordion-container.accordion-splitted{border:none;background:transparent;display:flex;flex-direction:column;gap:12px}.accordion-container.accordion-splitted .accordion-item{border:1px solid #e5e7eb;border-radius:12px;background:white;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);transition:box-shadow 0.2s ease, border-color 0.2s ease}.accordion-container.accordion-splitted .accordion-item-open{box-shadow:0 4px 12px rgba(0, 0, 0, 0.08);border-color:var(--selected-header-color, #10b981)}.accordion-container.accordion-light{border:none;background:transparent}.accordion-container.accordion-light .accordion-item{border-bottom:1px solid transparent;}.accordion-container.accordion-light .accordion-header{background:transparent !important;}.accordion-container.accordion-light .accordion-header:hover{background:rgba(0, 0, 0, 0.03) !important}.accordion-container.accordion-shadow{border:none;box-shadow:0 4px 20px rgba(0, 0, 0, 0.08);border-radius:16px}.accordion-container.accordion-card-list,.accordion-container.accordion-card{border:none;background:transparent;display:flex;flex-direction:column;gap:12px;overflow:visible;}.accordion-card-list .accordion-item,.accordion-card .accordion-item{border:1px solid #e8edf2;border-radius:16px;background:#ffffff;box-shadow:0 2px 8px rgba(0, 0, 0, 0.06);transition:box-shadow 0.25s ease, border-color 0.25s ease, transform 0.15s ease;overflow:hidden}.accordion-card-list .accordion-item:hover:not(.accordion-item-disabled),.accordion-card .accordion-item:hover:not(.accordion-item-disabled){box-shadow:0 4px 18px rgba(0, 0, 0, 0.1);transform:translateY(-1px)}.accordion-card-list .accordion-item-open,.accordion-card .accordion-item-open{border-color:var(--selected-header-color, #10b981);box-shadow:0 8px 30px rgba(0, 0, 0, 0.15);transform:translateY(-2px)}.accordion-card-list .accordion-item,.accordion-card .accordion-item,.accordion-card-list .accordion-item:last-child,.accordion-card .accordion-item:last-child{border:1px solid #e8edf2}.accordion-card-list .accordion-header,.accordion-card .accordion-header{--button-padding:18px 0px;background:transparent;border-left:none !important}.accordion-card-list .accordion-header:hover:not(.accordion-header-disabled),.accordion-card .accordion-header:hover:not(.accordion-header-disabled){background:transparent}.accordion-card-list .accordion-item-open .accordion-header,.accordion-card .accordion-item-open .accordion-header{background:transparent;border-left:none !important}.accordion-card-list .accordion-icon,.accordion-card .accordion-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:12px;background:color-mix(in srgb, var(--selected-header-color, #10b981) 12%, transparent);color:var(--selected-header-color, #10b981);font-size:20px;flex-shrink:0;transition:background 0.2s ease}@supports not (background: color-mix(in srgb, red 10%, transparent)){.accordion-card-list .accordion-icon,.accordion-card .accordion-icon{background:rgba(16, 185, 129, 0.12)}}.accordion-card-list .accordion-item:hover .accordion-icon,.accordion-card .accordion-item:hover .accordion-icon{background:color-mix(in srgb, var(--selected-header-color, #10b981) 20%, transparent)}.accordion-card-list .accordion-title,.accordion-card .accordion-title{font-size:15px;font-weight:700;color:#1a202c;white-space:normal;}.accordion-card-list .accordion-subtitle,.accordion-card .accordion-subtitle{font-size:13px;color:#8a92a0;font-weight:400;white-space:normal}.accordion-card-list .accordion-header-text,.accordion-card .accordion-header-text{gap:3px}.accordion-card-list .accordion-arrow,.accordion-card .accordion-arrow{color:#c0c8d4;font-size:14px;margin-left:16px;transition:color 0.2s ease}.accordion-card-list .accordion-item:hover .accordion-arrow,.accordion-card .accordion-item:hover .accordion-arrow{color:var(--selected-header-color, #10b981)}.accordion-card-list .accordion-item-open .accordion-arrow,.accordion-card .accordion-item-open .accordion-arrow{color:var(--selected-header-color, #10b981)}.accordion-card-list .accordion-content,.accordion-card .accordion-content{background:#f8fafc;border-top:1px solid #edf1f6}.accordion-card-list .accordion-content-inner,.accordion-card .accordion-content-inner{padding:16px 20px 20px;color:#4a5568;font-size:14px;line-height:1.65}.accordion-card-list.accordion-sm .accordion-header,.accordion-card.accordion-sm .accordion-header{padding:14px 16px}.accordion-card-list.accordion-sm .accordion-icon,.accordion-card.accordion-sm .accordion-icon{width:36px;height:36px;min-width:36px;border-radius:10px;font-size:17px}.accordion-card-list.accordion-sm .accordion-title,.accordion-card.accordion-sm .accordion-title{font-size:14px}.accordion-card-list.accordion-lg .accordion-header,.accordion-card.accordion-lg .accordion-header{padding:22px 24px}.accordion-card-list.accordion-lg .accordion-icon,.accordion-card.accordion-lg .accordion-icon{width:52px;height:52px;min-width:52px;border-radius:14px;font-size:24px}.accordion-card-list.accordion-lg .accordion-title,.accordion-card.accordion-lg .accordion-title{font-size:17px}.accordion-card-list.accordion-icon-start .accordion-arrow.arrow-start,.accordion-card.accordion-icon-start .accordion-arrow.arrow-start{margin-right:16px;margin-left:0}.accordion-headline{background:transparent !important;border:none !important;box-shadow:none !important}.accordion-headline .accordion-item{border-bottom:1px solid #e5e7eb;margin-bottom:0;transition:all 0.25s ease}.accordion-headline .accordion-item:last-child{border-bottom:none}.accordion-headline .accordion-header{padding:var(--hl-padding, 32px 0);font-size:var(--hl-title-size, 28px);font-weight:700;color:#111827;background:transparent;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:24px;border-left:none !important;text-align:left}.accordion-headline .accordion-header:hover{background:transparent;color:var(--selected-header-color, #10b981)}.accordion-headline .accordion-header-content{flex:1;display:flex;flex-direction:row;align-items:flex-start;gap:16px}.accordion-headline .accordion-header-text{display:flex;flex-direction:column;gap:var(--hl-gap, 12px);flex:1;text-align:left}.accordion-headline .accordion-title{white-space:normal;font-size:var(--hl-title-size, 28px) !important;font-weight:700;line-height:1.2;text-align:left;color:#111827}.accordion-headline .accordion-subtitle{font-size:var(--hl-subtitle-size, 16px) !important;color:#4b5563;line-height:1.6;margin-top:4px;white-space:normal;max-width:90%;font-weight:400;text-align:left}.accordion-headline{}.accordion-headline .accordion-badge{background:#1f2937;color:white;width:22px;height:22px;min-width:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;order:2;margin-top:6px}.accordion-headline .accordion-arrow{font-size:calc(var(--hl-title-size, 28px) * 0.7);color:#111827;margin-top:6px;opacity:0.8}.accordion-headline .accordion-item-open .accordion-header{background:transparent;border-left:none;color:#111827}.accordion-headline .accordion-content{background:transparent}.accordion-headline .accordion-content-inner{padding:0 0 40px 0;font-size:var(--hl-subtitle-size, 16px);color:#4b5563;line-height:1.6;text-align:left}.accordion-arrow.arrow-start{margin-left:0;margin-right:12px;order:-1;}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.accordion-header:focus-visible{outline:2px solid #10b981;outline-offset:2px;z-index:10;}@media (max-width: 640px){.accordion-header{padding:12px 16px;font-size:14px}.accordion-content-inner{padding:12px 16px}.accordion-header-content{gap:8px}.accordion-badge{font-size:11px;padding:1px 6px}}.accordion-search{position:relative;padding:16px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.accordion-search-input{width:100%;padding:10px 40px 10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:all 0.2s ease}.accordion-search-input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.accordion-search-clear{position:absolute;right:28px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all 0.2s ease}.accordion-search-clear:hover{background-color:#e5e7eb;color:#374151}.search-highlight{background-color:#fef08a;color:#854d0e;padding:2px 4px;border-radius:2px;font-weight:600}.accordion-controls{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;flex-wrap:wrap}.accordion-control-button{padding:8px 16px;background-color:white;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all 0.2s ease;outline:none}.accordion-control-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.accordion-control-button:active:not(:disabled){background-color:#e5e7eb}.accordion-control-button:disabled{opacity:0.5;cursor:not-allowed}.accordion-control-button:focus{box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.accordion-header-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.accordion-subtitle{font-size:13px;color:#6b7280;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-actions{display:flex;gap:4px;margin-left:8px}.accordion-action-button{padding:6px 10px;background-color:transparent;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#374151;cursor:pointer;transition:all 0.2s ease;outline:none}.accordion-action-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.accordion-action-button:disabled{opacity:0.5;cursor:not-allowed}.accordion-action-button:focus{box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2)}.accordion-loading-spinner{font-size:16px;animation:spin 1s linear infinite;margin-left:8px}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.accordion-item-loading{opacity:0.7}.accordion-item-dragging{opacity:0.5;cursor:grabbing;transform:scale(0.98)}.accordion-item-drag-over{border-top:3px solid #10b981;background-color:#eff6ff}@keyframes accordion-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.accordion-item-shaking{animation:accordion-shake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;pointer-events:none}@keyframes accordion-success-pulse{0%{box-shadow:0 0 0 0 rgba(16, 185, 129, 0.4), 0 0 0 0 rgba(16, 185, 129, 0.2);background-color:rgba(16, 185, 129, 0.05)}50%{background-color:rgba(16, 185, 129, 0.1)}70%{box-shadow:0 0 0 15px rgba(16, 185, 129, 0), 0 0 0 30px rgba(16, 185, 129, 0)}100%{box-shadow:0 0 0 0 rgba(16, 185, 129, 0), 0 0 0 0 rgba(16, 185, 129, 0);background-color:transparent}}.accordion-item-success{border-color:#10b981 !important;animation:accordion-success-pulse 1s cubic-bezier(0.4, 0, 0.2, 1)}.accordion-item[draggable=true]{cursor:grab}.accordion-item[draggable=true]:active{cursor:grabbing}.accordion-nested-items{padding-left:0;background-color:transparent}.accordion-item-nested{margin-left:24px;position:relative;border-left:none;}.accordion-item-nested::before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:2px;background:linear-gradient(180deg, var(--selected-header-color, #10b981) 0%, rgba(229, 231, 235, 0.4) 100%);opacity:0.6;transition:all 0.3s ease}.accordion-item-nested{}.accordion-item-nested::after{content:"";position:absolute;left:-16px;top:24px;width:14px;height:2px;background:var(--selected-header-color, #10b981);opacity:0.3;border-radius:0 2px 2px 0}.accordion-item-nested{}.accordion-item-nested .accordion-header::before{content:"";position:absolute;left:-18px;top:22px;width:6px;height:6px;background:var(--selected-header-color, #10b981);border-radius:50%;opacity:0.5;z-index:2}.accordion-item-nested .accordion-header{padding-left:16px;font-size:15px;background-color:rgba(0, 0, 0, 0.015);border-radius:0 8px 8px 0;margin-top:2px;margin-bottom:2px}.accordion-item-nested .accordion-header:hover{background-color:rgba(0, 0, 0, 0.03)}.accordion-item-nested .accordion-nested-items .accordion-header{background-color:rgba(0, 0, 0, 0.025);font-size:14px}.accordion-header-custom{padding:16px 20px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.accordion-no-results{padding:32px 20px;text-align:center;color:#6b7280;font-size:14px}.accordion-no-results p{margin:0}.accordion-rtl{direction:rtl}.accordion-rtl .accordion-header{text-align:right}.accordion-rtl .accordion-arrow{margin-left:0;margin-right:12px}.accordion-rtl .accordion-arrow.arrow-start{margin-right:0;margin-left:12px}.accordion-rtl .accordion-item-open .accordion-header{border-left:none;border-right:3px solid var(--selected-header-color, #10b981)}.accordion-rtl .accordion-actions{margin-left:0;margin-right:8px}.accordion-dense .accordion-header{padding:10px 16px;font-size:14px}.accordion-dense .accordion-content-inner{padding:10px 16px;font-size:13px}.accordion-dense .accordion-search{padding:12px 16px}.accordion-dense .accordion-controls{padding:8px 16px}.accordion-dense .accordion-indicators{padding:12px 16px}.accordion-dense .accordion-indicator{width:28px;height:28px;font-size:12px}.accordion-dense .accordion-subtitle{font-size:12px}@media print{.accordion-print-expand-all .accordion-content{max-height:none !important;opacity:1 !important;display:block !important}.accordion-print-expand-all .accordion-item{page-break-inside:avoid}.accordion-search,.accordion-controls,.accordion-indicators{display:none !important}.accordion-arrow,.accordion-actions{display:none !important}.accordion-header{cursor:default;pointer-events:none}}.accordion-control-button:focus-visible,.accordion-action-button:focus-visible,.accordion-indicator:focus-visible{outline:2px solid #10b981;outline-offset:2px;border-radius:4px}.accordion-item,.accordion-header,.accordion-content,.accordion-action-button,.accordion-control-button{transition:all 0.2s ease}@media (prefers-reduced-motion: reduce){.accordion-content,.accordion-arrow,.accordion-item,.accordion-header,.accordion-loading-spinner{transition:none;animation:none}}.accordion-item-skeleton{padding:16px 20px;background:#fff}.skeleton-box{background:#e5e7eb;border-radius:4px;animation:skeleton-pulse 1.5s infinite ease-in-out}@keyframes skeleton-pulse{0%{opacity:0.6}50%{opacity:1}100%{opacity:0.6}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none}.accordion-status-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;margin-left:12px;flex-shrink:0}.accordion-status-badge.status-completed{color:#10b981;background:rgba(16, 185, 129, 0.1)}.accordion-status-badge.status-error{color:#ef4444;background:rgba(239, 68, 68, 0.1)}.accordion-status-badge.status-warning{color:#f59e0b;background:rgba(245, 158, 11, 0.1)}.accordion-status-badge.status-current{color:#3b82f6;background:rgba(59, 130, 246, 0.1)}.pulse-dot{width:8px;height:8px;background-color:#3b82f6;border-radius:50%;box-shadow:0 0 0 0 rgba(59, 130, 246, 0.7);animation:status-pulse 1.5s infinite}@keyframes status-pulse{0%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(59, 130, 246, 0.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(59, 130, 246, 0)}100%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(59, 130, 246, 0)}}.accordion-theme-glass{background:rgba(255, 255, 255, 0.4) !important;backdrop-filter:blur(12px) !important;border:1px solid rgba(255, 255, 255, 0.3) !important;box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.07) !important}.accordion-theme-glass .accordion-item{background:transparent;border-bottom:1px solid rgba(255, 255, 255, 0.1)}.accordion-theme-glass .accordion-header:hover{background:rgba(255, 255, 255, 0.2)}.accordion-theme-radiant{background:#0f172a !important;border:1px solid #1e293b !important;color:#f8fafc}.accordion-theme-radiant .accordion-item{border-bottom:1px solid #1e293b;background:transparent}.accordion-theme-radiant .accordion-header{color:#e2e8f0}.accordion-theme-radiant .accordion-header:hover{color:#38bdf8}.accordion-theme-radiant .accordion-item-open .accordion-header{background:linear-gradient(90deg, rgba(56, 189, 248, 0.05) 0%, transparent 100%);color:#38bdf8;box-shadow:inset 2px 0 0 #38bdf8}.accordion-theme-radiant .accordion-subtitle{color:#94a3b8}@media (min-width: 1024px){.accordion-columns-2{display:grid !important;grid-template-columns:1fr 1fr;gap:16px;border:none !important;background:transparent !important}.accordion-columns-2 .accordion-item{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:0 !important}}.accordion-item{perspective:1000px;transform-style:preserve-3d}.accordion-header{transform:translate3d(var(--parallax-x, 0), var(--parallax-y, 0), 0) rotateX(var(--rotate-x, 0)) rotateY(var(--rotate-y, 0));transition:transform 0.1s ease-out;will-change:transform}.accordion-header-indicators{display:flex;align-items:center;gap:12px}.accordion-actions{display:flex;align-items:center;gap:4px}.accordion-progress-ring{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-left:8px}.accordion-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.accordion-progress-ring .ring-bg{stroke:#e5e7eb}.accordion-progress-ring .ring-fg{stroke:#3b82f6;stroke-linecap:round;transition:stroke-dasharray 0.5s ease}.accordion-progress-ring .progress-text{position:absolute;font-size:8px;font-weight:700;color:#1f2937;letter-spacing:-0.02em}.accordion-icon,.accordion-badge,.accordion-status-badge{transform:translateZ(20px)}.accordion-title{transform:translateZ(10px)}.accordion-header-sticky{position:sticky;top:0;z-index:50;background:inherit;box-shadow:0 4px 12px rgba(0, 0, 0, 0.03)}.accordion-header-sticky::after{content:"";position:absolute;bottom:-10px;left:0;right:0;height:10px;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.02), transparent);pointer-events:none;opacity:1}.accordion-peek-snippet{display:block;font-size:13px;color:#94a3b8;font-style:italic;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;opacity:0.8;animation:peek-reveal 0.4s ease-out}@keyframes peek-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:0.8;transform:translateY(0)}}.accordion-bordered .accordion-header-sticky,.accordion-card .accordion-header-sticky{background:white;z-index:100}.accordion-theme-glass .accordion-header-sticky{background:rgba(255, 255, 255, 0.2);backdrop-filter:blur(12px)}.accordion-theme-radiant .accordion-header-sticky{background:#0f172a}.accordion-container{position:relative}.accordion-quick-actions{position:absolute;right:12px;top:50%;transform:translateY(-50%) translateX(10px);display:flex;gap:8px;opacity:0;pointer-events:none;transition:all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);background:rgba(255, 255, 255, 0.9);padding:4px 8px;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);z-index:20}.accordion-item:hover .accordion-quick-actions{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}.quick-action-btn{background:transparent;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;transition:all 0.2s ease}.quick-action-btn:hover{background:#f1f5f9;color:#3b82f6;transform:scale(1.1)}.accordion-search-heatmap{position:absolute;top:80px;bottom:0;right:-12px;width:4px;background:rgba(226, 232, 240, 0.5);border-radius:2px;pointer-events:none;z-index:50}.heatmap-marker{position:absolute;width:8px;height:8px;left:-2px;background:#3b82f6;border-radius:50%;box-shadow:0 0 8px rgba(59, 130, 246, 0.8);pointer-events:auto;cursor:pointer;transition:transform 0.2s ease}.heatmap-marker:hover{transform:scale(1.5);background:#2563eb}.accordion-theme-radiant .accordion-quick-actions{background:#1e293b;border-color:#334155;color:white}.accordion-theme-glass .accordion-quick-actions{background:rgba(255, 255, 255, 0.15);backdrop-filter:blur(8px);border-color:rgba(255, 255, 255, 0.3)}.accordion-lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(15, 23, 42, 0.95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:500;border-radius:inherit;backdrop-filter:blur(8px);animation:lock-fade-in 0.3s ease-out}.accordion-lock-overlay .lock-grid{display:grid;grid-template-columns:repeat(3, 40px);gap:20px;margin-bottom:24px}.accordion-lock-overlay .lock-dot{width:16px;height:16px;background:rgba(255, 255, 255, 0.2);border-radius:50%;cursor:pointer;transition:all 0.2s ease;box-shadow:0 0 10px rgba(0, 0, 0, 0.5)}.accordion-lock-overlay .lock-dot.active{background:#38bdf8;box-shadow:0 0 15px #38bdf8;transform:scale(1.3)}.accordion-lock-overlay .lock-hint{color:#94a3b8;font-size:14px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.1em}.accordion-lock-overlay .lock-cancel{background:transparent;border:1px solid #334155;color:#94a3b8;padding:6px 16px;border-radius:6px;cursor:pointer;transition:all 0.2s ease}.accordion-lock-overlay .lock-cancel:hover{border-color:#ef4444;color:#ef4444}@keyframes lock-fade-in{from{opacity:0;background:rgba(0, 0, 0, 0)}to{opacity:1;background:rgba(15, 23, 42, 0.95)}}.accordion-header-sparkline{opacity:0.7;color:#3b82f6;margin-left:8px}.accordion-header-sparkline polyline{stroke-dasharray:100;stroke-dashoffset:100;animation:spark-draw 1.5s ease-out forwards}@keyframes spark-draw{to{stroke-dashoffset:0}}.accordion-theme-radiant .accordion-header-sparkline{color:#38bdf8}.accordion-theme-glass .accordion-header-sparkline{color:#8b5cf6}.accordion-breadcrumbs{font-size:10px;text-transform:uppercase;letter-spacing:0.05em;color:#94a3b8;margin-bottom:4px;opacity:0.6;font-weight:700}.breadcrumb-node{transition:color 0.2s ease}.breadcrumb-node:hover{color:#3b82f6}@media print{.accordion-print-expand-all .accordion-content{display:block !important;max-height:none !important;opacity:1 !important;visibility:visible !important;overflow:visible !important;border-top:1px solid #e2e8f0}.accordion-print-expand-all .accordion-item{margin-bottom:20px !important;break-inside:avoid;border:1px solid #e2e8f0 !important;box-shadow:none !important;background:white !important}.accordion-print-expand-all{}.accordion-print-expand-all .accordion-arrow,.accordion-print-expand-all .accordion-search,.accordion-print-expand-all .accordion-controls,.accordion-print-expand-all .accordion-quick-actions,.accordion-print-expand-all .accordion-lock-overlay,.accordion-print-expand-all .accordion-search-heatmap,.accordion-print-expand-all .accordion-action-button{display:none !important}.accordion-print-expand-all .accordion-header{background:#f8fafc !important;color:black !important;padding:12px !important}.accordion-print-expand-all .accordion-header-sparkline{display:inline-block !important;opacity:1 !important}}@media print{.accordion-theme-radiant.accordion-print-expand-all,.accordion-theme-glass.accordion-print-expand-all{background:white !important;color:black !important}.accordion-theme-radiant.accordion-print-expand-all .accordion-header,.accordion-theme-glass.accordion-print-expand-all .accordion-header{color:black !important;background:#f1f5f9 !important}.accordion-theme-radiant.accordion-print-expand-all .accordion-title,.accordion-theme-glass.accordion-print-expand-all .accordion-title{color:black !important}}.accordion-portal-reader{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:white;display:flex;flex-direction:column;animation:portal-glide-up 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);padding:40px;overflow-y:auto}.accordion-portal-reader .portal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:24px;margin-bottom:40px}.accordion-portal-reader .portal-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.accordion-portal-reader .portal-title{font-size:32px;font-weight:800;letter-spacing:-0.02em;color:#0f172a}.accordion-portal-reader .portal-close-toggle::part(button){min-width:148px;padding:0.8rem 1rem;border-radius:999px;border:1px solid #cbd5e1;background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);color:#0f172a;box-shadow:0 10px 24px rgba(15, 23, 42, 0.08);font-weight:700}.accordion-portal-reader .portal-close{background:#f1f5f9;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease}.accordion-portal-reader .portal-close:hover{background:#ef4444;color:white;transform:rotate(90deg)}.accordion-portal-reader .portal-content{max-width:800px;margin:0 auto;width:100%}.accordion-portal-reader .portal-meta{text-transform:uppercase;font-size:12px;letter-spacing:0.1em;color:#64748b;font-weight:700;margin-bottom:24px}.accordion-portal-reader .portal-body{font-size:18px;line-height:1.8;color:#334155}.accordion-portal-reader .portal-body p{margin-bottom:1.5em}.accordion-collaborators{display:flex;margin-right:12px}.accordion-collaborators .presence-avatar{width:24px;height:24px;border-radius:50%;border:2px solid white;margin-left:-8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:white;box-shadow:0 0 10px rgba(0, 0, 0, 0.1);transition:transform 0.2s ease;cursor:pointer}.accordion-collaborators .presence-avatar:first-child{margin-left:0}.accordion-collaborators .presence-avatar:hover{transform:translateY(-4px) scale(1.1);z-index:10}.accordion-collaborators .presence-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.accordion-ai-briefing{position:absolute;top:100%;left:0;width:280px;background:white;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.1);z-index:100;opacity:0;pointer-events:none;transform:translateY(10px);transition:all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1)}.accordion-ai-briefing .briefing-list{margin:0;padding:0 0 0 16px;font-size:13px;line-height:1.6;color:#475569}.accordion-ai-briefing .briefing-list li{margin-bottom:8px}.accordion-title:hover+.accordion-ai-briefing{opacity:1;transform:translateY(0)}@keyframes portal-glide-up{from{transform:translateY(100vh);opacity:0}to{transform:translateY(0);opacity:1}}.accordion-theme-radiant .accordion-portal-reader{background:#0f172a}.accordion-theme-radiant .accordion-portal-reader .portal-title,.accordion-theme-radiant .accordion-portal-reader .portal-body{color:white}.accordion-theme-radiant .accordion-portal-reader .portal-header{border-color:#1e293b}.accordion-theme-radiant .accordion-portal-reader .portal-close{background:#1e293b;color:white}.accordion-theme-radiant .accordion-portal-reader .portal-close-toggle::part(button){background:linear-gradient(180deg, #1e293b 0%, #0f172a 100%);border-color:#334155;color:#e2e8f0;box-shadow:0 12px 30px rgba(2, 6, 23, 0.45)}.accordion-theme-radiant .accordion-ai-briefing{background:#1e293b;border-color:#334155;color:white}.accordion-theme-radiant .accordion-ai-briefing .briefing-list{color:#cbd5e1}.accordion-streaming-terminal{background:#020617;border-radius:8px;border:1px solid #1e293b;margin-bottom:20px;overflow:hidden;box-shadow:inset 0 0 20px rgba(0, 0, 0, 0.5)}.accordion-streaming-terminal .terminal-header{background:#1e293b;padding:6px 16px;font-size:10px;font-weight:800;color:#94a3b8;letter-spacing:0.1em}.accordion-streaming-terminal .terminal-body{height:180px;overflow-y:auto;padding:12px;font-family:"JetBrains Mono", "Fira Code", monospace;font-size:11px;line-height:1.5;scroll-behavior:smooth}.accordion-streaming-terminal .terminal-line{display:flex;gap:12px;margin-bottom:4px;border-left:2px solid transparent;transition:all 0.2s ease}.accordion-streaming-terminal .terminal-line:hover{background:rgba(255, 255, 255, 0.05);border-left-color:#3b82f6}.accordion-streaming-terminal .line-timestamp{color:#64748b;white-space:nowrap}.accordion-streaming-terminal .line-msg{color:#cbd5e1;word-break:break-all}.quick-action-btn.voice-btn.active{background:#ef4444 !important;color:white !important;animation:voice-pulse 1.5s infinite ease-in-out;box-shadow:0 0 15px #ef4444}@keyframes voice-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:0.7}100%{transform:scale(1);opacity:1}}.accordion-teleport-link{background:rgba(59, 130, 246, 0.1);border:1px solid rgba(59, 130, 246, 0.2);color:#3b82f6;font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;margin-left:8px;transition:all 0.2s ease}.accordion-teleport-link:hover{background:#3b82f6;color:white}.accordion-item{transition:transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.6s ease;transform-origin:top center}`;
|
|
8
|
+
const accordionCss = () => `@charset "UTF-8";.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}.accordion-container{width:100%;border:1px solid var(--accordion-border-color, #e5e7eb);border-radius:8px;overflow:hidden;background-color:var(--accordion-bg, white);font-family:var(--font-family)}.accordion-indicators{display:flex;gap:8px;padding:16px 20px;border-bottom:1px solid var(--accordion-border-color, #e5e7eb);background-color:#f9fafb;flex-wrap:wrap}.accordion-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid #d1d5db;border-radius:50%;background-color:white;color:#6b7280;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;outline:none}.accordion-indicator:hover:not(.accordion-indicator-disabled){border-color:var(--selected-header-color, #10b981);color:var(--selected-header-color, #10b981);background-color:var(--selected-header-bg, #eff6ff)}.accordion-indicator:focus{box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.accordion-indicator-active{border-color:var(--selected-header-color, #10b981);background-color:var(--selected-header-bg, #eff6ff);color:var(--selected-header-color, #10b981);font-weight:600}.accordion-indicator-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.accordion-item{border-bottom:1px solid var(--accordion-border-color, #e5e7eb)}.accordion-item:last-child{border-bottom:none}.accordion-item-disabled{opacity:0.6;pointer-events:none}.accordion-header{width:100%;padding:16px 20px;background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;color:#374151;transition:all 0.2s ease;outline:none}.accordion-header:focus{box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1);border-radius:4px}.accordion-header:hover:not(.accordion-header-disabled){background-color:transparent}.accordion-item-open .accordion-header{background-color:var(--selected-header-bg, #f0f9ff);border-left:none}.accordion-item-open .accordion-header.accordion-selection-left{border-left:3px solid var(--selected-header-color, #10b981)}.accordion-item-open .accordion-header.accordion-selection-top{border-top:3px solid var(--selected-header-color, #10b981)}.accordion-header:active:not(.accordion-header-disabled){background-color:#f3f4f6}.accordion-header:active:not(.accordion-header-disabled).accordion-physics-bouncy,.accordion-header:active:not(.accordion-header-disabled).accordion-physics-liquid{transform:perspective(500px) rotateX(-2deg) scale(0.985);transition:transform 0.1s cubic-bezier(0.4, 0, 0.2, 1)}.accordion-header:focus-visible{outline:none;box-shadow:0 0 0 2px white, 0 0 0 4px var(--selected-header-color, #10b981) !important;border-radius:4px;z-index:10}.accordion-header-disabled{cursor:not-allowed;color:#9ca3af}.accordion-header-content{display:flex !important;align-items:center;justify-content:space-between;width:100%;min-width:0;flex:1}.accordion-header-btn{width:100% !important;height:auto !important;min-height:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important;border:none !important;transform:none !important}.accordion-header-btn::part(button){padding:16px 20px !important;width:100% !important;justify-content:space-between !important;background:transparent !important;border:none !important;box-shadow:none !important}.accordion-header-btn:hover::part(button){background:rgba(0, 0, 0, 0.02) !important}.accordion-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left}.accordion-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.accordion-actions{display:flex;align-items:center;gap:4px;margin-left:4px}.accordion-icon{font-size:18px;color:#6b7280;flex-shrink:0}.accordion-image{width:24px;height:24px;border-radius:4px;object-fit:cover;flex-shrink:0}.accordion-header-text{flex:1;display:flex;flex-direction:column;min-width:0;text-align:left}.accordion-title-group{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.accordion-title{font-size:15px;font-weight:600;color:var(--color-text-primary, #111827);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-subtitle{font-size:13px;color:var(--color-text-muted, #6b7280);margin-top:2px}.accordion-badge{background-color:#ef4444;color:white;font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;min-width:20px;text-align:center;flex-shrink:0}.accordion-arrow{color:var(--color-text-muted, #6b7280);transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:0.7;pointer-events:none;}.accordion-header:hover .accordion-arrow{opacity:1;color:var(--color-text-primary, #111827);transform:scale(1.1)}.accordion-item-open .accordion-arrow{transform:rotate(180deg)}.accordion-arrow.arrow-start{margin-right:4px}.accordion-content{overflow:hidden;max-height:0;opacity:0;transition:max-height var(--animation-duration, 300ms) var(--animation-timing, ease), opacity var(--animation-duration, 300ms) var(--animation-timing, ease);background-color:var(--accordion-content-bg, #f9fafb);}.accordion-content.accordion-physics-bouncy{transition:max-height var(--animation-duration, 500ms) cubic-bezier(0.68, -0.6, 0.32, 1.6), opacity var(--animation-duration, 500ms) ease, transform var(--animation-duration, 500ms) cubic-bezier(0.68, -0.6, 0.32, 1.6);transform-origin:top}.accordion-content.accordion-physics-bouncy.accordion-content-open{animation:elastic-stretch var(--animation-duration, 500ms) cubic-bezier(0.68, -0.6, 0.32, 1.6)}.accordion-content.accordion-physics-liquid{transition:max-height var(--animation-duration, 600ms) cubic-bezier(0.2, 0.8, 0.2, 1), opacity var(--animation-duration, 600ms) ease, transform var(--animation-duration, 600ms) cubic-bezier(0.2, 0.8, 0.2, 1);transform-origin:top}.accordion-content.accordion-physics-liquid.accordion-content-open{animation:liquid-stretch var(--animation-duration, 600ms) cubic-bezier(0.2, 0.8, 0.2, 1)}@keyframes elastic-stretch{0%{transform:scaleY(0.9) translateY(-10px)}60%{transform:scaleY(1.05) translateY(0)}100%{transform:scaleY(1) translateY(0)}}@keyframes liquid-stretch{0%{transform:scaleY(0.8) skewX(-2deg)}50%{transform:scaleY(1.02) skewX(1deg)}100%{transform:scaleY(1) skewX(0)}}.accordion-content:not(.accordion-content-open){max-height:0;opacity:0}.accordion-content-open{max-height:90vh;opacity:1;overflow-y:auto}.accordion-content-inner{padding:16px 20px;color:#4b5563;line-height:1.6}.accordion-content-inner p{margin-top:0;margin-bottom:12px}.accordion-content-inner p:last-child{margin-bottom:0}.accordion-container.accordion-sm .accordion-header{padding:10px 16px;font-size:13px}.accordion-container.accordion-lg .accordion-header{padding:20px 24px;font-size:18px}.accordion-container.accordion-main .accordion-header{padding:24px 32px;font-size:22px;font-weight:700}.accordion-container.accordion-section .accordion-header{padding:18px 24px;font-size:18px;font-weight:600}.accordion-container.accordion-subsection .accordion-header{padding:14px 20px;font-size:15px;font-weight:500}.accordion-container.accordion-popover .accordion-header{padding:8px 12px;font-size:13px;font-weight:500}.accordion-container.accordion-popover .accordion-content-inner{padding:8px 12px;font-size:12px}.accordion-container.accordion-bordered .accordion-item{border:1px solid #e5e7eb;margin-bottom:8px;border-radius:6px}.accordion-container.accordion-bordered .accordion-item:last-child{margin-bottom:0}.accordion-container.accordion-bordered{border:none;background:transparent}.accordion-container.accordion-splitted{border:none;background:transparent;display:flex;flex-direction:column;gap:12px}.accordion-container.accordion-splitted .accordion-item{border:1px solid #e5e7eb;border-radius:12px;background:white;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);transition:box-shadow 0.2s ease, border-color 0.2s ease}.accordion-container.accordion-splitted .accordion-item-open{box-shadow:0 4px 12px rgba(0, 0, 0, 0.08);border-color:var(--selected-header-color, #10b981)}.accordion-container.accordion-light{border:none;background:transparent}.accordion-container.accordion-light .accordion-item{border-bottom:1px solid transparent;}.accordion-container.accordion-light .accordion-header{background:transparent !important;}.accordion-container.accordion-light .accordion-header:hover{background:rgba(0, 0, 0, 0.03) !important}.accordion-container.accordion-shadow{border:none;box-shadow:0 4px 20px rgba(0, 0, 0, 0.08);border-radius:16px}.accordion-container.accordion-card-list,.accordion-container.accordion-card{border:none;background:transparent;display:flex;flex-direction:column;gap:12px;overflow:visible;}.accordion-card-list .accordion-item,.accordion-card .accordion-item{border:1px solid #e8edf2;border-radius:16px;background:#ffffff;box-shadow:0 2px 8px rgba(0, 0, 0, 0.06);transition:box-shadow 0.25s ease, border-color 0.25s ease, transform 0.15s ease;overflow:hidden}.accordion-card-list .accordion-item:hover:not(.accordion-item-disabled),.accordion-card .accordion-item:hover:not(.accordion-item-disabled){box-shadow:0 4px 18px rgba(0, 0, 0, 0.1);transform:translateY(-1px)}.accordion-card-list .accordion-item-open,.accordion-card .accordion-item-open{border-color:var(--selected-header-color, #10b981);box-shadow:0 8px 30px rgba(0, 0, 0, 0.15);transform:translateY(-2px)}.accordion-card-list .accordion-item,.accordion-card .accordion-item,.accordion-card-list .accordion-item:last-child,.accordion-card .accordion-item:last-child{border:1px solid #e8edf2}.accordion-card-list .accordion-header,.accordion-card .accordion-header{--button-padding:18px 0px;background:transparent;border-left:none !important}.accordion-card-list .accordion-header:hover:not(.accordion-header-disabled),.accordion-card .accordion-header:hover:not(.accordion-header-disabled){background:transparent}.accordion-card-list .accordion-item-open .accordion-header,.accordion-card .accordion-item-open .accordion-header{background:transparent;border-left:none !important}.accordion-card-list .accordion-icon,.accordion-card .accordion-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:12px;background:color-mix(in srgb, var(--selected-header-color, #10b981) 12%, transparent);color:var(--selected-header-color, #10b981);font-size:20px;flex-shrink:0;transition:background 0.2s ease}@supports not (background: color-mix(in srgb, red 10%, transparent)){.accordion-card-list .accordion-icon,.accordion-card .accordion-icon{background:rgba(16, 185, 129, 0.12)}}.accordion-card-list .accordion-item:hover .accordion-icon,.accordion-card .accordion-item:hover .accordion-icon{background:color-mix(in srgb, var(--selected-header-color, #10b981) 20%, transparent)}.accordion-card-list .accordion-title,.accordion-card .accordion-title{font-size:15px;font-weight:700;color:#1a202c;white-space:normal;}.accordion-card-list .accordion-subtitle,.accordion-card .accordion-subtitle{font-size:13px;color:#8a92a0;font-weight:400;white-space:normal}.accordion-card-list .accordion-header-text,.accordion-card .accordion-header-text{gap:3px}.accordion-card-list .accordion-arrow,.accordion-card .accordion-arrow{color:#c0c8d4;font-size:14px;margin-left:16px;transition:color 0.2s ease}.accordion-card-list .accordion-item:hover .accordion-arrow,.accordion-card .accordion-item:hover .accordion-arrow{color:var(--selected-header-color, #10b981)}.accordion-card-list .accordion-item-open .accordion-arrow,.accordion-card .accordion-item-open .accordion-arrow{color:var(--selected-header-color, #10b981)}.accordion-card-list .accordion-content,.accordion-card .accordion-content{background:#f8fafc;border-top:1px solid #edf1f6}.accordion-card-list .accordion-content-inner,.accordion-card .accordion-content-inner{padding:16px 20px 20px;color:#4a5568;font-size:14px;line-height:1.65}.accordion-card-list.accordion-sm .accordion-header,.accordion-card.accordion-sm .accordion-header{padding:14px 16px}.accordion-card-list.accordion-sm .accordion-icon,.accordion-card.accordion-sm .accordion-icon{width:36px;height:36px;min-width:36px;border-radius:10px;font-size:17px}.accordion-card-list.accordion-sm .accordion-title,.accordion-card.accordion-sm .accordion-title{font-size:14px}.accordion-card-list.accordion-lg .accordion-header,.accordion-card.accordion-lg .accordion-header{padding:22px 24px}.accordion-card-list.accordion-lg .accordion-icon,.accordion-card.accordion-lg .accordion-icon{width:52px;height:52px;min-width:52px;border-radius:14px;font-size:24px}.accordion-card-list.accordion-lg .accordion-title,.accordion-card.accordion-lg .accordion-title{font-size:17px}.accordion-card-list.accordion-icon-start .accordion-arrow.arrow-start,.accordion-card.accordion-icon-start .accordion-arrow.arrow-start{margin-right:16px;margin-left:0}.accordion-headline{background:transparent !important;border:none !important;box-shadow:none !important}.accordion-headline .accordion-item{border-bottom:1px solid #e5e7eb;margin-bottom:0;transition:all 0.25s ease}.accordion-headline .accordion-item:last-child{border-bottom:none}.accordion-headline .accordion-header{padding:var(--hl-padding, 32px 0);font-size:var(--hl-title-size, 28px);font-weight:700;color:#111827;background:transparent;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:24px;border-left:none !important;text-align:left}.accordion-headline .accordion-header:hover{background:transparent;color:var(--selected-header-color, #10b981)}.accordion-headline .accordion-header-content{flex:1;display:flex;flex-direction:row;align-items:flex-start;gap:16px}.accordion-headline .accordion-header-text{display:flex;flex-direction:column;gap:var(--hl-gap, 12px);flex:1;text-align:left}.accordion-headline .accordion-title{white-space:normal;font-size:var(--hl-title-size, 28px) !important;font-weight:700;line-height:1.2;text-align:left;color:#111827}.accordion-headline .accordion-subtitle{font-size:var(--hl-subtitle-size, 16px) !important;color:#4b5563;line-height:1.6;margin-top:4px;white-space:normal;max-width:90%;font-weight:400;text-align:left}.accordion-headline{}.accordion-headline .accordion-badge{background:#1f2937;color:white;width:22px;height:22px;min-width:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;order:2;margin-top:6px}.accordion-headline .accordion-arrow{font-size:calc(var(--hl-title-size, 28px) * 0.7);color:#111827;margin-top:6px;opacity:0.8}.accordion-headline .accordion-item-open .accordion-header{background:transparent;border-left:none;color:#111827}.accordion-headline .accordion-content{background:transparent}.accordion-headline .accordion-content-inner{padding:24px 0 40px 0;border-top:1px dashed var(--border-default, #e5e7eb);font-size:var(--hl-subtitle-size, 16px);color:var(--text-secondary, #4b5563);line-height:1.6;text-align:left}.accordion-arrow.arrow-start{margin-left:0;margin-right:12px;order:-1;}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.accordion-header:focus-visible{outline:2px solid #10b981;outline-offset:2px;z-index:10;}@media (max-width: 640px){.accordion-header{padding:12px 16px;font-size:14px}.accordion-content-inner{padding:12px 16px}.accordion-header-content{gap:8px}.accordion-badge{font-size:11px;padding:1px 6px}}.accordion-search{position:relative;padding:16px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.accordion-search-input{width:100%;padding:10px 40px 10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:all 0.2s ease}.accordion-search-input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.accordion-search-clear{position:absolute;right:28px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all 0.2s ease}.accordion-search-clear:hover{background-color:#e5e7eb;color:#374151}.search-highlight{background-color:#fef08a;color:#854d0e;padding:2px 4px;border-radius:2px;font-weight:600}.accordion-controls{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;flex-wrap:wrap}.accordion-control-button{padding:8px 16px;background-color:white;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all 0.2s ease;outline:none}.accordion-control-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.accordion-control-button:active:not(:disabled){background-color:#e5e7eb}.accordion-control-button:disabled{opacity:0.5;cursor:not-allowed}.accordion-control-button:focus{box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.accordion-header-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.accordion-subtitle{font-size:13px;color:#6b7280;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-actions{display:flex;gap:4px;margin-left:8px}.accordion-action-button{padding:6px 10px;background-color:transparent;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#374151;cursor:pointer;transition:all 0.2s ease;outline:none}.accordion-action-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.accordion-action-button:disabled{opacity:0.5;cursor:not-allowed}.accordion-action-button:focus{box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2)}.accordion-loading-spinner{font-size:16px;animation:spin 1s linear infinite;margin-left:8px}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.accordion-item-loading{opacity:0.7}.accordion-item-dragging{opacity:0.5;cursor:grabbing;transform:scale(0.98)}.accordion-item-drag-over{border-top:3px solid #10b981;background-color:#eff6ff}@keyframes accordion-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.accordion-item-shaking{animation:accordion-shake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;pointer-events:none}@keyframes accordion-success-pulse{0%{box-shadow:0 0 0 0 rgba(16, 185, 129, 0.4), 0 0 0 0 rgba(16, 185, 129, 0.2);background-color:rgba(16, 185, 129, 0.05)}50%{background-color:rgba(16, 185, 129, 0.1)}70%{box-shadow:0 0 0 15px rgba(16, 185, 129, 0), 0 0 0 30px rgba(16, 185, 129, 0)}100%{box-shadow:0 0 0 0 rgba(16, 185, 129, 0), 0 0 0 0 rgba(16, 185, 129, 0);background-color:transparent}}.accordion-item-success{border-color:#10b981 !important;animation:accordion-success-pulse 1s cubic-bezier(0.4, 0, 0.2, 1)}.accordion-item[draggable=true]{cursor:grab}.accordion-item[draggable=true]:active{cursor:grabbing}.accordion-nested-items{padding-left:0;background-color:transparent}.accordion-item-nested{margin-left:24px;position:relative;border-left:none;}.accordion-item-nested::before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:2px;background:linear-gradient(180deg, var(--selected-header-color, #10b981) 0%, rgba(229, 231, 235, 0.4) 100%);opacity:0.6;transition:all 0.3s ease}.accordion-item-nested{}.accordion-item-nested::after{content:"";position:absolute;left:-16px;top:24px;width:14px;height:2px;background:var(--selected-header-color, #10b981);opacity:0.3;border-radius:0 2px 2px 0}.accordion-item-nested{}.accordion-item-nested .accordion-header::before{content:"";position:absolute;left:-18px;top:22px;width:6px;height:6px;background:var(--selected-header-color, #10b981);border-radius:50%;opacity:0.5;z-index:2}.accordion-item-nested .accordion-header{padding-left:16px;font-size:15px;background-color:rgba(0, 0, 0, 0.015);border-radius:0 8px 8px 0;margin-top:2px;margin-bottom:2px}.accordion-item-nested .accordion-header:hover{background-color:rgba(0, 0, 0, 0.03)}.accordion-item-nested .accordion-nested-items .accordion-header{background-color:rgba(0, 0, 0, 0.025);font-size:14px}.accordion-header-custom{padding:16px 20px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.accordion-no-results{padding:32px 20px;text-align:center;color:#6b7280;font-size:14px}.accordion-no-results p{margin:0}.accordion-rtl{direction:rtl}.accordion-rtl .accordion-header{text-align:right}.accordion-rtl .accordion-arrow{margin-left:0;margin-right:12px}.accordion-rtl .accordion-arrow.arrow-start{margin-right:0;margin-left:12px}.accordion-rtl .accordion-item-open .accordion-header{border-left:none;border-right:3px solid var(--selected-header-color, #10b981)}.accordion-rtl .accordion-actions{margin-left:0;margin-right:8px}.accordion-dense .accordion-header{padding:10px 16px;font-size:14px}.accordion-dense .accordion-content-inner{padding:10px 16px;font-size:13px}.accordion-dense .accordion-search{padding:12px 16px}.accordion-dense .accordion-controls{padding:8px 16px}.accordion-dense .accordion-indicators{padding:12px 16px}.accordion-dense .accordion-indicator{width:28px;height:28px;font-size:12px}.accordion-dense .accordion-subtitle{font-size:12px}@media print{.accordion-print-expand-all .accordion-content{max-height:none !important;opacity:1 !important;display:block !important}.accordion-print-expand-all .accordion-item{page-break-inside:avoid}.accordion-search,.accordion-controls,.accordion-indicators{display:none !important}.accordion-arrow,.accordion-actions{display:none !important}.accordion-header{cursor:default;pointer-events:none}}.accordion-control-button:focus-visible,.accordion-action-button:focus-visible,.accordion-indicator:focus-visible{outline:2px solid #10b981;outline-offset:2px;border-radius:4px}.accordion-item,.accordion-header,.accordion-content,.accordion-action-button,.accordion-control-button{transition:all 0.2s ease}@media (prefers-reduced-motion: reduce){.accordion-content,.accordion-arrow,.accordion-item,.accordion-header,.accordion-loading-spinner{transition:none;animation:none}}.accordion-item-skeleton{padding:16px 20px;background:#fff}.skeleton-box{background:#e5e7eb;border-radius:4px;animation:skeleton-pulse 1.5s infinite ease-in-out}@keyframes skeleton-pulse{0%{opacity:0.6}50%{opacity:1}100%{opacity:0.6}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none}.accordion-status-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;margin-left:12px;flex-shrink:0}.accordion-status-badge.status-completed{color:#10b981;background:rgba(16, 185, 129, 0.1)}.accordion-status-badge.status-error{color:#ef4444;background:rgba(239, 68, 68, 0.1)}.accordion-status-badge.status-warning{color:#f59e0b;background:rgba(245, 158, 11, 0.1)}.accordion-status-badge.status-current{color:#3b82f6;background:rgba(59, 130, 246, 0.1)}.pulse-dot{width:8px;height:8px;background-color:#3b82f6;border-radius:50%;box-shadow:0 0 0 0 rgba(59, 130, 246, 0.7);animation:status-pulse 1.5s infinite}@keyframes status-pulse{0%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(59, 130, 246, 0.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(59, 130, 246, 0)}100%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(59, 130, 246, 0)}}.accordion-theme-glass{background:rgba(255, 255, 255, 0.4) !important;backdrop-filter:blur(12px) !important;border:1px solid rgba(255, 255, 255, 0.3) !important;box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.07) !important}.accordion-theme-glass .accordion-item{background:transparent;border-bottom:1px solid rgba(255, 255, 255, 0.1)}.accordion-theme-glass .accordion-header:hover{background:rgba(255, 255, 255, 0.2)}.accordion-theme-radiant{background:#0f172a !important;border:1px solid #1e293b !important;color:#f8fafc}.accordion-theme-radiant .accordion-item{border-bottom:1px solid #1e293b;background:transparent}.accordion-theme-radiant .accordion-header{color:#e2e8f0}.accordion-theme-radiant .accordion-header:hover{color:#38bdf8}.accordion-theme-radiant .accordion-item-open .accordion-header{background:linear-gradient(90deg, rgba(56, 189, 248, 0.05) 0%, transparent 100%);color:#38bdf8;box-shadow:inset 2px 0 0 #38bdf8}.accordion-theme-radiant .accordion-subtitle{color:#94a3b8}@media (min-width: 1024px){.accordion-columns-2{display:grid !important;grid-template-columns:1fr 1fr;gap:16px;border:none !important;background:transparent !important}.accordion-columns-2 .accordion-item{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:0 !important}}.accordion-item{perspective:1000px;transform-style:preserve-3d}.accordion-header{transform:translate3d(var(--parallax-x, 0), var(--parallax-y, 0), 0) rotateX(var(--rotate-x, 0)) rotateY(var(--rotate-y, 0));transition:transform 0.1s ease-out;will-change:transform}.accordion-header-indicators{display:flex;align-items:center;gap:12px}.accordion-actions{display:flex;align-items:center;gap:4px}.accordion-progress-ring{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-left:8px}.accordion-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.accordion-progress-ring .ring-bg{stroke:#e5e7eb}.accordion-progress-ring .ring-fg{stroke:#3b82f6;stroke-linecap:round;transition:stroke-dasharray 0.5s ease}.accordion-progress-ring .progress-text{position:absolute;font-size:8px;font-weight:700;color:var(--progress-text);letter-spacing:-0.02em}.accordion-icon,.accordion-badge,.accordion-status-badge{transform:translateZ(20px)}.accordion-title{transform:translateZ(10px)}.accordion-header-sticky{position:sticky;top:0;z-index:50;background:inherit;box-shadow:0 4px 12px rgba(0, 0, 0, 0.03)}.accordion-header-sticky::after{content:"";position:absolute;bottom:-10px;left:0;right:0;height:10px;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.02), transparent);pointer-events:none;opacity:1}.accordion-peek-snippet{display:block;font-size:13px;color:#94a3b8;font-style:italic;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;opacity:0.8;animation:peek-reveal 0.4s ease-out}@keyframes peek-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:0.8;transform:translateY(0)}}.accordion-bordered .accordion-header-sticky,.accordion-card .accordion-header-sticky{background:white;z-index:100}.accordion-theme-glass .accordion-header-sticky{background:rgba(255, 255, 255, 0.2);backdrop-filter:blur(12px)}.accordion-theme-radiant .accordion-header-sticky{background:#0f172a}.accordion-container{position:relative}.accordion-quick-actions{position:absolute;right:12px;top:50%;transform:translateY(-50%) translateX(10px);display:flex;gap:8px;opacity:0;pointer-events:none;transition:all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);background:rgba(255, 255, 255, 0.9);padding:4px 8px;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);z-index:20}.accordion-item:hover .accordion-quick-actions{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}.quick-action-btn{background:transparent;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;transition:all 0.2s ease}.quick-action-btn:hover{background:#f1f5f9;color:#3b82f6;transform:scale(1.1)}.accordion-search-heatmap{position:absolute;top:80px;bottom:0;right:-12px;width:4px;background:rgba(226, 232, 240, 0.5);border-radius:2px;pointer-events:none;z-index:50}.heatmap-marker{position:absolute;width:8px;height:8px;left:-2px;background:#3b82f6;border-radius:50%;box-shadow:0 0 8px rgba(59, 130, 246, 0.8);pointer-events:auto;cursor:pointer;transition:transform 0.2s ease}.heatmap-marker:hover{transform:scale(1.5);background:#2563eb}.accordion-theme-radiant .accordion-quick-actions{background:#1e293b;border-color:#334155;color:white}.accordion-theme-glass .accordion-quick-actions{background:rgba(255, 255, 255, 0.15);backdrop-filter:blur(8px);border-color:rgba(255, 255, 255, 0.3)}.accordion-lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(15, 23, 42, 0.95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:500;border-radius:inherit;backdrop-filter:blur(8px);animation:lock-fade-in 0.3s ease-out}.accordion-lock-overlay .lock-grid{display:grid;grid-template-columns:repeat(3, 40px);gap:20px;margin-bottom:24px}.accordion-lock-overlay .lock-dot{width:16px;height:16px;background:rgba(255, 255, 255, 0.2);border-radius:50%;cursor:pointer;transition:all 0.2s ease;box-shadow:0 0 10px rgba(0, 0, 0, 0.5)}.accordion-lock-overlay .lock-dot.active{background:#38bdf8;box-shadow:0 0 15px #38bdf8;transform:scale(1.3)}.accordion-lock-overlay .lock-hint{color:#94a3b8;font-size:14px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.1em}.accordion-lock-overlay .lock-cancel{background:transparent;border:1px solid #334155;color:#94a3b8;padding:6px 16px;border-radius:6px;cursor:pointer;transition:all 0.2s ease}.accordion-lock-overlay .lock-cancel:hover{border-color:#ef4444;color:#ef4444}@keyframes lock-fade-in{from{opacity:0;background:rgba(0, 0, 0, 0)}to{opacity:1;background:rgba(15, 23, 42, 0.95)}}.accordion-header-sparkline{opacity:0.7;color:#3b82f6;margin-left:8px}.accordion-header-sparkline polyline{stroke-dasharray:100;stroke-dashoffset:100;animation:spark-draw 1.5s ease-out forwards}@keyframes spark-draw{to{stroke-dashoffset:0}}.accordion-theme-radiant .accordion-header-sparkline{color:#38bdf8}.accordion-theme-glass .accordion-header-sparkline{color:#8b5cf6}.accordion-breadcrumbs{font-size:10px;text-transform:uppercase;letter-spacing:0.05em;color:#94a3b8;margin-bottom:4px;opacity:0.6;font-weight:700}.breadcrumb-node{transition:color 0.2s ease}.breadcrumb-node:hover{color:#3b82f6}@media print{.accordion-print-expand-all .accordion-content{display:block !important;max-height:none !important;opacity:1 !important;visibility:visible !important;overflow:visible !important;border-top:1px solid #e2e8f0}.accordion-print-expand-all .accordion-item{margin-bottom:20px !important;break-inside:avoid;border:1px solid #e2e8f0 !important;box-shadow:none !important;background:white !important}.accordion-print-expand-all{}.accordion-print-expand-all .accordion-arrow,.accordion-print-expand-all .accordion-search,.accordion-print-expand-all .accordion-controls,.accordion-print-expand-all .accordion-quick-actions,.accordion-print-expand-all .accordion-lock-overlay,.accordion-print-expand-all .accordion-search-heatmap,.accordion-print-expand-all .accordion-action-button{display:none !important}.accordion-print-expand-all .accordion-header{background:#f8fafc !important;color:black !important;padding:12px !important}.accordion-print-expand-all .accordion-header-sparkline{display:inline-block !important;opacity:1 !important}}@media print{.accordion-theme-radiant.accordion-print-expand-all,.accordion-theme-glass.accordion-print-expand-all{background:white !important;color:black !important}.accordion-theme-radiant.accordion-print-expand-all .accordion-header,.accordion-theme-glass.accordion-print-expand-all .accordion-header{color:black !important;background:#f1f5f9 !important}.accordion-theme-radiant.accordion-print-expand-all .accordion-title,.accordion-theme-glass.accordion-print-expand-all .accordion-title{color:black !important}}.accordion-portal-reader{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:white;display:flex;flex-direction:column;animation:portal-glide-up 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);padding:40px;overflow-y:auto}.accordion-portal-reader .portal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:24px;margin-bottom:40px}.accordion-portal-reader .portal-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.accordion-portal-reader .portal-title{font-size:32px;font-weight:800;letter-spacing:-0.02em;color:#0f172a}.accordion-portal-reader .portal-close-toggle::part(button){min-width:148px;padding:0.8rem 1rem;border-radius:999px;border:1px solid #cbd5e1;background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);color:#0f172a;box-shadow:0 10px 24px rgba(15, 23, 42, 0.08);font-weight:700}.accordion-portal-reader .portal-close{background:#f1f5f9;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease}.accordion-portal-reader .portal-close:hover{background:#ef4444;color:white;transform:rotate(90deg)}.accordion-portal-reader .portal-content{max-width:800px;margin:0 auto;width:100%}.accordion-portal-reader .portal-meta{text-transform:uppercase;font-size:12px;letter-spacing:0.1em;color:#64748b;font-weight:700;margin-bottom:24px}.accordion-portal-reader .portal-body{font-size:18px;line-height:1.8;color:#334155}.accordion-portal-reader .portal-body p{margin-bottom:1.5em}.accordion-collaborators{display:flex;margin-right:12px}.accordion-collaborators .presence-avatar{width:24px;height:24px;border-radius:50%;border:2px solid white;margin-left:-8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:white;box-shadow:0 0 10px rgba(0, 0, 0, 0.1);transition:transform 0.2s ease;cursor:pointer}.accordion-collaborators .presence-avatar:first-child{margin-left:0}.accordion-collaborators .presence-avatar:hover{transform:translateY(-4px) scale(1.1);z-index:10}.accordion-collaborators .presence-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.accordion-ai-briefing{position:absolute;top:100%;left:0;width:280px;background:white;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.1);z-index:100;opacity:0;pointer-events:none;transform:translateY(10px);transition:all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1)}.accordion-ai-briefing .briefing-list{margin:0;padding:0 0 0 16px;font-size:13px;line-height:1.6;color:#475569}.accordion-ai-briefing .briefing-list li{margin-bottom:8px}.accordion-title:hover+.accordion-ai-briefing{opacity:1;transform:translateY(0)}@keyframes portal-glide-up{from{transform:translateY(100vh);opacity:0}to{transform:translateY(0);opacity:1}}.accordion-theme-radiant .accordion-portal-reader{background:#0f172a}.accordion-theme-radiant .accordion-portal-reader .portal-title,.accordion-theme-radiant .accordion-portal-reader .portal-body{color:white}.accordion-theme-radiant .accordion-portal-reader .portal-header{border-color:#1e293b}.accordion-theme-radiant .accordion-portal-reader .portal-close{background:#1e293b;color:white}.accordion-theme-radiant .accordion-portal-reader .portal-close-toggle::part(button){background:linear-gradient(180deg, #1e293b 0%, #0f172a 100%);border-color:#334155;color:#e2e8f0;box-shadow:0 12px 30px rgba(2, 6, 23, 0.45)}.accordion-theme-radiant .accordion-ai-briefing{background:#1e293b;border-color:#334155;color:white}.accordion-theme-radiant .accordion-ai-briefing .briefing-list{color:#cbd5e1}.accordion-streaming-terminal{background:#020617;border-radius:8px;border:1px solid #1e293b;margin-bottom:20px;overflow:hidden;box-shadow:inset 0 0 20px rgba(0, 0, 0, 0.5)}.accordion-streaming-terminal .terminal-header{background:#1e293b;padding:6px 16px;font-size:10px;font-weight:800;color:#94a3b8;letter-spacing:0.1em}.accordion-streaming-terminal .terminal-body{height:180px;overflow-y:auto;padding:12px;font-family:"JetBrains Mono", "Fira Code", monospace;font-size:11px;line-height:1.5;scroll-behavior:smooth}.accordion-streaming-terminal .terminal-line{display:flex;gap:12px;margin-bottom:4px;border-left:2px solid transparent;transition:all 0.2s ease}.accordion-streaming-terminal .terminal-line:hover{background:rgba(255, 255, 255, 0.05);border-left-color:#3b82f6}.accordion-streaming-terminal .line-timestamp{color:#64748b;white-space:nowrap}.accordion-streaming-terminal .line-msg{color:#cbd5e1;word-break:break-all}.quick-action-btn.voice-btn.active{background:#ef4444 !important;color:white !important;animation:voice-pulse 1.5s infinite ease-in-out;box-shadow:0 0 15px #ef4444}@keyframes voice-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:0.7}100%{transform:scale(1);opacity:1}}.accordion-teleport-link{background:rgba(59, 130, 246, 0.1);border:1px solid rgba(59, 130, 246, 0.2);color:#3b82f6;font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;margin-left:8px;transition:all 0.2s ease}.accordion-teleport-link:hover{background:#3b82f6;color:white}.accordion-item{transition:transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.6s ease;transform-origin:top center}.accordion-container.accordion-boxed{border:none;background:transparent;display:flex;flex-direction:column;gap:12px;overflow:visible}.accordion-container.accordion-boxed .accordion-item{border:1px solid rgba(255, 255, 255, 0.08);border-radius:20px;background:#252627;box-shadow:0 4px 20px rgba(0, 0, 0, 0.2);transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);margin-bottom:0;overflow:hidden}.accordion-container.accordion-boxed .accordion-item:hover:not(.accordion-item-disabled){box-shadow:0 8px 30px rgba(0, 0, 0, 0.3);transform:translateY(-2px);border-color:rgba(255, 255, 255, 0.15)}.accordion-container.accordion-boxed .accordion-item-open{border-color:rgba(235, 255, 0, 0.4);box-shadow:0 12px 40px rgba(0, 0, 0, 0.4)}.accordion-container.accordion-boxed .accordion-header{background:transparent;padding:20px 24px;color:#ffffff}.accordion-container.accordion-boxed .accordion-header::part(button){padding:20px 24px !important}.accordion-container.accordion-boxed .accordion-title{color:#ffffff;font-size:18px;font-weight:700}.accordion-container.accordion-boxed .accordion-subtitle{color:#a0a5ad}.accordion-container.accordion-boxed .accordion-arrow-wrapper{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background-color:#ebff00;color:#121314;box-shadow:0 0 10px rgba(235, 255, 0, 0.3);transition:all 0.3s ease;flex-shrink:0}.accordion-container.accordion-boxed .accordion-arrow-wrapper .accordion-arrow{color:#121314;opacity:1;font-weight:800;transition:transform 0.3s ease}.accordion-container.accordion-boxed .accordion-item:hover .accordion-arrow-wrapper{transform:scale(1.1);box-shadow:0 0 15px rgba(235, 255, 0, 0.6)}.accordion-container.accordion-boxed .accordion-content{background:#1e1f20;border-top:1px solid rgba(255, 255, 255, 0.05)}.accordion-container.accordion-boxed .accordion-content-inner{color:#e2e8f0;padding:20px 24px;font-size:15px;line-height:1.7}.accordion-container.accordion-minimal{border:none;background:transparent}.accordion-container.accordion-minimal .accordion-item{border-bottom:1px solid rgba(0, 0, 0, 0.06);background:transparent;border-radius:0;box-shadow:none;margin-bottom:0}.accordion-container.accordion-minimal .accordion-item:last-child{border-bottom:none}.accordion-container.accordion-minimal .accordion-header{padding:20px 0;background:transparent;color:#1e293b}.accordion-container.accordion-minimal .accordion-header:hover{color:var(--selected-header-color, #10b981)}.accordion-container.accordion-minimal .accordion-title{color:inherit;font-size:16px;font-weight:600;transition:color 0.2s ease}.accordion-container.accordion-minimal .accordion-subtitle{color:#64748b;margin-top:4px}.accordion-container.accordion-minimal .accordion-arrow{color:#64748b;opacity:0.7;font-size:14px}.accordion-container.accordion-minimal .accordion-item-open .accordion-header{background-color:transparent !important;color:var(--selected-header-color, #10b981)}.accordion-container.accordion-minimal .accordion-content{background:transparent}.accordion-container.accordion-minimal .accordion-content-inner{padding:0 0 20px 0;color:#475569;font-size:14px;line-height:1.6}.accordion-container.accordion-left-toggle{border:none;background:transparent;display:flex;flex-direction:column;gap:8px}.accordion-container.accordion-left-toggle .accordion-item{border-bottom:1px solid rgba(0, 0, 0, 0.06);background:transparent;border-radius:0;box-shadow:none;margin-bottom:0}.accordion-container.accordion-left-toggle .accordion-item:last-child{border-bottom:none}.accordion-container.accordion-left-toggle .accordion-header{padding:16px 0;background:transparent;color:#0f172a}.accordion-container.accordion-left-toggle .accordion-title{color:#0f172a;font-size:16px;font-weight:600}.accordion-container.accordion-left-toggle .accordion-subtitle{color:#64748b}.accordion-container.accordion-left-toggle .accordion-arrow-wrapper{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:#0f172a;color:#ffffff;transition:all 0.2s ease;margin-right:12px;flex-shrink:0;order:-1}.accordion-container.accordion-left-toggle .accordion-arrow-wrapper .accordion-arrow{color:#ffffff;opacity:1;font-size:11px}.accordion-container.accordion-left-toggle .accordion-item:hover .accordion-arrow-wrapper{background-color:var(--selected-header-color, #10b981);transform:scale(1.08)}.accordion-container.accordion-left-toggle .accordion-item-open .accordion-arrow-wrapper{background-color:#0f172a}.accordion-container.accordion-left-toggle .accordion-content{background:transparent}.accordion-container.accordion-left-toggle .accordion-content-inner{padding:8px 0 20px 40px;color:#475569;font-size:14px;line-height:1.6}.accordion-container.accordion-iconic{border:none;background:transparent;display:flex;flex-direction:column;gap:16px}.accordion-container.accordion-iconic .accordion-item{border:1px solid #f1f5f9;border-radius:16px;background:#ffffff;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);transition:all 0.25s ease;overflow:hidden}.accordion-container.accordion-iconic .accordion-item:hover:not(.accordion-item-disabled){box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.05);border-color:#e2e8f0}.accordion-container.accordion-iconic .accordion-header{padding:20px 24px;background:transparent}.accordion-container.accordion-iconic .accordion-title{font-size:16px;font-weight:700;color:#1e293b}.accordion-container.accordion-iconic .accordion-subtitle{color:#64748b;font-size:13px}.accordion-container.accordion-iconic .accordion-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;font-size:22px;margin-right:16px;flex-shrink:0;transition:transform 0.2s ease;background-color:rgba(99, 102, 241, 0.1);color:#6366f1}.accordion-container.accordion-iconic .accordion-item:hover .accordion-icon{transform:scale(1.05)}.accordion-container.accordion-iconic .accordion-arrow-wrapper{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:#f8fafc;border:1px solid #e2e8f0;color:#64748b;transition:all 0.2s ease;flex-shrink:0}.accordion-container.accordion-iconic .accordion-arrow-wrapper .accordion-arrow{color:#64748b;opacity:0.8;font-size:11px}.accordion-container.accordion-iconic .accordion-item:hover .accordion-arrow-wrapper{background-color:#6366f1;border-color:#6366f1;color:#ffffff}.accordion-container.accordion-iconic .accordion-item:hover .accordion-arrow-wrapper .accordion-arrow{color:#ffffff;opacity:1}.accordion-container.accordion-iconic .accordion-content{background:#f8fafc;border-top:1px solid #f1f5f9}.accordion-container.accordion-iconic .accordion-content-inner{padding:24px;color:#334155;font-size:14px;line-height:1.6}.accordion-container.accordion-iconic .accordion-item:nth-child(1) .accordion-icon{background-color:rgba(99, 102, 241, 0.1);color:#6366f1}.accordion-container.accordion-iconic .accordion-item:nth-child(2) .accordion-icon{background-color:rgba(239, 68, 68, 0.1);color:#ef4444}.accordion-container.accordion-iconic .accordion-item:nth-child(3) .accordion-icon{background-color:rgba(16, 185, 129, 0.1);color:#10b981}.accordion-container.accordion-iconic .accordion-item:nth-child(4) .accordion-icon{background-color:rgba(59, 130, 246, 0.1);color:#3b82f6}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-container,:host-context([data-theme=dark]) .accordion-container,:host(.dark) .accordion-container,:host([data-theme=dark]) .accordion-container{background-color:var(--accordion-bg, #1e293b);border-color:var(--accordion-border-color, #334155)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-search,:host-context([data-theme=dark]) .accordion-search,:host(.dark) .accordion-search,:host([data-theme=dark]) .accordion-search{background-color:#0f172a;border-bottom-color:#334155}:host-context(.dark) .accordion-search-clear:hover,:host-context([data-theme=dark]) .accordion-search-clear:hover,:host(.dark) .accordion-search-clear:hover,:host([data-theme=dark]) .accordion-search-clear:hover{background-color:#334155;color:#f8fafc}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-indicators,:host-context([data-theme=dark]) .accordion-indicators,:host(.dark) .accordion-indicators,:host([data-theme=dark]) .accordion-indicators{background-color:#0f172a;border-color:#334155}:host-context(.dark) .accordion-indicator,:host-context([data-theme=dark]) .accordion-indicator,:host(.dark) .accordion-indicator,:host([data-theme=dark]) .accordion-indicator{background-color:#1e293b;border-color:#475569;color:#94a3b8}:host-context(.dark) .accordion-indicator:hover:not(.accordion-indicator-disabled),:host-context([data-theme=dark]) .accordion-indicator:hover:not(.accordion-indicator-disabled),:host(.dark) .accordion-indicator:hover:not(.accordion-indicator-disabled),:host([data-theme=dark]) .accordion-indicator:hover:not(.accordion-indicator-disabled){background-color:rgba(16, 185, 129, 0.15)}:host-context(.dark) .accordion-indicator-active,:host-context([data-theme=dark]) .accordion-indicator-active,:host(.dark) .accordion-indicator-active,:host([data-theme=dark]) .accordion-indicator-active{background-color:rgba(16, 185, 129, 0.15)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-item,:host-context([data-theme=dark]) .accordion-item,:host(.dark) .accordion-item,:host([data-theme=dark]) .accordion-item{border-color:var(--accordion-border-color, #334155)}:host-context(.dark) .accordion-header,:host-context([data-theme=dark]) .accordion-header,:host(.dark) .accordion-header,:host([data-theme=dark]) .accordion-header{color:#f8fafc}:host-context(.dark) .accordion-item-open .accordion-header,:host-context([data-theme=dark]) .accordion-item-open .accordion-header,:host(.dark) .accordion-item-open .accordion-header,:host([data-theme=dark]) .accordion-item-open .accordion-header{background-color:rgba(16, 185, 129, 0.1)}:host-context(.dark) .accordion-header:active:not(.accordion-header-disabled),:host-context([data-theme=dark]) .accordion-header:active:not(.accordion-header-disabled),:host(.dark) .accordion-header:active:not(.accordion-header-disabled),:host([data-theme=dark]) .accordion-header:active:not(.accordion-header-disabled){background-color:#334155}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-title,:host-context([data-theme=dark]) .accordion-title,:host(.dark) .accordion-title,:host([data-theme=dark]) .accordion-title{color:#f8fafc}:host-context(.dark) .accordion-subtitle,:host-context([data-theme=dark]) .accordion-subtitle,:host(.dark) .accordion-subtitle,:host([data-theme=dark]) .accordion-subtitle{color:#94a3b8}:host-context(.dark) .accordion-icon,:host-context([data-theme=dark]) .accordion-icon,:host(.dark) .accordion-icon,:host([data-theme=dark]) .accordion-icon{color:#94a3b8}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-content,:host-context([data-theme=dark]) .accordion-content,:host(.dark) .accordion-content,:host([data-theme=dark]) .accordion-content{background-color:var(--accordion-content-bg, #0f172a)}:host-context(.dark) .accordion-content-inner,:host-context([data-theme=dark]) .accordion-content-inner,:host(.dark) .accordion-content-inner,:host([data-theme=dark]) .accordion-content-inner{color:#cbd5e1}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .accordion-container.accordion-splitted .accordion-item,:host-context([data-theme=dark]) .accordion-container.accordion-splitted .accordion-item,:host(.dark) .accordion-container.accordion-splitted .accordion-item,:host([data-theme=dark]) .accordion-container.accordion-splitted .accordion-item{background:#1e293b;border-color:#334155;box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}:host-context(.dark) .accordion-container.accordion-card-list .accordion-item,:host-context(.dark) .accordion-container.accordion-card .accordion-item,:host-context([data-theme=dark]) .accordion-container.accordion-card-list .accordion-item,:host-context([data-theme=dark]) .accordion-container.accordion-card .accordion-item,:host(.dark) .accordion-container.accordion-card-list .accordion-item,:host(.dark) .accordion-container.accordion-card .accordion-item,:host([data-theme=dark]) .accordion-container.accordion-card-list .accordion-item,:host([data-theme=dark]) .accordion-container.accordion-card .accordion-item{background:#1e293b;border-color:#334155}:host-context(.dark) .accordion-container.accordion-card-list .accordion-title,:host-context(.dark) .accordion-container.accordion-card .accordion-title,:host-context([data-theme=dark]) .accordion-container.accordion-card-list .accordion-title,:host-context([data-theme=dark]) .accordion-container.accordion-card .accordion-title,:host(.dark) .accordion-container.accordion-card-list .accordion-title,:host(.dark) .accordion-container.accordion-card .accordion-title,:host([data-theme=dark]) .accordion-container.accordion-card-list .accordion-title,:host([data-theme=dark]) .accordion-container.accordion-card .accordion-title{color:#f8fafc}:host-context(.dark) .accordion-container.accordion-card-list .accordion-subtitle,:host-context(.dark) .accordion-container.accordion-card .accordion-subtitle,:host-context([data-theme=dark]) .accordion-container.accordion-card-list .accordion-subtitle,:host-context([data-theme=dark]) .accordion-container.accordion-card .accordion-subtitle,:host(.dark) .accordion-container.accordion-card-list .accordion-subtitle,:host(.dark) .accordion-container.accordion-card .accordion-subtitle,:host([data-theme=dark]) .accordion-container.accordion-card-list .accordion-subtitle,:host([data-theme=dark]) .accordion-container.accordion-card .accordion-subtitle{color:#94a3b8}:host-context(.dark) .accordion-container.accordion-card-list .accordion-content,:host-context(.dark) .accordion-container.accordion-card .accordion-content,:host-context([data-theme=dark]) .accordion-container.accordion-card-list .accordion-content,:host-context([data-theme=dark]) .accordion-container.accordion-card .accordion-content,:host(.dark) .accordion-container.accordion-card-list .accordion-content,:host(.dark) .accordion-container.accordion-card .accordion-content,:host([data-theme=dark]) .accordion-container.accordion-card-list .accordion-content,:host([data-theme=dark]) .accordion-container.accordion-card .accordion-content{background:#0f172a;border-top-color:#334155}:host-context(.dark) .accordion-container.accordion-headline .accordion-header,:host-context([data-theme=dark]) .accordion-container.accordion-headline .accordion-header,:host(.dark) .accordion-container.accordion-headline .accordion-header,:host([data-theme=dark]) .accordion-container.accordion-headline .accordion-header{color:#f8fafc}:host-context(.dark) .accordion-container.accordion-headline .accordion-title,:host-context([data-theme=dark]) .accordion-container.accordion-headline .accordion-title,:host(.dark) .accordion-container.accordion-headline .accordion-title,:host([data-theme=dark]) .accordion-container.accordion-headline .accordion-title{color:#f8fafc !important}:host-context(.dark) .accordion-container.accordion-headline .accordion-subtitle,:host-context([data-theme=dark]) .accordion-container.accordion-headline .accordion-subtitle,:host(.dark) .accordion-container.accordion-headline .accordion-subtitle,:host([data-theme=dark]) .accordion-container.accordion-headline .accordion-subtitle{color:#94a3b8 !important}:host-context(.dark) .accordion-container.accordion-iconic .accordion-item,:host-context([data-theme=dark]) .accordion-container.accordion-iconic .accordion-item,:host(.dark) .accordion-container.accordion-iconic .accordion-item,:host([data-theme=dark]) .accordion-container.accordion-iconic .accordion-item{background:#1e293b;border-color:#334155}:host-context(.dark) .accordion-container.accordion-iconic .accordion-title,:host-context([data-theme=dark]) .accordion-container.accordion-iconic .accordion-title,:host(.dark) .accordion-container.accordion-iconic .accordion-title,:host([data-theme=dark]) .accordion-container.accordion-iconic .accordion-title{color:#f8fafc}:host-context(.dark) .accordion-container.accordion-iconic .accordion-subtitle,:host-context([data-theme=dark]) .accordion-container.accordion-iconic .accordion-subtitle,:host(.dark) .accordion-container.accordion-iconic .accordion-subtitle,:host([data-theme=dark]) .accordion-container.accordion-iconic .accordion-subtitle{color:#94a3b8}:host-context(.dark) .accordion-container.accordion-iconic .accordion-content,:host-context([data-theme=dark]) .accordion-container.accordion-iconic .accordion-content,:host(.dark) .accordion-container.accordion-iconic .accordion-content,:host([data-theme=dark]) .accordion-container.accordion-iconic .accordion-content{background:#0f172a;border-top-color:#334155}:host-context(.dark) .accordion-container.accordion-minimal .accordion-header,:host-context([data-theme=dark]) .accordion-container.accordion-minimal .accordion-header,:host(.dark) .accordion-container.accordion-minimal .accordion-header,:host([data-theme=dark]) .accordion-container.accordion-minimal .accordion-header{color:#f8fafc}:host-context(.dark) .accordion-container.accordion-minimal .accordion-title,:host-context([data-theme=dark]) .accordion-container.accordion-minimal .accordion-title,:host(.dark) .accordion-container.accordion-minimal .accordion-title,:host([data-theme=dark]) .accordion-container.accordion-minimal .accordion-title{color:#f8fafc}:host-context(.dark) .accordion-container.accordion-minimal .accordion-arrow-wrapper,:host-context([data-theme=dark]) .accordion-container.accordion-minimal .accordion-arrow-wrapper,:host(.dark) .accordion-container.accordion-minimal .accordion-arrow-wrapper,:host([data-theme=dark]) .accordion-container.accordion-minimal .accordion-arrow-wrapper{background-color:#334155;border-color:#475569}:host-context(.dark) .accordion-container.accordion-minimal .accordion-item-open .accordion-arrow-wrapper,:host-context([data-theme=dark]) .accordion-container.accordion-minimal .accordion-item-open .accordion-arrow-wrapper,:host(.dark) .accordion-container.accordion-minimal .accordion-item-open .accordion-arrow-wrapper,:host([data-theme=dark]) .accordion-container.accordion-minimal .accordion-item-open .accordion-arrow-wrapper{background-color:#1e293b}`;
|
|
9
9
|
|
|
10
10
|
const Accordion = class {
|
|
11
11
|
constructor(hostRef) {
|
|
@@ -51,7 +51,7 @@ const Accordion = class {
|
|
|
51
51
|
/**
|
|
52
52
|
* Background color of the accordion
|
|
53
53
|
*/
|
|
54
|
-
backgroundColor = '
|
|
54
|
+
backgroundColor = '';
|
|
55
55
|
/**
|
|
56
56
|
* Enable haptic feedback on interaction
|
|
57
57
|
*/
|
|
@@ -85,11 +85,19 @@ const Accordion = class {
|
|
|
85
85
|
*/
|
|
86
86
|
selectionPosition = 'left';
|
|
87
87
|
/**
|
|
88
|
-
* Accordion variant: 'default' | 'bordered' | 'splitted' | 'light' | 'shadow' | 'card' | 'card-list' | 'headline'
|
|
88
|
+
* Accordion variant: 'default' | 'bordered' | 'splitted' | 'light' | 'shadow' | 'card' | 'card-list' | 'headline' | 'boxed' | 'minimal' | 'left-toggle' | 'iconic'
|
|
89
89
|
* Use 'card' or 'card-list' for a separated card layout with icon pills and a right-chevron.
|
|
90
90
|
* Use 'headline' for a minimalist, high-impact typography-first layout.
|
|
91
|
+
* Use 'boxed' for dark individual cards with glowing yellow action badges.
|
|
92
|
+
* Use 'minimal' for border-bottom separators and clean typography.
|
|
93
|
+
* Use 'left-toggle' for a left plus-minus toggle structure.
|
|
94
|
+
* Use 'iconic' for custom left status/brand icons with micro plus-minus toggles.
|
|
91
95
|
*/
|
|
92
96
|
variant = 'default';
|
|
97
|
+
/**
|
|
98
|
+
* Toggle icon style: 'chevron' | 'plus-minus'
|
|
99
|
+
*/
|
|
100
|
+
toggleStyle = 'chevron';
|
|
93
101
|
/**
|
|
94
102
|
* Size of the accordion: 'sm' | 'md' | 'lg'
|
|
95
103
|
*/
|
|
@@ -1099,14 +1107,18 @@ const Accordion = class {
|
|
|
1099
1107
|
if (el)
|
|
1100
1108
|
this.itemRefs.set(item.id, el);
|
|
1101
1109
|
} }, item.headerSlot ? (index.h("div", { class: "accordion-header-custom", role: "heading", "aria-level": currentHeaderLevel }, index.h("slot", { name: item.headerSlot }))) : (index.h(HeaderTag, { style: { margin: 0, padding: 0 } }, index.h("ui-button", { variant: "accordion", class: headerClasses, onClick: (e) => this.toggleItem(item.id, e), disabled: isDisabled, fullWidth: true, "icon-position": "none", align: "start", justify: "between", noRipple: true, "aria-expanded": isOpen ? 'true' : 'false', "aria-controls": `accordion-content-${item.id}`, ariaLabel: `${isOpen ? 'Close' : 'Open'} ${item.title}`, tabindex: isDisabled ? -1 : 0 }, index.h("div", { class: "accordion-header-content" }, index.h("div", { class: "accordion-header-left" }, this.iconPosition === 'start' && !this.hideArrow && (() => {
|
|
1102
|
-
const arrowName =
|
|
1110
|
+
const arrowName = this.toggleStyle === 'plus-minus'
|
|
1111
|
+
? (isOpen ? 'minus' : 'plus')
|
|
1112
|
+
: (isOpen ? this.arrowIconExpanded : this.arrowIconCollapsed);
|
|
1103
1113
|
const arrowLib = this.iconLibrary;
|
|
1104
|
-
return (index.h("ui-icon", { name: arrowName, library: arrowLib, size: "1.2em", class: "accordion-arrow arrow-start" }));
|
|
1114
|
+
return (index.h("div", { class: "accordion-arrow-wrapper" }, index.h("ui-icon", { name: arrowName, library: arrowLib, size: "1.2em", class: "accordion-arrow arrow-start" })));
|
|
1105
1115
|
})(), item.image && (index.h("img", { src: item.image, alt: "", class: "accordion-image" })), item.icon && (index.h("span", { class: "accordion-icon" }, index.h("ui-icon", { name: item.icon, library: item.iconLibrary || this.iconLibrary, size: "1.2em" }))), index.h("div", { class: "accordion-header-text" }, this.showBreadcrumbs && parentTitles.length > 0 && (index.h("div", { class: "accordion-breadcrumbs" }, parentTitles.map((p, i) => (index.h("span", { class: "breadcrumb-node" }, p, " ", i < parentTitles.length - 1 ? ' > ' : ''))))), index.h("div", { class: "accordion-title-group" }, index.h("div", { class: "accordion-title", innerHTML: security.sanitizeHTML(this.enableSearch ? this.highlightSearchText(item.title) : item.title) }), item.subtitle && (index.h("div", { class: "accordion-subtitle", innerHTML: security.sanitizeHTML(this.enableSearch ? this.highlightSearchText(item.subtitle) : item.subtitle) })), this.renderSparkline(item.sparkline ?? []), this.renderAIBriefing(item), this.renderTeleportLink(item)), item.peek && !isOpen && !this.searchQuery && (index.h("span", { class: "accordion-peek-snippet", innerHTML: security.sanitizeHTML(item.peek) })))), index.h("div", { class: "accordion-header-right" }, index.h("div", { class: "accordion-header-indicators" }, this.renderPresence(item), this.renderQuickActions(item), item.progress !== undefined && item.progress >= 0 && (index.h("div", { class: "accordion-progress-ring" }, index.h("svg", { viewBox: "0 0 36 36" }, index.h("circle", { cx: "18", cy: "18", r: "16", fill: "none", class: "ring-bg", "stroke-width": "3" }), index.h("circle", { cx: "18", cy: "18", r: "16", fill: "none", class: "ring-fg", "stroke-width": "3", style: { strokeDasharray: `${item.progress}, 100` } })), index.h("span", { class: "progress-text" }, item.progress, "%"))), item.status && item.status !== 'none' && (index.h("div", { class: `accordion-status-badge status-${item.status}` }, item.status === 'completed' && index.h("ui-icon", { name: "check", library: this.iconLibrary, size: "14px" }), item.status === 'error' && index.h("ui-icon", { name: "alert-circle", library: this.iconLibrary, size: "14px" }), item.status === 'warning' && index.h("ui-icon", { name: "alert-triangle", library: this.iconLibrary, size: "14px" }), item.status === 'current' && index.h("div", { class: "pulse-dot" })))), item.badge !== undefined && item.badge > 0 && (index.h("span", { class: "accordion-badge" }, item.badge)), item.actions && item.actions.length > 0 && (index.h("div", { class: "accordion-actions" }, item.actions.map(action => (index.h("ui-button", { key: action.id, variant: action.variant || 'ghost', size: "xs", iconOnly: !!action.icon, icon: action.icon, iconLibrary: action.iconLibrary || item.iconLibrary || this.iconLibrary, iconSize: "1.1em", label: action.icon ? undefined : action.label, ariaLabel: action.ariaLabel || action.label, disabled: action.disabled, onClick: (e) => this.handleActionClick(item.id, action.id, action, e) }))))), item.loading && (index.h("ui-loader", { size: "xs", color: "currentColor", class: "accordion-loading-spinner" })), this.iconPosition === 'end' && !this.hideArrow && (() => {
|
|
1106
1116
|
// const isCardList = this.variant === 'card-list' || this.variant === 'card';
|
|
1107
|
-
const arrowName =
|
|
1117
|
+
const arrowName = this.toggleStyle === 'plus-minus'
|
|
1118
|
+
? (isOpen ? 'minus' : 'plus')
|
|
1119
|
+
: (isOpen ? this.arrowIconExpanded : this.arrowIconCollapsed);
|
|
1108
1120
|
const arrowLib = this.iconLibrary;
|
|
1109
|
-
return (index.h("ui-icon", { name: arrowName, library: arrowLib, size: "1.2em", class: "accordion-arrow" }));
|
|
1121
|
+
return (index.h("div", { class: "accordion-arrow-wrapper" }, index.h("ui-icon", { name: arrowName, library: arrowLib, size: "1.2em", class: "accordion-arrow" })));
|
|
1110
1122
|
})()))))), (() => {
|
|
1111
1123
|
// God-tier Lazy Logic:
|
|
1112
1124
|
// 1. If not lazy, always render.
|
|
@@ -1164,10 +1176,11 @@ const Accordion = class {
|
|
|
1164
1176
|
return this.enableSearch && this.searchQuery ? this.filteredItems : result;
|
|
1165
1177
|
};
|
|
1166
1178
|
const itemsToRender = getFinalItems(this.parsedItems);
|
|
1167
|
-
const containerStyles = {
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1179
|
+
const containerStyles = {};
|
|
1180
|
+
if (this.backgroundColor) {
|
|
1181
|
+
containerStyles['--accordion-bg'] = this.backgroundColor;
|
|
1182
|
+
containerStyles.backgroundColor = `var(--accordion-bg)`;
|
|
1183
|
+
}
|
|
1171
1184
|
return (index.h(index.Host, { class: {
|
|
1172
1185
|
'accordion-host': true,
|
|
1173
1186
|
'is-open': this.openItems.length > 0,
|
|
@@ -1217,7 +1230,7 @@ const Accordion = class {
|
|
|
1217
1230
|
};
|
|
1218
1231
|
Accordion.style = accordionCss();
|
|
1219
1232
|
|
|
1220
|
-
const avatarCss = () => `.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:inline-flex;vertical-align:middle}:host *{box-sizing:border-box}:host{transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}.avatar-container,.avatar-link{position:relative;display:inline-block;text-decoration:none}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;background-color:var(--bg-secondary, #ccc);color:var(--text-standard, #ffffff);font-weight:600;overflow:visible;white-space:nowrap;text-align:center;vertical-align:middle;user-select:none;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}.avatar.avatar-hovered{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 20px rgba(0, 0, 0, 0.15)}.avatar.avatar-hovered.avatar-3d{transform:perspective(500px) rotateX(10deg) rotateY(10deg) translateY(-4px)}.avatar-circle{border-radius:50%}.avatar-square{border-radius:8px}.avatar-hexagon{clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);border-radius:0}.avatar-squircle{border-radius:35%}.avatar-circle img,.avatar-circle .avatar-string,.avatar-circle .avatar-icon,.avatar-hexagon img,.avatar-hexagon .avatar-string,.avatar-hexagon .avatar-icon,.avatar-squircle img,.avatar-squircle .avatar-string,.avatar-squircle .avatar-icon{border-radius:inherit;overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:opacity 0.3s ease}.avatar-xs{width:24px;height:24px;line-height:24px;font-size:10px}.avatar-sm,.avatar-s{width:32px;height:32px;line-height:32px;font-size:12px}.avatar-default,.avatar-m{width:40px;height:40px;line-height:40px;font-size:16px}.avatar-lg,.avatar-l{width:48px;height:48px;line-height:48px;font-size:20px}.avatar-xl{width:64px;height:64px;line-height:64px;font-size:28px}.avatar-string{position:absolute;left:50%;transform:translateX(-50%);display:inline-block;white-space:nowrap}.avatar-icon{font-size:1.2em;display:flex;align-items:center;justify-content:center}.avatar-status{position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid var(--border-subtle, #fff);z-index:5;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.avatar-status.avatar-status-top-right{top:0;right:0}.avatar-status.avatar-status-top-left{top:0;left:0}.avatar-status.avatar-status-bottom-right{bottom:0;right:0}.avatar-status.avatar-status-bottom-left{bottom:0;left:0}.avatar-status.avatar-status-online{background-color:var(--color-success, #22c55e)}.avatar-status.avatar-status-offline{background-color:transparent;border-color:var(--color-primary, #94a3b8)}.avatar-status.avatar-status-offline::after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--bg-primary, #ffffff);z-index:-1}.avatar-status.avatar-status-away{background-color:var(--color-warning, #f59e0b);clip-path:polygon(100% 0%, 100% 100%, 0% 100%, 0% 0%, 50% 50%);border:none}.avatar-status.avatar-status-busy,.avatar-status.avatar-status-dnd{background-color:var(--color-danger, #ef4444)}.avatar-status.avatar-status-busy::before,.avatar-status.avatar-status-dnd::before{content:"";position:absolute;top:50%;left:50%;width:6px;height:1.5px;background:var(--bg-primary, #ffffff);transform:translate(-50%, -50%)}.avatar-badge{position:absolute;min-width:18px;height:18px;line-height:18px;text-align:center;font-size:10px;font-weight:bold;color:var(--text-standard, #ffffff);border:2px solid var(--border-subtle, #fff);z-index:6;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.avatar-badge.avatar-badge-circle{border-radius:50%}.avatar-badge.avatar-badge-pill{padding:0 5px;border-radius:10px}.avatar-badge.avatar-badge-top-right{top:-4px;right:-4px}.avatar-badge.avatar-badge-top-left{top:-4px;left:-4px}.avatar-badge.avatar-badge-bottom-right{bottom:-4px;right:-4px}.avatar-badge.avatar-badge-bottom-left{bottom:-4px;left:-4px}.avatar-tooltip{position:absolute;bottom:110%;left:50%;transform:translateX(-50%);background:rgba(0, 0, 0, 0.85);color:var(--text-standard, #ffffff);padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:100;pointer-events:none;box-shadow:0 4px 10px rgba(0, 0, 0, 0.2)}.avatar-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:rgba(0, 0, 0, 0.85)}.avatar-skeleton{background:var(--bg-primary, #eee);position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit}.avatar-skeleton .skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);animation:shimmer 1.5s infinite}.avatar-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255, 255, 255, 0.8);display:flex;align-items:center;justify-content:center;z-index:4;border-radius:inherit}.avatar-edit-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.5);opacity:0;transition:0.2s;display:flex;align-items:center;justify-content:center;z-index:3;border-radius:inherit;color:var(--text-standard, #ffffff)}.avatar:hover .avatar-edit-overlay{opacity:1}.avatar-glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255, 255, 255, 0.1) !important;border:1px solid rgba(255, 255, 255, 0.2) !important}.avatar-reflection .reflection-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, transparent 50%);pointer-events:none}.avatar-verified{position:absolute;bottom:0;right:0;width:16px;height:16px;background:var(--color-primary, #1890ff);color:var(--text-standard, #ffffff);border-radius:50%;border:2px solid var(--border-subtle, #fff);display:flex;align-items:center;justify-content:center;font-size:10px;z-index:7}.avatar-story{padding:3px}.avatar-story::after{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:inherit;border:2px solid transparent;background:linear-gradient(45deg, var(--color-danger, #f09433), var(--color-danger, #e6683c), var(--color-danger, #dc2743), var(--color-danger, #cc2366), var(--color-danger, #bc1888)) border-box;-webkit-mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;z-index:1}.avatar-story.avatar-story-seen::after{background:var(--bg-secondary, #ccc) border-box}.avatar-story[style*="--story-segments"]::after{background:conic-gradient(from 0deg, var(--color-danger, #f09433) 0deg, var(--color-danger, #f09433) calc(360deg / var(--story-segments) - 2deg), transparent calc(360deg / var(--story-segments) - 2deg), transparent calc(360deg / var(--story-segments)));background-repeat:repeat;-webkit-mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes avatarRing{0%{transform:scale(1);opacity:1}100%{transform:scale(1.3);opacity:0}}.avatar-animation-pulse{animation:pulse 2s infinite}.avatar-animation-ring::after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid var(--ring-color, var(--color-primary, #10b981));border-radius:inherit;animation:avatarRing 1.5s infinite}.avatar-animation-glow{box-shadow:0 0 15px var(--ring-color, var(--color-primary, #10b981));animation:avatarGlow 2s ease-in-out infinite alternate}@keyframes avatarGlow{from{box-shadow:0 0 8px var(--ring-color, var(--color-primary, #10b981))}to{box-shadow:0 0 20px var(--ring-color, var(--color-primary, #10b981))}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.avatar-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(0, 0, 0, 0.15)}.avatar-group{display:inline-flex;position:relative;align-items:center}.avatar-group.layout-stack .group-avatar{margin-right:var(--avatar-spacing, -16px);transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1);transform-origin:center bottom}.avatar-group.layout-stack .group-avatar:hover{z-index:100 !important;transform:scale(1.25) translateY(-10px);margin-right:8px !important;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);border-color:var(--border-subtle, #fff) !important}.avatar-group.layout-stack .group-avatar:hover~.group-avatar,.avatar-group.layout-stack .group-avatar:hover~.excess-avatar-container{transform:translateX(24px)}.avatar-group.layout-stack.avatar-group-animated:hover{padding-right:40px}.avatar-group.layout-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(calc(var(--avatar-size) + 8px), 1fr));gap:8px;width:100%}.avatar-list{display:flex;flex-wrap:wrap;align-items:center}.layout-stack .avatar-list{flex-wrap:nowrap}.avatar-extra{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-danger, #f56a00);color:var(--text-standard, #ffffff);font-weight:600;border:var(--avatar-border-width, 2px) solid var(--avatar-border-color, #fff);cursor:pointer;z-index:1;transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);font-size:0.8em}.avatar-extra:hover{transform:scale(1.1) translateY(-4px);z-index:100;box-shadow:0 8px 20px rgba(0, 0, 0, 0.15)}.avatar-extra.shape-circle{border-radius:50%}.avatar-extra.shape-square{border-radius:8px}.avatar-extra.shape-hexagon{clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);border-radius:0}.avatar-extra.shape-squircle{border-radius:35%}.excess-avatar-container{position:relative;display:inline-block}.avatar-popover{position:absolute;top:100%;right:0;background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.2);padding:12px;z-index:1000;min-width:180px;margin-top:8px;animation:popoverFadeIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}.avatar-popover::after{content:"";position:absolute;top:-12px;right:12px;border:6px solid transparent;border-bottom-color:var(--bg-primary, #ffffff)}.avatar-popover .popover-content{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.avatar-popover .popover-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:6px;transition:background 0.2s;cursor:pointer}.avatar-popover .popover-item:hover{background:var(--bg-secondary, #f3f4f6)}.avatar-popover .popover-item ui-avatar{transition:none !important;transform:none !important;box-shadow:none !important}.avatar-popover .popover-text{font-size:14px;color:var(--text-secondary, #374151);font-weight:500}.avatar-roster-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(4px)}.avatar-roster-content{background:var(--bg-primary, #ffffff);width:90%;max-width:500px;max-height:80vh;border-radius:16px;box-shadow:0 20px 50px rgba(0, 0, 0, 0.3);display:flex;flex-direction:column;overflow:hidden;animation:modalIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)}.roster-header{padding:20px;border-bottom:1px solid var(--border-subtle, #eee);display:flex;align-items:center;justify-content:space-between}.roster-header h3{margin:0;color:var(--text-primary, #1f2937)}.roster-header .close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:var(--color-primary, #9ca3af)}.roster-header .close-btn:hover{color:var(--bg-primary, #1f2937)}.roster-list{padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.roster-item{display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;transition:background 0.2s}.roster-item:hover{background:var(--bg-primary, #f9fafb)}.roster-info{display:flex;flex-direction:column}.roster-name{font-weight:600;color:var(--text-primary, #111827)}.roster-status{font-size:11px;text-transform:capitalize;border-radius:4px;padding:1px 6px;width:fit-content}.status-online{color:var(--color-success-hover, #059669);background:var(--bg-primary, #ecfdf5)}@keyframes popoverFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{from{opacity:0;transform:scale(0.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}`;
|
|
1233
|
+
const avatarCss = () => `.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:inline-flex;vertical-align:middle}:host *{box-sizing:border-box}:host{transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}.avatar-container,.avatar-link{position:relative;display:inline-block;text-decoration:none}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;background-color:var(--bg-secondary, #ccc);color:var(--text-standard, #ffffff);font-weight:600;overflow:visible;white-space:nowrap;text-align:center;vertical-align:middle;user-select:none;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}.avatar.avatar-hovered{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 20px rgba(0, 0, 0, 0.15)}.avatar.avatar-hovered.avatar-3d{transform:perspective(500px) rotateX(10deg) rotateY(10deg) translateY(-4px)}.avatar-circle{border-radius:50%}.avatar-square{border-radius:8px}.avatar-hexagon{clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);border-radius:0}.avatar-squircle{border-radius:35%}.avatar-circle img,.avatar-circle .avatar-string,.avatar-circle .avatar-icon,.avatar-hexagon img,.avatar-hexagon .avatar-string,.avatar-hexagon .avatar-icon,.avatar-squircle img,.avatar-squircle .avatar-string,.avatar-squircle .avatar-icon{border-radius:inherit;overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:opacity 0.3s ease}.avatar-xs{width:24px;height:24px;line-height:24px;font-size:10px}.avatar-sm,.avatar-s{width:32px;height:32px;line-height:32px;font-size:12px}.avatar-default,.avatar-m{width:40px;height:40px;line-height:40px;font-size:16px}.avatar-lg,.avatar-l{width:48px;height:48px;line-height:48px;font-size:20px}.avatar-xl{width:64px;height:64px;line-height:64px;font-size:28px}.avatar-string{position:absolute;left:50%;transform:translateX(-50%);display:inline-block;white-space:nowrap}.avatar-icon{font-size:1.2em;display:flex;align-items:center;justify-content:center}.avatar-status{position:absolute;width:var(--avatar-status-size, 10px);height:var(--avatar-status-size, 10px);border-radius:50%;border:var(--avatar-status-border-width, 2px) solid var(--border-subtle, #fff);z-index:5;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.avatar-status.avatar-status-top-right{top:0;right:0}.avatar-status.avatar-status-top-left{top:0;left:0}.avatar-status.avatar-status-bottom-right{bottom:0;right:0}.avatar-status.avatar-status-bottom-left{bottom:0;left:0}.avatar-status.avatar-status-online{background-color:var(--color-success, #22c55e)}.avatar-status.avatar-status-offline{background-color:transparent;border-color:var(--color-primary, #94a3b8)}.avatar-status.avatar-status-offline::after{content:"";position:absolute;inset:var(--avatar-status-offline-inset, 2px);border-radius:50%;background:var(--bg-primary, #ffffff);z-index:-1}.avatar-status.avatar-status-away{background-color:var(--color-warning, #f59e0b);clip-path:polygon(100% 0%, 100% 100%, 0% 100%, 0% 0%, 50% 50%);border:none}.avatar-status.avatar-status-busy,.avatar-status.avatar-status-dnd{background-color:var(--color-danger, #ef4444)}.avatar-status.avatar-status-busy::before,.avatar-status.avatar-status-dnd::before{content:"";position:absolute;top:50%;left:50%;width:var(--avatar-status-busy-width, 6px);height:var(--avatar-status-busy-height, 1.5px);background:var(--bg-primary, #ffffff);transform:translate(-50%, -50%)}.avatar-badge{position:absolute;min-width:18px;height:18px;line-height:18px;text-align:center;font-size:10px;font-weight:bold;color:var(--text-standard, #ffffff);border:2px solid var(--border-subtle, #fff);z-index:6;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.avatar-badge.avatar-badge-circle{border-radius:50%}.avatar-badge.avatar-badge-pill{padding:0 5px;border-radius:10px}.avatar-badge.avatar-badge-top-right{top:-4px;right:-4px}.avatar-badge.avatar-badge-top-left{top:-4px;left:-4px}.avatar-badge.avatar-badge-bottom-right{bottom:-4px;right:-4px}.avatar-badge.avatar-badge-bottom-left{bottom:-4px;left:-4px}.avatar-tooltip{position:absolute;bottom:110%;left:50%;transform:translateX(-50%);background:rgba(0, 0, 0, 0.85);color:var(--text-standard, #ffffff);padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:100;pointer-events:none;box-shadow:0 4px 10px rgba(0, 0, 0, 0.2)}.avatar-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:rgba(0, 0, 0, 0.85)}.avatar-skeleton{background:var(--bg-primary, #eee);position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit}.avatar-skeleton .skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);animation:shimmer 1.5s infinite}.avatar-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255, 255, 255, 0.8);display:flex;align-items:center;justify-content:center;z-index:4;border-radius:inherit}.avatar-edit-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.5);opacity:0;transition:0.2s;display:flex;align-items:center;justify-content:center;z-index:3;border-radius:inherit;color:var(--text-standard, #ffffff)}.avatar:hover .avatar-edit-overlay{opacity:1}.avatar-glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255, 255, 255, 0.1) !important;border:1px solid rgba(255, 255, 255, 0.2) !important}.avatar-reflection .reflection-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, transparent 50%);pointer-events:none}.avatar-verified{position:absolute;bottom:0;right:0;width:16px;height:16px;background:var(--color-primary, #1890ff);color:var(--text-standard, #ffffff);border-radius:50%;border:2px solid var(--border-subtle, #fff);display:flex;align-items:center;justify-content:center;font-size:10px;z-index:7}.avatar-story{padding:3px}.avatar-story::after{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:inherit;border:2px solid transparent;background:linear-gradient(45deg, var(--color-danger, #f09433), var(--color-danger, #e6683c), var(--color-danger, #dc2743), var(--color-danger, #cc2366), var(--color-danger, #bc1888)) border-box;-webkit-mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;z-index:1}.avatar-story.avatar-story-seen::after{background:var(--bg-secondary, #ccc) border-box}.avatar-story[style*="--story-segments"]::after{background:conic-gradient(from 0deg, var(--color-danger, #f09433) 0deg, var(--color-danger, #f09433) calc(360deg / var(--story-segments) - 2deg), transparent calc(360deg / var(--story-segments) - 2deg), transparent calc(360deg / var(--story-segments)));background-repeat:repeat;-webkit-mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);mask:linear-gradient(var(--bg-primary, #fff) 0 0) padding-box, linear-gradient(var(--bg-primary, #fff) 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes avatarRing{0%{transform:scale(1);opacity:1}100%{transform:scale(1.3);opacity:0}}.avatar-animation-pulse{animation:pulse 2s infinite}.avatar-animation-ring::after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid var(--ring-color, var(--color-primary, #10b981));border-radius:inherit;animation:avatarRing 1.5s infinite}.avatar-animation-glow{box-shadow:0 0 15px var(--ring-color, var(--color-primary, #10b981));animation:avatarGlow 2s ease-in-out infinite alternate}@keyframes avatarGlow{from{box-shadow:0 0 8px var(--ring-color, var(--color-primary, #10b981))}to{box-shadow:0 0 20px var(--ring-color, var(--color-primary, #10b981))}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.avatar-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(0, 0, 0, 0.15)}.avatar-group{display:inline-flex;position:relative;align-items:center}.avatar-group.layout-stack .group-avatar{margin-right:var(--avatar-spacing, -16px);transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1);transform-origin:center bottom}.avatar-group.layout-stack .group-avatar:hover{z-index:100 !important;transform:scale(1.25) translateY(-10px);margin-right:8px !important;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);border-color:var(--border-subtle, #fff) !important}.avatar-group.layout-stack .group-avatar:hover~.group-avatar,.avatar-group.layout-stack .group-avatar:hover~.excess-avatar-container{transform:translateX(24px)}.avatar-group.layout-stack.avatar-group-animated:hover{padding-right:40px}.avatar-group.layout-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(calc(var(--avatar-size) + 8px), 1fr));gap:8px;width:100%}.avatar-list{display:flex;flex-wrap:wrap;align-items:center}.layout-stack .avatar-list{flex-wrap:nowrap}.avatar-extra{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-danger, #f56a00);color:var(--text-standard, #ffffff);font-weight:600;border:var(--avatar-border-width, 2px) solid var(--avatar-border-color, #fff);cursor:pointer;z-index:1;transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);font-size:0.8em}.avatar-extra:hover{transform:scale(1.1) translateY(-4px);z-index:100;box-shadow:0 8px 20px rgba(0, 0, 0, 0.15)}.avatar-extra.shape-circle{border-radius:50%}.avatar-extra.shape-square{border-radius:8px}.avatar-extra.shape-hexagon{clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);border-radius:0}.avatar-extra.shape-squircle{border-radius:35%}.excess-avatar-container{position:relative;display:inline-block}.avatar-popover{position:absolute;top:100%;right:0;background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.2);padding:12px;z-index:1000;min-width:180px;margin-top:8px;animation:popoverFadeIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}.avatar-popover::after{content:"";position:absolute;top:-12px;right:12px;border:6px solid transparent;border-bottom-color:var(--bg-primary, #ffffff)}.avatar-popover .popover-content{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.avatar-popover .popover-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:6px;transition:background 0.2s;cursor:pointer}.avatar-popover .popover-item:hover{background:var(--bg-secondary, #f3f4f6)}.avatar-popover .popover-item ui-avatar{transition:none !important;transform:none !important;box-shadow:none !important}.avatar-popover .popover-text{font-size:14px;color:var(--text-secondary, #374151);font-weight:500}.avatar-roster-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(4px)}.avatar-roster-content{background:var(--bg-primary, #ffffff);width:90%;max-width:500px;max-height:80vh;border-radius:16px;box-shadow:0 20px 50px rgba(0, 0, 0, 0.3);display:flex;flex-direction:column;overflow:hidden;animation:modalIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)}.roster-header{padding:20px;border-bottom:1px solid var(--border-subtle, #eee);display:flex;align-items:center;justify-content:space-between}.roster-header h3{margin:0;color:var(--text-primary, #1f2937)}.roster-header .close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:var(--color-primary, #9ca3af)}.roster-header .close-btn:hover{color:var(--bg-primary, #1f2937)}.roster-list{padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.roster-item{display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;transition:background 0.2s}.roster-item:hover{background:var(--bg-primary, #f9fafb)}.roster-info{display:flex;flex-direction:column}.roster-name{font-weight:600;color:var(--text-primary, #111827)}.roster-status{font-size:11px;text-transform:capitalize;border-radius:4px;padding:1px 6px;width:fit-content}.status-online{color:var(--color-success-hover, #059669);background:var(--bg-primary, #ecfdf5)}@keyframes popoverFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{from{opacity:0;transform:scale(0.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}`;
|
|
1221
1234
|
|
|
1222
1235
|
const Avatar = class {
|
|
1223
1236
|
constructor(hostRef) {
|
|
@@ -1266,6 +1279,8 @@ const Avatar = class {
|
|
|
1266
1279
|
statusPosition = 'bottom-right';
|
|
1267
1280
|
/** Show status indicator */
|
|
1268
1281
|
showStatus = false;
|
|
1282
|
+
/** Size of the status indicator dot. Accepts a number (px) or any CSS size value. */
|
|
1283
|
+
indicatorSize;
|
|
1269
1284
|
/** Badge count/text overlay */
|
|
1270
1285
|
badge = '';
|
|
1271
1286
|
/** Badge position */
|
|
@@ -1620,6 +1635,31 @@ const Avatar = class {
|
|
|
1620
1635
|
const textContent = this.name || this.el.textContent?.trim();
|
|
1621
1636
|
return textContent || '';
|
|
1622
1637
|
}
|
|
1638
|
+
getIndicatorSizeStyles() {
|
|
1639
|
+
if (this.indicatorSize === undefined || this.indicatorSize === null || this.indicatorSize === '') {
|
|
1640
|
+
return undefined;
|
|
1641
|
+
}
|
|
1642
|
+
const rawIndicatorSize = typeof this.indicatorSize === 'string'
|
|
1643
|
+
? this.indicatorSize.trim()
|
|
1644
|
+
: this.indicatorSize;
|
|
1645
|
+
let rawSize;
|
|
1646
|
+
if (typeof rawIndicatorSize === 'number') {
|
|
1647
|
+
rawSize = `${rawIndicatorSize}px`;
|
|
1648
|
+
}
|
|
1649
|
+
else if (/^\d+(?:\.\d+)?$/.test(rawIndicatorSize)) {
|
|
1650
|
+
rawSize = `${rawIndicatorSize}px`;
|
|
1651
|
+
}
|
|
1652
|
+
else {
|
|
1653
|
+
rawSize = rawIndicatorSize;
|
|
1654
|
+
}
|
|
1655
|
+
return {
|
|
1656
|
+
'--avatar-status-size': rawSize,
|
|
1657
|
+
'--avatar-status-border-width': `max(1px, calc(${rawSize} * 0.2))`,
|
|
1658
|
+
'--avatar-status-offline-inset': `max(1px, calc(${rawSize} * 0.2))`,
|
|
1659
|
+
'--avatar-status-busy-width': `calc(${rawSize} * 0.6)`,
|
|
1660
|
+
'--avatar-status-busy-height': `max(1px, calc(${rawSize} * 0.15))`,
|
|
1661
|
+
};
|
|
1662
|
+
}
|
|
1623
1663
|
renderStatusIndicator() {
|
|
1624
1664
|
if (!this.showStatus || !this.status)
|
|
1625
1665
|
return null;
|
|
@@ -1629,7 +1669,7 @@ const Avatar = class {
|
|
|
1629
1669
|
[`avatar-status-${this.statusPosition}`]: true,
|
|
1630
1670
|
'avatar-status-pulse': this.statusPulse,
|
|
1631
1671
|
};
|
|
1632
|
-
return index.h("span", { class: statusClass });
|
|
1672
|
+
return index.h("span", { class: statusClass, style: this.getIndicatorSizeStyles() });
|
|
1633
1673
|
}
|
|
1634
1674
|
renderBadge() {
|
|
1635
1675
|
if (!this.badge)
|
|
@@ -1692,16 +1732,22 @@ const Avatar = class {
|
|
|
1692
1732
|
getAllAvatarData() {
|
|
1693
1733
|
if (this.avatars && this.avatars.length > 0)
|
|
1694
1734
|
return this.avatars;
|
|
1695
|
-
return this.slottedAvatars.map(el =>
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1735
|
+
return this.slottedAvatars.map(el => {
|
|
1736
|
+
const data = {
|
|
1737
|
+
content: el.textContent?.trim() || undefined,
|
|
1738
|
+
tooltipText: el.getAttribute('name') || el.textContent?.trim() || undefined,
|
|
1739
|
+
};
|
|
1740
|
+
Array.from(el.attributes).forEach((attr) => {
|
|
1741
|
+
const camelCase = attr.name.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
|
|
1742
|
+
let val = attr.value;
|
|
1743
|
+
if (val === 'true' || val === '')
|
|
1744
|
+
val = true;
|
|
1745
|
+
if (val === 'false')
|
|
1746
|
+
val = false;
|
|
1747
|
+
data[camelCase] = val;
|
|
1748
|
+
});
|
|
1749
|
+
return data;
|
|
1750
|
+
});
|
|
1705
1751
|
}
|
|
1706
1752
|
renderExcessCount(total, max) {
|
|
1707
1753
|
const excess = total - max;
|
|
@@ -1827,7 +1873,7 @@ const Avatar = class {
|
|
|
1827
1873
|
};
|
|
1828
1874
|
Avatar.style = avatarCss();
|
|
1829
1875
|
|
|
1830
|
-
const badgeCss = () => `.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}.badge-wrapper{position:relative;display:inline-block}.badge{position:absolute;display:flex;align-items:center;justify-content:center;width:fit-content;border-radius:9999px;font-weight:600}.badge.badge-single:not(.badge-shape-square){border-radius:50%;padding:0 !important;min-width:var(--badge-height);aspect-ratio:1/1}.badge.badge-pill{white-space:nowrap;border-radius:9999px}.badge{font-family:inherit;line-height:1;z-index:1;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);transition:transform 0.2s ease, opacity 0.2s ease;pointer-events:none;}.badge-sm{--badge-height:16px;min-width:14px;height:16px;padding:0 3px;font-size:10px}.badge-md{--badge-height:20px;min-width:18px;height:20px;padding:0 4px;font-size:11px}.badge-lg{--badge-height:24px;min-width:22px;height:24px;padding:0 5px;font-size:13px}.badge-dot{min-width:8px !important;width:8px;height:8px;padding:0 !important;border-radius:50%}.badge-dot.badge-sm{width:6px;height:6px}.badge-dot.badge-lg{width:10px;height:10px}.badge-top-right{top:0;inset-inline-end:0;transform:translate(40%, -40%)}[dir=rtl] .badge-top-right{transform:translate(-40%, -40%)}.badge-top-left{top:0;inset-inline-start:0;transform:translate(-40%, -40%)}[dir=rtl] .badge-top-left{transform:translate(40%, -40%)}.badge-bottom-right{bottom:0;inset-inline-end:0;transform:translate(40%, 40%)}[dir=rtl] .badge-bottom-right{transform:translate(-40%, 40%)}.badge-bottom-left{bottom:0;inset-inline-start:0;transform:translate(-40%, 40%)}[dir=rtl] .badge-bottom-left{transform:translate(40%, 40%)}.badge-inline{position:static !important;transform:none !important;vertical-align:middle;flex-shrink:0}.badge-pulse::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;box-shadow:0 0 0 0 currentColor;animation:badge-pulse 1.5s infinite ease-in-out;opacity:1}@keyframes badge-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 currentColor;opacity:0.7}100%{transform:scale(2);box-shadow:0 0 0 10px transparent;opacity:0}}.badge-standard.badge-primary{background-color:var(--color-primary, #10b981);color:var(--text-standard, #ffffff)}.badge-standard.badge-secondary{background-color:var(--text-muted, #6b7280);color:var(--text-standard, #ffffff)}.badge-standard.badge-success{background-color:var(--color-success, #10b981);color:var(--text-standard, #ffffff)}.badge-standard.badge-danger{background-color:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff)}.badge-standard.badge-warning{background-color:var(--color-warning, #f59e0b);color:var(--text-standard, #ffffff)}.badge-standard.badge-info{background-color:var(--color-info, #06b6d4);color:var(--text-standard, #ffffff)}.badge-outlined{background-color:var(--bg-primary, var(--text-standard, #ffffff))}.badge-outlined.badge-primary{color:var(--color-primary, #10b981);border:2px solid var(--color-primary, #10b981)}.badge-outlined.badge-secondary{color:var(--text-muted, #6b7280);border:2px solid var(--color-primary, #6b7280)}.badge-outlined.badge-success{color:var(--color-success, #10b981);border:2px solid var(--color-success, #10b981)}.badge-outlined.badge-danger{color:var(--color-danger, #ef4444);border:2px solid var(--color-danger, #ef4444)}.badge-outlined.badge-warning{color:var(--color-warning, #f59e0b);border:2px solid var(--color-warning, #f59e0b)}.badge-outlined.badge-info{color:var(--color-info, #06b6d4);border:2px solid var(--color-info, #06b6d4)}.badge-icon{display:inline-flex;align-items:center;justify-content:center;font-size:0.9em;margin:0 2px}.badge-interactive{pointer-events:auto;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.badge-interactive:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0, 0, 0, 0.2)}.badge-interactive:active{transform:scale(0.95)}.badge.badge-closable{pointer-events:auto !important;border-radius:6px !important;padding-left:10px !important;padding-right:10px !important}.badge-close{background:none;border:none;color:inherit;cursor:pointer;padding:0 0 0 4px;margin-left:4px;font-size:0.9em;opacity:0.8;transition:opacity 0.2s ease;line-height:1;pointer-events:auto;position:relative;z-index:2}.badge-close:hover{opacity:1}.badge-bordered{background-color:var(--bg-primary, var(--text-standard, #ffffff));border:2px solid currentColor}.badge-bordered.badge-primary{color:var(--color-primary, #10b981);border-color:var(--color-primary, #10b981)}.badge-bordered.badge-secondary{color:var(--text-muted, #6b7280);border-color:var(--color-primary, #6b7280)}.badge-bordered.badge-success{color:var(--color-success, #10b981);border-color:var(--color-success, #10b981)}.badge-bordered.badge-danger{color:var(--color-danger, #ef4444);border-color:var(--color-danger, #ef4444)}.badge-bordered.badge-warning{color:var(--color-warning, #f59e0b);border-color:var(--color-warning, #f59e0b)}.badge-bordered.badge-info{color:var(--color-info, #06b6d4);border-color:var(--color-info, #06b6d4)}.badge-soft.badge-primary{background-color:var(--bg-primary, #eff6ff);color:var(--color-primary, #10b981)}.badge-soft.badge-secondary{background-color:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #6b7280)}.badge-soft.badge-success{background-color:var(--bg-primary, #d1fae5);color:var(--color-success, #10b981)}.badge-soft.badge-danger{background-color:var(--bg-primary, #fee2e2);color:var(--color-danger, #ef4444)}.badge-soft.badge-warning{background-color:var(--bg-primary, #fef3c7);color:var(--color-warning, #f59e0b)}.badge-soft.badge-info{background-color:var(--bg-primary, #cffafe);color:var(--color-info, #06b6d4)}.badge-gradient-blue-purple{background:linear-gradient(135deg, var(--color-primary, #10b981) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-green-teal{background:linear-gradient(135deg, var(--color-success, #10b981) 0%, var(--color-info, #06b6d4) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-orange-red{background:linear-gradient(135deg, var(--color-warning, #f59e0b) 0%, var(--color-danger, #ef4444) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-pink-purple{background:linear-gradient(135deg, var(--color-danger, #ec4899) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-blue-green{background:linear-gradient(135deg, var(--color-primary, #10b981) 0%, var(--color-success, #10b981) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-purple-pink{background:linear-gradient(135deg, var(--color-primary, #8b5cf6) 0%, var(--color-danger, #ec4899) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-teal-blue{background:linear-gradient(135deg, var(--color-info, #06b6d4) 0%, var(--color-primary, #10b981) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-yellow-orange{background:linear-gradient(135deg, var(--color-danger, #fbbf24) 0%, var(--color-warning, #f59e0b) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-red-pink{background:linear-gradient(135deg, var(--color-danger, #ef4444) 0%, var(--color-danger, #ec4899) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-indigo-purple{background:linear-gradient(135deg, var(--color-primary, #6366f1) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none}.badge-glow{box-shadow:0 0 10px currentColor, 0 0 20px currentColor;animation:badge-glow-pulse 2s ease-in-out infinite}@keyframes badge-glow-pulse{0%,100%{box-shadow:0 0 10px currentColor, 0 0 20px currentColor}50%{box-shadow:0 0 15px currentColor, 0 0 30px currentColor}}.badge-bounce{animation:badge-bounce 1s ease-in-out infinite}@keyframes badge-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.badge-shake{animation:badge-shake 0.5s ease-in-out infinite}@keyframes badge-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.badge-pulse{animation:badge-pulse-scale 1.5s ease-in-out infinite}.badge-pulse::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;box-shadow:0 0 0 0 currentColor;animation:badge-pulse-ring 1.5s infinite ease-in-out;opacity:1}@keyframes badge-pulse-scale{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes badge-pulse-ring{0%{transform:scale(1);box-shadow:0 0 0 0 currentColor;opacity:0.7}100%{transform:scale(2);box-shadow:0 0 0 10px transparent;opacity:0}}.badge:focus-visible{outline:2px solid var(--color-primary, #10b981);outline-offset:2px}@media (prefers-reduced-motion: reduce){.badge-bounce,.badge-shake,.badge-pulse,.badge-glow,.badge-interactive{animation:none}.badge-pulse::after{animation:none}}.badge-shape-circle{border-radius:50%;min-width:auto;width:var(--badge-size, 20px);height:var(--badge-size, 20px);padding:0 !important;display:flex;align-items:center;justify-content:center}.badge-shape-circle.badge-sm{--badge-size:16px;font-size:9px}.badge-shape-circle.badge-md{--badge-size:20px;font-size:11px}.badge-shape-circle.badge-lg{--badge-size:24px;font-size:13px}.badge-shape-square{border-radius:4px;min-width:auto;width:var(--badge-size, 20px);height:var(--badge-size, 20px);padding:0 !important;display:flex;align-items:center;justify-content:center}.badge-shape-square.badge-sm{--badge-size:16px;font-size:9px}.badge-shape-square.badge-md{--badge-size:20px;font-size:11px}.badge-shape-square.badge-lg{--badge-size:24px;font-size:13px}`;
|
|
1876
|
+
const badgeCss = () => `.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}.badge-wrapper{position:relative;display:inline-block}.badge{position:absolute;display:flex;align-items:center;justify-content:center;width:fit-content;border-radius:9999px;font-weight:600;border:var(--badge-border, none)}.badge.badge-single:not(.badge-shape-square){border-radius:50%;padding:0 !important;min-width:var(--badge-height);aspect-ratio:1/1}.badge.badge-pill{white-space:nowrap;border-radius:9999px}.badge{font-family:inherit;line-height:1;z-index:1;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);transition:transform 0.2s ease, opacity 0.2s ease;pointer-events:none;}.badge-sm{--badge-height:16px;min-width:14px;height:16px;padding:0 3px;font-size:10px}.badge-md{--badge-height:20px;min-width:18px;height:20px;padding:0 4px;font-size:11px}.badge-lg{--badge-height:24px;min-width:22px;height:24px;padding:0 5px;font-size:13px}.badge-dot{min-width:8px !important;width:8px;height:8px;padding:0 !important;border-radius:50%}.badge-dot.badge-sm{width:6px;height:6px}.badge-dot.badge-lg{width:10px;height:10px}.badge-top-right{top:0;inset-inline-end:0;transform:translate(40%, -40%)}[dir=rtl] .badge-top-right{transform:translate(-40%, -40%)}.badge-top-left{top:0;inset-inline-start:0;transform:translate(-40%, -40%)}[dir=rtl] .badge-top-left{transform:translate(40%, -40%)}.badge-bottom-right{bottom:0;inset-inline-end:0;transform:translate(40%, 40%)}[dir=rtl] .badge-bottom-right{transform:translate(-40%, 40%)}.badge-bottom-left{bottom:0;inset-inline-start:0;transform:translate(-40%, 40%)}[dir=rtl] .badge-bottom-left{transform:translate(40%, 40%)}.badge-inline{position:static !important;transform:none !important;vertical-align:middle;flex-shrink:0}.badge-pulse::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;box-shadow:0 0 0 0 currentColor;animation:badge-pulse 1.5s infinite ease-in-out;opacity:1}@keyframes badge-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 currentColor;opacity:0.7}100%{transform:scale(2);box-shadow:0 0 0 10px transparent;opacity:0}}.badge-standard.badge-primary{background-color:var(--color-primary, #10b981);color:var(--text-standard, #ffffff)}.badge-standard.badge-secondary{background-color:var(--text-muted, #6b7280);color:var(--text-standard, #ffffff)}.badge-standard.badge-success{background-color:var(--color-success, #10b981);color:var(--text-standard, #ffffff)}.badge-standard.badge-danger{background-color:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff)}.badge-standard.badge-warning{background-color:var(--color-warning, #f59e0b);color:var(--text-standard, #ffffff)}.badge-standard.badge-info{background-color:var(--color-info, #06b6d4);color:var(--text-standard, #ffffff)}.badge-outlined{background-color:transparent}.badge-outlined.badge-primary{color:var(--color-primary, #10b981);border:2px solid var(--color-primary, #10b981)}.badge-outlined.badge-secondary{color:var(--text-muted, #6b7280);border:2px solid var(--color-primary, #6b7280)}.badge-outlined.badge-success{color:var(--color-success, #10b981);border:2px solid var(--color-success, #10b981)}.badge-outlined.badge-danger{color:var(--color-danger, #ef4444);border:2px solid var(--color-danger, #ef4444)}.badge-outlined.badge-warning{color:var(--color-warning, #f59e0b);border:2px solid var(--color-warning, #f59e0b)}.badge-outlined.badge-info{color:var(--color-info, #06b6d4);border:2px solid var(--color-info, #06b6d4)}.badge-icon{display:inline-flex;align-items:center;justify-content:center;font-size:0.9em;margin:0 2px}.badge-interactive{pointer-events:auto;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.badge-interactive:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0, 0, 0, 0.2)}.badge-interactive:active{transform:scale(0.95)}.badge.badge-closable{pointer-events:auto !important;width:auto !important;min-width:var(--badge-size, 20px) !important;padding-left:0.6em !important;padding-right:0.3em !important}.badge.badge-closable.badge-shape-circle{border-radius:9999px;}.badge-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;cursor:pointer;padding:2px;margin-left:4px;border-radius:50%;font-size:1em;opacity:0.7;transition:opacity 0.2s ease, transform 0.1s ease, background-color 0.2s ease;line-height:1;pointer-events:auto;position:relative;z-index:2}.badge-close:hover{opacity:1;transform:scale(1.1);background-color:rgba(0, 0, 0, 0.1)}.badge-bordered{background-color:transparent;border:2px solid currentColor}.badge-bordered.badge-primary{color:var(--color-primary, #10b981);border-color:var(--color-primary, #10b981)}.badge-bordered.badge-secondary{color:var(--text-muted, #6b7280);border-color:var(--color-primary, #6b7280)}.badge-bordered.badge-success{color:var(--color-success, #10b981);border-color:var(--color-success, #10b981)}.badge-bordered.badge-danger{color:var(--color-danger, #ef4444);border-color:var(--color-danger, #ef4444)}.badge-bordered.badge-warning{color:var(--color-warning, #f59e0b);border-color:var(--color-warning, #f59e0b)}.badge-bordered.badge-info{color:var(--color-info, #06b6d4);border-color:var(--color-info, #06b6d4)}.badge-soft.badge-primary{background-color:var(--color-primary-soft, #ecfdf5);color:var(--color-primary, #10b981)}.badge-soft.badge-secondary{background-color:var(--color-secondary-soft, #f3f4f6);color:var(--text-muted, #6b7280)}.badge-soft.badge-success{background-color:var(--color-success-soft, #ecfdf5);color:var(--color-success, #10b981)}.badge-soft.badge-danger{background-color:var(--color-danger-soft, #fef2f2);color:var(--color-danger, #ef4444)}.badge-soft.badge-warning{background-color:var(--color-warning-soft, #fffbeb);color:var(--color-warning, #f59e0b)}.badge-soft.badge-info{background-color:var(--color-info-soft, #ecfeff);color:var(--color-info, #06b6d4)}.badge-gradient-blue-purple{background:linear-gradient(135deg, var(--color-primary, #10b981) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-green-teal{background:linear-gradient(135deg, var(--color-success, #10b981) 0%, var(--color-info, #06b6d4) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-orange-red{background:linear-gradient(135deg, var(--color-warning, #f59e0b) 0%, var(--color-danger, #ef4444) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-pink-purple{background:linear-gradient(135deg, var(--color-danger, #ec4899) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-blue-green{background:linear-gradient(135deg, var(--color-primary, #10b981) 0%, var(--color-success, #10b981) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-purple-pink{background:linear-gradient(135deg, var(--color-primary, #8b5cf6) 0%, var(--color-danger, #ec4899) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-teal-blue{background:linear-gradient(135deg, var(--color-info, #06b6d4) 0%, var(--color-primary, #10b981) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-yellow-orange{background:linear-gradient(135deg, var(--color-danger, #fbbf24) 0%, var(--color-warning, #f59e0b) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-red-pink{background:linear-gradient(135deg, var(--color-danger, #ef4444) 0%, var(--color-danger, #ec4899) 100%);color:var(--text-standard, #ffffff);border:none}.badge-gradient-indigo-purple{background:linear-gradient(135deg, var(--color-primary, #6366f1) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none}.badge-glow{box-shadow:0 0 10px currentColor, 0 0 20px currentColor;animation:badge-glow-pulse 2s ease-in-out infinite}@keyframes badge-glow-pulse{0%,100%{box-shadow:0 0 10px currentColor, 0 0 20px currentColor}50%{box-shadow:0 0 15px currentColor, 0 0 30px currentColor}}.badge-bounce{animation:badge-bounce 1s ease-in-out infinite}@keyframes badge-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.badge-shake{animation:badge-shake 0.5s ease-in-out infinite}@keyframes badge-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.badge-pulse{animation:badge-pulse-scale 1.5s ease-in-out infinite}.badge-pulse::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;box-shadow:0 0 0 0 currentColor;animation:badge-pulse-ring 1.5s infinite ease-in-out;opacity:1}@keyframes badge-pulse-scale{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes badge-pulse-ring{0%{transform:scale(1);box-shadow:0 0 0 0 currentColor;opacity:0.7}100%{transform:scale(2);box-shadow:0 0 0 10px transparent;opacity:0}}.badge:focus-visible{outline:2px solid var(--color-primary, #10b981);outline-offset:2px}@media (prefers-reduced-motion: reduce){.badge-bounce,.badge-shake,.badge-pulse,.badge-glow,.badge-interactive{animation:none}.badge-pulse::after{animation:none}}.badge-shape-circle{border-radius:50%;min-width:auto;width:var(--badge-size, 20px);height:var(--badge-size, 20px);padding:0 !important;display:flex;align-items:center;justify-content:center}.badge-shape-circle.badge-sm{--badge-size:16px;font-size:9px}.badge-shape-circle.badge-md{--badge-size:20px;font-size:11px}.badge-shape-circle.badge-lg{--badge-size:24px;font-size:13px}.badge-shape-square{border-radius:4px;min-width:auto;width:var(--badge-size, 20px);height:var(--badge-size, 20px);padding:0 !important;display:flex;align-items:center;justify-content:center}.badge-shape-square.badge-sm{--badge-size:16px;font-size:9px}.badge-shape-square.badge-md{--badge-size:20px;font-size:11px}.badge-shape-square.badge-lg{--badge-size:24px;font-size:13px}`;
|
|
1831
1877
|
|
|
1832
1878
|
const Badge = class {
|
|
1833
1879
|
constructor(hostRef) {
|
|
@@ -1835,6 +1881,7 @@ const Badge = class {
|
|
|
1835
1881
|
this.badgeClick = index.createEvent(this, "badgeClick");
|
|
1836
1882
|
this.badgeClose = index.createEvent(this, "badgeClose");
|
|
1837
1883
|
}
|
|
1884
|
+
get hostElement() { return index.getElement(this); }
|
|
1838
1885
|
/**
|
|
1839
1886
|
* Content/number to display in badge
|
|
1840
1887
|
*/
|
|
@@ -1967,7 +2014,8 @@ const Badge = class {
|
|
|
1967
2014
|
if (!this.isVisible)
|
|
1968
2015
|
return null;
|
|
1969
2016
|
const displayValue = this.getDisplayValue();
|
|
1970
|
-
const
|
|
2017
|
+
const hasSlotContent = !!this.hostElement.querySelector('[slot="badge-content"]');
|
|
2018
|
+
const shouldShow = this.dot || displayValue !== '' || this.icon || hasSlotContent;
|
|
1971
2019
|
const displayValueStr = displayValue.toString();
|
|
1972
2020
|
const isSingleChar = displayValueStr.length === 1 && !this.icon;
|
|
1973
2021
|
const classes = [
|
|
@@ -1995,12 +2043,12 @@ const Badge = class {
|
|
|
1995
2043
|
style['background-color'] = this.customColor;
|
|
1996
2044
|
if (this.customTextColor)
|
|
1997
2045
|
style['color'] = this.customTextColor;
|
|
1998
|
-
return (index.h(index.Host, { dir: this.rtl ? 'rtl' : undefined }, index.h("div", { class: "badge-wrapper" }, index.h("slot", null), shouldShow && (index.h("span", { class: classes, style: style, onClick: this.handleClick }, this.icon && this.iconPosition === 'left' && !this.dot && (index.h("span", { class: "badge-icon" }, index.h("ui-icon", { name: this.icon, library: this.iconLibrary, size: "1.1em" }))), index.h("slot", { name: "badge-content" }, !this.dot && displayValue), this.icon && this.iconPosition === 'right' && !this.dot && (index.h("span", { class: "badge-icon" }, index.h("ui-icon", { name: this.icon, library: this.iconLibrary, size: "1.1em" }))), this.closeable && (index.h("
|
|
2046
|
+
return (index.h(index.Host, { dir: this.rtl ? 'rtl' : undefined }, index.h("div", { class: "badge-wrapper" }, index.h("slot", null), shouldShow && (index.h("span", { class: classes, style: style, onClick: this.handleClick }, this.icon && this.iconPosition === 'left' && !this.dot && (index.h("span", { class: "badge-icon" }, index.h("ui-icon", { name: this.icon, library: this.iconLibrary, size: "1.1em" }))), index.h("slot", { name: "badge-content" }, !this.dot && displayValue), this.icon && this.iconPosition === 'right' && !this.dot && (index.h("span", { class: "badge-icon" }, index.h("ui-icon", { name: this.icon, library: this.iconLibrary, size: "1.1em" }))), this.closeable && (index.h("span", { class: "badge-close", onClick: this.handleClose, "aria-label": "Close badge", role: "button", tabindex: "0" }, index.h("ui-icon", { name: "x", library: "lucide", size: "1em" }))))))));
|
|
1999
2047
|
}
|
|
2000
2048
|
};
|
|
2001
2049
|
Badge.style = badgeCss();
|
|
2002
2050
|
|
|
2003
|
-
const buttonCss = () => `@charset "UTF-8";.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}.btn-label-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:all 0.2s ease}.btn-label-row.icon-pos-left{flex-direction:row}.btn-label-row.icon-pos-right{flex-direction:row-reverse}.btn-label-row.icon-pos-top{flex-direction:column}.btn-label-row.icon-pos-bottom{flex-direction:column-reverse}.btn-label-block{display:flex;flex-direction:column;justify-content:center;min-width:0;align-items:center;text-align:center}.icon-pos-left .btn-label-block{align-items:flex-start;text-align:left}.icon-pos-right .btn-label-block{align-items:flex-end;text-align:right}.icon-pos-top .btn-label-block,.icon-pos-bottom .btn-label-block,.icon-pos-none .btn-label-block{align-items:center;text-align:center}.btn-title{font-size:inherit;font-weight:600;line-height:1.2}.btn-subtitle{font-size:0.85em;font-weight:400;color:var(--btn-subtitle-color, var(--label-subtitle-color, var(--dd-muted, #62748a)));line-height:1.2;opacity:1;transition:color 0.2s ease;margin-top:2px}.btn-subtitle.btn-subtitle-above{margin-top:0;margin-bottom:2px}.btn-icon-block{display:flex;align-items:center;justify-content:center;flex-shrink:0}:host{display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;}:host(.is-full-width){display:block;width:100%}:host(.is-grow){flex:1;display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center}.btn.btn-align-start{justify-content:flex-start;text-align:left}.btn.btn-align-start .btn-label-block{align-items:flex-start;text-align:left}.btn.btn-align-end{justify-content:flex-end;text-align:right}.btn.btn-align-end .btn-label-block{align-items:flex-end;text-align:right}.btn.btn-align-center{justify-content:center;text-align:center}.btn.btn-align-center .btn-label-block{align-items:center;text-align:center}.btn.btn-justify-start{justify-content:flex-start}.btn.btn-justify-end{justify-content:flex-end}.btn.btn-justify-center{justify-content:center}.btn.btn-justify-between{justify-content:space-between}.btn.btn-justify-around{justify-content:space-around}.btn .btn-content,.btn .btn-label-row{display:flex;flex:1;align-items:center;justify-content:inherit;min-width:0;width:100%;gap:8px}.btn .btn-content.is-vertical,.btn .btn-label-row.is-vertical{flex-direction:column;justify-content:center}.btn .btn-label-block{display:flex;flex-direction:column;min-width:0;flex:1;justify-content:center}.btn .btn-label-block .btn-title{display:flex;flex:1;width:100%;min-width:0;align-items:center;justify-content:inherit}.btn{position:relative;width:var(--button-width, auto);height:var(--ui-button-height, 40px);min-height:100%;padding:var(--button-padding, 0 20px);border:1px solid transparent;outline:none;cursor:pointer;user-select:none;text-decoration:none;font-family:inherit;font-weight:var(--button-font-weight, 600);font-size:var(--button-font-size, 14px);line-height:var(--button-line-height, normal);white-space:nowrap;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);overflow:visible;box-sizing:border-box;-webkit-tap-highlight-color:transparent;color:var(--text-primary, #000);box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.btn.btn-is-vertical{height:auto;min-height:var(--ui-button-height, 44px);padding:10px 16px}.btn.btn-is-vertical .btn-label-block{align-items:center;text-align:center}.btn.btn-type-image{background:transparent !important;border-color:transparent !important;box-shadow:none !important;padding:0 !important;width:auto;height:auto;min-width:0}.btn.btn-type-image .btn-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}@media (hover: hover){.btn:hover:not(.btn-disabled){box-shadow:0 4px 14px rgba(var(--color-primary-rgb, 59, 130, 246), 0.25);filter:brightness(1.08);transform:scale(1.01)}}.btn:active:not(.btn-disabled){transform:scale(0.97);box-shadow:0 1px 4px rgba(0, 0, 0, 0.12);filter:brightness(0.94);transition:transform 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.btn-selected{background:var(--btn-selected-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.1));border-color:var(--btn-selected-border, var(--color-primary, #3b82f6));color:var(--btn-selected-color, var(--color-primary, #3b82f6));z-index:2}.btn-selected[style*="--hide-button-selection: 1"]{background-color:transparent !important;border-color:transparent !important;box-shadow:none !important}.btn-shortcut{font-size:0.8em;padding:1px 4px;background:rgba(0, 0, 0, 0.1);border-radius:4px;margin-inline-start:6px;font-family:monospace;opacity:0.7;letter-spacing:1px}.btn-primary .btn-shortcut{background:rgba(255, 255, 255, 0.2)}.btn-outline .btn-shortcut{background:rgba(0, 0, 0, 0.05)}.btn:focus-visible{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.4)}.btn-primary{background:var(--color-primary, #10b981);box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.btn-secondary{background:var(--color-primary, #6b7280);box-shadow:0 2px 8px rgba(0, 0, 0, 0.1)}.btn-success{background:var(--color-success, #10b981);box-shadow:0 2px 8px rgba(var(--color-success-rgb, 16, 185, 129), 0.2)}.btn-danger{background:var(--color-danger, #ef4444);box-shadow:0 2px 8px rgba(var(--color-danger-rgb, 239, 68, 68), 0.2)}.btn-warning{background:var(--color-warning, #f59e0b);box-shadow:0 2px 8px rgba(var(--color-warning-rgb, 245, 158, 11), 0.2)}.btn-info{background:var(--color-primary, #10b981);box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.btn-dark{background:var(--bg-primary, #1f2937);color:var(--text-standard, #ffffff)}.btn-outline{background:transparent;border-color:var(--border-strong, #d1d5db);color:var(--btn-label-color, var(--label-color, var(--text-secondary, #374151)));box-shadow:none}.btn-outline:hover:not(.btn-disabled){border-color:var(--color-primary, #9ca3af);background:rgba(0, 0, 0, 0.02)}.btn-ghost{background:transparent;color:var(--btn-label-color, var(--label-color, var(--text-secondary, #374151)));box-shadow:none}.btn-ghost:hover:not(.btn-disabled){background:rgba(0, 0, 0, 0.05)}.btn-plain{background:transparent;border:none;box-shadow:none;color:inherit;padding:0;height:100%;min-width:0;width:100%;border-radius:inherit}.btn-plain:hover:not(.btn-disabled){transform:none;box-shadow:none;filter:none;background:transparent}.btn-plain:active:not(.btn-disabled){transform:none;filter:none}.btn-raised{background:var(--bg-primary, #ffffff);color:var(--btn-label-color, var(--label-color, var(--text-primary, #1f2937)));border:1px solid var(--border-default, #e5e7eb);border-bottom:3px solid var(--border-strong, #d1d5db);box-shadow:0 2px 4px rgba(0, 0, 0, 0.05)}.btn-raised:active:not(.btn-disabled){border-bottom-width:1px;transform:translateY(2px)}.btn-glass{background:rgba(255, 255, 255, 0.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255, 255, 255, 0.2);color:inherit;box-shadow:0 8px 32px rgba(0, 0, 0, 0.1)}.btn-glass:hover:not(.btn-disabled){background:rgba(255, 255, 255, 0.25)}.btn-soft{color:var(--label-color, var(--text-primary, #1e293b));border-color:transparent;box-shadow:none}.btn-soft:hover:not(.btn-disabled){background:var(--btn-soft-hover-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.12));transform:translateY(-1px)}.btn-soft.btn-success{background:rgba(var(--color-success-rgb, 16, 185, 129), 0.1);color:var(--label-color, #10b981)}.btn-soft.btn-success:hover:not(.btn-disabled){background:rgba(var(--color-success-rgb, 16, 185, 129), 0.16)}.btn-soft.btn-danger{background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.1);color:var(--label-color, #ef4444)}.btn-soft.btn-danger:hover:not(.btn-disabled){background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.16)}.btn-soft.btn-warning{background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.1);color:var(--label-color, #f59e0b)}.btn-soft.btn-warning:hover:not(.btn-disabled){background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.16)}.btn-soft.btn-info{background:rgba(var(--color-info-rgb, 6, 182, 212), 0.1);color:var(--label-color, #06b6d4)}.btn-soft.btn-info:hover:not(.btn-disabled){background:rgba(var(--color-info-rgb, 6, 182, 212), 0.16)}.btn-accordion{background:transparent;color:var(--btn-label-color, var(--label-color, var(--text-secondary, #374151)));box-shadow:none;width:100%;--button-padding:16px 0px;--ui-button-height:auto;justify-content:space-between !important;border:none;font-size:16px;font-weight:500}.btn-accordion:hover:not(.btn-disabled){background:transparent;transform:none !important;box-shadow:none !important;filter:none !important}.btn-accordion:active:not(.btn-disabled){transform:none !important;background:transparent;box-shadow:none !important;filter:none !important}.btn-accordion:focus-visible,.btn-accordion:focus,.btn-accordion:active{outline:none !important;box-shadow:none !important;background:transparent !important}.btn-gradient{background:linear-gradient(135deg, var(--color-success, #3dcd58) 0%, var(--color-success, #00b894) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(var(--color-success-rgb, 61, 205, 88), 0.35)}.btn-gradient:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-success, #2ebd4a) 0%, var(--color-success, #00a381) 100%);box-shadow:0 6px 20px rgba(var(--color-success-rgb, 61, 205, 88), 0.5);transform:translateY(-1px)}.btn-gradient:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(var(--color-success-rgb, 61, 205, 88), 0.3);transform:translateY(0)}.btn-gradient-blue{background:linear-gradient(135deg, var(--color-primary, #10b981) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(var(--color-primary-rgb, 59, 130, 246), 0.35)}.btn-gradient-blue:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-primary-hover, #2563eb) 0%, var(--color-primary, #7c3aed) 100%);box-shadow:0 6px 20px rgba(var(--color-primary-rgb, 59, 130, 246), 0.5);transform:translateY(-1px)}.btn-gradient-blue:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3);transform:translateY(0)}.btn-gradient-purple{background:linear-gradient(135deg, var(--color-primary, #8b5cf6) 0%, var(--color-danger, #ec4899) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(139, 92, 246, 0.35)}.btn-gradient-purple:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-primary, #7c3aed) 0%, var(--color-danger, #db2777) 100%);box-shadow:0 6px 20px rgba(139, 92, 246, 0.5);transform:translateY(-1px)}.btn-gradient-purple:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(139, 92, 246, 0.3);transform:translateY(0)}.btn-gradient-orange{background:linear-gradient(135deg, var(--color-danger, #f97316) 0%, var(--color-danger, #ef4444) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(249, 115, 22, 0.35)}.btn-gradient-orange:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-danger, #ea6c0a) 0%, var(--color-danger-hover, #dc2626) 100%);box-shadow:0 6px 20px rgba(249, 115, 22, 0.5);transform:translateY(-1px)}.btn-gradient-orange:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(249, 115, 22, 0.3);transform:translateY(0)}.btn-gradient-ocean{background:linear-gradient(135deg, var(--color-primary, #0ea5e9) 0%, var(--color-info, #06b6d4) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(14, 165, 233, 0.35)}.btn-gradient-ocean:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-primary, #0284c7) 0%, var(--color-info-hover, #0891b2) 100%);box-shadow:0 6px 20px rgba(14, 165, 233, 0.5);transform:translateY(-1px)}.btn-gradient-ocean:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(14, 165, 233, 0.3);transform:translateY(0)}.btn-gradient-sunset{background:linear-gradient(135deg, var(--color-warning, #f59e0b) 0%, var(--color-danger, #f97316) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(var(--color-warning-rgb, 245, 158, 11), 0.35)}.btn-gradient-sunset:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-warning-hover, #d97706) 0%, var(--color-danger, #ea6c0a) 100%);box-shadow:0 6px 20px rgba(var(--color-warning-rgb, 245, 158, 11), 0.5);transform:translateY(-1px)}.btn-gradient-sunset:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(var(--color-warning-rgb, 245, 158, 11), 0.3);transform:translateY(0)}.btn-gradient-candy{background:linear-gradient(135deg, var(--color-danger, #ec4899) 0%, var(--color-danger, #ef4444) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(236, 72, 153, 0.35)}.btn-gradient-candy:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-danger, #db2777) 0%, var(--color-danger-hover, #dc2626) 100%);box-shadow:0 6px 20px rgba(236, 72, 153, 0.5);transform:translateY(-1px)}.btn-gradient-candy:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(236, 72, 153, 0.3);transform:translateY(0)}.btn-gradient-gold{background:linear-gradient(135deg, var(--color-danger, #fbbf24) 0%, var(--color-warning-hover, #d97706) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(251, 191, 36, 0.35);text-shadow:0 1px 2px rgba(0, 0, 0, 0.15)}.btn-gradient-gold:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-warning, #f59e0b) 0%, var(--color-danger, #b45309) 100%);box-shadow:0 6px 20px rgba(251, 191, 36, 0.5);transform:translateY(-1px)}.btn-gradient-gold:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(251, 191, 36, 0.3);transform:translateY(0)}.btn-xxxs{--ui-button-height:20px;font-size:10px;padding:0 6px}.btn-xxs{--ui-button-height:24px;font-size:11px;padding:0 8px}.btn-xs{--ui-button-height:28px;font-size:12px;padding:0 10px}.btn-sm{--ui-button-height:32px;font-size:13px;padding:0 12px}.btn-md{--ui-button-height:44px;font-size:14px;padding:0 18px}.btn-lg{--ui-button-height:52px;font-size:15px;padding:0 22px}.btn-xl{--ui-button-height:60px;font-size:16px;padding:0 28px}.btn-xxl{--ui-button-height:68px;font-size:18px;padding:0 36px}.btn-xxxl{--ui-button-height:84px;font-size:20px;padding:0 48px}.btn-shape-square,.btn-shape-sharp{border-radius:0}.btn-shape-rounded{border-radius:var(--button-border-radius, 8px)}.btn-shape-rounded-lg{border-radius:var(--button-border-radius, 12px)}.btn-shape-pill,.btn-shape-oval{border-radius:var(--button-border-radius, 9999px);padding-left:1.5rem !important;padding-right:1.5rem !important}.btn-icon-only{padding:0 !important;width:var(--ui-button-height, 40px) !important;min-width:var(--ui-button-height, 40px) !important;max-width:var(--ui-button-height, 40px) !important;flex:0 0 var(--ui-button-height, 40px) !important;aspect-ratio:1/1 !important;display:inline-flex;align-items:center;justify-content:center}.btn-icon-only .btn-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;gap:0}.btn-icon-only .btn-label-group{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;gap:0}.btn-icon-only .btn-icon{display:flex;align-items:center;justify-content:center;margin:0}.btn-icon-only .btn-label{margin:0;font-size:0.95em;font-weight:700;line-height:1;text-transform:uppercase;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.btn-shape-circle{border-radius:50% !important;aspect-ratio:1/1 !important;padding:0 !important;width:var(--ui-button-height, 40px) !important;min-width:var(--ui-button-height, 40px) !important;max-width:var(--ui-button-height, 40px) !important;display:inline-flex;align-items:center;justify-content:center}.btn-shape-chip{border-radius:100px;height:28px !important;font-size:11px;padding:0 12px}.btn-disabled{opacity:0.5;cursor:not-allowed;filter:grayscale(0.8);pointer-events:none}.btn-loading{cursor:wait}.btn-selected{background:var(--btn-selected-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.12));color:var(--btn-selected-color, var(--color-primary, #2563eb));font-weight:700;outline:none;box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb, 59, 130, 246), 0.25)}.btn-selected::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.15);pointer-events:none;z-index:-1}.btn-ghost.btn-selected{background:var(--btn-selected-bg, rgba(37, 99, 235, 0.1));color:var(--btn-selected-color, var(--text-standard))}.btn-ghost.btn-selected:hover:not(.btn-disabled){background:var(--btn-selected-hover-bg, rgba(37, 99, 235, 0.16))}.btn-content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:auto;min-width:0;max-width:100%;position:relative;z-index:1;flex:1 1 auto;overflow:hidden}.btn-icon-pos-left .btn-label-row{flex-direction:row}.btn-icon-pos-right .btn-label-row{flex-direction:row}.btn-icon-pos-top,.btn-icon-pos-bottom{height:auto;min-height:var(--ui-button-height);padding-top:10px !important;padding-bottom:10px !important}.btn-icon-pos-top .btn-label-row,.btn-icon-pos-bottom .btn-label-row{gap:4px !important;align-items:center !important;justify-content:center !important}.btn-icon-pos-top .btn-title-block,.btn-icon-pos-bottom .btn-title-block{align-items:center !important;text-align:center !important}.btn-icon-pos-top .btn-label-row{flex-direction:column}.btn-icon-pos-bottom .btn-label-row{flex-direction:column}.btn-label-group{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden}.btn-label-group.is-column{flex-direction:column;gap:4px}.btn-counter{margin-inline-start:8px;vertical-align:middle;flex-shrink:0}.btn-icon,.btn-spinner{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-label{display:inline-flex;align-items:center;gap:inherit;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.btn-img{height:1.5em;width:auto;margin:0 4px;object-fit:contain;flex-shrink:0}.btn-avatar{position:relative;flex-shrink:0;border-radius:50%;overflow:visible;display:flex;align-items:center;justify-content:center;width:calc(var(--ui-button-height) * 0.65);height:calc(var(--ui-button-height) * 0.65);background:rgba(0, 0, 0, 0.05);margin-right:8px}.btn-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn-avatar .status-dot{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bg-primary, #ffffff);z-index:1}.btn-avatar .status-dot.status-online{background-color:var(--color-success, #10b981)}.btn-avatar .status-dot.status-offline{background-color:var(--text-muted, #6b7280)}.btn-avatar .status-dot.status-busy{background-color:var(--color-danger, #ef4444)}.btn-avatar .status-dot.status-away{background-color:var(--color-warning, #f59e0b)}.btn-icon-only .btn-avatar,.btn-shape-circle .btn-avatar{margin-inline-end:0;width:100%;height:100%;border-radius:inherit}.btn-icon-only .btn-avatar img,.btn-shape-circle .btn-avatar img{border-radius:inherit}.btn-has-bg{background-size:cover;background-position:center;position:relative}.btn-has-bg::before{content:"";position:absolute;inset:0;background:rgba(0, 0, 0, 0.3);transition:opacity 0.2s}.btn-has-bg:hover::before{background:rgba(0, 0, 0, 0.4)}.elevation-0{box-shadow:none}.elevation-1{box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.elevation-2{box-shadow:0 4px 8px rgba(0, 0, 0, 0.12)}.elevation-3{box-shadow:0 8px 16px rgba(0, 0, 0, 0.15)}.elevation-4{box-shadow:0 12px 24px rgba(0, 0, 0, 0.18)}.elevation-5{box-shadow:0 20px 40px rgba(0, 0, 0, 0.2)}ui-badge.is-inline{margin:0px}ui-badge.is-absolute{position:absolute;z-index:10;pointer-events:none;width:0;height:0}.pos-top-right{top:-1rem;inset-inline-end:0}.pos-top-left{top:-1rem;inset-inline-start:0}.pos-bottom-right{bottom:1rem;inset-inline-end:0}.pos-bottom-left{bottom:1rem;inset-inline-start:0}.btn-ripple-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.ripple{position:absolute;border-radius:50%;background:rgba(255, 255, 255, 0.3);transform:scale(0);animation:ripple-anim 0.6s linear}@keyframes ripple-anim{to{transform:scale(4);opacity:0}}.btn-soft{box-shadow:none;border:none}.btn-soft.btn-primary,.btn-soft.btn-success,.btn-soft.btn-danger,.btn-soft.btn-warning,.btn-soft.btn-info{color:var(--label-color)}.btn-soft.btn-secondary{color:var(--label-subtitle-color)}.btn-soft:hover:not(.btn-disabled){background:currentColor;color:var(--text-standard, #ffffff);filter:none}.btn-active{transform:translateY(1px);filter:brightness(0.9) !important;box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.1) !important}.btn-skeleton{pointer-events:none;background:var(--bg-secondary, #f1f5f9) !important;border:none !important;color:transparent !important;box-shadow:none !important;position:relative;overflow:hidden}.btn-skeleton *{opacity:0 !important}.btn-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);animation:btn-shimmer 1.5s infinite}@keyframes btn-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.btn-gradient-sunset{background:linear-gradient(135deg, var(--color-primary, #f093fb) 0%, var(--color-danger, #f5576c) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-ocean{background:linear-gradient(135deg, var(--color-primary, #4facfe) 0%, var(--color-primary, #00f2fe) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-midnight{background:linear-gradient(135deg, var(--bg-primary, #232526) 0%, var(--bg-secondary, #414345) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-forest{background:linear-gradient(135deg, var(--color-primary, #11998e) 0%, var(--color-success, #38ef7d) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-blaze{background:linear-gradient(135deg, var(--color-danger, #ff512f) 0%, var(--color-danger, #dd2476) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-dropdown-icon{margin-inline-start:4px;display:flex;align-items:center;opacity:0.8;transition:transform 0.2s}.btn:hover .btn-dropdown-icon{transform:translateY(1px)}.btn-magnetic,.btn-tilt{transition:transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);will-change:transform;transform-style:preserve-3d}.btn-glow{position:relative}.btn-glow::before{content:"";position:absolute;inset:-2px;background:currentColor;border-radius:inherit;filter:blur(8px);opacity:0.4;z-index:-1;animation:btn-glow-pulse 2s ease-in-out infinite}@keyframes btn-glow-pulse{0%,100%{opacity:0.3;transform:scale(1)}50%{opacity:0.6;transform:scale(1.05)}}.confetti-particle{position:absolute;top:50%;left:50%;width:8px;height:8px;background-color:var(--particle-color);border-radius:2px;pointer-events:none;z-index:10;animation:confetti-burst 0.8s ease-out forwards}@keyframes confetti-burst{0%{transform:translate(-50%, -50%) rotate(0deg) scale(1);opacity:1}100%{transform:translate(calc(cos(var(--particle-angle)) * 100px * var(--particle-velocity)), calc(sin(var(--particle-angle)) * 100px * var(--particle-velocity))) rotate(720deg) scale(0);opacity:0}}.btn-primary.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-primary.btn-glow::before{background:var(--ui-primary, var(--color-success, #3dcd58))}.btn-success.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-success.btn-glow::before{background:var(--ui-success, var(--color-success, #10b981))}.btn-danger.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-danger.btn-glow::before{background:var(--ui-danger, var(--color-danger, #ef4444))}.btn-warning.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-warning.btn-glow::before{background:var(--ui-warning, var(--color-warning, #f59e0b))}.btn-info.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-info.btn-glow::before{background:var(--ui-info, var(--color-info-hover, #0891b2))}.btn-glossy{position:relative;overflow:hidden}.btn-glossy::after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right, transparent, rgba(255, 255, 255, 0.4), transparent);transform:skewX(-25deg);animation:glossy-sweep 4s infinite ease-in-out}@keyframes glossy-sweep{0%{left:-100%}30%{left:150%}100%{left:150%}}.btn-icon{display:inline-flex;transition:transform 0.2s cubic-bezier(0.4, 0, 0.2, 1)}.btn-icon ui-icon{transition:opacity 0.2s, transform 0.2s}.btn:hover .btn-icon ui-icon{transform:scale(1.1)}.btn-hold-track{position:absolute;top:0;left:0;height:100%;background:rgba(0, 0, 0, 0.15);pointer-events:none;z-index:0;transition:width 0.05s linear}.btn-has-theme{--btn-theme-bg:var(--btn-theme-color, var(--color-primary, #10b981));--btn-theme-text:var(--text-standard, #ffffff);background:var(--btn-theme-bg);color:var(--btn-theme-text);border:none}.btn-has-theme:hover:not(.btn-disabled){background:color-mix(in srgb, var(--btn-theme-bg), #000 10%);box-shadow:0 4px 12px color-mix(in srgb, var(--btn-theme-bg), transparent 70%)}.btn-has-theme.btn-outline{background:transparent;color:var(--btn-theme-bg);border:1px solid var(--btn-theme-bg)}.btn-has-theme.btn-outline:hover:not(.btn-disabled){background:var(--btn-theme-bg);color:var(--text-standard, #ffffff)}.btn-has-theme.btn-soft{color:var(--btn-theme-bg)}.btn-has-theme.btn-soft:hover:not(.btn-disabled){background:var(--btn-theme-bg);color:var(--text-standard, #ffffff)}.btn-progress-track{position:absolute;top:0;left:0;height:100%;background:color-mix(in srgb, currentColor, transparent 80%);z-index:1;pointer-events:none;transition:width 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.btn-primary .btn-progress-track{background:rgba(0, 0, 0, 0.2)}.btn-outline .btn-progress-track{background:color-mix(in srgb, currentColor, transparent 85%)}.btn-accordion{background:transparent;border:none;padding:0;height:auto;min-height:48px;width:100%;border-radius:0;box-shadow:none;color:inherit;--button-width:100%}.btn-accordion .btn-content,.btn-accordion .btn-label-row{padding:0 20px;justify-content:space-between}.btn-accordion .btn-label-block,.btn-accordion .btn-title{align-items:stretch;text-align:left;width:100%;display:flex;flex-direction:column}.btn-accordion:hover:not(.btn-disabled){background:rgba(0, 0, 0, 0.02);transform:none;box-shadow:none;filter:none}.btn-accordion:active:not(.btn-disabled){background:rgba(0, 0, 0, 0.05);transform:none}.btn-shaking{animation:btn-shake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}@keyframes btn-shake{10%,90%{transform:translate3d(-1px, 0, 0)}20%,80%{transform:translate3d(2px, 0, 0)}30%,50%,70%{transform:translate3d(-4px, 0, 0)}40%,60%{transform:translate3d(4px, 0, 0)}}.btn-rainbow.btn-glow::before{animation:btn-rainbow-glow 4s linear infinite;opacity:0.6}@keyframes btn-rainbow-glow{0%{background:var(--color-danger, #ff0000);filter:hue-rotate(0deg) blur(10px)}100%{background:var(--color-danger, #ff0000);filter:hue-rotate(360deg) blur(10px)}}.btn-liquid-progress{overflow:hidden}.btn-liquid-progress::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:rgba(255, 255, 255, 0.2);border-radius:38%;animation:btn-liquid-wave 3s linear infinite}@keyframes btn-liquid-wave{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.btn-split{padding-right:0 !important}.btn-split .btn-dropdown-icon{height:100%;padding:0 12px;margin-inline-start:8px;border-inline-start:1px solid rgba(255, 255, 255, 0.2);display:flex;align-items:center;transition:background 0.2s}.btn-split .btn-dropdown-icon:hover{background:rgba(0, 0, 0, 0.1)}.btn-confirm-pop{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--bg-primary, #1f2937);color:var(--text-standard, #ffffff);padding:12px 16px;border-radius:12px;font-size:13px;display:flex;align-items:center;gap:12px;white-space:nowrap;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);z-index:100;animation:pop-in 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.btn-confirm-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--border-strong, #1f2937)}.btn-confirm-pop .pop-actions{display:flex;gap:6px}.btn-confirm-pop .pop-actions button{width:24px;height:24px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:transform 0.1s}.btn-confirm-pop .pop-actions button:active{transform:scale(0.9)}.btn-confirm-pop .pop-actions .pop-btn-no{background:var(--text-secondary, #374151);color:var(--bg-primary, #ffffff)}.btn-confirm-pop .pop-actions .pop-btn-yes{background:var(--color-success, #10b981);color:var(--bg-primary, #ffffff)}@keyframes pop-in{from{opacity:0;transform:translateX(-50%) translateY(10px) scale(0.9)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.btn-reveal-fade-in{animation:btn-fade-in 0.6s ease-out forwards}.btn-reveal-slide-up{animation:btn-slide-up 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards}.btn-reveal-zoom{animation:btn-zoom-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards}@keyframes btn-fade-in{from{opacity:0}to{opacity:1}}@keyframes btn-slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes btn-zoom-in{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.btn-tooltip-pop{position:absolute;top:-10px;left:50%;transform:translateX(-50%) translateY(-100%);background:var(--bg-primary, #1f2937);color:var(--text-standard, #ffffff);padding:4px 10px;border-radius:6px;font-size:11px;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);animation:tooltip-in 0.2s ease-out}.btn-tooltip-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--border-strong, #1f2937)}@keyframes tooltip-in{from{opacity:0;transform:translateX(-50%) translateY(-90%) scale(0.95)}to{opacity:1;transform:translateX(-50%) translateY(-100%) scale(1)}}.btn-animate-gradient{background-size:240% 240% !important;animation:bg-living-gradient 6s ease infinite !important}@keyframes bg-living-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.btn-pulse{position:relative}.btn-pulse::before{content:"";position:absolute;inset:-6px;background:inherit;border-radius:inherit;opacity:0.4;z-index:-1;animation:btn-energy-pulse 2s cubic-bezier(0.24, 0, 0.38, 1) infinite}@keyframes btn-energy-pulse{0%{transform:scale(1);opacity:0.4;filter:blur(2px)}100%{transform:scale(1.3);opacity:0;filter:blur(8px)}}.btn-group-start{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;border-right:0.5px solid rgba(0, 0, 0, 0.1) !important}.btn-group-middle{border-radius:0 !important;border-right:0.5px solid rgba(0, 0, 0, 0.1) !important}.btn-group-end{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.btn-is-slider{background:rgba(0, 0, 0, 0.05) !important;border:1px solid rgba(0, 0, 0, 0.1) !important;box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.05) !important;color:var(--text-muted, #64748b) !important;cursor:default !important;overflow:hidden;position:relative}.btn-is-slider:hover{transform:none !important}.btn-is-slider .btn-slider-handle{position:absolute;top:4px;height:calc(100% - 8px);width:52px;background:var(--bg-primary, #ffffff);border-radius:inherit;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);cursor:grab;z-index:10;transition:left 0.05s linear;color:var(--ui-primary, var(--color-success, #3dcd58))}.btn-is-slider .btn-slider-handle:active{cursor:grabbing}.btn-is-slider.btn-primary .btn-slider-handle{color:var(--ui-primary, var(--color-success, #3dcd58))}.btn-is-slider.btn-danger .btn-slider-handle{color:var(--ui-danger, var(--color-danger, #ef4444))}.btn-is-slider.btn-success .btn-slider-handle{color:var(--ui-success, var(--color-success, #10b981))}.btn-icon-hover-rotate:hover:not(.btn-disabled) .btn-icon{transform:rotate(15deg);transition:transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.btn-follow-glow::before{content:"";position:absolute;inset:0;background:radial-gradient(circle 80px at var(--glow-x, 0) var(--glow-y, 0), rgba(255, 255, 255, 0.15), transparent);opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:1}.btn-follow-glow:hover::before{opacity:1}.btn-spinning .btn-icon{animation:btn-icon-spin 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes btn-icon-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.btn-shatter{position:absolute;background:rgba(0, 0, 0, 0.6);pointer-events:none;z-index:100;animation:btn-shatter-explode 0.8s cubic-bezier(0.1, 0.8, 0.3, 1) forwards}@keyframes btn-shatter-explode{0%{transform:translate(0, 0) rotate(0);opacity:1}100%{transform:translate(var(--vx), var(--vy)) rotate(var(--vr));opacity:0}}.btn-spinner.is-ring{width:24px;height:24px}.btn-spinner.is-ring .progress-ring{transform:rotate(-90deg);width:100%;height:100%}.btn-spinner.is-ring .progress-ring circle{stroke-linecap:round}.btn-spinner.is-ring .progress-ring .ring-bg{stroke:rgba(255, 255, 255, 0.1)}.btn-spinner.is-ring .progress-ring .ring-fg{stroke:currentColor;transition:stroke-dasharray 0.3s ease}.btn-primary .ring-bg{stroke:rgba(0, 0, 0, 0.1)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-surface), 0 0 0 4px var(--ui-primary, var(--color-success, #3dcd58)) !important;z-index:100}.btn:active:not(.btn-disabled),.btn-active:not(.btn-disabled){transform:translateY(1px) scale(0.96);box-shadow:0 1px 2px rgba(0, 0, 0, 0.1) !important;filter:brightness(0.95)}.btn-raised:active:not(.btn-disabled){box-shadow:0 2px 4px rgba(0, 0, 0, 0.15) !important}@media (max-width: 640px){.btn-hide-mobile{padding:0 !important;width:var(--ui-button-height) !important;min-width:var(--ui-button-height) !important}.btn-hide-mobile .btn-label,.btn-hide-mobile .btn-label-group,.btn-hide-mobile .btn-dropdown-icon{display:none !important}.btn-hide-mobile .btn-icon{margin:0 !important}}.btn-progress-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(255, 255, 255, 0.2);border-radius:inherit;pointer-events:none;transition:width 0.4s ease;z-index:0}.btn-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}`;
|
|
2051
|
+
const buttonCss = () => `@charset "UTF-8";.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}.btn-label-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:all 0.2s ease}.btn-label-row.icon-pos-left{flex-direction:row}.btn-label-row.icon-pos-right{flex-direction:row-reverse}.btn-label-row.icon-pos-top{flex-direction:column}.btn-label-row.icon-pos-bottom{flex-direction:column-reverse}.btn-label-block{display:flex;flex-direction:column;justify-content:center;min-width:0;align-items:center;text-align:center}.icon-pos-left .btn-label-block{align-items:flex-start;text-align:left}.icon-pos-right .btn-label-block{align-items:flex-end;text-align:right}.icon-pos-top .btn-label-block,.icon-pos-bottom .btn-label-block,.icon-pos-none .btn-label-block{align-items:center;text-align:center}.btn-title{font-size:inherit;font-weight:600;line-height:1.2}.btn-subtitle{font-size:0.85em;font-weight:400;color:var(--btn-subtitle-color, var(--label-subtitle-color, var(--dd-muted, #62748a)));line-height:1.2;opacity:1;transition:color 0.2s ease;margin-top:2px}.btn-subtitle.btn-subtitle-above{margin-top:0;margin-bottom:2px}.btn-icon-block{display:flex;align-items:center;justify-content:center;flex-shrink:0}:host{display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;border-radius:var(--button-border-radius, 8px);}:host([shape=square]){border-radius:0}:host([shape=circle]),:host([circle]){border-radius:50%}:host([shape=pill]),:host([pill]){border-radius:9999px}:host(.is-full-width){display:block;width:100%}:host(.is-grow){flex:1;display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center}.btn.btn-align-start{justify-content:flex-start;text-align:left}.btn.btn-align-start .btn-label-block{align-items:flex-start;text-align:left}.btn.btn-align-end{justify-content:flex-end;text-align:right}.btn.btn-align-end .btn-label-block{align-items:flex-end;text-align:right}.btn.btn-align-center{justify-content:center;text-align:center}.btn.btn-align-center .btn-label-block{align-items:center;text-align:center}.btn.btn-justify-start{justify-content:flex-start}.btn.btn-justify-end{justify-content:flex-end}.btn.btn-justify-center{justify-content:center}.btn.btn-justify-between{justify-content:space-between}.btn.btn-justify-around{justify-content:space-around}.btn .btn-content,.btn .btn-label-row{display:flex;flex:1;align-items:center;justify-content:inherit;min-width:0;width:100%;gap:8px}.btn .btn-content.is-vertical,.btn .btn-label-row.is-vertical{flex-direction:column;justify-content:center}.btn .btn-label-block{display:flex;flex-direction:column;min-width:0;flex:1;justify-content:center}.btn .btn-label-block .btn-title{display:flex;flex:1;width:100%;min-width:0;align-items:center;justify-content:inherit}.btn{position:relative;width:var(--button-width, auto);height:var(--ui-button-height, 40px);min-height:100%;padding:var(--button-padding, 0 20px);border:1px solid transparent;outline:none;cursor:pointer;user-select:none;text-decoration:none;font-family:inherit;font-weight:var(--button-font-weight, 600);font-size:var(--button-font-size, 14px);line-height:var(--button-line-height, normal);white-space:nowrap;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);overflow:visible;box-sizing:border-box;-webkit-tap-highlight-color:transparent;color:var(--text-primary, #000);box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.btn.btn-is-vertical{height:auto;min-height:var(--ui-button-height, 44px);padding:10px 16px}.btn.btn-is-vertical .btn-label-block{align-items:center;text-align:center}.btn.btn-type-image{background:transparent !important;border-color:transparent !important;box-shadow:none !important;padding:0 !important;width:auto;height:auto;min-width:0}.btn.btn-type-image .btn-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}@media (hover: hover){.btn:hover:not(.btn-disabled){box-shadow:0 4px 14px rgba(var(--color-primary-rgb, 59, 130, 246), 0.25);filter:brightness(1.08);transform:scale(1.01)}}.btn:active:not(.btn-disabled){transform:scale(0.97);box-shadow:0 1px 4px rgba(0, 0, 0, 0.12);filter:brightness(0.94);transition:transform 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.btn-selected{background:var(--btn-selected-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.1));border-color:var(--btn-selected-border, var(--color-primary, #3b82f6));color:var(--btn-selected-color, var(--color-primary, #3b82f6));z-index:2}.btn-selected[style*="--hide-button-selection: 1"]{background-color:transparent !important;border-color:transparent !important;box-shadow:none !important}.btn-shortcut{font-size:0.8em;padding:1px 4px;background:rgba(0, 0, 0, 0.1);border-radius:4px;margin-inline-start:6px;font-family:monospace;opacity:0.7;letter-spacing:1px}.btn-primary .btn-shortcut{background:rgba(255, 255, 255, 0.2)}.btn-outline .btn-shortcut{background:rgba(0, 0, 0, 0.05)}.btn:focus-visible{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.4)}.btn-primary{background:var(--color-primary, #10b981);box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.btn-secondary{background:var(--color-primary, #6b7280);box-shadow:0 2px 8px rgba(0, 0, 0, 0.1)}.btn-success{background:var(--color-success, #10b981);box-shadow:0 2px 8px rgba(var(--color-success-rgb, 16, 185, 129), 0.2)}.btn-danger{background:var(--color-danger, #ef4444);box-shadow:0 2px 8px rgba(var(--color-danger-rgb, 239, 68, 68), 0.2)}.btn-warning{background:var(--color-warning, #f59e0b);box-shadow:0 2px 8px rgba(var(--color-warning-rgb, 245, 158, 11), 0.2)}.btn-info{background:var(--color-primary, #10b981);box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.btn-dark{background:var(--bg-primary, #1f2937);color:var(--text-standard, #ffffff)}.btn-outline{background:transparent;border-color:var(--border-strong, #d1d5db);color:var(--btn-label-color, var(--label-color, var(--text-secondary, #374151)));box-shadow:none}.btn-outline:hover:not(.btn-disabled){border-color:var(--color-primary, #9ca3af);background:rgba(0, 0, 0, 0.02)}.btn-ghost{background:transparent;color:var(--btn-label-color, var(--label-color, var(--text-secondary, #374151)));box-shadow:none}.btn-ghost:hover:not(.btn-disabled){background:rgba(0, 0, 0, 0.05)}.btn-plain{background:transparent;border:none;box-shadow:none;color:inherit;padding:0;height:100%;min-width:0;width:100%;border-radius:inherit}.btn-plain:hover:not(.btn-disabled){transform:none;box-shadow:none;filter:none;background:transparent}.btn-plain:active:not(.btn-disabled){transform:none;filter:none}.btn-raised{background:var(--bg-primary, #ffffff);color:var(--btn-label-color, var(--label-color, var(--text-primary, #1f2937)));border:1px solid var(--border-default, #e5e7eb);border-bottom:3px solid var(--border-strong, #d1d5db);box-shadow:0 2px 4px rgba(0, 0, 0, 0.05)}.btn-raised:active:not(.btn-disabled){border-bottom-width:1px;transform:translateY(2px)}.btn-glass{background:rgba(255, 255, 255, 0.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255, 255, 255, 0.2);color:inherit;box-shadow:0 8px 32px rgba(0, 0, 0, 0.1)}.btn-glass:hover:not(.btn-disabled){background:rgba(255, 255, 255, 0.25)}.btn-soft{background:var(--btn-soft-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.15));color:var(--label-color, var(--text-primary, #1e293b));border-color:transparent;box-shadow:none}.btn-soft:hover:not(.btn-disabled){background:var(--btn-soft-hover-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.12));transform:translateY(-1px)}.btn-soft.btn-success{background:rgba(var(--color-success-rgb, 16, 185, 129), 0.1);color:var(--label-color, #10b981)}.btn-soft.btn-success:hover:not(.btn-disabled){background:rgba(var(--color-success-rgb, 16, 185, 129), 0.16)}.btn-soft.btn-danger{background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.1);color:var(--label-color, #ef4444)}.btn-soft.btn-danger:hover:not(.btn-disabled){background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.16)}.btn-soft.btn-warning{background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.1);color:var(--label-color, #f59e0b)}.btn-soft.btn-warning:hover:not(.btn-disabled){background:rgba(var(--color-warning-rgb, 245, 158, 11), 0.16)}.btn-soft.btn-info{background:rgba(var(--color-info-rgb, 6, 182, 212), 0.1);color:var(--label-color, #06b6d4)}.btn-soft.btn-info:hover:not(.btn-disabled){background:rgba(var(--color-info-rgb, 6, 182, 212), 0.16)}.btn-accordion{background:transparent;color:var(--btn-label-color, var(--label-color, var(--text-secondary, #374151)));box-shadow:none;width:100%;--button-padding:16px 0px;--ui-button-height:auto;justify-content:space-between !important;border:none;font-size:16px;font-weight:500}.btn-accordion:hover:not(.btn-disabled){background:transparent;transform:none !important;box-shadow:none !important;filter:none !important}.btn-accordion:active:not(.btn-disabled){transform:none !important;background:transparent;box-shadow:none !important;filter:none !important}.btn-accordion:focus-visible,.btn-accordion:focus,.btn-accordion:active{outline:none !important;box-shadow:none !important;background:transparent !important}.btn-gradient{background:linear-gradient(135deg, var(--color-success, #3dcd58) 0%, var(--color-success, #00b894) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(var(--color-success-rgb, 61, 205, 88), 0.35)}.btn-gradient:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-success, #2ebd4a) 0%, var(--color-success, #00a381) 100%);box-shadow:0 6px 20px rgba(var(--color-success-rgb, 61, 205, 88), 0.5);transform:translateY(-1px)}.btn-gradient:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(var(--color-success-rgb, 61, 205, 88), 0.3);transform:translateY(0)}.btn-gradient-blue{background:linear-gradient(135deg, var(--color-primary, #10b981) 0%, var(--color-primary, #8b5cf6) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(var(--color-primary-rgb, 59, 130, 246), 0.35)}.btn-gradient-blue:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-primary-hover, #2563eb) 0%, var(--color-primary, #7c3aed) 100%);box-shadow:0 6px 20px rgba(var(--color-primary-rgb, 59, 130, 246), 0.5);transform:translateY(-1px)}.btn-gradient-blue:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3);transform:translateY(0)}.btn-gradient-purple{background:linear-gradient(135deg, var(--color-primary, #8b5cf6) 0%, var(--color-danger, #ec4899) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(139, 92, 246, 0.35)}.btn-gradient-purple:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-primary, #7c3aed) 0%, var(--color-danger, #db2777) 100%);box-shadow:0 6px 20px rgba(139, 92, 246, 0.5);transform:translateY(-1px)}.btn-gradient-purple:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(139, 92, 246, 0.3);transform:translateY(0)}.btn-gradient-orange{background:linear-gradient(135deg, var(--color-danger, #f97316) 0%, var(--color-danger, #ef4444) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(249, 115, 22, 0.35)}.btn-gradient-orange:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-danger, #ea6c0a) 0%, var(--color-danger-hover, #dc2626) 100%);box-shadow:0 6px 20px rgba(249, 115, 22, 0.5);transform:translateY(-1px)}.btn-gradient-orange:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(249, 115, 22, 0.3);transform:translateY(0)}.btn-gradient-ocean{background:linear-gradient(135deg, var(--color-primary, #0ea5e9) 0%, var(--color-info, #06b6d4) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(14, 165, 233, 0.35)}.btn-gradient-ocean:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-primary, #0284c7) 0%, var(--color-info-hover, #0891b2) 100%);box-shadow:0 6px 20px rgba(14, 165, 233, 0.5);transform:translateY(-1px)}.btn-gradient-ocean:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(14, 165, 233, 0.3);transform:translateY(0)}.btn-gradient-sunset{background:linear-gradient(135deg, var(--color-warning, #f59e0b) 0%, var(--color-danger, #f97316) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(var(--color-warning-rgb, 245, 158, 11), 0.35)}.btn-gradient-sunset:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-warning-hover, #d97706) 0%, var(--color-danger, #ea6c0a) 100%);box-shadow:0 6px 20px rgba(var(--color-warning-rgb, 245, 158, 11), 0.5);transform:translateY(-1px)}.btn-gradient-sunset:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(var(--color-warning-rgb, 245, 158, 11), 0.3);transform:translateY(0)}.btn-gradient-candy{background:linear-gradient(135deg, var(--color-danger, #ec4899) 0%, var(--color-danger, #ef4444) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(236, 72, 153, 0.35)}.btn-gradient-candy:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-danger, #db2777) 0%, var(--color-danger-hover, #dc2626) 100%);box-shadow:0 6px 20px rgba(236, 72, 153, 0.5);transform:translateY(-1px)}.btn-gradient-candy:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(236, 72, 153, 0.3);transform:translateY(0)}.btn-gradient-gold{background:linear-gradient(135deg, var(--color-danger, #fbbf24) 0%, var(--color-warning-hover, #d97706) 100%);color:var(--text-standard, #ffffff);border:none;box-shadow:0 4px 15px rgba(251, 191, 36, 0.35);text-shadow:0 1px 2px rgba(0, 0, 0, 0.15)}.btn-gradient-gold:hover:not(.btn-disabled){background:linear-gradient(135deg, var(--color-warning, #f59e0b) 0%, var(--color-danger, #b45309) 100%);box-shadow:0 6px 20px rgba(251, 191, 36, 0.5);transform:translateY(-1px)}.btn-gradient-gold:active:not(.btn-disabled){box-shadow:0 2px 8px rgba(251, 191, 36, 0.3);transform:translateY(0)}.btn-xxxs{--ui-button-height:20px;font-size:10px;padding:0 6px}.btn-xxs{--ui-button-height:24px;font-size:11px;padding:0 8px}.btn-xs{--ui-button-height:28px;font-size:12px;padding:0 10px}.btn-sm{--ui-button-height:32px;font-size:13px;padding:0 12px}.btn-md{--ui-button-height:44px;font-size:14px;padding:0 18px}.btn-lg{--ui-button-height:52px;font-size:15px;padding:0 22px}.btn-xl{--ui-button-height:60px;font-size:16px;padding:0 28px}.btn-xxl{--ui-button-height:68px;font-size:18px;padding:0 36px}.btn-xxxl{--ui-button-height:84px;font-size:20px;padding:0 48px}.btn-shape-square,.btn-shape-sharp{border-radius:0}.btn-shape-rounded{border-radius:var(--button-border-radius, 8px)}.btn-shape-rounded-lg{border-radius:var(--button-border-radius, 12px)}.btn-shape-pill,.btn-shape-oval{border-radius:var(--button-border-radius, 9999px);padding-left:1.5rem !important;padding-right:1.5rem !important}.btn-icon-only{padding:0 !important;width:var(--ui-button-height, 40px) !important;min-width:var(--ui-button-height, 40px) !important;max-width:var(--ui-button-height, 40px) !important;flex:0 0 var(--ui-button-height, 40px) !important;aspect-ratio:1/1 !important;display:inline-flex;align-items:center;justify-content:center}.btn-icon-only .btn-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;gap:0}.btn-icon-only .btn-label-group{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;gap:0}.btn-icon-only .btn-icon{display:flex;align-items:center;justify-content:center;margin:0}.btn-icon-only .btn-label{margin:0;font-size:0.95em;font-weight:700;line-height:1;text-transform:uppercase;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.btn-shape-circle{border-radius:50% !important;aspect-ratio:1/1 !important;padding:0 !important;width:var(--ui-button-height, 40px) !important;min-width:var(--ui-button-height, 40px) !important;max-width:var(--ui-button-height, 40px) !important;display:inline-flex;align-items:center;justify-content:center}.btn-shape-chip{border-radius:100px;height:28px !important;font-size:11px;padding:0 12px}.btn-disabled{opacity:0.5;cursor:not-allowed;filter:grayscale(0.8);pointer-events:none}.btn-loading{cursor:wait}.btn-selected{background:var(--btn-selected-bg, rgba(var(--color-primary-rgb, 59, 130, 246), 0.12));color:var(--btn-selected-color, var(--color-primary, #2563eb));font-weight:700;outline:none;box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb, 59, 130, 246), 0.25)}.btn-selected::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.15);pointer-events:none;z-index:-1}.btn-ghost.btn-selected{background:var(--btn-selected-bg, rgba(37, 99, 235, 0.1));color:var(--btn-selected-color, var(--text-standard))}.btn-ghost.btn-selected:hover:not(.btn-disabled){background:var(--btn-selected-hover-bg, rgba(37, 99, 235, 0.16))}.btn-content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:auto;min-width:0;max-width:100%;position:relative;z-index:1;flex:1 1 auto;overflow:hidden}.btn-icon-pos-left .btn-label-row{flex-direction:row}.btn-icon-pos-right .btn-label-row{flex-direction:row}.btn-icon-pos-top,.btn-icon-pos-bottom{height:auto;min-height:var(--ui-button-height);padding-top:10px !important;padding-bottom:10px !important}.btn-icon-pos-top .btn-label-row,.btn-icon-pos-bottom .btn-label-row{gap:4px !important;align-items:center !important;justify-content:center !important}.btn-icon-pos-top .btn-title-block,.btn-icon-pos-bottom .btn-title-block{align-items:center !important;text-align:center !important}.btn-icon-pos-top .btn-label-row{flex-direction:column}.btn-icon-pos-bottom .btn-label-row{flex-direction:column}.btn-label-group{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden}.btn-label-group.is-column{flex-direction:column;gap:4px}.btn-counter{margin-inline-start:8px;vertical-align:middle;flex-shrink:0}.btn-icon,.btn-spinner{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-label{display:inline-flex;align-items:center;gap:inherit;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.btn-img{height:1.5em;width:auto;margin:0 4px;object-fit:contain;flex-shrink:0}.btn-avatar{position:relative;flex-shrink:0;border-radius:50%;overflow:visible;display:flex;align-items:center;justify-content:center;width:calc(var(--ui-button-height) * 0.65);height:calc(var(--ui-button-height) * 0.65);background:rgba(0, 0, 0, 0.05);margin-right:8px}.btn-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn-avatar .status-dot{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bg-primary, #ffffff);z-index:1}.btn-avatar .status-dot.status-online{background-color:var(--color-success, #10b981)}.btn-avatar .status-dot.status-offline{background-color:var(--text-muted, #6b7280)}.btn-avatar .status-dot.status-busy{background-color:var(--color-danger, #ef4444)}.btn-avatar .status-dot.status-away{background-color:var(--color-warning, #f59e0b)}.btn-icon-only .btn-avatar,.btn-shape-circle .btn-avatar{margin-inline-end:0;width:100%;height:100%;border-radius:inherit}.btn-icon-only .btn-avatar img,.btn-shape-circle .btn-avatar img{border-radius:inherit}.btn-has-bg{background-size:cover;background-position:center;position:relative}.btn-has-bg::before{content:"";position:absolute;inset:0;background:rgba(0, 0, 0, 0.3);transition:opacity 0.2s}.btn-has-bg:hover::before{background:rgba(0, 0, 0, 0.4)}.elevation-0{box-shadow:none}.elevation-1{box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.elevation-2{box-shadow:0 4px 8px rgba(0, 0, 0, 0.12)}.elevation-3{box-shadow:0 8px 16px rgba(0, 0, 0, 0.15)}.elevation-4{box-shadow:0 12px 24px rgba(0, 0, 0, 0.18)}.elevation-5{box-shadow:0 20px 40px rgba(0, 0, 0, 0.2)}ui-badge.is-inline{margin:0px}ui-badge.is-absolute{position:absolute;z-index:10;pointer-events:none;width:0;height:0;--badge-border:2px solid var(--btn-badge-border, var(--bg-primary, #ffffff))}.pos-top-right{top:-1rem;inset-inline-end:0}.pos-top-left{top:-1rem;inset-inline-start:0}.pos-bottom-right{bottom:1rem;inset-inline-end:0}.pos-bottom-left{bottom:1rem;inset-inline-start:0}.btn-ripple-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.ripple{position:absolute;border-radius:50%;background:rgba(255, 255, 255, 0.3);transform:scale(0);animation:ripple-anim 0.6s linear}@keyframes ripple-anim{to{transform:scale(4);opacity:0}}.btn-soft{box-shadow:none;border:none}.btn-soft.btn-primary,.btn-soft.btn-success,.btn-soft.btn-danger,.btn-soft.btn-warning,.btn-soft.btn-info{color:var(--label-color)}.btn-soft.btn-secondary{color:var(--label-subtitle-color)}.btn-soft:hover:not(.btn-disabled){background:currentColor;color:var(--text-standard, #ffffff);filter:none}.btn-active{transform:translateY(1px);filter:brightness(0.9) !important;box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.1) !important}.btn-skeleton{pointer-events:none;background:var(--bg-secondary, #f1f5f9) !important;border:none !important;color:transparent !important;box-shadow:none !important;position:relative;overflow:hidden}.btn-skeleton *{opacity:0 !important}.btn-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);animation:btn-shimmer 1.5s infinite}@keyframes btn-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.btn-gradient-sunset{background:linear-gradient(135deg, var(--color-primary, #f093fb) 0%, var(--color-danger, #f5576c) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-ocean{background:linear-gradient(135deg, var(--color-primary, #4facfe) 0%, var(--color-primary, #00f2fe) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-midnight{background:linear-gradient(135deg, var(--bg-primary, #232526) 0%, var(--bg-secondary, #414345) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-forest{background:linear-gradient(135deg, var(--color-primary, #11998e) 0%, var(--color-success, #38ef7d) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-gradient-blaze{background:linear-gradient(135deg, var(--color-danger, #ff512f) 0%, var(--color-danger, #dd2476) 100%);color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-dropdown-icon{margin-inline-start:4px;display:flex;align-items:center;opacity:0.8;transition:transform 0.2s}.btn:hover .btn-dropdown-icon{transform:translateY(1px)}.btn-magnetic,.btn-tilt{transition:transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);will-change:transform;transform-style:preserve-3d}.btn-glow{position:relative}.btn-glow::before{content:"";position:absolute;inset:-2px;background:currentColor;border-radius:inherit;filter:blur(8px);opacity:0.4;z-index:-1;animation:btn-glow-pulse 2s ease-in-out infinite}@keyframes btn-glow-pulse{0%,100%{opacity:0.3;transform:scale(1)}50%{opacity:0.6;transform:scale(1.05)}}.confetti-particle{position:absolute;top:50%;left:50%;width:8px;height:8px;background-color:var(--particle-color);border-radius:2px;pointer-events:none;z-index:10;animation:confetti-burst 0.8s ease-out forwards}@keyframes confetti-burst{0%{transform:translate(-50%, -50%) rotate(0deg) scale(1);opacity:1}100%{transform:translate(calc(cos(var(--particle-angle)) * 100px * var(--particle-velocity)), calc(sin(var(--particle-angle)) * 100px * var(--particle-velocity))) rotate(720deg) scale(0);opacity:0}}.btn-primary.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-primary.btn-glow::before{background:var(--ui-primary, var(--color-success, #3dcd58))}.btn-success.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-success.btn-glow::before{background:var(--ui-success, var(--color-success, #10b981))}.btn-danger.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-danger.btn-glow::before{background:var(--ui-danger, var(--color-danger, #ef4444))}.btn-warning.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-warning.btn-glow::before{background:var(--ui-warning, var(--color-warning, #f59e0b))}.btn-info.btn-glow{color:var(--bg-primary, var(--text-standard, #ffffff))}.btn-info.btn-glow::before{background:var(--ui-info, var(--color-info-hover, #0891b2))}.btn-glossy{position:relative;overflow:hidden}.btn-glossy::after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right, transparent, rgba(255, 255, 255, 0.4), transparent);transform:skewX(-25deg);animation:glossy-sweep 4s infinite ease-in-out}@keyframes glossy-sweep{0%{left:-100%}30%{left:150%}100%{left:150%}}.btn-icon{display:inline-flex;transition:transform 0.2s cubic-bezier(0.4, 0, 0.2, 1)}.btn-icon ui-icon{transition:opacity 0.2s, transform 0.2s}.btn:hover .btn-icon ui-icon{transform:scale(1.1)}.btn-hold-track{position:absolute;top:0;left:0;height:100%;background:rgba(0, 0, 0, 0.15);pointer-events:none;z-index:0;transition:width 0.05s linear}.btn-has-theme{--btn-theme-bg:var(--btn-theme-color, var(--color-primary, #10b981));--btn-theme-text:var(--text-standard, #ffffff);background:var(--btn-theme-bg);color:var(--btn-theme-text);border:none}.btn-has-theme:hover:not(.btn-disabled){background:color-mix(in srgb, var(--btn-theme-bg), #000 10%);box-shadow:0 4px 12px color-mix(in srgb, var(--btn-theme-bg), transparent 70%)}.btn-has-theme.btn-outline{background:transparent;color:var(--btn-theme-bg);border:1px solid var(--btn-theme-bg)}.btn-has-theme.btn-outline:hover:not(.btn-disabled){background:var(--btn-theme-bg);color:var(--text-standard, #ffffff)}.btn-has-theme.btn-soft{color:var(--btn-theme-bg)}.btn-has-theme.btn-soft:hover:not(.btn-disabled){background:var(--btn-theme-bg);color:var(--text-standard, #ffffff)}.btn-progress-track{position:absolute;top:0;left:0;height:100%;background:color-mix(in srgb, currentColor, transparent 80%);z-index:1;pointer-events:none;transition:width 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.btn-primary .btn-progress-track{background:rgba(0, 0, 0, 0.2)}.btn-outline .btn-progress-track{background:color-mix(in srgb, currentColor, transparent 85%)}.btn-accordion{background:transparent;border:none;padding:0;height:auto;min-height:48px;width:100%;border-radius:0;box-shadow:none;color:inherit;--button-width:100%}.btn-accordion .btn-content,.btn-accordion .btn-label-row{padding:0 20px;justify-content:space-between}.btn-accordion .btn-label-block,.btn-accordion .btn-title{align-items:stretch;text-align:left;width:100%;display:flex;flex-direction:column}.btn-accordion:hover:not(.btn-disabled){background:rgba(0, 0, 0, 0.02);transform:none;box-shadow:none;filter:none}.btn-accordion:active:not(.btn-disabled){background:rgba(0, 0, 0, 0.05);transform:none}.btn-shaking{animation:btn-shake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}@keyframes btn-shake{10%,90%{transform:translate3d(-1px, 0, 0)}20%,80%{transform:translate3d(2px, 0, 0)}30%,50%,70%{transform:translate3d(-4px, 0, 0)}40%,60%{transform:translate3d(4px, 0, 0)}}.btn-rainbow.btn-glow::before{animation:btn-rainbow-glow 4s linear infinite;opacity:0.6}@keyframes btn-rainbow-glow{0%{background:var(--color-danger, #ff0000);filter:hue-rotate(0deg) blur(10px)}100%{background:var(--color-danger, #ff0000);filter:hue-rotate(360deg) blur(10px)}}.btn-liquid-progress{overflow:hidden}.btn-liquid-progress::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:rgba(255, 255, 255, 0.2);border-radius:38%;animation:btn-liquid-wave 3s linear infinite}@keyframes btn-liquid-wave{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.btn-split{padding-right:0 !important}.btn-split .btn-dropdown-icon{height:100%;padding:0 12px;margin-inline-start:8px;border-inline-start:1px solid rgba(255, 255, 255, 0.2);display:flex;align-items:center;transition:background 0.2s}.btn-split .btn-dropdown-icon:hover{background:rgba(0, 0, 0, 0.1)}.btn-confirm-pop{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--bg-primary, #1f2937);color:var(--text-standard, #ffffff);padding:12px 16px;border-radius:12px;font-size:13px;display:flex;align-items:center;gap:12px;white-space:nowrap;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);z-index:100;animation:pop-in 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.btn-confirm-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--border-strong, #1f2937)}.btn-confirm-pop .pop-actions{display:flex;gap:6px}.btn-confirm-pop .pop-actions button{width:24px;height:24px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:transform 0.1s}.btn-confirm-pop .pop-actions button:active{transform:scale(0.9)}.btn-confirm-pop .pop-actions .pop-btn-no{background:var(--text-secondary, #374151);color:var(--bg-primary, #ffffff)}.btn-confirm-pop .pop-actions .pop-btn-yes{background:var(--color-success, #10b981);color:var(--bg-primary, #ffffff)}@keyframes pop-in{from{opacity:0;transform:translateX(-50%) translateY(10px) scale(0.9)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.btn-reveal-fade-in{animation:btn-fade-in 0.6s ease-out forwards}.btn-reveal-slide-up{animation:btn-slide-up 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards}.btn-reveal-zoom{animation:btn-zoom-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards}@keyframes btn-fade-in{from{opacity:0}to{opacity:1}}@keyframes btn-slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes btn-zoom-in{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.btn-tooltip-pop{position:absolute;top:-10px;left:50%;transform:translateX(-50%) translateY(-100%);background:var(--bg-primary, #1f2937);color:var(--text-standard, #ffffff);padding:4px 10px;border-radius:6px;font-size:11px;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);animation:tooltip-in 0.2s ease-out}.btn-tooltip-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--border-strong, #1f2937)}@keyframes tooltip-in{from{opacity:0;transform:translateX(-50%) translateY(-90%) scale(0.95)}to{opacity:1;transform:translateX(-50%) translateY(-100%) scale(1)}}.btn-animate-gradient{background-size:240% 240% !important;animation:bg-living-gradient 6s ease infinite !important}@keyframes bg-living-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.btn-pulse{position:relative}.btn-pulse::before{content:"";position:absolute;inset:-6px;background:inherit;border-radius:inherit;opacity:0.4;z-index:-1;animation:btn-energy-pulse 2s cubic-bezier(0.24, 0, 0.38, 1) infinite}@keyframes btn-energy-pulse{0%{transform:scale(1);opacity:0.4;filter:blur(2px)}100%{transform:scale(1.3);opacity:0;filter:blur(8px)}}.btn-group-start{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;border-right:0.5px solid rgba(0, 0, 0, 0.1) !important}.btn-group-middle{border-radius:0 !important;border-right:0.5px solid rgba(0, 0, 0, 0.1) !important}.btn-group-end{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.btn-is-slider{background:rgba(0, 0, 0, 0.05) !important;border:1px solid rgba(0, 0, 0, 0.1) !important;box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.05) !important;color:var(--text-muted, #64748b) !important;cursor:default !important;overflow:hidden;position:relative}.btn-is-slider:hover{transform:none !important}.btn-is-slider .btn-slider-handle{position:absolute;top:4px;height:calc(100% - 8px);width:52px;background:var(--bg-primary, #ffffff);border-radius:inherit;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);cursor:grab;z-index:10;transition:left 0.05s linear;color:var(--ui-primary, var(--color-success, #3dcd58))}.btn-is-slider .btn-slider-handle:active{cursor:grabbing}.btn-is-slider.btn-primary .btn-slider-handle{color:var(--ui-primary, var(--color-success, #3dcd58))}.btn-is-slider.btn-danger .btn-slider-handle{color:var(--ui-danger, var(--color-danger, #ef4444))}.btn-is-slider.btn-success .btn-slider-handle{color:var(--ui-success, var(--color-success, #10b981))}.btn-icon-hover-rotate:hover:not(.btn-disabled) .btn-icon{transform:rotate(15deg);transition:transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.btn-follow-glow::before{content:"";position:absolute;inset:0;background:radial-gradient(circle 80px at var(--glow-x, 0) var(--glow-y, 0), rgba(255, 255, 255, 0.15), transparent);opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:1}.btn-follow-glow:hover::before{opacity:1}.btn-spinning .btn-icon{animation:btn-icon-spin 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes btn-icon-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.btn-shatter{position:absolute;background:rgba(0, 0, 0, 0.6);pointer-events:none;z-index:100;animation:btn-shatter-explode 0.8s cubic-bezier(0.1, 0.8, 0.3, 1) forwards}@keyframes btn-shatter-explode{0%{transform:translate(0, 0) rotate(0);opacity:1}100%{transform:translate(var(--vx), var(--vy)) rotate(var(--vr));opacity:0}}.btn-spinner.is-ring{width:24px;height:24px}.btn-spinner.is-ring .progress-ring{transform:rotate(-90deg);width:100%;height:100%}.btn-spinner.is-ring .progress-ring circle{stroke-linecap:round}.btn-spinner.is-ring .progress-ring .ring-bg{stroke:rgba(255, 255, 255, 0.1)}.btn-spinner.is-ring .progress-ring .ring-fg{stroke:currentColor;transition:stroke-dasharray 0.3s ease}.btn-primary .ring-bg{stroke:rgba(0, 0, 0, 0.1)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-surface), 0 0 0 4px var(--ui-primary, var(--color-success, #3dcd58)) !important;z-index:100}.btn:active:not(.btn-disabled),.btn-active:not(.btn-disabled){transform:translateY(1px) scale(0.96);box-shadow:0 1px 2px rgba(0, 0, 0, 0.1) !important;filter:brightness(0.95)}.btn-raised:active:not(.btn-disabled){box-shadow:0 2px 4px rgba(0, 0, 0, 0.15) !important}@media (max-width: 640px){.btn-hide-mobile{padding:0 !important;width:var(--ui-button-height) !important;min-width:var(--ui-button-height) !important}.btn-hide-mobile .btn-label,.btn-hide-mobile .btn-label-group,.btn-hide-mobile .btn-dropdown-icon{display:none !important}.btn-hide-mobile .btn-icon{margin:0 !important}}.btn-progress-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(255, 255, 255, 0.2);border-radius:inherit;pointer-events:none;transition:width 0.4s ease;z-index:0}.btn-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.btn-counter-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;height:18px;min-width:18px;padding:0 6px;border-radius:999px;background:var(--btn-counter-bg, rgba(0, 0, 0, 0.08));color:var(--btn-counter-color, inherit);margin-inline-start:8px;line-height:1;flex-shrink:0;box-sizing:border-box;text-shadow:none}.btn-primary .btn-counter-badge,.btn-success .btn-counter-badge,.btn-danger .btn-counter-badge,.btn-warning .btn-counter-badge,.btn-info .btn-counter-badge,.btn-dark .btn-counter-badge{background:var(--btn-counter-bg, rgba(255, 255, 255, 0.25));color:var(--btn-counter-color, #ffffff)}.btn-secondary .btn-counter-badge{background:var(--btn-counter-bg, rgba(0, 0, 0, 0.12));color:var(--btn-counter-color, inherit)}.btn-outline .btn-counter-badge,.btn-ghost .btn-counter-badge{background:var(--btn-counter-bg, rgba(0, 0, 0, 0.08));color:var(--btn-counter-color, var(--btn-label-color, var(--label-color, var(--text-secondary, #374151))))}.btn-soft .btn-counter-badge{background:var(--btn-counter-bg, rgba(0, 0, 0, 0.06));color:var(--btn-counter-color, inherit)}.btn-soft.btn-primary .btn-counter-badge{background:var(--btn-counter-bg, rgba(59, 130, 246, 0.15));color:var(--btn-counter-color, var(--color-primary, #3b82f6))}.btn-soft.btn-success .btn-counter-badge{background:var(--btn-counter-bg, rgba(16, 185, 129, 0.15));color:var(--btn-counter-color, var(--color-success, #10b981))}.btn-soft.btn-danger .btn-counter-badge{background:var(--btn-counter-bg, rgba(239, 68, 68, 0.15));color:var(--btn-counter-color, var(--color-danger, #ef4444))}.btn-soft.btn-warning .btn-counter-badge{background:var(--btn-counter-bg, rgba(245, 158, 11, 0.15));color:var(--btn-counter-color, var(--color-warning, #f59e0b))}.btn-soft.btn-info .btn-counter-badge{background:var(--btn-counter-bg, rgba(6, 182, 212, 0.15));color:var(--btn-counter-color, var(--color-info, #06b6d4))}.btn-gradient .btn-counter-badge,.btn-gradient-blue .btn-counter-badge,.btn-gradient-purple .btn-counter-badge,.btn-gradient-orange .btn-counter-badge,.btn-gradient-ocean .btn-counter-badge,.btn-gradient-sunset .btn-counter-badge,.btn-gradient-candy .btn-counter-badge,.btn-gradient-gold .btn-counter-badge,.btn-gradient-midnight .btn-counter-badge,.btn-gradient-forest .btn-counter-badge,.btn-gradient-blaze .btn-counter-badge{background:var(--btn-counter-bg, rgba(255, 255, 255, 0.25));color:var(--btn-counter-color, #ffffff)}.btn-counter-badge.counter-primary{background-color:var(--color-primary, #3b82f6) !important;color:#ffffff !important}.btn-counter-badge.counter-success{background-color:var(--color-success, #10b981) !important;color:#ffffff !important}.btn-counter-badge.counter-danger{background-color:var(--color-danger, #ef4444) !important;color:#ffffff !important}.btn-counter-badge.counter-warning{background-color:var(--color-warning, #f59e0b) !important;color:#ffffff !important}.btn-counter-badge.counter-info{background-color:var(--color-info, #06b6d4) !important;color:#ffffff !important}.btn-counter-badge.counter-secondary{background-color:var(--color-secondary, #6b7280) !important;color:#ffffff !important}`;
|
|
2004
2052
|
|
|
2005
2053
|
const Button = class {
|
|
2006
2054
|
get el() { return index.getElement(this); }
|
|
@@ -2088,6 +2136,14 @@ const Button = class {
|
|
|
2088
2136
|
grow = false;
|
|
2089
2137
|
/** Badge content */
|
|
2090
2138
|
badge;
|
|
2139
|
+
/** Counter badge content (inline right side of text) */
|
|
2140
|
+
counter;
|
|
2141
|
+
/** Counter badge color variant (primary, success, danger, etc.) */
|
|
2142
|
+
counterColor;
|
|
2143
|
+
/** Custom background color for the counter badge */
|
|
2144
|
+
counterCustomColor;
|
|
2145
|
+
/** Custom text color for the counter badge */
|
|
2146
|
+
counterCustomTextColor;
|
|
2091
2147
|
/** Badge color variant (primary, success, danger, etc.) */
|
|
2092
2148
|
badgeColor = 'danger';
|
|
2093
2149
|
/** Custom background color for the badge */
|
|
@@ -2117,6 +2173,21 @@ const Button = class {
|
|
|
2117
2173
|
copied = false;
|
|
2118
2174
|
/** Click event */
|
|
2119
2175
|
buttonClick;
|
|
2176
|
+
getBadgeColor() {
|
|
2177
|
+
const finalBadgeColor = this.badgeColor;
|
|
2178
|
+
if (finalBadgeColor === this.color) {
|
|
2179
|
+
if (this.color === 'danger') {
|
|
2180
|
+
return 'warning';
|
|
2181
|
+
}
|
|
2182
|
+
else if (this.color === 'warning') {
|
|
2183
|
+
return 'danger';
|
|
2184
|
+
}
|
|
2185
|
+
else {
|
|
2186
|
+
return 'danger';
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
return finalBadgeColor;
|
|
2190
|
+
}
|
|
2120
2191
|
handleClick = (event) => {
|
|
2121
2192
|
if (this.disabled || this.loading) {
|
|
2122
2193
|
event.preventDefault();
|
|
@@ -2176,7 +2247,8 @@ const Button = class {
|
|
|
2176
2247
|
* are not needed — the DOM order itself drives the visual order.
|
|
2177
2248
|
*/
|
|
2178
2249
|
renderButtonContent(iconElement, avatarElement, spinner) {
|
|
2179
|
-
const
|
|
2250
|
+
const hostTitle = this.el.getAttribute('title') || '';
|
|
2251
|
+
const trimmedLabel = (this.label || hostTitle).trim();
|
|
2180
2252
|
const trimmedDescription = (this.description || this.subtitle || '').trim();
|
|
2181
2253
|
const hasLabel = !!trimmedLabel;
|
|
2182
2254
|
const hasDescription = !!trimmedDescription;
|
|
@@ -2186,14 +2258,25 @@ const Button = class {
|
|
|
2186
2258
|
return this.loading ? spinner : (avatarElement || iconElement || index.h("slot", null));
|
|
2187
2259
|
}
|
|
2188
2260
|
const badgeInlineLeft = this.badge && (this.badgePosition === 'inline-left' ||
|
|
2189
|
-
(this.rtl && this.badgePosition === 'inline-right')) ? (index.h("ui-badge", { class: "btn-badge-inline", value: this.badge.toString(), color: this.
|
|
2261
|
+
(this.rtl && this.badgePosition === 'inline-right')) ? (index.h("ui-badge", { class: "btn-badge-inline", value: this.badge.toString(), color: this.getBadgeColor(), "custom-color": this.badgeCustomColor, "custom-text-color": this.badgeCustomTextColor, size: "sm" })) : null;
|
|
2190
2262
|
const badgeInlineRight = this.badge && (this.badgePosition === 'inline-right' ||
|
|
2191
|
-
(this.rtl && this.badgePosition === 'inline-left')) ? (index.h("ui-badge", { class: "btn-badge-inline", value: this.badge.toString(), color: this.
|
|
2263
|
+
(this.rtl && this.badgePosition === 'inline-left')) ? (index.h("ui-badge", { class: "btn-badge-inline", value: this.badge.toString(), color: this.getBadgeColor(), "custom-color": this.badgeCustomColor, "custom-text-color": this.badgeCustomTextColor, size: "sm" })) : null;
|
|
2192
2264
|
const showSpinnerAtStart = this.loading && (this.loadingPosition === 'left' || (this.loadingPosition === 'icon' && !iconElement && !avatarElement));
|
|
2193
2265
|
const showSpinnerAtEnd = this.loading && this.loadingPosition === 'right';
|
|
2194
2266
|
const showSpinnerCentered = this.loading && (this.loadingPosition === 'center' || this.loadingPosition === 'icon');
|
|
2195
2267
|
const iconBlock = (avatarElement || iconElement || showSpinnerCentered) ? (index.h("div", { class: "btn-icon-block", part: "icon-block" }, showSpinnerCentered ? spinner : (avatarElement || iconElement))) : null;
|
|
2196
|
-
const
|
|
2268
|
+
const counterStyles = {};
|
|
2269
|
+
if (this.counterCustomColor) {
|
|
2270
|
+
counterStyles['background-color'] = this.counterCustomColor;
|
|
2271
|
+
}
|
|
2272
|
+
if (this.counterCustomTextColor) {
|
|
2273
|
+
counterStyles['color'] = this.counterCustomTextColor;
|
|
2274
|
+
}
|
|
2275
|
+
const counterElement = this.counter !== undefined && this.counter !== '' ? (index.h("span", { class: {
|
|
2276
|
+
'btn-counter-badge': true,
|
|
2277
|
+
[`counter-${this.counterColor}`]: !!this.counterColor
|
|
2278
|
+
}, style: counterStyles, part: "counter" }, this.counter)) : null;
|
|
2279
|
+
const labelBlock = showLabel ? (index.h("div", { class: "btn-label-block", part: "label-block" }, index.h("div", { class: "btn-title", part: "title" }, this.copied ? '✓ Copied!' : (hasLabel ? trimmedLabel : index.h("slot", null)), counterElement), hasDescription && (index.h("div", { class: `btn-subtitle btn-subtitle-${this.descriptionPosition}`, part: "subtitle" }, trimmedDescription)))) : null;
|
|
2197
2280
|
return (index.h("div", { class: {
|
|
2198
2281
|
'btn-label-row': true,
|
|
2199
2282
|
[`icon-pos-${this.iconPosition}`]: true
|
|
@@ -2206,7 +2289,8 @@ const Button = class {
|
|
|
2206
2289
|
const Tag = (this.href ? 'a' : 'button');
|
|
2207
2290
|
const normalizedSize = componentSize.normalizeComponentSize(this.size, 'md');
|
|
2208
2291
|
const spinner = this.loading ? (index.h("span", { class: `btn-spinner btn-spinner-${this.loadingPosition}` }, index.h("ui-loader", { size: "xs", color: "currentColor" }))) : null;
|
|
2209
|
-
const
|
|
2292
|
+
const hostTitle = this.el.getAttribute('title') || '';
|
|
2293
|
+
const sanitizedLabel = this.ariaLabel || (this.label || hostTitle || this.el.textContent || '').trim();
|
|
2210
2294
|
const finalAriaLabel = security.sanitizeHTML(sanitizedLabel);
|
|
2211
2295
|
const renderProps = this.href ? {
|
|
2212
2296
|
href: this.href,
|
|
@@ -2255,7 +2339,7 @@ const Button = class {
|
|
|
2255
2339
|
this.rtl && 'btn-rtl',
|
|
2256
2340
|
this.reveal !== 'none' && `reveal-${this.reveal}`,
|
|
2257
2341
|
].filter(Boolean).join(' ');
|
|
2258
|
-
return (index.h(Tag, { key: '
|
|
2342
|
+
return (index.h(Tag, { key: '1a633068acc34fcf0fa27d2035b26452c17446c1', ...renderProps, style: styles, class: hostClass, part: "button", dir: this.rtl ? 'rtl' : 'ltr', onClick: this.handleClick, ref: (el) => (this.nativeButton = el) }, !this.noRipple && index.h("span", { key: 'c39b6a3c884ddcb8b1123a92fd325a39b6749bdf', class: "btn-ripple-container" }), index.h("span", { key: 'f7ef1d361081711c95019718ca64b7215b59f235', class: "btn-content" }, isImageButton ? (index.h("fragment", null, this.loading && spinner, index.h("img", { src: this.imgSrc, alt: this.imgAlt || '', class: "btn-image" }))) : (this.renderButtonContent(iconElement, avatarElement, spinner))), this.badge && !this.badgePosition.startsWith('inline') && (index.h("ui-badge", { key: '63cf65ca304184c969dedd157730c116823d9ba9', class: `btn-badge is-absolute pos-${this.badgePosition}`, value: this.badge.toString(), color: this.getBadgeColor(), "custom-color": this.badgeCustomColor, "custom-text-color": this.badgeCustomTextColor, size: "sm" })), this.progress !== undefined && (index.h("span", { key: 'e9ea36586c110dc064dc9b8676b83765d5ce281a', class: "btn-progress-fill", style: { width: `${Math.min(100, Math.max(0, this.progress))}%` } }))));
|
|
2259
2343
|
}
|
|
2260
2344
|
static get delegatesFocus() { return true; }
|
|
2261
2345
|
static get formAssociated() { return true; }
|
|
@@ -2333,15 +2417,15 @@ const ButtonToggle = class {
|
|
|
2333
2417
|
if (this.reveal !== 'none' && this.revealDelay > 0) {
|
|
2334
2418
|
style['animation-delay'] = `${this.revealDelay}ms`;
|
|
2335
2419
|
}
|
|
2336
|
-
return (index.h("ui-button", { key: '
|
|
2420
|
+
return (index.h("ui-button", { key: 'faf3faae2f92535d6336b53616c8013ff533e7d6', part: "button", label: this.label, description: this.description, descriptionPosition: this.descriptionPosition, shape: this.shape, variant: this.variant, size: this.size, selected: this.selected, style: style, icon: this.icon || this.iconLeft || this.iconRight, iconPosition: this.iconPosition, iconLibrary: this.library, iconOnly: this.iconOnly, avatarSrc: this.avatarSrc, avatarAlt: this.avatarAlt, avatarStatus: this.status, disabled: this.disabled || this.loading, "aria-pressed": this.selected ? 'true' : 'false', "aria-label": this.label, role: "radio", onClick: this.handleClick, tabIndex: this.disabled ? -1 : 0, class: {
|
|
2337
2421
|
'button-toggle-item': true,
|
|
2338
2422
|
'full-width': this.fullWidth
|
|
2339
|
-
} }, index.h("slot", { key: '
|
|
2423
|
+
} }, index.h("slot", { key: '4423b19bae11878c48a5ae7d66bd332aa8d6015f' })));
|
|
2340
2424
|
}
|
|
2341
2425
|
};
|
|
2342
2426
|
ButtonToggle.style = buttonToggleCss();
|
|
2343
2427
|
|
|
2344
|
-
const buttonToggleGroupCss = () => `.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}.ui-button-toggle-group{display:inline-flex;flex-direction:column;gap:12px;width:max-content;min-width:fit-content;font-family:inherit}.ui-button-toggle-group.group-rtl{direction:rtl}.ui-button-toggle-group.group-wrap .button-list{flex-wrap:wrap}.ui-button-toggle-group{}.ui-button-toggle-group.group-shape-round{--group-radius:12px;--indicator-radius:8px}.ui-button-toggle-group.group-shape-pill{--group-radius:99px;--indicator-radius:99px}.ui-button-toggle-group.group-shape-square{--group-radius:0px;--indicator-radius:0px}.ui-button-toggle-group{}.ui-button-toggle-group.group-variant-chip .button-list{background:transparent;padding:4px;gap:10px;box-shadow:none;flex-wrap:wrap;border:none !important;overflow:visible}.ui-button-toggle-group.group-variant-chip ui-button{transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.ui-button-toggle-group.group-variant-chip ui-button:hover{transform:translateY(-2px)}.ui-button-toggle-group.group-variant-chip ui-button::part(button){background:rgba(255, 255, 255, 0.5) !important;backdrop-filter:blur(8px);border:1px solid rgba(0, 0, 0, 0.05) !important;border-radius:99px !important;color:#64748b !important;font-weight:500 !important;--button-padding:8px 18px;--ui-button-height:auto;min-height:32px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.02) !important}.ui-button-toggle-group.group-variant-chip ui-button:hover::part(button){border-color:rgba(var(--color-primary-rgb, 16, 185, 129), 0.2) !important;background:#ffffff !important;color:var(--color-primary, #10b981) !important;box-shadow:0 4px 12px rgba(0, 0, 0, 0.05) !important}.ui-button-toggle-group.group-variant-chip ui-button[selected]::part(button){background:var(--indicator-bg, var(--color-primary, #10b981)) !important;color:#ffffff !important;opacity:1 !important;border-color:transparent !important;font-weight:700 !important;box-shadow:0 8px 20px rgba(var(--color-primary-rgb, 16, 185, 129), 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;transform:translateY(-1px)}.ui-button-toggle-group.group-variant-chip ui-button[selected]:hover::part(button){filter:brightness(1.1);box-shadow:0 10px 25px rgba(var(--color-primary-rgb, 16, 185, 129), 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.4) !important}.button-group-label{font-weight:700;color:var(--label-color, #1e293b);font-size:0.9375rem;margin-bottom:6px;display:flex;align-items:center}.required-indicator{color:var(--color-danger-hover, #dc2626);margin-left:4px}.button-list{display:flex;padding:var(--group-padding, 6px);padding:var(--group-padding, 4px);border-radius:var(--group-radius, 10px);position:relative;background:var(--button-group-bg, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);overflow:hidden;transform:translateZ(0);isolation:isolate;background-clip:padding-box;color:var(--text-color, #64748b);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.03)}.selection-indicator{position:absolute;top:0;left:0;background:var(--indicator-bg, #10b981);opacity:0;pointer-events:none;transition:transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), width 0.3s cubic-bezier(0.19, 1, 0.22, 1), height 0.3s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.2s ease;z-index:1;border-radius:var(--indicator-radius, 99px);box-shadow:0 8px 20px rgba(0, 0, 0, 0.12), inset 0 1px 1px rgba(255, 255, 255, 0.3);border:1px solid rgba(255, 255, 255, 0.1);box-sizing:border-box;}.selection-indicator::after{content:"";position:absolute;inset:0;background:rgba(0, 0, 0, 0.05);border-radius:inherit;opacity:0;transition:opacity 0.2s}.button-list:hover .selection-indicator::after{opacity:0.2}.button-list-horizontal{flex-direction:row;align-items:stretch}.button-list-vertical{flex-direction:column;align-items:stretch}.button-list ui-button{flex:none;position:relative;z-index:2;--button-padding:8px 16px;--ui-button-height:auto;min-height:44px}.button-list-vertical ui-button{width:100%}.button-list ui-button[icon-only]{width:44px !important;--button-padding:0 !important;--ui-button-height:44px !important;flex:0 0 44px !important}.button-list-full-width ui-button{flex:1}.button-list ui-button::part(button){background:rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.02) !important;color:inherit !important;border:none !important;box-shadow:none !important;font-weight:600 !important;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);--button-border-radius:var(--indicator-radius, 8px);opacity:1}.button-list ui-button::part(subtitle){opacity:0.7;color:inherit !important}.button-list ui-button:hover::part(button){opacity:1;background:rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.05) !important;color:var(--indicator-bg, var(--color-primary-dark, #059669)) !important}.button-list:not(.group-multi-select) ui-button[selected]::part(button){color:var(--indicator-text-color, #ffffff);z-index:5;opacity:1}.ui-button-toggle-group .button-list ui-button[selected]::part(title),.ui-button-toggle-group .button-list ui-button[selected]::part(subtitle),.ui-button-toggle-group .button-list ui-button[selected]::part(icon){color:var(--indicator-text-color, #ffffff);opacity:1}.group-multi-select .button-list ui-button[selected]::part(button){background:var(--indicator-bg, #10b981);color:var(--indicator-text-color, #ffffff);opacity:1;box-shadow:0 4px 12px rgba(var(--color-primary-rgb, 16, 185, 129), 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.2);border-radius:var(--indicator-radius, 30px);border:1px solid rgba(255, 255, 255, 0.1);z-index:5;transform:scale(0.96)}.button-list-horizontal:not([style*="--group-padding"]) ui-button:not(:last-child)::after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.08) 20%, rgba(0, 0, 0, 0.08) 80%, transparent);z-index:3;transition:opacity 0.2s ease}.button-list ui-button[selected]::after,.button-list ui-button[selected]+ui-button::after{opacity:0 !important}.helper-text{font-size:0.875rem;color:var(--text-muted, #64748b);margin-top:6px;font-weight:400}.helper-text.error{color:#ef4444}.ui-button-toggle-group[variant=dropdown] .button-list{--group-padding:0;--indicator-radius:4px}.dropdown-container{position:relative;display:inline-flex}.dropdown-button{display:flex;align-items:stretch;background:var(--button-group-bg, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--group-radius, 10px);overflow:hidden;transition:all 0.2s ease}.dropdown-button.dropdown-button-open{border-color:var(--color-primary, #10b981);box-shadow:0 0 0 3px rgba(16, 185, 129, 0.1)}.dropdown-action-button{border-radius:0 !important;flex:1;--button-padding:0 16px;--ui-button-height:44px}.dropdown-toggle-button{border-radius:0 !important;width:44px;border-left:1px solid rgba(0, 0, 0, 0.05) !important;--button-padding:0;--ui-button-height:44px}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.1);z-index:1000;display:flex;flex-direction:column;padding:6px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-menu.dropdown-menu-open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:6px;cursor:pointer;color:#475569;font-size:0.9375rem;font-weight:500;transition:all 0.15s ease;white-space:nowrap}.dropdown-option:hover{background:#f1f5f9;color:#1e293b}.dropdown-option.dropdown-option-selected{background:rgba(16, 185, 129, 0.1);color:#10b981}.dropdown-option.dropdown-option-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.dropdown-option .option-icon{display:flex;align-items:center;justify-content:center;color:inherit;font-size:1.1em}.dropdown-option .option-label{flex:1}.dropdown-option .option-check{color:#10b981;margin-left:auto;display:flex;align-items:center}.dropdown-search{padding:4px 8px 8px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}.dropdown-search input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:0.8125rem;outline:none;transition:all 0.2s}.dropdown-search input:focus{border-color:#10b981;box-shadow:0 0 0 2px rgba(16, 185, 129, 0.1)}`;
|
|
2428
|
+
const buttonToggleGroupCss = () => `.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}.ui-button-toggle-group{display:inline-flex;flex-direction:column;gap:12px;width:max-content;min-width:fit-content;font-family:inherit}.ui-button-toggle-group.group-rtl{direction:rtl}.ui-button-toggle-group.group-wrap .button-list{flex-wrap:wrap}.ui-button-toggle-group{}.ui-button-toggle-group.group-shape-round{--group-radius:12px;--indicator-radius:8px}.ui-button-toggle-group.group-shape-pill{--group-radius:99px;--indicator-radius:99px}.ui-button-toggle-group.group-shape-square{--group-radius:0px;--indicator-radius:0px}.ui-button-toggle-group{}.ui-button-toggle-group.group-variant-chip .button-list{background:transparent;padding:4px;gap:10px;box-shadow:none;flex-wrap:wrap;border:none !important;overflow:visible}.ui-button-toggle-group.group-variant-chip ui-button{transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.ui-button-toggle-group.group-variant-chip ui-button:hover{transform:translateY(-2px)}.ui-button-toggle-group.group-variant-chip ui-button::part(button){background:rgba(255, 255, 255, 0.5) !important;backdrop-filter:blur(8px);border:1px solid rgba(0, 0, 0, 0.05) !important;border-radius:99px !important;color:#64748b !important;font-weight:500 !important;--button-padding:8px 18px;--ui-button-height:auto;min-height:32px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.02) !important}.ui-button-toggle-group.group-variant-chip ui-button:hover::part(button){border-color:rgba(var(--color-primary-rgb, 16, 185, 129), 0.2) !important;background:#ffffff !important;color:var(--color-primary, #10b981) !important;box-shadow:0 4px 12px rgba(0, 0, 0, 0.05) !important}.ui-button-toggle-group.group-variant-chip ui-button[selected]::part(button){background:var(--indicator-bg, var(--color-primary, #10b981)) !important;color:#ffffff !important;opacity:1 !important;border-color:transparent !important;font-weight:700 !important;box-shadow:0 8px 20px rgba(var(--color-primary-rgb, 16, 185, 129), 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;transform:translateY(-1px)}.ui-button-toggle-group.group-variant-chip ui-button[selected]:hover::part(button){filter:brightness(1.1);box-shadow:0 10px 25px rgba(var(--color-primary-rgb, 16, 185, 129), 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.4) !important}.button-group-label{font-weight:700;color:var(--label-color, #1e293b);font-size:0.9375rem;margin-bottom:6px;display:flex;align-items:center}.required-indicator{color:var(--color-danger-hover, #dc2626);margin-left:4px}.button-list{display:flex;padding:var(--group-padding, 6px);padding:var(--group-padding, 4px);border-radius:var(--group-radius, 10px);position:relative;background:var(--button-group-bg, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);overflow:hidden;transform:translateZ(0);isolation:isolate;background-clip:padding-box;color:var(--text-color, #64748b);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.03)}.selection-indicator{position:absolute;top:0;left:0;background:var(--indicator-bg, var(--color-primary, #10b981));opacity:0;pointer-events:none;transition:transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), width 0.3s cubic-bezier(0.19, 1, 0.22, 1), height 0.3s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.2s ease;z-index:1;border-radius:var(--indicator-radius, 99px);box-shadow:0 8px 20px rgba(0, 0, 0, 0.12), inset 0 1px 1px rgba(255, 255, 255, 0.3);border:1px solid rgba(255, 255, 255, 0.1);box-sizing:border-box;}.selection-indicator::after{content:"";position:absolute;inset:0;background:rgba(0, 0, 0, 0.05);border-radius:inherit;opacity:0;transition:opacity 0.2s}.button-list:hover .selection-indicator::after{opacity:0.2}.button-list-horizontal{flex-direction:row;align-items:stretch}.button-list-vertical{flex-direction:column;align-items:stretch}.button-list ui-button{flex:none;position:relative;z-index:2;--button-padding:8px 16px;--ui-button-height:auto;min-height:44px;color:var(--text-color, #64748b) !important}.button-list-vertical ui-button{width:100%}.button-list ui-button[icon-only]{width:44px !important;--button-padding:0 !important;--ui-button-height:44px !important;flex:0 0 44px !important}.button-list-full-width ui-button{flex:1}.button-list ui-button::part(button){background:rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.02) !important;color:inherit !important;border:none !important;box-shadow:none !important;font-weight:600 !important;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);--button-border-radius:var(--indicator-radius, 8px);opacity:1}.button-list ui-button::part(subtitle){opacity:0.7;color:inherit !important}.button-list ui-button:hover::part(button){opacity:1;background:rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.05) !important;color:var(--indicator-bg, var(--color-primary-dark, #059669)) !important}.button-list:not(.group-multi-select) ui-button[selected]::part(button){color:var(--indicator-text-color, #ffffff) !important;z-index:5;opacity:1 !important}.ui-button-toggle-group .button-list ui-button[selected]::part(title),.ui-button-toggle-group .button-list ui-button[selected]::part(subtitle),.ui-button-toggle-group .button-list ui-button[selected]::part(icon){color:var(--indicator-text-color, #ffffff) !important;opacity:1 !important}.group-multi-select .button-list ui-button[selected]::part(button){background:var(--indicator-bg, var(--color-primary, #10b981)) !important;color:var(--indicator-text-color, #ffffff) !important;opacity:1 !important;box-shadow:0 4px 12px rgba(var(--color-primary-rgb, 16, 185, 129), 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;border-radius:var(--indicator-radius, 30px) !important;border:1px solid rgba(255, 255, 255, 0.1) !important;z-index:5;transform:scale(0.96)}.button-list-horizontal:not([style*="--group-padding"]) ui-button:not(:last-child)::after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.08) 20%, rgba(0, 0, 0, 0.08) 80%, transparent);z-index:3;transition:opacity 0.2s ease}.button-list ui-button[selected]::after,.button-list ui-button[selected]+ui-button::after{opacity:0 !important}.helper-text{font-size:0.875rem;color:var(--text-muted, #64748b);margin-top:6px;font-weight:400}.helper-text.error{color:#ef4444}.ui-button-toggle-group[variant=dropdown] .button-list{--group-padding:0;--indicator-radius:4px}.dropdown-container{position:relative;display:inline-flex}.dropdown-button{display:flex;align-items:stretch;background:var(--button-group-bg, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--group-radius, 10px);overflow:hidden;transition:all 0.2s ease}.dropdown-button.dropdown-button-open{border-color:var(--color-primary, #10b981);box-shadow:0 0 0 3px rgba(16, 185, 129, 0.1)}.dropdown-action-button{border-radius:0 !important;flex:1;--button-padding:0 16px;--ui-button-height:44px}.dropdown-toggle-button{border-radius:0 !important;width:44px;border-left:1px solid rgba(0, 0, 0, 0.05) !important;--button-padding:0;--ui-button-height:44px}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.1);z-index:1000;display:flex;flex-direction:column;padding:6px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-menu.dropdown-menu-open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:6px;cursor:pointer;color:#475569;font-size:0.9375rem;font-weight:500;transition:all 0.15s ease;white-space:nowrap}.dropdown-option:hover{background:#f1f5f9;color:#1e293b}.dropdown-option.dropdown-option-selected{background:var(--color-primary-subtle, rgba(var(--color-primary-rgb, 16, 185, 129), 0.1));color:var(--color-primary, #10b981)}.dropdown-option.dropdown-option-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.dropdown-option .option-icon{display:flex;align-items:center;justify-content:center;color:inherit;font-size:1.1em}.dropdown-option .option-label{flex:1}.dropdown-option .option-check{color:var(--color-primary, #10b981);margin-left:auto;display:flex;align-items:center}.dropdown-search{padding:4px 8px 8px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}.dropdown-search input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:0.8125rem;outline:none;transition:all 0.2s}.dropdown-search input:focus{border-color:#10b981;box-shadow:0 0 0 2px rgba(16, 185, 129, 0.1)}:host-context([data-theme=dark]) .button-group-label,:host([data-theme=dark]) .button-group-label,:host-context([data-theme=violet]) .button-group-label,:host([data-theme=violet]) .button-group-label,:host-context([data-theme=pink]) .button-group-label,:host([data-theme=pink]) .button-group-label,:host-context([data-theme=blue]) .button-group-label,:host([data-theme=blue]) .button-group-label{--label-color:var(--label-color, #f1f5f9)}:host-context([data-theme=dark]) .button-list,:host([data-theme=dark]) .button-list,:host-context([data-theme=violet]) .button-list,:host([data-theme=violet]) .button-list,:host-context([data-theme=pink]) .button-list,:host([data-theme=pink]) .button-list,:host-context([data-theme=blue]) .button-list,:host([data-theme=blue]) .button-list{--button-group-bg:var(--bg-secondary, #1e293b);--border-color:var(--border-color, #334155);--text-color:var(--text-secondary, #94a3b8)}:host-context([data-theme=dark]) .button-list ui-button:hover::part(button),:host([data-theme=dark]) .button-list ui-button:hover::part(button),:host-context([data-theme=violet]) .button-list ui-button:hover::part(button),:host([data-theme=violet]) .button-list ui-button:hover::part(button),:host-context([data-theme=pink]) .button-list ui-button:hover::part(button),:host([data-theme=pink]) .button-list ui-button:hover::part(button),:host-context([data-theme=blue]) .button-list ui-button:hover::part(button),:host([data-theme=blue]) .button-list ui-button:hover::part(button){background:rgba(255, 255, 255, 0.05) !important}:host-context([data-theme=dark]) .dropdown-button,:host([data-theme=dark]) .dropdown-button,:host-context([data-theme=violet]) .dropdown-button,:host([data-theme=violet]) .dropdown-button,:host-context([data-theme=pink]) .dropdown-button,:host([data-theme=pink]) .dropdown-button,:host-context([data-theme=blue]) .dropdown-button,:host([data-theme=blue]) .dropdown-button{--button-group-bg:var(--bg-secondary, #1e293b);--border-color:var(--border-color, #334155)}:host-context([data-theme=dark]) .dropdown-menu,:host([data-theme=dark]) .dropdown-menu,:host-context([data-theme=violet]) .dropdown-menu,:host([data-theme=violet]) .dropdown-menu,:host-context([data-theme=pink]) .dropdown-menu,:host([data-theme=pink]) .dropdown-menu,:host-context([data-theme=blue]) .dropdown-menu,:host([data-theme=blue]) .dropdown-menu{background:var(--bg-primary, #1e293b);border-color:var(--border-color, #334155)}:host-context([data-theme=dark]) .dropdown-option,:host([data-theme=dark]) .dropdown-option,:host-context([data-theme=violet]) .dropdown-option,:host([data-theme=violet]) .dropdown-option,:host-context([data-theme=pink]) .dropdown-option,:host([data-theme=pink]) .dropdown-option,:host-context([data-theme=blue]) .dropdown-option,:host([data-theme=blue]) .dropdown-option{color:var(--text-secondary, #cbd5e1)}:host-context([data-theme=dark]) .dropdown-option:hover,:host([data-theme=dark]) .dropdown-option:hover,:host-context([data-theme=violet]) .dropdown-option:hover,:host([data-theme=violet]) .dropdown-option:hover,:host-context([data-theme=pink]) .dropdown-option:hover,:host([data-theme=pink]) .dropdown-option:hover,:host-context([data-theme=blue]) .dropdown-option:hover,:host([data-theme=blue]) .dropdown-option:hover{background:var(--bg-secondary, #334155);color:var(--text-primary, #ffffff)}:host-context([data-theme=dark]) .dropdown-option.dropdown-option-selected,:host([data-theme=dark]) .dropdown-option.dropdown-option-selected,:host-context([data-theme=violet]) .dropdown-option.dropdown-option-selected,:host([data-theme=violet]) .dropdown-option.dropdown-option-selected,:host-context([data-theme=pink]) .dropdown-option.dropdown-option-selected,:host([data-theme=pink]) .dropdown-option.dropdown-option-selected,:host-context([data-theme=blue]) .dropdown-option.dropdown-option-selected,:host([data-theme=blue]) .dropdown-option.dropdown-option-selected{background:rgba(var(--color-primary-rgb, 16, 185, 129), 0.15);color:var(--color-primary, #10b981)}:host-context([data-theme=dark]) .dropdown-search input,:host([data-theme=dark]) .dropdown-search input,:host-context([data-theme=violet]) .dropdown-search input,:host([data-theme=violet]) .dropdown-search input,:host-context([data-theme=pink]) .dropdown-search input,:host([data-theme=pink]) .dropdown-search input,:host-context([data-theme=blue]) .dropdown-search input,:host([data-theme=blue]) .dropdown-search input{background:var(--bg-primary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #ffffff)}:host-context([data-theme=green]) .button-group-label,:host([data-theme=green]) .button-group-label{--label-color:#f0fdf4}:host-context([data-theme=green]) .button-list,:host([data-theme=green]) .button-list{--button-group-bg:#064e3b;--border-color:#166534;--text-color:#a7f3d0}:host-context([data-theme=green]) .button-list ui-button:hover::part(button),:host([data-theme=green]) .button-list ui-button:hover::part(button){background:rgba(255, 255, 255, 0.08) !important}:host-context([data-theme=green]) .dropdown-button,:host([data-theme=green]) .dropdown-button{--button-group-bg:#064e3b;--border-color:#166534}:host-context([data-theme=green]) .dropdown-menu,:host([data-theme=green]) .dropdown-menu{background:#064e3b;border-color:#166534}:host-context([data-theme=green]) .dropdown-option,:host([data-theme=green]) .dropdown-option{color:#d1fae5}:host-context([data-theme=green]) .dropdown-option:hover,:host([data-theme=green]) .dropdown-option:hover{background:#166534;color:#ffffff}:host-context([data-theme=green]) .dropdown-option.dropdown-option-selected,:host([data-theme=green]) .dropdown-option.dropdown-option-selected{background:rgba(255, 255, 255, 0.15);color:#ffffff}:host-context([data-theme=green]) .dropdown-search input,:host([data-theme=green]) .dropdown-search input{background:#064e3b;border-color:#166534;color:#ffffff}`;
|
|
2345
2429
|
|
|
2346
2430
|
const ButtonToggleGroup = class {
|
|
2347
2431
|
get el() { return index.getElement(this); }
|
|
@@ -2801,12 +2885,12 @@ const ButtonToggleGroup = class {
|
|
|
2801
2885
|
'--indicator-bg': indicatorBg,
|
|
2802
2886
|
'--indicator-text-color': indicatorColor
|
|
2803
2887
|
};
|
|
2804
|
-
return (index.h("div", { key: '
|
|
2888
|
+
return (index.h("div", { key: '5826e0db706109891e74fc0a4ee04e1df381687b', class: containerClasses, role: this.multiSelect ? 'group' : 'radiogroup', "aria-label": this.label, tabIndex: 0, style: hostStyles, onMouseMove: (e) => this.handleMouseMove(e), onMouseLeave: () => this.updateIndicator() }, this.renderLabel(), this.batchActions && (index.h("div", { key: 'fbf7ab8ce6a8548a53438eb613040a78f58bbaa4', class: "batch-actions" }, index.h("ui-button", { key: 'b4b34241bf9a24158472ad3714ca63d898493869', variant: "ghost", onClick: this.selectAll, disabled: this.disabled, label: "Select All", size: "sm" }), index.h("ui-button", { key: '5cf67b5f2a749f6ee2975be469f03ba0c7374906', variant: "ghost", onClick: this.clearAll, disabled: this.disabled, label: "Clear All", size: "sm" }), this.exportEnabled && index.h("ui-button", { key: '15d1e37dbccf82fb1f0097301c4de451e0931273', variant: "ghost", onClick: this.exportSelection, label: "Export", size: "sm" }), this.importEnabled && index.h("ui-button", { key: '3a82d6a1896cca92f0314c8b423c0a9df823eba6', variant: "ghost", onClick: this.importSelection, label: "Import", size: "sm" }))), this.mode === 'dropdown' ? (this.renderDropdownButton()) : (index.h("div", { class: buttonListClasses }, !this.multiSelect && index.h("div", { class: "selection-indicator", ref: el => this.selectionIndicatorRef = el }), filteredButtons.map((option, idx) => (index.h("ui-button", { key: option.value, value: option.value, label: option.label, icon: option.icon, iconPosition: option.icon ? this.iconPosition : 'none', iconOnly: this.iconOnly, name: this.name, selected: this.multiSelect ? this.selectedValues.includes(option.value) : this.value === option.value, disabled: this.disabled || option.disabled, readonly: this.readonly, loading: this.loading, size: this.size, variant: this.variant, description: option.description, "description-position": option.descriptionPosition, "full-width": this.fullWidth, reveal: this.reveal, "reveal-delay": this.revealDelay + (idx * this.revealStagger), tabIndex: this.focusIndex === idx ? 0 : -1, "aria-checked": this.multiSelect ? this.selectedValues.includes(option.value) : this.value === option.value, "aria-label": option.label || option.value, onFocus: () => this.handleFocus(idx), onBlur: this.handleBlur, onClick: (e) => {
|
|
2805
2889
|
e.stopPropagation();
|
|
2806
2890
|
if (!this.disabled && !option.disabled) {
|
|
2807
2891
|
this.handleButtonToggleChange({ detail: { value: option.value } });
|
|
2808
2892
|
}
|
|
2809
|
-
}, shape: this.shape, iconLibrary: option.iconLibrary || this.library || this.iconLibrary }))))), this.renderHelperText(), this.analyticsEnabled && (index.h("div", { key: '
|
|
2893
|
+
}, shape: this.shape, iconLibrary: option.iconLibrary || this.library || this.iconLibrary }))))), this.renderHelperText(), this.analyticsEnabled && (index.h("div", { key: '10b18efe0af543838aa8b835a931951d9b17ab78', class: "analytics-info" }, index.h("pre", { key: '1e7ac3662e57728b24e3ab14f4846c2d2b9c3991' }, JSON.stringify(this.analytics, null, 2))))));
|
|
2810
2894
|
}
|
|
2811
2895
|
// Premium and accessibility methods
|
|
2812
2896
|
handleKeyDown = (e) => {
|
|
@@ -2929,7 +3013,7 @@ const ButtonToggleGroup = class {
|
|
|
2929
3013
|
};
|
|
2930
3014
|
ButtonToggleGroup.style = buttonToggleGroupCss();
|
|
2931
3015
|
|
|
2932
|
-
const contextMenuCss = () => `.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}.ctx-menu{position:fixed;z-index:20000;min-width:220px;max-width:min(320px, 100vw - 16px);--ctx-bg:var(--bg-primary, #ffffff);--ctx-fg:var(--text-primary, #000000);--ctx-border:var(--border-default, #d9d9d9);--ctx-hover:var(--bg-secondary, #e6e6e6);--ctx-active:rgba(0, 138, 22, 0.08);--ctx-active-fg:var(--color-
|
|
3016
|
+
const contextMenuCss = () => `.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}.ctx-menu{position:fixed;z-index:20000;min-width:220px;max-width:min(320px, 100vw - 16px);--ctx-bg:var(--bg-primary, #ffffff);--ctx-fg:var(--text-primary, #000000);--ctx-border:var(--border-default, #d9d9d9);--ctx-hover:var(--bg-secondary, #e6e6e6);--ctx-active:var(--color-primary-subtle, rgba(0, 138, 22, 0.08));--ctx-active-fg:var(--color-primary, #008a16);--ctx-active-icon:var(--color-primary, #008a16);background-color:var(--ctx-bg, #ffffff) !important;background-image:none !important;color:var(--ctx-fg);border:1px solid var(--ctx-border);border-radius:10px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.22), 0 8px 10px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);padding:6px;animation:ctx-enter 120ms ease-out;transform-origin:var(--ctx-origin-x, 0%) var(--ctx-origin-y, 0%);scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.2) transparent}.ctx-menu::-webkit-scrollbar{width:8px}.ctx-menu::-webkit-scrollbar-track{background:transparent}.ctx-menu::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}.ctx-menu::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}.ctx-virtual-scroll{width:100%;position:relative}.ctx-virtual-spacer{position:relative;width:100%}.ctx-virtual-offset{position:absolute;inset:0;width:100%}:host([theme=dark]) .ctx-menu::-webkit-scrollbar-thumb,:host-context([data-theme=dark]) .ctx-menu::-webkit-scrollbar-thumb,:host-context(.dark) .ctx-menu::-webkit-scrollbar-thumb,html[data-theme=dark] :host .ctx-menu::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host([theme=dark]) .ctx-menu,:host-context([data-theme=dark]) .ctx-menu,:host-context(.dark) .ctx-menu,html[data-theme=dark] :host .ctx-menu{--ctx-bg:var(--bg-primary, #1e293b);--ctx-fg:var(--text-primary, #e2e8f0);--ctx-border:var(--color-primary, #334155);--ctx-hover:var(--color-primary, #334155);--ctx-active:var(--color-primary-subtle, rgba(0, 138, 22, 0.15));--ctx-active-fg:var(--color-primary, #008a16);--ctx-active-icon:var(--color-primary, #008a16);box-shadow:0 12px 28px rgba(0, 0, 0, 0.4), 0 8px 10px rgba(0, 0, 0, 0.2)}@keyframes ctx-enter{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.ctx-list{list-style:none;margin:0;padding:4px;overflow:visible;scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.2) transparent}.ctx-list::-webkit-scrollbar{width:8px}.ctx-list::-webkit-scrollbar-track{background:transparent}.ctx-list::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}.ctx-list::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}:host([theme=dark]) .ctx-list::-webkit-scrollbar-thumb,:host-context([data-theme=dark]) .ctx-list::-webkit-scrollbar-thumb,:host-context(.dark) .ctx-list::-webkit-scrollbar-thumb,html[data-theme=dark] :host .ctx-list::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host([theme=dark]) .ctx-list::-webkit-scrollbar-thumb:hover,:host-context([data-theme=dark]) .ctx-list::-webkit-scrollbar-thumb:hover,:host-context(.dark) .ctx-list::-webkit-scrollbar-thumb:hover,html[data-theme=dark] :host .ctx-list::-webkit-scrollbar-thumb:hover{background:rgba(255, 255, 255, 0.3)}.ctx-item{position:relative;display:block;border-radius:8px;cursor:pointer;user-select:none}.ctx-item:hover,.ctx-item-active{background:var(--ctx-hover, var(--bg-secondary, #f3f4f6))}.ctx-item-selected{background:var(--ctx-active, #e0f2fe);color:var(--ctx-active-fg, #0284c7);font-weight:600;position:relative}.ctx-item-selected::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:4px;height:24px;background-color:var(--color-primary, #008a16);border-radius:4px}.ctx-item-selected .ctx-icon-area{color:var(--ctx-active-icon, inherit)}.ctx-item-disabled{opacity:0.55;cursor:not-allowed}.ctx-icon-area{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--ctx-icon, var(--text-muted, #6b7280));font-size:14px;flex-shrink:0}.ctx-sub-arrow{color:var(--ctx-muted, var(--text-muted, #9ca3af));font-weight:600;justify-self:end}.ctx-divider{height:1px;margin:6px 8px;background:var(--ctx-divider, #e5e7eb)}.ctx-header{padding:8px 12px;font-size:11px;text-transform:uppercase;color:var(--ctx-muted, var(--text-muted, #9ca3af));font-weight:600;letter-spacing:0.5px;pointer-events:none}.ctx-item-danger{color:var(--color-danger, #ef4444);}.ctx-item-danger:hover{background:var(--bg-primary, #fee2e2);color:var(--color-danger, #b91c1c);}.ctx-item-danger .ctx-icon-area{color:currentColor}.ctx-description{display:block;font-size:11px;color:var(--ctx-muted, var(--text-muted, #6b7280));margin-top:2px;line-height:1.3}.ctx-text-content{display:flex;flex-direction:column;flex:1;min-width:0}.ctx-label-row{display:flex;align-items:center;justify-content:space-between;width:100%}.ctx-item-content{display:flex;align-items:center;gap:8px;padding:6px 10px;text-decoration:none;color:inherit;width:100%;box-sizing:border-box}.ctx-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-shortcut{margin-left:8px}.ctx-submenu{position:absolute;top:0;left:calc(100% + 4px);min-width:220px;max-width:min(320px, 100vw - 16px);background:var(--ctx-bg, var(--bg-primary, #ffffff));backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);border:1px solid var(--ctx-border, var(--border-default, #e5e7eb));border-radius:10px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.25), 0 8px 10px rgba(0, 0, 0, 0.15);padding:6px;z-index:1000}.ctx-sub-left{left:auto;right:calc(100% + 4px)}@media (prefers-color-scheme: dark){.ctx-menu,.ctx-submenu{background:var(--ctx-bg, var(--bg-secondary, #111827));color:var(--ctx-fg, #f3f4f6);border-color:var(--ctx-border, var(--border-default, #374151));box-shadow:0 12px 28px rgba(0, 0, 0, 0.48), 0 8px 10px rgba(0, 0, 0, 0.35)}.ctx-item:hover,.ctx-item-active{background:var(--ctx-hover, var(--bg-primary, #1f2937))}.ctx-divider{background:var(--ctx-divider, #374151)}.ctx-muted,.ctx-shortcut,.ctx-sub-arrow{color:var(--text-muted, #9ca3af)}}:host([theme=green]) .ctx-menu,:host-context([data-theme=green]) .ctx-menu,:host-context(.green) .ctx-menu,html[data-theme=green] :host .ctx-menu,:host([theme=green]) .ctx-submenu,:host-context([data-theme=green]) .ctx-submenu,:host-context(.green) .ctx-submenu,html[data-theme=green] :host .ctx-submenu{--ctx-bg:var(--color-success, #3dcd58);--ctx-fg:var(--bg-primary, #ffffff);--ctx-border:rgba(255, 255, 255, 0.2);--ctx-hover:rgba(255, 255, 255, 0.1);--ctx-active:rgba(255, 255, 255, 0.2);--ctx-active-fg:var(--bg-primary, #ffffff);--ctx-active-icon:var(--bg-primary, #ffffff);--ctx-divider:rgba(255, 255, 255, 0.2);--ctx-muted:rgba(255, 255, 255, 0.7);box-shadow:0 12px 28px rgba(0, 0, 0, 0.2), 0 8px 10px rgba(0, 0, 0, 0.1)}:host([theme=green]) .ctx-shortcut,:host([theme=green]) .ctx-sub-arrow,:host-context([data-theme=green]) .ctx-shortcut,:host-context([data-theme=green]) .ctx-sub-arrow,:host-context(.green) .ctx-shortcut,:host-context(.green) .ctx-sub-arrow{color:rgba(255, 255, 255, 0.7)}@media (prefers-reduced-motion: reduce){.ctx-menu{animation:none}}`;
|
|
2933
3017
|
|
|
2934
3018
|
const UiContextMenu = class {
|
|
2935
3019
|
constructor(hostRef) {
|
|
@@ -4051,7 +4135,7 @@ const Icon = class {
|
|
|
4051
4135
|
const accessibilityAttrs = this.label
|
|
4052
4136
|
? { role: 'img', 'aria-label': this.label }
|
|
4053
4137
|
: { 'aria-hidden': 'true' };
|
|
4054
|
-
return (index.h(index.Host, { key: '
|
|
4138
|
+
return (index.h(index.Host, { key: '11a1cf7893d75e1732568ebbb3df40176c06dda6', style: containerStyle, ...accessibilityAttrs }, index.h("div", { key: '46e5027b067072e5b30ba7a18185e357bfddd072', class: `icon-container ${this.spin ? 'fa-spin' : ''}` }, (this.loading || this.isFetching)
|
|
4055
4139
|
? index.h("ui-loader", { size: "0.8em", color: "currentColor", type: "spinner" })
|
|
4056
4140
|
: this.renderIconContent(lib, parsedSize))));
|
|
4057
4141
|
}
|
|
@@ -4140,7 +4224,7 @@ const Icon = class {
|
|
|
4140
4224
|
};
|
|
4141
4225
|
Icon.style = iconCss();
|
|
4142
4226
|
|
|
4143
|
-
const inputCss = () => `.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:inline-block;width:var(--ui-input-width, auto);min-width:0;max-width:100%}:host.variant-plain{min-width:0;box-sizing:border-box}:host{--ui-input-bg:var(--bg-primary, #ffffff);--ui-input-color:var(--text-primary, #1e293b);--ui-input-color-rgb:30, 41, 59;--ui-input-border:var(--color-primary, #bfc8d8);--ui-input-border-hover:var(--color-primary, #94a3b8);--ui-input-focus:var(--color-primary, #6366f1);--ui-input-focus-rgb:99, 102, 241;--ui-input-placeholder:var(--ui-input-color);--ui-input-label:var(--label-color, var(--text-primary, #1e293b));--ui-input-helper:var(--label-subtitle-color, var(--text-muted, #64748b));--ui-input-addon-bg:var(--bg-primary, #f8fafc);--ui-input-addon-border:var(--border-subtle, #e2e8f0);--ui-input-addon-color:var(--text-muted, #64748b);--ui-input-radius:10px;--ui-input-soft-bg:var(--bg-secondary, #f8fafc);--ui-input-soft-border:var(--border-subtle, #e2e8f0);--ui-input-filled-bg:var(--bg-secondary, #f1f5f9);--ui-input-underlined-border:var(--border-default, #e2e8f0);--ui-input-placeholder-opacity:0.45}:host(.input-color-primary){--ui-input-focus:var(--color-primary, #10b981);--ui-input-focus-rgb:unquote(37, 99, 235);--ui-input-border:var(--color-primary-border, #bfdbfe);--ui-input-border-hover:var(--color-primary, #10b981);--ui-input-addon-bg:var(--color-primary, #2563eb);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-primary, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-primary-soft, #eff6ff);--ui-input-soft-border:var(--color-primary-border, #bfdbfe);--ui-input-filled-bg:var(--color-primary-ghost, #f1f5f9)}:host :host .input-color-primary{--ui-input-focus:var(--color-primary, #10b981);--ui-input-focus-rgb:unquote(37, 99, 235);--ui-input-border:var(--color-primary-border, #bfdbfe);--ui-input-border-hover:var(--color-primary, #10b981);--ui-input-addon-bg:var(--color-primary, #2563eb);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-primary, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-primary-soft, #eff6ff);--ui-input-soft-border:var(--color-primary-border, #bfdbfe);--ui-input-filled-bg:var(--color-primary-ghost, #f1f5f9)}:host(.has-primary){--ui-input-focus:var(--color-primary, #10b981);--ui-input-focus-rgb:unquote(37, 99, 235);--ui-input-border:var(--color-primary, #10b981);--ui-input-border-hover:var(--color-primary, #10b981);--ui-input-brand-color:var(--color-primary, #10b981)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-secondary){--ui-input-focus:var(--color-secondary, #64748b);--ui-input-focus-rgb:unquote(100, 116, 139);--ui-input-border:var(--color-secondary-border, #e2e8f0);--ui-input-border-hover:var(--color-secondary, #64748b);--ui-input-addon-bg:var(--color-secondary, #64748b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-secondary, #64748b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-secondary-soft, #f1f5f9);--ui-input-soft-border:var(--color-secondary-border, #e2e8f0);--ui-input-filled-bg:var(--color-secondary-ghost, #f8fafc)}:host :host .input-color-secondary{--ui-input-focus:var(--color-secondary, #64748b);--ui-input-focus-rgb:unquote(100, 116, 139);--ui-input-border:var(--color-secondary-border, #e2e8f0);--ui-input-border-hover:var(--color-secondary, #64748b);--ui-input-addon-bg:var(--color-secondary, #64748b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-secondary, #64748b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-secondary-soft, #f1f5f9);--ui-input-soft-border:var(--color-secondary-border, #e2e8f0);--ui-input-filled-bg:var(--color-secondary-ghost, #f8fafc)}:host(.has-secondary){--ui-input-focus:var(--color-secondary, #64748b);--ui-input-focus-rgb:unquote(100, 116, 139);--ui-input-border:var(--color-secondary, #64748b);--ui-input-border-hover:var(--color-secondary, #64748b);--ui-input-brand-color:var(--color-secondary, #64748b)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-success){--ui-input-focus:var(--color-success, #10b981);--ui-input-focus-rgb:unquote(16, 185, 129);--ui-input-border:var(--color-success-border, #bbf7d0);--ui-input-border-hover:var(--color-success, #10b981);--ui-input-addon-bg:var(--color-success, #10b981);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-success, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-success-soft, #f0fdf4);--ui-input-soft-border:var(--color-success-border, #bbf7d0);--ui-input-filled-bg:var(--color-success-ghost, #f0fdf4)}:host :host .input-color-success{--ui-input-focus:var(--color-success, #10b981);--ui-input-focus-rgb:unquote(16, 185, 129);--ui-input-border:var(--color-success-border, #bbf7d0);--ui-input-border-hover:var(--color-success, #10b981);--ui-input-addon-bg:var(--color-success, #10b981);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-success, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-success-soft, #f0fdf4);--ui-input-soft-border:var(--color-success-border, #bbf7d0);--ui-input-filled-bg:var(--color-success-ghost, #f0fdf4)}:host(.has-success){--ui-input-focus:var(--color-success, #10b981);--ui-input-focus-rgb:unquote(16, 185, 129);--ui-input-border:var(--color-success, #10b981);--ui-input-border-hover:var(--color-success, #10b981);--ui-input-brand-color:var(--color-success, #10b981)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-danger){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host :host .input-color-danger{--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host(.has-danger){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger, #ef4444);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-brand-color:var(--color-danger, #ef4444)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-error){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host :host .input-color-error{--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host(.has-error){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger, #ef4444);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-brand-color:var(--color-danger, #ef4444)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-warning){--ui-input-focus:var(--color-warning, #f59e0b);--ui-input-focus-rgb:unquote(245, 158, 11);--ui-input-border:var(--color-warning-border, #fde68a);--ui-input-border-hover:var(--color-warning, #f59e0b);--ui-input-addon-bg:var(--color-warning, #f59e0b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-warning, #f59e0b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-warning-soft, #fffbeb);--ui-input-soft-border:var(--color-warning-border, #fde68a);--ui-input-filled-bg:var(--color-warning-ghost, #fffbeb)}:host :host .input-color-warning{--ui-input-focus:var(--color-warning, #f59e0b);--ui-input-focus-rgb:unquote(245, 158, 11);--ui-input-border:var(--color-warning-border, #fde68a);--ui-input-border-hover:var(--color-warning, #f59e0b);--ui-input-addon-bg:var(--color-warning, #f59e0b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-warning, #f59e0b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-warning-soft, #fffbeb);--ui-input-soft-border:var(--color-warning-border, #fde68a);--ui-input-filled-bg:var(--color-warning-ghost, #fffbeb)}:host(.has-warning){--ui-input-focus:var(--color-warning, #f59e0b);--ui-input-focus-rgb:unquote(245, 158, 11);--ui-input-border:var(--color-warning, #f59e0b);--ui-input-border-hover:var(--color-warning, #f59e0b);--ui-input-brand-color:var(--color-warning, #f59e0b)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-info){--ui-input-focus:var(--color-info, #0ea5e9);--ui-input-focus-rgb:unquote(14, 165, 233);--ui-input-border:var(--color-info-border, #bae6fd);--ui-input-border-hover:var(--color-info, #0ea5e9);--ui-input-addon-bg:var(--color-info, #0ea5e9);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-info, #0ea5e9);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-info-soft, #f0f9ff);--ui-input-soft-border:var(--color-info-border, #bae6fd);--ui-input-filled-bg:var(--color-info-ghost, #f0f9ff)}:host :host .input-color-info{--ui-input-focus:var(--color-info, #0ea5e9);--ui-input-focus-rgb:unquote(14, 165, 233);--ui-input-border:var(--color-info-border, #bae6fd);--ui-input-border-hover:var(--color-info, #0ea5e9);--ui-input-addon-bg:var(--color-info, #0ea5e9);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-info, #0ea5e9);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-info-soft, #f0f9ff);--ui-input-soft-border:var(--color-info-border, #bae6fd);--ui-input-filled-bg:var(--color-info-ghost, #f0f9ff)}:host(.has-info){--ui-input-focus:var(--color-info, #0ea5e9);--ui-input-focus-rgb:unquote(14, 165, 233);--ui-input-border:var(--color-info, #0ea5e9);--ui-input-border-hover:var(--color-info, #0ea5e9);--ui-input-brand-color:var(--color-info, #0ea5e9)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host.input-color-custom{--ui-input-focus:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-focus-rgb:var(--ui-custom-color-rgb, 59, 130, 246);--ui-input-addon-bg:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.12);--ui-input-soft-border:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.3);--ui-input-filled-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.08)}:host(.input-color-custom){--ui-input-focus:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-focus-rgb:var(--ui-custom-color-rgb, 59, 130, 246);--ui-input-addon-bg:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.12);--ui-input-soft-border:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.3);--ui-input-filled-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.08)}:host([class*=input-color-]) .prefix-icon:not(.prefix-icon--clickable),:host([class*=input-color-]) .suffix-icon:not(.suffix-icon--clickable){color:var(--ui-input-label);background:rgba(var(--ui-input-focus-rgb), 0.08);border-color:rgba(var(--ui-input-focus-rgb), 0.15)}:host([class*=input-color-]) .input-label{color:var(--ui-input-label)}:host[class*=input-color-] .prefix-icon:not(.prefix-icon--clickable),:host[class*=input-color-] .suffix-icon:not(.suffix-icon--clickable){color:var(--ui-input-brand-color);background:rgba(var(--ui-input-focus-rgb), 0.08);border-color:rgba(var(--ui-input-focus-rgb), 0.15)}:host[class*=input-color-] .input-label{color:var(--ui-input-label-color, var(--ui-input-label))}:host [class*=block-color-].block-color-primary{background:var(--color-primary, #10b981) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-secondary{background:var(--color-secondary, #64748b) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-success{background:var(--color-success, #10b981) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-danger{background:var(--color-danger, #ef4444) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-error{background:var(--color-danger, #ef4444) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-warning{background:var(--color-warning, #f59e0b) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-info{background:var(--color-info, #0ea5e9) !important;color:var(--text-standard, #ffffff) !important}:host.gradient-decorators [class*=prefix-],:host.gradient-decorators [class*=suffix-]:not(.hidden){background-clip:padding-box !important;border:none !important}:host.gradient-decorators.input-color-primary [class*=prefix-],:host.gradient-decorators.input-color-primary [class*=suffix-]{background:linear-gradient(135deg, var(--color-primary, #10b981), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-secondary [class*=prefix-],:host.gradient-decorators.input-color-secondary [class*=suffix-]{background:linear-gradient(135deg, var(--color-secondary, #64748b), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-success [class*=prefix-],:host.gradient-decorators.input-color-success [class*=suffix-]{background:linear-gradient(135deg, var(--color-success, #10b981), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-danger [class*=prefix-],:host.gradient-decorators.input-color-danger [class*=suffix-]{background:linear-gradient(135deg, var(--color-danger, #ef4444), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-error [class*=prefix-],:host.gradient-decorators.input-color-error [class*=suffix-]{background:linear-gradient(135deg, var(--color-danger, #ef4444), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-warning [class*=prefix-],:host.gradient-decorators.input-color-warning [class*=suffix-]{background:linear-gradient(135deg, var(--color-warning, #f59e0b), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-info [class*=prefix-],:host.gradient-decorators.input-color-info [class*=suffix-]{background:linear-gradient(135deg, var(--color-info, #0ea5e9), var(--color-primary, #6366f1)) !important}:host.full-width{display:block;width:100%}:host.multiline .input-field{resize:both;height:auto;min-height:100px;line-height:1.6;padding:12px 14px;white-space:pre-wrap;overflow-y:auto;text-overflow:clip}:host.shake-animation{animation:shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important}:host(.shake-animation){animation:shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark){--ui-input-bg:var(--bg-primary, #1e293b);--ui-input-color:var(--text-standard, #f1f5f9);--ui-input-border:var(--border-default, #334155);--ui-input-border-hover:var(--border-strong, #475569);--ui-input-focus:var(--color-primary, #4ade80);--ui-input-focus-rgb:var(--color-primary-rgb);--ui-input-placeholder:var(--text-muted);--ui-input-label:var(--label-color, #f5f5f5);--ui-input-helper:var(--label-subtitle-color, #c2c2c2);--ui-input-addon-bg:var(--bg-secondary, #0f172a);--ui-input-addon-border:var(--border-subtle, #334155);--ui-input-addon-color:var(--label-subtitle-color, #c2c2c2)}:host-context([data-theme=violet]){--ui-input-bg:var(--bg-primary, #1a1440);--ui-input-color:var(--text-standard, #f5f3ff);--ui-input-border:var(--color-primary);--ui-input-border-hover:var(--color-primary-hover);--ui-input-placeholder:var(--text-muted);--ui-input-label:var(--label-color, #ffffff);--ui-input-helper:var(--label-subtitle-color, #ddd6fe);--ui-input-addon-bg:var(--bg-secondary);--ui-input-addon-border:var(--border-subtle);--ui-input-addon-color:var(--label-subtitle-color)}.input-wrapper{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;min-width:0}.input-wrapper.full-width{width:100%}:host(.size-xxxs) .input-wrapper .input-field,.input-wrapper.size-xxxs .input-field{padding:var(--ui-input-padding, 0 6px);font-size:11px;height:20px;line-height:20px;text-align:var(--ui-input-text-align, left)}:host(.size-xxxs) .input-wrapper .input-label,.input-wrapper.size-xxxs .input-label{font-size:11px;line-height:16px}:host(.size-xxxs) .input-wrapper .helper-text,.input-wrapper.size-xxxs .helper-text{font-size:9px}:host(.size-xxxs) .input-wrapper .prefix-icon,:host(.size-xxxs) .input-wrapper .suffix-icon,:host(.size-xxxs) .input-wrapper .prefix-text,:host(.size-xxxs) .input-wrapper .suffix-text,.input-wrapper.size-xxxs .prefix-icon,.input-wrapper.size-xxxs .suffix-icon,.input-wrapper.size-xxxs .prefix-text,.input-wrapper.size-xxxs .suffix-text{padding:0 6px;font-size:11px}:host(.size-xxxs) .input-wrapper .otp-box,.input-wrapper.size-xxxs .otp-box{height:28px;width:22px;max-width:22px;font-size:11px}:host(.size-xxs) .input-wrapper .input-field,.input-wrapper.size-xxs .input-field{padding:var(--ui-input-padding, 0 8px);font-size:12px;height:24px;line-height:24px;text-align:var(--ui-input-text-align, left)}:host(.size-xxs) .input-wrapper .input-label,.input-wrapper.size-xxs .input-label{font-size:12px;line-height:18px}:host(.size-xxs) .input-wrapper .helper-text,.input-wrapper.size-xxs .helper-text{font-size:10px}:host(.size-xxs) .input-wrapper .prefix-icon,:host(.size-xxs) .input-wrapper .suffix-icon,:host(.size-xxs) .input-wrapper .prefix-text,:host(.size-xxs) .input-wrapper .suffix-text,.input-wrapper.size-xxs .prefix-icon,.input-wrapper.size-xxs .suffix-icon,.input-wrapper.size-xxs .prefix-text,.input-wrapper.size-xxs .suffix-text{padding:0 8px;font-size:12px}:host(.size-xxs) .input-wrapper .otp-box,.input-wrapper.size-xxs .otp-box{height:32px;width:26px;max-width:26px;font-size:12px}:host(.size-xs) .input-wrapper .input-field,.input-wrapper.size-xs .input-field{padding:var(--ui-input-padding, 0 10px);font-size:13px;height:28px;line-height:28px;text-align:var(--ui-input-text-align, left)}:host(.size-xs) .input-wrapper .input-label,.input-wrapper.size-xs .input-label{font-size:13px;line-height:20px}:host(.size-xs) .input-wrapper .helper-text,.input-wrapper.size-xs .helper-text{font-size:11px}:host(.size-xs) .input-wrapper .prefix-icon,:host(.size-xs) .input-wrapper .suffix-icon,:host(.size-xs) .input-wrapper .prefix-text,:host(.size-xs) .input-wrapper .suffix-text,.input-wrapper.size-xs .prefix-icon,.input-wrapper.size-xs .suffix-icon,.input-wrapper.size-xs .prefix-text,.input-wrapper.size-xs .suffix-text{padding:0 10px;font-size:13px}:host(.size-xs) .input-wrapper .otp-box,.input-wrapper.size-xs .otp-box{height:36px;width:30px;max-width:30px;font-size:13px}:host(.size-sm) .input-wrapper .input-container,.input-wrapper.size-sm .input-container{min-height:32px}:host(.size-sm) .input-wrapper .input-field,.input-wrapper.size-sm .input-field{padding:var(--ui-input-padding, 0 12px);font-size:14px;height:32px;line-height:32px;text-align:var(--ui-input-text-align, left)}:host(.size-sm) .input-wrapper .input-label,.input-wrapper.size-sm .input-label{font-size:14px;line-height:22px}:host(.size-sm) .input-wrapper .helper-text,.input-wrapper.size-sm .helper-text{font-size:11px}:host(.size-sm) .input-wrapper .prefix-icon,:host(.size-sm) .input-wrapper .suffix-icon,:host(.size-sm) .input-wrapper .prefix-text,:host(.size-sm) .input-wrapper .suffix-text,.input-wrapper.size-sm .prefix-icon,.input-wrapper.size-sm .suffix-icon,.input-wrapper.size-sm .prefix-text,.input-wrapper.size-sm .suffix-text{padding:0 12px;font-size:14px}:host(.size-sm) .input-wrapper .otp-box,.input-wrapper.size-sm .otp-box{height:40px;width:32px;max-width:32px;font-size:14px}:host(.size-md) .input-wrapper .input-container,.input-wrapper.size-md .input-container{min-height:38px}:host(.size-md) .input-wrapper .input-field,.input-wrapper.size-md .input-field{padding:var(--ui-input-padding, 0 14px);font-size:15px;height:38px;line-height:38px;text-align:var(--ui-input-text-align, left)}:host(.size-md) .input-wrapper .input-label,.input-wrapper.size-md .input-label{font-size:15px;line-height:24px}:host(.size-md) .input-wrapper .helper-text,.input-wrapper.size-md .helper-text{font-size:12px}:host(.size-md) .input-wrapper .prefix-icon,:host(.size-md) .input-wrapper .suffix-icon,:host(.size-md) .input-wrapper .prefix-text,:host(.size-md) .input-wrapper .suffix-text,.input-wrapper.size-md .prefix-icon,.input-wrapper.size-md .suffix-icon,.input-wrapper.size-md .prefix-text,.input-wrapper.size-md .suffix-text{padding:0 14px;font-size:15px}:host(.size-md) .input-wrapper .otp-box,.input-wrapper.size-md .otp-box{height:46px;width:36px;max-width:36px;font-size:16px}:host(.size-lg) .input-wrapper .input-container,.input-wrapper.size-lg .input-container{min-height:42px}:host(.size-lg) .input-wrapper .input-field,.input-wrapper.size-lg .input-field{padding:var(--ui-input-padding, 0 16px);font-size:16px;height:42px;line-height:42px;text-align:var(--ui-input-text-align, left)}:host(.size-lg) .input-wrapper .input-label,.input-wrapper.size-lg .input-label{font-size:16px;line-height:26px}:host(.size-lg) .input-wrapper .helper-text,.input-wrapper.size-lg .helper-text{font-size:13px}:host(.size-lg) .input-wrapper .prefix-icon,:host(.size-lg) .input-wrapper .suffix-icon,:host(.size-lg) .input-wrapper .prefix-text,:host(.size-lg) .input-wrapper .suffix-text,.input-wrapper.size-lg .prefix-icon,.input-wrapper.size-lg .suffix-icon,.input-wrapper.size-lg .prefix-text,.input-wrapper.size-lg .suffix-text{padding:0 16px;font-size:18px}:host(.size-lg) .input-wrapper .otp-box,.input-wrapper.size-lg .otp-box{height:52px;width:42px;max-width:42px;font-size:18px}:host(.size-xl) .input-wrapper .input-container,.input-wrapper.size-xl .input-container{min-height:48px}:host(.size-xl) .input-wrapper .input-field,.input-wrapper.size-xl .input-field{padding:var(--ui-input-padding, 0 18px);font-size:18px;height:48px;line-height:48px;text-align:var(--ui-input-text-align, left)}:host(.size-xl) .input-wrapper .input-label,.input-wrapper.size-xl .input-label{font-size:18px;line-height:28px}:host(.size-xl) .input-wrapper .helper-text,.input-wrapper.size-xl .helper-text{font-size:14px}:host(.size-xl) .input-wrapper .prefix-icon,:host(.size-xl) .input-wrapper .suffix-icon,:host(.size-xl) .input-wrapper .prefix-text,:host(.size-xl) .input-wrapper .suffix-text,.input-wrapper.size-xl .prefix-icon,.input-wrapper.size-xl .suffix-icon,.input-wrapper.size-xl .prefix-text,.input-wrapper.size-xl .suffix-text{padding:0 18px;font-size:20px}:host(.size-xl) .input-wrapper .otp-box,.input-wrapper.size-xl .otp-box{height:60px;width:48px;max-width:48px;font-size:20px}:host(.size-xxl) .input-wrapper .input-container,.input-wrapper.size-xxl .input-container{min-height:54px}:host(.size-xxl) .input-wrapper .input-field,.input-wrapper.size-xxl .input-field{padding:var(--ui-input-padding, 0 20px);font-size:20px;height:54px;line-height:54px;text-align:var(--ui-input-text-align, left)}:host(.size-xxl) .input-wrapper .input-label,.input-wrapper.size-xxl .input-label{font-size:20px;line-height:32px}:host(.size-xxl) .input-wrapper .helper-text,.input-wrapper.size-xxl .helper-text{font-size:15px}:host(.size-xxl) .input-wrapper .prefix-icon,:host(.size-xxl) .input-wrapper .suffix-icon,:host(.size-xxl) .input-wrapper .prefix-text,:host(.size-xxl) .input-wrapper .suffix-text,.input-wrapper.size-xxl .prefix-icon,.input-wrapper.size-xxl .suffix-icon,.input-wrapper.size-xxl .prefix-text,.input-wrapper.size-xxl .suffix-text{padding:0 20px;font-size:24px}:host(.size-xxl) .input-wrapper .otp-box,.input-wrapper.size-xxl .otp-box{height:68px;width:54px;max-width:54px;font-size:22px}:host(.size-xxxl) .input-wrapper .input-field,.input-wrapper.size-xxxl .input-field{padding:var(--ui-input-padding, 0 24px);font-size:24px;height:64px;line-height:64px;text-align:var(--ui-input-text-align, left)}:host(.size-xxxl) .input-wrapper .input-label,.input-wrapper.size-xxxl .input-label{font-size:24px;line-height:36px}:host(.size-xxxl) .input-wrapper .helper-text,.input-wrapper.size-xxxl .helper-text{font-size:16px}:host(.size-xxxl) .input-wrapper .prefix-icon,:host(.size-xxxl) .input-wrapper .suffix-icon,:host(.size-xxxl) .input-wrapper .prefix-text,:host(.size-xxxl) .input-wrapper .suffix-text,.input-wrapper.size-xxxl .prefix-icon,.input-wrapper.size-xxxl .suffix-icon,.input-wrapper.size-xxxl .prefix-text,.input-wrapper.size-xxxl .suffix-text{padding:0 24px;font-size:28px}:host(.size-xxxl) .input-wrapper .otp-box,.input-wrapper.size-xxxl .otp-box{height:80px;width:64px;max-width:64px;font-size:26px}.input-label{display:block;font-size:11px;font-weight:700;color:var(--ui-input-label-color, var(--ui-input-label));margin-bottom:8px;letter-spacing:0.08em;text-transform:uppercase;opacity:0.65}.input-label .required-indicator{color:var(--color-danger-hover, #dc2626);margin-left:3px;font-size:16px;vertical-align:middle}.input-container{position:relative;display:flex;align-items:center;border:1px solid var(--ui-input-border);border-radius:var(--ui-input-radius);background:var(--ui-input-bg);box-shadow:0 2px 4px rgba(0, 0, 0, 0.02), inset 0 1px 1px rgba(255, 255, 255, 0.5);transition:border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;width:100%;max-width:100%;min-width:0;overflow:visible;padding:0 !important;z-index:1}.input-container .clipping-layer{position:absolute;inset:-1px;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0}.density-cozy .input-container{gap:6px}.density-compact .input-container{gap:4px}.input-field{flex:1;border:none;outline:none;background:transparent;font-family:inherit;color:var(--ui-input-color);width:100%;min-width:0;font-weight:400;text-align:var(--ui-input-text-align, left);padding:0 var(--ui-input-padding-x, 12px) !important;transition:color 0.2s, opacity 0.2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.input-field::placeholder{color:var(--ui-input-placeholder);font-weight:400;opacity:var(--ui-input-placeholder-opacity)}.input-field:disabled{cursor:not-allowed;opacity:0.6;color:var(--text-muted, #6b7280)}.input-field:read-only{cursor:default;color:var(--text-secondary, #374151)}:host(.variant-outlined) .input-container{border:1px solid var(--ui-input-border);background:var(--ui-input-bg);box-shadow:0 2px 4px rgba(0, 0, 0, 0.02)}:host(.variant-outlined.focused) .input-container{border-color:var(--ui-input-focus) !important;box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.15), 0 1px 3px rgba(0, 0, 0, 0.08) !important}:host(.variant-filled) .input-container{border-bottom:2px solid transparent;border-radius:10px 10px 0 0;border:none;background:var(--ui-input-filled-bg);box-shadow:inset 0 -1px 0 0 var(--border-strong, #d1d5db)}:host(.variant-filled.focused) .input-container{background:var(--bg-primary, #e5e7eb);border-bottom-color:var(--ui-input-focus);box-shadow:inset 0 -2px 0 0 var(--ui-input-focus)}:host(.variant-underlined) .input-container{border-bottom:1px solid var(--ui-input-underlined-border, var(--border-strong, #d1d5db));border-radius:0;padding-left:0;padding-right:0;border:none;background:transparent;box-shadow:none}:host(.variant-underlined.focused) .input-container{border-bottom-color:var(--ui-input-focus);box-shadow:0 1px 0 0 var(--ui-input-focus)}:host(.variant-soft) .input-container{border:1px solid var(--ui-input-soft-border);background:var(--ui-input-soft-bg);box-shadow:none}:host(.variant-soft.focused) .input-container{background:var(--ui-input-bg);border-color:var(--ui-input-focus);box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.1), 0 2px 6px 0 rgba(0, 0, 0, 0.04) !important}.variant-borderless .input-container,.variant-plain .input-container{border:none !important;background:transparent !important;box-shadow:none !important;padding:0 !important}.floating-label{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:transparent;padding:0 4px;color:var(--ui-input-label, var(--label-subtitle-color));pointer-events:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);font-size:14px;line-height:1;z-index:2}.input-wrapper.has-prefix .floating-label{left:56px}.input-wrapper.has-prefix-text .floating-label{left:76px}.focused .floating-label,.has-value .floating-label,.is-always-floated .floating-label{top:0;left:12px;transform:translateY(-56%) scale(0.8);transform-origin:left bottom;background:var(--ui-input-bg);padding:0 6px;font-size:14px;font-weight:700;color:var(--label-color, #111827);letter-spacing:0.04em;text-transform:uppercase;z-index:5}.input-wrapper.has-prefix .focused .floating-label,.input-wrapper.has-prefix .has-value .floating-label,.input-wrapper.has-prefix .is-always-floated .floating-label{left:56px}.input-wrapper.has-prefix-text .focused .floating-label,.input-wrapper.has-prefix-text .has-value .floating-label,.input-wrapper.has-prefix-text .is-always-floated .floating-label{left:76px}.prefix-text,.suffix-text,.prefix-icon,.suffix-icon{display:flex;align-items:center;align-self:stretch;background:var(--ui-input-addon-bg);border-color:var(--ui-input-addon-border)}.prefix-text.prefix-text,.prefix-text.prefix-icon,.suffix-text.prefix-text,.suffix-text.prefix-icon,.prefix-icon.prefix-text,.prefix-icon.prefix-icon,.suffix-icon.prefix-text,.suffix-icon.prefix-icon{border-right:1px solid var(--ui-input-addon-border);border-radius:calc(var(--ui-input-radius) - 1px) 0 0 calc(var(--ui-input-radius) - 1px);margin-right:2px}.prefix-text.suffix-text,.prefix-text.suffix-icon,.suffix-text.suffix-text,.suffix-text.suffix-icon,.prefix-icon.suffix-text,.prefix-icon.suffix-icon,.suffix-icon.suffix-text,.suffix-icon.suffix-icon{border-left:1px solid var(--ui-input-addon-border);border-radius:0 calc(var(--ui-input-radius) - 1px) calc(var(--ui-input-radius) - 1px) 0;margin-left:2px}.prefix-text,.suffix-text,.prefix-icon,.suffix-icon{display:flex;align-items:center;justify-content:center;padding:0 12px;color:var(--label-icon-color, var(--label-subtitle-color));font-weight:500}.prefix-text--clickable,.suffix-text--clickable,.prefix-icon--clickable,.suffix-icon--clickable{cursor:pointer;border:none;transition:background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;user-select:none}.prefix-text--clickable:hover,.suffix-text--clickable:hover,.prefix-icon--clickable:hover,.suffix-icon--clickable:hover{background:var(--ui-input-border-hover, rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.12));filter:brightness(0.92)}.prefix-text--clickable:active,.suffix-text--clickable:active,.prefix-icon--clickable:active,.suffix-icon--clickable:active{transform:scale(0.93)}.prefix-text--clickable:focus-visible,.suffix-text--clickable:focus-visible,.prefix-icon--clickable:focus-visible,.suffix-icon--clickable:focus-visible{outline:2px solid var(--ui-input-focus);outline-offset:-2px}.input-field-stack{position:relative;flex:1;display:flex;align-items:center;min-width:0;overflow:hidden}.input-field-stack .input-field{flex:1 !important;z-index:2 !important;background:transparent !important}.ghost-text-overlay{position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:none;color:rgba(var(--ui-input-color-rgb), 0.35);font-size:inherit;padding-left:inherit;z-index:1;white-space:pre}.otp-container{display:flex;gap:8px;width:100%;justify-content:center;align-items:center;position:relative;padding:6px 16px;box-sizing:border-box}.otp-container input.input-field{position:absolute;opacity:0;inset:0;z-index:2;cursor:pointer}.otp-box{flex:0 0 auto;width:38px;height:46px;max-width:38px;overflow:hidden;border:2px solid var(--ui-input-border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;background:var(--bg-primary, #ffffff);transition:border-color 0.2s, box-shadow 0.2s;line-height:1;user-select:none}.otp-box.filled{border-color:var(--ui-input-focus);box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb), 0.15), 0 4px 12px rgba(var(--ui-input-focus-rgb), 0.12)}.otp-box.active{border-color:var(--ui-input-focus);box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb), 0.2)}.otp-box.active::after{content:"";width:2px;height:1.2em;background:var(--ui-input-focus);animation:otp-cursor 1s infinite}@keyframes otp-cursor{0%,100%{opacity:1}50%{opacity:0}}.has-gradient-border .clipping-layer::before{content:"";position:absolute;inset:-150%;background:conic-gradient(from 0deg, var(--color-primary, #8b5cf6), var(--color-danger, #ec4899), var(--color-success, #10b981), var(--color-warning, #f59e0b), var(--color-primary, #8b5cf6));animation:spin-shader 4s linear infinite;z-index:-1}.has-gradient-border .input-container{border-color:transparent !important}@keyframes spin-shader{100%{transform:rotate(360deg)}}.has-backdrop-sheen .clipping-layer::after{content:"";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(135deg, transparent, rgba(255, 255, 255, 0.3), transparent);animation:sheen-flow 3s ease-in-out infinite;transform:skewX(-20deg)}@keyframes sheen-flow{0%{left:-150%}100%{left:150%}}.liquid-ripple{position:absolute;background:rgba(var(--ui-input-focus-rgb, 61, 205, 88), 0.25);border-radius:50%;transform:translate(-50%, -50%) scale(0);pointer-events:none;animation:ripple-animation 0.6s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes ripple-animation{0%{transform:translate(-50%, -50%) scale(0);opacity:0.5}100%{transform:translate(-50%, -50%) scale(4);opacity:0}}.range-input-wrapper{display:flex;align-items:center;flex:1;gap:12px;height:100%;padding:0 14px;width:100%;min-width:0;overflow:hidden;position:relative}.range-input-wrapper input[type=range]{-webkit-appearance:none;appearance:none;flex:1;background:transparent;cursor:pointer;height:38px;z-index:2;margin:0}.range-input-wrapper input[type=range]:focus{outline:none}.range-input-wrapper input[type=range]::-webkit-slider-runnable-track{height:6px;background:linear-gradient(to right, var(--ui-input-focus) 0%, var(--ui-input-focus) var(--range-progress), var(--border-subtle, #e2e8f0) var(--range-progress), var(--border-subtle, #e2e8f0) 100%);border-radius:6px;transition:all 0.2s ease}.range-input-wrapper input[type=range]::-moz-range-track{height:6px;background:var(--border-subtle, #e2e8f0);border-radius:6px}.range-input-wrapper input[type=range]::-moz-range-progress{background:var(--ui-input-focus);height:6px;border-radius:6px 0 0 6px}.range-input-wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:18px;width:18px;background:#ffffff;border:2px solid var(--ui-input-focus);border-radius:50%;margin-top:-6px;box-shadow:0 2px 5px rgba(0, 0, 0, 0.15), 0 0 0 0 rgba(var(--ui-input-focus-rgb), 0);transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);z-index:10}.range-input-wrapper input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 3px 8px rgba(0, 0, 0, 0.2), 0 0 0 4px rgba(var(--ui-input-focus-rgb), 0.1);transform:scale(1.1)}.range-input-wrapper input[type=range]:active::-webkit-slider-thumb{transform:scale(0.95);background:var(--ui-input-focus);border-color:#ffffff}.range-input-wrapper input[type=range]::-moz-range-thumb{height:16px;width:16px;background:#ffffff;border:2px solid var(--ui-input-focus);border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);cursor:pointer}.range-input-wrapper input[type=range]:disabled{cursor:not-allowed;opacity:0.6}.range-input-wrapper input[type=range]:disabled::-webkit-slider-runnable-track{background:var(--border-subtle, #e2e8f0)}.range-input-wrapper input[type=range]:disabled::-webkit-slider-thumb{border-color:var(--text-muted)}.range-input-wrapper .range-manual-adornment{display:flex;align-items:center;margin-left:12px}.range-input-wrapper .range-manual-input{width:60px;height:28px;border:1px solid var(--ui-input-focus);border-radius:6px;background:rgba(var(--ui-input-focus-rgb), 0.05);color:var(--ui-input-focus);font-size:13px;font-weight:700;text-align:center;outline:none;transition:all 0.2s;font-family:inherit}.range-input-wrapper .range-manual-input::-webkit-inner-spin-button,.range-input-wrapper .range-manual-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.range-input-wrapper .range-manual-input:focus{background:#ffffff;box-shadow:0 0 0 2px rgba(var(--ui-input-focus-rgb), 0.2)}.status-indicator{display:inline-flex;align-items:center;gap:8px;position:relative;margin:0 8px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;background:var(--bg-primary, #ffffff);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);z-index:10;border:1px solid rgba(0, 0, 0, 0.05)}.status-indicator .status-dot{width:7px;height:7px;border-radius:50%}.status-indicator.status-online{color:var(--color-success)}.status-indicator.status-online .status-dot{background:var(--color-success);box-shadow:0 0 10px var(--color-success)}.status-indicator.status-away{color:var(--color-warning)}.status-indicator.status-away .status-dot{background:var(--color-warning);box-shadow:0 0 10px var(--color-warning)}.status-indicator.status-listening{color:var(--color-danger);background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.05);border-color:rgba(var(--color-danger-rgb, 239, 68, 68), 0.2)}.status-indicator.status-listening .mic-pulse{animation:mic-pulse 1.5s infinite;font-size:14px}.status-indicator .status-label{margin-left:2px;text-transform:capitalize;color:var(--text-secondary)}@keyframes mic-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:0.7}100%{transform:scale(1);opacity:1}}.typing-animation{display:inline-flex;gap:2px}.typing-animation span{width:3px;height:3px;border-radius:50%;background:currentColor;animation:typing-blink 1.4s infinite both}.typing-animation span:nth-child(2){animation-delay:0.2s}.typing-animation span:nth-child(3){animation-delay:0.4s}@keyframes typing-blink{0%,80%,100%{opacity:0}40%{opacity:1}}.linear-loading-bar{position:absolute;bottom:-1.5px;left:-1.5px;right:-1.5px;height:3px;background:rgba(var(--ui-input-focus-rgb), 0.1);overflow:hidden;z-index:5}.linear-loading-bar::after{content:"";position:absolute;width:50%;height:100%;background:linear-gradient(90deg, transparent, var(--ui-input-focus), transparent);animation:linear-loading-flow 1.5s infinite}@keyframes linear-loading-flow{0%{left:-50%}100%{left:100%}}.input-footer{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:6px}.helper-text{display:inline-flex;align-items:center;gap:6px;color:var(--ui-input-helper-color, var(--ui-input-helper));flex:1}.helper-text .validation-icon{font-size:1.15em}.helper-text.success-text{color:var(--color-success, #10b981)}.helper-text.error-text{color:var(--color-danger, #ef4444)}.helper-text.warning-text{color:var(--color-warning, #f59e0b)}.helper-text.info-text{color:var(--color-primary, #0ea5e9)}.character-counter{color:var(--text-muted);font-size:12px;margin-left:auto}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--ui-input-bg);border:1.5px solid var(--ui-input-border);border-radius:12px;box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.1);margin-top:6px;max-height:280px;overflow-y:auto;z-index:1000;padding:6px}.autocomplete-dropdown .autocomplete-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;cursor:pointer;transition:all 0.2s}.autocomplete-dropdown .autocomplete-item:hover{background:rgba(var(--ui-input-focus-rgb), 0.08);color:var(--ui-input-focus);transform:translateX(4px)}.input-field[type=date],.input-field[type=datetime-local],.input-field[type=month],.input-field[type=week],.input-field[type=time]{cursor:pointer}.input-field[type=date]::-webkit-calendar-picker-indicator,.input-field[type=datetime-local]::-webkit-calendar-picker-indicator,.input-field[type=month]::-webkit-calendar-picker-indicator,.input-field[type=week]::-webkit-calendar-picker-indicator,.input-field[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.6;transition:opacity 0.15s ease}.input-field[type=date]::-webkit-calendar-picker-indicator:hover,.input-field[type=datetime-local]::-webkit-calendar-picker-indicator:hover,.input-field[type=month]::-webkit-calendar-picker-indicator:hover,.input-field[type=week]::-webkit-calendar-picker-indicator:hover,.input-field[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.input-field[type=file]{cursor:pointer}.input-field[type=file]::-webkit-file-upload-button{cursor:pointer}.input-field[type=file]::file-selector-button{cursor:pointer}.input-field[type=color]{cursor:pointer}.input-field[type=color]::-webkit-color-swatch-wrapper,.input-field[type=color]::-webkit-color-swatch{cursor:pointer}.otp-container input.input-field{cursor:pointer}.otp-box{cursor:pointer}.shortcut-hint{cursor:default;user-select:none}.dirty-indicator{cursor:default}@keyframes shake{0%,100%{transform:translate3d(0, 0, 0)}10%,90%{transform:translate3d(-3px, 0, 0)}20%,80%{transform:translate3d(6px, 0, 0)}30%,50%,70%{transform:translate3d(-10px, 0, 0)}40%,60%{transform:translate3d(10px, 0, 0)}}`;
|
|
4227
|
+
const inputCss = () => `.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:inline-block;width:var(--ui-input-width, auto);min-width:0;max-width:100%}:host.variant-plain{min-width:0;box-sizing:border-box}:host{--ui-input-bg:var(--bg-primary, #ffffff);--ui-input-color:var(--text-primary, #1e293b);--ui-input-color-rgb:30, 41, 59;--ui-input-border:var(--color-primary, #bfc8d8);--ui-input-border-hover:var(--color-primary, #94a3b8);--ui-input-focus:var(--color-primary, #6366f1);--ui-input-focus-rgb:99, 102, 241;--ui-input-placeholder:var(--ui-input-color);--ui-input-label:var(--label-color, var(--text-primary, #1e293b));--ui-input-helper:var(--label-subtitle-color, var(--text-muted, #64748b));--ui-input-addon-bg:var(--bg-primary, #f8fafc);--ui-input-addon-border:var(--border-subtle, #e2e8f0);--ui-input-addon-color:var(--text-muted, #64748b);--ui-input-radius:10px;--ui-input-soft-bg:var(--bg-secondary, #f8fafc);--ui-input-soft-border:var(--border-subtle, #e2e8f0);--ui-input-filled-bg:var(--bg-secondary, #f1f5f9);--ui-input-underlined-border:var(--border-default, #e2e8f0);--ui-input-placeholder-opacity:0.45}:host(.input-color-primary){--ui-input-focus:var(--color-primary, #10b981);--ui-input-focus-rgb:unquote(37, 99, 235);--ui-input-border:var(--color-primary-border, #bfdbfe);--ui-input-border-hover:var(--color-primary, #10b981);--ui-input-addon-bg:var(--color-primary, #2563eb);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-primary, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-primary-soft, #eff6ff);--ui-input-soft-border:var(--color-primary-border, #bfdbfe);--ui-input-filled-bg:var(--color-primary-ghost, #f1f5f9)}:host :host .input-color-primary{--ui-input-focus:var(--color-primary, #10b981);--ui-input-focus-rgb:unquote(37, 99, 235);--ui-input-border:var(--color-primary-border, #bfdbfe);--ui-input-border-hover:var(--color-primary, #10b981);--ui-input-addon-bg:var(--color-primary, #2563eb);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-primary, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-primary-soft, #eff6ff);--ui-input-soft-border:var(--color-primary-border, #bfdbfe);--ui-input-filled-bg:var(--color-primary-ghost, #f1f5f9)}:host(.has-primary){--ui-input-focus:var(--color-primary, #10b981);--ui-input-focus-rgb:unquote(37, 99, 235);--ui-input-border:var(--color-primary, #10b981);--ui-input-border-hover:var(--color-primary, #10b981);--ui-input-brand-color:var(--color-primary, #10b981)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-secondary){--ui-input-focus:var(--color-secondary, #64748b);--ui-input-focus-rgb:unquote(100, 116, 139);--ui-input-border:var(--color-secondary-border, #e2e8f0);--ui-input-border-hover:var(--color-secondary, #64748b);--ui-input-addon-bg:var(--color-secondary, #64748b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-secondary, #64748b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-secondary-soft, #f1f5f9);--ui-input-soft-border:var(--color-secondary-border, #e2e8f0);--ui-input-filled-bg:var(--color-secondary-ghost, #f8fafc)}:host :host .input-color-secondary{--ui-input-focus:var(--color-secondary, #64748b);--ui-input-focus-rgb:unquote(100, 116, 139);--ui-input-border:var(--color-secondary-border, #e2e8f0);--ui-input-border-hover:var(--color-secondary, #64748b);--ui-input-addon-bg:var(--color-secondary, #64748b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-secondary, #64748b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-secondary-soft, #f1f5f9);--ui-input-soft-border:var(--color-secondary-border, #e2e8f0);--ui-input-filled-bg:var(--color-secondary-ghost, #f8fafc)}:host(.has-secondary){--ui-input-focus:var(--color-secondary, #64748b);--ui-input-focus-rgb:unquote(100, 116, 139);--ui-input-border:var(--color-secondary, #64748b);--ui-input-border-hover:var(--color-secondary, #64748b);--ui-input-brand-color:var(--color-secondary, #64748b)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-success){--ui-input-focus:var(--color-success, #10b981);--ui-input-focus-rgb:unquote(16, 185, 129);--ui-input-border:var(--color-success-border, #bbf7d0);--ui-input-border-hover:var(--color-success, #10b981);--ui-input-addon-bg:var(--color-success, #10b981);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-success, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-success-soft, #f0fdf4);--ui-input-soft-border:var(--color-success-border, #bbf7d0);--ui-input-filled-bg:var(--color-success-ghost, #f0fdf4)}:host :host .input-color-success{--ui-input-focus:var(--color-success, #10b981);--ui-input-focus-rgb:unquote(16, 185, 129);--ui-input-border:var(--color-success-border, #bbf7d0);--ui-input-border-hover:var(--color-success, #10b981);--ui-input-addon-bg:var(--color-success, #10b981);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-success, #10b981);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-success-soft, #f0fdf4);--ui-input-soft-border:var(--color-success-border, #bbf7d0);--ui-input-filled-bg:var(--color-success-ghost, #f0fdf4)}:host(.has-success){--ui-input-focus:var(--color-success, #10b981);--ui-input-focus-rgb:unquote(16, 185, 129);--ui-input-border:var(--color-success, #10b981);--ui-input-border-hover:var(--color-success, #10b981);--ui-input-brand-color:var(--color-success, #10b981)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-danger){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host :host .input-color-danger{--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host(.has-danger){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger, #ef4444);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-brand-color:var(--color-danger, #ef4444)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-error){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host :host .input-color-error{--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger-border, #fecaca);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-addon-bg:var(--color-danger, #ef4444);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-danger, #ef4444);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-danger-soft, #fef2f2);--ui-input-soft-border:var(--color-danger-border, #fecaca);--ui-input-filled-bg:var(--color-danger-ghost, #fef2f2)}:host(.has-error){--ui-input-focus:var(--color-danger, #ef4444);--ui-input-focus-rgb:unquote(239, 68, 68);--ui-input-border:var(--color-danger, #ef4444);--ui-input-border-hover:var(--color-danger, #ef4444);--ui-input-brand-color:var(--color-danger, #ef4444)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-warning){--ui-input-focus:var(--color-warning, #f59e0b);--ui-input-focus-rgb:unquote(245, 158, 11);--ui-input-border:var(--color-warning-border, #fde68a);--ui-input-border-hover:var(--color-warning, #f59e0b);--ui-input-addon-bg:var(--color-warning, #f59e0b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-warning, #f59e0b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-warning-soft, #fffbeb);--ui-input-soft-border:var(--color-warning-border, #fde68a);--ui-input-filled-bg:var(--color-warning-ghost, #fffbeb)}:host :host .input-color-warning{--ui-input-focus:var(--color-warning, #f59e0b);--ui-input-focus-rgb:unquote(245, 158, 11);--ui-input-border:var(--color-warning-border, #fde68a);--ui-input-border-hover:var(--color-warning, #f59e0b);--ui-input-addon-bg:var(--color-warning, #f59e0b);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-warning, #f59e0b);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-warning-soft, #fffbeb);--ui-input-soft-border:var(--color-warning-border, #fde68a);--ui-input-filled-bg:var(--color-warning-ghost, #fffbeb)}:host(.has-warning){--ui-input-focus:var(--color-warning, #f59e0b);--ui-input-focus-rgb:unquote(245, 158, 11);--ui-input-border:var(--color-warning, #f59e0b);--ui-input-border-hover:var(--color-warning, #f59e0b);--ui-input-brand-color:var(--color-warning, #f59e0b)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host(.input-color-info){--ui-input-focus:var(--color-info, #0ea5e9);--ui-input-focus-rgb:unquote(14, 165, 233);--ui-input-border:var(--color-info-border, #bae6fd);--ui-input-border-hover:var(--color-info, #0ea5e9);--ui-input-addon-bg:var(--color-info, #0ea5e9);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-info, #0ea5e9);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-info-soft, #f0f9ff);--ui-input-soft-border:var(--color-info-border, #bae6fd);--ui-input-filled-bg:var(--color-info-ghost, #f0f9ff)}:host :host .input-color-info{--ui-input-focus:var(--color-info, #0ea5e9);--ui-input-focus-rgb:unquote(14, 165, 233);--ui-input-border:var(--color-info-border, #bae6fd);--ui-input-border-hover:var(--color-info, #0ea5e9);--ui-input-addon-bg:var(--color-info, #0ea5e9);--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--color-info, #0ea5e9);--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:var(--color-info-soft, #f0f9ff);--ui-input-soft-border:var(--color-info-border, #bae6fd);--ui-input-filled-bg:var(--color-info-ghost, #f0f9ff)}:host(.has-info){--ui-input-focus:var(--color-info, #0ea5e9);--ui-input-focus-rgb:unquote(14, 165, 233);--ui-input-border:var(--color-info, #0ea5e9);--ui-input-border-hover:var(--color-info, #0ea5e9);--ui-input-brand-color:var(--color-info, #0ea5e9)}:host.has-value .input-container,:host.focused .input-container{border-color:var(--ui-input-border) !important}:host.input-color-custom{--ui-input-focus:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-focus-rgb:var(--ui-custom-color-rgb, 59, 130, 246);--ui-input-addon-bg:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.12);--ui-input-soft-border:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.3);--ui-input-filled-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.08)}:host(.input-color-custom){--ui-input-focus:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-focus-rgb:var(--ui-custom-color-rgb, 59, 130, 246);--ui-input-addon-bg:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-color:var(--text-standard, #ffffff);--ui-input-brand-color:var(--ui-custom-color, var(--color-primary, #10b981));--ui-input-addon-border:rgba(255, 255, 255, 0.1);--ui-input-soft-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.12);--ui-input-soft-border:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.3);--ui-input-filled-bg:rgba(var(--ui-custom-color-rgb, 59, 130, 246), 0.08)}:host([class*=input-color-]) .prefix-icon:not(.prefix-icon--clickable),:host([class*=input-color-]) .suffix-icon:not(.suffix-icon--clickable){color:var(--ui-input-label);background:rgba(var(--ui-input-focus-rgb), 0.08);border-color:rgba(var(--ui-input-focus-rgb), 0.15)}:host([class*=input-color-]) .input-label{color:var(--ui-input-label)}:host[class*=input-color-] .prefix-icon:not(.prefix-icon--clickable),:host[class*=input-color-] .suffix-icon:not(.suffix-icon--clickable){color:var(--ui-input-brand-color);background:rgba(var(--ui-input-focus-rgb), 0.08);border-color:rgba(var(--ui-input-focus-rgb), 0.15)}:host[class*=input-color-] .input-label{color:var(--ui-input-label-color, var(--ui-input-label))}:host [class*=block-color-].block-color-primary{background:var(--color-primary, #10b981) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-secondary{background:var(--color-secondary, #64748b) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-success{background:var(--color-success, #10b981) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-danger{background:var(--color-danger, #ef4444) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-error{background:var(--color-danger, #ef4444) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-warning{background:var(--color-warning, #f59e0b) !important;color:var(--text-standard, #ffffff) !important}:host [class*=block-color-].block-color-info{background:var(--color-info, #0ea5e9) !important;color:var(--text-standard, #ffffff) !important}:host.gradient-decorators [class*=prefix-],:host.gradient-decorators [class*=suffix-]:not(.hidden){background-clip:padding-box !important;border:none !important}:host.gradient-decorators.input-color-primary [class*=prefix-],:host.gradient-decorators.input-color-primary [class*=suffix-]{background:linear-gradient(135deg, var(--color-primary, #10b981), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-secondary [class*=prefix-],:host.gradient-decorators.input-color-secondary [class*=suffix-]{background:linear-gradient(135deg, var(--color-secondary, #64748b), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-success [class*=prefix-],:host.gradient-decorators.input-color-success [class*=suffix-]{background:linear-gradient(135deg, var(--color-success, #10b981), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-danger [class*=prefix-],:host.gradient-decorators.input-color-danger [class*=suffix-]{background:linear-gradient(135deg, var(--color-danger, #ef4444), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-error [class*=prefix-],:host.gradient-decorators.input-color-error [class*=suffix-]{background:linear-gradient(135deg, var(--color-danger, #ef4444), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-warning [class*=prefix-],:host.gradient-decorators.input-color-warning [class*=suffix-]{background:linear-gradient(135deg, var(--color-warning, #f59e0b), var(--color-primary, #6366f1)) !important}:host.gradient-decorators.input-color-info [class*=prefix-],:host.gradient-decorators.input-color-info [class*=suffix-]{background:linear-gradient(135deg, var(--color-info, #0ea5e9), var(--color-primary, #6366f1)) !important}:host.full-width{display:block;width:100%}:host.multiline .input-field{resize:both;height:auto;min-height:100px;line-height:1.6;padding:12px 14px;white-space:pre-wrap;overflow-y:auto;text-overflow:clip}:host.shake-animation{animation:shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important}:host(.shake-animation){animation:shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark){--ui-input-bg:var(--bg-primary, #1e293b);--ui-input-color:var(--text-standard, #f1f5f9);--ui-input-border:var(--border-default, #334155);--ui-input-border-hover:var(--border-strong, #475569);--ui-input-focus:var(--color-primary, #4ade80);--ui-input-focus-rgb:var(--color-primary-rgb);--ui-input-placeholder:var(--text-muted);--ui-input-label:var(--label-color, #f5f5f5);--ui-input-helper:var(--label-subtitle-color, #c2c2c2);--ui-input-addon-bg:var(--bg-secondary, #0f172a);--ui-input-addon-border:var(--border-subtle, #334155);--ui-input-addon-color:var(--label-subtitle-color, #c2c2c2);--ui-input-soft-bg:rgba(255, 255, 255, 0.05) !important;--ui-input-filled-bg:rgba(255, 255, 255, 0.08) !important}:host-context([data-theme=violet]){--ui-input-bg:var(--bg-primary, #1a1440);--ui-input-color:var(--text-standard, #f5f3ff);--ui-input-border:var(--color-primary);--ui-input-border-hover:var(--color-primary-hover);--ui-input-placeholder:var(--text-muted);--ui-input-label:var(--label-color, #ffffff);--ui-input-helper:var(--label-subtitle-color, #ddd6fe);--ui-input-addon-bg:var(--bg-secondary);--ui-input-addon-border:var(--border-subtle);--ui-input-addon-color:var(--label-subtitle-color)}.input-wrapper{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;min-width:0}.input-wrapper.full-width{width:100%}:host(.size-xxxs) .input-wrapper .input-field,.input-wrapper.size-xxxs .input-field{padding:var(--ui-input-padding, 0 6px);font-size:11px;height:20px;line-height:20px;text-align:var(--ui-input-text-align, left)}:host(.size-xxxs) .input-wrapper .input-label,.input-wrapper.size-xxxs .input-label{font-size:11px;line-height:16px}:host(.size-xxxs) .input-wrapper .helper-text,.input-wrapper.size-xxxs .helper-text{font-size:9px}:host(.size-xxxs) .input-wrapper .prefix-icon,:host(.size-xxxs) .input-wrapper .suffix-icon,:host(.size-xxxs) .input-wrapper .prefix-text,:host(.size-xxxs) .input-wrapper .suffix-text,.input-wrapper.size-xxxs .prefix-icon,.input-wrapper.size-xxxs .suffix-icon,.input-wrapper.size-xxxs .prefix-text,.input-wrapper.size-xxxs .suffix-text{padding:0 6px;font-size:11px}:host(.size-xxxs) .input-wrapper .otp-box,.input-wrapper.size-xxxs .otp-box{height:28px;width:22px;max-width:22px;font-size:11px}:host(.size-xxs) .input-wrapper .input-field,.input-wrapper.size-xxs .input-field{padding:var(--ui-input-padding, 0 8px);font-size:12px;height:24px;line-height:24px;text-align:var(--ui-input-text-align, left)}:host(.size-xxs) .input-wrapper .input-label,.input-wrapper.size-xxs .input-label{font-size:12px;line-height:18px}:host(.size-xxs) .input-wrapper .helper-text,.input-wrapper.size-xxs .helper-text{font-size:10px}:host(.size-xxs) .input-wrapper .prefix-icon,:host(.size-xxs) .input-wrapper .suffix-icon,:host(.size-xxs) .input-wrapper .prefix-text,:host(.size-xxs) .input-wrapper .suffix-text,.input-wrapper.size-xxs .prefix-icon,.input-wrapper.size-xxs .suffix-icon,.input-wrapper.size-xxs .prefix-text,.input-wrapper.size-xxs .suffix-text{padding:0 8px;font-size:12px}:host(.size-xxs) .input-wrapper .otp-box,.input-wrapper.size-xxs .otp-box{height:32px;width:26px;max-width:26px;font-size:12px}:host(.size-xs) .input-wrapper .input-field,.input-wrapper.size-xs .input-field{padding:var(--ui-input-padding, 0 10px);font-size:13px;height:28px;line-height:28px;text-align:var(--ui-input-text-align, left)}:host(.size-xs) .input-wrapper .input-label,.input-wrapper.size-xs .input-label{font-size:13px;line-height:20px}:host(.size-xs) .input-wrapper .helper-text,.input-wrapper.size-xs .helper-text{font-size:11px}:host(.size-xs) .input-wrapper .prefix-icon,:host(.size-xs) .input-wrapper .suffix-icon,:host(.size-xs) .input-wrapper .prefix-text,:host(.size-xs) .input-wrapper .suffix-text,.input-wrapper.size-xs .prefix-icon,.input-wrapper.size-xs .suffix-icon,.input-wrapper.size-xs .prefix-text,.input-wrapper.size-xs .suffix-text{padding:0 10px;font-size:13px}:host(.size-xs) .input-wrapper .otp-box,.input-wrapper.size-xs .otp-box{height:36px;width:30px;max-width:30px;font-size:13px}:host(.size-sm) .input-wrapper .input-container,.input-wrapper.size-sm .input-container{min-height:32px}:host(.size-sm) .input-wrapper .input-field,.input-wrapper.size-sm .input-field{padding:var(--ui-input-padding, 0 12px);font-size:14px;height:32px;line-height:32px;text-align:var(--ui-input-text-align, left)}:host(.size-sm) .input-wrapper .input-label,.input-wrapper.size-sm .input-label{font-size:14px;line-height:22px}:host(.size-sm) .input-wrapper .helper-text,.input-wrapper.size-sm .helper-text{font-size:11px}:host(.size-sm) .input-wrapper .prefix-icon,:host(.size-sm) .input-wrapper .suffix-icon,:host(.size-sm) .input-wrapper .prefix-text,:host(.size-sm) .input-wrapper .suffix-text,.input-wrapper.size-sm .prefix-icon,.input-wrapper.size-sm .suffix-icon,.input-wrapper.size-sm .prefix-text,.input-wrapper.size-sm .suffix-text{padding:0 12px;font-size:14px}:host(.size-sm) .input-wrapper .otp-box,.input-wrapper.size-sm .otp-box{height:40px;width:32px;max-width:32px;font-size:14px}:host(.size-md) .input-wrapper .input-container,.input-wrapper.size-md .input-container{min-height:38px}:host(.size-md) .input-wrapper .input-field,.input-wrapper.size-md .input-field{padding:var(--ui-input-padding, 0 14px);font-size:15px;height:38px;line-height:38px;text-align:var(--ui-input-text-align, left)}:host(.size-md) .input-wrapper .input-label,.input-wrapper.size-md .input-label{font-size:15px;line-height:24px}:host(.size-md) .input-wrapper .helper-text,.input-wrapper.size-md .helper-text{font-size:12px}:host(.size-md) .input-wrapper .prefix-icon,:host(.size-md) .input-wrapper .suffix-icon,:host(.size-md) .input-wrapper .prefix-text,:host(.size-md) .input-wrapper .suffix-text,.input-wrapper.size-md .prefix-icon,.input-wrapper.size-md .suffix-icon,.input-wrapper.size-md .prefix-text,.input-wrapper.size-md .suffix-text{padding:0 14px;font-size:15px}:host(.size-md) .input-wrapper .otp-box,.input-wrapper.size-md .otp-box{height:46px;width:36px;max-width:36px;font-size:16px}:host(.size-lg) .input-wrapper .input-container,.input-wrapper.size-lg .input-container{min-height:42px}:host(.size-lg) .input-wrapper .input-field,.input-wrapper.size-lg .input-field{padding:var(--ui-input-padding, 0 16px);font-size:16px;height:42px;line-height:42px;text-align:var(--ui-input-text-align, left)}:host(.size-lg) .input-wrapper .input-label,.input-wrapper.size-lg .input-label{font-size:16px;line-height:26px}:host(.size-lg) .input-wrapper .helper-text,.input-wrapper.size-lg .helper-text{font-size:13px}:host(.size-lg) .input-wrapper .prefix-icon,:host(.size-lg) .input-wrapper .suffix-icon,:host(.size-lg) .input-wrapper .prefix-text,:host(.size-lg) .input-wrapper .suffix-text,.input-wrapper.size-lg .prefix-icon,.input-wrapper.size-lg .suffix-icon,.input-wrapper.size-lg .prefix-text,.input-wrapper.size-lg .suffix-text{padding:0 16px;font-size:18px}:host(.size-lg) .input-wrapper .otp-box,.input-wrapper.size-lg .otp-box{height:52px;width:42px;max-width:42px;font-size:18px}:host(.size-xl) .input-wrapper .input-container,.input-wrapper.size-xl .input-container{min-height:48px}:host(.size-xl) .input-wrapper .input-field,.input-wrapper.size-xl .input-field{padding:var(--ui-input-padding, 0 18px);font-size:18px;height:48px;line-height:48px;text-align:var(--ui-input-text-align, left)}:host(.size-xl) .input-wrapper .input-label,.input-wrapper.size-xl .input-label{font-size:18px;line-height:28px}:host(.size-xl) .input-wrapper .helper-text,.input-wrapper.size-xl .helper-text{font-size:14px}:host(.size-xl) .input-wrapper .prefix-icon,:host(.size-xl) .input-wrapper .suffix-icon,:host(.size-xl) .input-wrapper .prefix-text,:host(.size-xl) .input-wrapper .suffix-text,.input-wrapper.size-xl .prefix-icon,.input-wrapper.size-xl .suffix-icon,.input-wrapper.size-xl .prefix-text,.input-wrapper.size-xl .suffix-text{padding:0 18px;font-size:20px}:host(.size-xl) .input-wrapper .otp-box,.input-wrapper.size-xl .otp-box{height:60px;width:48px;max-width:48px;font-size:20px}:host(.size-xxl) .input-wrapper .input-container,.input-wrapper.size-xxl .input-container{min-height:54px}:host(.size-xxl) .input-wrapper .input-field,.input-wrapper.size-xxl .input-field{padding:var(--ui-input-padding, 0 20px);font-size:20px;height:54px;line-height:54px;text-align:var(--ui-input-text-align, left)}:host(.size-xxl) .input-wrapper .input-label,.input-wrapper.size-xxl .input-label{font-size:20px;line-height:32px}:host(.size-xxl) .input-wrapper .helper-text,.input-wrapper.size-xxl .helper-text{font-size:15px}:host(.size-xxl) .input-wrapper .prefix-icon,:host(.size-xxl) .input-wrapper .suffix-icon,:host(.size-xxl) .input-wrapper .prefix-text,:host(.size-xxl) .input-wrapper .suffix-text,.input-wrapper.size-xxl .prefix-icon,.input-wrapper.size-xxl .suffix-icon,.input-wrapper.size-xxl .prefix-text,.input-wrapper.size-xxl .suffix-text{padding:0 20px;font-size:24px}:host(.size-xxl) .input-wrapper .otp-box,.input-wrapper.size-xxl .otp-box{height:68px;width:54px;max-width:54px;font-size:22px}:host(.size-xxxl) .input-wrapper .input-field,.input-wrapper.size-xxxl .input-field{padding:var(--ui-input-padding, 0 24px);font-size:24px;height:64px;line-height:64px;text-align:var(--ui-input-text-align, left)}:host(.size-xxxl) .input-wrapper .input-label,.input-wrapper.size-xxxl .input-label{font-size:24px;line-height:36px}:host(.size-xxxl) .input-wrapper .helper-text,.input-wrapper.size-xxxl .helper-text{font-size:16px}:host(.size-xxxl) .input-wrapper .prefix-icon,:host(.size-xxxl) .input-wrapper .suffix-icon,:host(.size-xxxl) .input-wrapper .prefix-text,:host(.size-xxxl) .input-wrapper .suffix-text,.input-wrapper.size-xxxl .prefix-icon,.input-wrapper.size-xxxl .suffix-icon,.input-wrapper.size-xxxl .prefix-text,.input-wrapper.size-xxxl .suffix-text{padding:0 24px;font-size:28px}:host(.size-xxxl) .input-wrapper .otp-box,.input-wrapper.size-xxxl .otp-box{height:80px;width:64px;max-width:64px;font-size:26px}.input-label{display:block;font-size:11px;font-weight:700;color:var(--ui-input-label-color, var(--ui-input-label));margin-bottom:8px;letter-spacing:0.08em;text-transform:uppercase;opacity:0.65}.input-label .required-indicator{color:var(--color-danger-hover, #dc2626);margin-left:3px;font-size:16px;vertical-align:middle}.input-container{position:relative;display:flex;align-items:center;border:1px solid var(--ui-input-border);border-radius:var(--ui-input-radius);background:var(--ui-input-bg);box-shadow:0 2px 4px rgba(0, 0, 0, 0.02), inset 0 1px 1px rgba(255, 255, 255, 0.5);transition:border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;width:100%;max-width:100%;min-width:0;overflow:visible;padding:0 !important;z-index:1}.input-container .clipping-layer{position:absolute;inset:-1px;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0}.density-cozy .input-container{gap:6px}.density-compact .input-container{gap:4px}.input-field{flex:1;border:none;outline:none;background:transparent;font-family:inherit;color:var(--ui-input-color);width:100%;min-width:0;font-weight:400;text-align:var(--ui-input-text-align, left);padding:0 var(--ui-input-padding-x, 12px) !important;transition:color 0.2s, opacity 0.2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.input-field::placeholder{color:var(--ui-input-placeholder);font-weight:400;opacity:var(--ui-input-placeholder-opacity)}.input-field:disabled{cursor:not-allowed;opacity:0.6;color:var(--text-muted, #6b7280)}.input-field:read-only{cursor:default;color:var(--text-secondary, #374151)}.input-field[type=number]{-moz-appearance:textfield}.input-field[type=number]::-webkit-outer-spin-button,.input-field[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host(.variant-outlined) .input-container{border:1px solid var(--ui-input-border);background:var(--ui-input-bg);box-shadow:0 2px 4px rgba(0, 0, 0, 0.02)}:host(.variant-outlined.focused) .input-container{border-color:var(--ui-input-focus) !important;box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.15), 0 1px 3px rgba(0, 0, 0, 0.08) !important}:host(.variant-filled) .input-container{border-bottom:2px solid transparent;border-radius:10px 10px 0 0;border:none;background:var(--ui-input-filled-bg);box-shadow:inset 0 -1px 0 0 var(--border-strong, #d1d5db)}:host(.variant-filled.focused) .input-container{background:var(--bg-primary, #e5e7eb);border-bottom-color:var(--ui-input-focus);box-shadow:inset 0 -2px 0 0 var(--ui-input-focus)}:host(.variant-underlined) .input-container{border-bottom:1px solid var(--ui-input-underlined-border, var(--border-strong, #d1d5db));border-radius:0;padding-left:0;padding-right:0;border:none;background:transparent;box-shadow:none}:host(.variant-underlined.focused) .input-container{border-bottom-color:var(--ui-input-focus);box-shadow:0 1px 0 0 var(--ui-input-focus)}:host(.variant-soft) .input-container{border:1px solid var(--ui-input-soft-border);background:var(--ui-input-soft-bg);box-shadow:none}:host(.variant-soft.focused) .input-container{background:var(--ui-input-bg);border-color:var(--ui-input-focus);box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.1), 0 2px 6px 0 rgba(0, 0, 0, 0.04) !important}.variant-borderless .input-container,.variant-plain .input-container{border:none !important;background:transparent !important;box-shadow:none !important;padding:0 !important}.floating-label{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:transparent;padding:0 4px;color:var(--ui-input-label, var(--label-subtitle-color));pointer-events:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);font-size:14px;line-height:1;z-index:2}.input-wrapper.has-prefix .floating-label{left:56px}.input-wrapper.has-prefix-text .floating-label{left:76px}.focused .floating-label,.has-value .floating-label,.is-always-floated .floating-label{top:0;left:12px;transform:translateY(-56%) scale(0.8);transform-origin:left bottom;background:var(--ui-input-bg);padding:0 6px;font-size:14px;font-weight:700;color:var(--label-color, #111827);letter-spacing:0.04em;text-transform:uppercase;z-index:5}.input-wrapper.has-prefix .focused .floating-label,.input-wrapper.has-prefix .has-value .floating-label,.input-wrapper.has-prefix .is-always-floated .floating-label{left:56px}.input-wrapper.has-prefix-text .focused .floating-label,.input-wrapper.has-prefix-text .has-value .floating-label,.input-wrapper.has-prefix-text .is-always-floated .floating-label{left:76px}.prefix-text,.suffix-text,.prefix-icon,.suffix-icon{display:flex;align-items:center;align-self:stretch;background:var(--ui-input-addon-bg);border-color:var(--ui-input-addon-border)}.prefix-text.prefix-text,.prefix-text.prefix-icon,.suffix-text.prefix-text,.suffix-text.prefix-icon,.prefix-icon.prefix-text,.prefix-icon.prefix-icon,.suffix-icon.prefix-text,.suffix-icon.prefix-icon{border-right:1px solid var(--ui-input-addon-border);border-radius:calc(var(--ui-input-radius) - 1px) 0 0 calc(var(--ui-input-radius) - 1px);margin-right:2px}.prefix-text.suffix-text,.prefix-text.suffix-icon,.suffix-text.suffix-text,.suffix-text.suffix-icon,.prefix-icon.suffix-text,.prefix-icon.suffix-icon,.suffix-icon.suffix-text,.suffix-icon.suffix-icon{border-left:1px solid var(--ui-input-addon-border);border-radius:0 calc(var(--ui-input-radius) - 1px) calc(var(--ui-input-radius) - 1px) 0;margin-left:2px}.prefix-text,.suffix-text,.prefix-icon,.suffix-icon{display:flex;align-items:center;justify-content:center;padding:0 12px;color:var(--label-icon-color, var(--label-subtitle-color));font-weight:500}.prefix-text--clickable,.suffix-text--clickable,.prefix-icon--clickable,.suffix-icon--clickable{cursor:pointer;border:none;transition:background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;user-select:none}.prefix-text--clickable:hover,.suffix-text--clickable:hover,.prefix-icon--clickable:hover,.suffix-icon--clickable:hover{background:var(--ui-input-border-hover, rgba(var(--ui-input-focus-rgb, 99, 102, 241), 0.12));filter:brightness(0.92)}.prefix-text--clickable:active,.suffix-text--clickable:active,.prefix-icon--clickable:active,.suffix-icon--clickable:active{transform:scale(0.93)}.prefix-text--clickable:focus-visible,.suffix-text--clickable:focus-visible,.prefix-icon--clickable:focus-visible,.suffix-icon--clickable:focus-visible{outline:2px solid var(--ui-input-focus);outline-offset:-2px}.input-field-stack{position:relative;flex:1;display:flex;align-items:center;min-width:0;overflow:hidden}.input-field-stack .input-field{flex:1 !important;z-index:2 !important;background:transparent !important}.ghost-text-overlay{position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:none;color:rgba(var(--ui-input-color-rgb), 0.35);font-size:inherit;padding-left:inherit;z-index:1;white-space:pre}.otp-container{display:flex;gap:8px;width:100%;justify-content:center;align-items:center;position:relative;padding:6px 16px;box-sizing:border-box}.otp-container input.input-field{position:absolute;opacity:0;inset:0;z-index:2;cursor:pointer}.otp-box{flex:0 0 auto;width:38px;height:46px;max-width:38px;overflow:hidden;border:2px solid var(--ui-input-border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;background:var(--bg-primary, #ffffff);transition:border-color 0.2s, box-shadow 0.2s;line-height:1;user-select:none}.otp-box.filled{border-color:var(--ui-input-focus);box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb), 0.15), 0 4px 12px rgba(var(--ui-input-focus-rgb), 0.12)}.otp-box.active{border-color:var(--ui-input-focus);box-shadow:0 0 0 3px rgba(var(--ui-input-focus-rgb), 0.2)}.otp-box.active::after{content:"";width:2px;height:1.2em;background:var(--ui-input-focus);animation:otp-cursor 1s infinite}@keyframes otp-cursor{0%,100%{opacity:1}50%{opacity:0}}.has-gradient-border .clipping-layer::before{content:"";position:absolute;inset:-150%;background:conic-gradient(from 0deg, var(--color-primary, #8b5cf6), var(--color-danger, #ec4899), var(--color-success, #10b981), var(--color-warning, #f59e0b), var(--color-primary, #8b5cf6));animation:spin-shader 4s linear infinite;z-index:-1}.has-gradient-border .input-container{border-color:transparent !important}@keyframes spin-shader{100%{transform:rotate(360deg)}}.has-backdrop-sheen .clipping-layer::after{content:"";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(135deg, transparent, rgba(255, 255, 255, 0.3), transparent);animation:sheen-flow 3s ease-in-out infinite;transform:skewX(-20deg)}@keyframes sheen-flow{0%{left:-150%}100%{left:150%}}.liquid-ripple{position:absolute;background:rgba(var(--ui-input-focus-rgb, 61, 205, 88), 0.25);border-radius:50%;transform:translate(-50%, -50%) scale(0);pointer-events:none;animation:ripple-animation 0.6s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes ripple-animation{0%{transform:translate(-50%, -50%) scale(0);opacity:0.5}100%{transform:translate(-50%, -50%) scale(4);opacity:0}}.range-input-wrapper{display:flex;align-items:center;flex:1;gap:12px;height:100%;padding:0 14px;width:100%;min-width:0;overflow:hidden;position:relative}.range-input-wrapper input[type=range]{-webkit-appearance:none;appearance:none;flex:1;background:transparent;cursor:pointer;height:38px;z-index:2;margin:0}.range-input-wrapper input[type=range]:focus{outline:none}.range-input-wrapper input[type=range]::-webkit-slider-runnable-track{height:6px;background:linear-gradient(to right, var(--ui-input-focus) 0%, var(--ui-input-focus) var(--range-progress), var(--border-subtle, #e2e8f0) var(--range-progress), var(--border-subtle, #e2e8f0) 100%);border-radius:6px;transition:all 0.2s ease}.range-input-wrapper input[type=range]::-moz-range-track{height:6px;background:var(--border-subtle, #e2e8f0);border-radius:6px}.range-input-wrapper input[type=range]::-moz-range-progress{background:var(--ui-input-focus);height:6px;border-radius:6px 0 0 6px}.range-input-wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:18px;width:18px;background:#ffffff;border:2px solid var(--ui-input-focus);border-radius:50%;margin-top:-6px;box-shadow:0 2px 5px rgba(0, 0, 0, 0.15), 0 0 0 0 rgba(var(--ui-input-focus-rgb), 0);transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);z-index:10}.range-input-wrapper input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 3px 8px rgba(0, 0, 0, 0.2), 0 0 0 4px rgba(var(--ui-input-focus-rgb), 0.1);transform:scale(1.1)}.range-input-wrapper input[type=range]:active::-webkit-slider-thumb{transform:scale(0.95);background:var(--ui-input-focus);border-color:#ffffff}.range-input-wrapper input[type=range]::-moz-range-thumb{height:16px;width:16px;background:#ffffff;border:2px solid var(--ui-input-focus);border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);cursor:pointer}.range-input-wrapper input[type=range]:disabled{cursor:not-allowed;opacity:0.6}.range-input-wrapper input[type=range]:disabled::-webkit-slider-runnable-track{background:var(--border-subtle, #e2e8f0)}.range-input-wrapper input[type=range]:disabled::-webkit-slider-thumb{border-color:var(--text-muted)}.range-input-wrapper .range-manual-adornment{display:flex;align-items:center;margin-left:12px}.range-input-wrapper .range-manual-input{width:60px;height:28px;border:1px solid var(--ui-input-focus);border-radius:6px;background:rgba(var(--ui-input-focus-rgb), 0.05);color:var(--ui-input-focus);font-size:13px;font-weight:700;text-align:center;outline:none;transition:all 0.2s;font-family:inherit}.range-input-wrapper .range-manual-input::-webkit-inner-spin-button,.range-input-wrapper .range-manual-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.range-input-wrapper .range-manual-input:focus{background:#ffffff;box-shadow:0 0 0 2px rgba(var(--ui-input-focus-rgb), 0.2)}.status-indicator{display:inline-flex;align-items:center;gap:8px;position:relative;margin:0 8px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;background:var(--bg-primary, #ffffff);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);z-index:10;border:1px solid rgba(0, 0, 0, 0.05)}.status-indicator .status-dot{width:7px;height:7px;border-radius:50%}.status-indicator.status-online{color:var(--color-success)}.status-indicator.status-online .status-dot{background:var(--color-success);box-shadow:0 0 10px var(--color-success)}.status-indicator.status-away{color:var(--color-warning)}.status-indicator.status-away .status-dot{background:var(--color-warning);box-shadow:0 0 10px var(--color-warning)}.status-indicator.status-listening{color:var(--color-danger);background:rgba(var(--color-danger-rgb, 239, 68, 68), 0.05);border-color:rgba(var(--color-danger-rgb, 239, 68, 68), 0.2)}.status-indicator.status-listening .mic-pulse{animation:mic-pulse 1.5s infinite;font-size:14px}.status-indicator .status-label{margin-left:2px;text-transform:capitalize;color:var(--text-secondary)}@keyframes mic-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:0.7}100%{transform:scale(1);opacity:1}}.typing-animation{display:inline-flex;gap:2px}.typing-animation span{width:3px;height:3px;border-radius:50%;background:currentColor;animation:typing-blink 1.4s infinite both}.typing-animation span:nth-child(2){animation-delay:0.2s}.typing-animation span:nth-child(3){animation-delay:0.4s}@keyframes typing-blink{0%,80%,100%{opacity:0}40%{opacity:1}}.linear-loading-bar{position:absolute;bottom:-1.5px;left:-1.5px;right:-1.5px;height:3px;background:rgba(var(--ui-input-focus-rgb), 0.1);overflow:hidden;z-index:5}.linear-loading-bar::after{content:"";position:absolute;width:50%;height:100%;background:linear-gradient(90deg, transparent, var(--ui-input-focus), transparent);animation:linear-loading-flow 1.5s infinite}@keyframes linear-loading-flow{0%{left:-50%}100%{left:100%}}.input-footer{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:6px}.helper-text{display:inline-flex;align-items:center;gap:6px;color:var(--ui-input-helper-color, var(--ui-input-helper));flex:1}.helper-text .validation-icon{font-size:1.15em}.helper-text.success-text{color:var(--color-success, #10b981)}.helper-text.error-text{color:var(--color-danger, #ef4444)}.helper-text.warning-text{color:var(--color-warning, #f59e0b)}.helper-text.info-text{color:var(--color-primary, #0ea5e9)}.character-counter{color:var(--text-muted);font-size:12px;margin-left:auto}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--ui-input-bg);border:1.5px solid var(--ui-input-border);border-radius:12px;box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.1);margin-top:6px;max-height:280px;overflow-y:auto;z-index:1000;padding:6px}.autocomplete-dropdown .autocomplete-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;cursor:pointer;transition:all 0.2s}.autocomplete-dropdown .autocomplete-item:hover{background:rgba(var(--ui-input-focus-rgb), 0.08);color:var(--ui-input-focus);transform:translateX(4px)}.input-field[type=date],.input-field[type=datetime-local],.input-field[type=month],.input-field[type=week],.input-field[type=time]{cursor:pointer}.input-field[type=date]::-webkit-calendar-picker-indicator,.input-field[type=datetime-local]::-webkit-calendar-picker-indicator,.input-field[type=month]::-webkit-calendar-picker-indicator,.input-field[type=week]::-webkit-calendar-picker-indicator,.input-field[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.6;transition:opacity 0.15s ease}.input-field[type=date]::-webkit-calendar-picker-indicator:hover,.input-field[type=datetime-local]::-webkit-calendar-picker-indicator:hover,.input-field[type=month]::-webkit-calendar-picker-indicator:hover,.input-field[type=week]::-webkit-calendar-picker-indicator:hover,.input-field[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.input-field[type=file]{cursor:pointer}.input-field[type=file]::-webkit-file-upload-button{cursor:pointer}.input-field[type=file]::file-selector-button{cursor:pointer}.input-field[type=color]{cursor:pointer}.input-field[type=color]::-webkit-color-swatch-wrapper,.input-field[type=color]::-webkit-color-swatch{cursor:pointer}.otp-container input.input-field{cursor:pointer}.otp-box{cursor:pointer}.shortcut-hint{cursor:default;user-select:none}.dirty-indicator{cursor:default}@keyframes shake{0%,100%{transform:translate3d(0, 0, 0)}10%,90%{transform:translate3d(-3px, 0, 0)}20%,80%{transform:translate3d(6px, 0, 0)}30%,50%,70%{transform:translate3d(-10px, 0, 0)}40%,60%{transform:translate3d(10px, 0, 0)}}`;
|
|
4144
4228
|
|
|
4145
4229
|
const STANDARD_COLORS = ['primary', 'secondary', 'success', 'warning', 'danger', 'error', 'info', 'default'];
|
|
4146
4230
|
const Input = class {
|
|
@@ -4878,6 +4962,14 @@ const Input = class {
|
|
|
4878
4962
|
if (this.type === 'password' && typeof event.getModifierState === 'function') {
|
|
4879
4963
|
this.capsLockOn = event.getModifierState("CapsLock");
|
|
4880
4964
|
}
|
|
4965
|
+
// For number inputs, handle ArrowUp/Down using our stepValue() so the
|
|
4966
|
+
// configured `step` prop is respected instead of the browser default (1).
|
|
4967
|
+
if (this.type === 'number' && (event.key === 'ArrowUp' || event.key === 'ArrowDown')) {
|
|
4968
|
+
event.preventDefault();
|
|
4969
|
+
this.stepValue(event.key === 'ArrowUp' ? 'up' : 'down');
|
|
4970
|
+
this.inputKeydown.emit(event);
|
|
4971
|
+
return;
|
|
4972
|
+
}
|
|
4881
4973
|
if (this.showSuggestions && this.suggestions.length > 0) {
|
|
4882
4974
|
const filtered = this.getFilteredSuggestions();
|
|
4883
4975
|
if (event.key === 'ArrowDown') {
|
|
@@ -4975,6 +5067,10 @@ const Input = class {
|
|
|
4975
5067
|
return this.helperText;
|
|
4976
5068
|
}
|
|
4977
5069
|
renderPrefixIcon() {
|
|
5070
|
+
// If prefixText is set, render it as a styled text addon (same pattern as currency)
|
|
5071
|
+
if (this.prefixText) {
|
|
5072
|
+
return index.h("span", { class: "prefix-text" }, this.prefixText);
|
|
5073
|
+
}
|
|
4978
5074
|
let iconName = this.prefixIcon;
|
|
4979
5075
|
// Explicitly handle 'none' or 'false' — do NOT return for empty string:
|
|
4980
5076
|
// the type-icon block below may still assign an icon
|
|
@@ -4986,7 +5082,6 @@ const Input = class {
|
|
|
4986
5082
|
'email': 'mail',
|
|
4987
5083
|
'tel': 'phone',
|
|
4988
5084
|
'url': 'link',
|
|
4989
|
-
'number': 'hash',
|
|
4990
5085
|
'date': 'calendar',
|
|
4991
5086
|
'currency': this.getCurrencyIcon()
|
|
4992
5087
|
};
|
|
@@ -5098,7 +5193,7 @@ const Input = class {
|
|
|
5098
5193
|
...(isCustomColor ? { '--ui-custom-color': this.color, '--ui-custom-color-rgb': utils.hexToRgb(this.color) } : {}),
|
|
5099
5194
|
'--ui-input-width': this.width
|
|
5100
5195
|
};
|
|
5101
|
-
const hasRealPrefix = !!((this.prefixIcon && this.prefixIcon !== 'none' && this.prefixIcon !== 'false') || this.prefixText || (this.showTypeIcon && ['search', 'email', 'tel', 'url', '
|
|
5196
|
+
const hasRealPrefix = !!((this.prefixIcon && this.prefixIcon !== 'none' && this.prefixIcon !== 'false') || this.prefixText || (this.showTypeIcon && ['search', 'email', 'tel', 'url', 'date', 'currency'].includes(this.type) && !this.prefixIcon && !this.prefixText && this.variant !== 'plain' && this.variant !== 'borderless') || isColor || this.type === 'currency');
|
|
5102
5197
|
const hasRealSuffix = !!((this.suffixIcon && this.suffixIcon !== 'none' && this.suffixIcon !== 'false') || this.suffixText || this.showClear || this.type === 'search' || (this.type === 'password' && this.showPasswordToggle) || this.loading || this.showCopy || this.voiceInput || this.shortcutHint);
|
|
5103
5198
|
const inputClasses = {
|
|
5104
5199
|
'input-wrapper': true,
|
|
@@ -5140,7 +5235,7 @@ const Input = class {
|
|
|
5140
5235
|
onKeyDown: this.handleKeydown,
|
|
5141
5236
|
onKeyUp: this.handleKeyup,
|
|
5142
5237
|
};
|
|
5143
|
-
return (index.h(index.Host, { key: '
|
|
5238
|
+
return (index.h(index.Host, { key: '9a60ec147a5fa55b2e8b5707480b548c42f5ae9e', class: {
|
|
5144
5239
|
[`variant-${this.variant}`]: true,
|
|
5145
5240
|
[`size-${this.size}`]: true,
|
|
5146
5241
|
'full-width': this.fullWidth,
|
|
@@ -5148,13 +5243,13 @@ const Input = class {
|
|
|
5148
5243
|
[`input-color-${isCustomColor ? 'custom' : this.color}`]: true,
|
|
5149
5244
|
'shake-animation': this.shake,
|
|
5150
5245
|
'focused': this.isFocused,
|
|
5151
|
-
}, style: hostStyles }, index.h("div", { key: '
|
|
5246
|
+
}, style: hostStyles }, index.h("div", { key: 'e502dc3eb3906454cc9dd59d90ace7733c0d28be', class: { ...inputClasses, 'input-ripple': this.rippleEffect } }, this.label && !this.floatingLabel && !isOtp && index.h("label", { key: 'cf95f5a2c55b665b381e101da1935817e5f6854e', class: "input-label" }, this.label, this.required && '*'), index.h("div", { key: '720476ab6d027d170c9f6578aafbd9dd6d4666ab', class: "input-container", onMouseDown: this.handleMouseDown, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, index.h("div", { key: '0aa6363f0ab1ce0b1258faa1a8e50edd2ce0194a', class: "clipping-layer" }, this.showRipple && index.h("div", { key: '870e6c126209301040ab87cb8268292c4554c8c6', class: "liquid-ripple", style: { left: `${this.rippleX}px`, top: `${this.rippleY}px` } }), this.linearLoading && index.h("div", { key: '0142a9159ae2da923f4cb8e235d450949b218858', class: "linear-loading-bar" }), this.backdropSheen && index.h("div", { key: '16201b907180eecf6572aa4d35acd4dc4195c2c9', class: "backdrop-sheen-effect" })), this.renderAutocomplete(), (this.badge || (this.dirtyTracking && this.isDirty)) && (index.h("span", { key: 'd39d26d0cf846f63623798af36b1a3246b27c475', class: `input-badge ${!this.badge ? 'dot-mode' : ''}` }, this.badge || '')), this.renderPrefixIcon(), this.floatingLabel && !isOtp && index.h("label", { key: 'b97c78efd92e947be92260d99e6ce33a5819e752', class: "floating-label" }, this.label, this.required && '*'), this.multiline ? (index.h("textarea", { ...commonProps, style: { resize: this.autoResize ? 'none' : this.resize }, value: this.value })) : isOtp ? (index.h("div", { class: "otp-container" }, Array.from({ length: this.otpLength }).map((_, i) => (index.h("div", { class: { 'otp-box': true, 'filled': this.value.length > i, 'active': this.value.length === i && this.isFocused } }, this.value[i] || ''))), index.h("input", { ...commonProps, style: { opacity: '0', position: 'absolute', inset: '0', caretColor: 'transparent' } }))) : this.type === 'range' ? (index.h("div", { class: "range-input-wrapper", style: { '--range-progress': `${this.getRangePercentage()}%` } }, index.h("input", { ...commonProps, type: "range", value: this.rangeValue, min: this.min || 0, max: this.max || 100, step: this.step || 1 }), index.h("div", { class: "range-manual-adornment" }, index.h("input", { type: "number", class: "range-manual-input", value: this.rangeValue, min: this.min || 0, max: this.max || 100, step: this.step || 1, onInput: this.handleRangeManualInput })))) : (index.h("div", { class: "input-field-stack" }, index.h("input", { ...commonProps, type: inputType, value: isFile ? this.selectedFileNames : this.value }), this.currentGhost && index.h("span", { class: "ghost-text-overlay", onClick: () => (this.value = this.ghostText) }, this.currentGhost))), isColor && (index.h("input", { key: 'b7cc0f56b519fcded55dca59706f65d68e2d4a6c', type: "color", style: { opacity: '0', position: 'absolute', inset: '0', pointerEvents: 'none' }, value: this.value || '#000000', onInput: (e) => { this.value = e.target.value; this.inputChange.emit(this.value); }, ref: (el) => (this.colorPickerElement = el) })), isFile && (index.h("input", { key: '25e806d92c00ba0152a107688613355cfe5068ee', type: "file", style: { opacity: '0', position: 'absolute', inset: '0', cursor: 'pointer', zIndex: '1' }, accept: this.accept, multiple: this.multiple, onInput: this.handleInput, ref: (el) => (this.filePickerElement = el) })), this.suffixText && index.h("span", { key: 'da03a61e714765539b519ad8245461e81c9674bd', class: { 'suffix-text': true, [`block-color-${this.suffixColor}`]: !!this.suffixColor } }, this.suffixText), (this.statusIndicator !== 'none' || this.isRecording || this._voiceOffLabel) && (index.h("div", { key: '9680ae515520a198ad817148a24df39d7a3f6a98', class: `status-indicator status-${this.isRecording ? 'listening' : this._voiceOffLabel ? 'offline' : this.statusIndicator}` }, !this.voiceEnabled && !this.voiceInput && (this.statusIndicator === 'listening' || this.isRecording) && (index.h("ui-icon", { key: '0c98b998db7a897d21be1f11db346cc4e205e26b', library: "lucide", name: "mic", class: "mic-pulse" })), this.statusIndicator !== 'listening' && !this.isRecording && !this._voiceOffLabel && (index.h("span", { key: '88e14b5da603333797c322df5422246341f16285', class: "status-dot" })), index.h("span", { key: '9d770b76bc248d7dba69d0822c0b79f3bfaabab9', class: "status-label" }, this.isRecording
|
|
5152
5247
|
? 'Listening'
|
|
5153
5248
|
: this._voiceOffLabel
|
|
5154
5249
|
? 'Not listening'
|
|
5155
5250
|
: this.statusIndicator !== 'none'
|
|
5156
5251
|
? this.statusIndicator.charAt(0).toUpperCase() + this.statusIndicator.slice(1)
|
|
5157
|
-
: null), this.statusIndicator === 'typing' && index.h("span", { key: '
|
|
5252
|
+
: null), this.statusIndicator === 'typing' && index.h("span", { key: '1841bca58c42f9893f293457219f191fc3a3cbaa', class: "typing-animation" }, index.h("span", { key: '566c69184b5962469dabf7f10f6576e0cdae2252' }), index.h("span", { key: 'fb5556bb660ac76d8a5397cdd0d91186cf88339e' }), index.h("span", { key: '451c92cdcd4b43f05021224e12a44ff6fbd6912b' })))), this.renderSuffixContent(), this.renderSteppers(), this.hintTooltip && index.h("div", { key: '97994c03e366b0053256666df50e66b4bbaaa5b5', class: "hint-tooltip-icon", title: this.hintTooltip }, index.h("ui-icon", { key: 'a7d61711aba28201c218a6a9899f1c76dab86070', library: "lucide", name: "help-circle" }))), (validationMessage || this.showCounter || this.minLengthIndicator || this.maxLengthIndicator || (this.type === 'password' && this.value && this.showPasswordStrength)) && (index.h("div", { key: 'b12ff7f34d5fd33eb4cf8a52bcee590b79ba540a', class: "input-footer" }, this.type === 'password' && this.value && this.showPasswordStrength && (index.h("div", { key: '063096f5f7c035a5f3d787a6cc4c104812dbe2d2', class: "password-strength-meter" }, index.h("div", { key: '0bc8772ccfafcac7ffd343f3ffe447e22a271be0', class: `strength-bar strength-${this.passwordStrength}` }))), validationMessage && (index.h("span", { key: 'ddfc73c09005217a0c9bfb614690ad988a76dc0b', class: `helper-text ${this.validationState !== 'none' ? this.validationState + '-text' : ''}` }, this.validationState === 'error' && index.h("ui-icon", { key: 'd5a240295b07fc6bb4e76ac4c9f6154cb4819655', library: "lucide", name: "alert-circle", class: "validation-icon" }), this.validationState === 'warning' && index.h("ui-icon", { key: 'a596776cfd419ea66b6a69ea85ca65dc2c058d0b', library: "lucide", name: "alert-triangle", class: "validation-icon" }), this.validationState === 'success' && index.h("ui-icon", { key: '7c3b20980d11d7d4429a4c53fad8f93fb51773e7', library: "lucide", name: "check-circle-2", class: "validation-icon" }), this.validationState === 'info' && index.h("ui-icon", { key: 'e2d6e55549ae7c038dd9f5f293895be1c255f25e', library: "lucide", name: "info", class: "validation-icon" }), validationMessage)), this.relativeTime && this.type === 'date' && this.value && (index.h("span", { key: '11d4bd88d83070f3ebdad9ae53686447d6f16152', class: "relative-time-overlay" }, this.getRelativeTimeString(this.value))), this.showCounter && this.maxLength && index.h("span", { key: '7f7d35051ff6a206abe35085e798609725499268', class: "character-counter" }, this.currentLength, "/", this.maxLength), this.renderLengthIndicator())))));
|
|
5158
5253
|
}
|
|
5159
5254
|
static get formAssociated() { return true; }
|
|
5160
5255
|
static get watchers() { return {
|
|
@@ -5171,7 +5266,545 @@ const Input = class {
|
|
|
5171
5266
|
};
|
|
5172
5267
|
Input.style = inputCss();
|
|
5173
5268
|
|
|
5174
|
-
const navigationBarCss = () => `.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{--nav-bg:#fcfcfc;--nav-color:#000000;--nav-border-color:#d9d9d9;--nav-item-hover-bg:#e6e6e6;--nav-item-active-bg:rgba(0, 138, 22, 0.08);--nav-item-active-color:#008a16;--nav-accent-gradient:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--nav-width:280px;--nav-transition:width 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);display:flex;flex-direction:column;height:100%;width:var(--nav-width);background:var(--nav-bg);color:var(--nav-color);border-right:1px solid var(--nav-border-color);transition:var(--nav-transition);box-sizing:border-box;position:relative;z-index:100}:host(.pos-right){border-right:none;border-left:1px solid var(--nav-border-color)}.nav-toggle-edge{position:absolute;top:48px;right:-12px;width:24px;height:24px;background:var(--nav-bg);border:1px solid var(--nav-border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:101;color:var(--nav-color);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);transition:transform 0.2s, background-color 0.2s}.nav-toggle-edge:hover{background-color:var(--nav-item-hover-bg)}:host(.pos-right) .nav-toggle-edge{right:auto;left:-12px;transform:rotate(180deg)}:host(.is-collapsed) .nav-toggle-edge{transform:rotate(180deg)}:host(.pos-right.is-collapsed) .nav-toggle-edge{transform:rotate(0deg)}:host([data-theme=dark]){--nav-bg:#111827;--nav-color:#94a3b8;--nav-border-color:#1e293b;--nav-item-hover-bg:#1e293b;--nav-item-active-bg:rgba(0, 138, 22, 0.15);--nav-item-active-color:#008a16}:host([data-theme=green]){--nav-bg:#3DCD58;--nav-color:#ffffff;--nav-border-color:rgba(255, 255, 255, 0.2);--nav-item-hover-bg:rgba(255, 255, 255, 0.1);--nav-item-active-bg:rgba(255, 255, 255, 0.2);--nav-item-active-color:#ffffff}:host([orientation=horizontal]){width:100%;height:64px;flex-direction:row;border-right:none;border-bottom:1px solid var(--nav-border-color)}:host([orientation=horizontal]) .nav-blocks-container{display:flex !important;flex-direction:row !important;align-items:center;width:100%;height:100%;overflow:visible;flex-wrap:nowrap !important;justify-content:flex-start !important}:host([orientation=horizontal]) .nav-header{border-bottom:none;border-right:1px solid var(--nav-border-color);flex-shrink:0}:host(.is-collapsed) .nav-block-categories,:host(.is-collapsed) .nav-block-top,:host(.is-collapsed) .nav-block-secondary,:host(.is-collapsed) .nav-block-bottom,:host(.is-collapsed) .nav-block-profile{overflow:visible !important}:host([orientation=horizontal]) .nav-block-bottom{margin-left:auto}:host([orientation=horizontal]) .nav-block-categories,:host([orientation=horizontal]) .nav-block-top,:host([orientation=horizontal]) .nav-block-secondary,:host([orientation=horizontal]) .nav-block-bottom,:host([orientation=horizontal]) .nav-block-profile{display:flex !important;flex-direction:row !important;align-items:center;padding:0;overflow:visible !important;border:none !important;height:100%;flex-shrink:0;flex-grow:0 !important;max-height:none !important;flex-wrap:nowrap !important}:host([orientation=horizontal]) .nav-block-categories,:host([orientation=horizontal]) .nav-block-top,:host([orientation=horizontal]) .nav-block-secondary,:host([orientation=horizontal]) .nav-search-bar{border-right:none !important}:host([orientation=horizontal]) .nav-block-top{flex:none}:host([orientation=horizontal]) .nav-item-wrapper{height:100%;display:flex !important;flex-direction:row !important;align-items:center;flex-shrink:0}:host([orientation=horizontal]) .nav-item{height:100%;padding:0 6px;margin:0 !important;border-radius:0;display:flex;align-items:center;justify-content:center;white-space:nowrap}:host([orientation=horizontal]) .nav-icon{margin-right:4px;}:host([orientation=horizontal]) .nav-glider{left:0;right:auto;bottom:0px !important;top:auto !important;height:3px !important;border-radius:4px 4px 0 0;background-color:var(--nav-item-active-color);transition:left 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s}:host([orientation=horizontal]) .nav-toggle-edge{display:none}:host([orientation=horizontal]) .nav-block-bottom .nav-label,:host([orientation=horizontal]) .nav-block-profile .nav-label{display:none;}:host([orientation=horizontal]) .nav-search-bar{padding:0 12px;border-bottom:none;border-right:1px solid var(--nav-border-color);height:100%;display:flex;align-items:center}:host([orientation=horizontal]) .nav-search-bar>div{width:150px}:host(.is-drawer){position:fixed;top:0;left:0;bottom:0;height:100vh;box-shadow:4px 0 16px rgba(0, 0, 0, 0.1);z-index:1000}:host(.is-drawer.pos-right){left:auto;right:0;box-shadow:-4px 0 16px rgba(0, 0, 0, 0.1)}.nav-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.4);z-index:-1;}:host(.is-drawer){overflow:visible;}.nav-header{flex-shrink:0;min-height:64px;display:flex;align-items:center;padding:0 16px;overflow:hidden;white-space:nowrap;position:relative}.nav-mobile-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);cursor:pointer;padding:4px}.nav-blocks-container{display:flex;flex-direction:column;height:100%;overflow:visible;}.nav-block-categories{flex-shrink:0;max-height:30%;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--nav-border-color);scrollbar-width:thin;scrollbar-color:var(--nav-border-color) transparent}.nav-block-top{flex:1;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--nav-border-color) transparent}.nav-block-bottom{flex-shrink:0;border-top:1px solid var(--nav-border-color);padding:8px 0;display:flex;flex-direction:column;overflow:visible;min-height:fit-content;max-height:fit-content;}.nav-header{border-bottom:1px solid var(--nav-border-color)}.nav-search-bar{padding:8px 16px;border-bottom:1px solid var(--nav-border-color)}.nav-block-secondary{padding:8px 0;border-top:1px solid var(--nav-border-color);display:flex;flex-direction:column;overflow:visible}.nav-block-profile{flex-shrink:0;padding:8px 0;border-top:1px solid var(--nav-border-color);display:flex;flex-direction:column;overflow:visible;min-height:fit-content;max-height:fit-content;}.nav-block-categories::-webkit-scrollbar,.nav-block-top::-webkit-scrollbar{width:4px}.nav-block-categories::-webkit-scrollbar-thumb,.nav-block-top::-webkit-scrollbar-thumb{background-color:var(--nav-border-color);border-radius:4px}.nav-item-wrapper{display:flex;flex-direction:column;min-width:0;}.nav-item{display:flex;align-items:center;height:40px;cursor:pointer;user-select:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);white-space:nowrap;position:relative;overflow:visible;margin:2px 8px;border-radius:8px;outline:none;}a.nav-item{text-decoration:none;color:inherit}.nav-item:focus-visible{outline:2px solid var(--nav-item-active-color);outline-offset:-2px}.nav-item:hover{background-color:var(--nav-item-hover-bg)}.nav-item.active,.nav-item.active-ancestor{background-color:var(--nav-item-active-bg);color:var(--nav-item-active-color);font-weight:500;position:relative}.nav-glider{position:absolute;width:4px;background-color:#008a16;border-radius:4px;transition:top 0.25s cubic-bezier(0.4, 0, 0.2, 1), height 0.2s ease, opacity 0.2s;pointer-events:none;z-index:10;left:6px}:host(.indicator-end) .nav-glider{left:auto;right:6px}.nav-item-wrapper:not(.level-0)>.nav-item{font-size:0.95em;opacity:0.9;height:36px;}.nav-item-wrapper:not(.level-0)>.nav-item.active{background-color:var(--nav-item-active-bg);color:var(--nav-item-active-color);font-weight:600;position:relative}.nav-item-wrapper:not(.level-0)>.nav-item.active::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:4px;height:32px;border-radius:4px;background-color:var(--nav-item-active-color)}.nav-children{position:relative;}.nav-icon-container{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-status-dot{position:absolute;top:2px;right:12px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--nav-bg);z-index:2}:host(.is-collapsed) .nav-status-dot,:host([orientation=horizontal]) .nav-status-dot{right:0px}.nav-status-dot.status-online{background-color:#22c55e}.nav-status-dot.status-offline{background-color:#94a3b8}.nav-status-dot.status-away{background-color:#eab308}.nav-status-dot.status-busy{background-color:#ef4444}.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;margin-right:12px}:host(.is-collapsed) .nav-icon,:host([orientation=horizontal]) .nav-block-bottom .nav-icon,:host([orientation=horizontal]) .nav-block-profile .nav-icon{margin-right:0}.nav-label-container{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.nav-badge{background-color:var(--nav-item-active-color);color:white;font-size:10px;font-weight:700;padding:0 6px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-badge-mini{position:absolute;top:-4px;right:-4px;background-color:#ef4444;color:white;font-size:9px;font-weight:800;min-width:14px;height:14px;padding:0 3px;border-radius:7px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--nav-bg);z-index:3}.nav-item{border-left:3px solid transparent}.nav-item.active .nav-icon{color:currentColor;}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-item.no-icon .nav-label{font-size:12px;opacity:0.8;padding-left:4px}.nav-item.is-user-profile .nav-icon{background:var(--nav-accent-gradient);border-radius:50%;color:white !important;width:32px;height:32px;min-width:32px;box-shadow:0 4px 10px rgba(59, 130, 246, 0.4);margin-right:12px}.nav-item.is-user-profile .nav-icon ui-icon{width:18px !important;height:18px !important;font-size:18px !important}.nav-item.is-user-profile .nav-label{font-weight:600;color:var(--nav-color)}.nav-arrow{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:8px;transition:transform 0.2s}:host([orientation=horizontal]) .nav-arrow{margin-left:4px}.nav-arrow .rotate-180{transform:rotate(180deg)}.nav-children{display:flex;flex-direction:column;overflow:hidden;animation:slideDown 0.2s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}:host(.is-collapsed:not([orientation=horizontal])) .nav-item{justify-content:center;padding:0 !important;margin:4px 0;width:100%;border-radius:0}:host(.is-collapsed:not([orientation=horizontal])) .nav-icon{margin-right:0}:host(.is-collapsed:not([orientation=horizontal])) .nav-label,:host(.is-collapsed:not([orientation=horizontal])) .nav-arrow{display:none;}.nav-tooltip{position:absolute;background:#1e293b;color:#f8fafc;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);border:1px solid rgba(255, 255, 255, 0.1);z-index:2000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.2s, transform 0.2s, visibility 0.2s}.nav-tooltip.visible{opacity:1;visibility:visible}:host(.is-collapsed:not([orientation=horizontal])) .nav-tooltip{left:100%;top:50%;transform:translateY(-50%) translateX(-10px);margin-left:10px}:host(.is-collapsed:not([orientation=horizontal])) .nav-tooltip.visible{transform:translateY(-50%) translateX(0)}:host([orientation=horizontal]) .nav-tooltip{top:100%;left:50%;transform:translateX(-50%) translateY(-10px);margin-top:8px}:host([orientation=horizontal]) .nav-tooltip.visible{transform:translateX(-50%) translateY(0)}:host(:not(.is-collapsed):not([orientation=horizontal])) .nav-tooltip{left:50%;bottom:100%;transform:translateX(-50%) translateY(10px);margin-bottom:8px}:host(:not(.is-collapsed):not([orientation=horizontal])) .nav-tooltip.visible{transform:translateX(-50%) translateY(0)}.nav-tooltip::before{content:"";position:absolute;width:8px;height:8px;background:#1e293b;transform:rotate(45deg);z-index:-1;border:1px solid rgba(255, 255, 255, 0.1)}:host(.is-collapsed:not([orientation=horizontal])) .nav-tooltip::before{left:-4px;top:50%;margin-top:-4px;border-right:none;border-top:none}:host([orientation=horizontal]) .nav-tooltip::before{top:-4px;left:50%;margin-left:-4px;border-right:none;border-bottom:none}:host(:not(.is-collapsed):not([orientation=horizontal])) .nav-tooltip::before{bottom:-4px;left:12px;border-left:none;border-top:none}`;
|
|
5269
|
+
const loaderCss = () => `.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:inline-block;box-sizing:border-box;--ui-primary-color:#3b82f6;--ui-secondary-color:#64748b;--ui-success-color:#10b981;--ui-danger-color:#ef4444;--ui-warning-color:#f59e0b;--ui-info-color:#06b6d4;--loader-color:var(--ui-success-color);--loader-size:40px;--loader-speed:1s;--loader-thickness:3px;--overlay-opacity:0.5;--overlay-background:rgba(255, 255, 255, var(--overlay-opacity))}.loader-wrapper{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;transition:opacity 0.3s ease}.loader-wrapper.loader-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--overlay-background);display:flex;align-items:center;justify-content:center}.loader-wrapper.loader-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999}.loader-wrapper.loader-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.loader-wrapper.loader-variant-glass{background:rgba(255, 255, 255, 0.15);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.2);box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.1)}.loader-wrapper.loader-variant-neon{background:rgba(10, 10, 12, 0.95);box-shadow:inset 0 0 40px color-mix(in srgb, var(--loader-color) 20%, transparent), 0 0 20px color-mix(in srgb, var(--loader-color) 10%, transparent);--loader-color:#a855f7}.loader-wrapper.loader-variant-minimal{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.loader-wrapper.loader-variant-linear-strip{position:absolute;top:0;left:0;width:100%;height:4px;background:transparent;z-index:1001}.loader-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;gap:16px}.loader-container.loader-size-3xs{--loader-size:12px}.loader-container.loader-size-2xs{--loader-size:16px}.loader-container.loader-size-xs{--loader-size:20px}.loader-container.loader-size-small{--loader-size:28px}.loader-container.loader-size-md{--loader-size:40px}.loader-container.loader-size-large{--loader-size:56px}.loader-container.loader-size-xl{--loader-size:72px}.loader-container.loader-size-2xl{--loader-size:96px}.loader-container.loader-size-3xl{--loader-size:120px}.loader-container.loader-size-jumbo{--loader-size:160px}.loader-container.loader-color-primary{--loader-color:var(--ui-primary-color)}.loader-container.loader-color-secondary{--loader-color:var(--ui-secondary-color)}.loader-container.loader-color-success{--loader-color:var(--ui-success-color)}.loader-container.loader-color-danger{--loader-color:var(--ui-danger-color)}.loader-container.loader-color-warning{--loader-color:var(--ui-warning-color)}.loader-container.loader-color-info{--loader-color:var(--ui-info-color)}.loader-container.loader-label-bottom{flex-direction:column;text-align:center}.loader-container.loader-label-top{flex-direction:column-reverse;text-align:center}.loader-container.loader-label-left{flex-direction:row-reverse;text-align:right}.loader-container.loader-label-right{flex-direction:row;text-align:left}.loader-visual{display:flex;align-items:center;justify-content:center;position:relative;width:var(--loader-size);height:var(--loader-size);min-width:var(--loader-size);min-height:var(--loader-size)}.loader-text-block{display:flex;flex-direction:column;gap:4px}.loader-label-text{font-family:system-ui, -apple-system, sans-serif;font-size:14px;font-weight:600;color:#1e293b;letter-spacing:0.02em;animation:breathe 2s ease-in-out infinite}.loader-variant-neon .loader-label-text{color:#e9d5ff;text-shadow:0 0 10px rgba(168, 85, 247, 0.8)}.loader-desc-text{font-family:system-ui, -apple-system, sans-serif;font-size:12px;color:#64748b}.loader-variant-neon .loader-desc-text{color:#c084fc}.loader-predictive-bar{display:flex;align-items:center;gap:8px;width:140px;margin-top:4px}.loader-predictive-bar .loader-predictive-fill{height:4px;background:var(--loader-color);border-radius:2px;transition:width 0.3s cubic-bezier(0.1, 0.8, 0.3, 1)}.loader-predictive-bar .loader-predictive-percentage{font-size:11px;font-weight:700;color:var(--loader-color)}.focus-trap-sentinel{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.status-icon-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.status-icon-wrapper .status-svg{width:var(--loader-size);height:var(--loader-size)}.status-icon-wrapper .status-circle-bg{stroke-width:4;stroke-miterlimit:10;animation:status-stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards}.status-icon-wrapper .status-check-path{transform-origin:50% 50%;stroke-width:4;stroke-linecap:round;stroke-dasharray:48;stroke-dashoffset:48;animation:status-stroke-offset 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards}.status-icon-wrapper .status-cross-path{transform-origin:50% 50%;stroke-width:4;stroke-linecap:round;stroke-dasharray:48;stroke-dashoffset:48;animation:status-stroke-offset 0.35s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards}.status-icon-wrapper.success .status-circle-bg{stroke:var(--ui-success-color);fill:none}.status-icon-wrapper.success .status-check-path{stroke:var(--ui-success-color)}.status-icon-wrapper.error .status-circle-bg{stroke:var(--ui-danger-color);fill:none}.status-icon-wrapper.error .status-cross-path{stroke:var(--ui-danger-color)}.anim-spinner{width:100%;height:100%;border:var(--loader-thickness) solid color-mix(in srgb, var(--loader-color) 15%, transparent);border-left-color:var(--loader-color);border-radius:50%;box-sizing:border-box;animation:spin var(--loader-speed) linear infinite}.loader-variant-neon .anim-spinner{box-shadow:0 0 10px var(--loader-color), inset 0 0 5px var(--loader-color)}.anim-dots{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%}.anim-dots div{width:25%;height:25%;background-color:var(--loader-color);border-radius:50%;animation:dots-pulse var(--loader-speed) ease-in-out infinite}.anim-dots div:nth-child(2){animation-delay:calc(var(--loader-speed) / 6)}.anim-dots div:nth-child(3){animation-delay:calc(var(--loader-speed) / 3)}.anim-bar{width:100%;height:var(--loader-thickness);background:rgba(120, 120, 120, 0.15);border-radius:calc(var(--loader-thickness) / 2);overflow:hidden;position:relative}.anim-bar .bar-indeterminate{position:absolute;height:100%;background:var(--loader-color);left:-50%;width:50%;border-radius:calc(var(--loader-thickness) / 2);animation:bar-slide calc(var(--loader-speed) * 1.5) cubic-bezier(0.4, 0, 0.2, 1) infinite}.anim-bar .bar-determinate{height:100%;background:var(--loader-color);border-radius:calc(var(--loader-thickness) / 2);transition:width 0.3s ease}.anim-pulse{width:80%;height:80%;background-color:var(--loader-color);border-radius:50%;animation:pulse-grow var(--loader-speed) ease-in-out infinite}.anim-ring{width:100%;height:100%;border:var(--loader-thickness) solid transparent;border-top-color:var(--loader-color);border-bottom-color:var(--loader-color);border-radius:50%;box-sizing:border-box;animation:spin var(--loader-speed) cubic-bezier(0.5, 0, 0.5, 1) infinite}.anim-bounce{width:100%;height:100%;position:relative}.anim-bounce div{width:100%;height:100%;border-radius:50%;background-color:var(--loader-color);opacity:0.6;position:absolute;top:0;left:0;animation:bounce-scale calc(var(--loader-speed) * 2) ease-in-out infinite}.anim-bounce div:nth-child(2){animation-delay:calc(var(--loader-speed) * -1)}.anim-grid{display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:15%;width:100%;height:100%}.anim-grid div{background-color:var(--loader-color);border-radius:50%;animation:grid-fade calc(var(--loader-speed) * 1.2) ease-in-out infinite}.anim-grid div:nth-child(1){animation-delay:0s}.anim-grid div:nth-child(2){animation-delay:0.1s}.anim-grid div:nth-child(3){animation-delay:0.2s}.anim-grid div:nth-child(4){animation-delay:0.1s}.anim-grid div:nth-child(5){animation-delay:0.2s}.anim-grid div:nth-child(6){animation-delay:0.3s}.anim-grid div:nth-child(7){animation-delay:0.2s}.anim-grid div:nth-child(8){animation-delay:0.3s}.anim-grid div:nth-child(9){animation-delay:0.4s}.anim-wave{display:flex;align-items:center;justify-content:space-between;width:100%;height:80%}.anim-wave div{width:12%;height:100%;background-color:var(--loader-color);border-radius:4px;animation:wave-stretch var(--loader-speed) ease-in-out infinite}.anim-wave div:nth-child(1){animation-delay:-0.45s}.anim-wave div:nth-child(2){animation-delay:-0.3s}.anim-wave div:nth-child(3){animation-delay:-0.15s}.anim-wave div:nth-child(4){animation-delay:-0.3s}.anim-wave div:nth-child(5){animation-delay:-0.45s}.anim-dual-ring{width:100%;height:100%;border:var(--loader-thickness) solid transparent;border-left-color:var(--loader-color);border-right-color:var(--loader-color);border-radius:50%;animation:spin var(--loader-speed) linear infinite}.anim-heartbeat{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.anim-heartbeat .heart-svg{width:90%;height:90%;fill:var(--loader-color);animation:pulse-heart calc(var(--loader-speed) * 1.2) ease infinite}.anim-clock{width:100%;height:100%;border:var(--loader-thickness) solid var(--loader-color);border-radius:50%;position:relative;box-sizing:border-box}.anim-clock .clock-hour,.anim-clock .clock-minute{position:absolute;background-color:var(--loader-color);width:var(--loader-thickness);left:calc(50% - var(--loader-thickness) / 2);transform-origin:bottom center;border-radius:4px}.anim-clock .clock-hour{height:30%;top:20%;animation:spin calc(var(--loader-speed) * 6) linear infinite}.anim-clock .clock-minute{height:40%;top:10%;animation:spin var(--loader-speed) linear infinite}.anim-raining-letters{width:100%;height:100%;overflow:hidden;border-radius:8px;border:1px solid rgba(120, 120, 120, 0.15);box-sizing:border-box}.anim-raining-letters canvas{width:100% !important;height:100% !important;background:transparent}.anim-ripple{width:100%;height:100%;position:relative}.anim-ripple div{position:absolute;border:var(--loader-thickness) solid var(--loader-color);border-radius:50%;opacity:1;width:0;height:0;top:50%;left:50%;transform:translate(-50%, -50%);animation:ripple-grow var(--loader-speed) cubic-bezier(0, 0.2, 0.8, 1) infinite}.anim-ripple div:nth-child(2){animation-delay:-0.33s}.anim-ripple div:nth-child(3){animation-delay:-0.66s}.anim-infinite{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.anim-infinite svg{width:100%;height:60%}.anim-infinite .infinity-bg{stroke:rgba(120, 120, 120, 0.1);stroke-width:4;fill:none}.anim-infinite .infinity-loop{stroke:var(--loader-color);stroke-width:4;stroke-linecap:round;stroke-dasharray:120 200;fill:none;animation:loop-crawl calc(var(--loader-speed) * 1.5) linear infinite}.anim-wifi{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.anim-wifi div{border:var(--loader-thickness) solid transparent;border-top-color:var(--loader-color);border-radius:50%;position:absolute;transform-origin:center center;box-sizing:border-box}.anim-wifi .wifi-dot{width:15%;height:15%;background-color:var(--loader-color);border:none}.anim-wifi .wifi-arc-1{width:45%;height:45%;animation:wifi-pulse var(--loader-speed) ease-in-out infinite 0.1s}.anim-wifi .wifi-arc-2{width:70%;height:70%;animation:wifi-pulse var(--loader-speed) ease-in-out infinite 0.2s}.anim-wifi .wifi-arc-3{width:95%;height:95%;animation:wifi-pulse var(--loader-speed) ease-in-out infinite 0.3s}.anim-rainbow{width:100%;height:100%;border-radius:50%;padding:var(--loader-thickness);background:linear-gradient(90deg, #ff007f, #7f00ff, #00f0ff, #00ff7f, #ffef00, #ff007f);background-size:300% 300%;box-sizing:border-box;mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor;mask-composite:exclude;animation:spin var(--loader-speed) linear infinite, gradient-move 3s ease infinite}.anim-square-shuffle{width:100%;height:100%;position:relative}.anim-square-shuffle div{width:35%;height:35%;background-color:var(--loader-color);position:absolute;animation:shuffle-move calc(var(--loader-speed) * 2) cubic-bezier(0.25, 1, 0.5, 1) infinite}.anim-square-shuffle div:nth-child(1){top:10%;left:10%}.anim-square-shuffle div:nth-child(2){top:10%;left:55%;animation-delay:-0.5s}.anim-square-shuffle div:nth-child(3){top:55%;left:55%;animation-delay:-1s}.anim-square-shuffle div:nth-child(4){top:55%;left:10%;animation-delay:-1.5s}.anim-dna-helix{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.anim-dna-helix .dna-strand{height:100%;width:6%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;animation:dna-twist calc(var(--loader-speed) * 1.5) ease-in-out infinite;animation-delay:calc(var(--i) * -0.12s)}.anim-dna-helix .dna-strand .dna-dot{width:150%;height:6%;background:var(--loader-color);border-radius:50%}.anim-dna-helix .dna-strand .dna-bar{width:30%;height:80%;background:rgba(120, 120, 120, 0.15);border-radius:2px}.anim-atom-sphere{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.anim-atom-sphere .atom-nucleus{width:20%;height:20%;background:var(--loader-color);border-radius:50%;box-shadow:0 0 10px var(--loader-color)}.anim-atom-sphere .atom-orbit{position:absolute;width:100%;height:40%;border:1.5px solid color-mix(in srgb, var(--loader-color) 35%, transparent);border-radius:50%}.anim-atom-sphere .atom-orbit .atom-electron{width:var(--loader-thickness);height:var(--loader-thickness);background:var(--loader-color);border-radius:50%;position:absolute;top:-3px;left:50%;box-shadow:0 0 6px var(--loader-color)}.anim-atom-sphere .atom-orbit.orbit-1{transform:rotate(0deg)}.anim-atom-sphere .atom-orbit.orbit-1 .atom-electron{animation:orbit-spin var(--loader-speed) linear infinite}.anim-atom-sphere .atom-orbit.orbit-2{transform:rotate(60deg)}.anim-atom-sphere .atom-orbit.orbit-2 .atom-electron{animation:orbit-spin var(--loader-speed) linear infinite -0.33s}.anim-atom-sphere .atom-orbit.orbit-3{transform:rotate(-60deg)}.anim-atom-sphere .atom-orbit.orbit-3 .atom-electron{animation:orbit-spin var(--loader-speed) linear infinite -0.66s}.anim-staircase{width:100%;height:100%;position:relative}.anim-staircase .stair-climber{width:25%;height:25%;background-color:var(--loader-color);border-radius:4px;position:absolute;top:10%;left:10%;animation:stair-climb var(--loader-speed) cubic-bezier(0.25, 1, 0.5, 1) infinite}.anim-staircase .stairs{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;width:100%;height:100%}.anim-staircase .stairs div{background:rgba(120, 120, 120, 0.15);height:20%;border-radius:2px;margin-top:5%}.anim-staircase .stairs div:nth-child(1){width:100%}.anim-staircase .stairs div:nth-child(2){width:75%}.anim-staircase .stairs div:nth-child(3){width:50%}.anim-staircase .stairs div:nth-child(4){width:25%}.anim-radar{width:100%;height:100%;border-radius:50%;border:1.5px solid rgba(120, 120, 120, 0.1);box-sizing:border-box;position:relative;overflow:hidden}.anim-radar .radar-scanner{position:absolute;top:50%;left:50%;width:100%;height:100%;background:conic-gradient(from 0deg at 50% 50%, color-mix(in srgb, var(--loader-color) 15%, transparent) 0%, transparent 40%, transparent 100%);transform:translate(-50%, -50%);animation:spin var(--loader-speed) linear infinite;transform-origin:50% 50%}.anim-radar .radar-ring,.anim-radar .radar-ring-mid{position:absolute;border:1px dashed color-mix(in srgb, var(--loader-color) 25%, transparent);border-radius:50%;top:50%;left:50%;transform:translate(-50%, -50%)}.anim-radar .radar-ring{width:70%;height:70%}.anim-radar .radar-ring-mid{width:40%;height:40%}.anim-radar .radar-dot{width:8%;height:8%;background:var(--loader-color);border-radius:50%;position:absolute;top:30%;left:65%;box-shadow:0 0 8px var(--loader-color);animation:blink 1.2s infinite}.anim-liquid-drop{width:100%;height:100%;position:relative}.anim-liquid-drop .drop-nozzle{width:20%;height:10%;background:rgba(120, 120, 120, 0.2);border-radius:0 0 4px 4px;margin:0 auto}.anim-liquid-drop .drop-droplet{width:14%;height:20%;background:var(--loader-color);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;position:absolute;top:10%;left:43%;animation:drop-fall var(--loader-speed) cubic-bezier(0.5, 0, 0.7, 0.4) infinite}.anim-liquid-drop .drop-surface{width:80%;height:8%;background:color-mix(in srgb, var(--loader-color) 30%, transparent);border-radius:50%;position:absolute;bottom:10%;left:10%;animation:surface-ripple var(--loader-speed) ease infinite}.anim-neon-path{width:100%;height:100%;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 0 15px color-mix(in srgb, var(--loader-color) 15%, transparent);box-sizing:border-box}.anim-neon-path div{width:100%;height:100%;border:var(--loader-thickness) solid var(--loader-color);border-radius:12px;box-sizing:border-box;animation:neon-glow-scale 1.5s ease-in-out infinite alternate}.anim-neuro-pulse{width:100%;height:100%}.anim-neuro-pulse .neuro-svg{width:100%;height:100%}.anim-neuro-pulse .neuro-branch{stroke:rgba(120, 120, 120, 0.15);stroke-width:2}.anim-neuro-pulse .neuro-center{fill:var(--loader-color)}.anim-neuro-pulse .neuro-terminal{fill:rgba(120, 120, 120, 0.4)}.anim-neuro-pulse .neuro-active-pulse{fill:var(--loader-color);animation:neuro-pulse-scale 2s ease-out infinite}.anim-neuro-pulse .neuro-active-pulse.pulse-2{animation-delay:1s}.anim-vortex-ring{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.anim-vortex-ring div{position:absolute;border:var(--loader-thickness) solid transparent;border-top-color:var(--loader-color);border-radius:50%;animation:spin var(--loader-speed) cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite}.anim-vortex-ring div:nth-child(1){width:100%;height:100%}.anim-vortex-ring div:nth-child(2){width:70%;height:70%;animation-delay:-0.2s;animation-direction:reverse}.anim-vortex-ring div:nth-child(3){width:40%;height:40%;animation-delay:-0.4s}.anim-cube-fold{width:70%;height:70%;transform:rotateZ(45deg);position:relative}.anim-cube-fold .fold-cube{float:left;width:50%;height:50%;position:relative;transform:scale(1.1)}.anim-cube-fold .fold-cube::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--loader-color);animation:cube-fold-anim calc(var(--loader-speed) * 2.4) linear infinite both;transform-origin:100% 100%}.anim-cube-fold .fold-cube.cube-2{transform:scale(1.1) rotateZ(90deg)}.anim-cube-fold .fold-cube.cube-2::before{animation-delay:0.3s}.anim-cube-fold .fold-cube.cube-3{transform:scale(1.1) rotateZ(270deg)}.anim-cube-fold .fold-cube.cube-3::before{animation-delay:0.9s}.anim-cube-fold .fold-cube.cube-4{transform:scale(1.1) rotateZ(180deg)}.anim-cube-fold .fold-cube.cube-4::before{animation-delay:0.6s}.anim-breathing{width:60%;height:60%;background-color:var(--loader-color);border-radius:50%;animation:breathe 2s ease-in-out infinite;box-shadow:0 0 15px var(--loader-color)}.anim-glitch-text{font-family:"Courier New", Courier, monospace;font-size:16px;font-weight:900;color:#fff;position:relative;text-shadow:0.05em 0 0 rgba(255, 0, 0, 0.75), -0.025em -0.05em 0 rgba(0, 255, 0, 0.75), 0.025em 0.05em 0 rgba(0, 0, 255, 0.75);animation:glitch 1s infinite}.anim-glitch-text::before,.anim-glitch-text::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:transparent}.anim-glitch-text::before{animation:glitch-anim-1 0.7s infinite linear alternate-reverse;text-shadow:-2px 0 #ff00c1;clip:rect(44px, 450px, 56px, 0)}.anim-glitch-text::after{animation:glitch-anim-2 0.7s infinite linear alternate-reverse;text-shadow:-2px 0 #00fff9, 2px 2px #ff00c1;clip:rect(85px, 450px, 140px, 0)}.anim-plc-module{background:#27272a;border:1.5px solid #3f3f46;border-radius:6px;width:90%;height:90%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;font-family:monospace;font-size:8px;color:#a1a1aa}.anim-plc-module .plc-header{background:#3f3f46;color:#fff;font-weight:bold;text-align:center;padding:2px 0}.anim-plc-module .plc-leds{display:flex;flex-direction:column;gap:4px;padding:6px;flex:1;justify-content:center}.anim-plc-module .plc-row{display:flex;justify-content:space-between;align-items:center}.anim-plc-module .plc-led{width:6px;height:6px;border-radius:50%}.anim-plc-module .plc-led.led-green{background:#22c55e;box-shadow:0 0 4px #22c55e}.anim-plc-module .plc-led.led-amber{background:#f59e0b;box-shadow:0 0 4px #f59e0b}.anim-plc-module .plc-led.led-red{background:#ef4444}.anim-plc-module .plc-led.blinking{animation:blink 0.8s infinite}.anim-plc-module .plc-led.flicker{animation:blink 0.25s infinite}.anim-plc-module .plc-led.flicker-delayed{animation:blink 0.35s infinite 0.15s}.anim-plc-module .plc-led.off{background:#52525b;box-shadow:none}.anim-m580-signal{display:flex;align-items:flex-end;justify-content:space-between;width:80%;height:60%}.anim-m580-signal div{width:14%;background-color:#22c55e;border-radius:1px;box-shadow:0 0 3px #22c55e;animation:signal-rise 1.5s ease-in-out infinite}.anim-m580-signal div:nth-child(1){height:20%;animation-delay:0.1s}.anim-m580-signal div:nth-child(2){height:40%;animation-delay:0.2s}.anim-m580-signal div:nth-child(3){height:60%;animation-delay:0.3s}.anim-m580-signal div:nth-child(4){height:80%;animation-delay:0.4s}.anim-m580-signal div:nth-child(5){height:100%;animation-delay:0.5s}.anim-circuit-board{width:100%;height:100%}.anim-circuit-board svg{width:100%;height:100%}.anim-circuit-board .circuit-path{stroke:rgba(120, 120, 120, 0.15);stroke-width:3px}.anim-circuit-board .circuit-node{fill:none;stroke:var(--loader-color);stroke-width:2.5px}.anim-circuit-board .circuit-pulse{fill:var(--loader-color);box-shadow:0 0 8px var(--loader-color)}.anim-callout-rotate{width:100%;height:100%;position:relative}.anim-callout-rotate .callout-ring{width:100%;height:100%;border:var(--loader-thickness) dashed color-mix(in srgb, var(--loader-color) 40%, transparent);border-radius:50%;box-sizing:border-box;animation:spin calc(var(--loader-speed) * 3) linear infinite}.anim-callout-rotate .callout-arrow{position:absolute;width:30%;height:30%;border:var(--loader-thickness) solid var(--loader-color);border-top:none;border-left:none;top:35%;left:35%;transform:rotate(-45deg);animation:spin var(--loader-speed) ease-in-out infinite}.anim-infinite-roller{display:flex;align-items:center;justify-content:space-around;width:100%;height:30%;border-radius:10px;background:rgba(120, 120, 120, 0.1);padding:0 4px;box-sizing:border-box}.anim-infinite-roller div{width:16%;height:60%;background-color:var(--loader-color);border-radius:50%;animation:roll-slide 1.5s ease-in-out infinite}.anim-infinite-roller div:nth-child(1){animation-delay:0s}.anim-infinite-roller div:nth-child(2){animation-delay:0.25s}.anim-infinite-roller div:nth-child(3){animation-delay:0.5s}.anim-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.anim-image img{max-width:90%;max-height:90%;object-fit:contain;animation:pulse-grow 2s ease-in-out infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes breathe{0%,100%{opacity:0.45;transform:scale(0.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes dots-pulse{0%,100%{transform:scale(0.3);opacity:0.2}50%{transform:scale(1);opacity:1}}@keyframes bar-slide{0%{left:-50%}100%{left:100%}}@keyframes pulse-grow{0%,100%{transform:scale(0);opacity:0.8}50%{transform:scale(1);opacity:0.2}}@keyframes bounce-scale{0%,100%{transform:scale(0)}50%{transform:scale(1)}}@keyframes grid-fade{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.3;transform:scale(0.7)}}@keyframes wave-stretch{0%,100%{transform:scaleY(0.3)}50%{transform:scaleY(1)}}@keyframes pulse-heart{0%{transform:scale(0.9)}25%{transform:scale(1.1)}35%{transform:scale(1)}55%{transform:scale(1.15)}70%{transform:scale(1)}100%{transform:scale(0.9)}}@keyframes ripple-grow{0%{width:0;height:0;opacity:1}100%{width:100%;height:100%;opacity:0}}@keyframes loop-crawl{0%{stroke-dashoffset:320}100%{stroke-dashoffset:0}}@keyframes wifi-pulse{0%,100%{opacity:0.25}50%{opacity:1}}@keyframes gradient-move{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes shuffle-move{0%,100%{transform:translate(0, 0)}25%{transform:translate(120%, 0)}50%{transform:translate(120%, 120%)}75%{transform:translate(0, 120%)}}@keyframes dna-twist{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}}@keyframes orbit-spin{0%{transform:rotate(0deg) translateX(0px)}100%{transform:rotate(360deg) translateX(0px)}}@keyframes stair-climb{0%{transform:translate(0, 0)}20%{transform:translate(0, -25%)}40%{transform:translate(25%, -25%)}60%{transform:translate(25%, -50%)}80%{transform:translate(50%, -50%)}100%{transform:translate(50%, -25%)}}@keyframes drop-fall{0%{transform:scale(0) translateY(0);opacity:0}10%{transform:scale(1) translateY(0);opacity:1}80%{transform:scale(1) translateY(250%);opacity:1}90%,100%{transform:scale(0) translateY(250%);opacity:0}}@keyframes surface-ripple{0%,75%{transform:scale(0.2);opacity:0}82%{opacity:1}100%{transform:scale(1.2);opacity:0}}@keyframes neon-glow-scale{0%{box-shadow:0 0 10px color-mix(in srgb, var(--loader-color) 30%, transparent)}100%{box-shadow:0 0 25px color-mix(in srgb, var(--loader-color) 75%, transparent)}}@keyframes neuro-pulse-scale{0%{transform:scale(0.6);opacity:0.8}100%{transform:scale(4.5);opacity:0}}@keyframes cube-fold-anim{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{transform:perspective(140px) rotateX(0deg);opacity:1}90%,100%{transform:perspective(140px) rotateY(180deg);opacity:0}}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px, 2px)}40%{transform:translate(-2px, -2px)}60%{transform:translate(2px, 2px)}80%{transform:translate(2px, -2px)}100%{transform:translate(0)}}@keyframes glitch-anim-1{0%{clip:rect(15px, 9999px, 66px, 0)}5%{clip:rect(85px, 9999px, 5px, 0)}10%{clip:rect(34px, 9999px, 78px, 0)}15%{clip:rect(67px, 9999px, 12px, 0)}20%{clip:rect(12px, 9999px, 115px, 0)}25%{clip:rect(98px, 9999px, 94px, 0)}30%{clip:rect(5px, 9999px, 22px, 0)}35%{clip:rect(143px, 9999px, 87px, 0)}40%{clip:rect(61px, 9999px, 140px, 0)}45%{clip:rect(72px, 9999px, 34px, 0)}50%{clip:rect(110px, 9999px, 99px, 0)}55%{clip:rect(2px, 9999px, 45px, 0)}60%{clip:rect(89px, 9999px, 112px, 0)}65%{clip:rect(30px, 9999px, 5px, 0)}70%{clip:rect(122px, 9999px, 80px, 0)}75%{clip:rect(56px, 9999px, 18px, 0)}80%{clip:rect(95px, 9999px, 134px, 0)}85%{clip:rect(14px, 9999px, 49px, 0)}90%{clip:rect(68px, 9999px, 91px, 0)}95%{clip:rect(104px, 9999px, 120px, 0)}100%{clip:rect(40px, 9999px, 10px, 0)}}@keyframes glitch-anim-2{0%{clip:rect(112px, 9999px, 76px, 0)}5%{clip:rect(25px, 9999px, 5px, 0)}10%{clip:rect(98px, 9999px, 34px, 0)}15%{clip:rect(5px, 9999px, 145px, 0)}20%{clip:rect(87px, 9999px, 67px, 0)}25%{clip:rect(120px, 9999px, 10px, 0)}30%{clip:rect(43px, 9999px, 89px, 0)}35%{clip:rect(72px, 9999px, 120px, 0)}40%{clip:rect(2px, 9999px, 54px, 0)}45%{clip:rect(134px, 9999px, 98px, 0)}50%{clip:rect(61px, 9999px, 15px, 0)}55%{clip:rect(95px, 9999px, 130px, 0)}60%{clip:rect(14px, 9999px, 45px, 0)}65%{clip:rect(80px, 9999px, 112px, 0)}70%{clip:rect(34px, 9999px, 2px, 0)}75%{clip:rect(104px, 9999px, 80px, 0)}80%{clip:rect(44px, 9999px, 91px, 0)}85%{clip:rect(122px, 9999px, 5px, 0)}90%{clip:rect(56px, 9999px, 140px, 0)}95%{clip:rect(89px, 9999px, 22px, 0)}100%{clip:rect(110px, 9999px, 99px, 0)}}@keyframes blink{0%,100%{opacity:0.25}50%{opacity:1}}@keyframes signal-rise{0%,100%{opacity:0.2;transform:scaleY(0.7)}50%{opacity:1;transform:scaleY(1)}}@keyframes roll-slide{0%,100%{transform:translateX(-30%)}50%{transform:translateX(30%)}}@keyframes status-stroke{100%{stroke-dashoffset:0}}@keyframes status-stroke-offset{100%{stroke-dashoffset:0}}`;
|
|
5270
|
+
|
|
5271
|
+
const Loader = class {
|
|
5272
|
+
constructor(hostRef) {
|
|
5273
|
+
index.registerInstance(this, hostRef);
|
|
5274
|
+
this.uiShow = index.createEvent(this, "uiShow");
|
|
5275
|
+
this.uiHide = index.createEvent(this, "uiHide");
|
|
5276
|
+
}
|
|
5277
|
+
get element() { return index.getElement(this); }
|
|
5278
|
+
/**
|
|
5279
|
+
* Accessibility ARIA label
|
|
5280
|
+
*/
|
|
5281
|
+
ariaLabel = 'Loading...';
|
|
5282
|
+
/**
|
|
5283
|
+
* ARIA live region mode
|
|
5284
|
+
*/
|
|
5285
|
+
ariaLive = 'polite';
|
|
5286
|
+
/**
|
|
5287
|
+
* Apply background blur (glassmorphic backdrop)
|
|
5288
|
+
*/
|
|
5289
|
+
backdropBlur = false;
|
|
5290
|
+
/**
|
|
5291
|
+
* Alias for blur attribute used in demo configuration
|
|
5292
|
+
*/
|
|
5293
|
+
enableBlur = false;
|
|
5294
|
+
/**
|
|
5295
|
+
* Semantic color variant ('primary', 'secondary', etc.) or custom hex/gradient string
|
|
5296
|
+
*/
|
|
5297
|
+
color = 'success';
|
|
5298
|
+
/**
|
|
5299
|
+
* Displays the loader as a full viewport overlay
|
|
5300
|
+
*/
|
|
5301
|
+
fullscreen = false;
|
|
5302
|
+
/**
|
|
5303
|
+
* Text label to display alongside the loader animation
|
|
5304
|
+
*/
|
|
5305
|
+
label;
|
|
5306
|
+
/**
|
|
5307
|
+
* Sub-label description text
|
|
5308
|
+
*/
|
|
5309
|
+
description;
|
|
5310
|
+
/**
|
|
5311
|
+
* Position of the label relative to the loading animation
|
|
5312
|
+
*/
|
|
5313
|
+
labelPosition = 'bottom';
|
|
5314
|
+
/**
|
|
5315
|
+
* Displays the loader as an absolute overlay over its relative parent container
|
|
5316
|
+
*/
|
|
5317
|
+
overlay = false;
|
|
5318
|
+
/**
|
|
5319
|
+
* Opacity value of the overlay backdrop (0 to 1)
|
|
5320
|
+
*/
|
|
5321
|
+
overlayOpacity = 0.5;
|
|
5322
|
+
/**
|
|
5323
|
+
* Custom background color/gradient for overlay mode
|
|
5324
|
+
*/
|
|
5325
|
+
overlayBackground;
|
|
5326
|
+
/**
|
|
5327
|
+
* Size of the loader preset ('3xs'...'jumbo') or custom CSS value ('120px', '4rem')
|
|
5328
|
+
*/
|
|
5329
|
+
size = 'md';
|
|
5330
|
+
/**
|
|
5331
|
+
* Speed of animation cycle
|
|
5332
|
+
*/
|
|
5333
|
+
speed = 'normal';
|
|
5334
|
+
/**
|
|
5335
|
+
* Stroke width thickness for circular loaders (spinner, ring)
|
|
5336
|
+
*/
|
|
5337
|
+
thickness = 3;
|
|
5338
|
+
/**
|
|
5339
|
+
* The animation style variant type (34 total variants)
|
|
5340
|
+
*/
|
|
5341
|
+
type = 'spinner';
|
|
5342
|
+
/**
|
|
5343
|
+
* Whether the loader is visible
|
|
5344
|
+
*/
|
|
5345
|
+
visible = true;
|
|
5346
|
+
/**
|
|
5347
|
+
* Loader style theme variant
|
|
5348
|
+
*/
|
|
5349
|
+
variant = 'standard';
|
|
5350
|
+
/**
|
|
5351
|
+
* Determinate state progress value (0 to 100)
|
|
5352
|
+
*/
|
|
5353
|
+
value;
|
|
5354
|
+
/**
|
|
5355
|
+
* Enables simulated predictive non-linear crawling progress up to 95%
|
|
5356
|
+
*/
|
|
5357
|
+
predictive = false;
|
|
5358
|
+
/**
|
|
5359
|
+
* Array of status messages to rotate through automatically
|
|
5360
|
+
*/
|
|
5361
|
+
messages;
|
|
5362
|
+
/**
|
|
5363
|
+
* Rotation interval time in milliseconds
|
|
5364
|
+
*/
|
|
5365
|
+
messageInterval = 2500;
|
|
5366
|
+
/**
|
|
5367
|
+
* Image URL when using type="image"
|
|
5368
|
+
*/
|
|
5369
|
+
image;
|
|
5370
|
+
/**
|
|
5371
|
+
* Letters pool for Matrix matrix-rain animation
|
|
5372
|
+
*/
|
|
5373
|
+
rainText;
|
|
5374
|
+
/**
|
|
5375
|
+
* Number of columns in Matrix digital rain
|
|
5376
|
+
*/
|
|
5377
|
+
rainColumns = 5;
|
|
5378
|
+
/**
|
|
5379
|
+
* Traps keyboard focus inside the loader overlay (useful for fullscreen modals)
|
|
5380
|
+
*/
|
|
5381
|
+
trapFocus = false;
|
|
5382
|
+
/**
|
|
5383
|
+
* Current loading status state
|
|
5384
|
+
*/
|
|
5385
|
+
status = 'loading';
|
|
5386
|
+
activeLabel;
|
|
5387
|
+
currentProgress = 0;
|
|
5388
|
+
// Events
|
|
5389
|
+
uiShow;
|
|
5390
|
+
uiHide;
|
|
5391
|
+
messageTimer;
|
|
5392
|
+
predictiveTimer;
|
|
5393
|
+
activeMessageIndex = 0;
|
|
5394
|
+
parsedMessages = [];
|
|
5395
|
+
// Focus trap state
|
|
5396
|
+
originalFocusedElement = null;
|
|
5397
|
+
focusableElements = [];
|
|
5398
|
+
// Matrix rain canvas references
|
|
5399
|
+
canvasElement;
|
|
5400
|
+
canvasAnimationId;
|
|
5401
|
+
canvasColumnsDrops = [];
|
|
5402
|
+
handleVisibilityChange(newValue) {
|
|
5403
|
+
if (newValue) {
|
|
5404
|
+
this.uiShow.emit();
|
|
5405
|
+
this.startTimers();
|
|
5406
|
+
if (this.trapFocus) {
|
|
5407
|
+
this.setupFocusTrap();
|
|
5408
|
+
}
|
|
5409
|
+
}
|
|
5410
|
+
else {
|
|
5411
|
+
this.uiHide.emit();
|
|
5412
|
+
this.stopTimers();
|
|
5413
|
+
this.releaseFocusTrap();
|
|
5414
|
+
}
|
|
5415
|
+
}
|
|
5416
|
+
parseMessagesProp() {
|
|
5417
|
+
if (!this.messages) {
|
|
5418
|
+
this.parsedMessages = [];
|
|
5419
|
+
return;
|
|
5420
|
+
}
|
|
5421
|
+
if (typeof this.messages === 'string') {
|
|
5422
|
+
try {
|
|
5423
|
+
this.parsedMessages = JSON.parse(this.messages);
|
|
5424
|
+
}
|
|
5425
|
+
catch {
|
|
5426
|
+
// Fallback split by comma or treat as single item array
|
|
5427
|
+
this.parsedMessages = this.messages.includes(',')
|
|
5428
|
+
? this.messages.split(',').map(m => m.trim())
|
|
5429
|
+
: [this.messages];
|
|
5430
|
+
}
|
|
5431
|
+
}
|
|
5432
|
+
else if (Array.isArray(this.messages)) {
|
|
5433
|
+
this.parsedMessages = this.messages;
|
|
5434
|
+
}
|
|
5435
|
+
this.activeMessageIndex = 0;
|
|
5436
|
+
this.updateActiveLabel();
|
|
5437
|
+
}
|
|
5438
|
+
handleStatusChange(newStatus) {
|
|
5439
|
+
if (newStatus === 'success' && this.predictive) {
|
|
5440
|
+
// Rapidly complete progress to 100%
|
|
5441
|
+
clearInterval(this.predictiveTimer);
|
|
5442
|
+
this.predictiveTimer = setInterval(() => {
|
|
5443
|
+
if (this.currentProgress < 100) {
|
|
5444
|
+
this.currentProgress = Math.min(100, this.currentProgress + 5);
|
|
5445
|
+
}
|
|
5446
|
+
else {
|
|
5447
|
+
clearInterval(this.predictiveTimer);
|
|
5448
|
+
}
|
|
5449
|
+
}, 30);
|
|
5450
|
+
}
|
|
5451
|
+
}
|
|
5452
|
+
componentWillLoad() {
|
|
5453
|
+
this.parseMessagesProp();
|
|
5454
|
+
this.activeLabel = this.label;
|
|
5455
|
+
if (this.value !== undefined) {
|
|
5456
|
+
this.currentProgress = this.value;
|
|
5457
|
+
}
|
|
5458
|
+
}
|
|
5459
|
+
componentDidLoad() {
|
|
5460
|
+
if (this.visible) {
|
|
5461
|
+
this.uiShow.emit();
|
|
5462
|
+
this.startTimers();
|
|
5463
|
+
if (this.trapFocus) {
|
|
5464
|
+
this.setupFocusTrap();
|
|
5465
|
+
}
|
|
5466
|
+
if (this.type === 'raining-letters') {
|
|
5467
|
+
this.initMatrixRain();
|
|
5468
|
+
}
|
|
5469
|
+
}
|
|
5470
|
+
}
|
|
5471
|
+
componentDidUpdate() {
|
|
5472
|
+
if (this.type === 'raining-letters' && !this.canvasAnimationId) {
|
|
5473
|
+
this.initMatrixRain();
|
|
5474
|
+
}
|
|
5475
|
+
else if (this.type !== 'raining-letters' && this.canvasAnimationId) {
|
|
5476
|
+
this.stopMatrixRain();
|
|
5477
|
+
}
|
|
5478
|
+
}
|
|
5479
|
+
disconnectedCallback() {
|
|
5480
|
+
this.stopTimers();
|
|
5481
|
+
this.releaseFocusTrap();
|
|
5482
|
+
this.stopMatrixRain();
|
|
5483
|
+
}
|
|
5484
|
+
startTimers() {
|
|
5485
|
+
this.stopTimers();
|
|
5486
|
+
// 1. Rotating Messages
|
|
5487
|
+
if (this.parsedMessages.length > 0) {
|
|
5488
|
+
this.updateActiveLabel();
|
|
5489
|
+
this.messageTimer = setInterval(() => {
|
|
5490
|
+
this.activeMessageIndex = (this.activeMessageIndex + 1) % this.parsedMessages.length;
|
|
5491
|
+
this.updateActiveLabel();
|
|
5492
|
+
}, this.messageInterval);
|
|
5493
|
+
}
|
|
5494
|
+
// 2. Predictive Crawling Progress
|
|
5495
|
+
if (this.predictive && this.status === 'loading') {
|
|
5496
|
+
this.currentProgress = 0;
|
|
5497
|
+
this.predictiveTimer = setInterval(() => {
|
|
5498
|
+
if (this.currentProgress < 95) {
|
|
5499
|
+
// Logarithmic crawl: slower as progress approaches 95%
|
|
5500
|
+
const remaining = 95 - this.currentProgress;
|
|
5501
|
+
const increment = Math.max(0.1, remaining * 0.05 * Math.random());
|
|
5502
|
+
this.currentProgress = parseFloat((this.currentProgress + increment).toFixed(1));
|
|
5503
|
+
}
|
|
5504
|
+
}, 350);
|
|
5505
|
+
}
|
|
5506
|
+
}
|
|
5507
|
+
stopTimers() {
|
|
5508
|
+
if (this.messageTimer) {
|
|
5509
|
+
clearInterval(this.messageTimer);
|
|
5510
|
+
this.messageTimer = undefined;
|
|
5511
|
+
}
|
|
5512
|
+
if (this.predictiveTimer) {
|
|
5513
|
+
clearInterval(this.predictiveTimer);
|
|
5514
|
+
this.predictiveTimer = undefined;
|
|
5515
|
+
}
|
|
5516
|
+
}
|
|
5517
|
+
updateActiveLabel() {
|
|
5518
|
+
if (this.parsedMessages.length > 0 && this.activeMessageIndex < this.parsedMessages.length) {
|
|
5519
|
+
this.activeLabel = this.parsedMessages[this.activeMessageIndex];
|
|
5520
|
+
}
|
|
5521
|
+
else {
|
|
5522
|
+
this.activeLabel = this.label;
|
|
5523
|
+
}
|
|
5524
|
+
}
|
|
5525
|
+
// Focus trapping support
|
|
5526
|
+
setupFocusTrap() {
|
|
5527
|
+
this.originalFocusedElement = document.activeElement;
|
|
5528
|
+
setTimeout(() => {
|
|
5529
|
+
this.focusableElements = this.getFocusableElements();
|
|
5530
|
+
if (this.focusableElements.length > 0) {
|
|
5531
|
+
this.focusableElements[0].focus();
|
|
5532
|
+
}
|
|
5533
|
+
}, 50);
|
|
5534
|
+
document.addEventListener('keydown', this.handleKeyDown);
|
|
5535
|
+
}
|
|
5536
|
+
releaseFocusTrap() {
|
|
5537
|
+
document.removeEventListener('keydown', this.handleKeyDown);
|
|
5538
|
+
if (this.originalFocusedElement) {
|
|
5539
|
+
this.originalFocusedElement.focus();
|
|
5540
|
+
this.originalFocusedElement = null;
|
|
5541
|
+
}
|
|
5542
|
+
}
|
|
5543
|
+
getFocusableElements() {
|
|
5544
|
+
if (!this.element.shadowRoot)
|
|
5545
|
+
return [];
|
|
5546
|
+
// Select elements inside shadow root that might be focusable
|
|
5547
|
+
const selectors = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]';
|
|
5548
|
+
const elements = Array.from(this.element.shadowRoot.querySelectorAll(selectors));
|
|
5549
|
+
return elements;
|
|
5550
|
+
}
|
|
5551
|
+
handleKeyDown = (e) => {
|
|
5552
|
+
if (!this.visible || !this.trapFocus)
|
|
5553
|
+
return;
|
|
5554
|
+
if (e.key === 'Tab') {
|
|
5555
|
+
this.focusableElements = this.getFocusableElements();
|
|
5556
|
+
if (this.focusableElements.length === 0) {
|
|
5557
|
+
e.preventDefault();
|
|
5558
|
+
return;
|
|
5559
|
+
}
|
|
5560
|
+
const first = this.focusableElements[0];
|
|
5561
|
+
const last = this.focusableElements[this.focusableElements.length - 1];
|
|
5562
|
+
const active = this.element.shadowRoot?.activeElement;
|
|
5563
|
+
if (e.shiftKey) {
|
|
5564
|
+
if (active === first || active === document.body) {
|
|
5565
|
+
last.focus();
|
|
5566
|
+
e.preventDefault();
|
|
5567
|
+
}
|
|
5568
|
+
}
|
|
5569
|
+
else {
|
|
5570
|
+
if (active === last) {
|
|
5571
|
+
first.focus();
|
|
5572
|
+
e.preventDefault();
|
|
5573
|
+
}
|
|
5574
|
+
}
|
|
5575
|
+
}
|
|
5576
|
+
};
|
|
5577
|
+
// Matrix Rain Canvas Animation
|
|
5578
|
+
initMatrixRain() {
|
|
5579
|
+
if (!this.canvasElement)
|
|
5580
|
+
return;
|
|
5581
|
+
this.stopMatrixRain();
|
|
5582
|
+
const canvas = this.canvasElement;
|
|
5583
|
+
const ctx = canvas.getContext('2d');
|
|
5584
|
+
if (!ctx)
|
|
5585
|
+
return;
|
|
5586
|
+
// Set dimensions
|
|
5587
|
+
const width = 160;
|
|
5588
|
+
const height = 120;
|
|
5589
|
+
canvas.width = width;
|
|
5590
|
+
canvas.height = height;
|
|
5591
|
+
const charPool = this.rainText || 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
5592
|
+
const columnsCount = Math.max(3, this.rainColumns);
|
|
5593
|
+
const fontSize = Math.floor(width / columnsCount);
|
|
5594
|
+
// Initialize drops y-coordinates
|
|
5595
|
+
this.canvasColumnsDrops = [];
|
|
5596
|
+
for (let i = 0; i < columnsCount; i++) {
|
|
5597
|
+
this.canvasColumnsDrops.push(Math.random() * -10);
|
|
5598
|
+
}
|
|
5599
|
+
const draw = () => {
|
|
5600
|
+
// Fade out background to create trailing stream effect
|
|
5601
|
+
ctx.fillStyle = 'rgba(255, 255, 255, 0.15)';
|
|
5602
|
+
ctx.fillRect(0, 0, width, height);
|
|
5603
|
+
// Set character text color
|
|
5604
|
+
let drawColor = '#10b981'; // default matrix emerald
|
|
5605
|
+
if (this.color && !['primary', 'secondary', 'success', 'danger', 'warning', 'info'].includes(this.color)) {
|
|
5606
|
+
drawColor = this.color;
|
|
5607
|
+
}
|
|
5608
|
+
else if (this.color === 'primary') {
|
|
5609
|
+
drawColor = '#3b82f6'; // default primary blue
|
|
5610
|
+
}
|
|
5611
|
+
else if (this.color === 'danger') {
|
|
5612
|
+
drawColor = '#ef4444';
|
|
5613
|
+
}
|
|
5614
|
+
else if (this.color === 'success') {
|
|
5615
|
+
drawColor = '#10b981';
|
|
5616
|
+
}
|
|
5617
|
+
else if (this.color === 'warning') {
|
|
5618
|
+
drawColor = '#f59e0b';
|
|
5619
|
+
}
|
|
5620
|
+
else if (this.color === 'info') {
|
|
5621
|
+
drawColor = '#06b6d4';
|
|
5622
|
+
}
|
|
5623
|
+
ctx.fillStyle = drawColor;
|
|
5624
|
+
ctx.font = `${fontSize}px monospace`;
|
|
5625
|
+
for (let i = 0; i < this.canvasColumnsDrops.length; i++) {
|
|
5626
|
+
const char = charPool[Math.floor(Math.random() * charPool.length)];
|
|
5627
|
+
const x = i * fontSize + fontSize / 4;
|
|
5628
|
+
const y = this.canvasColumnsDrops[i] * fontSize;
|
|
5629
|
+
ctx.fillText(char, x, y);
|
|
5630
|
+
// Reset drop position if it passes bottom of canvas or randomly resets
|
|
5631
|
+
if (y > height && Math.random() > 0.96) {
|
|
5632
|
+
this.canvasColumnsDrops[i] = 0;
|
|
5633
|
+
}
|
|
5634
|
+
else {
|
|
5635
|
+
this.canvasColumnsDrops[i] += 0.45; // scroll speed
|
|
5636
|
+
}
|
|
5637
|
+
}
|
|
5638
|
+
this.canvasAnimationId = requestAnimationFrame(draw);
|
|
5639
|
+
};
|
|
5640
|
+
draw();
|
|
5641
|
+
}
|
|
5642
|
+
stopMatrixRain() {
|
|
5643
|
+
if (this.canvasAnimationId) {
|
|
5644
|
+
cancelAnimationFrame(this.canvasAnimationId);
|
|
5645
|
+
this.canvasAnimationId = undefined;
|
|
5646
|
+
}
|
|
5647
|
+
}
|
|
5648
|
+
// Dynamic Styles Generator
|
|
5649
|
+
getStyles() {
|
|
5650
|
+
const customStyles = {};
|
|
5651
|
+
// 1. Color Customization
|
|
5652
|
+
if (this.color) {
|
|
5653
|
+
const isCustomColor = this.color.startsWith('#') || this.color.startsWith('rgb') || this.color.includes('gradient');
|
|
5654
|
+
if (isCustomColor) {
|
|
5655
|
+
customStyles['--loader-color'] = this.color;
|
|
5656
|
+
}
|
|
5657
|
+
}
|
|
5658
|
+
// 2. Custom Size
|
|
5659
|
+
if (this.size) {
|
|
5660
|
+
const isCustomSize = !['3xs', '2xs', 'xs', 'small', 'md', 'large', 'xl', '2xl', '3xl', 'jumbo'].includes(this.size);
|
|
5661
|
+
if (isCustomSize) {
|
|
5662
|
+
customStyles['--loader-size'] = this.size;
|
|
5663
|
+
}
|
|
5664
|
+
}
|
|
5665
|
+
// 3. Overlay backdrop opacity and custom background
|
|
5666
|
+
if (this.overlay || this.fullscreen) {
|
|
5667
|
+
customStyles['--overlay-opacity'] = `${this.overlayOpacity}`;
|
|
5668
|
+
if (this.overlayBackground) {
|
|
5669
|
+
customStyles['--overlay-background'] = this.overlayBackground;
|
|
5670
|
+
}
|
|
5671
|
+
}
|
|
5672
|
+
// 4. Custom Speed and Stroke Thickness
|
|
5673
|
+
if (this.speed) {
|
|
5674
|
+
const speedMap = { slow: '2s', normal: '1s', fast: '0.5s' };
|
|
5675
|
+
customStyles['--loader-speed'] = speedMap[this.speed] || '1s';
|
|
5676
|
+
}
|
|
5677
|
+
if (this.thickness) {
|
|
5678
|
+
customStyles['--loader-thickness'] = `${this.thickness}px`;
|
|
5679
|
+
}
|
|
5680
|
+
return customStyles;
|
|
5681
|
+
}
|
|
5682
|
+
render() {
|
|
5683
|
+
if (!this.visible)
|
|
5684
|
+
return null;
|
|
5685
|
+
const isOverlayMode = this.overlay || this.fullscreen;
|
|
5686
|
+
const isCustomSizePreset = ['3xs', '2xs', 'xs', 'small', 'md', 'large', 'xl', '2xl', '3xl', 'jumbo'].includes(this.size);
|
|
5687
|
+
const isSemanticColor = ['primary', 'secondary', 'success', 'danger', 'warning', 'info'].includes(this.color);
|
|
5688
|
+
const useBlur = this.backdropBlur || this.enableBlur;
|
|
5689
|
+
const wrapperClasses = {
|
|
5690
|
+
'loader-wrapper': true,
|
|
5691
|
+
'loader-overlay': isOverlayMode,
|
|
5692
|
+
'loader-fullscreen': this.fullscreen,
|
|
5693
|
+
'loader-blur': useBlur,
|
|
5694
|
+
[`loader-variant-${this.variant}`]: true,
|
|
5695
|
+
};
|
|
5696
|
+
const containerClasses = {
|
|
5697
|
+
'loader-container': true,
|
|
5698
|
+
[`loader-size-${this.size}`]: isCustomSizePreset,
|
|
5699
|
+
[`loader-color-${this.color}`]: isSemanticColor,
|
|
5700
|
+
[`loader-label-${this.labelPosition}`]: true,
|
|
5701
|
+
'loader-status-success': this.status === 'success',
|
|
5702
|
+
'loader-status-error': this.status === 'error',
|
|
5703
|
+
};
|
|
5704
|
+
return (index.h("div", { class: wrapperClasses, style: this.getStyles(), role: isOverlayMode ? 'dialog' : 'status', "aria-modal": isOverlayMode ? 'true' : undefined, "aria-label": this.ariaLabel, "aria-live": this.ariaLive }, isOverlayMode && this.trapFocus && (index.h("div", { tabIndex: 0, class: "focus-trap-sentinel" })), index.h("div", { class: containerClasses }, index.h("div", { class: "loader-visual" }, this.status === 'success' ? (this.renderStatusIcon('success')) : this.status === 'error' ? (this.renderStatusIcon('error')) : (this.renderAnimation())), (this.activeLabel || this.description || this.predictive) && (index.h("div", { class: "loader-text-block" }, this.activeLabel && index.h("span", { class: "loader-label-text" }, this.activeLabel), this.description && index.h("span", { class: "loader-desc-text" }, this.description), this.predictive && (index.h("div", { class: "loader-predictive-bar" }, index.h("div", { class: "loader-predictive-fill", style: { width: `${this.currentProgress}%` } }), index.h("span", { class: "loader-predictive-percentage" }, Math.round(this.currentProgress), "%")))))), isOverlayMode && this.trapFocus && (index.h("div", { tabIndex: 0, class: "focus-trap-sentinel" }))));
|
|
5705
|
+
}
|
|
5706
|
+
// Draw checkmarks / cross marks for success / error states
|
|
5707
|
+
renderStatusIcon(status) {
|
|
5708
|
+
if (status === 'success') {
|
|
5709
|
+
return (index.h("div", { class: "status-icon-wrapper success" }, index.h("svg", { viewBox: "0 0 52 52", class: "status-svg" }, index.h("circle", { cx: "26", cy: "26", r: "25", fill: "none", class: "status-circle-bg" }), index.h("path", { fill: "none", d: "M14.1 27.2l7.1 7.2 16.7-16.8", class: "status-check-path" }))));
|
|
5710
|
+
}
|
|
5711
|
+
else {
|
|
5712
|
+
return (index.h("div", { class: "status-icon-wrapper error" }, index.h("svg", { viewBox: "0 0 52 52", class: "status-svg" }, index.h("circle", { cx: "26", cy: "26", r: "25", fill: "none", class: "status-circle-bg" }), index.h("path", { fill: "none", d: "M16 16l20 20M36 16L16 36", class: "status-cross-path" }))));
|
|
5713
|
+
}
|
|
5714
|
+
}
|
|
5715
|
+
// Core Router rendering 34 distinct High-Fidelity animations
|
|
5716
|
+
renderAnimation() {
|
|
5717
|
+
switch (this.type) {
|
|
5718
|
+
case 'dots':
|
|
5719
|
+
return (index.h("div", { class: "anim-dots" }, index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5720
|
+
case 'bar':
|
|
5721
|
+
return (index.h("div", { class: "anim-bar" }, this.value !== undefined ? (
|
|
5722
|
+
// Determinate bar
|
|
5723
|
+
index.h("div", { class: "bar-determinate", style: { width: `${this.value}%` } })) : (
|
|
5724
|
+
// Indeterminate crawling pulse
|
|
5725
|
+
index.h("div", { class: "bar-indeterminate" }))));
|
|
5726
|
+
case 'pulse':
|
|
5727
|
+
return index.h("div", { class: "anim-pulse" });
|
|
5728
|
+
case 'ring':
|
|
5729
|
+
return index.h("div", { class: "anim-ring" });
|
|
5730
|
+
case 'bounce':
|
|
5731
|
+
return (index.h("div", { class: "anim-bounce" }, index.h("div", null), index.h("div", null)));
|
|
5732
|
+
case 'grid':
|
|
5733
|
+
return (index.h("div", { class: "anim-grid" }, index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5734
|
+
case 'wave':
|
|
5735
|
+
return (index.h("div", { class: "anim-wave" }, index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5736
|
+
case 'dual-ring':
|
|
5737
|
+
return index.h("div", { class: "anim-dual-ring" });
|
|
5738
|
+
case 'heartbeat':
|
|
5739
|
+
return (index.h("div", { class: "anim-heartbeat" }, index.h("svg", { viewBox: "0 0 32 32", class: "heart-svg" }, index.h("path", { d: "M16 28.5S2 18.2 2 10.5a6.5 6.5 0 0 1 11-4.8 6.5 6.5 0 0 1 11 4.8c0 7.7-14 18-14 18z" }))));
|
|
5740
|
+
case 'clock':
|
|
5741
|
+
return (index.h("div", { class: "anim-clock" }, index.h("div", { class: "clock-hour" }), index.h("div", { class: "clock-minute" })));
|
|
5742
|
+
case 'raining-letters':
|
|
5743
|
+
return (index.h("div", { class: "anim-raining-letters" }, index.h("canvas", { ref: el => this.canvasElement = el })));
|
|
5744
|
+
case 'ripple':
|
|
5745
|
+
return (index.h("div", { class: "anim-ripple" }, index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5746
|
+
case 'infinite':
|
|
5747
|
+
return (index.h("div", { class: "anim-infinite" }, index.h("svg", { viewBox: "0 0 100 50" }, index.h("path", { d: "M30 15c-8.3 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm40 0c-8.3 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15z", class: "infinity-bg" }), index.h("path", { d: "M30 15c-8.3 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm40 0c-8.3 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15z", class: "infinity-loop" }))));
|
|
5748
|
+
case 'wifi':
|
|
5749
|
+
return (index.h("div", { class: "anim-wifi" }, index.h("div", { class: "wifi-dot" }), index.h("div", { class: "wifi-arc-1" }), index.h("div", { class: "wifi-arc-2" }), index.h("div", { class: "wifi-arc-3" })));
|
|
5750
|
+
case 'rainbow':
|
|
5751
|
+
return index.h("div", { class: "anim-rainbow" });
|
|
5752
|
+
case 'square-shuffle':
|
|
5753
|
+
return (index.h("div", { class: "anim-square-shuffle" }, index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5754
|
+
case 'dna-helix':
|
|
5755
|
+
return (index.h("div", { class: "anim-dna-helix" }, Array.from({ length: 12 }).map((_, i) => (index.h("div", { class: "dna-strand", style: { '--i': `${i}` } }, index.h("div", { class: "dna-dot dot-top" }), index.h("div", { class: "dna-bar" }), index.h("div", { class: "dna-dot dot-bottom" }))))));
|
|
5756
|
+
case 'atom-sphere':
|
|
5757
|
+
return (index.h("div", { class: "anim-atom-sphere" }, index.h("div", { class: "atom-nucleus" }), index.h("div", { class: "atom-orbit orbit-1" }, index.h("div", { class: "atom-electron" })), index.h("div", { class: "atom-orbit orbit-2" }, index.h("div", { class: "atom-electron" })), index.h("div", { class: "atom-orbit orbit-3" }, index.h("div", { class: "atom-electron" }))));
|
|
5758
|
+
case 'staircase':
|
|
5759
|
+
return (index.h("div", { class: "anim-staircase" }, index.h("div", { class: "stair-climber" }), index.h("div", { class: "stairs" }, index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null))));
|
|
5760
|
+
case 'radar':
|
|
5761
|
+
return (index.h("div", { class: "anim-radar" }, index.h("div", { class: "radar-scanner" }), index.h("div", { class: "radar-ring" }), index.h("div", { class: "radar-ring-mid" }), index.h("div", { class: "radar-dot" })));
|
|
5762
|
+
case 'liquid-drop':
|
|
5763
|
+
return (index.h("div", { class: "anim-liquid-drop" }, index.h("div", { class: "drop-nozzle" }), index.h("div", { class: "drop-droplet" }), index.h("div", { class: "drop-surface" })));
|
|
5764
|
+
case 'neon-path':
|
|
5765
|
+
return (index.h("div", { class: "anim-neon-path" }, index.h("div", null)));
|
|
5766
|
+
case 'neuro-pulse':
|
|
5767
|
+
return (index.h("div", { class: "anim-neuro-pulse" }, index.h("svg", { viewBox: "0 0 100 100", class: "neuro-svg" }, index.h("path", { d: "M50 50 L20 20 M50 50 L80 20 M50 50 L50 80 M50 50 L20 70 M50 50 L80 70", class: "neuro-branch" }), index.h("circle", { cx: "50", cy: "50", r: "8", class: "neuro-center" }), index.h("circle", { cx: "20", cy: "20", r: "4", class: "neuro-terminal" }), index.h("circle", { cx: "80", cy: "20", r: "4", class: "neuro-terminal" }), index.h("circle", { cx: "50", cy: "80", r: "4", class: "neuro-terminal" }), index.h("circle", { cx: "20", cy: "70", r: "4", class: "neuro-terminal" }), index.h("circle", { cx: "80", cy: "70", r: "4", class: "neuro-terminal" }), index.h("circle", { cx: "50", cy: "50", class: "neuro-active-pulse pulse-1" }), index.h("circle", { cx: "50", cy: "50", class: "neuro-active-pulse pulse-2" }))));
|
|
5768
|
+
case 'vortex-ring':
|
|
5769
|
+
return (index.h("div", { class: "anim-vortex-ring" }, index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5770
|
+
case 'cube-fold':
|
|
5771
|
+
return (index.h("div", { class: "anim-cube-fold" }, index.h("div", { class: "fold-cube cube-1" }), index.h("div", { class: "fold-cube cube-2" }), index.h("div", { class: "fold-cube cube-4" }), index.h("div", { class: "fold-cube cube-3" })));
|
|
5772
|
+
case 'breathing':
|
|
5773
|
+
return index.h("div", { class: "anim-breathing" });
|
|
5774
|
+
case 'glitch-text':
|
|
5775
|
+
return (index.h("div", { class: "anim-glitch-text", "data-text": "LOADING" }, "LOADING"));
|
|
5776
|
+
case 'plc-module':
|
|
5777
|
+
return (index.h("div", { class: "anim-plc-module" }, index.h("div", { class: "plc-header" }, "CPU"), index.h("div", { class: "plc-leds" }, index.h("div", { class: "plc-row" }, index.h("span", { class: "led-label" }, "RUN"), index.h("span", { class: "plc-led led-green blinking" })), index.h("div", { class: "plc-row" }, index.h("span", { class: "led-label" }, "ERR"), index.h("span", { class: "plc-led led-red off" })), index.h("div", { class: "plc-row" }, index.h("span", { class: "led-label" }, "COM"), index.h("span", { class: "plc-led led-amber flicker" })), index.h("div", { class: "plc-row" }, index.h("span", { class: "led-label" }, "I/O"), index.h("span", { class: "plc-led led-green flicker-delayed" })))));
|
|
5778
|
+
case 'm580-signal':
|
|
5779
|
+
return (index.h("div", { class: "anim-m580-signal" }, index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5780
|
+
case 'circuit-board':
|
|
5781
|
+
return (index.h("div", { class: "anim-circuit-board" }, index.h("svg", { viewBox: "0 0 100 100" }, index.h("path", { d: "M10 50 L40 50 L50 40 L90 40 M40 50 L50 60 L80 60", class: "circuit-path", fill: "none" }), index.h("circle", { cx: "10", cy: "50", r: "3", class: "circuit-node" }), index.h("circle", { cx: "90", cy: "40", r: "3", class: "circuit-node" }), index.h("circle", { cx: "80", cy: "60", r: "3", class: "circuit-node" }), index.h("circle", { cx: "0", cy: "0", r: "2.5", class: "circuit-pulse pulse-a" }, index.h("animateMotion", { dur: "2s", repeatCount: "indefinite", path: "M10 50 L40 50 L50 40 L90 40" })), index.h("circle", { cx: "0", cy: "0", r: "2.5", class: "circuit-pulse pulse-b" }, index.h("animateMotion", { dur: "2s", repeatCount: "indefinite", path: "M40 50 L50 60 L80 60", begin: "0.5s" })))));
|
|
5782
|
+
case 'callout-rotate':
|
|
5783
|
+
return (index.h("div", { class: "anim-callout-rotate" }, index.h("div", { class: "callout-ring" }), index.h("div", { class: "callout-arrow" })));
|
|
5784
|
+
case 'infinite-roller':
|
|
5785
|
+
return (index.h("div", { class: "anim-infinite-roller" }, index.h("div", null), index.h("div", null), index.h("div", null)));
|
|
5786
|
+
case 'image':
|
|
5787
|
+
return (index.h("div", { class: "anim-image" }, index.h("img", { src: this.image, alt: "loading-graphic" })));
|
|
5788
|
+
case 'spinner':
|
|
5789
|
+
default:
|
|
5790
|
+
return index.h("div", { class: "anim-spinner" });
|
|
5791
|
+
}
|
|
5792
|
+
}
|
|
5793
|
+
static get watchers() { return {
|
|
5794
|
+
"visible": [{
|
|
5795
|
+
"handleVisibilityChange": 0
|
|
5796
|
+
}],
|
|
5797
|
+
"messages": [{
|
|
5798
|
+
"parseMessagesProp": 0
|
|
5799
|
+
}],
|
|
5800
|
+
"status": [{
|
|
5801
|
+
"handleStatusChange": 0
|
|
5802
|
+
}]
|
|
5803
|
+
}; }
|
|
5804
|
+
};
|
|
5805
|
+
Loader.style = loaderCss();
|
|
5806
|
+
|
|
5807
|
+
const navigationBarCss = () => `.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{--nav-bg:var(--bg-primary, #fcfcfc);--nav-color:var(--text-primary, #000000);--nav-border-color:var(--border-subtle, #d9d9d9);--nav-item-hover-bg:var(--bg-hover, #e6e6e6);--nav-item-active-bg:var(--bg-selected, var(--color-primary-subtle, rgba(0, 138, 22, 0.08)));--nav-item-active-color:var(--color-primary, #008a16);--nav-accent-gradient:linear-gradient(135deg, var(--color-primary, #3b82f6) 0%, var(--color-secondary, #8b5cf6) 100%);--nav-width:280px;--nav-transition:width 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);display:flex;flex-direction:column;height:100vh;width:var(--nav-width);background:var(--nav-bg);color:var(--nav-color);border-right:1px solid var(--nav-border-color);transition:var(--nav-transition);box-sizing:border-box;position:relative;z-index:100}:host(.pos-right){border-right:none;border-left:1px solid var(--nav-border-color)}.nav-toggle-edge{position:absolute;top:48px;right:-12px;width:24px;height:24px;background:var(--nav-bg);border:1px solid var(--nav-border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:101;color:var(--nav-color);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);transition:transform 0.2s, background-color 0.2s}.nav-toggle-edge:hover{background-color:var(--nav-item-hover-bg)}:host(.pos-right) .nav-toggle-edge{right:auto;left:-12px;transform:rotate(180deg)}:host(.is-collapsed) .nav-toggle-edge{transform:rotate(180deg)}:host(.pos-right.is-collapsed) .nav-toggle-edge{transform:rotate(0deg)}:host([data-theme=dark]),:host-context([data-theme=dark]){--nav-bg:var(--bg-primary, #111827);--nav-color:var(--text-secondary, #94a3b8);--nav-border-color:var(--border-subtle, #1e293b);--nav-item-hover-bg:var(--bg-hover, #1e293b);--nav-item-active-bg:var(--bg-selected, var(--color-primary-subtle, rgba(0, 138, 22, 0.15)));--nav-item-active-color:var(--color-primary, #008a16)}:host([data-theme=green]),:host-context([data-theme=green]){--nav-bg:#3DCD58;--nav-color:#ffffff;--nav-border-color:rgba(255, 255, 255, 0.2);--nav-item-hover-bg:rgba(255, 255, 255, 0.1);--nav-item-active-bg:rgba(255, 255, 255, 0.2);--nav-item-active-color:#ffffff}:host([data-theme=pink]),:host-context([data-theme=pink]),:host([data-theme=violet]),:host-context([data-theme=violet]),:host([data-theme=yellow]),:host-context([data-theme=yellow]),:host([data-theme=blue]),:host-context([data-theme=blue]){--nav-bg:var(--bg-primary);--nav-color:var(--text-secondary, var(--text-primary));--nav-border-color:var(--border-subtle);--nav-item-hover-bg:var(--bg-hover);--nav-item-active-bg:var(--bg-selected, var(--color-primary-subtle));--nav-item-active-color:var(--color-primary)}:host([orientation=horizontal]){width:100%;height:64px;flex-direction:row;border-right:none;border-bottom:1px solid var(--nav-border-color)}:host([orientation=horizontal]) .nav-blocks-container{display:flex !important;flex-direction:row !important;align-items:center;width:100%;height:100%;overflow:visible;flex-wrap:nowrap !important;justify-content:flex-start !important}:host([orientation=horizontal]) .nav-header{border-bottom:none;border-right:1px solid var(--nav-border-color);flex-shrink:0}:host(.is-collapsed) .nav-block-categories,:host(.is-collapsed) .nav-block-top,:host(.is-collapsed) .nav-block-secondary,:host(.is-collapsed) .nav-block-bottom,:host(.is-collapsed) .nav-block-profile{overflow:visible !important}:host([orientation=horizontal]) .nav-block-bottom{margin-left:auto}:host([orientation=horizontal]) .nav-block-categories,:host([orientation=horizontal]) .nav-block-top,:host([orientation=horizontal]) .nav-block-secondary,:host([orientation=horizontal]) .nav-block-bottom,:host([orientation=horizontal]) .nav-block-profile{display:flex !important;flex-direction:row !important;align-items:center;padding:0;overflow:visible !important;border:none !important;height:100%;flex-shrink:0;flex-grow:0 !important;max-height:none !important;flex-wrap:nowrap !important}:host([orientation=horizontal]) .nav-block-categories,:host([orientation=horizontal]) .nav-block-top,:host([orientation=horizontal]) .nav-block-secondary,:host([orientation=horizontal]) .nav-search-bar{border-right:none !important}:host([orientation=horizontal]) .nav-block-top{flex:none}:host([orientation=horizontal]) .nav-item-wrapper{height:100%;display:flex !important;flex-direction:row !important;align-items:center;flex-shrink:0}:host([orientation=horizontal]) .nav-item{height:100%;padding:0 6px;margin:0 !important;border-radius:0;display:flex;align-items:center;justify-content:center;white-space:nowrap}:host([orientation=horizontal]) .nav-icon{margin-right:4px;}:host([orientation=horizontal]) .nav-glider{left:0;right:auto;bottom:0px !important;top:auto !important;height:3px !important;border-radius:4px 4px 0 0;background-color:var(--nav-item-active-color);transition:left 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s}:host([orientation=horizontal]) .nav-toggle-edge{display:none}:host([orientation=horizontal]) .nav-block-bottom .nav-label,:host([orientation=horizontal]) .nav-block-profile .nav-label{display:none;}:host([orientation=horizontal]) .nav-search-bar{padding:0 12px;border-bottom:none;border-right:1px solid var(--nav-border-color);height:100%;display:flex;align-items:center}:host([orientation=horizontal]) .nav-search-bar>div{width:150px}:host(.is-drawer){position:fixed;top:0;left:0;bottom:0;height:100vh;box-shadow:4px 0 16px rgba(0, 0, 0, 0.1);z-index:1000}:host(.is-drawer.pos-right){left:auto;right:0;box-shadow:-4px 0 16px rgba(0, 0, 0, 0.1)}.nav-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.4);z-index:-1;}:host(.is-drawer){overflow:visible;}.nav-header{flex-shrink:0;min-height:64px;display:flex;align-items:center;padding:0 16px;overflow:hidden;white-space:nowrap;position:relative;border-bottom:1px solid var(--nav-border-color)}.nav-mobile-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);cursor:pointer;padding:4px}.nav-blocks-container{display:flex;flex-direction:column;flex:1;min-height:100vh;height:100vh;overflow:hidden;}.nav-block-categories{flex-shrink:0;max-height:30%;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--nav-border-color);scrollbar-width:thin;scrollbar-color:var(--nav-border-color) transparent}.nav-block-top{flex:1;min-height:0;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--nav-border-color) transparent}.nav-block-bottom{flex-shrink:0;border-top:1px solid var(--nav-border-color);padding:8px 0;background-color:rgba(255, 255, 255, 0.05);display:flex;flex-direction:column;overflow:visible;min-height:fit-content;max-height:fit-content;}:host([data-theme=light]) .nav-block-bottom{background-color:rgba(0, 0, 0, 0.05)}.nav-header{border-bottom:1px solid var(--nav-border-color)}.nav-search-bar{padding:8px 16px;border-bottom:1px solid var(--nav-border-color)}.nav-block-secondary{padding:8px 0;border-top:1px solid var(--nav-border-color);display:flex;flex-direction:column;overflow:visible}.nav-block-profile{flex-shrink:0;padding:8px 0;border-top:1px solid var(--nav-border-color);display:flex;flex-direction:column;background-color:rgba(255, 255, 255, 0.08);overflow:visible;min-height:fit-content;max-height:fit-content;}:host([data-theme=light]) .nav-block-profile{background-color:rgba(0, 0, 0, 0.08)}.nav-block-categories::-webkit-scrollbar,.nav-block-top::-webkit-scrollbar{width:4px}.nav-block-categories::-webkit-scrollbar-thumb,.nav-block-top::-webkit-scrollbar-thumb{background-color:var(--nav-border-color);border-radius:4px}.nav-item-wrapper{display:flex;flex-direction:column;min-width:0;}.nav-item{display:flex;align-items:center;height:40px;cursor:pointer;user-select:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);white-space:nowrap;position:relative;overflow:visible;margin:2px 8px;border-radius:8px;outline:none;}a.nav-item{text-decoration:none;color:inherit}.nav-item:focus-visible{outline:2px solid var(--nav-item-active-color);outline-offset:-2px}.nav-item:hover{background-color:var(--nav-item-hover-bg)}.nav-item.active,.nav-item.active-ancestor{background-color:var(--nav-item-active-bg);color:var(--nav-item-active-color);font-weight:500;position:relative}.nav-glider{position:absolute;width:4px;background-color:var(--nav-item-active-color, #008a16);border-radius:4px;transition:top 0.25s cubic-bezier(0.4, 0, 0.2, 1), height 0.2s ease, opacity 0.2s;pointer-events:none;z-index:10;left:6px}:host(.indicator-end) .nav-glider{left:auto;right:6px}.nav-item-wrapper:not(.level-0)>.nav-item{font-size:0.95em;opacity:0.9;height:36px;}.nav-item-wrapper:not(.level-0)>.nav-item.active{background-color:var(--nav-item-active-bg);color:var(--nav-item-active-color);font-weight:600;position:relative}.nav-item-wrapper:not(.level-0)>.nav-item.active::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:4px;height:32px;border-radius:4px;background-color:var(--nav-item-active-color)}.nav-children{position:relative;}.nav-icon-container{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-status-dot{position:absolute;top:2px;right:12px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--nav-bg);z-index:2}:host(.is-collapsed) .nav-status-dot,:host([orientation=horizontal]) .nav-status-dot{right:0px}.nav-status-dot.status-online{background-color:#22c55e}.nav-status-dot.status-offline{background-color:#94a3b8}.nav-status-dot.status-away{background-color:#eab308}.nav-status-dot.status-busy{background-color:#ef4444}.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;margin-right:12px}:host(.is-collapsed) .nav-icon,:host([orientation=horizontal]) .nav-block-bottom .nav-icon,:host([orientation=horizontal]) .nav-block-profile .nav-icon{margin-right:0}.nav-label-container{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.nav-badge{background-color:var(--nav-item-active-color);color:white;font-size:10px;font-weight:700;padding:0 6px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-badge-mini{position:absolute;top:-4px;right:-4px;background-color:#ef4444;color:white;font-size:9px;font-weight:800;min-width:14px;height:14px;padding:0 3px;border-radius:7px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--nav-bg);z-index:3}.nav-item{border-left:3px solid transparent}.nav-item.active .nav-icon{color:currentColor;}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-item.no-icon .nav-label{font-size:12px;opacity:0.8;padding-left:4px}.nav-item.is-user-profile .nav-icon{background:var(--nav-accent-gradient);border-radius:50%;color:white !important;width:32px;height:32px;min-width:32px;box-shadow:0 4px 10px rgba(59, 130, 246, 0.4);margin-right:12px}.nav-item.is-user-profile .nav-icon ui-icon{width:18px !important;height:18px !important;font-size:18px !important}.nav-item.is-user-profile .nav-label{font-weight:600;color:var(--nav-color)}.nav-arrow{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:8px;transition:transform 0.2s}:host([orientation=horizontal]) .nav-arrow{margin-left:4px}.nav-arrow .rotate-180{transform:rotate(180deg)}.nav-children{display:flex;flex-direction:column;overflow:hidden;animation:slideDown 0.2s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}:host(.is-collapsed:not([orientation=horizontal])) .nav-item{justify-content:center;padding:0 !important;margin:4px 0;width:100%;border-radius:0}:host(.is-collapsed:not([orientation=horizontal])) .nav-icon{margin-right:0}:host(.is-collapsed:not([orientation=horizontal])) .nav-label,:host(.is-collapsed:not([orientation=horizontal])) .nav-arrow{display:none;}.nav-tooltip{position:absolute;background:#1e293b;color:#f8fafc;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);border:1px solid rgba(255, 255, 255, 0.1);z-index:2000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.2s, transform 0.2s, visibility 0.2s}.nav-tooltip.visible{opacity:1;visibility:visible}:host(.is-collapsed:not([orientation=horizontal])) .nav-tooltip{left:100%;top:50%;transform:translateY(-50%) translateX(-10px);margin-left:10px}:host(.is-collapsed:not([orientation=horizontal])) .nav-tooltip.visible{transform:translateY(-50%) translateX(0)}:host([orientation=horizontal]) .nav-tooltip{top:100%;left:50%;transform:translateX(-50%) translateY(-10px);margin-top:8px}:host([orientation=horizontal]) .nav-tooltip.visible{transform:translateX(-50%) translateY(0)}:host(:not(.is-collapsed):not([orientation=horizontal])) .nav-tooltip{left:50%;bottom:100%;transform:translateX(-50%) translateY(10px);margin-bottom:8px}:host(:not(.is-collapsed):not([orientation=horizontal])) .nav-tooltip.visible{transform:translateX(-50%) translateY(0)}.nav-tooltip::before{content:"";position:absolute;width:8px;height:8px;background:#1e293b;transform:rotate(45deg);z-index:-1;border:1px solid rgba(255, 255, 255, 0.1)}:host(.is-collapsed:not([orientation=horizontal])) .nav-tooltip::before{left:-4px;top:50%;margin-top:-4px;border-right:none;border-top:none}:host([orientation=horizontal]) .nav-tooltip::before{top:-4px;left:50%;margin-left:-4px;border-right:none;border-bottom:none}:host(:not(.is-collapsed):not([orientation=horizontal])) .nav-tooltip::before{bottom:-4px;left:12px;border-left:none;border-top:none}`;
|
|
5175
5808
|
|
|
5176
5809
|
const NavigationBar = class {
|
|
5177
5810
|
constructor(hostRef) {
|
|
@@ -5224,7 +5857,7 @@ const NavigationBar = class {
|
|
|
5224
5857
|
/** Position of the active item indicator bar: 'start' (left) or 'end' (right) */
|
|
5225
5858
|
indicatorPosition = 'start';
|
|
5226
5859
|
/** Maximum number of items to show before overflowing to "More" menu */
|
|
5227
|
-
maxItems =
|
|
5860
|
+
maxItems = 100;
|
|
5228
5861
|
/** Company Logo URL */
|
|
5229
5862
|
companyLogo;
|
|
5230
5863
|
/** Company Name */
|
|
@@ -5339,6 +5972,18 @@ const NavigationBar = class {
|
|
|
5339
5972
|
if (el.classList.contains('green') || body.classList.contains('green') || themeAttr === 'green') {
|
|
5340
5973
|
this.effectiveTheme = 'green';
|
|
5341
5974
|
}
|
|
5975
|
+
else if (el.classList.contains('pink') || body.classList.contains('pink') || themeAttr === 'pink') {
|
|
5976
|
+
this.effectiveTheme = 'pink';
|
|
5977
|
+
}
|
|
5978
|
+
else if (el.classList.contains('violet') || body.classList.contains('violet') || themeAttr === 'violet') {
|
|
5979
|
+
this.effectiveTheme = 'violet';
|
|
5980
|
+
}
|
|
5981
|
+
else if (el.classList.contains('yellow') || body.classList.contains('yellow') || themeAttr === 'yellow') {
|
|
5982
|
+
this.effectiveTheme = 'yellow';
|
|
5983
|
+
}
|
|
5984
|
+
else if (el.classList.contains('blue') || body.classList.contains('blue') || themeAttr === 'blue') {
|
|
5985
|
+
this.effectiveTheme = 'blue';
|
|
5986
|
+
}
|
|
5342
5987
|
else if (el.classList.contains('dark') || body.classList.contains('dark') || themeAttr === 'dark' || window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
5343
5988
|
this.effectiveTheme = 'dark';
|
|
5344
5989
|
}
|
|
@@ -5610,7 +6255,7 @@ const NavigationBar = class {
|
|
|
5610
6255
|
const vars = {
|
|
5611
6256
|
'--nav-width': typeof this.isExpanded === 'boolean' ? (this.isExpanded ? this.expandedWidth : this.isMobile ? '0px' : this.collapsedWidth) : this.collapsedWidth,
|
|
5612
6257
|
};
|
|
5613
|
-
return (index.h(index.Host, { key: '
|
|
6258
|
+
return (index.h(index.Host, { key: '2eb01698cf4e733afaea46d374a90834404dac5c', style: vars, class: hostClass, "data-theme": this.effectiveTheme }, index.h("div", { key: '64afaaedfbae9c6ef52d43dd9a66b0f8c70cb005', class: "nav-glider", style: {
|
|
5614
6259
|
top: this.orientation === 'horizontal' ? 'auto' : `${typeof this.gliderTop === 'number' ? this.gliderTop : 0}px`,
|
|
5615
6260
|
height: this.orientation === 'horizontal' ? '3px' : `${typeof this.gliderHeight === 'number' ? this.gliderHeight : 0}px`,
|
|
5616
6261
|
left: this.orientation === 'horizontal' ? `${typeof this.gliderLeft === 'number' ? this.gliderLeft : 0}px` : this.position === 'left' ? '6px' : 'auto',
|
|
@@ -5618,21 +6263,21 @@ const NavigationBar = class {
|
|
|
5618
6263
|
width: this.orientation === 'horizontal' ? `${typeof this.gliderWidth === 'number' ? this.gliderWidth : 0}px` : '4px',
|
|
5619
6264
|
bottom: this.orientation === 'horizontal' ? '0' : 'auto',
|
|
5620
6265
|
opacity: `${typeof this.gliderOpacity === 'number' ? this.gliderOpacity : 0}`,
|
|
5621
|
-
} }), this.renderToggle(), this.isMobile && this.isExpanded && index.h("div", { key: '
|
|
6266
|
+
} }), this.renderToggle(), this.isMobile && this.isExpanded && index.h("div", { key: 'c1cc68a69a4483b72de62b8dc01df11c2cd5b46d', class: "nav-backdrop", onClick: () => this.close() }), index.h("div", { key: '4476a7ff93109e3b6e5958660b96dedba14f42e5', class: "nav-blocks-container" }, index.h("div", { key: '68faa594665af6f1cedf149185abd2cca9817228', class: "nav-header" }, index.h("slot", { key: 'b80e043762877652627c51eb2ddc3e0f63df57c0', name: "header" }, (this.companyLogo || this.companyName) && (index.h("div", { key: 'fb3c413c07ff8350426ad0f4f15bdbfd0ee86811', class: "nav-company-block", style: { display: 'flex', alignItems: 'center', gap: '12px', padding: '0 24px', height: '64px' } }, this.companyLogo && index.h("img", { key: '847a03eac2008e4ebc04e979edeeb5a13f5abdfc', src: this.companyLogo, alt: this.companyName || 'Logo', style: { height: '32px', width: 'auto' } }), this.isExpanded && this.companyName && (index.h("span", { key: 'abcff11af04d25aec0b037545d0aaf5c6dac7943', class: "nav-company-name", style: { fontWeight: '600', fontSize: '16px' } }, this.companyName))))), index.h("slot", { key: '3d76424bb0011e74f65a7652b422876216c5a184', name: "logo" }), this.isMobile && (index.h("div", { key: '90f60b7f7a238688f0ec88b5e719a3fbc351e9fc', class: "nav-mobile-close", onClick: () => this.close() }, index.h("svg", { key: '81b3b606dbc8e698b2bda807486d0a0807523baf', viewBox: "0 0 24 24", width: "24", height: "24", stroke: "currentColor", fill: "none" }, index.h("path", { key: 'e3874a36edaccd360cb51f7ea7439ad35546b284', d: "M18 6L6 18M6 6l12 12" }))))), this.showSearch && this.isExpanded && (index.h("div", { key: '159550b1dad6ff640256e1d104365cf9914798cc', class: "nav-search-bar" }, index.h("div", { key: '2c546aba432593be79cb9cd87508fc97e9e53675', style: {
|
|
5622
6267
|
position: 'relative',
|
|
5623
6268
|
display: 'flex',
|
|
5624
6269
|
alignItems: 'center',
|
|
5625
6270
|
background: 'var(--nav-item-hover-bg, #f1f5f9)',
|
|
5626
6271
|
borderRadius: '6px',
|
|
5627
6272
|
padding: '4px 8px',
|
|
5628
|
-
} }, index.h("svg", { key: '
|
|
6273
|
+
} }, index.h("svg", { key: '3f908153c8229f86ef86a84e43db7f8f04e106f5', viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "2", style: { opacity: '0.5', marginRight: '8px' } }, index.h("circle", { key: '0180978379bb2e07d78dc7ebbcfd9f977eeb3eab', cx: "11", cy: "11", r: "8" }), index.h("line", { key: '60eeaded9a9eae354f3c2b47b64b66d00d0256ff', x1: "21", y1: "21", x2: "16.65", y2: "16.65" })), index.h("input", { key: '1583b28f1daed5e1545a5040afe4722c7b3e4ab1', type: "text", placeholder: "Search...", value: this.keyword, onInput: e => (this.keyword = e.target.value), style: {
|
|
5629
6274
|
background: 'transparent',
|
|
5630
6275
|
border: 'none',
|
|
5631
6276
|
outline: 'none',
|
|
5632
6277
|
width: '100%',
|
|
5633
6278
|
fontSize: '14px',
|
|
5634
6279
|
color: 'inherit',
|
|
5635
|
-
} })))), blocks.categories.length > 0 && (index.h("div", { key: '
|
|
6280
|
+
} })))), blocks.categories.length > 0 && (index.h("div", { key: '2c80c4bb5deef89af5f93ea6d2b1b69bbe8d94be', class: "nav-block-categories", role: "tree" }, this.renderNavList(blocks.categories, 'cat'))), index.h("div", { key: 'd235632930a29f1be58a749317415cac8dda95db', class: "nav-block-top", role: "tree" }, this.renderNavList(blocks.primary, 'top'), index.h("slot", { key: '5b4e7cbf60a4017630323b05c5f49f447c72342a', name: "menu-item" }), " ", blocks.primary.length === 0 && blocks.categories.length === 0 && blocks.secondary.length === 0 && index.h("slot", { key: 'e4bfa9034a10ca358f6b82ae98c25473a93ca6e7', name: "empty-state" }, "No Items")), blocks.secondary.length > 0 && (index.h("div", { key: 'f09d0dc5ac73f3be4f955b06e8df12df35841cd5', class: "nav-block-secondary", role: "tree" }, this.renderNavList(blocks.secondary, 'sec'))), blocks.bottom.length > 0 && (index.h("div", { key: 'c177f73e835f8145392a2977ca8d2e1a0a19e0dc', class: "nav-block-bottom", role: "tree" }, blocks.bottom.map(item => this.renderItem(item)), index.h("slot", { key: '30645d8bdf679a52419bfcc3a24ca94b334d7e09', name: "footer" }))), blocks.bottomSecondary.length > 0 && (index.h("div", { key: '5359678d2c1719502bb2ef9ea98884bad930a01a', class: "nav-block-profile", role: "tree" }, blocks.bottomSecondary.map(item => this.renderItem(item)))))));
|
|
5636
6281
|
}
|
|
5637
6282
|
isBottomItem(id) {
|
|
5638
6283
|
const blocks = this.getBlocks();
|
|
@@ -5656,9 +6301,6 @@ const NavigationBar = class {
|
|
|
5656
6301
|
const hasChildren = item.children && item.children.length > 0;
|
|
5657
6302
|
const paddingLeft = level * 16 + 16 + 'px';
|
|
5658
6303
|
const itemId = `nav-item-${item.id}`;
|
|
5659
|
-
// Determine tag type: use 'a' if href exists and no children (leaf node), otherwise 'div'
|
|
5660
|
-
const Tag = item.href && !hasChildren ? 'a' : 'div';
|
|
5661
|
-
const attrs = item.href && !hasChildren ? { href: item.href } : {};
|
|
5662
6304
|
const itemClass = [
|
|
5663
6305
|
'nav-item',
|
|
5664
6306
|
active && 'active',
|
|
@@ -5667,12 +6309,39 @@ const NavigationBar = class {
|
|
|
5667
6309
|
item.id === 'user-profile' && 'is-user-profile',
|
|
5668
6310
|
!item.icon && 'no-icon',
|
|
5669
6311
|
].filter(Boolean).join(' ');
|
|
5670
|
-
|
|
6312
|
+
const itemContent = [
|
|
6313
|
+
/* Icon or Avatar */
|
|
6314
|
+
(item.icon || item.avatar || item.type === 'image' || item.type === 'icon' || item.type === 'avatar' || item.imageUrl) && (index.h("span", { class: "nav-icon-container" }, item.avatar || item.type === 'avatar' ? (index.h("ui-avatar", { src: item.avatar || item.imageUrl, shape: "circle", class: "nav-avatar-icon", size: this.isExpanded || this.orientation === 'horizontal' ? '1.5rem' : '2rem', status: item.status })) : item.type === 'image' || item.imageUrl ? (index.h("img", { src: item.imageUrl, alt: item.label, class: "nav-image-icon", style: { width: '24px', height: '24px', borderRadius: '4px', objectFit: 'cover' } })) : (index.h("span", { class: "nav-icon" }, index.h("ui-icon", { name: item.icon, library: item.iconLibrary || this.iconLibrary, size: "1.25rem" }))), item.status && !item.avatar && item.type !== 'avatar' && index.h("span", { class: `nav-status-dot status-${item.status}` }), !this.isExpanded && item.badge && index.h("span", { class: "nav-badge-mini" }, item.badge), this.orientation === 'horizontal' && (item.id === 'user-profile' || this.isBottomItem(item.id)) && item.badge && index.h("span", { class: "nav-badge-mini" }, item.badge))),
|
|
6315
|
+
/* Tooltip for items without children in collapsed mode */
|
|
6316
|
+
!hasChildren && !this.isExpanded && this.hoveredIconId === item.id && index.h("div", { class: { 'nav-tooltip': true, 'visible': true } }, item.label),
|
|
6317
|
+
/* Label (Visible if expanded, OR horizontal generally except for bottom items) */
|
|
6318
|
+
(this.isExpanded || (this.orientation === 'horizontal' && !this.isBottomItem(item.id))) && (index.h("span", { class: "nav-label-container" }, index.h("span", { class: "nav-label" }, item.label), item.badge && index.h("span", { class: "nav-badge" }, item.badge))),
|
|
6319
|
+
/* Expand Arrow */
|
|
6320
|
+
hasChildren && (this.isExpanded || this.orientation === 'horizontal') && (index.h("span", { class: "nav-arrow" }, index.h("svg", { viewBox: "0 0 24 24", width: "16", height: "16", stroke: "currentColor", fill: "none", class: expanded && this.orientation !== 'horizontal' ? 'rotate-180' : '' }, index.h("path", { d: "M6 9l6 6 6-6" }))))
|
|
6321
|
+
];
|
|
6322
|
+
const paddingStyle = { paddingLeft: this.orientation === 'horizontal' ? '0' : this.isExpanded ? paddingLeft : '0' };
|
|
6323
|
+
return (index.h("div", { key: item.id, class: `nav-item-wrapper level-${level}`, role: "none" }, item.href && !hasChildren ? (index.h("a", { id: itemId, href: item.href, class: itemClass, style: paddingStyle, onMouseEnter: () => {
|
|
6324
|
+
if (this.orientation === 'horizontal') {
|
|
6325
|
+
this.hoveredId = item.id;
|
|
6326
|
+
this.updateGlider();
|
|
6327
|
+
}
|
|
6328
|
+
if (!hasChildren && !this.isExpanded) {
|
|
6329
|
+
this.hoveredIconId = item.id;
|
|
6330
|
+
}
|
|
6331
|
+
}, onMouseLeave: () => {
|
|
6332
|
+
if (this.orientation === 'horizontal') {
|
|
6333
|
+
this.hoveredId = null;
|
|
6334
|
+
this.updateGlider();
|
|
6335
|
+
}
|
|
6336
|
+
this.hoveredIconId = null;
|
|
6337
|
+
}, onClick: e => {
|
|
6338
|
+
e.stopPropagation();
|
|
6339
|
+
this.handleItemClick(item);
|
|
6340
|
+
}, onKeyDown: e => this.handleKeyDown(e, item), title: !this.isExpanded && hasChildren ? item.label : '', tabindex: 0, role: "treeitem", "aria-selected": active ? 'true' : 'false' }, itemContent)) : (index.h("div", { id: itemId, class: itemClass, style: paddingStyle, onMouseEnter: () => {
|
|
5671
6341
|
if (this.orientation === 'horizontal') {
|
|
5672
6342
|
this.hoveredId = item.id;
|
|
5673
6343
|
this.updateGlider();
|
|
5674
6344
|
}
|
|
5675
|
-
// Set hover for tooltip (collapsed mode, items without children)
|
|
5676
6345
|
if (!hasChildren && !this.isExpanded) {
|
|
5677
6346
|
this.hoveredIconId = item.id;
|
|
5678
6347
|
}
|
|
@@ -5681,12 +6350,11 @@ const NavigationBar = class {
|
|
|
5681
6350
|
this.hoveredId = null;
|
|
5682
6351
|
this.updateGlider();
|
|
5683
6352
|
}
|
|
5684
|
-
// Clear hover for tooltip
|
|
5685
6353
|
this.hoveredIconId = null;
|
|
5686
6354
|
}, onClick: e => {
|
|
5687
6355
|
e.stopPropagation();
|
|
5688
6356
|
this.handleItemClick(item);
|
|
5689
|
-
}, onKeyDown: e => this.handleKeyDown(e, item), title: !this.isExpanded && hasChildren ? item.label : '', tabindex:
|
|
6357
|
+
}, onKeyDown: e => this.handleKeyDown(e, item), title: !this.isExpanded && hasChildren ? item.label : '', tabindex: 0, role: "treeitem", "aria-expanded": hasChildren ? (expanded ? 'true' : 'false') : null, "aria-selected": active ? 'true' : 'false' }, itemContent)), (() => {
|
|
5690
6358
|
const contextItems = hasChildren ? item.children : [];
|
|
5691
6359
|
if (!contextItems || contextItems.length === 0)
|
|
5692
6360
|
return null;
|
|
@@ -5730,4 +6398,5 @@ exports.ui_button_toggle_group = ButtonToggleGroup;
|
|
|
5730
6398
|
exports.ui_context_menu = UiContextMenu;
|
|
5731
6399
|
exports.ui_icon = Icon;
|
|
5732
6400
|
exports.ui_input = Input;
|
|
6401
|
+
exports.ui_loader = Loader;
|
|
5733
6402
|
exports.ui_navigation_bar = NavigationBar;
|