@rolster/react-components 19.6.10 → 19.6.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/dist/cjs/index.cjs +84 -94
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/es/index.mjs +82 -95
- package/dist/es/index.mjs.map +1 -1
- package/dist/esm/components/organisms/FieldClock/FieldClock.js +5 -7
- package/dist/esm/components/organisms/FieldClock/FieldClock.js.map +1 -1
- package/dist/esm/components/organisms/FieldDate/FieldDate.js +6 -7
- package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +5 -7
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
- package/dist/esm/components/organisms/FieldList/FieldListController.js +7 -8
- package/dist/esm/components/organisms/FieldList/FieldListController.js.map +1 -1
- package/dist/esm/components/organisms/ModalClock/ModalClock.d.ts +14 -0
- package/dist/esm/components/organisms/ModalClock/ModalClock.js +13 -0
- package/dist/esm/components/organisms/ModalClock/ModalClock.js.map +1 -0
- package/dist/esm/components/organisms/ModalDate/ModalDate.d.ts +16 -0
- package/dist/esm/components/organisms/ModalDate/ModalDate.js +13 -0
- package/dist/esm/components/organisms/ModalDate/ModalDate.js.map +1 -0
- package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.d.ts +17 -0
- package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.js +13 -0
- package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.js.map +1 -0
- package/dist/esm/helpers/color.js +38 -74
- package/dist/esm/helpers/color.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/index.cjs
CHANGED
|
@@ -1141,69 +1141,12 @@ function generateThemeCSS(colors, theme) {
|
|
|
1141
1141
|
...shadowProps
|
|
1142
1142
|
];
|
|
1143
1143
|
}
|
|
1144
|
-
|
|
1145
|
-
const x = channel / 255;
|
|
1146
|
-
return x <= 0.04045 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;
|
|
1147
|
-
};
|
|
1148
|
-
const linearToSrgb = (channel) => {
|
|
1149
|
-
const v = channel <= 0.0031308
|
|
1150
|
-
? 12.92 * channel
|
|
1151
|
-
: 1.055 * channel ** (1 / 2.4) - 0.055;
|
|
1152
|
-
return clamp(Math.round(v * 255), 0, 255);
|
|
1153
|
-
};
|
|
1154
|
-
function rgbToOklch({ r, g, b }) {
|
|
1155
|
-
const lr = srgbToLinear(r);
|
|
1156
|
-
const lg = srgbToLinear(g);
|
|
1157
|
-
const lb = srgbToLinear(b);
|
|
1158
|
-
const l = Math.cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);
|
|
1159
|
-
const m = Math.cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);
|
|
1160
|
-
const s = Math.cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);
|
|
1161
|
-
const okL = 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s;
|
|
1162
|
-
const okA = 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s;
|
|
1163
|
-
const okB = 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s;
|
|
1164
|
-
return { l: okL, c: Math.hypot(okA, okB), h: Math.atan2(okB, okA) };
|
|
1165
|
-
}
|
|
1166
|
-
function oklabToLinearRgb(l, a, b) {
|
|
1167
|
-
const l_ = (l + 0.3963377774 * a + 0.2158037573 * b) ** 3;
|
|
1168
|
-
const m_ = (l - 0.1055613458 * a - 0.0638541728 * b) ** 3;
|
|
1169
|
-
const s_ = (l - 0.0894841775 * a - 1.291485548 * b) ** 3;
|
|
1170
|
-
return [
|
|
1171
|
-
4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_,
|
|
1172
|
-
-1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_,
|
|
1173
|
-
-0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_
|
|
1174
|
-
];
|
|
1175
|
-
}
|
|
1176
|
-
const inGamut = ([r, g, b]) => {
|
|
1177
|
-
const e = 1e-4;
|
|
1178
|
-
return (r >= -e && r <= 1 + e && g >= -e && g <= 1 + e && b >= -e && b <= 1 + e);
|
|
1179
|
-
};
|
|
1180
|
-
function oklchToRgb({ l, c, h }) {
|
|
1181
|
-
const a = Math.cos(h);
|
|
1182
|
-
const b = Math.sin(h);
|
|
1183
|
-
const linearAt = (chroma) => oklabToLinearRgb(l, a * chroma, b * chroma);
|
|
1184
|
-
if (!inGamut(linearAt(c))) {
|
|
1185
|
-
let lo = 0;
|
|
1186
|
-
let hi = c;
|
|
1187
|
-
for (let i = 0; i < 20; i++) {
|
|
1188
|
-
const mid = (lo + hi) / 2;
|
|
1189
|
-
if (inGamut(linearAt(mid))) {
|
|
1190
|
-
lo = mid;
|
|
1191
|
-
}
|
|
1192
|
-
else {
|
|
1193
|
-
hi = mid;
|
|
1194
|
-
}
|
|
1195
|
-
}
|
|
1196
|
-
c = lo;
|
|
1197
|
-
}
|
|
1198
|
-
const [lr, lg, lb] = linearAt(c);
|
|
1199
|
-
return { r: linearToSrgb(lr), g: linearToSrgb(lg), b: linearToSrgb(lb) };
|
|
1200
|
-
}
|
|
1201
|
-
const chromaFactor = (lightness) => 0.4 + 0.6 * (1 - Math.abs(lightness - 0.5) * 2);
|
|
1202
|
-
function detectShadeLevel(lightness) {
|
|
1144
|
+
function detectShadeLevel(hsl) {
|
|
1203
1145
|
let bestLevel = '500';
|
|
1204
1146
|
let minDiff = Infinity;
|
|
1205
|
-
|
|
1206
|
-
const
|
|
1147
|
+
Object.keys(STANDARD_LUMINANCE).forEach((level) => {
|
|
1148
|
+
const targetL = STANDARD_LUMINANCE[level];
|
|
1149
|
+
const diff = Math.abs(hsl.l - targetL);
|
|
1207
1150
|
if (diff < minDiff) {
|
|
1208
1151
|
minDiff = diff;
|
|
1209
1152
|
bestLevel = level;
|
|
@@ -1212,29 +1155,50 @@ function detectShadeLevel(lightness) {
|
|
|
1212
1155
|
return bestLevel;
|
|
1213
1156
|
}
|
|
1214
1157
|
function generateThemePalette(baseColor, theme = 'primary') {
|
|
1215
|
-
const
|
|
1216
|
-
if (!
|
|
1158
|
+
const hsl = hexToHsl(baseColor);
|
|
1159
|
+
if (!hsl) {
|
|
1217
1160
|
throw new Error(msgInvalidColor(baseColor));
|
|
1218
1161
|
}
|
|
1219
|
-
const
|
|
1220
|
-
const
|
|
1162
|
+
const matchedLevel = detectShadeLevel(hsl);
|
|
1163
|
+
const targetL = STANDARD_LUMINANCE[matchedLevel];
|
|
1164
|
+
const inputL = hsl.l;
|
|
1221
1165
|
const colors = {};
|
|
1166
|
+
const matchedIndex = SHADE_LABELS.indexOf(matchedLevel);
|
|
1222
1167
|
SHADE_LABELS.forEach((label) => {
|
|
1223
1168
|
if (label === matchedLevel) {
|
|
1224
|
-
colors[label] =
|
|
1169
|
+
colors[label] = baseColor.toUpperCase();
|
|
1225
1170
|
return;
|
|
1226
1171
|
}
|
|
1227
|
-
const
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1172
|
+
const shadeTargetL = STANDARD_LUMINANCE[label];
|
|
1173
|
+
const labelIndex = SHADE_LABELS.indexOf(label);
|
|
1174
|
+
let lightL;
|
|
1175
|
+
if (labelIndex < matchedIndex) {
|
|
1176
|
+
const ratio = inputL / targetL;
|
|
1177
|
+
lightL = shadeTargetL * ratio;
|
|
1178
|
+
}
|
|
1179
|
+
else {
|
|
1180
|
+
const remainingInput = 100 - inputL;
|
|
1181
|
+
const remainingTarget = 100 - targetL;
|
|
1182
|
+
const progress = (shadeTargetL - targetL) / remainingTarget;
|
|
1183
|
+
lightL = inputL + progress * remainingInput;
|
|
1184
|
+
}
|
|
1185
|
+
lightL = Math.min(100, Math.max(0, lightL));
|
|
1186
|
+
const satFactor = lightL > 60
|
|
1187
|
+
? Math.max(0.2, (100 - lightL) / 40)
|
|
1188
|
+
: lightL < 30
|
|
1189
|
+
? Math.max(0.2, lightL / 30)
|
|
1190
|
+
: 1;
|
|
1191
|
+
colors[label] = hslToHex({
|
|
1192
|
+
h: hsl.h,
|
|
1193
|
+
s: Math.round(Math.min(100, hsl.s * satFactor)),
|
|
1194
|
+
l: Math.round(lightL)
|
|
1195
|
+
});
|
|
1233
1196
|
});
|
|
1234
|
-
const
|
|
1197
|
+
const shades = colors;
|
|
1198
|
+
const properties = generateThemeCSS(shades, theme);
|
|
1235
1199
|
return {
|
|
1236
1200
|
theme,
|
|
1237
|
-
colors,
|
|
1201
|
+
colors: shades,
|
|
1238
1202
|
css: properties.map((p) => `${p.name}: ${p.value};`).join('\n'),
|
|
1239
1203
|
properties
|
|
1240
1204
|
};
|
|
@@ -3159,6 +3123,14 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
|
|
|
3159
3123
|
}) })] }) }), jsxRuntimeExports.jsxs("div", { className: "rls-picker-clock__footer", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__footer--cancel", children: jsxRuntimeExports.jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.timeActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__footer--today", children: jsxRuntimeExports.jsx(RlsButtonAction, { icon: "timer", onClick: onCurrentTime }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__footer--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.timeActionSelect }) })] })] }));
|
|
3160
3124
|
}
|
|
3161
3125
|
|
|
3126
|
+
function RlsModalClock({ controller, disabled, formControl, onClose, rlsTheme, time, visible }) {
|
|
3127
|
+
const onListener = require$$0.useCallback(({ event, value }) => {
|
|
3128
|
+
onClose?.(event !== components.PickerListenerEvent.Cancel ? value : undefined);
|
|
3129
|
+
controller?.close();
|
|
3130
|
+
}, [onClose, controller]);
|
|
3131
|
+
return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-modal-clock", controller: controller, visible: visible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerClock, { formControl: formControl, time: time, disabled: disabled, onListener: onListener }) }));
|
|
3132
|
+
}
|
|
3133
|
+
|
|
3162
3134
|
function RlsFieldClock({ children, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, time, value: valueInitial }) {
|
|
3163
3135
|
const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
|
|
3164
3136
|
const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
|
|
@@ -3199,14 +3171,14 @@ function RlsFieldClock({ children, disabled: disabledProps, formControl, identif
|
|
|
3199
3171
|
setModalIsVisible(true);
|
|
3200
3172
|
}
|
|
3201
3173
|
}, [timeValue, formControl, valueInitial, onChange]);
|
|
3202
|
-
const
|
|
3203
|
-
if (
|
|
3204
|
-
onChange(
|
|
3174
|
+
const onCloseModal = require$$0.useCallback((time) => {
|
|
3175
|
+
if (time) {
|
|
3176
|
+
onChange(time);
|
|
3205
3177
|
}
|
|
3206
3178
|
formControl?.touch();
|
|
3207
3179
|
setModalIsVisible(false);
|
|
3208
3180
|
}, [formControl, onChange]);
|
|
3209
|
-
return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-clock", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-clock__control", type: "text", value: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(
|
|
3181
|
+
return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-clock", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-clock__control", type: "text", value: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModalClock, { visible: modalIsVisible, time: time, disabled: disabled, onClose: onCloseModal, rlsTheme: rlsTheme })] }));
|
|
3210
3182
|
}
|
|
3211
3183
|
|
|
3212
3184
|
function RlsPickerColor({ color, formControl, onListener, rlsTheme }) {
|
|
@@ -3552,6 +3524,14 @@ function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDat
|
|
|
3552
3524
|
return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-picker-date__header", children: [jsxRuntimeExports.jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: 'month', onClick: onVisibilityTitle }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__title", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityDay, children: title }) })] }), jsxRuntimeExports.jsxs("div", { className: classNameComponent, children: [jsxRuntimeExports.jsx(RlsPickerDay, { formControl: dayControl, date: value, month: monthControl.value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsxRuntimeExports.jsx(RlsPickerMonth, { formControl: monthControl, date: value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsxRuntimeExports.jsx(RlsPickerYear, { formControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay })] }), !automatic && (jsxRuntimeExports.jsx("div", { className: "rls-picker-date__footer", children: jsxRuntimeExports.jsxs("div", { className: "rls-picker-date__actions", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--cancel", children: jsxRuntimeExports.jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.dateActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--today", children: jsxRuntimeExports.jsx(RlsButtonAction, { icon: "calendar", onClick: onToday, disabled: itIsDisabledToday }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.dateActionSelect }) })] }) }))] }));
|
|
3553
3525
|
}
|
|
3554
3526
|
|
|
3527
|
+
function RlsModalDate({ automatic, controller, date, disabled, formControl, maxDate, minDate, onClose, rlsTheme, visible }) {
|
|
3528
|
+
const onListener = require$$0.useCallback(({ event, value }) => {
|
|
3529
|
+
onClose?.(event !== components.PickerListenerEvent.Cancel ? value : undefined);
|
|
3530
|
+
controller?.close();
|
|
3531
|
+
}, [onClose, controller]);
|
|
3532
|
+
return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-modal-date", controller: controller, visible: visible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDate, { automatic: automatic, formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) }));
|
|
3533
|
+
}
|
|
3534
|
+
|
|
3555
3535
|
function RlsFieldDate({ children, date, disabled: disabledProps, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
|
|
3556
3536
|
const today = require$$0.useRef(new Date()); // Initial current date in component
|
|
3557
3537
|
const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
|
|
@@ -3604,14 +3584,14 @@ function RlsFieldDate({ children, date, disabled: disabledProps, formControl, fo
|
|
|
3604
3584
|
setModalIsVisible(true);
|
|
3605
3585
|
}
|
|
3606
3586
|
}, [dateValue, formControl, valueInitial, onChange]);
|
|
3607
|
-
const
|
|
3608
|
-
if (
|
|
3609
|
-
onChange(
|
|
3587
|
+
const onCloseModal = require$$0.useCallback((date) => {
|
|
3588
|
+
if (date) {
|
|
3589
|
+
onChange(date);
|
|
3610
3590
|
}
|
|
3611
3591
|
formControl?.touch();
|
|
3612
3592
|
setModalIsVisible(false);
|
|
3613
3593
|
}, [formControl, onChange]);
|
|
3614
|
-
return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-date__control", type: "text", value: status.label, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(
|
|
3594
|
+
return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-date__control", type: "text", value: status.label, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModalDate, { visible: modalIsVisible, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onClose: onCloseModal, rlsTheme: rlsTheme })] }));
|
|
3615
3595
|
}
|
|
3616
3596
|
|
|
3617
3597
|
function rangeFormatTemplate({ maxDate, minDate }) {
|
|
@@ -3687,6 +3667,14 @@ function RlsPickerDateRange({ automatic, date: datePicker, disabled, formControl
|
|
|
3687
3667
|
return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-picker-date-range__header", children: [jsxRuntimeExports.jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: date, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: visibility === 'MONTH' ? 'year' : 'month', onClick: onVisibilityTitle }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__title", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityDay, children: title }) })] }), jsxRuntimeExports.jsxs("div", { className: classNameComponent, children: [jsxRuntimeExports.jsx(RlsPickerDayRange, { formControl: rangeControl, date: date, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsxRuntimeExports.jsx(RlsPickerMonth, { formControl: monthControl, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsxRuntimeExports.jsx(RlsPickerYear, { formControl: yearControl, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay })] }), jsxRuntimeExports.jsx("div", { className: classNameFooter, children: jsxRuntimeExports.jsxs("div", { className: "rls-picker-date-range__actions", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__actions--cancel", children: jsxRuntimeExports.jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.dateActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.dateActionSelect }) })] }) })] }));
|
|
3688
3668
|
}
|
|
3689
3669
|
|
|
3670
|
+
function RlsModalDateRange({ automatic, controller, date, disabled, formControl, maxDate, minDate, onClose, rlsTheme, visible }) {
|
|
3671
|
+
const onListener = require$$0.useCallback(({ event, value }) => {
|
|
3672
|
+
onClose?.(event !== components.PickerListenerEvent.Cancel ? value : undefined);
|
|
3673
|
+
controller?.close();
|
|
3674
|
+
}, [onClose, controller]);
|
|
3675
|
+
return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-modal-date-range", controller: controller, visible: visible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDateRange, { automatic: automatic, formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) }));
|
|
3676
|
+
}
|
|
3677
|
+
|
|
3690
3678
|
function RlsFieldDateRange({ children, date, disabled: disabledProps, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
|
|
3691
3679
|
const currentDate = require$$0.useMemo(() => date ?? new Date(), [date]);
|
|
3692
3680
|
const [value, setValue] = require$$0.useState(formControl?.value || valueInitial);
|
|
@@ -3728,14 +3716,14 @@ function RlsFieldDateRange({ children, date, disabled: disabledProps, formContro
|
|
|
3728
3716
|
setModalIsVisible(true);
|
|
3729
3717
|
}
|
|
3730
3718
|
}, [dateRangeValue, formControl, valueInitial, onChange]);
|
|
3731
|
-
const
|
|
3732
|
-
if (
|
|
3733
|
-
onChange(
|
|
3719
|
+
const onCloseModal = require$$0.useCallback((dateRange) => {
|
|
3720
|
+
if (dateRange) {
|
|
3721
|
+
onChange(dateRange);
|
|
3734
3722
|
}
|
|
3735
3723
|
formControl?.touch();
|
|
3736
3724
|
setModalIsVisible(false);
|
|
3737
3725
|
}, [formControl, onChange]);
|
|
3738
|
-
return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-date-range__control", type: "text", value: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(
|
|
3726
|
+
return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-date-range__control", type: "text", value: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModalDateRange, { visible: modalIsVisible, date: currentDate, disabled: disabled, maxDate: maxDate, minDate: minDate, onClose: onCloseModal, rlsTheme: rlsTheme })] }));
|
|
3739
3727
|
}
|
|
3740
3728
|
|
|
3741
3729
|
const MAX_LIST_HEIGHT_REM = 90;
|
|
@@ -3788,26 +3776,25 @@ function useFieldList(props) {
|
|
|
3788
3776
|
require$$0.useEffect(() => {
|
|
3789
3777
|
const formValue = formControl?.value;
|
|
3790
3778
|
if (formValue !== undefined && formValue !== null && formValue.length) {
|
|
3791
|
-
|
|
3792
|
-
setSelected(selectedElements);
|
|
3779
|
+
setSelected(suggestions.filter((state) => formValue.some((value) => state.compareTo(value))));
|
|
3793
3780
|
}
|
|
3794
3781
|
else {
|
|
3795
3782
|
setSelected([]);
|
|
3796
3783
|
}
|
|
3797
3784
|
}, [formControl?.value, suggestions]);
|
|
3798
|
-
const setListState = require$$0.useCallback((
|
|
3785
|
+
const setListState = require$$0.useCallback((controllerState) => {
|
|
3799
3786
|
setState((state) => {
|
|
3800
|
-
const
|
|
3787
|
+
const newState = controllerState.listIsVisible !== undefined
|
|
3801
3788
|
? {
|
|
3802
|
-
...
|
|
3803
|
-
...(
|
|
3789
|
+
...controllerState,
|
|
3790
|
+
...(controllerState.listIsVisible
|
|
3804
3791
|
? {
|
|
3805
3792
|
higher: shouldDisplayHigher(refContent.current, refList.current)
|
|
3806
3793
|
}
|
|
3807
3794
|
: {})
|
|
3808
3795
|
}
|
|
3809
|
-
:
|
|
3810
|
-
return { ...state, ...
|
|
3796
|
+
: controllerState;
|
|
3797
|
+
return { ...state, ...newState };
|
|
3811
3798
|
});
|
|
3812
3799
|
}, []);
|
|
3813
3800
|
const toggleElement = require$$0.useCallback((element) => {
|
|
@@ -4852,6 +4839,9 @@ exports.RlsMessageEmpty = RlsMessageEmpty;
|
|
|
4852
4839
|
exports.RlsMessageFormError = RlsMessageFormError;
|
|
4853
4840
|
exports.RlsMessageIcon = RlsMessageIcon;
|
|
4854
4841
|
exports.RlsModal = RlsModal;
|
|
4842
|
+
exports.RlsModalClock = RlsModalClock;
|
|
4843
|
+
exports.RlsModalDate = RlsModalDate;
|
|
4844
|
+
exports.RlsModalDateRange = RlsModalDateRange;
|
|
4855
4845
|
exports.RlsModalSheet = RlsModalSheet;
|
|
4856
4846
|
exports.RlsNavbar = RlsNavbar;
|
|
4857
4847
|
exports.RlsNavbarMenu = RlsNavbarMenu;
|