atomicuilibrary 0.0.1 → 0.1.0
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 +1 -1
- package/dist/cjs/exploration-project-tailwind.cjs.js +1 -1
- package/dist/cjs/layout-manager.cjs.entry.js +1 -1
- package/dist/cjs/library-card.cjs.entry.js +1 -1
- package/dist/cjs/lm-container_2.cjs.entry.js +1 -1
- package/dist/cjs/lm-panel_3.cjs.entry.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/my-step.cjs.entry.js +1 -1
- package/dist/cjs/nav-bar.cjs.entry.js +2 -2
- package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
- package/dist/cjs/smart-step.cjs.entry.js +2 -2
- package/dist/cjs/timeline-item.cjs.entry.js +1 -1
- package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +613 -26
- package/dist/cjs/ui-advanced-data-table.cjs.entry.js +1 -1
- package/dist/cjs/ui-anchor.cjs.entry.js +1 -1
- package/dist/cjs/ui-aside-panel.cjs.entry.js +5 -5
- package/dist/cjs/ui-avatar-group_3.cjs.entry.js +5 -5
- package/dist/cjs/ui-callout-banner.cjs.entry.js +1 -1
- package/dist/cjs/ui-card.cjs.entry.js +26 -4
- package/dist/cjs/ui-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
- package/dist/cjs/ui-code-preview.cjs.entry.js +1 -1
- package/dist/cjs/ui-color-controller.cjs.entry.js +1 -1
- package/dist/cjs/ui-dialog-box.cjs.entry.js +1 -1
- package/dist/cjs/ui-dock-host.cjs.entry.js +3 -3
- package/dist/cjs/ui-drag-drop.cjs.entry.js +1 -1
- package/dist/cjs/ui-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/ui-fab-item.cjs.entry.js +1 -1
- package/dist/cjs/ui-fab.cjs.entry.js +2 -2
- package/dist/cjs/ui-library.cjs.entry.js +1 -1
- package/dist/cjs/ui-list-group_2.cjs.entry.js +9 -5
- package/dist/cjs/ui-list.cjs.entry.js +4 -4
- package/dist/cjs/ui-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/ui-otp-input.cjs.entry.js +2 -2
- package/dist/cjs/{ui-pagination_3.cjs.entry.js → ui-pagination_4.cjs.entry.js} +202 -0
- package/dist/cjs/ui-pattern-input.cjs.entry.js +5 -5
- package/dist/cjs/ui-popover.cjs.entry.js +1 -1
- package/dist/cjs/ui-progress.cjs.entry.js +101 -17
- package/dist/cjs/ui-resizable-panel.cjs.entry.js +1 -1
- package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/ui-smart-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ui-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/ui-step.cjs.entry.js +1 -1
- package/dist/cjs/ui-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ui-switch.cjs.entry.js +9 -9
- package/dist/cjs/ui-tabs.cjs.entry.js +1 -1
- package/dist/cjs/ui-timeline.cjs.entry.js +1 -1
- package/dist/cjs/ui-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/ui-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/ui-transfer-list.cjs.entry.js +1 -1
- package/dist/cjs/ui-workspace-manager.cjs.entry.js +1 -1
- package/dist/collection/assets/js/demo-loader.js +0 -1
- package/dist/collection/assets/js/demos/accordion-demo.js +189 -0
- package/dist/collection/assets/js/demos/advanced-data-table-demo.js +213 -214
- package/dist/collection/assets/js/demos/aside-panel-demo.js +6 -6
- package/dist/collection/assets/js/demos/button-demo.js +60 -1
- package/dist/collection/assets/js/demos/callout-banner-demo.js +324 -34
- package/dist/collection/assets/js/demos/card-demo.js +108 -61
- package/dist/collection/assets/js/demos/context-menu-demo.js +433 -12
- package/dist/collection/assets/js/demos/dock-demo.js +80 -60
- package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
- package/dist/collection/assets/js/demos/empty-state-demo.js +10 -10
- package/dist/collection/assets/js/demos/list-demo.js +41 -18
- package/dist/collection/assets/js/demos/masonry-demo.js +164 -0
- package/dist/collection/assets/js/demos/progress-demo.js +701 -8
- package/dist/collection/assets/js/demos/radio-demo.js +1 -1
- package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
- package/dist/collection/assets/js/demos/tag-demo.js +48 -18
- package/dist/collection/assets/js/demos/timeline-demo.js +20 -7
- package/dist/collection/assets/js/demos/tooltip-demo.js +26 -26
- package/dist/collection/assets/js/demos/tree-demo.js +28 -10
- package/dist/collection/collection-manifest.json +1 -4
- package/dist/collection/components/accordion/accordion.css +301 -0
- package/dist/collection/components/accordion/accordion.js +40 -8
- package/dist/collection/components/advanced-data-table/advanced-data-table.css +19 -5
- package/dist/collection/components/anchor/anchor.css +0 -2
- package/dist/collection/components/aside-panel/aside-panel.css +1 -3
- package/dist/collection/components/aside-panel/aside-panel.js +5 -5
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/badge/badge.css +1 -0
- package/dist/collection/components/badge/badge.js +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/button/button.css +131 -0
- package/dist/collection/components/button/button.js +128 -9
- package/dist/collection/components/card/card.css +83 -31
- package/dist/collection/components/card/card.js +46 -3
- package/dist/collection/components/checkbox/checkbox.css +8 -10
- package/dist/collection/components/checkbox/checkbox.js +2 -2
- 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-controller/color-controller.js +1 -1
- package/dist/collection/components/context-menu/context-menu.css +3 -3
- package/dist/collection/components/dialog-box/dialog-box.js +1 -1
- package/dist/collection/components/dialog-header/dialog-header.js +1 -1
- 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/empty-state/empty-state.js +1 -1
- package/dist/collection/components/fab/fab.js +2 -2
- package/dist/collection/components/fab-item/fab-item.js +1 -1
- 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.js +4 -4
- 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.js +4 -4
- package/dist/collection/components/list-item/list-item.css +24 -0
- package/dist/collection/components/list-item/list-item.js +35 -4
- package/dist/collection/components/loader/loader.css +1635 -0
- package/dist/collection/components/loader/loader.js +1120 -0
- package/dist/collection/components/my-step/my-step.js +1 -1
- package/dist/collection/components/nav-bar/nav-bar.js +6 -6
- package/dist/collection/components/otp-input/otp-input.js +2 -2
- package/dist/collection/components/pattern-input/pattern-input.js +5 -5
- package/dist/collection/components/progress/progress.css +150 -15
- package/dist/collection/components/progress/progress.js +180 -18
- package/dist/collection/components/radio/radio.css +3 -3
- package/dist/collection/components/radio/radio.js +1 -1
- package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
- package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +2 -2
- 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/stack/stack.js +2 -2
- package/dist/collection/components/step/step.js +1 -1
- package/dist/collection/components/switch/switch.js +10 -10
- package/dist/collection/components/tag-group/tag-group.js +2 -2
- package/dist/collection/components/timeline-item/timeline-item.js +1 -1
- package/dist/collection/components/toolbar/toolbar.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +3 -3
- package/dist/collection/components/top-bar/top-bar.js +2 -2
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +19 -4
- package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +6 -6
- package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
- package/dist/collection/components.js +1 -0
- 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/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/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/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-aside-panel.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-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-controller.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-library.js +1 -1
- package/dist/components/ui-list.js +1 -1
- package/dist/components/{ui-input-pair.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-location-dropdown.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-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 +1 -1
- package/dist/esm/exploration-project-tailwind.js +1 -1
- package/dist/esm/layout-manager.entry.js +1 -1
- package/dist/esm/library-card.entry.js +1 -1
- package/dist/esm/lm-container_2.entry.js +1 -1
- package/dist/esm/lm-panel_3.entry.js +4 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/my-step.entry.js +1 -1
- package/dist/esm/nav-bar.entry.js +2 -2
- package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
- package/dist/esm/smart-step.entry.js +2 -2
- package/dist/esm/timeline-item.entry.js +1 -1
- package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +613 -27
- package/dist/esm/ui-advanced-data-table.entry.js +1 -1
- package/dist/esm/ui-anchor.entry.js +1 -1
- package/dist/esm/ui-aside-panel.entry.js +5 -5
- package/dist/esm/ui-avatar-group_3.entry.js +5 -5
- package/dist/esm/ui-callout-banner.entry.js +1 -1
- package/dist/esm/ui-card.entry.js +26 -4
- package/dist/esm/ui-checkbox.entry.js +2 -2
- package/dist/esm/ui-code-editor.entry.js +2 -2
- package/dist/esm/ui-code-preview.entry.js +1 -1
- package/dist/esm/ui-color-controller.entry.js +1 -1
- package/dist/esm/ui-dialog-box.entry.js +1 -1
- package/dist/esm/ui-dock-host.entry.js +3 -3
- package/dist/esm/ui-drag-drop.entry.js +1 -1
- package/dist/esm/ui-empty-state.entry.js +1 -1
- package/dist/esm/ui-fab-item.entry.js +1 -1
- package/dist/esm/ui-fab.entry.js +2 -2
- package/dist/esm/ui-library.entry.js +1 -1
- package/dist/esm/ui-list-group_2.entry.js +9 -5
- package/dist/esm/ui-list.entry.js +4 -4
- package/dist/esm/ui-navigation-item.entry.js +3 -3
- package/dist/esm/ui-otp-input.entry.js +2 -2
- package/dist/esm/{ui-pagination_3.entry.js → ui-pagination_4.entry.js} +202 -1
- package/dist/esm/ui-pattern-input.entry.js +5 -5
- package/dist/esm/ui-popover.entry.js +1 -1
- package/dist/esm/ui-progress.entry.js +101 -17
- package/dist/esm/ui-resizable-panel.entry.js +1 -1
- package/dist/esm/ui-smart-location-dropdown.entry.js +2 -2
- package/dist/esm/ui-smart-stepper.entry.js +1 -1
- package/dist/esm/ui-snackbar.entry.js +1 -1
- package/dist/esm/ui-step.entry.js +1 -1
- package/dist/esm/ui-stepper.entry.js +1 -1
- package/dist/esm/ui-switch.entry.js +9 -9
- package/dist/esm/ui-tabs.entry.js +1 -1
- package/dist/esm/ui-timeline.entry.js +1 -1
- package/dist/esm/ui-toolbar.entry.js +1 -1
- package/dist/esm/ui-tooltip.entry.js +4 -4
- package/dist/esm/ui-transfer-list.entry.js +1 -1
- package/dist/esm/ui-workspace-manager.entry.js +1 -1
- package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
- package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-036d2a44.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-05a436d3.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-a4f52a76.entry.js → p-16bdd162.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-20ecc116.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-2347d21b.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-3d381f75.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-4288c158.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-2f1aebb3.entry.js → p-4417a9d8.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-049744f9.entry.js → p-44742ddd.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4aaa8e40.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-6fa9dc15.entry.js → p-4bef8bed.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-64e3a484.entry.js → p-4efd63ce.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-54965530.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-5c835d90.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-6b838549.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-6ddbee42.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-70bacda8.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-9fa70359.entry.js → p-71d95bb1.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-7889bfc4.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-790556f0.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-7ba2258a.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-81ebba11.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-8578b616.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-8b57fe4e.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-97af03cc.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-98e91da5.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-d2308a00.entry.js → p-9bd14f69.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
- package/dist/exploration-project-tailwind/{p-ba21fed3.entry.js → p-a27f59d2.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-70d82d79.entry.js → p-a7b07cf4.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-5508874f.entry.js → p-bd89d060.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-c02284ea.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-c1c8ac28.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-c63c522e.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-cbee2607.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-d114a347.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-d2e45c5e.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-d59da767.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-46596a28.entry.js → p-d6ce9721.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-875be805.entry.js → p-dc92a343.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-e22317c1.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-d16c9635.entry.js → p-e76318c7.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-e8c6d395.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-c2ca71ac.entry.js → p-eab5ad36.entry.js} +1 -1
- package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f1beee72.entry.js +1 -0
- package/dist/exploration-project-tailwind/p-f543392f.entry.js +1 -0
- package/dist/exploration-project-tailwind/{p-46efdea3.entry.js → p-f61cfb7c.entry.js} +1 -1
- package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-fb4aca69.entry.js} +1 -1
- package/dist/types/components/accordion/accordion.d.ts +10 -2
- package/dist/types/components/button/button.d.ts +9 -0
- package/dist/types/components/card/card.d.ts +4 -0
- package/dist/types/components/list-item/list-item.d.ts +1 -0
- package/dist/types/components/loader/loader.d.ts +145 -0
- package/dist/types/components/progress/progress.d.ts +34 -2
- package/dist/types/components.d.ts +509 -993
- package/dist/types/types/common.d.ts +1 -1
- package/dist/types/types/common.type.d.ts +1 -1
- package/package.json +8 -7
- package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
- 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-radio-group.cjs.entry.js +0 -205
- package/dist/cjs/ui-radio.cjs.entry.js +0 -206
- 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/checkbox-group/types.js +0 -1
- 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/components/ui-checkbox-group.d.ts +0 -11
- package/dist/components/ui-checkbox-group.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.d.ts +0 -11
- package/dist/components/ui-radio-group.js +0 -1
- package/dist/esm/ui-checkbox-group.entry.js +0 -328
- package/dist/esm/ui-image-button.entry.js +0 -65
- package/dist/esm/ui-input-pair.entry.js +0 -42
- package/dist/esm/ui-radio-group.entry.js +0 -203
- package/dist/esm/ui-radio.entry.js +0 -204
- package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-5ce0dbd8.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-7376ac95.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-7f91d949.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
- package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
- package/dist/exploration-project-tailwind/p-e90d5307.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/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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
|
2
|
-
|
|
3
|
-
interface UiCheckboxGroup extends Components.UiCheckboxGroup, HTMLElement {}
|
|
4
|
-
export const UiCheckboxGroup: {
|
|
5
|
-
prototype: UiCheckboxGroup;
|
|
6
|
-
new (): UiCheckboxGroup;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as t,createEvent as i,h as r,transformTag as s}from"@stencil/core/internal/client";import{d as o,a}from"./badge.js";import{d as l}from"./checkbox.js";import{d as c}from"./icon.js";const h=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.groupChange=i(this,"groupChange",7),this.groupValidation=i(this,"groupValidation",7)}normalizeValue(e){return Array.isArray(e)?e:"string"==typeof e&&e?e.split(","):[]}get el(){return this}internals;value=[];name="";label="";helperText="";errorMessage="";required=!1;disabled=!1;readonly=!1;invalid=!1;orientation="vertical";gap="12px";showSelectAll=!1;selectAllLabel="Select All";buttonGroup=!1;min=0;max=1/0;validateOnChange=!0;size="md";color="primary";showSelectionCount=!1;reveal="none";revealDelay=0;revealStagger=60;victoryGlow=!1;rtl=!1;selectAllState="none";isVictory=!1;groupChange;groupValidation;componentWillLoad(){this.internals=this.el.attachInternals(),this.updateFormValue(),this.discoverCheckboxes(),this.updateCheckboxStates(),this.updateSelectAllState()}formResetCallback(){this.value=[],this.updateCheckboxStates(),this.updateSelectAllState(),this.updateFormValue()}handleValueChange(){this.updateCheckboxStates(),this.updateSelectAllState(),this.validateOnChange&&this.validate()}handleCheckboxChange(e){const{checked:t,value:i}=e.detail;if(this.disabled||this.readonly)return;let r=this.normalizeValue(this.value);t?r.includes(i)||(this.max===1/0||r.length<this.max)&&(r=[...r,i]):r=r.filter((e=>e!==i)),this.value=r,this.groupChange.emit({value:this.value}),this.updateSelectAllState(),this.validateOnChange&&this.validate(),this.updateFormValue()}updateFormValue(){if(this.name){const e=new FormData;this.value.forEach((t=>e.append(this.name,t))),this.internals.setFormValue(e)}else this.internals.setFormValue(this.value.join(","))}discoverCheckboxes(){}updateCheckboxStates(){const e=this.getAllCheckboxes(),t=this.normalizeValue(this.value),i=this.max!==1/0&&t.length>=this.max;e.forEach(((e,r)=>{e.checked=t.includes(e.value),e.disabled=this.disabled||i&&!e.checked||e.disabled,e.readonly=this.readonly,e.size=this.size,e.color=this.color,e.reveal=this.reveal,e.revealDelay=this.revealDelay+r*this.revealStagger,e.rtl=this.rtl,e.isButton=this.buttonGroup,this.name&&(e.name=this.name)}))}getAllCheckboxes(){return[...Array.from(this.el.querySelectorAll("ui-checkbox")),...Array.from(this.el.shadowRoot.querySelectorAll("ui-checkbox"))]}updateSelectAllState(){const e=this.getAllCheckboxes(),t=this.normalizeValue(this.value),i=e.filter((e=>!e.disabled));if(0===i.length)return;const r=i.filter((e=>t.includes(e.value))).length;0===r?(this.selectAllState="none",this.isVictory=!1):r===i.length?(this.selectAllState="all",this.victoryGlow&&(this.isVictory=!0)):(this.selectAllState="some",this.isVictory=!1)}handleSelectAllChange=e=>{if(this.disabled||this.readonly)return;const t=e.target,i=this.getAllCheckboxes().filter((e=>!e.disabled));if(t.checked){const e=i.map((e=>e.value)),t=Array.from(new Set([...this.value,...e]));this.value=this.max!==1/0?t.slice(0,this.max):t}else{const e=i.map((e=>e.value));this.value=this.value.filter((t=>!e.includes(t)))}this.groupChange.emit({value:this.value}),this.updateSelectAllState(),this.validateOnChange&&this.validate()};validate(){const e=[];this.required&&0===this.value.length&&e.push("At least one option must be selected"),this.min>0&&this.value.length<this.min&&e.push(`At least ${this.min} option${this.min>1?"s":""} must be selected`),this.max!==1/0&&this.value.length>this.max&&e.push(`No more than ${this.max} option${this.max>1?"s":""} can be selected`);const t=0===e.length;return this.groupValidation.emit({valid:t,errors:e}),t}selectAll(){const e=this.getAllCheckboxes().filter((e=>!e.disabled)).map((e=>e.value));this.value=this.max!==1/0?e.slice(0,this.max):e,this.groupChange.emit({value:this.value})}deselectAll(){this.value=[],this.groupChange.emit({value:this.value})}toggleAll(){"all"===this.selectAllState?this.deselectAll():this.selectAll()}renderSelectAll(){return this.showSelectAll?r("div",{class:"select-all-container"},r("ui-checkbox",{checked:"all"===this.selectAllState,indeterminate:"some"===this.selectAllState,label:this.selectAllLabel,disabled:this.disabled,readonly:this.readonly,size:this.size,color:this.color,rtl:this.rtl,onCheckboxChange:this.handleSelectAllChange})):null}renderLabel(){return this.label?r("div",{class:"group-label"},r("span",{class:"label-text"},this.label,this.required&&r("span",{class:"required-indicator"},"*")),this.showSelectionCount&&r("span",{class:"selection-count"},"(",this.value.length,this.max!==1/0?" / "+this.max:""," selected)")):null}renderHelperText(){if(this.invalid&&this.errorMessage)return r("div",{class:"helper-text error"},r("ui-icon",{name:"fa-exclamation-circle"}),this.errorMessage);if(this.helperText)return r("div",{class:"helper-text"},this.helperText);if(this.min>0||this.max!==1/0){const e=this.value.length;let t="";return this.min>0&&this.max!==1/0?t=`Select ${this.min}-${this.max} options (${e} selected)`:this.min>0?t=`Select at least ${this.min} option${this.min>1?"s":""} (${e} selected)`:this.max!==1/0&&(t=`Select up to ${this.max} option${this.max>1?"s":""} (${e} selected)`),r("div",{class:"helper-text"},t)}return null}options=[];searchable=!1;searchPlaceholder="Search options...";layout="list";columns=2;searchQuery="";handleSearch=e=>{this.searchQuery=e.target.value.toLowerCase()};getFilteredOptions(){if(!this.options||0===this.options.length)return[];const e=this.options.map((e=>"string"==typeof e?{label:e,value:e,disabled:!1}:e));return this.searchQuery?e.filter((e=>e.label.toLowerCase().includes(this.searchQuery))):e}renderSearch(){return this.searchable?r("div",{class:{"checkbox-search":!0,"search-active":this.searchQuery.length>0}},r("div",{class:"search-input-wrapper"},r("ui-icon",{name:"search",library:"lucide",class:"search-icon"}),r("input",{type:"text",placeholder:this.searchPlaceholder,onInput:this.handleSearch,value:this.searchQuery,class:"search-input"}),this.searchQuery.length>0&&r("ui-button",{variant:"ghost",class:"clear-search",onClick:()=>{this.searchQuery=""},icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}))):null}renderDataOptions(){const e=this.getFilteredOptions();if(0===e.length&&this.searchQuery)return r("div",{class:"no-results"},"No options found");const t=this.normalizeValue(this.value);return e.map(((e,i)=>r("ui-checkbox",{value:e.value,label:e.label,disabled:this.disabled||e.disabled,readonly:this.readonly,size:this.size,color:this.color,variant:e.variant||"default",name:this.name,checked:t.includes(e.value),reveal:this.reveal,revealDelay:this.revealDelay+i*this.revealStagger,rtl:this.rtl,isButton:this.buttonGroup,onCheckboxChange:this.handleCheckboxChange})))}render(){const e=this.options&&this.options.length>0;return r("div",{key:"05a2da58c9dd7f3438076d3beb725f3596545cb6",class:{"checkbox-group":!0,["checkbox-group-"+this.orientation]:"list"===this.layout,"checkbox-group-grid":"grid"===this.layout,["checkbox-group-cols-"+this.columns]:"grid"===this.layout,["checkbox-group-"+this.size]:!0,"checkbox-group-disabled":this.disabled,"checkbox-group-readonly":this.readonly,"checkbox-group-invalid":this.invalid,"checkbox-group-button":this.buttonGroup,"is-victory":this.isVictory},dir:this.rtl?"rtl":"ltr"},this.renderLabel(),this.renderSearch(),this.renderSelectAll(),r("div",{key:"0a64f5ff1b6474c771059e6d856b42a48641d5a1",class:"checkbox-group-items",style:"grid"===this.layout?{display:"grid",gridTemplateColumns:`repeat(${this.columns}, 1fr)`,gap:this.gap}:{gap:this.gap},role:"group","aria-labelledby":this.label?"group-label":void 0,"aria-required":this.required?"true":"false","aria-invalid":this.invalid?"true":"false"},e?this.renderDataOptions():r("slot",null)),this.renderHelperText())}static get formAssociated(){return!0}static get watchers(){return{value:[{handleValueChange:0}]}}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group.is-victory .group-label .selection-count{animation:victory-pulse 2s infinite ease-in-out;background:var(--primary-color);color:var(--text-standard, #ffffff);box-shadow:0 0 15px var(--primary-color)}.group-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--label-color, var(--text-primary, #333));margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;cursor:default}.group-label .selection-count{font-size:10px;font-weight:600;text-transform:none;letter-spacing:normal;opacity:1;color:var(--label-subtitle-color, var(--text-secondary, #666));background:var(--bg-secondary, #f3f4f6);padding:2px 8px;border-radius:10px}.required-indicator{color:var(--danger-color, #f44336);margin-inline-start:4px}.select-all-container{padding-bottom:8px;border-bottom:1px solid var(--border-color, #e0e0e0)}.checkbox-group-items{display:flex}.checkbox-group-vertical .checkbox-group-items{flex-direction:column}.checkbox-group-horizontal .checkbox-group-items{flex-direction:row;flex-wrap:wrap}.checkbox-group-disabled{opacity:0.6;pointer-events:none}.checkbox-group-readonly{pointer-events:none}.checkbox-group-invalid .group-label{color:var(--danger-color, #f44336)}.helper-text{font-size:12px;color:var(--label-subtitle-color, var(--text-secondary, #666));display:flex;align-items:center;gap:6px}.helper-text.error{color:var(--danger-color, #f44336)}.helper-text i{font-size:14px}.checkbox-group-sm .group-label{font-size:12px}.checkbox-group-sm .helper-text{font-size:11px}.checkbox-group-lg .group-label{font-size:16px}.checkbox-group-lg .helper-text{font-size:13px}.checkbox-search{position:relative;margin-bottom:4px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.checkbox-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.checkbox-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.checkbox-search .search-icon{margin-left:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.checkbox-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.checkbox-search input.search-input::placeholder{opacity:1}.checkbox-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:6px;color:var(--text-secondary);transition:all 0.2s}.checkbox-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.checkbox-search .clear-search ui-icon{font-size:14px}@keyframes victory-pulse{0%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}50%{transform:scale(1.05);box-shadow:0 0 15px var(--primary-color)}100%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}}.no-results{font-size:14px;color:var(--text-secondary, #999);padding:8px 0;font-style:italic}.checkbox-group-grid .checkbox-group-items{display:grid}"}},[833,"ui-checkbox-group",{value:[1040],name:[1],label:[1],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],required:[4],disabled:[4],readonly:[4],invalid:[4],orientation:[1],gap:[1],showSelectAll:[4,"show-select-all"],selectAllLabel:[1,"select-all-label"],buttonGroup:[4,"button-group"],min:[2],max:[2],validateOnChange:[4,"validate-on-change"],size:[1],color:[1],showSelectionCount:[4,"show-selection-count"],reveal:[1],revealDelay:[2,"reveal-delay"],revealStagger:[2,"reveal-stagger"],victoryGlow:[4,"victory-glow"],rtl:[4],options:[16],searchable:[4],searchPlaceholder:[1,"search-placeholder"],layout:[1],columns:[2],selectAllState:[32],isVictory:[32],searchQuery:[32]},[[0,"checkboxChange","handleCheckboxChange"]],{value:[{handleValueChange:0}]}]),n=h,p=function(){"undefined"!=typeof customElements&&["ui-checkbox-group","ui-badge","ui-button","ui-checkbox","ui-icon"].forEach((e=>{switch(e){case"ui-checkbox-group":customElements.get(s(e))||customElements.define(s(e),h);break;case"ui-badge":customElements.get(s(e))||a();break;case"ui-button":customElements.get(s(e))||o();break;case"ui-checkbox":customElements.get(s(e))||l();break;case"ui-icon":customElements.get(s(e))||c()}}))};export{n as UiCheckboxGroup,p as defineCustomElement}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
|
2
|
-
|
|
3
|
-
interface UiImageButton extends Components.UiImageButton, HTMLElement {}
|
|
4
|
-
export const UiImageButton: {
|
|
5
|
-
prototype: UiImageButton;
|
|
6
|
-
new (): UiImageButton;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as a,Host as o,transformTag as n}from"@stencil/core/internal/client";import{d as s}from"./icon.js";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.uiClick=i(this,"uiClick",7)}src;alt="";label;description;effect="zoom";ratio="square";labelMode="hover";size="md";disabled=!1;loading=!1;a11yLabel;isFocused=!1;uiClick;handleClick=t=>{if(this.disabled||this.loading)return t.preventDefault(),void t.stopPropagation();this.uiClick.emit()};handleKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleClick(t))};render(){return a(o,{key:"9f62fc59b4656078cbddd73750e41d03a0f3d2ca"},a("div",{key:"d6f464e2f65dd0eb5dd40892179432473b3836fe",class:{"image-button":!0,["image-button-"+this.size]:!0,["image-button-ratio-"+this.ratio]:!0,["image-button-effect-"+this.effect]:!0,["label-mode-"+this.labelMode]:!0,"is-disabled":this.disabled,"is-loading":this.loading,"is-focused":this.isFocused},role:"button",tabindex:this.disabled||this.loading?-1:0,"aria-label":this.a11yLabel||this.label||this.alt||"Image Button","aria-disabled":this.disabled?"true":"false","aria-busy":this.loading?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1},this.src?a("img",{class:"button-image",src:this.src,alt:this.alt,loading:"lazy"}):a("div",{class:"image-placeholder"},a("ui-icon",{name:"image",library:"fontawesome",size:"24px"})),(this.label||this.description)&&a("div",{key:"4f8ce2e322361f645f29bf9c4f48f4c9b151f075",class:"button-overlay"},a("div",{key:"f3e15b029509d4ed27bef5c03d75d3bd934f190b",class:"overlay-content"},this.label&&a("div",{key:"aac7cac7d8e07014a927acd9f572f7dac2688e3d",class:"button-label"},this.label),this.description&&a("div",{key:"1607a06a9fcde90277be03130548d974bf7c6b5c",class:"button-desc"},this.description))),this.loading&&a("div",{key:"9c9f38dbeb6b77fb2d8eed4ab641498aa5030bf7",class:"loading-overlay"},a("ui-icon",{key:"2bc1e06c7a61a4e7752686d489ea2c092550d2b4",name:"spinner",library:"fontawesome",spin:!0,size:"24px"}))))}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:inline-block;vertical-align:middle;transition:transform 0.2s ease}.image-button{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:#f3f4f6;width:100%;height:100%;display:flex;align-items:center;justify-content:center;outline:none}.image-button,.image-button *{transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}.image-button-sm{width:120px}.image-button-md{width:240px}.image-button-lg{width:360px}.image-button-xl{width:480px}.image-button-ratio-square{aspect-ratio:1/1}.image-button-ratio-video{aspect-ratio:16/9}.image-button-ratio-portrait{aspect-ratio:3/4}.image-button-ratio-auto{height:auto}.image-button .button-image{width:100%;height:100%;object-fit:cover;display:block}.image-button .image-placeholder{color:#9ca3af}.image-button .button-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);display:flex;align-items:flex-end;padding:1.25rem;color:white}.image-button .overlay-content{display:flex;flex-direction:column;gap:4px}.image-button .button-label{font-weight:700;font-size:1.1rem;line-height:1.2;letter-spacing:-0.01em}.image-button .button-desc{font-size:0.85rem;opacity:0.8}.image-button-effect-zoom:hover .button-image{transform:scale(1.1)}.image-button-effect-lift:hover,.image-button-effect-lift.is-focused{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.image-button-effect-brighten:hover .button-image{filter:brightness(1.2)}.image-button.label-mode-hover .button-overlay{opacity:0;transform:translateY(10px)}.image-button.label-mode-hover:hover .button-overlay{opacity:1;transform:translateY(0)}.image-button.is-disabled{cursor:not-allowed;opacity:0.6;filter:grayscale(1)}.image-button.is-disabled:hover{transform:none;box-shadow:none}.image-button.is-loading{cursor:wait}.image-button.is-loading .loading-overlay{position:absolute;inset:0;background:rgba(255, 255, 255, 0.7);display:flex;align-items:center;justify-content:center;color:#10b981;z-index:10}.image-button.is-focused{box-shadow:0 0 0 2px var(--bg-primary, #ffffff), 0 0 0 5px var(--color-primary, #10b981);z-index:10}@media (max-width: 640px){.image-button{width:100% !important}}"}},[513,"ui-image-button",{src:[1],alt:[1],label:[1],description:[1],effect:[1],ratio:[1],labelMode:[1,"label-mode"],size:[1],disabled:[4],loading:[4],a11yLabel:[1,"a-1-1y-label"],isFocused:[32]}]),l=r,d=function(){"undefined"!=typeof customElements&&["ui-image-button","ui-icon"].forEach((t=>{switch(t){case"ui-image-button":customElements.get(n(t))||customElements.define(n(t),r);break;case"ui-icon":customElements.get(n(t))||s()}}))};export{l as UiImageButton,d as defineCustomElement}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as i,h as e,Host as a,transformTag as r}from"@stencil/core/internal/client";import{d as n,a as o}from"./badge.js";import{d as l}from"./icon.js";import{d as p}from"./input.js";const s=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}labelLeft="";labelRight="";label;valueLeft="";valueRight="";placeholderLeft="";placeholderRight="";type="text";variant="outlined";size="md";gap="0";fullWidth=!1;render(){return e(a,{key:"fdf7f4502e0ae69ee732870df215948f6dd343d4",class:{"full-width":this.fullWidth}},this.label&&e("div",{key:"fab76ee80e86ffb845930a8b2ce26d210da9e72c",class:"pair-main-label"},this.label),e("div",{key:"cb95a4fda33d88723248c58d57e526f9ab7fc1c6",class:{"pair-container":!0,"is-connected":"0"===this.gap},style:{gap:"0"!==this.gap?this.gap:void 0}},e("div",{key:"562af03d33b4c7ec4f55ffa805dbbda5fa0e2c95",class:"input-item left"},e("ui-input",{key:"c75ac1faec6b8b0903d578064ba60529a923d4eb",label:this.labelLeft,placeholder:this.placeholderLeft,value:this.valueLeft,type:this.type,variant:this.variant,size:this.size,"full-width":!0})),e("div",{key:"2740efa73d5758bf88c58f2853cba1da3f43a420",class:"input-item right"},e("ui-input",{key:"4e110393af0e26ace0de9a68f12a9cb54b90d935",label:this.labelRight,placeholder:this.placeholderRight,value:this.valueRight,type:this.type,variant:this.variant,size:this.size,"full-width":!0}))))}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;width:auto;min-width:0;--pair-radius:10px}:host.full-width{width:100%}.pair-main-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #64748b));margin-bottom:8px}.pair-container{display:flex;align-items:flex-end;width:100%}.pair-container .input-item{flex:1;min-width:0}.pair-container{}.pair-container .input-item.left ui-input::part(container),.pair-container .input-item.right ui-input::part(container){border-radius:var(--pair-radius);border-width:1.5px}.pair-container.is-connected .input-item.left ui-input::part(container){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0.75px}.pair-container.is-connected .input-item.right ui-input::part(container){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0.75px}"}},[513,"ui-input-pair",{labelLeft:[1,"label-left"],labelRight:[1,"label-right"],label:[1],valueLeft:[1,"value-left"],valueRight:[1,"value-right"],placeholderLeft:[1,"placeholder-left"],placeholderRight:[1,"placeholder-right"],type:[1],variant:[1],size:[1],gap:[1],fullWidth:[4,"full-width"]}]),d=s,c=function(){"undefined"!=typeof customElements&&["ui-input-pair","ui-badge","ui-button","ui-icon","ui-input"].forEach((t=>{switch(t){case"ui-input-pair":customElements.get(r(t))||customElements.define(r(t),s);break;case"ui-badge":customElements.get(r(t))||o();break;case"ui-button":customElements.get(r(t))||n();break;case"ui-icon":customElements.get(r(t))||l();break;case"ui-input":customElements.get(r(t))||p()}}))};export{d as UiInputPair,c as defineCustomElement}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
|
2
|
-
|
|
3
|
-
interface UiRadioGroup extends Components.UiRadioGroup, HTMLElement {}
|
|
4
|
-
export const UiRadioGroup: {
|
|
5
|
-
prototype: UiRadioGroup;
|
|
6
|
-
new (): UiRadioGroup;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{proxyCustomElement as i,HTMLElement as r,createEvent as t,h as e,transformTag as a}from"@stencil/core/internal/client";import{d as o,a as s}from"./badge.js";import{d as l}from"./icon.js";import{d as n}from"./input.js";import{d}from"./radio.js";const p=i(class extends r{internals;get el(){return this}value="";name="";disabled=!1;readonly=!1;required=!1;invalid=!1;label="";helperText="";errorMessage="";layout="vertical";columns=2;gap="16px";size="md";color="primary";options=[];labelPosition="right";enableAnimation=!0;rippleEffect=!0;buttonGroup=!1;variant="default";skeleton=!1;allowEmpty=!1;showDot=!0;reveal="none";revealDelay=0;revealStagger=60;searchable=!1;searchPlaceholder="Search items...";rtl=!1;radios=[];searchQuery="";radioGroupChange;constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.radioGroupChange=t(this,"radioGroupChange",7),this.internals=this.el.attachInternals()}componentWillLoad(){this.updateOptions(),this.internals.setFormValue(this.value)}componentDidLoad(){this.syncRadios()}componentDidUpdate(){this.syncRadios()}watchValue(){this.syncRadios()}updateOptions(){let i=[];if("string"==typeof this.options)try{i=JSON.parse(this.options)}catch{console.error("Invalid options JSON"),i=[]}else Array.isArray(this.options)&&(i=[...this.options]);JSON.stringify(this.radios)!==JSON.stringify(i)&&(this.radios=i)}handleRadioClick(i){if(!this.allowEmpty)return;const r=i.target.closest("ui-radio")||i.composedPath&&i.composedPath().find((i=>"UI-RADIO"===i.tagName));!r||r.disabled||this.disabled||r.value===this.value&&(i.preventDefault(),i.stopPropagation(),this.value="",this.radioGroupChange.emit({value:""}))}handleRadioChange(i){const{checked:r,value:t}=i.detail;r&&(this.value=t,this.internals.setFormValue(t),this.updateValidity(),this.radioGroupChange.emit({value:t}))}updateValidity(){this.required&&!this.value?this.internals.setValidity({valueMissing:!0},"Please select an option.",this.el):this.internals.setValidity({})}async checkValidity(){return this.internals.checkValidity()}async reportValidity(){return this.internals.reportValidity()}getRadios(){return[...Array.from(this.el.shadowRoot.querySelectorAll("ui-radio")),...Array.from(this.el.querySelectorAll("ui-radio"))]}syncRadios(){this.getRadios().forEach(((i,r)=>{i.checked=i.value===this.value,i.isButton=this.buttonGroup,i.variant=this.variant,i.skeleton=this.skeleton,i.name=this.name,i.reveal=this.reveal,i.revealDelay=this.revealDelay+r*this.revealStagger,i.rtl=this.rtl}))}renderLabel(){return this.label?e("div",{class:"radio-group-label"},this.label,this.required&&e("span",{class:"required-indicator"},"*")):null}renderSearch(){return this.searchable?e("div",{class:{"radio-search":!0,"search-active":this.searchQuery.length>0}},e("div",{class:"search-input-wrapper"},e("ui-icon",{name:"search",library:"lucide",class:"search-icon"}),e("ui-input",{type:"text",placeholder:this.searchPlaceholder,onInputChange:i=>{this.searchQuery=i.detail.toLowerCase()},value:this.searchQuery,size:"sm",fullWidth:!0}),this.searchQuery.length>0&&e("ui-button",{variant:"ghost",class:"clear-search",onClick:()=>{this.searchQuery=""},ariaLabel:"Clear search",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}))):null}render(){const i=Array.isArray(this.radios)?this.radios.filter((i=>!this.searchQuery||i.label.toLowerCase().includes(this.searchQuery))):[],r={"radio-group":!0,["radio-group-"+this.layout]:!0,"radio-group-disabled":this.disabled,"radio-group-invalid":this.invalid,"radio-group-button":this.buttonGroup,["radio-group-variant-"+this.variant]:!0,"radio-group-skeleton":this.skeleton},t={"radio-list":!0,["radio-list-"+this.layout]:!0},a={..."grid"===this.layout?{"grid-template-columns":`repeat(${this.columns}, 1fr)`}:{},gap:this.gap};return e("div",{key:"8f4bf0db359a75ef98dfb5719adbd6b70fea3c38",class:r,role:"radiogroup","aria-label":this.label,dir:this.rtl?"rtl":"ltr"},this.renderLabel(),this.renderSearch(),e("div",{key:"6eb5c03abf60138dd6b20b7830fdc80310729bf8",class:t,style:a},e("slot",{key:"bdc217a91c554f749634d0b9ba2965b1f626ee27"}),0===i.length&&this.searchQuery&&e("div",{key:"f7dd1dc1cda443e0877a64c5e04cba402f905c6f",class:"no-results"},"No matches found"),i.map(((i,r)=>e("ui-radio",{value:i.value,label:i.label,description:i.description,badge:i.badge,tooltip:i.tooltip,"tooltip-position":i.tooltipPosition,name:this.name,checked:this.value===i.value,disabled:this.disabled||i.disabled,readonly:this.readonly,invalid:this.invalid,size:this.size,color:this.color,"label-position":this.labelPosition,"show-dot":this.showDot,"enable-animation":this.enableAnimation,"ripple-effect":this.rippleEffect,"is-button":this.buttonGroup,variant:this.variant,skeleton:this.skeleton,reveal:this.reveal,"reveal-delay":this.revealDelay+r*this.revealStagger,rtl:this.rtl})))),this.renderHelperText())}renderHelperText(){return this.invalid&&this.errorMessage?e("div",{class:"helper-text error"},e("ui-icon",{library:"lucide",name:"alert-circle",size:"14px"}),this.errorMessage):this.helperText?e("div",{class:"helper-text"},this.helperText):null}static get formAssociated(){return!0}static get watchers(){return{value:[{watchValue:0}],options:[{updateOptions:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.radio-group{display:flex;flex-direction:column;gap:12px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.radio-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-primary));margin-bottom:8px}.radio-search{position:relative;margin-bottom:8px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.radio-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.radio-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.radio-search .search-icon{margin-inline-start:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.radio-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.radio-search input.search-input::placeholder{opacity:0.5}.radio-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-inline-end:6px;color:var(--text-secondary);transition:all 0.2s}.radio-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.radio-search .clear-search ui-icon{font-size:14px}.no-results{font-size:13px;color:var(--text-secondary);padding:12px 0;font-style:italic;opacity:0.7}.required-indicator{color:var(--color-danger-hover, #dc2626);margin-inline-start:4px}.radio-list{display:flex}.radio-list-vertical{flex-direction:column}.radio-list-horizontal{flex-direction:row;flex-wrap:wrap}.radio-list-grid{display:grid}.radio-group-button .radio-list{gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle, #e2e8f0);width:fit-content}.radio-group-button ui-radio:not(:first-child){margin-inline-start:-1px}.radio-group-button ui-radio{display:flex;flex:1}.radio-group-button .radio-list-vertical{flex-direction:column;width:100%}.radio-group-button .radio-list-vertical ui-radio:not(:first-child){margin-inline-start:0;margin-top:-1px}.radio-group-button .radio-list-vertical ui-radio:first-child{border-top-left-radius:10px;border-top-right-radius:10px}.radio-group-button .radio-list-vertical ui-radio:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.radio-group-button .radio-list-horizontal ui-radio:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.radio-group-button .radio-list-horizontal ui-radio:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.radio-group-skeleton .radio-group-label{background:var(--bg-primary, #e5e7eb);color:transparent;border-radius:4px;width:150px}.helper-text{font-size:0.875rem;color:var(--label-subtitle-color, var(--text-muted, #6b7280));display:flex;align-items:center;gap:4px;margin-top:4px}.helper-text.error{color:var(--color-danger-hover, #dc2626)}.radio-group-disabled{opacity:0.6;pointer-events:none}.radio-group-invalid .radio-group-label{color:var(--color-danger-hover, #dc2626)}'}},[833,"ui-radio-group",{value:[1025],name:[1],disabled:[4],readonly:[4],required:[4],invalid:[4],label:[1],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],layout:[1],columns:[2],gap:[1],size:[1],color:[1],options:[1],labelPosition:[1,"label-position"],enableAnimation:[4,"enable-animation"],rippleEffect:[4,"ripple-effect"],buttonGroup:[4,"button-group"],variant:[1],skeleton:[4],allowEmpty:[4,"allow-empty"],showDot:[4,"show-dot"],reveal:[1],revealDelay:[2,"reveal-delay"],revealStagger:[2,"reveal-stagger"],searchable:[4],searchPlaceholder:[1,"search-placeholder"],rtl:[4],radios:[32],searchQuery:[32],checkValidity:[64],reportValidity:[64]},[[2,"click","handleRadioClick"],[0,"radioChange","handleRadioChange"]],{value:[{watchValue:0}],options:[{updateOptions:0}]}]),c=p,h=function(){"undefined"!=typeof customElements&&["ui-radio-group","ui-badge","ui-button","ui-icon","ui-input","ui-radio"].forEach((i=>{switch(i){case"ui-radio-group":customElements.get(a(i))||customElements.define(a(i),p);break;case"ui-badge":customElements.get(a(i))||s();break;case"ui-button":customElements.get(a(i))||o();break;case"ui-icon":customElements.get(a(i))||l();break;case"ui-input":customElements.get(a(i))||n();break;case"ui-radio":customElements.get(a(i))||d()}}))};export{c as UiRadioGroup,h as defineCustomElement}
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DUsoYu9r.js';
|
|
2
|
-
|
|
3
|
-
const checkboxGroupCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group.is-victory .group-label .selection-count{animation:victory-pulse 2s infinite ease-in-out;background:var(--primary-color);color:var(--text-standard, #ffffff);box-shadow:0 0 15px var(--primary-color)}.group-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--label-color, var(--text-primary, #333));margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;cursor:default}.group-label .selection-count{font-size:10px;font-weight:600;text-transform:none;letter-spacing:normal;opacity:1;color:var(--label-subtitle-color, var(--text-secondary, #666));background:var(--bg-secondary, #f3f4f6);padding:2px 8px;border-radius:10px}.required-indicator{color:var(--danger-color, #f44336);margin-inline-start:4px}.select-all-container{padding-bottom:8px;border-bottom:1px solid var(--border-color, #e0e0e0)}.checkbox-group-items{display:flex}.checkbox-group-vertical .checkbox-group-items{flex-direction:column}.checkbox-group-horizontal .checkbox-group-items{flex-direction:row;flex-wrap:wrap}.checkbox-group-disabled{opacity:0.6;pointer-events:none}.checkbox-group-readonly{pointer-events:none}.checkbox-group-invalid .group-label{color:var(--danger-color, #f44336)}.helper-text{font-size:12px;color:var(--label-subtitle-color, var(--text-secondary, #666));display:flex;align-items:center;gap:6px}.helper-text.error{color:var(--danger-color, #f44336)}.helper-text i{font-size:14px}.checkbox-group-sm .group-label{font-size:12px}.checkbox-group-sm .helper-text{font-size:11px}.checkbox-group-lg .group-label{font-size:16px}.checkbox-group-lg .helper-text{font-size:13px}.checkbox-search{position:relative;margin-bottom:4px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.checkbox-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.checkbox-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.checkbox-search .search-icon{margin-left:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.checkbox-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.checkbox-search input.search-input::placeholder{opacity:1}.checkbox-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:6px;color:var(--text-secondary);transition:all 0.2s}.checkbox-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.checkbox-search .clear-search ui-icon{font-size:14px}@keyframes victory-pulse{0%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}50%{transform:scale(1.05);box-shadow:0 0 15px var(--primary-color)}100%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}}.no-results{font-size:14px;color:var(--text-secondary, #999);padding:8px 0;font-style:italic}.checkbox-group-grid .checkbox-group-items{display:grid}`;
|
|
4
|
-
|
|
5
|
-
const CheckboxGroup = class {
|
|
6
|
-
constructor(hostRef) {
|
|
7
|
-
registerInstance(this, hostRef);
|
|
8
|
-
this.groupChange = createEvent(this, "groupChange");
|
|
9
|
-
this.groupValidation = createEvent(this, "groupValidation");
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Ensures value is always a string array
|
|
13
|
-
*/
|
|
14
|
-
normalizeValue(val) {
|
|
15
|
-
if (Array.isArray(val))
|
|
16
|
-
return val;
|
|
17
|
-
if (typeof val === 'string')
|
|
18
|
-
return val ? val.split(',') : [];
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
get el() { return getElement(this); }
|
|
22
|
-
internals;
|
|
23
|
-
value = [];
|
|
24
|
-
name = '';
|
|
25
|
-
label = '';
|
|
26
|
-
helperText = '';
|
|
27
|
-
errorMessage = '';
|
|
28
|
-
required = false;
|
|
29
|
-
disabled = false;
|
|
30
|
-
readonly = false;
|
|
31
|
-
invalid = false;
|
|
32
|
-
orientation = 'vertical';
|
|
33
|
-
gap = '12px';
|
|
34
|
-
showSelectAll = false;
|
|
35
|
-
selectAllLabel = 'Select All';
|
|
36
|
-
buttonGroup = false;
|
|
37
|
-
min = 0;
|
|
38
|
-
max = Infinity;
|
|
39
|
-
validateOnChange = true;
|
|
40
|
-
size = 'md';
|
|
41
|
-
color = 'primary';
|
|
42
|
-
showSelectionCount = false;
|
|
43
|
-
/** Entrance animation */
|
|
44
|
-
reveal = 'none';
|
|
45
|
-
/** Delay for entry animation (ms) */
|
|
46
|
-
revealDelay = 0;
|
|
47
|
-
/** Stagger delay between items */
|
|
48
|
-
revealStagger = 60;
|
|
49
|
-
/** High-Fidelity: Victory glow pulse when all selected */
|
|
50
|
-
victoryGlow = false;
|
|
51
|
-
/** High-Fidelity: RTL support */
|
|
52
|
-
rtl = false;
|
|
53
|
-
selectAllState = 'none';
|
|
54
|
-
isVictory = false;
|
|
55
|
-
groupChange;
|
|
56
|
-
groupValidation;
|
|
57
|
-
componentWillLoad() {
|
|
58
|
-
this.internals = this.el.attachInternals();
|
|
59
|
-
this.updateFormValue();
|
|
60
|
-
this.discoverCheckboxes();
|
|
61
|
-
this.updateCheckboxStates();
|
|
62
|
-
this.updateSelectAllState();
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Stencil form-association callback
|
|
66
|
-
*/
|
|
67
|
-
formResetCallback() {
|
|
68
|
-
this.value = [];
|
|
69
|
-
this.updateCheckboxStates();
|
|
70
|
-
this.updateSelectAllState();
|
|
71
|
-
this.updateFormValue();
|
|
72
|
-
}
|
|
73
|
-
handleValueChange() {
|
|
74
|
-
this.updateCheckboxStates();
|
|
75
|
-
this.updateSelectAllState();
|
|
76
|
-
if (this.validateOnChange) {
|
|
77
|
-
this.validate();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
handleCheckboxChange(event) {
|
|
81
|
-
const { checked, value: checkboxValue } = event.detail;
|
|
82
|
-
if (this.disabled || this.readonly)
|
|
83
|
-
return;
|
|
84
|
-
let valueArr = this.normalizeValue(this.value);
|
|
85
|
-
if (checked) {
|
|
86
|
-
if (!valueArr.includes(checkboxValue)) {
|
|
87
|
-
if (this.max === Infinity || valueArr.length < this.max) {
|
|
88
|
-
valueArr = [...valueArr, checkboxValue];
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
valueArr = valueArr.filter(v => v !== checkboxValue);
|
|
94
|
-
}
|
|
95
|
-
this.value = valueArr;
|
|
96
|
-
this.groupChange.emit({ value: this.value });
|
|
97
|
-
this.updateSelectAllState();
|
|
98
|
-
if (this.validateOnChange) {
|
|
99
|
-
this.validate();
|
|
100
|
-
}
|
|
101
|
-
this.updateFormValue();
|
|
102
|
-
}
|
|
103
|
-
updateFormValue() {
|
|
104
|
-
if (this.name) {
|
|
105
|
-
const data = new FormData();
|
|
106
|
-
this.value.forEach(val => data.append(this.name, val));
|
|
107
|
-
this.internals.setFormValue(data);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
this.internals.setFormValue(this.value.join(','));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
discoverCheckboxes() {
|
|
114
|
-
// This is no longer needed as we use getAllCheckboxes in real-time
|
|
115
|
-
}
|
|
116
|
-
updateCheckboxStates() {
|
|
117
|
-
const allCbs = this.getAllCheckboxes();
|
|
118
|
-
const valueArr = this.normalizeValue(this.value);
|
|
119
|
-
const isMaxReached = this.max !== Infinity && valueArr.length >= this.max;
|
|
120
|
-
allCbs.forEach((checkbox, index) => {
|
|
121
|
-
checkbox.checked = valueArr.includes(checkbox.value);
|
|
122
|
-
checkbox.disabled = this.disabled || (isMaxReached && !checkbox.checked) || checkbox.disabled;
|
|
123
|
-
checkbox.readonly = this.readonly;
|
|
124
|
-
checkbox.size = this.size;
|
|
125
|
-
checkbox.color = this.color;
|
|
126
|
-
checkbox.reveal = this.reveal;
|
|
127
|
-
checkbox.revealDelay = this.revealDelay + (index * this.revealStagger);
|
|
128
|
-
checkbox.rtl = this.rtl;
|
|
129
|
-
checkbox.isButton = this.buttonGroup;
|
|
130
|
-
if (this.name) {
|
|
131
|
-
checkbox.name = this.name;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
getAllCheckboxes() {
|
|
136
|
-
const slotted = Array.from(this.el.querySelectorAll('ui-checkbox'));
|
|
137
|
-
// If we have options prop, we need to consider them too, but they are rendered as components
|
|
138
|
-
// Stencil's shadow DOM might make this tricky if they are inside.
|
|
139
|
-
// Actually, we can just get them from the shadow root if they are rendered in renderDataOptions
|
|
140
|
-
const shadowCbs = Array.from(this.el.shadowRoot.querySelectorAll('ui-checkbox'));
|
|
141
|
-
return [...slotted, ...shadowCbs];
|
|
142
|
-
}
|
|
143
|
-
updateSelectAllState() {
|
|
144
|
-
const allCbs = this.getAllCheckboxes();
|
|
145
|
-
const valueArr = this.normalizeValue(this.value);
|
|
146
|
-
const enabledCheckboxes = allCbs.filter((cb) => !cb.disabled);
|
|
147
|
-
if (enabledCheckboxes.length === 0)
|
|
148
|
-
return;
|
|
149
|
-
const checkedCount = enabledCheckboxes.filter((cb) => valueArr.includes(cb.value)).length;
|
|
150
|
-
if (checkedCount === 0) {
|
|
151
|
-
this.selectAllState = 'none';
|
|
152
|
-
this.isVictory = false;
|
|
153
|
-
}
|
|
154
|
-
else if (checkedCount === enabledCheckboxes.length) {
|
|
155
|
-
this.selectAllState = 'all';
|
|
156
|
-
if (this.victoryGlow)
|
|
157
|
-
this.isVictory = true;
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
this.selectAllState = 'some';
|
|
161
|
-
this.isVictory = false;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
handleSelectAllChange = (event) => {
|
|
165
|
-
if (this.disabled || this.readonly)
|
|
166
|
-
return;
|
|
167
|
-
const target = event.target;
|
|
168
|
-
const allCbs = this.getAllCheckboxes();
|
|
169
|
-
const enabledCheckboxes = allCbs.filter((cb) => !cb.disabled);
|
|
170
|
-
if (target.checked) {
|
|
171
|
-
// Select all enabled checkboxes
|
|
172
|
-
const allValues = enabledCheckboxes.map((cb) => cb.value);
|
|
173
|
-
const uniqueValues = Array.from(new Set([...this.value, ...allValues]));
|
|
174
|
-
// Respect max limit
|
|
175
|
-
if (this.max !== Infinity) {
|
|
176
|
-
this.value = uniqueValues.slice(0, this.max);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
this.value = uniqueValues;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
// Deselect all
|
|
184
|
-
const enabledValues = enabledCheckboxes.map((cb) => cb.value);
|
|
185
|
-
this.value = this.value.filter(v => !enabledValues.includes(v));
|
|
186
|
-
}
|
|
187
|
-
this.groupChange.emit({ value: this.value });
|
|
188
|
-
this.updateSelectAllState();
|
|
189
|
-
if (this.validateOnChange) {
|
|
190
|
-
this.validate();
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
validate() {
|
|
194
|
-
const errors = [];
|
|
195
|
-
if (this.required && this.value.length === 0) {
|
|
196
|
-
errors.push('At least one option must be selected');
|
|
197
|
-
}
|
|
198
|
-
if (this.min > 0 && this.value.length < this.min) {
|
|
199
|
-
errors.push(`At least ${this.min} option${this.min > 1 ? 's' : ''} must be selected`);
|
|
200
|
-
}
|
|
201
|
-
if (this.max !== Infinity && this.value.length > this.max) {
|
|
202
|
-
errors.push(`No more than ${this.max} option${this.max > 1 ? 's' : ''} can be selected`);
|
|
203
|
-
}
|
|
204
|
-
const valid = errors.length === 0;
|
|
205
|
-
this.groupValidation.emit({ valid, errors });
|
|
206
|
-
return valid;
|
|
207
|
-
}
|
|
208
|
-
selectAll() {
|
|
209
|
-
const allCbs = this.getAllCheckboxes();
|
|
210
|
-
const enabledCheckboxes = allCbs.filter((cb) => !cb.disabled);
|
|
211
|
-
const allValues = enabledCheckboxes.map((cb) => cb.value);
|
|
212
|
-
if (this.max !== Infinity) {
|
|
213
|
-
this.value = allValues.slice(0, this.max);
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
this.value = allValues;
|
|
217
|
-
}
|
|
218
|
-
this.groupChange.emit({ value: this.value });
|
|
219
|
-
}
|
|
220
|
-
deselectAll() {
|
|
221
|
-
this.value = [];
|
|
222
|
-
this.groupChange.emit({ value: this.value });
|
|
223
|
-
}
|
|
224
|
-
toggleAll() {
|
|
225
|
-
if (this.selectAllState === 'all') {
|
|
226
|
-
this.deselectAll();
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
this.selectAll();
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
renderSelectAll() {
|
|
233
|
-
if (!this.showSelectAll)
|
|
234
|
-
return null;
|
|
235
|
-
return (h("div", { class: "select-all-container" }, h("ui-checkbox", { checked: this.selectAllState === 'all', indeterminate: this.selectAllState === 'some', label: this.selectAllLabel, disabled: this.disabled, readonly: this.readonly, size: this.size, color: this.color, rtl: this.rtl, onCheckboxChange: this.handleSelectAllChange })));
|
|
236
|
-
}
|
|
237
|
-
renderLabel() {
|
|
238
|
-
if (!this.label)
|
|
239
|
-
return null;
|
|
240
|
-
return (h("div", { class: "group-label" }, h("span", { class: "label-text" }, this.label, this.required && h("span", { class: "required-indicator" }, "*")), this.showSelectionCount && (h("span", { class: "selection-count" }, "(", this.value.length, this.max !== Infinity ? ` / ${this.max}` : '', " selected)"))));
|
|
241
|
-
}
|
|
242
|
-
renderHelperText() {
|
|
243
|
-
if (this.invalid && this.errorMessage) {
|
|
244
|
-
return (h("div", { class: "helper-text error" }, h("ui-icon", { name: "fa-exclamation-circle" }), this.errorMessage));
|
|
245
|
-
}
|
|
246
|
-
if (this.helperText) {
|
|
247
|
-
return h("div", { class: "helper-text" }, this.helperText);
|
|
248
|
-
}
|
|
249
|
-
if (this.min > 0 || this.max !== Infinity) {
|
|
250
|
-
const count = this.value.length;
|
|
251
|
-
let text = '';
|
|
252
|
-
if (this.min > 0 && this.max !== Infinity) {
|
|
253
|
-
text = `Select ${this.min}-${this.max} options (${count} selected)`;
|
|
254
|
-
}
|
|
255
|
-
else if (this.min > 0) {
|
|
256
|
-
text = `Select at least ${this.min} option${this.min > 1 ? 's' : ''} (${count} selected)`;
|
|
257
|
-
}
|
|
258
|
-
else if (this.max !== Infinity) {
|
|
259
|
-
text = `Select up to ${this.max} option${this.max > 1 ? 's' : ''} (${count} selected)`;
|
|
260
|
-
}
|
|
261
|
-
return h("div", { class: "helper-text" }, text);
|
|
262
|
-
}
|
|
263
|
-
return null;
|
|
264
|
-
}
|
|
265
|
-
options = [];
|
|
266
|
-
searchable = false;
|
|
267
|
-
searchPlaceholder = 'Search options...';
|
|
268
|
-
layout = 'list';
|
|
269
|
-
columns = 2; // For grid layout
|
|
270
|
-
searchQuery = '';
|
|
271
|
-
handleSearch = (e) => {
|
|
272
|
-
this.searchQuery = e.target.value.toLowerCase();
|
|
273
|
-
};
|
|
274
|
-
getFilteredOptions() {
|
|
275
|
-
if (!this.options || this.options.length === 0)
|
|
276
|
-
return [];
|
|
277
|
-
// Normalize options
|
|
278
|
-
const normalizedOptions = this.options.map(opt => typeof opt === 'string' ? { label: opt, value: opt, disabled: false } : opt);
|
|
279
|
-
if (!this.searchQuery)
|
|
280
|
-
return normalizedOptions;
|
|
281
|
-
return normalizedOptions.filter(opt => opt.label.toLowerCase().includes(this.searchQuery));
|
|
282
|
-
}
|
|
283
|
-
renderSearch() {
|
|
284
|
-
if (!this.searchable)
|
|
285
|
-
return null;
|
|
286
|
-
return (h("div", { class: {
|
|
287
|
-
'checkbox-search': true,
|
|
288
|
-
'search-active': this.searchQuery.length > 0
|
|
289
|
-
} }, h("div", { class: "search-input-wrapper" }, h("ui-icon", { name: "search", library: "lucide", class: "search-icon" }), h("input", { type: "text", placeholder: this.searchPlaceholder, onInput: this.handleSearch, value: this.searchQuery, class: "search-input" }), this.searchQuery.length > 0 && (h("ui-button", { variant: "ghost", class: "clear-search", onClick: () => { this.searchQuery = ''; }, icon: "x", iconLibrary: "lucide", iconOnly: true, size: "sm" })))));
|
|
290
|
-
}
|
|
291
|
-
renderDataOptions() {
|
|
292
|
-
const visibleOptions = this.getFilteredOptions();
|
|
293
|
-
if (visibleOptions.length === 0 && this.searchQuery) {
|
|
294
|
-
return h("div", { class: "no-results" }, "No options found");
|
|
295
|
-
}
|
|
296
|
-
const valueArr = this.normalizeValue(this.value);
|
|
297
|
-
return visibleOptions.map((opt, index) => (h("ui-checkbox", { value: opt.value, label: opt.label, disabled: this.disabled || opt.disabled, readonly: this.readonly, size: this.size, color: this.color, variant: opt.variant || 'default', name: this.name, checked: valueArr.includes(opt.value), reveal: this.reveal, revealDelay: this.revealDelay + (index * this.revealStagger), rtl: this.rtl, isButton: this.buttonGroup, onCheckboxChange: this.handleCheckboxChange })));
|
|
298
|
-
}
|
|
299
|
-
render() {
|
|
300
|
-
const containerClasses = {
|
|
301
|
-
'checkbox-group': true,
|
|
302
|
-
[`checkbox-group-${this.orientation}`]: this.layout === 'list',
|
|
303
|
-
[`checkbox-group-grid`]: this.layout === 'grid',
|
|
304
|
-
[`checkbox-group-cols-${this.columns}`]: this.layout === 'grid',
|
|
305
|
-
[`checkbox-group-${this.size}`]: true,
|
|
306
|
-
'checkbox-group-disabled': this.disabled,
|
|
307
|
-
'checkbox-group-readonly': this.readonly,
|
|
308
|
-
'checkbox-group-invalid': this.invalid,
|
|
309
|
-
'checkbox-group-button': this.buttonGroup,
|
|
310
|
-
'is-victory': this.isVictory
|
|
311
|
-
};
|
|
312
|
-
const hasDataOptions = this.options && this.options.length > 0;
|
|
313
|
-
return (h("div", { key: '05a2da58c9dd7f3438076d3beb725f3596545cb6', class: containerClasses, dir: this.rtl ? 'rtl' : 'ltr' }, this.renderLabel(), this.renderSearch(), this.renderSelectAll(), h("div", { key: '0a64f5ff1b6474c771059e6d856b42a48641d5a1', class: "checkbox-group-items", style: this.layout === 'grid' ? {
|
|
314
|
-
display: 'grid',
|
|
315
|
-
gridTemplateColumns: `repeat(${this.columns}, 1fr)`,
|
|
316
|
-
gap: this.gap
|
|
317
|
-
} : { gap: this.gap }, role: "group", "aria-labelledby": this.label ? 'group-label' : undefined, "aria-required": this.required ? 'true' : 'false', "aria-invalid": this.invalid ? 'true' : 'false' }, hasDataOptions ? this.renderDataOptions() : h("slot", null)), this.renderHelperText()));
|
|
318
|
-
}
|
|
319
|
-
static get formAssociated() { return true; }
|
|
320
|
-
static get watchers() { return {
|
|
321
|
-
"value": [{
|
|
322
|
-
"handleValueChange": 0
|
|
323
|
-
}]
|
|
324
|
-
}; }
|
|
325
|
-
};
|
|
326
|
-
CheckboxGroup.style = checkboxGroupCss();
|
|
327
|
-
|
|
328
|
-
export { CheckboxGroup as ui_checkbox_group };
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host } from './index-DUsoYu9r.js';
|
|
2
|
-
|
|
3
|
-
const imageButtonCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:inline-block;vertical-align:middle;transition:transform 0.2s ease}.image-button{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:#f3f4f6;width:100%;height:100%;display:flex;align-items:center;justify-content:center;outline:none}.image-button,.image-button *{transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}.image-button-sm{width:120px}.image-button-md{width:240px}.image-button-lg{width:360px}.image-button-xl{width:480px}.image-button-ratio-square{aspect-ratio:1/1}.image-button-ratio-video{aspect-ratio:16/9}.image-button-ratio-portrait{aspect-ratio:3/4}.image-button-ratio-auto{height:auto}.image-button .button-image{width:100%;height:100%;object-fit:cover;display:block}.image-button .image-placeholder{color:#9ca3af}.image-button .button-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);display:flex;align-items:flex-end;padding:1.25rem;color:white}.image-button .overlay-content{display:flex;flex-direction:column;gap:4px}.image-button .button-label{font-weight:700;font-size:1.1rem;line-height:1.2;letter-spacing:-0.01em}.image-button .button-desc{font-size:0.85rem;opacity:0.8}.image-button-effect-zoom:hover .button-image{transform:scale(1.1)}.image-button-effect-lift:hover,.image-button-effect-lift.is-focused{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.image-button-effect-brighten:hover .button-image{filter:brightness(1.2)}.image-button.label-mode-hover .button-overlay{opacity:0;transform:translateY(10px)}.image-button.label-mode-hover:hover .button-overlay{opacity:1;transform:translateY(0)}.image-button.is-disabled{cursor:not-allowed;opacity:0.6;filter:grayscale(1)}.image-button.is-disabled:hover{transform:none;box-shadow:none}.image-button.is-loading{cursor:wait}.image-button.is-loading .loading-overlay{position:absolute;inset:0;background:rgba(255, 255, 255, 0.7);display:flex;align-items:center;justify-content:center;color:#10b981;z-index:10}.image-button.is-focused{box-shadow:0 0 0 2px var(--bg-primary, #ffffff), 0 0 0 5px var(--color-primary, #10b981);z-index:10}@media (max-width: 640px){.image-button{width:100% !important}}`;
|
|
4
|
-
|
|
5
|
-
const ImageButton = class {
|
|
6
|
-
constructor(hostRef) {
|
|
7
|
-
registerInstance(this, hostRef);
|
|
8
|
-
this.uiClick = createEvent(this, "uiClick");
|
|
9
|
-
}
|
|
10
|
-
/** Image source URL */
|
|
11
|
-
src;
|
|
12
|
-
/** Image alt text */
|
|
13
|
-
alt = '';
|
|
14
|
-
/** Button label (overlay) */
|
|
15
|
-
label;
|
|
16
|
-
/** Subtitle or secondary text */
|
|
17
|
-
description;
|
|
18
|
-
/** Hover effect: 'zoom' | 'lift' | 'brighten' | 'none' */
|
|
19
|
-
effect = 'zoom';
|
|
20
|
-
/** Aspect ratio: 'square' | 'video' | 'portrait' | 'auto' */
|
|
21
|
-
ratio = 'square';
|
|
22
|
-
/** Whether the label is always visible or only on hover */
|
|
23
|
-
labelMode = 'hover';
|
|
24
|
-
/** Size variant */
|
|
25
|
-
size = 'md';
|
|
26
|
-
/** Disabled state */
|
|
27
|
-
disabled = false;
|
|
28
|
-
/** Loading state */
|
|
29
|
-
loading = false;
|
|
30
|
-
/** Accessibility label */
|
|
31
|
-
a11yLabel;
|
|
32
|
-
/** Focus state for keyboard accessibility */
|
|
33
|
-
isFocused = false;
|
|
34
|
-
uiClick;
|
|
35
|
-
handleClick = (e) => {
|
|
36
|
-
if (this.disabled || this.loading) {
|
|
37
|
-
e.preventDefault();
|
|
38
|
-
e.stopPropagation();
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
this.uiClick.emit();
|
|
42
|
-
};
|
|
43
|
-
handleKeyDown = (e) => {
|
|
44
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
45
|
-
e.preventDefault();
|
|
46
|
-
this.handleClick(e);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
render() {
|
|
50
|
-
const classes = {
|
|
51
|
-
'image-button': true,
|
|
52
|
-
[`image-button-${this.size}`]: true,
|
|
53
|
-
[`image-button-ratio-${this.ratio}`]: true,
|
|
54
|
-
[`image-button-effect-${this.effect}`]: true,
|
|
55
|
-
[`label-mode-${this.labelMode}`]: true,
|
|
56
|
-
'is-disabled': this.disabled,
|
|
57
|
-
'is-loading': this.loading,
|
|
58
|
-
'is-focused': this.isFocused,
|
|
59
|
-
};
|
|
60
|
-
return (h(Host, { key: '9f62fc59b4656078cbddd73750e41d03a0f3d2ca' }, h("div", { key: 'd6f464e2f65dd0eb5dd40892179432473b3836fe', class: classes, role: "button", tabindex: this.disabled || this.loading ? -1 : 0, "aria-label": this.a11yLabel || this.label || this.alt || 'Image Button', "aria-disabled": this.disabled ? 'true' : 'false', "aria-busy": this.loading ? 'true' : 'false', onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: () => this.isFocused = true, onBlur: () => this.isFocused = false }, this.src ? (h("img", { class: "button-image", src: this.src, alt: this.alt, loading: "lazy" })) : (h("div", { class: "image-placeholder" }, h("ui-icon", { name: "image", library: "fontawesome", size: "24px" }))), (this.label || this.description) && (h("div", { key: '4f8ce2e322361f645f29bf9c4f48f4c9b151f075', class: "button-overlay" }, h("div", { key: 'f3e15b029509d4ed27bef5c03d75d3bd934f190b', class: "overlay-content" }, this.label && h("div", { key: 'aac7cac7d8e07014a927acd9f572f7dac2688e3d', class: "button-label" }, this.label), this.description && h("div", { key: '1607a06a9fcde90277be03130548d974bf7c6b5c', class: "button-desc" }, this.description)))), this.loading && (h("div", { key: '9c9f38dbeb6b77fb2d8eed4ab641498aa5030bf7', class: "loading-overlay" }, h("ui-icon", { key: '2bc1e06c7a61a4e7752686d489ea2c092550d2b4', name: "spinner", library: "fontawesome", spin: true, size: "24px" }))))));
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
ImageButton.style = imageButtonCss();
|
|
64
|
-
|
|
65
|
-
export { ImageButton as ui_image_button };
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-DUsoYu9r.js';
|
|
2
|
-
|
|
3
|
-
const inputPairCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;width:auto;min-width:0;--pair-radius:10px}:host.full-width{width:100%}.pair-main-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #64748b));margin-bottom:8px}.pair-container{display:flex;align-items:flex-end;width:100%}.pair-container .input-item{flex:1;min-width:0}.pair-container{}.pair-container .input-item.left ui-input::part(container),.pair-container .input-item.right ui-input::part(container){border-radius:var(--pair-radius);border-width:1.5px}.pair-container.is-connected .input-item.left ui-input::part(container){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0.75px}.pair-container.is-connected .input-item.right ui-input::part(container){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0.75px}`;
|
|
4
|
-
|
|
5
|
-
const InputPair = class {
|
|
6
|
-
constructor(hostRef) {
|
|
7
|
-
registerInstance(this, hostRef);
|
|
8
|
-
}
|
|
9
|
-
/** Left input label */
|
|
10
|
-
labelLeft = '';
|
|
11
|
-
/** Right input label */
|
|
12
|
-
labelRight = '';
|
|
13
|
-
/** Shared main label (optional) */
|
|
14
|
-
label;
|
|
15
|
-
/** Left input value */
|
|
16
|
-
valueLeft = '';
|
|
17
|
-
/** Right input value */
|
|
18
|
-
valueRight = '';
|
|
19
|
-
/** Left input placeholder */
|
|
20
|
-
placeholderLeft = '';
|
|
21
|
-
/** Right input placeholder */
|
|
22
|
-
placeholderRight = '';
|
|
23
|
-
/** Shared type for both inputs */
|
|
24
|
-
type = 'text';
|
|
25
|
-
/** Shared variant */
|
|
26
|
-
variant = 'outlined';
|
|
27
|
-
/** Shared size */
|
|
28
|
-
size = 'md';
|
|
29
|
-
/** Gap between inputs (set to 0 for connected) */
|
|
30
|
-
gap = '0';
|
|
31
|
-
/** Full width behavior */
|
|
32
|
-
fullWidth = false;
|
|
33
|
-
render() {
|
|
34
|
-
return (h(Host, { key: 'fdf7f4502e0ae69ee732870df215948f6dd343d4', class: { 'full-width': this.fullWidth } }, this.label && h("div", { key: 'fab76ee80e86ffb845930a8b2ce26d210da9e72c', class: "pair-main-label" }, this.label), h("div", { key: 'cb95a4fda33d88723248c58d57e526f9ab7fc1c6', class: {
|
|
35
|
-
'pair-container': true,
|
|
36
|
-
'is-connected': this.gap === '0'
|
|
37
|
-
}, style: { gap: this.gap !== '0' ? this.gap : undefined } }, h("div", { key: '562af03d33b4c7ec4f55ffa805dbbda5fa0e2c95', class: "input-item left" }, h("ui-input", { key: 'c75ac1faec6b8b0903d578064ba60529a923d4eb', label: this.labelLeft, placeholder: this.placeholderLeft, value: this.valueLeft, type: this.type, variant: this.variant, size: this.size, "full-width": true })), h("div", { key: '2740efa73d5758bf88c58f2853cba1da3f43a420', class: "input-item right" }, h("ui-input", { key: '4e110393af0e26ace0de9a68f12a9cb54b90d935', label: this.labelRight, placeholder: this.placeholderRight, value: this.valueRight, type: this.type, variant: this.variant, size: this.size, "full-width": true })))));
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
InputPair.style = inputPairCss();
|
|
41
|
-
|
|
42
|
-
export { InputPair as ui_input_pair };
|