@designcrowd/fe-shared-lib 1.6.7 → 1.6.9-ModalAccessibility
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/.claude/settings.local.json +59 -0
- package/.storybook-static/assets/Auth-DT64t5h-.css +1 -0
- package/.storybook-static/assets/Auth.stories-C6eXcTSu.js +490 -0
- package/.storybook-static/assets/AuthCrazyDomains.stories-DGvEoWCa.js +73 -0
- package/.storybook-static/assets/Button-5UzSGUF6.css +1 -0
- package/.storybook-static/assets/Button-DKdQT6Fq.js +1 -0
- package/.storybook-static/assets/ButtonGroup-DDPXuhxR.css +1 -0
- package/.storybook-static/assets/ButtonGroup.stories-DlrYMRSk.js +504 -0
- package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +1 -0
- package/.storybook-static/assets/ButtonPrimary-BvWW6Duz.js +1 -0
- package/.storybook-static/assets/Buttons.stories-CKmd6hkZ.js +761 -0
- package/.storybook-static/assets/ButtonsCrazyDomains.stories-DdEuOUrn.js +199 -0
- package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +1 -0
- package/.storybook-static/assets/Checkbox.stories-DPBUC2Mx.js +246 -0
- package/.storybook-static/assets/Checktile.stories-ByaFwplD.js +88 -0
- package/.storybook-static/assets/CollapsiblePanel.stories-Y6q3gP9j.js +56 -0
- package/.storybook-static/assets/ColorPicker.stories-DdxPUB_R.js +73 -0
- package/.storybook-static/assets/CopyToClipboardText.stories-J9qndWxd.js +32 -0
- package/.storybook-static/assets/Dropdown.stories-1zKPATii.js +159 -0
- package/.storybook-static/assets/DropdownItem-BV-BdThU.css +1 -0
- package/.storybook-static/assets/DropdownItem-DA6TdpDb.js +1 -0
- package/.storybook-static/assets/FormControl.mixin-DcEBwrV3.js +1 -0
- package/.storybook-static/assets/HashRouteModal.stories-BGxvqE22.js +60 -0
- package/.storybook-static/assets/HelloBar-CYEZR2kQ.js +1 -0
- package/.storybook-static/assets/HelloBar.stories-597Kxj0W.js +342 -0
- package/.storybook-static/assets/Icon-C17LFvsP.js +145 -0
- package/.storybook-static/assets/Icon.stories-B9iAmcTU.js +151 -0
- package/.storybook-static/assets/Icon.stories-CR5vT9H7.js +791 -0
- package/.storybook-static/assets/Loader-BWGoT_xC.js +1 -0
- package/.storybook-static/assets/LogoBusinessBrandColours-CExzox1Z.js +1 -0
- package/.storybook-static/assets/LogoBusinessBrandColours-CeAaMKke.css +1 -0
- package/.storybook-static/assets/LogoBusinessBrandColours.stories-kuxAH8B8.js +36 -0
- package/.storybook-static/assets/Masonry-C2MNiGg0.css +1 -0
- package/.storybook-static/assets/Masonry.stories-CTXJLQ_i.js +71 -0
- package/.storybook-static/assets/Modal-CGwEIF5R.css +1 -0
- package/.storybook-static/assets/Modal-CydTNprT.js +1 -0
- package/.storybook-static/assets/Modal.stories-DZiG5NGM.js +345 -0
- package/.storybook-static/assets/Notice.stories-ChOj8CWm.js +222 -0
- package/.storybook-static/assets/NumberStepper-Blffv09R.css +1 -0
- package/.storybook-static/assets/NumberStepper.stories-CVbKJ_oJ.js +64 -0
- package/.storybook-static/assets/PaymentConfigList-BpUMV6cp.css +1 -0
- package/.storybook-static/assets/PaymentConfigList.stories-DUD7OZBS.js +130 -0
- package/.storybook-static/assets/Picture-B8m1I9xN.js +1 -0
- package/.storybook-static/assets/Picture.stories-MMzybhJ6.js +119 -0
- package/.storybook-static/assets/Pill-DLXZ_TL8.js +1 -0
- package/.storybook-static/assets/Pill.stories-DCP7szJm.js +18 -0
- package/.storybook-static/assets/PillBar-os4mJV3M.css +1 -0
- package/.storybook-static/assets/PillBar.stories-Bry-zQ6f.js +41 -0
- package/.storybook-static/assets/Price-C4GZbDSa.js +1 -0
- package/.storybook-static/assets/Price.stories-CMHly9V0.js +337 -0
- package/.storybook-static/assets/PromoCard.stories-xsbFtADE.js +299 -0
- package/.storybook-static/assets/PublishBrandPageModal-Q9-mNG1q.css +1 -0
- package/.storybook-static/assets/PublishBrandPageModal.stories-C9XzW_1m.js +324 -0
- package/.storybook-static/assets/SearchBar.stories-DaIneOSz.js +12 -0
- package/.storybook-static/assets/Select-DnioWQmi.css +1 -0
- package/.storybook-static/assets/Select.stories-BmGYB4pw.js +108 -0
- package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +1 -0
- package/.storybook-static/assets/SellDomainNameListModal-DH6khE10.css +1 -0
- package/.storybook-static/assets/SellDomainNameListModal-ymtVclFP.js +1 -0
- package/.storybook-static/assets/SellDomainNameListModal.stories-DvGvylgx.js +71 -0
- package/.storybook-static/assets/SellDomainNameListSearchResult-Cpxq0jDA.css +1 -0
- package/.storybook-static/assets/SellDomainNameListSearchResult-D-1CrQyf.js +1 -0
- package/.storybook-static/assets/SellDomainNameSearchWithResults-bX--zu97.js +1 -0
- package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-DRUJjSdH.js +37 -0
- package/.storybook-static/assets/SellDomainNameWidget.stories-CC3LX10s.js +36 -0
- package/.storybook-static/assets/SignIn-CPjf8_2O.css +1 -0
- package/.storybook-static/assets/SignIn-DI0DSDFe.js +1 -0
- package/.storybook-static/assets/Slider-Cog2FFdj.css +1 -0
- package/.storybook-static/assets/Slider.stories-B2KGwnJy.js +141 -0
- package/.storybook-static/assets/SparkleIcon.stories-Dk904hVE.js +547 -0
- package/.storybook-static/assets/StarRating-BtKh7pzm.css +1 -0
- package/.storybook-static/assets/StarRating.stories-d2mgOuo2.js +45 -0
- package/.storybook-static/assets/TabMenu.stories-Cg2yenqj.js +47 -0
- package/.storybook-static/assets/TextCopyField-B66NKTk_.js +1 -0
- package/.storybook-static/assets/TextCopyField.stories-B4_ZlfLU.js +47 -0
- package/.storybook-static/assets/TextInput-CMoUjT_5.js +1 -0
- package/.storybook-static/assets/TextInput.stories-oyyxxf3j.js +233 -0
- package/.storybook-static/assets/Textarea.stories-BvhZR6K2.js +207 -0
- package/.storybook-static/assets/Toggle.stories-yT5-rL2k.js +161 -0
- package/.storybook-static/assets/Tooltip-DyXIgFQH.css +1 -0
- package/.storybook-static/assets/Tooltip-ZukyujG5.js +1 -0
- package/.storybook-static/assets/Tooltip.stories-sJFylRS_.js +953 -0
- package/.storybook-static/assets/UploadYourLogoApplication-Dmw8QcH3.css +1 -0
- package/.storybook-static/assets/UploadYourLogoApplication.stories-C9AvzHO_.js +186 -0
- package/.storybook-static/assets/UploadYourLogoDropzone-B1ffcicv.js +24 -0
- package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +1 -0
- package/.storybook-static/assets/UploadYourLogoDropzone.stories-D1Dt2ord.js +55 -0
- package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D8oF1Yrx.js +79 -0
- package/.storybook-static/assets/WebsiteContextualUpgradeModal-8u1zOZrW.css +1 -0
- package/.storybook-static/assets/WebsiteContextualUpgradeModal.stories-mtcvWOAg.js +211 -0
- package/.storybook-static/assets/_commonjsHelpers-CE1G-McA.js +1 -0
- package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
- package/.storybook-static/assets/api-lSJGRrF2.js +1 -0
- package/.storybook-static/assets/axe-DrS73Vi2.js +20 -0
- package/.storybook-static/assets/brand-crowd-api.client-D45NKshX.js +1 -0
- package/.storybook-static/assets/bundled-translations-BoWhEDU_.js +1 -0
- package/.storybook-static/assets/bundled-translations.de-DE-C4lqla4O.js +1 -0
- package/.storybook-static/assets/bundled-translations.es-ES-BxMIllUH.js +1 -0
- package/.storybook-static/assets/bundled-translations.fr-CA-MxZpyz0w.js +1 -0
- package/.storybook-static/assets/bundled-translations.fr-FR-N7UPCZVr.js +1 -0
- package/.storybook-static/assets/bundled-translations.pt-BR-C8tscYuG.js +1 -0
- package/.storybook-static/assets/bundled-translations.pt-PT-Dszj5Xfa.js +1 -0
- package/.storybook-static/assets/carousel-BelyIYOK.css +1 -0
- package/.storybook-static/assets/carousel.stories-CJw3-Iy6.js +668 -0
- package/.storybook-static/assets/event-constants-CMO9VQVu.js +1 -0
- package/.storybook-static/assets/iframe-B3A6OXQU.js +1104 -0
- package/.storybook-static/assets/index-B-eiLVzF.js +7 -0
- package/.storybook-static/assets/index-QquxUozE.js +6 -0
- package/.storybook-static/assets/matchers-5TDFFDYO-HJu_DfWo.js +14 -0
- package/.storybook-static/assets/mediaQueryMixin-CISNqd93.js +1 -0
- package/.storybook-static/assets/preload-helper-PPVm8Dsz.js +1 -0
- package/.storybook-static/assets/tracking-ATsLLehC.js +1 -0
- package/.storybook-static/css/tailwind-brandCrowd.css +2508 -0
- package/.storybook-static/css/tailwind-brandPage.css +2188 -0
- package/.storybook-static/css/tailwind-crazyDomains.css +2508 -0
- package/.storybook-static/css/tailwind-designCom.css +2508 -0
- package/.storybook-static/css/tailwind-designCrowd.css +2508 -0
- package/.storybook-static/favicon-wrapper.svg +46 -0
- package/.storybook-static/favicon.svg +1 -0
- package/.storybook-static/iframe.html +713 -0
- package/.storybook-static/index.html +148 -0
- package/.storybook-static/index.json +1 -0
- 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 +1 -0
- package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +57 -0
- package/.storybook-static/sb-addons/links-2/manager-bundle.js +3 -0
- package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +628 -0
- package/.storybook-static/sb-addons/themes-3/manager-bundle.js +3 -0
- package/.storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
- package/.storybook-static/sb-common-assets/favicon.svg +1 -0
- 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-runtime.js +77935 -0
- package/.storybook-static/sb-manager/globals.js +24 -0
- package/.storybook-static/sb-manager/manager-stores.js +23 -0
- package/.storybook-static/sb-manager/runtime.js +20404 -0
- package/.storybook-static/vite-inject-mocker-entry.js +2 -0
- package/dist/css/tailwind-brandCrowd.css +4 -34
- package/dist/css/tailwind-brandPage.css +3 -25
- package/dist/css/tailwind-crazyDomains.css +4 -34
- package/dist/css/tailwind-designCom.css +4 -34
- package/dist/css/tailwind-designCrowd.css +4 -34
- package/package.json +1 -1
- package/public/css/tailwind-brandCrowd.css +2538 -0
- package/public/css/tailwind-brandPage.css +2210 -0
- package/public/css/tailwind-crazyDomains.css +2538 -0
- package/public/css/tailwind-designCom.css +2538 -0
- package/public/css/tailwind-designCrowd.css +2538 -0
- package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.stories.js +1 -275
- package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.vue +98 -274
- package/src/atoms/components/Modal/Modal.vue +9 -0
|
@@ -5,15 +5,10 @@ export default {
|
|
|
5
5
|
component: AiPoweredLoader,
|
|
6
6
|
argTypes: {
|
|
7
7
|
size: {
|
|
8
|
-
control: { type: '
|
|
8
|
+
control: { type: 'range', min: 50, max: 500, step: 1 },
|
|
9
9
|
description: 'Size of the loader in pixels (width and height)',
|
|
10
10
|
defaultValue: 96,
|
|
11
11
|
},
|
|
12
|
-
interval: {
|
|
13
|
-
control: { type: 'range', min: 50, max: 500, step: 50 },
|
|
14
|
-
description: 'Animation frame interval in milliseconds',
|
|
15
|
-
defaultValue: 150,
|
|
16
|
-
},
|
|
17
12
|
alt: {
|
|
18
13
|
control: 'text',
|
|
19
14
|
description: 'Alternative text for accessibility',
|
|
@@ -33,175 +28,9 @@ export const Default = (args) => ({
|
|
|
33
28
|
|
|
34
29
|
Default.args = {
|
|
35
30
|
size: 96,
|
|
36
|
-
interval: 150,
|
|
37
31
|
alt: 'loading',
|
|
38
32
|
};
|
|
39
33
|
|
|
40
|
-
// Size variations story
|
|
41
|
-
export const SizeVariations = () => ({
|
|
42
|
-
components: { AiPoweredLoader },
|
|
43
|
-
template: `
|
|
44
|
-
<div class="tw-flex tw-gap-8 tw-items-center tw-p-6">
|
|
45
|
-
<div class="tw-text-center">
|
|
46
|
-
<AiPoweredLoader :size="48" alt="Small loader" />
|
|
47
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Small (48px)</p>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="tw-text-center">
|
|
50
|
-
<AiPoweredLoader :size="64" alt="Medium-small loader" />
|
|
51
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Medium-Small (64px)</p>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="tw-text-center">
|
|
54
|
-
<AiPoweredLoader :size="96" alt="Default loader" />
|
|
55
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Default (96px)</p>
|
|
56
|
-
</div>
|
|
57
|
-
<div class="tw-text-center">
|
|
58
|
-
<AiPoweredLoader :size="128" alt="Large loader" />
|
|
59
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Large (128px)</p>
|
|
60
|
-
</div>
|
|
61
|
-
<div class="tw-text-center">
|
|
62
|
-
<AiPoweredLoader :size="160" alt="Extra large loader" />
|
|
63
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Extra Large (160px)</p>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
`,
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
SizeVariations.story = {
|
|
70
|
-
name: 'Size Variations',
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
// Speed variations story
|
|
74
|
-
export const SpeedVariations = () => ({
|
|
75
|
-
components: { AiPoweredLoader },
|
|
76
|
-
template: `
|
|
77
|
-
<div class="tw-p-6">
|
|
78
|
-
<h3 class="tw-text-lg tw-font-bold tw-mb-4">Animation Speed Variations</h3>
|
|
79
|
-
<div class="tw-flex tw-gap-8 tw-items-center">
|
|
80
|
-
<div class="tw-text-center">
|
|
81
|
-
<AiPoweredLoader :interval="75" alt="Fast animation" />
|
|
82
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Fast (75ms)</p>
|
|
83
|
-
</div>
|
|
84
|
-
<div class="tw-text-center">
|
|
85
|
-
<AiPoweredLoader :interval="150" alt="Normal animation" />
|
|
86
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Normal (150ms)</p>
|
|
87
|
-
</div>
|
|
88
|
-
<div class="tw-text-center">
|
|
89
|
-
<AiPoweredLoader :interval="300" alt="Slow animation" />
|
|
90
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Slow (300ms)</p>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
`,
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
SpeedVariations.story = {
|
|
98
|
-
name: 'Animation Speed',
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
// Common use cases story
|
|
102
|
-
export const CommonUseCases = () => ({
|
|
103
|
-
components: { AiPoweredLoader },
|
|
104
|
-
template: `
|
|
105
|
-
<div class="tw-p-6 tw-space-y-8">
|
|
106
|
-
<!-- Inline loader -->
|
|
107
|
-
<div class="tw-border tw-rounded-lg tw-p-4">
|
|
108
|
-
<h4 class="tw-text-md tw-font-semibold tw-mb-3">Inline Button Loader</h4>
|
|
109
|
-
<div class="tw-flex tw-items-center tw-gap-3">
|
|
110
|
-
<button class="tw-px-4 tw-py-2 tw-bg-primary-500 tw-text-white tw-rounded tw-flex tw-items-center tw-gap-2">
|
|
111
|
-
<AiPoweredLoader :size="20" :interval="100" alt="Processing" />
|
|
112
|
-
Processing...
|
|
113
|
-
</button>
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
|
|
117
|
-
<!-- Card loader -->
|
|
118
|
-
<div class="tw-border tw-rounded-lg tw-p-4">
|
|
119
|
-
<h4 class="tw-text-md tw-font-semibold tw-mb-3">Card Loading State</h4>
|
|
120
|
-
<div class="tw-bg-gray-50 tw-rounded tw-p-6 tw-flex tw-flex-col tw-items-center tw-justify-center tw-min-h-[200px]">
|
|
121
|
-
<AiPoweredLoader :size="80" alt="Loading content" />
|
|
122
|
-
<p class="tw-mt-4 tw-text-gray-600">Loading your content...</p>
|
|
123
|
-
</div>
|
|
124
|
-
</div>
|
|
125
|
-
|
|
126
|
-
<!-- Page loader -->
|
|
127
|
-
<div class="tw-border tw-rounded-lg tw-p-4">
|
|
128
|
-
<h4 class="tw-text-md tw-font-semibold tw-mb-3">Full Page Loader</h4>
|
|
129
|
-
<div class="tw-bg-white tw-rounded tw-p-12 tw-flex tw-flex-col tw-items-center tw-justify-center tw-min-h-[300px] tw-border-2 tw-border-dashed tw-border-gray-300">
|
|
130
|
-
<AiPoweredLoader :size="120" alt="Loading page" />
|
|
131
|
-
<p class="tw-mt-6 tw-text-xl tw-text-gray-700">AI is working its magic...</p>
|
|
132
|
-
<p class="tw-text-sm tw-text-gray-500 tw-mt-2">This may take a few moments</p>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
</div>
|
|
136
|
-
`,
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
CommonUseCases.story = {
|
|
140
|
-
name: 'Common Use Cases',
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
// Interactive size control story
|
|
144
|
-
export const InteractiveSize = () => ({
|
|
145
|
-
components: { AiPoweredLoader },
|
|
146
|
-
data() {
|
|
147
|
-
return {
|
|
148
|
-
currentSize: 96,
|
|
149
|
-
currentInterval: 150,
|
|
150
|
-
};
|
|
151
|
-
},
|
|
152
|
-
template: `
|
|
153
|
-
<div class="tw-p-6">
|
|
154
|
-
<h3 class="tw-text-lg tw-font-bold tw-mb-4">Interactive Size Control</h3>
|
|
155
|
-
|
|
156
|
-
<!-- Controls -->
|
|
157
|
-
<div class="tw-mb-6 tw-space-y-4">
|
|
158
|
-
<div class="tw-flex tw-items-center tw-gap-4">
|
|
159
|
-
<label class="tw-text-sm tw-font-medium tw-w-20">Size:</label>
|
|
160
|
-
<input
|
|
161
|
-
type="range"
|
|
162
|
-
min="32"
|
|
163
|
-
max="200"
|
|
164
|
-
step="8"
|
|
165
|
-
v-model="currentSize"
|
|
166
|
-
class="tw-flex-1 tw-max-w-xs"
|
|
167
|
-
/>
|
|
168
|
-
<span class="tw-text-sm tw-text-gray-600 tw-w-16">{{ currentSize }}px</span>
|
|
169
|
-
</div>
|
|
170
|
-
|
|
171
|
-
<div class="tw-flex tw-items-center tw-gap-4">
|
|
172
|
-
<label class="tw-text-sm tw-font-medium tw-w-20">Speed:</label>
|
|
173
|
-
<input
|
|
174
|
-
type="range"
|
|
175
|
-
min="50"
|
|
176
|
-
max="500"
|
|
177
|
-
step="25"
|
|
178
|
-
v-model="currentInterval"
|
|
179
|
-
class="tw-flex-1 tw-max-w-xs"
|
|
180
|
-
/>
|
|
181
|
-
<span class="tw-text-sm tw-text-gray-600 tw-w-16">{{ currentInterval }}ms</span>
|
|
182
|
-
</div>
|
|
183
|
-
</div>
|
|
184
|
-
|
|
185
|
-
<!-- Preview -->
|
|
186
|
-
<div class="tw-flex tw-items-center tw-justify-center tw-p-8 tw-bg-gray-50 tw-rounded-lg">
|
|
187
|
-
<AiPoweredLoader
|
|
188
|
-
:size="currentSize"
|
|
189
|
-
:interval="currentInterval"
|
|
190
|
-
alt="Interactive loader preview"
|
|
191
|
-
/>
|
|
192
|
-
</div>
|
|
193
|
-
|
|
194
|
-
<p class="tw-text-sm tw-text-gray-600 tw-mt-4">
|
|
195
|
-
Use the sliders above to adjust the loader size and animation speed in real-time.
|
|
196
|
-
</p>
|
|
197
|
-
</div>
|
|
198
|
-
`,
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
InteractiveSize.story = {
|
|
202
|
-
name: 'Interactive Controls',
|
|
203
|
-
};
|
|
204
|
-
|
|
205
34
|
// Comparison with traditional loader story
|
|
206
35
|
export const LoaderComparison = () => ({
|
|
207
36
|
components: { AiPoweredLoader },
|
|
@@ -259,106 +88,3 @@ export const LoaderComparison = () => ({
|
|
|
259
88
|
LoaderComparison.story = {
|
|
260
89
|
name: 'Loader Comparison',
|
|
261
90
|
};
|
|
262
|
-
|
|
263
|
-
// Showcase story
|
|
264
|
-
export const Showcase = () => ({
|
|
265
|
-
components: { AiPoweredLoader },
|
|
266
|
-
template: `
|
|
267
|
-
<div class="tw-p-6">
|
|
268
|
-
<h3 class="tw-text-lg tw-font-bold tw-mb-4">AI-Powered Loader Showcase</h3>
|
|
269
|
-
|
|
270
|
-
<div class="tw-space-y-8">
|
|
271
|
-
<!-- Size Showcase -->
|
|
272
|
-
<div class="tw-border tw-rounded-lg tw-p-6">
|
|
273
|
-
<h4 class="tw-text-md tw-font-semibold tw-mb-4">Size Range</h4>
|
|
274
|
-
<div class="tw-flex tw-gap-6 tw-items-end tw-justify-center">
|
|
275
|
-
<div class="tw-text-center">
|
|
276
|
-
<AiPoweredLoader :size="32" alt="Tiny loader" />
|
|
277
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">32px</p>
|
|
278
|
-
</div>
|
|
279
|
-
<div class="tw-text-center">
|
|
280
|
-
<AiPoweredLoader :size="48" alt="Small loader" />
|
|
281
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">48px</p>
|
|
282
|
-
</div>
|
|
283
|
-
<div class="tw-text-center">
|
|
284
|
-
<AiPoweredLoader :size="64" alt="Medium loader" />
|
|
285
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">64px</p>
|
|
286
|
-
</div>
|
|
287
|
-
<div class="tw-text-center">
|
|
288
|
-
<AiPoweredLoader :size="96" alt="Default loader" />
|
|
289
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">96px (default)</p>
|
|
290
|
-
</div>
|
|
291
|
-
<div class="tw-text-center">
|
|
292
|
-
<AiPoweredLoader :size="128" alt="Large loader" />
|
|
293
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">128px</p>
|
|
294
|
-
</div>
|
|
295
|
-
<div class="tw-text-center">
|
|
296
|
-
<AiPoweredLoader :size="180" alt="Extra large loader" />
|
|
297
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">180px</p>
|
|
298
|
-
</div>
|
|
299
|
-
</div>
|
|
300
|
-
</div>
|
|
301
|
-
|
|
302
|
-
<!-- Speed Showcase -->
|
|
303
|
-
<div class="tw-border tw-rounded-lg tw-p-6">
|
|
304
|
-
<h4 class="tw-text-md tw-font-semibold tw-mb-4">Animation Speeds</h4>
|
|
305
|
-
<div class="tw-flex tw-gap-8 tw-items-center tw-justify-center">
|
|
306
|
-
<div class="tw-text-center">
|
|
307
|
-
<AiPoweredLoader :size="80" :interval="50" alt="Very fast loader" />
|
|
308
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Very Fast (50ms)</p>
|
|
309
|
-
</div>
|
|
310
|
-
<div class="tw-text-center">
|
|
311
|
-
<AiPoweredLoader :size="80" :interval="100" alt="Fast loader" />
|
|
312
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Fast (100ms)</p>
|
|
313
|
-
</div>
|
|
314
|
-
<div class="tw-text-center">
|
|
315
|
-
<AiPoweredLoader :size="80" :interval="150" alt="Normal loader" />
|
|
316
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Normal (150ms)</p>
|
|
317
|
-
</div>
|
|
318
|
-
<div class="tw-text-center">
|
|
319
|
-
<AiPoweredLoader :size="80" :interval="250" alt="Slow loader" />
|
|
320
|
-
<p class="tw-text-xs tw-mt-2 tw-text-gray-600">Slow (250ms)</p>
|
|
321
|
-
</div>
|
|
322
|
-
</div>
|
|
323
|
-
</div>
|
|
324
|
-
|
|
325
|
-
<!-- Context Examples -->
|
|
326
|
-
<div class="tw-border tw-rounded-lg tw-p-6">
|
|
327
|
-
<h4 class="tw-text-md tw-font-semibold tw-mb-4">Real-World Examples</h4>
|
|
328
|
-
<div class="tw-grid tw-grid-cols-1 md:tw-grid-cols-3 tw-gap-6">
|
|
329
|
-
<!-- Button context -->
|
|
330
|
-
<div class="tw-bg-gray-50 tw-p-4 tw-rounded tw-text-center">
|
|
331
|
-
<p class="tw-text-sm tw-font-medium tw-mb-3">Button Context</p>
|
|
332
|
-
<button class="tw-px-4 tw-py-2 tw-bg-primary-500 tw-text-white tw-rounded tw-flex tw-items-center tw-gap-2 tw-mx-auto">
|
|
333
|
-
<AiPoweredLoader :size="18" :interval="120" alt="Button loading" />
|
|
334
|
-
Loading...
|
|
335
|
-
</button>
|
|
336
|
-
</div>
|
|
337
|
-
|
|
338
|
-
<!-- Card context -->
|
|
339
|
-
<div class="tw-bg-gray-50 tw-p-4 tw-rounded tw-text-center">
|
|
340
|
-
<p class="tw-text-sm tw-font-medium tw-mb-3">Card Loading</p>
|
|
341
|
-
<div class="tw-bg-white tw-p-4 tw-rounded tw-shadow-sm">
|
|
342
|
-
<AiPoweredLoader :size="60" alt="Card loading" />
|
|
343
|
-
<p class="tw-text-sm tw-text-gray-600 tw-mt-2">Loading data...</p>
|
|
344
|
-
</div>
|
|
345
|
-
</div>
|
|
346
|
-
|
|
347
|
-
<!-- Full screen context -->
|
|
348
|
-
<div class="tw-bg-gray-50 tw-p-4 tw-rounded tw-text-center">
|
|
349
|
-
<p class="tw-text-sm tw-font-medium tw-mb-3">Page Loading</p>
|
|
350
|
-
<div class="tw-bg-white tw-p-6 tw-rounded tw-shadow-sm tw-min-h-[120px] tw-flex tw-flex-col tw-justify-center">
|
|
351
|
-
<AiPoweredLoader :size="80" alt="Page loading" />
|
|
352
|
-
<p class="tw-text-sm tw-text-gray-600 tw-mt-3">Please wait...</p>
|
|
353
|
-
</div>
|
|
354
|
-
</div>
|
|
355
|
-
</div>
|
|
356
|
-
</div>
|
|
357
|
-
</div>
|
|
358
|
-
</div>
|
|
359
|
-
`,
|
|
360
|
-
});
|
|
361
|
-
|
|
362
|
-
Showcase.story = {
|
|
363
|
-
name: 'Complete Showcase',
|
|
364
|
-
};
|