@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,135 @@
|
|
|
1
|
+
import "./icon-BPVkNsY4.js";
|
|
2
|
+
import { t as __decorate } from "./decorate-DcF3lt7P.js";
|
|
3
|
+
import { css, html } from "lit";
|
|
4
|
+
import { property } from "lit/decorators.js";
|
|
5
|
+
import hostStyles from "@mcp-b/wc-support/styles/host.styles";
|
|
6
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
7
|
+
//#region src/components/listbox-item/listbox-item.styles.ts
|
|
8
|
+
var listbox_item_styles_default = css`
|
|
9
|
+
:host {
|
|
10
|
+
display: block;
|
|
11
|
+
padding: 0.5em 0.9375em;
|
|
12
|
+
/* Use a border instead of gap to prevent dead zones when clicking in the listbox */
|
|
13
|
+
border-bottom: var(--sigvelo-border-width) var(--sigvelo-border-style)
|
|
14
|
+
var(--sigvelo-color-surface);
|
|
15
|
+
border-radius: var(--sigvelo-radius-sm);
|
|
16
|
+
background-color: var(--sigvelo-color-surface);
|
|
17
|
+
color: var(--sigvelo-color-text);
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
user-select: none;
|
|
20
|
+
-webkit-user-select: none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:host(:last-of-type) {
|
|
24
|
+
border-bottom: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host(:focus) {
|
|
28
|
+
outline: none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* All selected items when listbox is focused - using the listbox-focused state */
|
|
32
|
+
:host(:state(controller-focused):state(selected)) {
|
|
33
|
+
background-color: var(--sigvelo-color-primary-bg-muted);
|
|
34
|
+
color: var(--sigvelo-color-primary-text-on-subtle);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* All selected items when listbox is not focused */
|
|
38
|
+
:host(:state(selected):not(:state(controller-focused))) {
|
|
39
|
+
background-color: var(--sigvelo-color-neutral-bg-muted);
|
|
40
|
+
color: var(--sigvelo-color-neutral-text-on-subtle);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Show the current active item for keyboard users when the listbox is focused and the item isn't selected */
|
|
44
|
+
:host(
|
|
45
|
+
[aria-current="true"]:state(controller-focused):not(
|
|
46
|
+
:state(selected),
|
|
47
|
+
:state(controller-readonly)
|
|
48
|
+
)
|
|
49
|
+
) {
|
|
50
|
+
background-color: var(--sigvelo-color-neutral-bg-subtle);
|
|
51
|
+
color: var(--sigvelo-color-neutral-text-on-subtle);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Hover state */
|
|
55
|
+
@media (hover: hover) {
|
|
56
|
+
:host(:not(:state(selected), :state(controller-disabled), :state(controller-readonly)):hover) {
|
|
57
|
+
background-color: var(--sigvelo-color-neutral-bg-subtle);
|
|
58
|
+
color: var(--sigvelo-color-neutral-text-on-subtle);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* Readonly state */
|
|
63
|
+
:host(:state(controller-readonly)) {
|
|
64
|
+
cursor: default;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Disabled state */
|
|
68
|
+
:host(:state(disabled)) {
|
|
69
|
+
cursor: not-allowed;
|
|
70
|
+
opacity: 0.5;
|
|
71
|
+
}
|
|
72
|
+
`;
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/components/listbox-item/listbox-item.ts
|
|
75
|
+
/**
|
|
76
|
+
* <sigvelo-listbox-item>
|
|
77
|
+
*
|
|
78
|
+
* @summary Represents individual choices within a listbox.
|
|
79
|
+
* @tag sigvelo-listbox-item
|
|
80
|
+
* @documentation https://design-system.sigvelo.com/docs/components/listbox-item
|
|
81
|
+
* @status stable
|
|
82
|
+
* @since 1.0
|
|
83
|
+
*
|
|
84
|
+
* @dependency sigvelo-icon
|
|
85
|
+
*
|
|
86
|
+
* @slot - The listbox item's label. For plain-text labels, you can use the `label` attribute instead.
|
|
87
|
+
*
|
|
88
|
+
* @cssstate selected - Applied when the listbox item is selected.
|
|
89
|
+
* @cssstate disabled - Applied when the listbox item is disabled.
|
|
90
|
+
* @cssstate controller-disabled - Applied when the listbox controller is disabled.
|
|
91
|
+
* @cssstate controller-focused - Applied when the listbox controller focused.
|
|
92
|
+
* @cssstate controller-readonly - Applied when the listbox controller is readonly.
|
|
93
|
+
*
|
|
94
|
+
* @example Default
|
|
95
|
+
* This component must only be used within a listbox. You can see some examples of listbox items being used in the listbox documentation.
|
|
96
|
+
*/
|
|
97
|
+
var SigveloListboxItem = class extends SigveloElement {
|
|
98
|
+
constructor(..._args) {
|
|
99
|
+
super(..._args);
|
|
100
|
+
this.value = "";
|
|
101
|
+
this.selected = false;
|
|
102
|
+
this.disabled = false;
|
|
103
|
+
}
|
|
104
|
+
static {
|
|
105
|
+
this.styles = [hostStyles, listbox_item_styles_default];
|
|
106
|
+
}
|
|
107
|
+
firstUpdated() {
|
|
108
|
+
this.setAttribute("role", "option");
|
|
109
|
+
}
|
|
110
|
+
updated(changedProperties) {
|
|
111
|
+
if (changedProperties.has("selected")) {
|
|
112
|
+
this.setAttribute("aria-selected", this.selected ? "true" : "false");
|
|
113
|
+
this.customStates.set("selected", this.selected);
|
|
114
|
+
}
|
|
115
|
+
if (changedProperties.has("disabled")) {
|
|
116
|
+
this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
|
|
117
|
+
this.customStates.set("disabled", this.disabled);
|
|
118
|
+
if (this.selected && this.disabled) this.closest("sigvelo-listbox")?.resetRovingTabIndex();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
render() {
|
|
122
|
+
return html` <slot></slot> `;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
__decorate([property()], SigveloListboxItem.prototype, "label", void 0);
|
|
126
|
+
__decorate([property()], SigveloListboxItem.prototype, "description", void 0);
|
|
127
|
+
__decorate([property()], SigveloListboxItem.prototype, "value", void 0);
|
|
128
|
+
__decorate([property({ type: Boolean })], SigveloListboxItem.prototype, "selected", void 0);
|
|
129
|
+
__decorate([property({
|
|
130
|
+
type: Boolean,
|
|
131
|
+
reflect: true
|
|
132
|
+
})], SigveloListboxItem.prototype, "disabled", void 0);
|
|
133
|
+
customElements.define("sigvelo-listbox-item", SigveloListboxItem);
|
|
134
|
+
//#endregion
|
|
135
|
+
export { SigveloListboxItem as t };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/listbox-item/listbox-item.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-listbox-item>
|
|
7
|
+
*
|
|
8
|
+
* @summary Represents individual choices within a listbox.
|
|
9
|
+
* @tag sigvelo-listbox-item
|
|
10
|
+
* @documentation https://design-system.sigvelo.com/docs/components/listbox-item
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0
|
|
13
|
+
*
|
|
14
|
+
* @dependency sigvelo-icon
|
|
15
|
+
*
|
|
16
|
+
* @slot - The listbox item's label. For plain-text labels, you can use the `label` attribute instead.
|
|
17
|
+
*
|
|
18
|
+
* @cssstate selected - Applied when the listbox item is selected.
|
|
19
|
+
* @cssstate disabled - Applied when the listbox item is disabled.
|
|
20
|
+
* @cssstate controller-disabled - Applied when the listbox controller is disabled.
|
|
21
|
+
* @cssstate controller-focused - Applied when the listbox controller focused.
|
|
22
|
+
* @cssstate controller-readonly - Applied when the listbox controller is readonly.
|
|
23
|
+
*
|
|
24
|
+
* @example Default
|
|
25
|
+
* This component must only be used within a listbox. You can see some examples of listbox items being used in the listbox documentation.
|
|
26
|
+
*/
|
|
27
|
+
declare class SigveloListboxItem extends SigveloElement {
|
|
28
|
+
static styles: CSSResultGroup;
|
|
29
|
+
/**
|
|
30
|
+
* The listbox item's label. If you need to provide HTML in the label, use the `label` slot instead.
|
|
31
|
+
*/
|
|
32
|
+
label: string;
|
|
33
|
+
/**
|
|
34
|
+
* The listbox item's description. If you need to provide HTML in the description, use the `description` slot instead.
|
|
35
|
+
*/
|
|
36
|
+
description: string;
|
|
37
|
+
/** The listbox item's value. */
|
|
38
|
+
value: string;
|
|
39
|
+
/** The listbox item's selected state. */
|
|
40
|
+
selected: boolean;
|
|
41
|
+
/** Disables the listbox item. */
|
|
42
|
+
disabled: boolean;
|
|
43
|
+
firstUpdated(): void;
|
|
44
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
45
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
46
|
+
}
|
|
47
|
+
declare global {
|
|
48
|
+
interface HTMLElementTagNameMap {
|
|
49
|
+
"sigvelo-listbox-item": SigveloListboxItem;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { SigveloListboxItem as t };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { BaseTranslation, BaseTranslation as BaseTranslation$1, LocalizeController, LocalizeController as LocalizeController$1, registerDefaultTranslation, registerTranslation, update } from "@mcp-b/wc-support";
|
|
2
|
+
|
|
3
|
+
//#region src/utilities/localize.d.ts
|
|
4
|
+
/** All translatable terms used by the Sigvelo component library. */
|
|
5
|
+
interface Translation extends BaseTranslation {
|
|
6
|
+
breadcrumbs: string;
|
|
7
|
+
carousel: string;
|
|
8
|
+
clearEntry: string;
|
|
9
|
+
close: string;
|
|
10
|
+
collapse: string;
|
|
11
|
+
colorValue: string;
|
|
12
|
+
copied: string;
|
|
13
|
+
copyToClipboard: string;
|
|
14
|
+
decrease: string;
|
|
15
|
+
disabled: string;
|
|
16
|
+
dragFileHereOrChooseFromFolder: string;
|
|
17
|
+
dragFilesHereOrChooseFromFolder: string;
|
|
18
|
+
error: string;
|
|
19
|
+
expand: string;
|
|
20
|
+
feed: string;
|
|
21
|
+
firstPage: string;
|
|
22
|
+
hidePassword: string;
|
|
23
|
+
hide: string;
|
|
24
|
+
hue: string;
|
|
25
|
+
increase: string;
|
|
26
|
+
itemAdded: (item: string) => string;
|
|
27
|
+
itemRemoved: (item: string) => string;
|
|
28
|
+
itemSelected: (item: string) => string;
|
|
29
|
+
jumpBackward: string;
|
|
30
|
+
jumpForward: string;
|
|
31
|
+
lastPage: string;
|
|
32
|
+
multipleSelectionsAllowed: string;
|
|
33
|
+
next: string;
|
|
34
|
+
noResultsFound: string;
|
|
35
|
+
numberOfTotal: (number: number | string, total: number | string) => string;
|
|
36
|
+
opacity: string;
|
|
37
|
+
pageNumber: (number: number | string) => string;
|
|
38
|
+
pagination: string;
|
|
39
|
+
percentLuminosity: (percentage: string) => string;
|
|
40
|
+
percentSaturation: (percentage: string) => string;
|
|
41
|
+
pleaseSelectAnOption: string;
|
|
42
|
+
pressSpaceForOneSecondToActivate: string;
|
|
43
|
+
previous: string;
|
|
44
|
+
loading: string;
|
|
45
|
+
remove: string;
|
|
46
|
+
removeItem: (item: string) => string;
|
|
47
|
+
resize: string;
|
|
48
|
+
resultsAvailable: (count: number) => string;
|
|
49
|
+
scrollableRegion: string;
|
|
50
|
+
selectAColorFromTheScreen: string;
|
|
51
|
+
selected: string;
|
|
52
|
+
share: string;
|
|
53
|
+
showPassword: string;
|
|
54
|
+
show: string;
|
|
55
|
+
showingNumberOfTotalItems: (number: number | string, total: number) => string;
|
|
56
|
+
showingAllNumberItems: (number: number | string) => string;
|
|
57
|
+
toggleNavigation: string;
|
|
58
|
+
useArrowKeysToNavigateEnterToSelect: string;
|
|
59
|
+
visualComparisonSlider: string;
|
|
60
|
+
zoomIn: string;
|
|
61
|
+
zoomOut: string;
|
|
62
|
+
}
|
|
63
|
+
/** `LocalizeController` pre-typed with the Sigvelo component library translations. */
|
|
64
|
+
declare class Localize extends LocalizeController<Translation> {}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { registerDefaultTranslation as a, Translation as i, Localize as n, registerTranslation as o, LocalizeController$1 as r, update as s, BaseTranslation$1 as t };
|
|
@@ -0,0 +1,198 @@
|
|
|
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 { seededNumberGenerator } from "@mcp-b/wc-support/utilities/math";
|
|
7
|
+
//#region src/components/lorem-ipsum/lorem-ipsum.styles.ts
|
|
8
|
+
var lorem_ipsum_styles_default = css`
|
|
9
|
+
:host {
|
|
10
|
+
display: contents;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/lorem-ipsum/lorem-ipsum.ts
|
|
15
|
+
const DICTIONARY = "a ac adipiscing aenean aliquam aliquet amet ante at auctor augue bibendum condimentum congue consectetur consequat convallis cubilia curae dictum dignissim dolor dui duis egestas eget elit enim erat est et etiam eu euismod ex facilisis faucibus felis fermentum finibus fringilla fusce hendrerit iaculis id in integer interdum ipsum justo lacinia lacus laoreet leo libero ligula lorem luctus magna malesuada massa mauris maximus mi molestie morbi nec neque nisl non nulla nullam nunc odio orci ornare pellentesque pharetra placerat porta porttitor posuere praesent pretium primis proin pulvinar quam quis quisque rhoncus risus sapien scelerisque sed sem semper sit suscipit suspendisse tempor tempus tortor tristique turpis ullamcorper ultrices ut varius vehicula vel velit venenatis vestibulum vivamus viverra vulputate".split(" ");
|
|
16
|
+
function clampRandom(value, min, max) {
|
|
17
|
+
return Math.floor(value * (max - min + 1)) + min;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* <sigvelo-lorem-ipsum>
|
|
21
|
+
*
|
|
22
|
+
* @summary Outputs placeholder text in various formats for testing designs with random content.
|
|
23
|
+
* @tag sigvelo-lorem-ipsum
|
|
24
|
+
* @documentation https://design-system.sigvelo.com/docs/components/lorem-ipsum
|
|
25
|
+
* @status stable
|
|
26
|
+
* @since 1.0
|
|
27
|
+
*
|
|
28
|
+
* @example Default
|
|
29
|
+
* Placeholder text, commonly referred to as lorem ipsum, is useful for displaying the visual form of a document without using actual content. You can use this component instead of copying and pasting large quantities of text from online generators.
|
|
30
|
+
*
|
|
31
|
+
* Unless you provide a seed, each refresh will yield unique content, allowing you to test the flexibility of your designs. The default behavior outputs a few sentences.
|
|
32
|
+
*
|
|
33
|
+
* ```html
|
|
34
|
+
* <sigvelo-lorem-ipsum></sigvelo-lorem-ipsum>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example Titles & headings
|
|
38
|
+
* Set the `type` attribute to `title` to generate text suitable for a title or heading. The `length` attribute controls how many words will be output.
|
|
39
|
+
*
|
|
40
|
+
* ```html
|
|
41
|
+
* <h4><sigvelo-lorem-ipsum type="title" length="2-6"></sigvelo-lorem-ipsum></h4>
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* **Note:** Some attributes herein allow you to specify a minimum and maximum range using the `{min}-{max}` syntax, e.g. `length="2-6"`.
|
|
45
|
+
*
|
|
46
|
+
* @example Sentences
|
|
47
|
+
* Set the `type` attribute to `sentence` to generate sentences. The `length` attribute controls how many sentences are generated. You can specify how many words are in each sentence with the `words-per-sentence` attribute.
|
|
48
|
+
*
|
|
49
|
+
* ```html
|
|
50
|
+
* <sigvelo-lorem-ipsum type="sentence" length="2-3"></sigvelo-lorem-ipsum>
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @example Paragraphs
|
|
54
|
+
* Set the `type` attribute to `paragraph` to generate HTML paragraphs. The `length` attribute controls how many paragraphs are generated. Additional fine tuning can be done with the `words-per-sentence` and `sentences-per-paragraph` attributes.
|
|
55
|
+
*
|
|
56
|
+
* ```html
|
|
57
|
+
* <sigvelo-lorem-ipsum type="paragraph" length="2-4"></sigvelo-lorem-ipsum>
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @example Lists
|
|
61
|
+
* Set the `type` attribute to `ol` or `ul` to generate HTML lists. The `length` attribute controls how many list items are generated. The number of words in each list item can be controlled with the `words-per-sentence` attribute.
|
|
62
|
+
*
|
|
63
|
+
* ```html
|
|
64
|
+
* <sigvelo-lorem-ipsum type="ol" length="3-6" words-per-sentence="2-3"></sigvelo-lorem-ipsum>
|
|
65
|
+
* <br>
|
|
66
|
+
* <sigvelo-lorem-ipsum type="ul" length="3-6" words-per-sentence="2-3"></sigvelo-lorem-ipsum>
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @example Seeding the generator
|
|
70
|
+
* By default, the generator will produce random content every time it runs. If you want to force the output to be the same every time, provide a non-zero seed number using the `seed` attribute.
|
|
71
|
+
*
|
|
72
|
+
* ```html
|
|
73
|
+
* <sigvelo-slider
|
|
74
|
+
* label="Seed"
|
|
75
|
+
* min="1"
|
|
76
|
+
* max="5"
|
|
77
|
+
* value="3"
|
|
78
|
+
* with-markers
|
|
79
|
+
* with-tooltip
|
|
80
|
+
* style="margin-block-end: 2rem;"
|
|
81
|
+
* ></sigvelo-slider>
|
|
82
|
+
* <sigvelo-lorem-ipsum seed="3" id="lorem-ipsum__seed"></sigvelo-lorem-ipsum>
|
|
83
|
+
*
|
|
84
|
+
* <script>
|
|
85
|
+
* const loremIpsum = document.getElementById('lorem-ipsum__seed');
|
|
86
|
+
* const slider = loremIpsum.previousElementSibling;
|
|
87
|
+
*
|
|
88
|
+
* slider.addEventListener('sigvelo-input', () => loremIpsum.seed = slider.value);
|
|
89
|
+
* <\/script>
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* <style>
|
|
93
|
+
* <!-- For the demos -->
|
|
94
|
+
* sigvelo-lorem-ipsum :last-child {
|
|
95
|
+
* margin-block-end: 0;
|
|
96
|
+
* }
|
|
97
|
+
* </style>
|
|
98
|
+
*/
|
|
99
|
+
var SigveloLoremIpsum = class extends SigveloElement {
|
|
100
|
+
constructor(..._args) {
|
|
101
|
+
super(..._args);
|
|
102
|
+
this.type = "sentence";
|
|
103
|
+
this.length = "3-5";
|
|
104
|
+
this.wordsPerSentence = "4-16";
|
|
105
|
+
this.sentencesPerParagraph = "3-6";
|
|
106
|
+
}
|
|
107
|
+
static {
|
|
108
|
+
this.styles = [hostStyles, lorem_ipsum_styles_default];
|
|
109
|
+
}
|
|
110
|
+
/** Returns an array of words of the specified length. */
|
|
111
|
+
generateWords(length) {
|
|
112
|
+
const words = [];
|
|
113
|
+
for (let i = 0; i < length; i++) {
|
|
114
|
+
const index = clampRandom(this.generateNumber(), 0, DICTIONARY.length - 1);
|
|
115
|
+
words.push(DICTIONARY[index]);
|
|
116
|
+
}
|
|
117
|
+
return words;
|
|
118
|
+
}
|
|
119
|
+
/** Returns a number within the specified range. */
|
|
120
|
+
getNumberWithinRange(range) {
|
|
121
|
+
if (typeof range === "number") return range || 0;
|
|
122
|
+
if (typeof range === "string" && !range.includes("-")) return Number(range) || 0;
|
|
123
|
+
const parsedRange = String(range).split("-");
|
|
124
|
+
const min = Number(parsedRange[0]) || 0;
|
|
125
|
+
const max = Number(parsedRange[1]) || 0;
|
|
126
|
+
return clampRandom(this.generateNumber(), min, max);
|
|
127
|
+
}
|
|
128
|
+
/** Generates a list of random items based on the properties that are currently set */
|
|
129
|
+
generateList() {
|
|
130
|
+
const numItems = this.getNumberWithinRange(this.length);
|
|
131
|
+
let items = "";
|
|
132
|
+
for (let i = 0; i < numItems; i++) {
|
|
133
|
+
const numWords = this.getNumberWithinRange(this.wordsPerSentence);
|
|
134
|
+
const item = this.generateWords(numWords).join(" ");
|
|
135
|
+
items += `<li>${item.charAt(0).toUpperCase() + item.slice(1)}</li>`;
|
|
136
|
+
}
|
|
137
|
+
return `<${this.type}>${items}</${this.type}>`;
|
|
138
|
+
}
|
|
139
|
+
/** Generates random paragraphs based on the properties that are currently set */
|
|
140
|
+
generateParagraphs() {
|
|
141
|
+
const numParagraphs = this.getNumberWithinRange(this.length);
|
|
142
|
+
let paragraphs = "";
|
|
143
|
+
for (let i = 0; i < numParagraphs; i++) {
|
|
144
|
+
const sentences = this.generateSentences();
|
|
145
|
+
paragraphs += `<p>${sentences}</p>`;
|
|
146
|
+
}
|
|
147
|
+
return paragraphs;
|
|
148
|
+
}
|
|
149
|
+
/** Generates random sentences based on the properties that are currently set */
|
|
150
|
+
generateSentences() {
|
|
151
|
+
const commaFrequency = 10;
|
|
152
|
+
const numSentences = this.getNumberWithinRange(this.length);
|
|
153
|
+
let sentences = "";
|
|
154
|
+
for (let i = 0; i < numSentences; i++) {
|
|
155
|
+
const numWords = this.getNumberWithinRange(this.wordsPerSentence);
|
|
156
|
+
const words = this.generateWords(numWords);
|
|
157
|
+
let sentence = "";
|
|
158
|
+
for (let j = 0; j < words.length; j++) {
|
|
159
|
+
const word = words[j];
|
|
160
|
+
if (j === 0) {
|
|
161
|
+
sentence += word.charAt(0).toUpperCase() + word.slice(1);
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (j < words.length - 3) {
|
|
165
|
+
if (clampRandom(this.generateNumber(), 0, commaFrequency) === 0) sentence += ", ";
|
|
166
|
+
}
|
|
167
|
+
sentence += ` ${word}`;
|
|
168
|
+
}
|
|
169
|
+
sentences += `${sentence}. `;
|
|
170
|
+
}
|
|
171
|
+
return sentences.trim();
|
|
172
|
+
}
|
|
173
|
+
/** Generates a random title based on the properties that are currently set */
|
|
174
|
+
generateTitle() {
|
|
175
|
+
const numWords = this.getNumberWithinRange(this.length);
|
|
176
|
+
const words = this.generateWords(numWords);
|
|
177
|
+
const title = [];
|
|
178
|
+
for (const word of words) title.push(word.charAt(0).toUpperCase() + word.slice(1));
|
|
179
|
+
return title.join(" ");
|
|
180
|
+
}
|
|
181
|
+
render() {
|
|
182
|
+
const seed = typeof this.seed === "number" ? this.seed : parseFloat(this.seed);
|
|
183
|
+
this.generateNumber = typeof this.seed === "undefined" ? () => Math.random() : seededNumberGenerator(seed);
|
|
184
|
+
if (this.type === "sentence") this.innerHTML = this.generateSentences();
|
|
185
|
+
if (this.type === "paragraph") this.innerHTML = this.generateParagraphs();
|
|
186
|
+
if (this.type === "title") this.innerHTML = this.generateTitle();
|
|
187
|
+
if (this.type === "ol" || this.type === "ul") this.innerHTML = this.generateList();
|
|
188
|
+
return html` <slot></slot> `;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
__decorate([property()], SigveloLoremIpsum.prototype, "type", void 0);
|
|
192
|
+
__decorate([property()], SigveloLoremIpsum.prototype, "length", void 0);
|
|
193
|
+
__decorate([property({ type: Number })], SigveloLoremIpsum.prototype, "seed", void 0);
|
|
194
|
+
__decorate([property({ attribute: "words-per-sentence" })], SigveloLoremIpsum.prototype, "wordsPerSentence", void 0);
|
|
195
|
+
__decorate([property({ attribute: "sentences-per-paragraph" })], SigveloLoremIpsum.prototype, "sentencesPerParagraph", void 0);
|
|
196
|
+
customElements.define("sigvelo-lorem-ipsum", SigveloLoremIpsum);
|
|
197
|
+
//#endregion
|
|
198
|
+
export { SigveloLoremIpsum as t };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { CSSResultGroup } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/lorem-ipsum/lorem-ipsum.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-lorem-ipsum>
|
|
7
|
+
*
|
|
8
|
+
* @summary Outputs placeholder text in various formats for testing designs with random content.
|
|
9
|
+
* @tag sigvelo-lorem-ipsum
|
|
10
|
+
* @documentation https://design-system.sigvelo.com/docs/components/lorem-ipsum
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0
|
|
13
|
+
*
|
|
14
|
+
* @example Default
|
|
15
|
+
* Placeholder text, commonly referred to as lorem ipsum, is useful for displaying the visual form of a document without using actual content. You can use this component instead of copying and pasting large quantities of text from online generators.
|
|
16
|
+
*
|
|
17
|
+
* Unless you provide a seed, each refresh will yield unique content, allowing you to test the flexibility of your designs. The default behavior outputs a few sentences.
|
|
18
|
+
*
|
|
19
|
+
* ```html
|
|
20
|
+
* <sigvelo-lorem-ipsum></sigvelo-lorem-ipsum>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example Titles & headings
|
|
24
|
+
* Set the `type` attribute to `title` to generate text suitable for a title or heading. The `length` attribute controls how many words will be output.
|
|
25
|
+
*
|
|
26
|
+
* ```html
|
|
27
|
+
* <h4><sigvelo-lorem-ipsum type="title" length="2-6"></sigvelo-lorem-ipsum></h4>
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* **Note:** Some attributes herein allow you to specify a minimum and maximum range using the `{min}-{max}` syntax, e.g. `length="2-6"`.
|
|
31
|
+
*
|
|
32
|
+
* @example Sentences
|
|
33
|
+
* Set the `type` attribute to `sentence` to generate sentences. The `length` attribute controls how many sentences are generated. You can specify how many words are in each sentence with the `words-per-sentence` attribute.
|
|
34
|
+
*
|
|
35
|
+
* ```html
|
|
36
|
+
* <sigvelo-lorem-ipsum type="sentence" length="2-3"></sigvelo-lorem-ipsum>
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @example Paragraphs
|
|
40
|
+
* Set the `type` attribute to `paragraph` to generate HTML paragraphs. The `length` attribute controls how many paragraphs are generated. Additional fine tuning can be done with the `words-per-sentence` and `sentences-per-paragraph` attributes.
|
|
41
|
+
*
|
|
42
|
+
* ```html
|
|
43
|
+
* <sigvelo-lorem-ipsum type="paragraph" length="2-4"></sigvelo-lorem-ipsum>
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example Lists
|
|
47
|
+
* Set the `type` attribute to `ol` or `ul` to generate HTML lists. The `length` attribute controls how many list items are generated. The number of words in each list item can be controlled with the `words-per-sentence` attribute.
|
|
48
|
+
*
|
|
49
|
+
* ```html
|
|
50
|
+
* <sigvelo-lorem-ipsum type="ol" length="3-6" words-per-sentence="2-3"></sigvelo-lorem-ipsum>
|
|
51
|
+
* <br>
|
|
52
|
+
* <sigvelo-lorem-ipsum type="ul" length="3-6" words-per-sentence="2-3"></sigvelo-lorem-ipsum>
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example Seeding the generator
|
|
56
|
+
* By default, the generator will produce random content every time it runs. If you want to force the output to be the same every time, provide a non-zero seed number using the `seed` attribute.
|
|
57
|
+
*
|
|
58
|
+
* ```html
|
|
59
|
+
* <sigvelo-slider
|
|
60
|
+
* label="Seed"
|
|
61
|
+
* min="1"
|
|
62
|
+
* max="5"
|
|
63
|
+
* value="3"
|
|
64
|
+
* with-markers
|
|
65
|
+
* with-tooltip
|
|
66
|
+
* style="margin-block-end: 2rem;"
|
|
67
|
+
* ></sigvelo-slider>
|
|
68
|
+
* <sigvelo-lorem-ipsum seed="3" id="lorem-ipsum__seed"></sigvelo-lorem-ipsum>
|
|
69
|
+
*
|
|
70
|
+
* <script>
|
|
71
|
+
* const loremIpsum = document.getElementById('lorem-ipsum__seed');
|
|
72
|
+
* const slider = loremIpsum.previousElementSibling;
|
|
73
|
+
*
|
|
74
|
+
* slider.addEventListener('sigvelo-input', () => loremIpsum.seed = slider.value);
|
|
75
|
+
* </script>
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* <style>
|
|
79
|
+
* <!-- For the demos -->
|
|
80
|
+
* sigvelo-lorem-ipsum :last-child {
|
|
81
|
+
* margin-block-end: 0;
|
|
82
|
+
* }
|
|
83
|
+
* </style>
|
|
84
|
+
*/
|
|
85
|
+
declare class SigveloLoremIpsum extends SigveloElement {
|
|
86
|
+
static styles: CSSResultGroup;
|
|
87
|
+
private generateNumber;
|
|
88
|
+
/** The type of HTML content to generate. */
|
|
89
|
+
type: "sentence" | "title" | "paragraph" | "ol" | "ul";
|
|
90
|
+
/**
|
|
91
|
+
* The length of the content to generate, e.g. the number of words, sentences, paragraphs, or list items. This should
|
|
92
|
+
* be a number or a range in the format of `{min}-{max}`, e.g. `2-4`.
|
|
93
|
+
*/
|
|
94
|
+
length: number | string;
|
|
95
|
+
/**
|
|
96
|
+
* By default, the generator will produce random content every time it runs. Use this option to seed the generator
|
|
97
|
+
* with a non-zero number and force it to output the same content every time.
|
|
98
|
+
*/
|
|
99
|
+
seed: number;
|
|
100
|
+
/**
|
|
101
|
+
* The number of words that should occur in a sentence or list item. This should be a number or a range in the format
|
|
102
|
+
* of `{min}-{max}`, e.g. `4-16`.
|
|
103
|
+
*/
|
|
104
|
+
wordsPerSentence: number | string;
|
|
105
|
+
/**
|
|
106
|
+
* The number of sentences that should occur in a paragraph. This should be a number or a range in the format of
|
|
107
|
+
* `{min}-{max}`, e.g. `3-6`.
|
|
108
|
+
*/
|
|
109
|
+
sentencesPerParagraph: number | string;
|
|
110
|
+
/** Returns an array of words of the specified length. */
|
|
111
|
+
private generateWords;
|
|
112
|
+
/** Returns a number within the specified range. */
|
|
113
|
+
private getNumberWithinRange;
|
|
114
|
+
/** Generates a list of random items based on the properties that are currently set */
|
|
115
|
+
private generateList;
|
|
116
|
+
/** Generates random paragraphs based on the properties that are currently set */
|
|
117
|
+
private generateParagraphs;
|
|
118
|
+
/** Generates random sentences based on the properties that are currently set */
|
|
119
|
+
private generateSentences;
|
|
120
|
+
/** Generates a random title based on the properties that are currently set */
|
|
121
|
+
private generateTitle;
|
|
122
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
123
|
+
}
|
|
124
|
+
declare global {
|
|
125
|
+
interface HTMLElementTagNameMap {
|
|
126
|
+
"sigvelo-lorem-ipsum": SigveloLoremIpsum;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
export { SigveloLoremIpsum as t };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues } from "lit";
|
|
2
|
+
import { SigveloElement } from "@mcp-b/wc-support/base/sigvelo-element";
|
|
3
|
+
|
|
4
|
+
//#region src/components/meter/meter.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* <sigvelo-meter>
|
|
7
|
+
*
|
|
8
|
+
* @summary Displays a static gauge representing a value within a known range.
|
|
9
|
+
* @tag sigvelo-meter
|
|
10
|
+
* @status experimental
|
|
11
|
+
* @since 1.0
|
|
12
|
+
*
|
|
13
|
+
* @slot - Optional label content displayed above the meter.
|
|
14
|
+
* @slot value - Optional formatted value displayed to the right of the label.
|
|
15
|
+
*
|
|
16
|
+
* @cssproperty [--track-color=var(--sigvelo-color-neutral-bg-subtle)] - The color of the meter's track.
|
|
17
|
+
* @cssproperty [--track-size=0.5rem] - The height of the meter track.
|
|
18
|
+
* @cssproperty [--indicator-color] - The color of the meter's indicator. Defaults to the color intent.
|
|
19
|
+
*
|
|
20
|
+
* @csspart track - The meter's track element.
|
|
21
|
+
* @csspart indicator - The meter's value indicator.
|
|
22
|
+
* @csspart label - The container for the label and value.
|
|
23
|
+
*
|
|
24
|
+
* @example Default
|
|
25
|
+
* ```html
|
|
26
|
+
* <sigvelo-meter label="Disk usage" value="72" style="width: 300px;">
|
|
27
|
+
* <span slot="value">72%</span>
|
|
28
|
+
* </sigvelo-meter>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Color intents
|
|
32
|
+
* ```html
|
|
33
|
+
* <div style="display: flex; flex-direction: column; gap: 1rem; width: 300px;">
|
|
34
|
+
* <sigvelo-meter label="CPU" value="25" color="primary">
|
|
35
|
+
* <span slot="value">25%</span>
|
|
36
|
+
* </sigvelo-meter>
|
|
37
|
+
* <sigvelo-meter label="Memory" value="55" color="success">
|
|
38
|
+
* <span slot="value">55%</span>
|
|
39
|
+
* </sigvelo-meter>
|
|
40
|
+
* <sigvelo-meter label="Disk" value="78" color="warning">
|
|
41
|
+
* <span slot="value">78%</span>
|
|
42
|
+
* </sigvelo-meter>
|
|
43
|
+
* <sigvelo-meter label="Network" value="92" color="destructive">
|
|
44
|
+
* <span slot="value">92%</span>
|
|
45
|
+
* </sigvelo-meter>
|
|
46
|
+
* </div>
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
declare class SigveloMeter extends SigveloElement {
|
|
50
|
+
static styles: CSSResultGroup;
|
|
51
|
+
/** A label for the meter, displayed above the track. */
|
|
52
|
+
label: string;
|
|
53
|
+
/** The meter's minimum value. */
|
|
54
|
+
min: number;
|
|
55
|
+
/** The meter's maximum value. */
|
|
56
|
+
max: number;
|
|
57
|
+
/** The meter's current value. */
|
|
58
|
+
value: number;
|
|
59
|
+
/** The color intent for the indicator. */
|
|
60
|
+
color: "primary" | "success" | "warning" | "destructive";
|
|
61
|
+
/** The percentage of the meter filled (readonly). */
|
|
62
|
+
get percentage(): number;
|
|
63
|
+
firstUpdated(): void;
|
|
64
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
65
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
66
|
+
}
|
|
67
|
+
declare global {
|
|
68
|
+
interface HTMLElementTagNameMap {
|
|
69
|
+
"sigvelo-meter": SigveloMeter;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//#endregion
|
|
73
|
+
export { SigveloMeter as t };
|