@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
|
@@ -37,7 +37,7 @@ export class CoFab {
|
|
|
37
37
|
const iconSize = this.size === 'xl' ? 24 : this.size === 'l' ? 24 : this.size === 's' ? 18 : 20;
|
|
38
38
|
const hasLabel = !!this.label;
|
|
39
39
|
const hoverExpand = hasLabel && this.expandOnHover;
|
|
40
|
-
return (h("button", { key: '
|
|
40
|
+
return (h("button", { key: '740058822962826eaed6d9783ba012234f7343a1', class: {
|
|
41
41
|
'co-fab': true,
|
|
42
42
|
[`co-fab--${this.variant}`]: true,
|
|
43
43
|
[`co-fab--${this.size}`]: true,
|
|
@@ -45,7 +45,7 @@ export class CoFab {
|
|
|
45
45
|
'co-fab--hover-expand': hoverExpand,
|
|
46
46
|
'co-fab--disabled': this.disabled,
|
|
47
47
|
[`co-fab--${this.position}`]: this.position !== 'none',
|
|
48
|
-
}, type: "button", disabled: this.disabled, onClick: this.handleClick, onPointerEnter: this.handleExpandMeasure, onFocusin: this.handleExpandMeasure, "aria-label": this.ariaLabelText || this.label || this.icon }, h("co-icon", { key: '
|
|
48
|
+
}, type: "button", disabled: this.disabled, onClick: this.handleClick, onPointerEnter: this.handleExpandMeasure, onFocusin: this.handleExpandMeasure, "aria-label": this.ariaLabelText || this.label || this.icon }, h("co-icon", { key: '279d46289a80b83745e82743f9b13e22a28669ba', name: this.icon, size: iconSize }), this.label && (h("span", { key: 'f91eaf3101142d390c6281c0c945016b421f995b', class: "co-fab__label", ref: (el) => (this.labelEl = el) }, this.label))));
|
|
49
49
|
}
|
|
50
50
|
static get is() { return "co-fab"; }
|
|
51
51
|
static get encapsulation() { return "shadow"; }
|
|
@@ -34,9 +34,11 @@
|
|
|
34
34
|
cursor: default;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
38
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
37
39
|
.co-field-required {
|
|
38
40
|
margin-left: 2px;
|
|
39
|
-
color: var(--co-color-status-error);
|
|
41
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error));
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
.co-field-required__caption {
|
|
@@ -252,8 +254,11 @@
|
|
|
252
254
|
border-radius: var(--co-border-radius-sm);
|
|
253
255
|
}
|
|
254
256
|
|
|
257
|
+
/* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
|
|
258
|
+
relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico).
|
|
259
|
+
Fallback: la primitiva de hoy, hasta publicar tokens. */
|
|
255
260
|
.co-file-field__row--error {
|
|
256
|
-
border-color: var(--co-semantic-status-error);
|
|
261
|
+
border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
|
|
257
262
|
}
|
|
258
263
|
|
|
259
264
|
.co-file-field__row--dragging {
|
|
@@ -285,7 +290,7 @@
|
|
|
285
290
|
}
|
|
286
291
|
|
|
287
292
|
.co-file-field__row--error .co-file-field__row-icon {
|
|
288
|
-
color: var(--co-semantic-status-error);
|
|
293
|
+
color: var(--co-semantic-text-error, var(--co-semantic-status-error));
|
|
289
294
|
}
|
|
290
295
|
|
|
291
296
|
.co-file-field__row-icon--spin {
|
|
@@ -316,7 +321,7 @@
|
|
|
316
321
|
}
|
|
317
322
|
|
|
318
323
|
.co-file-field__row-error {
|
|
319
|
-
color: var(--co-semantic-status-error);
|
|
324
|
+
color: var(--co-semantic-text-error, var(--co-semantic-status-error));
|
|
320
325
|
font-size: var(--co-font-size-12);
|
|
321
326
|
}
|
|
322
327
|
|
|
@@ -414,12 +419,12 @@
|
|
|
414
419
|
|
|
415
420
|
.co-file-field--invalid .co-file-field__dropzone,
|
|
416
421
|
.co-file-field--error .co-file-field__dropzone {
|
|
417
|
-
border-color: var(--co-semantic-status-error);
|
|
422
|
+
border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
|
|
418
423
|
}
|
|
419
424
|
|
|
420
425
|
.co-file-field__helper--error .co-file-field__helper-icon,
|
|
421
426
|
.co-file-field__helper--error .co-file-field__helper-text {
|
|
422
|
-
color: var(--co-semantic-status-error);
|
|
427
|
+
color: var(--co-semantic-text-error, var(--co-semantic-status-error));
|
|
423
428
|
}
|
|
424
429
|
|
|
425
430
|
/* ── Horizontal layout: label left; control + helper stacked right ──
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { RequiredMark } from "../../utils/requiredMark";
|
|
3
3
|
import { fillTemplate, getFileStrings } from "../../utils/fileI18n";
|
|
4
|
-
import { fileExtension, formatBytes, isPreviewable, isVideo, previewSrc, truncateLeft, } from "./co-file-field.utils";
|
|
4
|
+
import { acceptsFile, downloadViaBlob, fileExtension, formatBytes, isPreviewable, isVideo, previewSrc, truncateLeft, } from "./co-file-field.utils";
|
|
5
5
|
/**
|
|
6
6
|
* Host-driven file selector — renders a drop-zone + previews + a file list with
|
|
7
7
|
* upload progress, but performs NO upload itself. When the user picks/drops
|
|
@@ -175,19 +175,31 @@ export class CoFileField {
|
|
|
175
175
|
return i >= 0 ? name.slice(i + 1).toLowerCase() : '';
|
|
176
176
|
}
|
|
177
177
|
validate(file) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const okMime = list.some((a) => a.includes('/') && file.type === a);
|
|
183
|
-
if (!okExt && !okMime)
|
|
184
|
-
return fillTemplate(this.strings.errInvalidFormat, { x: ext });
|
|
178
|
+
// acceptsFile entiende el comodín `image/*` (antes: igualdad exacta de MIME → toda imagen
|
|
179
|
+
// del explorador salía «Formato no permitido»).
|
|
180
|
+
if (!acceptsFile(this.acceptList, file)) {
|
|
181
|
+
return fillTemplate(this.strings.errInvalidFormat, { x: this.extOf(file.name) });
|
|
185
182
|
}
|
|
186
183
|
if (this.maxBytes && file.size > this.maxBytes) {
|
|
187
184
|
return fillTemplate(this.strings.errTooLarge, { x: formatBytes(file.size) });
|
|
188
185
|
}
|
|
189
186
|
return null;
|
|
190
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Descarga de verdad (fetch → blob): el `download` del <a> no vale con la URL firmada
|
|
190
|
+
* cross-origin. ⌘/Ctrl/Shift/medio-click conservan el comportamiento nativo del enlace
|
|
191
|
+
* (abrir en pestaña). Si el fetch falla (CORS, red, 403) se abre la URL como antes.
|
|
192
|
+
*/
|
|
193
|
+
onDownloadClick(e, item) {
|
|
194
|
+
if (e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || !item.url)
|
|
195
|
+
return;
|
|
196
|
+
e.preventDefault();
|
|
197
|
+
const url = item.url;
|
|
198
|
+
void downloadViaBlob(url, item.name).then((ok) => {
|
|
199
|
+
if (!ok)
|
|
200
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
201
|
+
});
|
|
202
|
+
}
|
|
191
203
|
handleFiles(fileList) {
|
|
192
204
|
if (this.disabled || this.readonly)
|
|
193
205
|
return;
|
|
@@ -279,7 +291,9 @@ export class CoFileField {
|
|
|
279
291
|
const gallery = this.previewItems();
|
|
280
292
|
const images = gallery.map((it) => isVideo(it)
|
|
281
293
|
? { src: previewSrc(it), thumbnail: it.thumbnail, alt: it.name, kind: 'video', poster: it.thumbnail }
|
|
282
|
-
:
|
|
294
|
+
: // `original`: sin extensión de imagen el visor muestra la miniatura; «Abrir
|
|
295
|
+
// original» debe abrir el archivo guardado (cae a la miniatura si no decodifica).
|
|
296
|
+
{ src: previewSrc(it), thumbnail: it.thumbnail, alt: it.name, original: it.url });
|
|
283
297
|
const startIndex = Math.max(0, gallery.findIndex((it) => this.keyFor(it) === this.keyFor(item)));
|
|
284
298
|
this.closeLightbox();
|
|
285
299
|
const lb = document.createElement('co-lightbox');
|
|
@@ -363,12 +377,12 @@ export class CoFileField {
|
|
|
363
377
|
const previews = this.previewItems();
|
|
364
378
|
const canReorder = this.reorderable && this.multiple && !this.disabled && !this.readonly && items.length > 1;
|
|
365
379
|
const capacity = this.capacityHint(s);
|
|
366
|
-
return (h("div", { key: '
|
|
380
|
+
return (h("div", { key: '4a6cea48737c68e53f90a32e962660473f49ce5a', class: {
|
|
367
381
|
'co-file-field': true,
|
|
368
382
|
'co-file-field--disabled': this.disabled,
|
|
369
383
|
'co-file-field--invalid': this.isInvalid,
|
|
370
384
|
[statusClass]: !!statusClass,
|
|
371
|
-
}, part: "wrapper" }, this.label && (h("div", { key: '
|
|
385
|
+
}, part: "wrapper" }, this.label && (h("div", { key: '3532e314c63b19208c7a7665dd025ff38585a598', class: "co-file-field__labels" }, h("label", { key: 'ae8aa6da81d6b959233218473086ecabe5ab8017', class: "co-file-field__label", part: "label" }, this.label, h(RequiredMark, { key: '78d12c0e676217fd208bc03cc6a119b6fbf521e7', required: this.required })))), showDropzone && (h("div", { key: 'a6e5764aa57090d6b9383b1f8148bcba1239ff3a', class: {
|
|
372
386
|
'co-file-field__dropzone': true,
|
|
373
387
|
'co-file-field__dropzone--drag': this.dragOver,
|
|
374
388
|
}, part: "dropzone", role: "button", tabIndex: this.disabled ? -1 : 0, onClick: this.handleBrowse, onKeyDown: (e) => {
|
|
@@ -376,7 +390,7 @@ export class CoFileField {
|
|
|
376
390
|
e.preventDefault();
|
|
377
391
|
this.handleBrowse();
|
|
378
392
|
}
|
|
379
|
-
}, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("button", { key: '
|
|
393
|
+
}, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("button", { key: '44558c1a5d15c5aca23a7e204bcccf5e57d6b740', class: "co-file-field__upload-btn", part: "upload-button", type: "button", tabIndex: -1 }, h("co-icon", { key: '662340ae54f1d070606c0fd8226155b0360e803e', name: "file-arrow-up", size: 18 }), h("span", { key: '752f18e7121040eb4edf571a54a9a5308825cb13' }, this.uploadButtonText || s.uploadButton)), h("span", { key: 'b92332ee8e7e658b33814b8c1ae34a4630045819', class: "co-file-field__dropzone-text" }, this.dropText || s.dropHint), capacity && h("span", { key: 'ed1f7c9093145ecbb49446b72a3d3bc99ee232e2', class: "co-file-field__dropzone-hint" }, capacity), h("div", { key: 'fd4953e9dfebf35936ae836d6f28ccdc17ccf951', class: "co-file-field__actions", part: "actions" }, h("slot", { key: 'c2e568fabd1512ecfa298c2ab281d310fbe21664', name: "actions" })), h("input", { key: '17acb79e8d066c18f7c1ac051a365d4282c852af', ref: (el) => (this.inputEl = el), class: "co-file-field__input", type: "file", multiple: this.multiple, accept: this.inputAccept, disabled: this.disabled, onChange: this.handleInputChange, "aria-hidden": "true", tabIndex: -1 }))), items.length > 0 && (h("div", { key: 'a793e2b836269abaafe71fd56b07b3d54155cf75', class: "co-file-field__uploaded" }, this.multiple && (h("div", { key: '2a265874db718faf1e78f2dd46e5ff14bbfbbff2', class: "co-file-field__uploaded-title", part: "uploaded-title" }, `${this.uploadedTitle || s.uploadedTitle} (${items.length})`)), previews.length > 0 && (h("div", { key: 'a4ebb3fae5ad4b2b29263381f9eb5ae03a98867d', class: "co-file-field__previews", part: "previews" }, previews.map((item) => {
|
|
380
394
|
const key = this.keyFor(item);
|
|
381
395
|
const video = isVideo(item);
|
|
382
396
|
// A video without a usable poster still gets a card — the
|
|
@@ -387,7 +401,7 @@ export class CoFileField {
|
|
|
387
401
|
'co-file-field__preview': true,
|
|
388
402
|
'co-file-field__preview--video': video,
|
|
389
403
|
}, part: "preview", type: "button", key: `prev-${key}`, title: item.name, "aria-label": `${video ? s.playVideo : s.openPreview}: ${item.name}`, onClick: () => this.handlePreviewOpen(item) }, showImg && (h("img", { src: video ? poster : item.thumbnail || item.url, alt: item.name, loading: "lazy", onError: () => this.handlePreviewError(item) })), video && (h("span", { class: "co-file-field__preview-play", "aria-hidden": "true" }, h("span", { class: "co-file-field__preview-play-badge" }, h("co-icon", { name: "play", size: 20, weight: "fill" })), !poster && (h("span", { class: "co-file-field__preview-ext" }, fileExtension(item).toUpperCase()))))));
|
|
390
|
-
}))), h("ul", { key: '
|
|
404
|
+
}))), h("ul", { key: '97ead2383d036b1ed2b09d6e931be2bfbcce25d2', class: "co-file-field__list", part: "list" }, items.map((item) => {
|
|
391
405
|
const key = this.keyFor(item);
|
|
392
406
|
const draggable = canReorder && item.status === 'done';
|
|
393
407
|
return (h("li", { class: {
|
|
@@ -407,14 +421,14 @@ export class CoFileField {
|
|
|
407
421
|
'co-file-field__row-icon--spin': item.status === 'uploading',
|
|
408
422
|
} })), h("div", { class: "co-file-field__row-body" }, h("span", { class: "co-file-field__row-name", title: item.name }, truncateLeft(item.name)), item.status === 'uploading' && (h("div", { class: "co-file-field__progress" }, h("div", { class: "co-file-field__progress-bar", style: typeof item.progress === 'number'
|
|
409
423
|
? { width: `${item.progress}%` }
|
|
410
|
-
: undefined }))), item.status === 'error' && item.error && (h("span", { class: "co-file-field__row-error" }, item.error))), item.size != null && (h("span", { class: "co-file-field__row-size" }, formatBytes(item.size))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: s.downloadFile }, h("a", { class: "co-file-field__action", href: item.url, target: "_blank", rel: "noopener noreferrer", download: item.name, tabIndex: -1, "aria-label": s.downloadFile }, h("co-icon", { name: "download", size: 18 })))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: this.copiedKey === key ? s.copied : s.copyUrl }, h("button", { class: {
|
|
424
|
+
: undefined }))), item.status === 'error' && item.error && (h("span", { class: "co-file-field__row-error" }, item.error))), item.size != null && (h("span", { class: "co-file-field__row-size" }, formatBytes(item.size))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: s.downloadFile }, h("a", { class: "co-file-field__action", href: item.url, target: "_blank", rel: "noopener noreferrer", download: item.name, tabIndex: -1, "aria-label": s.downloadFile, onClick: (e) => this.onDownloadClick(e, item) }, h("co-icon", { name: "download", size: 18 })))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: this.copiedKey === key ? s.copied : s.copyUrl }, h("button", { class: {
|
|
411
425
|
'co-file-field__action': true,
|
|
412
426
|
'co-file-field__action--copied': this.copiedKey === key,
|
|
413
427
|
}, type: "button", tabIndex: -1, "aria-label": s.copyUrl, onClick: () => this.handleCopy(item) }, h("co-icon", { name: this.copiedKey === key ? 'check' : 'copy', size: 18 })))), !this.disabled && !this.readonly && (h("co-tooltip", { content: s.removeFile }, h("button", { class: "co-file-field__action", type: "button", tabIndex: -1, "aria-label": s.removeFile, onClick: () => this.coRemove.emit(key) }, h("co-icon", { name: "trash", size: 18 }))))));
|
|
414
|
-
})))), helper && (h("div", { key: '
|
|
428
|
+
})))), helper && (h("div", { key: 'd4fef1bb2aa10f90ca7cd5e01bb5fed9ea917637', class: {
|
|
415
429
|
'co-file-field__helper': true,
|
|
416
430
|
'co-file-field__helper--error': this.isInvalid,
|
|
417
|
-
}, part: "helper" }, this.isInvalid && (h("co-icon", { key: '
|
|
431
|
+
}, part: "helper" }, this.isInvalid && (h("co-icon", { key: '2fb9d5d28732c239bcec4b0a30dfe194367e8b5d', name: "warning-circle", size: 14, class: "co-file-field__helper-icon" })), h("span", { key: '09bd101388c52a7fb8d0139c20f52f2da733543b', class: "co-file-field__helper-text" }, helper)))));
|
|
418
432
|
}
|
|
419
433
|
static get is() { return "co-file-field"; }
|
|
420
434
|
static get encapsulation() { return "shadow"; }
|
|
@@ -92,3 +92,60 @@ export function previewSrc(item) {
|
|
|
92
92
|
return item.url || item.thumbnail;
|
|
93
93
|
return hasImageExtension(item) ? item.url || item.thumbnail : item.thumbnail || item.url;
|
|
94
94
|
}
|
|
95
|
+
/** Extensiones conocidas por familia MIME: respaldo del comodín cuando el navegador no da `type`. */
|
|
96
|
+
const EXTS_BY_FAMILY = { image: IMAGE_EXTS, video: VIDEO_EXTS };
|
|
97
|
+
/**
|
|
98
|
+
* ¿`file` entra por la lista `accept` normalizada (sin punto, en minúscula)? Acepta extensión
|
|
99
|
+
* (`pdf`), MIME exacto (`application/pdf`) y COMODÍN de MIME (`image/*`) — el mismo vocabulario
|
|
100
|
+
* que el atributo `accept` del `<input>`. Sin el comodín, `image/*` rechazaba toda imagen que el
|
|
101
|
+
* propio picker del navegador había dejado elegir («Formato no permitido: .png»).
|
|
102
|
+
* Lista vacía = todo permitido.
|
|
103
|
+
*/
|
|
104
|
+
export function acceptsFile(list, file) {
|
|
105
|
+
if (!list.length)
|
|
106
|
+
return true;
|
|
107
|
+
const ext = extOf(file.name);
|
|
108
|
+
const type = (file.type || '').toLowerCase();
|
|
109
|
+
return list.some((a) => {
|
|
110
|
+
var _a;
|
|
111
|
+
if (!a.includes('/'))
|
|
112
|
+
return a === ext;
|
|
113
|
+
if (!a.endsWith('/*'))
|
|
114
|
+
return type === a;
|
|
115
|
+
const family = a.slice(0, -2);
|
|
116
|
+
// Sin MIME (algunos SO/drag de apps no lo mandan): la extensión conocida de la familia.
|
|
117
|
+
return type ? type.startsWith(`${family}/`) : !!((_a = EXTS_BY_FAMILY[family]) === null || _a === void 0 ? void 0 : _a.has(ext));
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
const REVOKE_DELAY_MS = 2000;
|
|
121
|
+
/**
|
|
122
|
+
* Descarga `url` como archivo `name`: fetch → blob → object URL → `<a download>`. Un `<a
|
|
123
|
+
* download>` directo NO sirve con las URLs de los archivos: son firmadas y cross-origin
|
|
124
|
+
* (S3/CDN), y el navegador IGNORA `download` fuera del mismo origen — abría la imagen en otra
|
|
125
|
+
* pestaña. Devuelve `false` si no se pudo (CORS, red, 403/404 — un `!ok` no se guarda, sería el
|
|
126
|
+
* XML de error) para que el host caiga a abrir la URL. El object URL se revoca DIFERIDO: revocarlo
|
|
127
|
+
* en el mismo tick cancela el handoff de la descarga en algunos motores.
|
|
128
|
+
*/
|
|
129
|
+
export async function downloadViaBlob(url, name, deps = {}) {
|
|
130
|
+
const { fetchImpl = globalThis.fetch, doc = globalThis.document, urlApi = URL } = deps;
|
|
131
|
+
try {
|
|
132
|
+
const res = await fetchImpl(url);
|
|
133
|
+
if (!res.ok)
|
|
134
|
+
return false;
|
|
135
|
+
const objectUrl = urlApi.createObjectURL(await res.blob());
|
|
136
|
+
const link = doc.createElement('a');
|
|
137
|
+
link.href = objectUrl;
|
|
138
|
+
link.download = name || 'download';
|
|
139
|
+
link.rel = 'noopener noreferrer';
|
|
140
|
+
doc.body.appendChild(link);
|
|
141
|
+
link.click();
|
|
142
|
+
setTimeout(() => {
|
|
143
|
+
link.remove();
|
|
144
|
+
urlApi.revokeObjectURL(objectUrl);
|
|
145
|
+
}, REVOKE_DELAY_MS);
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
catch (_a) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -22,7 +22,7 @@ export class CoFileTypeTile {
|
|
|
22
22
|
const iconSize = Math.round(this.size * 0.5);
|
|
23
23
|
const background = this.colorTags ? meta.tint : 'var(--co-color-gray-100)';
|
|
24
24
|
const color = this.colorTags ? meta.accent : 'var(--co-color-gray-600)';
|
|
25
|
-
return (h("span", { key: '
|
|
25
|
+
return (h("span", { key: '9c08b899dcf809c6c5dffe9eef70d277cdbdc37d', class: {
|
|
26
26
|
'co-file-type-tile': true,
|
|
27
27
|
[`co-file-type-tile--${type}`]: true,
|
|
28
28
|
'co-file-type-tile--mono': !this.colorTags,
|
|
@@ -32,7 +32,7 @@ export class CoFileTypeTile {
|
|
|
32
32
|
borderRadius: `${this.radius}px`,
|
|
33
33
|
background,
|
|
34
34
|
color,
|
|
35
|
-
} }, h("co-icon", { key: '
|
|
35
|
+
} }, h("co-icon", { key: '0b20a29e58d1b63951cd314838f54dc98fd3c3f8', name: meta.icon, size: iconSize, weight: "fill" })));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "co-file-type-tile"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -180,12 +180,12 @@ export class CoGradientBar {
|
|
|
180
180
|
const live = this.liveStops();
|
|
181
181
|
const n = live.length;
|
|
182
182
|
const hasSelection = this.selected != null && this.selected >= 0 && this.selected < n;
|
|
183
|
-
return (h("div", { key: '
|
|
183
|
+
return (h("div", { key: 'cef89872e93311d220f59805754f472a118dfce0', class: {
|
|
184
184
|
'co-gradient-bar': true,
|
|
185
185
|
'co-gradient-bar--disabled': this.disabled,
|
|
186
186
|
'co-gradient-bar--dragging': this.dragIndex >= 0,
|
|
187
187
|
'co-gradient-bar--transparent': hasTransparentStop(live),
|
|
188
|
-
}, role: "group", "aria-label": this.label || s.barLabel, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: '
|
|
188
|
+
}, role: "group", "aria-label": this.label || s.barLabel, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: 'bdcf7544119daba7392bd8b3f14924f81ab88f7f', class: "co-gradient-bar__track", part: "track", ref: (el) => (this.trackEl = el), onClick: this.handleTrackClick }, h("div", { key: 'ac58517f315ca19e37a6e590950397935e643be0', class: "co-gradient-bar__fill", style: { background: gradientCss(live) } }), live.map((stop, i) => {
|
|
189
189
|
const selected = i === this.selected;
|
|
190
190
|
// Roving tabindex: una sola parada de tab (la seleccionada, o la primera).
|
|
191
191
|
const tabbable = hasSelection ? selected : i === 0;
|
|
@@ -20,18 +20,20 @@
|
|
|
20
20
|
color: var(--co-semantic-text-muted);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
24
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
23
25
|
.co-helper-text--error {
|
|
24
|
-
color: var(--co-semantic-status-error);
|
|
26
|
+
color: var(--co-semantic-text-error, var(--co-semantic-status-error));
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
.co-helper-text--success {
|
|
28
|
-
color: var(--co-semantic-status-success);
|
|
30
|
+
color: var(--co-semantic-text-success, var(--co-semantic-status-success));
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
.co-helper-text--warning {
|
|
32
|
-
color: var(--co-semantic-status-warning);
|
|
34
|
+
color: var(--co-semantic-text-warning, var(--co-semantic-status-warning));
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
.co-helper-text--info {
|
|
36
|
-
color: var(--co-semantic-status-info);
|
|
38
|
+
color: var(--co-semantic-text-info, var(--co-semantic-status-info));
|
|
37
39
|
}
|
|
@@ -17,10 +17,10 @@ export class CoHelperText {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
|
-
return (h("div", { key: '
|
|
20
|
+
return (h("div", { key: '019ae80dcb000fb5179c645ac7ac9f218d290c53', class: {
|
|
21
21
|
'co-helper-text': true,
|
|
22
22
|
[`co-helper-text--${this.status}`]: true,
|
|
23
|
-
}, part: "helper-text" }, h("co-icon", { key: '
|
|
23
|
+
}, part: "helper-text" }, h("co-icon", { key: '430a1f6c560ae70ae68e5ef427cb2af79960b114', name: this.STATUS_ICON[this.status], size: 14, weight: "fill", class: "co-helper-text__icon" }), h("span", { key: '10b37550ab4818649debdaf87bce951948db154a', class: "co-helper-text__message" }, h("slot", { key: 'ea2433ffdf06655e3a0f2bfa8e4313e485b6d2a4' }, this.message))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "co-helper-text"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -35,12 +35,12 @@ export class CoIcon {
|
|
|
35
35
|
this.svgContent = await loadSvg(this.name, this.weight);
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '571cfcec3bd5dbc68b0d773278d243163441334b', "aria-hidden": "true", style: {
|
|
39
39
|
display: 'inline-flex',
|
|
40
40
|
width: `${this.size}px`,
|
|
41
41
|
height: `${this.size}px`,
|
|
42
42
|
flexShrink: '0',
|
|
43
|
-
} }, h("span", { key: '
|
|
43
|
+
} }, h("span", { key: 'fe079b6aa1813517cd27b88ba5855f57f260de94', part: "svg", innerHTML: this.svgContent })));
|
|
44
44
|
}
|
|
45
45
|
static get is() { return "co-icon"; }
|
|
46
46
|
static get encapsulation() { return "shadow"; }
|
|
@@ -99,11 +99,13 @@
|
|
|
99
99
|
|
|
100
100
|
/* ─── SURFACE · DARK (on-dark theming) ──────────────────────── */
|
|
101
101
|
/* Placed after the variants so it wins on icon color; opt-in via surface="dark" */
|
|
102
|
+
/* Tinta de `--co-surface-dark-ink` (fallback: blanco) — misma regla que co-button: la fija
|
|
103
|
+
a on-primary una barra cuyo fondo gira con el tema (co-action-bar). */
|
|
102
104
|
.co-icon-button--dark {
|
|
103
|
-
color: var(--co-icon-button-color, var(--co-color-base-blanco, #fff));
|
|
105
|
+
color: var(--co-icon-button-color, var(--co-surface-dark-ink, var(--co-color-base-blanco, #fff)));
|
|
104
106
|
}
|
|
105
107
|
.co-icon-button--dark.co-icon-button--ghost:hover:not(:disabled) {
|
|
106
|
-
background: var(--co-
|
|
108
|
+
background: color-mix(in srgb, var(--co-surface-dark-ink, var(--co-color-base-blanco, #fff)) 16%, transparent);
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
/* ─── SELECTED (transversal: gana sobre cualquier variant/surface) ───── */
|
|
@@ -247,7 +249,7 @@
|
|
|
247
249
|
/* surface="dark": el token de foco es negro-50 en tema claro y sobre una navbar
|
|
248
250
|
oscura no contrasta. Misma salida que co-button para su variante on-dark. */
|
|
249
251
|
.co-icon-button--dark:focus-visible {
|
|
250
|
-
box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-color-base-blanco, #fff) 45%, transparent);
|
|
252
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-surface-dark-ink, var(--co-color-base-blanco, #fff)) 45%, transparent);
|
|
251
253
|
}
|
|
252
254
|
|
|
253
255
|
/* Feedback de presión: squish instantáneo; el release usa la transición base. */
|
|
@@ -97,7 +97,7 @@ export class CoIconButton {
|
|
|
97
97
|
const usesSlot = !this.icon;
|
|
98
98
|
const style = usesSlot
|
|
99
99
|
? Object.assign(Object.assign({}, (boxStyle !== null && boxStyle !== void 0 ? boxStyle : {})), { '--co-icon-button-glyph-size': `${resolvedIconSize}px` }) : boxStyle;
|
|
100
|
-
return (h("button", { key: '
|
|
100
|
+
return (h("button", { key: 'c83227eb38cf7d3573e5490c7dff2130402e8a09', class: {
|
|
101
101
|
'co-icon-button': true,
|
|
102
102
|
[`co-icon-button--${this.variant}`]: true,
|
|
103
103
|
[`co-icon-button--${this.shape}`]: true,
|
|
@@ -108,7 +108,7 @@ export class CoIconButton {
|
|
|
108
108
|
'co-icon-button--disabled': this.disabled,
|
|
109
109
|
}, style: style, disabled: this.disabled, "aria-label": this.label || (this.toggled && this.toggleIcon ? this.toggleIcon : this.icon), "aria-pressed": this.selected ? 'true' : undefined, part: "button" }, this.icon && this.toggleIcon ? (h("span", { class: { 'co-icon-button__swap': true, 'co-icon-button__swap--toggled': this.toggled }, "aria-hidden": "true" }, h("co-icon", { name: this.icon, weight: this.iconWeight, size: resolvedIconSize }), h("co-icon", { name: this.toggleIcon, weight: this.iconWeight, size: resolvedIconSize }))) : this.icon ? (h("co-icon", { name: this.icon, weight: this.iconWeight, size: resolvedIconSize })) : (
|
|
110
110
|
// Sin `icon`: el consumidor proyecta su propio glifo (ver @slot).
|
|
111
|
-
h("slot", null)), this.caret && h("co-icon", { key: '
|
|
111
|
+
h("slot", null)), this.caret && h("co-icon", { key: 'a70e77a1b2c2db11dfa0a0e0f5629c3ea2829754', class: "co-icon-button__caret", name: "caret-down", size: 8 })));
|
|
112
112
|
}
|
|
113
113
|
static get is() { return "co-icon-button"; }
|
|
114
114
|
static get encapsulation() { return "shadow"; }
|
|
@@ -259,11 +259,14 @@
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
/* ---- Integrated action button (Botón variant) ---- */
|
|
262
|
+
/* Padding SIMÉTRICO, el mismo escalón que `co-button` square s (8/12) y que el lateral del
|
|
263
|
+
campo: con 8px del lado del ícono y 12 del otro, el ícono quedaba pegado al borde y el
|
|
264
|
+
botón se leía descentrado (2026-09-30). El lateral sigue a la talla del input (abajo). */
|
|
262
265
|
.co-input__action {
|
|
263
266
|
display: flex;
|
|
264
267
|
align-items: center;
|
|
265
268
|
gap: var(--co-spacing-sm);
|
|
266
|
-
padding: var(--co-spacing-sm2) var(--co-spacing-md)
|
|
269
|
+
padding: var(--co-spacing-sm2) var(--co-spacing-md);
|
|
267
270
|
background: var(--co-semantic-surface-primary);
|
|
268
271
|
color: var(--co-semantic-on-primary);
|
|
269
272
|
border: none;
|
|
@@ -300,6 +303,19 @@
|
|
|
300
303
|
align-items: center;
|
|
301
304
|
}
|
|
302
305
|
|
|
306
|
+
/* Lateral proporcional a la talla (el alto ya lo da la fila, que estira el botón al campo). */
|
|
307
|
+
.co-input--s .co-input__action {
|
|
308
|
+
padding-inline: var(--co-spacing-sm2);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.co-input--sm .co-input__action {
|
|
312
|
+
padding-inline: var(--co-spacing-sm2);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.co-input--lg .co-input__action {
|
|
316
|
+
padding-inline: var(--co-spacing-lg);
|
|
317
|
+
}
|
|
318
|
+
|
|
303
319
|
/* ---- Helper text ---- */
|
|
304
320
|
.co-input__helper {
|
|
305
321
|
display: flex;
|
|
@@ -369,24 +385,29 @@
|
|
|
369
385
|
align-items: center;
|
|
370
386
|
}
|
|
371
387
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
.co-input--
|
|
375
|
-
.co-input--
|
|
388
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
389
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
390
|
+
.co-input--success .co-input__status-icon { color: var(--co-semantic-text-success, var(--co-semantic-status-success)); }
|
|
391
|
+
.co-input--error .co-input__status-icon { color: var(--co-semantic-text-error, var(--co-semantic-status-error)); }
|
|
392
|
+
.co-input--warning .co-input__status-icon { color: var(--co-semantic-text-warning, var(--co-color-status-review)); }
|
|
393
|
+
.co-input--info .co-input__status-icon { color: var(--co-semantic-text-info, var(--co-semantic-status-info)); }
|
|
376
394
|
|
|
377
395
|
/* Error */
|
|
396
|
+
/* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
|
|
397
|
+
relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico); el
|
|
398
|
+
halo sale de color-mix 12% (= el rgba(170, 46, 27, .12) de antes). Fallback: la primitiva de hoy. */
|
|
378
399
|
.co-input--error .co-input__field {
|
|
379
|
-
border-color: var(--co-semantic-status-error);
|
|
400
|
+
border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
|
|
380
401
|
}
|
|
381
402
|
|
|
382
403
|
.co-input--error.co-input--focused .co-input__field {
|
|
383
|
-
border-color: var(--co-semantic-status-error);
|
|
384
|
-
box-shadow: 0 0 0 2px
|
|
404
|
+
border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
|
|
405
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-semantic-border-error, var(--co-semantic-status-error)) 12%, transparent);
|
|
385
406
|
}
|
|
386
407
|
|
|
387
408
|
.co-input__helper--error .co-input__helper-icon,
|
|
388
409
|
.co-input__helper--error .co-input__helper-text {
|
|
389
|
-
color: var(--co-semantic-status-error);
|
|
410
|
+
color: var(--co-semantic-text-error, var(--co-semantic-status-error));
|
|
390
411
|
}
|
|
391
412
|
|
|
392
413
|
/* Shake de validación (receta tdev): keyframe multi-segmento con easing POR STOP.
|
|
@@ -434,7 +455,7 @@
|
|
|
434
455
|
|
|
435
456
|
.co-input__helper--success .co-input__helper-icon,
|
|
436
457
|
.co-input__helper--success .co-input__helper-text {
|
|
437
|
-
color: var(--co-semantic-status-success);
|
|
458
|
+
color: var(--co-semantic-text-success, var(--co-semantic-status-success));
|
|
438
459
|
}
|
|
439
460
|
|
|
440
461
|
/* Warning — Figma uses estatus/en-revisión/in-review (#85571f) */
|
|
@@ -449,7 +470,7 @@
|
|
|
449
470
|
|
|
450
471
|
.co-input__helper--warning .co-input__helper-icon,
|
|
451
472
|
.co-input__helper--warning .co-input__helper-text {
|
|
452
|
-
color: var(--co-color-status-review);
|
|
473
|
+
color: var(--co-semantic-text-warning, var(--co-color-status-review));
|
|
453
474
|
}
|
|
454
475
|
|
|
455
476
|
/* Info */
|
|
@@ -464,12 +485,13 @@
|
|
|
464
485
|
|
|
465
486
|
.co-input__helper--info .co-input__helper-icon,
|
|
466
487
|
.co-input__helper--info .co-input__helper-text {
|
|
467
|
-
color: var(--co-semantic-status-info);
|
|
488
|
+
color: var(--co-semantic-text-info, var(--co-semantic-status-info));
|
|
468
489
|
}
|
|
469
490
|
|
|
491
|
+
/* Asterisco de requerido: tinta --co-semantic-text-error (gira con el tema). */
|
|
470
492
|
.co-field-required {
|
|
471
493
|
margin-left: 2px;
|
|
472
|
-
color: var(--co-color-status-error);
|
|
494
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error));
|
|
473
495
|
}
|
|
474
496
|
|
|
475
497
|
.co-field-required__caption {
|
|
@@ -497,7 +519,9 @@
|
|
|
497
519
|
============================================================ */
|
|
498
520
|
|
|
499
521
|
.co-input--fill .co-input__field {
|
|
500
|
-
|
|
522
|
+
/* surface-control = gray-100 en claro; gira en oscuro (con la primitiva el texto, en
|
|
523
|
+
text-default, quedaba blanco sobre la píldora clara). */
|
|
524
|
+
background: var(--co-semantic-surface-control, #f6f6f6);
|
|
501
525
|
border: none;
|
|
502
526
|
box-shadow: none;
|
|
503
527
|
border-radius: 10px;
|
|
@@ -521,22 +545,24 @@
|
|
|
521
545
|
letter-spacing: var(--co-font-letter-spacing-body);
|
|
522
546
|
}
|
|
523
547
|
|
|
548
|
+
/* Placeholder, lupa y X en text-muted: gray-400 (= text-disabled) daba 2,6 sobre la píldora y no
|
|
549
|
+
son controles deshabilitados (auditoría 2026-09-27, §5). */
|
|
524
550
|
.co-input--fill .co-input__native::placeholder {
|
|
525
|
-
color: var(--co-
|
|
551
|
+
color: var(--co-semantic-text-muted, #888888);
|
|
526
552
|
}
|
|
527
553
|
|
|
528
|
-
/* Search glyph
|
|
554
|
+
/* Search glyph */
|
|
529
555
|
.co-input--fill .co-input__icon {
|
|
530
|
-
color: var(--co-
|
|
556
|
+
color: var(--co-semantic-text-muted, #888888);
|
|
531
557
|
}
|
|
532
558
|
|
|
533
|
-
/* Plain-x clear —
|
|
559
|
+
/* Plain-x clear — darkens on hover (text-secondary = gray-600 en claro; gira en oscuro) */
|
|
534
560
|
.co-input--fill .co-input__clear {
|
|
535
|
-
color: var(--co-
|
|
561
|
+
color: var(--co-semantic-text-muted, #888888);
|
|
536
562
|
}
|
|
537
563
|
|
|
538
564
|
.co-input--fill .co-input__clear:hover {
|
|
539
|
-
color: var(--co-
|
|
565
|
+
color: var(--co-semantic-text-secondary, #585858);
|
|
540
566
|
}
|
|
541
567
|
|
|
542
568
|
/* No focus ring in pill mode — the design is a flat gray pill */
|
|
@@ -627,11 +653,12 @@
|
|
|
627
653
|
color: var(--co-semantic-text-muted);
|
|
628
654
|
}
|
|
629
655
|
|
|
630
|
-
/* xs: el prefijo hereda 12px/400 gray-600 (Figma)
|
|
656
|
+
/* xs: el prefijo hereda 12px/400 gray-600 (Figma) — por text-secondary, que es gray-600 en claro y
|
|
657
|
+
gira en oscuro. */
|
|
631
658
|
.co-input--xs .co-input__input-wrapper ::slotted([slot="prefix"]) {
|
|
632
659
|
font-size: var(--co-font-size-12);
|
|
633
660
|
font-weight: 400;
|
|
634
|
-
color: var(--co-
|
|
661
|
+
color: var(--co-semantic-text-secondary, #585858);
|
|
635
662
|
}
|
|
636
663
|
|
|
637
664
|
/* ---- --co-input-suffix-color: color configurable del slot suffix ----
|
|
@@ -36,9 +36,11 @@
|
|
|
36
36
|
cursor: default;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
|
|
40
|
+
aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
|
|
39
41
|
.co-field-required {
|
|
40
42
|
margin-left: 2px;
|
|
41
|
-
color: var(--co-color-status-error);
|
|
43
|
+
color: var(--co-semantic-text-error, var(--co-color-status-error));
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
.co-field-required__caption {
|
|
@@ -146,20 +148,23 @@
|
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
/* ---- Invalid / error (internal JSON parse OR external status) ---- */
|
|
151
|
+
/* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
|
|
152
|
+
relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico); el
|
|
153
|
+
halo sale de color-mix 12% (= el rgba(170, 46, 27, .12) de antes). Fallback: la primitiva de hoy. */
|
|
149
154
|
.co-json-field--invalid .co-json-field__field,
|
|
150
155
|
.co-json-field--error .co-json-field__field {
|
|
151
|
-
border-color: var(--co-semantic-status-error);
|
|
156
|
+
border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
|
|
152
157
|
}
|
|
153
158
|
|
|
154
159
|
.co-json-field--invalid.co-json-field--focused .co-json-field__field,
|
|
155
160
|
.co-json-field--error.co-json-field--focused .co-json-field__field {
|
|
156
|
-
border-color: var(--co-semantic-status-error);
|
|
157
|
-
box-shadow: 0 0 0 2px
|
|
161
|
+
border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
|
|
162
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-semantic-border-error, var(--co-semantic-status-error)) 12%, transparent);
|
|
158
163
|
}
|
|
159
164
|
|
|
160
165
|
.co-json-field__helper--error .co-json-field__helper-icon,
|
|
161
166
|
.co-json-field__helper--error .co-json-field__helper-text {
|
|
162
|
-
color: var(--co-semantic-status-error);
|
|
167
|
+
color: var(--co-semantic-text-error, var(--co-semantic-status-error));
|
|
163
168
|
}
|
|
164
169
|
|
|
165
170
|
/* ── Horizontal layout: label left; control + helper stacked right ──
|
|
@@ -104,17 +104,17 @@ export class CoJsonField {
|
|
|
104
104
|
render() {
|
|
105
105
|
const helper = this.internalInvalid ? this.invalidMessage : this.helperText;
|
|
106
106
|
const statusClass = this.status !== 'default' ? `co-json-field--${this.status}` : '';
|
|
107
|
-
return (h("div", { key: '
|
|
107
|
+
return (h("div", { key: '3488016fe7b45678a0925275fd240b29107733e4', class: {
|
|
108
108
|
'co-json-field': true,
|
|
109
109
|
'co-json-field--disabled': this.disabled,
|
|
110
110
|
'co-json-field--focused': this.hasFocus,
|
|
111
111
|
'co-json-field--invalid': this.isInvalid,
|
|
112
112
|
[`co-json-field--${this.size}`]: true,
|
|
113
113
|
[statusClass]: !!statusClass,
|
|
114
|
-
}, part: "wrapper" }, this.label && (h("div", { key: '
|
|
114
|
+
}, part: "wrapper" }, this.label && (h("div", { key: '46cac96bd27c532528d00ed9178dcd52c76b1fce', class: "co-json-field__labels" }, h("label", { key: '7ea63ec78e2c9637c5be2c9737f62e612473d567', class: "co-json-field__label", part: "label" }, this.label, h(RequiredMark, { key: 'e0a6da86cfde978e7e1ae6bfd1a834967b6bb829', required: this.required })))), h("div", { key: '78e11d6f221bfe35bab6299be7c1f7c97bc3a05a', class: "co-json-field__field", part: "field" }, h("textarea", { key: '70eda7639839b0f83c85db5a6d40da2a0eb07ebf', class: "co-json-field__native", rows: this.rows, spellcheck: false, autocomplete: "off", value: this.draft, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'JSON' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" })), this.name && h("input", { key: '6f0517a5284ac3eea2c6788cb0c64c630e6527d3', type: "hidden", name: this.name, value: this.draft }), helper && (h("div", { key: 'ff13e6ce9172d5c45230e0bc1d3231a232db1214', class: {
|
|
115
115
|
'co-json-field__helper': true,
|
|
116
116
|
'co-json-field__helper--error': this.isInvalid,
|
|
117
|
-
}, part: "helper" }, this.isInvalid && (h("co-icon", { key: '
|
|
117
|
+
}, part: "helper" }, this.isInvalid && (h("co-icon", { key: '2db231d921b67b6c6ff7fd058e6903f6ffd99977', name: "warning-circle", size: 14, class: "co-json-field__helper-icon" })), h("span", { key: 'af3dc5badb989c19bfaf960a09a63efff2f59308', class: "co-json-field__helper-text" }, helper)))));
|
|
118
118
|
}
|
|
119
119
|
static get is() { return "co-json-field"; }
|
|
120
120
|
static get encapsulation() { return "shadow"; }
|