@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.
Files changed (332) hide show
  1. package/dist/app/assets/{Color-FRDS63T2-DlPAsSuC.js → Color-FRDS63T2-DeJ6boVB.js} +1 -1
  2. package/dist/app/assets/{Colors.stories-7e9Kvci_.js → Colors.stories-GBcoNXc7.js} +3 -3
  3. package/dist/app/assets/{DocsRenderer-LL677BLK-Bjj1XNYP.js → DocsRenderer-LL677BLK-P1omigwk.js} +71 -71
  4. package/dist/app/assets/{Grid.stories-CDiFrqKQ.js → Grid.stories-DoLbqWtw.js} +23 -2
  5. package/dist/app/assets/PzAccordion-B8uG5LU8.js +1 -0
  6. package/dist/app/assets/PzAccordion-DoVx3poA.css +1 -0
  7. package/dist/app/assets/{PzAccordion.stories-DxsYsHwE.js → PzAccordion.stories-CzEbkA1U.js} +2 -2
  8. package/dist/app/assets/{PzAccordionTable-CsabBugL.css → PzAccordionTable-C4g8Fidf.css} +1 -1
  9. package/dist/app/assets/PzAccordionTable.stories-CWSrb6Rz.js +275 -0
  10. package/dist/app/assets/{PzArrayClamp-K4ObvvOV.css → PzArrayClamp-BwD8ES1E.css} +1 -1
  11. package/dist/app/assets/{PzArrayClamp.stories-BYdoVxPw.js → PzArrayClamp.stories-DXt6cxXy.js} +6 -6
  12. package/dist/app/assets/{PzBreadcrumb-Dcs3weae.css → PzBreadcrumb-BrcWtMgd.css} +1 -1
  13. package/dist/app/assets/{PzBreadcrumb.stories-DwATLRI2.js → PzBreadcrumb.stories-BYy2AFV5.js} +6 -6
  14. package/dist/app/assets/{PzBtn-L_RpjK-U.css → PzBtn-DTsLZ9Cu.css} +1 -1
  15. package/dist/app/assets/PzBtn-lJz7FmKO.js +1 -0
  16. package/dist/app/assets/{PzBtn.stories-BRV1I_nf.js → PzBtn.stories-u2aA2xzz.js} +2 -2
  17. package/dist/app/assets/PzCheckbox-AjI7DN-X.css +1 -0
  18. package/dist/app/assets/PzCheckbox-BchdSe0N.css +1 -0
  19. package/dist/app/assets/PzCheckbox-xcF_sDjQ.js +1 -0
  20. package/dist/app/assets/PzCheckbox.stories-DeiqBONq.js +62 -0
  21. package/dist/app/assets/PzCheckboxGroup-BbrrL6mA.css +1 -0
  22. package/dist/app/assets/PzCheckboxGroup.stories-Dc1lNYrg.js +115 -0
  23. package/dist/app/assets/PzClamp-0zNrPrFL.css +1 -0
  24. package/dist/app/assets/PzClamp.stories-ChyM4wQP.js +1 -0
  25. package/dist/app/assets/PzCopyToClipboard-DYvP-lFq.css +1 -0
  26. package/dist/app/assets/PzCopyToClipboard.stories-BvTs8-Qo.js +45 -0
  27. package/dist/app/assets/PzDate-DzxkQx_5.css +1 -0
  28. package/dist/app/assets/PzDate.stories-CbNYXli-.js +116 -0
  29. package/dist/app/assets/PzDomHandler-BU7iMNnt.js +1 -0
  30. package/dist/app/assets/{PzDomHandler.stories-C0SwIaVU.js → PzDomHandler.stories-CNFqxouB.js} +5 -5
  31. package/dist/app/assets/{PzDropdown-BnwR1ooa.css → PzDropdown-Bi4TxZrx.css} +1 -1
  32. package/dist/app/assets/{PzDropdown.stories-gi6eGhLV.js → PzDropdown.stories-BIwEAqmm.js} +3 -3
  33. package/dist/app/assets/PzFileInput-BLs8VTxo.css +1 -0
  34. package/dist/app/assets/PzFileInput.stories-B4xxW_sF.js +124 -0
  35. package/dist/app/assets/{PzGrid.stories-v8QLnTB3.js → PzGrid.stories-DIiTYcYP.js} +3 -3
  36. package/dist/app/assets/PzHint-CGRWH9yl.css +1 -0
  37. package/dist/app/assets/PzHint-Djl4-X3l.js +1 -0
  38. package/dist/app/assets/{PzHint.stories-YkWa41IH.js → PzHint.stories-DqZpSfmZ.js} +2 -2
  39. package/dist/app/assets/{PzIcon-Drlqf9PC.js → PzIcon-BNwLASSZ.js} +1 -1
  40. package/dist/app/assets/{PzIcon.stories-DAJBWawA.js → PzIcon.stories-CPbH32o0.js} +2 -2
  41. package/dist/app/assets/{PzImage-BNrbMHP9.css → PzImage-ByW3gCC2.css} +1 -1
  42. package/dist/app/assets/{PzImage.stories-CuPnUuRv.js → PzImage.stories-DaDmEHw0.js} +2 -2
  43. package/dist/app/assets/PzImageInput-BPKv0nfg.css +1 -0
  44. package/dist/app/assets/PzImageInput.stories-CqBH8e63.js +109 -0
  45. package/dist/app/assets/{PzInfoBlockLayout-5bxpq9bJ.css → PzInfoBlockLayout-DbFWjWZn.css} +1 -1
  46. package/dist/app/assets/{PzInfoBlockLayout.stories-Bv_9N16u.js → PzInfoBlockLayout.stories-9CCtPFO-.js} +3 -3
  47. package/dist/app/assets/PzInfoHint-CWG8xkDj.css +1 -0
  48. package/dist/app/assets/PzInfoHint-CbH3ypH1.js +1 -0
  49. package/dist/app/assets/{PzInfoHint.stories-8e7rIcBj.js → PzInfoHint.stories-jwokRQkS.js} +3 -3
  50. package/dist/app/assets/PzInput-DWypQ6XY.css +1 -0
  51. package/dist/app/assets/PzInput.stories-BINq-o4I.js +57 -0
  52. package/dist/app/assets/PzInputDate-C9KHzAYp.css +1 -0
  53. package/dist/app/assets/PzInputDate.stories-CCdrBEY7.js +55 -0
  54. package/dist/app/assets/PzInputNumber-CDixvL0g.css +1 -0
  55. package/dist/app/assets/PzInputNumber.stories-I4-WO1id.js +54 -0
  56. package/dist/app/assets/PzKeyValue-RiKE-e9c.css +1 -0
  57. package/dist/app/assets/PzKeyValue.stories-DtyWU98t.js +270 -0
  58. package/dist/app/assets/PzLabel-BQF7sPao.css +1 -0
  59. package/dist/app/assets/PzLabel-CNUgfkly.css +1 -0
  60. package/dist/app/assets/PzLabel-Coa549nk.js +1 -0
  61. package/dist/app/assets/PzLabel.stories-DMxqqqgC.js +119 -0
  62. package/dist/app/assets/PzLink-BlhtooDh.js +1 -0
  63. package/dist/app/assets/{PzLink-CLsit3uW.css → PzLink-BzhNa3ur.css} +1 -1
  64. package/dist/app/assets/{PzLink.stories-RRRT37UH.js → PzLink.stories-Cc_7lCaq.js} +2 -2
  65. package/dist/app/assets/PzListNav-DRMKw6wp.css +1 -0
  66. package/dist/app/assets/PzListNav.stories-BTZ7YDz-.js +37 -0
  67. package/dist/app/assets/PzLoader-J7_Govh3.css +1 -0
  68. package/dist/app/assets/PzLoader.stories-4iPgw47o.js +9 -0
  69. package/dist/app/assets/{PzModal-X71wpoOT.css → PzModal-Ck4FnyKm.css} +1 -1
  70. package/dist/app/assets/{PzModal.stories-j0FW0OcM.js → PzModal.stories-COv27-JY.js} +4 -4
  71. package/dist/app/assets/PzMultiSelect-DeX8aBEQ.css +1 -0
  72. package/dist/app/assets/PzMultiSelect.stories-DqKbYF9e.js +453 -0
  73. package/dist/app/assets/{PzNav-DRAXqlz0.css → PzNav-BCqeyJHD.css} +1 -1
  74. package/dist/app/assets/{PzNav.stories-BPTRR62X.js → PzNav.stories-8SxncW0m.js} +6 -6
  75. package/dist/app/assets/PzNumberFormat-D5xYsZ3A.js +1 -0
  76. package/dist/app/assets/PzNumberFormat.stories-CDG6_Sk8.js +57 -0
  77. package/dist/app/assets/PzPagination-D9MVz0_M.js +1 -0
  78. package/dist/app/assets/PzPagination-k9D0Hxrx.css +1 -0
  79. package/dist/app/assets/{PzPagination-DJVeW9lu.css → PzPagination-ohvV8gN-.css} +1 -1
  80. package/dist/app/assets/PzPagination.stories-DNvwL2lG.js +83 -0
  81. package/dist/app/assets/PzPriceFormat.stories-C-p8Sb5s.js +89 -0
  82. package/dist/app/assets/PzRadioGroup-CZC3ssDh.css +1 -0
  83. package/dist/app/assets/PzRadioGroup.stories-DC2poHLC.js +130 -0
  84. package/dist/app/assets/{PzRouterLink.stories-BcMmoayC.js → PzRouterLink.stories-DzGN2JP5.js} +3 -3
  85. package/dist/app/assets/{PzScrollTo.stories-Gvacxovn.js → PzScrollTo.stories-Bx37NsA6.js} +4 -4
  86. package/dist/app/assets/{PzSearchResultItemLayout-DtvZAeWW.css → PzSearchResultItemLayout-B3s9Usmb.css} +1 -1
  87. package/dist/app/assets/{PzSearchResultItemLayout.stories-B0EKt_OP.js → PzSearchResultItemLayout.stories-vkVys3LL.js} +3 -3
  88. package/dist/app/assets/PzSelect-BwhRsTZd.css +1 -0
  89. package/dist/app/assets/PzSelect-CrTXtlds.js +1 -0
  90. package/dist/app/assets/PzSelect-Del6HRlD.css +1 -0
  91. package/dist/app/assets/PzSelect.stories-5MWUfKeM.js +292 -0
  92. package/dist/app/assets/PzSkeleton-Fcc0OCQj.js +1 -0
  93. package/dist/app/assets/{PzSkeleton-CYVQJkRt.css → PzSkeleton-i88RYFSk.css} +1 -1
  94. package/dist/app/assets/{PzSkeleton.stories-a9NDBt3Z.js → PzSkeleton.stories-q1l5sP1S.js} +2 -2
  95. package/dist/app/assets/PzStatus-B5X_PK3m.css +1 -0
  96. package/dist/app/assets/PzStatus-cmEVvisl.js +1 -0
  97. package/dist/app/assets/{PzStatus.stories-Dzj8SM95.js → PzStatus.stories-CkZ6lYqY.js} +2 -2
  98. package/dist/app/assets/PzTable-DFFqGC19.css +1 -0
  99. package/dist/app/assets/PzTable-wM00v3b7.js +1 -0
  100. package/dist/app/assets/{PzTable.stories-DcKqkFYa.js → PzTable.stories-CGODSdZ2.js} +5 -5
  101. package/dist/app/assets/{PzTabs-Cko9ewqz.css → PzTabs-Dqx9m4Y3.css} +1 -1
  102. package/dist/app/assets/{PzTabs.stories-BqU667nR.js → PzTabs.stories-C5h0sXNa.js} +11 -11
  103. package/dist/app/assets/PzTag-9D_K2A9q.js +1 -0
  104. package/dist/app/assets/PzTag-CKddmHDs.css +1 -0
  105. package/dist/app/assets/{PzTag.stories-bK1-c1pG.js → PzTag.stories-E9YuXCey.js} +2 -2
  106. package/dist/app/assets/PzText-LkAZaPCW.js +1 -0
  107. package/dist/app/assets/PzText-mQOOz4_d.css +1 -0
  108. package/dist/app/assets/{PzText.stories-9Hrvi7P7.js → PzText.stories-DICYEnSM.js} +8 -8
  109. package/dist/app/assets/{PzTextClamp-BnSHv0R0.css → PzTextClamp-Cdoumv-M.css} +1 -1
  110. package/dist/app/assets/PzTextClamp.stories-BveyeWba.js +149 -0
  111. package/dist/app/assets/PzTextarea-27aRIiRI.css +1 -0
  112. package/dist/app/assets/PzTextarea.stories-BtHMdHUF.js +73 -0
  113. package/dist/app/assets/{PzValidatorXSS.stories-HZEissEy.js → PzValidatorXSS.stories-B7ussB1u.js} +3 -3
  114. package/dist/app/assets/{Spacing-B5TnfKCB.css → Spacing-DDiZ9XB6.css} +1 -1
  115. package/dist/app/assets/{Spacing.stories-Cu5R7R8t.js → Spacing.stories-IeHBLcii.js} +29 -2
  116. package/dist/app/assets/Typography.stories-DigE2FGD.js +47 -0
  117. package/dist/app/assets/{WithTooltip-65CFNBJE-BcToq9Uh.js → WithTooltip-65CFNBJE-CARy1qAy.js} +2 -2
  118. package/dist/app/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  119. package/dist/app/assets/configs-CZIaFchr.js +1 -0
  120. package/dist/app/assets/floating-vue-B4YMiR3n.js +1 -0
  121. package/dist/app/assets/floating-vue-BXOYXd0R.js +1 -0
  122. package/dist/app/assets/{formatter-EIJCOSYU-X1jNy3Wo.js → formatter-EIJCOSYU-AVmvplX0.js} +1 -1
  123. package/dist/app/assets/iframe-4qk0Ss25.css +1 -0
  124. package/dist/app/assets/{iframe-B7Bddli1.js → iframe-DbWuH5mz.js} +181 -181
  125. package/dist/app/assets/index-LkANHSb5.js +1 -0
  126. package/dist/app/assets/isArray-DPUC7i9_.js +1 -0
  127. package/dist/app/assets/lodash-CdDiHlzQ.js +27 -0
  128. package/dist/app/assets/{syntaxhighlighter-OH4MV7E3-DpHT8arc.js → syntaxhighlighter-OH4MV7E3-DKud-BAu.js} +3 -3
  129. package/dist/app/assets/text-clamp.esm-BLa2P3lJ.js +1 -0
  130. package/dist/app/iframe.html +81 -76
  131. package/dist/app/index.json +1 -1
  132. package/dist/app/project.json +1 -1
  133. package/dist/app/sb-manager/globals-runtime.js +1 -1
  134. package/dist/components/Actions/PzCopyToClipboard/PzCopyToClipboard.vue.d.ts +33 -0
  135. package/dist/components/Actions/PzCopyToClipboard/index.d.ts +2 -0
  136. package/dist/components/Actions/PzCopyToClipboard/types.d.ts +17 -0
  137. package/dist/components/Actions/PzLink/configs.d.ts +2 -0
  138. package/dist/components/{PzTable → Data/PzTable}/types.d.ts +1 -1
  139. package/dist/components/Display/PzClamp/PzClamp.vue.d.ts +8 -0
  140. package/dist/components/Display/PzClamp/index.d.ts +2 -0
  141. package/dist/components/Display/PzClamp/types.d.ts +7 -0
  142. package/dist/components/Display/PzDate/PzDate.vue.d.ts +5 -0
  143. package/dist/components/Display/PzDate/index.d.ts +2 -0
  144. package/dist/components/Display/PzDate/types.d.ts +5 -0
  145. package/dist/components/{PzIcon → Display/PzIcon}/types.d.ts +1 -1
  146. package/dist/components/Display/PzKeyValue/PzKeyValue.vue.d.ts +28 -0
  147. package/dist/components/Display/PzKeyValue/index.d.ts +2 -0
  148. package/dist/components/Display/PzKeyValue/types.d.ts +45 -0
  149. package/dist/components/Display/PzLoader/PzLoader.vue.d.ts +7 -0
  150. package/dist/components/Display/PzLoader/index.d.ts +2 -0
  151. package/dist/components/Display/PzLoader/types.d.ts +6 -0
  152. package/dist/components/Display/PzStatus/configs.d.ts +2 -0
  153. package/dist/components/Display/PzTag/configs.d.ts +2 -0
  154. package/dist/components/Form/PzCheckbox/PzCheckbox.vue.d.ts +28 -0
  155. package/dist/components/Form/PzCheckbox/index.d.ts +2 -0
  156. package/dist/components/Form/PzCheckbox/types.d.ts +12 -0
  157. package/dist/components/Form/PzCheckboxGroup/PzCheckboxGroup.vue.d.ts +35 -0
  158. package/dist/components/Form/PzCheckboxGroup/index.d.ts +2 -0
  159. package/dist/components/Form/PzCheckboxGroup/types.d.ts +16 -0
  160. package/dist/components/Form/PzFileInput/PzFileInput.vue.d.ts +26 -0
  161. package/dist/components/Form/PzFileInput/index.d.ts +2 -0
  162. package/dist/components/Form/PzFileInput/types.d.ts +26 -0
  163. package/dist/components/Form/PzImageInput/PzImageInput.vue.d.ts +27 -0
  164. package/dist/components/Form/PzImageInput/index.d.ts +2 -0
  165. package/dist/components/Form/PzImageInput/types.d.ts +26 -0
  166. package/dist/components/Form/PzInput/PzInput.vue.d.ts +30 -0
  167. package/dist/components/Form/PzInput/index.d.ts +2 -0
  168. package/dist/components/Form/PzInput/types.d.ts +17 -0
  169. package/dist/components/Form/PzInputDate/PzInputDate.vue.d.ts +30 -0
  170. package/dist/components/Form/PzInputDate/index.d.ts +2 -0
  171. package/dist/components/Form/PzInputDate/types.d.ts +13 -0
  172. package/dist/components/Form/PzInputNumber/PzInputNumber.vue.d.ts +26 -0
  173. package/dist/components/Form/PzInputNumber/index.d.ts +2 -0
  174. package/dist/components/Form/PzInputNumber/types.d.ts +14 -0
  175. package/dist/components/Form/PzLabel/PzLabel.vue.d.ts +24 -0
  176. package/dist/components/Form/PzLabel/index.d.ts +2 -0
  177. package/dist/components/Form/PzLabel/types.d.ts +6 -0
  178. package/dist/components/Form/PzMultiSelect/PzMultiSelect.vue.d.ts +44 -0
  179. package/dist/components/Form/PzMultiSelect/constants.d.ts +1 -0
  180. package/dist/components/Form/PzMultiSelect/index.d.ts +2 -0
  181. package/dist/components/Form/PzMultiSelect/types.d.ts +22 -0
  182. package/dist/components/Form/PzRadioGroup/PzRadioGroup.vue.d.ts +43 -0
  183. package/dist/components/Form/PzRadioGroup/index.d.ts +2 -0
  184. package/dist/components/Form/PzRadioGroup/types.d.ts +19 -0
  185. package/dist/components/Form/PzSelect/PzSelect.vue.d.ts +42 -0
  186. package/dist/components/Form/PzSelect/configs.d.ts +1 -0
  187. package/dist/components/Form/PzSelect/constants.d.ts +1 -0
  188. package/dist/components/Form/PzSelect/index.d.ts +2 -0
  189. package/dist/components/Form/PzSelect/types.d.ts +22 -0
  190. package/dist/components/Form/PzTextarea/PzTextarea.vue.d.ts +27 -0
  191. package/dist/components/Form/PzTextarea/index.d.ts +2 -0
  192. package/dist/components/Form/PzTextarea/types.d.ts +22 -0
  193. package/dist/components/Form/shared/configs.d.ts +28 -0
  194. package/dist/components/Form/shared/types.d.ts +37 -0
  195. package/dist/components/{PzGrid → Layouts/PzGrid}/configs.d.ts +1 -1
  196. package/dist/components/Navigation/PzListNav/PzListNav.vue.d.ts +15 -0
  197. package/dist/components/Navigation/PzListNav/index.d.ts +4 -0
  198. package/dist/components/Navigation/PzListNav/types.d.ts +9 -0
  199. package/dist/components/Navigation/shared/configs.d.ts +2 -0
  200. package/dist/components/Navigation/shared/constants.d.ts +8 -0
  201. package/dist/index.d.ts +45 -25
  202. package/dist/package.json +2 -1
  203. package/dist/prozorro-ui.cjs +16 -16
  204. package/dist/prozorro-ui.js +9492 -7741
  205. package/dist/style.css +1 -1
  206. package/dist/utils/PzNumberFormat/PzNumberFormat.d.ts +13 -0
  207. package/dist/utils/PzNumberFormat/index.d.ts +2 -0
  208. package/dist/utils/PzNumberFormat/types.d.ts +1 -0
  209. package/dist/utils/PzPriceFormat/PzPriceFormat.d.ts +8 -0
  210. package/dist/utils/PzPriceFormat/index.d.ts +2 -0
  211. package/dist/utils/PzPriceFormat/types.d.ts +1 -0
  212. package/package.json +2 -1
  213. package/src/styles/_spacing.scss +30 -4
  214. package/dist/app/assets/PzAccordion-DTiV4JOM.js +0 -1
  215. package/dist/app/assets/PzAccordion-hujlMYpG.css +0 -1
  216. package/dist/app/assets/PzAccordionTable.stories-DNbpjx54.js +0 -275
  217. package/dist/app/assets/PzBtn-B24JwTDl.js +0 -1
  218. package/dist/app/assets/PzHint-D62JWyEp.js +0 -1
  219. package/dist/app/assets/PzHint-kEBemRXE.css +0 -1
  220. package/dist/app/assets/PzInfoHint-DUCe-kk0.js +0 -1
  221. package/dist/app/assets/PzInfoHint-SKNZ9Qnk.css +0 -1
  222. package/dist/app/assets/PzLink-BU7dMeUw.js +0 -1
  223. package/dist/app/assets/PzPagination.stories-CFaLbyxd.js +0 -83
  224. package/dist/app/assets/PzSkeleton-DnpztBv3.js +0 -1
  225. package/dist/app/assets/PzStatus-KfVGXJ4A.css +0 -1
  226. package/dist/app/assets/PzStatus-dVlplKB_.js +0 -1
  227. package/dist/app/assets/PzTable-B73TyHoC.css +0 -1
  228. package/dist/app/assets/PzTable-BipugQuF.js +0 -27
  229. package/dist/app/assets/PzTag-Jn6TGUtg.css +0 -1
  230. package/dist/app/assets/PzTag-jiAX5zAj.js +0 -1
  231. package/dist/app/assets/PzText-DsC8c6AJ.css +0 -1
  232. package/dist/app/assets/PzText-Qtpayc5y.js +0 -1
  233. package/dist/app/assets/PzTextClamp.stories--mMfXCQg.js +0 -149
  234. package/dist/app/assets/Typography.stories-j9AXuH47.js +0 -47
  235. package/dist/app/assets/floating-vue-BD2YJLen.js +0 -1
  236. package/dist/app/assets/iframe-B97zFSkg.css +0 -1
  237. package/dist/components/PzLink/configs.d.ts +0 -2
  238. package/dist/components/PzStatus/configs.d.ts +0 -2
  239. package/dist/components/PzTag/configs.d.ts +0 -2
  240. package/dist/components/{PzBtn → Actions/PzBtn}/PzBtn.vue.d.ts +1 -1
  241. package/dist/components/{PzBtn → Actions/PzBtn}/configs.d.ts +0 -0
  242. package/dist/components/{PzBtn → Actions/PzBtn}/index.d.ts +0 -0
  243. package/dist/components/{PzBtn → Actions/PzBtn}/types.d.ts +0 -0
  244. package/dist/components/{PzLink → Actions/PzLink}/PzLink.vue.d.ts +1 -1
  245. package/dist/components/{PzLink → Actions/PzLink}/constants.d.ts +0 -0
  246. package/dist/components/{PzLink → Actions/PzLink}/index.d.ts +0 -0
  247. package/dist/components/{PzLink → Actions/PzLink}/types.d.ts +0 -0
  248. package/dist/components/{PzRouterLink → Actions/PzRouterLink}/PzRouterLink.vue.d.ts +2 -2
  249. package/dist/components/{PzRouterLink → Actions/PzRouterLink}/index.d.ts +0 -0
  250. package/dist/components/{PzRouterLink → Actions/PzRouterLink}/types.d.ts +0 -0
  251. package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/PzAccordionTable.vue.d.ts +0 -0
  252. package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/constants.d.ts +0 -0
  253. package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/index.d.ts +0 -0
  254. package/dist/components/{PzAccordionTable → Data/PzAccordionTable}/types.d.ts +0 -0
  255. package/dist/components/{PzTable → Data/PzTable}/PzTable.vue.d.ts +0 -0
  256. package/dist/components/{PzTable → Data/PzTable}/PzTableData.vue.d.ts +0 -0
  257. package/dist/components/{PzTable → Data/PzTable}/PzTableHead.vue.d.ts +0 -0
  258. package/dist/components/{PzTable → Data/PzTable}/constants.d.ts +0 -0
  259. package/dist/components/{PzTable → Data/PzTable}/index.d.ts +0 -0
  260. package/dist/components/{PzIcon → Display/PzIcon}/PzIcon.vue.d.ts +1 -1
  261. package/dist/components/{PzIcon → Display/PzIcon}/configs.d.ts +0 -0
  262. package/dist/components/{PzIcon → Display/PzIcon}/index.d.ts +0 -0
  263. package/dist/components/{PzImage → Display/PzImage}/PzImage.vue.d.ts +0 -0
  264. package/dist/components/{PzImage → Display/PzImage}/configs.d.ts +0 -0
  265. package/dist/components/{PzImage → Display/PzImage}/index.d.ts +0 -0
  266. package/dist/components/{PzImage → Display/PzImage}/types.d.ts +0 -0
  267. package/dist/components/{PzSkeleton → Display/PzSkeleton}/PzSkeleton.vue.d.ts +0 -0
  268. package/dist/components/{PzSkeleton → Display/PzSkeleton}/index.d.ts +0 -0
  269. package/dist/components/{PzSkeleton → Display/PzSkeleton}/types.d.ts +0 -0
  270. package/dist/components/{PzStatus → Display/PzStatus}/PzStatus.vue.d.ts +0 -0
  271. package/dist/components/{PzStatus → Display/PzStatus}/constants.d.ts +0 -0
  272. package/dist/components/{PzStatus → Display/PzStatus}/index.d.ts +0 -0
  273. package/dist/components/{PzStatus → Display/PzStatus}/types.d.ts +0 -0
  274. package/dist/components/{PzTag → Display/PzTag}/PzTag.vue.d.ts +0 -0
  275. package/dist/components/{PzTag → Display/PzTag}/index.d.ts +0 -0
  276. package/dist/components/{PzTag → Display/PzTag}/types.d.ts +0 -0
  277. package/dist/components/{PzAccordion → Layouts/PzAccordion}/PzAccordion.vue.d.ts +1 -1
  278. package/dist/components/{PzAccordion → Layouts/PzAccordion}/PzAccordionContent.vue.d.ts +0 -0
  279. package/dist/components/{PzAccordion → Layouts/PzAccordion}/configs.d.ts +0 -0
  280. package/dist/components/{PzAccordion → Layouts/PzAccordion}/index.d.ts +0 -0
  281. package/dist/components/{PzAccordion → Layouts/PzAccordion}/types.d.ts +0 -0
  282. package/dist/components/{PzGrid → Layouts/PzGrid}/PzGrid.vue.d.ts +2 -2
  283. package/dist/components/{PzGrid → Layouts/PzGrid}/PzGridItem.vue.d.ts +0 -0
  284. package/dist/components/{PzGrid → Layouts/PzGrid}/index.d.ts +0 -0
  285. package/dist/components/{PzGrid → Layouts/PzGrid}/types.d.ts +0 -0
  286. package/dist/components/{PzInfoBlockLayout → Layouts/PzInfoBlockLayout}/PzInfoBlockLayout.vue.d.ts +0 -0
  287. package/dist/components/{PzInfoBlockLayout → Layouts/PzInfoBlockLayout}/index.d.ts +0 -0
  288. package/dist/components/{PzInfoBlockLayout → Layouts/PzInfoBlockLayout}/types.d.ts +0 -0
  289. package/dist/components/{PzSearchResultItemLayout → Layouts/PzSearchResultItemLayout}/PzSearchResultItemLayout.vue.d.ts +0 -0
  290. package/dist/components/{PzSearchResultItemLayout → Layouts/PzSearchResultItemLayout}/index.d.ts +0 -0
  291. package/dist/components/{PzSearchResultItemLayout → Layouts/PzSearchResultItemLayout}/types.d.ts +0 -0
  292. package/dist/components/{PzTabs → Layouts/PzTabs}/PzTab.vue.d.ts +0 -0
  293. package/dist/components/{PzTabs → Layouts/PzTabs}/PzTabs.vue.d.ts +0 -0
  294. package/dist/components/{PzTabs → Layouts/PzTabs}/configs.d.ts +0 -0
  295. package/dist/components/{PzTabs → Layouts/PzTabs}/constants.d.ts +0 -0
  296. package/dist/components/{PzTabs → Layouts/PzTabs}/index.d.ts +0 -0
  297. package/dist/components/{PzTabs → Layouts/PzTabs}/types.d.ts +0 -0
  298. package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/PzBreadcrumb.vue.d.ts +0 -0
  299. package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/constants.d.ts +0 -0
  300. package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/index.d.ts +0 -0
  301. package/dist/components/{PzBreadcrumb → Navigation/PzBreadcrumb}/types.d.ts +0 -0
  302. package/dist/components/{PzNav → Navigation/PzNav}/PzNav.vue.d.ts +0 -0
  303. package/dist/components/{PzNav → Navigation/PzNav}/index.d.ts +0 -0
  304. package/dist/components/{PzNav → Navigation/PzNav}/types.d.ts +0 -0
  305. package/dist/components/{PzPagination → Navigation/PzPagination}/PzPagination.vue.d.ts +0 -0
  306. package/dist/components/{PzPagination → Navigation/PzPagination}/index.d.ts +0 -0
  307. package/dist/components/{PzPagination → Navigation/PzPagination}/types.d.ts +0 -0
  308. package/dist/components/{PzDropdown → Popups/PzDropdown}/PzDropdown.vue.d.ts +0 -0
  309. package/dist/components/{PzDropdown → Popups/PzDropdown}/index.d.ts +0 -0
  310. package/dist/components/{PzDropdown → Popups/PzDropdown}/types.d.ts +0 -0
  311. package/dist/components/{PzHint → Popups/PzHint}/PzHint.vue.d.ts +1 -1
  312. package/dist/components/{PzHint → Popups/PzHint}/index.d.ts +0 -0
  313. package/dist/components/{PzHint → Popups/PzHint}/types.d.ts +0 -0
  314. package/dist/components/{PzInfoHint → Popups/PzInfoHint}/PzInfoHint.vue.d.ts +1 -1
  315. package/dist/components/{PzInfoHint → Popups/PzInfoHint}/index.d.ts +0 -0
  316. package/dist/components/{PzInfoHint → Popups/PzInfoHint}/types.d.ts +0 -0
  317. package/dist/components/{PzModal → Popups/PzModal}/PzModal.vue.d.ts +0 -0
  318. package/dist/components/{PzModal → Popups/PzModal}/configs.d.ts +0 -0
  319. package/dist/components/{PzModal → Popups/PzModal}/constants.d.ts +0 -0
  320. package/dist/components/{PzModal → Popups/PzModal}/index.d.ts +0 -0
  321. package/dist/components/{PzModal → Popups/PzModal}/types.d.ts +0 -0
  322. package/dist/components/{PzArrayClamp → Text/PzArrayClamp}/PzArrayClamp.vue.d.ts +1 -1
  323. package/dist/components/{PzArrayClamp → Text/PzArrayClamp}/index.d.ts +0 -0
  324. package/dist/components/{PzArrayClamp → Text/PzArrayClamp}/types.d.ts +0 -0
  325. package/dist/components/{PzText → Text/PzText}/PzText.vue.d.ts +0 -0
  326. package/dist/components/{PzText → Text/PzText}/configs.d.ts +0 -0
  327. package/dist/components/{PzText → Text/PzText}/index.d.ts +0 -0
  328. package/dist/components/{PzText → Text/PzText}/types.d.ts +0 -0
  329. package/dist/components/{PzTextClamp → Text/PzTextClamp}/PzTextClamp.vue.d.ts +3 -3
  330. /package/dist/components/{PzTextClamp → Text/PzTextClamp}/constants.d.ts +0 -0
  331. /package/dist/components/{PzTextClamp → Text/PzTextClamp}/index.d.ts +0 -0
  332. /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-23082985]{--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-23082985]{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-23082985]:hover{color:var(--pz-color-text-link-hover)}.pz-nav__item.active[data-v-23082985]{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-23082985]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.pz-nav__text[data-v-23082985]{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-23082985]{color:var(--pz-nav-active-color)}
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,p as $,o,f as m,h as j,w as A,j as y,q as x,t as b,s as B,R as O,y as L,g as V,J as z,K as f}from"./iframe-B7Bddli1.js";import{_ as W,P as g}from"./PzText-Qtpayc5y.js";import"./preload-helper-C1FmrZbK.js";const J={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}`:"/"},q=a=>a.startsWith("#")?a:d(a),E=V(()=>!h.config.some(a=>d(a.path)===t.path)),u=a=>d(a.path)===t.path||E.value&&!!a.isDefault;return(a,n)=>(o(),r("ul",J,[(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(),j(B(O),{key:0,to:q(e.path),class:m(["pz-nav__text",{active:u(e)}])},{default:A(()=>[y(a.$slots,"view",{data:e},()=>[x(b(e.text),1)],!0)]),_:2},1032,["to","class"]))],2))),128))]))}}),v=W(l,[["__scopeId","data-v-23082985"]]);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/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:"Товари"}],Q=[{path:"/tender/details",text:"Деталі закупівлі",isDefault:!0},{path:"/tender/questions",text:"Питання та вимоги (0)"},{path:"/tender/complaints",text:"Скарги (0)"},{path:"/tender/monitoring",text:"Моніторинг (0)",disabled:!0}],U=[{path:"/archive/overview",text:"Overview",isDefault:!0},{path:"/archive/history",text:"History",disabled:!0},{path:"/archive/files",text:"Files"}],G=s=>`<template>
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>`,H=()=>`<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)=>G(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:Q}},template:`
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:U},render:s=>({components:{pzNav:v,pzText:g},setup(){const t=f();return z(async()=>{await t.push("/archive/unknown")}),{args:s}},template:`
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:H()}}},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:`
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 aa=["Playground","DefaultFallback","CustomItemView"];export{p as CustomItemView,c as DefaultFallback,i as Playground,aa as __namedExportsOrder,K as default};
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}