blocks-dusted 0.1.10 → 0.1.12

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 (249) hide show
  1. package/README.md +35 -0
  2. package/package.json +5 -2
  3. package/src/cli.js +39 -3
  4. package/src/commands/shop.js +59 -0
  5. package/src/commands/warehouse.js +73 -0
  6. package/src/utils/paths.js +13 -13
  7. package/templates/blocks/DD-Accordion/Component.tsx +229 -0
  8. package/templates/blocks/DD-Accordion/README.md +3 -0
  9. package/templates/blocks/DD-Accordion/config.ts +73 -0
  10. package/templates/blocks/DD-Accordion/manifest.json +75 -0
  11. package/templates/blocks/DD-AnimText/Component.tsx +788 -0
  12. package/templates/blocks/DD-AnimText/README.md +3 -0
  13. package/templates/blocks/DD-AnimText/config.ts +295 -0
  14. package/templates/blocks/DD-AnimText/manifest.json +85 -0
  15. package/templates/blocks/DD-AsideNav/Component.tsx +321 -0
  16. package/templates/blocks/DD-AsideNav/config.ts +204 -0
  17. package/templates/blocks/DD-AsideNav/manifest.json +80 -0
  18. package/templates/blocks/DD-Banner/Component.tsx +51 -0
  19. package/templates/blocks/DD-Banner/config.ts +57 -0
  20. package/templates/blocks/DD-Banner/manifest.json +72 -0
  21. package/templates/blocks/DD-BgLightning/Component.tsx +44 -0
  22. package/templates/blocks/DD-BgLightning/README.md +3 -0
  23. package/templates/blocks/DD-BgLightning/config.ts +97 -0
  24. package/templates/blocks/DD-BgLightning/manifest.json +79 -0
  25. package/templates/blocks/DD-BookCall/Component.tsx +535 -535
  26. package/templates/blocks/DD-BookCall/config.ts +238 -238
  27. package/templates/blocks/DD-ButtonPop/Component.tsx +117 -0
  28. package/templates/blocks/DD-ButtonPop/config.ts +105 -0
  29. package/templates/blocks/DD-ButtonPop/manifest.json +88 -0
  30. package/templates/blocks/DD-ButtonPop/svg-icons/Dust2.tsx +167 -0
  31. package/templates/blocks/DD-Card/Component.tsx +251 -0
  32. package/templates/blocks/DD-Card/README.md +4 -0
  33. package/templates/blocks/DD-Card/config.ts +154 -0
  34. package/templates/blocks/DD-Card/manifest.json +82 -0
  35. package/templates/blocks/DD-CardTemplate01/Component.tsx +140 -140
  36. package/templates/blocks/DD-CardTemplate01/config.ts +106 -106
  37. package/templates/blocks/DD-Carousel-A/Component.tsx +249 -249
  38. package/templates/blocks/DD-Carousel-B/Component.tsx +403 -403
  39. package/templates/blocks/DD-Chip/Component.tsx +250 -0
  40. package/templates/blocks/DD-Chip/EXAMPLES.md +313 -0
  41. package/templates/blocks/DD-Chip/README.md +202 -0
  42. package/templates/blocks/DD-Chip/config.ts +369 -0
  43. package/templates/blocks/DD-Chip/manifest.json +74 -0
  44. package/templates/blocks/DD-ComparisonTable/Component.tsx +256 -256
  45. package/templates/blocks/DD-Contact/Component.tsx +435 -434
  46. package/templates/blocks/DD-Contact/config.ts +22 -22
  47. package/templates/blocks/DD-Counter/Component.tsx +190 -0
  48. package/templates/blocks/DD-Counter/README.md +4 -0
  49. package/templates/blocks/DD-Counter/config.ts +291 -0
  50. package/templates/blocks/DD-Counter/manifest.json +74 -0
  51. package/templates/blocks/DD-CustomCSS/Component.tsx +8 -0
  52. package/templates/blocks/DD-CustomCSS/README.md +4 -0
  53. package/templates/blocks/DD-CustomCSS/addToLayout.md +5 -0
  54. package/templates/blocks/DD-CustomCSS/config.ts +22 -0
  55. package/templates/blocks/DD-CustomCSS/manifest.json +72 -0
  56. package/templates/blocks/DD-CustomCSS/renderCustomCSS.md +7 -0
  57. package/templates/blocks/DD-FeatCat/Component.tsx +302 -302
  58. package/templates/blocks/DD-FeatCat/config.ts +201 -201
  59. package/templates/blocks/DD-FeatStrip/Component.tsx +585 -585
  60. package/templates/blocks/DD-FeatStrip/config.ts +134 -134
  61. package/templates/blocks/DD-FluidBtn/ButtonsEyeCatching.tsx +628 -0
  62. package/templates/blocks/DD-FluidBtn/Component.tsx +43 -0
  63. package/templates/blocks/DD-FluidBtn/README.md +6 -0
  64. package/templates/blocks/DD-FluidBtn/config.ts +102 -0
  65. package/templates/blocks/DD-FluidBtn/manifest.json +86 -0
  66. package/templates/blocks/DD-GooeyInfo/Component.tsx +149 -0
  67. package/templates/blocks/DD-GooeyInfo/config.ts +135 -0
  68. package/templates/blocks/DD-GooeyInfo/manifest.json +72 -0
  69. package/templates/blocks/DD-Hero/Component.tsx +297 -297
  70. package/templates/blocks/DD-Hero/config.ts +267 -267
  71. package/templates/blocks/DD-HorizontalScroll/Component.tsx +936 -936
  72. package/templates/blocks/DD-HorizontalScroll/config.ts +231 -231
  73. package/templates/blocks/DD-Icon/Component.tsx +287 -0
  74. package/templates/blocks/DD-Icon/README.md +4 -0
  75. package/templates/blocks/DD-Icon/config.ts +258 -0
  76. package/templates/blocks/DD-Icon/hooks/revalidateBlockIds.ts +66 -0
  77. package/templates/blocks/DD-Icon/manifest.json +82 -0
  78. package/templates/blocks/DD-IconButton/Component.tsx +455 -0
  79. package/templates/blocks/DD-IconButton/README.md +326 -0
  80. package/templates/blocks/DD-IconButton/config.ts +239 -0
  81. package/templates/blocks/DD-IconButton/manifest.json +85 -0
  82. package/templates/blocks/DD-IdTag/Component.tsx +21 -0
  83. package/templates/blocks/DD-IdTag/README.md +4 -0
  84. package/templates/blocks/DD-IdTag/config.ts +41 -0
  85. package/templates/blocks/DD-IdTag/manifest.json +72 -0
  86. package/templates/blocks/DD-Iframe/Component.tsx +45 -0
  87. package/templates/blocks/DD-Iframe/README.md +4 -0
  88. package/templates/blocks/DD-Iframe/config.ts +47 -0
  89. package/templates/blocks/DD-Iframe/manifest.json +72 -0
  90. package/templates/blocks/DD-IframeMedia/Component.tsx +133 -0
  91. package/templates/blocks/DD-IframeMedia/README.md +4 -0
  92. package/templates/blocks/DD-IframeMedia/config.ts +79 -0
  93. package/templates/blocks/DD-IframeMedia/manifest.json +72 -0
  94. package/templates/blocks/DD-LineAnim/Component.tsx +36 -0
  95. package/templates/blocks/DD-LineAnim/README.md +4 -0
  96. package/templates/blocks/DD-LineAnim/config.ts +90 -0
  97. package/templates/blocks/DD-LineAnim/manifest.json +80 -0
  98. package/templates/blocks/DD-LinkGrid/Component.tsx +119 -0
  99. package/templates/blocks/DD-LinkGrid/README.md +4 -0
  100. package/templates/blocks/DD-LinkGrid/config.ts +51 -0
  101. package/templates/blocks/DD-LinkGrid/manifest.json +74 -0
  102. package/templates/blocks/DD-LogoMarq/Component.tsx +132 -0
  103. package/templates/blocks/DD-LogoMarq/README.md +4 -0
  104. package/templates/blocks/DD-LogoMarq/config.ts +264 -0
  105. package/templates/blocks/DD-LogoMarq/manifest.json +82 -0
  106. package/templates/blocks/DD-Lottie/Component.tsx +459 -0
  107. package/templates/blocks/DD-Lottie/README.md +4 -0
  108. package/templates/blocks/DD-Lottie/config.ts +379 -0
  109. package/templates/blocks/DD-Lottie/index.tsx +28 -0
  110. package/templates/blocks/DD-Lottie/manifest.json +83 -0
  111. package/templates/blocks/DD-MagicBento/Component.tsx +777 -0
  112. package/templates/blocks/DD-MagicBento/README.md +4 -0
  113. package/templates/blocks/DD-MagicBento/config.ts +264 -0
  114. package/templates/blocks/DD-MagicBento/manifest.json +74 -0
  115. package/templates/blocks/DD-MasonaryMedia/Component.tsx +545 -545
  116. package/templates/blocks/DD-MasonaryMedia/config.ts +2 -2
  117. package/templates/blocks/DD-MasonaryMedia/vendor.d.ts +2 -2
  118. package/templates/blocks/DD-Masonry/Component.tsx +645 -0
  119. package/templates/blocks/DD-Masonry/README.md +4 -0
  120. package/templates/blocks/DD-Masonry/config.ts +475 -0
  121. package/templates/blocks/DD-Masonry/manifest.json +82 -0
  122. package/templates/blocks/DD-Pricing/Component.tsx +2 -5
  123. package/templates/blocks/DD-Process/Component.tsx +2 -4
  124. package/templates/blocks/DD-Process/config.ts +150 -150
  125. package/templates/blocks/DD-Progress/Component.tsx +156 -0
  126. package/templates/blocks/DD-Progress/README.md +4 -0
  127. package/templates/blocks/DD-Progress/config.ts +175 -0
  128. package/templates/blocks/DD-Progress/manifest.json +74 -0
  129. package/templates/blocks/DD-ProjHeader/Component.tsx +91 -0
  130. package/templates/blocks/DD-ProjHeader/README.md +4 -0
  131. package/templates/blocks/DD-ProjHeader/config.ts +96 -0
  132. package/templates/blocks/DD-ProjHeader/manifest.json +72 -0
  133. package/templates/blocks/DD-ProjSlider/Component.tsx +123 -0
  134. package/templates/blocks/DD-ProjSlider/README.md +4 -0
  135. package/templates/blocks/DD-ProjSlider/config.ts +64 -0
  136. package/templates/blocks/DD-ProjSlider/manifest.json +72 -0
  137. package/templates/blocks/DD-ScrollText/Component.tsx +114 -0
  138. package/templates/blocks/DD-ScrollText/README.md +4 -0
  139. package/templates/blocks/DD-ScrollText/config.ts +58 -0
  140. package/templates/blocks/DD-ScrollText/manifest.json +72 -0
  141. package/templates/blocks/DD-Section/Component.tsx +266 -266
  142. package/templates/blocks/DD-Separator/Component.tsx +66 -0
  143. package/templates/blocks/DD-Separator/README.md +4 -0
  144. package/templates/blocks/DD-Separator/config.ts +58 -0
  145. package/templates/blocks/DD-Separator/manifest.json +72 -0
  146. package/templates/blocks/DD-Services/Component.tsx +176 -176
  147. package/templates/blocks/DD-Services/config.ts +149 -149
  148. package/templates/blocks/DD-ShowcaseGrid/Component.tsx +307 -307
  149. package/templates/blocks/DD-Slider-A/Component.tsx +1 -1
  150. package/templates/blocks/DD-StackCards/Component.tsx +1 -1
  151. package/templates/blocks/DD-StackCards/config.ts +399 -399
  152. package/templates/blocks/DD-Team/Component.tsx +247 -247
  153. package/templates/blocks/DD-Team/config.ts +173 -173
  154. package/templates/blocks/DD-TeamCards/Component.tsx +251 -0
  155. package/templates/blocks/DD-TeamCards/README.md +4 -0
  156. package/templates/blocks/DD-TeamCards/config.ts +302 -0
  157. package/templates/blocks/DD-TeamCards/manifest.json +74 -0
  158. package/templates/blocks/DD-TechStack/Component.tsx +174 -174
  159. package/templates/blocks/DD-TechStack/config.ts +153 -153
  160. package/templates/blocks/DD-TestMarq/Component.tsx +132 -0
  161. package/templates/blocks/DD-TestMarq/README.md +4 -0
  162. package/templates/blocks/DD-TestMarq/RowLabel.tsx +9 -0
  163. package/templates/blocks/DD-TestMarq/config.ts +88 -0
  164. package/templates/blocks/DD-TestMarq/manifest.json +72 -0
  165. package/templates/blocks/DD-Testim/Component.tsx +247 -0
  166. package/templates/blocks/DD-Testim/README.md +4 -0
  167. package/templates/blocks/DD-Testim/config.ts +101 -0
  168. package/templates/blocks/DD-Testim/manifest.json +75 -0
  169. package/templates/blocks/DD-Testim2/Component.tsx +256 -0
  170. package/templates/blocks/DD-Testim2/README.md +4 -0
  171. package/templates/blocks/DD-Testim2/config.ts +100 -0
  172. package/templates/blocks/DD-Testim2/manifest.json +74 -0
  173. package/templates/blocks/DD-Testimonials/Component.tsx +139 -147
  174. package/templates/blocks/DD-Testimonials/config.ts +120 -120
  175. package/templates/blocks/DD-TextMarq/Component.tsx +157 -0
  176. package/templates/blocks/DD-TextMarq/README.md +4 -0
  177. package/templates/blocks/DD-TextMarq/config.ts +237 -0
  178. package/templates/blocks/DD-TextMarq/manifest.json +82 -0
  179. package/templates/blocks/DD-Thanks/Component.tsx +501 -0
  180. package/templates/blocks/DD-Thanks/README.md +4 -0
  181. package/templates/blocks/DD-Thanks/config.ts +224 -0
  182. package/templates/blocks/DD-Thanks/manifest.json +72 -0
  183. package/templates/blocks/DD-VertMarq/Component.tsx +154 -0
  184. package/templates/blocks/DD-VertMarq/README.md +4 -0
  185. package/templates/blocks/DD-VertMarq/config.ts +236 -0
  186. package/templates/blocks/DD-VertMarq/dist/index.css +6 -0
  187. package/templates/blocks/DD-VertMarq/dist/index.min.css +1 -0
  188. package/templates/blocks/DD-VertMarq/manifest.json +74 -0
  189. package/templates/blocks/DD-Work/Component.tsx +318 -315
  190. package/templates/blocks/DD-Work/config.ts +165 -165
  191. package/templates/blocks/DD-Work-B/Component.tsx +294 -294
  192. package/templates/blocks/DDHG-CTASection2/Component.tsx +185 -0
  193. package/templates/blocks/DDHG-CTASection2/config.ts +140 -0
  194. package/templates/blocks/DDHG-CTASection2/manifest.json +45 -0
  195. package/templates/blocks/DDHG-HighlightArc/Component.tsx +243 -0
  196. package/templates/blocks/DDHG-HighlightArc/config.ts +85 -0
  197. package/templates/blocks/DDHG-HighlightArc/manifest.json +46 -0
  198. package/templates/blocks/DDHG-LogoMarquee/Component.tsx +143 -0
  199. package/templates/blocks/DDHG-LogoMarquee/config.ts +154 -0
  200. package/templates/blocks/DDHG-LogoMarquee/manifest.json +39 -0
  201. package/templates/blocks/DDHG-NavCodeGrid/Component.tsx +227 -0
  202. package/templates/blocks/DDHG-NavCodeGrid/config.ts +64 -0
  203. package/templates/blocks/DDHG-NavCodeGrid/manifest.json +45 -0
  204. package/templates/blocks/DDHG-ProcessSec/Component.tsx +574 -0
  205. package/templates/blocks/DDHG-ProcessSec/config.ts +170 -0
  206. package/templates/blocks/DDHG-ProcessSec/manifest.json +56 -0
  207. package/templates/blocks/DDHG-ServiceDetails/Component.tsx +164 -0
  208. package/templates/blocks/DDHG-ServiceDetails/ServiceDetailCard.tsx +390 -0
  209. package/templates/blocks/DDHG-ServiceDetails/config.ts +77 -0
  210. package/templates/blocks/DDHG-ServiceDetails/manifest.json +50 -0
  211. package/templates/blocks/DDHG-ServiceHero/Component.tsx +234 -0
  212. package/templates/blocks/DDHG-ServiceHero/config.ts +49 -0
  213. package/templates/blocks/DDHG-ServiceHero/manifest.json +26 -0
  214. package/templates/blocks/DDHG-ServiceOverview/Component.tsx +277 -0
  215. package/templates/blocks/DDHG-ServiceOverview/config.ts +64 -0
  216. package/templates/blocks/DDHG-ServiceOverview/manifest.json +44 -0
  217. package/templates/blocks/DDHG-StatsFAQ/Component.tsx +389 -0
  218. package/templates/blocks/DDHG-StatsFAQ/config.ts +204 -0
  219. package/templates/blocks/DDHG-StatsFAQ/manifest.json +45 -0
  220. package/templates/blocks/DDHG-TeamCards/Component.tsx +169 -0
  221. package/templates/blocks/DDHG-TeamCards/config.ts +48 -0
  222. package/templates/blocks/DDHG-TeamCards/manifest.json +29 -0
  223. package/templates/shared/src/components/BgLightning/index.tsx +242 -0
  224. package/templates/shared/src/components/ui/ShareButton/index.tsx +80 -0
  225. package/templates/shared/src/components/ui/anims/FadeOnScroll.tsx +48 -0
  226. package/templates/shared/src/components/ui/anims/FadeUpOnInView.tsx +63 -0
  227. package/templates/shared/src/components/ui/anims/GlareHover.tsx +111 -0
  228. package/templates/shared/src/components/ui/anims/LineAnims.tsx +81 -0
  229. package/templates/shared/src/components/ui/anims/TitleAnims01.tsx +54 -0
  230. package/templates/shared/src/components/ui/anims/animation-container.tsx +29 -0
  231. package/templates/shared/src/components/ui/anims/blur-in.tsx +26 -0
  232. package/templates/shared/src/components/ui/anims/counter.tsx +53 -0
  233. package/templates/shared/src/components/ui/anims/fade.tsx +83 -0
  234. package/templates/shared/src/components/ui/anims/gradual-spacing.tsx +39 -0
  235. package/templates/shared/src/components/ui/anims/pull-up.tsx +93 -0
  236. package/templates/shared/src/components/ui/anims/reveal-text.tsx +76 -0
  237. package/templates/shared/src/components/ui/anims/rotate-words.tsx +43 -0
  238. package/templates/shared/src/components/ui/anims/shiny-text.tsx +58 -0
  239. package/templates/shared/src/components/ui/anims/shuffle-text.tsx +85 -0
  240. package/templates/shared/src/components/ui/anims/split-text.tsx +211 -0
  241. package/templates/shared/src/components/ui/anims/staggered-fade.tsx +133 -0
  242. package/templates/shared/src/components/ui/anims/text-scroll.tsx +111 -0
  243. package/templates/shared/src/components/ui/anims/typing-effect.tsx +112 -0
  244. package/templates/shared/src/components/ui/button-dusted-fluid/index.tsx +1521 -0
  245. package/templates/shared/src/components/ui/separator.tsx +85 -0
  246. package/templates/shared/src/hooks/useBodyScrollLock.ts +97 -0
  247. package/templates/shared/src/hooks/useClickOutside.ts +28 -0
  248. package/templates/shared/src/utilities/renderCustomCSS.ts +5 -0
  249. package/templates/shared/src/utilities/smoothScroll.ts +65 -0
@@ -0,0 +1,102 @@
1
+ // src/blocks/ButtonECDustedFluid/config.ts
2
+ import type { Block } from 'payload'
3
+ import { link } from '@/fields/link'
4
+
5
+ export const DDFluidBtn: Block = {
6
+ slug: 'DD-FluidBtn',
7
+ interfaceName: 'DDFluidBtn',
8
+ labels: {
9
+ singular: 'Button Dusted Fluid',
10
+ plural: 'Button Dusted Fluid'
11
+ },
12
+ fields: [
13
+ {
14
+ name: 'variant',
15
+ type: 'select',
16
+ defaultValue: 'v1',
17
+ required: true,
18
+ options: [
19
+ { label: 'v1', value: 'v1' },
20
+ { label: 'v2', value: 'v2' },
21
+ { label: 'v3', value: 'v3' },
22
+ { label: 'v4', value: 'v4' },
23
+ { label: 'v5', value: 'v5' }
24
+ ],
25
+ admin: { width: '50%' }
26
+ },
27
+ {
28
+ name: 'label',
29
+ type: 'text',
30
+ required: true,
31
+ defaultValue: 'BUTTON',
32
+ admin: { width: '50%' }
33
+ },
34
+ {
35
+ name: 'displayMode',
36
+ type: 'select',
37
+ label: 'Display Mode',
38
+ defaultValue: 'labelOnly',
39
+ options: [
40
+ { label: 'Label Only', value: 'labelOnly' },
41
+ { label: 'Icon with Label', value: 'iconWithLabel' },
42
+ { label: 'Icon Only', value: 'iconOnly' }
43
+ ],
44
+ required: true,
45
+ admin: { width: '50%' }
46
+ },
47
+ {
48
+ name: 'iconPosition',
49
+ type: 'select',
50
+ label: 'Icon Position',
51
+ defaultValue: 'before',
52
+ options: [
53
+ { label: 'Before Label', value: 'before' },
54
+ { label: 'After Label', value: 'after' }
55
+ ],
56
+ required: false,
57
+ admin: {
58
+ width: '50%',
59
+ condition: (data, siblingData) => siblingData?.displayMode === 'iconWithLabel'
60
+ }
61
+ },
62
+ link({
63
+ overrides: {
64
+ name: 'link',
65
+ label: 'Link',
66
+ admin: {
67
+ condition: (data) => data.displayMode !== 'labelOnly'
68
+ }
69
+ },
70
+ disableLabel: true,
71
+ appearances: false
72
+ }),
73
+ {
74
+ name: 'enableCustomClasses',
75
+ type: 'checkbox',
76
+ label: 'Enable Custom Classes',
77
+ defaultValue: false,
78
+ admin: { width: '100%' }
79
+ },
80
+ {
81
+ name: 'wrapperClassName',
82
+ type: 'text',
83
+ label: 'Button Wrapper Class',
84
+ defaultValue: 'w-fit',
85
+ required: false,
86
+ admin: {
87
+ width: '50%',
88
+ condition: (data, siblingData) => siblingData.enableCustomClasses === true
89
+ }
90
+ },
91
+ {
92
+ name: 'className',
93
+ type: 'text',
94
+ label: 'Inner Button Class',
95
+ required: false,
96
+ admin: {
97
+ width: '50%',
98
+ condition: (data, siblingData) => siblingData.enableCustomClasses === true
99
+ }
100
+ }
101
+ ]
102
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "type": "block",
3
+ "name": "DD-FluidBtn",
4
+ "label": "Fluid Button Set",
5
+ "sourceName": "ButtonECDustedFluid",
6
+ "portableName": "DD-FluidBtn",
7
+ "slug": "DD-FluidBtn",
8
+ "version": "0.0.1",
9
+ "source": {
10
+ "repo": "Hadizainal/DesignsDustedv3",
11
+ "originalPath": "src/blocks/ButtonECDustedFluid",
12
+ "originalSlug": "buttonECDustedFluid",
13
+ "originalConfigExport": "ButtonECDustedFluid",
14
+ "originalComponentExport": "ButtonECDustedFluid",
15
+ "originalInterfaceName": "DDFluidBtn"
16
+ },
17
+ "files": [
18
+ {
19
+ "from": "Component.tsx",
20
+ "to": "src/blocks/DD-FluidBtn/Component.tsx"
21
+ },
22
+ {
23
+ "from": "config.ts",
24
+ "to": "src/blocks/DD-FluidBtn/config.ts"
25
+ },
26
+ {
27
+ "from": "ButtonsEyeCatching.tsx",
28
+ "to": "src/blocks/DD-FluidBtn/ButtonsEyeCatching.tsx"
29
+ }
30
+ ],
31
+ "dependencies": [
32
+ "framer-motion"
33
+ ],
34
+ "sharedFiles": [
35
+ {
36
+ "from": "templates/shared/src/components/ui/button-dusted-fluid",
37
+ "to": "src/components/ui/button-dusted-fluid",
38
+ "required": true,
39
+ "safeToCopy": true
40
+ }
41
+ ],
42
+ "requiredProjectFiles": [],
43
+ "optionalProjectFiles": [],
44
+ "collectionRegistration": {
45
+ "enabled": true,
46
+ "collections": [
47
+ "Pages",
48
+ "Posts"
49
+ ]
50
+ },
51
+ "renderBlocksRegistration": {
52
+ "enabled": true
53
+ },
54
+ "renderBlocksBehavior": {
55
+ "wrapperless": false
56
+ },
57
+ "pageRouteIntegration": {
58
+ "required": false,
59
+ "manualSteps": []
60
+ },
61
+ "manual": [
62
+ "Register DDFluidBtn in Pages/Posts blocks arrays if automatic registration was skipped.",
63
+ "Register DD-FluidBtn in RenderBlocks if automatic registration was skipped.",
64
+ "Run payload generate:types after schema changes."
65
+ ],
66
+ "manualSteps": [
67
+ "Register DDFluidBtn in Pages/Posts blocks arrays if automatic registration was skipped.",
68
+ "Register DD-FluidBtn in RenderBlocks if automatic registration was skipped.",
69
+ "Run payload generate:types after schema changes."
70
+ ],
71
+ "patchTargets": {
72
+ "blockConfigRegistration": {
73
+ "description": "Installer can add import { DDFluidBtn } from '@/blocks/DD-FluidBtn/config' and add DDFluidBtn to clear Pages/Posts block arrays."
74
+ },
75
+ "renderBlocksRegistration": {
76
+ "description": "Installer can register DD-FluidBtn in RenderBlocks."
77
+ }
78
+ },
79
+ "notes": [
80
+ "Bundles the required ButtonsEyeCatching child component with the public parent block.",
81
+ "Only DDFluidBtn is registered as a block.",
82
+ "Manifest includes shared local support files required by original DesignsDusted source imports."
83
+ ],
84
+ "exportName": "DDFluidBtn",
85
+ "interfaceName": "DDFluidBtn"
86
+ }
@@ -0,0 +1,149 @@
1
+ 'use client'
2
+
3
+ import React, { useState, useEffect, useRef } from 'react'
4
+ import { motion } from 'framer-motion'
5
+ import RichText from '@/components/RichText'
6
+
7
+ export interface ButtonGooeyInfoProps {
8
+ buttonLabel?: string
9
+ buttonIcon?: string
10
+ richTextData?: any
11
+ panelWidth?: string
12
+ panelBgColor?: string
13
+ buttonBgColor?: string
14
+ buttonTextColor?: string
15
+ panelTextColor?: string
16
+ xOffset?: number
17
+ className?: string
18
+ panelClassName?: string
19
+ }
20
+
21
+ export const DDGooeyInfo: React.FC<ButtonGooeyInfoProps> = ({
22
+ buttonLabel = 'i',
23
+ buttonIcon,
24
+ richTextData,
25
+ panelWidth = '16rem',
26
+ panelBgColor = 'black',
27
+ buttonBgColor = 'black',
28
+ buttonTextColor = 'white',
29
+ panelTextColor = 'white',
30
+ xOffset = 48,
31
+ className = '',
32
+ panelClassName = ''
33
+ }) => {
34
+ const [open, setOpen] = useState(false)
35
+ const buttonRef = useRef<HTMLButtonElement | null>(null)
36
+ const panelRef = useRef<HTMLDivElement | null>(null)
37
+
38
+ // Close on outside tap/click (helps on touch devices)
39
+ useEffect(() => {
40
+ function handlePointerDown(e: PointerEvent) {
41
+ if (!buttonRef.current || !panelRef.current) return
42
+ if (
43
+ !buttonRef.current.contains(e.target as Node) &&
44
+ !panelRef.current.contains(e.target as Node)
45
+ ) {
46
+ setOpen(false)
47
+ }
48
+ }
49
+
50
+ window.addEventListener('pointerdown', handlePointerDown)
51
+ return () => window.removeEventListener('pointerdown', handlePointerDown)
52
+ }, [])
53
+
54
+ const handleToggle = () => {
55
+ setOpen((prev) => !prev)
56
+ }
57
+
58
+ return (
59
+ <div className={`gooey-info-container relative w-auto h-auto block ${className}`}>
60
+ {/* Gooey Filter */}
61
+ <svg className="absolute w-0 h-0">
62
+ <filter id="gooey">
63
+ {/* // Subtle gooey effect - best color merge */}
64
+ <feGaussianBlur in="SourceGraphic" stdDeviation="8" result="blur" />
65
+ <feColorMatrix
66
+ in="blur"
67
+ mode="matrix"
68
+ values="1 0 0 0 0
69
+ 0 1 0 0 0
70
+ 0 0 1 0 0
71
+ 0 0 0 18 -5"
72
+ result="gooey"
73
+ />
74
+ {/* // Strong gooey effect */}
75
+ {/* <feGaussianBlur in="SourceGraphic" stdDeviation="12" result="blur" />
76
+ <feColorMatrix
77
+ in="blur"
78
+ mode="matrix"
79
+ values="1 0 0 0 0
80
+ 0 1 0 0 0
81
+ 0 0 1 0 0
82
+ 0 0 0 24 -8"
83
+ result="gooey"
84
+ /> */}
85
+ {/* // Extreme gooey effect */}
86
+ {/* <feGaussianBlur in="SourceGraphic" stdDeviation="16" result="blur" />
87
+ <feColorMatrix
88
+ in="blur"
89
+ mode="matrix"
90
+ values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
91
+ 0 0 0 30 -10"
92
+ result="gooey"
93
+ /> */}
94
+ <feBlend in="SourceGraphic" in2="gooey" />
95
+ </filter>
96
+ </svg>
97
+ <div
98
+ className="relative flex items-center justify-center my-16"
99
+ style={{ filter: 'url(#gooey)' }}
100
+ >
101
+ {/* Floating Button */}
102
+ <motion.button
103
+ ref={buttonRef}
104
+ onHoverStart={() => setOpen(true)}
105
+ onHoverEnd={() => setOpen(false)}
106
+ onClick={handleToggle} // supports mouse + touch tap
107
+ className="w-14 h-14 rounded-full flex items-center justify-center cursor-pointer shadow-lg touch-manipulation select-none"
108
+ style={{
109
+ backgroundColor: buttonBgColor,
110
+ color: buttonTextColor
111
+ }}
112
+ >
113
+ <span className="text-xl font-bold">{buttonIcon || buttonLabel}</span>
114
+ </motion.button>
115
+
116
+ {/* Panel */}
117
+ <motion.div
118
+ ref={panelRef}
119
+ initial={{
120
+ opacity: 0,
121
+ scale: 0.85,
122
+ x: xOffset - 8
123
+ }}
124
+ animate={{
125
+ opacity: open ? 1 : 0,
126
+ scale: open ? 1 : 0.85,
127
+ x: open ? xOffset : xOffset - 8
128
+ }}
129
+ transition={{ type: 'spring', stiffness: 250, damping: 22 }}
130
+ onHoverStart={() => setOpen(true)}
131
+ onHoverEnd={() => setOpen(false)}
132
+ className={`absolute left-0 top-1/2 -translate-y-1/2 origin-left rounded-3xl px-6 py-5 flex flex-col gap-3 ${panelClassName}`}
133
+ style={{
134
+ width: panelWidth,
135
+ backgroundColor: panelBgColor,
136
+ color: panelTextColor,
137
+ pointerEvents: open ? 'auto' : 'none'
138
+ }}
139
+ >
140
+ {richTextData && (
141
+ <RichText data={richTextData} className="gooey-info-richtext" enableGutter={false} />
142
+ )}
143
+ </motion.div>
144
+ </div>
145
+ </div>
146
+ )
147
+ }
148
+
149
+ export default DDGooeyInfo
@@ -0,0 +1,135 @@
1
+ import type { Block } from 'payload'
2
+ import { BlocksFeature } from '@payloadcms/richtext-lexical'
3
+
4
+ import { MediaBlock } from '@/blocks/MediaBlock/config'
5
+ import { DDIcon } from '@/blocks/DD-Icon/config'
6
+ import { DDAnimText } from '@/blocks/DD-AnimText/config'
7
+ import { DDIconButton } from '@/blocks/DD-IconButton/config'
8
+ import { defaultLexical } from '@/fields/defaultLexical'
9
+
10
+ export const DDGooeyInfo: Block = {
11
+ slug: 'DD-GooeyInfo',
12
+ interfaceName: 'DDGooeyInfo',
13
+ labels: {
14
+ singular: 'Button Gooey Info',
15
+ plural: 'Button Gooey Info Blocks'
16
+ },
17
+ fields: [
18
+ {
19
+ type: 'row',
20
+ fields: [
21
+ {
22
+ name: 'buttonLabel',
23
+ type: 'text',
24
+ label: 'Button Label/Icon',
25
+ defaultValue: 'i',
26
+ admin: {
27
+ width: '50%',
28
+ description: 'Text or single character to display on button (e.g., "i", "?", "N")'
29
+ }
30
+ },
31
+ {
32
+ name: 'xOffset',
33
+ type: 'number',
34
+ label: 'Panel X Offset',
35
+ defaultValue: 110,
36
+ admin: {
37
+ width: '50%',
38
+ description: 'Horizontal distance from button to panel in pixels'
39
+ }
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ type: 'row',
45
+ fields: [
46
+ {
47
+ name: 'panelWidth',
48
+ type: 'text',
49
+ label: 'Panel Width',
50
+ defaultValue: '16rem',
51
+ admin: {
52
+ width: '33.33%',
53
+ description: 'Width of info panel (e.g., 16rem, 300px)'
54
+ }
55
+ },
56
+ {
57
+ name: 'buttonBgColor',
58
+ type: 'text',
59
+ label: 'Button Background',
60
+ defaultValue: 'black',
61
+ admin: {
62
+ width: '33.33%',
63
+ description: 'CSS color (e.g., black, #000, var(--primary))'
64
+ }
65
+ },
66
+ {
67
+ name: 'buttonTextColor',
68
+ type: 'text',
69
+ label: 'Button Text Color',
70
+ defaultValue: 'white',
71
+ admin: {
72
+ width: '33.33%',
73
+ description: 'CSS color for button text'
74
+ }
75
+ }
76
+ ]
77
+ },
78
+ {
79
+ type: 'row',
80
+ fields: [
81
+ {
82
+ name: 'panelBgColor',
83
+ type: 'text',
84
+ label: 'Panel Background',
85
+ defaultValue: 'black',
86
+ admin: {
87
+ width: '50%',
88
+ description: 'CSS color for panel background'
89
+ }
90
+ },
91
+ {
92
+ name: 'panelTextColor',
93
+ type: 'text',
94
+ label: 'Panel Text Color',
95
+ defaultValue: 'white',
96
+ admin: {
97
+ width: '50%',
98
+ description: 'CSS color for panel text'
99
+ }
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ type: 'row',
105
+ fields: [
106
+ {
107
+ name: 'className',
108
+ type: 'text',
109
+ label: 'Container CSS Classes',
110
+ admin: {
111
+ width: '50%',
112
+ description: 'Additional CSS classes for the outer container'
113
+ }
114
+ },
115
+ {
116
+ name: 'panelClassName',
117
+ type: 'text',
118
+ label: 'Panel CSS Classes',
119
+ admin: {
120
+ width: '50%',
121
+ description: 'Additional CSS classes for the info panel'
122
+ }
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ name: 'richTextData',
128
+ type: 'richText',
129
+ editor: defaultLexical,
130
+ label: 'Panel Content'
131
+ }
132
+ ]
133
+ }
134
+
135
+ export default DDGooeyInfo
@@ -0,0 +1,72 @@
1
+ {
2
+ "type": "block",
3
+ "name": "DD-GooeyInfo",
4
+ "label": "Gooey Info Button",
5
+ "sourceName": "ButtonGooeyInfo",
6
+ "portableName": "DD-GooeyInfo",
7
+ "slug": "DD-GooeyInfo",
8
+ "version": "0.0.1",
9
+ "source": {
10
+ "repo": "Hadizainal/DesignsDustedv3",
11
+ "originalPath": "src/blocks/ButtonGooeyInfo",
12
+ "originalSlug": "buttonGooeyInfo",
13
+ "originalConfigExport": "ButtonGooeyInfo",
14
+ "originalComponentExport": "ButtonGooeyInfo",
15
+ "originalInterfaceName": "DDGooeyInfo"
16
+ },
17
+ "files": [
18
+ {
19
+ "from": "Component.tsx",
20
+ "to": "src/blocks/DD-GooeyInfo/Component.tsx"
21
+ },
22
+ {
23
+ "from": "config.ts",
24
+ "to": "src/blocks/DD-GooeyInfo/config.ts"
25
+ }
26
+ ],
27
+ "dependencies": [],
28
+ "sharedFiles": [],
29
+ "requiredProjectFiles": [],
30
+ "optionalProjectFiles": [],
31
+ "collectionRegistration": {
32
+ "enabled": true,
33
+ "collections": [
34
+ "Pages",
35
+ "Posts"
36
+ ]
37
+ },
38
+ "renderBlocksRegistration": {
39
+ "enabled": true
40
+ },
41
+ "renderBlocksBehavior": {
42
+ "wrapperless": false
43
+ },
44
+ "pageRouteIntegration": {
45
+ "required": false,
46
+ "manualSteps": []
47
+ },
48
+ "manual": [
49
+ "Register DDGooeyInfo in Pages/Posts blocks arrays if automatic registration was skipped.",
50
+ "Register DD-GooeyInfo in RenderBlocks if automatic registration was skipped.",
51
+ "Run payload generate:types after schema changes."
52
+ ],
53
+ "manualSteps": [
54
+ "Register DDGooeyInfo in Pages/Posts blocks arrays if automatic registration was skipped.",
55
+ "Register DD-GooeyInfo in RenderBlocks if automatic registration was skipped.",
56
+ "Run payload generate:types after schema changes."
57
+ ],
58
+ "patchTargets": {
59
+ "blockConfigRegistration": {
60
+ "description": "Installer can add import { DDGooeyInfo } from '@/blocks/DD-GooeyInfo/config' and add DDGooeyInfo to clear Pages/Posts block arrays."
61
+ },
62
+ "renderBlocksRegistration": {
63
+ "description": "Installer can register DD-GooeyInfo in RenderBlocks."
64
+ }
65
+ },
66
+ "notes": [
67
+ "Converted from DesignsDustedv3 ButtonGooeyInfo.",
68
+ "Project-specific imports were replaced with portable local behaviour where required."
69
+ ],
70
+ "exportName": "DDGooeyInfo",
71
+ "interfaceName": "DDGooeyInfo"
72
+ }