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
|
@@ -7,43 +7,53 @@ export function initProgressDemo() {
|
|
|
7
7
|
<h2>Progress Indicators</h2>
|
|
8
8
|
<div style="display: flex; gap: 8px;">
|
|
9
9
|
<span style="padding: 4px 8px; background: #e0f2fe; color: #075985; border-radius: 4px; font-size: 11px; font-weight: 600;">NEW</span>
|
|
10
|
-
<span style="padding: 4px 8px; background:
|
|
10
|
+
<span style="padding: 4px 8px; background:var(--accent-green-soft,#dcfce7); color: var(--accent-green,#166534); border-radius: 4px; font-size: 11px; font-weight: 600;">PREMIUM</span>
|
|
11
11
|
</div>
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
-
<p style="color:
|
|
14
|
+
<p style="color:var(--text-secondary,#64748b); font-size: 15px; margin-bottom: 30px; line-height: 1.6;">
|
|
15
15
|
Dynamic progress indicators including line, circle, and dashboard types with support for steppers, multi-segmented bars, and premium animations.
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
18
|
<div class="demo-controls" style="margin: 20px 0; display: flex; gap: 10px; flex-wrap: wrap;">
|
|
19
|
-
<ui-button onclick="showProgressPlayground()" variant="outline">🎮 Playground</ui-button>
|
|
20
|
-
<ui-button onclick="
|
|
21
|
-
<ui-button onclick="
|
|
22
|
-
<ui-button onclick="
|
|
23
|
-
<ui-button onclick="
|
|
24
|
-
<ui-button onclick="
|
|
25
|
-
<ui-button onclick="
|
|
26
|
-
<ui-button onclick="
|
|
19
|
+
<ui-button onclick="showProgressPlayground()" data-demo="playground" variant="outline">🎮 Playground</ui-button>
|
|
20
|
+
<ui-button onclick="showProgressLifecycles()" data-demo="lifecycles" variant="outline">🔄 Lifecycle Statuses</ui-button>
|
|
21
|
+
<ui-button onclick="showProgressScanning()" data-demo="scanning" variant="outline">🔍 Device Scanner</ui-button>
|
|
22
|
+
<ui-button onclick="showProgressBasics()" data-demo="basics" variant="outline">Line Progress</ui-button>
|
|
23
|
+
<ui-button onclick="showProgressCircular()" data-demo="circular" variant="outline">Circular & Dashboard</ui-button>
|
|
24
|
+
<ui-button onclick="showProgressPremium()" data-demo="premium" variant="outline">✨ Premium Effects</ui-button>
|
|
25
|
+
<ui-button onclick="showProgressAdvanced()" data-demo="advanced" variant="outline">Advanced Features</ui-button>
|
|
26
|
+
<ui-button onclick="showProgressIndustrial()" data-demo="industrial" variant="outline">🛡️ Industrial Monitoring</ui-button>
|
|
27
|
+
<ui-button onclick="showProgressInteractive()" data-demo="interactive" variant="outline">🕹️ Control Suite</ui-button>
|
|
28
|
+
<ui-button onclick="showProgressVertical()" data-demo="vertical" variant="outline">↕️ Vertical Racks</ui-button>
|
|
29
|
+
<ui-button onclick="showProgressStatusBar()" data-demo="statusbar" variant="outline">🏷️ Status Bar</ui-button>
|
|
27
30
|
</div>
|
|
28
31
|
|
|
29
|
-
<div id="progressDemoContainer" style="margin-top: 40px; min-height: 400px; padding: 24px; background:
|
|
32
|
+
<div id="progressDemoContainer" style="margin-top: 40px; min-height: 400px; padding: 24px; background:var(--bg-secondary,#f8fafc); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0);"></div>
|
|
30
33
|
`;
|
|
31
34
|
|
|
35
|
+
const updateProgressActiveBtn = demoName => {
|
|
36
|
+
section.querySelectorAll('.demo-controls ui-button').forEach(btn => {
|
|
37
|
+
btn.selected = btn.getAttribute('data-demo') === demoName;
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
32
41
|
window.showProgressPlayground = function () {
|
|
42
|
+
updateProgressActiveBtn('playground');
|
|
33
43
|
const container = document.getElementById('progressDemoContainer');
|
|
34
44
|
container.innerHTML = `
|
|
35
45
|
<div class="demo-block">
|
|
36
46
|
<h3 style="margin-bottom: 20px;">🎮 Progress Playground</h3>
|
|
37
47
|
<div style="display: grid; grid-template-columns: 320px 1fr; gap: 30px;">
|
|
38
48
|
<!-- Controls -->
|
|
39
|
-
<div style="background:
|
|
49
|
+
<div style="background:var(--bg-primary,white); padding: 24px; border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); display: flex; flex-direction: column; gap: 16px;">
|
|
40
50
|
<label style="display: flex; flex-direction: column; gap: 4px;">
|
|
41
|
-
<span style="font-size: 12px; font-weight: 600; color:
|
|
51
|
+
<span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Percent (0-100)</span>
|
|
42
52
|
<ui-input type="range" id="progPercent" min="0" max="100" value="45" oninput="updateProgressPlayground()">
|
|
43
53
|
</label>
|
|
44
54
|
|
|
45
55
|
<label style="display: flex; flex-direction: column; gap: 4px;">
|
|
46
|
-
<span style="font-size: 12px; font-weight: 600; color:
|
|
56
|
+
<span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Type</span>
|
|
47
57
|
<ui-dropdown id="progType" onchange="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
|
|
48
58
|
<option value="line">Line (Default)</option>
|
|
49
59
|
<option value="circle">Circle</option>
|
|
@@ -53,7 +63,7 @@ export function initProgressDemo() {
|
|
|
53
63
|
</label>
|
|
54
64
|
|
|
55
65
|
<label style="display: flex; flex-direction: column; gap: 4px;">
|
|
56
|
-
<span style="font-size: 12px; font-weight: 600; color:
|
|
66
|
+
<span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Status</span>
|
|
57
67
|
<ui-dropdown id="progStatus" onchange="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
|
|
58
68
|
<option value="default">Default</option>
|
|
59
69
|
<option value="active">Active (Wavy)</option>
|
|
@@ -61,16 +71,20 @@ export function initProgressDemo() {
|
|
|
61
71
|
<option value="exception">Exception (Red)</option>
|
|
62
72
|
<option value="warning">Warning (Yellow)</option>
|
|
63
73
|
<option value="danger">Danger (Vibrating)</option>
|
|
74
|
+
<option value="empty">Empty</option>
|
|
75
|
+
<option value="running">Running (Spinner)</option>
|
|
76
|
+
<option value="completed">Completed (Check)</option>
|
|
77
|
+
<option value="interrupted">Interrupted (Alert)</option>
|
|
64
78
|
</ui-dropdown>
|
|
65
79
|
</label>
|
|
66
80
|
|
|
67
81
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px;">
|
|
68
82
|
<label style="display: flex; flex-direction: column; gap: 4px;">
|
|
69
|
-
<span style="font-size: 12px; font-weight: 600; color:
|
|
83
|
+
<span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Stroke Width</span>
|
|
70
84
|
<ui-input type="number" id="progStrokeWidth" value="10" oninput="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
|
|
71
85
|
</label>
|
|
72
86
|
<label style="display: flex; flex-direction: column; gap: 4px;">
|
|
73
|
-
<span style="font-size: 12px; font-weight: 600; color:
|
|
87
|
+
<span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Decimal</span>
|
|
74
88
|
<ui-input type="number" id="progDecimal" value="0" min="0" max="2" oninput="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
|
|
75
89
|
</label>
|
|
76
90
|
</div>
|
|
@@ -83,14 +97,14 @@ export function initProgressDemo() {
|
|
|
83
97
|
</div>
|
|
84
98
|
|
|
85
99
|
<label style="display: flex; flex-direction: column; gap: 4px;">
|
|
86
|
-
<span style="font-size: 12px; font-weight: 600; color:
|
|
100
|
+
<span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Custom Data Label</span>
|
|
87
101
|
<ui-input type="text" id="progDataLabels" placeholder="e.g. 5.2 GB" onInputChange="updateProgressPlayground()"></ui-input>
|
|
88
102
|
</label>
|
|
89
103
|
</div>
|
|
90
104
|
|
|
91
105
|
<!-- Preview -->
|
|
92
106
|
<div style="display: flex; flex-direction: column; gap: 20px;">
|
|
93
|
-
<div id="progPreviewContainer" style="flex: 1; background:
|
|
107
|
+
<div id="progPreviewContainer" style="flex: 1; background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); display: flex; align-items: center; justify-content: center; min-height: 250px;">
|
|
94
108
|
<ui-progress percent="45"></ui-progress>
|
|
95
109
|
</div>
|
|
96
110
|
<div style="background: #1e293b; color: #e2e8f0; padding: 16px; border-radius: 8px; font-family: monospace; font-size: 13px; line-height: 1.5; white-space: pre-wrap;">
|
|
@@ -133,15 +147,154 @@ export function initProgressDemo() {
|
|
|
133
147
|
code.innerText = `<ui-progress ${props}></ui-progress>`;
|
|
134
148
|
};
|
|
135
149
|
|
|
150
|
+
window.showProgressLifecycles = function () {
|
|
151
|
+
updateProgressActiveBtn('lifecycles');
|
|
152
|
+
const container = document.getElementById('progressDemoContainer');
|
|
153
|
+
container.innerHTML = `
|
|
154
|
+
<div class="demo-block">
|
|
155
|
+
<h3 style="margin-bottom: 8px;">🔄 Lifecycle Status Monitoring</h3>
|
|
156
|
+
<p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 24px;">
|
|
157
|
+
Track system processes end-to-end using native status lifecycles: <code>empty</code>, <code>running</code>, <code>completed</code>, and <code>interrupted</code>.
|
|
158
|
+
</p>
|
|
159
|
+
|
|
160
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 40px;">
|
|
161
|
+
|
|
162
|
+
<!-- Empty State -->
|
|
163
|
+
<div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
|
|
164
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; color:var(--text-secondary,#64748b); display: flex; align-items: center; justify-content: space-between;">
|
|
165
|
+
<span>Empty State</span>
|
|
166
|
+
<span style="font-size: 10px; font-weight: bold; background:var(--bg-tertiary,#f1f5f9); color:var(--text-secondary,#64748b); padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Awaiting</span>
|
|
167
|
+
</h4>
|
|
168
|
+
<ui-progress percent="0" status="empty" stroke-width="12"></ui-progress>
|
|
169
|
+
<p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Task queued, awaiting resource allocation.</p>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<!-- Running State -->
|
|
173
|
+
<div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
|
|
174
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; color: #1890ff; display: flex; align-items: center; justify-content: space-between;">
|
|
175
|
+
<span>Running State</span>
|
|
176
|
+
<span style="font-size: 10px; font-weight: bold; background: #e0f2fe; color: #0369a1; padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Active</span>
|
|
177
|
+
</h4>
|
|
178
|
+
<ui-progress percent="45" status="running" stroke-width="12"></ui-progress>
|
|
179
|
+
<p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Actively processing records. Wave pulse enabled.</p>
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
<!-- Completed State -->
|
|
183
|
+
<div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
|
|
184
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; color: #52c41a; display: flex; align-items: center; justify-content: space-between;">
|
|
185
|
+
<span>Completed State</span>
|
|
186
|
+
<span style="font-size: 10px; font-weight: bold; background:var(--accent-green-soft,#dcfce7); color:var(--accent-green,#15803d); padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Success</span>
|
|
187
|
+
</h4>
|
|
188
|
+
<ui-progress percent="100" status="completed" stroke-width="12"></ui-progress>
|
|
189
|
+
<p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Operation finished successfully. Output generated.</p>
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
<!-- Interrupted State -->
|
|
193
|
+
<div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
|
|
194
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; color: #ff4d4f; display: flex; align-items: center; justify-content: space-between;">
|
|
195
|
+
<span>Interrupted State</span>
|
|
196
|
+
<span style="font-size: 10px; font-weight: bold; background:var(--accent-red-soft,#fef2f2); color:var(--accent-red,#b91c1c); padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Halted</span>
|
|
197
|
+
</h4>
|
|
198
|
+
<ui-progress percent="70" status="interrupted" stroke-width="12"></ui-progress>
|
|
199
|
+
<p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Network loss detected. Thread execution suspended.</p>
|
|
200
|
+
</div>
|
|
201
|
+
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<!-- Dynamic Process Lifecycle Simulator -->
|
|
205
|
+
<div style="background: var(--bg-primary, #ffffff); color: var(--text-primary, #0f172a); border: 1px solid var(--border-default, #e2e8f0); border-radius: 16px; padding: 32px; box-shadow: 0 10px 15px -3px rgba(15,23,42,0.08);">
|
|
206
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px;">
|
|
207
|
+
<h4 style="margin: 0; font-size: 16px; font-weight: 600; letter-spacing: 0.02em;">⚡ Operation Lifecycle Simulator</h4>
|
|
208
|
+
<span id="lifecycleStateText" style="font-size: 11px; font-weight: bold; background: var(--bg-tertiary, #f1f5f9); color: var(--text-secondary, #64748b); border: 1px solid var(--border-default, #cbd5e1); padding: 6px 14px; border-radius: 20px; letter-spacing: 0.05em; text-transform: uppercase;">QUEUED</span>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<div style="background: var(--bg-secondary, #f8fafc); border: 1px solid var(--border-default, #e2e8f0); border-radius: 12px; padding: 24px; margin-bottom: 24px;">
|
|
212
|
+
<ui-progress id="lifecycleProgress" percent="0" status="empty" stroke-width="16" decimal-precision="1"></ui-progress>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
216
|
+
<ui-button id="btnLifecycleInit" onclick="handleLifecycleAction('init')" variant="outline" style="--ui-button-border-color: var(--border-default, #cbd5e1); --ui-button-color: var(--text-primary, #0f172a);">🔌 Queue (Empty)</ui-button>
|
|
217
|
+
<ui-button id="btnLifecycleStart" onclick="handleLifecycleAction('start')" variant="outline" style="--ui-button-border-color: rgba(var(--color-primary-rgb, 24, 144, 255), 0.28); --ui-button-color: var(--color-primary, #1d4ed8);">🚀 Start (Running)</ui-button>
|
|
218
|
+
<ui-button id="btnLifecycleInterrupt" onclick="handleLifecycleAction('interrupt')" variant="outline" style="--ui-button-border-color: rgba(var(--color-danger-rgb, 255, 77, 79), 0.28); --ui-button-color: var(--color-danger, #b91c1c);">🚫 Halt (Interrupt)</ui-button>
|
|
219
|
+
<ui-button id="btnLifecycleComplete" onclick="handleLifecycleAction('complete')" variant="outline" style="--ui-button-border-color: rgba(var(--color-success-rgb, 16, 185, 129), 0.28); --ui-button-color: var(--color-success, #15803d);">✨ Force Complete</ui-button>
|
|
220
|
+
</div>
|
|
221
|
+
</div>
|
|
222
|
+
</div>
|
|
223
|
+
`;
|
|
224
|
+
|
|
225
|
+
let simInterval = null;
|
|
226
|
+
|
|
227
|
+
window.handleLifecycleAction = function (action) {
|
|
228
|
+
const pBar = document.getElementById('lifecycleProgress');
|
|
229
|
+
const stateText = document.getElementById('lifecycleStateText');
|
|
230
|
+
if (!pBar || !stateText) return;
|
|
231
|
+
|
|
232
|
+
if (window.lifecycleInterval) {
|
|
233
|
+
clearInterval(window.lifecycleInterval);
|
|
234
|
+
window.lifecycleInterval = null;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (action === 'init') {
|
|
238
|
+
pBar.percent = 0;
|
|
239
|
+
pBar.status = 'empty';
|
|
240
|
+
stateText.innerText = 'QUEUED';
|
|
241
|
+
stateText.style.background = 'var(--bg-tertiary, #f1f5f9)';
|
|
242
|
+
stateText.style.color = 'var(--text-secondary, #64748b)';
|
|
243
|
+
stateText.style.borderColor = 'var(--border-default, #cbd5e1)';
|
|
244
|
+
} else if (action === 'start') {
|
|
245
|
+
pBar.status = 'running';
|
|
246
|
+
stateText.innerText = 'RUNNING';
|
|
247
|
+
stateText.style.background = 'rgba(var(--color-primary-rgb, 24, 144, 255), 0.12)';
|
|
248
|
+
stateText.style.color = 'var(--color-primary, #1d4ed8)';
|
|
249
|
+
stateText.style.borderColor = 'rgba(var(--color-primary-rgb, 24, 144, 255), 0.24)';
|
|
250
|
+
|
|
251
|
+
let current = parseFloat(pBar.percent) || 0;
|
|
252
|
+
if (current >= 100) {
|
|
253
|
+
current = 0;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
window.lifecycleInterval = setInterval(() => {
|
|
257
|
+
current += 1.2;
|
|
258
|
+
if (current < 100) {
|
|
259
|
+
pBar.percent = current.toFixed(1);
|
|
260
|
+
} else {
|
|
261
|
+
clearInterval(window.lifecycleInterval);
|
|
262
|
+
window.lifecycleInterval = null;
|
|
263
|
+
pBar.percent = 100;
|
|
264
|
+
pBar.status = 'completed';
|
|
265
|
+
stateText.innerText = 'COMPLETED';
|
|
266
|
+
stateText.style.background = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.12)';
|
|
267
|
+
stateText.style.color = 'var(--color-success, #15803d)';
|
|
268
|
+
stateText.style.borderColor = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.24)';
|
|
269
|
+
}
|
|
270
|
+
}, 100);
|
|
271
|
+
} else if (action === 'interrupt') {
|
|
272
|
+
pBar.status = 'interrupted';
|
|
273
|
+
stateText.innerText = 'INTERRUPTED';
|
|
274
|
+
stateText.style.background = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.12)';
|
|
275
|
+
stateText.style.color = 'var(--color-danger, #b91c1c)';
|
|
276
|
+
stateText.style.borderColor = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.24)';
|
|
277
|
+
} else if (action === 'complete') {
|
|
278
|
+
pBar.percent = 100;
|
|
279
|
+
pBar.status = 'completed';
|
|
280
|
+
stateText.innerText = 'COMPLETED';
|
|
281
|
+
stateText.style.background = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.12)';
|
|
282
|
+
stateText.style.color = 'var(--color-success, #15803d)';
|
|
283
|
+
stateText.style.borderColor = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.24)';
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
|
|
136
288
|
window.showProgressBasics = function () {
|
|
289
|
+
updateProgressActiveBtn('basics');
|
|
137
290
|
const container = document.getElementById('progressDemoContainer');
|
|
138
291
|
container.innerHTML = `
|
|
139
292
|
<div class="demo-block">
|
|
140
293
|
<h3>Standard Progress Matrix</h3>
|
|
141
|
-
<p style="font-size: 14px; color:
|
|
294
|
+
<p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 30px;">Every state. Every percent. Pure clarity.</p>
|
|
142
295
|
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
143
|
-
<div class="demo-card" style="background:
|
|
144
|
-
<h4 style="margin: 0 0 16px; font-size: 13px; color:
|
|
296
|
+
<div class="demo-card" style="background:var(--bg-primary,white); padding: 24px; border-radius: 12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
297
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; color:var(--text-secondary,#64748b);">Status Hierarchy</h4>
|
|
145
298
|
<div style="display: flex; flex-direction: column; gap: 20px;">
|
|
146
299
|
<ui-progress percent="30" data-labels="Initialization (30%)"></ui-progress>
|
|
147
300
|
<ui-progress percent="50" status="active" data-labels="Processing Data (50%)"></ui-progress>
|
|
@@ -151,8 +304,8 @@ export function initProgressDemo() {
|
|
|
151
304
|
</div>
|
|
152
305
|
</div>
|
|
153
306
|
|
|
154
|
-
<div class="demo-card" style="background:
|
|
155
|
-
<h4 style="margin: 0 0 16px; font-size: 13px; color:
|
|
307
|
+
<div class="demo-card" style="background:var(--bg-primary,white); padding: 24px; border-radius: 12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
308
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; color:var(--text-secondary,#64748b);">Stroke Variants</h4>
|
|
156
309
|
<div style="display: flex; flex-direction: column; gap: 24px;">
|
|
157
310
|
<ui-progress percent="60" stroke-width="4" stroke-linecap="square"></ui-progress>
|
|
158
311
|
<ui-progress percent="60" stroke-width="12" stroke-linecap="round"></ui-progress>
|
|
@@ -165,14 +318,15 @@ export function initProgressDemo() {
|
|
|
165
318
|
};
|
|
166
319
|
|
|
167
320
|
window.showProgressCircular = function () {
|
|
321
|
+
updateProgressActiveBtn('circular');
|
|
168
322
|
const container = document.getElementById('progressDemoContainer');
|
|
169
323
|
container.innerHTML = `
|
|
170
324
|
<div class="demo-block">
|
|
171
325
|
<h3 style="margin-bottom: 24px;">Circular & Dashboard Telemetry</h3>
|
|
172
326
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
|
|
173
327
|
<!-- 1. Gap Configurations -->
|
|
174
|
-
<div style="background:
|
|
175
|
-
<h4 style="margin: 0 0 24px; font-size: 13px; color:
|
|
328
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
329
|
+
<h4 style="margin: 0 0 24px; font-size: 13px; color:var(--text-secondary,#64748b);">Polar Gap Positioning</h4>
|
|
176
330
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px; justify-items: center;">
|
|
177
331
|
<ui-progress type="dashboard" percent="75" gap-position="top" width="100" data-labels="TOP"></ui-progress>
|
|
178
332
|
<ui-progress type="dashboard" percent="75" gap-position="bottom" width="100" data-labels="BOT"></ui-progress>
|
|
@@ -182,8 +336,8 @@ export function initProgressDemo() {
|
|
|
182
336
|
</div>
|
|
183
337
|
|
|
184
338
|
<!-- 2. Circular Dynamics -->
|
|
185
|
-
<div style="background:
|
|
186
|
-
<h4 style="margin: 0 0 24px; font-size: 13px; color:
|
|
339
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
340
|
+
<h4 style="margin: 0 0 24px; font-size: 13px; color:var(--text-secondary,#64748b);">Density & Precision</h4>
|
|
187
341
|
<div style="display: flex; flex-direction: column; gap: 40px; align-items: center;">
|
|
188
342
|
<div style="display: flex; gap: 40px; align-items: center;">
|
|
189
343
|
<ui-progress type="circle" percent="45" width="80" size="md"roke-width="12"></ui-progress>
|
|
@@ -198,31 +352,32 @@ export function initProgressDemo() {
|
|
|
198
352
|
};
|
|
199
353
|
|
|
200
354
|
window.showProgressPremium = function () {
|
|
355
|
+
updateProgressActiveBtn('premium');
|
|
201
356
|
const container = document.getElementById('progressDemoContainer');
|
|
202
357
|
container.innerHTML = `
|
|
203
358
|
<div class="demo-block">
|
|
204
359
|
<h3 style="margin-bottom: 24px;">✨ Visual Masterclass: Premium Synthesis</h3>
|
|
205
360
|
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 32px;">
|
|
206
|
-
<div style="background:
|
|
207
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
361
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
362
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Liquid Wave Telemetry</h4>
|
|
208
363
|
<ui-progress percent="65" liquid="true" stroke-color="#10b981" stroke-width="20" data-labels="COOLANT LEVEL"></ui-progress>
|
|
209
364
|
</div>
|
|
210
365
|
|
|
211
|
-
<div style="background:
|
|
212
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
213
|
-
<ui-progress percent="50" glass="true" stroke-color="#10b981"
|
|
366
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
367
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Glassmorphic System</h4>
|
|
368
|
+
<ui-progress percent="50" glass="true" stroke-color="#10b981" stroke-width="20"></ui-progress>
|
|
214
369
|
</div>
|
|
215
370
|
|
|
216
|
-
<div style="background:
|
|
217
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
371
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
372
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">High-Energy Glow</h4>
|
|
218
373
|
<div style="display: flex; flex-direction: column; gap: 24px;">
|
|
219
374
|
<ui-progress percent="80" glow="true" stroke-color="#f43f5e" status="danger"></ui-progress>
|
|
220
375
|
<ui-progress percent="40" glow="true" stroke-color="#a855f7" vitality="true"></ui-progress>
|
|
221
376
|
</div>
|
|
222
377
|
</div>
|
|
223
378
|
|
|
224
|
-
<div style="background:
|
|
225
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
379
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
380
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Indeterminate Cycles</h4>
|
|
226
381
|
<div style="display: flex; gap: 40px; justify-content: center;">
|
|
227
382
|
<ui-progress type="circle" indeterminate="true" width="80"></ui-progress>
|
|
228
383
|
<ui-progress type="dashboard" indeterminate="true" width="80" stroke-color="#f59e0b"></ui-progress>
|
|
@@ -234,13 +389,14 @@ export function initProgressDemo() {
|
|
|
234
389
|
};
|
|
235
390
|
|
|
236
391
|
window.showProgressAdvanced = function () {
|
|
392
|
+
updateProgressActiveBtn('advanced');
|
|
237
393
|
const container = document.getElementById('progressDemoContainer');
|
|
238
394
|
container.innerHTML = `
|
|
239
395
|
<div class="demo-block">
|
|
240
396
|
<h3 style="margin-bottom: 24px;">Advanced Forensic Logic</h3>
|
|
241
397
|
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
242
|
-
<div style="background:
|
|
243
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
398
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
399
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Scale Ticks & Numeric Precision</h4>
|
|
244
400
|
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
245
401
|
<ui-progress percent="45" ticks="10" stroke-width="16" data-labels="SENSOR_01: NOMINAL"></ui-progress>
|
|
246
402
|
<ui-progress percent="82" ticks="5" stroke-width="16" stroke-color="#f59e0b" data-labels="THERMAL_READOUT: 82.0°C"></ui-progress>
|
|
@@ -248,22 +404,22 @@ export function initProgressDemo() {
|
|
|
248
404
|
</div>
|
|
249
405
|
|
|
250
406
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
|
|
251
|
-
<div style="background:
|
|
252
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
407
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
408
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Milestone Lifecycles</h4>
|
|
253
409
|
<ui-progress
|
|
254
410
|
percent="65"
|
|
255
411
|
stroke-width="16"
|
|
256
412
|
milestones='[{"percent": 25, "label": "Dev"}, {"percent": 50, "label": "Test"}, {"percent": 75, "label": "Deploy"}]'
|
|
257
413
|
></ui-progress>
|
|
258
414
|
</div>
|
|
259
|
-
<div style="background:
|
|
260
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
415
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
416
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Buffer & Success Ratios</h4>
|
|
261
417
|
<ui-progress percent="85" show-buffer="true" buffer="95" success='{"percent": 40}' stroke-width="24" stroke-linecap="square"></ui-progress>
|
|
262
418
|
</div>
|
|
263
419
|
</div>
|
|
264
420
|
|
|
265
|
-
<div style="background:
|
|
266
|
-
<h4 style="margin: 0 0 20px; font-size: 13px; color:
|
|
421
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
|
|
422
|
+
<h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">High-Fidelity Gradients</h4>
|
|
267
423
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
|
|
268
424
|
<div style="display: flex; flex-direction: column; gap: 20px;">
|
|
269
425
|
<ui-progress percent="90" stroke-color='{"from": "#10b981", "to": "#8b5cf6"}' stroke-width="12" data-labels="Ocean Gradient"></ui-progress>
|
|
@@ -282,18 +438,19 @@ export function initProgressDemo() {
|
|
|
282
438
|
};
|
|
283
439
|
|
|
284
440
|
window.showProgressIndustrial = function () {
|
|
441
|
+
updateProgressActiveBtn('industrial');
|
|
285
442
|
const container = document.getElementById('progressDemoContainer');
|
|
286
443
|
container.innerHTML = `
|
|
287
444
|
<div class="demo-block">
|
|
288
445
|
<h3 style="margin-bottom: 24px;">🛡️ Industrial Telemetry & Mission Control</h3>
|
|
289
|
-
<p style="font-size: 14px; color:
|
|
446
|
+
<p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 30px;">
|
|
290
447
|
High-fidelity segmented monitoring with autonomous status evolution and forensic tracking.
|
|
291
448
|
</p>
|
|
292
449
|
|
|
293
450
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 40px;">
|
|
294
451
|
<!-- 1. Real-time Rack Monitor -->
|
|
295
|
-
<div style="background:
|
|
296
|
-
<h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color:
|
|
452
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05);">
|
|
453
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color:var(--text-secondary,#64748b);">Rack #04 Status</h4>
|
|
297
454
|
<ui-progress
|
|
298
455
|
id="industrialRack"
|
|
299
456
|
type="industrial"
|
|
@@ -304,14 +461,14 @@ export function initProgressDemo() {
|
|
|
304
461
|
thresholds='[{"percent": 80, "status": "danger"}, {"percent": 60, "status": "warning"}]'
|
|
305
462
|
></ui-progress>
|
|
306
463
|
<div style="margin-top: 16px; display: flex; justify-content: space-between;">
|
|
307
|
-
<ui-button onclick="updateIndPercent(-5)"
|
|
308
|
-
<ui-button onclick="updateIndPercent(5)"
|
|
464
|
+
<ui-button onclick="updateIndPercent(-5)">Decrease Load</ui-button>
|
|
465
|
+
<ui-button onclick="updateIndPercent(5)" >Increase Load</ui-button>
|
|
309
466
|
</div>
|
|
310
467
|
</div>
|
|
311
468
|
|
|
312
469
|
<!-- 2. Memory Forensics -->
|
|
313
|
-
<div style="background:
|
|
314
|
-
<h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color:
|
|
470
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05);">
|
|
471
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color:var(--text-secondary,#64748b);">Memory Peak Tracker</h4>
|
|
315
472
|
<ui-progress
|
|
316
473
|
id="memoryForensics"
|
|
317
474
|
type="line"
|
|
@@ -320,15 +477,15 @@ export function initProgressDemo() {
|
|
|
320
477
|
stroke-color="#10b981"
|
|
321
478
|
data-labels="6.4 GB / 32 GB"
|
|
322
479
|
></ui-progress>
|
|
323
|
-
<p style="font-size: 11px; color:
|
|
480
|
+
<p style="font-size: 11px; color:var(--text-secondary,#64748b); margin-top: 12px;">The blue marker tracks the maximum load reached this session.</p>
|
|
324
481
|
</div>
|
|
325
482
|
</div>
|
|
326
483
|
|
|
327
484
|
<!-- 3. Stress Test Center -->
|
|
328
|
-
<div style="margin-top: 40px; background: #
|
|
485
|
+
<div style="margin-top: 40px; background: var(--bg-primary, white); border: 1px solid var(--border-default, #e2e8f0); border-radius: 16px; padding: 32px; color: var(--text-primary, #0f172a);">
|
|
329
486
|
<h4 style="margin: 0 0 20px; font-size: 15px; display: flex; align-items: center; gap: 8px;">
|
|
330
487
|
⚡ Thermal Stress Simulator
|
|
331
|
-
<span id="stressStatus" style="font-size: 11px; background: #
|
|
488
|
+
<span id="stressStatus" style="font-size: 11px; background: var(--bg-tertiary, #f1f5f9); color: var(--text-secondary, #64748b); border: 1px solid var(--border-default, #cbd5e1); padding: 4px 10px; border-radius: 20px;">NOMINAL</span>
|
|
332
489
|
</h4>
|
|
333
490
|
<ui-progress
|
|
334
491
|
id="stressTest"
|
|
@@ -339,7 +496,7 @@ export function initProgressDemo() {
|
|
|
339
496
|
vitality="true"
|
|
340
497
|
thresholds='[{"percent": 85, "status": "danger"}, {"percent": 70, "status": "warning"}]'
|
|
341
498
|
></ui-progress>
|
|
342
|
-
<ui-button onclick="startStressTest()" style="margin-top: 24px; width: 100%; padding: 12px; background:
|
|
499
|
+
<ui-button onclick="startStressTest()" style="margin-top: 24px; width: 100%; padding: 12px; background: var(--accent-red,#ef4444); border: none; border-radius: 8px; font-weight: 700; color: white; cursor: pointer;">START THERMAL RAMP</ui-button>
|
|
343
500
|
</div>
|
|
344
501
|
</div>
|
|
345
502
|
`;
|
|
@@ -362,11 +519,15 @@ export function initProgressDemo() {
|
|
|
362
519
|
el.percent = current;
|
|
363
520
|
if (current >= 70 && current < 85) {
|
|
364
521
|
status.innerText = 'WARNING';
|
|
365
|
-
status.style.background = '
|
|
522
|
+
status.style.background = 'rgba(var(--color-warning-rgb, 245, 158, 11), 0.12)';
|
|
523
|
+
status.style.color = 'var(--color-warning, #b45309)';
|
|
524
|
+
status.style.borderColor = 'rgba(var(--color-warning-rgb, 245, 158, 11), 0.24)';
|
|
366
525
|
}
|
|
367
526
|
if (current >= 85) {
|
|
368
527
|
status.innerText = 'CRITICAL THERMAL PRESSURE';
|
|
369
|
-
status.style.background = '
|
|
528
|
+
status.style.background = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.12)';
|
|
529
|
+
status.style.color = 'var(--color-danger, #b91c1c)';
|
|
530
|
+
status.style.borderColor = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.24)';
|
|
370
531
|
}
|
|
371
532
|
if (current >= 100) {
|
|
372
533
|
clearInterval(interval);
|
|
@@ -387,15 +548,16 @@ export function initProgressDemo() {
|
|
|
387
548
|
};
|
|
388
549
|
|
|
389
550
|
window.showProgressInteractive = function () {
|
|
551
|
+
updateProgressActiveBtn('interactive');
|
|
390
552
|
const container = document.getElementById('progressDemoContainer');
|
|
391
553
|
container.innerHTML = `
|
|
392
554
|
<div class="demo-block">
|
|
393
555
|
<h3 style="margin-bottom: 24px;">🕹️ Control Suite: Reactive Scripting</h3>
|
|
394
|
-
<p style="font-size: 14px; color:
|
|
556
|
+
<p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 30px;">
|
|
395
557
|
Dynamic progress bars converted into primary system configuration controls via the <code>interactive</code> prop.
|
|
396
558
|
</p>
|
|
397
559
|
|
|
398
|
-
<div style="background:
|
|
560
|
+
<div style="background:var(--bg-primary,white); border-radius: 16px; padding: 40px; border:1px solid var(--border-default,#e2e8f0); display: flex; flex-direction: column; gap: 40px;">
|
|
399
561
|
<div>
|
|
400
562
|
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
401
563
|
<label style="font-weight: 600; font-size: 13px;">Manual Fan Speed Configuration</label>
|
|
@@ -444,11 +606,12 @@ export function initProgressDemo() {
|
|
|
444
606
|
};
|
|
445
607
|
|
|
446
608
|
window.showProgressVertical = function () {
|
|
609
|
+
updateProgressActiveBtn('vertical');
|
|
447
610
|
const container = document.getElementById('progressDemoContainer');
|
|
448
611
|
container.innerHTML = `
|
|
449
612
|
<div class="demo-block">
|
|
450
613
|
<h3 style="margin-bottom: 24px;">↕️ High-Density Vertical Racks</h3>
|
|
451
|
-
<div style="display: flex; gap: 40px; justify-content: center; height: 350px; padding: 40px; background:
|
|
614
|
+
<div style="display: flex; gap: 40px; justify-content: center; height: 350px; padding: 40px; background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0);">
|
|
452
615
|
<ui-progress orientation="vertical" percent="80" height="100%" stroke-width="24" stroke-color="#f43f5e" vitality="true" glow="true" data-labels="THERMAL"></ui-progress>
|
|
453
616
|
<ui-progress orientation="vertical" percent="60" height="100%" stroke-width="24" stroke-color="#10b981" ticks="20" data-labels="NETWORK"></ui-progress>
|
|
454
617
|
<ui-progress orientation="vertical" percent="40" height="100%" stroke-width="24" stroke-color="#10b981" type="industrial" data-labels="POWER"></ui-progress>
|
|
@@ -458,5 +621,549 @@ export function initProgressDemo() {
|
|
|
458
621
|
`;
|
|
459
622
|
};
|
|
460
623
|
|
|
624
|
+
window.showProgressScanning = function () {
|
|
625
|
+
updateProgressActiveBtn('scanning');
|
|
626
|
+
const container = document.getElementById('progressDemoContainer');
|
|
627
|
+
container.innerHTML = `
|
|
628
|
+
<div class="demo-block" style="font-family: inherit;">
|
|
629
|
+
<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;">
|
|
630
|
+
<div>
|
|
631
|
+
<h3 style="margin: 0; font-size: 20px; font-weight: 700; color:var(--text-primary,#0f172a);">🔍 Cybernetic Device Scanner</h3>
|
|
632
|
+
<p style="margin: 4px 0 0; font-size: 14px; color:var(--text-secondary,#64748b);">Automated sector, memory, and threat scanning telemetry.</p>
|
|
633
|
+
</div>
|
|
634
|
+
<span id="scanStatusBadge" style="font-size: 11px; font-weight: 700; background:var(--bg-tertiary,#f1f5f9); color:var(--text-secondary,#64748b); padding: 4px 12px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.05em;">AWAITING COMMAND</span>
|
|
635
|
+
</div>
|
|
636
|
+
|
|
637
|
+
<div style="display: grid; grid-template-columns: 280px 1fr; gap: 32px; margin-bottom: 32px;">
|
|
638
|
+
<!-- Left Panel: Dial & Actions -->
|
|
639
|
+
<div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; align-items: center; gap: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
|
|
640
|
+
<div style="position: relative; width: 160px; height: 160px; display: flex; align-items: center; justify-content: center;">
|
|
641
|
+
<ui-progress
|
|
642
|
+
id="scanCircularProgress"
|
|
643
|
+
type="dashboard"
|
|
644
|
+
percent="0"
|
|
645
|
+
stroke-width="12"
|
|
646
|
+
stroke-color='{"from": "#3b82f6", "to": "#10b981"}'
|
|
647
|
+
gap-position="bottom"
|
|
648
|
+
width="160"
|
|
649
|
+
glow="true"
|
|
650
|
+
liquid="true"
|
|
651
|
+
status="empty"
|
|
652
|
+
></ui-progress>
|
|
653
|
+
</div>
|
|
654
|
+
|
|
655
|
+
<!-- Scanning Controls -->
|
|
656
|
+
<div style="display: flex; flex-direction: column; width: 100%; gap: 10px; margin-top: 10px;">
|
|
657
|
+
<ui-button id="btnStartScan" onclick="handleScanAction('start')" variant="primary" style="width: 100%;">⚡ Start Full Scan</ui-button>
|
|
658
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px;">
|
|
659
|
+
<ui-button id="btnPauseScan" onclick="handleScanAction('pause')" variant="outline" style="font-size: 12px;">⏸️ Pause</ui-button>
|
|
660
|
+
<ui-button id="btnHaltScan" onclick="handleScanAction('halt')" variant="outline" style="font-size: 12px; --ui-button-color:var(--accent-red,#ef4444); --ui-button-border-color: #fecaca;">🚫 Abort</ui-button>
|
|
661
|
+
</div>
|
|
662
|
+
<ui-button id="btnResetScan" onclick="handleScanAction('reset')" variant="ghost" style="width: 100%; font-size: 12px;">🔄 Reset Console</ui-button>
|
|
663
|
+
</div>
|
|
664
|
+
</div>
|
|
665
|
+
|
|
666
|
+
<!-- Right Panel: Live Logs & Telemetry -->
|
|
667
|
+
<div style="display: flex; flex-direction: column; gap: 20px;">
|
|
668
|
+
<!-- Telemetry Cards -->
|
|
669
|
+
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;">
|
|
670
|
+
<div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); padding: 16px; border-radius: 12px; text-align: center;">
|
|
671
|
+
<span style="font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color:var(--text-secondary,#64748b); font-weight: 600;">Sectors Checked</span>
|
|
672
|
+
<h4 id="sectorsCount" style="margin: 8px 0 0; font-size: 24px; font-weight: 800; color:var(--text-primary,#0f172a);">0</h4>
|
|
673
|
+
</div>
|
|
674
|
+
<div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); padding: 16px; border-radius: 12px; text-align: center;">
|
|
675
|
+
<span style="font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color:var(--text-secondary,#64748b); font-weight: 600;">Threats Detected</span>
|
|
676
|
+
<h4 id="threatsCount" style="margin: 8px 0 0; font-size: 24px; font-weight: 800; color:var(--text-primary,#0f172a);">0</h4>
|
|
677
|
+
</div>
|
|
678
|
+
<div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); padding: 16px; border-radius: 12px; text-align: center;">
|
|
679
|
+
<span style="font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color:var(--text-secondary,#64748b); font-weight: 600;">Scan Time</span>
|
|
680
|
+
<h4 id="elapsedScanTime" style="margin: 8px 0 0; font-size: 24px; font-weight: 800; color:var(--text-primary,#0f172a);">0.0s</h4>
|
|
681
|
+
</div>
|
|
682
|
+
</div>
|
|
683
|
+
|
|
684
|
+
<!-- Terminal Console Logs -->
|
|
685
|
+
<div style="background: #0f172a; color: #38bdf8; border-radius: 16px; padding: 20px; font-family: 'Courier New', Courier, monospace; font-size: 12px; height: 180px; overflow-y: auto; border: 1px solid #1e293b; box-shadow: inset 0 2px 8px rgba(0,0,0,0.5);" id="scanTerminalConsole">
|
|
686
|
+
<div style="color:var(--text-secondary,#64748b);">[SCAN ENGINE v4.2.1] INITIALIZED...</div>
|
|
687
|
+
<div style="color:var(--text-secondary,#64748b);">[CONSOLE] READY FOR HARDWARE RAMP...</div>
|
|
688
|
+
</div>
|
|
689
|
+
</div>
|
|
690
|
+
</div>
|
|
691
|
+
|
|
692
|
+
<!-- Linear Sub-System Feed -->
|
|
693
|
+
<div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); border-radius: 16px; padding: 24px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
|
|
694
|
+
<h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; color:var(--text-secondary,#64748b); font-weight: 700; letter-spacing: 0.05em;">Memory Buffer Allocation Check</h4>
|
|
695
|
+
<ui-progress id="scanLinearBuffer" percent="0" status="empty" stroke-width="16" vitality="true"></ui-progress>
|
|
696
|
+
</div>
|
|
697
|
+
</div>
|
|
698
|
+
`;
|
|
699
|
+
|
|
700
|
+
// Active scan memory variables
|
|
701
|
+
if (window.scanInterval) {
|
|
702
|
+
clearInterval(window.scanInterval);
|
|
703
|
+
window.scanInterval = null;
|
|
704
|
+
}
|
|
705
|
+
window.scanTimeElapsed = 0;
|
|
706
|
+
window.scanSectors = 0;
|
|
707
|
+
window.scanThreats = 0;
|
|
708
|
+
|
|
709
|
+
const mockSectors = [
|
|
710
|
+
'/dev/disk0s1/System/Library/Kernels/kernel',
|
|
711
|
+
'/dev/disk0s1/System/Library/Extensions/AppleACPIPlatform.kext',
|
|
712
|
+
'/dev/disk0s1/System/Library/Extensions/AppleSMBIOS.kext',
|
|
713
|
+
'/dev/disk0s1/System/Library/Fonts/SF-Pro.ttf',
|
|
714
|
+
'/dev/disk0s1/usr/sbin/cron',
|
|
715
|
+
'/dev/disk0s1/usr/bin/security',
|
|
716
|
+
'/dev/disk0s1/private/var/log/system.log',
|
|
717
|
+
'/dev/disk0s1/Applications/CyberneticScanner.app',
|
|
718
|
+
'/Memory/Alloc/RAM_BLOCK_0x00FF34D',
|
|
719
|
+
'/Memory/Alloc/RAM_BLOCK_0x01AA87D',
|
|
720
|
+
'/Ports/TCP/Port-80-Listener',
|
|
721
|
+
'/Ports/TCP/Port-443-SecureGateway',
|
|
722
|
+
'/Ports/TCP/Port-8080-AltServer',
|
|
723
|
+
];
|
|
724
|
+
|
|
725
|
+
window.handleScanAction = function (action) {
|
|
726
|
+
const circ = document.getElementById('scanCircularProgress');
|
|
727
|
+
const line = document.getElementById('scanLinearBuffer');
|
|
728
|
+
const statusBadge = document.getElementById('scanStatusBadge');
|
|
729
|
+
const term = document.getElementById('scanTerminalConsole');
|
|
730
|
+
const secCount = document.getElementById('sectorsCount');
|
|
731
|
+
const thCount = document.getElementById('threatsCount');
|
|
732
|
+
const timeCount = document.getElementById('elapsedScanTime');
|
|
733
|
+
|
|
734
|
+
if (!circ || !line || !statusBadge || !term) return;
|
|
735
|
+
|
|
736
|
+
const log = (msg, color = '#38bdf8') => {
|
|
737
|
+
const div = document.createElement('div');
|
|
738
|
+
div.style.color = color;
|
|
739
|
+
div.innerText = `[${new Date().toLocaleTimeString()}] ${msg}`;
|
|
740
|
+
term.appendChild(div);
|
|
741
|
+
term.scrollTop = term.scrollHeight;
|
|
742
|
+
};
|
|
743
|
+
|
|
744
|
+
if (action === 'start') {
|
|
745
|
+
if (window.scanInterval) return;
|
|
746
|
+
|
|
747
|
+
circ.status = 'running';
|
|
748
|
+
line.status = 'running';
|
|
749
|
+
statusBadge.innerText = 'RUNNING';
|
|
750
|
+
statusBadge.style.background = '#e0f2fe';
|
|
751
|
+
statusBadge.style.color = '#0369a1';
|
|
752
|
+
log('INITIATING FULL HARDWARE DEVICE SCAN...', '#10b981');
|
|
753
|
+
|
|
754
|
+
window.scanTimeStart = Date.now() - window.scanTimeElapsed;
|
|
755
|
+
|
|
756
|
+
window.scanInterval = setInterval(() => {
|
|
757
|
+
let current = parseFloat(circ.percent) || 0;
|
|
758
|
+
if (current < 100) {
|
|
759
|
+
current += 1.6;
|
|
760
|
+
if (current > 100) current = 100;
|
|
761
|
+
|
|
762
|
+
circ.percent = current.toFixed(1);
|
|
763
|
+
line.percent = current.toFixed(1);
|
|
764
|
+
|
|
765
|
+
// Update timer
|
|
766
|
+
window.scanTimeElapsed = Date.now() - window.scanTimeStart;
|
|
767
|
+
timeCount.innerText = (window.scanTimeElapsed / 1000).toFixed(1) + 's';
|
|
768
|
+
|
|
769
|
+
// Check mock sector files
|
|
770
|
+
window.scanSectors += Math.floor(Math.random() * 8) + 3;
|
|
771
|
+
secCount.innerText = window.scanSectors;
|
|
772
|
+
|
|
773
|
+
const randomFile = mockSectors[Math.floor(Math.random() * mockSectors.length)];
|
|
774
|
+
log(`CHECKING: ${randomFile}`);
|
|
775
|
+
|
|
776
|
+
// Mock threats detection at 40% and 80%
|
|
777
|
+
if (current >= 40 && window.scanThreats === 0) {
|
|
778
|
+
window.scanThreats = 1;
|
|
779
|
+
thCount.innerText = '1';
|
|
780
|
+
thCount.style.color = '#f59e0b';
|
|
781
|
+
circ.status = 'warning';
|
|
782
|
+
line.status = 'warning';
|
|
783
|
+
statusBadge.innerText = 'WARNING';
|
|
784
|
+
statusBadge.style.background = '#fef3c7';
|
|
785
|
+
statusBadge.style.color = '#b45309';
|
|
786
|
+
log('⚠️ SYSTEM WARNING: UNVERIFIED BUFFER DETECTED AT SECTOR 4!', '#f59e0b');
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
if (current >= 80 && window.scanThreats === 1) {
|
|
790
|
+
window.scanThreats = 2;
|
|
791
|
+
thCount.innerText = '2';
|
|
792
|
+
thCount.style.color = '#ef4444';
|
|
793
|
+
circ.status = 'interrupted';
|
|
794
|
+
line.status = 'interrupted';
|
|
795
|
+
statusBadge.innerText = 'SUSPECTED THREAT';
|
|
796
|
+
statusBadge.style.background = '#fef2f2';
|
|
797
|
+
statusBadge.style.color = '#b91c1c';
|
|
798
|
+
log('🚨 CRITICAL ALERT: CORRUPTED MALICIOUS THREAD IN RAM BLOCK!', '#ef4444');
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
} else {
|
|
802
|
+
clearInterval(window.scanInterval);
|
|
803
|
+
window.scanInterval = null;
|
|
804
|
+
circ.percent = 100;
|
|
805
|
+
line.percent = 100;
|
|
806
|
+
|
|
807
|
+
if (window.scanThreats > 0) {
|
|
808
|
+
circ.status = 'interrupted';
|
|
809
|
+
line.status = 'interrupted';
|
|
810
|
+
statusBadge.innerText = 'THREAT FOUND';
|
|
811
|
+
statusBadge.style.background = '#fef2f2';
|
|
812
|
+
statusBadge.style.color = '#b91c1c';
|
|
813
|
+
log('❌ SCAN COMPLETE: 2 CRITICAL THREATS SECURED. IMMEDIATE ACTION REQUIRED.', '#ef4444');
|
|
814
|
+
} else {
|
|
815
|
+
circ.status = 'completed';
|
|
816
|
+
line.status = 'completed';
|
|
817
|
+
statusBadge.innerText = 'COMPLETED';
|
|
818
|
+
statusBadge.style.background = '#dcfce7';
|
|
819
|
+
statusBadge.style.color = '#15803d';
|
|
820
|
+
log('✨ SCAN COMPLETE: DEVICE SECURE. ZERO THREATS DETECTED.', '#10b981');
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
}, 120);
|
|
824
|
+
} else if (action === 'pause') {
|
|
825
|
+
if (!window.scanInterval) return;
|
|
826
|
+
clearInterval(window.scanInterval);
|
|
827
|
+
window.scanInterval = null;
|
|
828
|
+
|
|
829
|
+
statusBadge.innerText = 'PAUSED';
|
|
830
|
+
statusBadge.style.background = '#f1f5f9';
|
|
831
|
+
statusBadge.style.color = '#475569';
|
|
832
|
+
log('SCAN SUSPENDED BY OPERATOR.', '#faad14');
|
|
833
|
+
} else if (action === 'halt') {
|
|
834
|
+
if (window.scanInterval) {
|
|
835
|
+
clearInterval(window.scanInterval);
|
|
836
|
+
window.scanInterval = null;
|
|
837
|
+
}
|
|
838
|
+
circ.status = 'interrupted';
|
|
839
|
+
line.status = 'interrupted';
|
|
840
|
+
statusBadge.innerText = 'ABORTED';
|
|
841
|
+
statusBadge.style.background = '#fef2f2';
|
|
842
|
+
statusBadge.style.color = '#b91c1c';
|
|
843
|
+
log('❌ CRITICAL: HARDWARE SCAN ABORTED IMMEDIATELY!', '#ef4444');
|
|
844
|
+
} else if (action === 'reset') {
|
|
845
|
+
if (window.scanInterval) {
|
|
846
|
+
clearInterval(window.scanInterval);
|
|
847
|
+
window.scanInterval = null;
|
|
848
|
+
}
|
|
849
|
+
circ.percent = 0;
|
|
850
|
+
circ.status = 'empty';
|
|
851
|
+
line.percent = 0;
|
|
852
|
+
line.status = 'empty';
|
|
853
|
+
window.scanTimeElapsed = 0;
|
|
854
|
+
window.scanSectors = 0;
|
|
855
|
+
window.scanThreats = 0;
|
|
856
|
+
|
|
857
|
+
secCount.innerText = '0';
|
|
858
|
+
thCount.innerText = '0';
|
|
859
|
+
thCount.style.color = '';
|
|
860
|
+
timeCount.innerText = '0.0s';
|
|
861
|
+
statusBadge.innerText = 'AWAITING COMMAND';
|
|
862
|
+
statusBadge.style.background = '';
|
|
863
|
+
statusBadge.style.color = '';
|
|
864
|
+
|
|
865
|
+
term.innerHTML = `
|
|
866
|
+
<div style="color:var(--text-secondary,#64748b);">[SCAN ENGINE v4.2.1] INITIALIZED...</div>
|
|
867
|
+
<div style="color:var(--text-secondary,#64748b);">[CONSOLE] READY FOR HARDWARE RAMP...</div>
|
|
868
|
+
`;
|
|
869
|
+
log('SCAN TELEMETRY CLEARED AND RESET.', '#64748b');
|
|
870
|
+
}
|
|
871
|
+
};
|
|
872
|
+
};
|
|
873
|
+
|
|
874
|
+
window.showProgressStatusBar = function () {
|
|
875
|
+
updateProgressActiveBtn('statusbar');
|
|
876
|
+
const container = document.getElementById('progressDemoContainer');
|
|
877
|
+
container.innerHTML = `
|
|
878
|
+
<div class="demo-block">
|
|
879
|
+
<h3 style="margin-bottom:6px;">🏷️ Status Bar Variant</h3>
|
|
880
|
+
<p style="font-size:13px; color:var(--text-secondary,#64748b); margin:0 0 28px; line-height:1.6;">Add <code>status-bar</code> to any <code>ui-progress</code> line bar. The status badge and percentage are derived automatically from <code>percent</code> and <code>status</code>. Use <code>status-bar-align</code> to position the label and <code>status-labels</code> to override any text.</p>
|
|
881
|
+
|
|
882
|
+
<!-- Custom labels showcase -->
|
|
883
|
+
<h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Custom Labels</h4>
|
|
884
|
+
<div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-bottom:36px;">
|
|
885
|
+
|
|
886
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
887
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">Deploy pipeline labels</span>
|
|
888
|
+
<ui-progress percent="0" status-bar stroke-width="6"
|
|
889
|
+
status-labels='{"notStarted":"Queued","running":"Deploying","interrupted":"Rolled Back","completed":"Live"}'></ui-progress>
|
|
890
|
+
</div>
|
|
891
|
+
|
|
892
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
893
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">File transfer labels</span>
|
|
894
|
+
<ui-progress percent="55" status-bar stroke-width="6" stroke-color="#3b82f6"
|
|
895
|
+
status-labels='{"notStarted":"Pending","running":"Uploading","interrupted":"Paused","completed":"Sent"}'></ui-progress>
|
|
896
|
+
</div>
|
|
897
|
+
|
|
898
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
899
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">Partial override (running only)</span>
|
|
900
|
+
<ui-progress percent="72" status-bar stroke-width="6" stroke-color="#8b5cf6"
|
|
901
|
+
status-labels='{"running":"In Progress"}'></ui-progress>
|
|
902
|
+
</div>
|
|
903
|
+
|
|
904
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
905
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">Interrupted — custom label</span>
|
|
906
|
+
<ui-progress percent="41" status="interrupted" status-bar stroke-width="6" stroke-color="#f59e0b"
|
|
907
|
+
status-labels='{"interrupted":"On Hold"}'></ui-progress>
|
|
908
|
+
</div>
|
|
909
|
+
</div>
|
|
910
|
+
|
|
911
|
+
<!-- Badge Alignment showcase -->
|
|
912
|
+
<h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Chip Alignment</h4>
|
|
913
|
+
<div style="display:flex; flex-direction:column; gap:12px; margin-bottom:36px;">
|
|
914
|
+
|
|
915
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
916
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">LEFT (default) — chip anchored to left edge</span>
|
|
917
|
+
<ui-progress percent="60" status-bar status-bar-align="left" stroke-width="7" stroke-color="#3b82f6"></ui-progress>
|
|
918
|
+
</div>
|
|
919
|
+
|
|
920
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
921
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">CENTER — chip centered on bar</span>
|
|
922
|
+
<ui-progress percent="60" status-bar status-bar-align="center" stroke-width="7" stroke-color="#8b5cf6"></ui-progress>
|
|
923
|
+
</div>
|
|
924
|
+
|
|
925
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
926
|
+
<span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">RIGHT — chip anchored to right edge</span>
|
|
927
|
+
<ui-progress percent="60" status-bar status-bar-align="right" stroke-width="7" stroke-color="#22c55e"></ui-progress>
|
|
928
|
+
</div>
|
|
929
|
+
</div>
|
|
930
|
+
|
|
931
|
+
<!-- All 4 lifecycle states -->
|
|
932
|
+
<h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Lifecycle States</h4>
|
|
933
|
+
<div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; margin-bottom:36px;">
|
|
934
|
+
|
|
935
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
936
|
+
<ui-progress percent="0" status-bar stroke-width="6"></ui-progress>
|
|
937
|
+
</div>
|
|
938
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
939
|
+
<ui-progress percent="45" status-bar stroke-width="6" stroke-color="#3b82f6"></ui-progress>
|
|
940
|
+
</div>
|
|
941
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
942
|
+
<ui-progress percent="72" status="interrupted" status-bar stroke-width="6" stroke-color="#f59e0b"></ui-progress>
|
|
943
|
+
</div>
|
|
944
|
+
<div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
945
|
+
<ui-progress percent="100" status-bar stroke-width="6" stroke-color="#22c55e"></ui-progress>
|
|
946
|
+
</div>
|
|
947
|
+
</div>
|
|
948
|
+
|
|
949
|
+
<!-- Real-world context cards -->
|
|
950
|
+
<h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Real-World Usage</h4>
|
|
951
|
+
<div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-bottom:36px;">
|
|
952
|
+
|
|
953
|
+
<div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
954
|
+
<div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
|
|
955
|
+
<div>
|
|
956
|
+
<p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">CI/CD Pipeline</p>
|
|
957
|
+
<p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">main → production</p>
|
|
958
|
+
</div>
|
|
959
|
+
<span style="font-size:10px; font-weight:700; background:var(--accent-blue-soft,#eff6ff); color:var(--accent-blue,#3b82f6); padding:3px 8px; border-radius:20px;">DEPLOY</span>
|
|
960
|
+
</div>
|
|
961
|
+
<ui-progress percent="68" status-bar stroke-width="7" stroke-color="#3b82f6"></ui-progress>
|
|
962
|
+
</div>
|
|
963
|
+
|
|
964
|
+
<div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
965
|
+
<div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
|
|
966
|
+
<div>
|
|
967
|
+
<p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">File Upload</p>
|
|
968
|
+
<p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">design-assets-v3.zip</p>
|
|
969
|
+
</div>
|
|
970
|
+
<span style="font-size:10px; font-weight:700; background:var(--accent-green-soft,#f0fdf4); color:#16a34a; padding:3px 8px; border-radius:20px;">DONE</span>
|
|
971
|
+
</div>
|
|
972
|
+
<ui-progress percent="100" status-bar status-bar-align="right" stroke-width="7" stroke-color="#22c55e"></ui-progress>
|
|
973
|
+
</div>
|
|
974
|
+
|
|
975
|
+
<div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
976
|
+
<div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
|
|
977
|
+
<div>
|
|
978
|
+
<p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">Database Migration</p>
|
|
979
|
+
<p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">prod_db → replica_eu</p>
|
|
980
|
+
</div>
|
|
981
|
+
<span style="font-size:10px; font-weight:700; background:var(--accent-yellow-soft,#fffbeb); color:var(--accent-yellow,#d97706); padding:3px 8px; border-radius:20px;">PAUSED</span>
|
|
982
|
+
</div>
|
|
983
|
+
<ui-progress percent="41" status="interrupted" status-bar stroke-width="7" stroke-color="#f59e0b"></ui-progress>
|
|
984
|
+
</div>
|
|
985
|
+
|
|
986
|
+
<div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
987
|
+
<div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
|
|
988
|
+
<div>
|
|
989
|
+
<p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">Scheduled Backup</p>
|
|
990
|
+
<p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">Starts at 03:00 UTC</p>
|
|
991
|
+
</div>
|
|
992
|
+
<span style="font-size:10px; font-weight:700; background:var(--bg-tertiary,#f1f5f9); color:var(--text-secondary,#64748b); padding:3px 8px; border-radius:20px;">QUEUED</span>
|
|
993
|
+
</div>
|
|
994
|
+
<ui-progress percent="0" status-bar status-bar-align="center" stroke-width="7"></ui-progress>
|
|
995
|
+
</div>
|
|
996
|
+
</div>
|
|
997
|
+
|
|
998
|
+
<!-- Interactive demo -->
|
|
999
|
+
<h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Interactive</h4>
|
|
1000
|
+
<div style="background:var(--bg-primary,white); padding:24px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
|
|
1001
|
+
<div style="display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:16px;">
|
|
1002
|
+
<label style="font-size:13px; font-weight:600; white-space:nowrap; color:var(--text-primary,#0f172a);">Progress: <span id="sb-val">0</span>%</label>
|
|
1003
|
+
<input type="range" id="sb-slider" min="0" max="100" value="0" style="flex:1; min-width:140px;">
|
|
1004
|
+
<ui-button id="sb-btn-interrupt" variant="outline" style="--ui-button-color:var(--accent-yellow,#d97706); --ui-button-border-color:#fde68a;">⛔ Interrupt</ui-button>
|
|
1005
|
+
<ui-button id="sb-btn-reset" variant="ghost">↺ Reset</ui-button>
|
|
1006
|
+
</div>
|
|
1007
|
+
<div style="display:flex; align-items:center; gap:8px; margin-bottom:16px;">
|
|
1008
|
+
<span style="font-size:12px; font-weight:600; color:var(--text-secondary,#64748b);">Align:</span>
|
|
1009
|
+
<button id="sb-align-left" data-align="left" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #3b82f6; background:var(--accent-blue-soft,#eff6ff); color:var(--accent-blue,#2563eb); cursor:pointer;">Left</button>
|
|
1010
|
+
<button id="sb-align-center" data-align="center" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #e2e8f0; background:var(--bg-secondary,#f8fafc); color:#475569; cursor:pointer;">Center</button>
|
|
1011
|
+
<button id="sb-align-right" data-align="right" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #e2e8f0; background:var(--bg-secondary,#f8fafc); color:#475569; cursor:pointer;">Right</button>
|
|
1012
|
+
</div>
|
|
1013
|
+
<!-- Position and Height controls -->
|
|
1014
|
+
<div style="display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:16px; padding:12px; background:var(--bg-secondary,#f8fafc); border-radius:8px; border:1px solid var(--border-default,#e2e8f0);">
|
|
1015
|
+
<div style="display:flex; align-items:center; gap:8px;">
|
|
1016
|
+
<span style="font-size:12px; font-weight:600; color:var(--text-secondary,#64748b);">Position:</span>
|
|
1017
|
+
<button id="sb-pos-inside" data-pos="inside" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #3b82f6; background:var(--accent-blue-soft,#eff6ff); color:var(--accent-blue,#2563eb); cursor:pointer;">Inside Bar</button>
|
|
1018
|
+
<button id="sb-pos-top" data-pos="top" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #e2e8f0; background:var(--bg-secondary,#f8fafc); color:#475569; cursor:pointer;">On Top</button>
|
|
1019
|
+
</div>
|
|
1020
|
+
<div style="display:flex; align-items:center; gap:8px; flex:1; min-width:200px;">
|
|
1021
|
+
<span style="font-size:12px; font-weight:600; color:var(--text-secondary,#64748b); white-space:nowrap;">Bar Height: <span id="sb-height-val">8</span>px</span>
|
|
1022
|
+
<input type="range" id="sb-height-slider" min="2" max="40" value="8" style="flex:1; cursor:pointer;">
|
|
1023
|
+
</div>
|
|
1024
|
+
</div>
|
|
1025
|
+
<!-- Custom label inputs -->
|
|
1026
|
+
<div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; margin-bottom:20px; padding:16px; background:var(--bg-secondary,#f8fafc); border-radius:8px; border:1px solid var(--border-default,#e2e8f0);">
|
|
1027
|
+
<label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
|
|
1028
|
+
Not Started
|
|
1029
|
+
<input id="sb-lbl-notStarted" type="text" placeholder="Not Started" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
|
|
1030
|
+
</label>
|
|
1031
|
+
<label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
|
|
1032
|
+
Running
|
|
1033
|
+
<input id="sb-lbl-running" type="text" placeholder="Running" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
|
|
1034
|
+
</label>
|
|
1035
|
+
<label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
|
|
1036
|
+
Interrupted
|
|
1037
|
+
<input id="sb-lbl-interrupted" type="text" placeholder="Interrupted" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
|
|
1038
|
+
</label>
|
|
1039
|
+
<label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
|
|
1040
|
+
Completed
|
|
1041
|
+
<input id="sb-lbl-completed" type="text" placeholder="Completed" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
|
|
1042
|
+
</label>
|
|
1043
|
+
</div>
|
|
1044
|
+
<ui-progress id="sb-bar" percent="0" status-bar status-bar-align="left" stroke-width="8"></ui-progress>
|
|
1045
|
+
</div>
|
|
1046
|
+
|
|
1047
|
+
<!-- Usage snippet -->
|
|
1048
|
+
<h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:28px 0 14px;">Usage</h4>
|
|
1049
|
+
<div style="background:#0f172a; border-radius:10px; padding:18px 22px; font-family:'Courier New',monospace; font-size:12px; line-height:1.9; color:#e2e8f0; overflow-x:auto;">
|
|
1050
|
+
<span style="color:var(--text-secondary,#64748b);">/* default labels (rendered inside, forces minimum 32px height) */</span><br>
|
|
1051
|
+
<span style="color:#7dd3fc;"><ui-progress</span><span style="color:#86efac;"> percent</span><span style="color:#f8fafc;">="45"</span><span style="color:#86efac;"> status-bar</span><span style="color:#7dd3fc;">></ui-progress></span><br><br>
|
|
1052
|
+
<span style="color:var(--text-secondary,#64748b);">/* status bar on top (allows custom/reduced height via stroke-width) */</span><br>
|
|
1053
|
+
<span style="color:#7dd3fc;"><ui-progress</span><span style="color:#86efac;"> percent</span><span style="color:#f8fafc;">="60"</span><span style="color:#86efac;"> status-bar</span><span style="color:#86efac;"> status-bar-position</span><span style="color:#f8fafc;">="top"</span><span style="color:#86efac;"> stroke-width</span><span style="color:#f8fafc;">="4"</span><span style="color:#7dd3fc;">></ui-progress></span><br><br>
|
|
1054
|
+
<span style="color:var(--text-secondary,#64748b);">/* custom all 4 labels */</span><br>
|
|
1055
|
+
<span style="color:#7dd3fc;"><ui-progress</span><span style="color:#86efac;"> percent</span><span style="color:#f8fafc;">="55"</span><span style="color:#86efac;"> status-bar</span><br>
|
|
1056
|
+
<span style="color:#86efac;"> status-labels</span><span style="color:#f8fafc;">='{"notStarted":"Queued","running":"Uploading","interrupted":"Paused","completed":"Sent"}'</span><span style="color:#7dd3fc;">></ui-progress></span>
|
|
1057
|
+
</div>
|
|
1058
|
+
</div>
|
|
1059
|
+
`;
|
|
1060
|
+
|
|
1061
|
+
const bar = document.getElementById('sb-bar');
|
|
1062
|
+
const slider = document.getElementById('sb-slider');
|
|
1063
|
+
const valEl = document.getElementById('sb-val');
|
|
1064
|
+
const heightSlider = document.getElementById('sb-height-slider');
|
|
1065
|
+
const heightValEl = document.getElementById('sb-height-val');
|
|
1066
|
+
let interrupted = false;
|
|
1067
|
+
|
|
1068
|
+
function applyState(pct, isInterrupted) {
|
|
1069
|
+
valEl.textContent = pct;
|
|
1070
|
+
bar.setAttribute('percent', pct);
|
|
1071
|
+
if (isInterrupted) {
|
|
1072
|
+
bar.setAttribute('status', 'interrupted');
|
|
1073
|
+
bar.setAttribute('stroke-color', '#f59e0b');
|
|
1074
|
+
} else if (pct >= 100) {
|
|
1075
|
+
bar.setAttribute('status', 'completed');
|
|
1076
|
+
bar.setAttribute('stroke-color', '#22c55e');
|
|
1077
|
+
} else if (pct > 0) {
|
|
1078
|
+
bar.setAttribute('status', 'running');
|
|
1079
|
+
bar.setAttribute('stroke-color', '#3b82f6');
|
|
1080
|
+
} else {
|
|
1081
|
+
bar.removeAttribute('status');
|
|
1082
|
+
bar.setAttribute('stroke-color', '#94a3b8');
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
slider.addEventListener('input', e => {
|
|
1087
|
+
interrupted = false;
|
|
1088
|
+
applyState(+e.target.value, false);
|
|
1089
|
+
});
|
|
1090
|
+
document.getElementById('sb-btn-interrupt').addEventListener('click', () => {
|
|
1091
|
+
interrupted = true;
|
|
1092
|
+
applyState(+slider.value, true);
|
|
1093
|
+
});
|
|
1094
|
+
document.getElementById('sb-btn-reset').addEventListener('click', () => {
|
|
1095
|
+
interrupted = false;
|
|
1096
|
+
slider.value = 0;
|
|
1097
|
+
applyState(0, false);
|
|
1098
|
+
|
|
1099
|
+
// Reset height and position
|
|
1100
|
+
heightSlider.value = 8;
|
|
1101
|
+
heightValEl.textContent = 8;
|
|
1102
|
+
bar.setAttribute('stroke-width', 8);
|
|
1103
|
+
bar.removeAttribute('status-bar-position');
|
|
1104
|
+
|
|
1105
|
+
// Update position toggle buttons styles
|
|
1106
|
+
['inside', 'top'].forEach(p => {
|
|
1107
|
+
const btn = document.getElementById(`sb-pos-${p}`);
|
|
1108
|
+
const active = p === 'inside';
|
|
1109
|
+
btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
|
|
1110
|
+
btn.style.background = active ? '#eff6ff' : '#f8fafc';
|
|
1111
|
+
btn.style.color = active ? '#2563eb' : '#475569';
|
|
1112
|
+
});
|
|
1113
|
+
});
|
|
1114
|
+
|
|
1115
|
+
// Alignment toggle buttons
|
|
1116
|
+
['left', 'center', 'right'].forEach(align => {
|
|
1117
|
+
document.getElementById(`sb-align-${align}`).addEventListener('click', () => {
|
|
1118
|
+
bar.setAttribute('status-bar-align', align);
|
|
1119
|
+
['left', 'center', 'right'].forEach(a => {
|
|
1120
|
+
const btn = document.getElementById(`sb-align-${a}`);
|
|
1121
|
+
const active = a === align;
|
|
1122
|
+
btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
|
|
1123
|
+
btn.style.background = active ? '#eff6ff' : '#f8fafc';
|
|
1124
|
+
btn.style.color = active ? '#2563eb' : '#475569';
|
|
1125
|
+
});
|
|
1126
|
+
});
|
|
1127
|
+
});
|
|
1128
|
+
|
|
1129
|
+
// Position toggle buttons
|
|
1130
|
+
['inside', 'top'].forEach(pos => {
|
|
1131
|
+
document.getElementById(`sb-pos-${pos}`).addEventListener('click', () => {
|
|
1132
|
+
bar.setAttribute('status-bar-position', pos);
|
|
1133
|
+
['inside', 'top'].forEach(p => {
|
|
1134
|
+
const btn = document.getElementById(`sb-pos-${p}`);
|
|
1135
|
+
const active = p === pos;
|
|
1136
|
+
btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
|
|
1137
|
+
btn.style.background = active ? '#eff6ff' : '#f8fafc';
|
|
1138
|
+
btn.style.color = active ? '#2563eb' : '#475569';
|
|
1139
|
+
});
|
|
1140
|
+
});
|
|
1141
|
+
});
|
|
1142
|
+
|
|
1143
|
+
// Height slider
|
|
1144
|
+
heightSlider.addEventListener('input', e => {
|
|
1145
|
+
const val = e.target.value;
|
|
1146
|
+
heightValEl.textContent = val;
|
|
1147
|
+
bar.setAttribute('stroke-width', val);
|
|
1148
|
+
});
|
|
1149
|
+
|
|
1150
|
+
// Custom label inputs — update status-labels attribute live
|
|
1151
|
+
function syncLabels() {
|
|
1152
|
+
const labels = {};
|
|
1153
|
+
['notStarted', 'running', 'interrupted', 'completed'].forEach(key => {
|
|
1154
|
+
const val = document.getElementById(`sb-lbl-${key}`)?.value.trim();
|
|
1155
|
+
if (val) labels[key] = val;
|
|
1156
|
+
});
|
|
1157
|
+
if (Object.keys(labels).length) {
|
|
1158
|
+
bar.setAttribute('status-labels', JSON.stringify(labels));
|
|
1159
|
+
} else {
|
|
1160
|
+
bar.removeAttribute('status-labels');
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
['notStarted', 'running', 'interrupted', 'completed'].forEach(key => {
|
|
1164
|
+
document.getElementById(`sb-lbl-${key}`)?.addEventListener('input', syncLabels);
|
|
1165
|
+
});
|
|
1166
|
+
};
|
|
1167
|
+
|
|
461
1168
|
showProgressPlayground();
|
|
462
1169
|
}
|