@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,483 @@
|
|
|
1
|
+
import { t as __decorate } from "./decorate-DcF3lt7P.js";
|
|
2
|
+
import "./accordion-item-DvPfhpm8.js";
|
|
3
|
+
import { css, html } from "lit";
|
|
4
|
+
import { property, query } from "lit/decorators.js";
|
|
5
|
+
import { SigveloBeforeCollapseEvent, SigveloBeforeExpandEvent, SigveloCollapseEvent, SigveloExpandEvent } from "@mcp-b/wc-support/events/expand-collapse";
|
|
6
|
+
import hostStyles from "@mcp-b/wc-support/styles/host.styles";
|
|
7
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
8
|
+
//#region src/components/accordion/accordion.styles.ts
|
|
9
|
+
var accordion_styles_default = css`
|
|
10
|
+
:host {
|
|
11
|
+
--duration: var(--sigvelo-motion-duration-presence);
|
|
12
|
+
--easing: ease;
|
|
13
|
+
--sigvelo-accordion-border-color: var(--sigvelo-color-neutral-border-subtle);
|
|
14
|
+
--border-width: var(--sigvelo-border-width);
|
|
15
|
+
--border-style: var(--sigvelo-border-style);
|
|
16
|
+
--border-radius: var(--sigvelo-radius-md);
|
|
17
|
+
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
width: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Contained variant */
|
|
24
|
+
:host([variant="contained"]) {
|
|
25
|
+
border: var(--border-style) var(--border-width) var(--sigvelo-accordion-border-color);
|
|
26
|
+
border-radius: var(--sigvelo-radius-md);
|
|
27
|
+
background-color: var(--sigvelo-color-surface);
|
|
28
|
+
box-shadow: var(--sigvelo-elevation-hairline);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Separated variant */
|
|
32
|
+
:host([variant="separated"]) {
|
|
33
|
+
gap: 1em;
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/accordion/accordion.ts
|
|
38
|
+
/**
|
|
39
|
+
* <sigvelo-accordion>
|
|
40
|
+
*
|
|
41
|
+
* @summary A container for content that expands and collapses when selected.
|
|
42
|
+
* @tag sigvelo-accordion
|
|
43
|
+
* @documentation https://design-system.sigvelo.com/docs/components/accordion
|
|
44
|
+
* @status stable
|
|
45
|
+
* @since 1.0
|
|
46
|
+
*
|
|
47
|
+
* @dependency sigvelo-accordion-item
|
|
48
|
+
*
|
|
49
|
+
* @slot - One or more `<sigvelo-accordion-item>` elements to place in the accordion.
|
|
50
|
+
*
|
|
51
|
+
* @event sigvelo-before-expand - Emitted when an accordion item is instructed to expand but before it is shown. Calling
|
|
52
|
+
* `event.preventDefault()` will prevent the item from expanding. `event.detail.item` will contain the expanding item.
|
|
53
|
+
* @event sigvelo-expand - Emitted after an accordion item has been expanded. `event.detail.item` will contain the
|
|
54
|
+
* expanded item.
|
|
55
|
+
* @event sigvelo-before-collapse - Emitted when an accordion item is instructed to collapse but before it is hidden.
|
|
56
|
+
* Calling `event.preventDefault()` will prevent the item from collapsing. `event.detail.item` will contain the
|
|
57
|
+
* collapsing item.
|
|
58
|
+
* @event sigvelo-collapse - Emitted after an accordion item has been collapsed. `event.detail.item` will contain the
|
|
59
|
+
* collapsed item.
|
|
60
|
+
*
|
|
61
|
+
* @cssproperty [--duration=200ms] - The expand and collapse duration.
|
|
62
|
+
* @cssproperty [--easing=ease] - The expand and collapse easing.
|
|
63
|
+
* @cssproperty [--sigvelo-accordion-border-color=var(--sigvelo-color-neutral-border-subtle)] - The accordion's border color.
|
|
64
|
+
* @cssproperty [--border-width=var(--sigvelo-border-width)] - The accordion's border width.
|
|
65
|
+
* @cssproperty [--border-style=var(--sigvelo-border-style)] - The accordion's border style.
|
|
66
|
+
* @cssproperty [--border-radius=var(--sigvelo-radius-md)] - The border radius to apply to rounded edges.
|
|
67
|
+
*
|
|
68
|
+
* @example Default
|
|
69
|
+
* Accordions follow the ARIA APG accordion pattern for accessibility. They are comprised of two different components. A single accordion surrounds one or more accordion items.
|
|
70
|
+
*
|
|
71
|
+
* ```html
|
|
72
|
+
* <sigvelo-accordion>
|
|
73
|
+
* <sigvelo-accordion-item>
|
|
74
|
+
* <span slot="label">What is a cat?</span>
|
|
75
|
+
* <p>A cat is a small, independent feline companion known for their purring, hunting skills, and tendency to knock things off tables. They're perfect for providing endless entertainment, companionship, and the occasional hairball surprise.</p>
|
|
76
|
+
* </sigvelo-accordion-item>
|
|
77
|
+
*
|
|
78
|
+
* <sigvelo-accordion-item>
|
|
79
|
+
* <span slot="label">When should I adopt one?</span>
|
|
80
|
+
* <p>Adopt a cat when you're ready for a lifetime commitment of love, responsibility, and being owned by a furry overlord. They're ideal when you need a companion who will judge your life choices while simultaneously demanding treats.</p>
|
|
81
|
+
* </sigvelo-accordion-item>
|
|
82
|
+
*
|
|
83
|
+
* <sigvelo-accordion-item>
|
|
84
|
+
* <span slot="label">Cat care best practices</span>
|
|
85
|
+
* <p>Essential cat care includes keeping litter boxes clean and accessible, providing scratching posts to save your furniture, scheduling regular vet checkups, and ensuring they have cozy hiding spots and sunny windowsills for optimal feline happiness.</p>
|
|
86
|
+
* </sigvelo-accordion-item>
|
|
87
|
+
* </sigvelo-accordion>
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* @example Providing content
|
|
91
|
+
* Use the `label` attribute to provide a plain text label. To provide icons and other HTML, use the `label` slot instead.
|
|
92
|
+
*
|
|
93
|
+
* ```html
|
|
94
|
+
* <sigvelo-accordion>
|
|
95
|
+
* <sigvelo-accordion-item label="Why do cats purr?">
|
|
96
|
+
* <p>Cats purr for many reasons including contentment, self-healing, and communication. It's their built-in happiness meter!</p>
|
|
97
|
+
* </sigvelo-accordion-item>
|
|
98
|
+
*
|
|
99
|
+
* <sigvelo-accordion-item label="Why do cats knead with their paws?">
|
|
100
|
+
* <p>Kneading is a comfort behavior from kittenhood when they kneaded their mother's belly for milk. Adult cats knead when they're happy and relaxed.</p>
|
|
101
|
+
* </sigvelo-accordion-item>
|
|
102
|
+
*
|
|
103
|
+
* <sigvelo-accordion-item>
|
|
104
|
+
* <sigvelo-icon slot="label" name="cat"></sigvelo-icon>
|
|
105
|
+
* <span slot="label">Cat behavior mysteries</span>
|
|
106
|
+
* <p>From zoomies at 3 AM to bringing you "gifts" of dead mice, cats are wonderfully mysterious creatures with behaviors that keep us guessing.</p>
|
|
107
|
+
* </sigvelo-accordion-item>
|
|
108
|
+
* </sigvelo-accordion>
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @example Expanded initially
|
|
112
|
+
* Add the `expanded` attribute to any accordion item that should be expanded initially.
|
|
113
|
+
*
|
|
114
|
+
* ```html
|
|
115
|
+
* <sigvelo-accordion>
|
|
116
|
+
* <sigvelo-accordion-item expanded>
|
|
117
|
+
* <span slot="label">What is a cat?</span>
|
|
118
|
+
* <p>A cat is a small, independent feline companion known for their purring, hunting skills, and tendency to knock things off tables. They're perfect for providing endless entertainment, companionship, and the occasional hairball surprise.</p>
|
|
119
|
+
* </sigvelo-accordion-item>
|
|
120
|
+
*
|
|
121
|
+
* <sigvelo-accordion-item>
|
|
122
|
+
* <span slot="label">When should I adopt one?</span>
|
|
123
|
+
* <p>Adopt a cat when you're ready for a lifetime commitment of love, responsibility, and being owned by a furry overlord. They're ideal when you need a companion who will judge your life choices while simultaneously demanding treats.</p>
|
|
124
|
+
* </sigvelo-accordion-item>
|
|
125
|
+
*
|
|
126
|
+
* <sigvelo-accordion-item>
|
|
127
|
+
* <span slot="label">Cat care best practices</span>
|
|
128
|
+
* <p>Essential cat care includes keeping litter boxes clean and accessible, providing scratching posts to save your furniture, scheduling regular vet checkups, and ensuring they have cozy hiding spots and sunny windowsills for optimal feline happiness.</p>
|
|
129
|
+
* </sigvelo-accordion-item>
|
|
130
|
+
* </sigvelo-accordion>
|
|
131
|
+
* ```
|
|
132
|
+
*
|
|
133
|
+
* @example Changing the variant
|
|
134
|
+
* Set the `variant` attribute to `normal`, `contained`, `separated`, or `unstyled` to control the accordion's variant.
|
|
135
|
+
*
|
|
136
|
+
* ```html
|
|
137
|
+
* <div id="accordion__appearance">
|
|
138
|
+
* <sigvelo-radio label="Appearance" value="normal">
|
|
139
|
+
* <sigvelo-radio-item value="normal">Normal</sigvelo-radio-item>
|
|
140
|
+
* <sigvelo-radio-item value="contained">Contained</sigvelo-radio-item>
|
|
141
|
+
* <sigvelo-radio-item value="separated">Separated</sigvelo-radio-item>
|
|
142
|
+
* <sigvelo-radio-item value="unstyled">Unstyled</sigvelo-radio-item>
|
|
143
|
+
* </sigvelo-radio>
|
|
144
|
+
*
|
|
145
|
+
* <sigvelo-accordion>
|
|
146
|
+
* <sigvelo-accordion-item expanded>
|
|
147
|
+
* <span slot="label">What is a cat?</span>
|
|
148
|
+
* <p>A cat is a small, independent feline companion known for their purring, hunting skills, and tendency to knock things off tables. They're perfect for providing endless entertainment, companionship, and the occasional hairball surprise.</p>
|
|
149
|
+
* </sigvelo-accordion-item>
|
|
150
|
+
*
|
|
151
|
+
* <sigvelo-accordion-item>
|
|
152
|
+
* <span slot="label">When should I adopt one?</span>
|
|
153
|
+
* <p>Adopt a cat when you're ready for a lifetime commitment of love, responsibility, and being owned by a furry overlord. They're ideal when you need a companion who will judge your life choices while simultaneously demanding treats.</p>
|
|
154
|
+
* </sigvelo-accordion-item>
|
|
155
|
+
*
|
|
156
|
+
* <sigvelo-accordion-item>
|
|
157
|
+
* <span slot="label">Cat care best practices</span>
|
|
158
|
+
* <p>Essential cat care includes keeping litter boxes clean and accessible, providing scratching posts to save your furniture, scheduling regular vet checkups, and ensuring they have cozy hiding spots and sunny windowsills for optimal feline happiness.</p>
|
|
159
|
+
* </sigvelo-accordion-item>
|
|
160
|
+
* </sigvelo-accordion>
|
|
161
|
+
* </div>
|
|
162
|
+
*
|
|
163
|
+
* <script>
|
|
164
|
+
* const container = document.getElementById('accordion__appearance');
|
|
165
|
+
* const accordion = container.querySelector('sigvelo-accordion');
|
|
166
|
+
* const radio = container.querySelector('sigvelo-radio');
|
|
167
|
+
*
|
|
168
|
+
* radio.addEventListener('input', () => {
|
|
169
|
+
* accordion.variant = radio.value;
|
|
170
|
+
* });
|
|
171
|
+
* <\/script>
|
|
172
|
+
*
|
|
173
|
+
* <style>
|
|
174
|
+
* #accordion__appearance {
|
|
175
|
+
* sigvelo-radio {
|
|
176
|
+
* margin-block-end: 2rem;
|
|
177
|
+
* }
|
|
178
|
+
* }
|
|
179
|
+
* </style>
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @example Changing the size
|
|
183
|
+
* Accordions are sized based on the current font size. To change their size, set the `font-size` on the accordion or an ancestor element.
|
|
184
|
+
*
|
|
185
|
+
* ```html
|
|
186
|
+
* <sigvelo-accordion style="font-size: 1.25rem;">
|
|
187
|
+
* <sigvelo-accordion-item label="Why do cats purr?">
|
|
188
|
+
* <p>Cats purr for many reasons including contentment, self-healing, and communication. It's their built-in happiness meter!</p>
|
|
189
|
+
* </sigvelo-accordion-item>
|
|
190
|
+
*
|
|
191
|
+
* <sigvelo-accordion-item label="Cat grooming habits">
|
|
192
|
+
* <p>Cats spend 30-50% of their day grooming themselves to stay clean, regulate temperature, and reduce stress.</p>
|
|
193
|
+
* </sigvelo-accordion-item>
|
|
194
|
+
*
|
|
195
|
+
* <sigvelo-accordion-item label="Why do cats sleep so much?">
|
|
196
|
+
* <p>Cats sleep 12-16 hours a day because they're natural predators who conserve energy for hunting (even if they're just hunting dust bunnies).</p>
|
|
197
|
+
* </sigvelo-accordion-item>
|
|
198
|
+
* </sigvelo-accordion>
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @example Disabling items
|
|
202
|
+
* Use the `disabled` attribute to prevent users from expanding certain accordion items. This is useful for sections that require certain conditions to be met before they can be accessed.
|
|
203
|
+
*
|
|
204
|
+
* ```html
|
|
205
|
+
* <sigvelo-accordion>
|
|
206
|
+
* <sigvelo-accordion-item label="Indoor cats">
|
|
207
|
+
* <p>Indoor cats live longer, safer lives and are protected from outdoor dangers like traffic, predators, and diseases.</p>
|
|
208
|
+
* </sigvelo-accordion-item>
|
|
209
|
+
*
|
|
210
|
+
* <sigvelo-accordion-item label="Outdoor cats" disabled>
|
|
211
|
+
* <p>This section about outdoor cats is disabled until you've completed the indoor cat safety course.</p>
|
|
212
|
+
* </sigvelo-accordion-item>
|
|
213
|
+
*
|
|
214
|
+
* <sigvelo-accordion-item label="Senior cat care">
|
|
215
|
+
* <p>Senior cats need extra attention with diet, comfort, and regular health monitoring as they age gracefully.</p>
|
|
216
|
+
* </sigvelo-accordion-item>
|
|
217
|
+
* </sigvelo-accordion>
|
|
218
|
+
* ```
|
|
219
|
+
*
|
|
220
|
+
* @example Allowing multiple expanded items
|
|
221
|
+
* By default, opening an accordion item collapses the previously expanded item. Add `multiple` to allow more than one item to remain expanded.
|
|
222
|
+
*
|
|
223
|
+
* ```html
|
|
224
|
+
* <sigvelo-accordion multiple>
|
|
225
|
+
* <sigvelo-accordion-item label="Kitten care" expanded>
|
|
226
|
+
* <p>When multiple is enabled, opening another section leaves this one expanded. Kittens need frequent feeding, socialization, and lots of love!</p>
|
|
227
|
+
* </sigvelo-accordion-item>
|
|
228
|
+
*
|
|
229
|
+
* <sigvelo-accordion-item label="Adult cat care">
|
|
230
|
+
* <p>Click me to keep both life stages expanded. Adult cats are more independent but still need daily attention and care.</p>
|
|
231
|
+
* </sigvelo-accordion-item>
|
|
232
|
+
*
|
|
233
|
+
* <sigvelo-accordion-item label="Senior cat care">
|
|
234
|
+
* <p>Several cat life stages can remain visible when multiple is enabled. Senior cats deserve extra comfort and patience.</p>
|
|
235
|
+
* </sigvelo-accordion-item>
|
|
236
|
+
* </sigvelo-accordion>
|
|
237
|
+
* ```
|
|
238
|
+
*
|
|
239
|
+
* @example Changing the icon placement
|
|
240
|
+
* Set the `icon-placement` to `start` to render the icon on the front of the header.
|
|
241
|
+
*
|
|
242
|
+
* ```html
|
|
243
|
+
* <sigvelo-accordion icon-placement="start">
|
|
244
|
+
* <sigvelo-accordion-item label="Why do cats sleep so much?">
|
|
245
|
+
* <p>Cats sleep 12-16 hours a day because they're natural predators who conserve energy for hunting (even if they're just hunting dust bunnies).</p>
|
|
246
|
+
* </sigvelo-accordion-item>
|
|
247
|
+
*
|
|
248
|
+
* <sigvelo-accordion-item label="Do cats dream?">
|
|
249
|
+
* <p>Yes! Cats experience REM sleep and likely dream about hunting, playing, or plotting world domination.</p>
|
|
250
|
+
* </sigvelo-accordion-item>
|
|
251
|
+
* </sigvelo-accordion>
|
|
252
|
+
* ```
|
|
253
|
+
*
|
|
254
|
+
* @example Customizing the icon
|
|
255
|
+
* The expand/collapse icon can be customized by slotting in your own icon. If you don't want the default rotation, target the `icon` part and set the `rotate` property to a custom rotation angle.
|
|
256
|
+
*
|
|
257
|
+
* ```html
|
|
258
|
+
* <sigvelo-accordion id="accordion__custom-icon">
|
|
259
|
+
* <sigvelo-accordion-item label="Cat communication">
|
|
260
|
+
* <sigvelo-icon slot="icon" name="chevron-right"></sigvelo-icon>
|
|
261
|
+
* <p>Cats communicate through meowing, purring, chirping, and the infamous slow blink of love.</p>
|
|
262
|
+
* </sigvelo-accordion-item>
|
|
263
|
+
*
|
|
264
|
+
* <sigvelo-accordion-item label="Cat body language">
|
|
265
|
+
* <sigvelo-icon slot="icon" name="chevron-right"></sigvelo-icon>
|
|
266
|
+
* <p>A cat's tail, ears, and posture tell you everything about their mood - from happy to "I'm plotting your demise."</p>
|
|
267
|
+
* </sigvelo-accordion-item>
|
|
268
|
+
* </sigvelo-accordion>
|
|
269
|
+
*
|
|
270
|
+
* <style>
|
|
271
|
+
* #accordion__custom-icon {
|
|
272
|
+
* sigvelo-accordion-item::part(icon) {
|
|
273
|
+
* rotate: 0deg;
|
|
274
|
+
* }
|
|
275
|
+
*
|
|
276
|
+
* sigvelo-accordion-item:state(expanded)::part(icon) {
|
|
277
|
+
* rotate: 90deg;
|
|
278
|
+
* }
|
|
279
|
+
* }
|
|
280
|
+
* </style>
|
|
281
|
+
* ```
|
|
282
|
+
*
|
|
283
|
+
* A common way to style accordion icons is with plus and minus icons. For this, you can toggle which icon shows when the accordion item is expanded using the `:state(expanded)` CSS selector.
|
|
284
|
+
*
|
|
285
|
+
* ```html
|
|
286
|
+
* <sigvelo-accordion id="accordion__plus-minus">
|
|
287
|
+
* <sigvelo-accordion-item label="Cat breeds">
|
|
288
|
+
* <sigvelo-icon slot="icon" name="plus" class="plus"></sigvelo-icon>
|
|
289
|
+
* <sigvelo-icon slot="icon" name="minus" class="minus"></sigvelo-icon>
|
|
290
|
+
* <p>From fluffy Maine Coons to hairless Sphynx cats, there are over 40 recognized cat breeds, each with their own personality traits.</p>
|
|
291
|
+
* </sigvelo-accordion-item>
|
|
292
|
+
*
|
|
293
|
+
* <sigvelo-accordion-item label="Cat colors and patterns">
|
|
294
|
+
* <sigvelo-icon slot="icon" name="plus" class="plus"></sigvelo-icon>
|
|
295
|
+
* <sigvelo-icon slot="icon" name="minus" class="minus"></sigvelo-icon>
|
|
296
|
+
* <p>Cats come in amazing colors and patterns like tabby, calico, tuxedo, and tortoiseshell - nature's own art gallery!</p>
|
|
297
|
+
* </sigvelo-accordion-item>
|
|
298
|
+
* </sigvelo-accordion>
|
|
299
|
+
*
|
|
300
|
+
* <style>
|
|
301
|
+
* #accordion__plus-minus .minus {
|
|
302
|
+
* display: none;
|
|
303
|
+
* }
|
|
304
|
+
*
|
|
305
|
+
* <!-- When expanded: hide plus and show minus -->
|
|
306
|
+
* #accordion__plus-minus sigvelo-accordion-item:state(expanded) .plus {
|
|
307
|
+
* display: none;
|
|
308
|
+
* }
|
|
309
|
+
*
|
|
310
|
+
* #accordion__plus-minus sigvelo-accordion-item:state(expanded) .minus {
|
|
311
|
+
* display: block;
|
|
312
|
+
* }
|
|
313
|
+
* </style>
|
|
314
|
+
* ```
|
|
315
|
+
*
|
|
316
|
+
* @example Customizing label content
|
|
317
|
+
* Accordions can have structured content as labels, but consider the experience for screen reader users. You may want to add `aria-hidden="true'` to decorative elements and supplementary text that don't add meaningful context when the accordion is navigated with assistive technology.
|
|
318
|
+
*
|
|
319
|
+
* ```html
|
|
320
|
+
* <sigvelo-accordion variant="contained" id="accordion__styling">
|
|
321
|
+
* <sigvelo-accordion-item>
|
|
322
|
+
* <div slot="label">
|
|
323
|
+
* <sigvelo-avatar image="https://images.unsplash.com/photo-1672487209629-4d52e0c043d0?q=80&w=256&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"></sigvelo-avatar>
|
|
324
|
+
* <div>
|
|
325
|
+
* Meowy McGee
|
|
326
|
+
* <p aria-hidden="true"><small>Freedom's just another word for nothing left to lose</small></p>
|
|
327
|
+
* </div>
|
|
328
|
+
* </div>
|
|
329
|
+
* <p>
|
|
330
|
+
* A philosophical feline with a rebellious streak, Meowy spends their days contemplating the deeper meaning of cardboard boxes and refusing to acknowledge the concept of "off-limits" furniture. When not busy knocking things off counters with purposeful intent, they can be found staring intensely at walls, presumably seeing things the rest of us mere mortals cannot.
|
|
331
|
+
* </p>
|
|
332
|
+
* </sigvelo-accordion-item>
|
|
333
|
+
*
|
|
334
|
+
* <sigvelo-accordion-item>
|
|
335
|
+
* <div slot="label">
|
|
336
|
+
* <sigvelo-avatar image="https://images.unsplash.com/photo-1516310789627-2ff305829fbb?q=80&w=256&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"></sigvelo-avatar>
|
|
337
|
+
* <div>
|
|
338
|
+
* Lady Pawington
|
|
339
|
+
* <p aria-hidden="true"><small>Professional sunbeam chaser and nap enthusiast</small></p>
|
|
340
|
+
* </div>
|
|
341
|
+
* </div>
|
|
342
|
+
* <p>
|
|
343
|
+
* The epitome of feline sophistication, Lady Pawington has mastered the art of finding the perfect sunbeam at precisely 2:47 PM every day. She maintains a rigorous schedule of 16-hour power naps, interrupted only by brief but important meetings with her food bowl and the occasional judgmental stare at the humans who dare to disturb her royal slumber.
|
|
344
|
+
* </p>
|
|
345
|
+
* </sigvelo-accordion-item>
|
|
346
|
+
*
|
|
347
|
+
* <sigvelo-accordion-item>
|
|
348
|
+
* <div slot="label">
|
|
349
|
+
* <sigvelo-avatar image="https://images.unsplash.com/photo-1569591159212-b02ea8a9f239?q=80&w=256&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"></sigvelo-avatar>
|
|
350
|
+
* <div>
|
|
351
|
+
* Sir Whiskertons III
|
|
352
|
+
* <p aria-hidden="true"><small>Living all nine lives to the fullest, one treat at a time</small></p>
|
|
353
|
+
* </div>
|
|
354
|
+
* </div>
|
|
355
|
+
* <p>
|
|
356
|
+
* A distinguished gentleman cat with an insatiable appetite for adventure (and treats), Sir Whiskertons approaches each day like it's his personal buffet of experiences. Whether he's conducting important business meetings with dust bunnies under the couch or hosting diplomatic summits with the neighborhood squirrels from his window perch, he does it all with the confidence of someone who knows they've got eight lives in reserve.
|
|
357
|
+
* </p>
|
|
358
|
+
* </sigvelo-accordion-item>
|
|
359
|
+
* </sigvelo-accordion>
|
|
360
|
+
*
|
|
361
|
+
* <style>
|
|
362
|
+
* #accordion__styling {
|
|
363
|
+
* div[slot="label"] {
|
|
364
|
+
* display: flex;
|
|
365
|
+
* align-items: center;
|
|
366
|
+
* gap: 1rem;
|
|
367
|
+
*
|
|
368
|
+
* p {
|
|
369
|
+
* line-height: 1.2;
|
|
370
|
+
* }
|
|
371
|
+
* }
|
|
372
|
+
*
|
|
373
|
+
* }
|
|
374
|
+
* </style>
|
|
375
|
+
* ```
|
|
376
|
+
*/
|
|
377
|
+
var SigveloAccordion = class extends SigveloElement {
|
|
378
|
+
constructor(..._args) {
|
|
379
|
+
super(..._args);
|
|
380
|
+
this.multiple = false;
|
|
381
|
+
this.variant = "normal";
|
|
382
|
+
this.iconPlacement = "end";
|
|
383
|
+
this.handleClick = (event) => {
|
|
384
|
+
const path = event.composedPath();
|
|
385
|
+
const item = path.find((el) => el instanceof HTMLElement && el.localName === "sigvelo-accordion-item");
|
|
386
|
+
if (item && !item.disabled) {
|
|
387
|
+
const header = item.header;
|
|
388
|
+
if (header && path.includes(header)) this.handleItemToggle(item);
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
static {
|
|
393
|
+
this.styles = [hostStyles, accordion_styles_default];
|
|
394
|
+
}
|
|
395
|
+
connectedCallback() {
|
|
396
|
+
super.connectedCallback();
|
|
397
|
+
this.addEventListener("click", this.handleClick);
|
|
398
|
+
}
|
|
399
|
+
disconnectedCallback() {
|
|
400
|
+
super.disconnectedCallback();
|
|
401
|
+
this.removeEventListener("click", this.handleClick);
|
|
402
|
+
}
|
|
403
|
+
updated(changedProperties) {
|
|
404
|
+
if (changedProperties.has("variant") || changedProperties.has("iconPlacement") || changedProperties.has("multiple")) this.syncItemProperties();
|
|
405
|
+
}
|
|
406
|
+
/** Get accordion items from the default slot */
|
|
407
|
+
getItems() {
|
|
408
|
+
return this.defaultSlot.assignedElements().filter((el) => el.tagName.toLowerCase() === "sigvelo-accordion-item");
|
|
409
|
+
}
|
|
410
|
+
/** @internal Handles accordion item toggle requests */
|
|
411
|
+
async handleItemToggle(item) {
|
|
412
|
+
if (!item.expanded) {
|
|
413
|
+
const beforeExpandEvent = new SigveloBeforeExpandEvent(item);
|
|
414
|
+
this.dispatchEvent(beforeExpandEvent);
|
|
415
|
+
if (beforeExpandEvent.defaultPrevented) return false;
|
|
416
|
+
const itemsToCollapse = [];
|
|
417
|
+
if (!this.multiple) {
|
|
418
|
+
const items = this.getItems();
|
|
419
|
+
for (const otherItem of items) if (otherItem !== item && otherItem.expanded) {
|
|
420
|
+
const beforeCollapseEvent = new SigveloBeforeCollapseEvent(otherItem);
|
|
421
|
+
this.dispatchEvent(beforeCollapseEvent);
|
|
422
|
+
if (!beforeCollapseEvent.defaultPrevented) {
|
|
423
|
+
otherItem.expanded = false;
|
|
424
|
+
itemsToCollapse.push(otherItem);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
item.expanded = true;
|
|
429
|
+
const animations = [item.animateExpand()];
|
|
430
|
+
for (const collapsingItem of itemsToCollapse) animations.push(collapsingItem.animateCollapse());
|
|
431
|
+
await Promise.allSettled(animations);
|
|
432
|
+
this.dispatchEvent(new SigveloExpandEvent(item));
|
|
433
|
+
for (const collapsedItem of itemsToCollapse) this.dispatchEvent(new SigveloCollapseEvent(collapsedItem));
|
|
434
|
+
return true;
|
|
435
|
+
} else {
|
|
436
|
+
const beforeCollapseEvent = new SigveloBeforeCollapseEvent(item);
|
|
437
|
+
this.dispatchEvent(beforeCollapseEvent);
|
|
438
|
+
if (beforeCollapseEvent.defaultPrevented) return false;
|
|
439
|
+
item.expanded = false;
|
|
440
|
+
await item.animateCollapse();
|
|
441
|
+
this.dispatchEvent(new SigveloCollapseEvent(item));
|
|
442
|
+
return true;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
handleSlotChange() {
|
|
446
|
+
this.syncItemProperties();
|
|
447
|
+
}
|
|
448
|
+
/** Sync variant and iconPlacement to accordion items */
|
|
449
|
+
syncItemProperties() {
|
|
450
|
+
const items = this.getItems();
|
|
451
|
+
let foundExpandedItem = false;
|
|
452
|
+
items.forEach((item, index) => {
|
|
453
|
+
item.variant = this.variant;
|
|
454
|
+
item.iconPlacement = this.iconPlacement;
|
|
455
|
+
if (!this.multiple && item.expanded) {
|
|
456
|
+
if (foundExpandedItem) item.expanded = false;
|
|
457
|
+
foundExpandedItem = true;
|
|
458
|
+
}
|
|
459
|
+
const isFirst = index === 0;
|
|
460
|
+
const isLast = index === items.length - 1;
|
|
461
|
+
const isMiddle = items.length > 2 && !isFirst && !isLast;
|
|
462
|
+
item.toggleAttribute("data-accordion-item-first", isFirst);
|
|
463
|
+
item.toggleAttribute("data-accordion-item-middle", isMiddle);
|
|
464
|
+
item.toggleAttribute("data-accordion-item-last", isLast);
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
render() {
|
|
468
|
+
return html`<slot @slotchange=${this.handleSlotChange}></slot>`;
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
__decorate([query("slot:not([name])")], SigveloAccordion.prototype, "defaultSlot", void 0);
|
|
472
|
+
__decorate([property({
|
|
473
|
+
type: Boolean,
|
|
474
|
+
reflect: true
|
|
475
|
+
})], SigveloAccordion.prototype, "multiple", void 0);
|
|
476
|
+
__decorate([property({ reflect: true })], SigveloAccordion.prototype, "variant", void 0);
|
|
477
|
+
__decorate([property({
|
|
478
|
+
attribute: "icon-placement",
|
|
479
|
+
reflect: true
|
|
480
|
+
})], SigveloAccordion.prototype, "iconPlacement", void 0);
|
|
481
|
+
customElements.define("sigvelo-accordion", SigveloAccordion);
|
|
482
|
+
//#endregion
|
|
483
|
+
export { SigveloAccordion as t };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CSSResultGroup } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/action-bar/action-bar.d.ts
|
|
5
|
+
type ActionBarAlignment = "start" | "end" | "space-between";
|
|
6
|
+
/**
|
|
7
|
+
* <sigvelo-action-bar>
|
|
8
|
+
*
|
|
9
|
+
* @summary Aligns contextual status and actions in a responsive horizontal group.
|
|
10
|
+
* @tag sigvelo-action-bar
|
|
11
|
+
* @documentation https://design-system.sigvelo.com/docs/components/action-bar
|
|
12
|
+
* @status stable
|
|
13
|
+
* @since 1.0
|
|
14
|
+
*
|
|
15
|
+
* @slot - Status, buttons, or other compact action controls.
|
|
16
|
+
*/
|
|
17
|
+
declare class SigveloActionBar extends SigveloElement {
|
|
18
|
+
static styles: CSSResultGroup;
|
|
19
|
+
/** Alignment of the slotted content. */
|
|
20
|
+
align: ActionBarAlignment;
|
|
21
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
22
|
+
}
|
|
23
|
+
declare global {
|
|
24
|
+
interface HTMLElementTagNameMap {
|
|
25
|
+
"sigvelo-action-bar": SigveloActionBar;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { SigveloActionBar as n, ActionBarAlignment as t };
|
|
@@ -0,0 +1,56 @@
|
|
|
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/action-bar/action-bar.styles.ts
|
|
7
|
+
var action_bar_styles_default = css`
|
|
8
|
+
:host {
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
gap: var(--sigvelo-spacing-3);
|
|
12
|
+
flex-wrap: wrap;
|
|
13
|
+
min-inline-size: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
:host([align="start"]) {
|
|
17
|
+
justify-content: flex-start;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([align="end"]) {
|
|
21
|
+
justify-content: flex-end;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:host([align="space-between"]) {
|
|
25
|
+
justify-content: space-between;
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/action-bar/action-bar.ts
|
|
30
|
+
/**
|
|
31
|
+
* <sigvelo-action-bar>
|
|
32
|
+
*
|
|
33
|
+
* @summary Aligns contextual status and actions in a responsive horizontal group.
|
|
34
|
+
* @tag sigvelo-action-bar
|
|
35
|
+
* @documentation https://design-system.sigvelo.com/docs/components/action-bar
|
|
36
|
+
* @status stable
|
|
37
|
+
* @since 1.0
|
|
38
|
+
*
|
|
39
|
+
* @slot - Status, buttons, or other compact action controls.
|
|
40
|
+
*/
|
|
41
|
+
var SigveloActionBar = class extends SigveloElement {
|
|
42
|
+
constructor(..._args) {
|
|
43
|
+
super(..._args);
|
|
44
|
+
this.align = "end";
|
|
45
|
+
}
|
|
46
|
+
static {
|
|
47
|
+
this.styles = [hostStyles, action_bar_styles_default];
|
|
48
|
+
}
|
|
49
|
+
render() {
|
|
50
|
+
return html`<slot></slot>`;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
__decorate([property({ reflect: true })], SigveloActionBar.prototype, "align", void 0);
|
|
54
|
+
customElements.define("sigvelo-action-bar", SigveloActionBar);
|
|
55
|
+
//#endregion
|
|
56
|
+
export { SigveloActionBar as t };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/alert-dialog/alert-dialog.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-alert-dialog>
|
|
7
|
+
*
|
|
8
|
+
* @summary A modal dialog that requires an explicit user decision before it can be dismissed.
|
|
9
|
+
* @tag sigvelo-alert-dialog
|
|
10
|
+
* @status experimental
|
|
11
|
+
* @since 1.0
|
|
12
|
+
*
|
|
13
|
+
* @dependency sigvelo-dialog
|
|
14
|
+
*
|
|
15
|
+
* @slot - The alert description/body content.
|
|
16
|
+
* @slot header - Content for the dialog header (typically a title).
|
|
17
|
+
* @slot cancel - The cancel action button.
|
|
18
|
+
* @slot confirm - The confirm action button.
|
|
19
|
+
*
|
|
20
|
+
* @event sigvelo-confirm - Emitted when the confirm action is triggered.
|
|
21
|
+
* @event sigvelo-cancel - Emitted when the cancel action is triggered.
|
|
22
|
+
*
|
|
23
|
+
* @cssstate open - Applied when the alert dialog is open.
|
|
24
|
+
*
|
|
25
|
+
* @example Default
|
|
26
|
+
* ```html
|
|
27
|
+
* <sigvelo-alert-dialog id="alert__default">
|
|
28
|
+
* <h3 slot="header" style="font-size: 1.125rem; margin: 0;">
|
|
29
|
+
* Delete item?
|
|
30
|
+
* </h3>
|
|
31
|
+
*
|
|
32
|
+
* <p>This action cannot be undone. This will permanently delete the item from your account.</p>
|
|
33
|
+
*
|
|
34
|
+
* <sigvelo-button slot="cancel">Cancel</sigvelo-button>
|
|
35
|
+
* <sigvelo-button slot="confirm" color="destructive">Delete</sigvelo-button>
|
|
36
|
+
* </sigvelo-alert-dialog>
|
|
37
|
+
*
|
|
38
|
+
* <sigvelo-button color="destructive" data-dialog="open alert__default">
|
|
39
|
+
* Delete item
|
|
40
|
+
* </sigvelo-button>
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
declare class SigveloAlertDialog extends SigveloElement {
|
|
44
|
+
static styles: CSSResultGroup;
|
|
45
|
+
/** Opens or closes the alert dialog. */
|
|
46
|
+
open: boolean;
|
|
47
|
+
firstUpdated(): void;
|
|
48
|
+
disconnectedCallback(): void;
|
|
49
|
+
private handleCancel;
|
|
50
|
+
private handleConfirm;
|
|
51
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
52
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
53
|
+
}
|
|
54
|
+
declare global {
|
|
55
|
+
interface HTMLElementTagNameMap {
|
|
56
|
+
"sigvelo-alert-dialog": SigveloAlertDialog;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { SigveloAlertDialog as t };
|