@prolibu-suite/cobalt-core 0.7.0 → 0.9.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/custom-elements.json +8275 -5147
- package/dist/cjs/co-accordion.cjs.entry.js +4 -4
- package/dist/cjs/co-action-bar.cjs.entry.js +89 -0
- package/dist/cjs/co-app-shell.cjs.entry.js +4 -4
- package/dist/cjs/co-audio-player.cjs.entry.js +279 -0
- package/dist/cjs/co-autocomplete.cjs.entry.js +15 -6
- package/dist/cjs/co-avatar-group.cjs.entry.js +2 -2
- package/dist/cjs/co-avatar_2.cjs.entry.js +17 -6
- package/dist/cjs/co-badge.cjs.entry.js +2 -2
- package/dist/cjs/co-bottom-sheet.cjs.entry.js +5 -5
- package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/co-button-group.cjs.entry.js +3 -3
- package/dist/cjs/co-button.cjs.entry.js +13 -6
- package/dist/cjs/co-calendar-month_2.cjs.entry.js +1601 -0
- package/dist/cjs/co-calendar_3.cjs.entry.js +13 -13
- package/dist/cjs/co-card.cjs.entry.js +4 -4
- package/dist/cjs/co-carousel-item.cjs.entry.js +2 -2
- package/dist/cjs/co-carousel.cjs.entry.js +4 -4
- package/dist/cjs/co-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/co-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/co-chip_2.cjs.entry.js +109 -8
- package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/co-column-picker.cjs.entry.js +4 -4
- package/dist/cjs/co-combobox.cjs.entry.js +14 -6
- package/dist/cjs/co-command-search.cjs.entry.js +20 -6
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +6 -6
- package/dist/cjs/co-data-table.cjs.entry.js +2 -2
- package/dist/cjs/co-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-date-range-picker.cjs.entry.js +5 -5
- package/dist/cjs/co-date-range.cjs.entry.js +2 -2
- package/dist/cjs/co-date-time-picker.cjs.entry.js +409 -0
- package/dist/cjs/co-drive-card.cjs.entry.js +3 -3
- package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
- package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/co-event-calendar.cjs.entry.js +119 -18
- package/dist/cjs/co-event-popover.cjs.entry.js +132 -0
- package/dist/cjs/co-fab.cjs.entry.js +4 -4
- package/dist/cjs/co-file-field.cjs.entry.js +8 -8
- package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
- package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/co-icon-button.cjs.entry.js +3 -3
- package/dist/cjs/co-icon.cjs.entry.js +3 -3
- package/dist/cjs/co-input.cjs.entry.js +3 -3
- package/dist/cjs/co-json-field.cjs.entry.js +6 -6
- package/dist/cjs/co-lightbox.cjs.entry.js +7 -7
- package/dist/cjs/co-list-footer.cjs.entry.js +3 -3
- package/dist/cjs/co-list-item.cjs.entry.js +6 -6
- package/dist/cjs/co-loader.cjs.entry.js +1 -1
- package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
- package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
- package/dist/cjs/co-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/co-menu.cjs.entry.js +2 -2
- package/dist/cjs/co-modal.cjs.entry.js +4 -4
- package/dist/cjs/co-navbar.cjs.entry.js +3 -3
- package/dist/cjs/co-number-field.cjs.entry.js +5 -5
- package/dist/cjs/co-overlay.cjs.entry.js +3 -3
- package/dist/cjs/co-page-header.cjs.entry.js +2 -2
- package/dist/cjs/co-phone-field.cjs.entry.js +4 -4
- package/dist/cjs/co-popover.cjs.entry.js +33 -7
- package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-progress-circle.cjs.entry.js +4 -4
- package/dist/cjs/co-provider-logo_2.cjs.entry.js +72 -0
- package/dist/cjs/co-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/co-radio.cjs.entry.js +5 -5
- package/dist/cjs/co-rating.cjs.entry.js +5 -5
- package/dist/cjs/co-ref-field.cjs.entry.js +22 -6
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +5 -5
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +2 -2
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +1 -1
- package/dist/cjs/co-row.cjs.entry.js +3 -3
- package/dist/cjs/co-segmented-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-select.cjs.entry.js +4 -4
- package/dist/cjs/co-separator.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +14 -4
- package/dist/cjs/co-sidebar.cjs.entry.js +4 -4
- package/dist/cjs/co-slider.cjs.entry.js +4 -4
- package/dist/cjs/co-switch.cjs.entry.js +6 -6
- package/dist/cjs/co-tab-group.cjs.entry.js +20 -4
- package/dist/cjs/co-tab.cjs.entry.js +4 -4
- package/dist/cjs/co-tags-field.cjs.entry.js +9 -9
- package/dist/cjs/co-textarea.cjs.entry.js +7 -7
- package/dist/cjs/co-toast.cjs.entry.js +35 -5
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/co-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/co-transfer-list.cjs.entry.js +4 -4
- package/dist/cjs/co-video.cjs.entry.js +4 -4
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/{dateI18n-BdiNAl0_.js → dateI18n-wblvKRq_.js} +21 -0
- package/dist/cjs/{dates-D8D-aS5d.js → dates-TQLHlFd2.js} +64 -13
- package/dist/cjs/{fieldChip-B_npd9rL.js → fieldChip-xNJPEFcS.js} +1 -1
- package/dist/cjs/{index-kBiXCEE7.js → index-DK-2Lzmf.js} +29 -13
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{positioning-DwHW399W.js → positioning-DCj_AJ2T.js} +10 -0
- package/dist/cjs/{requiredMark-DuMIcKtt.js → requiredMark-C1xcrzSZ.js} +1 -1
- package/dist/cjs/time-LBHtzLHe.js +42 -0
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/p-09fe6ece.entry.js +1 -0
- package/dist/cobalt/p-12a0ae24.entry.js +1 -0
- package/dist/cobalt/p-142506d9.entry.js +1 -0
- package/dist/cobalt/{p-e4555fda.entry.js → p-19706923.entry.js} +1 -1
- package/dist/cobalt/p-19f5d480.entry.js +1 -0
- package/dist/cobalt/{p-B6JZk8fL.js → p-1EK-COrb.js} +1 -1
- package/dist/cobalt/p-1ddbc48b.entry.js +1 -0
- package/dist/cobalt/p-212ed2ba.entry.js +1 -0
- package/dist/cobalt/p-21832273.entry.js +1 -0
- package/dist/cobalt/p-24e93fcb.entry.js +1 -0
- package/dist/cobalt/{p-9211e794.entry.js → p-2a9ba4c8.entry.js} +1 -1
- package/dist/cobalt/p-2aeb1471.entry.js +1 -0
- package/dist/cobalt/p-2d0354cc.entry.js +1 -0
- package/dist/cobalt/p-30ec230e.entry.js +1 -0
- package/dist/cobalt/p-360714ae.entry.js +1 -0
- package/dist/cobalt/{p-3c681e3a.entry.js → p-37541725.entry.js} +1 -1
- package/dist/cobalt/p-39007b6c.entry.js +1 -0
- package/dist/cobalt/{p-2f6c7eb5.entry.js → p-39bce45f.entry.js} +1 -1
- package/dist/cobalt/{p-7f78e45c.entry.js → p-3ac316e0.entry.js} +1 -1
- package/dist/cobalt/{p-69723cc1.entry.js → p-3ced4269.entry.js} +1 -1
- package/dist/cobalt/{p-9994fcd8.entry.js → p-3ecc29fa.entry.js} +1 -1
- package/dist/cobalt/p-417ce874.entry.js +1 -0
- package/dist/cobalt/{p-28ab9cef.entry.js → p-43b1f8fb.entry.js} +1 -1
- package/dist/cobalt/p-49bde154.entry.js +1 -0
- package/dist/cobalt/{p-54f8c68c.entry.js → p-4e2379e4.entry.js} +1 -1
- package/dist/cobalt/p-5d7c26f2.entry.js +1 -0
- package/dist/cobalt/p-5ddebd10.entry.js +1 -0
- package/dist/cobalt/{p-bcd38114.entry.js → p-5f0f5d4b.entry.js} +1 -1
- package/dist/cobalt/{p-2661557c.entry.js → p-5f1b273b.entry.js} +1 -1
- package/dist/cobalt/p-60cb66f5.entry.js +1 -0
- package/dist/cobalt/{p-48fbf051.entry.js → p-6795a258.entry.js} +1 -1
- package/dist/cobalt/{p-5b84cf37.entry.js → p-6d532475.entry.js} +1 -1
- package/dist/cobalt/{p-0110108f.entry.js → p-724b9b54.entry.js} +1 -1
- package/dist/cobalt/{p-ceb85838.entry.js → p-7255ab63.entry.js} +1 -1
- package/dist/cobalt/p-7521ec0c.entry.js +1 -0
- package/dist/cobalt/{p-69ce2269.entry.js → p-76dff399.entry.js} +1 -1
- package/dist/cobalt/p-77593319.entry.js +1 -0
- package/dist/cobalt/p-7a2dab23.entry.js +1 -0
- package/dist/cobalt/p-7ec85887.entry.js +1 -0
- package/dist/cobalt/p-81866f71.entry.js +1 -0
- package/dist/cobalt/{p-c3004e1c.entry.js → p-8206c7c0.entry.js} +1 -1
- package/dist/cobalt/p-85a61e28.entry.js +1 -0
- package/dist/cobalt/p-87fc5aed.entry.js +1 -0
- package/dist/cobalt/p-8a93beb0.entry.js +1 -0
- package/dist/cobalt/p-8b7a4f6c.entry.js +1 -0
- package/dist/cobalt/{p-741cf623.entry.js → p-8e667eb6.entry.js} +1 -1
- package/dist/cobalt/{p-3b9be8a8.entry.js → p-94a8a119.entry.js} +1 -1
- package/dist/cobalt/p-9c2ce487.entry.js +1 -0
- package/dist/cobalt/p-9fe9e2fe.entry.js +1 -0
- package/dist/cobalt/p-BMdapAL8.js +1 -0
- package/dist/cobalt/p-BU7SQCje.js +1 -0
- package/dist/cobalt/p-CF8OB_TM.js +1 -0
- package/dist/cobalt/p-CQAYgqA6.js +1 -0
- package/dist/cobalt/p-CnNpoKwg.js +1 -0
- package/dist/cobalt/p-CrtiywTB.js +2 -0
- package/dist/cobalt/p-T4la7ly_.js +1 -0
- package/dist/cobalt/{p-2da09948.entry.js → p-a074f2ba.entry.js} +1 -1
- package/dist/cobalt/{p-0a294205.entry.js → p-a45e2c00.entry.js} +1 -1
- package/dist/cobalt/p-a530bec2.entry.js +1 -0
- package/dist/cobalt/p-a5d84c7a.entry.js +1 -0
- package/dist/cobalt/p-b004c3bb.entry.js +1 -0
- package/dist/cobalt/p-b1ef5107.entry.js +1 -0
- package/dist/cobalt/p-b28dc0fe.entry.js +1 -0
- package/dist/cobalt/{p-cdedaa82.entry.js → p-b64b0a07.entry.js} +1 -1
- package/dist/cobalt/p-b800e107.entry.js +1 -0
- package/dist/cobalt/p-b9ac1f25.entry.js +1 -0
- package/dist/cobalt/{p-202eadfc.entry.js → p-baeb5d55.entry.js} +1 -1
- package/dist/cobalt/{p-7178113f.entry.js → p-c31f5c1b.entry.js} +1 -1
- package/dist/cobalt/p-c3c2087e.entry.js +1 -0
- package/dist/cobalt/p-c42c505c.entry.js +1 -0
- package/dist/cobalt/p-c7a809c7.entry.js +1 -0
- package/dist/cobalt/{p-eec1c44c.entry.js → p-c8dba82f.entry.js} +1 -1
- package/dist/cobalt/p-cc72557d.entry.js +1 -0
- package/dist/cobalt/p-d21da71a.entry.js +1 -0
- package/dist/cobalt/{p-e1b468c1.entry.js → p-d3c765e3.entry.js} +1 -1
- package/dist/cobalt/p-d7b00e5f.entry.js +1 -0
- package/dist/cobalt/p-d85a751d.entry.js +1 -0
- package/dist/cobalt/{p-3af74ab8.entry.js → p-da546d08.entry.js} +1 -1
- package/dist/cobalt/p-debe0d79.entry.js +1 -0
- package/dist/cobalt/p-e054cb52.entry.js +1 -0
- package/dist/cobalt/p-e5296961.entry.js +1 -0
- package/dist/cobalt/p-e5b5ae89.entry.js +1 -0
- package/dist/cobalt/p-e612b43c.entry.js +1 -0
- package/dist/cobalt/{p-97875bde.entry.js → p-e6882ddd.entry.js} +1 -1
- package/dist/cobalt/p-e7e34852.entry.js +1 -0
- package/dist/cobalt/p-e99832a9.entry.js +1 -0
- package/dist/cobalt/{p-616e4286.entry.js → p-ed2ca588.entry.js} +1 -1
- package/dist/cobalt/p-f1284fcd.entry.js +1 -0
- package/dist/cobalt/{p-6b38e8fb.entry.js → p-f1731fe9.entry.js} +1 -1
- package/dist/cobalt/{p-ba5c6aa7.entry.js → p-f4cebc1f.entry.js} +1 -1
- package/dist/cobalt/p-f52f61d4.entry.js +1 -0
- package/dist/cobalt/{p-a252f8c5.entry.js → p-f83b48fd.entry.js} +1 -1
- package/dist/cobalt/p-fa5c25d6.entry.js +1 -0
- package/dist/cobalt/p-fd39f410.entry.js +1 -0
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/co-accordion/co-accordion.css +12 -4
- package/dist/collection/components/co-accordion/co-accordion.js +2 -2
- package/dist/collection/components/co-action-bar/co-action-bar.css +136 -0
- package/dist/collection/components/co-action-bar/co-action-bar.js +247 -0
- package/dist/collection/components/co-app-shell/co-app-shell.css +1 -1
- package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
- package/dist/collection/components/co-audio-player/co-audio-player.css +57 -0
- package/dist/collection/components/co-audio-player/co-audio-player.js +453 -0
- package/dist/collection/components/co-audio-player/co-audio-player.utils.js +44 -0
- package/dist/collection/components/co-autocomplete/co-autocomplete.css +2 -2
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +14 -5
- package/dist/collection/components/co-avatar-group/co-avatar-group.css +1 -1
- package/dist/collection/components/co-badge/co-badge.js +1 -1
- package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.css +4 -12
- package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
- package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
- package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
- package/dist/collection/components/co-button/co-button.css +36 -1
- package/dist/collection/components/co-button/co-button.js +31 -5
- package/dist/collection/components/co-button-group/co-button-group.js +2 -2
- package/dist/collection/components/co-calendar/co-calendar.css +2 -2
- package/dist/collection/components/co-calendar/co-calendar.js +1 -1
- package/dist/collection/components/co-calendar-month/co-calendar-month.css +53 -4
- package/dist/collection/components/co-calendar-month/co-calendar-month.js +238 -55
- package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.css +265 -0
- package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +1305 -0
- package/dist/collection/components/co-card/co-card.css +1 -1
- package/dist/collection/components/co-card/co-card.js +2 -2
- package/dist/collection/components/co-carousel/co-carousel.js +2 -2
- package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
- package/dist/collection/components/co-checkbox/co-checkbox.css +85 -59
- package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +1 -1
- package/dist/collection/components/co-chip/co-chip.css +2 -2
- package/dist/collection/components/co-chip/co-chip.js +2 -2
- package/dist/collection/components/co-color-picker/co-color-picker.css +3 -3
- package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
- package/dist/collection/components/co-column-picker/co-column-picker.css +8 -8
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.css +2 -2
- package/dist/collection/components/co-combobox/co-combobox.js +13 -5
- package/dist/collection/components/co-command-search/co-command-search.css +13 -3
- package/dist/collection/components/co-command-search/co-command-search.js +18 -4
- package/dist/collection/components/co-data-table/co-data-table.css +9 -9
- package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.css +5 -5
- package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
- package/dist/collection/components/co-date-field/co-date-field.css +2 -2
- package/dist/collection/components/co-date-field/co-date-field.js +4 -4
- package/dist/collection/components/co-date-range/co-date-range.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +2 -2
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +325 -0
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +1079 -0
- package/dist/collection/components/co-drawer/co-drawer.css +48 -2
- package/dist/collection/components/co-drawer/co-drawer.js +1 -1
- package/dist/collection/components/co-drive-card/co-drive-card.css +5 -5
- package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
- package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
- package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
- package/dist/collection/components/co-event-calendar/co-event-calendar.css +21 -9
- package/dist/collection/components/co-event-calendar/co-event-calendar.js +342 -39
- package/dist/collection/components/co-event-popover/co-event-popover.css +25 -0
- package/dist/collection/components/co-event-popover/co-event-popover.js +326 -0
- package/dist/collection/components/co-fab/co-fab.css +18 -12
- package/dist/collection/components/co-fab/co-fab.js +2 -2
- package/dist/collection/components/co-file-field/co-file-field.css +5 -5
- package/dist/collection/components/co-file-field/co-file-field.js +5 -5
- package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
- package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
- package/dist/collection/components/co-icon/co-icon.js +2 -2
- package/dist/collection/components/co-icon-button/co-icon-button.css +10 -1
- package/dist/collection/components/co-icon-button/co-icon-button.js +1 -1
- package/dist/collection/components/co-input/co-input.css +3 -3
- package/dist/collection/components/co-json-field/co-json-field.css +1 -1
- package/dist/collection/components/co-json-field/co-json-field.js +3 -3
- package/dist/collection/components/co-lightbox/co-lightbox.css +4 -4
- package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
- package/dist/collection/components/co-list-footer/co-list-footer.css +1 -1
- package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
- package/dist/collection/components/co-list-item/co-list-item.css +1 -1
- package/dist/collection/components/co-list-item/co-list-item.js +4 -4
- package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
- package/dist/collection/components/co-menu/co-menu.js +1 -1
- package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
- package/dist/collection/components/co-menu-item/co-menu-item.css +22 -1
- package/dist/collection/components/co-menu-item/co-menu-item.js +20 -1
- package/dist/collection/components/co-modal/co-modal.css +2 -2
- package/dist/collection/components/co-modal/co-modal.js +2 -2
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.css +3 -3
- package/dist/collection/components/co-number-field/co-number-field.js +2 -2
- package/dist/collection/components/co-option-list/co-option-list.css +20 -2
- package/dist/collection/components/co-option-list/co-option-list.js +141 -7
- package/dist/collection/components/co-option-list/optionListLogic.js +13 -0
- package/dist/collection/components/co-overlay/co-overlay.css +2 -2
- package/dist/collection/components/co-overlay/co-overlay.js +1 -1
- package/dist/collection/components/co-page-header/co-page-header.js +1 -1
- package/dist/collection/components/co-phone-field/co-phone-field.css +1 -1
- package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
- package/dist/collection/components/co-popover/co-popover.css +27 -0
- package/dist/collection/components/co-popover/co-popover.js +30 -4
- package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
- package/dist/collection/components/co-progress-circle/co-progress-circle.css +1 -1
- package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
- package/dist/collection/components/co-provider-logo/co-provider-logo.css +23 -0
- package/dist/collection/components/co-provider-logo/co-provider-logo.js +124 -0
- package/dist/collection/components/co-radio/co-radio.css +1 -1
- package/dist/collection/components/co-radio/co-radio.js +3 -3
- package/dist/collection/components/co-radio-group/co-radio-group.css +1 -1
- package/dist/collection/components/co-rating/co-rating.css +1 -1
- package/dist/collection/components/co-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.css +4 -4
- package/dist/collection/components/co-ref-field/co-ref-field.js +18 -2
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +16 -5
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +3 -3
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +20 -12
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-select/co-select.css +4 -4
- package/dist/collection/components/co-select/co-select.js +1 -1
- package/dist/collection/components/co-separator/co-separator.js +1 -1
- package/dist/collection/components/co-sidebar/co-sidebar.css +1 -1
- package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +33 -7
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +12 -2
- package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
- package/dist/collection/components/co-slider/co-slider.css +9 -2
- package/dist/collection/components/co-slider/co-slider.js +2 -2
- package/dist/collection/components/co-switch/co-switch.css +5 -4
- package/dist/collection/components/co-switch/co-switch.js +3 -3
- package/dist/collection/components/co-tab/co-tab.css +2 -2
- package/dist/collection/components/co-tab/co-tab.js +2 -2
- package/dist/collection/components/co-tab-group/co-tab-group.css +25 -0
- package/dist/collection/components/co-tab-group/co-tab-group.js +18 -2
- package/dist/collection/components/co-tags-field/co-tags-field.css +3 -3
- package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
- package/dist/collection/components/co-textarea/co-textarea.css +2 -2
- package/dist/collection/components/co-textarea/co-textarea.js +4 -4
- package/dist/collection/components/co-toast/co-toast.css +63 -1
- package/dist/collection/components/co-toast/co-toast.js +38 -3
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +1 -1
- package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.css +1 -1
- package/dist/collection/components/co-tooltip/co-tooltip.js +14 -3
- package/dist/collection/components/co-transfer-list/co-transfer-list.css +3 -3
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +2 -2
- package/dist/collection/components/co-video/co-video.css +9 -9
- package/dist/collection/components/co-video/co-video.js +2 -2
- package/dist/collection/utils/dateI18n.js +21 -0
- package/dist/collection/utils/eventColor.js +52 -0
- package/dist/collection/utils/positioning.js +10 -0
- package/dist/components/co-accordion.js +1 -1
- package/dist/components/co-action-bar.d.ts +11 -0
- package/dist/components/co-action-bar.js +1 -0
- package/dist/components/co-app-shell.js +1 -1
- package/dist/components/co-audio-player.d.ts +11 -0
- package/dist/components/co-audio-player.js +1 -0
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-avatar-group.js +1 -1
- package/dist/components/co-avatar.js +1 -1
- package/dist/components/co-badge.js +1 -1
- package/dist/components/co-bottom-sheet.js +1 -1
- package/dist/components/co-breadcrumb-item.js +1 -1
- package/dist/components/co-breadcrumb.js +1 -1
- package/dist/components/co-button-group.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-calendar-month.js +1 -1
- package/dist/components/co-calendar-timegrid.d.ts +11 -0
- package/dist/components/co-calendar-timegrid.js +1 -0
- package/dist/components/co-calendar.js +1 -1
- package/dist/components/co-card.js +1 -1
- package/dist/components/co-carousel-item.js +1 -1
- package/dist/components/co-carousel.js +1 -1
- package/dist/components/co-checkbox-group.js +1 -1
- package/dist/components/co-checkbox.js +1 -1
- package/dist/components/co-chip.js +1 -1
- package/dist/components/co-color-picker.js +1 -1
- package/dist/components/co-column-picker.js +1 -1
- package/dist/components/co-combobox.js +1 -1
- package/dist/components/co-command-search.js +1 -1
- package/dist/components/co-data-table-pagination.js +1 -1
- package/dist/components/co-data-table.js +1 -1
- package/dist/components/co-date-field.js +1 -1
- package/dist/components/co-date-picker.js +1 -1
- package/dist/components/co-date-range-picker.js +1 -1
- package/dist/components/co-date-range.js +1 -1
- package/dist/components/co-date-time-picker.d.ts +11 -0
- package/dist/components/co-date-time-picker.js +1 -0
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-drive-card.js +1 -1
- package/dist/components/co-drop-zone.js +1 -1
- package/dist/components/co-empty-state.js +1 -1
- package/dist/components/co-event-calendar.js +1 -1
- package/dist/components/co-event-popover.d.ts +11 -0
- package/dist/components/co-event-popover.js +1 -0
- package/dist/components/co-fab.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-file-type-tile.js +1 -1
- package/dist/components/co-helper-text.js +1 -1
- package/dist/components/co-icon-button.js +1 -1
- package/dist/components/co-icon.js +1 -1
- package/dist/components/co-input.js +1 -1
- package/dist/components/co-json-field.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-footer.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-media-thumb.js +1 -1
- package/dist/components/co-menu-divider.js +1 -1
- package/dist/components/co-menu-item.js +1 -1
- package/dist/components/co-menu.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-navbar.js +1 -1
- package/dist/components/co-number-field.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-page-header.js +1 -1
- package/dist/components/co-phone-field.js +1 -1
- package/dist/components/co-popover.js +1 -1
- package/dist/components/co-progress-bar.js +1 -1
- package/dist/components/co-progress-circle.js +1 -1
- package/dist/components/co-provider-logo.d.ts +11 -0
- package/dist/components/co-provider-logo.js +1 -0
- package/dist/components/co-radio-group.js +1 -1
- package/dist/components/co-radio.js +1 -1
- package/dist/components/co-rating.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-rich-text-editor.js +1 -1
- package/dist/components/co-rich-text-toolbar.js +1 -1
- package/dist/components/co-row.js +1 -1
- package/dist/components/co-select.js +1 -1
- package/dist/components/co-separator.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-sidebar.js +1 -1
- package/dist/components/co-skeleton.js +1 -1
- package/dist/components/co-slider.js +1 -1
- package/dist/components/co-switch.js +1 -1
- package/dist/components/co-tab-group.js +1 -1
- package/dist/components/co-tab.js +1 -1
- package/dist/components/co-tags-field.js +1 -1
- package/dist/components/co-textarea.js +1 -1
- package/dist/components/co-toast.js +1 -1
- package/dist/components/co-toggle-button-group.js +1 -1
- package/dist/components/co-toggle-button.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/co-transfer-list.js +1 -1
- package/dist/components/co-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-2zy1K6zg.js +1 -0
- package/dist/components/{p-B3U63yZw.js → p-BCnjq3jN.js} +1 -1
- package/dist/components/p-BMdapAL8.js +1 -0
- package/dist/components/{p-T0UfY6rA.js → p-BUE9mBqk.js} +1 -1
- package/dist/components/p-Bh2__nEw.js +1 -0
- package/dist/components/{p-Cd3inFSL.js → p-BiefJDu3.js} +1 -1
- package/dist/components/{p-Bul6EdDX.js → p-BlvsTlsS.js} +1 -1
- package/dist/components/p-Bsll5Ofy.js +1 -0
- package/dist/components/p-C-5cLeKr.js +1 -0
- package/dist/components/p-CF8OB_TM.js +1 -0
- package/dist/components/p-CJNo2JDc.js +1 -0
- package/dist/components/p-CKKBJaNB.js +1 -0
- package/dist/components/p-CL4dicvk.js +1 -0
- package/dist/components/{p-DfpOEXHC.js → p-CYv2ig6I.js} +1 -1
- package/dist/components/p-Ce0ZJcks.js +1 -0
- package/dist/components/p-Ch837Ggl.js +1 -0
- package/dist/components/p-CkQqqKRp.js +1 -0
- package/dist/components/p-CmxZEGYq.js +1 -0
- package/dist/components/p-CnNpoKwg.js +1 -0
- package/dist/components/p-Cv5yuGLz.js +1 -0
- package/dist/components/{p-oV_1MoAN.js → p-DAaKsGqj.js} +1 -1
- package/dist/components/p-DFT1qsVu.js +1 -0
- package/dist/components/p-DTJsO_Eg.js +1 -0
- package/dist/components/p-Dxa7c4Ap.js +1 -0
- package/dist/components/p-_YYd42XM.js +1 -0
- package/dist/components/p-e5KibEs8.js +1 -0
- package/dist/components/p-re2gJwnQ.js +1 -0
- package/dist/components/p-ushHimOL.js +1 -0
- package/dist/components/p-xvWmYN3W.js +1 -0
- package/dist/esm/co-accordion.entry.js +4 -4
- package/dist/esm/co-action-bar.entry.js +87 -0
- package/dist/esm/co-app-shell.entry.js +4 -4
- package/dist/esm/co-audio-player.entry.js +277 -0
- package/dist/esm/co-autocomplete.entry.js +15 -6
- package/dist/esm/co-avatar-group.entry.js +2 -2
- package/dist/esm/co-avatar_2.entry.js +17 -6
- package/dist/esm/co-badge.entry.js +2 -2
- package/dist/esm/co-bottom-sheet.entry.js +5 -5
- package/dist/esm/co-breadcrumb-item.entry.js +3 -3
- package/dist/esm/co-breadcrumb.entry.js +2 -2
- package/dist/esm/co-button-group.entry.js +3 -3
- package/dist/esm/co-button.entry.js +13 -6
- package/dist/esm/co-calendar-month_2.entry.js +1598 -0
- package/dist/esm/co-calendar_3.entry.js +13 -13
- package/dist/esm/co-card.entry.js +4 -4
- package/dist/esm/co-carousel-item.entry.js +2 -2
- package/dist/esm/co-carousel.entry.js +4 -4
- package/dist/esm/co-checkbox-group.entry.js +2 -2
- package/dist/esm/co-checkbox.entry.js +5 -5
- package/dist/esm/co-chip_2.entry.js +109 -8
- package/dist/esm/co-color-picker.entry.js +5 -5
- package/dist/esm/co-column-picker.entry.js +4 -4
- package/dist/esm/co-combobox.entry.js +14 -6
- package/dist/esm/co-command-search.entry.js +20 -6
- package/dist/esm/co-data-table-pagination.entry.js +6 -6
- package/dist/esm/co-data-table.entry.js +2 -2
- package/dist/esm/co-date-picker.entry.js +3 -3
- package/dist/esm/co-date-range-picker.entry.js +5 -5
- package/dist/esm/co-date-range.entry.js +2 -2
- package/dist/esm/co-date-time-picker.entry.js +407 -0
- package/dist/esm/co-drive-card.entry.js +3 -3
- package/dist/esm/co-drop-zone.entry.js +2 -2
- package/dist/esm/co-empty-state.entry.js +3 -3
- package/dist/esm/co-event-calendar.entry.js +120 -19
- package/dist/esm/co-event-popover.entry.js +130 -0
- package/dist/esm/co-fab.entry.js +4 -4
- package/dist/esm/co-file-field.entry.js +8 -8
- package/dist/esm/co-file-type-tile.entry.js +3 -3
- package/dist/esm/co-helper-text.entry.js +3 -3
- package/dist/esm/co-icon-button.entry.js +3 -3
- package/dist/esm/co-icon.entry.js +3 -3
- package/dist/esm/co-input.entry.js +3 -3
- package/dist/esm/co-json-field.entry.js +6 -6
- package/dist/esm/co-lightbox.entry.js +7 -7
- package/dist/esm/co-list-footer.entry.js +3 -3
- package/dist/esm/co-list-item.entry.js +6 -6
- package/dist/esm/co-loader.entry.js +1 -1
- package/dist/esm/co-media-thumb.entry.js +3 -3
- package/dist/esm/co-menu-divider.entry.js +2 -2
- package/dist/esm/co-menu-item.entry.js +3 -3
- package/dist/esm/co-menu.entry.js +2 -2
- package/dist/esm/co-modal.entry.js +4 -4
- package/dist/esm/co-navbar.entry.js +3 -3
- package/dist/esm/co-number-field.entry.js +5 -5
- package/dist/esm/co-overlay.entry.js +3 -3
- package/dist/esm/co-page-header.entry.js +2 -2
- package/dist/esm/co-phone-field.entry.js +4 -4
- package/dist/esm/co-popover.entry.js +33 -7
- package/dist/esm/co-progress-bar.entry.js +3 -3
- package/dist/esm/co-progress-circle.entry.js +4 -4
- package/dist/esm/co-provider-logo_2.entry.js +69 -0
- package/dist/esm/co-radio-group.entry.js +2 -2
- package/dist/esm/co-radio.entry.js +5 -5
- package/dist/esm/co-rating.entry.js +5 -5
- package/dist/esm/co-ref-field.entry.js +22 -6
- package/dist/esm/co-rich-text-editor.entry.js +5 -5
- package/dist/esm/co-rich-text-toolbar.entry.js +2 -2
- package/dist/esm/co-rich-text-viewer.entry.js +1 -1
- package/dist/esm/co-row.entry.js +3 -3
- package/dist/esm/co-segmented-bar.entry.js +1 -1
- package/dist/esm/co-select.entry.js +4 -4
- package/dist/esm/co-separator.entry.js +2 -2
- package/dist/esm/co-sidebar-nav.entry.js +14 -4
- package/dist/esm/co-sidebar.entry.js +4 -4
- package/dist/esm/co-slider.entry.js +4 -4
- package/dist/esm/co-switch.entry.js +6 -6
- package/dist/esm/co-tab-group.entry.js +20 -4
- package/dist/esm/co-tab.entry.js +4 -4
- package/dist/esm/co-tags-field.entry.js +9 -9
- package/dist/esm/co-textarea.entry.js +7 -7
- package/dist/esm/co-toast.entry.js +35 -5
- package/dist/esm/co-toggle-button-group.entry.js +3 -3
- package/dist/esm/co-toggle-button.entry.js +4 -4
- package/dist/esm/co-transfer-list.entry.js +4 -4
- package/dist/esm/co-video.entry.js +4 -4
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/{dateI18n-C1DCLOEl.js → dateI18n-CnNpoKwg.js} +21 -0
- package/dist/esm/{dates-tPYikBRJ.js → dates-BU7SQCje.js} +64 -13
- package/dist/esm/{fieldChip-Bb8YIN0J.js → fieldChip-BZDUy9Z-.js} +1 -1
- package/dist/esm/{index-BCEz3S-z.js → index-CrtiywTB.js} +29 -13
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{positioning-C2mZ7x_Y.js → positioning-BMdapAL8.js} +10 -0
- package/dist/esm/{requiredMark-D7kAMXHM.js → requiredMark-DCD-ZA51.js} +1 -1
- package/dist/esm/time-CF8OB_TM.js +37 -0
- package/dist/esm/{tz-B6JZk8fL.js → tz-1EK-COrb.js} +1 -1
- package/dist/types/components/co-action-bar/co-action-bar.d.ts +66 -0
- package/dist/types/components/co-audio-player/co-audio-player.d.ts +62 -0
- package/dist/types/components/co-audio-player/co-audio-player.utils.d.ts +11 -0
- package/dist/types/components/co-autocomplete/co-autocomplete.d.ts +1 -1
- package/dist/types/components/co-button/co-button.d.ts +18 -1
- package/dist/types/components/co-calendar-month/co-calendar-month.d.ts +33 -1
- package/dist/types/components/co-calendar-timegrid/co-calendar-timegrid.d.ts +178 -0
- package/dist/types/components/co-combobox/co-combobox.d.ts +1 -1
- package/dist/types/components/co-command-search/co-command-search.d.ts +7 -0
- package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +131 -0
- package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +61 -8
- package/dist/types/components/co-event-popover/co-event-popover.d.ts +45 -0
- package/dist/types/components/co-menu-item/co-menu-item.d.ts +3 -0
- package/dist/types/components/co-option-list/co-option-list.d.ts +28 -1
- package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
- package/dist/types/components/co-provider-logo/co-provider-logo.d.ts +17 -0
- package/dist/types/components/co-ref-field/co-ref-field.d.ts +5 -0
- package/dist/types/components/co-tab-group/co-tab-group.d.ts +5 -0
- package/dist/types/components/co-toast/co-toast.d.ts +19 -0
- package/dist/types/components/co-tooltip/co-tooltip.d.ts +6 -0
- package/dist/types/components.d.ts +1251 -82
- package/dist/types/utils/dateI18n.d.ts +7 -0
- package/dist/types/utils/eventColor.d.ts +20 -0
- package/package.json +3 -3
- package/dist/cjs/co-calendar-month.cjs.entry.js +0 -381
- package/dist/cjs/co-skeleton.cjs.entry.js +0 -26
- package/dist/cobalt/p-037cc571.entry.js +0 -1
- package/dist/cobalt/p-080f62e4.entry.js +0 -1
- package/dist/cobalt/p-0b7359bb.entry.js +0 -1
- package/dist/cobalt/p-0b92167a.entry.js +0 -1
- package/dist/cobalt/p-0bc5a962.entry.js +0 -1
- package/dist/cobalt/p-264508ae.entry.js +0 -1
- package/dist/cobalt/p-27dce0ac.entry.js +0 -1
- package/dist/cobalt/p-30c80e3a.entry.js +0 -1
- package/dist/cobalt/p-331a0108.entry.js +0 -1
- package/dist/cobalt/p-36ad3a96.entry.js +0 -1
- package/dist/cobalt/p-3ecbbe93.entry.js +0 -1
- package/dist/cobalt/p-3f1030fb.entry.js +0 -1
- package/dist/cobalt/p-3f7215e7.entry.js +0 -1
- package/dist/cobalt/p-431cec34.entry.js +0 -1
- package/dist/cobalt/p-4f615cbd.entry.js +0 -1
- package/dist/cobalt/p-5319ac3f.entry.js +0 -1
- package/dist/cobalt/p-532baca4.entry.js +0 -1
- package/dist/cobalt/p-53a276a8.entry.js +0 -1
- package/dist/cobalt/p-543cc00d.entry.js +0 -1
- package/dist/cobalt/p-54857f78.entry.js +0 -1
- package/dist/cobalt/p-585c132d.entry.js +0 -1
- package/dist/cobalt/p-59b114ab.entry.js +0 -1
- package/dist/cobalt/p-5c250889.entry.js +0 -1
- package/dist/cobalt/p-5d0510a5.entry.js +0 -1
- package/dist/cobalt/p-5e246304.entry.js +0 -1
- package/dist/cobalt/p-64115d66.entry.js +0 -1
- package/dist/cobalt/p-75515a8e.entry.js +0 -1
- package/dist/cobalt/p-8155d781.entry.js +0 -1
- package/dist/cobalt/p-8fe5b07e.entry.js +0 -1
- package/dist/cobalt/p-9824c478.entry.js +0 -1
- package/dist/cobalt/p-9bf42bf4.entry.js +0 -1
- package/dist/cobalt/p-9fab9c1f.entry.js +0 -1
- package/dist/cobalt/p-BCEz3S-z.js +0 -2
- package/dist/cobalt/p-C-d15gih.js +0 -1
- package/dist/cobalt/p-C1DCLOEl.js +0 -1
- package/dist/cobalt/p-C2mZ7x_Y.js +0 -1
- package/dist/cobalt/p-D5gr2ent.js +0 -1
- package/dist/cobalt/p-b06af5c6.entry.js +0 -1
- package/dist/cobalt/p-b87a2e7a.entry.js +0 -1
- package/dist/cobalt/p-bb00ae4a.entry.js +0 -1
- package/dist/cobalt/p-c237add6.entry.js +0 -1
- package/dist/cobalt/p-c589ae25.entry.js +0 -1
- package/dist/cobalt/p-c635417b.entry.js +0 -1
- package/dist/cobalt/p-c7d9ff39.entry.js +0 -1
- package/dist/cobalt/p-c9528a5f.entry.js +0 -1
- package/dist/cobalt/p-cbac0a11.entry.js +0 -1
- package/dist/cobalt/p-cd28aa6d.entry.js +0 -1
- package/dist/cobalt/p-d3a1a604.entry.js +0 -1
- package/dist/cobalt/p-d71b800a.entry.js +0 -1
- package/dist/cobalt/p-df752f6e.entry.js +0 -1
- package/dist/cobalt/p-ec9dd3a3.entry.js +0 -1
- package/dist/cobalt/p-eeed80ac.entry.js +0 -1
- package/dist/cobalt/p-f0a98453.entry.js +0 -1
- package/dist/cobalt/p-ff581807.entry.js +0 -1
- package/dist/cobalt/p-fffeb610.entry.js +0 -1
- package/dist/cobalt/p-tPYikBRJ.js +0 -1
- package/dist/components/p-9aNhJfTT.js +0 -1
- package/dist/components/p-B0b9Etx4.js +0 -1
- package/dist/components/p-B7Yv00g9.js +0 -1
- package/dist/components/p-BTa6ss5i.js +0 -1
- package/dist/components/p-BtpRnpaF.js +0 -1
- package/dist/components/p-Bzg5FPSA.js +0 -1
- package/dist/components/p-C1DCLOEl.js +0 -1
- package/dist/components/p-C2mZ7x_Y.js +0 -1
- package/dist/components/p-CQ-8domm.js +0 -1
- package/dist/components/p-CVeEoHr7.js +0 -1
- package/dist/components/p-CYi6V_Ss.js +0 -1
- package/dist/components/p-CmCsm4L-.js +0 -1
- package/dist/components/p-CuQjKAf5.js +0 -1
- package/dist/components/p-CyYF8IJE.js +0 -1
- package/dist/components/p-DKvTqEaf.js +0 -1
- package/dist/components/p-DwwxS5bY.js +0 -1
- package/dist/esm/co-calendar-month.entry.js +0 -379
- package/dist/esm/co-skeleton.entry.js +0 -24
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { highlightMatch } from "../../utils/normalizeText";
|
|
3
3
|
import { initOverlayScroll } from "../../utils/overlayScroll";
|
|
4
|
-
import { buildRows, deriveMore, nextActiveIndex, orderItems, parseItems, parseValue, virtualSlice, VIRTUAL_ITEM_HEIGHT, VIRTUAL_VIEWPORT_ITEMS, } from "./optionListLogic";
|
|
4
|
+
import { buildRows, deriveMore, nextActiveIndex, orderItems, parseItems, parseValue, reorderIds, virtualSlice, VIRTUAL_ITEM_HEIGHT, VIRTUAL_VIEWPORT_ITEMS, } from "./optionListLogic";
|
|
5
5
|
/**
|
|
6
6
|
* Núcleo de lista de opciones — la única fuente del look & behavior de los
|
|
7
7
|
* dropdowns Cobalt (co-ref-field, co-combobox, co-autocomplete,
|
|
@@ -28,6 +28,8 @@ export class CoOptionList {
|
|
|
28
28
|
this.selectedAffordance = 'check';
|
|
29
29
|
/** Botón remove por fila seleccionada en multiple (tags de combobox). */
|
|
30
30
|
this.removableItems = false;
|
|
31
|
+
/** Habilita reorder por drag del bloque de seleccionados (selected-first). */
|
|
32
|
+
this.reorderable = false;
|
|
31
33
|
// ── Search integrado (opcional) ────────────────────────────
|
|
32
34
|
this.searchable = false;
|
|
33
35
|
this.searchPlaceholder = 'Search…';
|
|
@@ -59,6 +61,14 @@ export class CoOptionList {
|
|
|
59
61
|
this.term = '';
|
|
60
62
|
this.activeIndex = -1;
|
|
61
63
|
this.scrollTop = 0;
|
|
64
|
+
/** Fila armada para drag (handle presionado). */
|
|
65
|
+
this.armedKey = '';
|
|
66
|
+
/** Fila que se está arrastrando. */
|
|
67
|
+
this.dragKey = '';
|
|
68
|
+
/** Fila hover como drop-target. */
|
|
69
|
+
this.overKey = '';
|
|
70
|
+
/** Dirección del drop sobre overKey (true = el ítem cae DESPUÉS del target). */
|
|
71
|
+
this.dropAfter = false;
|
|
62
72
|
/** Snapshot selected-first (ver snapshotOrder). */
|
|
63
73
|
this.sortSnapshot = new Set();
|
|
64
74
|
this.displaySnapshot = [];
|
|
@@ -88,6 +98,19 @@ export class CoOptionList {
|
|
|
88
98
|
clearTimeout(this.debounceTimer);
|
|
89
99
|
this.debounceTimer = setTimeout(() => this.coSearch.emit(v), this.searchDebounce);
|
|
90
100
|
};
|
|
101
|
+
this.handleRowDragEnd = () => { this.resetDragState(); };
|
|
102
|
+
this.handleRowDragLeave = (e, id) => {
|
|
103
|
+
// Limpia el highlight al salir de la fila (evita drop-target stale al pasar sobre
|
|
104
|
+
// el bloque no-seleccionado, que no tiene onDragOver). Guard `contains`: dragleave
|
|
105
|
+
// también dispara al entrar a un hijo, no solo al salir de la fila.
|
|
106
|
+
if (this.overKey === id && !e.currentTarget.contains(e.relatedTarget)) {
|
|
107
|
+
this.overKey = '';
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
this.disarmDrag = () => {
|
|
111
|
+
if (this.armedKey && !this.dragKey)
|
|
112
|
+
this.armedKey = '';
|
|
113
|
+
};
|
|
91
114
|
this.onNativeScroll = (e) => {
|
|
92
115
|
// Fallback pre-OverlayScrollbars (primer frame) — misma lógica.
|
|
93
116
|
const el = e.target;
|
|
@@ -126,12 +149,16 @@ export class CoOptionList {
|
|
|
126
149
|
});
|
|
127
150
|
}
|
|
128
151
|
}
|
|
152
|
+
connectedCallback() {
|
|
153
|
+
window.addEventListener('mouseup', this.disarmDrag);
|
|
154
|
+
}
|
|
129
155
|
disconnectedCallback() {
|
|
130
156
|
var _a;
|
|
131
157
|
if (this.debounceTimer)
|
|
132
158
|
clearTimeout(this.debounceTimer);
|
|
133
159
|
(_a = this.osInstance) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
134
160
|
this.osInstance = undefined;
|
|
161
|
+
window.removeEventListener('mouseup', this.disarmDrag);
|
|
135
162
|
}
|
|
136
163
|
onItemsChange() {
|
|
137
164
|
// Nueva página / nuevos resultados: si autoHighlight, re-resalta la primera fila
|
|
@@ -218,6 +245,18 @@ export class CoOptionList {
|
|
|
218
245
|
return false;
|
|
219
246
|
}
|
|
220
247
|
}
|
|
248
|
+
/** X "deselect" de la fila seleccionada: emite la DESELECCIÓN real. pick()
|
|
249
|
+
* no sirve acá: en single re-emite el mismo id (re-selección no-op) — el
|
|
250
|
+
* consumidor jamás se enteraba y la X parecía muerta (bug del workspace). */
|
|
251
|
+
deselectItem(item) {
|
|
252
|
+
if (this.multiple) {
|
|
253
|
+
const next = this.selectedIds.filter((id) => id !== item._id);
|
|
254
|
+
this.coChange.emit({ value: next, item });
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
this.coChange.emit({ value: null, item });
|
|
258
|
+
}
|
|
259
|
+
}
|
|
221
260
|
pick(item) {
|
|
222
261
|
if (this.multiple) {
|
|
223
262
|
const current = this.selectedIds;
|
|
@@ -229,6 +268,50 @@ export class CoOptionList {
|
|
|
229
268
|
this.coChange.emit({ value: item._id, item });
|
|
230
269
|
}
|
|
231
270
|
}
|
|
271
|
+
// ── Reorder (drag del bloque selected-first) ───────────────
|
|
272
|
+
handleRowDragStart(e, id) {
|
|
273
|
+
if (this.armedKey !== id) {
|
|
274
|
+
e.preventDefault();
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
this.dragKey = id;
|
|
278
|
+
if (e.dataTransfer) {
|
|
279
|
+
e.dataTransfer.effectAllowed = 'move';
|
|
280
|
+
e.dataTransfer.setData('text/plain', id);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
handleRowDragOver(e, id) {
|
|
284
|
+
if (!this.dragKey || this.dragKey === id)
|
|
285
|
+
return;
|
|
286
|
+
e.preventDefault();
|
|
287
|
+
if (e.dataTransfer)
|
|
288
|
+
e.dataTransfer.dropEffect = 'move';
|
|
289
|
+
this.overKey = id;
|
|
290
|
+
// Dirección: al arrastrar hacia abajo (from<to) el ítem cae DESPUÉS del target
|
|
291
|
+
// (semántica de reorderIds) → el indicador va en el borde inferior; hacia arriba, superior.
|
|
292
|
+
const ids = this.displaySnapshot.map((d) => d._id);
|
|
293
|
+
this.dropAfter = ids.indexOf(this.dragKey) < ids.indexOf(id);
|
|
294
|
+
}
|
|
295
|
+
handleRowDrop(e, id) {
|
|
296
|
+
e.preventDefault();
|
|
297
|
+
e.stopPropagation();
|
|
298
|
+
const fromId = this.dragKey;
|
|
299
|
+
const order = this.displaySnapshot.map((d) => d._id);
|
|
300
|
+
this.resetDragState();
|
|
301
|
+
// Solo reordenar dentro del bloque seleccionado
|
|
302
|
+
if (fromId === id || !order.includes(fromId) || !order.includes(id))
|
|
303
|
+
return;
|
|
304
|
+
const next = reorderIds(order, fromId, id);
|
|
305
|
+
const byId = new Map(this.displaySnapshot.map((d) => [d._id, d]));
|
|
306
|
+
this.displaySnapshot = next.map((x) => byId.get(x)); // reflow en vivo del panel
|
|
307
|
+
this.coReorder.emit({ value: next, item: byId.get(fromId) });
|
|
308
|
+
}
|
|
309
|
+
resetDragState() {
|
|
310
|
+
this.armedKey = '';
|
|
311
|
+
this.dragKey = '';
|
|
312
|
+
this.overKey = '';
|
|
313
|
+
this.dropAfter = false;
|
|
314
|
+
}
|
|
232
315
|
maybeLoadMore(scrollTop, clientHeight, scrollHeight) {
|
|
233
316
|
if (this.loading)
|
|
234
317
|
return;
|
|
@@ -262,12 +345,16 @@ export class CoOptionList {
|
|
|
262
345
|
}
|
|
263
346
|
renderRow(item, index, selectedIds) {
|
|
264
347
|
const isSelected = selectedIds.includes(item._id);
|
|
348
|
+
const canDrag = this.reorderable && this.selectedFirst && isSelected && !this.term;
|
|
265
349
|
return (h("div", { class: {
|
|
266
350
|
'co-option-list__option': true,
|
|
267
351
|
'co-option-list__option--selected': isSelected,
|
|
268
352
|
'co-option-list__option--active': index === this.activeIndex,
|
|
269
353
|
'co-option-list__option--disabled': !!item.disabled,
|
|
270
|
-
|
|
354
|
+
'co-option-list__option--dragging': this.dragKey === item._id,
|
|
355
|
+
'co-option-list__option--drop-before': this.overKey === item._id && !this.dropAfter,
|
|
356
|
+
'co-option-list__option--drop-after': this.overKey === item._id && this.dropAfter,
|
|
357
|
+
}, key: item._id, id: `co-optlist-${index}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : 'false', draggable: canDrag && this.armedKey === item._id, onClick: () => !item.disabled && this.pick(item), onMouseEnter: () => { this.activeIndex = index; }, onDragStart: canDrag ? (e) => this.handleRowDragStart(e, item._id) : undefined, onDragOver: canDrag ? (e) => this.handleRowDragOver(e, item._id) : undefined, onDrop: canDrag ? (e) => this.handleRowDrop(e, item._id) : undefined, onDragEnd: canDrag ? this.handleRowDragEnd : undefined, onDragLeave: canDrag ? (e) => this.handleRowDragLeave(e, item._id) : undefined }, canDrag && (h("span", { class: "co-option-list__drag-handle", part: "drag-handle", title: "Drag to reorder", onMouseDown: () => (this.armedKey = item._id), onClick: (e) => e.stopPropagation() }, h("co-icon", { name: "dots-six-vertical", size: 16 }))), this.renderLeading(item), h("div", { class: "co-option-list__text" }, h("span", { class: "co-option-list__title" }, h("span", { class: "co-option-list__label", style: item.labelColor ? { color: item.labelColor, fontWeight: '600' } : undefined }, this.renderLabelText(item.label)), item.suffix && h("span", { class: "co-option-list__suffix" }, "- ", item.suffix), item.badge && (h("span", { class: "co-option-list__badge", style: item.badge.color ? { backgroundColor: item.badge.color, color: 'var(--co-color-base-blanco, #fff)' } : undefined }, item.badge.label))), item.description && h("span", { class: "co-option-list__desc" }, item.description)), isSelected && this.removableItems && this.multiple && (h("button", { class: "co-option-list__row-action", type: "button", tabIndex: -1, "aria-label": `Remove ${item.label}`, onClick: (e) => { e.stopPropagation(); this.coRemoveItem.emit(item._id); } }, h("co-icon", { name: "x-circle", size: 16, weight: "fill" }))), isSelected && !this.removableItems && this.selectedAffordance === 'deselect' && (h("button", { class: "co-option-list__row-action", type: "button", tabIndex: -1, "aria-label": `Deselect ${item.label}`, onClick: (e) => { e.stopPropagation(); this.deselectItem(item); } }, h("co-icon", { name: "x-circle", size: 16, weight: "fill" }))), isSelected && !this.removableItems && this.selectedAffordance === 'check' && (h("co-icon", { name: "check", size: 16, class: "co-option-list__check" }))));
|
|
271
358
|
}
|
|
272
359
|
renderVirtual(items, selectedIds) {
|
|
273
360
|
const { totalHeight, startIdx, endIdx, offsetY } = virtualSlice(this.scrollTop, items.length);
|
|
@@ -278,11 +365,11 @@ export class CoOptionList {
|
|
|
278
365
|
const selectedIds = this.selectedIds;
|
|
279
366
|
const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
|
|
280
367
|
const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
|
|
281
|
-
return (h("div", { key: '
|
|
368
|
+
return (h("div", { key: '7abdf55cbf87783da5a7fb6526e54b80f743c971', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: 'b7ebe6f402048db7f1565cfb1a387b2fde63a9ae', class: "co-option-list__search", part: "search" }, h("co-icon", { key: '155de622b297b3b39ec7ee4c1760885c1422020e', name: "magnifying-glass", size: 16 }), h("input", { key: '79374bea9a1afc5ee0b93392bd8409315000d65a', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("div", { key: 'cff1206bc9e5ad472319b6d38c06f8e3b15cf133', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: 'b12077f8e6e97f3548ba4bd4da0c05f2b1a19909', class: "co-option-list__inner" }, showClear && (h("button", { key: '129731579fa9c6eb6da59886fe2c6b8554487846', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '9d4b7f51e3043e9cb3fede1c7db53074cd538c8c', name: "x-circle", size: 14 }), h("span", { key: '946279b2732f63a74a4e388c5a27b09236bd88d1' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: 'ef4bd3ca4192ca8a17f87a53199838428aa0873c', class: "co-option-list__loading" }, h("co-loader", { key: 'c98049223d10b7e5e2e5ddff03cd2da1a4e26555', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: '3d828a24b260b9ad44adc7c3e8f223dec5413e42', class: "co-option-list__empty" }, h("co-icon", { key: '5952137642716cdacf8f07222482a1e9bd17d357', name: "magnifying-glass", size: 20 }), h("span", { key: '5661973b0a3dc745670eae494785eefe8e3e4569' }, this.emptyMessage))), items.length > 0 && this.virtual
|
|
282
369
|
? this.renderVirtual(items, selectedIds)
|
|
283
370
|
: buildRows(items).map((row) => row.kind === 'header'
|
|
284
371
|
? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
|
|
285
|
-
: this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '
|
|
372
|
+
: this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '673a6ef5157b4873e1ea3c0d7481880661ead459', class: "co-option-list__loading-more" }, h("co-loader", { key: '39d822a93415d7adc1eb87ad2fc9f221e0364e34', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '2e0ef5fabb28f2638bb992271972387c8bf57f61', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '17f5b0c9d9989f7ba4df15c5f19cb71218886a51', name: "footer" })));
|
|
286
373
|
}
|
|
287
374
|
static get is() { return "co-option-list"; }
|
|
288
375
|
static get encapsulation() { return "shadow"; }
|
|
@@ -452,6 +539,26 @@ export class CoOptionList {
|
|
|
452
539
|
"attribute": "removable-items",
|
|
453
540
|
"defaultValue": "false"
|
|
454
541
|
},
|
|
542
|
+
"reorderable": {
|
|
543
|
+
"type": "boolean",
|
|
544
|
+
"mutable": false,
|
|
545
|
+
"complexType": {
|
|
546
|
+
"original": "boolean",
|
|
547
|
+
"resolved": "boolean",
|
|
548
|
+
"references": {}
|
|
549
|
+
},
|
|
550
|
+
"required": false,
|
|
551
|
+
"optional": false,
|
|
552
|
+
"docs": {
|
|
553
|
+
"tags": [],
|
|
554
|
+
"text": "Habilita reorder por drag del bloque de seleccionados (selected-first)."
|
|
555
|
+
},
|
|
556
|
+
"getter": false,
|
|
557
|
+
"setter": false,
|
|
558
|
+
"reflect": false,
|
|
559
|
+
"attribute": "reorderable",
|
|
560
|
+
"defaultValue": "false"
|
|
561
|
+
},
|
|
455
562
|
"searchable": {
|
|
456
563
|
"type": "boolean",
|
|
457
564
|
"mutable": false,
|
|
@@ -738,7 +845,12 @@ export class CoOptionList {
|
|
|
738
845
|
return {
|
|
739
846
|
"term": {},
|
|
740
847
|
"activeIndex": {},
|
|
741
|
-
"scrollTop": {}
|
|
848
|
+
"scrollTop": {},
|
|
849
|
+
"armedKey": {},
|
|
850
|
+
"dragKey": {},
|
|
851
|
+
"overKey": {},
|
|
852
|
+
"dropAfter": {},
|
|
853
|
+
"displaySnapshot": {}
|
|
742
854
|
};
|
|
743
855
|
}
|
|
744
856
|
static get events() {
|
|
@@ -768,8 +880,8 @@ export class CoOptionList {
|
|
|
768
880
|
"text": ""
|
|
769
881
|
},
|
|
770
882
|
"complexType": {
|
|
771
|
-
"original": "{ value: string | string[]; item: OptionListItem }",
|
|
772
|
-
"resolved": "{ value: string | string[]; item: OptionListItem; }",
|
|
883
|
+
"original": "{ value: string | string[] | null; item: OptionListItem }",
|
|
884
|
+
"resolved": "{ value: string | string[] | null; item: OptionListItem; }",
|
|
773
885
|
"references": {
|
|
774
886
|
"OptionListItem": {
|
|
775
887
|
"location": "import",
|
|
@@ -824,6 +936,28 @@ export class CoOptionList {
|
|
|
824
936
|
"resolved": "string",
|
|
825
937
|
"references": {}
|
|
826
938
|
}
|
|
939
|
+
}, {
|
|
940
|
+
"method": "coReorder",
|
|
941
|
+
"name": "coReorder",
|
|
942
|
+
"bubbles": false,
|
|
943
|
+
"cancelable": true,
|
|
944
|
+
"composed": true,
|
|
945
|
+
"docs": {
|
|
946
|
+
"tags": [],
|
|
947
|
+
"text": "Emitido tras un drag-reorder: nuevo orden de ids seleccionados + \u00EDtem movido."
|
|
948
|
+
},
|
|
949
|
+
"complexType": {
|
|
950
|
+
"original": "{ value: string[]; item: OptionListItem }",
|
|
951
|
+
"resolved": "{ value: string[]; item: OptionListItem; }",
|
|
952
|
+
"references": {
|
|
953
|
+
"OptionListItem": {
|
|
954
|
+
"location": "import",
|
|
955
|
+
"path": "./optionListLogic",
|
|
956
|
+
"id": "src/components/co-option-list/optionListLogic.ts::OptionListItem",
|
|
957
|
+
"referenceLocation": "OptionListItem"
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
}
|
|
827
961
|
}];
|
|
828
962
|
}
|
|
829
963
|
static get methods() {
|
|
@@ -68,6 +68,19 @@ export function buildRows(items) {
|
|
|
68
68
|
}
|
|
69
69
|
return rows;
|
|
70
70
|
}
|
|
71
|
+
/** Mueve `fromId` a la posición de `toId` en `order`. No muta el input;
|
|
72
|
+
* devuelve el mismo array (referencia) si es no-op. */
|
|
73
|
+
export function reorderIds(order, fromId, toId) {
|
|
74
|
+
if (fromId === toId)
|
|
75
|
+
return order;
|
|
76
|
+
const from = order.indexOf(fromId);
|
|
77
|
+
const to = order.indexOf(toId);
|
|
78
|
+
if (from === -1 || to === -1)
|
|
79
|
+
return order;
|
|
80
|
+
const next = [...order];
|
|
81
|
+
next.splice(to, 0, next.splice(from, 1)[0]);
|
|
82
|
+
return next;
|
|
83
|
+
}
|
|
71
84
|
/** Siguiente highlight: wrap, salta disabled. -1 = sin items navegables. */
|
|
72
85
|
export function nextActiveIndex(current, delta, items) {
|
|
73
86
|
const positions = [];
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
backdrop-filter: blur(var(--co-overlay-blur, 2px));
|
|
26
26
|
opacity: 0;
|
|
27
27
|
pointer-events: none;
|
|
28
|
-
transition: opacity
|
|
28
|
+
transition: opacity var(--co-motion-duration-fast) var(--co-motion-ease-in);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.co-overlay--open {
|
|
32
32
|
opacity: 1;
|
|
33
33
|
pointer-events: auto;
|
|
34
|
-
transition: opacity
|
|
34
|
+
transition: opacity var(--co-motion-duration-base) var(--co-motion-ease-out);
|
|
35
35
|
}
|
|
@@ -187,7 +187,7 @@ export class CoOverlay {
|
|
|
187
187
|
focusables[nextIndex].focus();
|
|
188
188
|
}
|
|
189
189
|
render() {
|
|
190
|
-
return (h("div", { key: '
|
|
190
|
+
return (h("div", { key: '4945d0a43fbe34f58e630f2cb67b3b4301e5743f', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '4196e5718d8f8aace2a24439b770ef16ff2c2efb' })));
|
|
191
191
|
}
|
|
192
192
|
static get is() { return "co-overlay"; }
|
|
193
193
|
static get encapsulation() { return "shadow"; }
|
|
@@ -6,7 +6,7 @@ import { h } from "@stencil/core";
|
|
|
6
6
|
*/
|
|
7
7
|
export class CoPageHeader {
|
|
8
8
|
render() {
|
|
9
|
-
return (h("div", { key: '
|
|
9
|
+
return (h("div", { key: '0d1ce2960b81a9a7ace9a47e4dfe4211f9aa5751', class: "co-page-header", part: "page-header" }, h("div", { key: 'cd0989d7a005a8549cebb5a443afa95c38edb551', class: "co-page-header__left" }, this.icon && (h("span", { key: 'b5bbc595c87abea99bb3aea5141b796241ae9232', class: "co-page-header__icon" }, h("co-icon", { key: '514c8687d716cf7b70a2166d5f618fa97d715051', name: this.icon, size: 24 }))), h("span", { key: 'b8c3f604c0122e961bd964c6816112cbc9467c0b', class: "co-page-header__title" }, h("slot", { key: '460a789271c89a4f9defdeb7640fe97434a1e6e8' }, this.heading))), h("div", { key: '84b84a5e9df01d796e5d0bd2c4736da6e47b59f3', class: "co-page-header__actions" }, h("slot", { key: 'c89df3f9fd5e0e8c2017881a4f62b5fac3ad8adb', name: "actions" }))));
|
|
10
10
|
}
|
|
11
11
|
static get is() { return "co-page-header"; }
|
|
12
12
|
static get encapsulation() { return "shadow"; }
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
background: var(--co-semantic-surface-page);
|
|
54
54
|
border: 1px solid var(--co-semantic-border-field);
|
|
55
55
|
border-radius: var(--co-border-radius-xs);
|
|
56
|
-
transition: border-color
|
|
56
|
+
transition: border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);
|
|
57
57
|
min-height: 40px;
|
|
58
58
|
box-sizing: border-box;
|
|
59
59
|
}
|
|
@@ -159,7 +159,7 @@ export class CoPhoneField {
|
|
|
159
159
|
render() {
|
|
160
160
|
const entry = this.selectedEntry;
|
|
161
161
|
const statusClass = this.status !== 'default' ? `co-phone-field--${this.status}` : '';
|
|
162
|
-
return (h("div", { key: '
|
|
162
|
+
return (h("div", { key: '7d4a0a1226f8ba40202afa669447f8c419d395e4', class: `co-phone-field co-phone-field--${this.size} ${statusClass} ${this.disabled ? 'co-phone-field--disabled' : ''}` }, this.label && (h("label", { key: '15895fc034d0d4303dce675cd8f9daf57c71fcc6', class: "co-phone-field__label" }, this.label, h(RequiredMark, { key: 'edc44ea4d7a3bc0ae68eaf60b62a87b718de2407', required: this.required }))), h("div", { key: '60619b262eb6d6d46333f6f672b0576b4ad55d86', class: "co-phone-field__container" }, h("button", { key: '688f1646916dc07743f5d97dc3cf882d6083e4df', type: "button", class: "co-phone-field__selector", disabled: this.disabled, onClick: () => this.handleToggleDropdown(), "aria-expanded": String(this.isOpen), "aria-haspopup": "listbox" }, entry ? (h("img", { class: "co-phone-field__flag", src: `https://flagcdn.com/w40/${entry.iso2.toLowerCase()}.png`, alt: entry.iso2 })) : (h("co-icon", { name: "phone", size: 16 })), h("span", { key: '6b0595471c189a7a9c3e501afd4288efe3fba936', class: "co-phone-field__dial-code" }, entry ? entry.dialCode : ''), h("span", { key: 'c00388c1846b422a966937e58908bae0a10e049c', class: "co-phone-field__chevron" }, h("co-icon", { key: 'f8100593b1dfbbcd2bd814a8af92636094a50de4', name: "caret-down", size: 14 }))), h("input", { key: 'c55322191719935623e8faa6a083f7da90d86573', class: "co-phone-field__input", type: "tel", placeholder: this.placeholder, value: this.numberPart, disabled: this.disabled, onInput: (e) => this.handleNumberInput(e) })), this.isOpen && (h("div", { key: '4724a073146df0aa8d5dc4f46fc759c412e838ff', class: "co-phone-field__dropdown", role: "listbox" }, h("div", { key: '6b1ee6a39128da83634f7336bfd48a8c9ec96c9c', class: "co-phone-field__search" }, h("input", { key: '2ca5d2020ee5d0a0795c8cb3493c8d6d752fde6d', class: "co-phone-field__search-input", type: "text", placeholder: "Search country...", value: this.searchQuery, onInput: (e) => this.handleSearchInput(e), autoFocus: true })), h("div", { key: '611a469f17f4de85b01c48ec57faed7d433fe8f4', class: "co-phone-field__options" }, this.filteredCountries.map((d) => (h("button", { type: "button", key: d.iso2, class: `co-phone-field__option ${d.iso2 === this.selectedIso2 ? 'co-phone-field__option--selected' : ''}`, role: "option", "aria-selected": d.iso2 === this.selectedIso2 ? 'true' : 'false', onClick: () => this.handleCountrySelect(d) }, h("img", { class: "co-phone-field__option-flag", src: `https://flagcdn.com/w40/${d.iso2.toLowerCase()}.png`, alt: d.iso2 }), h("span", { class: "co-phone-field__option-name" }, this.renderName(d.name)), h("span", { class: "co-phone-field__option-code" }, d.dialCode))))))), this.helperText && (h("div", { key: '2ebbd43a0168fbeda12fe8e8d03b90852feab678', class: "co-phone-field__helper" }, this.statusIcon && (h("co-icon", { key: '0b78b938f0a32ed8c7dd53e907894298a9a20582', name: this.statusIcon, size: 14, weight: "fill", class: "co-phone-field__helper-icon" })), h("span", { key: '9e4751a137675b5e0929959f8e6d74968959fe79', class: "co-phone-field__helper-text" }, this.helperText)))));
|
|
163
163
|
}
|
|
164
164
|
static get is() { return "co-phone-field"; }
|
|
165
165
|
static get encapsulation() { return "shadow"; }
|
|
@@ -37,7 +37,13 @@
|
|
|
37
37
|
max-width: none;
|
|
38
38
|
max-height: none;
|
|
39
39
|
z-index: 10000;
|
|
40
|
+
/* Estado inicial de la entrada. `visibility: hidden` ya ocultaba el panel
|
|
41
|
+
hasta que JS lo posiciona (--positioned); opacity/scale se suman a esa
|
|
42
|
+
misma puerta, así que si el posicionamiento no corre el panel queda
|
|
43
|
+
exactamente igual de invisible que antes — sin estado nuevo que limpiar. */
|
|
40
44
|
visibility: hidden;
|
|
45
|
+
opacity: 0;
|
|
46
|
+
transform: scale(0.98);
|
|
41
47
|
background: var(--co-semantic-surface-page, #fff);
|
|
42
48
|
border: 1px solid var(--co-semantic-border-subtle);
|
|
43
49
|
border-radius: var(--co-border-radius-sm, 12px);
|
|
@@ -45,6 +51,27 @@
|
|
|
45
51
|
overflow: visible;
|
|
46
52
|
}
|
|
47
53
|
|
|
54
|
+
/* La transición vive en --positioned (solo entrada): el cierre desmonta el nodo,
|
|
55
|
+
no hay fase de salida que animar. */
|
|
48
56
|
.co-popover__panel--positioned {
|
|
49
57
|
visibility: visible;
|
|
58
|
+
opacity: 1;
|
|
59
|
+
transform: scale(1);
|
|
60
|
+
transition:
|
|
61
|
+
opacity var(--co-motion-duration-base) var(--co-motion-ease-out),
|
|
62
|
+
transform var(--co-motion-duration-base) var(--co-motion-ease-out);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* Origen según el lado resuelto (post-flip) por el que abre el panel. */
|
|
66
|
+
.co-popover__panel--bottom {
|
|
67
|
+
transform-origin: top center;
|
|
68
|
+
}
|
|
69
|
+
.co-popover__panel--top {
|
|
70
|
+
transform-origin: bottom center;
|
|
71
|
+
}
|
|
72
|
+
.co-popover__panel--right {
|
|
73
|
+
transform-origin: center left;
|
|
74
|
+
}
|
|
75
|
+
.co-popover__panel--left {
|
|
76
|
+
transform-origin: center right;
|
|
50
77
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { computePosition, findNearestScrollParent, getOffsetAncestor } from "../../utils/positioning";
|
|
3
|
+
/** Side classes driving the entrance `transform-origin` (see co-popover.css). */
|
|
4
|
+
const SIDE_CLASSES = ['top', 'bottom', 'left', 'right'].map((s) => `co-popover__panel--${s}`);
|
|
3
5
|
export class CoPopover {
|
|
4
6
|
constructor() {
|
|
5
7
|
// ── Props ──────────────────────────────────────────────────
|
|
@@ -55,8 +57,22 @@ export class CoPopover {
|
|
|
55
57
|
if (!this.open || !this.triggerEl || !this.panelEl)
|
|
56
58
|
return;
|
|
57
59
|
const triggerRect = this.triggerEl.getBoundingClientRect();
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
// ⚠️ El panel arrastra el `transform: scale()` de la entrada, y
|
|
61
|
+
// getBoundingClientRect() devuelve la caja TRANSFORMADA: 0.98× al montar y
|
|
62
|
+
// ~0.982× en la segunda pasada del watcher (~16ms de los 180ms). Medir con
|
|
63
|
+
// ella metía el factor de escala DENTRO de la matemática de posicionamiento,
|
|
64
|
+
// y ~2% del error quedaba en la posición de reposo: las alineaciones que
|
|
65
|
+
// restan el tamaño del panel (`bottom-end` — el default de co-menu —, `top*`,
|
|
66
|
+
// `left`) quedaban corridas y saltaban al re-medirse en scale(1) en el primer
|
|
67
|
+
// scroll. `offsetWidth/offsetHeight` son la caja de borde SIN transform.
|
|
68
|
+
// computePosition usa el panelRect solo como input de TAMAÑO: lee width y
|
|
69
|
+
// height y nada más (positioning.ts:61-113 — nunca x/y/top/left), por eso
|
|
70
|
+
// acá se construye a partir del tamaño y se ahorra el getBoundingClientRect.
|
|
71
|
+
const panelRect = DOMRect.fromRect({
|
|
72
|
+
width: this.panelEl.offsetWidth,
|
|
73
|
+
height: this.panelEl.offsetHeight,
|
|
74
|
+
});
|
|
75
|
+
const { top, left, actualPlacement } = computePosition(triggerRect, panelRect, {
|
|
60
76
|
placement: this.placement,
|
|
61
77
|
offset: this.offset,
|
|
62
78
|
flip: this.flip,
|
|
@@ -89,6 +105,16 @@ export class CoPopover {
|
|
|
89
105
|
// Apply styles directly to DOM to avoid triggering a re-render loop
|
|
90
106
|
if (this.panelEl) {
|
|
91
107
|
Object.assign(this.panelEl.style, style);
|
|
108
|
+
// Side of the RESOLVED placement (post-flip), not of the `placement` prop:
|
|
109
|
+
// it drives the entrance `transform-origin` so the panel grows out of the
|
|
110
|
+
// trigger. Re-positioning (scroll/resize) can flip sides, so the class is
|
|
111
|
+
// re-evaluated on every run — but only written when it actually changed,
|
|
112
|
+
// to keep the scroll path free of per-tick class-attribute churn.
|
|
113
|
+
const sideClass = `co-popover__panel--${actualPlacement.split('-')[0]}`;
|
|
114
|
+
if (!this.panelEl.classList.contains(sideClass)) {
|
|
115
|
+
this.panelEl.classList.remove(...SIDE_CLASSES);
|
|
116
|
+
this.panelEl.classList.add(sideClass);
|
|
117
|
+
}
|
|
92
118
|
this.panelEl.classList.add('co-popover__panel--positioned');
|
|
93
119
|
}
|
|
94
120
|
};
|
|
@@ -223,13 +249,13 @@ export class CoPopover {
|
|
|
223
249
|
}
|
|
224
250
|
// ── Render ─────────────────────────────────────────────────
|
|
225
251
|
render() {
|
|
226
|
-
return (h("div", { key: '
|
|
252
|
+
return (h("div", { key: '52d7ebec42ee6e0306bbc31f177454810299fd97', class: "co-popover" }, h("div", { key: '7b3b35302f130c9aef3d352b896ded7aa85590a4', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: 'b601a5bfa04b45a5d4d7fe8001b4537a855ef168', name: "trigger" })), this.open && (h("div", { key: '7281452d76e80934192c5d0c945e8b00672dab0c', class: "co-popover__panel", popover: "manual", ref: (el) => {
|
|
227
253
|
if (el && el !== this.panelEl) {
|
|
228
254
|
this.panelEl = el;
|
|
229
255
|
this.promotePanel();
|
|
230
256
|
this.scheduleUpdate();
|
|
231
257
|
}
|
|
232
|
-
} }, h("slot", { key: '
|
|
258
|
+
} }, h("slot", { key: 'd0903b97d26f0f16be36054f15dd64d6ae9a3d77' })))));
|
|
233
259
|
}
|
|
234
260
|
static get is() { return "co-popover"; }
|
|
235
261
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,12 +18,12 @@ export class CoProgressBar {
|
|
|
18
18
|
render() {
|
|
19
19
|
const clamped = Math.max(0, Math.min(100, this.value));
|
|
20
20
|
const indeterminate = this.indeterminate;
|
|
21
|
-
return (h("div", { key: '
|
|
21
|
+
return (h("div", { key: '03c7bc9c161cd1e44401cd6671c99dee6f317f59', class: {
|
|
22
22
|
'co-progress-bar': true,
|
|
23
23
|
[`co-progress-bar--${this.status}`]: true,
|
|
24
24
|
[`co-progress-bar--${this.variant}`]: true,
|
|
25
25
|
'co-progress-bar--indeterminate': indeterminate,
|
|
26
|
-
}, role: "progressbar", "aria-valuenow": indeterminate ? undefined : clamped, "aria-valuemin": 0, "aria-valuemax": 100, part: "bar", style: { height: `${this.thickness}px` } }, h("div", { key: '
|
|
26
|
+
}, role: "progressbar", "aria-valuenow": indeterminate ? undefined : clamped, "aria-valuemin": 0, "aria-valuemax": 100, part: "bar", style: { height: `${this.thickness}px` } }, h("div", { key: 'fcc7e309aa98fdb0442d5532320df3ab1d6fe902', class: "co-progress-bar__fill", style: indeterminate ? undefined : { width: `${clamped}%` } })));
|
|
27
27
|
}
|
|
28
28
|
static get is() { return "co-progress-bar"; }
|
|
29
29
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,7 +19,7 @@ export class CoProgressCircle {
|
|
|
19
19
|
const clamped = Math.max(0, Math.min(100, this.value));
|
|
20
20
|
const angle = (clamped / 100) * 360;
|
|
21
21
|
const safeStroke = Math.min(this.strokeWidth, this.size / 2);
|
|
22
|
-
return (h("div", { key: '
|
|
22
|
+
return (h("div", { key: '6c378b05df9c04d7856d0514fe773f2b63d07f23', class: {
|
|
23
23
|
'co-progress-circle': true,
|
|
24
24
|
[`co-progress-circle--${this.status}`]: true,
|
|
25
25
|
}, role: "progressbar", "aria-valuenow": clamped, "aria-valuemin": 0, "aria-valuemax": 100, part: "circle", style: {
|
|
@@ -27,7 +27,7 @@ export class CoProgressCircle {
|
|
|
27
27
|
height: `${this.size}px`,
|
|
28
28
|
'--co-pc-angle': `${angle}deg`,
|
|
29
29
|
'--co-pc-stroke': `${safeStroke}px`,
|
|
30
|
-
} }, h("div", { key: '
|
|
30
|
+
} }, h("div", { key: '4adb6940868fca1bab3c1e8bd09088c69cae244e', class: "co-progress-circle__track" }), this.showLabel && (h("span", { key: 'a54ed3aad5460777dc765874007a6cb665cbca19', class: "co-progress-circle__label" }, clamped, "%"))));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "co-progress-circle"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* co-provider-logo */
|
|
2
|
+
|
|
3
|
+
:host {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
flex: 0 0 auto;
|
|
6
|
+
line-height: 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.co-provider-logo {
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Disco blanco: la marca a color sobre una superficie teñida (chip de evento
|
|
16
|
+
externo) necesita su propio fondo para leerse. Blanco literal, no un token
|
|
17
|
+
semántico: el plato existe para dar el contraste que la marca asume, y en
|
|
18
|
+
dark mode debe seguir siendo blanco igual. */
|
|
19
|
+
.co-provider-logo--plated {
|
|
20
|
+
background: #fff;
|
|
21
|
+
border-radius: var(--co-border-radius-full);
|
|
22
|
+
box-shadow: 0 0 0 1px rgb(0 0 0 / 8%);
|
|
23
|
+
}
|