@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.
- package/dist/components/forms/Captcha.d.ts +33 -28
- package/dist/components/forms/Captcha.d.ts.map +1 -1
- package/dist/components/forms/FormCheckbox.d.ts +15 -12
- package/dist/components/forms/FormCheckbox.d.ts.map +1 -1
- package/dist/components/forms/FormField.d.ts +20 -23
- package/dist/components/forms/FormField.d.ts.map +1 -1
- package/dist/components/forms/FormSelect.d.ts +16 -15
- package/dist/components/forms/FormSelect.d.ts.map +1 -1
- package/dist/hooks/useBaseProps.d.ts +27 -1172
- package/dist/hooks/useBaseProps.d.ts.map +1 -1
- package/dist/index.esm.js +349 -156
- package/dist/index.js +348 -155
- package/dist/palettes/manifest.json +19 -19
- package/dist/schemas/CaptchaSchema.d.ts +16 -0
- package/dist/schemas/CaptchaSchema.d.ts.map +1 -0
- package/dist/schemas/FormCheckboxSchema.d.ts +16 -0
- package/dist/schemas/FormCheckboxSchema.d.ts.map +1 -0
- package/dist/schemas/FormFieldSchema.d.ts +23 -0
- package/dist/schemas/FormFieldSchema.d.ts.map +1 -0
- package/dist/schemas/FormSelectSchema.d.ts +20 -0
- package/dist/schemas/FormSelectSchema.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +4 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/forms/Captcha.tsx +57 -63
- package/src/components/forms/FormCheckbox.tsx +35 -43
- package/src/components/forms/FormField.tsx +50 -66
- package/src/components/forms/FormSelect.tsx +41 -49
- package/src/hooks/useBaseProps.ts +34 -1
- package/src/schemas/CaptchaSchema.ts +65 -0
- package/src/schemas/FormCheckboxSchema.ts +65 -0
- package/src/schemas/FormFieldSchema.ts +140 -0
- package/src/schemas/FormSelectSchema.ts +108 -0
- package/src/schemas/index.ts +4 -0
- /package/dist/palettes/{palette-autumn.1.5.13.css → palette-autumn.1.6.0.css} +0 -0
- /package/dist/palettes/{palette-autumn.1.5.13.min.css → palette-autumn.1.6.0.min.css} +0 -0
- /package/dist/palettes/{palette-cosmic.1.5.13.css → palette-cosmic.1.6.0.css} +0 -0
- /package/dist/palettes/{palette-cosmic.1.5.13.min.css → palette-cosmic.1.6.0.min.css} +0 -0
- /package/dist/palettes/{palette-default.1.5.13.css → palette-default.1.6.0.css} +0 -0
- /package/dist/palettes/{palette-default.1.5.13.min.css → palette-default.1.6.0.min.css} +0 -0
- /package/dist/palettes/{palette-ocean.1.5.13.css → palette-ocean.1.6.0.css} +0 -0
- /package/dist/palettes/{palette-ocean.1.5.13.min.css → palette-ocean.1.6.0.min.css} +0 -0
- /package/dist/palettes/{palette-spring.1.5.13.css → palette-spring.1.6.0.css} +0 -0
- /package/dist/palettes/{palette-spring.1.5.13.min.css → palette-spring.1.6.0.min.css} +0 -0
- /package/dist/palettes/{palette-winter.1.5.13.css → palette-winter.1.6.0.css} +0 -0
- /package/dist/palettes/{palette-winter.1.5.13.min.css → palette-winter.1.6.0.min.css} +0 -0
package/dist/index.js
CHANGED
|
@@ -22976,36 +22976,31 @@ function DialogContentText({
|
|
|
22976
22976
|
});
|
|
22977
22977
|
}
|
|
22978
22978
|
|
|
22979
|
-
|
|
22980
|
-
|
|
22981
|
-
|
|
22982
|
-
|
|
22983
|
-
|
|
22984
|
-
|
|
22985
|
-
|
|
22986
|
-
|
|
22987
|
-
|
|
22988
|
-
|
|
22989
|
-
|
|
22990
|
-
|
|
22991
|
-
|
|
22992
|
-
|
|
22993
|
-
|
|
22994
|
-
|
|
22995
|
-
|
|
22996
|
-
|
|
22997
|
-
|
|
22998
|
-
|
|
22999
|
-
|
|
23000
|
-
|
|
23001
|
-
|
|
23002
|
-
endAdornment,
|
|
23003
|
-
inputProps
|
|
23004
|
-
} = restProps;
|
|
23005
|
-
// Generate a unique ID for the input field
|
|
22979
|
+
/**
|
|
22980
|
+
* FormFieldView - Pure view component that renders the input field
|
|
22981
|
+
*/
|
|
22982
|
+
function FormFieldView({
|
|
22983
|
+
label,
|
|
22984
|
+
value,
|
|
22985
|
+
onChange,
|
|
22986
|
+
onChangeRaw,
|
|
22987
|
+
type = 'text',
|
|
22988
|
+
helperText,
|
|
22989
|
+
required = false,
|
|
22990
|
+
readOnly = false,
|
|
22991
|
+
disabled = false,
|
|
22992
|
+
disabledColor,
|
|
22993
|
+
fullWidth = true,
|
|
22994
|
+
multiline = false,
|
|
22995
|
+
rows,
|
|
22996
|
+
placeholder,
|
|
22997
|
+
startAdornment,
|
|
22998
|
+
endAdornment,
|
|
22999
|
+
inputProps,
|
|
23000
|
+
...restProps
|
|
23001
|
+
}) {
|
|
23006
23002
|
const fieldId = React.useId();
|
|
23007
23003
|
const handleChange = e => {
|
|
23008
|
-
// If onChangeRaw is provided, use it instead
|
|
23009
23004
|
if (onChangeRaw) {
|
|
23010
23005
|
onChangeRaw(e);
|
|
23011
23006
|
return;
|
|
@@ -23029,8 +23024,7 @@ const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23029
23024
|
'& input.Mui-disabled': disabledColor ? {
|
|
23030
23025
|
color: disabledColor,
|
|
23031
23026
|
WebkitTextFillColor: disabledColor
|
|
23032
|
-
} : undefined
|
|
23033
|
-
...styleProps.sx
|
|
23027
|
+
} : undefined
|
|
23034
23028
|
};
|
|
23035
23029
|
const labelStyles = {
|
|
23036
23030
|
left: -12,
|
|
@@ -23041,18 +23035,8 @@ const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23041
23035
|
color: 'var(--theme-secondary)'
|
|
23042
23036
|
};
|
|
23043
23037
|
return jsxRuntime.jsxs(material.FormControl, {
|
|
23044
|
-
ref: ref,
|
|
23045
23038
|
fullWidth: fullWidth,
|
|
23046
|
-
...
|
|
23047
|
-
...styleProps,
|
|
23048
|
-
...(gridProps && {
|
|
23049
|
-
'data-grid-span': gridProps.span,
|
|
23050
|
-
'data-grid-xs': gridProps.xs,
|
|
23051
|
-
'data-grid-sm': gridProps.sm,
|
|
23052
|
-
'data-grid-md': gridProps.md,
|
|
23053
|
-
'data-grid-lg': gridProps.lg,
|
|
23054
|
-
'data-grid-xl': gridProps.xl
|
|
23055
|
-
}),
|
|
23039
|
+
...restProps,
|
|
23056
23040
|
children: [jsxRuntime.jsx(material.InputLabel, {
|
|
23057
23041
|
htmlFor: fieldId,
|
|
23058
23042
|
sx: labelStyles,
|
|
@@ -23084,32 +23068,33 @@ const FormField = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23084
23068
|
children: helperText
|
|
23085
23069
|
})]
|
|
23086
23070
|
});
|
|
23087
|
-
}
|
|
23088
|
-
|
|
23089
|
-
|
|
23090
|
-
|
|
23091
|
-
|
|
23071
|
+
}
|
|
23072
|
+
/**
|
|
23073
|
+
* Create FormField component using the factory pattern
|
|
23074
|
+
*/
|
|
23075
|
+
const FormField = createSerializableView({
|
|
23076
|
+
tagName: 'FormField',
|
|
23077
|
+
version: '1.0.0',
|
|
23078
|
+
role: 'input',
|
|
23079
|
+
View: FormFieldView
|
|
23092
23080
|
});
|
|
23093
23081
|
|
|
23094
|
-
|
|
23095
|
-
|
|
23096
|
-
|
|
23097
|
-
|
|
23098
|
-
|
|
23099
|
-
|
|
23100
|
-
|
|
23101
|
-
|
|
23102
|
-
|
|
23103
|
-
|
|
23104
|
-
|
|
23105
|
-
|
|
23106
|
-
|
|
23107
|
-
|
|
23108
|
-
|
|
23109
|
-
|
|
23110
|
-
size = 'small',
|
|
23111
|
-
placeholder
|
|
23112
|
-
} = restProps;
|
|
23082
|
+
/**
|
|
23083
|
+
* FormSelectView - Pure view component that renders the select field
|
|
23084
|
+
*/
|
|
23085
|
+
function FormSelectView({
|
|
23086
|
+
label,
|
|
23087
|
+
value,
|
|
23088
|
+
onChange,
|
|
23089
|
+
options,
|
|
23090
|
+
helperText,
|
|
23091
|
+
required = false,
|
|
23092
|
+
disabled = false,
|
|
23093
|
+
fullWidth = true,
|
|
23094
|
+
size = 'small',
|
|
23095
|
+
placeholder,
|
|
23096
|
+
...restProps
|
|
23097
|
+
}) {
|
|
23113
23098
|
const handleChange = e => {
|
|
23114
23099
|
onChange(e.target.value);
|
|
23115
23100
|
};
|
|
@@ -23123,8 +23108,7 @@ const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23123
23108
|
backgroundColor: 'var(--theme-surface-variant)',
|
|
23124
23109
|
borderColor: 'var(--theme-surface)',
|
|
23125
23110
|
color: 'var(--theme-text-primary)',
|
|
23126
|
-
borderRadius: 1
|
|
23127
|
-
...styleProps.sx
|
|
23111
|
+
borderRadius: 1
|
|
23128
23112
|
};
|
|
23129
23113
|
const labelStyles = {
|
|
23130
23114
|
left: -12,
|
|
@@ -23135,19 +23119,9 @@ const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23135
23119
|
color: 'var(--theme-secondary)'
|
|
23136
23120
|
};
|
|
23137
23121
|
return jsxRuntime.jsxs(material.FormControl, {
|
|
23138
|
-
ref: ref,
|
|
23139
23122
|
fullWidth: fullWidth,
|
|
23140
23123
|
size: size,
|
|
23141
|
-
...
|
|
23142
|
-
...styleProps,
|
|
23143
|
-
...(gridProps && {
|
|
23144
|
-
'data-grid-span': gridProps.span,
|
|
23145
|
-
'data-grid-xs': gridProps.xs,
|
|
23146
|
-
'data-grid-sm': gridProps.sm,
|
|
23147
|
-
'data-grid-md': gridProps.md,
|
|
23148
|
-
'data-grid-lg': gridProps.lg,
|
|
23149
|
-
'data-grid-xl': gridProps.xl
|
|
23150
|
-
}),
|
|
23124
|
+
...restProps,
|
|
23151
23125
|
children: [label && jsxRuntime.jsx(material.InputLabel, {
|
|
23152
23126
|
sx: labelStyles,
|
|
23153
23127
|
shrink: true,
|
|
@@ -23172,28 +23146,29 @@ const FormSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23172
23146
|
children: helperText
|
|
23173
23147
|
})]
|
|
23174
23148
|
});
|
|
23175
|
-
}
|
|
23176
|
-
|
|
23177
|
-
|
|
23178
|
-
|
|
23179
|
-
|
|
23149
|
+
}
|
|
23150
|
+
/**
|
|
23151
|
+
* Create FormSelect component using the factory pattern
|
|
23152
|
+
*/
|
|
23153
|
+
const FormSelect = createSerializableView({
|
|
23154
|
+
tagName: 'FormSelect',
|
|
23155
|
+
version: '1.0.0',
|
|
23156
|
+
role: 'input',
|
|
23157
|
+
View: FormSelectView
|
|
23180
23158
|
});
|
|
23181
23159
|
|
|
23182
|
-
|
|
23183
|
-
|
|
23184
|
-
|
|
23185
|
-
|
|
23186
|
-
|
|
23187
|
-
|
|
23188
|
-
|
|
23189
|
-
|
|
23190
|
-
|
|
23191
|
-
|
|
23192
|
-
|
|
23193
|
-
|
|
23194
|
-
required = false,
|
|
23195
|
-
disabled = false
|
|
23196
|
-
} = restProps;
|
|
23160
|
+
/**
|
|
23161
|
+
* FormCheckboxView - Pure view component that renders the checkbox
|
|
23162
|
+
*/
|
|
23163
|
+
function FormCheckboxView({
|
|
23164
|
+
label,
|
|
23165
|
+
checked,
|
|
23166
|
+
onChange,
|
|
23167
|
+
helperText,
|
|
23168
|
+
required = false,
|
|
23169
|
+
disabled = false,
|
|
23170
|
+
...restProps
|
|
23171
|
+
}) {
|
|
23197
23172
|
const handleChange = e => {
|
|
23198
23173
|
onChange(e.target.checked);
|
|
23199
23174
|
};
|
|
@@ -23213,25 +23188,14 @@ const FormCheckbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23213
23188
|
},
|
|
23214
23189
|
'& .MuiFormControlLabel-label.Mui-disabled': {
|
|
23215
23190
|
color: 'var(--theme-text-disabled)'
|
|
23216
|
-
}
|
|
23217
|
-
...styleProps.sx
|
|
23191
|
+
}
|
|
23218
23192
|
};
|
|
23219
23193
|
const helperTextStyles = {
|
|
23220
23194
|
color: 'var(--theme-secondary)',
|
|
23221
|
-
marginLeft: '32px'
|
|
23195
|
+
marginLeft: '32px'
|
|
23222
23196
|
};
|
|
23223
23197
|
return jsxRuntime.jsxs(material.FormControl, {
|
|
23224
|
-
|
|
23225
|
-
...htmlProps,
|
|
23226
|
-
...styleProps,
|
|
23227
|
-
...(gridProps && {
|
|
23228
|
-
'data-grid-span': gridProps.span,
|
|
23229
|
-
'data-grid-xs': gridProps.xs,
|
|
23230
|
-
'data-grid-sm': gridProps.sm,
|
|
23231
|
-
'data-grid-md': gridProps.md,
|
|
23232
|
-
'data-grid-lg': gridProps.lg,
|
|
23233
|
-
'data-grid-xl': gridProps.xl
|
|
23234
|
-
}),
|
|
23198
|
+
...restProps,
|
|
23235
23199
|
children: [jsxRuntime.jsx(material.FormControlLabel, {
|
|
23236
23200
|
control: jsxRuntime.jsx(material.Checkbox, {
|
|
23237
23201
|
checked: checked,
|
|
@@ -23247,30 +23211,31 @@ const FormCheckbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23247
23211
|
children: helperText
|
|
23248
23212
|
})]
|
|
23249
23213
|
});
|
|
23250
|
-
}
|
|
23251
|
-
|
|
23252
|
-
|
|
23253
|
-
|
|
23254
|
-
|
|
23214
|
+
}
|
|
23215
|
+
/**
|
|
23216
|
+
* Create FormCheckbox component using the factory pattern
|
|
23217
|
+
*/
|
|
23218
|
+
const FormCheckbox = createSerializableView({
|
|
23219
|
+
tagName: 'FormCheckbox',
|
|
23220
|
+
version: '1.0.0',
|
|
23221
|
+
role: 'input',
|
|
23222
|
+
View: FormCheckboxView
|
|
23255
23223
|
});
|
|
23256
23224
|
|
|
23257
|
-
|
|
23258
|
-
|
|
23259
|
-
|
|
23260
|
-
|
|
23261
|
-
|
|
23262
|
-
|
|
23263
|
-
|
|
23264
|
-
|
|
23265
|
-
|
|
23266
|
-
|
|
23267
|
-
|
|
23268
|
-
|
|
23269
|
-
|
|
23270
|
-
|
|
23271
|
-
size = 'normal',
|
|
23272
|
-
action = 'submit'
|
|
23273
|
-
} = restProps;
|
|
23225
|
+
/**
|
|
23226
|
+
* CaptchaView - Pure view component that renders the CAPTCHA widget
|
|
23227
|
+
*/
|
|
23228
|
+
function CaptchaView({
|
|
23229
|
+
provider,
|
|
23230
|
+
siteKey,
|
|
23231
|
+
onVerify,
|
|
23232
|
+
onExpire,
|
|
23233
|
+
onError,
|
|
23234
|
+
theme = 'light',
|
|
23235
|
+
size = 'normal',
|
|
23236
|
+
action = 'submit',
|
|
23237
|
+
...restProps
|
|
23238
|
+
}) {
|
|
23274
23239
|
const containerRef = React.useRef(null);
|
|
23275
23240
|
const widgetIdRef = React.useRef(null);
|
|
23276
23241
|
const [isLoaded, setIsLoaded] = React.useState(false);
|
|
@@ -23343,7 +23308,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23343
23308
|
try {
|
|
23344
23309
|
switch (provider) {
|
|
23345
23310
|
case 'recaptcha-v2':
|
|
23346
|
-
if (window.grecaptcha
|
|
23311
|
+
if (window.grecaptcha?.render) {
|
|
23347
23312
|
widgetIdRef.current = window.grecaptcha.render(containerRef.current, {
|
|
23348
23313
|
sitekey: siteKey,
|
|
23349
23314
|
callback: onVerify,
|
|
@@ -23360,7 +23325,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23360
23325
|
break;
|
|
23361
23326
|
case 'recaptcha-v3':
|
|
23362
23327
|
// reCAPTCHA v3 is invisible and executes programmatically
|
|
23363
|
-
if (window.grecaptcha
|
|
23328
|
+
if (window.grecaptcha?.execute) {
|
|
23364
23329
|
window.grecaptcha.execute(siteKey, {
|
|
23365
23330
|
action
|
|
23366
23331
|
}).then(token => {
|
|
@@ -23372,7 +23337,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23372
23337
|
}
|
|
23373
23338
|
break;
|
|
23374
23339
|
case 'hcaptcha':
|
|
23375
|
-
if (window.hcaptcha
|
|
23340
|
+
if (window.hcaptcha?.render) {
|
|
23376
23341
|
widgetIdRef.current = window.hcaptcha.render(containerRef.current, {
|
|
23377
23342
|
sitekey: siteKey,
|
|
23378
23343
|
callback: onVerify,
|
|
@@ -23388,7 +23353,7 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23388
23353
|
}
|
|
23389
23354
|
break;
|
|
23390
23355
|
case 'turnstile':
|
|
23391
|
-
if (window.turnstile
|
|
23356
|
+
if (window.turnstile?.render) {
|
|
23392
23357
|
widgetIdRef.current = window.turnstile.render(containerRef.current, {
|
|
23393
23358
|
sitekey: siteKey,
|
|
23394
23359
|
callback: onVerify,
|
|
@@ -23439,20 +23404,10 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23439
23404
|
return null;
|
|
23440
23405
|
}
|
|
23441
23406
|
return jsxRuntime.jsxs(material.Box, {
|
|
23442
|
-
|
|
23443
|
-
...htmlProps,
|
|
23407
|
+
...restProps,
|
|
23444
23408
|
sx: {
|
|
23445
|
-
my: 2
|
|
23446
|
-
...styleProps.sx
|
|
23409
|
+
my: 2
|
|
23447
23410
|
},
|
|
23448
|
-
...(gridProps && {
|
|
23449
|
-
'data-grid-span': gridProps.span,
|
|
23450
|
-
'data-grid-xs': gridProps.xs,
|
|
23451
|
-
'data-grid-sm': gridProps.sm,
|
|
23452
|
-
'data-grid-md': gridProps.md,
|
|
23453
|
-
'data-grid-lg': gridProps.lg,
|
|
23454
|
-
'data-grid-xl': gridProps.xl
|
|
23455
|
-
}),
|
|
23456
23411
|
children: [error && jsxRuntime.jsx(material.Alert, {
|
|
23457
23412
|
severity: "error",
|
|
23458
23413
|
sx: {
|
|
@@ -23463,11 +23418,15 @@ const Captcha = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
23463
23418
|
ref: containerRef
|
|
23464
23419
|
})]
|
|
23465
23420
|
});
|
|
23466
|
-
}
|
|
23467
|
-
|
|
23468
|
-
|
|
23469
|
-
|
|
23470
|
-
|
|
23421
|
+
}
|
|
23422
|
+
/**
|
|
23423
|
+
* Create Captcha component using the factory pattern
|
|
23424
|
+
*/
|
|
23425
|
+
const Captcha = createSerializableView({
|
|
23426
|
+
tagName: 'Captcha',
|
|
23427
|
+
version: '1.0.0',
|
|
23428
|
+
role: 'input',
|
|
23429
|
+
View: CaptchaView
|
|
23471
23430
|
});
|
|
23472
23431
|
|
|
23473
23432
|
/**
|
|
@@ -31066,6 +31025,240 @@ __decorate([schema.Field(), schema.Editor({
|
|
|
31066
31025
|
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormBlockModel.prototype, "backgroundImage", void 0);
|
|
31067
31026
|
exports.FormBlockModel = __decorate([schema.Schema('FormBlock', '1.0.0')], exports.FormBlockModel);
|
|
31068
31027
|
|
|
31028
|
+
/**
|
|
31029
|
+
* Schema for FormSelect component - Themed dropdown select input
|
|
31030
|
+
*
|
|
31031
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
31032
|
+
*/
|
|
31033
|
+
exports.FormSelectModel = class FormSelectModel extends ViewSchema {};
|
|
31034
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31035
|
+
field_type: schema.FieldType.TEXT,
|
|
31036
|
+
label: 'Label',
|
|
31037
|
+
description: 'Label text for the select field',
|
|
31038
|
+
placeholder: 'Enter label...'
|
|
31039
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormSelectModel.prototype, "label", void 0);
|
|
31040
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31041
|
+
field_type: schema.FieldType.TEXT,
|
|
31042
|
+
label: 'Value',
|
|
31043
|
+
description: 'Current selected value',
|
|
31044
|
+
placeholder: ''
|
|
31045
|
+
}), classValidator.IsString(), __metadata("design:type", Object)], exports.FormSelectModel.prototype, "value", void 0);
|
|
31046
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31047
|
+
field_type: schema.FieldType.TEXTAREA,
|
|
31048
|
+
label: 'Options',
|
|
31049
|
+
description: 'Select options as JSON array: [{"value": "1", "label": "Option 1"}]',
|
|
31050
|
+
placeholder: '[{"value": "1", "label": "Option 1"}]'
|
|
31051
|
+
}), classValidator.IsString(), __metadata("design:type", String)], exports.FormSelectModel.prototype, "options", void 0);
|
|
31052
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31053
|
+
field_type: schema.FieldType.TEXT,
|
|
31054
|
+
label: 'Helper Text',
|
|
31055
|
+
description: 'Helper text displayed below the select',
|
|
31056
|
+
placeholder: 'Enter helper text...'
|
|
31057
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormSelectModel.prototype, "helperText", void 0);
|
|
31058
|
+
__decorate([schema.Field({
|
|
31059
|
+
defaultValue: false
|
|
31060
|
+
}), schema.Editor({
|
|
31061
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31062
|
+
label: 'Required',
|
|
31063
|
+
description: 'Mark field as required'
|
|
31064
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormSelectModel.prototype, "required", void 0);
|
|
31065
|
+
__decorate([schema.Field({
|
|
31066
|
+
defaultValue: false
|
|
31067
|
+
}), schema.Editor({
|
|
31068
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31069
|
+
label: 'Disabled',
|
|
31070
|
+
description: 'Disable the select field'
|
|
31071
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormSelectModel.prototype, "disabled", void 0);
|
|
31072
|
+
__decorate([schema.Field({
|
|
31073
|
+
defaultValue: true
|
|
31074
|
+
}), schema.Editor({
|
|
31075
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31076
|
+
label: 'Full Width',
|
|
31077
|
+
description: 'Make select take full width of container'
|
|
31078
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormSelectModel.prototype, "fullWidth", void 0);
|
|
31079
|
+
__decorate([schema.Field({
|
|
31080
|
+
defaultValue: 'small'
|
|
31081
|
+
}), schema.Editor({
|
|
31082
|
+
field_type: schema.FieldType.SELECT,
|
|
31083
|
+
label: 'Size',
|
|
31084
|
+
description: 'Size variant of the select field'
|
|
31085
|
+
}), classValidator.IsOptional(), classValidator.IsIn(['small', 'medium']), __metadata("design:type", String)], exports.FormSelectModel.prototype, "size", void 0);
|
|
31086
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31087
|
+
field_type: schema.FieldType.TEXT,
|
|
31088
|
+
label: 'Placeholder',
|
|
31089
|
+
description: 'Placeholder text when no value is selected',
|
|
31090
|
+
placeholder: 'Select an option...'
|
|
31091
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormSelectModel.prototype, "placeholder", void 0);
|
|
31092
|
+
exports.FormSelectModel = __decorate([schema.Schema('FormSelect', '1.0.0')], exports.FormSelectModel);
|
|
31093
|
+
|
|
31094
|
+
/**
|
|
31095
|
+
* Schema for FormField component - Themed text/number input field
|
|
31096
|
+
*
|
|
31097
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
31098
|
+
*/
|
|
31099
|
+
exports.FormFieldModel = class FormFieldModel extends ViewSchema {};
|
|
31100
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31101
|
+
field_type: schema.FieldType.TEXT,
|
|
31102
|
+
label: 'Label',
|
|
31103
|
+
description: 'Label text for the input field',
|
|
31104
|
+
placeholder: 'Enter label...'
|
|
31105
|
+
}), classValidator.IsString(), __metadata("design:type", String)], exports.FormFieldModel.prototype, "label", void 0);
|
|
31106
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31107
|
+
field_type: schema.FieldType.TEXT,
|
|
31108
|
+
label: 'Value',
|
|
31109
|
+
description: 'Current input value',
|
|
31110
|
+
placeholder: ''
|
|
31111
|
+
}), classValidator.IsString(), __metadata("design:type", Object)], exports.FormFieldModel.prototype, "value", void 0);
|
|
31112
|
+
__decorate([schema.Field({
|
|
31113
|
+
defaultValue: 'text'
|
|
31114
|
+
}), schema.Editor({
|
|
31115
|
+
field_type: schema.FieldType.SELECT,
|
|
31116
|
+
label: 'Input Type',
|
|
31117
|
+
description: 'Type of input field'
|
|
31118
|
+
}), classValidator.IsOptional(), classValidator.IsIn(['text', 'number', 'password', 'email', 'tel']), __metadata("design:type", String)], exports.FormFieldModel.prototype, "type", void 0);
|
|
31119
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31120
|
+
field_type: schema.FieldType.TEXT,
|
|
31121
|
+
label: 'Helper Text',
|
|
31122
|
+
description: 'Helper text displayed below the input',
|
|
31123
|
+
placeholder: 'Enter helper text...'
|
|
31124
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormFieldModel.prototype, "helperText", void 0);
|
|
31125
|
+
__decorate([schema.Field({
|
|
31126
|
+
defaultValue: false
|
|
31127
|
+
}), schema.Editor({
|
|
31128
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31129
|
+
label: 'Required',
|
|
31130
|
+
description: 'Mark field as required'
|
|
31131
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormFieldModel.prototype, "required", void 0);
|
|
31132
|
+
__decorate([schema.Field({
|
|
31133
|
+
defaultValue: false
|
|
31134
|
+
}), schema.Editor({
|
|
31135
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31136
|
+
label: 'Read Only',
|
|
31137
|
+
description: 'Make field read-only'
|
|
31138
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormFieldModel.prototype, "readOnly", void 0);
|
|
31139
|
+
__decorate([schema.Field({
|
|
31140
|
+
defaultValue: false
|
|
31141
|
+
}), schema.Editor({
|
|
31142
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31143
|
+
label: 'Disabled',
|
|
31144
|
+
description: 'Disable the input field'
|
|
31145
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormFieldModel.prototype, "disabled", void 0);
|
|
31146
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31147
|
+
field_type: schema.FieldType.TEXT,
|
|
31148
|
+
label: 'Disabled Color',
|
|
31149
|
+
description: 'Custom color for disabled state (CSS color value)',
|
|
31150
|
+
placeholder: 'var(--theme-text-disabled)'
|
|
31151
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormFieldModel.prototype, "disabledColor", void 0);
|
|
31152
|
+
__decorate([schema.Field({
|
|
31153
|
+
defaultValue: true
|
|
31154
|
+
}), schema.Editor({
|
|
31155
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31156
|
+
label: 'Full Width',
|
|
31157
|
+
description: 'Make input take full width of container'
|
|
31158
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormFieldModel.prototype, "fullWidth", void 0);
|
|
31159
|
+
__decorate([schema.Field({
|
|
31160
|
+
defaultValue: false
|
|
31161
|
+
}), schema.Editor({
|
|
31162
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31163
|
+
label: 'Multiline',
|
|
31164
|
+
description: 'Enable multiline textarea mode'
|
|
31165
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormFieldModel.prototype, "multiline", void 0);
|
|
31166
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31167
|
+
field_type: schema.FieldType.TEXT,
|
|
31168
|
+
label: 'Rows',
|
|
31169
|
+
description: 'Number of rows for multiline textarea',
|
|
31170
|
+
placeholder: '4'
|
|
31171
|
+
}), classValidator.IsOptional(), classValidator.IsInt(), classValidator.Min(1), __metadata("design:type", Number)], exports.FormFieldModel.prototype, "rows", void 0);
|
|
31172
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31173
|
+
field_type: schema.FieldType.TEXT,
|
|
31174
|
+
label: 'Placeholder',
|
|
31175
|
+
description: 'Placeholder text',
|
|
31176
|
+
placeholder: 'Enter text...'
|
|
31177
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormFieldModel.prototype, "placeholder", void 0);
|
|
31178
|
+
exports.FormFieldModel = __decorate([schema.Schema('FormField', '1.0.0')], exports.FormFieldModel);
|
|
31179
|
+
|
|
31180
|
+
/**
|
|
31181
|
+
* Schema for FormCheckbox component - Themed checkbox input
|
|
31182
|
+
*
|
|
31183
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
31184
|
+
*/
|
|
31185
|
+
exports.FormCheckboxModel = class FormCheckboxModel extends ViewSchema {};
|
|
31186
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31187
|
+
field_type: schema.FieldType.TEXT,
|
|
31188
|
+
label: 'Label',
|
|
31189
|
+
description: 'Label text for the checkbox',
|
|
31190
|
+
placeholder: 'Enter label...'
|
|
31191
|
+
}), classValidator.IsString(), __metadata("design:type", String)], exports.FormCheckboxModel.prototype, "label", void 0);
|
|
31192
|
+
__decorate([schema.Field({
|
|
31193
|
+
defaultValue: false
|
|
31194
|
+
}), schema.Editor({
|
|
31195
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31196
|
+
label: 'Checked',
|
|
31197
|
+
description: 'Checkbox checked state'
|
|
31198
|
+
}), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormCheckboxModel.prototype, "checked", void 0);
|
|
31199
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31200
|
+
field_type: schema.FieldType.TEXT,
|
|
31201
|
+
label: 'Helper Text',
|
|
31202
|
+
description: 'Helper text displayed below the checkbox',
|
|
31203
|
+
placeholder: 'Enter helper text...'
|
|
31204
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormCheckboxModel.prototype, "helperText", void 0);
|
|
31205
|
+
__decorate([schema.Field({
|
|
31206
|
+
defaultValue: false
|
|
31207
|
+
}), schema.Editor({
|
|
31208
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31209
|
+
label: 'Required',
|
|
31210
|
+
description: 'Mark checkbox as required'
|
|
31211
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormCheckboxModel.prototype, "required", void 0);
|
|
31212
|
+
__decorate([schema.Field({
|
|
31213
|
+
defaultValue: false
|
|
31214
|
+
}), schema.Editor({
|
|
31215
|
+
field_type: schema.FieldType.BOOLEAN,
|
|
31216
|
+
label: 'Disabled',
|
|
31217
|
+
description: 'Disable the checkbox'
|
|
31218
|
+
}), classValidator.IsOptional(), classValidator.IsBoolean(), __metadata("design:type", Boolean)], exports.FormCheckboxModel.prototype, "disabled", void 0);
|
|
31219
|
+
exports.FormCheckboxModel = __decorate([schema.Schema('FormCheckbox', '1.0.0')], exports.FormCheckboxModel);
|
|
31220
|
+
|
|
31221
|
+
/**
|
|
31222
|
+
* Schema for Captcha component - Universal CAPTCHA widget
|
|
31223
|
+
*
|
|
31224
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
31225
|
+
*/
|
|
31226
|
+
exports.CaptchaModel = class CaptchaModel extends ViewSchema {};
|
|
31227
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31228
|
+
field_type: schema.FieldType.SELECT,
|
|
31229
|
+
label: 'CAPTCHA Provider',
|
|
31230
|
+
description: 'Which CAPTCHA service to use'
|
|
31231
|
+
}), classValidator.IsIn(['recaptcha-v2', 'recaptcha-v3', 'hcaptcha', 'turnstile']), __metadata("design:type", String)], exports.CaptchaModel.prototype, "provider", void 0);
|
|
31232
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31233
|
+
field_type: schema.FieldType.TEXT,
|
|
31234
|
+
label: 'Site Key',
|
|
31235
|
+
description: 'Public site key from CAPTCHA provider',
|
|
31236
|
+
placeholder: 'Enter site key...'
|
|
31237
|
+
}), classValidator.IsString(), __metadata("design:type", String)], exports.CaptchaModel.prototype, "siteKey", void 0);
|
|
31238
|
+
__decorate([schema.Field({
|
|
31239
|
+
defaultValue: 'light'
|
|
31240
|
+
}), schema.Editor({
|
|
31241
|
+
field_type: schema.FieldType.SELECT,
|
|
31242
|
+
label: 'Theme',
|
|
31243
|
+
description: 'CAPTCHA widget theme'
|
|
31244
|
+
}), classValidator.IsOptional(), classValidator.IsIn(['light', 'dark']), __metadata("design:type", String)], exports.CaptchaModel.prototype, "theme", void 0);
|
|
31245
|
+
__decorate([schema.Field({
|
|
31246
|
+
defaultValue: 'normal'
|
|
31247
|
+
}), schema.Editor({
|
|
31248
|
+
field_type: schema.FieldType.SELECT,
|
|
31249
|
+
label: 'Size',
|
|
31250
|
+
description: 'CAPTCHA widget size'
|
|
31251
|
+
}), classValidator.IsOptional(), classValidator.IsIn(['normal', 'compact', 'invisible']), __metadata("design:type", String)], exports.CaptchaModel.prototype, "size", void 0);
|
|
31252
|
+
__decorate([schema.Field({
|
|
31253
|
+
defaultValue: 'submit'
|
|
31254
|
+
}), schema.Editor({
|
|
31255
|
+
field_type: schema.FieldType.TEXT,
|
|
31256
|
+
label: 'Action',
|
|
31257
|
+
description: 'reCAPTCHA v3 action name',
|
|
31258
|
+
placeholder: 'submit'
|
|
31259
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.CaptchaModel.prototype, "action", void 0);
|
|
31260
|
+
exports.CaptchaModel = __decorate([schema.Schema('Captcha', '1.0.0')], exports.CaptchaModel);
|
|
31261
|
+
|
|
31069
31262
|
/**
|
|
31070
31263
|
* FooterSection Schema - Defines data structure for footer sections
|
|
31071
31264
|
*
|