@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,187 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/resize-observer/resize-observer.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-resize-observer>
|
|
7
|
+
*
|
|
8
|
+
* @summary Watches child elements and dispatches an event when they resize.
|
|
9
|
+
* @tag sigvelo-resize-observer
|
|
10
|
+
* @documentation https://design-system.sigvelo.com/docs/components/resize
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0
|
|
13
|
+
*
|
|
14
|
+
* @slot - The elements to observe. All direct children of the host element are observed, but not nested elements.
|
|
15
|
+
*
|
|
16
|
+
* @event sigvelo-resize - Emitted when a slotted element is resized. Like `ResizeObserver`, this event is also dispatched
|
|
17
|
+
* when each element is first observed. The `event.detail.entry` property contains a
|
|
18
|
+
* [`ResizeObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) with information about
|
|
19
|
+
* the element's dimensions.
|
|
20
|
+
*
|
|
21
|
+
* @example Default
|
|
22
|
+
* The component uses a ResizeObserver to monitor the dimensions of its direct children. A `sigvelo-resize` event is dispatched for each observed element, once when the element is first observed and once every time the element is resized.
|
|
23
|
+
*
|
|
24
|
+
* The component is styled with `display: contents`, allowing you to easily apply flex and grid layouts to the containing element without the component interfering.
|
|
25
|
+
*
|
|
26
|
+
* ```html
|
|
27
|
+
* <div id="resize__overview">
|
|
28
|
+
* <sigvelo-resize-observer>
|
|
29
|
+
* <div class="resizable">
|
|
30
|
+
* <div class="handle"></div>
|
|
31
|
+
* </div>
|
|
32
|
+
* </sigvelo-resize-observer>
|
|
33
|
+
*
|
|
34
|
+
* <div class="dimensions"></div>
|
|
35
|
+
* </div>
|
|
36
|
+
*
|
|
37
|
+
* <script>
|
|
38
|
+
* const container = document.getElementById('resize__overview');
|
|
39
|
+
* const resizeObserver = container.querySelector('sigvelo-resize-observer');
|
|
40
|
+
*
|
|
41
|
+
* <!-- Log the element's dimensions on resize -->
|
|
42
|
+
* resizeObserver.addEventListener('sigvelo-resize', event => {
|
|
43
|
+
* const contentRect = event.detail.entry.contentRect;
|
|
44
|
+
* const width = Math.round(contentRect.width);
|
|
45
|
+
* const height = Math.round(contentRect.height);
|
|
46
|
+
*
|
|
47
|
+
* dimensions.innerHTML = `${width}px × ${height}px`;
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* <!-- The code below is just to make the example resizable -->
|
|
51
|
+
* const resizable = container.querySelector('.resizable');
|
|
52
|
+
* const handle = container.querySelector('.handle');
|
|
53
|
+
* const dimensions = container.querySelector('.dimensions');
|
|
54
|
+
* let isResizing = false;
|
|
55
|
+
* let startX, startY, startWidth, startHeight;
|
|
56
|
+
*
|
|
57
|
+
* function startResize(event) {
|
|
58
|
+
* isResizing = true;
|
|
59
|
+
* startX = event.clientX;
|
|
60
|
+
* startY = event.clientY;
|
|
61
|
+
* startWidth = resizable.offsetWidth;
|
|
62
|
+
* startHeight = resizable.offsetHeight;
|
|
63
|
+
* document.addEventListener('pointermove', resize);
|
|
64
|
+
* document.addEventListener('pointerup', stopResize);
|
|
65
|
+
* handle.setPointerCapture(event.pointerId);
|
|
66
|
+
* event.preventDefault();
|
|
67
|
+
* }
|
|
68
|
+
*
|
|
69
|
+
* function resize(event) {
|
|
70
|
+
* if (!isResizing) return;
|
|
71
|
+
* const width = startWidth + (event.clientX - startX);
|
|
72
|
+
* const height = startHeight + (event.clientY - startY);
|
|
73
|
+
*
|
|
74
|
+
* resizable.style.width = `${width}px`;
|
|
75
|
+
* resizable.style.height = `${height}px`;
|
|
76
|
+
* }
|
|
77
|
+
*
|
|
78
|
+
* function stopResize(event) {
|
|
79
|
+
* if (!isResizing) return;
|
|
80
|
+
* isResizing = false;
|
|
81
|
+
* document.removeEventListener('pointermove', resize);
|
|
82
|
+
* document.removeEventListener('pointerup', stopResize);
|
|
83
|
+
* handle.releasePointerCapture(event.pointerId);
|
|
84
|
+
* }
|
|
85
|
+
*
|
|
86
|
+
* handle.addEventListener('pointerdown', startResize);
|
|
87
|
+
*
|
|
88
|
+
* // Show initial dimensions
|
|
89
|
+
* dimensions.innerHTML = `${resizable.clientWidth}px × ${resizable.clientHeight}px`;
|
|
90
|
+
* </script>
|
|
91
|
+
*
|
|
92
|
+
* <style>
|
|
93
|
+
* #resize__overview {
|
|
94
|
+
* position: relative;
|
|
95
|
+
* height: 200px;
|
|
96
|
+
*
|
|
97
|
+
* .resizable {
|
|
98
|
+
* z-index: 2;
|
|
99
|
+
* position: relative;
|
|
100
|
+
* width: 100%;
|
|
101
|
+
* min-width: 50px;
|
|
102
|
+
* max-width: 100%;
|
|
103
|
+
* height: 100%;
|
|
104
|
+
* min-height: 50px;
|
|
105
|
+
* max-height: 200px;
|
|
106
|
+
* border: solid 2px var(--sigvelo-color-neutral-border-subtle);
|
|
107
|
+
* border-radius: var(--sigvelo-radius-md);
|
|
108
|
+
* }
|
|
109
|
+
*
|
|
110
|
+
* .handle {
|
|
111
|
+
* position: absolute;
|
|
112
|
+
* bottom: calc(-0.75rem + 1px);
|
|
113
|
+
* right: calc(-0.75rem + 1px);
|
|
114
|
+
* width: 1.5rem;
|
|
115
|
+
* height: 1.5rem;
|
|
116
|
+
* background-color: var(--sigvelo-color-primary-bg);
|
|
117
|
+
* border: solid 2px light-dark(white, black);
|
|
118
|
+
* border-radius: var(--sigvelo-radius-circle);
|
|
119
|
+
* cursor: nwse-resize;
|
|
120
|
+
* touch-action: none;
|
|
121
|
+
* }
|
|
122
|
+
*
|
|
123
|
+
* .dimensions {
|
|
124
|
+
* position: absolute;
|
|
125
|
+
* z-index: 1;
|
|
126
|
+
* top: calc(50% - 0.5lh);
|
|
127
|
+
* left: calc(50% - 100px);
|
|
128
|
+
* width: 200px;
|
|
129
|
+
* font-size: .9375em;
|
|
130
|
+
* pointer-events: none;
|
|
131
|
+
* text-align: center;
|
|
132
|
+
* }
|
|
133
|
+
* }
|
|
134
|
+
* </style>
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* **Note:** Remember that only direct children of the host element are observed. Nested elements will not trigger intersection events.
|
|
138
|
+
*
|
|
139
|
+
* @example Providing content
|
|
140
|
+
* Slot one or more elements into the resize observer and listen for the `sigvelo-resize` event. The event includes `event.detail.entry`, which is a `ResizeObserverEntry` object that corresponds to the observed change.
|
|
141
|
+
*
|
|
142
|
+
* In it's simplest form, a resize observer can be used like this.
|
|
143
|
+
*
|
|
144
|
+
* ```html
|
|
145
|
+
* <sigvelo-resize-observer>
|
|
146
|
+
* ...
|
|
147
|
+
* </sigvelo-resize-observer>
|
|
148
|
+
*
|
|
149
|
+
* <script>
|
|
150
|
+
* const resizeObserver = document.querySelector('sigvelo-resize-observer');
|
|
151
|
+
*
|
|
152
|
+
* // Listen for resizes
|
|
153
|
+
* resizeObserver.addEventListener('sigvelo-resize', event => {
|
|
154
|
+
* console.log(event.detail.entry); // ResizeObserverEntry
|
|
155
|
+
* });
|
|
156
|
+
* </script>
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* **Note:** Remember that only direct children of the host element are observed.
|
|
160
|
+
*/
|
|
161
|
+
declare class SigveloResizeObserver extends SigveloElement {
|
|
162
|
+
static styles: CSSResultGroup;
|
|
163
|
+
private hasInitialized;
|
|
164
|
+
private resizeObserver;
|
|
165
|
+
/** Disables the resize observer. */
|
|
166
|
+
disabled: boolean;
|
|
167
|
+
/** Sets which box model the observer will observe changes to. */
|
|
168
|
+
box: "content-box" | "border-box" | "device-pixel-content-box";
|
|
169
|
+
connectedCallback(): void;
|
|
170
|
+
/** Component lifecycle method that runs when the element disconnects from the DOM */
|
|
171
|
+
disconnectedCallback(): void;
|
|
172
|
+
/** Component lifecycle method that runs when properties change */
|
|
173
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
174
|
+
private handleSlotChange;
|
|
175
|
+
/** Starts or restarts the resize observer. */
|
|
176
|
+
private startObserver;
|
|
177
|
+
/** Stops the resize observer. */
|
|
178
|
+
private stopObserver;
|
|
179
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
180
|
+
}
|
|
181
|
+
declare global {
|
|
182
|
+
interface HTMLElementTagNameMap {
|
|
183
|
+
"sigvelo-resize-observer": SigveloResizeObserver;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//#endregion
|
|
187
|
+
export { SigveloResizeObserver as t };
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { t as __decorate } from "./decorate-DcF3lt7P.js";
|
|
2
|
+
import { css, html } from "lit";
|
|
3
|
+
import { property } 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
|
+
import { SigveloResizeEvent } from "@mcp-b/wc-support/events/resize";
|
|
7
|
+
//#region src/components/resize-observer/resize-observer.styles.ts
|
|
8
|
+
var resize_observer_styles_default = css`
|
|
9
|
+
:host {
|
|
10
|
+
display: contents;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/resize-observer/resize-observer.ts
|
|
15
|
+
/**
|
|
16
|
+
* <sigvelo-resize-observer>
|
|
17
|
+
*
|
|
18
|
+
* @summary Watches child elements and dispatches an event when they resize.
|
|
19
|
+
* @tag sigvelo-resize-observer
|
|
20
|
+
* @documentation https://design-system.sigvelo.com/docs/components/resize
|
|
21
|
+
* @status stable
|
|
22
|
+
* @since 1.0
|
|
23
|
+
*
|
|
24
|
+
* @slot - The elements to observe. All direct children of the host element are observed, but not nested elements.
|
|
25
|
+
*
|
|
26
|
+
* @event sigvelo-resize - Emitted when a slotted element is resized. Like `ResizeObserver`, this event is also dispatched
|
|
27
|
+
* when each element is first observed. The `event.detail.entry` property contains a
|
|
28
|
+
* [`ResizeObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) with information about
|
|
29
|
+
* the element's dimensions.
|
|
30
|
+
*
|
|
31
|
+
* @example Default
|
|
32
|
+
* The component uses a ResizeObserver to monitor the dimensions of its direct children. A `sigvelo-resize` event is dispatched for each observed element, once when the element is first observed and once every time the element is resized.
|
|
33
|
+
*
|
|
34
|
+
* The component is styled with `display: contents`, allowing you to easily apply flex and grid layouts to the containing element without the component interfering.
|
|
35
|
+
*
|
|
36
|
+
* ```html
|
|
37
|
+
* <div id="resize__overview">
|
|
38
|
+
* <sigvelo-resize-observer>
|
|
39
|
+
* <div class="resizable">
|
|
40
|
+
* <div class="handle"></div>
|
|
41
|
+
* </div>
|
|
42
|
+
* </sigvelo-resize-observer>
|
|
43
|
+
*
|
|
44
|
+
* <div class="dimensions"></div>
|
|
45
|
+
* </div>
|
|
46
|
+
*
|
|
47
|
+
* <script>
|
|
48
|
+
* const container = document.getElementById('resize__overview');
|
|
49
|
+
* const resizeObserver = container.querySelector('sigvelo-resize-observer');
|
|
50
|
+
*
|
|
51
|
+
* <!-- Log the element's dimensions on resize -->
|
|
52
|
+
* resizeObserver.addEventListener('sigvelo-resize', event => {
|
|
53
|
+
* const contentRect = event.detail.entry.contentRect;
|
|
54
|
+
* const width = Math.round(contentRect.width);
|
|
55
|
+
* const height = Math.round(contentRect.height);
|
|
56
|
+
*
|
|
57
|
+
* dimensions.innerHTML = `${width}px × ${height}px`;
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* <!-- The code below is just to make the example resizable -->
|
|
61
|
+
* const resizable = container.querySelector('.resizable');
|
|
62
|
+
* const handle = container.querySelector('.handle');
|
|
63
|
+
* const dimensions = container.querySelector('.dimensions');
|
|
64
|
+
* let isResizing = false;
|
|
65
|
+
* let startX, startY, startWidth, startHeight;
|
|
66
|
+
*
|
|
67
|
+
* function startResize(event) {
|
|
68
|
+
* isResizing = true;
|
|
69
|
+
* startX = event.clientX;
|
|
70
|
+
* startY = event.clientY;
|
|
71
|
+
* startWidth = resizable.offsetWidth;
|
|
72
|
+
* startHeight = resizable.offsetHeight;
|
|
73
|
+
* document.addEventListener('pointermove', resize);
|
|
74
|
+
* document.addEventListener('pointerup', stopResize);
|
|
75
|
+
* handle.setPointerCapture(event.pointerId);
|
|
76
|
+
* event.preventDefault();
|
|
77
|
+
* }
|
|
78
|
+
*
|
|
79
|
+
* function resize(event) {
|
|
80
|
+
* if (!isResizing) return;
|
|
81
|
+
* const width = startWidth + (event.clientX - startX);
|
|
82
|
+
* const height = startHeight + (event.clientY - startY);
|
|
83
|
+
*
|
|
84
|
+
* resizable.style.width = `${width}px`;
|
|
85
|
+
* resizable.style.height = `${height}px`;
|
|
86
|
+
* }
|
|
87
|
+
*
|
|
88
|
+
* function stopResize(event) {
|
|
89
|
+
* if (!isResizing) return;
|
|
90
|
+
* isResizing = false;
|
|
91
|
+
* document.removeEventListener('pointermove', resize);
|
|
92
|
+
* document.removeEventListener('pointerup', stopResize);
|
|
93
|
+
* handle.releasePointerCapture(event.pointerId);
|
|
94
|
+
* }
|
|
95
|
+
*
|
|
96
|
+
* handle.addEventListener('pointerdown', startResize);
|
|
97
|
+
*
|
|
98
|
+
* // Show initial dimensions
|
|
99
|
+
* dimensions.innerHTML = `${resizable.clientWidth}px × ${resizable.clientHeight}px`;
|
|
100
|
+
* <\/script>
|
|
101
|
+
*
|
|
102
|
+
* <style>
|
|
103
|
+
* #resize__overview {
|
|
104
|
+
* position: relative;
|
|
105
|
+
* height: 200px;
|
|
106
|
+
*
|
|
107
|
+
* .resizable {
|
|
108
|
+
* z-index: 2;
|
|
109
|
+
* position: relative;
|
|
110
|
+
* width: 100%;
|
|
111
|
+
* min-width: 50px;
|
|
112
|
+
* max-width: 100%;
|
|
113
|
+
* height: 100%;
|
|
114
|
+
* min-height: 50px;
|
|
115
|
+
* max-height: 200px;
|
|
116
|
+
* border: solid 2px var(--sigvelo-color-neutral-border-subtle);
|
|
117
|
+
* border-radius: var(--sigvelo-radius-md);
|
|
118
|
+
* }
|
|
119
|
+
*
|
|
120
|
+
* .handle {
|
|
121
|
+
* position: absolute;
|
|
122
|
+
* bottom: calc(-0.75rem + 1px);
|
|
123
|
+
* right: calc(-0.75rem + 1px);
|
|
124
|
+
* width: 1.5rem;
|
|
125
|
+
* height: 1.5rem;
|
|
126
|
+
* background-color: var(--sigvelo-color-primary-bg);
|
|
127
|
+
* border: solid 2px light-dark(white, black);
|
|
128
|
+
* border-radius: var(--sigvelo-radius-circle);
|
|
129
|
+
* cursor: nwse-resize;
|
|
130
|
+
* touch-action: none;
|
|
131
|
+
* }
|
|
132
|
+
*
|
|
133
|
+
* .dimensions {
|
|
134
|
+
* position: absolute;
|
|
135
|
+
* z-index: 1;
|
|
136
|
+
* top: calc(50% - 0.5lh);
|
|
137
|
+
* left: calc(50% - 100px);
|
|
138
|
+
* width: 200px;
|
|
139
|
+
* font-size: .9375em;
|
|
140
|
+
* pointer-events: none;
|
|
141
|
+
* text-align: center;
|
|
142
|
+
* }
|
|
143
|
+
* }
|
|
144
|
+
* </style>
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* **Note:** Remember that only direct children of the host element are observed. Nested elements will not trigger intersection events.
|
|
148
|
+
*
|
|
149
|
+
* @example Providing content
|
|
150
|
+
* Slot one or more elements into the resize observer and listen for the `sigvelo-resize` event. The event includes `event.detail.entry`, which is a `ResizeObserverEntry` object that corresponds to the observed change.
|
|
151
|
+
*
|
|
152
|
+
* In it's simplest form, a resize observer can be used like this.
|
|
153
|
+
*
|
|
154
|
+
* ```html
|
|
155
|
+
* <sigvelo-resize-observer>
|
|
156
|
+
* ...
|
|
157
|
+
* </sigvelo-resize-observer>
|
|
158
|
+
*
|
|
159
|
+
* <script>
|
|
160
|
+
* const resizeObserver = document.querySelector('sigvelo-resize-observer');
|
|
161
|
+
*
|
|
162
|
+
* // Listen for resizes
|
|
163
|
+
* resizeObserver.addEventListener('sigvelo-resize', event => {
|
|
164
|
+
* console.log(event.detail.entry); // ResizeObserverEntry
|
|
165
|
+
* });
|
|
166
|
+
* <\/script>
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* **Note:** Remember that only direct children of the host element are observed.
|
|
170
|
+
*/
|
|
171
|
+
var SigveloResizeObserver = class extends SigveloElement {
|
|
172
|
+
constructor(..._args) {
|
|
173
|
+
super(..._args);
|
|
174
|
+
this.hasInitialized = false;
|
|
175
|
+
this.resizeObserver = null;
|
|
176
|
+
this.disabled = false;
|
|
177
|
+
this.box = "content-box";
|
|
178
|
+
}
|
|
179
|
+
static {
|
|
180
|
+
this.styles = [hostStyles, resize_observer_styles_default];
|
|
181
|
+
}
|
|
182
|
+
connectedCallback() {
|
|
183
|
+
super.connectedCallback();
|
|
184
|
+
this.startObserver();
|
|
185
|
+
requestAnimationFrame(() => {
|
|
186
|
+
this.hasInitialized = true;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
/** Component lifecycle method that runs when the element disconnects from the DOM */
|
|
190
|
+
disconnectedCallback() {
|
|
191
|
+
this.stopObserver();
|
|
192
|
+
super.disconnectedCallback();
|
|
193
|
+
}
|
|
194
|
+
/** Component lifecycle method that runs when properties change */
|
|
195
|
+
updated(changedProperties) {
|
|
196
|
+
super.updated(changedProperties);
|
|
197
|
+
if (changedProperties.has("disabled") && this.hasInitialized) {
|
|
198
|
+
if (this.disabled) this.stopObserver();
|
|
199
|
+
else if (!this.resizeObserver) this.startObserver();
|
|
200
|
+
}
|
|
201
|
+
if (changedProperties.has("box") && this.hasInitialized) this.startObserver();
|
|
202
|
+
}
|
|
203
|
+
handleSlotChange() {
|
|
204
|
+
if (this.hasInitialized) this.startObserver();
|
|
205
|
+
}
|
|
206
|
+
/** Starts or restarts the resize observer. */
|
|
207
|
+
startObserver() {
|
|
208
|
+
this.stopObserver();
|
|
209
|
+
if (this.disabled) return;
|
|
210
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
211
|
+
entries.forEach((entry) => {
|
|
212
|
+
const resizeEvent = new SigveloResizeEvent({ entry });
|
|
213
|
+
this.dispatchEvent(resizeEvent);
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
[...this.children].forEach((child) => {
|
|
217
|
+
this.resizeObserver?.observe(child, { box: this.box });
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/** Stops the resize observer. */
|
|
221
|
+
stopObserver() {
|
|
222
|
+
this.resizeObserver?.disconnect();
|
|
223
|
+
this.resizeObserver = null;
|
|
224
|
+
}
|
|
225
|
+
render() {
|
|
226
|
+
return html`<slot @slotchange=${this.handleSlotChange}></slot>`;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
__decorate([property({
|
|
230
|
+
type: Boolean,
|
|
231
|
+
reflect: true
|
|
232
|
+
})], SigveloResizeObserver.prototype, "disabled", void 0);
|
|
233
|
+
__decorate([property()], SigveloResizeObserver.prototype, "box", void 0);
|
|
234
|
+
customElements.define("sigvelo-resize-observer", SigveloResizeObserver);
|
|
235
|
+
//#endregion
|
|
236
|
+
export { SigveloResizeObserver as t };
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { t as __decorate } from "./decorate-DcF3lt7P.js";
|
|
2
|
+
import { css, html } from "lit";
|
|
3
|
+
import { property } 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/scroll-area/scroll-area.styles.ts
|
|
7
|
+
var scroll_area_styles_default = css`
|
|
8
|
+
:host {
|
|
9
|
+
--thumb-color: var(--sigvelo-color-neutral-bg);
|
|
10
|
+
--thumb-hover-color: var(--sigvelo-color-neutral-bg-strong);
|
|
11
|
+
--track-color: transparent;
|
|
12
|
+
--scroll-area-height: auto;
|
|
13
|
+
|
|
14
|
+
display: block;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#viewport {
|
|
18
|
+
height: var(--scroll-area-height);
|
|
19
|
+
scrollbar-width: thin;
|
|
20
|
+
scrollbar-color: var(--thumb-color) var(--track-color);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:host([orientation="vertical"]) #viewport {
|
|
24
|
+
overflow-x: hidden;
|
|
25
|
+
overflow-y: auto;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:host([orientation="horizontal"]) #viewport {
|
|
29
|
+
overflow-x: auto;
|
|
30
|
+
overflow-y: hidden;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
:host([orientation="both"]) #viewport {
|
|
34
|
+
overflow: auto;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Webkit scrollbar styling */
|
|
38
|
+
#viewport::-webkit-scrollbar {
|
|
39
|
+
width: 8px;
|
|
40
|
+
height: 8px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#viewport::-webkit-scrollbar-track {
|
|
44
|
+
background: var(--track-color);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#viewport::-webkit-scrollbar-thumb {
|
|
48
|
+
background-color: var(--thumb-color);
|
|
49
|
+
border-radius: var(--sigvelo-radius-full);
|
|
50
|
+
border: 2px solid transparent;
|
|
51
|
+
background-clip: content-box;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#viewport::-webkit-scrollbar-thumb:hover {
|
|
55
|
+
background-color: var(--thumb-hover-color);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
#viewport::-webkit-scrollbar-corner {
|
|
59
|
+
background: var(--track-color);
|
|
60
|
+
}
|
|
61
|
+
`;
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/components/scroll-area/scroll-area.ts
|
|
64
|
+
/**
|
|
65
|
+
* <sigvelo-scroll-area>
|
|
66
|
+
*
|
|
67
|
+
* @summary A container with styled scrollbars.
|
|
68
|
+
* @tag sigvelo-scroll-area
|
|
69
|
+
* @status experimental
|
|
70
|
+
* @since 1.0
|
|
71
|
+
*
|
|
72
|
+
* @slot - The scrollable content.
|
|
73
|
+
*
|
|
74
|
+
* @cssproperty [--thumb-color=var(--sigvelo-color-neutral-bg)] - The scrollbar thumb color.
|
|
75
|
+
* @cssproperty [--thumb-hover-color] - The scrollbar thumb color on hover.
|
|
76
|
+
* @cssproperty [--track-color=transparent] - The scrollbar track color.
|
|
77
|
+
* @cssproperty [--scroll-area-height=auto] - The height of the scroll area.
|
|
78
|
+
*
|
|
79
|
+
* @csspart viewport - The scrollable viewport container.
|
|
80
|
+
*
|
|
81
|
+
* @example Default
|
|
82
|
+
* ```html
|
|
83
|
+
* <sigvelo-scroll-area style="--scroll-area-height: 200px;">
|
|
84
|
+
* <div style="padding: 1rem;">
|
|
85
|
+
* <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
86
|
+
* <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
|
|
87
|
+
* <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
|
|
88
|
+
* <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
89
|
+
* <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</p>
|
|
90
|
+
* <p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit.</p>
|
|
91
|
+
* </div>
|
|
92
|
+
* </sigvelo-scroll-area>
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* @example Horizontal scrolling
|
|
96
|
+
* ```html
|
|
97
|
+
* <sigvelo-scroll-area orientation="horizontal" style="--scroll-area-height: auto;">
|
|
98
|
+
* <div style="display: flex; gap: 1rem; padding: 1rem; width: max-content;">
|
|
99
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-subtle); border-radius: var(--sigvelo-radius-md);"></div>
|
|
100
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-muted); border-radius: var(--sigvelo-radius-md);"></div>
|
|
101
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-subtle); border-radius: var(--sigvelo-radius-md);"></div>
|
|
102
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-muted); border-radius: var(--sigvelo-radius-md);"></div>
|
|
103
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-subtle); border-radius: var(--sigvelo-radius-md);"></div>
|
|
104
|
+
* </div>
|
|
105
|
+
* </sigvelo-scroll-area>
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
var SigveloScrollArea = class extends SigveloElement {
|
|
109
|
+
constructor(..._args) {
|
|
110
|
+
super(..._args);
|
|
111
|
+
this.orientation = "vertical";
|
|
112
|
+
}
|
|
113
|
+
static {
|
|
114
|
+
this.styles = [hostStyles, scroll_area_styles_default];
|
|
115
|
+
}
|
|
116
|
+
render() {
|
|
117
|
+
return html`
|
|
118
|
+
<div id="viewport" part="viewport" tabindex="0">
|
|
119
|
+
<slot></slot>
|
|
120
|
+
</div>
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
__decorate([property({ reflect: true })], SigveloScrollArea.prototype, "orientation", void 0);
|
|
125
|
+
customElements.define("sigvelo-scroll-area", SigveloScrollArea);
|
|
126
|
+
//#endregion
|
|
127
|
+
export { SigveloScrollArea as t };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CSSResultGroup } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/scroll-area/scroll-area.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-scroll-area>
|
|
7
|
+
*
|
|
8
|
+
* @summary A container with styled scrollbars.
|
|
9
|
+
* @tag sigvelo-scroll-area
|
|
10
|
+
* @status experimental
|
|
11
|
+
* @since 1.0
|
|
12
|
+
*
|
|
13
|
+
* @slot - The scrollable content.
|
|
14
|
+
*
|
|
15
|
+
* @cssproperty [--thumb-color=var(--sigvelo-color-neutral-bg)] - The scrollbar thumb color.
|
|
16
|
+
* @cssproperty [--thumb-hover-color] - The scrollbar thumb color on hover.
|
|
17
|
+
* @cssproperty [--track-color=transparent] - The scrollbar track color.
|
|
18
|
+
* @cssproperty [--scroll-area-height=auto] - The height of the scroll area.
|
|
19
|
+
*
|
|
20
|
+
* @csspart viewport - The scrollable viewport container.
|
|
21
|
+
*
|
|
22
|
+
* @example Default
|
|
23
|
+
* ```html
|
|
24
|
+
* <sigvelo-scroll-area style="--scroll-area-height: 200px;">
|
|
25
|
+
* <div style="padding: 1rem;">
|
|
26
|
+
* <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
27
|
+
* <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
|
|
28
|
+
* <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
|
|
29
|
+
* <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
30
|
+
* <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</p>
|
|
31
|
+
* <p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit.</p>
|
|
32
|
+
* </div>
|
|
33
|
+
* </sigvelo-scroll-area>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example Horizontal scrolling
|
|
37
|
+
* ```html
|
|
38
|
+
* <sigvelo-scroll-area orientation="horizontal" style="--scroll-area-height: auto;">
|
|
39
|
+
* <div style="display: flex; gap: 1rem; padding: 1rem; width: max-content;">
|
|
40
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-subtle); border-radius: var(--sigvelo-radius-md);"></div>
|
|
41
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-muted); border-radius: var(--sigvelo-radius-md);"></div>
|
|
42
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-subtle); border-radius: var(--sigvelo-radius-md);"></div>
|
|
43
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-muted); border-radius: var(--sigvelo-radius-md);"></div>
|
|
44
|
+
* <div style="width: 200px; height: 100px; background: var(--sigvelo-color-primary-bg-subtle); border-radius: var(--sigvelo-radius-md);"></div>
|
|
45
|
+
* </div>
|
|
46
|
+
* </sigvelo-scroll-area>
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
declare class SigveloScrollArea extends SigveloElement {
|
|
50
|
+
static styles: CSSResultGroup;
|
|
51
|
+
/** Which axis to allow scrolling on. */
|
|
52
|
+
orientation: "vertical" | "horizontal" | "both";
|
|
53
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
54
|
+
}
|
|
55
|
+
declare global {
|
|
56
|
+
interface HTMLElementTagNameMap {
|
|
57
|
+
"sigvelo-scroll-area": SigveloScrollArea;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//#endregion
|
|
61
|
+
export { SigveloScrollArea as t };
|