@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
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matemática pura de co-gradient-bar y co-swatch-grid: parseo de colores
|
|
3
|
+
* (hex/rgb/rgba), interpolación entre paradas, CSS del degradado y la
|
|
4
|
+
* geometría puntero → posición. Sin DOM ni estado: se testea en el proyecto
|
|
5
|
+
* `unit` (node).
|
|
6
|
+
*/
|
|
7
|
+
import { luminanceRgb } from "./color";
|
|
8
|
+
import { clamp, hexToRgb, rgbToHex } from "./hsv";
|
|
9
|
+
/**
|
|
10
|
+
* Lee un color CSS a canales. Soporta hex de 3/4/6/8 dígitos (vía
|
|
11
|
+
* `hsv.hexToRgb`, único parser de hex del picker) y rgb()/rgba() (con comas
|
|
12
|
+
* o con la sintaxis `/ alpha`). Tokens (`var(--x)`) y nombres (`red`)
|
|
13
|
+
* devuelven null: el llamador decide cómo degradar.
|
|
14
|
+
*/
|
|
15
|
+
export function parseColor(color) {
|
|
16
|
+
var _a;
|
|
17
|
+
if (!color || typeof color !== 'string')
|
|
18
|
+
return null;
|
|
19
|
+
const s = color.trim();
|
|
20
|
+
if (s.startsWith('#')) {
|
|
21
|
+
const c = hexToRgb(s);
|
|
22
|
+
return c ? { r: c.r, g: c.g, b: c.b, a: (_a = c.a) !== null && _a !== void 0 ? _a : 1 } : null;
|
|
23
|
+
}
|
|
24
|
+
const m = /^rgba?\(\s*([^)]*?)\s*\)$/i.exec(s);
|
|
25
|
+
if (!m)
|
|
26
|
+
return null;
|
|
27
|
+
// "10, 20, 30, 0.5" · "10 20 30 / 25%" · "10 20 30"
|
|
28
|
+
const parts = m[1].split(/\s*[,/]\s*|\s+/).filter(Boolean);
|
|
29
|
+
if (parts.length < 3 || parts.length > 4)
|
|
30
|
+
return null;
|
|
31
|
+
const [r, g, b] = parts.slice(0, 3).map((p) => Number(p));
|
|
32
|
+
if ([r, g, b].some((v) => Number.isNaN(v)))
|
|
33
|
+
return null;
|
|
34
|
+
const a = parts[3] === undefined ? 1 : parseAlpha(parts[3]);
|
|
35
|
+
if (a === null)
|
|
36
|
+
return null;
|
|
37
|
+
return { r: clamp(r, 0, 255), g: clamp(g, 0, 255), b: clamp(b, 0, 255), a };
|
|
38
|
+
}
|
|
39
|
+
function parseAlpha(raw) {
|
|
40
|
+
const pct = raw.endsWith('%');
|
|
41
|
+
const n = Number(pct ? raw.slice(0, -1) : raw);
|
|
42
|
+
if (Number.isNaN(n))
|
|
43
|
+
return null;
|
|
44
|
+
return clamp(pct ? n / 100 : n, 0, 1);
|
|
45
|
+
}
|
|
46
|
+
const round = (n, decimals) => Math.round(n * 10 ** decimals) / 10 ** decimals;
|
|
47
|
+
/** Opaco → `#rrggbb` (minúsculas, vía `hsv.rgbToHex`); con alpha → `rgba(r, g, b, a)`. */
|
|
48
|
+
export function formatColor({ r, g, b, a }) {
|
|
49
|
+
if (a >= 1)
|
|
50
|
+
return rgbToHex({ r, g, b });
|
|
51
|
+
return `rgba(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)}, ${round(a, 3)})`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* El mismo color con alpha 1 (`#rrggbb`), para la mitad "sólida" del chip de
|
|
55
|
+
* un stop translúcido. Un color ilegible se devuelve tal cual.
|
|
56
|
+
*/
|
|
57
|
+
export function opaqueColor(color) {
|
|
58
|
+
const c = parseColor(color);
|
|
59
|
+
return c ? formatColor(Object.assign(Object.assign({}, c), { a: 1 })) : color;
|
|
60
|
+
}
|
|
61
|
+
const byPosition = (stops) => [...stops].sort((a, b) => a.position - b.position);
|
|
62
|
+
/**
|
|
63
|
+
* Color que tiene el degradado en `position`: mezcla lineal (sRGB, con alpha)
|
|
64
|
+
* entre las dos paradas que la rodean. Fuera del rango devuelve el color del
|
|
65
|
+
* extremo. Si alguna parada vecina no se puede parsear, devuelve el string de
|
|
66
|
+
* la parada más cercana tal cual (no inventa un color).
|
|
67
|
+
*/
|
|
68
|
+
export function interpolateStopColor(stops, position) {
|
|
69
|
+
if (stops.length === 0)
|
|
70
|
+
return 'rgba(0, 0, 0, 0)';
|
|
71
|
+
const sorted = byPosition(stops);
|
|
72
|
+
const p = clamp(position, 0, 100);
|
|
73
|
+
if (p <= sorted[0].position)
|
|
74
|
+
return sorted[0].color;
|
|
75
|
+
const last = sorted[sorted.length - 1];
|
|
76
|
+
if (p >= last.position)
|
|
77
|
+
return last.color;
|
|
78
|
+
let i = 1;
|
|
79
|
+
while (sorted[i].position < p)
|
|
80
|
+
i++;
|
|
81
|
+
const from = sorted[i - 1];
|
|
82
|
+
const to = sorted[i];
|
|
83
|
+
const span = to.position - from.position;
|
|
84
|
+
const t = span === 0 ? 0 : (p - from.position) / span;
|
|
85
|
+
const nearest = t < 0.5 ? from : to;
|
|
86
|
+
const c0 = parseColor(from.color);
|
|
87
|
+
const c1 = parseColor(to.color);
|
|
88
|
+
if (!c0 || !c1)
|
|
89
|
+
return nearest.color;
|
|
90
|
+
return formatColor({
|
|
91
|
+
r: c0.r + (c1.r - c0.r) * t,
|
|
92
|
+
g: c0.g + (c1.g - c0.g) * t,
|
|
93
|
+
b: c0.b + (c1.b - c0.b) * t,
|
|
94
|
+
a: c0.a + (c1.a - c0.a) * t,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/** `linear-gradient(to right, …)` con las paradas ordenadas; sin paradas → `transparent`. */
|
|
98
|
+
export function gradientCss(stops) {
|
|
99
|
+
if (stops.length === 0)
|
|
100
|
+
return 'transparent';
|
|
101
|
+
if (stops.length === 1) {
|
|
102
|
+
const { color } = stops[0];
|
|
103
|
+
return `linear-gradient(to right, ${color} 0%, ${color} 100%)`;
|
|
104
|
+
}
|
|
105
|
+
const parts = byPosition(stops).map((s) => `${s.color} ${clamp(s.position, 0, 100)}%`);
|
|
106
|
+
return `linear-gradient(to right, ${parts.join(', ')})`;
|
|
107
|
+
}
|
|
108
|
+
/** true si alguna parada tiene alpha < 1 (la barra necesita el damero debajo). */
|
|
109
|
+
export function hasTransparentStop(stops) {
|
|
110
|
+
return stops.some((s) => {
|
|
111
|
+
const c = parseColor(s.color);
|
|
112
|
+
return !!c && c.a < 1;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Posición (0–100, entera) de un puntero sobre el track. `trackWidth` 0 (sin
|
|
117
|
+
* medir, display:none, jsdom) → 0, nunca NaN.
|
|
118
|
+
*/
|
|
119
|
+
export function positionFromPointer(clientX, trackLeft, trackWidth) {
|
|
120
|
+
if (trackWidth <= 0)
|
|
121
|
+
return 0;
|
|
122
|
+
return Math.round(clamp(((clientX - trackLeft) / trackWidth) * 100, 0, 100));
|
|
123
|
+
}
|
|
124
|
+
/** Paso de teclado: posición + delta, acotado a 0–100. */
|
|
125
|
+
export function stepPosition(position, delta) {
|
|
126
|
+
return clamp(position + delta, 0, 100);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Swatch "claro" (necesita borde para no fundirse con el fondo): luminancia
|
|
130
|
+
* WCAG > 0,85 tras componer el alpha sobre blanco. Umbral distinto al
|
|
131
|
+
* `isLightColor` de `utils/color.ts` (0,4, pensado para elegir el color del
|
|
132
|
+
* texto), por eso vive aparte y no cambia aquel default.
|
|
133
|
+
*/
|
|
134
|
+
export function isLightSwatch(color) {
|
|
135
|
+
const c = parseColor(color);
|
|
136
|
+
if (!c)
|
|
137
|
+
return false;
|
|
138
|
+
// Compone sobre blanco y mide directo sobre los canales (sin re-codificar a
|
|
139
|
+
// hex — fix I-6): `luminanceRgb` acepta decimales.
|
|
140
|
+
const over = (v) => v * c.a + 255 * (1 - c.a);
|
|
141
|
+
return luminanceRgb({ r: over(c.r), g: over(c.g), b: over(c.b) }) > 0.85;
|
|
142
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversiones puras HSV ⇄ RGB ⇄ HEX para el picker de color del editor
|
|
3
|
+
* (`co-color-area` + `co-color-slider`).
|
|
4
|
+
*
|
|
5
|
+
* Convención de rangos (la misma que exponen los componentes):
|
|
6
|
+
* h ∈ [0, 360) s ∈ [0, 100] v ∈ [0, 100] r/g/b ∈ [0, 255] a ∈ [0, 1]
|
|
7
|
+
*
|
|
8
|
+
* `hexToHsv` NO redondea: la ida y vuelta hex → hsv → hex solo es estable con
|
|
9
|
+
* los decimales (p.ej. #008ff0 es h=204.25, v=94.117…; redondeado a enteros
|
|
10
|
+
* vuelve como #0090f0). Quien muestre números redondea en la UI.
|
|
11
|
+
*
|
|
12
|
+
* Sin dependencias de DOM: corre en el proyecto `unit` (node) de vitest.
|
|
13
|
+
*/
|
|
14
|
+
/** Acota `n` a [min, max]. NaN cae a `min` para no propagar basura aguas abajo. */
|
|
15
|
+
export function clamp(n, min, max) {
|
|
16
|
+
if (Number.isNaN(n))
|
|
17
|
+
return min;
|
|
18
|
+
return Math.min(max, Math.max(min, n));
|
|
19
|
+
}
|
|
20
|
+
/** Normaliza un tono a [0, 360): 360 → 0, −120 → 240. */
|
|
21
|
+
function wrapHue(h) {
|
|
22
|
+
if (Number.isNaN(h))
|
|
23
|
+
return 0;
|
|
24
|
+
return ((h % 360) + 360) % 360;
|
|
25
|
+
}
|
|
26
|
+
/** HSV → RGB (0–255, redondeado). Algoritmo estándar por sectores de 60°. */
|
|
27
|
+
export function hsvToRgb({ h, s, v }) {
|
|
28
|
+
const hue = wrapHue(h);
|
|
29
|
+
const sat = clamp(s, 0, 100) / 100;
|
|
30
|
+
const val = clamp(v, 0, 100) / 100;
|
|
31
|
+
const c = val * sat;
|
|
32
|
+
const x = c * (1 - Math.abs(((hue / 60) % 2) - 1));
|
|
33
|
+
const m = val - c;
|
|
34
|
+
let r = 0;
|
|
35
|
+
let g = 0;
|
|
36
|
+
let b = 0;
|
|
37
|
+
if (hue < 60)
|
|
38
|
+
[r, g] = [c, x];
|
|
39
|
+
else if (hue < 120)
|
|
40
|
+
[r, g] = [x, c];
|
|
41
|
+
else if (hue < 180)
|
|
42
|
+
[g, b] = [c, x];
|
|
43
|
+
else if (hue < 240)
|
|
44
|
+
[g, b] = [x, c];
|
|
45
|
+
else if (hue < 300)
|
|
46
|
+
[r, b] = [x, c];
|
|
47
|
+
else
|
|
48
|
+
[r, b] = [c, x];
|
|
49
|
+
return {
|
|
50
|
+
r: Math.round((r + m) * 255),
|
|
51
|
+
g: Math.round((g + m) * 255),
|
|
52
|
+
b: Math.round((b + m) * 255),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** RGB (0–255) → HSV sin redondear. El gris devuelve h=0, s=0 (nunca NaN). */
|
|
56
|
+
export function rgbToHsv({ r, g, b }) {
|
|
57
|
+
const rr = clamp(r, 0, 255) / 255;
|
|
58
|
+
const gg = clamp(g, 0, 255) / 255;
|
|
59
|
+
const bb = clamp(b, 0, 255) / 255;
|
|
60
|
+
const max = Math.max(rr, gg, bb);
|
|
61
|
+
const min = Math.min(rr, gg, bb);
|
|
62
|
+
const d = max - min;
|
|
63
|
+
let h = 0;
|
|
64
|
+
if (d !== 0) {
|
|
65
|
+
if (max === rr)
|
|
66
|
+
h = 60 * (((gg - bb) / d) % 6);
|
|
67
|
+
else if (max === gg)
|
|
68
|
+
h = 60 * ((bb - rr) / d + 2);
|
|
69
|
+
else
|
|
70
|
+
h = 60 * ((rr - gg) / d + 4);
|
|
71
|
+
if (h < 0)
|
|
72
|
+
h += 360;
|
|
73
|
+
}
|
|
74
|
+
return { h, s: max === 0 ? 0 : (d / max) * 100, v: max * 100 };
|
|
75
|
+
}
|
|
76
|
+
const HEX_RE = /^#?([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
77
|
+
/**
|
|
78
|
+
* `#rgb` / `#rgba` / `#rrggbb` / `#rrggbbaa` (con o sin `#`, cualquier caja)
|
|
79
|
+
* → RGB. `a` viene en 0–1 (1 cuando el hex no trae alpha). `null` si no es
|
|
80
|
+
* un hex. Es el ÚNICO parser de hex del picker: `gradientStops.parseColor`
|
|
81
|
+
* delega acá su rama hex (fix I-6).
|
|
82
|
+
*/
|
|
83
|
+
export function hexToRgb(hex) {
|
|
84
|
+
if (typeof hex !== 'string')
|
|
85
|
+
return null;
|
|
86
|
+
const m = HEX_RE.exec(hex.trim());
|
|
87
|
+
if (!m)
|
|
88
|
+
return null;
|
|
89
|
+
let h = m[1];
|
|
90
|
+
// Forma corta (#rgb / #rgba): cada dígito se duplica.
|
|
91
|
+
if (h.length <= 4)
|
|
92
|
+
h = h.split('').map((ch) => ch + ch).join('');
|
|
93
|
+
const int = (i) => parseInt(h.slice(i, i + 2), 16);
|
|
94
|
+
return {
|
|
95
|
+
r: int(0),
|
|
96
|
+
g: int(2),
|
|
97
|
+
b: int(4),
|
|
98
|
+
a: h.length === 8 ? int(6) / 255 : 1,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/** RGB → `#rrggbb` en minúscula (el alpha, si viene, se omite). */
|
|
102
|
+
export function rgbToHex({ r, g, b }) {
|
|
103
|
+
const part = (n) => Math.round(clamp(n, 0, 255)).toString(16).padStart(2, '0');
|
|
104
|
+
return `#${part(r)}${part(g)}${part(b)}`;
|
|
105
|
+
}
|
|
106
|
+
/** HSV → `#rrggbb`. */
|
|
107
|
+
export function hsvToHex(hsv) {
|
|
108
|
+
return rgbToHex(hsvToRgb(hsv));
|
|
109
|
+
}
|
|
110
|
+
/** HEX → HSV sin redondear (ver nota de cabecera). `null` si no es un hex. */
|
|
111
|
+
export function hexToHsv(hex) {
|
|
112
|
+
const rgb = hexToRgb(hex);
|
|
113
|
+
return rgb ? rgbToHsv(rgb) : null;
|
|
114
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diccionario embebido de `co-kbd` para las etiquetas de texto de los
|
|
3
|
+
* modificadores en plataformas sin teclas dedicadas (Windows/Linux): sin
|
|
4
|
+
* los glifos de Mac (⌘/⇧/⌥/⌃) el modificador se rotula con texto.
|
|
5
|
+
*
|
|
6
|
+
* Mismo patrón que `fileI18n.ts`: un mapa por locale + un getter. A
|
|
7
|
+
* diferencia de `fileI18n`, acá el locale no llega tipado por componente —
|
|
8
|
+
* `co-kbd` expone un `locale?: string` opcional (BCP-47, p.ej. "es-CO") y
|
|
9
|
+
* este util lo resuelve al lenguaje soportado más cercano, igual que
|
|
10
|
+
* `langFromLocale` en `fileI18n.ts`.
|
|
11
|
+
*/
|
|
12
|
+
const DICT = {
|
|
13
|
+
es: { ctrl: 'Ctrl', shift: 'Shift', alt: 'Alt', win: 'Win' },
|
|
14
|
+
en: { ctrl: 'Ctrl', shift: 'Shift', alt: 'Alt', win: 'Win' },
|
|
15
|
+
pt: { ctrl: 'Ctrl', shift: 'Shift', alt: 'Alt', win: 'Win' },
|
|
16
|
+
};
|
|
17
|
+
/** Map any BCP-47 locale (e.g. "es-CO") to a supported language; fallback 'en'. */
|
|
18
|
+
export function langFromLocale(locale) {
|
|
19
|
+
const l = (locale || '').toLowerCase();
|
|
20
|
+
if (l.startsWith('es'))
|
|
21
|
+
return 'es';
|
|
22
|
+
if (l.startsWith('pt'))
|
|
23
|
+
return 'pt';
|
|
24
|
+
return 'en';
|
|
25
|
+
}
|
|
26
|
+
/** Resolve the built-in win-label strings for a locale. */
|
|
27
|
+
export function getKbdStrings(locale) {
|
|
28
|
+
return DICT[langFromLocale(locale)];
|
|
29
|
+
}
|
|
@@ -10,9 +10,15 @@
|
|
|
10
10
|
* Calculate top/left for a fixed-position panel relative to a trigger.
|
|
11
11
|
*/
|
|
12
12
|
export function computePosition(triggerRect, panelRect, options) {
|
|
13
|
+
var _a, _b;
|
|
13
14
|
const { offset, flip } = options;
|
|
14
15
|
const viewportH = window.innerHeight;
|
|
15
16
|
const viewportW = window.innerWidth;
|
|
17
|
+
const shift = (_a = options.shift) !== null && _a !== void 0 ? _a : 0;
|
|
18
|
+
// Task C10 (Fase 2 Cobalt): con `anchor`, TODA la matemática (flip incluido)
|
|
19
|
+
// se hace contra el rect del anchor en vez del trigger. Sin `anchorRect`,
|
|
20
|
+
// `referenceRect === triggerRect` — cero cambio de comportamiento.
|
|
21
|
+
const referenceRect = (_b = options.anchorRect) !== null && _b !== void 0 ? _b : triggerRect;
|
|
16
22
|
let placement = options.placement;
|
|
17
23
|
// Auto-flip if needed
|
|
18
24
|
if (flip) {
|
|
@@ -21,29 +27,29 @@ export function computePosition(triggerRect, panelRect, options) {
|
|
|
21
27
|
const isRight = placement.startsWith('right');
|
|
22
28
|
const isLeft = placement.startsWith('left');
|
|
23
29
|
if (isBottom) {
|
|
24
|
-
const spaceBelow = viewportH -
|
|
25
|
-
const spaceAbove =
|
|
30
|
+
const spaceBelow = viewportH - referenceRect.bottom - offset;
|
|
31
|
+
const spaceAbove = referenceRect.top - offset;
|
|
26
32
|
if (spaceBelow < panelRect.height && spaceAbove > spaceBelow) {
|
|
27
33
|
placement = placement.replace('bottom', 'top');
|
|
28
34
|
}
|
|
29
35
|
}
|
|
30
36
|
else if (isTop) {
|
|
31
|
-
const spaceAbove =
|
|
32
|
-
const spaceBelow = viewportH -
|
|
37
|
+
const spaceAbove = referenceRect.top - offset;
|
|
38
|
+
const spaceBelow = viewportH - referenceRect.bottom - offset;
|
|
33
39
|
if (spaceAbove < panelRect.height && spaceBelow > spaceAbove) {
|
|
34
40
|
placement = placement.replace('top', 'bottom');
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
else if (isRight) {
|
|
38
|
-
const spaceRight = viewportW -
|
|
39
|
-
const spaceLeft =
|
|
44
|
+
const spaceRight = viewportW - referenceRect.right - offset;
|
|
45
|
+
const spaceLeft = referenceRect.left - offset;
|
|
40
46
|
if (spaceRight < panelRect.width && spaceLeft > spaceRight) {
|
|
41
47
|
placement = placement.replace('right', 'left');
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
else if (isLeft) {
|
|
45
|
-
const spaceLeft =
|
|
46
|
-
const spaceRight = viewportW -
|
|
51
|
+
const spaceLeft = referenceRect.left - offset;
|
|
52
|
+
const spaceRight = viewportW - referenceRect.right - offset;
|
|
47
53
|
if (spaceLeft < panelRect.width && spaceRight > spaceLeft) {
|
|
48
54
|
placement = placement.replace('left', 'right');
|
|
49
55
|
}
|
|
@@ -58,29 +64,33 @@ export function computePosition(triggerRect, panelRect, options) {
|
|
|
58
64
|
const isHorizontal = isRight || isLeft;
|
|
59
65
|
if (isHorizontal) {
|
|
60
66
|
if (isRight)
|
|
61
|
-
left =
|
|
67
|
+
left = referenceRect.right + offset;
|
|
62
68
|
else
|
|
63
|
-
left =
|
|
69
|
+
left = referenceRect.left - panelRect.width - offset;
|
|
64
70
|
const align = placement.split('-')[1] || 'center';
|
|
65
71
|
if (align === 'start')
|
|
66
|
-
top =
|
|
72
|
+
top = referenceRect.top;
|
|
67
73
|
else if (align === 'end')
|
|
68
|
-
top =
|
|
74
|
+
top = referenceRect.bottom - panelRect.height;
|
|
69
75
|
else
|
|
70
|
-
top =
|
|
76
|
+
top = referenceRect.top + (referenceRect.height - panelRect.height) / 2;
|
|
77
|
+
// Eje cruzado de un placement horizontal (left*/right*) es vertical.
|
|
78
|
+
top += shift;
|
|
71
79
|
}
|
|
72
80
|
else {
|
|
73
81
|
if (isTop)
|
|
74
|
-
top =
|
|
82
|
+
top = referenceRect.top - panelRect.height - offset;
|
|
75
83
|
else
|
|
76
|
-
top =
|
|
84
|
+
top = referenceRect.bottom + offset;
|
|
77
85
|
const align = placement.split('-')[1] || 'center';
|
|
78
86
|
if (align === 'start')
|
|
79
|
-
left =
|
|
87
|
+
left = referenceRect.left;
|
|
80
88
|
else if (align === 'end')
|
|
81
|
-
left =
|
|
89
|
+
left = referenceRect.right - panelRect.width;
|
|
82
90
|
else
|
|
83
|
-
left =
|
|
91
|
+
left = referenceRect.left + (referenceRect.width - panelRect.width) / 2;
|
|
92
|
+
// Eje cruzado de un placement vertical (top*/bottom*) es horizontal.
|
|
93
|
+
left += shift;
|
|
84
94
|
}
|
|
85
95
|
// Clamp to viewport edges (4px margin)
|
|
86
96
|
if (left < 4)
|
|
@@ -209,3 +219,19 @@ export function findScrollParents(start) {
|
|
|
209
219
|
}
|
|
210
220
|
return out;
|
|
211
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* ¿El ancla (trigger) se ve todavía? Tiene que tener caja y cortar el viewport Y
|
|
224
|
+
* cada uno de sus scrollers (`clipRects`, del más cercano al más lejano — lo que
|
|
225
|
+
* devuelve `findScrollParents`, medido). Basta con que UNO la recorte entera para
|
|
226
|
+
* que no se vea: el kebab de una card que el scroll de su columna sacó por arriba
|
|
227
|
+
* sigue dentro del viewport, pero ya no es visible.
|
|
228
|
+
*
|
|
229
|
+
* Asomada en un borde cuenta como visible: el panel todavía tiene de qué colgar.
|
|
230
|
+
*/
|
|
231
|
+
export function isAnchorVisible(anchor, clipRects) {
|
|
232
|
+
if (!anchor.width && !anchor.height)
|
|
233
|
+
return false;
|
|
234
|
+
const viewport = { top: 0, left: 0, bottom: window.innerHeight, right: window.innerWidth };
|
|
235
|
+
return [viewport, ...clipRects].every((clip) => anchor.bottom > clip.top && anchor.top < clip.bottom
|
|
236
|
+
&& anchor.right > clip.left && anchor.left < clip.right);
|
|
237
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cableado común de los componentes que montan un editor de cobalt-rich-text
|
|
3
|
+
* (co-rich-text-editor y co-document-editor). Extraído del RTE sin cambiar su
|
|
4
|
+
* comportamiento (spec contracts-v2-contract-editor §4.4; caracterización en
|
|
5
|
+
* co-rich-text-editor.characterization.spec.tsx). El menú flotante NO vive acá.
|
|
6
|
+
*/
|
|
7
|
+
/** `features` llega como objeto (propiedad JS) o como JSON (atributo HTML). */
|
|
8
|
+
export function parseFeatures(features) {
|
|
9
|
+
if (!features)
|
|
10
|
+
return undefined;
|
|
11
|
+
if (typeof features === 'string') {
|
|
12
|
+
try {
|
|
13
|
+
return JSON.parse(features);
|
|
14
|
+
}
|
|
15
|
+
catch (_a) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return features;
|
|
20
|
+
}
|
|
21
|
+
/** `value` puede ser JSON de ProseMirror o HTML; vacío = documento vacío. */
|
|
22
|
+
export function parseEditorValue(v) {
|
|
23
|
+
if (!v)
|
|
24
|
+
return '';
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(v);
|
|
27
|
+
}
|
|
28
|
+
catch (_a) {
|
|
29
|
+
return v;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Guarda anti-eco: el padre suele devolver por `value` lo mismo que el editor
|
|
34
|
+
* acaba de emitir (en JSON o en HTML). Re-aplicarlo reinicia el editor y el
|
|
35
|
+
* cursor salta: se ignora.
|
|
36
|
+
*/
|
|
37
|
+
export class EchoGuard {
|
|
38
|
+
constructor() {
|
|
39
|
+
this.json = null;
|
|
40
|
+
this.html = '';
|
|
41
|
+
}
|
|
42
|
+
/** Tras aplicar un valor externo (o al montar): ese valor pasa a ser el "último". */
|
|
43
|
+
seed(v) {
|
|
44
|
+
this.json = v;
|
|
45
|
+
this.html = '';
|
|
46
|
+
}
|
|
47
|
+
markEmitted(out) {
|
|
48
|
+
this.json = out.json ? JSON.stringify(out.json) : null;
|
|
49
|
+
this.html = out.html;
|
|
50
|
+
}
|
|
51
|
+
isEcho(incoming) {
|
|
52
|
+
return incoming === this.json || incoming === this.html;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** Aplica un `value` externo sin emitir update. */
|
|
56
|
+
export function applyExternalValue(editor, incoming) {
|
|
57
|
+
if (incoming === '' || incoming === null) {
|
|
58
|
+
editor.commands.clearContent(false);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
editor.commands.setContent(parseEditorValue(incoming), { emitUpdate: false });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Salida `{json, html, text}` del RTE. `sanitizeHtml` lo pone el componente (preset + features). */
|
|
65
|
+
export function buildOutput(editor, sanitizeHtml) {
|
|
66
|
+
const empty = editor.isEmpty;
|
|
67
|
+
return {
|
|
68
|
+
json: empty ? null : editor.getJSON(),
|
|
69
|
+
html: empty ? '' : sanitizeHtml(editor.getHTML()),
|
|
70
|
+
text: editor.getText(),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** Pasa el editor activo y el handler de imágenes a `co-rich-text-toolbar`. */
|
|
74
|
+
export function syncToolbarEditor(toolbarEl, editor, imageUpload) {
|
|
75
|
+
if (toolbarEl && editor && toolbarEl.editor !== editor) {
|
|
76
|
+
toolbarEl.editor = editor;
|
|
77
|
+
}
|
|
78
|
+
if (toolbarEl) {
|
|
79
|
+
toolbarEl.imageUpload = imageUpload;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Marca cada contenedor de imagen con su modo (`data-image-layout`) para que
|
|
84
|
+
* apliquen las reglas del CSS, y limpia el posicionamiento absoluto heredado del
|
|
85
|
+
* modelo de página fija. El NodeView de resize nunca refleja cambios de attrs en
|
|
86
|
+
* el DOM: se lee del state y se escribe el atributo a mano.
|
|
87
|
+
*/
|
|
88
|
+
export function syncImageLayouts(editor) {
|
|
89
|
+
const view = editor.view;
|
|
90
|
+
editor.state.doc.descendants((node, pos) => {
|
|
91
|
+
var _a;
|
|
92
|
+
if (node.type.name !== 'image')
|
|
93
|
+
return true;
|
|
94
|
+
const dom = view.nodeDOM(pos);
|
|
95
|
+
const c = (((_a = dom === null || dom === void 0 ? void 0 : dom.closest) === null || _a === void 0 ? void 0 : _a.call(dom, '[data-resize-container]')) || dom);
|
|
96
|
+
if (!c)
|
|
97
|
+
return true;
|
|
98
|
+
const layout = node.attrs.imageLayout || 'inline';
|
|
99
|
+
c.dataset.imageLayout = layout;
|
|
100
|
+
c.style.position = '';
|
|
101
|
+
c.style.left = '';
|
|
102
|
+
c.style.top = '';
|
|
103
|
+
c.style.zIndex = '';
|
|
104
|
+
// El NodeView de resize fija `display: inline-flex` inline, que le gana al
|
|
105
|
+
// `display: block` del CSS en `center` / `full-width` (2026-09-17).
|
|
106
|
+
c.style.display = layout === 'center' || layout === 'full-width' ? '' : 'inline-flex';
|
|
107
|
+
return true;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
@@ -124,6 +124,21 @@ const DICT = {
|
|
|
124
124
|
imageLayoutWrapRight: 'Wrap right',
|
|
125
125
|
imageLayoutCenter: 'Center',
|
|
126
126
|
imageLayoutFullWidth: 'Full width',
|
|
127
|
+
heading4: 'Heading 4',
|
|
128
|
+
headingAbbr4: 'H4',
|
|
129
|
+
field: 'Field',
|
|
130
|
+
fieldNamePlaceholder: 'Field name',
|
|
131
|
+
signature: 'Signature',
|
|
132
|
+
documentHeader: 'Header',
|
|
133
|
+
page: 'Page',
|
|
134
|
+
pageNumber: 'Page number',
|
|
135
|
+
confirmHeader: 'Confirm header',
|
|
136
|
+
zoom: 'Zoom',
|
|
137
|
+
zoomFit: 'Fit width',
|
|
138
|
+
zoomActual: '100 %',
|
|
139
|
+
imageLayoutBreak: 'Break text',
|
|
140
|
+
imageLayoutLabel: 'Image layout',
|
|
141
|
+
documentEditor: 'Document editor',
|
|
127
142
|
},
|
|
128
143
|
es: {
|
|
129
144
|
bold: 'Negrita',
|
|
@@ -243,6 +258,21 @@ const DICT = {
|
|
|
243
258
|
imageLayoutWrapRight: 'Ajustar a la derecha',
|
|
244
259
|
imageLayoutCenter: 'Centrar',
|
|
245
260
|
imageLayoutFullWidth: 'Ancho completo',
|
|
261
|
+
heading4: 'Encabezado 4',
|
|
262
|
+
headingAbbr4: 'Enc. 4',
|
|
263
|
+
field: 'Campo',
|
|
264
|
+
fieldNamePlaceholder: 'Nombre del campo',
|
|
265
|
+
signature: 'Firma',
|
|
266
|
+
documentHeader: 'Encabezado',
|
|
267
|
+
page: 'Página',
|
|
268
|
+
pageNumber: 'Número de página',
|
|
269
|
+
confirmHeader: 'Confirmar encabezado',
|
|
270
|
+
zoom: 'Zoom',
|
|
271
|
+
zoomFit: 'Ajustar al ancho',
|
|
272
|
+
zoomActual: '100 %',
|
|
273
|
+
imageLayoutBreak: 'Separar del texto',
|
|
274
|
+
imageLayoutLabel: 'Diseño de la imagen',
|
|
275
|
+
documentEditor: 'Editor de documento',
|
|
246
276
|
},
|
|
247
277
|
pt: {
|
|
248
278
|
bold: 'Negrito',
|
|
@@ -362,6 +392,21 @@ const DICT = {
|
|
|
362
392
|
imageLayoutWrapRight: 'Ajustar à direita',
|
|
363
393
|
imageLayoutCenter: 'Centralizar',
|
|
364
394
|
imageLayoutFullWidth: 'Largura total',
|
|
395
|
+
heading4: 'Título 4',
|
|
396
|
+
headingAbbr4: 'T. 4',
|
|
397
|
+
field: 'Campo',
|
|
398
|
+
fieldNamePlaceholder: 'Nome do campo',
|
|
399
|
+
signature: 'Assinatura',
|
|
400
|
+
documentHeader: 'Cabeçalho',
|
|
401
|
+
page: 'Página',
|
|
402
|
+
pageNumber: 'Número da página',
|
|
403
|
+
confirmHeader: 'Confirmar cabeçalho',
|
|
404
|
+
zoom: 'Zoom',
|
|
405
|
+
zoomFit: 'Ajustar à largura',
|
|
406
|
+
zoomActual: '100 %',
|
|
407
|
+
imageLayoutBreak: 'Separar do texto',
|
|
408
|
+
imageLayoutLabel: 'Layout da imagem',
|
|
409
|
+
documentEditor: 'Editor de documento',
|
|
365
410
|
},
|
|
366
411
|
};
|
|
367
412
|
/** Map any BCP-47 locale (e.g. "es-CO") to a supported language; fallback 'en'. */
|
|
@@ -8,11 +8,31 @@ export function sideOfPlacement(placement) {
|
|
|
8
8
|
const side = placement.split('-')[0];
|
|
9
9
|
return side === 'left' || side === 'right' ? side : null;
|
|
10
10
|
}
|
|
11
|
+
/** Atributo con el que `co-menu` publica hacia sus ítems si su panel terminó
|
|
12
|
+
* abriendo hacia ARRIBA (`up`) o hacia abajo (`down`), post-flip. */
|
|
13
|
+
export const MENU_DIRECTION_ATTR = 'menu-direction';
|
|
14
|
+
/** Dirección vertical de un placement ya resuelto del menú raíz. */
|
|
15
|
+
export function menuDirectionOfPlacement(placement) {
|
|
16
|
+
return placement.split('-')[0] === 'top' ? 'up' : 'down';
|
|
17
|
+
}
|
|
11
18
|
/** Placement que debe pedir un submenú, dado el lado al que resolvió el submenú
|
|
12
19
|
* de su ancestro. Sin ancestro (primer nivel) mantiene el comportamiento
|
|
13
|
-
* histórico: a la derecha, y que el flip decida.
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
* histórico: a la derecha, y que el flip decida.
|
|
21
|
+
*
|
|
22
|
+
* `opensUp`: el menú raíz abrió hacia ARRIBA (trigger al pie: barra de acciones,
|
|
23
|
+
* footer). Entonces el submenú se alinea por el BORDE INFERIOR de su fila
|
|
24
|
+
* (`-end`) y crece hacia arriba, como el menú del que sale. Con `-start` crecía
|
|
25
|
+
* hacia abajo y tapaba el trigger y la barra (Exportar selección → Datos,
|
|
26
|
+
* tarea QA #12). `flip`/`shift` del popover siguen actuando si no cabe. */
|
|
27
|
+
export function submenuPlacement(parentSide, opensUp = false) {
|
|
28
|
+
const align = opensUp ? 'end' : 'start';
|
|
29
|
+
return parentSide === 'left' ? `left-${align}` : `right-${align}`;
|
|
30
|
+
}
|
|
31
|
+
/** ¿El `co-menu` que contiene a este ítem abrió hacia arriba? Los ítems (y los
|
|
32
|
+
* anidados) son hijos de light DOM del co-menu, así que `closest` lo alcanza. */
|
|
33
|
+
export function menuOpensUp(el) {
|
|
34
|
+
var _a;
|
|
35
|
+
return ((_a = el.closest('co-menu')) === null || _a === void 0 ? void 0 : _a.getAttribute(MENU_DIRECTION_ATTR)) === 'up';
|
|
16
36
|
}
|
|
17
37
|
/**
|
|
18
38
|
* Lado heredado del `co-menu-item` ancestro más cercano, o null si no hay (o si
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diccionario de strings de co-swatch-grid (aria labels). Misma estrategia
|
|
3
|
+
* que carouselI18n/dateI18n: es/en/pt resueltos por la prop `locale`.
|
|
4
|
+
*/
|
|
5
|
+
import { langFromLocale } from "./dateI18n";
|
|
6
|
+
const DICT = {
|
|
7
|
+
es: { gridLabel: 'Colores' },
|
|
8
|
+
en: { gridLabel: 'Colors' },
|
|
9
|
+
pt: { gridLabel: 'Cores' },
|
|
10
|
+
};
|
|
11
|
+
/** Resuelve los strings integrados para un locale. */
|
|
12
|
+
export function getSwatchGridStrings(locale) {
|
|
13
|
+
return DICT[langFromLocale(locale)];
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout de bloques simulado para specs en jsdom (que no tiene layout): cada
|
|
3
|
+
* elemento mide lo que diga `heightOf` (o su `style.height`, o la suma de sus
|
|
4
|
+
* hijos) y se apila bajo sus hermanos anteriores. `offsetParent` = padre.
|
|
5
|
+
* Devuelve la función que restaura los descriptores originales.
|
|
6
|
+
*/
|
|
7
|
+
export function installFakeBlockLayout(heightOf) {
|
|
8
|
+
const proto = HTMLElement.prototype;
|
|
9
|
+
const keys = ['offsetTop', 'offsetHeight', 'offsetParent'];
|
|
10
|
+
const saved = keys.map((k) => [k, Object.getOwnPropertyDescriptor(proto, k)]);
|
|
11
|
+
const height = (el) => {
|
|
12
|
+
const own = heightOf(el);
|
|
13
|
+
if (own !== undefined)
|
|
14
|
+
return own;
|
|
15
|
+
if (el.style.height)
|
|
16
|
+
return parseFloat(el.style.height) || 0;
|
|
17
|
+
return Array.from(el.children).reduce((sum, c) => sum + height(c), 0);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(proto, 'offsetHeight', { configurable: true, get() { return height(this); } });
|
|
20
|
+
Object.defineProperty(proto, 'offsetParent', { configurable: true, get() { return this.parentElement; } });
|
|
21
|
+
Object.defineProperty(proto, 'offsetTop', {
|
|
22
|
+
configurable: true,
|
|
23
|
+
get() {
|
|
24
|
+
let top = 0;
|
|
25
|
+
let s = this.previousElementSibling;
|
|
26
|
+
while (s) {
|
|
27
|
+
top += height(s);
|
|
28
|
+
s = s.previousElementSibling;
|
|
29
|
+
}
|
|
30
|
+
return top;
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
return () => {
|
|
34
|
+
saved.forEach(([k, d]) => {
|
|
35
|
+
if (d)
|
|
36
|
+
Object.defineProperty(proto, k, d);
|
|
37
|
+
else
|
|
38
|
+
delete proto[k];
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
}
|