@designcrowd/fe-shared-lib 1.5.2 → 1.5.3-MP-4628-add-missing-icons
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/css/tailwind-brandCrowd.css +144 -6
- package/dist/css/tailwind-brandPage.css +140 -6
- package/dist/css/tailwind-crazyDomains.css +144 -6
- package/dist/css/tailwind-designCom.css +144 -6
- package/dist/css/tailwind-designCrowd.css +144 -6
- package/index.js +1 -0
- package/package.json +1 -1
- package/public/css/tailwind-brandCrowd.css +58 -3
- package/public/css/tailwind-brandPage.css +58 -3
- package/public/css/tailwind-crazyDomains.css +58 -3
- package/public/css/tailwind-designCom.css +58 -3
- package/public/css/tailwind-designCrowd.css +58 -3
- package/src/atoms/components/Carousel/Carousel.fixtures.js +18 -0
- package/src/atoms/components/Carousel/carousel.stories.js +448 -179
- package/src/atoms/components/Icon/Icon.stories.js +2 -0
- package/src/atoms/components/Icon/Icon.vue +4 -0
- package/src/atoms/components/Icon/icons/media.vue +3 -0
- package/src/atoms/components/Icon/icons/resize.vue +6 -0
- package/src/atoms/components/PromoCard/PromoCard.stories.ts +263 -0
- package/src/atoms/components/PromoCard/PromoCard.vue +83 -0
- package/tailwind.config.js +7 -8
- package/.storybook-static/assets/Auth-CV5AmoX8.css +0 -1
- package/.storybook-static/assets/Auth.stories-CX3sjxh5.js +0 -490
- package/.storybook-static/assets/AuthCrazyDomains.stories-Didj_VFa.js +0 -73
- package/.storybook-static/assets/Button-5UzSGUF6.css +0 -1
- package/.storybook-static/assets/Button-DtVlr_q3.js +0 -1
- package/.storybook-static/assets/ButtonGroup-Dfr7bNL2.css +0 -1
- package/.storybook-static/assets/ButtonGroup.stories-4EQk-ktb.js +0 -503
- package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +0 -1
- package/.storybook-static/assets/ButtonPrimary-DG9wNod9.js +0 -1
- package/.storybook-static/assets/Buttons.stories-B_KpeCzt.js +0 -761
- package/.storybook-static/assets/ButtonsCrazyDomains.stories-oZtahAmR.js +0 -199
- package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +0 -1
- package/.storybook-static/assets/Checkbox.stories-C67RL0ut.js +0 -203
- package/.storybook-static/assets/Checktile.stories-DN2wfzd6.js +0 -88
- package/.storybook-static/assets/CollapsiblePanel.stories-BkzrqfVG.js +0 -39
- package/.storybook-static/assets/ColorPicker.stories-85BQwpyF.js +0 -73
- package/.storybook-static/assets/CopyToClipboardText.stories-Csh5nVRs.js +0 -32
- package/.storybook-static/assets/Dropdown.stories-NNlxNopk.js +0 -159
- package/.storybook-static/assets/DropdownItem-CDX_V6Mi.js +0 -1
- package/.storybook-static/assets/DropdownItem-CLNmWtKh.css +0 -1
- package/.storybook-static/assets/FormControl.mixin-_gXRExB7.js +0 -1
- package/.storybook-static/assets/HashRouteModal.stories-Dy1_nLTJ.js +0 -64
- package/.storybook-static/assets/HelloBar-z54fob0q.js +0 -1
- package/.storybook-static/assets/HelloBar.stories-ClJ9_KRK.js +0 -342
- package/.storybook-static/assets/Icon-8mZGP41G.js +0 -144
- package/.storybook-static/assets/Icon.stories-BcXMvpuh.js +0 -126
- package/.storybook-static/assets/Icon.stories-D6ECVMta.js +0 -751
- package/.storybook-static/assets/Loader-D61Ki9P1.js +0 -1
- package/.storybook-static/assets/LogoBusinessBrandColours-B1_8hw0H.js +0 -1
- package/.storybook-static/assets/LogoBusinessBrandColours-DEFhAyxR.css +0 -1
- package/.storybook-static/assets/LogoBusinessBrandColours.stories-CIWe9ndn.js +0 -36
- package/.storybook-static/assets/Masonry-C2MNiGg0.css +0 -1
- package/.storybook-static/assets/Masonry.stories-CDT8kZCv.js +0 -71
- package/.storybook-static/assets/Modal-BQrpXSGA.js +0 -1
- package/.storybook-static/assets/Modal-BvVMN71n.css +0 -1
- package/.storybook-static/assets/Modal.stories-BycF7YL6.js +0 -345
- package/.storybook-static/assets/Notice.stories-BufkrC1b.js +0 -222
- package/.storybook-static/assets/NumberStepper-Blffv09R.css +0 -1
- package/.storybook-static/assets/NumberStepper.stories-6_y_lEgC.js +0 -64
- package/.storybook-static/assets/PaymentConfigList-wI1eTv5x.css +0 -1
- package/.storybook-static/assets/PaymentConfigList.stories-BlzzKrzz.js +0 -126
- package/.storybook-static/assets/Picture-Cq76CaoK.js +0 -1
- package/.storybook-static/assets/Picture.stories-BDqRm9_g.js +0 -119
- package/.storybook-static/assets/Pill-BsMeJhV9.js +0 -1
- package/.storybook-static/assets/Pill.stories-DUvzbtnS.js +0 -18
- package/.storybook-static/assets/PillBar-os4mJV3M.css +0 -1
- package/.storybook-static/assets/PillBar.stories-BUMLXBij.js +0 -41
- package/.storybook-static/assets/Price-DKOwLeD0.js +0 -1
- package/.storybook-static/assets/Price.stories-DlqrNUWI.js +0 -221
- package/.storybook-static/assets/PublishBrandPageModal-CLU8-If3.css +0 -1
- package/.storybook-static/assets/PublishBrandPageModal.stories-Dqobvq-n.js +0 -273
- package/.storybook-static/assets/SearchBar.stories-_wPX3-Rl.js +0 -12
- package/.storybook-static/assets/Select-Dw-zvSUg.css +0 -1
- package/.storybook-static/assets/Select.stories-BWINGxdY.js +0 -108
- package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +0 -1
- package/.storybook-static/assets/SellDomainNameListModal-ByK_ak0A.js +0 -1
- package/.storybook-static/assets/SellDomainNameListModal-CdfyEX1a.css +0 -1
- package/.storybook-static/assets/SellDomainNameListModal.stories-DrL8w2AY.js +0 -71
- package/.storybook-static/assets/SellDomainNameListSearchResult-1WuAKfzI.css +0 -1
- package/.storybook-static/assets/SellDomainNameListSearchResult-By0IpIM_.js +0 -1
- package/.storybook-static/assets/SellDomainNameSearchWithResults-BttjI4PH.js +0 -1
- package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-Dm1Q8Cza.js +0 -37
- package/.storybook-static/assets/SellDomainNameWidget.stories-CKoz3WnZ.js +0 -36
- package/.storybook-static/assets/SignIn-DNYeJu86.css +0 -1
- package/.storybook-static/assets/SignIn-Dt8OJr0J.js +0 -1
- package/.storybook-static/assets/Slider-Cog2FFdj.css +0 -1
- package/.storybook-static/assets/Slider.stories-08DN2SFB.js +0 -141
- package/.storybook-static/assets/StarRating-BtKh7pzm.css +0 -1
- package/.storybook-static/assets/StarRating.stories-BEIj9ufA.js +0 -45
- package/.storybook-static/assets/TabMenu.stories-D9f0pyZI.js +0 -47
- package/.storybook-static/assets/TextCopyField-B04vTGbG.js +0 -1
- package/.storybook-static/assets/TextCopyField.stories-KD0WUWzA.js +0 -47
- package/.storybook-static/assets/TextInput-JK1M0hv6.js +0 -1
- package/.storybook-static/assets/TextInput.stories-BO0eQqBY.js +0 -233
- package/.storybook-static/assets/Textarea.stories-Bcn4sCkV.js +0 -207
- package/.storybook-static/assets/Toggle.stories-CuTFLoNh.js +0 -161
- package/.storybook-static/assets/Tooltip-DcSbUh5f.js +0 -1
- package/.storybook-static/assets/Tooltip-DyXIgFQH.css +0 -1
- package/.storybook-static/assets/Tooltip.stories-B0I_PBGG.js +0 -953
- package/.storybook-static/assets/UploadYourLogoApplication-EyTEQx-x.css +0 -9
- package/.storybook-static/assets/UploadYourLogoApplication.stories-Dixp1ynI.js +0 -194
- package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +0 -1
- package/.storybook-static/assets/UploadYourLogoDropzone-DouZtNvi.js +0 -24
- package/.storybook-static/assets/UploadYourLogoDropzone.stories-BHYeu4gz.js +0 -55
- package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D1KR63O4.js +0 -79
- package/.storybook-static/assets/_commonjsHelpers-D6-XlEtG.js +0 -1
- package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- package/.storybook-static/assets/api-lSJGRrF2.js +0 -1
- package/.storybook-static/assets/axe-nGVJxRof.js +0 -30
- package/.storybook-static/assets/brand-crowd-api.client-DiPM1Wo-.js +0 -1
- package/.storybook-static/assets/bundled-translations-BZ57czTo.js +0 -1
- package/.storybook-static/assets/bundled-translations.de-DE-DXggTXB2.js +0 -1
- package/.storybook-static/assets/bundled-translations.es-ES-DtMmvicd.js +0 -1
- package/.storybook-static/assets/bundled-translations.fr-FR-BrQqbieG.js +0 -1
- package/.storybook-static/assets/bundled-translations.pt-PT-CpiWEAtr.js +0 -1
- package/.storybook-static/assets/carousel-CMMZ5MZ-.css +0 -1
- package/.storybook-static/assets/carousel.stories-o3eu2Qyc.js +0 -374
- package/.storybook-static/assets/event-constants-CMO9VQVu.js +0 -1
- package/.storybook-static/assets/iframe-C86bI_2U.js +0 -1126
- package/.storybook-static/assets/index-Bw-gCGc_.js +0 -6
- package/.storybook-static/assets/index-DhkYCT1V.js +0 -29
- package/.storybook-static/assets/matchers-7Z3WT2CE-T3xScrR7.js +0 -14
- package/.storybook-static/assets/tracking-ATsLLehC.js +0 -1
- package/.storybook-static/css/tailwind-brandCrowd.css +0 -2404
- package/.storybook-static/css/tailwind-brandPage.css +0 -2088
- package/.storybook-static/css/tailwind-crazyDomains.css +0 -2404
- package/.storybook-static/css/tailwind-designCom.css +0 -2404
- package/.storybook-static/css/tailwind-designCrowd.css +0 -2404
- package/.storybook-static/favicon.svg +0 -1
- package/.storybook-static/iframe.html +0 -694
- package/.storybook-static/index.html +0 -156
- package/.storybook-static/index.json +0 -1
- package/.storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/.storybook-static/nunito-sans-bold.woff2 +0 -0
- package/.storybook-static/nunito-sans-italic.woff2 +0 -0
- package/.storybook-static/nunito-sans-regular.woff2 +0 -0
- package/.storybook-static/project.json +0 -1
- package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +0 -5
- package/.storybook-static/sb-addons/links-2/manager-bundle.js +0 -3
- package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -188
- package/.storybook-static/sb-addons/themes-3/manager-bundle.js +0 -3
- package/.storybook-static/sb-common-assets/favicon.svg +0 -1
- package/.storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/.storybook-static/sb-manager/globals-module-info.js +0 -797
- package/.storybook-static/sb-manager/globals-runtime.js +0 -72062
- package/.storybook-static/sb-manager/globals.js +0 -34
- package/.storybook-static/sb-manager/runtime.js +0 -13002
|
@@ -253,6 +253,8 @@ import IconQuestion from './icons/question.vue';
|
|
|
253
253
|
import IconQuote from './icons/quote.vue';
|
|
254
254
|
import IconReload from './icons/reload.vue';
|
|
255
255
|
import IconReorderable from './icons/reorderable.vue';
|
|
256
|
+
import IconResize from './icons/resize.vue';
|
|
257
|
+
import IconMedia from './icons/media.vue';
|
|
256
258
|
import IconRequestPayment from './icons/request-payment.vue';
|
|
257
259
|
import IconSearch from './icons/search.vue';
|
|
258
260
|
import IconSecure from './icons/secure.vue';
|
|
@@ -612,6 +614,8 @@ export default {
|
|
|
612
614
|
IconQuote,
|
|
613
615
|
IconReload,
|
|
614
616
|
IconReorderable,
|
|
617
|
+
IconResize,
|
|
618
|
+
IconMedia,
|
|
615
619
|
IconRequestPayment,
|
|
616
620
|
IconShop,
|
|
617
621
|
IconSearch,
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<path d="M14.3 2C14.4896 2 14.65 2.07292 14.7813 2.21875C14.9271 2.35 15 2.51042 15 2.7V9.7C15 9.88958 14.9271 10.0573 14.7813 10.2031C14.65 10.3344 14.4896 10.4 14.3 10.4H11.5V3.4H7.3V4.8H3.8V2.7C3.8 2.51042 3.86563 2.35 3.99688 2.21875C4.14271 2.07292 4.31042 2 4.5 2H14.3ZM6.075 4.25313V3.59688C6.075 3.46563 6.00938 3.4 5.87813 3.4H5.22188C5.09063 3.4 5.025 3.46563 5.025 3.59688V4.25313C5.025 4.38438 5.09063 4.45 5.22188 4.45H5.87813C6.00938 4.45 6.075 4.38438 6.075 4.25313ZM13.775 8.80313V8.14688C13.775 8.01563 13.7094 7.95 13.5781 7.95H12.9219C12.7906 7.95 12.725 8.01563 12.725 8.14688V8.80313C12.725 8.93438 12.7906 9 12.9219 9H13.5781C13.7094 9 13.775 8.93438 13.775 8.80313ZM13.775 6.52813V5.87188C13.775 5.74063 13.7094 5.675 13.5781 5.675H12.9219C12.7906 5.675 12.725 5.74063 12.725 5.87188V6.52813C12.725 6.65938 12.7906 6.725 12.9219 6.725H13.5781C13.7094 6.725 13.775 6.65938 13.775 6.52813ZM13.775 4.25313V3.59688C13.775 3.46563 13.7094 3.4 13.5781 3.4H12.9219C12.7906 3.4 12.725 3.46563 12.725 3.59688V4.25313C12.725 4.38438 12.7906 4.45 12.9219 4.45H13.5781C13.7094 4.45 13.775 4.38438 13.775 4.25313ZM10.1 5.5C10.2896 5.5 10.45 5.57292 10.5813 5.71875C10.7271 5.85 10.8 6.01042 10.8 6.2V12.5C10.8 12.6896 10.7271 12.85 10.5813 12.9813C10.45 13.1271 10.2896 13.2 10.1 13.2H1.7C1.51042 13.2 1.34271 13.1271 1.19688 12.9813C1.06563 12.85 1 12.6896 1 12.5V6.2C1 6.01042 1.06563 5.85 1.19688 5.71875C1.34271 5.57292 1.51042 5.5 1.7 5.5H10.1ZM3.58125 7.11875C3.45 6.97292 3.28958 6.9 3.1 6.9C2.91042 6.9 2.74271 6.97292 2.59688 7.11875C2.46563 7.25 2.4 7.41042 2.4 7.6C2.4 7.78958 2.46563 7.95729 2.59688 8.10313C2.74271 8.23438 2.91042 8.3 3.1 8.3C3.28958 8.3 3.45 8.23438 3.58125 8.10313C3.72708 7.95729 3.8 7.78958 3.8 7.6C3.8 7.41042 3.72708 7.25 3.58125 7.11875ZM9.4 11.8V9.7L7.3 7.6L4.5 10.4L3.8 9.7L2.4 11.1V11.8H9.4Z" />
|
|
3
|
+
</template>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<g fill="none">
|
|
3
|
+
<rect x="1.75" y="1.75" width="12.5" height="12.5" rx="1.25" stroke="currentColor" stroke-width="1.5"/>
|
|
4
|
+
<path d="M9 7.75H14.25V13C14.25 13.6904 13.6904 14.25 13 14.25H7.75V9C7.75 8.30964 8.30964 7.75 9 7.75Z" stroke="currentColor" stroke-width="1.5"/>
|
|
5
|
+
</g>
|
|
6
|
+
</template>
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import PromoCard from './PromoCard.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/PromoCard',
|
|
5
|
+
component: PromoCard,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const Standard = {
|
|
9
|
+
render: (args) => {
|
|
10
|
+
return {
|
|
11
|
+
components: {
|
|
12
|
+
PromoCard,
|
|
13
|
+
},
|
|
14
|
+
setup() {
|
|
15
|
+
return { args };
|
|
16
|
+
},
|
|
17
|
+
template: `
|
|
18
|
+
<PromoCard
|
|
19
|
+
v-bind="args"
|
|
20
|
+
@button-clicked="handleButtonClick"
|
|
21
|
+
/>
|
|
22
|
+
`,
|
|
23
|
+
methods: {
|
|
24
|
+
handleButtonClick() {
|
|
25
|
+
console.log('Button clicked!');
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
args: {
|
|
31
|
+
title: 'Special Offer',
|
|
32
|
+
description: 'Get 20% off your next purchase. Limited time offer!',
|
|
33
|
+
imageUrl: 'https://bcassetcdn.com/assets/images/promo/legalzoom-symbol.svg',
|
|
34
|
+
altText: 'Promotional image',
|
|
35
|
+
buttonLabel: 'Learn More',
|
|
36
|
+
horizontalLayout: false,
|
|
37
|
+
shouldShowImageOnTop: false,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const HorizontalLayout = {
|
|
42
|
+
render: (args) => {
|
|
43
|
+
return {
|
|
44
|
+
components: {
|
|
45
|
+
PromoCard,
|
|
46
|
+
},
|
|
47
|
+
setup() {
|
|
48
|
+
return { args };
|
|
49
|
+
},
|
|
50
|
+
template: `
|
|
51
|
+
<PromoCard
|
|
52
|
+
v-bind="args"
|
|
53
|
+
@button-clicked="handleButtonClick"
|
|
54
|
+
/>
|
|
55
|
+
`,
|
|
56
|
+
methods: {
|
|
57
|
+
handleButtonClick() {
|
|
58
|
+
console.log('Button clicked!');
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
args: {
|
|
64
|
+
title: 'Premium Package',
|
|
65
|
+
description: 'Upgrade to premium and unlock exclusive features today.',
|
|
66
|
+
imageUrl: 'https://bcassetcdn.com/assets/images/promo/brandpage-design-support.png',
|
|
67
|
+
altText: 'Premium package image',
|
|
68
|
+
buttonLabel: 'Upgrade Now',
|
|
69
|
+
horizontalLayout: true,
|
|
70
|
+
scaleImageDown: false,
|
|
71
|
+
imageWidthFull: false,
|
|
72
|
+
shouldShowImageOnTop: false,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export const ImageOnTop = {
|
|
77
|
+
render: (args) => {
|
|
78
|
+
return {
|
|
79
|
+
components: {
|
|
80
|
+
PromoCard,
|
|
81
|
+
},
|
|
82
|
+
setup() {
|
|
83
|
+
return { args };
|
|
84
|
+
},
|
|
85
|
+
template: `
|
|
86
|
+
<PromoCard
|
|
87
|
+
v-bind="args"
|
|
88
|
+
@button-clicked="handleButtonClick"
|
|
89
|
+
/>
|
|
90
|
+
`,
|
|
91
|
+
methods: {
|
|
92
|
+
handleButtonClick() {
|
|
93
|
+
console.log('Button clicked!');
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
args: {
|
|
99
|
+
title: 'Mobile Friendly',
|
|
100
|
+
description: 'This layout works great on mobile devices with the image displayed on top.',
|
|
101
|
+
imageUrl: 'https://bcassetcdn.com/assets/images/promo/brandpage-design-support.png',
|
|
102
|
+
altText: 'Mobile friendly layout',
|
|
103
|
+
buttonLabel: 'Try It',
|
|
104
|
+
horizontalLayout: false,
|
|
105
|
+
scaleImageDown: false,
|
|
106
|
+
imageWidthFull: false,
|
|
107
|
+
shouldShowImageOnTop: true,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const ScaledDownImage = {
|
|
112
|
+
render: (args) => {
|
|
113
|
+
return {
|
|
114
|
+
components: {
|
|
115
|
+
PromoCard,
|
|
116
|
+
},
|
|
117
|
+
setup() {
|
|
118
|
+
return { args };
|
|
119
|
+
},
|
|
120
|
+
template: `
|
|
121
|
+
<PromoCard
|
|
122
|
+
v-bind="args"
|
|
123
|
+
@button-clicked="handleButtonClick"
|
|
124
|
+
/>
|
|
125
|
+
`,
|
|
126
|
+
methods: {
|
|
127
|
+
handleButtonClick() {
|
|
128
|
+
console.log('Button clicked!');
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
},
|
|
133
|
+
args: {
|
|
134
|
+
title: 'Logo Showcase',
|
|
135
|
+
description: 'Display your logo with proper spacing and scaling.',
|
|
136
|
+
imageUrl: 'https://via.placeholder.com/120x120',
|
|
137
|
+
altText: 'Logo showcase',
|
|
138
|
+
buttonLabel: 'View More',
|
|
139
|
+
horizontalLayout: false,
|
|
140
|
+
scaleImageDown: true,
|
|
141
|
+
imageWidthFull: false,
|
|
142
|
+
shouldShowImageOnTop: false,
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export const FullWidthImage = {
|
|
147
|
+
render: (args) => {
|
|
148
|
+
return {
|
|
149
|
+
components: {
|
|
150
|
+
PromoCard,
|
|
151
|
+
},
|
|
152
|
+
setup() {
|
|
153
|
+
return { args };
|
|
154
|
+
},
|
|
155
|
+
template: `
|
|
156
|
+
<PromoCard
|
|
157
|
+
v-bind="args"
|
|
158
|
+
@button-clicked="handleButtonClick"
|
|
159
|
+
/>
|
|
160
|
+
`,
|
|
161
|
+
methods: {
|
|
162
|
+
handleButtonClick() {
|
|
163
|
+
console.log('Button clicked!');
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
},
|
|
168
|
+
args: {
|
|
169
|
+
title: 'Full Width Banner',
|
|
170
|
+
description: 'Images that stretch to fill the available space.',
|
|
171
|
+
imageUrl: 'https://bcassetcdn.com/assets/images/promo/brandpage-design-support.png',
|
|
172
|
+
altText: 'Full width banner',
|
|
173
|
+
buttonLabel: 'Explore',
|
|
174
|
+
horizontalLayout: false,
|
|
175
|
+
scaleImageDown: false,
|
|
176
|
+
imageWidthFull: true,
|
|
177
|
+
shouldShowImageOnTop: false,
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export const AllOptions = {
|
|
182
|
+
render: (args) => {
|
|
183
|
+
return {
|
|
184
|
+
components: {
|
|
185
|
+
PromoCard,
|
|
186
|
+
},
|
|
187
|
+
setup() {
|
|
188
|
+
return { args };
|
|
189
|
+
},
|
|
190
|
+
template: `
|
|
191
|
+
<div class="tw-space-y-4">
|
|
192
|
+
<div>
|
|
193
|
+
<h3 class="tw-mb-2 tw-font-bold">Standard Layout</h3>
|
|
194
|
+
<PromoCard
|
|
195
|
+
title="Standard Promo"
|
|
196
|
+
description="This is the default vertical layout with image on the left."
|
|
197
|
+
imageUrl="https://bcassetcdn.com/assets/images/promo/brandpage-design-support.png"
|
|
198
|
+
altText="Standard layout"
|
|
199
|
+
buttonLabel="Click Me"
|
|
200
|
+
@button-clicked="handleButtonClick"
|
|
201
|
+
/>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<div>
|
|
205
|
+
<h3 class="tw-mb-2 tw-font-bold">Horizontal Layout</h3>
|
|
206
|
+
<PromoCard
|
|
207
|
+
title="Horizontal Promo"
|
|
208
|
+
description="This layout is better for desktop with content side by side."
|
|
209
|
+
imageUrl="https://bcassetcdn.com/assets/images/promo/brandpage-design-support.png"
|
|
210
|
+
altText="Horizontal layout"
|
|
211
|
+
buttonLabel="Click Me"
|
|
212
|
+
:horizontal-layout="true"
|
|
213
|
+
@button-clicked="handleButtonClick"
|
|
214
|
+
/>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<div>
|
|
218
|
+
<h3 class="tw-mb-2 tw-font-bold">Image On Top</h3>
|
|
219
|
+
<PromoCard
|
|
220
|
+
title="Mobile Optimized"
|
|
221
|
+
description="Perfect for mobile views with image stacked on top."
|
|
222
|
+
imageUrl="https://bcassetcdn.com/assets/images/promo/brandpage-design-support.png"
|
|
223
|
+
altText="Image on top"
|
|
224
|
+
buttonLabel="Click Me"
|
|
225
|
+
:should-show-image-on-top="true"
|
|
226
|
+
@button-clicked="handleButtonClick"
|
|
227
|
+
/>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
`,
|
|
231
|
+
methods: {
|
|
232
|
+
handleButtonClick() {
|
|
233
|
+
console.log('Button clicked!');
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
};
|
|
237
|
+
},
|
|
238
|
+
args: {},
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
Standard.story = {
|
|
242
|
+
name: 'PromoCard - Standard',
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
HorizontalLayout.story = {
|
|
246
|
+
name: 'PromoCard - Horizontal Layout',
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
ImageOnTop.story = {
|
|
250
|
+
name: 'PromoCard - Image On Top',
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
ScaledDownImage.story = {
|
|
254
|
+
name: 'PromoCard - Scaled Down Image',
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
FullWidthImage.story = {
|
|
258
|
+
name: 'PromoCard - Full Width Image',
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
AllOptions.story = {
|
|
262
|
+
name: 'PromoCard - All Variants',
|
|
263
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="tw-flex" :class="shouldShowImageOnTop ? 'tw-flex-col' : 'tw-flex-row'">
|
|
3
|
+
<div
|
|
4
|
+
class="tw-flex tw-justify-center tw-items-center tw-bg-grayscale-400 tw-w-60 tw-p-1 dcom-rounded-tl dcom-rounded-bl"
|
|
5
|
+
:class="{
|
|
6
|
+
'tw-w-full tw-px-8 md:tw-px-12 lg:tw-px-20 tw-py-4': shouldShowImageOnTop,
|
|
7
|
+
'tw-px-4': !shouldShowImageOnTop,
|
|
8
|
+
}"
|
|
9
|
+
>
|
|
10
|
+
<img class="tw-w-full" :src="imageUrl" :alt="altText" />
|
|
11
|
+
</div>
|
|
12
|
+
<div
|
|
13
|
+
class="tw-flex tw-bg-white tw-w-full tw-p-4 tw-grow dcom-rounded-tr dcom-rounded-br tw-flex-col tw-justify-between"
|
|
14
|
+
:class="{
|
|
15
|
+
'sm:tw-flex-row sm:tw-items-center': horizontalLayout,
|
|
16
|
+
}"
|
|
17
|
+
>
|
|
18
|
+
<div class="tw-text-left tw-overflow-hidden tw-text-ellipsis tw-text-base" :class="lineClampStyle">
|
|
19
|
+
<div class="tw-font-bold tw-text-black tw-mb-0.5">
|
|
20
|
+
{{ title }}
|
|
21
|
+
</div>
|
|
22
|
+
<p>
|
|
23
|
+
{{ description }}
|
|
24
|
+
</p>
|
|
25
|
+
</div>
|
|
26
|
+
<Button
|
|
27
|
+
variant="primary"
|
|
28
|
+
size="small"
|
|
29
|
+
:full-width="fullwidthButton"
|
|
30
|
+
class="tw-text-left tw-mt-4"
|
|
31
|
+
:class="horizontalLayout ? 'tw-w-full tw-mr-2 sm:tw-mt-0 sm:tw-ml-2 sm:tw-w-auto' : ''"
|
|
32
|
+
:label="buttonLabel"
|
|
33
|
+
@on-click="buttonClicked"
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</template>
|
|
38
|
+
<script setup lang="ts">
|
|
39
|
+
import { computed, defineEmits } from 'vue';
|
|
40
|
+
import { BREAKPOINTS } from '../../../experiences/mixins/mediaQueryMixin';
|
|
41
|
+
import Button from '../Button/Button.vue';
|
|
42
|
+
|
|
43
|
+
const props = defineProps({
|
|
44
|
+
title: {
|
|
45
|
+
type: String,
|
|
46
|
+
required: true,
|
|
47
|
+
},
|
|
48
|
+
description: {
|
|
49
|
+
type: String,
|
|
50
|
+
required: true,
|
|
51
|
+
},
|
|
52
|
+
imageUrl: { type: String, required: true },
|
|
53
|
+
altText: { type: String, default: '' },
|
|
54
|
+
buttonLabel: {
|
|
55
|
+
type: String,
|
|
56
|
+
required: true,
|
|
57
|
+
},
|
|
58
|
+
horizontalLayout: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: false,
|
|
61
|
+
},
|
|
62
|
+
shouldShowImageOnTop: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
default: false,
|
|
65
|
+
},
|
|
66
|
+
textLineClamp: {
|
|
67
|
+
type: Number,
|
|
68
|
+
default: 0, // 0 is infinite
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
const emits = defineEmits(['button-clicked']);
|
|
73
|
+
const buttonClicked = () => emits('button-clicked');
|
|
74
|
+
|
|
75
|
+
const lineClampStyle = computed(() => {
|
|
76
|
+
if (props.textLineClamp > 0) {
|
|
77
|
+
return `tw-line-clamp-${props.textLineClamp}`;
|
|
78
|
+
}
|
|
79
|
+
return 'tw-line-clamp-none';
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
const fullwidthButton = computed(() => !(props.horizontalLayout && window.innerWidth >= BREAKPOINTS.SMALL));
|
|
83
|
+
</script>
|
package/tailwind.config.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const bcTheme = require(
|
|
2
|
-
const bpTheme = require(
|
|
3
|
-
const dcTheme = require(
|
|
4
|
-
const cdTheme = require(
|
|
5
|
-
const dcomTheme = require(
|
|
6
|
-
const viewports = require(
|
|
1
|
+
const bcTheme = require('./src/themes/bc');
|
|
2
|
+
const bpTheme = require('./src/themes/bp');
|
|
3
|
+
const dcTheme = require('./src/themes/dc');
|
|
4
|
+
const cdTheme = require('./src/themes/cd');
|
|
5
|
+
const dcomTheme = require('./src/themes/dcom');
|
|
6
|
+
const viewports = require('./src/viewports');
|
|
7
7
|
|
|
8
8
|
const designSystemConfig = {
|
|
9
9
|
themes: {
|
|
@@ -20,7 +20,7 @@ const theme = designSystemConfig.themes[process.env.tailwindTheme]; // use the e
|
|
|
20
20
|
module.exports = {
|
|
21
21
|
prefix: 'tw-',
|
|
22
22
|
content: ['./src/**/components/**/*.vue'],
|
|
23
|
-
safelist: [{ pattern: /^!tw-p-/ }, { pattern: /^tw-overflow-y-auto$/ }],
|
|
23
|
+
safelist: [{ pattern: /^!tw-p-/ }, { pattern: /^tw-overflow-y-auto$/ }, { pattern: /^tw-line-clamp-/ }],
|
|
24
24
|
theme: {
|
|
25
25
|
...theme,
|
|
26
26
|
extend: {
|
|
@@ -34,4 +34,3 @@ module.exports = {
|
|
|
34
34
|
preflight: true,
|
|
35
35
|
},
|
|
36
36
|
};
|
|
37
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.email-input[data-v-bb7289b6]{background-image:url(https://dcstatic.com/images/icons/forms/forms-email-58207f9a5c.svg);background-position:top 50% left .5rem}.password-input[data-v-bb7289b6]{background-image:url(https://dcstatic.com/images/icons/forms/forms-password-ff538cd5e4.svg);background-position:top 50% left .5rem}.tw-pl-10-important[data-v-bb7289b6]{padding-left:2.5rem!important}.email-input[data-v-965d0268]{background-image:url(https://dcstatic.com/images/icons/forms/forms-email-58207f9a5c.svg);background-position:top 50% left .5rem}.tw-pl-10-important[data-v-965d0268]{padding-left:2.5rem!important}.password-input[data-v-da12bb42]{background-image:url(https://dcstatic.com/images/icons/forms/forms-password-ff538cd5e4.svg);background-position:top 50% left .5rem}.tw-pl-10-important[data-v-da12bb42]{padding-left:2.5rem!important}
|