@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,122 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/toolbar/toolbar.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-toolbar>
|
|
7
|
+
*
|
|
8
|
+
* @summary Turns a collection of buttons and button groups into an accessible toolbar.
|
|
9
|
+
* @tag sigvelo-toolbar
|
|
10
|
+
* @documentation https://design-system.sigvelo.com/docs/components/toolbar
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0
|
|
13
|
+
*
|
|
14
|
+
* @slot - A mixture of buttons and/or button groups.
|
|
15
|
+
*
|
|
16
|
+
* @example Default
|
|
17
|
+
* Toolbars follows the ARIA APG toolbar pattern for accessibility. A roving tab index is used, meaning users can tab into the control and use the arrow keys to navigate options. A subsequent tab will exit the toolbar.
|
|
18
|
+
*
|
|
19
|
+
* By grouping related buttons and button groups into toolbars, the number of tab stops in the keyboard interface is reduced, resulting in a more user-friendly experience.
|
|
20
|
+
*
|
|
21
|
+
* ```html
|
|
22
|
+
* <sigvelo-toolbar>
|
|
23
|
+
* <sigvelo-button-group>
|
|
24
|
+
* <sigvelo-button icon-label="Undo"><sigvelo-icon name="arrow-back-up"></sigvelo-icon></sigvelo-button>
|
|
25
|
+
* <sigvelo-button icon-label="Redo"><sigvelo-icon name="arrow-forward-up"></sigvelo-icon></sigvelo-button>
|
|
26
|
+
* </sigvelo-button-group>
|
|
27
|
+
*
|
|
28
|
+
* <sigvelo-button-group>
|
|
29
|
+
* <sigvelo-button icon-label="Bold"><sigvelo-icon name="bold"></sigvelo-icon></sigvelo-button>
|
|
30
|
+
* <sigvelo-button icon-label="Italic"><sigvelo-icon name="italic"></sigvelo-icon></sigvelo-button>
|
|
31
|
+
* <sigvelo-button icon-label="Underline"><sigvelo-icon name="underline"></sigvelo-icon></sigvelo-button>
|
|
32
|
+
* </sigvelo-button-group>
|
|
33
|
+
*
|
|
34
|
+
* <sigvelo-button-group>
|
|
35
|
+
* <sigvelo-button icon-label="Align left"><sigvelo-icon name="align-left"></sigvelo-icon></sigvelo-button>
|
|
36
|
+
* <sigvelo-button icon-label="Align center"><sigvelo-icon name="align-center"></sigvelo-icon></sigvelo-button>
|
|
37
|
+
* <sigvelo-button icon-label="Align right"><sigvelo-icon name="align-right"></sigvelo-icon></sigvelo-button>
|
|
38
|
+
* <sigvelo-button icon-label="Justify"><sigvelo-icon name="align-justified"></sigvelo-icon></sigvelo-button>
|
|
39
|
+
* </sigvelo-button-group>
|
|
40
|
+
* </sigvelo-toolbar>
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example Toolbars with various components
|
|
44
|
+
* Toolbars can be used with a mixture of buttons, button groups, and dropdowns that have a `<sigvelo-button>` trigger. Keyboard users will be able to cycle through all buttons with [[Left]] and [[Right]], as expected.
|
|
45
|
+
*
|
|
46
|
+
* ```html
|
|
47
|
+
* <sigvelo-toolbar>
|
|
48
|
+
* <sigvelo-button color="primary">
|
|
49
|
+
* <sigvelo-icon slot="start" name="plus"></sigvelo-icon>
|
|
50
|
+
* New
|
|
51
|
+
* </sigvelo-button>
|
|
52
|
+
*
|
|
53
|
+
* <sigvelo-button-group>
|
|
54
|
+
* <sigvelo-button icon-label="Bold"><sigvelo-icon name="bold"></sigvelo-icon></sigvelo-button>
|
|
55
|
+
* <sigvelo-button icon-label="Italic"><sigvelo-icon name="italic"></sigvelo-icon></sigvelo-button>
|
|
56
|
+
* <sigvelo-button icon-label="Underline"><sigvelo-icon name="underline"></sigvelo-icon></sigvelo-button>
|
|
57
|
+
* </sigvelo-button-group>
|
|
58
|
+
*
|
|
59
|
+
* <sigvelo-dropdown id="dropdown__checkboxes">
|
|
60
|
+
* <sigvelo-button slot="trigger" with-caret>View</sigvelo-button>
|
|
61
|
+
* <sigvelo-dropdown-item type="checkbox" value="canvas" checked>Show canvas</sigvelo-dropdown-item>
|
|
62
|
+
* <sigvelo-dropdown-item type="checkbox" value="grid" checked>Show grid</sigvelo-dropdown-item>
|
|
63
|
+
* <sigvelo-dropdown-item type="checkbox" value="source">Show source</sigvelo-dropdown-item>
|
|
64
|
+
* <sigvelo-divider></sigvelo-divider>
|
|
65
|
+
* <sigvelo-dropdown-item value="preferences">Preferences…</sigvelo-dropdown-item>
|
|
66
|
+
* </sigvelo-dropdown>
|
|
67
|
+
* </sigvelo-button-group>
|
|
68
|
+
*
|
|
69
|
+
*
|
|
70
|
+
* <sigvelo-button icon-label="Print"><sigvelo-icon name="printer"></sigvelo-icon></sigvelo-button>
|
|
71
|
+
* <sigvelo-button icon-label="Share"><sigvelo-icon name="share-2"></sigvelo-icon></sigvelo-button>
|
|
72
|
+
* </sigvelo-toolbar>
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @example Vertical toolbars
|
|
76
|
+
* To make a vertical toolbar, set the `orientation` attribute to `vertical`. Keyboard users will be able to use [[Up]] and [[Down]] instead of [[Left]] and [[Right]]. Button groups will automatically assume the correct orientation.
|
|
77
|
+
*
|
|
78
|
+
* ```html
|
|
79
|
+
* <sigvelo-toolbar orientation="vertical" style="max-width: 60px;">
|
|
80
|
+
* <sigvelo-button-group>
|
|
81
|
+
* <sigvelo-button>
|
|
82
|
+
* <sigvelo-icon slot="start" name="plus"></sigvelo-icon>
|
|
83
|
+
* New
|
|
84
|
+
* </sigvelo-button>
|
|
85
|
+
* <sigvelo-button>
|
|
86
|
+
* <sigvelo-icon slot="start" name="folder-open"></sigvelo-icon>
|
|
87
|
+
* Open
|
|
88
|
+
* </sigvelo-button>
|
|
89
|
+
* <sigvelo-button>
|
|
90
|
+
* <sigvelo-icon slot="start" name="device-floppy"></sigvelo-icon>
|
|
91
|
+
* Save
|
|
92
|
+
* </sigvelo-button>
|
|
93
|
+
* <sigvelo-button>
|
|
94
|
+
* <sigvelo-icon slot="start" name="printer"></sigvelo-icon>
|
|
95
|
+
* Print
|
|
96
|
+
* </sigvelo-button>
|
|
97
|
+
* </sigvelo-button-group>
|
|
98
|
+
* </sigvelo-toolbar>
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
declare class SigveloToolbar extends SigveloElement {
|
|
102
|
+
static styles: CSSResultGroup;
|
|
103
|
+
/** The toolbar's orientation. This changes which arrow keys are used to select adjacent buttons. */
|
|
104
|
+
orientation: "horizontal" | "vertical";
|
|
105
|
+
firstUpdated(): void;
|
|
106
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
107
|
+
/** Gets an array of buttons slotted into the toolbar. Includes slotted buttons, such as dropdown triggers. */
|
|
108
|
+
private getButtons;
|
|
109
|
+
/** Gets an array of button groups slotted into the toolbar. */
|
|
110
|
+
private getButtonGroups;
|
|
111
|
+
private handleDefaultSlotChange;
|
|
112
|
+
private handleKeyDown;
|
|
113
|
+
private handlePointerDown;
|
|
114
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
115
|
+
}
|
|
116
|
+
declare global {
|
|
117
|
+
interface HTMLElementTagNameMap {
|
|
118
|
+
"sigvelo-toolbar": SigveloToolbar;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
export { SigveloToolbar as t };
|
|
@@ -0,0 +1,196 @@
|
|
|
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/toolbar/toolbar.styles.ts
|
|
7
|
+
var toolbar_styles_default = css`
|
|
8
|
+
:host {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-wrap: wrap;
|
|
11
|
+
gap: 0.5rem;
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/toolbar/toolbar.ts
|
|
16
|
+
/**
|
|
17
|
+
* <sigvelo-toolbar>
|
|
18
|
+
*
|
|
19
|
+
* @summary Turns a collection of buttons and button groups into an accessible toolbar.
|
|
20
|
+
* @tag sigvelo-toolbar
|
|
21
|
+
* @documentation https://design-system.sigvelo.com/docs/components/toolbar
|
|
22
|
+
* @status stable
|
|
23
|
+
* @since 1.0
|
|
24
|
+
*
|
|
25
|
+
* @slot - A mixture of buttons and/or button groups.
|
|
26
|
+
*
|
|
27
|
+
* @example Default
|
|
28
|
+
* Toolbars follows the ARIA APG toolbar pattern for accessibility. A roving tab index is used, meaning users can tab into the control and use the arrow keys to navigate options. A subsequent tab will exit the toolbar.
|
|
29
|
+
*
|
|
30
|
+
* By grouping related buttons and button groups into toolbars, the number of tab stops in the keyboard interface is reduced, resulting in a more user-friendly experience.
|
|
31
|
+
*
|
|
32
|
+
* ```html
|
|
33
|
+
* <sigvelo-toolbar>
|
|
34
|
+
* <sigvelo-button-group>
|
|
35
|
+
* <sigvelo-button icon-label="Undo"><sigvelo-icon name="arrow-back-up"></sigvelo-icon></sigvelo-button>
|
|
36
|
+
* <sigvelo-button icon-label="Redo"><sigvelo-icon name="arrow-forward-up"></sigvelo-icon></sigvelo-button>
|
|
37
|
+
* </sigvelo-button-group>
|
|
38
|
+
*
|
|
39
|
+
* <sigvelo-button-group>
|
|
40
|
+
* <sigvelo-button icon-label="Bold"><sigvelo-icon name="bold"></sigvelo-icon></sigvelo-button>
|
|
41
|
+
* <sigvelo-button icon-label="Italic"><sigvelo-icon name="italic"></sigvelo-icon></sigvelo-button>
|
|
42
|
+
* <sigvelo-button icon-label="Underline"><sigvelo-icon name="underline"></sigvelo-icon></sigvelo-button>
|
|
43
|
+
* </sigvelo-button-group>
|
|
44
|
+
*
|
|
45
|
+
* <sigvelo-button-group>
|
|
46
|
+
* <sigvelo-button icon-label="Align left"><sigvelo-icon name="align-left"></sigvelo-icon></sigvelo-button>
|
|
47
|
+
* <sigvelo-button icon-label="Align center"><sigvelo-icon name="align-center"></sigvelo-icon></sigvelo-button>
|
|
48
|
+
* <sigvelo-button icon-label="Align right"><sigvelo-icon name="align-right"></sigvelo-icon></sigvelo-button>
|
|
49
|
+
* <sigvelo-button icon-label="Justify"><sigvelo-icon name="align-justified"></sigvelo-icon></sigvelo-button>
|
|
50
|
+
* </sigvelo-button-group>
|
|
51
|
+
* </sigvelo-toolbar>
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @example Toolbars with various components
|
|
55
|
+
* Toolbars can be used with a mixture of buttons, button groups, and dropdowns that have a `<sigvelo-button>` trigger. Keyboard users will be able to cycle through all buttons with [[Left]] and [[Right]], as expected.
|
|
56
|
+
*
|
|
57
|
+
* ```html
|
|
58
|
+
* <sigvelo-toolbar>
|
|
59
|
+
* <sigvelo-button color="primary">
|
|
60
|
+
* <sigvelo-icon slot="start" name="plus"></sigvelo-icon>
|
|
61
|
+
* New
|
|
62
|
+
* </sigvelo-button>
|
|
63
|
+
*
|
|
64
|
+
* <sigvelo-button-group>
|
|
65
|
+
* <sigvelo-button icon-label="Bold"><sigvelo-icon name="bold"></sigvelo-icon></sigvelo-button>
|
|
66
|
+
* <sigvelo-button icon-label="Italic"><sigvelo-icon name="italic"></sigvelo-icon></sigvelo-button>
|
|
67
|
+
* <sigvelo-button icon-label="Underline"><sigvelo-icon name="underline"></sigvelo-icon></sigvelo-button>
|
|
68
|
+
* </sigvelo-button-group>
|
|
69
|
+
*
|
|
70
|
+
* <sigvelo-dropdown id="dropdown__checkboxes">
|
|
71
|
+
* <sigvelo-button slot="trigger" with-caret>View</sigvelo-button>
|
|
72
|
+
* <sigvelo-dropdown-item type="checkbox" value="canvas" checked>Show canvas</sigvelo-dropdown-item>
|
|
73
|
+
* <sigvelo-dropdown-item type="checkbox" value="grid" checked>Show grid</sigvelo-dropdown-item>
|
|
74
|
+
* <sigvelo-dropdown-item type="checkbox" value="source">Show source</sigvelo-dropdown-item>
|
|
75
|
+
* <sigvelo-divider></sigvelo-divider>
|
|
76
|
+
* <sigvelo-dropdown-item value="preferences">Preferences…</sigvelo-dropdown-item>
|
|
77
|
+
* </sigvelo-dropdown>
|
|
78
|
+
* </sigvelo-button-group>
|
|
79
|
+
*
|
|
80
|
+
*
|
|
81
|
+
* <sigvelo-button icon-label="Print"><sigvelo-icon name="printer"></sigvelo-icon></sigvelo-button>
|
|
82
|
+
* <sigvelo-button icon-label="Share"><sigvelo-icon name="share-2"></sigvelo-icon></sigvelo-button>
|
|
83
|
+
* </sigvelo-toolbar>
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @example Vertical toolbars
|
|
87
|
+
* To make a vertical toolbar, set the `orientation` attribute to `vertical`. Keyboard users will be able to use [[Up]] and [[Down]] instead of [[Left]] and [[Right]]. Button groups will automatically assume the correct orientation.
|
|
88
|
+
*
|
|
89
|
+
* ```html
|
|
90
|
+
* <sigvelo-toolbar orientation="vertical" style="max-width: 60px;">
|
|
91
|
+
* <sigvelo-button-group>
|
|
92
|
+
* <sigvelo-button>
|
|
93
|
+
* <sigvelo-icon slot="start" name="plus"></sigvelo-icon>
|
|
94
|
+
* New
|
|
95
|
+
* </sigvelo-button>
|
|
96
|
+
* <sigvelo-button>
|
|
97
|
+
* <sigvelo-icon slot="start" name="folder-open"></sigvelo-icon>
|
|
98
|
+
* Open
|
|
99
|
+
* </sigvelo-button>
|
|
100
|
+
* <sigvelo-button>
|
|
101
|
+
* <sigvelo-icon slot="start" name="device-floppy"></sigvelo-icon>
|
|
102
|
+
* Save
|
|
103
|
+
* </sigvelo-button>
|
|
104
|
+
* <sigvelo-button>
|
|
105
|
+
* <sigvelo-icon slot="start" name="printer"></sigvelo-icon>
|
|
106
|
+
* Print
|
|
107
|
+
* </sigvelo-button>
|
|
108
|
+
* </sigvelo-button-group>
|
|
109
|
+
* </sigvelo-toolbar>
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
var SigveloToolbar = class extends SigveloElement {
|
|
113
|
+
constructor(..._args) {
|
|
114
|
+
super(..._args);
|
|
115
|
+
this.orientation = "horizontal";
|
|
116
|
+
}
|
|
117
|
+
static {
|
|
118
|
+
this.styles = [hostStyles, toolbar_styles_default];
|
|
119
|
+
}
|
|
120
|
+
firstUpdated() {
|
|
121
|
+
this.setAttribute("role", "toolbar");
|
|
122
|
+
}
|
|
123
|
+
updated(changedProperties) {
|
|
124
|
+
if (changedProperties.has("orientation")) this.setAttribute("aria-orientation", this.orientation);
|
|
125
|
+
}
|
|
126
|
+
/** Gets an array of buttons slotted into the toolbar. Includes slotted buttons, such as dropdown triggers. */
|
|
127
|
+
getButtons(options) {
|
|
128
|
+
if (options?.includeDisabled) return [...this.querySelectorAll("sigvelo-button")];
|
|
129
|
+
else return [...this.querySelectorAll("sigvelo-button:not(:state(disabled))")];
|
|
130
|
+
}
|
|
131
|
+
/** Gets an array of button groups slotted into the toolbar. */
|
|
132
|
+
getButtonGroups() {
|
|
133
|
+
return [...this.querySelectorAll("sigvelo-button-group")];
|
|
134
|
+
}
|
|
135
|
+
handleDefaultSlotChange() {
|
|
136
|
+
const buttonGroups = this.getButtonGroups();
|
|
137
|
+
const buttons = this.getButtons({ includeDisabled: true });
|
|
138
|
+
buttonGroups.forEach((buttonGroup) => {
|
|
139
|
+
buttonGroup.orientation = this.orientation;
|
|
140
|
+
});
|
|
141
|
+
buttons.filter((button) => !button.hasAttribute("disabled")).forEach((button, index) => {
|
|
142
|
+
button.tabIndex = index === 0 ? 0 : -1;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
handleKeyDown(event) {
|
|
146
|
+
const buttons = this.getButtons();
|
|
147
|
+
const activeIndex = buttons.findIndex((button) => button.tabIndex === 0);
|
|
148
|
+
const isVertical = this.orientation === "vertical";
|
|
149
|
+
let nextIndex = -1;
|
|
150
|
+
if (event.composedPath().some((el) => el?.localName === "sigvelo-dropdown-item")) return;
|
|
151
|
+
if (isVertical && event.key === "ArrowUp" || !isVertical && event.key === "ArrowLeft") {
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
nextIndex = activeIndex - 1;
|
|
154
|
+
if (nextIndex < 0) nextIndex = buttons.length - 1;
|
|
155
|
+
}
|
|
156
|
+
if (isVertical && event.key === "ArrowDown" || !isVertical && event.key === "ArrowRight") {
|
|
157
|
+
event.preventDefault();
|
|
158
|
+
nextIndex = activeIndex + 1;
|
|
159
|
+
if (nextIndex > buttons.length - 1) nextIndex = 0;
|
|
160
|
+
}
|
|
161
|
+
if (event.key === "Home" || event.key === "End") {
|
|
162
|
+
event.preventDefault();
|
|
163
|
+
nextIndex = event.key === "Home" ? 0 : buttons.length - 1;
|
|
164
|
+
}
|
|
165
|
+
if (nextIndex > -1) buttons.forEach((button, index) => {
|
|
166
|
+
if (button.disabled) return;
|
|
167
|
+
if (index === nextIndex) {
|
|
168
|
+
button.tabIndex = 0;
|
|
169
|
+
button.focus();
|
|
170
|
+
} else button.tabIndex = -1;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
handlePointerDown(event) {
|
|
174
|
+
const buttons = this.getButtons({ includeDisabled: true });
|
|
175
|
+
const targetButton = event.target.closest("sigvelo-button");
|
|
176
|
+
if (!targetButton) return;
|
|
177
|
+
buttons.forEach((button) => {
|
|
178
|
+
if (button.disabled) return;
|
|
179
|
+
if (button === targetButton) button.tabIndex = 0;
|
|
180
|
+
else button.tabIndex = -1;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
render() {
|
|
184
|
+
return html`
|
|
185
|
+
<slot
|
|
186
|
+
@keydown=${this.handleKeyDown}
|
|
187
|
+
@pointerdown=${this.handlePointerDown}
|
|
188
|
+
@slotchange=${this.handleDefaultSlotChange}
|
|
189
|
+
></slot>
|
|
190
|
+
`;
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
__decorate([property({ reflect: true })], SigveloToolbar.prototype, "orientation", void 0);
|
|
194
|
+
customElements.define("sigvelo-toolbar", SigveloToolbar);
|
|
195
|
+
//#endregion
|
|
196
|
+
export { SigveloToolbar as t };
|