@qwickapps/react-framework 1.5.13 → 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.
Files changed (46) hide show
  1. package/dist/components/forms/Captcha.d.ts +33 -28
  2. package/dist/components/forms/Captcha.d.ts.map +1 -1
  3. package/dist/components/forms/FormCheckbox.d.ts +15 -12
  4. package/dist/components/forms/FormCheckbox.d.ts.map +1 -1
  5. package/dist/components/forms/FormField.d.ts +20 -23
  6. package/dist/components/forms/FormField.d.ts.map +1 -1
  7. package/dist/components/forms/FormSelect.d.ts +16 -15
  8. package/dist/components/forms/FormSelect.d.ts.map +1 -1
  9. package/dist/hooks/useBaseProps.d.ts +27 -1172
  10. package/dist/hooks/useBaseProps.d.ts.map +1 -1
  11. package/dist/index.esm.js +349 -156
  12. package/dist/index.js +348 -155
  13. package/dist/palettes/manifest.json +19 -19
  14. package/dist/schemas/CaptchaSchema.d.ts +16 -0
  15. package/dist/schemas/CaptchaSchema.d.ts.map +1 -0
  16. package/dist/schemas/FormCheckboxSchema.d.ts +16 -0
  17. package/dist/schemas/FormCheckboxSchema.d.ts.map +1 -0
  18. package/dist/schemas/FormFieldSchema.d.ts +23 -0
  19. package/dist/schemas/FormFieldSchema.d.ts.map +1 -0
  20. package/dist/schemas/FormSelectSchema.d.ts +20 -0
  21. package/dist/schemas/FormSelectSchema.d.ts.map +1 -0
  22. package/dist/schemas/index.d.ts +4 -0
  23. package/dist/schemas/index.d.ts.map +1 -1
  24. package/package.json +1 -1
  25. package/src/components/forms/Captcha.tsx +57 -63
  26. package/src/components/forms/FormCheckbox.tsx +35 -43
  27. package/src/components/forms/FormField.tsx +50 -66
  28. package/src/components/forms/FormSelect.tsx +41 -49
  29. package/src/hooks/useBaseProps.ts +34 -1
  30. package/src/schemas/CaptchaSchema.ts +65 -0
  31. package/src/schemas/FormCheckboxSchema.ts +65 -0
  32. package/src/schemas/FormFieldSchema.ts +140 -0
  33. package/src/schemas/FormSelectSchema.ts +108 -0
  34. package/src/schemas/index.ts +4 -0
  35. /package/dist/palettes/{palette-autumn.1.5.13.css → palette-autumn.1.6.0.css} +0 -0
  36. /package/dist/palettes/{palette-autumn.1.5.13.min.css → palette-autumn.1.6.0.min.css} +0 -0
  37. /package/dist/palettes/{palette-cosmic.1.5.13.css → palette-cosmic.1.6.0.css} +0 -0
  38. /package/dist/palettes/{palette-cosmic.1.5.13.min.css → palette-cosmic.1.6.0.min.css} +0 -0
  39. /package/dist/palettes/{palette-default.1.5.13.css → palette-default.1.6.0.css} +0 -0
  40. /package/dist/palettes/{palette-default.1.5.13.min.css → palette-default.1.6.0.min.css} +0 -0
  41. /package/dist/palettes/{palette-ocean.1.5.13.css → palette-ocean.1.6.0.css} +0 -0
  42. /package/dist/palettes/{palette-ocean.1.5.13.min.css → palette-ocean.1.6.0.min.css} +0 -0
  43. /package/dist/palettes/{palette-spring.1.5.13.css → palette-spring.1.6.0.css} +0 -0
  44. /package/dist/palettes/{palette-spring.1.5.13.min.css → palette-spring.1.6.0.min.css} +0 -0
  45. /package/dist/palettes/{palette-winter.1.5.13.css → palette-winter.1.6.0.css} +0 -0
  46. /package/dist/palettes/{palette-winter.1.5.13.min.css → palette-winter.1.6.0.min.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useBaseProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBaseProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useBaseProps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC;IAG3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAGpD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAA8B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,kBAAkB;IAC3D,SAAS,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,UAAU,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;IACF,SAAS,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KAC3C,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CA8KvF;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,kBAAkB,CAAC"}
package/dist/index.esm.js CHANGED
@@ -22974,36 +22974,31 @@ function DialogContentText({
22974
22974
  });
22975
22975
  }
22976
22976
 
22977
- const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
22978
- const {
22979
- gridProps,
22980
- styleProps,
22981
- htmlProps,
22982
- restProps
22983
- } = useBaseProps(props);
22984
- const {
22985
- label,
22986
- value,
22987
- onChange,
22988
- onChangeRaw,
22989
- type = 'text',
22990
- helperText,
22991
- required = false,
22992
- readOnly = false,
22993
- disabled = false,
22994
- disabledColor,
22995
- fullWidth = true,
22996
- multiline = false,
22997
- rows,
22998
- placeholder,
22999
- startAdornment,
23000
- endAdornment,
23001
- inputProps
23002
- } = restProps;
23003
- // Generate a unique ID for the input field
22977
+ /**
22978
+ * FormFieldView - Pure view component that renders the input field
22979
+ */
22980
+ function FormFieldView({
22981
+ label,
22982
+ value,
22983
+ onChange,
22984
+ onChangeRaw,
22985
+ type = 'text',
22986
+ helperText,
22987
+ required = false,
22988
+ readOnly = false,
22989
+ disabled = false,
22990
+ disabledColor,
22991
+ fullWidth = true,
22992
+ multiline = false,
22993
+ rows,
22994
+ placeholder,
22995
+ startAdornment,
22996
+ endAdornment,
22997
+ inputProps,
22998
+ ...restProps
22999
+ }) {
23004
23000
  const fieldId = React.useId();
23005
23001
  const handleChange = e => {
23006
- // If onChangeRaw is provided, use it instead
23007
23002
  if (onChangeRaw) {
23008
23003
  onChangeRaw(e);
23009
23004
  return;
@@ -23027,8 +23022,7 @@ const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
23027
23022
  '& input.Mui-disabled': disabledColor ? {
23028
23023
  color: disabledColor,
23029
23024
  WebkitTextFillColor: disabledColor
23030
- } : undefined,
23031
- ...styleProps.sx
23025
+ } : undefined
23032
23026
  };
23033
23027
  const labelStyles = {
23034
23028
  left: -12,
@@ -23039,18 +23033,8 @@ const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
23039
23033
  color: 'var(--theme-secondary)'
23040
23034
  };
23041
23035
  return jsxs(FormControl, {
23042
- ref: ref,
23043
23036
  fullWidth: fullWidth,
23044
- ...htmlProps,
23045
- ...styleProps,
23046
- ...(gridProps && {
23047
- 'data-grid-span': gridProps.span,
23048
- 'data-grid-xs': gridProps.xs,
23049
- 'data-grid-sm': gridProps.sm,
23050
- 'data-grid-md': gridProps.md,
23051
- 'data-grid-lg': gridProps.lg,
23052
- 'data-grid-xl': gridProps.xl
23053
- }),
23037
+ ...restProps,
23054
23038
  children: [jsx(InputLabel, {
23055
23039
  htmlFor: fieldId,
23056
23040
  sx: labelStyles,
@@ -23082,32 +23066,33 @@ const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
23082
23066
  children: helperText
23083
23067
  })]
23084
23068
  });
23085
- });
23086
- FormField.displayName = 'FormField';
23087
- // Mark as QwickApp component
23088
- Object.assign(FormField, {
23089
- [QWICKAPP_COMPONENT]: true
23069
+ }
23070
+ /**
23071
+ * Create FormField component using the factory pattern
23072
+ */
23073
+ const FormField = createSerializableView({
23074
+ tagName: 'FormField',
23075
+ version: '1.0.0',
23076
+ role: 'input',
23077
+ View: FormFieldView
23090
23078
  });
23091
23079
 
23092
- const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
23093
- const {
23094
- gridProps,
23095
- styleProps,
23096
- htmlProps,
23097
- restProps
23098
- } = useBaseProps(props);
23099
- const {
23100
- label,
23101
- value,
23102
- onChange,
23103
- options,
23104
- helperText,
23105
- required = false,
23106
- disabled = false,
23107
- fullWidth = true,
23108
- size = 'small',
23109
- placeholder
23110
- } = restProps;
23080
+ /**
23081
+ * FormSelectView - Pure view component that renders the select field
23082
+ */
23083
+ function FormSelectView({
23084
+ label,
23085
+ value,
23086
+ onChange,
23087
+ options,
23088
+ helperText,
23089
+ required = false,
23090
+ disabled = false,
23091
+ fullWidth = true,
23092
+ size = 'small',
23093
+ placeholder,
23094
+ ...restProps
23095
+ }) {
23111
23096
  const handleChange = e => {
23112
23097
  onChange(e.target.value);
23113
23098
  };
@@ -23121,8 +23106,7 @@ const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
23121
23106
  backgroundColor: 'var(--theme-surface-variant)',
23122
23107
  borderColor: 'var(--theme-surface)',
23123
23108
  color: 'var(--theme-text-primary)',
23124
- borderRadius: 1,
23125
- ...styleProps.sx
23109
+ borderRadius: 1
23126
23110
  };
23127
23111
  const labelStyles = {
23128
23112
  left: -12,
@@ -23133,19 +23117,9 @@ const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
23133
23117
  color: 'var(--theme-secondary)'
23134
23118
  };
23135
23119
  return jsxs(FormControl, {
23136
- ref: ref,
23137
23120
  fullWidth: fullWidth,
23138
23121
  size: size,
23139
- ...htmlProps,
23140
- ...styleProps,
23141
- ...(gridProps && {
23142
- 'data-grid-span': gridProps.span,
23143
- 'data-grid-xs': gridProps.xs,
23144
- 'data-grid-sm': gridProps.sm,
23145
- 'data-grid-md': gridProps.md,
23146
- 'data-grid-lg': gridProps.lg,
23147
- 'data-grid-xl': gridProps.xl
23148
- }),
23122
+ ...restProps,
23149
23123
  children: [label && jsx(InputLabel, {
23150
23124
  sx: labelStyles,
23151
23125
  shrink: true,
@@ -23170,28 +23144,29 @@ const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
23170
23144
  children: helperText
23171
23145
  })]
23172
23146
  });
23173
- });
23174
- FormSelect.displayName = 'FormSelect';
23175
- // Mark as QwickApp component
23176
- Object.assign(FormSelect, {
23177
- [QWICKAPP_COMPONENT]: true
23147
+ }
23148
+ /**
23149
+ * Create FormSelect component using the factory pattern
23150
+ */
23151
+ const FormSelect = createSerializableView({
23152
+ tagName: 'FormSelect',
23153
+ version: '1.0.0',
23154
+ role: 'input',
23155
+ View: FormSelectView
23178
23156
  });
23179
23157
 
23180
- const FormCheckbox = /*#__PURE__*/React.forwardRef((props, ref) => {
23181
- const {
23182
- gridProps,
23183
- styleProps,
23184
- htmlProps,
23185
- restProps
23186
- } = useBaseProps(props);
23187
- const {
23188
- label,
23189
- checked,
23190
- onChange,
23191
- helperText,
23192
- required = false,
23193
- disabled = false
23194
- } = restProps;
23158
+ /**
23159
+ * FormCheckboxView - Pure view component that renders the checkbox
23160
+ */
23161
+ function FormCheckboxView({
23162
+ label,
23163
+ checked,
23164
+ onChange,
23165
+ helperText,
23166
+ required = false,
23167
+ disabled = false,
23168
+ ...restProps
23169
+ }) {
23195
23170
  const handleChange = e => {
23196
23171
  onChange(e.target.checked);
23197
23172
  };
@@ -23211,25 +23186,14 @@ const FormCheckbox = /*#__PURE__*/React.forwardRef((props, ref) => {
23211
23186
  },
23212
23187
  '& .MuiFormControlLabel-label.Mui-disabled': {
23213
23188
  color: 'var(--theme-text-disabled)'
23214
- },
23215
- ...styleProps.sx
23189
+ }
23216
23190
  };
23217
23191
  const helperTextStyles = {
23218
23192
  color: 'var(--theme-secondary)',
23219
- marginLeft: '32px' // Align with checkbox + label
23193
+ marginLeft: '32px'
23220
23194
  };
23221
23195
  return jsxs(FormControl, {
23222
- ref: ref,
23223
- ...htmlProps,
23224
- ...styleProps,
23225
- ...(gridProps && {
23226
- 'data-grid-span': gridProps.span,
23227
- 'data-grid-xs': gridProps.xs,
23228
- 'data-grid-sm': gridProps.sm,
23229
- 'data-grid-md': gridProps.md,
23230
- 'data-grid-lg': gridProps.lg,
23231
- 'data-grid-xl': gridProps.xl
23232
- }),
23196
+ ...restProps,
23233
23197
  children: [jsx(FormControlLabel, {
23234
23198
  control: jsx(Checkbox, {
23235
23199
  checked: checked,
@@ -23245,30 +23209,31 @@ const FormCheckbox = /*#__PURE__*/React.forwardRef((props, ref) => {
23245
23209
  children: helperText
23246
23210
  })]
23247
23211
  });
23248
- });
23249
- FormCheckbox.displayName = 'FormCheckbox';
23250
- // Mark as QwickApp component
23251
- Object.assign(FormCheckbox, {
23252
- [QWICKAPP_COMPONENT]: true
23212
+ }
23213
+ /**
23214
+ * Create FormCheckbox component using the factory pattern
23215
+ */
23216
+ const FormCheckbox = createSerializableView({
23217
+ tagName: 'FormCheckbox',
23218
+ version: '1.0.0',
23219
+ role: 'input',
23220
+ View: FormCheckboxView
23253
23221
  });
23254
23222
 
23255
- const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23256
- const {
23257
- gridProps,
23258
- styleProps,
23259
- htmlProps,
23260
- restProps
23261
- } = useBaseProps(props);
23262
- const {
23263
- provider,
23264
- siteKey,
23265
- onVerify,
23266
- onExpire,
23267
- onError,
23268
- theme = 'light',
23269
- size = 'normal',
23270
- action = 'submit'
23271
- } = restProps;
23223
+ /**
23224
+ * CaptchaView - Pure view component that renders the CAPTCHA widget
23225
+ */
23226
+ function CaptchaView({
23227
+ provider,
23228
+ siteKey,
23229
+ onVerify,
23230
+ onExpire,
23231
+ onError,
23232
+ theme = 'light',
23233
+ size = 'normal',
23234
+ action = 'submit',
23235
+ ...restProps
23236
+ }) {
23272
23237
  const containerRef = useRef(null);
23273
23238
  const widgetIdRef = useRef(null);
23274
23239
  const [isLoaded, setIsLoaded] = useState(false);
@@ -23341,7 +23306,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23341
23306
  try {
23342
23307
  switch (provider) {
23343
23308
  case 'recaptcha-v2':
23344
- if (window.grecaptcha && window.grecaptcha.render) {
23309
+ if (window.grecaptcha?.render) {
23345
23310
  widgetIdRef.current = window.grecaptcha.render(containerRef.current, {
23346
23311
  sitekey: siteKey,
23347
23312
  callback: onVerify,
@@ -23358,7 +23323,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23358
23323
  break;
23359
23324
  case 'recaptcha-v3':
23360
23325
  // reCAPTCHA v3 is invisible and executes programmatically
23361
- if (window.grecaptcha && window.grecaptcha.execute) {
23326
+ if (window.grecaptcha?.execute) {
23362
23327
  window.grecaptcha.execute(siteKey, {
23363
23328
  action
23364
23329
  }).then(token => {
@@ -23370,7 +23335,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23370
23335
  }
23371
23336
  break;
23372
23337
  case 'hcaptcha':
23373
- if (window.hcaptcha && window.hcaptcha.render) {
23338
+ if (window.hcaptcha?.render) {
23374
23339
  widgetIdRef.current = window.hcaptcha.render(containerRef.current, {
23375
23340
  sitekey: siteKey,
23376
23341
  callback: onVerify,
@@ -23386,7 +23351,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23386
23351
  }
23387
23352
  break;
23388
23353
  case 'turnstile':
23389
- if (window.turnstile && window.turnstile.render) {
23354
+ if (window.turnstile?.render) {
23390
23355
  widgetIdRef.current = window.turnstile.render(containerRef.current, {
23391
23356
  sitekey: siteKey,
23392
23357
  callback: onVerify,
@@ -23437,20 +23402,10 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23437
23402
  return null;
23438
23403
  }
23439
23404
  return jsxs(Box, {
23440
- ref: ref,
23441
- ...htmlProps,
23405
+ ...restProps,
23442
23406
  sx: {
23443
- my: 2,
23444
- ...styleProps.sx
23407
+ my: 2
23445
23408
  },
23446
- ...(gridProps && {
23447
- 'data-grid-span': gridProps.span,
23448
- 'data-grid-xs': gridProps.xs,
23449
- 'data-grid-sm': gridProps.sm,
23450
- 'data-grid-md': gridProps.md,
23451
- 'data-grid-lg': gridProps.lg,
23452
- 'data-grid-xl': gridProps.xl
23453
- }),
23454
23409
  children: [error && jsx(Alert, {
23455
23410
  severity: "error",
23456
23411
  sx: {
@@ -23461,11 +23416,15 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
23461
23416
  ref: containerRef
23462
23417
  })]
23463
23418
  });
23464
- });
23465
- Captcha.displayName = 'Captcha';
23466
- // Mark as QwickApp component
23467
- Object.assign(Captcha, {
23468
- [QWICKAPP_COMPONENT]: true
23419
+ }
23420
+ /**
23421
+ * Create Captcha component using the factory pattern
23422
+ */
23423
+ const Captcha = createSerializableView({
23424
+ tagName: 'Captcha',
23425
+ version: '1.0.0',
23426
+ role: 'input',
23427
+ View: CaptchaView
23469
23428
  });
23470
23429
 
23471
23430
  /**
@@ -31064,6 +31023,240 @@ __decorate([Field(), Editor({
31064
31023
  }), IsOptional(), IsString(), __metadata("design:type", String)], FormBlockModel.prototype, "backgroundImage", void 0);
31065
31024
  FormBlockModel = __decorate([Schema('FormBlock', '1.0.0')], FormBlockModel);
31066
31025
 
31026
+ /**
31027
+ * Schema for FormSelect component - Themed dropdown select input
31028
+ *
31029
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
31030
+ */
31031
+ let FormSelectModel = class FormSelectModel extends ViewSchema$1 {};
31032
+ __decorate([Field(), Editor({
31033
+ field_type: FieldType.TEXT,
31034
+ label: 'Label',
31035
+ description: 'Label text for the select field',
31036
+ placeholder: 'Enter label...'
31037
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormSelectModel.prototype, "label", void 0);
31038
+ __decorate([Field(), Editor({
31039
+ field_type: FieldType.TEXT,
31040
+ label: 'Value',
31041
+ description: 'Current selected value',
31042
+ placeholder: ''
31043
+ }), IsString(), __metadata("design:type", Object)], FormSelectModel.prototype, "value", void 0);
31044
+ __decorate([Field(), Editor({
31045
+ field_type: FieldType.TEXTAREA,
31046
+ label: 'Options',
31047
+ description: 'Select options as JSON array: [{"value": "1", "label": "Option 1"}]',
31048
+ placeholder: '[{"value": "1", "label": "Option 1"}]'
31049
+ }), IsString(), __metadata("design:type", String)], FormSelectModel.prototype, "options", void 0);
31050
+ __decorate([Field(), Editor({
31051
+ field_type: FieldType.TEXT,
31052
+ label: 'Helper Text',
31053
+ description: 'Helper text displayed below the select',
31054
+ placeholder: 'Enter helper text...'
31055
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormSelectModel.prototype, "helperText", void 0);
31056
+ __decorate([Field({
31057
+ defaultValue: false
31058
+ }), Editor({
31059
+ field_type: FieldType.BOOLEAN,
31060
+ label: 'Required',
31061
+ description: 'Mark field as required'
31062
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormSelectModel.prototype, "required", void 0);
31063
+ __decorate([Field({
31064
+ defaultValue: false
31065
+ }), Editor({
31066
+ field_type: FieldType.BOOLEAN,
31067
+ label: 'Disabled',
31068
+ description: 'Disable the select field'
31069
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormSelectModel.prototype, "disabled", void 0);
31070
+ __decorate([Field({
31071
+ defaultValue: true
31072
+ }), Editor({
31073
+ field_type: FieldType.BOOLEAN,
31074
+ label: 'Full Width',
31075
+ description: 'Make select take full width of container'
31076
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormSelectModel.prototype, "fullWidth", void 0);
31077
+ __decorate([Field({
31078
+ defaultValue: 'small'
31079
+ }), Editor({
31080
+ field_type: FieldType.SELECT,
31081
+ label: 'Size',
31082
+ description: 'Size variant of the select field'
31083
+ }), IsOptional(), IsIn(['small', 'medium']), __metadata("design:type", String)], FormSelectModel.prototype, "size", void 0);
31084
+ __decorate([Field(), Editor({
31085
+ field_type: FieldType.TEXT,
31086
+ label: 'Placeholder',
31087
+ description: 'Placeholder text when no value is selected',
31088
+ placeholder: 'Select an option...'
31089
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormSelectModel.prototype, "placeholder", void 0);
31090
+ FormSelectModel = __decorate([Schema('FormSelect', '1.0.0')], FormSelectModel);
31091
+
31092
+ /**
31093
+ * Schema for FormField component - Themed text/number input field
31094
+ *
31095
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
31096
+ */
31097
+ let FormFieldModel = class FormFieldModel extends ViewSchema$1 {};
31098
+ __decorate([Field(), Editor({
31099
+ field_type: FieldType.TEXT,
31100
+ label: 'Label',
31101
+ description: 'Label text for the input field',
31102
+ placeholder: 'Enter label...'
31103
+ }), IsString(), __metadata("design:type", String)], FormFieldModel.prototype, "label", void 0);
31104
+ __decorate([Field(), Editor({
31105
+ field_type: FieldType.TEXT,
31106
+ label: 'Value',
31107
+ description: 'Current input value',
31108
+ placeholder: ''
31109
+ }), IsString(), __metadata("design:type", Object)], FormFieldModel.prototype, "value", void 0);
31110
+ __decorate([Field({
31111
+ defaultValue: 'text'
31112
+ }), Editor({
31113
+ field_type: FieldType.SELECT,
31114
+ label: 'Input Type',
31115
+ description: 'Type of input field'
31116
+ }), IsOptional(), IsIn(['text', 'number', 'password', 'email', 'tel']), __metadata("design:type", String)], FormFieldModel.prototype, "type", void 0);
31117
+ __decorate([Field(), Editor({
31118
+ field_type: FieldType.TEXT,
31119
+ label: 'Helper Text',
31120
+ description: 'Helper text displayed below the input',
31121
+ placeholder: 'Enter helper text...'
31122
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormFieldModel.prototype, "helperText", void 0);
31123
+ __decorate([Field({
31124
+ defaultValue: false
31125
+ }), Editor({
31126
+ field_type: FieldType.BOOLEAN,
31127
+ label: 'Required',
31128
+ description: 'Mark field as required'
31129
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormFieldModel.prototype, "required", void 0);
31130
+ __decorate([Field({
31131
+ defaultValue: false
31132
+ }), Editor({
31133
+ field_type: FieldType.BOOLEAN,
31134
+ label: 'Read Only',
31135
+ description: 'Make field read-only'
31136
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormFieldModel.prototype, "readOnly", void 0);
31137
+ __decorate([Field({
31138
+ defaultValue: false
31139
+ }), Editor({
31140
+ field_type: FieldType.BOOLEAN,
31141
+ label: 'Disabled',
31142
+ description: 'Disable the input field'
31143
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormFieldModel.prototype, "disabled", void 0);
31144
+ __decorate([Field(), Editor({
31145
+ field_type: FieldType.TEXT,
31146
+ label: 'Disabled Color',
31147
+ description: 'Custom color for disabled state (CSS color value)',
31148
+ placeholder: 'var(--theme-text-disabled)'
31149
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormFieldModel.prototype, "disabledColor", void 0);
31150
+ __decorate([Field({
31151
+ defaultValue: true
31152
+ }), Editor({
31153
+ field_type: FieldType.BOOLEAN,
31154
+ label: 'Full Width',
31155
+ description: 'Make input take full width of container'
31156
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormFieldModel.prototype, "fullWidth", void 0);
31157
+ __decorate([Field({
31158
+ defaultValue: false
31159
+ }), Editor({
31160
+ field_type: FieldType.BOOLEAN,
31161
+ label: 'Multiline',
31162
+ description: 'Enable multiline textarea mode'
31163
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormFieldModel.prototype, "multiline", void 0);
31164
+ __decorate([Field(), Editor({
31165
+ field_type: FieldType.TEXT,
31166
+ label: 'Rows',
31167
+ description: 'Number of rows for multiline textarea',
31168
+ placeholder: '4'
31169
+ }), IsOptional(), IsInt(), Min(1), __metadata("design:type", Number)], FormFieldModel.prototype, "rows", void 0);
31170
+ __decorate([Field(), Editor({
31171
+ field_type: FieldType.TEXT,
31172
+ label: 'Placeholder',
31173
+ description: 'Placeholder text',
31174
+ placeholder: 'Enter text...'
31175
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormFieldModel.prototype, "placeholder", void 0);
31176
+ FormFieldModel = __decorate([Schema('FormField', '1.0.0')], FormFieldModel);
31177
+
31178
+ /**
31179
+ * Schema for FormCheckbox component - Themed checkbox input
31180
+ *
31181
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
31182
+ */
31183
+ let FormCheckboxModel = class FormCheckboxModel extends ViewSchema$1 {};
31184
+ __decorate([Field(), Editor({
31185
+ field_type: FieldType.TEXT,
31186
+ label: 'Label',
31187
+ description: 'Label text for the checkbox',
31188
+ placeholder: 'Enter label...'
31189
+ }), IsString(), __metadata("design:type", String)], FormCheckboxModel.prototype, "label", void 0);
31190
+ __decorate([Field({
31191
+ defaultValue: false
31192
+ }), Editor({
31193
+ field_type: FieldType.BOOLEAN,
31194
+ label: 'Checked',
31195
+ description: 'Checkbox checked state'
31196
+ }), IsBoolean(), __metadata("design:type", Boolean)], FormCheckboxModel.prototype, "checked", void 0);
31197
+ __decorate([Field(), Editor({
31198
+ field_type: FieldType.TEXT,
31199
+ label: 'Helper Text',
31200
+ description: 'Helper text displayed below the checkbox',
31201
+ placeholder: 'Enter helper text...'
31202
+ }), IsOptional(), IsString(), __metadata("design:type", String)], FormCheckboxModel.prototype, "helperText", void 0);
31203
+ __decorate([Field({
31204
+ defaultValue: false
31205
+ }), Editor({
31206
+ field_type: FieldType.BOOLEAN,
31207
+ label: 'Required',
31208
+ description: 'Mark checkbox as required'
31209
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormCheckboxModel.prototype, "required", void 0);
31210
+ __decorate([Field({
31211
+ defaultValue: false
31212
+ }), Editor({
31213
+ field_type: FieldType.BOOLEAN,
31214
+ label: 'Disabled',
31215
+ description: 'Disable the checkbox'
31216
+ }), IsOptional(), IsBoolean(), __metadata("design:type", Boolean)], FormCheckboxModel.prototype, "disabled", void 0);
31217
+ FormCheckboxModel = __decorate([Schema('FormCheckbox', '1.0.0')], FormCheckboxModel);
31218
+
31219
+ /**
31220
+ * Schema for Captcha component - Universal CAPTCHA widget
31221
+ *
31222
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
31223
+ */
31224
+ let CaptchaModel = class CaptchaModel extends ViewSchema$1 {};
31225
+ __decorate([Field(), Editor({
31226
+ field_type: FieldType.SELECT,
31227
+ label: 'CAPTCHA Provider',
31228
+ description: 'Which CAPTCHA service to use'
31229
+ }), IsIn(['recaptcha-v2', 'recaptcha-v3', 'hcaptcha', 'turnstile']), __metadata("design:type", String)], CaptchaModel.prototype, "provider", void 0);
31230
+ __decorate([Field(), Editor({
31231
+ field_type: FieldType.TEXT,
31232
+ label: 'Site Key',
31233
+ description: 'Public site key from CAPTCHA provider',
31234
+ placeholder: 'Enter site key...'
31235
+ }), IsString(), __metadata("design:type", String)], CaptchaModel.prototype, "siteKey", void 0);
31236
+ __decorate([Field({
31237
+ defaultValue: 'light'
31238
+ }), Editor({
31239
+ field_type: FieldType.SELECT,
31240
+ label: 'Theme',
31241
+ description: 'CAPTCHA widget theme'
31242
+ }), IsOptional(), IsIn(['light', 'dark']), __metadata("design:type", String)], CaptchaModel.prototype, "theme", void 0);
31243
+ __decorate([Field({
31244
+ defaultValue: 'normal'
31245
+ }), Editor({
31246
+ field_type: FieldType.SELECT,
31247
+ label: 'Size',
31248
+ description: 'CAPTCHA widget size'
31249
+ }), IsOptional(), IsIn(['normal', 'compact', 'invisible']), __metadata("design:type", String)], CaptchaModel.prototype, "size", void 0);
31250
+ __decorate([Field({
31251
+ defaultValue: 'submit'
31252
+ }), Editor({
31253
+ field_type: FieldType.TEXT,
31254
+ label: 'Action',
31255
+ description: 'reCAPTCHA v3 action name',
31256
+ placeholder: 'submit'
31257
+ }), IsOptional(), IsString(), __metadata("design:type", String)], CaptchaModel.prototype, "action", void 0);
31258
+ CaptchaModel = __decorate([Schema('Captcha', '1.0.0')], CaptchaModel);
31259
+
31067
31260
  /**
31068
31261
  * FooterSection Schema - Defines data structure for footer sections
31069
31262
  *
@@ -33239,4 +33432,4 @@ __decorate([Field({
33239
33432
  }), IsOptional(), __metadata("design:type", Boolean)], PageTemplateSchema.prototype, "indexable", void 0);
33240
33433
  PageTemplateSchema = __decorate([Schema('PageTemplate', '1.0.0')], PageTemplateSchema);
33241
33434
 
33242
- export { AVAILABLE_PALETTES, AccessibilityProvider, ActionModel, ActionType, AllPalettes, AppConfig, AppConfigBuilder, Article, ArticleModel, Breadcrumbs, Button, Captcha, CardListGrid, CardListGridModel, ChoiceInputField, ChoiceInputFieldModel, Code, CodeModel, CollapsibleLayout, CollapsibleLayoutView, ComponentTransformer$1 as ComponentTransformer, Container$8 as Container, Content, ContentModel, CoverImageHeader, CoverImageHeaderModel, DataProvider, DataProxy, DataTable, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DimensionsProvider, ErrorBoundary, FeatureCard, FeatureCardActionModel, FeatureCardModel, FeatureGrid, FeatureGridModel, FeatureItemModel, Footer, FooterItemModel, FooterModel, FooterSectionModel, FormBlock, FormBlockModel, FormCheckbox, FormField, FormMethod, FormPage, FormSelect, GalleryImageModel, GridCell, GridCellModel, GridLayout, GridLayoutModel, HeaderActionModel, HeroBlock, HeroBlockModel, Html, HtmlInputField, HtmlModel, Image, ImageGallery, ImageGalleryModel, ImageModel, Logo, Markdown, MarkdownModel, MetadataItemModel, ModelView, NavigationProvider, OptionSelector, OptionSelectorModel, Page, PageBannerHeader, PageBannerHeaderModel, PageTemplateSchema, PaletteAutumn, PaletteCosmic, PaletteDefault, PaletteOcean, PaletteProvider, PaletteSpring, PaletteSwitcher, PaletteSwitcherModel, PaletteWinter, PrintConfigSchema, PrintModeProvider, ProductCard, ProductCardActionModel, ProductCardModel, ProductLogo, ProductModel, QWICKAPP_COMPONENT, QwickApp, QwickAppsLogo, QwickIcon, ResponsiveMenu, SafeSpan, SafeSpanModel, Scaffold, SchemaFormRenderer, Section, SectionModel, SelectInputField, SelectOptionModel, StatCard, SwitchInputField, T, Text$1 as Text, TextField, TextInputField, TextInputFieldModel, TextModel, ThemeProvider, ThemeSwitcher, ThemeSwitcherModel, ViewSchema, animationConfigs, applyCustomPalette, clearManifestCache, clearPaletteCache, clearUserPalettePreference, clearUserThemePreference, configurePaletteLoader, createAppConfig, createModelViewClass, createPaletteFromCurrentTheme, createSerializableView, defaultCollapsibleLayoutProps, deleteCustomPalette, exportPalette, extractTextFromReactNode, getAvailablePalettes, getCSSVariable, getComputedTheme, getCurrentPalette, getCurrentTheme, getCustomPalettes, getIconComponent, getIconEmoji, getLogger, getPaletteConfig, getPaletteFromManifest, getPaletteName, getRegisteredIcons, getSystemTheme, getThemePerformanceStats, hasIcon, iconMap, importPalette, initializePalette, initializeTheme, isCollapsibleLayoutProps, isPaletteLoaded, loadPalette, loadPaletteManifest, loadUserPalettePreference, loadUserThemePreference, logThemePerformanceStats, loggers, preloadPalettes, registerCustomPalette, registerIcon, resetThemePerformanceStats, resolveDimension, resolveDimensions, resolveSpacing, resolveSpacingProps, saveCustomPalette, savePalettePreference, saveThemePreference, saveUserPalettePreference, saveUserThemePreference, setCSSVariable, setPalette, setTheme, spacingConfigs, t, toCssLength, useAccessibility, useBaseProps, useBreadcrumbs, useCollapsibleState, useData, useDataBinding, useDataContext, useDataProvider, useDimensions, useNavigation, usePageContext, usePalette, usePrintMode$1 as usePrintMode, usePrintMode as usePrintModeHook, useQwickApp, useResolveTemplate, useTemplate, useTheme, withAccessibility, withErrorBoundary };
33435
+ export { AVAILABLE_PALETTES, AccessibilityProvider, ActionModel, ActionType, AllPalettes, AppConfig, AppConfigBuilder, Article, ArticleModel, Breadcrumbs, Button, Captcha, CaptchaModel, CardListGrid, CardListGridModel, ChoiceInputField, ChoiceInputFieldModel, Code, CodeModel, CollapsibleLayout, CollapsibleLayoutView, ComponentTransformer$1 as ComponentTransformer, Container$8 as Container, Content, ContentModel, CoverImageHeader, CoverImageHeaderModel, DataProvider, DataProxy, DataTable, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DimensionsProvider, ErrorBoundary, FeatureCard, FeatureCardActionModel, FeatureCardModel, FeatureGrid, FeatureGridModel, FeatureItemModel, Footer, FooterItemModel, FooterModel, FooterSectionModel, FormBlock, FormBlockModel, FormCheckbox, FormCheckboxModel, FormField, FormFieldModel, FormMethod, FormPage, FormSelect, FormSelectModel, GalleryImageModel, GridCell, GridCellModel, GridLayout, GridLayoutModel, HeaderActionModel, HeroBlock, HeroBlockModel, Html, HtmlInputField, HtmlModel, Image, ImageGallery, ImageGalleryModel, ImageModel, Logo, Markdown, MarkdownModel, MetadataItemModel, ModelView, NavigationProvider, OptionSelector, OptionSelectorModel, Page, PageBannerHeader, PageBannerHeaderModel, PageTemplateSchema, PaletteAutumn, PaletteCosmic, PaletteDefault, PaletteOcean, PaletteProvider, PaletteSpring, PaletteSwitcher, PaletteSwitcherModel, PaletteWinter, PrintConfigSchema, PrintModeProvider, ProductCard, ProductCardActionModel, ProductCardModel, ProductLogo, ProductModel, QWICKAPP_COMPONENT, QwickApp, QwickAppsLogo, QwickIcon, ResponsiveMenu, SafeSpan, SafeSpanModel, Scaffold, SchemaFormRenderer, Section, SectionModel, SelectInputField, SelectOptionModel, StatCard, SwitchInputField, T, Text$1 as Text, TextField, TextInputField, TextInputFieldModel, TextModel, ThemeProvider, ThemeSwitcher, ThemeSwitcherModel, ViewSchema, animationConfigs, applyCustomPalette, clearManifestCache, clearPaletteCache, clearUserPalettePreference, clearUserThemePreference, configurePaletteLoader, createAppConfig, createModelViewClass, createPaletteFromCurrentTheme, createSerializableView, defaultCollapsibleLayoutProps, deleteCustomPalette, exportPalette, extractTextFromReactNode, getAvailablePalettes, getCSSVariable, getComputedTheme, getCurrentPalette, getCurrentTheme, getCustomPalettes, getIconComponent, getIconEmoji, getLogger, getPaletteConfig, getPaletteFromManifest, getPaletteName, getRegisteredIcons, getSystemTheme, getThemePerformanceStats, hasIcon, iconMap, importPalette, initializePalette, initializeTheme, isCollapsibleLayoutProps, isPaletteLoaded, loadPalette, loadPaletteManifest, loadUserPalettePreference, loadUserThemePreference, logThemePerformanceStats, loggers, preloadPalettes, registerCustomPalette, registerIcon, resetThemePerformanceStats, resolveDimension, resolveDimensions, resolveSpacing, resolveSpacingProps, saveCustomPalette, savePalettePreference, saveThemePreference, saveUserPalettePreference, saveUserThemePreference, setCSSVariable, setPalette, setTheme, spacingConfigs, t, toCssLength, useAccessibility, useBaseProps, useBreadcrumbs, useCollapsibleState, useData, useDataBinding, useDataContext, useDataProvider, useDimensions, useNavigation, usePageContext, usePalette, usePrintMode$1 as usePrintMode, usePrintMode as usePrintModeHook, useQwickApp, useResolveTemplate, useTemplate, useTheme, withAccessibility, withErrorBoundary };