@prolibu-suite/cobalt-core 0.11.11 → 0.11.12
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 +107 -34
- package/dist/cjs/co-accordion.cjs.entry.js +5 -5
- package/dist/cjs/co-action-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-app-shell.cjs.entry.js +1 -1
- package/dist/cjs/co-audio-player.cjs.entry.js +1 -1
- package/dist/cjs/co-autocomplete.cjs.entry.js +2 -2
- package/dist/cjs/co-avatar-group.cjs.entry.js +1 -1
- package/dist/cjs/co-avatar.cjs.entry.js +1 -1
- package/dist/cjs/co-badge.cjs.entry.js +1 -1
- package/dist/cjs/co-bottom-sheet.cjs.entry.js +1 -1
- package/dist/cjs/co-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/co-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/co-button-group.cjs.entry.js +1 -1
- package/dist/cjs/co-button.cjs.entry.js +1 -1
- package/dist/cjs/co-calendar-month_2.cjs.entry.js +2 -2
- package/dist/cjs/co-calendar_3.cjs.entry.js +2 -2
- package/dist/cjs/co-card.cjs.entry.js +1 -1
- package/dist/cjs/co-carousel-item.cjs.entry.js +1 -1
- package/dist/cjs/co-carousel.cjs.entry.js +2 -2
- package/dist/cjs/co-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/co-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/co-chip_2.cjs.entry.js +6 -6
- package/dist/cjs/co-color-area.cjs.entry.js +1 -1
- package/dist/cjs/co-color-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-color-slider.cjs.entry.js +1 -1
- package/dist/cjs/co-column-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-combobox.cjs.entry.js +2 -2
- package/dist/cjs/co-command-search.cjs.entry.js +2 -2
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +2 -2
- package/dist/cjs/co-data-table.cjs.entry.js +2 -2
- package/dist/cjs/co-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-date-range-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-date-range.cjs.entry.js +1 -1
- package/dist/cjs/co-date-time-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-document-editor.cjs.entry.js +2 -2
- package/dist/cjs/co-drive-card.cjs.entry.js +1 -1
- package/dist/cjs/co-drop-zone.cjs.entry.js +1 -1
- package/dist/cjs/co-emoji-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/co-event-calendar.cjs.entry.js +1 -1
- package/dist/cjs/co-event-popover.cjs.entry.js +1 -1
- package/dist/cjs/co-fab.cjs.entry.js +1 -1
- package/dist/cjs/co-file-field.cjs.entry.js +3 -3
- package/dist/cjs/co-file-type-tile.cjs.entry.js +1 -1
- package/dist/cjs/co-gradient-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-helper-text.cjs.entry.js +1 -1
- package/dist/cjs/co-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/co-icon.cjs.entry.js +1 -1
- package/dist/cjs/co-input.cjs.entry.js +2 -2
- package/dist/cjs/co-json-field.cjs.entry.js +2 -2
- package/dist/cjs/co-kbd_2.cjs.entry.js +1 -1
- package/dist/cjs/co-lightbox.cjs.entry.js +1 -1
- package/dist/cjs/co-list-footer.cjs.entry.js +1 -1
- package/dist/cjs/co-list-item.cjs.entry.js +2 -2
- package/dist/cjs/co-loader.cjs.entry.js +1 -1
- package/dist/cjs/co-media-thumb.cjs.entry.js +1 -1
- package/dist/cjs/co-menu-divider.cjs.entry.js +1 -1
- package/dist/cjs/co-menu-item.cjs.entry.js +40 -7
- package/dist/cjs/co-menu.cjs.entry.js +2 -2
- package/dist/cjs/co-modal.cjs.entry.js +2 -2
- package/dist/cjs/co-navbar.cjs.entry.js +1 -1
- package/dist/cjs/co-number-field.cjs.entry.js +2 -2
- package/dist/cjs/co-overlay.cjs.entry.js +1 -1
- package/dist/cjs/co-page-header.cjs.entry.js +1 -1
- package/dist/cjs/co-phone-field.cjs.entry.js +4 -4
- package/dist/cjs/co-popover.cjs.entry.js +1 -1
- package/dist/cjs/co-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
- package/dist/cjs/co-provider-logo_2.cjs.entry.js +2 -2
- package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/co-radio.cjs.entry.js +2 -2
- package/dist/cjs/co-rating.cjs.entry.js +2 -2
- package/dist/cjs/co-ref-field.cjs.entry.js +3 -3
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +2 -2
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +1 -1
- package/dist/cjs/co-row.cjs.entry.js +1 -1
- package/dist/cjs/co-segmented-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-select.cjs.entry.js +2 -2
- package/dist/cjs/co-separator.cjs.entry.js +1 -1
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +1 -1
- package/dist/cjs/co-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/co-slider.cjs.entry.js +2 -2
- package/dist/cjs/co-swatch-grid.cjs.entry.js +1 -1
- package/dist/cjs/co-switch.cjs.entry.js +3 -3
- package/dist/cjs/co-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/co-tab.cjs.entry.js +2 -2
- package/dist/cjs/co-tags-field.cjs.entry.js +4 -4
- package/dist/cjs/co-textarea.cjs.entry.js +2 -2
- package/dist/cjs/co-tile.cjs.entry.js +1 -1
- package/dist/cjs/co-time-field.cjs.entry.js +1 -1
- package/dist/cjs/co-toast.cjs.entry.js +1 -1
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +1 -1
- package/dist/cjs/co-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/co-transfer-list.cjs.entry.js +2 -2
- package/dist/cjs/co-tree-item.cjs.entry.js +2 -2
- package/dist/cjs/co-video.cjs.entry.js +2 -2
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/{fieldChip-DbYMfylq.js → fieldChip-D-x9bJ-W.js} +1 -1
- package/dist/cjs/{index-bHoidDwv.js → index-CuskTAyj.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{requiredMark-21yHvvZS.js → requiredMark-ooEZAZbC.js} +1 -1
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-d9b4594b.entry.js → p-011fd3ca.entry.js} +1 -1
- package/dist/cobalt/{p-33840969.entry.js → p-038cc50a.entry.js} +1 -1
- package/dist/cobalt/{p-d375c84e.entry.js → p-052289b3.entry.js} +1 -1
- package/dist/cobalt/{p-bbf3d859.entry.js → p-05f0feca.entry.js} +1 -1
- package/dist/cobalt/p-05f90173.entry.js +1 -0
- package/dist/cobalt/{p-c004fde5.entry.js → p-09ff5302.entry.js} +1 -1
- package/dist/cobalt/{p-d26dc681.entry.js → p-0bd8e079.entry.js} +1 -1
- package/dist/cobalt/{p-5a32b9a2.entry.js → p-0d163b25.entry.js} +1 -1
- package/dist/cobalt/{p-cea21e08.entry.js → p-0d2deeaa.entry.js} +1 -1
- package/dist/cobalt/{p-94b871fb.entry.js → p-0ea06cee.entry.js} +1 -1
- package/dist/cobalt/{p-a18c01eb.entry.js → p-1288867e.entry.js} +1 -1
- package/dist/cobalt/p-1318c5b9.entry.js +1 -0
- package/dist/cobalt/{p-15d995b4.entry.js → p-134331e6.entry.js} +1 -1
- package/dist/cobalt/p-1361f386.entry.js +1 -0
- package/dist/cobalt/{p-3e532a11.entry.js → p-15e29500.entry.js} +1 -1
- package/dist/cobalt/{p-feec49a4.entry.js → p-16eb0771.entry.js} +1 -1
- package/dist/cobalt/{p-3b5024ce.entry.js → p-19544796.entry.js} +1 -1
- package/dist/cobalt/{p-71ee36a8.entry.js → p-1cc15af6.entry.js} +1 -1
- package/dist/cobalt/{p-a27013e6.entry.js → p-1ef7bbbc.entry.js} +1 -1
- package/dist/cobalt/{p-b402665a.entry.js → p-20651254.entry.js} +1 -1
- package/dist/cobalt/{p-353ff9ed.entry.js → p-24456175.entry.js} +1 -1
- package/dist/cobalt/{p-d1e83525.entry.js → p-2d76fafb.entry.js} +1 -1
- package/dist/cobalt/{p-dabcbba7.entry.js → p-2f44a37b.entry.js} +1 -1
- package/dist/cobalt/{p-37f9ec35.entry.js → p-3842ac1a.entry.js} +1 -1
- package/dist/cobalt/{p-6b88a52c.entry.js → p-388f5a71.entry.js} +1 -1
- package/dist/cobalt/{p-59a71695.entry.js → p-45460f75.entry.js} +1 -1
- package/dist/cobalt/{p-4ae6fe0e.entry.js → p-4e1ba090.entry.js} +1 -1
- package/dist/cobalt/{p-1c9253a2.entry.js → p-4ee87962.entry.js} +1 -1
- package/dist/cobalt/{p-d7775109.entry.js → p-5009ad0a.entry.js} +1 -1
- package/dist/cobalt/p-5259c731.entry.js +1 -0
- package/dist/cobalt/{p-600d0cab.entry.js → p-5aaaa257.entry.js} +1 -1
- package/dist/cobalt/{p-83691cfb.entry.js → p-5b098a4c.entry.js} +1 -1
- package/dist/cobalt/{p-f1da1df1.entry.js → p-5d17b6e9.entry.js} +1 -1
- package/dist/cobalt/{p-f6f273f7.entry.js → p-5e04cecc.entry.js} +1 -1
- package/dist/cobalt/{p-efb3cbb0.entry.js → p-63c588e1.entry.js} +1 -1
- package/dist/cobalt/{p-f562bd96.entry.js → p-63e5d7fe.entry.js} +1 -1
- package/dist/cobalt/{p-fb6671e0.entry.js → p-65e0176c.entry.js} +1 -1
- package/dist/cobalt/{p-e5350eeb.entry.js → p-66375026.entry.js} +1 -1
- package/dist/cobalt/{p-74804c79.entry.js → p-669ad1c6.entry.js} +1 -1
- package/dist/cobalt/{p-5d41b58b.entry.js → p-66a07095.entry.js} +1 -1
- package/dist/cobalt/{p-4e81e580.entry.js → p-67fac886.entry.js} +1 -1
- package/dist/cobalt/{p-12fc5119.entry.js → p-6a270d5d.entry.js} +1 -1
- package/dist/cobalt/{p-89328cd8.entry.js → p-6bb9964f.entry.js} +1 -1
- package/dist/cobalt/{p-9af26af0.entry.js → p-6c35584c.entry.js} +1 -1
- package/dist/cobalt/{p-019eed8e.entry.js → p-6d12e825.entry.js} +1 -1
- package/dist/cobalt/{p-9125252a.entry.js → p-6fe227e0.entry.js} +1 -1
- package/dist/cobalt/p-71a289f9.entry.js +1 -0
- package/dist/cobalt/{p-b6463d35.entry.js → p-71f9fa68.entry.js} +1 -1
- package/dist/cobalt/{p-3890d22f.entry.js → p-741c14af.entry.js} +1 -1
- package/dist/cobalt/{p-76ea3f34.entry.js → p-7550fc02.entry.js} +1 -1
- package/dist/cobalt/{p-7737354e.entry.js → p-76244cca.entry.js} +1 -1
- package/dist/cobalt/{p-be520bd5.entry.js → p-79b62ce3.entry.js} +1 -1
- package/dist/cobalt/{p-6eca1c7c.entry.js → p-7be0f85b.entry.js} +1 -1
- package/dist/cobalt/{p-a4154bcf.entry.js → p-811f1dd7.entry.js} +1 -1
- package/dist/cobalt/{p-9ce57385.entry.js → p-88edf7d0.entry.js} +1 -1
- package/dist/cobalt/{p-c23630ab.entry.js → p-894f59ce.entry.js} +1 -1
- package/dist/cobalt/{p-0f3a3232.entry.js → p-8b2432b2.entry.js} +1 -1
- package/dist/cobalt/{p-299c2425.entry.js → p-8bf0975d.entry.js} +1 -1
- package/dist/cobalt/p-90823b79.entry.js +1 -0
- package/dist/cobalt/{p-5e14f676.entry.js → p-9a307b64.entry.js} +1 -1
- package/dist/cobalt/p-9a3e631e.entry.js +1 -0
- package/dist/cobalt/{p-3878f174.entry.js → p-9c00499b.entry.js} +1 -1
- package/dist/cobalt/p-C_xES1w3.js +1 -0
- package/dist/cobalt/{p-DJkaRtbb.js → p-YRicbXh3.js} +2 -2
- package/dist/cobalt/{p-3b7e90c8.entry.js → p-a6516907.entry.js} +1 -1
- package/dist/cobalt/{p-b723aa47.entry.js → p-a671facd.entry.js} +1 -1
- package/dist/cobalt/{p-e4646a0e.entry.js → p-a679c368.entry.js} +1 -1
- package/dist/cobalt/{p-a33a277a.entry.js → p-a9242183.entry.js} +1 -1
- package/dist/cobalt/{p-2ff8f591.entry.js → p-ac1565df.entry.js} +1 -1
- package/dist/cobalt/{p-3bff827a.entry.js → p-ac963082.entry.js} +1 -1
- package/dist/cobalt/{p-50ab6b9b.entry.js → p-ae66e746.entry.js} +1 -1
- package/dist/cobalt/{p-438cc876.entry.js → p-af8cc16e.entry.js} +1 -1
- package/dist/cobalt/{p-02133c95.entry.js → p-b3994c94.entry.js} +1 -1
- package/dist/cobalt/{p-53a251ca.entry.js → p-be860577.entry.js} +1 -1
- package/dist/cobalt/{p-c220362c.entry.js → p-be9f69e4.entry.js} +1 -1
- package/dist/cobalt/{p-5e39cf70.entry.js → p-bf8212cf.entry.js} +1 -1
- package/dist/cobalt/{p-cb1013e6.entry.js → p-c01454be.entry.js} +1 -1
- package/dist/cobalt/{p-eab59be5.entry.js → p-c0f579d9.entry.js} +1 -1
- package/dist/cobalt/{p-4a7fd0b4.entry.js → p-c4bbb701.entry.js} +1 -1
- package/dist/cobalt/{p-4cdfcd9c.entry.js → p-c5978c46.entry.js} +1 -1
- package/dist/cobalt/{p-8a26f3cc.entry.js → p-c71b736c.entry.js} +1 -1
- package/dist/cobalt/{p-82bcd062.entry.js → p-ce9a3708.entry.js} +1 -1
- package/dist/cobalt/{p-04e3e1f6.entry.js → p-d0129851.entry.js} +1 -1
- package/dist/cobalt/p-d127a7c4.entry.js +1 -0
- package/dist/cobalt/p-d1293695.entry.js +1 -0
- package/dist/cobalt/{p-d1595580.entry.js → p-d525aec4.entry.js} +1 -1
- package/dist/cobalt/p-ddf6083f.entry.js +1 -0
- package/dist/cobalt/{p-8e7ad2fe.entry.js → p-e0b542ad.entry.js} +1 -1
- package/dist/cobalt/{p-63f888a1.entry.js → p-e120435e.entry.js} +1 -1
- package/dist/cobalt/{p-a4264bde.entry.js → p-e71f6186.entry.js} +1 -1
- package/dist/cobalt/{p-ff218d09.entry.js → p-ea2cc20e.entry.js} +1 -1
- package/dist/cobalt/{p-c026968c.entry.js → p-ebcdc0b2.entry.js} +1 -1
- package/dist/cobalt/{p-3e864e7d.entry.js → p-ec11b337.entry.js} +1 -1
- package/dist/cobalt/{p-a6c9a0c5.entry.js → p-eca12c29.entry.js} +1 -1
- package/dist/cobalt/{p-19f0f534.entry.js → p-f3975988.entry.js} +1 -1
- package/dist/cobalt/{p-7e678cbd.entry.js → p-f9937237.entry.js} +1 -1
- package/dist/cobalt/{p-0bbaaf4f.entry.js → p-fa4a59e8.entry.js} +1 -1
- package/dist/cobalt/{p-f23f52ed.entry.js → p-fd15353a.entry.js} +1 -1
- package/dist/cobalt/p-pl89alJ1.js +1 -0
- package/dist/collection/components/co-accordion/co-accordion.css +1 -1
- package/dist/collection/components/co-accordion/co-accordion.js +3 -3
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-calendar-month/co-calendar-month.css +9 -4
- package/dist/collection/components/co-carousel/co-carousel.css +7 -5
- package/dist/collection/components/co-checkbox/co-checkbox.css +12 -17
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +4 -2
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-chip/co-chip.css +14 -1
- package/dist/collection/components/co-color-area/co-color-area.js +2 -2
- package/dist/collection/components/co-color-picker/co-color-picker.css +4 -4
- package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
- package/dist/collection/components/co-column-picker/co-column-picker.css +12 -2
- package/dist/collection/components/co-combobox/co-combobox.js +1 -1
- package/dist/collection/components/co-command-search/co-command-search.css +1 -1
- package/dist/collection/components/co-command-search/co-command-search.js +1 -1
- package/dist/collection/components/co-data-table/co-data-table.css +20 -10
- package/dist/collection/components/co-data-table/co-data-table.js +1 -1
- package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.css +11 -3
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
- package/dist/collection/components/co-document-editor/co-document-editor.css +10 -7
- package/dist/collection/components/co-document-editor/co-document-editor.js +5 -5
- package/dist/collection/components/co-emoji-picker/co-emoji-picker.css +3 -3
- package/dist/collection/components/co-empty-state/co-empty-state.css +7 -4
- package/dist/collection/components/co-file-field/co-file-field.css +3 -1
- package/dist/collection/components/co-icon-button/co-icon-button.css +1 -1
- package/dist/collection/components/co-list-item/co-list-item.css +6 -0
- package/dist/collection/components/co-menu/co-menu.css +4 -2
- package/dist/collection/components/co-menu-item/co-menu-item.css +14 -5
- package/dist/collection/components/co-menu-item/co-menu-item.js +80 -7
- package/dist/collection/components/co-option-list/co-option-list.css +12 -4
- package/dist/collection/components/co-option-list/co-option-list.js +3 -3
- package/dist/collection/components/co-phone-field/co-phone-field.css +12 -3
- package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
- package/dist/collection/components/co-popover/co-popover.js +1 -1
- package/dist/collection/components/co-progress-circle/co-progress-circle.css +3 -1
- package/dist/collection/components/co-radio/co-radio.css +10 -1
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-rating/co-rating.css +3 -1
- package/dist/collection/components/co-ref-field/co-ref-field.js +4 -4
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.js +1 -1
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
- package/dist/collection/components/co-skeleton/co-skeleton.css +6 -3
- package/dist/collection/components/co-slider/co-slider.css +21 -1
- package/dist/collection/components/co-switch/co-switch.css +10 -4
- package/dist/collection/components/co-tab/co-tab.css +14 -8
- package/dist/collection/components/co-tab-group/co-tab-group.css +15 -9
- package/dist/collection/components/co-tags-field/co-tags-field.css +3 -2
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +10 -4
- package/dist/collection/components/co-transfer-list/co-transfer-list.css +4 -2
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-tree-item/co-tree-item.css +1 -1
- package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
- package/dist/collection/components/co-video/co-video.css +5 -3
- package/dist/collection/utils/dragMove.js +1 -1
- package/dist/components/co-accordion.js +1 -1
- package/dist/components/co-action-bar.js +1 -1
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-calendar-month.js +1 -1
- package/dist/components/co-calendar-timegrid.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-document-editor.js +1 -1
- package/dist/components/co-emoji-picker.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-file-field.js +1 -1
- package/dist/components/co-icon-button.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-item.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-option-list.js +1 -1
- package/dist/components/co-phone-field.js +1 -1
- package/dist/components/co-progress-circle.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-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-toggle-button.js +1 -1
- package/dist/components/co-transfer-list.js +1 -1
- package/dist/components/co-tree-item.js +1 -1
- package/dist/components/co-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-COCcx0DN.js → p-4nVctQq9.js} +1 -1
- package/dist/components/p-BDk4ffI3.js +1 -0
- package/dist/components/p-BXDvRVSp.js +1 -0
- package/dist/components/{p-rfvTj6cP.js → p-C1WNmtGN.js} +1 -1
- package/dist/components/p-CV7I0t8n.js +1 -0
- package/dist/components/p-CpwIdVV5.js +1 -0
- package/dist/components/{p-DMW9TJ7Z.js → p-Ct4MpUdn.js} +1 -1
- package/dist/components/{p-R1W48hzW.js → p-CxXO0llX.js} +1 -1
- package/dist/components/p-DpnlSVX3.js +1 -0
- package/dist/components/{p-BMyWdiVO.js → p-y-UE-CLu.js} +1 -1
- package/dist/esm/co-accordion.entry.js +5 -5
- package/dist/esm/co-action-bar.entry.js +1 -1
- package/dist/esm/co-app-shell.entry.js +1 -1
- package/dist/esm/co-audio-player.entry.js +1 -1
- package/dist/esm/co-autocomplete.entry.js +2 -2
- package/dist/esm/co-avatar-group.entry.js +1 -1
- package/dist/esm/co-avatar.entry.js +1 -1
- package/dist/esm/co-badge.entry.js +1 -1
- package/dist/esm/co-bottom-sheet.entry.js +1 -1
- package/dist/esm/co-breadcrumb-item.entry.js +1 -1
- package/dist/esm/co-breadcrumb.entry.js +1 -1
- package/dist/esm/co-button-group.entry.js +1 -1
- package/dist/esm/co-button.entry.js +1 -1
- package/dist/esm/co-calendar-month_2.entry.js +2 -2
- package/dist/esm/co-calendar_3.entry.js +2 -2
- package/dist/esm/co-card.entry.js +1 -1
- package/dist/esm/co-carousel-item.entry.js +1 -1
- package/dist/esm/co-carousel.entry.js +2 -2
- package/dist/esm/co-checkbox-group.entry.js +2 -2
- package/dist/esm/co-checkbox.entry.js +2 -2
- package/dist/esm/co-chip_2.entry.js +6 -6
- package/dist/esm/co-color-area.entry.js +1 -1
- package/dist/esm/co-color-picker.entry.js +3 -3
- package/dist/esm/co-color-slider.entry.js +1 -1
- package/dist/esm/co-column-picker.entry.js +2 -2
- package/dist/esm/co-combobox.entry.js +2 -2
- package/dist/esm/co-command-search.entry.js +2 -2
- package/dist/esm/co-data-table-pagination.entry.js +2 -2
- package/dist/esm/co-data-table.entry.js +2 -2
- package/dist/esm/co-date-picker.entry.js +2 -2
- package/dist/esm/co-date-range-picker.entry.js +2 -2
- package/dist/esm/co-date-range.entry.js +1 -1
- package/dist/esm/co-date-time-picker.entry.js +2 -2
- package/dist/esm/co-document-editor.entry.js +2 -2
- package/dist/esm/co-drive-card.entry.js +1 -1
- package/dist/esm/co-drop-zone.entry.js +1 -1
- package/dist/esm/co-emoji-picker.entry.js +2 -2
- package/dist/esm/co-empty-state.entry.js +2 -2
- package/dist/esm/co-event-calendar.entry.js +1 -1
- package/dist/esm/co-event-popover.entry.js +1 -1
- package/dist/esm/co-fab.entry.js +1 -1
- package/dist/esm/co-file-field.entry.js +3 -3
- package/dist/esm/co-file-type-tile.entry.js +1 -1
- package/dist/esm/co-gradient-bar.entry.js +1 -1
- package/dist/esm/co-helper-text.entry.js +1 -1
- package/dist/esm/co-icon-button.entry.js +2 -2
- package/dist/esm/co-icon.entry.js +1 -1
- package/dist/esm/co-input.entry.js +2 -2
- package/dist/esm/co-json-field.entry.js +2 -2
- package/dist/esm/co-kbd_2.entry.js +1 -1
- package/dist/esm/co-lightbox.entry.js +1 -1
- package/dist/esm/co-list-footer.entry.js +1 -1
- package/dist/esm/co-list-item.entry.js +2 -2
- package/dist/esm/co-loader.entry.js +1 -1
- package/dist/esm/co-media-thumb.entry.js +1 -1
- package/dist/esm/co-menu-divider.entry.js +1 -1
- package/dist/esm/co-menu-item.entry.js +40 -7
- package/dist/esm/co-menu.entry.js +2 -2
- package/dist/esm/co-modal.entry.js +2 -2
- package/dist/esm/co-navbar.entry.js +1 -1
- package/dist/esm/co-number-field.entry.js +2 -2
- package/dist/esm/co-overlay.entry.js +1 -1
- package/dist/esm/co-page-header.entry.js +1 -1
- package/dist/esm/co-phone-field.entry.js +4 -4
- package/dist/esm/co-popover.entry.js +1 -1
- package/dist/esm/co-progress-bar.entry.js +1 -1
- package/dist/esm/co-progress-circle.entry.js +2 -2
- package/dist/esm/co-provider-logo_2.entry.js +2 -2
- package/dist/esm/co-radio-group.entry.js +1 -1
- package/dist/esm/co-radio.entry.js +2 -2
- package/dist/esm/co-rating.entry.js +2 -2
- package/dist/esm/co-ref-field.entry.js +3 -3
- package/dist/esm/co-rich-text-editor.entry.js +2 -2
- package/dist/esm/co-rich-text-toolbar.entry.js +1 -1
- package/dist/esm/co-rich-text-viewer.entry.js +1 -1
- package/dist/esm/co-row.entry.js +1 -1
- package/dist/esm/co-segmented-bar.entry.js +1 -1
- package/dist/esm/co-select.entry.js +2 -2
- package/dist/esm/co-separator.entry.js +1 -1
- package/dist/esm/co-sidebar-nav.entry.js +1 -1
- package/dist/esm/co-sidebar.entry.js +1 -1
- package/dist/esm/co-slider.entry.js +2 -2
- package/dist/esm/co-swatch-grid.entry.js +1 -1
- package/dist/esm/co-switch.entry.js +3 -3
- package/dist/esm/co-tab-group.entry.js +2 -2
- package/dist/esm/co-tab.entry.js +2 -2
- package/dist/esm/co-tags-field.entry.js +4 -4
- package/dist/esm/co-textarea.entry.js +2 -2
- package/dist/esm/co-tile.entry.js +1 -1
- package/dist/esm/co-time-field.entry.js +1 -1
- package/dist/esm/co-toast.entry.js +1 -1
- package/dist/esm/co-toggle-button-group.entry.js +1 -1
- package/dist/esm/co-toggle-button.entry.js +2 -2
- package/dist/esm/co-transfer-list.entry.js +2 -2
- package/dist/esm/co-tree-item.entry.js +2 -2
- package/dist/esm/co-video.entry.js +2 -2
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/{fieldChip-B0N8z5W-.js → fieldChip-DFpKjAN_.js} +1 -1
- package/dist/esm/{index-DJkaRtbb.js → index-YRicbXh3.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{requiredMark-D5C5NzOE.js → requiredMark-BNC0WBDk.js} +1 -1
- package/dist/types/components/co-menu-item/co-menu-item.d.ts +30 -4
- package/dist/types/components.d.ts +26 -4
- package/package.json +4 -4
- package/dist/cobalt/p-01b54d81.entry.js +0 -1
- package/dist/cobalt/p-21b4a830.entry.js +0 -1
- package/dist/cobalt/p-256ca457.entry.js +0 -1
- package/dist/cobalt/p-7e444408.entry.js +0 -1
- package/dist/cobalt/p-7e72720a.entry.js +0 -1
- package/dist/cobalt/p-84ad0227.entry.js +0 -1
- package/dist/cobalt/p-947b8e35.entry.js +0 -1
- package/dist/cobalt/p-CSLjZ3WO.js +0 -1
- package/dist/cobalt/p-CYN5B3IQ.js +0 -1
- package/dist/cobalt/p-bee52042.entry.js +0 -1
- package/dist/cobalt/p-c93be2d5.entry.js +0 -1
- package/dist/cobalt/p-fb731600.entry.js +0 -1
- package/dist/components/p-B70R6xWE.js +0 -1
- package/dist/components/p-BGNXvnDr.js +0 -1
- package/dist/components/p-BSt2t5Fy.js +0 -1
- package/dist/components/p-BfDYq7JS.js +0 -1
- package/dist/components/p-CwRoHnzq.js +0 -1
|
@@ -20,9 +20,11 @@
|
|
|
20
20
|
width: 72px;
|
|
21
21
|
height: 72px;
|
|
22
22
|
border-radius: 50%;
|
|
23
|
-
/*
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
/* Disco TRANSPARENTE con contorno de 1px border-default (auditoría de contraste
|
|
24
|
+
#8 B, 2026-10-05): el relleno surface-control (gray-100) quedaba a 1,08:1 de
|
|
25
|
+
la página. El contorno va por box-shadow inset: el disco sigue midiendo 72px. */
|
|
26
|
+
background: transparent;
|
|
27
|
+
box-shadow: inset 0 0 0 1px var(--co-semantic-border-default);
|
|
26
28
|
color: var(--co-semantic-text-muted);
|
|
27
29
|
margin-bottom: var(--co-spacing-xl);
|
|
28
30
|
}
|
|
@@ -63,7 +65,8 @@
|
|
|
63
65
|
|
|
64
66
|
.co-empty-state--card .co-empty-state__icon {
|
|
65
67
|
margin-bottom: 0;
|
|
66
|
-
|
|
68
|
+
/* Mismo disco transparente con contorno que la variante base (#8 B). */
|
|
69
|
+
background: transparent;
|
|
67
70
|
color: var(--co-semantic-text-secondary);
|
|
68
71
|
}
|
|
69
72
|
|
|
@@ -69,8 +69,10 @@
|
|
|
69
69
|
transition: border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
/* Hover = border-strong, no border-focus: la tinta sólida queda para el foco y el
|
|
73
|
+
arrastre (--drag); un hover no puede pesar como el foco (auditoría 2026-10-05). */
|
|
72
74
|
.co-file-field__dropzone:hover {
|
|
73
|
-
border-color: var(--co-semantic-border-
|
|
75
|
+
border-color: var(--co-semantic-border-strong);
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
.co-file-field__dropzone--drag {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
backdrop-filter: none;
|
|
81
81
|
}
|
|
82
82
|
.co-icon-button--ghost:hover:not(:disabled) {
|
|
83
|
-
background: var(--co-
|
|
83
|
+
background: var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.08));
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/* Soft = fondo sólido `--co-semantic-surface-control` (gray-100 en claro /
|
|
@@ -39,6 +39,12 @@
|
|
|
39
39
|
background: var(--co-semantic-surface-muted);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/* Sobre la fila seleccionada (surface-muted) la descripción en text-muted quedaba en
|
|
43
|
+
4,15:1 claro / 3,65:1 oscuro → text-secondary (5,54 / 4,95). En reposo no cambia. */
|
|
44
|
+
.co-list-item--selected .co-list-item__description {
|
|
45
|
+
color: var(--co-semantic-text-secondary);
|
|
46
|
+
}
|
|
47
|
+
|
|
42
48
|
.co-list-item--disabled {
|
|
43
49
|
opacity: 0.4;
|
|
44
50
|
cursor: not-allowed;
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
border so it never adds to the panel box). */
|
|
21
21
|
box-shadow:
|
|
22
22
|
var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)),
|
|
23
|
-
|
|
23
|
+
/* border-subtle (negro 8 % claro / blanco 8 % oscuro): la primitiva cruda no giraba
|
|
24
|
+
y en oscuro el borde quedaba negro sobre negro (1,01:1). */
|
|
25
|
+
inset 0 0 0 1px var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));
|
|
24
26
|
/* Tunable panel padding — default 4px; design (Header "Nuevo" menu) uses 6px. */
|
|
25
27
|
padding: var(--co-menu-padding, var(--co-spacing-xs, 4px));
|
|
26
28
|
min-width: 200px;
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
min-width: var(--co-menu-min-width, 200px);
|
|
43
45
|
box-shadow:
|
|
44
46
|
var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)),
|
|
45
|
-
inset 0 0 0 1px var(--co-menu-border-color, var(--co-
|
|
47
|
+
inset 0 0 0 1px var(--co-menu-border-color, var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08)));
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
/* Task C1 — tres hooks más, mismo patrón aditivo que los de arriba y mismos
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* @prop --co-menu-item-color: Color del texto.
|
|
11
11
|
* @prop --co-menu-item-icon-color: Color del ícono (default: el del texto).
|
|
12
12
|
* @prop --co-menu-item-hover-bg: Fondo de la fila en hover o con foco.
|
|
13
|
-
* @prop --co-menu-item-selected-bg: Fondo de la fila `selected
|
|
13
|
+
* @prop --co-menu-item-selected-bg: Fondo de la fila `selected` (default transparente).
|
|
14
|
+
* @prop --co-menu-item-selected-font-weight: Peso del texto de la fila `selected` (default 600).
|
|
14
15
|
*/
|
|
15
16
|
:host {
|
|
16
17
|
display: block;
|
|
@@ -71,14 +72,22 @@
|
|
|
71
72
|
quedan ACÁ, antes de `--danger:hover` (misma especificidad que
|
|
72
73
|
`.co-menu-item:hover`): el hover rojo de danger gana por orden (fix C-1). */
|
|
73
74
|
.co-menu-item--selected {
|
|
74
|
-
/*
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
/* Seleccionado = check + peso 600, SIN relleno (auditoría de contraste #5 B, 2026-10-05):
|
|
76
|
+
con el gris de antes (surface-control) el hover se leía igual o "más seleccionado" que
|
|
77
|
+
la selección. El hook --co-menu-item-selected-bg sigue para quien quiera un fondo. */
|
|
78
|
+
background: var(--co-menu-item-selected-bg, transparent);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* El 600 va al rótulo principal, no a la fila: el caption (segunda línea) conserva su peso. */
|
|
82
|
+
.co-menu-item--selected .co-menu-item__label-main {
|
|
83
|
+
font-weight: var(--co-menu-item-selected-font-weight, 600);
|
|
77
84
|
}
|
|
78
85
|
|
|
79
86
|
.co-menu-item:hover,
|
|
80
87
|
.co-menu-item--submenu-open {
|
|
81
|
-
|
|
88
|
+
/* Hover = gris liviano (text-default 6 %): gira con el tema y queda por debajo de la
|
|
89
|
+
marca de seleccionado (check + 600). Antes surface-hover (negro 8 %). */
|
|
90
|
+
background: var(--co-menu-item-hover-bg, color-mix(in srgb, var(--co-semantic-text-default) 6%, transparent));
|
|
82
91
|
}
|
|
83
92
|
|
|
84
93
|
.co-menu-item:focus-visible {
|
|
@@ -20,11 +20,31 @@ export class CoMenuItem {
|
|
|
20
20
|
constructor() {
|
|
21
21
|
/** Tighter row metrics (32px instead of 36px). */
|
|
22
22
|
this.dense = false;
|
|
23
|
-
/** Marks the row as selected —
|
|
24
|
-
*
|
|
23
|
+
/** Marks the row as selected — sin relleno: peso 600 + un check al final (salvo
|
|
24
|
+
* que la fila use `leadingCheck`, que ya lo pinta al inicio). La fila pasa a
|
|
25
|
+
* `role="menuitemradio"` con `aria-checked="true"` (o `menuitemcheckbox` con
|
|
26
|
+
* `selectionMode="multiple"`). Used by selection menus (sort/type, columnas). */
|
|
25
27
|
this.selected = false;
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
+
/** La fila pertenece a un menú de selección única: se expone como
|
|
29
|
+
* `role="menuitemradio"` con `aria-checked` true/false aunque NO esté marcada.
|
|
30
|
+
* `aria-checked` sobre `role="menuitem"` es ARIA inválido, y sin este prop una
|
|
31
|
+
* fila no marcada de un menú de selección quedaría como `menuitem` pelado al lado
|
|
32
|
+
* de su hermana `menuitemradio`. Ponerlo en TODAS las filas del grupo. Implícito
|
|
33
|
+
* con `selected` o `leadingCheck` (que reserva el hueco en todas las filas). */
|
|
34
|
+
this.selectable = false;
|
|
35
|
+
/** Tipo de grupo de selección al que pertenece la fila (solo cuenta con
|
|
36
|
+
* `selectable`, `selected` o `leadingCheck`):
|
|
37
|
+
* - `'single'` (default) → `role="menuitemradio"`: una sola marcada (orden, tipo).
|
|
38
|
+
* - `'multiple'` → `role="menuitemcheckbox"`: varias marcadas a la vez (columnas
|
|
39
|
+
* visibles, filtros). Mismo look (peso 600 + check, sin relleno) y el mismo
|
|
40
|
+
* `aria-checked` true/false. Ponerlo en TODAS las filas del grupo. */
|
|
41
|
+
this.selectionMode = 'single';
|
|
42
|
+
/** Legacy/redundante: `selected` ya pinta el check al final y
|
|
43
|
+
* expone `aria-checked`. Solo, sin `selected`, `trailingCheck` dibuja un check
|
|
44
|
+
* DECORATIVO sobre un `role="menuitem"` sin `aria-checked` (el lector de
|
|
45
|
+
* pantalla no se entera de nada): para marcar la opción elegida usar
|
|
46
|
+
* `selected` (+ `selectable` en las filas no marcadas del grupo). Se conserva
|
|
47
|
+
* por compatibilidad; junto con `selected` no agrega un segundo check. */
|
|
28
48
|
this.trailingCheck = false;
|
|
29
49
|
/** Reserva un check de 12px AL INICIO de la fila (antes del ícono/label).
|
|
30
50
|
* A diferencia de `trailingCheck` (que solo se monta si el prop está en
|
|
@@ -195,8 +215,21 @@ export class CoMenuItem {
|
|
|
195
215
|
// flipped submenu). The panel's own mouseenter cancels this on arrival.
|
|
196
216
|
this.closeTimer = window.setTimeout(() => { this.submenuOpen = false; }, 260);
|
|
197
217
|
}
|
|
218
|
+
/** La fila es marcable (pertenece a un grupo de selección, ver `selectable`).
|
|
219
|
+
* Un disparador de submenú nunca lo es. */
|
|
220
|
+
get isCheckable() {
|
|
221
|
+
return !this.hasSubmenu && (this.selectable || this.leadingCheck || this.selected);
|
|
222
|
+
}
|
|
223
|
+
/** Rol ARIA de la fila: `menuitemcheckbox` en un grupo de selección múltiple,
|
|
224
|
+
* `menuitemradio` en uno de selección única, `menuitem` en el resto. */
|
|
225
|
+
get role() {
|
|
226
|
+
if (!this.isCheckable)
|
|
227
|
+
return 'menuitem';
|
|
228
|
+
return this.selectionMode === 'multiple' ? 'menuitemcheckbox' : 'menuitemradio';
|
|
229
|
+
}
|
|
198
230
|
render() {
|
|
199
231
|
var _a;
|
|
232
|
+
const isCheckable = this.isCheckable;
|
|
200
233
|
const row = (h("button", { ref: (el) => (this.rowEl = el), class: {
|
|
201
234
|
'co-menu-item': true,
|
|
202
235
|
'co-menu-item--dense': this.dense,
|
|
@@ -205,7 +238,7 @@ export class CoMenuItem {
|
|
|
205
238
|
'co-menu-item--danger': this.variant === 'danger',
|
|
206
239
|
'co-menu-item--submenu': this.hasSubmenu,
|
|
207
240
|
'co-menu-item--submenu-open': this.hasSubmenu && this.submenuOpen,
|
|
208
|
-
}, type: "button", role:
|
|
241
|
+
}, type: "button", role: this.role, "aria-haspopup": this.hasSubmenu ? 'menu' : undefined, "aria-expanded": this.hasSubmenu ? (this.submenuOpen ? 'true' : 'false') : undefined, "aria-checked": isCheckable ? (this.selected ? 'true' : 'false') : undefined, disabled: this.disabled, onClick: this.handleClick, onKeyDown: this.handleKeydown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, this.leadingCheck && (h("span", { class: "co-menu-item__check co-menu-item__check--leading", "aria-hidden": "true" }, this.selected && h("co-icon", { name: "check", size: 12 }))), this.icon && (h("span", { class: "co-menu-item__icon" }, h("co-icon", { name: this.icon, size: (_a = this.iconSize) !== null && _a !== void 0 ? _a : 16 }))), h("span", { class: { 'co-menu-item__label': true, 'co-menu-item__label--stacked': !!this.caption } }, h("span", { class: "co-menu-item__label-main" }, this.label, h("slot", { name: "label" })), this.caption && h("span", { class: "co-menu-item__caption" }, this.caption)), (this.trailingCheck || (this.selected && !this.leadingCheck)) && (h("span", { class: "co-menu-item__check", "aria-hidden": "true" }, h("co-icon", { name: "check", size: 15 }))), h("span", { class: "co-menu-item__suffix" }, h("slot", { name: "suffix" }), this.hasSubmenu && h("co-icon", { name: "caret-right", size: 14 }))));
|
|
209
242
|
if (!this.hasSubmenu) {
|
|
210
243
|
// Leaf — the default slot is unused for leaves; ignore it.
|
|
211
244
|
return h("div", { class: "co-menu-item__wrap" }, row);
|
|
@@ -342,7 +375,7 @@ export class CoMenuItem {
|
|
|
342
375
|
"optional": false,
|
|
343
376
|
"docs": {
|
|
344
377
|
"tags": [],
|
|
345
|
-
"text": "Marks the row as selected \u2014
|
|
378
|
+
"text": "Marks the row as selected \u2014 sin relleno: peso 600 + un check al final (salvo\nque la fila use `leadingCheck`, que ya lo pinta al inicio). La fila pasa a\n`role=\"menuitemradio\"` con `aria-checked=\"true\"` (o `menuitemcheckbox` con\n`selectionMode=\"multiple\"`). Used by selection menus (sort/type, columnas)."
|
|
346
379
|
},
|
|
347
380
|
"getter": false,
|
|
348
381
|
"setter": false,
|
|
@@ -350,6 +383,46 @@ export class CoMenuItem {
|
|
|
350
383
|
"attribute": "selected",
|
|
351
384
|
"defaultValue": "false"
|
|
352
385
|
},
|
|
386
|
+
"selectable": {
|
|
387
|
+
"type": "boolean",
|
|
388
|
+
"mutable": false,
|
|
389
|
+
"complexType": {
|
|
390
|
+
"original": "boolean",
|
|
391
|
+
"resolved": "boolean",
|
|
392
|
+
"references": {}
|
|
393
|
+
},
|
|
394
|
+
"required": false,
|
|
395
|
+
"optional": false,
|
|
396
|
+
"docs": {
|
|
397
|
+
"tags": [],
|
|
398
|
+
"text": "La fila pertenece a un men\u00FA de selecci\u00F3n \u00FAnica: se expone como\n`role=\"menuitemradio\"` con `aria-checked` true/false aunque NO est\u00E9 marcada.\n`aria-checked` sobre `role=\"menuitem\"` es ARIA inv\u00E1lido, y sin este prop una\nfila no marcada de un men\u00FA de selecci\u00F3n quedar\u00EDa como `menuitem` pelado al lado\nde su hermana `menuitemradio`. Ponerlo en TODAS las filas del grupo. Impl\u00EDcito\ncon `selected` o `leadingCheck` (que reserva el hueco en todas las filas)."
|
|
399
|
+
},
|
|
400
|
+
"getter": false,
|
|
401
|
+
"setter": false,
|
|
402
|
+
"reflect": false,
|
|
403
|
+
"attribute": "selectable",
|
|
404
|
+
"defaultValue": "false"
|
|
405
|
+
},
|
|
406
|
+
"selectionMode": {
|
|
407
|
+
"type": "string",
|
|
408
|
+
"mutable": false,
|
|
409
|
+
"complexType": {
|
|
410
|
+
"original": "'single' | 'multiple'",
|
|
411
|
+
"resolved": "\"multiple\" | \"single\"",
|
|
412
|
+
"references": {}
|
|
413
|
+
},
|
|
414
|
+
"required": false,
|
|
415
|
+
"optional": false,
|
|
416
|
+
"docs": {
|
|
417
|
+
"tags": [],
|
|
418
|
+
"text": "Tipo de grupo de selecci\u00F3n al que pertenece la fila (solo cuenta con\n`selectable`, `selected` o `leadingCheck`):\n- `'single'` (default) \u2192 `role=\"menuitemradio\"`: una sola marcada (orden, tipo).\n- `'multiple'` \u2192 `role=\"menuitemcheckbox\"`: varias marcadas a la vez (columnas\n visibles, filtros). Mismo look (peso 600 + check, sin relleno) y el mismo\n `aria-checked` true/false. Ponerlo en TODAS las filas del grupo."
|
|
419
|
+
},
|
|
420
|
+
"getter": false,
|
|
421
|
+
"setter": false,
|
|
422
|
+
"reflect": false,
|
|
423
|
+
"attribute": "selection-mode",
|
|
424
|
+
"defaultValue": "'single'"
|
|
425
|
+
},
|
|
353
426
|
"trailingCheck": {
|
|
354
427
|
"type": "boolean",
|
|
355
428
|
"mutable": false,
|
|
@@ -362,7 +435,7 @@ export class CoMenuItem {
|
|
|
362
435
|
"optional": false,
|
|
363
436
|
"docs": {
|
|
364
437
|
"tags": [],
|
|
365
|
-
"text": "
|
|
438
|
+
"text": "Legacy/redundante: `selected` ya pinta el check al final y\nexpone `aria-checked`. Solo, sin `selected`, `trailingCheck` dibuja un check\nDECORATIVO sobre un `role=\"menuitem\"` sin `aria-checked` (el lector de\npantalla no se entera de nada): para marcar la opci\u00F3n elegida usar\n`selected` (+ `selectable` en las filas no marcadas del grupo). Se conserva\npor compatibilidad; junto con `selected` no agrega un segundo check."
|
|
366
439
|
},
|
|
367
440
|
"getter": false,
|
|
368
441
|
"setter": false,
|
|
@@ -683,6 +683,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
683
683
|
* @prop --co-option-list-item-font-size: Tamaño del texto de la fila (default 14px).
|
|
684
684
|
* @prop --co-option-list-active-bg: Fondo de la fila activa (hover o teclado).
|
|
685
685
|
* @prop --co-option-list-active-ring: Sombra/anillo de la fila activa.
|
|
686
|
+
* @prop --co-option-list-selected-label-weight: Peso del rótulo de la fila seleccionada (default 600).
|
|
686
687
|
* @prop --co-option-list-label-weight: Peso del label de la fila.
|
|
687
688
|
* @prop --co-option-list-text-gap: Separación entre el título y la descripción de la fila.
|
|
688
689
|
* @prop --co-option-list-icon-tile-size: Lado del recuadro del ícono (default 22px).
|
|
@@ -873,14 +874,21 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
873
874
|
margin-bottom: var(--co-spacing-xxs, 2px);
|
|
874
875
|
}
|
|
875
876
|
|
|
877
|
+
/* Activa (hover o teclado) = gris liviano text-default 6 %, gira con el tema. Antes
|
|
878
|
+
surface-hover (negro 8 %), el mismo gris que el seleccionado: no se distinguían. */
|
|
876
879
|
.co-option-list__option--active {
|
|
877
|
-
background: var(--co-option-list-active-bg, var(--co-semantic-
|
|
880
|
+
background: var(--co-option-list-active-bg, color-mix(in srgb, var(--co-semantic-text-default) 6%, transparent));
|
|
878
881
|
box-shadow: var(--co-option-list-active-ring, none);
|
|
879
882
|
}
|
|
880
883
|
|
|
881
|
-
/* Seleccionado =
|
|
882
|
-
|
|
883
|
-
|
|
884
|
+
/* Seleccionado = SIN relleno: la marca es el affordance (check/X) + rótulo en 600
|
|
885
|
+
(auditoría de contraste #5 B, 2026-10-05). Con el gris de antes (surface-hover) el hover
|
|
886
|
+
se leía igual que la selección. No se declara ningún background en --selected: así la
|
|
887
|
+
fila seleccionada que además está activa muestra el gris del hover (--active) y en
|
|
888
|
+
reposo queda en el fondo de la fila (--co-option-list-item-bg).
|
|
889
|
+
Peso: `--co-option-list-selected-label-weight` (default 600). */
|
|
890
|
+
.co-option-list__option--selected .co-option-list__label {
|
|
891
|
+
font-weight: var(--co-option-list-selected-label-weight, 600);
|
|
884
892
|
}
|
|
885
893
|
|
|
886
894
|
.co-option-list__option--disabled {
|
|
@@ -770,7 +770,7 @@ export class CoOptionList {
|
|
|
770
770
|
'co-option-list__option--lifted': !this.listDragActive && this.dragKey === item._id,
|
|
771
771
|
'co-option-list__option--drop-before': this.listDragActive && this.overKey === item._id && !this.dropAfter,
|
|
772
772
|
'co-option-list__option--drop-after': this.listDragActive && this.overKey === item._id && this.dropAfter,
|
|
773
|
-
}, key: item._id, id: `co-optlist-${index}`, "data-id": item._id, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : 'false', draggable: listDragRow && this.armedKey === item._id, onClick: () => !item.disabled && this.pick(item), onMouseEnter: () => { this.activeIndex = index; }, onDragStart: listDragRow ? (e) => this.handleRowDragStart(e, item._id) : undefined, onDragOver: listDragRow ? (e) => this.handleRowDragOver(e, item._id) : undefined, onDrop: listDragRow ? (e) => this.handleRowDrop(e, item._id) : undefined, onDragEnd: listDragRow ? this.handleRowDragEnd : undefined, onDragLeave: listDragRow ? (e) => this.handleRowDragLeave(e, item._id) : undefined }, (ptrDragRow || listDragRow) && (h("span", { class: "co-option-list__drag-handle", part: "drag-handle", title: "Drag to reorder", onMouseDown: listDragRow ? () => (this.armedKey = item._id) : undefined, onPointerDown: ptrDragRow ? (e) => this.startPointerDrag(e, item._id) : undefined, 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 && this.suffixAlign !== 'end' && h("span", { class: "co-option-list__suffix" }, "- ", item.suffix), item.badge && this.renderBadge(item.badge)), item.description && h("span", { class: "co-option-list__desc" }, item.description)), item.suffix && this.suffixAlign === 'end' && h("span", { class: "co-option-list__suffix co-option-list__suffix--end" }, item.suffix), this.pinnable && (h("button", { class: { 'co-option-list__pin': true, 'co-option-list__pin--active': !!item.pinned }, type: "button", tabIndex: -1, "aria-label": item.pinned ? `Unpin ${item.label}` : `Pin ${item.label}`, "aria-pressed": item.pinned ? 'true' : 'false', onClick: (e) => { e.stopPropagation(); this.coPinToggle.emit({ item }); } }, h("co-icon", { name: "push-pin", size: 16, weight: item.pinned ? 'fill' : 'regular' }))), 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 === '
|
|
773
|
+
}, key: item._id, id: `co-optlist-${index}`, "data-id": item._id, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : 'false', draggable: listDragRow && this.armedKey === item._id, onClick: () => !item.disabled && this.pick(item), onMouseEnter: () => { this.activeIndex = index; }, onDragStart: listDragRow ? (e) => this.handleRowDragStart(e, item._id) : undefined, onDragOver: listDragRow ? (e) => this.handleRowDragOver(e, item._id) : undefined, onDrop: listDragRow ? (e) => this.handleRowDrop(e, item._id) : undefined, onDragEnd: listDragRow ? this.handleRowDragEnd : undefined, onDragLeave: listDragRow ? (e) => this.handleRowDragLeave(e, item._id) : undefined }, (ptrDragRow || listDragRow) && (h("span", { class: "co-option-list__drag-handle", part: "drag-handle", title: "Drag to reorder", onMouseDown: listDragRow ? () => (this.armedKey = item._id) : undefined, onPointerDown: ptrDragRow ? (e) => this.startPointerDrag(e, item._id) : undefined, 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 && this.suffixAlign !== 'end' && h("span", { class: "co-option-list__suffix" }, "- ", item.suffix), item.badge && this.renderBadge(item.badge)), item.description && h("span", { class: "co-option-list__desc" }, item.description)), item.suffix && this.suffixAlign === 'end' && h("span", { class: "co-option-list__suffix co-option-list__suffix--end" }, item.suffix), this.pinnable && (h("button", { class: { 'co-option-list__pin': true, 'co-option-list__pin--active': !!item.pinned }, type: "button", tabIndex: -1, "aria-label": item.pinned ? `Unpin ${item.label}` : `Pin ${item.label}`, "aria-pressed": item.pinned ? 'true' : 'false', onClick: (e) => { e.stopPropagation(); this.coPinToggle.emit({ item }); } }, h("co-icon", { name: "push-pin", size: 16, weight: item.pinned ? 'fill' : 'regular' }))), 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.multiple) || (!this.removableItems && this.selectedAffordance === 'deselect')) && (h("co-icon", { name: "check", size: 16, class: "co-option-list__check", "aria-hidden": "true" }))));
|
|
774
774
|
}
|
|
775
775
|
renderVirtual(items, selectedIds) {
|
|
776
776
|
const { totalHeight, startIdx, endIdx, offsetY } = virtualSlice(this.scrollTop, items.length);
|
|
@@ -781,11 +781,11 @@ export class CoOptionList {
|
|
|
781
781
|
const selectedIds = this.selectedIds;
|
|
782
782
|
const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
|
|
783
783
|
const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
|
|
784
|
-
return (h("div", { key: '
|
|
784
|
+
return (h("div", { key: '56e2db1d58bebbbd37d10e6813be9034ac575323', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: '0408ef8880e6be71c8a3fc172db6ee65dd6689a0', class: "co-option-list__search", part: "search" }, h("co-icon", { key: '0300cc9e1d430da5b50a5ffa4e9ece94f43b104c', name: "magnifying-glass", size: 16 }), h("input", { key: 'f540c8fcc9eb17167133f8ffffc5e1da5a20d1dc', 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("slot", { key: '4da1c79aab9efa870239dc1ea58d286935d7fda4', name: "header" }), h("div", { key: 'aaed96ccda574661e127abe5deee921468c42a47', 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: 'ea94def9450c37a09c639eea32f8e1ec829dbcaf', class: "co-option-list__inner" }, showClear && (h("button", { key: '32102669f7b70d56d1831c9543c1a50799b1cf6a', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: 'c09f3fa1418494971dc1d80207bcd595b4a0fe38', name: "x-circle", size: 14 }), h("span", { key: 'd6f4afa32a32e477a5131039da5eb3f7eb0d7018' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '1abb47c6560856992103b8fd5962ed2ce57c356a', class: "co-option-list__loading" }, h("co-loader", { key: 'e2a562325238349ad9e493c276f4c099b1e06ec0', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: 'fa3cad402047a7ea7d919abca0f6808b2eb2797a', class: "co-option-list__empty" }, h("co-icon", { key: '65d553e95e4b4a7a71c7675447892871692b4e8a', name: "magnifying-glass", size: 20 }), h("span", { key: '591a2bcf9dc6148c5f22a9aa0da1fa3ba647b33b' }, this.emptyMessage))), items.length > 0 && this.virtual
|
|
785
785
|
? this.renderVirtual(items, selectedIds)
|
|
786
786
|
: buildRows(items).map((row) => row.kind === 'header'
|
|
787
787
|
? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
|
|
788
|
-
: this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '
|
|
788
|
+
: this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '8d8b91d2ef9dc1fe9b97873da384080d5721617c', class: "co-option-list__loading-more" }, h("co-loader", { key: '134bb46ec2f27500f8ef6c13613bd3ab3c15c1f2', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: 'e850a68ccfc2f4033edaa41257728e141f55d556', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '7c838d68ec977e650922c59cd8314ee530e15ad4', name: "footer" })));
|
|
789
789
|
}
|
|
790
790
|
static get is() { return "co-option-list"; }
|
|
791
791
|
static get encapsulation() { return "shadow"; }
|
|
@@ -213,13 +213,22 @@
|
|
|
213
213
|
text-align: left;
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
+
/* Opción = patrón #5 B de la auditoría de contraste (2026-10-05), el mismo de co-option-list:
|
|
217
|
+
hover = gris liviano text-default 6 % (gira con el tema); seleccionada = SIN relleno, rótulo
|
|
218
|
+
en 600 + check decorativo al final (aria-hidden; el estado lo expone aria-selected de la
|
|
219
|
+
fila). Antes la seleccionada pintaba un tinte y el hover surface-hover (8 %): el hover pesaba
|
|
220
|
+
más que la selección y no se distinguían. */
|
|
216
221
|
.co-phone-field__option:hover {
|
|
217
|
-
background: var(--co-semantic-
|
|
222
|
+
background: color-mix(in srgb, var(--co-semantic-text-default) 6%, transparent);
|
|
218
223
|
}
|
|
219
224
|
|
|
220
225
|
.co-phone-field__option--selected {
|
|
221
|
-
|
|
222
|
-
|
|
226
|
+
font-weight: 600;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.co-phone-field__option-check {
|
|
230
|
+
flex-shrink: 0;
|
|
231
|
+
color: var(--co-semantic-text-default);
|
|
223
232
|
}
|
|
224
233
|
|
|
225
234
|
.co-phone-field__option-flag {
|
|
@@ -175,7 +175,7 @@ export class CoPhoneField {
|
|
|
175
175
|
render() {
|
|
176
176
|
const entry = this.selectedEntry;
|
|
177
177
|
const statusClass = this.status !== 'default' ? `co-phone-field--${this.status}` : '';
|
|
178
|
-
return (h("div", { key: '8c960a1db186c84921d1062f3a81dac55d36be90', class: `co-phone-field co-phone-field--${this.size} ${statusClass} ${this.disabled ? 'co-phone-field--disabled' : ''}` }, this.label && (h("label", { key: 'c19628c6057b6314a7dca1aeac5c8e201d2c20c0', class: "co-phone-field__label" }, this.label, h(RequiredMark, { key: 'e070c5a69e9064d61ca6fb6fd1d5fca6944f8a36', required: this.required }))), h("div", { key: '69e52a3489ddc693271a2eff7b63e7a3f6ffee9b', class: "co-phone-field__container" }, h("button", { key: '1b0998e28fb0f0aa0ab64443adceea96355483e5', type: "button", class: "co-phone-field__selector", disabled: this.disabled, onClick: () => this.handleToggleDropdown(), "aria-expanded": String(this.isOpen), "aria-haspopup": "listbox", "aria-label": entry ? `${this.strings.selectCountry}: ${entry.name} ${entry.dialCode}` : this.strings.selectCountry }, entry ? (h("img", { class: "co-phone-field__flag", src: `https://flagcdn.com/w40/${entry.iso2.toLowerCase()}.png`, alt: "", decoding: "async", onError: this.hideBrokenFlag })) : (h("co-icon", { name: "phone", size: 16 })), h("span", { key: '5f2f173697b6e659b729547eb44372efbdebf0de', class: "co-phone-field__dial-code" }, entry ? entry.dialCode : ''), h("span", { key: 'd0ad9d09fd06c9ab4385b6b10fd335429d2b2782', class: "co-phone-field__chevron" }, h("co-icon", { key: '6ef136322e4fcada10e924d25beff2ff3699a0d9', name: "caret-down", size: 14 }))), h("input", { key: 'b5d77691bbd9638a3868e82a243c1106e3167384', 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: 'c9310ebc76fb76f4ad7b3f460199131e89238129', class: "co-phone-field__dropdown", role: "listbox" }, h("div", { key: '2b103381c88331f86dd0cd941b5d7dc102d60cfa', class: "co-phone-field__search" }, h("input", { key: '3152d3842b4db1f2f75b36c8c16933a115af75b5', class: "co-phone-field__search-input", type: "text", placeholder: this.strings.searchPlaceholder, value: this.searchQuery, onInput: (e) => this.handleSearchInput(e), autoFocus: true })), h("div", { key: '0b5fdd035243c03563e956b7c6e8b189e3fac976', 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: "", loading: "lazy", decoding: "async", onError: this.hideBrokenFlag }), 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: '
|
|
178
|
+
return (h("div", { key: '8c960a1db186c84921d1062f3a81dac55d36be90', class: `co-phone-field co-phone-field--${this.size} ${statusClass} ${this.disabled ? 'co-phone-field--disabled' : ''}` }, this.label && (h("label", { key: 'c19628c6057b6314a7dca1aeac5c8e201d2c20c0', class: "co-phone-field__label" }, this.label, h(RequiredMark, { key: 'e070c5a69e9064d61ca6fb6fd1d5fca6944f8a36', required: this.required }))), h("div", { key: '69e52a3489ddc693271a2eff7b63e7a3f6ffee9b', class: "co-phone-field__container" }, h("button", { key: '1b0998e28fb0f0aa0ab64443adceea96355483e5', type: "button", class: "co-phone-field__selector", disabled: this.disabled, onClick: () => this.handleToggleDropdown(), "aria-expanded": String(this.isOpen), "aria-haspopup": "listbox", "aria-label": entry ? `${this.strings.selectCountry}: ${entry.name} ${entry.dialCode}` : this.strings.selectCountry }, entry ? (h("img", { class: "co-phone-field__flag", src: `https://flagcdn.com/w40/${entry.iso2.toLowerCase()}.png`, alt: "", decoding: "async", onError: this.hideBrokenFlag })) : (h("co-icon", { name: "phone", size: 16 })), h("span", { key: '5f2f173697b6e659b729547eb44372efbdebf0de', class: "co-phone-field__dial-code" }, entry ? entry.dialCode : ''), h("span", { key: 'd0ad9d09fd06c9ab4385b6b10fd335429d2b2782', class: "co-phone-field__chevron" }, h("co-icon", { key: '6ef136322e4fcada10e924d25beff2ff3699a0d9', name: "caret-down", size: 14 }))), h("input", { key: 'b5d77691bbd9638a3868e82a243c1106e3167384', 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: 'c9310ebc76fb76f4ad7b3f460199131e89238129', class: "co-phone-field__dropdown", role: "listbox" }, h("div", { key: '2b103381c88331f86dd0cd941b5d7dc102d60cfa', class: "co-phone-field__search" }, h("input", { key: '3152d3842b4db1f2f75b36c8c16933a115af75b5', class: "co-phone-field__search-input", type: "text", placeholder: this.strings.searchPlaceholder, value: this.searchQuery, onInput: (e) => this.handleSearchInput(e), autoFocus: true })), h("div", { key: '0b5fdd035243c03563e956b7c6e8b189e3fac976', 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: "", loading: "lazy", decoding: "async", onError: this.hideBrokenFlag }), h("span", { class: "co-phone-field__option-name" }, this.renderName(d.name)), h("span", { class: "co-phone-field__option-code" }, d.dialCode), d.iso2 === this.selectedIso2 && (h("co-icon", { name: "check", size: 16, class: "co-phone-field__option-check", "aria-hidden": "true" })))))))), this.helperText && (h("div", { key: '686669982abbcb8f1c2c5d045a3a04546a0a0e46', class: "co-phone-field__helper" }, this.statusIcon && (h("co-icon", { key: '030b2538e516b2a6aaa583e4581638b3772f7a8a', name: this.statusIcon, size: 14, weight: "fill", class: "co-phone-field__helper-icon" })), h("span", { key: '649c30fdf2f2b6a1cd43687b972bd727eba6bcc9', class: "co-phone-field__helper-text" }, this.helperText)))));
|
|
179
179
|
}
|
|
180
180
|
static get is() { return "co-phone-field"; }
|
|
181
181
|
static get encapsulation() { return "shadow"; }
|
|
@@ -476,7 +476,7 @@ export class CoPopover {
|
|
|
476
476
|
"references": {
|
|
477
477
|
"PopoverPlacement": {
|
|
478
478
|
"location": "local",
|
|
479
|
-
"path": "/Users/agox/
|
|
479
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-popover/co-popover.tsx",
|
|
480
480
|
"id": "src/components/co-popover/co-popover.tsx::PopoverPlacement"
|
|
481
481
|
}
|
|
482
482
|
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
.co-progress-circle {
|
|
6
6
|
--_color: var(--co-semantic-status-info, #2563eb);
|
|
7
|
-
|
|
7
|
+
/* surface-hover gira con el tema: en claro es el mismo negro 8 % (sin cambio visual); la
|
|
8
|
+
primitiva negro-8 se perdía en oscuro (1,01:1 → 1,18:1). */
|
|
9
|
+
--_track: var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08));
|
|
8
10
|
|
|
9
11
|
position: relative;
|
|
10
12
|
display: inline-flex;
|
|
@@ -52,6 +52,13 @@
|
|
|
52
52
|
overflow: hidden;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
/* Foco por teclado (H1, auditoría a11y 2026-10-05): trazo border-focus (tinta sólida desde
|
|
56
|
+
#2D/#3D), no el halo focus-ring. box-shadow y no outline: el propio overflow:hidden no
|
|
57
|
+
recorta la sombra del elemento. Molde co-checkbox. */
|
|
58
|
+
.co-radio:focus-visible {
|
|
59
|
+
box-shadow: 0 0 0 2px var(--co-semantic-border-focus);
|
|
60
|
+
}
|
|
61
|
+
|
|
55
62
|
/* ─── SIZES ─────────────────────────────────────────────────── */
|
|
56
63
|
.co-radio--small {
|
|
57
64
|
width: 16px;
|
|
@@ -64,8 +71,10 @@
|
|
|
64
71
|
}
|
|
65
72
|
|
|
66
73
|
/* ─── UNCHECKED ─────────────────────────────────────────────── */
|
|
74
|
+
/* #3D (auditoría de contraste 2026-10-05): contorno border-field, el mismo de los campos
|
|
75
|
+
(≥3:1). border-default (16%) quedaba a ~1,3:1. */
|
|
67
76
|
.co-radio:not(.co-radio--checked) {
|
|
68
|
-
border-color: var(--co-semantic-border-
|
|
77
|
+
border-color: var(--co-semantic-border-field);
|
|
69
78
|
}
|
|
70
79
|
|
|
71
80
|
/* ─── CHECKED ───────────────────────────────────────────────── */
|
|
@@ -224,7 +224,7 @@ export class CoRadioGroup {
|
|
|
224
224
|
"references": {
|
|
225
225
|
"RadioOption": {
|
|
226
226
|
"location": "local",
|
|
227
|
-
"path": "/Users/agox/
|
|
227
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-radio-group/co-radio-group.tsx",
|
|
228
228
|
"id": "src/components/co-radio-group/co-radio-group.tsx::RadioOption"
|
|
229
229
|
}
|
|
230
230
|
}
|
|
@@ -39,7 +39,9 @@
|
|
|
39
39
|
border: none;
|
|
40
40
|
background: transparent;
|
|
41
41
|
cursor: pointer;
|
|
42
|
-
|
|
42
|
+
/* Estrella vacía = indicador no textual (WCAG 1.4.11): border-subtle (8 %) daba 1,17:1 contra
|
|
43
|
+
la página. text-muted: 5,33 claro / 5,58 oscuro. */
|
|
44
|
+
color: var(--co-semantic-text-muted);
|
|
43
45
|
transition: color var(--co-motion-duration-fast) var(--co-motion-ease-out), transform var(--co-motion-duration-fast) var(--co-motion-ease-out);
|
|
44
46
|
}
|
|
45
47
|
|
|
@@ -1356,7 +1356,7 @@ export class CoRefField {
|
|
|
1356
1356
|
"references": {
|
|
1357
1357
|
"RefFieldOption": {
|
|
1358
1358
|
"location": "local",
|
|
1359
|
-
"path": "/Users/agox/
|
|
1359
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1360
1360
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1361
1361
|
}
|
|
1362
1362
|
}
|
|
@@ -1497,7 +1497,7 @@ export class CoRefField {
|
|
|
1497
1497
|
"references": {
|
|
1498
1498
|
"RefFieldOption": {
|
|
1499
1499
|
"location": "local",
|
|
1500
|
-
"path": "/Users/agox/
|
|
1500
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1501
1501
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1502
1502
|
}
|
|
1503
1503
|
}
|
|
@@ -1518,7 +1518,7 @@ export class CoRefField {
|
|
|
1518
1518
|
"references": {
|
|
1519
1519
|
"RefFieldOption": {
|
|
1520
1520
|
"location": "local",
|
|
1521
|
-
"path": "/Users/agox/
|
|
1521
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1522
1522
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1523
1523
|
}
|
|
1524
1524
|
}
|
|
@@ -1557,7 +1557,7 @@ export class CoRefField {
|
|
|
1557
1557
|
},
|
|
1558
1558
|
"RefFieldOption": {
|
|
1559
1559
|
"location": "local",
|
|
1560
|
-
"path": "/Users/agox/
|
|
1560
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1561
1561
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1562
1562
|
}
|
|
1563
1563
|
},
|
|
@@ -160,7 +160,7 @@ export class CoSegmentedBar {
|
|
|
160
160
|
"references": {
|
|
161
161
|
"CoSegment": {
|
|
162
162
|
"location": "local",
|
|
163
|
-
"path": "/Users/agox/
|
|
163
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-segmented-bar/co-segmented-bar.tsx",
|
|
164
164
|
"id": "src/components/co-segmented-bar/co-segmented-bar.tsx::CoSegment"
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -848,7 +848,7 @@ export class CoSelect {
|
|
|
848
848
|
"references": {
|
|
849
849
|
"SelectOption": {
|
|
850
850
|
"location": "local",
|
|
851
|
-
"path": "/Users/agox/
|
|
851
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-select/co-select.tsx",
|
|
852
852
|
"id": "src/components/co-select/co-select.tsx::SelectOption"
|
|
853
853
|
}
|
|
854
854
|
}
|
|
@@ -536,7 +536,7 @@ export class CoSidebarNav {
|
|
|
536
536
|
"references": {
|
|
537
537
|
"NavigateDetail": {
|
|
538
538
|
"location": "local",
|
|
539
|
-
"path": "/Users/agox/
|
|
539
|
+
"path": "/Users/agox/worktrees/cobalt-release-a11y/packages/core/src/components/co-sidebar-nav/co-sidebar-nav.tsx",
|
|
540
540
|
"id": "src/components/co-sidebar-nav/co-sidebar-nav.tsx::NavigateDetail"
|
|
541
541
|
}
|
|
542
542
|
}
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
.co-skeleton {
|
|
6
6
|
height: 1em;
|
|
7
7
|
border-radius: var(--co-border-radius-xs);
|
|
8
|
+
/* Base surface-muted (gray-200 claro / gray-650 oscuro): la de antes partía de
|
|
9
|
+
surface-secondary (= el fondo de la página) y la barra en reposo era invisible
|
|
10
|
+
(<=1,17:1). El brillo del sweep es la mezcla 50 % con surface-page. */
|
|
8
11
|
background: linear-gradient(
|
|
9
12
|
90deg,
|
|
10
|
-
var(--co-semantic-surface-
|
|
11
|
-
var(--co-semantic-surface-
|
|
12
|
-
var(--co-semantic-surface-
|
|
13
|
+
var(--co-semantic-surface-muted) 0%,
|
|
14
|
+
color-mix(in srgb, var(--co-semantic-surface-muted), var(--co-semantic-surface-page) 50%) 50%,
|
|
15
|
+
var(--co-semantic-surface-muted) 100%
|
|
13
16
|
);
|
|
14
17
|
background-size: 200% 100%;
|
|
15
18
|
animation: co-skeleton-sweep 1.2s ease-in-out infinite;
|
|
@@ -96,7 +96,13 @@
|
|
|
96
96
|
.co-slider__track {
|
|
97
97
|
width: 100%;
|
|
98
98
|
height: var(--co-slider-track-thickness, 4px);
|
|
99
|
-
|
|
99
|
+
/* Riel sin llenar = indicador no textual (WCAG 1.4.11): border-subtle (8 %) daba 1,17:1
|
|
100
|
+
contra la página. control-track-off (gray-500, la pista apagada de co-switch): 3,54 claro /
|
|
101
|
+
5,58 oscuro contra la página; el relleno queda a 4,78 (claro) / 3,54 (oscuro) del riel.
|
|
102
|
+
Compromiso aceptado: los rellenos de ESTADO (error/success/warning) quedan a ~1,6-1,9 del riel
|
|
103
|
+
gris; ahí el valor lo lleva el pulgar (mismo color, contra la página) y el estado, el texto de
|
|
104
|
+
ayuda. En suite-v2 solo se usa `error`, transitorio, en validación (FieldSlider). */
|
|
105
|
+
background: var(--co-semantic-control-track-off);
|
|
100
106
|
border-radius: var(--co-border-radius-full);
|
|
101
107
|
overflow: hidden;
|
|
102
108
|
}
|
|
@@ -112,6 +118,11 @@
|
|
|
112
118
|
background: var(--co-semantic-text-disabled);
|
|
113
119
|
}
|
|
114
120
|
|
|
121
|
+
/* Deshabilitado conserva el riel tenue de siempre (exento de 1.4.11). */
|
|
122
|
+
.co-slider--disabled .co-slider__track {
|
|
123
|
+
background: var(--co-semantic-border-subtle);
|
|
124
|
+
}
|
|
125
|
+
|
|
115
126
|
.co-slider--error .co-slider__fill { background: var(--co-semantic-status-error); }
|
|
116
127
|
.co-slider--success .co-slider__fill { background: var(--co-semantic-status-success); }
|
|
117
128
|
.co-slider--warning .co-slider__fill { background: var(--co-color-status-review); }
|
|
@@ -267,6 +278,15 @@
|
|
|
267
278
|
transition: none;
|
|
268
279
|
}
|
|
269
280
|
|
|
281
|
+
/* Foco de teclado (WCAG 2.4.7). El nodo enfocable es el `<input type="range">` oculto, que va
|
|
282
|
+
DESPUÉS del riel en el DOM: un `~` no alcanza al thumb, así que se sube por `:has()` desde la
|
|
283
|
+
raíz. Anillo de la casa: separador surface-page + trazo border-focus (3,29 claro / 5,33
|
|
284
|
+
oscuro). Va DESPUÉS de `--dragging` y pesa (0,3,0): el foco por teclado se ve aunque el
|
|
285
|
+
arrastre siga marcado. `:focus-visible`, nunca `:focus` pelado: el click no lo prende. */
|
|
286
|
+
.co-slider:has(.co-slider__native:focus-visible) .co-slider__thumb {
|
|
287
|
+
box-shadow: 0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus);
|
|
288
|
+
}
|
|
289
|
+
|
|
270
290
|
.co-slider--disabled .co-slider__thumb {
|
|
271
291
|
background: var(--co-semantic-text-disabled);
|
|
272
292
|
}
|