@delmaredigital/payload-puck 0.6.10 → 0.6.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 (583) hide show
  1. package/README.md +79 -1
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +65 -25
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +43 -13
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.d.ts +1 -1
  9. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  10. package/dist/admin/PuckEditorView.js +118 -32
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/client.d.ts +2 -2
  13. package/dist/admin/client.d.ts.map +1 -1
  14. package/dist/admin/client.js +4 -4
  15. package/dist/admin/client.js.map +1 -1
  16. package/dist/admin/generateAdminComponents.js +7 -7
  17. package/dist/admin/generateAdminComponents.js.map +1 -1
  18. package/dist/admin/index.d.ts +5 -5
  19. package/dist/admin/index.d.ts.map +1 -1
  20. package/dist/admin/index.js +3 -2
  21. package/dist/admin/index.js.map +1 -1
  22. package/dist/ai/collections/AiContext.js +56 -29
  23. package/dist/ai/collections/AiContext.js.map +1 -1
  24. package/dist/ai/collections/AiPrompts.js +24 -19
  25. package/dist/ai/collections/AiPrompts.js.map +1 -1
  26. package/dist/ai/createAiApiRoutes.js +28 -19
  27. package/dist/ai/createAiApiRoutes.js.map +1 -1
  28. package/dist/ai/createAiGenerate.js +7 -8
  29. package/dist/ai/createAiGenerate.js.map +1 -1
  30. package/dist/ai/createAiPlugin.js +7 -9
  31. package/dist/ai/createAiPlugin.js.map +1 -1
  32. package/dist/ai/hooks/useAiContext.js +50 -39
  33. package/dist/ai/hooks/useAiContext.js.map +1 -1
  34. package/dist/ai/hooks/useAiPrompts.js +33 -25
  35. package/dist/ai/hooks/useAiPrompts.js.map +1 -1
  36. package/dist/ai/index.js +9 -10
  37. package/dist/ai/index.js.map +1 -1
  38. package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -1
  39. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -1
  40. package/dist/ai/plugins/ContextEditorPanel.js +399 -107
  41. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -1
  42. package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -1
  43. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -1
  44. package/dist/ai/plugins/PromptEditorPanel.js +237 -51
  45. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -1
  46. package/dist/ai/plugins/contextEditorPlugin.js +12 -5
  47. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -1
  48. package/dist/ai/plugins/promptApiRoutes.js +119 -50
  49. package/dist/ai/plugins/promptApiRoutes.js.map +1 -1
  50. package/dist/ai/plugins/promptEditorPlugin.js +12 -5
  51. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -1
  52. package/dist/ai/presets/componentAiDefaults.js +108 -83
  53. package/dist/ai/presets/componentAiDefaults.js.map +1 -1
  54. package/dist/ai/presets/index.js +12 -18
  55. package/dist/ai/presets/index.js.map +1 -1
  56. package/dist/ai/presets/instructions/interactive.js +85 -75
  57. package/dist/ai/presets/instructions/interactive.js.map +1 -1
  58. package/dist/ai/presets/instructions/layout.js +122 -117
  59. package/dist/ai/presets/instructions/layout.js.map +1 -1
  60. package/dist/ai/presets/instructions/media.js +31 -29
  61. package/dist/ai/presets/instructions/media.js.map +1 -1
  62. package/dist/ai/presets/instructions/pagePatterns.js +4 -6
  63. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -1
  64. package/dist/ai/presets/instructions/schemas.js +495 -137
  65. package/dist/ai/presets/instructions/schemas.js.map +1 -1
  66. package/dist/ai/presets/instructions/typography.js +38 -33
  67. package/dist/ai/presets/instructions/typography.js.map +1 -1
  68. package/dist/ai/tools/index.js +92 -55
  69. package/dist/ai/tools/index.js.map +1 -1
  70. package/dist/ai/types.js +7 -1
  71. package/dist/ai/types.js.map +1 -1
  72. package/dist/ai/utils/injectAiConfig.js +33 -40
  73. package/dist/ai/utils/injectAiConfig.js.map +1 -1
  74. package/dist/api/createPuckApiRoutes.d.ts +1 -1
  75. package/dist/api/createPuckApiRoutes.d.ts.map +1 -1
  76. package/dist/api/createPuckApiRoutes.js +123 -65
  77. package/dist/api/createPuckApiRoutes.js.map +1 -1
  78. package/dist/api/createPuckApiRoutesVersions.d.ts +1 -1
  79. package/dist/api/createPuckApiRoutesVersions.d.ts.map +1 -1
  80. package/dist/api/createPuckApiRoutesVersions.js +88 -37
  81. package/dist/api/createPuckApiRoutesVersions.js.map +1 -1
  82. package/dist/api/createPuckApiRoutesWithId.d.ts +1 -1
  83. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  84. package/dist/api/createPuckApiRoutesWithId.js +166 -72
  85. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  86. package/dist/api/index.d.ts +5 -5
  87. package/dist/api/index.d.ts.map +1 -1
  88. package/dist/api/index.js +6 -6
  89. package/dist/api/index.js.map +1 -1
  90. package/dist/api/payload-config.d.js +15 -0
  91. package/dist/api/payload-config.d.js.map +1 -0
  92. package/dist/api/types.js +4 -1
  93. package/dist/api/types.js.map +1 -1
  94. package/dist/api/utils/mapRootProps.d.ts +1 -1
  95. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  96. package/dist/api/utils/mapRootProps.js +77 -44
  97. package/dist/api/utils/mapRootProps.js.map +1 -1
  98. package/dist/collections/Templates.js +24 -20
  99. package/dist/collections/Templates.js.map +1 -1
  100. package/dist/components/AccordionClient.d.ts +2 -2
  101. package/dist/components/AccordionClient.d.ts.map +1 -1
  102. package/dist/components/AccordionClient.js +81 -22
  103. package/dist/components/AccordionClient.js.map +1 -1
  104. package/dist/components/AnimatedWrapper.d.ts +2 -2
  105. package/dist/components/AnimatedWrapper.d.ts.map +1 -1
  106. package/dist/components/AnimatedWrapper.js +31 -16
  107. package/dist/components/AnimatedWrapper.js.map +1 -1
  108. package/dist/components/exports.js +2 -2
  109. package/dist/components/exports.js.map +1 -1
  110. package/dist/components/index.d.ts +5 -5
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/components/index.js +7 -7
  113. package/dist/components/index.js.map +1 -1
  114. package/dist/components/interactive/Accordion.d.ts +1 -1
  115. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  116. package/dist/components/interactive/Accordion.js +149 -55
  117. package/dist/components/interactive/Accordion.js.map +1 -1
  118. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  119. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  120. package/dist/components/interactive/Accordion.server.js +25 -7
  121. package/dist/components/interactive/Accordion.server.js.map +1 -1
  122. package/dist/components/interactive/Button.d.ts +3 -3
  123. package/dist/components/interactive/Button.d.ts.map +1 -1
  124. package/dist/components/interactive/Button.js +89 -43
  125. package/dist/components/interactive/Button.js.map +1 -1
  126. package/dist/components/interactive/Button.server.d.ts +2 -2
  127. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.js +40 -20
  129. package/dist/components/interactive/Button.server.js.map +1 -1
  130. package/dist/components/interactive/Card.d.ts +3 -3
  131. package/dist/components/interactive/Card.d.ts.map +1 -1
  132. package/dist/components/interactive/Card.js +131 -39
  133. package/dist/components/interactive/Card.js.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +3 -3
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Card.server.js +72 -11
  137. package/dist/components/interactive/Card.server.js.map +1 -1
  138. package/dist/components/interactive/Divider.d.ts +1 -1
  139. package/dist/components/interactive/Divider.d.ts.map +1 -1
  140. package/dist/components/interactive/Divider.js +54 -26
  141. package/dist/components/interactive/Divider.js.map +1 -1
  142. package/dist/components/interactive/Divider.server.d.ts +1 -1
  143. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  144. package/dist/components/interactive/Divider.server.js +28 -12
  145. package/dist/components/interactive/Divider.server.js.map +1 -1
  146. package/dist/components/interactive/index.d.ts +4 -4
  147. package/dist/components/interactive/index.d.ts.map +1 -1
  148. package/dist/components/interactive/index.js +5 -5
  149. package/dist/components/interactive/index.js.map +1 -1
  150. package/dist/components/layout/Container.d.ts +1 -1
  151. package/dist/components/layout/Container.d.ts.map +1 -1
  152. package/dist/components/layout/Container.js +101 -47
  153. package/dist/components/layout/Container.js.map +1 -1
  154. package/dist/components/layout/Container.server.d.ts +1 -1
  155. package/dist/components/layout/Container.server.d.ts.map +1 -1
  156. package/dist/components/layout/Container.server.js +67 -19
  157. package/dist/components/layout/Container.server.js.map +1 -1
  158. package/dist/components/layout/Flex.d.ts +2 -2
  159. package/dist/components/layout/Flex.d.ts.map +1 -1
  160. package/dist/components/layout/Flex.js +124 -55
  161. package/dist/components/layout/Flex.js.map +1 -1
  162. package/dist/components/layout/Flex.server.d.ts +1 -1
  163. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  164. package/dist/components/layout/Flex.server.js +50 -14
  165. package/dist/components/layout/Flex.server.js.map +1 -1
  166. package/dist/components/layout/Grid.d.ts +1 -1
  167. package/dist/components/layout/Grid.d.ts.map +1 -1
  168. package/dist/components/layout/Grid.js +93 -44
  169. package/dist/components/layout/Grid.js.map +1 -1
  170. package/dist/components/layout/Grid.server.d.ts +1 -1
  171. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  172. package/dist/components/layout/Grid.server.js +56 -14
  173. package/dist/components/layout/Grid.server.js.map +1 -1
  174. package/dist/components/layout/Section.d.ts +1 -1
  175. package/dist/components/layout/Section.d.ts.map +1 -1
  176. package/dist/components/layout/Section.js +147 -64
  177. package/dist/components/layout/Section.js.map +1 -1
  178. package/dist/components/layout/Section.server.d.ts +1 -1
  179. package/dist/components/layout/Section.server.d.ts.map +1 -1
  180. package/dist/components/layout/Section.server.js +92 -28
  181. package/dist/components/layout/Section.server.js.map +1 -1
  182. package/dist/components/layout/Spacer.d.ts +1 -1
  183. package/dist/components/layout/Spacer.d.ts.map +1 -1
  184. package/dist/components/layout/Spacer.js +80 -30
  185. package/dist/components/layout/Spacer.js.map +1 -1
  186. package/dist/components/layout/Spacer.server.d.ts +1 -1
  187. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  188. package/dist/components/layout/Spacer.server.js +31 -9
  189. package/dist/components/layout/Spacer.server.js.map +1 -1
  190. package/dist/components/layout/Template.d.ts +1 -1
  191. package/dist/components/layout/Template.d.ts.map +1 -1
  192. package/dist/components/layout/Template.js +58 -30
  193. package/dist/components/layout/Template.js.map +1 -1
  194. package/dist/components/layout/Template.server.d.ts +1 -1
  195. package/dist/components/layout/Template.server.d.ts.map +1 -1
  196. package/dist/components/layout/Template.server.js +43 -11
  197. package/dist/components/layout/Template.server.js.map +1 -1
  198. package/dist/components/layout/index.d.ts +8 -8
  199. package/dist/components/layout/index.d.ts.map +1 -1
  200. package/dist/components/layout/index.js +8 -8
  201. package/dist/components/layout/index.js.map +1 -1
  202. package/dist/components/media/Image.d.ts +3 -3
  203. package/dist/components/media/Image.d.ts.map +1 -1
  204. package/dist/components/media/Image.js +122 -39
  205. package/dist/components/media/Image.js.map +1 -1
  206. package/dist/components/media/Image.server.d.ts +3 -3
  207. package/dist/components/media/Image.server.d.ts.map +1 -1
  208. package/dist/components/media/Image.server.js +76 -13
  209. package/dist/components/media/Image.server.js.map +1 -1
  210. package/dist/components/media/index.d.ts +1 -1
  211. package/dist/components/media/index.d.ts.map +1 -1
  212. package/dist/components/media/index.js +2 -2
  213. package/dist/components/media/index.js.map +1 -1
  214. package/dist/components/typography/Heading.d.ts +2 -2
  215. package/dist/components/typography/Heading.d.ts.map +1 -1
  216. package/dist/components/typography/Heading.js +45 -25
  217. package/dist/components/typography/Heading.js.map +1 -1
  218. package/dist/components/typography/Heading.server.d.ts +2 -2
  219. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  220. package/dist/components/typography/Heading.server.js +16 -10
  221. package/dist/components/typography/Heading.server.js.map +1 -1
  222. package/dist/components/typography/RichText.editor.d.ts +1 -1
  223. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  224. package/dist/components/typography/RichText.editor.js +44 -19
  225. package/dist/components/typography/RichText.editor.js.map +1 -1
  226. package/dist/components/typography/RichText.server.d.ts +2 -2
  227. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  228. package/dist/components/typography/RichText.server.js +33 -14
  229. package/dist/components/typography/RichText.server.js.map +1 -1
  230. package/dist/components/typography/Text.d.ts +2 -2
  231. package/dist/components/typography/Text.d.ts.map +1 -1
  232. package/dist/components/typography/Text.js +49 -23
  233. package/dist/components/typography/Text.js.map +1 -1
  234. package/dist/components/typography/Text.server.d.ts +2 -2
  235. package/dist/components/typography/Text.server.d.ts.map +1 -1
  236. package/dist/components/typography/Text.server.js +21 -8
  237. package/dist/components/typography/Text.server.js.map +1 -1
  238. package/dist/components/typography/index.d.ts +4 -4
  239. package/dist/components/typography/index.d.ts.map +1 -1
  240. package/dist/components/typography/index.js +5 -5
  241. package/dist/components/typography/index.js.map +1 -1
  242. package/dist/config/config.editor.d.ts +3 -3
  243. package/dist/config/config.editor.d.ts.map +1 -1
  244. package/dist/config/config.editor.js +119 -54
  245. package/dist/config/config.editor.js.map +1 -1
  246. package/dist/config/index.d.ts +4 -4
  247. package/dist/config/index.d.ts.map +1 -1
  248. package/dist/config/index.js +62 -35
  249. package/dist/config/index.js.map +1 -1
  250. package/dist/config/merge.d.ts +1 -1
  251. package/dist/config/merge.d.ts.map +1 -1
  252. package/dist/config/merge.js +23 -26
  253. package/dist/config/merge.js.map +1 -1
  254. package/dist/config/presets.d.ts +4 -4
  255. package/dist/config/presets.js +195 -75
  256. package/dist/config/presets.js.map +1 -1
  257. package/dist/config/types.js +6 -2
  258. package/dist/config/types.js.map +1 -1
  259. package/dist/editor/PuckEditor.d.ts +12 -4
  260. package/dist/editor/PuckEditor.d.ts.map +1 -1
  261. package/dist/editor/PuckEditor.js +168 -67
  262. package/dist/editor/PuckEditor.js.map +1 -1
  263. package/dist/editor/PuckEditorImpl.client.d.ts +4 -4
  264. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  265. package/dist/editor/PuckEditorImpl.client.js +304 -152
  266. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  267. package/dist/editor/components/DarkModeStyles.js +11 -12
  268. package/dist/editor/components/DarkModeStyles.js.map +1 -1
  269. package/dist/editor/components/HeaderActions.js +308 -64
  270. package/dist/editor/components/HeaderActions.js.map +1 -1
  271. package/dist/editor/components/IframeWrapper.d.ts +1 -1
  272. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  273. package/dist/editor/components/IframeWrapper.js +82 -58
  274. package/dist/editor/components/IframeWrapper.js.map +1 -1
  275. package/dist/editor/components/LoadingState.d.ts +1 -1
  276. package/dist/editor/components/LoadingState.d.ts.map +1 -1
  277. package/dist/editor/components/LoadingState.js +17 -3
  278. package/dist/editor/components/LoadingState.js.map +1 -1
  279. package/dist/editor/components/PreviewModal.js +234 -78
  280. package/dist/editor/components/PreviewModal.js.map +1 -1
  281. package/dist/editor/components/PreviewModeToggle.js +43 -15
  282. package/dist/editor/components/PreviewModeToggle.js.map +1 -1
  283. package/dist/editor/components/VersionHistory.js +219 -71
  284. package/dist/editor/components/VersionHistory.js.map +1 -1
  285. package/dist/editor/hooks/useDarkMode.js +36 -23
  286. package/dist/editor/hooks/useDarkMode.js.map +1 -1
  287. package/dist/editor/hooks/useUnsavedChanges.js +8 -8
  288. package/dist/editor/hooks/useUnsavedChanges.js.map +1 -1
  289. package/dist/editor/index.js +5 -6
  290. package/dist/editor/index.js.map +1 -1
  291. package/dist/editor/plugins/VersionHistoryPanel.js +236 -75
  292. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -1
  293. package/dist/editor/plugins/index.js +4 -4
  294. package/dist/editor/plugins/index.js.map +1 -1
  295. package/dist/editor/plugins/versionHistoryPlugin.js +10 -8
  296. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -1
  297. package/dist/editor/utils/detectPageTree.js +5 -5
  298. package/dist/editor/utils/detectPageTree.js.map +1 -1
  299. package/dist/editor/utils/index.js +1 -0
  300. package/dist/editor/utils/index.js.map +1 -1
  301. package/dist/editor/utils/injectPageTreeFields.js +13 -9
  302. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  303. package/dist/endpoints/ai.js +58 -34
  304. package/dist/endpoints/ai.js.map +1 -1
  305. package/dist/endpoints/context.js +86 -40
  306. package/dist/endpoints/context.js.map +1 -1
  307. package/dist/endpoints/index.js +153 -76
  308. package/dist/endpoints/index.js.map +1 -1
  309. package/dist/endpoints/postcss.d.js +5 -0
  310. package/dist/endpoints/postcss.d.js.map +1 -0
  311. package/dist/endpoints/prompts.js +81 -39
  312. package/dist/endpoints/prompts.js.map +1 -1
  313. package/dist/endpoints/styles.js +34 -36
  314. package/dist/endpoints/styles.js.map +1 -1
  315. package/dist/exports/client.js +2 -2
  316. package/dist/exports/client.js.map +1 -1
  317. package/dist/exports/rsc.js +2 -2
  318. package/dist/exports/rsc.js.map +1 -1
  319. package/dist/fields/AlignmentField.d.ts +1 -1
  320. package/dist/fields/AlignmentField.d.ts.map +1 -1
  321. package/dist/fields/AlignmentField.js +93 -30
  322. package/dist/fields/AlignmentField.js.map +1 -1
  323. package/dist/fields/AnimationField.d.ts +2 -2
  324. package/dist/fields/AnimationField.d.ts.map +1 -1
  325. package/dist/fields/AnimationField.js +558 -84
  326. package/dist/fields/AnimationField.js.map +1 -1
  327. package/dist/fields/BackgroundField.d.ts +2 -2
  328. package/dist/fields/BackgroundField.d.ts.map +1 -1
  329. package/dist/fields/BackgroundField.js +754 -120
  330. package/dist/fields/BackgroundField.js.map +1 -1
  331. package/dist/fields/BorderField.d.ts +2 -2
  332. package/dist/fields/BorderField.d.ts.map +1 -1
  333. package/dist/fields/BorderField.js +275 -73
  334. package/dist/fields/BorderField.js.map +1 -1
  335. package/dist/fields/ColorPickerField.d.ts +2 -2
  336. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  337. package/dist/fields/ColorPickerField.js +210 -68
  338. package/dist/fields/ColorPickerField.js.map +1 -1
  339. package/dist/fields/ContentAlignmentField.d.ts +1 -1
  340. package/dist/fields/ContentAlignmentField.d.ts.map +1 -1
  341. package/dist/fields/ContentAlignmentField.js +161 -75
  342. package/dist/fields/ContentAlignmentField.js.map +1 -1
  343. package/dist/fields/DimensionsField.d.ts +2 -2
  344. package/dist/fields/DimensionsField.d.ts.map +1 -1
  345. package/dist/fields/DimensionsField.js +575 -146
  346. package/dist/fields/DimensionsField.js.map +1 -1
  347. package/dist/fields/FlexAlignmentField.d.ts +2 -2
  348. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  349. package/dist/fields/FlexAlignmentField.js +189 -51
  350. package/dist/fields/FlexAlignmentField.js.map +1 -1
  351. package/dist/fields/FolderPickerField.d.ts +8 -1
  352. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  353. package/dist/fields/FolderPickerField.js +288 -75
  354. package/dist/fields/FolderPickerField.js.map +1 -1
  355. package/dist/fields/GradientEditor.d.ts +2 -2
  356. package/dist/fields/GradientEditor.d.ts.map +1 -1
  357. package/dist/fields/GradientEditor.js +462 -86
  358. package/dist/fields/GradientEditor.js.map +1 -1
  359. package/dist/fields/LockedField.d.ts +15 -2
  360. package/dist/fields/LockedField.d.ts.map +1 -1
  361. package/dist/fields/LockedField.js +180 -49
  362. package/dist/fields/LockedField.js.map +1 -1
  363. package/dist/fields/MarginField.d.ts +2 -2
  364. package/dist/fields/MarginField.d.ts.map +1 -1
  365. package/dist/fields/MarginField.js +144 -46
  366. package/dist/fields/MarginField.js.map +1 -1
  367. package/dist/fields/MediaField.d.ts +1 -1
  368. package/dist/fields/MediaField.d.ts.map +1 -1
  369. package/dist/fields/MediaField.js +688 -186
  370. package/dist/fields/MediaField.js.map +1 -1
  371. package/dist/fields/PaddingField.d.ts +2 -2
  372. package/dist/fields/PaddingField.d.ts.map +1 -1
  373. package/dist/fields/PaddingField.js +144 -46
  374. package/dist/fields/PaddingField.js.map +1 -1
  375. package/dist/fields/PageSegmentField.d.ts +15 -2
  376. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  377. package/dist/fields/PageSegmentField.js +156 -54
  378. package/dist/fields/PageSegmentField.js.map +1 -1
  379. package/dist/fields/ResetField.d.ts +1 -1
  380. package/dist/fields/ResetField.d.ts.map +1 -1
  381. package/dist/fields/ResetField.js +59 -31
  382. package/dist/fields/ResetField.js.map +1 -1
  383. package/dist/fields/ResponsiveField.d.ts +1 -1
  384. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  385. package/dist/fields/ResponsiveField.js +233 -90
  386. package/dist/fields/ResponsiveField.js.map +1 -1
  387. package/dist/fields/ResponsiveVisibilityField.d.ts +2 -2
  388. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  389. package/dist/fields/ResponsiveVisibilityField.js +119 -36
  390. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  391. package/dist/fields/SizeField.d.ts +3 -3
  392. package/dist/fields/SizeField.d.ts.map +1 -1
  393. package/dist/fields/SizeField.js +226 -52
  394. package/dist/fields/SizeField.js.map +1 -1
  395. package/dist/fields/SlugPreviewField.d.ts +8 -1
  396. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  397. package/dist/fields/SlugPreviewField.js +65 -16
  398. package/dist/fields/SlugPreviewField.js.map +1 -1
  399. package/dist/fields/TemplateField.d.ts +1 -1
  400. package/dist/fields/TemplateField.d.ts.map +1 -1
  401. package/dist/fields/TemplateField.js +362 -120
  402. package/dist/fields/TemplateField.js.map +1 -1
  403. package/dist/fields/TransformField.d.ts +2 -2
  404. package/dist/fields/TransformField.d.ts.map +1 -1
  405. package/dist/fields/TransformField.js +517 -81
  406. package/dist/fields/TransformField.js.map +1 -1
  407. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  408. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  409. package/dist/fields/VerticalAlignmentField.js +93 -30
  410. package/dist/fields/VerticalAlignmentField.js.map +1 -1
  411. package/dist/fields/WidthField.d.ts +2 -2
  412. package/dist/fields/WidthField.d.ts.map +1 -1
  413. package/dist/fields/WidthField.js +278 -81
  414. package/dist/fields/WidthField.js.map +1 -1
  415. package/dist/fields/index.d.ts +41 -41
  416. package/dist/fields/index.d.ts.map +1 -1
  417. package/dist/fields/index.js +37 -43
  418. package/dist/fields/index.js.map +1 -1
  419. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -2
  420. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
  421. package/dist/fields/richtext/controls/ColorPickerControl.js +212 -47
  422. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
  423. package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -2
  424. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -1
  425. package/dist/fields/richtext/controls/DropdownPortal.js +36 -4
  426. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -1
  427. package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -1
  428. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
  429. package/dist/fields/richtext/controls/FontSizeControl.js +109 -24
  430. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
  431. package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -1
  432. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
  433. package/dist/fields/richtext/controls/HighlightControl.js +54 -17
  434. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
  435. package/dist/fields/richtext/controls/index.d.ts +5 -5
  436. package/dist/fields/richtext/controls/index.d.ts.map +1 -1
  437. package/dist/fields/richtext/controls/index.js +8 -11
  438. package/dist/fields/richtext/controls/index.js.map +1 -1
  439. package/dist/fields/richtext/controls/shared.js +108 -63
  440. package/dist/fields/richtext/controls/shared.js.map +1 -1
  441. package/dist/fields/richtext/createRichTextField.d.ts +18 -4
  442. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -1
  443. package/dist/fields/richtext/createRichTextField.js +113 -26
  444. package/dist/fields/richtext/createRichTextField.js.map +1 -1
  445. package/dist/fields/richtext/extensions/FontSize.js +26 -20
  446. package/dist/fields/richtext/extensions/FontSize.js.map +1 -1
  447. package/dist/fields/richtext/extensions/index.d.ts +1 -1
  448. package/dist/fields/richtext/extensions/index.d.ts.map +1 -1
  449. package/dist/fields/richtext/extensions/index.js +2 -2
  450. package/dist/fields/richtext/extensions/index.js.map +1 -1
  451. package/dist/fields/richtext/index.d.ts +6 -6
  452. package/dist/fields/richtext/index.d.ts.map +1 -1
  453. package/dist/fields/richtext/index.js +8 -8
  454. package/dist/fields/richtext/index.js.map +1 -1
  455. package/dist/fields/shared.d.ts +1 -1
  456. package/dist/fields/shared.d.ts.map +1 -1
  457. package/dist/fields/shared.js +915 -478
  458. package/dist/fields/shared.js.map +1 -1
  459. package/dist/hooks/index.d.ts +2 -2
  460. package/dist/hooks/index.d.ts.map +1 -1
  461. package/dist/hooks/index.js +3 -3
  462. package/dist/hooks/index.js.map +1 -1
  463. package/dist/hooks/useResponsiveStyles.d.ts +1 -1
  464. package/dist/hooks/useResponsiveStyles.d.ts.map +1 -1
  465. package/dist/hooks/useResponsiveStyles.js +36 -32
  466. package/dist/hooks/useResponsiveStyles.js.map +1 -1
  467. package/dist/hooks/useScrollAnimation.js +26 -24
  468. package/dist/hooks/useScrollAnimation.js.map +1 -1
  469. package/dist/index.d.ts +4 -4
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +5 -5
  472. package/dist/index.js.map +1 -1
  473. package/dist/layouts/LayoutWrapper.d.ts +3 -3
  474. package/dist/layouts/LayoutWrapper.d.ts.map +1 -1
  475. package/dist/layouts/LayoutWrapper.js +115 -51
  476. package/dist/layouts/LayoutWrapper.js.map +1 -1
  477. package/dist/layouts/defaults.d.ts +1 -1
  478. package/dist/layouts/defaults.d.ts.map +1 -1
  479. package/dist/layouts/defaults.js +23 -31
  480. package/dist/layouts/defaults.js.map +1 -1
  481. package/dist/layouts/index.d.ts +4 -4
  482. package/dist/layouts/index.d.ts.map +1 -1
  483. package/dist/layouts/index.js +5 -4
  484. package/dist/layouts/index.js.map +1 -1
  485. package/dist/layouts/types.js +4 -2
  486. package/dist/layouts/types.js.map +1 -1
  487. package/dist/layouts/utils.d.ts +1 -1
  488. package/dist/layouts/utils.d.ts.map +1 -1
  489. package/dist/layouts/utils.js +32 -40
  490. package/dist/layouts/utils.js.map +1 -1
  491. package/dist/next/index.js +31 -34
  492. package/dist/next/index.js.map +1 -1
  493. package/dist/plugin/collections/Pages.d.ts +2 -2
  494. package/dist/plugin/collections/Pages.d.ts.map +1 -1
  495. package/dist/plugin/collections/Pages.js +46 -43
  496. package/dist/plugin/collections/Pages.js.map +1 -1
  497. package/dist/plugin/fields/index.d.ts +3 -3
  498. package/dist/plugin/fields/index.d.ts.map +1 -1
  499. package/dist/plugin/fields/index.js +100 -78
  500. package/dist/plugin/fields/index.js.map +1 -1
  501. package/dist/plugin/fields/types.d.ts +1 -1
  502. package/dist/plugin/fields/types.d.ts.map +1 -1
  503. package/dist/plugin/fields/types.js +26 -2
  504. package/dist/plugin/fields/types.js.map +1 -1
  505. package/dist/plugin/hooks/index.d.ts +1 -1
  506. package/dist/plugin/hooks/index.d.ts.map +1 -1
  507. package/dist/plugin/hooks/index.js +2 -2
  508. package/dist/plugin/hooks/index.js.map +1 -1
  509. package/dist/plugin/hooks/isHomepageUnique.js +28 -19
  510. package/dist/plugin/hooks/isHomepageUnique.js.map +1 -1
  511. package/dist/plugin/index.d.ts +8 -8
  512. package/dist/plugin/index.d.ts.map +1 -1
  513. package/dist/plugin/index.js +192 -188
  514. package/dist/plugin/index.js.map +1 -1
  515. package/dist/render/HybridPageRenderer.d.ts +2 -2
  516. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  517. package/dist/render/HybridPageRenderer.js +58 -10
  518. package/dist/render/HybridPageRenderer.js.map +1 -1
  519. package/dist/render/PageRenderer.d.ts +2 -2
  520. package/dist/render/PageRenderer.d.ts.map +1 -1
  521. package/dist/render/PageRenderer.js +31 -14
  522. package/dist/render/PageRenderer.js.map +1 -1
  523. package/dist/render/PuckEditor.client.d.ts +1 -1
  524. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  525. package/dist/render/PuckEditor.client.js +33 -16
  526. package/dist/render/PuckEditor.client.js.map +1 -1
  527. package/dist/render/index.d.ts +5 -5
  528. package/dist/render/index.d.ts.map +1 -1
  529. package/dist/render/index.js +5 -6
  530. package/dist/render/index.js.map +1 -1
  531. package/dist/styles/puck-dark-mode.css +101 -0
  532. package/dist/theme/context.d.ts +2 -2
  533. package/dist/theme/context.d.ts.map +1 -1
  534. package/dist/theme/context.js +21 -18
  535. package/dist/theme/context.js.map +1 -1
  536. package/dist/theme/defaults.d.ts +1 -1
  537. package/dist/theme/defaults.d.ts.map +1 -1
  538. package/dist/theme/defaults.js +83 -37
  539. package/dist/theme/defaults.js.map +1 -1
  540. package/dist/theme/example.d.ts +1 -1
  541. package/dist/theme/example.d.ts.map +1 -1
  542. package/dist/theme/example.js +68 -30
  543. package/dist/theme/example.js.map +1 -1
  544. package/dist/theme/index.d.ts +5 -5
  545. package/dist/theme/index.d.ts.map +1 -1
  546. package/dist/theme/index.js +6 -5
  547. package/dist/theme/index.js.map +1 -1
  548. package/dist/theme/types.js +6 -2
  549. package/dist/theme/types.js.map +1 -1
  550. package/dist/theme/utils.d.ts +1 -1
  551. package/dist/theme/utils.d.ts.map +1 -1
  552. package/dist/theme/utils.js +24 -25
  553. package/dist/theme/utils.js.map +1 -1
  554. package/dist/types/index.d.ts +42 -6
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js +3 -1
  557. package/dist/types/index.js.map +1 -1
  558. package/dist/utils/index.d.ts +2 -2
  559. package/dist/utils/index.d.ts.map +1 -1
  560. package/dist/utils/index.js +13 -22
  561. package/dist/utils/index.js.map +1 -1
  562. package/dist/utils/migration.d.ts +1 -1
  563. package/dist/utils/migration.d.ts.map +1 -1
  564. package/dist/utils/migration.js +43 -49
  565. package/dist/utils/migration.js.map +1 -1
  566. package/dist/utils/validation.d.ts +1 -1
  567. package/dist/utils/validation.d.ts.map +1 -1
  568. package/dist/utils/validation.js +36 -43
  569. package/dist/utils/validation.js.map +1 -1
  570. package/dist/version.d.ts +1 -1
  571. package/dist/version.js +2 -1
  572. package/dist/version.js.map +1 -1
  573. package/dist/views/PuckConfigContext.d.ts +1 -1
  574. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  575. package/dist/views/PuckConfigContext.js +25 -10
  576. package/dist/views/PuckConfigContext.js.map +1 -1
  577. package/dist/views/PuckEditorView.d.ts +1 -1
  578. package/dist/views/PuckEditorView.d.ts.map +1 -1
  579. package/dist/views/PuckEditorView.js +137 -41
  580. package/dist/views/PuckEditorView.js.map +1 -1
  581. package/dist/views/index.js +2 -2
  582. package/dist/views/index.js.map +1 -1
  583. package/package.json +62 -42
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Puck Editor Dark Mode CSS Overrides
3
+ *
4
+ * This file overrides Puck's default light mode CSS variables when the `.dark` class
5
+ * is present on a parent element. PayloadCMS adds this class to <html> in dark mode.
6
+ *
7
+ * Puck uses a grey scale from grey-01 (darkest) to grey-12 (lightest) in light mode.
8
+ * For dark mode, we invert this scale so the UI remains readable.
9
+ */
10
+
11
+ .dark {
12
+ /* Invert grey scale for dark mode */
13
+ /* Light mode: grey-01 = #181818 (darkest), grey-12 = #fafafa (lightest) */
14
+ /* Dark mode: invert so backgrounds are dark and text is light */
15
+ --puck-color-grey-01: #fafafa;
16
+ --puck-color-grey-02: #f5f5f5;
17
+ --puck-color-grey-03: #efefef;
18
+ --puck-color-grey-04: #e8e8e8;
19
+ --puck-color-grey-05: #d4d4d4;
20
+ --puck-color-grey-06: #b3b3b3;
21
+ --puck-color-grey-07: #8f8f8f;
22
+ --puck-color-grey-08: #6b6b6b;
23
+ --puck-color-grey-09: #525252;
24
+ --puck-color-grey-10: #3d3d3d;
25
+ --puck-color-grey-11: #272727;
26
+ --puck-color-grey-12: #181818;
27
+
28
+ /* Swap white/black */
29
+ --puck-color-white: #1a1a1a;
30
+ --puck-color-black: #ffffff;
31
+
32
+ /* Azure (primary blue) - adjust for dark mode contrast */
33
+ --puck-color-azure-01: #e0f2ff;
34
+ --puck-color-azure-02: #c4e5ff;
35
+ --puck-color-azure-03: #99d4ff;
36
+ --puck-color-azure-04: #66c2ff;
37
+ --puck-color-azure-05: #33b0ff;
38
+ --puck-color-azure-06: #009dff;
39
+ --puck-color-azure-07: #0080d9;
40
+ --puck-color-azure-08: #0066b3;
41
+ --puck-color-azure-09: #004d8c;
42
+ --puck-color-azure-10: #003366;
43
+ --puck-color-azure-11: #001a40;
44
+ --puck-color-azure-12: #00101a;
45
+
46
+ /* Rose (pink/red accents) */
47
+ --puck-color-rose-01: #ffe0f0;
48
+ --puck-color-rose-02: #ffc4e3;
49
+ --puck-color-rose-03: #ff99cf;
50
+ --puck-color-rose-04: #ff66b8;
51
+ --puck-color-rose-05: #ff33a1;
52
+ --puck-color-rose-06: #ff008a;
53
+ --puck-color-rose-07: #d90075;
54
+ --puck-color-rose-08: #b30061;
55
+ --puck-color-rose-09: #8c004d;
56
+ --puck-color-rose-10: #660038;
57
+ --puck-color-rose-11: #400024;
58
+ --puck-color-rose-12: #1a000f;
59
+
60
+ /* Green (success states) */
61
+ --puck-color-green-01: #e0ffe0;
62
+ --puck-color-green-02: #c4ffc4;
63
+ --puck-color-green-03: #99ff99;
64
+ --puck-color-green-04: #66ff66;
65
+ --puck-color-green-05: #33ff33;
66
+ --puck-color-green-06: #00e600;
67
+ --puck-color-green-07: #00c400;
68
+ --puck-color-green-08: #00a300;
69
+ --puck-color-green-09: #008200;
70
+ --puck-color-green-10: #006100;
71
+ --puck-color-green-11: #004000;
72
+ --puck-color-green-12: #001a00;
73
+
74
+ /* Yellow (warning states) */
75
+ --puck-color-yellow-01: #fffde0;
76
+ --puck-color-yellow-02: #fffbc4;
77
+ --puck-color-yellow-03: #fff899;
78
+ --puck-color-yellow-04: #fff566;
79
+ --puck-color-yellow-05: #fff233;
80
+ --puck-color-yellow-06: #e6d900;
81
+ --puck-color-yellow-07: #c4b800;
82
+ --puck-color-yellow-08: #a39800;
83
+ --puck-color-yellow-09: #827800;
84
+ --puck-color-yellow-10: #615800;
85
+ --puck-color-yellow-11: #403900;
86
+ --puck-color-yellow-12: #1a1700;
87
+
88
+ /* Red (error states) */
89
+ --puck-color-red-01: #ffe0e0;
90
+ --puck-color-red-02: #ffc4c4;
91
+ --puck-color-red-03: #ff9999;
92
+ --puck-color-red-04: #ff6666;
93
+ --puck-color-red-05: #ff3333;
94
+ --puck-color-red-06: #e60000;
95
+ --puck-color-red-07: #c40000;
96
+ --puck-color-red-08: #a30000;
97
+ --puck-color-red-09: #820000;
98
+ --puck-color-red-10: #610000;
99
+ --puck-color-red-11: #400000;
100
+ --puck-color-red-12: #1a0000;
101
+ }
@@ -6,7 +6,7 @@
6
6
  * ensuring backwards compatibility.
7
7
  */
8
8
  import { type ReactNode } from 'react';
9
- import type { ThemeConfig, ResolvedTheme } from './types';
9
+ import type { ThemeConfig, ResolvedTheme } from './types.js';
10
10
  export interface ThemeProviderProps {
11
11
  children: ReactNode;
12
12
  /** Theme configuration to apply */
@@ -26,7 +26,7 @@ export interface ThemeProviderProps {
26
26
  * </ThemeProvider>
27
27
  * ```
28
28
  */
29
- export declare function ThemeProvider({ children, theme }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function ThemeProvider({ children, theme }: ThemeProviderProps): import("react").JSX.Element;
30
30
  /**
31
31
  * Hook to access the current theme
32
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/theme/context.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAqB,aAAa,EAAE,MAAM,SAAS,CAAA;AAM5E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB,mCAAmC;IACnC,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAWpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,IAAI,aAAa,CAIxC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/theme/context.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAqB,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB,mCAAmC;IACnC,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB,+BAWpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,IAAI,aAAa,CAIxC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C"}
@@ -6,11 +6,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  * React context for distributing theme configuration to Puck components.
7
7
  * The useTheme() hook returns defaults when no provider is present,
8
8
  * ensuring backwards compatibility.
9
- */
10
- import { createContext, useContext, useMemo } from 'react';
11
- import { DEFAULT_THEME } from './defaults';
12
- import { resolveTheme } from './utils';
13
- const ThemeContext = createContext(null);
9
+ */ import { createContext, useContext, useMemo } from 'react';
10
+ import { DEFAULT_THEME } from './defaults.js';
11
+ import { resolveTheme } from './utils.js';
12
+ const ThemeContext = /*#__PURE__*/ createContext(null);
14
13
  /**
15
14
  * Provides theme configuration to descendant Puck components
16
15
  *
@@ -24,13 +23,19 @@ const ThemeContext = createContext(null);
24
23
  * <PageRenderer data={data} />
25
24
  * </ThemeProvider>
26
25
  * ```
27
- */
28
- export function ThemeProvider({ children, theme }) {
29
- const resolvedTheme = useMemo(() => resolveTheme(theme), [theme]);
30
- const value = useMemo(() => ({
31
- theme: resolvedTheme,
32
- }), [resolvedTheme]);
33
- return _jsx(ThemeContext.Provider, { value: value, children: children });
26
+ */ export function ThemeProvider({ children, theme }) {
27
+ const resolvedTheme = useMemo(()=>resolveTheme(theme), [
28
+ theme
29
+ ]);
30
+ const value = useMemo(()=>({
31
+ theme: resolvedTheme
32
+ }), [
33
+ resolvedTheme
34
+ ]);
35
+ return /*#__PURE__*/ _jsx(ThemeContext.Provider, {
36
+ value: value,
37
+ children: children
38
+ });
34
39
  }
35
40
  /**
36
41
  * Hook to access the current theme
@@ -46,8 +51,7 @@ export function ThemeProvider({ children, theme }) {
46
51
  * return <button className={buttonClasses}>Click me</button>
47
52
  * }
48
53
  * ```
49
- */
50
- export function useTheme() {
54
+ */ export function useTheme() {
51
55
  const context = useContext(ThemeContext);
52
56
  // Return defaults if no provider - ensures backwards compatibility
53
57
  return context?.theme ?? DEFAULT_THEME;
@@ -57,17 +61,16 @@ export function useTheme() {
57
61
  *
58
62
  * Use this when you need theme values in a server component
59
63
  * where hooks cannot be used.
60
- */
61
- export function getDefaultTheme() {
64
+ */ export function getDefaultTheme() {
62
65
  return DEFAULT_THEME;
63
66
  }
64
67
  /**
65
68
  * Hook to check if a ThemeProvider is present
66
69
  *
67
70
  * Useful for conditional logic based on whether theming is configured.
68
- */
69
- export function useHasThemeProvider() {
71
+ */ export function useHasThemeProvider() {
70
72
  const context = useContext(ThemeContext);
71
73
  return context !== null;
72
74
  }
75
+
73
76
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/theme/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;AAQlE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAsB;IACnE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEjE,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,EAAE,aAAa;KACrB,CAAC,EACF,CAAC,aAAa,CAAC,CAChB,CAAA;IAED,OAAO,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CAAA;AAChF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACxC,mEAAmE;IACnE,OAAO,OAAO,EAAE,KAAK,IAAI,aAAa,CAAA;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACxC,OAAO,OAAO,KAAK,IAAI,CAAA;AACzB,CAAC"}
1
+ {"version":3,"sources":["../../src/theme/context.tsx"],"sourcesContent":["'use client'\n\n/**\n * Theme Context\n *\n * React context for distributing theme configuration to Puck components.\n * The useTheme() hook returns defaults when no provider is present,\n * ensuring backwards compatibility.\n */\n\nimport { createContext, useContext, useMemo, type ReactNode } from 'react'\nimport type { ThemeConfig, ThemeContextValue, ResolvedTheme } from './types.js'\nimport { DEFAULT_THEME } from './defaults.js'\nimport { resolveTheme } from './utils.js'\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null)\n\nexport interface ThemeProviderProps {\n children: ReactNode\n /** Theme configuration to apply */\n theme?: ThemeConfig\n}\n\n/**\n * Provides theme configuration to descendant Puck components\n *\n * @example\n * ```tsx\n * <ThemeProvider theme={{\n * buttonVariants: {\n * default: { classes: 'bg-primary text-white hover:bg-primary/90' }\n * }\n * }}>\n * <PageRenderer data={data} />\n * </ThemeProvider>\n * ```\n */\nexport function ThemeProvider({ children, theme }: ThemeProviderProps) {\n const resolvedTheme = useMemo(() => resolveTheme(theme), [theme])\n\n const value = useMemo<ThemeContextValue>(\n () => ({\n theme: resolvedTheme,\n }),\n [resolvedTheme]\n )\n\n return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n}\n\n/**\n * Hook to access the current theme\n *\n * Returns DEFAULT_THEME if no ThemeProvider is present,\n * ensuring components work standalone for backwards compatibility.\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const theme = useTheme()\n * const buttonClasses = getVariantClasses(theme.buttonVariants, 'primary')\n * return <button className={buttonClasses}>Click me</button>\n * }\n * ```\n */\nexport function useTheme(): ResolvedTheme {\n const context = useContext(ThemeContext)\n // Return defaults if no provider - ensures backwards compatibility\n return context?.theme ?? DEFAULT_THEME\n}\n\n/**\n * Gets the default theme for server components\n *\n * Use this when you need theme values in a server component\n * where hooks cannot be used.\n */\nexport function getDefaultTheme(): ResolvedTheme {\n return DEFAULT_THEME\n}\n\n/**\n * Hook to check if a ThemeProvider is present\n *\n * Useful for conditional logic based on whether theming is configured.\n */\nexport function useHasThemeProvider(): boolean {\n const context = useContext(ThemeContext)\n return context !== null\n}\n"],"names":["createContext","useContext","useMemo","DEFAULT_THEME","resolveTheme","ThemeContext","ThemeProvider","children","theme","resolvedTheme","value","Provider","useTheme","context","getDefaultTheme","useHasThemeProvider"],"mappings":"AAAA;;AAEA;;;;;;CAMC,GAED,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAwB,QAAO;AAE1E,SAASC,aAAa,QAAQ,gBAAe;AAC7C,SAASC,YAAY,QAAQ,aAAY;AAEzC,MAAMC,6BAAeL,cAAwC;AAQ7D;;;;;;;;;;;;;CAaC,GACD,OAAO,SAASM,cAAc,EAAEC,QAAQ,EAAEC,KAAK,EAAsB;IACnE,MAAMC,gBAAgBP,QAAQ,IAAME,aAAaI,QAAQ;QAACA;KAAM;IAEhE,MAAME,QAAQR,QACZ,IAAO,CAAA;YACLM,OAAOC;QACT,CAAA,GACA;QAACA;KAAc;IAGjB,qBAAO,KAACJ,aAAaM,QAAQ;QAACD,OAAOA;kBAAQH;;AAC/C;AAEA;;;;;;;;;;;;;;CAcC,GACD,OAAO,SAASK;IACd,MAAMC,UAAUZ,WAAWI;IAC3B,mEAAmE;IACnE,OAAOQ,SAASL,SAASL;AAC3B;AAEA;;;;;CAKC,GACD,OAAO,SAASW;IACd,OAAOX;AACT;AAEA;;;;CAIC,GACD,OAAO,SAASY;IACd,MAAMF,UAAUZ,WAAWI;IAC3B,OAAOQ,YAAY;AACrB"}
@@ -4,7 +4,7 @@
4
4
  * These defaults ensure backwards compatibility - components render
5
5
  * identically to before theming was introduced when no theme is provided.
6
6
  */
7
- import type { ButtonVariantStyles, BackgroundStyles, ColorPreset, ResolvedTheme } from './types';
7
+ import type { ButtonVariantStyles, BackgroundStyles, ColorPreset, ResolvedTheme } from './types.js';
8
8
  /**
9
9
  * Default button variant styles
10
10
  * Uses semantic Tailwind classes that map to CSS variables (--primary, --secondary, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/theme/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAOrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,mBAMzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAI3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAW9C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAM3B,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/theme/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAA;AAEnB;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAOrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,mBAMzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAI3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAW9C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAM3B,CAAA"}
@@ -3,70 +3,116 @@
3
3
  *
4
4
  * These defaults ensure backwards compatibility - components render
5
5
  * identically to before theming was introduced when no theme is provided.
6
- */
7
- /**
6
+ */ /**
8
7
  * Default button variant styles
9
8
  * Uses semantic Tailwind classes that map to CSS variables (--primary, --secondary, etc.)
10
9
  * This allows consuming apps to customize colors via their theme CSS variables.
11
- */
12
- export const DEFAULT_BUTTON_VARIANTS = {
13
- default: { classes: 'bg-primary text-primary-foreground hover:bg-primary/90' },
14
- secondary: { classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80' },
15
- outline: { classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground' },
16
- ghost: { classes: 'bg-transparent hover:bg-accent hover:text-accent-foreground' },
17
- destructive: { classes: 'bg-destructive text-destructive-foreground hover:bg-destructive/90' },
18
- link: { classes: 'text-primary underline-offset-4 hover:underline bg-transparent' },
10
+ */ export const DEFAULT_BUTTON_VARIANTS = {
11
+ default: {
12
+ classes: 'bg-primary text-primary-foreground hover:bg-primary/90'
13
+ },
14
+ secondary: {
15
+ classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80'
16
+ },
17
+ outline: {
18
+ classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground'
19
+ },
20
+ ghost: {
21
+ classes: 'bg-transparent hover:bg-accent hover:text-accent-foreground'
22
+ },
23
+ destructive: {
24
+ classes: 'bg-destructive text-destructive-foreground hover:bg-destructive/90'
25
+ },
26
+ link: {
27
+ classes: 'text-primary underline-offset-4 hover:underline bg-transparent'
28
+ }
19
29
  };
20
30
  /**
21
31
  * Default CTA button variant styles
22
32
  * Uses semantic Tailwind classes that map to CSS variables.
23
- */
24
- export const DEFAULT_CTA_BUTTON_VARIANTS = {
25
- primary: { classes: 'bg-primary text-primary-foreground hover:bg-primary/90' },
26
- secondary: { classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80' },
27
- outline: { classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground' },
28
- ghost: { classes: 'bg-transparent hover:bg-accent hover:text-accent-foreground' },
29
- link: { classes: 'text-primary underline-offset-4 hover:underline bg-transparent' },
33
+ */ export const DEFAULT_CTA_BUTTON_VARIANTS = {
34
+ primary: {
35
+ classes: 'bg-primary text-primary-foreground hover:bg-primary/90'
36
+ },
37
+ secondary: {
38
+ classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80'
39
+ },
40
+ outline: {
41
+ classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground'
42
+ },
43
+ ghost: {
44
+ classes: 'bg-transparent hover:bg-accent hover:text-accent-foreground'
45
+ },
46
+ link: {
47
+ classes: 'text-primary underline-offset-4 hover:underline bg-transparent'
48
+ }
30
49
  };
31
50
  /**
32
51
  * Default CTA background styles
33
52
  * Uses semantic Tailwind classes that map to CSS variables.
34
- */
35
- export const DEFAULT_CTA_BACKGROUND_STYLES = {
53
+ */ export const DEFAULT_CTA_BACKGROUND_STYLES = {
36
54
  default: 'bg-muted',
37
55
  dark: 'bg-foreground text-background',
38
- light: 'bg-background',
56
+ light: 'bg-background'
39
57
  };
40
58
  /**
41
59
  * Default color picker presets
42
60
  * Matches DEFAULT_PRESETS from ColorPickerField.tsx
43
- */
44
- export const DEFAULT_COLOR_PRESETS = [
45
- { hex: '#ffffff', label: 'White' },
46
- { hex: '#f9fafb', label: 'Gray 50' },
47
- { hex: '#f3f4f6', label: 'Gray 100' },
48
- { hex: '#1f2937', label: 'Gray 800' },
49
- { hex: '#111827', label: 'Gray 900' },
50
- { hex: '#000000', label: 'Black' },
51
- { hex: '#3b82f6', label: 'Blue' },
52
- { hex: '#10b981', label: 'Green' },
53
- { hex: '#f59e0b', label: 'Amber' },
54
- { hex: '#ef4444', label: 'Red' },
61
+ */ export const DEFAULT_COLOR_PRESETS = [
62
+ {
63
+ hex: '#ffffff',
64
+ label: 'White'
65
+ },
66
+ {
67
+ hex: '#f9fafb',
68
+ label: 'Gray 50'
69
+ },
70
+ {
71
+ hex: '#f3f4f6',
72
+ label: 'Gray 100'
73
+ },
74
+ {
75
+ hex: '#1f2937',
76
+ label: 'Gray 800'
77
+ },
78
+ {
79
+ hex: '#111827',
80
+ label: 'Gray 900'
81
+ },
82
+ {
83
+ hex: '#000000',
84
+ label: 'Black'
85
+ },
86
+ {
87
+ hex: '#3b82f6',
88
+ label: 'Blue'
89
+ },
90
+ {
91
+ hex: '#10b981',
92
+ label: 'Green'
93
+ },
94
+ {
95
+ hex: '#f59e0b',
96
+ label: 'Amber'
97
+ },
98
+ {
99
+ hex: '#ef4444',
100
+ label: 'Red'
101
+ }
55
102
  ];
56
103
  /**
57
104
  * Default focus ring color class
58
105
  * Uses semantic ring color from CSS variables
59
- */
60
- export const DEFAULT_FOCUS_RING = 'focus:ring-ring';
106
+ */ export const DEFAULT_FOCUS_RING = 'focus:ring-ring';
61
107
  /**
62
108
  * Complete default theme
63
109
  * Used when no ThemeProvider is present or no theme config is provided
64
- */
65
- export const DEFAULT_THEME = {
110
+ */ export const DEFAULT_THEME = {
66
111
  buttonVariants: DEFAULT_BUTTON_VARIANTS,
67
112
  ctaButtonVariants: DEFAULT_CTA_BUTTON_VARIANTS,
68
113
  ctaBackgroundStyles: DEFAULT_CTA_BACKGROUND_STYLES,
69
114
  colorPresets: DEFAULT_COLOR_PRESETS,
70
- focusRingColor: DEFAULT_FOCUS_RING,
115
+ focusRingColor: DEFAULT_FOCUS_RING
71
116
  };
117
+
72
118
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/theme/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE;IAC9E,SAAS,EAAE,EAAE,OAAO,EAAE,8DAA8D,EAAE;IACtF,OAAO,EAAE,EAAE,OAAO,EAAE,gFAAgF,EAAE;IACtG,KAAK,EAAE,EAAE,OAAO,EAAE,6DAA6D,EAAE;IACjF,WAAW,EAAE,EAAE,OAAO,EAAE,oEAAoE,EAAE;IAC9F,IAAI,EAAE,EAAE,OAAO,EAAE,gEAAgE,EAAE;CACpF,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB;IAC9D,OAAO,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE;IAC9E,SAAS,EAAE,EAAE,OAAO,EAAE,8DAA8D,EAAE;IACtF,OAAO,EAAE,EAAE,OAAO,EAAE,gFAAgF,EAAE;IACtG,KAAK,EAAE,EAAE,OAAO,EAAE,6DAA6D,EAAE;IACjF,IAAI,EAAE,EAAE,OAAO,EAAE,gEAAgE,EAAE;CACpF,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAqB;IAC7D,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,+BAA+B;IACrC,KAAK,EAAE,eAAe;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACpC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;CACjC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,cAAc,EAAE,uBAAuB;IACvC,iBAAiB,EAAE,2BAA2B;IAC9C,mBAAmB,EAAE,6BAA6B;IAClD,YAAY,EAAE,qBAAqB;IACnC,cAAc,EAAE,kBAAkB;CACnC,CAAA"}
1
+ {"version":3,"sources":["../../src/theme/defaults.ts"],"sourcesContent":["/**\n * Default Theme Values\n *\n * These defaults ensure backwards compatibility - components render\n * identically to before theming was introduced when no theme is provided.\n */\n\nimport type {\n ButtonVariantStyles,\n BackgroundStyles,\n ColorPreset,\n ResolvedTheme,\n} from './types.js'\n\n/**\n * Default button variant styles\n * Uses semantic Tailwind classes that map to CSS variables (--primary, --secondary, etc.)\n * This allows consuming apps to customize colors via their theme CSS variables.\n */\nexport const DEFAULT_BUTTON_VARIANTS: ButtonVariantStyles = {\n default: { classes: 'bg-primary text-primary-foreground hover:bg-primary/90' },\n secondary: { classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80' },\n outline: { classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground' },\n ghost: { classes: 'bg-transparent hover:bg-accent hover:text-accent-foreground' },\n destructive: { classes: 'bg-destructive text-destructive-foreground hover:bg-destructive/90' },\n link: { classes: 'text-primary underline-offset-4 hover:underline bg-transparent' },\n}\n\n/**\n * Default CTA button variant styles\n * Uses semantic Tailwind classes that map to CSS variables.\n */\nexport const DEFAULT_CTA_BUTTON_VARIANTS: ButtonVariantStyles = {\n primary: { classes: 'bg-primary text-primary-foreground hover:bg-primary/90' },\n secondary: { classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80' },\n outline: { classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground' },\n ghost: { classes: 'bg-transparent hover:bg-accent hover:text-accent-foreground' },\n link: { classes: 'text-primary underline-offset-4 hover:underline bg-transparent' },\n}\n\n/**\n * Default CTA background styles\n * Uses semantic Tailwind classes that map to CSS variables.\n */\nexport const DEFAULT_CTA_BACKGROUND_STYLES: BackgroundStyles = {\n default: 'bg-muted',\n dark: 'bg-foreground text-background',\n light: 'bg-background',\n}\n\n/**\n * Default color picker presets\n * Matches DEFAULT_PRESETS from ColorPickerField.tsx\n */\nexport const DEFAULT_COLOR_PRESETS: ColorPreset[] = [\n { hex: '#ffffff', label: 'White' },\n { hex: '#f9fafb', label: 'Gray 50' },\n { hex: '#f3f4f6', label: 'Gray 100' },\n { hex: '#1f2937', label: 'Gray 800' },\n { hex: '#111827', label: 'Gray 900' },\n { hex: '#000000', label: 'Black' },\n { hex: '#3b82f6', label: 'Blue' },\n { hex: '#10b981', label: 'Green' },\n { hex: '#f59e0b', label: 'Amber' },\n { hex: '#ef4444', label: 'Red' },\n]\n\n/**\n * Default focus ring color class\n * Uses semantic ring color from CSS variables\n */\nexport const DEFAULT_FOCUS_RING = 'focus:ring-ring'\n\n/**\n * Complete default theme\n * Used when no ThemeProvider is present or no theme config is provided\n */\nexport const DEFAULT_THEME: ResolvedTheme = {\n buttonVariants: DEFAULT_BUTTON_VARIANTS,\n ctaButtonVariants: DEFAULT_CTA_BUTTON_VARIANTS,\n ctaBackgroundStyles: DEFAULT_CTA_BACKGROUND_STYLES,\n colorPresets: DEFAULT_COLOR_PRESETS,\n focusRingColor: DEFAULT_FOCUS_RING,\n}\n"],"names":["DEFAULT_BUTTON_VARIANTS","default","classes","secondary","outline","ghost","destructive","link","DEFAULT_CTA_BUTTON_VARIANTS","primary","DEFAULT_CTA_BACKGROUND_STYLES","dark","light","DEFAULT_COLOR_PRESETS","hex","label","DEFAULT_FOCUS_RING","DEFAULT_THEME","buttonVariants","ctaButtonVariants","ctaBackgroundStyles","colorPresets","focusRingColor"],"mappings":"AAAA;;;;;CAKC,GASD;;;;CAIC,GACD,OAAO,MAAMA,0BAA+C;IAC1DC,SAAS;QAAEC,SAAS;IAAyD;IAC7EC,WAAW;QAAED,SAAS;IAA+D;IACrFE,SAAS;QAAEF,SAAS;IAAiF;IACrGG,OAAO;QAAEH,SAAS;IAA8D;IAChFI,aAAa;QAAEJ,SAAS;IAAqE;IAC7FK,MAAM;QAAEL,SAAS;IAAiE;AACpF,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMM,8BAAmD;IAC9DC,SAAS;QAAEP,SAAS;IAAyD;IAC7EC,WAAW;QAAED,SAAS;IAA+D;IACrFE,SAAS;QAAEF,SAAS;IAAiF;IACrGG,OAAO;QAAEH,SAAS;IAA8D;IAChFK,MAAM;QAAEL,SAAS;IAAiE;AACpF,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMQ,gCAAkD;IAC7DT,SAAS;IACTU,MAAM;IACNC,OAAO;AACT,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMC,wBAAuC;IAClD;QAAEC,KAAK;QAAWC,OAAO;IAAQ;IACjC;QAAED,KAAK;QAAWC,OAAO;IAAU;IACnC;QAAED,KAAK;QAAWC,OAAO;IAAW;IACpC;QAAED,KAAK;QAAWC,OAAO;IAAW;IACpC;QAAED,KAAK;QAAWC,OAAO;IAAW;IACpC;QAAED,KAAK;QAAWC,OAAO;IAAQ;IACjC;QAAED,KAAK;QAAWC,OAAO;IAAO;IAChC;QAAED,KAAK;QAAWC,OAAO;IAAQ;IACjC;QAAED,KAAK;QAAWC,OAAO;IAAQ;IACjC;QAAED,KAAK;QAAWC,OAAO;IAAM;CAChC,CAAA;AAED;;;CAGC,GACD,OAAO,MAAMC,qBAAqB,kBAAiB;AAEnD;;;CAGC,GACD,OAAO,MAAMC,gBAA+B;IAC1CC,gBAAgBlB;IAChBmB,mBAAmBX;IACnBY,qBAAqBV;IACrBW,cAAcR;IACdS,gBAAgBN;AAClB,EAAC"}
@@ -14,7 +14,7 @@
14
14
  * <PageRenderer data={data} config={config} theme={puckTheme} />
15
15
  * ```
16
16
  */
17
- import type { ThemeConfig } from './types';
17
+ import type { ThemeConfig } from './types.js';
18
18
  /**
19
19
  * Example theme using shadcn/ui CSS variables
20
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/theme/example.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,WAiE1B,CAAA"}
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/theme/example.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,WAiE1B,CAAA"}
@@ -13,8 +13,7 @@
13
13
  *
14
14
  * <PageRenderer data={data} config={config} theme={puckTheme} />
15
15
  * ```
16
- */
17
- /**
16
+ */ /**
18
17
  * Example theme using shadcn/ui CSS variables
19
18
  *
20
19
  * This example assumes you have CSS variables like:
@@ -24,66 +23,105 @@
24
23
  * --muted, --muted-foreground
25
24
  * --destructive, --destructive-foreground
26
25
  * --ring (for focus rings)
27
- */
28
- export const exampleTheme = {
26
+ */ export const exampleTheme = {
29
27
  // Button component variants
30
28
  buttonVariants: {
31
29
  default: {
32
- classes: 'bg-primary text-primary-foreground hover:bg-primary/90',
30
+ classes: 'bg-primary text-primary-foreground hover:bg-primary/90'
33
31
  },
34
32
  secondary: {
35
- classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
33
+ classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80'
36
34
  },
37
35
  outline: {
38
- classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
36
+ classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground'
39
37
  },
40
38
  ghost: {
41
- classes: 'hover:bg-accent hover:text-accent-foreground',
39
+ classes: 'hover:bg-accent hover:text-accent-foreground'
42
40
  },
43
41
  destructive: {
44
- classes: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
42
+ classes: 'bg-destructive text-destructive-foreground hover:bg-destructive/90'
45
43
  },
46
44
  link: {
47
- classes: 'text-primary underline-offset-4 hover:underline',
48
- },
45
+ classes: 'text-primary underline-offset-4 hover:underline'
46
+ }
49
47
  },
50
48
  // CTA button variants
51
49
  ctaButtonVariants: {
52
50
  primary: {
53
- classes: 'bg-primary text-primary-foreground hover:bg-primary/90',
51
+ classes: 'bg-primary text-primary-foreground hover:bg-primary/90'
54
52
  },
55
53
  secondary: {
56
- classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
54
+ classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80'
57
55
  },
58
56
  outline: {
59
- classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
60
- },
57
+ classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground'
58
+ }
61
59
  },
62
60
  // CTA background styles
63
61
  ctaBackgroundStyles: {
64
62
  default: 'bg-muted',
65
63
  dark: 'bg-primary text-primary-foreground',
66
- light: 'bg-background',
64
+ light: 'bg-background'
67
65
  },
68
66
  // Focus ring class
69
67
  focusRingColor: 'focus:ring-ring',
70
68
  // Color picker presets - customize with your brand colors
71
69
  colorPresets: [
72
- { hex: '#ffffff', label: 'White' },
73
- { hex: '#f8fafc', label: 'Slate 50' },
74
- { hex: '#f1f5f9', label: 'Slate 100' },
75
- { hex: '#e2e8f0', label: 'Slate 200' },
76
- { hex: '#64748b', label: 'Slate 500' },
77
- { hex: '#334155', label: 'Slate 700' },
78
- { hex: '#1e293b', label: 'Slate 800' },
79
- { hex: '#0f172a', label: 'Slate 900' },
80
- { hex: '#000000', label: 'Black' },
81
- { hex: '#3b82f6', label: 'Blue' },
82
- { hex: '#10b981', label: 'Green' },
83
- { hex: '#f59e0b', label: 'Amber' },
84
- { hex: '#ef4444', label: 'Red' },
70
+ {
71
+ hex: '#ffffff',
72
+ label: 'White'
73
+ },
74
+ {
75
+ hex: '#f8fafc',
76
+ label: 'Slate 50'
77
+ },
78
+ {
79
+ hex: '#f1f5f9',
80
+ label: 'Slate 100'
81
+ },
82
+ {
83
+ hex: '#e2e8f0',
84
+ label: 'Slate 200'
85
+ },
86
+ {
87
+ hex: '#64748b',
88
+ label: 'Slate 500'
89
+ },
90
+ {
91
+ hex: '#334155',
92
+ label: 'Slate 700'
93
+ },
94
+ {
95
+ hex: '#1e293b',
96
+ label: 'Slate 800'
97
+ },
98
+ {
99
+ hex: '#0f172a',
100
+ label: 'Slate 900'
101
+ },
102
+ {
103
+ hex: '#000000',
104
+ label: 'Black'
105
+ },
106
+ {
107
+ hex: '#3b82f6',
108
+ label: 'Blue'
109
+ },
110
+ {
111
+ hex: '#10b981',
112
+ label: 'Green'
113
+ },
114
+ {
115
+ hex: '#f59e0b',
116
+ label: 'Amber'
117
+ },
118
+ {
119
+ hex: '#ef4444',
120
+ label: 'Red'
121
+ }
85
122
  ],
86
123
  // Set to true to add your presets to defaults instead of replacing
87
- extendColorPresets: false,
124
+ extendColorPresets: false
88
125
  };
126
+
89
127
  //# sourceMappingURL=example.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/theme/example.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,4BAA4B;IAC5B,cAAc,EAAE;QACd,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;SAClE;QACD,SAAS,EAAE;YACT,OAAO,EAAE,8DAA8D;SACxE;QACD,OAAO,EAAE;YACP,OAAO,EAAE,gFAAgF;SAC1F;QACD,KAAK,EAAE;YACL,OAAO,EAAE,8CAA8C;SACxD;QACD,WAAW,EAAE;YACX,OAAO,EAAE,oEAAoE;SAC9E;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,iDAAiD;SAC3D;KACF;IAED,sBAAsB;IACtB,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;SAClE;QACD,SAAS,EAAE;YACT,OAAO,EAAE,8DAA8D;SACxE;QACD,OAAO,EAAE;YACP,OAAO,EAAE,gFAAgF;SAC1F;KACF;IAED,wBAAwB;IACxB,mBAAmB,EAAE;QACnB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,eAAe;KACvB;IAED,mBAAmB;IACnB,cAAc,EAAE,iBAAiB;IAEjC,0DAA0D;IAC1D,YAAY,EAAE;QACZ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;QACjC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;KACjC;IAED,mEAAmE;IACnE,kBAAkB,EAAE,KAAK;CAC1B,CAAA"}
1
+ {"version":3,"sources":["../../src/theme/example.ts"],"sourcesContent":["/**\n * Example Theme Configuration\n *\n * Copy this file to your project and customize it to match your design system.\n *\n * Usage:\n * 1. Copy this file to your project (e.g., src/lib/puck-theme.ts)\n * 2. Customize the values to match your CSS variables/design tokens\n * 3. Import and pass to PageRenderer or PuckEditor:\n *\n * ```tsx\n * import { puckTheme } from '@/lib/puck-theme'\n *\n * <PageRenderer data={data} config={config} theme={puckTheme} />\n * ```\n */\n\nimport type { ThemeConfig } from './types.js'\n\n/**\n * Example theme using shadcn/ui CSS variables\n *\n * This example assumes you have CSS variables like:\n * --primary, --primary-foreground\n * --secondary, --secondary-foreground\n * --accent, --accent-foreground\n * --muted, --muted-foreground\n * --destructive, --destructive-foreground\n * --ring (for focus rings)\n */\nexport const exampleTheme: ThemeConfig = {\n // Button component variants\n buttonVariants: {\n default: {\n classes: 'bg-primary text-primary-foreground hover:bg-primary/90',\n },\n secondary: {\n classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n },\n outline: {\n classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n },\n ghost: {\n classes: 'hover:bg-accent hover:text-accent-foreground',\n },\n destructive: {\n classes: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n },\n link: {\n classes: 'text-primary underline-offset-4 hover:underline',\n },\n },\n\n // CTA button variants\n ctaButtonVariants: {\n primary: {\n classes: 'bg-primary text-primary-foreground hover:bg-primary/90',\n },\n secondary: {\n classes: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n },\n outline: {\n classes: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n },\n },\n\n // CTA background styles\n ctaBackgroundStyles: {\n default: 'bg-muted',\n dark: 'bg-primary text-primary-foreground',\n light: 'bg-background',\n },\n\n // Focus ring class\n focusRingColor: 'focus:ring-ring',\n\n // Color picker presets - customize with your brand colors\n colorPresets: [\n { hex: '#ffffff', label: 'White' },\n { hex: '#f8fafc', label: 'Slate 50' },\n { hex: '#f1f5f9', label: 'Slate 100' },\n { hex: '#e2e8f0', label: 'Slate 200' },\n { hex: '#64748b', label: 'Slate 500' },\n { hex: '#334155', label: 'Slate 700' },\n { hex: '#1e293b', label: 'Slate 800' },\n { hex: '#0f172a', label: 'Slate 900' },\n { hex: '#000000', label: 'Black' },\n { hex: '#3b82f6', label: 'Blue' },\n { hex: '#10b981', label: 'Green' },\n { hex: '#f59e0b', label: 'Amber' },\n { hex: '#ef4444', label: 'Red' },\n ],\n\n // Set to true to add your presets to defaults instead of replacing\n extendColorPresets: false,\n}\n"],"names":["exampleTheme","buttonVariants","default","classes","secondary","outline","ghost","destructive","link","ctaButtonVariants","primary","ctaBackgroundStyles","dark","light","focusRingColor","colorPresets","hex","label","extendColorPresets"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAID;;;;;;;;;;CAUC,GACD,OAAO,MAAMA,eAA4B;IACvC,4BAA4B;IAC5BC,gBAAgB;QACdC,SAAS;YACPC,SAAS;QACX;QACAC,WAAW;YACTD,SAAS;QACX;QACAE,SAAS;YACPF,SAAS;QACX;QACAG,OAAO;YACLH,SAAS;QACX;QACAI,aAAa;YACXJ,SAAS;QACX;QACAK,MAAM;YACJL,SAAS;QACX;IACF;IAEA,sBAAsB;IACtBM,mBAAmB;QACjBC,SAAS;YACPP,SAAS;QACX;QACAC,WAAW;YACTD,SAAS;QACX;QACAE,SAAS;YACPF,SAAS;QACX;IACF;IAEA,wBAAwB;IACxBQ,qBAAqB;QACnBT,SAAS;QACTU,MAAM;QACNC,OAAO;IACT;IAEA,mBAAmB;IACnBC,gBAAgB;IAEhB,0DAA0D;IAC1DC,cAAc;QACZ;YAAEC,KAAK;YAAWC,OAAO;QAAQ;QACjC;YAAED,KAAK;YAAWC,OAAO;QAAW;QACpC;YAAED,KAAK;YAAWC,OAAO;QAAY;QACrC;YAAED,KAAK;YAAWC,OAAO;QAAY;QACrC;YAAED,KAAK;YAAWC,OAAO;QAAY;QACrC;YAAED,KAAK;YAAWC,OAAO;QAAY;QACrC;YAAED,KAAK;YAAWC,OAAO;QAAY;QACrC;YAAED,KAAK;YAAWC,OAAO;QAAY;QACrC;YAAED,KAAK;YAAWC,OAAO;QAAQ;QACjC;YAAED,KAAK;YAAWC,OAAO;QAAO;QAChC;YAAED,KAAK;YAAWC,OAAO;QAAQ;QACjC;YAAED,KAAK;YAAWC,OAAO;QAAQ;QACjC;YAAED,KAAK;YAAWC,OAAO;QAAM;KAChC;IAED,mEAAmE;IACnEC,oBAAoB;AACtB,EAAC"}
@@ -24,9 +24,9 @@
24
24
  * }
25
25
  * ```
26
26
  */
27
- export type { ButtonVariantConfig, ButtonVariantStyles, ColorPreset, BackgroundStyles, ThemeConfig, ResolvedTheme, ThemeContextValue, } from './types';
28
- export { ThemeProvider, useTheme, getDefaultTheme, useHasThemeProvider, type ThemeProviderProps, } from './context';
29
- export { DEFAULT_BUTTON_VARIANTS, DEFAULT_CTA_BUTTON_VARIANTS, DEFAULT_CTA_BACKGROUND_STYLES, DEFAULT_COLOR_PRESETS, DEFAULT_FOCUS_RING, DEFAULT_THEME, } from './defaults';
30
- export { resolveTheme, getVariantClasses, getBackgroundClasses } from './utils';
31
- export { exampleTheme } from './example';
27
+ export type { ButtonVariantConfig, ButtonVariantStyles, ColorPreset, BackgroundStyles, ThemeConfig, ResolvedTheme, ThemeContextValue, } from './types.js';
28
+ export { ThemeProvider, useTheme, getDefaultTheme, useHasThemeProvider, type ThemeProviderProps, } from './context.js';
29
+ export { DEFAULT_BUTTON_VARIANTS, DEFAULT_CTA_BUTTON_VARIANTS, DEFAULT_CTA_BACKGROUND_STYLES, DEFAULT_COLOR_PRESETS, DEFAULT_FOCUS_RING, DEFAULT_THEME, } from './defaults.js';
30
+ export { resolveTheme, getVariantClasses, getBackgroundClasses } from './utils.js';
31
+ export { exampleTheme } from './example.js';
32
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
@@ -23,13 +23,14 @@
23
23
  * return <button className={classes}>...</button>
24
24
  * }
25
25
  * ```
26
- */
26
+ */ // Types
27
27
  // Context & Provider
28
- export { ThemeProvider, useTheme, getDefaultTheme, useHasThemeProvider, } from './context';
28
+ export { ThemeProvider, useTheme, getDefaultTheme, useHasThemeProvider } from './context.js';
29
29
  // Defaults
30
- export { DEFAULT_BUTTON_VARIANTS, DEFAULT_CTA_BUTTON_VARIANTS, DEFAULT_CTA_BACKGROUND_STYLES, DEFAULT_COLOR_PRESETS, DEFAULT_FOCUS_RING, DEFAULT_THEME, } from './defaults';
30
+ export { DEFAULT_BUTTON_VARIANTS, DEFAULT_CTA_BUTTON_VARIANTS, DEFAULT_CTA_BACKGROUND_STYLES, DEFAULT_COLOR_PRESETS, DEFAULT_FOCUS_RING, DEFAULT_THEME } from './defaults.js';
31
31
  // Utilities
32
- export { resolveTheme, getVariantClasses, getBackgroundClasses } from './utils';
32
+ export { resolveTheme, getVariantClasses, getBackgroundClasses } from './utils.js';
33
33
  // Example theme (copy and customize for your project)
34
- export { exampleTheme } from './example';
34
+ export { exampleTheme } from './example.js';
35
+
35
36
  //# sourceMappingURL=index.js.map