@prolibu-suite/cobalt-core 0.2.0 → 0.3.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 +15675 -11199
- package/dist/cjs/co-accordion.cjs.entry.js +3 -3
- package/dist/cjs/co-app-shell.cjs.entry.js +4 -4
- package/dist/cjs/co-autocomplete.cjs.entry.js +10 -7
- package/dist/cjs/co-avatar-group.cjs.entry.js +77 -0
- package/dist/cjs/co-avatar.cjs.entry.js +6 -4
- package/dist/cjs/co-badge.cjs.entry.js +2 -2
- package/dist/cjs/co-bottom-sheet.cjs.entry.js +325 -0
- package/dist/cjs/co-button-group.cjs.entry.js +3 -3
- package/dist/cjs/co-button.cjs.entry.js +6 -6
- package/dist/cjs/co-calendar-month.cjs.entry.js +381 -0
- package/dist/cjs/co-calendar_3.cjs.entry.js +11 -11
- package/dist/cjs/co-card.cjs.entry.js +3 -3
- package/dist/cjs/co-checkbox-group.cjs.entry.js +5 -5
- package/dist/cjs/co-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/co-chip.cjs.entry.js +11 -8
- package/dist/cjs/co-color-picker.cjs.entry.js +7 -5
- package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-combobox.cjs.entry.js +7 -7
- package/dist/cjs/co-command-search.cjs.entry.js +151 -12
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
- package/dist/cjs/co-data-table.cjs.entry.js +25 -11
- package/dist/cjs/co-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/co-date-range-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-date-range.cjs.entry.js +2 -2
- package/dist/cjs/co-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/co-event-calendar.cjs.entry.js +318 -0
- package/dist/cjs/co-fab.cjs.entry.js +3 -3
- package/dist/cjs/co-file-field.cjs.entry.js +8 -8
- package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/co-icon-button.cjs.entry.js +5 -5
- package/dist/cjs/co-icon.cjs.entry.js +33 -25
- package/dist/cjs/co-input.cjs.entry.js +6 -6
- package/dist/cjs/co-json-field.cjs.entry.js +10 -6
- package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
- package/dist/cjs/co-list-footer.cjs.entry.js +25 -0
- package/dist/cjs/co-list-item.cjs.entry.js +60 -4
- package/dist/cjs/co-loader_2.cjs.entry.js +293 -0
- package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
- package/dist/cjs/co-menu-item.cjs.entry.js +17 -10
- package/dist/cjs/co-menu.cjs.entry.js +2 -2
- package/dist/cjs/co-modal.cjs.entry.js +16 -4
- package/dist/cjs/co-navbar.cjs.entry.js +3 -3
- package/dist/cjs/co-number-field.cjs.entry.js +18 -6
- package/dist/cjs/co-page-header.cjs.entry.js +2 -2
- package/dist/cjs/co-phone-field.cjs.entry.js +6 -4
- package/dist/cjs/co-popover.cjs.entry.js +45 -14
- package/dist/cjs/co-progress-bar.cjs.entry.js +8 -4
- package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
- package/dist/cjs/co-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/co-radio.cjs.entry.js +4 -4
- package/dist/cjs/co-rating.cjs.entry.js +4 -4
- package/dist/cjs/co-ref-field.cjs.entry.js +36 -13
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +1879 -33
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +995 -71
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +55 -19
- package/dist/cjs/co-row.cjs.entry.js +3 -3
- package/dist/cjs/co-select.cjs.entry.js +8 -8
- package/dist/cjs/co-separator.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +29 -9
- package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
- package/dist/cjs/co-skeleton.cjs.entry.js +26 -0
- package/dist/cjs/co-slider.cjs.entry.js +3 -3
- package/dist/cjs/co-switch.cjs.entry.js +6 -6
- package/dist/cjs/co-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/co-tab.cjs.entry.js +3 -3
- package/dist/cjs/co-tags-field.cjs.entry.js +19 -13
- package/dist/cjs/co-textarea.cjs.entry.js +11 -7
- package/dist/cjs/co-toast.cjs.entry.js +2 -2
- package/dist/cjs/co-toggle-button-group.cjs.entry.js +4 -4
- package/dist/cjs/co-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/co-tooltip.cjs.entry.js +51 -16
- package/dist/cjs/co-transfer-list.cjs.entry.js +3 -3
- package/dist/cjs/co-video.cjs.entry.js +839 -0
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/fieldChip-CDIMz_Y6.js +7 -0
- package/dist/cjs/{index-CaEJnpZe.js → index-5NdsiFjZ.js} +14509 -6317
- package/dist/cjs/{index-DoFnrUVH.js → index-BumlM92r.js} +45 -21
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/overlayAfterClose-BdeXrhVY.js +12 -0
- package/dist/{esm/sanitizer-DcK0GGZC.js → cjs/purify.es-DX41ZWS2.js} +3 -107
- package/dist/cjs/{requiredMark-DA6y-4rp.js → requiredMark-CqMGt1H1.js} +1 -1
- package/dist/cjs/richTextI18n-B7ktXg3M.js +382 -0
- package/dist/cjs/toolbar-config-3PlT-3zm.js +216 -0
- package/dist/cjs/tz-Dgom0W69.js +127 -0
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/p-0a506c9d.entry.js +1 -0
- package/dist/cobalt/p-0bb55163.entry.js +1 -0
- package/dist/cobalt/{p-6404bd21.entry.js → p-0e8c0d87.entry.js} +1 -1
- package/dist/cobalt/p-12e2c2c4.entry.js +1 -0
- package/dist/cobalt/p-136ad468.entry.js +1 -0
- package/dist/cobalt/{p-654bbc2a.entry.js → p-14b59277.entry.js} +1 -1
- package/dist/cobalt/p-1531d3c9.entry.js +1 -0
- package/dist/cobalt/p-1774d211.entry.js +1 -0
- package/dist/cobalt/p-180e1106.entry.js +1 -0
- package/dist/cobalt/p-1a07c23c.entry.js +1 -0
- package/dist/cobalt/p-1dc9c49e.entry.js +1 -0
- package/dist/cobalt/p-1f747e45.entry.js +1 -0
- package/dist/cobalt/p-201eaf35.entry.js +1 -0
- package/dist/cobalt/p-260101ab.entry.js +1 -0
- package/dist/cobalt/p-279bf91c.entry.js +1 -0
- package/dist/cobalt/p-29be61a9.entry.js +1 -0
- package/dist/cobalt/p-2d2ce434.entry.js +1 -0
- package/dist/cobalt/{p-aa63812a.entry.js → p-2f86e1e0.entry.js} +1 -1
- package/dist/cobalt/{p-522fcdb7.entry.js → p-31ab9a46.entry.js} +1 -1
- package/dist/cobalt/{p-fe9e85b6.entry.js → p-37595103.entry.js} +1 -1
- package/dist/cobalt/{p-def448e4.entry.js → p-377c2ccc.entry.js} +1 -1
- package/dist/cobalt/p-3863ea91.entry.js +1 -0
- package/dist/cobalt/p-3a257cb0.entry.js +1 -0
- package/dist/cobalt/p-3e187456.entry.js +1 -0
- package/dist/cobalt/{p-5d01bd4d.entry.js → p-4431faac.entry.js} +1 -1
- package/dist/cobalt/{p-54f26e95.entry.js → p-4504f7b0.entry.js} +1 -1
- package/dist/cobalt/{p-f8728b21.entry.js → p-456fa86f.entry.js} +1 -1
- package/dist/cobalt/{p-3f9b3fcb.entry.js → p-4871690e.entry.js} +1 -1
- package/dist/cobalt/{p-d17e1444.entry.js → p-4c01d984.entry.js} +1 -1
- package/dist/cobalt/p-51a53177.entry.js +1 -0
- package/dist/cobalt/p-52de17da.entry.js +1 -0
- package/dist/cobalt/p-5890e4d1.entry.js +1 -0
- package/dist/cobalt/{p-f2c5cb74.entry.js → p-58a53421.entry.js} +1 -1
- package/dist/cobalt/p-62274eba.entry.js +1 -0
- package/dist/cobalt/p-635b03d5.entry.js +1 -0
- package/dist/cobalt/p-64ddee92.entry.js +1 -0
- package/dist/cobalt/p-65af5017.entry.js +1 -0
- package/dist/cobalt/p-69d4c0c8.entry.js +1 -0
- package/dist/cobalt/p-6c480916.entry.js +1 -0
- package/dist/cobalt/p-6d1217c3.entry.js +1 -0
- package/dist/cobalt/{p-f0e8fa7d.entry.js → p-6e808b3a.entry.js} +1 -1
- package/dist/cobalt/{p-f97ad9ad.entry.js → p-70b14b05.entry.js} +1 -1
- package/dist/cobalt/{p-97c20011.entry.js → p-790d384e.entry.js} +1 -1
- package/dist/cobalt/p-8012e152.entry.js +1 -0
- package/dist/cobalt/p-80b27203.entry.js +1 -0
- package/dist/cobalt/p-867c1465.entry.js +1 -0
- package/dist/cobalt/p-86a143d7.entry.js +1 -0
- package/dist/cobalt/{p-e8b58332.entry.js → p-8d59f5ad.entry.js} +1 -1
- package/dist/cobalt/p-8d7fdb9d.entry.js +1 -0
- package/dist/cobalt/{p-7f818368.entry.js → p-8dc1dab8.entry.js} +1 -1
- package/dist/cobalt/{p-beb9c11d.entry.js → p-8e1dc062.entry.js} +1 -1
- package/dist/cobalt/p-929e647f.entry.js +1 -0
- package/dist/cobalt/p-92bd9b29.entry.js +1 -0
- package/dist/cobalt/p-93046365.entry.js +1 -0
- package/dist/cobalt/p-98ab5f3f.entry.js +1 -0
- package/dist/cobalt/{p-c87285b6.entry.js → p-9a04ca90.entry.js} +1 -1
- package/dist/cobalt/{p-7ef766c6.entry.js → p-9a088515.entry.js} +1 -1
- package/dist/cobalt/p-9abbd436.entry.js +1 -0
- package/dist/cobalt/p-9d69c067.entry.js +1 -0
- package/dist/cobalt/p-B-ckjCUA.js +1 -0
- package/dist/cobalt/p-B2QLgWrz.js +2 -0
- package/dist/cobalt/p-B6JZk8fL.js +1 -0
- package/dist/cobalt/p-BZJ7NCm5.js +1 -0
- package/dist/cobalt/p-CYsftTKf.js +2 -0
- package/dist/cobalt/p-CegCk7FL.js +1 -0
- package/dist/cobalt/p-Ch1jfwZ2.js +1 -0
- package/dist/cobalt/p-ChibIpZv.js +1 -0
- package/dist/cobalt/p-afb7e19e.entry.js +1 -0
- package/dist/cobalt/{p-b758c2e6.entry.js → p-b6f20268.entry.js} +1 -1
- package/dist/cobalt/{p-bb07da22.entry.js → p-ba90e871.entry.js} +1 -1
- package/dist/cobalt/p-c10697e1.entry.js +1 -0
- package/dist/cobalt/p-c4f59532.entry.js +1 -0
- package/dist/cobalt/{p-1e0282b8.entry.js → p-cb235aa7.entry.js} +1 -1
- package/dist/cobalt/p-cfb36943.entry.js +1 -0
- package/dist/cobalt/p-d809bd44.entry.js +1 -0
- package/dist/cobalt/p-e53861e4.entry.js +1 -0
- package/dist/cobalt/p-e54dd404.entry.js +1 -0
- package/dist/cobalt/{p-01fc77c4.entry.js → p-eb18fdbf.entry.js} +1 -1
- package/dist/cobalt/{p-95d14878.entry.js → p-eb73052a.entry.js} +1 -1
- package/dist/cobalt/{p-273afd93.entry.js → p-ef7d4ae3.entry.js} +1 -1
- package/dist/cobalt/p-f4063c41.entry.js +1 -0
- package/dist/cobalt/p-oImf-7fN.js +1 -0
- package/dist/cobalt/{p-CyYF8IJE.js → p-tPYikBRJ.js} +1 -1
- package/dist/collection/collection-manifest.json +10 -3
- package/dist/collection/components/co-accordion/co-accordion.js +2 -2
- package/dist/collection/components/co-app-shell/co-app-shell.css +79 -6
- package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
- package/dist/collection/components/co-autocomplete/co-autocomplete.css +28 -1
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +27 -4
- package/dist/collection/components/co-avatar/co-avatar.css +38 -1
- package/dist/collection/components/co-avatar/co-avatar.js +23 -2
- package/dist/collection/components/co-avatar-group/co-avatar-group.css +86 -0
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +224 -0
- package/dist/collection/components/co-badge/co-badge.js +1 -1
- package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.css +136 -0
- package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +507 -0
- package/dist/collection/components/co-button/co-button.css +40 -7
- package/dist/collection/components/co-button/co-button.js +26 -7
- 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.css +231 -0
- package/dist/collection/components/co-calendar-month/co-calendar-month.js +594 -0
- package/dist/collection/components/co-card/co-card.js +2 -2
- package/dist/collection/components/co-checkbox/co-checkbox.css +7 -1
- package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +7 -1
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +3 -3
- package/dist/collection/components/co-chip/co-chip.css +27 -7
- package/dist/collection/components/co-chip/co-chip.js +52 -10
- package/dist/collection/components/co-color-picker/co-color-picker.css +35 -1
- package/dist/collection/components/co-color-picker/co-color-picker.js +24 -2
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.css +7 -47
- package/dist/collection/components/co-combobox/co-combobox.js +4 -4
- package/dist/collection/components/co-command-search/co-command-search.css +163 -1
- package/dist/collection/components/co-command-search/co-command-search.js +355 -14
- package/dist/collection/components/co-command-search/commandSearchGroup.js +17 -0
- package/dist/collection/components/co-command-search/commandSearchLogic.js +27 -0
- package/dist/collection/components/co-data-table/co-data-table.css +37 -1
- package/dist/collection/components/co-data-table/co-data-table.js +25 -11
- 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 +7 -1
- package/dist/collection/components/co-date-field/co-date-field.js +4 -4
- package/dist/collection/components/co-date-range/co-date-range.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +7 -1
- package/dist/collection/components/co-drawer/co-drawer.css +1 -0
- package/dist/collection/components/co-drawer/co-drawer.js +2 -2
- package/dist/collection/components/co-empty-state/co-empty-state.js +1 -1
- package/dist/collection/components/co-event-calendar/co-event-calendar.css +146 -0
- package/dist/collection/components/co-event-calendar/co-event-calendar.js +620 -0
- package/dist/collection/components/co-fab/co-fab.js +2 -2
- package/dist/collection/components/co-file-field/co-file-field.css +7 -1
- package/dist/collection/components/co-file-field/co-file-field.js +5 -5
- package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
- package/dist/collection/components/co-icon/co-icon.js +7 -37
- package/dist/collection/components/co-icon/iconLoader.js +39 -0
- package/dist/collection/components/co-icon-button/co-icon-button.css +19 -8
- package/dist/collection/components/co-icon-button/co-icon-button.js +23 -4
- package/dist/collection/components/co-input/co-input.css +7 -1
- package/dist/collection/components/co-input/co-input.js +3 -3
- package/dist/collection/components/co-json-field/co-json-field.css +25 -1
- package/dist/collection/components/co-json-field/co-json-field.js +27 -3
- package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
- package/dist/collection/components/co-list-footer/co-list-footer.css +50 -0
- package/dist/collection/components/co-list-footer/co-list-footer.js +149 -0
- package/dist/collection/components/co-list-item/co-list-item.css +7 -0
- package/dist/collection/components/co-list-item/co-list-item.js +65 -2
- package/dist/collection/components/co-loader/co-loader.css +9 -0
- 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-menu-item/co-menu-item.css +18 -0
- package/dist/collection/components/co-menu-item/co-menu-item.js +15 -8
- package/dist/collection/components/co-modal/co-modal.css +42 -2
- package/dist/collection/components/co-modal/co-modal.js +42 -2
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.css +19 -1
- package/dist/collection/components/co-number-field/co-number-field.js +34 -3
- package/dist/collection/components/co-overlay/co-overlay.css +15 -1
- package/dist/collection/components/co-overlay/co-overlay.js +266 -1
- package/dist/collection/components/co-overlay/focusTrap.js +53 -0
- package/dist/collection/components/co-overlay/overlayAfterClose.js +8 -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 +30 -2
- package/dist/collection/components/co-phone-field/co-phone-field.js +23 -1
- package/dist/collection/components/co-popover/co-popover.css +9 -0
- package/dist/collection/components/co-popover/co-popover.js +43 -12
- package/dist/collection/components/co-progress-bar/co-progress-bar.css +22 -0
- package/dist/collection/components/co-progress-bar/co-progress-bar.js +26 -2
- package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
- package/dist/collection/components/co-radio/co-radio.js +3 -3
- package/dist/collection/components/co-radio-group/co-radio-group.js +3 -3
- package/dist/collection/components/co-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.css +64 -6
- package/dist/collection/components/co-ref-field/co-ref-field.js +0 -0
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +1125 -41
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +2008 -53
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +791 -9
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +1071 -71
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +78 -0
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +46 -41
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-select/co-select.css +7 -1
- package/dist/collection/components/co-select/co-select.js +5 -5
- 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 +99 -12
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +28 -8
- package/dist/collection/components/co-skeleton/co-skeleton.css +28 -0
- package/dist/collection/components/co-skeleton/co-skeleton.js +97 -0
- package/dist/collection/components/co-slider/co-slider.js +2 -2
- package/dist/collection/components/co-switch/co-switch.css +9 -1
- 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.js +1 -1
- package/dist/collection/components/co-tags-field/co-tags-field.css +39 -1
- package/dist/collection/components/co-tags-field/co-tags-field.js +36 -10
- package/dist/collection/components/co-textarea/co-textarea.css +26 -1
- package/dist/collection/components/co-textarea/co-textarea.js +28 -4
- package/dist/collection/components/co-toast/co-toast.js +1 -1
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +26 -4
- package/dist/collection/components/co-toggle-button/co-toggle-button.js +3 -3
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +16 -12
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.css +8 -0
- package/dist/collection/components/co-tooltip/co-tooltip.js +69 -14
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +2 -2
- package/dist/collection/components/co-video/co-video.css +497 -0
- package/dist/collection/components/co-video/co-video.js +1772 -0
- package/dist/collection/utils/fieldChip.js +2 -0
- package/dist/collection/utils/icon-config.js +12 -0
- package/dist/collection/utils/richTextI18n.js +378 -0
- package/dist/collection/utils/sheetGesture.js +53 -0
- package/dist/components/co-accordion.js +1 -1
- package/dist/components/co-app-shell.js +1 -1
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-avatar-group.d.ts +11 -0
- package/dist/components/co-avatar-group.js +1 -0
- package/dist/components/co-avatar.js +1 -1
- package/dist/components/co-badge.js +1 -1
- package/dist/components/co-bottom-sheet.d.ts +11 -0
- package/dist/components/co-bottom-sheet.js +1 -0
- package/dist/components/co-button-group.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-calendar-month.d.ts +11 -0
- package/dist/components/co-calendar-month.js +1 -0
- package/dist/components/co-calendar.js +1 -1
- package/dist/components/co-card.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-drawer.js +1 -1
- package/dist/components/co-empty-state.js +1 -1
- package/dist/components/co-event-calendar.d.ts +11 -0
- package/dist/components/co-event-calendar.js +1 -0
- package/dist/components/co-fab.js +1 -1
- package/dist/components/co-file-field.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.d.ts +11 -0
- package/dist/components/co-list-footer.js +1 -0
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-loader.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-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.d.ts +11 -0
- package/dist/components/co-skeleton.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/co-video.js +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-B2QLgWrz.js +2 -0
- package/dist/components/{p-BeWXpX8I.js → p-B7vGYFbO.js} +1 -1
- package/dist/components/p-BB2OaYKF.js +1 -0
- package/dist/components/p-BFeE_fiq.js +1 -0
- package/dist/components/p-BNKz39GA.js +1 -0
- package/dist/components/p-Ba4v1NXo.js +1 -0
- package/dist/components/p-C_ULDaks.js +1 -0
- package/dist/components/p-CegCk7FL.js +1 -0
- package/dist/components/p-ChibIpZv.js +1 -0
- package/dist/components/p-D3Y_ti3Q.js +1 -0
- package/dist/components/{p-DObrQi5F.js → p-DKh8ZK4U.js} +1 -1
- package/dist/components/{p-C9tHLXKS.js → p-DeZxp9vb.js} +1 -1
- package/dist/components/p-DvhR3H61.js +1 -0
- package/dist/components/p-DxCFMMfY.js +1 -0
- package/dist/components/{p-OGpfa9Yd.js → p-DzoNGEDU.js} +1 -1
- package/dist/components/p-EPZfLt5l.js +1 -0
- package/dist/components/p-FMnqPWcM.js +1 -0
- package/dist/components/p-Hzh9U2cM.js +1 -0
- package/dist/components/p-WZ06pT2Y.js +1 -0
- package/dist/components/p-tloAgDin.js +1 -0
- package/dist/esm/co-accordion.entry.js +3 -3
- package/dist/esm/co-app-shell.entry.js +4 -4
- package/dist/esm/co-autocomplete.entry.js +10 -7
- package/dist/esm/co-avatar-group.entry.js +75 -0
- package/dist/esm/co-avatar.entry.js +6 -4
- package/dist/esm/co-badge.entry.js +2 -2
- package/dist/esm/co-bottom-sheet.entry.js +323 -0
- package/dist/esm/co-button-group.entry.js +3 -3
- package/dist/esm/co-button.entry.js +6 -6
- package/dist/esm/co-calendar-month.entry.js +379 -0
- package/dist/esm/co-calendar_3.entry.js +12 -12
- package/dist/esm/co-card.entry.js +3 -3
- package/dist/esm/co-checkbox-group.entry.js +5 -5
- package/dist/esm/co-checkbox.entry.js +5 -5
- package/dist/esm/co-chip.entry.js +11 -8
- package/dist/esm/co-color-picker.entry.js +7 -5
- package/dist/esm/co-column-picker.entry.js +3 -3
- package/dist/esm/co-combobox.entry.js +7 -7
- package/dist/esm/co-command-search.entry.js +151 -12
- package/dist/esm/co-data-table-pagination.entry.js +5 -5
- package/dist/esm/co-data-table.entry.js +25 -11
- package/dist/esm/co-date-picker.entry.js +2 -2
- package/dist/esm/co-date-range-picker.entry.js +4 -4
- package/dist/esm/co-date-range.entry.js +2 -2
- package/dist/esm/co-empty-state.entry.js +2 -2
- package/dist/esm/co-event-calendar.entry.js +316 -0
- package/dist/esm/co-fab.entry.js +3 -3
- package/dist/esm/co-file-field.entry.js +8 -8
- package/dist/esm/co-helper-text.entry.js +3 -3
- package/dist/esm/co-icon-button.entry.js +5 -5
- package/dist/esm/co-icon.entry.js +33 -25
- package/dist/esm/co-input.entry.js +6 -6
- package/dist/esm/co-json-field.entry.js +10 -6
- package/dist/esm/co-lightbox.entry.js +5 -5
- package/dist/esm/co-list-footer.entry.js +23 -0
- package/dist/esm/co-list-item.entry.js +60 -4
- package/dist/esm/co-loader_2.entry.js +290 -0
- package/dist/esm/co-menu-divider.entry.js +2 -2
- package/dist/esm/co-menu-item.entry.js +17 -10
- package/dist/esm/co-menu.entry.js +2 -2
- package/dist/esm/co-modal.entry.js +16 -4
- package/dist/esm/co-navbar.entry.js +3 -3
- package/dist/esm/co-number-field.entry.js +18 -6
- package/dist/esm/co-page-header.entry.js +2 -2
- package/dist/esm/co-phone-field.entry.js +6 -4
- package/dist/esm/co-popover.entry.js +45 -14
- package/dist/esm/co-progress-bar.entry.js +8 -4
- package/dist/esm/co-progress-circle.entry.js +3 -3
- package/dist/esm/co-radio-group.entry.js +4 -4
- package/dist/esm/co-radio.entry.js +4 -4
- package/dist/esm/co-rating.entry.js +4 -4
- package/dist/esm/co-ref-field.entry.js +36 -13
- package/dist/esm/co-rich-text-editor.entry.js +1879 -33
- package/dist/esm/co-rich-text-toolbar.entry.js +995 -71
- package/dist/esm/co-rich-text-viewer.entry.js +55 -19
- package/dist/esm/co-row.entry.js +3 -3
- package/dist/esm/co-select.entry.js +8 -8
- package/dist/esm/co-separator.entry.js +2 -2
- package/dist/esm/co-sidebar-nav.entry.js +29 -9
- package/dist/esm/co-sidebar.entry.js +3 -3
- package/dist/esm/co-skeleton.entry.js +24 -0
- package/dist/esm/co-slider.entry.js +3 -3
- package/dist/esm/co-switch.entry.js +6 -6
- package/dist/esm/co-tab-group.entry.js +2 -2
- package/dist/esm/co-tab.entry.js +3 -3
- package/dist/esm/co-tags-field.entry.js +19 -13
- package/dist/esm/co-textarea.entry.js +11 -7
- package/dist/esm/co-toast.entry.js +2 -2
- package/dist/esm/co-toggle-button-group.entry.js +4 -4
- package/dist/esm/co-toggle-button.entry.js +4 -4
- package/dist/esm/co-tooltip.entry.js +51 -16
- package/dist/esm/co-transfer-list.entry.js +3 -3
- package/dist/esm/co-video.entry.js +837 -0
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/{dates-CyYF8IJE.js → dates-tPYikBRJ.js} +1 -1
- package/dist/esm/fieldChip-GPikjpYw.js +5 -0
- package/dist/esm/{index-BKmfyPZK.js → index-CYsftTKf.js} +45 -21
- package/dist/esm/{index-BjAqSidM.js → index-w_Wxgclf.js} +14508 -6305
- package/dist/esm/loader.js +3 -3
- package/dist/esm/overlayAfterClose-Ch1jfwZ2.js +10 -0
- package/dist/{cjs/sanitizer-CjHZAkOm.js → esm/purify.es-B2QLgWrz.js} +1 -110
- package/dist/esm/{requiredMark-DFvtYtkE.js → requiredMark-CEbXKHcU.js} +1 -1
- package/dist/esm/richTextI18n-B-ckjCUA.js +380 -0
- package/dist/esm/toolbar-config-ChibIpZv.js +212 -0
- package/dist/esm/tz-B6JZk8fL.js +119 -0
- package/dist/types/components/co-autocomplete/co-autocomplete.d.ts +2 -0
- package/dist/types/components/co-avatar/co-avatar.d.ts +2 -0
- package/dist/types/components/co-avatar-group/co-avatar-group.d.ts +33 -0
- package/dist/types/components/co-bottom-sheet/co-bottom-sheet.d.ts +81 -0
- package/dist/types/components/co-button/co-button.d.ts +3 -1
- package/dist/types/components/co-calendar-month/co-calendar-month.d.ts +83 -0
- package/dist/types/components/co-chip/co-chip.d.ts +7 -2
- package/dist/types/components/co-color-picker/co-color-picker.d.ts +2 -0
- package/dist/types/components/co-command-search/co-command-search.d.ts +39 -6
- package/dist/types/components/co-command-search/commandSearchGroup.d.ts +20 -0
- package/dist/types/components/co-command-search/commandSearchLogic.d.ts +17 -0
- package/dist/types/components/co-data-table/co-data-table.d.ts +2 -1
- package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +110 -0
- package/dist/types/components/co-icon/co-icon.d.ts +1 -1
- package/dist/types/components/co-icon/iconLoader.d.ts +6 -0
- package/dist/types/components/co-icon-button/co-icon-button.d.ts +2 -0
- package/dist/types/components/co-json-field/co-json-field.d.ts +3 -0
- package/dist/types/components/co-list-footer/co-list-footer.d.ts +26 -0
- package/dist/types/components/co-list-item/co-list-item.d.ts +11 -0
- package/dist/types/components/co-modal/co-modal.d.ts +6 -0
- package/dist/types/components/co-number-field/co-number-field.d.ts +13 -0
- package/dist/types/components/co-overlay/co-overlay.d.ts +45 -0
- package/dist/types/components/co-overlay/focusTrap.d.ts +20 -0
- package/dist/types/components/co-overlay/overlayAfterClose.d.ts +5 -0
- package/dist/types/components/co-phone-field/co-phone-field.d.ts +2 -0
- package/dist/types/components/co-popover/co-popover.d.ts +9 -0
- package/dist/types/components/co-progress-bar/co-progress-bar.d.ts +2 -0
- package/dist/types/components/co-ref-field/co-ref-field.d.ts +17 -2
- package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +161 -9
- package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +119 -13
- package/dist/types/components/co-rich-text-viewer/co-rich-text-viewer.d.ts +1 -14
- package/dist/types/components/co-skeleton/co-skeleton.d.ts +13 -0
- package/dist/types/components/co-tags-field/co-tags-field.d.ts +2 -0
- package/dist/types/components/co-textarea/co-textarea.d.ts +3 -0
- package/dist/types/components/co-tooltip/co-tooltip.d.ts +12 -0
- package/dist/types/components/co-video/co-video.d.ts +203 -0
- package/dist/types/components.d.ts +1729 -72
- package/dist/types/utils/fieldChip.d.ts +37 -0
- package/dist/types/utils/icon-config.d.ts +11 -0
- package/dist/types/utils/richTextI18n.d.ts +130 -0
- package/dist/types/utils/sheetGesture.d.ts +31 -0
- package/package.json +3 -2
- package/dist/cjs/co-loader.cjs.entry.js +0 -34
- package/dist/cjs/co-overlay.cjs.entry.js +0 -23
- package/dist/cobalt/p-0a6d8061.entry.js +0 -1
- package/dist/cobalt/p-0bf288cd.entry.js +0 -1
- package/dist/cobalt/p-136bdbd2.entry.js +0 -1
- package/dist/cobalt/p-15708d32.entry.js +0 -1
- package/dist/cobalt/p-1578b019.entry.js +0 -1
- package/dist/cobalt/p-23d48581.entry.js +0 -1
- package/dist/cobalt/p-2718ff27.entry.js +0 -1
- package/dist/cobalt/p-2b4d8535.entry.js +0 -1
- package/dist/cobalt/p-3190d715.entry.js +0 -1
- package/dist/cobalt/p-41228dce.entry.js +0 -1
- package/dist/cobalt/p-44672953.entry.js +0 -1
- package/dist/cobalt/p-53ce9023.entry.js +0 -1
- package/dist/cobalt/p-5e7141aa.entry.js +0 -1
- package/dist/cobalt/p-5f905739.entry.js +0 -1
- package/dist/cobalt/p-6678ac0a.entry.js +0 -1
- package/dist/cobalt/p-66a912dd.entry.js +0 -1
- package/dist/cobalt/p-6759ee1c.entry.js +0 -1
- package/dist/cobalt/p-69a40bfd.entry.js +0 -1
- package/dist/cobalt/p-6a6a62cb.entry.js +0 -1
- package/dist/cobalt/p-6d43b6cd.entry.js +0 -1
- package/dist/cobalt/p-759c3dd0.entry.js +0 -1
- package/dist/cobalt/p-782f729f.entry.js +0 -1
- package/dist/cobalt/p-83b89bf8.entry.js +0 -1
- package/dist/cobalt/p-88dc561a.entry.js +0 -1
- package/dist/cobalt/p-8c27aff7.entry.js +0 -1
- package/dist/cobalt/p-996179f7.entry.js +0 -1
- package/dist/cobalt/p-9c533830.entry.js +0 -1
- package/dist/cobalt/p-9d89bf47.entry.js +0 -1
- package/dist/cobalt/p-BKmfyPZK.js +0 -2
- package/dist/cobalt/p-BchB6Hdr.js +0 -1
- package/dist/cobalt/p-DcK0GGZC.js +0 -2
- package/dist/cobalt/p-Qqq8fysz.js +0 -1
- package/dist/cobalt/p-aa17c70b.entry.js +0 -1
- package/dist/cobalt/p-ad4c1b41.entry.js +0 -1
- package/dist/cobalt/p-ae4d3207.entry.js +0 -1
- package/dist/cobalt/p-af64da37.entry.js +0 -1
- package/dist/cobalt/p-c6a242e4.entry.js +0 -1
- package/dist/cobalt/p-cd57e8b4.entry.js +0 -1
- package/dist/cobalt/p-ce3a535f.entry.js +0 -1
- package/dist/cobalt/p-d958566a.entry.js +0 -1
- package/dist/cobalt/p-dd873bf8.entry.js +0 -1
- package/dist/cobalt/p-e4de8865.entry.js +0 -1
- package/dist/cobalt/p-eba0bf7f.entry.js +0 -1
- package/dist/cobalt/p-fad3605d.entry.js +0 -1
- package/dist/cobalt/p-ff2690e5.entry.js +0 -1
- package/dist/components/p-BXdfh__-.js +0 -1
- package/dist/components/p-BchB6Hdr.js +0 -1
- package/dist/components/p-BiW0ubLs.js +0 -1
- package/dist/components/p-CaMgu2_g.js +0 -1
- package/dist/components/p-DBhNS7JD.js +0 -1
- package/dist/components/p-DPi_U-Kl.js +0 -1
- package/dist/components/p-DcK0GGZC.js +0 -2
- package/dist/components/p-MiSJXuBx.js +0 -1
- package/dist/components/p-Sgn-2g8m.js +0 -1
- package/dist/components/p-jDjfGZJp.js +0 -1
- package/dist/components/p-o8hrDIKe.js +0 -1
- package/dist/esm/co-loader.entry.js +0 -32
- package/dist/esm/co-overlay.entry.js +0 -21
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as o,h as e,a as r}from"./p-CYsftTKf.js";import{g as a}from"./p-B-ckjCUA.js";import{C as i,T as c,t as n}from"./p-ChibIpZv.js";const s=class{constructor(e){t(this,e),this.coAction=o(this,"coAction",7),this.coPopoverChange=o(this,"coPopoverChange",7),this.variant="basic",this.disabled=!1,this.locale="en",this.items=[],this.tick=0,this.openPopover=null,this.popoverInput="",this.gridHoverRows=0,this.gridHoverCols=0,this.gridLockedRows=0,this.gridLockedCols=0,this.tableTab="grid",this.tableManualRows=3,this.tableManualCols=3,this.tableWithHeader=!1,this.tableContextItems=[],this.imagePopoverMode="menu",this.colorHexInput="",this.onTransaction=()=>{this.tick++,this.updateTableContext()},this.colorPalette=[],this._tableContextItems=[],this.handleHostMouseDown=t=>{t.composedPath().some((t=>t instanceof HTMLElement&&"INPUT"===t.tagName))||t.preventDefault()},this.handleDocumentClick=t=>{this.openPopover&&(this.el.contains(t.target)||this.closePopover())},this.run=t=>{const o=this.editor;if(!o||this.disabled)return;const e=o.chain().focus();switch(t.action){case"bold":e.toggleBold().run();break;case"italic":e.toggleItalic().run();break;case"underline":e.toggleUnderline().run();break;case"strike":e.toggleStrike().run();break;case"code":e.toggleCode().run();break;case"bulletList":case"bulletListMenu":e.toggleBulletList().run();break;case"orderedList":case"orderedListMenu":e.toggleOrderedList().run();break;case"taskListMenu":e.toggleTaskList().run();break;case"blockquote":e.toggleBlockquote().run();break;case"codeBlock":e.toggleCodeBlock().run();break;case"heading":e.toggleHeading(t.payload).run();break;case"horizontalRule":e.setHorizontalRule().run();break;case"textAlign":e.setTextAlign(t.payload).run();break;case"undo":e.undo().run();break;case"redo":e.redo().run();break;case"addColumnAfter":e.addColumnAfter().run();break;case"addColumnBefore":e.addColumnBefore().run();break;case"deleteColumn":e.deleteColumn().run();break;case"addRowAfter":e.addRowAfter().run();break;case"addRowBefore":e.addRowBefore().run();break;case"deleteRow":e.deleteRow().run();break;case"deleteTable":e.deleteTable().run();break;case"mergeCells":e.mergeCells().run();break;case"splitCell":e.splitCell().run();break;case"toggleHeaderRow":e.toggleHeaderRow().run();break;case"indentIncrease":o.isActive("bulletList")||o.isActive("orderedList")?e.sinkListItem("listItem").run():e.indent().run();break;case"indentDecrease":o.isActive("bulletList")||o.isActive("orderedList")?e.liftListItem("listItem").run():e.outdent().run();break;case"link":case"image":case"youtube":case"iframe":case"callout":case"fontSize":case"fontFamily":case"headingStyle":case"lineSpacing":case"letterSpacing":case"table":case"textColor":case"highlight":return void this.togglePopover(t.action);default:e.run()}this.coAction.emit({action:t.action,payload:t.payload})}}get s(){return a(this.locale)}tItem(t){var o;const e=this.s;return null!==(o={bold:e.bold,italic:e.italic,underline:e.underline,strike:e.strikethrough,code:e.code,headingStyle:e.styles,fontSize:e.fontSize,fontFamily:e.font,bulletList:e.bulletList,orderedList:e.orderedList,bulletListMenu:e.bulletList,orderedListMenu:e.orderedList,taskListMenu:e.taskList,blockquote:e.quote,codeBlock:e.codeBlock,horizontalRule:e.horizontalRule,link:e.link,image:e.image,youtube:e.youtubeVideo,iframe:e.iframeEmbed,table:e.table,textColor:e.textColor,highlight:e.highlight,alignment:e.alignment,lineSpacing:e.lineSpacing,letterSpacing:e.letterSpacing,indentIncrease:e.increaseIndent,indentDecrease:e.decreaseIndent,callout:e.callout,undo:e.undo,redo:e.redo,addColumnAfter:e.addColumnAfter,addColumnBefore:e.addColumnBefore,deleteColumn:e.deleteColumn,addRowAfter:e.addRowAfter,addRowBefore:e.addRowBefore,deleteRow:e.deleteRow,deleteTable:e.deleteTable,mergeCells:e.mergeCells,splitCell:e.splitCell,toggleHeaderRow:e.headerRow}[t.action])&&void 0!==o?o:t.label}tOpt(t){var o,e,r,a,i;const c=this.s;if("separator"===t.action)return`─── ${c.systemFonts} ───`;if("paragraph"===t.action)return c.normalText;if("heading"===t.action){const e=null===(o=t.payload)||void 0===o?void 0:o.level;if(1===e)return c.title;if(2===e)return c.subtitle;if(3===e)return c.heading3}if("bulletStyle"===t.action)return null!==(e={disc:c.disc,circle:c.circle,square:c.square}[t.payload])&&void 0!==e?e:t.label;if("taskStyle"===t.action){if("strike"===t.payload)return c.strikeOnComplete;if("plain"===t.payload)return c.noStrikethrough}if("textAlign"===t.action)return null!==(r={left:c.left,center:c.center,right:c.right,justify:c.justify}[t.payload])&&void 0!==r?r:t.label;if("lineHeight"===t.action){if("1"===t.payload)return c.single;if("2"===t.payload)return c.double}return"letterSpacing"===t.action?null!==(a={normal:c.normal,"-0.05em":c.tight,"0.05em":c.light,"0.1em":c.wide,"0.2em":c.veryWide}[t.payload])&&void 0!==a?a:t.label:"callout"===t.action&&null!==(i={info:c.info,warning:c.warning,success:c.success,error:c.error}[t.payload])&&void 0!==i?i:t.label}connectedCallback(){this.el.addEventListener("mousedown",this.handleHostMouseDown),document.addEventListener("click",this.handleDocumentClick,!0)}componentWillLoad(){this.items=this.resolveItems(this.variant),this.colorPalette=i,this._tableContextItems=c}onVariantChange(t){this.items=this.resolveItems(t)}onEditorChange(t,o){null==o||o.off("transaction",this.onTransaction),null==t||t.on("transaction",this.onTransaction),this.items=this.resolveItems(this.variant),this.tick++}resolveItems(t){const o=n("none"===t?"compact":t),e=this.editor;if(!e)return o;const r=o.filter((t=>{if(this.isSeparator(t))return!0;const o=s.ITEM_COMMAND[t.action];return!o||(t=>{try{return"function"==typeof e.can()[t]}catch(t){return!0}})(o)})),a=[];for(const t of r)(!this.isSeparator(t)||a.length&&!this.isSeparator(a[a.length-1]))&&a.push(t);return a.length&&this.isSeparator(a[a.length-1])&&a.pop(),a}onOpenPopoverChange(t,o){!!t!=!!o&&this.coPopoverChange.emit({open:!!t})}disconnectedCallback(){var t;null===(t=this.editor)||void 0===t||t.off("transaction",this.onTransaction),this.el.removeEventListener("mousedown",this.handleHostMouseDown),document.removeEventListener("click",this.handleDocumentClick,!0)}updateTableContext(){if(!this.editor)return void(this.tableContextItems.length&&(this.tableContextItems=[]));const t=this.editor.isActive("table");t&&!this.tableContextItems.length?this.tableContextItems=this._tableContextItems:!t&&this.tableContextItems.length&&(this.tableContextItems=[])}isSeparator(t){return"separator"===t.type}isActive(t){if(!this.editor)return!1;try{if("textAlign"===t.action)return this.editor.isActive({textAlign:t.payload});if("heading"===t.action)return this.editor.isActive("heading",t.payload);if("bulletListMenu"===t.action)return this.editor.isActive("bulletList");if("orderedListMenu"===t.action)return this.editor.isActive("orderedList");if("taskListMenu"===t.action)return this.editor.isActive("taskList");if("iframe"===t.action)return this.editor.isActive("iframe");if("youtube"===t.action)return this.editor.isActive("youtube");if("toggle"===t.type)return this.editor.isActive(t.action)}catch(t){}return!1}getDynamicIcon(t){return"alignment"===t.action&&this.editor?this.editor.isActive({textAlign:"center"})?"text-align-center":this.editor.isActive({textAlign:"right"})?"text-align-right":this.editor.isActive({textAlign:"justify"})?"text-align-justify":"text-align-left":t.icon}togglePopover(t){var o,e;this.openPopover===t?(this.openPopover=null,this.popoverInput=""):(this.openPopover=t,this.popoverInput="","link"===t&&(null===(o=this.editor)||void 0===o?void 0:o.isActive("link"))?this.popoverInput=this.editor.getAttributes("link").href||"":"iframe"===t&&(null===(e=this.editor)||void 0===e?void 0:e.isActive("iframe"))&&(this.popoverInput=this.editor.getAttributes("iframe").src||""))}closePopover(){this.openPopover=null,this.popoverInput="",this.colorHexInput="",this.imagePopoverMode="menu",this.gridLockedRows=0,this.gridLockedCols=0,this.gridHoverRows=0,this.gridHoverCols=0}submitPopover(t){const o=this.editor;if(!o||!this.popoverInput.trim())return void this.closePopover();const e=this.popoverInput.trim(),r="youtube"===t||"iframe"===t;r&&o.view.focus();const a=r?o.chain():o.chain().focus();switch(t){case"link":a.setLink({href:e}).run();break;case"image":a.setImage({src:e}).run();break;case"youtube":a.setYoutubeVideo({src:e}).run();break;case"iframe":o.isActive("iframe")?a.updateIframe({src:e}).run():a.setIframe({src:e}).run()}this.coAction.emit({action:t,payload:e}),this.closePopover(),r&&this.smoothScrollToInserted()}smoothScrollToInserted(){requestAnimationFrame((()=>{const t=this.editor;if(!t)return;const o=t.view.dom.querySelector(".ProseMirror-selectednode");if(o)return void o.scrollIntoView({behavior:"smooth",block:"center"});const{from:e}=t.state.selection,r=t.state.doc.resolve(e);if(r.nodeBefore)try{const o=t.view.nodeDOM(e-r.nodeBefore.nodeSize);o instanceof HTMLElement&&o.scrollIntoView({behavior:"smooth",block:"center"})}catch(t){}}))}removeLink(){const t=this.editor;t&&(t.chain().focus().unsetLink().run(),this.coAction.emit({action:"link",payload:null}),this.closePopover())}removeIframe(){const t=this.editor;t&&(t.chain().focus().deleteSelection().run(),this.coAction.emit({action:"iframe",payload:null}),this.closePopover())}selectColor(t,o){const e=this.editor;if(!e)return;const r=e.chain().focus();"textColor"===t?r.setColor(o).run():"highlight"===t&&r.setHighlight({color:o}).run(),this.coAction.emit({action:t,payload:o}),this.closePopover()}clearColor(t){const o=this.editor;if(!o)return;const e=o.chain().focus();"textColor"===t?e.unsetColor().run():"highlight"===t&&e.unsetHighlight().run(),this.coAction.emit({action:t,payload:null}),this.closePopover()}canRun(t){if(!this.editor||this.disabled)return!1;const o=this.editor,e=o.can(),r=(t,...o)=>{if("function"!=typeof e[t])return!0;try{return e[t](...o)}catch(t){return!0}};switch(t.action){case"undo":return r("undo");case"redo":return r("redo");case"table":return!o.isActive("table");case"bold":return r("toggleBold");case"italic":return r("toggleItalic");case"underline":return r("toggleUnderline");case"strike":return r("toggleStrike");case"code":return r("toggleCode");case"blockquote":return r("toggleBlockquote");case"codeBlock":return r("toggleCodeBlock");case"horizontalRule":return r("setHorizontalRule");case"bulletList":case"bulletListMenu":return r("toggleBulletList");case"orderedList":case"orderedListMenu":return r("toggleOrderedList");case"taskListMenu":return r("toggleTaskList");default:return!0}}getDropdownLabel(t){if(!this.editor)return null;const o=this.s;if("headingStyle"===t.action)return this.editor.isActive("heading",{level:1})?o.title:this.editor.isActive("heading",{level:2})?o.subtitle:this.editor.isActive("heading",{level:3})?o.headingAbbr3:o.normal;if("fontSize"===t.action){const t=this.editor.getAttributes("textStyle"),o=null==t?void 0:t.fontSize;return o?o.replace("px",""):"16"}if("fontFamily"===t.action){const t=this.editor.getAttributes("textStyle"),o=null==t?void 0:t.fontFamily;if(!o)return"Sans-serif";const e=o.replace(/['"]/g,"").split(",")[0].trim();return e.length>10?e.substring(0,10)+"…":e}return null}getActiveColor(t){var o,e;if(!this.editor)return"textColor"===t?"#000000":"transparent";const r=this.editor.getAttributes("textStyle");if("textColor"===t)return null!==(o=null==r?void 0:r.color)&&void 0!==o?o:"#000000";const a=this.editor.getAttributes("highlight");return null!==(e=null==a?void 0:a.color)&&void 0!==e?e:"transparent"}renderButton(t){var o,r;const a="popover"===t.type||"dropdown"===t.type||"color"===t.type||"grid"===t.type,i=this.openPopover===t.action,c="headingStyle"===t.action||"fontSize"===t.action||"fontFamily"===t.action,n=c?this.getDropdownLabel(t):null;if("alignment"===t.action&&(null===(o=t.options)||void 0===o?void 0:o.length))return this.renderAlignmentGroup(t);if("listpicker"===t.type){const o=this.isActive(t),r=this.tItem(t);return e("div",{class:"co-rich-text-toolbar__split-wrap",key:t.action},e("button",{type:"button",class:{"co-rich-text-toolbar__btn":!0,"co-rich-text-toolbar__split-main":!0,"co-rich-text-toolbar__btn--active":o},"data-tooltip":r,"aria-label":r,"aria-pressed":String(o),disabled:!this.canRun(t),onMouseDown:t=>t.preventDefault(),onClick:()=>this.run(t),part:"button"},e("co-icon",{name:t.icon,size:18})),e("button",{type:"button",class:{"co-rich-text-toolbar__split-caret":!0,"co-rich-text-toolbar__split-caret--open":i},"data-tooltip":`${this.s.stylesPrefix} ${r}`,"aria-label":`${this.s.stylesPrefix} ${r}`,"aria-expanded":String(i),disabled:!this.canRun(t),onMouseDown:t=>t.preventDefault(),onClick:()=>this.togglePopover(t.action)},e("co-icon",{name:"caret-down",size:10})),i&&this.renderListPicker(t))}if("color"===t.type)return this.renderColorButton(t);const s=this.tItem(t);return e("div",{class:"co-rich-text-toolbar__btn-wrap",key:`${t.action}-${JSON.stringify(null!==(r=t.payload)&&void 0!==r?r:"")}`},c?e("button",{type:"button",class:{"co-rich-text-toolbar__select-btn":!0,"co-rich-text-toolbar__select-btn--open":i},"data-tooltip":s,"aria-label":s,"aria-expanded":String(i),disabled:!this.canRun(t),onMouseDown:t=>t.preventDefault(),onClick:()=>this.run(t),part:"button"},e("span",{class:"co-rich-text-toolbar__select-label"},n),e("co-icon",{name:"caret-down",size:10})):e("button",{type:"button",class:{"co-rich-text-toolbar__btn":!0,"co-rich-text-toolbar__btn--active":this.isActive(t)||i},"data-tooltip":s,"aria-label":s,"aria-pressed":"toggle"===t.type?String(this.isActive(t)):void 0,"aria-expanded":a?String(i):void 0,disabled:!this.canRun(t),onMouseDown:t=>t.preventDefault(),onClick:()=>this.run(t),part:"button"},e("co-icon",{name:this.getDynamicIcon(t),size:18})),i&&"popover"===t.type&&this.renderInputPopover(t),i&&"dropdown"===t.type&&this.renderDropdown(t),i&&"grid"===t.type&&this.renderTableGrid())}renderAlignmentGroup(t){const o=this.s,r={left:o.alignLeft,center:o.center,right:o.alignRight,justify:o.justify};return e("div",{class:"co-rich-text-toolbar__align-group",key:t.action},t.options.map((t=>{var o,a,i;const c=null!==(a=null===(o=this.editor)||void 0===o?void 0:o.isActive({textAlign:t.payload}))&&void 0!==a&&a,n=null!==(i=r[t.payload])&&void 0!==i?i:t.label;return e("button",{type:"button",class:{"co-rich-text-toolbar__btn":!0,"co-rich-text-toolbar__btn--active":c},"data-tooltip":n,"aria-label":n,"aria-pressed":String(c),disabled:!this.editor||this.disabled,onMouseDown:t=>t.preventDefault(),onClick:()=>{this.editor&&(this.editor.chain().focus().setTextAlign(t.payload).run(),this.coAction.emit({action:"textAlign",payload:t.payload}))},part:"button"},e("co-icon",{name:t.icon,size:18}))})))}renderColorButton(t){const o=this.openPopover===t.action,r=this.tItem(t),a=this.getActiveColor(t.action),i="textColor"===t.action;return e("div",{class:"co-rich-text-toolbar__btn-wrap",key:t.action},e("button",{type:"button",class:{"co-rich-text-toolbar__btn":!0,"co-rich-text-toolbar__btn--active":o},"data-tooltip":r,"aria-label":r,"aria-expanded":String(o),disabled:!this.canRun(t),onMouseDown:t=>t.preventDefault(),onClick:()=>this.run(t),part:"button"},i?e("span",{class:"co-rich-text-toolbar__color-indicator"},e("span",{class:"co-rich-text-toolbar__color-letter"},"A"),e("span",{class:"co-rich-text-toolbar__color-bar",style:{background:a}})):e("span",{class:"co-rich-text-toolbar__color-indicator"},e("co-icon",{name:t.icon,size:16}),e("span",{class:"co-rich-text-toolbar__color-bar",style:{background:"transparent"===a?"#cccccc":a}}))),o&&this.renderColorPicker(t))}renderListPicker(t){var o,r;if(!(null===(o=t.options)||void 0===o?void 0:o.length))return null;if("taskListMenu"===t.action)return this.renderTaskListPicker(t);const a="orderedListMenu"===t.action,i=this.editor?null===(r=this.editor.getAttributes(a?"orderedList":"bulletList"))||void 0===r?void 0:r.listStyleType:null;return e("div",{class:"co-rich-text-toolbar__listpicker",onMouseDown:t=>{t.preventDefault(),t.stopPropagation()}},t.options.map((t=>e("button",{type:"button",class:{"co-rich-text-toolbar__listpicker-item":!0,"co-rich-text-toolbar__listpicker-item--active":i===t.payload},"data-tooltip":t.label,onMouseDown:t=>t.preventDefault(),onClick:()=>this.applyListStyle(a,t.payload)},e("ol",{class:{"co-rich-text-toolbar__listpicker-preview":!0,"co-rich-text-toolbar__listpicker-preview--ordered":a},style:{"list-style-type":t.payload}},e("li",null),e("li",null),e("li",null))))))}renderTaskListPicker(t){var o,r;const a=this.editor&&this.editor.isActive("taskList")?null!==(r=null===(o=this.editor.getAttributes("taskList"))||void 0===o?void 0:o.variant)&&void 0!==r?r:"strike":null;return e("div",{class:"co-rich-text-toolbar__listpicker co-rich-text-toolbar__listpicker--task",onMouseDown:t=>{t.preventDefault(),t.stopPropagation()}},t.options.map((t=>{const o=t.payload;return e("button",{type:"button",class:{"co-rich-text-toolbar__listpicker-item":!0,"co-rich-text-toolbar__listpicker-item--task":!0,"co-rich-text-toolbar__listpicker-item--active":a===o},"data-tooltip":t.label,onMouseDown:t=>t.preventDefault(),onClick:()=>this.applyTaskStyle(o)},e("span",{class:"co-rich-text-toolbar__taskpreview","data-variant":o},e("span",{class:"co-rich-text-toolbar__taskpreview-row"},e("span",{class:"co-rich-text-toolbar__taskpreview-box"}),e("span",{class:"co-rich-text-toolbar__taskpreview-line"})),e("span",{class:"co-rich-text-toolbar__taskpreview-row co-rich-text-toolbar__taskpreview-row--checked"},e("span",{class:"co-rich-text-toolbar__taskpreview-box co-rich-text-toolbar__taskpreview-box--checked"}),e("span",{class:"co-rich-text-toolbar__taskpreview-line"}))))})))}applyListStyle(t,o){const e=this.editor;if(!e)return;const r=e.chain().focus();t?e.isActive("orderedList")||r.toggleOrderedList():e.isActive("bulletList")||r.toggleBulletList(),r.setListStyleType(o).run(),this.coAction.emit({action:t?"orderedStyle":"bulletStyle",payload:o}),this.closePopover()}applyTaskStyle(t){const o=this.editor;if(!o)return;const e=o.chain().focus();o.isActive("taskList")||e.toggleTaskList(),e.setTaskListVariant(t).run(),this.coAction.emit({action:"taskStyle",payload:t}),this.closePopover()}renderInputPopover(t){var o,r;if("image"===t.action)return this.renderImagePopover();const a="link"===t.action,i="iframe"===t.action,c=a&&(null===(o=this.editor)||void 0===o?void 0:o.isActive("link"))||i&&(null===(r=this.editor)||void 0===r?void 0:r.isActive("iframe"));return e("div",{class:"co-rich-text-toolbar__popover",onMouseDown:t=>{"INPUT"!==t.target.tagName&&t.preventDefault(),t.stopPropagation()}},e("input",{type:"url",class:"co-rich-text-toolbar__popover-input",placeholder:"iframe"===t.action?this.s.iframeUrlPlaceholder:"link"===t.action?"https://...":this.s.youtubeUrlPlaceholder,value:this.popoverInput,onInput:t=>{this.popoverInput=t.target.value},onKeyDown:o=>{"Enter"===o.key&&this.submitPopover(t.action),"Escape"===o.key&&this.closePopover()},ref:t=>t&&setTimeout((()=>t.focus()),0)}),e("div",{class:"co-rich-text-toolbar__popover-actions"},e("button",{type:"button",class:"co-rich-text-toolbar__popover-btn co-rich-text-toolbar__popover-btn--primary",onMouseDown:t=>t.preventDefault(),onClick:()=>this.submitPopover(t.action)},this.s.add),c&&e("button",{type:"button",class:"co-rich-text-toolbar__popover-btn co-rich-text-toolbar__popover-btn--danger",onMouseDown:t=>t.preventDefault(),onClick:()=>a?this.removeLink():this.removeIframe()},this.s.remove),e("button",{type:"button",class:"co-rich-text-toolbar__popover-btn",onMouseDown:t=>t.preventDefault(),onClick:()=>this.closePopover()},this.s.cancel)))}renderImagePopover(){return"url"===this.imagePopoverMode?e("div",{class:"co-rich-text-toolbar__popover",onMouseDown:t=>{"INPUT"!==t.target.tagName&&t.preventDefault(),t.stopPropagation()}},e("input",{type:"url",class:"co-rich-text-toolbar__popover-input",placeholder:this.s.imageUrlPlaceholder,value:this.popoverInput,onInput:t=>{this.popoverInput=t.target.value},onKeyDown:t=>{"Enter"===t.key&&this.submitPopover("image"),"Escape"===t.key&&(this.imagePopoverMode="menu")},ref:t=>t&&setTimeout((()=>t.focus()),0)}),e("div",{class:"co-rich-text-toolbar__popover-actions"},e("button",{type:"button",class:"co-rich-text-toolbar__popover-btn co-rich-text-toolbar__popover-btn--primary",onMouseDown:t=>t.preventDefault(),onClick:()=>this.submitPopover("image")},this.s.add),e("button",{type:"button",class:"co-rich-text-toolbar__popover-btn",onMouseDown:t=>t.preventDefault(),onClick:()=>{this.imagePopoverMode="menu"}},this.s.back))):e("div",{class:"co-rich-text-toolbar__popover",onMouseDown:t=>{t.preventDefault(),t.stopPropagation()}},e("button",{type:"button",class:"co-rich-text-toolbar__popover-option",onMouseDown:t=>t.preventDefault(),onClick:()=>this.triggerImageFileUpload()},e("co-icon",{name:"upload-simple",size:16}),e("span",null,this.s.uploadFromComputer)),e("button",{type:"button",class:"co-rich-text-toolbar__popover-option",onMouseDown:t=>t.preventDefault(),onClick:()=>{this.imagePopoverMode="url"}},e("co-icon",{name:"link",size:16}),e("span",null,this.s.viaUrl)))}triggerImageFileUpload(){const t=document.createElement("input");t.type="file",t.accept="image/*",t.onchange=()=>{var o;const e=null===(o=t.files)||void 0===o?void 0:o[0];if(!e||!this.editor)return;const r=new FileReader;r.onload=()=>{const t=r.result;this.editor.chain().focus().setImage({src:t}).run(),this.imageUpload&&this.imageUpload(e).then((o=>{var e;const r="string"==typeof o?{src:o}:{src:o.src,dataFileId:null!==(e=o.fileId)&&void 0!==e?e:null},{state:a}=this.editor.view;a.doc.descendants(((o,e)=>{if("image"===o.type.name&&o.attrs.src===t){const t=this.editor.view.state.tr.setNodeMarkup(e,void 0,Object.assign(Object.assign({},o.attrs),r));return this.editor.view.dispatch(t),!1}}))})).catch((()=>{})),this.coAction.emit({action:"image",payload:t})},r.readAsDataURL(e),this.closePopover()},t.click()}isDropdownOptionActive(t){var o,e,r;if(!this.editor)return!1;try{if("textAlign"===t.action)return this.editor.isActive({textAlign:t.payload});if("lineHeight"===t.action){const r=this.editor.getAttributes("paragraph");return(null!==(o=null==r?void 0:r.lineHeight)&&void 0!==o?o:null)===(null!==(e=t.payload)&&void 0!==e?e:null)}if("letterSpacing"===t.action){const o=this.editor.getAttributes("textStyle"),e=null!==(r=null==o?void 0:o.letterSpacing)&&void 0!==r?r:null;return"normal"===t.payload?null===e||"normal"===e:e===t.payload}if("heading"===t.action)return this.editor.isActive("heading",t.payload);if("paragraph"===t.action)return!this.editor.isActive("heading")}catch(t){}return!1}applyDropdownCustom(t,o){const e=this.editor,r=o.trim();if(!e||!r)return;const a=e.chain().focus();if("fontSize"===t){const t=parseFloat(r);if(!(t>0))return;a.setFontSize(/^\d+(\.\d+)?$/.test(r)?`${t}px`:r).run()}else"lineSpacing"===t?a.setLineHeight(r).run():"letterSpacing"===t&&("normal"===r?a.unsetLetterSpacing().run():a.setLetterSpacing(r).run());this.closePopover()}renderDropdown(t){var o;if(!(null===(o=t.options)||void 0===o?void 0:o.length))return null;const r="fontFamily"===t.action,a="headingStyle"===t.action,i="lineSpacing"===t.action,c="letterSpacing"===t.action,n="alignment"===t.action||i||c||a,s="fontSize"===t.action?{placeholder:this.s.sizePlaceholder}:i?{placeholder:this.s.lineSpacingPlaceholder}:c?{placeholder:this.s.letterSpacingPlaceholder}:null;return e("div",{class:"co-rich-text-toolbar__dropdown",onMouseDown:t=>{t.preventDefault(),t.stopPropagation()}},s&&e("div",{class:"co-rich-text-toolbar__dropdown-input-wrap"},e("input",{type:"text",class:"co-rich-text-toolbar__dropdown-input",placeholder:s.placeholder,onMouseDown:t=>t.stopPropagation(),onKeyDown:o=>{"Enter"===o.key?(this.applyDropdownCustom(t.action,o.target.value),o.target.value=""):"Escape"===o.key&&this.closePopover()}})),t.options.map((o=>{var i;if("separator"===o.action)return e("div",{class:"co-rich-text-toolbar__dropdown-sep-label"},e("span",null,this.tOpt(o)));const c={},s=n&&this.isDropdownOptionActive(o);if(a&&"heading"===o.action){const t=null===(i=o.payload)||void 0===i?void 0:i.level;c.fontSize=1===t?"20px":2===t?"16px":"14px",c.fontWeight="600"}return r&&o.payload&&(c.fontFamily=o.payload),e("button",{type:"button",class:{"co-rich-text-toolbar__dropdown-item":!0,"co-rich-text-toolbar__dropdown-item--active":s},style:c,onMouseDown:t=>t.preventDefault(),onClick:()=>this.handleDropdownSelect(t,o)},n&&e("span",{class:"co-rich-text-toolbar__dropdown-check"},s?e("co-icon",{name:"check",size:14}):null),o.icon&&e("co-icon",{name:o.icon,size:16}),e("span",null,this.tOpt(o)))})))}handleDropdownSelect(t,o){const e=this.editor;if(!e)return;const r=e.chain().focus();switch(o.action){case"heading":r.toggleHeading(o.payload).run();break;case"paragraph":r.setParagraph().run();break;case"fontSize":r.setFontSize(o.payload).run();break;case"fontFamily":r.setFontFamily(o.payload).run();break;case"textAlign":r.setTextAlign(o.payload).run();break;case"lineHeight":r.setLineHeight(o.payload).run();break;case"letterSpacing":"normal"===o.payload?r.unsetLetterSpacing().run():r.setLetterSpacing(o.payload).run();break;case"callout":r.insertCallout(o.payload).run()}this.coAction.emit({action:o.action,payload:o.payload}),this.closePopover()}renderTableGrid(){return e("div",{class:"co-rich-text-toolbar__table-picker",onMouseDown:t=>{"INPUT"!==t.target.tagName&&t.preventDefault(),t.stopPropagation()}},e("div",{class:"co-rich-text-toolbar__table-header"},e("co-icon",{name:"table",size:16}),e("span",{class:"co-rich-text-toolbar__table-title"},this.s.configureTable),e("button",{type:"button",class:"co-rich-text-toolbar__table-close",onMouseDown:t=>t.preventDefault(),onClick:()=>this.closePopover()},e("co-icon",{name:"x",size:16}))),e("div",{class:"co-rich-text-toolbar__table-tabs"},e("button",{type:"button",class:{"co-rich-text-toolbar__table-tab":!0,"co-rich-text-toolbar__table-tab--active":"grid"===this.tableTab},onMouseDown:t=>t.preventDefault(),onClick:()=>{this.tableTab="grid"}},this.s.grid),e("button",{type:"button",class:{"co-rich-text-toolbar__table-tab":!0,"co-rich-text-toolbar__table-tab--active":"manual"===this.tableTab},onMouseDown:t=>t.preventDefault(),onClick:()=>{this.tableTab="manual"}},this.s.manual)),"grid"===this.tableTab&&this.renderGridTab(),"manual"===this.tableTab&&this.renderManualTab(),e("label",{class:"co-rich-text-toolbar__table-check"},e("input",{type:"checkbox",checked:this.tableWithHeader,onChange:t=>{this.tableWithHeader=t.target.checked}}),e("span",null,this.s.includeHeaderRow)),"manual"===this.tableTab&&e("div",{class:"co-rich-text-toolbar__table-actions"},e("button",{type:"button",class:"co-rich-text-toolbar__table-btn co-rich-text-toolbar__table-btn--secondary",onMouseDown:t=>t.preventDefault(),onClick:()=>this.closePopover()},this.s.cancel),e("button",{type:"button",class:"co-rich-text-toolbar__table-btn co-rich-text-toolbar__table-btn--primary",onMouseDown:t=>t.preventDefault(),onClick:()=>this.insertTable(this.tableManualRows,this.tableManualCols)},this.s.createTable)))}renderGridTab(){const t=[],o=this.gridLockedRows>0,r=o?this.gridLockedRows:this.gridHoverRows,a=o?this.gridLockedCols:this.gridHoverCols;for(let i=1;i<=8;i++)for(let c=1;c<=8;c++)t.push(e("div",{class:{"co-rich-text-toolbar__grid-cell":!0,"co-rich-text-toolbar__grid-cell--active":i<=r&&c<=a},onMouseEnter:()=>{o||(this.gridHoverRows=i,this.gridHoverCols=c)},onMouseDown:t=>t.preventDefault(),onClick:()=>{this.gridLockedRows=i,this.gridLockedCols=c}}));const i=this.s,c=r>0?`${a} × ${r} (${a} ${i.columns.toLowerCase()} × ${r} ${i.rows.toLowerCase()})`:i.selectSize;return e("div",{class:"co-rich-text-toolbar__grid-container",onMouseLeave:()=>{o||(this.gridHoverRows=0,this.gridHoverCols=0)}},e("div",{class:"co-rich-text-toolbar__grid",style:{"grid-template-columns":"repeat(8, 1fr)"}},t),e("div",{class:"co-rich-text-toolbar__grid-footer"},e("span",{class:"co-rich-text-toolbar__grid-label"},c),o&&e("button",{type:"button",class:"co-rich-text-toolbar__grid-reset",onMouseDown:t=>t.preventDefault(),onClick:()=>{this.gridLockedRows=0,this.gridLockedCols=0,this.gridHoverRows=0,this.gridHoverCols=0}},i.changeSelection)),o&&e("div",{class:"co-rich-text-toolbar__table-actions"},e("button",{type:"button",class:"co-rich-text-toolbar__table-btn co-rich-text-toolbar__table-btn--secondary",onMouseDown:t=>t.preventDefault(),onClick:()=>this.closePopover()},i.cancel),e("button",{type:"button",class:"co-rich-text-toolbar__table-btn co-rich-text-toolbar__table-btn--primary",onMouseDown:t=>t.preventDefault(),onClick:()=>this.insertTable(this.gridLockedRows,this.gridLockedCols)},i.createTable)))}renderManualTab(){return e("div",{class:"co-rich-text-toolbar__table-manual"},e("div",{class:"co-rich-text-toolbar__table-field"},e("label",null,this.s.columns,":"),e("input",{type:"number",min:"1",max:"20",value:this.tableManualCols,onInput:t=>{this.tableManualCols=Math.max(1,parseInt(t.target.value)||1)}})),e("div",{class:"co-rich-text-toolbar__table-field"},e("label",null,this.s.rows,":"),e("input",{type:"number",min:"1",max:"50",value:this.tableManualRows,onInput:t=>{this.tableManualRows=Math.max(1,parseInt(t.target.value)||1)}})))}insertTable(t,o){const e=this.editor;if(!e)return;if(e.isActive("table"))return void this.closePopover();const r=this.tableWithHeader,a=t=>({type:"tableHeader",content:[{type:"paragraph",content:[{type:"text",text:`${this.s.tableHeaderLabel} ${t+1}`}]}]}),i=[];r&&i.push({type:"tableRow",content:Array.from({length:o},((t,o)=>a(o)))});const c=r?t-1:t;for(let t=0;t<c;t++)i.push({type:"tableRow",content:Array.from({length:o},(()=>({type:"tableCell",content:[{type:"paragraph"}]})))});e.chain().focus().insertContent({type:"table",content:i}).run(),this.coAction.emit({action:"table",payload:{rows:t,cols:o,withHeaderRow:r}}),this.closePopover()}renderColorPicker(t){return e("div",{class:"co-rich-text-toolbar__color-picker",onMouseDown:t=>{"INPUT"!==t.target.tagName&&t.preventDefault(),t.stopPropagation()}},e("div",{class:"co-rich-text-toolbar__color-grid"},this.colorPalette.map((o=>e("button",{type:"button",class:"co-rich-text-toolbar__color-swatch",style:Object.assign({background:o},"#ffffff"===o?{border:"1px solid #ccc"}:{}),title:o,onMouseDown:t=>t.preventDefault(),onClick:()=>this.selectColor(t.action,o)})))),e("div",{class:"co-rich-text-toolbar__color-hex"},e("input",{type:"text",class:"co-rich-text-toolbar__color-hex-input",placeholder:"#hex",maxLength:7,value:this.colorHexInput,onInput:t=>{this.colorHexInput=t.target.value},onKeyDown:o=>{if("Enter"===o.key){const o=this.colorHexInput.trim();/^#[0-9a-fA-F]{3,6}$/.test(o)&&(this.selectColor(t.action,o),this.colorHexInput="")}else"Escape"===o.key&&this.closePopover()}})),e("button",{type:"button",class:"co-rich-text-toolbar__color-clear",onMouseDown:t=>t.preventDefault(),onClick:()=>this.clearColor(t.action)},e("co-icon",{name:"x",size:12}),e("span",null,this.s.removeColor)))}render(){return"none"===this.variant||0===this.items.length?null:e("div",{class:"co-rich-text-toolbar",role:"toolbar","aria-label":"Formatting",part:"toolbar"},this.items.map((t=>this.isSeparator(t)?e("span",{class:"co-rich-text-toolbar__sep"}):this.renderButton(t))))}get el(){return r(this)}static get watchers(){return{variant:[{onVariantChange:0}],editor:[{onEditorChange:0}],openPopover:[{onOpenPopoverChange:0}]}}};s.ITEM_COMMAND={table:"insertTable",image:"setImage",youtube:"setYoutubeVideo",iframe:"setIframe",callout:"insertCallout",fontFamily:"setFontFamily",fontSize:"setFontSize",highlight:"toggleHighlight",alignment:"setTextAlign",lineSpacing:"setLineHeight",letterSpacing:"setLetterSpacing",taskListMenu:"toggleTaskList",indentIncrease:"indent",indentDecrease:"outdent",codeBlock:"toggleCodeBlock",blockquote:"toggleBlockquote",horizontalRule:"setHorizontalRule",bulletListMenu:"toggleBulletList",orderedListMenu:"toggleOrderedList"},s.style=":host{display:block;font-family:var(--co-font-family-primary);z-index:10;flex-shrink:0;background:var(--co-semantic-surface-secondary, #fff);overflow:visible}.co-rich-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xxs, 2px);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-bottom:1px solid var(--co-semantic-border-subtle);background:var(--co-semantic-surface-secondary)}.co-rich-text-toolbar__btn-wrap,.co-rich-text-toolbar__split-wrap{overflow:visible}[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity 0.15s ease;z-index:9999}[data-tooltip]:hover::after{opacity:1;transition-delay:0.4s}[data-tooltip]:active::after,[data-tooltip][aria-expanded=\"true\"]::after{opacity:0 !important;transition-delay:0s}.co-rich-text-toolbar__btn-wrap{position:relative;display:inline-flex}.co-rich-text-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background 0.12s ease, color 0.12s ease}.co-rich-text-toolbar__btn:hover:not(:disabled):not(.co-rich-text-toolbar__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08));color:var(--co-semantic-text-default, #1a1a1a)}.co-rich-text-toolbar__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__btn--active:hover{background:var(--co-color-base-negro, #333);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__btn:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__btn:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));outline-offset:1px}.co-rich-text-toolbar__select-btn{display:inline-flex;align-items:center;gap:2px;height:30px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;white-space:nowrap;transition:background 0.12s, border-color 0.12s}.co-rich-text-toolbar__select-btn:hover:not(:disabled){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__select-btn--open{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__select-btn:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__select-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.co-rich-text-toolbar__sep{display:inline-block;width:1px;height:20px;margin:0 var(--co-spacing-xs, 4px);background:var(--co-semantic-border-subtle, rgba(0, 0, 0, 0.12))}.co-rich-text-toolbar__popover{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px);min-width:280px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__popover-input{width:100%;padding:6px 10px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:var(--co-border-radius-xxs, 4px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);outline:none;box-sizing:border-box}.co-rich-text-toolbar__popover-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rich-text-toolbar__popover-actions{display:flex;gap:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__popover-btn{padding:4px 12px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:var(--co-border-radius-xxs, 4px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);transition:background 0.12s}.co-rich-text-toolbar__popover-btn:hover:not(.co-rich-text-toolbar__popover-btn--primary){background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__popover-btn--primary{background:var(--co-color-base-negro, #1a1a1a);color:#fff;border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__popover-btn--primary:hover{background:var(--co-color-base-negro, #333);color:#fff}.co-rich-text-toolbar__popover-btn--danger{color:var(--co-color-status-error, #aa2e1b);border-color:var(--co-color-status-error, #aa2e1b)}.co-rich-text-toolbar__popover-option{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);width:100%;padding:8px 10px;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);cursor:pointer;text-align:left;transition:background 0.1s}.co-rich-text-toolbar__popover-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__dropdown{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;min-width:180px;max-height:360px;overflow-y:auto;padding:var(--co-spacing-xs, 4px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__dropdown-item{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);padding:6px 10px;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);cursor:pointer;text-align:left;transition:background 0.12s}.co-rich-text-toolbar__dropdown-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__dropdown-sep{height:1px;margin:4px 0;background:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__dropdown-sep-label{padding:6px 10px 2px;font-family:var(--co-font-family-primary);font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #999);letter-spacing:0.03em;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin-top:2px}.co-rich-text-toolbar__dropdown-input-wrap{padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__dropdown-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:13px;font-family:var(--co-font-family-primary);outline:none;box-sizing:border-box}.co-rich-text-toolbar__dropdown-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rich-text-toolbar__color-picker{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px);padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rich-text-toolbar__color-swatch{width:22px;height:22px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform 0.1s, box-shadow 0.1s}.co-rich-text-toolbar__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__color-clear{display:flex;align-items:center;gap:var(--co-spacing-xs, 4px);padding:4px 8px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;border-radius:var(--co-border-radius-xxs, 4px);margin-top:var(--co-spacing-xxs, 2px)}.co-rich-text-toolbar__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5);color:var(--co-semantic-text-default, #333)}.co-rich-text-toolbar__table-picker{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;width:280px;padding:var(--co-spacing-lg, 16px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__table-header{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-title{flex:1;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);font-weight:600;letter-spacing:0.06em;color:var(--co-semantic-text-secondary, #666)}.co-rich-text-toolbar__table-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-secondary, #666);cursor:pointer}.co-rich-text-toolbar__table-close:hover{background:var(--co-semantic-surface-hover, #f0f0f0)}.co-rich-text-toolbar__table-tabs{display:flex;gap:0;margin-bottom:var(--co-spacing-md, 12px);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);overflow:hidden}.co-rich-text-toolbar__table-tab{flex:1;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-13, 13px);font-weight:500;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);cursor:pointer;transition:background 0.12s, color 0.12s}.co-rich-text-toolbar__table-tab:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__table-tab--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__grid-container{display:flex;flex-direction:column;gap:var(--co-spacing-sm, 8px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__grid{display:grid;gap:3px}.co-rich-text-toolbar__grid-cell{width:24px;height:24px;border:1px solid var(--co-semantic-border-default, #d0d0d0);border-radius:3px;background:transparent;cursor:pointer;transition:background 0.08s, border-color 0.08s}.co-rich-text-toolbar__grid-cell:hover,.co-rich-text-toolbar__grid-cell--active{background:var(--co-color-base-negro, #1a1a1a);border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__grid-footer{display:flex;align-items:center;justify-content:space-between}.co-rich-text-toolbar__grid-label{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #999)}.co-rich-text-toolbar__grid-reset{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-default, #333);text-decoration:underline;border:none;background:transparent;cursor:pointer;padding:0}.co-rich-text-toolbar__table-manual{display:flex;flex-direction:column;gap:var(--co-spacing-md, 12px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-field{display:flex;align-items:center;gap:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-field label{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #333);min-width:70px}.co-rich-text-toolbar__table-field input{flex:1;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);background:var(--co-semantic-surface-secondary, #fff);outline:none}.co-rich-text-toolbar__table-field input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__table-check{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #333);cursor:pointer;margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-check input{width:18px;height:18px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__table-actions{display:flex;gap:var(--co-spacing-sm, 8px);justify-content:flex-end}.co-rich-text-toolbar__table-btn{padding:var(--co-spacing-sm, 8px) var(--co-spacing-lg, 16px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-13, 13px);font-weight:500;border:none;border-radius:var(--co-border-radius-xxs, 4px);cursor:pointer;transition:opacity 0.12s}.co-rich-text-toolbar__table-btn--primary{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__table-btn--primary:hover{opacity:0.85}.co-rich-text-toolbar__table-btn--secondary{background:transparent;color:var(--co-semantic-text-default, #333)}.co-rich-text-toolbar__table-btn--secondary:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__split-wrap{position:relative;display:inline-flex;align-items:center}.co-rich-text-toolbar__split-main{border-top-right-radius:0;border-bottom-right-radius:0;width:28px}.co-rich-text-toolbar__split-caret{display:inline-flex;align-items:center;justify-content:center;width:16px;height:30px;padding:0;border:none;border-radius:var(--co-border-radius-xxs);border-top-left-radius:0;border-bottom-left-radius:0;background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background 0.12s ease}.co-rich-text-toolbar__split-caret:hover:not(:disabled),.co-rich-text-toolbar__split-caret--open{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08))}.co-rich-text-toolbar__split-caret:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__listpicker{position:absolute;top:100%;left:0;z-index:100;display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;padding:16px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.14);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__listpicker-item{display:flex;align-items:center;justify-content:flex-start;width:76px;height:60px;padding:0;border:1px solid var(--co-semantic-border-default, #e3e3e3);border-radius:8px;background:var(--co-semantic-surface-secondary, #fff);cursor:pointer;transition:border-color 0.12s, box-shadow 0.12s, background 0.12s}.co-rich-text-toolbar__listpicker-item:hover{border-color:var(--co-color-base-negro, #1a1a1a);background:var(--co-semantic-surface-hover, #fafafa)}.co-rich-text-toolbar__listpicker-item--active{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 1.5px var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__listpicker-preview{margin:0;padding:0 0 0 22px;list-style-position:outside;pointer-events:none}.co-rich-text-toolbar__listpicker-preview li{height:3px;width:30px;margin:7px 0;background:var(--co-semantic-border-default, #cfcfcf);border-radius:2px}.co-rich-text-toolbar__listpicker-preview li::marker{color:var(--co-color-base-negro, #1a1a1a);font-size:11px;font-weight:600}.co-rich-text-toolbar__listpicker--task{grid-template-columns:repeat(2, 1fr)}.co-rich-text-toolbar__listpicker-item--task{width:92px;justify-content:center}.co-rich-text-toolbar__taskpreview{display:flex;flex-direction:column;gap:9px}.co-rich-text-toolbar__taskpreview-row{display:flex;align-items:center;gap:7px}.co-rich-text-toolbar__taskpreview-box{flex:0 0 auto;width:11px;height:11px;border:1.5px solid var(--co-color-base-negro, #1a1a1a);border-radius:3px;box-sizing:border-box}.co-rich-text-toolbar__taskpreview-box--checked{position:relative;background:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__taskpreview-box--checked::after{content:'';position:absolute;left:3px;top:0.5px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.co-rich-text-toolbar__taskpreview-line{position:relative;width:34px;height:3px;background:var(--co-semantic-border-default, #cfcfcf);border-radius:2px}.co-rich-text-toolbar__taskpreview[data-variant=\"strike\"] .co-rich-text-toolbar__taskpreview-row--checked .co-rich-text-toolbar__taskpreview-line::after{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:1.5px;background:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__dropdown-check{display:inline-flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}.co-rich-text-toolbar__dropdown-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04));font-weight:600}.co-rich-text-toolbar__align-group{display:inline-flex;align-items:center;gap:0}.co-rich-text-toolbar__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rich-text-toolbar__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rich-text-toolbar__color-bar{width:14px;height:3px;border-radius:1px}.co-rich-text-toolbar__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rich-text-toolbar__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none;box-sizing:border-box}.co-rich-text-toolbar__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}";export{s as co_rich_text_toolbar}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as r}from"./p-CYsftTKf.js";const e=({required:e})=>e?r("span",{class:"co-field-required",part:"required"},"*",r("span",{class:"co-field-required__caption"})):null;export{e as R}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const n=/^(\d{4})-(\d{2})-(\d{2})$/,e=n=>String(n).padStart(2,"0");function t(n){return new Date(n.year,n.month-1,n.day)}function r(n){return{year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()}}function o(e){if("string"!=typeof e)return!1;const t=n.exec(e);if(!t)return!1;const r=Number(t[1]),o=Number(t[2]),u=Number(t[3]);if(o<1||o>12||u<1||u>31)return!1;const a=new Date(r,o-1,u);return a.getFullYear()===r&&a.getMonth()===o-1&&a.getDate()===u}function u(e){if(!o(e))return null;const t=n.exec(e);return{year:Number(t[1]),month:Number(t[2]),day:Number(t[3])}}function a(n){return`${String(n.year).padStart(4,"0")}-${e(n.month)}-${e(n.day)}`}function s(){return a(r(new Date))}function c(e,t={}){const r=t.order??"dmy",u=t.twoDigitYearPivot??69,s={status:"invalid",value:null},c=(e??"").trim();if(""===c)return{status:"empty",value:null};if(n.test(c))return o(c)?{status:"valid",value:c}:s;const d=c.split(/[/.\-\s]+/).filter(Boolean).filter((n=>!f.has(l(n))));if(d.length<2||d.length>3)return s;const b=function(n){const e=n||"_base",t=y.get(e);if(t)return t;const r={...m};if(n)for(let e=0;e<12;e++){const t=new Date(2020,e,1);for(const o of["short","long"]){const u=l(new Intl.DateTimeFormat(n,{month:o}).format(t));u&&(r[u]=e+1,u.length>=3&&(r[u.slice(0,3)]=e+1))}}return y.set(e,r),r}(t.locale),M=[];let w,h,g,v=null;if(d.forEach(((n,e)=>{if(/^\d+$/.test(n))M.push({val:Number(n),pos:e});else{const e=b[l(n)];v=e&&null===v?e:-1}})),-1===v)return s;if(null!==v)if(h=v,2===M.length){const[n,e]=M;n.val>31||4===i(d,n.pos)?(g=n.val,w=e.val):e.val>31||4===i(d,e.pos)?(g=e.val,w=n.val):(g="ymd"===r?n.val:e.val,w="ymd"===r?e.val:n.val)}else{if(1!==M.length)return s;w=M[0].val,g=t.defaultYear??(new Date).getFullYear()}else{const n=M.map((n=>n.val));if(2===n.length){const[e,o]=n;"mdy"===r||"ymd"===r?(h=e,w=o):(w=e,h=o),g=t.defaultYear??(new Date).getFullYear()}else{const[e,t,o]=n;"ymd"===r?(g=e,h=t,w=o):"mdy"===r?(h=e,w=t,g=o):(w=e,h=t,g=o)}}g=function(n,e){return n>=100?n:n<=e?2e3+n:1900+n}(g,u);const D=a({year:g,month:h,day:w});return o(D)?{status:"valid",value:D}:s}function i(n,e){return n[e]?.length??0}const f=new Set(["de","del","of","the"]);function l(n){return n.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/\.$/,"").trim()}const m={enero:1,febrero:2,marzo:3,abril:4,mayo:5,junio:6,julio:7,agosto:8,septiembre:9,setiembre:9,octubre:10,noviembre:11,diciembre:12,ene:1,feb:2,mar:3,abr:4,may:5,jun:6,jul:7,ago:8,sep:9,set:9,oct:10,nov:11,dic:12,january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12,jan:1,apr:4,aug:8,dec:12,janeiro:1,fevereiro:2,marco:3,maio:5,junho:6,julho:7,setembro:9,outubro:10,novembro:11,dezembro:12,fev:2,mai:5,out:10,dez:12},y=new Map;function d(n,r="dd/MM/yyyy",o="en-US"){if(!n)return"";const a=u(n);if(!a)return"";const s=t(a);return r.replace(/yyyy|yy|MMMM|MMM|MM|M|dd|d/g,(n=>{switch(n){case"yyyy":return String(a.year).padStart(4,"0");case"yy":return String(a.year).slice(-2);case"MMMM":return new Intl.DateTimeFormat(o,{month:"long"}).format(s);case"MMM":return new Intl.DateTimeFormat(o,{month:"short"}).format(s).replace(/\.$/,"");case"MM":return e(a.month);case"M":return String(a.month);case"dd":return e(a.day);case"d":return String(a.day);default:return n}}))}function b(n,e){return n===e?0:n<e?-1:1}function M(n,e){const o=u(n);if(!o)return n;const s=t(o);return s.setDate(s.getDate()+e),a(r(s))}function w(n,e){const t=u(n);if(!t)return n;const r=t.month-1+e,o=t.year+Math.floor(r/12),s=(r%12+12)%12,c=new Date(o,s+1,0).getDate();return a({year:o,month:s+1,day:Math.min(t.day,c)})}function h(n){const e=u(n);return e?a({year:e.year,month:e.month,day:1}):n}function g(n,e={}){return!(o(n)&&function(n,e,t){return!(e&&b(n,e)<0||t&&b(n,t)>0)}(n,e.min,e.max)&&(!e.disabledDates||!e.disabledDates.includes(n))&&(!e.disabledDaysOfWeek||!e.disabledDaysOfWeek.includes(function(n){const e=u(n);return e?t(e).getDay():-1}(n))))}function v(n,e,t=1,o=6){const u=(new Date(n,e-1,1).getDay()-t+7)%7,s=new Date(n,e-1,1-u),c=[];for(let n=0;n<o;n++){const t=[];for(let o=0;o<7;o++){const u=new Date(s.getFullYear(),s.getMonth(),s.getDate()+(7*n+o));t.push({value:a(r(u)),inMonth:u.getMonth()===e-1})}c.push(t)}return c}function D(n,e=1,t="short"){const r=new Intl.DateTimeFormat(n,{weekday:t}),o=[];for(let n=0;n<7;n++){const t=new Date(2024,0,1+(n+(e-1)+7)%7);o.push(r.format(t))}return o}function j(n,e,t,r="long"){return new Intl.DateTimeFormat(t,{month:r,year:"numeric"}).format(new Date(n,e-1,1))}function p(n,e){const r=u(n);return r?new Intl.DateTimeFormat(e,{weekday:"long",day:"numeric",month:"long",year:"numeric"}).format(t(r)):""}export{s as a,w as b,b as c,M as d,
|
|
1
|
+
const n=/^(\d{4})-(\d{2})-(\d{2})$/,e=n=>String(n).padStart(2,"0");function t(n){return new Date(n.year,n.month-1,n.day)}function r(n){return{year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()}}function o(e){if("string"!=typeof e)return!1;const t=n.exec(e);if(!t)return!1;const r=Number(t[1]),o=Number(t[2]),u=Number(t[3]);if(o<1||o>12||u<1||u>31)return!1;const a=new Date(r,o-1,u);return a.getFullYear()===r&&a.getMonth()===o-1&&a.getDate()===u}function u(e){if(!o(e))return null;const t=n.exec(e);return{year:Number(t[1]),month:Number(t[2]),day:Number(t[3])}}function a(n){return`${String(n.year).padStart(4,"0")}-${e(n.month)}-${e(n.day)}`}function s(){return a(r(new Date))}function c(e,t={}){const r=t.order??"dmy",u=t.twoDigitYearPivot??69,s={status:"invalid",value:null},c=(e??"").trim();if(""===c)return{status:"empty",value:null};if(n.test(c))return o(c)?{status:"valid",value:c}:s;const d=c.split(/[/.\-\s]+/).filter(Boolean).filter((n=>!f.has(l(n))));if(d.length<2||d.length>3)return s;const b=function(n){const e=n||"_base",t=y.get(e);if(t)return t;const r={...m};if(n)for(let e=0;e<12;e++){const t=new Date(2020,e,1);for(const o of["short","long"]){const u=l(new Intl.DateTimeFormat(n,{month:o}).format(t));u&&(r[u]=e+1,u.length>=3&&(r[u.slice(0,3)]=e+1))}}return y.set(e,r),r}(t.locale),M=[];let w,h,g,v=null;if(d.forEach(((n,e)=>{if(/^\d+$/.test(n))M.push({val:Number(n),pos:e});else{const e=b[l(n)];v=e&&null===v?e:-1}})),-1===v)return s;if(null!==v)if(h=v,2===M.length){const[n,e]=M;n.val>31||4===i(d,n.pos)?(g=n.val,w=e.val):e.val>31||4===i(d,e.pos)?(g=e.val,w=n.val):(g="ymd"===r?n.val:e.val,w="ymd"===r?e.val:n.val)}else{if(1!==M.length)return s;w=M[0].val,g=t.defaultYear??(new Date).getFullYear()}else{const n=M.map((n=>n.val));if(2===n.length){const[e,o]=n;"mdy"===r||"ymd"===r?(h=e,w=o):(w=e,h=o),g=t.defaultYear??(new Date).getFullYear()}else{const[e,t,o]=n;"ymd"===r?(g=e,h=t,w=o):"mdy"===r?(h=e,w=t,g=o):(w=e,h=t,g=o)}}g=function(n,e){return n>=100?n:n<=e?2e3+n:1900+n}(g,u);const D=a({year:g,month:h,day:w});return o(D)?{status:"valid",value:D}:s}function i(n,e){return n[e]?.length??0}const f=new Set(["de","del","of","the"]);function l(n){return n.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/\.$/,"").trim()}const m={enero:1,febrero:2,marzo:3,abril:4,mayo:5,junio:6,julio:7,agosto:8,septiembre:9,setiembre:9,octubre:10,noviembre:11,diciembre:12,ene:1,feb:2,mar:3,abr:4,may:5,jun:6,jul:7,ago:8,sep:9,set:9,oct:10,nov:11,dic:12,january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12,jan:1,apr:4,aug:8,dec:12,janeiro:1,fevereiro:2,marco:3,maio:5,junho:6,julho:7,setembro:9,outubro:10,novembro:11,dezembro:12,fev:2,mai:5,out:10,dez:12},y=new Map;function d(n,r="dd/MM/yyyy",o="en-US"){if(!n)return"";const a=u(n);if(!a)return"";const s=t(a);return r.replace(/yyyy|yy|MMMM|MMM|MM|M|dd|d/g,(n=>{switch(n){case"yyyy":return String(a.year).padStart(4,"0");case"yy":return String(a.year).slice(-2);case"MMMM":return new Intl.DateTimeFormat(o,{month:"long"}).format(s);case"MMM":return new Intl.DateTimeFormat(o,{month:"short"}).format(s).replace(/\.$/,"");case"MM":return e(a.month);case"M":return String(a.month);case"dd":return e(a.day);case"d":return String(a.day);default:return n}}))}function b(n,e){return n===e?0:n<e?-1:1}function M(n,e){const o=u(n);if(!o)return n;const s=t(o);return s.setDate(s.getDate()+e),a(r(s))}function w(n,e){const t=u(n);if(!t)return n;const r=t.month-1+e,o=t.year+Math.floor(r/12),s=(r%12+12)%12,c=new Date(o,s+1,0).getDate();return a({year:o,month:s+1,day:Math.min(t.day,c)})}function h(n){const e=u(n);return e?a({year:e.year,month:e.month,day:1}):n}function g(n,e={}){return!(o(n)&&function(n,e,t){return!(e&&b(n,e)<0||t&&b(n,t)>0)}(n,e.min,e.max)&&(!e.disabledDates||!e.disabledDates.includes(n))&&(!e.disabledDaysOfWeek||!e.disabledDaysOfWeek.includes(function(n){const e=u(n);return e?t(e).getDay():-1}(n))))}function v(n,e,t=1,o=6){const u=(new Date(n,e-1,1).getDay()-t+7)%7,s=new Date(n,e-1,1-u),c=[];for(let n=0;n<o;n++){const t=[];for(let o=0;o<7;o++){const u=new Date(s.getFullYear(),s.getMonth(),s.getDate()+(7*n+o));t.push({value:a(r(u)),inMonth:u.getMonth()===e-1})}c.push(t)}return c}function D(n,e=1,t="short"){const r=new Intl.DateTimeFormat(n,{weekday:t}),o=[];for(let n=0;n<7;n++){const t=new Date(2024,0,1+(n+(e-1)+7)%7);o.push(r.format(t))}return o}function j(n,e,t,r="long"){return new Intl.DateTimeFormat(t,{month:r,year:"numeric"}).format(new Date(n,e-1,1))}function p(n,e){const r=u(n);return r?new Intl.DateTimeFormat(e,{weekday:"long",day:"numeric",month:"long",year:"numeric"}).format(t(r)):""}export{s as a,w as b,b as c,M as d,j as e,d as f,v as g,g as h,o as i,D as j,p as k,c as l,u as p,h as s,t}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": [
|
|
3
3
|
"components/co-autocomplete/co-autocomplete.js",
|
|
4
|
+
"components/co-avatar-group/co-avatar-group.js",
|
|
4
5
|
"components/co-checkbox-group/co-checkbox-group.js",
|
|
5
6
|
"components/co-combobox/co-combobox.js",
|
|
6
|
-
"components/co-command-search/co-command-search.js",
|
|
7
7
|
"components/co-data-table/co-data-table.js",
|
|
8
8
|
"components/co-date-range-picker/co-date-range-picker.js",
|
|
9
|
-
"components/co-icon/co-icon.js",
|
|
10
9
|
"components/co-popover/co-popover.js",
|
|
11
10
|
"components/co-radio-group/co-radio-group.js",
|
|
12
11
|
"components/co-ref-field/co-ref-field.js",
|
|
@@ -18,27 +17,33 @@
|
|
|
18
17
|
"components/co-app-shell/co-app-shell.js",
|
|
19
18
|
"components/co-avatar/co-avatar.js",
|
|
20
19
|
"components/co-badge/co-badge.js",
|
|
20
|
+
"components/co-bottom-sheet/co-bottom-sheet.js",
|
|
21
21
|
"components/co-button/co-button.js",
|
|
22
22
|
"components/co-button-group/co-button-group.js",
|
|
23
23
|
"components/co-calendar/co-calendar.js",
|
|
24
|
+
"components/co-calendar-month/co-calendar-month.js",
|
|
24
25
|
"components/co-card/co-card.js",
|
|
25
26
|
"components/co-checkbox/co-checkbox.js",
|
|
26
27
|
"components/co-chip/co-chip.js",
|
|
27
28
|
"components/co-color-picker/co-color-picker.js",
|
|
28
29
|
"components/co-column-picker/co-column-picker.js",
|
|
30
|
+
"components/co-command-search/co-command-search.js",
|
|
29
31
|
"components/co-data-table-pagination/co-data-table-pagination.js",
|
|
30
32
|
"components/co-date-field/co-date-field.js",
|
|
31
33
|
"components/co-date-picker/co-date-picker.js",
|
|
32
34
|
"components/co-date-range/co-date-range.js",
|
|
33
35
|
"components/co-drawer/co-drawer.js",
|
|
34
36
|
"components/co-empty-state/co-empty-state.js",
|
|
37
|
+
"components/co-event-calendar/co-event-calendar.js",
|
|
35
38
|
"components/co-fab/co-fab.js",
|
|
36
39
|
"components/co-file-field/co-file-field.js",
|
|
37
40
|
"components/co-helper-text/co-helper-text.js",
|
|
41
|
+
"components/co-icon/co-icon.js",
|
|
38
42
|
"components/co-icon-button/co-icon-button.js",
|
|
39
43
|
"components/co-input/co-input.js",
|
|
40
44
|
"components/co-json-field/co-json-field.js",
|
|
41
45
|
"components/co-lightbox/co-lightbox.js",
|
|
46
|
+
"components/co-list-footer/co-list-footer.js",
|
|
42
47
|
"components/co-list-item/co-list-item.js",
|
|
43
48
|
"components/co-loader/co-loader.js",
|
|
44
49
|
"components/co-menu/co-menu.js",
|
|
@@ -60,6 +65,7 @@
|
|
|
60
65
|
"components/co-row/co-row.js",
|
|
61
66
|
"components/co-separator/co-separator.js",
|
|
62
67
|
"components/co-sidebar/co-sidebar.js",
|
|
68
|
+
"components/co-skeleton/co-skeleton.js",
|
|
63
69
|
"components/co-slider/co-slider.js",
|
|
64
70
|
"components/co-switch/co-switch.js",
|
|
65
71
|
"components/co-tab/co-tab.js",
|
|
@@ -68,7 +74,8 @@
|
|
|
68
74
|
"components/co-textarea/co-textarea.js",
|
|
69
75
|
"components/co-toggle-button/co-toggle-button.js",
|
|
70
76
|
"components/co-toggle-button-group/co-toggle-button-group.js",
|
|
71
|
-
"components/co-tooltip/co-tooltip.js"
|
|
77
|
+
"components/co-tooltip/co-tooltip.js",
|
|
78
|
+
"components/co-video/co-video.js"
|
|
72
79
|
],
|
|
73
80
|
"mixins": [],
|
|
74
81
|
"compiler": {
|
|
@@ -35,11 +35,11 @@ export class CoAccordion {
|
|
|
35
35
|
return !!(this.subheading && this.subheading.trim()) || this.hasSubheadingSlot;
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h("div", { key: '
|
|
38
|
+
return (h("div", { key: '6ef26b2e6312391fcfc164f43dac68d63ba3af2d', class: {
|
|
39
39
|
'co-accordion': true,
|
|
40
40
|
'co-accordion--open': this.open,
|
|
41
41
|
'co-accordion--disabled': this.disabled,
|
|
42
|
-
}, part: "accordion" }, h("button", { key: '
|
|
42
|
+
}, part: "accordion" }, h("button", { key: '0f094a6a90dacfd1a59de4f002dc6e1d2bde80c6', class: "co-accordion__header", type: "button", "aria-expanded": this.open ? 'true' : 'false', disabled: this.disabled, onClick: this.handleToggle, part: "header" }, h("span", { key: '406b3b06d8fa48df809652838f466bf8dae1b1d0', class: "co-accordion__heading-group" }, h("span", { key: '72d56aadb1f7b6cfe110121a5f3ce7690b7580a9', class: "co-accordion__heading", part: "heading" }, h("slot", { key: '25d921d62d196bd7bb20ed5a9a3cac3b96bb77fd', name: "header" }, this.heading)), this.showSubheading && (h("span", { key: '0b35302e165d304c61feaf616252f4be829b5b97', class: "co-accordion__subheading", part: "subheading" }, h("slot", { key: 'dfc194ec90f524edb9e65b150c3f920721126bfa', name: "subheading" }, this.subheading)))), h("span", { key: '6fb170bf34fb0be5ab9abb3c8c61f80076b02e4b', class: "co-accordion__caret", part: "caret" }, h("co-icon", { key: '0929dae22a07eec32c8919844fe3c29292e65cdb', name: "caret-up", size: 20 }))), h("div", { key: '783e6bc3ba9090dad9d972a88830fc059f442432', class: "co-accordion__body", part: "body" }, h("div", { key: '165c8cf24049cbec512542130f2e2b61b2c9e194', class: "co-accordion__body-inner", part: "body-inner" }, h("slot", { key: '0a50328db4f4b9ab900912c34a250f4c9b136f8f' })))));
|
|
43
43
|
}
|
|
44
44
|
static get is() { return "co-accordion"; }
|
|
45
45
|
static get encapsulation() { return "shadow"; }
|
|
@@ -26,10 +26,18 @@
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
:host([sidebar-mode="min"]) .sidebar {
|
|
29
|
-
width
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
/* Collapsed rail = a FIXED-width "lane". Width = 2 × the expanded icon-center
|
|
30
|
+
X (32px) so the centered collapsed icon lands at the SAME X as the expanded
|
|
31
|
+
icon → no horizontal jump when toggling. */
|
|
32
|
+
--co-sidebar-min-width: 64px;
|
|
33
|
+
width: var(--co-sidebar-min-width);
|
|
34
|
+
/* Left-anchor the lane (don't center it in the animating panel): the panel
|
|
35
|
+
animates its width 256→64, but the lane stays put at the left edge, so its
|
|
36
|
+
centered content does NOT slide while the panel narrows. */
|
|
37
|
+
align-items: flex-start;
|
|
38
|
+
/* No horizontal padding — the lane spans the full rail and centers its own
|
|
39
|
+
content. */
|
|
40
|
+
padding: var(--co-spacing-sm) 0;
|
|
33
41
|
}
|
|
34
42
|
|
|
35
43
|
.sidebar__header {
|
|
@@ -86,7 +94,11 @@
|
|
|
86
94
|
display: flex;
|
|
87
95
|
flex-direction: column;
|
|
88
96
|
align-items: center;
|
|
89
|
-
width
|
|
97
|
+
/* Fixed-width lane (= the collapsed rail width), inherited from .sidebar. The
|
|
98
|
+
panel animates 256→64, but this lane holds 64px and stays left-anchored, so
|
|
99
|
+
its centered content (icons, toggle, search) keeps the SAME X throughout the
|
|
100
|
+
animation — no slide, and it ends centered in the rail. */
|
|
101
|
+
width: var(--co-sidebar-min-width, 64px);
|
|
90
102
|
}
|
|
91
103
|
|
|
92
104
|
:host([sidebar-mode="min"]) .sidebar__header {
|
|
@@ -94,6 +106,19 @@
|
|
|
94
106
|
padding-bottom: var(--co-spacing-md);
|
|
95
107
|
}
|
|
96
108
|
|
|
109
|
+
/* Min mode: the body is the scroll container, and a custom ::-webkit-scrollbar
|
|
110
|
+
reserves a right-only gutter that pulls the centered icon column left of the
|
|
111
|
+
(non-scrolling) header above. Drop the reserved gutter in min mode so the
|
|
112
|
+
column stays centered — the rail still scrolls via wheel/trackpad. (Full mode
|
|
113
|
+
keeps its visible thin scrollbar.) */
|
|
114
|
+
:host([sidebar-mode="min"]) .sidebar__body {
|
|
115
|
+
scrollbar-width: none;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:host([sidebar-mode="min"]) .sidebar__body::-webkit-scrollbar {
|
|
119
|
+
width: 0;
|
|
120
|
+
}
|
|
121
|
+
|
|
97
122
|
/* ─── Main area ─────────────────────────────────────────────── */
|
|
98
123
|
.main {
|
|
99
124
|
display: flex;
|
|
@@ -103,8 +128,56 @@
|
|
|
103
128
|
padding: 0;
|
|
104
129
|
margin: var(--co-spacing-sm);
|
|
105
130
|
margin-left: 0;
|
|
106
|
-
|
|
131
|
+
min-height: 0;
|
|
132
|
+
/* Elevation: a layered soft drop-shadow that follows the squircle silhouette
|
|
133
|
+
of the inner card (drop-shadow respects the child mask; a box-shadow here
|
|
134
|
+
would be rectangular and the inner mask would clip it away). */
|
|
135
|
+
filter:
|
|
136
|
+
drop-shadow(0 1px 2px rgba(31, 28, 27, 0.06))
|
|
137
|
+
drop-shadow(0 10px 28px rgba(31, 28, 27, 0.12));
|
|
138
|
+
/* Squircle geometry — shared with .main__card via inheritance. Fixed-radius
|
|
139
|
+
corner-mask (4 corner pieces + 2 bars) so the radius stays constant at any
|
|
140
|
+
shell size and the corners are smooth. Radius knob: --co-border-radius-md. */
|
|
141
|
+
--co-shell-r: var(--co-border-radius-md);
|
|
142
|
+
--co-sq-tl: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 0L95 0L92.5 0L90 0L87.5 0.01L85 0.01L82.5 0.02L80 0.04L77.5 0.06L75 0.1L72.5 0.14L70 0.2L67.5 0.28L65 0.38L62.5 0.5L60 0.65L57.5 0.83L55 1.04L52.5 1.3L50 1.6L47.5 1.96L45 2.37L42.5 2.85L40 3.41L37.5 4.05L35 4.8L32.5 5.65L30 6.63L27.5 7.77L25 9.07L22.5 10.58L20 12.34L17.5 14.41L15 16.85L12.5 19.79L10 23.42L7.5 28.06L5 34.37L2.5 44.29L0 100L100 100Z%27 fill=%27%23fff%27/></svg>");
|
|
143
|
+
--co-sq-tr: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 0L5 0L7.5 0L10 0L12.5 0.01L15 0.01L17.5 0.02L20 0.04L22.5 0.06L25 0.1L27.5 0.14L30 0.2L32.5 0.28L35 0.38L37.5 0.5L40 0.65L42.5 0.83L45 1.04L47.5 1.3L50 1.6L52.5 1.96L55 2.37L57.5 2.85L60 3.41L62.5 4.05L65 4.8L67.5 5.65L70 6.63L72.5 7.77L75 9.07L77.5 10.58L80 12.34L82.5 14.41L85 16.85L87.5 19.79L90 23.42L92.5 28.06L95 34.37L97.5 44.29L100 100L0 100Z%27 fill=%27%23fff%27/></svg>");
|
|
144
|
+
--co-sq-bl: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 55.71L5 65.63L7.5 71.94L10 76.58L12.5 80.21L15 83.15L17.5 85.59L20 87.66L22.5 89.42L25 90.93L27.5 92.23L30 93.37L32.5 94.35L35 95.2L37.5 95.95L40 96.59L42.5 97.15L45 97.63L47.5 98.04L50 98.4L52.5 98.7L55 98.96L57.5 99.17L60 99.35L62.5 99.5L65 99.62L67.5 99.72L70 99.8L72.5 99.86L75 99.9L77.5 99.94L80 99.96L82.5 99.98L85 99.99L87.5 99.99L90 100L92.5 100L95 100L97.5 100L100 100L100 0Z%27 fill=%27%23fff%27/></svg>");
|
|
145
|
+
--co-sq-br: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 55.71L95 65.63L92.5 71.94L90 76.58L87.5 80.21L85 83.15L82.5 85.59L80 87.66L77.5 89.42L75 90.93L72.5 92.23L70 93.37L67.5 94.35L65 95.2L62.5 95.95L60 96.59L57.5 97.15L55 97.63L52.5 98.04L50 98.4L47.5 98.7L45 98.96L42.5 99.17L40 99.35L37.5 99.5L35 99.62L32.5 99.72L30 99.8L27.5 99.86L25 99.9L22.5 99.94L20 99.96L17.5 99.98L15 99.99L12.5 99.99L10 100L7.5 100L5 100L2.5 100L0 100L0 0Z%27 fill=%27%23fff%27/></svg>");
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* The visible card: smooth (squircle) corners + a subtle glass hairline rim.
|
|
149
|
+
The mask lives here (not on .main) so .main's drop-shadow isn't clipped. */
|
|
150
|
+
.main__card {
|
|
151
|
+
flex: 1;
|
|
152
|
+
min-height: 0;
|
|
153
|
+
display: flex;
|
|
154
|
+
flex-direction: column;
|
|
107
155
|
overflow: hidden;
|
|
156
|
+
border-radius: 0; /* the mask defines the (smooth) shape */
|
|
157
|
+
/* (No glass top-rim: the 1px white highlight read as a distracting line on the
|
|
158
|
+
dark navbar. The card edge is defined by .main's drop-shadow instead.) */
|
|
159
|
+
/* Squircle via 4 corner pieces + a cross of 2 bars (H full-width, V full-height).
|
|
160
|
+
The bars are sized `calc(... + 2px)` so they OVERLAP each corner by ~1px on
|
|
161
|
+
every side: otherwise the bar↔corner edges abut exactly at x=r / y=r and the
|
|
162
|
+
fractional-pixel rounding (per device-pixel-ratio) leaves a <1px transparent
|
|
163
|
+
SEAM there. Because the navbar slotted on top is semi-transparent, that seam
|
|
164
|
+
read as a faint line that flickered in/out with browser zoom. The overlap
|
|
165
|
+
lands in the corners' already-opaque area, so the rounded shape is unchanged
|
|
166
|
+
(at most a sub-px nub at the very corner tip). */
|
|
167
|
+
-webkit-mask:
|
|
168
|
+
var(--co-sq-tl) top left / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
169
|
+
var(--co-sq-tr) top right / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
170
|
+
var(--co-sq-bl) bottom left / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
171
|
+
var(--co-sq-br) bottom right / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
172
|
+
linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-shell-r) + 2px) no-repeat,
|
|
173
|
+
linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-shell-r) + 2px) 100% no-repeat;
|
|
174
|
+
mask:
|
|
175
|
+
var(--co-sq-tl) top left / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
176
|
+
var(--co-sq-tr) top right / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
177
|
+
var(--co-sq-bl) bottom left / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
178
|
+
var(--co-sq-br) bottom right / var(--co-shell-r) var(--co-shell-r) no-repeat,
|
|
179
|
+
linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-shell-r) + 2px) no-repeat,
|
|
180
|
+
linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-shell-r) + 2px) 100% no-repeat;
|
|
108
181
|
}
|
|
109
182
|
|
|
110
183
|
/* ─── Header ────────────────────────────────────────────────── */
|
|
@@ -16,10 +16,10 @@ export class CoAppShell {
|
|
|
16
16
|
this.contentCard = true;
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '5df857b1122c6dd0589b86873e321a425ffd6dbc' }, h("aside", { key: '4427047dcc3f1316398300e26bc0f8798dc25db2', class: "sidebar", part: "sidebar" }, h("div", { key: '33652ac6919e6c5d9519fa4c2dcaa2820f356cc5', class: "sidebar__header", part: "sidebar-header" }, h("slot", { key: 'ec3a1a5979594acab40f90e44a344fb100db2c20', name: "sidebar-header" })), h("div", { key: 'f0688f52d20a6edbf939728fde84cad7b86bf2b5', class: "sidebar__body", part: "sidebar-body" }, h("slot", { key: '572aced266588d3b11894dfa012d218bf47a5adf', name: "sidebar" })), h("div", { key: 'a8695d8875430d1dddc7d0e93c0cc69ad188aa50', class: "sidebar__footer", part: "sidebar-footer" }, h("slot", { key: 'd70f3553b94c62ffed5ee2a8e2a3e121945df1d7', name: "sidebar-footer" }))), h("div", { key: '3096910efd4d3c61d97d18284a3926273a60b220', class: "main", part: "main" }, h("div", { key: '3f4b2591d4aaddd2fdc14cd3d51341783b5ce1ea', class: "main__card", part: "card" }, h("header", { key: 'd9c464d4a0246099d30b3102430afb00e8f248f6', class: "main__header", part: "header" }, h("slot", { key: '94ec52ee636f22e5870b90d39a3b6cc3c6cc6920', name: "navbar" })), h("main", { key: 'f521001dfda2cf8fc98931c291a6a0829367154a', class: {
|
|
20
20
|
'main__content': true,
|
|
21
21
|
'main__content--card': this.contentCard,
|
|
22
|
-
}, part: "content" }, h("slot", { key: '
|
|
22
|
+
}, part: "content" }, h("slot", { key: '0f339d0bdfc1352551bc10c0ce3a54c4a757722e' }))))));
|
|
23
23
|
}
|
|
24
24
|
static get is() { return "co-app-shell"; }
|
|
25
25
|
static get encapsulation() { return "shadow"; }
|
|
@@ -726,7 +726,9 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
726
726
|
flex-wrap: wrap;
|
|
727
727
|
gap: var(--co-spacing-xs);
|
|
728
728
|
padding: var(--co-spacing-sm2) var(--co-spacing-md);
|
|
729
|
-
background: var(--co-semantic-surface-secondary);
|
|
729
|
+
background: color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);
|
|
730
|
+
-webkit-backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
|
|
731
|
+
backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
|
|
730
732
|
border: 1px solid var(--co-semantic-border-subtle);
|
|
731
733
|
border-radius: var(--co-border-radius-xs);
|
|
732
734
|
min-height: 40px;
|
|
@@ -734,6 +736,27 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
734
736
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
735
737
|
}
|
|
736
738
|
|
|
739
|
+
/* ── Size variants (mirror co-input: s 28 / sm 32 / md 40 / lg 48) ── */
|
|
740
|
+
.co-autocomplete--s .co-autocomplete__field {
|
|
741
|
+
min-height: 28px;
|
|
742
|
+
padding: var(--co-spacing-xxs) var(--co-spacing-sm);
|
|
743
|
+
font-size: var(--co-font-size-12);
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
.co-autocomplete--sm .co-autocomplete__field {
|
|
747
|
+
min-height: 32px;
|
|
748
|
+
padding: var(--co-spacing-xs) var(--co-spacing-sm);
|
|
749
|
+
font-size: var(--co-font-size-14);
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
/* md is the default (40px) — no override needed */
|
|
753
|
+
|
|
754
|
+
.co-autocomplete--lg .co-autocomplete__field {
|
|
755
|
+
min-height: 48px;
|
|
756
|
+
padding: var(--co-spacing-sm) var(--co-spacing-lg);
|
|
757
|
+
font-size: var(--co-font-size-16);
|
|
758
|
+
}
|
|
759
|
+
|
|
737
760
|
.co-autocomplete--focused .co-autocomplete__field {
|
|
738
761
|
border-color: var(--co-semantic-border-focus);
|
|
739
762
|
box-shadow: 0 0 0 2px var(--co-semantic-border-focus-ring);
|
|
@@ -981,3 +1004,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
981
1004
|
.co-field-required__caption::before {
|
|
982
1005
|
content: var(--co-field-required-text, ' (required)');
|
|
983
1006
|
}
|
|
1007
|
+
|
|
1008
|
+
@supports not (background: color-mix(in srgb, red, transparent)) {
|
|
1009
|
+
.co-autocomplete__field { background: var(--co-semantic-surface-secondary); }
|
|
1010
|
+
}
|
|
@@ -10,6 +10,8 @@ export class CoAutocomplete {
|
|
|
10
10
|
this.clearable = true;
|
|
11
11
|
/** Label layout: vertical (label above) or horizontal (label beside) */
|
|
12
12
|
this.layout = 'vertical';
|
|
13
|
+
/** Field size (mirrors co-input): s 28 / sm 32 / md 40 / lg 48. */
|
|
14
|
+
this.size = 'md';
|
|
13
15
|
this.status = 'default';
|
|
14
16
|
/** Pre-loaded or server-returned options */
|
|
15
17
|
this.options = '[]';
|
|
@@ -176,16 +178,17 @@ export class CoAutocomplete {
|
|
|
176
178
|
render() {
|
|
177
179
|
const options = this.parsedOptions;
|
|
178
180
|
const selected = this.selectedValues;
|
|
179
|
-
return (h("div", { key: '
|
|
181
|
+
return (h("div", { key: 'dfab9ff6344118bbaa21bc911671f701ca321d14', class: {
|
|
180
182
|
'co-autocomplete': true,
|
|
181
183
|
'co-autocomplete--open': this.isOpen,
|
|
182
184
|
'co-autocomplete--disabled': this.disabled,
|
|
183
185
|
'co-autocomplete--focused': this.focused,
|
|
186
|
+
[`co-autocomplete--${this.size}`]: true,
|
|
184
187
|
[`co-autocomplete--${this.status}`]: this.status !== 'default',
|
|
185
|
-
} }, (this.label || this.secondaryLabel) && (h("div", { key: '
|
|
188
|
+
} }, (this.label || this.secondaryLabel) && (h("div", { key: '2870599c3af0b8a7ee0ced25f54f3dff7118506e', class: "co-autocomplete__labels" }, this.label && h("label", { key: '2bd76cb15d591d71430ff0ac592b8c2910fdb4ce', class: "co-autocomplete__label" }, this.label, h(RequiredMark, { key: '766aac3940792e1b04b48e44c76d02f754ded4c3', required: this.required })), this.secondaryLabel && h("span", { key: '7f0baeed0eaf6b877e4ee7177e27d8553b6ed82a', class: "co-autocomplete__secondary-label" }, this.secondaryLabel))), h("div", { key: 'faff4ef114f15478992548784a11127f2d14ba27', class: "co-autocomplete__field" }, this.iconLeft && h("co-icon", { key: '8638177d1a8a17e68849c2ffffc386ad76b6365d', name: this.iconLeft, size: 16, class: "co-autocomplete__icon" }), this.multiple && selected.length > 0 && (h("div", { key: '59ba38d7a3b44d1502e6668920850098b140e2a3', class: "co-autocomplete__chips" }, selected.map(val => {
|
|
186
189
|
const opt = this.parsedOptions.find(o => o.value === val);
|
|
187
190
|
return (h("co-chip", { label: opt ? opt.label : val, size: "small", removable: true, onCoRemove: () => this.handleChipRemove(val) }));
|
|
188
|
-
}))), h("input", { key: '
|
|
191
|
+
}))), h("input", { key: '0196cedcbccae1f159b3b3cf4575964a37398d6a', ref: el => (this.inputEl = el), class: "co-autocomplete__input", type: "text", value: this.query, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onFocus: this.handleFocus }), this.loading && h("div", { key: 'b9ab823198d9268c6fb97f60ddb91f508006d27c', class: "co-autocomplete__spinner" }), this.clearable && (this.hasValue || this.query) && !this.disabled && (h("button", { key: 'e13078152b14056cd0640f90c26e68e1b2faa65a', class: "co-autocomplete__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '8db7105cb2865347cb0340b5c1f2a5b5f9da13d3', name: "x-circle", size: 16, weight: "fill" })))), this.isOpen && (h("div", { key: '101741284b39462d6f080c35dbec305e911674a9', class: "co-autocomplete__dropdown" }, this.loading && options.length === 0 ? (h("div", { class: "co-autocomplete__loading" }, h("co-loader", { size: "sm" }))) : options.length === 0 ? (h("div", { class: "co-autocomplete__empty" }, this.emptyText)) : (h("div", { class: "co-autocomplete__options", ref: el => (this.optionsEl = el), onScroll: this.handleOptionsScroll }, (() => {
|
|
189
192
|
const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
|
|
190
193
|
return (h("div", { class: "co-autocomplete__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 => {
|
|
191
194
|
const isSelected = selected.includes(opt.value);
|
|
@@ -196,7 +199,7 @@ export class CoAutocomplete {
|
|
|
196
199
|
'co-autocomplete__option--disabled': isDisabled,
|
|
197
200
|
}, onClick: () => !isDisabled && this.handleOptionClick(opt.value) }, opt.icon && h("co-icon", { name: opt.icon, size: 20, class: "co-autocomplete__option-icon" }), h("span", { class: "co-autocomplete__option-label" }, opt.label), isSelected && h("co-icon", { name: "check", size: 16, class: "co-autocomplete__option-check" })));
|
|
198
201
|
}))));
|
|
199
|
-
})())))), this.helperText && (h("div", { key: '
|
|
202
|
+
})())))), this.helperText && (h("div", { key: '10718ee7ba24570057e2f130ef950b304c510c02', class: `co-autocomplete__helper co-autocomplete__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'e8d88e8278f9ea3b28f6b5767991e484d6fc7eb6', name: this.statusIcon, size: 14, weight: "fill", class: "co-autocomplete__helper-icon" }), h("span", { key: '0a9a6ef20def10b8efe92c55d3e66f1acd34525f', class: "co-autocomplete__helper-text" }, this.helperText)))));
|
|
200
203
|
}
|
|
201
204
|
static get is() { return "co-autocomplete"; }
|
|
202
205
|
static get encapsulation() { return "shadow"; }
|
|
@@ -388,6 +391,26 @@ export class CoAutocomplete {
|
|
|
388
391
|
"attribute": "layout",
|
|
389
392
|
"defaultValue": "'vertical'"
|
|
390
393
|
},
|
|
394
|
+
"size": {
|
|
395
|
+
"type": "string",
|
|
396
|
+
"mutable": false,
|
|
397
|
+
"complexType": {
|
|
398
|
+
"original": "'s' | 'sm' | 'md' | 'lg'",
|
|
399
|
+
"resolved": "\"lg\" | \"md\" | \"s\" | \"sm\"",
|
|
400
|
+
"references": {}
|
|
401
|
+
},
|
|
402
|
+
"required": false,
|
|
403
|
+
"optional": false,
|
|
404
|
+
"docs": {
|
|
405
|
+
"tags": [],
|
|
406
|
+
"text": "Field size (mirrors co-input): s 28 / sm 32 / md 40 / lg 48."
|
|
407
|
+
},
|
|
408
|
+
"getter": false,
|
|
409
|
+
"setter": false,
|
|
410
|
+
"reflect": true,
|
|
411
|
+
"attribute": "size",
|
|
412
|
+
"defaultValue": "'md'"
|
|
413
|
+
},
|
|
391
414
|
"status": {
|
|
392
415
|
"type": "string",
|
|
393
416
|
"mutable": false,
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: inline-flex;
|
|
3
|
+
/* Squircle (superellipse, n≈5) used to mask square avatars so their corners
|
|
4
|
+
are smooth/continuous — Figma "corner smoothing" — instead of a plain
|
|
5
|
+
border-radius arc. Normalized 0–100 box, scales to any size via mask-size. */
|
|
6
|
+
--co-avatar-squircle: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M100 50L99.94 68.06L99.75 73.81L99.44 77.94L99.01 81.26L98.44 84.05L97.74 86.46L96.91 88.57L95.94 90.43L94.81 92.07L93.53 93.53L92.07 94.81L90.43 95.94L88.57 96.91L86.46 97.74L84.05 98.44L81.26 99.01L77.94 99.44L73.81 99.75L68.06 99.94L50 100L31.94 99.94L26.19 99.75L22.06 99.44L18.74 99.01L15.95 98.44L13.54 97.74L11.43 96.91L9.57 95.94L7.93 94.81L6.47 93.53L5.19 92.07L4.06 90.43L3.09 88.57L2.26 86.46L1.56 84.05L0.99 81.26L0.56 77.94L0.25 73.81L0.06 68.06L0 50L0.06 31.94L0.25 26.19L0.56 22.06L0.99 18.74L1.56 15.95L2.26 13.54L3.09 11.43L4.06 9.57L5.19 7.93L6.47 6.47L7.93 5.19L9.57 4.06L11.43 3.09L13.54 2.26L15.95 1.56L18.74 0.99L22.06 0.56L26.19 0.25L31.94 0.06L50 0L68.06 0.06L73.81 0.25L77.94 0.56L81.26 0.99L84.05 1.56L86.46 2.26L88.57 3.09L90.43 4.06L92.07 5.19L93.53 6.47L94.81 7.93L95.94 9.57L96.91 11.43L97.74 13.54L98.44 15.95L99.01 18.74L99.44 22.06L99.75 26.19L99.94 31.94Z' fill='%23fff'/></svg>");
|
|
3
7
|
}
|
|
4
8
|
|
|
5
9
|
.co-avatar {
|
|
10
|
+
position: relative; /* anchors the optional border ring (::after) */
|
|
6
11
|
display: inline-flex;
|
|
7
12
|
align-items: center;
|
|
8
13
|
justify-content: center;
|
|
@@ -19,6 +24,18 @@
|
|
|
19
24
|
-webkit-font-smoothing: antialiased;
|
|
20
25
|
}
|
|
21
26
|
|
|
27
|
+
/* Optional border that hugs the avatar shape. Off by default (transparent);
|
|
28
|
+
a host enables it by setting --co-avatar-border-color (custom properties
|
|
29
|
+
inherit through the shadow boundary, so it can be driven from outside). */
|
|
30
|
+
.co-avatar::after {
|
|
31
|
+
content: '';
|
|
32
|
+
position: absolute;
|
|
33
|
+
inset: 0;
|
|
34
|
+
pointer-events: none;
|
|
35
|
+
border-radius: inherit;
|
|
36
|
+
box-shadow: inset 0 0 0 var(--co-avatar-border-width, 1px) var(--co-avatar-border-color, transparent);
|
|
37
|
+
}
|
|
38
|
+
|
|
22
39
|
.co-avatar__text {
|
|
23
40
|
text-transform: uppercase;
|
|
24
41
|
}
|
|
@@ -30,8 +47,28 @@
|
|
|
30
47
|
display: block;
|
|
31
48
|
}
|
|
32
49
|
|
|
50
|
+
/* Square = smooth "squircle" corners (Figma corner-smoothing). The shape comes
|
|
51
|
+
from the mask, so border-radius is reset to 0. */
|
|
33
52
|
.co-avatar--square {
|
|
34
|
-
border-radius:
|
|
53
|
+
border-radius: 0;
|
|
54
|
+
-webkit-mask: var(--co-avatar-squircle) center / 100% 100% no-repeat;
|
|
55
|
+
mask: var(--co-avatar-squircle) center / 100% 100% no-repeat;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* The square border must follow the squircle (not the rectangular box): paint
|
|
59
|
+
the border colour and clip it to a ring = full squircle minus an inset one. */
|
|
60
|
+
.co-avatar--square::after {
|
|
61
|
+
--co-avatar-bw: var(--co-avatar-border-width, 1px);
|
|
62
|
+
box-shadow: none;
|
|
63
|
+
background: var(--co-avatar-border-color, transparent);
|
|
64
|
+
-webkit-mask:
|
|
65
|
+
var(--co-avatar-squircle) center / 100% 100% no-repeat,
|
|
66
|
+
var(--co-avatar-squircle) center / calc(100% - 2 * var(--co-avatar-bw)) calc(100% - 2 * var(--co-avatar-bw)) no-repeat;
|
|
67
|
+
-webkit-mask-composite: xor;
|
|
68
|
+
mask:
|
|
69
|
+
var(--co-avatar-squircle) center / 100% 100% no-repeat,
|
|
70
|
+
var(--co-avatar-squircle) center / calc(100% - 2 * var(--co-avatar-bw)) calc(100% - 2 * var(--co-avatar-bw)) no-repeat;
|
|
71
|
+
mask-composite: exclude;
|
|
35
72
|
}
|
|
36
73
|
|
|
37
74
|
.co-avatar--light {
|
|
@@ -37,13 +37,15 @@ export class CoAvatar {
|
|
|
37
37
|
const iconSize = (_b = ICON_SIZE_MAP[this.size]) !== null && _b !== void 0 ? _b : 24;
|
|
38
38
|
const fontSize = (_c = FONT_SIZE_MAP[this.size]) !== null && _c !== void 0 ? _c : 'var(--co-font-size-18)';
|
|
39
39
|
const showImage = this.type === 'image' && this.src && !this.imgFailed;
|
|
40
|
-
return (h("div", { key: '
|
|
40
|
+
return (h("div", { key: '0cb2791e742ef38fdf9fe39037cb4024bf87df4f', class: {
|
|
41
41
|
'co-avatar': true,
|
|
42
42
|
[`co-avatar--${this.size}`]: true,
|
|
43
43
|
[`co-avatar--${this.type}`]: true,
|
|
44
44
|
'co-avatar--square': this.shape === 'square',
|
|
45
45
|
'co-avatar--light': !!this.color && isLightColor(this.color),
|
|
46
|
-
}, style: Object.assign({ width:
|
|
46
|
+
}, style: Object.assign(Object.assign({ width: `var(--co-avatar-size, ${dim}px)`, height: `var(--co-avatar-size, ${dim}px)`, fontSize }, (this.color ? { background: this.color } : {})), (this.ringColor
|
|
47
|
+
? { '--co-avatar-border-color': this.ringColor, '--co-avatar-border-width': '2px' }
|
|
48
|
+
: {})), part: "avatar", role: "img", "aria-label": this.type === 'text' ? this.text : this.icon }, showImage ? (h("img", { class: "co-avatar__img", src: this.src, alt: this.text || '', onError: this.handleImgError })) : this.type === 'icon' ? (h("co-icon", { name: this.icon, weight: this.iconWeight, size: iconSize })) : (h("span", { class: "co-avatar__text" }, this.text))));
|
|
47
49
|
}
|
|
48
50
|
static get is() { return "co-avatar"; }
|
|
49
51
|
static get encapsulation() { return "shadow"; }
|
|
@@ -215,6 +217,25 @@ export class CoAvatar {
|
|
|
215
217
|
"setter": false,
|
|
216
218
|
"reflect": false,
|
|
217
219
|
"attribute": "color"
|
|
220
|
+
},
|
|
221
|
+
"ringColor": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"mutable": false,
|
|
224
|
+
"complexType": {
|
|
225
|
+
"original": "string",
|
|
226
|
+
"resolved": "string | undefined",
|
|
227
|
+
"references": {}
|
|
228
|
+
},
|
|
229
|
+
"required": false,
|
|
230
|
+
"optional": true,
|
|
231
|
+
"docs": {
|
|
232
|
+
"tags": [],
|
|
233
|
+
"text": "Optional 2px ring color (hex/CSS). Drives the inset ::after ring."
|
|
234
|
+
},
|
|
235
|
+
"getter": false,
|
|
236
|
+
"setter": false,
|
|
237
|
+
"reflect": true,
|
|
238
|
+
"attribute": "ring-color"
|
|
218
239
|
}
|
|
219
240
|
};
|
|
220
241
|
}
|