@mcp-b/web-components 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +49 -0
- package/dist/accordion-B1Q3kuP_.d.ts +373 -0
- package/dist/accordion-item-DvPfhpm8.js +307 -0
- package/dist/accordion-item-bPRIahNn.d.ts +63 -0
- package/dist/accordion-zDr-Br4V.js +483 -0
- package/dist/action-bar-CYsjmhwP.d.ts +29 -0
- package/dist/action-bar-CjN_UcnP.js +56 -0
- package/dist/alert-dialog-4CnO3Nb5.d.ts +60 -0
- package/dist/alert-dialog-D25Oi_TS.js +126 -0
- package/dist/avatar-Bje_KpZo.d.ts +141 -0
- package/dist/avatar-CRP0kW3x.js +224 -0
- package/dist/badge-Ct95U4UO.js +301 -0
- package/dist/badge-D1DNQrWn.d.ts +106 -0
- package/dist/breadcrumb-BxZ-nQE5.d.ts +365 -0
- package/dist/breadcrumb-item-BC454oQe.d.ts +59 -0
- package/dist/breadcrumb-item-P5pdq_gE.js +151 -0
- package/dist/breadcrumb-uURhiqWJ.js +384 -0
- package/dist/button-5k_aL_gD.js +802 -0
- package/dist/button-BQofnUt4.d.ts +354 -0
- package/dist/button-group-BydvJTQy.js +197 -0
- package/dist/button-group-COodHeuB.d.ts +155 -0
- package/dist/callout-B8zTf8Go.js +188 -0
- package/dist/callout-DFwPao36.d.ts +103 -0
- package/dist/card-BYDzdMAU.d.ts +177 -0
- package/dist/card-DIg1-X2G.js +332 -0
- package/dist/carousel-Bktu7wrD.js +843 -0
- package/dist/carousel-DQITCtEY.d.ts +423 -0
- package/dist/carousel-item-B5-X31Ha.js +79 -0
- package/dist/carousel-item-BB3jL2tk.d.ts +34 -0
- package/dist/cdn/loader.js +530 -0
- package/dist/checkbox-D6r7PVPj.js +641 -0
- package/dist/checkbox-DoFcDEKB.d.ts +354 -0
- package/dist/checkbox-group-CLvNAO_F.js +201 -0
- package/dist/checkbox-group-Cnh8rAn4.d.ts +152 -0
- package/dist/color-input-Bky89xg_.d.ts +470 -0
- package/dist/color-input-DPIxi9wR.js +894 -0
- package/dist/color-picker-adwOmtRl.js +1240 -0
- package/dist/color-picker-wQw8bPsq.d.ts +360 -0
- package/dist/combobox-B6al50UG.js +1693 -0
- package/dist/combobox-item-D2H1CMxC.d.ts +714 -0
- package/dist/combobox-item-yM6tDrGG.js +225 -0
- package/dist/comparison-B1-nMwmp.d.ts +134 -0
- package/dist/comparison-CyqKrCN-.js +435 -0
- package/dist/components/accordion/accordion.d.ts +2 -0
- package/dist/components/accordion/accordion.js +2 -0
- package/dist/components/accordion-item/accordion-item.d.ts +2 -0
- package/dist/components/accordion-item/accordion-item.js +2 -0
- package/dist/components/action-bar/action-bar.d.ts +2 -0
- package/dist/components/action-bar/action-bar.js +2 -0
- package/dist/components/alert-dialog/alert-dialog.d.ts +2 -0
- package/dist/components/alert-dialog/alert-dialog.js +2 -0
- package/dist/components/avatar/avatar.d.ts +2 -0
- package/dist/components/avatar/avatar.js +2 -0
- package/dist/components/badge/badge.d.ts +2 -0
- package/dist/components/badge/badge.js +2 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +2 -0
- package/dist/components/breadcrumb/breadcrumb.js +2 -0
- package/dist/components/breadcrumb-item/breadcrumb-item.d.ts +2 -0
- package/dist/components/breadcrumb-item/breadcrumb-item.js +2 -0
- package/dist/components/button/button.d.ts +2 -0
- package/dist/components/button/button.js +2 -0
- package/dist/components/button-group/button-group.d.ts +2 -0
- package/dist/components/button-group/button-group.js +2 -0
- package/dist/components/callout/callout.d.ts +2 -0
- package/dist/components/callout/callout.js +2 -0
- package/dist/components/card/card.d.ts +2 -0
- package/dist/components/card/card.js +2 -0
- package/dist/components/carousel/carousel.d.ts +2 -0
- package/dist/components/carousel/carousel.js +2 -0
- package/dist/components/carousel-item/carousel-item.d.ts +2 -0
- package/dist/components/carousel-item/carousel-item.js +2 -0
- package/dist/components/checkbox/checkbox.d.ts +2 -0
- package/dist/components/checkbox/checkbox.js +2 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts +2 -0
- package/dist/components/checkbox-group/checkbox-group.js +2 -0
- package/dist/components/color-input/color-input.d.ts +2 -0
- package/dist/components/color-input/color-input.js +2 -0
- package/dist/components/color-picker/color-picker.d.ts +2 -0
- package/dist/components/color-picker/color-picker.js +2 -0
- package/dist/components/combobox/combobox.d.ts +2 -0
- package/dist/components/combobox/combobox.js +2 -0
- package/dist/components/combobox-item/combobox-item.d.ts +2 -0
- package/dist/components/combobox-item/combobox-item.js +2 -0
- package/dist/components/comparison/comparison.d.ts +2 -0
- package/dist/components/comparison/comparison.js +2 -0
- package/dist/components/copy/copy.d.ts +2 -0
- package/dist/components/copy/copy.js +291 -0
- package/dist/components/data-table/data-table.d.ts +2 -0
- package/dist/components/data-table/data-table.js +2 -0
- package/dist/components/date/date.d.ts +2 -0
- package/dist/components/date/date.js +2 -0
- package/dist/components/dialog/dialog.d.ts +2 -0
- package/dist/components/dialog/dialog.js +2 -0
- package/dist/components/divider/divider.d.ts +2 -0
- package/dist/components/divider/divider.js +2 -0
- package/dist/components/dropdown/dropdown.d.ts +2 -0
- package/dist/components/dropdown/dropdown.js +2 -0
- package/dist/components/dropdown-item/dropdown-item.d.ts +2 -0
- package/dist/components/dropdown-item/dropdown-item.js +2 -0
- package/dist/components/empty-result/empty-result.d.ts +2 -0
- package/dist/components/empty-result/empty-result.js +2 -0
- package/dist/components/empty-state/empty-state.d.ts +2 -0
- package/dist/components/empty-state/empty-state.js +2 -0
- package/dist/components/expander/expander.d.ts +2 -0
- package/dist/components/expander/expander.js +2 -0
- package/dist/components/field/field.d.ts +2 -0
- package/dist/components/field/field.js +2 -0
- package/dist/components/file-input/file-input.d.ts +2 -0
- package/dist/components/file-input/file-input.js +2 -0
- package/dist/components/filter-bar/filter-bar.d.ts +2 -0
- package/dist/components/filter-bar/filter-bar.js +2 -0
- package/dist/components/form-section/form-section.d.ts +2 -0
- package/dist/components/form-section/form-section.js +2 -0
- package/dist/components/icon/icon.d.ts +2 -0
- package/dist/components/icon/icon.js +2 -0
- package/dist/components/include/include.d.ts +2 -0
- package/dist/components/include/include.js +2 -0
- package/dist/components/index.d.ts +85 -0
- package/dist/components/index.js +86 -0
- package/dist/components/infinite-scroller/infinite-scroller.d.ts +2 -0
- package/dist/components/infinite-scroller/infinite-scroller.js +2 -0
- package/dist/components/intersection-observer/intersection-observer.d.ts +2 -0
- package/dist/components/intersection-observer/intersection-observer.js +2 -0
- package/dist/components/listbox/listbox.d.ts +2 -0
- package/dist/components/listbox/listbox.js +2 -0
- package/dist/components/listbox-item/listbox-item.d.ts +2 -0
- package/dist/components/listbox-item/listbox-item.js +2 -0
- package/dist/components/lorem-ipsum/lorem-ipsum.d.ts +2 -0
- package/dist/components/lorem-ipsum/lorem-ipsum.js +2 -0
- package/dist/components/meter/meter.d.ts +2 -0
- package/dist/components/meter/meter.js +2 -0
- package/dist/components/metric/metric.d.ts +2 -0
- package/dist/components/metric/metric.js +2 -0
- package/dist/components/metric-grid/metric-grid.d.ts +2 -0
- package/dist/components/metric-grid/metric-grid.js +2 -0
- package/dist/components/mutation-observer/mutation-observer.d.ts +2 -0
- package/dist/components/mutation-observer/mutation-observer.js +2 -0
- package/dist/components/navicon/navicon.d.ts +2 -0
- package/dist/components/navicon/navicon.js +2 -0
- package/dist/components/number/number.d.ts +2 -0
- package/dist/components/number/number.js +2 -0
- package/dist/components/number-field/number-field.d.ts +2 -0
- package/dist/components/number-field/number-field.js +2 -0
- package/dist/components/pagination/pagination.d.ts +2 -0
- package/dist/components/pagination/pagination.js +2 -0
- package/dist/components/popover/popover.d.ts +2 -0
- package/dist/components/popover/popover.js +2 -0
- package/dist/components/preview-card/preview-card.d.ts +2 -0
- package/dist/components/preview-card/preview-card.js +2 -0
- package/dist/components/progress/progress.d.ts +2 -0
- package/dist/components/progress/progress.js +2 -0
- package/dist/components/radio/radio.d.ts +2 -0
- package/dist/components/radio/radio.js +2 -0
- package/dist/components/radio-item/radio-item.d.ts +2 -0
- package/dist/components/radio-item/radio-item.js +2 -0
- package/dist/components/random-content/random-content.d.ts +2 -0
- package/dist/components/random-content/random-content.js +2 -0
- package/dist/components/rating/rating.d.ts +2 -0
- package/dist/components/rating/rating.js +2 -0
- package/dist/components/resize-observer/resize-observer.d.ts +2 -0
- package/dist/components/resize-observer/resize-observer.js +2 -0
- package/dist/components/scroll-area/scroll-area.d.ts +2 -0
- package/dist/components/scroll-area/scroll-area.js +2 -0
- package/dist/components/scroller/scroller.d.ts +2 -0
- package/dist/components/scroller/scroller.js +2 -0
- package/dist/components/search-list/search-list.d.ts +2 -0
- package/dist/components/search-list/search-list.js +2 -0
- package/dist/components/select/select.d.ts +2 -0
- package/dist/components/select/select.js +2 -0
- package/dist/components/selection-summary/selection-summary.d.ts +2 -0
- package/dist/components/selection-summary/selection-summary.js +2 -0
- package/dist/components/share/share.d.ts +2 -0
- package/dist/components/share/share.js +2 -0
- package/dist/components/slide-activator/slide-activator.d.ts +2 -0
- package/dist/components/slide-activator/slide-activator.js +2 -0
- package/dist/components/slider/slider.d.ts +2 -0
- package/dist/components/slider/slider.js +2 -0
- package/dist/components/sparkline/sparkline.d.ts +2 -0
- package/dist/components/sparkline/sparkline.js +2 -0
- package/dist/components/spinner/spinner.d.ts +2 -0
- package/dist/components/spinner/spinner.js +2 -0
- package/dist/components/splitter/splitter.d.ts +2 -0
- package/dist/components/splitter/splitter.js +2 -0
- package/dist/components/switch/switch.d.ts +2 -0
- package/dist/components/switch/switch.js +2 -0
- package/dist/components/tab/tab.d.ts +2 -0
- package/dist/components/tab/tab.js +2 -0
- package/dist/components/tab-list/tab-list.d.ts +2 -0
- package/dist/components/tab-list/tab-list.js +2 -0
- package/dist/components/tab-panel/tab-panel.d.ts +2 -0
- package/dist/components/tab-panel/tab-panel.js +2 -0
- package/dist/components/text-area/text-area.d.ts +2 -0
- package/dist/components/text-area/text-area.js +2 -0
- package/dist/components/text-field/text-field.d.ts +2 -0
- package/dist/components/text-field/text-field.js +2 -0
- package/dist/components/text-mask/text-mask.d.ts +2 -0
- package/dist/components/text-mask/text-mask.js +2 -0
- package/dist/components/timed-content/timed-content.d.ts +2 -0
- package/dist/components/timed-content/timed-content.js +2 -0
- package/dist/components/toast/toast.d.ts +2 -0
- package/dist/components/toast/toast.js +2 -0
- package/dist/components/toast-item/toast-item.d.ts +2 -0
- package/dist/components/toast-item/toast-item.js +2 -0
- package/dist/components/toggle-icon/toggle-icon.d.ts +2 -0
- package/dist/components/toggle-icon/toggle-icon.js +2 -0
- package/dist/components/toggle-tag/toggle-tag.d.ts +2 -0
- package/dist/components/toggle-tag/toggle-tag.js +2 -0
- package/dist/components/toolbar/toolbar.d.ts +2 -0
- package/dist/components/toolbar/toolbar.js +2 -0
- package/dist/components/tooltip/tooltip.d.ts +2 -0
- package/dist/components/tooltip/tooltip.js +2 -0
- package/dist/components/transition-group/transition-group.d.ts +2 -0
- package/dist/components/transition-group/transition-group.js +2 -0
- package/dist/components/zoomable-frame/zoomable-frame.d.ts +2 -0
- package/dist/components/zoomable-frame/zoomable-frame.js +2 -0
- package/dist/copy-CvC9vaGw.d.ts +206 -0
- package/dist/copy.styles-DWGvGNTP.js +100 -0
- package/dist/data-table-CITa8DSn.js +247 -0
- package/dist/data-table-DL5RhE0d.d.ts +89 -0
- package/dist/date-CJPmOdi9.js +146 -0
- package/dist/date-DtaTBM71.d.ts +142 -0
- package/dist/decorate-DcF3lt7P.js +9 -0
- package/dist/dialog-Cx46HMaZ.js +983 -0
- package/dist/dialog-N-v0woIy.d.ts +414 -0
- package/dist/divider-9vNsfHW8.js +169 -0
- package/dist/divider-DWuAxcXv.d.ts +79 -0
- package/dist/docs/custom-elements.json +29301 -0
- package/dist/dropdown-BXSKpVX9.js +1123 -0
- package/dist/dropdown-Bo00Vlr5.d.ts +537 -0
- package/dist/dropdown-item-_lIs-Tfd.d.ts +111 -0
- package/dist/dropdown-item-i77cRuN6.js +504 -0
- package/dist/empty-result-B2ln1yFL.js +65 -0
- package/dist/empty-result-B54x_Ab2.d.ts +31 -0
- package/dist/empty-state-BLWjtKUo.js +186 -0
- package/dist/empty-state-SGKjpwp3.d.ts +117 -0
- package/dist/expander-BUev0BmM.d.ts +174 -0
- package/dist/expander-Bwvxj6Oa.js +342 -0
- package/dist/field-BEyS909F.js +163 -0
- package/dist/field-ITx0jVw-.d.ts +69 -0
- package/dist/file-input-BEumLJjg.js +841 -0
- package/dist/file-input-D2D6YC0B.d.ts +378 -0
- package/dist/filter-bar-Bj2QzEn9.d.ts +35 -0
- package/dist/filter-bar-Dcs67aXo.js +66 -0
- package/dist/form-section-BchPetkj.js +83 -0
- package/dist/form-section-xFBTBULQ.d.ts +34 -0
- package/dist/icon-BPVkNsY4.js +165 -0
- package/dist/icon-Ci9CPZJV.d.ts +72 -0
- package/dist/icon-library-D_if7p2h.d.ts +2 -0
- package/dist/include-CQHVVtNs.d.ts +103 -0
- package/dist/include-qNUh_6kT.js +155 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.js +92 -0
- package/dist/infinite-scroller-BmmtnWNt.js +285 -0
- package/dist/infinite-scroller-CuUEAlB9.d.ts +174 -0
- package/dist/intersection-observer-B6TciOAQ.js +503 -0
- package/dist/intersection-observer-B7nmP7Zz.d.ts +418 -0
- package/dist/listbox-C3XXRWGX.js +1257 -0
- package/dist/listbox-DD4ujIJe.d.ts +682 -0
- package/dist/listbox-item-CwD9s3VY.js +135 -0
- package/dist/listbox-item-DQEJWp4Z.d.ts +53 -0
- package/dist/localize-322EtXNX.d.ts +66 -0
- package/dist/lorem-ipsum-B2x3V-v8.js +198 -0
- package/dist/lorem-ipsum-CR82CSuJ.d.ts +130 -0
- package/dist/meter-BC7uaJWf.d.ts +73 -0
- package/dist/meter-BIDyjwFp.js +155 -0
- package/dist/metric-CjlLq_VA.d.ts +36 -0
- package/dist/metric-DbuOcDp_.js +86 -0
- package/dist/metric-grid-C2Pb0Zl3.js +37 -0
- package/dist/metric-grid-C5Xbb1_0.d.ts +27 -0
- package/dist/mutation-observer-BmrZ-GER.d.ts +326 -0
- package/dist/mutation-observer-DS8EBuOp.js +388 -0
- package/dist/navicon-Dic5Qjzb.d.ts +159 -0
- package/dist/navicon-_yMHY27-.js +486 -0
- package/dist/number-BNtNXNF3.js +162 -0
- package/dist/number-BwbnErlB.d.ts +143 -0
- package/dist/number-field-BQHB7UYo.js +726 -0
- package/dist/number-field-odk4lKXM.d.ts +422 -0
- package/dist/pagination-6z2qcf3U.d.ts +322 -0
- package/dist/pagination-DuKPuzdb.js +679 -0
- package/dist/popover-D0sxTU6o.d.ts +259 -0
- package/dist/popover-DJBrJ0za.js +556 -0
- package/dist/preview-card-C7H1FPfd.js +287 -0
- package/dist/preview-card-DitOCZTD.d.ts +86 -0
- package/dist/progress-Db0_axHQ.d.ts +181 -0
- package/dist/progress-DzVk260j.js +494 -0
- package/dist/radio-BtDG9xJM.js +658 -0
- package/dist/radio-CieMa4zU.d.ts +460 -0
- package/dist/radio-item-DIrUStAX.js +264 -0
- package/dist/radio-item-Xq2U3cMu.d.ts +69 -0
- package/dist/random-content-BhSeJFKz.d.ts +380 -0
- package/dist/random-content-BwiirXdG.js +450 -0
- package/dist/rating-4xNsWumY.d.ts +369 -0
- package/dist/rating-C1BcJDIO.js +722 -0
- package/dist/resize-observer-BseSbVWP.d.ts +187 -0
- package/dist/resize-observer-DcrLhddo.js +236 -0
- package/dist/scroll-area-COc1857S.js +127 -0
- package/dist/scroll-area-CVYDf5qY.d.ts +61 -0
- package/dist/scroller-LYgBVyfY.js +590 -0
- package/dist/scroller-bB2rGs7b.d.ts +374 -0
- package/dist/search-list-Clmrg8EV.js +884 -0
- package/dist/search-list-n0GYO7rh.d.ts +777 -0
- package/dist/select-CkZK2jJn.d.ts +506 -0
- package/dist/select-DLIaRnA4.js +690 -0
- package/dist/selection-summary-BVnNJ8Lw.js +48 -0
- package/dist/selection-summary-DmFkGyZI.d.ts +34 -0
- package/dist/share-DPlqP2dc.d.ts +162 -0
- package/dist/share-bsgXZCl7.js +250 -0
- package/dist/sigvelo.d.ts +5 -0
- package/dist/sigvelo.js +5 -0
- package/dist/sigvelo.loader.d.ts +3 -0
- package/dist/sigvelo.loader.js +102 -0
- package/dist/slide-activator-D7bBz69E.d.ts +429 -0
- package/dist/slide-activator-DlxQt9R9.js +798 -0
- package/dist/slider-B0FVsV1o.d.ts +921 -0
- package/dist/slider-B90Il7x3.js +1744 -0
- package/dist/sparkline-CcpTaJ_Z.js +358 -0
- package/dist/sparkline-DlCIt81-.d.ts +235 -0
- package/dist/spinner-C04Dmc0H.js +188 -0
- package/dist/spinner-CZ19x_dC.d.ts +99 -0
- package/dist/splitter-DBDJAzsp.d.ts +325 -0
- package/dist/splitter-MnD4In9H.js +638 -0
- package/dist/switch-CPaEKbog.js +581 -0
- package/dist/switch-Cief9M59.d.ts +248 -0
- package/dist/tab-BcqYGsuW.d.ts +44 -0
- package/dist/tab-C-FtuNmh.js +102 -0
- package/dist/tab-list-B_Ye_Oj9.js +691 -0
- package/dist/tab-list-DDvS8qHr.d.ts +450 -0
- package/dist/tab-panel-BaBl6eep.js +60 -0
- package/dist/tab-panel-BzSJlSfd.d.ts +38 -0
- package/dist/text-area-B_mjCE9W.d.ts +327 -0
- package/dist/text-area-Czixaz-_.js +556 -0
- package/dist/text-field-BClWMp6q.d.ts +424 -0
- package/dist/text-field-inpJfp0A.js +687 -0
- package/dist/text-mask-CNKVKSFp.d.ts +336 -0
- package/dist/text-mask-DDEurj90.js +370 -0
- package/dist/themes/sigvelo.css +10 -0
- package/dist/themes/utilities.css +9 -0
- package/dist/timed-content-D2mGFamc.d.ts +181 -0
- package/dist/timed-content-pvEP4l5V.js +226 -0
- package/dist/toast-BnZaIg6Z.js +636 -0
- package/dist/toast-cEBVK9NQ.d.ts +487 -0
- package/dist/toast-item-BPpJT6vD.d.ts +159 -0
- package/dist/toast-item-IS8IFUEg.js +372 -0
- package/dist/toggle-icon-4oLDeEt4.js +752 -0
- package/dist/toggle-icon-DlwMMWZL.d.ts +359 -0
- package/dist/toggle-tag-1sfTFJtg.js +434 -0
- package/dist/toggle-tag-IVvMGT4R.d.ts +245 -0
- package/dist/toolbar-CABq0ZL1.d.ts +122 -0
- package/dist/toolbar-CEZ0-F-X.js +196 -0
- package/dist/tooltip-DbyoPFNe.js +521 -0
- package/dist/tooltip-ahFthek8.d.ts +192 -0
- package/dist/transition-group-3hnAnwSd.js +801 -0
- package/dist/transition-group-DD_CjSNC.d.ts +608 -0
- package/dist/translations/en.d.ts +6 -0
- package/dist/translations/en.js +75 -0
- package/dist/translations/es.d.ts +6 -0
- package/dist/translations/es.js +75 -0
- package/dist/types/custom-element-jsx.d.ts +13723 -0
- package/dist/utilities/icon-library.d.ts +3 -0
- package/dist/utilities/icon-library.js +93 -0
- package/dist/utilities/localize.d.ts +2 -0
- package/dist/utilities/localize.js +6 -0
- package/dist/zoomable-frame-Cldvj5sE.js +398 -0
- package/dist/zoomable-frame-r6S6587z.d.ts +162 -0
- package/package.json +83 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { t as __decorate } from "./decorate-DcF3lt7P.js";
|
|
2
|
+
import { css, html } from "lit";
|
|
3
|
+
import { property, state } from "lit/decorators.js";
|
|
4
|
+
import hostStyles from "@mcp-b/wc-support/styles/host.styles";
|
|
5
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
6
|
+
//#region src/components/sparkline/sparkline.styles.ts
|
|
7
|
+
var sparkline_styles_default = css`
|
|
8
|
+
:host {
|
|
9
|
+
--fill-color: var(--sigvelo-color-primary-bg-muted);
|
|
10
|
+
--line-color: var(--sigvelo-color-primary-border);
|
|
11
|
+
--line-width: 1.5px;
|
|
12
|
+
|
|
13
|
+
display: inline-block;
|
|
14
|
+
aspect-ratio: 4 / 1;
|
|
15
|
+
width: auto;
|
|
16
|
+
height: 1em;
|
|
17
|
+
vertical-align: middle;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([trend="negative"]) {
|
|
21
|
+
--fill-color: var(--sigvelo-color-danger-bg-muted);
|
|
22
|
+
--line-color: var(--sigvelo-color-danger-border);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host([trend="neutral"]) {
|
|
26
|
+
--fill-color: var(--sigvelo-color-neutral-bg-muted);
|
|
27
|
+
--line-color: var(--sigvelo-color-neutral-border);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host([trend="positive"]) {
|
|
31
|
+
--fill-color: var(--sigvelo-color-success-bg-muted);
|
|
32
|
+
--line-color: var(--sigvelo-color-success-border);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([variant="line"]) {
|
|
36
|
+
--fill-color: transparent !important;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
svg {
|
|
40
|
+
display: block;
|
|
41
|
+
width: 100%;
|
|
42
|
+
height: 100%;
|
|
43
|
+
|
|
44
|
+
&:dir(rtl) {
|
|
45
|
+
transform: scaleX(-1);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/components/sparkline/sparkline.ts
|
|
51
|
+
/**
|
|
52
|
+
* <sigvelo-sparkline>
|
|
53
|
+
*
|
|
54
|
+
* @summary Shows at-a-glance trends in a small, inline chart that fits within text or tables.
|
|
55
|
+
* @tag sigvelo-sparkline
|
|
56
|
+
* @documentation https://design-system.sigvelo.com/docs/components/sparkline
|
|
57
|
+
* @status stable
|
|
58
|
+
* @since 1.0
|
|
59
|
+
*
|
|
60
|
+
* @cssproperty [--fill-color] - The start color of the gradient fill
|
|
61
|
+
* @cssproperty [--gradient-stop-color] - The end color of the gradient fill
|
|
62
|
+
*
|
|
63
|
+
* @example Default
|
|
64
|
+
* ```html
|
|
65
|
+
* <sigvelo-sparkline
|
|
66
|
+
* label="Number of cat treats given per day showing an increasing trend"
|
|
67
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
68
|
+
* style="height: 40px;"
|
|
69
|
+
* ></sigvelo-sparkline>
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* **Note:** In the same way that images require `alt` text, you should add a label to every sparkline. The label won't be displayed, but it will be announced by assistive devices.
|
|
73
|
+
*
|
|
74
|
+
*
|
|
75
|
+
*
|
|
76
|
+
* By default, sparklines are styled with a `1em` height to fit properly within headings and text.
|
|
77
|
+
*
|
|
78
|
+
* ```html
|
|
79
|
+
* <p>
|
|
80
|
+
* This week's website traffic
|
|
81
|
+
* <sigvelo-sparkline
|
|
82
|
+
* label="Website traffic showing a slightly positive trend"
|
|
83
|
+
* data="10 16 12 18 30"
|
|
84
|
+
* ></sigvelo-sparkline>
|
|
85
|
+
* has slightly increased.
|
|
86
|
+
* </p>
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* To set a specific size, adjust the `width`, `height`, or `aspect-ratio` CSS properties.
|
|
90
|
+
*
|
|
91
|
+
* ```html
|
|
92
|
+
* <sigvelo-sparkline
|
|
93
|
+
* label="Monthly cat toy purchases showing increased spending over time"
|
|
94
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
95
|
+
* style="width: 100%; height: auto;"
|
|
96
|
+
* ></sigvelo-sparkline>
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
*
|
|
100
|
+
* By default, sparklines render with a gradient fill. Set the `variant` attribute to `solid` or `line` to render a solid fill or a simple line instead.
|
|
101
|
+
*
|
|
102
|
+
* ```html
|
|
103
|
+
* <sigvelo-sparkline
|
|
104
|
+
* variant="gradient"
|
|
105
|
+
* label="Weekly cat food consumption showing typical feeding patterns"
|
|
106
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
107
|
+
* style="height: 40px;"
|
|
108
|
+
* trend="auto"
|
|
109
|
+
* ></sigvelo-sparkline>
|
|
110
|
+
*
|
|
111
|
+
* <sigvelo-sparkline
|
|
112
|
+
* variant="solid"
|
|
113
|
+
* label="Weekly cat food consumption showing typical feeding patterns"
|
|
114
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
115
|
+
* style="height: 40px;"
|
|
116
|
+
* trend="auto"
|
|
117
|
+
* ></sigvelo-sparkline>
|
|
118
|
+
*
|
|
119
|
+
* <sigvelo-sparkline
|
|
120
|
+
* variant="line"
|
|
121
|
+
* label="Weekly cat food consumption showing typical feeding patterns"
|
|
122
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
123
|
+
* style="height: 40px;"
|
|
124
|
+
* trend="auto"
|
|
125
|
+
* ></sigvelo-sparkline>
|
|
126
|
+
* ```
|
|
127
|
+
*
|
|
128
|
+
*
|
|
129
|
+
* Set the `curve` attribute to `linear`, `natural`, or `step` to change the style of the curve.
|
|
130
|
+
*
|
|
131
|
+
* ```html
|
|
132
|
+
* <sigvelo-sparkline
|
|
133
|
+
* label="Hourly cat meows tracked throughout the day using a linear curve"
|
|
134
|
+
* curve="linear"
|
|
135
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
136
|
+
* style="height: 40px;"
|
|
137
|
+
* ></sigvelo-sparkline>
|
|
138
|
+
*
|
|
139
|
+
* <sigvelo-sparkline
|
|
140
|
+
* label="Hourly cat meows tracked throughout the day using a natural curve"
|
|
141
|
+
* curve="natural"
|
|
142
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
143
|
+
* style="height: 40px;"
|
|
144
|
+
* ></sigvelo-sparkline>
|
|
145
|
+
*
|
|
146
|
+
* <sigvelo-sparkline
|
|
147
|
+
* label="Hourly cat meows tracked throughout the day using a step curve"
|
|
148
|
+
* curve="step"
|
|
149
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
150
|
+
* style="height: 40px;"
|
|
151
|
+
* ></sigvelo-sparkline>
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
*
|
|
155
|
+
* Set the `trend` attribute to `negative`, `neutral`, or `positive` to visually indicate a trend.
|
|
156
|
+
*
|
|
157
|
+
* ```html
|
|
158
|
+
* <!-- Negative trend -->
|
|
159
|
+
* <sigvelo-sparkline
|
|
160
|
+
* label="Decreasing trend in scratching post usage"
|
|
161
|
+
* data="70 75 60 50 55 35 25"
|
|
162
|
+
* trend="negative"
|
|
163
|
+
* style="height: 40px;"
|
|
164
|
+
* ></sigvelo-sparkline>
|
|
165
|
+
*
|
|
166
|
+
* <!-- Neutral trend -->
|
|
167
|
+
* <sigvelo-sparkline
|
|
168
|
+
* label="Stable pattern of cat litter box visits"
|
|
169
|
+
* data="45 50 42 48 44 46 45"
|
|
170
|
+
* trend="neutral"
|
|
171
|
+
* style="height: 40px;"
|
|
172
|
+
* ></sigvelo-sparkline>
|
|
173
|
+
*
|
|
174
|
+
* <!-- Positive trend -->
|
|
175
|
+
* <sigvelo-sparkline
|
|
176
|
+
* label="Increasing frequency of purring episodes"
|
|
177
|
+
* data="25 35 30 50 45 65 75"
|
|
178
|
+
* trend="positive"
|
|
179
|
+
* style="height: 40px;"
|
|
180
|
+
* ></sigvelo-sparkline>
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
*
|
|
184
|
+
* Use the `--fill-color`, `--line-color`, and `--line-width` custom properties to change the sparkline's styles.
|
|
185
|
+
*
|
|
186
|
+
* ```html
|
|
187
|
+
* <sigvelo-sparkline
|
|
188
|
+
* label="Weekly likes for cat memes growing in popularity"
|
|
189
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
190
|
+
* style="
|
|
191
|
+
* height: 60px;
|
|
192
|
+
* --fill-color: deeppink;
|
|
193
|
+
* --line-color: deeppink;
|
|
194
|
+
* --line-width: 3px;
|
|
195
|
+
* "
|
|
196
|
+
* ></sigvelo-sparkline>
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* Combine sparklines with cards and number tickers for an elegant way to display stats.
|
|
200
|
+
*
|
|
201
|
+
* ```html
|
|
202
|
+
* <sigvelo-card class="sparkline__stat">
|
|
203
|
+
* <div class="description">
|
|
204
|
+
* <small>Revenue</small><br>
|
|
205
|
+
* $<sigvelo-number-ticker end-value="12345" start-on-view></sigvelo-number-ticker>
|
|
206
|
+
* <div>
|
|
207
|
+
* <sigvelo-sparkline
|
|
208
|
+
* label="Number of cat treats given per day showing an increasing trend"
|
|
209
|
+
* data="10 20 17 23 27 22 30 38 44"
|
|
210
|
+
* curve="natural"
|
|
211
|
+
* variant="solid"
|
|
212
|
+
* ></sigvelo-sparkline>
|
|
213
|
+
* </sigvelo-card>
|
|
214
|
+
*
|
|
215
|
+
* <style>
|
|
216
|
+
* sigvelo-card.sparkline__stat {
|
|
217
|
+
* max-width: 280px;
|
|
218
|
+
*
|
|
219
|
+
* &::part(body) {
|
|
220
|
+
* display: flex;
|
|
221
|
+
* flex-direction: column;
|
|
222
|
+
* padding: 0;
|
|
223
|
+
* }
|
|
224
|
+
*
|
|
225
|
+
* .description {
|
|
226
|
+
* font-size: 2.25rem;
|
|
227
|
+
* font-weight: var(--sigvelo-font-weight-semibold);
|
|
228
|
+
* line-height: 1.2;
|
|
229
|
+
* padding: .5rem 1.5rem 0 1.5rem;
|
|
230
|
+
* }
|
|
231
|
+
*
|
|
232
|
+
* small {
|
|
233
|
+
* font-weight: var(--sigvelo-font-weight-normal);
|
|
234
|
+
* font-size: 0.9375rem;
|
|
235
|
+
* color: var(--sigvelo-color-text-muted);
|
|
236
|
+
* }
|
|
237
|
+
*
|
|
238
|
+
* sigvelo-sparkline {
|
|
239
|
+
* width: 100%;
|
|
240
|
+
* height: auto;
|
|
241
|
+
* }
|
|
242
|
+
* }
|
|
243
|
+
* </style>
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
var SigveloSparkline = class extends SigveloElement {
|
|
247
|
+
constructor(..._args) {
|
|
248
|
+
super(..._args);
|
|
249
|
+
this.points = [];
|
|
250
|
+
this.label = "";
|
|
251
|
+
this.data = "";
|
|
252
|
+
this.variant = "gradient";
|
|
253
|
+
this.curve = "linear";
|
|
254
|
+
}
|
|
255
|
+
static {
|
|
256
|
+
this.styles = [hostStyles, sparkline_styles_default];
|
|
257
|
+
}
|
|
258
|
+
/** Returns an SVG path for a linear, point-to-point graph */
|
|
259
|
+
getLinearPath(coordinates) {
|
|
260
|
+
return coordinates.length > 0 ? `M ${coordinates[0]} ${coordinates.slice(1).map((coord) => `L ${coord}`).join(" ")}` : "M 0 0";
|
|
261
|
+
}
|
|
262
|
+
/** Returns an SVG path for a curved graph */
|
|
263
|
+
getNaturalPath(coordinates) {
|
|
264
|
+
if (coordinates.length <= 2) return this.getLinearPath(coordinates);
|
|
265
|
+
const points = coordinates.map((coord) => {
|
|
266
|
+
const [x, y] = coord.split(" ").map(Number);
|
|
267
|
+
return {
|
|
268
|
+
x,
|
|
269
|
+
y
|
|
270
|
+
};
|
|
271
|
+
});
|
|
272
|
+
let path = `M ${points[0].x} ${points[0].y}`;
|
|
273
|
+
for (let i = 0; i < points.length - 1; i++) {
|
|
274
|
+
const current = points[i];
|
|
275
|
+
const next = points[i + 1];
|
|
276
|
+
const controlX1 = current.x + (next.x - current.x) / 3;
|
|
277
|
+
const controlX2 = current.x + (next.x - current.x) * 2 / 3;
|
|
278
|
+
path += ` C ${controlX1} ${current.y}, ${controlX2} ${next.y}, ${next.x} ${next.y}`;
|
|
279
|
+
}
|
|
280
|
+
return path;
|
|
281
|
+
}
|
|
282
|
+
/** Returns an SVG path for a stepped graph */
|
|
283
|
+
getStepPath(coordinates) {
|
|
284
|
+
if (coordinates.length <= 1) return this.getLinearPath(coordinates);
|
|
285
|
+
let path = `M ${coordinates[0]}`;
|
|
286
|
+
for (let i = 1; i < coordinates.length; i++) {
|
|
287
|
+
const [prevX] = coordinates[i - 1].split(" ").map(Number);
|
|
288
|
+
const [currX, currY] = coordinates[i].split(" ").map(Number);
|
|
289
|
+
const midX = prevX + (currX - prevX) / 2;
|
|
290
|
+
path += ` H ${midX} V ${currY}`;
|
|
291
|
+
path += ` H ${currX}`;
|
|
292
|
+
}
|
|
293
|
+
return path;
|
|
294
|
+
}
|
|
295
|
+
/** Generates the appropriate SVG path based on the desired curve. */
|
|
296
|
+
getPath(coordinates) {
|
|
297
|
+
switch (this.curve) {
|
|
298
|
+
case "natural": return this.getNaturalPath(coordinates);
|
|
299
|
+
case "step": return this.getStepPath(coordinates);
|
|
300
|
+
default: return this.getLinearPath(coordinates);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
render() {
|
|
304
|
+
const viewportPadding = parseFloat(getComputedStyle(this).getPropertyValue("--line-width")) ?? 2;
|
|
305
|
+
const width = 200;
|
|
306
|
+
const height = 50;
|
|
307
|
+
const points = this.data.split(" ").map((n) => parseFloat(n.trim())).filter((n) => !Number.isNaN(n));
|
|
308
|
+
const viewBoxWidth = Math.max(1, points.length - 1);
|
|
309
|
+
const maxPoint = Math.max(...points);
|
|
310
|
+
const viewBoxHeight = Math.max(1, maxPoint) + viewportPadding * 2;
|
|
311
|
+
const coordinates = points.length > 0 ? points.map((point, index) => {
|
|
312
|
+
return `${index} ${viewBoxHeight - point - viewportPadding}`;
|
|
313
|
+
}) : ["0 0"];
|
|
314
|
+
const mainPath = this.getPath(coordinates);
|
|
315
|
+
const filledPath = points.length > 1 ? `${mainPath} L ${viewBoxWidth} ${viewBoxHeight} L 0 ${viewBoxHeight} Z` : "";
|
|
316
|
+
return html`
|
|
317
|
+
<svg
|
|
318
|
+
height="${height}px"
|
|
319
|
+
width="${width}px"
|
|
320
|
+
viewBox="0 0 ${viewBoxWidth} ${viewBoxHeight}"
|
|
321
|
+
preserveAspectRatio="none"
|
|
322
|
+
aria-label=${this.label}
|
|
323
|
+
>
|
|
324
|
+
<defs>
|
|
325
|
+
<linearGradient id="gradient" x1="0" x2="0" y1="0" y2="1">
|
|
326
|
+
<stop offset="0%" stop-color="var(--fill-color)" stop-opacity="1" />
|
|
327
|
+
<stop
|
|
328
|
+
offset="100%"
|
|
329
|
+
stop-color="var(--fill-color)"
|
|
330
|
+
stop-opacity="${this.variant === "solid" ? "1" : "0"}"
|
|
331
|
+
/>
|
|
332
|
+
</linearGradient>
|
|
333
|
+
</defs>
|
|
334
|
+
<path
|
|
335
|
+
d="${filledPath}"
|
|
336
|
+
stroke="transparent"
|
|
337
|
+
fill="${this.variant === "solid" ? "var(--fill-color)" : "url(#gradient)"}"
|
|
338
|
+
/>
|
|
339
|
+
<path
|
|
340
|
+
d="${mainPath}"
|
|
341
|
+
stroke-width="var(--line-width)"
|
|
342
|
+
stroke="var(--line-color)"
|
|
343
|
+
fill="transparent"
|
|
344
|
+
vector-effect="non-scaling-stroke"
|
|
345
|
+
/>
|
|
346
|
+
</svg>
|
|
347
|
+
`;
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
__decorate([state()], SigveloSparkline.prototype, "points", void 0);
|
|
351
|
+
__decorate([property()], SigveloSparkline.prototype, "label", void 0);
|
|
352
|
+
__decorate([property()], SigveloSparkline.prototype, "data", void 0);
|
|
353
|
+
__decorate([property({ reflect: true })], SigveloSparkline.prototype, "variant", void 0);
|
|
354
|
+
__decorate([property({ reflect: true })], SigveloSparkline.prototype, "trend", void 0);
|
|
355
|
+
__decorate([property({ reflect: true })], SigveloSparkline.prototype, "curve", void 0);
|
|
356
|
+
customElements.define("sigvelo-sparkline", SigveloSparkline);
|
|
357
|
+
//#endregion
|
|
358
|
+
export { SigveloSparkline as t };
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { CSSResultGroup } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/sparkline/sparkline.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-sparkline>
|
|
7
|
+
*
|
|
8
|
+
* @summary Shows at-a-glance trends in a small, inline chart that fits within text or tables.
|
|
9
|
+
* @tag sigvelo-sparkline
|
|
10
|
+
* @documentation https://design-system.sigvelo.com/docs/components/sparkline
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0
|
|
13
|
+
*
|
|
14
|
+
* @cssproperty [--fill-color] - The start color of the gradient fill
|
|
15
|
+
* @cssproperty [--gradient-stop-color] - The end color of the gradient fill
|
|
16
|
+
*
|
|
17
|
+
* @example Default
|
|
18
|
+
* ```html
|
|
19
|
+
* <sigvelo-sparkline
|
|
20
|
+
* label="Number of cat treats given per day showing an increasing trend"
|
|
21
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
22
|
+
* style="height: 40px;"
|
|
23
|
+
* ></sigvelo-sparkline>
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* **Note:** In the same way that images require `alt` text, you should add a label to every sparkline. The label won't be displayed, but it will be announced by assistive devices.
|
|
27
|
+
*
|
|
28
|
+
*
|
|
29
|
+
*
|
|
30
|
+
* By default, sparklines are styled with a `1em` height to fit properly within headings and text.
|
|
31
|
+
*
|
|
32
|
+
* ```html
|
|
33
|
+
* <p>
|
|
34
|
+
* This week's website traffic
|
|
35
|
+
* <sigvelo-sparkline
|
|
36
|
+
* label="Website traffic showing a slightly positive trend"
|
|
37
|
+
* data="10 16 12 18 30"
|
|
38
|
+
* ></sigvelo-sparkline>
|
|
39
|
+
* has slightly increased.
|
|
40
|
+
* </p>
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* To set a specific size, adjust the `width`, `height`, or `aspect-ratio` CSS properties.
|
|
44
|
+
*
|
|
45
|
+
* ```html
|
|
46
|
+
* <sigvelo-sparkline
|
|
47
|
+
* label="Monthly cat toy purchases showing increased spending over time"
|
|
48
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
49
|
+
* style="width: 100%; height: auto;"
|
|
50
|
+
* ></sigvelo-sparkline>
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
*
|
|
54
|
+
* By default, sparklines render with a gradient fill. Set the `variant` attribute to `solid` or `line` to render a solid fill or a simple line instead.
|
|
55
|
+
*
|
|
56
|
+
* ```html
|
|
57
|
+
* <sigvelo-sparkline
|
|
58
|
+
* variant="gradient"
|
|
59
|
+
* label="Weekly cat food consumption showing typical feeding patterns"
|
|
60
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
61
|
+
* style="height: 40px;"
|
|
62
|
+
* trend="auto"
|
|
63
|
+
* ></sigvelo-sparkline>
|
|
64
|
+
*
|
|
65
|
+
* <sigvelo-sparkline
|
|
66
|
+
* variant="solid"
|
|
67
|
+
* label="Weekly cat food consumption showing typical feeding patterns"
|
|
68
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
69
|
+
* style="height: 40px;"
|
|
70
|
+
* trend="auto"
|
|
71
|
+
* ></sigvelo-sparkline>
|
|
72
|
+
*
|
|
73
|
+
* <sigvelo-sparkline
|
|
74
|
+
* variant="line"
|
|
75
|
+
* label="Weekly cat food consumption showing typical feeding patterns"
|
|
76
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
77
|
+
* style="height: 40px;"
|
|
78
|
+
* trend="auto"
|
|
79
|
+
* ></sigvelo-sparkline>
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
*
|
|
83
|
+
* Set the `curve` attribute to `linear`, `natural`, or `step` to change the style of the curve.
|
|
84
|
+
*
|
|
85
|
+
* ```html
|
|
86
|
+
* <sigvelo-sparkline
|
|
87
|
+
* label="Hourly cat meows tracked throughout the day using a linear curve"
|
|
88
|
+
* curve="linear"
|
|
89
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
90
|
+
* style="height: 40px;"
|
|
91
|
+
* ></sigvelo-sparkline>
|
|
92
|
+
*
|
|
93
|
+
* <sigvelo-sparkline
|
|
94
|
+
* label="Hourly cat meows tracked throughout the day using a natural curve"
|
|
95
|
+
* curve="natural"
|
|
96
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
97
|
+
* style="height: 40px;"
|
|
98
|
+
* ></sigvelo-sparkline>
|
|
99
|
+
*
|
|
100
|
+
* <sigvelo-sparkline
|
|
101
|
+
* label="Hourly cat meows tracked throughout the day using a step curve"
|
|
102
|
+
* curve="step"
|
|
103
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
104
|
+
* style="height: 40px;"
|
|
105
|
+
* ></sigvelo-sparkline>
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
*
|
|
109
|
+
* Set the `trend` attribute to `negative`, `neutral`, or `positive` to visually indicate a trend.
|
|
110
|
+
*
|
|
111
|
+
* ```html
|
|
112
|
+
* <!-- Negative trend -->
|
|
113
|
+
* <sigvelo-sparkline
|
|
114
|
+
* label="Decreasing trend in scratching post usage"
|
|
115
|
+
* data="70 75 60 50 55 35 25"
|
|
116
|
+
* trend="negative"
|
|
117
|
+
* style="height: 40px;"
|
|
118
|
+
* ></sigvelo-sparkline>
|
|
119
|
+
*
|
|
120
|
+
* <!-- Neutral trend -->
|
|
121
|
+
* <sigvelo-sparkline
|
|
122
|
+
* label="Stable pattern of cat litter box visits"
|
|
123
|
+
* data="45 50 42 48 44 46 45"
|
|
124
|
+
* trend="neutral"
|
|
125
|
+
* style="height: 40px;"
|
|
126
|
+
* ></sigvelo-sparkline>
|
|
127
|
+
*
|
|
128
|
+
* <!-- Positive trend -->
|
|
129
|
+
* <sigvelo-sparkline
|
|
130
|
+
* label="Increasing frequency of purring episodes"
|
|
131
|
+
* data="25 35 30 50 45 65 75"
|
|
132
|
+
* trend="positive"
|
|
133
|
+
* style="height: 40px;"
|
|
134
|
+
* ></sigvelo-sparkline>
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
*
|
|
138
|
+
* Use the `--fill-color`, `--line-color`, and `--line-width` custom properties to change the sparkline's styles.
|
|
139
|
+
*
|
|
140
|
+
* ```html
|
|
141
|
+
* <sigvelo-sparkline
|
|
142
|
+
* label="Weekly likes for cat memes growing in popularity"
|
|
143
|
+
* data="10 20 40 25 35 25 60 50 70"
|
|
144
|
+
* style="
|
|
145
|
+
* height: 60px;
|
|
146
|
+
* --fill-color: deeppink;
|
|
147
|
+
* --line-color: deeppink;
|
|
148
|
+
* --line-width: 3px;
|
|
149
|
+
* "
|
|
150
|
+
* ></sigvelo-sparkline>
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* Combine sparklines with cards and number tickers for an elegant way to display stats.
|
|
154
|
+
*
|
|
155
|
+
* ```html
|
|
156
|
+
* <sigvelo-card class="sparkline__stat">
|
|
157
|
+
* <div class="description">
|
|
158
|
+
* <small>Revenue</small><br>
|
|
159
|
+
* $<sigvelo-number-ticker end-value="12345" start-on-view></sigvelo-number-ticker>
|
|
160
|
+
* <div>
|
|
161
|
+
* <sigvelo-sparkline
|
|
162
|
+
* label="Number of cat treats given per day showing an increasing trend"
|
|
163
|
+
* data="10 20 17 23 27 22 30 38 44"
|
|
164
|
+
* curve="natural"
|
|
165
|
+
* variant="solid"
|
|
166
|
+
* ></sigvelo-sparkline>
|
|
167
|
+
* </sigvelo-card>
|
|
168
|
+
*
|
|
169
|
+
* <style>
|
|
170
|
+
* sigvelo-card.sparkline__stat {
|
|
171
|
+
* max-width: 280px;
|
|
172
|
+
*
|
|
173
|
+
* &::part(body) {
|
|
174
|
+
* display: flex;
|
|
175
|
+
* flex-direction: column;
|
|
176
|
+
* padding: 0;
|
|
177
|
+
* }
|
|
178
|
+
*
|
|
179
|
+
* .description {
|
|
180
|
+
* font-size: 2.25rem;
|
|
181
|
+
* font-weight: var(--sigvelo-font-weight-semibold);
|
|
182
|
+
* line-height: 1.2;
|
|
183
|
+
* padding: .5rem 1.5rem 0 1.5rem;
|
|
184
|
+
* }
|
|
185
|
+
*
|
|
186
|
+
* small {
|
|
187
|
+
* font-weight: var(--sigvelo-font-weight-normal);
|
|
188
|
+
* font-size: 0.9375rem;
|
|
189
|
+
* color: var(--sigvelo-color-text-muted);
|
|
190
|
+
* }
|
|
191
|
+
*
|
|
192
|
+
* sigvelo-sparkline {
|
|
193
|
+
* width: 100%;
|
|
194
|
+
* height: auto;
|
|
195
|
+
* }
|
|
196
|
+
* }
|
|
197
|
+
* </style>
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
declare class SigveloSparkline extends SigveloElement {
|
|
201
|
+
static styles: CSSResultGroup;
|
|
202
|
+
points: number[];
|
|
203
|
+
/**
|
|
204
|
+
* An accessible label for the sparkline. This will be read by screen readers for users who can't see the chart, so
|
|
205
|
+
* make sure to describe it appropriately.
|
|
206
|
+
*/
|
|
207
|
+
label: string;
|
|
208
|
+
/**
|
|
209
|
+
* A space-separated list of positive values to show in the sparkline, e.g. "10 25 18 30". At least two values are
|
|
210
|
+
* required to generate a chart.
|
|
211
|
+
*/
|
|
212
|
+
data: string;
|
|
213
|
+
/** Determines the sparkline's variant. */
|
|
214
|
+
variant: "gradient" | "line" | "solid";
|
|
215
|
+
/** Draws the component with colors to visually indicate the specified trend. */
|
|
216
|
+
trend: "positive" | "negative" | "neutral";
|
|
217
|
+
/** The interpolation method used to connect data points on the line. */
|
|
218
|
+
curve: "linear" | "natural" | "step";
|
|
219
|
+
/** Returns an SVG path for a linear, point-to-point graph */
|
|
220
|
+
private getLinearPath;
|
|
221
|
+
/** Returns an SVG path for a curved graph */
|
|
222
|
+
private getNaturalPath;
|
|
223
|
+
/** Returns an SVG path for a stepped graph */
|
|
224
|
+
private getStepPath;
|
|
225
|
+
/** Generates the appropriate SVG path based on the desired curve. */
|
|
226
|
+
private getPath;
|
|
227
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
228
|
+
}
|
|
229
|
+
declare global {
|
|
230
|
+
interface HTMLElementTagNameMap {
|
|
231
|
+
"sigvelo-sparkline": SigveloSparkline;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
//#endregion
|
|
235
|
+
export { SigveloSparkline as t };
|