@rolster/react-components 18.24.8 → 18.24.10

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-BYLoD6-3.css → index-DifHthQZ.css} +32 -22
  2. package/dist/cjs/index.js +42 -26
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-BYLoD6-3.css → index-DifHthQZ.css} +32 -22
  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 -1
  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 +16 -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
  }
@@ -1379,7 +1379,7 @@
1379
1379
  font-weight: var(--rls-font-weight-medium);
1380
1380
  letter-spacing: var(--rls-label-letter-spacing);
1381
1381
  line-height: var(--pvt-text-height);
1382
- color: var(--rls-app-color-600);
1382
+ color: var(--rlc-label-radiobutton-font-color, var(--rls-app-color-600));
1383
1383
  user-select: none;
1384
1384
  opacity: var(--pvt-text-opacity);
1385
1385
  }
@@ -1421,7 +1421,7 @@
1421
1421
  font-weight: var(--rls-font-weight-medium);
1422
1422
  letter-spacing: var(--rls-label-letter-spacing);
1423
1423
  line-height: var(--pvt-text-height);
1424
- color: var(--rls-app-color-600);
1424
+ color: var(--rlc-label-switch-font-color, var(--rls-app-color-600));
1425
1425
  user-select: none;
1426
1426
  opacity: var(--pvt-text-opacity);
1427
1427
  }
@@ -1936,7 +1936,7 @@
1936
1936
  } /*# sourceMappingURL=Toolbar.css.map */
1937
1937
 
1938
1938
  .rls-bottom-sheet {
1939
- --pvt-component-transform: translateY(150px) scale(0.6);
1939
+ --pvt-component-transform: translateY(100%);
1940
1940
  --pvt-component-height: 0rem;
1941
1941
  --pvt-component-opacity: 0;
1942
1942
  --pvt-component-visibility: hidden;
@@ -1954,26 +1954,37 @@
1954
1954
  --pvt-component-visibility: visible;
1955
1955
  --pvt-component-height: auto;
1956
1956
  --pvt-component-opacity: 1;
1957
- --pvt-component-transform: translateY(0) scale(1);
1957
+ --pvt-component-transform: translateY(0);
1958
1958
  --pvt-backdrop-bottom: 0rem;
1959
1959
  --pvt-backdrop-opacity: 1;
1960
1960
  visibility: visible;
1961
1961
  }
1962
1962
  .rls-bottom-sheet__component {
1963
1963
  position: absolute;
1964
+ display: flex;
1964
1965
  bottom: 0px;
1965
1966
  width: 100%;
1966
1967
  max-width: 240rem;
1967
1968
  max-height: 75%;
1969
+ flex-direction: column;
1968
1970
  opacity: var(--pvt-component-opacity);
1969
1971
  visibility: var(--pvt-component-visibility);
1970
1972
  z-index: var(--rls-z-index-2);
1971
1973
  border-radius: var(--rls-sizing-x4) var(--rls-sizing-x4) 0rem 0rem;
1972
1974
  background: var(--rlc-bottom-sheet-background, var(--rls-app-color-050));
1973
1975
  transform: var(--pvt-component-transform);
1974
- transition: opacity 125ms 0ms var(--rls-deceleration-curve),
1975
- transform 125ms 0ms var(--rls-deceleration-curve),
1976
- visibility 125ms 0ms var(--rls-deceleration-curve);
1976
+ transition: opacity 240ms 0ms var(--rls-deceleration-curve),
1977
+ transform 240ms 0ms var(--rls-deceleration-curve),
1978
+ visibility 240ms 0ms var(--rls-deceleration-curve);
1979
+ }
1980
+ .rls-bottom-sheet__component::before {
1981
+ display: block;
1982
+ content: '';
1983
+ width: var(--rls-sizing-x24);
1984
+ height: var(--rls-sizing-x2);
1985
+ border-radius: var(--rls-sizing-x2);
1986
+ background: var(--rls-app-color-600);
1987
+ margin: var(--rls-sizing-x3) auto;
1977
1988
  }
1978
1989
  .rls-bottom-sheet__backdrop {
1979
1990
  position: absolute;
@@ -2176,9 +2187,6 @@
2176
2187
  .rls-field-autocomplete.rls-field-box--disabled {
2177
2188
  --pvt-control-opacity: 0.5;
2178
2189
  }
2179
- .rls-field-autocomplete .rls-field-list__control {
2180
- width: var(--pvt-control-width);
2181
- }
2182
2190
  .rls-field-autocomplete .rls-field-list__ul__search {
2183
2191
  display: flex;
2184
2192
  align-items: center;
@@ -2378,16 +2386,20 @@
2378
2386
  --rlc-fieldbox-action-dimension,
2379
2387
  var(--rls-sizing-x12)
2380
2388
  );
2389
+ --pvt-control-width: calc(100% - var(--pvt-action-dimension));
2381
2390
  position: relative;
2382
2391
  width: 100%;
2383
2392
  box-sizing: border-box;
2384
2393
  }
2394
+ .rls-field-date .rls-field-box--readonly {
2395
+ --pvt-control-width: 100%;
2396
+ }
2385
2397
  .rls-field-date .rls-field-box__body {
2386
2398
  column-gap: var(--rls-sizing-x2);
2387
2399
  }
2388
2400
  .rls-field-date__control {
2389
2401
  position: relative;
2390
- width: calc(100% - var(--pvt-action-dimension));
2402
+ width: var(--pvt-control-width);
2391
2403
  height: var(--rls-sizing-x12);
2392
2404
  line-height: var(--rls-sizing-x12);
2393
2405
  padding: 0rem;
@@ -2405,7 +2417,7 @@
2405
2417
  }
2406
2418
  .rls-field-date__control:disabled {
2407
2419
  opacity: 0.5;
2408
- pointer-events: none;
2420
+ cursor: not-allowed;
2409
2421
  }
2410
2422
  .rls-field-date__action {
2411
2423
  --rlc-icon-dimension: calc(var(--pvt-action-dimension) - 2rem);
@@ -2522,13 +2534,17 @@
2522
2534
  --rlc-fieldbox-action-dimension,
2523
2535
  var(--rls-sizing-x12)
2524
2536
  );
2537
+ --pvt-control-width: calc(100% - var(--pvt-action-dimension));
2525
2538
  position: relative;
2526
2539
  width: 100%;
2527
2540
  box-sizing: border-box;
2528
2541
  }
2542
+ .rls-field-date-range .rls-field-box--readonly {
2543
+ --pvt-control-width: 100%;
2544
+ }
2529
2545
  .rls-field-date-range__control {
2530
2546
  position: relative;
2531
- width: calc(100% - var(--pvt-action-dimension));
2547
+ width: var(--pvt-control-width);
2532
2548
  height: var(--rls-sizing-x12);
2533
2549
  line-height: var(--rls-sizing-x12);
2534
2550
  padding: 0rem;
@@ -2546,7 +2562,7 @@
2546
2562
  }
2547
2563
  .rls-field-date-range__control:disabled {
2548
2564
  opacity: 0.5;
2549
- pointer-events: none;
2565
+ cursor: not-allowed;
2550
2566
  }
2551
2567
  .rls-field-date-range__action {
2552
2568
  --rlc-icon-dimension: calc(var(--pvt-action-dimension) - 2rem);
@@ -2572,13 +2588,7 @@
2572
2588
  } /*# sourceMappingURL=FieldDateRange.css.map */
2573
2589
 
2574
2590
  .rls-field-select {
2575
- --pvt-control-cursor: pointer;
2576
- }
2577
- .rls-field-select.rls-field-box--disabled {
2578
- --pvt-control-cursor: none;
2579
- }
2580
- .rls-field-select .rls-field-list__control {
2581
- cursor: var(--pvt-control-cursor);
2591
+ --rlc-fieldlist-control-cursor: pointer;
2582
2592
  }
2583
2593
  .rls-field-select .rls-field-list__action {
2584
2594
  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 }) })), []);