@prozorro/prozorro-ui 0.0.6-beta → 0.0.8-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 (163) hide show
  1. package/dist/app/assets/{Color-FRDS63T2-Bw_aC6xw.js → Color-FRDS63T2-C5bQ2Iuy.js} +1 -1
  2. package/dist/app/assets/{Colors.stories-B0HD3yzi.js → Colors.stories-B6EPF0nC.js} +1 -1
  3. package/dist/app/assets/{DocsRenderer-LL677BLK-HfkRY1rq.js → DocsRenderer-LL677BLK-6m2x0Slf.js} +200 -200
  4. package/dist/app/assets/{Grid.stories-BxFJTZq8.js → Grid.stories-DCpTvq1h.js} +1 -1
  5. package/dist/app/assets/PzArrayClamp-K4ObvvOV.css +1 -0
  6. package/dist/app/assets/PzArrayClamp.stories-DYjTyM_w.js +148 -0
  7. package/dist/app/assets/PzBreadcrumb-Dcs3weae.css +1 -0
  8. package/dist/app/assets/PzBreadcrumb.stories-b4V3GARM.js +120 -0
  9. package/dist/app/assets/PzBtn-Brjbpw1b.js +1 -0
  10. package/dist/app/assets/PzBtn-CzokGN-c.css +1 -0
  11. package/dist/app/assets/PzBtn-L_RpjK-U.css +1 -0
  12. package/dist/app/assets/PzBtn.stories-Bu5qPhtp.js +84 -0
  13. package/dist/app/assets/PzDomHandler-CRMzxUFs.css +1 -0
  14. package/dist/app/assets/PzDomHandler.stories-DqW3Mfem.js +170 -0
  15. package/dist/app/assets/PzDropdown-BnwR1ooa.css +1 -0
  16. package/dist/app/assets/PzDropdown.stories-CPjzWBvH.js +59 -0
  17. package/dist/app/assets/{PzGrid.stories-BDlU9tgI.js → PzGrid.stories-C1Y3nz5O.js} +2 -2
  18. package/dist/app/assets/PzHint-BSVVXtVq.css +1 -0
  19. package/dist/app/assets/PzHint-BwKGDkUu.js +1 -0
  20. package/dist/app/assets/PzHint-kEBemRXE.css +1 -0
  21. package/dist/app/assets/PzHint.stories-B6l3Ocr8.js +75 -0
  22. package/dist/app/assets/PzIcon-CyZkl7-f.css +1 -0
  23. package/dist/app/assets/PzIcon-Don8TXO3.js +1 -0
  24. package/dist/app/assets/PzIcon.stories-DE4e2be_.js +63 -0
  25. package/dist/app/assets/PzImage-BNrbMHP9.css +1 -0
  26. package/dist/app/assets/PzImage.stories-DoGwhzIO.js +57 -0
  27. package/dist/app/assets/PzInfoHint-CtK7BZOs.css +1 -0
  28. package/dist/app/assets/PzInfoHint.stories-CWDV-k9d.js +38 -0
  29. package/dist/app/assets/PzLink-BkfNrG4H.js +1 -0
  30. package/dist/app/assets/PzLink-CLsit3uW.css +1 -0
  31. package/dist/app/assets/PzLink-pGUmpCAv.css +1 -0
  32. package/dist/app/assets/PzLink.stories-D1DLILnY.js +99 -0
  33. package/dist/app/assets/PzModal-X71wpoOT.css +1 -0
  34. package/dist/app/assets/PzModal.stories-GJIUTcxR.js +168 -0
  35. package/dist/app/assets/PzNav-DRAXqlz0.css +1 -0
  36. package/dist/app/assets/PzNav.stories-vqArvp6y.js +197 -0
  37. package/dist/app/assets/PzPagination-DJVeW9lu.css +1 -0
  38. package/dist/app/assets/PzPagination.stories-D-kZtPzf.js +83 -0
  39. package/dist/app/assets/PzRouterLink.stories-CRcNmODE.js +54 -0
  40. package/dist/app/assets/PzScrollTo-GAEPiQFO.css +1 -0
  41. package/dist/app/assets/PzScrollTo.stories-C0m8oG4O.js +81 -0
  42. package/dist/app/assets/PzStatus-DlvKjmG7.css +1 -0
  43. package/dist/app/assets/PzStatus.stories-u5QAVco_.js +95 -0
  44. package/dist/app/assets/PzTabs-Cko9ewqz.css +1 -0
  45. package/dist/app/assets/PzTabs.stories-CEoVVF4Z.js +594 -0
  46. package/dist/app/assets/PzTag-rwtmuhv6.css +1 -0
  47. package/dist/app/assets/PzTag.stories-B2WKURWu.js +70 -0
  48. package/dist/app/assets/{PzText-DlvXMwwn.js → PzText-LfRr6NF7.js} +1 -1
  49. package/dist/app/assets/{PzText.stories-ZTf0LcVq.js → PzText.stories-CJhqWJtS.js} +6 -6
  50. package/dist/app/assets/PzTextClamp-BnSHv0R0.css +1 -0
  51. package/dist/app/assets/PzTextClamp.stories-B-2pPs9u.js +149 -0
  52. package/dist/app/assets/PzValidatorXSS-B6WBrYex.css +1 -0
  53. package/dist/app/assets/PzValidatorXSS.stories-DqA_mla7.js +163 -0
  54. package/dist/app/assets/{Spacing.stories-DgW1yBGY.js → Spacing.stories-55zVSJ08.js} +1 -1
  55. package/dist/app/assets/{Typography.stories-sQsBS8qV.js → Typography.stories-DEgPTqUk.js} +1 -1
  56. package/dist/app/assets/{WithTooltip-65CFNBJE-D9-o59O_.js → WithTooltip-65CFNBJE-D3ytr0gE.js} +1 -1
  57. package/dist/app/assets/floating-vue-ydzBnlRK.js +1 -0
  58. package/dist/app/assets/formatter-EIJCOSYU-Ca5EM9Pa.js +1 -0
  59. package/dist/app/assets/iframe-B97zFSkg.css +1 -0
  60. package/dist/app/assets/iframe-XnrfGA2g.js +1115 -0
  61. package/dist/app/assets/{syntaxhighlighter-OH4MV7E3-seAhcrC2.js → syntaxhighlighter-OH4MV7E3-meijqKce.js} +1 -1
  62. package/dist/app/iframe.html +3 -3
  63. package/dist/app/index.html +1 -1
  64. package/dist/app/index.json +1 -1
  65. package/dist/app/project.json +1 -1
  66. package/dist/app/sb-addons/storybook-2/manager-bundle.js +1 -1
  67. package/dist/app/sb-manager/globals-runtime.js +1 -1
  68. package/dist/components/PzArrayClamp/PzArrayClamp.vue.d.ts +36 -0
  69. package/dist/components/PzArrayClamp/index.d.ts +2 -0
  70. package/dist/components/PzArrayClamp/types.d.ts +8 -0
  71. package/dist/components/PzBreadcrumb/PzBreadcrumb.vue.d.ts +35 -0
  72. package/dist/components/PzBreadcrumb/constants.d.ts +4 -0
  73. package/dist/components/PzBreadcrumb/index.d.ts +2 -0
  74. package/dist/components/PzBreadcrumb/types.d.ts +8 -0
  75. package/dist/components/PzBtn/PzBtn.vue.d.ts +24 -0
  76. package/dist/components/PzBtn/configs.d.ts +3 -0
  77. package/dist/components/PzBtn/index.d.ts +2 -0
  78. package/dist/components/PzBtn/types.d.ts +7 -0
  79. package/dist/components/PzDropdown/PzDropdown.vue.d.ts +18 -0
  80. package/dist/components/PzDropdown/index.d.ts +2 -0
  81. package/dist/components/PzDropdown/types.d.ts +1 -0
  82. package/dist/components/PzGrid/PzGrid.vue.d.ts +1 -1
  83. package/dist/components/PzGrid/PzGridItem.vue.d.ts +1 -1
  84. package/dist/components/PzGrid/configs.d.ts +2 -2
  85. package/dist/components/PzHint/PzHint.vue.d.ts +24 -0
  86. package/dist/components/PzHint/index.d.ts +2 -0
  87. package/dist/components/PzHint/types.d.ts +8 -0
  88. package/dist/components/PzIcon/PzIcon.vue.d.ts +7 -0
  89. package/dist/components/PzIcon/configs.d.ts +2 -0
  90. package/dist/components/PzIcon/index.d.ts +2 -0
  91. package/dist/components/PzIcon/types.d.ts +9 -0
  92. package/dist/components/PzImage/PzImage.vue.d.ts +7 -0
  93. package/dist/components/PzImage/configs.d.ts +3 -0
  94. package/dist/components/PzImage/index.d.ts +2 -0
  95. package/dist/components/PzImage/types.d.ts +10 -0
  96. package/dist/components/PzInfoHint/PzInfoHint.vue.d.ts +7 -0
  97. package/dist/components/PzInfoHint/index.d.ts +2 -0
  98. package/dist/components/PzInfoHint/types.d.ts +12 -0
  99. package/dist/components/PzLink/PzLink.vue.d.ts +29 -0
  100. package/dist/components/PzLink/configs.d.ts +2 -0
  101. package/dist/components/PzLink/constants.d.ts +1 -0
  102. package/dist/components/PzLink/index.d.ts +2 -0
  103. package/dist/components/PzLink/types.d.ts +13 -0
  104. package/dist/components/PzModal/PzModal.vue.d.ts +36 -0
  105. package/dist/components/PzModal/configs.d.ts +1 -0
  106. package/dist/components/PzModal/constants.d.ts +10 -0
  107. package/dist/components/PzModal/index.d.ts +2 -0
  108. package/dist/components/PzModal/types.d.ts +11 -0
  109. package/dist/components/PzNav/PzNav.vue.d.ts +23 -0
  110. package/dist/components/PzNav/index.d.ts +2 -0
  111. package/dist/components/PzNav/types.d.ts +9 -0
  112. package/dist/components/PzPagination/PzPagination.vue.d.ts +9 -0
  113. package/dist/components/PzPagination/index.d.ts +2 -0
  114. package/dist/components/PzPagination/types.d.ts +6 -0
  115. package/dist/components/PzRouterLink/PzRouterLink.vue.d.ts +30 -0
  116. package/dist/components/PzRouterLink/index.d.ts +2 -0
  117. package/dist/components/PzRouterLink/types.d.ts +7 -0
  118. package/dist/components/PzStatus/PzStatus.vue.d.ts +21 -0
  119. package/dist/components/PzStatus/configs.d.ts +2 -0
  120. package/dist/components/PzStatus/constants.d.ts +2 -0
  121. package/dist/components/PzStatus/index.d.ts +2 -0
  122. package/dist/components/PzStatus/types.d.ts +6 -0
  123. package/dist/components/PzTabs/PzTab.vue.d.ts +22 -0
  124. package/dist/components/PzTabs/PzTabs.vue.d.ts +21 -0
  125. package/dist/components/PzTabs/configs.d.ts +1 -0
  126. package/dist/components/PzTabs/constants.d.ts +5 -0
  127. package/dist/components/PzTabs/index.d.ts +3 -0
  128. package/dist/components/PzTabs/types.d.ts +14 -0
  129. package/dist/components/PzTag/PzTag.vue.d.ts +23 -0
  130. package/dist/components/PzTag/configs.d.ts +2 -0
  131. package/dist/components/PzTag/index.d.ts +2 -0
  132. package/dist/components/PzTag/types.d.ts +6 -0
  133. package/dist/components/PzText/configs.d.ts +1 -1
  134. package/dist/components/PzTextClamp/PzTextClamp.vue.d.ts +36 -0
  135. package/dist/components/PzTextClamp/constants.d.ts +2 -0
  136. package/dist/components/PzTextClamp/index.d.ts +2 -0
  137. package/dist/components/PzTextClamp/types.d.ts +10 -0
  138. package/dist/floating-vue.d.ts +1 -0
  139. package/dist/index.d.ts +20 -0
  140. package/dist/package.json +8 -2
  141. package/dist/prozorro-ui.cjs +1 -1
  142. package/dist/prozorro-ui.js +3397 -43
  143. package/dist/style.css +1 -1
  144. package/dist/utils/PzDomHandler/PzDomHandler.d.ts +19 -0
  145. package/dist/utils/PzDomHandler/constants.d.ts +1 -0
  146. package/dist/utils/PzDomHandler/index.d.ts +2 -0
  147. package/dist/utils/PzDomHandler/types.d.ts +4 -0
  148. package/dist/utils/PzScrollTo/PzScrollTo.d.ts +9 -0
  149. package/dist/utils/PzScrollTo/configs.d.ts +1 -0
  150. package/dist/utils/PzScrollTo/constants.d.ts +3 -0
  151. package/dist/utils/PzScrollTo/index.d.ts +2 -0
  152. package/dist/utils/PzScrollTo/types.d.ts +8 -0
  153. package/dist/utils/PzValidatorXSS/PzValidatorXSS.d.ts +20 -0
  154. package/dist/utils/PzValidatorXSS/index.d.ts +2 -0
  155. package/dist/utils/PzValidatorXSS/types.d.ts +1 -0
  156. package/package.json +8 -2
  157. package/src/styles/abstract/_variables.scss +8 -2
  158. package/src/styles/main.scss +1 -0
  159. package/src/styles/vendors/_floating-vue.scss +59 -0
  160. package/src/styles/vendors/_google-material-icons.scss +6 -3
  161. package/dist/app/assets/formatter-EIJCOSYU-Yh903Rmh.js +0 -1
  162. package/dist/app/assets/iframe-DDO2S8nh.js +0 -1107
  163. package/dist/app/assets/iframe-DIUjqeYQ.css +0 -1
@@ -0,0 +1,59 @@
1
+ import{P as c}from"./PzBtn-Brjbpw1b.js";import{_ as l}from"./PzIcon-Don8TXO3.js";import{_ as m,P as u}from"./PzText-LfRr6NF7.js";import{d as z,j as w,w as r,k as b,o as y,r as p}from"./iframe-XnrfGA2g.js";import{k as g}from"./floating-vue-ydzBnlRK.js";import"./preload-helper-C1FmrZbK.js";const n=z({name:"PzDropdown",__name:"PzDropdown",setup(o){return(t,P)=>(y(),w(b(g),{class:"pz-dropdown",theme:"dropdown"},{popper:r(()=>[p(t.$slots,"content",{},void 0,!0)]),default:r(()=>[p(t.$slots,"default",{},void 0,!0)]),_:3}))}}),s=m(n,[["__scopeId","data-v-a2315284"]]);n.__docgenInfo=Object.assign({displayName:n.name??n.__name},{name:"PzDropdown",exportName:"default",displayName:"PzDropdown",description:"",tags:{},slots:[{name:"default"},{name:"content"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzDropdown/PzDropdown.vue"]});const f=[{icon:"edit",label:"Редагувати"},{icon:"content_copy",label:"Створити копію"},{icon:"archive",label:"Архівувати"},{icon:"delete",label:"Видалити",danger:!0}],v=o=>`<template>
2
+ <PzDropdown>
3
+ <PzBtn variant="primary-outline">
4
+ ${o.triggerLabel??"Дії"}
5
+ <template #suffix>
6
+ <PzIcon name="expand_more" size="16" />
7
+ </template>
8
+ </PzBtn>
9
+
10
+ <template #content>
11
+ <button type="button" class="pz-dropdown-story-item">Редагувати</button>
12
+ <button type="button" class="pz-dropdown-story-item">Створити копію</button>
13
+ <button type="button" class="pz-dropdown-story-item">Архівувати</button>
14
+ <button type="button" class="pz-dropdown-story-item pz-dropdown-story-item--danger">Видалити</button>
15
+ </template>
16
+ </PzDropdown>
17
+ </template>`,_={title:"Components/Popups/PzDropdown",component:s,parameters:{prototype:{caption:"Dropdown component",note:"Action menu wrapper powered by floating-vue with a shared popper theme and the same trigger/content slot API as the old app-level dropdown."},docs:{description:{component:"Use `PzDropdown` for compact action menus or contextual choices. It keeps the trigger in the default slot and renders the menu body in the `content` slot."},source:{transform:(o,t)=>v(t.args??_.args)}}},args:{triggerLabel:"Дії"},argTypes:{triggerLabel:{control:"text",description:"Trigger label shown on the dropdown button.",table:{category:"Slots"}}},render:o=>({components:{pzBtn:c,pzDropdown:s,pzIcon:l,pzText:u},setup(){return{args:o,dropdownItems:f}},template:`
18
+ <section class="pz-dropdown-story">
19
+ <div class="pz-dropdown-story-header">
20
+ <div>
21
+ <span class="pz-dropdown-story-eyebrow">Component API</span>
22
+ <pz-text variant="h4-bold">Context menu trigger</pz-text>
23
+ </div>
24
+ <span class="pz-dropdown-story-chip">floating-vue</span>
25
+ </div>
26
+
27
+ <div class="pz-dropdown-story-preview">
28
+ <pz-dropdown>
29
+ <pz-btn variant="primary-outline">
30
+ {{ args.triggerLabel }}
31
+ <template #suffix>
32
+ <pz-icon name="expand_more" size="16" />
33
+ </template>
34
+ </pz-btn>
35
+
36
+ <template #content>
37
+ <div class="pz-dropdown-story-menu">
38
+ <button
39
+ v-for="item in dropdownItems"
40
+ :key="item.label"
41
+ type="button"
42
+ class="pz-dropdown-story-item"
43
+ :class="{ 'pz-dropdown-story-item-danger': item.danger }"
44
+ >
45
+ <pz-icon :name="item.icon" size="16" />
46
+ <span>{{ item.label }}</span>
47
+ </button>
48
+ </div>
49
+ </template>
50
+ </pz-dropdown>
51
+ </div>
52
+
53
+ <div class="pz-dropdown-story-note">
54
+ <pz-text variant="body-regular">
55
+ The dropdown surface is intentionally compact: it works best for destructive actions, inline row menus, and quick administrative commands.
56
+ </pz-text>
57
+ </div>
58
+ </section>
59
+ `})},e={};var a,d,i;e.parameters={...e.parameters,docs:{...(a=e.parameters)==null?void 0:a.docs,source:{originalSource:"{}",...(i=(d=e.parameters)==null?void 0:d.docs)==null?void 0:i.source}}};const C=["Playground"];export{e as Playground,C as __namedExportsOrder,_ as default};
@@ -1,4 +1,4 @@
1
- import{P as _}from"./PzText-DlvXMwwn.js";import{d as b,e as G,w as v,n as h,f as I,g as C,o as $,r as L}from"./iframe-DDO2S8nh.js";import"./preload-helper-C1FmrZbK.js";const c=[1,2,3,4,5,6,8,12,"full"],T=["div","section","article","main","aside","header","footer","nav","ul","ol"],o=b({name:"PzGrid",__name:"PzGrid",props:{as:{default:"div"},container:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},grid:{type:Boolean,default:!0},fit:{type:Boolean,default:!1},dense:{type:Boolean,default:!1}},setup(t){const e=t,a=C(()=>[{"pz-container":e.container&&!e.fluid,"pz-container-fluid":e.container&&e.fluid,"pz-grid":e.grid,"pz-grid-fit":e.grid&&e.fit,"pz-grid-dense":e.grid&&e.dense}]);return(n,i)=>($(),G(I(e.as),{class:h(a.value)},{default:v(()=>[L(n.$slots,"default")]),_:3},8,["class"]))}});o.__docgenInfo=Object.assign({displayName:o.name??o.__name},{name:"PzGrid",exportName:"default",displayName:"PzGrid",description:"",tags:{},props:[{name:"as",required:!1,type:{name:"PzGridTag"},defaultValue:{func:!1,value:'"div"'}},{name:"container",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"fluid",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"grid",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"fit",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"dense",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzGrid/PzGrid.vue"]});const u=b({name:"PzGridItem",__name:"PzGridItem",props:{as:{default:"div"},span:{default:void 0},sm:{default:void 0},md:{default:void 0},lg:{default:void 0},xl:{default:void 0},xxl:{default:void 0},start:{default:void 0},startSm:{default:void 0},startMd:{default:void 0},startLg:{default:void 0},startXl:{default:void 0},startXxl:{default:void 0}},setup(t){const e=t,a=(d,s)=>s?s==="full"?`pz-col-${d}full`:`pz-col-${d}${s}`:null,n=(d,s)=>s?`pz-start-${d}${s}`:null,i=C(()=>["pz-grid-item",a("",e.span),a("sm-",e.sm),a("md-",e.md),a("lg-",e.lg),a("xl-",e.xl),a("xxl-",e.xxl),n("",e.start),n("sm-",e.startSm),n("md-",e.startMd),n("lg-",e.startLg),n("xl-",e.startXl),n("xxl-",e.startXxl)]);return(d,s)=>($(),G(I(e.as),{class:h(i.value)},{default:v(()=>[L(d.$slots,"default")]),_:3},8,["class"]))}});u.__docgenInfo=Object.assign({displayName:u.name??u.__name},{name:"PzGridItem",exportName:"default",displayName:"PzGridItem",description:"",tags:{},props:[{name:"as",required:!1,type:{name:"PzGridTag"},defaultValue:{func:!1,value:'"div"'}},{name:"span",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"sm",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"md",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"lg",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"xl",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"xxl",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"start",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startSm",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startMd",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startLg",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startXl",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startXxl",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzGrid/PzGridItem.vue"]});const f={as:"section",container:!0,grid:!0,fit:!1,dense:!1,fluid:!1,heroSpan:4,sidebarSpan:4,metricSpan:2},r={hero:{md:8,xl:7},sidebar:{md:4,xl:5},metric:{md:4,xl:3},nested:{span:4,md:8,xl:6},nestedItem:{span:4,md:4,xl:6}},q=(t,e,a)=>typeof e>"u"?null:typeof e=="boolean"?e===a?null:e?t:`:${t}="false"`:typeof e=="number"?e===a?null:`:${t}="${e}"`:e===a?null:`${t}="${e}"`,l=t=>t.map(([e,a,n])=>q(e,a,n)).filter(e=>!!e).map(e=>` ${e}`).join(`
1
+ import{P as _}from"./PzText-LfRr6NF7.js";import{d as b,j as G,w as v,f as h,G as I,g as C,o as $,r as L}from"./iframe-XnrfGA2g.js";import"./preload-helper-C1FmrZbK.js";const c=[1,2,3,4,5,6,8,12,"full"],T=["div","section","article","main","aside","header","footer","nav","ul","ol"],o=b({name:"PzGrid",__name:"PzGrid",props:{as:{default:"div"},container:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},grid:{type:Boolean,default:!0},fit:{type:Boolean,default:!1},dense:{type:Boolean,default:!1}},setup(t){const e=t,a=C(()=>[{"pz-container":e.container&&!e.fluid,"pz-container-fluid":e.container&&e.fluid,"pz-grid":e.grid,"pz-grid-fit":e.grid&&e.fit,"pz-grid-dense":e.grid&&e.dense}]);return(n,i)=>($(),G(I(e.as),{class:h(a.value)},{default:v(()=>[L(n.$slots,"default")]),_:3},8,["class"]))}});o.__docgenInfo=Object.assign({displayName:o.name??o.__name},{name:"PzGrid",exportName:"default",displayName:"PzGrid",description:"",tags:{},props:[{name:"as",required:!1,type:{name:"PzGridTag"},defaultValue:{func:!1,value:'"div"'}},{name:"container",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"fluid",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"grid",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"fit",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"dense",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzGrid/PzGrid.vue"]});const u=b({name:"PzGridItem",__name:"PzGridItem",props:{as:{default:"div"},span:{default:void 0},sm:{default:void 0},md:{default:void 0},lg:{default:void 0},xl:{default:void 0},xxl:{default:void 0},start:{default:void 0},startSm:{default:void 0},startMd:{default:void 0},startLg:{default:void 0},startXl:{default:void 0},startXxl:{default:void 0}},setup(t){const e=t,a=(d,s)=>s?s==="full"?`pz-col-${d}full`:`pz-col-${d}${s}`:null,n=(d,s)=>s?`pz-start-${d}${s}`:null,i=C(()=>["pz-grid-item",a("",e.span),a("sm-",e.sm),a("md-",e.md),a("lg-",e.lg),a("xl-",e.xl),a("xxl-",e.xxl),n("",e.start),n("sm-",e.startSm),n("md-",e.startMd),n("lg-",e.startLg),n("xl-",e.startXl),n("xxl-",e.startXxl)]);return(d,s)=>($(),G(I(e.as),{class:h(i.value)},{default:v(()=>[L(d.$slots,"default")]),_:3},8,["class"]))}});u.__docgenInfo=Object.assign({displayName:u.name??u.__name},{name:"PzGridItem",exportName:"default",displayName:"PzGridItem",description:"",tags:{},props:[{name:"as",required:!1,type:{name:"PzGridTag"},defaultValue:{func:!1,value:'"div"'}},{name:"span",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"sm",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"md",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"lg",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"xl",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"xxl",required:!1,type:{name:"PzGridColumnSpan"},defaultValue:{func:!1,value:"undefined"}},{name:"start",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startSm",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startMd",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startLg",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startXl",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}},{name:"startXxl",required:!1,type:{name:"PzGridColumnStart"},defaultValue:{func:!1,value:"undefined"}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzGrid/PzGridItem.vue"]});const f={as:"section",container:!0,grid:!0,fit:!1,dense:!1,fluid:!1,heroSpan:4,sidebarSpan:4,metricSpan:2},r={hero:{md:8,xl:7},sidebar:{md:4,xl:5},metric:{md:4,xl:3},nested:{span:4,md:8,xl:6},nestedItem:{span:4,md:4,xl:6}},q=(t,e,a)=>typeof e>"u"?null:typeof e=="boolean"?e===a?null:e?t:`:${t}="false"`:typeof e=="number"?e===a?null:`:${t}="${e}"`:e===a?null:`${t}="${e}"`,l=t=>t.map(([e,a,n])=>q(e,a,n)).filter(e=>!!e).map(e=>` ${e}`).join(`
2
2
  `),E=t=>{const e=l([["as",t.as,"div"],["container",t.container,!1],["grid",t.grid,!0],["fluid",t.fluid,!1],["fit",t.fit,!1],["dense",t.dense,!1]]),a=l([["span",t.heroSpan],["md",r.hero.md],["xl",r.hero.xl]]),n=l([["span",t.sidebarSpan],["md",r.sidebar.md],["xl",r.sidebar.xl]]),i=l([["span",t.metricSpan],["md",r.metric.md],["xl",r.metric.xl]]);return`<template>
3
3
  <PzGrid
4
4
  ${e}
@@ -58,7 +58,7 @@ ${i}
58
58
  </PzGrid>
59
59
  </PzGridItem>
60
60
  </PzGrid>
61
- </template>`},k={title:"Components/PzGrid",component:o,parameters:{prototype:{caption:"Grid component",note:"Vue wrapper over the shared grid utility contract for container, grid, and responsive item spans."},docs:{description:{component:"Use `PzGrid` and `PzGridItem` when you want component-level layout composition instead of writing the emitted CSS utility classes directly."},source:{transform:(t,e)=>E(e.args??f)}}},args:f,argTypes:{as:{control:"select",options:T},container:{control:"boolean"},grid:{control:"boolean"},fluid:{control:"boolean"},fit:{control:"boolean"},dense:{control:"boolean"},heroSpan:{control:"select",options:c},sidebarSpan:{control:"select",options:c},metricSpan:{control:"select",options:c}},render:t=>({components:{pzGrid:o,pzGridItem:u,pzText:_},setup(){return{args:t,gridStoryExampleLayout:r}},template:`
61
+ </template>`},k={title:"Components/Layouts/PzGrid",component:o,parameters:{prototype:{caption:"Grid component",note:"Vue wrapper over the shared grid utility contract for container, grid, and responsive item spans."},docs:{description:{component:"Use `PzGrid` and `PzGridItem` when you want component-level layout composition instead of writing the emitted CSS utility classes directly."},source:{transform:(t,e)=>E(e.args??f)}}},args:f,argTypes:{as:{control:"select",options:T},container:{control:"boolean"},grid:{control:"boolean"},fluid:{control:"boolean"},fit:{control:"boolean"},dense:{control:"boolean"},heroSpan:{control:"select",options:c},sidebarSpan:{control:"select",options:c},metricSpan:{control:"select",options:c}},render:t=>({components:{pzGrid:o,pzGridItem:u,pzText:_},setup(){return{args:t,gridStoryExampleLayout:r}},template:`
62
62
  <div class="pz-grid-story">
63
63
  <pz-grid class="pz-grid-story-board">
64
64
  <pz-grid-item
@@ -0,0 +1 @@
1
+ .pz-hint-story{display:grid;gap:20px;max-width:760px}.pz-hint-story-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.pz-hint-story-eyebrow,.pz-hint-story-chip{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-10) 90%,var(--pz-color-white));color:var(--pz-color-text-link-hover);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pz-hint-story-preview,.pz-hint-story-surface{padding:24px;border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 72%,transparent);border-radius:24px;background:linear-gradient(180deg,var(--pz-color-white),color-mix(in srgb,var(--pz-color-grey-20) 84%,var(--pz-color-white)));box-shadow:0 18px 60px color-mix(in srgb,var(--pz-color-black-90) 8%,transparent)}.pz-hint-story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pz-hint-story-surface-dark{background:linear-gradient(180deg,color-mix(in srgb,var(--pz-color-black-90) 92%,var(--pz-color-white)),color-mix(in srgb,var(--pz-color-black-90) 86%,var(--pz-color-blue-50)));color:var(--pz-color-white)}.pz-hint-story-trigger{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.pz-hint-story-trigger:focus-visible{outline:2px solid var(--pz-color-blue-50);outline-offset:3px;border-radius:999px}.pz-hint-story-content{display:grid;gap:6px;max-width:280px}.pz-hint-story-content p{margin:0;color:inherit;opacity:.88}@media (width <= 720px){.pz-hint-story-gallery{grid-template-columns:1fr}}
@@ -0,0 +1 @@
1
+ import{d as p,e as i,l as m,w as s,f as l,k as c,o as u,r}from"./iframe-XnrfGA2g.js";import{H as o,V as f}from"./floating-vue-ydzBnlRK.js";import{_ as d}from"./PzText-LfRr6NF7.js";const t=o.themes??{};t["dark-tooltip"]||(t["dark-tooltip"]={$extend:"tooltip"});o.themes=t;const a=p({name:"PzHint",__name:"PzHint",props:{wrapperClass:{default:""},containerWrapperClass:{default:""},placement:{default:"top"},theme:{default:"tooltip"}},setup(e){return(n,h)=>(u(),i("span",{class:l(["pz-hint-container",e.containerWrapperClass])},[m(c(f),{class:l(["pz-hint",e.wrapperClass]),theme:e.theme,placement:e.placement},{popper:s(()=>[r(n.$slots,"content",{},void 0,!0)]),default:s(()=>[r(n.$slots,"default",{},void 0,!0)]),_:3},8,["class","theme","placement"])],2))}}),v=d(a,[["__scopeId","data-v-19cc0b71"]]);a.__docgenInfo=Object.assign({displayName:a.name??a.__name},{name:"PzHint",exportName:"default",displayName:"PzHint",description:"",tags:{},props:[{name:"wrapperClass",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"containerWrapperClass",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"placement",required:!1,type:{name:"Placement"},defaultValue:{func:!1,value:'"top"'}},{name:"theme",required:!1,type:{name:"PzHintTheme"},defaultValue:{func:!1,value:'"tooltip"'}}],slots:[{name:"default"},{name:"content"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzHint/PzHint.vue"]});export{v as P};
@@ -0,0 +1 @@
1
+ .pz-hint[data-v-19cc0b71],.pz-hint-container[data-v-19cc0b71]{display:inline-flex;vertical-align:middle}
@@ -0,0 +1,75 @@
1
+ import{_ as i}from"./PzIcon-Don8TXO3.js";import{P as l}from"./PzText-LfRr6NF7.js";import{P as r}from"./PzHint-BwKGDkUu.js";import"./iframe-XnrfGA2g.js";import"./preload-helper-C1FmrZbK.js";import"./floating-vue-ydzBnlRK.js";const c=t=>`<template>
2
+ <PzHint
3
+ ${[t.wrapperClass?`wrapper-class="${t.wrapperClass}"`:null,t.containerWrapperClass?`container-wrapper-class="${t.containerWrapperClass}"`:null,t.theme&&t.theme!=="tooltip"?`theme="${t.theme}"`:null,t.placement&&t.placement!=="top"?`placement="${t.placement}"`:null].filter(s=>!!s).join(`
4
+ `)}
5
+ >
6
+ <button type="button" class="pz-hint-story-trigger">
7
+ ${t.triggerLabel??"Hover me"}
8
+ <PzIcon name="help" size="16" />
9
+ </button>
10
+
11
+ <template #content>
12
+ <div class="pz-hint-story-content">
13
+ <strong>${t.title??"Tooltip title"}</strong>
14
+ <p>${t.body??"A short explanatory hint that should stay compact and readable."}</p>
15
+ </div>
16
+ </template>
17
+ </PzHint>
18
+ </template>`,d={title:"Components/Popups/PzHint",component:r,parameters:{prototype:{caption:"Hint component",note:"Hover/focus tooltip wrapper for small inline explanations. The shared theme keeps light and dark popups consistent across the system."},docs:{description:{component:"Use `PzHint` for inline helper text, hover explanations, or micro-copy that should appear near the trigger element. The `content` slot contains the popper body."},source:{transform:(t,o)=>c(o.args??d.args)}}},args:{placement:"top-start",theme:"tooltip",wrapperClass:"",containerWrapperClass:"",triggerLabel:"Hover to inspect",title:"Tender deadline",body:"The scheduled end date is displayed in local time and follows the procurement timeline."},argTypes:{theme:{control:"select",options:["tooltip","dark-tooltip"],description:"Visual theme applied to the floating popper."},placement:{control:"select",options:["top","top-start"],description:"Tooltip placement relative to the trigger."},wrapperClass:{control:"text",description:"Additional class applied to the popper wrapper."},containerWrapperClass:{control:"text",description:"Additional class applied to the outer trigger container."},triggerLabel:{control:"text",description:"Trigger label used in the preview.",table:{category:"Slots"}},title:{control:"text",description:"Popper title text used in the preview.",table:{category:"Slots"}},body:{control:"text",description:"Popper body text used in the preview.",table:{category:"Slots"}}},render:t=>({components:{pzHint:r,pzIcon:i,pzText:l},setup(){return{args:t}},template:`
19
+ <section class="pz-hint-story">
20
+ <div class="pz-hint-story-header">
21
+ <div>
22
+ <span class="pz-hint-story-eyebrow">Component API</span>
23
+ <pz-text variant="h4-bold">Inline hover explanation</pz-text>
24
+ </div>
25
+ <span class="pz-hint-story-chip">{{ args.placement }}</span>
26
+ </div>
27
+
28
+ <div class="pz-hint-story-preview">
29
+ <pz-hint
30
+ :wrapper-class="args.wrapperClass"
31
+ :container-wrapper-class="args.containerWrapperClass"
32
+ :theme="args.theme"
33
+ :placement="args.placement"
34
+ >
35
+ <button type="button" class="pz-hint-story-trigger">
36
+ <span>{{ args.triggerLabel }}</span>
37
+ <pz-icon name="help" size="16" />
38
+ </button>
39
+
40
+ <template #content>
41
+ <div class="pz-hint-story-content">
42
+ <strong>{{ args.title }}</strong>
43
+ <p>{{ args.body }}</p>
44
+ </div>
45
+ </template>
46
+ </pz-hint>
47
+ </div>
48
+
49
+ <div class="pz-hint-story-gallery">
50
+ <div class="pz-hint-story-surface">
51
+ <pz-text variant="body-regular">
52
+ Use the shared tooltip theme for compact guidance, field help, or explanatory labels.
53
+ </pz-text>
54
+ </div>
55
+ <div class="pz-hint-story-surface pz-hint-story-surface-dark">
56
+ <pz-hint
57
+ theme="dark-tooltip"
58
+ placement="top"
59
+ >
60
+ <button type="button" class="pz-hint-story-trigger">
61
+ <span>Dark tooltip</span>
62
+ <pz-icon name="help" size="16" />
63
+ </button>
64
+
65
+ <template #content>
66
+ <div class="pz-hint-story-content">
67
+ <strong>Dark surface</strong>
68
+ <p>Useful on dense or contrasting backgrounds where a lower-key popover reads better.</p>
69
+ </div>
70
+ </template>
71
+ </pz-hint>
72
+ </div>
73
+ </div>
74
+ </section>
75
+ `})},e={};var n,p,a;e.parameters={...e.parameters,docs:{...(n=e.parameters)==null?void 0:n.docs,source:{originalSource:"{}",...(a=(p=e.parameters)==null?void 0:p.docs)==null?void 0:a.source}}};const b=["Playground"];export{e as Playground,b as __namedExportsOrder,d as default};
@@ -0,0 +1 @@
1
+ .pz-icon-story{display:grid;gap:var(--pz-space-24)}.pz-icon-story-preview,.pz-icon-story-gallery{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-24);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 72%,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 34%),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)));box-shadow:0 18px 48px color-mix(in srgb,var(--pz-color-black-90) 7%,transparent),inset 0 1px color-mix(in srgb,var(--pz-color-white) 96%,transparent)}.pz-icon-story-header{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-16)}.pz-icon-story-eyebrow,.pz-icon-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-icon-story-preview-stage{display:grid;place-items:center;min-height:220px;padding:var(--pz-space-24);border:1px dashed color-mix(in srgb,var(--pz-color-grey-40) 70%,transparent);border-radius:var(--pz-space-20);background:linear-gradient(color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent) 1px,transparent 1px);background-size:28px 28px}.pz-icon-story-preview-stage .pz-icon{--pz-icon-color: var(--pz-color-icon-primary)}.pz-icon-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pz-space-16)}.pz-icon-story-card{display:grid;gap:var(--pz-space-16);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) 94%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--pz-color-black-90) 5%,transparent)}.pz-icon-story-card[data-tone=primary] .pz-icon{--pz-icon-color: var(--pz-color-icon-primary)}.pz-icon-story-card[data-tone=success] .pz-icon{--pz-icon-color: var(--pz-color-icon-success)}.pz-icon-story-card[data-tone=alert] .pz-icon{--pz-icon-color: var(--pz-color-icon-alert)}.pz-icon-story-card-preview{display:flex;align-items:center;gap:var(--pz-space-16)}.pz-icon-story-card-preview .pz-icon{--pz-icon-size: var(--pz-font-size-24)}.pz-icon-story-code{margin:0;font-size:var(--pz-font-size-12);color:var(--pz-color-text-secondary)}@media (width <= 768px){.pz-icon-story-grid{grid-template-columns:1fr}.pz-icon-story-header{flex-direction:column}}
@@ -0,0 +1 @@
1
+ import{d as s,e as r,n as c,f as u,t as d,g as a,o as m}from"./iframe-XnrfGA2g.js";const p=["role","aria-hidden","aria-label"],n=s({name:"PzIcon",__name:"PzIcon",props:{name:{},variant:{default:"outlined"},size:{default:"16"},label:{default:void 0}},setup(l){const e=l,o=a(()=>({"--pz-icon-size":`var(--pz-font-size-${e.size})`})),i=a(()=>e.label?"img":void 0),t=a(()=>e.label?void 0:"true");return(f,z)=>(m(),r("span",{class:u([{outlined:e.variant==="outlined"},"pz-icon pz-material-icon"]),style:c(o.value),role:i.value,"aria-hidden":t.value,"aria-label":e.label},d(e.name),15,p))}});n.__docgenInfo=Object.assign({displayName:n.name??n.__name},{name:"PzIcon",exportName:"default",displayName:"PzIcon",description:"",tags:{},props:[{name:"name",required:!0,type:{name:"PzIconName"}},{name:"variant",required:!1,type:{name:"PzIconVariant"},defaultValue:{func:!1,value:'"outlined"'}},{name:"size",required:!1,type:{name:"PzIconSize"},defaultValue:{func:!1,value:'"16"'}},{name:"label",required:!1,type:{name:"string"},defaultValue:{func:!1,value:"undefined"}}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzIcon/PzIcon.vue"]});export{n as _};
@@ -0,0 +1,63 @@
1
+ import{P as c}from"./PzText-LfRr6NF7.js";import{_ as n}from"./PzIcon-Don8TXO3.js";import"./iframe-XnrfGA2g.js";import"./preload-helper-C1FmrZbK.js";const l=["filled","outlined"],p=["12","16","18","20","24","32","44"],d=[{name:"info",label:"Informational state",tone:"primary"},{name:"check_circle",label:"Successful outcome",tone:"success"},{name:"warning",label:"Attention required",tone:"alert"}],m=e=>`<template>
2
+ <PzIcon ${[`name="${e.name}"`,e.variant!=="outlined"?`variant="${e.variant}"`:null,e.size!=="16"?`size="${e.size}"`:null,e.label?`label="${e.label}"`:null].filter(r=>!!r).join(" ")} />
3
+ </template>`,z={title:"Components/Display/PzIcon",component:n,parameters:{prototype:{caption:"Icon component",note:"Material icon ligatures wrapped in a small Vue API with token-backed sizing and easy CSS overrides."},docs:{description:{component:"Use `PzIcon` for Material icons in design-system UI. The component keeps the API small, inherits custom classes and styles, and exposes CSS custom properties for size and color overrides. Find available icon names in the [Material Icons catalog](https://fonts.google.com/icons)."},source:{transform:(e,t)=>m(t.args??z.args)}}},args:{name:"account_balance",variant:"outlined",size:"24",label:"Procurement entity"},argTypes:{name:{control:"text",description:"Material icon ligature name."},variant:{control:"inline-radio",options:l,description:"Material icon font family variant."},size:{control:"select",options:p,description:"Token-backed font size for the icon."},label:{control:"text",description:"Accessible label. Leave empty for decorative icons."}},render:e=>({components:{pzIcon:n,pzText:c},setup(){return{args:e,iconReferenceItems:d}},template:`
4
+ <div class="pz-icon-story">
5
+ <section class="pz-icon-story-preview">
6
+ <div class="pz-icon-story-header">
7
+ <div>
8
+ <span class="pz-icon-story-eyebrow">Component API</span>
9
+ <pz-text variant="h4-bold">Token-backed Material icons</pz-text>
10
+ </div>
11
+ <span class="pz-icon-story-chip">{{ args.name }}</span>
12
+ </div>
13
+
14
+ <div class="pz-icon-story-preview-stage">
15
+ <pz-icon
16
+ :name="args.name"
17
+ :variant="args.variant"
18
+ :size="args.size"
19
+ :label="args.label"
20
+ />
21
+ </div>
22
+ </section>
23
+
24
+ <section class="pz-icon-story-gallery">
25
+ <div class="pz-icon-story-header">
26
+ <div>
27
+ <span class="pz-icon-story-eyebrow">Styling hooks</span>
28
+ <pz-text variant="h4-bold">Class overrides still work cleanly</pz-text>
29
+ <pz-text variant="body-regular">
30
+ Browse icon names in
31
+ <a
32
+ class="pz-text-link"
33
+ href="https://fonts.google.com/icons"
34
+ target="_blank"
35
+ rel="noreferrer"
36
+ >
37
+ Material Icons catalog
38
+ </a>.
39
+ </pz-text>
40
+ </div>
41
+ </div>
42
+
43
+ <div class="pz-icon-story-grid">
44
+ <article
45
+ v-for="item in iconReferenceItems"
46
+ :key="item.name"
47
+ class="pz-icon-story-card"
48
+ :data-tone="item.tone"
49
+ >
50
+ <div class="pz-icon-story-card-preview">
51
+ <pz-icon
52
+ :name="item.name"
53
+ size="24"
54
+ :label="item.label"
55
+ />
56
+ <pz-text variant="body-semibold">{{ item.label }}</pz-text>
57
+ </div>
58
+ <p class="pz-icon-story-code">.pz-icon { --pz-icon-color: token; --pz-icon-size: token; }</p>
59
+ </article>
60
+ </div>
61
+ </section>
62
+ </div>
63
+ `})},o={};var a,i,s;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:"{}",...(s=(i=o.parameters)==null?void 0:i.docs)==null?void 0:s.source}}};const f=["Playground"];export{o as Playground,f as __namedExportsOrder,z as default};
@@ -0,0 +1 @@
1
+ .pz-image-story{display:grid;gap:var(--pz-space-24)}.pz-image-story-hero,.pz-image-story-grid article{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-24);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 72%,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 34%),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)));box-shadow:0 18px 48px color-mix(in srgb,var(--pz-color-black-90) 7%,transparent),inset 0 1px color-mix(in srgb,var(--pz-color-white) 96%,transparent)}.pz-image-story-header{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-16)}.pz-image-story-eyebrow,.pz-image-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-image-story-surface{padding:var(--pz-space-24);border:1px dashed color-mix(in srgb,var(--pz-color-grey-40) 70%,transparent);border-radius:var(--pz-space-20);background:linear-gradient(color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent) 1px,transparent 1px);background-size:28px 28px}.pz-image-story-surface .pz-image{--pz-image-radius: var(--pz-space-16);--pz-image-background: color-mix(in srgb, var(--pz-color-grey-20) 90%, var(--pz-color-white))}.pz-image-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pz-space-16)}.pz-image-story-crop-frame{display:grid;place-items:center;min-height:240px;overflow:hidden;border-radius:var(--pz-space-16);background:color-mix(in srgb,var(--pz-color-grey-20) 92%,var(--pz-color-white))}.pz-image-story-crop-frame .pz-image{height:100%;--pz-image-radius: var(--pz-space-16)}.pz-image-story-code{margin:0;font-size:var(--pz-font-size-12);color:var(--pz-color-text-secondary)}@media (width <= 768px){.pz-image-story-grid{grid-template-columns:1fr}.pz-image-story-header{flex-direction:column}}.pz-image[data-v-33d59ff0]{display:inline-block;width:100%;max-width:100%;height:auto;object-fit:var(--pz-image-fit, contain);border-radius:var(--pz-image-radius, 0);background:var(--pz-image-background, transparent);box-shadow:var(--pz-image-shadow, none);vertical-align:middle}
@@ -0,0 +1,57 @@
1
+ import{_ as l,P as p}from"./PzText-LfRr6NF7.js";import{d,e as g,n as m,g as u,o as f}from"./iframe-XnrfGA2g.js";import"./preload-helper-C1FmrZbK.js";const z=["contain","cover","fill","none","scale-down"],y=["eager","lazy"],v=["auto","async","sync"],h=["src","alt","loading","decoding"],i=d({name:"PzImage",__name:"PzImage",props:{src:{},alt:{},fit:{default:"contain"},loading:{default:void 0},decoding:{default:"async"}},setup(e){const a=e,o=u(()=>({"--pz-image-fit":a.fit}));return(P,b)=>(f(),g("img",{class:"pz-image",src:a.src,alt:a.alt,loading:a.loading,decoding:a.decoding,style:m(o.value)},null,12,h))}}),s=l(i,[["__scopeId","data-v-33d59ff0"]]);i.__docgenInfo=Object.assign({displayName:i.name??i.__name},{name:"PzImage",exportName:"default",displayName:"PzImage",description:"",tags:{},props:[{name:"src",required:!0,type:{name:"string"}},{name:"alt",required:!0,type:{name:"string"}},{name:"fit",required:!1,type:{name:"PzImageFit"},defaultValue:{func:!1,value:'"contain"'}},{name:"loading",required:!1,type:{name:"PzImageLoading"},defaultValue:{func:!1,value:"undefined"}},{name:"decoding",required:!1,type:{name:"PzImageDecoding"},defaultValue:{func:!1,value:'"async"'}}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzImage/PzImage.vue"]});const I=e=>`<template>
2
+ <PzImage ${[`src="${e.src}"`,`alt="${e.alt}"`,e.fit!=="contain"?`fit="${e.fit}"`:null,e.loading?`loading="${e.loading}"`:null,e.decoding!=="async"?`decoding="${e.decoding}"`:null].filter(o=>!!o).join(" ")} />
3
+ </template>`,_={title:"Components/Display/PzImage",component:s,parameters:{prototype:{caption:"Image component",note:"Minimal image primitive with basic responsive defaults and CSS custom properties for easy visual overrides."},docs:{description:{component:"Use `PzImage` when you want a predictable image primitive with responsive defaults. Styling remains easy to customize through inherited classes, inline styles, and the `--pz-image-*` custom properties."},source:{transform:(e,a)=>I(a.args??_.args)}}},args:{src:"/prozorro_logo.png",alt:"Prozorro logotype",fit:"contain",loading:"lazy",decoding:"async"},argTypes:{src:{control:"text",description:"Image source URL."},alt:{control:"text",description:"Alternative text for the image."},fit:{control:"select",options:z,description:"Object-fit behavior for framed image layouts."},loading:{control:"inline-radio",options:y,description:"Native browser loading hint."},decoding:{control:"inline-radio",options:v,description:"Native image decoding mode."}},render:e=>({components:{pzImage:s,pzText:p},setup(){return{args:e}},template:`
4
+ <div class="pz-image-story">
5
+ <section class="pz-image-story-hero">
6
+ <div class="pz-image-story-header">
7
+ <div>
8
+ <span class="pz-image-story-eyebrow">Component API</span>
9
+ <pz-text variant="h4-bold">Responsive image primitive</pz-text>
10
+ </div>
11
+ <span class="pz-image-story-chip">{{ args.fit }}</span>
12
+ </div>
13
+
14
+ <div class="pz-image-story-surface">
15
+ <pz-image
16
+ :src="args.src"
17
+ :alt="args.alt"
18
+ :fit="args.fit"
19
+ :loading="args.loading"
20
+ :decoding="args.decoding"
21
+ />
22
+ </div>
23
+ </section>
24
+
25
+ <section class="pz-image-story-grid">
26
+ <article>
27
+ <span class="pz-image-story-eyebrow">Default flow</span>
28
+ <pz-text variant="body-regular">
29
+ The component keeps the image responsive with width 100% and height auto.
30
+ </pz-text>
31
+ <div class="pz-image-story-surface">
32
+ <pz-image
33
+ :src="args.src"
34
+ :alt="args.alt"
35
+ loading="eager"
36
+ />
37
+ </div>
38
+ <p class="pz-image-story-code">.pz-image { width: 100%; height: auto; }</p>
39
+ </article>
40
+
41
+ <article>
42
+ <span class="pz-image-story-eyebrow">Framed crop</span>
43
+ <pz-text variant="body-regular">
44
+ When a parent sets height, the fit prop maps directly to object-fit.
45
+ </pz-text>
46
+ <div class="pz-image-story-crop-frame">
47
+ <pz-image
48
+ :src="args.src"
49
+ :alt="args.alt"
50
+ :fit="args.fit"
51
+ />
52
+ </div>
53
+ <p class="pz-image-story-code">.pz-image { --pz-image-radius; --pz-image-background; --pz-image-shadow; }</p>
54
+ </article>
55
+ </section>
56
+ </div>
57
+ `})},t={};var n,r,c;t.parameters={...t.parameters,docs:{...(n=t.parameters)==null?void 0:n.docs,source:{originalSource:"{}",...(c=(r=t.parameters)==null?void 0:r.docs)==null?void 0:c.source}}};const O=["Playground"];export{t as Playground,O as __namedExportsOrder,_ as default};
@@ -0,0 +1 @@
1
+ .pz-info-hint-story{display:grid;gap:20px;max-width:760px}.pz-info-hint-story-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.pz-info-hint-story-eyebrow,.pz-info-hint-story-chip{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-10) 90%,var(--pz-color-white));color:var(--pz-color-text-link-hover);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pz-info-hint-story-preview,.pz-info-hint-story-card{padding:24px;border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 72%,transparent);border-radius:24px;background:linear-gradient(180deg,var(--pz-color-white),color-mix(in srgb,var(--pz-color-grey-20) 84%,var(--pz-color-white)));box-shadow:0 18px 60px color-mix(in srgb,var(--pz-color-black-90) 8%,transparent)}.pz-info-hint-story-gallery{display:grid;gap:12px}.pz-info-hint-story-card{display:grid;gap:6px}.pz-info-hint-story-label{margin:0;color:var(--pz-color-text-link-hover);font-size:12px;font-weight:700;text-transform:uppercase}.pz-info-hint-story-copy{margin:0;color:var(--pz-color-text-secondary);line-height:1.6}.pz-info-hint-trigger[data-v-540d7970]{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer}.pz-info-hint-trigger[data-v-540d7970]:focus-visible{outline:2px solid var(--pz-color-blue-50);outline-offset:2px;border-radius:999px}.pz-info-hint-icon[data-v-540d7970]{display:block}
@@ -0,0 +1,38 @@
1
+ import{_ as u,P as h}from"./PzText-LfRr6NF7.js";import{d as y,j as z,w as r,o,y as s,l as g,e as i,I as C,t as p,J as w,F as I}from"./iframe-XnrfGA2g.js";import{_ as P}from"./PzIcon-Don8TXO3.js";import{P as v}from"./PzHint-BwKGDkUu.js";import"./preload-helper-C1FmrZbK.js";import"./floating-vue-ydzBnlRK.js";const x={type:"button","aria-label":"Information",class:"pz-info-hint-trigger"},n=y({name:"PzInfoHint",__name:"PzInfoHint",props:{infoContent:{},wrapperClass:{default:""},containerWrapperClass:{default:""},placement:{default:"top"}},setup(e){return(H,_)=>(o(),z(v,{"wrapper-class":e.wrapperClass,"container-wrapper-class":e.containerWrapperClass,placement:e.placement,theme:"dark-tooltip"},{content:r(()=>[(o(!0),i(I,null,C(e.infoContent,a=>(o(),i("p",{key:a.id},[s("b",null,p(a.title??""),1),w(" "+p(a.text??""),1)]))),128))]),default:r(()=>[s("button",x,[g(P,{name:"help",size:"16",class:"pz-info-hint-icon"})])]),_:1},8,["wrapper-class","container-wrapper-class","placement"]))}}),l=u(n,[["__scopeId","data-v-540d7970"]]);n.__docgenInfo=Object.assign({displayName:n.name??n.__name},{name:"PzInfoHint",exportName:"default",displayName:"PzInfoHint",description:"",tags:{},props:[{name:"infoContent",required:!0,type:{name:"Array",elements:[{name:"PzInfoHintContent"}]}},{name:"wrapperClass",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"containerWrapperClass",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"placement",required:!1,type:{name:"Placement"},defaultValue:{func:!1,value:'"top"'}}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzInfoHint/PzInfoHint.vue"]});const c=[{id:"deadline",title:"Deadline",text:"Shown in local time and aligned with the procurement schedule."},{id:"contact",title:"Contact",text:"Responsible contact details stay visible near the request label."}],b=()=>`<template>
2
+ <PzInfoHint
3
+ :info-content="[
4
+ { id: 'deadline', title: 'Deadline', text: 'Shown in local time and aligned with the procurement schedule.' },
5
+ { id: 'contact', title: 'Contact', text: 'Responsible contact details stay visible near the request label.' },
6
+ ]"
7
+ />
8
+ </template>`,T={title:"Components/Popups/PzInfoHint",component:l,parameters:{prototype:{caption:"Info hint component",note:"Specialized helper that composes the shared tooltip shell with the design-system help icon and structured info rows."},docs:{description:{component:"Use `PzInfoHint` for structured helper text that needs a consistent help icon. It renders each row from `infoContent` inside the shared `PzHint` wrapper and defaults to the dark tooltip theme."},source:{transform:b}}},args:{infoContent:c,wrapperClass:"",containerWrapperClass:"",placement:"top"},argTypes:{infoContent:{control:!1,description:"Structured rows shown inside the popper.",table:{category:"Slots"}},wrapperClass:{control:"text",description:"Additional class applied to the popper wrapper."},containerWrapperClass:{control:"text",description:"Additional class applied to the outer trigger container."},placement:{control:"select",options:["top","top-start"],description:"Tooltip placement relative to the trigger."}},render:e=>({components:{pzInfoHint:l,pzText:h},setup(){return{args:e,infoHintItems:c}},template:`
9
+ <section class="pz-info-hint-story">
10
+ <div class="pz-info-hint-story-header">
11
+ <div>
12
+ <span class="pz-info-hint-story-eyebrow">Component API</span>
13
+ <pz-text variant="h4-bold">Structured info hint</pz-text>
14
+ </div>
15
+ <span class="pz-info-hint-story-chip">{{ args.placement }}</span>
16
+ </div>
17
+
18
+ <div class="pz-info-hint-story-preview">
19
+ <pz-info-hint
20
+ :info-content="args.infoContent"
21
+ :wrapper-class="args.wrapperClass"
22
+ :container-wrapper-class="args.containerWrapperClass"
23
+ :placement="args.placement"
24
+ />
25
+ </div>
26
+
27
+ <div class="pz-info-hint-story-gallery">
28
+ <article
29
+ v-for="item in infoHintItems"
30
+ :key="item.id"
31
+ class="pz-info-hint-story-card"
32
+ >
33
+ <p class="pz-info-hint-story-label">{{ item.title }}</p>
34
+ <p class="pz-info-hint-story-copy">{{ item.text }}</p>
35
+ </article>
36
+ </div>
37
+ </section>
38
+ `})},t={};var d,m,f;t.parameters={...t.parameters,docs:{...(d=t.parameters)==null?void 0:d.docs,source:{originalSource:"{}",...(f=(m=t.parameters)==null?void 0:m.docs)==null?void 0:f.source}}};const A=["Playground"];export{t as Playground,A as __namedExportsOrder,T as default};
@@ -0,0 +1 @@
1
+ import{d as m,H as k,e as l,r as t,h as i,f as b,g as o,o as n}from"./iframe-XnrfGA2g.js";import{_}from"./PzText-LfRr6NF7.js";const q=["primary","neutral","gray","button","icon"],x=["_self","_blank","_parent","_top"],v="noopener noreferrer",z=["href","target","rel","aria-disabled","tabindex"],y={key:0,class:"pz-link-prefix"},g={key:1,class:"pz-link-content"},h={key:2,class:"pz-link-suffix"},s=m({name:"PzLink",__name:"PzLink",props:{href:{},variant:{default:"primary"},target:{default:"_self"},rel:{default:void 0},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!0},bold:{type:Boolean,default:!1},italic:{type:Boolean,default:!1},lineThrough:{type:Boolean,default:!1}},setup(r){const u=k(),e=r,f=o(()=>!!u.default),d=o(()=>e.rel?e.rel:e.target==="_blank"?v:void 0),p=o(()=>[`pz-link--${e.variant}`,{"pz-link--inline":e.inline,"pz-link--block":!e.inline,"pz-link--disabled":e.disabled,"pz-link--bold":e.bold,"pz-link--italic":e.italic,"pz-link--line-through":e.lineThrough,"pz-link--icon-only":e.variant==="icon"&&!f.value}]),c=a=>{e.disabled&&(a.preventDefault(),a.stopPropagation())};return(a,L)=>(n(),l("a",{href:e.href,target:e.target,rel:d.value,"aria-disabled":e.disabled||void 0,tabindex:e.disabled?-1:void 0,class:b(["pz-link",p.value]),onClick:c},[a.$slots.prefix?(n(),l("span",y,[t(a.$slots,"prefix",{},void 0,!0)])):i("",!0),a.$slots.default?(n(),l("span",g,[t(a.$slots,"default",{},void 0,!0)])):i("",!0),a.$slots.suffix?(n(),l("span",h,[t(a.$slots,"suffix",{},void 0,!0)])):i("",!0)],10,z))}}),B=_(s,[["__scopeId","data-v-568cb8cc"]]);s.__docgenInfo=Object.assign({displayName:s.name??s.__name},{name:"PzLink",exportName:"default",displayName:"PzLink",description:"",tags:{},props:[{name:"href",required:!0,type:{name:"string"}},{name:"variant",required:!1,type:{name:"PzLinkVariant"},defaultValue:{func:!1,value:'"primary"'}},{name:"target",required:!1,type:{name:"PzLinkTarget"},defaultValue:{func:!1,value:'"_self"'}},{name:"rel",required:!1,type:{name:"string"},defaultValue:{func:!1,value:"undefined"}},{name:"disabled",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"inline",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"bold",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"italic",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"lineThrough",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],slots:[{name:"prefix"},{name:"default"},{name:"suffix"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/PzLink/PzLink.vue"]});export{B as P,q as a,x as p};
@@ -0,0 +1 @@
1
+ .pz-link[data-v-568cb8cc]{--pz-link-color: var(--pz-color-text-link);--pz-link-hover-color: var(--pz-color-text-link-hover);--pz-link-background: transparent;--pz-link-hover-background: transparent;--pz-link-border-color: transparent;--pz-link-hover-border-color: transparent;--pz-link-disabled-border-color: transparent;--pz-link-content-decoration: none;--pz-link-hover-decoration: underline;--pz-link-radius: var(--pz-space-4);--pz-link-gap: var(--pz-space-8);--pz-link-padding-inline: 0;--pz-link-padding-block: 0;--pz-link-icon-size: var(--pz-font-size-16);--pz-link-font-style: normal;align-items:center;gap:var(--pz-link-gap);width:fit-content;padding:var(--pz-link-padding-block) var(--pz-link-padding-inline);border:1px solid var(--pz-link-border-color);border-radius:var(--pz-link-radius);background:var(--pz-link-background);color:var(--pz-link-color);cursor:pointer;text-decoration:none;overflow-wrap:break-word;font-style:var(--pz-link-font-style);-webkit-hyphens:auto;hyphens:auto;transition:color .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease;font-size:var(--pz-font-size-14);font-weight:400;line-height:1.5}.pz-link--inline[data-v-568cb8cc]{display:inline-flex}.pz-link--block[data-v-568cb8cc]{display:flex}.pz-link--bold[data-v-568cb8cc]{font-weight:600}.pz-link--italic[data-v-568cb8cc]{--pz-link-font-style: italic}.pz-link--line-through .pz-link-content[data-v-568cb8cc]{text-decoration:line-through}.pz-link--primary[data-v-568cb8cc]{--pz-link-color: var(--pz-color-text-link);--pz-link-hover-color: var(--pz-color-text-link-hover)}.pz-link--neutral[data-v-568cb8cc]{--pz-link-color: var(--pz-color-text-primary);--pz-link-hover-color: var(--pz-color-text-link-hover)}.pz-link--gray[data-v-568cb8cc]{--pz-link-color: var(--pz-color-grey-60);--pz-link-hover-color: var(--pz-color-text-link-hover)}.pz-link--button[data-v-568cb8cc]{--pz-link-color: var(--pz-color-button-primary);--pz-link-hover-color: var(--pz-color-white);--pz-link-background: transparent;--pz-link-hover-background: var(--pz-color-button-primary-hover);--pz-link-border-color: var(--pz-color-button-primary);--pz-link-hover-border-color: var(--pz-color-button-primary-hover);--pz-link-disabled-border-color: color-mix(in srgb, var(--pz-color-button-disabled) 60%, transparent);--pz-link-hover-decoration: none;--pz-link-radius: var(--pz-space-4);--pz-link-padding-inline: var(--pz-space-8);--pz-link-padding-block: var(--pz-space-4)}.pz-link--icon[data-v-568cb8cc]{--pz-link-color: var(--pz-color-icon-primary);--pz-link-hover-color: var(--pz-color-icon-hover);--pz-link-hover-decoration: none;--pz-link-icon-size: var(--pz-font-size-20)}.pz-link--icon-only[data-v-568cb8cc]{--pz-link-padding-inline: var(--pz-space-4);--pz-link-padding-block: var(--pz-space-4)}.pz-link--disabled[data-v-568cb8cc]{--pz-link-color: var(--pz-color-text-link-disabled);--pz-link-hover-color: var(--pz-color-text-link-disabled);--pz-link-border-color: var(--pz-link-disabled-border-color);cursor:default;pointer-events:none}.pz-link[data-v-568cb8cc]:hover,.pz-link[data-v-568cb8cc]:focus-visible{color:var(--pz-link-hover-color);border-color:var(--pz-link-hover-border-color);background:var(--pz-link-hover-background);outline:none}.pz-link[data-v-568cb8cc]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--pz-link-hover-color) 18%,transparent)}.pz-link-prefix[data-v-568cb8cc],.pz-link-suffix[data-v-568cb8cc]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pz-link-content[data-v-568cb8cc]{min-width:0;text-decoration:var(--pz-link-content-decoration)}.pz-link-prefix[data-v-568cb8cc]:empty,.pz-link-suffix[data-v-568cb8cc]:empty,.pz-link-content[data-v-568cb8cc]:empty{display:none}.pz-link:hover .pz-link-content[data-v-568cb8cc],.pz-link:focus-visible .pz-link-content[data-v-568cb8cc]{text-decoration:var(--pz-link-hover-decoration)}.pz-link-prefix[data-v-568cb8cc] .pz-icon,.pz-link-suffix[data-v-568cb8cc] .pz-icon{--pz-icon-size: var(--pz-link-icon-size);--pz-icon-color: currentcolor}
@@ -0,0 +1 @@
1
+ .pz-link-story{display:grid;gap:var(--pz-space-24)}.pz-link-story-board,.pz-link-story-gallery{display:grid;gap:var(--pz-space-16);padding:var(--pz-space-24);border:1px solid color-mix(in srgb,var(--pz-color-grey-30) 72%,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 34%),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)));box-shadow:0 18px 48px color-mix(in srgb,var(--pz-color-black-90) 7%,transparent),inset 0 1px color-mix(in srgb,var(--pz-color-white) 96%,transparent)}.pz-link-story-header{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-16)}.pz-link-story-eyebrow,.pz-link-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-link-story-preview{display:grid;place-items:center;min-height:180px;padding:var(--pz-space-24);border:1px dashed color-mix(in srgb,var(--pz-color-grey-40) 70%,transparent);border-radius:var(--pz-space-20);background:linear-gradient(color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent) 1px,transparent 1px);background-size:28px 28px}.pz-link-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pz-space-16)}.pz-link-story-card{display:grid;gap:var(--pz-space-12);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) 94%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--pz-color-black-90) 5%,transparent)}.pz-link-story-row{display:flex;align-items:center;gap:var(--pz-space-12);flex-wrap:wrap}.pz-link-story-code{margin:0;font-size:var(--pz-font-size-12);color:var(--pz-color-text-secondary)}@media (width <= 768px){.pz-link-story-grid{grid-template-columns:1fr}.pz-link-story-header{flex-direction:column}}
@@ -0,0 +1,99 @@
1
+ import{_ as p}from"./PzIcon-Don8TXO3.js";import{P as c}from"./PzText-LfRr6NF7.js";import{P as o,p as d,a as f}from"./PzLink-BkfNrG4H.js";import"./iframe-XnrfGA2g.js";import"./preload-helper-C1FmrZbK.js";const u=[{variant:"primary",label:"Primary text link",suffix:"open_in_new"},{variant:"neutral",label:"Neutral navigation link"},{variant:"gray",label:"Gray meta link"},{variant:"button",label:"Button-like action",prefix:"description"},{variant:"icon",label:"Icon-led action",prefix:"launch"}],m=e=>{const t=[`href="${e.href}"`,e.variant!=="primary"?`variant="${e.variant}"`:null,e.target!=="_self"?`target="${e.target}"`:null,e.disabled?':disabled="true"':null,e.inline===!1?':inline="false"':null,e.bold?':bold="true"':null,e.italic?':italic="true"':null,e.lineThrough?':line-through="true"':null].filter(n=>!!n).join(" "),s=[e.showPrefix?` <template #prefix>
2
+ <PzIcon name="open_in_new" size="16" />
3
+ </template>`:null,` ${e.label}`,e.showSuffix?` <template #suffix>
4
+ <PzIcon name="arrow_forward" size="16" />
5
+ </template>`:null].filter(n=>!!n);return`<template>
6
+ <PzLink ${t}>
7
+ ${s.join(`
8
+ `)}
9
+ </PzLink>
10
+ </template>`},b={title:"Components/Actions/PzLink",component:o,parameters:{prototype:{caption:"Link component",note:"Figma node access was blocked in this environment, so this single public link primitive is inferred from the shared link, button, and icon tokens plus the legacy link variants you provided."},docs:{description:{component:"Use `PzLink` as the single public link primitive. It stays anchor-based, supports variant-driven visual treatments, and prefers slot composition for prefix or suffix icons instead of router-specific behavior."},source:{transform:(e,t)=>m(t.args??b.args)}}},args:{href:"https://prozorro.gov.ua",variant:"primary",target:"_blank",disabled:!1,inline:!0,bold:!1,italic:!1,lineThrough:!1,label:"Open procurement details",showPrefix:!0,showSuffix:!0},argTypes:{href:{control:"text",description:"Anchor href value."},variant:{control:"inline-radio",options:f,description:"Visual link treatment."},target:{control:"select",options:d,description:"Anchor target attribute."},disabled:{control:"boolean",description:"Prevents navigation and applies disabled styling."},inline:{control:"boolean",description:"Renders inline-flex or block flex layout."},bold:{control:"boolean",description:"Applies stronger text weight."},italic:{control:"boolean",description:"Applies italic text style."},lineThrough:{control:"boolean",description:"Adds line-through decoration to the content."},label:{control:"text",description:"Slot content preview text.",table:{category:"Slots"}},showPrefix:{control:"boolean",description:"Shows a prefix icon slot in the preview.",table:{category:"Slots"}},showSuffix:{control:"boolean",description:"Shows a suffix icon slot in the preview.",table:{category:"Slots"}}},render:e=>({components:{pzLink:o,pzIcon:p,pzText:c},setup(){return{args:e,linkReferenceItems:u}},template:`
11
+ <div class="pz-link-story">
12
+ <section class="pz-link-story-board">
13
+ <div class="pz-link-story-header">
14
+ <div>
15
+ <span class="pz-link-story-eyebrow">Component API</span>
16
+ <pz-text variant="h4-bold">One public link primitive</pz-text>
17
+ </div>
18
+ <span class="pz-link-story-chip">{{ args.variant }}</span>
19
+ </div>
20
+
21
+ <div class="pz-link-story-preview">
22
+ <pz-link
23
+ :href="args.href"
24
+ :variant="args.variant"
25
+ :target="args.target"
26
+ :disabled="args.disabled"
27
+ :inline="args.inline"
28
+ :bold="args.bold"
29
+ :italic="args.italic"
30
+ :line-through="args.lineThrough"
31
+ >
32
+ <template v-if="args.showPrefix" #prefix>
33
+ <pz-icon
34
+ name="open_in_new"
35
+ size="16"
36
+ label="Link prefix icon"
37
+ />
38
+ </template>
39
+
40
+ {{ args.label }}
41
+
42
+ <template v-if="args.showSuffix" #suffix>
43
+ <pz-icon
44
+ name="arrow_forward"
45
+ size="16"
46
+ label="Link suffix icon"
47
+ />
48
+ </template>
49
+ </pz-link>
50
+ </div>
51
+ </section>
52
+
53
+ <section class="pz-link-story-gallery">
54
+ <div class="pz-link-story-header">
55
+ <div>
56
+ <span class="pz-link-story-eyebrow">Variants</span>
57
+ <pz-text variant="h4-bold">Text, button, and icon link treatments</pz-text>
58
+ </div>
59
+ </div>
60
+
61
+ <div class="pz-link-story-grid">
62
+ <article
63
+ v-for="item in linkReferenceItems"
64
+ :key="item.variant"
65
+ class="pz-link-story-card"
66
+ >
67
+ <div class="pz-link-story-row">
68
+ <pz-link
69
+ href="https://prozorro.gov.ua"
70
+ :variant="item.variant"
71
+ target="_blank"
72
+ >
73
+ <template v-if="item.prefix" #prefix>
74
+ <pz-icon
75
+ :name="item.prefix"
76
+ size="16"
77
+ :label="item.label + ' prefix icon'"
78
+ />
79
+ </template>
80
+
81
+ {{ item.label }}
82
+
83
+ <template v-if="item.suffix" #suffix>
84
+ <pz-icon
85
+ :name="item.suffix"
86
+ size="16"
87
+ :label="item.label + ' suffix icon'"
88
+ />
89
+ </template>
90
+ </pz-link>
91
+ </div>
92
+ <p class="pz-link-story-code">
93
+ .pz-link { --pz-link-color; --pz-link-hover-color; --pz-link-border-color; }
94
+ </p>
95
+ </article>
96
+ </div>
97
+ </section>
98
+ </div>
99
+ `})},i={};var r,a,l;i.parameters={...i.parameters,docs:{...(r=i.parameters)==null?void 0:r.docs,source:{originalSource:"{}",...(l=(a=i.parameters)==null?void 0:a.docs)==null?void 0:l.source}}};const g=["Playground"];export{i as Playground,g as __namedExportsOrder,b as default};
@@ -0,0 +1 @@
1
+ .pz-modal-story{display:grid;gap:24px}.pz-modal-story-board{padding:clamp(24px,3vw,32px);border:1px solid color-mix(in srgb,var(--pz-color-grey-40) 58%,transparent);border-radius:28px;background:linear-gradient(180deg,color-mix(in srgb,var(--pz-color-white) 98%,transparent),color-mix(in srgb,var(--pz-color-grey-40) 10%,var(--pz-color-white))),linear-gradient(135deg,color-mix(in srgb,var(--pz-color-blue-50) 4%,transparent),transparent 42%);box-shadow:0 18px 60px color-mix(in srgb,var(--pz-color-black-90) 8%,transparent),inset 0 1px color-mix(in srgb,var(--pz-color-white) 96%,transparent)}.pz-modal-story-copy{display:grid;gap:16px;max-width:560px}.pz-modal-story-eyebrow{display:inline-flex;width:fit-content;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pz-color-text-link-hover)}.pz-modal-story-trigger,.pz-modal-story-primary,.pz-modal-story-secondary{height:40px;padding:0 16px;border-radius:4px;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-modal-story-trigger,.pz-modal-story-primary{border:1px solid var(--pz-color-button-primary);background:var(--pz-color-button-primary);color:var(--pz-color-white)}.pz-modal-story-trigger:hover,.pz-modal-story-trigger:focus-visible,.pz-modal-story-primary:hover,.pz-modal-story-primary:focus-visible{background:var(--pz-color-button-primary-hover);border-color:var(--pz-color-button-primary-hover);outline:none}.pz-modal-story-secondary{border:1px solid color-mix(in srgb,var(--pz-color-grey-60) 56%,transparent);background:var(--pz-color-white);color:var(--pz-color-text-primary)}.pz-modal-story-secondary:hover,.pz-modal-story-secondary:focus-visible{border-color:var(--pz-color-text-link-hover);color:var(--pz-color-text-link-hover);outline:none}.pz-modal-story-content{display:grid;gap:20px}.pz-modal-story-paper{display:grid;gap:12px;padding:20px;border:1px solid color-mix(in srgb,var(--pz-color-grey-40) 56%,transparent);border-radius:6px;background:linear-gradient(180deg,#fff,#fbfcff)}.pz-modal-story-document-header{display:flex;align-items:center;gap:12px;min-width:0}.pz-modal-story-download{color:var(--pz-color-text-link);text-decoration:none;white-space:nowrap;font-size:var(--pz-font-size-14);font-weight:400;line-height:1.5}.pz-modal-story-download:hover,.pz-modal-story-download:focus-visible{color:var(--pz-color-text-link-hover);outline:none}.pz-modal-story-document{min-height:72vh;padding:12px;background:#2f2f31}.pz-modal-story-document-frame{display:grid;place-items:center;min-height:calc(72vh - 24px);background:linear-gradient(90deg,#333 0 18%,transparent 18% 82%,#333 82% 100%),#f4f4f2}.pz-modal-story-document-sheet{width:min(100%,620px);aspect-ratio:.75;background:linear-gradient(rgba(0,0,0,.0705882353) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.031372549) 1px,transparent 1px),linear-gradient(180deg,#fff,#f6f6f4);background-size:100% 30px,28px 100%,100% 100%;box-shadow:0 18px 40px #00000026}@media (width <= 640px){.pz-modal-story-board{padding:20px;border-radius:22px}.pz-modal-story-document-header{flex-wrap:wrap;align-items:start}}.pz-modal[data-v-8dc1c00e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100}.pz-modal-overlay[data-v-8dc1c00e]{display:grid;place-items:center;width:100%;height:100%;padding:clamp(12px,3vw,32px);background:color-mix(in srgb,var(--pz-color-black-90) 74%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pz-modal-dialog[data-v-8dc1c00e]{--pz-modal-width: min(720px, calc(100vw - 32px) );--pz-modal-padding: 8px;--pz-modal-radius: 3px;width:var(--pz-modal-width);max-width:100%;max-height:min(92vh,980px);overflow:auto;border:1px solid color-mix(in srgb,var(--pz-color-grey-40) 48%,transparent);border-radius:var(--pz-modal-radius);background:var(--pz-color-white);box-shadow:0 28px 80px color-mix(in srgb,var(--pz-color-black-90) 18%,transparent),0 6px 24px color-mix(in srgb,var(--pz-color-black-90) 10%,transparent)}.pz-modal-dialog--compact[data-v-8dc1c00e]{--pz-modal-width: min(520px, calc(100vw - 32px) )}.pz-modal-dialog--regular[data-v-8dc1c00e]{--pz-modal-width: min(720px, calc(100vw - 32px) )}.pz-modal-dialog--wide[data-v-8dc1c00e]{--pz-modal-width: min(1080px, calc(100vw - 32px) )}.pz-modal-dialog--fullscreen[data-v-8dc1c00e]{--pz-modal-width: calc(100vw - 24px) ;max-height:calc(100vh - 24px)}.pz-modal-header[data-v-8dc1c00e],.pz-modal-footer[data-v-8dc1c00e]{position:sticky;z-index:1;background:var(--pz-color-white)}.pz-modal-header[data-v-8dc1c00e]{top:0;display:flex;align-items:start;justify-content:end;gap:16px;padding:var(--pz-modal-padding)}.pz-modal-header--between[data-v-8dc1c00e]{justify-content:space-between}.pz-modal-footer[data-v-8dc1c00e]{bottom:0;display:flex;align-items:center;justify-content:end;gap:12px;padding:var(--pz-modal-padding)}.pz-modal-title[data-v-8dc1c00e]{min-width:0;padding-top:2px}.pz-modal-body[data-v-8dc1c00e]{padding:0 var(--pz-modal-padding) var(--pz-modal-padding);color:var(--pz-color-text-primary);overflow-wrap:anywhere;font-size:var(--pz-font-size-14);font-weight:400;line-height:1.5}.pz-modal-close[data-v-8dc1c00e]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--pz-color-text-link);cursor:pointer;transition:color .16s ease,background-color .16s ease}.pz-modal-close[data-v-8dc1c00e]:hover,.pz-modal-close[data-v-8dc1c00e]:focus-visible{color:var(--pz-color-text-link-hover);background:color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent);outline:none}@media (width <= 640px){.pz-modal-overlay[data-v-8dc1c00e]{padding:12px}.pz-modal-dialog[data-v-8dc1c00e]{--pz-modal-width: calc(100vw - 24px) ;--pz-modal-padding: 16px}.pz-modal-header[data-v-8dc1c00e]{gap:12px;padding-bottom:12px}.pz-modal-footer[data-v-8dc1c00e]{flex-wrap:wrap;justify-content:stretch}}