@designcrowd/fe-shared-lib 1.4.8-promocardv1 → 1.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.storybook/main.ts +4 -5
  2. package/.storybook/preview.js +0 -1
  3. package/dist/css/tailwind-brandCrowd.css +6 -0
  4. package/dist/css/tailwind-brandPage.css +6 -0
  5. package/dist/css/tailwind-crazyDomains.css +6 -0
  6. package/dist/css/tailwind-designCom.css +6 -0
  7. package/dist/css/tailwind-designCrowd.css +6 -0
  8. package/index.js +1 -1
  9. package/package.json +10 -10
  10. package/src/atoms/components/Carousel/Carousel.fixtures.js +0 -18
  11. package/src/atoms/components/Carousel/carousel.stories.js +179 -448
  12. package/src/atoms/components/Icon/Icon.stories.js +3 -0
  13. package/src/atoms/components/Icon/Icon.vue +6 -0
  14. package/src/atoms/components/Icon/icons/badge.vue +8 -0
  15. package/src/atoms/components/Icon/icons/briefcase.vue +7 -0
  16. package/src/atoms/components/Icon/icons/clipboard-check.vue +7 -0
  17. package/src/atoms/components/Price/Price.vue +5 -5
  18. package/src/atoms/components/SparkleIcon/SparkleIcon.stories.js +182 -0
  19. package/src/atoms/components/SparkleIcon/SparkleIcon.vue +105 -0
  20. package/src/atoms/components/SparkleIcon/assets/animations/state-01.svg +5 -0
  21. package/src/atoms/components/SparkleIcon/assets/animations/state-02.svg +5 -0
  22. package/src/atoms/components/SparkleIcon/assets/animations/state-03.svg +5 -0
  23. package/src/atoms/components/SparkleIcon/assets/animations/state-04.svg +5 -0
  24. package/src/atoms/components/SparkleIcon/assets/animations/state-05.svg +5 -0
  25. package/src/atoms/components/SparkleIcon/assets/animations/state-06.svg +5 -0
  26. package/src/atoms/components/SparkleIcon/assets/animations/state-07.svg +5 -0
  27. package/src/atoms/components/SparkleIcon/assets/animations/state-08.svg +5 -0
  28. package/src/atoms/components/SparkleIcon/assets/sparkle.svg +3 -0
  29. package/src/atoms/components/SparkleIcon/index.ts +3 -0
  30. package/tailwind.config.js +8 -7
  31. package/public/css/tailwind-brandCrowd.css +0 -2472
  32. package/public/css/tailwind-brandPage.css +0 -2156
  33. package/public/css/tailwind-crazyDomains.css +0 -2472
  34. package/public/css/tailwind-designCom.css +0 -2472
  35. package/public/css/tailwind-designCrowd.css +0 -2472
  36. package/src/atoms/components/PromoCard/PromoCard.stories.ts +0 -265
  37. package/src/atoms/components/PromoCard/PromoCard.vue +0 -89
@@ -25,6 +25,8 @@ export const IconSample = () => {
25
25
  { name: 'auth-facebook' },
26
26
  { name: 'auth-facebook-white' },
27
27
  { name: 'auth-google' },
28
+ { name: 'badge' },
29
+ { name: 'briefcase' },
28
30
  { name: 'brush' },
29
31
  { name: 'banner' },
30
32
  { name: 'banner-centered' },
@@ -60,6 +62,7 @@ export const IconSample = () => {
60
62
  { name: 'chevron-right' },
61
63
  { name: 'chevron-right-wide' },
62
64
  { name: 'chevron-up' },
65
+ { name: 'clipboard-check' },
63
66
  { name: 'close' },
64
67
  { name: 'community' },
65
68
  { name: 'column-1' },
@@ -49,6 +49,7 @@ import IconAttach from './icons/attach.vue';
49
49
  import IconAuthFacebookWhite from './icons/auth-facebook-white.vue';
50
50
  import IconAuthFacebook from './icons/auth-facebook.vue';
51
51
  import IconAuthGoogle from './icons/auth-google.vue';
52
+ import IconBriefcase from './icons/briefcase.vue';
52
53
  import IconBackground from './icons/background.vue';
53
54
  import IconBannerCentered from './icons/banner-centered.vue';
54
55
  import IconBannerLeft from './icons/banner-left.vue';
@@ -396,6 +397,8 @@ import IconVolume from './icons/volume.vue';
396
397
 
397
398
  import IconFile from './icons/file.vue';
398
399
  import IconPenTool from './icons/pen-tool.vue';
400
+ import IconClipboardCheck from './icons/clipboard-check.vue';
401
+ import IconBadge from './icons/badge.vue';
399
402
 
400
403
  export default {
401
404
  components: {
@@ -413,6 +416,7 @@ export default {
413
416
  IconAuthFacebook,
414
417
  IconAuthFacebookWhite,
415
418
  IconAuthGoogle,
419
+ IconBriefcase,
416
420
  IconBcMast,
417
421
  IconBackground,
418
422
  IconBanner,
@@ -763,6 +767,8 @@ export default {
763
767
  /* eslint-enable camelcase */
764
768
  IconAspectRatioCircle,
765
769
  IconAspectRatioOriginal,
770
+ IconClipboardCheck,
771
+ IconBadge,
766
772
  },
767
773
  props: {
768
774
  viewBox: {
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <path
3
+ fill-rule="evenodd"
4
+ clip-rule="evenodd"
5
+ d="M8 12C10.2091 12 12 10.2091 12 8C12 5.79086 10.2091 4 8 4C5.79086 4 4 5.79086 4 8C4 10.2091 5.79086 12 8 12Z
6
+ M12.1308 3.09889C12.275 3.44751 12.5516 3.72462 12.9 3.86929L14.1217 4.37532C14.4703 4.51974 14.7473 4.79673 14.8917 5.14538C15.0361 5.49402 15.0361 5.88576 14.8917 6.2344L14.386 7.4552C14.2416 7.804 14.2414 8.19613 14.3865 8.54476L14.8913 9.76519C14.9629 9.93787 14.9997 10.123 14.9997 10.3099C14.9998 10.4968 14.963 10.6819 14.8914 10.8546C14.8199 11.0273 14.715 11.1843 14.5828 11.3164C14.4507 11.4486 14.2937 11.5534 14.121 11.6249L12.9002 12.1305C12.5516 12.2747 12.2745 12.5514 12.1299 12.8998L11.6239 14.1214C11.4794 14.4701 11.2025 14.7471 10.8538 14.8915C10.5052 15.0359 10.1135 15.0359 9.76485 14.8915L8.54409 14.3858C8.19545 14.2418 7.80387 14.2421 7.45545 14.3867L6.23382 14.892C5.88538 15.036 5.494 15.0359 5.14566 14.8916C4.79731 14.7473 4.52047 14.4707 4.37597 14.1224L3.8698 12.9003C3.72566 12.5517 3.44898 12.2746 3.10059 12.13L1.87896 11.6239C1.53048 11.4796 1.25358 11.2027 1.10912 10.8543C0.964656 10.5059 0.96446 10.1143 1.10857 9.76572L1.61422 8.54492C1.75828 8.19627 1.75798 7.80467 1.61341 7.45623L1.10848 6.23369C1.03689 6.06101 1.00003 5.87591 1 5.68898C0.99997 5.50205 1.03677 5.31694 1.10831 5.14424C1.17984 4.97154 1.2847 4.81462 1.4169 4.68246C1.54909 4.5503 1.70604 4.44549 1.87876 4.37401L3.09951 3.86834C3.44781 3.72432 3.72474 3.44798 3.86951 3.09998L4.37553 1.87831C4.51993 1.52966 4.79692 1.25266 5.14555 1.10825C5.49419 0.963836 5.88591 0.963836 6.23454 1.10825L7.45529 1.61392C7.80393 1.75798 8.19551 1.75768 8.54393 1.6131L9.76608 1.10903C10.1147 0.964701 10.5063 0.96473 10.8549 1.10912C11.2034 1.2535 11.4804 1.53042 11.6248 1.87897L12.131 3.10101L12.1308 3.09889Z"
7
+ />
8
+ </template>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <path
3
+ d="M13.9163 6.79983C13.9163 6.41419 13.9158 6.17005 13.9007 5.98537C13.8864 5.80959 13.8627 5.75468 13.8529 5.73537C13.7969 5.62561 13.7077 5.53642 13.598 5.48049C13.5787 5.47066 13.5238 5.447 13.348 5.43264C13.1633 5.41755 12.9192 5.41701 12.5335 5.41701H11.4163V13.25H12.5335C12.9191 13.25 13.1633 13.2495 13.348 13.2344C13.5234 13.2201 13.5786 13.1964 13.598 13.1865C13.7077 13.1307 13.7969 13.0413 13.8529 12.9317C13.8627 12.9124 13.8863 12.8574 13.9007 12.6817C13.9158 12.497 13.9163 12.252 13.9163 11.8662V6.79983ZM6.08333 13.25H9.91634V5.41701H6.08333V13.25ZM8.00032 2.75002C7.33233 2.75002 7.14499 2.75688 7.01009 2.79299C6.57872 2.90857 6.24188 3.24541 6.1263 3.67678C6.11062 3.73534 6.10144 3.80371 6.09505 3.91701H9.90462C9.89823 3.80382 9.89 3.7353 9.87435 3.67678C9.7588 3.24556 9.42171 2.90868 8.99056 2.79299C8.85566 2.75684 8.66833 2.75002 8.00032 2.75002ZM2.08333 11.8662C2.08333 12.252 2.08386 12.497 2.09896 12.6817C2.11333 12.8574 2.137 12.9124 2.14681 12.9317C2.20272 13.0414 2.29199 13.1306 2.40169 13.1865C2.42094 13.1964 2.47598 13.22 2.65169 13.2344C2.8364 13.2495 3.08138 13.25 3.46712 13.25H4.58333V5.41701H3.46712C3.08138 5.41701 2.8364 5.41755 2.65169 5.43264C2.476 5.44702 2.42094 5.47068 2.40169 5.48049C2.29202 5.53642 2.2027 5.62568 2.14681 5.73537C2.13694 5.75479 2.11329 5.80997 2.09896 5.98537C2.08387 6.17005 2.08333 6.4142 2.08333 6.79983V11.8662ZM15.4163 11.8662C15.4163 12.2272 15.4171 12.5438 15.3958 12.8037C15.3739 13.0723 15.3252 13.3465 15.1898 13.6123C14.9901 14.0041 14.6714 14.3227 14.2796 14.5225C14.0137 14.658 13.7388 14.7076 13.47 14.7295C13.2102 14.7507 12.8944 14.75 12.5335 14.75H3.46712C3.10613 14.75 2.78958 14.7508 2.52962 14.7295C2.26098 14.7075 1.98691 14.658 1.72103 14.5225C1.32906 14.3228 1.0106 14.0043 0.81087 13.6123C0.675395 13.3464 0.625803 13.0724 0.603839 12.8037C0.582599 12.5438 0.583331 12.2272 0.583331 11.8662V6.79983C0.583331 6.43896 0.582611 6.1232 0.603839 5.8633C0.625794 5.59459 0.675358 5.31969 0.81087 5.05373C1.01062 4.66199 1.32921 4.34322 1.72103 4.14358C1.98684 4.00819 2.26106 3.95948 2.52962 3.93752C2.78958 3.91628 3.10613 3.91701 3.46712 3.91701H4.5931C4.60372 3.68501 4.626 3.47875 4.67708 3.28811C4.93139 2.33924 5.67255 1.59808 6.62142 1.34377C6.99517 1.24363 7.42863 1.25002 8.00032 1.25002C8.57179 1.25002 9.00461 1.24368 9.37825 1.34377C10.3272 1.59803 11.0682 2.33922 11.3226 3.28811C11.3737 3.47875 11.3969 3.68499 11.4075 3.91701H12.5335C12.8944 3.91701 13.2101 3.91629 13.47 3.93752C13.7388 3.95948 14.0137 4.00806 14.2796 4.14358C14.6714 4.34327 14.9901 4.66197 15.1898 5.05373C15.3253 5.31969 15.3739 5.59459 15.3958 5.8633C15.4171 6.1232 15.4163 6.43895 15.4163 6.79983V11.8662Z"
4
+ fill-rule="evenodd"
5
+ clip-rule="evenodd"
6
+ />
7
+ </template>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <path
3
+ fill-rule="evenodd"
4
+ clip-rule="evenodd"
5
+ d="M12.6667 5.33333C12.6667 4.67043 12.6605 4.46979 12.6208 4.32161C12.4975 3.86155 12.1384 3.50253 11.6784 3.37923C11.5979 3.35766 11.502 3.34621 11.3249 3.34016C11.3234 3.36931 11.3242 3.39777 11.3219 3.42513C11.3095 3.57752 11.2803 3.75785 11.1881 3.9388C11.0603 4.18965 10.856 4.39398 10.6051 4.5218C10.4244 4.61382 10.2447 4.64314 10.0924 4.65559C9.94791 4.6674 9.77585 4.66634 9.60026 4.66634H6.40006C6.2244 4.66634 6.05248 4.66741 5.90788 4.65559C5.75548 4.64314 5.57515 4.614 5.3942 4.5218C5.14347 4.394 4.93998 4.18953 4.81217 3.9388C4.71997 3.75785 4.69083 3.57752 4.67838 3.42513C4.67615 3.39775 4.67591 3.36933 4.67448 3.34016C4.49797 3.34621 4.40228 3.35773 4.32194 3.37923C3.86182 3.50252 3.50187 3.86149 3.37858 4.32161C3.33889 4.46979 3.33366 4.67055 3.33366 5.33333V11.4671C3.33366 12.0379 3.33357 12.4259 3.35807 12.7259C3.38193 13.0179 3.42514 13.1676 3.47819 13.2718C3.60601 13.5227 3.81034 13.727 4.0612 13.8548C4.16543 13.9079 4.31499 13.951 4.60709 13.9749C4.90715 13.9994 5.29581 14.0003 5.86686 14.0003H10.1335C10.7042 14.0003 11.0923 13.9994 11.3923 13.9749C11.6845 13.951 11.8349 13.9079 11.9391 13.8548C12.1899 13.727 12.3934 13.5226 12.5212 13.2718C12.5743 13.1675 12.6174 13.0181 12.6413 12.7259C12.6658 12.4259 12.6667 12.0379 12.6667 11.4671V5.33333ZM9.86198 7.86165C10.1222 7.60157 10.544 7.60168 10.8044 7.86165C11.0647 8.122 11.0647 8.54466 10.8044 8.80501L7.80436 11.805C7.54404 12.065 7.12223 12.0651 6.86198 11.805L5.52897 10.471C5.26862 10.2107 5.26862 9.78899 5.52897 9.52864C5.78933 9.26845 6.21106 9.26835 6.47135 9.52864L7.33268 10.39L9.86198 7.86165ZM6.01627 2.00716C6.01317 2.00741 6.01026 2.00788 6.00749 2.00813C6.00726 2.01062 6.00673 2.0132 6.00651 2.01595C6.00016 2.09363 5.99967 2.20222 5.99967 2.39973V2.93294C5.99967 3.13045 6.00017 3.23902 6.00651 3.31673C6.00673 3.31939 6.00727 3.32212 6.00749 3.32454C6.01028 3.3248 6.01314 3.32624 6.01627 3.32649C6.094 3.33284 6.20238 3.33333 6.40006 3.33333H9.60026C9.79778 3.33333 9.90636 3.33284 9.98405 3.32649C9.98644 3.3263 9.98869 3.32571 9.99088 3.32552C9.99114 3.32276 9.99259 3.31981 9.99284 3.31673C9.99918 3.23901 9.99967 3.13049 9.99967 2.93294V2.39973C9.99967 2.20222 9.99918 2.09363 9.99284 2.01595C9.99258 2.01284 9.99212 2.00993 9.99186 2.00716C9.9894 2.00693 9.98676 2.00738 9.98405 2.00716C9.90636 2.00081 9.79778 2.00032 9.60026 2.00032H6.40006C6.20238 2.00032 6.094 2.00081 6.01627 2.00716ZM13.9997 11.4671C13.9997 12.0159 14.0003 12.4675 13.9704 12.8343C13.9398 13.209 13.8744 13.5538 13.7096 13.8773C13.454 14.379 13.0454 14.7867 12.5436 15.0423C12.2202 15.2071 11.8762 15.2734 11.5016 15.304C11.1347 15.334 10.6825 15.3333 10.1335 15.3333H5.86686C5.31781 15.3333 4.86564 15.334 4.4987 15.304C4.12399 15.2734 3.77926 15.2072 3.45573 15.0423C2.95414 14.7866 2.54629 14.3789 2.29069 13.8773C2.12583 13.5537 2.06056 13.209 2.02995 12.8343C1.99999 12.4675 1.99967 12.0159 1.99967 11.4671V5.33333C1.99967 4.75652 1.99403 4.33726 2.09049 3.97688C2.33705 3.05674 3.05613 2.3378 3.97624 2.09114C4.18299 2.03574 4.40938 2.01465 4.6735 2.00618C4.67504 1.97229 4.67581 1.93909 4.67838 1.90755C4.69085 1.75524 4.72007 1.57565 4.81217 1.39485C4.93995 1.14408 5.14347 0.939685 5.3942 0.811844C5.57515 0.719646 5.75548 0.690506 5.90788 0.678055C6.05248 0.666241 6.22439 0.666336 6.40006 0.666336H9.60026C9.77585 0.666336 9.94791 0.666245 10.0924 0.678055C10.2447 0.690516 10.4244 0.719786 10.6051 0.811844C10.8247 0.92371 11.0083 1.09416 11.1364 1.30305L11.1881 1.39485L11.2458 1.52962C11.2935 1.66364 11.3126 1.79326 11.3219 1.90755C11.3245 1.93908 11.3243 1.9723 11.3258 2.00618C11.5901 2.01463 11.8163 2.03576 12.0231 2.09114C12.9434 2.33772 13.6623 3.05664 13.9089 3.97688C13.9813 4.24728 13.9968 4.55068 13.9997 4.92903V11.4671Z"
6
+ />
7
+ </template>
@@ -71,6 +71,10 @@ export default {
71
71
  if (!this.amount || this.amount === 0) {
72
72
  return this.free;
73
73
  }
74
+ const parsedAmount = Number.parseFloat(this.amount);
75
+ const hasFraction = parsedAmount % 1 !== 0;
76
+
77
+ const fractionToDisplay = (!hasFraction && !this.alwaysShowFraction) ? 0 : this.fraction;
74
78
 
75
79
  if (this.locale != null)
76
80
  {
@@ -78,7 +82,7 @@ export default {
78
82
  this.amount,
79
83
  this.locale,
80
84
  this.currency,
81
- this.fraction,
85
+ fractionToDisplay,
82
86
  this.showAbbreviation
83
87
  );
84
88
 
@@ -87,14 +91,10 @@ export default {
87
91
  }
88
92
  }
89
93
 
90
- const parsedAmount = Number.parseFloat(this.amount);
91
-
92
94
  if (Number.isNaN(parsedAmount)) {
93
95
  return this.amount;
94
96
  }
95
97
 
96
- const hasFraction = parsedAmount % 1 !== 0;
97
-
98
98
  if (!hasFraction && !this.alwaysShowFraction) {
99
99
  return parsedAmount.toFixed(0);
100
100
  }
@@ -0,0 +1,182 @@
1
+ import SparkleIcon from './SparkleIcon.vue';
2
+
3
+ export default {
4
+ title: 'Components/SparkleIcon',
5
+ component: SparkleIcon,
6
+ argTypes: {
7
+ animated: {
8
+ control: 'boolean',
9
+ description: 'Whether the sparkle icon should animate',
10
+ defaultValue: false,
11
+ },
12
+ size: {
13
+ control: { type: 'select' },
14
+ options: ['sm', 'md', 'lg', 12, 16, 20, 24, 32, 48],
15
+ description: 'Size of the icon (predefined or custom number)',
16
+ defaultValue: 'md',
17
+ },
18
+ },
19
+ };
20
+
21
+ // Default story
22
+ export const Default = (args) => ({
23
+ components: { SparkleIcon },
24
+ setup() {
25
+ return { args };
26
+ },
27
+ template: '<SparkleIcon v-bind="args" />',
28
+ });
29
+
30
+ Default.args = {
31
+ animated: false,
32
+ size: 'md',
33
+ };
34
+
35
+ // Static icon story
36
+ export const Static = () => ({
37
+ components: { SparkleIcon },
38
+ template: `
39
+ <div class="tw-flex tw-gap-4 tw-items-center">
40
+ <SparkleIcon size="sm" />
41
+ <SparkleIcon size="md" />
42
+ <SparkleIcon size="lg" />
43
+ </div>
44
+ `,
45
+ });
46
+
47
+ Static.story = {
48
+ name: 'Static Sizes',
49
+ };
50
+
51
+ // Animated icon story
52
+ export const Animated = () => ({
53
+ components: { SparkleIcon },
54
+ template: `
55
+ <div class="tw-flex tw-gap-4 tw-items-center">
56
+ <SparkleIcon :animated="true" size="sm" />
57
+ <SparkleIcon :animated="true" size="md" />
58
+ <SparkleIcon :animated="true" size="lg" />
59
+ </div>
60
+ `,
61
+ });
62
+
63
+ Animated.story = {
64
+ name: 'Animated Sizes',
65
+ };
66
+
67
+ // Custom sizes story
68
+ export const CustomSizes = () => ({
69
+ components: { SparkleIcon },
70
+ template: `
71
+ <div class="tw-flex tw-gap-4 tw-items-center">
72
+ <SparkleIcon :size="12" />
73
+ <SparkleIcon :size="16" />
74
+ <SparkleIcon :size="20" />
75
+ <SparkleIcon :size="24" />
76
+ <SparkleIcon :size="32" />
77
+ <SparkleIcon :size="48" />
78
+ </div>
79
+ `,
80
+ });
81
+
82
+ CustomSizes.story = {
83
+ name: 'Custom Number Sizes',
84
+ };
85
+
86
+ // Interactive toggle story
87
+ export const Interactive = () => ({
88
+ components: { SparkleIcon },
89
+ data() {
90
+ return {
91
+ isAnimated: false,
92
+ };
93
+ },
94
+ template: `
95
+ <div class="tw-flex tw-flex-col tw-gap-4">
96
+ <div class="tw-flex tw-items-center tw-gap-4">
97
+ <SparkleIcon :animated="isAnimated" size="lg" />
98
+ <button
99
+ class="tw-px-4 tw-py-2 tw-bg-primary-500 tw-text-white tw-rounded hover:tw-bg-blue-600"
100
+ @click="isAnimated = !isAnimated"
101
+ >
102
+ {{ isAnimated ? 'Stop Animation' : 'Start Animation' }}
103
+ </button>
104
+ </div>
105
+ <p class="tw-text-sm tw-text-gray-600">
106
+ Click the button to toggle animation
107
+ </p>
108
+ </div>
109
+ `,
110
+ });
111
+
112
+ Interactive.story = {
113
+ name: 'Interactive Toggle',
114
+ };
115
+
116
+ // All variations showcase
117
+ export const Showcase = () => ({
118
+ components: { SparkleIcon },
119
+ template: `
120
+ <div class="tw-p-6">
121
+ <h3 class="tw-text-lg tw-font-bold tw-mb-4">Sparkle Icon Showcase</h3>
122
+
123
+ <div class="tw-mb-6">
124
+ <h4 class="tw-text-md tw-font-semibold tw-mb-2">Static Icons</h4>
125
+ <div class="tw-flex tw-gap-4 tw-items-center tw-p-4 tw-bg-gray-100 tw-rounded">
126
+ <div class="tw-text-center">
127
+ <SparkleIcon size="sm" />
128
+ <p class="tw-text-xs tw-mt-1">Small (12px)</p>
129
+ </div>
130
+ <div class="tw-text-center">
131
+ <SparkleIcon size="md" />
132
+ <p class="tw-text-xs tw-mt-1">Medium (16px)</p>
133
+ </div>
134
+ <div class="tw-text-center">
135
+ <SparkleIcon size="lg" />
136
+ <p class="tw-text-xs tw-mt-1">Large (20px)</p>
137
+ </div>
138
+ </div>
139
+ </div>
140
+
141
+ <div class="tw-mb-6">
142
+ <h4 class="tw-text-md tw-font-semibold tw-mb-2">Animated Icons</h4>
143
+ <div class="tw-flex tw-gap-4 tw-items-center tw-p-4 tw-bg-gray-100 tw-rounded">
144
+ <div class="tw-text-center">
145
+ <SparkleIcon :animated="true" size="sm" />
146
+ <p class="tw-text-xs tw-mt-1">Small (12px)</p>
147
+ </div>
148
+ <div class="tw-text-center">
149
+ <SparkleIcon :animated="true" size="md" />
150
+ <p class="tw-text-xs tw-mt-1">Medium (16px)</p>
151
+ </div>
152
+ <div class="tw-text-center">
153
+ <SparkleIcon :animated="true" size="lg" />
154
+ <p class="tw-text-xs tw-mt-1">Large (20px)</p>
155
+ </div>
156
+ </div>
157
+ </div>
158
+
159
+ <div>
160
+ <h4 class="tw-text-md tw-font-semibold tw-mb-2">Custom Sizes</h4>
161
+ <div class="tw-flex tw-gap-4 tw-items-center tw-p-4 tw-bg-gray-100 tw-rounded">
162
+ <div class="tw-text-center">
163
+ <SparkleIcon :animated="true" :size="24" />
164
+ <p class="tw-text-xs tw-mt-1">24px</p>
165
+ </div>
166
+ <div class="tw-text-center">
167
+ <SparkleIcon :animated="true" :size="32" />
168
+ <p class="tw-text-xs tw-mt-1">32px</p>
169
+ </div>
170
+ <div class="tw-text-center">
171
+ <SparkleIcon :animated="true" :size="48" />
172
+ <p class="tw-text-xs tw-mt-1">48px</p>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ </div>
177
+ `,
178
+ });
179
+
180
+ Showcase.story = {
181
+ name: 'Complete Showcase',
182
+ };
@@ -0,0 +1,105 @@
1
+ <template>
2
+ <img :src="currentIcon" alt="AI" class="tw-flex-shrink-0" :style="sizeStyle" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { ref, computed, watch, onUnmounted } from 'vue';
7
+ import sparkleIcon from './assets/sparkle.svg';
8
+ import sparkleState01 from './assets/animations/state-01.svg';
9
+ import sparkleState02 from './assets/animations/state-02.svg';
10
+ import sparkleState03 from './assets/animations/state-03.svg';
11
+ import sparkleState04 from './assets/animations/state-04.svg';
12
+ import sparkleState05 from './assets/animations/state-05.svg';
13
+ import sparkleState06 from './assets/animations/state-06.svg';
14
+ import sparkleState07 from './assets/animations/state-07.svg';
15
+ import sparkleState08 from './assets/animations/state-08.svg';
16
+
17
+ interface SparkleIconProps {
18
+ animated?: boolean;
19
+ size?: 'sm' | 'md' | 'lg' | number;
20
+ }
21
+
22
+ const props = withDefaults(defineProps<SparkleIconProps>(), {
23
+ animated: false,
24
+ size: 'md',
25
+ });
26
+
27
+ // Size mapping
28
+ const sizeMap = {
29
+ sm: 12,
30
+ md: 16,
31
+ lg: 20,
32
+ };
33
+
34
+ // Computed style for size
35
+ const sizeStyle = computed(() => {
36
+ const sizeValue = typeof props.size === 'number' ? props.size : sizeMap[props.size];
37
+
38
+ return {
39
+ width: `${sizeValue}px`,
40
+ height: `${sizeValue}px`,
41
+ };
42
+ });
43
+
44
+ // Animation frames
45
+ const sparkleFrames = [
46
+ sparkleState01,
47
+ sparkleState02,
48
+ sparkleState03,
49
+ sparkleState04,
50
+ sparkleState05,
51
+ sparkleState06,
52
+ sparkleState07,
53
+ sparkleState08,
54
+ ];
55
+
56
+ const currentFrame = ref(0);
57
+ let animationInterval: number | null = null;
58
+
59
+ // Computed property to return either static or animated icon
60
+ const currentIcon = computed(() => {
61
+ if (props.animated) {
62
+ return sparkleFrames[currentFrame.value];
63
+ }
64
+
65
+ return sparkleIcon;
66
+ });
67
+
68
+ // Start animation
69
+ const startAnimation = () => {
70
+ if (animationInterval) return;
71
+
72
+ currentFrame.value = 0;
73
+ animationInterval = window.setInterval(() => {
74
+ currentFrame.value = (currentFrame.value + 1) % sparkleFrames.length;
75
+ }, 100); // Change frame every 100ms
76
+ };
77
+
78
+ // Stop animation
79
+ const stopAnimation = () => {
80
+ if (animationInterval) {
81
+ clearInterval(animationInterval);
82
+ animationInterval = null;
83
+ }
84
+
85
+ currentFrame.value = 0;
86
+ };
87
+
88
+ // Watch animated prop to control animation
89
+ watch(
90
+ () => props.animated,
91
+ (isAnimated) => {
92
+ if (isAnimated) {
93
+ startAnimation();
94
+ } else {
95
+ stopAnimation();
96
+ }
97
+ },
98
+ { immediate: true },
99
+ );
100
+
101
+ // Cleanup on unmount
102
+ onUnmounted(() => {
103
+ stopAnimation();
104
+ });
105
+ </script>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.5 10C12.5 9.80469 12.4121 9.6582 12.2363 9.56055L8.95508 7.91992L7.28516 4.60938C7.20703 4.45312 7.07031 4.375 6.875 4.375C6.67969 4.375 6.54297 4.45312 6.46484 4.60938L4.79492 7.91992L1.51367 9.56055C1.33789 9.6582 1.25 9.80469 1.25 10C1.25 10.1953 1.33789 10.332 1.51367 10.4102L4.79492 12.0508L6.46484 15.3613C6.54297 15.5371 6.67969 15.625 6.875 15.625C7.07031 15.625 7.20703 15.5371 7.28516 15.3613L8.95508 12.0508L12.2363 10.4102C12.4121 10.332 12.5 10.1953 12.5 10Z" fill="#3F59F6"/>
3
+ <path d="M11.5625 5.3125C11.5625 5.3776 11.5885 5.42318 11.6406 5.44922L12.8125 5.9375L13.3008 7.10938C13.3268 7.16146 13.3724 7.1875 13.4375 7.1875C13.5026 7.1875 13.5482 7.16146 13.5742 7.10938L14.0625 5.9375L15.2344 5.44922C15.2865 5.42318 15.3125 5.3776 15.3125 5.3125C15.3125 5.2474 15.2865 5.20182 15.2344 5.17578L14.0625 4.6875L13.5742 3.51562C13.5482 3.46354 13.5026 3.4375 13.4375 3.4375C13.3724 3.4375 13.3268 3.46354 13.3008 3.51562L12.8125 4.6875L11.6406 5.17578C11.5885 5.20182 11.5625 5.2474 11.5625 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M15.3125 14.6875C15.3125 14.6224 15.2865 14.5768 15.2344 14.5508L14.0625 14.0625L13.5742 12.8906C13.5482 12.8385 13.5026 12.8125 13.4375 12.8125C13.3724 12.8125 13.3268 12.8385 13.3008 12.8906L12.8125 14.0625L11.6406 14.5508C11.5885 14.5768 11.5625 14.6224 11.5625 14.6875C11.5625 14.7526 11.5885 14.7982 11.6406 14.8242L12.8125 15.3125L13.3008 16.4844C13.3268 16.5365 13.3724 16.5625 13.4375 16.5625C13.5026 16.5625 13.5482 16.5365 13.5742 16.4844L14.0625 15.3125L15.2344 14.8242C15.2865 14.7982 15.3125 14.7526 15.3125 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M13.125 10C13.125 9.78299 13.0273 9.62023 12.832 9.51172L9.1862 7.6888L7.33073 4.01042C7.24392 3.83681 7.09201 3.75 6.875 3.75C6.65799 3.75 6.50608 3.83681 6.41927 4.01042L4.5638 7.6888L0.917969 9.51172C0.722656 9.62023 0.625 9.78299 0.625 10C0.625 10.217 0.722656 10.3689 0.917969 10.4557L4.5638 12.2786L6.41927 15.957C6.50608 16.1523 6.65799 16.25 6.875 16.25C7.09201 16.25 7.24392 16.1523 7.33073 15.957L9.1862 12.2786L12.832 10.4557C13.0273 10.3689 13.125 10.217 13.125 10Z" fill="#3F59F6"/>
3
+ <path d="M12.5 5.3125C12.5 5.34505 12.513 5.36784 12.5391 5.38086L13.125 5.625L13.3691 6.21094C13.3822 6.23698 13.4049 6.25 13.4375 6.25C13.4701 6.25 13.4928 6.23698 13.5059 6.21094L13.75 5.625L14.3359 5.38086C14.362 5.36784 14.375 5.34505 14.375 5.3125C14.375 5.27995 14.362 5.25716 14.3359 5.24414L13.75 5L13.5059 4.41406C13.4928 4.38802 13.4701 4.375 13.4375 4.375C13.4049 4.375 13.3822 4.38802 13.3691 4.41406L13.125 5L12.5391 5.24414C12.513 5.25716 12.5 5.27995 12.5 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M14.375 14.6875C14.375 14.6549 14.362 14.6322 14.3359 14.6191L13.75 14.375L13.5059 13.7891C13.4928 13.763 13.4701 13.75 13.4375 13.75C13.4049 13.75 13.3822 13.763 13.3691 13.7891L13.125 14.375L12.5391 14.6191C12.513 14.6322 12.5 14.6549 12.5 14.6875C12.5 14.7201 12.513 14.7428 12.5391 14.7559L13.125 15L13.3691 15.5859C13.3822 15.612 13.4049 15.625 13.4375 15.625C13.4701 15.625 13.4928 15.612 13.5059 15.5859L13.75 15L14.3359 14.7559C14.362 14.7428 14.375 14.7201 14.375 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.5 10C12.5 9.80469 12.4121 9.6582 12.2363 9.56055L8.95508 7.91992L7.28516 4.60938C7.20703 4.45312 7.07031 4.375 6.875 4.375C6.67969 4.375 6.54297 4.45312 6.46484 4.60938L4.79492 7.91992L1.51367 9.56055C1.33789 9.6582 1.25 9.80469 1.25 10C1.25 10.1953 1.33789 10.332 1.51367 10.4102L4.79492 12.0508L6.46484 15.3613C6.54297 15.5371 6.67969 15.625 6.875 15.625C7.07031 15.625 7.20703 15.5371 7.28516 15.3613L8.95508 12.0508L12.2363 10.4102C12.4121 10.332 12.5 10.1953 12.5 10Z" fill="#3F59F6"/>
3
+ <path d="M11.5625 5.3125C11.5625 5.3776 11.5885 5.42318 11.6406 5.44922L12.8125 5.9375L13.3008 7.10938C13.3268 7.16146 13.3724 7.1875 13.4375 7.1875C13.5026 7.1875 13.5482 7.16146 13.5742 7.10938L14.0625 5.9375L15.2344 5.44922C15.2865 5.42318 15.3125 5.3776 15.3125 5.3125C15.3125 5.2474 15.2865 5.20182 15.2344 5.17578L14.0625 4.6875L13.5742 3.51562C13.5482 3.46354 13.5026 3.4375 13.4375 3.4375C13.3724 3.4375 13.3268 3.46354 13.3008 3.51562L12.8125 4.6875L11.6406 5.17578C11.5885 5.20182 11.5625 5.2474 11.5625 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M15.3125 14.6875C15.3125 14.6224 15.2865 14.5768 15.2344 14.5508L14.0625 14.0625L13.5742 12.8906C13.5482 12.8385 13.5026 12.8125 13.4375 12.8125C13.3724 12.8125 13.3268 12.8385 13.3008 12.8906L12.8125 14.0625L11.6406 14.5508C11.5885 14.5768 11.5625 14.6224 11.5625 14.6875C11.5625 14.7526 11.5885 14.7982 11.6406 14.8242L12.8125 15.3125L13.3008 16.4844C13.3268 16.5365 13.3724 16.5625 13.4375 16.5625C13.5026 16.5625 13.5482 16.5365 13.5742 16.4844L14.0625 15.3125L15.2344 14.8242C15.2865 14.7982 15.3125 14.7526 15.3125 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11.5625 10C11.5625 9.83724 11.4893 9.71517 11.3428 9.63379L8.6084 8.2666L7.2168 5.50781C7.15169 5.3776 7.03776 5.3125 6.875 5.3125C6.71224 5.3125 6.59831 5.3776 6.5332 5.50781L5.1416 8.2666L2.40723 9.63379C2.26074 9.71517 2.1875 9.83724 2.1875 10C2.1875 10.1628 2.26074 10.2767 2.40723 10.3418L5.1416 11.709L6.5332 14.4678C6.59831 14.6143 6.71224 14.6875 6.875 14.6875C7.03776 14.6875 7.15169 14.6143 7.2168 14.4678L8.6084 11.709L11.3428 10.3418C11.4893 10.2767 11.5625 10.1628 11.5625 10Z" fill="#3F59F6"/>
3
+ <path d="M10.625 5.3125C10.625 5.41016 10.6641 5.47852 10.7422 5.51758L12.5 6.25L13.2324 8.00781C13.2715 8.08594 13.3398 8.125 13.4375 8.125C13.5352 8.125 13.6035 8.08594 13.6426 8.00781L14.375 6.25L16.1328 5.51758C16.2109 5.47852 16.25 5.41016 16.25 5.3125C16.25 5.21484 16.2109 5.14648 16.1328 5.10742L14.375 4.375L13.6426 2.61719C13.6035 2.53906 13.5352 2.5 13.4375 2.5C13.3398 2.5 13.2715 2.53906 13.2324 2.61719L12.5 4.375L10.7422 5.10742C10.6641 5.14648 10.625 5.21484 10.625 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M16.25 14.6875C16.25 14.5898 16.2109 14.5215 16.1328 14.4824L14.375 13.75L13.6426 11.9922C13.6035 11.9141 13.5352 11.875 13.4375 11.875C13.3398 11.875 13.2715 11.9141 13.2324 11.9922L12.5 13.75L10.7422 14.4824C10.6641 14.5215 10.625 14.5898 10.625 14.6875C10.625 14.7852 10.6641 14.8535 10.7422 14.8926L12.5 15.625L13.2324 17.3828C13.2715 17.4609 13.3398 17.5 13.4375 17.5C13.5352 17.5 13.6035 17.4609 13.6426 17.3828L14.375 15.625L16.1328 14.8926C16.2109 14.8535 16.25 14.7852 16.25 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M10 10C10 9.89149 9.95117 9.81011 9.85352 9.75586L8.0306 8.8444L7.10286 7.00521C7.05946 6.9184 6.98351 6.875 6.875 6.875C6.76649 6.875 6.69054 6.9184 6.64714 7.00521L5.7194 8.8444L3.89648 9.75586C3.79883 9.81011 3.75 9.89149 3.75 10C3.75 10.1085 3.79883 10.1845 3.89648 10.2279L5.7194 11.1393L6.64714 12.9785C6.69054 13.0762 6.76649 13.125 6.875 13.125C6.98351 13.125 7.05946 13.0762 7.10286 12.9785L8.0306 11.1393L9.85352 10.2279C9.95117 10.1845 10 10.1085 10 10Z" fill="#3F59F6"/>
3
+ <path d="M10 5.3125C10 5.43186 10.0477 5.51541 10.1432 5.56315L12.2917 6.45833L13.1868 8.60677C13.2346 8.70226 13.3181 8.75 13.4375 8.75C13.5569 8.75 13.6404 8.70226 13.6882 8.60677L14.5833 6.45833L16.7318 5.56315C16.8273 5.51541 16.875 5.43186 16.875 5.3125C16.875 5.19314 16.8273 5.10959 16.7318 5.06185L14.5833 4.16667L13.6882 2.01823C13.6404 1.92274 13.5569 1.875 13.4375 1.875C13.3181 1.875 13.2346 1.92274 13.1868 2.01823L12.2917 4.16667L10.1432 5.06185C10.0477 5.10959 10 5.19314 10 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M16.875 14.6875C16.875 14.5681 16.8273 14.4846 16.7318 14.4368L14.5833 13.5417L13.6882 11.3932C13.6404 11.2977 13.5569 11.25 13.4375 11.25C13.3181 11.25 13.2346 11.2977 13.1868 11.3932L12.2917 13.5417L10.1432 14.4368C10.0477 14.4846 10 14.5681 10 14.6875C10 14.8069 10.0477 14.8904 10.1432 14.9382L12.2917 15.8333L13.1868 17.9818C13.2346 18.0773 13.3181 18.125 13.4375 18.125C13.5569 18.125 13.6404 18.0773 13.6882 17.9818L14.5833 15.8333L16.7318 14.9382C16.8273 14.8904 16.875 14.8069 16.875 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9.0625 10C9.0625 9.92405 9.02832 9.86708 8.95996 9.8291L7.68392 9.19108L7.03451 7.90365C7.00412 7.84288 6.95095 7.8125 6.875 7.8125C6.79905 7.8125 6.74588 7.84288 6.71549 7.90365L6.06608 9.19108L4.79004 9.8291C4.72168 9.86708 4.6875 9.92405 4.6875 10C4.6875 10.076 4.72168 10.1291 4.79004 10.1595L6.06608 10.7975L6.71549 12.085C6.74588 12.1533 6.79905 12.1875 6.875 12.1875C6.95095 12.1875 7.00412 12.1533 7.03451 12.085L7.68392 10.7975L8.95996 10.1595C9.02832 10.1291 9.0625 10.076 9.0625 10Z" fill="#3F59F6"/>
3
+ <path d="M9.0625 5.3125C9.0625 5.46441 9.12326 5.57075 9.24479 5.63151L11.9792 6.77083L13.1185 9.50521C13.1793 9.62674 13.2856 9.6875 13.4375 9.6875C13.5894 9.6875 13.6957 9.62674 13.7565 9.50521L14.8958 6.77083L17.6302 5.63151C17.7517 5.57075 17.8125 5.46441 17.8125 5.3125C17.8125 5.16059 17.7517 5.05425 17.6302 4.99349L14.8958 3.85417L13.7565 1.11979C13.6957 0.998264 13.5894 0.9375 13.4375 0.9375C13.2856 0.9375 13.1793 0.998264 13.1185 1.11979L11.9792 3.85417L9.24479 4.99349C9.12326 5.05425 9.0625 5.16059 9.0625 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M17.8125 14.6875C17.8125 14.5356 17.7517 14.4293 17.6302 14.3685L14.8958 13.2292L13.7565 10.4948C13.6957 10.3733 13.5894 10.3125 13.4375 10.3125C13.2856 10.3125 13.1793 10.3733 13.1185 10.4948L11.9792 13.2292L9.24479 14.3685C9.12326 14.4293 9.0625 14.5356 9.0625 14.6875C9.0625 14.8394 9.12326 14.9457 9.24479 15.0065L11.9792 16.1458L13.1185 18.8802C13.1793 19.0017 13.2856 19.0625 13.4375 19.0625C13.5894 19.0625 13.6957 19.0017 13.7565 18.8802L14.8958 16.1458L17.6302 15.0065C17.7517 14.9457 17.8125 14.8394 17.8125 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M10 10C10 9.89149 9.95117 9.81011 9.85352 9.75586L8.0306 8.8444L7.10286 7.00521C7.05946 6.9184 6.98351 6.875 6.875 6.875C6.76649 6.875 6.69054 6.9184 6.64714 7.00521L5.7194 8.8444L3.89648 9.75586C3.79883 9.81011 3.75 9.89149 3.75 10C3.75 10.1085 3.79883 10.1845 3.89648 10.2279L5.7194 11.1393L6.64714 12.9785C6.69054 13.0762 6.76649 13.125 6.875 13.125C6.98351 13.125 7.05946 13.0762 7.10286 12.9785L8.0306 11.1393L9.85352 10.2279C9.95117 10.1845 10 10.1085 10 10Z" fill="#3F59F6"/>
3
+ <path d="M10 5.3125C10 5.43186 10.0477 5.51541 10.1432 5.56315L12.2917 6.45833L13.1868 8.60677C13.2346 8.70226 13.3181 8.75 13.4375 8.75C13.5569 8.75 13.6404 8.70226 13.6882 8.60677L14.5833 6.45833L16.7318 5.56315C16.8273 5.51541 16.875 5.43186 16.875 5.3125C16.875 5.19314 16.8273 5.10959 16.7318 5.06185L14.5833 4.16667L13.6882 2.01823C13.6404 1.92274 13.5569 1.875 13.4375 1.875C13.3181 1.875 13.2346 1.92274 13.1868 2.01823L12.2917 4.16667L10.1432 5.06185C10.0477 5.10959 10 5.19314 10 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M16.875 14.6875C16.875 14.5681 16.8273 14.4846 16.7318 14.4368L14.5833 13.5417L13.6882 11.3932C13.6404 11.2977 13.5569 11.25 13.4375 11.25C13.3181 11.25 13.2346 11.2977 13.1868 11.3932L12.2917 13.5417L10.1432 14.4368C10.0477 14.4846 10 14.5681 10 14.6875C10 14.8069 10.0477 14.8904 10.1432 14.9382L12.2917 15.8333L13.1868 17.9818C13.2346 18.0773 13.3181 18.125 13.4375 18.125C13.5569 18.125 13.6404 18.0773 13.6882 17.9818L14.5833 15.8333L16.7318 14.9382C16.8273 14.8904 16.875 14.8069 16.875 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11.5625 10C11.5625 9.83724 11.4893 9.71517 11.3428 9.63379L8.6084 8.2666L7.2168 5.50781C7.15169 5.3776 7.03776 5.3125 6.875 5.3125C6.71224 5.3125 6.59831 5.3776 6.5332 5.50781L5.1416 8.2666L2.40723 9.63379C2.26074 9.71517 2.1875 9.83724 2.1875 10C2.1875 10.1628 2.26074 10.2767 2.40723 10.3418L5.1416 11.709L6.5332 14.4678C6.59831 14.6143 6.71224 14.6875 6.875 14.6875C7.03776 14.6875 7.15169 14.6143 7.2168 14.4678L8.6084 11.709L11.3428 10.3418C11.4893 10.2767 11.5625 10.1628 11.5625 10Z" fill="#3F59F6"/>
3
+ <path d="M10.625 5.3125C10.625 5.41016 10.6641 5.47852 10.7422 5.51758L12.5 6.25L13.2324 8.00781C13.2715 8.08594 13.3398 8.125 13.4375 8.125C13.5352 8.125 13.6035 8.08594 13.6426 8.00781L14.375 6.25L16.1328 5.51758C16.2109 5.47852 16.25 5.41016 16.25 5.3125C16.25 5.21484 16.2109 5.14648 16.1328 5.10742L14.375 4.375L13.6426 2.61719C13.6035 2.53906 13.5352 2.5 13.4375 2.5C13.3398 2.5 13.2715 2.53906 13.2324 2.61719L12.5 4.375L10.7422 5.10742C10.6641 5.14648 10.625 5.21484 10.625 5.3125Z" fill="#3F59F6"/>
4
+ <path d="M16.25 14.6875C16.25 14.5898 16.2109 14.5215 16.1328 14.4824L14.375 13.75L13.6426 11.9922C13.6035 11.9141 13.5352 11.875 13.4375 11.875C13.3398 11.875 13.2715 11.9141 13.2324 11.9922L12.5 13.75L10.7422 14.4824C10.6641 14.5215 10.625 14.5898 10.625 14.6875C10.625 14.7852 10.6641 14.8535 10.7422 14.8926L12.5 15.625L13.2324 17.3828C13.2715 17.4609 13.3398 17.5 13.4375 17.5C13.5352 17.5 13.6035 17.4609 13.6426 17.3828L14.375 15.625L16.1328 14.8926C16.2109 14.8535 16.25 14.7852 16.25 14.6875Z" fill="#3F59F6"/>
5
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9.59375 4.41406C9.53125 4.38281 9.5 4.32812 9.5 4.25C9.5 4.17188 9.53125 4.11719 9.59375 4.08594L11 3.5L11.5859 2.09375C11.6172 2.03125 11.6719 2 11.75 2C11.8281 2 11.8828 2.03125 11.9141 2.09375L12.5 3.5L13.9062 4.08594C13.9688 4.11719 14 4.17188 14 4.25C14 4.32812 13.9688 4.38281 13.9062 4.41406L12.5 5L11.9141 6.40625C11.8828 6.46875 11.8281 6.5 11.75 6.5C11.6719 6.5 11.6172 6.46875 11.5859 6.40625L11 5L9.59375 4.41406ZM13.9062 11.5859C13.9688 11.6172 14 11.6719 14 11.75C14 11.8281 13.9688 11.8828 13.9062 11.9141L12.5 12.5L11.9141 13.9062C11.8828 13.9688 11.8281 14 11.75 14C11.6719 14 11.6172 13.9688 11.5859 13.9062L11 12.5L9.59375 11.9141C9.53125 11.8828 9.5 11.8281 9.5 11.75C9.5 11.6719 9.53125 11.6172 9.59375 11.5859L11 11L11.5859 9.59375C11.6172 9.53125 11.6719 9.5 11.75 9.5C11.8281 9.5 11.8828 9.53125 11.9141 9.59375L12.5 11L13.9062 11.5859ZM10.7891 7.64844C10.9297 7.72656 11 7.84375 11 8C11 8.15625 10.9297 8.26562 10.7891 8.32812L8.16406 9.64062L6.82812 12.2891C6.76562 12.4297 6.65625 12.5 6.5 12.5C6.34375 12.5 6.23438 12.4297 6.17188 12.2891L4.83594 9.64062L2.21094 8.32812C2.07031 8.26562 2 8.15625 2 8C2 7.84375 2.07031 7.72656 2.21094 7.64844L4.83594 6.33594L6.17188 3.6875C6.23438 3.5625 6.34375 3.5 6.5 3.5C6.65625 3.5 6.76562 3.5625 6.82812 3.6875L8.16406 6.33594L10.7891 7.64844Z" fill="#3F59F6"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ import SparkleIcon from './SparkleIcon.vue';
2
+
3
+ export { SparkleIcon };
@@ -1,9 +1,9 @@
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');
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$/ }, { pattern: /^tw-line-clamp-/ }],
23
+ safelist: [{ pattern: /^!tw-p-/ }, { pattern: /^tw-overflow-y-auto$/ }],
24
24
  theme: {
25
25
  ...theme,
26
26
  extend: {
@@ -34,3 +34,4 @@ module.exports = {
34
34
  preflight: true,
35
35
  },
36
36
  };
37
+