atomicuilibrary 0.1.0 → 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 +4 -4
- 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/smart-step.cjs.entry.js +3 -3
- package/dist/cjs/timeline-item.cjs.entry.js +2 -2
- package/dist/cjs/ui-accordion_11.cjs.entry.js +132 -50
- 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 +10 -11
- 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 +2 -2
- package/dist/cjs/ui-card.cjs.entry.js +4 -3
- package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
- package/dist/cjs/ui-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
- 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 +85 -11
- 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 +349 -60
- 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_4.cjs.entry.js → ui-pagination_3.cjs.entry.js} +35 -506
- 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 +66 -9
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/ui-switch.cjs.entry.js +14 -13
- package/dist/cjs/ui-tabs.cjs.entry.js +2 -2
- package/dist/cjs/ui-tag.cjs.entry.js +58 -13
- package/dist/cjs/ui-timeline.cjs.entry.js +10 -2
- 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 +4 -4
- package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
- package/dist/cjs/ui-transfer-list.cjs.entry.js +6 -6
- package/dist/cjs/ui-tree.cjs.entry.js +30 -15
- package/dist/cjs/ui-workspace-manager.cjs.entry.js +2 -2
- package/dist/collection/assets/js/component-config.js +1 -0
- package/dist/collection/assets/js/demo-loader.js +2 -0
- package/dist/collection/assets/js/demos/about-demo.js +13 -13
- package/dist/collection/assets/js/demos/accordion-demo.js +66 -66
- package/dist/collection/assets/js/demos/advanced-data-table-demo.js +102 -102
- 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 +51 -51
- 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 +117 -107
- package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
- package/dist/collection/assets/js/demos/callout-banner-demo.js +23 -23
- package/dist/collection/assets/js/demos/card-demo.js +23 -22
- 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 +43 -43
- 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 +12 -12
- package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
- package/dist/collection/assets/js/demos/documentation-demo.js +34 -34
- 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 +294 -78
- 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 +185 -122
- package/dist/collection/assets/js/demos/loader-demo.js +48 -48
- package/dist/collection/assets/js/demos/masonry-demo.js +568 -140
- 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 +170 -156
- 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 +14 -14
- 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 +62 -62
- package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
- package/dist/collection/assets/js/demos/timeline-demo.js +10 -10
- 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 +92 -90
- 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 +50 -66
- package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
- package/dist/collection/collection-manifest.json +1 -2
- package/dist/collection/components/accordion/accordion.css +275 -9
- package/dist/collection/components/accordion/accordion.js +7 -6
- package/dist/collection/components/advanced-data-table/advanced-data-table.css +5 -5
- package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
- package/dist/collection/components/anchor/anchor.css +1 -0
- package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
- package/dist/collection/components/aside-panel/aside-panel.css +2 -2
- package/dist/collection/components/aside-panel/aside-panel.js +10 -11
- package/dist/collection/components/avatar/avatar.css +6 -6
- package/dist/collection/components/avatar/avatar.js +63 -11
- package/dist/collection/components/badge/badge.css +27 -17
- package/dist/collection/components/badge/badge.js +6 -3
- package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
- package/dist/collection/components/button/button.css +1 -0
- package/dist/collection/components/button/button.js +3 -3
- 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 +221 -9
- package/dist/collection/components/card/card.js +3 -2
- package/dist/collection/components/checkbox/checkbox.js +3 -3
- 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 +9 -9
- package/dist/collection/components/dialog-box/dialog-box.js +116 -14
- package/dist/collection/components/dialog-header/dialog-header.js +1 -1
- 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 +20 -9
- 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 +403 -131
- package/dist/collection/components/list-item/list-item.js +345 -61
- package/dist/collection/components/loader/loader.css +1 -1
- package/dist/collection/components/loader/loader.js +2 -2
- 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 +176 -32
- package/dist/collection/components/progress/progress.js +66 -8
- package/dist/collection/components/radio/radio.css +2 -0
- 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/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 +13 -12
- 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 +34 -16
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +46 -11
- 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/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 -1
- 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-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-color-controller.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-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-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 +4 -4
- 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/smart-step.entry.js +3 -3
- package/dist/esm/timeline-item.entry.js +2 -2
- package/dist/esm/ui-accordion_11.entry.js +132 -50
- 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 +10 -11
- 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 +2 -2
- package/dist/esm/ui-card.entry.js +4 -3
- package/dist/esm/ui-carousel.entry.js +1 -1
- package/dist/esm/ui-checkbox.entry.js +3 -3
- package/dist/esm/ui-code-editor.entry.js +2 -2
- 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 +85 -11
- 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 +349 -60
- 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_4.entry.js → ui-pagination_3.entry.js} +36 -506
- 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 +66 -9
- 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 +1 -1
- 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 +1 -1
- package/dist/esm/ui-switch.entry.js +14 -13
- package/dist/esm/ui-tabs.entry.js +2 -2
- package/dist/esm/ui-tag.entry.js +58 -13
- package/dist/esm/ui-timeline.entry.js +10 -2
- 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 +4 -4
- package/dist/esm/ui-top-bar.entry.js +1 -1
- package/dist/esm/ui-transfer-list.entry.js +6 -6
- package/dist/esm/ui-tree.entry.js +30 -15
- package/dist/esm/ui-workspace-manager.entry.js +2 -2
- 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-7ba2258a.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-036d2a44.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-81ebba11.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-e8c6d395.entry.js → p-2b6aa7bc.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-70bacda8.entry.js → p-2cfba753.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-cbee2607.entry.js → p-2fe22958.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-20ecc116.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-8b57fe4e.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-e22317c1.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-4288c158.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-4aaa8e40.entry.js → p-4c46ac0b.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-98e91da5.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-fb4aca69.entry.js → p-62889cfe.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c02284ea.entry.js → p-66f71613.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-7889bfc4.entry.js → p-67c440b2.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c1c8ac28.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-97af03cc.entry.js → p-7ed3bba2.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-d59da767.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-54965530.entry.js → p-97086868.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-d114a347.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-790556f0.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-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-6ddbee42.entry.js → p-ae617f62.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-05a436d3.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-d2e45c5e.entry.js → p-bc49a088.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-6b838549.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-8578b616.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-cb6e38a6.entry.js +1 -0
- 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/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/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 +45 -17
- 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 +7 -0
- 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 +742 -425
- package/dist/types/types/common.d.ts +2 -2
- package/dist/types/types/common.type.d.ts +2 -0
- package/dist/types/utils/dom.d.ts +4 -4
- package/package.json +4 -5
- package/dist/cjs/dom-oP1E4Rd3.js +0 -267
- package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
- package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
- package/dist/cjs/ui-popover.cjs.entry.js +0 -517
- package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
- 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/smart-location-dropdown/smart-location-dropdown.css +0 -357
- package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
- package/dist/components/ui-color-controller.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-color-controller.entry.js +0 -148
- package/dist/esm/ui-popover.entry.js +0 -515
- package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
- 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-16bdd162.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-2347d21b.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-3d381f75.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-4417a9d8.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-44742ddd.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-4bef8bed.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-4efd63ce.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-5c835d90.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-71d95bb1.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-9bd14f69.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-DUsoYu9r.js +0 -2
- package/dist/exploration-project-tailwind/p-a27f59d2.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-a7b07cf4.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-bd89d060.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-c63c522e.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-d6ce9721.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-dc92a343.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-e76318c7.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-eab5ad36.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-f1beee72.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-f543392f.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-f61cfb7c.entry.js +0 -1
- package/dist/types/components/color-controller/color-controller.d.ts +0 -24
- 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/{smart-location-dropdown → label}/types.js +0 -0
|
@@ -1,517 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-ClkOYpT8.js');
|
|
4
|
-
var security = require('./security-CNaNip8F.js');
|
|
5
|
-
var focusTrap = require('./focus-trap-i9T6oXLc.js');
|
|
6
|
-
var dom = require('./dom-oP1E4Rd3.js');
|
|
7
|
-
|
|
8
|
-
const popoverCss = () => `@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}.popover-wrapper{position:relative;display:inline-block}.popover-trigger{display:inline-block;cursor:pointer}.popover-backdrop{position:fixed;inset-block-start:0;inset-inline-start:0;width:100vw;height:100vh;background:rgba(0, 0, 0, 0.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:19999;cursor:default;animation:backdropIn 0.18s ease}@keyframes backdropIn{from{opacity:0}to{opacity:1}}.popover{position:fixed;z-index:21000;background:var(--popover-bg, var(--bg-primary, #ffffff));border:1px solid var(--popover-border, var(--border-default, #e5e7eb));border-radius:var(--popover-radius, 10px);box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08);opacity:0;transition:opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);pointer-events:none;max-width:calc(100vw - 32px);word-wrap:break-word;overflow-wrap:break-word;overflow:visible;}.popover-visible{opacity:1;pointer-events:auto}.popover-inner{overflow:hidden;border-radius:inherit;max-height:inherit;}.popover-header{display:flex;align-items:center;justify-content:space-between;margin:0;padding-block:12px;padding-inline:16px;border-block-end:1px solid var(--popover-border, var(--border-default, #e5e7eb))}.popover-title{font-weight:700;font-size:14px;color:var(--popover-text-primary, var(--text-primary, #1f2937));margin:0;letter-spacing:-0.01em}.popover-close{background:transparent;border:none;color:var(--popover-text-secondary, var(--text-muted, #9ca3af));cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background 0.15s, color 0.15s;margin-inline-start:8px}.popover-close:hover{background:var(--popover-border, var(--border-default, #e5e7eb));color:var(--popover-text-primary, var(--text-primary, #1f2937))}.popover-body{padding-block:12px;padding-inline:16px;font-size:14px;color:var(--popover-text-secondary, var(--text-muted, #6b7280));line-height:1.6;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.15) transparent}.popover-body::-webkit-scrollbar{width:4px}.popover-body::-webkit-scrollbar-track{background:transparent}.popover-body::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.15);border-radius:2px}::slotted([slot=footer]){display:block;padding-block:10px;padding-inline:16px;border-block-start:1px solid var(--popover-border, var(--border-default, #e5e7eb));background:var(--popover-footer-bg, rgba(0, 0, 0, 0.02))}.popover-dark{--popover-bg:var(--bg-primary, #1f2937);--popover-border:var(--border-default, #374151);--popover-text-primary:var(--bg-primary, #f3f4f6);--popover-text-secondary:var(--bg-secondary, #d1d5db);--popover-footer-bg:rgba(255,255,255,0.04)}.popover-dark .popover-arrow{--popover-bg:var(--bg-primary, #1f2937);--popover-border:var(--border-default, #374151)}.popover-success{--popover-bg:var(--bg-primary, #f0fdf4);--popover-border:var(--color-success, #bbf7d0);--popover-text-primary:var(--color-success, #14532d);--popover-text-secondary:var(--color-success, #166534);--popover-footer-bg:rgba(var(--color-success-rgb, 16, 185, 129), 0.06)}.popover-success .popover-header{border-block-end-color:var(--color-success, #bbf7d0)}.popover-success .popover-title::before{content:"✓ ";color:var(--color-success, #16a34a)}.popover-warning{--popover-bg:var(--bg-primary, #fffbeb);--popover-border:var(--color-primary, #fde68a);--popover-text-primary:var(--color-danger, #78350f);--popover-text-secondary:var(--color-danger, #92400e);--popover-footer-bg:rgba(var(--color-warning-rgb, 245, 158, 11), 0.06)}.popover-warning .popover-header{border-block-end-color:var(--color-primary, #fde68a)}.popover-warning .popover-title::before{content:"⚠ ";color:var(--color-warning-hover, #d97706)}.popover-error{--popover-bg:var(--bg-primary, #fef2f2);--popover-border:var(--color-danger, #fecaca);--popover-text-primary:var(--color-danger, #7f1d1d);--popover-text-secondary:var(--color-danger, #991b1b);--popover-footer-bg:rgba(var(--color-danger-rgb, 239, 68, 68), 0.06)}.popover-error .popover-header{border-block-end-color:var(--color-danger, #fecaca)}.popover-error .popover-title::before{content:"✕ ";color:var(--color-danger-hover, #dc2626)}.popover-info{--popover-bg:var(--bg-primary, #eff6ff);--popover-border:var(--color-primary, #bfdbfe);--popover-text-primary:var(--color-primary, #1e3a8a);--popover-text-secondary:var(--color-primary, #1e40af);--popover-footer-bg:rgba(var(--color-primary-rgb, 59, 130, 246), 0.06)}.popover-info .popover-header{border-block-end-color:var(--color-primary, #bfdbfe)}.popover-info .popover-title::before{content:"ℹ ";color:var(--color-primary-hover, #2563eb)}.popover-arrow{position:absolute;width:var(--ui-popover-arrow-size, 10px);height:var(--ui-popover-arrow-size, 10px);background:var(--popover-bg, var(--bg-primary, #ffffff));border:1px solid var(--popover-border, var(--border-default, #e5e7eb));transform:rotate(45deg);pointer-events:none;box-sizing:border-box;z-index:1;}.popover-top .popover-arrow,.popover-top-start .popover-arrow,.popover-top-end .popover-arrow{border-top:none;border-left:none;}.popover-bottom .popover-arrow,.popover-bottom-start .popover-arrow,.popover-bottom-end .popover-arrow{border-right:none;border-bottom:none;}.popover-left .popover-arrow,.popover-left-start .popover-arrow,.popover-left-end .popover-arrow{border-left:none;border-bottom:none;}.popover-right .popover-arrow,.popover-right-start .popover-arrow,.popover-right-end .popover-arrow{border-top:none;border-right:none;}.popover-anim-scale{transform:scale(0.92);transform-origin:center top}.popover-anim-scale.popover-bottom,.popover-anim-scale.popover-bottom-start,.popover-anim-scale.popover-bottom-end{transform-origin:center bottom}.popover-anim-scale.popover-left,.popover-anim-scale.popover-left-start,.popover-anim-scale.popover-left-end{transform-origin:right center}.popover-anim-scale.popover-right,.popover-anim-scale.popover-right-start,.popover-anim-scale.popover-right-end{transform-origin:left center}.popover-anim-scale.popover-visible{transform:scale(1)}.popover-anim-slide.popover-top,.popover-anim-slide.popover-top-start,.popover-anim-slide.popover-top-end{transform:translateY(8px)}.popover-anim-slide.popover-bottom,.popover-anim-slide.popover-bottom-start,.popover-anim-slide.popover-bottom-end{transform:translateY(-8px)}.popover-anim-slide.popover-left,.popover-anim-slide.popover-left-start,.popover-anim-slide.popover-left-end{transform:translateX(8px)}.popover-anim-slide.popover-right,.popover-anim-slide.popover-right-start,.popover-anim-slide.popover-right-end{transform:translateX(-8px)}.popover-anim-slide.popover-visible{transform:translate(0, 0)}.popover-skeleton .popover-body{display:flex;flex-direction:column;gap:10px;padding:16px}.popover-skeleton .popover-body::before,.popover-skeleton .popover-body::after{content:"";display:block;height:12px;border-radius:6px;background:linear-gradient(90deg, var(--bg-primary, #e5e7eb) 25%, var(--bg-secondary, #f3f4f6) 50%, var(--bg-primary, #e5e7eb) 75%);background-size:200% 100%;animation:skeletonShimmer 1.4s infinite}.popover-skeleton .popover-body::after{width:65%}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.popover{transition:none;transform:none !important;opacity:1 !important;display:none}.popover-visible{display:block}}`;
|
|
9
|
-
|
|
10
|
-
const Popover = class {
|
|
11
|
-
constructor(hostRef) {
|
|
12
|
-
index.registerInstance(this, hostRef);
|
|
13
|
-
this.uiBeforeOpen = index.createEvent(this, "uiBeforeOpen");
|
|
14
|
-
this.uiOpen = index.createEvent(this, "uiOpen");
|
|
15
|
-
this.uiBeforeClose = index.createEvent(this, "uiBeforeClose");
|
|
16
|
-
this.uiClose = index.createEvent(this, "uiClose");
|
|
17
|
-
this.uiToggle = index.createEvent(this, "uiToggle");
|
|
18
|
-
}
|
|
19
|
-
get element() { return index.getElement(this); }
|
|
20
|
-
/** Popover heading text */
|
|
21
|
-
heading = '';
|
|
22
|
-
/**
|
|
23
|
-
* The target element to anchor the popover to.
|
|
24
|
-
* Can be a CSS selector (string) or a direct HTMLElement reference.
|
|
25
|
-
* If not provided, it will use the element in the 'trigger' slot or its first child.
|
|
26
|
-
*/
|
|
27
|
-
target;
|
|
28
|
-
/** Popover content (HTML string). Use this for simple text or if you can't use the 'content' slot. */
|
|
29
|
-
content = '';
|
|
30
|
-
/** Controlled open state. */
|
|
31
|
-
open = false;
|
|
32
|
-
/** Disabled state. If true, popover will not show. */
|
|
33
|
-
disabled = false;
|
|
34
|
-
/**
|
|
35
|
-
* Trigger type: 'click' | 'hover' | 'focus' | 'manual'
|
|
36
|
-
* 'manual' = only show/hide via method calls
|
|
37
|
-
*/
|
|
38
|
-
trigger = 'click';
|
|
39
|
-
/** Placement of popover */
|
|
40
|
-
placement = 'top';
|
|
41
|
-
/** Show arrow */
|
|
42
|
-
showArrow = true;
|
|
43
|
-
/** Popover width */
|
|
44
|
-
width = '280px';
|
|
45
|
-
/** Animation type */
|
|
46
|
-
animation = 'scale';
|
|
47
|
-
/** Show close button */
|
|
48
|
-
showCloseButton = false;
|
|
49
|
-
/** Show backdrop */
|
|
50
|
-
backdrop = false;
|
|
51
|
-
/**
|
|
52
|
-
* Visual variant.
|
|
53
|
-
* 'light' | 'dark' | 'success' | 'warning' | 'error' | 'info'
|
|
54
|
-
*/
|
|
55
|
-
variant = 'light';
|
|
56
|
-
/**
|
|
57
|
-
* ARIA role for the popover panel.
|
|
58
|
-
* Use 'tooltip' for non-interactive hover hints, 'menu' for menus, 'dialog' for rich content.
|
|
59
|
-
*/
|
|
60
|
-
popoverRole = 'dialog';
|
|
61
|
-
/**
|
|
62
|
-
* Delay in ms before showing on hover (0 = immediate)
|
|
63
|
-
*/
|
|
64
|
-
showDelay = 0;
|
|
65
|
-
/**
|
|
66
|
-
* Delay in ms before hiding on hover
|
|
67
|
-
*/
|
|
68
|
-
hideDelay = 200;
|
|
69
|
-
/**
|
|
70
|
-
* Close popover when window is scrolled
|
|
71
|
-
*/
|
|
72
|
-
closeOnScroll = false;
|
|
73
|
-
/**
|
|
74
|
-
* Allow Escape key to close the popover (default: true)
|
|
75
|
-
*/
|
|
76
|
-
closeOnEsc = true;
|
|
77
|
-
/**
|
|
78
|
-
* Maximum height of the popover body. If content exceeds this, it scrolls.
|
|
79
|
-
*/
|
|
80
|
-
maxHeight = 'none';
|
|
81
|
-
/**
|
|
82
|
-
* When hover trigger is used, allow cursor to move into the popover without closing it.
|
|
83
|
-
* Set to false for pure tooltip behaviour.
|
|
84
|
-
*/
|
|
85
|
-
interactive = true;
|
|
86
|
-
/** Loading state */
|
|
87
|
-
loading = false;
|
|
88
|
-
/** Skeleton state */
|
|
89
|
-
skeleton = false;
|
|
90
|
-
/** Distance between popover and trigger (in pixels) */
|
|
91
|
-
offset = 12;
|
|
92
|
-
/** Size of the arrow in pixels */
|
|
93
|
-
arrowSize = 10;
|
|
94
|
-
/** Close popover when clicking outside */
|
|
95
|
-
closeOnOutsideClick = true;
|
|
96
|
-
/** Close popover when focus leaves it */
|
|
97
|
-
closeOnBlur = true;
|
|
98
|
-
/** Match the width of the trigger element */
|
|
99
|
-
matchTriggerWidth = false;
|
|
100
|
-
/** Enable auto-flipping when hitting screen boundaries */
|
|
101
|
-
flip = true;
|
|
102
|
-
/** Enable auto-shifting (clamping) to stay inside viewport */
|
|
103
|
-
shift = true;
|
|
104
|
-
/** Boundary element for collision detection */
|
|
105
|
-
boundary = 'viewport';
|
|
106
|
-
/** Padding from boundary edges */
|
|
107
|
-
padding = 24;
|
|
108
|
-
/** Fallback placements for flipping (e.g. "top, bottom") */
|
|
109
|
-
fallbackPlacements;
|
|
110
|
-
/** Automatically choose the best placement based on available space */
|
|
111
|
-
autoPlacement = false;
|
|
112
|
-
/** Positioning strategy */
|
|
113
|
-
strategy = 'fixed';
|
|
114
|
-
/** Optional z-index for the popover panel */
|
|
115
|
-
zIndex = 21000;
|
|
116
|
-
/** Emitted before popover shows. Call event.preventDefault() to cancel. */
|
|
117
|
-
uiBeforeOpen;
|
|
118
|
-
/** Emitted when popover shows */
|
|
119
|
-
uiOpen;
|
|
120
|
-
/** Emitted before popover hides. Call event.preventDefault() to cancel. */
|
|
121
|
-
uiBeforeClose;
|
|
122
|
-
/** Emitted when popover hides */
|
|
123
|
-
uiClose;
|
|
124
|
-
/** Emitted when toggled */
|
|
125
|
-
uiToggle;
|
|
126
|
-
currentPlacement = 'top';
|
|
127
|
-
popoverStyles = {};
|
|
128
|
-
arrowStyles = {};
|
|
129
|
-
targetElement;
|
|
130
|
-
popoverContent;
|
|
131
|
-
arrowElement;
|
|
132
|
-
hideTimeout;
|
|
133
|
-
showTimeout;
|
|
134
|
-
focusTrap;
|
|
135
|
-
cleanupAutoUpdate;
|
|
136
|
-
resizeObserver;
|
|
137
|
-
latestSizeData = { width: '', maxWidth: '', maxHeight: '' };
|
|
138
|
-
updateRetries = 0;
|
|
139
|
-
componentWillLoad() {
|
|
140
|
-
this.currentPlacement = this.placement;
|
|
141
|
-
}
|
|
142
|
-
componentDidLoad() {
|
|
143
|
-
this.setupTrigger();
|
|
144
|
-
this.popoverContent = this.element.shadowRoot?.querySelector('.popover');
|
|
145
|
-
this.arrowElement = this.element.shadowRoot?.querySelector('.popover-arrow');
|
|
146
|
-
if (this.popoverContent) {
|
|
147
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
148
|
-
if (this.open)
|
|
149
|
-
this.updatePosition();
|
|
150
|
-
});
|
|
151
|
-
this.resizeObserver.observe(this.popoverContent);
|
|
152
|
-
}
|
|
153
|
-
window.addEventListener('keydown', this.handleGlobalKeyDown);
|
|
154
|
-
}
|
|
155
|
-
componentDidUpdate() {
|
|
156
|
-
if (this.open && !this.cleanupAutoUpdate) {
|
|
157
|
-
this.startAutoUpdate();
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
disconnectedCallback() {
|
|
161
|
-
this.cleanup();
|
|
162
|
-
if (this.cleanupAutoUpdate) {
|
|
163
|
-
this.cleanupAutoUpdate();
|
|
164
|
-
}
|
|
165
|
-
window.removeEventListener('keydown', this.handleGlobalKeyDown);
|
|
166
|
-
if (this.focusTrap) {
|
|
167
|
-
this.focusTrap.deactivate();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
visibilityChanged(newValue) {
|
|
171
|
-
if (newValue) {
|
|
172
|
-
if (this.disabled) {
|
|
173
|
-
this.open = false;
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
this.handleOpen();
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
this.handleClose();
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
handleTriggerConfigChange() {
|
|
183
|
-
this.cleanup();
|
|
184
|
-
this.setupTrigger();
|
|
185
|
-
}
|
|
186
|
-
handleOpen() {
|
|
187
|
-
if (!this.targetElement) {
|
|
188
|
-
this.setupTrigger();
|
|
189
|
-
}
|
|
190
|
-
this.popoverContent = this.element.shadowRoot?.querySelector('.popover');
|
|
191
|
-
this.arrowElement = this.element.shadowRoot?.querySelector('.popover-arrow');
|
|
192
|
-
if (this.popoverContent && !this.resizeObserver) {
|
|
193
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
194
|
-
if (this.open)
|
|
195
|
-
this.updatePosition();
|
|
196
|
-
});
|
|
197
|
-
this.resizeObserver.observe(this.popoverContent);
|
|
198
|
-
}
|
|
199
|
-
requestAnimationFrame(() => {
|
|
200
|
-
this.startAutoUpdate();
|
|
201
|
-
this.updateAriaAttributes(true);
|
|
202
|
-
// Add outside click listener only when open
|
|
203
|
-
if (this.closeOnOutsideClick) {
|
|
204
|
-
// Use a sm timeout to avoid capturing the same click that opened it
|
|
205
|
-
setTimeout(() => {
|
|
206
|
-
document.addEventListener('click', this.handleOutsideClick);
|
|
207
|
-
}, 10);
|
|
208
|
-
}
|
|
209
|
-
if (this.backdrop || this.showCloseButton || this.trigger === 'click') {
|
|
210
|
-
requestAnimationFrame(() => {
|
|
211
|
-
this.initFocusTrap();
|
|
212
|
-
if (this.focusTrap)
|
|
213
|
-
this.focusTrap.activate();
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
this.uiOpen.emit();
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
handleClose() {
|
|
220
|
-
if (this.cleanupAutoUpdate) {
|
|
221
|
-
this.cleanupAutoUpdate();
|
|
222
|
-
this.cleanupAutoUpdate = undefined;
|
|
223
|
-
}
|
|
224
|
-
document.removeEventListener('click', this.handleOutsideClick);
|
|
225
|
-
if (this.focusTrap) {
|
|
226
|
-
this.focusTrap.deactivate();
|
|
227
|
-
}
|
|
228
|
-
this.updateAriaAttributes(false);
|
|
229
|
-
this.uiClose.emit();
|
|
230
|
-
}
|
|
231
|
-
updateAriaAttributes(expanded) {
|
|
232
|
-
if (this.targetElement) {
|
|
233
|
-
this.targetElement.setAttribute('aria-expanded', expanded.toString());
|
|
234
|
-
this.targetElement.setAttribute('aria-haspopup', this.popoverRole === 'menu' ? 'menu' : 'true');
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
initFocusTrap() {
|
|
238
|
-
if (!this.popoverContent)
|
|
239
|
-
return;
|
|
240
|
-
if (!this.focusTrap) {
|
|
241
|
-
this.focusTrap = new focusTrap.FocusTrap(this.popoverContent, {
|
|
242
|
-
initialFocus: this.popoverContent,
|
|
243
|
-
returnFocus: this.targetElement,
|
|
244
|
-
escapeDeactivates: true,
|
|
245
|
-
clickOutsideDeactivates: !this.backdrop
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
setupTrigger() {
|
|
250
|
-
// 1. Check for external target via selector or reference
|
|
251
|
-
if (this.target) {
|
|
252
|
-
if (typeof this.target === 'string') {
|
|
253
|
-
this.targetElement = document.querySelector(this.target);
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
this.targetElement = this.target;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
// 2. Fallback to slots if no external target
|
|
260
|
-
if (!this.targetElement) {
|
|
261
|
-
const triggerSlot = this.element.shadowRoot?.querySelector('slot[name="trigger"]');
|
|
262
|
-
const defaultSlot = this.element.shadowRoot?.querySelector('slot:not([name])');
|
|
263
|
-
const getAssignedElement = (slot) => {
|
|
264
|
-
const elements = slot?.assignedElements();
|
|
265
|
-
return elements?.length > 0 ? elements[0] : null;
|
|
266
|
-
};
|
|
267
|
-
this.targetElement = getAssignedElement(triggerSlot) || getAssignedElement(defaultSlot);
|
|
268
|
-
}
|
|
269
|
-
// 3. Last fallback: the component itself
|
|
270
|
-
if (!this.targetElement) {
|
|
271
|
-
this.targetElement = this.element;
|
|
272
|
-
}
|
|
273
|
-
if (this.targetElement && this.trigger !== 'manual') {
|
|
274
|
-
// Accessibility augmentation for non-buttons
|
|
275
|
-
if (!['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(this.targetElement.tagName)) {
|
|
276
|
-
if (!this.targetElement.hasAttribute('role'))
|
|
277
|
-
this.targetElement.setAttribute('role', 'button');
|
|
278
|
-
if (!this.targetElement.hasAttribute('tabindex'))
|
|
279
|
-
this.targetElement.setAttribute('tabindex', '0');
|
|
280
|
-
}
|
|
281
|
-
if (this.trigger === 'click') {
|
|
282
|
-
this.targetElement.addEventListener('click', this.handleTriggerClick);
|
|
283
|
-
this.targetElement.addEventListener('keydown', this.handleTargetKeyDown);
|
|
284
|
-
}
|
|
285
|
-
else if (this.trigger === 'hover') {
|
|
286
|
-
this.targetElement.addEventListener('mouseenter', this.handleMouseEnter);
|
|
287
|
-
this.targetElement.addEventListener('mouseleave', this.handleMouseLeave);
|
|
288
|
-
this.targetElement.addEventListener('focusin', this.handleFocusIn);
|
|
289
|
-
this.targetElement.addEventListener('focusout', this.handleFocusOut);
|
|
290
|
-
}
|
|
291
|
-
else if (this.trigger === 'focus') {
|
|
292
|
-
this.targetElement.addEventListener('focusin', this.handleFocusIn);
|
|
293
|
-
this.targetElement.addEventListener('focusout', this.handleFocusOut);
|
|
294
|
-
}
|
|
295
|
-
this.updateAriaAttributes(this.open);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
handleTargetKeyDown = (e) => {
|
|
299
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
300
|
-
e.preventDefault();
|
|
301
|
-
this.toggle();
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
cleanup() {
|
|
305
|
-
if (!this.targetElement)
|
|
306
|
-
return;
|
|
307
|
-
this.targetElement.removeEventListener('click', this.handleTriggerClick);
|
|
308
|
-
this.targetElement.removeEventListener('keydown', this.handleTargetKeyDown);
|
|
309
|
-
this.targetElement.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
310
|
-
this.targetElement.removeEventListener('mouseleave', this.handleMouseLeave);
|
|
311
|
-
this.targetElement.removeEventListener('focusin', this.handleFocusIn);
|
|
312
|
-
this.targetElement.removeEventListener('focusout', this.handleFocusOut);
|
|
313
|
-
document.removeEventListener('click', this.handleOutsideClick);
|
|
314
|
-
if (this.resizeObserver) {
|
|
315
|
-
this.resizeObserver.disconnect();
|
|
316
|
-
this.resizeObserver = undefined;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
handleTriggerClick = (e) => {
|
|
320
|
-
e.stopPropagation();
|
|
321
|
-
if (this.trigger === 'click') {
|
|
322
|
-
this.toggle();
|
|
323
|
-
}
|
|
324
|
-
};
|
|
325
|
-
handleFocusIn = () => {
|
|
326
|
-
this.show();
|
|
327
|
-
};
|
|
328
|
-
handleFocusOut = () => {
|
|
329
|
-
this.hide();
|
|
330
|
-
};
|
|
331
|
-
handleOutsideClick = (event) => {
|
|
332
|
-
if (this.targetElement?.contains(event.target))
|
|
333
|
-
return;
|
|
334
|
-
if (this.popoverContent?.contains(event.target))
|
|
335
|
-
return;
|
|
336
|
-
if (this.open)
|
|
337
|
-
this.hide();
|
|
338
|
-
};
|
|
339
|
-
handleMouseEnter = () => {
|
|
340
|
-
if (this.disabled)
|
|
341
|
-
return;
|
|
342
|
-
clearTimeout(this.hideTimeout);
|
|
343
|
-
if (this.showDelay > 0) {
|
|
344
|
-
this.showTimeout = setTimeout(() => this.show(), this.showDelay);
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
this.show();
|
|
348
|
-
}
|
|
349
|
-
};
|
|
350
|
-
handleMouseLeave = () => {
|
|
351
|
-
clearTimeout(this.showTimeout);
|
|
352
|
-
this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);
|
|
353
|
-
};
|
|
354
|
-
handlePopoverMouseEnter = () => {
|
|
355
|
-
if (this.trigger === 'hover' && this.interactive) {
|
|
356
|
-
clearTimeout(this.hideTimeout);
|
|
357
|
-
clearTimeout(this.showTimeout);
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
handlePopoverMouseLeave = () => {
|
|
361
|
-
if (this.trigger === 'hover' && this.interactive) {
|
|
362
|
-
this.handleMouseLeave();
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
handleGlobalKeyDown = (e) => {
|
|
366
|
-
if (this.open && this.closeOnEsc && e.key === 'Escape') {
|
|
367
|
-
e.stopPropagation();
|
|
368
|
-
this.hide();
|
|
369
|
-
}
|
|
370
|
-
};
|
|
371
|
-
startAutoUpdate() {
|
|
372
|
-
if (this.cleanupAutoUpdate)
|
|
373
|
-
this.cleanupAutoUpdate();
|
|
374
|
-
// The panel is conditionally rendered ({this.open && ...}).
|
|
375
|
-
this.popoverContent = this.element.shadowRoot?.querySelector('.popover');
|
|
376
|
-
if (this.showArrow) {
|
|
377
|
-
this.arrowElement = this.element.shadowRoot?.querySelector('.popover-arrow');
|
|
378
|
-
}
|
|
379
|
-
if (!this.targetElement || !this.popoverContent)
|
|
380
|
-
return;
|
|
381
|
-
this.cleanupAutoUpdate = dom.autoUpdate(this.targetElement, this.popoverContent, () => this.updatePosition(), { animationFrame: true });
|
|
382
|
-
}
|
|
383
|
-
async updatePosition() {
|
|
384
|
-
// Always re-query the panel and arrow in case they were null during initial mount
|
|
385
|
-
if (!this.popoverContent) {
|
|
386
|
-
this.popoverContent = this.element.shadowRoot?.querySelector('.popover');
|
|
387
|
-
}
|
|
388
|
-
if (this.showArrow && !this.arrowElement) {
|
|
389
|
-
this.arrowElement = this.element.shadowRoot?.querySelector('.popover-arrow');
|
|
390
|
-
}
|
|
391
|
-
if (!this.open || !this.popoverContent || !this.targetElement) {
|
|
392
|
-
this.updateRetries = 0;
|
|
393
|
-
return;
|
|
394
|
-
}
|
|
395
|
-
// Double-check dimensions - if 0, we might need a retry (like Tooltip component does)
|
|
396
|
-
if (this.popoverContent.offsetWidth === 0 && this.updateRetries < 5) {
|
|
397
|
-
this.updateRetries++;
|
|
398
|
-
requestAnimationFrame(() => this.updatePosition());
|
|
399
|
-
return;
|
|
400
|
-
}
|
|
401
|
-
this.updateRetries = 0;
|
|
402
|
-
const { left, top, placement, availableHeight, availableWidth, arrowX, arrowY } = dom.calculateUniversalPlacement(this.targetElement, {
|
|
403
|
-
menuWidth: this.popoverContent.offsetWidth,
|
|
404
|
-
menuHeight: this.popoverContent.offsetHeight,
|
|
405
|
-
gap: this.offset,
|
|
406
|
-
placement: this.autoPlacement ? 'auto' : this.placement.split('-')[0],
|
|
407
|
-
align: this.placement.includes('start') ? 'start' : (this.placement.includes('end') ? 'end' : 'center'),
|
|
408
|
-
padding: this.padding
|
|
409
|
-
});
|
|
410
|
-
this.currentPlacement = placement;
|
|
411
|
-
// Constrain size based on available space
|
|
412
|
-
this.latestSizeData = {
|
|
413
|
-
width: this.width,
|
|
414
|
-
maxWidth: `${Math.min(window.innerWidth - (this.padding * 2), availableWidth)}px`,
|
|
415
|
-
maxHeight: this.maxHeight !== 'none' ? this.maxHeight : `${availableHeight}px`,
|
|
416
|
-
};
|
|
417
|
-
const sizeData = this.latestSizeData;
|
|
418
|
-
this.popoverStyles = {
|
|
419
|
-
position: this.strategy,
|
|
420
|
-
left: `${left}px`,
|
|
421
|
-
top: `${top}px`,
|
|
422
|
-
width: this.matchTriggerWidth ? `${this.targetElement.offsetWidth}px` : (sizeData.width || this.width),
|
|
423
|
-
minWidth: '160px',
|
|
424
|
-
maxWidth: sizeData.maxWidth,
|
|
425
|
-
maxHeight: sizeData.maxHeight,
|
|
426
|
-
visibility: 'visible',
|
|
427
|
-
opacity: '1'
|
|
428
|
-
};
|
|
429
|
-
if (this.showArrow && this.arrowElement) {
|
|
430
|
-
const side = placement;
|
|
431
|
-
const staticSide = { top: 'bottom', right: 'left', bottom: 'top', left: 'right' }[side];
|
|
432
|
-
const halfSize = Math.round(this.arrowSize / 2);
|
|
433
|
-
this.arrowStyles = {
|
|
434
|
-
top: '',
|
|
435
|
-
right: '',
|
|
436
|
-
bottom: '',
|
|
437
|
-
left: '',
|
|
438
|
-
...(side === 'top' || side === 'bottom' ?
|
|
439
|
-
{ left: `${arrowX}px`, transform: 'translateX(-50%) rotate(45deg)' } :
|
|
440
|
-
{ top: `${arrowY}px`, transform: 'translateY(-50%) rotate(45deg)' }),
|
|
441
|
-
[staticSide]: `-${halfSize}px`,
|
|
442
|
-
};
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
async reposition() {
|
|
446
|
-
return this.updatePosition();
|
|
447
|
-
}
|
|
448
|
-
async computePlacement() {
|
|
449
|
-
return this.currentPlacement;
|
|
450
|
-
}
|
|
451
|
-
async show() {
|
|
452
|
-
if (this.disabled)
|
|
453
|
-
return;
|
|
454
|
-
if (this.uiBeforeOpen) {
|
|
455
|
-
const event = this.uiBeforeOpen.emit();
|
|
456
|
-
if (event && event.defaultPrevented)
|
|
457
|
-
return;
|
|
458
|
-
}
|
|
459
|
-
this.open = true;
|
|
460
|
-
}
|
|
461
|
-
async hide() {
|
|
462
|
-
if (this.uiBeforeClose) {
|
|
463
|
-
const event = this.uiBeforeClose.emit();
|
|
464
|
-
if (event && event.defaultPrevented)
|
|
465
|
-
return;
|
|
466
|
-
}
|
|
467
|
-
this.open = false;
|
|
468
|
-
}
|
|
469
|
-
async toggle() {
|
|
470
|
-
if (this.disabled)
|
|
471
|
-
return;
|
|
472
|
-
if (this.open) {
|
|
473
|
-
await this.hide();
|
|
474
|
-
}
|
|
475
|
-
else {
|
|
476
|
-
await this.show();
|
|
477
|
-
}
|
|
478
|
-
if (this.uiToggle)
|
|
479
|
-
this.uiToggle.emit({ open: this.open });
|
|
480
|
-
}
|
|
481
|
-
getPopoverStyle() {
|
|
482
|
-
return {
|
|
483
|
-
'--ui-popover-arrow-size': `${this.arrowSize}px`,
|
|
484
|
-
zIndex: this.zIndex ? `${this.zIndex}` : undefined,
|
|
485
|
-
};
|
|
486
|
-
}
|
|
487
|
-
render() {
|
|
488
|
-
const popoverClasses = {
|
|
489
|
-
'popover': true,
|
|
490
|
-
'popover-visible': this.open,
|
|
491
|
-
'popover-loading': this.loading,
|
|
492
|
-
'popover-skeleton': this.skeleton,
|
|
493
|
-
[`popover-${this.currentPlacement}`]: true,
|
|
494
|
-
[`popover-${this.variant}`]: true,
|
|
495
|
-
[`popover-anim-${this.animation}`]: true,
|
|
496
|
-
};
|
|
497
|
-
const finalPopoverStyle = {
|
|
498
|
-
...this.getPopoverStyle(),
|
|
499
|
-
...this.popoverStyles
|
|
500
|
-
};
|
|
501
|
-
return (index.h("div", { key: '0f7778a7317e7842be132860b1dc61b611fa247d', class: "popover-wrapper" }, index.h("div", { key: '2df4f3624d7335dbb9149b169778dfe288c4ff57', class: "popover-trigger" }, index.h("slot", { key: 'e0058a8f0c58e229df36e2ef47a402e4cf9e81dd', name: "trigger" }), index.h("slot", { key: '49c41549a41f352f0b94e6ae4dbde48435742ebc' })), this.backdrop && this.open && (index.h("div", { key: '51851882bc67bd5a1a88d7a9f8bd44df99e3dee6', class: "popover-backdrop", onClick: () => this.hide() })), this.open && (index.h("div", { key: 'bd82cf9d153a7b228ac7696e407bb8a0d36ae942', class: popoverClasses, style: finalPopoverStyle, onMouseEnter: () => this.handlePopoverMouseEnter(), onMouseLeave: () => this.handlePopoverMouseLeave(), role: this.popoverRole, "aria-modal": this.backdrop ? 'true' : 'false', "aria-label": this.heading || undefined }, this.showArrow && index.h("div", { key: '545cb01f513e171e3d79a664ea57c5cbee6b5d07', class: "popover-arrow", style: this.arrowStyles }), index.h("div", { key: 'bc8a9f93d49c2d1c201203728e731ef5a2850602', class: "popover-inner" }, (this.heading || this.showCloseButton) && (index.h("div", { key: '9dee577314cc88f1bad7372006e593f34fa1a3fc', class: "popover-header" }, this.heading && index.h("div", { key: '7b0b3be1e8f6b0949969172eb74702034c661f6a', class: "popover-title" }, this.heading), this.showCloseButton && (index.h("ui-button", { key: 'd6dcc9b87b330797f6e29bf711df0504b386f5cb', variant: "ghost", size: "xxs", iconOnly: true, class: "popover-close", onClick: () => this.hide(), ariaLabel: "Close", icon: "x", iconLibrary: "lucide", iconSize: "14px" })))), index.h("div", { key: '3639ca2119db19c98ce70fd11afe8ba4451cad2c', class: "popover-body", style: { maxHeight: this.maxHeight, overflowY: this.maxHeight !== 'none' ? 'auto' : undefined } }, index.h("slot", { key: '43b5f442af61f83b9342a8a704a625155aabb0d3', name: "content" }), this.content && index.h("div", { key: '1bd964f0709f66c335bfaaafe1bbe268554be279', innerHTML: security.sanitizeHTML(this.content) })), index.h("slot", { key: 'da80a35ef26a42ab2830e84ac81cdca2aef348f2', name: "footer" }))))));
|
|
502
|
-
}
|
|
503
|
-
static get watchers() { return {
|
|
504
|
-
"open": [{
|
|
505
|
-
"visibilityChanged": 0
|
|
506
|
-
}],
|
|
507
|
-
"target": [{
|
|
508
|
-
"handleTriggerConfigChange": 0
|
|
509
|
-
}],
|
|
510
|
-
"trigger": [{
|
|
511
|
-
"handleTriggerConfigChange": 0
|
|
512
|
-
}]
|
|
513
|
-
}; }
|
|
514
|
-
};
|
|
515
|
-
Popover.style = popoverCss();
|
|
516
|
-
|
|
517
|
-
exports.ui_popover = Popover;
|