@prozorro/prozorro-ui 0.0.9-beta → 0.0.11-beta
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/app/assets/{Color-FRDS63T2-DlPAsSuC.js → Color-FRDS63T2-DeJ6boVB.js} +1 -1
- package/dist/app/assets/{Colors.stories-7e9Kvci_.js → Colors.stories-GBcoNXc7.js} +3 -3
- package/dist/app/assets/{DocsRenderer-LL677BLK-Bjj1XNYP.js → DocsRenderer-LL677BLK-P1omigwk.js} +71 -71
- package/dist/app/assets/{Grid.stories-CDiFrqKQ.js → Grid.stories-DoLbqWtw.js} +23 -2
- package/dist/app/assets/PzAccordion-B8uG5LU8.js +1 -0
- package/dist/app/assets/PzAccordion-DoVx3poA.css +1 -0
- package/dist/app/assets/{PzAccordion.stories-DxsYsHwE.js → PzAccordion.stories-CzEbkA1U.js} +2 -2
- package/dist/app/assets/{PzAccordionTable-CsabBugL.css → PzAccordionTable-C4g8Fidf.css} +1 -1
- package/dist/app/assets/PzAccordionTable.stories-CWSrb6Rz.js +275 -0
- package/dist/app/assets/{PzArrayClamp-K4ObvvOV.css → PzArrayClamp-BwD8ES1E.css} +1 -1
- package/dist/app/assets/{PzArrayClamp.stories-BYdoVxPw.js → PzArrayClamp.stories-DXt6cxXy.js} +6 -6
- package/dist/app/assets/{PzBreadcrumb-Dcs3weae.css → PzBreadcrumb-BrcWtMgd.css} +1 -1
- package/dist/app/assets/{PzBreadcrumb.stories-DwATLRI2.js → PzBreadcrumb.stories-BYy2AFV5.js} +6 -6
- package/dist/app/assets/{PzBtn-L_RpjK-U.css → PzBtn-DTsLZ9Cu.css} +1 -1
- package/dist/app/assets/PzBtn-lJz7FmKO.js +1 -0
- package/dist/app/assets/{PzBtn.stories-BRV1I_nf.js → PzBtn.stories-u2aA2xzz.js} +2 -2
- package/dist/app/assets/PzCheckbox-AjI7DN-X.css +1 -0
- package/dist/app/assets/PzCheckbox-BchdSe0N.css +1 -0
- package/dist/app/assets/PzCheckbox-xcF_sDjQ.js +1 -0
- package/dist/app/assets/PzCheckbox.stories-DeiqBONq.js +62 -0
- package/dist/app/assets/PzCheckboxGroup-BbrrL6mA.css +1 -0
- package/dist/app/assets/PzCheckboxGroup.stories-Dc1lNYrg.js +115 -0
- package/dist/app/assets/PzClamp-0zNrPrFL.css +1 -0
- package/dist/app/assets/PzClamp.stories-ChyM4wQP.js +1 -0
- package/dist/app/assets/PzCopyToClipboard-DYvP-lFq.css +1 -0
- package/dist/app/assets/PzCopyToClipboard.stories-BvTs8-Qo.js +45 -0
- package/dist/app/assets/PzDate-DzxkQx_5.css +1 -0
- package/dist/app/assets/PzDate.stories-CbNYXli-.js +116 -0
- package/dist/app/assets/PzDomHandler-BU7iMNnt.js +1 -0
- package/dist/app/assets/{PzDomHandler.stories-C0SwIaVU.js → PzDomHandler.stories-CNFqxouB.js} +5 -5
- package/dist/app/assets/{PzDropdown-BnwR1ooa.css → PzDropdown-Bi4TxZrx.css} +1 -1
- package/dist/app/assets/{PzDropdown.stories-gi6eGhLV.js → PzDropdown.stories-BIwEAqmm.js} +3 -3
- package/dist/app/assets/PzFileInput-BLs8VTxo.css +1 -0
- package/dist/app/assets/PzFileInput.stories-B4xxW_sF.js +124 -0
- package/dist/app/assets/{PzGrid.stories-v8QLnTB3.js → PzGrid.stories-DIiTYcYP.js} +3 -3
- package/dist/app/assets/PzHint-CGRWH9yl.css +1 -0
- package/dist/app/assets/PzHint-Djl4-X3l.js +1 -0
- package/dist/app/assets/{PzHint.stories-YkWa41IH.js → PzHint.stories-DqZpSfmZ.js} +2 -2
- package/dist/app/assets/{PzIcon-Drlqf9PC.js → PzIcon-BNwLASSZ.js} +1 -1
- package/dist/app/assets/{PzIcon.stories-DAJBWawA.js → PzIcon.stories-CPbH32o0.js} +2 -2
- package/dist/app/assets/{PzImage-BNrbMHP9.css → PzImage-ByW3gCC2.css} +1 -1
- package/dist/app/assets/{PzImage.stories-CuPnUuRv.js → PzImage.stories-DaDmEHw0.js} +2 -2
- package/dist/app/assets/PzImageInput-BPKv0nfg.css +1 -0
- package/dist/app/assets/PzImageInput.stories-CqBH8e63.js +109 -0
- package/dist/app/assets/{PzInfoBlockLayout-5bxpq9bJ.css → PzInfoBlockLayout-DbFWjWZn.css} +1 -1
- package/dist/app/assets/{PzInfoBlockLayout.stories-Bv_9N16u.js → PzInfoBlockLayout.stories-9CCtPFO-.js} +3 -3
- package/dist/app/assets/PzInfoHint-CWG8xkDj.css +1 -0
- package/dist/app/assets/PzInfoHint-CbH3ypH1.js +1 -0
- package/dist/app/assets/{PzInfoHint.stories-8e7rIcBj.js → PzInfoHint.stories-jwokRQkS.js} +3 -3
- package/dist/app/assets/PzInput-DWypQ6XY.css +1 -0
- package/dist/app/assets/PzInput.stories-BINq-o4I.js +57 -0
- package/dist/app/assets/PzInputDate-C9KHzAYp.css +1 -0
- package/dist/app/assets/PzInputDate.stories-CCdrBEY7.js +55 -0
- package/dist/app/assets/PzInputNumber-CDixvL0g.css +1 -0
- package/dist/app/assets/PzInputNumber.stories-I4-WO1id.js +54 -0
- package/dist/app/assets/PzKeyValue-RiKE-e9c.css +1 -0
- package/dist/app/assets/PzKeyValue.stories-DtyWU98t.js +270 -0
- package/dist/app/assets/PzLabel-BQF7sPao.css +1 -0
- package/dist/app/assets/PzLabel-CNUgfkly.css +1 -0
- package/dist/app/assets/PzLabel-Coa549nk.js +1 -0
- package/dist/app/assets/PzLabel.stories-DMxqqqgC.js +119 -0
- package/dist/app/assets/PzLink-BlhtooDh.js +1 -0
- package/dist/app/assets/{PzLink-CLsit3uW.css → PzLink-BzhNa3ur.css} +1 -1
- package/dist/app/assets/{PzLink.stories-RRRT37UH.js → PzLink.stories-Cc_7lCaq.js} +2 -2
- package/dist/app/assets/PzListNav-DRMKw6wp.css +1 -0
- package/dist/app/assets/PzListNav.stories-BTZ7YDz-.js +37 -0
- package/dist/app/assets/PzLoader-J7_Govh3.css +1 -0
- package/dist/app/assets/PzLoader.stories-4iPgw47o.js +9 -0
- package/dist/app/assets/{PzModal-X71wpoOT.css → PzModal-Ck4FnyKm.css} +1 -1
- package/dist/app/assets/{PzModal.stories-j0FW0OcM.js → PzModal.stories-COv27-JY.js} +4 -4
- package/dist/app/assets/PzMultiSelect-DeX8aBEQ.css +1 -0
- package/dist/app/assets/PzMultiSelect.stories-DqKbYF9e.js +453 -0
- package/dist/app/assets/{PzNav-DRAXqlz0.css → PzNav-BCqeyJHD.css} +1 -1
- package/dist/app/assets/{PzNav.stories-BPTRR62X.js → PzNav.stories-8SxncW0m.js} +6 -6
- package/dist/app/assets/PzNumberFormat-D5xYsZ3A.js +1 -0
- package/dist/app/assets/PzNumberFormat.stories-CDG6_Sk8.js +57 -0
- package/dist/app/assets/PzPagination-D9MVz0_M.js +1 -0
- package/dist/app/assets/PzPagination-k9D0Hxrx.css +1 -0
- package/dist/app/assets/{PzPagination-DJVeW9lu.css → PzPagination-ohvV8gN-.css} +1 -1
- package/dist/app/assets/PzPagination.stories-DNvwL2lG.js +83 -0
- package/dist/app/assets/PzPriceFormat.stories-C-p8Sb5s.js +89 -0
- package/dist/app/assets/PzRadioGroup-CZC3ssDh.css +1 -0
- package/dist/app/assets/PzRadioGroup.stories-DC2poHLC.js +130 -0
- package/dist/app/assets/{PzRouterLink.stories-BcMmoayC.js → PzRouterLink.stories-DzGN2JP5.js} +3 -3
- package/dist/app/assets/{PzScrollTo.stories-Gvacxovn.js → PzScrollTo.stories-Bx37NsA6.js} +4 -4
- package/dist/app/assets/{PzSearchResultItemLayout-DtvZAeWW.css → PzSearchResultItemLayout-B3s9Usmb.css} +1 -1
- package/dist/app/assets/{PzSearchResultItemLayout.stories-B0EKt_OP.js → PzSearchResultItemLayout.stories-vkVys3LL.js} +3 -3
- package/dist/app/assets/PzSelect-BwhRsTZd.css +1 -0
- package/dist/app/assets/PzSelect-CrTXtlds.js +1 -0
- package/dist/app/assets/PzSelect-Del6HRlD.css +1 -0
- package/dist/app/assets/PzSelect.stories-5MWUfKeM.js +292 -0
- package/dist/app/assets/PzSkeleton-Fcc0OCQj.js +1 -0
- package/dist/app/assets/{PzSkeleton-CYVQJkRt.css → PzSkeleton-i88RYFSk.css} +1 -1
- package/dist/app/assets/{PzSkeleton.stories-a9NDBt3Z.js → PzSkeleton.stories-q1l5sP1S.js} +2 -2
- package/dist/app/assets/PzStatus-B5X_PK3m.css +1 -0
- package/dist/app/assets/PzStatus-cmEVvisl.js +1 -0
- package/dist/app/assets/{PzStatus.stories-Dzj8SM95.js → PzStatus.stories-CkZ6lYqY.js} +2 -2
- package/dist/app/assets/PzTable-DFFqGC19.css +1 -0
- package/dist/app/assets/PzTable-wM00v3b7.js +1 -0
- package/dist/app/assets/{PzTable.stories-DcKqkFYa.js → PzTable.stories-CGODSdZ2.js} +5 -5
- package/dist/app/assets/{PzTabs-Cko9ewqz.css → PzTabs-Dqx9m4Y3.css} +1 -1
- package/dist/app/assets/{PzTabs.stories-BqU667nR.js → PzTabs.stories-C5h0sXNa.js} +11 -11
- package/dist/app/assets/PzTag-9D_K2A9q.js +1 -0
- package/dist/app/assets/PzTag-CKddmHDs.css +1 -0
- package/dist/app/assets/{PzTag.stories-bK1-c1pG.js → PzTag.stories-E9YuXCey.js} +2 -2
- package/dist/app/assets/PzText-LkAZaPCW.js +1 -0
- package/dist/app/assets/PzText-mQOOz4_d.css +1 -0
- package/dist/app/assets/{PzText.stories-9Hrvi7P7.js → PzText.stories-DICYEnSM.js} +8 -8
- package/dist/app/assets/{PzTextClamp-BnSHv0R0.css → PzTextClamp-Cdoumv-M.css} +1 -1
- package/dist/app/assets/PzTextClamp.stories-BveyeWba.js +149 -0
- package/dist/app/assets/PzTextarea-27aRIiRI.css +1 -0
- package/dist/app/assets/PzTextarea.stories-BtHMdHUF.js +73 -0
- package/dist/app/assets/{PzValidatorXSS.stories-HZEissEy.js → PzValidatorXSS.stories-B7ussB1u.js} +3 -3
- package/dist/app/assets/{Spacing-B5TnfKCB.css → Spacing-DDiZ9XB6.css} +1 -1
- package/dist/app/assets/{Spacing.stories-Cu5R7R8t.js → Spacing.stories-IeHBLcii.js} +29 -2
- package/dist/app/assets/Typography.stories-DigE2FGD.js +47 -0
- package/dist/app/assets/{WithTooltip-65CFNBJE-BcToq9Uh.js → WithTooltip-65CFNBJE-CARy1qAy.js} +2 -2
- package/dist/app/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
- package/dist/app/assets/configs-CZIaFchr.js +1 -0
- package/dist/app/assets/floating-vue-B4YMiR3n.js +1 -0
- package/dist/app/assets/floating-vue-BXOYXd0R.js +1 -0
- package/dist/app/assets/{formatter-EIJCOSYU-X1jNy3Wo.js → formatter-EIJCOSYU-AVmvplX0.js} +1 -1
- package/dist/app/assets/iframe-4qk0Ss25.css +1 -0
- package/dist/app/assets/{iframe-B7Bddli1.js → iframe-DbWuH5mz.js} +181 -181
- package/dist/app/assets/index-LkANHSb5.js +1 -0
- package/dist/app/assets/isArray-DPUC7i9_.js +1 -0
- package/dist/app/assets/lodash-CdDiHlzQ.js +27 -0
- package/dist/app/assets/{syntaxhighlighter-OH4MV7E3-DpHT8arc.js → syntaxhighlighter-OH4MV7E3-DKud-BAu.js} +3 -3
- package/dist/app/assets/text-clamp.esm-BLa2P3lJ.js +1 -0
- package/dist/app/iframe.html +81 -76
- package/dist/app/index.json +1 -1
- package/dist/app/project.json +1 -1
- package/dist/app/sb-manager/globals-runtime.js +1 -1
- package/dist/components/Actions/PzCopyToClipboard/PzCopyToClipboard.vue.d.ts +33 -0
- package/dist/components/Actions/PzCopyToClipboard/index.d.ts +2 -0
- package/dist/components/Actions/PzCopyToClipboard/types.d.ts +17 -0
- package/dist/components/Actions/PzLink/configs.d.ts +2 -0
- package/dist/components/{PzTable → Data/PzTable}/types.d.ts +1 -1
- package/dist/components/Display/PzClamp/PzClamp.vue.d.ts +8 -0
- package/dist/components/Display/PzClamp/index.d.ts +2 -0
- package/dist/components/Display/PzClamp/types.d.ts +7 -0
- package/dist/components/Display/PzDate/PzDate.vue.d.ts +5 -0
- package/dist/components/Display/PzDate/index.d.ts +2 -0
- package/dist/components/Display/PzDate/types.d.ts +5 -0
- package/dist/components/{PzIcon → Display/PzIcon}/types.d.ts +1 -1
- package/dist/components/Display/PzKeyValue/PzKeyValue.vue.d.ts +28 -0
- package/dist/components/Display/PzKeyValue/index.d.ts +2 -0
- package/dist/components/Display/PzKeyValue/types.d.ts +45 -0
- package/dist/components/Display/PzLoader/PzLoader.vue.d.ts +7 -0
- package/dist/components/Display/PzLoader/index.d.ts +2 -0
- package/dist/components/Display/PzLoader/types.d.ts +6 -0
- package/dist/components/Display/PzStatus/configs.d.ts +2 -0
- package/dist/components/Display/PzTag/configs.d.ts +2 -0
- package/dist/components/Form/PzCheckbox/PzCheckbox.vue.d.ts +28 -0
- package/dist/components/Form/PzCheckbox/index.d.ts +2 -0
- package/dist/components/Form/PzCheckbox/types.d.ts +12 -0
- package/dist/components/Form/PzCheckboxGroup/PzCheckboxGroup.vue.d.ts +35 -0
- package/dist/components/Form/PzCheckboxGroup/index.d.ts +2 -0
- package/dist/components/Form/PzCheckboxGroup/types.d.ts +16 -0
- package/dist/components/Form/PzFileInput/PzFileInput.vue.d.ts +26 -0
- package/dist/components/Form/PzFileInput/index.d.ts +2 -0
- package/dist/components/Form/PzFileInput/types.d.ts +26 -0
- package/dist/components/Form/PzImageInput/PzImageInput.vue.d.ts +27 -0
- package/dist/components/Form/PzImageInput/index.d.ts +2 -0
- package/dist/components/Form/PzImageInput/types.d.ts +26 -0
- package/dist/components/Form/PzInput/PzInput.vue.d.ts +30 -0
- package/dist/components/Form/PzInput/index.d.ts +2 -0
- package/dist/components/Form/PzInput/types.d.ts +17 -0
- package/dist/components/Form/PzInputDate/PzInputDate.vue.d.ts +30 -0
- package/dist/components/Form/PzInputDate/index.d.ts +2 -0
- package/dist/components/Form/PzInputDate/types.d.ts +13 -0
- package/dist/components/Form/PzInputNumber/PzInputNumber.vue.d.ts +26 -0
- package/dist/components/Form/PzInputNumber/index.d.ts +2 -0
- package/dist/components/Form/PzInputNumber/types.d.ts +14 -0
- package/dist/components/Form/PzLabel/PzLabel.vue.d.ts +24 -0
- package/dist/components/Form/PzLabel/index.d.ts +2 -0
- package/dist/components/Form/PzLabel/types.d.ts +6 -0
- package/dist/components/Form/PzMultiSelect/PzMultiSelect.vue.d.ts +44 -0
- package/dist/components/Form/PzMultiSelect/constants.d.ts +1 -0
- package/dist/components/Form/PzMultiSelect/index.d.ts +2 -0
- package/dist/components/Form/PzMultiSelect/types.d.ts +22 -0
- package/dist/components/Form/PzRadioGroup/PzRadioGroup.vue.d.ts +43 -0
- package/dist/components/Form/PzRadioGroup/index.d.ts +2 -0
- package/dist/components/Form/PzRadioGroup/types.d.ts +19 -0
- package/dist/components/Form/PzSelect/PzSelect.vue.d.ts +42 -0
- package/dist/components/Form/PzSelect/configs.d.ts +1 -0
- package/dist/components/Form/PzSelect/constants.d.ts +1 -0
- package/dist/components/Form/PzSelect/index.d.ts +2 -0
- package/dist/components/Form/PzSelect/types.d.ts +22 -0
- package/dist/components/Form/PzTextarea/PzTextarea.vue.d.ts +27 -0
- package/dist/components/Form/PzTextarea/index.d.ts +2 -0
- package/dist/components/Form/PzTextarea/types.d.ts +22 -0
- package/dist/components/Form/shared/configs.d.ts +28 -0
- package/dist/components/Form/shared/types.d.ts +37 -0
- package/dist/components/{PzGrid → Layouts/PzGrid}/configs.d.ts +1 -1
- package/dist/components/Navigation/PzListNav/PzListNav.vue.d.ts +15 -0
- package/dist/components/Navigation/PzListNav/index.d.ts +4 -0
- package/dist/components/Navigation/PzListNav/types.d.ts +9 -0
- package/dist/components/Navigation/shared/configs.d.ts +2 -0
- package/dist/components/Navigation/shared/constants.d.ts +8 -0
- package/dist/index.d.ts +45 -25
- package/dist/package.json +2 -1
- package/dist/prozorro-ui.cjs +16 -16
- package/dist/prozorro-ui.js +9492 -7741
- package/dist/style.css +1 -1
- package/dist/utils/PzNumberFormat/PzNumberFormat.d.ts +13 -0
- package/dist/utils/PzNumberFormat/index.d.ts +2 -0
- package/dist/utils/PzNumberFormat/types.d.ts +1 -0
- package/dist/utils/PzPriceFormat/PzPriceFormat.d.ts +8 -0
- package/dist/utils/PzPriceFormat/index.d.ts +2 -0
- package/dist/utils/PzPriceFormat/types.d.ts +1 -0
- package/package.json +2 -1
- package/src/styles/_spacing.scss +30 -4
- package/dist/app/assets/PzAccordion-DTiV4JOM.js +0 -1
- package/dist/app/assets/PzAccordion-hujlMYpG.css +0 -1
- package/dist/app/assets/PzAccordionTable.stories-DNbpjx54.js +0 -275
- package/dist/app/assets/PzBtn-B24JwTDl.js +0 -1
- package/dist/app/assets/PzHint-D62JWyEp.js +0 -1
- package/dist/app/assets/PzHint-kEBemRXE.css +0 -1
- package/dist/app/assets/PzInfoHint-DUCe-kk0.js +0 -1
- package/dist/app/assets/PzInfoHint-SKNZ9Qnk.css +0 -1
- package/dist/app/assets/PzLink-BU7dMeUw.js +0 -1
- package/dist/app/assets/PzPagination.stories-CFaLbyxd.js +0 -83
- package/dist/app/assets/PzSkeleton-DnpztBv3.js +0 -1
- package/dist/app/assets/PzStatus-KfVGXJ4A.css +0 -1
- package/dist/app/assets/PzStatus-dVlplKB_.js +0 -1
- package/dist/app/assets/PzTable-B73TyHoC.css +0 -1
- package/dist/app/assets/PzTable-BipugQuF.js +0 -27
- package/dist/app/assets/PzTag-Jn6TGUtg.css +0 -1
- package/dist/app/assets/PzTag-jiAX5zAj.js +0 -1
- package/dist/app/assets/PzText-DsC8c6AJ.css +0 -1
- package/dist/app/assets/PzText-Qtpayc5y.js +0 -1
- package/dist/app/assets/PzTextClamp.stories--mMfXCQg.js +0 -149
- package/dist/app/assets/Typography.stories-j9AXuH47.js +0 -47
- package/dist/app/assets/floating-vue-BD2YJLen.js +0 -1
- package/dist/app/assets/iframe-B97zFSkg.css +0 -1
- package/dist/components/PzLink/configs.d.ts +0 -2
- package/dist/components/PzStatus/configs.d.ts +0 -2
- package/dist/components/PzTag/configs.d.ts +0 -2
- package/dist/components/{PzBtn → Actions/PzBtn}/PzBtn.vue.d.ts +1 -1
- package/dist/components/{PzBtn → Actions/PzBtn}/configs.d.ts +0 -0
- package/dist/components/{PzBtn → Actions/PzBtn}/index.d.ts +0 -0
- package/dist/components/{PzBtn → Actions/PzBtn}/types.d.ts +0 -0
- package/dist/components/{PzLink → Actions/PzLink}/PzLink.vue.d.ts +1 -1
- package/dist/components/{PzLink → Actions/PzLink}/constants.d.ts +0 -0
- package/dist/components/{PzLink → Actions/PzLink}/index.d.ts +0 -0
- package/dist/components/{PzLink → Actions/PzLink}/types.d.ts +0 -0
- package/dist/components/{PzRouterLink → Actions/PzRouterLink}/PzRouterLink.vue.d.ts +2 -2
- package/dist/components/{PzRouterLink → Actions/PzRouterLink}/index.d.ts +0 -0
- package/dist/components/{PzRouterLink → Actions/PzRouterLink}/types.d.ts +0 -0
- package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/PzAccordionTable.vue.d.ts +0 -0
- package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/constants.d.ts +0 -0
- package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/index.d.ts +0 -0
- package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/types.d.ts +0 -0
- package/dist/components/{PzTable → Data/PzTable}/PzTable.vue.d.ts +0 -0
- package/dist/components/{PzTable → Data/PzTable}/PzTableData.vue.d.ts +0 -0
- package/dist/components/{PzTable → Data/PzTable}/PzTableHead.vue.d.ts +0 -0
- package/dist/components/{PzTable → Data/PzTable}/constants.d.ts +0 -0
- package/dist/components/{PzTable → Data/PzTable}/index.d.ts +0 -0
- package/dist/components/{PzIcon → Display/PzIcon}/PzIcon.vue.d.ts +1 -1
- package/dist/components/{PzIcon → Display/PzIcon}/configs.d.ts +0 -0
- package/dist/components/{PzIcon → Display/PzIcon}/index.d.ts +0 -0
- package/dist/components/{PzImage → Display/PzImage}/PzImage.vue.d.ts +0 -0
- package/dist/components/{PzImage → Display/PzImage}/configs.d.ts +0 -0
- package/dist/components/{PzImage → Display/PzImage}/index.d.ts +0 -0
- package/dist/components/{PzImage → Display/PzImage}/types.d.ts +0 -0
- package/dist/components/{PzSkeleton → Display/PzSkeleton}/PzSkeleton.vue.d.ts +0 -0
- package/dist/components/{PzSkeleton → Display/PzSkeleton}/index.d.ts +0 -0
- package/dist/components/{PzSkeleton → Display/PzSkeleton}/types.d.ts +0 -0
- package/dist/components/{PzStatus → Display/PzStatus}/PzStatus.vue.d.ts +0 -0
- package/dist/components/{PzStatus → Display/PzStatus}/constants.d.ts +0 -0
- package/dist/components/{PzStatus → Display/PzStatus}/index.d.ts +0 -0
- package/dist/components/{PzStatus → Display/PzStatus}/types.d.ts +0 -0
- package/dist/components/{PzTag → Display/PzTag}/PzTag.vue.d.ts +0 -0
- package/dist/components/{PzTag → Display/PzTag}/index.d.ts +0 -0
- package/dist/components/{PzTag → Display/PzTag}/types.d.ts +0 -0
- package/dist/components/{PzAccordion → Layouts/PzAccordion}/PzAccordion.vue.d.ts +1 -1
- package/dist/components/{PzAccordion → Layouts/PzAccordion}/PzAccordionContent.vue.d.ts +0 -0
- package/dist/components/{PzAccordion → Layouts/PzAccordion}/configs.d.ts +0 -0
- package/dist/components/{PzAccordion → Layouts/PzAccordion}/index.d.ts +0 -0
- package/dist/components/{PzAccordion → Layouts/PzAccordion}/types.d.ts +0 -0
- package/dist/components/{PzGrid → Layouts/PzGrid}/PzGrid.vue.d.ts +2 -2
- package/dist/components/{PzGrid → Layouts/PzGrid}/PzGridItem.vue.d.ts +0 -0
- package/dist/components/{PzGrid → Layouts/PzGrid}/index.d.ts +0 -0
- package/dist/components/{PzGrid → Layouts/PzGrid}/types.d.ts +0 -0
- package/dist/components/{PzInfoBlockLayout → Layouts/PzInfoBlockLayout}/PzInfoBlockLayout.vue.d.ts +0 -0
- package/dist/components/{PzInfoBlockLayout → Layouts/PzInfoBlockLayout}/index.d.ts +0 -0
- package/dist/components/{PzInfoBlockLayout → Layouts/PzInfoBlockLayout}/types.d.ts +0 -0
- package/dist/components/{PzSearchResultItemLayout → Layouts/PzSearchResultItemLayout}/PzSearchResultItemLayout.vue.d.ts +0 -0
- package/dist/components/{PzSearchResultItemLayout → Layouts/PzSearchResultItemLayout}/index.d.ts +0 -0
- package/dist/components/{PzSearchResultItemLayout → Layouts/PzSearchResultItemLayout}/types.d.ts +0 -0
- package/dist/components/{PzTabs → Layouts/PzTabs}/PzTab.vue.d.ts +0 -0
- package/dist/components/{PzTabs → Layouts/PzTabs}/PzTabs.vue.d.ts +0 -0
- package/dist/components/{PzTabs → Layouts/PzTabs}/configs.d.ts +0 -0
- package/dist/components/{PzTabs → Layouts/PzTabs}/constants.d.ts +0 -0
- package/dist/components/{PzTabs → Layouts/PzTabs}/index.d.ts +0 -0
- package/dist/components/{PzTabs → Layouts/PzTabs}/types.d.ts +0 -0
- package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/PzBreadcrumb.vue.d.ts +0 -0
- package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/constants.d.ts +0 -0
- package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/index.d.ts +0 -0
- package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/types.d.ts +0 -0
- package/dist/components/{PzNav → Navigation/PzNav}/PzNav.vue.d.ts +0 -0
- package/dist/components/{PzNav → Navigation/PzNav}/index.d.ts +0 -0
- package/dist/components/{PzNav → Navigation/PzNav}/types.d.ts +0 -0
- package/dist/components/{PzPagination → Navigation/PzPagination}/PzPagination.vue.d.ts +0 -0
- package/dist/components/{PzPagination → Navigation/PzPagination}/index.d.ts +0 -0
- package/dist/components/{PzPagination → Navigation/PzPagination}/types.d.ts +0 -0
- package/dist/components/{PzDropdown → Popups/PzDropdown}/PzDropdown.vue.d.ts +0 -0
- package/dist/components/{PzDropdown → Popups/PzDropdown}/index.d.ts +0 -0
- package/dist/components/{PzDropdown → Popups/PzDropdown}/types.d.ts +0 -0
- package/dist/components/{PzHint → Popups/PzHint}/PzHint.vue.d.ts +1 -1
- package/dist/components/{PzHint → Popups/PzHint}/index.d.ts +0 -0
- package/dist/components/{PzHint → Popups/PzHint}/types.d.ts +0 -0
- package/dist/components/{PzInfoHint → Popups/PzInfoHint}/PzInfoHint.vue.d.ts +1 -1
- package/dist/components/{PzInfoHint → Popups/PzInfoHint}/index.d.ts +0 -0
- package/dist/components/{PzInfoHint → Popups/PzInfoHint}/types.d.ts +0 -0
- package/dist/components/{PzModal → Popups/PzModal}/PzModal.vue.d.ts +0 -0
- package/dist/components/{PzModal → Popups/PzModal}/configs.d.ts +0 -0
- package/dist/components/{PzModal → Popups/PzModal}/constants.d.ts +0 -0
- package/dist/components/{PzModal → Popups/PzModal}/index.d.ts +0 -0
- package/dist/components/{PzModal → Popups/PzModal}/types.d.ts +0 -0
- package/dist/components/{PzArrayClamp → Text/PzArrayClamp}/PzArrayClamp.vue.d.ts +1 -1
- package/dist/components/{PzArrayClamp → Text/PzArrayClamp}/index.d.ts +0 -0
- package/dist/components/{PzArrayClamp → Text/PzArrayClamp}/types.d.ts +0 -0
- package/dist/components/{PzText → Text/PzText}/PzText.vue.d.ts +0 -0
- package/dist/components/{PzText → Text/PzText}/configs.d.ts +0 -0
- package/dist/components/{PzText → Text/PzText}/index.d.ts +0 -0
- package/dist/components/{PzText → Text/PzText}/types.d.ts +0 -0
- package/dist/components/{PzTextClamp → Text/PzTextClamp}/PzTextClamp.vue.d.ts +3 -3
- /package/dist/components/{PzTextClamp → Text/PzTextClamp}/constants.d.ts +0 -0
- /package/dist/components/{PzTextClamp → Text/PzTextClamp}/index.d.ts +0 -0
- /package/dist/components/{PzTextClamp → Text/PzTextClamp}/types.d.ts +0 -0
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
import{d as pe,e as V,y as P,C as T,u as g,n as L,o as q,k as i,F as de,z as ce,f as F,l as D,E as J,t as C,J as ue,r as o,g as f,w as me}from"./iframe-DbWuH5mz.js";import{_ as ne}from"./PzIcon-BNwLASSZ.js";import{P as ge}from"./PzTag-9D_K2A9q.js";import{P as d}from"./PzText-LkAZaPCW.js";import{u as fe}from"./index-LkANHSb5.js";import{k as xe}from"./floating-vue-B4YMiR3n.js";import{l as $}from"./lodash-CdDiHlzQ.js";import{P as be}from"./PzLabel-Coa549nk.js";import{_ as ve}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-C1FmrZbK.js";import"./_commonjsHelpers-Cpj98o6Y.js";const he=6,ze=["id"],ye=["id","disabled","aria-controls","aria-expanded","aria-label"],Se={class:"pz-multi-select-trigger-text"},Oe=["id","aria-labelledby"],we={class:"pz-multi-select-options"},Ve=["for"],Pe=["id","name","checked","disabled","onChange"],Te={class:"pz-multi-select-option-text"},S=pe({name:"PzMultiSelect",__name:"PzMultiSelect",props:{name:{},options:{},modelValue:{default:()=>[]},label:{default:""},placeholder:{default:""},selectedLabel:{default:"{count} обрано"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},width:{default:void 0}},emits:["update:modelValue"],setup(e,{emit:n}){const l=e,u=n,m=o(null),{width:ae}=fe(m),c=t=>l.modelValue.some(s=>$.isEqual(s,t)),oe=t=>{const s=c(t)?l.modelValue.filter(a=>!$.isEqual(a,t)):[...l.modelValue,t];u("update:modelValue",s)},N=f(()=>l.options.filter(t=>c(t.value))),k=f(()=>{var s;const t=l.modelValue.length;return t===0?l.placeholder:t===1?((s=N.value[0])==null?void 0:s.label)??l.placeholder:l.selectedLabel.replace("{count}",String(t))}),se=f(()=>l.label||k.value||l.placeholder||l.name),ie=f(()=>{const t=Math.round(ae.value);return t?{inlineSize:`${String(t)}px`}:{}}),O=(t,s)=>t.id??`${l.name}-multi-option-${String(s+1)}`,re=t=>({option:t,selected:c(t.value),disabled:!!t.disabled});return(t,s)=>(q(),V("div",{id:e.name,class:"pz-multi-select",style:L({width:e.width})},[P(g(be),{label:e.label,for:e.name+"-trigger",required:e.required,disabled:e.disabled},{default:T(()=>[P(g(xe),{class:"pz-multi-select-dropdown",theme:"dropdown",placement:"bottom-start",container:"#"+e.name,distance:g(he),disabled:e.disabled},{default:T(({shown:a})=>[i("button",{id:e.name+"-trigger",ref_key:"triggerRef",ref:m,type:"button",class:F(["pz-multi-select-trigger",{"is-open":a,"is-placeholder":!e.modelValue.length}]),disabled:e.disabled,"aria-controls":e.name+"-menu","aria-expanded":a?"true":"false","aria-haspopup":"listbox","aria-label":e.label?void 0:se.value},[i("span",Se,[D(t.$slots,"selected",{selectedOptions:N.value,placeholder:e.placeholder,count:e.modelValue.length},()=>[J(C(k.value),1)],!0)]),P(g(ne),{name:"expand_more",size:"20",class:"pz-multi-select-trigger-icon"})],10,ye)]),popper:T(()=>[i("div",{id:e.name+"-menu",class:"pz-multi-select-menu",style:L(ie.value),role:"group","aria-labelledby":e.name+"-trigger"},[i("div",we,[(q(!0),V(de,null,ce(l.options,(a,w)=>(q(),V("label",{key:O(a,w),for:O(a,w),class:F(["pz-multi-select-option",{"is-selected":c(a.value),"is-disabled":a.disabled}])},[i("input",{id:O(a,w),type:"checkbox",name:e.name+"-option",checked:c(a.value),disabled:a.disabled,class:"pz-multi-select-option-input",onChange:Fe=>oe(a.value)},null,40,Pe),s[0]||(s[0]=i("span",{class:"pz-multi-select-option-checkbox","aria-hidden":"true"},[i("svg",{class:"pz-multi-select-option-check",viewBox:"0 0 16 16",fill:"none"},[i("path",{d:"M3.5 8.25L6.5 11L12.5 5",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),i("span",Te,[D(t.$slots,"default",ue({ref_for:!0},re(a)),()=>[J(C(a.label),1)],!0)])],10,Ve))),128))])],12,Oe)]),_:3},8,["container","distance","disabled"])]),_:3},8,["label","for","required","disabled"])],12,ze))}}),r=ve(S,[["__scopeId","data-v-a2e139a1"]]);S.__docgenInfo=Object.assign({displayName:S.name??S.__name},{name:"PzMultiSelect",exportName:"default",displayName:"PzMultiSelect",description:"",tags:{},props:[{name:"name",required:!0,type:{name:"string"}},{name:"options",required:!0,type:{name:"Array",elements:[{name:"PzFormSelectOption"}]}},{name:"modelValue",required:!0,type:{name:"Array",elements:[{name:"PzFormSelectValue"}]},defaultValue:{func:!1,value:"() => []"}},{name:"label",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"placeholder",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"selectedLabel",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'"{count} обрано"'}},{name:"disabled",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"required",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"width",required:!1,type:{name:"string"},defaultValue:{func:!1,value:"undefined"}}],slots:[{name:"selected",scoped:!0,bindings:[{name:"selected-options",title:"binding"},{name:"placeholder",title:"binding"},{name:"count",title:"binding"}]},{name:"default",scoped:!0,bindings:[]}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Form/PzMultiSelect/PzMultiSelect.vue"]});const p=[{label:"09000000-3 - Нафтопродукти, паливо, електроенергія та інші джерела енергії",value:"09000000-3"},{label:"09100000-0 - Паливо",value:"09100000-0"},{label:"09200000-1 - Нафта, вугілля і нафтопродукти",value:"09200000-1"},{label:"09300000-2 - Електрична, теплова, сонячна та атомна енергія",value:"09300000-2"},{label:"90900000-6 - Послуги з прибирання та санітарно-гігієнічні послуги",value:"90900000-6"}],M=[{label:"Чернетка",value:"draft"},{label:"Активний тендер",value:"active"},{label:"Архів",value:"archive"},{label:"Недоступний",value:"unavailable",disabled:!0}],qe=30,Me=2,I=["Будівництво","Послуги","Транспорт","Освіта","Енергія"],Ne=Array.from({length:qe},(e,n)=>{const l=I[n%I.length];return{label:`Категорія ${String(n+1).padStart(Me,"0")} — ${l}`,value:`category-${n+1}`}}),ke=e=>`<template>
|
|
2
|
+
<PzMultiSelect
|
|
3
|
+
v-model="value"
|
|
4
|
+
${[`name="${e.name}"`,e.label?`label="${e.label}"`:null,e.placeholder?`placeholder="${e.placeholder}"`:null,e.selectedLabel&&e.selectedLabel!=="{count} обрано"?`selected-label="${e.selectedLabel}"`:null,e.required?':required="true"':null,e.disabled?':disabled="true"':null].filter(l=>!!l).join(" ")}
|
|
5
|
+
:options="options"
|
|
6
|
+
/>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script setup lang="ts">
|
|
10
|
+
import { ref } from "vue";
|
|
11
|
+
|
|
12
|
+
const options = [
|
|
13
|
+
{ label: "Option A", value: "a" },
|
|
14
|
+
{ label: "Option B", value: "b" },
|
|
15
|
+
{ label: "Option C", value: "c" },
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
const value = ref<string[]>([]);
|
|
19
|
+
<\/script>`,Le={title:"Components/Form/PzMultiSelect",component:r,parameters:{docs:{description:{component:"Multi-select dropdown with checkbox rows. Toggling an option emits `update:modelValue` immediately — selection updates as the user clicks. The dropdown stays open while toggling and closes on outside click."},source:{transform:(e,n)=>ke(n.args??Le.args)}}},args:{name:"pz-multi-select-story",label:"Класифікатор",modelValue:[],options:p,placeholder:"Оберіть значення",selectedLabel:"{count} обрано",required:!1,disabled:!1,width:void 0},argTypes:{name:{control:"text",description:"Stable field name used to derive trigger and option ids."},label:{control:"text",description:"Visible label rendered above the trigger."},options:{control:!1,description:"Array of options with `label`, `value`, and optional `disabled` or `id`."},modelValue:{control:!1,description:"Array of currently selected primitive values."},placeholder:{control:"text",description:"Text shown in the trigger when no option is selected."},selectedLabel:{control:"text",description:"Template for the trigger text when 2+ options are selected. Use `{count}` placeholder."},required:{control:"boolean",description:"Adds the required indicator to the label."},disabled:{control:"boolean",description:"Disables the trigger and prevents the menu from opening."},width:{control:"text",description:"Optional explicit width applied to the component root."}},render:e=>({components:{pzMultiSelect:r,pzText:d},setup(){const n=o([...e.modelValue]),l=o(["09100000-0","09300000-2"]),u=o([]);return me(()=>e.modelValue,m=>{n.value=[...m]},{deep:!0}),{args:e,procurementOptions:p,statusOptions:M,value:n,preselected:l,filterValue:u}},template:`
|
|
20
|
+
<div style="display:flex;flex-direction:column;gap:32px;padding:24px;max-width:720px">
|
|
21
|
+
<section style="display:flex;flex-direction:column;gap:16px">
|
|
22
|
+
<pz-text variant="h4-bold">Playground</pz-text>
|
|
23
|
+
<pz-multi-select
|
|
24
|
+
v-model="value"
|
|
25
|
+
:name="args.name"
|
|
26
|
+
:label="args.label"
|
|
27
|
+
:placeholder="args.placeholder"
|
|
28
|
+
:options="args.options"
|
|
29
|
+
:selected-label="args.selectedLabel"
|
|
30
|
+
:required="args.required"
|
|
31
|
+
:disabled="args.disabled"
|
|
32
|
+
:width="args.width"
|
|
33
|
+
/>
|
|
34
|
+
<pz-text variant="body-regular">Selected values: {{ JSON.stringify(value) }}</pz-text>
|
|
35
|
+
</section>
|
|
36
|
+
|
|
37
|
+
<section style="display:flex;flex-direction:column;gap:16px">
|
|
38
|
+
<pz-text variant="h4-bold">Pre-populated selection</pz-text>
|
|
39
|
+
<pz-multi-select
|
|
40
|
+
v-model="preselected"
|
|
41
|
+
name="pz-multi-select-preselected"
|
|
42
|
+
label="Класифікатор з обраними значеннями"
|
|
43
|
+
placeholder="Оберіть значення"
|
|
44
|
+
:options="procurementOptions"
|
|
45
|
+
/>
|
|
46
|
+
<pz-text variant="body-regular">Selected values: {{ JSON.stringify(preselected) }}</pz-text>
|
|
47
|
+
</section>
|
|
48
|
+
|
|
49
|
+
<section style="display:flex;flex-direction:column;gap:16px">
|
|
50
|
+
<pz-text variant="h4-bold">Status filter (with disabled option)</pz-text>
|
|
51
|
+
<pz-multi-select
|
|
52
|
+
v-model="filterValue"
|
|
53
|
+
name="pz-multi-select-status"
|
|
54
|
+
label="Статус"
|
|
55
|
+
placeholder="Усі статуси"
|
|
56
|
+
:options="statusOptions"
|
|
57
|
+
/>
|
|
58
|
+
<pz-text variant="body-regular">Selected statuses: {{ JSON.stringify(filterValue) }}</pz-text>
|
|
59
|
+
</section>
|
|
60
|
+
</div>
|
|
61
|
+
`})},x={parameters:{docs:{description:{story:"Default interactive story. Open the dropdown and toggle items — the model updates on each click. The dropdown stays open while selecting and closes on outside click."}}}},b={parameters:{docs:{description:{story:"Custom rendering via the `#selected` and default scoped slots. The `#selected` slot receives `{ selectedOptions, placeholder, count }` and controls the trigger content. The default slot receives `{ option, selected, disabled }` and controls each option row."}}},render:()=>({components:{pzMultiSelect:r,pzText:d,pzTag:ge,pzIcon:ne},setup(){const e=o(["09100000-0"]),n=o([]),l=o([]);return{tagsValue:e,counterValue:n,richOptionValue:l,procurementOptions:p,statusOptions:M}},template:`
|
|
62
|
+
<div style="display:flex;flex-direction:column;gap:32px;padding:24px;max-width:720px">
|
|
63
|
+
<section style="display:flex;flex-direction:column;gap:12px">
|
|
64
|
+
<pz-text variant="h4-bold">Trigger renders selected values as tags</pz-text>
|
|
65
|
+
<pz-multi-select
|
|
66
|
+
v-model="tagsValue"
|
|
67
|
+
name="pz-multi-select-slots-tags"
|
|
68
|
+
label="Класифікатор"
|
|
69
|
+
placeholder="Оберіть значення"
|
|
70
|
+
:options="procurementOptions"
|
|
71
|
+
>
|
|
72
|
+
<template #selected="{ selectedOptions, placeholder, count }">
|
|
73
|
+
<span v-if="count === 0" style="color:var(--pz-color-text-secondary)">{{ placeholder }}</span>
|
|
74
|
+
<span v-else style="display:inline-flex;flex-wrap:wrap;gap:6px">
|
|
75
|
+
<pz-tag v-for="opt in selectedOptions" :key="String(opt.value)" variant="blue">
|
|
76
|
+
{{ opt.value }}
|
|
77
|
+
</pz-tag>
|
|
78
|
+
</span>
|
|
79
|
+
</template>
|
|
80
|
+
</pz-multi-select>
|
|
81
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(tagsValue) }}</pz-text>
|
|
82
|
+
</section>
|
|
83
|
+
|
|
84
|
+
<section style="display:flex;flex-direction:column;gap:12px">
|
|
85
|
+
<pz-text variant="h4-bold">Custom counter trigger</pz-text>
|
|
86
|
+
<pz-multi-select
|
|
87
|
+
v-model="counterValue"
|
|
88
|
+
name="pz-multi-select-slots-counter"
|
|
89
|
+
label="Статус"
|
|
90
|
+
placeholder="Усі статуси"
|
|
91
|
+
:options="statusOptions"
|
|
92
|
+
>
|
|
93
|
+
<template #selected="{ selectedOptions, placeholder, count }">
|
|
94
|
+
<span v-if="count === 0">{{ placeholder }}</span>
|
|
95
|
+
<span v-else-if="count === 1" style="font-weight:600">{{ selectedOptions[0]?.label }}</span>
|
|
96
|
+
<span v-else style="font-weight:600">Обрано {{ count }} зі {{ statusOptions.length }}</span>
|
|
97
|
+
</template>
|
|
98
|
+
</pz-multi-select>
|
|
99
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(counterValue) }}</pz-text>
|
|
100
|
+
</section>
|
|
101
|
+
|
|
102
|
+
<section style="display:flex;flex-direction:column;gap:12px">
|
|
103
|
+
<pz-text variant="h4-bold">Rich option rows (default slot)</pz-text>
|
|
104
|
+
<pz-multi-select
|
|
105
|
+
v-model="richOptionValue"
|
|
106
|
+
name="pz-multi-select-slots-options"
|
|
107
|
+
label="Класифікатор"
|
|
108
|
+
placeholder="Оберіть значення"
|
|
109
|
+
:options="procurementOptions"
|
|
110
|
+
>
|
|
111
|
+
<template #default="{ option, selected }">
|
|
112
|
+
<span style="flex:1">{{ option.label }}</span>
|
|
113
|
+
<pz-icon v-if="selected" name="check" size="16" />
|
|
114
|
+
</template>
|
|
115
|
+
</pz-multi-select>
|
|
116
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(richOptionValue) }}</pz-text>
|
|
117
|
+
</section>
|
|
118
|
+
</div>
|
|
119
|
+
`})},v={parameters:{docs:{description:{story:"Required field with a visible label indicator. Use the `required` prop together with `label` to integrate with form validation flows."}}},render:()=>({components:{pzMultiSelect:r,pzText:d},setup(){return{value:o([]),procurementOptions:p}},template:`
|
|
120
|
+
<div style="display:flex;flex-direction:column;gap:16px;padding:24px;max-width:480px">
|
|
121
|
+
<pz-multi-select
|
|
122
|
+
v-model="value"
|
|
123
|
+
name="pz-multi-select-required"
|
|
124
|
+
label="Класифікатор"
|
|
125
|
+
placeholder="Оберіть значення"
|
|
126
|
+
:options="procurementOptions"
|
|
127
|
+
required
|
|
128
|
+
/>
|
|
129
|
+
<pz-text variant="body-regular">
|
|
130
|
+
Selected: {{ value.length === 0 ? "—" : JSON.stringify(value) }}
|
|
131
|
+
</pz-text>
|
|
132
|
+
</div>
|
|
133
|
+
`})},h={parameters:{docs:{description:{story:"Disabled state with a pre-populated selection. The trigger renders the selected count but cannot be opened or modified."}}},render:()=>({components:{pzMultiSelect:r,pzText:d},setup(){const e=o([]),n=o(["09100000-0","09300000-2"]);return{empty:e,preselected:n,procurementOptions:p}},template:`
|
|
134
|
+
<div style="display:flex;flex-direction:column;gap:24px;padding:24px;max-width:480px">
|
|
135
|
+
<section style="display:flex;flex-direction:column;gap:8px">
|
|
136
|
+
<pz-text variant="body-semibold">Disabled, no selection</pz-text>
|
|
137
|
+
<pz-multi-select
|
|
138
|
+
v-model="empty"
|
|
139
|
+
name="pz-multi-select-disabled-empty"
|
|
140
|
+
label="Класифікатор"
|
|
141
|
+
placeholder="Оберіть значення"
|
|
142
|
+
:options="procurementOptions"
|
|
143
|
+
disabled
|
|
144
|
+
/>
|
|
145
|
+
</section>
|
|
146
|
+
|
|
147
|
+
<section style="display:flex;flex-direction:column;gap:8px">
|
|
148
|
+
<pz-text variant="body-semibold">Disabled, with pre-selected values</pz-text>
|
|
149
|
+
<pz-multi-select
|
|
150
|
+
v-model="preselected"
|
|
151
|
+
name="pz-multi-select-disabled-preselected"
|
|
152
|
+
label="Класифікатор"
|
|
153
|
+
:options="procurementOptions"
|
|
154
|
+
disabled
|
|
155
|
+
/>
|
|
156
|
+
</section>
|
|
157
|
+
</div>
|
|
158
|
+
`})},z={parameters:{docs:{description:{story:"Long option list demonstrating the scrollable dropdown body. The options container caps its height and scrolls vertically while the trigger and surrounding chrome remain fixed."}}},render:()=>({components:{pzMultiSelect:r,pzText:d},setup(){return{value:o(["category-3","category-12"]),longOptions:Ne}},template:`
|
|
159
|
+
<div style="display:flex;flex-direction:column;gap:16px;padding:24px;max-width:480px">
|
|
160
|
+
<pz-multi-select
|
|
161
|
+
v-model="value"
|
|
162
|
+
name="pz-multi-select-long-list"
|
|
163
|
+
label="Категорії"
|
|
164
|
+
placeholder="Оберіть категорії"
|
|
165
|
+
:options="longOptions"
|
|
166
|
+
/>
|
|
167
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(value) }}</pz-text>
|
|
168
|
+
</div>
|
|
169
|
+
`})},y={parameters:{docs:{description:{story:"Realistic page-level filter row combining several PzMultiSelect controls in a horizontal layout. Each control updates its own model independently."}}},render:()=>({components:{pzMultiSelect:r,pzText:d},setup(){const e=o(["active"]),n=o([]);return{statuses:e,categories:n,statusOptions:M,procurementOptions:p}},template:`
|
|
170
|
+
<div style="display:flex;flex-direction:column;gap:16px;padding:24px">
|
|
171
|
+
<pz-text variant="h4-bold">Filter by</pz-text>
|
|
172
|
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px">
|
|
173
|
+
<pz-multi-select
|
|
174
|
+
v-model="statuses"
|
|
175
|
+
name="pz-multi-select-filter-status"
|
|
176
|
+
label="Статус"
|
|
177
|
+
placeholder="Усі статуси"
|
|
178
|
+
:options="statusOptions"
|
|
179
|
+
/>
|
|
180
|
+
<pz-multi-select
|
|
181
|
+
v-model="categories"
|
|
182
|
+
name="pz-multi-select-filter-category"
|
|
183
|
+
label="Класифікатор"
|
|
184
|
+
placeholder="Усі категорії"
|
|
185
|
+
:options="procurementOptions"
|
|
186
|
+
/>
|
|
187
|
+
</div>
|
|
188
|
+
<pz-text variant="body-regular">
|
|
189
|
+
Active filters — statuses: {{ JSON.stringify(statuses) }}, categories: {{ JSON.stringify(categories) }}
|
|
190
|
+
</pz-text>
|
|
191
|
+
</div>
|
|
192
|
+
`})};var E,R,A;x.parameters={...x.parameters,docs:{...(E=x.parameters)==null?void 0:E.docs,source:{originalSource:`{
|
|
193
|
+
parameters: {
|
|
194
|
+
docs: {
|
|
195
|
+
description: {
|
|
196
|
+
story: "Default interactive story. Open the dropdown and toggle items — the model updates on each click. The dropdown stays open while selecting and closes on outside click."
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}`,...(A=(R=x.parameters)==null?void 0:R.docs)==null?void 0:A.source}}};var _,B,W;b.parameters={...b.parameters,docs:{...(_=b.parameters)==null?void 0:_.docs,source:{originalSource:`{
|
|
201
|
+
parameters: {
|
|
202
|
+
docs: {
|
|
203
|
+
description: {
|
|
204
|
+
story: "Custom rendering via the \`#selected\` and default scoped slots. The \`#selected\` slot receives \`{ selectedOptions, placeholder, count }\` and controls the trigger content. The default slot receives \`{ option, selected, disabled }\` and controls each option row."
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
render: () => ({
|
|
209
|
+
components: {
|
|
210
|
+
pzMultiSelect: PzMultiSelect,
|
|
211
|
+
pzText: PzText,
|
|
212
|
+
pzTag: PzTag,
|
|
213
|
+
pzIcon: PzIcon
|
|
214
|
+
},
|
|
215
|
+
setup() {
|
|
216
|
+
const tagsValue = ref<PzFormSelectValue[]>(["09100000-0"]);
|
|
217
|
+
const counterValue = ref<PzFormSelectValue[]>([]);
|
|
218
|
+
const richOptionValue = ref<PzFormSelectValue[]>([]);
|
|
219
|
+
return {
|
|
220
|
+
tagsValue,
|
|
221
|
+
counterValue,
|
|
222
|
+
richOptionValue,
|
|
223
|
+
procurementOptions,
|
|
224
|
+
statusOptions
|
|
225
|
+
};
|
|
226
|
+
},
|
|
227
|
+
template: \`
|
|
228
|
+
<div style="display:flex;flex-direction:column;gap:32px;padding:24px;max-width:720px">
|
|
229
|
+
<section style="display:flex;flex-direction:column;gap:12px">
|
|
230
|
+
<pz-text variant="h4-bold">Trigger renders selected values as tags</pz-text>
|
|
231
|
+
<pz-multi-select
|
|
232
|
+
v-model="tagsValue"
|
|
233
|
+
name="pz-multi-select-slots-tags"
|
|
234
|
+
label="Класифікатор"
|
|
235
|
+
placeholder="Оберіть значення"
|
|
236
|
+
:options="procurementOptions"
|
|
237
|
+
>
|
|
238
|
+
<template #selected="{ selectedOptions, placeholder, count }">
|
|
239
|
+
<span v-if="count === 0" style="color:var(--pz-color-text-secondary)">{{ placeholder }}</span>
|
|
240
|
+
<span v-else style="display:inline-flex;flex-wrap:wrap;gap:6px">
|
|
241
|
+
<pz-tag v-for="opt in selectedOptions" :key="String(opt.value)" variant="blue">
|
|
242
|
+
{{ opt.value }}
|
|
243
|
+
</pz-tag>
|
|
244
|
+
</span>
|
|
245
|
+
</template>
|
|
246
|
+
</pz-multi-select>
|
|
247
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(tagsValue) }}</pz-text>
|
|
248
|
+
</section>
|
|
249
|
+
|
|
250
|
+
<section style="display:flex;flex-direction:column;gap:12px">
|
|
251
|
+
<pz-text variant="h4-bold">Custom counter trigger</pz-text>
|
|
252
|
+
<pz-multi-select
|
|
253
|
+
v-model="counterValue"
|
|
254
|
+
name="pz-multi-select-slots-counter"
|
|
255
|
+
label="Статус"
|
|
256
|
+
placeholder="Усі статуси"
|
|
257
|
+
:options="statusOptions"
|
|
258
|
+
>
|
|
259
|
+
<template #selected="{ selectedOptions, placeholder, count }">
|
|
260
|
+
<span v-if="count === 0">{{ placeholder }}</span>
|
|
261
|
+
<span v-else-if="count === 1" style="font-weight:600">{{ selectedOptions[0]?.label }}</span>
|
|
262
|
+
<span v-else style="font-weight:600">Обрано {{ count }} зі {{ statusOptions.length }}</span>
|
|
263
|
+
</template>
|
|
264
|
+
</pz-multi-select>
|
|
265
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(counterValue) }}</pz-text>
|
|
266
|
+
</section>
|
|
267
|
+
|
|
268
|
+
<section style="display:flex;flex-direction:column;gap:12px">
|
|
269
|
+
<pz-text variant="h4-bold">Rich option rows (default slot)</pz-text>
|
|
270
|
+
<pz-multi-select
|
|
271
|
+
v-model="richOptionValue"
|
|
272
|
+
name="pz-multi-select-slots-options"
|
|
273
|
+
label="Класифікатор"
|
|
274
|
+
placeholder="Оберіть значення"
|
|
275
|
+
:options="procurementOptions"
|
|
276
|
+
>
|
|
277
|
+
<template #default="{ option, selected }">
|
|
278
|
+
<span style="flex:1">{{ option.label }}</span>
|
|
279
|
+
<pz-icon v-if="selected" name="check" size="16" />
|
|
280
|
+
</template>
|
|
281
|
+
</pz-multi-select>
|
|
282
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(richOptionValue) }}</pz-text>
|
|
283
|
+
</section>
|
|
284
|
+
</div>
|
|
285
|
+
\`
|
|
286
|
+
})
|
|
287
|
+
}`,...(W=(B=b.parameters)==null?void 0:B.docs)==null?void 0:W.source}}};var U,j,G;v.parameters={...v.parameters,docs:{...(U=v.parameters)==null?void 0:U.docs,source:{originalSource:`{
|
|
288
|
+
parameters: {
|
|
289
|
+
docs: {
|
|
290
|
+
description: {
|
|
291
|
+
story: "Required field with a visible label indicator. Use the \`required\` prop together with \`label\` to integrate with form validation flows."
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
render: () => ({
|
|
296
|
+
components: {
|
|
297
|
+
pzMultiSelect: PzMultiSelect,
|
|
298
|
+
pzText: PzText
|
|
299
|
+
},
|
|
300
|
+
setup() {
|
|
301
|
+
const value = ref<PzFormSelectValue[]>([]);
|
|
302
|
+
return {
|
|
303
|
+
value,
|
|
304
|
+
procurementOptions
|
|
305
|
+
};
|
|
306
|
+
},
|
|
307
|
+
template: \`
|
|
308
|
+
<div style="display:flex;flex-direction:column;gap:16px;padding:24px;max-width:480px">
|
|
309
|
+
<pz-multi-select
|
|
310
|
+
v-model="value"
|
|
311
|
+
name="pz-multi-select-required"
|
|
312
|
+
label="Класифікатор"
|
|
313
|
+
placeholder="Оберіть значення"
|
|
314
|
+
:options="procurementOptions"
|
|
315
|
+
required
|
|
316
|
+
/>
|
|
317
|
+
<pz-text variant="body-regular">
|
|
318
|
+
Selected: {{ value.length === 0 ? "—" : JSON.stringify(value) }}
|
|
319
|
+
</pz-text>
|
|
320
|
+
</div>
|
|
321
|
+
\`
|
|
322
|
+
})
|
|
323
|
+
}`,...(G=(j=v.parameters)==null?void 0:j.docs)==null?void 0:G.source}}};var X,Z,H;h.parameters={...h.parameters,docs:{...(X=h.parameters)==null?void 0:X.docs,source:{originalSource:`{
|
|
324
|
+
parameters: {
|
|
325
|
+
docs: {
|
|
326
|
+
description: {
|
|
327
|
+
story: "Disabled state with a pre-populated selection. The trigger renders the selected count but cannot be opened or modified."
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
render: () => ({
|
|
332
|
+
components: {
|
|
333
|
+
pzMultiSelect: PzMultiSelect,
|
|
334
|
+
pzText: PzText
|
|
335
|
+
},
|
|
336
|
+
setup() {
|
|
337
|
+
const empty = ref<PzFormSelectValue[]>([]);
|
|
338
|
+
const preselected = ref<PzFormSelectValue[]>(["09100000-0", "09300000-2"]);
|
|
339
|
+
return {
|
|
340
|
+
empty,
|
|
341
|
+
preselected,
|
|
342
|
+
procurementOptions
|
|
343
|
+
};
|
|
344
|
+
},
|
|
345
|
+
template: \`
|
|
346
|
+
<div style="display:flex;flex-direction:column;gap:24px;padding:24px;max-width:480px">
|
|
347
|
+
<section style="display:flex;flex-direction:column;gap:8px">
|
|
348
|
+
<pz-text variant="body-semibold">Disabled, no selection</pz-text>
|
|
349
|
+
<pz-multi-select
|
|
350
|
+
v-model="empty"
|
|
351
|
+
name="pz-multi-select-disabled-empty"
|
|
352
|
+
label="Класифікатор"
|
|
353
|
+
placeholder="Оберіть значення"
|
|
354
|
+
:options="procurementOptions"
|
|
355
|
+
disabled
|
|
356
|
+
/>
|
|
357
|
+
</section>
|
|
358
|
+
|
|
359
|
+
<section style="display:flex;flex-direction:column;gap:8px">
|
|
360
|
+
<pz-text variant="body-semibold">Disabled, with pre-selected values</pz-text>
|
|
361
|
+
<pz-multi-select
|
|
362
|
+
v-model="preselected"
|
|
363
|
+
name="pz-multi-select-disabled-preselected"
|
|
364
|
+
label="Класифікатор"
|
|
365
|
+
:options="procurementOptions"
|
|
366
|
+
disabled
|
|
367
|
+
/>
|
|
368
|
+
</section>
|
|
369
|
+
</div>
|
|
370
|
+
\`
|
|
371
|
+
})
|
|
372
|
+
}`,...(H=(Z=h.parameters)==null?void 0:Z.docs)==null?void 0:H.source}}};var K,Q,Y;z.parameters={...z.parameters,docs:{...(K=z.parameters)==null?void 0:K.docs,source:{originalSource:`{
|
|
373
|
+
parameters: {
|
|
374
|
+
docs: {
|
|
375
|
+
description: {
|
|
376
|
+
story: "Long option list demonstrating the scrollable dropdown body. The options container caps its height and scrolls vertically while the trigger and surrounding chrome remain fixed."
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
render: () => ({
|
|
381
|
+
components: {
|
|
382
|
+
pzMultiSelect: PzMultiSelect,
|
|
383
|
+
pzText: PzText
|
|
384
|
+
},
|
|
385
|
+
setup() {
|
|
386
|
+
const value = ref<PzFormSelectValue[]>(["category-3", "category-12"]);
|
|
387
|
+
return {
|
|
388
|
+
value,
|
|
389
|
+
longOptions
|
|
390
|
+
};
|
|
391
|
+
},
|
|
392
|
+
template: \`
|
|
393
|
+
<div style="display:flex;flex-direction:column;gap:16px;padding:24px;max-width:480px">
|
|
394
|
+
<pz-multi-select
|
|
395
|
+
v-model="value"
|
|
396
|
+
name="pz-multi-select-long-list"
|
|
397
|
+
label="Категорії"
|
|
398
|
+
placeholder="Оберіть категорії"
|
|
399
|
+
:options="longOptions"
|
|
400
|
+
/>
|
|
401
|
+
<pz-text variant="body-regular">Selected: {{ JSON.stringify(value) }}</pz-text>
|
|
402
|
+
</div>
|
|
403
|
+
\`
|
|
404
|
+
})
|
|
405
|
+
}`,...(Y=(Q=z.parameters)==null?void 0:Q.docs)==null?void 0:Y.source}}};var ee,te,le;y.parameters={...y.parameters,docs:{...(ee=y.parameters)==null?void 0:ee.docs,source:{originalSource:`{
|
|
406
|
+
parameters: {
|
|
407
|
+
docs: {
|
|
408
|
+
description: {
|
|
409
|
+
story: "Realistic page-level filter row combining several PzMultiSelect controls in a horizontal layout. Each control updates its own model independently."
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
render: () => ({
|
|
414
|
+
components: {
|
|
415
|
+
pzMultiSelect: PzMultiSelect,
|
|
416
|
+
pzText: PzText
|
|
417
|
+
},
|
|
418
|
+
setup() {
|
|
419
|
+
const statuses = ref<PzFormSelectValue[]>(["active"]);
|
|
420
|
+
const categories = ref<PzFormSelectValue[]>([]);
|
|
421
|
+
return {
|
|
422
|
+
statuses,
|
|
423
|
+
categories,
|
|
424
|
+
statusOptions,
|
|
425
|
+
procurementOptions
|
|
426
|
+
};
|
|
427
|
+
},
|
|
428
|
+
template: \`
|
|
429
|
+
<div style="display:flex;flex-direction:column;gap:16px;padding:24px">
|
|
430
|
+
<pz-text variant="h4-bold">Filter by</pz-text>
|
|
431
|
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px">
|
|
432
|
+
<pz-multi-select
|
|
433
|
+
v-model="statuses"
|
|
434
|
+
name="pz-multi-select-filter-status"
|
|
435
|
+
label="Статус"
|
|
436
|
+
placeholder="Усі статуси"
|
|
437
|
+
:options="statusOptions"
|
|
438
|
+
/>
|
|
439
|
+
<pz-multi-select
|
|
440
|
+
v-model="categories"
|
|
441
|
+
name="pz-multi-select-filter-category"
|
|
442
|
+
label="Класифікатор"
|
|
443
|
+
placeholder="Усі категорії"
|
|
444
|
+
:options="procurementOptions"
|
|
445
|
+
/>
|
|
446
|
+
</div>
|
|
447
|
+
<pz-text variant="body-regular">
|
|
448
|
+
Active filters — statuses: {{ JSON.stringify(statuses) }}, categories: {{ JSON.stringify(categories) }}
|
|
449
|
+
</pz-text>
|
|
450
|
+
</div>
|
|
451
|
+
\`
|
|
452
|
+
})
|
|
453
|
+
}`,...(le=(te=y.parameters)==null?void 0:te.docs)==null?void 0:le.source}}};const Ue=["Playground","WithSlots","Required","Disabled","LongList","InFilterRow"];export{h as Disabled,y as InFilterRow,z as LongList,x as Playground,v as Required,b as WithSlots,Ue as __namedExportsOrder,Le as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.pz-nav-story{display:grid;gap:var(--pz-space-24)}.pz-nav-story-frame{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-24);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 74%,transparent);border-radius:var(--pz-space-24);background:radial-gradient(circle at top right,color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in srgb,var(--pz-color-white) 98%,transparent),color-mix(in srgb,var(--pz-color-grey-20) 90%,var(--pz-color-white)))}.pz-nav-story-header{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-16)}.pz-nav-story-eyebrow,.pz-nav-story-chip{display:inline-flex;align-items:center;width:fit-content;padding:var(--pz-space-8) var(--pz-space-16);border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-10) 92%,var(--pz-color-white));color:var(--pz-color-text-link-hover);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pz-nav-story-stack{display:grid;gap:var(--pz-space-16)}.pz-nav-story-surface{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-20);border-radius:var(--pz-space-20);background:color-mix(in srgb,var(--pz-color-white) 98%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pz-color-grey-30) 60%,transparent)}.pz-nav-story-grid{display:grid;gap:var(--pz-space-16)}.pz-nav-story-card{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:var(--pz-space-20);padding:var(--pz-space-20);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 74%,transparent);border-radius:var(--pz-space-20);background:color-mix(in srgb,var(--pz-color-white) 96%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--pz-color-black-90) 5%,transparent)}.pz-nav-story-card-copy{display:grid;align-content:start;gap:var(--pz-space-12)}.pz-nav-story-card-surface{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-16);border-radius:var(--pz-space-16);background:color-mix(in srgb,var(--pz-color-background-frame) 96%,var(--pz-color-white));overflow:hidden}.pz-nav-story-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding-inline:6px;border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-10) 100%,transparent);color:var(--pz-color-text-link-hover);font-size:var(--pz-font-size-12);font-weight:700}.pz-nav-story-slot{display:inline-flex;align-items:center;gap:var(--pz-space-8)}.pz-nav-story-compact{width:min(100%,520px)}@media (width <= 768px){.pz-nav-story-header{flex-direction:column}.pz-nav-story-card{grid-template-columns:1fr}}.pz-nav[data-v-
|
|
1
|
+
.pz-nav-story{display:grid;gap:var(--pz-space-24)}.pz-nav-story-frame{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-24);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 74%,transparent);border-radius:var(--pz-space-24);background:radial-gradient(circle at top right,color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in srgb,var(--pz-color-white) 98%,transparent),color-mix(in srgb,var(--pz-color-grey-20) 90%,var(--pz-color-white)))}.pz-nav-story-header{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-16)}.pz-nav-story-eyebrow,.pz-nav-story-chip{display:inline-flex;align-items:center;width:fit-content;padding:var(--pz-space-8) var(--pz-space-16);border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-10) 92%,var(--pz-color-white));color:var(--pz-color-text-link-hover);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pz-nav-story-stack{display:grid;gap:var(--pz-space-16)}.pz-nav-story-surface{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-20);border-radius:var(--pz-space-20);background:color-mix(in srgb,var(--pz-color-white) 98%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pz-color-grey-30) 60%,transparent)}.pz-nav-story-grid{display:grid;gap:var(--pz-space-16)}.pz-nav-story-card{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:var(--pz-space-20);padding:var(--pz-space-20);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 74%,transparent);border-radius:var(--pz-space-20);background:color-mix(in srgb,var(--pz-color-white) 96%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--pz-color-black-90) 5%,transparent)}.pz-nav-story-card-copy{display:grid;align-content:start;gap:var(--pz-space-12)}.pz-nav-story-card-surface{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-16);border-radius:var(--pz-space-16);background:color-mix(in srgb,var(--pz-color-background-frame) 96%,var(--pz-color-white));overflow:hidden}.pz-nav-story-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding-inline:6px;border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-10) 100%,transparent);color:var(--pz-color-text-link-hover);font-size:var(--pz-font-size-12);font-weight:700}.pz-nav-story-slot{display:inline-flex;align-items:center;gap:var(--pz-space-8)}.pz-nav-story-compact{width:min(100%,520px)}@media (width <= 768px){.pz-nav-story-header{flex-direction:column}.pz-nav-story-card{grid-template-columns:1fr}}.pz-nav[data-v-5d1c69f0]{--pz-nav-background: var(--pz-color-background-frame);--pz-nav-active-background: var(--pz-color-background-primary);--pz-nav-active-color: var(--pz-color-text-primary);--pz-nav-link-color: var(--pz-color-text-link);display:flex;width:100%;margin:0;padding:var(--pz-space-4);list-style:none;border-radius:var(--pz-space-16);background:var(--pz-nav-background);overflow-x:auto;scrollbar-color:var(--pz-color-grey-30) var(--pz-nav-active-background)}.pz-nav__item[data-v-5d1c69f0]{position:relative;z-index:1;flex:0 0 auto;border-radius:var(--pz-space-12);transition:background-color .16s ease}.pz-nav__item[data-v-5d1c69f0]:hover{color:var(--pz-color-text-link-hover)}.pz-nav__item.active[data-v-5d1c69f0]{background-color:var(--pz-nav-active-background);box-shadow:0 1px 2px #2426380f,inset 0 0 0 1px #2426380a}.pz-nav__item.disabled[data-v-5d1c69f0]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.pz-nav__text[data-v-5d1c69f0]{display:inline-flex;align-items:center;min-height:44px;padding:12px 24px;border:none;outline:none;background:transparent;color:var(--pz-nav-link-color);text-decoration:none;white-space:nowrap;transition:color .16s ease;font-size:var(--pz-font-size-14);font-weight:600;line-height:1.5}.pz-nav__text.active[data-v-5d1c69f0]{color:var(--pz-nav-active-color)}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{d as R,e as r,F,
|
|
1
|
+
import{d as R,e as r,F,z as $,o,f as m,A,C as j,l as y,E as x,t as b,u as B,R as O,K as L,g as V,j as z,a1 as f}from"./iframe-DbWuH5mz.js";import{P as g}from"./PzText-LkAZaPCW.js";import{_ as W}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-C1FmrZbK.js";const Q={class:"pz-nav"},l=R({name:"PzNav",__name:"PzNav",props:{config:{}},setup(s){const t=L(),h=s,d=a=>{const[n=""]=a.split("#");return n?n.startsWith("/")?n:`/${n}`:"/"},E=a=>a.startsWith("#")?a:d(a),q=V(()=>!h.config.some(a=>d(a.path)===t.path)),u=a=>d(a.path)===t.path||q.value&&!!a.isDefault;return(a,n)=>(o(),r("ul",Q,[(o(!0),r(F,null,$(h.config,(e,M)=>(o(),r("li",{key:`${e.path}-${M}`,class:m(["pz-nav__item",[{disabled:e.disabled},{active:u(e)}]])},[e.disabled?(o(),r("span",{key:1,class:m(["pz-nav__text",{active:u(e)}])},[y(a.$slots,"view",{data:e},()=>[x(b(e.text),1)],!0)],2)):(o(),A(B(O),{key:0,to:E(e.path),class:m(["pz-nav__text",{active:u(e)}])},{default:j(()=>[y(a.$slots,"view",{data:e},()=>[x(b(e.text),1)],!0)]),_:2},1032,["to","class"]))],2))),128))]))}}),v=W(l,[["__scopeId","data-v-5d1c69f0"]]);l.__docgenInfo=Object.assign({displayName:l.name??l.__name},{name:"PzNav",exportName:"default",displayName:"PzNav",description:"",tags:{},props:[{name:"config",required:!0,type:{name:"Array",elements:[{name:"PzNavItem"}]}}],slots:[{name:"view",scoped:!0,bindings:[{name:"data",title:"binding"}]}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Navigation/PzNav/PzNav.vue"]});const N=[{path:"/market/procedures",text:"Закупівлі",isDefault:!0},{path:"/market/contracts",text:"Договори"},{path:"/market/plans",text:"Плани"},{path:"/market/selection",text:"Відбори"},{path:"/market/products",text:"Товари"}],U=[{path:"/tender/details",text:"Деталі закупівлі",isDefault:!0},{path:"/tender/questions",text:"Питання та вимоги (0)"},{path:"/tender/complaints",text:"Скарги (0)"},{path:"/tender/monitoring",text:"Моніторинг (0)",disabled:!0}],G=[{path:"/archive/overview",text:"Overview",isDefault:!0},{path:"/archive/history",text:"History",disabled:!0},{path:"/archive/files",text:"Files"}],H=s=>`<template>
|
|
2
2
|
<PzNav :config='${JSON.stringify(s.config,null,2)}' />
|
|
3
|
-
</template>`,
|
|
3
|
+
</template>`,J=()=>`<template>
|
|
4
4
|
<PzNav :config="config">
|
|
5
5
|
<template #view="{ data }">
|
|
6
6
|
<span class="custom-nav-item">
|
|
@@ -9,7 +9,7 @@ import{d as R,e as r,F,p as $,o,f as m,h as j,w as A,j as y,q as x,t as b,s as B
|
|
|
9
9
|
</span>
|
|
10
10
|
</template>
|
|
11
11
|
</PzNav>
|
|
12
|
-
</template>`,K={title:"Components/Navigation/PzNav",component:v,parameters:{prototype:{caption:"Navigation component",note:"Renamed from the previous app-level URL tabs to the shared `PzNav` component. It keeps the original `config` prop, default-tab logic, disabled states, and the `view` slot for custom item rendering."},docs:{description:{component:"Use `PzNav` when a screen needs route-based horizontal navigation. It follows the previous `url-tabs` API with a `config` array and marks the fallback item active when no route matches and `isDefault` is set."},source:{transform:(s,t)=>
|
|
12
|
+
</template>`,K={title:"Components/Navigation/PzNav",component:v,parameters:{prototype:{caption:"Navigation component",note:"Renamed from the previous app-level URL tabs to the shared `PzNav` component. It keeps the original `config` prop, default-tab logic, disabled states, and the `view` slot for custom item rendering."},docs:{description:{component:"Use `PzNav` when a screen needs route-based horizontal navigation. It follows the previous `url-tabs` API with a `config` array and marks the fallback item active when no route matches and `isDefault` is set."},source:{transform:(s,t)=>H(t.args??K.args)}}},args:{config:N},argTypes:{config:{control:"object",description:"Navigation items with route path, label, disabled state, and optional default fallback."}},render:s=>({components:{pzNav:v,pzText:g},setup(){const t=f();return z(async()=>{await t.push("/market/procedures")}),{args:s,marketNavItems:N,tenderNavItems:U}},template:`
|
|
13
13
|
<div class="pz-nav-story">
|
|
14
14
|
<section class="pz-nav-story-frame">
|
|
15
15
|
<div class="pz-nav-story-header">
|
|
@@ -57,7 +57,7 @@ import{d as R,e as r,F,p as $,o,f as m,h as j,w as A,j as y,q as x,t as b,s as B
|
|
|
57
57
|
</article>
|
|
58
58
|
</section>
|
|
59
59
|
</div>
|
|
60
|
-
`})},i={},c={args:{config:
|
|
60
|
+
`})},i={},c={args:{config:G},render:s=>({components:{pzNav:v,pzText:g},setup(){const t=f();return z(async()=>{await t.push("/archive/unknown")}),{args:s}},template:`
|
|
61
61
|
<div class="pz-nav-story">
|
|
62
62
|
<section class="pz-nav-story-frame">
|
|
63
63
|
<div class="pz-nav-story-header">
|
|
@@ -73,7 +73,7 @@ import{d as R,e as r,F,p as $,o,f as m,h as j,w as A,j as y,q as x,t as b,s as B
|
|
|
73
73
|
</div>
|
|
74
74
|
</section>
|
|
75
75
|
</div>
|
|
76
|
-
`})},p={parameters:{docs:{source:{code:
|
|
76
|
+
`})},p={parameters:{docs:{source:{code:J()}}},render:()=>({components:{pzNav:v,pzText:g},setup(){const s=f(),t=[{path:"/nav/questions",text:"Questions",count:12,isDefault:!0},{path:"/nav/complaints",text:"Complaints",count:2},{path:"/nav/monitoring",text:"Monitoring",count:0,disabled:!0}];return z(async()=>{await s.push("/nav/questions")}),{config:t}},template:`
|
|
77
77
|
<div class="pz-nav-story">
|
|
78
78
|
<section class="pz-nav-story-frame">
|
|
79
79
|
<div class="pz-nav-story-header">
|
|
@@ -194,4 +194,4 @@ import{d as R,e as r,F,p as $,o,f as m,h as j,w as A,j as y,q as x,t as b,s as B
|
|
|
194
194
|
</div>
|
|
195
195
|
\`
|
|
196
196
|
})
|
|
197
|
-
}`,...(C=(T=p.parameters)==null?void 0:T.docs)==null?void 0:C.source}}};const
|
|
197
|
+
}`,...(C=(T=p.parameters)==null?void 0:T.docs)==null?void 0:C.source}}};const ta=["Playground","DefaultFallback","CustomItemView"];export{p as CustomItemView,c as DefaultFallback,i as Playground,ta as __namedExportsOrder,K as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var c=Object.defineProperty;var _=(i,t,s)=>t in i?c(i,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[t]=s;var n=(i,t,s)=>_(i,typeof t!="symbol"?t+"":t,s);import{l as h}from"./lodash-CdDiHlzQ.js";const e={FULL_NUMBER:/[^0-9.,\-+]/g,DOT_OR_COMMA:/[.,]+/};class l{constructor(t,s){n(this,"_int","");n(this,"_last","");if(this.value=t,this.precision=s,!h.isNumber(t)&&!t||t==="-")return;const[r,o]=t.toString().replace(e.FULL_NUMBER,"").split(e.DOT_OR_COMMA);this._int=Number(r).toLocaleString("uk-UK")||"0",this._last=o||""}get number(){const t=this.precision!==void 0,s=e.DOT_OR_COMMA.test(this.value),r=t?s&&this.precision!==0:s,o=t?this._last.substring(0,this.precision):this._last;return r?`${this._int}.${o}`:this._int}}export{l as P};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import{P as o}from"./PzNumberFormat-D5xYsZ3A.js";import{P as a}from"./PzText-LkAZaPCW.js";import"./lodash-CdDiHlzQ.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iframe-DbWuH5mz.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const x={title:"Utilities/PzNumberFormat",parameters:{docs:{description:{component:"The `PzNumberFormat` utility is used to format numbers consistently, adding division for thousands and handling decimals."}}}},e={render:()=>({components:{pzText:a},setup(){return{examples:[{value:1234567,description:"Millions without decimals"},{value:1234567891e-3,precision:2,description:"Millions with 2 decimals precision"},{value:"54321.1",description:"String input with 1 decimal"},{value:0,description:"Zero"},{value:"-",description:"Invalid/empty dash"},{value:null,description:"Null value"}].map(n=>({...n,result:new o(n.value,n.precision).number}))}},template:`
|
|
2
|
+
<div>
|
|
3
|
+
<pz-text variant="h4-semibold">PzNumberFormat Usage</pz-text>
|
|
4
|
+
<ul style="margin-top: 16px; padding-left: 20px;">
|
|
5
|
+
<li v-for="(ex, index) in examples" :key="index" style="margin-top: 8px;">
|
|
6
|
+
<pz-text variant="body-regular">
|
|
7
|
+
<strong>{{ ex.description }}:</strong> Input: <code>{{ ex.value }}</code>, Output: <code>{{ ex.result }}</code>
|
|
8
|
+
</pz-text>
|
|
9
|
+
</li>
|
|
10
|
+
</ul>
|
|
11
|
+
</div>
|
|
12
|
+
`})};var t,i,r;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`{
|
|
13
|
+
render: () => ({
|
|
14
|
+
components: {
|
|
15
|
+
pzText: PzText
|
|
16
|
+
},
|
|
17
|
+
setup() {
|
|
18
|
+
return {
|
|
19
|
+
examples: [{
|
|
20
|
+
value: 1234567,
|
|
21
|
+
description: "Millions without decimals"
|
|
22
|
+
}, {
|
|
23
|
+
value: 1234567.891,
|
|
24
|
+
precision: 2,
|
|
25
|
+
description: "Millions with 2 decimals precision"
|
|
26
|
+
}, {
|
|
27
|
+
value: "54321.1",
|
|
28
|
+
description: "String input with 1 decimal"
|
|
29
|
+
}, {
|
|
30
|
+
value: 0,
|
|
31
|
+
description: "Zero"
|
|
32
|
+
}, {
|
|
33
|
+
value: "-",
|
|
34
|
+
description: "Invalid/empty dash"
|
|
35
|
+
}, {
|
|
36
|
+
value: null,
|
|
37
|
+
description: "Null value"
|
|
38
|
+
}].map(item => ({
|
|
39
|
+
...item,
|
|
40
|
+
result: new PzNumberFormat(item.value, item.precision).number
|
|
41
|
+
}))
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
template: \`
|
|
45
|
+
<div>
|
|
46
|
+
<pz-text variant="h4-semibold">PzNumberFormat Usage</pz-text>
|
|
47
|
+
<ul style="margin-top: 16px; padding-left: 20px;">
|
|
48
|
+
<li v-for="(ex, index) in examples" :key="index" style="margin-top: 8px;">
|
|
49
|
+
<pz-text variant="body-regular">
|
|
50
|
+
<strong>{{ ex.description }}:</strong> Input: <code>{{ ex.value }}</code>, Output: <code>{{ ex.result }}</code>
|
|
51
|
+
</pz-text>
|
|
52
|
+
</li>
|
|
53
|
+
</ul>
|
|
54
|
+
</div>
|
|
55
|
+
\`
|
|
56
|
+
})
|
|
57
|
+
}`,...(r=(i=e.parameters)==null?void 0:i.docs)==null?void 0:r.source}}};const v=["Usage"];export{e as Usage,v as __namedExportsOrder,x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as I,e as o,k as s,y as v,u as h,F as q,z as w,g as l,o as i,f as T,t as $}from"./iframe-DbWuH5mz.js";import{_ as V}from"./PzIcon-BNwLASSZ.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"pz-pagination","aria-label":"Pagination"},M={class:"pz-pagination__list"},S=["disabled"],j={key:0,class:"pz-pagination__dots","aria-hidden":"true"},L=["aria-current","onClick"],O=["disabled"],m=1,r=I({name:"PzPagination",__name:"PzPagination",props:{modelValue:{},total:{},perPage:{},radius:{default:2}},emits:["update:modelValue"],setup(p,{emit:k}){const a=p,u=k,_=l(()=>Math.ceil(a.total/a.perPage)),f=l(()=>a.modelValue<=1),P=l(()=>a.modelValue>=_.value),N=l(()=>{const t=_.value;if(t<=0)return[];if(t===1)return[{type:"page",page:m}];const d=a.modelValue,e=a.radius,c=m+1,b=t-1,y=Math.max(c,d-e),z=Math.min(b,d+e),n=[{type:"page",page:m}];y>c&&n.push({type:"dots",side:"left"});for(let g=y;g<=z;g++)n.push({type:"page",page:g});return z<b&&n.push({type:"dots",side:"right"}),n.push({type:"page",page:t}),n}),x=t=>{t!==a.modelValue&&u("update:modelValue",t)},C=()=>{f.value||u("update:modelValue",a.modelValue-1)},F=()=>{P.value||u("update:modelValue",a.modelValue+1)};return(t,d)=>(i(),o("nav",E,[s("ul",M,[s("li",null,[s("button",{type:"button",class:"pz-pagination__btn pz-pagination__btn--nav",disabled:f.value,"aria-label":"Попередня сторінка",onClick:C},[v(h(V),{name:"chevron_left",size:"24"})],8,S)]),(i(!0),o(q,null,w(N.value,e=>(i(),o("li",{key:e.type==="page"?`p-${e.page}`:`d-${e.side}`,class:"pz-pagination__item"},[e.type==="dots"?(i(),o("span",j," … ")):(i(),o("button",{key:1,type:"button",class:T(["pz-pagination__btn",{"pz-pagination__btn--active":e.page===p.modelValue}]),"aria-current":e.page===p.modelValue?"page":void 0,onClick:c=>x(e.page)},$(e.page),11,L))]))),128)),s("li",null,[s("button",{type:"button",class:"pz-pagination__btn pz-pagination__btn--nav",disabled:P.value,"aria-label":"Наступна сторінка",onClick:F},[v(h(V),{name:"chevron_right",size:"24"})],8,O)])])]))}}),R=B(r,[["__scopeId","data-v-9513ae82"]]);r.__docgenInfo=Object.assign({displayName:r.name??r.__name},{name:"PzPagination",exportName:"default",displayName:"PzPagination",description:"",tags:{},props:[{name:"modelValue",required:!0,type:{name:"number"}},{name:"total",required:!0,type:{name:"number"}},{name:"perPage",required:!0,type:{name:"number"}},{name:"radius",required:!1,type:{name:"number"},defaultValue:{func:!1,value:"2"}}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Navigation/PzPagination/PzPagination.vue"]});export{R as P};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.pz-pagination__list[data-v-9513ae82]{display:flex;align-items:center;gap:var(--pz-space-4);list-style:none;margin:0;padding:0}.pz-pagination__item[data-v-9513ae82]{display:flex}.pz-pagination__btn[data-v-9513ae82]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--pz-color-text-primary);cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease;font-size:var(--pz-font-size-14);font-weight:400;line-height:1.5}.pz-pagination__btn[data-v-9513ae82]:hover:not(:disabled){background-color:var(--pz-color-grey-20);border-color:var(--pz-color-tag-blue);color:var(--pz-color-text-link-hover)}.pz-pagination__btn--active[data-v-9513ae82]{border-color:var(--pz-color-tag-blue)}.pz-pagination__btn--nav[data-v-9513ae82]{color:var(--pz-color-text-primary)}.pz-pagination__btn--nav[data-v-9513ae82]:disabled{opacity:.35;cursor:default}.pz-pagination__dots[data-v-9513ae82]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--pz-color-text-secondary);font-size:var(--pz-font-size-14);font-weight:400;line-height:1.5}
|