@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,388 @@
|
|
|
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 { SigveloMutationEvent } from "@mcp-b/wc-support/events/mutation";
|
|
7
|
+
//#region src/components/mutation-observer/mutation-observer.styles.ts
|
|
8
|
+
var mutation_observer_styles_default = css`
|
|
9
|
+
:host {
|
|
10
|
+
display: contents;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/mutation-observer/mutation-observer.ts
|
|
15
|
+
/**
|
|
16
|
+
* <sigvelo-mutation-observer>
|
|
17
|
+
*
|
|
18
|
+
* @summary Watches child elements and dispatches an event when they mutate.
|
|
19
|
+
* @tag sigvelo-mutation-observer
|
|
20
|
+
* @documentation https://design-system.sigvelo.com/docs/components/mutation
|
|
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-mutation - Emitted when a slotted element is mutated. The `event.detail.record` property contains a
|
|
27
|
+
* [`MutationRecord`](https://developer.mozilla.org/en-US/docs/Web/API/MutationRecord) with information about
|
|
28
|
+
* the mutation.
|
|
29
|
+
*
|
|
30
|
+
* @example Default
|
|
31
|
+
* The component uses a MutationObserver to monitor when its direct children are added, removed, or modified. A `sigvelo-mutation` event is dispatched for each observed change, providing detailed information about what was mutated.
|
|
32
|
+
*
|
|
33
|
+
* The component is styled with `display: contents`, allowing you to easily apply flex and grid layouts to the containing element without the component interfering.
|
|
34
|
+
*
|
|
35
|
+
* ```html
|
|
36
|
+
* <div id="mutation__overview">
|
|
37
|
+
* <sigvelo-mutation-observer child-list>
|
|
38
|
+
* <div class="box">1 <button aria-label="Remove">✕</button></div>
|
|
39
|
+
* <div class="box">2 <button aria-label="Remove">✕</button></div>
|
|
40
|
+
* <div class="box">3 <button aria-label="Remove">✕</button></div>
|
|
41
|
+
* </sigvelo-mutation-observer>
|
|
42
|
+
* </div>
|
|
43
|
+
*
|
|
44
|
+
* <sigvelo-button>Add box</sigvelo-button>
|
|
45
|
+
*
|
|
46
|
+
* <small>Add and remove some items, then open the console to inspect the output.</small>
|
|
47
|
+
*
|
|
48
|
+
* <script>
|
|
49
|
+
* const container = document.getElementById('mutation__overview');
|
|
50
|
+
* const mutationObserver = container.querySelector('sigvelo-mutation-observer');
|
|
51
|
+
* const appendButton = container.nextElementSibling;
|
|
52
|
+
* let count = mutationObserver.querySelectorAll('.box').length;
|
|
53
|
+
*
|
|
54
|
+
* // Listen for mutations
|
|
55
|
+
* mutationObserver.addEventListener('sigvelo-mutation', event => {
|
|
56
|
+
* console.log(event.detail.record);
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* // Remove a card
|
|
60
|
+
* mutationObserver.addEventListener('click', event => {
|
|
61
|
+
* const button = event.target.closest('button');
|
|
62
|
+
* const box = button?.closest('.box');
|
|
63
|
+
* box?.remove();
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* // Append a box
|
|
67
|
+
* appendButton.addEventListener('click', () => {
|
|
68
|
+
* const html = `<div class="box">${++count} <button aria-label="Remove">✕</button></div>`;
|
|
69
|
+
* mutationObserver.insertAdjacentHTML('beforeEnd', html);
|
|
70
|
+
* });
|
|
71
|
+
* <\/script>
|
|
72
|
+
*
|
|
73
|
+
* <style>
|
|
74
|
+
* #mutation__overview {
|
|
75
|
+
* display: flex;
|
|
76
|
+
* flex-wrap: wrap;
|
|
77
|
+
* gap: 1.5rem;
|
|
78
|
+
* min-height: 5rem;
|
|
79
|
+
* margin-block-end: 1rem;
|
|
80
|
+
*
|
|
81
|
+
* .box {
|
|
82
|
+
* display: flex;
|
|
83
|
+
* align-items: center;
|
|
84
|
+
* justify-content: center;
|
|
85
|
+
* position: relative;
|
|
86
|
+
* min-width: 5rem;
|
|
87
|
+
* height: 5rem;
|
|
88
|
+
* border-radius: var(--sigvelo-radius-md);
|
|
89
|
+
* background-color: var(--sigvelo-color-neutral-bg-subtle);
|
|
90
|
+
* box-shadow: var(--sigvelo-elevation-hairline);
|
|
91
|
+
* text-align: center;
|
|
92
|
+
* padding: 1rem;
|
|
93
|
+
*
|
|
94
|
+
* button {
|
|
95
|
+
* display: flex;
|
|
96
|
+
* align-items: center;
|
|
97
|
+
* justify-content: center;
|
|
98
|
+
* background-color: var(--sigvelo-color-neutral-bg-strong);
|
|
99
|
+
* color: var(--sigvelo-color-neutral-text-on-strong);
|
|
100
|
+
* font-size: .75em;
|
|
101
|
+
* padding: 0;
|
|
102
|
+
* width: 1.25rem;
|
|
103
|
+
* height: 1.25rem;
|
|
104
|
+
* min-height: 0;
|
|
105
|
+
* position: absolute;
|
|
106
|
+
* top: -0.625rem;
|
|
107
|
+
* right: -0.625rem;
|
|
108
|
+
* border-radius: var(--sigvelo-radius-circle);
|
|
109
|
+
* }
|
|
110
|
+
* }
|
|
111
|
+
*
|
|
112
|
+
* ~ small {
|
|
113
|
+
* display: block;
|
|
114
|
+
* margin-block-start: 1rem;
|
|
115
|
+
* }
|
|
116
|
+
* }
|
|
117
|
+
* </style>
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* **Note:** Remember that only direct children of the host element are observed. Nested elements will not trigger mutation events unless the `subtree` attribute is enabled.
|
|
121
|
+
*
|
|
122
|
+
* @example Providing content
|
|
123
|
+
* Slot one or more elements into the mutation observer and listen for the `sigvelo-mutation` event. The event includes `event.detail.record`, which is a `MutationRecord` object that corresponds to the mutated element.
|
|
124
|
+
*
|
|
125
|
+
* In its simplest form, a mutation observer can be used like this.
|
|
126
|
+
*
|
|
127
|
+
* ```html
|
|
128
|
+
* <sigvelo-mutation-observer child-list>
|
|
129
|
+
* <div>Item 1</div>
|
|
130
|
+
* <div>Item 2</div>
|
|
131
|
+
* <div>Item 3</div>
|
|
132
|
+
* </sigvelo-mutation-observer>
|
|
133
|
+
*
|
|
134
|
+
* <script>
|
|
135
|
+
* const mutationObserver = document.querySelector('sigvelo-mutation-observer');
|
|
136
|
+
*
|
|
137
|
+
* // Listen for mutations
|
|
138
|
+
* mutationObserver.addEventListener('sigvelo-mutation', event => {
|
|
139
|
+
* console.log(event.detail.record); // MutationRecord
|
|
140
|
+
* });
|
|
141
|
+
* <\/script>
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @example Observing attribute changes
|
|
145
|
+
* Use the `attr` attribute to monitor changes to element attributes. You can optionally specify `attr-old-value` to record the previous attribute value.
|
|
146
|
+
*
|
|
147
|
+
* ```html
|
|
148
|
+
* <sigvelo-mutation-observer attr attr-old-value>
|
|
149
|
+
* <div id="target" class="example">Watch my attributes</div>
|
|
150
|
+
* </sigvelo-mutation-observer>
|
|
151
|
+
*
|
|
152
|
+
* <script>
|
|
153
|
+
* const observer = document.querySelector('sigvelo-mutation-observer');
|
|
154
|
+
* const target = observer.querySelector('#target');
|
|
155
|
+
*
|
|
156
|
+
* observer.addEventListener('sigvelo-mutation', event => {
|
|
157
|
+
* const record = event.detail.record;
|
|
158
|
+
* console.log(`Attribute "${record.attributeName}" changed`);
|
|
159
|
+
* console.log(`Old value: ${record.oldValue}`);
|
|
160
|
+
* console.log(`New value: ${record.target.getAttribute(record.attributeName)}`);
|
|
161
|
+
* });
|
|
162
|
+
*
|
|
163
|
+
* // Change an attribute to trigger the observer
|
|
164
|
+
* target.className = 'modified';
|
|
165
|
+
* <\/script>
|
|
166
|
+
* ```
|
|
167
|
+
*
|
|
168
|
+
* @example Filtering specific attributes
|
|
169
|
+
* Limit observations to specific attributes using the `attr-filter` attribute. Separate multiple attribute names with spaces.
|
|
170
|
+
*
|
|
171
|
+
* ```html
|
|
172
|
+
* <sigvelo-mutation-observer attr attr-filter="class data-state">
|
|
173
|
+
* <div class="example" data-state="active" id="example">
|
|
174
|
+
* Only class and data-state changes are observed
|
|
175
|
+
* </div>
|
|
176
|
+
* </sigvelo-mutation-observer>
|
|
177
|
+
*
|
|
178
|
+
* <script>
|
|
179
|
+
* const observer = document.querySelector('sigvelo-mutation-observer');
|
|
180
|
+
* const target = observer.querySelector('#example');
|
|
181
|
+
*
|
|
182
|
+
* observer.addEventListener('sigvelo-mutation', event => {
|
|
183
|
+
* console.log(`Observed attribute: ${event.detail.record.attributeName}`);
|
|
184
|
+
* });
|
|
185
|
+
*
|
|
186
|
+
* // These will trigger events
|
|
187
|
+
* target.className = 'modified';
|
|
188
|
+
* target.setAttribute('data-state', 'inactive');
|
|
189
|
+
*
|
|
190
|
+
* // This will NOT trigger an event
|
|
191
|
+
* target.id = 'new-id';
|
|
192
|
+
* <\/script>
|
|
193
|
+
* ```
|
|
194
|
+
*
|
|
195
|
+
* @example Observing text content changes
|
|
196
|
+
* Use the `character-data` attribute to monitor changes to text nodes. The `character-data-old-value` attribute records the previous text content.
|
|
197
|
+
*
|
|
198
|
+
* ```html
|
|
199
|
+
* <sigvelo-mutation-observer character-data character-data-old-value subtree>
|
|
200
|
+
* <p id="text-content">Original text content</p>
|
|
201
|
+
* </sigvelo-mutation-observer>
|
|
202
|
+
*
|
|
203
|
+
* <script>
|
|
204
|
+
* const observer = document.querySelector('sigvelo-mutation-observer');
|
|
205
|
+
* const paragraph = observer.querySelector('#text-content');
|
|
206
|
+
*
|
|
207
|
+
* observer.addEventListener('sigvelo-mutation', event => {
|
|
208
|
+
* const record = event.detail.record;
|
|
209
|
+
* console.log(`Text changed from "${record.oldValue}" to "${record.target.textContent}"`);
|
|
210
|
+
* });
|
|
211
|
+
*
|
|
212
|
+
* // Change text content to trigger the observer
|
|
213
|
+
* paragraph.textContent = 'Updated text content';
|
|
214
|
+
* <\/script>
|
|
215
|
+
* ```
|
|
216
|
+
*
|
|
217
|
+
* @example Observing nested elements
|
|
218
|
+
* By default, only direct children are observed. Add the `subtree` attribute to observe changes in nested elements as well.
|
|
219
|
+
*
|
|
220
|
+
* ```html
|
|
221
|
+
* <sigvelo-mutation-observer child-list subtree>
|
|
222
|
+
* <div class="container">
|
|
223
|
+
* <div class="nested">
|
|
224
|
+
* <span>Nested content</span>
|
|
225
|
+
* </div>
|
|
226
|
+
* </div>
|
|
227
|
+
* </sigvelo-mutation-observer>
|
|
228
|
+
*
|
|
229
|
+
* <script>
|
|
230
|
+
* const observer = document.querySelector('sigvelo-mutation-observer');
|
|
231
|
+
* const nested = observer.querySelector('.nested');
|
|
232
|
+
*
|
|
233
|
+
* observer.addEventListener('sigvelo-mutation', event => {
|
|
234
|
+
* console.log('Mutation detected in subtree:', event.detail.record);
|
|
235
|
+
* });
|
|
236
|
+
*
|
|
237
|
+
* // This will trigger the observer even though span is deeply nested
|
|
238
|
+
* nested.innerHTML = '<span>New nested content</span>';
|
|
239
|
+
* <\/script>
|
|
240
|
+
* ```
|
|
241
|
+
*
|
|
242
|
+
* @example Combining multiple observation types
|
|
243
|
+
* You can observe multiple types of mutations simultaneously by combining attributes.
|
|
244
|
+
*
|
|
245
|
+
* ```html
|
|
246
|
+
* <sigvelo-mutation-observer
|
|
247
|
+
* child-list
|
|
248
|
+
* attr
|
|
249
|
+
* character-data
|
|
250
|
+
* subtree
|
|
251
|
+
* attr-old-value
|
|
252
|
+
* character-data-old-value
|
|
253
|
+
* >
|
|
254
|
+
* <div class="comprehensive-example">
|
|
255
|
+
* <p>This observer watches everything</p>
|
|
256
|
+
* </div>
|
|
257
|
+
* </sigvelo-mutation-observer>
|
|
258
|
+
*
|
|
259
|
+
* <script>
|
|
260
|
+
* const observer = document.querySelector('sigvelo-mutation-observer');
|
|
261
|
+
*
|
|
262
|
+
* observer.addEventListener('sigvelo-mutation', event => {
|
|
263
|
+
* const record = event.detail.record;
|
|
264
|
+
*
|
|
265
|
+
* switch (record.type) {
|
|
266
|
+
* case 'childList':
|
|
267
|
+
* console.log('Child nodes changed');
|
|
268
|
+
* break;
|
|
269
|
+
* case 'attributes':
|
|
270
|
+
* console.log(`Attribute "${record.attributeName}" changed`);
|
|
271
|
+
* break;
|
|
272
|
+
* case 'characterData':
|
|
273
|
+
* console.log('Text content changed');
|
|
274
|
+
* break;
|
|
275
|
+
* }
|
|
276
|
+
* });
|
|
277
|
+
* <\/script>
|
|
278
|
+
* ```
|
|
279
|
+
*
|
|
280
|
+
* @example Disabling the observer
|
|
281
|
+
* Use the `disabled` attribute to temporarily stop observing mutations without removing the component.
|
|
282
|
+
*
|
|
283
|
+
* ```html
|
|
284
|
+
* <sigvelo-mutation-observer child-list disabled>
|
|
285
|
+
* <div>Changes to this content won't be observed</div>
|
|
286
|
+
* </sigvelo-mutation-observer>
|
|
287
|
+
*
|
|
288
|
+
* <script>
|
|
289
|
+
* const observer = document.querySelector('sigvelo-mutation-observer');
|
|
290
|
+
*
|
|
291
|
+
* // Re-enable observation
|
|
292
|
+
* observer.disabled = false;
|
|
293
|
+
*
|
|
294
|
+
* // Disable observation again
|
|
295
|
+
* observer.disabled = true;
|
|
296
|
+
* <\/script>
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
var SigveloMutationObserver = class extends SigveloElement {
|
|
300
|
+
constructor(..._args) {
|
|
301
|
+
super(..._args);
|
|
302
|
+
this.mutationObserver = null;
|
|
303
|
+
this.disabled = false;
|
|
304
|
+
this.attr = false;
|
|
305
|
+
this.attrOldValue = false;
|
|
306
|
+
this.attrFilter = "";
|
|
307
|
+
this.childList = false;
|
|
308
|
+
this.subtree = false;
|
|
309
|
+
this.characterData = false;
|
|
310
|
+
this.characterDataOldValue = false;
|
|
311
|
+
}
|
|
312
|
+
static {
|
|
313
|
+
this.styles = [hostStyles, mutation_observer_styles_default];
|
|
314
|
+
}
|
|
315
|
+
connectedCallback() {
|
|
316
|
+
super.connectedCallback();
|
|
317
|
+
this.startObserver();
|
|
318
|
+
}
|
|
319
|
+
disconnectedCallback() {
|
|
320
|
+
this.stopObserver();
|
|
321
|
+
super.disconnectedCallback();
|
|
322
|
+
}
|
|
323
|
+
updated(changedProperties) {
|
|
324
|
+
super.updated(changedProperties);
|
|
325
|
+
if (changedProperties.has("disabled")) {
|
|
326
|
+
if (this.disabled) this.stopObserver();
|
|
327
|
+
else if (!this.mutationObserver) this.startObserver();
|
|
328
|
+
}
|
|
329
|
+
if (changedProperties.has("attr") || changedProperties.has("attrOldValue") || changedProperties.has("attrFilter") || changedProperties.has("childList") || changedProperties.has("subtree") || changedProperties.has("characterData") || changedProperties.has("characterDataOldValue")) this.startObserver();
|
|
330
|
+
}
|
|
331
|
+
/** Starts or restarts the mutation observer. */
|
|
332
|
+
startObserver() {
|
|
333
|
+
this.stopObserver();
|
|
334
|
+
if (this.disabled) return;
|
|
335
|
+
this.mutationObserver = new MutationObserver((records) => {
|
|
336
|
+
records.forEach((record) => {
|
|
337
|
+
const mutationEvent = new SigveloMutationEvent({ record });
|
|
338
|
+
this.dispatchEvent(mutationEvent);
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
this.mutationObserver.observe(this, {
|
|
342
|
+
attributes: this.attr,
|
|
343
|
+
attributeOldValue: this.attrOldValue,
|
|
344
|
+
attributeFilter: this.attrFilter.length > 0 ? this.attrFilter.split(" ").map((attr) => attr.trim()) : void 0,
|
|
345
|
+
childList: this.childList,
|
|
346
|
+
subtree: this.subtree,
|
|
347
|
+
characterData: this.characterData,
|
|
348
|
+
characterDataOldValue: this.characterDataOldValue
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
/** Stops the mutation observer. */
|
|
352
|
+
stopObserver() {
|
|
353
|
+
this.mutationObserver?.disconnect();
|
|
354
|
+
this.mutationObserver = null;
|
|
355
|
+
}
|
|
356
|
+
render() {
|
|
357
|
+
return html` <slot></slot> `;
|
|
358
|
+
}
|
|
359
|
+
};
|
|
360
|
+
__decorate([property({
|
|
361
|
+
type: Boolean,
|
|
362
|
+
reflect: true
|
|
363
|
+
})], SigveloMutationObserver.prototype, "disabled", void 0);
|
|
364
|
+
__decorate([property({
|
|
365
|
+
attribute: "attr",
|
|
366
|
+
type: Boolean
|
|
367
|
+
})], SigveloMutationObserver.prototype, "attr", void 0);
|
|
368
|
+
__decorate([property({
|
|
369
|
+
attribute: "attr-old-value",
|
|
370
|
+
type: Boolean
|
|
371
|
+
})], SigveloMutationObserver.prototype, "attrOldValue", void 0);
|
|
372
|
+
__decorate([property({ attribute: "attr-filter" })], SigveloMutationObserver.prototype, "attrFilter", void 0);
|
|
373
|
+
__decorate([property({
|
|
374
|
+
attribute: "child-list",
|
|
375
|
+
type: Boolean
|
|
376
|
+
})], SigveloMutationObserver.prototype, "childList", void 0);
|
|
377
|
+
__decorate([property({ type: Boolean })], SigveloMutationObserver.prototype, "subtree", void 0);
|
|
378
|
+
__decorate([property({
|
|
379
|
+
attribute: "character-data",
|
|
380
|
+
type: Boolean
|
|
381
|
+
})], SigveloMutationObserver.prototype, "characterData", void 0);
|
|
382
|
+
__decorate([property({
|
|
383
|
+
attribute: "character-data-old-value",
|
|
384
|
+
type: Boolean
|
|
385
|
+
})], SigveloMutationObserver.prototype, "characterDataOldValue", void 0);
|
|
386
|
+
customElements.define("sigvelo-mutation-observer", SigveloMutationObserver);
|
|
387
|
+
//#endregion
|
|
388
|
+
export { SigveloMutationObserver as t };
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/navicon/navicon.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-navicon>
|
|
7
|
+
*
|
|
8
|
+
* @summary A navicon, or "hamburger button", is a special button used to control mobile navigation menus.
|
|
9
|
+
* @tag sigvelo-navicon
|
|
10
|
+
* @documentation https://design-system.sigvelo.com/docs/components/navicon
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0
|
|
13
|
+
*
|
|
14
|
+
* @event sigvelo-blur - Emitted when the navicon loses focus. This event does not bubble.
|
|
15
|
+
* @event sigvelo-focus - Emitted when the navicon receives focus. This event does not bubble.
|
|
16
|
+
*
|
|
17
|
+
* @csspart line - The individual lines that make up the navicon symbol.
|
|
18
|
+
* @csspart line-top - The top line.
|
|
19
|
+
* @csspart line-middle - The middle line (hamburger symbol only).
|
|
20
|
+
* @csspart line-bottom - The bottom line.
|
|
21
|
+
*
|
|
22
|
+
* @cssstate expanded - Applied when the navicon is toggled on.
|
|
23
|
+
* @cssstate disabled - Applied when the navicon is disabled.
|
|
24
|
+
* @cssstate focused - Applied when the navicon has focus.
|
|
25
|
+
*
|
|
26
|
+
* @cssproperty [--dot-size=0.125em] - The width of each dot. Available when symbol is `vertical-dots` or `horizontal-dots`.
|
|
27
|
+
* @cssproperty [--line-width=0.0625em] - The width of each line. Available when symbol is `hamburger` or `equals`.
|
|
28
|
+
* @cssproperty [--line-transition-duration=200ms] - The duration of the symbol's animation.
|
|
29
|
+
* @cssproperty [--line-transition-easing=cubic-bezier(0.4, 0, 0.2, 1)] - The easing to use for the symbol's animation.
|
|
30
|
+
* @cssproperty [--dot-size=0.125em] - The size of the dots in the dots symbol.
|
|
31
|
+
*
|
|
32
|
+
* @example Default
|
|
33
|
+
* ```html
|
|
34
|
+
* <sigvelo-navicon label="Toggle menu" style="font-size: 1.75rem;"></sigvelo-navicon>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example Associating a menu
|
|
38
|
+
* To associate the navicon with a navigation menu, add `for="id"`, where `id` is the ID of the nav menu that will show/hide when toggled. This tells assistive devices which element the navicon controls. The nav menu must exist in the same document as the navicon to work correctly.
|
|
39
|
+
*
|
|
40
|
+
* ```html
|
|
41
|
+
* <sigvelo-navicon for="nav-menu"></sigvelo-navicon>
|
|
42
|
+
*
|
|
43
|
+
* <!-- The navicon will toggle this element -->
|
|
44
|
+
* <nav id="nav-menu">
|
|
45
|
+
* ...
|
|
46
|
+
* </nav>
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* **The navicon does not show or hide the menu for you.** You must add your own JavaScript and/or CSS to toggle it. You can listen for the `click` event and manage things with JavaScript.
|
|
50
|
+
*
|
|
51
|
+
* ```js
|
|
52
|
+
* const navicon = document.querySelector('sigvelo-navicon');
|
|
53
|
+
*
|
|
54
|
+
* navicon.addEventListener('click', () => {
|
|
55
|
+
* if (navicon.expanded) {
|
|
56
|
+
* // Show the menu
|
|
57
|
+
* } else {
|
|
58
|
+
* // Hide the menu
|
|
59
|
+
* }
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* For a CSS-only solution, try using the `:has()` selector combined with `:state(expanded)` to target the nav menu when the navicon is expanded.
|
|
64
|
+
*
|
|
65
|
+
* ```css
|
|
66
|
+
* #nav-menu {
|
|
67
|
+
* <!-- Hidden menu styles -->
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* body:has(sigvelo-navicon:state(expanded)) #nav-menu {
|
|
71
|
+
* <!-- Visible menu styles -->
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @example Customizing the label
|
|
76
|
+
* By default, the navicon's accessible label is a localized version of the phrase "toggle navigation." Use the `label` attribute to provide your own label. Labels aren't displayed on the screen, but they're announced by assistive devices.
|
|
77
|
+
*
|
|
78
|
+
* ```html
|
|
79
|
+
* <sigvelo-navicon label="View mobile menu" style="font-size: 1.75rem;"></sigvelo-navicon>
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @example Changing the symbol
|
|
83
|
+
* Use the `symbol` attribute to choose between the `hamburger`, `equals`, `horizontal-dots`, and `vertical-dots` symbols.
|
|
84
|
+
*
|
|
85
|
+
* ```html
|
|
86
|
+
* <div style="font-size: 1.75rem;">
|
|
87
|
+
* <sigvelo-navicon symbol="hamburger"></sigvelo-navicon>
|
|
88
|
+
* <sigvelo-navicon symbol="equals"></sigvelo-navicon>
|
|
89
|
+
* <sigvelo-navicon symbol="horizontal-dots"></sigvelo-navicon>
|
|
90
|
+
* <sigvelo-navicon symbol="vertical-dots"></sigvelo-navicon>
|
|
91
|
+
* </div>
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* @example Changing the size
|
|
95
|
+
* Navicons are sized based on the current font size. You can make them bigger or smaller by changing the `font-size` property on the component or an ancestor. A good default size is 1.75rem, which equals 28×28px with a 16px root size.
|
|
96
|
+
*
|
|
97
|
+
* ```html
|
|
98
|
+
* <sigvelo-navicon style="font-size: 1rem;"></sigvelo-navicon>
|
|
99
|
+
* <sigvelo-navicon style="font-size: 1rem;" symbol="equals"></sigvelo-navicon>
|
|
100
|
+
* <sigvelo-navicon style="font-size: 1rem;" symbol="horizontal-dots"></sigvelo-navicon>
|
|
101
|
+
* <sigvelo-navicon style="font-size: 1rem;" symbol="vertical-dots"></sigvelo-navicon>
|
|
102
|
+
* <br><br>
|
|
103
|
+
* <sigvelo-navicon style="font-size: 3rem;"></sigvelo-navicon>
|
|
104
|
+
* <sigvelo-navicon style="font-size: 3rem;" symbol="equals" ></sigvelo-navicon>
|
|
105
|
+
* <sigvelo-navicon style="font-size: 3rem;" symbol="horizontal-dots" ></sigvelo-navicon>
|
|
106
|
+
* <sigvelo-navicon style="font-size: 3rem;" symbol="vertical-dots" ></sigvelo-navicon>
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @example Changing the color
|
|
110
|
+
* Set the `color` CSS property to control the color of the navicon.
|
|
111
|
+
*
|
|
112
|
+
* ```html
|
|
113
|
+
* <div style="font-size: 1.75rem;">
|
|
114
|
+
* <sigvelo-navicon style="color: deeppink;"></sigvelo-navicon>
|
|
115
|
+
* <sigvelo-navicon symbol="equals" style="color: dodgerblue;"></sigvelo-navicon>
|
|
116
|
+
* <sigvelo-navicon symbol="horizontal-dots" style="color: seagreen;"></sigvelo-navicon>
|
|
117
|
+
* <sigvelo-navicon symbol="vertical-dots" style="color: tomato;"></sigvelo-navicon>
|
|
118
|
+
* </div>
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @example Disabling
|
|
122
|
+
* Use the `disabled` attribute to disable the navicon.
|
|
123
|
+
*
|
|
124
|
+
* ```html
|
|
125
|
+
* <sigvelo-navicon disabled style="font-size: 1.75rem;"></sigvelo-navicon>
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
declare class SigveloNavicon extends SigveloElement {
|
|
129
|
+
static styles: CSSResultGroup;
|
|
130
|
+
private localize;
|
|
131
|
+
/**
|
|
132
|
+
* The ID of the associated menu that gets shown/hidden when the navicon is toggled. The element must be in the same
|
|
133
|
+
* document as the navicon.
|
|
134
|
+
*/
|
|
135
|
+
for: string;
|
|
136
|
+
/** Determines if the navicon is toggled on. */
|
|
137
|
+
expanded: boolean;
|
|
138
|
+
/** Determines the navicon's symbol. */
|
|
139
|
+
symbol: "hamburger" | "equals" | "horizontal-dots" | "vertical-dots";
|
|
140
|
+
/** Disables the navicon. */
|
|
141
|
+
disabled: boolean;
|
|
142
|
+
/** The accessible label for the navicon. */
|
|
143
|
+
label: string;
|
|
144
|
+
connectedCallback(): void;
|
|
145
|
+
disconnectedCallback(): void;
|
|
146
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
147
|
+
private handleBlur;
|
|
148
|
+
private handleFocus;
|
|
149
|
+
private handleClick;
|
|
150
|
+
private handleKeyDown;
|
|
151
|
+
render(): import("lit-html").TemplateResult;
|
|
152
|
+
}
|
|
153
|
+
declare global {
|
|
154
|
+
interface HTMLElementTagNameMap {
|
|
155
|
+
"sigvelo-navicon": SigveloNavicon;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//#endregion
|
|
159
|
+
export { SigveloNavicon as t };
|