@prolibu-suite/cobalt-core 0.10.4 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +4362 -388
- package/dist/cjs/co-accordion.cjs.entry.js +3 -3
- package/dist/cjs/co-action-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-app-shell.cjs.entry.js +3 -3
- package/dist/cjs/co-audio-player.cjs.entry.js +4 -4
- 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 +7 -4
- package/dist/cjs/co-badge.cjs.entry.js +2 -2
- package/dist/cjs/co-bottom-sheet.cjs.entry.js +5 -5
- package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/co-button-group.cjs.entry.js +3 -3
- package/dist/cjs/co-button.cjs.entry.js +9 -7
- package/dist/cjs/co-calendar-month_2.cjs.entry.js +4 -4
- package/dist/cjs/co-calendar_3.cjs.entry.js +72 -27
- package/dist/cjs/co-card.cjs.entry.js +3 -3
- package/dist/cjs/co-carousel-item.cjs.entry.js +2 -2
- package/dist/cjs/co-carousel.cjs.entry.js +3 -3
- package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/co-checkbox.cjs.entry.js +13 -5
- package/dist/cjs/co-chip_2.cjs.entry.js +9 -6
- package/dist/cjs/co-color-area.cjs.entry.js +169 -0
- package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/co-color-slider.cjs.entry.js +189 -0
- package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-combobox.cjs.entry.js +5 -5
- package/dist/cjs/co-command-search.cjs.entry.js +5 -5
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
- package/dist/cjs/co-data-table.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/co-date-time-picker.cjs.entry.js +4 -4
- package/dist/cjs/co-document-editor.cjs.entry.js +1161 -0
- 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 +3 -3
- package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
- 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 +8 -8
- package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
- package/dist/cjs/co-gradient-bar.cjs.entry.js +220 -0
- package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/co-icon-button.cjs.entry.js +49 -9
- package/dist/cjs/co-icon.cjs.entry.js +3 -3
- package/dist/cjs/co-input.cjs.entry.js +14 -8
- package/dist/cjs/co-json-field.cjs.entry.js +5 -5
- package/dist/cjs/{co-tooltip.cjs.entry.js → co-kbd_2.cjs.entry.js} +194 -6
- package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
- 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 +3 -3
- package/dist/cjs/co-menu-item.cjs.entry.js +41 -43
- package/dist/cjs/co-menu.cjs.entry.js +81 -5
- package/dist/cjs/co-modal.cjs.entry.js +350 -7
- package/dist/cjs/co-navbar.cjs.entry.js +3 -3
- package/dist/cjs/co-number-field.cjs.entry.js +5 -5
- package/dist/cjs/co-overlay.cjs.entry.js +8 -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 +67 -6
- 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 +2 -2
- package/dist/cjs/co-radio-group.cjs.entry.js +4 -4
- 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 +5 -5
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +26 -92
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +79 -20
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +9 -2
- package/dist/cjs/co-row.cjs.entry.js +3 -3
- package/dist/cjs/co-segmented-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-select.cjs.entry.js +158 -29
- package/dist/cjs/co-separator.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +20 -5
- package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
- package/dist/cjs/co-slider.cjs.entry.js +203 -23
- package/dist/cjs/co-swatch-grid.cjs.entry.js +121 -0
- package/dist/cjs/co-switch.cjs.entry.js +5 -5
- package/dist/cjs/co-tab-group.cjs.entry.js +113 -4
- package/dist/cjs/co-tab.cjs.entry.js +15 -5
- 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-tile.cjs.entry.js +61 -0
- package/dist/cjs/co-time-field.cjs.entry.js +2 -2
- package/dist/cjs/co-toast.cjs.entry.js +3 -3
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +26 -5
- package/dist/cjs/co-toggle-button.cjs.entry.js +67 -6
- package/dist/cjs/co-transfer-list.cjs.entry.js +3 -3
- package/dist/cjs/co-tree-item.cjs.entry.js +110 -0
- package/dist/cjs/co-video.cjs.entry.js +3 -3
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/{color-CML2Cfdh.js → color-DQVrQGi0.js} +10 -5
- package/dist/cjs/{fieldChip-B6YIGU1V.js → fieldChip-C7MxxBVO.js} +1 -1
- package/dist/cjs/gradientStops-CMpH4fB_.js +153 -0
- package/dist/cjs/hsv-DpfSF3M2.js +95 -0
- package/dist/cjs/{index-MDAnKsze.js → index-bHoidDwv.js} +67 -27
- package/dist/cjs/index-oMHzCXm6.js +144 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{index-2kMmd5-a.js → pagination-DV43TRj9.js} +1780 -297
- package/dist/cjs/{positioning-CyatXeT_.js → positioning-CILo5esi.js} +45 -18
- package/dist/cjs/{requiredMark-D-t-IPN0.js → requiredMark-21yHvvZS.js} +1 -1
- package/dist/cjs/rich-text-host-ueFSfW-6.js +119 -0
- package/dist/cjs/{richTextI18n-B28uAhh4.js → richTextI18n-DXGIv5w1.js} +45 -0
- package/dist/cjs/submenu-RlaX6irw.js +65 -0
- package/dist/cjs/{toolbar-config-CYACt9hh.js → toolbar-config-DczL6C4W.js} +32 -0
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-ee149fd2.entry.js → p-05000ef3.entry.js} +1 -1
- package/dist/cobalt/p-06689166.entry.js +1 -0
- package/dist/cobalt/{p-1dc55e43.entry.js → p-0a5cfed0.entry.js} +1 -1
- package/dist/cobalt/p-1289131f.entry.js +1 -0
- package/dist/cobalt/{p-c7d7d7f7.entry.js → p-136beb2c.entry.js} +1 -1
- package/dist/cobalt/{p-b437eff6.entry.js → p-1693b614.entry.js} +1 -1
- package/dist/cobalt/p-1bfb69ae.entry.js +1 -0
- package/dist/cobalt/{p-2c9dba2f.entry.js → p-1f3d5313.entry.js} +1 -1
- package/dist/cobalt/{p-b821d9de.entry.js → p-22233b31.entry.js} +1 -1
- package/dist/cobalt/{p-c30b4cb5.entry.js → p-26fa36f8.entry.js} +1 -1
- package/dist/cobalt/p-2794c500.entry.js +1 -0
- package/dist/cobalt/p-297b55cd.entry.js +1 -0
- package/dist/cobalt/{p-17244412.entry.js → p-2a2b0c7a.entry.js} +1 -1
- package/dist/cobalt/{p-2636b7eb.entry.js → p-2e5702a0.entry.js} +1 -1
- package/dist/cobalt/p-3011c84f.entry.js +1 -0
- package/dist/cobalt/{p-4d65e713.entry.js → p-30760f77.entry.js} +1 -1
- package/dist/cobalt/{p-6dd220e0.entry.js → p-3b9a8e86.entry.js} +1 -1
- package/dist/cobalt/p-4111fefa.entry.js +1 -0
- package/dist/cobalt/{p-a32b20eb.entry.js → p-44edde81.entry.js} +1 -1
- package/dist/cobalt/{p-292b0389.entry.js → p-45007758.entry.js} +1 -1
- package/dist/cobalt/p-48c23310.entry.js +1 -0
- package/dist/cobalt/p-4b327483.entry.js +1 -0
- package/dist/cobalt/p-4c6caa41.entry.js +1 -0
- package/dist/cobalt/{p-000a15b8.entry.js → p-5534a64f.entry.js} +1 -1
- package/dist/cobalt/p-5573985a.entry.js +1 -0
- package/dist/cobalt/p-57d250ad.entry.js +1 -0
- package/dist/cobalt/{p-826ee074.entry.js → p-59d3e8fc.entry.js} +1 -1
- package/dist/cobalt/{p-4592ca00.entry.js → p-5a32b9a2.entry.js} +1 -1
- package/dist/cobalt/p-5b2aa70e.entry.js +1 -0
- package/dist/cobalt/{p-d29bb0fa.entry.js → p-5d6e02dd.entry.js} +1 -1
- package/dist/cobalt/{p-623cc195.entry.js → p-608d251d.entry.js} +1 -1
- package/dist/cobalt/{p-011dc80b.entry.js → p-66fc1528.entry.js} +1 -1
- package/dist/cobalt/{p-11c5ce78.entry.js → p-67ad9544.entry.js} +1 -1
- package/dist/cobalt/{p-290066ef.entry.js → p-6c157ea2.entry.js} +1 -1
- package/dist/cobalt/{p-a2462d7a.entry.js → p-6d541199.entry.js} +1 -1
- package/dist/cobalt/{p-58d9b650.entry.js → p-7376f4ed.entry.js} +1 -1
- package/dist/cobalt/{p-39a50e7f.entry.js → p-7569375a.entry.js} +1 -1
- package/dist/cobalt/{p-7b5c555c.entry.js → p-763698b3.entry.js} +1 -1
- package/dist/cobalt/{p-f57dffca.entry.js → p-7675cebe.entry.js} +1 -1
- package/dist/cobalt/p-78a20284.entry.js +1 -0
- package/dist/cobalt/{p-aa9400bf.entry.js → p-7f3523ce.entry.js} +1 -1
- package/dist/cobalt/{p-24196410.entry.js → p-86b6fd81.entry.js} +1 -1
- package/dist/cobalt/{p-996f4e38.entry.js → p-889563d5.entry.js} +1 -1
- package/dist/cobalt/{p-eadfd661.entry.js → p-8ab5b396.entry.js} +1 -1
- package/dist/cobalt/{p-c91d4fc6.entry.js → p-8b2e4579.entry.js} +1 -1
- package/dist/cobalt/p-8cd3acaa.entry.js +1 -0
- package/dist/cobalt/{p-23ab0cc5.entry.js → p-8f701eac.entry.js} +1 -1
- package/dist/cobalt/p-90fad0f9.entry.js +1 -0
- package/dist/cobalt/{p-76249983.entry.js → p-97a4fbba.entry.js} +1 -1
- package/dist/cobalt/p-9b46a8fe.entry.js +1 -0
- package/dist/cobalt/{p-ee2023da.entry.js → p-9bee9dc8.entry.js} +1 -1
- package/dist/cobalt/{p-2f9cbbd5.entry.js → p-9cf10331.entry.js} +1 -1
- package/dist/cobalt/p-9dc01092.entry.js +1 -0
- package/dist/cobalt/p-9e406172.entry.js +1 -0
- package/dist/cobalt/p-B1JT7us1.js +1 -0
- package/dist/cobalt/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
- package/dist/cobalt/p-BmdKHBZP.js +1 -0
- package/dist/cobalt/p-BtliEQAT.js +1 -0
- package/dist/cobalt/p-COJdaKBU.js +1 -0
- package/dist/cobalt/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
- package/dist/cobalt/p-CYN5B3IQ.js +1 -0
- package/dist/cobalt/p-DJkaRtbb.js +2 -0
- package/dist/cobalt/p-DU-KOQ8L.js +1 -0
- package/dist/cobalt/p-DXLeDZvr.js +1 -0
- package/dist/cobalt/{p-D_zA1Pv4.js → p-DgJovDdy.js} +1 -1
- package/dist/cobalt/p-RVQJEYxa.js +1 -0
- package/dist/cobalt/{p-1861fe41.entry.js → p-a07dedd1.entry.js} +1 -1
- package/dist/cobalt/{p-08e42e00.entry.js → p-a336178b.entry.js} +1 -1
- package/dist/cobalt/{p-f9a7b7c6.entry.js → p-a52ed6ff.entry.js} +1 -1
- package/dist/cobalt/{p-aaca6dab.entry.js → p-a930cdd7.entry.js} +1 -1
- package/dist/cobalt/{p-eb82358d.entry.js → p-b1994bb4.entry.js} +1 -1
- package/dist/cobalt/p-b2b13da8.entry.js +1 -0
- package/dist/cobalt/{p-c2ebf0ec.entry.js → p-b5ec4286.entry.js} +1 -1
- package/dist/cobalt/p-b9401dd7.entry.js +1 -0
- package/dist/cobalt/p-b9dfb333.entry.js +1 -0
- package/dist/cobalt/p-bc3ba0cd.entry.js +1 -0
- package/dist/cobalt/{p-d375014b.entry.js → p-bc4fbfa6.entry.js} +1 -1
- package/dist/cobalt/{p-d0b2c418.entry.js → p-c109a1e1.entry.js} +1 -1
- package/dist/cobalt/{p-ee9a623d.entry.js → p-c1caa112.entry.js} +1 -1
- package/dist/cobalt/p-c9990662.entry.js +1 -0
- package/dist/cobalt/p-cc4b51fa.entry.js +1 -0
- package/dist/cobalt/p-cc5989e9.entry.js +1 -0
- package/dist/cobalt/{p-e4264532.entry.js → p-ce2b2048.entry.js} +1 -1
- package/dist/cobalt/p-d1c378ff.entry.js +1 -0
- package/dist/cobalt/p-d1e83525.entry.js +1 -0
- package/dist/cobalt/{p-59963937.entry.js → p-d1f47915.entry.js} +1 -1
- package/dist/cobalt/{p-28764b8e.entry.js → p-d4979025.entry.js} +1 -1
- package/dist/cobalt/p-d6e7c258.entry.js +1 -0
- package/dist/cobalt/p-d75d2f3d.entry.js +1 -0
- package/dist/cobalt/p-db42c4ab.entry.js +1 -0
- package/dist/cobalt/{p-44c4e4a3.entry.js → p-e4ff2fcb.entry.js} +1 -1
- package/dist/cobalt/p-e6116149.entry.js +1 -0
- package/dist/cobalt/{p-0c004735.entry.js → p-e99ddf9c.entry.js} +1 -1
- package/dist/cobalt/{p-1cc818ca.entry.js → p-ea24eea8.entry.js} +1 -1
- package/dist/cobalt/{p-07416e31.entry.js → p-ea564148.entry.js} +1 -1
- package/dist/cobalt/{p-8471abe2.entry.js → p-ec7a6bf2.entry.js} +1 -1
- package/dist/cobalt/{p-fb2d1144.entry.js → p-ee42dca6.entry.js} +1 -1
- package/dist/cobalt/{p-49834b8e.entry.js → p-ee88ec40.entry.js} +1 -1
- package/dist/cobalt/p-eeb114da.entry.js +1 -0
- package/dist/cobalt/{p-f6691108.entry.js → p-f0898e21.entry.js} +1 -1
- package/dist/cobalt/p-f246946a.entry.js +1 -0
- package/dist/cobalt/{p-b90d41e4.entry.js → p-f5934cd9.entry.js} +1 -1
- package/dist/cobalt/p-f5e1873d.entry.js +1 -0
- package/dist/cobalt/p-f60bd4d6.entry.js +1 -0
- package/dist/cobalt/p-f813569c.entry.js +1 -0
- package/dist/cobalt/{p-f7eb1a40.entry.js → p-f8c7941f.entry.js} +1 -1
- package/dist/cobalt/{p-44ea675f.entry.js → p-f8d3c71e.entry.js} +1 -1
- package/dist/cobalt/{p-91e73a92.entry.js → p-ffbe955a.entry.js} +1 -1
- package/dist/cobalt/p-xnrKkNWQ.js +1 -0
- package/dist/collection/collection-manifest.json +8 -0
- package/dist/collection/components/co-accordion/co-accordion.js +2 -2
- package/dist/collection/components/co-action-bar/co-action-bar.js +2 -2
- package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
- package/dist/collection/components/co-audio-player/co-audio-player.js +3 -3
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar/co-avatar.css +11 -2
- package/dist/collection/components/co-avatar/co-avatar.js +7 -4
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-badge/co-badge.js +1 -1
- package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +4 -4
- package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
- package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
- package/dist/collection/components/co-button/co-button.css +73 -6
- package/dist/collection/components/co-button/co-button.js +33 -11
- package/dist/collection/components/co-button-group/co-button-group.js +2 -2
- package/dist/collection/components/co-calendar/calendarMarks.js +40 -0
- package/dist/collection/components/co-calendar/co-calendar.css +11 -1
- package/dist/collection/components/co-calendar/co-calendar.js +82 -20
- package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
- package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +2 -2
- package/dist/collection/components/co-card/co-card.js +2 -2
- package/dist/collection/components/co-carousel/co-carousel.js +2 -2
- package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
- package/dist/collection/components/co-checkbox/co-checkbox.css +43 -1
- package/dist/collection/components/co-checkbox/co-checkbox.js +31 -3
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-chip/co-chip.js +2 -2
- package/dist/collection/components/co-color-area/co-color-area.css +83 -0
- package/dist/collection/components/co-color-area/co-color-area.js +341 -0
- package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
- package/dist/collection/components/co-color-slider/co-color-slider.css +115 -0
- package/dist/collection/components/co-color-slider/co-color-slider.js +353 -0
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.js +4 -4
- package/dist/collection/components/co-command-search/co-command-search.js +5 -5
- package/dist/collection/components/co-data-table/co-data-table.js +3 -3
- 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.js +3 -3
- package/dist/collection/components/co-document-editor/change-throttle.js +30 -0
- package/dist/collection/components/co-document-editor/co-document-editor.css +438 -0
- package/dist/collection/components/co-document-editor/co-document-editor.js +1542 -0
- package/dist/collection/components/co-document-editor/document-props.js +40 -0
- package/dist/collection/components/co-document-editor/header-tools.js +11 -0
- package/dist/collection/components/co-document-editor/image-bar.js +66 -0
- package/dist/collection/components/co-document-editor/page-styles.js +90 -0
- package/dist/collection/components/co-document-editor/zoom.js +45 -0
- 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.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.js +6 -6
- package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
- package/dist/collection/components/co-gradient-bar/co-gradient-bar.css +138 -0
- package/dist/collection/components/co-gradient-bar/co-gradient-bar.js +407 -0
- 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 +95 -19
- package/dist/collection/components/co-icon-button/co-icon-button.js +120 -10
- package/dist/collection/components/co-input/co-input.css +122 -0
- package/dist/collection/components/co-input/co-input.js +37 -11
- package/dist/collection/components/co-json-field/co-json-field.js +3 -3
- package/dist/collection/components/co-kbd/co-kbd.css +99 -0
- package/dist/collection/components/co-kbd/co-kbd.js +291 -0
- package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
- 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.css +60 -0
- package/dist/collection/components/co-menu/co-menu.js +143 -3
- package/dist/collection/components/co-menu-divider/co-menu-divider.css +17 -0
- package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
- package/dist/collection/components/co-menu-item/co-menu-item.css +42 -6
- package/dist/collection/components/co-menu-item/co-menu-item.js +58 -4
- package/dist/collection/components/co-modal/co-modal.css +212 -1
- package/dist/collection/components/co-modal/co-modal.js +339 -9
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.js +3 -3
- package/dist/collection/components/co-option-list/co-option-list.css +64 -21
- package/dist/collection/components/co-option-list/co-option-list.js +6 -2
- package/dist/collection/components/co-overlay/co-overlay.js +7 -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 +15 -2
- package/dist/collection/components/co-popover/co-popover.js +130 -5
- 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 +4 -4
- package/dist/collection/components/co-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.js +5 -5
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +23 -90
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +12 -0
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +123 -18
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +8 -1
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +3 -3
- package/dist/collection/components/co-select/co-select.css +194 -10
- package/dist/collection/components/co-select/co-select.js +163 -32
- package/dist/collection/components/co-select/virtualRows.js +57 -0
- 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 +10 -0
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +19 -4
- package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
- package/dist/collection/components/co-slider/co-slider.css +148 -5
- package/dist/collection/components/co-slider/co-slider.js +240 -21
- package/dist/collection/components/co-swatch-grid/co-swatch-grid.css +56 -0
- package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +292 -0
- package/dist/collection/components/co-switch/co-switch.js +3 -3
- package/dist/collection/components/co-tab/co-tab.css +60 -0
- package/dist/collection/components/co-tab/co-tab.js +36 -6
- package/dist/collection/components/co-tab-group/co-tab-group.css +24 -0
- package/dist/collection/components/co-tab-group/co-tab-group.js +124 -2
- package/dist/collection/components/co-tab-group/revealTab.js +26 -0
- 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-tile/co-tile.css +63 -0
- package/dist/collection/components/co-tile/co-tile.js +162 -0
- package/dist/collection/components/co-time-field/co-time-field.js +1 -1
- package/dist/collection/components/co-toast/co-toast.js +4 -4
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +101 -0
- package/dist/collection/components/co-toggle-button/co-toggle-button.js +80 -8
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +21 -0
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +28 -7
- package/dist/collection/components/co-tooltip/co-tooltip.css +36 -0
- package/dist/collection/components/co-tooltip/co-tooltip.js +51 -3
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +3 -3
- package/dist/collection/components/co-tree-item/co-tree-item.css +226 -0
- package/dist/collection/components/co-tree-item/co-tree-item.js +353 -0
- package/dist/collection/components/co-tree-item/treeItemI18n.js +16 -0
- package/dist/collection/components/co-video/co-video.js +2 -2
- package/dist/collection/utils/color.js +9 -5
- package/dist/collection/utils/dragMove.js +95 -0
- package/dist/collection/utils/gradientBarI18n.js +24 -0
- package/dist/collection/utils/gradientStops.js +142 -0
- package/dist/collection/utils/hsv.js +114 -0
- package/dist/collection/utils/kbdI18n.js +29 -0
- package/dist/collection/utils/positioning.js +44 -18
- package/dist/collection/utils/rich-text-host.js +109 -0
- package/dist/collection/utils/richTextI18n.js +45 -0
- package/dist/collection/utils/submenu.js +23 -3
- package/dist/collection/utils/swatchGridI18n.js +14 -0
- package/dist/collection/utils/test/fake-block-layout.js +41 -0
- package/dist/collection/utils/test/prosemirror-dom-shim.js +17 -0
- package/dist/collection/utils/test/shared-contract-css.js +9 -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-bottom-sheet.js +1 -1
- package/dist/components/co-breadcrumb-item.js +1 -1
- package/dist/components/co-breadcrumb.js +1 -1
- package/dist/components/co-button-group.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-calendar-month.js +1 -1
- package/dist/components/co-calendar-timegrid.js +1 -1
- package/dist/components/co-calendar.js +1 -1
- package/dist/components/co-card.js +1 -1
- package/dist/components/co-carousel-item.js +1 -1
- package/dist/components/co-carousel.js +1 -1
- package/dist/components/co-checkbox-group.js +1 -1
- package/dist/components/co-checkbox.js +1 -1
- package/dist/components/co-chip.js +1 -1
- package/dist/components/co-color-area.d.ts +11 -0
- package/dist/components/co-color-area.js +1 -0
- package/dist/components/co-color-picker.js +1 -1
- package/dist/components/co-color-slider.d.ts +11 -0
- package/dist/components/co-color-slider.js +1 -0
- 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-document-editor.d.ts +11 -0
- package/dist/components/co-document-editor.js +1 -0
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-drive-card.js +1 -1
- package/dist/components/co-drop-zone.js +1 -1
- package/dist/components/co-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-gradient-bar.d.ts +11 -0
- package/dist/components/co-gradient-bar.js +1 -0
- 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-kbd.d.ts +11 -0
- package/dist/components/co-kbd.js +1 -0
- 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-segmented-bar.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-swatch-grid.d.ts +11 -0
- package/dist/components/co-swatch-grid.js +1 -0
- 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-tile.d.ts +11 -0
- package/dist/components/co-tile.js +1 -0
- package/dist/components/co-time-field.js +1 -1
- package/dist/components/co-toast.js +1 -1
- package/dist/components/co-toggle-button-group.js +1 -1
- package/dist/components/co-toggle-button.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/co-transfer-list.js +1 -1
- package/dist/components/co-tree-item.d.ts +11 -0
- package/dist/components/co-tree-item.js +1 -0
- package/dist/components/co-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-B1JT7us1.js +1 -0
- package/dist/components/{p-Nt4JJxbL.js → p-B20o5exO.js} +1 -1
- package/dist/components/{p-DNJAIVfI.js → p-B3kKOgsA.js} +1 -1
- package/dist/components/{p-P4HlMBlL.js → p-BIDSDP05.js} +1 -1
- package/dist/components/p-BOqtnWTJ.js +1 -0
- package/dist/components/p-BQltjDw5.js +1 -0
- package/dist/components/p-BR0LYW9v.js +1 -0
- package/dist/components/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
- package/dist/components/p-BZDl9aFl.js +1 -0
- package/dist/components/p-BcXdId8y.js +1 -0
- package/dist/components/p-BmdKHBZP.js +1 -0
- package/dist/components/{p-NNxjElcX.js → p-BraiMwgs.js} +1 -1
- package/dist/components/p-BtliEQAT.js +1 -0
- package/dist/components/p-Bymi-A7C.js +1 -0
- package/dist/components/p-C-f8wTqe.js +1 -0
- package/dist/components/{p-BhCVadcA.js → p-C1jZYtUS.js} +1 -1
- package/dist/components/{p-CT2enQ6h.js → p-C3G8oPgU.js} +1 -1
- package/dist/components/{p-B56LX2SH.js → p-CGH3E8uK.js} +1 -1
- package/dist/components/p-COJdaKBU.js +1 -0
- package/dist/components/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
- package/dist/components/{p-Du_CgT5E.js → p-CfJgypOl.js} +1 -1
- package/dist/components/{p-uxdXViMV.js → p-ChwSnCFf.js} +1 -1
- package/dist/components/{p-Dc_Kbari.js → p-CpGEV0iM.js} +1 -1
- package/dist/components/{p-DvR45CLa.js → p-D9or2g4j.js} +1 -1
- package/dist/components/{p-e5KibEs8.js → p-DJ468fPu.js} +1 -1
- package/dist/components/{p-DFlJMEJ-.js → p-DKXCr-hE.js} +1 -1
- package/dist/components/p-DU-KOQ8L.js +1 -0
- package/dist/components/p-DXLeDZvr.js +1 -0
- package/dist/components/{p-BGDqldEg.js → p-DfcPGitr.js} +1 -1
- package/dist/components/p-Dg-Ti_Bf.js +1 -0
- package/dist/components/p-Dh_eRYKu.js +1 -0
- package/dist/components/p-Dp650Gpp.js +1 -0
- package/dist/components/p-FA1kBmZ-.js +1 -0
- package/dist/components/p-RVQJEYxa.js +1 -0
- package/dist/components/p-d4rf3H8p.js +1 -0
- package/dist/components/{p-Dxa7c4Ap.js → p-dnaee7fS.js} +1 -1
- package/dist/components/p-f2xwcrXa.js +1 -0
- package/dist/esm/co-accordion.entry.js +3 -3
- package/dist/esm/co-action-bar.entry.js +3 -3
- package/dist/esm/co-app-shell.entry.js +3 -3
- package/dist/esm/co-audio-player.entry.js +4 -4
- 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 +7 -4
- package/dist/esm/co-badge.entry.js +2 -2
- package/dist/esm/co-bottom-sheet.entry.js +5 -5
- package/dist/esm/co-breadcrumb-item.entry.js +3 -3
- package/dist/esm/co-breadcrumb.entry.js +2 -2
- package/dist/esm/co-button-group.entry.js +3 -3
- package/dist/esm/co-button.entry.js +9 -7
- package/dist/esm/co-calendar-month_2.entry.js +4 -4
- package/dist/esm/co-calendar_3.entry.js +72 -27
- package/dist/esm/co-card.entry.js +3 -3
- package/dist/esm/co-carousel-item.entry.js +2 -2
- package/dist/esm/co-carousel.entry.js +3 -3
- package/dist/esm/co-checkbox-group.entry.js +1 -1
- package/dist/esm/co-checkbox.entry.js +13 -5
- package/dist/esm/co-chip_2.entry.js +9 -6
- package/dist/esm/co-color-area.entry.js +167 -0
- package/dist/esm/co-color-picker.entry.js +5 -5
- package/dist/esm/co-color-slider.entry.js +187 -0
- package/dist/esm/co-column-picker.entry.js +3 -3
- package/dist/esm/co-combobox.entry.js +5 -5
- package/dist/esm/co-command-search.entry.js +5 -5
- package/dist/esm/co-data-table-pagination.entry.js +5 -5
- package/dist/esm/co-data-table.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/co-date-time-picker.entry.js +4 -4
- package/dist/esm/co-document-editor.entry.js +1159 -0
- 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 +3 -3
- package/dist/esm/co-empty-state.entry.js +3 -3
- package/dist/esm/co-event-calendar.entry.js +3 -3
- 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 +8 -8
- package/dist/esm/co-file-type-tile.entry.js +3 -3
- package/dist/esm/co-gradient-bar.entry.js +218 -0
- package/dist/esm/co-helper-text.entry.js +3 -3
- package/dist/esm/co-icon-button.entry.js +49 -9
- package/dist/esm/co-icon.entry.js +3 -3
- package/dist/esm/co-input.entry.js +14 -8
- package/dist/esm/co-json-field.entry.js +5 -5
- package/dist/esm/{co-tooltip.entry.js → co-kbd_2.entry.js} +194 -7
- package/dist/esm/co-lightbox.entry.js +5 -5
- 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 +3 -3
- package/dist/esm/co-menu-item.entry.js +39 -41
- package/dist/esm/co-menu.entry.js +81 -5
- package/dist/esm/co-modal.entry.js +350 -7
- package/dist/esm/co-navbar.entry.js +3 -3
- package/dist/esm/co-number-field.entry.js +5 -5
- package/dist/esm/co-overlay.entry.js +8 -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 +67 -6
- 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 +2 -2
- package/dist/esm/co-radio-group.entry.js +4 -4
- 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 +5 -5
- package/dist/esm/co-rich-text-editor.entry.js +26 -92
- package/dist/esm/co-rich-text-toolbar.entry.js +79 -20
- package/dist/esm/co-rich-text-viewer.entry.js +9 -2
- package/dist/esm/co-row.entry.js +3 -3
- package/dist/esm/co-segmented-bar.entry.js +3 -3
- package/dist/esm/co-select.entry.js +158 -29
- package/dist/esm/co-separator.entry.js +2 -2
- package/dist/esm/co-sidebar-nav.entry.js +20 -5
- package/dist/esm/co-sidebar.entry.js +3 -3
- package/dist/esm/co-slider.entry.js +203 -23
- package/dist/esm/co-swatch-grid.entry.js +119 -0
- package/dist/esm/co-switch.entry.js +5 -5
- package/dist/esm/co-tab-group.entry.js +113 -4
- package/dist/esm/co-tab.entry.js +15 -5
- package/dist/esm/co-tags-field.entry.js +8 -8
- package/dist/esm/co-textarea.entry.js +6 -6
- package/dist/esm/co-tile.entry.js +59 -0
- package/dist/esm/co-time-field.entry.js +2 -2
- package/dist/esm/co-toast.entry.js +3 -3
- package/dist/esm/co-toggle-button-group.entry.js +26 -5
- package/dist/esm/co-toggle-button.entry.js +67 -6
- package/dist/esm/co-transfer-list.entry.js +3 -3
- package/dist/esm/co-tree-item.entry.js +108 -0
- package/dist/esm/co-video.entry.js +3 -3
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/{color-BRbgGqLw.js → color-BVGGRfNG.js} +10 -6
- package/dist/esm/{fieldChip-uyggU8VV.js → fieldChip-B2ctp2m6.js} +1 -1
- package/dist/esm/gradientStops-DDK0y8ra.js +145 -0
- package/dist/esm/hsv-COJdaKBU.js +90 -0
- package/dist/esm/index-Cpo8HTwr.js +142 -0
- package/dist/esm/{index-DH5lfRNj.js → index-DJkaRtbb.js} +67 -28
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{index-BBIYyvq-.js → pagination-D9OfZUnY.js} +1728 -297
- package/dist/esm/{positioning-DFHRS9cJ.js → positioning-BtliEQAT.js} +45 -19
- package/dist/esm/{requiredMark-BCJUuZvC.js → requiredMark-D5C5NzOE.js} +1 -1
- package/dist/esm/rich-text-host-BmdKHBZP.js +111 -0
- package/dist/esm/{richTextI18n-BYKAgwq3.js → richTextI18n-xnrKkNWQ.js} +45 -0
- package/dist/esm/submenu-DU-KOQ8L.js +57 -0
- package/dist/esm/{toolbar-config-BAYo-RBt.js → toolbar-config-CRxTFT_z.js} +32 -0
- package/dist/types/components/co-avatar/co-avatar.d.ts +4 -2
- package/dist/types/components/co-button/co-button.d.ts +6 -4
- package/dist/types/components/co-calendar/calendarMarks.d.ts +15 -0
- package/dist/types/components/co-calendar/co-calendar.d.ts +16 -0
- package/dist/types/components/co-checkbox/co-checkbox.d.ts +7 -0
- package/dist/types/components/co-color-area/co-color-area.d.ts +64 -0
- package/dist/types/components/co-color-slider/co-color-slider.d.ts +61 -0
- package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +1 -1
- package/dist/types/components/co-document-editor/change-throttle.d.ts +9 -0
- package/dist/types/components/co-document-editor/co-document-editor.d.ts +276 -0
- package/dist/types/components/co-document-editor/document-props.d.ts +6 -0
- package/dist/types/components/co-document-editor/header-tools.d.ts +11 -0
- package/dist/types/components/co-document-editor/image-bar.d.ts +50 -0
- package/dist/types/components/co-document-editor/page-styles.d.ts +1 -0
- package/dist/types/components/co-document-editor/zoom.d.ts +26 -0
- package/dist/types/components/co-gradient-bar/co-gradient-bar.d.ts +72 -0
- package/dist/types/components/co-icon-button/co-icon-button.d.ts +34 -2
- package/dist/types/components/co-input/co-input.d.ts +14 -5
- package/dist/types/components/co-kbd/co-kbd.d.ts +43 -0
- package/dist/types/components/co-menu/co-menu.d.ts +40 -1
- package/dist/types/components/co-menu-item/co-menu-item.d.ts +17 -0
- package/dist/types/components/co-modal/co-modal.d.ts +111 -2
- package/dist/types/components/co-option-list/co-option-list.d.ts +1 -0
- package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
- package/dist/types/components/co-popover/co-popover.d.ts +36 -0
- package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +2 -5
- package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +17 -2
- package/dist/types/components/co-select/co-select.d.ts +47 -5
- package/dist/types/components/co-select/virtualRows.d.ts +44 -0
- package/dist/types/components/co-slider/co-slider.d.ts +143 -1
- package/dist/types/components/co-swatch-grid/co-swatch-grid.d.ts +37 -0
- package/dist/types/components/co-tab/co-tab.d.ts +12 -2
- package/dist/types/components/co-tab-group/co-tab-group.d.ts +37 -0
- package/dist/types/components/co-tab-group/revealTab.d.ts +29 -0
- package/dist/types/components/co-tile/co-tile.d.ts +40 -0
- package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +37 -2
- package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +20 -2
- package/dist/types/components/co-tooltip/co-tooltip.d.ts +12 -0
- package/dist/types/components/co-tree-item/co-tree-item.d.ts +73 -0
- package/dist/types/components/co-tree-item/treeItemI18n.d.ts +6 -0
- package/dist/types/components.d.ts +1744 -88
- package/dist/types/utils/color.d.ts +9 -1
- package/dist/types/utils/dragMove.d.ts +63 -0
- package/dist/types/utils/gradientBarI18n.d.ts +8 -0
- package/dist/types/utils/gradientStops.d.ts +63 -0
- package/dist/types/utils/hsv.d.ts +44 -0
- package/dist/types/utils/kbdI18n.d.ts +25 -0
- package/dist/types/utils/positioning.d.ts +24 -0
- package/dist/types/utils/rich-text-host.d.ts +41 -0
- package/dist/types/utils/richTextI18n.d.ts +15 -0
- package/dist/types/utils/submenu.d.ts +16 -2
- package/dist/types/utils/swatchGridI18n.d.ts +6 -0
- package/dist/types/utils/test/fake-block-layout.d.ts +7 -0
- package/dist/types/utils/test/prosemirror-dom-shim.d.ts +1 -0
- package/dist/types/utils/test/shared-contract-css.d.ts +9 -0
- package/package.json +5 -5
- package/dist/cobalt/p-0678c797.entry.js +0 -1
- package/dist/cobalt/p-1d3a79af.entry.js +0 -1
- package/dist/cobalt/p-216a63ee.entry.js +0 -1
- package/dist/cobalt/p-3d31c575.entry.js +0 -1
- package/dist/cobalt/p-416795f5.entry.js +0 -1
- package/dist/cobalt/p-56551580.entry.js +0 -1
- package/dist/cobalt/p-58137c9e.entry.js +0 -1
- package/dist/cobalt/p-5a3e4c81.entry.js +0 -1
- package/dist/cobalt/p-5c756787.entry.js +0 -1
- package/dist/cobalt/p-67f3b9d6.entry.js +0 -1
- package/dist/cobalt/p-6a4f3179.entry.js +0 -1
- package/dist/cobalt/p-71cbc53c.entry.js +0 -1
- package/dist/cobalt/p-72e52af7.entry.js +0 -1
- package/dist/cobalt/p-8530ad16.entry.js +0 -1
- package/dist/cobalt/p-8a74bf7d.entry.js +0 -1
- package/dist/cobalt/p-8e05b979.entry.js +0 -1
- package/dist/cobalt/p-8ebc0c12.entry.js +0 -1
- package/dist/cobalt/p-8f2199ff.entry.js +0 -1
- package/dist/cobalt/p-9246e09c.entry.js +0 -1
- package/dist/cobalt/p-99a655f6.entry.js +0 -1
- package/dist/cobalt/p-BYKAgwq3.js +0 -1
- package/dist/cobalt/p-CJW9H3Gi.js +0 -1
- package/dist/cobalt/p-DFHRS9cJ.js +0 -1
- package/dist/cobalt/p-DH5lfRNj.js +0 -2
- package/dist/cobalt/p-a1b422ca.entry.js +0 -1
- package/dist/cobalt/p-ade07307.entry.js +0 -1
- package/dist/cobalt/p-b0762fd8.entry.js +0 -1
- package/dist/cobalt/p-b698188c.entry.js +0 -1
- package/dist/cobalt/p-bde32f8b.entry.js +0 -1
- package/dist/cobalt/p-db805569.entry.js +0 -1
- package/dist/cobalt/p-e3aae282.entry.js +0 -1
- package/dist/cobalt/p-e49a564c.entry.js +0 -1
- package/dist/cobalt/p-ef301976.entry.js +0 -1
- package/dist/cobalt/p-f4e1c3c3.entry.js +0 -1
- package/dist/cobalt/p-fMqVDypp.js +0 -1
- package/dist/components/p-2EOI1nrz.js +0 -1
- package/dist/components/p-7TncUlLN.js +0 -1
- package/dist/components/p-B4NCaKrR.js +0 -1
- package/dist/components/p-BJh68Jqe.js +0 -1
- package/dist/components/p-BrAFTkAn.js +0 -1
- package/dist/components/p-Bsh0JMGf.js +0 -1
- package/dist/components/p-CJW9H3Gi.js +0 -1
- package/dist/components/p-CWCYYQrF.js +0 -1
- package/dist/components/p-D9T7zKeL.js +0 -1
- package/dist/components/p-DFHRS9cJ.js +0 -1
- package/dist/components/p-DTPYZwaZ.js +0 -1
- package/dist/components/p-Dcg4krSX.js +0 -1
- package/dist/components/p-Dh8ffSjK.js +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
+
import { MENU_DIRECTION_ATTR, menuDirectionOfPlacement } from "../../utils/submenu";
|
|
2
3
|
/**
|
|
3
4
|
* Dropdown menu. Wraps `co-popover` with menu-specific UX:
|
|
4
5
|
* - Default `placement="bottom-end"` (typical for "more actions" 3-dot triggers)
|
|
@@ -34,6 +35,24 @@ export class CoMenu {
|
|
|
34
35
|
this.autoClose = true;
|
|
35
36
|
/** Whether the menu panel is visible. Reflected to attribute. */
|
|
36
37
|
this.open = false;
|
|
38
|
+
/** Superficie sobre la que se apoya el panel (regla transversal `surface="dark"`).
|
|
39
|
+
* `dark` = fondo `--co-semantic-surface-primary`, texto `--co-semantic-text-inverse`,
|
|
40
|
+
* sin anillo ni sombra, radio `--co-border-radius-xs`, `min-width: auto`. Para los
|
|
41
|
+
* menús negros de herramienta (formas, plantillas de página, Lineal/Radial).
|
|
42
|
+
* Reflejado a atributo para que el CSS lo lea vía `:host([surface="dark"])`.
|
|
43
|
+
*
|
|
44
|
+
* Los `co-menu-item` (y `co-menu-divider`) hijos heredan el tema oscuro SOLOS,
|
|
45
|
+
* sin ningún prop propio: `co-menu.css` publica variables CSS en el elemento
|
|
46
|
+
* slotted (`::slotted(co-menu-item) { --co-menu-item-color: ...; }`) y esas
|
|
47
|
+
* variables — al ser custom properties heredadas — atraviesan el shadow
|
|
48
|
+
* boundary del hijo hasta su propio `:host` y de ahí a su árbol interno.
|
|
49
|
+
* `co-menu-item`/`co-menu-divider` las consumen con fallback al valor claro
|
|
50
|
+
* de siempre, así que sin `surface="dark"` no cambia nada. */
|
|
51
|
+
this.surface = 'light';
|
|
52
|
+
/** Desplazamiento en px sobre el eje CRUZADO del `placement` (Task C10,
|
|
53
|
+
* Fase 2 Cobalt — fix round 1). Reenviada tal cual al `co-popover`
|
|
54
|
+
* interno. Default `0` = sin cambio. */
|
|
55
|
+
this.shift = 0;
|
|
37
56
|
this.handleKeydown = (e) => {
|
|
38
57
|
if (!this.open)
|
|
39
58
|
return;
|
|
@@ -58,6 +77,11 @@ export class CoMenu {
|
|
|
58
77
|
this.open = true;
|
|
59
78
|
this.coOpen.emit();
|
|
60
79
|
};
|
|
80
|
+
/** Publica hacia los ítems (light DOM) si el panel abrió hacia arriba, ya
|
|
81
|
+
* resuelto el flip: sus submenús crecen en la misma dirección (utils/submenu). */
|
|
82
|
+
this.handlePlacement = (e) => {
|
|
83
|
+
this.el.setAttribute(MENU_DIRECTION_ATTR, menuDirectionOfPlacement(e.detail.placement));
|
|
84
|
+
};
|
|
61
85
|
this.handlePopoverClose = () => {
|
|
62
86
|
this.open = false;
|
|
63
87
|
this.coClose.emit();
|
|
@@ -83,6 +107,16 @@ export class CoMenu {
|
|
|
83
107
|
document.removeEventListener('keydown', this.handleKeydown, true);
|
|
84
108
|
}
|
|
85
109
|
}
|
|
110
|
+
componentDidLoad() {
|
|
111
|
+
// Stencil NO dispara @Watch para el valor inicial: un menú CONTROLADO que
|
|
112
|
+
// monta ya con `open=true` (el contextual del canvas del editor, que nace
|
|
113
|
+
// abierto en la coordenada del clic) se quedaba sin listener de teclado y
|
|
114
|
+
// sin foco inicial — ↑/↓/Enter no hacían nada, aunque Escape sí cerraba
|
|
115
|
+
// porque ese lo maneja el `co-popover` interno, que ya tenía este mismo
|
|
116
|
+
// remedio (ver su componentDidLoad).
|
|
117
|
+
if (this.open)
|
|
118
|
+
this.onOpenChange(true);
|
|
119
|
+
}
|
|
86
120
|
disconnectedCallback() {
|
|
87
121
|
document.removeEventListener('keydown', this.handleKeydown, true);
|
|
88
122
|
}
|
|
@@ -94,9 +128,27 @@ export class CoMenu {
|
|
|
94
128
|
/** Walk the LIGHT DOM children for `<co-menu-item>` rows in document order.
|
|
95
129
|
* Returns the focusable inner buttons via `.focus()`-able interface — we
|
|
96
130
|
* use the host element here and rely on focus delegating to the inner
|
|
97
|
-
* `<button>` via Stencil's `delegatesFocus`-like behavior.
|
|
131
|
+
* `<button>` via Stencil's `delegatesFocus`-like behavior.
|
|
132
|
+
*
|
|
133
|
+
* Las filas son las del panel ACTIVO: el submenú abierto más profundo, o la
|
|
134
|
+
* raíz si no hay ninguno (lo que el docstring del componente ya prometía).
|
|
135
|
+
* Antes era un `querySelectorAll` plano, que también devolvía las filas de
|
|
136
|
+
* los submenús CERRADOS — sus `co-menu-item` viven en el light DOM aunque su
|
|
137
|
+
* panel no esté renderizado, así que ↓ mandaba el foco a filas invisibles.
|
|
138
|
+
* Sin submenús el resultado es idéntico al de siempre. */
|
|
98
139
|
getMenuItems() {
|
|
99
|
-
return
|
|
140
|
+
return itemsIn(this.activePanel());
|
|
141
|
+
}
|
|
142
|
+
/** El submenú abierto más profundo (por el atributo `data-submenu-open` que
|
|
143
|
+
* publica `co-menu-item`), o el propio menú si no hay ninguno abierto. */
|
|
144
|
+
activePanel() {
|
|
145
|
+
let panel = this.el;
|
|
146
|
+
for (;;) {
|
|
147
|
+
const open = itemsIn(panel).find((item) => item.hasAttribute('data-submenu-open'));
|
|
148
|
+
if (!open)
|
|
149
|
+
return panel;
|
|
150
|
+
panel = open;
|
|
151
|
+
}
|
|
100
152
|
}
|
|
101
153
|
moveFocus(delta) {
|
|
102
154
|
var _a, _b;
|
|
@@ -111,7 +163,14 @@ export class CoMenu {
|
|
|
111
163
|
(_b = (_a = items[next]) === null || _a === void 0 ? void 0 : _a.focusItem) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
112
164
|
}
|
|
113
165
|
render() {
|
|
114
|
-
return (h("co-popover", { key: '
|
|
166
|
+
return (h("co-popover", { key: '9ad32ee1adf1436a4ff266db44a34c0b4e9b5293', placement: this.placement, offset: this.offset, open: this.open, anchor: this.anchor, shift: this.shift,
|
|
167
|
+
// `co-menu` SIEMPRE pinta su propio chrome (`.co-menu`: fondo +
|
|
168
|
+
// shadow-lg + anillo, o el panel sólido de `surface="dark"`) — el
|
|
169
|
+
// `co-popover` interno tiene que ir SIEMPRE bare, sin condición, para
|
|
170
|
+
// no sumarle un fondo/borde/sombra propios detrás (Task C10, Fase 2
|
|
171
|
+
// Cobalt — fix round 1; antes de esto el panel del menú tenía doble
|
|
172
|
+
// chrome SIEMPRE, no solo en un caso opcional).
|
|
173
|
+
bare: true, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose, onCoPlacement: this.handlePlacement }, h("slot", { key: 'b093c29c2e8a6773843a030282cc9e06af54f8c7', name: "trigger", slot: "trigger" }), h("div", { key: '00baf22b70a5f0544a134c170549b31fb46baf38', class: "co-menu", role: "menu", style: this.width ? { width: this.width, minWidth: this.width } : undefined }, h("slot", { key: '2307edc81be264fe4e8a76fb2e1bc14b59538cc2' }))));
|
|
115
174
|
}
|
|
116
175
|
static get is() { return "co-menu"; }
|
|
117
176
|
static get encapsulation() { return "shadow"; }
|
|
@@ -232,6 +291,70 @@ export class CoMenu {
|
|
|
232
291
|
"setter": false,
|
|
233
292
|
"reflect": false,
|
|
234
293
|
"attribute": "width"
|
|
294
|
+
},
|
|
295
|
+
"surface": {
|
|
296
|
+
"type": "string",
|
|
297
|
+
"mutable": false,
|
|
298
|
+
"complexType": {
|
|
299
|
+
"original": "'light' | 'dark'",
|
|
300
|
+
"resolved": "\"dark\" | \"light\"",
|
|
301
|
+
"references": {}
|
|
302
|
+
},
|
|
303
|
+
"required": false,
|
|
304
|
+
"optional": false,
|
|
305
|
+
"docs": {
|
|
306
|
+
"tags": [],
|
|
307
|
+
"text": "Superficie sobre la que se apoya el panel (regla transversal `surface=\"dark\"`).\n`dark` = fondo `--co-semantic-surface-primary`, texto `--co-semantic-text-inverse`,\nsin anillo ni sombra, radio `--co-border-radius-xs`, `min-width: auto`. Para los\nmen\u00FAs negros de herramienta (formas, plantillas de p\u00E1gina, Lineal/Radial).\nReflejado a atributo para que el CSS lo lea v\u00EDa `:host([surface=\"dark\"])`.\n\nLos `co-menu-item` (y `co-menu-divider`) hijos heredan el tema oscuro SOLOS,\nsin ning\u00FAn prop propio: `co-menu.css` publica variables CSS en el elemento\nslotted (`::slotted(co-menu-item) { --co-menu-item-color: ...; }`) y esas\nvariables \u2014 al ser custom properties heredadas \u2014 atraviesan el shadow\nboundary del hijo hasta su propio `:host` y de ah\u00ED a su \u00E1rbol interno.\n`co-menu-item`/`co-menu-divider` las consumen con fallback al valor claro\nde siempre, as\u00ED que sin `surface=\"dark\"` no cambia nada."
|
|
308
|
+
},
|
|
309
|
+
"getter": false,
|
|
310
|
+
"setter": false,
|
|
311
|
+
"reflect": true,
|
|
312
|
+
"attribute": "surface",
|
|
313
|
+
"defaultValue": "'light'"
|
|
314
|
+
},
|
|
315
|
+
"anchor": {
|
|
316
|
+
"type": "string",
|
|
317
|
+
"mutable": false,
|
|
318
|
+
"complexType": {
|
|
319
|
+
"original": "HTMLElement | string",
|
|
320
|
+
"resolved": "HTMLElement | string | undefined",
|
|
321
|
+
"references": {
|
|
322
|
+
"HTMLElement": {
|
|
323
|
+
"location": "global",
|
|
324
|
+
"id": "global::HTMLElement"
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
"required": false,
|
|
329
|
+
"optional": true,
|
|
330
|
+
"docs": {
|
|
331
|
+
"tags": [],
|
|
332
|
+
"text": "Elemento (o selector resuelto contra `document`) al que se alinea el\npanel EN VEZ del trigger (Task C10, Fase 2 Cobalt \u2014 fix round 1).\nReenviada tal cual al `co-popover` interno; sin `anchor`, cae al\ntrigger (comportamiento de siempre). \u00DAtil para alinear el men\u00FA contra\nun contenedor m\u00E1s grande que el bot\u00F3n que lo abre (p.ej. la p\u00EDldora del\nzoom del toolbar)."
|
|
333
|
+
},
|
|
334
|
+
"getter": false,
|
|
335
|
+
"setter": false,
|
|
336
|
+
"reflect": false,
|
|
337
|
+
"attribute": "anchor"
|
|
338
|
+
},
|
|
339
|
+
"shift": {
|
|
340
|
+
"type": "number",
|
|
341
|
+
"mutable": false,
|
|
342
|
+
"complexType": {
|
|
343
|
+
"original": "number",
|
|
344
|
+
"resolved": "number",
|
|
345
|
+
"references": {}
|
|
346
|
+
},
|
|
347
|
+
"required": false,
|
|
348
|
+
"optional": false,
|
|
349
|
+
"docs": {
|
|
350
|
+
"tags": [],
|
|
351
|
+
"text": "Desplazamiento en px sobre el eje CRUZADO del `placement` (Task C10,\nFase 2 Cobalt \u2014 fix round 1). Reenviada tal cual al `co-popover`\ninterno. Default `0` = sin cambio."
|
|
352
|
+
},
|
|
353
|
+
"getter": false,
|
|
354
|
+
"setter": false,
|
|
355
|
+
"reflect": false,
|
|
356
|
+
"attribute": "shift",
|
|
357
|
+
"defaultValue": "0"
|
|
235
358
|
}
|
|
236
359
|
};
|
|
237
360
|
}
|
|
@@ -306,3 +429,20 @@ export class CoMenu {
|
|
|
306
429
|
}];
|
|
307
430
|
}
|
|
308
431
|
}
|
|
432
|
+
/** Filas de UN panel: todos los `co-menu-item` de adentro cuyo `co-menu-item`
|
|
433
|
+
* ancestro más cercano sea ESTE panel — los del menú raíz no tienen ninguno y
|
|
434
|
+
* los de un submenú cuelgan del ítem que lo abre.
|
|
435
|
+
*
|
|
436
|
+
* Se mira el ancestro y no los hijos directos a propósito (fix round 1): con
|
|
437
|
+
* hijos directos, un consumidor que envuelva sus filas en un `<div>` (un
|
|
438
|
+
* grupo, un `v-for` con wrapper, un fragmento con contenedor) se quedaba sin
|
|
439
|
+
* navegación por flechas **en silencio**. Así el envoltorio da igual y los
|
|
440
|
+
* submenús siguen quedando fuera. */
|
|
441
|
+
function itemsIn(panel) {
|
|
442
|
+
const esItem = panel.tagName.toLowerCase() === 'co-menu-item';
|
|
443
|
+
return Array.from(panel.querySelectorAll('co-menu-item')).filter((item) => {
|
|
444
|
+
var _a, _b;
|
|
445
|
+
const ancestro = (_b = (_a = item.parentElement) === null || _a === void 0 ? void 0 : _a.closest('co-menu-item')) !== null && _b !== void 0 ? _b : null;
|
|
446
|
+
return esItem ? ancestro === panel : ancestro === null;
|
|
447
|
+
});
|
|
448
|
+
}
|
|
@@ -7,3 +7,20 @@
|
|
|
7
7
|
border-top: 1px solid var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));
|
|
8
8
|
margin: var(--co-spacing-xs, 4px) 0;
|
|
9
9
|
}
|
|
10
|
+
|
|
11
|
+
/* Task C9 — hook de color para `co-menu surface="dark"` (ver co-menu.css):
|
|
12
|
+
el borde sutil negro-8 es casi invisible sobre el fondo negro del panel
|
|
13
|
+
oscuro. El ancestro oscuro publica `--co-menu-divider-color` en ESTE
|
|
14
|
+
elemento (custom property heredada — atraviesa el shadow boundary hasta
|
|
15
|
+
acá). Solo tocamos `border-top-color` (no todo el shorthand `border-top`
|
|
16
|
+
de arriba), así el ancho/estilo (1px solid) quedan intactos. Sin ancestro
|
|
17
|
+
oscuro, sigue el borde de siempre. */
|
|
18
|
+
.co-menu-divider {
|
|
19
|
+
border-top-color: var(--co-menu-divider-color, var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08)));
|
|
20
|
+
/* Task C1 — hook del margen, con el default de siempre (`4px 0`). El
|
|
21
|
+
separador del menú contextual del canvas es más ANCHO que el contenido
|
|
22
|
+
del panel (margen horizontal negativo) y su aire vertical no es simétrico
|
|
23
|
+
(el borde de 1px cuenta). Va en la re-declaración y no en el shorthand
|
|
24
|
+
`margin` de arriba para no cambiar nada sin la variable. */
|
|
25
|
+
margin: var(--co-menu-divider-margin, var(--co-spacing-xs, 4px) 0);
|
|
26
|
+
}
|
|
@@ -5,7 +5,7 @@ import { h } from "@stencil/core";
|
|
|
5
5
|
*/
|
|
6
6
|
export class CoMenuDivider {
|
|
7
7
|
render() {
|
|
8
|
-
return h("hr", { key: '
|
|
8
|
+
return h("hr", { key: '7ec669cd5b23822d5ac9e94bf6f9d729222bc107', class: "co-menu-divider", role: "separator" });
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "co-menu-divider"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,8 +19,25 @@
|
|
|
19
19
|
border: 0;
|
|
20
20
|
border-radius: var(--co-border-radius-xs, 8px);
|
|
21
21
|
font-family: var(--co-font-family-primary);
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
/* Task C9 — hooks aditivos de tipografía (mismo default de siempre: 14px,
|
|
23
|
+
sin font-weight/letter-spacing explícitos — o sea `normal`) y de color
|
|
24
|
+
para `co-menu surface="dark"` (ver co-menu.css): el ancestro oscuro
|
|
25
|
+
publica `--co-menu-item-color` en ESTE elemento (custom property
|
|
26
|
+
heredada — atraviesa el shadow boundary hasta acá). Sin ancestro oscuro,
|
|
27
|
+
sigue el texto de siempre. Los hooks van EN la regla original, no en una
|
|
28
|
+
re-declaración al final: `.co-menu-item--danger` pesa lo mismo (0,1,0) y
|
|
29
|
+
gana solo por orden de fuente — una `.co-menu-item { color }` posterior
|
|
30
|
+
le quitaba el rojo a todo ítem danger (fix C-1). */
|
|
31
|
+
font-size: var(--co-menu-item-font-size, var(--co-font-size-14, 14px));
|
|
32
|
+
font-weight: var(--co-menu-item-font-weight, normal);
|
|
33
|
+
letter-spacing: var(--co-menu-item-letter-spacing, normal);
|
|
34
|
+
/* Follow-up Fase 4 (editor): hook para fijar el interlineado de la fila
|
|
35
|
+
(filas de 12px del editor). Fallback `normal` = lo que ya computaba: la
|
|
36
|
+
fila es un <button> y el UA le pone `line-height: normal` (Chromium/
|
|
37
|
+
WebKit vía `font: -webkit-small-control`, Firefox en forms.css); esta
|
|
38
|
+
hoja no lo tocaba. Sin la variable, nada cambia. */
|
|
39
|
+
line-height: var(--co-menu-item-line-height, normal);
|
|
40
|
+
color: var(--co-menu-item-color, var(--co-semantic-text-default));
|
|
24
41
|
text-align: left;
|
|
25
42
|
cursor: pointer;
|
|
26
43
|
transition: background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);
|
|
@@ -33,14 +50,19 @@
|
|
|
33
50
|
min-height: 32px;
|
|
34
51
|
}
|
|
35
52
|
|
|
36
|
-
/* At-rest selected highlight. Declared before :hover so hover still wins.
|
|
53
|
+
/* At-rest selected highlight. Declared before :hover so hover still wins.
|
|
54
|
+
En `co-menu surface="dark"` el ancestro publica `--co-menu-item-selected-bg:
|
|
55
|
+
transparent` (selected SIN fondo) y `--co-menu-item-hover-bg` en blanco-16;
|
|
56
|
+
sin esas variables el fallback es el valor de siempre. Ambas reglas se
|
|
57
|
+
quedan ACÁ, antes de `--danger:hover` (misma especificidad que
|
|
58
|
+
`.co-menu-item:hover`): el hover rojo de danger gana por orden (fix C-1). */
|
|
37
59
|
.co-menu-item--selected {
|
|
38
|
-
background: var(--co-color-gray-100, #f6f6f6);
|
|
60
|
+
background: var(--co-menu-item-selected-bg, var(--co-color-gray-100, #f6f6f6));
|
|
39
61
|
}
|
|
40
62
|
|
|
41
63
|
.co-menu-item:hover,
|
|
42
64
|
.co-menu-item--submenu-open {
|
|
43
|
-
background: var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04));
|
|
65
|
+
background: var(--co-menu-item-hover-bg, var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04)));
|
|
44
66
|
}
|
|
45
67
|
|
|
46
68
|
.co-menu-item:focus-visible {
|
|
@@ -75,7 +97,9 @@
|
|
|
75
97
|
display: inline-flex;
|
|
76
98
|
align-items: center;
|
|
77
99
|
flex-shrink: 0;
|
|
78
|
-
color
|
|
100
|
+
/* Mismo hook de color que la fila (Task C9): en `surface="dark"` sigue el
|
|
101
|
+
texto claro del panel; sin ancestro oscuro, el default de siempre. */
|
|
102
|
+
color: var(--co-menu-item-color, var(--co-semantic-text-default));
|
|
79
103
|
}
|
|
80
104
|
|
|
81
105
|
.co-menu-item__label {
|
|
@@ -163,3 +187,15 @@
|
|
|
163
187
|
}
|
|
164
188
|
.co-menu-item__submenu::before { left: -6px; }
|
|
165
189
|
.co-menu-item__submenu::after { right: -6px; }
|
|
190
|
+
|
|
191
|
+
/* leadingCheck: check de 12px al INICIO de la fila (primer hijo del flex, ver
|
|
192
|
+
.tsx), pareja de trailingCheck pero para menús de selección única con panel
|
|
193
|
+
oscuro (formas, plantillas de página). El span se reserva SIEMPRE que
|
|
194
|
+
leadingCheck esté activo — ancho fijo 12px, mismo tamaño que el ícono de
|
|
195
|
+
adentro — el gap con el siguiente hijo (icono o label) ya lo pone el `gap`
|
|
196
|
+
de `.co-menu-item`, así que el hueco total es 12px + ese gap. El `co-icon`
|
|
197
|
+
de adentro solo se monta si además `selected` es true (ver .tsx). */
|
|
198
|
+
.co-menu-item__check--leading {
|
|
199
|
+
width: 12px;
|
|
200
|
+
justify-content: center;
|
|
201
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { SUBMENU_SIDE_ATTR, inheritedSubmenuSide, sideOfPlacement, submenuPlacement } from "../../utils/submenu";
|
|
2
|
+
import { SUBMENU_SIDE_ATTR, inheritedSubmenuSide, menuOpensUp, sideOfPlacement, submenuPlacement } from "../../utils/submenu";
|
|
3
3
|
/**
|
|
4
4
|
* Row inside a `co-menu`. Two modes:
|
|
5
5
|
*
|
|
@@ -24,6 +24,14 @@ export class CoMenuItem {
|
|
|
24
24
|
/** Renders a trailing check (size 15) after the label. Pair with `selected`
|
|
25
25
|
* to mark the chosen option in a single-select menu. */
|
|
26
26
|
this.trailingCheck = false;
|
|
27
|
+
/** Reserva un check de 12px AL INICIO de la fila (antes del ícono/label).
|
|
28
|
+
* A diferencia de `trailingCheck` (que solo se monta si el prop está en
|
|
29
|
+
* true), acá el HUECO (12px + el gap de la fila) se reserva SIEMPRE que
|
|
30
|
+
* `leadingCheck` esté activo — el `co-icon` de adentro solo se monta si
|
|
31
|
+
* además `selected` es true, así todas las filas de un menú de selección
|
|
32
|
+
* única (formas, plantillas de página) quedan alineadas aunque solo una
|
|
33
|
+
* esté marcada. Pensado para menús con `co-menu surface="dark"`. */
|
|
34
|
+
this.leadingCheck = false;
|
|
27
35
|
/** Visually disabled — pointer events ignored, opacity reduced. */
|
|
28
36
|
this.disabled = false;
|
|
29
37
|
/** `danger` shifts text + icon to the destructive color. Use for Delete, etc. */
|
|
@@ -107,6 +115,20 @@ export class CoMenuItem {
|
|
|
107
115
|
}
|
|
108
116
|
};
|
|
109
117
|
}
|
|
118
|
+
/** Publica el submenú abierto como atributo del HOST (`data-submenu-open`).
|
|
119
|
+
* Prefijo `data-`: es un atributo que el componente escribe solo, no una
|
|
120
|
+
* API que se setea desde afuera, y sin prefijo ensuciaba el espacio de
|
|
121
|
+
* nombres de atributos estándar (review final 2).
|
|
122
|
+
* `submenuOpen` es `@State` y vive en el shadow: sin esto, el `co-menu`
|
|
123
|
+
* ancestro no tiene forma de saber qué panel está activo para dirigir las
|
|
124
|
+
* flechas (ver `getMenuItems` en co-menu.tsx). Aditivo: un atributo de solo
|
|
125
|
+
* lectura que nadie más consume; el resto del componente no cambia. */
|
|
126
|
+
onSubmenuOpenChange(isOpen) {
|
|
127
|
+
if (isOpen)
|
|
128
|
+
this.el.setAttribute('data-submenu-open', '');
|
|
129
|
+
else
|
|
130
|
+
this.el.removeAttribute('data-submenu-open');
|
|
131
|
+
}
|
|
110
132
|
/** Programmatic focus — used by `co-menu`'s keyboard navigation. Named
|
|
111
133
|
* `focusItem` (not `focus`) because Stencil reserves the latter (it shadows
|
|
112
134
|
* HTMLElement.prototype.focus). */
|
|
@@ -144,7 +166,7 @@ export class CoMenuItem {
|
|
|
144
166
|
// La dirección se resuelve ACÁ y no en render: heredarla exige que el
|
|
145
167
|
// submenú del ancestro ya esté posicionado, y eso solo está garantizado
|
|
146
168
|
// cuando el cursor pudo llegar a esta fila (que vive dentro de ese panel).
|
|
147
|
-
this.submenuPlacementValue = submenuPlacement(inheritedSubmenuSide(this.el));
|
|
169
|
+
this.submenuPlacementValue = submenuPlacement(inheritedSubmenuSide(this.el), menuOpensUp(this.el));
|
|
148
170
|
this.submenuOpen = true;
|
|
149
171
|
}
|
|
150
172
|
/** Cierra el submenú YA (sin delay de gracia). Público: lo invoca el hermano
|
|
@@ -181,14 +203,20 @@ export class CoMenuItem {
|
|
|
181
203
|
'co-menu-item--danger': this.variant === 'danger',
|
|
182
204
|
'co-menu-item--submenu': this.hasSubmenu,
|
|
183
205
|
'co-menu-item--submenu-open': this.hasSubmenu && this.submenuOpen,
|
|
184
|
-
}, type: "button", role: "menuitem", "aria-haspopup": this.hasSubmenu ? 'menu' : undefined, "aria-expanded": this.hasSubmenu ? (this.submenuOpen ? 'true' : 'false') : undefined, disabled: this.disabled, onClick: this.handleClick, onKeyDown: this.handleKeydown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, 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 && (h("span", { class: "co-menu-item__check" }, 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 }))));
|
|
206
|
+
}, type: "button", role: "menuitem", "aria-haspopup": this.hasSubmenu ? 'menu' : undefined, "aria-expanded": this.hasSubmenu ? (this.submenuOpen ? '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" }, 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 && (h("span", { class: "co-menu-item__check" }, 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 }))));
|
|
185
207
|
if (!this.hasSubmenu) {
|
|
186
208
|
// Leaf — the default slot is unused for leaves; ignore it.
|
|
187
209
|
return h("div", { class: "co-menu-item__wrap" }, row);
|
|
188
210
|
}
|
|
189
211
|
// Submenu trigger — wrap the row in a co-popover anchored to the right.
|
|
190
212
|
// The default slot (nested co-menu-items) is projected into the popover.
|
|
191
|
-
return (h("div", { class: "co-menu-item__wrap co-menu-item__wrap--submenu", onMouseEnter: this.cancelClose, onMouseLeave: this.handleMouseLeave }, h("co-popover", { placement: this.submenuPlacementValue, offset: 4, open: this.submenuOpen,
|
|
213
|
+
return (h("div", { class: "co-menu-item__wrap co-menu-item__wrap--submenu", onMouseEnter: this.cancelClose, onMouseLeave: this.handleMouseLeave }, h("co-popover", { placement: this.submenuPlacementValue, offset: 4, open: this.submenuOpen,
|
|
214
|
+
// `.co-menu-item__submenu` pinta su PROPIO chrome (fondo + shadow-lg
|
|
215
|
+
// + anillo interno, igual que `.co-menu`), así que el popover va
|
|
216
|
+
// SIEMPRE bare — misma regla que el popover interno de `co-menu`
|
|
217
|
+
// (Task C10 fix round 1); sin esto el submenú tenía doble
|
|
218
|
+
// borde/sombra/fondo (fix I-4).
|
|
219
|
+
bare: true, onCoOpen: () => this.openSubmenu(), onCoClose: () => { this.submenuOpen = false; }, onCoPlacement: this.handlePlacement }, h("div", { slot: "trigger", class: "co-menu-item__trigger-wrap" }, row), h("div", { class: "co-menu-item__submenu", role: "menu", onMouseEnter: this.cancelClose, onMouseLeave: this.handleMouseLeave }, h("slot", null)))));
|
|
192
220
|
}
|
|
193
221
|
static get is() { return "co-menu-item"; }
|
|
194
222
|
static get encapsulation() { return "shadow"; }
|
|
@@ -340,6 +368,26 @@ export class CoMenuItem {
|
|
|
340
368
|
"attribute": "trailing-check",
|
|
341
369
|
"defaultValue": "false"
|
|
342
370
|
},
|
|
371
|
+
"leadingCheck": {
|
|
372
|
+
"type": "boolean",
|
|
373
|
+
"mutable": false,
|
|
374
|
+
"complexType": {
|
|
375
|
+
"original": "boolean",
|
|
376
|
+
"resolved": "boolean",
|
|
377
|
+
"references": {}
|
|
378
|
+
},
|
|
379
|
+
"required": false,
|
|
380
|
+
"optional": false,
|
|
381
|
+
"docs": {
|
|
382
|
+
"tags": [],
|
|
383
|
+
"text": "Reserva un check de 12px AL INICIO de la fila (antes del \u00EDcono/label).\nA diferencia de `trailingCheck` (que solo se monta si el prop est\u00E1 en\ntrue), ac\u00E1 el HUECO (12px + el gap de la fila) se reserva SIEMPRE que\n`leadingCheck` est\u00E9 activo \u2014 el `co-icon` de adentro solo se monta si\nadem\u00E1s `selected` es true, as\u00ED todas las filas de un men\u00FA de selecci\u00F3n\n\u00FAnica (formas, plantillas de p\u00E1gina) quedan alineadas aunque solo una\nest\u00E9 marcada. Pensado para men\u00FAs con `co-menu surface=\"dark\"`."
|
|
384
|
+
},
|
|
385
|
+
"getter": false,
|
|
386
|
+
"setter": false,
|
|
387
|
+
"reflect": false,
|
|
388
|
+
"attribute": "leading-check",
|
|
389
|
+
"defaultValue": "false"
|
|
390
|
+
},
|
|
343
391
|
"disabled": {
|
|
344
392
|
"type": "boolean",
|
|
345
393
|
"mutable": false,
|
|
@@ -461,4 +509,10 @@ export class CoMenuItem {
|
|
|
461
509
|
};
|
|
462
510
|
}
|
|
463
511
|
static get elementRef() { return "el"; }
|
|
512
|
+
static get watchers() {
|
|
513
|
+
return [{
|
|
514
|
+
"propName": "submenuOpen",
|
|
515
|
+
"methodName": "onSubmenuOpenChange"
|
|
516
|
+
}];
|
|
517
|
+
}
|
|
464
518
|
}
|
|
@@ -235,8 +235,219 @@
|
|
|
235
235
|
border-top: none;
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
-
/* header-divider="false": the body runs straight under the heading.
|
|
238
|
+
/* header-divider="false": the body runs straight under the heading.
|
|
239
|
+
Va ANTES de los modos panel/dialog (misma especificidad 0,2,0): esos modos
|
|
240
|
+
conservan la anatomía de su cuerpo (padding propio, sin divisor) aunque
|
|
241
|
+
además llegue header-divider="false". */
|
|
239
242
|
.co-modal--no-header-divider .co-modal__body {
|
|
240
243
|
border-top: none;
|
|
241
244
|
padding-top: 0;
|
|
242
245
|
}
|
|
246
|
+
|
|
247
|
+
/* ─── size="xs" (Task C12) ──────────────────────────────────── */
|
|
248
|
+
/* Panel angosto de ancho fijo (369px) — a diferencia de sm/lg (solo
|
|
249
|
+
max-width sobre el `width: 90vw` base) acá el ancho es fijo, expuesto vía
|
|
250
|
+
variable para que un consumidor lo pueda ajustar sin nueva prop. */
|
|
251
|
+
.co-modal--xs {
|
|
252
|
+
width: var(--co-modal-width, 369px);
|
|
253
|
+
max-width: var(--co-modal-width, 369px);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/* ─── appearance="panel" (Task C12) ─────────────────────────── */
|
|
257
|
+
/* Superficie plana con borde + sombra completa, SIN squircle: el tsx omite
|
|
258
|
+
.co-sq-clip/.co-sq-elevation en .co-modal--panel y .co-sq-elevation-fallback
|
|
259
|
+
en el frame para esta variante, así que radio/box-shadow van declarados acá
|
|
260
|
+
enteros (no hay partial squircle-surface.css involucrado). */
|
|
261
|
+
.co-modal--panel {
|
|
262
|
+
border-radius: var(--co-border-radius-sm);
|
|
263
|
+
border: 1px solid var(--co-semantic-border-subtle);
|
|
264
|
+
box-shadow: var(--co-shadow-lg);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.co-modal--panel .co-modal__header {
|
|
268
|
+
padding: 16px 20px 16px 24px;
|
|
269
|
+
align-items: center;
|
|
270
|
+
border-bottom: 1px solid var(--co-semantic-border-subtle);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.co-modal--panel .co-modal__heading {
|
|
274
|
+
font-size: var(--co-font-size-20);
|
|
275
|
+
font-weight: 500;
|
|
276
|
+
line-height: 1.25;
|
|
277
|
+
letter-spacing: var(--co-font-letter-spacing-body);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.co-modal--panel .co-modal__close {
|
|
281
|
+
width: 32px;
|
|
282
|
+
height: 32px;
|
|
283
|
+
padding: 0;
|
|
284
|
+
border-radius: var(--co-border-radius-full);
|
|
285
|
+
color: var(--co-semantic-text-default);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.co-modal--panel .co-modal__body {
|
|
289
|
+
padding: 24px;
|
|
290
|
+
border-top: none;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.co-modal--panel .co-modal__footer {
|
|
294
|
+
padding: 12px 24px;
|
|
295
|
+
gap: 12px;
|
|
296
|
+
border-top: 1px solid var(--co-semantic-border-subtle);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/* ─── backdrop="none" / inline (Task C12) ───────────────────── */
|
|
300
|
+
/* Sin <co-overlay> el frame deja de ser centrado por su flex del padre — se
|
|
301
|
+
posiciona y apila SOLO: mismo fixed+inset+centrado que co-overlay.css,
|
|
302
|
+
pero sin promoción a top layer (ver doc de `inline` en el @Prop). El
|
|
303
|
+
z-index es una variable propia (no pisa el 1000 de co-overlay) para que un
|
|
304
|
+
consumidor pueda ubicar sus propios portales por encima o por debajo a
|
|
305
|
+
gusto. `pointer-events: none` en el wrapper deja pasar los clics al resto
|
|
306
|
+
de la página (no hay backdrop que los intercepte); el panel recupera
|
|
307
|
+
`auto` SOLO mientras está abierto — `pointer-events` hereda, así que
|
|
308
|
+
cerrado (sin --open) el wrapper en none ya alcanza. */
|
|
309
|
+
.co-modal__frame--standalone {
|
|
310
|
+
position: fixed;
|
|
311
|
+
inset: 0;
|
|
312
|
+
z-index: var(--co-modal-z-index, 1000);
|
|
313
|
+
display: flex;
|
|
314
|
+
align-items: center;
|
|
315
|
+
justify-content: center;
|
|
316
|
+
pointer-events: none;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.co-modal__frame--standalone .co-modal--open {
|
|
320
|
+
pointer-events: auto;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/* Cerrado, el frame standalone sigue MONTADO (no hay co-overlay que lo
|
|
324
|
+
saque del flujo): solo con `opacity: 0` el panel seguía en el tab-order y
|
|
325
|
+
legible para AT (fix I-1). `visibility: hidden` lo saca de ambos, pero el
|
|
326
|
+
flip va DIFERIDO al final del fade-out de salida (delay = la misma
|
|
327
|
+
--co-motion-duration-fast de la transición base de .co-modal) para no
|
|
328
|
+
cortar la animación de cierre ni el `transitionend` de `transform` del que
|
|
329
|
+
sale `coAfterClose` (mismo patrón que co-accordion / co-action-bar). Al
|
|
330
|
+
abrir, la transición vigente es la de `.co-modal--open` (sin visibility),
|
|
331
|
+
así que el panel es visible desde el frame 1. Reduced-motion lo cubre el
|
|
332
|
+
zeroing global de --co-motion-duration-*. Solo aplica bajo el frame
|
|
333
|
+
standalone: el modal default (dentro de co-overlay) no cambia. */
|
|
334
|
+
.co-modal__frame--standalone .co-modal:not(.co-modal--open) {
|
|
335
|
+
visibility: hidden;
|
|
336
|
+
transition: transform var(--co-motion-duration-fast) var(--co-motion-ease-in), opacity var(--co-motion-duration-fast) var(--co-motion-ease-in), visibility 0s linear var(--co-motion-duration-fast);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/* ─── appearance="dialog" (Task M1) ─────────────────────────── */
|
|
340
|
+
/* La anatomía del componente "Modal" del design system (Figma Prolibu UI
|
|
341
|
+
Suite `1179:37247`), medida del Figma: contenedor 540 (= `md`) radio 16
|
|
342
|
+
`radius-lg`, fondo blanco, SIN borde ni sombra propios (el nodo no lleva
|
|
343
|
+
efecto: sobre el scrim alcanza); contenido con padding 32 `space-3xl` y gap
|
|
344
|
+
16 `space-lg` entre título (Subheading/S1: 22/500, lh 1.25, ls −3 %) y
|
|
345
|
+
cuerpo (Body/B2: 16/400, lh 1.5, ls −3 %, gris-600) sin divisor entre
|
|
346
|
+
ambos; footer con padding 16/24 (`space-lg`/`space-2xl`), gap 12
|
|
347
|
+
`space-md`, hairline superior `negro-8 %` = `--co-semantic-border-subtle`
|
|
348
|
+
y botones a la derecha (cuadrados radio 12: `co-button shape="square"
|
|
349
|
+
size="m"`). Igual que `panel`, el tsx omite las clases squircle para esta
|
|
350
|
+
variante, así que el radio va declarado acá entero (no hay partial
|
|
351
|
+
squircle-surface.css involucrado). Aditivo: `default` y `panel` no cambian. */
|
|
352
|
+
.co-modal--dialog {
|
|
353
|
+
border-radius: var(--co-border-radius-lg);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/* Header = solo el título (y el ✕ si `closable`): el padding inferior lo
|
|
357
|
+
pone el cuerpo (gap 16 del Figma). `flex-start`, no `center`: con
|
|
358
|
+
`description` el texto es una columna y el ✕ tiene que quedar arriba. */
|
|
359
|
+
.co-modal--dialog .co-modal__header {
|
|
360
|
+
padding: var(--co-spacing-3xl) var(--co-spacing-3xl) 0;
|
|
361
|
+
align-items: flex-start;
|
|
362
|
+
gap: var(--co-spacing-lg);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.co-modal--dialog .co-modal__header-text {
|
|
366
|
+
gap: var(--co-spacing-lg);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.co-modal--dialog .co-modal__heading {
|
|
370
|
+
font-size: var(--co-font-size-22);
|
|
371
|
+
font-weight: 500;
|
|
372
|
+
line-height: 1.25;
|
|
373
|
+
letter-spacing: var(--co-font-letter-spacing-body);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.co-modal--dialog .co-modal__description {
|
|
377
|
+
font-size: var(--co-font-size-16);
|
|
378
|
+
line-height: 1.5;
|
|
379
|
+
letter-spacing: var(--co-font-letter-spacing-body);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/* ✕ redondo de 32 (el mismo del modo `panel`), subido 3 px para centrarlo
|
|
383
|
+
ópticamente en la línea de 27,5 del título y corrido 6 px hacia el borde
|
|
384
|
+
para que el glifo (18 px, 7 de aire en la caja) quede al ras del padding. */
|
|
385
|
+
.co-modal--dialog .co-modal__close {
|
|
386
|
+
width: 32px;
|
|
387
|
+
height: 32px;
|
|
388
|
+
padding: 0;
|
|
389
|
+
margin: -3px -6px 0 0;
|
|
390
|
+
border-radius: var(--co-border-radius-full);
|
|
391
|
+
color: var(--co-semantic-text-default);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* Cuerpo: 16 arriba (gap título→cuerpo), 32 a los lados y abajo; sin el
|
|
395
|
+
divisor del default. Tipografía Body/B2 del DS (el consumidor la hereda). */
|
|
396
|
+
.co-modal--dialog .co-modal__body {
|
|
397
|
+
padding: var(--co-spacing-lg) var(--co-spacing-3xl) var(--co-spacing-3xl);
|
|
398
|
+
border-top: none;
|
|
399
|
+
font-size: var(--co-font-size-16);
|
|
400
|
+
line-height: 1.5;
|
|
401
|
+
letter-spacing: var(--co-font-letter-spacing-body);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/* `size="full"` (viewers edge-to-edge) conserva su cuerpo sin padding: la
|
|
405
|
+
regla de arriba tiene la misma especificidad que `.co-modal--full
|
|
406
|
+
.co-modal__body` y va después, así que se re-afirma explícitamente. */
|
|
407
|
+
.co-modal--dialog.co-modal--full .co-modal__body {
|
|
408
|
+
padding: 0;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
/* Footer 16/24, gap 12, hairline subtle. Solo el COLOR del borde: así
|
|
412
|
+
`no-dividers` (`border-top: none`, misma especificidad, declarado antes)
|
|
413
|
+
sigue quitándolo. Los botones cuadrados del Figma (radio 12) los pone el
|
|
414
|
+
consumidor con `shape="square"`; la variable cubre a los `rounded`. */
|
|
415
|
+
.co-modal--dialog .co-modal__footer {
|
|
416
|
+
padding: var(--co-spacing-lg) var(--co-spacing-2xl);
|
|
417
|
+
gap: var(--co-spacing-md);
|
|
418
|
+
border-top-color: var(--co-semantic-border-subtle);
|
|
419
|
+
--co-button-radius: var(--co-border-radius-sm);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/* ─── movable (Task D1) ─────────────────────────────────────── */
|
|
423
|
+
/* Opt-in: sin `movable` no se emite ninguna de estas clases, así que el CSS
|
|
424
|
+
por defecto queda idéntico. El desplazamiento lo escribe el gesto como
|
|
425
|
+
custom property y se aplica con `translate` — una propiedad INDEPENDIENTE
|
|
426
|
+
del `transform` que anima la apertura (scale), así que no la pisa ni
|
|
427
|
+
dispara layout. `none` es el valor inicial: sin arrastrar, el panel queda
|
|
428
|
+
exactamente donde lo dejan co-overlay o el consumidor. */
|
|
429
|
+
.co-modal--movable {
|
|
430
|
+
translate: var(--co-modal-translate, none);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/* El header entero es la zona de agarre (no hay ícono de agarre).
|
|
434
|
+
`touch-action: none` para que el gesto táctil mueva en vez de scrollear, y
|
|
435
|
+
sin selección de texto para que arrastrar el título no lo pinte. */
|
|
436
|
+
.co-modal__header--movable {
|
|
437
|
+
cursor: grab;
|
|
438
|
+
touch-action: none;
|
|
439
|
+
user-select: none;
|
|
440
|
+
-webkit-user-select: none;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
/* Los controles del header conservan su cursor: el ✕ no arrastra (el gesto lo
|
|
444
|
+
ignora, ver isInteractiveDragTarget) y no debe parecer que sí. */
|
|
445
|
+
.co-modal__header--movable .co-modal__close {
|
|
446
|
+
cursor: pointer;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/* Declarada DESPUÉS de --movable y con la misma especificidad: gana por orden
|
|
450
|
+
mientras dura el gesto. */
|
|
451
|
+
.co-modal__header--dragging {
|
|
452
|
+
cursor: grabbing;
|
|
453
|
+
}
|