@prozorro/prozorro-ui 0.0.48-beta → 0.1.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/assets/{Color-FRDS63T2-DGwiyhGG.js → Color-FRDS63T2-BVz2f00d.js} +1 -1
- package/dist/app/assets/{Colors.stories-C6tRL3RE.js → Colors.stories-Bqj7ISVt.js} +1 -1
- package/dist/app/assets/{Display.stories-oXy9YHbm.js → Display.stories-B5gIRakW.js} +1 -1
- package/dist/app/assets/{DocsRenderer-LL677BLK-DR0VDCnO.js → DocsRenderer-LL677BLK-BW6aJ_1X.js} +5 -5
- package/dist/app/assets/{Gap.stories-OcBZ5Obx.js → Gap.stories-CniqkF0M.js} +1 -1
- package/dist/app/assets/{Grid.stories-ORthsqGP.js → Grid.stories-FIukTec9.js} +1 -1
- package/dist/app/assets/{PzAccordion-ZGZtmY6Z.js → PzAccordion-j2KPhxkl.js} +1 -1
- package/dist/app/assets/{PzAccordion.stories-COdzTmcx.js → PzAccordion.stories-De5BvfSm.js} +1 -1
- package/dist/app/assets/PzAccordionTable.stories-CsWj-bBP.js +275 -0
- package/dist/app/assets/{PzArrayClamp-BzUXHyXV.css → PzArrayClamp-6pCo87AW.css} +1 -1
- package/dist/app/assets/{PzArrayClamp.stories-y4qdcbs2.js → PzArrayClamp.stories-BSyz8B47.js} +7 -7
- package/dist/app/assets/{PzBreadcrumb-CubvofiN.css → PzBreadcrumb-5IRljnPN.css} +1 -1
- package/dist/app/assets/{PzBreadcrumb.stories-C-Gnxhmj.js → PzBreadcrumb.stories-WrKsdOW9.js} +7 -7
- package/dist/app/assets/{PzBtn-3ZvQQBuK.js → PzBtn-Drnbf-hv.js} +1 -1
- package/dist/app/assets/{PzBtn.stories-GnJlWqFg.js → PzBtn.stories-DpKdGB3_.js} +1 -1
- package/dist/app/assets/{PzCheckbox-Cec3yT-X.js → PzCheckbox-BgVA2A5K.js} +1 -1
- package/dist/app/assets/{PzCheckbox.stories-ChNV6Fg0.js → PzCheckbox.stories-Bdu2y_6p.js} +1 -1
- package/dist/app/assets/{PzCheckboxGroup.stories-C43yzZyL.js → PzCheckboxGroup.stories-_ZK_xrjB.js} +3 -3
- package/dist/app/assets/PzCopyToClipboard-B2LO9HwW.css +1 -0
- package/dist/app/assets/PzCopyToClipboard-CtQGvRub.js +1 -0
- package/dist/app/assets/{PzCopyToClipboard-DofnjMUH.css → PzCopyToClipboard-DL0w8b6k.css} +1 -1
- package/dist/app/assets/PzCopyToClipboard.stories-oJRz-OBl.js +45 -0
- package/dist/app/assets/{PzDate-C8z_woUV.js → PzDate-C4NsinNg.js} +1 -1
- package/dist/app/assets/{PzDate.stories-CGqVByJ2.js → PzDate.stories-CQAvMqYX.js} +1 -1
- package/dist/app/assets/PzDateRange.stories-BmJVrmmM.js +9 -0
- package/dist/app/assets/{PzDomHandler.stories-22JWi4Pk.js → PzDomHandler.stories-CO1-Bgjp.js} +1 -1
- package/dist/app/assets/{PzDropdown.stories-COSplwRg.js → PzDropdown.stories-BncdFzYA.js} +3 -3
- package/dist/app/assets/{PzFileInput-Gac6BDfH.css → PzFileInput-rnctoVro.css} +1 -1
- package/dist/app/assets/{PzFileInput.stories-CzE1HF_5.js → PzFileInput.stories-AJDqwbJJ.js} +4 -4
- package/dist/app/assets/{PzGrid.stories-ByIb2SfH.js → PzGrid.stories-Cb67hM-g.js} +1 -1
- package/dist/app/assets/{PzHint-K4f9bbv4.js → PzHint-MA6f7oIU.js} +1 -1
- package/dist/app/assets/{PzHint.stories-CYPoWmOd.js → PzHint.stories-Dzn1mJDu.js} +1 -1
- package/dist/app/assets/{PzIcon-D_M29Jem.js → PzIcon-B6DKI9jR.js} +1 -1
- package/dist/app/assets/{PzIcon.stories-D-1U9HzF.js → PzIcon.stories-BprUm_Rr.js} +1 -1
- package/dist/app/assets/{PzImage.stories-Cyqp9_Ts.js → PzImage.stories-DzkaXp9y.js} +1 -1
- package/dist/app/assets/{PzImageInput-Xn8tHgIu.css → PzImageInput-DbgEYyxQ.css} +1 -1
- package/dist/app/assets/{PzImageInput.stories-Cv9hiX3A.js → PzImageInput.stories-B3lBLZ95.js} +4 -4
- package/dist/app/assets/{PzInfoBlockLayout.stories-mLOZ2BUl.js → PzInfoBlockLayout.stories-BVDKrECL.js} +2 -2
- package/dist/app/assets/PzInfoHint-CJq5yECH.css +1 -0
- package/dist/app/assets/PzInfoHint-DqQNQxBD.js +1 -0
- package/dist/app/assets/{PzInfoHint.stories-DGDVX4Vl.js → PzInfoHint.stories-D-C_-yH2.js} +3 -3
- package/dist/app/assets/{PzInput.stories-DRzqfsxV.js → PzInput.stories-DdHwlzhn.js} +3 -3
- package/dist/app/assets/{PzInputDate.stories-Cx-o9L-B.js → PzInputDate.stories-DjWamRsZ.js} +2 -2
- package/dist/app/assets/{PzInputNumber.stories-UPBL99Te.js → PzInputNumber.stories-BtBZRw3_.js} +3 -3
- package/dist/app/assets/PzKeyValue-CZOOY--K.js +1 -0
- package/dist/app/assets/{PzKeyValue.stories-DNKUjpj6.js → PzKeyValue.stories-BZmHYazM.js} +1 -1
- package/dist/app/assets/{PzLabel-Sk7Zfnxm.js → PzLabel-BDpZH4kX.js} +1 -1
- package/dist/app/assets/{PzLabel.stories-h137KH6Z.js → PzLabel.stories-C_lElhhL.js} +1 -1
- package/dist/app/assets/{PzLink-DUfO673p.js → PzLink-DpFdQYYh.js} +1 -1
- package/dist/app/assets/{PzLink.stories-Bal23npH.js → PzLink.stories-DaRb3tYd.js} +1 -1
- package/dist/app/assets/{PzListNav-fzVCtoPb.js → PzListNav-Cd3sDdJJ.js} +1 -1
- package/dist/app/assets/{PzListNav.stories-CjOGwy2_.js → PzListNav.stories-BW5mTNNu.js} +2 -2
- package/dist/app/assets/PzLoader-CwFuPxgP.css +1 -0
- package/dist/app/assets/PzLoader.stories-bZF_OC5v.js +9 -0
- package/dist/app/assets/PzMessages-B-LKEjuh.js +1 -0
- package/dist/app/assets/PzMessages.stories-D357hVjI.js +15 -0
- package/dist/app/assets/{PzModal-CnBWmDSc.css → PzModal-CrAwJgjU.css} +1 -1
- package/dist/app/assets/{PzModal.stories-DNr1FYLX.js → PzModal.stories-BBik0MMz.js} +8 -8
- package/dist/app/assets/{PzMultiSelect-Cfb6evRy.css → PzMultiSelect-BEXt5IOi.css} +1 -1
- package/dist/app/assets/{PzMultiSelect.stories-DdABvYVV.js → PzMultiSelect.stories-CmMH-lZl.js} +13 -13
- package/dist/app/assets/{PzNav.stories-DssZV4Fn.js → PzNav.stories-B9fCLP7H.js} +4 -4
- package/dist/app/assets/{PzNumberFormat.stories-DCzc0PDa.js → PzNumberFormat.stories-DwMjhEp5.js} +1 -1
- package/dist/app/assets/{PzPagination-DrdBvKcE.css → PzPagination-B1-6uy7o.css} +1 -1
- package/dist/app/assets/PzPagination-Cjrdt8eD.js +1 -0
- package/dist/app/assets/{PzPagination.stories-lo_0kD77.js → PzPagination.stories-DF06-Z_g.js} +2 -2
- package/dist/app/assets/{PzPaginationProvider.stories-C5CrTPLC.js → PzPaginationProvider.stories-BsxcJ4Gw.js} +2 -2
- package/dist/app/assets/{PzPriceFormat.stories-CNCQQ9FB.js → PzPriceFormat.stories-Dwbd5NWP.js} +1 -1
- package/dist/app/assets/{PzRadioGroup.stories-BB1uAgGt.js → PzRadioGroup.stories-C6ut-aeX.js} +2 -2
- package/dist/app/assets/{PzRouterLink.stories-CUKyZFlv.js → PzRouterLink.stories-CrO16wW6.js} +3 -3
- package/dist/app/assets/{PzScrollTo.stories-p19ZARL7.js → PzScrollTo.stories-mL--WFXj.js} +1 -1
- package/dist/app/assets/{PzSearchResultItemLayout.stories-BjEYwCDt.js → PzSearchResultItemLayout.stories-B8wizn8U.js} +1 -1
- package/dist/app/assets/PzSelect-Bf-GWA7x.js +1 -0
- package/dist/app/assets/{PzSelect.stories-Dr8u6y0g.js → PzSelect.stories-CVbDST1l.js} +1 -1
- package/dist/app/assets/{PzSkeleton-hGMlIe1N.js → PzSkeleton-djLtPALS.js} +1 -1
- package/dist/app/assets/{PzSkeleton.stories-Bu6iTcDi.js → PzSkeleton.stories-Cg9CmgiB.js} +1 -1
- package/dist/app/assets/{PzStatus-CZtMdZaT.js → PzStatus-DBgvFPIT.js} +1 -1
- package/dist/app/assets/{PzStatus.stories-BHuiK8zy.js → PzStatus.stories-Cm1S0Mck.js} +1 -1
- package/dist/app/assets/PzTable-Cwro4jnD.js +1 -0
- package/dist/app/assets/{PzTable-C59sd8hh.css → PzTable-DCIfmtm8.css} +1 -1
- package/dist/app/assets/{PzTable.stories-B2pVMF6l.js → PzTable.stories-DLcBKDhp.js} +3 -3
- package/dist/app/assets/PzTablePaginationProvider.stories-B0HDUohI.js +32 -0
- package/dist/app/assets/{PzTabs.stories-C1UH6KxI.js → PzTabs.stories-4bBKN-ug.js} +2 -2
- package/dist/app/assets/{PzTag-BdWYHSYV.js → PzTag-VsavdTWa.js} +1 -1
- package/dist/app/assets/{PzTag.stories-KF2LEV9t.js → PzTag.stories-zvomqWhr.js} +1 -1
- package/dist/app/assets/{PzText-D28wm55Y.js → PzText-BoQ90zAW.js} +1 -1
- package/dist/app/assets/{PzText.stories-Ax8x9D14.js → PzText.stories-sdVXnwKv.js} +1 -1
- package/dist/app/assets/{PzTextClamp-D9MjEcfh.css → PzTextClamp-DpdwWXt9.css} +1 -1
- package/dist/app/assets/PzTextClamp.stories-DCG6vgz5.js +150 -0
- package/dist/app/assets/{PzTextarea.stories-YtyiPANf.js → PzTextarea.stories-BMRUE73i.js} +5 -5
- package/dist/app/assets/{PzValidatorXSS.stories-iy7ESRaV.js → PzValidatorXSS.stories-aDwsXWzG.js} +1 -1
- package/dist/app/assets/{Spacing.stories-D1adSb8d.js → Spacing.stories-BX_Vc1F9.js} +1 -1
- package/dist/app/assets/{StaticPagination.composable-B65l6eaY.js → StaticPagination.composable-Ck7EHnzo.js} +1 -1
- package/dist/app/assets/{Typography.stories-CY9u_j9S.js → Typography.stories-DMi76uSN.js} +1 -1
- package/dist/app/assets/{WithTooltip-65CFNBJE-CxghxT7L.js → WithTooltip-65CFNBJE-D-QzTy-o.js} +1 -1
- package/dist/app/assets/configs-D5Kdbqb7.js +1 -0
- package/dist/app/assets/{floating-vue-BJ2OXy_O.js → floating-vue-DVoT3Xpy.js} +1 -1
- package/dist/app/assets/{floating-vue-C_PX9A2b.js → floating-vue-OkqMh8FV.js} +1 -1
- package/dist/app/assets/{formatter-EIJCOSYU-CdXcwTt0.js → formatter-EIJCOSYU-esurYlwa.js} +1 -1
- package/dist/app/assets/{iframe-Do6fIq0O.js → iframe-DU_JVmy2.js} +4 -4
- package/dist/app/assets/{index-xSygHBWW.js → index-Dh-7SPEm.js} +1 -1
- package/dist/app/assets/{syntaxhighlighter-OH4MV7E3-BoFCZ4Nr.js → syntaxhighlighter-OH4MV7E3-NRwygmmB.js} +1 -1
- package/dist/app/iframe.html +1 -1
- package/dist/app/index.json +1 -1
- package/dist/app/project.json +1 -1
- package/dist/components/Actions/PzCopyToClipboard/PzCopyToClipboard.vue.d.ts +0 -2
- package/dist/components/Display/PzLoader/PzLoader.vue.d.ts +0 -1
- package/dist/components/Form/PzFileInput/PzFileInput.vue.d.ts +0 -1
- package/dist/components/Form/PzImageInput/PzImageInput.vue.d.ts +0 -1
- package/dist/components/Form/PzMultiSelect/PzMultiSelect.vue.d.ts +0 -1
- package/dist/components/Form/shared/configs.d.ts +0 -15
- package/dist/components/Navigation/PzBreadcrumb/PzBreadcrumb.vue.d.ts +3 -3
- package/dist/components/Popups/PzModal/PzModal.vue.d.ts +0 -1
- package/dist/components/Popups/PzModal/constants.d.ts +0 -2
- package/dist/components/Text/PzArrayClamp/PzArrayClamp.vue.d.ts +0 -2
- package/dist/components/Text/PzTextClamp/PzTextClamp.vue.d.ts +0 -2
- package/dist/index.d.ts +1 -0
- package/dist/package.json +1 -1
- package/dist/prozorro-ui.cjs +14 -14
- package/dist/prozorro-ui.js +4595 -4477
- package/dist/services/PzMessages/PzMessages.d.ts +21 -0
- package/dist/services/PzMessages/constants.d.ts +11 -0
- package/dist/services/PzMessages/index.d.ts +2 -0
- package/dist/services/PzMessages/types.d.ts +95 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/app/assets/PzAccordionTable.stories-7XMDsSUZ.js +0 -275
- package/dist/app/assets/PzCopyToClipboard.stories-BeoHUszf.js +0 -45
- package/dist/app/assets/PzDateRange.stories-DTEKUrii.js +0 -9
- package/dist/app/assets/PzInfoHint-BotCQ26a.js +0 -1
- package/dist/app/assets/PzInfoHint-CWG8xkDj.css +0 -1
- package/dist/app/assets/PzKeyValue-C4V_BBbW.js +0 -1
- package/dist/app/assets/PzLoader-J7_Govh3.css +0 -1
- package/dist/app/assets/PzLoader.stories-CkmSVpVi.js +0 -9
- package/dist/app/assets/PzPagination-B_K2ZW4F.js +0 -1
- package/dist/app/assets/PzSelect-DtTfIM1x.js +0 -1
- package/dist/app/assets/PzTable-DgKlWdrk.js +0 -1
- package/dist/app/assets/PzTablePaginationProvider.stories-CN6uZcf6.js +0 -32
- package/dist/app/assets/PzTextClamp.stories-BsC8cDUD.js +0 -150
- package/dist/app/assets/configs-CZIaFchr.js +0 -1
- package/dist/components/Navigation/PzBreadcrumb/constants.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
.pz-table-data[data-v-e0a86207]{padding:var(--pz-space-16) var(--pz-space-8);text-align:left;vertical-align:top;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.pz-table-data[data-v-e0a86207]:first-child{padding-left:0}.pz-table-data[data-v-e0a86207]:last-child{padding-right:0}@media (max-width: 1023.98px){.pz-table-data[data-v-e0a86207]{display:grid;gap:var(--pz-space-8);padding:0;width:auto!important;min-width:0;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;word-break:normal}}.pz-table-data--bold[data-v-e0a86207]{-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-data-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-data-font-weight, var(--pz-typography-font-weight, 600));line-height:var(--pz-table-data-line-height, var(--pz-typography-line-height, 1.5))}.pz-table-data__title[data-v-e0a86207]{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-8);margin:0;color:var(--pz-color-text-primary);-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-data-title-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-data-title-font-weight, var(--pz-typography-font-weight, 600));line-height:var(--pz-table-data-title-line-height, var(--pz-typography-line-height, 1.5))}@media (min-width: 1024px){.pz-table-data__title[data-v-e0a86207]{display:none}}.pz-table-head[data-v-c4688b62]{padding:var(--pz-space-12) var(--pz-space-8) var(--pz-space-16);color:var(--pz-color-text-primary);text-align:left;vertical-align:top;-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-head-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-head-font-weight, var(--pz-typography-font-weight, 700));line-height:var(--pz-table-head-line-height, var(--pz-typography-line-height, 1.5))}.pz-table-head[data-v-c4688b62]:first-child{padding-left:0}.pz-table-head[data-v-c4688b62]:last-child{padding-right:0}.pz-table-head__hint[data-v-c4688b62]{margin-left:var(--pz-space-8);vertical-align:middle}.pz-table-wrap[data-v-
|
|
1
|
+
.pz-table-data[data-v-e0a86207]{padding:var(--pz-space-16) var(--pz-space-8);text-align:left;vertical-align:top;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.pz-table-data[data-v-e0a86207]:first-child{padding-left:0}.pz-table-data[data-v-e0a86207]:last-child{padding-right:0}@media (max-width: 1023.98px){.pz-table-data[data-v-e0a86207]{display:grid;gap:var(--pz-space-8);padding:0;width:auto!important;min-width:0;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;word-break:normal}}.pz-table-data--bold[data-v-e0a86207]{-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-data-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-data-font-weight, var(--pz-typography-font-weight, 600));line-height:var(--pz-table-data-line-height, var(--pz-typography-line-height, 1.5))}.pz-table-data__title[data-v-e0a86207]{display:flex;align-items:start;justify-content:space-between;gap:var(--pz-space-8);margin:0;color:var(--pz-color-text-primary);-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-data-title-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-data-title-font-weight, var(--pz-typography-font-weight, 600));line-height:var(--pz-table-data-title-line-height, var(--pz-typography-line-height, 1.5))}@media (min-width: 1024px){.pz-table-data__title[data-v-e0a86207]{display:none}}.pz-table-head[data-v-c4688b62]{padding:var(--pz-space-12) var(--pz-space-8) var(--pz-space-16);color:var(--pz-color-text-primary);text-align:left;vertical-align:top;-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-head-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-head-font-weight, var(--pz-typography-font-weight, 700));line-height:var(--pz-table-head-line-height, var(--pz-typography-line-height, 1.5))}.pz-table-head[data-v-c4688b62]:first-child{padding-left:0}.pz-table-head[data-v-c4688b62]:last-child{padding-right:0}.pz-table-head__hint[data-v-c4688b62]{margin-left:var(--pz-space-8);vertical-align:middle}.pz-table-wrap[data-v-ac7bfb59]{width:100%;overflow-x:auto}.pz-table[data-v-ac7bfb59]{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--pz-color-text-primary);-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-table-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-table-font-weight, var(--pz-typography-font-weight, 400));line-height:var(--pz-table-line-height, var(--pz-typography-line-height, 1.5))}@media (max-width: 1023.98px){.pz-table__head[data-v-ac7bfb59]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}}.pz-table--no-head>tbody>.pz-table__row[data-v-ac7bfb59]:first-child{border-top:1px solid var(--pz-color-stroke-grey)}.pz-table__row[data-v-ac7bfb59]{border-bottom:1px solid var(--pz-color-stroke-grey)}@media (max-width: 1023.98px){.pz-table__row[data-v-ac7bfb59]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--pz-space-8);padding-block:var(--pz-space-16)}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{P}from"./PzLink-
|
|
1
|
+
import{P}from"./PzLink-DpFdQYYh.js";import{P as S}from"./PzTag-VsavdTWa.js";import{P as r}from"./PzText-BoQ90zAW.js";import{P as k}from"./PzTable-Cwro4jnD.js";import"./iframe-DU_JVmy2.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./PzMessages-B-LKEjuh.js";import"./lodash-CdDiHlzQ.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./PzInfoHint-DqQNQxBD.js";import"./PzIcon-B6DKI9jR.js";import"./PzHint-MA6f7oIU.js";import"./floating-vue-DVoT3Xpy.js";import"./floating-vue-OkqMh8FV.js";const i="—",l=k,w=k,C=[{id:"name",name:"Назва",key:"name",colWidth:22},{id:"classification",name:"Класифікатор та його відповідний код",key:"classification",colWidth:30},{id:"quantity",name:"Кількість/Одиниці виміру",key:"quantity",colWidth:14},{id:"deliveryLocation",name:"Місце поставки",key:"deliveryLocation",colWidth:18},{id:"deliveryDate",name:"Дата поставки",key:"deliveryDate",colWidth:16}],T=[{id:"item-1",name:"Швидкозшивач пласт. E31509, 31511",classification:"ДК 021:2015: 30190000-7 — Офісне устаткування та приладдя різне",quantity:"100 штука",deliveryLocation:"79025, Україна, Львівська область, Львів, вул.Левандівська, будинок 17-В",deliveryDate:"до 30 грудня 2026"},{id:"item-2",name:"Ручка масляна, 0,7мм, PT-195, Piano",classification:"ДК 021:2015: 30190000-7 — Офісне устаткування та приладдя різне",quantity:"150 штука",deliveryLocation:"79025, Україна, Львівська область, Львів, вул.Левандівська, будинок 17-В",deliveryDate:"до 30 грудня 2026"},{id:"item-3",name:"Папка А4 КОШЕНЯ 34,527,51см, верт. 2 ручки",classification:"ДК 021:2015: 30190000-7 — Офісне устаткування та приладдя різне",quantity:"30 штука",deliveryLocation:"79025, Україна, Львівська область, Львів, вул.Левандівська, будинок 17-В",deliveryDate:"до 30 грудня 2026"}],x=[{id:"name",name:"Назва",key:"name",colWidth:18},{id:"classification",name:"Класифікатор та його відповідний код",key:"classification",colWidth:24},{id:"quantity",name:"Кількість/Одиниці виміру",key:"quantity",colWidth:14},{id:"price",name:"Ціна за одиницю",key:"price",colWidth:14},{id:"deliveryLocation",name:"Місце поставки",key:"deliveryLocation",colWidth:18},{id:"deliveryDate",name:"Дата поставки",key:"deliveryDate",colWidth:12}],W=T.map(t=>({...t,price:null})),L=[{id:"event",name:"Подія",key:"event",colWidth:18},{id:"type",name:"Тип",key:"type",colWidth:18},{id:"reason",name:"Підстава",key:"reason",colWidth:18},{id:"period",name:"Період, (днів)",key:"period",colWidth:16},{id:"daysType",name:"Тип днів",key:"daysType",colWidth:15},{id:"amount",name:"Розмір, (%)",key:"amount",colWidth:15}],D=[{id:"payment-1",event:"Оплата",type:"Пiсляоплата",reason:"поставка товару",period:10,daysType:"робочі",amount:100},{id:"payment-2",event:"Поставка",type:"Одноразова поставка",reason:"подання заявки",period:10,daysType:"робочі",amount:100}],A=[{id:"supplier",name:"Постачальник",key:"supplier",colWidth:28},{id:"contractId",name:"Договір",key:"contractId",colWidth:20},{id:"amount",name:"Сума",key:"amount",colWidth:18},{id:"status",name:"Статус",key:"statusLabel",colWidth:18},{id:"updatedAt",name:"Оновлено",key:"updatedAt",colWidth:16}],U=[{id:"contract-01",supplier:{name:"ТОВ «Офіс-Постач»",href:"https://prozorro.gov.ua"},contractId:"UA-2026-04-17-000001",amount:128340.5,status:"active",statusLabel:"Активний",updatedAt:"17.04.2026"},{id:"contract-02",supplier:{name:"ФОП Іваненко Ірина",href:"https://prozorro.gov.ua"},contractId:"UA-2026-04-17-000002",amount:68400,status:"hidden",statusLabel:"Очікує підтвердження",updatedAt:"16.04.2026"}],E=`<template>
|
|
2
2
|
<PzTable
|
|
3
3
|
:config="config"
|
|
4
4
|
:data="data"
|
|
@@ -47,7 +47,7 @@ const data: PzTableRow[] = [
|
|
|
47
47
|
</PzTag>
|
|
48
48
|
</template>
|
|
49
49
|
</PzTable>
|
|
50
|
-
</template>`,
|
|
50
|
+
</template>`,ee={title:"Components/Data/PzTable",component:w,parameters:{prototype:{caption:"PzTable",note:"Three-part table structure based on the original prototype, refined only where needed for tokens, docs, and Storybook examples."},docs:{description:{component:"Use `PzTable` for procurement-style tabular data. Configure columns through `config`, provide rows through `data`, and override cell rendering with named slots that match `column.key`."}}},args:{config:C,data:T,defaultValue:i,visibleHeader:!0,isBoldFirstColumn:!0},argTypes:{config:{control:!1,description:"Column configuration array. Use `name`, `key`, and optional `colWidth`, `mobileName`, `infoContent`, `slot`, and `isContentHtml`."},data:{control:!1,description:"Table rows resolved by `column.key`."},defaultValue:{control:"text",description:"Fallback content for empty cells."},visibleHeader:{control:"boolean",description:"Shows or hides the desktop header row."},isBoldFirstColumn:{control:"boolean",description:"Makes the first column semibold."}}},a={parameters:{docs:{source:{code:E}}},render:t=>({components:{pzTable:l,pzText:r},setup(){return{args:t}},template:`
|
|
51
51
|
<div class="pz-table-story">
|
|
52
52
|
<section class="pz-table-story-board">
|
|
53
53
|
<div class="pz-table-story-header">
|
|
@@ -350,4 +350,4 @@ const data: PzTableRow[] = [
|
|
|
350
350
|
</div>
|
|
351
351
|
\`
|
|
352
352
|
})
|
|
353
|
-
}`,...(f=(h=s.parameters)==null?void 0:h.docs)==null?void 0:f.source}}};const
|
|
353
|
+
}`,...(f=(h=s.parameters)==null?void 0:h.docs)==null?void 0:f.source}}};const te=["Playground","ProcurementWithPrice","PaymentSchedule","CustomSlots"];export{s as CustomSlots,o as PaymentSchedule,a as Playground,n as ProcurementWithPrice,te as __namedExportsOrder,ee as default};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import{P}from"./PzTable-Cwro4jnD.js";import{P as u}from"./PzText-BoQ90zAW.js";import{e as b,f as v,z,C as t,v as T,q as f,o as r}from"./iframe-DU_JVmy2.js";import{I as y,P as _}from"./PzListNav-Cd3sDdJJ.js";import{u as h}from"./StaticPagination.composable-Ck7EHnzo.js";import"./PzMessages-B-LKEjuh.js";import"./lodash-CdDiHlzQ.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./PzInfoHint-DqQNQxBD.js";import"./PzIcon-B6DKI9jR.js";import"./PzHint-MA6f7oIU.js";import"./floating-vue-DVoT3Xpy.js";import"./floating-vue-OkqMh8FV.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-C1FmrZbK.js";import"./PzSelect-Bf-GWA7x.js";import"./index-Dh-7SPEm.js";import"./PzLabel-BDpZH4kX.js";import"./PzPagination-Cjrdt8eD.js";const n=b({name:"PzTablePaginationProvider",__name:"PzTablePaginationProvider",props:{perPage:{default:y.FIVE},data:{}},setup(e){const a=e,{perPage:l,pageChanged:d,getItems:m,isPaginationAvailable:g}=h(a);return(c,k)=>(r(),v("div",null,[z(c.$slots,"default",{items:t(m)}),t(g)?(r(),T(t(_),{key:0,total:e.data.length,"per-page":t(l),class:"pz-mt-32",onOnInput:t(d)},null,8,["total","per-page","onOnInput"])):f("",!0)]))}});n.__docgenInfo=Object.assign({displayName:n.name??n.__name},{name:"PzTablePaginationProvider",exportName:"default",displayName:"PzTablePaginationProvider",description:"",tags:{},props:[{name:"perPage",defaultValue:{func:!1,value:"ITEMS_PER_PAGE.FIVE"}}],slots:[{name:"default",scoped:!0,bindings:[{name:"items",title:"binding"}]}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Navigation/PzTablePaginationProvider/PzTablePaginationProvider.vue"]});const S=n,C=n,x=P,E=[{id:"name",name:"Назва",key:"name",colWidth:40},{id:"quantity",name:"Кількість",key:"quantity",colWidth:30},{id:"deliveryDate",name:"Дата поставки",key:"deliveryDate",colWidth:30}],I=12,N=10,w=Array.from({length:I},(e,a)=>({id:`item-${a+1}`,name:`Товар №${a+1}`,quantity:`${(a+1)*N} штука`,deliveryDate:"до 30 грудня 2026"})),J={title:"Components/Navigation/PzTablePaginationProvider",component:C,parameters:{docs:{description:{component:"Generic static-pagination wrapper for tabular data. Slices `data` into pages, exposes the current page array through the default `items` slot prop, and renders `PzListNav` when the data exceeds `perPage`. Here it is typed as `PzTableRow` and feeds a `PzTable`."}}},args:{data:w,perPage:5},argTypes:{data:{control:!1,description:"Full row array; the provider paginates it internally."},perPage:{control:{type:"number",min:1},description:"Rows per page."}}},o={render:e=>({components:{pzTablePaginationProvider:S,pzTable:x,pzText:u},setup(){return{args:e,config:E}},template:`
|
|
2
|
+
<div style="max-width: 720px;">
|
|
3
|
+
<pz-table-pagination-provider :data="args.data" :per-page="args.perPage">
|
|
4
|
+
<template #default="{ items }">
|
|
5
|
+
<pz-table :config="config" :data="items" />
|
|
6
|
+
</template>
|
|
7
|
+
</pz-table-pagination-provider>
|
|
8
|
+
</div>
|
|
9
|
+
`})};var i,p,s;o.parameters={...o.parameters,docs:{...(i=o.parameters)==null?void 0:i.docs,source:{originalSource:`{
|
|
10
|
+
render: (args: PzTablePaginationProviderStoryArgs) => ({
|
|
11
|
+
components: {
|
|
12
|
+
pzTablePaginationProvider: pzTablePaginationProviderStoryComponent,
|
|
13
|
+
pzTable: pzTableStoryComponent,
|
|
14
|
+
pzText: PzText
|
|
15
|
+
},
|
|
16
|
+
setup() {
|
|
17
|
+
return {
|
|
18
|
+
args,
|
|
19
|
+
config
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
template: \`
|
|
23
|
+
<div style="max-width: 720px;">
|
|
24
|
+
<pz-table-pagination-provider :data="args.data" :per-page="args.perPage">
|
|
25
|
+
<template #default="{ items }">
|
|
26
|
+
<pz-table :config="config" :data="items" />
|
|
27
|
+
</template>
|
|
28
|
+
</pz-table-pagination-provider>
|
|
29
|
+
</div>
|
|
30
|
+
\`
|
|
31
|
+
})
|
|
32
|
+
}`,...(s=(p=o.parameters)==null?void 0:p.docs)==null?void 0:s.source}}};const X=["Playground"];export{o as Playground,X as __namedExportsOrder,J as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{P as T}from"./PzText-
|
|
1
|
+
import{P as T}from"./PzText-BoQ90zAW.js";import{e as q,a5 as f,w as G,a6 as Q,A as J,B as X,a7 as Y,f as m,z as F,r as Z,o as u,k as K,i as tt,u as _,F as at,G as st,n as et,g as k,h as nt,c as rt,t as pt,a8 as P}from"./iframe-DU_JVmy2.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-C1FmrZbK.js";const ot=["","light"];var r=(t=>(t.INIT_TAB="init-tab",t.TABS_STATE="tabs-state",t.REMOVE_TAB="remove-tab",t))(r||{});const it={class:"pz-tab"},x=q({name:"PzTab",__name:"PzTab",props:{name:{default:"Tab"},selected:{type:Boolean,default:!1},id:{default:void 0}},setup(t){const a=t,p=K(),i=Z(!1),o=f(r.REMOVE_TAB,void 0),s=f(r.TABS_STATE,void 0),e=f(r.INIT_TAB,void 0),n={get id(){return a.id??`pz-tab-${(p==null?void 0:p.uid)??a.name}`},get name(){return a.name}};return G(()=>s==null?void 0:s.activeTab,z=>{i.value=a.name===z}),Q(()=>{e==null||e(n),i.value=a.selected}),J(()=>o==null?void 0:o(n)),(z,mt)=>X((u(),m("div",it,[F(z.$slots,"default",{},void 0,!0)],512)),[[Y,i.value]])}}),h=M(x,[["__scopeId","data-v-2374460d"]]);x.__docgenInfo=Object.assign({displayName:x.name??x.__name},{name:"PzTab",exportName:"default",displayName:"PzTab",description:"",tags:{},props:[{name:"name",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'"Tab"'}},{name:"selected",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"id",required:!1,type:{name:"string"},defaultValue:{func:!1,value:"undefined"}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Layouts/PzTabs/PzTab.vue"]});const lt={class:"pz-tabs__nav"},zt=["onClick"],bt={class:"pz-tabs__content"},g=q({name:"PzTabs",__name:"PzTabs",props:{skin:{default:""},maxWidth:{default:""}},setup(t){const a=nt({tabs:[],activeTab:""}),p=t,i=rt(()=>p.skin?`pz-tabs--${p.skin}`:"");P(r.TABS_STATE,a),P(r.INIT_TAB,s=>a.tabs.push(s)),P(r.REMOVE_TAB,s=>{a.tabs=a.tabs.filter(e=>e.id!==s.id),o()}),tt(()=>o());const o=()=>{var e;const[{name:s}={name:""}]=a.tabs.filter(({selected:n})=>n);a.activeTab=s||((e=a.tabs[0])==null?void 0:e.name)||""};return(s,e)=>(u(),m("div",{class:k(["pz-tabs",i.value]),style:et({maxWidth:t.maxWidth})},[_("ul",lt,[(u(!0),m(at,null,st(a.tabs,n=>(u(),m("li",{key:n.id,class:k(["pz-tabs__item",{active:a.activeTab===n.name}]),onClick:z=>a.activeTab=n.name||""},pt(n.name),11,zt))),128))]),_("div",bt,[F(s.$slots,"default",{},void 0,!0)])],6))}}),l=M(g,[["__scopeId","data-v-cb10282b"]]);g.__docgenInfo=Object.assign({displayName:g.name??g.__name},{name:"PzTabs",exportName:"default",displayName:"PzTabs",description:"",tags:{},props:[{name:"skin",required:!1,type:{name:"PzTabsSkin"},defaultValue:{func:!1,value:'""'}},{name:"maxWidth",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Layouts/PzTabs/PzTabs.vue"]});const dt=t=>[t.skin?`skin="${t.skin}"`:null,t.maxWidth?`max-width="${t.maxWidth}"`:null].filter(a=>!!a).join(" "),ct=t=>`<template>
|
|
2
2
|
<PzTabs ${dt(t)}>
|
|
3
3
|
<PzTab name="${t.currentEditionLabel}" selected>
|
|
4
4
|
Current content
|
|
@@ -400,7 +400,7 @@ ${[R(),H(),U()].join(`
|
|
|
400
400
|
</div>
|
|
401
401
|
</section>
|
|
402
402
|
</div>
|
|
403
|
-
`})},y={parameters:{docs:{source:{code:vt()}}}};var
|
|
403
|
+
`})},y={parameters:{docs:{source:{code:vt()}}}};var w,S,E;b.parameters={...b.parameters,docs:{...(w=b.parameters)==null?void 0:w.docs,source:{originalSource:"{}",...(E=(S=b.parameters)==null?void 0:S.docs)==null?void 0:E.source}}};var A,B,C;d.parameters={...d.parameters,docs:{...(A=d.parameters)==null?void 0:A.docs,source:{originalSource:`{
|
|
404
404
|
parameters: {
|
|
405
405
|
docs: {
|
|
406
406
|
source: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as l,
|
|
1
|
+
import{e as l,v as p,y as i,g as u,x as f,o as t,f as n,z as o,q as r,u as c}from"./iframe-DU_JVmy2.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const d={key:0,class:"pz-tag-prefix"},g={class:"pz-tag-label"},y={key:1,class:"pz-tag-suffix"},s=l({name:"PzTag",__name:"PzTag",props:{variant:{default:"grey"},as:{default:"span"},typography:{}},setup(e){return(a,z)=>(t(),p(f(e.as),{class:u(["pz-tag",[`pz-tag--${e.variant}`,e.typography?`pz-typography--${e.typography}`:null]])},{default:i(()=>[a.$slots.prefix?(t(),n("span",d,[o(a.$slots,"prefix",{},void 0,!0)])):r("",!0),c("span",g,[o(a.$slots,"default",{},void 0,!0)]),a.$slots.suffix?(t(),n("span",y,[o(a.$slots,"suffix",{},void 0,!0)])):r("",!0)]),_:3},8,["class"]))}}),T=m(s,[["__scopeId","data-v-8265a687"]]);s.__docgenInfo=Object.assign({displayName:s.name??s.__name},{name:"PzTag",exportName:"default",displayName:"PzTag",description:"",tags:{},props:[{name:"variant",required:!1,type:{name:"PzTagVariant"},defaultValue:{func:!1,value:'"grey"'}},{name:"as",required:!1,type:{name:"PzTagTag"},defaultValue:{func:!1,value:'"span"'}},{name:"typography",required:!1,type:{name:"PzTextVariant"}}],slots:[{name:"prefix"},{name:"default"},{name:"suffix"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Display/PzTag/PzTag.vue"]});export{T as P};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as c}from"./PzIcon-
|
|
1
|
+
import{_ as c}from"./PzIcon-B6DKI9jR.js";import{P as g}from"./PzText-BoQ90zAW.js";import{p as d}from"./configs-B15JgQZ-.js";import{P as o}from"./PzTag-VsavdTWa.js";import"./iframe-DU_JVmy2.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const m=["grey","blue","green","red","grey-light"],f=["span","div","li"],v=[{variant:"grey",label:"Neutral"},{variant:"grey-light",label:"Neutral light"},{variant:"blue",label:"Information"},{variant:"green",label:"Verified"},{variant:"red",label:"Important"}],y=t=>{const e=[t.variant!=="grey"?`variant="${t.variant}"`:null,t.as!=="span"?`as="${t.as}"`:null].filter(l=>!!l).join(" "),n=t.showPrefix?`
|
|
2
2
|
<template #prefix>
|
|
3
3
|
<PzIcon name="sell" size="12" />
|
|
4
4
|
</template>`:"",p=t.showSuffix?`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as n,
|
|
1
|
+
import{e as n,v as r,g as d,x as p,c as u,o as i,y as c,z as m}from"./iframe-DU_JVmy2.js";import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";const e=n({name:"PzText",__name:"PzText",props:{variant:{default:"body-regular"},as:{default:void 0}},setup(a){const t={"h1-bold":"h1","h1-regular":"h1","h2-bold":"h2","h3-bold":"h3","h3-regular":"h3","h4-regular":"h4","h4-semibold":"h4","h4-bold":"h4",subtitle:"p","body-regular":"p","body-semibold":"p","body-bold":"p",capitalized:"span",hint:"span","line-through":"span","small-regular":"span","small-semibold":"span","small-bold":"span",link:"a",document:"p"},s=a,l=u(()=>s.as??t[s.variant]??"span");return(o,h)=>(i(),r(p(l.value),{class:d(["pz-text",`pz-text--${a.variant}`])},{default:c(()=>[m(o.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}}),g=f(e,[["__scopeId","data-v-2680fad4"]]);e.__docgenInfo=Object.assign({displayName:e.name??e.__name},{name:"PzText",exportName:"default",displayName:"PzText",description:"",tags:{},props:[{name:"variant",required:!1,type:{name:"PzTextVariant"},defaultValue:{func:!1,value:'"body-regular"'}},{name:"as",required:!1,type:{name:"PzTextTag"},defaultValue:{func:!1,value:"undefined"}}],slots:[{name:"default"}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Text/PzText/PzText.vue"]});export{g as P};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as De,p as Pe}from"./configs-B15JgQZ-.js";import{P as R}from"./PzText-
|
|
1
|
+
import{a as De,p as Pe}from"./configs-B15JgQZ-.js";import{P as R}from"./PzText-BoQ90zAW.js";import"./iframe-DU_JVmy2.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const $e=r=>r.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),Ee={title:"Components/Text/PzText",component:R,parameters:{prototype:{caption:"Text component",note:"Component-level playground for semantic tag overrides and text variant rendering."},docs:{description:{component:"Vue text primitive for rendering the shared typography variants. Use `Foundation/Typography` for the full type-scale reference and `Components/Text/PzText` for the component API."},source:{transform:(r,e)=>{const a=e.args??{};return`<template>
|
|
2
2
|
<PzText ${[a.variant?`variant="${a.variant}"`:null,a.as?`as="${a.as}"`:null,a.content?`content="${a.content}"`:null].filter(Boolean).join(" ")} />
|
|
3
3
|
</template>`}}}},args:{variant:"body-regular",content:"Every procurement notice should stay readable across dense interfaces and long-form content."},argTypes:{variant:{control:"select",options:Pe,description:"Text style variant from the Design System."},as:{control:"select",options:De,description:"HTML tag to render. Defaults to a semantic tag based on variant."},content:{control:"text",description:"Text content.",table:{category:"Slots"}}},render:r=>({components:{pzText:R},setup(){const e=$e(r.variant??"body-regular");return{args:r,currentLabel:e}},template:`
|
|
4
4
|
<section class="pz-text-demo">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.pz-text-clamp-story{display:grid;gap:24px}.pz-text-clamp-story-hero,.pz-text-clamp-story-card{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-text-clamp-story-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:20px;padding:clamp(22px,2vw,30px)}.pz-text-clamp-story-copy,.pz-text-clamp-story-preview,.pz-text-clamp-story-card{display:grid;gap:16px}.pz-text-clamp-story-preview,.pz-text-clamp-story-card{padding:clamp(20px,2vw,24px)}.pz-text-clamp-story-preview{align-content:start;border-radius:22px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent),transparent 30%),var(--pz-color-white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pz-color-grey-40) 52%,transparent),0 12px 32px color-mix(in srgb,var(--pz-color-black-90) 7%,transparent)}.pz-text-clamp-story-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.pz-text-clamp-story-card{min-height:220px}.pz-text-clamp-story-card-header{display:grid;gap:8px}.pz-text-clamp-story-eyebrow,.pz-text-clamp-story-kicker,.pz-text-clamp-story-chip{display:inline-flex;align-items:center;width:fit-content;font-size:11px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase}.pz-text-clamp-story-eyebrow,.pz-text-clamp-story-kicker{color:var(--pz-color-text-link-hover)}.pz-text-clamp-story-chip{padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-50) 10%,transparent);color:var(--pz-color-text-link-hover)}.pz-text-clamp-story-custom-toggle{padding:8px 12px;border:1px solid color-mix(in srgb,var(--pz-color-blue-50) 20%,transparent);border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent);color:var(--pz-color-text-link-hover);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease;-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-font-size-12);font-weight:600;line-height:1.5}.pz-text-clamp-story-custom-toggle:hover,.pz-text-clamp-story-custom-toggle:focus-visible{border-color:color-mix(in srgb,var(--pz-color-text-link-hover) 24%,transparent);background:color-mix(in srgb,var(--pz-color-blue-50) 14%,transparent);outline:none}@media (width <= 1024px){.pz-text-clamp-story-hero,.pz-text-clamp-story-grid{grid-template-columns:1fr}}@media (width <= 640px){.pz-text-clamp-story-hero,.pz-text-clamp-story-preview,.pz-text-clamp-story-card{padding:20px;border-radius:22px}}.pz-text-clamp[data-v-
|
|
1
|
+
.pz-text-clamp-story{display:grid;gap:24px}.pz-text-clamp-story-hero,.pz-text-clamp-story-card{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-text-clamp-story-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:20px;padding:clamp(22px,2vw,30px)}.pz-text-clamp-story-copy,.pz-text-clamp-story-preview,.pz-text-clamp-story-card{display:grid;gap:16px}.pz-text-clamp-story-preview,.pz-text-clamp-story-card{padding:clamp(20px,2vw,24px)}.pz-text-clamp-story-preview{align-content:start;border-radius:22px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent),transparent 30%),var(--pz-color-white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pz-color-grey-40) 52%,transparent),0 12px 32px color-mix(in srgb,var(--pz-color-black-90) 7%,transparent)}.pz-text-clamp-story-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.pz-text-clamp-story-card{min-height:220px}.pz-text-clamp-story-card-header{display:grid;gap:8px}.pz-text-clamp-story-eyebrow,.pz-text-clamp-story-kicker,.pz-text-clamp-story-chip{display:inline-flex;align-items:center;width:fit-content;font-size:11px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase}.pz-text-clamp-story-eyebrow,.pz-text-clamp-story-kicker{color:var(--pz-color-text-link-hover)}.pz-text-clamp-story-chip{padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-50) 10%,transparent);color:var(--pz-color-text-link-hover)}.pz-text-clamp-story-custom-toggle{padding:8px 12px;border:1px solid color-mix(in srgb,var(--pz-color-blue-50) 20%,transparent);border-radius:999px;background:color-mix(in srgb,var(--pz-color-blue-50) 8%,transparent);color:var(--pz-color-text-link-hover);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease;-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-font-size-12);font-weight:600;line-height:1.5}.pz-text-clamp-story-custom-toggle:hover,.pz-text-clamp-story-custom-toggle:focus-visible{border-color:color-mix(in srgb,var(--pz-color-text-link-hover) 24%,transparent);background:color-mix(in srgb,var(--pz-color-blue-50) 14%,transparent);outline:none}@media (width <= 1024px){.pz-text-clamp-story-hero,.pz-text-clamp-story-grid{grid-template-columns:1fr}}@media (width <= 640px){.pz-text-clamp-story-hero,.pz-text-clamp-story-preview,.pz-text-clamp-story-card{padding:20px;border-radius:22px}}.pz-text-clamp[data-v-5005fb0c]{color:var(--pz-color-text-primary);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;white-space:pre-line;overflow-wrap:break-word;font-size:var(--pz-text-clamp-font-size, var(--pz-typography-font-size, var(--pz-font-size-14)));font-weight:var(--pz-text-clamp-font-weight, var(--pz-typography-font-weight, 400));line-height:var(--pz-text-clamp-line-height, var(--pz-typography-line-height, 1.5))}.pz-text-clamp__btn[data-v-5005fb0c]{--pz-btn-padding-block: 0;--pz-btn-padding-inline: 0;margin-left:var(--pz-space-4)}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import{e as oe,h as _e,w as g,a4 as fe,i as ge,o as H,f as he,u as U,z as O,C as z,n as ve,r as L,c as h,j as X,v as G,y as J,g as ze,$ as ye,D as be,t as Ce,q as we}from"./iframe-DU_JVmy2.js";import{P as ie}from"./PzText-BoQ90zAW.js";import{p as Le}from"./configs-B15JgQZ-.js";import{P as Te}from"./PzBtn-Drnbf-hv.js";import{a as K}from"./PzMessages-B-LKEjuh.js";import{_ as Ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-C1FmrZbK.js";var N=null;function Pe(e){return N||(N=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){return setTimeout(a,16)}).bind(window)),N(e)}var q=null;function Se(e){q||(q=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(a){clearTimeout(a)}).bind(window)),q(e)}function ke(e){var a=document.createElement("style");return a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e)),(document.querySelector("head")||document.body).appendChild(a),a}function y(e,a){a===void 0&&(a={});var t=document.createElement(e);return Object.keys(a).forEach(function(r){t[r]=a[r]}),t}function le(e,a,t){var r=window.getComputedStyle(e,null)||{display:"none"};return r[a]}function A(e){if(!document.documentElement.contains(e))return{detached:!0,rendered:!1};for(var a=e;a!==document;){if(le(a,"display")==="none")return{detached:!1,rendered:!1};a=a.parentNode}return{detached:!1,rendered:!0}}var Re='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',M=0,T=null;function Ne(e,a){e.__resize_mutation_handler__||(e.__resize_mutation_handler__=Oe.bind(e));var t=e.__resize_listeners__;if(!t){if(e.__resize_listeners__=[],window.ResizeObserver){var r=e.offsetWidth,o=e.offsetHeight,i=new ResizeObserver(function(){!e.__resize_observer_triggered__&&(e.__resize_observer_triggered__=!0,e.offsetWidth===r&&e.offsetHeight===o)||P(e)}),n=A(e),c=n.detached,l=n.rendered;e.__resize_observer_triggered__=c===!1&&l===!1,e.__resize_observer__=i,i.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){P(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(M||(T=ke(Re)),Ae(e),e.__resize_rendered__=A(e).rendered,window.MutationObserver){var d=new MutationObserver(e.__resize_mutation_handler__);d.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),e.__resize_mutation_observer__=d}}e.__resize_listeners__.push(a),M++}function qe(e,a){var t=e.__resize_listeners__;if(t){if(a&&t.splice(t.indexOf(a),1),!t.length||!a){if(e.detachEvent&&e.removeEventListener){e.detachEvent("onresize",e.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);return}e.__resize_observer__?(e.__resize_observer__.unobserve(e),e.__resize_observer__.disconnect(),e.__resize_observer__=null):(e.__resize_mutation_observer__&&(e.__resize_mutation_observer__.disconnect(),e.__resize_mutation_observer__=null),e.removeEventListener("scroll",F),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--M&&T&&T.parentNode.removeChild(T)}}function He(e){var a=e.__resize_last__,t=a.width,r=a.height,o=e.offsetWidth,i=e.offsetHeight;return o!==t||i!==r?{width:o,height:i}:null}function Oe(){var e=A(this),a=e.rendered,t=e.detached;a!==this.__resize_rendered__&&(!t&&this.__resize_triggers__&&(j(this),this.addEventListener("scroll",F,!0)),this.__resize_rendered__=a,P(this))}function F(){var e=this;j(this),this.__resize_raf__&&Se(this.__resize_raf__),this.__resize_raf__=Pe(function(){var a=He(e);a&&(e.__resize_last__=a,P(e))})}function P(e){!e||!e.__resize_listeners__||e.__resize_listeners__.forEach(function(a){a.call(e,e)})}function Ae(e){var a=le(e,"position");(!a||a==="static")&&(e.style.position="relative"),e.__resize_old_position__=a,e.__resize_last__={};var t=y("div",{className:"resize-triggers"}),r=y("div",{className:"resize-expand-trigger"}),o=y("div"),i=y("div",{className:"resize-contract-trigger"});r.appendChild(o),t.appendChild(r),t.appendChild(i),e.appendChild(t),e.__resize_triggers__={triggers:t,expand:r,expandChild:o,contract:i},j(e),e.addEventListener("scroll",F,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}function j(e){var a=e.__resize_triggers__,t=a.expand,r=a.expandChild,o=a.contract,i=o.scrollWidth,n=o.scrollHeight,c=t.offsetWidth,l=t.offsetHeight,d=t.scrollWidth,p=t.scrollHeight;o.scrollLeft=i,o.scrollTop=n,r.style.width=c+1+"px",r.style.height=l+1+"px",t.scrollLeft=d,t.scrollTop=p}const Me=["aria-label"];var de=oe({__name:"text-clamp",props:{text:{type:String,required:!0},maxHeight:{type:[String,Number],required:!1},maxLines:{type:Number,required:!1},expanded:{type:Boolean,required:!1,default:!1},location:{type:String,required:!1,default:"end"},ellipsis:{type:String,required:!1,default:"…"},autoResize:{type:Boolean,required:!1,default:!1}},emits:["clamp-change","update:expanded"],setup(e,{emit:a}){const t=e,r=L(null),o=L(null),i=L(null),n=_e({offset:0,localExpanded:!!t.expanded,unregisterResizeCallback:null}),c=h(()=>{if(!n.localExpanded&&t.maxHeight)return typeof(t==null?void 0:t.maxHeight)=="number"?`${t==null?void 0:t.maxHeight}px`:t==null?void 0:t.maxHeight}),l=()=>{i.value&&(i.value.textContent=xe.value)},d=()=>{n.localExpanded||(l(),(u()||m.value)&&k())},p=()=>{t.text&&(n.offset=t.text.length,x(),t.autoResize&&r.value&&(Ne(r.value,d),n.unregisterResizeCallback=()=>{r.value&&qe(r.value,d)}),d())},x=()=>{var s;(s=n.unregisterResizeCallback)==null||s.call(n)},u=()=>!(!t.maxLines&&!t.maxHeight)&&!!r.value&&(!!(t.maxLines&&S()>t.maxLines)||!!(t.maxHeight&&r.value.scrollHeight>r.value.offsetHeight)),S=()=>o.value?Object.keys(Array.prototype.slice.call(o.value.getClientRects()).reduce((s,{top:_,bottom:v})=>{const f=`${_}/${v}`;return s[f]||(s[f]=!0),s},{})).length:0,k=(...s)=>{const[_=0,v=n.offset]=s;if(v-_<=3)return void pe();const f=Math.floor((v+_)/2);R(f),u()?k(_,f):k(f,v)},R=s=>{n.offset=s,l()},pe=()=>{ce(),ue()},ce=()=>{for(;(!u()||S()<2)&&n.offset<t.text.length;)D(1)},ue=()=>{for(;u()&&S()>1&&n.offset>0;)D(-1)},D=s=>{R(n.offset+s)},m=h(()=>!!t.text&&n.offset!==t.text.length);g(()=>m.value,s=>{setTimeout(()=>{a("clamp-change",s)},0)},{immediate:!0});const xe=h(()=>m.value?me.value:t.text),me=h(()=>{if(t.location==="start")return t.ellipsis+(t.text.slice(-n.offset)||"").trim();if(t.location==="middle"){const s=Math.floor(n.offset/2);return(t.text.slice(0,s)||"").trim()+t.ellipsis+(t.text.slice(-s)||"").trim()}return(t.text.slice(0,n.offset)||"").trim()+t.ellipsis}),V=()=>{n.localExpanded=!0},W=()=>{n.localExpanded=!1},I=()=>{n.localExpanded=!n.localExpanded};return g(()=>t.expanded,s=>{n.localExpanded=s}),g(()=>n.localExpanded,s=>{s?R(t.text.length):d(),t.expanded!==s&&a("update:expanded",s)}),g(()=>[t.maxLines,t.maxHeight,t.ellipsis,t.location,m.value].join(),()=>{X(()=>{d()})}),g(()=>[t.text,t.autoResize].join(),()=>{X(()=>{p()})}),fe(()=>{x()}),ge(()=>{p()}),(s,_)=>(H(),he("div",{ref_key:"textClampRef",ref:r,class:"text-clamp",style:ve({overflow:"hidden",maxHeight:z(c)})},[U("span",{ref_key:"contentRef",ref:o},[O(s.$slots,"before",{expand:V,collapse:W,toggle:I,clamped:z(m),expanded:n.localExpanded}),U("span",{ref_key:"textRef",ref:i,"aria-label":e.text},null,8,Me),O(s.$slots,"after",{expand:V,collapse:W,toggle:I,clamped:z(m),expanded:n.localExpanded})],512)],4))}});de.__file="package/text-clamp.vue";const $e=e=>(e.install=function(a){a.component(e.__name,e)},e),Be=$e(de),Fe=3,je="... ",E=oe({name:"PzTextClamp",__name:"PzTextClamp",props:{text:{},maxContentLines:{default:Fe},clampPostfix:{default:je},btnClass:{default:""},autoResize:{type:Boolean,default:!0},expanded:{type:Boolean,default:!1},expandLabel:{},collapseLabel:{},typography:{}},emits:["update:expanded","clamp-change"],setup(e,{emit:a}){const t=e,r=h(()=>t.expandLabel??K("text.pzTextClamp.expandLabel")),o=h(()=>t.collapseLabel??K("text.pzTextClamp.collapseLabel")),i=a,n=l=>{i("update:expanded",l)},c=l=>{i("clamp-change",l)};return(l,d)=>(H(),G(z(Be),{text:e.text,"max-lines":e.maxContentLines,ellipsis:e.clampPostfix,expanded:e.expanded,"auto-resize":e.autoResize,class:ze(["pz-text-clamp",e.typography?`pz-typography--${e.typography}`:null]),"onUpdate:expanded":n,onClampChange:c},{after:J(({toggle:p,expanded:x,clamped:u})=>[O(l.$slots,"toggle",{toggle:p,expanded:x,clamped:u},()=>[u||x?(H(),G(z(Te),{key:0,variant:"transparent",type:"button",typography:e.typography??"body-regular",class:"pz-text-clamp__btn",onClick:ye(p,["stop"])},{default:J(()=>[be(Ce(x?o.value:r.value),1)]),_:2},1032,["typography","onClick"])):we("",!0)],!0)]),_:3},8,["text","max-lines","ellipsis","expanded","auto-resize","class"]))}}),$=Ee(E,[["__scopeId","data-v-5005fb0c"]]);E.__docgenInfo=Object.assign({displayName:E.name??E.__name},{name:"PzTextClamp",exportName:"default",displayName:"PzTextClamp",description:"",tags:{},props:[{name:"text",required:!0,type:{name:"string"}},{name:"maxContentLines",required:!1,type:{name:"number"},defaultValue:{func:!1,value:"MAX_CONTENT_LINES"}},{name:"clampPostfix",required:!1,type:{name:"string"},defaultValue:{func:!1,value:"DEFAULT_CLAMP_POSTFIX"}},{name:"btnClass",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"autoResize",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"expanded",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"expandLabel",required:!1,type:{name:"string"}},{name:"collapseLabel",required:!1,type:{name:"string"}},{name:"typography",required:!1,type:{name:"PzTextVariant"}}],events:[{name:"update:expanded",type:{names:["boolean"]}},{name:"clamp-change",type:{names:["boolean"]}}],slots:[{name:"toggle",scoped:!0,bindings:[{name:"toggle",title:"binding"},{name:"expanded",title:"binding"},{name:"clamped",title:"binding"}]}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Text/PzTextClamp/PzTextClamp.vue"]});const B=[{kicker:"News teaser",title:"Two lines with default toggle",text:"The procurement framework for recovery projects should remain readable even when editors add dense context, supporting details, and legal clarifications into a single preview paragraph.",maxContentLines:2},{kicker:"Tender summary",title:"Three lines with longer body copy",text:"Prozorro teams often need the first block of text to stay compact inside cards, while still giving visitors a way to reveal the full explanation, deadlines, and rationale without leaving the page context.",maxContentLines:3},{kicker:"Always expanded",title:"Controlled expanded state",text:"This example starts opened to show that the wrapper supports v-model style control through update:expanded and still keeps the same text treatment as the collapsed variant.",maxContentLines:2,expanded:!0}],De=e=>`<template>
|
|
2
|
+
<PzTextClamp ${[`text="${e.text}"`,e.maxContentLines!==3?`:max-content-lines="${e.maxContentLines}"`:null,e.clampPostfix!=="... "?`clamp-postfix="${e.clampPostfix}"`:null,e.expandLabel!=="Show more"?`expand-label="${e.expandLabel}"`:null,e.collapseLabel!=="Collapse"?`collapse-label="${e.collapseLabel}"`:null,e.expanded?':expanded="true"':null].filter(t=>!!t).join(" ")} />
|
|
3
|
+
</template>`,Ve=()=>`<template>
|
|
4
|
+
<PzTextClamp
|
|
5
|
+
text="Long procurement summary that needs a custom action."
|
|
6
|
+
:max-content-lines="2"
|
|
7
|
+
>
|
|
8
|
+
<template #toggle="{ toggle, expanded, clamped }">
|
|
9
|
+
<button
|
|
10
|
+
v-if="clamped || expanded"
|
|
11
|
+
type="button"
|
|
12
|
+
class="custom-toggle"
|
|
13
|
+
@click="toggle"
|
|
14
|
+
>
|
|
15
|
+
{{ expanded ? "Hide details" : "Open full text" }}
|
|
16
|
+
</button>
|
|
17
|
+
</template>
|
|
18
|
+
</PzTextClamp>
|
|
19
|
+
</template>`,We={title:"Components/Text/PzTextClamp",component:$,parameters:{prototype:{caption:"Text clamp component",note:"Built as a thin wrapper over vue3-text-clamp, reusing the old text/max-lines/postfix/button-class contract and replacing app-specific translations with explicit labels and a toggle slot."},docs:{description:{component:"Use `PzTextClamp` for compact previews of long copy. It defaults to the `body-regular` text style, exposes the old clamp props, and supports toggle customization through `v-model:expanded` and the `toggle` slot."},source:{transform:(e,a)=>De(a.args??We.args)}}},args:{text:B[1].text,maxContentLines:3,clampPostfix:"... ",btnClass:"",autoResize:!0,expanded:!1,expandLabel:"Show more",collapseLabel:"Collapse",typography:void 0,title:"Long-form card description"},argTypes:{text:{control:"text",description:"Source text rendered by the clamp component."},maxContentLines:{control:{type:"number",min:1,max:8,step:1},description:"Maximum number of visible lines before the text is clamped."},clampPostfix:{control:"text",description:"String appended to the truncated text."},btnClass:{control:"text",description:"Additional class names applied to the default toggle button."},autoResize:{control:"boolean",description:"Recalculates clamping on layout changes."},expanded:{control:"boolean",description:"Controlled expanded state."},expandLabel:{control:"text",description:"Default label shown while the text is collapsed."},collapseLabel:{control:"text",description:"Default label shown while the text is expanded."},typography:{control:"select",options:[void 0,...Le],description:"Overrides typography using a PzText variant."},title:{control:"text",description:"Preview heading used in the story only.",table:{category:"Story"}}},render:e=>({components:{pzText:ie,pzTextClamp:$},setup(){const a=L(!!e.expanded);return g(()=>e.expanded,t=>{a.value=!!t}),{args:e,expanded:a,clampStories:B}},template:`
|
|
20
|
+
<div class="pz-text-clamp-story">
|
|
21
|
+
<section class="pz-text-clamp-story-hero">
|
|
22
|
+
<div class="pz-text-clamp-story-copy">
|
|
23
|
+
<span class="pz-text-clamp-story-eyebrow">Body Regular by default</span>
|
|
24
|
+
<pz-text variant="h4-bold">{{ args.title }}</pz-text>
|
|
25
|
+
<pz-text variant="body-regular">
|
|
26
|
+
Clamp long editorial or procurement copy without creating new typography rules for each surface.
|
|
27
|
+
</pz-text>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<div class="pz-text-clamp-story-preview">
|
|
31
|
+
<pz-text variant="small-semibold" as="span" class="pz-text-clamp-story-chip">
|
|
32
|
+
{{ expanded ? "expanded" : "collapsed" }}
|
|
33
|
+
</pz-text>
|
|
34
|
+
|
|
35
|
+
<pz-text-clamp
|
|
36
|
+
:text="args.text"
|
|
37
|
+
:max-content-lines="args.maxContentLines"
|
|
38
|
+
:clamp-postfix="args.clampPostfix"
|
|
39
|
+
:btn-class="args.btnClass"
|
|
40
|
+
:auto-resize="args.autoResize"
|
|
41
|
+
:expanded="expanded"
|
|
42
|
+
:expand-label="args.expandLabel"
|
|
43
|
+
:collapse-label="args.collapseLabel"
|
|
44
|
+
:typography="args.typography"
|
|
45
|
+
@update:expanded="expanded = $event"
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
</section>
|
|
49
|
+
|
|
50
|
+
<section class="pz-text-clamp-story-grid">
|
|
51
|
+
<article
|
|
52
|
+
v-for="item in clampStories"
|
|
53
|
+
:key="item.title"
|
|
54
|
+
class="pz-text-clamp-story-card"
|
|
55
|
+
>
|
|
56
|
+
<div class="pz-text-clamp-story-card-header">
|
|
57
|
+
<span class="pz-text-clamp-story-kicker">{{ item.kicker }}</span>
|
|
58
|
+
<pz-text variant="body-semibold">{{ item.title }}</pz-text>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<pz-text-clamp
|
|
62
|
+
:text="item.text"
|
|
63
|
+
:max-content-lines="item.maxContentLines"
|
|
64
|
+
:expanded="item.expanded"
|
|
65
|
+
/>
|
|
66
|
+
</article>
|
|
67
|
+
</section>
|
|
68
|
+
</div>
|
|
69
|
+
`})},b={},C={args:{text:B[0].text,maxContentLines:2,title:"News teaser"}},w={parameters:{docs:{source:{code:Ve()}}},render:()=>({components:{pzText:ie,pzTextClamp:$},setup(){return{text:"Publishing teams can replace the default inline action with a branded control while keeping the same clamp behavior and the same underlying library implementation."}},template:`
|
|
70
|
+
<div class="pz-text-clamp-story">
|
|
71
|
+
<section class="pz-text-clamp-story-hero">
|
|
72
|
+
<div class="pz-text-clamp-story-copy">
|
|
73
|
+
<span class="pz-text-clamp-story-eyebrow">Toggle slot</span>
|
|
74
|
+
<pz-text variant="h4-bold">Custom action content</pz-text>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<div class="pz-text-clamp-story-preview">
|
|
78
|
+
<pz-text-clamp
|
|
79
|
+
:text="text"
|
|
80
|
+
:max-content-lines="2"
|
|
81
|
+
>
|
|
82
|
+
<template #toggle="{ toggle, expanded, clamped }">
|
|
83
|
+
<button
|
|
84
|
+
v-if="clamped || expanded"
|
|
85
|
+
type="button"
|
|
86
|
+
class="pz-text-clamp-story-custom-toggle"
|
|
87
|
+
@click="toggle"
|
|
88
|
+
>
|
|
89
|
+
{{ expanded ? "Hide details" : "Open full text" }}
|
|
90
|
+
</button>
|
|
91
|
+
</template>
|
|
92
|
+
</pz-text-clamp>
|
|
93
|
+
</div>
|
|
94
|
+
</section>
|
|
95
|
+
</div>
|
|
96
|
+
`})};var Q,Y,Z;b.parameters={...b.parameters,docs:{...(Q=b.parameters)==null?void 0:Q.docs,source:{originalSource:"{}",...(Z=(Y=b.parameters)==null?void 0:Y.docs)==null?void 0:Z.source}}};var ee,te,ae;C.parameters={...C.parameters,docs:{...(ee=C.parameters)==null?void 0:ee.docs,source:{originalSource:`{
|
|
97
|
+
args: {
|
|
98
|
+
text: clampStories[0].text,
|
|
99
|
+
maxContentLines: 2,
|
|
100
|
+
title: "News teaser"
|
|
101
|
+
}
|
|
102
|
+
}`,...(ae=(te=C.parameters)==null?void 0:te.docs)==null?void 0:ae.source}}};var ne,re,se;w.parameters={...w.parameters,docs:{...(ne=w.parameters)==null?void 0:ne.docs,source:{originalSource:`{
|
|
103
|
+
parameters: {
|
|
104
|
+
docs: {
|
|
105
|
+
source: {
|
|
106
|
+
code: buildSlotSource()
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
render: () => ({
|
|
111
|
+
components: {
|
|
112
|
+
pzText: PzText,
|
|
113
|
+
pzTextClamp: PzTextClamp
|
|
114
|
+
},
|
|
115
|
+
setup() {
|
|
116
|
+
const text = "Publishing teams can replace the default inline action with a branded control while keeping the same clamp behavior and the same underlying library implementation.";
|
|
117
|
+
return {
|
|
118
|
+
text
|
|
119
|
+
};
|
|
120
|
+
},
|
|
121
|
+
template: \`
|
|
122
|
+
<div class="pz-text-clamp-story">
|
|
123
|
+
<section class="pz-text-clamp-story-hero">
|
|
124
|
+
<div class="pz-text-clamp-story-copy">
|
|
125
|
+
<span class="pz-text-clamp-story-eyebrow">Toggle slot</span>
|
|
126
|
+
<pz-text variant="h4-bold">Custom action content</pz-text>
|
|
127
|
+
</div>
|
|
128
|
+
|
|
129
|
+
<div class="pz-text-clamp-story-preview">
|
|
130
|
+
<pz-text-clamp
|
|
131
|
+
:text="text"
|
|
132
|
+
:max-content-lines="2"
|
|
133
|
+
>
|
|
134
|
+
<template #toggle="{ toggle, expanded, clamped }">
|
|
135
|
+
<button
|
|
136
|
+
v-if="clamped || expanded"
|
|
137
|
+
type="button"
|
|
138
|
+
class="pz-text-clamp-story-custom-toggle"
|
|
139
|
+
@click="toggle"
|
|
140
|
+
>
|
|
141
|
+
{{ expanded ? "Hide details" : "Open full text" }}
|
|
142
|
+
</button>
|
|
143
|
+
</template>
|
|
144
|
+
</pz-text-clamp>
|
|
145
|
+
</div>
|
|
146
|
+
</section>
|
|
147
|
+
</div>
|
|
148
|
+
\`
|
|
149
|
+
})
|
|
150
|
+
}`,...(se=(re=w.parameters)==null?void 0:re.docs)==null?void 0:se.source}}};const Ye=["Playground","TwoLines","CustomToggle"];export{w as CustomToggle,b as Playground,C as TwoLines,Ye as __namedExportsOrder,We as default};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{e as q,
|
|
1
|
+
import{e as q,X as P,f as n,E as _,y as T,C as M,g as x,Y as b,o as d,B as S,u as B,a0 as $,t as u,q as z,c as k,r,w as C}from"./iframe-DU_JVmy2.js";import{P as N}from"./PzText-BoQ90zAW.js";import{P as I}from"./PzLabel-BDpZH4kX.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-C1FmrZbK.js";const j={key:0,class:"pz-textarea-wrap"},D=["id","placeholder","disabled","maxlength","required","rows"],E={key:0,class:"pz-textarea-counter"},A=["id"],L={key:2,class:"pz-textarea-error"},c=q({name:"PzTextarea",__name:"PzTextarea",props:b({name:{},modelValue:{},label:{default:""},placeholder:{default:""},errorMessage:{default:""},counted:{type:Boolean,default:!1},maxSize:{default:1e3},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},rows:{default:4}},{modelValue:{default:""},modelModifiers:{}}),emits:b(["focus","blur","update:modelValue"],["update:modelValue"]),setup(e,{emit:l}){const a=e,i=l,o=P(e,"modelValue"),m=k(()=>o.value.length);return(f,t)=>(d(),n("div",{class:x(["pz-textarea",{error:!!a.errorMessage,disabled:a.disabled}])},[_(M(I),{label:a.label,for:a.name,required:a.required,disabled:a.disabled},{default:T(()=>[a.editable?(d(),n("span",j,[S(B("textarea",{id:a.name,"onUpdate:modelValue":t[0]||(t[0]=s=>o.value=s),placeholder:a.placeholder,disabled:a.disabled,maxlength:a.counted?a.maxSize:void 0,required:a.required,rows:a.rows,class:x(["pz-textarea-control",{"pz-textarea-control--counted":a.counted}]),onBlur:t[1]||(t[1]=s=>i("blur")),onFocus:t[2]||(t[2]=s=>i("focus"))},null,42,D),[[$,o.value]]),a.counted?(d(),n("span",E,u(m.value)+"/"+u(a.maxSize),1)):z("",!0)])):(d(),n("div",{key:1,id:a.name,class:"pz-textarea-readonly"},u(o.value),9,A)),a.errorMessage?(d(),n("span",L,u(a.errorMessage),1)):z("",!0)]),_:1},8,["label","for","required","disabled"])],2))}}),v=F(c,[["__scopeId","data-v-2c726136"]]);c.__docgenInfo=Object.assign({displayName:c.name??c.__name},{name:"PzTextarea",exportName:"default",displayName:"PzTextarea",description:"",tags:{},props:[{name:"name",required:!0,type:{name:"string"}},{name:"modelValue",required:!0,type:{name:"string"}},{name:"label",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"placeholder",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"errorMessage",required:!1,type:{name:"string"},defaultValue:{func:!1,value:'""'}},{name:"counted",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"maxSize",required:!1,type:{name:"number"},defaultValue:{func:!1,value:"1000"}},{name:"required",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"disabled",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"editable",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"rows",required:!1,type:{name:"number"},defaultValue:{func:!1,value:"4"}}],events:[{name:"focus"},{name:"blur"},{name:"update:modelValue",type:{names:["string"]}}],sourceFiles:["/builds/Web-Projects/client-services/prozorro-ui/src/components/Form/PzTextarea/PzTextarea.vue"]});const V=2,O=e=>`<template>
|
|
2
2
|
<PzTextarea
|
|
3
3
|
v-model="value"
|
|
4
|
-
${[`name="${e.name}"`,e.label?`label="${e.label}"`:null,e.placeholder?`placeholder="${e.placeholder}"`:null,e.required?':required="true"':null,e.disabled?':disabled="true"':null,e.editable===!1?':editable="false"':null,e.counted?':counted="true"':null,e.maxSize?`:max-size="${e.maxSize}"`:null,e.rows&&e.rows!==
|
|
4
|
+
${[`name="${e.name}"`,e.label?`label="${e.label}"`:null,e.placeholder?`placeholder="${e.placeholder}"`:null,e.required?':required="true"':null,e.disabled?':disabled="true"':null,e.editable===!1?':editable="false"':null,e.counted?':counted="true"':null,e.maxSize?`:max-size="${e.maxSize}"`:null,e.rows&&e.rows!==V?`:rows="${e.rows}"`:null,e.errorMessage?`error-message="${e.errorMessage}"`:null].filter(a=>!!a).join(" ")}
|
|
5
5
|
/>
|
|
6
|
-
</template>`,U={title:"Components/Form/PzTextarea",component:v,parameters:{docs:{description:{component:"Use `PzTextarea` for multi-line text input. It follows the shared form patterns in the library, wraps the control with `PzLabel`, supports counters, validation feedback, and a display-only presentation mode."},source:{transform:(e,l)=>O(l.args??U.args)}}},args:{name:"pz-textarea-story",label:"Опис",modelValue:"",placeholder:"Введiть детальний опис...",errorMessage:"",counted:!1,maxSize:1e3,required:!1,disabled:!1,editable:!0,rows:
|
|
6
|
+
</template>`,U={title:"Components/Form/PzTextarea",component:v,parameters:{docs:{description:{component:"Use `PzTextarea` for multi-line text input. It follows the shared form patterns in the library, wraps the control with `PzLabel`, supports counters, validation feedback, and a display-only presentation mode."},source:{transform:(e,l)=>O(l.args??U.args)}}},args:{name:"pz-textarea-story",label:"Опис",modelValue:"",placeholder:"Введiть детальний опис...",errorMessage:"",counted:!1,maxSize:1e3,required:!1,disabled:!1,editable:!0,rows:V},argTypes:{name:{control:"text",description:"Native textarea `id`/`name`."},label:{control:"text",description:"Текст лейбла над полем."},modelValue:{control:"text",description:"Поточне значення, прив'язане через `v-model`."},placeholder:{control:"text",description:"Пiдказка для порожнього поля."},errorMessage:{control:"text",description:"Повiдомлення про помилку пiд полем; одночасно вмикає error-стан."},counted:{control:"boolean",description:"Показує лiчильник символiв у правому нижньому кутi."},maxSize:{control:"number",description:"Максимальна довжина тексту для лiчильника та `maxlength`, коли `counted=true`."},required:{control:"boolean",description:"Позначає поле як обов'язкове."},disabled:{control:"boolean",description:"Блокує введення та застосовує приглушений стиль."},editable:{control:"boolean",description:"Коли `false`, компонент показує display-only представлення замiсть textarea."},rows:{control:"number",description:"Кiлькiсть рядкiв textarea."}},render:e=>({components:{pzTextarea:v,pzText:N},setup(){const l=r(e.modelValue??""),a=r("Спiльне значення для двох текстових полiв."),i=r(""),o=r(""),m=r("Короткий опис для прикладу лiчильника."),f=r("Текст, який потребує перевiрки."),t=r(`Перший рядок.
|
|
7
7
|
Другий рядок.
|
|
8
8
|
Третiй рядок.`),s=r("Просимо детально описати контекст звернення.");return C(()=>e.modelValue,g=>{l.value=g??""}),{args:e,value:l,sharedValue:a,defaultValue:i,requiredValue:o,countedValue:m,errorValue:f,previewValue:t,patternValue:s}},template:`
|
|
9
9
|
<div style="display: flex; flex-direction: column; gap: var(--pz-space-24); max-width: 640px;">
|
|
@@ -62,7 +62,7 @@ import{e as q,V as P,f as n,z as _,x as T,C as M,g as x,W as b,o as d,X as S,q a
|
|
|
62
62
|
</div>
|
|
63
63
|
</section>
|
|
64
64
|
</div>
|
|
65
|
-
`})},p={parameters:{docs:{description:{story:"Iнтерактивний приклад `PzTextarea` з двостороннiм зв'язком, базовими станами та display-only представленням через `editable=false`."}}}};var y,h,
|
|
65
|
+
`})},p={parameters:{docs:{description:{story:"Iнтерактивний приклад `PzTextarea` з двостороннiм зв'язком, базовими станами та display-only представленням через `editable=false`."}}}};var y,h,w;p.parameters={...p.parameters,docs:{...(y=p.parameters)==null?void 0:y.docs,source:{originalSource:`{
|
|
66
66
|
parameters: {
|
|
67
67
|
docs: {
|
|
68
68
|
description: {
|
|
@@ -70,4 +70,4 @@ import{e as q,V as P,f as n,z as _,x as T,C as M,g as x,W as b,o as d,X as S,q a
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
}`,...(
|
|
73
|
+
}`,...(w=(h=p.parameters)==null?void 0:h.docs)==null?void 0:w.source}}};const H=["Playground"];export{p as Playground,H as __namedExportsOrder,U as default};
|
package/dist/app/assets/{PzValidatorXSS.stories-iy7ESRaV.js → PzValidatorXSS.stories-aDwsXWzG.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as c,c as z}from"./iframe-
|
|
1
|
+
import{r as c,c as z}from"./iframe-DU_JVmy2.js";import{P as u}from"./PzText-BoQ90zAW.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";class s{static validQuery(t){const i={};return Object.keys(t).forEach(e=>{const a=t[e];Array.isArray(a)?i[e]=a.map(n=>s.validString(n)):i[e]=s.validString(a)}),i}static validString(t){return t==null?"":String(t).replace(/<[^>]*>/gim,"").trim()}}const m=o=>`<script setup lang="ts">
|
|
2
2
|
import { PzValidatorXSS } from "@prozorro/prozorro-ui";
|
|
3
3
|
|
|
4
4
|
const input = "${o.testInput}";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{P as n}from"./PzText-
|
|
1
|
+
import{P as n}from"./PzText-BoQ90zAW.js";import"./iframe-DU_JVmy2.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const p=[{token:"4",value:"4px",variable:"--pz-space-4",utility:"pz-m-4 / pz-p-4",note:"Gap between a title and its supporting text."},{token:"8",value:"8px",variable:"--pz-space-8",utility:"pz-m-8 / pz-p-8",note:"Gap between dependent text rows."},{token:"16",value:"16px",variable:"--pz-space-16",utility:"pz-m-16 / pz-p-16",note:"Spacing for title blocks, table content, and link groups."},{token:"20",value:"20px",variable:"--pz-space-20",utility:"pz-m-20 / pz-p-20",note:"Gap between equal elements."},{token:"24",value:"24px",variable:"--pz-space-24",utility:"pz-m-24 / pz-p-24",note:"Spacing for docs, dividers, and tab padding."},{token:"32",value:"32px",variable:"--pz-space-32",utility:"pz-m-32 / pz-p-32",note:"Inset from content to nested background edges."},{token:"40",value:"40px",variable:"--pz-space-40",utility:"pz-m-40 / pz-p-40",note:"Large inset inside nested content areas."},{token:"44",value:"44px",variable:"--pz-space-44",utility:"pz-m-44 / pz-p-44",note:"Gap between a header and content in cabinet layouts."},{token:"60",value:"60px",variable:"--pz-space-60",utility:"pz-m-60 / pz-p-60",note:"Gap between equal large blocks."}],s=[{title:"Margin utilities",note:"Outer spacing",items:[{name:".pz-m-*",description:"Margin on all sides."},{name:".pz-mt-* / .pz-mr-* / .pz-mb-* / .pz-ml-*",description:"Single-side margin utilities."},{name:".pz-mx-* / .pz-my-*",description:"Inline and block axis margin utilities."},{name:".pz-m-auto / .pz-mx-auto / .pz-my-auto",description:"Auto alignment helpers."}]},{title:"Padding utilities",note:"Inner spacing",items:[{name:".pz-p-*",description:"Padding on all sides."},{name:".pz-pt-* / .pz-pr-* / .pz-pb-* / .pz-pl-*",description:"Single-side padding utilities."},{name:".pz-px-* / .pz-py-*",description:"Inline and block axis padding utilities."}]}],o=[{name:"sm",prefix:".pz-{prop}-sm-{value}",minWidth:"≥ 576px",description:"Small viewports and up."},{name:"md",prefix:".pz-{prop}-md-{value}",minWidth:"≥ 768px",description:"Tablet breakpoint and up."},{name:"lg",prefix:".pz-{prop}-lg-{value}",minWidth:"≥ 1024px",description:"Large viewports and up."},{name:"xl",prefix:".pz-{prop}-xl-{value}",minWidth:"≥ 1200px",description:"Desktop breakpoint and up."},{name:"xxl",prefix:".pz-{prop}-xxl-{value}",minWidth:"≥ 1400px",description:"Wide displays and up."}],u={title:"Foundation/Spacing",parameters:{prototype:{caption:"Spacing scale",note:"Spacing token and utility reference for margin and padding helpers."},docs:{description:{component:"Spacing foundation for `@prozorro/prozorro-ui`. The utility module emits `pz-m-*` and `pz-p-*` classes backed by the shared `--pz-space-*` token scale aligned with the visible Figma spacing board."}}},render:()=>({components:{pzText:n},setup(){return{spacingTokens:p,utilityGroups:s,spacingBreakpoints:o}},template:`
|
|
2
2
|
<div class="spacing-foundation">
|
|
3
3
|
<section class="spacing-foundation-board">
|
|
4
4
|
<header class="spacing-foundation-hero">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,c as o}from"./iframe-
|
|
1
|
+
import{r as n,c as o}from"./iframe-DU_JVmy2.js";import{I as l}from"./PzListNav-Cd3sDdJJ.js";function m(a){const e=n(a.perPage||l.FIVE),t=n([0,e.value]),s=o(()=>a.data.slice(...t.value)),i=o(()=>a.data.length>e.value);return{perPage:e,pageChanged:g=>{t.value=g},getItems:s,isPaginationAvailable:i,visibleRangeElements:t}}export{m as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{P as p}from"./PzText-
|
|
1
|
+
import{P as p}from"./PzText-BoQ90zAW.js";import"./iframe-DU_JVmy2.js";import"./preload-helper-C1FmrZbK.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const a=[{variant:"h1-bold",label:"Headline Bold 1",spec:"44px / 700 / 1.5"},{variant:"h1-regular",label:"Headline Regular 1",spec:"44px / 400 / 1.5"},{variant:"h2-bold",label:"Headline Bold 2",spec:"32px / 700 / 1.5"},{variant:"h3-bold",label:"Headline Bold 3",spec:"24px / 700 / 1.5"},{variant:"h3-regular",label:"Headline Regular 3",spec:"24px / 400 / 1.5"},{variant:"h4-regular",label:"Headline Regular 4",spec:"18px / 400 / 1.5"},{variant:"h4-semibold",label:"Headline Semibold 4",spec:"18px / 600 / 1.5"},{variant:"h4-bold",label:"Headline Bold 4",spec:"18px / 700 / 1.5"},{variant:"subtitle",label:"Subtitle",spec:"16px / 600 / 1.5"},{variant:"body-regular",label:"Body text regular",spec:"14px / 400 / 1.5"},{variant:"body-semibold",label:"Body text semibold",spec:"14px / 600 / 1.5"},{variant:"body-bold",label:"Body text bold",spec:"14px / 700 / 1.5"},{variant:"capitalized",label:"Capitalized text",spec:"14px / 400 / uppercase"},{variant:"hint",label:"Hint text",spec:"14px / 400 / muted"},{variant:"line-through",label:"Archived value",spec:"14px / 400 / strike"},{variant:"small-regular",label:"Small text regular",spec:"12px / 400 / 1.5"},{variant:"small-semibold",label:"Small text semibold",spec:"12px / 600 / 1.5"},{variant:"small-bold",label:"Small text bold",spec:"12px / 700 / 1.5"},{variant:"link",label:"Review procurement details",spec:"14px / 400 / underline"},{variant:"document",label:"Document text",spec:"14px / 400 / default"}],t=8,r=15,n=[{title:"Headlines",description:"Primary hierarchy for pages, sections and table headers.",items:a.slice(0,t)},{title:"Reading text",description:"Core editorial styles for descriptions, summaries and UI copy.",items:a.slice(t,r)},{title:"Utility styles",description:"Compact text styles for metadata, helpers and document references.",items:a.slice(r)}],x={title:"Foundation/Typography",parameters:{prototype:{caption:"Typography reference",note:"Foundation board for validating hierarchy, weight, and text semantics against the shared design-system scale."},docs:{description:{component:"Typography foundation reference. Use this page to review the full type scale and variant grouping; use `Components/Text/PzText` for the component API."}}},args:{variant:"body-regular",content:"Every procurement notice should stay readable across dense interfaces and long-form content."},render:o=>({components:{pzText:p},setup(){return{args:o,typographyReferenceGroups:n}},template:`
|
|
2
2
|
<div class="pz-text-board">
|
|
3
3
|
<section class="pz-text-board-hero">
|
|
4
4
|
<div class="pz-text-board-hero-copy">
|