@bethinkpl/design-system 29.2.1 → 29.3.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/dist/RadioButton-CnwgXzEL.js +63 -0
- package/dist/RadioButton-CnwgXzEL.js.map +1 -0
- package/dist/design-system.css +1 -1
- package/dist/design-system.js +116 -114
- package/dist/index-BC36rU9e.js +25376 -0
- package/dist/index-BC36rU9e.js.map +1 -0
- package/dist/lib/js/components/Buttons/IconButton/IconButton.vue.d.ts +1 -0
- package/dist/lib/js/components/Cards/CardExpandable/CardExpandable.vue.d.ts +1 -0
- package/dist/lib/js/components/Chip/Chip.vue.d.ts +2 -0
- package/dist/lib/js/components/DatePickers/DateBox/DateBox.vue.d.ts +1 -0
- package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.vue.d.ts +1 -0
- package/dist/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue.d.ts +1 -0
- package/dist/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue.d.ts +4 -0
- package/dist/lib/js/components/Drawer/DrawerListItem/DrawerListItem.vue.d.ts +1 -0
- package/dist/lib/js/components/Drawer/DrawerSection/DrawerSection.vue.d.ts +3 -0
- package/dist/lib/js/components/Form/Checkbox/Checkbox.vue.d.ts +1 -0
- package/dist/lib/js/components/Form/RadioButton/RadioButton.vue.d.ts +1 -0
- package/dist/lib/js/components/Headers/OverlayHeader/OverlayHeader.vue.d.ts +2 -0
- package/dist/lib/js/components/Headers/SectionHeader/SectionHeader.vue.d.ts +2 -0
- package/dist/lib/js/components/Icons/Icon/Icon.consts.d.ts +1 -0
- package/dist/lib/js/components/Modal/Modal.vue.d.ts +1 -0
- package/dist/lib/js/components/Modals/Modal/Modal.vue.d.ts +2 -0
- package/dist/lib/js/components/Modals/ModalDialog/ModalDialog.vue.d.ts +2 -0
- package/dist/lib/js/components/Outline/OutlineItem/OutlineItem.vue.d.ts +1 -0
- package/dist/lib/js/components/Pagination/Pagination.vue.d.ts +3 -0
- package/dist/lib/js/components/ProgressBar/ProgressBar.consts.d.ts +6 -2
- package/dist/lib/js/components/ProgressBar/ProgressBar.vue.d.ts +65 -7
- package/dist/lib/js/components/ProgressBar/ProgressBarLegend.consts.d.ts +12 -0
- package/dist/lib/js/components/ProgressBar/ProgressBarLegend.vue.d.ts +24 -0
- package/dist/lib/js/components/ProgressBar/ProgressBarLegendItem.vue.d.ts +29 -0
- package/dist/lib/js/components/ProgressBar/index.d.ts +1 -0
- package/dist/lib/js/components/ProgressDonutChart/ProgressDonutChart.vue.d.ts +1 -0
- package/dist/lib/js/components/RichList/BasicRichListItem/BasicRichListItem.vue.d.ts +2 -0
- package/dist/lib/js/components/RichList/RichListItem/RichListItem.vue.d.ts +2 -0
- package/dist/lib/js/components/SelectList/SelectListItem/SelectListItem.vue.d.ts +1 -0
- package/dist/lib/js/components/SelectList/SelectListItemToggle/SelectListItemToggle.vue.d.ts +1 -0
- package/dist/lib/js/components/SelectionTile/SelectionTile.vue.d.ts +3 -0
- package/dist/lib/js/components/Statuses/AccessStatus/AccessStatus.vue.d.ts +1 -0
- package/dist/lib/js/components/Statuses/BlockadeStatus/BlockadeStatus.vue.d.ts +1 -0
- package/dist/lib/js/components/SurveyQuestions/SurveyQuestionOpenEnded/SurveyQuestionOpenEnded.vue.d.ts +3 -0
- package/dist/lib/js/components/SurveyQuestions/SurveyQuestionScale/SurveyQuestionScale.vue.d.ts +3 -0
- package/dist/lib/js/components/Switch/Switch.vue.d.ts +1 -0
- package/dist/lib/js/components/Tile/Tile.sb.shared.d.ts +1 -0
- package/dist/lib/js/components/Toggles/ToggleButton/ToggleButton.vue.d.ts +1 -0
- package/dist/lib/js/icons/fontawesome.d.ts +1 -0
- package/dist/lib/js/index.d.ts +1 -0
- package/docs/assets/{AccessStatus-6RrquOtX.js → AccessStatus-CKL9Dmhn.js} +1 -1
- package/docs/assets/{AccessStatus.stories-Bsqyb22o.js → AccessStatus.stories-BfrBEU3-.js} +1 -1
- package/docs/assets/{Avatar-BcCt6j3Z.js → Avatar-6vv7ByrM.js} +1 -1
- package/docs/assets/{Avatar.stories-YUJQonrb.js → Avatar.stories-CmABY1Ry.js} +1 -1
- package/docs/assets/{Badge-_nJoBw3C.js → Badge-CGSn8HBe.js} +1 -1
- package/docs/assets/{Badge.stories-B-VcdDWa.js → Badge.stories-CaxYXDFU.js} +1 -1
- package/docs/assets/{BadgeScore-C1ncR4kj.js → BadgeScore-B4K0jdwQ.js} +1 -1
- package/docs/assets/{BadgeScore.stories-BYyf-cLS.js → BadgeScore.stories-BeqWmoL7.js} +1 -1
- package/docs/assets/{Banner-BcnYflQg.js → Banner-pv7sfD95.js} +1 -1
- package/docs/assets/{Banner.stories-B9NChHfT.js → Banner.stories-Rdwi1Tdx.js} +1 -1
- package/docs/assets/{BasicRichListItem-CvsA5xHV.js → BasicRichListItem-Bt97jels.js} +1 -1
- package/docs/assets/{BasicRichListItem.stories-DznFeq73.js → BasicRichListItem.stories-B3LSA5Ic.js} +2 -2
- package/docs/assets/{BlockadeStatus--5l5BVd9.js → BlockadeStatus-Czv84vXt.js} +1 -1
- package/docs/assets/{BlockedeStatus.stories-8GlaHCEz.js → BlockedeStatus.stories-BWviq2bI.js} +1 -1
- package/docs/assets/{Button-B94D9rfG.js → Button-CoyY6G5X.js} +1 -1
- package/docs/assets/{Button.stories-DBTCrvT-.js → Button.stories-BMHYR736.js} +1 -1
- package/docs/assets/{Card-BlnGdF9X.js → Card-Cfm-79Gl.js} +1 -1
- package/docs/assets/{Card.stories-CGm5MkC7.js → Card.stories-CwGTmuOi.js} +1 -1
- package/docs/assets/{CardExpandable-DZTIPKT0.js → CardExpandable-BvkNuHVj.js} +1 -1
- package/docs/assets/{CardExpandable.stories-B49sSgjI.js → CardExpandable.stories-CNIGCFpo.js} +1 -1
- package/docs/assets/{Checkbox-DszBECh_.js → Checkbox-BWpvE7c6.js} +1 -1
- package/docs/assets/{Checkbox.stories-BvJ9r9tj.js → Checkbox.stories-D8AfOL-o.js} +1 -1
- package/docs/assets/{Chip-BAzh6NQh.js → Chip-Bkc_Am1X.js} +1 -1
- package/docs/assets/{Chip.stories-DiXgts6u.js → Chip.stories-Xi2YV5_y.js} +1 -1
- package/docs/assets/{Color-ERTF36HU-DNDBr2Lw.js → Color-ERTF36HU-DYApUIcb.js} +1 -1
- package/docs/assets/{Colors.stories-BtNgjWxi.js → Colors.stories-BDCCkZg8.js} +1 -1
- package/docs/assets/{ColorsThemes.stories-Ct0Ai41o.js → ColorsThemes.stories-Dg55KCzR.js} +1 -1
- package/docs/assets/{ColorsTokensLms.stories-BP-WMJrS.js → ColorsTokensLms.stories-5BsvfIGh.js} +1 -1
- package/docs/assets/{ColorsTokensPrimaryBodywork.stories-zdX-tf4x.js → ColorsTokensPrimaryBodywork.stories-huDvcr5H.js} +1 -1
- package/docs/assets/{ColorsTokensPrimaryWnl.stories-DFVUj_99.js → ColorsTokensPrimaryWnl.stories-DYE-2tIP.js} +1 -1
- package/docs/assets/{CounterToggle-BY6TBtkk.js → CounterToggle-BdbJpfah.js} +1 -1
- package/docs/assets/{CounterToggle.stories-D-yMsFVH.js → CounterToggle.stories-DMmO0ghU.js} +1 -1
- package/docs/assets/{DateBox.stories-1irTl63N.js → DateBox.stories-1yADjuFG.js} +1 -1
- package/docs/assets/{DatePicker-ByIcer5b.js → DatePicker-BYTfqwtn.js} +1 -1
- package/docs/assets/{DatePicker.stories-YnlJI8-n.js → DatePicker.stories-VM43k94o.js} +1 -1
- package/docs/assets/{DateRangePicker-BptvC2tB.js → DateRangePicker-CuKtKGUK.js} +1 -1
- package/docs/assets/{DateRangePicker.stories-1rkFeu2B.js → DateRangePicker.stories-C8zrjbHt.js} +1 -1
- package/docs/assets/{Divider-NOTDPuJ1.js → Divider-GLNEyt1v.js} +1 -1
- package/docs/assets/{Divider.stories-Cjyx7utt.js → Divider.stories-CFtU3ER6.js} +1 -1
- package/docs/assets/{DocsRenderer-CFRXHY34-7UkMmLSl.js → DocsRenderer-CFRXHY34-DPtMtGg6.js} +5 -5
- package/docs/assets/{Drawer-CrAn35Yo.js → Drawer-BhUWahlN.js} +1 -1
- package/docs/assets/{Drawer.stories-iInS0JV5.js → Drawer.stories-B0-VK4H7.js} +1 -1
- package/docs/assets/{DrawerContent-DAIzyQNz.js → DrawerContent-CrWEJHiH.js} +1 -1
- package/docs/assets/{DrawerContent.stories-CBpbbVk_.js → DrawerContent.stories-BWVSAOvK.js} +1 -1
- package/docs/assets/{DrawerDivider-CKRXkKRz.js → DrawerDivider-xjDbe7dA.js} +1 -1
- package/docs/assets/{DrawerDivider.stories-iQ2J_ExP.js → DrawerDivider.stories-aQ5yJPRb.js} +1 -1
- package/docs/assets/{DrawerHeader-BwegM1fx.js → DrawerHeader-DdaoTm6b.js} +1 -1
- package/docs/assets/{DrawerHeader.stories-K6gxVRV-.js → DrawerHeader.stories-ccykPtCk.js} +1 -1
- package/docs/assets/{DrawerListItem-DvBfK0Hb.js → DrawerListItem-DfTABx8B.js} +1 -1
- package/docs/assets/{DrawerListItem.stories-BQT73CbZ.js → DrawerListItem.stories-D-FZzTMx.js} +1 -1
- package/docs/assets/{DrawerListItemGroup-SEWltKLJ.js → DrawerListItemGroup-CJEAM-Cj.js} +1 -1
- package/docs/assets/{DrawerListItemGroup.stories--DjTbAT3.js → DrawerListItemGroup.stories-g-_oxrRG.js} +1 -1
- package/docs/assets/{DrawerSection-BKYUXNfm.js → DrawerSection-xxKzDEsA.js} +1 -1
- package/docs/assets/{DrawerSection.stories-BBO65rId.js → DrawerSection.stories-B1tyxPSs.js} +1 -1
- package/docs/assets/{DrawerTile-CLcq_Ubm.js → DrawerTile-DmywJ3y2.js} +1 -1
- package/docs/assets/{DrawerTile.stories-DbLfOV-a.js → DrawerTile.stories-BkyiW5v5.js} +1 -1
- package/docs/assets/{Dropdown-Bdrd2ZIh.js → Dropdown-B251So_M.js} +1 -1
- package/docs/assets/{Dropdown.stories-BpwaldeL.js → Dropdown.stories-BTR1cBmp.js} +1 -1
- package/docs/assets/{FeatureIcon-BToReWwn.js → FeatureIcon-DlSsCT-N.js} +1 -1
- package/docs/assets/{FeatureIcon.stories-CgPr_HvJ.js → FeatureIcon.stories-Dd3es7Zp.js} +1 -1
- package/docs/assets/{FormField-o0Nbl5Xc.js → FormField-9b6SZuZX.js} +1 -1
- package/docs/assets/{FormField.stories-BT1y_kRT.js → FormField.stories-nWDxULUL.js} +1 -1
- package/docs/assets/{FormField.stories.shared-C7iHaKgG.js → FormField.stories.shared-BgsGljga.js} +1 -1
- package/docs/assets/{FormFieldMessage-j77PwDtU.js → FormFieldMessage-B4QT7U15.js} +1 -1
- package/docs/assets/{FormFieldMessage.stories-BmHxg-JM.js → FormFieldMessage.stories-D6SF2qUQ.js} +1 -1
- package/docs/assets/{GroupRichListItem-Ch7gwzMP.js → GroupRichListItem-1ZgkDTYR.js} +1 -1
- package/docs/assets/{GroupRichListItem.stories-B3fRNHr4.js → GroupRichListItem.stories-B8GKQ41b.js} +1 -1
- package/docs/assets/{HelpButton-BiWg2Xeu.js → HelpButton-NbGTgq8g.js} +1 -1
- package/docs/assets/{HelpButton.stories-Dj9cwFXK.js → HelpButton.stories-dYyl8Ajp.js} +1 -1
- package/docs/assets/{Icon-CJfhJHwv.js → Icon-NI6HBKO2.js} +10 -6
- package/docs/assets/{Icon.stories-Cj36JfMS.js → Icon.stories-BPuv-FNh.js} +1 -1
- package/docs/assets/IconButton-Dsfqv3yz.js +1 -0
- package/docs/assets/{IconButton.stories-4ROLBnvi.js → IconButton.stories-Df-JZlkP.js} +1 -1
- package/docs/assets/{IconText-DOjS8CFo.js → IconText-DeslOYu5.js} +1 -1
- package/docs/assets/{IconText.stories-DB7GTKW7.js → IconText.stories-B27vypOW.js} +1 -1
- package/docs/assets/{Image-B7PRENWe.js → Image-CfXOhuw2.js} +1 -1
- package/docs/assets/{Image.stories-DkYrm30P.js → Image.stories-DCHqfUW3.js} +1 -1
- package/docs/assets/{InputField-DJjokbZM.js → InputField-UVli5f6b.js} +1 -1
- package/docs/assets/{InputField.stories-gh5xDYbK.js → InputField.stories-ClgEGuuG.js} +1 -1
- package/docs/assets/{ItemsList-nTRSgJDP.js → ItemsList-MTdAgwyY.js} +1 -1
- package/docs/assets/{LoadingBar-DGNrwKu4.js → LoadingBar-CKSXAM-I.js} +1 -1
- package/docs/assets/{LoadingBar.stories-owR_6Oqy.js → LoadingBar.stories-m7-KOBdV.js} +1 -1
- package/docs/assets/{Modal-C7iR9oQ6.js → Modal-DTJAE74l.js} +1 -1
- package/docs/assets/{Modal.stories-BmsmYQgI.js → Modal.stories-C9ZbcQCs.js} +1 -1
- package/docs/assets/{ModalDialog-CSo8UkIU.js → ModalDialog-CUrhJ6LQ.js} +1 -1
- package/docs/assets/{ModalDialog.stories-ByUzaCby.js → ModalDialog.stories-COAlx1bt.js} +1 -1
- package/docs/assets/{NumberInCircle-CE28_Nsz.js → NumberInCircle-CaSb7HI1.js} +1 -1
- package/docs/assets/{NumberInCircle.stories-DFdUVSKM.js → NumberInCircle.stories-ugFw3DwZ.js} +1 -1
- package/docs/assets/{OutlineDivider-DJ9pnpJN.js → OutlineDivider-Dnwysotd.js} +1 -1
- package/docs/assets/{OutlineDivider.stories-Dzpei9KR.js → OutlineDivider.stories-B9vyH0Uz.js} +1 -1
- package/docs/assets/{OutlineItem-DvtZG15a.js → OutlineItem-3N1zOsTr.js} +1 -1
- package/docs/assets/{OutlineItem.stories-D2hY8U2_.js → OutlineItem.stories-CxuKxpst.js} +1 -1
- package/docs/assets/{OutlineSectionHeader-CSNr7XVB.js → OutlineSectionHeader-CUMU5m59.js} +1 -1
- package/docs/assets/{OutlineSectionHeader.stories-CuJwkOKg.js → OutlineSectionHeader.stories-DI36shRr.js} +1 -1
- package/docs/assets/{OverlayHeader-DA4fpeIv.js → OverlayHeader-C-5lGAZu.js} +1 -1
- package/docs/assets/{OverlayHeader.stories-DiOzyCPC.js → OverlayHeader.stories-DCn6fm8e.js} +1 -1
- package/docs/assets/{PageHeader-Cy-UHuRb.js → PageHeader-B0zPlNDE.js} +1 -1
- package/docs/assets/{PageHeader.stories-DlW4dler.js → PageHeader.stories-BPtwW7u7.js} +1 -1
- package/docs/assets/{Pagination-CH0GqNk-.js → Pagination-B1Qm8ipD.js} +1 -1
- package/docs/assets/{Pagination.stories-CB_u7eZP.js → Pagination.stories-D7r3QTPy.js} +1 -1
- package/docs/assets/{PasswordField-C_D138gk.js → PasswordField-DTCke8Gr.js} +1 -1
- package/docs/assets/{PasswordField.stories-DscLQADu.js → PasswordField.stories-BzUmHeV2.js} +1 -1
- package/docs/assets/{PopOver-DLjsS2et.js → PopOver-Bn4QrHXb.js} +1 -1
- package/docs/assets/{PopOver.stories-D0Xjo76q.js → PopOver.stories-XW_FKgg7.js} +1 -1
- package/docs/assets/{ProgressBar-Dj1UsIts.css → ProgressBar-BYgvOHe9.css} +1 -1
- package/docs/assets/ProgressBar-Y7_vdo2G.js +1 -0
- package/docs/assets/ProgressBar.stories-BpI8WF_M.js +106 -0
- package/docs/assets/ProgressBarLegend-CEt-pBme.css +1 -0
- package/docs/assets/ProgressBarLegend-D9fmI8_Q.js +1 -0
- package/docs/assets/ProgressBarLegend.stories-CTHPVxC_.js +21 -0
- package/docs/assets/ProgressBarLegendItem-DBa9yY6E.js +1 -0
- package/docs/assets/ProgressBarLegendItem-DNByZ9bA.css +1 -0
- package/docs/assets/ProgressBarLegendItem.stories-B8DeTq37.js +26 -0
- package/docs/assets/ProgressDonutChart-TeoCy0G3.js +1 -0
- package/docs/assets/{ProgressDonutChart.stories-DjEnOrCJ.js → ProgressDonutChart.stories-DYaTOxz1.js} +1 -1
- package/docs/assets/{RadioButton-B4B26bwA.js → RadioButton-30CGtcyR.js} +1 -1
- package/docs/assets/{RadioButton.stories-DI_odJH7.js → RadioButton.stories-Q7OkQUIz.js} +1 -1
- package/docs/assets/{RichListItem.stories-0FS4KOgO.js → RichListItem.stories-D8-KJmzV.js} +2 -2
- package/docs/assets/{SectionHeader-B-0Bn-lk.js → SectionHeader-BEr4jT8h.js} +1 -1
- package/docs/assets/{SectionHeader.stories-DMxecuyp.js → SectionHeader.stories-DSHtUSdX.js} +1 -1
- package/docs/assets/{SectionTitle-wTuJZZVS.js → SectionTitle-DDrKTXCv.js} +1 -1
- package/docs/assets/{SectionTitle.stories-Dr3KOvIl.js → SectionTitle.stories-DHZYU10N.js} +1 -1
- package/docs/assets/{SelectList-YMQ8rEMc.js → SelectList-DGd_SbLG.js} +1 -1
- package/docs/assets/{SelectList.stories-BO2EhByv.js → SelectList.stories-C86stkfP.js} +1 -1
- package/docs/assets/{SelectListItem-sjj2wPOg.js → SelectListItem-D6jbLU_Y.js} +1 -1
- package/docs/assets/{SelectListItem.stories-D7Jr_Rjw.js → SelectListItem.stories-BSmibPFW.js} +1 -1
- package/docs/assets/{SelectListItemDivider-CTU7_4OL.js → SelectListItemDivider-C5ZBkKAq.js} +1 -1
- package/docs/assets/{SelectListItemDivider.stories-rGpk0Yeg.js → SelectListItemDivider.stories-L5Oxd7Eo.js} +1 -1
- package/docs/assets/{SelectListItemTile-CUsln382.js → SelectListItemTile-C0BQGk_1.js} +1 -1
- package/docs/assets/{SelectListItemTile.stories-DIuIVWWH.js → SelectListItemTile.stories-CGbBqd9n.js} +1 -1
- package/docs/assets/{SelectListItemToggle-0rSpk6XA.js → SelectListItemToggle-w8TMej8m.js} +1 -1
- package/docs/assets/{SelectListItemToggle.stories-Ddo6JlVH.js → SelectListItemToggle.stories-DpOZ1bmq.js} +1 -1
- package/docs/assets/{SelectListSectionTitle-B9Dj10G9.js → SelectListSectionTitle-BpNI0QSS.js} +1 -1
- package/docs/assets/{SelectListSectionTitle.stories-DCZ-Sq6v.js → SelectListSectionTitle.stories-DB82qSxT.js} +1 -1
- package/docs/assets/{SelectionControl-M6cEJrGP.js → SelectionControl-CWQygzcl.js} +1 -1
- package/docs/assets/{SelectionTile-BVOuKTP3.js → SelectionTile-CVbm1FQN.js} +2 -2
- package/docs/assets/{SelectionTile.stories-kbbYzzkR.js → SelectionTile.stories-CDaADzlv.js} +1 -1
- package/docs/assets/{Skeleton-D5xhZMQa.js → Skeleton-D9fhH1qX.js} +1 -1
- package/docs/assets/{Skeleton.stories-ll-E-sPN.js → Skeleton.stories-x61Ys-cO.js} +1 -1
- package/docs/assets/{SurveyQuestionOpenEnded-DIq5sq2m.js → SurveyQuestionOpenEnded-BAnNjRqI.js} +1 -1
- package/docs/assets/{SurveyQuestionOpenEnded.stories-BkyaFtSM.js → SurveyQuestionOpenEnded.stories-DrMatTZx.js} +1 -1
- package/docs/assets/{SurveyQuestionScale-C1YFeEPJ.js → SurveyQuestionScale-DZXIYUUt.js} +1 -1
- package/docs/assets/{SurveyQuestionScale.stories-BSjScx_Z.js → SurveyQuestionScale.stories-CjYlsDuN.js} +1 -1
- package/docs/assets/{SurveyToggle-DRRRlYMv.js → SurveyToggle-DguwCDO8.js} +1 -1
- package/docs/assets/{SurveyToggle.stories-DmFFbx3p.js → SurveyToggle.stories-CLOTKd1_.js} +1 -1
- package/docs/assets/{Switch-myVZDsGf.js → Switch-CRLkRMDz.js} +1 -1
- package/docs/assets/{Switch.stories-Dd_aNOOy.js → Switch.stories-hfNFrQi_.js} +1 -1
- package/docs/assets/{TabItem-DXEHM_OJ.js → TabItem-Beq_DioL.js} +1 -1
- package/docs/assets/{TabItem.stories-CUfluMvM.js → TabItem.stories-CgL50VY_.js} +1 -1
- package/docs/assets/{TextGroup-BC5JAQ0O.js → TextGroup--bAkZnWi.js} +1 -1
- package/docs/assets/{TextGroup.stories-BpYwN47b.js → TextGroup.stories-RIm5WlzO.js} +1 -1
- package/docs/assets/{ThreeColumnLayout-LVzDOKfj.js → ThreeColumnLayout-Cp_9DCdw.js} +1 -1
- package/docs/assets/{ThreeColumnLayout.stories-CkgbTH3p.js → ThreeColumnLayout.stories-x0bQCo--.js} +1 -1
- package/docs/assets/{Tile--bMKlDuj.js → Tile-jzFqPN2Q.js} +1 -1
- package/docs/assets/{Tile.sb.shared-CLYuDO8R.js → Tile.sb.shared-HZrN5Yh_.js} +1 -1
- package/docs/assets/{Tile.stories-BETofu4-.js → Tile.stories-DW5hMbNj.js} +1 -1
- package/docs/assets/{Toast-CpKr8v3q.js → Toast-B-AtBUeF.js} +1 -1
- package/docs/assets/{Toast.stories-knplqPP3.js → Toast.stories-BC2256p4.js} +1 -1
- package/docs/assets/{ToggleButton-jk5NGNQU.js → ToggleButton-BRizdAy6.js} +1 -1
- package/docs/assets/{ToggleButton.stories-Cp1c8cNh.js → ToggleButton.stories-CrarLcXq.js} +1 -1
- package/docs/assets/{Tooltip-BvaJ_K9_.js → Tooltip-Dri2vN3o.js} +1 -1
- package/docs/assets/{Tooltip.stories-xtukYF4C.js → Tooltip.stories-CvsXg1BU.js} +1 -1
- package/docs/assets/{TypographyTokensLms.stories-Cm_y52b6.js → TypographyTokensLms.stories-B8wfmUfn.js} +1 -1
- package/docs/assets/{TypographyVariables.stories-DTHJ_1UO.js → TypographyVariables.stories-BXmLxaG6.js} +1 -1
- package/docs/assets/{Well-Djx9_Lkt.js → Well-BgkT37-V.js} +1 -1
- package/docs/assets/{Well.stories-CL_lOoak.js → Well.stories-VyyP7bL3.js} +1 -1
- package/docs/assets/{entry-preview-CAn2_StQ.js → entry-preview-BGI8djEi.js} +1 -1
- package/docs/assets/{entry-preview-docs-Y_6rrjxM.js → entry-preview-docs-9BJoasfm.js} +1 -1
- package/docs/assets/iframe-Cdu_IgPB.js +2 -0
- package/docs/assets/{index-CupCHp3X.js → index-01VS1SvV.js} +1 -1
- package/docs/assets/{index-CyNq9Pcs.js → index-Dd4v1DO6.js} +1 -1
- package/docs/assets/{preview-ByRMDIXv.js → preview-C8Y-TAOj.js} +2 -2
- package/docs/assets/preview-DKMlMx_S.js +64 -0
- package/docs/assets/{string-BB4EAZtA.js → string-D9E4uE5t.js} +1 -1
- package/docs/assets/{vue-popper-m_ujT3wC.js → vue-popper-CKSsDv3l.js} +2 -2
- package/docs/assets/{vue.esm-bundler-DcRN7CPI.js → vue.esm-bundler-B__7-iky.js} +1 -1
- package/docs/iframe.html +1 -1
- package/docs/index.json +1 -1
- package/docs/project.json +1 -1
- package/lib/js/components/ProgressBar/ProgressBar.consts.ts +5 -1
- package/lib/js/components/ProgressBar/ProgressBar.spec.ts +68 -0
- package/lib/js/components/ProgressBar/ProgressBar.stories.ts +78 -7
- package/lib/js/components/ProgressBar/ProgressBar.vue +24 -1
- package/lib/js/components/ProgressBar/ProgressBarLegend.consts.ts +15 -0
- package/lib/js/components/ProgressBar/ProgressBarLegend.stories.ts +97 -0
- package/lib/js/components/ProgressBar/ProgressBarLegend.vue +62 -0
- package/lib/js/components/ProgressBar/ProgressBarLegendItem.stories.ts +76 -0
- package/lib/js/components/ProgressBar/ProgressBarLegendItem.vue +263 -0
- package/lib/js/components/ProgressBar/index.ts +1 -0
- package/lib/js/icons/fontawesome.ts +2 -0
- package/lib/js/index.ts +1 -0
- package/package.json +1 -1
- package/docs/assets/IconButton-Ds4zUdcw.js +0 -1
- package/docs/assets/ProgressBar-CNQn5L6a.js +0 -1
- package/docs/assets/ProgressBar.stories-CCHGxEDq.js +0 -57
- package/docs/assets/ProgressDonutChart-CYr0uWkM.js +0 -1
- package/docs/assets/iframe-Dx1h5O--.js +0 -2
- package/docs/assets/preview-C4VNpVDT.js +0 -64
|
@@ -10,19 +10,37 @@ import {
|
|
|
10
10
|
} from './ProgressBar.consts';
|
|
11
11
|
|
|
12
12
|
import { Args, ArgTypes, Meta, StoryFn } from '@storybook/vue3';
|
|
13
|
+
import { ICONS } from '../Icons/Icon';
|
|
14
|
+
import { PROGRESS_BAR_LEGEND_SIZES } from './ProgressBarLegend.consts';
|
|
15
|
+
import DsBanner, { BANNER_COLORS } from '../Banner';
|
|
13
16
|
|
|
14
17
|
export default {
|
|
15
|
-
title: 'Components/ProgressBar',
|
|
18
|
+
title: 'Components/ProgressBar/ProgressBar',
|
|
16
19
|
component: ProgressBar,
|
|
17
20
|
} as Meta<typeof ProgressBar>;
|
|
18
21
|
|
|
22
|
+
function wrapWithContainer(template: string): string {
|
|
23
|
+
return `<div style="display: inline-flex; flex-direction: column; width: 100%; gap: 20px;">${template}
|
|
24
|
+
<ds-banner v-if="invalidUsage" :color="BANNER_COLORS.WARNING" title="Taka kombinacja jest niezgodna z design systemem!" />
|
|
25
|
+
</div>
|
|
26
|
+
`;
|
|
27
|
+
}
|
|
28
|
+
|
|
19
29
|
const StoryTemplate: StoryFn<typeof ProgressBar> = (args) => ({
|
|
20
|
-
components: { ProgressBar },
|
|
30
|
+
components: { ProgressBar, DsBanner },
|
|
21
31
|
setup() {
|
|
22
|
-
return { args };
|
|
32
|
+
return { args, BANNER_COLORS };
|
|
33
|
+
},
|
|
34
|
+
computed: {
|
|
35
|
+
invalidUsage() {
|
|
36
|
+
return (
|
|
37
|
+
args.legendSize === PROGRESS_BAR_LEGEND_SIZES.MEDIUM &&
|
|
38
|
+
args.layout === PROGRESS_BAR_LAYOUTS.COMPACT &&
|
|
39
|
+
args.hasLegend === true
|
|
40
|
+
);
|
|
41
|
+
},
|
|
23
42
|
},
|
|
24
|
-
template:
|
|
25
|
-
<progress-bar v-bind=args></progress-bar>`,
|
|
43
|
+
template: wrapWithContainer(`<progress-bar v-bind=args></progress-bar>`),
|
|
26
44
|
});
|
|
27
45
|
|
|
28
46
|
export const Interactive = StoryTemplate.bind({});
|
|
@@ -50,6 +68,9 @@ const argTypes = {
|
|
|
50
68
|
labelText: {
|
|
51
69
|
control: 'text',
|
|
52
70
|
},
|
|
71
|
+
labelTextEllipsis: {
|
|
72
|
+
control: 'boolean',
|
|
73
|
+
},
|
|
53
74
|
labelData: {
|
|
54
75
|
control: 'text',
|
|
55
76
|
},
|
|
@@ -67,7 +88,14 @@ const argTypes = {
|
|
|
67
88
|
control: 'select',
|
|
68
89
|
options: Object.values(PROGRESS_BAR_BADGE_COLORS),
|
|
69
90
|
},
|
|
70
|
-
|
|
91
|
+
hasLegend: {
|
|
92
|
+
control: 'boolean',
|
|
93
|
+
},
|
|
94
|
+
legendSize: {
|
|
95
|
+
control: 'select',
|
|
96
|
+
options: Object.values(PROGRESS_BAR_LEGEND_SIZES),
|
|
97
|
+
},
|
|
98
|
+
hasLegendPercentValue: {
|
|
71
99
|
control: 'boolean',
|
|
72
100
|
},
|
|
73
101
|
} as ArgTypes;
|
|
@@ -81,27 +109,39 @@ Interactive.args = {
|
|
|
81
109
|
color: PROGRESS_BAR_RANGE_COLORS.INFO,
|
|
82
110
|
start: 0,
|
|
83
111
|
length: 30,
|
|
112
|
+
label: 'First Label',
|
|
113
|
+
data: 'First Data',
|
|
114
|
+
icon: ICONS.FA_ADDRESS_CARD,
|
|
84
115
|
} as ProgressBarRange,
|
|
85
116
|
{
|
|
86
117
|
color: PROGRESS_BAR_RANGE_COLORS.INFO_WEAK,
|
|
87
118
|
start: 30,
|
|
88
119
|
length: 10,
|
|
120
|
+
label: 'Second Label',
|
|
121
|
+
data: 'Second Data',
|
|
122
|
+
icon: ICONS.FA_CARDS_BLANK,
|
|
89
123
|
} as ProgressBarRange,
|
|
90
124
|
{
|
|
91
125
|
color: PROGRESS_BAR_RANGE_COLORS.INFO_GHOST,
|
|
92
126
|
start: 40,
|
|
93
127
|
length: 10,
|
|
128
|
+
label: 'Third Label',
|
|
129
|
+
data: 'Third Data',
|
|
130
|
+
icon: ICONS.FA_CIRCLE_ARROW_LEFT,
|
|
94
131
|
} as ProgressBarRange,
|
|
95
132
|
],
|
|
96
133
|
radius: PROGRESS_BAR_RADII.DEFAULT,
|
|
97
134
|
layout: PROGRESS_BAR_LAYOUTS.DEFAULT,
|
|
98
135
|
labelText: 'Label text',
|
|
136
|
+
labelTextEllipsis: false,
|
|
99
137
|
labelData: '30',
|
|
100
138
|
labelDataSupporting: '100',
|
|
101
139
|
labelDataSuffix: '(%)',
|
|
102
140
|
badgePosition: '50',
|
|
103
141
|
badgeColor: PROGRESS_BAR_BADGE_COLORS.INFO,
|
|
104
|
-
|
|
142
|
+
hasLegend: false,
|
|
143
|
+
legendSize: PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
144
|
+
hasLegendPercentValue: true,
|
|
105
145
|
} as Args;
|
|
106
146
|
|
|
107
147
|
Interactive.parameters = {
|
|
@@ -189,3 +229,34 @@ Compact.args = {
|
|
|
189
229
|
labelDataSuffix: '(%)',
|
|
190
230
|
labelTextEllipsis: false,
|
|
191
231
|
} as Args;
|
|
232
|
+
|
|
233
|
+
export const LegendWithoutIcons = StoryTemplate.bind({});
|
|
234
|
+
|
|
235
|
+
LegendWithoutIcons.argTypes = argTypes;
|
|
236
|
+
LegendWithoutIcons.args = {
|
|
237
|
+
layout: PROGRESS_BAR_LAYOUTS.DEFAULT,
|
|
238
|
+
ranges: [
|
|
239
|
+
{
|
|
240
|
+
color: PROGRESS_BAR_RANGE_COLORS.SUCCESS,
|
|
241
|
+
start: 0,
|
|
242
|
+
length: 30,
|
|
243
|
+
label: 'First Label',
|
|
244
|
+
data: 'First Data',
|
|
245
|
+
} as ProgressBarRange,
|
|
246
|
+
{
|
|
247
|
+
color: PROGRESS_BAR_RANGE_COLORS.WARNING,
|
|
248
|
+
start: 30,
|
|
249
|
+
length: 10,
|
|
250
|
+
label: 'Second Label',
|
|
251
|
+
data: 'Second Data',
|
|
252
|
+
} as ProgressBarRange,
|
|
253
|
+
],
|
|
254
|
+
labelText: 'Label text',
|
|
255
|
+
labelData: '30',
|
|
256
|
+
labelDataSupporting: '100',
|
|
257
|
+
labelDataSuffix: '(%)',
|
|
258
|
+
labelTextEllipsis: false,
|
|
259
|
+
hasLegend: true,
|
|
260
|
+
hasLegendPercentValue: true,
|
|
261
|
+
legendSize: PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
262
|
+
} as Args;
|
|
@@ -62,6 +62,14 @@
|
|
|
62
62
|
"
|
|
63
63
|
/>
|
|
64
64
|
</div>
|
|
65
|
+
<progress-bar-legend
|
|
66
|
+
v-if="hasLegend"
|
|
67
|
+
class="ds-progressBar__legend"
|
|
68
|
+
:ranges="ranges"
|
|
69
|
+
:layout="layout"
|
|
70
|
+
:size="legendSize"
|
|
71
|
+
:has-percent-value="hasLegendPercentValue"
|
|
72
|
+
/>
|
|
65
73
|
</div>
|
|
66
74
|
</template>
|
|
67
75
|
|
|
@@ -321,10 +329,13 @@ import {
|
|
|
321
329
|
} from './ProgressBar.consts';
|
|
322
330
|
|
|
323
331
|
import DsIcon, { ICON_SIZES, ICONS } from '../Icons/Icon';
|
|
332
|
+
import ProgressBarLegend from './ProgressBarLegend.vue';
|
|
333
|
+
import { PROGRESS_BAR_LEGEND_SIZES, ProgressBarLegendSize } from './ProgressBarLegend.consts';
|
|
324
334
|
|
|
325
335
|
export default defineComponent({
|
|
326
336
|
name: 'ProgressBar',
|
|
327
337
|
components: {
|
|
338
|
+
ProgressBarLegend,
|
|
328
339
|
DsIcon,
|
|
329
340
|
},
|
|
330
341
|
props: {
|
|
@@ -360,7 +371,7 @@ export default defineComponent({
|
|
|
360
371
|
},
|
|
361
372
|
},
|
|
362
373
|
layout: {
|
|
363
|
-
type: String
|
|
374
|
+
type: String as PropType<ProgressBarLayout>,
|
|
364
375
|
default: PROGRESS_BAR_LAYOUTS.DEFAULT,
|
|
365
376
|
validator(size: ProgressBarLayout) {
|
|
366
377
|
return Object.values(PROGRESS_BAR_LAYOUTS).includes(size);
|
|
@@ -400,6 +411,18 @@ export default defineComponent({
|
|
|
400
411
|
return Object.values(PROGRESS_BAR_BADGE_COLORS).includes(color);
|
|
401
412
|
},
|
|
402
413
|
},
|
|
414
|
+
hasLegend: {
|
|
415
|
+
type: Boolean,
|
|
416
|
+
default: false,
|
|
417
|
+
},
|
|
418
|
+
legendSize: {
|
|
419
|
+
type: String as PropType<ProgressBarLegendSize>,
|
|
420
|
+
default: PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
421
|
+
},
|
|
422
|
+
hasLegendPercentValue: {
|
|
423
|
+
type: Boolean,
|
|
424
|
+
default: true,
|
|
425
|
+
},
|
|
403
426
|
},
|
|
404
427
|
data() {
|
|
405
428
|
return {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Value } from '../../utils/type.utils';
|
|
2
|
+
|
|
3
|
+
export const PROGRESS_BAR_LEGEND_LAYOUTS = {
|
|
4
|
+
DEFAULT: 'default',
|
|
5
|
+
COMPACT: 'compact',
|
|
6
|
+
} as const;
|
|
7
|
+
|
|
8
|
+
export type ProgressBarLegendLayout = Value<typeof PROGRESS_BAR_LEGEND_LAYOUTS>;
|
|
9
|
+
|
|
10
|
+
export const PROGRESS_BAR_LEGEND_SIZES = {
|
|
11
|
+
SMALL: 'small',
|
|
12
|
+
MEDIUM: 'medium',
|
|
13
|
+
} as const;
|
|
14
|
+
|
|
15
|
+
export type ProgressBarLegendSize = Value<typeof PROGRESS_BAR_LEGEND_SIZES>;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Args, ArgTypes, Meta, StoryFn } from '@storybook/vue3';
|
|
2
|
+
import ProgressBarLegend from './ProgressBarLegend.vue';
|
|
3
|
+
import { PROGRESS_BAR_LEGEND_LAYOUTS, PROGRESS_BAR_LEGEND_SIZES } from './ProgressBarLegend.consts';
|
|
4
|
+
import {
|
|
5
|
+
PROGRESS_BAR_LAYOUTS,
|
|
6
|
+
PROGRESS_BAR_RANGE_COLORS,
|
|
7
|
+
ProgressBarRange,
|
|
8
|
+
} from './ProgressBar.consts';
|
|
9
|
+
import { ICONS } from '../Icons/Icon';
|
|
10
|
+
import DsBanner, { BANNER_COLORS } from '../Banner';
|
|
11
|
+
|
|
12
|
+
export default {
|
|
13
|
+
title: 'Components/ProgressBar/ProgressBarLegend',
|
|
14
|
+
component: ProgressBarLegend,
|
|
15
|
+
} as Meta<typeof ProgressBarLegend>;
|
|
16
|
+
|
|
17
|
+
function wrapWithContainer(template: string): string {
|
|
18
|
+
return `<div style="display: inline-flex; flex-direction: column; width: 100%; gap: 20px;">${template}
|
|
19
|
+
<ds-banner v-if="invalidUsage" :color="BANNER_COLORS.WARNING" title="Taka kombinacja jest niezgodna z design systemem!" />
|
|
20
|
+
</div>
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const StoryTemplate: StoryFn<typeof ProgressBarLegend> = (args) => ({
|
|
25
|
+
components: { ProgressBarLegend, DsBanner },
|
|
26
|
+
setup() {
|
|
27
|
+
return { args, BANNER_COLORS };
|
|
28
|
+
},
|
|
29
|
+
computed: {
|
|
30
|
+
invalidUsage() {
|
|
31
|
+
return (
|
|
32
|
+
args.size === PROGRESS_BAR_LEGEND_SIZES.MEDIUM &&
|
|
33
|
+
args.layout === PROGRESS_BAR_LEGEND_LAYOUTS.COMPACT
|
|
34
|
+
);
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
template: wrapWithContainer(`<progress-bar-legend v-bind=args></progress-bar-legend>`),
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export const Interactive = StoryTemplate.bind({});
|
|
41
|
+
|
|
42
|
+
const argTypes = {
|
|
43
|
+
size: {
|
|
44
|
+
control: 'select',
|
|
45
|
+
options: Object.values(PROGRESS_BAR_LEGEND_SIZES),
|
|
46
|
+
},
|
|
47
|
+
ranges: {
|
|
48
|
+
control: 'object',
|
|
49
|
+
},
|
|
50
|
+
layout: {
|
|
51
|
+
control: 'select',
|
|
52
|
+
options: Object.values(PROGRESS_BAR_LEGEND_LAYOUTS),
|
|
53
|
+
},
|
|
54
|
+
hasPercentValue: {
|
|
55
|
+
control: 'boolean',
|
|
56
|
+
},
|
|
57
|
+
} as ArgTypes;
|
|
58
|
+
|
|
59
|
+
Interactive.argTypes = argTypes;
|
|
60
|
+
Interactive.args = {
|
|
61
|
+
size: PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
62
|
+
ranges: [
|
|
63
|
+
{
|
|
64
|
+
color: PROGRESS_BAR_RANGE_COLORS.INFO,
|
|
65
|
+
start: 0,
|
|
66
|
+
length: 30,
|
|
67
|
+
label: 'First Label',
|
|
68
|
+
data: 'First Data',
|
|
69
|
+
icon: ICONS.FA_ADDRESS_CARD,
|
|
70
|
+
} as ProgressBarRange,
|
|
71
|
+
{
|
|
72
|
+
color: PROGRESS_BAR_RANGE_COLORS.INFO_WEAK,
|
|
73
|
+
start: 30,
|
|
74
|
+
length: 10,
|
|
75
|
+
label: 'Second Label',
|
|
76
|
+
data: 'Second Data',
|
|
77
|
+
icon: ICONS.FA_CARDS_BLANK,
|
|
78
|
+
} as ProgressBarRange,
|
|
79
|
+
{
|
|
80
|
+
color: PROGRESS_BAR_RANGE_COLORS.INFO_GHOST,
|
|
81
|
+
start: 40,
|
|
82
|
+
length: 10,
|
|
83
|
+
label: 'Third Label',
|
|
84
|
+
data: 'Third Data',
|
|
85
|
+
icon: ICONS.FA_CIRCLE_ARROW_LEFT,
|
|
86
|
+
} as ProgressBarRange,
|
|
87
|
+
],
|
|
88
|
+
layout: PROGRESS_BAR_LAYOUTS.DEFAULT,
|
|
89
|
+
hasPercentValue: true,
|
|
90
|
+
} as Args;
|
|
91
|
+
|
|
92
|
+
Interactive.parameters = {
|
|
93
|
+
design: {
|
|
94
|
+
type: 'figma',
|
|
95
|
+
url: 'https://www.figma.com/design/izQdYyiBR1GQgFkaOIfIJI/LMS---DS-Components?node-id=14650-3488&m=dev',
|
|
96
|
+
},
|
|
97
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="ds-progressBarLegend"
|
|
4
|
+
:class="{
|
|
5
|
+
'-ds-compact': layout === PROGRESS_BAR_LEGEND_LAYOUTS.COMPACT,
|
|
6
|
+
'-ds-small': size === PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
7
|
+
}"
|
|
8
|
+
>
|
|
9
|
+
<progress-bar-legend-item
|
|
10
|
+
v-for="(data, index) in ranges"
|
|
11
|
+
:key="index"
|
|
12
|
+
:size="size"
|
|
13
|
+
:color="data.color"
|
|
14
|
+
:data="data.data"
|
|
15
|
+
:label="data.label"
|
|
16
|
+
:icon="data.icon"
|
|
17
|
+
:percent-value="hasPercentValue ? data.length?.toString() : undefined"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<style scoped lang="scss">
|
|
23
|
+
@import '../../../styles/settings/spacings';
|
|
24
|
+
|
|
25
|
+
.ds-progressBarLegend {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-wrap: wrap;
|
|
28
|
+
gap: $space-xs $space-m;
|
|
29
|
+
padding-top: $space-xs;
|
|
30
|
+
|
|
31
|
+
&.-ds-compact {
|
|
32
|
+
gap: $space-2xs $space-s;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.-ds-small {
|
|
36
|
+
padding-top: $space-2xs;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
40
|
+
|
|
41
|
+
<script setup lang="ts">
|
|
42
|
+
import {
|
|
43
|
+
PROGRESS_BAR_LEGEND_LAYOUTS,
|
|
44
|
+
PROGRESS_BAR_LEGEND_SIZES,
|
|
45
|
+
ProgressBarLegendLayout,
|
|
46
|
+
ProgressBarLegendSize,
|
|
47
|
+
} from './ProgressBarLegend.consts';
|
|
48
|
+
import ProgressBarLegendItem from './ProgressBarLegendItem.vue';
|
|
49
|
+
import { ProgressBarRange } from './ProgressBar.consts';
|
|
50
|
+
|
|
51
|
+
const {
|
|
52
|
+
layout = PROGRESS_BAR_LEGEND_LAYOUTS.DEFAULT,
|
|
53
|
+
ranges,
|
|
54
|
+
size = PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
55
|
+
hasPercentValue = true,
|
|
56
|
+
} = defineProps<{
|
|
57
|
+
layout?: ProgressBarLegendLayout;
|
|
58
|
+
ranges: Array<ProgressBarRange>;
|
|
59
|
+
size?: ProgressBarLegendSize;
|
|
60
|
+
hasPercentValue?: boolean;
|
|
61
|
+
}>();
|
|
62
|
+
</script>
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Args, ArgTypes, Meta, StoryFn } from '@storybook/vue3';
|
|
2
|
+
import ProgressBarLegendItem from './ProgressBarLegendItem.vue';
|
|
3
|
+
import { PROGRESS_BAR_LEGEND_SIZES } from './ProgressBarLegend.consts';
|
|
4
|
+
import { ICONS } from '../Icons/Icon';
|
|
5
|
+
import { PROGRESS_BAR_RANGE_COLORS } from './ProgressBar.consts';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Components/ProgressBar/ProgressBarLegendItem',
|
|
9
|
+
component: ProgressBarLegendItem,
|
|
10
|
+
} as Meta<typeof ProgressBarLegendItem>;
|
|
11
|
+
|
|
12
|
+
const StoryTemplate: StoryFn<typeof ProgressBarLegendItem> = (args) => ({
|
|
13
|
+
components: { ProgressBarLegendItem },
|
|
14
|
+
setup() {
|
|
15
|
+
return { args };
|
|
16
|
+
},
|
|
17
|
+
template: `
|
|
18
|
+
<progress-bar-legend-item :label="args.label" :data="args.data" :percent-value="args.percentValue" :size="args.size" :color="args.color" :icon="icon"></progress-bar-legend-item>`,
|
|
19
|
+
data() {
|
|
20
|
+
return {
|
|
21
|
+
ICONS: Object.freeze(ICONS),
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
computed: {
|
|
25
|
+
icon: () => {
|
|
26
|
+
if (args.icon) {
|
|
27
|
+
return ICONS[args.icon];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return null;
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export const Interactive = StoryTemplate.bind({});
|
|
36
|
+
|
|
37
|
+
const argTypes = {
|
|
38
|
+
size: {
|
|
39
|
+
control: 'select',
|
|
40
|
+
options: Object.values(PROGRESS_BAR_LEGEND_SIZES),
|
|
41
|
+
},
|
|
42
|
+
color: {
|
|
43
|
+
control: 'select',
|
|
44
|
+
options: Object.values(PROGRESS_BAR_RANGE_COLORS),
|
|
45
|
+
},
|
|
46
|
+
icon: {
|
|
47
|
+
control: 'select',
|
|
48
|
+
options: [null, ...Object.keys(ICONS)],
|
|
49
|
+
},
|
|
50
|
+
label: {
|
|
51
|
+
control: 'text',
|
|
52
|
+
},
|
|
53
|
+
data: {
|
|
54
|
+
control: 'text',
|
|
55
|
+
},
|
|
56
|
+
percentValue: {
|
|
57
|
+
control: 'text',
|
|
58
|
+
},
|
|
59
|
+
} as ArgTypes;
|
|
60
|
+
|
|
61
|
+
Interactive.argTypes = argTypes;
|
|
62
|
+
Interactive.args = {
|
|
63
|
+
size: PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
64
|
+
color: PROGRESS_BAR_RANGE_COLORS.PRIMARY,
|
|
65
|
+
icon: null,
|
|
66
|
+
label: 'Random label',
|
|
67
|
+
data: 'Some Data',
|
|
68
|
+
percentValue: '10',
|
|
69
|
+
} as Args;
|
|
70
|
+
|
|
71
|
+
Interactive.parameters = {
|
|
72
|
+
design: {
|
|
73
|
+
type: 'figma',
|
|
74
|
+
url: 'https://www.figma.com/design/izQdYyiBR1GQgFkaOIfIJI/LMS---DS-Components?node-id=14650-1822&m=dev',
|
|
75
|
+
},
|
|
76
|
+
};
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="ds-progressBarLegendItem"
|
|
4
|
+
:class="{ '-ds-small': size === PROGRESS_BAR_LEGEND_SIZES.SMALL }"
|
|
5
|
+
>
|
|
6
|
+
<template v-if="size === PROGRESS_BAR_LEGEND_SIZES.MEDIUM">
|
|
7
|
+
<div class="ds-progressBarLegendItem__label">{{ label }}</div>
|
|
8
|
+
<div class="ds-progressBarLegendItem__wrapper">
|
|
9
|
+
<div
|
|
10
|
+
class="ds-progressBarLegendItem__dataIndicator"
|
|
11
|
+
:class="{ '-ds-hasIcon': !!icon, [`-ds-${color}`]: true }"
|
|
12
|
+
>
|
|
13
|
+
<ds-icon
|
|
14
|
+
v-if="icon"
|
|
15
|
+
class="ds-progressBarLegendItem__icon"
|
|
16
|
+
:size="ICON_SIZES.XX_SMALL"
|
|
17
|
+
:icon="icon"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="ds-progressBarLegendItem__dataWrapper">
|
|
21
|
+
<span class="ds-progressBarLegendItem__data">{{ data }}</span>
|
|
22
|
+
<span
|
|
23
|
+
v-if="renderedPercentValue"
|
|
24
|
+
class="ds-progressBarLegendItem__percentValue"
|
|
25
|
+
>
|
|
26
|
+
{{ renderedPercentValue }}
|
|
27
|
+
</span>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</template>
|
|
31
|
+
<template v-else>
|
|
32
|
+
<div class="ds-progressBarLegendItem__wrapper">
|
|
33
|
+
<div
|
|
34
|
+
class="ds-progressBarLegendItem__dataIndicator"
|
|
35
|
+
:class="{ '-ds-hasIcon': !!icon, [`-ds-${color}`]: true }"
|
|
36
|
+
>
|
|
37
|
+
<ds-icon
|
|
38
|
+
v-if="icon"
|
|
39
|
+
class="ds-progressBarLegendItem__icon"
|
|
40
|
+
:size="ICON_SIZES.XXX_SMALL"
|
|
41
|
+
:icon="icon"
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="ds-progressBarLegendItem__label">{{ label }}</div>
|
|
45
|
+
<div class="ds-progressBarLegendItem__dataWrapper">
|
|
46
|
+
<span class="ds-progressBarLegendItem__data">{{ data }}</span>
|
|
47
|
+
<span
|
|
48
|
+
v-if="renderedPercentValue"
|
|
49
|
+
class="ds-progressBarLegendItem__percentValue"
|
|
50
|
+
>
|
|
51
|
+
{{ renderedPercentValue }}
|
|
52
|
+
</span>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
</div>
|
|
57
|
+
</template>
|
|
58
|
+
|
|
59
|
+
<style scoped lang="scss">
|
|
60
|
+
@import '../../../styles/settings/spacings';
|
|
61
|
+
@import '../../../styles/settings/typography/tokens';
|
|
62
|
+
@import '../../../styles/settings/colors/tokens';
|
|
63
|
+
|
|
64
|
+
$progress-bar-legend-item-colors: (
|
|
65
|
+
'primaryMedium': (
|
|
66
|
+
'background': $color-primary-data-medium,
|
|
67
|
+
'iconColor': $color-inverted-icon,
|
|
68
|
+
),
|
|
69
|
+
'primary': (
|
|
70
|
+
'background': $color-primary-data,
|
|
71
|
+
'iconColor': $color-inverted-icon,
|
|
72
|
+
),
|
|
73
|
+
'primaryWeak': (
|
|
74
|
+
'background': $color-primary-data-weak,
|
|
75
|
+
'iconColor': $color-inverted-icon,
|
|
76
|
+
),
|
|
77
|
+
'primaryGhost': (
|
|
78
|
+
'background': $color-primary-data-ghost,
|
|
79
|
+
'iconColor': $color-primary-icon,
|
|
80
|
+
),
|
|
81
|
+
'neutralMedium': (
|
|
82
|
+
'background': $color-neutral-data-medium,
|
|
83
|
+
'iconColor': $color-inverted-icon,
|
|
84
|
+
),
|
|
85
|
+
'neutral': (
|
|
86
|
+
'background': $color-neutral-data,
|
|
87
|
+
'iconColor': $color-inverted-icon,
|
|
88
|
+
),
|
|
89
|
+
'neutralWeak': (
|
|
90
|
+
'background': $color-neutral-data-weak,
|
|
91
|
+
'iconColor': $color-inverted-icon,
|
|
92
|
+
),
|
|
93
|
+
'neutralGhost': (
|
|
94
|
+
'background': $color-neutral-data-ghost,
|
|
95
|
+
'iconColor': $color-neutral-icon,
|
|
96
|
+
),
|
|
97
|
+
'infoMedium': (
|
|
98
|
+
'background': $color-info-data-medium,
|
|
99
|
+
'iconColor': $color-inverted-icon,
|
|
100
|
+
),
|
|
101
|
+
'info': (
|
|
102
|
+
'background': $color-info-data,
|
|
103
|
+
'iconColor': $color-inverted-icon,
|
|
104
|
+
),
|
|
105
|
+
'infoWeak': (
|
|
106
|
+
'background': $color-info-data-weak,
|
|
107
|
+
'iconColor': $color-inverted-icon,
|
|
108
|
+
),
|
|
109
|
+
'infoGhost': (
|
|
110
|
+
'background': $color-info-data-ghost,
|
|
111
|
+
'iconColor': $color-info-icon,
|
|
112
|
+
),
|
|
113
|
+
'successMedium': (
|
|
114
|
+
'background': $color-success-data-medium,
|
|
115
|
+
'iconColor': $color-inverted-icon,
|
|
116
|
+
),
|
|
117
|
+
'success': (
|
|
118
|
+
'background': $color-success-data,
|
|
119
|
+
'iconColor': $color-inverted-icon,
|
|
120
|
+
),
|
|
121
|
+
'successWeak': (
|
|
122
|
+
'background': $color-success-data-weak,
|
|
123
|
+
'iconColor': $color-inverted-icon,
|
|
124
|
+
),
|
|
125
|
+
'successGhost': (
|
|
126
|
+
'background': $color-success-data-ghost,
|
|
127
|
+
'iconColor': $color-success-icon,
|
|
128
|
+
),
|
|
129
|
+
'warningMedium': (
|
|
130
|
+
'background': $color-warning-data-medium,
|
|
131
|
+
'iconColor': $color-inverted-icon,
|
|
132
|
+
),
|
|
133
|
+
'warning': (
|
|
134
|
+
'background': $color-warning-data,
|
|
135
|
+
'iconColor': $color-inverted-icon,
|
|
136
|
+
),
|
|
137
|
+
'warningWeak': (
|
|
138
|
+
'background': $color-warning-data-weak,
|
|
139
|
+
'iconColor': $color-inverted-icon,
|
|
140
|
+
),
|
|
141
|
+
'warningGhost': (
|
|
142
|
+
'background': $color-warning-data-ghost,
|
|
143
|
+
'iconColor': $color-warning-icon,
|
|
144
|
+
),
|
|
145
|
+
'failMedium': (
|
|
146
|
+
'background': $color-fail-data-medium,
|
|
147
|
+
'iconColor': $color-inverted-icon,
|
|
148
|
+
),
|
|
149
|
+
'fail': (
|
|
150
|
+
'background': $color-fail-data,
|
|
151
|
+
'iconColor': $color-inverted-icon,
|
|
152
|
+
),
|
|
153
|
+
'failWeak': (
|
|
154
|
+
'background': $color-fail-data-weak,
|
|
155
|
+
'iconColor': $color-inverted-icon,
|
|
156
|
+
),
|
|
157
|
+
'failGhost': (
|
|
158
|
+
'background': $color-fail-data-ghost,
|
|
159
|
+
'iconColor': $color-fail-icon,
|
|
160
|
+
),
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
.ds-progressBarLegendItem {
|
|
164
|
+
$self: &;
|
|
165
|
+
|
|
166
|
+
align-items: flex-start;
|
|
167
|
+
display: inline-flex;
|
|
168
|
+
flex-direction: column;
|
|
169
|
+
gap: $space-4xs;
|
|
170
|
+
|
|
171
|
+
&__label {
|
|
172
|
+
@include label-xs-extensive-bold-uppercase;
|
|
173
|
+
|
|
174
|
+
color: $color-neutral-text;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&__wrapper {
|
|
178
|
+
align-items: center;
|
|
179
|
+
display: flex;
|
|
180
|
+
gap: $space-4xs;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
&__dataIndicator {
|
|
184
|
+
@each $class, $color-map in $progress-bar-legend-item-colors {
|
|
185
|
+
&.-ds-#{$class} {
|
|
186
|
+
background: map-get($color-map, 'background');
|
|
187
|
+
color: map-get($color-map, 'iconColor');
|
|
188
|
+
fill: map-get($color-map, 'iconColor');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
align-items: center;
|
|
193
|
+
border-radius: 100px;
|
|
194
|
+
display: flex;
|
|
195
|
+
height: $space-m;
|
|
196
|
+
justify-content: center;
|
|
197
|
+
margin-right: $space-5xs;
|
|
198
|
+
width: $space-m;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
&__dataWrapper {
|
|
202
|
+
align-items: baseline;
|
|
203
|
+
display: flex;
|
|
204
|
+
gap: $space-5xs;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
&__data {
|
|
208
|
+
@include text-s-default-bold;
|
|
209
|
+
|
|
210
|
+
color: $color-neutral-text-strong;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
&__percentValue {
|
|
214
|
+
@include info-s-default-regular;
|
|
215
|
+
|
|
216
|
+
color: $color-neutral-text;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
&.-ds-small {
|
|
220
|
+
#{$self}__label {
|
|
221
|
+
@include label-m-default-regular;
|
|
222
|
+
|
|
223
|
+
color: $color-neutral-text-strong;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
#{$self}__dataIndicator {
|
|
227
|
+
height: $space-s;
|
|
228
|
+
width: $space-s;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
</style>
|
|
233
|
+
|
|
234
|
+
<script setup lang="ts">
|
|
235
|
+
import { computed } from 'vue';
|
|
236
|
+
import DsIcon, { ICON_SIZES, IconItem } from '../Icons/Icon';
|
|
237
|
+
import { ProgressBarRangeColor } from './ProgressBar.consts';
|
|
238
|
+
import { PROGRESS_BAR_LEGEND_SIZES, ProgressBarLegendSize } from './ProgressBarLegend.consts';
|
|
239
|
+
|
|
240
|
+
const {
|
|
241
|
+
size = PROGRESS_BAR_LEGEND_SIZES.SMALL,
|
|
242
|
+
color,
|
|
243
|
+
icon = null,
|
|
244
|
+
label = '',
|
|
245
|
+
data = '',
|
|
246
|
+
percentValue = '',
|
|
247
|
+
} = defineProps<{
|
|
248
|
+
size?: ProgressBarLegendSize;
|
|
249
|
+
color: ProgressBarRangeColor;
|
|
250
|
+
icon?: IconItem | null;
|
|
251
|
+
label?: string;
|
|
252
|
+
data?: string;
|
|
253
|
+
percentValue?: string;
|
|
254
|
+
}>();
|
|
255
|
+
|
|
256
|
+
const renderedPercentValue = computed(() => {
|
|
257
|
+
if (!percentValue) {
|
|
258
|
+
return undefined;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return `(${percentValue}%)`;
|
|
262
|
+
});
|
|
263
|
+
</script>
|