@sudajs/theme-engine 0.0.2

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 (153) hide show
  1. package/dist/ai/slots.d.ts +33 -0
  2. package/dist/ai/slots.d.ts.map +1 -0
  3. package/dist/ai/slots.js +139 -0
  4. package/dist/ai/slots.js.map +1 -0
  5. package/dist/assets.d.ts +42 -0
  6. package/dist/assets.d.ts.map +1 -0
  7. package/dist/assets.js +36 -0
  8. package/dist/assets.js.map +1 -0
  9. package/dist/cms/apply-bindings.d.ts +9 -0
  10. package/dist/cms/apply-bindings.d.ts.map +1 -0
  11. package/dist/cms/apply-bindings.js +128 -0
  12. package/dist/cms/apply-bindings.js.map +1 -0
  13. package/dist/cms/get-context.d.ts +9 -0
  14. package/dist/cms/get-context.d.ts.map +1 -0
  15. package/dist/cms/get-context.js +13 -0
  16. package/dist/cms/get-context.js.map +1 -0
  17. package/dist/cms/index.d.ts +4 -0
  18. package/dist/cms/index.d.ts.map +1 -0
  19. package/dist/cms/index.js +4 -0
  20. package/dist/cms/index.js.map +1 -0
  21. package/dist/cms/types.d.ts +116 -0
  22. package/dist/cms/types.d.ts.map +1 -0
  23. package/dist/cms/types.js +2 -0
  24. package/dist/cms/types.js.map +1 -0
  25. package/dist/components/base-blocks.d.ts +13 -0
  26. package/dist/components/base-blocks.d.ts.map +1 -0
  27. package/dist/components/base-blocks.js +157 -0
  28. package/dist/components/base-blocks.js.map +1 -0
  29. package/dist/components/containers.d.ts +8 -0
  30. package/dist/components/containers.d.ts.map +1 -0
  31. package/dist/components/containers.js +142 -0
  32. package/dist/components/containers.js.map +1 -0
  33. package/dist/components/index.d.ts +11 -0
  34. package/dist/components/index.d.ts.map +1 -0
  35. package/dist/components/index.js +17 -0
  36. package/dist/components/index.js.map +1 -0
  37. package/dist/components/interactive.client.d.ts +12 -0
  38. package/dist/components/interactive.client.d.ts.map +1 -0
  39. package/dist/components/interactive.client.js +43 -0
  40. package/dist/components/interactive.client.js.map +1 -0
  41. package/dist/components/metadata.d.ts +20 -0
  42. package/dist/components/metadata.d.ts.map +1 -0
  43. package/dist/components/metadata.js +9 -0
  44. package/dist/components/metadata.js.map +1 -0
  45. package/dist/components/shared-fields.d.ts +11 -0
  46. package/dist/components/shared-fields.d.ts.map +1 -0
  47. package/dist/components/shared-fields.js +37 -0
  48. package/dist/components/shared-fields.js.map +1 -0
  49. package/dist/editor/context.d.ts +79 -0
  50. package/dist/editor/context.d.ts.map +1 -0
  51. package/dist/editor/context.js +12 -0
  52. package/dist/editor/context.js.map +1 -0
  53. package/dist/editor/index.d.ts +5 -0
  54. package/dist/editor/index.d.ts.map +1 -0
  55. package/dist/editor/index.js +5 -0
  56. package/dist/editor/index.js.map +1 -0
  57. package/dist/editor/overrides.d.ts +3 -0
  58. package/dist/editor/overrides.d.ts.map +1 -0
  59. package/dist/editor/overrides.js +379 -0
  60. package/dist/editor/overrides.js.map +1 -0
  61. package/dist/editor/theme-editor.d.ts +46 -0
  62. package/dist/editor/theme-editor.d.ts.map +1 -0
  63. package/dist/editor/theme-editor.js +169 -0
  64. package/dist/editor/theme-editor.js.map +1 -0
  65. package/dist/editor/unified-editor.d.ts +25 -0
  66. package/dist/editor/unified-editor.d.ts.map +1 -0
  67. package/dist/editor/unified-editor.js +229 -0
  68. package/dist/editor/unified-editor.js.map +1 -0
  69. package/dist/editor/use-theme-runtime.d.ts +8 -0
  70. package/dist/editor/use-theme-runtime.d.ts.map +1 -0
  71. package/dist/editor/use-theme-runtime.js +77 -0
  72. package/dist/editor/use-theme-runtime.js.map +1 -0
  73. package/dist/fields/basic-fields.d.ts +14 -0
  74. package/dist/fields/basic-fields.d.ts.map +1 -0
  75. package/dist/fields/basic-fields.js +46 -0
  76. package/dist/fields/basic-fields.js.map +1 -0
  77. package/dist/fields/color-field.d.ts +3 -0
  78. package/dist/fields/color-field.d.ts.map +1 -0
  79. package/dist/fields/color-field.js +97 -0
  80. package/dist/fields/color-field.js.map +1 -0
  81. package/dist/fields/color-scheme-field.d.ts +81 -0
  82. package/dist/fields/color-scheme-field.d.ts.map +1 -0
  83. package/dist/fields/color-scheme-field.js +234 -0
  84. package/dist/fields/color-scheme-field.js.map +1 -0
  85. package/dist/fields/index.d.ts +6 -0
  86. package/dist/fields/index.d.ts.map +1 -0
  87. package/dist/fields/index.js +4 -0
  88. package/dist/fields/index.js.map +1 -0
  89. package/dist/fields/media-field.d.ts +10 -0
  90. package/dist/fields/media-field.d.ts.map +1 -0
  91. package/dist/fields/media-field.js +495 -0
  92. package/dist/fields/media-field.js.map +1 -0
  93. package/dist/fields/normalize-config.d.ts +3 -0
  94. package/dist/fields/normalize-config.d.ts.map +1 -0
  95. package/dist/fields/normalize-config.js +81 -0
  96. package/dist/fields/normalize-config.js.map +1 -0
  97. package/dist/fields/range-field.d.ts +9 -0
  98. package/dist/fields/range-field.d.ts.map +1 -0
  99. package/dist/fields/range-field.js +53 -0
  100. package/dist/fields/range-field.js.map +1 -0
  101. package/dist/fields/spacing-field.d.ts +7 -0
  102. package/dist/fields/spacing-field.d.ts.map +1 -0
  103. package/dist/fields/spacing-field.js +40 -0
  104. package/dist/fields/spacing-field.js.map +1 -0
  105. package/dist/fields/suda-fields.d.ts +45 -0
  106. package/dist/fields/suda-fields.d.ts.map +1 -0
  107. package/dist/fields/suda-fields.js +91 -0
  108. package/dist/fields/suda-fields.js.map +1 -0
  109. package/dist/index.d.ts +12 -0
  110. package/dist/index.d.ts.map +1 -0
  111. package/dist/index.js +15 -0
  112. package/dist/index.js.map +1 -0
  113. package/dist/manifest.d.ts +47 -0
  114. package/dist/manifest.d.ts.map +1 -0
  115. package/dist/manifest.js +39 -0
  116. package/dist/manifest.js.map +1 -0
  117. package/dist/registry/filesystem.d.ts +27 -0
  118. package/dist/registry/filesystem.d.ts.map +1 -0
  119. package/dist/registry/filesystem.js +162 -0
  120. package/dist/registry/filesystem.js.map +1 -0
  121. package/dist/registry.d.ts +13 -0
  122. package/dist/registry.d.ts.map +1 -0
  123. package/dist/registry.js +2 -0
  124. package/dist/registry.js.map +1 -0
  125. package/dist/render/chrome.d.ts +18 -0
  126. package/dist/render/chrome.d.ts.map +1 -0
  127. package/dist/render/chrome.js +36 -0
  128. package/dist/render/chrome.js.map +1 -0
  129. package/dist/render/index.d.ts +4 -0
  130. package/dist/render/index.d.ts.map +1 -0
  131. package/dist/render/index.js +4 -0
  132. package/dist/render/index.js.map +1 -0
  133. package/dist/render/render.d.ts +21 -0
  134. package/dist/render/render.d.ts.map +1 -0
  135. package/dist/render/render.js +50 -0
  136. package/dist/render/render.js.map +1 -0
  137. package/dist/render/slot.d.ts +14 -0
  138. package/dist/render/slot.d.ts.map +1 -0
  139. package/dist/render/slot.js +14 -0
  140. package/dist/render/slot.js.map +1 -0
  141. package/dist/runtime.d.ts +8 -0
  142. package/dist/runtime.d.ts.map +1 -0
  143. package/dist/runtime.js +10 -0
  144. package/dist/runtime.js.map +1 -0
  145. package/dist/server.d.ts +13 -0
  146. package/dist/server.d.ts.map +1 -0
  147. package/dist/server.js +16 -0
  148. package/dist/server.js.map +1 -0
  149. package/dist/types.d.ts +171 -0
  150. package/dist/types.d.ts.map +1 -0
  151. package/dist/types.js +2 -0
  152. package/dist/types.js.map +1 -0
  153. package/package.json +68 -0
@@ -0,0 +1,234 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useId } from "react";
4
+ /** Token keys, ordered for deterministic CSS output. */
5
+ export const SUDA_COLOR_TOKEN_KEYS = [
6
+ "background",
7
+ "foreground",
8
+ "card",
9
+ "primary",
10
+ "primaryForeground",
11
+ "secondary",
12
+ "secondaryForeground",
13
+ "accent",
14
+ "accentForeground",
15
+ "muted",
16
+ "mutedForeground",
17
+ "border",
18
+ "input",
19
+ "ring",
20
+ "destructive",
21
+ ];
22
+ const TOKEN_LABELS = {
23
+ background: "Background",
24
+ foreground: "Foreground",
25
+ card: "Card",
26
+ primary: "Primary",
27
+ primaryForeground: "Primary foreground",
28
+ secondary: "Secondary",
29
+ secondaryForeground: "Secondary foreground",
30
+ accent: "Accent",
31
+ accentForeground: "Accent foreground",
32
+ muted: "Muted",
33
+ mutedForeground: "Muted foreground",
34
+ border: "Border",
35
+ input: "Input",
36
+ ring: "Ring",
37
+ destructive: "Destructive",
38
+ };
39
+ const CUSTOM_SCHEME_ID = "custom";
40
+ function camelToKebab(input) {
41
+ return input.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
42
+ }
43
+ /**
44
+ * Convert a token map to CSS variables.
45
+ *
46
+ * - `format: "string"` (default) returns a sequence of declarations such as
47
+ * `--suda-color-primary: #ff6b2c;\n--suda-color-primary-foreground: #fff;`.
48
+ * - `format: "style"` returns a `Record<string, string>` suitable for a React
49
+ * `style` prop.
50
+ */
51
+ export function createThemeCssVariables(tokens, options = {}) {
52
+ const prefix = options.prefix ?? "--suda-color-";
53
+ const format = options.format ?? "string";
54
+ if (format === "style") {
55
+ const style = {};
56
+ for (const key of SUDA_COLOR_TOKEN_KEYS) {
57
+ style[`${prefix}${camelToKebab(key)}`] = tokens[key];
58
+ }
59
+ return style;
60
+ }
61
+ return SUDA_COLOR_TOKEN_KEYS.map((key) => `${prefix}${camelToKebab(key)}: ${tokens[key]};`).join("\n");
62
+ }
63
+ function cloneTokens(tokens) {
64
+ return { ...tokens };
65
+ }
66
+ function isObject(value) {
67
+ return typeof value === "object" && value !== null && !Array.isArray(value);
68
+ }
69
+ function coerceTokens(raw, fallback) {
70
+ if (!isObject(raw)) {
71
+ return cloneTokens(fallback);
72
+ }
73
+ const next = cloneTokens(fallback);
74
+ for (const key of SUDA_COLOR_TOKEN_KEYS) {
75
+ const v = raw[key];
76
+ if (typeof v === "string" && v.length > 0 && !/[<>]/.test(v)) {
77
+ next[key] = v;
78
+ }
79
+ }
80
+ return next;
81
+ }
82
+ /**
83
+ * Build the default value for a `colorSchemeField`. Presets are normalised
84
+ * into `schemes`, plus a `custom` slot seeded from `customDefaults` (or the
85
+ * first preset).
86
+ */
87
+ export function createColorSchemeDefault(options) {
88
+ const { presets } = options;
89
+ if (presets.length === 0) {
90
+ throw new Error("colorSchemeField: at least one preset is required.");
91
+ }
92
+ const first = presets[0];
93
+ if (!first) {
94
+ throw new Error("colorSchemeField: at least one preset is required.");
95
+ }
96
+ const schemes = {};
97
+ for (const preset of presets) {
98
+ schemes[preset.id] = cloneTokens(preset.tokens);
99
+ }
100
+ schemes[CUSTOM_SCHEME_ID] = cloneTokens(options.customDefaults ?? first.tokens);
101
+ return {
102
+ active: first.id,
103
+ schemes,
104
+ };
105
+ }
106
+ /**
107
+ * Resolve the active token map from a `colorSchemeField` value. Unknown
108
+ * `active` ids fall back to the first preset, and missing tokens fall back to
109
+ * the preset defaults so renders stay stable.
110
+ */
111
+ export function resolveColorSchemeTokens(value, options) {
112
+ const fallback = createColorSchemeDefault(options);
113
+ const merged = {
114
+ active: value?.active ?? fallback.active,
115
+ schemes: { ...fallback.schemes, ...(value?.schemes ?? {}) },
116
+ };
117
+ const firstPreset = options.presets[0]?.tokens ?? merged.schemes[fallback.active];
118
+ if (!firstPreset) {
119
+ throw new Error("colorSchemeField: no preset tokens available.");
120
+ }
121
+ const activeTokens = merged.schemes[merged.active] ?? firstPreset;
122
+ return coerceTokens(activeTokens, firstPreset);
123
+ }
124
+ const wrapStyle = { display: "flex", flexDirection: "column", gap: 12 };
125
+ const presetRowStyle = {
126
+ display: "flex",
127
+ flexWrap: "wrap",
128
+ gap: 6,
129
+ };
130
+ const presetBtnStyle = {
131
+ display: "inline-flex",
132
+ alignItems: "center",
133
+ gap: 6,
134
+ padding: "4px 8px",
135
+ border: "1px solid var(--puck-color-grey-09, #dcdcdc)",
136
+ borderRadius: 6,
137
+ background: "var(--puck-color-white, #fff)",
138
+ cursor: "pointer",
139
+ fontSize: 12,
140
+ };
141
+ const presetBtnActiveStyle = {
142
+ ...presetBtnStyle,
143
+ borderColor: "var(--puck-color-azure-05, #2563eb)",
144
+ background: "var(--puck-color-azure-12, #e6efff)",
145
+ };
146
+ const presetSwatchStyle = {
147
+ display: "inline-block",
148
+ width: 12,
149
+ height: 12,
150
+ borderRadius: "50%",
151
+ border: "1px solid rgba(0,0,0,0.1)",
152
+ };
153
+ const tokenRowStyle = {
154
+ display: "grid",
155
+ gridTemplateColumns: "1fr 36px 1fr",
156
+ gap: 6,
157
+ alignItems: "center",
158
+ };
159
+ const labelStyle = { fontSize: 12 };
160
+ const swatchInputStyle = {
161
+ width: 36,
162
+ height: 28,
163
+ padding: 0,
164
+ border: "1px solid var(--puck-color-grey-09, #dcdcdc)",
165
+ borderRadius: 4,
166
+ background: "none",
167
+ cursor: "pointer",
168
+ };
169
+ const textInputStyle = {
170
+ height: 28,
171
+ padding: "0 8px",
172
+ border: "1px solid var(--puck-color-grey-09, #dcdcdc)",
173
+ borderRadius: 4,
174
+ fontFamily: "monospace",
175
+ fontSize: 12,
176
+ };
177
+ function ColorSchemeFieldRender({ value, onChange, options, }) {
178
+ const inputId = useId();
179
+ const fallback = createColorSchemeDefault(options);
180
+ const current = {
181
+ active: value?.active ?? fallback.active,
182
+ schemes: { ...fallback.schemes, ...(value?.schemes ?? {}) },
183
+ };
184
+ const activeTokens = resolveColorSchemeTokens(current, options);
185
+ const selectPreset = (presetId) => {
186
+ onChange({
187
+ active: presetId,
188
+ schemes: { ...current.schemes },
189
+ });
190
+ };
191
+ const editToken = (key, next) => {
192
+ const baseTokens = activeTokens;
193
+ const nextTokens = { ...baseTokens, [key]: next };
194
+ onChange({
195
+ active: CUSTOM_SCHEME_ID,
196
+ schemes: { ...current.schemes, [CUSTOM_SCHEME_ID]: nextTokens },
197
+ });
198
+ };
199
+ return (_jsxs("div", { style: wrapStyle, children: [_jsxs("div", { style: presetRowStyle, children: [options.presets.map((preset) => {
200
+ const isActive = current.active === preset.id;
201
+ return (_jsxs("button", { type: "button", style: isActive ? presetBtnActiveStyle : presetBtnStyle, onClick: () => selectPreset(preset.id), children: [_jsx("span", { style: {
202
+ ...presetSwatchStyle,
203
+ background: preset.tokens.primary,
204
+ } }), _jsx("span", { children: preset.label })] }, preset.id));
205
+ }), _jsxs("button", { type: "button", style: current.active === CUSTOM_SCHEME_ID ? presetBtnActiveStyle : presetBtnStyle, onClick: () => selectPreset(CUSTOM_SCHEME_ID), children: [_jsx("span", { style: {
206
+ ...presetSwatchStyle,
207
+ background: activeTokens.primary,
208
+ } }), _jsx("span", { children: "Custom" })] })] }), _jsx("div", { style: { display: "flex", flexDirection: "column", gap: 6 }, children: SUDA_COLOR_TOKEN_KEYS.map((key) => {
209
+ const tokenValue = activeTokens[key];
210
+ const swatchValue = /^#[0-9a-fA-F]{6}$/.test(tokenValue) ? tokenValue : "#000000";
211
+ return (_jsxs("div", { style: tokenRowStyle, children: [_jsx("label", { style: labelStyle, htmlFor: `${inputId}-${key}`, children: TOKEN_LABELS[key] }), _jsx("input", { "aria-label": `${TOKEN_LABELS[key]} swatch`, type: "color", style: swatchInputStyle, value: swatchValue, onChange: (event) => editToken(key, event.target.value) }), _jsx("input", { id: `${inputId}-${key}`, type: "text", style: textInputStyle, value: tokenValue, onChange: (event) => editToken(key, event.target.value) })] }, key));
212
+ }) })] }));
213
+ }
214
+ /**
215
+ * A Puck custom field for editing a theme color scheme. Stores
216
+ * `{ active, schemes }`; the value is intended to be passed to
217
+ * `resolveColorSchemeTokens` and `createThemeCssVariables` from the theme's
218
+ * root render.
219
+ */
220
+ export function colorSchemeField(label, options) {
221
+ if (options.presets.length === 0) {
222
+ throw new Error("colorSchemeField: at least one preset is required.");
223
+ }
224
+ const field = {
225
+ type: "custom",
226
+ metadata: { sudaField: "colorScheme", presets: options.presets.map((p) => p.id) },
227
+ render: ({ value, onChange }) => (_jsx(ColorSchemeFieldRender, { value: value, onChange: onChange, options: options })),
228
+ };
229
+ if (label !== undefined) {
230
+ field.label = label;
231
+ }
232
+ return field;
233
+ }
234
+ //# sourceMappingURL=color-scheme-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-scheme-field.js","sourceRoot":"","sources":["../../src/fields/color-scheme-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAqB,KAAK,EAAE,MAAM,OAAO,CAAC;AAwBjD,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAA4C;IAC5E,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,qBAAqB;IACrB,QAAQ;IACR,kBAAkB;IAClB,OAAO;IACP,iBAAiB;IACjB,QAAQ;IACR,OAAO;IACP,MAAM;IACN,aAAa;CACd,CAAC;AAEF,MAAM,YAAY,GAA+C;IAC/D,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE,oBAAoB;IACvC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,sBAAsB;IAC3C,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,mBAAmB;IACrC,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,kBAAkB;IACnC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;CAC3B,CAAC;AAiBF,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAElC,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA4B,EAC5B,UAA0C,EAAE;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;IAE1C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACxC,KAAK,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,qBAAqB,CAAC,GAAG,CAC9B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,CAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAYD,SAAS,WAAW,CAAC,MAA4B;IAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CACnB,GAAY,EACZ,QAA8B;IAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,GAAyB,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgC;IAEhC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAyC,EAAE,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAChF,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,EAAE;QAChB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAuC,EACvC,OAAgC;IAEhC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAyB;QACnC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM;QACxC,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;KAC5D,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC;IAClE,OAAO,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,SAAS,GAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AAC7F,MAAM,cAAc,GAAwB;IAC1C,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,CAAC;CACP,CAAC;AACF,MAAM,cAAc,GAAwB;IAC1C,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,8CAA8C;IACtD,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,+BAA+B;IAC3C,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,EAAE;CACb,CAAC;AACF,MAAM,oBAAoB,GAAwB;IAChD,GAAG,cAAc;IACjB,WAAW,EAAE,qCAAqC;IAClD,UAAU,EAAE,qCAAqC;CAClD,CAAC;AACF,MAAM,iBAAiB,GAAwB;IAC7C,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,2BAA2B;CACpC,CAAC;AACF,MAAM,aAAa,GAAwB;IACzC,OAAO,EAAE,MAAM;IACf,mBAAmB,EAAE,cAAc;IACnC,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,QAAQ;CACrB,CAAC;AACF,MAAM,UAAU,GAAwB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACzD,MAAM,gBAAgB,GAAwB;IAC5C,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,8CAA8C;IACtD,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,SAAS;CAClB,CAAC;AACF,MAAM,cAAc,GAAwB;IAC1C,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,8CAA8C;IACtD,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,SAAS,sBAAsB,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,OAAO,GAKR;IACC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAyB;QACpC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM;QACxC,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;KAC5D,CAAC;IACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;QACxC,QAAQ,CAAC;YACP,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;SAChC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAA+B,EAAE,IAAY,EAAE,EAAE;QAClE,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,UAAU,GAAyB,EAAE,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;QACxE,QAAQ,CAAC;YACP,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE;SAChE,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,SAAS,aACnB,eAAK,KAAK,EAAE,cAAc,aACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;wBAC9C,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,EACvD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,aAEtC,eACE,KAAK,EAAE;wCACL,GAAG,iBAAiB;wCACpB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;qCAClC,GACD,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,KAXtB,MAAM,CAAC,EAAE,CAYP,CACV,CAAC;oBACJ,CAAC,CAAC,EACF,kBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,EAClF,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAE7C,eACE,KAAK,EAAE;oCACL,GAAG,iBAAiB;oCACpB,UAAU,EAAE,YAAY,CAAC,OAAO;iCACjC,GACD,EACF,oCAAmB,IACZ,IACL,EACN,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAC7D,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClF,OAAO,CACL,eAAe,KAAK,EAAE,aAAa,aACjC,gBAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,IAAI,GAAG,EAAE,YACnD,YAAY,CAAC,GAAG,CAAC,GACZ,EACR,8BACc,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,EACzC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACvD,EACF,gBACE,EAAE,EAAE,GAAG,OAAO,IAAI,GAAG,EAAE,EACvB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACvD,KAjBM,GAAG,CAkBP,CACP,CAAC;gBACJ,CAAC,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAyB,EACzB,OAAgC;IAEhC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAsC;QAC/C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACjF,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/B,KAAC,sBAAsB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAC/E;KACF,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { colorSchemeField, createColorSchemeDefault, createThemeCssVariables, resolveColorSchemeTokens, SUDA_COLOR_TOKEN_KEYS, type ColorSchemeFieldOptions, type CreateThemeCssVariablesOptions, type SudaColorSchemePreset, type SudaColorSchemeValue, type SudaThemeColorTokens, } from "./color-scheme-field";
2
+ export type { MenuItem } from "./basic-fields";
3
+ export type { MediaFieldKind } from "./media-field";
4
+ export { normalizeSudaField, type SudaField, type SudaFieldExtension, type SudaFieldType, type SudaFieldValueMap, } from "./suda-fields";
5
+ export { normalizeSudaConfig } from "./normalize-config";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { colorSchemeField, createColorSchemeDefault, createThemeCssVariables, resolveColorSchemeTokens, SUDA_COLOR_TOKEN_KEYS, } from "./color-scheme-field";
2
+ export { normalizeSudaField, } from "./suda-fields";
3
+ export { normalizeSudaConfig } from "./normalize-config";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GAMtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,GAKnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CustomField } from "@puckeditor/core";
2
+ export type MediaFieldKind = "image" | "video" | "file" | "media";
3
+ export type MediaFieldOptions = {
4
+ kind?: MediaFieldKind;
5
+ description?: string;
6
+ };
7
+ export declare function mediaField(label?: string, options?: MediaFieldOptions): CustomField<string>;
8
+ export declare function imageField(label?: string): CustomField<string>;
9
+ export declare function videoField(label?: string): CustomField<string>;
10
+ //# sourceMappingURL=media-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-field.d.ts","sourceRoot":"","sources":["../../src/fields/media-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqBpD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAElE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAy0BF,wBAAgB,UAAU,CACxB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,WAAW,CAAC,MAAM,CAAC,CA2BrB;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE9D;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE9D"}