@prolibu-suite/cobalt-core 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1049 -52
- package/dist/cjs/co-accordion.cjs.entry.js +1 -1
- package/dist/cjs/co-app-shell.cjs.entry.js +1 -1
- package/dist/cjs/co-autocomplete.cjs.entry.js +3 -3
- package/dist/cjs/co-avatar-group.cjs.entry.js +3 -3
- package/dist/cjs/{co-tooltip.cjs.entry.js → co-avatar_2.cjs.entry.js} +95 -3
- package/dist/cjs/co-badge.cjs.entry.js +2 -2
- package/dist/cjs/co-bottom-sheet.cjs.entry.js +4 -4
- package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/co-button-group.cjs.entry.js +3 -3
- package/dist/cjs/co-button.cjs.entry.js +3 -3
- package/dist/cjs/co-calendar-month.cjs.entry.js +2 -2
- package/dist/cjs/co-calendar_3.cjs.entry.js +8 -8
- package/dist/cjs/co-card.cjs.entry.js +3 -3
- package/dist/cjs/co-carousel-item.cjs.entry.js +17 -0
- package/dist/cjs/co-carousel.cjs.entry.js +368 -0
- package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/co-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/co-chip_2.cjs.entry.js +5 -5
- package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-combobox.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/co-date-picker.cjs.entry.js +11 -4
- package/dist/cjs/co-date-range-picker.cjs.entry.js +9 -3
- package/dist/cjs/co-date-range.cjs.entry.js +2 -2
- package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
- package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
- package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
- package/dist/cjs/co-fab.cjs.entry.js +21 -6
- package/dist/cjs/co-file-field.cjs.entry.js +8 -8
- package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
- package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/co-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/co-icon.cjs.entry.js +3 -3
- package/dist/cjs/co-input.cjs.entry.js +9 -3
- package/dist/cjs/co-json-field.cjs.entry.js +6 -6
- package/dist/cjs/co-lightbox.cjs.entry.js +33 -6
- package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
- package/dist/cjs/co-list-item.cjs.entry.js +5 -5
- package/dist/cjs/co-loader.cjs.entry.js +1 -1
- package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
- package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
- package/dist/cjs/co-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/co-menu.cjs.entry.js +2 -2
- package/dist/cjs/co-modal.cjs.entry.js +3 -3
- package/dist/cjs/co-navbar.cjs.entry.js +3 -3
- package/dist/cjs/co-number-field.cjs.entry.js +5 -5
- package/dist/cjs/co-overlay.cjs.entry.js +2 -2
- package/dist/cjs/co-page-header.cjs.entry.js +2 -2
- package/dist/cjs/co-phone-field.cjs.entry.js +4 -4
- package/dist/cjs/co-popover.cjs.entry.js +1 -1
- package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
- package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/co-radio.cjs.entry.js +4 -4
- package/dist/cjs/co-rating.cjs.entry.js +4 -4
- package/dist/cjs/co-ref-field.cjs.entry.js +11 -5
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +22 -7
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +36 -4
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +36 -6
- package/dist/cjs/co-row.cjs.entry.js +3 -3
- package/dist/cjs/co-segmented-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-select.cjs.entry.js +13 -7
- package/dist/cjs/co-separator.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +1 -1
- package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
- package/dist/cjs/co-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/co-slider.cjs.entry.js +3 -3
- package/dist/cjs/co-switch.cjs.entry.js +5 -5
- package/dist/cjs/co-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/co-tab.cjs.entry.js +3 -3
- package/dist/cjs/co-tags-field.cjs.entry.js +9 -9
- package/dist/cjs/co-textarea.cjs.entry.js +13 -7
- package/dist/cjs/co-toast.cjs.entry.js +1 -1
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/co-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
- package/dist/cjs/co-video.cjs.entry.js +3 -3
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/{fieldChip-D8YJCyQF.js → fieldChip-B_npd9rL.js} +1 -1
- package/dist/cjs/{index-4y1Dm145.js → index-DFZ5YhIT.js} +171 -11
- package/dist/cjs/{index-DxEFsH_t.js → index-kBiXCEE7.js} +13 -9
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{requiredMark-B3pKyqYI.js → requiredMark-DuMIcKtt.js} +1 -1
- package/dist/cjs/{richTextI18n-B7ktXg3M.js → richTextI18n-B28uAhh4.js} +3 -0
- package/dist/cjs/{toolbar-config-3PlT-3zm.js → toolbar-config-BQfWTW6P.js} +2 -0
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-86e60cfa.entry.js → p-0110108f.entry.js} +1 -1
- package/dist/cobalt/p-037cc571.entry.js +1 -0
- package/dist/cobalt/{p-47a2dd67.entry.js → p-080f62e4.entry.js} +1 -1
- package/dist/cobalt/{p-8128e84a.entry.js → p-0a294205.entry.js} +1 -1
- package/dist/cobalt/{p-a9afbaa6.entry.js → p-0b7359bb.entry.js} +1 -1
- package/dist/cobalt/p-0b92167a.entry.js +1 -0
- package/dist/cobalt/p-0bc5a962.entry.js +1 -0
- package/dist/cobalt/{p-02c5a9a9.entry.js → p-202eadfc.entry.js} +1 -1
- package/dist/cobalt/{p-1681ce1d.entry.js → p-264508ae.entry.js} +1 -1
- package/dist/cobalt/{p-b8ec0cc1.entry.js → p-2661557c.entry.js} +1 -1
- package/dist/cobalt/{p-771bc8fe.entry.js → p-27dce0ac.entry.js} +1 -1
- package/dist/cobalt/{p-c3462def.entry.js → p-28ab9cef.entry.js} +1 -1
- package/dist/cobalt/{p-d9608046.entry.js → p-2da09948.entry.js} +1 -1
- package/dist/cobalt/p-2f6c7eb5.entry.js +1 -0
- package/dist/cobalt/{p-002e5beb.entry.js → p-30c80e3a.entry.js} +1 -1
- package/dist/cobalt/p-331a0108.entry.js +1 -0
- package/dist/cobalt/{p-c0f39ddd.entry.js → p-36ad3a96.entry.js} +1 -1
- package/dist/cobalt/{p-8dfb6886.entry.js → p-3af74ab8.entry.js} +1 -1
- package/dist/cobalt/{p-c6fedc59.entry.js → p-3b9be8a8.entry.js} +1 -1
- package/dist/cobalt/p-3c681e3a.entry.js +1 -0
- package/dist/cobalt/{p-14d4c5c7.entry.js → p-3ecbbe93.entry.js} +1 -1
- package/dist/cobalt/{p-9c873a6a.entry.js → p-3f1030fb.entry.js} +1 -1
- package/dist/cobalt/p-3f7215e7.entry.js +1 -0
- package/dist/cobalt/p-431cec34.entry.js +1 -0
- package/dist/cobalt/p-48fbf051.entry.js +1 -0
- package/dist/cobalt/{p-e420d5c9.entry.js → p-4f615cbd.entry.js} +1 -1
- package/dist/cobalt/{p-81cfd951.entry.js → p-5319ac3f.entry.js} +1 -1
- package/dist/cobalt/p-532baca4.entry.js +1 -0
- package/dist/cobalt/{p-ba66584f.entry.js → p-53a276a8.entry.js} +1 -1
- package/dist/cobalt/{p-f0de4415.entry.js → p-543cc00d.entry.js} +1 -1
- package/dist/cobalt/{p-f073b467.entry.js → p-54857f78.entry.js} +1 -1
- package/dist/cobalt/{p-85eed52c.entry.js → p-54f8c68c.entry.js} +1 -1
- package/dist/cobalt/{p-9c6ca902.entry.js → p-585c132d.entry.js} +1 -1
- package/dist/cobalt/{p-8f194753.entry.js → p-59b114ab.entry.js} +1 -1
- package/dist/cobalt/{p-2d1cbd7f.entry.js → p-5b84cf37.entry.js} +1 -1
- package/dist/cobalt/{p-0d7536a8.entry.js → p-5c250889.entry.js} +1 -1
- package/dist/cobalt/{p-e33853fa.entry.js → p-5d0510a5.entry.js} +1 -1
- package/dist/cobalt/{p-f86ccb38.entry.js → p-5e246304.entry.js} +1 -1
- package/dist/cobalt/{p-075eed3d.entry.js → p-616e4286.entry.js} +1 -1
- package/dist/cobalt/{p-8e823c15.entry.js → p-64115d66.entry.js} +1 -1
- package/dist/cobalt/{p-495c9b99.entry.js → p-69723cc1.entry.js} +1 -1
- package/dist/cobalt/{p-6ad1625a.entry.js → p-69ce2269.entry.js} +1 -1
- package/dist/cobalt/{p-b1197c08.entry.js → p-6b38e8fb.entry.js} +1 -1
- package/dist/cobalt/{p-5c43d30e.entry.js → p-7178113f.entry.js} +1 -1
- package/dist/cobalt/p-741cf623.entry.js +1 -0
- package/dist/cobalt/{p-1726ce07.entry.js → p-75515a8e.entry.js} +1 -1
- package/dist/cobalt/{p-fd27c2bd.entry.js → p-7f78e45c.entry.js} +1 -1
- package/dist/cobalt/{p-3f06d373.entry.js → p-8155d781.entry.js} +1 -1
- package/dist/cobalt/{p-e710b9ea.entry.js → p-8fe5b07e.entry.js} +1 -1
- package/dist/cobalt/{p-9a587867.entry.js → p-9211e794.entry.js} +1 -1
- package/dist/cobalt/p-97875bde.entry.js +1 -0
- package/dist/cobalt/p-9824c478.entry.js +1 -0
- package/dist/cobalt/{p-cc0a4617.entry.js → p-9994fcd8.entry.js} +1 -1
- package/dist/cobalt/p-9bf42bf4.entry.js +1 -0
- package/dist/cobalt/{p-f6ac5301.entry.js → p-9fab9c1f.entry.js} +1 -1
- package/dist/cobalt/p-BCEz3S-z.js +2 -0
- package/dist/cobalt/{p-Bgxofdfb.js → p-BL0sCfMH.js} +1 -1
- package/dist/cobalt/p-BYKAgwq3.js +1 -0
- package/dist/cobalt/p-C-d15gih.js +1 -0
- package/dist/cobalt/p-D5gr2ent.js +1 -0
- package/dist/cobalt/p-WeuPA9Rw.js +1 -0
- package/dist/cobalt/{p-77d01b39.entry.js → p-a252f8c5.entry.js} +1 -1
- package/dist/cobalt/{p-809015dd.entry.js → p-b06af5c6.entry.js} +1 -1
- package/dist/cobalt/p-b87a2e7a.entry.js +1 -0
- package/dist/cobalt/{p-fb251497.entry.js → p-ba5c6aa7.entry.js} +1 -1
- package/dist/cobalt/{p-373cd08e.entry.js → p-bb00ae4a.entry.js} +1 -1
- package/dist/cobalt/{p-5edd0d3f.entry.js → p-bcd38114.entry.js} +1 -1
- package/dist/cobalt/{p-bb534985.entry.js → p-c237add6.entry.js} +1 -1
- package/dist/cobalt/{p-c750b2d2.entry.js → p-c3004e1c.entry.js} +1 -1
- package/dist/cobalt/p-c589ae25.entry.js +1 -0
- package/dist/cobalt/p-c635417b.entry.js +1 -0
- package/dist/cobalt/p-c7d9ff39.entry.js +1 -0
- package/dist/cobalt/{p-c1e53e4c.entry.js → p-c9528a5f.entry.js} +1 -1
- package/dist/cobalt/{p-20ba59a2.entry.js → p-cbac0a11.entry.js} +1 -1
- package/dist/cobalt/p-cd28aa6d.entry.js +1 -0
- package/dist/cobalt/{p-5c3101b5.entry.js → p-cdedaa82.entry.js} +1 -1
- package/dist/cobalt/{p-627d2d1a.entry.js → p-ceb85838.entry.js} +1 -1
- package/dist/cobalt/{p-5e9a9caf.entry.js → p-d3a1a604.entry.js} +1 -1
- package/dist/cobalt/{p-a6900010.entry.js → p-d71b800a.entry.js} +1 -1
- package/dist/cobalt/p-df752f6e.entry.js +1 -0
- package/dist/cobalt/{p-b4bed98b.entry.js → p-e1b468c1.entry.js} +1 -1
- package/dist/cobalt/{p-0d6a562d.entry.js → p-e4555fda.entry.js} +1 -1
- package/dist/cobalt/p-ec9dd3a3.entry.js +1 -0
- package/dist/cobalt/p-eec1c44c.entry.js +1 -0
- package/dist/cobalt/p-eeed80ac.entry.js +1 -0
- package/dist/cobalt/p-f0a98453.entry.js +1 -0
- package/dist/cobalt/{p-af4cb263.entry.js → p-ff581807.entry.js} +1 -1
- package/dist/cobalt/p-fffeb610.entry.js +1 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/co-autocomplete/co-autocomplete.css +1 -1
- package/dist/collection/components/co-avatar/co-avatar.css +23 -0
- package/dist/collection/components/co-avatar/co-avatar.js +24 -1
- package/dist/collection/components/co-avatar-group/co-avatar-group.css +9 -5
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +2 -2
- package/dist/collection/components/co-badge/co-badge.js +1 -1
- package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
- package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
- package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
- package/dist/collection/components/co-button/co-button.js +2 -2
- package/dist/collection/components/co-button-group/co-button-group.js +2 -2
- package/dist/collection/components/co-calendar/co-calendar.js +1 -1
- package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
- package/dist/collection/components/co-card/co-card.js +2 -2
- package/dist/collection/components/co-carousel/co-carousel.css +152 -0
- package/dist/collection/components/co-carousel/co-carousel.js +633 -0
- package/dist/collection/components/co-carousel-item/co-carousel-item.css +6 -0
- package/dist/collection/components/co-carousel-item/co-carousel-item.js +25 -0
- package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
- package/dist/collection/components/co-chip/co-chip.js +2 -2
- package/dist/collection/components/co-color-picker/co-color-picker.css +11 -10
- package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.css +6 -8
- package/dist/collection/components/co-data-table/co-data-table.css +19 -4
- 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 +6 -7
- package/dist/collection/components/co-date-field/co-date-field.js +4 -4
- package/dist/collection/components/co-date-picker/co-date-picker.css +16 -0
- package/dist/collection/components/co-date-picker/co-date-picker.js +28 -1
- 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 +13 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +26 -0
- package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
- package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
- package/dist/collection/components/co-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-fab/co-fab.css +70 -10
- package/dist/collection/components/co-fab/co-fab.js +39 -4
- package/dist/collection/components/co-file-field/co-file-field.css +2 -2
- package/dist/collection/components/co-file-field/co-file-field.js +5 -5
- package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
- package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
- package/dist/collection/components/co-icon/co-icon.js +2 -2
- package/dist/collection/components/co-icon-button/co-icon-button.js +1 -1
- package/dist/collection/components/co-input/co-input.css +13 -1
- package/dist/collection/components/co-input/co-input.js +26 -0
- package/dist/collection/components/co-json-field/co-json-field.css +4 -8
- package/dist/collection/components/co-json-field/co-json-field.js +3 -3
- package/dist/collection/components/co-lightbox/co-lightbox.css +12 -1
- package/dist/collection/components/co-lightbox/co-lightbox.js +31 -4
- package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
- package/dist/collection/components/co-list-item/co-list-item.js +4 -4
- package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
- package/dist/collection/components/co-menu/co-menu.js +1 -1
- package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
- package/dist/collection/components/co-modal/co-modal.js +2 -2
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.css +1 -1
- package/dist/collection/components/co-number-field/co-number-field.js +2 -2
- package/dist/collection/components/co-option-list/co-option-list.js +2 -2
- package/dist/collection/components/co-overlay/co-overlay.js +1 -1
- package/dist/collection/components/co-page-header/co-page-header.js +1 -1
- package/dist/collection/components/co-phone-field/co-phone-field.css +2 -2
- package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
- 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-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.css +17 -1
- package/dist/collection/components/co-ref-field/co-ref-field.js +27 -1
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +21 -3
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +97 -4
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +93 -3
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +19 -0
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +53 -4
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-select/co-select.css +12 -1
- package/dist/collection/components/co-select/co-select.js +30 -4
- 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-skeleton/co-skeleton.js +1 -1
- package/dist/collection/components/co-slider/co-slider.js +2 -2
- package/dist/collection/components/co-switch/co-switch.js +3 -3
- package/dist/collection/components/co-tab/co-tab.js +2 -2
- package/dist/collection/components/co-tab-group/co-tab-group.css +7 -4
- package/dist/collection/components/co-tab-group/co-tab-group.js +2 -2
- package/dist/collection/components/co-tags-field/co-tags-field.css +12 -21
- package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
- package/dist/collection/components/co-textarea/co-textarea.css +18 -8
- package/dist/collection/components/co-textarea/co-textarea.js +30 -4
- package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
- package/dist/collection/components/co-video/co-video.js +2 -2
- package/dist/collection/utils/carouselI18n.js +36 -0
- package/dist/collection/utils/richTextI18n.js +3 -0
- package/dist/components/co-accordion.js +1 -1
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-avatar-group.js +1 -1
- package/dist/components/co-avatar.js +1 -1
- package/dist/components/co-badge.js +1 -1
- package/dist/components/co-bottom-sheet.js +1 -1
- package/dist/components/co-breadcrumb-item.js +1 -1
- package/dist/components/co-breadcrumb.js +1 -1
- package/dist/components/co-button-group.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-calendar-month.js +1 -1
- package/dist/components/co-calendar.js +1 -1
- package/dist/components/co-card.js +1 -1
- package/dist/components/co-carousel-item.d.ts +11 -0
- package/dist/components/co-carousel-item.js +1 -0
- package/dist/components/co-carousel.d.ts +11 -0
- package/dist/components/co-carousel.js +1 -0
- 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-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-empty-state.js +1 -1
- package/dist/components/co-event-calendar.js +1 -1
- package/dist/components/co-fab.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-file-type-tile.js +1 -1
- package/dist/components/co-helper-text.js +1 -1
- package/dist/components/co-icon-button.js +1 -1
- package/dist/components/co-icon.js +1 -1
- package/dist/components/co-input.js +1 -1
- package/dist/components/co-json-field.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-footer.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-media-thumb.js +1 -1
- package/dist/components/co-menu-divider.js +1 -1
- package/dist/components/co-menu-item.js +1 -1
- package/dist/components/co-menu.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-navbar.js +1 -1
- package/dist/components/co-number-field.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-page-header.js +1 -1
- package/dist/components/co-phone-field.js +1 -1
- package/dist/components/co-progress-bar.js +1 -1
- package/dist/components/co-progress-circle.js +1 -1
- package/dist/components/co-radio-group.js +1 -1
- package/dist/components/co-radio.js +1 -1
- package/dist/components/co-rating.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-rich-text-editor.js +1 -1
- package/dist/components/co-rich-text-toolbar.js +1 -1
- package/dist/components/co-rich-text-viewer.js +1 -1
- package/dist/components/co-row.js +1 -1
- package/dist/components/co-select.js +1 -1
- package/dist/components/co-separator.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-sidebar.js +1 -1
- package/dist/components/co-skeleton.js +1 -1
- package/dist/components/co-slider.js +1 -1
- package/dist/components/co-switch.js +1 -1
- package/dist/components/co-tab-group.js +1 -1
- package/dist/components/co-tab.js +1 -1
- package/dist/components/co-tags-field.js +1 -1
- package/dist/components/co-textarea.js +1 -1
- package/dist/components/co-toast.js +1 -1
- package/dist/components/co-toggle-button-group.js +1 -1
- package/dist/components/co-toggle-button.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/co-transfer-list.js +1 -1
- package/dist/components/co-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-CNIs9j-h.js → p-9aNhJfTT.js} +1 -1
- package/dist/components/{p-QWi9AmnD.js → p-B0b9Etx4.js} +1 -1
- package/dist/components/{p-D4SOCy8I.js → p-B3U63yZw.js} +1 -1
- package/dist/components/p-B7Yv00g9.js +1 -0
- package/dist/components/{p-Bgxofdfb.js → p-BL0sCfMH.js} +1 -1
- package/dist/components/{p-DrQh1Cb8.js → p-BTa6ss5i.js} +1 -1
- package/dist/components/p-BtpRnpaF.js +1 -0
- package/dist/components/{p-lus32JrB.js → p-Bul6EdDX.js} +1 -1
- package/dist/components/{p-COb8X_fE.js → p-Bzg5FPSA.js} +1 -1
- package/dist/components/{p-Cam92sWP.js → p-CQ-8domm.js} +1 -1
- package/dist/components/{p-Bsq90mo4.js → p-CVeEoHr7.js} +1 -1
- package/dist/components/p-CYi6V_Ss.js +1 -0
- package/dist/components/{p-DvL2TcDG.js → p-Cd3inFSL.js} +1 -1
- package/dist/components/{p-OKwHt2i9.js → p-CuQjKAf5.js} +1 -1
- package/dist/components/{p-Ba5lW0pA.js → p-DKvTqEaf.js} +1 -1
- package/dist/components/p-DfpOEXHC.js +1 -0
- package/dist/components/p-DwwxS5bY.js +1 -0
- package/dist/components/p-T0UfY6rA.js +1 -0
- package/dist/components/p-WeuPA9Rw.js +1 -0
- package/dist/components/{p-_k-j03K-.js → p-oV_1MoAN.js} +1 -1
- package/dist/esm/co-accordion.entry.js +1 -1
- package/dist/esm/co-app-shell.entry.js +1 -1
- package/dist/esm/co-autocomplete.entry.js +3 -3
- package/dist/esm/co-avatar-group.entry.js +3 -3
- package/dist/esm/{co-tooltip.entry.js → co-avatar_2.entry.js} +95 -4
- package/dist/esm/co-badge.entry.js +2 -2
- package/dist/esm/co-bottom-sheet.entry.js +4 -4
- package/dist/esm/co-breadcrumb-item.entry.js +3 -3
- package/dist/esm/co-breadcrumb.entry.js +2 -2
- package/dist/esm/co-button-group.entry.js +3 -3
- package/dist/esm/co-button.entry.js +3 -3
- package/dist/esm/co-calendar-month.entry.js +2 -2
- package/dist/esm/co-calendar_3.entry.js +8 -8
- package/dist/esm/co-card.entry.js +3 -3
- package/dist/esm/co-carousel-item.entry.js +15 -0
- package/dist/esm/co-carousel.entry.js +366 -0
- package/dist/esm/co-checkbox-group.entry.js +1 -1
- package/dist/esm/co-checkbox.entry.js +4 -4
- package/dist/esm/co-chip_2.entry.js +5 -5
- package/dist/esm/co-color-picker.entry.js +5 -5
- package/dist/esm/co-column-picker.entry.js +3 -3
- package/dist/esm/co-combobox.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/co-date-picker.entry.js +11 -4
- package/dist/esm/co-date-range-picker.entry.js +9 -3
- package/dist/esm/co-date-range.entry.js +2 -2
- package/dist/esm/co-drive-card.entry.js +2 -2
- package/dist/esm/co-drop-zone.entry.js +2 -2
- package/dist/esm/co-empty-state.entry.js +3 -3
- package/dist/esm/co-event-calendar.entry.js +3 -3
- package/dist/esm/co-fab.entry.js +21 -6
- package/dist/esm/co-file-field.entry.js +8 -8
- package/dist/esm/co-file-type-tile.entry.js +3 -3
- package/dist/esm/co-helper-text.entry.js +3 -3
- package/dist/esm/co-icon-button.entry.js +2 -2
- package/dist/esm/co-icon.entry.js +3 -3
- package/dist/esm/co-input.entry.js +9 -3
- package/dist/esm/co-json-field.entry.js +6 -6
- package/dist/esm/co-lightbox.entry.js +33 -6
- package/dist/esm/co-list-footer.entry.js +2 -2
- package/dist/esm/co-list-item.entry.js +5 -5
- package/dist/esm/co-loader.entry.js +1 -1
- package/dist/esm/co-media-thumb.entry.js +3 -3
- package/dist/esm/co-menu-divider.entry.js +2 -2
- package/dist/esm/co-menu-item.entry.js +1 -1
- package/dist/esm/co-menu.entry.js +2 -2
- package/dist/esm/co-modal.entry.js +3 -3
- package/dist/esm/co-navbar.entry.js +3 -3
- package/dist/esm/co-number-field.entry.js +5 -5
- package/dist/esm/co-overlay.entry.js +2 -2
- package/dist/esm/co-page-header.entry.js +2 -2
- package/dist/esm/co-phone-field.entry.js +4 -4
- package/dist/esm/co-popover.entry.js +1 -1
- package/dist/esm/co-progress-bar.entry.js +3 -3
- package/dist/esm/co-progress-circle.entry.js +3 -3
- package/dist/esm/co-radio-group.entry.js +1 -1
- package/dist/esm/co-radio.entry.js +4 -4
- package/dist/esm/co-rating.entry.js +4 -4
- package/dist/esm/co-ref-field.entry.js +11 -5
- package/dist/esm/co-rich-text-editor.entry.js +22 -7
- package/dist/esm/co-rich-text-toolbar.entry.js +36 -4
- package/dist/esm/co-rich-text-viewer.entry.js +36 -6
- package/dist/esm/co-row.entry.js +3 -3
- package/dist/esm/co-segmented-bar.entry.js +1 -1
- package/dist/esm/co-select.entry.js +13 -7
- package/dist/esm/co-separator.entry.js +2 -2
- package/dist/esm/co-sidebar-nav.entry.js +1 -1
- package/dist/esm/co-sidebar.entry.js +3 -3
- package/dist/esm/co-skeleton.entry.js +2 -2
- package/dist/esm/co-slider.entry.js +3 -3
- package/dist/esm/co-switch.entry.js +5 -5
- package/dist/esm/co-tab-group.entry.js +4 -4
- package/dist/esm/co-tab.entry.js +3 -3
- package/dist/esm/co-tags-field.entry.js +9 -9
- package/dist/esm/co-textarea.entry.js +13 -7
- package/dist/esm/co-toast.entry.js +1 -1
- package/dist/esm/co-toggle-button-group.entry.js +3 -3
- package/dist/esm/co-toggle-button.entry.js +3 -3
- package/dist/esm/co-transfer-list.entry.js +1 -1
- package/dist/esm/co-video.entry.js +3 -3
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/{fieldChip-ChXW__C5.js → fieldChip-Bb8YIN0J.js} +1 -1
- package/dist/esm/{index-tT-aZV0-.js → index-BCEz3S-z.js} +13 -9
- package/dist/esm/{index-Cyrxk8Qq.js → index-RuXxdKzC.js} +171 -11
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{requiredMark-C7-_2UhB.js → requiredMark-D7kAMXHM.js} +1 -1
- package/dist/esm/{richTextI18n-B-ckjCUA.js → richTextI18n-BYKAgwq3.js} +3 -0
- package/dist/esm/{toolbar-config-ChibIpZv.js → toolbar-config-WeuPA9Rw.js} +2 -0
- package/dist/types/components/co-avatar/co-avatar.d.ts +5 -0
- package/dist/types/components/co-carousel/co-carousel.d.ts +85 -0
- package/dist/types/components/co-carousel-item/co-carousel-item.d.ts +10 -0
- package/dist/types/components/co-date-picker/co-date-picker.d.ts +7 -0
- package/dist/types/components/co-date-range-picker/co-date-range-picker.d.ts +5 -0
- package/dist/types/components/co-fab/co-fab.d.ts +6 -0
- package/dist/types/components/co-input/co-input.d.ts +5 -0
- package/dist/types/components/co-lightbox/co-lightbox.d.ts +7 -0
- package/dist/types/components/co-ref-field/co-ref-field.d.ts +5 -0
- package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +17 -0
- package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +12 -1
- package/dist/types/components/co-rich-text-viewer/co-rich-text-viewer.d.ts +10 -0
- package/dist/types/components/co-select/co-select.d.ts +5 -0
- package/dist/types/components/co-textarea/co-textarea.d.ts +5 -0
- package/dist/types/components.d.ts +363 -3
- package/dist/types/utils/carouselI18n.d.ts +10 -0
- package/dist/types/utils/richTextI18n.d.ts +1 -0
- package/package.json +4 -4
- package/dist/cjs/co-avatar.cjs.entry.js +0 -92
- package/dist/cobalt/p-0c0621a7.entry.js +0 -1
- package/dist/cobalt/p-13fc9c8a.entry.js +0 -1
- package/dist/cobalt/p-3f68fd2e.entry.js +0 -1
- package/dist/cobalt/p-4a075257.entry.js +0 -1
- package/dist/cobalt/p-5647ca9d.entry.js +0 -1
- package/dist/cobalt/p-5b31d45b.entry.js +0 -1
- package/dist/cobalt/p-6911a034.entry.js +0 -1
- package/dist/cobalt/p-70f70e02.entry.js +0 -1
- package/dist/cobalt/p-73b30ebb.entry.js +0 -1
- package/dist/cobalt/p-75dcaeb0.entry.js +0 -1
- package/dist/cobalt/p-7780ddb5.entry.js +0 -1
- package/dist/cobalt/p-7FZXeBK4.js +0 -1
- package/dist/cobalt/p-86d4e016.entry.js +0 -1
- package/dist/cobalt/p-8a9ed2da.entry.js +0 -1
- package/dist/cobalt/p-B-ckjCUA.js +0 -1
- package/dist/cobalt/p-BAA4ln31.js +0 -1
- package/dist/cobalt/p-ChibIpZv.js +0 -1
- package/dist/cobalt/p-aa20ffca.entry.js +0 -1
- package/dist/cobalt/p-ac5df270.entry.js +0 -1
- package/dist/cobalt/p-c2e2eee9.entry.js +0 -1
- package/dist/cobalt/p-cc8e2f16.entry.js +0 -1
- package/dist/cobalt/p-e1957078.entry.js +0 -1
- package/dist/cobalt/p-e2762263.entry.js +0 -1
- package/dist/cobalt/p-e4a539da.entry.js +0 -1
- package/dist/cobalt/p-e7085f08.entry.js +0 -1
- package/dist/cobalt/p-e9aaeaf7.entry.js +0 -1
- package/dist/cobalt/p-f36e461f.entry.js +0 -1
- package/dist/cobalt/p-f6b0c4a0.entry.js +0 -1
- package/dist/cobalt/p-tT-aZV0-.js +0 -2
- package/dist/components/p-BHqdcGDh.js +0 -1
- package/dist/components/p-BJTMFYax.js +0 -1
- package/dist/components/p-ChibIpZv.js +0 -1
- package/dist/components/p-D3ts7oo9.js +0 -1
- package/dist/components/p-Dh-h40mY.js +0 -1
- package/dist/components/p-Xwo2HQmt.js +0 -1
- package/dist/components/p-eSq2ze8W.js +0 -1
- package/dist/esm/co-avatar.entry.js +0 -90
|
@@ -17,6 +17,9 @@ export class CoRichTextToolbar {
|
|
|
17
17
|
this.disabled = false;
|
|
18
18
|
/** BCP-47 locale for UI strings (e.g. 'en', 'es-CO', 'pt-BR'). Default English. */
|
|
19
19
|
this.locale = 'en';
|
|
20
|
+
/** Shows the attachment button (compact-assets variant). The editor never
|
|
21
|
+
* owns the attachment list — it only emits the picked files. */
|
|
22
|
+
this.attachmentsEnabled = false;
|
|
20
23
|
this.items = [];
|
|
21
24
|
/** Bumped on every editor transaction to refresh active state. */
|
|
22
25
|
this.tick = 0;
|
|
@@ -170,6 +173,9 @@ export class CoRichTextToolbar {
|
|
|
170
173
|
chain.outdent().run();
|
|
171
174
|
}
|
|
172
175
|
break;
|
|
176
|
+
case 'attachment':
|
|
177
|
+
this.triggerAttachmentFileUpload();
|
|
178
|
+
return; // no editor command — the host owns the files
|
|
173
179
|
case 'link':
|
|
174
180
|
case 'image':
|
|
175
181
|
case 'youtube':
|
|
@@ -206,6 +212,7 @@ export class CoRichTextToolbar {
|
|
|
206
212
|
blockquote: s.quote, codeBlock: s.codeBlock,
|
|
207
213
|
horizontalRule: s.horizontalRule,
|
|
208
214
|
link: s.link, image: s.image, youtube: s.youtubeVideo, iframe: s.iframeEmbed,
|
|
215
|
+
attachment: s.attachFiles,
|
|
209
216
|
table: s.table, textColor: s.textColor, highlight: s.highlight,
|
|
210
217
|
alignment: s.alignment, lineSpacing: s.lineSpacing,
|
|
211
218
|
letterSpacing: s.letterSpacing,
|
|
@@ -277,6 +284,9 @@ export class CoRichTextToolbar {
|
|
|
277
284
|
onVariantChange(v) {
|
|
278
285
|
this.items = this.resolveItems(v);
|
|
279
286
|
}
|
|
287
|
+
onAttachmentsEnabledChange() {
|
|
288
|
+
this.items = this.resolveItems(this.variant);
|
|
289
|
+
}
|
|
280
290
|
onEditorChange(next, prev) {
|
|
281
291
|
prev === null || prev === void 0 ? void 0 : prev.off('transaction', this.onTransaction);
|
|
282
292
|
next === null || next === void 0 ? void 0 : next.on('transaction', this.onTransaction);
|
|
@@ -309,7 +319,11 @@ export class CoRichTextToolbar {
|
|
|
309
319
|
const kept = base.filter((entry) => {
|
|
310
320
|
if (this.isSeparator(entry))
|
|
311
321
|
return true;
|
|
312
|
-
const
|
|
322
|
+
const action = entry.action;
|
|
323
|
+
// attachment has no editor command — visibility is host opt-in.
|
|
324
|
+
if (action === 'attachment')
|
|
325
|
+
return this.attachmentsEnabled;
|
|
326
|
+
const cmd = CoRichTextToolbar.ITEM_COMMAND[action];
|
|
313
327
|
return cmd ? available(cmd) : true;
|
|
314
328
|
});
|
|
315
329
|
// Drop separators that ended up leading, trailing, or doubled-up.
|
|
@@ -788,6 +802,20 @@ export class CoRichTextToolbar {
|
|
|
788
802
|
}
|
|
789
803
|
return (h("div", { class: "co-rich-text-toolbar__popover", onMouseDown: (e) => { e.preventDefault(); e.stopPropagation(); } }, h("button", { type: "button", class: "co-rich-text-toolbar__popover-option", onMouseDown: (e) => e.preventDefault(), onClick: () => this.triggerImageFileUpload() }, h("co-icon", { name: "upload-simple", size: 16 }), h("span", null, this.s.uploadFromComputer)), h("button", { type: "button", class: "co-rich-text-toolbar__popover-option", onMouseDown: (e) => e.preventDefault(), onClick: () => { this.imagePopoverMode = 'url'; } }, h("co-icon", { name: "link", size: 16 }), h("span", null, this.s.viaUrl))));
|
|
790
804
|
}
|
|
805
|
+
triggerAttachmentFileUpload() {
|
|
806
|
+
const input = document.createElement('input');
|
|
807
|
+
input.type = 'file';
|
|
808
|
+
input.multiple = true;
|
|
809
|
+
if (this.attachmentAccept)
|
|
810
|
+
input.accept = this.attachmentAccept;
|
|
811
|
+
input.onchange = () => {
|
|
812
|
+
var _a;
|
|
813
|
+
const files = Array.from((_a = input.files) !== null && _a !== void 0 ? _a : []);
|
|
814
|
+
if (files.length)
|
|
815
|
+
this.coAttachmentsSelected.emit({ files });
|
|
816
|
+
};
|
|
817
|
+
input.click();
|
|
818
|
+
}
|
|
791
819
|
triggerImageFileUpload() {
|
|
792
820
|
const input = document.createElement('input');
|
|
793
821
|
input.type = 'file';
|
|
@@ -1111,8 +1139,8 @@ export class CoRichTextToolbar {
|
|
|
1111
1139
|
"type": "string",
|
|
1112
1140
|
"mutable": false,
|
|
1113
1141
|
"complexType": {
|
|
1114
|
-
"original": "'none' | 'compact' | 'basic' | 'full'",
|
|
1115
|
-
"resolved": "\"basic\" | \"compact\" | \"full\" | \"none\"",
|
|
1142
|
+
"original": "'none' | 'compact' | 'compact-assets' | 'basic' | 'full'",
|
|
1143
|
+
"resolved": "\"basic\" | \"compact\" | \"compact-assets\" | \"full\" | \"none\"",
|
|
1116
1144
|
"references": {}
|
|
1117
1145
|
},
|
|
1118
1146
|
"required": false,
|
|
@@ -1192,6 +1220,45 @@ export class CoRichTextToolbar {
|
|
|
1192
1220
|
},
|
|
1193
1221
|
"getter": false,
|
|
1194
1222
|
"setter": false
|
|
1223
|
+
},
|
|
1224
|
+
"attachmentsEnabled": {
|
|
1225
|
+
"type": "boolean",
|
|
1226
|
+
"mutable": false,
|
|
1227
|
+
"complexType": {
|
|
1228
|
+
"original": "boolean",
|
|
1229
|
+
"resolved": "boolean",
|
|
1230
|
+
"references": {}
|
|
1231
|
+
},
|
|
1232
|
+
"required": false,
|
|
1233
|
+
"optional": false,
|
|
1234
|
+
"docs": {
|
|
1235
|
+
"tags": [],
|
|
1236
|
+
"text": "Shows the attachment button (compact-assets variant). The editor never\nowns the attachment list \u2014 it only emits the picked files."
|
|
1237
|
+
},
|
|
1238
|
+
"getter": false,
|
|
1239
|
+
"setter": false,
|
|
1240
|
+
"reflect": false,
|
|
1241
|
+
"attribute": "attachments-enabled",
|
|
1242
|
+
"defaultValue": "false"
|
|
1243
|
+
},
|
|
1244
|
+
"attachmentAccept": {
|
|
1245
|
+
"type": "string",
|
|
1246
|
+
"mutable": false,
|
|
1247
|
+
"complexType": {
|
|
1248
|
+
"original": "string",
|
|
1249
|
+
"resolved": "string | undefined",
|
|
1250
|
+
"references": {}
|
|
1251
|
+
},
|
|
1252
|
+
"required": false,
|
|
1253
|
+
"optional": true,
|
|
1254
|
+
"docs": {
|
|
1255
|
+
"tags": [],
|
|
1256
|
+
"text": "`accept` attr for the attachment file picker (e.g. '.pdf,.png')."
|
|
1257
|
+
},
|
|
1258
|
+
"getter": false,
|
|
1259
|
+
"setter": false,
|
|
1260
|
+
"reflect": false,
|
|
1261
|
+
"attribute": "attachment-accept"
|
|
1195
1262
|
}
|
|
1196
1263
|
};
|
|
1197
1264
|
}
|
|
@@ -1245,6 +1312,26 @@ export class CoRichTextToolbar {
|
|
|
1245
1312
|
"resolved": "{ open: boolean; }",
|
|
1246
1313
|
"references": {}
|
|
1247
1314
|
}
|
|
1315
|
+
}, {
|
|
1316
|
+
"method": "coAttachmentsSelected",
|
|
1317
|
+
"name": "coAttachmentsSelected",
|
|
1318
|
+
"bubbles": true,
|
|
1319
|
+
"cancelable": true,
|
|
1320
|
+
"composed": true,
|
|
1321
|
+
"docs": {
|
|
1322
|
+
"tags": [],
|
|
1323
|
+
"text": "Files picked from the toolbar attachment button. The host owns them."
|
|
1324
|
+
},
|
|
1325
|
+
"complexType": {
|
|
1326
|
+
"original": "{ files: File[] }",
|
|
1327
|
+
"resolved": "{ files: File[]; }",
|
|
1328
|
+
"references": {
|
|
1329
|
+
"File": {
|
|
1330
|
+
"location": "global",
|
|
1331
|
+
"id": "global::File"
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1248
1335
|
}];
|
|
1249
1336
|
}
|
|
1250
1337
|
static get elementRef() { return "el"; }
|
|
@@ -1252,6 +1339,9 @@ export class CoRichTextToolbar {
|
|
|
1252
1339
|
return [{
|
|
1253
1340
|
"propName": "variant",
|
|
1254
1341
|
"methodName": "onVariantChange"
|
|
1342
|
+
}, {
|
|
1343
|
+
"propName": "attachmentsEnabled",
|
|
1344
|
+
"methodName": "onAttachmentsEnabledChange"
|
|
1255
1345
|
}, {
|
|
1256
1346
|
"propName": "editor",
|
|
1257
1347
|
"methodName": "onEditorChange"
|
|
@@ -137,6 +137,25 @@
|
|
|
137
137
|
font-size: 0.9em;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
/* Menciones: markup nuevo (data-mention-id) y V1 (quill: data-id +
|
|
141
|
+
data-denotation-char). Mismo chip que el editor (.co-rte-mention). */
|
|
142
|
+
.co-rich-text-viewer [data-mention-id],
|
|
143
|
+
.co-rich-text-viewer [data-denotation-char='@'][data-id] {
|
|
144
|
+
display: inline-block;
|
|
145
|
+
padding: 0.05em 0.4em;
|
|
146
|
+
border-radius: var(--co-border-radius-xxs);
|
|
147
|
+
/* Highlight pastel azul — mismo look que el chip del editor (.co-rte-mention). */
|
|
148
|
+
background: var(--co-color-azul-200);
|
|
149
|
+
color: var(--co-color-azul-800);
|
|
150
|
+
font-size: 0.9em;
|
|
151
|
+
white-space: nowrap;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* El tracker oculto del contrato V1 jamás debe pintar en lectura. */
|
|
155
|
+
.co-rich-text-viewer #userMentionsTracker {
|
|
156
|
+
display: none;
|
|
157
|
+
}
|
|
158
|
+
|
|
140
159
|
/* ============================================================
|
|
141
160
|
Fluid content width (document / "site" preset)
|
|
142
161
|
|
|
@@ -16,6 +16,7 @@ const ALLOWED_TAGS = {
|
|
|
16
16
|
task: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote'],
|
|
17
17
|
email: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h2', 'h3', 'div', 'img'],
|
|
18
18
|
document: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h1', 'h2', 'h3', 'h4', 'hr', 'div', 'mark', 'img', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'iframe'],
|
|
19
|
+
'block-email': ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h2', 'h3', 'div', 'img'],
|
|
19
20
|
};
|
|
20
21
|
/** iframes are permitted only with an https: source (blocks javascript:/data:/http:). */
|
|
21
22
|
const SAFE_IFRAME_SRC_RE = /^https:\/\/[^\s"'<>]+$/i;
|
|
@@ -37,8 +38,22 @@ export class CoRichTextViewer {
|
|
|
37
38
|
watchInputs() {
|
|
38
39
|
return this.compute();
|
|
39
40
|
}
|
|
41
|
+
/** Parse `features` (JSON string via HTML attr, or object via JS property). */
|
|
42
|
+
get parsedFeatures() {
|
|
43
|
+
if (!this.features)
|
|
44
|
+
return undefined;
|
|
45
|
+
if (typeof this.features === 'string') {
|
|
46
|
+
try {
|
|
47
|
+
return JSON.parse(this.features);
|
|
48
|
+
}
|
|
49
|
+
catch (_a) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return this.features;
|
|
54
|
+
}
|
|
40
55
|
sanitizeHtml(html) {
|
|
41
|
-
var _a;
|
|
56
|
+
var _a, _b;
|
|
42
57
|
DOMPurify.addHook('uponSanitizeElement', (node, data) => {
|
|
43
58
|
var _a, _b;
|
|
44
59
|
// Only allow <input type="checkbox"> (task list checkboxes); strip others.
|
|
@@ -52,10 +67,22 @@ export class CoRichTextViewer {
|
|
|
52
67
|
(_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(node);
|
|
53
68
|
}
|
|
54
69
|
});
|
|
70
|
+
// Feature overrides only WIDEN the whitelist (mirrors the rich-text
|
|
71
|
+
// package's `configFor`). `mentions` re-admits the V1 quill markup attrs so
|
|
72
|
+
// the mention chip keeps its style hook in read mode — the new markup
|
|
73
|
+
// (data-mention-id/label) is always allowed. image/variables attrs are
|
|
74
|
+
// already in the base list below.
|
|
75
|
+
const allowedAttr = ['href', 'target', 'rel', 'data-variable', 'data-mention-id', 'data-mention-label', 'style', 'colspan', 'rowspan', 'src', 'alt', 'width', 'height', 'allowfullscreen', 'frameborder', 'allow', 'loading', 'data-youtube-video', 'data-iframe', 'data-image-layout', 'data-file-id', 'type', 'checked', 'disabled'];
|
|
76
|
+
if ((_a = this.parsedFeatures) === null || _a === void 0 ? void 0 : _a.mentions) {
|
|
77
|
+
for (const a of ['data-id', 'data-value', 'data-denotation-char', 'data-index']) {
|
|
78
|
+
if (!allowedAttr.includes(a))
|
|
79
|
+
allowedAttr.push(a);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
55
82
|
try {
|
|
56
83
|
const clean = DOMPurify.sanitize(html, {
|
|
57
|
-
ALLOWED_TAGS: (
|
|
58
|
-
ALLOWED_ATTR:
|
|
84
|
+
ALLOWED_TAGS: (_b = ALLOWED_TAGS[this.preset]) !== null && _b !== void 0 ? _b : ALLOWED_TAGS.document,
|
|
85
|
+
ALLOWED_ATTR: allowedAttr,
|
|
59
86
|
ALLOW_DATA_ATTR: false,
|
|
60
87
|
FORBID_TAGS: ['script', 'object', 'embed', 'form', 'textarea', 'style'],
|
|
61
88
|
ADD_ATTR: ['allowfullscreen', 'frameborder', 'allow', 'loading'],
|
|
@@ -154,7 +181,7 @@ export class CoRichTextViewer {
|
|
|
154
181
|
"mutable": false,
|
|
155
182
|
"complexType": {
|
|
156
183
|
"original": "RichTextPreset",
|
|
157
|
-
"resolved": "\"comment\" | \"document\" | \"email\" | \"task\"",
|
|
184
|
+
"resolved": "\"block-email\" | \"comment\" | \"document\" | \"email\" | \"task\"",
|
|
158
185
|
"references": {
|
|
159
186
|
"RichTextPreset": {
|
|
160
187
|
"location": "import",
|
|
@@ -214,6 +241,25 @@ export class CoRichTextViewer {
|
|
|
214
241
|
"reflect": false,
|
|
215
242
|
"attribute": "compact",
|
|
216
243
|
"defaultValue": "false"
|
|
244
|
+
},
|
|
245
|
+
"features": {
|
|
246
|
+
"type": "string",
|
|
247
|
+
"mutable": false,
|
|
248
|
+
"complexType": {
|
|
249
|
+
"original": "string | object",
|
|
250
|
+
"resolved": "object | string | undefined",
|
|
251
|
+
"references": {}
|
|
252
|
+
},
|
|
253
|
+
"required": false,
|
|
254
|
+
"optional": true,
|
|
255
|
+
"docs": {
|
|
256
|
+
"tags": [],
|
|
257
|
+
"text": "Feature overrides (JSON string for HTML attr, or object via JS property) \u2014\nmirror the editor's `features`. They only WIDEN the whitelist: e.g.\n`mentions` keeps the V1 quill markup attrs (`data-id`,\n`data-denotation-char`, \u2026) so the mention chip keeps its style hook in\nread mode. Without it the preset profile strips them."
|
|
258
|
+
},
|
|
259
|
+
"getter": false,
|
|
260
|
+
"setter": false,
|
|
261
|
+
"reflect": false,
|
|
262
|
+
"attribute": "features"
|
|
217
263
|
}
|
|
218
264
|
};
|
|
219
265
|
}
|
|
@@ -232,6 +278,9 @@ export class CoRichTextViewer {
|
|
|
232
278
|
}, {
|
|
233
279
|
"propName": "preset",
|
|
234
280
|
"methodName": "watchInputs"
|
|
281
|
+
}, {
|
|
282
|
+
"propName": "features",
|
|
283
|
+
"methodName": "watchInputs"
|
|
235
284
|
}];
|
|
236
285
|
}
|
|
237
286
|
}
|
|
@@ -13,11 +13,11 @@ export class CoRow {
|
|
|
13
13
|
this.size = 'sm';
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h("div", { key: '
|
|
16
|
+
return (h("div", { key: 'acd6c8b2a2c0331dcad0b0308f407a999e52f049', class: {
|
|
17
17
|
'co-row': true,
|
|
18
18
|
[`co-row--${this.position}`]: true,
|
|
19
19
|
[`co-row--${this.size}`]: true,
|
|
20
|
-
}, part: "row" }, h("div", { key: '
|
|
20
|
+
}, part: "row" }, h("div", { key: '3680dafc73ecf8c394a7dcbbd77fb89d73862c76', class: "co-row__prefix" }, h("slot", { key: '9b6629d967b4a88264481a25cd042c3ab01fa173', name: "prefix" })), h("div", { key: '7796ddafded2b51672f9ff4bcea3432faa855427', class: "co-row__content" }, h("slot", { key: 'fa09c61de348af277be8c5538bc95eb4b30faf07' })), h("div", { key: '1881efe091915d3f45a5ef8035970cebeb27def0', class: "co-row__suffix" }, h("slot", { key: '580c7f8d19a886f5d0efed9c8fdfcbb60daa0630', name: "suffix" }))));
|
|
21
21
|
}
|
|
22
22
|
static get is() { return "co-row"; }
|
|
23
23
|
static get encapsulation() { return "shadow"; }
|
|
@@ -730,7 +730,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
730
730
|
/* Figma Text Field parity (same box as co-input): solid page surface +
|
|
731
731
|
Negro 25% border — tinted glass didn't read as editable on white. */
|
|
732
732
|
background: var(--co-semantic-surface-page);
|
|
733
|
-
border: 1px solid var(--co-
|
|
733
|
+
border: 1px solid var(--co-semantic-border-field);
|
|
734
734
|
border-radius: var(--co-border-radius-xs);
|
|
735
735
|
min-height: 40px;
|
|
736
736
|
box-sizing: border-box;
|
|
@@ -738,6 +738,17 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
738
738
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
+
/* ── Variant: flat (no border/background — reads as content) ──────────
|
|
742
|
+
Border-width/radius are left untouched (only the color goes transparent),
|
|
743
|
+
so padding/box size never shift between default and flat. Placed here
|
|
744
|
+
(before size variants and ahead of open/disabled/status below) so the
|
|
745
|
+
equal-specificity (0,2,0) state selectors win their cascade tie by
|
|
746
|
+
source order and keep showing through on top of flat, same as today. */
|
|
747
|
+
.co-select--flat .co-select__trigger {
|
|
748
|
+
background: transparent;
|
|
749
|
+
border-color: transparent;
|
|
750
|
+
}
|
|
751
|
+
|
|
741
752
|
/* ── Multiple: selected values as removable chips (mirror co-ref-field) ── */
|
|
742
753
|
.co-select__chips {
|
|
743
754
|
flex: 1;
|
|
@@ -16,6 +16,11 @@ export class CoSelect {
|
|
|
16
16
|
this.value = '';
|
|
17
17
|
this.multiple = false;
|
|
18
18
|
this.size = 'md';
|
|
19
|
+
/** Visual style. `flat` strips the trigger's border and background so it
|
|
20
|
+
* reads as plain content instead of a boxed control — padding, label,
|
|
21
|
+
* focus ring, disabled and status states are unaffected. `default` (the
|
|
22
|
+
* standard bordered box) renders identically to before this prop existed. */
|
|
23
|
+
this.variant = 'default';
|
|
19
24
|
/** Show a search box inside the dropdown to filter options client-side. */
|
|
20
25
|
this.searchable = false;
|
|
21
26
|
this.searchPlaceholder = 'Search…';
|
|
@@ -208,19 +213,20 @@ export class CoSelect {
|
|
|
208
213
|
var _a;
|
|
209
214
|
const selected = this.selectedValues;
|
|
210
215
|
const options = this.filteredOptions;
|
|
211
|
-
return (h("div", { key: '
|
|
216
|
+
return (h("div", { key: 'dda1b5f2f72939374a748224137586c8cc67cfcb', class: {
|
|
212
217
|
'co-select': true,
|
|
213
218
|
'co-select--open': this.isOpen,
|
|
214
219
|
'co-select--disabled': this.disabled,
|
|
215
220
|
[`co-select--${this.size}`]: true,
|
|
216
221
|
[`co-select--${this.status}`]: this.status !== 'default',
|
|
217
|
-
|
|
222
|
+
'co-select--flat': this.variant === 'flat',
|
|
223
|
+
} }, (this.label || this.secondaryLabel) && (h("div", { key: '5947cfc99c31904238dd3c86c4da4e42e7d94ba3', class: "co-select__labels" }, this.label && h("label", { key: 'fac1de54916c5b0701c10b3b618c41f8319c3a50', class: "co-select__label" }, this.label, h(RequiredMark, { key: '12f175c2dc67ef19c949fd517e38cd2c32b55084', required: this.required })), this.secondaryLabel && h("span", { key: 'a1a0fa82fc220952e4c8225e13fa8bbb2cbbe310', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '126cb2923ea3a5e3646697fd514050258c82bcaa', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '0b3dd75a9d0bb427bc8e5c8f17fe5c297855a899', slot: "trigger", class: "co-select__trigger", onClick: this.handleTriggerClick }, this.iconLeft && h("co-icon", { key: 'ad2fa6c5a6798314097d8e0715cddff8ce349586', name: this.iconLeft, size: 16, class: "co-select__icon" }), ((_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.image) && (h("img", { key: '36e7407bf782a1adb15cd41432bc4f36d5605094', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
|
|
218
224
|
const opt = this.parsedOptions.find((o) => o.value === v);
|
|
219
225
|
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) => {
|
|
220
226
|
e.stopPropagation();
|
|
221
227
|
this.handleOptionClick(v);
|
|
222
228
|
} }, h("co-icon", { name: "x", size: 12 }))));
|
|
223
|
-
}))) : (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: '
|
|
229
|
+
}))) : (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: '3e97e8239b922280a21cd0fa53d37cbb15f313ba', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'da2171535417fed8e6a3422120c13f4f860354e3', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: 'e262edfb38a2bcd9771082c78af22ae3816a4472', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: 'd557662d3722a7a60e7b499fea0c47a11bb86737', class: "co-select__dropdown" }, this.isOpen && this.searchable && (h("div", { key: '7248c5417c929016e43eba3754ef74cb68e21d76', class: "co-select__search" }, h("co-icon", { key: 'a88c9f7da98cb112d33a7bc6f970f503d7fbfcdc', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: 'ed90bd495b6d92941af5f585d24ad9a4986757d9', class: "co-select__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.searchText, onInput: this.handleSearchInput, ref: (el) => (this.searchInputEl = el) }))), this.isOpen && this.searchable && options.length === 0 && (h("div", { key: '0b9a0a98cb298dd25f2f869f7c6d01ced4c030a8', class: "co-select__empty" }, this.emptyText)), h("div", { key: '4c0aa1f9e0f0f3fcede94decb037217466c80ca5', class: "co-select__options", ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
|
|
224
230
|
const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
|
|
225
231
|
return (h("div", { class: "co-select__virtual-spacer", style: { height: `${totalHeight}px`, position: 'relative' } }, h("div", { style: { position: 'absolute', top: `${offsetY}px`, left: '0', right: '0' } }, options.slice(startIdx, endIdx).map(opt => {
|
|
226
232
|
const isSelected = selected.includes(opt.value);
|
|
@@ -231,7 +237,7 @@ export class CoSelect {
|
|
|
231
237
|
'co-select__option--disabled': isDisabled,
|
|
232
238
|
}, onClick: () => !isDisabled && this.handleOptionClick(opt.value) }, 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 && h("co-icon", { name: "check", size: 16, class: "co-select__option-check" })));
|
|
233
239
|
}))));
|
|
234
|
-
})()))), this.helperText && (h("div", { key: '
|
|
240
|
+
})()))), this.helperText && (h("div", { key: 'b7f14d7e02dd3fe15be6c0f82b13df14edc0db60', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '384f8ecbf6b20da23a7ff6e0b8e1745058e624ef', name: this.statusIcon, size: 14, weight: "fill", class: "co-select__helper-icon" }), h("span", { key: '26d47cad143f8d66819d497d4618893599665aff', class: "co-select__helper-text" }, this.helperText)))));
|
|
235
241
|
}
|
|
236
242
|
static get is() { return "co-select"; }
|
|
237
243
|
static get encapsulation() { return "shadow"; }
|
|
@@ -529,6 +535,26 @@ export class CoSelect {
|
|
|
529
535
|
"attribute": "size",
|
|
530
536
|
"defaultValue": "'md'"
|
|
531
537
|
},
|
|
538
|
+
"variant": {
|
|
539
|
+
"type": "string",
|
|
540
|
+
"mutable": false,
|
|
541
|
+
"complexType": {
|
|
542
|
+
"original": "'default' | 'flat'",
|
|
543
|
+
"resolved": "\"default\" | \"flat\"",
|
|
544
|
+
"references": {}
|
|
545
|
+
},
|
|
546
|
+
"required": false,
|
|
547
|
+
"optional": false,
|
|
548
|
+
"docs": {
|
|
549
|
+
"tags": [],
|
|
550
|
+
"text": "Visual style. `flat` strips the trigger's border and background so it\nreads as plain content instead of a boxed control \u2014 padding, label,\nfocus ring, disabled and status states are unaffected. `default` (the\nstandard bordered box) renders identically to before this prop existed."
|
|
551
|
+
},
|
|
552
|
+
"getter": false,
|
|
553
|
+
"setter": false,
|
|
554
|
+
"reflect": true,
|
|
555
|
+
"attribute": "variant",
|
|
556
|
+
"defaultValue": "'default'"
|
|
557
|
+
},
|
|
532
558
|
"searchable": {
|
|
533
559
|
"type": "boolean",
|
|
534
560
|
"mutable": false,
|
|
@@ -57,7 +57,7 @@ export class CoSeparator {
|
|
|
57
57
|
style['--co-separator-inset-end'] = '0px';
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
return (h("hr", { key: '
|
|
60
|
+
return (h("hr", { key: 'ef9b9d7c11ca50e1042ddb613ee3bbaaf7802972', class: {
|
|
61
61
|
'co-separator': true,
|
|
62
62
|
'co-separator--vertical': this.vertical,
|
|
63
63
|
'co-separator--dark': this.dark,
|
|
@@ -10,10 +10,10 @@ export class CoSidebar {
|
|
|
10
10
|
this.mode = 'full';
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return (h("nav", { key: '
|
|
13
|
+
return (h("nav", { key: '1bc3acd9fa28f05c9665d9fe0ab78b9bf701b56e', class: {
|
|
14
14
|
'co-sidebar': true,
|
|
15
15
|
[`co-sidebar--${this.mode}`]: true,
|
|
16
|
-
}, part: "sidebar" }, h("div", { key: '
|
|
16
|
+
}, part: "sidebar" }, h("div", { key: 'a69b8746d524053a6caac9d8c5c8764f414cb599', class: "co-sidebar__header", part: "header" }, h("slot", { key: '6f4fe0997327537261663c3177c29bd59aba2f3f', name: "header" })), h("div", { key: 'f1c5d4fd6d11c5c872591706ab0c84d238bdf09b', class: "co-sidebar__body", part: "body" }, h("slot", { key: '06b3192da38333283cf1a2c7e2c4922bce2d4b56' })), h("div", { key: 'fb16f4a10d90cbbb82afbad3c531f5e807039cb8', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: '916b98484c92cb8c9e24f7b0e2facbd926bc8f68', name: "footer" }))));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "co-sidebar"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -16,7 +16,7 @@ export class CoSkeleton {
|
|
|
16
16
|
const style = { width: this.width };
|
|
17
17
|
if (this.height)
|
|
18
18
|
style.height = this.height;
|
|
19
|
-
return (h("div", { key: '
|
|
19
|
+
return (h("div", { key: '62e14646999122acf4190e503bc89ba1a75a16a0', class: { 'co-skeleton': true, [`co-skeleton--${this.variant}`]: true }, part: "skeleton", style: style, "aria-hidden": "true" }));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "co-skeleton"; }
|
|
22
22
|
static get encapsulation() { return "shadow"; }
|
|
@@ -72,12 +72,12 @@ export class CoSlider {
|
|
|
72
72
|
}
|
|
73
73
|
render() {
|
|
74
74
|
const pct = this.percentage;
|
|
75
|
-
return (h("div", { key: '
|
|
75
|
+
return (h("div", { key: '1f94a2bea59726bfe63dd0226e6c76aba6e5eed6', class: {
|
|
76
76
|
'co-slider': true,
|
|
77
77
|
'co-slider--disabled': this.disabled,
|
|
78
78
|
'co-slider--dragging': this.dragging,
|
|
79
79
|
[`co-slider--${this.status}`]: this.status !== 'default',
|
|
80
|
-
} }, (this.label || this.secondaryLabel || this.showValue) && (h("div", { key: '
|
|
80
|
+
} }, (this.label || this.secondaryLabel || this.showValue) && (h("div", { key: '53731220f37468ad024ead0b930b7fa542ce3254', class: "co-slider__labels" }, h("div", { key: '39eccf3964f1463a7a84a8420f2963f0b79935ec', class: "co-slider__labels-left" }, this.label && h("label", { key: 'ab63ada93da100e8d613fcd392dad3b9c6fde6d4', class: "co-slider__label" }, this.label), this.secondaryLabel && h("span", { key: 'a821f151830ef03296724a21241342348848006c', class: "co-slider__secondary-label" }, this.secondaryLabel)), this.showValue && h("span", { key: '1c0888c1ccb60544a5d1fb20c3d44a04d73fa3a0', class: "co-slider__value" }, this.value))), h("div", { key: 'a766dc086713341329a560bc332130245160eb02', class: "co-slider__track-wrapper", ref: el => (this.trackEl = el), onPointerDown: this.handlePointerDown }, h("div", { key: 'a6aa57cafbf17efc2079627e822f4a909324fa35', class: "co-slider__track" }, h("div", { key: '07183ce09d776aea1249276d44383162f5634633', class: "co-slider__fill", style: { width: `${pct}%` } })), h("div", { key: 'e139f1cec3ec5060667602ac04bdf7e0e6d9ef6d', class: "co-slider__thumb", style: { left: `${pct}%` } })), this.showMarks && (h("div", { key: '5df827960aa6d8cb48305efd3a090ed8fe981c88', class: "co-slider__marks" }, h("span", { key: '8f3f20a7e2f5d15f1b8a10f548093b374b41eac0', class: "co-slider__mark" }, this.min), h("span", { key: '11196868d93fd21c9ab3e8f672aad51fcd1e2907', class: "co-slider__mark" }, this.max))), h("input", { key: '97bb0aa1e2ec72c5052c2c0018c5ba3d488aa704', class: "co-slider__native", type: "range", min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, onInput: this.handleInputChange, "aria-label": this.label || 'Slider' }), this.helperText && (h("div", { key: 'c5e41ad16c3548703c544dd412f121c1933976db', class: `co-slider__helper co-slider__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'f6d17f21068433ba9fea7fec7f7015fe7a03576d', name: this.statusIcon, size: 14, weight: "fill", class: "co-slider__helper-icon" }), h("span", { key: '8f85afae6cf7b6a1cbec2096a39312b9c691ac55', class: "co-slider__helper-text" }, this.helperText)))));
|
|
81
81
|
}
|
|
82
82
|
static get is() { return "co-slider"; }
|
|
83
83
|
static get encapsulation() { return "shadow"; }
|
|
@@ -29,16 +29,16 @@ export class CoSwitch {
|
|
|
29
29
|
render() {
|
|
30
30
|
const hasLabels = this.label || this.secondaryLabel;
|
|
31
31
|
const hasHelper = !!this.helperText;
|
|
32
|
-
return (h("div", { key: '
|
|
32
|
+
return (h("div", { key: '526145ecd1b1592cc650db93f0628ef07e5e1786', class: {
|
|
33
33
|
'co-switch-wrapper': true,
|
|
34
34
|
'co-switch-wrapper--disabled': this.disabled,
|
|
35
35
|
[`co-switch-wrapper--${this.status}`]: this.status !== 'default',
|
|
36
|
-
} }, h("div", { key: '
|
|
36
|
+
} }, h("div", { key: '4e72f02ad08d6f15f0bbc6a202db9965666dbd45', class: "co-switch-wrapper__row", onClick: this.handleClick }, h("button", { key: '3ce3f2a7f89c4c5017127df470166267f619a739', role: "switch", "aria-checked": String(this.checked), "aria-label": this.label || '', class: {
|
|
37
37
|
'co-switch': true,
|
|
38
38
|
'co-switch--on': this.checked,
|
|
39
39
|
'co-switch--off': !this.checked,
|
|
40
40
|
'co-switch--disabled': this.disabled,
|
|
41
|
-
}, disabled: this.disabled, part: "track" }, h("span", { key: '
|
|
41
|
+
}, disabled: this.disabled, part: "track" }, h("span", { key: 'c8189b585b70b08c269e04505a5edbbb3b3a064c', class: "co-switch__thumb", part: "thumb" })), hasLabels && (h("div", { key: '912328e5167f0db2704267713e988807cda0c318', class: "co-switch-wrapper__labels" }, this.label && h("span", { key: 'd86b976d95ec01fb16529034f75fa0b874e1c4f0', class: "co-switch-wrapper__label", part: "label" }, this.label, h(RequiredMark, { key: '89623a1a38326a443598a7e0598035e6067ef977', required: this.required })), this.secondaryLabel && (h("span", { key: 'df602d9aa8eba9805674cc921447e7621338d551', class: "co-switch-wrapper__secondary-label", part: "secondary-label" }, this.secondaryLabel))))), hasHelper && (h("div", { key: '63198303a7ba9fd9a3b6c306018867802491b535', class: `co-switch-wrapper__helper co-switch-wrapper__helper--${this.status}` }, this.statusIcon && (h("co-icon", { key: '1f2790d86165562add0967856e1812ccce90d703', name: this.statusIcon, size: 14, weight: "fill", class: "co-switch-wrapper__helper-icon" })), h("span", { key: '77ab535dc73ef130d360e4d31c0cc9b510a4b94c', class: "co-switch-wrapper__helper-text" }, this.helperText)))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "co-switch"; }
|
|
44
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -21,13 +21,13 @@ export class CoTab {
|
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
23
|
const iconSize = this.variant === 'underline' ? 16 : this.size === 'large' ? 18 : 14;
|
|
24
|
-
return (h("button", { key: '
|
|
24
|
+
return (h("button", { key: '7899f20cb7d2692331364a61cd2b9ef744f422ba', class: {
|
|
25
25
|
'co-tab': true,
|
|
26
26
|
[`co-tab--${this.size}`]: true,
|
|
27
27
|
[`co-tab--${this.variant}`]: true,
|
|
28
28
|
'co-tab--selected': this.selected,
|
|
29
29
|
'co-tab--disabled': this.disabled,
|
|
30
|
-
}, type: "button", role: "tab", "aria-selected": this.selected ? 'true' : 'false', disabled: this.disabled, part: "tab", onClick: this.handleClick }, this.iconLeft && (h("co-icon", { key: '
|
|
30
|
+
}, type: "button", role: "tab", "aria-selected": this.selected ? 'true' : 'false', disabled: this.disabled, part: "tab", onClick: this.handleClick }, this.iconLeft && (h("co-icon", { key: '535a9993eda5ee22c01bbbbed0bb3b357eac088b', name: this.iconLeft, size: iconSize })), h("span", { key: '46786bee82d9f0935fe23e09bea59aa50791e38c' }, this.label), this.badge && (h("span", { key: 'a9eaa06f970a70b6e55e9cb295709d340db3bdf4', class: "co-tab__badge", part: "badge" }, this.badge)), this.iconRight && (h("co-icon", { key: 'bcf9ba9c5846592d47d81640e0e609cfa8dde5af', name: this.iconRight, size: iconSize }))));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "co-tab"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -17,12 +17,15 @@
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/* ─── Segmented variant ─────────────────────────────────────── */
|
|
20
|
-
/* Gray track + white active pill (Figma segmented control
|
|
21
|
-
track hugs its content; each co-tab styles its
|
|
20
|
+
/* Gray track + white active pill (Figma segmented control, node
|
|
21
|
+
3500:93295). The track hugs its content; each co-tab styles its
|
|
22
|
+
own pill. The subtle bottom border is part of the track itself —
|
|
23
|
+
hosts must not add their own separator under it. */
|
|
22
24
|
.co-tab-group--segmented {
|
|
23
25
|
display: inline-flex;
|
|
24
|
-
gap: 2px;
|
|
25
|
-
padding:
|
|
26
|
+
gap: var(--co-spacing-xxs, 2px);
|
|
27
|
+
padding: var(--co-spacing-sm, 6px);
|
|
26
28
|
background: var(--co-color-gray-100, #f6f6f6);
|
|
29
|
+
border-bottom: 1px solid var(--co-color-opacity-negro-4, rgba(31, 28, 27, 0.04));
|
|
27
30
|
border-radius: var(--co-border-radius-sm, 12px);
|
|
28
31
|
}
|
|
@@ -33,10 +33,10 @@ export class CoTabGroup {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h("div", { key: '
|
|
36
|
+
return (h("div", { key: 'fa78f36e2c58a2dfa33280ecc58a8e22b55a0238', class: {
|
|
37
37
|
'co-tab-group': true,
|
|
38
38
|
[`co-tab-group--${this.variant}`]: true,
|
|
39
|
-
}, role: "tablist", part: "tab-group" }, h("slot", { key: '
|
|
39
|
+
}, role: "tablist", part: "tab-group" }, h("slot", { key: '0c27dbc561fa7aac4cb7697abb3b71187c9c53ff', onSlotchange: this.onSlotChange })));
|
|
40
40
|
}
|
|
41
41
|
static get is() { return "co-tab-group"; }
|
|
42
42
|
static get encapsulation() { return "shadow"; }
|