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
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
// Masonry Layout Demo — Premium Edition with Rich Photo Gallery
|
|
2
|
+
export function initMasonryDemo() {
|
|
3
|
+
const section = document.getElementById('masonry');
|
|
4
|
+
if (!section) return;
|
|
5
|
+
|
|
6
|
+
section.innerHTML = `
|
|
7
|
+
<p style="margin-top:0;color:var(--text-secondary);margin-bottom:20px;">
|
|
8
|
+
A premium masonry photo gallery with filtering, search, lightbox, and batch selection.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<div class="demo-controls" style="margin: 20px 0; display: flex; gap: 10px; flex-wrap: wrap;">
|
|
12
|
+
<ui-button id="btnMasonryPlayground" variant="outline" selected="true">🎮 Interactive Playground</ui-button>
|
|
13
|
+
<ui-button id="btnMasonryBasic" variant="outline">🖼️ Gallery</ui-button>
|
|
14
|
+
<ui-button id="btnMasonryFiltered" variant="outline">🔍 Filtered</ui-button>
|
|
15
|
+
<ui-button id="btnMasonrySelectable" variant="outline">✅ Selection</ui-button>
|
|
16
|
+
<ui-button id="btnMasonrySkeleton" variant="outline">💀 Skeleton</ui-button>
|
|
17
|
+
<ui-button id="btnMasonryProductGrid" variant="outline">📦 Product Grid</ui-button>
|
|
18
|
+
<ui-button id="btnMasonryNewsFeed" variant="outline">📰 News Feed</ui-button>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<div id="masonryDemoContainer" style="margin-top: 20px;"></div>
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
// Rich photo data using high-quality Unsplash images
|
|
25
|
+
const PHOTOS = [
|
|
26
|
+
{ id: 1, title: 'Alpine Sunrise', category: 'nature', tags: ['mountains','dawn'], likes: 2847, views: '14.2k', image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80', aspectRatio: '4/3' },
|
|
27
|
+
{ id: 2, title: 'Neon Cityscape', category: 'urban', tags: ['night','city'], likes: 1923, views: '9.8k', image: 'https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=600&q=80', aspectRatio: '3/4' },
|
|
28
|
+
{ id: 3, title: 'Red Fox at Dusk', category: 'animals', tags: ['wildlife','fox'], likes: 3512, views: '22.1k', image: 'https://images.unsplash.com/photo-1474511320723-9a56873867b5?w=600&q=80', aspectRatio: '4/3' },
|
|
29
|
+
{ id: 4, title: 'Ocean Cliff Walk', category: 'travel', tags: ['coast','cliffs'], likes: 4201, views: '31.0k', image: 'https://images.unsplash.com/photo-1505118380757-91f5f5632de0?w=600&q=80', aspectRatio: '3/4' },
|
|
30
|
+
{ id: 5, title: 'Cherry Blossoms', category: 'nature', tags: ['flowers','spring'], likes: 5674, views: '41.5k', image: 'https://images.unsplash.com/photo-1522383225653-d6cfde98c56d?w=600&q=80', aspectRatio: '4/3' },
|
|
31
|
+
{ id: 6, title: 'Tokyo Alley', category: 'urban', tags: ['japan','street'], likes: 2103, views: '17.4k', image: 'https://images.unsplash.com/photo-1540959733332-eab4deabeeaf?w=600&q=80', aspectRatio: '3/4' },
|
|
32
|
+
{ id: 7, title: 'Eagle in Flight', category: 'animals', tags: ['bird','sky'], likes: 1876, views: '12.9k', image: 'https://images.unsplash.com/photo-1611689102192-1f6e0e52df0a?w=600&q=80', aspectRatio: '4/3' },
|
|
33
|
+
{ id: 8, title: 'Santorini Sunset', category: 'travel', tags: ['greece','sunset'], likes: 6102, views: '48.3k', image: 'https://images.unsplash.com/photo-1533105079780-92b9be482077?w=600&q=80', aspectRatio: '4/3' },
|
|
34
|
+
{ id: 9, title: 'Ancient Redwoods', category: 'nature', tags: ['forest','trees'], likes: 3890, views: '28.7k', image: 'https://images.unsplash.com/photo-1448375240586-882707db888b?w=600&q=80', aspectRatio: '3/4' },
|
|
35
|
+
{ id: 10, title: 'Brooklyn Bridge', category: 'urban', tags: ['nyc','bridge'], likes: 4478, views: '35.2k', image: 'https://images.unsplash.com/photo-1548438294-1ad5d5f4f063?w=600&q=80', aspectRatio: '4/3' },
|
|
36
|
+
{ id: 11, title: 'Polar Bear Swim', category: 'animals', tags: ['arctic','polar'], likes: 2654, views: '19.1k', image: 'https://images.unsplash.com/photo-1589656966895-2f33e7653819?w=600&q=80', aspectRatio: '3/4' },
|
|
37
|
+
{ id: 12, title: 'Amalfi Coast Drive', category: 'travel', tags: ['italy','coast'], likes: 5233, views: '40.8k', image: 'https://images.unsplash.com/photo-1612698093158-e07ac200d44e?w=600&q=80', aspectRatio: '4/3' },
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
const FILTER_OPTIONS = [
|
|
41
|
+
{ key: 'all', label: '🌟 All', color: '#6366f1' },
|
|
42
|
+
{ key: 'nature', label: '🌲 Nature', color: '#10b981' },
|
|
43
|
+
{ key: 'urban', label: '🏙️ Urban', color: '#3b82f6' },
|
|
44
|
+
{ key: 'animals', label: '🦊 Animals', color: '#f59e0b' },
|
|
45
|
+
{ key: 'travel', label: '✈️ Travel', color: '#ec4899' },
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const CATEGORY_COLORS = {
|
|
49
|
+
nature: { bg: '#d1fae5', text: '#065f46' },
|
|
50
|
+
urban: { bg: '#dbeafe', text: '#1e40af' },
|
|
51
|
+
animals: { bg: '#fef3c7', text: '#92400e' },
|
|
52
|
+
travel: { bg: '#fce7f3', text: '#9d174d' },
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
// Store on window so inline onclick can access
|
|
56
|
+
window._masonryPhotos = PHOTOS;
|
|
57
|
+
window._masonryCatColors = CATEGORY_COLORS;
|
|
58
|
+
|
|
59
|
+
function updateActiveBtn(id) {
|
|
60
|
+
['btnMasonryPlayground','btnMasonryBasic','btnMasonryFiltered','btnMasonrySelectable','btnMasonrySkeleton','btnMasonryProductGrid','btnMasonryNewsFeed'].forEach(b => {
|
|
61
|
+
const el = document.getElementById(b);
|
|
62
|
+
if (el) el.selected = b === id;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// ── Render a masonry card (pure HTML, no Stencil masonry component) ──────────
|
|
67
|
+
function renderCard(photo, opts = {}) {
|
|
68
|
+
const { selectable = false, checked = false, idx = 0, showLightbox = true } = opts;
|
|
69
|
+
const cat = CATEGORY_COLORS[photo.category] || { bg: '#f3f4f6', text: '#374151' };
|
|
70
|
+
const checkHtml = selectable ? `
|
|
71
|
+
<div class="ms-checkbox" onclick="event.stopPropagation(); window._masonryToggle(${idx})"
|
|
72
|
+
style="position:absolute;top:10px;left:10px;z-index:3;
|
|
73
|
+
width:24px;height:24px;border-radius:6px;
|
|
74
|
+
background:${checked ? '#6366f1' : 'rgba(255,255,255,0.9)'};
|
|
75
|
+
border:2px solid ${checked ? '#6366f1' : 'rgba(255,255,255,0.7)'};
|
|
76
|
+
display:flex;align-items:center;justify-content:center;
|
|
77
|
+
cursor:pointer;transition:all 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.2);">
|
|
78
|
+
${checked ? '<svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2 6l3 3 5-5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>' : ''}
|
|
79
|
+
</div>` : '';
|
|
80
|
+
|
|
81
|
+
const lbBtn = showLightbox ? `
|
|
82
|
+
<button onclick="event.stopPropagation(); window._masonryLightbox(${photo.id})"
|
|
83
|
+
style="width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.15);
|
|
84
|
+
border:1px solid rgba(255,255,255,0.3);color:white;cursor:pointer;backdrop-filter:blur(4px);
|
|
85
|
+
display:flex;align-items:center;justify-content:center;transition:all 0.2s;"
|
|
86
|
+
onmouseover="this.style.background='rgba(255,255,255,0.25)'"
|
|
87
|
+
onmouseout="this.style.background='rgba(255,255,255,0.15)'">
|
|
88
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"/></svg>
|
|
89
|
+
</button>` : '';
|
|
90
|
+
|
|
91
|
+
return `
|
|
92
|
+
<div class="ms-card" data-id="${photo.id}" data-idx="${idx}"
|
|
93
|
+
style="border-radius:12px;overflow:hidden;background:var(--bg-primary,#fff);
|
|
94
|
+
box-shadow:0 2px 12px rgba(0,0,0,0.08);break-inside:avoid;
|
|
95
|
+
margin-bottom:16px;cursor:pointer;transition:transform 0.25s,box-shadow 0.25s;position:relative;
|
|
96
|
+
${checked ? 'outline:3px solid #6366f1;' : ''}"
|
|
97
|
+
onmouseover="this.style.transform='translateY(-4px)';this.style.boxShadow='0 12px 32px rgba(0,0,0,0.18)'"
|
|
98
|
+
onmouseout="this.style.transform='';this.style.boxShadow='0 2px 12px rgba(0,0,0,0.08)'">
|
|
99
|
+
|
|
100
|
+
${checkHtml}
|
|
101
|
+
|
|
102
|
+
<div class="ms-img-wrap" style="position:relative;overflow:hidden;">
|
|
103
|
+
<img src="${photo.image}" alt="${photo.title}" loading="lazy"
|
|
104
|
+
style="width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:${photo.aspectRatio};
|
|
105
|
+
transition:transform 0.4s;"
|
|
106
|
+
onmouseover="this.style.transform='scale(1.04)'"
|
|
107
|
+
onmouseout="this.style.transform=''"
|
|
108
|
+
onerror="this.style.display='none';this.nextElementSibling.style.display='flex'"/>
|
|
109
|
+
<div style="display:none;width:100%;aspect-ratio:${photo.aspectRatio};
|
|
110
|
+
background:linear-gradient(135deg,var(--bg-secondary,#f1f5f9),var(--bg-tertiary,#e2e8f0));
|
|
111
|
+
align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-muted,#94a3b8);">
|
|
112
|
+
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><path d="m21 15-5-5L5 21"/></svg>
|
|
113
|
+
<span style="font-size:12px;">Image unavailable</span>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<!-- Hover overlay -->
|
|
117
|
+
<div class="ms-overlay" style="position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.6) 0%,transparent 50%);
|
|
118
|
+
opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:12px;gap:8px;"
|
|
119
|
+
onmouseover="this.style.opacity='1'" onmouseout="this.style.opacity='0'">
|
|
120
|
+
${lbBtn}
|
|
121
|
+
<button onclick="event.stopPropagation()"
|
|
122
|
+
style="width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.15);
|
|
123
|
+
border:1px solid rgba(255,255,255,0.3);color:white;cursor:pointer;backdrop-filter:blur(4px);
|
|
124
|
+
display:flex;align-items:center;justify-content:center;transition:all 0.2s;"
|
|
125
|
+
onmouseover="this.style.background='rgba(239,68,68,0.4)'"
|
|
126
|
+
onmouseout="this.style.background='rgba(255,255,255,0.15)'">
|
|
127
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
|
|
128
|
+
</button>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div style="padding:12px 14px 14px;">
|
|
133
|
+
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;">
|
|
134
|
+
<h4 style="margin:0;font-size:13px;font-weight:700;color:var(--text-primary,#111827);line-height:1.3;">${photo.title}</h4>
|
|
135
|
+
<span style="padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;
|
|
136
|
+
background:${cat.bg};color:${cat.text};text-transform:uppercase;letter-spacing:0.04em;flex-shrink:0;margin-left:6px;">
|
|
137
|
+
${photo.category}
|
|
138
|
+
</span>
|
|
139
|
+
</div>
|
|
140
|
+
<div style="display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;">
|
|
141
|
+
${photo.tags.map(t => `<span style="padding:2px 6px;border-radius:4px;background:var(--bg-secondary,#f3f4f6);color:var(--text-muted,#6b7280);font-size:10px;">#${t}</span>`).join('')}
|
|
142
|
+
</div>
|
|
143
|
+
<div style="display:flex;gap:12px;align-items:center;color:var(--text-muted,#9ca3af);font-size:11px;">
|
|
144
|
+
<span style="display:flex;align-items:center;gap:4px;">
|
|
145
|
+
<svg width="11" height="11" viewBox="0 0 24 24" fill="currentColor"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
|
|
146
|
+
${photo.likes.toLocaleString()}
|
|
147
|
+
</span>
|
|
148
|
+
<span style="display:flex;align-items:center;gap:4px;">
|
|
149
|
+
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
|
|
150
|
+
${photo.views}
|
|
151
|
+
</span>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>`;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// ── Render a masonry grid of cards ──────────────────────────────────────────
|
|
158
|
+
function renderMasonryGrid(photos, cols, opts = {}) {
|
|
159
|
+
if (!photos.length) return `<div style="text-align:center;padding:60px;color:var(--text-muted,#9ca3af);">No photos found</div>`;
|
|
160
|
+
const columns = Array.from({ length: cols }, () => []);
|
|
161
|
+
photos.forEach((p, i) => columns[i % cols].push({ photo: p, idx: i }));
|
|
162
|
+
return `<div style="display:flex;gap:16px;align-items:flex-start;">
|
|
163
|
+
${columns.map(col => `
|
|
164
|
+
<div style="flex:1;min-width:0;">
|
|
165
|
+
${col.map(({ photo, idx }) => renderCard(photo, { ...opts, idx })).join('')}
|
|
166
|
+
</div>`).join('')}
|
|
167
|
+
</div>`;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// ── Lightbox ─────────────────────────────────────────────────────────────────
|
|
171
|
+
window._masonryLightbox = function(id) {
|
|
172
|
+
const photos = window._masonryPhotos;
|
|
173
|
+
let current = photos.findIndex(p => p.id === id);
|
|
174
|
+
if (current < 0) return;
|
|
175
|
+
|
|
176
|
+
function show(idx) {
|
|
177
|
+
const p = photos[idx];
|
|
178
|
+
const overlay = document.getElementById('ms-lightbox');
|
|
179
|
+
if (!overlay) return;
|
|
180
|
+
overlay.querySelector('.ms-lb-img').src = p.image.replace('w=600', 'w=1200');
|
|
181
|
+
overlay.querySelector('.ms-lb-title').textContent = p.title;
|
|
182
|
+
overlay.querySelector('.ms-lb-cat').textContent = p.category;
|
|
183
|
+
overlay.querySelector('.ms-lb-counter').textContent = `${idx + 1} / ${photos.length}`;
|
|
184
|
+
current = idx;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Inject lightbox if not present
|
|
188
|
+
if (!document.getElementById('ms-lightbox')) {
|
|
189
|
+
const lb = document.createElement('div');
|
|
190
|
+
lb.id = 'ms-lightbox';
|
|
191
|
+
lb.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:99999;display:flex;align-items:center;justify-content:center;animation:fadeIn 0.2s ease;';
|
|
192
|
+
lb.innerHTML = `
|
|
193
|
+
<button onclick="document.getElementById('ms-lightbox').remove()" style="position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.12);border:none;color:white;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;">✕</button>
|
|
194
|
+
<button onclick="window._masonryLbNav(-1)" style="position:absolute;left:20px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.12);border:none;color:white;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;">‹</button>
|
|
195
|
+
<div style="max-width:80vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:16px;">
|
|
196
|
+
<img class="ms-lb-img" src="" alt="" style="max-width:100%;max-height:75vh;border-radius:12px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,0.5);">
|
|
197
|
+
<div style="text-align:center;color:white;">
|
|
198
|
+
<div class="ms-lb-title" style="font-size:18px;font-weight:700;margin-bottom:4px;"></div>
|
|
199
|
+
<div class="ms-lb-cat" style="font-size:12px;opacity:0.6;text-transform:uppercase;letter-spacing:0.1em;"></div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
<button onclick="window._masonryLbNav(1)" style="position:absolute;right:20px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.12);border:none;color:white;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;">›</button>
|
|
203
|
+
<div class="ms-lb-counter" style="position:absolute;bottom:20px;color:rgba(255,255,255,0.5);font-size:13px;"></div>`;
|
|
204
|
+
document.body.appendChild(lb);
|
|
205
|
+
}
|
|
206
|
+
window._masonryLbNav = (dir) => {
|
|
207
|
+
const p = window._masonryPhotos;
|
|
208
|
+
show((current + dir + p.length) % p.length);
|
|
209
|
+
};
|
|
210
|
+
show(current);
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
// ── PLAYGROUND ────────────────────────────────────────────────────────────────
|
|
214
|
+
function showPlayground() {
|
|
215
|
+
updateActiveBtn('btnMasonryPlayground');
|
|
216
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
217
|
+
if (!c) return;
|
|
218
|
+
c.innerHTML = `
|
|
219
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
220
|
+
<h3 style="margin-top:0;display:flex;align-items:center;gap:10px;">
|
|
221
|
+
<span style="font-size:22px;">🎮</span> Interactive Masonry Playground
|
|
222
|
+
</h3>
|
|
223
|
+
<p style="color:var(--text-secondary);margin-bottom:24px;">Adjust columns, gap and category filter to preview the masonry layout live.</p>
|
|
224
|
+
|
|
225
|
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-default);margin-bottom:24px;">
|
|
226
|
+
<ui-dropdown id="pgCols" label="Columns" value="3" options='[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"},{"label":"4","value":"4"}]'></ui-dropdown>
|
|
227
|
+
<ui-dropdown id="pgCat" label="Category" value="all" options='[{"label":"All","value":"all"},{"label":"Nature","value":"nature"},{"label":"Urban","value":"urban"},{"label":"Animals","value":"animals"},{"label":"Travel","value":"travel"}]'></ui-dropdown>
|
|
228
|
+
<ui-dropdown id="pgSort" label="Sort By" value="none" options='[{"label":"Default","value":"none"},{"label":"Most Liked","value":"likes"},{"label":"Most Viewed","value":"views"},{"label":"A–Z","value":"alpha"}]'></ui-dropdown>
|
|
229
|
+
</div>
|
|
230
|
+
|
|
231
|
+
<div id="pgGrid"></div>
|
|
232
|
+
</div>`;
|
|
233
|
+
|
|
234
|
+
function refresh() {
|
|
235
|
+
const cols = parseInt(document.getElementById('pgCols')?.value || '3');
|
|
236
|
+
const cat = document.getElementById('pgCat')?.value || 'all';
|
|
237
|
+
const sort = document.getElementById('pgSort')?.value || 'none';
|
|
238
|
+
let photos = [...PHOTOS];
|
|
239
|
+
if (cat !== 'all') photos = photos.filter(p => p.category === cat);
|
|
240
|
+
if (sort === 'likes') photos.sort((a, b) => b.likes - a.likes);
|
|
241
|
+
if (sort === 'views') photos.sort((a, b) => parseFloat(b.views) - parseFloat(a.views));
|
|
242
|
+
if (sort === 'alpha') photos.sort((a, b) => a.title.localeCompare(b.title));
|
|
243
|
+
const grid = document.getElementById('pgGrid');
|
|
244
|
+
if (grid) grid.innerHTML = renderMasonryGrid(photos, cols, { showLightbox: true });
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
setTimeout(() => {
|
|
248
|
+
['pgCols','pgCat','pgSort'].forEach(id => {
|
|
249
|
+
document.getElementById(id)?.addEventListener('dropdownChange', refresh);
|
|
250
|
+
});
|
|
251
|
+
refresh();
|
|
252
|
+
}, 150);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// ── BASIC GALLERY ──────────────────────────────────────────────────────────
|
|
256
|
+
function showBasic() {
|
|
257
|
+
updateActiveBtn('btnMasonryBasic');
|
|
258
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
259
|
+
if (!c) return;
|
|
260
|
+
c.innerHTML = `
|
|
261
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
262
|
+
<h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">🖼️</span> Fluid Masonry Gallery</h3>
|
|
263
|
+
<p style="color:var(--text-secondary);margin-bottom:24px;">Natural waterfall layout with hover overlays and one-click lightbox.</p>
|
|
264
|
+
${renderMasonryGrid(PHOTOS, 3, { showLightbox: true })}
|
|
265
|
+
</div>`;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// ── FILTERED ───────────────────────────────────────────────────────────────
|
|
269
|
+
function showFiltered() {
|
|
270
|
+
updateActiveBtn('btnMasonryFiltered');
|
|
271
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
272
|
+
if (!c) return;
|
|
273
|
+
|
|
274
|
+
let activeFilter = 'all';
|
|
275
|
+
let searchText = '';
|
|
276
|
+
|
|
277
|
+
c.innerHTML = `
|
|
278
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
279
|
+
<h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">🔍</span> Categorized & Searchable</h3>
|
|
280
|
+
<p style="color:var(--text-secondary);margin-bottom:20px;">Filter by category or search across photo titles and tags.</p>
|
|
281
|
+
|
|
282
|
+
<div style="display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px;">
|
|
283
|
+
<div style="display:flex;gap:8px;flex-wrap:wrap;" id="filterBtns">
|
|
284
|
+
${FILTER_OPTIONS.map(f => `
|
|
285
|
+
<button id="fb_${f.key}" onclick="window._masonryFilter('${f.key}')"
|
|
286
|
+
style="padding:6px 16px;border-radius:20px;border:2px solid ${f.color};cursor:pointer;font-size:13px;font-weight:600;
|
|
287
|
+
background:${f.key === 'all' ? f.color : 'transparent'};color:${f.key === 'all' ? 'white' : f.color};
|
|
288
|
+
transition:all 0.2s;">
|
|
289
|
+
${f.label}
|
|
290
|
+
</button>`).join('')}
|
|
291
|
+
</div>
|
|
292
|
+
<div style="flex:1;min-width:200px;max-width:280px;">
|
|
293
|
+
<input id="masonrySearch" type="text" placeholder="🔍 Search photos…"
|
|
294
|
+
oninput="window._masonrySearch(this.value)"
|
|
295
|
+
style="width:100%;padding:8px 14px;border:1.5px solid var(--border-default,#e5e7eb);border-radius:20px;font-size:13px;
|
|
296
|
+
background:var(--bg-secondary);color:var(--text-primary);outline:none;box-sizing:border-box;
|
|
297
|
+
transition:border-color 0.2s;"
|
|
298
|
+
onfocus="this.style.borderColor='#6366f1'" onblur="this.style.borderColor='var(--border-default,#e5e7eb)'">
|
|
299
|
+
</div>
|
|
300
|
+
</div>
|
|
301
|
+
|
|
302
|
+
<div id="filteredCount" style="font-size:12px;color:var(--text-muted);margin-bottom:16px;">${PHOTOS.length} photos</div>
|
|
303
|
+
<div id="filteredGrid">${renderMasonryGrid(PHOTOS, 3, { showLightbox: true })}</div>
|
|
304
|
+
</div>`;
|
|
305
|
+
|
|
306
|
+
function applyFilter() {
|
|
307
|
+
let photos = [...PHOTOS];
|
|
308
|
+
if (activeFilter !== 'all') photos = photos.filter(p => p.category === activeFilter);
|
|
309
|
+
if (searchText) {
|
|
310
|
+
const q = searchText.toLowerCase();
|
|
311
|
+
photos = photos.filter(p => p.title.toLowerCase().includes(q) || p.tags.some(t => t.includes(q)) || p.category.includes(q));
|
|
312
|
+
}
|
|
313
|
+
const grid = document.getElementById('filteredGrid');
|
|
314
|
+
const count = document.getElementById('filteredCount');
|
|
315
|
+
if (grid) grid.innerHTML = renderMasonryGrid(photos, 3, { showLightbox: true });
|
|
316
|
+
if (count) count.textContent = `${photos.length} photo${photos.length !== 1 ? 's' : ''}`;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
window._masonryFilter = function(key) {
|
|
320
|
+
activeFilter = key;
|
|
321
|
+
FILTER_OPTIONS.forEach(f => {
|
|
322
|
+
const btn = document.getElementById('fb_' + f.key);
|
|
323
|
+
if (!btn) return;
|
|
324
|
+
btn.style.background = key === f.key ? f.color : 'transparent';
|
|
325
|
+
btn.style.color = key === f.key ? 'white' : f.color;
|
|
326
|
+
});
|
|
327
|
+
applyFilter();
|
|
328
|
+
};
|
|
329
|
+
window._masonrySearch = function(val) {
|
|
330
|
+
searchText = val;
|
|
331
|
+
applyFilter();
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// ── SELECTABLE ─────────────────────────────────────────────────────────────
|
|
336
|
+
function showSelectable() {
|
|
337
|
+
updateActiveBtn('btnMasonrySelectable');
|
|
338
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
339
|
+
if (!c) return;
|
|
340
|
+
|
|
341
|
+
window._masonrySelected = new Set();
|
|
342
|
+
|
|
343
|
+
function renderAll() {
|
|
344
|
+
const grid = document.getElementById('selectableGrid');
|
|
345
|
+
const badge = document.getElementById('selBadge');
|
|
346
|
+
if (!grid) return;
|
|
347
|
+
grid.innerHTML = renderMasonryGrid(PHOTOS, 3, { selectable: true, showLightbox: false });
|
|
348
|
+
// Re-apply checked state
|
|
349
|
+
window._masonrySelected.forEach(idx => {
|
|
350
|
+
const card = grid.querySelector(`[data-idx="${idx}"]`);
|
|
351
|
+
if (card) {
|
|
352
|
+
card.style.outline = '3px solid #6366f1';
|
|
353
|
+
const cb = card.querySelector('.ms-checkbox');
|
|
354
|
+
if (cb) {
|
|
355
|
+
cb.style.background = '#6366f1';
|
|
356
|
+
cb.style.borderColor = '#6366f1';
|
|
357
|
+
cb.innerHTML = '<svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2 6l3 3 5-5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>';
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
if (badge) {
|
|
362
|
+
const n = window._masonrySelected.size;
|
|
363
|
+
badge.textContent = `${n} photo${n !== 1 ? 's' : ''} selected`;
|
|
364
|
+
badge.style.background = n > 0 ? '#6366f1' : 'var(--bg-secondary)';
|
|
365
|
+
badge.style.color = n > 0 ? 'white' : 'var(--text-muted)';
|
|
366
|
+
}
|
|
367
|
+
const batchBar = document.getElementById('batchBar');
|
|
368
|
+
if (batchBar) batchBar.style.display = window._masonrySelected.size > 0 ? 'flex' : 'none';
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
window._masonryToggle = function(idx) {
|
|
372
|
+
if (window._masonrySelected.has(idx)) {
|
|
373
|
+
window._masonrySelected.delete(idx);
|
|
374
|
+
} else {
|
|
375
|
+
window._masonrySelected.add(idx);
|
|
376
|
+
}
|
|
377
|
+
renderAll();
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
c.innerHTML = `
|
|
381
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
382
|
+
<div style="display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px;">
|
|
383
|
+
<div>
|
|
384
|
+
<h3 style="margin:0 0 6px;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">✅</span> Selection & Batch Actions</h3>
|
|
385
|
+
<p style="color:var(--text-secondary);margin:0;">Click the checkbox on hover to select photos. Use Ctrl+A to select all.</p>
|
|
386
|
+
</div>
|
|
387
|
+
<div id="selBadge" style="padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;
|
|
388
|
+
background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-default);
|
|
389
|
+
white-space:nowrap;transition:all 0.3s;">0 photos selected</div>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
<div id="batchBar" style="display:none;gap:10px;align-items:center;padding:12px 16px;
|
|
393
|
+
background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;margin-bottom:20px;">
|
|
394
|
+
<span style="color:white;font-size:13px;font-weight:600;flex:1;" id="batchLabel"></span>
|
|
395
|
+
<button onclick="window._masonrySelected=new Set();window._masonryRenderAll()" style="padding:6px 14px;border-radius:6px;background:rgba(255,255,255,0.2);border:none;color:white;cursor:pointer;font-size:12px;font-weight:600;">Deselect All</button>
|
|
396
|
+
<button onclick="var n=window._masonrySelected.size;window._masonrySelected=new Set(Array.from({length:window._masonryPhotos.length},(_,i)=>i));window._masonryRenderAll()" style="padding:6px 14px;border-radius:6px;background:rgba(255,255,255,0.2);border:none;color:white;cursor:pointer;font-size:12px;font-weight:600;">Select All</button>
|
|
397
|
+
<button onclick="alert('Downloading '+window._masonrySelected.size+' photos!')" style="padding:6px 14px;border-radius:6px;background:white;border:none;color:#6366f1;cursor:pointer;font-size:12px;font-weight:700;">⬇ Download</button>
|
|
398
|
+
<button onclick="if(confirm('Delete '+window._masonrySelected.size+' photos?')){window._masonrySelected=new Set();window._masonryRenderAll()}" style="padding:6px 14px;border-radius:6px;background:rgba(239,68,68,0.85);border:none;color:white;cursor:pointer;font-size:12px;font-weight:700;">🗑 Delete</button>
|
|
399
|
+
</div>
|
|
400
|
+
|
|
401
|
+
<div id="selectableGrid"></div>
|
|
402
|
+
</div>`;
|
|
403
|
+
|
|
404
|
+
window._masonryRenderAll = renderAll;
|
|
405
|
+
renderAll();
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
// ── SKELETON LOADING ───────────────────────────────────────────────────────
|
|
409
|
+
function showSkeleton() {
|
|
410
|
+
updateActiveBtn('btnMasonrySkeleton');
|
|
411
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
412
|
+
if (!c) return;
|
|
413
|
+
|
|
414
|
+
const skeletonItems = Array.from({ length: 9 }, (_, i) => ({
|
|
415
|
+
id: i + 1,
|
|
416
|
+
title: `Item ${i + 1}`,
|
|
417
|
+
description: 'Loading...',
|
|
418
|
+
image: `https://picsum.photos/400/${[220,300,260,350,200,280,320,240,290][i % 9]}?random=${i}`,
|
|
419
|
+
category: ['nature','architecture','food','technology'][i % 4],
|
|
420
|
+
}));
|
|
421
|
+
|
|
422
|
+
c.innerHTML = `
|
|
423
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
424
|
+
<div style="display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px;">
|
|
425
|
+
<div>
|
|
426
|
+
<h3 style="margin:0 0 6px;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">💀</span> Skeleton Loading State</h3>
|
|
427
|
+
<p style="color:var(--text-secondary);margin:0;">Realistic animated placeholder tiles shown while content is being fetched. Toggle between loading and loaded states.</p>
|
|
428
|
+
</div>
|
|
429
|
+
<ui-button id="btnToggleSkeleton" variant="outline" color="warning">Toggle Loading</ui-button>
|
|
430
|
+
</div>
|
|
431
|
+
|
|
432
|
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:32px;">
|
|
433
|
+
<div>
|
|
434
|
+
<p style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary,#64748b);margin:0 0 12px;">Loading State (<code>loading-state="true"</code>)</p>
|
|
435
|
+
<ui-masonry id="masonrySkeletonOn" layout-type="masonry" columns="2" gap="14" loading-state="true"></ui-masonry>
|
|
436
|
+
</div>
|
|
437
|
+
<div>
|
|
438
|
+
<p style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary,#64748b);margin:0 0 12px;">Loaded State (normal)</p>
|
|
439
|
+
<ui-masonry id="masonrySkeletonOff" layout-type="masonry" columns="2" gap="14"></ui-masonry>
|
|
440
|
+
</div>
|
|
441
|
+
</div>
|
|
442
|
+
|
|
443
|
+
<div style="margin-top:32px;">
|
|
444
|
+
<p style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary,#64748b);margin:0 0 12px;">Full-width togglable (<code>loading-state</code> controlled via JS)</p>
|
|
445
|
+
<ui-masonry id="masonrySkeletonLive" layout-type="masonry" columns="3" gap="16" loading-state="true"></ui-masonry>
|
|
446
|
+
</div>
|
|
447
|
+
</div>`;
|
|
448
|
+
|
|
449
|
+
setTimeout(() => {
|
|
450
|
+
const off = document.getElementById('masonrySkeletonOff');
|
|
451
|
+
const live = document.getElementById('masonrySkeletonLive');
|
|
452
|
+
if (off) off.items = skeletonItems;
|
|
453
|
+
if (live) live.items = skeletonItems;
|
|
454
|
+
|
|
455
|
+
document.getElementById('btnToggleSkeleton')?.addEventListener('click', () => {
|
|
456
|
+
const el = document.getElementById('masonrySkeletonLive');
|
|
457
|
+
if (el) {
|
|
458
|
+
el.loadingState = !el.loadingState;
|
|
459
|
+
document.getElementById('btnToggleSkeleton').label = el.loadingState ? 'Show Loaded' : 'Show Loading';
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
}, 150);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
// ── PRODUCT GRID ───────────────────────────────────────────────────────────
|
|
466
|
+
function showProductGrid() {
|
|
467
|
+
updateActiveBtn('btnMasonryProductGrid');
|
|
468
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
469
|
+
if (!c) return;
|
|
470
|
+
|
|
471
|
+
const categories = ['electronics','fashion','home','sports'];
|
|
472
|
+
const productNames = [
|
|
473
|
+
'Wireless Headphones','Leather Jacket','Smart Lamp','Running Shoes',
|
|
474
|
+
'Mechanical Keyboard','Silk Blouse','Yoga Mat','Trail Sneakers',
|
|
475
|
+
'Gaming Mouse','Puffer Vest','Desk Organiser','Cycling Gloves',
|
|
476
|
+
'USB-C Hub','Denim Jeans','Throw Pillow','Water Bottle',
|
|
477
|
+
'Webcam HD','Trench Coat','Candle Set','Gym Shorts',
|
|
478
|
+
];
|
|
479
|
+
const prices = [49.99,129.00,39.99,89.00,79.99,59.00,34.99,109.00,44.99,99.00,
|
|
480
|
+
24.99,29.00,54.99,69.99,19.99,22.00,89.99,149.00,18.00,39.00];
|
|
481
|
+
const productItems = productNames.map((name, i) => ({
|
|
482
|
+
id: i + 1,
|
|
483
|
+
title: name,
|
|
484
|
+
description: `$${prices[i].toFixed(2)} · ★ ${(3.8 + (i % 5) * 0.1).toFixed(1)} (${80 + i * 7} reviews)`,
|
|
485
|
+
image: `https://picsum.photos/400/300?random=${i + 100}`,
|
|
486
|
+
category: categories[i % 4],
|
|
487
|
+
height: 300,
|
|
488
|
+
}));
|
|
489
|
+
|
|
490
|
+
const filterOpts = categories.map(k => ({ key: k, label: k.charAt(0).toUpperCase() + k.slice(1) }));
|
|
491
|
+
|
|
492
|
+
c.innerHTML = `
|
|
493
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
494
|
+
<h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">📦</span> Product Grid (<code>layout-type="grid"</code>)</h3>
|
|
495
|
+
<p style="color:var(--text-secondary);margin-bottom:20px;">Equal-height grid layout ideal for product listings. Category filter and multi-select batch actions included.</p>
|
|
496
|
+
<ui-masonry id="masonryProductGrid"
|
|
497
|
+
layout-type="grid"
|
|
498
|
+
columns="4"
|
|
499
|
+
gap="20"
|
|
500
|
+
show-filters="true"
|
|
501
|
+
selectable="true"
|
|
502
|
+
multi-select="true"
|
|
503
|
+
show-batch-actions="true"
|
|
504
|
+
lightbox="true">
|
|
505
|
+
</ui-masonry>
|
|
506
|
+
</div>`;
|
|
507
|
+
|
|
508
|
+
setTimeout(() => {
|
|
509
|
+
const el = document.getElementById('masonryProductGrid');
|
|
510
|
+
if (!el) return;
|
|
511
|
+
el.filterOptions = filterOpts;
|
|
512
|
+
el.items = productItems;
|
|
513
|
+
}, 150);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
// ── NEWS FEED ──────────────────────────────────────────────────────────────
|
|
517
|
+
function showNewsFeed() {
|
|
518
|
+
updateActiveBtn('btnMasonryNewsFeed');
|
|
519
|
+
const c = document.getElementById('masonryDemoContainer');
|
|
520
|
+
if (!c) return;
|
|
521
|
+
|
|
522
|
+
const topics = ['technology','design','business','science'];
|
|
523
|
+
const headlines = [
|
|
524
|
+
'The Future of AI in Everyday Products',
|
|
525
|
+
'How Brutalist Design Is Making a Comeback',
|
|
526
|
+
'Remote Work Trends Reshaping Office Real Estate',
|
|
527
|
+
'New Study Links Sleep Quality to Cognitive Performance',
|
|
528
|
+
'Open-Source Models Challenge Proprietary AI Giants',
|
|
529
|
+
'Typography Trends to Watch This Year',
|
|
530
|
+
'Startup Valuations Stabilise After Two Turbulent Years',
|
|
531
|
+
'Quantum Computing Moves Closer to Commercial Viability',
|
|
532
|
+
'CSS Grid vs Flexbox: The 2026 Perspective',
|
|
533
|
+
'Building Design Systems That Scale Across Teams',
|
|
534
|
+
'Venture Capital Pivots Toward Climate-Tech',
|
|
535
|
+
'Researchers Discover Novel Protein-Folding Pathway',
|
|
536
|
+
'Edge Computing and the Death of the Monolithic Cloud',
|
|
537
|
+
'The Return of Skeuomorphism in Mobile UI',
|
|
538
|
+
'ESG Reporting Becomes Mandatory for Mid-Cap Firms',
|
|
539
|
+
'CRISPR Applications Expand Beyond Genetic Disease',
|
|
540
|
+
'Web Assembly Reaches Performance Parity With Native Code',
|
|
541
|
+
'Spatial Design Principles for XR Interfaces',
|
|
542
|
+
];
|
|
543
|
+
const authors = ['Alex Morgan','Sam Chen','Jordan Lee','Taylor Kim','Riley Park','Casey Wu'];
|
|
544
|
+
const dates = ['May 28','May 27','May 26','May 25','May 24','May 23'];
|
|
545
|
+
|
|
546
|
+
const newsItems = headlines.map((h, i) => ({
|
|
547
|
+
id: i + 1,
|
|
548
|
+
title: h,
|
|
549
|
+
description: `By ${authors[i % 6]} · ${dates[i % 6]} — ${[
|
|
550
|
+
'An in-depth look at emerging patterns that are transforming how we interact with technology.',
|
|
551
|
+
'Industry experts weigh in on the forces shaping the next decade of innovation.',
|
|
552
|
+
'A comprehensive analysis of recent developments and what they mean for practitioners.',
|
|
553
|
+
][i % 3]}`,
|
|
554
|
+
image: `https://picsum.photos/600/${[200,260,220,300,240,280][i % 6]}?random=${i + 200}`,
|
|
555
|
+
category: topics[i % 4],
|
|
556
|
+
}));
|
|
557
|
+
|
|
558
|
+
const filterOpts = topics.map(k => ({ key: k, label: k.charAt(0).toUpperCase() + k.slice(1) }));
|
|
559
|
+
|
|
560
|
+
c.innerHTML = `
|
|
561
|
+
<div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
|
|
562
|
+
<h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">📰</span> News Feed (<code>layout-type="columns"</code>)</h3>
|
|
563
|
+
<p style="color:var(--text-secondary);margin-bottom:20px;">Column-based layout for articles and blog posts. Items fill columns top-to-bottom for a natural reading flow.</p>
|
|
564
|
+
<ui-masonry id="masonryNewsFeed"
|
|
565
|
+
layout-type="columns"
|
|
566
|
+
columns="3"
|
|
567
|
+
gap="24"
|
|
568
|
+
show-filters="true"
|
|
569
|
+
lazy-load="true">
|
|
570
|
+
</ui-masonry>
|
|
571
|
+
</div>`;
|
|
572
|
+
|
|
573
|
+
setTimeout(() => {
|
|
574
|
+
const el = document.getElementById('masonryNewsFeed');
|
|
575
|
+
if (!el) return;
|
|
576
|
+
el.filterOptions = filterOpts;
|
|
577
|
+
el.items = newsItems;
|
|
578
|
+
}, 150);
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
// Wire up nav buttons
|
|
582
|
+
setTimeout(() => {
|
|
583
|
+
document.getElementById('btnMasonryPlayground')?.addEventListener('click', showPlayground);
|
|
584
|
+
document.getElementById('btnMasonryBasic')?.addEventListener('click', showBasic);
|
|
585
|
+
document.getElementById('btnMasonryFiltered')?.addEventListener('click', showFiltered);
|
|
586
|
+
document.getElementById('btnMasonrySelectable')?.addEventListener('click', showSelectable);
|
|
587
|
+
document.getElementById('btnMasonrySkeleton')?.addEventListener('click', showSkeleton);
|
|
588
|
+
document.getElementById('btnMasonryProductGrid')?.addEventListener('click', showProductGrid);
|
|
589
|
+
document.getElementById('btnMasonryNewsFeed')?.addEventListener('click', showNewsFeed);
|
|
590
|
+
showPlayground();
|
|
591
|
+
}, 100);
|
|
592
|
+
}
|