@rolster/react-components 19.6.9 → 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 +99 -109
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/es/index.mjs +97 -110
- package/dist/es/index.mjs.map +1 -1
- package/dist/esm/components/organisms/Datatable/Datatable.d.ts +7 -7
- package/dist/esm/components/organisms/Datatable/Datatable.js +15 -15
- package/dist/esm/components/organisms/Datatable/Datatable.js.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/es/index.mjs
CHANGED
|
@@ -1139,69 +1139,12 @@ function generateThemeCSS(colors, theme) {
|
|
|
1139
1139
|
...shadowProps
|
|
1140
1140
|
];
|
|
1141
1141
|
}
|
|
1142
|
-
|
|
1143
|
-
const x = channel / 255;
|
|
1144
|
-
return x <= 0.04045 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;
|
|
1145
|
-
};
|
|
1146
|
-
const linearToSrgb = (channel) => {
|
|
1147
|
-
const v = channel <= 0.0031308
|
|
1148
|
-
? 12.92 * channel
|
|
1149
|
-
: 1.055 * channel ** (1 / 2.4) - 0.055;
|
|
1150
|
-
return clamp(Math.round(v * 255), 0, 255);
|
|
1151
|
-
};
|
|
1152
|
-
function rgbToOklch({ r, g, b }) {
|
|
1153
|
-
const lr = srgbToLinear(r);
|
|
1154
|
-
const lg = srgbToLinear(g);
|
|
1155
|
-
const lb = srgbToLinear(b);
|
|
1156
|
-
const l = Math.cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);
|
|
1157
|
-
const m = Math.cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);
|
|
1158
|
-
const s = Math.cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);
|
|
1159
|
-
const okL = 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s;
|
|
1160
|
-
const okA = 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s;
|
|
1161
|
-
const okB = 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s;
|
|
1162
|
-
return { l: okL, c: Math.hypot(okA, okB), h: Math.atan2(okB, okA) };
|
|
1163
|
-
}
|
|
1164
|
-
function oklabToLinearRgb(l, a, b) {
|
|
1165
|
-
const l_ = (l + 0.3963377774 * a + 0.2158037573 * b) ** 3;
|
|
1166
|
-
const m_ = (l - 0.1055613458 * a - 0.0638541728 * b) ** 3;
|
|
1167
|
-
const s_ = (l - 0.0894841775 * a - 1.291485548 * b) ** 3;
|
|
1168
|
-
return [
|
|
1169
|
-
4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_,
|
|
1170
|
-
-1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_,
|
|
1171
|
-
-0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_
|
|
1172
|
-
];
|
|
1173
|
-
}
|
|
1174
|
-
const inGamut = ([r, g, b]) => {
|
|
1175
|
-
const e = 1e-4;
|
|
1176
|
-
return (r >= -e && r <= 1 + e && g >= -e && g <= 1 + e && b >= -e && b <= 1 + e);
|
|
1177
|
-
};
|
|
1178
|
-
function oklchToRgb({ l, c, h }) {
|
|
1179
|
-
const a = Math.cos(h);
|
|
1180
|
-
const b = Math.sin(h);
|
|
1181
|
-
const linearAt = (chroma) => oklabToLinearRgb(l, a * chroma, b * chroma);
|
|
1182
|
-
if (!inGamut(linearAt(c))) {
|
|
1183
|
-
let lo = 0;
|
|
1184
|
-
let hi = c;
|
|
1185
|
-
for (let i = 0; i < 20; i++) {
|
|
1186
|
-
const mid = (lo + hi) / 2;
|
|
1187
|
-
if (inGamut(linearAt(mid))) {
|
|
1188
|
-
lo = mid;
|
|
1189
|
-
}
|
|
1190
|
-
else {
|
|
1191
|
-
hi = mid;
|
|
1192
|
-
}
|
|
1193
|
-
}
|
|
1194
|
-
c = lo;
|
|
1195
|
-
}
|
|
1196
|
-
const [lr, lg, lb] = linearAt(c);
|
|
1197
|
-
return { r: linearToSrgb(lr), g: linearToSrgb(lg), b: linearToSrgb(lb) };
|
|
1198
|
-
}
|
|
1199
|
-
const chromaFactor = (lightness) => 0.4 + 0.6 * (1 - Math.abs(lightness - 0.5) * 2);
|
|
1200
|
-
function detectShadeLevel(lightness) {
|
|
1142
|
+
function detectShadeLevel(hsl) {
|
|
1201
1143
|
let bestLevel = '500';
|
|
1202
1144
|
let minDiff = Infinity;
|
|
1203
|
-
|
|
1204
|
-
const
|
|
1145
|
+
Object.keys(STANDARD_LUMINANCE).forEach((level) => {
|
|
1146
|
+
const targetL = STANDARD_LUMINANCE[level];
|
|
1147
|
+
const diff = Math.abs(hsl.l - targetL);
|
|
1205
1148
|
if (diff < minDiff) {
|
|
1206
1149
|
minDiff = diff;
|
|
1207
1150
|
bestLevel = level;
|
|
@@ -1210,29 +1153,50 @@ function detectShadeLevel(lightness) {
|
|
|
1210
1153
|
return bestLevel;
|
|
1211
1154
|
}
|
|
1212
1155
|
function generateThemePalette(baseColor, theme = 'primary') {
|
|
1213
|
-
const
|
|
1214
|
-
if (!
|
|
1156
|
+
const hsl = hexToHsl(baseColor);
|
|
1157
|
+
if (!hsl) {
|
|
1215
1158
|
throw new Error(msgInvalidColor(baseColor));
|
|
1216
1159
|
}
|
|
1217
|
-
const
|
|
1218
|
-
const
|
|
1160
|
+
const matchedLevel = detectShadeLevel(hsl);
|
|
1161
|
+
const targetL = STANDARD_LUMINANCE[matchedLevel];
|
|
1162
|
+
const inputL = hsl.l;
|
|
1219
1163
|
const colors = {};
|
|
1164
|
+
const matchedIndex = SHADE_LABELS.indexOf(matchedLevel);
|
|
1220
1165
|
SHADE_LABELS.forEach((label) => {
|
|
1221
1166
|
if (label === matchedLevel) {
|
|
1222
|
-
colors[label] =
|
|
1167
|
+
colors[label] = baseColor.toUpperCase();
|
|
1223
1168
|
return;
|
|
1224
1169
|
}
|
|
1225
|
-
const
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1170
|
+
const shadeTargetL = STANDARD_LUMINANCE[label];
|
|
1171
|
+
const labelIndex = SHADE_LABELS.indexOf(label);
|
|
1172
|
+
let lightL;
|
|
1173
|
+
if (labelIndex < matchedIndex) {
|
|
1174
|
+
const ratio = inputL / targetL;
|
|
1175
|
+
lightL = shadeTargetL * ratio;
|
|
1176
|
+
}
|
|
1177
|
+
else {
|
|
1178
|
+
const remainingInput = 100 - inputL;
|
|
1179
|
+
const remainingTarget = 100 - targetL;
|
|
1180
|
+
const progress = (shadeTargetL - targetL) / remainingTarget;
|
|
1181
|
+
lightL = inputL + progress * remainingInput;
|
|
1182
|
+
}
|
|
1183
|
+
lightL = Math.min(100, Math.max(0, lightL));
|
|
1184
|
+
const satFactor = lightL > 60
|
|
1185
|
+
? Math.max(0.2, (100 - lightL) / 40)
|
|
1186
|
+
: lightL < 30
|
|
1187
|
+
? Math.max(0.2, lightL / 30)
|
|
1188
|
+
: 1;
|
|
1189
|
+
colors[label] = hslToHex({
|
|
1190
|
+
h: hsl.h,
|
|
1191
|
+
s: Math.round(Math.min(100, hsl.s * satFactor)),
|
|
1192
|
+
l: Math.round(lightL)
|
|
1193
|
+
});
|
|
1231
1194
|
});
|
|
1232
|
-
const
|
|
1195
|
+
const shades = colors;
|
|
1196
|
+
const properties = generateThemeCSS(shades, theme);
|
|
1233
1197
|
return {
|
|
1234
1198
|
theme,
|
|
1235
|
-
colors,
|
|
1199
|
+
colors: shades,
|
|
1236
1200
|
css: properties.map((p) => `${p.name}: ${p.value};`).join('\n'),
|
|
1237
1201
|
properties
|
|
1238
1202
|
};
|
|
@@ -2495,10 +2459,10 @@ function RlsDatatable({ children, footer, header, identifier, rlsTheme, resizabl
|
|
|
2495
2459
|
function RlsDatatableHeader({ children, identifier, rlsTheme }) {
|
|
2496
2460
|
return (jsxRuntimeExports.jsx("tr", { id: identifier, className: "rls-datatable__header", "rls-theme": rlsTheme, children: children }));
|
|
2497
2461
|
}
|
|
2498
|
-
function RlsDatatableTitle({ children, className,
|
|
2462
|
+
function RlsDatatableTitle({ children, className, control, identifier, rlsTheme, truncated }) {
|
|
2499
2463
|
const classNameTitle = useMemo(() => {
|
|
2500
|
-
return renderClassStatus('rls-datatable__title', {
|
|
2501
|
-
}, [className,
|
|
2464
|
+
return renderClassStatus('rls-datatable__title', { truncated, control }, className);
|
|
2465
|
+
}, [className, truncated, control]);
|
|
2502
2466
|
return (jsxRuntimeExports.jsx("th", { id: identifier, className: classNameTitle, "rls-theme": rlsTheme, children: children }));
|
|
2503
2467
|
}
|
|
2504
2468
|
function RlsDatatableSubheader({ children, className, identifier, rlsTheme }) {
|
|
@@ -2507,28 +2471,28 @@ function RlsDatatableSubheader({ children, className, identifier, rlsTheme }) {
|
|
|
2507
2471
|
}, [className]);
|
|
2508
2472
|
return (jsxRuntimeExports.jsx("tr", { id: identifier, className: classNameSubheader, "rls-theme": rlsTheme, children: children }));
|
|
2509
2473
|
}
|
|
2510
|
-
function RlsDatatableRecord({ children, className,
|
|
2474
|
+
function RlsDatatableRecord({ children, className, error, identifier, info, rlsTheme, success, truncated, warning }) {
|
|
2511
2475
|
const classNameRecord = useMemo(() => {
|
|
2512
|
-
return renderClassStatus('rls-datatable__record', { error, info,
|
|
2513
|
-
}, [className,
|
|
2476
|
+
return renderClassStatus('rls-datatable__record', { error, info, truncated, success, warning }, className);
|
|
2477
|
+
}, [className, truncated, error, info, success, warning]);
|
|
2514
2478
|
return (jsxRuntimeExports.jsx("tr", { id: identifier, className: classNameRecord, "rls-theme": rlsTheme, children: children }));
|
|
2515
2479
|
}
|
|
2516
|
-
function RlsDatatableTotals({ children, className,
|
|
2480
|
+
function RlsDatatableTotals({ children, className, error, identifier, info, rlsTheme, success, truncated, warning }) {
|
|
2517
2481
|
const classNameTotals = useMemo(() => {
|
|
2518
|
-
return renderClassStatus('rls-datatable__totals', { error, info,
|
|
2519
|
-
}, [className,
|
|
2482
|
+
return renderClassStatus('rls-datatable__totals', { error, info, truncated, success, warning }, className);
|
|
2483
|
+
}, [className, truncated, error, info, success, warning]);
|
|
2520
2484
|
return (jsxRuntimeExports.jsx("div", { id: identifier, className: classNameTotals, "rls-theme": rlsTheme, children: children }));
|
|
2521
2485
|
}
|
|
2522
|
-
function RlsDatatableCell({ children, className,
|
|
2486
|
+
function RlsDatatableCell({ children, className, control, identifier, rlsTheme, truncated }) {
|
|
2523
2487
|
const classNameCell = useMemo(() => {
|
|
2524
|
-
return renderClassStatus('rls-datatable__cell', { control,
|
|
2525
|
-
}, [className,
|
|
2488
|
+
return renderClassStatus('rls-datatable__cell', { control, truncated }, className);
|
|
2489
|
+
}, [className, truncated, control]);
|
|
2526
2490
|
return (jsxRuntimeExports.jsx("td", { id: identifier, className: classNameCell, "rls-theme": rlsTheme, children: children }));
|
|
2527
2491
|
}
|
|
2528
|
-
function RlsDatatableData({ children, className,
|
|
2492
|
+
function RlsDatatableData({ children, className, control, identifier, truncated }) {
|
|
2529
2493
|
const classNameData = useMemo(() => {
|
|
2530
|
-
return renderClassStatus('rls-datatable__data', { control,
|
|
2531
|
-
}, [className,
|
|
2494
|
+
return renderClassStatus('rls-datatable__data', { control, truncated }, className);
|
|
2495
|
+
}, [className, truncated, control]);
|
|
2532
2496
|
return (jsxRuntimeExports.jsx("div", { id: identifier, className: classNameData, children: children }));
|
|
2533
2497
|
}
|
|
2534
2498
|
function RlsDatatableFloating({ children, className, identifier, invested, rlsTheme }) {
|
|
@@ -3157,6 +3121,14 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
|
|
|
3157
3121
|
}) })] }) }), 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 }) })] })] }));
|
|
3158
3122
|
}
|
|
3159
3123
|
|
|
3124
|
+
function RlsModalClock({ controller, disabled, formControl, onClose, rlsTheme, time, visible }) {
|
|
3125
|
+
const onListener = useCallback(({ event, value }) => {
|
|
3126
|
+
onClose?.(event !== PickerListenerEvent.Cancel ? value : undefined);
|
|
3127
|
+
controller?.close();
|
|
3128
|
+
}, [onClose, controller]);
|
|
3129
|
+
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 }) }));
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3160
3132
|
function RlsFieldClock({ children, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, time, value: valueInitial }) {
|
|
3161
3133
|
const [value, setValue] = useState(formControl?.value ?? valueInitial);
|
|
3162
3134
|
const [modalIsVisible, setModalIsVisible] = useState(false);
|
|
@@ -3197,14 +3169,14 @@ function RlsFieldClock({ children, disabled: disabledProps, formControl, identif
|
|
|
3197
3169
|
setModalIsVisible(true);
|
|
3198
3170
|
}
|
|
3199
3171
|
}, [timeValue, formControl, valueInitial, onChange]);
|
|
3200
|
-
const
|
|
3201
|
-
if (
|
|
3202
|
-
onChange(
|
|
3172
|
+
const onCloseModal = useCallback((time) => {
|
|
3173
|
+
if (time) {
|
|
3174
|
+
onChange(time);
|
|
3203
3175
|
}
|
|
3204
3176
|
formControl?.touch();
|
|
3205
3177
|
setModalIsVisible(false);
|
|
3206
3178
|
}, [formControl, onChange]);
|
|
3207
|
-
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(
|
|
3179
|
+
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 })] }));
|
|
3208
3180
|
}
|
|
3209
3181
|
|
|
3210
3182
|
function RlsPickerColor({ color, formControl, onListener, rlsTheme }) {
|
|
@@ -3550,6 +3522,14 @@ function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDat
|
|
|
3550
3522
|
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 }) })] }) }))] }));
|
|
3551
3523
|
}
|
|
3552
3524
|
|
|
3525
|
+
function RlsModalDate({ automatic, controller, date, disabled, formControl, maxDate, minDate, onClose, rlsTheme, visible }) {
|
|
3526
|
+
const onListener = useCallback(({ event, value }) => {
|
|
3527
|
+
onClose?.(event !== PickerListenerEvent.Cancel ? value : undefined);
|
|
3528
|
+
controller?.close();
|
|
3529
|
+
}, [onClose, controller]);
|
|
3530
|
+
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 }) }));
|
|
3531
|
+
}
|
|
3532
|
+
|
|
3553
3533
|
function RlsFieldDate({ children, date, disabled: disabledProps, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
|
|
3554
3534
|
const today = useRef(new Date()); // Initial current date in component
|
|
3555
3535
|
const [value, setValue] = useState(formControl?.value ?? valueInitial);
|
|
@@ -3602,14 +3582,14 @@ function RlsFieldDate({ children, date, disabled: disabledProps, formControl, fo
|
|
|
3602
3582
|
setModalIsVisible(true);
|
|
3603
3583
|
}
|
|
3604
3584
|
}, [dateValue, formControl, valueInitial, onChange]);
|
|
3605
|
-
const
|
|
3606
|
-
if (
|
|
3607
|
-
onChange(
|
|
3585
|
+
const onCloseModal = useCallback((date) => {
|
|
3586
|
+
if (date) {
|
|
3587
|
+
onChange(date);
|
|
3608
3588
|
}
|
|
3609
3589
|
formControl?.touch();
|
|
3610
3590
|
setModalIsVisible(false);
|
|
3611
3591
|
}, [formControl, onChange]);
|
|
3612
|
-
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(
|
|
3592
|
+
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 })] }));
|
|
3613
3593
|
}
|
|
3614
3594
|
|
|
3615
3595
|
function rangeFormatTemplate({ maxDate, minDate }) {
|
|
@@ -3685,6 +3665,14 @@ function RlsPickerDateRange({ automatic, date: datePicker, disabled, formControl
|
|
|
3685
3665
|
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 }) })] }) })] }));
|
|
3686
3666
|
}
|
|
3687
3667
|
|
|
3668
|
+
function RlsModalDateRange({ automatic, controller, date, disabled, formControl, maxDate, minDate, onClose, rlsTheme, visible }) {
|
|
3669
|
+
const onListener = useCallback(({ event, value }) => {
|
|
3670
|
+
onClose?.(event !== PickerListenerEvent.Cancel ? value : undefined);
|
|
3671
|
+
controller?.close();
|
|
3672
|
+
}, [onClose, controller]);
|
|
3673
|
+
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 }) }));
|
|
3674
|
+
}
|
|
3675
|
+
|
|
3688
3676
|
function RlsFieldDateRange({ children, date, disabled: disabledProps, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
|
|
3689
3677
|
const currentDate = useMemo(() => date ?? new Date(), [date]);
|
|
3690
3678
|
const [value, setValue] = useState(formControl?.value || valueInitial);
|
|
@@ -3726,14 +3714,14 @@ function RlsFieldDateRange({ children, date, disabled: disabledProps, formContro
|
|
|
3726
3714
|
setModalIsVisible(true);
|
|
3727
3715
|
}
|
|
3728
3716
|
}, [dateRangeValue, formControl, valueInitial, onChange]);
|
|
3729
|
-
const
|
|
3730
|
-
if (
|
|
3731
|
-
onChange(
|
|
3717
|
+
const onCloseModal = useCallback((dateRange) => {
|
|
3718
|
+
if (dateRange) {
|
|
3719
|
+
onChange(dateRange);
|
|
3732
3720
|
}
|
|
3733
3721
|
formControl?.touch();
|
|
3734
3722
|
setModalIsVisible(false);
|
|
3735
3723
|
}, [formControl, onChange]);
|
|
3736
|
-
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(
|
|
3724
|
+
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 })] }));
|
|
3737
3725
|
}
|
|
3738
3726
|
|
|
3739
3727
|
const MAX_LIST_HEIGHT_REM = 90;
|
|
@@ -3786,26 +3774,25 @@ function useFieldList(props) {
|
|
|
3786
3774
|
useEffect(() => {
|
|
3787
3775
|
const formValue = formControl?.value;
|
|
3788
3776
|
if (formValue !== undefined && formValue !== null && formValue.length) {
|
|
3789
|
-
|
|
3790
|
-
setSelected(selectedElements);
|
|
3777
|
+
setSelected(suggestions.filter((state) => formValue.some((value) => state.compareTo(value))));
|
|
3791
3778
|
}
|
|
3792
3779
|
else {
|
|
3793
3780
|
setSelected([]);
|
|
3794
3781
|
}
|
|
3795
3782
|
}, [formControl?.value, suggestions]);
|
|
3796
|
-
const setListState = useCallback((
|
|
3783
|
+
const setListState = useCallback((controllerState) => {
|
|
3797
3784
|
setState((state) => {
|
|
3798
|
-
const
|
|
3785
|
+
const newState = controllerState.listIsVisible !== undefined
|
|
3799
3786
|
? {
|
|
3800
|
-
...
|
|
3801
|
-
...(
|
|
3787
|
+
...controllerState,
|
|
3788
|
+
...(controllerState.listIsVisible
|
|
3802
3789
|
? {
|
|
3803
3790
|
higher: shouldDisplayHigher(refContent.current, refList.current)
|
|
3804
3791
|
}
|
|
3805
3792
|
: {})
|
|
3806
3793
|
}
|
|
3807
|
-
:
|
|
3808
|
-
return { ...state, ...
|
|
3794
|
+
: controllerState;
|
|
3795
|
+
return { ...state, ...newState };
|
|
3809
3796
|
});
|
|
3810
3797
|
}, []);
|
|
3811
3798
|
const toggleElement = useCallback((element) => {
|
|
@@ -4771,5 +4758,5 @@ function usePortalController() {
|
|
|
4771
4758
|
return { close, open, visible };
|
|
4772
4759
|
}
|
|
4773
4760
|
|
|
4774
|
-
export { ConfirmationResult, DEFAULT_COLOR, RlsAccordion, RlsAlert, RlsAmount, RlsApplication, RlsAreaText, RlsAvatar, RlsBadge, RlsBallot, RlsBody, RlsBottomSheet, RlsBreadcrumb, RlsButton, RlsButtonAction, RlsButtonIcon, RlsButtonOption, RlsButtonProgress, RlsButtonStepper, RlsButtonToggle, RlsCard, RlsCheckBox, RlsCheckBoxControl, RlsConfirmation, RlsContent, RlsContext, RlsDatatable, RlsDatatableCell, RlsDatatableData, RlsDatatableFloating, RlsDatatableHeader, RlsDatatableRecord, RlsDatatableSubheader, RlsDatatableTitle, RlsDatatableTotals, RlsDropdown, RlsFieldArea, RlsFieldAutocomplete, RlsFieldAutocompleteTemplate, RlsFieldClock, RlsFieldColor, RlsFieldDate, RlsFieldDateRange, RlsFieldDecimal, RlsFieldFile, RlsFieldList, RlsFieldListSuggestions, RlsFieldListTemplate, RlsFieldMoney, RlsFieldNumber, RlsFieldPassword, RlsFieldPercentage, RlsFieldReadonly, RlsFieldSelect, RlsFieldSelectTemplate, RlsFieldText, RlsFormNavigation, RlsIcon, RlsImage, RlsImageChooser, RlsImageEditor, RlsInput, RlsInputCounter, RlsInputDecimal, RlsInputMoney, RlsInputNumber, RlsInputPassword, RlsInputPercentage, RlsInputSearch, RlsInputText, RlsLabel, RlsLabelCheckBox, RlsLabelRadioButton, RlsLabelSwitch, RlsLed, RlsMessageEmpty, RlsMessageFormError, RlsMessageIcon, RlsModal, RlsModalSheet, RlsNavbar, RlsNavbarMenu, RlsPagination, RlsPickerClock, RlsPickerColor, RlsPickerDate, RlsPickerDateRange, RlsPickerDay, RlsPickerDayRange, RlsPickerMonth, RlsPickerSelectorTitle, RlsPickerYear, RlsPoster, RlsProgressBar, RlsProgressCircular, RlsRadioButton, RlsSkeleton, RlsSkeletonText, RlsSlider, RlsSnackbar, RlsSpinner, RlsSwitch, RlsSwitchControl, RlsTabs, RlsTabularText, RlsToolbar, calculateImgDimension, generateThemePalette, hexIsValid, hexToHsl, hexToHsv, hexToRgb, hslToHex, hsvToHex, hsvToRgb, normalizeHex, rangeFormatTemplate, renderClassStatus, rgbToHex, rgbToHsl, rgbToHsv, setDesignSystem, setErrorsI18n, setThemeColor, useConfirmation, useDatatable, useDesingSystemController, useDropdownController, useFieldAutocomplete, useFieldList, useFieldSelect, useFormSingleSelectionController, useFormToggleController, useImageEditorController, useListController, useNotifications, usePortalController, useRelocationOnComponent, useResize, useRlsContext, useSnackbar };
|
|
4761
|
+
export { ConfirmationResult, DEFAULT_COLOR, RlsAccordion, RlsAlert, RlsAmount, RlsApplication, RlsAreaText, RlsAvatar, RlsBadge, RlsBallot, RlsBody, RlsBottomSheet, RlsBreadcrumb, RlsButton, RlsButtonAction, RlsButtonIcon, RlsButtonOption, RlsButtonProgress, RlsButtonStepper, RlsButtonToggle, RlsCard, RlsCheckBox, RlsCheckBoxControl, RlsConfirmation, RlsContent, RlsContext, RlsDatatable, RlsDatatableCell, RlsDatatableData, RlsDatatableFloating, RlsDatatableHeader, RlsDatatableRecord, RlsDatatableSubheader, RlsDatatableTitle, RlsDatatableTotals, RlsDropdown, RlsFieldArea, RlsFieldAutocomplete, RlsFieldAutocompleteTemplate, RlsFieldClock, RlsFieldColor, RlsFieldDate, RlsFieldDateRange, RlsFieldDecimal, RlsFieldFile, RlsFieldList, RlsFieldListSuggestions, RlsFieldListTemplate, RlsFieldMoney, RlsFieldNumber, RlsFieldPassword, RlsFieldPercentage, RlsFieldReadonly, RlsFieldSelect, RlsFieldSelectTemplate, RlsFieldText, RlsFormNavigation, RlsIcon, RlsImage, RlsImageChooser, RlsImageEditor, RlsInput, RlsInputCounter, RlsInputDecimal, RlsInputMoney, RlsInputNumber, RlsInputPassword, RlsInputPercentage, RlsInputSearch, RlsInputText, RlsLabel, RlsLabelCheckBox, RlsLabelRadioButton, RlsLabelSwitch, RlsLed, RlsMessageEmpty, RlsMessageFormError, RlsMessageIcon, RlsModal, RlsModalClock, RlsModalDate, RlsModalDateRange, RlsModalSheet, RlsNavbar, RlsNavbarMenu, RlsPagination, RlsPickerClock, RlsPickerColor, RlsPickerDate, RlsPickerDateRange, RlsPickerDay, RlsPickerDayRange, RlsPickerMonth, RlsPickerSelectorTitle, RlsPickerYear, RlsPoster, RlsProgressBar, RlsProgressCircular, RlsRadioButton, RlsSkeleton, RlsSkeletonText, RlsSlider, RlsSnackbar, RlsSpinner, RlsSwitch, RlsSwitchControl, RlsTabs, RlsTabularText, RlsToolbar, calculateImgDimension, generateThemePalette, hexIsValid, hexToHsl, hexToHsv, hexToRgb, hslToHex, hsvToHex, hsvToRgb, normalizeHex, rangeFormatTemplate, renderClassStatus, rgbToHex, rgbToHsl, rgbToHsv, setDesignSystem, setErrorsI18n, setThemeColor, useConfirmation, useDatatable, useDesingSystemController, useDropdownController, useFieldAutocomplete, useFieldList, useFieldSelect, useFormSingleSelectionController, useFormToggleController, useImageEditorController, useListController, useNotifications, usePortalController, useRelocationOnComponent, useResize, useRlsContext, useSnackbar };
|
|
4775
4762
|
//# sourceMappingURL=index.mjs.map
|