blocks-dusted 0.1.11 → 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 (161) hide show
  1. package/package.json +5 -2
  2. package/src/cli.js +39 -3
  3. package/src/commands/shop.js +59 -0
  4. package/src/commands/warehouse.js +73 -0
  5. package/src/installers/patchRenderBlocks.js +1 -1
  6. package/src/registry/validateTemplateManifest.js +2 -1
  7. package/templates/blocks/BannerDD790432/Component.tsx +63 -0
  8. package/templates/blocks/BannerDD790432/config.ts +54 -0
  9. package/templates/blocks/BannerDD790432/manifest.json +80 -0
  10. package/templates/blocks/Button47/Component.tsx +124 -0
  11. package/templates/blocks/Button47/config.ts +75 -0
  12. package/templates/blocks/Button47/link.ts +22 -0
  13. package/templates/blocks/Button47/manifest.json +105 -0
  14. package/templates/blocks/Button47/styles.module.scss +75 -0
  15. package/templates/blocks/DD-Accordion/Component.tsx +55 -36
  16. package/templates/blocks/DD-Accordion/config.ts +71 -59
  17. package/templates/blocks/DD-AnimText/Component.tsx +50 -32
  18. package/templates/blocks/DD-AnimText/config.ts +296 -295
  19. package/templates/blocks/DD-AsideNav/Component.tsx +323 -319
  20. package/templates/blocks/DD-Banner/Component.tsx +54 -51
  21. package/templates/blocks/DD-BookCall/Component.tsx +10 -9
  22. package/templates/blocks/DD-ButtonPop/Component.tsx +118 -117
  23. package/templates/blocks/DD-Card/Component.tsx +4 -4
  24. package/templates/blocks/DD-CardTemplate01/Component.tsx +5 -5
  25. package/templates/blocks/DD-CardsWithVariantV3/Component.tsx +472 -0
  26. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/index.tsx +203 -0
  27. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/styles.ts +87 -0
  28. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/useInjectStyle.ts +39 -0
  29. package/templates/blocks/DD-CardsWithVariantV3/config.ts +326 -0
  30. package/templates/blocks/DD-CardsWithVariantV3/manifest.json +110 -0
  31. package/templates/blocks/DD-Carousel-A/Component.tsx +251 -249
  32. package/templates/blocks/DD-Carousel-B/Component.tsx +405 -403
  33. package/templates/blocks/DD-Chip/Component.tsx +14 -14
  34. package/templates/blocks/DD-ComparisonTable/Component.tsx +255 -256
  35. package/templates/blocks/DD-Contact/Component.tsx +433 -434
  36. package/templates/blocks/DD-Counter/Component.tsx +18 -13
  37. package/templates/blocks/DD-DeliCard/Component.tsx +303 -0
  38. package/templates/blocks/DD-DeliCard/config.ts +186 -0
  39. package/templates/blocks/DD-DeliCard/manifest.json +94 -0
  40. package/templates/blocks/DD-FeatCat/Component.tsx +302 -302
  41. package/templates/blocks/DD-FeatProd/CircularGallery.tsx +1179 -0
  42. package/templates/blocks/DD-FeatProd/Component.tsx +484 -0
  43. package/templates/blocks/DD-FeatProd/config.ts +173 -0
  44. package/templates/blocks/DD-FeatProd/manifest.json +93 -0
  45. package/templates/blocks/DD-FeatServ/Component.tsx +607 -0
  46. package/templates/blocks/DD-FeatServ/config.ts +213 -0
  47. package/templates/blocks/DD-FeatServ/manifest.json +113 -0
  48. package/templates/blocks/DD-FeatStrip/Component.tsx +584 -585
  49. package/templates/blocks/DD-FluidBtn/ButtonsEyeCatching.tsx +627 -628
  50. package/templates/blocks/DD-FluidBtn/Component.tsx +46 -43
  51. package/templates/blocks/DD-GooeyInfo/Component.tsx +150 -149
  52. package/templates/blocks/DD-GooeyInfo/config.ts +136 -135
  53. package/templates/blocks/DD-Hero/Component.tsx +16 -40
  54. package/templates/blocks/DD-HeroPlas/Component.tsx +50 -0
  55. package/templates/blocks/DD-HeroPlas/ThreeScene.tsx +109 -0
  56. package/templates/blocks/DD-HeroPlas/config.ts +33 -0
  57. package/templates/blocks/DD-HeroPlas/manifest.json +88 -0
  58. package/templates/blocks/DD-HorizontalScroll/Component.tsx +4 -5
  59. package/templates/blocks/DD-Icon/Component.tsx +46 -81
  60. package/templates/blocks/DD-IconButton/Component.tsx +13 -20
  61. package/templates/blocks/DD-IdTag/Component.tsx +22 -21
  62. package/templates/blocks/DD-IframeMedia/Component.tsx +14 -10
  63. package/templates/blocks/DD-LineAnim/Component.tsx +42 -36
  64. package/templates/blocks/DD-LogoMarq/Component.tsx +38 -48
  65. package/templates/blocks/DD-Lottie/Component.tsx +11 -3
  66. package/templates/blocks/DD-MasonaryMedia/Component.tsx +544 -547
  67. package/templates/blocks/DD-MasonaryMedia/config.ts +389 -389
  68. package/templates/blocks/DD-Masonry/Component.tsx +654 -644
  69. package/templates/blocks/DD-Masonry/config.ts +475 -475
  70. package/templates/blocks/DD-MaterialSwatches/Component.tsx +85 -0
  71. package/templates/blocks/DD-MaterialSwatches/config.ts +232 -0
  72. package/templates/blocks/DD-MaterialSwatches/manifest.json +84 -0
  73. package/templates/blocks/DD-MaterialSwatches/material.ts +107 -0
  74. package/templates/blocks/DD-NineCanvas/Component.tsx +129 -0
  75. package/templates/blocks/DD-NineCanvas/RenderBlocks.tsx +244 -0
  76. package/templates/blocks/DD-NineCanvas/allowedCanvasBlocks.ts +6 -0
  77. package/templates/blocks/DD-NineCanvas/blockComponents.tsx +8 -0
  78. package/templates/blocks/DD-NineCanvas/canvas/CanvasGrid.tsx +316 -0
  79. package/templates/blocks/DD-NineCanvas/canvas/RadialNav.tsx +432 -0
  80. package/templates/blocks/DD-NineCanvas/canvas/canvas-panels.css +889 -0
  81. package/templates/blocks/DD-NineCanvas/canvas/icons/custom-icons.tsx +364 -0
  82. package/templates/blocks/DD-NineCanvas/config.ts +61 -0
  83. package/templates/blocks/DD-NineCanvas/manifest.json +165 -0
  84. package/templates/blocks/DD-NineCanvas/styles.scss +152 -0
  85. package/templates/blocks/DD-NineCanvas/tooltip/get-strict-context.tsx +26 -0
  86. package/templates/blocks/DD-NineCanvas/tooltip/primitives.tsx +178 -0
  87. package/templates/blocks/DD-NineCanvas/tooltip/tooltip.tsx +71 -0
  88. package/templates/blocks/DD-NineCanvas/tooltip/use-controlled-state.tsx +33 -0
  89. package/templates/blocks/DD-NineCanvas/utilities/FadeOnScroll.tsx +68 -0
  90. package/templates/blocks/DD-NineCanvas/utilities/ParallaxWrapper.tsx +157 -0
  91. package/templates/blocks/DD-NineCanvas/utilities/renderCustomCSS.ts +5 -0
  92. package/templates/blocks/DD-NineCanvas/utilities/webglCleanup.ts +27 -0
  93. package/templates/blocks/DD-PayloadAIAssistant/Component.tsx +78 -0
  94. package/templates/blocks/DD-PayloadAIAssistant/DustedBot.tsx +590 -0
  95. package/templates/blocks/DD-PayloadAIAssistant/config.ts +37 -0
  96. package/templates/blocks/DD-PayloadAIAssistant/demo.css +125 -0
  97. package/templates/blocks/DD-PayloadAIAssistant/manifest.json +93 -0
  98. package/templates/blocks/DD-PayloadAIAssistant/source-defaults.ts +17 -0
  99. package/templates/blocks/DD-PayloadAIAssistant/styles.ts +306 -0
  100. package/templates/blocks/DD-Pricing/Component.tsx +368 -372
  101. package/templates/blocks/DD-Pricing/config.ts +215 -215
  102. package/templates/blocks/DD-Process/Component.tsx +147 -149
  103. package/templates/blocks/DD-Progress/Component.tsx +156 -141
  104. package/templates/blocks/DD-ProjHeader/Component.tsx +93 -91
  105. package/templates/blocks/DD-ProjSlider/Component.tsx +1 -1
  106. package/templates/blocks/DD-ProjSlider/config.ts +2 -2
  107. package/templates/blocks/DD-Section/Component.tsx +265 -266
  108. package/templates/blocks/DD-Separator/Component.tsx +66 -66
  109. package/templates/blocks/DD-Services/Component.tsx +176 -176
  110. package/templates/blocks/DD-ShowcaseGrid/Component.tsx +306 -307
  111. package/templates/blocks/DD-Slider-A/Component.tsx +237 -237
  112. package/templates/blocks/DD-StackCards/Component.tsx +474 -473
  113. package/templates/blocks/DD-Team/Component.tsx +247 -247
  114. package/templates/blocks/DD-TeamCards/Component.tsx +251 -251
  115. package/templates/blocks/DD-TechStack/Component.tsx +161 -168
  116. package/templates/blocks/DD-TestMarq/Component.tsx +158 -132
  117. package/templates/blocks/DD-Testim/Component.tsx +247 -247
  118. package/templates/blocks/DD-Testim2/Component.tsx +265 -256
  119. package/templates/blocks/DD-Testimonials/Component.tsx +139 -147
  120. package/templates/blocks/DD-TextMarq/Component.tsx +157 -157
  121. package/templates/blocks/DD-Thanks/Component.tsx +501 -500
  122. package/templates/blocks/DD-Work/Component.tsx +315 -315
  123. package/templates/blocks/DD-Work-B/Component.tsx +294 -294
  124. package/templates/blocks/DDHG-CTASection2/Component.tsx +183 -184
  125. package/templates/blocks/DDHG-HighlightArc/Component.tsx +246 -243
  126. package/templates/blocks/DDHG-LogoMarquee/Component.tsx +180 -93
  127. package/templates/blocks/DDHG-LogoMarquee/config.ts +154 -66
  128. package/templates/blocks/DDHG-NavCodeGrid/Component.tsx +225 -213
  129. package/templates/blocks/DDHG-ProcessSec/Component.tsx +38 -39
  130. package/templates/blocks/DDHG-ServiceDetails/Component.tsx +11 -11
  131. package/templates/blocks/DDHG-ServiceDetails/ServiceDetailCard.tsx +30 -47
  132. package/templates/blocks/DDHG-ServiceHero/Component.tsx +10 -10
  133. package/templates/blocks/DDHG-ServiceOverview/Component.tsx +23 -23
  134. package/templates/blocks/DDHG-StatsFAQ/Component.tsx +40 -40
  135. package/templates/blocks/DDHG-TeamCards/Component.tsx +140 -131
  136. package/templates/blocks/Form/Checkbox/index.tsx +45 -0
  137. package/templates/blocks/Form/Component.tsx +163 -0
  138. package/templates/blocks/Form/Country/index.tsx +65 -0
  139. package/templates/blocks/Form/Country/options.ts +982 -0
  140. package/templates/blocks/Form/Email/index.tsx +38 -0
  141. package/templates/blocks/Form/Error/index.tsx +15 -0
  142. package/templates/blocks/Form/Message/index.tsx +13 -0
  143. package/templates/blocks/Form/Number/index.tsx +36 -0
  144. package/templates/blocks/Form/Select/index.tsx +63 -0
  145. package/templates/blocks/Form/State/index.tsx +64 -0
  146. package/templates/blocks/Form/State/options.ts +52 -0
  147. package/templates/blocks/Form/Text/index.tsx +32 -0
  148. package/templates/blocks/Form/Textarea/index.tsx +40 -0
  149. package/templates/blocks/Form/Width/index.tsx +13 -0
  150. package/templates/blocks/Form/config.ts +51 -0
  151. package/templates/blocks/Form/fields.tsx +21 -0
  152. package/templates/blocks/Form/manifest.json +168 -0
  153. package/templates/blocks/MediaBlock/Component.tsx +67 -0
  154. package/templates/blocks/MediaBlock/config.ts +14 -0
  155. package/templates/blocks/MediaBlock/manifest.json +92 -0
  156. package/templates/blocks/TransitionsDustedShowcase/Component.tsx +9 -0
  157. package/templates/blocks/TransitionsDustedShowcase/config.ts +13 -0
  158. package/templates/blocks/TransitionsDustedShowcase/manifest.json +80 -0
  159. package/templates/blocks/rawHtml/Component.tsx +25 -0
  160. package/templates/blocks/rawHtml/config.ts +56 -0
  161. 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
+ }