@shineuix/ssr 0.0.0-stage → 1.0.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/LICENSE +21 -0
- package/README.md +111 -2
- package/THIRD-PARTY-NOTICES.md +256 -0
- package/dist/components/index.d.ts +329 -0
- package/dist/components/index.js +1 -0
- package/dist/components/p-0NNDSmh0.js +1 -0
- package/dist/components/p-1XW6gKXd.js +1 -0
- package/dist/components/p-2OGp7Y2F.js +1 -0
- package/dist/components/p-3rGcn3Dk.js +1 -0
- package/dist/components/p-B-eMraLN.js +1 -0
- package/dist/components/p-B1-k9bVs.js +1 -0
- package/dist/components/p-B3hr5-fa.js +1 -0
- package/dist/components/p-BB3IbuND.js +1 -0
- package/dist/components/p-BBNN1byS.js +1 -0
- package/dist/components/p-BE4gZZNA.js +1 -0
- package/dist/components/p-BHB1Wprj.js +1 -0
- package/dist/components/p-BJYToX7G.js +1 -0
- package/dist/components/p-BLK-elHV.js +1 -0
- package/dist/components/p-BLxI_QCP.js +1 -0
- package/dist/components/p-BM1Zzj1H.js +1 -0
- package/dist/components/p-BOdn2vI7.js +1 -0
- package/dist/components/p-BQJXtvhG.js +1 -0
- package/dist/components/p-BSSeip34.js +1 -0
- package/dist/components/p-BU3LJP5B.js +1 -0
- package/dist/components/p-BUqcDxTK.js +1 -0
- package/dist/components/p-BWkzTEZX.js +1 -0
- package/dist/components/p-BeYfX4rQ.js +1 -0
- package/dist/components/p-BfkKvKcf.js +1 -0
- package/dist/components/p-BglXr2C4.js +1 -0
- package/dist/components/p-BirQihPv.js +1 -0
- package/dist/components/p-BkdpcGfq.js +1 -0
- package/dist/components/p-BnZU02lM.js +1 -0
- package/dist/components/p-Bpr2o3vT.js +1 -0
- package/dist/components/p-BpxmwysK.js +1 -0
- package/dist/components/p-Bt5Kx3zM.js +1 -0
- package/dist/components/p-BtgC2u2Q.js +1 -0
- package/dist/components/p-Btp15dVO.js +1 -0
- package/dist/components/p-BuyjS5bS.js +1 -0
- package/dist/components/p-BwHBOv1l.js +1 -0
- package/dist/components/p-BwkaZsaT.js +1 -0
- package/dist/components/p-Bzu70qWq.js +1 -0
- package/dist/components/p-C-6_KLLy.js +1 -0
- package/dist/components/p-C-tuu2jV.js +1 -0
- package/dist/components/p-C2EJFbyf.js +1 -0
- package/dist/components/p-C5TSOOMd.js +1 -0
- package/dist/components/p-C6J9xhWE.js +1 -0
- package/dist/components/p-C6hsDVJk.js +1 -0
- package/dist/components/p-CBiEHE-i.js +1 -0
- package/dist/components/p-CDaU9b47.js +1 -0
- package/dist/components/p-CDiy2nTd.js +1 -0
- package/dist/components/p-CFn_q23Q.js +1 -0
- package/dist/components/p-CGWvlrv_.js +1 -0
- package/dist/components/p-CJT4wCXG.js +47 -0
- package/dist/components/p-CSPVrtqf.js +1 -0
- package/dist/components/p-CUB_NKYi.js +1 -0
- package/dist/components/p-CYlxvoVo.js +1 -0
- package/dist/components/p-CZ4DDtn8.js +1 -0
- package/dist/components/p-CZWUeOlG.js +1 -0
- package/dist/components/p-CaekSnKG.js +1 -0
- package/dist/components/p-Cb1wtfPJ.js +1 -0
- package/dist/components/p-Cb50ss23.js +1 -0
- package/dist/components/p-Cbd6cMaD.js +1 -0
- package/dist/components/p-CeVlau-G.js +1 -0
- package/dist/components/p-CiFpI_XW.js +1 -0
- package/dist/components/p-CmEfiaNv.js +1 -0
- package/dist/components/p-CmqQjlaI.js +1 -0
- package/dist/components/p-CqvOA-0K.js +1 -0
- package/dist/components/p-CrVcfwMC.js +1 -0
- package/dist/components/p-D00-pPuH.js +1 -0
- package/dist/components/p-D0BIoHLP.js +1 -0
- package/dist/components/p-D0WdoZzs.js +1 -0
- package/dist/components/p-D1HckqwW.js +1 -0
- package/dist/components/p-D3Vt3xcn.js +1 -0
- package/dist/components/p-DAfCbU7H.js +1 -0
- package/dist/components/p-DDyzuLfq.js +1 -0
- package/dist/components/p-DIvvXo_w.js +1 -0
- package/dist/components/p-DNXYH-fW.js +1 -0
- package/dist/components/p-DRMr6xXH.js +1 -0
- package/dist/components/p-DW6x7zfX.js +1 -0
- package/dist/components/p-DWqzHMCu.js +1 -0
- package/dist/components/p-DX9wgxoJ.js +1 -0
- package/dist/components/p-DZRA7Q7l.js +1 -0
- package/dist/components/p-D_S99uS1.js +1 -0
- package/dist/components/p-Da6TsjCG.js +1 -0
- package/dist/components/p-DbF8ArKE.js +1 -0
- package/dist/components/p-Dh0O8nfH.js +1 -0
- package/dist/components/p-DpbLhd6d.js +1 -0
- package/dist/components/p-DquILvXX.js +1 -0
- package/dist/components/p-DsHK25q3.js +1 -0
- package/dist/components/p-DthM6mDw.js +1 -0
- package/dist/components/p-DuYxgKgU.js +1 -0
- package/dist/components/p-ES48zkCT.js +1 -0
- package/dist/components/p-FKYMQPFB.js +1 -0
- package/dist/components/p-G2jDNXXR.js +1 -0
- package/dist/components/p-GAnFXayY.js +1 -0
- package/dist/components/p-M0fYQCIv.js +1 -0
- package/dist/components/p-MsqFuhDd.js +1 -0
- package/dist/components/p-U06fVoGD.js +1 -0
- package/dist/components/p-UtUl_rX-.js +1 -0
- package/dist/components/p-VFpQ6hXH.js +1 -0
- package/dist/components/p-b5Ks_pUg.js +1 -0
- package/dist/components/p-czkAmPgI.js +1 -0
- package/dist/components/p-hbVWBG4S.js +1 -0
- package/dist/components/p-kDhmjEYc.js +1 -0
- package/dist/components/p-lu4HWrMJ.js +1 -0
- package/dist/components/p-mEOcDy5S.js +1 -0
- package/dist/components/p-nX8XMRk5.js +1 -0
- package/dist/components/p-piEUki9n.js +1 -0
- package/dist/components/p-q0JbXN8q.js +1 -0
- package/dist/components/p-qjuvplfX.js +1 -0
- package/dist/components/p-qtQ1008P.js +1 -0
- package/dist/components/p-qut9RP2y.js +1 -0
- package/dist/components/p-wknHx00K.js +1 -0
- package/dist/components/sui-accordion-item.d.ts +11 -0
- package/dist/components/sui-accordion-item.js +1 -0
- package/dist/components/sui-accordion.d.ts +11 -0
- package/dist/components/sui-accordion.js +1 -0
- package/dist/components/sui-anchor.d.ts +11 -0
- package/dist/components/sui-anchor.js +1 -0
- package/dist/components/sui-auto-complete.d.ts +11 -0
- package/dist/components/sui-auto-complete.js +1 -0
- package/dist/components/sui-avatar-group.d.ts +11 -0
- package/dist/components/sui-avatar-group.js +1 -0
- package/dist/components/sui-avatar.d.ts +11 -0
- package/dist/components/sui-avatar.js +1 -0
- package/dist/components/sui-badge.d.ts +11 -0
- package/dist/components/sui-badge.js +1 -0
- package/dist/components/sui-block-ui.d.ts +11 -0
- package/dist/components/sui-block-ui.js +1 -0
- package/dist/components/sui-board.d.ts +11 -0
- package/dist/components/sui-board.js +1 -0
- package/dist/components/sui-bottom-nav.d.ts +11 -0
- package/dist/components/sui-bottom-nav.js +1 -0
- package/dist/components/sui-breadcrumb.d.ts +11 -0
- package/dist/components/sui-breadcrumb.js +1 -0
- package/dist/components/sui-button-group.d.ts +11 -0
- package/dist/components/sui-button-group.js +1 -0
- package/dist/components/sui-button.d.ts +11 -0
- package/dist/components/sui-button.js +1 -0
- package/dist/components/sui-calendar.d.ts +11 -0
- package/dist/components/sui-calendar.js +1 -0
- package/dist/components/sui-card.d.ts +11 -0
- package/dist/components/sui-card.js +1 -0
- package/dist/components/sui-carousel.d.ts +11 -0
- package/dist/components/sui-carousel.js +1 -0
- package/dist/components/sui-cascade-select.d.ts +11 -0
- package/dist/components/sui-cascade-select.js +1 -0
- package/dist/components/sui-chart-bar.d.ts +11 -0
- package/dist/components/sui-chart-bar.js +1 -0
- package/dist/components/sui-chart-candlestick.d.ts +11 -0
- package/dist/components/sui-chart-candlestick.js +1 -0
- package/dist/components/sui-chart-combo.d.ts +11 -0
- package/dist/components/sui-chart-combo.js +1 -0
- package/dist/components/sui-chart-gauge.d.ts +11 -0
- package/dist/components/sui-chart-gauge.js +1 -0
- package/dist/components/sui-chart-heatmap.d.ts +11 -0
- package/dist/components/sui-chart-heatmap.js +1 -0
- package/dist/components/sui-chart-line.d.ts +11 -0
- package/dist/components/sui-chart-line.js +1 -0
- package/dist/components/sui-chart-navigator.d.ts +11 -0
- package/dist/components/sui-chart-navigator.js +1 -0
- package/dist/components/sui-chart-pie.d.ts +11 -0
- package/dist/components/sui-chart-pie.js +1 -0
- package/dist/components/sui-chart-radar.d.ts +11 -0
- package/dist/components/sui-chart-radar.js +1 -0
- package/dist/components/sui-chart-scatter.d.ts +11 -0
- package/dist/components/sui-chart-scatter.js +1 -0
- package/dist/components/sui-chart-synced.d.ts +11 -0
- package/dist/components/sui-chart-synced.js +1 -0
- package/dist/components/sui-chart-treemap.d.ts +11 -0
- package/dist/components/sui-chart-treemap.js +1 -0
- package/dist/components/sui-chart-waterfall.d.ts +11 -0
- package/dist/components/sui-chart-waterfall.js +1 -0
- package/dist/components/sui-checkbox-group.d.ts +11 -0
- package/dist/components/sui-checkbox-group.js +1 -0
- package/dist/components/sui-checkbox.d.ts +11 -0
- package/dist/components/sui-checkbox.js +1 -0
- package/dist/components/sui-chip.d.ts +11 -0
- package/dist/components/sui-chip.js +1 -0
- package/dist/components/sui-choice-cards.d.ts +11 -0
- package/dist/components/sui-choice-cards.js +1 -0
- package/dist/components/sui-code-block.d.ts +11 -0
- package/dist/components/sui-code-block.js +1 -0
- package/dist/components/sui-color-editor.d.ts +11 -0
- package/dist/components/sui-color-editor.js +1 -0
- package/dist/components/sui-color-picker.d.ts +11 -0
- package/dist/components/sui-color-picker.js +1 -0
- package/dist/components/sui-command-palette.d.ts +11 -0
- package/dist/components/sui-command-palette.js +1 -0
- package/dist/components/sui-config-list.d.ts +11 -0
- package/dist/components/sui-config-list.js +1 -0
- package/dist/components/sui-config-row.d.ts +11 -0
- package/dist/components/sui-config-row.js +1 -0
- package/dist/components/sui-confirm-dialog.d.ts +11 -0
- package/dist/components/sui-confirm-dialog.js +1 -0
- package/dist/components/sui-confirm-popup.d.ts +11 -0
- package/dist/components/sui-confirm-popup.js +1 -0
- package/dist/components/sui-context-menu.d.ts +11 -0
- package/dist/components/sui-context-menu.js +1 -0
- package/dist/components/sui-copy-button.d.ts +11 -0
- package/dist/components/sui-copy-button.js +1 -0
- package/dist/components/sui-data-grid.d.ts +11 -0
- package/dist/components/sui-data-grid.js +1 -0
- package/dist/components/sui-data-table.d.ts +11 -0
- package/dist/components/sui-data-table.js +1 -0
- package/dist/components/sui-data-view.d.ts +11 -0
- package/dist/components/sui-data-view.js +1 -0
- package/dist/components/sui-date-picker.d.ts +11 -0
- package/dist/components/sui-date-picker.js +1 -0
- package/dist/components/sui-description-list.d.ts +11 -0
- package/dist/components/sui-description-list.js +1 -0
- package/dist/components/sui-dialog.d.ts +11 -0
- package/dist/components/sui-dialog.js +1 -0
- package/dist/components/sui-divider.d.ts +11 -0
- package/dist/components/sui-divider.js +1 -0
- package/dist/components/sui-dock.d.ts +11 -0
- package/dist/components/sui-dock.js +1 -0
- package/dist/components/sui-drawer.d.ts +11 -0
- package/dist/components/sui-drawer.js +1 -0
- package/dist/components/sui-edit-box.d.ts +11 -0
- package/dist/components/sui-edit-box.js +1 -0
- package/dist/components/sui-empty-state.d.ts +11 -0
- package/dist/components/sui-empty-state.js +1 -0
- package/dist/components/sui-fieldset.d.ts +11 -0
- package/dist/components/sui-fieldset.js +1 -0
- package/dist/components/sui-file-upload.d.ts +11 -0
- package/dist/components/sui-file-upload.js +1 -0
- package/dist/components/sui-filter-builder.d.ts +11 -0
- package/dist/components/sui-filter-builder.js +1 -0
- package/dist/components/sui-filter-panel.d.ts +11 -0
- package/dist/components/sui-filter-panel.js +1 -0
- package/dist/components/sui-float-label.d.ts +11 -0
- package/dist/components/sui-float-label.js +1 -0
- package/dist/components/sui-fluid.d.ts +11 -0
- package/dist/components/sui-fluid.js +1 -0
- package/dist/components/sui-form-actions.d.ts +11 -0
- package/dist/components/sui-form-actions.js +1 -0
- package/dist/components/sui-form-layout.d.ts +11 -0
- package/dist/components/sui-form-layout.js +1 -0
- package/dist/components/sui-form.d.ts +11 -0
- package/dist/components/sui-form.js +1 -0
- package/dist/components/sui-galleria.d.ts +11 -0
- package/dist/components/sui-galleria.js +1 -0
- package/dist/components/sui-icon-button.d.ts +11 -0
- package/dist/components/sui-icon-button.js +1 -0
- package/dist/components/sui-icon-field.d.ts +11 -0
- package/dist/components/sui-icon-field.js +1 -0
- package/dist/components/sui-ifta-label.d.ts +11 -0
- package/dist/components/sui-ifta-label.js +1 -0
- package/dist/components/sui-image-compare.d.ts +11 -0
- package/dist/components/sui-image-compare.js +1 -0
- package/dist/components/sui-image.d.ts +11 -0
- package/dist/components/sui-image.js +1 -0
- package/dist/components/sui-inplace.d.ts +11 -0
- package/dist/components/sui-inplace.js +1 -0
- package/dist/components/sui-input-group-addon.d.ts +11 -0
- package/dist/components/sui-input-group-addon.js +1 -0
- package/dist/components/sui-input-group.d.ts +11 -0
- package/dist/components/sui-input-group.js +1 -0
- package/dist/components/sui-input-mask.d.ts +11 -0
- package/dist/components/sui-input-mask.js +1 -0
- package/dist/components/sui-input-number.d.ts +11 -0
- package/dist/components/sui-input-number.js +1 -0
- package/dist/components/sui-input-otp.d.ts +11 -0
- package/dist/components/sui-input-otp.js +1 -0
- package/dist/components/sui-input-tags.d.ts +11 -0
- package/dist/components/sui-input-tags.js +1 -0
- package/dist/components/sui-input-text.d.ts +11 -0
- package/dist/components/sui-input-text.js +1 -0
- package/dist/components/sui-kbd.d.ts +11 -0
- package/dist/components/sui-kbd.js +1 -0
- package/dist/components/sui-knob.d.ts +11 -0
- package/dist/components/sui-knob.js +1 -0
- package/dist/components/sui-list.d.ts +11 -0
- package/dist/components/sui-list.js +1 -0
- package/dist/components/sui-listbox.d.ts +11 -0
- package/dist/components/sui-listbox.js +1 -0
- package/dist/components/sui-mega-menu.d.ts +11 -0
- package/dist/components/sui-mega-menu.js +1 -0
- package/dist/components/sui-menu.d.ts +11 -0
- package/dist/components/sui-menu.js +1 -0
- package/dist/components/sui-menubar.d.ts +11 -0
- package/dist/components/sui-menubar.js +1 -0
- package/dist/components/sui-message.d.ts +11 -0
- package/dist/components/sui-message.js +1 -0
- package/dist/components/sui-meter-group.d.ts +11 -0
- package/dist/components/sui-meter-group.js +1 -0
- package/dist/components/sui-mini-toolbar.d.ts +11 -0
- package/dist/components/sui-mini-toolbar.js +1 -0
- package/dist/components/sui-multi-select.d.ts +11 -0
- package/dist/components/sui-multi-select.js +1 -0
- package/dist/components/sui-notification-center.d.ts +11 -0
- package/dist/components/sui-notification-center.js +1 -0
- package/dist/components/sui-order-list.d.ts +11 -0
- package/dist/components/sui-order-list.js +1 -0
- package/dist/components/sui-org-chart.d.ts +11 -0
- package/dist/components/sui-org-chart.js +1 -0
- package/dist/components/sui-overlay-badge.d.ts +11 -0
- package/dist/components/sui-overlay-badge.js +1 -0
- package/dist/components/sui-page-header.d.ts +11 -0
- package/dist/components/sui-page-header.js +1 -0
- package/dist/components/sui-paginator.d.ts +11 -0
- package/dist/components/sui-paginator.js +1 -0
- package/dist/components/sui-panel-menu.d.ts +11 -0
- package/dist/components/sui-panel-menu.js +1 -0
- package/dist/components/sui-panel.d.ts +11 -0
- package/dist/components/sui-panel.js +1 -0
- package/dist/components/sui-password.d.ts +11 -0
- package/dist/components/sui-password.js +1 -0
- package/dist/components/sui-persona.d.ts +11 -0
- package/dist/components/sui-persona.js +1 -0
- package/dist/components/sui-pick-list.d.ts +11 -0
- package/dist/components/sui-pick-list.js +1 -0
- package/dist/components/sui-popover.d.ts +11 -0
- package/dist/components/sui-popover.js +1 -0
- package/dist/components/sui-progress-bar.d.ts +11 -0
- package/dist/components/sui-progress-bar.js +1 -0
- package/dist/components/sui-progress-ring.d.ts +11 -0
- package/dist/components/sui-progress-ring.js +1 -0
- package/dist/components/sui-progress-spinner.d.ts +11 -0
- package/dist/components/sui-progress-spinner.js +1 -0
- package/dist/components/sui-qr-code.d.ts +11 -0
- package/dist/components/sui-qr-code.js +1 -0
- package/dist/components/sui-radio-button.d.ts +11 -0
- package/dist/components/sui-radio-button.js +1 -0
- package/dist/components/sui-radio-group.d.ts +11 -0
- package/dist/components/sui-radio-group.js +1 -0
- package/dist/components/sui-rating.d.ts +11 -0
- package/dist/components/sui-rating.js +1 -0
- package/dist/components/sui-rich-text-editor.d.ts +11 -0
- package/dist/components/sui-rich-text-editor.js +1 -0
- package/dist/components/sui-save-status.d.ts +11 -0
- package/dist/components/sui-save-status.js +1 -0
- package/dist/components/sui-scheduler-builder.d.ts +11 -0
- package/dist/components/sui-scheduler-builder.js +1 -0
- package/dist/components/sui-scroll-panel.d.ts +11 -0
- package/dist/components/sui-scroll-panel.js +1 -0
- package/dist/components/sui-scroll-top.d.ts +11 -0
- package/dist/components/sui-scroll-top.js +1 -0
- package/dist/components/sui-select-button.d.ts +11 -0
- package/dist/components/sui-select-button.js +1 -0
- package/dist/components/sui-select.d.ts +11 -0
- package/dist/components/sui-select.js +1 -0
- package/dist/components/sui-side-nav.d.ts +11 -0
- package/dist/components/sui-side-nav.js +1 -0
- package/dist/components/sui-skeleton-card.d.ts +11 -0
- package/dist/components/sui-skeleton-card.js +1 -0
- package/dist/components/sui-skeleton.d.ts +11 -0
- package/dist/components/sui-skeleton.js +1 -0
- package/dist/components/sui-slider.d.ts +11 -0
- package/dist/components/sui-slider.js +1 -0
- package/dist/components/sui-sparkline.d.ts +11 -0
- package/dist/components/sui-sparkline.js +1 -0
- package/dist/components/sui-speed-dial.d.ts +11 -0
- package/dist/components/sui-speed-dial.js +1 -0
- package/dist/components/sui-split-button.d.ts +11 -0
- package/dist/components/sui-split-button.js +1 -0
- package/dist/components/sui-splitter.d.ts +11 -0
- package/dist/components/sui-splitter.js +1 -0
- package/dist/components/sui-spoiler.d.ts +11 -0
- package/dist/components/sui-spoiler.js +1 -0
- package/dist/components/sui-stat-card.d.ts +11 -0
- package/dist/components/sui-stat-card.js +1 -0
- package/dist/components/sui-stepper.d.ts +11 -0
- package/dist/components/sui-stepper.js +1 -0
- package/dist/components/sui-tab.d.ts +11 -0
- package/dist/components/sui-tab.js +1 -0
- package/dist/components/sui-tabs.d.ts +11 -0
- package/dist/components/sui-tabs.js +1 -0
- package/dist/components/sui-tag.d.ts +11 -0
- package/dist/components/sui-tag.js +1 -0
- package/dist/components/sui-terminal.d.ts +11 -0
- package/dist/components/sui-terminal.js +1 -0
- package/dist/components/sui-textarea.d.ts +11 -0
- package/dist/components/sui-textarea.js +1 -0
- package/dist/components/sui-theme-picker.d.ts +11 -0
- package/dist/components/sui-theme-picker.js +1 -0
- package/dist/components/sui-tiered-menu.d.ts +11 -0
- package/dist/components/sui-tiered-menu.js +1 -0
- package/dist/components/sui-time-picker.d.ts +11 -0
- package/dist/components/sui-time-picker.js +1 -0
- package/dist/components/sui-timeline.d.ts +11 -0
- package/dist/components/sui-timeline.js +1 -0
- package/dist/components/sui-toast-host.d.ts +11 -0
- package/dist/components/sui-toast-host.js +1 -0
- package/dist/components/sui-toggle-button.d.ts +11 -0
- package/dist/components/sui-toggle-button.js +1 -0
- package/dist/components/sui-toggle-switch.d.ts +11 -0
- package/dist/components/sui-toggle-switch.js +1 -0
- package/dist/components/sui-toolbar.d.ts +11 -0
- package/dist/components/sui-toolbar.js +1 -0
- package/dist/components/sui-tooltip.d.ts +11 -0
- package/dist/components/sui-tooltip.js +1 -0
- package/dist/components/sui-tour.d.ts +11 -0
- package/dist/components/sui-tour.js +1 -0
- package/dist/components/sui-tree-select.d.ts +11 -0
- package/dist/components/sui-tree-select.js +1 -0
- package/dist/components/sui-tree-table.d.ts +11 -0
- package/dist/components/sui-tree-table.js +1 -0
- package/dist/components/sui-tree.d.ts +11 -0
- package/dist/components/sui-tree.js +1 -0
- package/dist/components/sui-trend.d.ts +11 -0
- package/dist/components/sui-trend.js +1 -0
- package/dist/components/sui-virtual-scroller.d.ts +11 -0
- package/dist/components/sui-virtual-scroller.js +1 -0
- package/dist/hydrate/index.d.ts +287 -0
- package/dist/hydrate/index.js +1 -0
- package/dist/hydrate/index.mjs +1 -0
- package/dist/hydrate/package.json +13 -0
- package/dist/index.cjs +55 -0
- package/dist/index.d.cts +28 -0
- package/dist/index.d.mts +28 -0
- package/dist/index.mjs +59 -0
- package/package.json +131 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiList extends Components.SuiList, HTMLElement {}
|
|
4
|
+
export const SuiList: {
|
|
5
|
+
prototype: SuiList;
|
|
6
|
+
new (): SuiList;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as i,H as s,c as t,h as e,a as o,t as r}from"./p-CeVlau-G.js";import{a,L as l}from"./p-D0WdoZzs.js";import{G as n,z as u}from"./p-BeYfX4rQ.js";import{c,m as d}from"./p-q0JbXN8q.js";import{i as p}from"./p-wknHx00K.js";import{a as h}from"./p-BuyjS5bS.js";import{u as f}from"./p-U06fVoGD.js";import{d as v}from"./p-BHB1Wprj.js";import{d as g}from"./p-qtQ1008P.js";import{d as m}from"./p-CmEfiaNv.js";const x=Symbol("threw"),b=i=>!!i&&"string"==typeof i.section&&void 0===i.id,w=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiItemPick=t(this,"suiItemPick",7),this.suiSelectionChange=t(this,"suiSelectionChange",3)}get host(){return this}items=[];selection;density="standard";wrap=!1;loading=!1;filter=!1;filterPlaceholder;emptyMessage;emptyFilterMessage;maxHeight;itemRender;suiItemPick;suiSelectionChange;focusIdx=-1;query="";hostLabel;fieldId=f("sui-list");list;searchInput;stopAria;typeahead="";typeaheadTimer;connectedCallback(){v(this.host,(()=>this.focusTarget())),this.stopAria?.(),this.stopAria=p(this.host,(i=>{this.hostLabel=i}))}disconnectedCallback(){this.stopAria?.(),clearTimeout(this.typeaheadTimer),this.typeahead=""}onItems(){this.focusIdx=-1}async setFocus(){const i=this.rows(),s=this.tabStop(i);s>=0?this.focusRow(s):this.searchInput?.focus()}focusTarget(){const i=this.tabStop(this.rows());return(i>=0?this.rowEl(i):null)||this.searchInput||void 0}isSelected(i){return null!=this.selection&&i.id+""==this.selection+""}rowMatches(i,s){return!s||[i.title,i.description,i.meta].some((i=>!!i&&i.toLowerCase().includes(s)))}rows(){const i=this.filter?this.query.trim().toLowerCase():"",s=[];return(this.items||[]).forEach((t=>{!b(t)&&t&&this.rowMatches(t,i)&&s.push({item:t,i:s.length})})),s}runs(i){const s=new Map;i.forEach((i=>s.set(i.item,i)));const t=[];let e=null;return(this.items||[]).forEach((i=>{if(!i)return;if(b(i))return e={section:i.section,rows:[]},void t.push(e);const o=s.get(i);o&&(e||(e={rows:[]},t.push(e)),e.rows.push(o))})),t.filter((i=>i.rows.length))}tabStop(i){if((s=>s>=0&&s<i.length&&!i[s].item.disabled)(this.focusIdx))return this.focusIdx;const s=i.findIndex((i=>this.isSelected(i.item)&&!i.item.disabled));return s>=0?s:i.findIndex((i=>!i.item.disabled))}rowEl(i){return this.list?this.list.querySelector(`[data-index="${i}"]`):null}focusRow(i){const s=this.rowEl(i);s&&(this.focusIdx=i,s.focus())}step(i,s,t){let e=s;for(;;){if(e+=t,e<0||e>=i.length)return s;if(!i[e].item.disabled)return e}}edge(i,s){if(s>0)return i.findIndex((i=>!i.item.disabled));for(let s=i.length-1;s>=0;s--)if(!i[s].item.disabled)return s;return-1}onTypeahead(i,s,t){clearTimeout(this.typeaheadTimer),this.typeahead+=t.toLowerCase(),this.typeaheadTimer=setTimeout((()=>this.typeahead=""),500);for(let t=1;t<=i.length;t++){const e=(s+t)%i.length,o=i[e];if(!o.item.disabled&&o.item.title.toLowerCase().startsWith(this.typeahead))return void this.focusRow(e)}}isCommand(i){return!!i.command&&!i.href}pick(i){i.disabled||(this.isCommand(i)||this.isSelected(i)||(this.selection=i.id,this.suiSelectionChange.emit(i.id)),this.suiItemPick.emit({id:i.id,item:i}))}onRowKey=(i,s,t)=>{const e="A"===i.currentTarget.tagName;switch(i.key){case"ArrowDown":return i.preventDefault(),void this.focusRow(this.step(t,s.i,1));case"ArrowUp":return i.preventDefault(),void this.focusRow(this.step(t,s.i,-1));case"Home":return i.preventDefault(),void this.focusRow(this.edge(t,1));case"End":return i.preventDefault(),void this.focusRow(this.edge(t,-1));case"Enter":if(e)return;return i.preventDefault(),void this.pick(s.item);case" ":return i.preventDefault(),void(e?i.currentTarget.click():this.pick(s.item));default:1!==i.key.length||i.ctrlKey||i.metaKey||i.altKey||this.onTypeahead(t,s.i,i.key)}};onSearchKey=(i,s)=>{if("ArrowDown"!==i.key)return;i.preventDefault();const t=this.tabStop(s);t>=0&&this.focusRow(t)};onSearchInput=i=>{this.query=i.target.value,this.focusIdx=-1};marker(i){return i.avatar||i.initials?e("sui-avatar",{class:"sui-list-avatar",src:i.avatar,initials:i.initials,size:"sm","aria-hidden":"true",badge:i.badge,badgeTone:i.badgeTone}):e(l,{severity:i.severity,icon:i.icon})}renderRow(i,s,t,o){const r=i.item,l=this.isSelected(r),n=!!r.href&&!r.disabled,u=this.itemRender?c(this.itemRender,[r],x):x,p=u!==x,f={row:!0,selected:l,unread:!!r.unread,disabled:!!r.disabled,custom:p},v=p?e("span",{class:"body",ref:i=>d(i,u)}):e(a,{marker:this.marker(r),title:r.title,description:r.description,meta:r.meta,unread:!!r.unread,unreadLabel:h(void 0,"list.unread",void 0,"Unread")}),g={id:`${this.fieldId}-${i.i}`,"data-index":i.i,"data-id":r.id+"",tabIndex:r.disabled?-1:i.i===t?0:-1,onFocus:()=>{this.focusIdx=i.i},onClick:i=>{r.disabled?i.preventDefault():this.pick(r)},onKeyDown:t=>this.onRowKey(t,i,s)};return o?e("div",{key:r.id+"",role:"listitem",class:"item"},e(n?"a":"button",{class:f,type:n?void 0:"button",role:!n&&this.isCommand(r)?"link":void 0,href:n?r.href:void 0,target:n?r.target:void 0,rel:n&&"_blank"===r.target?"noopener":void 0,disabled:!(n||!r.disabled)||void 0,"aria-disabled":n&&r.disabled?"true":null,"aria-current":l?"page":null,...g},v)):e("div",{key:r.id+"",class:f,role:"option","aria-selected":l?"true":"false","aria-disabled":r.disabled?"true":null,...g},v)}renderSkeleton(){return e("div",{class:"skeleton","aria-hidden":"true"},[0,1,2,3].map((i=>e("div",{class:"row skel",key:"sk"+i},e("sui-skeleton",{shape:"circle",width:"26"}),e("span",{class:"text"},e("sui-skeleton",{shape:"title",width:58-9*i+"%",height:"12"}),e("sui-skeleton",{width:84-7*i+"%",height:"10"}))))))}render(){const i=this.rows(),s=this.tabStop(i),t=i.some((i=>(!!i.item.href||this.isCommand(i.item))&&!i.item.disabled)),r=this.runs(i),a=this.query.trim(),l=!this.loading&&0===i.length,c=a?h(void 0,"list.emptyFilter",this.emptyFilterMessage,"No matches."):h(void 0,"list.empty",this.emptyMessage,"Nothing here yet."),d=i=>`${this.fieldId}-h${i}`;return e(o,{key:"70d001ab31324bcafe1bc7ae551109fc98f4db6b","aria-busy":this.loading?"true":null},this.filter?e("div",{class:"sui-popup-search search"},e("div",{class:"sui-popup-search-box sui-frame"},e(n,{glyph:u}),e("input",{ref:i=>this.searchInput=i,type:"text",placeholder:h(void 0,"list.search",this.filterPlaceholder,"Search"),"aria-label":h(void 0,"list.searchRows",void 0,"Search the list"),"aria-controls":this.fieldId,value:this.query,onInput:this.onSearchInput,onKeyDown:s=>this.onSearchKey(s,i)}))):null,e("div",{key:"0b0c3d3455a0ff0973d375d6159993c7f31d615b",class:"scroll",style:this.maxHeight?{maxHeight:this.maxHeight+"px"}:void 0},this.loading?this.renderSkeleton():null,this.loading?null:e("div",{id:this.fieldId,ref:i=>this.list=i,class:"list",role:t?void 0:"listbox","aria-label":t?void 0:this.hostLabel},r.map(t?(t,o)=>[t.section?e("div",{class:"section",id:d(o)},t.section):null,e("div",{role:"list","aria-labelledby":t.section?d(o):void 0,"aria-label":t.section?void 0:this.hostLabel},t.rows.map((t=>this.renderRow(t,i,s,!0))))]:(t,o)=>t.section?e("div",{role:"group","aria-labelledby":d(o)},e("div",{class:"section",id:d(o),role:"presentation"},t.section),t.rows.map((t=>this.renderRow(t,i,s,!1)))):t.rows.map((t=>this.renderRow(t,i,s,!1))))),l?e("div",{class:"empty",role:"status"},a?c:e("slot",{name:"empty"},c)):null))}static get watchers(){return{items:[{onItems:0}]}}static get style(){return".sc-sui-list-h{display:block;min-width:0;max-width:100%;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);overflow-x:hidden}.search.sc-sui-list{padding:8px 8px 6px;margin-bottom:0}.scroll.sc-sui-list{overflow-x:hidden}.scroll[style].sc-sui-list{overflow-y:auto}.list.sc-sui-list{display:block;min-width:0}.item.sc-sui-list{display:block;min-width:0}.section.sc-sui-list{padding:10px 14px 4px;font-size:10.5px;font-weight:650;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-faint);user-select:none}[density='compact'].sc-sui-list-h .section.sc-sui-list{padding:7px 12px 3px}.row.sc-sui-list{position:relative;display:flex;align-items:flex-start;gap:10px;width:100%;min-width:0;box-sizing:border-box;margin:0;padding:10px var(--sui-inset-x, 14px);border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--ink);text-align:start;text-decoration:none;font-family:var(--font-sans);cursor:pointer;user-select:none;outline:none;transition:background var(--duration-fast) var(--ease-out)}.row.sc-sui-list::before{content:'';position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;background:transparent;transition:background var(--duration-fast) var(--ease-out)}.list.sc-sui-list>.row.sc-sui-list:last-child,.list.sc-sui-list>[role='group'].sc-sui-list:last-child>.row.sc-sui-list:last-child,.list.sc-sui-list>[role='list'].sc-sui-list:last-child>.item.sc-sui-list:last-child>.row.sc-sui-list{border-bottom-color:transparent}a.row.sc-sui-list,a.row.sc-sui-list:hover,a.row.sc-sui-list:visited{color:var(--ink);text-decoration:none}.row.unread.sc-sui-list{background:var(--surface-sunken)}.row.sc-sui-list:hover{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.row.selected.sc-sui-list{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);background:var(--surface-selected)}.row.selected.sc-sui-list:hover{--ink-muted:var(--ink);--ink-faint:var(--ink);background:linear-gradient(var(--surface-hover) 0 0) var(--surface-selected)}.row.selected.sc-sui-list::before{background:var(--accent)}.row.selected.sc-sui-list .title.sc-sui-list,a.row.selected.sc-sui-list,a.row.selected.sc-sui-list:hover{color:var(--ink)}.row.selected.sc-sui-list .detail.sc-sui-list,.row.selected.sc-sui-list .meta.sc-sui-list{color:var(--ink-muted)}.row.disabled.sc-sui-list,.row.sc-sui-list:disabled{--ink-muted:var(--ink-placeholder);--ink-faint:var(--ink-placeholder);color:var(--disabled-ink);cursor:not-allowed;background:transparent}.row.disabled.sc-sui-list .title.sc-sui-list,.row.disabled.sc-sui-list .detail.sc-sui-list,.row.disabled.sc-sui-list .meta.sc-sui-list,.row.sc-sui-list:disabled .title.sc-sui-list,.row.sc-sui-list:disabled .detail.sc-sui-list,.row.sc-sui-list:disabled .meta.sc-sui-list{color:var(--disabled-ink)}.row.disabled.sc-sui-list .sev.sc-sui-list,.row.sc-sui-list:disabled .sev.sc-sui-list{background:var(--disabled-bg);color:var(--disabled-ink)}.row.sc-sui-list:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;z-index:1}.row.sc-sui-list:focus-visible::before{inset-block:2px 1px;inset-inline-start:2px}.row.custom.sc-sui-list{display:block}.body.sc-sui-list{display:block;min-width:0}[density='compact'].sc-sui-list-h .row.sc-sui-list{padding-block:6px;padding-inline:calc(var(--sui-inset-x, 14px) - 2px) var(--sui-inset-x, 12px);gap:8px}[density='compact'].sc-sui-list-h .sev.sc-sui-list{width:22px;height:22px;margin-top:0;margin-inline:2px}[density='compact'].sc-sui-list-h .sev.sc-sui-list i.sc-sui-list,[density='compact'].sc-sui-list-h .sev.sc-sui-list .sui-glyph.sc-sui-list{font-size:10px}[density='compact'].sc-sui-list-h .title.sc-sui-list{font-size:12px}[density='compact'].sc-sui-list-h .detail.sc-sui-list{font-size:11px;margin-top:0}[density='comfortable'].sc-sui-list-h .row.sc-sui-list{padding-block:14px}[density='comfortable'].sc-sui-list-h .section.sc-sui-list{padding-top:14px}.title.sc-sui-list,.detail.sc-sui-list{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title.sc-sui-list{display:block;flex:1;min-width:0}[wrap].sc-sui-list-h .title.sc-sui-list,[wrap].sc-sui-list-h .detail.sc-sui-list{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}[wrap].sc-sui-list-h .title-row.sc-sui-list{align-items:baseline}.empty.sc-sui-list{padding:26px 16px;text-align:center;font-size:12.5px;color:var(--ink-muted)}.skeleton.sc-sui-list{display:block}.row.skel.sc-sui-list{cursor:default;pointer-events:none}.row.skel.sc-sui-list .text.sc-sui-list{display:flex;flex-direction:column;gap:7px;padding-top:3px}@media (forced-colors: active){.list.sc-sui-list>.row.sc-sui-list:last-child,.list.sc-sui-list>[role='group'].sc-sui-list:last-child>.row.sc-sui-list:last-child,.list.sc-sui-list>[role='list'].sc-sui-list:last-child>.item.sc-sui-list:last-child>.row.sc-sui-list{border-bottom-color:Canvas}.row.selected.sc-sui-list::before{background:Highlight}.row.disabled.sc-sui-list{color:GrayText}.row.disabled.sc-sui-list .title.sc-sui-list,.row.disabled.sc-sui-list .detail.sc-sui-list,.row.disabled.sc-sui-list .meta.sc-sui-list{color:GrayText}.row.disabled.sc-sui-list .sev.sc-sui-list{border-color:GrayText;color:GrayText}}.sui-frame.sc-sui-list{box-sizing:border-box;background:var(--sui-field-bg, var(--surface));border:1px solid var(--sui-field-border, var(--control-border));border-radius:var(--sui-field-radius, var(--radius-md));box-shadow:none;outline:none;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.sui-frame.sc-sui-list:hover{border-color:var(--sui-field-border, color-mix(in srgb, var(--control-border) 55%, var(--ink)))}.sui-frame[readonly].sc-sui-list,.sui-frame.readonly.sc-sui-list{border-color:var(--sui-field-border, var(--control-border));background:var(--sui-field-bg, var(--surface-sunken))}.sui-frame.sc-sui-list:focus-within,.sui-frame.focus.sc-sui-list,.sui-frame.open.sc-sui-list{border-color:var(--sui-field-border, var(--focus-ring));outline:var(--sui-field-edge, 1px solid var(--focus-ring));outline-offset:-2px;box-shadow:var(--sui-field-halo, 0 0 0 3px var(--focus-halo))}.sui-frame.invalid.sc-sui-list{border-color:var(--sui-field-border, var(--danger));outline:var(--sui-field-edge, 1px solid var(--danger));outline-offset:-2px}.sui-frame.invalid.sc-sui-list:focus-within,.sui-frame.invalid.focus.sc-sui-list,.sui-frame.invalid.open.sc-sui-list{outline-width:2px;outline-offset:-3px;box-shadow:var(--sui-field-halo, 0 0 0 3px color-mix(in srgb, var(--danger) 35%, transparent))}.sui-frame.sc-sui-list:disabled,.sui-frame.disabled.sc-sui-list{--ink-muted:var(--disabled-ink);--ink-faint:var(--disabled-ink);border-color:var(--sui-field-border, var(--border));outline:none;box-shadow:none;background:var(--sui-field-bg, var(--disabled-bg));color:var(--disabled-ink);cursor:not-allowed}.sui-input.sc-sui-list{width:100%;color:var(--ink);font-family:var(--font-sans);font-weight:460}.sui-input.sc-sui-list::placeholder{color:var(--ink-placeholder)}.sui-input.sm.sc-sui-list{height:var(--sui-field-height, var(--control-sm));padding:0 10px;font-size:12.5px}.sui-input.md.sc-sui-list{height:var(--sui-field-height, var(--control-md));padding:0 var(--control-pad-x);font-size:13px}.sui-input.lg.sc-sui-list{height:var(--sui-field-height, var(--control-lg));padding:0 var(--control-pad-x);font-size:14px}@media (forced-colors: active){.sui-frame.sc-sui-list:focus-within,.sui-frame.focus.sc-sui-list,.sui-frame.open.sc-sui-list{outline:2px solid Highlight;outline-offset:1px}.sui-frame.sc-sui-list:disabled,.sui-frame.disabled.sc-sui-list{color:GrayText;border-color:GrayText}}.sev.sc-sui-list{width:26px;height:26px;border-radius:50%;flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center}.sev.sc-sui-list i.sc-sui-list,.sev.sc-sui-list .sui-glyph.sc-sui-list{font-size:11px}.sev.positive.sc-sui-list{background:var(--status-positive-bg);color:var(--status-positive-ink)}.sev.attention.sc-sui-list{background:var(--status-attention-bg);color:var(--status-attention-ink)}.sev.critical.sc-sui-list{background:var(--danger-soft);color:var(--danger)}.sev.info.sc-sui-list{background:var(--surface-sunken);color:var(--ink-muted)}.sev.neutral.sc-sui-list{background:var(--status-neutral-bg);color:var(--status-neutral-ink)}.sev.icon.sc-sui-list{background:var(--surface-sunken);color:var(--ink-muted)}.sui-list-avatar.sc-sui-list{flex-shrink:0;margin-top:1px}.text.sc-sui-list{flex:1;min-width:0}.title-row.sc-sui-list{display:flex;align-items:center;gap:6px;min-width:0}.title.sc-sui-list{font-size:12.5px;font-weight:620;min-width:0}.unread.sc-sui-list .title.sc-sui-list{font-weight:700}.dot.sc-sui-list{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-inline-start:auto}.meta.sc-sui-list{flex-shrink:0;margin-inline-start:auto;font-size:11px;color:var(--ink-muted);font-feature-settings:'tnum';white-space:nowrap}.dot.sc-sui-list+.sr-only.sc-sui-list+.meta.sc-sui-list,.dot.sc-sui-list+.meta.sc-sui-list{margin-inline-start:0}.detail.sc-sui-list{display:block;font-size:11.5px;color:var(--ink-muted);line-height:1.45;margin-top:1px}.time.sc-sui-list{display:block;font-size:10.5px;color:var(--ink-faint);margin-top:3px;font-feature-settings:'tnum'}.sr-only.sc-sui-list{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (forced-colors: active){.sev.sc-sui-list{box-sizing:border-box;border:1px solid CanvasText}.dot.sc-sui-list{background:CanvasText}}.sui-popup-trigger.sc-sui-list{box-sizing:border-box;width:100%;height:var(--sui-field-height, var(--control-md));display:flex;align-items:center;gap:8px;padding-block:0;padding-inline:12px 10px;color:var(--ink);font-size:13px;font-family:var(--font-sans);font-weight:460;cursor:pointer;user-select:none;text-align:start}.sui-popup-trigger.sc-sui-list:disabled,.sui-popup-trigger.disabled.sc-sui-list{cursor:not-allowed}.sui-popup-trigger.sc-sui-list .val.sc-sui-list{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-popup-trigger.placeholder.sc-sui-list .val.sc-sui-list{color:var(--ink-placeholder)}.sui-popup-trigger.sc-sui-list .clear.sc-sui-list{display:inline-flex;padding:2px;color:var(--ink-faint);font-size:11px;cursor:pointer;border-radius:4px}.sui-popup-trigger.sc-sui-list .clear.sc-sui-list:hover{color:var(--ink)}.sui-popup-trigger.sc-sui-list .chev.sc-sui-list{display:var(--sui-field-chevron, inline-block);font-size:10px;color:var(--ink-faint);transition:transform var(--duration-fast) var(--ease-out)}.sui-popup-trigger.open.sc-sui-list .chev.sc-sui-list{transform:rotate(180deg)}.sui-popup-trigger.readonly.sc-sui-list .chev.sc-sui-list{opacity:0.4}.sui-popup-trigger.sc-sui-list .spin.sc-sui-list{font-size:11px;color:var(--ink-faint)}.sui-popup-trigger.sm.sc-sui-list{height:var(--sui-field-height, var(--control-sm));font-size:12.5px}.sui-popup-trigger.md.sc-sui-list{height:var(--sui-field-height, var(--control-md));font-size:13px}.sui-popup-trigger.lg.sc-sui-list{height:var(--sui-field-height, var(--control-lg));font-size:14px}.sui-popup-panel.sc-sui-list{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;min-width:100%;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:5px;max-height:260px;overflow-y:auto;animation:sui-popup-in var(--duration-overlay) var(--ease-out)}.sui-popup-panel[data-side='top'].sc-sui-list{animation-name:sui-popup-in-top}.sui-popup-panel.closing.sc-sui-list{animation:sui-popup-out var(--duration-fast) var(--ease-out) forwards;pointer-events:none}@keyframes sui-popup-in{from{opacity:0;transform:translateY(-4px)}}@keyframes sui-popup-in-top{from{opacity:0;transform:translateY(4px)}}@keyframes sui-popup-out{to{opacity:0}}.sui-popup-search.sc-sui-list{padding:3px 3px 7px;border-bottom:1px solid var(--hairline);margin-bottom:4px}.sui-popup-search-box.sc-sui-list{display:flex;align-items:center;gap:7px;height:30px;padding:0 9px}.sui-popup-search-box.sc-sui-list .sui-glyph.sc-sui-list{font-size:11px;color:var(--ink-faint)}.sui-popup-search-box.sc-sui-list input.sc-sui-list{flex:1;min-width:0;border:none;outline:none;background:transparent;font:460 12.5px var(--font-sans);color:var(--ink)}.sui-popup-empty.sc-sui-list{padding:10px;font-size:12.5px;color:var(--ink-faint)}.sui-popup-group.sc-sui-list{padding:8px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-faint);user-select:none}.sui-popup-status.sc-sui-list{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sui-popup-loading.sc-sui-list{display:flex;align-items:center;gap:8px;padding:10px;font-size:12.5px;color:var(--ink-faint)}.sui-popup-loading.sc-sui-list .sui-glyph.sc-sui-list{font-size:11px;color:var(--brand)}.sui-popup-spin.sc-sui-list{animation:sb-spin 0.8s linear infinite}@media (prefers-reduced-motion: reduce){.sui-popup-spin.sc-sui-list{animation-duration:2s}}.sui-popup-spacer.sc-sui-list{flex:none;pointer-events:none}.sui-popup-option.sc-sui-list{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:460;color:var(--ink);cursor:pointer;background:transparent}.sui-popup-option-label.sc-sui-list{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-popup-option.hover.sc-sui-list{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-popup-option.selected.sc-sui-list{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);background:var(--surface-selected);font-weight:650}.sui-popup-option.selected.hover.sc-sui-list{--ink-muted:var(--ink);--ink-faint:var(--ink);background:linear-gradient(var(--surface-hover) 0 0) var(--surface-selected)}.sui-popup-option.keynav.sc-sui-list{outline:2px solid var(--focus-ring);outline-offset:-2px}.sui-popup-option.disabled.sc-sui-list{--ink-muted:var(--ink-placeholder);--ink-faint:var(--ink-placeholder);color:var(--disabled-ink);cursor:not-allowed}.sui-popup-option.sc-sui-list .sui-glyph.sc-sui-list{font-size:11px;color:var(--brand-soft-ink)}@media (forced-colors: active){.sui-popup-trigger.placeholder.sc-sui-list .val.sc-sui-list{color:GrayText}.sui-popup-option.hover.sc-sui-list{outline:2px solid CanvasText;outline-offset:-2px}.sui-popup-option.selected.sc-sui-list{forced-color-adjust:none;background:Highlight;color:HighlightText}.sui-popup-option.selected.sc-sui-list .sui-glyph.sc-sui-list{color:HighlightText}.sui-popup-option.disabled.sc-sui-list{color:GrayText}}"}},[774,"sui-list",{items:[16],selection:[1032],density:[513],wrap:[516],loading:[516],filter:[516],filterPlaceholder:[1,"filter-placeholder"],emptyMessage:[1,"empty-message"],emptyFilterMessage:[1,"empty-filter-message"],maxHeight:[2,"max-height"],itemRender:[16],focusIdx:[32],query:[32],hostLabel:[32],setFocus:[64]},void 0,{items:[{onItems:0}]}]),k=w,y=function(){"undefined"!=typeof customElements&&["sui-list","sui-avatar","sui-skeleton"].forEach((i=>{switch(i){case"sui-list":customElements.get(r(i))||customElements.define(r(i),w);break;case"sui-avatar":customElements.get(r(i))||g();break;case"sui-skeleton":customElements.get(r(i))||m()}}))};export{k as SuiList,y as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiListbox extends Components.SuiListbox, HTMLElement {}
|
|
4
|
+
export const SuiListbox: {
|
|
5
|
+
prototype: SuiListbox;
|
|
6
|
+
new (): SuiListbox;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as i,H as s,c as o,f as t,h as e,t as r}from"./p-CeVlau-G.js";import{d as a,F as l}from"./p-piEUki9n.js";import{p as n,P as u,a as p}from"./p-3rGcn3Dk.js";import{G as d,k as c,z as h}from"./p-BeYfX4rQ.js";import{u as x}from"./p-U06fVoGD.js";import{i as b,d as f,s as v,r as m}from"./p-BHB1Wprj.js";import{f as g}from"./p-CGWvlrv_.js";import{m as y}from"./p-BE4gZZNA.js";import{o as k,f as w,l as z,n as F,h as T,s as j,k as C}from"./p-M0fYQCIv.js";import{S as A,r as S,v as G,s as q}from"./p-Btp15dVO.js";import{a as D}from"./p-BuyjS5bS.js";import{d as I,p as O}from"./p-Bt5Kx3zM.js";const H=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiChange=o(this,"suiChange",7),this.internals=this.attachInternals()}get host(){return this}internals;label;help;error;options=[];value;multiple=!1;filter=!1;emptyMessage;emptyFilterMessage;loading=!1;loadingMessage;disabled=!1;readOnly=!1;invalid=!1;height=220;virtualScrollThreshold=200;required=!1;name;suiChange;query="";hoverIdx=-1;keyNav=!1;pointerAt="";onKeyNav(i){I(i)&&(this.keyNav=!0)}onPointerNav(i){const s=O(i);s!==this.pointerAt&&(this.pointerAt=s,this.keyNav=!1)}onPointerPress(){this.keyNav=!1}boxScrollTop=0;formDisabled=!1;get isDisabled(){return this.disabled||this.formDisabled}fieldId=x("sui-listbox");list;box;filterInput;typeahead="";typeaheadTimer;scrollFrame;initial;metrics=new A;windowed=!1;connectedCallback(){b(this.host,this.internals),f(this.host,(()=>this.filterInput||this.list))}componentWillLoad(){this.initial=Array.isArray(this.value)?[...this.value]:this.value,this.syncForm()}disconnectedCallback(){clearTimeout(this.typeaheadTimer),this.typeahead="",null!=this.scrollFrame&&"undefined"!=typeof cancelAnimationFrame&&cancelAnimationFrame(this.scrollFrame),this.scrollFrame=void 0}syncForm(){const i=this.selected();let s;s=this.isDisabled?null:this.multiple?y(this.name,i)??(i.length?i.join(","):null):i.length?C(i[0]):"",v(this.internals,s),m(this.internals,this.required&&!this.isDisabled&&!this.readOnly,0===i.length,this.label,this.list,this.error)}componentDidLoad(){this.syncForm()}componentDidRender(){this.syncForm(),this.remeasure()}remeasure(){if(!this.box)return;const i=this.box.querySelector('.sui-popup-spacer[data-edge="top"]');if(!i)return;let s=this.metrics.measure(this.box,this.box.querySelector(".sui-popup-option"),i);s=this.metrics.measureGroup(this.box.querySelector(".sui-popup-group"))||s,s&&t(this)}onBoxScroll=i=>{this.windowed&&(this.boxScrollTop=i.target.scrollTop||0)};resetScroll(){this.boxScrollTop=0,this.box&&(this.box.scrollTop=0)}windowFor(i,s){const o=this.virtualScrollThreshold;return!(o>0)||s<o?null:S(G(i),this.metrics.at(this.boxScrollTop))}scrollIndexIntoView(i){if(!this.windowed||!this.box||i<0)return;const s=G(k(this.visible())),o=q(s,this.metrics.at(this.boxScrollTop),i,this.metrics.rowsTop);null!=o&&(this.box.scrollTop=o,this.boxScrollTop=this.box.scrollTop)}onOptions(){this.hoverIdx>=this.visible().length&&(this.hoverIdx=-1)}formResetCallback(){this.value=Array.isArray(this.initial)?[...this.initial]:this.initial}formDisabledCallback(i){this.formDisabled=g(this.host,this.disabled,i),this.syncForm()}async setFocus(){(this.filterInput||this.list)?.focus()}normCache;norm(){return this.normCache&&this.normCache.src===this.options||(this.normCache={src:this.options,out:w(z(this.options,this.host,"options"))}),this.normCache.out}visible(){if(this.loading)return[];const i=this.query.trim().toLowerCase();return i?this.norm().filter((s=>s.label.toLowerCase().includes(i))):this.norm()}selected(){return Array.isArray(this.value)?this.value:F(this.value)?[]:[this.value]}isSel(i){return T(this.selected(),i)}pick(i){if(!(this.isDisabled||this.readOnly||i.disabled))if(this.multiple){const s=this.selected(),o=T(s,i.value)?s.filter((s=>!j(s,i.value))):s.concat(i.value);this.value=o,this.suiChange.emit(o)}else{if(j(this.value,i.value))return;this.value=i.value,this.suiChange.emit(i.value)}}setHover(i){this.hoverIdx=i,this.scrollHoverIntoView()}move(i){const s=this.visible();if(!s.length)return;let o=this.hoverIdx<0&&-1===i?0:this.hoverIdx;for(let t=0;t<s.length&&(o=(o+i+s.length)%s.length,s[o].disabled);t++);this.setHover(o)}scrollHoverIntoView(){"undefined"!=typeof requestAnimationFrame&&(null!=this.scrollFrame&&cancelAnimationFrame(this.scrollFrame),this.scrollFrame=requestAnimationFrame((()=>{this.scrollFrame=void 0;const i=this.list?.querySelector('[role="option"].hover');i?i.scrollIntoView?.({block:"nearest"}):this.scrollIndexIntoView(this.hoverIdx)})))}onTypeahead(i){clearTimeout(this.typeaheadTimer),this.typeahead+=i.toLowerCase(),this.typeaheadTimer=setTimeout((()=>this.typeahead=""),500);const s=this.visible(),o=this.hoverIdx+1;for(let i=0;i<s.length;i++){const t=(o+i)%s.length;if(!s[t].disabled&&s[t].label.toLowerCase().startsWith(this.typeahead))return void this.setHover(t)}}onKeyDown=i=>{if(this.isDisabled)return;const s=this.visible(),o=!!this.filterInput&&i.target===this.filterInput;switch(i.key){case"ArrowDown":return i.preventDefault(),void this.move(1);case"ArrowUp":return i.preventDefault(),void this.move(-1);case"Home":if(o)return;return i.preventDefault(),void this.setHover(s.findIndex((i=>!i.disabled)));case"End":{if(o)return;i.preventDefault();let t=s.length-1;for(;t>0&&s[t].disabled;)t--;return void this.setHover(t)}case"Enter":return void(s[this.hoverIdx]&&(i.preventDefault(),this.pick(s[this.hoverIdx])));case" ":if(o)return;return i.preventDefault(),void(s[this.hoverIdx]&&this.pick(s[this.hoverIdx]));default:o||1!==i.key.length||i.ctrlKey||i.metaKey||i.altKey||this.onTypeahead(i.key)}};renderRow(i,s,o){const t=this.isSel(i.value);return e("div",{id:`${this.fieldId}-opt-${s}`,key:i.value,role:"option","aria-selected":t?"true":"false","aria-disabled":i.disabled?"true":null,"aria-posinset":s+1,"aria-setsize":o,class:{"sui-popup-option":!0,selected:t,hover:s===this.hoverIdx,keynav:this.keyNav&&s===this.hoverIdx,disabled:!!i.disabled},onMouseEnter:()=>this.hoverIdx=s,onMouseLeave:()=>this.hoverIdx=-1,onClick:()=>this.pick(i)},e("span",{class:"sui-popup-option-label"},i.label),t?e(d,{glyph:c}):null)}render(){const i=this.visible(),s=k(i),o=this.windowFor(s,i.length);this.windowed=!!o;const t=this.invalid||!!this.error,r=i[this.hoverIdx]?`${this.fieldId}-opt-${this.hoverIdx}`:void 0,c=D(void 0,"listbox.loading",this.loadingMessage,"Loading"),x=this.query.trim()?D(void 0,"listbox.emptyFilter",this.emptyFilterMessage,"No matches."):D(void 0,"listbox.empty",this.emptyMessage,"Nothing here yet.");return e(l,{key:"f1d611e290cfa3759ff2c3462a1d5866c76ae548",label:this.label,required:this.required,help:this.help,error:this.error,htmlFor:this.fieldId,descId:this.fieldId},e("div",{key:"690dd7ffc2f2aea5f56adb0274248d3bc32f867c",ref:i=>this.box=i,class:{box:!0,"sui-frame":!0,invalid:t,disabled:this.isDisabled,readonly:this.readOnly},style:{maxHeight:this.height+"px"},onKeyDown:this.onKeyDown,onScroll:this.onBoxScroll},this.filter?e("div",{class:"sui-popup-search"},e("div",{class:"sui-popup-search-box sui-frame"},e(d,{glyph:h}),e("input",{ref:i=>this.filterInput=i,type:"text",placeholder:D(void 0,"listbox.search",void 0,"Search"),"aria-label":D(void 0,"listbox.searchOptions",void 0,"Search options"),"aria-controls":this.fieldId,"aria-activedescendant":r,disabled:this.isDisabled,value:this.query,onInput:i=>{this.query=i.target.value,this.hoverIdx=-1,this.resetScroll()}}))):null,e("div",{key:"efe0e8380e57b39472440f0c7c0a953f20571786",ref:i=>this.list=i,id:this.fieldId,role:"listbox","aria-label":this.label,"aria-multiselectable":this.multiple?"true":null,"aria-disabled":this.isDisabled?"true":null,"aria-required":this.required?"true":null,"aria-readonly":this.readOnly?"true":null,"aria-activedescendant":r,"aria-invalid":t?"true":null,"aria-busy":this.loading?"true":null,"aria-describedby":a(this.fieldId,this.help,this.error),tabIndex:this.isDisabled?-1:0},this.loading||0===i.length?null:n(s,o,(i=>`${this.fieldId}-grp-${i}`),((s,o)=>this.renderRow(s,o,i.length)))),this.loading?e(u,{message:c}):null,this.loading||0!==i.length?null:e("div",{class:"sui-popup-empty"},x),e(p,{key:"f2faa1faedad0c64169d8d389654bc574937b62f",message:this.loading?c:0===i.length?x:""})))}static get formAssociated(){return!0}static get watchers(){return{value:[{syncForm:0}],required:[{syncForm:0}],error:[{syncForm:0}],name:[{syncForm:0}],disabled:[{syncForm:0}],readOnly:[{syncForm:0}],label:[{syncForm:0}],options:[{onOptions:0}],loading:[{onOptions:0}]}}static get style(){return'.sc-sui-listbox-h{display:block;font-family:var(--font-sans);min-width:0}.box.sc-sui-listbox{box-sizing:border-box;padding:5px;overflow-y:auto}.box.readonly.sc-sui-listbox [role="option"].sc-sui-listbox{cursor:default}.box.disabled.sc-sui-listbox .sui-popup-option.sc-sui-listbox{color:var(--disabled-ink);cursor:not-allowed}.box.sc-sui-listbox [role="listbox"].sc-sui-listbox{outline:none}@media (forced-colors: active){.box.sc-sui-listbox:focus-within{outline:2px solid Highlight;outline-offset:1px}.box.disabled.sc-sui-listbox{border-color:GrayText}.box.disabled.sc-sui-listbox .sui-popup-option.sc-sui-listbox{color:GrayText}.box.disabled.sc-sui-listbox .sui-popup-option.selected.sc-sui-listbox{background:GrayText;color:Canvas}.box.disabled.sc-sui-listbox .sui-popup-option.selected.sc-sui-listbox .sui-glyph.sc-sui-listbox{color:Canvas}}.sui-field.sc-sui-listbox{display:flex;flex-direction:column;gap:6px;font-family:var(--font-sans);min-width:0}.sui-field-label.sc-sui-listbox{font-size:12.5px;font-weight:620;color:var(--ink);line-height:1.3}.sui-field.invalid.sc-sui-listbox .sui-field-label.sc-sui-listbox{color:var(--danger)}.sui-field-req.sc-sui-listbox{color:var(--danger);margin-inline-start:3px}.sui-field-help.sc-sui-listbox{font-size:12px;color:var(--ink-faint);line-height:1.4}.sui-field-error.sc-sui-listbox{font-size:12px;font-weight:600;color:var(--danger);display:flex;align-items:center;gap:5px;line-height:1.4}.sui-field-error.sc-sui-listbox .sui-glyph.sc-sui-listbox{font-size:11px}.sui-frame.sc-sui-listbox{box-sizing:border-box;background:var(--sui-field-bg, var(--surface));border:1px solid var(--sui-field-border, var(--control-border));border-radius:var(--sui-field-radius, var(--radius-md));box-shadow:none;outline:none;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.sui-frame.sc-sui-listbox:hover{border-color:var(--sui-field-border, color-mix(in srgb, var(--control-border) 55%, var(--ink)))}.sui-frame[readonly].sc-sui-listbox,.sui-frame.readonly.sc-sui-listbox{border-color:var(--sui-field-border, var(--control-border));background:var(--sui-field-bg, var(--surface-sunken))}.sui-frame.sc-sui-listbox:focus-within,.sui-frame.focus.sc-sui-listbox,.sui-frame.open.sc-sui-listbox{border-color:var(--sui-field-border, var(--focus-ring));outline:var(--sui-field-edge, 1px solid var(--focus-ring));outline-offset:-2px;box-shadow:var(--sui-field-halo, 0 0 0 3px var(--focus-halo))}.sui-frame.invalid.sc-sui-listbox{border-color:var(--sui-field-border, var(--danger));outline:var(--sui-field-edge, 1px solid var(--danger));outline-offset:-2px}.sui-frame.invalid.sc-sui-listbox:focus-within,.sui-frame.invalid.focus.sc-sui-listbox,.sui-frame.invalid.open.sc-sui-listbox{outline-width:2px;outline-offset:-3px;box-shadow:var(--sui-field-halo, 0 0 0 3px color-mix(in srgb, var(--danger) 35%, transparent))}.sui-frame.sc-sui-listbox:disabled,.sui-frame.disabled.sc-sui-listbox{--ink-muted:var(--disabled-ink);--ink-faint:var(--disabled-ink);border-color:var(--sui-field-border, var(--border));outline:none;box-shadow:none;background:var(--sui-field-bg, var(--disabled-bg));color:var(--disabled-ink);cursor:not-allowed}.sui-input.sc-sui-listbox{width:100%;color:var(--ink);font-family:var(--font-sans);font-weight:460}.sui-input.sc-sui-listbox::placeholder{color:var(--ink-placeholder)}.sui-input.sm.sc-sui-listbox{height:var(--sui-field-height, var(--control-sm));padding:0 10px;font-size:12.5px}.sui-input.md.sc-sui-listbox{height:var(--sui-field-height, var(--control-md));padding:0 var(--control-pad-x);font-size:13px}.sui-input.lg.sc-sui-listbox{height:var(--sui-field-height, var(--control-lg));padding:0 var(--control-pad-x);font-size:14px}@media (forced-colors: active){.sui-frame.sc-sui-listbox:focus-within,.sui-frame.focus.sc-sui-listbox,.sui-frame.open.sc-sui-listbox{outline:2px solid Highlight;outline-offset:1px}.sui-frame.sc-sui-listbox:disabled,.sui-frame.disabled.sc-sui-listbox{color:GrayText;border-color:GrayText}}.sui-popup-trigger.sc-sui-listbox{box-sizing:border-box;width:100%;height:var(--sui-field-height, var(--control-md));display:flex;align-items:center;gap:8px;padding-block:0;padding-inline:12px 10px;color:var(--ink);font-size:13px;font-family:var(--font-sans);font-weight:460;cursor:pointer;user-select:none;text-align:start}.sui-popup-trigger.sc-sui-listbox:disabled,.sui-popup-trigger.disabled.sc-sui-listbox{cursor:not-allowed}.sui-popup-trigger.sc-sui-listbox .val.sc-sui-listbox{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-popup-trigger.placeholder.sc-sui-listbox .val.sc-sui-listbox{color:var(--ink-placeholder)}.sui-popup-trigger.sc-sui-listbox .clear.sc-sui-listbox{display:inline-flex;padding:2px;color:var(--ink-faint);font-size:11px;cursor:pointer;border-radius:4px}.sui-popup-trigger.sc-sui-listbox .clear.sc-sui-listbox:hover{color:var(--ink)}.sui-popup-trigger.sc-sui-listbox .chev.sc-sui-listbox{display:var(--sui-field-chevron, inline-block);font-size:10px;color:var(--ink-faint);transition:transform var(--duration-fast) var(--ease-out)}.sui-popup-trigger.open.sc-sui-listbox .chev.sc-sui-listbox{transform:rotate(180deg)}.sui-popup-trigger.readonly.sc-sui-listbox .chev.sc-sui-listbox{opacity:0.4}.sui-popup-trigger.sc-sui-listbox .spin.sc-sui-listbox{font-size:11px;color:var(--ink-faint)}.sui-popup-trigger.sm.sc-sui-listbox{height:var(--sui-field-height, var(--control-sm));font-size:12.5px}.sui-popup-trigger.md.sc-sui-listbox{height:var(--sui-field-height, var(--control-md));font-size:13px}.sui-popup-trigger.lg.sc-sui-listbox{height:var(--sui-field-height, var(--control-lg));font-size:14px}.sui-popup-panel.sc-sui-listbox{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;min-width:100%;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:5px;max-height:260px;overflow-y:auto;animation:sui-popup-in var(--duration-overlay) var(--ease-out)}.sui-popup-panel[data-side=\'top\'].sc-sui-listbox{animation-name:sui-popup-in-top}.sui-popup-panel.closing.sc-sui-listbox{animation:sui-popup-out var(--duration-fast) var(--ease-out) forwards;pointer-events:none}@keyframes sui-popup-in{from{opacity:0;transform:translateY(-4px)}}@keyframes sui-popup-in-top{from{opacity:0;transform:translateY(4px)}}@keyframes sui-popup-out{to{opacity:0}}.sui-popup-search.sc-sui-listbox{padding:3px 3px 7px;border-bottom:1px solid var(--hairline);margin-bottom:4px}.sui-popup-search-box.sc-sui-listbox{display:flex;align-items:center;gap:7px;height:30px;padding:0 9px}.sui-popup-search-box.sc-sui-listbox .sui-glyph.sc-sui-listbox{font-size:11px;color:var(--ink-faint)}.sui-popup-search-box.sc-sui-listbox input.sc-sui-listbox{flex:1;min-width:0;border:none;outline:none;background:transparent;font:460 12.5px var(--font-sans);color:var(--ink)}.sui-popup-empty.sc-sui-listbox{padding:10px;font-size:12.5px;color:var(--ink-faint)}.sui-popup-group.sc-sui-listbox{padding:8px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-faint);user-select:none}.sui-popup-status.sc-sui-listbox{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sui-popup-loading.sc-sui-listbox{display:flex;align-items:center;gap:8px;padding:10px;font-size:12.5px;color:var(--ink-faint)}.sui-popup-loading.sc-sui-listbox .sui-glyph.sc-sui-listbox{font-size:11px;color:var(--brand)}.sui-popup-spin.sc-sui-listbox{animation:sb-spin 0.8s linear infinite}@media (prefers-reduced-motion: reduce){.sui-popup-spin.sc-sui-listbox{animation-duration:2s}}.sui-popup-spacer.sc-sui-listbox{flex:none;pointer-events:none}.sui-popup-option.sc-sui-listbox{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:460;color:var(--ink);cursor:pointer;background:transparent}.sui-popup-option-label.sc-sui-listbox{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-popup-option.hover.sc-sui-listbox{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-popup-option.selected.sc-sui-listbox{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);background:var(--surface-selected);font-weight:650}.sui-popup-option.selected.hover.sc-sui-listbox{--ink-muted:var(--ink);--ink-faint:var(--ink);background:linear-gradient(var(--surface-hover) 0 0) var(--surface-selected)}.sui-popup-option.keynav.sc-sui-listbox{outline:2px solid var(--focus-ring);outline-offset:-2px}.sui-popup-option.disabled.sc-sui-listbox{--ink-muted:var(--ink-placeholder);--ink-faint:var(--ink-placeholder);color:var(--disabled-ink);cursor:not-allowed}.sui-popup-option.sc-sui-listbox .sui-glyph.sc-sui-listbox{font-size:11px;color:var(--brand-soft-ink)}@media (forced-colors: active){.sui-popup-trigger.placeholder.sc-sui-listbox .val.sc-sui-listbox{color:GrayText}.sui-popup-option.hover.sc-sui-listbox{outline:2px solid CanvasText;outline-offset:-2px}.sui-popup-option.selected.sc-sui-listbox{forced-color-adjust:none;background:Highlight;color:HighlightText}.sui-popup-option.selected.sc-sui-listbox .sui-glyph.sc-sui-listbox{color:HighlightText}.sui-popup-option.disabled.sc-sui-listbox{color:GrayText}}'}},[578,"sui-listbox",{label:[1],help:[1],error:[1],options:[16],value:[1032],multiple:[516],filter:[516],emptyMessage:[1,"empty-message"],emptyFilterMessage:[1,"empty-filter-message"],loading:[516],loadingMessage:[1,"loading-message"],disabled:[516],readOnly:[516,"readonly"],invalid:[516],height:[2],virtualScrollThreshold:[2,"virtual-scroll-threshold"],required:[516],name:[513],query:[32],hoverIdx:[32],keyNav:[32],boxScrollTop:[32],formDisabled:[32],setFocus:[64]},[[0,"keydown","onKeyNav"],[1,"pointermove","onPointerNav"],[1,"pointerdown","onPointerPress"]],{value:[{syncForm:0}],required:[{syncForm:0}],error:[{syncForm:0}],name:[{syncForm:0}],disabled:[{syncForm:0}],readOnly:[{syncForm:0}],label:[{syncForm:0}],options:[{onOptions:0}],loading:[{onOptions:0}]}]),M=H,N=function(){"undefined"!=typeof customElements&&["sui-listbox"].forEach((i=>{"sui-listbox"===i&&(customElements.get(r(i))||customElements.define(r(i),H))}))};export{M as SuiListbox,N as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMegaMenu extends Components.SuiMegaMenu, HTMLElement {}
|
|
4
|
+
export const SuiMegaMenu: {
|
|
5
|
+
prototype: SuiMegaMenu;
|
|
6
|
+
new (): SuiMegaMenu;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as i,H as s,c as e,f as t,h as n,a,t as o}from"./p-CeVlau-G.js";import{n as r,N as u}from"./p-BJYToX7G.js";import{G as h,y as m,q as c}from"./p-BeYfX4rQ.js";import{i as l}from"./p-GAnFXayY.js";import{a as d}from"./p-BuyjS5bS.js";import{F as g,i as p,f,w as v,r as x,c as b}from"./p-ES48zkCT.js";import{a as k,l as w,f as y,s as z,m as C}from"./p-lu4HWrMJ.js";import{p as T,h as F,l as j,m as H}from"./p-CUB_NKYi.js";import{t as S}from"./p-CDaU9b47.js";import{o as M,p as I,a as L,b as D,m as K,l as A}from"./p-DsHK25q3.js";import{f as B,o as R}from"./p-BWkzTEZX.js";import{u as E}from"./p-U06fVoGD.js";import{d as O}from"./p-BHB1Wprj.js";import{i as P,a as G}from"./p-wknHx00K.js";const X=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiPick=e(this,"suiPick",7),this.suiOpen=e(this,"suiOpen",3),this.suiClose=e(this,"suiClose",3)}get host(){return this}items=[];openIndex=-1;orientation="horizontal";noFold=!1;suiPick;suiOpen;suiClose;active=-1;focusTop=0;hasBrand=!1;hostLabel;hostLabelledby;stopHostLabel;stopHostLabelledby;closingIndex=-1;foldAt=-1;cursor=null;subPath=[];drill=!1;exit=M((()=>this.exited()));fieldId=E("sui-mega-menu");bar;buttons=[];panel;raised;demote;menus=[];flyouts=[];disposers=[];armed=-1;pendingFocus=-1;pendingRow=null;placedFor="";dispose;fold=new g;sizeWatch;watched=new Set;foldStale=!0;foldReady=!1;foldHeld=!1;foldKey="";focusMore=!1;moreMemo;connectedCallback(){O(this.host,(()=>this.tabStop())),this.stopHostLabel?.(),this.stopHostLabel=P(this.host,(i=>{this.hostLabel=i})),this.stopHostLabelledby?.(),this.stopHostLabelledby=G(this.host,(i=>{this.hostLabelledby=i})),this.bar&&(this.watchSlots(!0),this.startFold(),this.openIndex>=0&&t(this))}componentWillLoad(){this.hasBrand=B(this.host,"brand"),this.foldKey=p(this.items||[])}componentDidLoad(){this.watchSlots(),this.startFold()}watchSlots(i=!1){this.dispose?.(),this.dispose=R(this.host,(()=>{this.hasBrand=B(this.host,"brand"),this.watchSizes()}),{childList:!0}),i&&Promise.resolve().then((()=>{this.host.isConnected&&(this.hasBrand=B(this.host,"brand"))}))}componentWillRender(){this.raised&&this.drawnSurface()!==this.raisedSurface()&&this.lowerPanel()}componentDidRender(){if(this.sizeWatch&&(this.watchSizes(),this.foldStale&&this.measureFold()),this.focusMore&&this.folding&&(this.focusMore=!1,this.buttons[this.moreIndex]?.focus()),!(this.openIndex<0)&&this.panel&&this.host.isConnected){if(this.raised!==this.panel&&(this.lowerPanel(),this.demote=I(this.panel),this.raised=this.panel),this.armed!==this.openIndex&&(this.teardown(),this.armed=this.openIndex,this.placedFor="",this.reposition(),this.disposers.push(L((()=>[this.host,this.panel]),(()=>this.close("outside"))),D((()=>this.reposition())))),this.openIndex===this.moreIndex){const i=this.subPath.join(",");i!==this.placedFor&&(this.placedFor=i,T(this.menus,this.flyouts,this.subPath))}this.flushFocus()}}async setFocus(){this.tabStop()?.focus()}tabStop(){return this.host.querySelector('.items > .item[tabindex="0"]')}disconnectedCallback(){this.teardown(),this.exit.cancel(),this.lowerPanel(),this.closingIndex>=0&&this.exited(),this.dispose?.(),this.dispose=void 0,this.sizeWatch?.disconnect(),this.sizeWatch=void 0,this.watched=new Set,this.stopHostLabel?.(),this.stopHostLabel=void 0,this.stopHostLabelledby?.(),this.stopHostLabelledby=void 0}onOpenChange(i,s){if(i>=0&&this.isFolded(i))this.openFolded(i);else{if(this.active=-1,i>=0)return this.exit.cancel(),this.closingIndex=-1,void this.resetMore();this.teardown(),this.closingIndex=s>=0&&this.exit.begin(this.panel)?s:-1,this.closingIndex<0&&this.resetMore(),this.foldHeld&&(this.foldHeld=!1,this.foldStale=!0)}}onItemsChange(i,s){const e=p(i||[]);e!==this.foldKey&&(this.foldKey=e,this.openIndex>=0&&this.openIndex===(s||[]).length&&this.foldAt>=0&&this.close("outside"),this.fold.forget(),this.foldReady=!1,this.foldAt=-1,this.foldStale=!0)}onFoldSettingChange(){this.foldStale=!0,(this.noFold||this.vertical)&&this.applyFold(-1)}resetMore(){this.cursor=null,this.subPath=[]}exited(){this.lowerPanel(),this.closingIndex=-1,this.resetMore()}lowerPanel(){const i=this.demote;this.demote=void 0,this.raised=void 0,i?.()}drawnSurface(){const i=this.openIndex>=0?this.openIndex:this.closingIndex;return i<0?null:i===this.moreIndex?this.folding?"more":null:this.colsOf(i).length?"panel":null}raisedSurface(){return this.raised?this.raised.classList.contains("more-menu")?"more":"panel":null}colsOf(i){return this.items[i]?.items||[]}flatOf(i){return this.colsOf(i).reduce(((i,s)=>i.concat(s.links||[])),[])}flat(){return this.flatOf(this.openIndex)}get vertical(){return"vertical"===this.orientation}get moreIndex(){return(this.items||[]).length}get kept(){const i=(this.items||[]).length;return this.foldAt>=0?Math.min(this.foldAt,i):i}get folding(){return this.kept<(this.items||[]).length}isFolded(i){return this.folding&&i>=this.kept&&i<this.moreIndex}opens(i){return i===this.moreIndex?this.folding:this.colsOf(i).length>0}moreMenu(){const i=this.items||[],s=this.moreMemo;if(s&&s.items===i&&s.at===this.foldAt)return s.menu;const e=f(i,this.kept,(i=>i.items&&i.items.length?{label:i.label,icon:i.icon,items:b(i.items)}:i));return this.moreMemo={items:i,at:this.foldAt,menu:e},e}moreRows(){return this.folding?this.moreMenu().rows:[]}order(){const i=Array.from({length:this.kept},((i,s)=>s));return this.folding&&i.push(this.moreIndex),i}openFolded(i){const s=this.moreMenu(),e=s.itemAt.indexOf(i);this.openIndex=this.moreIndex,e<0||(this.cursor={depth:0,index:e},F(s.rows[e])&&(this.subPath=[e]))}startFold(){this.sizeWatch||"undefined"==typeof ResizeObserver||(this.sizeWatch=new ResizeObserver((()=>this.measureFold())),this.watched=new Set,this.watchSizes(),this.measureFold())}watchSizes(){this.sizeWatch&&this.bar&&(this.watched=v(this.sizeWatch,this.bar,this.watched))}measureFold(){this.foldStale=!1;const i=(this.items||[]).length;if(this.noFold||this.vertical||!i)return void this.applyFold(-1);if(this.openIndex>=0&&this.foldReady)return void(this.foldHeld=!0);const s=x(this.bar,this.buttons.slice(0,this.kept),this.folding?this.buttons[this.moreIndex]:void 0);if(!s)return;const e=this.fold.foldAt(i,s);if(null===e)return this.foldStale=!0,void this.applyFold(-1);this.foldReady=!0,this.applyFold(e)}applyFold(i){const s=i>=0&&i<(this.items||[]).length?i:-1;if(s===this.foldAt)return;const e=this.moreIndex;if(s<0&&this.openIndex===e&&this.folding&&!this.close("outside"))return;const n="undefined"!=typeof document?document.activeElement:null,a=n?this.buttons.findIndex((i=>!!i&&i===n)):-1;this.foldAt=s,t(this),this.folding&&!this.fold.knowsMore&&(this.foldStale=!0),a>=0&&a<e&&this.isFolded(a)&&(this.focusMore=!0),this.openIndex>=0&&this.isFolded(this.openIndex)&&this.openFolded(this.openIndex)}aimFocus(i,s){if(!s)return;if(i===this.moreIndex){const i=this.moreRows(),e="first"===s?k(i):w(i);if(e<0)return;return this.cursor={depth:0,index:e},void(this.pendingRow=this.cursor)}const e=this.flatOf(i),t="first"===s?k(e):w(e);t<0||(this.active=t,this.pendingFocus=t)}flushFocus(){const i=this.pendingRow;if(i&&(this.pendingRow=null,y(this.menus[i.depth],i.index)),this.pendingFocus<0)return;const s=this.pendingFocus;this.pendingFocus=-1,y(this.panel,s)}reposition(){if(this.bar&&this.panel){if(this.openIndex===this.moreIndex){const i=this.buttons[this.moreIndex];if(!i)return;return K(this.panel,A(i,this.panel,"bottom",8,"end")),this.checkDrill(!0),void T(this.menus,this.flyouts,this.subPath)}if(this.vertical)return this.panel.style.width="",void K(this.panel,A(this.bar,this.panel,l(this.host)?"left":"right",8,"start"));this.panel.style.width=this.bar.getBoundingClientRect().width+"px",K(this.panel,A(this.bar,this.panel,"bottom",8,"start"))}}checkDrill(i=!1){const s=r(this.panel,220);return s!==this.drill&&(i?Promise.resolve().then((()=>{this.drill=s})):this.drill=s),s}teardown(){this.disposers.forEach((i=>i())),this.disposers=[],this.armed=-1}close(i,s=!1){const e=this.openIndex;return e<0||!this.suiClose.emit(i).defaultPrevented&&(this.openIndex=-1,s&&this.buttons[e]?.focus(),!0)}openAt(i,s){return this.opens(i)?this.openIndex===i?(this.aimFocus(i,s),this.flushFocus(),!0):!!this.close("trigger")&&(this.openIndex=i,this.aimFocus(i,s),this.suiOpen.emit(i),!0):this.close("trigger")}pick=i=>{this.suiPick.emit(i),i.command?.(),this.close("pick",!0)};moveTop(i,s){const e=this.order(),t=e.length;if(!t)return;const n=e.indexOf(i),a=n<0?e[s>0?0:t-1]:e[(n+s+t)%t];this.focusTop=a,this.buttons[a]?.focus(),this.openIndex>=0&&this.openAt(a,"first")}onTopClick(i,s){if(this.opens(i))return void(this.openIndex===i?this.close("trigger"):this.openAt(i,s&&0===s.detail?"first":null));const e=this.items[i];this.close("pick"),this.suiPick.emit(e),e.command?.()}onTopKey(i,s){const e=this.opens(s);if(z(i))return;const t=l(this.host),n=t?"ArrowLeft":"ArrowRight",a=t?"ArrowRight":"ArrowLeft",o=this.vertical?["ArrowDown","ArrowUp"]:[n,a],r=this.vertical?n:"ArrowDown",u=this.vertical?a:"ArrowUp";if(i.key===o[0])return i.preventDefault(),void this.moveTop(s,1);if(i.key===o[1])return i.preventDefault(),void this.moveTop(s,-1);if(i.key!==r){if(i.key===u)return this.vertical?void(this.openIndex>=0&&(i.preventDefault(),this.close("trigger",!0))):void(e&&(i.preventDefault(),this.openAt(s,"last")));switch(i.key){case"Home":return i.preventDefault(),void this.moveTop(-1,1);case"End":return i.preventDefault(),void this.moveTop(-1,-1);case"Escape":return void(this.openIndex>=0&&(i.preventDefault(),i.stopPropagation(),this.close("escape",!0)));case"Tab":return void this.close("outside")}}else e&&(i.preventDefault(),this.openAt(s,"first"))}onPanelKey=i=>{if("Tab"===i.key)return void this.tabOut(i);const s=this.flat(),e=C(i,s,this.active);switch(e.action){case"move":return void(e.index>=0&&(this.active=e.index,y(this.panel,e.index)));case"activate":{const i=s[this.active];return void(i&&this.pick(i))}case"escape":return i.stopPropagation(),void this.close("escape",!0);case"forward":return void(this.vertical||this.moveTop(this.openIndex,1));case"back":return void(this.vertical?this.close("trigger",!0):this.moveTop(this.openIndex,-1))}};openSub(i,s,e){const t=j(this.moreRows(),this.subPath,i)[s]?.items||[],n=this.checkDrill();if(this.subPath=[...this.subPath.slice(0,i),s],!e&&!n)return;const a=k(t);a>=0&&(this.cursor={depth:i+1,index:a},this.pendingRow=this.cursor)}closeSub(i){if(i<=0)return;const s=this.subPath[i-1];this.subPath=this.subPath.slice(0,i-1),this.cursor={depth:i-1,index:s},this.pendingRow=this.cursor}onMoreHover(i,s){if(this.cursor={depth:i,index:s},this.drill)return;const e=j(this.moreRows(),this.subPath,i)[s];this.subPath=[...this.subPath.slice(0,i),...F(e)?[s]:[]]}tabOut(i){const s=this.openIndex;S(i,this.panel,(()=>this.close("outside",!0)?this.buttons[s]:null))}onMoreMenuKey=i=>{this.tabOut(i)};onMoreKey=(i,s)=>{if("Tab"===i.key)return;const e=H(i,this.moreRows(),this.subPath,this.cursor,s);switch(e.kind){case"move":return this.cursor=e.cursor,this.subPath=this.subPath.slice(0,s),void y(this.menus[s],e.cursor.index);case"open":return this.cursor=e.cursor,void this.openSub(s,e.cursor.index,!0);case"pick":return void this.pick(e.item);case"close":return void this.closeSub(e.depth);case"exit":return"escape"===e.key?(i.stopPropagation(),void this.close("escape",!0)):void(0===s&&this.moveTop(this.openIndex,"forward"===e.key?1:-1))}};renderMore(i,s){const e=this.moreIndex,t=this.openIndex===e;return n("button",{key:"more",ref:i=>{i&&(this.buttons[e]=i)},type:"button",class:{item:!0,more:!0,open:t},role:"menuitem",tabIndex:e===i?0:-1,"aria-haspopup":"true","aria-expanded":t?"true":"false","aria-controls":t?this.fieldId+"-more":null,onClick:i=>this.onTopClick(e,i),onMouseEnter:()=>{this.openIndex>=0&&this.openIndex!==e&&this.openAt(e,null)},onFocus:()=>this.focusTop=e,onKeyDown:i=>this.onTopKey(i,e)},n("span",null,s),n(h,{glyph:m,class:"chev"}))}renderMoreMenu(i){const s=this.moreIndex,e=this.openIndex<0&&this.closingIndex===s;return this.folding&&(this.openIndex===s||e)?n("div",{key:"more-menu",class:{"more-menu":!0,closing:e},inert:e,id:this.fieldId+"-more",ref:i=>this.panel=i,onKeyDown:this.onMoreMenuKey},n(u,{items:this.moreRows(),path:this.subPath,active:this.cursor,idBase:this.fieldId+"-more",ariaLabel:i,menuRef:(i,s)=>{s&&(this.menus[i]=s)},flyRef:(i,s)=>{s&&(this.flyouts[i]=s)},onPick:(i,s,e)=>{F(i)?this.openSub(s,e,!1):this.pick(i)},onHover:(i,s)=>this.onMoreHover(i,s),onLeave:i=>{this.cursor&&this.cursor.depth===i&&(this.cursor=null)},onKeyDown:this.onMoreKey,drill:this.drill,onBack:i=>this.closeSub(i)})):null}render(){this.buttons=[],this.menus=[],this.flyouts=[];const i=this.items||[],s=this.openIndex<0&&this.closingIndex>=0,e=s?this.closingIndex:this.openIndex,t=e>=0?this.colsOf(e):[],o=t.length?i[e]:void 0;let r=0;const u=t.map((i=>{const s=r;return r+=(i.links||[]).length,s})),l=this.folding,g=l?d(void 0,"menu.more",void 0,"More"):"",p=this.focusTop>=0&&this.focusTop<this.kept?this.focusTop:l?this.moreIndex:0;return n(a,null,n("div",{class:"wrap"},n("div",{class:"bar",ref:i=>this.bar=i},this.hasBrand?n("div",{class:"brand"},n("slot",{name:"brand"})):null,n("div",{class:"items",role:"menubar","aria-label":this.hostLabel,"aria-labelledby":this.hostLabelledby,"aria-orientation":this.vertical?"vertical":null},i.slice(0,this.kept).map(((i,s)=>{const e=!(!i.items||!i.items.length),t=this.openIndex===s&&e,a=!e&&!!i.href;return n(a?"a":"button",{ref:i=>{i&&(this.buttons[s]=i)},type:a?void 0:"button",href:a?i.href:void 0,target:a?i.target:void 0,rel:a&&"_blank"===i.target?"noopener":void 0,class:{item:!0,open:t},role:"menuitem",tabIndex:s===p?0:-1,"aria-haspopup":e?"true":"false","aria-expanded":e?t?"true":"false":null,"aria-controls":e&&t?this.fieldId+"-panel":null,onClick:i=>this.onTopClick(s,i),onMouseEnter:()=>{this.openIndex>=0&&e&&this.openIndex!==s&&this.openAt(s,null)},onFocus:()=>this.focusTop=s,onKeyDown:i=>this.onTopKey(i,s)},i.icon?n("i",{class:"top-icon "+i.icon,"aria-hidden":"true"}):null,n("span",null,i.label),e?n(h,{glyph:this.vertical?c:m,class:"chev"}):null)})),l?this.renderMore(p,g):null),n("div",{class:"spacer"}),n("slot",{name:"end"})),o?n("div",{class:{panel:!0,closing:s},inert:s,id:this.fieldId+"-panel",role:"menu","aria-label":o.label,ref:i=>this.panel=i,style:{gridTemplateColumns:`repeat(${t.length}, 1fr)`},onKeyDown:this.onPanelKey,onMouseLeave:()=>this.active=-1},t.map(((i,s)=>n("div",{class:"col",role:"group","aria-label":i.heading},n("div",{class:"col-head",role:"presentation"},i.heading),(i.links||[]).map(((i,e)=>{const t=u[s]+e;return n(i.href?"a":"div",{class:{link:!0,active:this.active===t},role:"menuitem","data-index":t,tabIndex:t===(this.active>=0?this.active:0)?0:-1,href:i.href||void 0,target:i.href?i.target:void 0,rel:i.href&&"_blank"===i.target?"noopener":void 0,onMouseEnter:()=>this.active=t,onClick:()=>this.pick(i)},i.icon?n("i",{class:"link-icon "+i.icon,"aria-hidden":"true"}):null,n("div",{class:"link-text"},n("div",{class:"link-label"},i.label),i.description?n("div",{class:"link-desc"},i.description):null))})))))):null,this.renderMoreMenu(g)))}static get watchers(){return{openIndex:[{onOpenChange:0}],items:[{onItemsChange:0}],noFold:[{onFoldSettingChange:0}],orientation:[{onFoldSettingChange:0}]}}static get style(){return".sc-sui-mega-menu-h{display:block;font-family:var(--font-sans)}.wrap.sc-sui-mega-menu{position:relative}.bar.sc-sui-mega-menu{display:flex;align-items:center;gap:4px;height:50px;padding:0 12px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink)}.brand.sc-sui-mega-menu{display:flex;align-items:center;margin-inline-end:10px}.items.sc-sui-mega-menu{display:flex;align-items:center;gap:4px;flex:none}.spacer.sc-sui-mega-menu{flex:1}[orientation='vertical'].sc-sui-mega-menu-h .bar.sc-sui-mega-menu{flex-direction:column;align-items:stretch;height:auto;padding:8px;gap:2px}[orientation='vertical'].sc-sui-mega-menu-h .items.sc-sui-mega-menu{flex-direction:column;align-items:stretch;gap:2px}[orientation='vertical'].sc-sui-mega-menu-h .brand.sc-sui-mega-menu{margin:2px 5px 8px}[orientation='vertical'].sc-sui-mega-menu-h .spacer.sc-sui-mega-menu{flex:none;height:4px}[orientation='vertical'].sc-sui-mega-menu-h .item.sc-sui-mega-menu{justify-content:flex-start}[orientation='vertical'].sc-sui-mega-menu-h .chev.sc-sui-mega-menu{margin-inline-start:auto}[orientation='vertical'].sc-sui-mega-menu-h:dir(rtl) .chev.sc-sui-mega-menu{transform:scaleX(-1)}.item.sc-sui-mega-menu{height:34px;padding:0 13px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);font-size:13.5px;font-weight:550;font-family:var(--font-sans);line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}a.item.sc-sui-mega-menu,a.item.sc-sui-mega-menu:hover,a.item.sc-sui-mega-menu:visited{color:var(--ink-muted);text-decoration:none}.item.sc-sui-mega-menu:hover{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.item.open.sc-sui-mega-menu{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);background:var(--surface-selected);color:var(--brand-soft-ink);font-weight:650}.item.sc-sui-mega-menu:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.top-icon.sc-sui-mega-menu{font-size:12px}.chev.sc-sui-mega-menu{font-size:9px;color:var(--ink-faint)}.panel.sc-sui-mega-menu{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:18px 20px;color:var(--ink);display:grid;gap:20px;animation:sui-mega-in var(--duration-overlay) var(--ease-out)}.panel[data-side='top'].sc-sui-mega-menu{animation-name:sui-mega-in-top}.panel[data-side='left'].sc-sui-mega-menu{animation-name:sui-mega-in-left}.panel[data-side='right'].sc-sui-mega-menu{animation-name:sui-mega-in-right}.panel.closing.sc-sui-mega-menu{animation:sui-mega-out var(--duration-fast) var(--ease-out) forwards;pointer-events:none}@keyframes sui-mega-in{from{opacity:0;margin-top:-4px}}@keyframes sui-mega-in-top{from{opacity:0;margin-top:4px}}@keyframes sui-mega-in-left{from{opacity:0;margin-left:4px}}@keyframes sui-mega-in-right{from{opacity:0;margin-left:-4px}}@keyframes sui-mega-out{to{opacity:0}}.panel.sc-sui-mega-menu:focus{outline:none}.more-menu.sc-sui-mega-menu{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;color:var(--ink);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:sui-mega-in var(--duration-overlay) var(--ease-out)}.more-menu[data-side='top'].sc-sui-mega-menu{animation-name:sui-mega-in-top}.more-menu.closing.sc-sui-mega-menu{animation:sui-mega-out var(--duration-fast) var(--ease-out) forwards;pointer-events:none}.col-head.sc-sui-mega-menu{font-size:10.5px;font-weight:650;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.link.sc-sui-mega-menu{display:flex;gap:10px;padding:7px 8px;margin:0 -8px;border-radius:6px;background:transparent;cursor:pointer;user-select:none;outline:none;color:inherit;text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}a.link.sc-sui-mega-menu,a.link.sc-sui-mega-menu:hover,a.link.sc-sui-mega-menu:visited{color:inherit;text-decoration:none}.link.active.sc-sui-mega-menu{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.link.sc-sui-mega-menu:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.link-icon.sc-sui-mega-menu{font-size:13px;color:var(--ink-muted);width:17px;text-align:center;margin-top:2px;flex-shrink:0}.link-text.sc-sui-mega-menu{min-width:0}.link-label.sc-sui-mega-menu{font-size:13px;font-weight:650}.link-desc.sc-sui-mega-menu{font-size:11.5px;color:var(--ink-faint);margin-top:1px}@media (forced-colors: active){.item.open.sc-sui-mega-menu{forced-color-adjust:none;background:Highlight;color:HighlightText}.item.sc-sui-mega-menu:focus-visible{outline-color:CanvasText;box-shadow:none}.chev.sc-sui-mega-menu,.link-icon.sc-sui-mega-menu,.link-desc.sc-sui-mega-menu{color:inherit}.link.active.sc-sui-mega-menu{forced-color-adjust:none;background:Highlight;color:HighlightText}a.link.active.sc-sui-mega-menu{color:HighlightText}.link.sc-sui-mega-menu:focus-visible{outline-color:CanvasText;box-shadow:none}}.sui-menu-list.sc-sui-mega-menu{box-sizing:border-box;padding:5px;font-family:var(--font-sans);color:var(--ink);background:transparent;border:none;border-radius:0;box-shadow:none}.sui-menu-list.fill.sc-sui-mega-menu{width:auto}.sui-menu-list.sc-sui-mega-menu:focus{outline:none}.sui-menu-row.sc-sui-mega-menu{position:relative}.sui-menu-fly.sc-sui-mega-menu{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:sui-menu-fly-in var(--duration-overlay) var(--ease-out)}.sui-menu-fly[data-side='left'].sc-sui-mega-menu{animation-name:sui-menu-fly-in-left}@keyframes sui-menu-fly-in{from{opacity:0;margin-left:-4px}}@keyframes sui-menu-fly-in-left{from{opacity:0;margin-left:4px}}.sui-menu-sep.sc-sui-mega-menu{height:1px;background:var(--hairline);margin:5px 4px}.sui-menu-backbar.sc-sui-mega-menu{padding:5px 5px 0}.sui-menu-back.sc-sui-mega-menu{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin:0;padding:7.5px 10px;border:0;border-radius:6px;background:transparent;cursor:pointer;font:650 13px var(--font-sans);color:var(--ink);text-align:start;transition:background var(--duration-fast) var(--ease-out)}.sui-menu-back.sc-sui-mega-menu:hover{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-menu-back.sc-sui-mega-menu:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.sui-menu-back.sc-sui-mega-menu .sui-glyph.sc-sui-mega-menu{font-size:11px;width:15px;color:var(--ink-muted);flex-shrink:0}.sui-menu-back.sc-sui-mega-menu .sui-glyph.sc-sui-mega-menu:dir(rtl){transform:scaleX(-1)}.sui-menu-backbar.sc-sui-mega-menu .sui-menu-sep.sc-sui-mega-menu{margin:5px 4px 0}.sui-menu-section.sc-sui-mega-menu{padding:8px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-faint)}.sui-menu-item.sc-sui-mega-menu{display:flex;align-items:center;gap:9px;padding:7.5px 10px;border-radius:6px;font-size:13px;font-weight:550;line-height:normal;color:var(--ink);background:transparent;cursor:pointer;user-select:none;outline:none;text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}a.sui-menu-item.sc-sui-mega-menu,a.sui-menu-item.sc-sui-mega-menu:hover,a.sui-menu-item.sc-sui-mega-menu:visited{color:var(--ink);text-decoration:none}.sui-menu-item.active.sc-sui-mega-menu,.sui-menu-item.open.sc-sui-mega-menu{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-menu-item.danger.sc-sui-mega-menu,a.sui-menu-item.danger.sc-sui-mega-menu,a.sui-menu-item.danger.sc-sui-mega-menu:hover,a.sui-menu-item.danger.sc-sui-mega-menu:visited{color:var(--danger);font-weight:620}.sui-menu-item.danger.active.sc-sui-mega-menu,.sui-menu-item.danger.sc-sui-mega-menu:hover,a.sui-menu-item.danger.sc-sui-mega-menu:hover{background:var(--danger-soft);color:var(--danger-soft-ink)}.sui-menu-item.disabled.sc-sui-mega-menu{--ink-muted:var(--ink-placeholder);--ink-faint:var(--ink-placeholder);--accent:var(--surface-sunken);--accent-contrast:var(--ink-placeholder);color:var(--disabled-ink);cursor:not-allowed;background:transparent}.sui-menu-item.current.sc-sui-mega-menu{font-weight:650}.sui-menu-item.sc-sui-mega-menu:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.sui-menu-icon.sc-sui-mega-menu{font-size:12px;width:15px;text-align:center;color:var(--ink-muted);flex-shrink:0}.sui-menu-check.sc-sui-mega-menu{display:inline-flex;align-items:center;justify-content:center;width:15px;flex-shrink:0;font-size:11px;color:var(--ink)}.sui-menu-item.danger.sc-sui-mega-menu .sui-menu-icon.sc-sui-mega-menu{color:var(--danger)}.sui-menu-item.danger.sc-sui-mega-menu:hover .sui-menu-icon.sc-sui-mega-menu,.sui-menu-item.danger.active.sc-sui-mega-menu .sui-menu-icon.sc-sui-mega-menu{color:var(--danger-soft-ink)}.sui-menu-item.disabled.sc-sui-mega-menu .sui-menu-icon.sc-sui-mega-menu{color:var(--disabled-ink)}.sui-menu-label.sc-sui-mega-menu{flex:1;min-width:0}.sui-menu-badge.sc-sui-mega-menu{min-width:17px;height:17px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--accent);color:var(--accent-contrast);font-size:10px;font-weight:720;display:inline-flex;align-items:center;justify-content:center;font-feature-settings:'tnum'}.sui-menu-shortcut.sc-sui-mega-menu{font-size:11px;color:var(--ink-faint);font-feature-settings:'tnum';white-space:nowrap}.sui-menu-chev.sc-sui-mega-menu{font-size:9px;color:var(--ink-faint)}.sui-menu-chev.sc-sui-mega-menu:dir(rtl){transform:scaleX(-1)}@media (forced-colors: active){.sui-menu-sep.sc-sui-mega-menu{background:CanvasText}.sui-menu-item.active.sc-sui-mega-menu,.sui-menu-item.open.sc-sui-mega-menu,.sui-menu-item.danger.active.sc-sui-mega-menu{forced-color-adjust:none;background:Highlight;color:HighlightText}a.sui-menu-item.active.sc-sui-mega-menu,a.sui-menu-item.open.sc-sui-mega-menu,a.sui-menu-item.danger.active.sc-sui-mega-menu{color:HighlightText}.sui-menu-item.disabled.sc-sui-mega-menu{color:GrayText}.sui-menu-item.current.sc-sui-mega-menu{outline:2px solid Highlight;outline-offset:-2px}.sui-menu-item.sc-sui-mega-menu:focus-visible{outline-color:CanvasText;box-shadow:none}.sui-menu-icon.sc-sui-mega-menu,.sui-menu-shortcut.sc-sui-mega-menu,.sui-menu-chev.sc-sui-mega-menu,.sui-menu-item.danger.sc-sui-mega-menu .sui-menu-icon.sc-sui-mega-menu{color:inherit}.sui-menu-item.disabled.sc-sui-mega-menu .sui-menu-icon.sc-sui-mega-menu{color:GrayText}.sui-menu-badge.sc-sui-mega-menu{background:Canvas;color:CanvasText;border:1px solid CanvasText}}"}},[774,"sui-mega-menu",{items:[16],openIndex:[1026,"open-index"],orientation:[513],noFold:[516,"no-fold"],active:[32],focusTop:[32],hasBrand:[32],hostLabel:[32],hostLabelledby:[32],closingIndex:[32],cursor:[32],subPath:[32],drill:[32],setFocus:[64]},void 0,{openIndex:[{onOpenChange:0}],items:[{onItemsChange:0}],noFold:[{onFoldSettingChange:0}],orientation:[{onFoldSettingChange:0}]}]),W=X,U=function(){"undefined"!=typeof customElements&&["sui-mega-menu"].forEach((i=>{"sui-mega-menu"===i&&(customElements.get(o(i))||customElements.define(o(i),X))}))};export{W as SuiMegaMenu,U as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMenu extends Components.SuiMenu, HTMLElement {}
|
|
4
|
+
export const SuiMenu: {
|
|
5
|
+
prototype: SuiMenu;
|
|
6
|
+
new (): SuiMenu;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SuiMenu as e,defineCustomElement as o}from"./p-D1HckqwW.js";const s=e,t=o;export{s as SuiMenu,t as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMenubar extends Components.SuiMenubar, HTMLElement {}
|
|
4
|
+
export const SuiMenubar: {
|
|
5
|
+
prototype: SuiMenubar;
|
|
6
|
+
new (): SuiMenubar;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as s,H as i,c as t,f as e,h as n,a as r,t as a}from"./p-CeVlau-G.js";import{n as o,N as u}from"./p-BJYToX7G.js";import{G as h,y as c}from"./p-BeYfX4rQ.js";import{i as d}from"./p-GAnFXayY.js";import{a as m}from"./p-BuyjS5bS.js";import{F as l,i as p,f as b,w as f,r as v}from"./p-ES48zkCT.js";import{a as g,l as x,f as k,s as y}from"./p-lu4HWrMJ.js";import{t as w}from"./p-CDaU9b47.js";import{p as z,h as C,l as F,m as T}from"./p-CUB_NKYi.js";import{o as j,p as H,a as I,b as L,m as S,l as B}from"./p-DsHK25q3.js";import{f as D,o as K}from"./p-BWkzTEZX.js";import{u as M}from"./p-U06fVoGD.js";import{d as P}from"./p-BHB1Wprj.js";import{i as E,a as A}from"./p-wknHx00K.js";const O=s(class extends i{constructor(s){super(),!1!==s&&this.__registerHost(),this.suiPick=t(this,"suiPick",7),this.suiOpen=t(this,"suiOpen",3),this.suiClose=t(this,"suiClose",3)}get host(){return this}items=[];openIndex=-1;noFold=!1;suiPick;suiOpen;suiClose;cursor=null;subPath=[];drill=!1;focusTop=0;hasBrand=!1;hostLabel;hostLabelledby;stopHostLabel;stopHostLabelledby;closingIndex=-1;foldAt=-1;exit=j((()=>this.exited()));fieldId=M("sui-menubar");bar;buttons=[];tops=[];moreTop;panel;raised;demote;menus=[];flyouts=[];disposers=[];armed=-1;pendingFocus=null;placedFor="";dispose;fold=new l;sizeWatch;watched=new Set;foldStale=!0;foldReady=!1;foldHeld=!1;foldKey="";focusMore=!1;moreMemo;connectedCallback(){P(this.host,(()=>this.tabStop())),this.stopHostLabel?.(),this.stopHostLabel=E(this.host,(s=>{this.hostLabel=s})),this.stopHostLabelledby?.(),this.stopHostLabelledby=A(this.host,(s=>{this.hostLabelledby=s})),this.bar&&(this.watchSlots(!0),this.startFold(),this.openIndex>=0&&e(this))}componentWillLoad(){this.hasBrand=D(this.host,"brand"),this.foldKey=p(this.items||[])}componentDidLoad(){this.watchSlots(),this.startFold()}watchSlots(s=!1){this.dispose?.(),this.dispose=K(this.host,(()=>{this.hasBrand=D(this.host,"brand"),this.watchSizes()}),{childList:!0}),s&&Promise.resolve().then((()=>{this.host.isConnected&&(this.hasBrand=D(this.host,"brand"))}))}componentDidRender(){if(this.sizeWatch&&(this.watchSizes(),this.foldStale&&this.measureFold()),this.focusMore&&this.folding&&(this.focusMore=!1,this.buttons[this.moreIndex]?.focus()),this.openIndex<0||!this.panel||!this.host.isConnected)return;this.raised!==this.panel&&(this.lowerPanel(),this.demote=H(this.panel),this.raised=this.panel),this.armed!==this.openIndex&&(this.teardown(),this.armed=this.openIndex,this.placedFor="",this.reposition(),this.disposers.push(I((()=>[this.host,this.panel]),(()=>this.close("outside"))),L((()=>this.reposition()))));const s=this.subPath.join(",");s!==this.placedFor&&(this.placedFor=s,z(this.menus,this.flyouts,this.subPath)),this.flushFocus()}async setFocus(){this.tabStop()?.focus()}tabStop(){return this.host.querySelector('.items > .top > .item[tabindex="0"]')}disconnectedCallback(){this.teardown(),this.exit.cancel(),this.lowerPanel(),this.closingIndex>=0&&this.exited(),this.dispose?.(),this.dispose=void 0,this.sizeWatch?.disconnect(),this.sizeWatch=void 0,this.watched=new Set,this.stopHostLabel?.(),this.stopHostLabel=void 0,this.stopHostLabelledby?.(),this.stopHostLabelledby=void 0}onOpenChange(s,i){if(s>=0&&this.isFolded(s))this.openFolded(s);else{if(s>=0)return this.exit.cancel(),this.closingIndex=-1,this.lowerPanel(),void this.reset();this.teardown(),i>=0&&this.exit.begin(this.panel)?this.closingIndex=i:(this.lowerPanel(),this.reset()),this.foldHeld&&(this.foldHeld=!1,this.foldStale=!0)}}onItemsChange(s,i){const t=p(s||[]);t!==this.foldKey&&(this.foldKey=t,this.openIndex>=0&&this.openIndex===(i||[]).length&&this.foldAt>=0&&this.close("outside"),this.openIndex>=(s||[]).length&&this.lowerPanel(),this.fold.forget(),this.foldReady=!1,this.foldAt=-1,this.foldStale=!0)}onNoFoldChange(){this.foldStale=!0,this.noFold&&this.applyFold(-1)}reset(){this.cursor=null,this.subPath=[]}exited(){this.lowerPanel(),this.closingIndex=-1,this.reset()}lowerPanel(){const s=this.demote;this.demote=void 0,this.raised=void 0,s?.()}get moreIndex(){return(this.items||[]).length}get kept(){const s=(this.items||[]).length;return this.foldAt>=0?Math.min(this.foldAt,s):s}get folding(){return this.kept<(this.items||[]).length}isFolded(s){return this.folding&&s>=this.kept&&s<this.moreIndex}moreMenu(){const s=this.items||[],i=this.moreMemo;if(i&&i.items===s&&i.at===this.foldAt)return i.menu;const t=b(s,this.kept,(s=>s));return this.moreMemo={items:s,at:this.foldAt,menu:t},t}rowsOf(s){return s===this.moreIndex?this.folding?this.moreMenu().rows:[]:this.items[s]?.items||[]}rows(){return this.rowsOf(this.openIndex)}opens(s){return this.rowsOf(s).length>0}order(){const s=Array.from({length:this.kept},((s,i)=>i));return this.folding&&s.push(this.moreIndex),s}openFolded(s){const i=this.moreMenu(),t=i.itemAt.indexOf(s);this.openIndex=this.moreIndex,t<0||(this.cursor={depth:0,index:t},C(i.rows[t])&&(this.subPath=[t]))}startFold(){this.sizeWatch||"undefined"==typeof ResizeObserver||(this.sizeWatch=new ResizeObserver((()=>this.measureFold())),this.watched=new Set,this.watchSizes(),this.measureFold())}watchSizes(){this.sizeWatch&&this.bar&&(this.watched=f(this.sizeWatch,this.bar,this.watched))}measureFold(){this.foldStale=!1;const s=(this.items||[]).length;if(this.noFold||!s)return void this.applyFold(-1);if(this.openIndex>=0&&this.foldReady)return void(this.foldHeld=!0);const i=v(this.bar,this.tops.slice(0,this.kept),this.folding?this.moreTop:void 0);if(!i)return;const t=this.fold.foldAt(s,i);if(null===t)return this.foldStale=!0,void this.applyFold(-1);this.foldReady=!0,this.applyFold(t)}applyFold(s){const i=s>=0&&s<(this.items||[]).length?s:-1;if(i===this.foldAt)return;const t=this.moreIndex;if(i<0&&this.openIndex===t&&this.folding&&!this.close("outside"))return;const n="undefined"!=typeof document?document.activeElement:null,r=n?this.buttons.findIndex((s=>!!s&&s===n)):-1;this.foldAt=i,e(this),this.folding&&!this.fold.knowsMore&&(this.foldStale=!0),r>=0&&r<t&&this.isFolded(r)&&(this.focusMore=!0),this.openIndex>=0&&this.isFolded(this.openIndex)&&this.openFolded(this.openIndex)}aimFocus(s,i){if(!i)return;const t=this.rowsOf(s),e="first"===i?g(t):x(t);e<0||this.focusLater({depth:0,index:e})}focusLater(s){this.cursor=s,this.pendingFocus=s}flushFocus(){const s=this.pendingFocus;s&&(this.pendingFocus=null,k(this.menus[s.depth],s.index))}reposition(){const s=this.buttons[this.openIndex];s&&this.panel&&(S(this.panel,B(s,this.panel,"bottom",8,this.openIndex===this.moreIndex?"end":"start")),this.checkDrill(!0),z(this.menus,this.flyouts,this.subPath))}checkDrill(s=!1){const i=o(this.panel,220);return i!==this.drill&&(s?Promise.resolve().then((()=>{this.drill=i})):this.drill=i),i}teardown(){this.disposers.forEach((s=>s())),this.disposers=[],this.armed=-1}close(s,i=!1){const t=this.openIndex;return t<0||!this.suiClose.emit(s).defaultPrevented&&(this.openIndex=-1,i&&this.buttons[t]?.focus(),!0)}openAt(s,i){return this.openIndex===s?(this.aimFocus(s,i),this.flushFocus(),!0):!!this.close("trigger")&&(this.openIndex=s,this.aimFocus(s,i),this.suiOpen.emit(s),!0)}openSub(s,i,t){const e=F(this.rows(),this.subPath,s)[i]?.items||[],n=this.checkDrill();if(this.subPath=[...this.subPath.slice(0,s),i],!t&&!n)return;const r=g(e);r>=0&&this.focusLater({depth:s+1,index:r})}closeSub(s){if(s<=0)return;const i=this.subPath[s-1];this.subPath=this.subPath.slice(0,s-1),this.focusLater({depth:s-1,index:i})}pick=s=>{this.suiPick.emit(s),s.command?.(),this.close("pick",!0)};moveTop(s,i){const t=this.order(),e=t.length;if(!e)return;const n=t.indexOf(s),r=n<0?t[i>0?0:e-1]:t[(n+i+e)%e];this.focusTop=r,this.buttons[r]?.focus(),this.openIndex>=0&&(this.opens(r)?this.openAt(r,"first"):this.close("trigger"))}onTopClick(s,i){if(this.opens(s))return void(this.openIndex===s?this.close("trigger"):this.openAt(s,i&&0===i.detail?"first":null));const t=this.items[s];this.close("pick"),this.suiPick.emit(t),t.command?.()}onTopKey(s,i){if(y(s))return;const t=d(this.host),e=this.opens(i);switch(s.key){case"ArrowRight":return s.preventDefault(),void this.moveTop(i,t?-1:1);case"ArrowLeft":return s.preventDefault(),void this.moveTop(i,t?1:-1);case"Home":return s.preventDefault(),void this.moveTop(-1,1);case"End":return s.preventDefault(),void this.moveTop(-1,-1);case"ArrowDown":return void(e&&(s.preventDefault(),this.openAt(i,"first")));case"ArrowUp":return void(e&&(s.preventDefault(),this.openAt(i,"last")));case"Escape":return void(this.openIndex>=0&&(s.preventDefault(),s.stopPropagation(),this.close("escape",!0)));case"Tab":return void this.close("outside")}}onHover(s,i){if(this.cursor={depth:s,index:i},this.drill)return;const t=F(this.rows(),this.subPath,s)[i];this.subPath=[...this.subPath.slice(0,s),...C(t)?[i]:[]]}onPanelKey=s=>{const i=this.openIndex;w(s,this.panel,(()=>this.close("outside",!0)?this.buttons[i]:null))};onMenuKey=(s,i)=>{if("Tab"===s.key)return;const t=T(s,this.rows(),this.subPath,this.cursor,i);switch(t.kind){case"move":return this.cursor=t.cursor,this.subPath=this.subPath.slice(0,i),void k(this.menus[i],t.cursor.index);case"open":return this.cursor=t.cursor,void this.openSub(i,t.cursor.index,!0);case"pick":return void this.pick(t.item);case"close":return void this.closeSub(t.depth);case"exit":return"escape"===t.key?(s.stopPropagation(),void this.close("escape",!0)):void(0===i&&this.moveTop(this.openIndex,"forward"===t.key?1:-1))}};renderPanel(s,i,t,e,r){const a=this.openIndex<0&&this.closingIndex===s;return this.openIndex===s||a?n("div",{class:{panel:!0,closing:a},inert:a,id:e,ref:s=>this.panel=s,onKeyDown:this.onPanelKey},n(u,{items:i,path:this.subPath,active:this.cursor,idBase:r,ariaLabel:t,menuRef:(s,i)=>{i&&(this.menus[s]=i)},flyRef:(s,i)=>{i&&(this.flyouts[s]=i)},onPick:(s,i,t)=>{C(s)?this.openSub(i,t,!1):this.pick(s)},onHover:(s,i)=>this.onHover(s,i),onLeave:s=>{this.cursor&&this.cursor.depth===s&&(this.cursor=null)},onKeyDown:this.onMenuKey,drill:this.drill,onBack:s=>this.closeSub(s)})):null}renderMore(s){const i=this.moreIndex,t=this.openIndex===i,e=m(void 0,"menu.more",void 0,"More"),r=this.fieldId+"-panel-more";return n("div",{class:"top",key:"more",ref:s=>this.moreTop=s},n("button",{ref:s=>{s&&(this.buttons[i]=s)},type:"button",class:{item:!0,more:!0,open:t},role:"menuitem",tabIndex:i===s?0:-1,"aria-haspopup":"true","aria-expanded":t?"true":"false","aria-controls":t?r:null,onClick:s=>this.onTopClick(i,s),onMouseEnter:()=>{this.openIndex>=0&&this.openIndex!==i&&this.openAt(i,null)},onFocus:()=>this.focusTop=i,onKeyDown:s=>this.onTopKey(s,i)},n("span",null,e),n(h,{glyph:c,class:"chev"})),this.renderPanel(i,this.moreMenu().rows,e,r,this.fieldId+"-more"))}render(){this.buttons=[],this.tops=[],this.menus=[],this.flyouts=[];const s=this.items||[],i=this.folding,t=this.focusTop>=0&&this.focusTop<this.kept?this.focusTop:i?this.moreIndex:0;return n(r,{key:"7aff6994238c92c1ad26c54b5669dcda14d8acc4"},n("div",{key:"8e44914df3e8cd6752b7b390a38860bae0f7c67a",class:"bar",ref:s=>this.bar=s},this.hasBrand?n("div",{class:"brand"},n("slot",{name:"brand"})):null,n("div",{key:"ed1ed99498eb488e0ae7a5ebd3577fe4e6a2d082",class:"items",role:"menubar","aria-label":this.hostLabel,"aria-labelledby":this.hostLabelledby},s.slice(0,this.kept).map(((s,i)=>{const e=!(!s.items||!s.items.length),r=this.openIndex===i,a=!e&&!!s.href;return n("div",{class:"top",ref:s=>{s&&(this.tops[i]=s)}},n(a?"a":"button",{ref:s=>{s&&(this.buttons[i]=s)},type:a?void 0:"button",href:a?s.href:void 0,target:a?s.target:void 0,rel:a&&"_blank"===s.target?"noopener":void 0,class:{item:!0,open:r},role:"menuitem",tabIndex:i===t?0:-1,"aria-haspopup":e?"true":"false","aria-expanded":e?r?"true":"false":null,"aria-controls":e&&r?`${this.fieldId}-panel-${i}`:null,onClick:s=>this.onTopClick(i,s),onMouseEnter:()=>{this.openIndex>=0&&e&&this.openIndex!==i&&this.openAt(i,null)},onFocus:()=>this.focusTop=i,onKeyDown:s=>this.onTopKey(s,i)},s.icon?n("i",{class:"top-icon "+s.icon,"aria-hidden":"true"}):null,n("span",null,s.label),e?n(h,{glyph:c,class:"chev"}):null),e?this.renderPanel(i,s.items,s.label,`${this.fieldId}-panel-${i}`,`${this.fieldId}-${i}`):null)})),i?this.renderMore(t):null),n("div",{key:"b502fe3772e8df017e9a738a3f80426937de21ac",class:"spacer"}),n("slot",{key:"7c3793fa5501c2d0bf52b5eba79af2432a0947f1",name:"end"})))}static get watchers(){return{openIndex:[{onOpenChange:0}],items:[{onItemsChange:0}],noFold:[{onNoFoldChange:0}]}}static get style(){return".sc-sui-menubar-h{display:block;font-family:var(--font-sans)}.bar.sc-sui-menubar{display:flex;align-items:center;gap:4px;height:50px;padding:0 12px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink)}.brand.sc-sui-menubar{display:flex;align-items:center;margin-inline-end:10px}.items.sc-sui-menubar{display:flex;align-items:center;gap:4px;flex:none}.top.sc-sui-menubar{position:relative}.spacer.sc-sui-menubar{flex:1}.item.sc-sui-menubar{height:34px;padding:0 13px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);font-size:13.5px;font-weight:550;font-family:var(--font-sans);line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}a.item.sc-sui-menubar,a.item.sc-sui-menubar:hover,a.item.sc-sui-menubar:visited{color:var(--ink-muted);text-decoration:none}.item.sc-sui-menubar:hover{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.item.open.sc-sui-menubar{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);background:var(--surface-selected);color:var(--brand-soft-ink);font-weight:650}.item.sc-sui-menubar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.top-icon.sc-sui-menubar{font-size:12px}.chev.sc-sui-menubar{font-size:9px;color:var(--ink-faint)}.panel.sc-sui-menubar{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:sui-menubar-in var(--duration-overlay) var(--ease-out)}.panel[data-side='top'].sc-sui-menubar{animation-name:sui-menubar-in-top}.panel.closing.sc-sui-menubar{animation:sui-menubar-out var(--duration-fast) var(--ease-out) forwards;pointer-events:none}@keyframes sui-menubar-in{from{opacity:0;margin-top:-4px}}@keyframes sui-menubar-in-top{from{opacity:0;margin-top:4px}}@keyframes sui-menubar-out{to{opacity:0}}@media (forced-colors: active){.item.open.sc-sui-menubar{forced-color-adjust:none;background:Highlight;color:HighlightText}.item.sc-sui-menubar:focus-visible{outline-color:CanvasText;box-shadow:none}.chev.sc-sui-menubar{color:inherit}}.sui-menu-list.sc-sui-menubar{box-sizing:border-box;padding:5px;font-family:var(--font-sans);color:var(--ink);background:transparent;border:none;border-radius:0;box-shadow:none}.sui-menu-list.fill.sc-sui-menubar{width:auto}.sui-menu-list.sc-sui-menubar:focus{outline:none}.sui-menu-row.sc-sui-menubar{position:relative}.sui-menu-fly.sc-sui-menubar{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:sui-menu-fly-in var(--duration-overlay) var(--ease-out)}.sui-menu-fly[data-side='left'].sc-sui-menubar{animation-name:sui-menu-fly-in-left}@keyframes sui-menu-fly-in{from{opacity:0;margin-left:-4px}}@keyframes sui-menu-fly-in-left{from{opacity:0;margin-left:4px}}.sui-menu-sep.sc-sui-menubar{height:1px;background:var(--hairline);margin:5px 4px}.sui-menu-backbar.sc-sui-menubar{padding:5px 5px 0}.sui-menu-back.sc-sui-menubar{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin:0;padding:7.5px 10px;border:0;border-radius:6px;background:transparent;cursor:pointer;font:650 13px var(--font-sans);color:var(--ink);text-align:start;transition:background var(--duration-fast) var(--ease-out)}.sui-menu-back.sc-sui-menubar:hover{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-menu-back.sc-sui-menubar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.sui-menu-back.sc-sui-menubar .sui-glyph.sc-sui-menubar{font-size:11px;width:15px;color:var(--ink-muted);flex-shrink:0}.sui-menu-back.sc-sui-menubar .sui-glyph.sc-sui-menubar:dir(rtl){transform:scaleX(-1)}.sui-menu-backbar.sc-sui-menubar .sui-menu-sep.sc-sui-menubar{margin:5px 4px 0}.sui-menu-section.sc-sui-menubar{padding:8px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-faint)}.sui-menu-item.sc-sui-menubar{display:flex;align-items:center;gap:9px;padding:7.5px 10px;border-radius:6px;font-size:13px;font-weight:550;line-height:normal;color:var(--ink);background:transparent;cursor:pointer;user-select:none;outline:none;text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}a.sui-menu-item.sc-sui-menubar,a.sui-menu-item.sc-sui-menubar:hover,a.sui-menu-item.sc-sui-menubar:visited{color:var(--ink);text-decoration:none}.sui-menu-item.active.sc-sui-menubar,.sui-menu-item.open.sc-sui-menubar{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-menu-item.danger.sc-sui-menubar,a.sui-menu-item.danger.sc-sui-menubar,a.sui-menu-item.danger.sc-sui-menubar:hover,a.sui-menu-item.danger.sc-sui-menubar:visited{color:var(--danger);font-weight:620}.sui-menu-item.danger.active.sc-sui-menubar,.sui-menu-item.danger.sc-sui-menubar:hover,a.sui-menu-item.danger.sc-sui-menubar:hover{background:var(--danger-soft);color:var(--danger-soft-ink)}.sui-menu-item.disabled.sc-sui-menubar{--ink-muted:var(--ink-placeholder);--ink-faint:var(--ink-placeholder);--accent:var(--surface-sunken);--accent-contrast:var(--ink-placeholder);color:var(--disabled-ink);cursor:not-allowed;background:transparent}.sui-menu-item.current.sc-sui-menubar{font-weight:650}.sui-menu-item.sc-sui-menubar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.sui-menu-icon.sc-sui-menubar{font-size:12px;width:15px;text-align:center;color:var(--ink-muted);flex-shrink:0}.sui-menu-check.sc-sui-menubar{display:inline-flex;align-items:center;justify-content:center;width:15px;flex-shrink:0;font-size:11px;color:var(--ink)}.sui-menu-item.danger.sc-sui-menubar .sui-menu-icon.sc-sui-menubar{color:var(--danger)}.sui-menu-item.danger.sc-sui-menubar:hover .sui-menu-icon.sc-sui-menubar,.sui-menu-item.danger.active.sc-sui-menubar .sui-menu-icon.sc-sui-menubar{color:var(--danger-soft-ink)}.sui-menu-item.disabled.sc-sui-menubar .sui-menu-icon.sc-sui-menubar{color:var(--disabled-ink)}.sui-menu-label.sc-sui-menubar{flex:1;min-width:0}.sui-menu-badge.sc-sui-menubar{min-width:17px;height:17px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--accent);color:var(--accent-contrast);font-size:10px;font-weight:720;display:inline-flex;align-items:center;justify-content:center;font-feature-settings:'tnum'}.sui-menu-shortcut.sc-sui-menubar{font-size:11px;color:var(--ink-faint);font-feature-settings:'tnum';white-space:nowrap}.sui-menu-chev.sc-sui-menubar{font-size:9px;color:var(--ink-faint)}.sui-menu-chev.sc-sui-menubar:dir(rtl){transform:scaleX(-1)}@media (forced-colors: active){.sui-menu-sep.sc-sui-menubar{background:CanvasText}.sui-menu-item.active.sc-sui-menubar,.sui-menu-item.open.sc-sui-menubar,.sui-menu-item.danger.active.sc-sui-menubar{forced-color-adjust:none;background:Highlight;color:HighlightText}a.sui-menu-item.active.sc-sui-menubar,a.sui-menu-item.open.sc-sui-menubar,a.sui-menu-item.danger.active.sc-sui-menubar{color:HighlightText}.sui-menu-item.disabled.sc-sui-menubar{color:GrayText}.sui-menu-item.current.sc-sui-menubar{outline:2px solid Highlight;outline-offset:-2px}.sui-menu-item.sc-sui-menubar:focus-visible{outline-color:CanvasText;box-shadow:none}.sui-menu-icon.sc-sui-menubar,.sui-menu-shortcut.sc-sui-menubar,.sui-menu-chev.sc-sui-menubar,.sui-menu-item.danger.sc-sui-menubar .sui-menu-icon.sc-sui-menubar{color:inherit}.sui-menu-item.disabled.sc-sui-menubar .sui-menu-icon.sc-sui-menubar{color:GrayText}.sui-menu-badge.sc-sui-menubar{background:Canvas;color:CanvasText;border:1px solid CanvasText}}"}},[774,"sui-menubar",{items:[16],openIndex:[1026,"open-index"],noFold:[516,"no-fold"],cursor:[32],subPath:[32],drill:[32],focusTop:[32],hasBrand:[32],hostLabel:[32],hostLabelledby:[32],closingIndex:[32],setFocus:[64]},void 0,{openIndex:[{onOpenChange:0}],items:[{onItemsChange:0}],noFold:[{onNoFoldChange:0}]}]),G=O,R=function(){"undefined"!=typeof customElements&&["sui-menubar"].forEach((s=>{"sui-menubar"===s&&(customElements.get(a(s))||customElements.define(a(s),O))}))};export{G as SuiMenubar,R as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMessage extends Components.SuiMessage, HTMLElement {}
|
|
4
|
+
export const SuiMessage: {
|
|
5
|
+
prototype: SuiMessage;
|
|
6
|
+
new (): SuiMessage;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as s,H as e,c as i,h as t,a as o,t as a}from"./p-CeVlau-G.js";import{o as n,h as r,d as c,b as d}from"./p-BWkzTEZX.js";import{r as m}from"./p-DRMr6xXH.js";import{G as l,x as u}from"./p-BeYfX4rQ.js";import{S as g}from"./p-DX9wgxoJ.js";import{a as h}from"./p-BuyjS5bS.js";import{f}from"./p-DsHK25q3.js";import{defineCustomElement as p}from"./p-BQJXtvhG.js";import{d as b}from"./p-b5Ks_pUg.js";const v=s(class extends e{constructor(s){super(),!1!==s&&this.__registerHost(),this.suiClose=i(this,"suiClose",3)}get host(){return this}severity="info";heading;icon;closable=!1;suiClose;hasBody=!1;hasAction=!1;textEl;dispose;pointerClose=!1;loaded=!1;connectedCallback(){this.loaded&&this.watch(!0)}componentWillLoad(){this.readSlots()}componentDidLoad(){this.loaded=!0,this.watch()}disconnectedCallback(){this.dispose?.(),this.dispose=void 0}watch(s=!1){this.dispose?.(),this.dispose=n(this.host,(()=>this.readSlots())),s&&Promise.resolve().then((()=>{this.host.isConnected&&this.readSlots()}))}readSlots(){this.hasAction=r(this.host,"action");const s=c(this.host).filter((s=>s.classList.contains("msg")));this.hasBody=d(this.host,this.textEl,s)}close=()=>{const s=!this.pointerClose&&this.holdsFocus();if(this.pointerClose=!1,this.suiClose.emit("close-button").defaultPrevented)return;const e=s?this.neighbor():void 0;this.host.setAttribute("hidden",""),e?.focus({preventScroll:!0})};onClosePointerDown=()=>{this.pointerClose=!0};holdsFocus(){if("undefined"==typeof document)return!1;const s=document.activeElement;return!!s&&this.host.contains(s)}neighbor(){if("undefined"==typeof document||!document.body)return;let s=[];try{s=f(document.body)}catch{return}const e=s.map(((s,e)=>this.host.contains(s)?e:-1)).filter((s=>s>=0));if(!e.length)return;const i=s[e[e.length-1]+1]||(e[0]>0?s[e[0]-1]:void 0);return i&&"function"==typeof i.focus?i:void 0}render(){const s=m(this.severity,"info"),e="critical"===s,i=this.icon?t("i",{class:this.icon+" icon","aria-hidden":"true"}):t(l,{glyph:g[s],class:"icon"});return t(o,{key:"5324bb99afff57112f5d52eae40c3cd67eaa4db2"},t("div",{key:"f0afd77bdf5766df60145c7646edf5d1edabd184",class:{msg:!0,[s]:!0},role:e?"alert":"status"},i,t("div",{key:"3e6ebbc244d05e67f433ad111d3adfad7a93f0b2",class:"body"},this.heading?t("div",{class:{heading:!0,"has-body":this.hasBody}},this.heading):null,t("div",{key:"488bd43d9211f4ac51f551b6a383958da1385d14",ref:s=>this.textEl=s,class:{text:!0,empty:!this.hasBody}},t("slot",{key:"4d61ea938d07de0a2f29323c50b3d93396e19963"}))),this.hasAction?t("span",{class:"action"},t("slot",{name:"action"})):null,this.closable?t("sui-icon-button",{class:"close",size:"sm","aria-label":h(void 0,"message.dismiss",void 0,"Dismiss"),onPointerDown:this.onClosePointerDown,onClick:this.close},t(l,{glyph:u})):null))}static get style(){return".sc-sui-message-h{display:block;font-family:var(--font-sans)}[hidden].sc-sui-message-h{display:none}.msg.sc-sui-message{display:flex;gap:11px;align-items:flex-start;border:1px solid transparent;border-radius:var(--radius-md);padding:11px 14px;box-sizing:border-box}.msg.info.sc-sui-message{background:var(--status-info-bg);color:var(--ink);border-color:var(--status-info-accent)}.msg.info.sc-sui-message .icon.sc-sui-message{color:var(--status-info-ink)}.msg.positive.sc-sui-message{background:var(--status-positive-bg);color:var(--ink);border-color:var(--status-positive-edge)}.msg.positive.sc-sui-message .icon.sc-sui-message{color:var(--status-positive-ink)}.msg.attention.sc-sui-message{background:var(--status-attention-bg);color:var(--ink);border-color:var(--status-attention-accent)}.msg.attention.sc-sui-message .icon.sc-sui-message{color:var(--status-attention-ink)}.msg.neutral.sc-sui-message{background:var(--surface);color:var(--ink-muted);border-color:var(--border-strong)}.msg.critical.sc-sui-message{background:var(--danger-soft);color:var(--ink);border-color:var(--danger);border-inline-start:4px solid var(--danger-fill)}.msg.critical.sc-sui-message .icon.sc-sui-message{color:var(--danger-soft-ink)}.icon.sc-sui-message{font-size:13px;margin-top:2px;flex-shrink:0}.body.sc-sui-message{flex:1;min-width:0;font-size:13px;line-height:1.5}.heading.sc-sui-message{font-weight:700}.heading.has-body.sc-sui-message{margin-bottom:2px}.msg.critical.sc-sui-message .heading.sc-sui-message{font-weight:730}.msg.critical.sc-sui-message .text.sc-sui-message{color:var(--ink)}.text.empty.sc-sui-message{display:none}.action.sc-sui-message{flex-shrink:0;font-size:12.5px;font-weight:650;white-space:nowrap}.action.sc-sui-message-s>a,.action .sc-sui-message-s>a{color:var(--link);text-decoration:none}.action.sc-sui-message-s>a:hover,.action .sc-sui-message-s>a:hover{text-decoration:underline}.close.sc-sui-message{flex-shrink:0;margin-top:-4px}.close.sc-sui-message .sui-glyph.sc-sui-message{font-size:var(--icon-size-sm)}@media (forced-colors: active){.msg.sc-sui-message{border-color:CanvasText}}"}},[774,"sui-message",{severity:[513],heading:[1],icon:[1],closable:[516],hasBody:[32],hasAction:[32]}]),k=v,x=function(){"undefined"!=typeof customElements&&["sui-message","sui-icon-button","sui-tooltip"].forEach((s=>{switch(s){case"sui-message":customElements.get(a(s))||customElements.define(a(s),v);break;case"sui-icon-button":customElements.get(a(s))||p();break;case"sui-tooltip":customElements.get(a(s))||b()}}))};export{k as SuiMessage,x as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMeterGroup extends Components.SuiMeterGroup, HTMLElement {}
|
|
4
|
+
export const SuiMeterGroup: {
|
|
5
|
+
prototype: SuiMeterGroup;
|
|
6
|
+
new (): SuiMeterGroup;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e,H as s,h as t,a as r,t as i}from"./p-CeVlau-G.js";import{r as o}from"./p-BLK-elHV.js";import{b as l}from"./p-qut9RP2y.js";const a=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost()}segments=[];totalLabel;height=12;hideLegend=!1;orientation="horizontal";render(){const e=Array.isArray(this.segments)?this.segments:[],s="vertical"===this.orientation,i=e.reduce(((e,s)=>e+(Number(s.value)||0)),0)||1,a=(e,s)=>e.color||o(s),u=e=>null!=e.display?e.display:l(Number(e.value)||0),n=e=>{const t=Number(e.value)||0;return s?{flex:t+" 0 0px"}:{width:t/i*100+"%"}},c=this.totalLabel?t("div",{class:"total"},t("span",{class:"total-label"},this.totalLabel.label),t("span",{class:"total-value"},this.totalLabel.value)):null,p=t("div",{class:"bar",style:{[s?"width":"height"]:this.height+"px",borderRadius:this.height/2+"px"}},e.map(((e,s)=>t("div",{key:s+"",class:"segment",role:"img","aria-label":`${e.label} ${u(e)}`,style:{...n(e),background:a(e,s)}})))),m=this.hideLegend?null:t("div",{class:"legend"},e.map(((e,s)=>t("div",{key:s+"",class:"row"},t("span",{class:"swatch",style:{background:a(e,s)}}),t("span",{class:"row-label"},e.label),t("span",{class:"row-value"},u(e))))));return t(r,null,t("div",{class:{"sui-meter-group":!0,vertical:s}},s?[p,c||m?t("div",{class:"side"},c,m):null]:[c,p,m]))}static get style(){return".sc-sui-meter-group-h{display:block;font-family:var(--font-sans);color:var(--ink)}.sui-meter-group.sc-sui-meter-group{display:flex;flex-direction:column;gap:13px}.total.sc-sui-meter-group{display:flex;justify-content:space-between;align-items:baseline}.total-label.sc-sui-meter-group{font-size:13.5px;font-weight:700}.total-value.sc-sui-meter-group{font-size:12.5px;color:var(--ink-muted);font-feature-settings:'tnum'}.bar.sc-sui-meter-group{display:flex;overflow:hidden}.segment.sc-sui-meter-group{flex-shrink:0}.legend.sc-sui-meter-group{display:flex;flex-direction:column;gap:8px}.row.sc-sui-meter-group{display:flex;align-items:center;gap:8px;font-size:12.5px}.swatch.sc-sui-meter-group{width:9px;height:9px;border-radius:2px;flex-shrink:0}.row-label.sc-sui-meter-group{flex:1;color:var(--ink-muted)}.row-value.sc-sui-meter-group{font-weight:640;font-feature-settings:'tnum'}[orientation=\"vertical\"].sc-sui-meter-group-h{height:100%}.sui-meter-group.vertical.sc-sui-meter-group{flex-direction:row;align-items:stretch;gap:16px;height:100%}.sui-meter-group.vertical.sc-sui-meter-group .bar.sc-sui-meter-group{flex-direction:column;flex-shrink:0;min-height:120px}.sui-meter-group.vertical.sc-sui-meter-group .segment.sc-sui-meter-group{width:100%}.side.sc-sui-meter-group{display:flex;flex-direction:column;gap:13px;flex:1;min-width:0}@media (forced-colors: active){.bar.sc-sui-meter-group{border:1px solid CanvasText}.segment.sc-sui-meter-group{forced-color-adjust:none;box-shadow:inset 0 0 0 1px CanvasText}.swatch.sc-sui-meter-group{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}}"}},[518,"sui-meter-group",{segments:[16],totalLabel:[16],height:[2],hideLegend:[516,"hide-legend"],orientation:[513]}]),u=a,n=function(){"undefined"!=typeof customElements&&["sui-meter-group"].forEach((e=>{"sui-meter-group"===e&&(customElements.get(i(e))||customElements.define(i(e),a))}))};export{u as SuiMeterGroup,n as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMiniToolbar extends Components.SuiMiniToolbar, HTMLElement {}
|
|
4
|
+
export const SuiMiniToolbar: {
|
|
5
|
+
prototype: SuiMiniToolbar;
|
|
6
|
+
new (): SuiMiniToolbar;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as o,d as s}from"./p-kDhmjEYc.js";const m=o,p=s;export{m as SuiMiniToolbar,p as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiMultiSelect extends Components.SuiMultiSelect, HTMLElement {}
|
|
4
|
+
export const SuiMultiSelect: {
|
|
5
|
+
prototype: SuiMultiSelect;
|
|
6
|
+
new (): SuiMultiSelect;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SuiMultiSelect as e,defineCustomElement as t}from"./p-D0BIoHLP.js";const o=e,s=t;export{o as SuiMultiSelect,s as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiNotificationCenter extends Components.SuiNotificationCenter, HTMLElement {}
|
|
4
|
+
export const SuiNotificationCenter: {
|
|
5
|
+
prototype: SuiNotificationCenter;
|
|
6
|
+
new (): SuiNotificationCenter;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as i,H as t,c as n,f as o,h as e,a as s,t as a}from"./p-CeVlau-G.js";import{d as r}from"./p-BHB1Wprj.js";import{k as c,o as l,p as d,a as u,b as f,m as h,l as p,t as v}from"./p-DsHK25q3.js";import{f as g}from"./p-BtgC2u2Q.js";import{u as b}from"./p-U06fVoGD.js";import{l as m,a as x}from"./p-BuyjS5bS.js";import{a as k,L as y}from"./p-D0WdoZzs.js";import{G as w,a0 as C,x as z,a1 as j}from"./p-BeYfX4rQ.js";import{d as H}from"./p-qtQ1008P.js";import{d as R}from"./p-BUqcDxTK.js";import{d as T}from"./p-qjuvplfX.js";const A=["positive","attention","critical","info"],O=i(class extends t{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiViewAll=n(this,"suiViewAll",7),this.suiItemPick=n(this,"suiItemPick",7),this.suiRead=n(this,"suiRead",7),this.suiRemove=n(this,"suiRemove",7),this.suiOpen=n(this,"suiOpen",3),this.suiClose=n(this,"suiClose",3)}get host(){return this}notifications=[];open=!1;align="end";width=336;listMaxHeight=300;suiViewAll;suiItemPick;suiRead;suiRemove;suiOpen;suiClose;items=[];tab="all";closing=!1;fieldId=b("sui-notification-center");trigger;panel;disposers=[];escape=c((()=>this.hide("escape",!0)));demote;exit=l((()=>this.exited()));focusOnOpen=!1;focusRow;componentWillLoad(){this.syncItems()}connectedCallback(){r(this.host,(()=>this.trigger)),this.open&&this.panel&&o(this)}async setFocus(){this.trigger?.focus()}componentDidRender(){this.open&&this.afterOpen(),this.flushRowFocus()}disconnectedCallback(){this.teardown(),this.exit.cancel(),this.exited()}exited(){this.demote?.(),this.demote=void 0,this.closing=!1}syncItems(){this.items=(this.notifications||[]).map(((i,t)=>({...i,id:null!=i.id?i.id:t,read:!!i.read})))}onOpenChange(i){if(this.focusOnOpen=i,i)return this.escape.arm(),this.exit.cancel(),void(this.closing=!1);this.teardown(),this.exit.begin(this.panel)?this.closing=!0:this.exited()}unread(){return this.items.filter((i=>!i.read)).length}afterOpen(){this.open&&this.trigger&&this.panel&&!this.disposers.length&&this.host.isConnected&&(this.demote||(this.demote=d(this.panel)),this.reposition(),this.disposers.push(u((()=>[this.host,this.panel]),(()=>this.hide("outside",!1))),f((()=>this.reposition()))),this.escape.arm(),this.focusOnOpen&&(this.focusOnOpen=!1,g(this.panel)?.focus({preventScroll:!0})))}flushRowFocus(){const i=this.focusRow;if(void 0===i)return;this.focusRow=void 0;const t=this.panel?Array.from(this.panel.querySelectorAll(".row .dismiss")):[],n=t[Math.min(i,t.length-1)];(n||this.trigger)?.focus({preventScroll:!0})}reposition(){this.trigger&&this.panel&&h(this.panel,p(this.trigger,this.panel,"bottom",8,"start"===this.align?"start":"end"))}teardown(){this.escape.disarm(),this.disposers.forEach((i=>i())),this.disposers=[]}show(){this.open||(this.open=!0,this.suiOpen.emit())}hide(i,t){this.open&&(this.suiClose.emit(i).defaultPrevented||(this.open=!1,t&&this.trigger?.focus()))}onPanelKey=i=>{v(i,this.panel,(()=>this.hide("outside",!0)))};onToggle=()=>{this.open?this.hide("trigger",!1):this.show()};strip(i){return{...i}}activate(i){this.suiItemPick.emit(this.strip(i)),this.markRead(i)}markRead(i){i.read||(this.items=this.items.map((t=>t.id===i.id?{...t,read:!0}:t)),this.suiRead.emit(this.strip({...i,read:!0})))}markAllRead=()=>{const i=this.items.filter((i=>!i.read));i.length&&(this.items=this.items.map((i=>({...i,read:!0}))),i.forEach((i=>this.suiRead.emit(this.strip({...i,read:!0})))))};shown(){return"unread"===this.tab?this.items.filter((i=>!i.read)):this.items}dismiss(i,t){t.stopPropagation();const n=t.currentTarget,o=!!n&&"undefined"!=typeof document&&document.activeElement===n,e=this.shown().findIndex((t=>t.id===i.id));this.items=this.items.filter((t=>t.id!==i.id)),this.suiRemove.emit(this.strip(i)),o&&e>=0&&(this.focusRow=e)}renderBell(i){const t=i?m(void 0,"notification-center.notificationsUnread",void 0,"Notifications, {n} unread",{n:i+""}):x(void 0,"notification-center.notifications",void 0,"Notifications");return e("button",{ref:i=>this.trigger=i,type:"button",class:{bell:!0,open:this.open},"aria-label":t,"aria-expanded":this.open?"true":"false","aria-haspopup":"dialog","aria-controls":this.fieldId+"-panel",onClick:this.onToggle},e(w,{glyph:C}))}renderRow(i){const t=i.severity&&A.includes(i.severity)?i.severity:"info";return e("div",{class:{row:!0,unread:!i.read},role:"listitem",key:i.id+""},e("button",{type:"button",class:"body",onClick:()=>this.activate(i)},e(k,{marker:e(y,{severity:t}),title:i.title,description:i.detail,time:i.time,unread:!i.read,unreadLabel:x(void 0,"notification-center.unread",void 0,"Unread")})),e("button",{type:"button",class:"dismiss","aria-label":x(void 0,"notification-center.dismiss",void 0,"Dismiss"),onClick:t=>this.dismiss(i,t)},e(w,{glyph:z})))}render(){const i=this.unread(),t=this.shown(),n=this.renderBell(i);return e(s,{key:"8a93828fa8cc1c08c2aa9d6d2bc22675dc5b2c37"},i>0?e("sui-overlay-badge",{value:i,severity:"accent"},n):n,this.open||this.closing?e("div",{ref:i=>this.panel=i,id:this.fieldId+"-panel",class:{panel:!0,closing:this.closing},inert:this.closing,role:"dialog","aria-label":x(void 0,"notification-center.notifications",void 0,"Notifications"),style:{width:this.width+"px"},onKeyDown:this.onPanelKey},e("div",{class:"head"},e("b",{class:"heading"},x(void 0,"notification-center.notifications",void 0,"Notifications")),e("button",{type:"button",class:"mark-all",disabled:0===i,onClick:this.markAllRead},x(void 0,"notification-center.markAllRead",void 0,"Mark all read"))),e("div",{class:"tabs",role:"group","aria-label":x(void 0,"notification-center.filterNotifications",void 0,"Filter notifications")},e("button",{type:"button",class:{tab:!0,on:"all"===this.tab},"aria-pressed":"all"===this.tab?"true":"false",onClick:()=>this.tab="all"},x(void 0,"notification-center.all",void 0,"All")),e("button",{type:"button",class:{tab:!0,on:"unread"===this.tab},"aria-pressed":"unread"===this.tab?"true":"false",onClick:()=>this.tab="unread"},m(void 0,"notification-center.unreadCount",void 0,"Unread {n}",{n:i+""}))),e("div",{class:"list",role:"list",style:{maxHeight:this.listMaxHeight+"px"}},0===t.length?e("div",{class:"empty"},e(w,{glyph:j}),e("div",{class:"empty-title"},x(void 0,"notification-center.youReAllCaughtUp",void 0,"You're all caught up")),e("div",{class:"empty-note"},x(void 0,"notification-center.newActivityLandsHere",void 0,"New activity lands here."))):null,t.map((i=>this.renderRow(i)))),e("button",{type:"button",class:"view-all",onClick:()=>this.suiViewAll.emit()},x(void 0,"notification-center.viewAllNotifications",void 0,"View all notifications"))):null)}static get watchers(){return{notifications:[{syncItems:0}],open:[{onOpenChange:0}]}}static get style(){return".sc-sui-notification-center-h{position:relative;display:inline-flex;font-family:var(--font-sans);color:var(--ink)}[align].sc-sui-notification-center-h{text-align:inherit}.bell.sc-sui-notification-center{position:relative;box-sizing:border-box;width:36px;height:36px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-muted);cursor:pointer;box-shadow:none;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.bell.sc-sui-notification-center .sui-glyph.sc-sui-notification-center{font-size:14px}.bell.sc-sui-notification-center:hover{background:linear-gradient(var(--surface-hover) 0 0) var(--surface)}.bell.sc-sui-notification-center:active{background:linear-gradient(var(--surface-pressed) 0 0) var(--surface)}.bell.open.sc-sui-notification-center{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-soft-ink)}.bell.sc-sui-notification-center:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.panel.sc-sui-notification-center{position:fixed;top:0;left:0;z-index:var(--z-overlay);box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden;text-align:start;font-family:var(--font-sans);color:var(--ink);animation:sui-notification-center-in var(--duration-overlay) var(--ease-out)}.panel[data-side='top'].sc-sui-notification-center{animation-name:sui-notification-center-in-top}.panel.closing.sc-sui-notification-center{animation:sui-notification-center-out var(--duration-fast) var(--ease-out) forwards;pointer-events:none}@keyframes sui-notification-center-in{from{opacity:0;transform:translateY(-4px)}}@keyframes sui-notification-center-in-top{from{opacity:0;transform:translateY(4px)}}@keyframes sui-notification-center-out{to{opacity:0}}.head.sc-sui-notification-center{display:flex;align-items:center;gap:10px;padding:12px 14px 9px}.heading.sc-sui-notification-center{flex:1;font-size:13.5px;font-weight:700}.mark-all.sc-sui-notification-center{appearance:none;margin:0;padding:0;border:0;background:transparent;font-family:var(--font-sans);font-size:11.5px;font-weight:620;color:var(--link);cursor:pointer}.mark-all.sc-sui-notification-center:hover:not(:disabled){text-decoration:underline}.mark-all.sc-sui-notification-center:disabled{color:var(--disabled-ink);cursor:default}.tabs.sc-sui-notification-center{display:flex;gap:6px;padding:0 14px 10px;border-bottom:1px solid var(--hairline)}.tab.sc-sui-notification-center{appearance:none;margin:0;box-sizing:border-box;height:26px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--ink-muted);font-family:var(--font-sans);font-size:11.5px;font-weight:650;font-feature-settings:'tnum';cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.tab.sc-sui-notification-center:hover:not(.on){background:var(--surface-raised-hover)}.tab.on.sc-sui-notification-center{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.list.sc-sui-notification-center{overflow-y:auto}.empty.sc-sui-notification-center{padding:26px 16px;text-align:center}.empty.sc-sui-notification-center .sui-glyph.sc-sui-notification-center{font-size:16px;color:var(--ink-faint)}.empty-title.sc-sui-notification-center{font-size:12.5px;font-weight:650;margin-top:8px}.empty-note.sc-sui-notification-center{font-size:11.5px;color:var(--ink-faint);margin-top:2px}.row.sc-sui-notification-center{position:relative;display:flex;align-items:flex-start;gap:4px;padding-block:0;padding-inline:0 8px;border-bottom:1px solid var(--hairline);background:transparent;transition:background var(--duration-fast) var(--ease-out)}.row.unread.sc-sui-notification-center{--ink-faint:var(--ink-muted)}.row.unread.sc-sui-notification-center::before{content:'';position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--accent-mark)}.row.sc-sui-notification-center:hover,.row.sc-sui-notification-center:focus-within{--ink-faint:var(--ink-muted);background:var(--surface-raised-hover)}.body.sc-sui-notification-center{appearance:none;flex:1;min-width:0;margin:0;border:0;background:transparent;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding-block:10px;padding-inline:14px 6px;text-align:start;font-family:var(--font-sans);color:var(--ink)}.body.sc-sui-notification-center:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.dismiss.sc-sui-notification-center{appearance:none;margin:10px 0 0;padding:2px;border:0;background:transparent;flex-shrink:0;color:var(--ink-faint);cursor:pointer;opacity:0;border-radius:var(--radius-xs);transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}.dismiss.sc-sui-notification-center .sui-glyph.sc-sui-notification-center{font-size:11px}.row.sc-sui-notification-center:hover .dismiss.sc-sui-notification-center,.row.sc-sui-notification-center:focus-within .dismiss.sc-sui-notification-center,.dismiss.sc-sui-notification-center:focus-visible{opacity:1}.dismiss.sc-sui-notification-center:hover{color:var(--ink)}.dismiss.sc-sui-notification-center:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.view-all.sc-sui-notification-center{appearance:none;display:block;width:100%;margin:0;border:0;border-top:1px solid var(--hairline);background:var(--surface-sunken);padding:9px;font-family:var(--font-sans);font-size:12px;font-weight:650;color:var(--link);cursor:pointer}.view-all.sc-sui-notification-center:hover{text-decoration:underline}.view-all.sc-sui-notification-center:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media (forced-colors: active){.bell.open.sc-sui-notification-center{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:HighlightText;outline-color:CanvasText;box-shadow:none}.tab.on.sc-sui-notification-center{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:HighlightText;outline-color:CanvasText;box-shadow:none}}.sev.sc-sui-notification-center{width:26px;height:26px;border-radius:50%;flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center}.sev.sc-sui-notification-center i.sc-sui-notification-center,.sev.sc-sui-notification-center .sui-glyph.sc-sui-notification-center{font-size:11px}.sev.positive.sc-sui-notification-center{background:var(--status-positive-bg);color:var(--status-positive-ink)}.sev.attention.sc-sui-notification-center{background:var(--status-attention-bg);color:var(--status-attention-ink)}.sev.critical.sc-sui-notification-center{background:var(--danger-soft);color:var(--danger)}.sev.info.sc-sui-notification-center{background:var(--surface-sunken);color:var(--ink-muted)}.sev.neutral.sc-sui-notification-center{background:var(--status-neutral-bg);color:var(--status-neutral-ink)}.sev.icon.sc-sui-notification-center{background:var(--surface-sunken);color:var(--ink-muted)}.sui-list-avatar.sc-sui-notification-center{flex-shrink:0;margin-top:1px}.text.sc-sui-notification-center{flex:1;min-width:0}.title-row.sc-sui-notification-center{display:flex;align-items:center;gap:6px;min-width:0}.title.sc-sui-notification-center{font-size:12.5px;font-weight:620;min-width:0}.unread.sc-sui-notification-center .title.sc-sui-notification-center{font-weight:700}.dot.sc-sui-notification-center{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-inline-start:auto}.meta.sc-sui-notification-center{flex-shrink:0;margin-inline-start:auto;font-size:11px;color:var(--ink-muted);font-feature-settings:'tnum';white-space:nowrap}.dot.sc-sui-notification-center+.sr-only.sc-sui-notification-center+.meta.sc-sui-notification-center,.dot.sc-sui-notification-center+.meta.sc-sui-notification-center{margin-inline-start:0}.detail.sc-sui-notification-center{display:block;font-size:11.5px;color:var(--ink-muted);line-height:1.45;margin-top:1px}.time.sc-sui-notification-center{display:block;font-size:10.5px;color:var(--ink-faint);margin-top:3px;font-feature-settings:'tnum'}.sr-only.sc-sui-notification-center{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (forced-colors: active){.sev.sc-sui-notification-center{box-sizing:border-box;border:1px solid CanvasText}.dot.sc-sui-notification-center{background:CanvasText}}"}},[514,"sui-notification-center",{notifications:[16],open:[1540],align:[513],width:[2],listMaxHeight:[2,"list-max-height"],items:[32],tab:[32],closing:[32],setFocus:[64]},void 0,{notifications:[{syncItems:0}],open:[{onOpenChange:0}]}]),B=O,D=function(){"undefined"!=typeof customElements&&["sui-notification-center","sui-avatar","sui-badge","sui-overlay-badge"].forEach((i=>{switch(i){case"sui-notification-center":customElements.get(a(i))||customElements.define(a(i),O);break;case"sui-avatar":customElements.get(a(i))||H();break;case"sui-badge":customElements.get(a(i))||R();break;case"sui-overlay-badge":customElements.get(a(i))||T()}}))};export{B as SuiNotificationCenter,D as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiOrderList extends Components.SuiOrderList, HTMLElement {}
|
|
4
|
+
export const SuiOrderList: {
|
|
5
|
+
prototype: SuiOrderList;
|
|
6
|
+
new (): SuiOrderList;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as i,H as s,c as r,h as t,a as e,t as o}from"./p-CeVlau-G.js";import{G as l,W as a,k as d,an as n,w as u,y as c,ao as h,z as v,af as p}from"./p-BeYfX4rQ.js";import{r as f,s as g,R as b}from"./p-BglXr2C4.js";import{u as m}from"./p-U06fVoGD.js";import{c as x}from"./p-qut9RP2y.js";import{a as k,l as w}from"./p-BuyjS5bS.js";import{d as y}from"./p-BHB1Wprj.js";import{d as z}from"./p-qtQ1008P.js";const j=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiItemsChange=r(this,"suiItemsChange",3),this.suiSelectionChange=r(this,"suiSelectionChange",3)}get host(){return this}heading;items=[];selection=[];height=240;noDrag=!1;dragOnly=!1;selectionMode="single";filter=!1;emptyMessage;emptyFilterMessage;loading=!1;suiItemsChange;suiSelectionChange;focused=-1;dragIdx=-1;overIdx=-1;lifted=-1;live="";query="";fieldId=m("sui-order-list");rowEls=[];pendingFocus=-1;snapshot;connectedCallback(){y(this.host,(()=>this.rowEls[this.tabRow()]))}onItems(i){const s=(i||[]).length;this.lifted>=s&&(this.lifted=-1),this.focused>=s&&(this.focused=s?s-1:-1)}componentDidRender(){this.pendingFocus>=0&&(this.focusRow(this.pendingFocus),this.pendingFocus=-1)}async setFocus(){this.focusRow(this.tabRow())}list(){return this.items||[]}get boxes(){return"checkbox"===this.selectionMode}get filtering(){return this.filter&&this.query.trim().length>0}sel(){const i=this.selection||[];if(!i.length)return[];const s=[];return this.list().forEach(((r,t)=>{i.includes(r.value)&&s.push(t)})),this.boxes?s:s.slice(0,1)}visible(){const i=this.query.trim().toLowerCase(),s=this.list(),r=s.map(((i,s)=>s));return this.filtering?r.filter((r=>f(s[r],i))):r}tabRow(){const i=this.visible(),s=this.sel(),r=this.boxes||!s.length?this.focused:s[0];return i.includes(r)?r:i.length?i[0]:0}focusRow(i){const s=this.rowEls[i];s&&"function"==typeof s.focus&&s.focus()}setSel(i){const s=this.list(),r=i.slice().sort(((i,s)=>i-s)).map((i=>s[i].value));g(r,this.selection)||(this.selection=r,this.suiSelectionChange.emit(r))}select(i){this.setSel(i<0?[]:[i])}toggle(i){const s=this.sel();this.setSel(s.includes(i)?s.filter((s=>s!==i)):s.concat([i]))}toggleAll=()=>{const i=this.visible();if(!i.length)return;const s=this.sel(),r=i.every((i=>s.includes(i)));this.setSel(r?s.filter((s=>!i.includes(s))):s.concat(i.filter((i=>!s.includes(i)))))};commit(i){this.items=i,this.suiItemsChange.emit(i)}reorder(i,s){const r=this.list().slice(),[t]=r.splice(i,1);return r.splice(s,0,t),r}packed(i){const s=this.sel(),r=this.list().length;return!s.length||s.every("top"===i?(i,s)=>i===s:(i,t)=>i===r-s.length+t)}move(i){const s=this.sel(),r=this.list().length;if(!s.length||!r||this.filtering)return;const t=this.list().filter(((i,r)=>!s.includes(r))),e=s.map((i=>this.list()[i]));let o;o="top"===i?0:"bottom"===i?t.length:"up"===i?Math.max(0,s[0]-1):Math.min(t.length,s[s.length-1]+2-s.length);const l=t.slice(0,o).concat(e,t.slice(o));l.every(((i,s)=>i===this.list()[s]))||(this.focused=o,this.pendingFocus=o,this.commit(l))}resetDrag=()=>{this.dragIdx=-1,this.overIdx=-1};onDragStart(i,s){if(this.dragIdx=s,this.focused=s,this.boxes||this.select(s),i.dataTransfer){i.dataTransfer.effectAllowed="move";try{i.dataTransfer.setData("text/plain",this.list()[s].label)}catch{}}}onRowDragOver(i,s){if(this.noDrag||this.filtering)return;i.preventDefault();const r=i.currentTarget.getBoundingClientRect();this.overIdx=i.clientY<r.top+r.height/2?s:s+1}onDrop=i=>{i.preventDefault();const s=this.dragIdx,r=this.overIdx;if(this.resetDrag(),s<0||r<0)return;const t=r>s?r-1:r;t!==s?(this.focused=t,this.commit(this.reorder(s,t))):this.boxes||this.select(s)};onKey(i,s){const r=this.lifted===s,t=this.visible(),e=t.indexOf(s),o=(o,l)=>{i.preventDefault(),r?this.moveLifted(s,null!=l?l<0?0:this.list().length-1:s+o):this.focusAt(null!=l?l<0?t[0]:t[t.length-1]:t[e+o]??(o<0?t[0]:t[t.length-1]))},l=()=>{i.preventDefault(),r?this.dropLifted(s):this.lift(s)};switch(i.key){case" ":case"Spacebar":i.preventDefault(),this.boxes?(this.focused=s,this.toggle(s)):l();break;case"Enter":l();break;case"ArrowDown":o(1);break;case"ArrowUp":o(-1);break;case"Home":o(0,-1);break;case"End":o(0,1);break;case"Escape":r&&(i.preventDefault(),this.cancelLift())}}focusAt(i){null!=i&&(this.focused=i,this.boxes||this.select(i),this.focusRow(i))}lift(i){this.filtering?this.live=k(void 0,"order-list.filterHeld",void 0,"Clear the filter to reorder the list."):(this.lifted=i,this.focused=i,this.boxes||this.select(i),this.snapshot=this.list().slice(),this.live=w(void 0,"order-list.lifted",void 0,"{item} lifted. Use the arrow keys to move it, then drop it.",{item:this.list()[i].label}))}moveLifted(i,s){const r=this.list().length,t=x(s,0,r-1),e=this.list()[i].label;t!==i?(this.commit(this.reorder(i,t)),this.lifted=t,this.focused=t,this.pendingFocus=t,this.live=w(void 0,"order-list.moved",void 0,"{item} moved to position {n} of {count}.",{item:e,n:t+1,count:r})):this.live=0===t?w(void 0,"order-list.atTop",void 0,"{item} is already at the top.",{item:e}):w(void 0,"order-list.atBottom",void 0,"{item} is already at the bottom.",{item:e})}dropLifted(i){this.lifted=-1,this.snapshot=void 0,this.live=w(void 0,"order-list.dropped",void 0,"{item} dropped at position {n} of {count}.",{item:this.list()[i].label,n:i+1,count:this.list().length})}cancelLift(){const i=this.lifted,s=this.snapshot,r=this.list()[i];this.lifted=-1,this.snapshot=void 0;let t=i;s&&!s.every(((i,s)=>i===this.list()[s]))&&(t=Math.max(0,s.indexOf(r)),this.pendingFocus=t,this.focused=t,this.commit(s)),this.live=w(void 0,"order-list.canceled",void 0,"Move canceled. {item} returned to position {n}.",{item:r.label,n:t+1})}ctrl(i,s,r,e){return t("button",{type:"button",class:"sui-rl-ctrl","aria-label":s,disabled:e,onClick:r},t(l,{glyph:i}))}onRowClick(i){this.focused=i,this.boxes?this.toggle(i):this.select(i)}render(){const i=this.list(),s=this.boxes,r=this.visible(),o=this.sel(),f=-1!==this.dragIdx,g=!this.noDrag,m=this.tabRow(),x=r.filter((i=>o.includes(i))).length,y=r.length>0&&x===r.length,z=x>0&&!y,j=this.filtering||this.loading,D={},C=[];this.rowEls=[];const H=this.heading?w(void 0,"order-list.filterList",void 0,"Filter {list}",{list:this.heading}):k(void 0,"order-list.filter",void 0,"Filter"),M=this.loading?k(void 0,"order-list.loading",void 0,"Loading"):0===r.length?this.filtering?k(void 0,"order-list.emptyFilter",this.emptyFilterMessage,"No matches."):k(void 0,"order-list.empty",this.emptyMessage,"Nothing here yet."):"";return this.loading||r.forEach((r=>{const e=i[r];f&&this.overIdx===r&&C.push(t("li",{class:"sui-rl-dropline",role:"presentation",key:"dl"+r}));const n=e.value+"",u=D[n]=(D[n]||0)+1,c=o.includes(r);C.push(t("li",{key:u>1?`${n}#${u}`:n,ref:i=>{i&&(this.rowEls[r]=i)},class:{"sui-rl-row":!0,selected:c,dragging:this.dragIdx===r,lifted:this.lifted===r,static:!g||j},role:"option","aria-selected":c?"true":"false",tabIndex:r===m?0:-1,draggable:g&&!j,onClick:()=>this.onRowClick(r),onKeyDown:i=>this.onKey(i,r),onDragStart:i=>this.onDragStart(i,r),onDragEnd:this.resetDrag,onDragOver:i=>this.onRowDragOver(i,r)},s?t("span",{class:{"sui-rl-box":!0,on:c},"aria-hidden":"true"},c?t(l,{glyph:d}):null):null,t(l,{glyph:a,class:"grip"}),t(b,{item:e,avatar:e.avatar||e.initials?t("sui-avatar",{class:"sui-list-avatar",src:e.avatar,initials:e.initials,size:"sm","aria-hidden":"true"}):void 0})))})),f&&this.overIdx===i.length&&C.push(t("li",{class:"sui-rl-dropline",role:"presentation",key:"dlend"})),t(e,{key:"22335d634b34b82b3fc9e2fd7ccbf6c83e9632a7"},t("div",{key:"72c0fcaf558856a6ad242c1059f3a5ddd6bcb3fa",class:"wrap"},this.dragOnly?null:t("div",{class:"sui-rl-ctrls"},this.ctrl(n,k(void 0,"order-list.moveToTop",void 0,"Move to top"),(()=>this.move("top")),j||this.packed("top")),this.ctrl(u,k(void 0,"order-list.moveUp",void 0,"Move up"),(()=>this.move("up")),j||this.packed("top")),this.ctrl(c,k(void 0,"order-list.moveDown",void 0,"Move down"),(()=>this.move("down")),j||this.packed("bottom")),this.ctrl(h,k(void 0,"order-list.moveToBottom",void 0,"Move to bottom"),(()=>this.move("bottom")),j||this.packed("bottom"))),t("div",{key:"98c6d5c99f2dd3d6aa38a9281fcbef1a02a1cb72",class:"main"},this.heading?t("div",{class:"sui-rl-header",id:this.fieldId+"-h"},this.heading):null,this.filter?t("div",{class:"sui-rl-filter sui-frame"},t(l,{glyph:v}),t("input",{type:"text",placeholder:k(void 0,"order-list.filterPlaceholder",void 0,"Filter"),"aria-label":H,value:this.query,onInput:i=>this.query=i.target.value})):null,s?t("button",{type:"button",class:"sui-rl-all",role:"checkbox","aria-checked":y?"true":z?"mixed":"false",disabled:0===r.length,onClick:this.toggleAll},t("span",{class:{"sui-rl-box":!0,on:y,mixed:z},"aria-hidden":"true"},y?t(l,{glyph:d}):null,z?t(l,{glyph:p}):null),t("span",null,k(void 0,"order-list.selectAll",void 0,"Select all"))):null,t("ol",{key:"8190804259da240258706d3dae3215e377ff1305",class:"sui-rl-shell",role:"listbox","aria-multiselectable":s?"true":null,"aria-labelledby":this.heading?this.fieldId+"-h":null,"aria-describedby":M?`${this.fieldId}-empty ${this.fieldId}-hint`:this.fieldId+"-hint","aria-busy":this.loading?"true":null,style:{maxHeight:this.height+"px"},onDragOver:g&&!j?i=>i.preventDefault():void 0,onDrop:g&&!j?this.onDrop:void 0},M?t("li",{class:"sui-rl-empty empty",id:this.fieldId+"-empty",role:"presentation","aria-hidden":"true"},M):null,C),t("div",{key:"6b193dc245c0ce5eeaf5945041e9612248087a62",class:"sui-rl-live",id:this.fieldId+"-hint"},this.filtering?k(void 0,"order-list.filterHeld",void 0,"Clear the filter to reorder the list."):s?k(void 0,"order-list.hintBoxes",void 0,"Press Space to check a row, Enter to lift it, the arrow keys to move it and Enter to drop it."):k(void 0,"order-list.hint",void 0,"Press Space to lift a row, the arrow keys to move it and Space to drop it.")),t("div",{key:"d2e15ff32f9749a49ea2875953db47752318c8d6",class:"sui-rl-live","aria-live":"assertive","aria-atomic":"true"},this.live))))}static get watchers(){return{items:[{onItems:0}]}}static get style(){return".sc-sui-order-list-h{display:block;font-family:var(--font-sans);color:var(--ink)}.wrap.sc-sui-order-list{display:flex;gap:10px;align-items:stretch}.main.sc-sui-order-list{flex:1;min-width:0;position:relative}.sui-frame.sc-sui-order-list{box-sizing:border-box;background:var(--sui-field-bg, var(--surface));border:1px solid var(--sui-field-border, var(--control-border));border-radius:var(--sui-field-radius, var(--radius-md));box-shadow:none;outline:none;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.sui-frame.sc-sui-order-list:hover{border-color:var(--sui-field-border, color-mix(in srgb, var(--control-border) 55%, var(--ink)))}.sui-frame[readonly].sc-sui-order-list,.sui-frame.readonly.sc-sui-order-list{border-color:var(--sui-field-border, var(--control-border));background:var(--sui-field-bg, var(--surface-sunken))}.sui-frame.sc-sui-order-list:focus-within,.sui-frame.focus.sc-sui-order-list,.sui-frame.open.sc-sui-order-list{border-color:var(--sui-field-border, var(--focus-ring));outline:var(--sui-field-edge, 1px solid var(--focus-ring));outline-offset:-2px;box-shadow:var(--sui-field-halo, 0 0 0 3px var(--focus-halo))}.sui-frame.invalid.sc-sui-order-list{border-color:var(--sui-field-border, var(--danger));outline:var(--sui-field-edge, 1px solid var(--danger));outline-offset:-2px}.sui-frame.invalid.sc-sui-order-list:focus-within,.sui-frame.invalid.focus.sc-sui-order-list,.sui-frame.invalid.open.sc-sui-order-list{outline-width:2px;outline-offset:-3px;box-shadow:var(--sui-field-halo, 0 0 0 3px color-mix(in srgb, var(--danger) 35%, transparent))}.sui-frame.sc-sui-order-list:disabled,.sui-frame.disabled.sc-sui-order-list{--ink-muted:var(--disabled-ink);--ink-faint:var(--disabled-ink);border-color:var(--sui-field-border, var(--border));outline:none;box-shadow:none;background:var(--sui-field-bg, var(--disabled-bg));color:var(--disabled-ink);cursor:not-allowed}.sui-input.sc-sui-order-list{width:100%;color:var(--ink);font-family:var(--font-sans);font-weight:460}.sui-input.sc-sui-order-list::placeholder{color:var(--ink-placeholder)}.sui-input.sm.sc-sui-order-list{height:var(--sui-field-height, var(--control-sm));padding:0 10px;font-size:12.5px}.sui-input.md.sc-sui-order-list{height:var(--sui-field-height, var(--control-md));padding:0 var(--control-pad-x);font-size:13px}.sui-input.lg.sc-sui-order-list{height:var(--sui-field-height, var(--control-lg));padding:0 var(--control-pad-x);font-size:14px}@media (forced-colors: active){.sui-frame.sc-sui-order-list:focus-within,.sui-frame.focus.sc-sui-order-list,.sui-frame.open.sc-sui-order-list{outline:2px solid Highlight;outline-offset:1px}.sui-frame.sc-sui-order-list:disabled,.sui-frame.disabled.sc-sui-order-list{color:GrayText;border-color:GrayText}}.sev.sc-sui-order-list{width:26px;height:26px;border-radius:50%;flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center}.sev.sc-sui-order-list i.sc-sui-order-list,.sev.sc-sui-order-list .sui-glyph.sc-sui-order-list{font-size:11px}.sev.positive.sc-sui-order-list{background:var(--status-positive-bg);color:var(--status-positive-ink)}.sev.attention.sc-sui-order-list{background:var(--status-attention-bg);color:var(--status-attention-ink)}.sev.critical.sc-sui-order-list{background:var(--danger-soft);color:var(--danger)}.sev.info.sc-sui-order-list{background:var(--surface-sunken);color:var(--ink-muted)}.sev.neutral.sc-sui-order-list{background:var(--status-neutral-bg);color:var(--status-neutral-ink)}.sev.icon.sc-sui-order-list{background:var(--surface-sunken);color:var(--ink-muted)}.sui-list-avatar.sc-sui-order-list{flex-shrink:0;margin-top:1px}.text.sc-sui-order-list{flex:1;min-width:0}.title-row.sc-sui-order-list{display:flex;align-items:center;gap:6px;min-width:0}.title.sc-sui-order-list{font-size:12.5px;font-weight:620;min-width:0}.unread.sc-sui-order-list .title.sc-sui-order-list{font-weight:700}.dot.sc-sui-order-list{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-inline-start:auto}.meta.sc-sui-order-list{flex-shrink:0;margin-inline-start:auto;font-size:11px;color:var(--ink-muted);font-feature-settings:'tnum';white-space:nowrap}.dot.sc-sui-order-list+.sr-only.sc-sui-order-list+.meta.sc-sui-order-list,.dot.sc-sui-order-list+.meta.sc-sui-order-list{margin-inline-start:0}.detail.sc-sui-order-list{display:block;font-size:11.5px;color:var(--ink-muted);line-height:1.45;margin-top:1px}.time.sc-sui-order-list{display:block;font-size:10.5px;color:var(--ink-faint);margin-top:3px;font-feature-settings:'tnum'}.sr-only.sc-sui-order-list{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (forced-colors: active){.sev.sc-sui-order-list{box-sizing:border-box;border:1px solid CanvasText}.dot.sc-sui-order-list{background:CanvasText}}.sui-rl-shell.sc-sui-order-list{box-sizing:border-box;margin:0;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:5px;overflow-y:auto}.sui-rl-shell.sc-sui-order-list:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.sui-rl-empty.sc-sui-order-list{list-style:none;padding:14px 10px;font-size:12px;color:var(--ink-faint);text-align:center}.sui-rl-row.sc-sui-order-list{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-md);font-size:13px;font-weight:460;color:var(--ink);background:transparent;cursor:grab;user-select:none;-webkit-user-select:none;opacity:1;box-shadow:none;transition:background var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.sui-rl-row.static.sc-sui-order-list{cursor:pointer}.sui-rl-row.sc-sui-order-list:hover{--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-rl-row.selected.sc-sui-order-list{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);background:var(--surface-selected);font-weight:650}.sui-rl-row.selected.sc-sui-order-list:hover{--ink-muted:var(--ink);--ink-faint:var(--ink);background:linear-gradient(var(--surface-hover) 0 0) var(--surface-selected)}.sui-rl-row.dragging.sc-sui-order-list{opacity:0.5;box-shadow:none;outline:1px dashed var(--ink-muted);outline-offset:-1px}.sui-rl-row.lifted.sc-sui-order-list{box-shadow:var(--shadow-raised);background:var(--surface);position:relative;z-index:1}.sui-rl-row.sc-sui-order-list:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.sui-rl-row.lifted.sc-sui-order-list:focus-visible{box-shadow:var(--shadow-raised)}.sui-rl-row.sc-sui-order-list .grip.sc-sui-order-list{font-size:10px;color:var(--ink-faint)}.sui-rl-row.static.sc-sui-order-list .grip.sc-sui-order-list{color:var(--border-strong)}.sui-rl-row.sc-sui-order-list .label.sc-sui-order-list{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-rl-row.sc-sui-order-list .text.sc-sui-order-list .label.sc-sui-order-list{display:block}.sui-rl-row.sc-sui-order-list .detail.sc-sui-order-list{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:460}.sui-rl-row.sc-sui-order-list .meta.sc-sui-order-list{font-weight:460}.sui-rl-row.selected.sc-sui-order-list .detail.sc-sui-order-list,.sui-rl-row.selected.sc-sui-order-list .meta.sc-sui-order-list{color:var(--ink-muted)}.sui-rl-dropline.sc-sui-order-list{height:2px;border-radius:1px;background:var(--accent-ink);margin:1px 6px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-ink) 25%, transparent)}.sui-rl-ctrls.sc-sui-order-list{display:flex;flex-direction:column;gap:6px;justify-content:center}.sui-rl-ctrl.sc-sui-order-list{box-sizing:border-box;width:30px;height:30px;padding:0;margin:0;border:1px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}.sui-rl-ctrl.sc-sui-order-list .sui-glyph.sc-sui-order-list{font-size:11px}.sui-rl-ctrl.sc-sui-order-list:hover:not(:disabled){background:linear-gradient(var(--surface-hover) 0 0) var(--surface)}.sui-rl-ctrl.sc-sui-order-list:active:not(:disabled){background:linear-gradient(var(--surface-pressed) 0 0) var(--surface)}.sui-rl-ctrl.sc-sui-order-list:disabled{color:var(--ink-placeholder);cursor:not-allowed}.sui-rl-ctrl.sc-sui-order-list:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.sui-rl-header.sc-sui-order-list{font-size:12.5px;font-weight:650;color:var(--ink);margin-bottom:6px}.sui-rl-header.sc-sui-order-list .count.sc-sui-order-list{color:var(--ink-faint);font-weight:460;margin-inline-start:6px;font-feature-settings:'tnum'}.sui-rl-live.sc-sui-order-list{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media (forced-colors: active){.sui-rl-row.selected.sc-sui-order-list{forced-color-adjust:none;background:Highlight;color:HighlightText}.sui-rl-row.selected.sc-sui-order-list .grip.sc-sui-order-list{color:HighlightText}.sui-rl-row.selected.sc-sui-order-list .sui-rl-box.sc-sui-order-list{forced-color-adjust:auto}.sui-rl-row.selected.sc-sui-order-list .detail.sc-sui-order-list,.sui-rl-row.selected.sc-sui-order-list .meta.sc-sui-order-list{color:HighlightText}.sui-rl-row.selected.sc-sui-order-list .sev.sc-sui-order-list,.sui-rl-row.selected.sc-sui-order-list .sui-list-avatar.sc-sui-order-list{forced-color-adjust:auto}.sui-rl-row.selected.sc-sui-order-list:focus-visible{outline-color:HighlightText;box-shadow:none}.sui-rl-row.lifted.sc-sui-order-list{outline:2px dashed Highlight;outline-offset:-2px;box-shadow:none}.sui-rl-row.selected.lifted.sc-sui-order-list{outline-color:HighlightText}.sui-rl-dropline.sc-sui-order-list{background:Highlight;box-shadow:none}}.sui-rl-box.sc-sui-order-list{width:18px;height:18px;box-sizing:border-box;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);border:1.5px solid color-mix(in srgb, var(--control-border) 75%, var(--ink));background:var(--surface);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.sui-rl-box.on.sc-sui-order-list,.sui-rl-box.mixed.sc-sui-order-list{border-color:var(--brand);background:var(--brand)}.sui-rl-box.sc-sui-order-list .sui-glyph.sc-sui-order-list{font-size:10px;color:var(--brand-contrast)}.sui-rl-all.sc-sui-order-list{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin:0 0 6px;padding:5px 10px;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:start;font:550 12.5px var(--font-sans);color:var(--ink);transition:background var(--duration-fast) var(--ease-out)}.sui-rl-all.sc-sui-order-list:hover:not(:disabled){--ink-faint:var(--ink-muted);background:var(--surface-hover)}.sui-rl-all.sc-sui-order-list:disabled{--ink-muted:var(--ink-placeholder);--ink-faint:var(--ink-placeholder);color:var(--disabled-ink);cursor:not-allowed}.sui-rl-all.sc-sui-order-list:disabled .sui-rl-box.sc-sui-order-list{background:var(--disabled-bg);border-color:var(--border-strong)}.sui-rl-all.sc-sui-order-list:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.sui-rl-filter.sc-sui-order-list{display:flex;align-items:center;gap:7px;height:30px;padding:0 9px;margin-bottom:6px;box-sizing:border-box}.sui-rl-filter.sc-sui-order-list .sui-glyph.sc-sui-order-list{font-size:11px;color:var(--ink-faint)}.sui-rl-filter.sc-sui-order-list input.sc-sui-order-list{flex:1;min-width:0;border:none;outline:none;background:transparent;font:460 12.5px var(--font-sans);color:var(--ink)}.sui-rl-filter.sc-sui-order-list input.sc-sui-order-list::placeholder{color:var(--ink-placeholder)}"}},[514,"sui-order-list",{heading:[1],items:[1040],selection:[1040],height:[2],noDrag:[516,"no-drag"],dragOnly:[516,"drag-only"],selectionMode:[513,"selection-mode"],filter:[516],emptyMessage:[1,"empty-message"],emptyFilterMessage:[1,"empty-filter-message"],loading:[516],focused:[32],dragIdx:[32],overIdx:[32],lifted:[32],live:[32],query:[32],setFocus:[64]},void 0,{items:[{onItems:0}]}]),D=j,C=function(){"undefined"!=typeof customElements&&["sui-order-list","sui-avatar"].forEach((i=>{switch(i){case"sui-order-list":customElements.get(o(i))||customElements.define(o(i),j);break;case"sui-avatar":customElements.get(o(i))||z()}}))};export{D as SuiOrderList,C as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiOrgChart extends Components.SuiOrgChart, HTMLElement {}
|
|
4
|
+
export const SuiOrgChart: {
|
|
5
|
+
prototype: SuiOrgChart;
|
|
6
|
+
new (): SuiOrgChart;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as r,H as s,c as t,h as i,a,t as o}from"./p-CeVlau-G.js";import{G as e,k as c,w as n,y as h}from"./p-BeYfX4rQ.js";import{i as l}from"./p-GAnFXayY.js";import{i as u}from"./p-qut9RP2y.js";import{a as d}from"./p-BuyjS5bS.js";import{d as g}from"./p-BHB1Wprj.js";const v=r(class extends s{constructor(r){super(),!1!==r&&this.__registerHost(),this.suiExpandedChange=t(this,"suiExpandedChange",3),this.suiSelectionChange=t(this,"suiSelectionChange",3)}get host(){return this}root;collapsible=!1;expanded;selectionMode="none";selection=[];emptyMessage;loading=!1;suiExpandedChange;suiSelectionChange;activeKey;overflowing=!1;chartEl;ro;pendingFocus=!1;itemEls=new Map;async setFocus(){if(this.interactive){const r=this.tabKey(this.flat());if(null==r)return;this.activeKey=r}this.focusTarget()?.focus()}focusTarget(){if(!this.interactive)return this.overflowing?this.chartEl:void 0;const r=this.tabKey(this.flat());return null==r?void 0:this.itemEls.get(r)}tabKey(r){return r.some((r=>r.key===this.activeKey))?this.activeKey:r[0]?.key}connectedCallback(){g(this.host,(()=>this.focusTarget())),this.chartEl&&(this.observeChart(),this.measureLater())}componentDidRender(){this.observeChart(),this.measureLater(),this.pendingFocus&&(this.pendingFocus=!1,null!=this.activeKey&&this.itemEls.get(this.activeKey)?.focus())}measureOverflow=()=>{const r=this.chartEl;this.overflowing=!!r&&r.scrollWidth-r.clientWidth>0};measureLater(){Promise.resolve().then((()=>{this.chartEl?.isConnected&&this.measureOverflow()}))}observeChart(){!this.ro&&"undefined"!=typeof ResizeObserver&&this.chartEl&&(this.ro=new ResizeObserver(this.measureOverflow),this.ro.observe(this.chartEl))}disconnectedCallback(){this.ro?.disconnect(),this.ro=void 0}get interactive(){return this.collapsible||"none"!==this.selectionMode}keyOf(r,s){return null==r.key||""===r.key?s:r.key}isOpen(r,s){return s<=0||!this.collapsible?s>0:!this.expanded||this.expanded.includes(r)}branchKeys(){const r=[],s=(t,i)=>{const a=t.children||[];a.length&&(r.push(this.keyOf(t,i)),a.forEach(((r,t)=>s(r,`${i}.${t}`))))};return this.root&&s(this.root,"r"),r}flat(){const r=[],s=(t,i,a,o)=>{const e=this.keyOf(t,i),c=t.children||[],n=this.isOpen(e,c.length);r.push({n:t,key:e,parent:o,level:a,hasKids:c.length>0,open:n}),n&&c.forEach(((r,t)=>s(r,`${i}.${t}`,a+1,e)))};return this.root&&s(this.root,"r",1),r}toggleCollapse(r){if(!this.collapsible)return;const s=this.expanded||this.branchKeys();this.expanded=s.includes(r)?s.filter((s=>s!==r)):s.concat([r]),this.suiExpandedChange.emit(this.expanded)}toggleSelect(r){if("single"===this.selectionMode){const s=this.selection||[];if(1===s.length&&s[0]===r)return;this.selection=[r]}else{if("checkbox"!==this.selectionMode)return;{const s=this.selection||[];this.selection=s.includes(r)?s.filter((s=>s!==r)):s.concat([r])}}this.suiSelectionChange.emit(this.selection)}onClick=r=>{const s=r.target,t=s.closest('[role="treeitem"]');if(!t)return;const i=this.keyFromCard(t);if(null==i)return;this.activeKey=i;const a=s.closest("[data-act]");a&&a.closest('[role="treeitem"]')===t?this.toggleCollapse(i):this.toggleSelect(i)};keyFromCard(r){for(const[s,t]of this.itemEls)if(t===r)return s}focusAt(r,s){s<0||s>=r.length||(this.activeKey=r[s].key,this.pendingFocus=!0)}childrenOf(r,s){return r.filter((r=>r.parent===s))}onKeyDown=r=>{if(!this.interactive||r.defaultPrevented)return;const s=this.flat();if(!s.length)return;let t=s.findIndex((r=>r.key===this.activeKey));t<0&&(t=0);const i=s[t],a=null==i.parent?[i]:this.childrenOf(s,i.parent),o=a.findIndex((r=>r.key===i.key)),e=l(r.currentTarget)?-1:1;switch(r.key){case"ArrowRight":r.preventDefault(),a[o+e]&&this.focusAt(s,s.indexOf(a[o+e]));break;case"ArrowLeft":r.preventDefault(),a[o-e]&&this.focusAt(s,s.indexOf(a[o-e]));break;case"ArrowDown":if(r.preventDefault(),i.hasKids&&!i.open)this.activeKey=i.key,this.toggleCollapse(i.key);else if(i.open){const r=this.childrenOf(s,i.key)[0];r&&this.focusAt(s,s.indexOf(r))}break;case"ArrowUp":r.preventDefault(),i.hasKids&&i.open&&this.collapsible?(this.activeKey=i.key,this.toggleCollapse(i.key)):null!=i.parent&&this.focusAt(s,s.findIndex((r=>r.key===i.parent)));break;case"Home":r.preventDefault(),this.focusAt(s,0);break;case"End":r.preventDefault(),this.focusAt(s,s.length-1);break;case"Enter":r.preventDefault(),this.activeKey=i.key,"none"===this.selectionMode?i.hasKids&&this.toggleCollapse(i.key):this.toggleSelect(i.key);break;case" ":r.preventDefault(),this.activeKey=i.key,this.toggleSelect(i.key)}};card(r,s){return i("div",{class:{card:!0,lead:!!r.lead,sel:s&&"single"===this.selectionMode,pick:"none"!==this.selectionMode}},"checkbox"===this.selectionMode?i("span",{class:{box:!0,on:s},"aria-hidden":"true"},s?i(e,{glyph:c}):null):null,i("div",{class:"avatar","aria-hidden":"true"},r.initials||u(r.label)),i("div",{class:"text"},i("div",{class:"name"},r.label),r.sub?i("div",{class:"sub"},r.sub):null))}col(r,s,t,a,o,c){const l=r.n,u=(this.selection||[]).includes(r.key),d=this.selectionMode,g=r.open?this.childrenOf(s,r.key):[];return i("div",{class:"col",key:r.key+"",role:"treeitem","data-key":r.key+"",ref:s=>{s&&this.itemEls.set(r.key,s)},tabindex:this.interactive?r.key===c?0:-1:void 0,"aria-level":r.level+"","aria-label":l.sub?`${l.label}, ${l.sub}`:l.label,"aria-expanded":r.hasKids?r.open?"true":"false":null,"aria-selected":"single"===d?u?"true":"false":null,"aria-checked":"checkbox"===d?u?"true":"false":null},t?null:i("div",{class:"in"},i("span",{class:{"rail-l":!0,hidden:a}}),i("span",{class:{"rail-r":!0,hidden:o}}),i("span",{class:"stub-top"})),i("div",{class:"node"},this.card(l,u),this.collapsible&&r.hasKids?i("span",{class:{tog:!0,shut:!r.open},"data-act":"toggle","aria-hidden":"true"},i(e,{glyph:r.open?n:h})):null),g.length?i("div",{class:"out"},i("span",{class:"stub-bottom"}),i("div",{class:"kids",role:"group"},g.map(((r,t)=>this.col(r,s,!1,0===t,t===g.length-1,c))))):null)}render(){this.itemEls.clear();const r=this.flat();if(this.loading)return i(a,{"aria-busy":"true"},i("div",{class:"status",role:"status"},d(void 0,"org-chart.loading",void 0,"Loading")));if(!r.length)return i(a,null,i("div",{class:"status",role:"status"},d(void 0,"org-chart.empty",this.emptyMessage,"Nothing here yet.")));const s=this.tabKey(r);return i(a,null,i("div",{class:"chart",ref:r=>this.chartEl=r,role:"tree","aria-label":r[0].n.label,tabindex:!this.interactive&&this.overflowing?"0":void 0,"aria-multiselectable":"checkbox"===this.selectionMode?"true":null,onClick:this.interactive?this.onClick:void 0,onKeyDown:this.interactive?this.onKeyDown:void 0},this.col(r[0],r,!0,!0,!0,s)))}static get style(){return".sc-sui-org-chart-h{display:block;min-width:0;font-family:var(--font-sans);color:var(--ink)}.chart.sc-sui-org-chart{display:flex;justify-content:center;justify-content:safe center;overflow-x:auto;padding:4px}.status.sc-sui-org-chart{padding:24px 16px;text-align:center;font-size:13px;font-weight:620;color:var(--ink-muted)}.chart.sc-sui-org-chart:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.col.sc-sui-org-chart{display:flex;flex-direction:column;align-items:center;position:relative;outline:none}.in.sc-sui-org-chart{position:relative;width:100%;height:16px;flex-shrink:0}.rail-l.sc-sui-org-chart,.rail-r.sc-sui-org-chart{position:absolute;top:0;width:50%;height:1px;background:var(--border-strong)}.rail-l.sc-sui-org-chart{inset-inline-start:0}.rail-r.sc-sui-org-chart{inset-inline-end:0}.rail-l.hidden.sc-sui-org-chart,.rail-r.hidden.sc-sui-org-chart{background:transparent}.stub-top.sc-sui-org-chart{position:absolute;top:0;left:calc(50% - 0.5px);width:1px;height:16px;background:var(--border-strong)}.node.sc-sui-org-chart{margin:0 12px;position:relative}.out.sc-sui-org-chart{display:flex;flex-direction:column;align-items:center;width:100%}.stub-bottom.sc-sui-org-chart{display:block;width:1px;height:16px;background:var(--border-strong);flex-shrink:0}.kids.sc-sui-org-chart{display:flex;align-items:flex-start;justify-content:center}.card.sc-sui-org-chart{display:flex;align-items:center;gap:9px;box-sizing:border-box;min-width:128px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.card.lead.sc-sui-org-chart{background:var(--surface-navy);color:var(--ink-inverse);border-color:var(--surface-navy)}.avatar.sc-sui-org-chart{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--brand-soft);color:var(--brand-soft-ink);font-size:10px;font-weight:720;display:flex;align-items:center;justify-content:center}.card.lead.sc-sui-org-chart .avatar.sc-sui-org-chart{background:var(--accent);color:var(--accent-contrast)}.name.sc-sui-org-chart{font-size:12.5px;font-weight:700;white-space:nowrap}.sub.sc-sui-org-chart{font-size:10.5px;color:var(--ink-faint);white-space:nowrap}.card.lead.sc-sui-org-chart .sub.sc-sui-org-chart{color:var(--ink-inverse-muted)}.card.pick.sc-sui-org-chart{cursor:pointer}.card.pick.sc-sui-org-chart:hover{border-color:var(--border-strong)}.card.lead.pick.sc-sui-org-chart:hover{border-color:var(--brand-hover);background:var(--brand-hover)}.card.sel.sc-sui-org-chart{--ink-muted:var(--ink-muted-on-wash);--ink-faint:var(--ink-muted);border-color:var(--brand);background:linear-gradient(var(--surface-selected) 0 0) var(--surface);color:var(--ink)}.card.sel.sc-sui-org-chart .sub.sc-sui-org-chart{color:var(--ink-muted)}.card.lead.sel.sc-sui-org-chart{background:var(--surface-navy);border-color:var(--accent);color:var(--ink-inverse)}.card.lead.sel.sc-sui-org-chart .sub.sc-sui-org-chart{color:var(--ink-inverse-muted)}.col.sc-sui-org-chart:focus-visible>.node.sc-sui-org-chart>.card.sc-sui-org-chart{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.box.sc-sui-org-chart{width:18px;height:18px;box-sizing:border-box;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);border:1.5px solid color-mix(in srgb, var(--control-border) 75%, var(--ink));background:var(--surface);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.box.on.sc-sui-org-chart{border-color:var(--brand);background:var(--brand)}.box.sc-sui-org-chart .sui-glyph.sc-sui-org-chart{font-size:10px;color:var(--ink-inverse)}.card.lead.sc-sui-org-chart .box.sc-sui-org-chart{border-color:var(--border-inverse);background:transparent}.card.lead.sc-sui-org-chart .box.on.sc-sui-org-chart{border-color:var(--accent);background:var(--accent)}.card.lead.sc-sui-org-chart .box.sc-sui-org-chart .sui-glyph.sc-sui-org-chart{color:var(--accent-contrast)}.tog.sc-sui-org-chart{position:absolute;bottom:-9px;left:calc(50% - 9px);z-index:1;width:18px;height:18px;border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--surface);border:1px solid var(--border-strong);color:var(--ink-muted);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}.tog.sc-sui-org-chart .sui-glyph.sc-sui-org-chart{font-size:8px}.tog.sc-sui-org-chart:hover{background:linear-gradient(var(--surface-hover) 0 0) var(--surface);color:var(--ink)}.tog.shut.sc-sui-org-chart{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}@media (forced-colors: active){.rail-l.sc-sui-org-chart,.rail-r.sc-sui-org-chart,.stub-top.sc-sui-org-chart,.stub-bottom.sc-sui-org-chart{background:CanvasText}.card.sel.sc-sui-org-chart,.card.sel.sc-sui-org-chart:hover,.card.lead.sel.sc-sui-org-chart,.card.lead.sel.sc-sui-org-chart:hover{forced-color-adjust:none;background:Highlight;border-color:Highlight;color:HighlightText}.card.sel.sc-sui-org-chart .sub.sc-sui-org-chart,.card.lead.sel.sc-sui-org-chart .sub.sc-sui-org-chart{color:HighlightText}.card.sel.sc-sui-org-chart .avatar.sc-sui-org-chart,.card.sel.sc-sui-org-chart .box.sc-sui-org-chart{forced-color-adjust:auto}.col.sc-sui-org-chart:focus-visible>.node.sc-sui-org-chart>.card.sel.sc-sui-org-chart{outline-color:CanvasText;box-shadow:none}}"}},[514,"sui-org-chart",{root:[16],collapsible:[516],expanded:[1040],selectionMode:[513,"selection-mode"],selection:[1040],emptyMessage:[1,"empty-message"],loading:[516],activeKey:[32],overflowing:[32],setFocus:[64]}]),b=v,p=function(){"undefined"!=typeof customElements&&["sui-org-chart"].forEach((r=>{"sui-org-chart"===r&&(customElements.get(o(r))||customElements.define(o(r),v))}))};export{b as SuiOrgChart,p as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiOverlayBadge extends Components.SuiOverlayBadge, HTMLElement {}
|
|
4
|
+
export const SuiOverlayBadge: {
|
|
5
|
+
prototype: SuiOverlayBadge;
|
|
6
|
+
new (): SuiOverlayBadge;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as o,d as p}from"./p-qjuvplfX.js";const s=o,r=p;export{s as SuiOverlayBadge,r as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiPageHeader extends Components.SuiPageHeader, HTMLElement {}
|
|
4
|
+
export const SuiPageHeader: {
|
|
5
|
+
prototype: SuiPageHeader;
|
|
6
|
+
new (): SuiPageHeader;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|