@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.
Files changed (244) hide show
  1. package/dist/RadioButton-CnwgXzEL.js +63 -0
  2. package/dist/RadioButton-CnwgXzEL.js.map +1 -0
  3. package/dist/design-system.css +1 -1
  4. package/dist/design-system.js +116 -114
  5. package/dist/index-BC36rU9e.js +25376 -0
  6. package/dist/index-BC36rU9e.js.map +1 -0
  7. package/dist/lib/js/components/Buttons/IconButton/IconButton.vue.d.ts +1 -0
  8. package/dist/lib/js/components/Cards/CardExpandable/CardExpandable.vue.d.ts +1 -0
  9. package/dist/lib/js/components/Chip/Chip.vue.d.ts +2 -0
  10. package/dist/lib/js/components/DatePickers/DateBox/DateBox.vue.d.ts +1 -0
  11. package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.vue.d.ts +1 -0
  12. package/dist/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue.d.ts +1 -0
  13. package/dist/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue.d.ts +4 -0
  14. package/dist/lib/js/components/Drawer/DrawerListItem/DrawerListItem.vue.d.ts +1 -0
  15. package/dist/lib/js/components/Drawer/DrawerSection/DrawerSection.vue.d.ts +3 -0
  16. package/dist/lib/js/components/Form/Checkbox/Checkbox.vue.d.ts +1 -0
  17. package/dist/lib/js/components/Form/RadioButton/RadioButton.vue.d.ts +1 -0
  18. package/dist/lib/js/components/Headers/OverlayHeader/OverlayHeader.vue.d.ts +2 -0
  19. package/dist/lib/js/components/Headers/SectionHeader/SectionHeader.vue.d.ts +2 -0
  20. package/dist/lib/js/components/Icons/Icon/Icon.consts.d.ts +1 -0
  21. package/dist/lib/js/components/Modal/Modal.vue.d.ts +1 -0
  22. package/dist/lib/js/components/Modals/Modal/Modal.vue.d.ts +2 -0
  23. package/dist/lib/js/components/Modals/ModalDialog/ModalDialog.vue.d.ts +2 -0
  24. package/dist/lib/js/components/Outline/OutlineItem/OutlineItem.vue.d.ts +1 -0
  25. package/dist/lib/js/components/Pagination/Pagination.vue.d.ts +3 -0
  26. package/dist/lib/js/components/ProgressBar/ProgressBar.consts.d.ts +6 -2
  27. package/dist/lib/js/components/ProgressBar/ProgressBar.vue.d.ts +65 -7
  28. package/dist/lib/js/components/ProgressBar/ProgressBarLegend.consts.d.ts +12 -0
  29. package/dist/lib/js/components/ProgressBar/ProgressBarLegend.vue.d.ts +24 -0
  30. package/dist/lib/js/components/ProgressBar/ProgressBarLegendItem.vue.d.ts +29 -0
  31. package/dist/lib/js/components/ProgressBar/index.d.ts +1 -0
  32. package/dist/lib/js/components/ProgressDonutChart/ProgressDonutChart.vue.d.ts +1 -0
  33. package/dist/lib/js/components/RichList/BasicRichListItem/BasicRichListItem.vue.d.ts +2 -0
  34. package/dist/lib/js/components/RichList/RichListItem/RichListItem.vue.d.ts +2 -0
  35. package/dist/lib/js/components/SelectList/SelectListItem/SelectListItem.vue.d.ts +1 -0
  36. package/dist/lib/js/components/SelectList/SelectListItemToggle/SelectListItemToggle.vue.d.ts +1 -0
  37. package/dist/lib/js/components/SelectionTile/SelectionTile.vue.d.ts +3 -0
  38. package/dist/lib/js/components/Statuses/AccessStatus/AccessStatus.vue.d.ts +1 -0
  39. package/dist/lib/js/components/Statuses/BlockadeStatus/BlockadeStatus.vue.d.ts +1 -0
  40. package/dist/lib/js/components/SurveyQuestions/SurveyQuestionOpenEnded/SurveyQuestionOpenEnded.vue.d.ts +3 -0
  41. package/dist/lib/js/components/SurveyQuestions/SurveyQuestionScale/SurveyQuestionScale.vue.d.ts +3 -0
  42. package/dist/lib/js/components/Switch/Switch.vue.d.ts +1 -0
  43. package/dist/lib/js/components/Tile/Tile.sb.shared.d.ts +1 -0
  44. package/dist/lib/js/components/Toggles/ToggleButton/ToggleButton.vue.d.ts +1 -0
  45. package/dist/lib/js/icons/fontawesome.d.ts +1 -0
  46. package/dist/lib/js/index.d.ts +1 -0
  47. package/docs/assets/{AccessStatus-6RrquOtX.js → AccessStatus-CKL9Dmhn.js} +1 -1
  48. package/docs/assets/{AccessStatus.stories-Bsqyb22o.js → AccessStatus.stories-BfrBEU3-.js} +1 -1
  49. package/docs/assets/{Avatar-BcCt6j3Z.js → Avatar-6vv7ByrM.js} +1 -1
  50. package/docs/assets/{Avatar.stories-YUJQonrb.js → Avatar.stories-CmABY1Ry.js} +1 -1
  51. package/docs/assets/{Badge-_nJoBw3C.js → Badge-CGSn8HBe.js} +1 -1
  52. package/docs/assets/{Badge.stories-B-VcdDWa.js → Badge.stories-CaxYXDFU.js} +1 -1
  53. package/docs/assets/{BadgeScore-C1ncR4kj.js → BadgeScore-B4K0jdwQ.js} +1 -1
  54. package/docs/assets/{BadgeScore.stories-BYyf-cLS.js → BadgeScore.stories-BeqWmoL7.js} +1 -1
  55. package/docs/assets/{Banner-BcnYflQg.js → Banner-pv7sfD95.js} +1 -1
  56. package/docs/assets/{Banner.stories-B9NChHfT.js → Banner.stories-Rdwi1Tdx.js} +1 -1
  57. package/docs/assets/{BasicRichListItem-CvsA5xHV.js → BasicRichListItem-Bt97jels.js} +1 -1
  58. package/docs/assets/{BasicRichListItem.stories-DznFeq73.js → BasicRichListItem.stories-B3LSA5Ic.js} +2 -2
  59. package/docs/assets/{BlockadeStatus--5l5BVd9.js → BlockadeStatus-Czv84vXt.js} +1 -1
  60. package/docs/assets/{BlockedeStatus.stories-8GlaHCEz.js → BlockedeStatus.stories-BWviq2bI.js} +1 -1
  61. package/docs/assets/{Button-B94D9rfG.js → Button-CoyY6G5X.js} +1 -1
  62. package/docs/assets/{Button.stories-DBTCrvT-.js → Button.stories-BMHYR736.js} +1 -1
  63. package/docs/assets/{Card-BlnGdF9X.js → Card-Cfm-79Gl.js} +1 -1
  64. package/docs/assets/{Card.stories-CGm5MkC7.js → Card.stories-CwGTmuOi.js} +1 -1
  65. package/docs/assets/{CardExpandable-DZTIPKT0.js → CardExpandable-BvkNuHVj.js} +1 -1
  66. package/docs/assets/{CardExpandable.stories-B49sSgjI.js → CardExpandable.stories-CNIGCFpo.js} +1 -1
  67. package/docs/assets/{Checkbox-DszBECh_.js → Checkbox-BWpvE7c6.js} +1 -1
  68. package/docs/assets/{Checkbox.stories-BvJ9r9tj.js → Checkbox.stories-D8AfOL-o.js} +1 -1
  69. package/docs/assets/{Chip-BAzh6NQh.js → Chip-Bkc_Am1X.js} +1 -1
  70. package/docs/assets/{Chip.stories-DiXgts6u.js → Chip.stories-Xi2YV5_y.js} +1 -1
  71. package/docs/assets/{Color-ERTF36HU-DNDBr2Lw.js → Color-ERTF36HU-DYApUIcb.js} +1 -1
  72. package/docs/assets/{Colors.stories-BtNgjWxi.js → Colors.stories-BDCCkZg8.js} +1 -1
  73. package/docs/assets/{ColorsThemes.stories-Ct0Ai41o.js → ColorsThemes.stories-Dg55KCzR.js} +1 -1
  74. package/docs/assets/{ColorsTokensLms.stories-BP-WMJrS.js → ColorsTokensLms.stories-5BsvfIGh.js} +1 -1
  75. package/docs/assets/{ColorsTokensPrimaryBodywork.stories-zdX-tf4x.js → ColorsTokensPrimaryBodywork.stories-huDvcr5H.js} +1 -1
  76. package/docs/assets/{ColorsTokensPrimaryWnl.stories-DFVUj_99.js → ColorsTokensPrimaryWnl.stories-DYE-2tIP.js} +1 -1
  77. package/docs/assets/{CounterToggle-BY6TBtkk.js → CounterToggle-BdbJpfah.js} +1 -1
  78. package/docs/assets/{CounterToggle.stories-D-yMsFVH.js → CounterToggle.stories-DMmO0ghU.js} +1 -1
  79. package/docs/assets/{DateBox.stories-1irTl63N.js → DateBox.stories-1yADjuFG.js} +1 -1
  80. package/docs/assets/{DatePicker-ByIcer5b.js → DatePicker-BYTfqwtn.js} +1 -1
  81. package/docs/assets/{DatePicker.stories-YnlJI8-n.js → DatePicker.stories-VM43k94o.js} +1 -1
  82. package/docs/assets/{DateRangePicker-BptvC2tB.js → DateRangePicker-CuKtKGUK.js} +1 -1
  83. package/docs/assets/{DateRangePicker.stories-1rkFeu2B.js → DateRangePicker.stories-C8zrjbHt.js} +1 -1
  84. package/docs/assets/{Divider-NOTDPuJ1.js → Divider-GLNEyt1v.js} +1 -1
  85. package/docs/assets/{Divider.stories-Cjyx7utt.js → Divider.stories-CFtU3ER6.js} +1 -1
  86. package/docs/assets/{DocsRenderer-CFRXHY34-7UkMmLSl.js → DocsRenderer-CFRXHY34-DPtMtGg6.js} +5 -5
  87. package/docs/assets/{Drawer-CrAn35Yo.js → Drawer-BhUWahlN.js} +1 -1
  88. package/docs/assets/{Drawer.stories-iInS0JV5.js → Drawer.stories-B0-VK4H7.js} +1 -1
  89. package/docs/assets/{DrawerContent-DAIzyQNz.js → DrawerContent-CrWEJHiH.js} +1 -1
  90. package/docs/assets/{DrawerContent.stories-CBpbbVk_.js → DrawerContent.stories-BWVSAOvK.js} +1 -1
  91. package/docs/assets/{DrawerDivider-CKRXkKRz.js → DrawerDivider-xjDbe7dA.js} +1 -1
  92. package/docs/assets/{DrawerDivider.stories-iQ2J_ExP.js → DrawerDivider.stories-aQ5yJPRb.js} +1 -1
  93. package/docs/assets/{DrawerHeader-BwegM1fx.js → DrawerHeader-DdaoTm6b.js} +1 -1
  94. package/docs/assets/{DrawerHeader.stories-K6gxVRV-.js → DrawerHeader.stories-ccykPtCk.js} +1 -1
  95. package/docs/assets/{DrawerListItem-DvBfK0Hb.js → DrawerListItem-DfTABx8B.js} +1 -1
  96. package/docs/assets/{DrawerListItem.stories-BQT73CbZ.js → DrawerListItem.stories-D-FZzTMx.js} +1 -1
  97. package/docs/assets/{DrawerListItemGroup-SEWltKLJ.js → DrawerListItemGroup-CJEAM-Cj.js} +1 -1
  98. package/docs/assets/{DrawerListItemGroup.stories--DjTbAT3.js → DrawerListItemGroup.stories-g-_oxrRG.js} +1 -1
  99. package/docs/assets/{DrawerSection-BKYUXNfm.js → DrawerSection-xxKzDEsA.js} +1 -1
  100. package/docs/assets/{DrawerSection.stories-BBO65rId.js → DrawerSection.stories-B1tyxPSs.js} +1 -1
  101. package/docs/assets/{DrawerTile-CLcq_Ubm.js → DrawerTile-DmywJ3y2.js} +1 -1
  102. package/docs/assets/{DrawerTile.stories-DbLfOV-a.js → DrawerTile.stories-BkyiW5v5.js} +1 -1
  103. package/docs/assets/{Dropdown-Bdrd2ZIh.js → Dropdown-B251So_M.js} +1 -1
  104. package/docs/assets/{Dropdown.stories-BpwaldeL.js → Dropdown.stories-BTR1cBmp.js} +1 -1
  105. package/docs/assets/{FeatureIcon-BToReWwn.js → FeatureIcon-DlSsCT-N.js} +1 -1
  106. package/docs/assets/{FeatureIcon.stories-CgPr_HvJ.js → FeatureIcon.stories-Dd3es7Zp.js} +1 -1
  107. package/docs/assets/{FormField-o0Nbl5Xc.js → FormField-9b6SZuZX.js} +1 -1
  108. package/docs/assets/{FormField.stories-BT1y_kRT.js → FormField.stories-nWDxULUL.js} +1 -1
  109. package/docs/assets/{FormField.stories.shared-C7iHaKgG.js → FormField.stories.shared-BgsGljga.js} +1 -1
  110. package/docs/assets/{FormFieldMessage-j77PwDtU.js → FormFieldMessage-B4QT7U15.js} +1 -1
  111. package/docs/assets/{FormFieldMessage.stories-BmHxg-JM.js → FormFieldMessage.stories-D6SF2qUQ.js} +1 -1
  112. package/docs/assets/{GroupRichListItem-Ch7gwzMP.js → GroupRichListItem-1ZgkDTYR.js} +1 -1
  113. package/docs/assets/{GroupRichListItem.stories-B3fRNHr4.js → GroupRichListItem.stories-B8GKQ41b.js} +1 -1
  114. package/docs/assets/{HelpButton-BiWg2Xeu.js → HelpButton-NbGTgq8g.js} +1 -1
  115. package/docs/assets/{HelpButton.stories-Dj9cwFXK.js → HelpButton.stories-dYyl8Ajp.js} +1 -1
  116. package/docs/assets/{Icon-CJfhJHwv.js → Icon-NI6HBKO2.js} +10 -6
  117. package/docs/assets/{Icon.stories-Cj36JfMS.js → Icon.stories-BPuv-FNh.js} +1 -1
  118. package/docs/assets/IconButton-Dsfqv3yz.js +1 -0
  119. package/docs/assets/{IconButton.stories-4ROLBnvi.js → IconButton.stories-Df-JZlkP.js} +1 -1
  120. package/docs/assets/{IconText-DOjS8CFo.js → IconText-DeslOYu5.js} +1 -1
  121. package/docs/assets/{IconText.stories-DB7GTKW7.js → IconText.stories-B27vypOW.js} +1 -1
  122. package/docs/assets/{Image-B7PRENWe.js → Image-CfXOhuw2.js} +1 -1
  123. package/docs/assets/{Image.stories-DkYrm30P.js → Image.stories-DCHqfUW3.js} +1 -1
  124. package/docs/assets/{InputField-DJjokbZM.js → InputField-UVli5f6b.js} +1 -1
  125. package/docs/assets/{InputField.stories-gh5xDYbK.js → InputField.stories-ClgEGuuG.js} +1 -1
  126. package/docs/assets/{ItemsList-nTRSgJDP.js → ItemsList-MTdAgwyY.js} +1 -1
  127. package/docs/assets/{LoadingBar-DGNrwKu4.js → LoadingBar-CKSXAM-I.js} +1 -1
  128. package/docs/assets/{LoadingBar.stories-owR_6Oqy.js → LoadingBar.stories-m7-KOBdV.js} +1 -1
  129. package/docs/assets/{Modal-C7iR9oQ6.js → Modal-DTJAE74l.js} +1 -1
  130. package/docs/assets/{Modal.stories-BmsmYQgI.js → Modal.stories-C9ZbcQCs.js} +1 -1
  131. package/docs/assets/{ModalDialog-CSo8UkIU.js → ModalDialog-CUrhJ6LQ.js} +1 -1
  132. package/docs/assets/{ModalDialog.stories-ByUzaCby.js → ModalDialog.stories-COAlx1bt.js} +1 -1
  133. package/docs/assets/{NumberInCircle-CE28_Nsz.js → NumberInCircle-CaSb7HI1.js} +1 -1
  134. package/docs/assets/{NumberInCircle.stories-DFdUVSKM.js → NumberInCircle.stories-ugFw3DwZ.js} +1 -1
  135. package/docs/assets/{OutlineDivider-DJ9pnpJN.js → OutlineDivider-Dnwysotd.js} +1 -1
  136. package/docs/assets/{OutlineDivider.stories-Dzpei9KR.js → OutlineDivider.stories-B9vyH0Uz.js} +1 -1
  137. package/docs/assets/{OutlineItem-DvtZG15a.js → OutlineItem-3N1zOsTr.js} +1 -1
  138. package/docs/assets/{OutlineItem.stories-D2hY8U2_.js → OutlineItem.stories-CxuKxpst.js} +1 -1
  139. package/docs/assets/{OutlineSectionHeader-CSNr7XVB.js → OutlineSectionHeader-CUMU5m59.js} +1 -1
  140. package/docs/assets/{OutlineSectionHeader.stories-CuJwkOKg.js → OutlineSectionHeader.stories-DI36shRr.js} +1 -1
  141. package/docs/assets/{OverlayHeader-DA4fpeIv.js → OverlayHeader-C-5lGAZu.js} +1 -1
  142. package/docs/assets/{OverlayHeader.stories-DiOzyCPC.js → OverlayHeader.stories-DCn6fm8e.js} +1 -1
  143. package/docs/assets/{PageHeader-Cy-UHuRb.js → PageHeader-B0zPlNDE.js} +1 -1
  144. package/docs/assets/{PageHeader.stories-DlW4dler.js → PageHeader.stories-BPtwW7u7.js} +1 -1
  145. package/docs/assets/{Pagination-CH0GqNk-.js → Pagination-B1Qm8ipD.js} +1 -1
  146. package/docs/assets/{Pagination.stories-CB_u7eZP.js → Pagination.stories-D7r3QTPy.js} +1 -1
  147. package/docs/assets/{PasswordField-C_D138gk.js → PasswordField-DTCke8Gr.js} +1 -1
  148. package/docs/assets/{PasswordField.stories-DscLQADu.js → PasswordField.stories-BzUmHeV2.js} +1 -1
  149. package/docs/assets/{PopOver-DLjsS2et.js → PopOver-Bn4QrHXb.js} +1 -1
  150. package/docs/assets/{PopOver.stories-D0Xjo76q.js → PopOver.stories-XW_FKgg7.js} +1 -1
  151. package/docs/assets/{ProgressBar-Dj1UsIts.css → ProgressBar-BYgvOHe9.css} +1 -1
  152. package/docs/assets/ProgressBar-Y7_vdo2G.js +1 -0
  153. package/docs/assets/ProgressBar.stories-BpI8WF_M.js +106 -0
  154. package/docs/assets/ProgressBarLegend-CEt-pBme.css +1 -0
  155. package/docs/assets/ProgressBarLegend-D9fmI8_Q.js +1 -0
  156. package/docs/assets/ProgressBarLegend.stories-CTHPVxC_.js +21 -0
  157. package/docs/assets/ProgressBarLegendItem-DBa9yY6E.js +1 -0
  158. package/docs/assets/ProgressBarLegendItem-DNByZ9bA.css +1 -0
  159. package/docs/assets/ProgressBarLegendItem.stories-B8DeTq37.js +26 -0
  160. package/docs/assets/ProgressDonutChart-TeoCy0G3.js +1 -0
  161. package/docs/assets/{ProgressDonutChart.stories-DjEnOrCJ.js → ProgressDonutChart.stories-DYaTOxz1.js} +1 -1
  162. package/docs/assets/{RadioButton-B4B26bwA.js → RadioButton-30CGtcyR.js} +1 -1
  163. package/docs/assets/{RadioButton.stories-DI_odJH7.js → RadioButton.stories-Q7OkQUIz.js} +1 -1
  164. package/docs/assets/{RichListItem.stories-0FS4KOgO.js → RichListItem.stories-D8-KJmzV.js} +2 -2
  165. package/docs/assets/{SectionHeader-B-0Bn-lk.js → SectionHeader-BEr4jT8h.js} +1 -1
  166. package/docs/assets/{SectionHeader.stories-DMxecuyp.js → SectionHeader.stories-DSHtUSdX.js} +1 -1
  167. package/docs/assets/{SectionTitle-wTuJZZVS.js → SectionTitle-DDrKTXCv.js} +1 -1
  168. package/docs/assets/{SectionTitle.stories-Dr3KOvIl.js → SectionTitle.stories-DHZYU10N.js} +1 -1
  169. package/docs/assets/{SelectList-YMQ8rEMc.js → SelectList-DGd_SbLG.js} +1 -1
  170. package/docs/assets/{SelectList.stories-BO2EhByv.js → SelectList.stories-C86stkfP.js} +1 -1
  171. package/docs/assets/{SelectListItem-sjj2wPOg.js → SelectListItem-D6jbLU_Y.js} +1 -1
  172. package/docs/assets/{SelectListItem.stories-D7Jr_Rjw.js → SelectListItem.stories-BSmibPFW.js} +1 -1
  173. package/docs/assets/{SelectListItemDivider-CTU7_4OL.js → SelectListItemDivider-C5ZBkKAq.js} +1 -1
  174. package/docs/assets/{SelectListItemDivider.stories-rGpk0Yeg.js → SelectListItemDivider.stories-L5Oxd7Eo.js} +1 -1
  175. package/docs/assets/{SelectListItemTile-CUsln382.js → SelectListItemTile-C0BQGk_1.js} +1 -1
  176. package/docs/assets/{SelectListItemTile.stories-DIuIVWWH.js → SelectListItemTile.stories-CGbBqd9n.js} +1 -1
  177. package/docs/assets/{SelectListItemToggle-0rSpk6XA.js → SelectListItemToggle-w8TMej8m.js} +1 -1
  178. package/docs/assets/{SelectListItemToggle.stories-Ddo6JlVH.js → SelectListItemToggle.stories-DpOZ1bmq.js} +1 -1
  179. package/docs/assets/{SelectListSectionTitle-B9Dj10G9.js → SelectListSectionTitle-BpNI0QSS.js} +1 -1
  180. package/docs/assets/{SelectListSectionTitle.stories-DCZ-Sq6v.js → SelectListSectionTitle.stories-DB82qSxT.js} +1 -1
  181. package/docs/assets/{SelectionControl-M6cEJrGP.js → SelectionControl-CWQygzcl.js} +1 -1
  182. package/docs/assets/{SelectionTile-BVOuKTP3.js → SelectionTile-CVbm1FQN.js} +2 -2
  183. package/docs/assets/{SelectionTile.stories-kbbYzzkR.js → SelectionTile.stories-CDaADzlv.js} +1 -1
  184. package/docs/assets/{Skeleton-D5xhZMQa.js → Skeleton-D9fhH1qX.js} +1 -1
  185. package/docs/assets/{Skeleton.stories-ll-E-sPN.js → Skeleton.stories-x61Ys-cO.js} +1 -1
  186. package/docs/assets/{SurveyQuestionOpenEnded-DIq5sq2m.js → SurveyQuestionOpenEnded-BAnNjRqI.js} +1 -1
  187. package/docs/assets/{SurveyQuestionOpenEnded.stories-BkyaFtSM.js → SurveyQuestionOpenEnded.stories-DrMatTZx.js} +1 -1
  188. package/docs/assets/{SurveyQuestionScale-C1YFeEPJ.js → SurveyQuestionScale-DZXIYUUt.js} +1 -1
  189. package/docs/assets/{SurveyQuestionScale.stories-BSjScx_Z.js → SurveyQuestionScale.stories-CjYlsDuN.js} +1 -1
  190. package/docs/assets/{SurveyToggle-DRRRlYMv.js → SurveyToggle-DguwCDO8.js} +1 -1
  191. package/docs/assets/{SurveyToggle.stories-DmFFbx3p.js → SurveyToggle.stories-CLOTKd1_.js} +1 -1
  192. package/docs/assets/{Switch-myVZDsGf.js → Switch-CRLkRMDz.js} +1 -1
  193. package/docs/assets/{Switch.stories-Dd_aNOOy.js → Switch.stories-hfNFrQi_.js} +1 -1
  194. package/docs/assets/{TabItem-DXEHM_OJ.js → TabItem-Beq_DioL.js} +1 -1
  195. package/docs/assets/{TabItem.stories-CUfluMvM.js → TabItem.stories-CgL50VY_.js} +1 -1
  196. package/docs/assets/{TextGroup-BC5JAQ0O.js → TextGroup--bAkZnWi.js} +1 -1
  197. package/docs/assets/{TextGroup.stories-BpYwN47b.js → TextGroup.stories-RIm5WlzO.js} +1 -1
  198. package/docs/assets/{ThreeColumnLayout-LVzDOKfj.js → ThreeColumnLayout-Cp_9DCdw.js} +1 -1
  199. package/docs/assets/{ThreeColumnLayout.stories-CkgbTH3p.js → ThreeColumnLayout.stories-x0bQCo--.js} +1 -1
  200. package/docs/assets/{Tile--bMKlDuj.js → Tile-jzFqPN2Q.js} +1 -1
  201. package/docs/assets/{Tile.sb.shared-CLYuDO8R.js → Tile.sb.shared-HZrN5Yh_.js} +1 -1
  202. package/docs/assets/{Tile.stories-BETofu4-.js → Tile.stories-DW5hMbNj.js} +1 -1
  203. package/docs/assets/{Toast-CpKr8v3q.js → Toast-B-AtBUeF.js} +1 -1
  204. package/docs/assets/{Toast.stories-knplqPP3.js → Toast.stories-BC2256p4.js} +1 -1
  205. package/docs/assets/{ToggleButton-jk5NGNQU.js → ToggleButton-BRizdAy6.js} +1 -1
  206. package/docs/assets/{ToggleButton.stories-Cp1c8cNh.js → ToggleButton.stories-CrarLcXq.js} +1 -1
  207. package/docs/assets/{Tooltip-BvaJ_K9_.js → Tooltip-Dri2vN3o.js} +1 -1
  208. package/docs/assets/{Tooltip.stories-xtukYF4C.js → Tooltip.stories-CvsXg1BU.js} +1 -1
  209. package/docs/assets/{TypographyTokensLms.stories-Cm_y52b6.js → TypographyTokensLms.stories-B8wfmUfn.js} +1 -1
  210. package/docs/assets/{TypographyVariables.stories-DTHJ_1UO.js → TypographyVariables.stories-BXmLxaG6.js} +1 -1
  211. package/docs/assets/{Well-Djx9_Lkt.js → Well-BgkT37-V.js} +1 -1
  212. package/docs/assets/{Well.stories-CL_lOoak.js → Well.stories-VyyP7bL3.js} +1 -1
  213. package/docs/assets/{entry-preview-CAn2_StQ.js → entry-preview-BGI8djEi.js} +1 -1
  214. package/docs/assets/{entry-preview-docs-Y_6rrjxM.js → entry-preview-docs-9BJoasfm.js} +1 -1
  215. package/docs/assets/iframe-Cdu_IgPB.js +2 -0
  216. package/docs/assets/{index-CupCHp3X.js → index-01VS1SvV.js} +1 -1
  217. package/docs/assets/{index-CyNq9Pcs.js → index-Dd4v1DO6.js} +1 -1
  218. package/docs/assets/{preview-ByRMDIXv.js → preview-C8Y-TAOj.js} +2 -2
  219. package/docs/assets/preview-DKMlMx_S.js +64 -0
  220. package/docs/assets/{string-BB4EAZtA.js → string-D9E4uE5t.js} +1 -1
  221. package/docs/assets/{vue-popper-m_ujT3wC.js → vue-popper-CKSsDv3l.js} +2 -2
  222. package/docs/assets/{vue.esm-bundler-DcRN7CPI.js → vue.esm-bundler-B__7-iky.js} +1 -1
  223. package/docs/iframe.html +1 -1
  224. package/docs/index.json +1 -1
  225. package/docs/project.json +1 -1
  226. package/lib/js/components/ProgressBar/ProgressBar.consts.ts +5 -1
  227. package/lib/js/components/ProgressBar/ProgressBar.spec.ts +68 -0
  228. package/lib/js/components/ProgressBar/ProgressBar.stories.ts +78 -7
  229. package/lib/js/components/ProgressBar/ProgressBar.vue +24 -1
  230. package/lib/js/components/ProgressBar/ProgressBarLegend.consts.ts +15 -0
  231. package/lib/js/components/ProgressBar/ProgressBarLegend.stories.ts +97 -0
  232. package/lib/js/components/ProgressBar/ProgressBarLegend.vue +62 -0
  233. package/lib/js/components/ProgressBar/ProgressBarLegendItem.stories.ts +76 -0
  234. package/lib/js/components/ProgressBar/ProgressBarLegendItem.vue +263 -0
  235. package/lib/js/components/ProgressBar/index.ts +1 -0
  236. package/lib/js/icons/fontawesome.ts +2 -0
  237. package/lib/js/index.ts +1 -0
  238. package/package.json +1 -1
  239. package/docs/assets/IconButton-Ds4zUdcw.js +0 -1
  240. package/docs/assets/ProgressBar-CNQn5L6a.js +0 -1
  241. package/docs/assets/ProgressBar.stories-CCHGxEDq.js +0 -57
  242. package/docs/assets/ProgressDonutChart-CYr0uWkM.js +0 -1
  243. package/docs/assets/iframe-Dx1h5O--.js +0 -2
  244. 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
- labelTextEllipsis: {
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
- labelTextEllipsis: false,
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>