@rolster/react-components 18.24.7 → 18.24.9

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 (41) hide show
  1. package/dist/cjs/assets/{index-BT0oqTbs.css → index-Jhih2qiU.css} +21 -23
  2. package/dist/cjs/index.js +42 -26
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-BT0oqTbs.css → index-Jhih2qiU.css} +21 -23
  5. package/dist/es/index.js +42 -26
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.css +1 -1
  8. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.css.map +1 -1
  9. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.css +1 -2
  10. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.css.map +1 -1
  11. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.css +1 -1
  12. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.css.map +1 -1
  13. package/dist/esm/components/organisms/BottomSheet/BottomSheet.css +5 -5
  14. package/dist/esm/components/organisms/BottomSheet/BottomSheet.css.map +1 -1
  15. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.css +0 -3
  16. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.css.map +1 -1
  17. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.d.ts +1 -0
  18. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +10 -3
  19. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
  20. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.d.ts +2 -1
  21. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js +7 -5
  22. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js.map +1 -1
  23. package/dist/esm/components/organisms/FieldDate/FieldDate.css +6 -2
  24. package/dist/esm/components/organisms/FieldDate/FieldDate.css.map +1 -1
  25. package/dist/esm/components/organisms/FieldDate/FieldDate.d.ts +1 -0
  26. package/dist/esm/components/organisms/FieldDate/FieldDate.js +9 -6
  27. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  28. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.css +6 -2
  29. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.css.map +1 -1
  30. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.d.ts +1 -0
  31. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +9 -6
  32. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  33. package/dist/esm/components/organisms/FieldSelect/FieldSelect.css +1 -7
  34. package/dist/esm/components/organisms/FieldSelect/FieldSelect.css.map +1 -1
  35. package/dist/esm/components/organisms/FieldSelect/FieldSelect.d.ts +1 -0
  36. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +5 -4
  37. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
  38. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.d.ts +1 -0
  39. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js +2 -2
  40. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js.map +1 -1
  41. package/package.json +2 -2
@@ -1337,7 +1337,7 @@
1337
1337
  font-weight: var(--rls-font-weight-medium);
1338
1338
  letter-spacing: var(--rls-label-letter-spacing);
1339
1339
  line-height: var(--pvt-text-height);
1340
- color: var(--rls-app-color-600);
1340
+ color: var(--rlc-label-checkbox-font-color, var(--rls-app-color-600));
1341
1341
  user-select: none;
1342
1342
  opacity: var(--pvt-text-opacity);
1343
1343
  }
@@ -1372,7 +1372,6 @@
1372
1372
  --pvt-text-height: auto;
1373
1373
  }
1374
1374
  .rls-label-radiobutton__component {
1375
- margin-right: var(--rls-sizing-x4);
1376
1375
  width: auto;
1377
1376
  }
1378
1377
  .rls-label-radiobutton__text {
@@ -1380,7 +1379,7 @@
1380
1379
  font-weight: var(--rls-font-weight-medium);
1381
1380
  letter-spacing: var(--rls-label-letter-spacing);
1382
1381
  line-height: var(--pvt-text-height);
1383
- color: var(--rls-app-color-600);
1382
+ color: var(--rlc-label-radiobutton-font-color, var(--rls-app-color-600));
1384
1383
  user-select: none;
1385
1384
  opacity: var(--pvt-text-opacity);
1386
1385
  }
@@ -1422,7 +1421,7 @@
1422
1421
  font-weight: var(--rls-font-weight-medium);
1423
1422
  letter-spacing: var(--rls-label-letter-spacing);
1424
1423
  line-height: var(--pvt-text-height);
1425
- color: var(--rls-app-color-600);
1424
+ color: var(--rlc-label-switch-font-color, var(--rls-app-color-600));
1426
1425
  user-select: none;
1427
1426
  opacity: var(--pvt-text-opacity);
1428
1427
  }
@@ -1937,7 +1936,7 @@
1937
1936
  } /*# sourceMappingURL=Toolbar.css.map */
1938
1937
 
1939
1938
  .rls-bottom-sheet {
1940
- --pvt-component-transform: translateY(150px) scale(0.6);
1939
+ --pvt-component-transform: translateY(100%);
1941
1940
  --pvt-component-height: 0rem;
1942
1941
  --pvt-component-opacity: 0;
1943
1942
  --pvt-component-visibility: hidden;
@@ -1955,7 +1954,7 @@
1955
1954
  --pvt-component-visibility: visible;
1956
1955
  --pvt-component-height: auto;
1957
1956
  --pvt-component-opacity: 1;
1958
- --pvt-component-transform: translateY(0) scale(1);
1957
+ --pvt-component-transform: translateY(0);
1959
1958
  --pvt-backdrop-bottom: 0rem;
1960
1959
  --pvt-backdrop-opacity: 1;
1961
1960
  visibility: visible;
@@ -1972,9 +1971,9 @@
1972
1971
  border-radius: var(--rls-sizing-x4) var(--rls-sizing-x4) 0rem 0rem;
1973
1972
  background: var(--rlc-bottom-sheet-background, var(--rls-app-color-050));
1974
1973
  transform: var(--pvt-component-transform);
1975
- transition: opacity 125ms 0ms var(--rls-deceleration-curve),
1976
- transform 125ms 0ms var(--rls-deceleration-curve),
1977
- visibility 125ms 0ms var(--rls-deceleration-curve);
1974
+ transition: opacity 240ms 0ms var(--rls-deceleration-curve),
1975
+ transform 240ms 0ms var(--rls-deceleration-curve),
1976
+ visibility 240ms 0ms var(--rls-deceleration-curve);
1978
1977
  }
1979
1978
  .rls-bottom-sheet__backdrop {
1980
1979
  position: absolute;
@@ -2177,9 +2176,6 @@
2177
2176
  .rls-field-autocomplete.rls-field-box--disabled {
2178
2177
  --pvt-control-opacity: 0.5;
2179
2178
  }
2180
- .rls-field-autocomplete .rls-field-list__control {
2181
- width: var(--pvt-control-width);
2182
- }
2183
2179
  .rls-field-autocomplete .rls-field-list__ul__search {
2184
2180
  display: flex;
2185
2181
  align-items: center;
@@ -2379,16 +2375,20 @@
2379
2375
  --rlc-fieldbox-action-dimension,
2380
2376
  var(--rls-sizing-x12)
2381
2377
  );
2378
+ --pvt-control-width: calc(100% - var(--pvt-action-dimension));
2382
2379
  position: relative;
2383
2380
  width: 100%;
2384
2381
  box-sizing: border-box;
2385
2382
  }
2383
+ .rls-field-date .rls-field-box--readonly {
2384
+ --pvt-control-width: 100%;
2385
+ }
2386
2386
  .rls-field-date .rls-field-box__body {
2387
2387
  column-gap: var(--rls-sizing-x2);
2388
2388
  }
2389
2389
  .rls-field-date__control {
2390
2390
  position: relative;
2391
- width: calc(100% - var(--pvt-action-dimension));
2391
+ width: var(--pvt-control-width);
2392
2392
  height: var(--rls-sizing-x12);
2393
2393
  line-height: var(--rls-sizing-x12);
2394
2394
  padding: 0rem;
@@ -2406,7 +2406,7 @@
2406
2406
  }
2407
2407
  .rls-field-date__control:disabled {
2408
2408
  opacity: 0.5;
2409
- pointer-events: none;
2409
+ cursor: not-allowed;
2410
2410
  }
2411
2411
  .rls-field-date__action {
2412
2412
  --rlc-icon-dimension: calc(var(--pvt-action-dimension) - 2rem);
@@ -2523,13 +2523,17 @@
2523
2523
  --rlc-fieldbox-action-dimension,
2524
2524
  var(--rls-sizing-x12)
2525
2525
  );
2526
+ --pvt-control-width: calc(100% - var(--pvt-action-dimension));
2526
2527
  position: relative;
2527
2528
  width: 100%;
2528
2529
  box-sizing: border-box;
2529
2530
  }
2531
+ .rls-field-date-range .rls-field-box--readonly {
2532
+ --pvt-control-width: 100%;
2533
+ }
2530
2534
  .rls-field-date-range__control {
2531
2535
  position: relative;
2532
- width: calc(100% - var(--pvt-action-dimension));
2536
+ width: var(--pvt-control-width);
2533
2537
  height: var(--rls-sizing-x12);
2534
2538
  line-height: var(--rls-sizing-x12);
2535
2539
  padding: 0rem;
@@ -2547,7 +2551,7 @@
2547
2551
  }
2548
2552
  .rls-field-date-range__control:disabled {
2549
2553
  opacity: 0.5;
2550
- pointer-events: none;
2554
+ cursor: not-allowed;
2551
2555
  }
2552
2556
  .rls-field-date-range__action {
2553
2557
  --rlc-icon-dimension: calc(var(--pvt-action-dimension) - 2rem);
@@ -2573,13 +2577,7 @@
2573
2577
  } /*# sourceMappingURL=FieldDateRange.css.map */
2574
2578
 
2575
2579
  .rls-field-select {
2576
- --pvt-control-cursor: pointer;
2577
- }
2578
- .rls-field-select.rls-field-box--disabled {
2579
- --pvt-control-cursor: none;
2580
- }
2581
- .rls-field-select .rls-field-list__control {
2582
- cursor: var(--pvt-control-cursor);
2580
+ --rlc-fieldlist-control-cursor: pointer;
2583
2581
  }
2584
2582
  .rls-field-select .rls-field-list__action {
2585
2583
  transition: transform 160ms 0ms var(--rls-sharp-curve);
package/dist/es/index.js CHANGED
@@ -2725,11 +2725,13 @@ function useFieldAutocomplete(props) {
2725
2725
  }
2726
2726
  }, [controller.setState, controller.navigationInput]);
2727
2727
  const onClickControl = useCallback(() => {
2728
- controller.setState({ modalIsVisible: true });
2729
- setTimeout(() => {
2730
- controller.refInput?.current?.focus();
2731
- }, DURATION_ANIMATION$1);
2732
- }, [controller.setState]);
2728
+ if (!props.readOnly) {
2729
+ controller.setState({ modalIsVisible: true });
2730
+ setTimeout(() => {
2731
+ controller.refInput?.current?.focus();
2732
+ }, DURATION_ANIMATION$1);
2733
+ }
2734
+ }, [controller.setState, props.readOnly]);
2733
2735
  const onClickAction = useCallback(() => {
2734
2736
  if (controller.value) {
2735
2737
  controller.setState({ modalIsVisible: false });
@@ -2801,7 +2803,7 @@ function useFieldAutocomplete(props) {
2801
2803
 
2802
2804
  function RlsFieldAutocompleteTemplate(props) {
2803
2805
  const autocomplete = useFieldAutocomplete(props);
2804
- const { render, children, formControl, msgErrorDisabled, onSearch, placeholder, rlsTheme, searching } = props;
2806
+ const { render, children, formControl, msgErrorDisabled, onSearch, placeholder, readOnly, rlsTheme, searching } = props;
2805
2807
  const [labels, setLabels] = useState({
2806
2808
  listEmptyDescription: reactI18n('listEmptyDescription'),
2807
2809
  listEmptyTitle: reactI18n('listEmptyTitle'),
@@ -2824,9 +2826,16 @@ function RlsFieldAutocompleteTemplate(props) {
2824
2826
  focused: autocomplete.focused && !disabled,
2825
2827
  error: formControl?.wrong,
2826
2828
  disabled,
2829
+ readonly: readOnly,
2827
2830
  selected: !!autocomplete.value
2828
2831
  }, 'rls-field-list rls-field-autocomplete');
2829
- }, [formControl?.wrong, autocomplete.value, autocomplete.focused, disabled]);
2832
+ }, [
2833
+ formControl?.wrong,
2834
+ autocomplete.value,
2835
+ autocomplete.focused,
2836
+ disabled,
2837
+ readOnly
2838
+ ]);
2830
2839
  const classNameList = useMemo(() => {
2831
2840
  return renderClassStatus('rls-field-list__suggestions', {
2832
2841
  higher: autocomplete.higher,
@@ -2843,7 +2852,7 @@ function RlsFieldAutocompleteTemplate(props) {
2843
2852
  event.key === 'Enter' && onSearch && onSearch(autocomplete.pattern);
2844
2853
  autocomplete.onKeydownInput(event);
2845
2854
  }, [autocomplete.onKeydownInput, onSearch, autocomplete.pattern]);
2846
- return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: autocomplete.refContent, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("label", { 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-list__control", readOnly: true, disabled: disabled, placeholder: placeholder, value: autocomplete.value, onClick: autocomplete.onClickControl }), jsxRuntimeExports.jsx("button", { className: "rls-field-list__action", disabled: disabled, onClick: autocomplete.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: autocomplete.value ? 'trash-2' : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: classNameList, children: [jsxRuntimeExports.jsx("div", { className: "rls-field-list__suggestions__body", children: jsxRuntimeExports.jsxs("ul", { ref: autocomplete.refList, className: "rls-field-list__ul", children: [jsxRuntimeExports.jsxs("div", { className: "rls-field-list__ul__search", children: [jsxRuntimeExports.jsx("input", { ref: autocomplete.refInput, className: "rls-field-list__ul__control", type: "text", placeholder: labels.listInputPlaceholder, value: autocomplete.pattern, onChange: onChangePattern, onFocus: autocomplete.onFocusInput, onBlur: autocomplete.onBlurInput, onKeyDown: onKeyDownPattern, disabled: disabled || searching }), onSearch && (jsxRuntimeExports.jsx("button", { disabled: disabled || searching, onClick: onClickPattern, children: jsxRuntimeExports.jsx(RlsIcon, { value: "search" }) }))] }), searching && jsxRuntimeExports.jsx(RlsProgressBar, { indeterminate: true }), autocomplete.coincidences.map((element, index) => (jsxRuntimeExports.jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: autocomplete.onClickElement(element), onKeyDown: autocomplete.onKeydownElement(element), children: render(element) }, index))), !autocomplete.coincidences.length && (jsxRuntimeExports.jsx("li", { className: "rls-field-list__empty", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-list__empty__description", children: [jsxRuntimeExports.jsx("label", { className: "rls-label-bold rls-truncate", children: labels.listEmptyTitle }), jsxRuntimeExports.jsx("p", { className: "rls-caption-regular", children: labels.listEmptyDescription })] }) }))] }) }), jsxRuntimeExports.jsx("div", { className: "rls-field-list__backdrop", onClick: autocomplete.onClickBackdrop })] })] }));
2855
+ return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: autocomplete.refContent, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("label", { 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-list__control", readOnly: true, disabled: disabled, placeholder: placeholder, value: autocomplete.value, onClick: autocomplete.onClickControl }), !readOnly && (jsxRuntimeExports.jsx("button", { className: "rls-field-list__action", disabled: disabled, onClick: autocomplete.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: autocomplete.value ? 'trash-2' : 'arrow-ios-down' }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: classNameList, children: [jsxRuntimeExports.jsx("div", { className: "rls-field-list__suggestions__body", children: jsxRuntimeExports.jsxs("ul", { ref: autocomplete.refList, className: "rls-field-list__ul", children: [jsxRuntimeExports.jsxs("div", { className: "rls-field-list__ul__search", children: [jsxRuntimeExports.jsx("input", { ref: autocomplete.refInput, className: "rls-field-list__ul__control", type: "text", placeholder: labels.listInputPlaceholder, value: autocomplete.pattern, onChange: onChangePattern, onFocus: autocomplete.onFocusInput, onBlur: autocomplete.onBlurInput, onKeyDown: onKeyDownPattern, disabled: disabled || searching }), onSearch && (jsxRuntimeExports.jsx("button", { disabled: disabled || searching, onClick: onClickPattern, children: jsxRuntimeExports.jsx(RlsIcon, { value: "search" }) }))] }), searching && jsxRuntimeExports.jsx(RlsProgressBar, { indeterminate: true }), autocomplete.coincidences.map((element, index) => (jsxRuntimeExports.jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: autocomplete.onClickElement(element), onKeyDown: autocomplete.onKeydownElement(element), children: render(element) }, index))), !autocomplete.coincidences.length && (jsxRuntimeExports.jsx("li", { className: "rls-field-list__empty", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-list__empty__description", children: [jsxRuntimeExports.jsx("label", { className: "rls-label-bold rls-truncate", children: labels.listEmptyTitle }), jsxRuntimeExports.jsx("p", { className: "rls-caption-regular", children: labels.listEmptyDescription })] }) }))] }) }), jsxRuntimeExports.jsx("div", { className: "rls-field-list__backdrop", onClick: autocomplete.onClickBackdrop })] })] }));
2847
2856
  }
2848
2857
  function RlsFieldAutocomplete(props) {
2849
2858
  const render = useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);
@@ -2936,7 +2945,7 @@ function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDat
2936
2945
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-picker-date__header", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-date__title rls-picker-date__title--description", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityDay, children: title }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__title rls-picker-date__title--year", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityYear, children: yearControl.value }) }), jsxRuntimeExports.jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: 'month', onClick: onVisibilityMonth })] }), 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: "ghost", onClick: onCancel, children: labels.dateActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--today", children: jsxRuntimeExports.jsx(RlsButton, { type: "ghost", onClick: onToday, disabled: itIsDisabledToday, children: labels.dateActionToday }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "raised", onClick: onSelect, children: labels.dateActionSelect }) })] }) }))] }));
2937
2946
  }
2938
2947
 
2939
- function RlsFieldDate({ children, date, disabled, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, rlsTheme, value: _value }) {
2948
+ function RlsFieldDate({ children, date, disabled, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: _value }) {
2940
2949
  const today = useRef(new Date()); // Initial current date in component
2941
2950
  const [value, setValue] = useState(formControl?.value ?? _value);
2942
2951
  const [modalIsVisible, setModalIsVisible] = useState(false);
@@ -2944,8 +2953,11 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2944
2953
  return formControl?.disabled || disabled;
2945
2954
  }, [formControl?.disabled, disabled]);
2946
2955
  const className = useMemo(() => {
2947
- return renderClassStatus('rls-field-box', { disabled: _disabled });
2948
- }, [_disabled]);
2956
+ return renderClassStatus('rls-field-box', {
2957
+ disabled: _disabled,
2958
+ readonly: readOnly
2959
+ });
2960
+ }, [_disabled, readOnly]);
2949
2961
  const { icon, valueInput } = useMemo(() => {
2950
2962
  return {
2951
2963
  icon: value ? 'trash-2' : 'calendar',
@@ -2962,8 +2974,8 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2962
2974
  formControl?.setValue(_date);
2963
2975
  }, []);
2964
2976
  const onClickInput = useCallback(() => {
2965
- setModalIsVisible(true);
2966
- }, []);
2977
+ !readOnly && setModalIsVisible(true);
2978
+ }, [readOnly]);
2967
2979
  const onChange = useCallback((value) => {
2968
2980
  setValue(value);
2969
2981
  onValue && onValue(value);
@@ -2983,7 +2995,7 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2983
2995
  formControl?.touch();
2984
2996
  setModalIsVisible(false);
2985
2997
  }, [formControl, onChange]);
2986
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("label", { 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 }), 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 }) })] }));
2998
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("label", { 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 }) })] }));
2987
2999
  }
2988
3000
 
2989
3001
  function rangeFormatTemplate({ maxDate, minDate }) {
@@ -3061,7 +3073,7 @@ function RlsPickerDateRange({ automatic, date: _picker, disabled, formControl, m
3061
3073
  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("div", { className: "rls-picker-date-range__title rls-picker-date-range__title--description", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityDay, children: title }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__title rls-picker-date-range__title--year", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityYear, children: yearControl.value }) }), jsxRuntimeExports.jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: date, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: visibility === 'MONTH' ? 'year' : 'month', onClick: onVisibilityMonth })] }), 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: "ghost", onClick: onCancel, children: labels.dateActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "raised", onClick: onSelect, children: labels.dateActionSelect }) })] }) })] }));
3062
3074
  }
3063
3075
 
3064
- function RlsFieldDateRange({ children, date: _date, disabled, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, rlsTheme, value: _value }) {
3076
+ function RlsFieldDateRange({ children, date: _date, disabled, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: _value }) {
3065
3077
  const currentDate = useMemo(() => _date ?? new Date(), [_date]);
3066
3078
  const [value, setValue] = useState(formControl?.value || _value);
3067
3079
  const [modalIsVisible, setModalIsVisible] = useState(false);
@@ -3069,8 +3081,11 @@ function RlsFieldDateRange({ children, date: _date, disabled, formControl, ident
3069
3081
  return formControl?.disabled || disabled;
3070
3082
  }, [formControl?.disabled, disabled]);
3071
3083
  const className = useMemo(() => {
3072
- return renderClassStatus('rls-field-box', { disabled: _disabled });
3073
- }, [_disabled]);
3084
+ return renderClassStatus('rls-field-box', {
3085
+ disabled: _disabled,
3086
+ readonly: readOnly
3087
+ });
3088
+ }, [_disabled, readOnly]);
3074
3089
  const { icon, valueInput } = useMemo(() => {
3075
3090
  return {
3076
3091
  icon: value ? 'trash-2' : 'calendar',
@@ -3078,8 +3093,8 @@ function RlsFieldDateRange({ children, date: _date, disabled, formControl, ident
3078
3093
  };
3079
3094
  }, [value]);
3080
3095
  const onClickInput = useCallback(() => {
3081
- setModalIsVisible(true);
3082
- }, []);
3096
+ !readOnly && setModalIsVisible(true);
3097
+ }, [readOnly]);
3083
3098
  const onChange = useCallback((value) => {
3084
3099
  setValue(value);
3085
3100
  onValue && onValue(value);
@@ -3099,7 +3114,7 @@ function RlsFieldDateRange({ children, date: _date, disabled, formControl, ident
3099
3114
  formControl?.touch();
3100
3115
  setModalIsVisible(false);
3101
3116
  }, [formControl, onChange]);
3102
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("label", { 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 }), 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 }) })] }));
3117
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children && jsxRuntimeExports.jsx("label", { 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 }) })] }));
3103
3118
  }
3104
3119
 
3105
3120
  function useFieldSelect(props) {
@@ -3121,8 +3136,8 @@ function useFieldSelect(props) {
3121
3136
  controller.setState({ focused: false });
3122
3137
  }, [controller.setState]);
3123
3138
  const onClickInput = useCallback(() => {
3124
- controller.setState({ modalIsVisible: true });
3125
- }, [controller.setState]);
3139
+ !props.readOnly && controller.setState({ modalIsVisible: true });
3140
+ }, [controller.setState, props.readOnly]);
3126
3141
  const onKeydownInput = useCallback((event) => {
3127
3142
  switch (event.code) {
3128
3143
  case 'Space':
@@ -3206,7 +3221,7 @@ function useFieldSelect(props) {
3206
3221
 
3207
3222
  function RlsFieldSelectTemplate(props) {
3208
3223
  const select = useFieldSelect(props);
3209
- const { render, suggestions, children, formControl, msgErrorDisabled, placeholder, rlsTheme, unremovable } = props;
3224
+ const { render, suggestions, children, formControl, msgErrorDisabled, placeholder, readOnly, rlsTheme, unremovable } = props;
3210
3225
  const [labels, setLabels] = useState({
3211
3226
  listEmptyDescription: reactI18n('listEmptyDescription'),
3212
3227
  listEmptyTitle: reactI18n('listEmptyTitle')
@@ -3226,16 +3241,17 @@ function RlsFieldSelectTemplate(props) {
3226
3241
  return renderClassStatus('rls-field-box', {
3227
3242
  focused: select.focused && !disabled,
3228
3243
  error: formControl?.wrong,
3229
- disabled: disabled
3244
+ disabled: disabled,
3245
+ readonly: readOnly
3230
3246
  }, 'rls-field-list rls-field-select');
3231
- }, [formControl?.wrong, select.focused, disabled]);
3247
+ }, [formControl?.wrong, select.focused, disabled, readOnly]);
3232
3248
  const classNameList = useMemo(() => {
3233
3249
  return renderClassStatus('rls-field-list__suggestions', {
3234
3250
  higher: select.higher,
3235
3251
  visible: select.modalIsVisible
3236
3252
  });
3237
3253
  }, [select.modalIsVisible, select.higher]);
3238
- return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: select.refContent, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("label", { 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", { ref: select.refInput, className: "rls-field-list__control", readOnly: true, placeholder: placeholder, value: select.value, onFocus: select.onFocusInput, onBlur: select.onBlurInput, onClick: select.onClickInput, onKeyDown: select.onKeydownInput, disabled: disabled }), jsxRuntimeExports.jsx("button", { className: 'rls-field-list__action', disabled: disabled, onClick: select.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: !unremovable && !!select.value ? 'close' : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: classNameList, children: [jsxRuntimeExports.jsx("div", { className: "rls-field-list__suggestions__body", children: jsxRuntimeExports.jsxs("ul", { ref: select.refList, className: "rls-field-list__ul", children: [suggestions.map((element, index) => (jsxRuntimeExports.jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: select.onClickElement(element), onKeyDown: select.onKeydownElement(element), children: render(element) }, index))), !suggestions.length && (jsxRuntimeExports.jsx("li", { className: "rls-field-list__empty", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-list__empty__description", children: [jsxRuntimeExports.jsx("label", { className: "rls-label-bold rls-truncate", children: labels.listEmptyTitle }), jsxRuntimeExports.jsx("p", { className: "rls-caption-regular", children: labels.listEmptyDescription })] }) }))] }) }), jsxRuntimeExports.jsx("div", { className: "rls-field-list__backdrop", onClick: select.onClickBackdrop })] })] }));
3254
+ return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: select.refContent, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("label", { 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", { ref: select.refInput, className: "rls-field-list__control", readOnly: true, placeholder: placeholder, value: select.value, onFocus: select.onFocusInput, onBlur: select.onBlurInput, onClick: select.onClickInput, onKeyDown: select.onKeydownInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx("button", { className: 'rls-field-list__action', disabled: disabled, onClick: select.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: !unremovable && !!select.value ? 'close' : 'arrow-ios-down' }) }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: classNameList, children: [jsxRuntimeExports.jsx("div", { className: "rls-field-list__suggestions__body", children: jsxRuntimeExports.jsxs("ul", { ref: select.refList, className: "rls-field-list__ul", children: [suggestions.map((element, index) => (jsxRuntimeExports.jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: select.onClickElement(element), onKeyDown: select.onKeydownElement(element), children: render(element) }, index))), !suggestions.length && (jsxRuntimeExports.jsx("li", { className: "rls-field-list__empty", children: jsxRuntimeExports.jsxs("div", { className: "rls-field-list__empty__description", children: [jsxRuntimeExports.jsx("label", { className: "rls-label-bold rls-truncate", children: labels.listEmptyTitle }), jsxRuntimeExports.jsx("p", { className: "rls-caption-regular", children: labels.listEmptyDescription })] }) }))] }) }), jsxRuntimeExports.jsx("div", { className: "rls-field-list__backdrop", onClick: select.onClickBackdrop })] })] }));
3239
3255
  }
3240
3256
  function RlsFieldSelect(props) {
3241
3257
  const render = useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);