@rolster/react-components 18.25.0 → 18.25.2

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 (64) hide show
  1. package/dist/cjs/assets/{index-A_JkPXhq.css → index-B6PshrCZ.css} +144 -5
  2. package/dist/cjs/index.js +78 -22
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-A_JkPXhq.css → index-B6PshrCZ.css} +144 -5
  5. package/dist/es/index.js +77 -24
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/esm/components/atoms/Input/Input.js +3 -3
  8. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  9. package/dist/esm/components/atoms/InputDouble/InputDouble.css +11 -0
  10. package/dist/esm/components/atoms/InputDouble/InputDouble.css.map +1 -0
  11. package/dist/esm/components/atoms/InputDouble/InputDouble.d.ts +9 -0
  12. package/dist/esm/components/atoms/InputDouble/InputDouble.js +21 -0
  13. package/dist/esm/components/atoms/InputDouble/InputDouble.js.map +1 -0
  14. package/dist/esm/components/atoms/InputSearch/InputSearch.css +7 -0
  15. package/dist/esm/components/atoms/InputSearch/InputSearch.css.map +1 -1
  16. package/dist/esm/components/atoms/InputSearch/InputSearch.d.ts +2 -1
  17. package/dist/esm/components/atoms/InputSearch/InputSearch.js +7 -3
  18. package/dist/esm/components/atoms/InputSearch/InputSearch.js.map +1 -1
  19. package/dist/esm/components/molecules/FieldDouble/FieldDouble.css +6 -0
  20. package/dist/esm/components/molecules/FieldDouble/FieldDouble.css.map +1 -0
  21. package/dist/esm/components/molecules/FieldDouble/FieldDouble.d.ts +9 -0
  22. package/dist/esm/components/molecules/FieldDouble/FieldDouble.js +24 -0
  23. package/dist/esm/components/molecules/FieldDouble/FieldDouble.js.map +1 -0
  24. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js +1 -1
  25. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js.map +1 -1
  26. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js +1 -1
  27. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js.map +1 -1
  28. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js +1 -1
  29. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js.map +1 -1
  30. package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.js +1 -1
  31. package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.js.map +1 -1
  32. package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.js +1 -1
  33. package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.js.map +1 -1
  34. package/dist/esm/components/molecules/FieldText/FieldText.js +1 -1
  35. package/dist/esm/components/molecules/FieldText/FieldText.js.map +1 -1
  36. package/dist/esm/components/organisms/BottomSheet/BottomSheet.css +9 -2
  37. package/dist/esm/components/organisms/BottomSheet/BottomSheet.css.map +1 -1
  38. package/dist/esm/components/organisms/BottomSheet/BottomSheet.d.ts +2 -1
  39. package/dist/esm/components/organisms/BottomSheet/BottomSheet.js +6 -3
  40. package/dist/esm/components/organisms/BottomSheet/BottomSheet.js.map +1 -1
  41. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.d.ts +1 -0
  42. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +3 -2
  43. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
  44. package/dist/esm/components/organisms/FieldDate/FieldDate.js +1 -1
  45. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  46. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +1 -1
  47. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  48. package/dist/esm/components/organisms/FieldSelect/FieldSelect.d.ts +1 -0
  49. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +3 -3
  50. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
  51. package/dist/esm/components/organisms/Modal/Modal.css +5 -3
  52. package/dist/esm/components/organisms/Modal/Modal.css.map +1 -1
  53. package/dist/esm/components/organisms/Modal/Modal.d.ts +2 -1
  54. package/dist/esm/components/organisms/Modal/Modal.js +6 -3
  55. package/dist/esm/components/organisms/Modal/Modal.js.map +1 -1
  56. package/dist/esm/components/organisms/ModalSheet/ModalSheet.css +103 -0
  57. package/dist/esm/components/organisms/ModalSheet/ModalSheet.css.map +1 -0
  58. package/dist/esm/components/organisms/ModalSheet/ModalSheet.d.ts +9 -0
  59. package/dist/esm/components/organisms/ModalSheet/ModalSheet.js +15 -0
  60. package/dist/esm/components/organisms/ModalSheet/ModalSheet.js.map +1 -0
  61. package/dist/esm/index.d.ts +3 -0
  62. package/dist/esm/index.js +3 -0
  63. package/dist/esm/index.js.map +1 -1
  64. package/package.json +3 -3
@@ -669,6 +669,18 @@
669
669
  letter-spacing: var(--pvt-letter-spacing);
670
670
  } /*# sourceMappingURL=Input.css.map */
671
671
 
672
+ .rls-input-double {
673
+ --rlc-tabular-text-font-size: var(--rls-input-font-size);
674
+ --rlc-tabular-text-char-width: 5.25rem;
675
+ position: relative;
676
+ width: 100%;
677
+ box-sizing: border-box;
678
+ }
679
+ .rls-input-double .rls-amount {
680
+ height: inherit;
681
+ align-items: center;
682
+ } /*# sourceMappingURL=InputDouble.css.map */
683
+
672
684
  .rls-input-money {
673
685
  --rlc-tabular-text-font-size: var(--rls-input-font-size);
674
686
  --rlc-tabular-text-char-width: 5.25rem;
@@ -739,6 +751,13 @@
739
751
  box-sizing: border-box;
740
752
  background: var(--rlc-input-search-background, var(--rls-app-color-100));
741
753
  border-radius: var(--rls-sizing-x4);
754
+ }
755
+ .rls-input-search--disabled {
756
+ opacity: 0.5;
757
+ }
758
+ .rls-input-search .rls-input__component:disabled,
759
+ .rls-input-search .rls-button-action:disabled {
760
+ opacity: 1 !important;
742
761
  } /*# sourceMappingURL=InputSearch.css.map */
743
762
 
744
763
  .rls-input-text {
@@ -1247,6 +1266,13 @@
1247
1266
  color: var(--rls-app-color-900);
1248
1267
  } /*# sourceMappingURL=ButtonToggle.css.map */
1249
1268
 
1269
+ .rls-field-double {
1270
+ --rlc-fieldbox-body-padding: var(--rls-sizing-x4);
1271
+ position: relative;
1272
+ width: 100%;
1273
+ box-sizing: border-box;
1274
+ } /*# sourceMappingURL=FieldDouble.css.map */
1275
+
1250
1276
  .rls-field-money {
1251
1277
  --rlc-fieldbox-body-padding: var(--rls-sizing-x4);
1252
1278
  position: relative;
@@ -1969,10 +1995,12 @@
1969
1995
  --pvt-backdrop-opacity: 0;
1970
1996
  --pvt-backdrop-bottom: initial;
1971
1997
  position: fixed;
1998
+ display: flex;
1972
1999
  top: 0rem;
1973
2000
  left: 0rem;
1974
2001
  width: 100%;
1975
2002
  height: 100%;
2003
+ justify-content: center;
1976
2004
  z-index: var(--rls-z-index-24);
1977
2005
  visibility: hidden;
1978
2006
  }
@@ -2028,12 +2056,17 @@
2028
2056
  }
2029
2057
  @media screen and (max-height: 960px) {
2030
2058
  .rls-bottom-sheet {
2031
- --pvt-component-max-height: calc(100% - 48rem);
2059
+ --pvt-component-max-height: calc(100% - 32rem);
2032
2060
  }
2033
2061
  }
2034
2062
  @media screen and (max-height: 720px) {
2035
2063
  .rls-bottom-sheet {
2036
- --pvt-component-max-height: calc(100% - 32rem);
2064
+ --pvt-component-max-height: calc(100% - 24rem);
2065
+ }
2066
+ }
2067
+ @media screen and (max-height: 560px) {
2068
+ .rls-bottom-sheet {
2069
+ --pvt-component-max-height: calc(100% - 16rem);
2037
2070
  }
2038
2071
  } /*# sourceMappingURL=BottomSheet.css.map */
2039
2072
 
@@ -2304,17 +2337,19 @@
2304
2337
  }
2305
2338
  .rls-modal__component {
2306
2339
  position: absolute;
2340
+ display: flex;
2307
2341
  max-width: var(--rlc-modal-max-width, calc(100% - var(--rls-sizing-x8)));
2308
2342
  height: var(--pvt-component-height);
2343
+ flex-direction: column;
2309
2344
  opacity: var(--pvt-component-opacity);
2310
2345
  visibility: var(--pvt-component-visibility);
2311
2346
  z-index: var(--rls-z-index-2);
2312
2347
  border-radius: var(--rls-sizing-x4);
2313
2348
  background: var(--rlc-modal-background, var(--rls-app-color-050));
2314
2349
  transform: var(--pvt-component-transform);
2315
- transition: opacity 125ms 0ms var(--rls-deceleration-curve),
2316
- transform 125ms 0ms var(--rls-deceleration-curve),
2317
- visibility 125ms 0ms var(--rls-deceleration-curve);
2350
+ transition: opacity 160ms 0ms var(--rls-deceleration-curve),
2351
+ transform 160ms 0ms var(--rls-deceleration-curve),
2352
+ visibility 160ms 0ms var(--rls-deceleration-curve);
2318
2353
  }
2319
2354
  .rls-modal__backdrop {
2320
2355
  position: absolute;
@@ -2813,6 +2848,110 @@
2813
2848
  }
2814
2849
  } /*# sourceMappingURL=ImageChooser.css.map */
2815
2850
 
2851
+ .rls-modal-sheet {
2852
+ --pvt-component-transform: translateY(150px) scale(0.6);
2853
+ --pvt-component-transform-visible: translateY(0) scale(1);
2854
+ --pvt-component-bottom: initial;
2855
+ --pvt-component-max-width: var(
2856
+ --rlc-modal-sheet-max-width,
2857
+ calc(100% - var(--rls-sizing-x8))
2858
+ );
2859
+ --pvt-component-height: 0rem;
2860
+ --pvt-component-max-height: initial;
2861
+ --pvt-component-border-radius: var(--rls-sizing-x4);
2862
+ --pvt-component-opacity: 0;
2863
+ --pvt-component-visibility: hidden;
2864
+ --pvt-backdrop-opacity: 0;
2865
+ --pvt-backdrop-bottom: initial;
2866
+ position: fixed;
2867
+ display: flex;
2868
+ top: 0rem;
2869
+ left: 0rem;
2870
+ width: 100%;
2871
+ height: 100%;
2872
+ z-index: var(--rls-z-index-24);
2873
+ visibility: hidden;
2874
+ align-items: center;
2875
+ justify-content: center;
2876
+ }
2877
+ .rls-modal-sheet--visible {
2878
+ --pvt-component-visibility: visible;
2879
+ --pvt-component-height: auto;
2880
+ --pvt-component-opacity: 1;
2881
+ --pvt-component-transform: var(--pvt-component-transform-visible);
2882
+ --pvt-backdrop-bottom: 0rem;
2883
+ --pvt-backdrop-opacity: 1;
2884
+ visibility: visible;
2885
+ }
2886
+ .rls-modal-sheet__component {
2887
+ position: absolute;
2888
+ display: flex;
2889
+ bottom: var(--pvt-component-bottom);
2890
+ max-width: var(--pvt-component-max-width);
2891
+ height: var(--pvt-component-height);
2892
+ max-height: var(--pvt-component-max-height);
2893
+ flex-direction: column;
2894
+ opacity: var(--pvt-component-opacity);
2895
+ visibility: var(--pvt-component-visibility);
2896
+ z-index: var(--rls-z-index-2);
2897
+ border-radius: var(--pvt-component-border-radius);
2898
+ background: var(--rlc-modal-sheet-background, var(--rls-app-color-050));
2899
+ transform: var(--pvt-component-transform);
2900
+ transition: opacity 125ms 0ms var(--rls-deceleration-curve),
2901
+ transform 125ms 0ms var(--rls-deceleration-curve),
2902
+ visibility 125ms 0ms var(--rls-deceleration-curve);
2903
+ }
2904
+ .rls-modal-sheet__backdrop {
2905
+ position: absolute;
2906
+ display: block;
2907
+ top: 0rem;
2908
+ left: 0rem;
2909
+ right: 0rem;
2910
+ bottom: var(--pvt-backdrop-bottom);
2911
+ opacity: var(--pvt-backdrop-opacity);
2912
+ z-index: 1;
2913
+ background: var(--rls-theme-backdrop-900);
2914
+ backdrop-filter: blur(2px);
2915
+ transition: opacity 120ms 0ms var(--rls-deceleration-curve),
2916
+ bottom 120ms 0ms var(--rls-deceleration-curve);
2917
+ }
2918
+ @media screen and (max-width: 640px) and (max-height: 960px) {
2919
+ .rls-modal-sheet {
2920
+ --pvt-component-max-height: calc(100% - 32rem);
2921
+ }
2922
+ }
2923
+ @media screen and (max-width: 640px) and (max-height: 720px) {
2924
+ .rls-modal-sheet {
2925
+ --pvt-component-max-height: calc(100% - 24rem);
2926
+ }
2927
+ }
2928
+ @media screen and (max-width: 640px) and (max-height: 560px) {
2929
+ .rls-modal-sheet {
2930
+ --pvt-component-max-height: calc(100% - 16rem);
2931
+ }
2932
+ }
2933
+ @media screen and (max-width: 640px) {
2934
+ .rls-modal-sheet {
2935
+ --pvt-component-transform: translateY(100%);
2936
+ --pvt-component-transform-visible: translateY(0);
2937
+ --pvt-component-bottom: 0px;
2938
+ --pvt-component-max-width: 240rem;
2939
+ --pvt-component-max-height: 75%;
2940
+ --pvt-component-border-radius: var(--rls-sizing-x4) var(--rls-sizing-x4)
2941
+ 0rem 0rem;
2942
+ align-items: initial;
2943
+ }
2944
+ .rls-modal-sheet__component::before {
2945
+ display: block;
2946
+ content: '';
2947
+ width: var(--rls-sizing-x24);
2948
+ height: var(--rls-sizing-x2);
2949
+ border-radius: var(--rls-sizing-x2);
2950
+ background: var(--rls-app-color-300);
2951
+ margin: var(--rls-sizing-x3) auto;
2952
+ }
2953
+ } /*# sourceMappingURL=ModalSheet.css.map */
2954
+
2816
2955
  .rls-snackbar {
2817
2956
  position: fixed;
2818
2957
  display: flex;
package/dist/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import require$$0, { useMemo, useCallback, useState, useRef, useEffect, createContext } from 'react';
2
- import { currencyFormat, valueIsDefined, PartialSealed } from '@rolster/commons';
2
+ import { currencyFormat, Double, valueIsDefined, PartialSealed } from '@rolster/commons';
3
3
  import { i18n, i18nSubscribe } from '@rolster/i18n';
4
4
  import { PaginationController, verifyDayPicker, createDayPicker, createDayRangePicker, verifyMonthPicker, createMonthPicker, monthLimitTemplate, createYearPicker, verifyYearPicker, ListCollection, locationListCanTop, navigationListFromInput, navigationListFromElement, createAutocompleteStore, dateOutRange, verifyDateRange, PickerListenerEvent } from '@rolster/components';
5
5
  import { DAY_LABELS, DateRange, normalizeMinTime, assignDayInDate, dateIsBefore, dateFormatTemplate, MONTH_NAMES, Month, assignYearInDate, assignMonthInDate } from '@rolster/dates';
@@ -1474,9 +1474,9 @@ function RlsInput({ children, decimals, disabled, formControl, identifier, onBlu
1474
1474
  const [focused, setFocused] = useState(false);
1475
1475
  const isChangeInternal = useRef(false);
1476
1476
  useEffect(() => {
1477
- if (!isChangeInternal.current) {
1478
- const control = formControl?.value ? String(formControl.value) : '';
1479
- valueInput !== control && setValueInput(control);
1477
+ if (!isChangeInternal.current && formControl) {
1478
+ const valueControl = formControl.value ? String(formControl.value) : '';
1479
+ valueInput !== valueControl && setValueInput(valueControl);
1480
1480
  }
1481
1481
  isChangeInternal.current = false;
1482
1482
  }, [formControl?.value]);
@@ -1516,6 +1516,21 @@ function RlsInput({ children, decimals, disabled, formControl, identifier, onBlu
1516
1516
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, children: [jsxRuntimeExports.jsx("input", { ref: formControl?.elementRef, className: "rls-input__component", autoComplete: "off", type: type ?? 'text', placeholder: placeholder, disabled: formControl?.disabled || disabled, readOnly: readOnly, onFocus: _onFocus, onBlur: _onBlur, onChange: _onChange, onKeyDown: _onKeyDown, onKeyUp: _onKeyUp, value: valueInput }), jsxRuntimeExports.jsx("span", { className: "rls-input__value", children: children })] }));
1517
1517
  }
1518
1518
 
1519
+ function RlsInputDouble(props) {
1520
+ const { decimals, formControl, identifier, onValue, symbol, value } = props;
1521
+ const [valueInput, setValueInput] = useState((formControl?.value ?? value ?? Double.zero()).fixed);
1522
+ const amount = useMemo(() => {
1523
+ return formControl?.value?.fixed ?? valueInput;
1524
+ }, [formControl?.value, valueInput]);
1525
+ const onValueInput = useCallback((value) => {
1526
+ const valueDouble = Double.create(value);
1527
+ formControl ? formControl.setValue(valueDouble) : setValueInput(value);
1528
+ onValue && onValue(valueDouble);
1529
+ }, [formControl, onValue]);
1530
+ const doubleProps = { ...props, formControl: undefined };
1531
+ return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-double", children: jsxRuntimeExports.jsx(RlsInput, { ...doubleProps, type: "number", value: valueInput, onValue: onValueInput, children: jsxRuntimeExports.jsx(RlsAmount, { value: amount, symbol: symbol, decimals: decimals }) }) }));
1532
+ }
1533
+
1519
1534
  function RlsInputMoney(props) {
1520
1535
  const { decimals, formControl, identifier, onValue, symbol, value } = props;
1521
1536
  const [valueInput, setValueInput] = useState(formControl?.value ?? value ?? 0);
@@ -1576,12 +1591,15 @@ function RlsInputPercentage(props) {
1576
1591
  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, "%"] }) }));
1577
1592
  }
1578
1593
 
1579
- function RlsInputSearch({ formControl, identifier, onEnter, onSearch, placeholder }) {
1594
+ function RlsInputSearch({ formControl, disabled, identifier, onEnter, onSearch, placeholder }) {
1580
1595
  const [value, setValue] = useState('');
1596
+ const className = useMemo(() => {
1597
+ return renderClassStatus('rls-input-search', { disabled });
1598
+ }, [disabled]);
1581
1599
  const onValue = useCallback((value) => {
1582
1600
  !formControl && setValue(() => value);
1583
1601
  }, [formControl]);
1584
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-input-search", children: [jsxRuntimeExports.jsx(RlsInput, { formControl: formControl, placeholder: placeholder, onEnter: onEnter, onValue: onValue, children: formControl?.value ?? value }), onSearch && jsxRuntimeExports.jsx(RlsButtonAction, { icon: "search", onClick: onSearch })] }));
1602
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, children: [jsxRuntimeExports.jsx(RlsInput, { formControl: formControl, placeholder: placeholder, onEnter: onEnter, onValue: onValue, disabled: disabled, children: formControl?.value ?? value }), onSearch && (jsxRuntimeExports.jsx(RlsButtonAction, { icon: "search", onClick: onSearch, disabled: disabled }))] }));
1585
1603
  }
1586
1604
 
1587
1605
  function RlsInputText(props) {
@@ -1819,6 +1837,24 @@ function RlsMessageFormError({ className, formControl }) {
1819
1837
  return (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: formControl?.wrong && (jsxRuntimeExports.jsx("div", { className: className, children: jsxRuntimeExports.jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: msgError }) })) }));
1820
1838
  }
1821
1839
 
1840
+ function RlsFieldDouble(props) {
1841
+ const { children, disabled, formControl, identifier, msgErrorDisabled, rlsTheme } = props;
1842
+ const className = useMemo(() => {
1843
+ const _disabled = formControl?.disabled || disabled;
1844
+ return renderClassStatus('rls-field-box', {
1845
+ focused: formControl?.focused && !_disabled,
1846
+ error: formControl?.wrong,
1847
+ disabled: _disabled
1848
+ }, 'rls-field-double');
1849
+ }, [
1850
+ formControl?.focused,
1851
+ formControl?.wrong,
1852
+ formControl?.disabled,
1853
+ disabled
1854
+ ]);
1855
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputDouble, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1856
+ }
1857
+
1822
1858
  function RlsFieldMoney(props) {
1823
1859
  const { children, disabled, formControl, identifier, msgErrorDisabled, rlsTheme } = props;
1824
1860
  const className = useMemo(() => {
@@ -1834,7 +1870,7 @@ function RlsFieldMoney(props) {
1834
1870
  formControl?.disabled,
1835
1871
  disabled
1836
1872
  ]);
1837
- return (jsxRuntimeExports.jsxs("div", { id: identifier, 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.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputMoney, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1873
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputMoney, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1838
1874
  }
1839
1875
 
1840
1876
  function RlsFieldNumber(props) {
@@ -1852,7 +1888,7 @@ function RlsFieldNumber(props) {
1852
1888
  formControl?.disabled,
1853
1889
  disabled
1854
1890
  ]);
1855
- return (jsxRuntimeExports.jsxs("div", { id: identifier, 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.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputNumber, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1891
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputNumber, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1856
1892
  }
1857
1893
 
1858
1894
  function RlsFieldPassword(props) {
@@ -1874,7 +1910,7 @@ function RlsFieldPassword(props) {
1874
1910
  formControl?.disabled,
1875
1911
  disabled
1876
1912
  ]);
1877
- return (jsxRuntimeExports.jsxs("div", { id: identifier, 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(RlsInputPassword, { ...props, type: password ? 'password' : 'text' }), jsxRuntimeExports.jsx(RlsButtonAction, { icon: password ? 'eye' : 'eye-off', onClick: onToggleInput })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1913
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, 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(RlsInputPassword, { ...props, type: password ? 'password' : 'text' }), jsxRuntimeExports.jsx(RlsButtonAction, { icon: password ? 'eye' : 'eye-off', onClick: onToggleInput })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1878
1914
  }
1879
1915
 
1880
1916
  function RlsFieldPercentage(props) {
@@ -1892,11 +1928,11 @@ function RlsFieldPercentage(props) {
1892
1928
  formControl?.disabled,
1893
1929
  disabled
1894
1930
  ]);
1895
- return (jsxRuntimeExports.jsxs("div", { id: identifier, 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.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputPercentage, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1931
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputPercentage, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1896
1932
  }
1897
1933
 
1898
1934
  function RlsFieldReadonly({ children, identifier, rlsTheme, value }) {
1899
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-readonly rls-field-box", "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.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx("input", { className: "rls-input__component", autoComplete: "off", type: 'text', readOnly: true, value: value }) }) })] }));
1935
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-readonly rls-field-box", "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx("input", { className: "rls-input__component", autoComplete: "off", type: 'text', readOnly: true, value: value }) }) })] }));
1900
1936
  }
1901
1937
 
1902
1938
  function RlsFieldText(props) {
@@ -1914,7 +1950,7 @@ function RlsFieldText(props) {
1914
1950
  formControl?.disabled,
1915
1951
  disabled
1916
1952
  ]);
1917
- return (jsxRuntimeExports.jsxs("div", { id: identifier, 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.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputText, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1953
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-field-box__label", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-field-box__component", children: jsxRuntimeExports.jsx("div", { className: "rls-field-box__body", children: jsxRuntimeExports.jsx(RlsInputText, { ...props }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1918
1954
  }
1919
1955
 
1920
1956
  function RlsLabelCheckBox({ children, disabled, extended, identifier, formControl, reverse, rlsTheme }) {
@@ -2405,11 +2441,14 @@ function RlsToolbar({ actions, children, subtitle }) {
2405
2441
  return (jsxRuntimeExports.jsxs("div", { className: "rls-toolbar", children: [jsxRuntimeExports.jsxs("div", { className: "rls-toolbar__description", children: [children && jsxRuntimeExports.jsx("label", { className: "rls-toolbar__title", children: children }), subtitle && (jsxRuntimeExports.jsx("label", { className: "rls-toolbar__subtitle smalltext-semibold", children: subtitle }))] }), actions && (jsxRuntimeExports.jsx("div", { className: "rls-toolbar__actions", children: actions.map((action, index) => (jsxRuntimeExports.jsx("div", { children: action }, index))) }))] }));
2406
2442
  }
2407
2443
 
2408
- function RlsBottonSheet({ children, className, visible, rlsTheme }) {
2444
+ function RlsBottonSheet({ children, className, onAutoClose, visible, rlsTheme }) {
2409
2445
  const classNameSheet = useMemo(() => {
2410
2446
  return renderClassStatus('rls-bottom-sheet', { visible }, className);
2411
2447
  }, [className, visible]);
2412
- return ReactDOM.createPortal(jsxRuntimeExports.jsxs("div", { className: classNameSheet, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-bottom-sheet__component", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-bottom-sheet__backdrop" })] }), document.body);
2448
+ const onClickBackdrop = useCallback(() => {
2449
+ onAutoClose && onAutoClose();
2450
+ }, [onAutoClose]);
2451
+ return ReactDOM.createPortal(jsxRuntimeExports.jsxs("div", { className: classNameSheet, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-bottom-sheet__component", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-bottom-sheet__backdrop", onClick: onClickBackdrop })] }), document.body);
2413
2452
  }
2414
2453
 
2415
2454
  function RlsCard({ children, outline, rlsTheme }) {
@@ -2830,11 +2869,12 @@ function RlsFieldAutocompleteTemplate(props) {
2830
2869
  disabled,
2831
2870
  readonly: readOnly,
2832
2871
  selected: !!autocomplete.value
2833
- }, 'rls-field-list rls-field-autocomplete');
2872
+ }, `rls-field-list rls-field-autocomplete ${props.className ?? ''}`);
2834
2873
  }, [
2835
2874
  formControl?.wrong,
2836
2875
  autocomplete.value,
2837
2876
  autocomplete.focused,
2877
+ props.className,
2838
2878
  disabled,
2839
2879
  readOnly
2840
2880
  ]);
@@ -2854,18 +2894,21 @@ function RlsFieldAutocompleteTemplate(props) {
2854
2894
  event.key === 'Enter' && onSearch && onSearch(autocomplete.pattern);
2855
2895
  autocomplete.onKeydownInput(event);
2856
2896
  }, [autocomplete.onKeydownInput, onSearch, autocomplete.pattern]);
2857
- 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 })] })] }));
2897
+ return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: autocomplete.refContent, className: className, "rls-theme": rlsTheme, 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-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 })] })] }));
2858
2898
  }
2859
2899
  function RlsFieldAutocomplete(props) {
2860
2900
  const render = useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);
2861
2901
  return jsxRuntimeExports.jsx(RlsFieldAutocompleteTemplate, { ...props, render: render });
2862
2902
  }
2863
2903
 
2864
- function RlsModal({ children, className, visible, rlsTheme }) {
2904
+ function RlsModal({ children, className, onAutoClose, visible, rlsTheme }) {
2865
2905
  const classNameModal = useMemo(() => {
2866
2906
  return renderClassStatus('rls-modal', { visible }, className);
2867
2907
  }, [className, visible]);
2868
- return ReactDOM.createPortal(jsxRuntimeExports.jsxs("div", { className: classNameModal, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-modal__component", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-modal__backdrop" })] }), document.body);
2908
+ const onClickBackdrop = useCallback(() => {
2909
+ onAutoClose && onAutoClose();
2910
+ }, [onAutoClose]);
2911
+ return ReactDOM.createPortal(jsxRuntimeExports.jsxs("div", { className: classNameModal, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-modal__component", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-modal__backdrop", onClick: onClickBackdrop })] }), document.body);
2869
2912
  }
2870
2913
 
2871
2914
  function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
@@ -2997,7 +3040,7 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2997
3040
  formControl?.touch();
2998
3041
  setModalIsVisible(false);
2999
3042
  }, [formControl, onChange]);
3000
- 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 }) })] }));
3043
+ 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 }) })] }));
3001
3044
  }
3002
3045
 
3003
3046
  function rangeFormatTemplate({ maxDate, minDate }) {
@@ -3116,7 +3159,7 @@ function RlsFieldDateRange({ children, date: _date, disabled, formControl, ident
3116
3159
  formControl?.touch();
3117
3160
  setModalIsVisible(false);
3118
3161
  }, [formControl, onChange]);
3119
- 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 }) })] }));
3162
+ 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 }) })] }));
3120
3163
  }
3121
3164
 
3122
3165
  function useFieldSelect(props) {
@@ -3245,15 +3288,15 @@ function RlsFieldSelectTemplate(props) {
3245
3288
  error: formControl?.wrong,
3246
3289
  disabled: disabled,
3247
3290
  readonly: readOnly
3248
- }, 'rls-field-list rls-field-select');
3249
- }, [formControl?.wrong, select.focused, disabled, readOnly]);
3291
+ }, `rls-field-list rls-field-select ${props.className ?? ''}`);
3292
+ }, [formControl?.wrong, select.focused, props.className, disabled, readOnly]);
3250
3293
  const classNameList = useMemo(() => {
3251
3294
  return renderClassStatus('rls-field-list__suggestions', {
3252
3295
  higher: select.higher,
3253
3296
  visible: select.modalIsVisible
3254
3297
  });
3255
3298
  }, [select.modalIsVisible, select.higher]);
3256
- 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 })] })] }));
3299
+ return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: select.refContent, className: className, "rls-theme": rlsTheme, 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", { 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 })] })] }));
3257
3300
  }
3258
3301
  function RlsFieldSelect(props) {
3259
3302
  const render = useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);
@@ -3692,6 +3735,16 @@ function RlsImageChooser(props) {
3692
3735
  return (jsxRuntimeExports.jsxs("div", { className: "rls-image-chooser", children: [jsxRuntimeExports.jsx("div", { className: "rls-image-chooser__avatar", onClick: controller.onImageChooser, children: src && jsxRuntimeExports.jsx("img", { src: src }) }), controller.RlsImageEditorChooser] }));
3693
3736
  }
3694
3737
 
3738
+ function RlsModalSheet({ children, className, onAutoClose, visible, rlsTheme }) {
3739
+ const classNameModal = useMemo(() => {
3740
+ return renderClassStatus('rls-modal-sheet', { visible }, className);
3741
+ }, [className, visible]);
3742
+ const onClickBackdrop = useCallback(() => {
3743
+ onAutoClose && onAutoClose();
3744
+ }, [onAutoClose]);
3745
+ return ReactDOM.createPortal(jsxRuntimeExports.jsxs("div", { className: classNameModal, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-modal-sheet__component", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-modal-sheet__backdrop", onClick: onClickBackdrop })] }), document.body);
3746
+ }
3747
+
3695
3748
  const DURATION_ANIMATION = 240;
3696
3749
  const DURATION_CHAR = 75;
3697
3750
  const DURATION_MAX = 9000;
@@ -3808,5 +3861,5 @@ function useDatatable() {
3808
3861
  return { scrolleable, tableRef };
3809
3862
  }
3810
3863
 
3811
- export { ConfirmationResult, RlsAlert, RlsAmount, RlsApplication, RlsAvatar, RlsBadge, RlsBallot, RlsBottonSheet, RlsBreadcrumb, RlsButton, RlsButtonAction, RlsButtonProgress, RlsButtonToggle, RlsCard, RlsCheckBox, RlsCheckBoxControl, RlsConfirmation, RlsContent, RlsContext, RlsDatatable, RlsDatatableCell, RlsDatatableData, RlsDatatableFloating, RlsDatatableHeader, RlsDatatableRecord, RlsDatatableSubheader, RlsDatatableTitle, RlsDatatableTotals, RlsFieldAutocomplete, RlsFieldAutocompleteTemplate, RlsFieldDate, RlsFieldDateRange, RlsFieldMoney, RlsFieldNumber, RlsFieldPassword, RlsFieldPercentage, RlsFieldReadonly, RlsFieldSelect, RlsFieldSelectTemplate, RlsFieldText, RlsFormNavigation, RlsIcon, RlsImage, RlsImageChooser, RlsImageEditor, RlsInput, RlsInputMoney, RlsInputNumber, RlsInputPassword, RlsInputPercentage, RlsInputSearch, RlsInputText, RlsLabel, RlsLabelCheckBox, RlsLabelRadioButton, RlsLabelSwitch, RlsMessageFormError, RlsMessageIcon, RlsModal, RlsNavbar, RlsPagination, RlsPickerDate, RlsPickerDateRange, RlsPickerDay, RlsPickerDayRange, RlsPickerMonth, RlsPickerSelectorTitle, RlsPickerYear, RlsPoster, RlsProgressBar, RlsProgressCircular, RlsRadioButton, RlsSkeleton, RlsSkeletonText, RlsSlider, RlsSnackbar, RlsSwitch, RlsSwitchControl, RlsTabularText, RlsToolbar, calculateImgDimension, rangeFormatTemplate, renderClassStatus, setErrorsI18n, useConfirmation, useDatatable, useFieldAutocomplete, useFieldSelect, useImageEditorController, useListController, useRelocationOnComponent, useResize, useSnackbar };
3864
+ export { ConfirmationResult, RlsAlert, RlsAmount, RlsApplication, RlsAvatar, RlsBadge, RlsBallot, RlsBottonSheet, RlsBreadcrumb, RlsButton, RlsButtonAction, RlsButtonProgress, RlsButtonToggle, RlsCard, RlsCheckBox, RlsCheckBoxControl, RlsConfirmation, RlsContent, RlsContext, RlsDatatable, RlsDatatableCell, RlsDatatableData, RlsDatatableFloating, RlsDatatableHeader, RlsDatatableRecord, RlsDatatableSubheader, RlsDatatableTitle, RlsDatatableTotals, RlsFieldAutocomplete, RlsFieldAutocompleteTemplate, RlsFieldDate, RlsFieldDateRange, RlsFieldDouble, RlsFieldMoney, RlsFieldNumber, RlsFieldPassword, RlsFieldPercentage, RlsFieldReadonly, RlsFieldSelect, RlsFieldSelectTemplate, RlsFieldText, RlsFormNavigation, RlsIcon, RlsImage, RlsImageChooser, RlsImageEditor, RlsInput, RlsInputDouble, RlsInputMoney, RlsInputNumber, RlsInputPassword, RlsInputPercentage, RlsInputSearch, RlsInputText, RlsLabel, RlsLabelCheckBox, RlsLabelRadioButton, RlsLabelSwitch, RlsMessageFormError, RlsMessageIcon, RlsModal, RlsModalSheet, RlsNavbar, RlsPagination, RlsPickerDate, RlsPickerDateRange, RlsPickerDay, RlsPickerDayRange, RlsPickerMonth, RlsPickerSelectorTitle, RlsPickerYear, RlsPoster, RlsProgressBar, RlsProgressCircular, RlsRadioButton, RlsSkeleton, RlsSkeletonText, RlsSlider, RlsSnackbar, RlsSwitch, RlsSwitchControl, RlsTabularText, RlsToolbar, calculateImgDimension, rangeFormatTemplate, renderClassStatus, setErrorsI18n, useConfirmation, useDatatable, useFieldAutocomplete, useFieldSelect, useImageEditorController, useListController, useRelocationOnComponent, useResize, useSnackbar };
3812
3865
  //# sourceMappingURL=index.js.map