@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 @@
|
|
|
1
|
+
import{p as a,H as t,c as s,h as i,a as e,t as h}from"./p-CeVlau-G.js";import{o as r,_ as c,$ as o,f as p,c as u,d as n,C as l,t as m,T as d,g as x,a0 as g,k as f,L as v}from"./p-BLK-elHV.js";import{o as b,c as w}from"./p-C-tuu2jV.js";import{h as k}from"./p-DbF8ArKE.js";import{w as y,r as z}from"./p-DDyzuLfq.js";import{a as C,l as T}from"./p-BuyjS5bS.js";import{w as j,c as M,a as $,e as H,b as E,P as L}from"./p-CFn_q23Q.js";import{d as N}from"./p-BHB1Wprj.js";import{u as D}from"./p-U06fVoGD.js";import{d as K}from"./p-qut9RP2y.js";const V=96,B=["--viz-1","--surface","--ink","--ink-on-dark"],q="--sui-chart-heatmap-high",F="--sui-chart-heatmap-low",W=[[q,"--viz-1"],[F,"--surface"]],G=`var(${q}, var(--viz-1))`,I=`var(${F}, var(--surface))`,P=a(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.suiHover=s(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;rows=[];cols=[];values=[];money=!1;currency="USD";cell=34;hideMax=!1;emptyMessage;loading=!1;hoverIndex=-1;suiHover;layout={cells:[],maxV:1,maxKey:null};keyed=!1;gridEl;keysId=D("sui-chart-keys");hostName={};stopHostName;themeTick=0;boxW=0;stopResize;hasHeaderEnd=!1;inks=null;stopTheme;loaded=!1;componentWillLoad(){this.hasHeaderEnd=k(this.host,"header-end"),this.compute()}componentDidLoad(){this.loaded=!0,this.followTheme()}connectedCallback(){N(this.host,(()=>this.gridEl)),this.stopHostName?.(),this.stopHostName=j(this.host,(a=>{this.hostName=a})),this.stopResize||(this.stopResize=r(this.host,(a=>{this.boxW=a}))),this.loaded&&this.followTheme(!0)}followTheme(a=!1){this.stopTheme?.(),this.stopTheme=y(this.host,(()=>{this.themeTick++})),a&&Promise.resolve().then((()=>{this.host.isConnected&&this.themeTick++}))}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0,this.stopTheme?.(),this.stopTheme=void 0}componentWillRender(){const a=z(this.host,B);if(a)for(const[t,s]of W){if(!c(this.host,t))continue;const i=o(this.host,`var(${t})`);if(!i)return void(this.inks=null);a[s]=i}this.inks=a}compute(){const a=this.values||[];let t=1,s=null;a.forEach(((a,i)=>a.forEach(((a,e)=>{a>t&&(t=a,s=`${i}-${e}`)}))));const i=(this.rows||[]).map(((s,i)=>(a[i]||[]).map(((a,s)=>{const e=a/t;return{ri:i,ci:s,v:a,t:e,key:`${i}-${s}`,bg:`color-mix(in srgb, ${G} ${Math.round(92*e)}%, ${I})`}}))));this.layout={cells:i,maxV:t,maxKey:s}}inkFor(a){const t=this.inks;if(!t)return a.t>.45?"light":"ink";const s=b(t["--viz-1"],t["--surface"],Math.round(92*a.t)/100);return[["ink",w(t["--ink"],s)],["light",w(t["--ink-on-dark"],s)],["ground",w(t["--surface"],s)]].reduce(((a,t)=>t[1]>a[1]?t:a))[0]}get empty(){return 0===(this.rows||[]).length||0===(this.cols||[]).length||!(this.values||[]).some((a=>(a||[]).some((a=>!!a))))}setHover(a){if(a===this.hoverIndex)return;this.hoverIndex=a;const t=(this.cols||[]).length;this.suiHover.emit(a>=0&&t?{index:a,row:Math.floor(a/t),col:a%t}:{index:-1,row:-1,col:-1})}onLeave=()=>this.setHover(-1);enter(a){this.keyed=!1,this.setHover(a)}async setFocus(){this.gridEl?.focus()}onKey=a=>{if(this.empty)return;const t=(this.rows||[]).length,s=(this.cols||[]).length,i=this.hoverIndex>=0&&this.hoverIndex<t*s?this.hoverIndex:-1,e=M(a,{rows:t,count:a=>Math.min(s,((this.values||[])[a]||[]).length)},i>=0?{s:Math.floor(i/s),i:i%s}:null,this.keyed);if(e){if(a.preventDefault(),"leave"===e)return a.stopPropagation(),this.keyed=!1,void this.setHover(-1);this.keyed=!0,this.setHover(e.s*s+e.i)}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHover(-1))};fmt=a=>this.money?K(a,!0,this.currency):p(a);exact=a=>this.money?K(a,!1,this.currency):p(a);render(){const{cells:a,maxV:t,maxKey:s}=this.layout,h=this.rows||[],r=this.cols||[],c=V+r.length*(this.cell+3),o=this.cell-8+3,b=18+Math.max(h.length,3)*o;if(this.loading)return i(e,{"aria-busy":"true"},i(u,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},i(n,{height:b,label:C(void 0,"chart-heatmap.loading",void 0,"Loading")})));if(this.empty)return i(e,null,i(u,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},i("div",{class:"sui-chart-plot",style:{height:b+"px"}},i(l,{text:C(void 0,"chart-heatmap.empty",this.emptyMessage,"Nothing to plot yet.")}))));const w=this.hoverIndex>=0&&r.length?this.hoverIndex:-1,k=w>=0?(a[Math.floor(w/r.length)]||[])[w%r.length]:void 0,y=r.reduce(((a,t)=>Math.max(a,m(t,9.5))),0),z=(a=>{const t=a.map((a=>/^(.*?)(\d+)$/.exec(a+"")));if(a.length<3||!t[0]||!t[1])return!1;const s=Number(t[1][2])-Number(t[0][2]);return s>0&&t.every(((a,i)=>!!a&&a[1]===t[0][1]&&Number(a[2])-Number(t[0][2])==i*s))})(r),j=z?Math.max(1,Math.ceil((y+4)/(this.cell+3))):1,M=6+12*(z?1:Math.min(3,Math.max(1,Math.ceil(y/(this.cell+3))))),N=$(this.heading,T(void 0,"chart-heatmap.by",void 0,"{rows} by {columns}",{rows:h.join(", "),columns:r.join(", ")})),D=this.cell>=32,K=!this.hideMax,B=(a,t)=>`${this.keysId}-${a}-${t}`,q=this.keyed&&k?B(k.ri,k.ci):void 0,F=M+h.length*o,W=[];return k&&(h.forEach(((a,t)=>W.push([88-Math.min(m(a,10.5),88),M+t*o,88,M+t*o+this.cell-8,d]))),W.push([V,0,c,M,d],[V,F+5,232+m(this.fmt(t),9.5)+(K?60:0),F+21,d]),a.forEach((a=>a.forEach((a=>{if(a===k)return;const t=V+a.ci*(this.cell+3),s=M+a.ri*o,i=t+this.cell/2,e=s+(this.cell-8)/2;W.push([t,s,t+this.cell,s+this.cell-8,x]);const h=D?m(this.fmt(a.v),9)/2:0;h&&W.push([i-h,e-5,i+h,e+4,a.v?d:g])}))))),i(e,null,i(u,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},i("div",{class:"sui-heat-scroll"},i("div",{class:"sui-heat-body",style:{width:c+"px"},onMouseLeave:this.onLeave},i("div",{class:{"sui-heat-grid":!0,"sui-chart-keys":!0,keyed:!!q},role:"grid",tabindex:"0",...H(N,this.hostName,this.keysId,!0),"aria-activedescendant":q,ref:a=>this.gridEl=a,onKeyDown:this.onKey,onBlur:this.onBlur},i("div",{class:"sui-heat-row head",role:"row"},i("div",{class:"sui-heat-corner",role:"presentation"}),r.map(((a,t)=>i("div",{key:a,class:{"sui-heat-col":!0,seq:z},role:"columnheader",style:{width:this.cell+3+"px"}},t%j?i("span",{class:"sui-chart-sr"},a):a)))),h.map(((t,e)=>i("div",{key:t,class:"sui-heat-row",role:"row"},i("div",{class:"sui-heat-rowhead",role:"rowheader"},t),(a[e]||[]).map((a=>{const h=this.inkFor(a);return i("div",{key:a.key,role:"gridcell",id:B(e,a.ci),class:{"sui-heat-cell":!0,peak:K&&a.key===s,hov:k===a,key:k===a&&!!q,light:"light"===h,ground:"ground"===h},"data-ink":h,style:{width:this.cell+"px",height:this.cell-8+"px",background:a.bg},"aria-label":E(t,r[a.ci],this.exact(a.v)),onMouseEnter:()=>this.enter(e*r.length+a.ci)},D?this.fmt(a.v):"")})))))),i("div",{class:"sui-heat-scale"},i("span",{class:"lo"},p(0)),i("div",{class:"bar"}),i("span",{class:"hi"},this.fmt(t)),K?i("span",{class:"peak-note"},"□ "+C(void 0,"chart-heatmap.peak",void 0,"peak")):null),k?i(f,{show:!0,box:[V+k.ci*(this.cell+3),M+k.ri*o,V+k.ci*(this.cell+3)+this.cell,M+k.ri*o+this.cell-8],w:c,ht:F+24,title:h[k.ri],rows:[{label:r[k.ci],value:this.exact(k.v)}],avoid:W,room:[0,0,Math.max(c,this.boxW-v),F+20]}):null,i(L,{ids:this.keysId,summary:N,host:this.hostName,hint:!0})))))}static get watchers(){return{rows:[{compute:0}],cols:[{compute:0}],values:[{compute:0}]}}static get style(){return".sui-heat-scroll.sc-sui-chart-heatmap{overflow-x:auto;direction:ltr}.sui-heat-body.sc-sui-chart-heatmap{position:relative}.sui-heat-row.sc-sui-chart-heatmap{display:flex;align-items:center;margin-bottom:3px}.sui-heat-row.head.sc-sui-chart-heatmap{margin-bottom:4px}.sui-heat-corner.sc-sui-chart-heatmap{width:96px;flex-shrink:0}.sui-heat-col.sc-sui-chart-heatmap{text-align:center;font-size:9.5px;font-weight:600;color:var(--ink-faint);flex-shrink:0}.sui-heat-col.seq.sc-sui-chart-heatmap{display:flex;justify-content:center;white-space:nowrap}.sui-heat-rowhead.sc-sui-chart-heatmap{width:96px;padding-right:8px;box-sizing:border-box;flex-shrink:0;font-size:10.5px;font-weight:600;color:var(--ink-muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sui-heat-cell.sc-sui-chart-heatmap{margin-right:3px;border-radius:4px;box-sizing:border-box;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:650 9px var(--font-sans);font-feature-settings:'tnum';color:var(--ink);cursor:default;outline-offset:1px}.sui-heat-cell.light.sc-sui-chart-heatmap{color:var(--ink-on-dark)}.sui-heat-cell.ground.sc-sui-chart-heatmap{color:var(--surface)}.sui-heat-cell.hov.sc-sui-chart-heatmap{outline:1.5px solid var(--brand)}.sui-heat-cell.peak.sc-sui-chart-heatmap{outline:2px solid var(--sui-chart-heatmap-peak, var(--accent))}.sui-heat-cell.key.sc-sui-chart-heatmap{position:relative;z-index:1;outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:0 0 0 3px var(--focus-halo)}.sui-heat-grid.sc-sui-chart-heatmap{border-radius:4px}.sui-heat-scale.sc-sui-chart-heatmap{display:flex;align-items:center;gap:7px;margin-top:8px;margin-left:96px;font-size:9.5px;color:var(--ink-faint)}.sui-heat-scale.sc-sui-chart-heatmap .bar.sc-sui-chart-heatmap{width:110px;height:8px;border-radius:4px;border:1px solid var(--hairline);background:linear-gradient(90deg, var(--sui-chart-heatmap-low, var(--surface)), var(--sui-chart-heatmap-high, var(--viz-1)))}.sui-heat-scale.sc-sui-chart-heatmap .hi.sc-sui-chart-heatmap{font-feature-settings:'tnum'}.sui-heat-scale.sc-sui-chart-heatmap .peak-note.sc-sui-chart-heatmap{color:var(--sui-chart-heatmap-peak, var(--accent-ink));margin-left:6px;white-space:nowrap}@media (forced-colors: active){.sui-heat-cell.sc-sui-chart-heatmap{forced-color-adjust:none;border:1px solid CanvasText}.sui-heat-cell.hov.sc-sui-chart-heatmap,.sui-heat-cell.peak.sc-sui-chart-heatmap{outline-color:CanvasText}.sui-heat-cell.key.sc-sui-chart-heatmap{outline-color:Highlight;box-shadow:none}.sui-heat-scale.sc-sui-chart-heatmap .bar.sc-sui-chart-heatmap{forced-color-adjust:none;border-color:CanvasText}}.sc-sui-chart-heatmap-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-heatmap{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-heatmap{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-heatmap{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-heatmap{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-heatmap{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-heatmap{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-heatmap{position:relative}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap line.sc-sui-chart-heatmap{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-heatmap{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-heatmap{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-heatmap{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-heatmap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-heatmap{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-heatmap .swatch.sc-sui-chart-heatmap{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-heatmap .swatch.round.sc-sui-chart-heatmap{border-radius:50%}.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap,.sui-chart-tip-row.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-heatmap::before{content:'';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-heatmap::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-heatmap::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-heatmap .mk.sc-sui-chart-heatmap{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-heatmap .mk.dot.sc-sui-chart-heatmap,.swatch.glyph.sc-sui-chart-heatmap .mk.solid.sc-sui-chart-heatmap,.swatch.glyph.sc-sui-chart-heatmap .mk.ring.sc-sui-chart-heatmap{border-radius:50%}.swatch.glyph.sc-sui-chart-heatmap .mk.solid.sc-sui-chart-heatmap{background:var(--c)}.swatch.glyph.sc-sui-chart-heatmap .mk.ring.sc-sui-chart-heatmap{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-heatmap .mk.diamond.sc-sui-chart-heatmap{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-heatmap .mk.tri.sc-sui-chart-heatmap,.swatch.glyph.sc-sui-chart-heatmap .mk.tri-down.sc-sui-chart-heatmap{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-heatmap .mk.tri.sc-sui-chart-heatmap::after,.swatch.glyph.sc-sui-chart-heatmap .mk.tri-down.sc-sui-chart-heatmap::after{content:'';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-heatmap .mk.tri-down.sc-sui-chart-heatmap::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap{width:22px}.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.line.sc-sui-chart-heatmap::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap .mk.sc-sui-chart-heatmap{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap .mk.tri.sc-sui-chart-heatmap,.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap .mk.tri-down.sc-sui-chart-heatmap{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-heatmap .swatch.sc-sui-chart-heatmap{opacity:0.35}.sui-chart-caption.sc-sui-chart-heatmap{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-heatmap{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-heatmap{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-heatmap{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-heatmap .swatch.sc-sui-chart-heatmap{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-heatmap .lbl.sc-sui-chart-heatmap{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-heatmap b.sc-sui-chart-heatmap{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-heatmap .sui-chart-tip-row.sc-sui-chart-heatmap{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-heatmap .sui-chart-tip-row.keyed.sc-sui-chart-heatmap{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-heatmap .sui-chart-tip-row.keyed.sc-sui-chart-heatmap>b.sc-sui-chart-heatmap{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-heatmap .sui-chart-tip-row.sc-sui-chart-heatmap>b.sc-sui-chart-heatmap{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap .halo.sc-sui-chart-heatmap{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-heatmap:focus{outline:none}.sui-chart-keys.sc-sui-chart-heatmap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-heatmap:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-heatmap{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-heatmap{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-heatmap{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-heatmap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-heatmap span.sc-sui-chart-heatmap{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-heatmap{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-heatmap{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-heatmap{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-heatmap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-heatmap,.prose.sc-sui-chart-heatmap{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-heatmap text.sc-sui-chart-heatmap{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-heatmap{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-heatmap .swatch.sc-sui-chart-heatmap,.sui-chart-tip-row.sc-sui-chart-heatmap .swatch.sc-sui-chart-heatmap{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap,.sui-chart-tip-row.sc-sui-chart-heatmap .swatch.glyph.sc-sui-chart-heatmap{border:none}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap text.sc-sui-chart-heatmap{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap .halo.sc-sui-chart-heatmap{stroke:Canvas}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap line.sc-sui-chart-heatmap{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap line[stroke*=\"--hairline\"].sc-sui-chart-heatmap{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap line[stroke*=\"--chart-axis\"].sc-sui-chart-heatmap,.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap line[stroke*=\"--border-strong\"].sc-sui-chart-heatmap,.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap line[stroke*=\"--accent-deep\"].sc-sui-chart-heatmap{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap circle.sc-sui-chart-heatmap{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap rect.sc-sui-chart-heatmap,.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap path.sc-sui-chart-heatmap,.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap polyline.sc-sui-chart-heatmap,.sui-chart-plot.sc-sui-chart-heatmap svg.sc-sui-chart-heatmap polygon.sc-sui-chart-heatmap{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-heatmap:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-heatmap .sui-chart-ring.sc-sui-chart-heatmap .sui-chart-ring-line.sc-sui-chart-heatmap{stroke:Highlight;filter:none}svg.sc-sui-chart-heatmap .sui-chart-ring.sc-sui-chart-heatmap .sui-chart-ring-halo.sc-sui-chart-heatmap{stroke:Canvas;filter:none}}"}},[518,"sui-chart-heatmap",{heading:[1],subtitle:[1],caption:[1],rows:[16],cols:[16],values:[16],money:[516],currency:[1],cell:[2],hideMax:[516,"hide-max"],emptyMessage:[1,"empty-message"],loading:[516],hoverIndex:[1026,"hover-index"],layout:[32],keyed:[32],hostName:[32],themeTick:[32],boxW:[32],setFocus:[64]},void 0,{rows:[{compute:0}],cols:[{compute:0}],values:[{compute:0}]}]),R=P,S=function(){"undefined"!=typeof customElements&&["sui-chart-heatmap"].forEach((a=>{"sui-chart-heatmap"===a&&(customElements.get(h(a))||customElements.define(h(a),P))}))};export{R as SuiChartHeatmap,S as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartLine extends Components.SuiChartLine, HTMLElement {}
|
|
4
|
+
export const SuiChartLine: {
|
|
5
|
+
prototype: SuiChartLine;
|
|
6
|
+
new (): SuiChartLine;
|
|
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 r,t as a}from"./p-CeVlau-G.js";import{P as c,o as n,p as o,U as h,a as l,c as u,L as p,d,s as g,b as x,v as f,f as v,Q as k,Z as y,a1 as b,l as m,x as w,N as z,z as C,m as j,D as T,E,F as H,y as L,k as B,Y as M,V as $,G as N,I as S,K as F,X as G,C as W,g as I,W as K,T as P,J as q}from"./p-BLK-elHV.js";import{h as D,w as R,c as V,p as A,s as U,t as Z,a as O,d as Q,b as X,i as Y,k as J,P as _,f as ii,m as si,K as ti}from"./p-CFn_q23Q.js";import{c as ei,a as ri}from"./p-Bzu70qWq.js";import{d as ai}from"./p-BHB1Wprj.js";import{i as ci}from"./p-GAnFXayY.js";import{u as ni}from"./p-U06fVoGD.js";import{l as oi,a as hi}from"./p-BuyjS5bS.js";import{d as li}from"./p-qut9RP2y.js";const ui=["auto","always","hover","none"],pi=(i,s,t,e,r,a)=>b(i,s,t,e,"dot"===i||"solid"===i?r?3.5:2.2:r?4:3.2,r||"solid"===i||i.startsWith("tri")?a:"var(--surface)",a),di=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiHover=t(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;labels=[];series=[];kind="line";curve=!1;width=440;height=200;fixedSize=!1;money=!1;currency="USD";formatEnd;every="auto";refLine;markers="auto";emptyMessage;loading=!1;plain=!1;hoverIndex=-1;suiHover;hiddenSeries=[];hasHeaderEnd=!1;boxW=0;keyed=!1;keyRow=0;plotEl;keysId=ni("sui-chart-keys");hostName={};stopHostName;scale=1;rtl=!1;gutter=c.l;stopResize;fillId=ni("sui-chart-fill");componentWillLoad(){this.hasHeaderEnd=D(this.host,"header-end")}connectedCallback(){ai(this.host,(()=>this.plotEl)),this.stopHostName?.(),this.stopHostName=R(this.host,(i=>{this.hostName=i})),this.stopResize||(this.stopResize=n(this.host,(i=>{this.boxW=i})))}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0}async setFocus(){this.plotEl&&this.plotEl.hasAttribute("tabindex")&&this.plotEl.focus()}get plotW(){return o(!this.fixedSize,this.boxW,this.width,this.plain?0:p)}get drawn(){const i=[];return(this.series||[]).forEach(((s,t)=>{this.hiddenSeries.includes(s.label)||i.push(t)})),i}onKey=i=>{if(this.empty)return;const s=this.labels.length,t=this.drawn,e=t.length,r=U(this.hoverIndex,s),a="stacked-area"===this.kind,c=V(i,{rows:e,count:()=>s,has:(i,s)=>a||Number.isFinite((this.series[t[i]].data||[])[s])},r>=0?{s:Math.min(this.keyRow,e-1),i:r}:null,this.keyed);if(c){if(i.preventDefault(),"leave"===c)return i.stopPropagation(),this.keyed=!1,void this.setHover(-1);this.scale=A(this.plotEl,this.plotW,this.scale),this.keyRow=c.s,this.keyed=!0,this.setHover(c.i)}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHover(-1))};get endInset(){if("stacked-area"===this.kind)return 0;const i=this.hiddenSeries;return this.series.some((s=>"end"===s.axis&&!i.includes(s.label)))?h:0}get empty(){const i=this.series||[];return 0===i.length||i.every((i=>(i.data||[]).every((i=>!i))))}onMove=i=>{if(this.empty)return;const s=this.plotW,t=i.currentTarget.getBoundingClientRect();t.width>0&&(this.scale=t.width/s),this.keyed=!1,this.setHover(U(l(i,s,this.labels.length,!1,this.endInset,this.rtl,this.gutter),this.labels.length))};onLeave=()=>this.setHover(-1);setHover(i){i!==this.hoverIndex&&(this.hoverIndex=i,this.suiHover.emit({index:i}))}toggle=i=>{this.hiddenSeries=Z(this.hiddenSeries,i)};chartName(i,s){const t=s.join(", "),e=i?s.length?oi(void 0,"chart-line.lineOf",void 0,"line chart of {series}",{series:t}):hi(void 0,"chart-line.line",void 0,"line chart"):s.length?oi(void 0,"chart-line.areaOf",void 0,"area chart of {series}",{series:t}):hi(void 0,"chart-line.area",void 0,"area chart");return O(this.heading,e)}render(){const{labels:i,series:s,kind:t,money:a,hiddenSeries:n,curve:o}=this,h=this.plotW,l=this.height,b=this.rtl=ci(this.host);if(this.loading)return e(r,{"aria-busy":"true"},e(u,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize&&!this.plain?h+p:void 0,plain:this.plain,hasHeaderEnd:this.hasHeaderEnd},e(d,{height:l,label:hi(void 0,"chart-line.loading",void 0,"Loading"),rtl:b})));const D=i.length,R="stacked-area"===t,V=s.map(g),A=s.map((i=>!n.includes(i.label))),Z=s.filter(((i,s)=>A[s])).map((i=>i.label)),O=s.map((i=>!R&&"end"===i.axis)),ai=this.endInset,ni=ai>0,oi=h-ai,di=i=>{let t=i?void 0:[0,0];for(let e=0;e<s.length;e++){if(!A[e]||O[e]!==i)continue;const r=s[e];t=r.range?si(r.range[1],si(r.range[0],t)):si(r.data,t)}return t&&isFinite(t[0])&&isFinite(t[1])?t:[0,0]};let gi=[0,0];const xi=[];if(R){for(let i=0;i<D;i++){let t=0;for(let e=0;e<s.length;e++)A[e]&&(t+=s[e].data[i]||0);xi.push(t)}gi=si(xi,gi)}else gi=di(!1);const{ticks:fi,lo:vi,hi:ki}=x(gi[0],gi[1],4),yi=di(!0),bi=x(yi[0],yi[1],4),mi=a?i=>li(i,!0,this.currency):v,wi=a?i=>li(i,!1,this.currency):v,zi=this.formatEnd||y,Ci=this.gutter=f(fi.map(mi)),[ji,Ti]=q(h,ai,b,Ci),Ei=m(0,D-1,ji,Ti),Hi=m(vi,ki,l-c.b,c.t),Li=m(bi.lo,bi.hi,l-c.b,c.t),Bi=this.empty,Mi=Bi?-1:U(this.hoverIndex,D),$i="area"===t&&1===s.length?"hover":D<=8?"always":"hover",Ni=ui.includes(this.markers)&&"auto"!==this.markers?this.markers:$i,Si=Hi(Math.max(vi,0)),Fi=Li(Math.max(bi.lo,0)),Gi=s.map(((i,s)=>s>=4&&!i.color&&!i.accent)),Wi=i=>Gi[i]?i%2?"tri-down":"tri":"dot",Ii=(i,s)=>i.dashed?"5 4":Gi[s]?k:"none",Ki=(i,s)=>R?{}:{line:!0,dash:Ii(i,s),mark:i.mark&&"none"!==i.mark?i.mark:Gi[s]||"always"===Ni?Wi(s):void 0},Pi=s.length>1?s.map(((i,s)=>({label:i.label,color:V[s],...Ki(i,s)}))):void 0,qi=Mi>=0?s.filter(((i,s)=>A[s])).map((i=>{const t=s.indexOf(i);return{label:i.label,color:V[t],...Ki(i,t),value:O[t]?zi(i.data[Mi]):wi(i.data[Mi])}})):[],Di=(i,s,t,r)=>o?e("path",{d:ei(i,Ei,s),fill:"none",stroke:t,"stroke-width":2,"stroke-linejoin":"round","stroke-linecap":"round","stroke-dasharray":r}):e("polyline",{points:Q(i,Ei,s),fill:"none",stroke:t,"stroke-width":2,"stroke-linejoin":"round","stroke-linecap":"round","stroke-dasharray":r}),Ri=(i,s,t,r,a)=>o?e("path",{d:ei(i,Ei,t)+ri(s,Ei,t)+" Z",fill:r,opacity:a}):e("polygon",{points:Q(i,Ei,t)+" "+ii(s,Ei,t),fill:r,opacity:a}),Vi=Array(D).fill(0),Ai="area"!==t?[]:s.map(((i,s)=>!A[s]||i.range?null:e("linearGradient",{key:i.label,id:`${this.fillId}-${s}`,x1:"0",y1:"0",x2:"0",y2:"1"},e("stop",{offset:"0","stop-color":V[s],"stop-opacity":.3}),e("stop",{offset:"1","stop-color":V[s],"stop-opacity":0})))),Ui=s.map(((i,s)=>{if(!A[s])return null;const r=V[s],a=O[s]?Li:Hi;if(i.range)return e("g",{key:i.label},Ri(i.range[1],i.range[0],a,r,.14),Di(i.data,a,r,Ii(i,s)));if(R){const s=Array(D);for(let t=0;t<D;t++)s[t]=Vi[t]+(i.data[t]||0);const t=Vi.slice();for(let i=0;i<D;i++)Vi[i]=s[i];return e("g",{key:i.label},Ri(s,t,a,r,.82),o?e("path",{d:ei(s,Ei,a),fill:"none",stroke:"var(--surface)","stroke-width":1}):e("polyline",{points:Q(s,Ei,a),fill:"none",stroke:"var(--surface)","stroke-width":1}))}const c=[],n=Wi(s);for(let s=0;s<i.data.length;s++)c.push(pi(i.marks&&i.marks[s]||i.mark||("always"===Ni||"hover"===Ni&&Mi===s?n:"none"),s+"",Ei(s),a(i.data[s]),Mi===s,r));const h=O[s]?Fi:Si,l=`url(#${this.fillId}-${s})`,u="area"!==t?null:o?e("path",{class:"area",d:ei(i.data,Ei,a)+" L "+Ei(D-1)+","+h+" L "+Ei(0)+","+h+" Z",fill:l}):e("polygon",{class:"area",points:Q(i.data,Ei,a)+" "+Ei(D-1)+","+h+" "+Ei(0)+","+h,fill:l});return e("g",{key:i.label},u,Di(i.data,a,r,Ii(i,s)),c)})),Zi=[],Oi=[];if(!R&&!Bi){const i=Bi?-1:U(this.hoverIndex,D);s.forEach(((s,t)=>{const e=O[t]?Li:Hi;for(let r=0;A[t]&&r<s.data.length;r++)for(let t=0;t<(r?4:1);t++){const a=Ei(r-t/4),c=e(s.data[r]+(r?(s.data[r-1]-s.data[r])*t/4:0));Zi.push([a-3,c-3,a+3,c+3,t&&r!==i&&r!==i+1?K:I]),Oi.push(t?Zi[Zi.length-1]:[a-5,c-5,a+5,c+5,1===Math.abs(r-i)?P:I])}}))}const Qi=this.scale,Xi=w(h,l,Qi,ni?c.r+30:0,0,b,Ci),Yi=z(this.every,i,oi-Ci-c.r,!1),Ji=this.refLine?C(Hi(this.refLine.value),h,this.refLine.label||"",Zi,ai,b,Ci):void 0,_i=[];if(Mi>=0){let i=0;s.forEach(((s,t)=>{if(!A[t])return;const e=R?i+=s.data[Mi]||0:s.data[Mi],r=(O[t]?Li:Hi)(e);_i.push([(Ei(Mi)-6)*Qi,(r-6)*Qi,(Ei(Mi)+6)*Qi,(r+6)*Qi])}))}const is=s.map(((i,s)=>s)).filter((i=>A[i])),ss=Math.min(this.keyRow,is.length-1),ts=is[ss];let es=this.keyed&&Mi>=0&&void 0!==ts?`${this.keysId}-${ss}-${Mi}`:void 0,rs=null;if(es){const t=s[ts];let r=t.data[Mi];if(R){r=0;for(const i of is)if(r+=s[i].data[Mi]||0,i===ts)break}const a=(O[ts]?Li:Hi)(r),c=X(i[Mi],is.length>1?t.label:void 0,O[ts]?zi(t.data[Mi]):wi(R?t.data[Mi]||0:t.data[Mi]));Number.isFinite(a)?rs=e(ti,{id:es,circle:[Ei(Mi),a,7],label:c}):es=void 0}const as=Mi<0?[]:j(Oi.concat([[Ei(Mi)-4,0,Ei(Mi)+4,l,T]],E(fi,Hi,mi,h,b,!1,Ci),ni?E(bi.ticks,Li,zi,h,b,!0):[],H(i,Ei,l,Yi,h),Ji&&this.refLine&&this.refLine.label?[L(Ji,this.refLine.label)]:[]),Qi).concat(Xi.avoid);return e(r,null,e(u,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize&&!this.plain?h+p:void 0,plain:this.plain,hasHeaderEnd:this.hasHeaderEnd,legend:Pi,hidden:n,onToggle:this.toggle},e("div",{class:"sui-chart-plot"},e(B,{show:Mi>=0,box:[(Ei(Mi)-4)*Qi,0,(Ei(Mi)+4)*Qi,l*Qi],keep:_i,w:h*Qi,ht:l*Qi,title:i[Mi]||"",rows:qi,avoid:as,area:Xi.area,room:this.plain?void 0:Xi.room}),e("svg",{viewBox:`0 0 ${h} ${l}`,...Bi?Y(this.chartName("line"===t,Z),this.keysId,this.hostName):J(this.chartName("line"===t,Z),this.keysId,this.hostName,es),ref:i=>{this.plotEl=i},onKeyDown:this.onKey,onBlur:this.onBlur,onPointerMove:this.onMove,onPointerLeave:this.onLeave},!Bi&&Ai.some(Boolean)?e("defs",null,Ai):null,e(M,{ticks:fi,y:Hi,w:h,inset:ai,rtl:b,gl:Ci,fmt:mi,bare:Bi}),ni?e($,{ticks:bi.ticks,y:Li,w:h,fmt:zi,bare:Bi,rtl:b}):null,Bi?null:Ui,this.refLine?e(N,{y:Hi(this.refLine.value),w:h,inset:ai,rtl:b,gl:Ci,label:this.refLine.label,avoid:Zi,color:this.refLine.color}):null,Mi>=0?e("line",{class:"guide",x1:S(Ei(Mi)),x2:S(Ei(Mi)),y1:c.t,y2:l-c.b,stroke:"var(--border-strong)","stroke-width":1}):null,e(F,{w:h,inset:ai,rtl:b,gl:Ci,h:l}),e(G,{labels:i,x:Ei,h:l,w:h,every:Yi}),rs),e(_,{ids:this.keysId,summary:this.chartName("line"===t,Z),host:this.hostName,hint:!Bi}),Bi?e(W,{text:hi(void 0,"chart-line.empty",this.emptyMessage,"Nothing to plot yet.")}):null)))}static get style(){return'.sc-sui-chart-line-h{display:block}svg.sc-sui-chart-line{direction:ltr}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line{touch-action:pan-y}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line text.sc-sui-chart-line{user-select:none}.sc-sui-chart-line-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-line{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-line{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-line{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-line{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-line{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-line{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-line{position:relative}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line line.sc-sui-chart-line{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-line{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-line{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-line{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-line:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-line{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-line .swatch.sc-sui-chart-line{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-line .swatch.round.sc-sui-chart-line{border-radius:50%}.sui-chart-key.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line,.sui-chart-tip-row.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-line::before{content:\'\';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-line::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-line::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-line .mk.sc-sui-chart-line{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-line .mk.dot.sc-sui-chart-line,.swatch.glyph.sc-sui-chart-line .mk.solid.sc-sui-chart-line,.swatch.glyph.sc-sui-chart-line .mk.ring.sc-sui-chart-line{border-radius:50%}.swatch.glyph.sc-sui-chart-line .mk.solid.sc-sui-chart-line{background:var(--c)}.swatch.glyph.sc-sui-chart-line .mk.ring.sc-sui-chart-line{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-line .mk.diamond.sc-sui-chart-line{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-line .mk.tri.sc-sui-chart-line,.swatch.glyph.sc-sui-chart-line .mk.tri-down.sc-sui-chart-line{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-line .mk.tri.sc-sui-chart-line::after,.swatch.glyph.sc-sui-chart-line .mk.tri-down.sc-sui-chart-line::after{content:\'\';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-line .mk.tri-down.sc-sui-chart-line::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line{width:22px}.sui-chart-key.sc-sui-chart-line .swatch.glyph.line.sc-sui-chart-line::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line .mk.sc-sui-chart-line{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line .mk.tri.sc-sui-chart-line,.sui-chart-key.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line .mk.tri-down.sc-sui-chart-line{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-line .swatch.sc-sui-chart-line{opacity:0.35}.sui-chart-caption.sc-sui-chart-line{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-line{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-line{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-line{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-line .swatch.sc-sui-chart-line{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-line .lbl.sc-sui-chart-line{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-line b.sc-sui-chart-line{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:\'tnum\';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-line .sui-chart-tip-row.sc-sui-chart-line{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-line .sui-chart-tip-row.keyed.sc-sui-chart-line{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-line .sui-chart-tip-row.keyed.sc-sui-chart-line>b.sc-sui-chart-line{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-line .sui-chart-tip-row.sc-sui-chart-line>b.sc-sui-chart-line{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line .halo.sc-sui-chart-line{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-line:focus{outline:none}.sui-chart-keys.sc-sui-chart-line:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-line:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-line{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-line{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-line{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-line{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-line span.sc-sui-chart-line{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-line{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-line{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-line{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-line{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-line,.prose.sc-sui-chart-line{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-line text.sc-sui-chart-line{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-line{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-line .swatch.sc-sui-chart-line,.sui-chart-tip-row.sc-sui-chart-line .swatch.sc-sui-chart-line{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line,.sui-chart-tip-row.sc-sui-chart-line .swatch.glyph.sc-sui-chart-line{border:none}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line text.sc-sui-chart-line{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line .halo.sc-sui-chart-line{stroke:Canvas}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line line.sc-sui-chart-line{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line line[stroke*="--hairline"].sc-sui-chart-line{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line line[stroke*="--chart-axis"].sc-sui-chart-line,.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line line[stroke*="--border-strong"].sc-sui-chart-line,.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line line[stroke*="--accent-deep"].sc-sui-chart-line{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line circle.sc-sui-chart-line{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line rect.sc-sui-chart-line,.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line path.sc-sui-chart-line,.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line polyline.sc-sui-chart-line,.sui-chart-plot.sc-sui-chart-line svg.sc-sui-chart-line polygon.sc-sui-chart-line{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-line:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-line .sui-chart-ring.sc-sui-chart-line .sui-chart-ring-line.sc-sui-chart-line{stroke:Highlight;filter:none}svg.sc-sui-chart-line .sui-chart-ring.sc-sui-chart-line .sui-chart-ring-halo.sc-sui-chart-line{stroke:Canvas;filter:none}}'}},[518,"sui-chart-line",{heading:[1],subtitle:[1],caption:[1],labels:[16],series:[16],kind:[513],curve:[516],width:[2],height:[2],fixedSize:[516,"fixed-size"],money:[516],currency:[1],formatEnd:[16],every:[8],refLine:[16],markers:[513],emptyMessage:[1,"empty-message"],loading:[516],plain:[516],hoverIndex:[1026,"hover-index"],hiddenSeries:[32],hasHeaderEnd:[32],boxW:[32],keyed:[32],keyRow:[32],hostName:[32],setFocus:[64]}]),gi=di,xi=function(){"undefined"!=typeof customElements&&["sui-chart-line"].forEach((i=>{"sui-chart-line"===i&&(customElements.get(a(i))||customElements.define(a(i),di))}))};export{gi as SuiChartLine,xi as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartNavigator extends Components.SuiChartNavigator, HTMLElement {}
|
|
4
|
+
export const SuiChartNavigator: {
|
|
5
|
+
prototype: SuiChartNavigator;
|
|
6
|
+
new (): SuiChartNavigator;
|
|
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 t,H as a,c as i,h as s,a as r,t as o}from"./p-CeVlau-G.js";import{l as c,d as n,C as h,c as e}from"./p-BLK-elHV.js";import{h as u,w as g,d as p,m as v}from"./p-CFn_q23Q.js";import{d}from"./p-BHB1Wprj.js";import{c as l}from"./p-Bzu70qWq.js";import{a as x,l as f}from"./p-BuyjS5bS.js";const b=[.55,1],w=(t,a)=>!!t&&!!a&&t[0]===a[0]&&t[1]===a[1],m="var(--sui-chart-navigator-area, var(--viz-4))",k="var(--sui-chart-navigator-line, var(--viz-2))",y=t(class extends a{constructor(t){super(),!1!==t&&this.__registerHost(),this.suiWindowChange=i(this,"suiWindowChange",3)}get host(){return this}data=[];width=460;window;curve=!1;zoom=!1;heading;subtitle;caption;emptyMessage;loading=!1;suiWindowChange;hasHeaderEnd=!1;span;winEl;hostName={};stopHostName;strip;stripBox;drag;touches=new Map;pinch;armed=!1;async setFocus(){this.winEl?.focus()}componentWillLoad(){this.hasHeaderEnd=u(this.host,"header-end"),(this.data||[]).length>=2&&this.put(this.held(this.window))}onData(t,a){if((t||[]).length<2)return;const i=(a||[]).length-1;if(i<1)return this.span=void 0,void this.put(this.held(this.window));const s=this.fracOf(i);this.span=s,this.put(this.held(this.indicesOf(s,this.last)))}componentDidLoad(){this.armZoom()}connectedCallback(){d(this.host,(()=>this.winEl)),this.stopHostName?.(),this.stopHostName=g(this.host,(t=>{this.hostName=t})),this.armZoom()}armZoom(){this.zoom!==this.armed&&(this.zoom?this.arm():this.disarm(),this.armed=this.zoom)}arm(){this.host.addEventListener("wheel",this.onWheel,{passive:!1}),this.host.addEventListener("pointerdown",this.onTouchDown),this.host.addEventListener("pointermove",this.onTouchMove,{passive:!1}),this.host.addEventListener("pointerup",this.onTouchUp),this.host.addEventListener("pointercancel",this.onTouchUp)}disarm(){this.host.removeEventListener("wheel",this.onWheel),this.host.removeEventListener("pointerdown",this.onTouchDown),this.host.removeEventListener("pointermove",this.onTouchMove),this.host.removeEventListener("pointerup",this.onTouchUp),this.host.removeEventListener("pointercancel",this.onTouchUp),this.touches.clear(),this.pinch=void 0}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.endDrag(),this.armed&&this.disarm(),this.armed=!1}get step(){return 1/Math.max(this.data.length-1,1)}get minSpan(){return Math.min(1,2*this.step)}get last(){return Math.max((this.data||[]).length-1,0)}indicesOf(t,a){return[Math.round(t[0]*a),Math.round(t[1]*a)]}held(t,a=this.last){if(!t||t.length<2||!Number.isFinite(Number(t[0]))||!Number.isFinite(Number(t[1])))return this.indicesOf(b,a);let i=Math.min(Math.max(Math.round(Number(t[0])),0),a),s=Math.min(Math.max(Math.round(Number(t[1])),0),a);return s<i&&([i,s]=[s,i]),s===i&&a>0&&(s<a?s++:i--),[i,s]}fracOf(t){const a=this.window?this.held(this.window,t):void 0;return!this.span||a&&!w(this.indicesOf(this.span,t),a)?a&&t>0?[a[0]/t,a[1]/t]:b:this.span}get frac(){return this.fracOf(this.last)}put(t){w(t,this.window)||(this.window=t,this.suiWindowChange.emit(t))}commit(t,a){this.span=[t=Math.max(0,Math.min(t,1)),a=Math.max(t,Math.min(a,1))],this.put(this.indicesOf(this.span,this.last))}anchorAt(t,a){const[i,s]=this.frac,r=this.stripBox,o=!!r&&!!a&&r.contains(a),c=(o?r:this.host).getBoundingClientRect();if(!c.width)return(i+s)/2;const n=Math.max(0,Math.min((t-c.left)/c.width,1));return o?n:i+n*(s-i)}scaleWindow(t,a){const[i,s]=this.frac,r=s-i,o=Math.max(this.minSpan,Math.min(r*t,1));if(Math.abs(o-r)<1e-6)return!1;const c=Math.max(i,Math.min(a,s)),n=Math.max(0,Math.min(c-(r>0?(c-i)/r:.5)*o,1-o));return this.commit(n,n+o),!0}onWheel=t=>{if(!this.zoom)return;const a=1===t.deltaMode?16*t.deltaY:2===t.deltaMode?400*t.deltaY:t.deltaY;a&&this.scaleWindow(Math.exp(.002*a),this.anchorAt(t.clientX,t.target))&&t.preventDefault()};onTouchDown=t=>{if("touch"!==t.pointerType)return;if(this.touches.set(t.pointerId,t.clientX),2!==this.touches.size)return;this.endDrag();const a=Array.from(this.touches.values()),[i,s]=this.frac;this.pinch={d0:Math.max(Math.abs(a[0]-a[1]),1),span:s-i,anchor:this.anchorAt((a[0]+a[1])/2,t.target)}};onTouchMove=t=>{if("touch"!==t.pointerType||!this.touches.has(t.pointerId))return;if(this.touches.set(t.pointerId,t.clientX),2!==this.touches.size||!this.pinch)return;t.preventDefault();const a=Array.from(this.touches.values()),i=Math.max(Math.abs(a[0]-a[1]),1),[s,r]=this.frac,o=r-s;o>0&&this.scaleWindow(Math.max(this.minSpan,Math.min(this.pinch.span*(this.pinch.d0/i),1))/o,this.pinch.anchor)};onTouchUp=t=>{"touch"===t.pointerType&&(this.touches.delete(t.pointerId),this.touches.size<2&&(this.pinch=void 0))};onPointerDown=t=>{if(0!==t.button)return;t.preventDefault();const a=t.target.getAttribute("data-edge"),i=this.strip?this.strip.getBoundingClientRect():{width:0};this.drag={startX:t.clientX,w0:this.frac,width:i.width||1,edge:a},t.currentTarget.focus(),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.endDrag),document.addEventListener("pointercancel",this.endDrag)};onPointerMove=t=>{if(!this.drag)return;const{startX:a,w0:i,width:s,edge:r}=this.drag,o=(t.clientX-a)/s,c=this.step;if("lo"===r)this.commit(Math.min(Math.max(i[0]+o,0),i[1]-c),i[1]);else if("hi"===r)this.commit(i[0],Math.max(Math.min(i[1]+o,1),i[0]+c));else{const t=i[1]-i[0],a=Math.min(Math.max(i[0]+o,0),1-t);this.commit(a,a+t)}};endDrag=()=>{this.drag=void 0,document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.endDrag),document.removeEventListener("pointercancel",this.endDrag)};onKeyDown=t=>{const[a,i]=this.frac,s=this.step,r=i-a;let o;switch(t.key){case"PageDown":o=Math.max(a-r,0),this.commit(o,o+r);break;case"PageUp":o=Math.min(a+r,1-r),this.commit(o,o+r);break;case"ArrowLeft":case"ArrowDown":t.shiftKey?this.commit(a,Math.max(i-s,a+s)):(o=Math.max(a-s,0),this.commit(o,o+r));break;case"ArrowRight":case"ArrowUp":t.shiftKey?this.commit(a,Math.min(i+s,1)):(o=Math.min(a+s,1-r),this.commit(o,o+r));break;case"Home":this.commit(0,r);break;case"End":this.commit(1-r,1);break;default:return}t.preventDefault()};render(){const{data:t,width:a}=this,i=t.length,o=v(t,[0,0]),u=c(0,i-1,0,a),g=c(o[0],o[1],40,4),d=p(t,u,g),b=g(0),[w,y]=this.frac,[M,z]=this.window?this.held(this.window):this.indicesOf([w,y],this.last),C=!!(this.heading||this.subtitle||this.caption),T=this.curve?[s("path",{d:l(t,u,g)+` L ${a},${b} L 0,${b} Z`,fill:m,opacity:.8}),s("path",{d:l(t,u,g),fill:"none",stroke:k,"stroke-width":1.2})]:[s("polygon",{points:`${d} ${a},${b} 0,${b}`,fill:m,opacity:.8}),s("polyline",{points:d,fill:"none",stroke:k,"stroke-width":1.2})],j=i<2,D=[s("slot",{key:"f7205f63cf670b7bc7eb28c18966e4e759102442"}),this.loading?s("div",{class:"nav"},s(n,{height:44,label:x(void 0,"chart-navigator.loading",void 0,"Loading")})):j?s("div",{class:"nav"},s("div",{class:"sui-chart-plot",style:{height:"44px"}},s(h,{text:x(void 0,"chart-navigator.empty",this.emptyMessage,"Nothing to plot yet.")}))):s("div",{class:"nav"},s("div",{class:"strip",ref:t=>this.stripBox=t},s("svg",{ref:t=>this.strip=t,viewBox:`0 0 ${a} 44`,"aria-hidden":"true"},T),s("div",{class:"win",ref:t=>this.winEl=t,style:{left:+(100*w).toFixed(3)+"%",width:+(100*(y-w)).toFixed(3)+"%"},tabindex:"0",role:"slider","aria-label":this.hostName.labelledby?this.hostName.label:this.hostName.label||x(void 0,"chart-navigator.contextWindow",void 0,"Context window"),"aria-labelledby":this.hostName.labelledby,"aria-valuemin":1,"aria-valuemax":i,"aria-valuenow":M+1,"aria-valuetext":f(void 0,"chart-navigator.window",void 0,"Day {start} – {end} of {count}",{start:M+1,end:z+1,count:i}),"aria-orientation":"horizontal",onPointerDown:this.onPointerDown,onKeyDown:this.onKeyDown},s("span",{class:"grip lo","data-edge":"lo"}),s("span",{class:"grip hi","data-edge":"hi"}))),s("div",{class:"status"},s("span",{class:"prose"},f(void 0,"chart-navigator.status",void 0,"Window: day {start} – {end} of {count} · drag to pan, handles resize, arrow keys move",{start:M+1,end:z+1,count:i}))))];return s(r,{key:"89cb3caf2431243691b453b7f25d3978a053c0fd","aria-busy":this.loading?"true":null},C?s(e,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},D):D)}static get watchers(){return{data:[{onData:0}],zoom:[{armZoom:0}]}}static get style(){return".sc-sui-chart-navigator-h{display:block;font-family:var(--font-sans)}[zoom].sc-sui-chart-navigator-h{touch-action:pan-y}.nav.sc-sui-chart-navigator{margin-top:6px;padding:0 16px}.strip.sc-sui-chart-navigator{position:relative;direction:ltr}.strip.sc-sui-chart-navigator svg.sc-sui-chart-navigator{display:block;width:100%;height:auto;box-sizing:border-box;border-radius:6px;background:var(--surface-sunken);border:1px solid var(--hairline)}.win.sc-sui-chart-navigator{position:absolute;top:0;bottom:0;box-sizing:border-box;border:1.5px solid var(--accent);border-radius:6px;background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:grab;touch-action:none;user-select:none}.win.sc-sui-chart-navigator:active{cursor:grabbing}.win.sc-sui-chart-navigator:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.grip.sc-sui-chart-navigator{position:absolute;top:50%;width:5px;height:14px;border-radius:3px;background:var(--accent);cursor:ew-resize}.grip.lo.sc-sui-chart-navigator{left:-1px;transform:translate(-50%, -50%)}.grip.hi.sc-sui-chart-navigator{right:-1px;transform:translate(50%, -50%)}.grip.sc-sui-chart-navigator::after{content:'';position:absolute;inset:-6px -5px}.status.sc-sui-chart-navigator{font-size:10px;color:var(--ink-faint);margin-top:4px;font-feature-settings:'tnum'}@media (forced-colors: active){.strip.sc-sui-chart-navigator svg.sc-sui-chart-navigator{forced-color-adjust:none;background:Canvas;border-color:CanvasText}.strip.sc-sui-chart-navigator svg.sc-sui-chart-navigator path.sc-sui-chart-navigator,.strip.sc-sui-chart-navigator svg.sc-sui-chart-navigator polyline.sc-sui-chart-navigator,.strip.sc-sui-chart-navigator svg.sc-sui-chart-navigator polygon.sc-sui-chart-navigator{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.win.sc-sui-chart-navigator{border-color:Highlight}.grip.sc-sui-chart-navigator{background:ButtonText}}.sc-sui-chart-navigator-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-navigator{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-navigator{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-navigator{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-navigator{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-navigator{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-navigator{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-navigator{position:relative}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator line.sc-sui-chart-navigator{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-navigator{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-navigator{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-navigator{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-navigator:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-navigator{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-navigator .swatch.sc-sui-chart-navigator{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-navigator .swatch.round.sc-sui-chart-navigator{border-radius:50%}.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator,.sui-chart-tip-row.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-navigator::before{content:'';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-navigator::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-navigator::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-navigator .mk.sc-sui-chart-navigator{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-navigator .mk.dot.sc-sui-chart-navigator,.swatch.glyph.sc-sui-chart-navigator .mk.solid.sc-sui-chart-navigator,.swatch.glyph.sc-sui-chart-navigator .mk.ring.sc-sui-chart-navigator{border-radius:50%}.swatch.glyph.sc-sui-chart-navigator .mk.solid.sc-sui-chart-navigator{background:var(--c)}.swatch.glyph.sc-sui-chart-navigator .mk.ring.sc-sui-chart-navigator{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-navigator .mk.diamond.sc-sui-chart-navigator{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-navigator .mk.tri.sc-sui-chart-navigator,.swatch.glyph.sc-sui-chart-navigator .mk.tri-down.sc-sui-chart-navigator{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-navigator .mk.tri.sc-sui-chart-navigator::after,.swatch.glyph.sc-sui-chart-navigator .mk.tri-down.sc-sui-chart-navigator::after{content:'';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-navigator .mk.tri-down.sc-sui-chart-navigator::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator{width:22px}.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.line.sc-sui-chart-navigator::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator .mk.sc-sui-chart-navigator{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator .mk.tri.sc-sui-chart-navigator,.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator .mk.tri-down.sc-sui-chart-navigator{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-navigator .swatch.sc-sui-chart-navigator{opacity:0.35}.sui-chart-caption.sc-sui-chart-navigator{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-navigator{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-navigator{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-navigator{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-navigator .swatch.sc-sui-chart-navigator{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-navigator .lbl.sc-sui-chart-navigator{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-navigator b.sc-sui-chart-navigator{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-navigator .sui-chart-tip-row.sc-sui-chart-navigator{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-navigator .sui-chart-tip-row.keyed.sc-sui-chart-navigator{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-navigator .sui-chart-tip-row.keyed.sc-sui-chart-navigator>b.sc-sui-chart-navigator{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-navigator .sui-chart-tip-row.sc-sui-chart-navigator>b.sc-sui-chart-navigator{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator .halo.sc-sui-chart-navigator{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-navigator:focus{outline:none}.sui-chart-keys.sc-sui-chart-navigator:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-navigator:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-navigator{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-navigator{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-navigator{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-navigator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-navigator span.sc-sui-chart-navigator{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-navigator{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-navigator{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-navigator{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-navigator{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-navigator,.prose.sc-sui-chart-navigator{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-navigator text.sc-sui-chart-navigator{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-navigator{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-navigator .swatch.sc-sui-chart-navigator,.sui-chart-tip-row.sc-sui-chart-navigator .swatch.sc-sui-chart-navigator{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator,.sui-chart-tip-row.sc-sui-chart-navigator .swatch.glyph.sc-sui-chart-navigator{border:none}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator text.sc-sui-chart-navigator{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator .halo.sc-sui-chart-navigator{stroke:Canvas}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator line.sc-sui-chart-navigator{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator line[stroke*=\"--hairline\"].sc-sui-chart-navigator{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator line[stroke*=\"--chart-axis\"].sc-sui-chart-navigator,.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator line[stroke*=\"--border-strong\"].sc-sui-chart-navigator,.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator line[stroke*=\"--accent-deep\"].sc-sui-chart-navigator{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator circle.sc-sui-chart-navigator{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator rect.sc-sui-chart-navigator,.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator path.sc-sui-chart-navigator,.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator polyline.sc-sui-chart-navigator,.sui-chart-plot.sc-sui-chart-navigator svg.sc-sui-chart-navigator polygon.sc-sui-chart-navigator{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-navigator:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-navigator .sui-chart-ring.sc-sui-chart-navigator .sui-chart-ring-line.sc-sui-chart-navigator{stroke:Highlight;filter:none}svg.sc-sui-chart-navigator .sui-chart-ring.sc-sui-chart-navigator .sui-chart-ring-halo.sc-sui-chart-navigator{stroke:Canvas;filter:none}}"}},[774,"sui-chart-navigator",{data:[16],width:[2],window:[1040],curve:[516],zoom:[516],heading:[1],subtitle:[1],caption:[1],emptyMessage:[1,"empty-message"],loading:[516],hasHeaderEnd:[32],span:[32],hostName:[32],setFocus:[64]},void 0,{data:[{onData:0}],zoom:[{armZoom:0}]}]),M=y,z=function(){"undefined"!=typeof customElements&&["sui-chart-navigator"].forEach((t=>{"sui-chart-navigator"===t&&(customElements.get(o(t))||customElements.define(o(t),y))}))};export{M as SuiChartNavigator,z as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartPie extends Components.SuiChartPie, HTMLElement {}
|
|
4
|
+
export const SuiChartPie: {
|
|
5
|
+
prototype: SuiChartPie;
|
|
6
|
+
new (): SuiChartPie;
|
|
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,t as r}from"./p-CeVlau-G.js";import{o as c,s as h,f as o,c as p,d as u,C as n,t as l,e as d,H as x,h as g,S as f,a2 as v,L as m}from"./p-BLK-elHV.js";import{w as b,c as w,a as y,k,s as $,K as M,g as C,P as z}from"./p-CFn_q23Q.js";import{h as T,p as j}from"./p-DbF8ArKE.js";import{a as H}from"./p-BuyjS5bS.js";import{d as E}from"./p-BHB1Wprj.js";import{u as L}from"./p-U06fVoGD.js";import{d as B}from"./p-qut9RP2y.js";const D=2*Math.PI,F=(i,s,t,e,a,r)=>{const c=(t,e)=>`${i+t*Math.cos(e)} ${s+t*Math.sin(e)}`,h=r-a>Math.PI?1:0;return`M ${c(e,a)} A ${e} ${e} 0 ${h} 1 ${c(e,r)} L ${c(t,r)} A ${t} ${t} 0 ${h} 0 ${c(t,a)} Z`},S=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiHover=t(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;items=[];kind="donut";diameter=168;money=!1;currency="USD";centerLabel;emptyMessage;loading=!1;hoverIndex=-1;suiHover;hiddenLabels=[];keyed=!1;plotEl;keysId=L("sui-chart-keys");hostName={};stopHostName;layout={slices:[],total:0,cx:0,cy:0};boxW=0;besideFit={w:0,sig:""};drewBeside=!1;sig="";hasHeaderEnd=!1;stopResize;hatchId=L("sui-chart-hatch");componentWillLoad(){this.hasHeaderEnd=T(this.host,"header-end"),this.compute()}connectedCallback(){E(this.host,(()=>this.plotEl)),this.stopHostName?.(),this.stopHostName=b(this.host,(i=>{this.hostName=i})),this.stopResize||(this.stopResize=c(this.host,(i=>{this.boxW=i})))}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0}componentDidRender(){if(!this.drewBeside)return;const i=Math.round(this.host.getBoundingClientRect().width);i&&(Array.from(this.host.querySelectorAll(".sui-pie-row .lbl")).some((i=>i.scrollWidth>i.clientWidth+1&&i.clientWidth<96))||(this.besideFit={w:i,sig:this.sig}))}get empty(){const i=this.items||[];return 0===i.length||i.every((i=>!i.value))}compute(){const i=(this.items||[]).map(((i,s)=>({item:i,index:s}))).filter((({item:i})=>!this.hiddenLabels.includes(i.label))),s=i.reduce(((i,s)=>i+s.item.value),0),t=s||1,e=this.diameter/2,a=this.diameter/2,r=this.diameter/2-6,c="donut"===this.kind?.62*r:0,o=i.reduce(((i,s)=>Math.max(i,s.item.value)),0)||1;let p=-Math.PI/2;const u=i.map((({item:i,index:s})=>{const u=p,n=p+i.value/t*D;p=n;const l="nightingale"===this.kind?.16*r:c,d="nightingale"===this.kind?.35*r+.65*r*(i.value/o):r,x=u+.008,g=n-.008;return{index:s,item:i,a0:x,a1:g,mid:(u+n)/2,r0:l,r1:d,color:h(i,s),d:F(e,a,l,d,x,g)}}));this.layout={slices:u,total:s,cx:e,cy:a}}setHov(i){this.hoverIndex!==i&&(this.hoverIndex=i,this.suiHover.emit({index:i}))}point(i){this.keyed=!1,this.setHov(i)}async setFocus(){this.plotEl&&this.plotEl.hasAttribute("tabindex")&&this.plotEl.focus()}onKey=i=>{if(this.empty)return;const{slices:s}=this.layout,t=s.findIndex((i=>i.index===this.hoverIndex)),e=w(i,{rows:1,count:()=>s.length,flat:!0},t>=0?{s:0,i:t}:null,this.keyed);if(e){if(i.preventDefault(),"leave"===e)return i.stopPropagation(),this.keyed=!1,void this.setHov(-1);this.keyed=!0,this.setHov(s[e.i].index)}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHov(-1))};toggle(i){this.hiddenLabels=this.hiddenLabels.includes(i)?this.hiddenLabels.filter((s=>s!==i)):this.hiddenLabels.concat(i),this.compute()}fmt=i=>this.money?B(i,!1,this.currency):o(i);render(){const{slices:i,total:s,cx:t,cy:r}=this.layout,c=this.items||[];if(this.loading)return e(a,{"aria-busy":"true"},e(p,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},e(u,{height:this.diameter,label:H(void 0,"chart-pie.loading",void 0,"Loading")})));if(this.empty)return e(a,null,e(p,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},e("div",{class:"sui-chart-plot",style:{height:this.diameter+"px"}},e(n,{text:H(void 0,"chart-pie.empty",this.emptyMessage,"Nothing to plot yet.")}))));const o=$(this.hoverIndex,c.length),b=o>=0&&i.some((i=>i.index===o))?o:-1,w=b>=0?c[b]:void 0,T=y(this.heading,i.map((i=>`${i.item.label} ${this.fmt(i.item.value)}`)).join(", ")),E=this.keyed&&b>=0?i.find((i=>i.index===b)):void 0,L=E?`${this.keysId}-${b}`:void 0;let D=0,S=0;for(const i of c)D=Math.max(D,l(this.fmt(i.value),12)),S=Math.max(S,l(i.label,12));this.sig=`${this.diameter}|${this.money}|${this.currency}|${c.map((i=>i.label+":"+i.value)).join("|")}`;const I=this.boxW>0&&!(this.besideFit.w===this.boxW&&this.besideFit.sig===this.sig)&&this.boxW-m-this.diameter-18<71+D+Math.min(S,96);this.drewBeside=!I;const K=.62*(this.diameter/2-6),A=i=>2*Math.sqrt(Math.max(K*K-i*i,0))-8,G=w?w.value:s;let N=this.fmt(G);const W=Math.max(12,Math.min(17,A(14)/(.6*N.length)));l(N,W)>A(14)&&this.money&&(N=B(G,!0,this.currency));const R=w?w.label:H(void 0,"chart-pie.total",this.centerLabel,"Total"),V=l(R,9.5)<=A(16)||A(27)<50?d(R,A(16),9.5):d(R,A(27),9.5,2);return e(a,null,e(p,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},e("div",{class:{"sui-pie-body":!0,stacked:I},style:I?{flexDirection:"column",alignItems:"stretch"}:void 0},e("div",{class:"sui-pie-plot",style:{width:this.diameter+"px"}},e("svg",{width:this.diameter,height:this.diameter,...k(T,this.keysId,this.hostName,L),ref:i=>{this.plotEl=i},onKeyDown:this.onKey,onBlur:this.onBlur},c.length>4?e(x,{id:this.hatchId}):null,i.map((i=>{const s=b===i.index?3:0,a=s?F(t+s*Math.cos(i.mid),r+s*Math.sin(i.mid),i.r0,i.r1,i.a0,i.a1):i.d,c=i.item.accent?0:g(i.index);return[e("path",{key:i.item.label,class:"sui-pie-slice",d:a,fill:i.color,"aria-hidden":"true",onMouseEnter:()=>this.point(i.index),onMouseLeave:()=>this.setHov(-1)},e("title",null,`${i.item.label} · ${this.fmt(i.item.value)}`)),c?e("path",{key:i.item.label+"-h",class:"sui-pie-hatch",d:a,fill:`url(#${this.hatchId}-h${c})`,stroke:i.color,"stroke-width":1.5}):null]})),"donut"===this.kind?e("g",null,e("text",{"aria-hidden":"true",class:"sui-pie-center-value",x:t,y:r-2,"text-anchor":"middle",style:W<17?{fontSize:W+"px"}:void 0},d(N,A(14),W)[0]||N),V.map(((i,s)=>e("text",{"aria-hidden":"true",key:s+"",class:"sui-pie-center-label",x:t,y:r+14+11*s,"text-anchor":"middle"},i)))):null,E?e(M,{id:L,label:C(E.item.label,this.fmt(E.item.value),f(j(E.item.value,s))),path:F(t+3*Math.cos(E.mid),r+3*Math.sin(E.mid),E.r0,E.r1,E.a0,E.a1)}):null),e(z,{ids:this.keysId,summary:T,host:this.hostName,hint:!0})),e("div",{class:"sui-pie-legend"},c.map(((i,t)=>{const a=this.hiddenLabels.includes(i.label),r=h(i,t);return e("button",{key:i.label,type:"button",class:{"sui-pie-row":!0,dim:-1!==b&&b!==t,on:b===t,off:a},"aria-pressed":!a+"",onMouseEnter:()=>this.point(t),onMouseLeave:()=>this.setHov(-1),onFocus:()=>this.point(t),onBlur:()=>this.setHov(-1),onClick:()=>this.toggle(i.label)},e("span",{class:"swatch",style:i.accent||!g(t)?{background:r}:{background:`${v(g(t))}, ${r}`,boxShadow:"inset 0 0 0 1px "+r}}),e("span",{class:"lbl"},e("span",{class:"prose"},i.label)),e("b",{class:"val"},e("span",{class:"figure"},this.fmt(i.value))),e("span",{class:"pct"},e("span",{class:"figure"},a?"–":f(j(i.value,s)))))}))))))}static get watchers(){return{items:[{compute:0}],kind:[{compute:0}],diameter:[{compute:0}]}}static get style(){return".sui-pie-body.sc-sui-chart-pie{display:flex;align-items:center;gap:18px}.sui-pie-plot.sc-sui-chart-pie{position:relative;flex-shrink:0}.sui-pie-plot.sc-sui-chart-pie svg.sc-sui-chart-pie{display:block;overflow:visible;direction:ltr}.sui-pie-slice.sc-sui-chart-pie{cursor:pointer;transition:d var(--duration-fast) var(--ease-out), fill var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out)}.sui-pie-center-value.sc-sui-chart-pie{font:730 17px var(--font-sans);fill:var(--ink)}.sui-pie-center-label.sc-sui-chart-pie{font:600 9.5px var(--font-sans);fill:var(--ink-faint)}.sui-pie-legend.sc-sui-chart-pie{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.sui-pie-row.sc-sui-chart-pie{display:flex;align-items:center;gap:8px;width:calc(100% + 8px);box-sizing:border-box;margin:-2px -4px;padding:2px 4px;border:none;background:transparent;border-radius:4px;font-family:var(--font-sans);font-size:12px;color:var(--ink);text-align:start;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.sui-pie-body.stacked.sc-sui-chart-pie .sui-pie-plot.sc-sui-chart-pie{align-self:center}.sui-pie-hatch.sc-sui-chart-pie{pointer-events:none}.sui-pie-row.dim.sc-sui-chart-pie .swatch.sc-sui-chart-pie{opacity:0.45}.sui-pie-row.dim.sc-sui-chart-pie .val.sc-sui-chart-pie{color:var(--ink-muted)}.sui-pie-row.on.sc-sui-chart-pie .lbl.sc-sui-chart-pie{color:var(--ink);font-weight:650}.sui-pie-row.off.sc-sui-chart-pie{color:var(--ink-placeholder);text-decoration:line-through}.sui-pie-row.off.sc-sui-chart-pie .swatch.sc-sui-chart-pie{opacity:0.35}.sui-pie-row.sc-sui-chart-pie:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;box-shadow:var(--focus-shadow)}.sui-pie-row.sc-sui-chart-pie .swatch.sc-sui-chart-pie{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-pie-row.sc-sui-chart-pie .lbl.sc-sui-chart-pie{flex:1;min-width:0;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sui-pie-row.off.sc-sui-chart-pie .lbl.sc-sui-chart-pie{color:inherit}.sui-pie-row.sc-sui-chart-pie .val.sc-sui-chart-pie{font-weight:700;font-feature-settings:'tnum'}.sui-pie-row.sc-sui-chart-pie .pct.sc-sui-chart-pie{width:38px;text-align:end;color:var(--ink-faint);font-feature-settings:'tnum'}@media (forced-colors: active){.sui-pie-plot.sc-sui-chart-pie svg.sc-sui-chart-pie{forced-color-adjust:none}.sui-pie-slice.sc-sui-chart-pie{stroke:CanvasText}.sui-pie-center-value.sc-sui-chart-pie,.sui-pie-center-label.sc-sui-chart-pie{fill:CanvasText}.sui-pie-row.sc-sui-chart-pie .swatch.sc-sui-chart-pie{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}}.sc-sui-chart-pie-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-pie{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-pie{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-pie{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-pie{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-pie{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-pie{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-pie{position:relative}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie line.sc-sui-chart-pie{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-pie{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-pie{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-pie{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-pie:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-pie{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-pie .swatch.sc-sui-chart-pie{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-pie .swatch.round.sc-sui-chart-pie{border-radius:50%}.sui-chart-key.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie,.sui-chart-tip-row.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-pie::before{content:'';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-pie::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-pie::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-pie .mk.sc-sui-chart-pie{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-pie .mk.dot.sc-sui-chart-pie,.swatch.glyph.sc-sui-chart-pie .mk.solid.sc-sui-chart-pie,.swatch.glyph.sc-sui-chart-pie .mk.ring.sc-sui-chart-pie{border-radius:50%}.swatch.glyph.sc-sui-chart-pie .mk.solid.sc-sui-chart-pie{background:var(--c)}.swatch.glyph.sc-sui-chart-pie .mk.ring.sc-sui-chart-pie{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-pie .mk.diamond.sc-sui-chart-pie{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-pie .mk.tri.sc-sui-chart-pie,.swatch.glyph.sc-sui-chart-pie .mk.tri-down.sc-sui-chart-pie{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-pie .mk.tri.sc-sui-chart-pie::after,.swatch.glyph.sc-sui-chart-pie .mk.tri-down.sc-sui-chart-pie::after{content:'';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-pie .mk.tri-down.sc-sui-chart-pie::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie{width:22px}.sui-chart-key.sc-sui-chart-pie .swatch.glyph.line.sc-sui-chart-pie::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie .mk.sc-sui-chart-pie{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie .mk.tri.sc-sui-chart-pie,.sui-chart-key.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie .mk.tri-down.sc-sui-chart-pie{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-pie .swatch.sc-sui-chart-pie{opacity:0.35}.sui-chart-caption.sc-sui-chart-pie{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-pie{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-pie{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-pie{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-pie .swatch.sc-sui-chart-pie{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-pie .lbl.sc-sui-chart-pie{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-pie b.sc-sui-chart-pie{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-pie .sui-chart-tip-row.sc-sui-chart-pie{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-pie .sui-chart-tip-row.keyed.sc-sui-chart-pie{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-pie .sui-chart-tip-row.keyed.sc-sui-chart-pie>b.sc-sui-chart-pie{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-pie .sui-chart-tip-row.sc-sui-chart-pie>b.sc-sui-chart-pie{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie .halo.sc-sui-chart-pie{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-pie:focus{outline:none}.sui-chart-keys.sc-sui-chart-pie:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-pie:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-pie{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-pie{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-pie{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-pie{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-pie span.sc-sui-chart-pie{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-pie{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-pie{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-pie{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-pie{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-pie,.prose.sc-sui-chart-pie{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-pie text.sc-sui-chart-pie{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-pie{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-pie .swatch.sc-sui-chart-pie,.sui-chart-tip-row.sc-sui-chart-pie .swatch.sc-sui-chart-pie{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie,.sui-chart-tip-row.sc-sui-chart-pie .swatch.glyph.sc-sui-chart-pie{border:none}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie text.sc-sui-chart-pie{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie .halo.sc-sui-chart-pie{stroke:Canvas}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie line.sc-sui-chart-pie{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie line[stroke*=\"--hairline\"].sc-sui-chart-pie{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie line[stroke*=\"--chart-axis\"].sc-sui-chart-pie,.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie line[stroke*=\"--border-strong\"].sc-sui-chart-pie,.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie line[stroke*=\"--accent-deep\"].sc-sui-chart-pie{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie circle.sc-sui-chart-pie{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie rect.sc-sui-chart-pie,.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie path.sc-sui-chart-pie,.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie polyline.sc-sui-chart-pie,.sui-chart-plot.sc-sui-chart-pie svg.sc-sui-chart-pie polygon.sc-sui-chart-pie{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-pie:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-pie .sui-chart-ring.sc-sui-chart-pie .sui-chart-ring-line.sc-sui-chart-pie{stroke:Highlight;filter:none}svg.sc-sui-chart-pie .sui-chart-ring.sc-sui-chart-pie .sui-chart-ring-halo.sc-sui-chart-pie{stroke:Canvas;filter:none}}"}},[518,"sui-chart-pie",{heading:[1],subtitle:[1],caption:[1],items:[16],kind:[513],diameter:[2],money:[516],currency:[1],centerLabel:[1,"center-label"],emptyMessage:[1,"empty-message"],loading:[516],hoverIndex:[1026,"hover-index"],hiddenLabels:[32],keyed:[32],hostName:[32],layout:[32],boxW:[32],setFocus:[64]},void 0,{items:[{compute:0}],kind:[{compute:0}],diameter:[{compute:0}]}]),I=S,K=function(){"undefined"!=typeof customElements&&["sui-chart-pie"].forEach((i=>{"sui-chart-pie"===i&&(customElements.get(r(i))||customElements.define(r(i),S))}))};export{I as SuiChartPie,K as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartRadar extends Components.SuiChartRadar, HTMLElement {}
|
|
4
|
+
export const SuiChartRadar: {
|
|
5
|
+
prototype: SuiChartRadar;
|
|
6
|
+
new (): SuiChartRadar;
|
|
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 a,H as r,c as s,h as t,a as i,t as c}from"./p-CeVlau-G.js";import{o as e,t as h,e as o,s as d,Q as u,c as n,d as p,C as l,f as x,k as g,u as v,L as f,T as m,D as y,g as b,a3 as k}from"./p-BLK-elHV.js";import{h as w,w as M,m as C,c as T,a as j,k as z,s as H,K as E,b as L,P as B}from"./p-CFn_q23Q.js";import{a as R,l as G}from"./p-BuyjS5bS.js";import{d as D}from"./p-BHB1Wprj.js";import{u as K}from"./p-U06fVoGD.js";import{d as N}from"./p-qut9RP2y.js";const W=2*Math.PI,F=9.5,I=11,S=a(class extends r{constructor(a){super(),!1!==a&&this.__registerHost(),this.suiHover=s(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;axes=[];series=[];diameter=210;max;rings=4;money=!1;currency="USD";emptyMessage;loading=!1;hoverIndex=-1;suiHover;hiddenLabels=[];keyed=!1;keyRow=0;plotEl;keysId=K("sui-chart-keys");hostName={};stopHostName;layout={cx:0,cy:0,R:0,rings:[],axes:[],polys:[]};boxW=0;hasHeaderEnd=!1;stopResize;componentWillLoad(){this.hasHeaderEnd=w(this.host,"header-end"),this.compute()}connectedCallback(){D(this.host,(()=>this.plotEl)),this.stopHostName?.(),this.stopHostName=M(this.host,(a=>{this.hostName=a})),this.stopResize||(this.stopResize=e(this.host,(a=>{this.boxW=a})))}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0}compute(){const a=this.axes||[],r=this.series||[],s=a.length||1,t=this.diameter,i=t/2,c=t/2,e=t/2-26,u=a=>-Math.PI/2+a/s*W,n=a.map(((a,r)=>{const s=u(r),t=Math.cos(s);return{label:a,a:s,dx:t,dy:Math.sin(s),anchor:t>.3?"start":t<-.3?"end":"middle"}})),p=n.map((a=>Math.min((a=>{const r=a.split(" "),s=a=>{let s=1,t="";for(const i of r){const r=t?t+" "+i:i;h(r,F)<=a?t=r:(s++,t=i)}return s};let t=Math.max(...r.map((a=>h(a,F))));for(;s(t)>3;)t+=2;return t})(a.label),h(a.label,F)))),l=a=>(t/2+12-p[a])/Math.abs(n[a].dx)-8,x=n.map(((a,r)=>"middle"!==a.anchor&&l(r)<e));let g=e;n.forEach(((a,r)=>{"middle"!==a.anchor&&(g=Math.min(g,x[r]?(t/2+12+4-p[r])/Math.abs(a.dx):l(r)))})),g=Math.max(g,.6*e);const v=this.max||r.reduce(((a,r)=>C(r.data,[0,a])[1]),1),f=(a,r)=>{const s=u(a),t=r/v*g;return[i+t*Math.cos(s),c+t*Math.sin(s)]},m=Array.from({length:this.rings},((r,s)=>a.map(((a,r)=>f(r,v*(s+1)/this.rings).join(","))).join(" "))),y=Math.PI/s,b=n.map(((a,r)=>{const[s,e]=f(r,v),d=a.a,u=g+22,n=x[r]?i+g*a.dx-4*Math.sign(a.dx):i+(g+8)*a.dx,p=c+(g+8)*a.dy,l=[[i,c],[i+u*Math.cos(d-y),c+u*Math.sin(d-y)],[i+u*Math.cos(d),c+u*Math.sin(d)],[i+u*Math.cos(d+y),c+u*Math.sin(d+y)]].map((a=>a.join(","))).join(" "),m=o(a.label,"start"===a.anchor?t+12-n:"end"===a.anchor?n+12:2*Math.min(n,t-n)+24,F,3),b=c+g*a.dy,k=x[r]?a.dy>0?b+13:b-7-(m.length-1)*I:p-(a.dy>.3?-8:a.dy<-.3?3+(m.length-1)*I:(m.length-1)*I/2-3.5),w=m.reduce(((a,r)=>Math.max(a,h(r,F))),0),M="start"===a.anchor?n:"end"===a.anchor?n-w:n-w/2;return{label:a.label,x:s,y:e,lx:n,ly:k,anchor:a.anchor,lines:m,box:[M,k-9,M+w,k+(m.length-1)*I+3],hit:l}})),k=r.map(((a,r)=>{const s=a.data.map(((a,r)=>f(r,a)));return{series:a,index:r,color:d(a,r),points:s.map((a=>a.join(","))).join(" "),dots:s}}));this.layout={cx:i,cy:c,R:g,rings:m,axes:b,polys:k}}get empty(){return 0===(this.axes||[]).length||0===(this.series||[]).length}setHover(a){a!==this.hoverIndex&&(this.hoverIndex=a,this.suiHover.emit({index:a}))}onLeave=()=>this.setHover(-1);enter(a){this.keyed=!1,this.setHover(a)}async setFocus(){this.plotEl&&this.plotEl.hasAttribute("tabindex")&&this.plotEl.focus()}onKey=a=>{if(this.empty)return;const r=this.axes.length,s=this.layout.polys.filter((a=>!this.hiddenLabels.includes(a.series.label))).length,t=H(this.hoverIndex,r),i=T(a,{rows:s,count:()=>r},t>=0?{s:Math.min(this.keyRow,s-1),i:t}:null,this.keyed);if(i){if(a.preventDefault(),"leave"===i)return a.stopPropagation(),this.keyed=!1,void this.setHover(-1);this.keyRow=i.s,this.keyed=!0,this.setHover(i.i)}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHover(-1))};keyOf=a=>({line:!0,mark:"dot",dash:a.index>=4&&!a.series.accent?u:void 0});toggle=a=>{this.hiddenLabels=this.hiddenLabels.includes(a)?this.hiddenLabels.filter((r=>r!==a)):this.hiddenLabels.concat(a)};render(){const{cx:a,cy:r,rings:s,axes:c,polys:e}=this.layout;if(this.loading)return t(i,{"aria-busy":"true"},t(n,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},t(p,{height:this.diameter,label:R(void 0,"chart-radar.loading",void 0,"Loading")})));if(this.empty)return t(i,null,t(n,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd},t("div",{class:"sui-chart-plot",style:{height:this.diameter+"px"}},t(l,{text:R(void 0,"chart-radar.empty",this.emptyMessage,"Nothing to plot yet.")}))));const o=e.filter((a=>!this.hiddenLabels.includes(a.series.label))),d=H(this.hoverIndex,c.length),w=d>=0?c[d]:void 0,M=this.money?a=>N(a,!1,this.currency):x,C=Math.max(0,(this.boxW-f-this.diameter)/2),T=d<0?[]:[[c[d].box[0]-2,c[d].box[1]-2,c[d].box[2]+2,c[d].box[3]+2]].concat(o.filter((a=>a.dots[d])).map((a=>[a.dots[d][0]-6,a.dots[d][1]-6,a.dots[d][0]+6,a.dots[d][1]+6]))),D=[];if(d>=0){c.forEach(((a,r)=>{r!==d&&a.lines.forEach(((r,s)=>{const t=h(r,F),i=a.ly+s*I,c="start"===a.anchor?a.lx:"end"===a.anchor?a.lx-t:a.lx-t/2;D.push([c,i-7,c+t,i+2,s||1===a.lines.length?m:3*m])}))}));for(let s=1;s<8;s++){const t=a+(c[d].x-a)*s/8,i=r+(c[d].y-r)*s/8;D.push([t-3,i-3,t+3,i+3,y])}o.forEach((a=>{a.dots.forEach((([r,s],t)=>{t!==d&&D.push([r-4,s-4,r+4,s+4,b]);const[i,c]=a.dots[(t+1)%a.dots.length];for(let a=1;a<4;a++)D.push([r+(i-r)*a/4-3,s+(c-s)*a/4-3,r+(i-r)*a/4+3,s+(c-s)*a/4+3,k])}));const r=a.dots.map((a=>a[0])),s=a.dots.map((a=>a[1]));D.push([Math.min(...r),Math.min(...s),Math.max(...r),Math.max(...s),k])}))}const K=T.reduce(((a,r)=>[Math.min(a[0],r[0]),Math.min(a[1],r[1]),Math.max(a[2],r[2]),Math.max(a[3],r[3])]),[1/0,1/0,-1/0,-1/0]),W=j(this.heading,G(void 0,"chart-radar.across",void 0,"{series} across {axes}",{series:o.map((a=>a.series.label)).join(", "),axes:c.map((a=>a.label)).join(", ")})),S=Math.min(this.keyRow,o.length-1),V=o[S],$=this.keyed&&w&&V&&V.dots[d]?`${this.keysId}-${S}-${d}`:void 0;return t(i,null,t(n,{title:this.heading,subtitle:this.subtitle,caption:this.caption,hasHeaderEnd:this.hasHeaderEnd,legend:e.map((a=>({label:a.series.label,color:a.color,...this.keyOf(a)}))),hidden:this.hiddenLabels,onToggle:this.toggle},t("div",{class:"sui-radar-plot",style:{width:this.diameter+"px"}},t("svg",{width:this.diameter,height:this.diameter,...z(W,this.keysId,this.hostName,$),ref:a=>{this.plotEl=a},onKeyDown:this.onKey,onBlur:this.onBlur,onMouseLeave:this.onLeave},s.map(((a,r)=>t("polygon",{key:r+"",class:"sui-radar-ring",points:a,fill:"none",stroke:"var(--hairline)","stroke-width":1}))),c.map(((s,i)=>t("g",{key:s.label},t("line",{class:{"sui-radar-spoke":!0,hov:d===i},x1:a,y1:r,x2:s.x,y2:s.y,stroke:d===i?"var(--border)":"var(--hairline)"}),t("text",{"aria-hidden":"true",class:{"sui-radar-axis":!0,hov:d===i},x:s.lx,y:s.ly,"text-anchor":s.anchor},s.lines.length>1?s.lines.map(((a,r)=>t("tspan",{key:r+"",x:s.lx,dy:r?I:0},a))):s.lines[0])))),o.map(((a,r)=>t("g",{key:a.series.label,class:"sui-radar-series"},r<2?t("polygon",{points:a.points,fill:a.color,opacity:.12}):null,t("polygon",{points:a.points,fill:"none",stroke:a.color,"stroke-width":2,"stroke-linejoin":"round","stroke-linecap":"round","stroke-dasharray":a.index>=4&&!a.series.accent?u:void 0}),a.dots.map(((r,s)=>t("circle",{key:s+"",class:{"sui-radar-dot":!0,hov:d===s},cx:r[0],cy:r[1],r:d===s?3.2:2.4,fill:"var(--surface)",stroke:a.color,"stroke-width":1.5})))))),c.map(((a,r)=>t("polygon",{key:"hit-"+a.label,class:"sui-radar-hit",points:a.hit,fill:"transparent",onMouseEnter:()=>this.enter(r)}))),$?t(E,{id:$,circle:[V.dots[d][0],V.dots[d][1],6],label:L(c[d].label,o.length>1?V.series.label:void 0,M(V.series.data[d]??0))}):null),t(B,{ids:this.keysId,summary:W,host:this.hostName,hint:!0}),t(g,{show:!!w,box:K,keep:T,w:this.diameter,ht:this.diameter,title:w?w.label:"",room:[-C-v,0,this.diameter+C+v,this.diameter],avoid:D,rows:o.map((a=>({label:a.series.label,value:M(a.series.data[d]??0),color:a.color,...this.keyOf(a)})))}))))}static get watchers(){return{axes:[{compute:0}],series:[{compute:0}],diameter:[{compute:0}],max:[{compute:0}],rings:[{compute:0}]}}static get style(){return'.sui-radar-plot.sc-sui-chart-radar{position:relative;margin:0 auto}.sui-radar-plot.sc-sui-chart-radar svg.sc-sui-chart-radar{display:block;overflow:visible;direction:ltr}.sui-radar-axis.sc-sui-chart-radar{font:600 9.5px var(--font-sans);fill:var(--ink-muted)}.sui-radar-axis.hov.sc-sui-chart-radar{fill:var(--ink)}.sui-radar-series.sc-sui-chart-radar{pointer-events:none}.sui-radar-dot.sc-sui-chart-radar{transition:r var(--duration-fast) var(--ease-out)}.sui-radar-hit.sc-sui-chart-radar{cursor:default}@media (forced-colors: active){.sui-radar-plot.sc-sui-chart-radar svg.sc-sui-chart-radar{forced-color-adjust:none}.sui-radar-ring.sc-sui-chart-radar,.sui-radar-spoke.sc-sui-chart-radar{stroke:GrayText}.sui-radar-spoke.hov.sc-sui-chart-radar{stroke:CanvasText}.sui-radar-axis.sc-sui-chart-radar,.sui-radar-axis.hov.sc-sui-chart-radar{fill:CanvasText}.sui-radar-series.sc-sui-chart-radar polygon.sc-sui-chart-radar{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-radar-dot.sc-sui-chart-radar{stroke:CanvasText}}.sc-sui-chart-radar-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-radar{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-radar{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-radar{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-radar{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-radar{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-radar{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-radar{position:relative}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar line.sc-sui-chart-radar{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-radar{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-radar{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-radar{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-radar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-radar{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-radar .swatch.sc-sui-chart-radar{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-radar .swatch.round.sc-sui-chart-radar{border-radius:50%}.sui-chart-key.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar,.sui-chart-tip-row.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-radar::before{content:\'\';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-radar::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-radar::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-radar .mk.sc-sui-chart-radar{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-radar .mk.dot.sc-sui-chart-radar,.swatch.glyph.sc-sui-chart-radar .mk.solid.sc-sui-chart-radar,.swatch.glyph.sc-sui-chart-radar .mk.ring.sc-sui-chart-radar{border-radius:50%}.swatch.glyph.sc-sui-chart-radar .mk.solid.sc-sui-chart-radar{background:var(--c)}.swatch.glyph.sc-sui-chart-radar .mk.ring.sc-sui-chart-radar{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-radar .mk.diamond.sc-sui-chart-radar{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-radar .mk.tri.sc-sui-chart-radar,.swatch.glyph.sc-sui-chart-radar .mk.tri-down.sc-sui-chart-radar{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-radar .mk.tri.sc-sui-chart-radar::after,.swatch.glyph.sc-sui-chart-radar .mk.tri-down.sc-sui-chart-radar::after{content:\'\';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-radar .mk.tri-down.sc-sui-chart-radar::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar{width:22px}.sui-chart-key.sc-sui-chart-radar .swatch.glyph.line.sc-sui-chart-radar::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar .mk.sc-sui-chart-radar{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar .mk.tri.sc-sui-chart-radar,.sui-chart-key.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar .mk.tri-down.sc-sui-chart-radar{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-radar .swatch.sc-sui-chart-radar{opacity:0.35}.sui-chart-caption.sc-sui-chart-radar{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-radar{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-radar{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-radar{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-radar .swatch.sc-sui-chart-radar{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-radar .lbl.sc-sui-chart-radar{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-radar b.sc-sui-chart-radar{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:\'tnum\';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-radar .sui-chart-tip-row.sc-sui-chart-radar{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-radar .sui-chart-tip-row.keyed.sc-sui-chart-radar{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-radar .sui-chart-tip-row.keyed.sc-sui-chart-radar>b.sc-sui-chart-radar{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-radar .sui-chart-tip-row.sc-sui-chart-radar>b.sc-sui-chart-radar{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar .halo.sc-sui-chart-radar{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-radar:focus{outline:none}.sui-chart-keys.sc-sui-chart-radar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-radar:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-radar{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-radar{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-radar{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-radar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-radar span.sc-sui-chart-radar{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-radar{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-radar{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-radar{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-radar{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-radar,.prose.sc-sui-chart-radar{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-radar text.sc-sui-chart-radar{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-radar{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-radar .swatch.sc-sui-chart-radar,.sui-chart-tip-row.sc-sui-chart-radar .swatch.sc-sui-chart-radar{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar,.sui-chart-tip-row.sc-sui-chart-radar .swatch.glyph.sc-sui-chart-radar{border:none}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar text.sc-sui-chart-radar{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar .halo.sc-sui-chart-radar{stroke:Canvas}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar line.sc-sui-chart-radar{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar line[stroke*="--hairline"].sc-sui-chart-radar{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar line[stroke*="--chart-axis"].sc-sui-chart-radar,.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar line[stroke*="--border-strong"].sc-sui-chart-radar,.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar line[stroke*="--accent-deep"].sc-sui-chart-radar{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar circle.sc-sui-chart-radar{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar rect.sc-sui-chart-radar,.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar path.sc-sui-chart-radar,.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar polyline.sc-sui-chart-radar,.sui-chart-plot.sc-sui-chart-radar svg.sc-sui-chart-radar polygon.sc-sui-chart-radar{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-radar:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-radar .sui-chart-ring.sc-sui-chart-radar .sui-chart-ring-line.sc-sui-chart-radar{stroke:Highlight;filter:none}svg.sc-sui-chart-radar .sui-chart-ring.sc-sui-chart-radar .sui-chart-ring-halo.sc-sui-chart-radar{stroke:Canvas;filter:none}}'}},[518,"sui-chart-radar",{heading:[1],subtitle:[1],caption:[1],axes:[16],series:[16],diameter:[2],max:[2],rings:[2],money:[516],currency:[1],emptyMessage:[1,"empty-message"],loading:[516],hoverIndex:[1026,"hover-index"],hiddenLabels:[32],keyed:[32],keyRow:[32],hostName:[32],layout:[32],boxW:[32],setFocus:[64]},void 0,{axes:[{compute:0}],series:[{compute:0}],diameter:[{compute:0}],max:[{compute:0}],rings:[{compute:0}]}]),V=S,$=function(){"undefined"!=typeof customElements&&["sui-chart-radar"].forEach((a=>{"sui-chart-radar"===a&&(customElements.get(c(a))||customElements.define(c(a),S))}))};export{V as SuiChartRadar,$ as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartScatter extends Components.SuiChartScatter, HTMLElement {}
|
|
4
|
+
export const SuiChartScatter: {
|
|
5
|
+
prototype: SuiChartScatter;
|
|
6
|
+
new (): SuiChartScatter;
|
|
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 t,H as s,c as r,h as a,a as c,t as i}from"./p-CeVlau-G.js";import{o as e,p as h,c as o,L as n,d as u,b as l,v as p,Z as d,N as x,s as g,x as f,t as v,T as b,l as m,m as y,E as w,k,Y as C,K as z,C as T,a4 as M,P as j,J as H}from"./p-BLK-elHV.js";import{h as E,w as L,c as N,p as S,t as B,a as O,s as V,b as F,i as G,k as K,K as W,P,m as Y}from"./p-CFn_q23Q.js";import{d as $}from"./p-BHB1Wprj.js";import{u as I}from"./p-U06fVoGD.js";import{i as X}from"./p-GAnFXayY.js";import{l as D,a as q}from"./p-BuyjS5bS.js";const A=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.suiHover=r(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;series=[];width=440;height=210;fixedSize=!1;xLabel;yLabel;formatX;formatY;every="auto";emptyMessage;loading=!1;hoverIndex=-1;suiHover;hiddenSeries=[];hasHeaderEnd=!1;boxW=0;keyed=!1;plotEl;keysId=I("sui-chart-keys");hostName={};stopHostName;scale=1;stopResize;componentWillLoad(){this.hasHeaderEnd=E(this.host,"header-end")}connectedCallback(){$(this.host,(()=>this.plotEl)),this.stopHostName?.(),this.stopHostName=L(this.host,(t=>{this.hostName=t})),this.stopResize||(this.stopResize=e(this.host,(t=>{this.boxW=t})))}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0}async setFocus(){this.plotEl&&this.plotEl.hasAttribute("tabindex")&&this.plotEl.focus()}get plotW(){return h(!this.fixedSize,this.boxW,this.width)}keyOrder(){const t=[];(this.series||[]).forEach(((s,r)=>{this.hiddenSeries.includes(s.label)||t.push(r)}));const s=t.map((t=>{const s=this.series[t].points||[];return s.map(((t,s)=>s)).sort(((t,r)=>s[t].x-s[r].x||s[t].y-s[r].y))}));return{drawn:t,order:s}}onKey=t=>{if(this.empty)return;const{drawn:s,order:r}=this.keyOrder(),a=(t,a)=>this.series[s[t]].points[r[t][a]],c={rows:s.length,count:t=>r[t].length,near:(t,s)=>{const c=a(t.s,t.i);let i=0;return r[s].forEach(((t,r)=>{const e=a(s,r),h=a(s,i);(Math.abs(e.x-c.x)<Math.abs(h.x-c.x)||Math.abs(e.x-c.x)===Math.abs(h.x-c.x)&&Math.abs(e.y-c.y)<Math.abs(h.y-c.y))&&(i=r)})),i}},i=this.locate(this.hoverIndex),e=i?s.indexOf(i.s):-1,h=N(t,c,e>=0?{s:e,i:r[e].indexOf(i.p)}:null,this.keyed);if(h){if(t.preventDefault(),"leave"===h)return t.stopPropagation(),this.keyed=!1,void this.setHover(-1);this.scale=S(this.plotEl,this.plotW,this.scale),this.keyed=!0,this.setHover(this.flat(s[h.s],r[h.s][h.i]))}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHover(-1))};get empty(){const t=this.series||[];return 0===t.length||t.every((t=>!(t.points||[]).length))}locate(t){if(t<0)return null;let s=0;for(let r=0;r<this.series.length;r++){const a=this.series[r].points.length;if(t<s+a)return{s:r,p:t-s};s+=a}return null}flat(t,s){let r=0;for(let s=0;s<t;s++)r+=this.series[s].points.length;return r+s}setHover(t){if(t===this.hoverIndex)return;this.hoverIndex=t;const s=this.locate(t);this.suiHover.emit(s?{index:t,series:s.s,point:s.p}:{index:-1,series:-1,point:-1})}onOver=t=>{const s=t.target;if(!s||"circle"!==s.tagName)return;const r=t.currentTarget.getBoundingClientRect();r.width>0&&(this.scale=r.width/this.plotW),this.keyed=!1,this.setHover(this.flat(Number(s.getAttribute("data-s")),Number(s.getAttribute("data-p"))))};onOut=t=>{const s=t.target;if(!s||"circle"!==s.tagName||this.hoverIndex<0)return;const r=t.relatedTarget;r&&"circle"===r.tagName&&this.host.contains(r)||this.setHover(-1)};onLeave=()=>this.setHover(-1);toggle=t=>{this.hiddenSeries=B(this.hiddenSeries,t);const s=this.locate(this.hoverIndex);s&&this.series[s.s]&&this.hiddenSeries.includes(this.series[s.s].label)&&this.setHover(-1)};chartName(t){const s=t.join(", "),r=this.xLabel,a=this.yLabel;let c;return c=r&&a?t.length?D(void 0,"chart-scatter.scatterOfPlotting",void 0,"scatter chart of {series}, plotting {y} against {x}",{series:s,x:r,y:a}):D(void 0,"chart-scatter.scatterPlotting",void 0,"scatter chart, plotting {y} against {x}",{x:r,y:a}):t.length?D(void 0,"chart-scatter.scatterOf",void 0,"scatter chart of {series}",{series:s}):q(void 0,"chart-scatter.scatter",void 0,"scatter chart"),O(this.heading,c)}render(){const{series:t,hiddenSeries:s}=this,r=this.plotW,i=this.height,e=X(this.host);if(this.loading)return a(c,{"aria-busy":"true"},a(o,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?r+n:void 0,hasHeaderEnd:this.hasHeaderEnd},a(u,{height:i,label:q(void 0,"chart-scatter.loading",void 0,"Loading"),rtl:e})));const h=this.empty,E=t.map((t=>!s.includes(t.label)));let L,N,S=0;for(let s=0;s<t.length;s++)if(S+=t[s].points.length,E[s])for(const r of t[s].points)L=L?[Math.min(L[0],r.x),Math.max(L[1],r.x)]:[r.x,r.x],N=N?[Math.min(N[0],r.y),Math.max(N[1],r.y)]:[r.y,r.y];L=L||Y([]),N=N||Y([]);const B=l(L[0],L[1],5),O=l(N[0],N[1],4),$=this.formatX||d,I=this.formatY||d,A=p(O.ticks.map(I)),[J,Q]=H(r,0,e,A),R=m(B.lo,B.hi,J,Q),U=m(O.lo,O.hi,i-j.b,j.t),Z=x(this.every,B.ticks.map($),r-A-j.r,!1),_=t.map(g),tt=h?null:this.locate(V(this.hoverIndex,S)),st=tt&&E[tt.s]?t[tt.s].points[tt.p]:void 0,rt=t.filter(((t,s)=>E[s])).map((t=>t.label)),at=[],ct=[],it=t.map(((t,s)=>s>=4&&!t.color&&!t.accent));for(let s=0;s<t.length;s++){if(!E[s])continue;const r=t[s].points;for(let t=0;t<r.length;t++){const c=r[t],i=!!st&&tt.s===s&&tt.p===t;at.push(a("circle",{key:s+"-"+t,class:"pt","data-s":s+"","data-p":t+"",cx:R(c.x),cy:U(c.y),r:c.r||4,fill:_[s],opacity:c.r?.55:.85,"fill-opacity":it[s]?.25:1,stroke:i?"var(--brand)":it[s]?_[s]:"var(--surface)","stroke-width":i||it[s]?2:1}));const e=(c.r||4)+1;i||ct.push([R(c.x)-e,U(c.y)-e,R(c.x)+e,U(c.y)+e,b,M])}}const et=this.scale,ht=st?(st.r||4)+2:0,ot=f(r,i,et,0,0,e,A),nt=B.ticks.filter(((t,s)=>s%Z==0)).map((t=>{const s=v($(t),9.5)/2;return[R(t)-s,i-13,R(t)+s,i-4,b]})),ut=st?y(ct.concat(w(O.ticks,U,I,r,e,!1,A),nt),et).concat(ot.avoid):[],lt=this.keyed&&st?`${this.keysId}-${this.hoverIndex}`:void 0,pt=lt&&st?F(st.name||t[tt.s].label,st.name&&rt.length>1?t[tt.s].label:void 0,D(void 0,"chart-scatter.coords",void 0,"{x} {xValue}, {y} {yValue}",{x:this.xLabel||"x",xValue:$(st.x),y:this.yLabel||"y",yValue:I(st.y)})):"";return a(c,null,a(o,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?r+n:void 0,hasHeaderEnd:this.hasHeaderEnd,legend:t.map(((t,s)=>({label:t.label,color:_[s],round:!0,mark:it[s]?"ring":void 0}))),hidden:s,onToggle:this.toggle},a("div",{class:"sui-chart-plot"},st?a(k,{show:!0,box:[(R(st.x)-ht)*et,(U(st.y)-ht)*et,(R(st.x)+ht)*et,(U(st.y)+ht)*et],w:r*et,ht:i*et,title:st.name||t[tt.s].label,rows:[{label:this.xLabel||"x",value:$(st.x)},{label:this.yLabel||"y",value:I(st.y)}],avoid:ut,area:ot.area,room:ot.room}):null,a("svg",{viewBox:`0 0 ${r} ${i}`,...h?G(this.chartName(rt),this.keysId,this.hostName):K(this.chartName(rt),this.keysId,this.hostName,lt),ref:t=>{this.plotEl=t},onKeyDown:this.onKey,onBlur:this.onBlur,onMouseOver:this.onOver,onMouseOut:this.onOut,onMouseLeave:this.onLeave},a(C,{ticks:O.ticks,y:U,w:r,rtl:e,gl:A,fmt:I,bare:h}),a(z,{w:r,rtl:e,gl:A,h:i}),h?null:B.ticks.map(((t,s)=>s%Z==0?a("text",{"aria-hidden":"true",key:t+"",x:R(t),y:i-6,"text-anchor":"middle",style:{font:"600 9.5px var(--font-sans)",fill:"var(--ink-faint)",fontFeatureSettings:"'tnum'"}},$(t)):null)),h?null:at,lt&&st?a(W,{id:lt,label:pt,circle:[R(st.x),U(st.y),(st.r||4)+4]}):null),a(P,{ids:this.keysId,summary:this.chartName(rt),host:this.hostName,hint:!h}),h?a(T,{text:q(void 0,"chart-scatter.empty",this.emptyMessage,"Nothing to plot yet.")}):null)))}static get style(){return'.sc-sui-chart-scatter-h{display:block}svg.sc-sui-chart-scatter{direction:ltr}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter text.sc-sui-chart-scatter{user-select:none}.sui-chart-plot.sc-sui-chart-scatter circle.pt.sc-sui-chart-scatter{cursor:pointer}.sc-sui-chart-scatter-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-scatter{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-scatter{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-scatter{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-scatter{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-scatter{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-scatter{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-scatter{position:relative}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter line.sc-sui-chart-scatter{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-scatter{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-scatter{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-scatter{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-scatter:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-scatter{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-scatter .swatch.sc-sui-chart-scatter{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-scatter .swatch.round.sc-sui-chart-scatter{border-radius:50%}.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter,.sui-chart-tip-row.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-scatter::before{content:\'\';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-scatter::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-scatter::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-scatter .mk.sc-sui-chart-scatter{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-scatter .mk.dot.sc-sui-chart-scatter,.swatch.glyph.sc-sui-chart-scatter .mk.solid.sc-sui-chart-scatter,.swatch.glyph.sc-sui-chart-scatter .mk.ring.sc-sui-chart-scatter{border-radius:50%}.swatch.glyph.sc-sui-chart-scatter .mk.solid.sc-sui-chart-scatter{background:var(--c)}.swatch.glyph.sc-sui-chart-scatter .mk.ring.sc-sui-chart-scatter{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-scatter .mk.diamond.sc-sui-chart-scatter{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-scatter .mk.tri.sc-sui-chart-scatter,.swatch.glyph.sc-sui-chart-scatter .mk.tri-down.sc-sui-chart-scatter{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-scatter .mk.tri.sc-sui-chart-scatter::after,.swatch.glyph.sc-sui-chart-scatter .mk.tri-down.sc-sui-chart-scatter::after{content:\'\';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-scatter .mk.tri-down.sc-sui-chart-scatter::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter{width:22px}.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.line.sc-sui-chart-scatter::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter .mk.sc-sui-chart-scatter{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter .mk.tri.sc-sui-chart-scatter,.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter .mk.tri-down.sc-sui-chart-scatter{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-scatter .swatch.sc-sui-chart-scatter{opacity:0.35}.sui-chart-caption.sc-sui-chart-scatter{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-scatter{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-scatter{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-scatter{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-scatter .swatch.sc-sui-chart-scatter{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-scatter .lbl.sc-sui-chart-scatter{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-scatter b.sc-sui-chart-scatter{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:\'tnum\';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-scatter .sui-chart-tip-row.sc-sui-chart-scatter{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-scatter .sui-chart-tip-row.keyed.sc-sui-chart-scatter{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-scatter .sui-chart-tip-row.keyed.sc-sui-chart-scatter>b.sc-sui-chart-scatter{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-scatter .sui-chart-tip-row.sc-sui-chart-scatter>b.sc-sui-chart-scatter{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter .halo.sc-sui-chart-scatter{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-scatter:focus{outline:none}.sui-chart-keys.sc-sui-chart-scatter:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-scatter:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-scatter{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-scatter{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-scatter{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-scatter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-scatter span.sc-sui-chart-scatter{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-scatter{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-scatter{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-scatter{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-scatter{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-scatter,.prose.sc-sui-chart-scatter{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-scatter text.sc-sui-chart-scatter{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-scatter{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-scatter .swatch.sc-sui-chart-scatter,.sui-chart-tip-row.sc-sui-chart-scatter .swatch.sc-sui-chart-scatter{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter,.sui-chart-tip-row.sc-sui-chart-scatter .swatch.glyph.sc-sui-chart-scatter{border:none}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter text.sc-sui-chart-scatter{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter .halo.sc-sui-chart-scatter{stroke:Canvas}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter line.sc-sui-chart-scatter{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter line[stroke*="--hairline"].sc-sui-chart-scatter{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter line[stroke*="--chart-axis"].sc-sui-chart-scatter,.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter line[stroke*="--border-strong"].sc-sui-chart-scatter,.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter line[stroke*="--accent-deep"].sc-sui-chart-scatter{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter circle.sc-sui-chart-scatter{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter rect.sc-sui-chart-scatter,.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter path.sc-sui-chart-scatter,.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter polyline.sc-sui-chart-scatter,.sui-chart-plot.sc-sui-chart-scatter svg.sc-sui-chart-scatter polygon.sc-sui-chart-scatter{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-scatter:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-scatter .sui-chart-ring.sc-sui-chart-scatter .sui-chart-ring-line.sc-sui-chart-scatter{stroke:Highlight;filter:none}svg.sc-sui-chart-scatter .sui-chart-ring.sc-sui-chart-scatter .sui-chart-ring-halo.sc-sui-chart-scatter{stroke:Canvas;filter:none}}'}},[518,"sui-chart-scatter",{heading:[1],subtitle:[1],caption:[1],series:[16],width:[2],height:[2],fixedSize:[516,"fixed-size"],xLabel:[1,"x-label"],yLabel:[1,"y-label"],formatX:[16],formatY:[16],every:[8],emptyMessage:[1,"empty-message"],loading:[516],hoverIndex:[1026,"hover-index"],hiddenSeries:[32],hasHeaderEnd:[32],boxW:[32],keyed:[32],hostName:[32],setFocus:[64]}]),J=A,Q=function(){"undefined"!=typeof customElements&&["sui-chart-scatter"].forEach((t=>{"sui-chart-scatter"===t&&(customElements.get(i(t))||customElements.define(i(t),A))}))};export{J as SuiChartScatter,Q as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartSynced extends Components.SuiChartSynced, HTMLElement {}
|
|
4
|
+
export const SuiChartSynced: {
|
|
5
|
+
prototype: SuiChartSynced;
|
|
6
|
+
new (): SuiChartSynced;
|
|
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 t,H as s,c as e,h as i,a as r,t as n}from"./p-CeVlau-G.js";const o=["SUI-CHART-LINE","SUI-CHART-BAR","SUI-CHART-CANDLESTICK","SUI-CHART-COMBO","SUI-CHART-WATERFALL","SUI-CHART-SCATTER","SUI-CHART-RADAR","SUI-CHART-HEATMAP","SUI-CHART-TREEMAP","SUI-CHART-PIE"],c=o.join(",").toLowerCase(),h=t=>1===t.nodeType&&(o.includes(t.tagName)||!!t.querySelector?.(c)),a=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.suiHover=e(this,"suiHover",7)}get host(){return this}hoverIndex=-1;suiHover;wired=new Set;stopObserving;connectedCallback(){this.wirePanels(),this.stopObserving=this.observePanels()}disconnectedCallback(){this.stopObserving?.(),this.stopObserving=void 0;for(const t of this.wired)t.removeEventListener("suiHover",this.onPanelHover);this.wired.clear()}componentDidLoad(){this.wirePanels(),-1!==this.hoverIndex&&this.broadcast(this.hoverIndex)}ownPanels(){return Array.from(this.host.querySelectorAll(c)).filter((t=>t.closest("sui-chart-synced")===this.host))}wirePanels(){const t=new Set(this.ownPanels());for(const s of this.wired)t.has(s)||(s.removeEventListener("suiHover",this.onPanelHover),this.wired.delete(s));for(const s of t)this.wired.has(s)||(s.addEventListener("suiHover",this.onPanelHover),this.wired.add(s))}observePanels(){if("undefined"==typeof MutationObserver)return;const t=t=>Array.from(t.addedNodes).some(h)||Array.from(t.removedNodes).some(h),s=new MutationObserver((s=>{s&&s.length>0&&!s.some(t)||(this.wirePanels(),-1!==this.hoverIndex&&this.broadcast(this.hoverIndex))}));return s.observe(this.host,{childList:!0,subtree:!0}),()=>s.disconnect()}onPanelHover=t=>{if(t.target!==t.currentTarget)return;t.stopPropagation();const s=t.detail,e=s?s.index:-1;e!==this.hoverIndex&&(this.hoverIndex=e,this.suiHover.emit({index:e}))};broadcast(t){for(const s of this.ownPanels())s.hoverIndex!==t&&(s.hoverIndex=t)}render(){return i(r,{key:"63d4e0f0f0b1fa508239af4f2112ef163ea8c1ca"},i("slot",{key:"059fb791c647c4b64b9208df860694f9589c8bfe"}))}static get watchers(){return{hoverIndex:[{broadcast:0}]}}static get style(){return".sc-sui-chart-synced-h{display:flex;flex-direction:column;gap:14px;font-family:var(--font-sans)}"}},[774,"sui-chart-synced",{hoverIndex:[1026,"hover-index"]},void 0,{hoverIndex:[{broadcast:0}]}]),d=a,f=function(){"undefined"!=typeof customElements&&["sui-chart-synced"].forEach((t=>{"sui-chart-synced"===t&&(customElements.get(n(t))||customElements.define(n(t),a))}))};export{d as SuiChartSynced,f as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartTreemap extends Components.SuiChartTreemap, HTMLElement {}
|
|
4
|
+
export const SuiChartTreemap: {
|
|
5
|
+
prototype: SuiChartTreemap;
|
|
6
|
+
new (): SuiChartTreemap;
|
|
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 t,H as s,c as e,h as r,a as i,t as a}from"./p-CeVlau-G.js";import{o as c,p as h,f as o,c as p,L as u,d as n,C as l,t as m,e as d,S as x,T as v,a3 as g,$ as f,k as b}from"./p-BLK-elHV.js";import{h as w,p as k}from"./p-DbF8ArKE.js";import{w as y,r as z,l as T,m as C}from"./p-DDyzuLfq.js";import{w as j,c as H,p as E,a as M,k as S,s as $,K as L,g as W,r as B,P as D}from"./p-CFn_q23Q.js";import{a as K}from"./p-BuyjS5bS.js";import{d as F}from"./p-BHB1Wprj.js";import{u as G}from"./p-U06fVoGD.js";import{d as N}from"./p-qut9RP2y.js";const V=["var(--viz-1)","color-mix(in oklab, var(--viz-1) 55%, var(--viz-3))","var(--viz-2)","var(--viz-3)","color-mix(in oklab, var(--viz-3) 45%, var(--viz-4))","var(--viz-4)"],q=[["--viz-1","--viz-1",1],["--viz-1","--viz-3",.55],["--viz-2","--viz-2",1],["--viz-3","--viz-3",1],["--viz-3","--viz-4",.45],["--viz-4","--viz-4",1]],I=["--viz-1","--viz-2","--viz-3","--viz-4","--accent","--ink","--ink-on-dark","--surface"],P=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.suiHover=e(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;items=[];width=460;height=220;fixedSize=!1;money=!1;currency="USD";emptyMessage;loading=!1;hoverIndex=-1;suiHover;keyed=!1;keysId=G("sui-chart-keys");hostName={};stopHostName;tiles=[];total=0;boxW=0;themeTick=0;hasHeaderEnd=!1;inks=null;stopTheme;svg;scale=1;stopResize;loaded=!1;componentWillLoad(){this.hasHeaderEnd=w(this.host,"header-end"),this.compute()}connectedCallback(){F(this.host,(()=>this.svg)),this.stopHostName?.(),this.stopHostName=j(this.host,(t=>{this.hostName=t})),this.stopResize||(this.stopResize=c(this.host,(t=>{this.boxW=t}))),this.loaded&&this.followTheme(!0)}componentDidLoad(){this.loaded=!0,this.followTheme()}followTheme(t=!1){this.stopTheme?.(),this.stopTheme=y(this.host,(()=>{this.themeTick++})),t&&Promise.resolve().then((()=>{this.host.isConnected&&this.themeTick++}))}componentWillRender(){this.inks=z(this.host,I)}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0,this.stopTheme?.(),this.stopTheme=void 0}get plotW(){return h(!this.fixedSize,this.boxW,this.width)}async setFocus(){this.svg&&this.svg.hasAttribute("tabindex")&&this.svg.focus()}onKey=t=>{if(this.empty)return;const s=this.tiles,e=s.findIndex((t=>t.idx===this.hoverIndex)),r=H(t,{rows:1,count:()=>s.length,flat:!0},e>=0?{s:0,i:e}:null,this.keyed);if(r){if(t.preventDefault(),"leave"===r)return t.stopPropagation(),this.keyed=!1,void this.setHover(-1);this.scale=E(this.svg,this.plotW,this.scale),this.keyed=!0,this.setHover(s[r.i].idx)}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHover(-1))};compute(){const t=this.items||[];this.total=t.reduce(((t,s)=>t+s.value),0),this.tiles=function(t,s,e,r,i){const a=[];let c=t.map(((t,s)=>({it:t,idx:s}))).sort(((t,s)=>s.it.value-t.it.value));const h=c.reduce(((t,s)=>t+s.it.value),0)||1;let o=0,p=0,u=r,n=i,l=h;for(;c.length;){const t=u>=n,s=t?n:u;let e=[c[0]],r=c[0].it.value;const i=(t,e)=>{const r=u*n/l,i=e*r/s;let a=0;for(let s=0;s<t.length;s++){const e=t[s].it.value*r/i,c=Math.max(i/e,e/i);c>a&&(a=c)}return a};let h=1;for(;h<c.length;){const t=e.concat(c[h]);if(!(i(t,r+c[h].it.value)<=i(e,r)))break;e=t,r+=c[h].it.value,h++}const m=u*n/l,d=r*m/s;let x=0;e.forEach((s=>{const e=s.it.value*m/d;a.push(t?{it:s.it,idx:s.idx,x:o,y:p+x,w:d,h:e}:{it:s.it,idx:s.idx,x:o+x,y:p,w:e,h:d}),x+=e})),t?(o+=d,u-=d):(p+=d,n-=d),l-=r,c=c.slice(e.length)}return a}(t,0,0,this.plotW,this.height).map((t=>({...t,fill:t.it.color||(t.it.accent?"var(--accent)":V[Math.min(t.idx,V.length-1)]),light:t.idx>=3&&!t.it.accent||!!t.it.accent,showText:t.h>34})))}get empty(){const t=this.items||[];return 0===t.length||t.every((t=>!t.value))}setHover(t){t!==this.hoverIndex&&(this.hoverIndex=t,this.suiHover.emit({index:t}))}enter=t=>{const s=this.svg?this.svg.getBoundingClientRect():{width:0};s.width>0&&(this.scale=s.width/this.plotW),this.keyed=!1,this.setHover(t)};onLeave=()=>this.setHover(-1);fmt=t=>this.money?N(t,!0,this.currency):o(t);exact=t=>this.money?N(t,!1,this.currency):o(t);render(){const t=this.plotW;if(this.loading)return r(i,{"aria-busy":"true"},r(p,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?t+u:void 0,hasHeaderEnd:this.hasHeaderEnd},r(n,{height:this.height,label:K(void 0,"chart-treemap.loading",void 0,"Loading")})));if(this.empty)return r(i,null,r(p,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?t+u:void 0,hasHeaderEnd:this.hasHeaderEnd},r("div",{class:"sui-chart-plot",style:{height:this.height+"px"}},r(l,{text:K(void 0,"chart-treemap.empty",this.emptyMessage,"Nothing to plot yet.")}))));const s=$(this.hoverIndex,(this.items||[]).length),e=s>=0?this.tiles.find((t=>t.idx===s)):void 0,a=M(this.heading,(this.items||[]).map((t=>`${t.label} ${this.exact(t.value)}`)).join(", ")),c=this.inks,h=this.scale,o=[],w=this.keyed&&e?`${this.keysId}-${s}`:void 0;return r(i,null,r(p,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?t+u:void 0,hasHeaderEnd:this.hasHeaderEnd},r("div",{class:"sui-tree-plot"},r("svg",{ref:t=>this.svg=t,width:"100%",viewBox:`0 0 ${t} ${this.height}`,...S(a,this.keysId,this.hostName,w),onKeyDown:this.onKey,onBlur:this.onBlur,onMouseLeave:this.onLeave},this.tiles.map((t=>{const e=t.w-18,i=t.showText&&e>=m("xxxxxxx",10.5)?d(t.it.label,e,10.5,Math.max(1,Math.floor((t.h-39)/13)+1)):[],a=this.fmt(t.it.value),p=`${a} · ${x(k(t.it.value,this.total))}`,u=t.showText?m(p,9.5)<=e?p:m(a,9.5)<=e?a:"":"",n=i.length>0||!!u,l=t.y+17+(i.length?13*i.length+1:0);t.idx!==s&&(i.forEach(((s,e)=>o.push([(t.x+8)*h,(t.y+9+13*e)*h,(t.x+10+m(s,10.5))*h,(t.y+20+13*e)*h,v]))),u&&o.push([(t.x+8)*h,(l-8)*h,(t.x+10+m(u,9.5))*h,(l+3)*h,v])),t.idx!==s&&o.push([t.x*h,t.y*h,(t.x+t.w)*h,(t.y+t.h)*h,g]);const b=q[Math.min(t.idx,q.length-1)],y=t.it.color&&c&&n?f(this.host,t.it.color):"",z=c&&n&&(y||!t.it.color)?T(y||(t.it.accent?c["--accent"]:C(c[b[0]],c[b[1]],b[2])),[c["--ink"],c["--ink-on-dark"],c["--surface"]]):void 0;return r("g",{key:t.it.label,class:{"sui-tree-tile":!0,dim:-1!==s&&s!==t.idx,hov:s===t.idx,light:t.light},onMouseEnter:()=>this.enter(t.idx)},r("rect",{x:t.x+1.5,y:t.y+1.5,width:t.w-3,height:t.h-3,rx:4,fill:t.fill,stroke:s!==t.idx||w?"var(--surface)":"var(--accent)","stroke-width":s!==t.idx||w?1:2}),i.map(((s,e)=>r("text",{"aria-hidden":"true",key:e+"",class:"sui-tree-label",x:t.x+9,y:t.y+17+13*e,style:z?{fill:z.ink}:void 0},s))),u?r("text",{"aria-hidden":"true",class:"sui-tree-sub",x:t.x+9,y:l,style:z?{fill:z.ink,opacity:z.sub+""}:void 0},u):null)})),w&&e?r(L,{id:w,box:B([e.x,e.y,e.x+e.w,e.y+e.h],1),r:5,label:W(e.it.label,this.exact(e.it.value),x(k(e.it.value,this.total)))}):null),r(D,{ids:this.keysId,summary:a,host:this.hostName,hint:!0}),r(b,{show:!!e,box:e?[e.x*h,e.y*h,(e.x+e.w)*h,(e.y+e.h)*h]:[],w:t*h,ht:this.height*h,title:e?e.it.label:"",avoid:o,rows:e?[{label:K(void 0,"chart-treemap.value",void 0,"Value"),value:this.exact(e.it.value),color:e.fill},{label:K(void 0,"chart-treemap.share",void 0,"Share"),value:x(k(e.it.value,this.total))}]:[]}))))}static get watchers(){return{items:[{compute:0}],width:[{compute:0}],height:[{compute:0}],boxW:[{compute:0}],fixedSize:[{compute:0}]}}static get style(){return".sui-tree-plot.sc-sui-chart-treemap{position:relative}.sui-tree-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap{display:block;width:100%;height:auto;overflow:visible;direction:ltr}.sui-tree-tile.sc-sui-chart-treemap{cursor:default}.sui-tree-tile.sc-sui-chart-treemap rect.sc-sui-chart-treemap{transition:opacity var(--duration-fast) var(--ease-out), stroke var(--duration-fast) var(--ease-out)}.sui-tree-tile.dim.sc-sui-chart-treemap rect.sc-sui-chart-treemap{opacity:0.55}.sui-tree-label.sc-sui-chart-treemap{font:650 10.5px var(--font-sans);fill:var(--ink-on-dark);pointer-events:none}.sui-tree-sub.sc-sui-chart-treemap{font:600 9.5px var(--font-sans);fill:var(--ink-inverse-muted);font-feature-settings:'tnum';pointer-events:none}.sui-tree-tile.light.sc-sui-chart-treemap .sui-tree-label.sc-sui-chart-treemap{fill:var(--brand)}.sui-tree-tile.light.sc-sui-chart-treemap .sui-tree-sub.sc-sui-chart-treemap{fill:var(--ink-muted)}@media (forced-colors: active){.sui-tree-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap{forced-color-adjust:none}.sui-tree-tile.sc-sui-chart-treemap rect.sc-sui-chart-treemap{stroke:CanvasText}}.sc-sui-chart-treemap-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-treemap{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-treemap{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-treemap{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-treemap{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-treemap{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-treemap{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-treemap{position:relative}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap line.sc-sui-chart-treemap{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-treemap{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-treemap{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-treemap{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-treemap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-treemap{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-treemap .swatch.sc-sui-chart-treemap{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-treemap .swatch.round.sc-sui-chart-treemap{border-radius:50%}.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap,.sui-chart-tip-row.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-treemap::before{content:'';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-treemap::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-treemap::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-treemap .mk.sc-sui-chart-treemap{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-treemap .mk.dot.sc-sui-chart-treemap,.swatch.glyph.sc-sui-chart-treemap .mk.solid.sc-sui-chart-treemap,.swatch.glyph.sc-sui-chart-treemap .mk.ring.sc-sui-chart-treemap{border-radius:50%}.swatch.glyph.sc-sui-chart-treemap .mk.solid.sc-sui-chart-treemap{background:var(--c)}.swatch.glyph.sc-sui-chart-treemap .mk.ring.sc-sui-chart-treemap{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-treemap .mk.diamond.sc-sui-chart-treemap{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-treemap .mk.tri.sc-sui-chart-treemap,.swatch.glyph.sc-sui-chart-treemap .mk.tri-down.sc-sui-chart-treemap{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-treemap .mk.tri.sc-sui-chart-treemap::after,.swatch.glyph.sc-sui-chart-treemap .mk.tri-down.sc-sui-chart-treemap::after{content:'';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-treemap .mk.tri-down.sc-sui-chart-treemap::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap{width:22px}.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.line.sc-sui-chart-treemap::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap .mk.sc-sui-chart-treemap{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap .mk.tri.sc-sui-chart-treemap,.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap .mk.tri-down.sc-sui-chart-treemap{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-treemap .swatch.sc-sui-chart-treemap{opacity:0.35}.sui-chart-caption.sc-sui-chart-treemap{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-treemap{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-treemap{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-treemap{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-treemap .swatch.sc-sui-chart-treemap{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-treemap .lbl.sc-sui-chart-treemap{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-treemap b.sc-sui-chart-treemap{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-treemap .sui-chart-tip-row.sc-sui-chart-treemap{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-treemap .sui-chart-tip-row.keyed.sc-sui-chart-treemap{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-treemap .sui-chart-tip-row.keyed.sc-sui-chart-treemap>b.sc-sui-chart-treemap{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-treemap .sui-chart-tip-row.sc-sui-chart-treemap>b.sc-sui-chart-treemap{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap .halo.sc-sui-chart-treemap{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-treemap:focus{outline:none}.sui-chart-keys.sc-sui-chart-treemap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-treemap:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-treemap{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-treemap{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-treemap{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-treemap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-treemap span.sc-sui-chart-treemap{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-treemap{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-treemap{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-treemap{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-treemap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-treemap,.prose.sc-sui-chart-treemap{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-treemap text.sc-sui-chart-treemap{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-treemap{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-treemap .swatch.sc-sui-chart-treemap,.sui-chart-tip-row.sc-sui-chart-treemap .swatch.sc-sui-chart-treemap{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap,.sui-chart-tip-row.sc-sui-chart-treemap .swatch.glyph.sc-sui-chart-treemap{border:none}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap text.sc-sui-chart-treemap{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap .halo.sc-sui-chart-treemap{stroke:Canvas}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap line.sc-sui-chart-treemap{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap line[stroke*=\"--hairline\"].sc-sui-chart-treemap{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap line[stroke*=\"--chart-axis\"].sc-sui-chart-treemap,.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap line[stroke*=\"--border-strong\"].sc-sui-chart-treemap,.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap line[stroke*=\"--accent-deep\"].sc-sui-chart-treemap{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap circle.sc-sui-chart-treemap{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap rect.sc-sui-chart-treemap,.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap path.sc-sui-chart-treemap,.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap polyline.sc-sui-chart-treemap,.sui-chart-plot.sc-sui-chart-treemap svg.sc-sui-chart-treemap polygon.sc-sui-chart-treemap{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-treemap:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-treemap .sui-chart-ring.sc-sui-chart-treemap .sui-chart-ring-line.sc-sui-chart-treemap{stroke:Highlight;filter:none}svg.sc-sui-chart-treemap .sui-chart-ring.sc-sui-chart-treemap .sui-chart-ring-halo.sc-sui-chart-treemap{stroke:Canvas;filter:none}}"}},[518,"sui-chart-treemap",{heading:[1],subtitle:[1],caption:[1],items:[16],width:[2],height:[2],fixedSize:[516,"fixed-size"],money:[516],currency:[1],emptyMessage:[1,"empty-message"],loading:[516],hoverIndex:[1026,"hover-index"],keyed:[32],hostName:[32],tiles:[32],total:[32],boxW:[32],themeTick:[32],setFocus:[64]},void 0,{items:[{compute:0}],width:[{compute:0}],height:[{compute:0}],boxW:[{compute:0}],fixedSize:[{compute:0}]}]),R=P,U=function(){"undefined"!=typeof customElements&&["sui-chart-treemap"].forEach((t=>{"sui-chart-treemap"===t&&(customElements.get(a(t))||customElements.define(a(t),P))}))};export{R as SuiChartTreemap,U as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChartWaterfall extends Components.SuiChartWaterfall, HTMLElement {}
|
|
4
|
+
export const SuiChartWaterfall: {
|
|
5
|
+
prototype: SuiChartWaterfall;
|
|
6
|
+
new (): SuiChartWaterfall;
|
|
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 a,H as t,c as s,h as r,a as i,t as e}from"./p-CeVlau-G.js";import{P as l,o as c,p as h,a as o,c as n,L as u,d as f,b as p,v as w,f as d,l as g,I as x,j as v,x as b,N as m,m as y,g as k,T as M,D as z,E as C,F as T,k as j,Y as H,K as E,X as B,C as D,t as L,a5 as N,J as F}from"./p-BLK-elHV.js";import{h as G,w as I,c as K,p as P,s as S,a as W,i as X,k as $,K as A,r as R,P as U}from"./p-CFn_q23Q.js";import{d as V}from"./p-BHB1Wprj.js";import{u as q}from"./p-U06fVoGD.js";import{i as Y}from"./p-GAnFXayY.js";import{l as J,a as O}from"./p-BuyjS5bS.js";import{d as Q}from"./p-qut9RP2y.js";const _="var(--sui-chart-waterfall-increase, var(--viz-2))",Z="var(--sui-chart-waterfall-decrease, var(--accent))",aa="var(--sui-chart-waterfall-total, var(--viz-1))",ta=a(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.suiHover=s(this,"suiHover",7)}get host(){return this}heading;subtitle;caption;items=[];width=460;height=210;fixedSize=!1;money=!1;currency="USD";every="auto";emptyMessage;loading=!1;hoverIndex=-1;suiHover;hasHeaderEnd=!1;boxW=0;keyed=!1;plotEl;keysId=q("sui-chart-keys");hostName={};stopHostName;scale=1;rtl=!1;gutter=l.l;stopResize;componentWillLoad(){this.hasHeaderEnd=G(this.host,"header-end")}connectedCallback(){V(this.host,(()=>this.plotEl)),this.stopHostName?.(),this.stopHostName=I(this.host,(a=>{this.hostName=a})),this.stopResize||(this.stopResize=c(this.host,(a=>{this.boxW=a})))}disconnectedCallback(){this.stopHostName?.(),this.stopHostName=void 0,this.stopResize?.(),this.stopResize=void 0}async setFocus(){this.plotEl&&this.plotEl.hasAttribute("tabindex")&&this.plotEl.focus()}get plotW(){return h(!this.fixedSize,this.boxW,this.width)}onKey=a=>{if(this.empty)return;const t=this.items.length,s=S(this.hoverIndex,t),r=K(a,{rows:1,count:()=>t},s>=0?{s:0,i:s}:null,this.keyed);if(r){if(a.preventDefault(),"leave"===r)return a.stopPropagation(),this.keyed=!1,void this.setHover(-1);this.scale=P(this.plotEl,this.plotW,this.scale),this.keyed=!0,this.setHover(r.i)}};onBlur=()=>{this.keyed&&(this.keyed=!1,this.setHover(-1))};get empty(){const a=this.items||[];return 0===a.length||a.every((a=>!a.value))}onMove=a=>{if(this.empty)return;const t=this.plotW,s=a.currentTarget.getBoundingClientRect();s.width>0&&(this.scale=s.width/t),this.keyed=!1,this.setHover(S(o(a,t,this.items.length,!0,0,this.rtl,this.gutter),this.items.length))};onLeave=()=>this.setHover(-1);setHover(a){a!==this.hoverIndex&&(this.hoverIndex=a,this.suiHover.emit({index:a}))}chartName(a){return W(this.heading,a.length?J(void 0,"chart-waterfall.waterfallOf",void 0,"waterfall chart of {series}",{series:a.join(", ")}):O(void 0,"chart-waterfall.waterfall",void 0,"waterfall chart"))}render(){const{items:a,money:t}=this,s=this.plotW,e=this.height,c=this.rtl=Y(this.host),h=a.length,o={increase:O(void 0,"chart-waterfall.increase",void 0,"Increase"),decrease:O(void 0,"chart-waterfall.decrease",void 0,"Decrease"),total:O(void 0,"chart-waterfall.total",void 0,"Total"),running:O(void 0,"chart-waterfall.running",void 0,"Running")},G=[{label:o.increase,color:_},{label:o.decrease,color:Z},{label:o.total,color:aa}];if(this.loading)return r(i,{"aria-busy":"true"},r(n,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?s+u:void 0,hasHeaderEnd:this.hasHeaderEnd},r(f,{height:e,label:O(void 0,"chart-waterfall.loading",void 0,"Loading"),rtl:c})));const I=this.empty;let K=0,P=!1,W=0,V=0;const q=Array(h),ta=Array(h);for(let t=0;t<h;t++){const s=a[t];s.total?(q[t]=0,ta[t]=P?K:s.value,K=ta[t]):(q[t]=K,ta[t]=K+s.value,K+=s.value),P=!0,W=Math.min(W,q[t],ta[t]),V=Math.max(V,q[t],ta[t])}const{ticks:sa,lo:ra,hi:ia}=p(W,V,4),ea=t?a=>Q(a,!0,this.currency):d,la=ea,ca=t?a=>Q(a,!1,this.currency):d,ha=this.gutter=w(sa.map(ea)),[oa,na]=F(s,0,c,ha),ua=g(0,h,oa,na),fa=g(ra,ia,e-l.b,l.t),pa=(s-ha-l.r)/h,wa=Math.min(.6*pa,44),da=I?-1:S(this.hoverIndex,h),ga=a.map((a=>a.label)),xa=t=>a[t].total?ta[t]:a[t].value,va=a.map(((a,t)=>la(xa(t)))),ba=a.map(((a,t)=>{const s=ua(t)+pa/2,r=fa(Math.max(q[t],ta[t]));return[s-wa/2,r,s+wa/2,Math.max(fa(Math.min(q[t],ta[t])),r+1.5)]})),ma=a.map(((a,t)=>t)).sort(((a,t)=>Math.abs(xa(t))-Math.abs(xa(a)))),ya=ma.length?.05*Math.abs(xa(ma[0])):0,ka=a=>[a[0]-1,a[1],a[2]+1,a[3]],Ma=(a,t)=>Math.max(0,Math.min(a[2],t[2])-Math.max(a[0],t[0]))*Math.max(0,Math.min(a[3],t[3])-Math.max(a[1],t[1])),za=(a,t)=>{const s=[],r=[],i=[];let c=0;for(const h of ma){const o=ba[h],n=(o[0]+o[2])/2,u=L(va[h],9)/2+1,f=o[1]-4,p=o[3]+11,w=o[0]+u,d=o[2]-u,g=t?[[n,f,!1],[w,f,!1],[d,f,!1],[n,p,!1],[w,p,!1],[d,p,!1]]:[[n,f,!1],[n,p,!1],[w,f,!1],[d,f,!1],[w,p,!1],[d,p,!1]];Math.abs(xa(h))>=ya&&g.push([n,f,!0],[n,p,!0]);for(const[t,o,n]of g){const f=[t-u,o-8,t+u,o+2];if(!(f[1]<-8||f[3]>e-l.b||i.some((t=>N(a?[t[0]-a,t[1]-1,t[2]+a,t[3]+1]:t,f)))||ba.some(((a,t)=>(!n||t===h)&&Ma(a,n?f:ka(f))>1)))){i.push(f),s[h]=o,r[h]=t,n&&c++;break}}}return{spots:s,figX:r,shown:s.filter((a=>null!=a)).length,crossed:c}},{spots:Ca,figX:Ta}=[za(4,!0),za(4,!1),za(0,!0),za(0,!1)].reduce(((a,t)=>t.shown>a.shown||t.shown===a.shown&&t.crossed<a.crossed?t:a)),ja=[],Ha=[];for(let t=0;t<h;t++){const s=a[t],i=ua(t)+pa/2,e=fa(q[t]),l=fa(ta[t]),c=Math.min(e,l),h=Math.abs(e-l),o=s.total?aa:s.value>=0?_:Z;ja.push(r("g",{key:s.label,class:"step"},r("g",{opacity:-1===da||da===t?1:.45},t>0?r("line",{x1:ua(t-1)+pa/2+wa/2,x2:i-wa/2,y1:x(fa(ta[t-1])),y2:x(fa(s.total?ta[t]:q[t])),stroke:"var(--border-strong)","stroke-width":1,"stroke-dasharray":"3 2"}):null,r("rect",{x:i-wa/2,y:c,width:wa,height:Math.max(h,1.5),rx:2.5,fill:o})))),null!=Ca[t]&&Ha.push(r("text",{"aria-hidden":"true",key:s.label,class:"halo","data-step":t,x:Ta[t],y:Ca[t],"text-anchor":"middle",style:v("650 9px var(--font-sans)",da===t)},va[t]))}const Ea=da>=0?a[da]:void 0,Ba=this.scale,Da=b(s,e,Ba,0,0,c,ha),La=m(this.every,ga,s-ha-l.r,!0),Na=a=>{const t=L(va[a],9)/2;return[Ta[a]-t-2,Ca[a]-9,Ta[a]+t+2,Ca[a]+4]},Fa=da<0?[]:ba[da],Ga=da<0?[]:[[Fa[0]-2,Fa[1]-2,Fa[2]+2,Fa[3]+2],...null!=Ca[da]?[Na(da)]:[]],Ia=da<0?[]:y(ba.filter(((a,t)=>t!==da)).map((a=>a.concat(k))).concat(a.map(((a,t)=>t)).filter((a=>a!==da&&null!=Ca[a])).map((a=>Na(a).concat(M))),[[Fa[0],0,Fa[2],e-l.b,z]],C(sa,fa,ea,s,c,!1,ha),T(ga,(a=>ua(a)+pa/2),e,La,s)),Ba).concat(Da.avoid),Ka=this.keyed&&Ea?`${this.keysId}-${da}`:void 0,Pa=Ea?Ea.total?J(void 0,"chart-waterfall.pointTotal",void 0,"{label}: total {value}",{label:Ea.label,value:ca(ta[da])}):Ea.value>=0?J(void 0,"chart-waterfall.pointUp",void 0,"{label}: increase of {value}, running total {running}",{label:Ea.label,value:ca(Ea.value),running:ca(ta[da])}):J(void 0,"chart-waterfall.pointDown",void 0,"{label}: decrease of {value}, running total {running}",{label:Ea.label,value:ca(-Ea.value),running:ca(ta[da])}):"",Sa=Ea?[{label:Ea.total?o.total:Ea.value>=0?o.increase:o.decrease,color:Ea.total?aa:Ea.value>=0?_:Z,value:ca(Ea.total?ta[da]:Ea.value)},...Ea.total?[]:[{label:o.running,value:ca(ta[da])}]]:[];return r(i,null,r(n,{title:this.heading,subtitle:this.subtitle,caption:this.caption,w:this.fixedSize?s+u:void 0,hasHeaderEnd:this.hasHeaderEnd,legend:G},r("div",{class:"sui-chart-plot"},r(j,{show:da>=0,box:[(ua(da)+pa/2-wa/2)*Ba,0,(ua(da)+pa/2+wa/2)*Ba,e*Ba],keep:y(Ga,Ba),w:s*Ba,ht:e*Ba,title:Ea?Ea.label:"",rows:Sa,avoid:Ia,area:Da.area,room:Da.room}),r("svg",{viewBox:`0 0 ${s} ${e}`,...I?X(this.chartName(a.map((a=>a.label))),this.keysId,this.hostName):$(this.chartName(a.map((a=>a.label))),this.keysId,this.hostName,Ka),ref:a=>{this.plotEl=a},onKeyDown:this.onKey,onBlur:this.onBlur,onPointerMove:this.onMove,onPointerLeave:this.onLeave},r(H,{ticks:sa,y:fa,w:s,rtl:c,gl:ha,fmt:ea,bare:I}),I?null:ja,I?null:r("g",{class:"figs"},Ha),r(E,{w:s,rtl:c,gl:ha,h:e}),r(B,{labels:ga,x:a=>ua(a)+pa/2,h:e,w:s,every:La}),Ka?r(A,{id:Ka,label:Pa,box:R(ba[da])}):null),r(U,{ids:this.keysId,summary:this.chartName(a.map((a=>a.label))),host:this.hostName,hint:!I}),I?r(D,{text:O(void 0,"chart-waterfall.empty",this.emptyMessage,"Nothing to plot yet.")}):null)))}static get style(){return'.sc-sui-chart-waterfall-h{display:block}svg.sc-sui-chart-waterfall{direction:ltr}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall{touch-action:pan-y}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall text.sc-sui-chart-waterfall{user-select:none}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall g.sc-sui-chart-waterfall{transition:opacity var(--duration-fast) var(--ease-out)}.sc-sui-chart-waterfall-h{display:block;font-family:var(--font-sans)}.sui-chart-frame.sc-sui-chart-waterfall{position:relative;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.sui-chart-frame.plain.sc-sui-chart-waterfall{background:transparent;border:none;padding:0}.sui-chart-head.sc-sui-chart-waterfall{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sui-chart-titles.sc-sui-chart-waterfall{flex:1;min-width:0}.sui-chart-title.sc-sui-chart-waterfall{font-size:13.5px;font-weight:700}.sui-chart-subtitle.sc-sui-chart-waterfall{font-size:11.5px;color:var(--ink-faint);margin-top:1px}.sui-chart-plot.sc-sui-chart-waterfall{position:relative}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall{display:block;width:100%;height:auto;overflow:visible}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall line.sc-sui-chart-waterfall{shape-rendering:crispEdges}.sui-chart-legend.sc-sui-chart-waterfall{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.sui-chart-key.sc-sui-chart-waterfall{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:2px 4px;margin:0 -4px;font:600 11.5px var(--font-sans);color:var(--ink-muted);cursor:default}.sui-chart-key.toggle.sc-sui-chart-waterfall{cursor:pointer}.sui-chart-key.toggle.sc-sui-chart-waterfall:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}.sui-chart-key.off.sc-sui-chart-waterfall{color:var(--ink-placeholder);text-decoration:line-through}.sui-chart-key.sc-sui-chart-waterfall .swatch.sc-sui-chart-waterfall{width:9px;height:9px;border-radius:2px;flex-shrink:0}.sui-chart-key.sc-sui-chart-waterfall .swatch.round.sc-sui-chart-waterfall{border-radius:50%}.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall,.sui-chart-tip-row.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall{position:relative;width:16px;height:10px;border-radius:0}.swatch.glyph.line.sc-sui-chart-waterfall::before{content:\'\';position:absolute;left:1px;right:1px;top:4px;border-top:2px solid var(--c)}.swatch.glyph.ls-dot.sc-sui-chart-waterfall::before{border-top-style:dotted}.swatch.glyph.ls-dash.sc-sui-chart-waterfall::before{border-top-style:dashed}.swatch.glyph.sc-sui-chart-waterfall .mk.sc-sui-chart-waterfall{position:absolute;left:4.5px;top:1.5px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--c);background:var(--surface)}.swatch.glyph.sc-sui-chart-waterfall .mk.dot.sc-sui-chart-waterfall,.swatch.glyph.sc-sui-chart-waterfall .mk.solid.sc-sui-chart-waterfall,.swatch.glyph.sc-sui-chart-waterfall .mk.ring.sc-sui-chart-waterfall{border-radius:50%}.swatch.glyph.sc-sui-chart-waterfall .mk.solid.sc-sui-chart-waterfall{background:var(--c)}.swatch.glyph.sc-sui-chart-waterfall .mk.ring.sc-sui-chart-waterfall{background:color-mix(in srgb, var(--c) 25%, var(--surface))}.swatch.glyph.sc-sui-chart-waterfall .mk.diamond.sc-sui-chart-waterfall{transform:rotate(45deg) scale(0.85)}.swatch.glyph.sc-sui-chart-waterfall .mk.tri.sc-sui-chart-waterfall,.swatch.glyph.sc-sui-chart-waterfall .mk.tri-down.sc-sui-chart-waterfall{left:4px;top:1px;width:8px;height:8px;border:none}.swatch.glyph.sc-sui-chart-waterfall .mk.tri.sc-sui-chart-waterfall::after,.swatch.glyph.sc-sui-chart-waterfall .mk.tri-down.sc-sui-chart-waterfall::after{content:\'\';position:absolute;inset:0;background:var(--c);clip-path:polygon(50% 0, 100% 100%, 0 100%)}.swatch.glyph.sc-sui-chart-waterfall .mk.tri-down.sc-sui-chart-waterfall::after{clip-path:polygon(0 0, 100% 0, 50% 100%)}.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall{width:22px}.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.line.sc-sui-chart-waterfall::before{top:3.5px;border-top-width:3px}.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall .mk.sc-sui-chart-waterfall{left:7px;top:1px;width:8px;height:8px;border-width:2px}.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall .mk.tri.sc-sui-chart-waterfall,.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall .mk.tri-down.sc-sui-chart-waterfall{left:6.5px;top:0.5px;width:9px;height:9px}.sui-chart-key.off.sc-sui-chart-waterfall .swatch.sc-sui-chart-waterfall{opacity:0.35}.sui-chart-caption.sc-sui-chart-waterfall{font-size:11px;color:var(--ink-faint);margin-top:8px;border-top:1px solid var(--hairline);padding-top:7px}.sui-chart-tip.sc-sui-chart-waterfall{position:absolute;width:max-content;min-width:110px;max-width:240px;pointer-events:none;z-index:5;box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:8px 10px}.sui-chart-tip-title.sc-sui-chart-waterfall{font-size:10.5px;font-weight:700;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-waterfall{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:1.5px 0}.sui-chart-tip-row.sc-sui-chart-waterfall .swatch.sc-sui-chart-waterfall{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sui-chart-tip-row.sc-sui-chart-waterfall .lbl.sc-sui-chart-waterfall{flex:1;min-width:0;color:var(--ink-muted);text-wrap:balance}.sui-chart-tip-row.sc-sui-chart-waterfall b.sc-sui-chart-waterfall{margin-inline-start:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:\'tnum\';font-weight:700}.sui-chart-tip.stack.sc-sui-chart-waterfall .sui-chart-tip-row.sc-sui-chart-waterfall{display:grid;grid-template-columns:minmax(min-content, 1fr);align-items:center;column-gap:6px;row-gap:0}.sui-chart-tip.stack.sc-sui-chart-waterfall .sui-chart-tip-row.keyed.sc-sui-chart-waterfall{grid-template-columns:auto minmax(min-content, 1fr)}.sui-chart-tip.stack.sc-sui-chart-waterfall .sui-chart-tip-row.keyed.sc-sui-chart-waterfall>b.sc-sui-chart-waterfall{grid-column:2}.sui-chart-tip.stack.sc-sui-chart-waterfall .sui-chart-tip-row.sc-sui-chart-waterfall>b.sc-sui-chart-waterfall{margin-inline-start:0}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall .halo.sc-sui-chart-waterfall{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sui-chart-keys.sc-sui-chart-waterfall:focus{outline:none}.sui-chart-keys.sc-sui-chart-waterfall:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-shadow);border-radius:4px}.sui-chart-keys.keyed.sc-sui-chart-waterfall:focus-visible{outline:none;box-shadow:none}.sui-chart-ring.sc-sui-chart-waterfall{pointer-events:none;fill:none}.sui-chart-ring-halo.sc-sui-chart-waterfall{stroke:var(--focus-halo);stroke-width:6px}.sui-chart-ring-line.sc-sui-chart-waterfall{stroke:var(--focus-ring);stroke-width:2px}.sui-chart-empty.sc-sui-chart-waterfall{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:12.5px;color:var(--ink-muted);pointer-events:none}.sui-chart-empty.sc-sui-chart-waterfall span.sc-sui-chart-waterfall{background:var(--surface);box-shadow:0 0 0 4px var(--surface);border-radius:4px}.sui-chart-wait.sc-sui-chart-waterfall{box-sizing:border-box}.sui-chart-loading.sc-sui-chart-waterfall{position:absolute;inset:8px 10px 22px 46px;border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--brand-soft) 50%, var(--surface-sunken) 75%);background-size:300% 100%;animation:sb-shimmer 1.4s infinite linear}@media (prefers-reduced-motion: reduce){.sui-chart-loading.sc-sui-chart-waterfall{animation-duration:3s}}.sui-chart-sr.sc-sui-chart-waterfall{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.figure.sc-sui-chart-waterfall,.prose.sc-sui-chart-waterfall{direction:ltr;unicode-bidi:plaintext}svg.sc-sui-chart-waterfall text.sc-sui-chart-waterfall{unicode-bidi:plaintext}@media (forced-colors: active){.sui-chart-loading.sc-sui-chart-waterfall{box-sizing:border-box;border:1px solid GrayText}.sui-chart-key.sc-sui-chart-waterfall .swatch.sc-sui-chart-waterfall,.sui-chart-tip-row.sc-sui-chart-waterfall .swatch.sc-sui-chart-waterfall{forced-color-adjust:none;box-sizing:border-box;border:1px solid CanvasText}.sui-chart-key.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall,.sui-chart-tip-row.sc-sui-chart-waterfall .swatch.glyph.sc-sui-chart-waterfall{border:none}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall{forced-color-adjust:none}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall text.sc-sui-chart-waterfall{fill:CanvasText !important}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall .halo.sc-sui-chart-waterfall{stroke:Canvas}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall line.sc-sui-chart-waterfall{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall line[stroke*="--hairline"].sc-sui-chart-waterfall{stroke:GrayText;filter:none}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall line[stroke*="--chart-axis"].sc-sui-chart-waterfall,.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall line[stroke*="--border-strong"].sc-sui-chart-waterfall,.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall line[stroke*="--accent-deep"].sc-sui-chart-waterfall{stroke:CanvasText;filter:none}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall circle.sc-sui-chart-waterfall{stroke:CanvasText}.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall rect.sc-sui-chart-waterfall,.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall path.sc-sui-chart-waterfall,.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall polyline.sc-sui-chart-waterfall,.sui-chart-plot.sc-sui-chart-waterfall svg.sc-sui-chart-waterfall polygon.sc-sui-chart-waterfall{filter:drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText)}.sui-chart-keys.sc-sui-chart-waterfall:focus-visible{outline-color:Highlight;box-shadow:none}svg.sc-sui-chart-waterfall .sui-chart-ring.sc-sui-chart-waterfall .sui-chart-ring-line.sc-sui-chart-waterfall{stroke:Highlight;filter:none}svg.sc-sui-chart-waterfall .sui-chart-ring.sc-sui-chart-waterfall .sui-chart-ring-halo.sc-sui-chart-waterfall{stroke:Canvas;filter:none}}'}},[518,"sui-chart-waterfall",{heading:[1],subtitle:[1],caption:[1],items:[16],width:[2],height:[2],fixedSize:[516,"fixed-size"],money:[516],currency:[1],every:[8],emptyMessage:[1,"empty-message"],loading:[516],hoverIndex:[1026,"hover-index"],hasHeaderEnd:[32],boxW:[32],keyed:[32],hostName:[32],setFocus:[64]}]),sa=ta,ra=function(){"undefined"!=typeof customElements&&["sui-chart-waterfall"].forEach((a=>{"sui-chart-waterfall"===a&&(customElements.get(e(a))||customElements.define(e(a),ta))}))};export{sa as SuiChartWaterfall,ra as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiCheckboxGroup extends Components.SuiCheckboxGroup, HTMLElement {}
|
|
4
|
+
export const SuiCheckboxGroup: {
|
|
5
|
+
prototype: SuiCheckboxGroup;
|
|
6
|
+
new (): SuiCheckboxGroup;
|
|
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,h as o,t as r}from"./p-CeVlau-G.js";import{d as t}from"./p-piEUki9n.js";import{G as a,c as l}from"./p-BeYfX4rQ.js";import{u as c}from"./p-U06fVoGD.js";import{i as n,d as h,s as u,r as d,v as p}from"./p-BHB1Wprj.js";import{f}from"./p-CGWvlrv_.js";import{m}from"./p-BE4gZZNA.js";import{l as b,h as g,s as x,k as y}from"./p-M0fYQCIv.js";import{a as v}from"./p-BuyjS5bS.js";import{defineCustomElement as k}from"./p-0NNDSmh0.js";const F=i(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.suiChange=e(this,"suiChange",7),this.internals=this.attachInternals()}get host(){return this}internals;label;help;error;options=[];value=[];orientation="vertical";disabled=!1;readOnly=!1;invalid=!1;required=!1;name;suiChange;formDisabled=!1;get isDisabled(){return this.disabled||this.formDisabled}fieldId=c("sui-checkbox-group");initial=[];async setFocus(){this.firstBox()?.focus()}firstBox(){const i=Array.from(this.host.querySelectorAll("sui-checkbox"));return(i.find((i=>!i.disabled))||i[0])?.querySelector("input")}connectedCallback(){n(this.host,this.internals),h(this.host,(()=>this.firstBox()))}componentWillLoad(){this.initial=[...this.checkedValues],this.syncForm()}componentDidLoad(){this.syncForm()}componentDidRender(){this.syncForm()}syncForm(){const i=this.checkedValues;u(this.internals,this.isDisabled?null:m(this.name,i)),d(this.internals,this.required&&!this.isDisabled&&!this.readOnly,0===i.length,this.label,p(this.host),this.error)}formResetCallback(){this.value=[...this.initial]}formDisabledCallback(i){this.formDisabled=f(this.host,this.disabled,i),this.syncForm()}norm(){return b(this.options,this.host,"options").filter((i=>null!=i)).map((i=>"string"==typeof i||"number"==typeof i?{label:i+"",value:i}:i))}get checkedValues(){return b(this.value,this.host,"value")}onChildChange(i,s){if(i.stopPropagation(),this.readOnly)return;const e=this.checkedValues,o=i.detail?g(e,s)?e:e.concat(s):e.filter((i=>!x(i,s)));this.value=o,this.suiChange.emit(o)}render(){const i=this.checkedValues,s=this.label?this.fieldId+"-label":void 0,e=this.required?this.fieldId+"-req":void 0,r=[s,e].filter(Boolean).join(" ")||void 0;return o("div",{key:"704753d2c9733f4364e9a4cbc3c7afd96318ad2c",class:{"sui-cbg":!0,invalid:!!this.error},role:"group","aria-labelledby":r,"aria-describedby":t(this.fieldId,this.help,this.error),"aria-invalid":this.invalid||this.error?"true":null,"aria-readonly":this.readOnly?"true":null},this.label?o("div",{class:"sui-field-label",id:s},this.label,this.required?o("span",{class:"sui-field-req","aria-hidden":"true"},"*"):null):null,this.required?o("span",{class:"sr-only",id:e},v(void 0,"checkbox-group.required",void 0,"Required")):null,o("div",{key:"49f0bbd2373f1e690c7aa83cf839ebe6d3f8ca0b",class:{opts:!0,horizontal:"horizontal"===this.orientation}},this.norm().map((s=>o("sui-checkbox",{key:s.value,label:s.label,description:s.description,value:y(s.value),checked:g(i,s.value),disabled:this.isDisabled||!!s.disabled,readOnly:this.readOnly,invalid:this.invalid||!!this.error,onSuiChange:i=>this.onChildChange(i,s.value)})))),this.error?o("div",{class:"sui-field-error",id:this.fieldId+"-err",role:"alert"},o(a,{glyph:l}),this.error):this.help?o("div",{class:"sui-field-help",id:this.fieldId+"-help"},this.help):null)}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}]}}static get style(){return".sc-sui-checkbox-group-h{display:block;font-family:var(--font-sans)}.sui-cbg.sc-sui-checkbox-group{display:flex;flex-direction:column;gap:8px;font-family:var(--font-sans)}.sui-cbg.invalid.sc-sui-checkbox-group .sui-field-label.sc-sui-checkbox-group{color:var(--danger)}.opts.sc-sui-checkbox-group{display:flex;flex-direction:column;gap:9px;flex-wrap:wrap}.opts.horizontal.sc-sui-checkbox-group{flex-direction:row;gap:18px}.sr-only.sc-sui-checkbox-group{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sui-field.sc-sui-checkbox-group{display:flex;flex-direction:column;gap:6px;font-family:var(--font-sans);min-width:0}.sui-field-label.sc-sui-checkbox-group{font-size:12.5px;font-weight:620;color:var(--ink);line-height:1.3}.sui-field.invalid.sc-sui-checkbox-group .sui-field-label.sc-sui-checkbox-group{color:var(--danger)}.sui-field-req.sc-sui-checkbox-group{color:var(--danger);margin-inline-start:3px}.sui-field-help.sc-sui-checkbox-group{font-size:12px;color:var(--ink-faint);line-height:1.4}.sui-field-error.sc-sui-checkbox-group{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-checkbox-group .sui-glyph.sc-sui-checkbox-group{font-size:11px}"}},[578,"sui-checkbox-group",{label:[1],help:[1],error:[1],options:[16],value:[1040],orientation:[513],disabled:[516],readOnly:[516,"readonly"],invalid:[516],required:[516],name:[513],formDisabled:[32],setFocus:[64]},void 0,{value:[{syncForm:0}],required:[{syncForm:0}],error:[{syncForm:0}],name:[{syncForm:0}],disabled:[{syncForm:0}],readOnly:[{syncForm:0}],label:[{syncForm:0}]}]),j=F,w=function(){"undefined"!=typeof customElements&&["sui-checkbox-group","sui-checkbox"].forEach((i=>{switch(i){case"sui-checkbox-group":customElements.get(r(i))||customElements.define(r(i),F);break;case"sui-checkbox":customElements.get(r(i))||k()}}))};export{j as SuiCheckboxGroup,w as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiCheckbox extends Components.SuiCheckbox, HTMLElement {}
|
|
4
|
+
export const SuiCheckbox: {
|
|
5
|
+
prototype: SuiCheckbox;
|
|
6
|
+
new (): SuiCheckbox;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SuiCheckbox as e,defineCustomElement as o}from"./p-0NNDSmh0.js";const m=e,s=o;export{m as SuiCheckbox,s as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChip extends Components.SuiChip, HTMLElement {}
|
|
4
|
+
export const SuiChip: {
|
|
5
|
+
prototype: SuiChip;
|
|
6
|
+
new (): SuiChip;
|
|
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-mEOcDy5S.js";const m=o,p=s;export{m as SuiChip,p as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "@shineuix/core";
|
|
2
|
+
|
|
3
|
+
interface SuiChoiceCards extends Components.SuiChoiceCards, HTMLElement {}
|
|
4
|
+
export const SuiChoiceCards: {
|
|
5
|
+
prototype: SuiChoiceCards;
|
|
6
|
+
new (): SuiChoiceCards;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|