@prolibu-suite/cobalt-core 0.9.6 → 0.10.1
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 +1125 -89
- package/dist/cjs/co-accordion.cjs.entry.js +5 -5
- package/dist/cjs/co-action-bar.cjs.entry.js +2 -2
- package/dist/cjs/co-app-shell.cjs.entry.js +4 -4
- package/dist/cjs/co-audio-player.cjs.entry.js +83 -13
- package/dist/cjs/co-autocomplete.cjs.entry.js +2 -2
- package/dist/cjs/co-avatar-group.cjs.entry.js +1 -1
- package/dist/cjs/co-avatar.cjs.entry.js +72 -0
- package/dist/cjs/co-badge.cjs.entry.js +11 -3
- package/dist/cjs/co-bottom-sheet.cjs.entry.js +1 -1
- package/dist/cjs/co-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/co-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/co-button-group.cjs.entry.js +1 -1
- package/dist/cjs/co-button.cjs.entry.js +2 -2
- package/dist/cjs/co-calendar-month_2.cjs.entry.js +55 -20
- package/dist/cjs/co-calendar_3.cjs.entry.js +27 -15
- package/dist/cjs/co-card.cjs.entry.js +1 -1
- package/dist/cjs/co-carousel-item.cjs.entry.js +1 -1
- package/dist/cjs/co-carousel.cjs.entry.js +2 -2
- package/dist/cjs/co-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/co-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/co-chip_2.cjs.entry.js +68 -13
- package/dist/cjs/co-color-picker.cjs.entry.js +1078 -27
- package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
- package/dist/cjs/co-combobox.cjs.entry.js +2 -2
- package/dist/cjs/co-command-search.cjs.entry.js +1 -1
- package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
- package/dist/cjs/co-data-table.cjs.entry.js +83 -5
- package/dist/cjs/co-date-picker.cjs.entry.js +3 -3
- 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-date-time-picker.cjs.entry.js +101 -130
- package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
- package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
- package/dist/cjs/co-emoji-picker.cjs.entry.js +4 -4
- package/dist/cjs/co-empty-state.cjs.entry.js +4 -4
- package/dist/cjs/co-event-calendar.cjs.entry.js +4 -4
- package/dist/cjs/co-event-popover.cjs.entry.js +3 -3
- package/dist/cjs/co-fab.cjs.entry.js +3 -3
- package/dist/cjs/co-file-field.cjs.entry.js +102 -106
- package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
- package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/co-icon-button.cjs.entry.js +6 -6
- package/dist/cjs/co-icon.cjs.entry.js +3 -3
- package/dist/cjs/co-input.cjs.entry.js +32 -6
- package/dist/cjs/co-json-field.cjs.entry.js +5 -5
- package/dist/cjs/co-lightbox.cjs.entry.js +204 -21
- package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
- package/dist/cjs/co-list-item.cjs.entry.js +5 -5
- package/dist/cjs/co-loader.cjs.entry.js +1 -1
- package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
- package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
- package/dist/cjs/co-menu-item.cjs.entry.js +85 -4
- package/dist/cjs/co-menu.cjs.entry.js +2 -2
- package/dist/cjs/co-modal.cjs.entry.js +10 -4
- package/dist/cjs/co-navbar.cjs.entry.js +4 -4
- package/dist/cjs/co-number-field.cjs.entry.js +272 -9
- package/dist/cjs/co-overlay.cjs.entry.js +6 -4
- package/dist/cjs/co-page-header.cjs.entry.js +2 -2
- package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
- package/dist/cjs/co-popover.cjs.entry.js +58 -21
- package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
- package/dist/cjs/co-provider-logo_2.cjs.entry.js +47 -3
- package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/co-radio.cjs.entry.js +4 -4
- package/dist/cjs/co-rating.cjs.entry.js +4 -4
- package/dist/cjs/co-ref-field.cjs.entry.js +104 -13
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +11 -8
- package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +7 -3
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +4 -3
- package/dist/cjs/co-row.cjs.entry.js +3 -3
- package/dist/cjs/co-segmented-bar.cjs.entry.js +1 -1
- package/dist/cjs/co-select.cjs.entry.js +6 -6
- package/dist/cjs/co-separator.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +2 -2
- package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/co-tab.cjs.entry.js +3 -3
- package/dist/cjs/co-tags-field.cjs.entry.js +8 -8
- package/dist/cjs/co-textarea.cjs.entry.js +6 -6
- package/dist/cjs/co-time-field.cjs.entry.js +325 -0
- 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-avatar_2.cjs.entry.js → co-tooltip.cjs.entry.js} +48 -84
- package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
- package/dist/cjs/co-video.cjs.entry.js +32 -7
- package/dist/cjs/cobalt.cjs.js +2 -2
- package/dist/cjs/color-CML2Cfdh.js +142 -0
- package/dist/cjs/{dateI18n-wblvKRq_.js → dateI18n-BK2qHqoC.js} +36 -0
- package/dist/cjs/{fieldChip-BLzo9MEV.js → fieldChip-B6YIGU1V.js} +1 -1
- package/dist/cjs/fileI18n-6sdbKvo6.js +88 -0
- package/dist/cjs/{index-DFZ5YhIT.js → index-BYwrR87Z.js} +28 -10
- package/dist/cjs/{index-DK-2Lzmf.js → index-MDAnKsze.js} +35 -27
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{positioning-DCj_AJ2T.js → positioning-CyatXeT_.js} +32 -13
- package/dist/cjs/{requiredMark-C1xcrzSZ.js → requiredMark-D-t-IPN0.js} +1 -1
- package/dist/cjs/{toolbar-config-BQfWTW6P.js → toolbar-config-BSGas-Wl.js} +10 -0
- package/dist/cobalt/cobalt.css +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-bfc2a849.entry.js → p-000a15b8.entry.js} +1 -1
- package/dist/cobalt/{p-f83b48fd.entry.js → p-011dc80b.entry.js} +1 -1
- package/dist/cobalt/{p-316c62c0.entry.js → p-0678c797.entry.js} +1 -1
- package/dist/cobalt/{p-43bd298d.entry.js → p-08e42e00.entry.js} +1 -1
- package/dist/cobalt/{p-0e91e5c4.entry.js → p-148d4aa6.entry.js} +1 -1
- package/dist/cobalt/{p-07d570a6.entry.js → p-16954cea.entry.js} +1 -1
- package/dist/cobalt/{p-d40a465f.entry.js → p-16f8cee6.entry.js} +1 -1
- package/dist/cobalt/{p-85a61e28.entry.js → p-17244412.entry.js} +1 -1
- package/dist/cobalt/{p-da546d08.entry.js → p-1dc55e43.entry.js} +1 -1
- package/dist/cobalt/p-239c5c5f.entry.js +1 -0
- package/dist/cobalt/{p-4c7e3984.entry.js → p-23ab0cc5.entry.js} +1 -1
- package/dist/cobalt/{p-fabe5fb2.entry.js → p-2636b7eb.entry.js} +1 -1
- package/dist/cobalt/{p-88a0659f.entry.js → p-27a7e549.entry.js} +1 -1
- package/dist/cobalt/{p-dca4cd5f.entry.js → p-28764b8e.entry.js} +1 -1
- package/dist/cobalt/{p-18d34b01.entry.js → p-290066ef.entry.js} +1 -1
- package/dist/cobalt/p-2a30c143.entry.js +1 -0
- package/dist/cobalt/p-2f0f3bb1.entry.js +1 -0
- package/dist/cobalt/{p-89e38c5e.entry.js → p-2f9cbbd5.entry.js} +1 -1
- package/dist/cobalt/p-2fba312b.entry.js +1 -0
- package/dist/cobalt/p-354d5089.entry.js +1 -0
- package/dist/cobalt/{p-60cb66f5.entry.js → p-37f5036b.entry.js} +1 -1
- package/dist/cobalt/{p-ac91259e.entry.js → p-383a998e.entry.js} +1 -1
- package/dist/cobalt/{p-ef5e1167.entry.js → p-3c4f7026.entry.js} +1 -1
- package/dist/cobalt/p-410bee4d.entry.js +1 -0
- package/dist/cobalt/p-416795f5.entry.js +1 -0
- package/dist/cobalt/{p-6795a258.entry.js → p-44c4e4a3.entry.js} +1 -1
- package/dist/cobalt/{p-4b083da4.entry.js → p-44ea675f.entry.js} +1 -1
- package/dist/cobalt/{p-2828ecf6.entry.js → p-4592ca00.entry.js} +1 -1
- package/dist/cobalt/{p-342e1da4.entry.js → p-4d65e713.entry.js} +1 -1
- package/dist/cobalt/p-56551580.entry.js +1 -0
- package/dist/cobalt/p-58137c9e.entry.js +1 -0
- package/dist/cobalt/{p-4f754c9a.entry.js → p-58d9b650.entry.js} +1 -1
- package/dist/cobalt/p-59963937.entry.js +1 -0
- package/dist/cobalt/p-5a3e4c81.entry.js +1 -0
- package/dist/cobalt/p-5adf117c.entry.js +1 -0
- package/dist/cobalt/{p-23b3ff3f.entry.js → p-5ca394b1.entry.js} +1 -1
- package/dist/cobalt/p-5e4973a6.entry.js +1 -0
- package/dist/cobalt/{p-2d329ac8.entry.js → p-623cc195.entry.js} +1 -1
- package/dist/cobalt/{p-8e667eb6.entry.js → p-66b11b38.entry.js} +1 -1
- package/dist/cobalt/{p-7e53e9c8.entry.js → p-6c82a892.entry.js} +1 -1
- package/dist/cobalt/{p-a6357340.entry.js → p-76249983.entry.js} +1 -1
- package/dist/cobalt/{p-568cfe8d.entry.js → p-789c4b3e.entry.js} +1 -1
- package/dist/cobalt/p-7e8e6907.entry.js +1 -0
- package/dist/cobalt/{p-a9b29cc2.entry.js → p-826ee074.entry.js} +1 -1
- package/dist/cobalt/{p-1c68bc41.entry.js → p-8471abe2.entry.js} +1 -1
- package/dist/cobalt/p-8f2199ff.entry.js +1 -0
- package/dist/cobalt/{p-c8dba82f.entry.js → p-91e73a92.entry.js} +1 -1
- package/dist/cobalt/p-9246e09c.entry.js +1 -0
- package/dist/cobalt/{p-c1e7fb32.entry.js → p-93fe45fd.entry.js} +1 -1
- package/dist/cobalt/{p-8f38e24d.entry.js → p-95cfcb34.entry.js} +1 -1
- package/dist/cobalt/{p-36197363.entry.js → p-996f4e38.entry.js} +1 -1
- package/dist/cobalt/{p-c5684c79.entry.js → p-9cf738ed.entry.js} +1 -1
- package/dist/cobalt/p-BRbgGqLw.js +1 -0
- package/dist/cobalt/{p-BL0sCfMH.js → p-Bryf3-Js.js} +1 -1
- package/dist/cobalt/p-DFHRS9cJ.js +1 -0
- package/dist/cobalt/{p-CrtiywTB.js → p-DH5lfRNj.js} +1 -1
- package/dist/{components/p-WeuPA9Rw.js → cobalt/p-DOL2zACE.js} +1 -1
- package/dist/cobalt/p-D_zA1Pv4.js +1 -0
- package/dist/cobalt/p-a2462d7a.entry.js +1 -0
- package/dist/cobalt/p-a325ea0c.entry.js +1 -0
- package/dist/cobalt/{p-fef5db54.entry.js → p-a32b20eb.entry.js} +1 -1
- package/dist/cobalt/p-aa9400bf.entry.js +1 -0
- package/dist/cobalt/{p-8eb485c8.entry.js → p-aaca6dab.entry.js} +1 -1
- package/dist/cobalt/p-b0c4fc71.entry.js +1 -0
- package/dist/cobalt/p-b5bba7fe.entry.js +1 -0
- package/dist/cobalt/{p-fb3a095b.entry.js → p-b821d9de.entry.js} +1 -1
- package/dist/cobalt/{p-b0319a2d.entry.js → p-b90d41e4.entry.js} +1 -1
- package/dist/cobalt/{p-ac466658.entry.js → p-be34e447.entry.js} +1 -1
- package/dist/cobalt/{p-1ddbc48b.entry.js → p-c124e82b.entry.js} +1 -1
- package/dist/cobalt/{p-95efe661.entry.js → p-c2ebf0ec.entry.js} +1 -1
- package/dist/cobalt/{p-54ae807d.entry.js → p-c465d619.entry.js} +1 -1
- package/dist/cobalt/p-c7d7d7f7.entry.js +1 -0
- package/dist/cobalt/{p-ab45d9bd.entry.js → p-c91d4fc6.entry.js} +1 -1
- package/dist/cobalt/{p-e5495539.entry.js → p-d0b2c418.entry.js} +1 -1
- package/dist/cobalt/{p-ce35c898.entry.js → p-d29bb0fa.entry.js} +1 -1
- package/dist/cobalt/{p-33ea4a90.entry.js → p-d3344187.entry.js} +1 -1
- package/dist/cobalt/p-d375014b.entry.js +1 -0
- package/dist/cobalt/p-d9d9e8ae.entry.js +1 -0
- package/dist/cobalt/{p-7c5e846a.entry.js → p-db805569.entry.js} +1 -1
- package/dist/cobalt/p-e371ec7a.entry.js +1 -0
- package/dist/cobalt/p-e3aae282.entry.js +1 -0
- package/dist/cobalt/{p-d15d3a97.entry.js → p-e4264532.entry.js} +1 -1
- package/dist/cobalt/{p-3f0eed59.entry.js → p-e49a564c.entry.js} +1 -1
- package/dist/cobalt/p-e8a2f993.entry.js +1 -0
- package/dist/cobalt/p-eadfd661.entry.js +1 -0
- package/dist/cobalt/p-eb82358d.entry.js +1 -0
- package/dist/cobalt/{p-2114c036.entry.js → p-eb8691f2.entry.js} +1 -1
- package/dist/cobalt/{p-e8878cf9.entry.js → p-ee2023da.entry.js} +1 -1
- package/dist/cobalt/p-ee9a623d.entry.js +1 -0
- package/dist/cobalt/p-ef301976.entry.js +1 -0
- package/dist/cobalt/p-f4e1c3c3.entry.js +1 -0
- package/dist/cobalt/{p-e364b8a5.entry.js → p-f57dffca.entry.js} +1 -1
- package/dist/cobalt/p-f6691108.entry.js +1 -0
- package/dist/cobalt/p-fMqVDypp.js +1 -0
- package/dist/cobalt/p-fb2d1144.entry.js +1 -0
- package/dist/cobalt/{p-0c463d9a.entry.js → p-fd150cc6.entry.js} +1 -1
- package/dist/cobalt/p-gKnOhsd2.js +1 -0
- package/dist/cobalt/p-jYd9gu_c.js +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/co-accordion/co-accordion.css +2 -2
- package/dist/collection/components/co-accordion/co-accordion.js +4 -4
- package/dist/collection/components/co-action-bar/co-action-bar.css +9 -2
- package/dist/collection/components/co-app-shell/co-app-shell.css +107 -41
- package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
- package/dist/collection/components/co-audio-player/co-audio-player.js +138 -12
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-badge/co-badge.css +18 -0
- package/dist/collection/components/co-badge/co-badge.js +29 -1
- package/dist/collection/components/co-button/co-button.css +10 -7
- package/dist/collection/components/co-checkbox/co-checkbox.css +12 -3
- package/dist/collection/components/co-checkbox/co-checkbox.js +25 -6
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +1 -3
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-color-picker/co-color-picker.css +252 -5
- package/dist/collection/components/co-color-picker/co-color-picker.js +962 -15
- package/dist/collection/components/co-color-picker/presets.js +113 -15
- package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
- package/dist/collection/components/co-combobox/co-combobox.js +1 -1
- package/dist/collection/components/co-command-search/co-command-search.js +1 -1
- package/dist/collection/components/co-data-table/co-data-table.css +63 -2
- package/dist/collection/components/co-data-table/co-data-table.js +59 -4
- package/dist/collection/components/co-data-table/headerTruncationLogic.js +34 -0
- package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
- package/dist/collection/components/co-date-field/co-date-field.js +4 -4
- package/dist/collection/components/co-date-range/co-date-range.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +128 -32
- package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +142 -138
- package/dist/collection/components/co-drawer/co-drawer.css +99 -36
- package/dist/collection/components/co-drawer/co-drawer.js +19 -7
- package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
- package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
- package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +2 -2
- package/dist/collection/components/co-empty-state/co-empty-state.css +28 -0
- package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
- package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
- package/dist/collection/components/co-event-popover/co-event-popover.js +1 -1
- package/dist/collection/components/co-fab/co-fab.js +2 -2
- package/dist/collection/components/co-file-field/co-file-field.css +55 -2
- package/dist/collection/components/co-file-field/co-file-field.js +41 -13
- package/dist/collection/components/co-file-field/co-file-field.utils.js +51 -4
- package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
- package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
- package/dist/collection/components/co-icon/co-icon.js +2 -2
- package/dist/collection/components/co-icon-button/co-icon-button.css +40 -2
- package/dist/collection/components/co-icon-button/co-icon-button.js +43 -4
- package/dist/collection/components/co-input/co-input.css +33 -0
- package/dist/collection/components/co-input/co-input.js +42 -7
- package/dist/collection/components/co-json-field/co-json-field.js +3 -3
- package/dist/collection/components/co-lightbox/co-lightbox.css +23 -0
- package/dist/collection/components/co-lightbox/co-lightbox.js +209 -20
- package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
- package/dist/collection/components/co-list-item/co-list-item.js +4 -4
- package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
- package/dist/collection/components/co-menu/co-menu.js +1 -1
- package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
- package/dist/collection/components/co-menu-item/co-menu-item.css +9 -0
- package/dist/collection/components/co-menu-item/co-menu-item.js +67 -3
- package/dist/collection/components/co-modal/co-modal.css +112 -37
- package/dist/collection/components/co-modal/co-modal.js +35 -2
- package/dist/collection/components/co-navbar/co-navbar.css +4 -2
- package/dist/collection/components/co-navbar/co-navbar.js +2 -2
- package/dist/collection/components/co-number-field/co-number-field.css +22 -0
- package/dist/collection/components/co-number-field/co-number-field.js +216 -9
- package/dist/collection/components/co-option-list/co-option-list.css +25 -4
- package/dist/collection/components/co-option-list/co-option-list.js +56 -4
- package/dist/collection/components/co-option-list/optionListLogic.js +31 -8
- package/dist/collection/components/co-overlay/co-overlay.js +5 -3
- package/dist/collection/components/co-page-header/co-page-header.js +1 -1
- package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
- package/dist/collection/components/co-popover/co-popover.css +18 -3
- package/dist/collection/components/co-popover/co-popover.js +83 -20
- package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
- package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
- package/dist/collection/components/co-radio/co-radio.js +3 -3
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-rating/co-rating.js +3 -3
- package/dist/collection/components/co-ref-field/co-ref-field.css +40 -0
- package/dist/collection/components/co-ref-field/co-ref-field.js +207 -11
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +14 -1
- package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +9 -6
- package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +7 -3
- package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +3 -2
- package/dist/collection/components/co-row/co-row.js +2 -2
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.js +24 -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 +2 -2
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
- package/dist/collection/components/co-skeleton/co-skeleton.css +18 -0
- package/dist/collection/components/co-skeleton/co-skeleton.js +83 -1
- package/dist/collection/components/co-slider/co-slider.js +2 -2
- package/dist/collection/components/co-switch/co-switch.css +3 -3
- 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 +2 -2
- package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
- package/dist/collection/components/co-textarea/co-textarea.js +4 -4
- package/dist/collection/components/co-time-field/co-time-field.css +111 -0
- package/dist/collection/components/co-time-field/co-time-field.js +536 -0
- package/dist/collection/components/co-toast/co-toast.css +13 -7
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-toggle-button/co-toggle-button.css +20 -14
- package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +14 -4
- package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.css +12 -1
- package/dist/collection/components/co-tooltip/co-tooltip.js +49 -16
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-video/co-video.js +34 -9
- package/dist/collection/utils/amountText.js +95 -0
- package/dist/collection/utils/color.js +109 -3
- package/dist/collection/utils/colorPickerI18n.js +55 -0
- package/dist/collection/utils/dateI18n.js +36 -0
- package/dist/collection/utils/fileI18n.js +3 -0
- package/dist/collection/utils/positioning.js +37 -4
- package/dist/collection/utils/submenu.js +35 -0
- package/dist/components/co-accordion.js +1 -1
- package/dist/components/co-action-bar.js +1 -1
- package/dist/components/co-app-shell.js +1 -1
- package/dist/components/co-audio-player.js +1 -1
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-avatar-group.js +1 -1
- package/dist/components/co-avatar.js +1 -1
- package/dist/components/co-badge.js +1 -1
- package/dist/components/co-breadcrumb-item.js +1 -1
- package/dist/components/co-breadcrumb.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-calendar-month.js +1 -1
- package/dist/components/co-calendar-timegrid.js +1 -1
- package/dist/components/co-calendar.js +1 -1
- package/dist/components/co-carousel.js +1 -1
- package/dist/components/co-checkbox-group.js +1 -1
- package/dist/components/co-checkbox.js +1 -1
- package/dist/components/co-chip.js +1 -1
- package/dist/components/co-color-picker.js +1 -1
- package/dist/components/co-column-picker.js +1 -1
- package/dist/components/co-combobox.js +1 -1
- package/dist/components/co-command-search.js +1 -1
- package/dist/components/co-data-table-pagination.js +1 -1
- package/dist/components/co-data-table.js +1 -1
- package/dist/components/co-date-field.js +1 -1
- package/dist/components/co-date-picker.js +1 -1
- package/dist/components/co-date-range-picker.js +1 -1
- package/dist/components/co-date-range.js +1 -1
- package/dist/components/co-date-time-picker.js +1 -1
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-drive-card.js +1 -1
- package/dist/components/co-drop-zone.js +1 -1
- package/dist/components/co-emoji-picker.js +1 -1
- package/dist/components/co-empty-state.js +1 -1
- package/dist/components/co-event-calendar.js +1 -1
- package/dist/components/co-event-popover.js +1 -1
- package/dist/components/co-fab.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-file-type-tile.js +1 -1
- package/dist/components/co-helper-text.js +1 -1
- package/dist/components/co-icon-button.js +1 -1
- package/dist/components/co-icon.js +1 -1
- package/dist/components/co-input.js +1 -1
- package/dist/components/co-json-field.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-footer.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-media-thumb.js +1 -1
- package/dist/components/co-menu-divider.js +1 -1
- package/dist/components/co-menu-item.js +1 -1
- package/dist/components/co-menu.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-navbar.js +1 -1
- package/dist/components/co-number-field.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-page-header.js +1 -1
- package/dist/components/co-phone-field.js +1 -1
- package/dist/components/co-popover.js +1 -1
- package/dist/components/co-progress-bar.js +1 -1
- package/dist/components/co-progress-circle.js +1 -1
- package/dist/components/co-radio-group.js +1 -1
- package/dist/components/co-radio.js +1 -1
- package/dist/components/co-rating.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-rich-text-editor.js +1 -1
- package/dist/components/co-rich-text-toolbar.js +1 -1
- package/dist/components/co-rich-text-viewer.js +1 -1
- package/dist/components/co-row.js +1 -1
- package/dist/components/co-select.js +1 -1
- package/dist/components/co-separator.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-sidebar.js +1 -1
- package/dist/components/co-skeleton.js +1 -1
- package/dist/components/co-slider.js +1 -1
- package/dist/components/co-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-time-field.d.ts +11 -0
- package/dist/components/co-time-field.js +1 -0
- package/dist/components/co-toast.js +1 -1
- package/dist/components/co-toggle-button-group.js +1 -1
- package/dist/components/co-toggle-button.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/co-transfer-list.js +1 -1
- package/dist/components/co-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-7TncUlLN.js +1 -0
- package/dist/components/p-B4NCaKrR.js +1 -0
- package/dist/components/p-B9xitpGU.js +1 -0
- package/dist/components/{p-Dabi98BI.js → p-BGDqldEg.js} +1 -1
- package/dist/components/p-BRbgGqLw.js +1 -0
- package/dist/components/{p-BL0sCfMH.js → p-Bryf3-Js.js} +1 -1
- package/dist/components/{p-D6OUW6oW.js → p-CBTGN490.js} +1 -1
- package/dist/components/{p-P8wvwhM2.js → p-CFFDmGPS.js} +1 -1
- package/dist/components/p-CLsAo0-A.js +1 -0
- package/dist/components/{p-CA_JAK9s.js → p-CT2enQ6h.js} +1 -1
- package/dist/components/p-D2ldYZo1.js +1 -0
- package/dist/components/{p-CuZXTvDM.js → p-D3mVYO-G.js} +1 -1
- package/dist/components/p-DDV_bRcU.js +1 -0
- package/dist/components/p-DFHRS9cJ.js +1 -0
- package/dist/components/{p-Dj1EZ5qD.js → p-DNJAIVfI.js} +1 -1
- package/dist/{cobalt/p-WeuPA9Rw.js → components/p-DOL2zACE.js} +1 -1
- package/dist/components/p-DRP8D9ro.js +1 -0
- package/dist/components/p-DSnJWzQw.js +1 -0
- package/dist/components/p-DTi2O4O8.js +1 -0
- package/dist/components/p-De7w9k6_.js +1 -0
- package/dist/components/{p-D5EdMieb.js → p-DoHLTC0n.js} +1 -1
- package/dist/components/{p-Bxk96Zgc.js → p-Du_CgT5E.js} +1 -1
- package/dist/components/p-DxtNejr2.js +1 -0
- package/dist/components/{p-BHYtxTzM.js → p-HxVRXXXC.js} +1 -1
- package/dist/components/{p-B0Dc-I_C.js → p-NNxjElcX.js} +1 -1
- package/dist/components/p-gKnOhsd2.js +1 -0
- package/dist/components/p-jYd9gu_c.js +1 -0
- package/dist/components/{p-D4qzGifz.js → p-vby0ITbe.js} +1 -1
- package/dist/components/p-wjt4IAGZ.js +1 -0
- package/dist/components/p-zuhal3IZ.js +1 -0
- package/dist/esm/co-accordion.entry.js +5 -5
- package/dist/esm/co-action-bar.entry.js +2 -2
- package/dist/esm/co-app-shell.entry.js +4 -4
- package/dist/esm/co-audio-player.entry.js +83 -13
- package/dist/esm/co-autocomplete.entry.js +2 -2
- package/dist/esm/co-avatar-group.entry.js +1 -1
- package/dist/esm/co-avatar.entry.js +70 -0
- package/dist/esm/co-badge.entry.js +11 -3
- package/dist/esm/co-bottom-sheet.entry.js +1 -1
- package/dist/esm/co-breadcrumb-item.entry.js +1 -1
- package/dist/esm/co-breadcrumb.entry.js +1 -1
- package/dist/esm/co-button-group.entry.js +1 -1
- package/dist/esm/co-button.entry.js +2 -2
- package/dist/esm/co-calendar-month_2.entry.js +37 -2
- package/dist/esm/co-calendar_3.entry.js +27 -15
- package/dist/esm/co-card.entry.js +1 -1
- package/dist/esm/co-carousel-item.entry.js +1 -1
- package/dist/esm/co-carousel.entry.js +2 -2
- package/dist/esm/co-checkbox-group.entry.js +2 -2
- package/dist/esm/co-checkbox.entry.js +6 -6
- package/dist/esm/co-chip_2.entry.js +68 -13
- package/dist/esm/co-color-picker.entry.js +1078 -27
- package/dist/esm/co-column-picker.entry.js +3 -3
- package/dist/esm/co-combobox.entry.js +2 -2
- package/dist/esm/co-command-search.entry.js +1 -1
- package/dist/esm/co-data-table-pagination.entry.js +5 -5
- package/dist/esm/co-data-table.entry.js +83 -5
- package/dist/esm/co-date-picker.entry.js +3 -3
- package/dist/esm/co-date-range-picker.entry.js +3 -3
- package/dist/esm/co-date-range.entry.js +2 -2
- package/dist/esm/co-date-time-picker.entry.js +101 -130
- package/dist/esm/co-drive-card.entry.js +2 -2
- package/dist/esm/co-drop-zone.entry.js +2 -2
- package/dist/esm/co-emoji-picker.entry.js +4 -4
- package/dist/esm/co-empty-state.entry.js +4 -4
- package/dist/esm/co-event-calendar.entry.js +4 -4
- package/dist/esm/co-event-popover.entry.js +3 -3
- package/dist/esm/co-fab.entry.js +3 -3
- package/dist/esm/co-file-field.entry.js +95 -99
- package/dist/esm/co-file-type-tile.entry.js +3 -3
- package/dist/esm/co-helper-text.entry.js +3 -3
- package/dist/esm/co-icon-button.entry.js +6 -6
- package/dist/esm/co-icon.entry.js +3 -3
- package/dist/esm/co-input.entry.js +32 -6
- package/dist/esm/co-json-field.entry.js +5 -5
- package/dist/esm/co-lightbox.entry.js +204 -21
- package/dist/esm/co-list-footer.entry.js +2 -2
- package/dist/esm/co-list-item.entry.js +5 -5
- package/dist/esm/co-loader.entry.js +1 -1
- package/dist/esm/co-media-thumb.entry.js +3 -3
- package/dist/esm/co-menu-divider.entry.js +2 -2
- package/dist/esm/co-menu-item.entry.js +85 -4
- package/dist/esm/co-menu.entry.js +2 -2
- package/dist/esm/co-modal.entry.js +10 -4
- package/dist/esm/co-navbar.entry.js +4 -4
- package/dist/esm/co-number-field.entry.js +272 -9
- package/dist/esm/co-overlay.entry.js +6 -4
- package/dist/esm/co-page-header.entry.js +2 -2
- package/dist/esm/co-phone-field.entry.js +3 -3
- package/dist/esm/co-popover.entry.js +58 -21
- package/dist/esm/co-progress-bar.entry.js +3 -3
- package/dist/esm/co-progress-circle.entry.js +3 -3
- package/dist/esm/co-provider-logo_2.entry.js +47 -3
- package/dist/esm/co-radio-group.entry.js +1 -1
- package/dist/esm/co-radio.entry.js +4 -4
- package/dist/esm/co-rating.entry.js +4 -4
- package/dist/esm/co-ref-field.entry.js +104 -13
- package/dist/esm/co-rich-text-editor.entry.js +11 -8
- package/dist/esm/co-rich-text-toolbar.entry.js +7 -3
- package/dist/esm/co-rich-text-viewer.entry.js +4 -3
- package/dist/esm/co-row.entry.js +3 -3
- package/dist/esm/co-segmented-bar.entry.js +1 -1
- package/dist/esm/co-select.entry.js +6 -6
- package/dist/esm/co-separator.entry.js +2 -2
- package/dist/esm/co-sidebar-nav.entry.js +2 -2
- package/dist/esm/co-sidebar.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/co-tab.entry.js +3 -3
- package/dist/esm/co-tags-field.entry.js +8 -8
- package/dist/esm/co-textarea.entry.js +6 -6
- package/dist/esm/co-time-field.entry.js +323 -0
- 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-avatar_2.entry.js → co-tooltip.entry.js} +49 -84
- package/dist/esm/co-transfer-list.entry.js +1 -1
- package/dist/esm/co-video.entry.js +32 -7
- package/dist/esm/cobalt.js +3 -3
- package/dist/esm/color-BRbgGqLw.js +136 -0
- package/dist/esm/{dateI18n-CnNpoKwg.js → dateI18n-jYd9gu_c.js} +36 -0
- package/dist/esm/{fieldChip-DsAfq1e0.js → fieldChip-uyggU8VV.js} +1 -1
- package/dist/esm/fileI18n-gKnOhsd2.js +84 -0
- package/dist/esm/{index-RuXxdKzC.js → index-68iUQp5j.js} +28 -10
- package/dist/esm/{index-CrtiywTB.js → index-DH5lfRNj.js} +35 -27
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{positioning-BMdapAL8.js → positioning-DFHRS9cJ.js} +32 -13
- package/dist/esm/{requiredMark-DCD-ZA51.js → requiredMark-BCJUuZvC.js} +1 -1
- package/dist/esm/{toolbar-config-WeuPA9Rw.js → toolbar-config-DOL2zACE.js} +10 -0
- package/dist/types/components/co-accordion/co-accordion.d.ts +6 -0
- package/dist/types/components/co-audio-player/co-audio-player.d.ts +25 -0
- package/dist/types/components/co-badge/co-badge.d.ts +7 -0
- package/dist/types/components/co-checkbox/co-checkbox.d.ts +5 -1
- package/dist/types/components/co-color-picker/co-color-picker.d.ts +360 -4
- package/dist/types/components/co-color-picker/presets.d.ts +107 -4
- package/dist/types/components/co-data-table/co-data-table.d.ts +15 -0
- package/dist/types/components/co-data-table/headerTruncationLogic.d.ts +24 -0
- package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +43 -21
- package/dist/types/components/co-drawer/co-drawer.d.ts +4 -3
- package/dist/types/components/co-file-field/co-file-field.d.ts +14 -0
- package/dist/types/components/co-file-field/co-file-field.utils.d.ts +18 -1
- package/dist/types/components/co-icon-button/co-icon-button.d.ts +9 -0
- package/dist/types/components/co-input/co-input.d.ts +9 -1
- package/dist/types/components/co-lightbox/co-lightbox.d.ts +60 -4
- package/dist/types/components/co-menu-item/co-menu-item.d.ts +16 -0
- package/dist/types/components/co-modal/co-modal.d.ts +10 -0
- package/dist/types/components/co-number-field/co-number-field.d.ts +42 -1
- package/dist/types/components/co-option-list/co-option-list.d.ts +16 -0
- package/dist/types/components/co-option-list/optionListLogic.d.ts +23 -6
- package/dist/types/components/co-overlay/co-overlay.d.ts +4 -2
- package/dist/types/components/co-popover/co-popover.d.ts +16 -0
- package/dist/types/components/co-ref-field/co-ref-field.d.ts +38 -0
- package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +1 -1
- package/dist/types/components/co-select/co-select.d.ts +6 -0
- package/dist/types/components/co-skeleton/co-skeleton.d.ts +13 -0
- package/dist/types/components/co-time-field/co-time-field.d.ts +60 -0
- package/dist/types/components/co-tooltip/co-tooltip.d.ts +5 -0
- package/dist/types/components/co-video/co-video.d.ts +4 -0
- package/dist/types/components.d.ts +530 -90
- package/dist/types/utils/amountText.d.ts +34 -0
- package/dist/types/utils/color.d.ts +44 -1
- package/dist/types/utils/colorPickerI18n.d.ts +26 -0
- package/dist/types/utils/dateI18n.d.ts +12 -0
- package/dist/types/utils/fileI18n.d.ts +1 -0
- package/dist/types/utils/positioning.d.ts +10 -0
- package/dist/types/utils/submenu.d.ts +44 -0
- package/package.json +3 -3
- package/dist/cjs/color-YhUkm10t.js +0 -32
- package/dist/cjs/time-LBHtzLHe.js +0 -42
- package/dist/cobalt/p-07904986.entry.js +0 -1
- package/dist/cobalt/p-09799193.entry.js +0 -1
- package/dist/cobalt/p-17ae943c.entry.js +0 -1
- package/dist/cobalt/p-23a103a0.entry.js +0 -1
- package/dist/cobalt/p-2f88d151.entry.js +0 -1
- package/dist/cobalt/p-3495fda1.entry.js +0 -1
- package/dist/cobalt/p-409f28bb.entry.js +0 -1
- package/dist/cobalt/p-682b3313.entry.js +0 -1
- package/dist/cobalt/p-6bf814f9.entry.js +0 -1
- package/dist/cobalt/p-7532c739.entry.js +0 -1
- package/dist/cobalt/p-76420ac1.entry.js +0 -1
- package/dist/cobalt/p-7c88163e.entry.js +0 -1
- package/dist/cobalt/p-7cf4b4ae.entry.js +0 -1
- package/dist/cobalt/p-7ea87b75.entry.js +0 -1
- package/dist/cobalt/p-8183f56f.entry.js +0 -1
- package/dist/cobalt/p-8345b25f.entry.js +0 -1
- package/dist/cobalt/p-93c68029.entry.js +0 -1
- package/dist/cobalt/p-983af614.entry.js +0 -1
- package/dist/cobalt/p-BG4WRR22.js +0 -1
- package/dist/cobalt/p-BMdapAL8.js +0 -1
- package/dist/cobalt/p-CF8OB_TM.js +0 -1
- package/dist/cobalt/p-CnNpoKwg.js +0 -1
- package/dist/cobalt/p-T4la7ly_.js +0 -1
- package/dist/cobalt/p-a2d31248.entry.js +0 -1
- package/dist/cobalt/p-a6b5cadd.entry.js +0 -1
- package/dist/cobalt/p-a8c64cc3.entry.js +0 -1
- package/dist/cobalt/p-b8581787.entry.js +0 -1
- package/dist/cobalt/p-bcedbd73.entry.js +0 -1
- package/dist/cobalt/p-da18b5f4.entry.js +0 -1
- package/dist/cobalt/p-dea43204.entry.js +0 -1
- package/dist/cobalt/p-dfcf667d.entry.js +0 -1
- package/dist/cobalt/p-dfd25f1d.entry.js +0 -1
- package/dist/cobalt/p-e6882ddd.entry.js +0 -1
- package/dist/cobalt/p-e84eda2e.entry.js +0 -1
- package/dist/cobalt/p-f25967fb.entry.js +0 -1
- package/dist/cobalt/p-f5f1b463.entry.js +0 -1
- package/dist/cobalt/p-fd39f410.entry.js +0 -1
- package/dist/cobalt/p-mAGnZXRn.js +0 -1
- package/dist/components/p-BMdapAL8.js +0 -1
- package/dist/components/p-BTQEg3UO.js +0 -1
- package/dist/components/p-Bbny3WUc.js +0 -1
- package/dist/components/p-Bz0QZqnB.js +0 -1
- package/dist/components/p-CF8OB_TM.js +0 -1
- package/dist/components/p-CR0izsJC.js +0 -1
- package/dist/components/p-CnNpoKwg.js +0 -1
- package/dist/components/p-DI1ek0EB.js +0 -1
- package/dist/components/p-DP0bbhfN.js +0 -1
- package/dist/components/p-D_9BRkj6.js +0 -1
- package/dist/components/p-DbipMAyT.js +0 -1
- package/dist/components/p-DgUBcJIS.js +0 -1
- package/dist/components/p-DolCkNsL.js +0 -1
- package/dist/components/p-hfGFsvaD.js +0 -1
- package/dist/esm/color-BG4WRR22.js +0 -30
- package/dist/esm/time-CF8OB_TM.js +0 -37
|
@@ -2,8 +2,10 @@ import { EventEmitter } from '../../stencil-public-runtime';
|
|
|
2
2
|
import type { Placement } from '../../utils/positioning';
|
|
3
3
|
/**
|
|
4
4
|
* Date + TIME picker: one field, one popover. Composes `co-popover` (floating
|
|
5
|
-
* panel, outside-click) + `co-calendar` (day grid) + a
|
|
6
|
-
*
|
|
5
|
+
* panel, outside-click) + `co-calendar` (day grid) + a side panel with
|
|
6
|
+
* shortcuts (`presetIds`: morning/noon/afternoon/endOfDay/now) and a segmented
|
|
7
|
+
* `co-time-field` (hh:mm, PageUp/PageDown stepping by `stepMinutes`) for the
|
|
8
|
+
* exact hour, plus a "Listo" button.
|
|
7
9
|
*
|
|
8
10
|
* VALUE CONTRACT — the committed `value` is a UTC ISO instant
|
|
9
11
|
* ("2026-07-25T21:30:00.000Z"), never a wall-clock string. The wall clock the
|
|
@@ -16,16 +18,26 @@ import type { Placement } from '../../utils/positioning';
|
|
|
16
18
|
* would shift the day west of UTC).
|
|
17
19
|
*
|
|
18
20
|
* INTERACTION (Google):
|
|
19
|
-
* - Click the field → opens. Picking a DAY commits
|
|
20
|
-
*
|
|
21
|
-
*
|
|
21
|
+
* - Click the field → opens. Picking a DAY commits (with the current DRAFT
|
|
22
|
+
* hour, not the previously committed one) and keeps the panel open — you
|
|
23
|
+
* almost always want to set the hour next.
|
|
24
|
+
* - The exact time is a DRAFT (`draftMinutes`) while `co-time-field` is
|
|
25
|
+
* edited (`coInput`) — editing alone never commits. It only commits (and
|
|
26
|
+
* closes) on: clicking a shortcut, Enter/`coCommit` from the time field,
|
|
27
|
+
* or the "Listo" button.
|
|
28
|
+
* - Outside click — and, on mobile, swiping the bottom sheet down — commits
|
|
29
|
+
* the draft if it changed, then closes: the same "apply on blur" model a
|
|
30
|
+
* text field uses.
|
|
31
|
+
* - Escape is the opposite: an explicit DISCARD. It closes WITHOUT applying
|
|
32
|
+
* the draft and returns focus to the trigger field.
|
|
22
33
|
* - ArrowDown on the field → moves focus into the calendar grid.
|
|
23
|
-
* -
|
|
24
|
-
*
|
|
25
|
-
*
|
|
34
|
+
* - Mobile (viewport ≤ `mobileBreakpoint`) renders the same panel as a
|
|
35
|
+
* bottom sheet (`co-drawer position="bottom"`) instead of the desktop
|
|
36
|
+
* popover; the draft/commit/discard model is identical.
|
|
26
37
|
*
|
|
27
|
-
* Escape is owned here (co-popover `closeOnEscape=false`) so focus can return
|
|
28
|
-
* the field; outside-click
|
|
38
|
+
* Escape is owned here (co-popover `closeOnEscape=false`) so focus can return
|
|
39
|
+
* to the field; outside-click/sheet-dismiss stay with co-popover/co-drawer and
|
|
40
|
+
* are handled by `closeApplyingDraft` (see its doc for the Escape asymmetry).
|
|
29
41
|
*
|
|
30
42
|
* @part field - The bordered trigger row
|
|
31
43
|
* @part label - The field label
|
|
@@ -39,8 +51,10 @@ export declare class CoDateTimePicker {
|
|
|
39
51
|
value: string | null;
|
|
40
52
|
/** IANA zone the wall clock is rendered in. Defaults to the browser zone. */
|
|
41
53
|
timeZone?: string;
|
|
42
|
-
/**
|
|
54
|
+
/** Paso de PageUp/PageDown del campo de hora (antes: paso de la lista). */
|
|
43
55
|
stepMinutes: number;
|
|
56
|
+
/** Atajos del panel, en orden. Ids del catálogo: morning|noon|afternoon|endOfDay|now. */
|
|
57
|
+
presetIds: string[] | string;
|
|
44
58
|
/** 12-hour clock (Google style). `false` renders a 24h clock. */
|
|
45
59
|
hour12: boolean;
|
|
46
60
|
/** Earliest selectable day. Date-only "YYYY-MM-DD" or an instant. */
|
|
@@ -77,8 +91,8 @@ export declare class CoDateTimePicker {
|
|
|
77
91
|
mobileBreakpoint: number;
|
|
78
92
|
/** True when the viewport is at/under `mobileBreakpoint`. */
|
|
79
93
|
isMobile: boolean;
|
|
80
|
-
/** Minutes-of-day
|
|
81
|
-
|
|
94
|
+
/** Minutes-of-day drafted in the exact-time field (co-time-field), not yet committed. */
|
|
95
|
+
draftMinutes: number;
|
|
82
96
|
/** Committed instant (UTC ISO) or null. */
|
|
83
97
|
coChange: EventEmitter<string | null>;
|
|
84
98
|
coClear: EventEmitter<void>;
|
|
@@ -89,15 +103,13 @@ export declare class CoDateTimePicker {
|
|
|
89
103
|
private popoverEl?;
|
|
90
104
|
private calendarEl?;
|
|
91
105
|
private triggerBtn?;
|
|
92
|
-
private listEl?;
|
|
93
106
|
private pendingFocusGrid;
|
|
94
107
|
private pendingFocusTrigger;
|
|
95
|
-
/** 'center' when the list is (re)opened, 'nearest' while arrowing through it. */
|
|
96
|
-
private pendingScroll;
|
|
97
108
|
private mql?;
|
|
98
109
|
private mqlHandler;
|
|
99
110
|
connectedCallback(): void;
|
|
100
111
|
disconnectedCallback(): void;
|
|
112
|
+
componentWillLoad(): void;
|
|
101
113
|
onOpenChange(next: boolean): void;
|
|
102
114
|
private get zone();
|
|
103
115
|
private get isInvalid();
|
|
@@ -112,17 +124,27 @@ export declare class CoDateTimePicker {
|
|
|
112
124
|
private onClearClick;
|
|
113
125
|
private onCalendarSelect;
|
|
114
126
|
private pickTime;
|
|
115
|
-
private
|
|
127
|
+
private static readonly PRESET_CATALOG;
|
|
128
|
+
private get presets();
|
|
129
|
+
private onTimeFieldInput;
|
|
130
|
+
private onTimeFieldCommit;
|
|
116
131
|
private onPopoverOpen;
|
|
132
|
+
/**
|
|
133
|
+
* Closes applying whatever is drafted (R7) — outside click / drawer
|
|
134
|
+
* swipe-down behave like a field's blur: what you typed sticks. This is
|
|
135
|
+
* the ONLY path that commits the draft on close; Escape is the opposite —
|
|
136
|
+
* an explicit discard — and it does NOT go through here: `onRootKeyDown`
|
|
137
|
+
* flips `this.open` to `false` via `setOpen()` FIRST, so by the time the
|
|
138
|
+
* real co-popover/co-drawer finish closing and bubble their own `coClose`
|
|
139
|
+
* back to `onPopoverClose`/this drawer's `onCoClose`, the guard below
|
|
140
|
+
* already reads `false` and no-ops — the draft is discarded, not applied.
|
|
141
|
+
*/
|
|
142
|
+
private closeApplyingDraft;
|
|
117
143
|
private onPopoverClose;
|
|
118
144
|
private onRootKeyDown;
|
|
119
145
|
private focusGridSoon;
|
|
120
|
-
private scrollActiveIntoView;
|
|
121
146
|
componentDidRender(): void;
|
|
122
147
|
private get step();
|
|
123
|
-
/** Grid of minutes-of-day, plus the committed hour when it falls off-grid
|
|
124
|
-
* (an imported 16:37 meeting must stay visible and selectable). */
|
|
125
|
-
private get options();
|
|
126
148
|
private renderTrigger;
|
|
127
149
|
private renderPanel;
|
|
128
150
|
private renderHelper;
|
|
@@ -71,9 +71,10 @@ export declare class CoDrawer {
|
|
|
71
71
|
private stopPropagation;
|
|
72
72
|
private handleTransitionEnd;
|
|
73
73
|
private asideEl?;
|
|
74
|
-
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
74
|
+
/** Ref del aside — SIEMPRE adjunto (handleTransitionEnd lo necesita como
|
|
75
|
+
* target). Modeless only: además mantiene el aside promovido al top layer
|
|
76
|
+
* para toda su vida (mirrors co-overlay's syncPopover; eviction on
|
|
77
|
+
* disconnect is automatic). */
|
|
77
78
|
private promoteModeless;
|
|
78
79
|
componentDidLoad(): void;
|
|
79
80
|
render(): any;
|
|
@@ -107,6 +107,11 @@ export declare class CoFileField {
|
|
|
107
107
|
private lastFilesStr;
|
|
108
108
|
private lastParsed;
|
|
109
109
|
private lightboxEl?;
|
|
110
|
+
/** Seeding `@State` here and not on the class field: the @stencil/vitest
|
|
111
|
+
* transform doesn't apply field defaults before the first render, so a
|
|
112
|
+
* `failedPreviews.has(...)` in render() would blow up on a bare Set
|
|
113
|
+
* (precedente co-data-table / co-audio-player). */
|
|
114
|
+
componentWillLoad(): void;
|
|
110
115
|
connectedCallback(): void;
|
|
111
116
|
disconnectedCallback(): void;
|
|
112
117
|
private get parsedFiles();
|
|
@@ -126,6 +131,15 @@ export declare class CoFileField {
|
|
|
126
131
|
private handleInputChange;
|
|
127
132
|
private keyFor;
|
|
128
133
|
private handleCopy;
|
|
134
|
+
/**
|
|
135
|
+
* The previews grid and the lightbox gallery MUST agree on what they show,
|
|
136
|
+
* or the index the viewer opens on points at the wrong file. One factory,
|
|
137
|
+
* two call sites.
|
|
138
|
+
*
|
|
139
|
+
* A video stays in the grid even when its poster fails to load (the card
|
|
140
|
+
* falls back to the type tile) — dropping it would leave no way to play it.
|
|
141
|
+
*/
|
|
142
|
+
private previewItems;
|
|
129
143
|
/**
|
|
130
144
|
* Opens the clicked image in a co-lightbox with the SAME gallery the
|
|
131
145
|
* previews grid shows. The lightbox is created imperatively on
|
|
@@ -8,11 +8,28 @@ export declare function formatBytes(bytes: number | undefined): string;
|
|
|
8
8
|
* digits/punctuation, and file names start with digits all the time.
|
|
9
9
|
*/
|
|
10
10
|
export declare function truncateLeft(name: string, max?: number): string;
|
|
11
|
+
/**
|
|
12
|
+
* Lower-cased extension of an item — from its name, falling back to its url.
|
|
13
|
+
* The fallback is not decoration: hosts derive `name` from whatever the record
|
|
14
|
+
* gives them (form-vue: `fileName || name || originalName || id`), so a File
|
|
15
|
+
* populated without `fileName` arrives named after its id, extensionless, with
|
|
16
|
+
* the only ".mov" in sight sitting in the url.
|
|
17
|
+
*/
|
|
18
|
+
export declare function fileExtension(item: FileItem): string;
|
|
19
|
+
/**
|
|
20
|
+
* A stored video we can hand to a player. `url` is required on purpose: the
|
|
21
|
+
* thumbnail is a poster frame, not the media — an item with only a poster has
|
|
22
|
+
* nothing to play.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isVideo(item: FileItem): boolean;
|
|
11
25
|
/** An item renders in the previews grid when it's a stored image we can show. */
|
|
12
26
|
export declare function isImage(item: FileItem): boolean;
|
|
27
|
+
/** Items that earn a card in the previews grid: images and videos alike. */
|
|
28
|
+
export declare function isPreviewable(item: FileItem): boolean;
|
|
13
29
|
/**
|
|
14
30
|
* Best lightbox source: the original `url` only when it is itself an image —
|
|
15
31
|
* a PDF that entered the grid via its server-generated thumbnail must open
|
|
16
|
-
* the thumbnail (an `<img>` can't render the PDF).
|
|
32
|
+
* the thumbnail (an `<img>` can't render the PDF). A video always resolves to
|
|
33
|
+
* the media itself; its poster travels separately as the player's `poster`.
|
|
17
34
|
*/
|
|
18
35
|
export declare function previewSrc(item: FileItem): string | undefined;
|
|
@@ -37,6 +37,15 @@ export declare class CoIconButton {
|
|
|
37
37
|
label: string;
|
|
38
38
|
/** Phosphor icon name (e.g. "plus", "gear"). Renders co-icon inside the button. */
|
|
39
39
|
icon?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Second icon of the swap (play/pause, hamburger/x). With it set, `toggled`
|
|
42
|
+
* picks which one shows. ⚠️ The swap's crossfade drops the icon name as the
|
|
43
|
+
* accessible name source — with `toggleIcon` set, the consumer MUST pass
|
|
44
|
+
* `label` explicitly (the icon alone no longer describes the state).
|
|
45
|
+
*/
|
|
46
|
+
toggleIcon?: string;
|
|
47
|
+
/** Swap state: false → `icon`, true → `toggleIcon`. */
|
|
48
|
+
toggled: boolean;
|
|
40
49
|
/** Icon weight */
|
|
41
50
|
iconWeight: 'regular' | 'thin' | 'light' | 'bold' | 'fill' | 'duotone';
|
|
42
51
|
render(): any;
|
|
@@ -89,10 +89,17 @@ export declare class CoInput {
|
|
|
89
89
|
/** Emitted when the integrated action button is clicked */
|
|
90
90
|
coAction: EventEmitter<void>;
|
|
91
91
|
hasFocus: boolean;
|
|
92
|
+
/** Sacudida en curso — se limpia en el animationend del keyframe para poder re-disparar. */
|
|
93
|
+
shaking: boolean;
|
|
94
|
+
onStatusChange(newVal: string, oldVal: string): void;
|
|
92
95
|
el: HTMLElement;
|
|
93
96
|
private inputEl?;
|
|
94
97
|
/** Programmatically focus the inner input (post-hydration safe). */
|
|
95
|
-
|
|
98
|
+
/** Enfoca el input nativo. `options` se reenvía a `focus()` — p. ej.
|
|
99
|
+
* `{ preventScroll: true }` para un buscador que vive en un panel
|
|
100
|
+
* top-layer (co-popover): el scroll nativo hacia el foco trepa por los
|
|
101
|
+
* ancestros del light DOM y arrastra al host (drawer) sin necesidad. */
|
|
102
|
+
setFocus(options?: FocusOptions): Promise<void>;
|
|
96
103
|
componentDidLoad(): void;
|
|
97
104
|
private handleInput;
|
|
98
105
|
private handleChange;
|
|
@@ -101,6 +108,7 @@ export declare class CoInput {
|
|
|
101
108
|
private handleKeyDown;
|
|
102
109
|
private handleClear;
|
|
103
110
|
private handleAction;
|
|
111
|
+
private handleShakeEnd;
|
|
104
112
|
private get hasAction();
|
|
105
113
|
private get hasValue();
|
|
106
114
|
private get statusFieldIcon();
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
export interface LightboxImage {
|
|
3
|
-
/** Full-size image URL. */
|
|
3
|
+
/** Full-size image URL — or, on a video slide, the media itself. */
|
|
4
4
|
src: string;
|
|
5
5
|
/** Optional smaller preview (unused while rendering, kept for hosts). */
|
|
6
6
|
thumbnail?: string;
|
|
7
7
|
/** Caption / aria text (usually the file name). */
|
|
8
8
|
alt?: string;
|
|
9
|
+
/** What the slide renders. Omitted means 'image' (every pre-video host). */
|
|
10
|
+
kind?: 'image' | 'video';
|
|
11
|
+
/** Poster frame for a video slide (usually the server-side thumbnail). */
|
|
12
|
+
poster?: string;
|
|
9
13
|
}
|
|
10
14
|
/**
|
|
11
|
-
* Fullscreen
|
|
15
|
+
* Fullscreen media viewer — dark scrim, zoom (wheel / buttons / double-click,
|
|
12
16
|
* anchored at the cursor), drag-to-pan while zoomed, and prev/next carousel
|
|
13
|
-
* when more than one
|
|
17
|
+
* when more than one item is provided. Keyboard: Escape closes, arrows
|
|
14
18
|
* navigate, +/- zoom, 0 resets.
|
|
15
19
|
*
|
|
20
|
+
* An item with `kind: 'video'` mounts a `co-video` instead of an `<img>`:
|
|
21
|
+
* zoom/pan make no sense over a seek bar, so they are disabled (and their
|
|
22
|
+
* toolbar cluster hidden) for as long as that slide is active.
|
|
23
|
+
*
|
|
16
24
|
* Controlled like co-modal: the host owns `open` and reacts to `coClose`.
|
|
17
25
|
*
|
|
18
26
|
* CAVEAT: the root is `position: fixed`, so an ancestor with `transform`,
|
|
@@ -24,6 +32,7 @@ export interface LightboxImage {
|
|
|
24
32
|
* @part overlay - Fullscreen scrim container
|
|
25
33
|
* @part toolbar - Top bar (caption + zoom controls + actions)
|
|
26
34
|
* @part image - The active image element
|
|
35
|
+
* @part video - The co-video player on a video slide
|
|
27
36
|
* @part prev - Previous-image arrow button
|
|
28
37
|
* @part next - Next-image arrow button
|
|
29
38
|
* @part counter - The "i / n" indicator
|
|
@@ -50,6 +59,13 @@ export declare class CoLightbox {
|
|
|
50
59
|
dragging: boolean;
|
|
51
60
|
private stageEl?;
|
|
52
61
|
private imgEl?;
|
|
62
|
+
private playerEl?;
|
|
63
|
+
/** Set when the viewer opens, consumed by the first player that mounts:
|
|
64
|
+
* opening ON a video plays it, arrowing INTO one does not.
|
|
65
|
+
* Declared WITHOUT an initializer on purpose: componentWillLoad seeds it,
|
|
66
|
+
* and a class-field default would clobber that seed under the
|
|
67
|
+
* @stencil/vitest transform (which applies field defaults late). */
|
|
68
|
+
private pendingAutoplay?;
|
|
53
69
|
private closeBtnEl?;
|
|
54
70
|
private lastImagesStr;
|
|
55
71
|
private lastParsed;
|
|
@@ -58,6 +74,9 @@ export declare class CoLightbox {
|
|
|
58
74
|
private previouslyFocused?;
|
|
59
75
|
/** Focus the close button on the render that follows opening. */
|
|
60
76
|
private pendingFocus;
|
|
77
|
+
private get activeItem();
|
|
78
|
+
/** Zoom, pan and the toolbar's zoom cluster are all gated on this. */
|
|
79
|
+
private get isVideoSlide();
|
|
61
80
|
private get parsedImages();
|
|
62
81
|
componentWillLoad(): void;
|
|
63
82
|
connectedCallback(): void;
|
|
@@ -76,13 +95,50 @@ export declare class CoLightbox {
|
|
|
76
95
|
private attachKeyListener;
|
|
77
96
|
private detachKeyListener;
|
|
78
97
|
private handleKey;
|
|
79
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Minimal focus trap: Tab cycles through the viewer's own buttons — plus the
|
|
100
|
+
* player's, on a video slide. A shadow root is opaque to `querySelectorAll`,
|
|
101
|
+
* so co-video's controls have to be pulled in explicitly; without this the
|
|
102
|
+
* trap would cycle around the player and its play/seek would be unreachable
|
|
103
|
+
* by keyboard. (Safe because the viewer pins the controls visible: an
|
|
104
|
+
* auto-hidden control bar is `opacity: 0` and would take focus invisibly.)
|
|
105
|
+
*/
|
|
106
|
+
private focusables;
|
|
107
|
+
/** Deepest focused element, walking down through nested shadow roots. */
|
|
108
|
+
private deepActive;
|
|
109
|
+
/** True while the player owns this Escape: it is fullscreen (co-video enters
|
|
110
|
+
* through the webkit-prefixed API where that is all Safari has, so both
|
|
111
|
+
* spellings are checked), or its speed menu is open on top of it. */
|
|
112
|
+
private escapeBelongsToPlayer;
|
|
113
|
+
private isFocusInPlayer;
|
|
80
114
|
private trapTab;
|
|
81
115
|
private clampIndex;
|
|
82
116
|
private resetView;
|
|
83
117
|
private requestClose;
|
|
84
118
|
private goTo;
|
|
85
119
|
private preloadNeighbors;
|
|
120
|
+
private mountPlayer;
|
|
121
|
+
/**
|
|
122
|
+
* Autoplay rides the click that opened the viewer instead of co-video's own
|
|
123
|
+
* `autoplay` prop, which only fires when muted — and a silent video reads as
|
|
124
|
+
* a broken one. If the browser refuses the unmuted start (Safari), the
|
|
125
|
+
* rejection is swallowed and the player simply waits on its play button.
|
|
126
|
+
*
|
|
127
|
+
* Called from BOTH sides of a race: the player mounts on the first render,
|
|
128
|
+
* which hosts do while still closed (co-file-field fades the viewer in on
|
|
129
|
+
* the next frame), so `open` usually arrives second — but a host that
|
|
130
|
+
* renders the viewer already open flips the order.
|
|
131
|
+
*/
|
|
132
|
+
private tryAutoplay;
|
|
133
|
+
/**
|
|
134
|
+
* Ajusta la caja del slide al frame real. Sin esto el player es un rectángulo
|
|
135
|
+
* FIJO (ancho tope × alto tope) y el `object-fit: contain` deja franjas negras
|
|
136
|
+
* a los costados: en un vertical — el caso típico, una grabación de pantalla —
|
|
137
|
+
* la losa negra tapa media pantalla y se traga los clicks que el usuario dirige
|
|
138
|
+
* al scrim para cerrar.
|
|
139
|
+
*/
|
|
140
|
+
private handlePlayerReady;
|
|
141
|
+
private pauseVideo;
|
|
86
142
|
/** Pan is clamped so the scaled image can't be dragged fully off-stage. */
|
|
87
143
|
private clampPan;
|
|
88
144
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { Placement } from '../../utils/positioning';
|
|
2
3
|
/**
|
|
3
4
|
* Row inside a `co-menu`. Two modes:
|
|
4
5
|
*
|
|
@@ -44,6 +45,11 @@ export declare class CoMenuItem {
|
|
|
44
45
|
el: HTMLElement;
|
|
45
46
|
hasSubmenu: boolean;
|
|
46
47
|
submenuOpen: boolean;
|
|
48
|
+
/** Lado hacia el que este ítem PIDE abrir su submenú. Se recalcula en cada
|
|
49
|
+
* apertura (no en render) heredando la dirección del ancestro: para cuando
|
|
50
|
+
* el usuario puede hoverear una fila de este panel, el submenú del ancestro
|
|
51
|
+
* ya se posicionó y publicó su lado. Ver utils/submenu.ts. */
|
|
52
|
+
submenuPlacementValue: Placement;
|
|
47
53
|
private closeTimer?;
|
|
48
54
|
private rowEl?;
|
|
49
55
|
/** Programmatic focus — used by `co-menu`'s keyboard navigation. Named
|
|
@@ -58,6 +64,16 @@ export declare class CoMenuItem {
|
|
|
58
64
|
private handleMouseEnter;
|
|
59
65
|
private handleMouseLeave;
|
|
60
66
|
private openSubmenu;
|
|
67
|
+
/** El popover ya se posicionó: publicamos el lado RESUELTO (post-flip) en el
|
|
68
|
+
* host para que los co-menu-item anidados —hijos de light DOM— lo hereden.
|
|
69
|
+
* Va como atributo y no como evento que burbujee a propósito: `coPlacement`
|
|
70
|
+
* es `bubbles: false`, así que el de un submenú de adentro no se confunde
|
|
71
|
+
* con el nuestro. */
|
|
72
|
+
private handlePlacement;
|
|
73
|
+
/** Cierra el submenú YA (sin delay de gracia). Público: lo invoca el hermano
|
|
74
|
+
* que se está abriendo, mismo patrón cross-elemento que `focusItem`. */
|
|
75
|
+
closeSubmenu(): Promise<void>;
|
|
76
|
+
private closeSiblingSubmenus;
|
|
61
77
|
private scheduleClose;
|
|
62
78
|
private cancelClose;
|
|
63
79
|
render(): any;
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
/**
|
|
3
3
|
* @slot - Modal body content
|
|
4
|
+
* @slot header-leading - Control before the heading (e.g. a back arrow on a
|
|
5
|
+
* second screen of the same modal)
|
|
6
|
+
* @slot header-actions - Controls at the right end of the header (e.g. a settings
|
|
7
|
+
* icon-button), before the close button
|
|
4
8
|
* @slot footer - Footer with action buttons
|
|
9
|
+
* @part modal | header | header-text | heading | description | body | footer -
|
|
10
|
+
* layout/typography hooks for a consumer that must match a specific spec
|
|
11
|
+
* (paddings, heading weight); colors stay on semantic tokens
|
|
5
12
|
*/
|
|
6
13
|
export declare class CoModal {
|
|
7
14
|
/** Whether the modal is visible */
|
|
@@ -35,6 +42,9 @@ export declare class CoModal {
|
|
|
35
42
|
size: 'sm' | 'md' | 'lg' | 'full';
|
|
36
43
|
/** Hide body section and all border dividers (compact confirm dialogs) */
|
|
37
44
|
noDividers: boolean;
|
|
45
|
+
/** Hairline between header and body. `false` lets the body run straight
|
|
46
|
+
* under the heading (Figma modals whose first row is a segmented control). */
|
|
47
|
+
headerDivider: boolean;
|
|
38
48
|
/** Emitted when the modal requests to close */
|
|
39
49
|
coClose: EventEmitter<void>;
|
|
40
50
|
/** Close animation finished. */
|
|
@@ -30,9 +30,24 @@ export declare class CoNumberField {
|
|
|
30
30
|
* Display format. With 'rate' | 'percent' the `value` stays a DECIMAL
|
|
31
31
|
* (e.g. 0.15) but the field shows/edits the PERCENT (15) with a "%" suffix.
|
|
32
32
|
* value/min/max/step are always in the underlying (decimal) unit.
|
|
33
|
+
* With 'amount' the field is a live money mask: thousands separators while
|
|
34
|
+
* typing (1234.5 shows 1,234.5), typing restricted to digits and dot, and
|
|
35
|
+
* paste normalized whatever the source locale ("1.234,56" and "1,234.56"
|
|
36
|
+
* both commit 1234.56). The emitted value is always the raw number.
|
|
33
37
|
* Reflected so it survives lazy hydration when set via the Vue wrapper.
|
|
34
38
|
*/
|
|
35
|
-
format?: 'rate' | 'percent';
|
|
39
|
+
format?: 'rate' | 'percent' | 'amount';
|
|
40
|
+
/**
|
|
41
|
+
* Oculta los botones ± (campo numérico "plano": precio, tasa). Las flechas
|
|
42
|
+
* ↑↓ siguen escalonando. Reflejado para que el CSS del host lo lea.
|
|
43
|
+
*/
|
|
44
|
+
hideControls: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Sufijo de texto a la derecha del número (moneda, unidad). Reemplaza al "%"
|
|
47
|
+
* automático de `format`; cadena vacía = sin sufijo (útil cuando el slot
|
|
48
|
+
* `suffix` ya lleva el control que indica la unidad).
|
|
49
|
+
*/
|
|
50
|
+
suffix?: string;
|
|
36
51
|
focused: boolean;
|
|
37
52
|
el: HTMLElement;
|
|
38
53
|
coChange: EventEmitter<number | null>;
|
|
@@ -49,6 +64,12 @@ export declare class CoNumberField {
|
|
|
49
64
|
private clamp;
|
|
50
65
|
/** Whether the value↔display conversion (×100) is active. */
|
|
51
66
|
private get scaled();
|
|
67
|
+
/** Whether the live money mask (thousands separators, paste parsing) is on. */
|
|
68
|
+
private get isAmount();
|
|
69
|
+
/** El signo entra sólo cuando el rango lo admite (sin `min`, o `min` < 0). */
|
|
70
|
+
private get allowNegative();
|
|
71
|
+
/** Texto canónico del input para el valor actual (formateado en amount). */
|
|
72
|
+
private get displayValue();
|
|
52
73
|
/** Stored decimal → shown number (0.15 → 15). toFixed avoids FP artifacts. */
|
|
53
74
|
private toDisplay;
|
|
54
75
|
/** Typed number → stored decimal (15 → 0.15). */
|
|
@@ -57,8 +78,28 @@ export declare class CoNumberField {
|
|
|
57
78
|
private handleDecrement;
|
|
58
79
|
private handleIncrement;
|
|
59
80
|
private handleInput;
|
|
81
|
+
/**
|
|
82
|
+
* Modo amount: en cada input se rearma el display desde los dígitos (miles
|
|
83
|
+
* con coma, coma tipeada descartada, sólo un punto) y el caret se restituye
|
|
84
|
+
* contando caracteres significativos — reescribir `value` lo mandaría al
|
|
85
|
+
* final. El punto colgante ("1,234.") sobrevive porque se reformatea el
|
|
86
|
+
* TEXTO, no el número parseado.
|
|
87
|
+
*/
|
|
88
|
+
private handleAmountInput;
|
|
89
|
+
/**
|
|
90
|
+
* Pegar en modo amount: el texto llega con el formato de DONDE se copió
|
|
91
|
+
* (es-CO `1.234,56`, en-US `1,234.56`, la app `$ 34,640.00`), así que se
|
|
92
|
+
* interpreta con la heurística de separadores ANTES de empalmarlo con lo que
|
|
93
|
+
* ya había en el campo. Sin el preventDefault, el navegador escribiría el
|
|
94
|
+
* texto crudo y `parseFloat` cortaría en la primera coma (commit silencioso
|
|
95
|
+
* de 1 al pegar "1,234.56").
|
|
96
|
+
*/
|
|
97
|
+
private handlePaste;
|
|
60
98
|
private handleClear;
|
|
61
99
|
private handleBlur;
|
|
100
|
+
private syncInputText;
|
|
101
|
+
/** Texto del afijo: `suffix` explícito manda; si no, el "%" de los formatos escalados. */
|
|
102
|
+
private get affixText();
|
|
62
103
|
private handleFocus;
|
|
63
104
|
private handleKeyDown;
|
|
64
105
|
render(): any;
|
|
@@ -54,6 +54,9 @@ export declare class CoOptionList {
|
|
|
54
54
|
/** Término externo para highlight (input en el host, p.ej. ⌘K). */
|
|
55
55
|
highlightTerm: string;
|
|
56
56
|
avatarShape: 'circle' | 'square';
|
|
57
|
+
/** `end` pinta el suffix como columna a la derecha de la fila (precio/meta),
|
|
58
|
+
* sin el guion; `inline` = junto al label (default). */
|
|
59
|
+
suffixAlign: 'inline' | 'end';
|
|
57
60
|
/** Auto-resalta la primera fila navegable al montar y en cada cambio de
|
|
58
61
|
* items (paridad command-palette: tipear + Enter = primer resultado).
|
|
59
62
|
* Salta filas disabled vía nextActiveIndex. */
|
|
@@ -117,6 +120,19 @@ export declare class CoOptionList {
|
|
|
117
120
|
connectedCallback(): void;
|
|
118
121
|
disconnectedCallback(): void;
|
|
119
122
|
onItemsChange(): void;
|
|
123
|
+
/**
|
|
124
|
+
* Selected-first VIVO (decisión de producto 2026-09-14, campo Colaboradores):
|
|
125
|
+
* la partición sigue a `value` — marcar un ítem lo sube al bloque de
|
|
126
|
+
* seleccionados al instante y desmarcarlo lo devuelve a su lugar del orden del
|
|
127
|
+
* server. Reemplaza el snapshot congelado al abrir (evitaba saltos, pero se
|
|
128
|
+
* leía como "no pasó nada" al elegir). El reacomodo se anima con el mismo FLIP
|
|
129
|
+
* del reorder: tops capturados ANTES de re-particionar, runFlip corre en
|
|
130
|
+
* componentDidRender. El highlight de teclado se queda sobre el MISMO ítem
|
|
131
|
+
* (Enter sobre una fila la mueve; el índice viejo apuntaría a otra fila).
|
|
132
|
+
* Tras un drop del reorder el host manda el value en el orden del preview:
|
|
133
|
+
* mismo orden → deltas 0 → no-op visual.
|
|
134
|
+
*/
|
|
135
|
+
onValueChange(): void;
|
|
120
136
|
/** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
|
|
121
137
|
snapshotOrder(): Promise<void>;
|
|
122
138
|
/**
|
|
@@ -47,14 +47,31 @@ export declare function parseValue(raw: string): string[];
|
|
|
47
47
|
* snapshotDisplay los que la página actual no contiene) + resto en orden de
|
|
48
48
|
* server; buscando → solo resultados reales, seleccionados primero.
|
|
49
49
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
50
|
+
* El bloque idle se recorre por `snapshotIds` (Set ordenado por selección, igual
|
|
51
|
+
* que `snapshotDisplay`) resolviendo cada id contra la página primero y contra el
|
|
52
|
+
* display después. Así un seleccionado AUSENTE de `snapshotDisplay` pero presente
|
|
53
|
+
* en `items` sigue en la lista: `rest` filtra todo id del snapshot, así que sin
|
|
54
|
+
* esa resolución desaparecía de la lista entera, no sólo del bloque de arriba.
|
|
55
|
+
* Un id que no está en ninguna de las dos fuentes no tiene nada que pintar y se
|
|
56
|
+
* ignora (no hay label que mostrar).
|
|
56
57
|
*/
|
|
57
58
|
export declare function orderItems(items: OptionListItem[], snapshotIds: Set<string>, snapshotDisplay: OptionListItem[], searching: boolean): OptionListItem[];
|
|
59
|
+
/**
|
|
60
|
+
* ¿Hay que re-tomar el snapshot selected-first por el cambio del término?
|
|
61
|
+
*
|
|
62
|
+
* Sólo en el flanco "había búsqueda → ya no": volver a la lista completa es un
|
|
63
|
+
* contexto de listado nuevo, y ahí el bloque de arriba tiene que incluir lo que
|
|
64
|
+
* se seleccionó DURANTE la sesión del panel. Sin esto, un panel abierto sin nada
|
|
65
|
+
* seleccionado se quedaba con el snapshot VACÍO para siempre (`orderItems`
|
|
66
|
+
* cortocircuita en `size === 0`): lo elegido mientras se buscaba desaparecía de
|
|
67
|
+
* la lista al limpiar el término, porque el servidor devuelve la página 1 y esos
|
|
68
|
+
* registros casi nunca están ahí. Se leía como "se deselecciona solo".
|
|
69
|
+
*
|
|
70
|
+
* El re-snapshot por SELECCIÓN no pasa por acá: vive en el componente
|
|
71
|
+
* (`@Watch('value')`, selected-first vivo desde 2026-09-14 — marcar sube la fila
|
|
72
|
+
* al instante). Esta función solo decide el flanco del TÉRMINO.
|
|
73
|
+
*/
|
|
74
|
+
export declare function shouldResnapshotOnTerm(prevTerm: string, nextTerm: string): boolean;
|
|
58
75
|
/** Aplana a filas de render insertando un header cuando `group` cambia
|
|
59
76
|
* (groupItems de co-command-search). `index` cuenta solo items. */
|
|
60
77
|
export declare function buildRows(items: OptionListItem[]): OptionListRow[];
|
|
@@ -34,8 +34,10 @@ export declare class CoOverlay {
|
|
|
34
34
|
private releaseLock;
|
|
35
35
|
/**
|
|
36
36
|
* Promote the scrim to the browser top layer so it covers the whole viewport
|
|
37
|
-
* regardless of ancestor `
|
|
38
|
-
*
|
|
37
|
+
* regardless of ancestor containing blocks — `contain: layout` on the
|
|
38
|
+
* app-shell `.main` / `.co-drawer` / `.co-modal__frame` (which replaced the
|
|
39
|
+
* old ancestor `filter`/`mask`), or any `transform` — that would otherwise
|
|
40
|
+
* make `position: fixed` resolve against that ancestor, confining the scrim.
|
|
39
41
|
* The Popover API promotes WITHOUT moving the DOM node, so slots and Stencil
|
|
40
42
|
* reconciliation are untouched. No-ops gracefully where unsupported.
|
|
41
43
|
*/
|
|
@@ -25,7 +25,21 @@ export declare class CoPopover {
|
|
|
25
25
|
flip: boolean;
|
|
26
26
|
coOpen: EventEmitter<void>;
|
|
27
27
|
coClose: EventEmitter<void>;
|
|
28
|
+
/** El placement REAL con el que quedó el panel, ya pasado por el flip — que
|
|
29
|
+
* puede no ser el de la prop `placement`. Lo consume `co-menu-item` para que
|
|
30
|
+
* una cadena de submenús herede la dirección (ver utils/submenu.ts): sin
|
|
31
|
+
* esto, un submenú anidado vuelve a abrir hacia la derecha y se dibuja
|
|
32
|
+
* encima del menú padre del que salió.
|
|
33
|
+
*
|
|
34
|
+
* Se emite SOLO cuando el lado cambia (mismo guard que la clase del panel),
|
|
35
|
+
* así el path de scroll/resize no dispara un evento por tick. */
|
|
36
|
+
coPlacement: EventEmitter<{
|
|
37
|
+
placement: Placement;
|
|
38
|
+
}>;
|
|
28
39
|
el: HTMLElement;
|
|
40
|
+
/** Fase de salida: mantiene el panel montado mientras corre la transición de cierre. */
|
|
41
|
+
closing: boolean;
|
|
42
|
+
private closeFallbackTimer?;
|
|
29
43
|
private triggerEl?;
|
|
30
44
|
private panelEl?;
|
|
31
45
|
private rafId?;
|
|
@@ -36,6 +50,8 @@ export declare class CoPopover {
|
|
|
36
50
|
componentDidLoad(): void;
|
|
37
51
|
disconnectedCallback(): void;
|
|
38
52
|
onOpenChange(isOpen: boolean): void;
|
|
53
|
+
private finishClose;
|
|
54
|
+
private handlePanelTransitionEnd;
|
|
39
55
|
private bindDocListeners;
|
|
40
56
|
private unbindDocListeners;
|
|
41
57
|
toggle(): Promise<void>;
|