@prolibu-suite/cobalt-core 0.9.6 → 0.10.1
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 +1125 -89
- package/dist/cjs/co-accordion.cjs.entry.js +5 -5
- package/dist/cjs/co-action-bar.cjs.entry.js +2 -2
- package/dist/cjs/co-app-shell.cjs.entry.js +4 -4
- package/dist/cjs/co-audio-player.cjs.entry.js +83 -13
- 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 +72 -0
- package/dist/cjs/co-badge.cjs.entry.js +11 -3
- 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 +2 -2
- package/dist/cjs/co-calendar-month_2.cjs.entry.js +55 -20
- package/dist/cjs/co-calendar_3.cjs.entry.js +27 -15
- 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 +6 -6
- package/dist/cjs/co-chip_2.cjs.entry.js +68 -13
- package/dist/cjs/co-color-picker.cjs.entry.js +1078 -27
- package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-combobox.cjs.entry.js +2 -2
- package/dist/cjs/co-command-search.cjs.entry.js +1 -1
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
- package/dist/cjs/co-data-table.cjs.entry.js +83 -5
- package/dist/cjs/co-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-date-range-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-date-range.cjs.entry.js +2 -2
- package/dist/cjs/co-date-time-picker.cjs.entry.js +101 -130
- package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
- package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
- package/dist/cjs/co-emoji-picker.cjs.entry.js +4 -4
- package/dist/cjs/co-empty-state.cjs.entry.js +4 -4
- package/dist/cjs/co-event-calendar.cjs.entry.js +4 -4
- package/dist/cjs/co-event-popover.cjs.entry.js +3 -3
- package/dist/cjs/co-fab.cjs.entry.js +3 -3
- package/dist/cjs/co-file-field.cjs.entry.js +102 -106
- 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 +6 -6
- package/dist/cjs/co-icon.cjs.entry.js +3 -3
- package/dist/cjs/co-input.cjs.entry.js +32 -6
- package/dist/cjs/co-json-field.cjs.entry.js +5 -5
- package/dist/cjs/co-lightbox.cjs.entry.js +204 -21
- package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
- package/dist/cjs/co-list-item.cjs.entry.js +5 -5
- 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 +85 -4
- package/dist/cjs/co-menu.cjs.entry.js +2 -2
- package/dist/cjs/co-modal.cjs.entry.js +10 -4
- package/dist/cjs/co-navbar.cjs.entry.js +4 -4
- package/dist/cjs/co-number-field.cjs.entry.js +272 -9
- package/dist/cjs/co-overlay.cjs.entry.js +6 -4
- package/dist/cjs/co-page-header.cjs.entry.js +2 -2
- package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
- package/dist/cjs/co-popover.cjs.entry.js +58 -21
- package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
- package/dist/cjs/co-provider-logo_2.cjs.entry.js +47 -3
- package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/co-radio.cjs.entry.js +4 -4
- package/dist/cjs/co-rating.cjs.entry.js +4 -4
- package/dist/cjs/co-ref-field.cjs.entry.js +104 -13
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +11 -8
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +7 -3
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +4 -3
- 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 +6 -6
- package/dist/cjs/co-separator.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
- package/dist/cjs/co-slider.cjs.entry.js +3 -3
- package/dist/cjs/co-switch.cjs.entry.js +6 -6
- package/dist/cjs/co-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/co-tab.cjs.entry.js +3 -3
- package/dist/cjs/co-tags-field.cjs.entry.js +8 -8
- package/dist/cjs/co-textarea.cjs.entry.js +6 -6
- package/dist/cjs/co-time-field.cjs.entry.js +325 -0
- package/dist/cjs/co-toast.cjs.entry.js +2 -2
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +4 -4
- package/dist/cjs/co-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/{co-avatar_2.cjs.entry.js → co-tooltip.cjs.entry.js} +48 -84
- package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
- package/dist/cjs/co-video.cjs.entry.js +32 -7
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/color-CML2Cfdh.js +142 -0
- package/dist/cjs/{dateI18n-wblvKRq_.js → dateI18n-BK2qHqoC.js} +36 -0
- package/dist/cjs/{fieldChip-BLzo9MEV.js → fieldChip-B6YIGU1V.js} +1 -1
- package/dist/cjs/fileI18n-6sdbKvo6.js +88 -0
- package/dist/cjs/{index-DFZ5YhIT.js → index-BYwrR87Z.js} +28 -10
- package/dist/cjs/{index-DK-2Lzmf.js → index-MDAnKsze.js} +35 -27
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{positioning-DCj_AJ2T.js → positioning-CyatXeT_.js} +32 -13
- package/dist/cjs/{requiredMark-C1xcrzSZ.js → requiredMark-D-t-IPN0.js} +1 -1
- package/dist/cjs/{toolbar-config-BQfWTW6P.js → toolbar-config-BSGas-Wl.js} +10 -0
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-bfc2a849.entry.js → p-000a15b8.entry.js} +1 -1
- package/dist/cobalt/{p-f83b48fd.entry.js → p-011dc80b.entry.js} +1 -1
- package/dist/cobalt/{p-316c62c0.entry.js → p-0678c797.entry.js} +1 -1
- package/dist/cobalt/{p-43bd298d.entry.js → p-08e42e00.entry.js} +1 -1
- package/dist/cobalt/{p-0e91e5c4.entry.js → p-148d4aa6.entry.js} +1 -1
- package/dist/cobalt/{p-07d570a6.entry.js → p-16954cea.entry.js} +1 -1
- package/dist/cobalt/{p-d40a465f.entry.js → p-16f8cee6.entry.js} +1 -1
- package/dist/cobalt/{p-85a61e28.entry.js → p-17244412.entry.js} +1 -1
- package/dist/cobalt/{p-da546d08.entry.js → p-1dc55e43.entry.js} +1 -1
- package/dist/cobalt/p-239c5c5f.entry.js +1 -0
- package/dist/cobalt/{p-4c7e3984.entry.js → p-23ab0cc5.entry.js} +1 -1
- package/dist/cobalt/{p-fabe5fb2.entry.js → p-2636b7eb.entry.js} +1 -1
- package/dist/cobalt/{p-88a0659f.entry.js → p-27a7e549.entry.js} +1 -1
- package/dist/cobalt/{p-dca4cd5f.entry.js → p-28764b8e.entry.js} +1 -1
- package/dist/cobalt/{p-18d34b01.entry.js → p-290066ef.entry.js} +1 -1
- package/dist/cobalt/p-2a30c143.entry.js +1 -0
- package/dist/cobalt/p-2f0f3bb1.entry.js +1 -0
- package/dist/cobalt/{p-89e38c5e.entry.js → p-2f9cbbd5.entry.js} +1 -1
- package/dist/cobalt/p-2fba312b.entry.js +1 -0
- package/dist/cobalt/p-354d5089.entry.js +1 -0
- package/dist/cobalt/{p-60cb66f5.entry.js → p-37f5036b.entry.js} +1 -1
- package/dist/cobalt/{p-ac91259e.entry.js → p-383a998e.entry.js} +1 -1
- package/dist/cobalt/{p-ef5e1167.entry.js → p-3c4f7026.entry.js} +1 -1
- package/dist/cobalt/p-410bee4d.entry.js +1 -0
- package/dist/cobalt/p-416795f5.entry.js +1 -0
- package/dist/cobalt/{p-6795a258.entry.js → p-44c4e4a3.entry.js} +1 -1
- package/dist/cobalt/{p-4b083da4.entry.js → p-44ea675f.entry.js} +1 -1
- package/dist/cobalt/{p-2828ecf6.entry.js → p-4592ca00.entry.js} +1 -1
- package/dist/cobalt/{p-342e1da4.entry.js → p-4d65e713.entry.js} +1 -1
- package/dist/cobalt/p-56551580.entry.js +1 -0
- package/dist/cobalt/p-58137c9e.entry.js +1 -0
- package/dist/cobalt/{p-4f754c9a.entry.js → p-58d9b650.entry.js} +1 -1
- package/dist/cobalt/p-59963937.entry.js +1 -0
- package/dist/cobalt/p-5a3e4c81.entry.js +1 -0
- package/dist/cobalt/p-5adf117c.entry.js +1 -0
- package/dist/cobalt/{p-23b3ff3f.entry.js → p-5ca394b1.entry.js} +1 -1
- package/dist/cobalt/p-5e4973a6.entry.js +1 -0
- package/dist/cobalt/{p-2d329ac8.entry.js → p-623cc195.entry.js} +1 -1
- package/dist/cobalt/{p-8e667eb6.entry.js → p-66b11b38.entry.js} +1 -1
- package/dist/cobalt/{p-7e53e9c8.entry.js → p-6c82a892.entry.js} +1 -1
- package/dist/cobalt/{p-a6357340.entry.js → p-76249983.entry.js} +1 -1
- package/dist/cobalt/{p-568cfe8d.entry.js → p-789c4b3e.entry.js} +1 -1
- package/dist/cobalt/p-7e8e6907.entry.js +1 -0
- package/dist/cobalt/{p-a9b29cc2.entry.js → p-826ee074.entry.js} +1 -1
- package/dist/cobalt/{p-1c68bc41.entry.js → p-8471abe2.entry.js} +1 -1
- package/dist/cobalt/p-8f2199ff.entry.js +1 -0
- package/dist/cobalt/{p-c8dba82f.entry.js → p-91e73a92.entry.js} +1 -1
- package/dist/cobalt/p-9246e09c.entry.js +1 -0
- package/dist/cobalt/{p-c1e7fb32.entry.js → p-93fe45fd.entry.js} +1 -1
- package/dist/cobalt/{p-8f38e24d.entry.js → p-95cfcb34.entry.js} +1 -1
- package/dist/cobalt/{p-36197363.entry.js → p-996f4e38.entry.js} +1 -1
- package/dist/cobalt/{p-c5684c79.entry.js → p-9cf738ed.entry.js} +1 -1
- package/dist/cobalt/p-BRbgGqLw.js +1 -0
- package/dist/cobalt/{p-BL0sCfMH.js → p-Bryf3-Js.js} +1 -1
- package/dist/cobalt/p-DFHRS9cJ.js +1 -0
- package/dist/cobalt/{p-CrtiywTB.js → p-DH5lfRNj.js} +1 -1
- package/dist/{components/p-WeuPA9Rw.js → cobalt/p-DOL2zACE.js} +1 -1
- package/dist/cobalt/p-D_zA1Pv4.js +1 -0
- package/dist/cobalt/p-a2462d7a.entry.js +1 -0
- package/dist/cobalt/p-a325ea0c.entry.js +1 -0
- package/dist/cobalt/{p-fef5db54.entry.js → p-a32b20eb.entry.js} +1 -1
- package/dist/cobalt/p-aa9400bf.entry.js +1 -0
- package/dist/cobalt/{p-8eb485c8.entry.js → p-aaca6dab.entry.js} +1 -1
- package/dist/cobalt/p-b0c4fc71.entry.js +1 -0
- package/dist/cobalt/p-b5bba7fe.entry.js +1 -0
- package/dist/cobalt/{p-fb3a095b.entry.js → p-b821d9de.entry.js} +1 -1
- package/dist/cobalt/{p-b0319a2d.entry.js → p-b90d41e4.entry.js} +1 -1
- package/dist/cobalt/{p-ac466658.entry.js → p-be34e447.entry.js} +1 -1
- package/dist/cobalt/{p-1ddbc48b.entry.js → p-c124e82b.entry.js} +1 -1
- package/dist/cobalt/{p-95efe661.entry.js → p-c2ebf0ec.entry.js} +1 -1
- package/dist/cobalt/{p-54ae807d.entry.js → p-c465d619.entry.js} +1 -1
- package/dist/cobalt/p-c7d7d7f7.entry.js +1 -0
- package/dist/cobalt/{p-ab45d9bd.entry.js → p-c91d4fc6.entry.js} +1 -1
- package/dist/cobalt/{p-e5495539.entry.js → p-d0b2c418.entry.js} +1 -1
- package/dist/cobalt/{p-ce35c898.entry.js → p-d29bb0fa.entry.js} +1 -1
- package/dist/cobalt/{p-33ea4a90.entry.js → p-d3344187.entry.js} +1 -1
- package/dist/cobalt/p-d375014b.entry.js +1 -0
- package/dist/cobalt/p-d9d9e8ae.entry.js +1 -0
- package/dist/cobalt/{p-7c5e846a.entry.js → p-db805569.entry.js} +1 -1
- package/dist/cobalt/p-e371ec7a.entry.js +1 -0
- package/dist/cobalt/p-e3aae282.entry.js +1 -0
- package/dist/cobalt/{p-d15d3a97.entry.js → p-e4264532.entry.js} +1 -1
- package/dist/cobalt/{p-3f0eed59.entry.js → p-e49a564c.entry.js} +1 -1
- package/dist/cobalt/p-e8a2f993.entry.js +1 -0
- package/dist/cobalt/p-eadfd661.entry.js +1 -0
- package/dist/cobalt/p-eb82358d.entry.js +1 -0
- package/dist/cobalt/{p-2114c036.entry.js → p-eb8691f2.entry.js} +1 -1
- package/dist/cobalt/{p-e8878cf9.entry.js → p-ee2023da.entry.js} +1 -1
- package/dist/cobalt/p-ee9a623d.entry.js +1 -0
- package/dist/cobalt/p-ef301976.entry.js +1 -0
- package/dist/cobalt/p-f4e1c3c3.entry.js +1 -0
- package/dist/cobalt/{p-e364b8a5.entry.js → p-f57dffca.entry.js} +1 -1
- package/dist/cobalt/p-f6691108.entry.js +1 -0
- package/dist/cobalt/p-fMqVDypp.js +1 -0
- package/dist/cobalt/p-fb2d1144.entry.js +1 -0
- package/dist/cobalt/{p-0c463d9a.entry.js → p-fd150cc6.entry.js} +1 -1
- package/dist/cobalt/p-gKnOhsd2.js +1 -0
- package/dist/cobalt/p-jYd9gu_c.js +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/co-accordion/co-accordion.css +2 -2
- package/dist/collection/components/co-accordion/co-accordion.js +4 -4
- package/dist/collection/components/co-action-bar/co-action-bar.css +9 -2
- package/dist/collection/components/co-app-shell/co-app-shell.css +107 -41
- package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
- package/dist/collection/components/co-audio-player/co-audio-player.js +138 -12
- 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-badge/co-badge.css +18 -0
- package/dist/collection/components/co-badge/co-badge.js +29 -1
- package/dist/collection/components/co-button/co-button.css +10 -7
- package/dist/collection/components/co-checkbox/co-checkbox.css +12 -3
- package/dist/collection/components/co-checkbox/co-checkbox.js +25 -6
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +1 -3
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-color-picker/co-color-picker.css +252 -5
- package/dist/collection/components/co-color-picker/co-color-picker.js +962 -15
- package/dist/collection/components/co-color-picker/presets.js +113 -15
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.js +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 +63 -2
- package/dist/collection/components/co-data-table/co-data-table.js +59 -4
- package/dist/collection/components/co-data-table/headerTruncationLogic.js +34 -0
- 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.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.js +2 -2
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +128 -32
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +142 -138
- package/dist/collection/components/co-drawer/co-drawer.css +99 -36
- package/dist/collection/components/co-drawer/co-drawer.js +19 -7
- 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-emoji-picker/co-emoji-picker.js +2 -2
- package/dist/collection/components/co-empty-state/co-empty-state.css +28 -0
- package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
- package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
- package/dist/collection/components/co-event-popover/co-event-popover.js +1 -1
- package/dist/collection/components/co-fab/co-fab.js +2 -2
- package/dist/collection/components/co-file-field/co-file-field.css +55 -2
- package/dist/collection/components/co-file-field/co-file-field.js +41 -13
- package/dist/collection/components/co-file-field/co-file-field.utils.js +51 -4
- 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 +40 -2
- package/dist/collection/components/co-icon-button/co-icon-button.js +43 -4
- package/dist/collection/components/co-input/co-input.css +33 -0
- package/dist/collection/components/co-input/co-input.js +42 -7
- package/dist/collection/components/co-json-field/co-json-field.js +3 -3
- package/dist/collection/components/co-lightbox/co-lightbox.css +23 -0
- package/dist/collection/components/co-lightbox/co-lightbox.js +209 -20
- package/dist/collection/components/co-list-footer/co-list-footer.js +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 +9 -0
- package/dist/collection/components/co-menu-item/co-menu-item.js +67 -3
- package/dist/collection/components/co-modal/co-modal.css +112 -37
- package/dist/collection/components/co-modal/co-modal.js +35 -2
- package/dist/collection/components/co-navbar/co-navbar.css +4 -2
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.css +22 -0
- package/dist/collection/components/co-number-field/co-number-field.js +216 -9
- package/dist/collection/components/co-option-list/co-option-list.css +25 -4
- package/dist/collection/components/co-option-list/co-option-list.js +56 -4
- package/dist/collection/components/co-option-list/optionListLogic.js +31 -8
- package/dist/collection/components/co-overlay/co-overlay.js +5 -3
- package/dist/collection/components/co-page-header/co-page-header.js +1 -1
- package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
- package/dist/collection/components/co-popover/co-popover.css +18 -3
- package/dist/collection/components/co-popover/co-popover.js +83 -20
- package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
- package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
- package/dist/collection/components/co-radio/co-radio.js +3 -3
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.css +40 -0
- package/dist/collection/components/co-ref-field/co-ref-field.js +207 -11
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +14 -1
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +9 -6
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +7 -3
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +3 -2
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.js +24 -5
- package/dist/collection/components/co-separator/co-separator.js +1 -1
- package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +2 -2
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
- package/dist/collection/components/co-skeleton/co-skeleton.css +18 -0
- package/dist/collection/components/co-skeleton/co-skeleton.js +83 -1
- package/dist/collection/components/co-slider/co-slider.js +2 -2
- package/dist/collection/components/co-switch/co-switch.css +3 -3
- package/dist/collection/components/co-switch/co-switch.js +3 -3
- package/dist/collection/components/co-tab/co-tab.js +2 -2
- package/dist/collection/components/co-tab-group/co-tab-group.js +2 -2
- package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
- package/dist/collection/components/co-textarea/co-textarea.js +4 -4
- package/dist/collection/components/co-time-field/co-time-field.css +111 -0
- package/dist/collection/components/co-time-field/co-time-field.js +536 -0
- package/dist/collection/components/co-toast/co-toast.css +13 -7
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +20 -14
- 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.css +14 -4
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.css +12 -1
- package/dist/collection/components/co-tooltip/co-tooltip.js +49 -16
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-video/co-video.js +34 -9
- package/dist/collection/utils/amountText.js +95 -0
- package/dist/collection/utils/color.js +109 -3
- package/dist/collection/utils/colorPickerI18n.js +55 -0
- package/dist/collection/utils/dateI18n.js +36 -0
- package/dist/collection/utils/fileI18n.js +3 -0
- package/dist/collection/utils/positioning.js +37 -4
- package/dist/collection/utils/submenu.js +35 -0
- package/dist/components/co-accordion.js +1 -1
- package/dist/components/co-action-bar.js +1 -1
- package/dist/components/co-app-shell.js +1 -1
- package/dist/components/co-audio-player.js +1 -1
- 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-breadcrumb-item.js +1 -1
- package/dist/components/co-breadcrumb.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.js +1 -1
- package/dist/components/co-calendar.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.js +1 -1
- 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-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-event-popover.js +1 -1
- 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-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-rich-text-viewer.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-time-field.d.ts +11 -0
- package/dist/components/co-time-field.js +1 -0
- 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-7TncUlLN.js +1 -0
- package/dist/components/p-B4NCaKrR.js +1 -0
- package/dist/components/p-B9xitpGU.js +1 -0
- package/dist/components/{p-Dabi98BI.js → p-BGDqldEg.js} +1 -1
- package/dist/components/p-BRbgGqLw.js +1 -0
- package/dist/components/{p-BL0sCfMH.js → p-Bryf3-Js.js} +1 -1
- package/dist/components/{p-D6OUW6oW.js → p-CBTGN490.js} +1 -1
- package/dist/components/{p-P8wvwhM2.js → p-CFFDmGPS.js} +1 -1
- package/dist/components/p-CLsAo0-A.js +1 -0
- package/dist/components/{p-CA_JAK9s.js → p-CT2enQ6h.js} +1 -1
- package/dist/components/p-D2ldYZo1.js +1 -0
- package/dist/components/{p-CuZXTvDM.js → p-D3mVYO-G.js} +1 -1
- package/dist/components/p-DDV_bRcU.js +1 -0
- package/dist/components/p-DFHRS9cJ.js +1 -0
- package/dist/components/{p-Dj1EZ5qD.js → p-DNJAIVfI.js} +1 -1
- package/dist/{cobalt/p-WeuPA9Rw.js → components/p-DOL2zACE.js} +1 -1
- package/dist/components/p-DRP8D9ro.js +1 -0
- package/dist/components/p-DSnJWzQw.js +1 -0
- package/dist/components/p-DTi2O4O8.js +1 -0
- package/dist/components/p-De7w9k6_.js +1 -0
- package/dist/components/{p-D5EdMieb.js → p-DoHLTC0n.js} +1 -1
- package/dist/components/{p-Bxk96Zgc.js → p-Du_CgT5E.js} +1 -1
- package/dist/components/p-DxtNejr2.js +1 -0
- package/dist/components/{p-BHYtxTzM.js → p-HxVRXXXC.js} +1 -1
- package/dist/components/{p-B0Dc-I_C.js → p-NNxjElcX.js} +1 -1
- package/dist/components/p-gKnOhsd2.js +1 -0
- package/dist/components/p-jYd9gu_c.js +1 -0
- package/dist/components/{p-D4qzGifz.js → p-vby0ITbe.js} +1 -1
- package/dist/components/p-wjt4IAGZ.js +1 -0
- package/dist/components/p-zuhal3IZ.js +1 -0
- package/dist/esm/co-accordion.entry.js +5 -5
- package/dist/esm/co-action-bar.entry.js +2 -2
- package/dist/esm/co-app-shell.entry.js +4 -4
- package/dist/esm/co-audio-player.entry.js +83 -13
- 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 +70 -0
- package/dist/esm/co-badge.entry.js +11 -3
- 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 +2 -2
- package/dist/esm/co-calendar-month_2.entry.js +37 -2
- package/dist/esm/co-calendar_3.entry.js +27 -15
- 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 +6 -6
- package/dist/esm/co-chip_2.entry.js +68 -13
- package/dist/esm/co-color-picker.entry.js +1078 -27
- package/dist/esm/co-column-picker.entry.js +3 -3
- package/dist/esm/co-combobox.entry.js +2 -2
- package/dist/esm/co-command-search.entry.js +1 -1
- package/dist/esm/co-data-table-pagination.entry.js +5 -5
- package/dist/esm/co-data-table.entry.js +83 -5
- package/dist/esm/co-date-picker.entry.js +3 -3
- package/dist/esm/co-date-range-picker.entry.js +3 -3
- package/dist/esm/co-date-range.entry.js +2 -2
- package/dist/esm/co-date-time-picker.entry.js +101 -130
- package/dist/esm/co-drive-card.entry.js +2 -2
- package/dist/esm/co-drop-zone.entry.js +2 -2
- package/dist/esm/co-emoji-picker.entry.js +4 -4
- package/dist/esm/co-empty-state.entry.js +4 -4
- package/dist/esm/co-event-calendar.entry.js +4 -4
- package/dist/esm/co-event-popover.entry.js +3 -3
- package/dist/esm/co-fab.entry.js +3 -3
- package/dist/esm/co-file-field.entry.js +95 -99
- 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 +6 -6
- package/dist/esm/co-icon.entry.js +3 -3
- package/dist/esm/co-input.entry.js +32 -6
- package/dist/esm/co-json-field.entry.js +5 -5
- package/dist/esm/co-lightbox.entry.js +204 -21
- package/dist/esm/co-list-footer.entry.js +2 -2
- package/dist/esm/co-list-item.entry.js +5 -5
- 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 +85 -4
- package/dist/esm/co-menu.entry.js +2 -2
- package/dist/esm/co-modal.entry.js +10 -4
- package/dist/esm/co-navbar.entry.js +4 -4
- package/dist/esm/co-number-field.entry.js +272 -9
- package/dist/esm/co-overlay.entry.js +6 -4
- package/dist/esm/co-page-header.entry.js +2 -2
- package/dist/esm/co-phone-field.entry.js +3 -3
- package/dist/esm/co-popover.entry.js +58 -21
- package/dist/esm/co-progress-bar.entry.js +3 -3
- package/dist/esm/co-progress-circle.entry.js +3 -3
- package/dist/esm/co-provider-logo_2.entry.js +47 -3
- package/dist/esm/co-radio-group.entry.js +1 -1
- package/dist/esm/co-radio.entry.js +4 -4
- package/dist/esm/co-rating.entry.js +4 -4
- package/dist/esm/co-ref-field.entry.js +104 -13
- package/dist/esm/co-rich-text-editor.entry.js +11 -8
- package/dist/esm/co-rich-text-toolbar.entry.js +7 -3
- package/dist/esm/co-rich-text-viewer.entry.js +4 -3
- 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 +6 -6
- package/dist/esm/co-separator.entry.js +2 -2
- package/dist/esm/co-sidebar-nav.entry.js +2 -2
- package/dist/esm/co-sidebar.entry.js +3 -3
- package/dist/esm/co-slider.entry.js +3 -3
- package/dist/esm/co-switch.entry.js +6 -6
- package/dist/esm/co-tab-group.entry.js +3 -3
- package/dist/esm/co-tab.entry.js +3 -3
- package/dist/esm/co-tags-field.entry.js +8 -8
- package/dist/esm/co-textarea.entry.js +6 -6
- package/dist/esm/co-time-field.entry.js +323 -0
- package/dist/esm/co-toast.entry.js +2 -2
- package/dist/esm/co-toggle-button-group.entry.js +4 -4
- package/dist/esm/co-toggle-button.entry.js +4 -4
- package/dist/esm/{co-avatar_2.entry.js → co-tooltip.entry.js} +49 -84
- package/dist/esm/co-transfer-list.entry.js +1 -1
- package/dist/esm/co-video.entry.js +32 -7
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/color-BRbgGqLw.js +136 -0
- package/dist/esm/{dateI18n-CnNpoKwg.js → dateI18n-jYd9gu_c.js} +36 -0
- package/dist/esm/{fieldChip-DsAfq1e0.js → fieldChip-uyggU8VV.js} +1 -1
- package/dist/esm/fileI18n-gKnOhsd2.js +84 -0
- package/dist/esm/{index-RuXxdKzC.js → index-68iUQp5j.js} +28 -10
- package/dist/esm/{index-CrtiywTB.js → index-DH5lfRNj.js} +35 -27
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{positioning-BMdapAL8.js → positioning-DFHRS9cJ.js} +32 -13
- package/dist/esm/{requiredMark-DCD-ZA51.js → requiredMark-BCJUuZvC.js} +1 -1
- package/dist/esm/{toolbar-config-WeuPA9Rw.js → toolbar-config-DOL2zACE.js} +10 -0
- package/dist/types/components/co-accordion/co-accordion.d.ts +6 -0
- package/dist/types/components/co-audio-player/co-audio-player.d.ts +25 -0
- package/dist/types/components/co-badge/co-badge.d.ts +7 -0
- package/dist/types/components/co-checkbox/co-checkbox.d.ts +5 -1
- package/dist/types/components/co-color-picker/co-color-picker.d.ts +360 -4
- package/dist/types/components/co-color-picker/presets.d.ts +107 -4
- package/dist/types/components/co-data-table/co-data-table.d.ts +15 -0
- package/dist/types/components/co-data-table/headerTruncationLogic.d.ts +24 -0
- package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +43 -21
- package/dist/types/components/co-drawer/co-drawer.d.ts +4 -3
- package/dist/types/components/co-file-field/co-file-field.d.ts +14 -0
- package/dist/types/components/co-file-field/co-file-field.utils.d.ts +18 -1
- package/dist/types/components/co-icon-button/co-icon-button.d.ts +9 -0
- package/dist/types/components/co-input/co-input.d.ts +9 -1
- package/dist/types/components/co-lightbox/co-lightbox.d.ts +60 -4
- package/dist/types/components/co-menu-item/co-menu-item.d.ts +16 -0
- package/dist/types/components/co-modal/co-modal.d.ts +10 -0
- package/dist/types/components/co-number-field/co-number-field.d.ts +42 -1
- package/dist/types/components/co-option-list/co-option-list.d.ts +16 -0
- package/dist/types/components/co-option-list/optionListLogic.d.ts +23 -6
- package/dist/types/components/co-overlay/co-overlay.d.ts +4 -2
- package/dist/types/components/co-popover/co-popover.d.ts +16 -0
- package/dist/types/components/co-ref-field/co-ref-field.d.ts +38 -0
- package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +1 -1
- package/dist/types/components/co-select/co-select.d.ts +6 -0
- package/dist/types/components/co-skeleton/co-skeleton.d.ts +13 -0
- package/dist/types/components/co-time-field/co-time-field.d.ts +60 -0
- package/dist/types/components/co-tooltip/co-tooltip.d.ts +5 -0
- package/dist/types/components/co-video/co-video.d.ts +4 -0
- package/dist/types/components.d.ts +530 -90
- package/dist/types/utils/amountText.d.ts +34 -0
- package/dist/types/utils/color.d.ts +44 -1
- package/dist/types/utils/colorPickerI18n.d.ts +26 -0
- package/dist/types/utils/dateI18n.d.ts +12 -0
- package/dist/types/utils/fileI18n.d.ts +1 -0
- package/dist/types/utils/positioning.d.ts +10 -0
- package/dist/types/utils/submenu.d.ts +44 -0
- package/package.json +3 -3
- package/dist/cjs/color-YhUkm10t.js +0 -32
- package/dist/cjs/time-LBHtzLHe.js +0 -42
- package/dist/cobalt/p-07904986.entry.js +0 -1
- package/dist/cobalt/p-09799193.entry.js +0 -1
- package/dist/cobalt/p-17ae943c.entry.js +0 -1
- package/dist/cobalt/p-23a103a0.entry.js +0 -1
- package/dist/cobalt/p-2f88d151.entry.js +0 -1
- package/dist/cobalt/p-3495fda1.entry.js +0 -1
- package/dist/cobalt/p-409f28bb.entry.js +0 -1
- package/dist/cobalt/p-682b3313.entry.js +0 -1
- package/dist/cobalt/p-6bf814f9.entry.js +0 -1
- package/dist/cobalt/p-7532c739.entry.js +0 -1
- package/dist/cobalt/p-76420ac1.entry.js +0 -1
- package/dist/cobalt/p-7c88163e.entry.js +0 -1
- package/dist/cobalt/p-7cf4b4ae.entry.js +0 -1
- package/dist/cobalt/p-7ea87b75.entry.js +0 -1
- package/dist/cobalt/p-8183f56f.entry.js +0 -1
- package/dist/cobalt/p-8345b25f.entry.js +0 -1
- package/dist/cobalt/p-93c68029.entry.js +0 -1
- package/dist/cobalt/p-983af614.entry.js +0 -1
- package/dist/cobalt/p-BG4WRR22.js +0 -1
- package/dist/cobalt/p-BMdapAL8.js +0 -1
- package/dist/cobalt/p-CF8OB_TM.js +0 -1
- package/dist/cobalt/p-CnNpoKwg.js +0 -1
- package/dist/cobalt/p-T4la7ly_.js +0 -1
- package/dist/cobalt/p-a2d31248.entry.js +0 -1
- package/dist/cobalt/p-a6b5cadd.entry.js +0 -1
- package/dist/cobalt/p-a8c64cc3.entry.js +0 -1
- package/dist/cobalt/p-b8581787.entry.js +0 -1
- package/dist/cobalt/p-bcedbd73.entry.js +0 -1
- package/dist/cobalt/p-da18b5f4.entry.js +0 -1
- package/dist/cobalt/p-dea43204.entry.js +0 -1
- package/dist/cobalt/p-dfcf667d.entry.js +0 -1
- package/dist/cobalt/p-dfd25f1d.entry.js +0 -1
- package/dist/cobalt/p-e6882ddd.entry.js +0 -1
- package/dist/cobalt/p-e84eda2e.entry.js +0 -1
- package/dist/cobalt/p-f25967fb.entry.js +0 -1
- package/dist/cobalt/p-f5f1b463.entry.js +0 -1
- package/dist/cobalt/p-fd39f410.entry.js +0 -1
- package/dist/cobalt/p-mAGnZXRn.js +0 -1
- package/dist/components/p-BMdapAL8.js +0 -1
- package/dist/components/p-BTQEg3UO.js +0 -1
- package/dist/components/p-Bbny3WUc.js +0 -1
- package/dist/components/p-Bz0QZqnB.js +0 -1
- package/dist/components/p-CF8OB_TM.js +0 -1
- package/dist/components/p-CR0izsJC.js +0 -1
- package/dist/components/p-CnNpoKwg.js +0 -1
- package/dist/components/p-DI1ek0EB.js +0 -1
- package/dist/components/p-DP0bbhfN.js +0 -1
- package/dist/components/p-D_9BRkj6.js +0 -1
- package/dist/components/p-DbipMAyT.js +0 -1
- package/dist/components/p-DgUBcJIS.js +0 -1
- package/dist/components/p-DolCkNsL.js +0 -1
- package/dist/components/p-hfGFsvaD.js +0 -1
- package/dist/esm/color-BG4WRR22.js +0 -30
- package/dist/esm/time-CF8OB_TM.js +0 -37
|
@@ -681,7 +681,15 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
681
681
|
* Figma original, 2026-07-29: a 12px el texto quedaba ilegible en paneles
|
|
682
682
|
* densos como el picker de campos del filtro avanzado).
|
|
683
683
|
* Todos los var() llevan fallback literal: el host puede tener un build de
|
|
684
|
-
* tokens viejo sin los tokens nuevos (font-size-12, spacing-sm2, mono…).
|
|
684
|
+
* tokens viejo sin los tokens nuevos (font-size-12, spacing-sm2, mono…).
|
|
685
|
+
* Overridables por host (además de `--co-option-list-max-height`, documentada
|
|
686
|
+
* junto a `.co-option-list__options`): `--co-option-list-item-min-height`
|
|
687
|
+
* (default 32px, fila más alta — p.ej. filas de dos líneas con precio),
|
|
688
|
+
* `--co-option-list-item-padding-y` (default `--co-spacing-xs`, padding
|
|
689
|
+
* vertical de la fila) y `--co-option-list-text-gap` (default
|
|
690
|
+
* `--co-spacing-xxs`, gap entre título y descripción). Ninguna afecta el
|
|
691
|
+
* pitch fijo 34 de `.co-option-list__spacer .co-option-list__option`
|
|
692
|
+
* (virtualización — ver comentario en esa regla). */
|
|
685
693
|
.co-option-list {
|
|
686
694
|
display: flex;
|
|
687
695
|
flex-direction: column;
|
|
@@ -775,9 +783,9 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
775
783
|
align-items: center;
|
|
776
784
|
gap: var(--co-spacing-sm2, 8px);
|
|
777
785
|
min-width: 0;
|
|
778
|
-
min-height: 32px;
|
|
786
|
+
min-height: var(--co-option-list-item-min-height, 32px);
|
|
779
787
|
box-sizing: border-box;
|
|
780
|
-
padding: var(--co-spacing-xs, 4px) var(--co-spacing-sm2, 8px) var(--co-spacing-xs, 4px) var(--co-spacing-xs, 4px);
|
|
788
|
+
padding: var(--co-option-list-item-padding-y, var(--co-spacing-xs, 4px)) var(--co-spacing-sm2, 8px) var(--co-option-list-item-padding-y, var(--co-spacing-xs, 4px)) var(--co-spacing-xs, 4px);
|
|
781
789
|
border-radius: var(--co-border-radius-xs, 8px);
|
|
782
790
|
cursor: pointer;
|
|
783
791
|
font-size: var(--co-font-size-14, 14px);
|
|
@@ -831,7 +839,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
831
839
|
.co-option-list__text {
|
|
832
840
|
display: flex;
|
|
833
841
|
flex-direction: column;
|
|
834
|
-
gap: var(--co-spacing-xxs, 2px);
|
|
842
|
+
gap: var(--co-option-list-text-gap, var(--co-spacing-xxs, 2px));
|
|
835
843
|
flex: 1;
|
|
836
844
|
min-width: 0;
|
|
837
845
|
}
|
|
@@ -859,6 +867,19 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
859
867
|
flex-shrink: 1;
|
|
860
868
|
}
|
|
861
869
|
|
|
870
|
+
/* suffixAlign="end": el suffix sale del título y pinta como columna a la
|
|
871
|
+
* derecha de la fila (precio/meta) — sin el guion inline, alineado y con
|
|
872
|
+
* cifras tabulares para que varias filas apiladas no "bailen". */
|
|
873
|
+
.co-option-list__suffix--end {
|
|
874
|
+
flex-shrink: 0;
|
|
875
|
+
margin-left: auto;
|
|
876
|
+
text-align: right;
|
|
877
|
+
white-space: nowrap;
|
|
878
|
+
font-size: var(--co-font-size-13, 13px);
|
|
879
|
+
color: var(--co-semantic-text-default, #1f1c1b);
|
|
880
|
+
font-variant-numeric: tabular-nums;
|
|
881
|
+
}
|
|
882
|
+
|
|
862
883
|
.co-option-list__badge {
|
|
863
884
|
flex-shrink: 0;
|
|
864
885
|
padding: 0 var(--co-spacing-xs, 4px);
|
|
@@ -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, listReorderIds, liveSelectedOrder, nextActiveIndex, orderItems, parseItems, parseValue, selectedActiveIndex, virtualSlice, VIRTUAL_ITEM_HEIGHT, VIRTUAL_VIEWPORT_ITEMS, } from "./optionListLogic";
|
|
4
|
+
import { buildRows, deriveMore, listReorderIds, liveSelectedOrder, nextActiveIndex, orderItems, parseItems, parseValue, selectedActiveIndex, shouldResnapshotOnTerm, 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,
|
|
@@ -60,6 +60,9 @@ export class CoOptionList {
|
|
|
60
60
|
/** Término externo para highlight (input en el host, p.ej. ⌘K). */
|
|
61
61
|
this.highlightTerm = '';
|
|
62
62
|
this.avatarShape = 'circle';
|
|
63
|
+
/** `end` pinta el suffix como columna a la derecha de la fila (precio/meta),
|
|
64
|
+
* sin el guion; `inline` = junto al label (default). */
|
|
65
|
+
this.suffixAlign = 'inline';
|
|
63
66
|
// ── Navegación ─────────────────────────────────────────────
|
|
64
67
|
/** Auto-resalta la primera fila navegable al montar y en cada cambio de
|
|
65
68
|
* items (paridad command-palette: tipear + Enter = primer resultado).
|
|
@@ -103,10 +106,15 @@ export class CoOptionList {
|
|
|
103
106
|
};
|
|
104
107
|
this.onSearchInput = (e) => {
|
|
105
108
|
const v = e.target.value;
|
|
109
|
+
// Al volver a la lista completa el bloque selected-first se rearma con lo que
|
|
110
|
+
// se seleccionó durante la sesión del panel (ver shouldResnapshotOnTerm).
|
|
111
|
+
const resnapshot = shouldResnapshotOnTerm(this.term, v);
|
|
106
112
|
this.term = v;
|
|
107
113
|
this.activeIndex = -1;
|
|
108
114
|
// Resultset nuevo: re-habilita fillViewport aunque venga del mismo largo.
|
|
109
115
|
this.lastFillLen = -1;
|
|
116
|
+
if (resnapshot)
|
|
117
|
+
this.takeSnapshot();
|
|
110
118
|
if (this.debounceTimer)
|
|
111
119
|
clearTimeout(this.debounceTimer);
|
|
112
120
|
this.debounceTimer = setTimeout(() => this.coSearch.emit(v), this.searchDebounce);
|
|
@@ -277,6 +285,27 @@ export class CoOptionList {
|
|
|
277
285
|
this.scrollTop = maxScrollTop;
|
|
278
286
|
}
|
|
279
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Selected-first VIVO (decisión de producto 2026-09-14, campo Colaboradores):
|
|
290
|
+
* la partición sigue a `value` — marcar un ítem lo sube al bloque de
|
|
291
|
+
* seleccionados al instante y desmarcarlo lo devuelve a su lugar del orden del
|
|
292
|
+
* server. Reemplaza el snapshot congelado al abrir (evitaba saltos, pero se
|
|
293
|
+
* leía como "no pasó nada" al elegir). El reacomodo se anima con el mismo FLIP
|
|
294
|
+
* del reorder: tops capturados ANTES de re-particionar, runFlip corre en
|
|
295
|
+
* componentDidRender. El highlight de teclado se queda sobre el MISMO ítem
|
|
296
|
+
* (Enter sobre una fila la mueve; el índice viejo apuntaría a otra fila).
|
|
297
|
+
* Tras un drop del reorder el host manda el value en el orden del preview:
|
|
298
|
+
* mismo orden → deltas 0 → no-op visual.
|
|
299
|
+
*/
|
|
300
|
+
onValueChange() {
|
|
301
|
+
var _a;
|
|
302
|
+
if (!this.selectedFirst)
|
|
303
|
+
return;
|
|
304
|
+
const activeId = this.activeIndex >= 0 ? (_a = this.orderedItems[this.activeIndex]) === null || _a === void 0 ? void 0 : _a._id : undefined;
|
|
305
|
+
this.pendingFlip = { tops: this.captureRowTops(), movedId: '', spring: false };
|
|
306
|
+
this.takeSnapshot();
|
|
307
|
+
this.activeIndex = activeId ? this.orderedItems.findIndex((i) => i._id === activeId) : -1;
|
|
308
|
+
}
|
|
280
309
|
// ── Métodos públicos ───────────────────────────────────────
|
|
281
310
|
/** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
|
|
282
311
|
async snapshotOrder() {
|
|
@@ -699,7 +728,7 @@ export class CoOptionList {
|
|
|
699
728
|
'co-option-list__option--lifted': !this.listDragActive && this.dragKey === item._id,
|
|
700
729
|
'co-option-list__option--drop-before': this.listDragActive && this.overKey === item._id && !this.dropAfter,
|
|
701
730
|
'co-option-list__option--drop-after': this.listDragActive && this.overKey === item._id && this.dropAfter,
|
|
702
|
-
}, 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 && 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)), 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 === 'check' && (h("co-icon", { name: "check", size: 16, class: "co-option-list__check" }))));
|
|
731
|
+
}, 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 === 'check' && (h("co-icon", { name: "check", size: 16, class: "co-option-list__check" }))));
|
|
703
732
|
}
|
|
704
733
|
renderVirtual(items, selectedIds) {
|
|
705
734
|
const { totalHeight, startIdx, endIdx, offsetY } = virtualSlice(this.scrollTop, items.length);
|
|
@@ -710,11 +739,11 @@ export class CoOptionList {
|
|
|
710
739
|
const selectedIds = this.selectedIds;
|
|
711
740
|
const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
|
|
712
741
|
const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
|
|
713
|
-
return (h("div", { key: '
|
|
742
|
+
return (h("div", { key: '3d1df259b90836a6a125627e850ff2d2e1556d4c', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: '181a0c89ff38821301c0728f4eb5edb9c4e11b2d', class: "co-option-list__search", part: "search" }, h("co-icon", { key: 'cac54346c457d884fbbc1257b00dbe932e5419ca', name: "magnifying-glass", size: 16 }), h("input", { key: 'bbc27b7821651189718cf763e689dd08e6fa0050', 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: '993c2308c9d6e1958f8f3ddc73b08e9ebc0bd409', 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: '458e04427d5dd6a4e74537483b18d8e4ba9c71a5', class: "co-option-list__inner" }, showClear && (h("button", { key: '03d067e6a79dfb51f39aa52ad8b7b6464aa2f37d', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '394b7c318f942d74cb7d68859aa54fce5ed2dc58', name: "x-circle", size: 14 }), h("span", { key: '3dd47de0ed422bb5dd3a3c63ac7dc3936578fdaa' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '02dae3b4322ce67325617870c090fd3f3946f8c1', class: "co-option-list__loading" }, h("co-loader", { key: 'aaa67b4cf0f37be7364cbd00f2b156bed4018c13', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: 'caa5a5b33817577084b9e82a40f97632972e5068', class: "co-option-list__empty" }, h("co-icon", { key: '0cd622efe4ea8bc4483322b4a81c5e3a254f08ab', name: "magnifying-glass", size: 20 }), h("span", { key: 'ca1fb6cf98eacba682f308f610befe6f9da9edd2' }, this.emptyMessage))), items.length > 0 && this.virtual
|
|
714
743
|
? this.renderVirtual(items, selectedIds)
|
|
715
744
|
: buildRows(items).map((row) => row.kind === 'header'
|
|
716
745
|
? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
|
|
717
|
-
: this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '
|
|
746
|
+
: this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '7e9ce17adba91610cf8c2b4c7c1d544db4879122', class: "co-option-list__loading-more" }, h("co-loader", { key: '974bc5404e175c89f6a1972900f2e3b8e2d95373', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '34261e4bf8349cd4973a642d7137e72f80c2a867', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: 'e350a3a8e731f6d2bb609c84cd0e601e93e6b063', name: "footer" })));
|
|
718
747
|
}
|
|
719
748
|
static get is() { return "co-option-list"; }
|
|
720
749
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1204,6 +1233,26 @@ export class CoOptionList {
|
|
|
1204
1233
|
"attribute": "avatar-shape",
|
|
1205
1234
|
"defaultValue": "'circle'"
|
|
1206
1235
|
},
|
|
1236
|
+
"suffixAlign": {
|
|
1237
|
+
"type": "string",
|
|
1238
|
+
"mutable": false,
|
|
1239
|
+
"complexType": {
|
|
1240
|
+
"original": "'inline' | 'end'",
|
|
1241
|
+
"resolved": "\"end\" | \"inline\"",
|
|
1242
|
+
"references": {}
|
|
1243
|
+
},
|
|
1244
|
+
"required": false,
|
|
1245
|
+
"optional": false,
|
|
1246
|
+
"docs": {
|
|
1247
|
+
"tags": [],
|
|
1248
|
+
"text": "`end` pinta el suffix como columna a la derecha de la fila (precio/meta),\nsin el guion; `inline` = junto al label (default)."
|
|
1249
|
+
},
|
|
1250
|
+
"getter": false,
|
|
1251
|
+
"setter": false,
|
|
1252
|
+
"reflect": true,
|
|
1253
|
+
"attribute": "suffix-align",
|
|
1254
|
+
"defaultValue": "'inline'"
|
|
1255
|
+
},
|
|
1207
1256
|
"autoHighlight": {
|
|
1208
1257
|
"type": "boolean",
|
|
1209
1258
|
"mutable": false,
|
|
@@ -1478,6 +1527,9 @@ export class CoOptionList {
|
|
|
1478
1527
|
return [{
|
|
1479
1528
|
"propName": "items",
|
|
1480
1529
|
"methodName": "onItemsChange"
|
|
1530
|
+
}, {
|
|
1531
|
+
"propName": "value",
|
|
1532
|
+
"methodName": "onValueChange"
|
|
1481
1533
|
}];
|
|
1482
1534
|
}
|
|
1483
1535
|
}
|
|
@@ -28,12 +28,13 @@ export function parseValue(raw) {
|
|
|
28
28
|
* snapshotDisplay los que la página actual no contiene) + resto en orden de
|
|
29
29
|
* server; buscando → solo resultados reales, seleccionados primero.
|
|
30
30
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
31
|
+
* El bloque idle se recorre por `snapshotIds` (Set ordenado por selección, igual
|
|
32
|
+
* que `snapshotDisplay`) resolviendo cada id contra la página primero y contra el
|
|
33
|
+
* display después. Así un seleccionado AUSENTE de `snapshotDisplay` pero presente
|
|
34
|
+
* en `items` sigue en la lista: `rest` filtra todo id del snapshot, así que sin
|
|
35
|
+
* esa resolución desaparecía de la lista entera, no sólo del bloque de arriba.
|
|
36
|
+
* Un id que no está en ninguna de las dos fuentes no tiene nada que pintar y se
|
|
37
|
+
* ignora (no hay label que mostrar).
|
|
37
38
|
*/
|
|
38
39
|
export function orderItems(items, snapshotIds, snapshotDisplay, searching) {
|
|
39
40
|
var _a;
|
|
@@ -42,8 +43,12 @@ export function orderItems(items, snapshotIds, snapshotDisplay, searching) {
|
|
|
42
43
|
const byId = new Map(items.map((i) => [i._id, i]));
|
|
43
44
|
const selectedBlock = [];
|
|
44
45
|
if (!searching) {
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
const displayById = new Map(snapshotDisplay.map((d) => [d._id, d]));
|
|
47
|
+
for (const id of snapshotIds) {
|
|
48
|
+
const resolved = (_a = byId.get(id)) !== null && _a !== void 0 ? _a : displayById.get(id);
|
|
49
|
+
if (resolved)
|
|
50
|
+
selectedBlock.push(resolved);
|
|
51
|
+
}
|
|
47
52
|
}
|
|
48
53
|
else {
|
|
49
54
|
for (const i of items)
|
|
@@ -53,6 +58,24 @@ export function orderItems(items, snapshotIds, snapshotDisplay, searching) {
|
|
|
53
58
|
const rest = items.filter((i) => !snapshotIds.has(i._id));
|
|
54
59
|
return [...selectedBlock, ...rest];
|
|
55
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* ¿Hay que re-tomar el snapshot selected-first por el cambio del término?
|
|
63
|
+
*
|
|
64
|
+
* Sólo en el flanco "había búsqueda → ya no": volver a la lista completa es un
|
|
65
|
+
* contexto de listado nuevo, y ahí el bloque de arriba tiene que incluir lo que
|
|
66
|
+
* se seleccionó DURANTE la sesión del panel. Sin esto, un panel abierto sin nada
|
|
67
|
+
* seleccionado se quedaba con el snapshot VACÍO para siempre (`orderItems`
|
|
68
|
+
* cortocircuita en `size === 0`): lo elegido mientras se buscaba desaparecía de
|
|
69
|
+
* la lista al limpiar el término, porque el servidor devuelve la página 1 y esos
|
|
70
|
+
* registros casi nunca están ahí. Se leía como "se deselecciona solo".
|
|
71
|
+
*
|
|
72
|
+
* El re-snapshot por SELECCIÓN no pasa por acá: vive en el componente
|
|
73
|
+
* (`@Watch('value')`, selected-first vivo desde 2026-09-14 — marcar sube la fila
|
|
74
|
+
* al instante). Esta función solo decide el flanco del TÉRMINO.
|
|
75
|
+
*/
|
|
76
|
+
export function shouldResnapshotOnTerm(prevTerm, nextTerm) {
|
|
77
|
+
return !!prevTerm && !nextTerm;
|
|
78
|
+
}
|
|
56
79
|
/** Aplana a filas de render insertando un header cuando `group` cambia
|
|
57
80
|
* (groupItems de co-command-search). `index` cuenta solo items. */
|
|
58
81
|
export function buildRows(items) {
|
|
@@ -106,8 +106,10 @@ export class CoOverlay {
|
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
108
|
* Promote the scrim to the browser top layer so it covers the whole viewport
|
|
109
|
-
* regardless of ancestor `
|
|
110
|
-
*
|
|
109
|
+
* regardless of ancestor containing blocks — `contain: layout` on the
|
|
110
|
+
* app-shell `.main` / `.co-drawer` / `.co-modal__frame` (which replaced the
|
|
111
|
+
* old ancestor `filter`/`mask`), or any `transform` — that would otherwise
|
|
112
|
+
* make `position: fixed` resolve against that ancestor, confining the scrim.
|
|
111
113
|
* The Popover API promotes WITHOUT moving the DOM node, so slots and Stencil
|
|
112
114
|
* reconciliation are untouched. No-ops gracefully where unsupported.
|
|
113
115
|
*/
|
|
@@ -187,7 +189,7 @@ export class CoOverlay {
|
|
|
187
189
|
focusables[nextIndex].focus();
|
|
188
190
|
}
|
|
189
191
|
render() {
|
|
190
|
-
return (h("div", { key: '
|
|
192
|
+
return (h("div", { key: '4fafc87768eca581018ff578875b2362cf5297d2', 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: '2d18410bb6774701806101d38b6d41293b0e7ff9' })));
|
|
191
193
|
}
|
|
192
194
|
static get is() { return "co-overlay"; }
|
|
193
195
|
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: '0f064f7e659103d8f679f23242492a5e9a869a88', class: "co-page-header", part: "page-header" }, h("div", { key: '4ccd5682d2d6872a5fa771b2779a8f7e0ab8b6f7', class: "co-page-header__left" }, this.icon && (h("span", { key: '10bc9aa126f8b9932b1e4247d7c3c3c04d89c425', class: "co-page-header__icon" }, h("co-icon", { key: '42f2cda7ec8ee4e0e4a51069606492647d13f690', name: this.icon, size: 24 }))), h("span", { key: '368633ff1b213286d5f6bdf5716e3acb1cbe2f71', class: "co-page-header__title" }, h("slot", { key: 'c74f2dcde7cfc0c0384f6a10a9f069a9ff94f78d' }, this.heading))), h("div", { key: '6666c103a2e6e826837091658ce1e4e4b1704215', class: "co-page-header__actions" }, h("slot", { key: '7df47ea333491b960bc1faff7fd0b6431aba56e5', name: "actions" }))));
|
|
10
10
|
}
|
|
11
11
|
static get is() { return "co-page-header"; }
|
|
12
12
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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: 'a9c32c0be0ebd40ed647e76522424eb7e5e9aa18', class: `co-phone-field co-phone-field--${this.size} ${statusClass} ${this.disabled ? 'co-phone-field--disabled' : ''}` }, this.label && (h("label", { key: '37178a06aab45e8254fd0a366758e5302f2eaa46', class: "co-phone-field__label" }, this.label, h(RequiredMark, { key: '03a342ae39b5f17ba154b5c41f38c68ed3b017ba', required: this.required }))), h("div", { key: '1ec715b8334d174369e2cf84c1599d98f99e0a46', class: "co-phone-field__container" }, h("button", { key: '4570d47ae1b5f29777ef83934f29238f41f39c72', 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: 'eeea700daa0921575451e84229f756a8b07ba2bc', class: "co-phone-field__dial-code" }, entry ? entry.dialCode : ''), h("span", { key: '8a255cbcdd177d2c3df85e70cd533977401b4331', class: "co-phone-field__chevron" }, h("co-icon", { key: 'b7b7f8ae9ff2faa4aced5387cbdcafbdca3ab850', name: "caret-down", size: 14 }))), h("input", { key: '5c22124cf3b89be951b241dc5414ecfaa914f311', 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: '58a86dd712fff37ae8a15aa814ecffe68872c546', class: "co-phone-field__dropdown", role: "listbox" }, h("div", { key: '7641be732c29f0cb601b05a185ea10219fc45bae', class: "co-phone-field__search" }, h("input", { key: 'd77b2e9acb00dcf28babbc203b65692fb5b9c8e7', class: "co-phone-field__search-input", type: "text", placeholder: "Search country...", value: this.searchQuery, onInput: (e) => this.handleSearchInput(e), autoFocus: true })), h("div", { key: 'a80b7fbe6ac444f44ea802d8820b0dabff943885', 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: 'c24516916b7d78d89eb18d03c8b70363567db9cf', class: "co-phone-field__helper" }, this.statusIcon && (h("co-icon", { key: 'e76e608653f1b45c7904bbfe0325a2813fe6aff1', name: this.statusIcon, size: 14, weight: "fill", class: "co-phone-field__helper-icon" })), h("span", { key: 'b7f14cc4ad48df862eee0ba4b45e19fe29e26baa', 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"; }
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
exactamente igual de invisible que antes — sin estado nuevo que limpiar. */
|
|
44
44
|
visibility: hidden;
|
|
45
45
|
opacity: 0;
|
|
46
|
-
transform: scale(0.
|
|
46
|
+
transform: scale(0.97);
|
|
47
47
|
background: var(--co-semantic-surface-page, #fff);
|
|
48
48
|
border: 1px solid var(--co-semantic-border-subtle);
|
|
49
49
|
border-radius: var(--co-border-radius-sm, 12px);
|
|
@@ -51,8 +51,9 @@
|
|
|
51
51
|
overflow: visible;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
/* La
|
|
55
|
-
|
|
54
|
+
/* Transición de entrada. La de salida vive en --closing, declarada DESPUÉS
|
|
55
|
+
(misma especificidad, gana por orden de cascada) — el nodo sigue montado
|
|
56
|
+
durante el cierre (tsx difiere el unmount hasta transitionend). */
|
|
56
57
|
.co-popover__panel--positioned {
|
|
57
58
|
visibility: visible;
|
|
58
59
|
opacity: 1;
|
|
@@ -62,6 +63,20 @@
|
|
|
62
63
|
transform var(--co-motion-duration-base) var(--co-motion-ease-out);
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
/* Fase de salida: el nodo sigue montado (tsx difiere el unmount hasta transitionend).
|
|
67
|
+
Debe declararse después de --positioned: misma especificidad, gana por orden.
|
|
68
|
+
pointer-events: none — el panel moribundo sigue :popover-open en el top layer
|
|
69
|
+
~150ms; sin esto, un click durante el exit aterriza en el menú fantasma. */
|
|
70
|
+
.co-popover__panel--closing {
|
|
71
|
+
visibility: visible;
|
|
72
|
+
opacity: 0;
|
|
73
|
+
transform: scale(0.99);
|
|
74
|
+
pointer-events: none;
|
|
75
|
+
transition:
|
|
76
|
+
opacity var(--co-motion-duration-fast) var(--co-motion-ease-in),
|
|
77
|
+
transform var(--co-motion-duration-fast) var(--co-motion-ease-in);
|
|
78
|
+
}
|
|
79
|
+
|
|
65
80
|
/* Origen según el lado resuelto (post-flip) por el que abre el panel. */
|
|
66
81
|
.co-popover__panel--bottom {
|
|
67
82
|
transform-origin: top center;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { computePosition,
|
|
2
|
+
import { computePosition, findScrollParents, getOffsetAncestor } from "../../utils/positioning";
|
|
3
3
|
import { pushLayer, removeLayer, isTopLayer } from "../../utils/popover-stack";
|
|
4
4
|
/** Side classes driving the entrance `transform-origin` (see co-popover.css). */
|
|
5
5
|
const SIDE_CLASSES = ['top', 'bottom', 'left', 'right'].map((s) => `co-popover__panel--${s}`);
|
|
@@ -27,6 +27,8 @@ export class CoPopover {
|
|
|
27
27
|
this.closeOnEscape = true;
|
|
28
28
|
/** Flip placement when the panel would overflow the viewport. */
|
|
29
29
|
this.flip = true;
|
|
30
|
+
/** Fase de salida: mantiene el panel montado mientras corre la transición de cierre. */
|
|
31
|
+
this.closing = false;
|
|
30
32
|
this.scrollParents = [];
|
|
31
33
|
// Cached offset ancestor + a flag to distinguish "not computed yet" from
|
|
32
34
|
// "computed and there is none". Avoids re-walking the DOM + calling
|
|
@@ -38,6 +40,20 @@ export class CoPopover {
|
|
|
38
40
|
// had every popover instance (open or not) running capture-phase document
|
|
39
41
|
// click handlers, growing O(N) with popover count in the page.
|
|
40
42
|
this.docListenersBound = false;
|
|
43
|
+
this.finishClose = () => {
|
|
44
|
+
clearTimeout(this.closeFallbackTimer);
|
|
45
|
+
if (this.open)
|
|
46
|
+
return; // reabierto durante el cierre
|
|
47
|
+
this.closing = false;
|
|
48
|
+
this.panelEl = undefined;
|
|
49
|
+
};
|
|
50
|
+
this.handlePanelTransitionEnd = (e) => {
|
|
51
|
+
if (this.open || !this.closing)
|
|
52
|
+
return;
|
|
53
|
+
if (e.target !== this.panelEl || e.propertyName !== 'transform')
|
|
54
|
+
return;
|
|
55
|
+
this.finishClose();
|
|
56
|
+
};
|
|
41
57
|
// ── Click outside (manual, capture phase) ──────────────────
|
|
42
58
|
// Attached/detached in connectedCallback/disconnectedCallback. Using capture
|
|
43
59
|
// phase so we run before any inner-element listeners that might stop
|
|
@@ -77,8 +93,8 @@ export class CoPopover {
|
|
|
77
93
|
return;
|
|
78
94
|
const triggerRect = this.triggerEl.getBoundingClientRect();
|
|
79
95
|
// ⚠️ El panel arrastra el `transform: scale()` de la entrada, y
|
|
80
|
-
// getBoundingClientRect() devuelve la caja TRANSFORMADA: 0.
|
|
81
|
-
// ~0.
|
|
96
|
+
// getBoundingClientRect() devuelve la caja TRANSFORMADA: 0.97× al montar y
|
|
97
|
+
// ~0.972× en la segunda pasada del watcher (~16ms de los `base` 250ms). Medir con
|
|
82
98
|
// ella metía el factor de escala DENTRO de la matemática de posicionamiento,
|
|
83
99
|
// y ~2% del error quedaba en la posición de reposo: las alineaciones que
|
|
84
100
|
// restan el tamaño del panel (`bottom-end` — el default de co-menu —, `top*`,
|
|
@@ -133,6 +149,7 @@ export class CoPopover {
|
|
|
133
149
|
if (!this.panelEl.classList.contains(sideClass)) {
|
|
134
150
|
this.panelEl.classList.remove(...SIDE_CLASSES);
|
|
135
151
|
this.panelEl.classList.add(sideClass);
|
|
152
|
+
this.coPlacement.emit({ placement: actualPlacement });
|
|
136
153
|
}
|
|
137
154
|
this.panelEl.classList.add('co-popover__panel--positioned');
|
|
138
155
|
}
|
|
@@ -166,10 +183,18 @@ export class CoPopover {
|
|
|
166
183
|
removeLayer(this.el);
|
|
167
184
|
this.unbindDocListeners();
|
|
168
185
|
this.cleanupListeners();
|
|
186
|
+
clearTimeout(this.closeFallbackTimer);
|
|
187
|
+
// Desconectado a mitad del exit (p.ej. host removido por un v-if del
|
|
188
|
+
// padre mientras corre la transición de cierre): si se reconecta luego
|
|
189
|
+
// (:key remount, teleport) sin pasar por finishClose, `closing` quedaría
|
|
190
|
+
// stale en true y el panel nacería en fase de salida.
|
|
191
|
+
this.closing = false;
|
|
169
192
|
}
|
|
170
193
|
// ── Watchers ───────────────────────────────────────────────
|
|
171
194
|
onOpenChange(isOpen) {
|
|
172
195
|
if (isOpen) {
|
|
196
|
+
this.closing = false;
|
|
197
|
+
clearTimeout(this.closeFallbackTimer);
|
|
173
198
|
pushLayer(this.el);
|
|
174
199
|
this.coOpen.emit();
|
|
175
200
|
this.bindDocListeners();
|
|
@@ -190,10 +215,16 @@ export class CoPopover {
|
|
|
190
215
|
this.unbindDocListeners();
|
|
191
216
|
this.cachedOffsetAncestor = null;
|
|
192
217
|
this.offsetAncestorComputed = false;
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
//
|
|
196
|
-
|
|
218
|
+
// Panel keeps its ref/position frozen through the exit animation — the
|
|
219
|
+
// ref is dropped only when `finishClose` actually unmounts the node
|
|
220
|
+
// (transitionend, or the fallback timer). `panelEl` is intentionally
|
|
221
|
+
// NOT cleared here.
|
|
222
|
+
this.closing = true;
|
|
223
|
+
// Fallback por si transitionend no dispara (tab oculta, display:none ancestro).
|
|
224
|
+
// ⚠️ Atado al token: debe superar --co-motion-duration-fast (150ms) con margen —
|
|
225
|
+
// si el retune sube `fast` por encima de ~350ms, revisar esta constante.
|
|
226
|
+
clearTimeout(this.closeFallbackTimer);
|
|
227
|
+
this.closeFallbackTimer = setTimeout(() => this.finishClose(), 400);
|
|
197
228
|
}
|
|
198
229
|
}
|
|
199
230
|
bindDocListeners() {
|
|
@@ -242,19 +273,24 @@ export class CoPopover {
|
|
|
242
273
|
}
|
|
243
274
|
}
|
|
244
275
|
// ── Scroll/resize listeners ────────────────────────────────
|
|
245
|
-
// Listen to window resize/scroll
|
|
246
|
-
//
|
|
247
|
-
//
|
|
248
|
-
//
|
|
249
|
-
//
|
|
276
|
+
// Listen to window resize/scroll and to every ancestor that ACTUALLY scrolls
|
|
277
|
+
// (co-drawer/co-modal body, datatable body…).
|
|
278
|
+
//
|
|
279
|
+
// El listener de window NO alcanza por sí solo: los eventos `scroll` no son
|
|
280
|
+
// `composed`, así que el de un scroller que vive dentro de un shadow root
|
|
281
|
+
// —el caso de `.co-drawer__body`— nunca cruza el límite y el capture de
|
|
282
|
+
// window no lo ve. Por eso hay que engancharse al scroller mismo.
|
|
283
|
+
//
|
|
284
|
+
// Se recorre la cadena entera y no solo el ancestro más cercano porque los
|
|
285
|
+
// scrollers se anidan; `findScrollParents` ya filtra por `overflow` real, así
|
|
286
|
+
// que la lista queda en 1-2 elementos y no en los 5-10 que motivaron acotar
|
|
287
|
+
// esto a uno solo en su momento.
|
|
250
288
|
addScrollListeners() {
|
|
251
289
|
window.addEventListener('resize', this.scheduleUpdate, { passive: true });
|
|
252
290
|
window.addEventListener('scroll', this.scheduleUpdate, { passive: true, capture: true });
|
|
253
|
-
this.scrollParents =
|
|
254
|
-
const
|
|
255
|
-
|
|
256
|
-
scrollAncestor.addEventListener('scroll', this.scheduleUpdate, { passive: true });
|
|
257
|
-
this.scrollParents.push(scrollAncestor);
|
|
291
|
+
this.scrollParents = findScrollParents(this.el);
|
|
292
|
+
for (const parent of this.scrollParents) {
|
|
293
|
+
parent.addEventListener('scroll', this.scheduleUpdate, { passive: true });
|
|
258
294
|
}
|
|
259
295
|
}
|
|
260
296
|
cleanupListeners() {
|
|
@@ -271,13 +307,13 @@ export class CoPopover {
|
|
|
271
307
|
}
|
|
272
308
|
// ── Render ─────────────────────────────────────────────────
|
|
273
309
|
render() {
|
|
274
|
-
return (h("div", { key: '
|
|
310
|
+
return (h("div", { key: 'f8460e212fabe8828f1e33f08304d7e680a7cab0', class: "co-popover" }, h("div", { key: 'c9caad8ae7f16c82173e4b30ad5cc053dc73b6da', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: 'afa0443ba85607cf24f517e8c7fe0cee689df024', name: "trigger" })), (this.open || this.closing) && (h("div", { key: 'd2a081f8923f53ac456edd6e5eb7422dc5ab7daa', class: { 'co-popover__panel': true, 'co-popover__panel--closing': this.closing }, popover: "manual", onTransitionEnd: this.handlePanelTransitionEnd, ref: (el) => {
|
|
275
311
|
if (el && el !== this.panelEl) {
|
|
276
312
|
this.panelEl = el;
|
|
277
313
|
this.promotePanel();
|
|
278
314
|
this.scheduleUpdate();
|
|
279
315
|
}
|
|
280
|
-
} }, h("slot", { key: '
|
|
316
|
+
} }, h("slot", { key: '8466f617bd6b8a497e2040d3275b384156de126c' })))));
|
|
281
317
|
}
|
|
282
318
|
static get is() { return "co-popover"; }
|
|
283
319
|
static get encapsulation() { return "shadow"; }
|
|
@@ -322,7 +358,7 @@ export class CoPopover {
|
|
|
322
358
|
"references": {
|
|
323
359
|
"PopoverPlacement": {
|
|
324
360
|
"location": "local",
|
|
325
|
-
"path": "/Users/agox/worktrees/cobalt-
|
|
361
|
+
"path": "/Users/agox/worktrees/cobalt-release/packages/core/src/components/co-popover/co-popover.tsx",
|
|
326
362
|
"id": "src/components/co-popover/co-popover.tsx::PopoverPlacement"
|
|
327
363
|
}
|
|
328
364
|
}
|
|
@@ -441,6 +477,11 @@ export class CoPopover {
|
|
|
441
477
|
}
|
|
442
478
|
};
|
|
443
479
|
}
|
|
480
|
+
static get states() {
|
|
481
|
+
return {
|
|
482
|
+
"closing": {}
|
|
483
|
+
};
|
|
484
|
+
}
|
|
444
485
|
static get events() {
|
|
445
486
|
return [{
|
|
446
487
|
"method": "coOpen",
|
|
@@ -472,6 +513,28 @@ export class CoPopover {
|
|
|
472
513
|
"resolved": "void",
|
|
473
514
|
"references": {}
|
|
474
515
|
}
|
|
516
|
+
}, {
|
|
517
|
+
"method": "coPlacement",
|
|
518
|
+
"name": "coPlacement",
|
|
519
|
+
"bubbles": false,
|
|
520
|
+
"cancelable": true,
|
|
521
|
+
"composed": true,
|
|
522
|
+
"docs": {
|
|
523
|
+
"tags": [],
|
|
524
|
+
"text": "El placement REAL con el que qued\u00F3 el panel, ya pasado por el flip \u2014 que\npuede no ser el de la prop `placement`. Lo consume `co-menu-item` para que\nuna cadena de submen\u00FAs herede la direcci\u00F3n (ver utils/submenu.ts): sin\nesto, un submen\u00FA anidado vuelve a abrir hacia la derecha y se dibuja\nencima del men\u00FA padre del que sali\u00F3.\n\nSe emite SOLO cuando el lado cambia (mismo guard que la clase del panel),\nas\u00ED el path de scroll/resize no dispara un evento por tick."
|
|
525
|
+
},
|
|
526
|
+
"complexType": {
|
|
527
|
+
"original": "{ placement: Placement }",
|
|
528
|
+
"resolved": "{ placement: Placement; }",
|
|
529
|
+
"references": {
|
|
530
|
+
"Placement": {
|
|
531
|
+
"location": "import",
|
|
532
|
+
"path": "../../utils/positioning",
|
|
533
|
+
"id": "src/utils/positioning.ts::Placement",
|
|
534
|
+
"referenceLocation": "Placement"
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
475
538
|
}];
|
|
476
539
|
}
|
|
477
540
|
static get methods() {
|
|
@@ -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: 'bcf5e566cfa6726eac8578288797d1004e4003fb', 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: '932537ab1521b2d7fcd0e1bb57c027a276dacaf3', 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: 'bc100ca3ef731aab3168a247098102b8e9ab9537', 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: '48862f1f57c0bb8cd6e03c2f0a84a1ae324d3ec1', class: "co-progress-circle__track" }), this.showLabel && (h("span", { key: '0ff2c6995740504e1df9b11dfa10e0a9f9d368c5', class: "co-progress-circle__label" }, clamped, "%"))));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "co-progress-circle"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -17,15 +17,15 @@ export class CoRadio {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
|
-
return (h("div", { key: '
|
|
20
|
+
return (h("div", { key: '59335ec237efb379852efc4fabcb7cbb37632a1e', class: {
|
|
21
21
|
'co-radio-row': true,
|
|
22
22
|
'co-radio-row--disabled': this.disabled,
|
|
23
|
-
}, onClick: this.handleClick }, h("button", { key: '
|
|
23
|
+
}, onClick: this.handleClick }, h("button", { key: 'dc726deac041e9df4cb34f60a473350426ed2cbc', role: "radio", "aria-checked": String(this.checked), "aria-label": this.label || '', class: {
|
|
24
24
|
'co-radio': true,
|
|
25
25
|
[`co-radio--${this.size}`]: true,
|
|
26
26
|
'co-radio--checked': this.checked,
|
|
27
27
|
'co-radio--disabled': this.disabled,
|
|
28
|
-
}, disabled: this.disabled, part: "circle" }), this.label && (h("span", { key: '
|
|
28
|
+
}, disabled: this.disabled, part: "circle" }), this.label && (h("span", { key: 'bf2602521d20f806283884ba3ebbab4ff4ef0c70', class: "co-radio__label", part: "label" }, this.label))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "co-radio"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|