@emeraldemperaur/vector-sigma 1.4.9 → 1.4.11
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/lib/index.cjs +480 -473
- package/lib/index.esm.js +480 -473
- package/lib/types/components/avatar/avatar.d.ts +89 -12
- package/lib/types/components/button/button.d.ts +60 -11
- package/lib/types/components/checkbox/checkbox.d.ts +93 -13
- package/lib/types/components/conditional/conditional.d.ts +103 -16
- package/lib/types/components/datepicker/datepicker.d.ts +11 -11
- package/lib/types/components/daterangepicker/daterangepicker.d.ts +13 -13
- package/lib/types/components/datetimepicker/datetimepicker.d.ts +13 -13
- package/lib/types/components/dropdown/dropdown.d.ts +10 -10
- package/lib/types/components/file/file.d.ts +9 -10
- package/lib/types/components/file/filemultiple.d.ts +9 -10
- package/lib/types/components/image/image.d.ts +2 -2
- package/lib/types/components/input/input.d.ts +9 -9
- package/lib/types/components/input/passwordInput.d.ts +1 -1
- package/lib/types/components/input/phoneInput.d.ts +1 -1
- package/lib/types/components/input/uuidInput.d.ts +9 -9
- package/lib/types/components/input/xCreditCardInput.d.ts +1 -1
- package/lib/types/components/inputcurrency/inputcurrency.d.ts +8 -8
- package/lib/types/components/inputcurrency/stockInput.d.ts +9 -9
- package/lib/types/components/radio/radio.d.ts +9 -10
- package/lib/types/components/select/select.d.ts +8 -8
- package/lib/types/components/selectmultiple/selectmultiple.d.ts +10 -11
- package/lib/types/components/slider/range.d.ts +8 -8
- package/lib/types/components/slider/slider.d.ts +11 -11
- package/lib/types/components/toggle/toggle.d.ts +9 -9
- package/lib/types/components/xtitle/xtitle.d.ts +6 -3
- package/lib/types/utils/vinci.d.ts +36 -1
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -12171,7 +12171,7 @@ const getStyles$1 = (inputtype, shape, hasError) => {
|
|
|
12171
12171
|
return Object.assign(Object.assign(Object.assign({}, base), { borderRadius }), designStyles);
|
|
12172
12172
|
};
|
|
12173
12173
|
const AvatarInput = (_a) => {
|
|
12174
|
-
var { inputtype = 'avatar-outline', alias,
|
|
12174
|
+
var { inputtype = 'avatar-outline', alias, readOnly, width, inputLabel, shape = 'circle', size = 120, newRow, isHinted, hintText, hintUrl, errorText, style, className, accept = 'image/*' } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "shape", "size", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "style", "className", "accept"]);
|
|
12175
12175
|
const [field, meta, helpers] = formik.useField(alias);
|
|
12176
12176
|
const { setTouched } = formik.useFormikContext();
|
|
12177
12177
|
const inputRef = React.useRef(null);
|
|
@@ -12213,7 +12213,7 @@ const AvatarInput = (_a) => {
|
|
|
12213
12213
|
};
|
|
12214
12214
|
const containerStyles = getStyles$1(inputtype, shape, !!hasError);
|
|
12215
12215
|
const iconColor = inputtype === 'avatar-neumorphic' ? '#555' : 'var(--gray-10)';
|
|
12216
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
12216
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
12217
12217
|
React.createElement(p$5, { direction: "column", align: "center", gap: "3", style: style },
|
|
12218
12218
|
React.createElement(p$8, { onClick: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, style: Object.assign({ width: size, height: size }, containerStyles) }, previewUrl ? (React.createElement(React.Fragment, null,
|
|
12219
12219
|
React.createElement("img", { src: previewUrl, alt: "Avatar", style: {
|
|
@@ -12238,18 +12238,18 @@ const AvatarInput = (_a) => {
|
|
|
12238
12238
|
React.createElement(Icon, { name: 'camera', color: "white", width: "16", height: "16" })))) : (React.createElement(p$5, { direction: "column", align: "center", justify: "center", height: "100%", width: "100%" },
|
|
12239
12239
|
React.createElement(Icon, { name: 'user', width: size * 0.4, height: size * 0.4, color: iconColor, style: { opacity: 0.5 } }),
|
|
12240
12240
|
React.createElement(p$d, { size: "1", color: "gray", style: { marginTop: 4, opacity: 0.8 } }, "Upload")))),
|
|
12241
|
-
React.createElement("input", { ref: inputRef, id: inputId || alias, name: alias, readOnly:
|
|
12241
|
+
React.createElement("input", { ref: inputRef, id: inputId || alias, name: alias, readOnly: readOnly, type: "file", accept: accept, onChange: handleFileChange, style: { display: 'none' } }),
|
|
12242
12242
|
React.createElement("div", null,
|
|
12243
|
-
|
|
12243
|
+
inputLabel && (React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", color: 'gray', highContrast: inputtype !== 'avatar-neumorphic', htmlFor: alias }, inputLabel)),
|
|
12244
12244
|
"\u00A0",
|
|
12245
|
-
|
|
12245
|
+
isHinted ?
|
|
12246
12246
|
React.createElement(React.Fragment, null,
|
|
12247
|
-
React.createElement(e, { content:
|
|
12248
|
-
React.createElement("a", { href:
|
|
12247
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
12248
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
12249
12249
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
12250
12250
|
hasError ?
|
|
12251
12251
|
React.createElement(React.Fragment, null,
|
|
12252
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
12252
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)) : null))));
|
|
12253
12253
|
};
|
|
12254
12254
|
|
|
12255
12255
|
/**
|
|
@@ -12318,7 +12318,7 @@ const formatBytes = (bytes, decimals = 2) => {
|
|
|
12318
12318
|
};
|
|
12319
12319
|
|
|
12320
12320
|
const ButtonInput = (_a) => {
|
|
12321
|
-
var { inputtype = 'button-outline', type = 'button',
|
|
12321
|
+
var { inputtype = 'button-outline', type = 'button', alias, readOnly, style, width, children, newRow, isHinted, hintText, hintUrl } = _a, props = __rest$1(_a, ["inputtype", "type", "alias", "readOnly", "style", "width", "children", "newRow", "isHinted", "hintText", "hintUrl"]);
|
|
12322
12322
|
const buttonRef = React.useRef(null);
|
|
12323
12323
|
const [neumorphicVars, setNeumorphicVars] = React.useState({});
|
|
12324
12324
|
const [bgColor, setBgColor] = React.useState('#ffffff');
|
|
@@ -12392,7 +12392,7 @@ const ButtonInput = (_a) => {
|
|
|
12392
12392
|
}
|
|
12393
12393
|
};
|
|
12394
12394
|
return (React.createElement(React.Fragment, null,
|
|
12395
|
-
React.createElement(Column, { span: width, newLine:
|
|
12395
|
+
React.createElement(Column, { span: width, newLine: newRow },
|
|
12396
12396
|
inputtype === 'button-neumorphic' && (React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
12397
12397
|
.neumorphic-btn:active {
|
|
12398
12398
|
box-shadow: inset 6px 6px 12px var(--neu-shadow-dark), inset -6px -6px 12px var(--neu-shadow-light) !important;
|
|
@@ -12402,19 +12402,19 @@ const ButtonInput = (_a) => {
|
|
|
12402
12402
|
transform: translateY(-2px);
|
|
12403
12403
|
}
|
|
12404
12404
|
` } })),
|
|
12405
|
-
React.createElement(o$a, Object.assign({ name: alias, disabled:
|
|
12405
|
+
React.createElement(o$a, Object.assign({ name: alias, disabled: readOnly, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, ref: buttonRef, onClick: handler, type: type }, props, getVariantProps()),
|
|
12406
12406
|
props.icon && (React.createElement("span", { style: { display: 'flex', alignItems: 'center' } }, props.icon)),
|
|
12407
12407
|
children),
|
|
12408
12408
|
React.createElement("br", null),
|
|
12409
|
-
React.createElement("div", null,
|
|
12409
|
+
React.createElement("div", null, isHinted ?
|
|
12410
12410
|
React.createElement(React.Fragment, null,
|
|
12411
|
-
React.createElement(e, { content:
|
|
12412
|
-
React.createElement("a", { href:
|
|
12411
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
12412
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
12413
12413
|
React.createElement(Icon, { name: 'questionmarkcircled', height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null))));
|
|
12414
12414
|
};
|
|
12415
12415
|
|
|
12416
12416
|
const CheckboxGroupInput = (_a) => {
|
|
12417
|
-
var { inputtype = 'checkbox-outline', alias,
|
|
12417
|
+
var { inputtype = 'checkbox-outline', alias, readOnly, width, inputLabel, style, inputOptions, newRow, isHinted, hintText, hintUrl, errorText, direction = 'row', columns, className } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "style", "inputOptions", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "direction", "columns", "className"]);
|
|
12418
12418
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
12419
12419
|
const [field, meta] = formik.useField(alias);
|
|
12420
12420
|
const currentValues = (Array.isArray(field.value) ? field.value : []);
|
|
@@ -12444,7 +12444,7 @@ const CheckboxGroupInput = (_a) => {
|
|
|
12444
12444
|
});
|
|
12445
12445
|
}
|
|
12446
12446
|
}, [inputtype]);
|
|
12447
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
12447
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
12448
12448
|
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className: className },
|
|
12449
12449
|
inputtype === 'checkbox-neumorphic' && (React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
12450
12450
|
.neu-checkbox .rt-CheckboxButton {
|
|
@@ -12465,7 +12465,7 @@ const CheckboxGroupInput = (_a) => {
|
|
|
12465
12465
|
color: var(--neu-check-color);
|
|
12466
12466
|
}
|
|
12467
12467
|
` } })),
|
|
12468
|
-
React.createElement(o$6, { columns: columns || (direction === 'row' ? 'repeat(auto-fit, minmax(100px, 1fr))' : '1'), gap: "3", style: neuVars },
|
|
12468
|
+
React.createElement(o$6, { columns: columns || (direction === 'row' ? 'repeat(auto-fit, minmax(100px, 1fr))' : '1'), gap: "3", style: neuVars }, inputOptions.map((inputoption) => {
|
|
12469
12469
|
const isChecked = currentValues.some(val => String(val) === String(inputoption.optionvalue));
|
|
12470
12470
|
return (React.createElement(p$d, { as: "label", key: inputoption.optionvalue || crypto.randomUUID(), size: "2", style: {
|
|
12471
12471
|
display: 'flex',
|
|
@@ -12473,23 +12473,23 @@ const CheckboxGroupInput = (_a) => {
|
|
|
12473
12473
|
gap: '8px',
|
|
12474
12474
|
cursor: 'pointer'
|
|
12475
12475
|
} },
|
|
12476
|
-
React.createElement(c$2, { name: alias, id: `${alias}FormInput${inputoption.optionid}`, "aria-describedby": `${alias}InputLabel${inputoption.optionid}`, disabled:
|
|
12476
|
+
React.createElement(c$2, { name: alias, id: `${alias}FormInput${inputoption.optionid}`, "aria-describedby": `${alias}InputLabel${inputoption.optionid}`, disabled: readOnly, value: inputoption.optionvalue, checked: isChecked, onCheckedChange: (checked) => handleCheckedChange(checked, inputoption.optionvalue), variant: inputtype === 'checkbox-outline' ? 'soft' : 'surface', className: inputtype === 'checkbox-neumorphic' ? 'neu-checkbox' : '', style: Object.assign({}, (inputtype === 'checkbox-outline' ? {
|
|
12477
12477
|
border: isChecked ? '2px solid var(--accent-9)' : '2px solid var(--gray-8)',
|
|
12478
12478
|
backgroundColor: 'transparent'
|
|
12479
12479
|
} : {})) }),
|
|
12480
12480
|
React.createElement("span", { style: { userSelect: 'none' } }, inputoption.text)));
|
|
12481
12481
|
})),
|
|
12482
12482
|
React.createElement("div", null,
|
|
12483
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
12483
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
12484
12484
|
"\u00A0",
|
|
12485
|
-
|
|
12485
|
+
isHinted ?
|
|
12486
12486
|
React.createElement(React.Fragment, null,
|
|
12487
|
-
React.createElement(e, { content:
|
|
12488
|
-
React.createElement("a", { href:
|
|
12487
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
12488
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
12489
12489
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
12490
12490
|
hasError ?
|
|
12491
12491
|
React.createElement(React.Fragment, null,
|
|
12492
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
12492
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || "Required field")) : null))));
|
|
12493
12493
|
};
|
|
12494
12494
|
|
|
12495
12495
|
const animationStyles = {
|
|
@@ -12520,7 +12520,7 @@ const getDesignStyles = (inputtype, isOpen) => {
|
|
|
12520
12520
|
return Object.assign(Object.assign({}, base), { backgroundColor: 'transparent', border: '1px solid var(--gray-6)', borderLeft: isOpen ? '4px solid var(--accent-9)' : '1px solid var(--gray-6)' });
|
|
12521
12521
|
};
|
|
12522
12522
|
const ConditionalTrigger = (_a) => {
|
|
12523
|
-
var { alias,
|
|
12523
|
+
var { alias, readOnly, width, placeholder = '', inputLabel, inputtype = 'conditionaltoggle-outline', triggerValue = true, inputOptions = [], children, newRow, isHinted, hintText, hintUrl, errorText, style, className } = _a; __rest$1(_a, ["alias", "readOnly", "width", "placeholder", "inputLabel", "inputtype", "triggerValue", "inputOptions", "children", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "style", "className"]);
|
|
12524
12524
|
const [field, meta, helpers] = formik.useField(alias);
|
|
12525
12525
|
const { setTouched } = formik.useFormikContext();
|
|
12526
12526
|
const inputId = `${alias}FormInput` || crypto.randomUUID();
|
|
@@ -12537,20 +12537,20 @@ const ConditionalTrigger = (_a) => {
|
|
|
12537
12537
|
switch (true) {
|
|
12538
12538
|
case inputtype.includes('conditionalcheckbox'):
|
|
12539
12539
|
return (React.createElement(p$5, { align: "center", gap: "2", style: { cursor: 'pointer' } },
|
|
12540
|
-
React.createElement(c$2, { name: alias, disabled:
|
|
12540
|
+
React.createElement(c$2, { name: alias, disabled: readOnly, checked: field.value === true, onCheckedChange: (checked) => handleChange(!!checked), id: inputId })));
|
|
12541
12541
|
case inputtype.includes('conditionalselect'):
|
|
12542
12542
|
return (React.createElement(p$5, { direction: "column", gap: "1", style: { width: '100%' } },
|
|
12543
|
-
React.createElement(C$1, { name: alias, disabled:
|
|
12543
|
+
React.createElement(C$1, { name: alias, disabled: readOnly, value: field.value, defaultValue: placeholder || "", onValueChange: handleChange },
|
|
12544
12544
|
React.createElement(u$1, { id: inputId, variant: isNeumorphic ? 'soft' : 'surface', style: { width: '100%' } }),
|
|
12545
|
-
React.createElement(g, null,
|
|
12545
|
+
React.createElement(g, null, inputOptions.map((inputoption) => (React.createElement(v, { key: inputoption.optionvalue || crypto.randomUUID(), value: inputoption.optionvalue }, inputoption.text)))))));
|
|
12546
12546
|
case inputtype.includes('conditionaltoggle'):
|
|
12547
12547
|
default:
|
|
12548
12548
|
return (React.createElement(p$5, { justify: "between", align: "center", style: { width: '100%' } },
|
|
12549
|
-
React.createElement(i$1, { id: inputId, name: alias, disabled:
|
|
12549
|
+
React.createElement(i$1, { id: inputId, name: alias, disabled: readOnly, checked: field.value === true, onCheckedChange: (checked) => handleChange(!!checked), variant: isNeumorphic ? 'soft' : 'surface' })));
|
|
12550
12550
|
}
|
|
12551
12551
|
};
|
|
12552
12552
|
const containerStyle = getDesignStyles(inputtype, isOpen);
|
|
12553
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
12553
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
12554
12554
|
React.createElement(p$8, { className: className, style: Object.assign(Object.assign({}, containerStyle), style) },
|
|
12555
12555
|
React.createElement(p$8, { mb: isOpen ? "4" : "0", style: { transition: 'margin 0.3s' } }, renderTrigger()),
|
|
12556
12556
|
React.createElement("div", { style: Object.assign(Object.assign({}, animationStyles.wrapper), { gridTemplateRows: isOpen ? '1fr' : '0fr', opacity: isOpen ? 1 : 0.6 }) },
|
|
@@ -12560,16 +12560,16 @@ const ConditionalTrigger = (_a) => {
|
|
|
12560
12560
|
borderTop: isOpen && !isNeumorphic ? '1px dashed var(--gray-6)' : 'none'
|
|
12561
12561
|
} }, children))),
|
|
12562
12562
|
React.createElement("div", null,
|
|
12563
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias, style: { cursor: 'pointer' } },
|
|
12563
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias, style: { cursor: 'pointer' } }, inputLabel),
|
|
12564
12564
|
"\u00A0",
|
|
12565
|
-
|
|
12565
|
+
isHinted ?
|
|
12566
12566
|
React.createElement(React.Fragment, null,
|
|
12567
|
-
React.createElement(e, { content:
|
|
12568
|
-
React.createElement("a", { href:
|
|
12567
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
12568
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
12569
12569
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
12570
12570
|
hasError ?
|
|
12571
12571
|
React.createElement(React.Fragment, null,
|
|
12572
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, typeof meta.error === 'string' ? React.createElement(React.Fragment, null,
|
|
12572
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, typeof meta.error === 'string' ? React.createElement(React.Fragment, null, errorText || "Required field")
|
|
12573
12573
|
: 'Invalid file selection')) : null))));
|
|
12574
12574
|
};
|
|
12575
12575
|
|
|
@@ -20849,20 +20849,26 @@ const ensureDate = (date) => {
|
|
|
20849
20849
|
};
|
|
20850
20850
|
|
|
20851
20851
|
const DatePicker = (_a) => {
|
|
20852
|
-
var { inputtype = 'datepicker-outline', alias,
|
|
20852
|
+
var { inputtype = 'datepicker-outline', alias, readOnly, newRow, isHinted, hintText, hintUrl, errorText, width, inputLabel, placeholder = 'Pick a date', minDate, maxDate, className, style } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "width", "inputLabel", "placeholder", "minDate", "maxDate", "className", "style"]);
|
|
20853
20853
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
20854
20854
|
const [field, meta] = formik.useField(alias);
|
|
20855
20855
|
const hasError = Boolean(meta.touched && meta.error);
|
|
20856
|
-
const selectedDate =
|
|
20857
|
-
|
|
20858
|
-
|
|
20859
|
-
|
|
20860
|
-
|
|
20856
|
+
const selectedDate = React.useMemo(() => {
|
|
20857
|
+
if (!field.value)
|
|
20858
|
+
return undefined;
|
|
20859
|
+
if (field.value instanceof Date)
|
|
20860
|
+
return field.value;
|
|
20861
|
+
const parsed = parseISO(field.value);
|
|
20862
|
+
return isValid(parsed) ? parsed : undefined;
|
|
20863
|
+
}, [field.value]);
|
|
20864
|
+
const parsedMin = ensureDate(minDate);
|
|
20865
|
+
const parsedMax = ensureDate(maxDate);
|
|
20861
20866
|
const inputId = `${alias}FormInput`;
|
|
20862
20867
|
const errorId = `${alias}-error`;
|
|
20863
20868
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
20864
20869
|
const containerRef = React.useRef(null);
|
|
20865
20870
|
const [neuVars, setNeuVars] = React.useState({});
|
|
20871
|
+
// Neumorphic Dynamic Colors
|
|
20866
20872
|
React.useEffect(() => {
|
|
20867
20873
|
if (inputtype === 'datepicker-neumorphic' && containerRef.current) {
|
|
20868
20874
|
const parentBg = getNearestParentBackground(containerRef.current.parentElement);
|
|
@@ -20896,110 +20902,104 @@ const DatePicker = (_a) => {
|
|
|
20896
20902
|
borderRadius: 'var(--radius-2)'
|
|
20897
20903
|
};
|
|
20898
20904
|
}, [inputtype, hasError, neuVars]);
|
|
20899
|
-
// --- CALENDAR POPUP STYLES ---
|
|
20900
20905
|
const calendarContainerStyle = React.useMemo(() => {
|
|
20901
|
-
const base = { padding: '
|
|
20906
|
+
const base = { padding: '20px', borderRadius: '16px', zIndex: 50 };
|
|
20902
20907
|
if (inputtype === 'datepicker-neumorphic') {
|
|
20903
20908
|
return Object.assign(Object.assign(Object.assign({}, base), { backgroundColor: 'var(--neu-bg)', boxShadow: '6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light)', border: 'none' }), neuVars);
|
|
20904
20909
|
}
|
|
20905
|
-
|
|
20906
|
-
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: '1px solid var(--gray-6)', boxShadow: '0 4px 12px rgba(0,0,0,0.05)' });
|
|
20907
|
-
}
|
|
20908
|
-
// Material
|
|
20909
|
-
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: 'none', boxShadow: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)' });
|
|
20910
|
+
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: '1px solid var(--gray-4)', boxShadow: '0 12px 24px -10px rgba(0,0,0,0.15), 0 8px 12px -6px rgba(0,0,0,0.1)' });
|
|
20910
20911
|
}, [inputtype, neuVars]);
|
|
20911
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
20912
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
20912
20913
|
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className: className },
|
|
20913
20914
|
React.createElement("input", { type: "hidden", "aria-describedby": `${alias}InputLabel`, name: alias, value: selectedDate ? selectedDate.toISOString() : '' }),
|
|
20914
20915
|
React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
20915
|
-
/* Reset & Layout */
|
|
20916
20916
|
.rdp {
|
|
20917
|
-
--rdp-cell-size:
|
|
20918
|
-
--rdp-
|
|
20919
|
-
|
|
20920
|
-
|
|
20917
|
+
--rdp-cell-size: 40px; /* Bigger touch targets */
|
|
20918
|
+
--rdp-accent-color: var(--accent-9);
|
|
20919
|
+
--rdp-background-color: var(--accent-3);
|
|
20920
|
+
margin: 0;
|
|
20921
20921
|
}
|
|
20922
|
-
|
|
20923
|
-
.rdp-
|
|
20922
|
+
/* Hide internal input field of DayPicker if present */
|
|
20923
|
+
.rdp-vhidden { display: none; }
|
|
20924
|
+
|
|
20925
|
+
/* Layout Construction - Critical for "Google Style" Grid */
|
|
20926
|
+
.rdp-month { display: table; margin: 0 auto; border-collapse: collapse; }
|
|
20927
|
+
.rdp-caption { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding: 0 8px; }
|
|
20924
20928
|
|
|
20925
|
-
/* Header
|
|
20926
|
-
.rdp-caption {
|
|
20927
|
-
display: flex;
|
|
20928
|
-
align-items: center;
|
|
20929
|
-
justify-content: space-between;
|
|
20930
|
-
margin-bottom: 12px;
|
|
20931
|
-
padding: 0 4px;
|
|
20932
|
-
}
|
|
20929
|
+
/* Header Typography */
|
|
20933
20930
|
.rdp-caption_label {
|
|
20931
|
+
font-size: 1rem;
|
|
20934
20932
|
font-weight: 600;
|
|
20935
20933
|
color: var(--gray-12);
|
|
20936
|
-
|
|
20937
|
-
text-transform: capitalize;
|
|
20934
|
+
text-transform: capitalize;
|
|
20938
20935
|
}
|
|
20939
|
-
|
|
20936
|
+
|
|
20937
|
+
/* Navigation Arrows */
|
|
20938
|
+
.rdp-nav { display: flex; gap: 4px; }
|
|
20940
20939
|
.rdp-nav_button {
|
|
20941
|
-
|
|
20942
|
-
|
|
20943
|
-
|
|
20944
|
-
transition: background 0.2s;
|
|
20945
|
-
background: transparent;
|
|
20940
|
+
width: 32px; height: 32px;
|
|
20941
|
+
display: flex; align-items: center; justify-content: center;
|
|
20942
|
+
border-radius: 50%;
|
|
20946
20943
|
border: none;
|
|
20944
|
+
background: transparent;
|
|
20947
20945
|
cursor: pointer;
|
|
20948
|
-
|
|
20949
|
-
|
|
20950
|
-
justify-content: center;
|
|
20946
|
+
color: var(--gray-11);
|
|
20947
|
+
transition: all 0.2s ease;
|
|
20951
20948
|
}
|
|
20952
20949
|
.rdp-nav_button:hover { background-color: var(--gray-4); color: var(--gray-12); }
|
|
20953
20950
|
|
|
20954
|
-
/*
|
|
20951
|
+
/* Table Structure */
|
|
20952
|
+
.rdp-table { max-width: 100%; border-collapse: collapse; }
|
|
20953
|
+
.rdp-tbody { border: 0; }
|
|
20954
|
+
|
|
20955
|
+
/* Weekday Headers (S M T W...) */
|
|
20955
20956
|
.rdp-head_cell {
|
|
20956
|
-
|
|
20957
|
-
font-weight: 600;
|
|
20958
|
-
color: var(--gray-9);
|
|
20959
|
-
text-
|
|
20960
|
-
padding-bottom: 8px;
|
|
20961
|
-
width: var(--rdp-cell-size);
|
|
20962
|
-
text-align: center;
|
|
20957
|
+
width: var(--rdp-cell-size); height: 32px;
|
|
20958
|
+
font-size: 0.75rem; font-weight: 600;
|
|
20959
|
+
color: var(--gray-9); text-transform: uppercase;
|
|
20960
|
+
text-align: center; vertical-align: middle;
|
|
20963
20961
|
}
|
|
20964
|
-
|
|
20965
|
-
/*
|
|
20966
|
-
.rdp-cell { text-align: center; }
|
|
20962
|
+
|
|
20963
|
+
/* Days */
|
|
20964
|
+
.rdp-cell { text-align: center; padding: 0; }
|
|
20967
20965
|
.rdp-day {
|
|
20968
|
-
width: var(--rdp-cell-size);
|
|
20969
|
-
height: var(--rdp-cell-size);
|
|
20966
|
+
width: var(--rdp-cell-size); height: var(--rdp-cell-size);
|
|
20970
20967
|
border-radius: 50%;
|
|
20971
|
-
border:
|
|
20972
|
-
background: transparent;
|
|
20973
|
-
|
|
20974
|
-
|
|
20975
|
-
|
|
20976
|
-
display: flex;
|
|
20977
|
-
align-items: center;
|
|
20978
|
-
justify-content: center;
|
|
20979
|
-
transition: all 0.15s ease;
|
|
20968
|
+
border: none;
|
|
20969
|
+
background: transparent;
|
|
20970
|
+
color: var(--gray-12);
|
|
20971
|
+
font-size: 0.9rem;
|
|
20972
|
+
cursor: pointer;
|
|
20973
|
+
display: flex; align-items: center; justify-content: center;
|
|
20980
20974
|
margin: 1px;
|
|
20975
|
+
transition: background-color 0.2s ease;
|
|
20981
20976
|
}
|
|
20982
20977
|
|
|
20983
|
-
/*
|
|
20984
|
-
.rdp-day:hover:not(.rdp-day_selected):not(
|
|
20978
|
+
/* Hover State */
|
|
20979
|
+
.rdp-day:hover:not(.rdp-day_selected):not(.rdp-day_disabled) {
|
|
20985
20980
|
background-color: var(--gray-4);
|
|
20981
|
+
font-weight: 500;
|
|
20986
20982
|
}
|
|
20987
|
-
|
|
20983
|
+
|
|
20984
|
+
/* Selected State - Solid Circle */
|
|
20988
20985
|
.rdp-day_selected {
|
|
20989
|
-
background-color: var(--accent-
|
|
20986
|
+
background-color: var(--rdp-accent-color) !important;
|
|
20990
20987
|
color: white !important;
|
|
20991
20988
|
font-weight: 600;
|
|
20992
20989
|
}
|
|
20993
20990
|
|
|
20991
|
+
/* Today State */
|
|
20994
20992
|
.rdp-day_today {
|
|
20995
|
-
color: var(--accent-
|
|
20993
|
+
color: var(--rdp-accent-color);
|
|
20996
20994
|
font-weight: 700;
|
|
20997
|
-
position: relative;
|
|
20998
20995
|
}
|
|
20996
|
+
/* If today is selected, keep text white */
|
|
20997
|
+
.rdp-day_selected.rdp-day_today { color: white; }
|
|
20999
20998
|
|
|
21000
|
-
|
|
20999
|
+
/* Disabled State */
|
|
21000
|
+
.rdp-day_disabled { opacity: 0.25; cursor: not-allowed; }
|
|
21001
21001
|
|
|
21002
|
-
/*
|
|
21002
|
+
/* Neumorphic Overrides */
|
|
21003
21003
|
${inputtype === 'datepicker-neumorphic' ? `
|
|
21004
21004
|
.rdp-day:hover:not(.rdp-day_selected) {
|
|
21005
21005
|
box-shadow: 3px 3px 6px var(--neu-shadow-dark), -3px -3px 6px var(--neu-shadow-light);
|
|
@@ -21014,27 +21014,28 @@ const DatePicker = (_a) => {
|
|
|
21014
21014
|
` } }),
|
|
21015
21015
|
React.createElement(P$1, { open: isOpen, onOpenChange: setIsOpen },
|
|
21016
21016
|
React.createElement(s$1, null,
|
|
21017
|
-
React.createElement(u, { variant: "surface", style: Object.assign({ cursor: 'pointer', height: inputtype === 'datepicker-neumorphic' ? '40px' : '32px' }, activeInputStyle), onClick: () => !
|
|
21017
|
+
React.createElement(u, { variant: "surface", style: Object.assign({ cursor: 'pointer', height: inputtype === 'datepicker-neumorphic' ? '40px' : '32px' }, activeInputStyle), onClick: () => !readOnly && setIsOpen(true) },
|
|
21018
21018
|
React.createElement(c, null,
|
|
21019
21019
|
React.createElement(Icon, { name: 'calendar', height: "16", width: "16", style: { color: 'var(--gray-10)' } })),
|
|
21020
|
-
React.createElement("input", { readOnly: true, disabled:
|
|
21020
|
+
React.createElement("input", { readOnly: true, disabled: readOnly, value: selectedDate ? format$2(selectedDate, 'PPP') : '', placeholder: placeholder, style: {
|
|
21021
21021
|
backgroundColor: 'transparent',
|
|
21022
21022
|
border: 'none',
|
|
21023
21023
|
outline: 'none',
|
|
21024
21024
|
width: '100%',
|
|
21025
|
-
cursor:
|
|
21025
|
+
cursor: readOnly ? 'default' : 'pointer',
|
|
21026
21026
|
color: 'inherit',
|
|
21027
21027
|
fontFamily: 'inherit',
|
|
21028
21028
|
fontSize: 'var(--font-size-2)',
|
|
21029
|
-
fontWeight: 500
|
|
21029
|
+
fontWeight: 500,
|
|
21030
|
+
pointerEvents: 'none'
|
|
21030
21031
|
}, id: inputId, "aria-describedby": hasError ? errorId : `${alias}InputLabel` }))),
|
|
21031
|
-
React.createElement(i$3, { style: calendarContainerStyle, align: "start", sideOffset:
|
|
21032
|
+
React.createElement(i$3, { style: calendarContainerStyle, align: "start", sideOffset: 8 },
|
|
21032
21033
|
React.createElement(DayPicker, { mode: "single", selected: selectedDate, onSelect: (date) => {
|
|
21033
|
-
setFieldValue(alias, date);
|
|
21034
|
+
setFieldValue(alias, date ? date.toISOString() : '');
|
|
21034
21035
|
setIsOpen(false);
|
|
21035
21036
|
setFieldTouched(alias, true);
|
|
21036
21037
|
}, disabled: [
|
|
21037
|
-
...(
|
|
21038
|
+
...(readOnly ? [{ from: new Date(1900, 0, 1), to: new Date(2100, 0, 1) }] : []),
|
|
21038
21039
|
{ before: parsedMin || new Date(1900, 0, 1) },
|
|
21039
21040
|
{ after: parsedMax || new Date(2100, 0, 1) }
|
|
21040
21041
|
], components: {
|
|
@@ -21047,33 +21048,29 @@ const DatePicker = (_a) => {
|
|
|
21047
21048
|
}
|
|
21048
21049
|
} }))),
|
|
21049
21050
|
React.createElement("div", null,
|
|
21050
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
21051
|
+
inputLabel && (React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel)),
|
|
21051
21052
|
"\u00A0",
|
|
21052
|
-
|
|
21053
|
-
React.createElement(
|
|
21054
|
-
React.createElement(
|
|
21055
|
-
|
|
21056
|
-
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
21057
|
-
hasError ?
|
|
21058
|
-
React.createElement(React.Fragment, null,
|
|
21059
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, props.errortext || (meta.error || "Required field"))) : null))));
|
|
21053
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available" },
|
|
21054
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
21055
|
+
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
21056
|
+
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' }, errorText || (meta.error || "Required field")))))));
|
|
21060
21057
|
};
|
|
21061
21058
|
|
|
21062
21059
|
const DateRangePicker = (_a) => {
|
|
21063
21060
|
var _b, _c;
|
|
21064
|
-
var { inputtype = 'daterangepicker-outline', alias,
|
|
21061
|
+
var { inputtype = 'daterangepicker-outline', alias, readOnly, newRow, isHinted, hintText, hintUrl, errorText, width, inputLabel, placeholder = 'Pick a date range', minDate, maxDate, className, style } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "width", "inputLabel", "placeholder", "minDate", "maxDate", "className", "style"]);
|
|
21065
21062
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
21066
21063
|
const [field, meta] = formik.useField(alias);
|
|
21067
21064
|
const hasError = Boolean(meta.touched && meta.error);
|
|
21068
|
-
|
|
21069
|
-
|
|
21070
|
-
|
|
21071
|
-
|
|
21072
|
-
|
|
21073
|
-
|
|
21074
|
-
|
|
21075
|
-
const
|
|
21076
|
-
const
|
|
21065
|
+
const selectedRange = React.useMemo(() => {
|
|
21066
|
+
const rawVal = field.value || {};
|
|
21067
|
+
return {
|
|
21068
|
+
from: ensureDate(rawVal.from),
|
|
21069
|
+
to: ensureDate(rawVal.to),
|
|
21070
|
+
};
|
|
21071
|
+
}, [field.value]);
|
|
21072
|
+
const parsedMin = ensureDate(minDate);
|
|
21073
|
+
const parsedMax = ensureDate(maxDate);
|
|
21077
21074
|
const errorId = `${alias}-error`;
|
|
21078
21075
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
21079
21076
|
const containerRef = React.useRef(null);
|
|
@@ -21091,12 +21088,12 @@ const DateRangePicker = (_a) => {
|
|
|
21091
21088
|
}
|
|
21092
21089
|
}, [inputtype]);
|
|
21093
21090
|
let displayText = placeholder;
|
|
21094
|
-
if (selectedRange.from) {
|
|
21091
|
+
if (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) {
|
|
21095
21092
|
if (selectedRange.to) {
|
|
21096
|
-
displayText = `${format$2(selectedRange.from, 'LLL dd')} - ${format$2(selectedRange.to, 'LLL dd')}`;
|
|
21093
|
+
displayText = `${format$2(selectedRange.from, 'LLL dd, yyyy')} - ${format$2(selectedRange.to, 'LLL dd, yyyy')}`;
|
|
21097
21094
|
}
|
|
21098
21095
|
else {
|
|
21099
|
-
displayText = format$2(selectedRange.from, 'LLL dd');
|
|
21096
|
+
displayText = format$2(selectedRange.from, 'LLL dd, yyyy');
|
|
21100
21097
|
}
|
|
21101
21098
|
}
|
|
21102
21099
|
// --- STYLES ---
|
|
@@ -21121,137 +21118,139 @@ const DateRangePicker = (_a) => {
|
|
|
21121
21118
|
};
|
|
21122
21119
|
}, [inputtype, hasError, neuVars]);
|
|
21123
21120
|
const calendarContainerStyle = React.useMemo(() => {
|
|
21124
|
-
const base = { padding: '
|
|
21121
|
+
const base = { padding: '20px', borderRadius: '16px', zIndex: 50 };
|
|
21125
21122
|
if (inputtype === 'daterangepicker-neumorphic') {
|
|
21126
21123
|
return Object.assign(Object.assign(Object.assign({}, base), { backgroundColor: 'var(--neu-bg)', boxShadow: '6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light)', border: 'none' }), neuVars);
|
|
21127
21124
|
}
|
|
21128
|
-
|
|
21129
|
-
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: '1px solid var(--gray-6)', boxShadow: '0 4px 12px rgba(0,0,0,0.05)' });
|
|
21130
|
-
}
|
|
21131
|
-
// Material
|
|
21132
|
-
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: 'none', boxShadow: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)' });
|
|
21125
|
+
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: '1px solid var(--gray-4)', boxShadow: '0 12px 24px -10px rgba(0,0,0,0.15), 0 8px 12px -6px rgba(0,0,0,0.1)' });
|
|
21133
21126
|
}, [inputtype, neuVars]);
|
|
21134
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
21135
|
-
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className:
|
|
21127
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
21128
|
+
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className: className },
|
|
21136
21129
|
React.createElement("input", { type: "hidden", name: alias, value: JSON.stringify({
|
|
21137
21130
|
from: (_b = selectedRange.from) === null || _b === void 0 ? void 0 : _b.toISOString(),
|
|
21138
21131
|
to: (_c = selectedRange.to) === null || _c === void 0 ? void 0 : _c.toISOString()
|
|
21139
21132
|
}) }),
|
|
21140
21133
|
React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
21141
|
-
/* Reset & Layout */
|
|
21142
21134
|
.rdp {
|
|
21143
|
-
--rdp-cell-size:
|
|
21144
|
-
--rdp-
|
|
21145
|
-
|
|
21135
|
+
--rdp-cell-size: 40px;
|
|
21136
|
+
--rdp-accent-color: var(--accent-9);
|
|
21137
|
+
--rdp-background-color: var(--accent-3);
|
|
21138
|
+
margin: 0;
|
|
21146
21139
|
font-family: var(--default-font-family, sans-serif);
|
|
21147
21140
|
}
|
|
21148
|
-
.rdp-
|
|
21149
|
-
.rdp-month {
|
|
21141
|
+
.rdp-vhidden { display: none; }
|
|
21142
|
+
.rdp-month { display: table; margin: 0 auto; border-collapse: collapse; }
|
|
21143
|
+
.rdp-caption { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding: 0 8px; }
|
|
21150
21144
|
|
|
21151
|
-
/* Header */
|
|
21152
|
-
.rdp-caption {
|
|
21153
|
-
display: flex; align-items: center; justify-content: space-between;
|
|
21154
|
-
margin-bottom: 12px; padding: 0 4px;
|
|
21155
|
-
}
|
|
21156
21145
|
.rdp-caption_label {
|
|
21157
|
-
font-weight: 600; color: var(--gray-12);
|
|
21158
|
-
text-transform: capitalize;
|
|
21146
|
+
font-size: 1rem; font-weight: 600; color: var(--gray-12); text-transform: capitalize;
|
|
21159
21147
|
}
|
|
21160
|
-
|
|
21148
|
+
|
|
21149
|
+
/* Navigation */
|
|
21150
|
+
.rdp-nav { display: flex; gap: 4px; }
|
|
21161
21151
|
.rdp-nav_button {
|
|
21162
|
-
|
|
21163
|
-
transition: background 0.2s; background: transparent; border: none; cursor: pointer;
|
|
21152
|
+
width: 32px; height: 32px;
|
|
21164
21153
|
display: flex; align-items: center; justify-content: center;
|
|
21154
|
+
border-radius: 50%; border: none; background: transparent; cursor: pointer;
|
|
21155
|
+
color: var(--gray-11); transition: all 0.2s ease;
|
|
21165
21156
|
}
|
|
21166
21157
|
.rdp-nav_button:hover { background-color: var(--gray-4); color: var(--gray-12); }
|
|
21167
21158
|
|
|
21168
|
-
/*
|
|
21159
|
+
/* Table */
|
|
21169
21160
|
.rdp-head_cell {
|
|
21161
|
+
width: var(--rdp-cell-size); height: 32px;
|
|
21170
21162
|
font-size: 0.75rem; font-weight: 600; color: var(--gray-9);
|
|
21171
|
-
text-transform: uppercase;
|
|
21172
|
-
text-align: center;
|
|
21163
|
+
text-transform: uppercase; text-align: center; vertical-align: middle;
|
|
21173
21164
|
}
|
|
21174
21165
|
|
|
21175
|
-
/* Cells */
|
|
21176
21166
|
.rdp-cell { text-align: center; padding: 1px 0; }
|
|
21167
|
+
|
|
21168
|
+
/* Base Day Style */
|
|
21177
21169
|
.rdp-day {
|
|
21178
21170
|
width: var(--rdp-cell-size); height: var(--rdp-cell-size);
|
|
21179
|
-
border-radius: 50%; border:
|
|
21180
|
-
|
|
21181
|
-
|
|
21171
|
+
border-radius: 50%; border: none; background: transparent;
|
|
21172
|
+
color: var(--gray-12); font-size: 0.9rem; cursor: pointer;
|
|
21173
|
+
display: flex; align-items: center; justify-content: center;
|
|
21182
21174
|
margin: 0 auto;
|
|
21175
|
+
transition: background-color 0.2s ease;
|
|
21183
21176
|
}
|
|
21184
21177
|
|
|
21185
|
-
|
|
21186
|
-
|
|
21178
|
+
.rdp-day:hover:not(.rdp-day_selected):not(.rdp-day_disabled) {
|
|
21179
|
+
background-color: var(--gray-4); font-weight: 500;
|
|
21180
|
+
}
|
|
21187
21181
|
|
|
21188
|
-
|
|
21182
|
+
|
|
21189
21183
|
.rdp-day_range_middle {
|
|
21190
|
-
background-color: var(--
|
|
21184
|
+
background-color: var(--rdp-background-color) !important;
|
|
21191
21185
|
color: var(--accent-11) !important;
|
|
21192
21186
|
border-radius: 0 !important;
|
|
21193
|
-
width: 100%; /* Fill cell
|
|
21187
|
+
width: 100%; /* Fill the cell to connect strip */
|
|
21188
|
+
margin: 0;
|
|
21194
21189
|
}
|
|
21190
|
+
|
|
21195
21191
|
.rdp-day_range_start {
|
|
21196
|
-
background-color: var(--accent-
|
|
21192
|
+
background-color: var(--rdp-accent-color) !important;
|
|
21197
21193
|
color: white !important;
|
|
21198
|
-
border-
|
|
21199
|
-
|
|
21200
|
-
|
|
21201
|
-
|
|
21202
|
-
|
|
21194
|
+
border-radius: 50% !important;
|
|
21195
|
+
}
|
|
21196
|
+
.rdp-day_range_start:not(.rdp-day_range_end) {
|
|
21197
|
+
border-top-right-radius: 0 !important;
|
|
21198
|
+
border-bottom-right-radius: 0 !important;
|
|
21199
|
+
width: 100%;
|
|
21200
|
+
margin: 0;
|
|
21203
21201
|
}
|
|
21202
|
+
|
|
21204
21203
|
.rdp-day_range_end {
|
|
21205
|
-
background-color: var(--accent-
|
|
21204
|
+
background-color: var(--rdp-accent-color) !important;
|
|
21206
21205
|
color: white !important;
|
|
21207
|
-
border-top-right-radius: 50% !important;
|
|
21208
|
-
border-bottom-right-radius: 50% !important;
|
|
21209
21206
|
border-top-left-radius: 0 !important;
|
|
21210
21207
|
border-bottom-left-radius: 0 !important;
|
|
21208
|
+
border-top-right-radius: 50% !important;
|
|
21209
|
+
border-bottom-right-radius: 50% !important;
|
|
21211
21210
|
width: 100%;
|
|
21211
|
+
margin: 0;
|
|
21212
21212
|
}
|
|
21213
|
+
|
|
21213
21214
|
.rdp-day_range_start.rdp-day_range_end {
|
|
21214
21215
|
border-radius: 50% !important;
|
|
21215
21216
|
width: var(--rdp-cell-size);
|
|
21217
|
+
margin: 0 auto;
|
|
21216
21218
|
}
|
|
21219
|
+
|
|
21217
21220
|
.rdp-day_today { color: var(--accent-11); font-weight: 700; }
|
|
21218
|
-
.rdp-day_disabled { opacity: 0.
|
|
21221
|
+
.rdp-day_disabled { opacity: 0.25; cursor: not-allowed; }
|
|
21219
21222
|
|
|
21220
|
-
/*
|
|
21223
|
+
/* Neumorphic Overrides */
|
|
21221
21224
|
${inputtype === 'daterangepicker-neumorphic' ? `
|
|
21222
|
-
|
|
21223
|
-
|
|
21224
|
-
|
|
21225
|
-
|
|
21226
|
-
|
|
21227
|
-
|
|
21228
|
-
|
|
21229
|
-
|
|
21230
|
-
|
|
21231
|
-
}
|
|
21232
|
-
.neu-calendar .rdp-day_range_middle {
|
|
21233
|
-
box-shadow: inset 1px 1px 2px var(--neu-shadow-dark), inset -1px -1px 2px var(--neu-shadow-light);
|
|
21234
|
-
background-color: transparent !important;
|
|
21235
|
-
}
|
|
21225
|
+
.rdp-day:hover:not(.rdp-day_selected) {
|
|
21226
|
+
box-shadow: 3px 3px 6px var(--neu-shadow-dark), -3px -3px 6px var(--neu-shadow-light);
|
|
21227
|
+
background-color: transparent;
|
|
21228
|
+
}
|
|
21229
|
+
.rdp-day_range_start, .rdp-day_range_end {
|
|
21230
|
+
box-shadow: inset 2px 2px 5px var(--neu-shadow-dark), inset -2px -2px 5px var(--neu-shadow-light);
|
|
21231
|
+
color: var(--neu-accent) !important;
|
|
21232
|
+
background-color: var(--neu-bg) !important;
|
|
21233
|
+
}
|
|
21236
21234
|
` : ''}
|
|
21237
21235
|
` } }),
|
|
21238
21236
|
React.createElement(P$1, { open: isOpen, onOpenChange: setIsOpen },
|
|
21239
21237
|
React.createElement(s$1, null,
|
|
21240
|
-
React.createElement(u, { variant: "surface", style: Object.assign({ cursor: 'pointer', height: inputtype === 'daterangepicker-neumorphic' ? '40px' : '32px' }, activeInputStyle), onClick: () => !
|
|
21238
|
+
React.createElement(u, { variant: "surface", style: Object.assign({ cursor: 'pointer', height: inputtype === 'daterangepicker-neumorphic' ? '40px' : '32px' }, activeInputStyle), onClick: () => !readOnly && setIsOpen(true) },
|
|
21241
21239
|
React.createElement(c, null,
|
|
21242
21240
|
React.createElement(Icon, { name: 'calendar', height: "16", width: "16", style: { color: 'var(--gray-10)' } })),
|
|
21243
|
-
React.createElement("input", {
|
|
21241
|
+
React.createElement("input", { readOnly: true, disabled: readOnly, value: displayText, placeholder: placeholder, style: {
|
|
21244
21242
|
backgroundColor: 'transparent',
|
|
21245
21243
|
border: 'none',
|
|
21246
21244
|
outline: 'none',
|
|
21247
21245
|
width: '100%',
|
|
21248
|
-
cursor:
|
|
21246
|
+
cursor: readOnly ? 'default' : 'pointer',
|
|
21249
21247
|
color: 'inherit',
|
|
21250
21248
|
fontFamily: 'inherit',
|
|
21251
21249
|
fontSize: 'var(--font-size-2)',
|
|
21252
|
-
fontWeight: 500
|
|
21250
|
+
fontWeight: 500,
|
|
21251
|
+
pointerEvents: 'none'
|
|
21253
21252
|
} }))),
|
|
21254
|
-
React.createElement(i$3, { style: calendarContainerStyle, align: "start", sideOffset:
|
|
21253
|
+
React.createElement(i$3, { style: calendarContainerStyle, align: "start", sideOffset: 8 },
|
|
21255
21254
|
React.createElement("div", { className: inputtype === 'daterangepicker-neumorphic' ? 'neu-calendar' : '', style: neuVars },
|
|
21256
21255
|
React.createElement(DayPicker, { mode: "range", selected: selectedRange, onSelect: (range) => {
|
|
21257
21256
|
setFieldValue(alias, range);
|
|
@@ -21260,43 +21259,41 @@ const DateRangePicker = (_a) => {
|
|
|
21260
21259
|
setIsOpen(false);
|
|
21261
21260
|
}
|
|
21262
21261
|
}, disabled: [
|
|
21263
|
-
...(
|
|
21262
|
+
...(readOnly ? [{ from: new Date(1900, 0, 1), to: new Date(2100, 0, 1) }] : []),
|
|
21264
21263
|
{ before: parsedMin || new Date(1900, 0, 1) },
|
|
21265
21264
|
{ after: parsedMax || new Date(2100, 0, 1) }
|
|
21266
21265
|
], components: {
|
|
21267
21266
|
Chevron: (props) => {
|
|
21268
21267
|
const style = { display: 'block', cursor: 'pointer', color: 'var(--gray-11)' };
|
|
21269
|
-
if (props.orientation === 'left')
|
|
21268
|
+
if (props.orientation === 'left') {
|
|
21270
21269
|
return React.createElement(Icon, { name: 'chevronleft', height: "16", width: "16", style: style });
|
|
21270
|
+
}
|
|
21271
21271
|
return React.createElement(Icon, { name: 'chevronright', height: "16", width: "16", style: style });
|
|
21272
21272
|
}
|
|
21273
21273
|
} })))),
|
|
21274
21274
|
React.createElement("div", null,
|
|
21275
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
21275
|
+
inputLabel && (React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel)),
|
|
21276
21276
|
"\u00A0",
|
|
21277
|
-
|
|
21278
|
-
React.createElement(
|
|
21279
|
-
React.createElement(
|
|
21280
|
-
|
|
21281
|
-
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
21282
|
-
hasError ?
|
|
21283
|
-
React.createElement(React.Fragment, null,
|
|
21284
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, props.errortext || (meta.error || "Required field"))) : null))));
|
|
21277
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
21278
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
21279
|
+
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
21280
|
+
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' }, errorText || (meta.error || "Required field")))))));
|
|
21285
21281
|
};
|
|
21286
21282
|
|
|
21287
21283
|
const DateTimePicker = (_a) => {
|
|
21288
|
-
var { inputtype = 'datetimepicker-outline', alias,
|
|
21284
|
+
var { inputtype = 'datetimepicker-outline', alias, readOnly, newRow, isHinted, hintText, hintUrl, errorText, width, inputLabel, placeholder = 'Pick date & time', value, minDate, maxDate, className, style } = _a, props = __rest$1(_a, ["inputtype", "alias", "readOnly", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "width", "inputLabel", "placeholder", "value", "minDate", "maxDate", "className", "style"]);
|
|
21289
21285
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
21290
21286
|
const [field, meta] = formik.useField(alias);
|
|
21291
21287
|
const hasError = Boolean(meta.touched && meta.error);
|
|
21292
21288
|
const selectedDate = ensureDate(field.value);
|
|
21293
|
-
const parsedMin = ensureDate(
|
|
21294
|
-
const parsedMax = ensureDate(
|
|
21289
|
+
const parsedMin = ensureDate(minDate);
|
|
21290
|
+
const parsedMax = ensureDate(maxDate);
|
|
21295
21291
|
const inputId = `${alias}FormInput`;
|
|
21296
21292
|
const errorId = `${alias}-error`;
|
|
21297
21293
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
21298
21294
|
const containerRef = React.useRef(null);
|
|
21299
21295
|
const [neuVars, setNeuVars] = React.useState({});
|
|
21296
|
+
// Neumorphic Logic
|
|
21300
21297
|
React.useEffect(() => {
|
|
21301
21298
|
if (inputtype === 'datetimepicker-neumorphic' && containerRef.current) {
|
|
21302
21299
|
const parentBg = getNearestParentBackground(containerRef.current.parentElement);
|
|
@@ -21315,6 +21312,7 @@ const DateTimePicker = (_a) => {
|
|
|
21315
21312
|
const current = selectedDate || new Date();
|
|
21316
21313
|
const hours = current.getHours();
|
|
21317
21314
|
const minutes = current.getMinutes();
|
|
21315
|
+
// Preserve existing time when changing date
|
|
21318
21316
|
const newDateTime = setMinutes(setHours(date, hours), minutes);
|
|
21319
21317
|
setFieldValue(alias, newDateTime);
|
|
21320
21318
|
};
|
|
@@ -21334,7 +21332,7 @@ const DateTimePicker = (_a) => {
|
|
|
21334
21332
|
}
|
|
21335
21333
|
setFieldValue(alias, newDate);
|
|
21336
21334
|
};
|
|
21337
|
-
// --- STYLES ---
|
|
21335
|
+
// --- INPUT STYLES ---
|
|
21338
21336
|
const activeInputStyle = React.useMemo(() => {
|
|
21339
21337
|
if (inputtype === 'datetimepicker-neumorphic') {
|
|
21340
21338
|
return Object.assign({ backgroundColor: 'var(--neu-bg)', border: 'none', color: hasError ? 'var(--red-9)' : 'var(--neu-text)', boxShadow: 'inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light)', borderRadius: '8px' }, neuVars);
|
|
@@ -21355,82 +21353,87 @@ const DateTimePicker = (_a) => {
|
|
|
21355
21353
|
borderRadius: 'var(--radius-2)'
|
|
21356
21354
|
};
|
|
21357
21355
|
}, [inputtype, hasError, neuVars]);
|
|
21356
|
+
// --- POPUP CONTAINER STYLES ---
|
|
21358
21357
|
const calendarContainerStyle = React.useMemo(() => {
|
|
21359
|
-
|
|
21358
|
+
// Padding 0 allows the Time Picker footer to sit flush at the bottom
|
|
21359
|
+
const base = { padding: 0, borderRadius: '16px', overflow: 'hidden', zIndex: 50 };
|
|
21360
21360
|
if (inputtype === 'datetimepicker-neumorphic') {
|
|
21361
21361
|
return Object.assign(Object.assign(Object.assign({}, base), { backgroundColor: 'var(--neu-bg)', boxShadow: '6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light)', border: 'none' }), neuVars);
|
|
21362
21362
|
}
|
|
21363
|
-
|
|
21364
|
-
|
|
21365
|
-
}
|
|
21366
|
-
// Material
|
|
21367
|
-
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: 'none', boxShadow: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)' });
|
|
21363
|
+
// Google Material Shadow
|
|
21364
|
+
return Object.assign(Object.assign({}, base), { backgroundColor: 'var(--color-panel-solid)', border: '1px solid var(--gray-4)', boxShadow: '0 12px 24px -10px rgba(0,0,0,0.15), 0 8px 12px -6px rgba(0,0,0,0.1)' });
|
|
21368
21365
|
}, [inputtype, neuVars]);
|
|
21369
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
21370
|
-
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className:
|
|
21371
|
-
React.createElement("input", { type: "hidden", name: alias, value: selectedDate ? selectedDate.toISOString() : '' }),
|
|
21366
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
21367
|
+
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className: className },
|
|
21368
|
+
React.createElement("input", Object.assign({ type: "hidden", name: alias, value: selectedDate ? selectedDate.toISOString() : '' }, props)),
|
|
21372
21369
|
React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
21373
|
-
/* Reset & Layout */
|
|
21374
21370
|
.rdp {
|
|
21375
|
-
--rdp-cell-size:
|
|
21376
|
-
--rdp-
|
|
21371
|
+
--rdp-cell-size: 40px;
|
|
21372
|
+
--rdp-accent-color: var(--accent-9);
|
|
21373
|
+
--rdp-background-color: var(--accent-3);
|
|
21377
21374
|
margin: 0;
|
|
21378
|
-
padding: 16px; /* Padding
|
|
21375
|
+
padding: 16px; /* Padding inside RDP */
|
|
21379
21376
|
font-family: var(--default-font-family, sans-serif);
|
|
21380
21377
|
}
|
|
21381
|
-
.rdp-
|
|
21382
|
-
.rdp-month {
|
|
21378
|
+
.rdp-vhidden { display: none; }
|
|
21379
|
+
.rdp-month { display: table; margin: 0 auto; border-collapse: collapse; }
|
|
21380
|
+
.rdp-caption { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding: 0 8px; }
|
|
21383
21381
|
|
|
21384
|
-
/* Header */
|
|
21385
|
-
.rdp-caption {
|
|
21386
|
-
display: flex; align-items: center; justify-content: space-between;
|
|
21387
|
-
margin-bottom: 12px; padding: 0 4px;
|
|
21388
|
-
}
|
|
21389
21382
|
.rdp-caption_label {
|
|
21390
|
-
font-weight: 600; color: var(--gray-12);
|
|
21391
|
-
text-transform: capitalize;
|
|
21383
|
+
font-size: 1rem; font-weight: 600; color: var(--gray-12); text-transform: capitalize;
|
|
21392
21384
|
}
|
|
21393
|
-
|
|
21385
|
+
|
|
21386
|
+
/* Navigation */
|
|
21387
|
+
.rdp-nav { display: flex; gap: 4px; }
|
|
21394
21388
|
.rdp-nav_button {
|
|
21395
|
-
|
|
21396
|
-
transition: background 0.2s; background: transparent; border: none; cursor: pointer;
|
|
21389
|
+
width: 32px; height: 32px;
|
|
21397
21390
|
display: flex; align-items: center; justify-content: center;
|
|
21391
|
+
border-radius: 50%; border: none; background: transparent; cursor: pointer;
|
|
21392
|
+
color: var(--gray-11); transition: all 0.2s ease;
|
|
21398
21393
|
}
|
|
21399
21394
|
.rdp-nav_button:hover { background-color: var(--gray-4); color: var(--gray-12); }
|
|
21400
21395
|
|
|
21401
21396
|
/* Weekdays */
|
|
21402
21397
|
.rdp-head_cell {
|
|
21398
|
+
width: var(--rdp-cell-size); height: 32px;
|
|
21403
21399
|
font-size: 0.75rem; font-weight: 600; color: var(--gray-9);
|
|
21404
|
-
text-transform: uppercase;
|
|
21405
|
-
text-align: center;
|
|
21400
|
+
text-transform: uppercase; text-align: center; vertical-align: middle;
|
|
21406
21401
|
}
|
|
21407
21402
|
|
|
21408
|
-
/*
|
|
21409
|
-
.rdp-cell { text-align: center; }
|
|
21403
|
+
/* Days */
|
|
21404
|
+
.rdp-cell { text-align: center; padding: 0; }
|
|
21410
21405
|
.rdp-day {
|
|
21411
21406
|
width: var(--rdp-cell-size); height: var(--rdp-cell-size);
|
|
21412
|
-
border-radius: 50%; border:
|
|
21413
|
-
|
|
21414
|
-
|
|
21407
|
+
border-radius: 50%; border: none; background: transparent;
|
|
21408
|
+
color: var(--gray-12); font-size: 0.9rem; cursor: pointer;
|
|
21409
|
+
display: flex; align-items: center; justify-content: center;
|
|
21415
21410
|
transition: all 0.15s ease; margin: 1px;
|
|
21416
21411
|
}
|
|
21417
21412
|
|
|
21418
|
-
.rdp-day:hover:not(.rdp-day_selected):not([disabled]) {
|
|
21419
|
-
|
|
21420
|
-
|
|
21421
|
-
|
|
21422
|
-
|
|
21413
|
+
.rdp-day:hover:not(.rdp-day_selected):not([disabled]) {
|
|
21414
|
+
background-color: var(--gray-4); font-weight: 500;
|
|
21415
|
+
}
|
|
21416
|
+
|
|
21417
|
+
/* Selected State */
|
|
21418
|
+
.rdp-day_selected {
|
|
21419
|
+
background-color: var(--rdp-accent-color) !important;
|
|
21420
|
+
color: white !important; font-weight: 600;
|
|
21423
21421
|
}
|
|
21424
|
-
.rdp-day_disabled { opacity: 0.3; cursor: not-allowed; }
|
|
21425
21422
|
|
|
21426
|
-
/*
|
|
21423
|
+
/* Today State */
|
|
21424
|
+
.rdp-day_today { color: var(--rdp-accent-color); font-weight: 700; }
|
|
21425
|
+
.rdp-day_disabled { opacity: 0.25; cursor: not-allowed; }
|
|
21426
|
+
|
|
21427
|
+
/* --- TIME INPUT STYLING --- */
|
|
21427
21428
|
.time-input {
|
|
21428
21429
|
text-align: center; font-variant-numeric: tabular-nums;
|
|
21429
|
-
width: 44px; padding:
|
|
21430
|
+
width: 44px; padding: 6px; border-radius: 6px;
|
|
21430
21431
|
border: 1px solid var(--gray-6); background: var(--color-surface);
|
|
21431
|
-
color: var(--gray-12); font-weight:
|
|
21432
|
+
color: var(--gray-12); font-weight: 600; font-size: 0.9rem;
|
|
21433
|
+
}
|
|
21434
|
+
.time-input:focus {
|
|
21435
|
+
outline: 2px solid var(--accent-9); border-color: transparent;
|
|
21432
21436
|
}
|
|
21433
|
-
.time-input:focus { outline: 2px solid var(--accent-9); border-color: transparent; }
|
|
21434
21437
|
|
|
21435
21438
|
/* Neumorphic Overrides */
|
|
21436
21439
|
${inputtype === 'datetimepicker-neumorphic' ? `
|
|
@@ -21454,54 +21457,53 @@ const DateTimePicker = (_a) => {
|
|
|
21454
21457
|
setFieldTouched(alias, true);
|
|
21455
21458
|
} },
|
|
21456
21459
|
React.createElement(s$1, null,
|
|
21457
|
-
React.createElement(u, { variant: "surface", style: Object.assign({ cursor: 'pointer', height: inputtype === 'datetimepicker-neumorphic' ? '40px' : '32px' }, activeInputStyle), onClick: () => !
|
|
21460
|
+
React.createElement(u, { variant: "surface", style: Object.assign({ cursor: 'pointer', height: inputtype === 'datetimepicker-neumorphic' ? '40px' : '32px' }, activeInputStyle), onClick: () => !readOnly && setIsOpen(true) },
|
|
21458
21461
|
React.createElement(c, null,
|
|
21459
21462
|
React.createElement(Icon, { name: 'calendar', height: "16", width: "16", style: { color: 'var(--gray-10)' } })),
|
|
21460
|
-
React.createElement("input", { id: inputId, "aria-describedby": hasError ? errorId : undefined, readOnly: true, disabled:
|
|
21463
|
+
React.createElement("input", { id: inputId, "aria-describedby": hasError ? errorId : undefined, readOnly: true, disabled: readOnly,
|
|
21464
|
+
// Format: Jan 01, 2023 12:00 PM
|
|
21465
|
+
value: selectedDate && isValid(selectedDate) ? format$2(selectedDate, 'PPP p') : '', placeholder: placeholder, style: {
|
|
21461
21466
|
backgroundColor: 'transparent', border: 'none', outline: 'none', width: '100%',
|
|
21462
|
-
cursor:
|
|
21463
|
-
fontSize: 'var(--font-size-2)', fontWeight: 500
|
|
21467
|
+
cursor: readOnly ? 'default' : 'pointer', color: 'inherit', fontFamily: 'inherit',
|
|
21468
|
+
fontSize: 'var(--font-size-2)', fontWeight: 500, pointerEvents: 'none'
|
|
21464
21469
|
} }))),
|
|
21465
21470
|
React.createElement(i$3, { style: calendarContainerStyle, align: "start", sideOffset: 5 },
|
|
21466
21471
|
React.createElement("div", { className: inputtype === 'datetimepicker-neumorphic' ? 'neu-calendar' : '', style: neuVars },
|
|
21467
21472
|
React.createElement(DayPicker, { mode: "single", selected: selectedDate, onSelect: handleDaySelect, disabled: [
|
|
21468
|
-
...(
|
|
21473
|
+
...(readOnly ? [{ from: new Date(1900, 0, 1), to: new Date(2100, 0, 1) }] : []),
|
|
21469
21474
|
{ before: parsedMin || new Date(1900, 0, 1) },
|
|
21470
21475
|
{ after: parsedMax || new Date(2100, 0, 1) }
|
|
21471
|
-
],
|
|
21476
|
+
], components: {
|
|
21472
21477
|
Chevron: (props) => {
|
|
21473
21478
|
const style = { display: 'block', cursor: 'pointer', color: 'var(--gray-11)' };
|
|
21474
|
-
if (props.orientation === 'left')
|
|
21479
|
+
if (props.orientation === 'left') {
|
|
21475
21480
|
return React.createElement(Icon, { name: 'chevronleft', height: "16", width: "16", style: style });
|
|
21481
|
+
}
|
|
21476
21482
|
return React.createElement(Icon, { name: 'chevronright', height: "16", width: "16", style: style });
|
|
21477
21483
|
}
|
|
21478
21484
|
} }),
|
|
21479
|
-
React.createElement(
|
|
21480
|
-
React.createElement(p$5, { p: "3", gap: "3", align: "center", justify: "center", style: {
|
|
21485
|
+
React.createElement(p$5, { p: "3", gap: "3", align: "center", justify: "between", style: {
|
|
21481
21486
|
backgroundColor: inputtype === 'datetimepicker-neumorphic' ? 'rgba(0,0,0,0.02)' : 'var(--gray-2)',
|
|
21482
21487
|
borderTop: inputtype === 'datetimepicker-neumorphic' ? 'none' : '1px solid var(--gray-4)'
|
|
21483
21488
|
} },
|
|
21484
|
-
React.createElement(
|
|
21485
|
-
|
|
21486
|
-
React.createElement(
|
|
21487
|
-
|
|
21488
|
-
|
|
21489
|
-
|
|
21489
|
+
React.createElement(p$5, { align: "center", gap: "2" },
|
|
21490
|
+
React.createElement(Icon, { name: "clock", width: "16", height: "16", style: { opacity: 0.6 } }),
|
|
21491
|
+
React.createElement(p$5, { align: "center", gap: "1" },
|
|
21492
|
+
React.createElement("input", { type: "number", className: "time-input", min: "0", max: "23", disabled: readOnly, value: selectedDate ? format$2(selectedDate, 'HH') : '12', onChange: (e) => handleTimeChange('hours', e.target.value) }),
|
|
21493
|
+
React.createElement(p$d, { weight: "bold", size: "3", style: { paddingBottom: 2, color: 'var(--gray-10)' } }, ":"),
|
|
21494
|
+
React.createElement("input", { type: "number", className: "time-input", min: "0", max: "59", disabled: readOnly, value: selectedDate ? format$2(selectedDate, 'mm') : '00', onChange: (e) => handleTimeChange('minutes', e.target.value) }))),
|
|
21495
|
+
React.createElement(o$a, { size: "1", variant: "soft", onClick: () => setIsOpen(false) }, "Done"))))),
|
|
21490
21496
|
React.createElement("div", null,
|
|
21491
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
21497
|
+
inputLabel && (React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel)),
|
|
21492
21498
|
"\u00A0",
|
|
21493
|
-
|
|
21494
|
-
React.createElement(
|
|
21495
|
-
React.createElement(
|
|
21496
|
-
|
|
21497
|
-
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
21498
|
-
hasError ?
|
|
21499
|
-
React.createElement(React.Fragment, null,
|
|
21500
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, props.errortext || (meta.error || "Required field"))) : null))));
|
|
21499
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
21500
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
21501
|
+
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
21502
|
+
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' }, errorText || (meta.error || "Required field")))))));
|
|
21501
21503
|
};
|
|
21502
21504
|
|
|
21503
21505
|
const Dropdown = (_a) => {
|
|
21504
|
-
var { inputtype = 'dropdown-outline', alias,
|
|
21506
|
+
var { inputtype = 'dropdown-outline', alias, readOnly, width, inputLabel, placeholder, value, inputOptions, style, newRow, isHinted, hintText, hintUrl, defaultvalue, errorText, className } = _a, props = __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "value", "inputOptions", "style", "newRow", "isHinted", "hintText", "hintUrl", "defaultvalue", "errorText", "className"]);
|
|
21505
21507
|
const triggerRef = React.useRef(null);
|
|
21506
21508
|
const [neuVars, setNeuVars] = React.useState({});
|
|
21507
21509
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
@@ -21575,7 +21577,7 @@ const Dropdown = (_a) => {
|
|
|
21575
21577
|
inputtype === 'dropdown-material' ? materialContent :
|
|
21576
21578
|
inputtype === 'dropdown-outline' ? outlineContent : Object.assign(Object.assign({}, neumorphicContent), neuVars);
|
|
21577
21579
|
return (React.createElement(React.Fragment, null,
|
|
21578
|
-
React.createElement(Column, { span: width, newLine:
|
|
21580
|
+
React.createElement(Column, { span: width, newLine: newRow },
|
|
21579
21581
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
21580
21582
|
inputtype === 'dropdown-neumorphic' && (React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
21581
21583
|
.neu-select-trigger[data-state='open'] {
|
|
@@ -21587,7 +21589,7 @@ const Dropdown = (_a) => {
|
|
|
21587
21589
|
cursor: pointer;
|
|
21588
21590
|
}
|
|
21589
21591
|
` } })),
|
|
21590
|
-
React.createElement(C$1, { name: alias, disabled:
|
|
21592
|
+
React.createElement(C$1, { name: alias, disabled: readOnly, value: field.value || "", onValueChange: (val) => {
|
|
21591
21593
|
const finalVal = val === "__RESET__" ? "" : val;
|
|
21592
21594
|
setFieldValue(alias, finalVal);
|
|
21593
21595
|
setTimeout(() => setFieldTouched(alias, true), 0);
|
|
@@ -21598,26 +21600,26 @@ const Dropdown = (_a) => {
|
|
|
21598
21600
|
setFieldTouched(alias, true);
|
|
21599
21601
|
}
|
|
21600
21602
|
} },
|
|
21601
|
-
React.createElement(u$1, Object.assign({ id: `${alias}FormInput`, ref: triggerRef, variant: "ghost", placeholder: placeholder || "Select an option", className: `${inputtype === 'dropdown-neumorphic' ? 'neu-select-trigger' : ''} ${
|
|
21603
|
+
React.createElement(u$1, Object.assign({ id: `${alias}FormInput`, ref: triggerRef, variant: "ghost", placeholder: placeholder || "Select an option", className: `${inputtype === 'dropdown-neumorphic' ? 'neu-select-trigger' : ''} ${className || ''}`, style: Object.assign(Object.assign({}, activeTriggerStyle), style) }, props)),
|
|
21602
21604
|
React.createElement(g, { position: "popper", sideOffset: 5, style: activeContentStyle },
|
|
21603
21605
|
React.createElement(v, { value: "__RESET__", className: inputtype === 'dropdown-neumorphic' ? 'neu-select-item' : '', style: { color: 'var(--gray-10)', fontStyle: 'italic' } }, placeholder || "Select an option"),
|
|
21604
21606
|
React.createElement(o$2, { size: "4", style: { margin: '4px 0', opacity: 0.5 } }),
|
|
21605
|
-
|
|
21607
|
+
inputOptions.map((inputoption) => (React.createElement(React.Fragment, { key: inputoption.optionid || crypto.randomUUID() }, inputoption.optionurl ?
|
|
21606
21608
|
React.createElement(v, { id: String(inputoption.optionid) || '', value: inputoption.optionvalue, className: inputtype === 'dropdown-neumorphic' ? 'neu-select-item' : '' },
|
|
21607
21609
|
React.createElement("a", { onClick: (e) => { e.stopPropagation(); openLink(inputoption.optionurl || "#"); }, style: { textDecoration: 'none', color: 'inherit' } }, inputoption.text))
|
|
21608
21610
|
:
|
|
21609
21611
|
React.createElement(v, { id: String(inputoption.optionid) || '', value: inputoption.optionvalue, className: inputtype === 'dropdown-neumorphic' ? 'neu-select-item' : '' }, inputoption.text)))))),
|
|
21610
21612
|
React.createElement("div", null,
|
|
21611
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
21613
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
21612
21614
|
"\u00A0",
|
|
21613
|
-
|
|
21615
|
+
isHinted ?
|
|
21614
21616
|
React.createElement(React.Fragment, null,
|
|
21615
|
-
React.createElement(e, { content:
|
|
21616
|
-
React.createElement("a", { href:
|
|
21617
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
21618
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
21617
21619
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
21618
21620
|
hasError ?
|
|
21619
21621
|
React.createElement(React.Fragment, null,
|
|
21620
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
21622
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || meta.error || "Required field")) : null)))));
|
|
21621
21623
|
};
|
|
21622
21624
|
|
|
21623
21625
|
const getFileIcon$1 = (type, name) => {
|
|
@@ -21635,7 +21637,7 @@ const getFileIcon$1 = (type, name) => {
|
|
|
21635
21637
|
};
|
|
21636
21638
|
const File$1 = (_a) => {
|
|
21637
21639
|
var _b;
|
|
21638
|
-
var { inputtype = 'fileinput-outline', alias,
|
|
21640
|
+
var { inputtype = 'fileinput-outline', alias, readOnly, width, inputLabel, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, preview = false, className, style } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "preview", "className", "style"]);
|
|
21639
21641
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
21640
21642
|
const [field, meta] = formik.useField(alias);
|
|
21641
21643
|
const selectedFile = field.value;
|
|
@@ -21705,9 +21707,9 @@ const File$1 = (_a) => {
|
|
|
21705
21707
|
: '6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light)', border: 'none' }), neuVars);
|
|
21706
21708
|
const activeStyle = inputtype === 'fileinput-neumorphic' ? neumorphicTrigger :
|
|
21707
21709
|
inputtype === 'fileinput-outline' ? outlineTrigger : materialTrigger;
|
|
21708
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
21709
|
-
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className:
|
|
21710
|
-
React.createElement("input", { ref: inputRef, id: inputId, name: alias, readOnly:
|
|
21710
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
21711
|
+
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className: className },
|
|
21712
|
+
React.createElement("input", { ref: inputRef, id: inputId, name: alias, readOnly: readOnly, type: "file", accept: ACCEPTED_FORMATS, onChange: handleFileChange, style: { display: 'none' }, "aria-describedby": hasError ? errorId : undefined }),
|
|
21711
21713
|
React.createElement("div", { onClick: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, style: activeStyle, onMouseEnter: (e) => {
|
|
21712
21714
|
if (inputtype === 'fileinput-outline')
|
|
21713
21715
|
e.currentTarget.style.borderColor = 'var(--accent-9)';
|
|
@@ -21739,16 +21741,16 @@ const File$1 = (_a) => {
|
|
|
21739
21741
|
React.createElement(o$5, { size: "1", variant: "ghost", color: "red", onClick: handleClear, style: { borderRadius: '50%', padding: 4 } },
|
|
21740
21742
|
React.createElement(Icon, { name: 'close', width: "16", height: "16" }))))),
|
|
21741
21743
|
React.createElement("div", null,
|
|
21742
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
21744
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
21743
21745
|
"\u00A0",
|
|
21744
|
-
|
|
21746
|
+
isHinted ?
|
|
21745
21747
|
React.createElement(React.Fragment, null,
|
|
21746
|
-
React.createElement(e, { content:
|
|
21747
|
-
React.createElement("a", { href:
|
|
21748
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
21749
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
21748
21750
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
21749
21751
|
hasError ?
|
|
21750
21752
|
React.createElement(React.Fragment, null,
|
|
21751
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
21753
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || "Required field")) : null))));
|
|
21752
21754
|
};
|
|
21753
21755
|
|
|
21754
21756
|
const getFileIcon = (fileOrUrl) => {
|
|
@@ -21798,7 +21800,7 @@ const styles = {
|
|
|
21798
21800
|
}
|
|
21799
21801
|
};
|
|
21800
21802
|
const FileMultiple = (_a) => {
|
|
21801
|
-
var { inputtype = 'filemultiple-outline', alias,
|
|
21803
|
+
var { inputtype = 'filemultiple-outline', alias, readOnly, width, inputLabel, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, preview = true, className, style } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "preview", "className", "style"]);
|
|
21802
21804
|
const [field, meta] = formik.useField(alias);
|
|
21803
21805
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
21804
21806
|
const inputRef = React.useRef(null);
|
|
@@ -21829,11 +21831,9 @@ const FileMultiple = (_a) => {
|
|
|
21829
21831
|
const handleFileChange = (e) => {
|
|
21830
21832
|
if (e.target.files && e.target.files.length > 0) {
|
|
21831
21833
|
const newFiles = Array.from(e.target.files);
|
|
21832
|
-
// Append new files to extants
|
|
21833
21834
|
setFieldValue(alias, [...currentFiles, ...newFiles]);
|
|
21834
21835
|
setFieldTouched(alias, true);
|
|
21835
21836
|
}
|
|
21836
|
-
// Reset input value to allow file reselection
|
|
21837
21837
|
if (inputRef.current)
|
|
21838
21838
|
inputRef.current.value = '';
|
|
21839
21839
|
};
|
|
@@ -21847,8 +21847,8 @@ const FileMultiple = (_a) => {
|
|
|
21847
21847
|
};
|
|
21848
21848
|
const isNeumorphic = inputtype === 'filemultiple-neumorphic';
|
|
21849
21849
|
const hasError = meta.touched && meta.error;
|
|
21850
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
21851
|
-
React.createElement(p$8, { className:
|
|
21850
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
21851
|
+
React.createElement(p$8, { className: className, style: style },
|
|
21852
21852
|
React.createElement(p$8, { onClick: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, p: "4", style: Object.assign(Object.assign({}, styles[inputtype]), { cursor: 'pointer', transition: 'all 0.2s', borderColor: hasError ? 'var(--red-9)' : (styles[inputtype].borderBottom ? 'var(--accent-9)' : 'var(--gray-a8)'), position: 'relative' }) },
|
|
21853
21853
|
React.createElement(p$5, { align: "center", gap: "4" },
|
|
21854
21854
|
React.createElement(p$8, { style: {
|
|
@@ -21863,7 +21863,7 @@ const FileMultiple = (_a) => {
|
|
|
21863
21863
|
? `${currentFiles.length} file${currentFiles.length !== 1 ? 's' : ''} selected`
|
|
21864
21864
|
: "Choose files..."),
|
|
21865
21865
|
React.createElement(p$d, { size: "1", color: "gray", style: { opacity: 0.8 } }, "PDF, Images, Office Docs, JSON, ZIP"))),
|
|
21866
|
-
React.createElement("input", { id: inputId || alias, ref: inputRef, readOnly:
|
|
21866
|
+
React.createElement("input", { id: inputId || alias, ref: inputRef, readOnly: readOnly, name: alias, type: "file", multiple: true, accept: ACCEPTED_EXTENSIONS, onChange: handleFileChange, style: { display: 'none' }, "aria-describedby": hasError ? errorId : undefined })),
|
|
21867
21867
|
preview && currentFiles.length > 0 && (React.createElement(o$6, { columns: "repeat(auto-fill, minmax(220px, 1fr))", gap: "3", mt: "3" }, currentFiles.map((file, index) => {
|
|
21868
21868
|
// Detect preview URL:
|
|
21869
21869
|
// If string (URL from DB), use urlpath
|
|
@@ -21907,17 +21907,17 @@ const FileMultiple = (_a) => {
|
|
|
21907
21907
|
}))),
|
|
21908
21908
|
React.createElement("div", null,
|
|
21909
21909
|
React.createElement("br", null),
|
|
21910
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
21910
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
21911
21911
|
"\u00A0",
|
|
21912
|
-
|
|
21912
|
+
isHinted ?
|
|
21913
21913
|
React.createElement(React.Fragment, null,
|
|
21914
|
-
React.createElement(e, { content:
|
|
21915
|
-
React.createElement("a", { href:
|
|
21914
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
21915
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
21916
21916
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
21917
21917
|
hasError ?
|
|
21918
21918
|
React.createElement(React.Fragment, null,
|
|
21919
21919
|
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, typeof meta.error === 'string' ?
|
|
21920
|
-
React.createElement(React.Fragment, null,
|
|
21920
|
+
React.createElement(React.Fragment, null, errorText || "Required field")
|
|
21921
21921
|
: 'Invalid file selection')) : null))));
|
|
21922
21922
|
};
|
|
21923
21923
|
|
|
@@ -29212,10 +29212,10 @@ const getStyles = (design, layout) => {
|
|
|
29212
29212
|
}
|
|
29213
29213
|
return Object.assign(Object.assign({ borderRadius }, visualStyles), { position: 'relative', overflow: 'hidden', display: 'block' });
|
|
29214
29214
|
};
|
|
29215
|
-
const ImageOutput = ({ id, src, alt = "Image", design = 'outline', layout = 'normal', aspectratio = 16 / 9, height, width = '100%',
|
|
29215
|
+
const ImageOutput = ({ id, src, alt = "Image", design = 'outline', layout = 'normal', aspectratio = 16 / 9, height, width = '100%', className, style, onClick, }) => {
|
|
29216
29216
|
const containerStyles = getStyles(design, layout);
|
|
29217
29217
|
const iconColor = design === 'neumorphic' ? '#555' : 'var(--gray-9)';
|
|
29218
|
-
const content = (React.createElement(p$8, { className:
|
|
29218
|
+
const content = (React.createElement(p$8, { className: className, style: Object.assign(Object.assign(Object.assign({}, containerStyles), { width, height: height || 'auto' }), style), onClick: onClick }, src ? (React.createElement("img", { id: String(id), src: src, alt: alt, style: {
|
|
29219
29219
|
width: '100%',
|
|
29220
29220
|
height: '100%',
|
|
29221
29221
|
objectFit: 'cover',
|
|
@@ -29237,33 +29237,33 @@ const ImageOutput = ({ id, src, alt = "Image", design = 'outline', layout = 'nor
|
|
|
29237
29237
|
};
|
|
29238
29238
|
|
|
29239
29239
|
const Input$2 = (_a) => {
|
|
29240
|
-
var { alias, inputtype = "text", width,
|
|
29240
|
+
var { alias, inputtype = "text", width, inputLabel, readOnly = false, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, className, size = "2", style, inputvariant = 'input-outline' } = _a, props = __rest$1(_a, ["alias", "inputtype", "width", "inputLabel", "readOnly", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "className", "size", "style", "inputvariant"]);
|
|
29241
29241
|
const [inputField, meta] = formik.useField(alias);
|
|
29242
29242
|
const hasError = Boolean(meta.touched && meta.error);
|
|
29243
29243
|
const variantClass = inputvariant !== 'input-outline' ? `input-${inputvariant}` : '';
|
|
29244
29244
|
const errorId = `${alias}-error`;
|
|
29245
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
29246
|
-
React.createElement(u, Object.assign({ size: size, type: inputtype, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, readOnly:
|
|
29245
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
29246
|
+
React.createElement(u, Object.assign({ size: size, type: inputtype, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, readOnly: readOnly, placeholder: placeholder, color: hasError ? "red" : undefined, className: `${variantClass} ${className || ''}` }, inputField, props, { name: alias })),
|
|
29247
29247
|
React.createElement("div", null,
|
|
29248
29248
|
React.createElement("br", null),
|
|
29249
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
29249
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
29250
29250
|
"\u00A0",
|
|
29251
|
-
|
|
29252
|
-
React.createElement("a", { href:
|
|
29251
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
29252
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
29253
29253
|
React.createElement(QuestionMarkCircledIcon, { height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
29254
|
-
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
29254
|
+
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)))));
|
|
29255
29255
|
};
|
|
29256
29256
|
|
|
29257
29257
|
const PasswordInput = (_a) => {
|
|
29258
|
-
var { alias,
|
|
29258
|
+
var { alias, inputLabel, width, readOnly = false, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, inputvariant = 'input-outline', size = "2", className } = _a, props = __rest$1(_a, ["alias", "inputLabel", "width", "readOnly", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "inputvariant", "size", "className"]);
|
|
29259
29259
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
29260
29260
|
const toggleVisibility = () => setShowPassword(!showPassword);
|
|
29261
29261
|
const [field, meta] = formik.useField(alias);
|
|
29262
29262
|
const hasError = Boolean(meta.touched && meta.error);
|
|
29263
29263
|
const variantClass = inputvariant !== 'input-outline' ? `input-${inputvariant}` : '';
|
|
29264
29264
|
const errorId = `${alias}-error`;
|
|
29265
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
29266
|
-
React.createElement(u, Object.assign({ size: size, type: showPassword ? "text" : "password", id: `${alias}FormInput`, readOnly:
|
|
29265
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
29266
|
+
React.createElement(u, Object.assign({ size: size, type: showPassword ? "text" : "password", id: `${alias}FormInput`, readOnly: readOnly, "aria-describedby": `${alias}InputLabel`, placeholder: placeholder, color: hasError ? "red" : undefined, className: `${variantClass} ${className || ''}` }, field, props, { name: alias }),
|
|
29267
29267
|
React.createElement(c, null,
|
|
29268
29268
|
React.createElement(Icon, { name: "lockclosed", height: "16", width: "16" })),
|
|
29269
29269
|
React.createElement(c, null,
|
|
@@ -29271,12 +29271,12 @@ const PasswordInput = (_a) => {
|
|
|
29271
29271
|
React.createElement(o$5, { size: "1", variant: "ghost", color: "gray", onClick: toggleVisibility, type: "button", "aria-label": showPassword ? "Hide password" : "Show password" }, showPassword ? (React.createElement(Icon, { name: "eyeopen", height: "16", width: "16" })) : (React.createElement(Icon, { name: "eyeclosed", height: "16", width: "16" })))))),
|
|
29272
29272
|
React.createElement("div", null,
|
|
29273
29273
|
React.createElement("br", null),
|
|
29274
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
29274
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
29275
29275
|
"\u00A0",
|
|
29276
|
-
|
|
29277
|
-
React.createElement("a", { href:
|
|
29276
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
29277
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
29278
29278
|
React.createElement(QuestionMarkCircledIcon, { height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
29279
|
-
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
29279
|
+
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)))));
|
|
29280
29280
|
};
|
|
29281
29281
|
|
|
29282
29282
|
// This file is a workaround for a bug in web browsers' "native"
|
|
@@ -36818,14 +36818,14 @@ var en = {
|
|
|
36818
36818
|
};
|
|
36819
36819
|
|
|
36820
36820
|
const PhoneInput = (_a) => {
|
|
36821
|
-
var { alias,
|
|
36821
|
+
var { alias, inputLabel, width, placeholder = "Phone Number", newRow, isHinted, hintText, hintUrl, errorText, readOnly, inputvariant = 'input-outline', size = "2", className } = _a, props = __rest$1(_a, ["alias", "inputLabel", "width", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "readOnly", "inputvariant", "size", "className"]);
|
|
36822
36822
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
36823
36823
|
const [field, meta] = formik.useField(alias);
|
|
36824
36824
|
const hasError = Boolean(meta.touched && meta.error);
|
|
36825
36825
|
const [country, setCountry] = React.useState('US');
|
|
36826
36826
|
const variantClass = inputvariant !== 'input-outline' ? `input-${inputvariant}` : '';
|
|
36827
36827
|
const errorId = `${alias}-error`;
|
|
36828
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
36828
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
36829
36829
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
36830
36830
|
React.createElement(u, Object.assign({ size: size, variant: "surface", color: hasError ? "red" : undefined, className: `${variantClass} ${className || ''}` }, props),
|
|
36831
36831
|
React.createElement(c, { style: { padding: 0 } },
|
|
@@ -36853,7 +36853,7 @@ const PhoneInput = (_a) => {
|
|
|
36853
36853
|
"(+",
|
|
36854
36854
|
getCountryCallingCode(c),
|
|
36855
36855
|
")")))))))),
|
|
36856
|
-
React.createElement(Input, { country: country, international: true, withCountryCallingCode: false, limitMaxLength: true, value: field.value || '', onChange: (val) => setFieldValue(alias, val || ''), onBlur: () => setFieldTouched(alias, true), readOnly:
|
|
36856
|
+
React.createElement(Input, { country: country, international: true, withCountryCallingCode: false, limitMaxLength: true, value: field.value || '', onChange: (val) => setFieldValue(alias, val || ''), onBlur: () => setFieldTouched(alias, true), readOnly: readOnly, placeholder: placeholder, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, style: {
|
|
36857
36857
|
flex: 1,
|
|
36858
36858
|
border: 'none',
|
|
36859
36859
|
outline: 'none',
|
|
@@ -36866,11 +36866,11 @@ const PhoneInput = (_a) => {
|
|
|
36866
36866
|
width: '100%'
|
|
36867
36867
|
} })),
|
|
36868
36868
|
React.createElement("div", { style: { marginTop: 4, display: 'flex', alignItems: 'center', gap: 6 } },
|
|
36869
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
36870
|
-
|
|
36871
|
-
React.createElement("a", { href:
|
|
36869
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
36870
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available" },
|
|
36871
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer", style: { display: 'flex' } },
|
|
36872
36872
|
React.createElement(QuestionMarkCircledIcon, { height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
36873
|
-
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' },
|
|
36873
|
+
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' }, errorText || meta.error || `Required field`))))));
|
|
36874
36874
|
};
|
|
36875
36875
|
|
|
36876
36876
|
/** Checks if value is string */
|
|
@@ -40661,7 +40661,7 @@ const parseUuidFormat = (input) => {
|
|
|
40661
40661
|
};
|
|
40662
40662
|
|
|
40663
40663
|
const UUIDInput = (_a) => {
|
|
40664
|
-
var { alias, type,
|
|
40664
|
+
var { alias, type, inputLabel, width, delimiter = "-", format = [4, 4, 4, 4], placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, readOnly = false, inputVariant = 'input-outline', size = "2", className } = _a, props = __rest$1(_a, ["alias", "type", "inputLabel", "width", "delimiter", "format", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "readOnly", "inputVariant", "size", "className"]);
|
|
40665
40665
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
40666
40666
|
const [field, meta] = formik.useField(alias);
|
|
40667
40667
|
const hasError = Boolean(meta.touched && meta.error);
|
|
@@ -40682,17 +40682,17 @@ const UUIDInput = (_a) => {
|
|
|
40682
40682
|
'#': /[0-9a-fA-F]/
|
|
40683
40683
|
}
|
|
40684
40684
|
};
|
|
40685
|
-
}, [format, type, delimiter]);
|
|
40685
|
+
}, [JSON.stringify(format), type, delimiter]);
|
|
40686
40686
|
const handleCopy = () => {
|
|
40687
40687
|
navigator.clipboard.writeText(field.value || '');
|
|
40688
40688
|
setCopied(true);
|
|
40689
40689
|
setTimeout(() => setCopied(false), 2000);
|
|
40690
40690
|
};
|
|
40691
|
-
const variantClass =
|
|
40692
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
40691
|
+
const variantClass = inputVariant !== 'input-outline' ? `input-${inputVariant}` : '';
|
|
40692
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
40693
40693
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
40694
40694
|
React.createElement(u, Object.assign({ size: size, variant: "surface", color: hasError ? 'red' : undefined, className: `${variantClass} ${className || ''}` }, props),
|
|
40695
|
-
React.createElement(IMaskInput, { id: `${alias}FormInput`, name: alias, "aria-describedby": `${alias}InputLabel`, readOnly: readOnly, mask: maskPattern, definitions: definitions, value: field.value || '', unmask: true, onAccept: (val) => setFieldValue(alias, val), onBlur: () => setFieldTouched(alias, true), placeholder: placeholder, style: {
|
|
40695
|
+
React.createElement(IMaskInput, { id: `${alias}FormInput`, name: alias, "aria-describedby": `${alias}InputLabel`, readOnly: readOnly, mask: maskPattern, definitions: definitions, value: field.value || '', unmask: true, onAccept: (val) => setFieldValue(alias, val), onBlur: () => setFieldTouched(alias, true), placeholder: placeholder, type: "text", style: {
|
|
40696
40696
|
flex: 1,
|
|
40697
40697
|
border: 'none',
|
|
40698
40698
|
outline: 'none',
|
|
@@ -40709,12 +40709,12 @@ const UUIDInput = (_a) => {
|
|
|
40709
40709
|
React.createElement(e, { content: copied ? "Copied!" : "Copy to clipboard" },
|
|
40710
40710
|
React.createElement(o$5, { size: "1", variant: "ghost", color: copied ? "green" : "gray", onClick: handleCopy, type: "button", disabled: !field.value }, copied ? React.createElement(CheckIcon, null) : React.createElement(CopyIcon, null))))),
|
|
40711
40711
|
React.createElement("div", null,
|
|
40712
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
40712
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
40713
40713
|
"\u00A0",
|
|
40714
|
-
|
|
40715
|
-
React.createElement("a", { href:
|
|
40714
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
40715
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
40716
40716
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
40717
|
-
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
40717
|
+
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || meta.error || `Required field`))))));
|
|
40718
40718
|
};
|
|
40719
40719
|
|
|
40720
40720
|
var FaCcVisa = {};
|
|
@@ -42146,7 +42146,7 @@ var cardValidator = /*@__PURE__*/getDefaultExportFromCjs(distExports);
|
|
|
42146
42146
|
|
|
42147
42147
|
const CreditCardInput = (_a) => {
|
|
42148
42148
|
var _b;
|
|
42149
|
-
var { alias,
|
|
42149
|
+
var { alias, inputLabel, width, placeholder, newRow, isHinted, hintText, hintUrl, errorText, readOnly = false, inputvariant = 'input-outline', className } = _a; __rest$1(_a, ["alias", "inputLabel", "width", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "readOnly", "inputvariant", "className"]);
|
|
42150
42150
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42151
42151
|
const [field, meta] = formik.useField(alias);
|
|
42152
42152
|
const hasError = Boolean(meta.touched && meta.error);
|
|
@@ -42167,16 +42167,16 @@ const CreditCardInput = (_a) => {
|
|
|
42167
42167
|
};
|
|
42168
42168
|
const variantClass = inputvariant !== 'input-outline' ? `input-${inputvariant}` : '';
|
|
42169
42169
|
const isOutline = inputvariant === 'input-outline';
|
|
42170
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42170
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42171
42171
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
42172
|
-
React.createElement(p$5, { align: "center", className: `rt-TextFieldRoot rt-r-size-2 rt-variant-surface ${variantClass} ${
|
|
42172
|
+
React.createElement(p$5, { align: "center", className: `rt-TextFieldRoot rt-r-size-2 rt-variant-surface ${variantClass} ${className || ''}`, style: {
|
|
42173
42173
|
width: '100%',
|
|
42174
42174
|
boxShadow: (isOutline && hasError) ? 'inset 0 0 0 1px var(--red-9)' : undefined,
|
|
42175
42175
|
backgroundColor: isOutline ? 'var(--color-surface)' : undefined,
|
|
42176
42176
|
paddingRight: '12px',
|
|
42177
42177
|
cursor: 'text'
|
|
42178
42178
|
} },
|
|
42179
|
-
React.createElement(IMaskInput, { id: `${alias}FormInput`, name: alias, "aria-describedby": `${alias}InputLabel`, mask: maskPattern, readOnly:
|
|
42179
|
+
React.createElement(IMaskInput, { id: `${alias}FormInput`, name: alias, "aria-describedby": `${alias}InputLabel`, mask: maskPattern, readOnly: readOnly, value: field.value, unmask: true, onAccept: (val) => setFieldValue(alias, val), onBlur: () => setFieldTouched(alias, true), placeholder: placeholder || '0000 0000 0000 0000', inputMode: "numeric", autoComplete: "cc-number", style: {
|
|
42180
42180
|
flex: 1,
|
|
42181
42181
|
border: 'none',
|
|
42182
42182
|
outline: 'none',
|
|
@@ -42190,12 +42190,12 @@ const CreditCardInput = (_a) => {
|
|
|
42190
42190
|
} }),
|
|
42191
42191
|
React.createElement("div", { style: { display: 'flex', alignItems: 'center' } }, getCardIcon())),
|
|
42192
42192
|
React.createElement("div", { style: { marginTop: 4, display: 'flex', alignItems: 'center', gap: 6 } },
|
|
42193
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42193
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42194
42194
|
"\u00A0",
|
|
42195
|
-
|
|
42196
|
-
React.createElement("a", { href:
|
|
42195
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available" },
|
|
42196
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer", style: { display: 'flex' } },
|
|
42197
42197
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
42198
|
-
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' },
|
|
42198
|
+
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' }, errorText || `Required field`))))));
|
|
42199
42199
|
};
|
|
42200
42200
|
|
|
42201
42201
|
const CURRENCIES = {
|
|
@@ -42267,7 +42267,7 @@ const CURRENCIES = {
|
|
|
42267
42267
|
};
|
|
42268
42268
|
|
|
42269
42269
|
const CurrencyInput = (_a) => {
|
|
42270
|
-
var { alias, inputtype = "currency",
|
|
42270
|
+
var { alias, inputtype = "currency", inputLabel, width, defaultvalue = "USD", placeholder, newRow, isHinted, hintText, hintUrl, errorText, readOnly = false, inputvariant = 'input-outline', className } = _a; __rest$1(_a, ["alias", "inputtype", "inputLabel", "width", "defaultvalue", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "readOnly", "inputvariant", "className"]);
|
|
42271
42271
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42272
42272
|
const [amountField, amountMeta] = formik.useField(alias);
|
|
42273
42273
|
const currencyAlias = `${alias}Currency`;
|
|
@@ -42286,15 +42286,15 @@ const CurrencyInput = (_a) => {
|
|
|
42286
42286
|
const variantClass = inputvariant !== 'input-outline' ? `input-${inputvariant}` : '';
|
|
42287
42287
|
const isOutline = inputvariant === 'input-outline';
|
|
42288
42288
|
const errorId = `${alias}-error`;
|
|
42289
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42289
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42290
42290
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
42291
|
-
React.createElement(p$5, { align: "center", className: `rt-TextFieldRoot rt-r-size-2 rt-variant-surface ${variantClass} ${
|
|
42291
|
+
React.createElement(p$5, { align: "center", className: `rt-TextFieldRoot rt-r-size-2 rt-variant-surface ${variantClass} ${className || ''}`, style: {
|
|
42292
42292
|
width: '100%',
|
|
42293
42293
|
boxShadow: (isOutline && hasError) ? 'inset 0 0 0 1px var(--red-9)' : undefined,
|
|
42294
42294
|
backgroundColor: isOutline ? 'var(--color-surface)' : undefined,
|
|
42295
42295
|
cursor: 'text'
|
|
42296
42296
|
} },
|
|
42297
|
-
React.createElement(C$1, { value: activeCurrency.code, onValueChange: (val) => setFieldValue(currencyAlias, val), disabled:
|
|
42297
|
+
React.createElement(C$1, { value: activeCurrency.code, onValueChange: (val) => setFieldValue(currencyAlias, val), disabled: readOnly || inputtype !== "currency" },
|
|
42298
42298
|
React.createElement(u$1, { variant: "ghost", style: {
|
|
42299
42299
|
height: '100%',
|
|
42300
42300
|
padding: '0 8px 0 12px',
|
|
@@ -42325,7 +42325,7 @@ const CurrencyInput = (_a) => {
|
|
|
42325
42325
|
normalizeZeros: true,
|
|
42326
42326
|
radix: ".",
|
|
42327
42327
|
mapToRadix: ['.'],
|
|
42328
|
-
}, { value: amountField.value !== undefined && amountField.value !== null ? String(amountField.value) : '', unmask: true, onAccept: (val) => setFieldValue(alias, val), onBlur: () => setFieldTouched(alias, true), readOnly:
|
|
42328
|
+
}, { value: amountField.value !== undefined && amountField.value !== null ? String(amountField.value) : '', unmask: true, onAccept: (val) => setFieldValue(alias, val), onBlur: () => setFieldTouched(alias, true), readOnly: readOnly, placeholder: placeholder || '0.00', style: {
|
|
42329
42329
|
flex: 1,
|
|
42330
42330
|
border: 'none',
|
|
42331
42331
|
outline: 'none',
|
|
@@ -42339,12 +42339,12 @@ const CurrencyInput = (_a) => {
|
|
|
42339
42339
|
width: '100%'
|
|
42340
42340
|
}, inputMode: "decimal", autoComplete: "off" }))),
|
|
42341
42341
|
React.createElement("div", null,
|
|
42342
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42342
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42343
42343
|
"\u00A0",
|
|
42344
|
-
|
|
42345
|
-
React.createElement("a", { href:
|
|
42344
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available" },
|
|
42345
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer", style: { display: 'flex' } },
|
|
42346
42346
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
42347
|
-
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' },
|
|
42347
|
+
hasError && (React.createElement(p$d, { id: errorId, size: "1", color: "red", className: 'core-input-label-error' }, errorText || amountMeta.error || `Required field`))))));
|
|
42348
42348
|
};
|
|
42349
42349
|
|
|
42350
42350
|
var FaChartLine = {};
|
|
@@ -42365,16 +42365,16 @@ function requireFaChartLine () {
|
|
|
42365
42365
|
var FaChartLineExports = /*@__PURE__*/ requireFaChartLine();
|
|
42366
42366
|
|
|
42367
42367
|
const StockInput = (_a) => {
|
|
42368
|
-
var { alias,
|
|
42368
|
+
var { alias, inputLabel, width, defaultvalue, placeholder, newRow, isHinted, hintText, hintUrl, errorText, readOnly = false, inputvariant = 'input-outline', className } = _a; __rest$1(_a, ["alias", "inputLabel", "width", "defaultvalue", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "readOnly", "inputvariant", "className"]);
|
|
42369
42369
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42370
42370
|
const [priceField, meta] = formik.useField(alias);
|
|
42371
42371
|
const hasError = Boolean(meta.touched && meta.error);
|
|
42372
42372
|
const variantClass = inputvariant !== 'input-outline' ? `input-${inputvariant}` : '';
|
|
42373
42373
|
const isOutline = inputvariant === 'input-outline';
|
|
42374
42374
|
const errorId = `${alias}-error`;
|
|
42375
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42375
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42376
42376
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
42377
|
-
React.createElement(p$5, { align: "center", justify: "between", className: `rt-TextFieldRoot rt-r-size-2 rt-variant-surface ${variantClass} ${
|
|
42377
|
+
React.createElement(p$5, { align: "center", justify: "between", className: `rt-TextFieldRoot rt-r-size-2 rt-variant-surface ${variantClass} ${className || ''}`, style: {
|
|
42378
42378
|
width: '100%',
|
|
42379
42379
|
height: 'var(--space-6)',
|
|
42380
42380
|
boxShadow: (isOutline)
|
|
@@ -42398,7 +42398,7 @@ const StockInput = (_a) => {
|
|
|
42398
42398
|
userSelect: 'none'
|
|
42399
42399
|
} }, defaultvalue || React.createElement(FaChartLineExports.FaChartLine, null)),
|
|
42400
42400
|
React.createElement(p$5, { align: "center", style: { flex: 1, height: '100%', justifyContent: 'flex-end' } },
|
|
42401
|
-
React.createElement(IMaskInput, { id: `${alias}FormInput`, name: alias, "aria-describedby": `${alias}InputLabel`, mask: Number, scale: 2, readOnly:
|
|
42401
|
+
React.createElement(IMaskInput, { id: `${alias}FormInput`, name: alias, "aria-describedby": `${alias}InputLabel`, mask: Number, scale: 2, readOnly: readOnly,
|
|
42402
42402
|
// @ts-expect-error: known library type definition gap
|
|
42403
42403
|
signed: String(false), thousandsSeparator: ",", padFractionalZeros: true, normalizeZeros: true, radix: ".", mapToRadix: ['.'], value: priceField.value !== undefined && priceField.value !== null ? String(priceField.value) : '', unmask: true, onAccept: (val) => setFieldValue(alias, val), onBlur: () => setFieldTouched(alias, true), placeholder: placeholder || "0.00", style: {
|
|
42404
42404
|
border: 'none',
|
|
@@ -42413,16 +42413,16 @@ const StockInput = (_a) => {
|
|
|
42413
42413
|
fontFamily: 'var(--default-font-family)',
|
|
42414
42414
|
}, inputMode: "decimal", autoComplete: "off" }))),
|
|
42415
42415
|
React.createElement("div", null,
|
|
42416
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42416
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42417
42417
|
"\u00A0",
|
|
42418
|
-
|
|
42419
|
-
React.createElement("a", { href:
|
|
42418
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available" },
|
|
42419
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer", style: { display: 'flex' } },
|
|
42420
42420
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
42421
|
-
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
42421
|
+
hasError && (React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`))))));
|
|
42422
42422
|
};
|
|
42423
42423
|
|
|
42424
42424
|
const RadioGroupInput = (_a) => {
|
|
42425
|
-
var { inputtype = 'radio-outline', alias,
|
|
42425
|
+
var { inputtype = 'radio-outline', alias, readOnly, width, inputLabel, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, style, inputOptions, direction = 'column', columns, className } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "style", "inputOptions", "direction", "columns", "className"]);
|
|
42426
42426
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42427
42427
|
const [field, meta] = formik.useField(alias);
|
|
42428
42428
|
const hasError = Boolean(meta.touched && meta.error);
|
|
@@ -42440,8 +42440,8 @@ const RadioGroupInput = (_a) => {
|
|
|
42440
42440
|
});
|
|
42441
42441
|
}
|
|
42442
42442
|
}, [inputtype]);
|
|
42443
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42444
|
-
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className:
|
|
42443
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42444
|
+
React.createElement(p$5, { direction: "column", gap: "2", width: "100%", ref: containerRef, style: style, className: className },
|
|
42445
42445
|
inputtype === 'radio-neumorphic' && (React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
42446
42446
|
/* Target the specific Radio Item button class */
|
|
42447
42447
|
.neu-radio .rt-RadioGroupItem {
|
|
@@ -42476,11 +42476,11 @@ const RadioGroupInput = (_a) => {
|
|
|
42476
42476
|
transform: none; /* Don't scale if pressed in */
|
|
42477
42477
|
}
|
|
42478
42478
|
` } })),
|
|
42479
|
-
React.createElement(I$1, { name: alias, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, disabled:
|
|
42479
|
+
React.createElement(I$1, { name: alias, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, disabled: readOnly, value: field.value, onValueChange: (val) => {
|
|
42480
42480
|
setFieldValue(alias, val);
|
|
42481
42481
|
setTimeout(() => setFieldTouched(alias, true), 0);
|
|
42482
42482
|
} },
|
|
42483
|
-
React.createElement(o$6, { columns: columns || (direction === 'row' ? 'repeat(auto-fit, minmax(100px, 1fr))' : '1'), gap: "3", style: neuVars },
|
|
42483
|
+
React.createElement(o$6, { columns: columns || (direction === 'row' ? 'repeat(auto-fit, minmax(100px, 1fr))' : '1'), gap: "3", style: neuVars }, inputOptions.map((inputoption) => {
|
|
42484
42484
|
const isChecked = String(field.value) === String(inputoption.optionvalue);
|
|
42485
42485
|
return (React.createElement(p$5, { asChild: true, key: inputoption.optionvalue, align: "center", gap: "2" },
|
|
42486
42486
|
React.createElement(p$d, { as: "label", size: "2", style: { cursor: 'pointer' } },
|
|
@@ -42491,20 +42491,20 @@ const RadioGroupInput = (_a) => {
|
|
|
42491
42491
|
React.createElement("span", { style: { userSelect: 'none' } }, inputoption.text))));
|
|
42492
42492
|
}))),
|
|
42493
42493
|
React.createElement("div", null,
|
|
42494
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42494
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42495
42495
|
"\u00A0",
|
|
42496
|
-
|
|
42496
|
+
isHinted ?
|
|
42497
42497
|
React.createElement(React.Fragment, null,
|
|
42498
|
-
React.createElement(e, { content:
|
|
42499
|
-
React.createElement("a", { href:
|
|
42498
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
42499
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
42500
42500
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
42501
42501
|
hasError ?
|
|
42502
42502
|
React.createElement(React.Fragment, null,
|
|
42503
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
42503
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)) : null))));
|
|
42504
42504
|
};
|
|
42505
42505
|
|
|
42506
42506
|
const OptionSelect = (_a) => {
|
|
42507
|
-
var { inputtype = 'dropdown-outline', alias,
|
|
42507
|
+
var { inputtype = 'dropdown-outline', alias, readOnly, width, inputLabel, placeholder, value, inputOptions, style, newRow, isHinted, hintText, hintUrl, defaultvalue, errorText } = _a, props = __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "value", "inputOptions", "style", "newRow", "isHinted", "hintText", "hintUrl", "defaultvalue", "errorText"]);
|
|
42508
42508
|
const triggerRef = React.useRef(null);
|
|
42509
42509
|
const [neuVars, setNeuVars] = React.useState({});
|
|
42510
42510
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
@@ -42587,7 +42587,7 @@ const OptionSelect = (_a) => {
|
|
|
42587
42587
|
cursor: pointer;
|
|
42588
42588
|
}
|
|
42589
42589
|
` } })),
|
|
42590
|
-
React.createElement(C$1, { name: alias, disabled:
|
|
42590
|
+
React.createElement(C$1, { name: alias, disabled: readOnly, value: field.value || "", onValueChange: (val) => {
|
|
42591
42591
|
const finalVal = val === "__RESET__" ? "" : val;
|
|
42592
42592
|
setFieldValue(alias, finalVal);
|
|
42593
42593
|
setTimeout(() => setFieldTouched(alias, true), 0);
|
|
@@ -42602,24 +42602,24 @@ const OptionSelect = (_a) => {
|
|
|
42602
42602
|
React.createElement(g, { position: "popper", sideOffset: 5, style: activeContentStyle },
|
|
42603
42603
|
React.createElement(v, { value: "__RESET__", className: inputtype === 'dropdown-neumorphic' ? 'neu-select-item' : '', style: { color: 'var(--gray-10)', fontStyle: 'italic' } }, placeholder || "Select an option"),
|
|
42604
42604
|
React.createElement(o$2, { size: "4", style: { margin: '4px 0', opacity: 0.5 } }),
|
|
42605
|
-
|
|
42605
|
+
inputOptions.map((inputoption) => (React.createElement(React.Fragment, { key: inputoption.optionid || crypto.randomUUID() }, inputoption.optionurl ? (React.createElement(v, { id: String(inputoption.optionid) || '', value: inputoption.optionvalue, className: inputtype === 'dropdown-neumorphic' ? 'neu-select-item' : '' },
|
|
42606
42606
|
React.createElement("a", { onClick: (e) => { e.stopPropagation(); openLink(inputoption.optionurl || "#"); }, style: { textDecoration: 'none', color: 'inherit' } }, inputoption.text))) : (React.createElement(v, { id: String(inputoption.optionid) || '', value: inputoption.optionvalue, className: inputtype === 'dropdown-neumorphic' ? 'neu-select-item' : '' }, inputoption.text))))))),
|
|
42607
42607
|
React.createElement("div", null,
|
|
42608
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42608
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42609
42609
|
"\u00A0",
|
|
42610
|
-
|
|
42610
|
+
isHinted ?
|
|
42611
42611
|
React.createElement(React.Fragment, null,
|
|
42612
|
-
React.createElement(e, { content:
|
|
42613
|
-
React.createElement("a", { href:
|
|
42612
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
42613
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
42614
42614
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
42615
42615
|
hasError ?
|
|
42616
42616
|
React.createElement(React.Fragment, null,
|
|
42617
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
42617
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || meta.error || "Required field")) : null))));
|
|
42618
42618
|
};
|
|
42619
42619
|
|
|
42620
42620
|
const MultipleSelect = (_a) => {
|
|
42621
42621
|
var _b;
|
|
42622
|
-
var { inputtype = 'multiselect-outline', alias,
|
|
42622
|
+
var { inputtype = 'multiselect-outline', alias, readOnly, width, inputLabel, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, style, inputOptions, className } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "style", "inputOptions", "className"]);
|
|
42623
42623
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42624
42624
|
const [field, meta] = formik.useField(alias);
|
|
42625
42625
|
const selectedValues = (Array.isArray(field.value) ? field.value : []);
|
|
@@ -42636,7 +42636,7 @@ const MultipleSelect = (_a) => {
|
|
|
42636
42636
|
setTimeout(() => setFieldTouched(alias, true), 0);
|
|
42637
42637
|
};
|
|
42638
42638
|
const displayLabel = selectedValues.length > 0
|
|
42639
|
-
?
|
|
42639
|
+
? inputOptions
|
|
42640
42640
|
.filter(inputoption => selectedValues.includes(inputoption.optionvalue))
|
|
42641
42641
|
.map(inputoption => inputoption.text)
|
|
42642
42642
|
.join(', ')
|
|
@@ -42675,12 +42675,12 @@ const MultipleSelect = (_a) => {
|
|
|
42675
42675
|
: '6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light)', transition: 'all 0.2s ease' });
|
|
42676
42676
|
const activeTrigger = inputtype === 'multiselect-material' ? materialTrigger :
|
|
42677
42677
|
inputtype === 'multiselect-outline' ? outlineTrigger : Object.assign(Object.assign({}, neumorphicTrigger), neuVars);
|
|
42678
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42678
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42679
42679
|
React.createElement(p$5, { direction: "column", gap: "2", style: { width: '100%' } },
|
|
42680
42680
|
React.createElement("input", { type: "hidden", name: alias, value: JSON.stringify(selectedValues) }),
|
|
42681
42681
|
React.createElement(P$1, { onOpenChange: setIsOpen },
|
|
42682
42682
|
React.createElement(s$1, null,
|
|
42683
|
-
React.createElement("button", { id: `${alias}FormInput`, type: "button", ref: triggerRef, className:
|
|
42683
|
+
React.createElement("button", { id: `${alias}FormInput`, type: "button", ref: triggerRef, className: className, style: Object.assign(Object.assign({}, activeTrigger), style), "aria-describedby": `${alias}InputLabel` },
|
|
42684
42684
|
React.createElement("span", { style: {
|
|
42685
42685
|
overflow: 'hidden',
|
|
42686
42686
|
textOverflow: 'ellipsis',
|
|
@@ -42690,7 +42690,7 @@ const MultipleSelect = (_a) => {
|
|
|
42690
42690
|
React.createElement(i$3, { align: "start", sideOffset: 5, style: Object.assign({ width: (_b = triggerRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth, padding: 0, overflow: 'hidden', backgroundColor: inputtype === 'multiselect-neumorphic' ? 'var(--neu-bg)' : 'var(--color-panel-solid)' }, neuVars) },
|
|
42691
42691
|
React.createElement(c$1, { type: "auto", scrollbars: "vertical", style: { maxHeight: 200 } },
|
|
42692
42692
|
React.createElement(p$8, { p: "2" },
|
|
42693
|
-
React.createElement(p$5, { direction: "column", gap: "1" },
|
|
42693
|
+
React.createElement(p$5, { direction: "column", gap: "1" }, inputOptions.map((inputoption) => {
|
|
42694
42694
|
const isSelected = selectedValues.some((val) => String(val)
|
|
42695
42695
|
=== String(inputoption.optionvalue));
|
|
42696
42696
|
return (React.createElement(p$5, { id: String(inputoption.optionid) || '', key: inputoption.optionid, align: "center", gap: "2", onClick: () => handleToggle(inputoption.optionvalue), style: {
|
|
@@ -42700,27 +42700,27 @@ const MultipleSelect = (_a) => {
|
|
|
42700
42700
|
backgroundColor: isSelected ? 'var(--accent-a3)' : 'transparent',
|
|
42701
42701
|
transition: 'background-color 0.1s'
|
|
42702
42702
|
}, className: "multiselect-item" },
|
|
42703
|
-
React.createElement(c$2, { disabled:
|
|
42703
|
+
React.createElement(c$2, { disabled: readOnly, checked: isSelected, style: { pointerEvents: 'none' } }),
|
|
42704
42704
|
React.createElement(p$d, { size: "2" }, inputoption.text)));
|
|
42705
42705
|
})))))),
|
|
42706
42706
|
React.createElement("div", null,
|
|
42707
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42707
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42708
42708
|
"\u00A0",
|
|
42709
|
-
|
|
42709
|
+
isHinted ?
|
|
42710
42710
|
React.createElement(React.Fragment, null,
|
|
42711
|
-
React.createElement(e, { content:
|
|
42712
|
-
React.createElement("a", { href:
|
|
42711
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
42712
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
42713
42713
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
42714
42714
|
hasError ?
|
|
42715
42715
|
React.createElement(React.Fragment, null,
|
|
42716
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
42716
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)) : null))));
|
|
42717
42717
|
};
|
|
42718
42718
|
|
|
42719
42719
|
const SliderInput = (_a) => {
|
|
42720
|
-
var { inputtype = 'slider-outline', alias,
|
|
42720
|
+
var { inputtype = 'slider-outline', alias, readOnly, width, inputLabel, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, minValue = 0, maxValue = 100, stepValue = 1, className, style } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "minValue", "maxValue", "stepValue", "className", "style"]);
|
|
42721
42721
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42722
42722
|
const [field, meta] = formik.useField(alias);
|
|
42723
|
-
const fieldValue = Array.isArray(field.value) ? field.value : [field.value ||
|
|
42723
|
+
const fieldValue = Array.isArray(field.value) ? field.value : [field.value || minValue];
|
|
42724
42724
|
const hasError = Boolean(meta.touched && meta.error);
|
|
42725
42725
|
const containerRef = React.useRef(null);
|
|
42726
42726
|
const [neuVars, setNeuVars] = React.useState({});
|
|
@@ -42736,7 +42736,7 @@ const SliderInput = (_a) => {
|
|
|
42736
42736
|
});
|
|
42737
42737
|
}
|
|
42738
42738
|
}, [inputtype]);
|
|
42739
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42739
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42740
42740
|
React.createElement(p$5, { direction: "column", gap: "3", width: "100%", ref: containerRef, style: style, className: className },
|
|
42741
42741
|
React.createElement(p$5, { justify: "between", align: "center" },
|
|
42742
42742
|
React.createElement(p$d, { size: "2", color: "gray", style: { fontVariantNumeric: 'tabular-nums' } }, fieldValue[0])),
|
|
@@ -42797,27 +42797,26 @@ const SliderInput = (_a) => {
|
|
|
42797
42797
|
box-shadow: none;
|
|
42798
42798
|
}
|
|
42799
42799
|
` } }),
|
|
42800
|
-
React.createElement(s, { name: alias, id: `${alias}FormInput`, disabled:
|
|
42801
|
-
// Formik Implementation - For array, pass 'val' directly
|
|
42800
|
+
React.createElement(s, { name: alias, id: `${alias}FormInput`, disabled: readOnly, "aria-describedby": `${alias}InputLabel`, min: minValue, max: maxValue, step: stepValue, value: fieldValue, onValueChange: (val) => {
|
|
42802
42801
|
setFieldValue(alias, val[0]);
|
|
42803
42802
|
}, onValueCommit: () => {
|
|
42804
42803
|
setFieldTouched(alias, true);
|
|
42805
42804
|
}, className: inputtype === 'slider-neumorphic' ? 'neu-slider' : inputtype === 'slider-outline' ? 'outline-slider' : '', style: neuVars }),
|
|
42806
42805
|
React.createElement("div", null,
|
|
42807
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42806
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42808
42807
|
"\u00A0",
|
|
42809
|
-
|
|
42808
|
+
isHinted ?
|
|
42810
42809
|
React.createElement(React.Fragment, null,
|
|
42811
|
-
React.createElement(e, { content:
|
|
42812
|
-
React.createElement("a", { href:
|
|
42810
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
42811
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
42813
42812
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
42814
42813
|
hasError ?
|
|
42815
42814
|
React.createElement(React.Fragment, null,
|
|
42816
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
42815
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)) : null))));
|
|
42817
42816
|
};
|
|
42818
42817
|
|
|
42819
42818
|
const RangeSlider = (_a) => {
|
|
42820
|
-
var { inputtype = 'range-outline', alias,
|
|
42819
|
+
var { inputtype = 'range-outline', alias, readOnly, width, inputLabel, placeholder = '', newRow, isHinted, hintText, hintUrl, errorText, minvalue = 0, maxvalue = 100, stepvalue = 1, minStepsBetweenThumbs = 0, className, style } = _a; __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "placeholder", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "minvalue", "maxvalue", "stepvalue", "minStepsBetweenThumbs", "className", "style"]);
|
|
42821
42820
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42822
42821
|
const [field, meta] = formik.useField(alias);
|
|
42823
42822
|
// Range Formik Logic
|
|
@@ -42843,7 +42842,7 @@ const RangeSlider = (_a) => {
|
|
|
42843
42842
|
});
|
|
42844
42843
|
}
|
|
42845
42844
|
}, [inputtype]);
|
|
42846
|
-
return (React.createElement(Column, { span: width, newLine:
|
|
42845
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42847
42846
|
React.createElement(p$5, { direction: "column", gap: "3", width: "100%", ref: containerRef, style: style, className: className },
|
|
42848
42847
|
React.createElement(p$5, { justify: "between", align: "center" },
|
|
42849
42848
|
React.createElement(p$d, { size: "2", color: "gray", style: { fontVariantNumeric: 'tabular-nums' } }, fieldValue.join(' - '))),
|
|
@@ -42877,27 +42876,27 @@ const RangeSlider = (_a) => {
|
|
|
42877
42876
|
background-color: white; border: 2px solid var(--accent-9); box-shadow: none;
|
|
42878
42877
|
}
|
|
42879
42878
|
` } }),
|
|
42880
|
-
React.createElement(s, { name: alias, id: `${alias}FormInput`, disabled:
|
|
42879
|
+
React.createElement(s, { name: alias, id: `${alias}FormInput`, disabled: readOnly, "aria-describedby": `${alias}InputLabel`, min: minvalue, max: maxvalue, step: stepvalue, minStepsBetweenThumbs: minStepsBetweenThumbs, value: fieldValue, onValueChange: (val) => {
|
|
42881
42880
|
// LOGIC SYNOPSIS:
|
|
42882
42881
|
// If Range, set value as array.
|
|
42883
42882
|
// If Slider, set value as first value.
|
|
42884
42883
|
setFieldValue(alias, isRange ? val : val[0]);
|
|
42885
42884
|
}, onValueCommit: () => setFieldTouched(alias, true), className: inputtype === 'range-neumorphic' ? 'neu-slider' : inputtype === 'range-outline' ? 'outline-slider' : '', style: neuVars }),
|
|
42886
42885
|
React.createElement("div", null,
|
|
42887
|
-
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias },
|
|
42886
|
+
React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel),
|
|
42888
42887
|
"\u00A0",
|
|
42889
|
-
|
|
42888
|
+
isHinted ?
|
|
42890
42889
|
React.createElement(React.Fragment, null,
|
|
42891
|
-
React.createElement(e, { content:
|
|
42892
|
-
React.createElement("a", { href:
|
|
42890
|
+
React.createElement(e, { content: hintText || "No hint available", align: "start", sideOffset: 5, className: "core-input-tooltip" },
|
|
42891
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer" },
|
|
42893
42892
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))) : null,
|
|
42894
42893
|
hasError ?
|
|
42895
42894
|
React.createElement(React.Fragment, null,
|
|
42896
|
-
React.createElement("p", { id: errorId, className: 'core-input-label-error' },
|
|
42895
|
+
React.createElement("p", { id: errorId, className: 'core-input-label-error' }, errorText || `Required field`)) : null))));
|
|
42897
42896
|
};
|
|
42898
42897
|
|
|
42899
42898
|
const Toggle = (_a) => {
|
|
42900
|
-
var { inputtype = 'toggle-neumorphic', alias,
|
|
42899
|
+
var { inputtype = 'toggle-neumorphic', alias, readOnly, width, inputLabel, style, children, newRow, isHinted, hintText, hintUrl, errorText, icon = 'stack' } = _a, props = __rest$1(_a, ["inputtype", "alias", "readOnly", "width", "inputLabel", "style", "children", "newRow", "isHinted", "hintText", "hintUrl", "errorText", "icon"]);
|
|
42901
42900
|
const { setFieldValue, setFieldTouched } = formik.useFormikContext();
|
|
42902
42901
|
const [field, meta] = formik.useField(alias);
|
|
42903
42902
|
const hasError = Boolean(meta.touched && meta.error);
|
|
@@ -42932,59 +42931,62 @@ const Toggle = (_a) => {
|
|
|
42932
42931
|
transition: 'all 0.1s ease',
|
|
42933
42932
|
};
|
|
42934
42933
|
const handleToggle = (val) => {
|
|
42935
|
-
if (!
|
|
42934
|
+
if (!readOnly) {
|
|
42936
42935
|
setFieldValue(alias, val);
|
|
42937
42936
|
setFieldTouched(alias, true);
|
|
42938
42937
|
}
|
|
42939
42938
|
};
|
|
42940
|
-
|
|
42939
|
+
// Determine Icon Color: Deep accent if Checked & Active, Grey otherwise
|
|
42940
|
+
const iconColor = field.value && !readOnly ? 'var(--accent-9)' : 'var(--gray-8)';
|
|
42941
|
+
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
42941
42942
|
React.createElement("div", { ref: containerRef, style: { width: '100%', display: 'flex', flexDirection: 'column', gap: '4px' } },
|
|
42942
|
-
inputtype === 'toggle-neumorphic' ? (React.createElement("div", {
|
|
42943
|
-
React.createElement("
|
|
42944
|
-
.
|
|
42945
|
-
|
|
42946
|
-
|
|
42947
|
-
|
|
42948
|
-
|
|
42949
|
-
|
|
42950
|
-
|
|
42951
|
-
|
|
42952
|
-
|
|
42953
|
-
|
|
42954
|
-
-
|
|
42955
|
-
|
|
42956
|
-
|
|
42957
|
-
|
|
42958
|
-
|
|
42959
|
-
|
|
42960
|
-
|
|
42961
|
-
|
|
42962
|
-
|
|
42963
|
-
|
|
42943
|
+
inputtype === 'toggle-neumorphic' ? (React.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: '12px' } },
|
|
42944
|
+
React.createElement("div", { className: "neu-toggle-wrapper", style: Object.assign(Object.assign({}, neuVars), { opacity: readOnly ? 0.6 : 1, pointerEvents: readOnly ? 'none' : 'auto' }), onClick: () => handleToggle(!field.value) },
|
|
42945
|
+
React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
42946
|
+
.neu-toggle-wrapper {
|
|
42947
|
+
isolation: isolate;
|
|
42948
|
+
position: relative;
|
|
42949
|
+
height: 30px;
|
|
42950
|
+
width: 60px;
|
|
42951
|
+
border-radius: 15px;
|
|
42952
|
+
overflow: hidden;
|
|
42953
|
+
cursor: pointer;
|
|
42954
|
+
background: var(--neu-bg);
|
|
42955
|
+
box-shadow:
|
|
42956
|
+
-8px -4px 8px 0px var(--neu-shadow-light),
|
|
42957
|
+
8px 4px 12px 0px var(--neu-shadow-dark),
|
|
42958
|
+
4px 4px 4px 0px var(--neu-shadow-dark) inset,
|
|
42959
|
+
-4px -4px 4px 0px var(--neu-shadow-light) inset;
|
|
42960
|
+
}
|
|
42961
|
+
|
|
42962
|
+
.neu-toggle-state {
|
|
42963
|
+
display: none;
|
|
42964
|
+
}
|
|
42964
42965
|
|
|
42965
|
-
|
|
42966
|
-
|
|
42967
|
-
|
|
42968
|
-
|
|
42969
|
-
|
|
42970
|
-
|
|
42971
|
-
|
|
42972
|
-
|
|
42973
|
-
|
|
42974
|
-
|
|
42975
|
-
|
|
42966
|
+
.neu-indicator {
|
|
42967
|
+
height: 100%;
|
|
42968
|
+
width: 200%;
|
|
42969
|
+
background: var(--neu-bg);
|
|
42970
|
+
border-radius: 15px;
|
|
42971
|
+
transform: translate3d(-75%, 0, 0);
|
|
42972
|
+
transition: transform 0.4s cubic-bezier(0.85, 0.05, 0.18, 1.35);
|
|
42973
|
+
box-shadow:
|
|
42974
|
+
-8px -4px 8px 0px var(--neu-shadow-light),
|
|
42975
|
+
8px 4px 12px 0px var(--neu-shadow-dark);
|
|
42976
|
+
}
|
|
42976
42977
|
|
|
42977
|
-
|
|
42978
|
-
|
|
42979
|
-
|
|
42980
|
-
}
|
|
42981
|
-
|
|
42982
|
-
|
|
42983
|
-
React.createElement(
|
|
42984
|
-
|
|
42985
|
-
|
|
42978
|
+
.neu-toggle-state:checked ~ .neu-indicator {
|
|
42979
|
+
transform: translate3d(25%, 0, 0);
|
|
42980
|
+
}
|
|
42981
|
+
` } }),
|
|
42982
|
+
React.createElement("input", { className: "neu-toggle-state", type: "checkbox", checked: !!field.value, readOnly: true }),
|
|
42983
|
+
React.createElement("div", { className: "neu-indicator" })),
|
|
42984
|
+
React.createElement(Icon, { name: icon, height: "20", width: "20", color: iconColor, style: {
|
|
42985
|
+
transition: 'color 0.3s ease',
|
|
42986
|
+
opacity: readOnly ? 0.5 : 1
|
|
42987
|
+
} }))) : (React.createElement(Root$1, { pressed: field.value, onPressedChange: handleToggle, name: alias, disabled: readOnly, id: `${alias}FormInput`, "aria-describedby": `${alias}InputLabel`, asChild: true },
|
|
42988
|
+
React.createElement(o$a, Object.assign({ disabled: readOnly }, props, { className: `design-toggle ${inputtype} ${props.className || ''}`, style: Object.assign(Object.assign(Object.assign(Object.assign({}, style), (inputtype === 'toggle' ? materialStyle : {})), (inputtype === 'toggle-material' ? materialStyle : {})), (inputtype === 'toggle-outline' ? outlineStyle : {})), type: "button" }),
|
|
42986
42989
|
React.createElement("style", { dangerouslySetInnerHTML: { __html: `
|
|
42987
|
-
/* Material States */
|
|
42988
42990
|
.design-toggle.toggle-material[data-state='on'] {
|
|
42989
42991
|
background-color: var(--accent-9);
|
|
42990
42992
|
color: white;
|
|
@@ -42994,7 +42996,6 @@ const Toggle = (_a) => {
|
|
|
42994
42996
|
background-color: var(--gray-3);
|
|
42995
42997
|
color: var(--gray-11);
|
|
42996
42998
|
}
|
|
42997
|
-
/* Outline States */
|
|
42998
42999
|
.design-toggle.toggle-outline[data-state='on'] {
|
|
42999
43000
|
border: 2px solid var(--accent-9);
|
|
43000
43001
|
color: var(--accent-9);
|
|
@@ -43007,15 +43008,15 @@ const Toggle = (_a) => {
|
|
|
43007
43008
|
` } }),
|
|
43008
43009
|
children))),
|
|
43009
43010
|
React.createElement("div", null,
|
|
43010
|
-
|
|
43011
|
+
inputLabel && (React.createElement(p$d, { id: `${alias}InputLabel`, as: "label", size: "2", weight: "bold", htmlFor: alias }, inputLabel)),
|
|
43011
43012
|
"\u00A0",
|
|
43012
|
-
|
|
43013
|
-
React.createElement("a", { href:
|
|
43013
|
+
isHinted && (React.createElement(e, { content: hintText || "No hint available" },
|
|
43014
|
+
React.createElement("a", { href: hintUrl || "", target: "_blank", rel: "noopener noreferrer", style: { marginLeft: 6 } },
|
|
43014
43015
|
React.createElement(Icon, { name: "questionmarkcircled", height: "16", width: "16", style: { cursor: 'pointer', color: 'gray' } })))),
|
|
43015
|
-
hasError && (React.createElement(p$d, { size: "1", color: "red", style: { display: 'block', marginTop: 2 } },
|
|
43016
|
+
hasError && (React.createElement(p$d, { size: "1", color: "red", style: { display: 'block', marginTop: 2 } }, errorText || `Required field`))))));
|
|
43016
43017
|
};
|
|
43017
43018
|
|
|
43018
|
-
const SectionTitle = ({ title, width = 12, newRow = true, size = "5", subsize = "2",
|
|
43019
|
+
const SectionTitle = ({ title, width = 12, newRow = true, size = "5", subsize = "2", subTitle, align = "left", letterSpacing = "0.13em", withSeparator = true, className, backgroundColor, icon, titleColor, subtitleColor }) => {
|
|
43019
43020
|
const justifyMap = {
|
|
43020
43021
|
left: 'start',
|
|
43021
43022
|
center: 'center',
|
|
@@ -43024,19 +43025,25 @@ const SectionTitle = ({ title, width = 12, newRow = true, size = "5", subsize =
|
|
|
43024
43025
|
return (React.createElement(Column, { span: width, newLine: newRow },
|
|
43025
43026
|
React.createElement(p$5, { direction: "column", gap: "2", className: className, style: {
|
|
43026
43027
|
width: '100%',
|
|
43028
|
+
boxSizing: 'border-box',
|
|
43027
43029
|
marginBottom: 'var(--space-2)',
|
|
43028
43030
|
textAlign: align,
|
|
43029
|
-
backgroundColor:
|
|
43030
|
-
padding:
|
|
43031
|
-
borderRadius:
|
|
43031
|
+
backgroundColor: backgroundColor || 'transparent',
|
|
43032
|
+
padding: backgroundColor ? 'var(--space-3) var(--space-4)' : '0',
|
|
43033
|
+
borderRadius: backgroundColor ? 'var(--radius-3)' : '0',
|
|
43032
43034
|
} },
|
|
43033
43035
|
React.createElement(p$5, { align: "center", justify: justifyMap[align], gap: "3", style: { width: '100%' } },
|
|
43034
|
-
icon && (React.createElement(p$5, { align: "center", justify: "center", style: { color: 'var(--gray-12)' } }, icon)),
|
|
43036
|
+
icon && (React.createElement(p$5, { align: "center", justify: "center", style: { color: titleColor || 'var(--gray-12)' } }, icon)),
|
|
43035
43037
|
React.createElement(r$g, { size: size, weight: "bold", style: {
|
|
43036
|
-
color: 'var(--gray-12)',
|
|
43037
|
-
lineHeight: '1.2'
|
|
43038
|
+
color: titleColor || 'var(--gray-12)',
|
|
43039
|
+
lineHeight: '1.2',
|
|
43040
|
+
letterSpacing: `${letterSpacing}`
|
|
43038
43041
|
} }, title)),
|
|
43039
|
-
|
|
43042
|
+
subTitle && (React.createElement(p$d, { size: subsize, style: {
|
|
43043
|
+
color: subtitleColor || 'var(--gray-11)',
|
|
43044
|
+
maxWidth: '80%',
|
|
43045
|
+
margin: align === 'center' ? '0 auto' : undefined
|
|
43046
|
+
} }, subTitle)),
|
|
43040
43047
|
withSeparator && (React.createElement(o$2, { size: "4", style: {
|
|
43041
43048
|
width: '100%',
|
|
43042
43049
|
marginTop: '4px',
|