blocks-dusted 0.1.12 → 0.1.13

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 (148) hide show
  1. package/package.json +1 -1
  2. package/src/installers/patchRenderBlocks.js +1 -1
  3. package/src/registry/validateTemplateManifest.js +2 -1
  4. package/templates/blocks/BannerDD790432/Component.tsx +63 -0
  5. package/templates/blocks/BannerDD790432/config.ts +54 -0
  6. package/templates/blocks/BannerDD790432/manifest.json +80 -0
  7. package/templates/blocks/Button47/Component.tsx +124 -0
  8. package/templates/blocks/Button47/config.ts +75 -0
  9. package/templates/blocks/Button47/link.ts +22 -0
  10. package/templates/blocks/Button47/manifest.json +105 -0
  11. package/templates/blocks/Button47/styles.module.scss +75 -0
  12. package/templates/blocks/DD-Accordion/Component.tsx +55 -36
  13. package/templates/blocks/DD-Accordion/config.ts +71 -59
  14. package/templates/blocks/DD-AnimText/Component.tsx +50 -32
  15. package/templates/blocks/DD-AnimText/config.ts +296 -295
  16. package/templates/blocks/DD-AsideNav/Component.tsx +323 -319
  17. package/templates/blocks/DD-Banner/Component.tsx +54 -51
  18. package/templates/blocks/DD-BookCall/Component.tsx +535 -535
  19. package/templates/blocks/DD-ButtonPop/Component.tsx +118 -117
  20. package/templates/blocks/DD-Card/Component.tsx +4 -4
  21. package/templates/blocks/DD-CardTemplate01/Component.tsx +139 -140
  22. package/templates/blocks/DD-CardsWithVariantV3/Component.tsx +472 -0
  23. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/index.tsx +203 -0
  24. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/styles.ts +87 -0
  25. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/useInjectStyle.ts +39 -0
  26. package/templates/blocks/DD-CardsWithVariantV3/config.ts +326 -0
  27. package/templates/blocks/DD-CardsWithVariantV3/manifest.json +110 -0
  28. package/templates/blocks/DD-Carousel-A/Component.tsx +251 -249
  29. package/templates/blocks/DD-Carousel-B/Component.tsx +405 -403
  30. package/templates/blocks/DD-ComparisonTable/Component.tsx +255 -256
  31. package/templates/blocks/DD-Contact/Component.tsx +433 -435
  32. package/templates/blocks/DD-Counter/Component.tsx +11 -6
  33. package/templates/blocks/DD-DeliCard/Component.tsx +303 -0
  34. package/templates/blocks/DD-DeliCard/config.ts +186 -0
  35. package/templates/blocks/DD-DeliCard/manifest.json +94 -0
  36. package/templates/blocks/DD-FeatCat/Component.tsx +302 -302
  37. package/templates/blocks/DD-FeatProd/CircularGallery.tsx +1179 -0
  38. package/templates/blocks/DD-FeatProd/Component.tsx +484 -0
  39. package/templates/blocks/DD-FeatProd/config.ts +173 -0
  40. package/templates/blocks/DD-FeatProd/manifest.json +93 -0
  41. package/templates/blocks/DD-FeatServ/Component.tsx +607 -0
  42. package/templates/blocks/DD-FeatServ/config.ts +213 -0
  43. package/templates/blocks/DD-FeatServ/manifest.json +113 -0
  44. package/templates/blocks/DD-FeatStrip/Component.tsx +584 -585
  45. package/templates/blocks/DD-FluidBtn/ButtonsEyeCatching.tsx +627 -628
  46. package/templates/blocks/DD-FluidBtn/Component.tsx +46 -43
  47. package/templates/blocks/DD-GooeyInfo/Component.tsx +150 -149
  48. package/templates/blocks/DD-GooeyInfo/config.ts +136 -135
  49. package/templates/blocks/DD-Hero/Component.tsx +296 -297
  50. package/templates/blocks/DD-HeroPlas/Component.tsx +50 -0
  51. package/templates/blocks/DD-HeroPlas/ThreeScene.tsx +109 -0
  52. package/templates/blocks/DD-HeroPlas/config.ts +33 -0
  53. package/templates/blocks/DD-HeroPlas/manifest.json +88 -0
  54. package/templates/blocks/DD-HorizontalScroll/Component.tsx +937 -936
  55. package/templates/blocks/DD-Icon/Component.tsx +46 -81
  56. package/templates/blocks/DD-IconButton/Component.tsx +13 -20
  57. package/templates/blocks/DD-IdTag/Component.tsx +22 -21
  58. package/templates/blocks/DD-LineAnim/Component.tsx +42 -36
  59. package/templates/blocks/DD-LogoMarq/Component.tsx +38 -48
  60. package/templates/blocks/DD-Lottie/Component.tsx +11 -3
  61. package/templates/blocks/DD-MasonaryMedia/Component.tsx +544 -545
  62. package/templates/blocks/DD-MasonaryMedia/config.ts +389 -389
  63. package/templates/blocks/DD-Masonry/Component.tsx +654 -644
  64. package/templates/blocks/DD-Masonry/config.ts +475 -475
  65. package/templates/blocks/DD-MaterialSwatches/Component.tsx +85 -0
  66. package/templates/blocks/DD-MaterialSwatches/config.ts +232 -0
  67. package/templates/blocks/DD-MaterialSwatches/manifest.json +84 -0
  68. package/templates/blocks/DD-MaterialSwatches/material.ts +107 -0
  69. package/templates/blocks/DD-NineCanvas/Component.tsx +129 -0
  70. package/templates/blocks/DD-NineCanvas/RenderBlocks.tsx +244 -0
  71. package/templates/blocks/DD-NineCanvas/allowedCanvasBlocks.ts +6 -0
  72. package/templates/blocks/DD-NineCanvas/blockComponents.tsx +8 -0
  73. package/templates/blocks/DD-NineCanvas/canvas/CanvasGrid.tsx +316 -0
  74. package/templates/blocks/DD-NineCanvas/canvas/RadialNav.tsx +432 -0
  75. package/templates/blocks/DD-NineCanvas/canvas/canvas-panels.css +889 -0
  76. package/templates/blocks/DD-NineCanvas/canvas/icons/custom-icons.tsx +364 -0
  77. package/templates/blocks/DD-NineCanvas/config.ts +61 -0
  78. package/templates/blocks/DD-NineCanvas/manifest.json +165 -0
  79. package/templates/blocks/DD-NineCanvas/styles.scss +152 -0
  80. package/templates/blocks/DD-NineCanvas/tooltip/get-strict-context.tsx +26 -0
  81. package/templates/blocks/DD-NineCanvas/tooltip/primitives.tsx +178 -0
  82. package/templates/blocks/DD-NineCanvas/tooltip/tooltip.tsx +71 -0
  83. package/templates/blocks/DD-NineCanvas/tooltip/use-controlled-state.tsx +33 -0
  84. package/templates/blocks/DD-NineCanvas/utilities/FadeOnScroll.tsx +68 -0
  85. package/templates/blocks/DD-NineCanvas/utilities/ParallaxWrapper.tsx +157 -0
  86. package/templates/blocks/DD-NineCanvas/utilities/renderCustomCSS.ts +5 -0
  87. package/templates/blocks/DD-NineCanvas/utilities/webglCleanup.ts +27 -0
  88. package/templates/blocks/DD-PayloadAIAssistant/Component.tsx +78 -0
  89. package/templates/blocks/DD-PayloadAIAssistant/DustedBot.tsx +590 -0
  90. package/templates/blocks/DD-PayloadAIAssistant/config.ts +37 -0
  91. package/templates/blocks/DD-PayloadAIAssistant/demo.css +125 -0
  92. package/templates/blocks/DD-PayloadAIAssistant/manifest.json +93 -0
  93. package/templates/blocks/DD-PayloadAIAssistant/source-defaults.ts +17 -0
  94. package/templates/blocks/DD-PayloadAIAssistant/styles.ts +306 -0
  95. package/templates/blocks/DD-Pricing/Component.tsx +2 -3
  96. package/templates/blocks/DD-Pricing/config.ts +215 -215
  97. package/templates/blocks/DD-Process/Component.tsx +2 -2
  98. package/templates/blocks/DD-ProjHeader/Component.tsx +93 -91
  99. package/templates/blocks/DD-ProjSlider/Component.tsx +1 -1
  100. package/templates/blocks/DD-Section/Component.tsx +265 -266
  101. package/templates/blocks/DD-Separator/Component.tsx +66 -66
  102. package/templates/blocks/DD-Services/Component.tsx +176 -176
  103. package/templates/blocks/DD-ShowcaseGrid/Component.tsx +306 -307
  104. package/templates/blocks/DD-Slider-A/Component.tsx +2 -2
  105. package/templates/blocks/DD-StackCards/Component.tsx +172 -171
  106. package/templates/blocks/DD-Team/Component.tsx +247 -247
  107. package/templates/blocks/DD-TeamCards/Component.tsx +251 -251
  108. package/templates/blocks/DD-TechStack/Component.tsx +173 -174
  109. package/templates/blocks/DD-TestMarq/Component.tsx +158 -132
  110. package/templates/blocks/DD-Testim/Component.tsx +247 -247
  111. package/templates/blocks/DD-Testim2/Component.tsx +265 -256
  112. package/templates/blocks/DD-Testimonials/Component.tsx +139 -139
  113. package/templates/blocks/DD-Thanks/Component.tsx +1 -1
  114. package/templates/blocks/DD-Work/Component.tsx +318 -318
  115. package/templates/blocks/DD-Work-B/Component.tsx +294 -294
  116. package/templates/blocks/DDHG-CTASection2/Component.tsx +183 -184
  117. package/templates/blocks/DDHG-HighlightArc/Component.tsx +6 -3
  118. package/templates/blocks/DDHG-LogoMarquee/Component.tsx +45 -8
  119. package/templates/blocks/DDHG-NavCodeGrid/Component.tsx +1 -3
  120. package/templates/blocks/DDHG-ServiceDetails/ServiceDetailCard.tsx +9 -22
  121. package/templates/blocks/DDHG-ServiceHero/Component.tsx +10 -10
  122. package/templates/blocks/DDHG-TeamCards/Component.tsx +6 -35
  123. package/templates/blocks/Form/Checkbox/index.tsx +45 -0
  124. package/templates/blocks/Form/Component.tsx +163 -0
  125. package/templates/blocks/Form/Country/index.tsx +65 -0
  126. package/templates/blocks/Form/Country/options.ts +982 -0
  127. package/templates/blocks/Form/Email/index.tsx +38 -0
  128. package/templates/blocks/Form/Error/index.tsx +15 -0
  129. package/templates/blocks/Form/Message/index.tsx +13 -0
  130. package/templates/blocks/Form/Number/index.tsx +36 -0
  131. package/templates/blocks/Form/Select/index.tsx +63 -0
  132. package/templates/blocks/Form/State/index.tsx +64 -0
  133. package/templates/blocks/Form/State/options.ts +52 -0
  134. package/templates/blocks/Form/Text/index.tsx +32 -0
  135. package/templates/blocks/Form/Textarea/index.tsx +40 -0
  136. package/templates/blocks/Form/Width/index.tsx +13 -0
  137. package/templates/blocks/Form/config.ts +51 -0
  138. package/templates/blocks/Form/fields.tsx +21 -0
  139. package/templates/blocks/Form/manifest.json +168 -0
  140. package/templates/blocks/MediaBlock/Component.tsx +67 -0
  141. package/templates/blocks/MediaBlock/config.ts +14 -0
  142. package/templates/blocks/MediaBlock/manifest.json +92 -0
  143. package/templates/blocks/TransitionsDustedShowcase/Component.tsx +9 -0
  144. package/templates/blocks/TransitionsDustedShowcase/config.ts +13 -0
  145. package/templates/blocks/TransitionsDustedShowcase/manifest.json +80 -0
  146. package/templates/blocks/rawHtml/Component.tsx +25 -0
  147. package/templates/blocks/rawHtml/config.ts +56 -0
  148. package/templates/blocks/rawHtml/manifest.json +80 -0
@@ -0,0 +1,213 @@
1
+ import type { Block } from 'payload'
2
+ import { BlocksFeature } from '@payloadcms/richtext-lexical'
3
+
4
+ import { DDAccordion } from '@/blocks/DD-Accordion/config'
5
+ import { DDAnimText } from '@/blocks/DD-AnimText/config'
6
+ import { DDBanner } from '@/blocks/DD-Banner/config'
7
+ import { DDIconButton } from '@/blocks/DD-IconButton/config'
8
+ import { createDefaultLexical } from '@/fields/defaultLexical'
9
+ import { link } from '@/fields/link'
10
+
11
+ export const DDFeatServ: Block = {
12
+ slug: 'DD-FeatServ',
13
+ dbName: 'dd_feat_serv',
14
+ interfaceName: 'DDFeatServ',
15
+ labels: {
16
+ singular: 'DD Featured Services',
17
+ plural: 'DD Featured Services',
18
+ },
19
+ fields: [
20
+ {
21
+ type: 'tabs',
22
+ tabs: [
23
+ {
24
+ label: 'Header',
25
+ fields: [
26
+ {
27
+ name: 'servicesEyebrow',
28
+ type: 'text',
29
+ label: 'Eyebrow Label',
30
+ defaultValue: 'What We Do',
31
+ admin: {
32
+ description: 'Optional small label above the heading',
33
+ placeholder: 'What We Do',
34
+ },
35
+ },
36
+ {
37
+ name: 'servicesHeading',
38
+ type: 'text',
39
+ label: 'Heading',
40
+ defaultValue: 'Our Services',
41
+ admin: {
42
+ placeholder: 'Our Services',
43
+ },
44
+ },
45
+ {
46
+ name: 'servicesDescription',
47
+ type: 'textarea',
48
+ label: 'Description',
49
+ },
50
+ link({
51
+ appearances: false,
52
+ overrides: {
53
+ name: 'servicesViewAllLink',
54
+ dbName: 'view_all_link',
55
+ label: 'View All Link',
56
+ },
57
+ }),
58
+ ],
59
+ },
60
+ {
61
+ label: 'Services',
62
+ fields: [
63
+ {
64
+ name: 'featuredServices',
65
+ dbName: 'svcs',
66
+ type: 'array',
67
+ label: 'Services',
68
+ minRows: 1,
69
+ labels: {
70
+ singular: 'Service',
71
+ plural: 'Services',
72
+ },
73
+ fields: [
74
+ {
75
+ type: 'row',
76
+ fields: [
77
+ // Clickable Checkbox
78
+ {
79
+ name: 'isClickableCard',
80
+ dbName: 'is_clk',
81
+ type: 'checkbox',
82
+ label: 'Clickable card',
83
+ defaultValue: true,
84
+ admin: {
85
+ width: '50%',
86
+ description: 'Enable full-card click-through to Service Link.',
87
+ },
88
+ },
89
+ link({
90
+ appearances: false,
91
+ disableLabel: true,
92
+ disableIcon: true,
93
+ overrides: {
94
+ name: 'serviceLink',
95
+ dbName: 'svc_link',
96
+ label: 'Service Link',
97
+ required: false,
98
+ admin: {
99
+ condition: (_, siblingData) => siblingData?.isClickableCard !== false,
100
+ },
101
+ validate: (value, { siblingData }) => {
102
+ if (siblingData?.isClickableCard === false) return true
103
+
104
+ if (!value || typeof value !== 'object') {
105
+ return 'Service Link is required when card is clickable.'
106
+ }
107
+
108
+ if (value.type === 'reference') {
109
+ return value.reference ? true : 'Select a document to link to.'
110
+ }
111
+
112
+ if (value.type === 'custom') {
113
+ return value.url ? true : 'Custom URL is required.'
114
+ }
115
+
116
+ return 'Service Link is required when card is clickable.'
117
+ },
118
+ },
119
+ }),
120
+ // Badge
121
+ {
122
+ name: 'serviceBadge',
123
+ type: 'text',
124
+ label: 'Badge',
125
+ },
126
+ ],
127
+ },
128
+ // Feature Tags (hidden ui conflict )
129
+ {
130
+ name: 'serviceFeatures',
131
+ dbName: 'svc_feats',
132
+ type: 'array',
133
+ label: 'Feature Tags',
134
+ maxRows: 4,
135
+ labels: {
136
+ singular: 'Feature',
137
+ plural: 'Features',
138
+ },
139
+ fields: [
140
+ {
141
+ name: 'serviceFeature',
142
+ type: 'text',
143
+ label: 'Feature',
144
+ required: true,
145
+ },
146
+ ],
147
+ },
148
+ // Category
149
+ {
150
+ name: 'serviceCategory',
151
+ type: 'relationship',
152
+ label: 'Category',
153
+ relationTo: 'categories',
154
+ },
155
+ // RichText Content
156
+ {
157
+ name: 'serviceContent',
158
+ type: 'richText',
159
+ label: 'Service Content',
160
+ required: true,
161
+ editor: createDefaultLexical({
162
+ features: [
163
+ BlocksFeature({
164
+ blocks: [DDAccordion, DDAnimText, DDBanner, DDIconButton],
165
+ }),
166
+ ],
167
+ }),
168
+ admin: {
169
+ description:
170
+ 'Combined service heading and description. Use an H3 for the service title.',
171
+ },
172
+ },
173
+
174
+ // Card Image
175
+ {
176
+ name: 'serviceImage',
177
+ type: 'upload',
178
+ label: 'Service Image',
179
+ relationTo: 'media',
180
+ },
181
+ ],
182
+ },
183
+ ],
184
+ },
185
+ {
186
+ label: 'Settings',
187
+ fields: [
188
+ {
189
+ name: 'sectionId',
190
+ type: 'text',
191
+ label: 'Section ID',
192
+ defaultValue: 'featured-services',
193
+ admin: {
194
+ description: 'Optional ID for anchor linking',
195
+ placeholder: 'featured-services',
196
+ },
197
+ },
198
+ {
199
+ name: 'customCSS',
200
+ type: 'code',
201
+ label: 'Custom CSS',
202
+ admin: {
203
+ language: 'css',
204
+ },
205
+ },
206
+ ],
207
+ },
208
+ ],
209
+ },
210
+ ],
211
+ }
212
+
213
+ export default DDFeatServ
@@ -0,0 +1,113 @@
1
+ {
2
+ "type": "block",
3
+ "name": "DD-FeatServ",
4
+ "label": "Featured Services",
5
+ "sourceName": "DD-FeatServ",
6
+ "portableName": "DD-FeatServ",
7
+ "slug": "DD-FeatServ",
8
+ "version": "0.0.1",
9
+ "source": {
10
+ "repo": "Hadizainal/Dusted-Payload-Blocks",
11
+ "originalPath": "CLI-TestGround/dusted-blocks-demo/src/blocks/DD-FeatServ",
12
+ "originalSlug": "DD-FeatServ",
13
+ "originalConfigExport": "DDFeatServ",
14
+ "originalComponentExport": "DDFeatServ",
15
+ "originalInterfaceName": "DDFeatServ"
16
+ },
17
+ "files": [
18
+ {
19
+ "from": "Component.tsx",
20
+ "to": "src/blocks/DD-FeatServ/Component.tsx"
21
+ },
22
+ {
23
+ "from": "config.ts",
24
+ "to": "src/blocks/DD-FeatServ/config.ts"
25
+ }
26
+ ],
27
+ "dependencies": [
28
+ "@payloadcms/richtext-lexical",
29
+ "embla-carousel-react",
30
+ "framer-motion",
31
+ "lucide-react"
32
+ ],
33
+ "sharedFiles": [],
34
+ "requiredProjectFiles": [
35
+ {
36
+ "path": "src/blocks/DD-Accordion/config.ts",
37
+ "reason": "Lexical editor embeds DD Accordion."
38
+ },
39
+ {
40
+ "path": "src/blocks/DD-AnimText/config.ts",
41
+ "reason": "Lexical editor embeds DD Anim Text."
42
+ },
43
+ {
44
+ "path": "src/blocks/DD-Banner/config.ts",
45
+ "reason": "Lexical editor embeds DD Banner."
46
+ },
47
+ {
48
+ "path": "src/blocks/DD-IconButton/config.ts",
49
+ "reason": "Lexical editor embeds DD Icon Button."
50
+ },
51
+ {
52
+ "path": "src/fields/defaultLexical.ts",
53
+ "reason": "Payload config uses the project Lexical editor factory."
54
+ },
55
+ {
56
+ "path": "src/fields/link.ts",
57
+ "reason": "Payload config uses the shared link field."
58
+ },
59
+ {
60
+ "path": "src/components/RichText/index.tsx",
61
+ "reason": "Component renders Payload rich text."
62
+ },
63
+ {
64
+ "path": "src/utilities/ui.ts",
65
+ "reason": "Component imports cn from @/utilities/ui."
66
+ }
67
+ ],
68
+ "optionalProjectFiles": [],
69
+ "collectionRegistration": {
70
+ "enabled": true,
71
+ "collections": [
72
+ "Pages",
73
+ "Posts"
74
+ ]
75
+ },
76
+ "renderBlocksRegistration": {
77
+ "enabled": true
78
+ },
79
+ "renderBlocksBehavior": {
80
+ "wrapperless": false
81
+ },
82
+ "pageRouteIntegration": {
83
+ "required": false,
84
+ "manualSteps": []
85
+ },
86
+ "manual": [
87
+ "Register DDFeatServ in Pages/Posts block arrays if automatic registration was skipped.",
88
+ "Register DD-FeatServ in RenderBlocks if automatic registration was skipped.",
89
+ "Run payload generate:types after schema changes.",
90
+ "Run payload generate:importmap if admin/component imports changed."
91
+ ],
92
+ "manualSteps": [
93
+ "Register DDFeatServ in Pages/Posts block arrays if automatic registration was skipped.",
94
+ "Register DD-FeatServ in RenderBlocks if automatic registration was skipped.",
95
+ "Run payload generate:types after schema changes.",
96
+ "Run payload generate:importmap if admin/component imports changed."
97
+ ],
98
+ "patchTargets": {
99
+ "blockConfigRegistration": {
100
+ "description": "Installer can register DDFeatServ from @/blocks/DD-FeatServ/config."
101
+ },
102
+ "renderBlocksRegistration": {
103
+ "description": "Installer can register DD-FeatServ with component export DDFeatServ."
104
+ }
105
+ },
106
+ "notes": [
107
+ "Promoted from the verified Dusted Blocks demo implementation.",
108
+ "Installer preserves existing destination files and reports project requirements before writing."
109
+ ],
110
+ "exportName": "DDFeatServ",
111
+ "componentExportName": "DDFeatServ",
112
+ "interfaceName": "DDFeatServ"
113
+ }