@prolibu-suite/cobalt-core 0.11.6 → 0.11.7
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 +160 -46
- package/dist/cjs/co-action-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-app-shell.cjs.entry.js +1 -1
- package/dist/cjs/co-autocomplete.cjs.entry.js +1 -1
- package/dist/cjs/co-avatar.cjs.entry.js +6 -3
- package/dist/cjs/co-button.cjs.entry.js +14 -6
- package/dist/cjs/co-calendar-month_2.cjs.entry.js +9 -5
- package/dist/cjs/co-calendar_3.cjs.entry.js +23 -7
- package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/co-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/co-chip_2.cjs.entry.js +4 -4
- package/dist/cjs/co-color-picker.cjs.entry.js +24 -5
- package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-combobox.cjs.entry.js +7 -5
- package/dist/cjs/co-command-search.cjs.entry.js +1 -1
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
- package/dist/cjs/co-data-table.cjs.entry.js +1 -1
- package/dist/cjs/co-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/co-date-range-picker.cjs.entry.js +1 -1
- package/dist/cjs/co-date-range.cjs.entry.js +1 -1
- package/dist/cjs/co-date-time-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-document-editor.cjs.entry.js +108 -7
- package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
- package/dist/cjs/co-drop-zone.cjs.entry.js +1 -1
- package/dist/cjs/co-emoji-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/co-event-calendar.cjs.entry.js +2 -2
- package/dist/cjs/co-event-popover.cjs.entry.js +1 -1
- package/dist/cjs/co-fab.cjs.entry.js +3 -3
- package/dist/cjs/co-file-field.cjs.entry.js +87 -16
- package/dist/cjs/co-file-type-tile.cjs.entry.js +2 -2
- package/dist/cjs/co-gradient-bar.cjs.entry.js +4 -4
- package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/co-icon-button.cjs.entry.js +3 -3
- package/dist/cjs/co-icon.cjs.entry.js +2 -2
- package/dist/cjs/co-input.cjs.entry.js +1 -1
- package/dist/cjs/co-json-field.cjs.entry.js +4 -4
- package/dist/cjs/co-kbd_2.cjs.entry.js +3 -3
- package/dist/cjs/co-lightbox.cjs.entry.js +71 -7
- package/dist/cjs/co-list-footer.cjs.entry.js +1 -1
- package/dist/cjs/co-list-item.cjs.entry.js +4 -4
- package/dist/cjs/co-media-thumb.cjs.entry.js +2 -2
- package/dist/cjs/co-menu-divider.cjs.entry.js +1 -1
- package/dist/cjs/co-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/co-menu.cjs.entry.js +3 -3
- package/dist/cjs/co-modal.cjs.entry.js +23 -3
- package/dist/cjs/co-navbar.cjs.entry.js +2 -2
- package/dist/cjs/co-number-field.cjs.entry.js +9 -5
- package/dist/cjs/co-overlay.cjs.entry.js +2 -2
- package/dist/cjs/co-page-header.cjs.entry.js +1 -1
- package/dist/cjs/co-phone-field.cjs.entry.js +52 -2
- package/dist/cjs/co-popover.cjs.entry.js +33 -4
- package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
- package/dist/cjs/co-provider-logo_2.cjs.entry.js +1 -1
- package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/co-radio.cjs.entry.js +3 -3
- package/dist/cjs/co-rating.cjs.entry.js +4 -4
- package/dist/cjs/co-ref-field.cjs.entry.js +15 -8
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +80 -23
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +105 -2
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +2 -2
- package/dist/cjs/co-row.cjs.entry.js +2 -2
- package/dist/cjs/co-select.cjs.entry.js +10 -8
- package/dist/cjs/co-separator.cjs.entry.js +1 -1
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +11 -9
- package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/co-slider.cjs.entry.js +3 -3
- package/dist/cjs/co-swatch-grid.cjs.entry.js +3 -3
- package/dist/cjs/co-switch.cjs.entry.js +4 -4
- package/dist/cjs/co-tab-group.cjs.entry.js +110 -12
- package/dist/cjs/co-tab.cjs.entry.js +3 -3
- package/dist/cjs/co-tags-field.cjs.entry.js +7 -7
- package/dist/cjs/co-textarea.cjs.entry.js +5 -5
- package/dist/cjs/co-tile.cjs.entry.js +1 -1
- package/dist/cjs/co-time-field.cjs.entry.js +1 -1
- package/dist/cjs/co-toast.cjs.entry.js +1 -1
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +6 -4
- package/dist/cjs/co-toggle-button.cjs.entry.js +5 -3
- package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
- package/dist/cjs/co-video.cjs.entry.js +2 -2
- package/dist/cjs/cobalt.cjs.js +1 -1
- package/dist/cjs/{color-DQVrQGi0.js → color-DlKNWtdc.js} +38 -2
- package/dist/cjs/escapeLayers-DlCir9Sr.js +22 -0
- package/dist/cjs/fieldChip-DbYMfylq.js +7 -0
- package/dist/cjs/{gradientStops-CMpH4fB_.js → gradientStops-xZbv7bi6.js} +1 -1
- package/dist/cjs/{index-BbSD1Eyw.js → index-CJhgaDE1.js} +1 -1
- package/dist/cjs/index-bHoidDwv.js +14 -14
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pagination-S2sSAgdl.js → pagination-BPA1UGs-.js} +30 -0
- package/dist/cjs/{richTextI18n-DXGIv5w1.js → richTextI18n-B8qb5JKb.js} +12 -0
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/p-01b54d81.entry.js +1 -0
- package/dist/cobalt/{p-02ff847e.entry.js → p-02133c95.entry.js} +1 -1
- package/dist/cobalt/{p-73313cbe.entry.js → p-0bbaaf4f.entry.js} +1 -1
- package/dist/cobalt/p-0f3a3232.entry.js +1 -0
- package/dist/cobalt/p-12fc5119.entry.js +1 -0
- package/dist/cobalt/p-19f0f534.entry.js +1 -0
- package/dist/cobalt/p-1c9253a2.entry.js +1 -0
- package/dist/cobalt/{p-63908a8d.entry.js → p-256ca457.entry.js} +1 -1
- package/dist/cobalt/{p-71fe35c4.entry.js → p-2ff8f591.entry.js} +1 -1
- package/dist/cobalt/p-33840969.entry.js +1 -0
- package/dist/cobalt/p-353ff9ed.entry.js +1 -0
- package/dist/cobalt/p-37f9ec35.entry.js +1 -0
- package/dist/cobalt/p-3878f174.entry.js +1 -0
- package/dist/cobalt/{p-a4eb298c.entry.js → p-3890d22f.entry.js} +1 -1
- package/dist/cobalt/{p-7fabd8ba.entry.js → p-3b7e90c8.entry.js} +1 -1
- package/dist/cobalt/p-3bff827a.entry.js +1 -0
- package/dist/cobalt/{p-65c191aa.entry.js → p-3e532a11.entry.js} +1 -1
- package/dist/cobalt/{p-4d743628.entry.js → p-3e864e7d.entry.js} +1 -1
- package/dist/cobalt/p-454dd8ab.entry.js +1 -0
- package/dist/cobalt/{p-cfaaa684.entry.js → p-4ae6fe0e.entry.js} +1 -1
- package/dist/cobalt/p-4cdfcd9c.entry.js +1 -0
- package/dist/cobalt/p-50ab6b9b.entry.js +1 -0
- package/dist/cobalt/{p-713637f2.entry.js → p-59a71695.entry.js} +1 -1
- package/dist/cobalt/{p-06689166.entry.js → p-5d41b58b.entry.js} +1 -1
- package/dist/cobalt/{p-95f2ebb1.entry.js → p-5e14f676.entry.js} +1 -1
- package/dist/cobalt/p-5e39cf70.entry.js +1 -0
- package/dist/cobalt/{p-df529110.entry.js → p-600d0cab.entry.js} +1 -1
- package/dist/cobalt/{p-38eb2615.entry.js → p-60ea3d33.entry.js} +1 -1
- package/dist/cobalt/{p-d5d8fa8b.entry.js → p-63f888a1.entry.js} +1 -1
- package/dist/cobalt/{p-d00c3894.entry.js → p-6eca1c7c.entry.js} +1 -1
- package/dist/cobalt/p-74804c79.entry.js +1 -0
- package/dist/cobalt/{p-f2fa2ac0.entry.js → p-76ea3f34.entry.js} +1 -1
- package/dist/cobalt/p-7737354e.entry.js +1 -0
- package/dist/cobalt/p-7e444408.entry.js +1 -0
- package/dist/cobalt/p-7e72720a.entry.js +1 -0
- package/dist/cobalt/p-82bcd062.entry.js +1 -0
- package/dist/cobalt/{p-56176aa0.entry.js → p-83691cfb.entry.js} +1 -1
- package/dist/cobalt/p-84256bde.entry.js +1 -0
- package/dist/cobalt/p-84ad0227.entry.js +1 -0
- package/dist/cobalt/{p-b2457431.entry.js → p-89328cd8.entry.js} +1 -1
- package/dist/cobalt/p-8a26f3cc.entry.js +1 -0
- package/dist/cobalt/p-8c22bf4b.entry.js +1 -0
- package/dist/cobalt/p-8e7ad2fe.entry.js +1 -0
- package/dist/cobalt/p-947b8e35.entry.js +1 -0
- package/dist/cobalt/p-94b871fb.entry.js +1 -0
- package/dist/cobalt/p-99781b0b.entry.js +1 -0
- package/dist/cobalt/{p-71dc8e4a.entry.js → p-9af26af0.entry.js} +1 -1
- package/dist/cobalt/p-9ce57385.entry.js +1 -0
- package/dist/cobalt/p-BzxEh7sq.js +1 -0
- package/dist/cobalt/{p-DXLeDZvr.js → p-CP7MznKV.js} +1 -1
- package/dist/cobalt/p-CSLjZ3WO.js +1 -0
- package/dist/cobalt/{p-Ch-Tygdb.js → p-CqQobidl.js} +1 -1
- package/dist/cobalt/p-EtYK1iGx.js +1 -0
- package/dist/cobalt/p-LnW75kr5.js +1 -0
- package/dist/cobalt/{p-cf5b91be.entry.js → p-a18c01eb.entry.js} +1 -1
- package/dist/cobalt/{p-65d44da2.entry.js → p-a33a277a.entry.js} +1 -1
- package/dist/cobalt/p-a4154bcf.entry.js +1 -0
- package/dist/cobalt/{p-aed832d5.entry.js → p-a4264bde.entry.js} +1 -1
- package/dist/cobalt/p-a6c9a0c5.entry.js +1 -0
- package/dist/cobalt/{p-868d1a18.entry.js → p-b2c49664.entry.js} +1 -1
- package/dist/cobalt/{p-f69804a6.entry.js → p-b402665a.entry.js} +1 -1
- package/dist/cobalt/{p-903237f9.entry.js → p-bbf3d859.entry.js} +1 -1
- package/dist/cobalt/p-bee52042.entry.js +1 -0
- package/dist/cobalt/{p-a7cd61ce.entry.js → p-c004fde5.entry.js} +1 -1
- package/dist/cobalt/p-c026968c.entry.js +1 -0
- package/dist/cobalt/{p-8a2a2b6c.entry.js → p-c23630ab.entry.js} +1 -1
- package/dist/cobalt/p-c31b9b51.entry.js +1 -0
- package/dist/cobalt/{p-0e4c2234.entry.js → p-c93be2d5.entry.js} +1 -1
- package/dist/cobalt/p-cb1013e6.entry.js +1 -0
- package/dist/cobalt/p-cd43d372.entry.js +1 -0
- package/dist/cobalt/{p-26cbdc33.entry.js → p-cea21e08.entry.js} +1 -1
- package/dist/cobalt/p-cf675968.entry.js +1 -0
- package/dist/cobalt/{p-ba39a965.entry.js → p-d1595580.entry.js} +1 -1
- package/dist/cobalt/{p-99df434b.entry.js → p-d26dc681.entry.js} +1 -1
- package/dist/cobalt/{p-8680559b.entry.js → p-d375c84e.entry.js} +1 -1
- package/dist/cobalt/{p-bee30373.entry.js → p-d7775109.entry.js} +1 -1
- package/dist/cobalt/p-d9b4594b.entry.js +1 -0
- package/dist/cobalt/{p-b67fb616.entry.js → p-e4646a0e.entry.js} +1 -1
- package/dist/cobalt/{p-7beface1.entry.js → p-e5350eeb.entry.js} +1 -1
- package/dist/cobalt/{p-e5f0d560.entry.js → p-f1da1df1.entry.js} +1 -1
- package/dist/cobalt/p-f23f52ed.entry.js +1 -0
- package/dist/cobalt/{p-13e5b724.entry.js → p-f6f273f7.entry.js} +1 -1
- package/dist/cobalt/{p-71ae1551.entry.js → p-fb6671e0.entry.js} +1 -1
- package/dist/cobalt/p-fb731600.entry.js +1 -0
- package/dist/cobalt/{p-7d1718ed.entry.js → p-feec49a4.entry.js} +1 -1
- package/dist/cobalt/p-ff218d09.entry.js +1 -0
- package/dist/cobalt/p-hXbDUT3I.js +1 -0
- package/dist/collection/components/co-action-bar/co-action-bar.css +6 -2
- package/dist/collection/components/co-app-shell/co-app-shell.css +6 -5
- package/dist/collection/components/co-autocomplete/co-autocomplete.css +12 -6
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar/co-avatar.css +11 -1
- package/dist/collection/components/co-avatar/co-avatar.js +5 -2
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-button/co-button.css +38 -7
- package/dist/collection/components/co-button/co-button.js +34 -6
- package/dist/collection/components/co-calendar/co-calendar.css +4 -1
- package/dist/collection/components/co-calendar-month/co-calendar-month.css +3 -1
- package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.css +3 -1
- package/dist/collection/components/co-checkbox/co-checkbox.css +5 -1
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +10 -5
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-chip/co-chip.css +17 -12
- package/dist/collection/components/co-color-area/co-color-area.js +2 -2
- package/dist/collection/components/co-color-picker/co-color-picker.css +19 -7
- package/dist/collection/components/co-color-picker/co-color-picker.js +42 -3
- package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
- package/dist/collection/components/co-column-picker/co-column-picker.css +10 -5
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.css +8 -5
- package/dist/collection/components/co-combobox/co-combobox.js +7 -5
- package/dist/collection/components/co-command-search/co-command-search.css +5 -2
- package/dist/collection/components/co-command-search/co-command-search.js +1 -1
- package/dist/collection/components/co-data-table/co-data-table.css +13 -10
- package/dist/collection/components/co-data-table/co-data-table.js +1 -1
- package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.css +15 -13
- package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
- package/dist/collection/components/co-date-field/co-date-field.css +11 -5
- package/dist/collection/components/co-date-field/co-date-field.js +4 -4
- package/dist/collection/components/co-date-picker/co-date-picker.css +5 -2
- package/dist/collection/components/co-date-range/co-date-range.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +9 -3
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +11 -5
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +2 -2
- package/dist/collection/components/co-document-editor/co-document-editor.css +112 -1
- package/dist/collection/components/co-document-editor/co-document-editor.js +91 -10
- package/dist/collection/components/co-document-editor/signature-bar.js +26 -0
- package/dist/collection/components/co-drawer/co-drawer.css +12 -4
- package/dist/collection/components/co-drawer/co-drawer.js +16 -0
- package/dist/collection/components/co-drive-card/co-drive-card.css +18 -12
- package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
- package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
- package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +2 -2
- package/dist/collection/components/co-empty-state/co-empty-state.css +10 -6
- 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.css +5 -3
- package/dist/collection/components/co-fab/co-fab.js +2 -2
- package/dist/collection/components/co-file-field/co-file-field.css +11 -6
- package/dist/collection/components/co-file-field/co-file-field.js +30 -16
- package/dist/collection/components/co-file-field/co-file-field.utils.js +57 -0
- 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.js +2 -2
- package/dist/collection/components/co-helper-text/co-helper-text.css +6 -4
- 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 +5 -3
- package/dist/collection/components/co-icon-button/co-icon-button.js +2 -2
- package/dist/collection/components/co-input/co-input.css +49 -22
- package/dist/collection/components/co-json-field/co-json-field.css +10 -5
- package/dist/collection/components/co-json-field/co-json-field.js +3 -3
- package/dist/collection/components/co-kbd/co-kbd.js +1 -1
- package/dist/collection/components/co-lightbox/co-lightbox.js +8 -7
- package/dist/collection/components/co-lightbox/openInTab.js +63 -0
- 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 +7 -0
- package/dist/collection/components/co-menu/co-menu.js +2 -2
- package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
- package/dist/collection/components/co-menu-item/co-menu-item.css +19 -7
- package/dist/collection/components/co-modal/co-modal.css +3 -0
- package/dist/collection/components/co-modal/co-modal.js +23 -2
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.css +12 -6
- package/dist/collection/components/co-number-field/co-number-field.js +3 -3
- package/dist/collection/components/co-option-list/co-option-list.css +7 -4
- package/dist/collection/components/co-option-list/co-option-list.js +2 -2
- package/dist/collection/components/co-overlay/co-overlay.css +3 -0
- package/dist/collection/components/co-overlay/co-overlay.js +1 -1
- package/dist/collection/components/co-overlay/escapeLayers.js +20 -0
- package/dist/collection/components/co-page-header/co-page-header.js +1 -1
- package/dist/collection/components/co-phone-field/co-phone-field.css +8 -3
- package/dist/collection/components/co-phone-field/co-phone-field.js +36 -1
- package/dist/collection/components/co-popover/co-popover.css +4 -0
- package/dist/collection/components/co-popover/co-popover.js +33 -4
- package/dist/collection/components/co-progress-bar/co-progress-bar.css +6 -2
- 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.css +10 -5
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-rating/co-rating.css +6 -4
- package/dist/collection/components/co-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.css +43 -8
- package/dist/collection/components/co-ref-field/co-ref-field.js +17 -10
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +26 -4
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +77 -20
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +3 -1
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +40 -0
- package/dist/collection/components/co-rich-text-toolbar/panelFit.js +63 -0
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +2 -1
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.css +22 -12
- package/dist/collection/components/co-select/co-select.js +10 -8
- 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 +56 -19
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +11 -9
- package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
- package/dist/collection/components/co-slider/co-slider.css +6 -4
- package/dist/collection/components/co-slider/co-slider.js +2 -2
- package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +1 -1
- package/dist/collection/components/co-switch/co-switch.css +16 -7
- package/dist/collection/components/co-switch/co-switch.js +3 -3
- package/dist/collection/components/co-tab/co-tab.css +33 -29
- package/dist/collection/components/co-tab/co-tab.js +2 -2
- package/dist/collection/components/co-tab-group/co-tab-group.css +26 -6
- package/dist/collection/components/co-tab-group/co-tab-group.js +78 -11
- package/dist/collection/components/co-tab-group/trackScroll.js +31 -0
- package/dist/collection/components/co-tags-field/co-tags-field.css +10 -5
- package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
- package/dist/collection/components/co-textarea/co-textarea.css +12 -7
- package/dist/collection/components/co-textarea/co-textarea.js +4 -4
- package/dist/collection/components/co-tile/co-tile.js +1 -1
- package/dist/collection/components/co-time-field/co-time-field.js +1 -1
- package/dist/collection/components/co-toast/co-toast.css +36 -25
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +47 -0
- package/dist/collection/components/co-toggle-button/co-toggle-button.js +7 -5
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +12 -0
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +10 -8
- package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
- package/dist/collection/components/co-transfer-list/co-transfer-list.css +15 -8
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
- package/dist/collection/components/co-video/co-video.js +2 -2
- package/dist/collection/utils/amountText.js +5 -1
- package/dist/collection/utils/color.js +36 -2
- package/dist/collection/utils/eventColor.js +7 -3
- package/dist/collection/utils/fieldChip.js +1 -1
- package/dist/collection/utils/phoneI18n.js +34 -0
- package/dist/collection/utils/richTextI18n.js +12 -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-breadcrumb-item.js +1 -1
- package/dist/components/co-breadcrumb.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-calendar-month.js +1 -1
- package/dist/components/co-calendar-timegrid.js +1 -1
- package/dist/components/co-calendar.js +1 -1
- package/dist/components/co-carousel.js +1 -1
- package/dist/components/co-checkbox-group.js +1 -1
- package/dist/components/co-checkbox.js +1 -1
- package/dist/components/co-chip.js +1 -1
- package/dist/components/co-color-picker.js +1 -1
- package/dist/components/co-column-picker.js +1 -1
- package/dist/components/co-combobox.js +1 -1
- package/dist/components/co-command-search.js +1 -1
- package/dist/components/co-data-table-pagination.js +1 -1
- package/dist/components/co-data-table.js +1 -1
- package/dist/components/co-date-field.js +1 -1
- package/dist/components/co-date-picker.js +1 -1
- package/dist/components/co-date-range-picker.js +1 -1
- package/dist/components/co-date-range.js +1 -1
- package/dist/components/co-date-time-picker.js +1 -1
- package/dist/components/co-document-editor.js +1 -1
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-drive-card.js +1 -1
- package/dist/components/co-drop-zone.js +1 -1
- package/dist/components/co-emoji-picker.js +1 -1
- package/dist/components/co-empty-state.js +1 -1
- package/dist/components/co-event-calendar.js +1 -1
- package/dist/components/co-event-popover.js +1 -1
- package/dist/components/co-fab.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-file-type-tile.js +1 -1
- package/dist/components/co-gradient-bar.js +1 -1
- package/dist/components/co-helper-text.js +1 -1
- package/dist/components/co-icon-button.js +1 -1
- package/dist/components/co-icon.js +1 -1
- package/dist/components/co-input.js +1 -1
- package/dist/components/co-json-field.js +1 -1
- package/dist/components/co-kbd.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-footer.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-media-thumb.js +1 -1
- package/dist/components/co-menu-divider.js +1 -1
- package/dist/components/co-menu-item.js +1 -1
- package/dist/components/co-menu.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-navbar.js +1 -1
- package/dist/components/co-number-field.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-page-header.js +1 -1
- package/dist/components/co-phone-field.js +1 -1
- package/dist/components/co-popover.js +1 -1
- package/dist/components/co-progress-bar.js +1 -1
- package/dist/components/co-progress-circle.js +1 -1
- package/dist/components/co-radio-group.js +1 -1
- package/dist/components/co-radio.js +1 -1
- package/dist/components/co-rating.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-rich-text-editor.js +1 -1
- package/dist/components/co-rich-text-toolbar.js +1 -1
- package/dist/components/co-rich-text-viewer.js +1 -1
- package/dist/components/co-row.js +1 -1
- package/dist/components/co-select.js +1 -1
- package/dist/components/co-separator.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-sidebar.js +1 -1
- package/dist/components/co-skeleton.js +1 -1
- package/dist/components/co-slider.js +1 -1
- package/dist/components/co-swatch-grid.js +1 -1
- package/dist/components/co-switch.js +1 -1
- package/dist/components/co-tab-group.js +1 -1
- package/dist/components/co-tab.js +1 -1
- package/dist/components/co-tags-field.js +1 -1
- package/dist/components/co-textarea.js +1 -1
- package/dist/components/co-tile.js +1 -1
- 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.js +1 -1
- package/dist/components/co-video.js +1 -1
- package/dist/components/{p-CxWo3qDo.js → p-4Y3YkFf1.js} +1 -1
- package/dist/components/{p-V7HYy0VO.js → p-B5F93Ujt.js} +1 -1
- package/dist/components/p-B70R6xWE.js +1 -0
- package/dist/components/p-BSt2t5Fy.js +1 -0
- package/dist/components/p-BfDYq7JS.js +1 -0
- package/dist/components/{p-C4sZjIDj.js → p-BhmVj5-9.js} +1 -1
- package/dist/components/p-BzxEh7sq.js +1 -0
- package/dist/components/p-CDiRdG6I.js +1 -0
- package/dist/components/p-CMMv2RcH.js +1 -0
- package/dist/components/{p-Dn2wblrA.js → p-CO12CK0t.js} +1 -1
- package/dist/components/{p-DymSqdlK.js → p-COCcx0DN.js} +1 -1
- package/dist/components/{p-DXLeDZvr.js → p-CP7MznKV.js} +1 -1
- package/dist/components/{p-wUXcJGdy.js → p-CX0bNXK3.js} +1 -1
- package/dist/components/{p-Bw_b_czs.js → p-CXi0fhTi.js} +1 -1
- package/dist/components/p-CaAdnjC6.js +1 -0
- package/dist/components/p-CaFwCFgg.js +1 -0
- package/dist/components/p-CjB5Vqpy.js +1 -0
- package/dist/components/p-Co0eKIiO.js +1 -0
- package/dist/components/{p-Ch-Tygdb.js → p-CqQobidl.js} +1 -1
- package/dist/components/{p-BRZci8B3.js → p-CwRoHnzq.js} +1 -1
- package/dist/components/{p-Dnz99Ox_.js → p-DMW9TJ7Z.js} +1 -1
- package/dist/components/p-DTWqwwXO.js +1 -0
- package/dist/components/{p-8XzG8pzY.js → p-DldA2IL3.js} +1 -1
- package/dist/components/p-LnW75kr5.js +1 -0
- package/dist/components/p-R1W48hzW.js +1 -0
- package/dist/components/{p-BW10Sgiy.js → p-_S5htX1i.js} +1 -1
- package/dist/components/p-hXbDUT3I.js +1 -0
- package/dist/components/p-o5wUtH9g.js +1 -0
- package/dist/components/{p-KK2vAKs-.js → p-qMNHMnvI.js} +1 -1
- package/dist/components/{p-C6WHpL5X.js → p-rfvTj6cP.js} +1 -1
- package/dist/components/{p-BI_VaFsx.js → p-upZqhFKo.js} +1 -1
- package/dist/components/{p-COozgrEk.js → p-w3AQrtBx.js} +1 -1
- package/dist/components/p-xtGT3YeI.js +1 -0
- package/dist/esm/co-action-bar.entry.js +1 -1
- package/dist/esm/co-app-shell.entry.js +1 -1
- package/dist/esm/co-autocomplete.entry.js +1 -1
- package/dist/esm/co-avatar.entry.js +6 -3
- package/dist/esm/co-button.entry.js +14 -6
- package/dist/esm/co-calendar-month_2.entry.js +9 -5
- package/dist/esm/co-calendar_3.entry.js +23 -7
- package/dist/esm/co-checkbox-group.entry.js +1 -1
- package/dist/esm/co-checkbox.entry.js +1 -1
- package/dist/esm/co-chip_2.entry.js +4 -4
- package/dist/esm/co-color-picker.entry.js +24 -5
- package/dist/esm/co-column-picker.entry.js +3 -3
- package/dist/esm/co-combobox.entry.js +7 -5
- package/dist/esm/co-command-search.entry.js +1 -1
- package/dist/esm/co-data-table-pagination.entry.js +5 -5
- package/dist/esm/co-data-table.entry.js +1 -1
- package/dist/esm/co-date-picker.entry.js +1 -1
- package/dist/esm/co-date-range-picker.entry.js +1 -1
- package/dist/esm/co-date-range.entry.js +1 -1
- package/dist/esm/co-date-time-picker.entry.js +3 -3
- package/dist/esm/co-document-editor.entry.js +108 -7
- package/dist/esm/co-drive-card.entry.js +2 -2
- package/dist/esm/co-drop-zone.entry.js +1 -1
- package/dist/esm/co-emoji-picker.entry.js +2 -2
- package/dist/esm/co-empty-state.entry.js +3 -3
- package/dist/esm/co-event-calendar.entry.js +2 -2
- package/dist/esm/co-event-popover.entry.js +1 -1
- package/dist/esm/co-fab.entry.js +3 -3
- package/dist/esm/co-file-field.entry.js +87 -16
- package/dist/esm/co-file-type-tile.entry.js +2 -2
- package/dist/esm/co-gradient-bar.entry.js +4 -4
- package/dist/esm/co-helper-text.entry.js +3 -3
- package/dist/esm/co-icon-button.entry.js +3 -3
- package/dist/esm/co-icon.entry.js +2 -2
- package/dist/esm/co-input.entry.js +1 -1
- package/dist/esm/co-json-field.entry.js +4 -4
- package/dist/esm/co-kbd_2.entry.js +3 -3
- package/dist/esm/co-lightbox.entry.js +71 -7
- package/dist/esm/co-list-footer.entry.js +1 -1
- package/dist/esm/co-list-item.entry.js +4 -4
- package/dist/esm/co-media-thumb.entry.js +2 -2
- package/dist/esm/co-menu-divider.entry.js +1 -1
- package/dist/esm/co-menu-item.entry.js +1 -1
- package/dist/esm/co-menu.entry.js +3 -3
- package/dist/esm/co-modal.entry.js +23 -3
- package/dist/esm/co-navbar.entry.js +2 -2
- package/dist/esm/co-number-field.entry.js +9 -5
- package/dist/esm/co-overlay.entry.js +2 -2
- package/dist/esm/co-page-header.entry.js +1 -1
- package/dist/esm/co-phone-field.entry.js +52 -2
- package/dist/esm/co-popover.entry.js +33 -4
- package/dist/esm/co-progress-bar.entry.js +3 -3
- package/dist/esm/co-progress-circle.entry.js +2 -2
- package/dist/esm/co-provider-logo_2.entry.js +1 -1
- package/dist/esm/co-radio-group.entry.js +1 -1
- package/dist/esm/co-radio.entry.js +3 -3
- package/dist/esm/co-rating.entry.js +4 -4
- package/dist/esm/co-ref-field.entry.js +15 -8
- package/dist/esm/co-rich-text-editor.entry.js +80 -23
- package/dist/esm/co-rich-text-toolbar.entry.js +105 -2
- package/dist/esm/co-rich-text-viewer.entry.js +2 -2
- package/dist/esm/co-row.entry.js +2 -2
- package/dist/esm/co-select.entry.js +10 -8
- package/dist/esm/co-separator.entry.js +1 -1
- package/dist/esm/co-sidebar-nav.entry.js +11 -9
- package/dist/esm/co-sidebar.entry.js +2 -2
- package/dist/esm/co-slider.entry.js +3 -3
- package/dist/esm/co-swatch-grid.entry.js +3 -3
- package/dist/esm/co-switch.entry.js +4 -4
- package/dist/esm/co-tab-group.entry.js +110 -12
- package/dist/esm/co-tab.entry.js +3 -3
- package/dist/esm/co-tags-field.entry.js +7 -7
- package/dist/esm/co-textarea.entry.js +5 -5
- package/dist/esm/co-tile.entry.js +1 -1
- package/dist/esm/co-time-field.entry.js +1 -1
- package/dist/esm/co-toast.entry.js +1 -1
- package/dist/esm/co-toggle-button-group.entry.js +6 -4
- package/dist/esm/co-toggle-button.entry.js +5 -3
- package/dist/esm/co-transfer-list.entry.js +1 -1
- package/dist/esm/co-video.entry.js +2 -2
- package/dist/esm/cobalt.js +1 -1
- package/dist/esm/{color-BVGGRfNG.js → color-BzxEh7sq.js} +37 -3
- package/dist/esm/escapeLayers-hXbDUT3I.js +18 -0
- package/dist/esm/fieldChip-B0N8z5W-.js +5 -0
- package/dist/esm/{gradientStops-DDK0y8ra.js → gradientStops-W-_rTTl_.js} +1 -1
- package/dist/esm/{index-CgyOJePd.js → index-BNt7Zg14.js} +1 -1
- package/dist/esm/index-DJkaRtbb.js +14 -14
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pagination-BzrIQtrk.js → pagination-BXztNUE3.js} +30 -0
- package/dist/esm/{richTextI18n-xnrKkNWQ.js → richTextI18n-EtYK1iGx.js} +12 -0
- package/dist/types/components/co-button/co-button.d.ts +4 -0
- package/dist/types/components/co-color-picker/co-color-picker.d.ts +7 -0
- package/dist/types/components/co-document-editor/co-document-editor.d.ts +24 -1
- package/dist/types/components/co-document-editor/signature-bar.d.ts +26 -0
- package/dist/types/components/co-drawer/co-drawer.d.ts +2 -0
- package/dist/types/components/co-file-field/co-file-field.d.ts +6 -0
- package/dist/types/components/co-file-field/co-file-field.utils.d.ts +26 -0
- package/dist/types/components/co-lightbox/co-lightbox.d.ts +5 -0
- package/dist/types/components/co-lightbox/openInTab.d.ts +46 -0
- package/dist/types/components/co-modal/co-modal.d.ts +2 -0
- package/dist/types/components/co-overlay/escapeLayers.d.ts +18 -0
- package/dist/types/components/co-phone-field/co-phone-field.d.ts +11 -0
- package/dist/types/components/co-popover/co-popover.d.ts +7 -0
- package/dist/types/components/co-ref-field/co-ref-field.d.ts +3 -2
- package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +14 -1
- package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +10 -0
- package/dist/types/components/co-rich-text-toolbar/panelFit.d.ts +38 -0
- package/dist/types/components/co-tab-group/co-tab-group.d.ts +21 -3
- package/dist/types/components/co-tab-group/trackScroll.d.ts +19 -0
- package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +3 -1
- package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +6 -4
- package/dist/types/components.d.ts +50 -25
- package/dist/types/utils/color.d.ts +28 -1
- package/dist/types/utils/eventColor.d.ts +3 -1
- package/dist/types/utils/fieldChip.d.ts +6 -0
- package/dist/types/utils/phoneI18n.d.ts +18 -0
- package/dist/types/utils/richTextI18n.d.ts +4 -0
- package/package.json +3 -3
- package/dist/cjs/fieldChip-C7MxxBVO.js +0 -7
- package/dist/cobalt/p-0d046d98.entry.js +0 -1
- package/dist/cobalt/p-12914c0a.entry.js +0 -1
- package/dist/cobalt/p-1348d5ca.entry.js +0 -1
- package/dist/cobalt/p-2231bacc.entry.js +0 -1
- package/dist/cobalt/p-28cf05f3.entry.js +0 -1
- package/dist/cobalt/p-3d1a48e5.entry.js +0 -1
- package/dist/cobalt/p-4bcdd422.entry.js +0 -1
- package/dist/cobalt/p-58ebb303.entry.js +0 -1
- package/dist/cobalt/p-5e678e88.entry.js +0 -1
- package/dist/cobalt/p-60f948c4.entry.js +0 -1
- package/dist/cobalt/p-6974df59.entry.js +0 -1
- package/dist/cobalt/p-69ecc933.entry.js +0 -1
- package/dist/cobalt/p-6c1992c9.entry.js +0 -1
- package/dist/cobalt/p-6c7e423c.entry.js +0 -1
- package/dist/cobalt/p-6d4a660c.entry.js +0 -1
- package/dist/cobalt/p-763698b3.entry.js +0 -1
- package/dist/cobalt/p-77e0d401.entry.js +0 -1
- package/dist/cobalt/p-78412feb.entry.js +0 -1
- package/dist/cobalt/p-7c20207b.entry.js +0 -1
- package/dist/cobalt/p-7df18a52.entry.js +0 -1
- package/dist/cobalt/p-848f5ca4.entry.js +0 -1
- package/dist/cobalt/p-87de5469.entry.js +0 -1
- package/dist/cobalt/p-93063876.entry.js +0 -1
- package/dist/cobalt/p-9adbab95.entry.js +0 -1
- package/dist/cobalt/p-9b114836.entry.js +0 -1
- package/dist/cobalt/p-9dc01092.entry.js +0 -1
- package/dist/cobalt/p-BVGGRfNG.js +0 -1
- package/dist/cobalt/p-DGLDAl09.js +0 -1
- package/dist/cobalt/p-DgJovDdy.js +0 -1
- package/dist/cobalt/p-a56bd4a8.entry.js +0 -1
- package/dist/cobalt/p-a5eabecb.entry.js +0 -1
- package/dist/cobalt/p-a5ee1fc2.entry.js +0 -1
- package/dist/cobalt/p-ad752791.entry.js +0 -1
- package/dist/cobalt/p-b39a4999.entry.js +0 -1
- package/dist/cobalt/p-b5dabdc3.entry.js +0 -1
- package/dist/cobalt/p-b9b73dcb.entry.js +0 -1
- package/dist/cobalt/p-bb7bbe70.entry.js +0 -1
- package/dist/cobalt/p-c5464a98.entry.js +0 -1
- package/dist/cobalt/p-c567533e.entry.js +0 -1
- package/dist/cobalt/p-d6215d80.entry.js +0 -1
- package/dist/cobalt/p-ea24eea8.entry.js +0 -1
- package/dist/cobalt/p-f0898e21.entry.js +0 -1
- package/dist/cobalt/p-f403eeec.entry.js +0 -1
- package/dist/cobalt/p-xnrKkNWQ.js +0 -1
- package/dist/components/p-B3Egz082.js +0 -1
- package/dist/components/p-B9wdMd_0.js +0 -1
- package/dist/components/p-BVGGRfNG.js +0 -1
- package/dist/components/p-BdmzslA5.js +0 -1
- package/dist/components/p-BzNBPHen.js +0 -1
- package/dist/components/p-C4U2tbRp.js +0 -1
- package/dist/components/p-C_6szR7t.js +0 -1
- package/dist/components/p-CiYPJW0B.js +0 -1
- package/dist/components/p-D4XP17VP.js +0 -1
- package/dist/components/p-DB8DGMc-.js +0 -1
- package/dist/components/p-DGLDAl09.js +0 -1
- package/dist/components/p-DhPxNA2f.js +0 -1
- package/dist/components/p-DsuFNmTI.js +0 -1
- package/dist/components/p-TGRbLkLz.js +0 -1
- package/dist/components/p-dnaee7fS.js +0 -1
- package/dist/esm/fieldChip-B2ctp2m6.js +0 -5
|
@@ -78,8 +78,11 @@ co-rich-text-editor {
|
|
|
78
78
|
box-shadow: 0 0 0 3px var(--co-semantic-border-focus-ring, rgba(37, 99, 235, 0.15));
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
/* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
|
|
82
|
+
relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico).
|
|
83
|
+
Fallback: la primitiva de hoy, hasta publicar tokens. */
|
|
81
84
|
.co-rich-text-editor--error .co-rich-text-editor__frame {
|
|
82
|
-
border-color: var(--co-color-status-error);
|
|
85
|
+
border-color: var(--co-semantic-border-error, var(--co-color-status-error));
|
|
83
86
|
}
|
|
84
87
|
.co-rich-text-editor--success .co-rich-text-editor__frame {
|
|
85
88
|
border-color: var(--co-color-status-success);
|
|
@@ -433,8 +436,10 @@ co-rich-text-editor {
|
|
|
433
436
|
color: var(--co-semantic-text-secondary);
|
|
434
437
|
font-size: var(--co-font-size-12, 12px);
|
|
435
438
|
}
|
|
436
|
-
|
|
437
|
-
|
|
439
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
440
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
441
|
+
.co-rich-text-editor__helper--error { color: var(--co-semantic-text-error, var(--co-color-status-error)); }
|
|
442
|
+
.co-rich-text-editor__helper--success { color: var(--co-semantic-text-success, var(--co-color-status-success)); }
|
|
438
443
|
|
|
439
444
|
.co-rich-text-editor__count {
|
|
440
445
|
margin-left: auto;
|
|
@@ -1042,7 +1047,7 @@ co-rich-text-editor {
|
|
|
1042
1047
|
}
|
|
1043
1048
|
|
|
1044
1049
|
.co-rte-bubble__overflow-item--danger {
|
|
1045
|
-
color: var(--co-color-status-error, #aa2e1b);
|
|
1050
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b));
|
|
1046
1051
|
}
|
|
1047
1052
|
.co-rte-bubble__overflow-item--danger:hover {
|
|
1048
1053
|
background: rgba(170, 46, 27, 0.06);
|
|
@@ -1384,3 +1389,20 @@ co-rich-text-editor {
|
|
|
1384
1389
|
outline: none !important;
|
|
1385
1390
|
}
|
|
1386
1391
|
|
|
1392
|
+
|
|
1393
|
+
/* Marca de requerido: la misma de todos los campos co-* (utils/requiredMark). */
|
|
1394
|
+
.co-field-required {
|
|
1395
|
+
margin-left: 2px;
|
|
1396
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error));
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
.co-field-required__caption {
|
|
1400
|
+
margin-left: 4px;
|
|
1401
|
+
color: var(--co-semantic-text-muted);
|
|
1402
|
+
font-size: var(--co-font-size-12);
|
|
1403
|
+
font-weight: 400;
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
.co-field-required__caption::before {
|
|
1407
|
+
content: var(--co-field-required-text, ' (required)');
|
|
1408
|
+
}
|
|
@@ -2,6 +2,7 @@ import { h } from "@stencil/core";
|
|
|
2
2
|
import * as RichText from "@prolibu-suite/cobalt-rich-text";
|
|
3
3
|
import { getRichTextStrings } from "../../utils/richTextI18n";
|
|
4
4
|
import { applyExternalValue, buildOutput, EchoGuard, parseEditorValue, parseFeatures, syncImageLayouts, syncToolbarEditor } from "../../utils/rich-text-host";
|
|
5
|
+
import { RequiredMark } from "../../utils/requiredMark";
|
|
5
6
|
/**
|
|
6
7
|
* Rich text editor backed by Tiptap v3.
|
|
7
8
|
*
|
|
@@ -85,6 +86,16 @@ export class CoRichTextEditor {
|
|
|
85
86
|
this.applyingExternal = false;
|
|
86
87
|
this.rt = RichText;
|
|
87
88
|
this.imgLayoutVisible = false;
|
|
89
|
+
/** `componentDidLoad` ya corrió: desde acá un `connectedCallback` es una RE-conexión. */
|
|
90
|
+
this.loaded = false;
|
|
91
|
+
this.onToolbarMousedown = () => {
|
|
92
|
+
this.closeBubbleDropdowns();
|
|
93
|
+
};
|
|
94
|
+
this.onToolbarPopoverChange = (e) => {
|
|
95
|
+
var _a;
|
|
96
|
+
const open = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.open;
|
|
97
|
+
this.suppressBubble(!!open);
|
|
98
|
+
};
|
|
88
99
|
this.handleUpdate = (editor) => {
|
|
89
100
|
this.refreshCharCount();
|
|
90
101
|
if (this.applyingExternal)
|
|
@@ -119,20 +130,38 @@ export class CoRichTextEditor {
|
|
|
119
130
|
}, 100);
|
|
120
131
|
};
|
|
121
132
|
}
|
|
133
|
+
connectedCallback() {
|
|
134
|
+
// El host volvió al documento DESPUÉS de un teardown (estuvo fuera más de un
|
|
135
|
+
// tick). `componentDidLoad` no vuelve a correr: sin esto el editor quedaba
|
|
136
|
+
// muerto y `getEditorInstance()` devolvía null.
|
|
137
|
+
if (this.loaded && !this.editor)
|
|
138
|
+
this.mountEditor();
|
|
139
|
+
}
|
|
122
140
|
async componentDidLoad() {
|
|
141
|
+
this.mountEditor();
|
|
142
|
+
this.loaded = true;
|
|
143
|
+
}
|
|
144
|
+
/** Crea el editor Tiptap sobre `contentEl`. Corre en la carga y al reconectar. */
|
|
145
|
+
mountEditor() {
|
|
123
146
|
var _a, _b;
|
|
124
147
|
if (!this.contentEl)
|
|
125
148
|
return;
|
|
149
|
+
const remount = this.loaded;
|
|
126
150
|
// Create bubble element imperatively so Stencil VDOM cannot interfere
|
|
127
151
|
// with BubbleMenu's DOM management (it calls element.remove/appendChild).
|
|
128
152
|
const showToolbar = this.resolvedToolbar !== 'none' && !this.readonly && !this.disabled;
|
|
129
153
|
if (showToolbar) {
|
|
130
154
|
this.bubbleEl = this.createBubbleElement();
|
|
131
155
|
}
|
|
156
|
+
// Al recrear, la instantánea del teardown (lo tipeado, que el padre puede no
|
|
157
|
+
// haber devuelto por `value`) gana; un `value` nuevo mientras tanto la borra.
|
|
158
|
+
const fromValue = this.detachedContent === undefined;
|
|
159
|
+
const content = fromValue ? parseEditorValue(this.value) : this.detachedContent;
|
|
160
|
+
this.detachedContent = undefined;
|
|
132
161
|
this.editor = this.rt.createEditor({
|
|
133
162
|
preset: this.preset,
|
|
134
163
|
element: this.contentEl,
|
|
135
|
-
content
|
|
164
|
+
content,
|
|
136
165
|
editable: !this.disabled && !this.readonly,
|
|
137
166
|
placeholder: this.placeholder,
|
|
138
167
|
maxLength: this.maxLength,
|
|
@@ -172,32 +201,47 @@ export class CoRichTextEditor {
|
|
|
172
201
|
this.updateImageLayoutBar();
|
|
173
202
|
});
|
|
174
203
|
// Clicking the toolbar closes bubble popups (link form, panels, etc.)
|
|
204
|
+
// Handlers con referencia estable: al recrear el editor, el mismo
|
|
205
|
+
// addEventListener sobre el mismo toolbar es un no-op (no se duplican).
|
|
175
206
|
if (this.bubbleEl && this.toolbarEl) {
|
|
176
|
-
this.toolbarEl.addEventListener('mousedown',
|
|
177
|
-
this.closeBubbleDropdowns();
|
|
178
|
-
});
|
|
207
|
+
this.toolbarEl.addEventListener('mousedown', this.onToolbarMousedown);
|
|
179
208
|
// Hide the selection bubble while a toolbar dropdown/popover is open so
|
|
180
209
|
// the two never overlap in the same space (the bubble lives inside the
|
|
181
210
|
// content area, right where toolbar dropdowns expand into).
|
|
182
|
-
this.toolbarEl.addEventListener('coPopoverChange',
|
|
183
|
-
var _a;
|
|
184
|
-
const open = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.open;
|
|
185
|
-
this.suppressBubble(!!open);
|
|
186
|
-
});
|
|
211
|
+
this.toolbarEl.addEventListener('coPopoverChange', this.onToolbarPopoverChange);
|
|
187
212
|
}
|
|
188
|
-
|
|
213
|
+
// Recreado desde la instantánea: el guard anti-eco conserva el último output
|
|
214
|
+
// emitido (re-sembrarlo con `value` haría que un eco tardío del padre
|
|
215
|
+
// re-aplicara el contenido). Desde `value` (carga o valor nuevo), se siembra.
|
|
216
|
+
if (fromValue)
|
|
217
|
+
this.echo.seed((_b = this.value) !== null && _b !== void 0 ? _b : null);
|
|
189
218
|
this.ready = true;
|
|
190
219
|
this.refreshCharCount();
|
|
191
220
|
this.syncToolbar();
|
|
192
221
|
this.coReady.emit();
|
|
193
|
-
if (this.autofocus)
|
|
222
|
+
if (this.autofocus && !remount)
|
|
194
223
|
this.editor.commands.focus();
|
|
195
224
|
// Tag every image container with its layout mode so the CSS rules apply.
|
|
196
225
|
// Runs even without the layout toolbar (readonly/disabled viewers).
|
|
197
226
|
requestAnimationFrame(() => this.syncImageLayouts());
|
|
198
227
|
}
|
|
199
228
|
disconnectedCallback() {
|
|
200
|
-
|
|
229
|
+
// Un MOVIMIENTO del host (quitar + insertar en el mismo tick: el drawer que
|
|
230
|
+
// pasa de plano a split mueve el scrollport) también dispara este callback.
|
|
231
|
+
// Destruir en el acto dejaba el editor muerto. El teardown se difiere un
|
|
232
|
+
// microtask y solo corre si el host sigue fuera del documento; si volvió
|
|
233
|
+
// más tarde, `connectedCallback` lo recrea.
|
|
234
|
+
queueMicrotask(() => {
|
|
235
|
+
// Sin `window` el realm ya se desmontó (fin del entorno de pruebas): no hay nada que
|
|
236
|
+
// liberar y el `destroy()` de Tiptap reventaría leyendo `window`.
|
|
237
|
+
if (typeof window === 'undefined')
|
|
238
|
+
return;
|
|
239
|
+
if (!this.el.isConnected)
|
|
240
|
+
this.teardownEditor();
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
teardownEditor() {
|
|
244
|
+
var _a, _b, _c;
|
|
201
245
|
clearTimeout(this.blurTimeout);
|
|
202
246
|
clearTimeout(this.bubbleLockTimer);
|
|
203
247
|
(_a = this.bubbleStyleObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
@@ -207,10 +251,17 @@ export class CoRichTextEditor {
|
|
|
207
251
|
document.removeEventListener('mouseup', this.bubbleDragEndHandler);
|
|
208
252
|
if (this.bubbleOutsideClickHandler)
|
|
209
253
|
document.removeEventListener('click', this.bubbleOutsideClickHandler, true);
|
|
210
|
-
(
|
|
254
|
+
if (this.editor) {
|
|
255
|
+
// Instantánea de lo tipeado para recrear igual si el host vuelve.
|
|
256
|
+
this.detachedContent = this.editor.isEmpty ? null : this.editor.getJSON();
|
|
257
|
+
this.editor.destroy();
|
|
258
|
+
}
|
|
211
259
|
this.editor = undefined;
|
|
212
|
-
(
|
|
213
|
-
|
|
260
|
+
(_b = this.bubbleEl) === null || _b === void 0 ? void 0 : _b.remove();
|
|
261
|
+
this.bubbleEl = undefined;
|
|
262
|
+
(_c = this.imgLayoutEl) === null || _c === void 0 ? void 0 : _c.remove();
|
|
263
|
+
this.imgLayoutEl = undefined;
|
|
264
|
+
this.imgLayoutVisible = false;
|
|
214
265
|
}
|
|
215
266
|
componentDidRender() {
|
|
216
267
|
this.syncToolbar();
|
|
@@ -224,7 +275,13 @@ export class CoRichTextEditor {
|
|
|
224
275
|
}
|
|
225
276
|
}
|
|
226
277
|
onValueChange(next) {
|
|
227
|
-
|
|
278
|
+
// Sin editor tras un teardown: el valor nuevo gana sobre la instantánea al recrear.
|
|
279
|
+
if (!this.editor) {
|
|
280
|
+
if (this.loaded)
|
|
281
|
+
this.detachedContent = undefined;
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
if (this.applyingExternal)
|
|
228
285
|
return;
|
|
229
286
|
const incoming = next !== null && next !== void 0 ? next : null;
|
|
230
287
|
// El padre suele devolver nuestro propio output (JSON o HTML): re-aplicarlo
|
|
@@ -2007,11 +2064,11 @@ export class CoRichTextEditor {
|
|
|
2007
2064
|
const showToolbar = this.resolvedToolbar !== 'none' && !this.readonly && !this.disabled;
|
|
2008
2065
|
const showCount = this.showCharacterCount || this.maxLength != null;
|
|
2009
2066
|
const bottom = this.toolbarPosition === 'bottom';
|
|
2010
|
-
const toolbar = showToolbar && (h("co-rich-text-toolbar", { key: '
|
|
2067
|
+
const toolbar = showToolbar && (h("co-rich-text-toolbar", { key: '7b2112db75bb679695e9bb58385d193e90d3678b', class: "co-rich-text-editor__toolbar", part: "toolbar", variant: this.resolvedToolbar, position: this.toolbarPosition, disabled: this.disabled || this.readonly, locale: this.locale, attachmentsEnabled: this.attachmentsEnabled, attachmentAccept: this.attachmentAccept, onCoAttachmentsSelected: (e) => {
|
|
2011
2068
|
e.stopPropagation();
|
|
2012
2069
|
this.coAttachmentsSelected.emit(e.detail);
|
|
2013
2070
|
}, ref: (el) => (this.toolbarEl = el) }));
|
|
2014
|
-
return (h("div", { key: '
|
|
2071
|
+
return (h("div", { key: '8b848da977b08aa7f3466fa14403155ddc1c1d66', class: {
|
|
2015
2072
|
'co-rich-text-editor': true,
|
|
2016
2073
|
'co-rich-text-editor--focused': this.hasFocus,
|
|
2017
2074
|
'co-rich-text-editor--disabled': this.disabled,
|
|
@@ -2020,7 +2077,7 @@ export class CoRichTextEditor {
|
|
|
2020
2077
|
[`co-rich-text-editor--${this.status}`]: this.status !== 'default',
|
|
2021
2078
|
'co-rich-text-editor--flat': this.variant === 'flat',
|
|
2022
2079
|
'co-rich-text-editor--toolbar-bottom': bottom,
|
|
2023
|
-
}, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: '
|
|
2080
|
+
}, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: 'f35d59f312dabcd2b384e958a45bb7ac4a33f7bb', class: "co-rich-text-editor__labels" }, this.label && h("label", { key: 'e7b2d47de7356e4a89fabf925255dbf0d25fc8e9', class: "co-rich-text-editor__label", part: "label" }, this.label, h(RequiredMark, { key: 'f56500b0382d9d12c7f78b4448aab7cc748271be', required: this.required })), this.secondaryLabel && (h("span", { key: 'e305aecd4fee9963221210ac076791f456aad91c', class: "co-rich-text-editor__secondary-label" }, this.secondaryLabel)))), h("div", { key: '284ff5c06606efef9a06de80478acc57868229eb', class: "co-rich-text-editor__frame" }, !bottom && toolbar, h("div", { key: '145b244c505ae5374bd847855978da02baa878cc', class: "co-rich-text-editor__box" }, h("div", { key: 'c5f02991df3e712a3e6a0163415a75c5e91e4384', class: "co-rte-content", part: "content", role: "textbox", "aria-multiline": "true", "aria-label": this.label, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.status === 'error' ? 'true' : undefined, ref: (el) => (this.contentEl = el) })), h("slot", { key: '060e3e5bcda76b403357ada26950c9f50a71076e', name: "content-end" }), bottom && (h("div", { key: '2ec4329cfc09714a78caab5ca774f08af2984729', class: "co-rich-text-editor__toolbar-row", part: "toolbar-row" }, toolbar, h("slot", { key: '806f94a2d924df1b33d5fcf5d28279b093f69845', name: "toolbar-end" })))), h("div", { key: '8fcb92d7f3404c7458f95fc578fbb579ecb4b5e7', class: "co-rich-text-editor__footer" }, this.helperText && (h("div", { key: 'b1b664ceb090e940cadc3aa782eb074e6517146a', class: `co-rich-text-editor__helper co-rich-text-editor__helper--${this.status}`, part: "helper" }, h("co-icon", { key: 'a8db33f94d1aec0bc62bd9ee709d4cff914fc51c', name: this.helperIcon, size: 14 }), h("span", { key: 'be99a15b919ea82668da83854735b80eaf03ebf7' }, this.helperText))), showCount && (h("span", { key: 'dfde31e7c4f62fc9cf9fc3654f5eb6a2377dcf9a', class: "co-rich-text-editor__count", ref: (el) => (this.charCountEl = el) }, this.charCount, this.maxLength != null ? ` / ${this.maxLength}` : '')))));
|
|
2024
2081
|
}
|
|
2025
2082
|
static get is() { return "co-rich-text-editor"; }
|
|
2026
2083
|
static get originalStyleUrls() {
|
|
@@ -2671,7 +2728,7 @@ export class CoRichTextEditor {
|
|
|
2671
2728
|
"composed": true,
|
|
2672
2729
|
"docs": {
|
|
2673
2730
|
"tags": [],
|
|
2674
|
-
"text": "Emitted once the editor is mounted and ready."
|
|
2731
|
+
"text": "Emitted once the editor is mounted and ready. Se RE-emite si el editor se\nrecrea al reconectar el host tras un teardown: quien guarde la instancia de\n`getEditorInstance()` debe volver a pedirla en cada `coReady`."
|
|
2675
2732
|
},
|
|
2676
2733
|
"complexType": {
|
|
2677
2734
|
"original": "void",
|
|
@@ -227,8 +227,10 @@
|
|
|
227
227
|
color: #fff;
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
231
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
230
232
|
.co-rich-text-toolbar__popover-btn--danger {
|
|
231
|
-
color: var(--co-color-status-error, #aa2e1b);
|
|
233
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b));
|
|
232
234
|
border-color: var(--co-color-status-error, #aa2e1b);
|
|
233
235
|
}
|
|
234
236
|
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { toolbarItems, COLOR_PALETTE, TABLE_CONTEXT_ITEMS } from "@prolibu-suite/cobalt-rich-text";
|
|
3
3
|
import { getRichTextStrings } from "../../utils/richTextI18n";
|
|
4
|
+
import { panelShiftX, visibleArea } from "./panelFit";
|
|
5
|
+
/** Paneles que cuelgan de un botón (ver co-rich-text-toolbar.css): los que `fitOpenPanel` encaja. */
|
|
6
|
+
const PANEL_SELECTOR = [
|
|
7
|
+
'.co-rich-text-toolbar__popover',
|
|
8
|
+
'.co-rich-text-toolbar__dropdown',
|
|
9
|
+
'.co-rich-text-toolbar__color-picker',
|
|
10
|
+
'.co-rich-text-toolbar__table-picker',
|
|
11
|
+
'.co-rich-text-toolbar__listpicker',
|
|
12
|
+
].join(', ');
|
|
4
13
|
/**
|
|
5
14
|
* Formatting toolbar for co-rich-text-editor. Receives the Tiptap editor
|
|
6
15
|
* instance via the `editor` JS property, runs commands, and reflects active
|
|
@@ -384,6 +393,37 @@ export class CoRichTextToolbar {
|
|
|
384
393
|
return;
|
|
385
394
|
this.coPopoverChange.emit({ open: !!next });
|
|
386
395
|
}
|
|
396
|
+
componentDidRender() {
|
|
397
|
+
this.fitOpenPanel();
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Corre el panel abierto hacia la izquierda si se sale del área VISIBLE
|
|
401
|
+
* (viewport ∩ ancestros que recortan, ver panelFit.ts). Los paneles anclan a
|
|
402
|
+
* `left:0` de su botón por CSS: en una columna angosta (inspector del
|
|
403
|
+
* cotizador) el de link/listas se cortaba y el contenedor ganaba scroll-x.
|
|
404
|
+
* Se mide tras cada render con el panel abierto (su contenido cambia: menú →
|
|
405
|
+
* URL de la imagen), reseteando antes el corrimiento anterior.
|
|
406
|
+
*/
|
|
407
|
+
fitOpenPanel() {
|
|
408
|
+
var _a;
|
|
409
|
+
if (!this.openPopover || typeof window === 'undefined')
|
|
410
|
+
return;
|
|
411
|
+
const panels = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(PANEL_SELECTOR);
|
|
412
|
+
if (!(panels === null || panels === void 0 ? void 0 : panels.length))
|
|
413
|
+
return;
|
|
414
|
+
const viewport = document.documentElement.clientWidth || window.innerWidth; // sin la scrollbar de la página
|
|
415
|
+
const area = visibleArea(this.el, viewport, (node) => getComputedStyle(node).overflowX);
|
|
416
|
+
panels.forEach((panel) => {
|
|
417
|
+
panel.style.translate = '';
|
|
418
|
+
const box = panel.getBoundingClientRect();
|
|
419
|
+
if (!box.width)
|
|
420
|
+
return;
|
|
421
|
+
const scale = panel.offsetWidth ? box.width / panel.offsetWidth || 1 : 1;
|
|
422
|
+
const dx = panelShiftX(box, area);
|
|
423
|
+
if (dx)
|
|
424
|
+
panel.style.translate = `${dx / scale}px 0`;
|
|
425
|
+
});
|
|
426
|
+
}
|
|
387
427
|
disconnectedCallback() {
|
|
388
428
|
var _a;
|
|
389
429
|
(_a = this.editor) === null || _a === void 0 ? void 0 : _a.off('transaction', this.onTransaction);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encaje horizontal de los paneles de la toolbar (link, listas, color, tabla,
|
|
3
|
+
* callouts). Cuelgan de su botón por CSS (`position:absolute; left:0`), así que
|
|
4
|
+
* en una columna angosta —el inspector del ítem del cotizador— se salían por la
|
|
5
|
+
* derecha: los recortaba el `overflow` del contenedor, que además ganaba scroll
|
|
6
|
+
* horizontal y corría el editor. Aquí se calcula cuánto correrlos para que
|
|
7
|
+
* queden dentro del área VISIBLE (viewport ∩ ancestros que recortan).
|
|
8
|
+
*/
|
|
9
|
+
/** Aire mínimo contra el borde del área visible. */
|
|
10
|
+
export const PANEL_EDGE_GAP = 8;
|
|
11
|
+
/**
|
|
12
|
+
* Desplazamiento en px de viewport (negativo = a la izquierda) para que `panel`
|
|
13
|
+
* entre en `area`. Si el panel es más ancho que el área, gana su borde
|
|
14
|
+
* IZQUIERDO (el comienzo del contenido: el input, la primera fila).
|
|
15
|
+
*/
|
|
16
|
+
export function panelShiftX(panel, area, gap = PANEL_EDGE_GAP) {
|
|
17
|
+
let dx = 0;
|
|
18
|
+
if (panel.right > area.right - gap)
|
|
19
|
+
dx = area.right - gap - panel.right;
|
|
20
|
+
if (panel.left + dx < area.left + gap)
|
|
21
|
+
dx = area.left + gap - panel.left;
|
|
22
|
+
return dx;
|
|
23
|
+
}
|
|
24
|
+
const CLIPS = /(auto|scroll|hidden|clip)/;
|
|
25
|
+
/**
|
|
26
|
+
* Área visible para un nodo: el viewport recortado por cada ancestro con
|
|
27
|
+
* `overflow-x` que recorta, cruzando shadow roots (el toolbar vive dentro del
|
|
28
|
+
* shadow del editor, que vive en la página).
|
|
29
|
+
*/
|
|
30
|
+
export function visibleArea(node, viewportWidth, overflowX) {
|
|
31
|
+
const area = { left: 0, right: viewportWidth };
|
|
32
|
+
let current = parentAcrossShadow(node);
|
|
33
|
+
while (current) {
|
|
34
|
+
if (CLIPS.test(overflowX(current))) {
|
|
35
|
+
const inner = innerBox(current);
|
|
36
|
+
area.left = Math.max(area.left, inner.left);
|
|
37
|
+
area.right = Math.min(area.right, inner.right);
|
|
38
|
+
}
|
|
39
|
+
current = parentAcrossShadow(current);
|
|
40
|
+
}
|
|
41
|
+
return area;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Lo que de verdad se ve de un contenedor que recorta: SIN su borde ni su
|
|
45
|
+
* scrollbar vertical (el rect los incluye; con el rect, el panel quedaba 3 px
|
|
46
|
+
* debajo de la scrollbar y el contenedor seguía con scroll-x). En px de
|
|
47
|
+
* viewport: `client*` son px CSS, se escalan si un ancestro tiene transform.
|
|
48
|
+
*/
|
|
49
|
+
function innerBox(node) {
|
|
50
|
+
const box = node.getBoundingClientRect();
|
|
51
|
+
if (node.clientWidth === undefined)
|
|
52
|
+
return box;
|
|
53
|
+
const scale = node.offsetWidth && box.width ? box.width / node.offsetWidth : 1;
|
|
54
|
+
const left = box.left + (node.clientLeft || 0) * scale;
|
|
55
|
+
return { left, right: left + node.clientWidth * scale };
|
|
56
|
+
}
|
|
57
|
+
function parentAcrossShadow(node) {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
if (node.parentElement)
|
|
60
|
+
return node.parentElement;
|
|
61
|
+
const root = (_a = node.getRootNode) === null || _a === void 0 ? void 0 : _a.call(node);
|
|
62
|
+
return (_b = root === null || root === void 0 ? void 0 : root.host) !== null && _b !== void 0 ? _b : null;
|
|
63
|
+
}
|
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.co-rich-text-viewer a {
|
|
56
|
-
|
|
56
|
+
/* Tinta de enlace/activo: text-link gira con el tema (azul primitivo = 3,8:1 sobre gray-800). */
|
|
57
|
+
color: var(--co-semantic-text-link, var(--co-color-primary-azul));
|
|
57
58
|
text-decoration: underline;
|
|
58
59
|
}
|
|
59
60
|
|
|
@@ -16,11 +16,11 @@ export class CoRow {
|
|
|
16
16
|
this.size = 'sm';
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
return (h("div", { key: '
|
|
19
|
+
return (h("div", { key: 'd052e6dba474ea6f1f136d677ebc538557685f07', class: {
|
|
20
20
|
'co-row': true,
|
|
21
21
|
[`co-row--${this.position}`]: true,
|
|
22
22
|
[`co-row--${this.size}`]: true,
|
|
23
|
-
}, part: "row" }, h("div", { key: '
|
|
23
|
+
}, part: "row" }, h("div", { key: '539f84f2fa75b7f21e434c59e712e37ee9ec8c97', class: "co-row__prefix" }, h("slot", { key: '53c1587065532465adc5a57e53486e1f95f6d62c', name: "prefix" })), h("div", { key: '6ac141b5b74f94ebea99ba3be6c7ec01e7c0303c', class: "co-row__content" }, h("slot", { key: '8e9312d7dbe9c085880a686735ac45a600e98802' })), h("div", { key: '3b7ae09f7dc1db532c76c2439d5632e59d16f916', class: "co-row__suffix" }, h("slot", { key: 'd42cc77971fb7c8e435538ce77192217f58a6c1b', name: "suffix" }))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "co-row"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -160,7 +160,7 @@ export class CoSegmentedBar {
|
|
|
160
160
|
"references": {
|
|
161
161
|
"CoSegment": {
|
|
162
162
|
"location": "local",
|
|
163
|
-
"path": "/Users/agox/
|
|
163
|
+
"path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-segmented-bar/co-segmented-bar.tsx",
|
|
164
164
|
"id": "src/components/co-segmented-bar/co-segmented-bar.tsx::CoSegment"
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -804,7 +804,9 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
804
804
|
align-items: center;
|
|
805
805
|
gap: var(--co-spacing-xs);
|
|
806
806
|
padding: var(--co-spacing-xxs) var(--co-spacing-sm2);
|
|
807
|
-
|
|
807
|
+
/* surface-control = gray-100 en claro y gira en oscuro: con la primitiva la etiqueta
|
|
808
|
+
(text-default, blanca en oscuro) quedaba blanco sobre blanco. */
|
|
809
|
+
background: var(--co-semantic-surface-control);
|
|
808
810
|
border-radius: var(--co-border-radius-full);
|
|
809
811
|
font-size: var(--co-font-size-14);
|
|
810
812
|
line-height: 1;
|
|
@@ -826,7 +828,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
826
828
|
border: none;
|
|
827
829
|
background: transparent;
|
|
828
830
|
cursor: pointer;
|
|
829
|
-
color: var(--co-
|
|
831
|
+
color: var(--co-semantic-text-muted);
|
|
830
832
|
transition: color var(--co-motion-duration-fast) var(--co-motion-ease-out);
|
|
831
833
|
flex-shrink: 0;
|
|
832
834
|
}
|
|
@@ -873,7 +875,10 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
873
875
|
cursor: not-allowed;
|
|
874
876
|
}
|
|
875
877
|
|
|
876
|
-
|
|
878
|
+
/* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
|
|
879
|
+
relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico).
|
|
880
|
+
Fallback: la primitiva de hoy, hasta publicar tokens. */
|
|
881
|
+
.co-select--error .co-select__trigger { border-color: var(--co-semantic-border-error, var(--co-semantic-status-error)); }
|
|
877
882
|
.co-select--success .co-select__trigger { border-color: var(--co-semantic-status-success); }
|
|
878
883
|
.co-select--warning .co-select__trigger { border-color: var(--co-color-status-review); }
|
|
879
884
|
.co-select--info .co-select__trigger { border-color: var(--co-semantic-status-info); }
|
|
@@ -1033,9 +1038,11 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
1033
1038
|
--os-padding-axis: 2px;
|
|
1034
1039
|
--os-track-bg: transparent;
|
|
1035
1040
|
--os-handle-border-radius: var(--co-border-radius-full);
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
--os-handle-bg
|
|
1041
|
+
/* border-default/field/strong = negro 16/25/50 en claro; en oscuro giran a blanco (el asa
|
|
1042
|
+
negra no se veía sobre el panel oscuro). */
|
|
1043
|
+
--os-handle-bg: var(--co-semantic-border-default);
|
|
1044
|
+
--os-handle-bg-hover: var(--co-semantic-border-field);
|
|
1045
|
+
--os-handle-bg-active: var(--co-semantic-border-strong);
|
|
1039
1046
|
--os-handle-min-size: 24px;
|
|
1040
1047
|
}
|
|
1041
1048
|
|
|
@@ -1118,17 +1125,19 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
1118
1125
|
line-height: 1;
|
|
1119
1126
|
}
|
|
1120
1127
|
|
|
1128
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
1129
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
1121
1130
|
.co-select__helper--error .co-select__helper-icon,
|
|
1122
|
-
.co-select__helper--error .co-select__helper-text { color: var(--co-semantic-status-error); }
|
|
1131
|
+
.co-select__helper--error .co-select__helper-text { color: var(--co-semantic-text-error, var(--co-semantic-status-error)); }
|
|
1123
1132
|
|
|
1124
1133
|
.co-select__helper--success .co-select__helper-icon,
|
|
1125
|
-
.co-select__helper--success .co-select__helper-text { color: var(--co-semantic-status-success); }
|
|
1134
|
+
.co-select__helper--success .co-select__helper-text { color: var(--co-semantic-text-success, var(--co-semantic-status-success)); }
|
|
1126
1135
|
|
|
1127
1136
|
.co-select__helper--warning .co-select__helper-icon,
|
|
1128
|
-
.co-select__helper--warning .co-select__helper-text { color: var(--co-color-status-review); }
|
|
1137
|
+
.co-select__helper--warning .co-select__helper-text { color: var(--co-semantic-text-warning, var(--co-color-status-review)); }
|
|
1129
1138
|
|
|
1130
1139
|
.co-select__helper--info .co-select__helper-icon,
|
|
1131
|
-
.co-select__helper--info .co-select__helper-text { color: var(--co-semantic-status-info); }
|
|
1140
|
+
.co-select__helper--info .co-select__helper-text { color: var(--co-semantic-text-info, var(--co-semantic-status-info)); }
|
|
1132
1141
|
|
|
1133
1142
|
/* ── Horizontal layout: label left; control + helper stacked right ──
|
|
1134
1143
|
Set --co-field-label-width on a container to align labels across fields. */
|
|
@@ -1156,9 +1165,10 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
1156
1165
|
min-width: 0;
|
|
1157
1166
|
}
|
|
1158
1167
|
|
|
1168
|
+
/* Asterisco de requerido: tinta --co-semantic-text-error (gira con el tema). */
|
|
1159
1169
|
.co-field-required {
|
|
1160
1170
|
margin-left: 2px;
|
|
1161
|
-
color: var(--co-color-status-error);
|
|
1171
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error));
|
|
1162
1172
|
}
|
|
1163
1173
|
|
|
1164
1174
|
.co-field-required__caption {
|
|
@@ -1242,7 +1252,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
1242
1252
|
/* Caret gray-600 en este layout puntual (Figma 6-#10), pisando el
|
|
1243
1253
|
default text-default de arriba. */
|
|
1244
1254
|
.co-select--inline-help .co-select__caret {
|
|
1245
|
-
color: var(--co-
|
|
1255
|
+
color: var(--co-semantic-text-secondary); /* gray-600 en claro; gira en oscuro */
|
|
1246
1256
|
}
|
|
1247
1257
|
|
|
1248
1258
|
/* ── menu-surface="dark" ──────────────────────────────────────────
|
|
@@ -481,7 +481,9 @@ export class CoSelect {
|
|
|
481
481
|
var _a;
|
|
482
482
|
const active = document.activeElement;
|
|
483
483
|
if (active === this.el || this.el.contains(active)) {
|
|
484
|
-
|
|
484
|
+
// Sin scroll: si el panel se cerró porque el campo salió de la vista de su scroller
|
|
485
|
+
// (co-popover), devolverle el foco llevaba al usuario de vuelta arriba del formulario.
|
|
486
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
|
|
485
487
|
}
|
|
486
488
|
}
|
|
487
489
|
// OverlayScrollbars: floating, auto-hide handle that overlays the content (no
|
|
@@ -547,7 +549,7 @@ export class CoSelect {
|
|
|
547
549
|
const activeOptionId = this.isOpen && this.activeIndex >= 0 && this.activeIndex < options.length
|
|
548
550
|
? this.optionId(this.activeIndex)
|
|
549
551
|
: undefined;
|
|
550
|
-
return (h("div", { key: '
|
|
552
|
+
return (h("div", { key: 'd121ba9ec0b29e6e70702185d055f9f2590fcf60', class: {
|
|
551
553
|
'co-select': true,
|
|
552
554
|
'co-select--open': this.isOpen,
|
|
553
555
|
'co-select--disabled': this.disabled,
|
|
@@ -556,22 +558,22 @@ export class CoSelect {
|
|
|
556
558
|
'co-select--flat': this.variant === 'flat',
|
|
557
559
|
'co-select--soft': this.variant === 'soft',
|
|
558
560
|
'co-select--inline-help': this.labelStyle === 'inline-help',
|
|
559
|
-
} }, (this.label || this.secondaryLabel) && (h("div", { key: '
|
|
561
|
+
} }, (this.label || this.secondaryLabel) && (h("div", { key: 'b5ba06d1b361ba3f0488b3835e2ae9fbc723ee3f', class: "co-select__labels" }, this.label && h("label", { key: '8131f52d757b71d694ddbb5fe2e83e0762237627', class: "co-select__label" }, this.label, h(RequiredMark, { key: '31de4113e6cc17e7be6ecf82cf4d9108878cad67', required: this.required })), this.secondaryLabel && h("span", { key: 'd499ef261e4c8b375e6058eae2b18fa9e755008b', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '2cb6fc46ec1ecab4e1ccdae6a44d9394201fb339', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4,
|
|
560
562
|
// menuSurface="dark": el panel oscuro pinta su propio chrome (fondo
|
|
561
563
|
// negro, radio xs, sin borde ni sombra — Figma 4750:23242), así que
|
|
562
564
|
// el co-popover va `bare` para no sumar el borde hairline ni la
|
|
563
565
|
// sombra del panel claro (y cualquier --co-popover-shadow heredada
|
|
564
566
|
// del contexto). En "light" (default) no cambia nada.
|
|
565
|
-
bare: this.menuSurface === 'dark', onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '
|
|
567
|
+
bare: this.menuSurface === 'dark', onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '4e85e1c3256c40b93336fc282afaf5cb684f3af0', slot: "trigger", class: "co-select__trigger", role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-label": this.label || this.ariaLabelText || undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-controls": CoSelect.LISTBOX_ID, "aria-activedescendant": activeOptionId, tabIndex: this.disabled ? -1 : 0, ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, this.iconLeft && (h("co-icon", { key: 'b70cb41a5da6e4b0fb5c70d88658d9a15b8ff730', name: this.iconLeft, size: (_a = this.iconSize) !== null && _a !== void 0 ? _a : 16, class: "co-select__icon" })), ((_b = this.selectedOption) === null || _b === void 0 ? void 0 : _b.image) && (h("img", { key: 'e594304493fc463f48c35a8a7526488664d7300e', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
|
|
566
568
|
const opt = this.parsedOptions.find((o) => o.value === v);
|
|
567
569
|
return (h("span", { class: "co-select__chip", key: v }, h("span", { class: "co-select__chip-label" }, opt ? opt.label : v), h("button", { class: "co-select__chip-remove", type: "button", tabIndex: -1, "aria-label": "Remove", onClick: (e) => {
|
|
568
570
|
e.stopPropagation();
|
|
569
571
|
this.handleOptionClick(v);
|
|
570
572
|
} }, h("co-icon", { name: "x", size: 12 }))));
|
|
571
|
-
}))) : (h("span", { class: { 'co-select__text': true, 'co-select__text--placeholder': !this.hasValue } }, this.hasValue ? this.displayText : this.placeholder)), this.clearable && this.hasValue && !this.disabled && (h("button", { key: '
|
|
573
|
+
}))) : (h("span", { class: { 'co-select__text': true, 'co-select__text--placeholder': !this.hasValue } }, this.hasValue ? this.displayText : this.placeholder)), this.clearable && this.hasValue && !this.disabled && (h("button", { key: '73a50ae2aa6c1a9f449a5abb9851fdef231e7ffc', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'ade7609dc136ec20a0412fd7e460a95e50d516e4', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: '7b5bba8fb8fca31613879ab8743f884b1bd71802', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: '2e6bd8187439a7920fe6ad151886da76f79426fc', class: {
|
|
572
574
|
'co-select__dropdown': true,
|
|
573
575
|
'co-select__dropdown--dark': this.menuSurface === 'dark',
|
|
574
|
-
} }, this.isOpen && this.searchable && (h("div", { key: '
|
|
576
|
+
} }, this.isOpen && this.searchable && (h("div", { key: '75b3f339a256945a1c5153453033ab3ad0b5902e', class: "co-select__search" }, h("co-icon", { key: '95f2a28646ffba6416fe7582a360b7c6b4ce58a9', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: '8e539a698da9d3ff68e3cce544cac9da4c285afa', class: "co-select__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.searchText, "aria-controls": CoSelect.LISTBOX_ID, "aria-activedescendant": activeOptionId, onInput: this.handleSearchInput, onKeyDown: this.handleNavKeyDown, ref: (el) => (this.searchInputEl = el) }))), this.isOpen && this.searchable && options.length === 0 && (h("div", { key: 'b0ed2db9c7e397dae2f59cf3f11d9a2ccdf27ab8', class: "co-select__empty" }, this.emptyText)), h("div", { key: 'ec2381d0de5d9a928510d0e15b7ca78b449844b1', class: "co-select__options", id: CoSelect.LISTBOX_ID, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : undefined, ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
|
|
575
577
|
const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
|
|
576
578
|
return (
|
|
577
579
|
// Los wrappers del virtualizador van `presentation` para que las
|
|
@@ -587,7 +589,7 @@ export class CoSelect {
|
|
|
587
589
|
'co-select__option--active': index === this.activeIndex,
|
|
588
590
|
}, onClick: () => !isDisabled && this.handleOptionClick(opt.value), onPointerMove: (e) => this.handleOptionPointerMove(e, index) }, this.menuSurface === 'dark' && (h("span", { class: "co-select__option-check-slot" }, isSelected && (h("co-icon", { name: "check", size: 12, class: "co-select__option-check co-select__option-check--leading" })))), opt.image ? (h("img", { class: "co-select__option-flag", src: opt.image, alt: "", loading: "lazy" })) : opt.icon ? (h("co-icon", { name: opt.icon, size: 20, class: "co-select__option-icon" })) : null, h("span", { class: "co-select__option-label" }, this.renderLabel(opt.label)), isSelected && this.menuSurface !== 'dark' && (h("co-icon", { name: "check", size: 16, class: "co-select__option-check" }))));
|
|
589
591
|
}))));
|
|
590
|
-
})()), this.isOpen && this.showFooter && (h("co-list-footer", { key: '
|
|
592
|
+
})()), this.isOpen && this.showFooter && (h("co-list-footer", { key: 'e46141c876fdd0e8f05a14318f969ed370c2e201', class: "co-select__footer", primaryLabel: this.footerPrimaryLabel, primaryIcon: "check", onCoPrimary: this.handleFooterPrimary })))), this.helperText && (h("div", { key: '13b7b84f7241bed5afdfd70c1867045ae4fcd820', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '0f4a854f367a34b7a314ba0a768d02a35b03df07', name: this.statusIcon, size: 14, class: "co-select__helper-icon" }), h("span", { key: '965b58e53ac2bfd55c4d416e07062067c9f686b7', class: "co-select__helper-text" }, this.helperText)))));
|
|
591
593
|
}
|
|
592
594
|
static get is() { return "co-select"; }
|
|
593
595
|
static get encapsulation() { return "shadow"; }
|
|
@@ -846,7 +848,7 @@ export class CoSelect {
|
|
|
846
848
|
"references": {
|
|
847
849
|
"SelectOption": {
|
|
848
850
|
"location": "local",
|
|
849
|
-
"path": "/Users/agox/
|
|
851
|
+
"path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-select/co-select.tsx",
|
|
850
852
|
"id": "src/components/co-select/co-select.tsx::SelectOption"
|
|
851
853
|
}
|
|
852
854
|
}
|
|
@@ -64,7 +64,7 @@ export class CoSeparator {
|
|
|
64
64
|
style['--co-separator-inset-end'] = '0px';
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
return (h("hr", { key: '
|
|
67
|
+
return (h("hr", { key: 'be9301c81ce59544b33c78d5d70561a5530896f6', class: {
|
|
68
68
|
'co-separator': true,
|
|
69
69
|
'co-separator--vertical': this.vertical,
|
|
70
70
|
'co-separator--dark': this.dark,
|
|
@@ -18,10 +18,10 @@ export class CoSidebar {
|
|
|
18
18
|
this.mode = 'full';
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h("nav", { key: '
|
|
21
|
+
return (h("nav", { key: '757c703d5b48b3a0a9279efb72fcb4e75766cb70', class: {
|
|
22
22
|
'co-sidebar': true,
|
|
23
23
|
[`co-sidebar--${this.mode}`]: true,
|
|
24
|
-
}, part: "sidebar" }, h("div", { key: '
|
|
24
|
+
}, part: "sidebar" }, h("div", { key: 'ca01fa4c56c52459b7be32e19111bd183b1c7824', class: "co-sidebar__header", part: "header" }, h("slot", { key: '7bb16f14df6569ae262b776813525ca5f827f485', name: "header" })), h("div", { key: 'd3a20aae579d1af533834d5ee98f4e597a879688', class: "co-sidebar__body", part: "body" }, h("slot", { key: 'eff38bf3159dcc554310924ba691631733f09a8e' })), h("div", { key: '79da90c337b0c566013db7c88bd34901862edb63', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: '6b183536a98528a1f01978ea9ed72538c3dcc99a', name: "footer" }))));
|
|
25
25
|
}
|
|
26
26
|
static get is() { return "co-sidebar"; }
|
|
27
27
|
static get encapsulation() { return "shadow"; }
|