@squaredr/fieldcraft-pro 1.4.0 → 1.6.0

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.
@@ -777,6 +777,14 @@ var QUESTION_TYPE_INFO = {
777
777
  icon: "Phone",
778
778
  description: "US phone number input"
779
779
  },
780
+ phone_international: {
781
+ type: "phone_international",
782
+ label: "Intl Phone",
783
+ category: "text",
784
+ icon: "Globe2",
785
+ description: "Phone with country code",
786
+ defaultConfig: { type: "phone_international", defaultCountry: "US" }
787
+ },
780
788
  url: {
781
789
  type: "url",
782
790
  label: "URL",
@@ -870,6 +878,14 @@ var QUESTION_TYPE_INFO = {
870
878
  requiresOptions: true,
871
879
  defaultConfig: { type: "ranking", items: [] }
872
880
  },
881
+ country_select: {
882
+ type: "country_select",
883
+ label: "Country",
884
+ category: "selection",
885
+ icon: "Globe",
886
+ description: "Country dropdown with search",
887
+ defaultConfig: { type: "country_select" }
888
+ },
873
889
  // ── Date/Time ──
874
890
  date: {
875
891
  type: "date",
@@ -921,6 +937,14 @@ var QUESTION_TYPE_INFO = {
921
937
  description: "Canvas signature pad",
922
938
  defaultConfig: { type: "signature" }
923
939
  },
940
+ image_capture: {
941
+ type: "image_capture",
942
+ label: "Camera",
943
+ category: "media",
944
+ icon: "Camera",
945
+ description: "Capture photo from camera",
946
+ defaultConfig: { type: "image_capture", allowGallery: true }
947
+ },
924
948
  date_range: {
925
949
  type: "date_range",
926
950
  label: "Date Range",
@@ -929,6 +953,14 @@ var QUESTION_TYPE_INFO = {
929
953
  description: "Start and end date picker",
930
954
  defaultConfig: { type: "date_range" }
931
955
  },
956
+ appointment: {
957
+ type: "appointment",
958
+ label: "Appointment",
959
+ category: "datetime",
960
+ icon: "CalendarCheck",
961
+ description: "Date & time slot booking",
962
+ defaultConfig: { type: "appointment", duration: 30 }
963
+ },
932
964
  // ── Advanced ──
933
965
  repeater: {
934
966
  type: "repeater",
@@ -1000,6 +1032,14 @@ var QUESTION_TYPE_INFO = {
1000
1032
  description: "Hidden value from URL or static",
1001
1033
  defaultConfig: { type: "hidden", source: "static" }
1002
1034
  },
1035
+ payment: {
1036
+ type: "payment",
1037
+ label: "Payment",
1038
+ category: "advanced",
1039
+ icon: "CreditCard",
1040
+ description: "Collect payment via Stripe",
1041
+ defaultConfig: { type: "payment", provider: "stripe", publicKey: "", currency: "USD" }
1042
+ },
1003
1043
  // ── Structural ──
1004
1044
  section_header: {
1005
1045
  type: "section_header",
@@ -1104,7 +1144,7 @@ var DEFAULT_PALETTE = [
1104
1144
  {
1105
1145
  category: "text",
1106
1146
  label: "Text Input",
1107
- types: ["short_text", "long_text", "email", "phone", "url", "legal_name", "address"]
1147
+ types: ["short_text", "long_text", "email", "phone", "phone_international", "url", "legal_name", "address"]
1108
1148
  },
1109
1149
  {
1110
1150
  category: "numeric",
@@ -1114,17 +1154,17 @@ var DEFAULT_PALETTE = [
1114
1154
  {
1115
1155
  category: "selection",
1116
1156
  label: "Selection",
1117
- types: ["single_select", "multi_select", "dropdown", "boolean", "ranking"]
1157
+ types: ["single_select", "multi_select", "dropdown", "boolean", "ranking", "country_select"]
1118
1158
  },
1119
1159
  {
1120
1160
  category: "datetime",
1121
1161
  label: "Date & Time",
1122
- types: ["date", "time", "date_range"]
1162
+ types: ["date", "time", "date_range", "appointment"]
1123
1163
  },
1124
1164
  {
1125
1165
  category: "media",
1126
1166
  label: "Media",
1127
- types: ["file_upload", "signature"]
1167
+ types: ["file_upload", "signature", "image_capture"]
1128
1168
  },
1129
1169
  {
1130
1170
  category: "content",
@@ -1139,7 +1179,7 @@ var DEFAULT_PALETTE = [
1139
1179
  {
1140
1180
  category: "advanced",
1141
1181
  label: "Advanced",
1142
- types: ["repeater", "likert", "scoring", "matrix", "calculated", "hidden"]
1182
+ types: ["repeater", "likert", "scoring", "matrix", "calculated", "hidden", "payment"]
1143
1183
  }
1144
1184
  ];
1145
1185
 
@@ -4754,58 +4794,6 @@ function FormBuilderInner(props) {
4754
4794
  // src/form-builder/components/FormBuilderGated.tsx
4755
4795
  var FormBuilder = requireLicense(FormBuilderInner, "FormBuilder");
4756
4796
 
4757
- // src/form-builder/theme/presets.ts
4758
- var squaredrDarkPreset = {
4759
- background: "#0F1A1F",
4760
- foreground: "#E8EFF1",
4761
- card: "#16242A",
4762
- primary: "#63BDB4",
4763
- primaryForeground: "#0F1A1F",
4764
- secondary: "#182F31",
4765
- secondaryForeground: "#E8EFF1",
4766
- muted: "#182F31",
4767
- mutedForeground: "#8CA1A9",
4768
- accent: "#182F31",
4769
- accentForeground: "#E8EFF1",
4770
- destructive: "#E08072",
4771
- destructiveForeground: "#0F1A1F",
4772
- border: "#2A3B42",
4773
- input: "#2A3B42",
4774
- ring: "#63BDB4",
4775
- radius: "0px",
4776
- surface: "#16242A",
4777
- surfaceHover: "#182F31",
4778
- canvas: "#0F1A1F",
4779
- panel: "#16242A",
4780
- borderStrong: "#2F4F4C",
4781
- textDim: "#5E7680"
4782
- };
4783
- var cleanPreset = {
4784
- background: "#F4F7F8",
4785
- foreground: "#12222A",
4786
- card: "#FFFFFF",
4787
- primary: "#1F6B6E",
4788
- primaryForeground: "#FFFFFF",
4789
- secondary: "#EDF3F2",
4790
- secondaryForeground: "#12222A",
4791
- muted: "#EDF3F2",
4792
- mutedForeground: "#6A7B85",
4793
- accent: "#EDF3F2",
4794
- accentForeground: "#12222A",
4795
- destructive: "#B04A3C",
4796
- destructiveForeground: "#FFFFFF",
4797
- border: "#DCE4E8",
4798
- input: "#DCE4E8",
4799
- ring: "#1F6B6E",
4800
- radius: "0px",
4801
- surface: "#FAFCFC",
4802
- surfaceHover: "#EDF3F2",
4803
- canvas: "#F4F7F8",
4804
- panel: "#FFFFFF",
4805
- borderStrong: "#B9D1CF",
4806
- textDim: "#6A7B85"
4807
- };
4808
-
4809
4797
  exports.DEFAULT_PALETTE = DEFAULT_PALETTE;
4810
4798
  exports.DEFAULT_SCHEMA = DEFAULT_SCHEMA;
4811
4799
  exports.FormBuilder = FormBuilder;
@@ -4814,7 +4802,6 @@ exports.QUESTION_TYPE_INFO = QUESTION_TYPE_INFO;
4814
4802
  exports.addOption = addOption;
4815
4803
  exports.addQuestion = addQuestion;
4816
4804
  exports.addSection = addSection;
4817
- exports.cleanPreset = cleanPreset;
4818
4805
  exports.cn = cn;
4819
4806
  exports.duplicateQuestion = duplicateQuestion;
4820
4807
  exports.duplicateSection = duplicateSection;
@@ -4830,7 +4817,6 @@ exports.moveSection = moveSection;
4830
4817
  exports.removeOption = removeOption;
4831
4818
  exports.removeQuestion = removeQuestion;
4832
4819
  exports.removeSection = removeSection;
4833
- exports.squaredrDarkPreset = squaredrDarkPreset;
4834
4820
  exports.updateOption = updateOption;
4835
4821
  exports.updateQuestion = updateQuestion;
4836
4822
  exports.updateSection = updateSection;
@@ -1,3 +1,3 @@
1
- export { DEFAULT_PALETTE, DEFAULT_SCHEMA, FormBuilder, FormBuilderThemeProvider, QUESTION_TYPE_INFO, addOption, addQuestion, addSection, cleanPreset, duplicateQuestion, duplicateSection, findQuestion, findSection, generateId, generateOptionId, generateQuestionId, generateSectionId, moveOption, moveQuestion, moveSection, removeOption, removeQuestion, removeSection, squaredrDarkPreset, updateOption, updateQuestion, updateSection, useBuilderState, useBuilderTheme, useDragDrop, useUndoRedo } from '../chunk-BYT2P3I6.mjs';
1
+ export { DEFAULT_PALETTE, DEFAULT_SCHEMA, FormBuilder, FormBuilderThemeProvider, QUESTION_TYPE_INFO, addOption, addQuestion, addSection, duplicateQuestion, duplicateSection, findQuestion, findSection, generateId, generateOptionId, generateQuestionId, generateSectionId, moveOption, moveQuestion, moveSection, removeOption, removeQuestion, removeSection, updateOption, updateQuestion, updateSection, useBuilderState, useBuilderTheme, useDragDrop, useUndoRedo } from '../chunk-ANBMT5AW.mjs';
2
2
  export { cn } from '../chunk-QQ4JZGTD.mjs';
3
3
  import '../chunk-VECQKSWS.mjs';
@@ -228,27 +228,16 @@ type FormBuilderThemeProviderProps = {
228
228
  };
229
229
  declare function FormBuilderThemeProvider({ theme, children }: FormBuilderThemeProviderProps): react_jsx_runtime.JSX.Element;
230
230
 
231
- /**
232
- * Drafting Teal dark theme preset.
233
- * Matches fieldcraft.squaredr.tech dark mode.
234
- */
235
- declare const squaredrDarkPreset: FormBuilderTheme;
236
- /**
237
- * Drafting Teal light theme preset (default).
238
- * Matches fieldcraft.squaredr.tech light mode.
239
- */
240
- declare const cleanPreset: FormBuilderTheme;
241
-
242
231
  /**
243
232
  * Metadata for all question types available in the Pro palette.
244
233
  * Icons are lucide-react component names (imported dynamically via ICON_MAP).
245
234
  *
246
- * 39 field types — general-purpose form building.
235
+ * 44 field types — general-purpose form building.
247
236
  * Telehealth-specific fields (15) are in @squaredr/fieldcraft-pro-telehealth.
248
237
  */
249
238
  declare const QUESTION_TYPE_INFO: Record<string, QuestionTypeInfo>;
250
239
  /**
251
- * Default palette layout with categories (39 Pro field types).
240
+ * Default palette layout with categories (44 Pro field types).
252
241
  * Telehealth fields can be appended via FormBuilder's `palette` prop.
253
242
  */
254
243
  declare const DEFAULT_PALETTE: ({
@@ -395,4 +384,4 @@ declare function useDragDrop(builderState: BuilderStateHook): {
395
384
  */
396
385
  declare const DEFAULT_SCHEMA: FormEngineSchema;
397
386
 
398
- export { moveQuestion as A, type BuilderState as B, moveSection as C, DEFAULT_PALETTE as D, removeOption as E, FormBuilder as F, removeQuestion as G, removeSection as H, squaredrDarkPreset as I, updateOption as J, updateQuestion as K, updateSection as L, type MutationAction as M, useBuilderState as N, useBuilderTheme as O, type PaletteCategory as P, QUESTION_TYPE_INFO as Q, useDragDrop as R, type SelectedItem as S, useUndoRedo as T, type UndoRedoState as U, type BuilderStateHook as a, DEFAULT_SCHEMA as b, type DragItem as c, type DropTarget as d, type FormBuilderPreviewProps as e, type FormBuilderProps as f, type FormBuilderTemplate as g, type FormBuilderTheme as h, FormBuilderThemeProvider as i, type PropertyPanelTab as j, type QuestionTypeCategory as k, type QuestionTypeInfo as l, addOption as m, addQuestion as n, addSection as o, cleanPreset as p, cn as q, duplicateQuestion as r, duplicateSection as s, findQuestion as t, findSection as u, generateId as v, generateOptionId as w, generateQuestionId as x, generateSectionId as y, moveOption as z };
387
+ export { moveSection as A, type BuilderState as B, removeOption as C, DEFAULT_PALETTE as D, removeQuestion as E, FormBuilder as F, removeSection as G, updateOption as H, updateQuestion as I, updateSection as J, useBuilderState as K, useBuilderTheme as L, type MutationAction as M, useDragDrop as N, useUndoRedo as O, type PaletteCategory as P, QUESTION_TYPE_INFO as Q, type SelectedItem as S, type UndoRedoState as U, type BuilderStateHook as a, DEFAULT_SCHEMA as b, type DragItem as c, type DropTarget as d, type FormBuilderPreviewProps as e, type FormBuilderProps as f, type FormBuilderTemplate as g, type FormBuilderTheme as h, FormBuilderThemeProvider as i, type PropertyPanelTab as j, type QuestionTypeCategory as k, type QuestionTypeInfo as l, addOption as m, addQuestion as n, addSection as o, cn as p, duplicateQuestion as q, duplicateSection as r, findQuestion as s, findSection as t, generateId as u, generateOptionId as v, generateQuestionId as w, generateSectionId as x, moveOption as y, moveQuestion as z };
@@ -228,27 +228,16 @@ type FormBuilderThemeProviderProps = {
228
228
  };
229
229
  declare function FormBuilderThemeProvider({ theme, children }: FormBuilderThemeProviderProps): react_jsx_runtime.JSX.Element;
230
230
 
231
- /**
232
- * Drafting Teal dark theme preset.
233
- * Matches fieldcraft.squaredr.tech dark mode.
234
- */
235
- declare const squaredrDarkPreset: FormBuilderTheme;
236
- /**
237
- * Drafting Teal light theme preset (default).
238
- * Matches fieldcraft.squaredr.tech light mode.
239
- */
240
- declare const cleanPreset: FormBuilderTheme;
241
-
242
231
  /**
243
232
  * Metadata for all question types available in the Pro palette.
244
233
  * Icons are lucide-react component names (imported dynamically via ICON_MAP).
245
234
  *
246
- * 39 field types — general-purpose form building.
235
+ * 44 field types — general-purpose form building.
247
236
  * Telehealth-specific fields (15) are in @squaredr/fieldcraft-pro-telehealth.
248
237
  */
249
238
  declare const QUESTION_TYPE_INFO: Record<string, QuestionTypeInfo>;
250
239
  /**
251
- * Default palette layout with categories (39 Pro field types).
240
+ * Default palette layout with categories (44 Pro field types).
252
241
  * Telehealth fields can be appended via FormBuilder's `palette` prop.
253
242
  */
254
243
  declare const DEFAULT_PALETTE: ({
@@ -395,4 +384,4 @@ declare function useDragDrop(builderState: BuilderStateHook): {
395
384
  */
396
385
  declare const DEFAULT_SCHEMA: FormEngineSchema;
397
386
 
398
- export { moveQuestion as A, type BuilderState as B, moveSection as C, DEFAULT_PALETTE as D, removeOption as E, FormBuilder as F, removeQuestion as G, removeSection as H, squaredrDarkPreset as I, updateOption as J, updateQuestion as K, updateSection as L, type MutationAction as M, useBuilderState as N, useBuilderTheme as O, type PaletteCategory as P, QUESTION_TYPE_INFO as Q, useDragDrop as R, type SelectedItem as S, useUndoRedo as T, type UndoRedoState as U, type BuilderStateHook as a, DEFAULT_SCHEMA as b, type DragItem as c, type DropTarget as d, type FormBuilderPreviewProps as e, type FormBuilderProps as f, type FormBuilderTemplate as g, type FormBuilderTheme as h, FormBuilderThemeProvider as i, type PropertyPanelTab as j, type QuestionTypeCategory as k, type QuestionTypeInfo as l, addOption as m, addQuestion as n, addSection as o, cleanPreset as p, cn as q, duplicateQuestion as r, duplicateSection as s, findQuestion as t, findSection as u, generateId as v, generateOptionId as w, generateQuestionId as x, generateSectionId as y, moveOption as z };
387
+ export { moveSection as A, type BuilderState as B, removeOption as C, DEFAULT_PALETTE as D, removeQuestion as E, FormBuilder as F, removeSection as G, updateOption as H, updateQuestion as I, updateSection as J, useBuilderState as K, useBuilderTheme as L, type MutationAction as M, useDragDrop as N, useUndoRedo as O, type PaletteCategory as P, QUESTION_TYPE_INFO as Q, type SelectedItem as S, type UndoRedoState as U, type BuilderStateHook as a, DEFAULT_SCHEMA as b, type DragItem as c, type DropTarget as d, type FormBuilderPreviewProps as e, type FormBuilderProps as f, type FormBuilderTemplate as g, type FormBuilderTheme as h, FormBuilderThemeProvider as i, type PropertyPanelTab as j, type QuestionTypeCategory as k, type QuestionTypeInfo as l, addOption as m, addQuestion as n, addSection as o, cn as p, duplicateQuestion as q, duplicateSection as r, findQuestion as s, findSection as t, generateId as u, generateOptionId as v, generateQuestionId as w, generateSectionId as x, moveOption as y, moveQuestion as z };
package/dist/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, ComponentType } from 'react';
3
- export { B as BuilderState, a as BuilderStateHook, D as DEFAULT_PALETTE, b as DEFAULT_SCHEMA, c as DragItem, d as DropTarget, F as FormBuilder, e as FormBuilderPreviewProps, f as FormBuilderProps, g as FormBuilderTemplate, h as FormBuilderTheme, i as FormBuilderThemeProvider, M as MutationAction, P as PaletteCategory, j as PropertyPanelTab, Q as QUESTION_TYPE_INFO, k as QuestionTypeCategory, l as QuestionTypeInfo, S as SelectedItem, U as UndoRedoState, m as addOption, n as addQuestion, o as addSection, p as cleanPreset, q as cn, r as duplicateQuestion, s as duplicateSection, t as findQuestion, u as findSection, v as generateId, w as generateOptionId, x as generateQuestionId, y as generateSectionId, z as moveOption, A as moveQuestion, C as moveSection, E as removeOption, G as removeQuestion, H as removeSection, I as squaredrDarkPreset, J as updateOption, K as updateQuestion, L as updateSection, N as useBuilderState, O as useBuilderTheme, R as useDragDrop, T as useUndoRedo } from './index-nvIvXlmc.mjs';
3
+ export { B as BuilderState, a as BuilderStateHook, D as DEFAULT_PALETTE, b as DEFAULT_SCHEMA, c as DragItem, d as DropTarget, F as FormBuilder, e as FormBuilderPreviewProps, f as FormBuilderProps, g as FormBuilderTemplate, h as FormBuilderTheme, i as FormBuilderThemeProvider, M as MutationAction, P as PaletteCategory, j as PropertyPanelTab, Q as QUESTION_TYPE_INFO, k as QuestionTypeCategory, l as QuestionTypeInfo, S as SelectedItem, U as UndoRedoState, m as addOption, n as addQuestion, o as addSection, p as cn, q as duplicateQuestion, r as duplicateSection, s as findQuestion, t as findSection, u as generateId, v as generateOptionId, w as generateQuestionId, x as generateSectionId, y as moveOption, z as moveQuestion, A as moveSection, C as removeOption, E as removeQuestion, G as removeSection, H as updateOption, I as updateQuestion, J as updateSection, K as useBuilderState, L as useBuilderTheme, N as useDragDrop, O as useUndoRedo } from './index-D19524df.mjs';
4
+ import { FieldComponent, FieldProps } from '@squaredr/fieldcraft-react';
4
5
  export { ResponseField, ResponseViewer, ResponseViewerProps, ViewMode } from './response-viewer/index.mjs';
5
- export { P as PREVIEW_SCHEMA, T as ThemeEditor, a as ThemeEditorInner, b as ThemeEditorProps } from './preview-schema-DFvV4y6J.mjs';
6
+ export { PRESET_FAMILIES, PREVIEW_SCHEMA, PresetFamily, ThemeEditor, ThemeEditorInner, ThemeEditorProps, ThemeEditorTheme, ThemeEditorThemeProvider, resolveThemeFromDOM, themeEditorDarkPreset, themeEditorLightPreset, useEditorTheme } from './theme-editor/index.mjs';
6
7
  import '@squaredr/fieldcraft-core';
7
- import '@squaredr/fieldcraft-react';
8
8
  import 'clsx';
9
9
  import '@dnd-kit/core';
10
10
 
@@ -56,4 +56,30 @@ declare function UnlicensedOverlay({ featureName, reason, children }: Unlicensed
56
56
  */
57
57
  declare function isProductionEnvironment(): boolean;
58
58
 
59
- export { FieldCraftProProvider, type LicenseContext, type LicenseStatus, UnlicensedOverlay, isProductionEnvironment, requireLicense, useLicense, validateLicense };
59
+ /**
60
+ * Pro Payment Field — full Stripe integration with dual-mode support.
61
+ *
62
+ * Resolution order for getting clientSecret (first match wins):
63
+ * 1. `customProps.clientSecret` — direct mode (simplest)
64
+ * 2. `customProps.onCreatePaymentIntent` callback — Pro dev mode
65
+ * 3. `config.serverUrl` — SaaS mode (POST to create intent)
66
+ * 4. Nothing — show setup message
67
+ *
68
+ * Requires `@squaredr/paykit-react` and `@squaredr/paykit-stripe/client` as peer deps.
69
+ */
70
+ declare function ProPaymentField(props: FieldProps): react_jsx_runtime.JSX.Element;
71
+
72
+ /**
73
+ * PRO_FIELD_OVERRIDES registry — maps field types to Pro-enhanced components.
74
+ * Pass this to FormEngineRenderer's `components` prop to enable Pro payment:
75
+ *
76
+ * ```tsx
77
+ * import { PRO_FIELD_OVERRIDES } from "@squaredr/fieldcraft-pro";
78
+ * <FormEngineRenderer schema={schema} components={PRO_FIELD_OVERRIDES} />
79
+ * ```
80
+ */
81
+ declare const PRO_FIELD_OVERRIDES: {
82
+ readonly payment: FieldComponent;
83
+ };
84
+
85
+ export { FieldCraftProProvider, type LicenseContext, type LicenseStatus, PRO_FIELD_OVERRIDES, ProPaymentField, UnlicensedOverlay, isProductionEnvironment, requireLicense, useLicense, validateLicense };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, ComponentType } from 'react';
3
- export { B as BuilderState, a as BuilderStateHook, D as DEFAULT_PALETTE, b as DEFAULT_SCHEMA, c as DragItem, d as DropTarget, F as FormBuilder, e as FormBuilderPreviewProps, f as FormBuilderProps, g as FormBuilderTemplate, h as FormBuilderTheme, i as FormBuilderThemeProvider, M as MutationAction, P as PaletteCategory, j as PropertyPanelTab, Q as QUESTION_TYPE_INFO, k as QuestionTypeCategory, l as QuestionTypeInfo, S as SelectedItem, U as UndoRedoState, m as addOption, n as addQuestion, o as addSection, p as cleanPreset, q as cn, r as duplicateQuestion, s as duplicateSection, t as findQuestion, u as findSection, v as generateId, w as generateOptionId, x as generateQuestionId, y as generateSectionId, z as moveOption, A as moveQuestion, C as moveSection, E as removeOption, G as removeQuestion, H as removeSection, I as squaredrDarkPreset, J as updateOption, K as updateQuestion, L as updateSection, N as useBuilderState, O as useBuilderTheme, R as useDragDrop, T as useUndoRedo } from './index-nvIvXlmc.js';
3
+ export { B as BuilderState, a as BuilderStateHook, D as DEFAULT_PALETTE, b as DEFAULT_SCHEMA, c as DragItem, d as DropTarget, F as FormBuilder, e as FormBuilderPreviewProps, f as FormBuilderProps, g as FormBuilderTemplate, h as FormBuilderTheme, i as FormBuilderThemeProvider, M as MutationAction, P as PaletteCategory, j as PropertyPanelTab, Q as QUESTION_TYPE_INFO, k as QuestionTypeCategory, l as QuestionTypeInfo, S as SelectedItem, U as UndoRedoState, m as addOption, n as addQuestion, o as addSection, p as cn, q as duplicateQuestion, r as duplicateSection, s as findQuestion, t as findSection, u as generateId, v as generateOptionId, w as generateQuestionId, x as generateSectionId, y as moveOption, z as moveQuestion, A as moveSection, C as removeOption, E as removeQuestion, G as removeSection, H as updateOption, I as updateQuestion, J as updateSection, K as useBuilderState, L as useBuilderTheme, N as useDragDrop, O as useUndoRedo } from './index-D19524df.js';
4
+ import { FieldComponent, FieldProps } from '@squaredr/fieldcraft-react';
4
5
  export { ResponseField, ResponseViewer, ResponseViewerProps, ViewMode } from './response-viewer/index.js';
5
- export { P as PREVIEW_SCHEMA, T as ThemeEditor, a as ThemeEditorInner, b as ThemeEditorProps } from './preview-schema-DFvV4y6J.js';
6
+ export { PRESET_FAMILIES, PREVIEW_SCHEMA, PresetFamily, ThemeEditor, ThemeEditorInner, ThemeEditorProps, ThemeEditorTheme, ThemeEditorThemeProvider, resolveThemeFromDOM, themeEditorDarkPreset, themeEditorLightPreset, useEditorTheme } from './theme-editor/index.js';
6
7
  import '@squaredr/fieldcraft-core';
7
- import '@squaredr/fieldcraft-react';
8
8
  import 'clsx';
9
9
  import '@dnd-kit/core';
10
10
 
@@ -56,4 +56,30 @@ declare function UnlicensedOverlay({ featureName, reason, children }: Unlicensed
56
56
  */
57
57
  declare function isProductionEnvironment(): boolean;
58
58
 
59
- export { FieldCraftProProvider, type LicenseContext, type LicenseStatus, UnlicensedOverlay, isProductionEnvironment, requireLicense, useLicense, validateLicense };
59
+ /**
60
+ * Pro Payment Field — full Stripe integration with dual-mode support.
61
+ *
62
+ * Resolution order for getting clientSecret (first match wins):
63
+ * 1. `customProps.clientSecret` — direct mode (simplest)
64
+ * 2. `customProps.onCreatePaymentIntent` callback — Pro dev mode
65
+ * 3. `config.serverUrl` — SaaS mode (POST to create intent)
66
+ * 4. Nothing — show setup message
67
+ *
68
+ * Requires `@squaredr/paykit-react` and `@squaredr/paykit-stripe/client` as peer deps.
69
+ */
70
+ declare function ProPaymentField(props: FieldProps): react_jsx_runtime.JSX.Element;
71
+
72
+ /**
73
+ * PRO_FIELD_OVERRIDES registry — maps field types to Pro-enhanced components.
74
+ * Pass this to FormEngineRenderer's `components` prop to enable Pro payment:
75
+ *
76
+ * ```tsx
77
+ * import { PRO_FIELD_OVERRIDES } from "@squaredr/fieldcraft-pro";
78
+ * <FormEngineRenderer schema={schema} components={PRO_FIELD_OVERRIDES} />
79
+ * ```
80
+ */
81
+ declare const PRO_FIELD_OVERRIDES: {
82
+ readonly payment: FieldComponent;
83
+ };
84
+
85
+ export { FieldCraftProProvider, type LicenseContext, type LicenseStatus, PRO_FIELD_OVERRIDES, ProPaymentField, UnlicensedOverlay, isProductionEnvironment, requireLicense, useLicense, validateLicense };