@rolster/react-components 19.0.2 → 19.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/cjs/assets/{index-DEldF_Je.css → index--qtFLq_w.css} +1 -0
  2. package/dist/cjs/index.js +82 -59
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-DEldF_Je.css → index--qtFLq_w.css} +1 -0
  5. package/dist/es/index.js +82 -59
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/esm/components/atoms/Input/Input.js +1 -1
  8. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  9. package/dist/esm/components/atoms/InputDecimal/InputDecimal.js +1 -1
  10. package/dist/esm/components/atoms/InputDecimal/InputDecimal.js.map +1 -1
  11. package/dist/esm/components/atoms/InputMoney/InputMoney.js +1 -1
  12. package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +1 -1
  13. package/dist/esm/components/atoms/InputNumber/InputNumber.js +1 -1
  14. package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +1 -1
  15. package/dist/esm/components/atoms/InputPassword/InputPassword.js +1 -1
  16. package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +1 -1
  17. package/dist/esm/components/atoms/InputPercentage/InputPercentage.js +1 -1
  18. package/dist/esm/components/atoms/InputPercentage/InputPercentage.js.map +1 -1
  19. package/dist/esm/components/atoms/InputText/InputText.js +1 -1
  20. package/dist/esm/components/atoms/InputText/InputText.js.map +1 -1
  21. package/dist/esm/components/molecules/PickerDay/PickerDay.js +1 -1
  22. package/dist/esm/components/molecules/PickerDay/PickerDay.js.map +1 -1
  23. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js +1 -1
  24. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js.map +1 -1
  25. package/dist/esm/components/molecules/PickerYear/PickerYear.js +1 -1
  26. package/dist/esm/components/molecules/PickerYear/PickerYear.js.map +1 -1
  27. package/dist/esm/components/molecules/Tabs/Tabs.js +1 -1
  28. package/dist/esm/components/molecules/Tabs/Tabs.js.map +1 -1
  29. package/dist/esm/components/organisms/FieldClock/FieldClock.css +1 -0
  30. package/dist/esm/components/organisms/FieldClock/FieldClock.css.map +1 -1
  31. package/dist/esm/components/organisms/FieldClock/FieldClock.js +16 -13
  32. package/dist/esm/components/organisms/FieldClock/FieldClock.js.map +1 -1
  33. package/dist/esm/components/organisms/FieldDate/FieldDate.js +22 -17
  34. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  35. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +21 -18
  36. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  37. package/dist/esm/components/organisms/PickerClock/PickerClock.js +12 -0
  38. package/dist/esm/components/organisms/PickerClock/PickerClock.js.map +1 -1
  39. package/package.json +1 -1
@@ -2808,6 +2808,7 @@
2808
2808
  --rlc-modal-max-width: 150rem;
2809
2809
  --rlc-picker-clock-radius: var(--rls-sizing-x4);
2810
2810
  --rlc-picker-clock-background: var(--rls-app-color-050);
2811
+ --rlc-picker-clock-padding: var(--rls-sizing-x4) 0rem;
2811
2812
  } /*# sourceMappingURL=FieldClock.css.map */
2812
2813
 
2813
2814
  .rls-picker-date {
package/dist/cjs/index.js CHANGED
@@ -601,7 +601,7 @@ function RlsInput({ children, decimals, disabled, formControl, identifier, onBlu
601
601
  ? parseFloat((+valueInput).toFixed(decimals))
602
602
  : valueInput;
603
603
  changeIsInternal.current = true;
604
- onValue && onValue(value);
604
+ onValue?.(value);
605
605
  setValueInput(valueInput);
606
606
  formControl?.setValue(value);
607
607
  }, [formControl, onValue, type, decimals]);
@@ -640,7 +640,7 @@ function RlsInputDecimal(props) {
640
640
  const onValueInput = require$$0.useCallback((value) => {
641
641
  const valueDecimal = commons.BigDecimal.create(value);
642
642
  formControl ? formControl.setValue(valueDecimal) : setValueInput(value);
643
- onValue && onValue(valueDecimal);
643
+ onValue?.(valueDecimal);
644
644
  }, [formControl, onValue]);
645
645
  const decimalProps = { ...props, formControl: undefined };
646
646
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-decimal", children: jsxRuntimeExports.jsx(RlsInput, { ...decimalProps, type: "number", value: valueInput, onValue: onValueInput, children: jsxRuntimeExports.jsx(RlsAmount, { value: amount, symbol: symbol, decimals: decimals }) }) }));
@@ -651,7 +651,7 @@ function RlsInputMoney(props) {
651
651
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? 0);
652
652
  const onValueInput = require$$0.useCallback((value) => {
653
653
  !formControl && setValueInput(value);
654
- onValue && onValue(value);
654
+ onValue?.(value);
655
655
  }, [formControl, onValue]);
656
656
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-money", children: jsxRuntimeExports.jsx(RlsInput, { ...props, type: "number", value: valueInput, onValue: onValueInput, children: jsxRuntimeExports.jsx(RlsAmount, { value: formControl?.value ?? valueInput, symbol: symbol, decimals: decimals }) }) }));
657
657
  }
@@ -661,7 +661,7 @@ function RlsInputNumber(props) {
661
661
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? 0);
662
662
  const onValueInput = require$$0.useCallback((value) => {
663
663
  !formControl && setValueInput(value);
664
- onValue && onValue(value);
664
+ onValue?.(value);
665
665
  }, [formControl, onValue]);
666
666
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-number", children: jsxRuntimeExports.jsx(RlsInput, { ...props, type: "number", value: valueInput, onValue: onValueInput, children: formControl?.value ?? valueInput }) }));
667
667
  }
@@ -670,7 +670,7 @@ function RlsInputPassword({ disabled, formControl, identifier, onEnter, onKeyDow
670
670
  const [focused, setFocused] = require$$0.useState(false);
671
671
  const _onChange = require$$0.useCallback((event) => {
672
672
  formControl?.setValue(event.target.value);
673
- onValue && onValue(event.target.value);
673
+ onValue?.(event.target.value);
674
674
  }, [formControl, onValue]);
675
675
  const _onKeyDown = require$$0.useCallback((event) => {
676
676
  onKeyDown && onKeyDown(event);
@@ -701,7 +701,7 @@ function RlsInputPercentage(props) {
701
701
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? 0);
702
702
  const onValueInput = require$$0.useCallback((value) => {
703
703
  !formControl && setValueInput(value);
704
- onValue && onValue(value);
704
+ onValue?.(value);
705
705
  }, [formControl, onValue]);
706
706
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-percentage", children: jsxRuntimeExports.jsxs(RlsInput, { ...props, type: "number", value: valueInput, onValue: onValueInput, children: [formControl?.value ?? valueInput, "%"] }) }));
707
707
  }
@@ -722,7 +722,7 @@ function RlsInputText(props) {
722
722
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? '');
723
723
  const onValueInput = require$$0.useCallback((value) => {
724
724
  !formControl && setValueInput(value);
725
- onValue && onValue(value);
725
+ onValue?.(value);
726
726
  }, [formControl, onValue]);
727
727
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-text", children: jsxRuntimeExports.jsx(RlsInput, { ...props, type: "text", value: valueInput, onValue: onValueInput, children: formControl?.value ?? valueInput }) }));
728
728
  }
@@ -1207,7 +1207,7 @@ function RlsPickerDay({ date: _date, disabled, formControl, maxDate, month, minD
1207
1207
  }, [formControl]);
1208
1208
  const onSelect = require$$0.useCallback((value) => {
1209
1209
  setDayValue(value);
1210
- onValue && onValue(value);
1210
+ onValue?.(value);
1211
1211
  }, [setDayValue, onValue]);
1212
1212
  require$$0.useEffect(() => {
1213
1213
  return i18n.i18nSubscribe(() => {
@@ -1332,7 +1332,7 @@ function RlsPickerMonth({ date: _date, disabled, formControl, maxDate, minDate,
1332
1332
  }, [formControl]);
1333
1333
  const onSelect = require$$0.useCallback((value) => {
1334
1334
  setMonthValue(value);
1335
- onValue && onValue(value);
1335
+ onValue?.(value);
1336
1336
  }, [setMonthValue, onValue]);
1337
1337
  require$$0.useEffect(() => {
1338
1338
  setComponent(jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: months.map((month, index) => (jsxRuntimeExports.jsx(RlsPickerMonthElement, { month: month, onSelect: onSelect, disabled: disabled }, index))) }));
@@ -1463,7 +1463,7 @@ function RlsPickerYear({ date: _date, disabled, formControl, maxDate, minDate, o
1463
1463
  }, [formControl]);
1464
1464
  const onSelect = require$$0.useCallback((value) => {
1465
1465
  setYearValue(value);
1466
- onValue && onValue(value);
1466
+ onValue?.(value);
1467
1467
  }, [setYearValue, onValue]);
1468
1468
  require$$0.useEffect(() => {
1469
1469
  const options = createPickerOptions(); // YearPickerProps
@@ -1559,7 +1559,7 @@ function RlsTabs({ tabs, onValue, rlsTheme }) {
1559
1559
  const [value, setValue] = require$$0.useState();
1560
1560
  const onSelect = require$$0.useCallback((value) => {
1561
1561
  setValue(value);
1562
- onValue && onValue(value);
1562
+ onValue?.(value);
1563
1563
  }, [onValue]);
1564
1564
  require$$0.useEffect(() => {
1565
1565
  const initial = tabs.find((tab) => tab.defaultActive) ?? tabs[0];
@@ -2119,6 +2119,7 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
2119
2119
  const [hour, setHour] = require$$0.useState(zoneIsPM ? timeInitial.hour - 12 : timeInitial.hour);
2120
2120
  const [minute, setMinute] = require$$0.useState(timeInitial.minute);
2121
2121
  const [selectionIsHours, setSelectionIsHours] = require$$0.useState(true);
2122
+ const changeIsInternal = require$$0.useRef(true);
2122
2123
  const selectionIsActive = require$$0.useRef(false);
2123
2124
  const radianUnit = require$$0.useMemo(() => {
2124
2125
  return Math.PI / (selectionIsHours ? 6 : 30);
@@ -2166,6 +2167,15 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
2166
2167
  require$$0.useEffect(() => {
2167
2168
  selectionIsHours ? refreshClockHour() : refreshClockMinute();
2168
2169
  }, [selectionIsHours]);
2170
+ require$$0.useEffect(() => {
2171
+ if (!changeIsInternal.current && formControl?.value) {
2172
+ const zoneIsPM = formControl.value.hour >= 12;
2173
+ setZoneIsPM(zoneIsPM);
2174
+ setHour(zoneIsPM ? formControl.value.hour - 12 : formControl.value.hour);
2175
+ setMinute(formControl.value.minute);
2176
+ }
2177
+ changeIsInternal.current = false;
2178
+ }, [formControl?.value]);
2169
2179
  const refreshComponent = require$$0.useCallback((clientX, clientY) => {
2170
2180
  const rectangle = plateElement.current.getBoundingClientRect();
2171
2181
  const centerX = rectangle.left + rectangle.width / 2;
@@ -2238,6 +2248,7 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
2238
2248
  }, [onListener]);
2239
2249
  const onCurrentTime = require$$0.useCallback(() => {
2240
2250
  const currentTime = dates.Time.now();
2251
+ changeIsInternal.current = true;
2241
2252
  formControl?.setValue(currentTime);
2242
2253
  setHour(currentTime.hour);
2243
2254
  setMinute(currentTime.minute);
@@ -2255,6 +2266,7 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
2255
2266
  ? 0
2256
2267
  : hour;
2257
2268
  const timeValue = new dates.Time(hourValue, minute);
2269
+ changeIsInternal.current = true;
2258
2270
  formControl?.setValue(timeValue);
2259
2271
  onListener?.({
2260
2272
  event: components.PickerListenerEvent.Select,
@@ -2268,24 +2280,27 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
2268
2280
  }) })] }) }), 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 }) })] })] }));
2269
2281
  }
2270
2282
 
2271
- function RlsFieldClock({ children, disabled, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, time, value: valueInitial }) {
2283
+ function RlsFieldClock({ children, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, time, value: valueInitial }) {
2272
2284
  const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
2273
2285
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
2274
- const _disabled = require$$0.useMemo(() => {
2275
- return formControl?.disabled || disabled;
2276
- }, [formControl?.disabled, disabled]);
2286
+ const disabled = require$$0.useMemo(() => {
2287
+ return formControl?.disabled || disabledProps;
2288
+ }, [formControl?.disabled, disabledProps]);
2277
2289
  const className = require$$0.useMemo(() => {
2278
2290
  return renderClassStatus('rls-field-box', {
2279
- disabled: _disabled,
2291
+ disabled,
2280
2292
  readonly: readOnly
2281
2293
  });
2282
- }, [_disabled, readOnly]);
2283
- const { icon, valueInput } = require$$0.useMemo(() => {
2294
+ }, [disabled, readOnly]);
2295
+ const timeValue = require$$0.useMemo(() => {
2296
+ return formControl ? formControl.value : value;
2297
+ }, [formControl?.value, value]);
2298
+ const status = require$$0.useMemo(() => {
2284
2299
  return {
2285
- icon: value ? 'trash-2' : 'timer',
2286
- valueInput: value?.normalizeMeridiemFormat || ''
2300
+ icon: timeValue ? 'trash-2' : 'timer',
2301
+ valueInput: timeValue?.normalizeMeridiemFormat || ''
2287
2302
  };
2288
- }, [value]);
2303
+ }, [timeValue]);
2289
2304
  const onClickInput = require$$0.useCallback(() => {
2290
2305
  !readOnly && setModalIsVisible(true);
2291
2306
  }, [readOnly]);
@@ -2294,7 +2309,7 @@ function RlsFieldClock({ children, disabled, formControl, identifier, msgErrorDi
2294
2309
  onValue?.(value);
2295
2310
  }, [onValue]);
2296
2311
  const onClickAction = require$$0.useCallback(() => {
2297
- if (value) {
2312
+ if (timeValue) {
2298
2313
  formControl?.setValue(valueInitial);
2299
2314
  formControl?.touch();
2300
2315
  onChange(valueInitial);
@@ -2302,13 +2317,13 @@ function RlsFieldClock({ children, disabled, formControl, identifier, msgErrorDi
2302
2317
  else {
2303
2318
  setModalIsVisible(true);
2304
2319
  }
2305
- }, [value, formControl, valueInitial, onChange]);
2320
+ }, [timeValue, formControl, valueInitial, onChange]);
2306
2321
  const onListener = require$$0.useCallback(({ event, value }) => {
2307
2322
  event !== components.PickerListenerEvent.Cancel && onChange(value);
2308
2323
  formControl?.touch();
2309
2324
  setModalIsVisible(false);
2310
2325
  }, [formControl, onChange]);
2311
- 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: valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: _disabled }), !readOnly && (jsxRuntimeExports.jsx("button", { className: "rls-field-date__action", onClick: onClickAction, disabled: _disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-clock-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerClock, { formControl: formControl, time: time, disabled: _disabled, onListener: onListener }) })] }));
2326
+ 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.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx("button", { className: "rls-field-date__action", onClick: onClickAction, disabled: disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: status.icon }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-clock-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerClock, { formControl: formControl, time: time, disabled: disabled, onListener: onListener }) })] }));
2312
2327
  }
2313
2328
 
2314
2329
  const DATE_FORMAT = '{dd}/{mx}/{yy}';
@@ -2389,43 +2404,48 @@ function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDat
2389
2404
  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: _date, month: monthControl.value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsxRuntimeExports.jsx(RlsPickerMonth, { formControl: monthControl, date: _date, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsxRuntimeExports.jsx(RlsPickerYear, { formControl: yearControl, date: _date, 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 }) })] }) }))] }));
2390
2405
  }
2391
2406
 
2392
- function RlsFieldDate({ children, date, disabled, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
2407
+ function RlsFieldDate({ children, date, disabled: disabledProps, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
2393
2408
  const today = require$$0.useRef(new Date()); // Initial current date in component
2394
2409
  const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
2395
2410
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
2396
- const _disabled = require$$0.useMemo(() => {
2397
- return formControl?.disabled || disabled;
2398
- }, [formControl?.disabled, disabled]);
2411
+ const disabled = require$$0.useMemo(() => {
2412
+ return formControl?.disabled || disabledProps;
2413
+ }, [formControl?.disabled, disabledProps]);
2399
2414
  const className = require$$0.useMemo(() => {
2400
2415
  return renderClassStatus('rls-field-box', {
2401
- disabled: _disabled,
2416
+ disabled,
2402
2417
  readonly: readOnly
2403
2418
  });
2404
- }, [_disabled, readOnly]);
2405
- const { icon, valueInput } = require$$0.useMemo(() => {
2419
+ }, [disabled, readOnly]);
2420
+ const dateValue = require$$0.useMemo(() => {
2421
+ return formControl ? formControl.value : value;
2422
+ }, [formControl?.value, value]);
2423
+ const status = require$$0.useMemo(() => {
2406
2424
  return {
2407
- icon: value ? 'trash-2' : 'calendar',
2408
- valueInput: value ? dates.dateFormatTemplate(value, format || DATE_FORMAT) : ''
2425
+ icon: dateValue ? 'trash-2' : 'calendar',
2426
+ label: dateValue
2427
+ ? dates.dateFormatTemplate(dateValue, format || DATE_FORMAT)
2428
+ : ''
2409
2429
  };
2410
- }, [value]);
2430
+ }, [dateValue, format]);
2411
2431
  require$$0.useEffect(() => {
2412
- const _date = components.verifyDateRange({
2432
+ const dateSecure = components.verifyDateRange({
2413
2433
  date: formControl?.value ?? date ?? today.current,
2414
2434
  minDate,
2415
2435
  maxDate
2416
2436
  });
2417
- setValue(_date);
2418
- formControl?.setValue(_date);
2437
+ setValue(dateSecure);
2438
+ formControl?.setValue(dateSecure);
2419
2439
  }, []);
2420
2440
  const onClickInput = require$$0.useCallback(() => {
2421
2441
  !readOnly && setModalIsVisible(true);
2422
2442
  }, [readOnly]);
2423
2443
  const onChange = require$$0.useCallback((value) => {
2424
2444
  setValue(value);
2425
- onValue && onValue(value);
2445
+ onValue?.(value);
2426
2446
  }, [onValue]);
2427
2447
  const onClickAction = require$$0.useCallback(() => {
2428
- if (value) {
2448
+ if (dateValue) {
2429
2449
  formControl?.setValue(valueInitial);
2430
2450
  formControl?.touch();
2431
2451
  onChange(valueInitial);
@@ -2433,13 +2453,13 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2433
2453
  else {
2434
2454
  setModalIsVisible(true);
2435
2455
  }
2436
- }, [value, formControl, valueInitial, onChange]);
2456
+ }, [dateValue, formControl, valueInitial, onChange]);
2437
2457
  const onListener = require$$0.useCallback(({ event, value }) => {
2438
2458
  event !== components.PickerListenerEvent.Cancel && onChange(value);
2439
2459
  formControl?.touch();
2440
2460
  setModalIsVisible(false);
2441
2461
  }, [formControl, onChange]);
2442
- 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: valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: _disabled }), !readOnly && (jsxRuntimeExports.jsx("button", { className: "rls-field-date__action", onClick: onClickAction, disabled: _disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-date-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDate, { formControl: formControl, date: date, disabled: _disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) })] }));
2462
+ 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("button", { className: "rls-field-date__action", onClick: onClickAction, disabled: disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: status.icon }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-date-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDate, { formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) })] }));
2443
2463
  }
2444
2464
 
2445
2465
  function rangeFormatTemplate({ maxDate, minDate }) {
@@ -2514,48 +2534,51 @@ function RlsPickerDateRange({ automatic, date: datePicker, disabled, formControl
2514
2534
  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 }) })] }) })] }));
2515
2535
  }
2516
2536
 
2517
- function RlsFieldDateRange({ children, date: _date, disabled, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: _value }) {
2518
- const currentDate = require$$0.useMemo(() => _date ?? new Date(), [_date]);
2519
- const [value, setValue] = require$$0.useState(formControl?.value || _value);
2537
+ function RlsFieldDateRange({ children, date, disabled: disabledProps, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
2538
+ const currentDate = require$$0.useMemo(() => date ?? new Date(), [date]);
2539
+ const [value, setValue] = require$$0.useState(formControl?.value || valueInitial);
2520
2540
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
2521
- const _disabled = require$$0.useMemo(() => {
2522
- return formControl?.disabled || disabled;
2523
- }, [formControl?.disabled, disabled]);
2541
+ const disabled = require$$0.useMemo(() => {
2542
+ return formControl?.disabled || disabledProps;
2543
+ }, [formControl?.disabled, disabledProps]);
2524
2544
  const className = require$$0.useMemo(() => {
2525
2545
  return renderClassStatus('rls-field-box', {
2526
- disabled: _disabled,
2546
+ disabled,
2527
2547
  readonly: readOnly
2528
2548
  });
2529
- }, [_disabled, readOnly]);
2530
- const { icon, valueInput } = require$$0.useMemo(() => {
2549
+ }, [disabled, readOnly]);
2550
+ const dateRangeValue = require$$0.useMemo(() => {
2551
+ return formControl ? formControl.value : value;
2552
+ }, [formControl?.value, value]);
2553
+ const status = require$$0.useMemo(() => {
2531
2554
  return {
2532
- icon: value ? 'trash-2' : 'calendar',
2533
- valueInput: value ? rangeFormatTemplate(value) : ''
2555
+ icon: dateRangeValue ? 'trash-2' : 'calendar',
2556
+ valueInput: dateRangeValue ? rangeFormatTemplate(dateRangeValue) : ''
2534
2557
  };
2535
- }, [value]);
2558
+ }, [dateRangeValue]);
2536
2559
  const onClickInput = require$$0.useCallback(() => {
2537
2560
  !readOnly && setModalIsVisible(true);
2538
2561
  }, [readOnly]);
2539
2562
  const onChange = require$$0.useCallback((value) => {
2540
2563
  setValue(value);
2541
- onValue && onValue(value);
2564
+ onValue?.(value);
2542
2565
  }, [onValue]);
2543
2566
  const onClickAction = require$$0.useCallback(() => {
2544
- if (value) {
2545
- formControl?.setValue(_value);
2567
+ if (dateRangeValue) {
2568
+ formControl?.setValue(valueInitial);
2546
2569
  formControl?.touch();
2547
- onChange(_value);
2570
+ onChange(valueInitial);
2548
2571
  }
2549
2572
  else {
2550
2573
  setModalIsVisible(true);
2551
2574
  }
2552
- }, [value, formControl, _value, onChange]);
2575
+ }, [dateRangeValue, formControl, valueInitial, onChange]);
2553
2576
  const onListener = require$$0.useCallback(({ event, value }) => {
2554
2577
  event !== components.PickerListenerEvent.Cancel && onChange(value);
2555
2578
  formControl?.touch();
2556
2579
  setModalIsVisible(false);
2557
2580
  }, [formControl, onChange]);
2558
- 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: valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: _disabled }), !readOnly && (jsxRuntimeExports.jsx("button", { className: "rls-field-date-range__action", onClick: onClickAction, disabled: _disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-date-range-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDateRange, { formControl: formControl, date: currentDate, disabled: _disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) })] }));
2581
+ 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("button", { className: "rls-field-date-range__action", onClick: onClickAction, disabled: disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: status.icon }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-date-range-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDateRange, { formControl: formControl, date: currentDate, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) })] }));
2559
2582
  }
2560
2583
 
2561
2584
  function useFieldSelect(props) {