@rolster/react-components 18.23.14 → 18.24.0

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.
@@ -225,6 +225,7 @@
225
225
  --pvt-gradient-border: none;
226
226
  position: relative;
227
227
  padding: 0rem;
228
+ width: var(--rlc-button-width, auto);
228
229
  overflow: hidden;
229
230
  outline: none;
230
231
  background: rgba(0, 0, 0, 0);
@@ -2489,7 +2490,7 @@
2489
2490
  .rls-field-date-range__action .rls-icon {
2490
2491
  margin: 1rem;
2491
2492
  }
2492
- .rls-field-date-modal {
2493
+ .rls-field-date-range-modal {
2493
2494
  --rlc-modal-max-width: 150rem;
2494
2495
  } /*# sourceMappingURL=FieldDateRange.css.map */
2495
2496
 
@@ -2728,10 +2729,22 @@
2728
2729
  flex-direction: column;
2729
2730
  row-gap: var(--rls-sizing-x2);
2730
2731
  }
2732
+ .rls-snackbar__header {
2733
+ display: flex;
2734
+ align-items: center;
2735
+ justify-content: space-between;
2736
+ column-gap: var(--rls-sizing-x4);
2737
+ }
2738
+ .rls-snackbar__header > button {
2739
+ background: rgba(0, 0, 0, 0);
2740
+ padding: 0rem;
2741
+ cursor: pointer;
2742
+ color: var(--rls-theme-color-700);
2743
+ }
2731
2744
  .rls-snackbar__title {
2745
+ white-space: nowrap;
2732
2746
  overflow: hidden;
2733
2747
  text-overflow: ellipsis;
2734
- white-space: nowrap;
2735
2748
  color: var(--rls-theme-color-500);
2736
2749
  font-size: var(--rls-body-font-size);
2737
2750
  font-weight: var(--rls-font-weight-bold);
package/dist/cjs/index.js CHANGED
@@ -2822,6 +2822,9 @@ function RlsFieldAutocomplete(props) {
2822
2822
  return jsxRuntimeExports.jsx(RlsFieldAutocompleteTemplate, { ...props, render: render });
2823
2823
  }
2824
2824
 
2825
+ const DATE_FORMAT = '{dd}/{mx}/{yy}';
2826
+ const DATE_RANGE_FORMAT = '{dd}/{mx}/{yy}';
2827
+
2825
2828
  function RlsModal({ children, className, overflow, visible, rlsTheme }) {
2826
2829
  const classNameModal = require$$0.useMemo(() => {
2827
2830
  return renderClassStatus('rls-modal', { overflow, visible }, className);
@@ -2909,7 +2912,6 @@ function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDat
2909
2912
  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 }) })] }) }))] }));
2910
2913
  }
2911
2914
 
2912
- const formatDate = '{dd}/{mx}/{aa}';
2913
2915
  function RlsFieldDate({ children, date, disabled, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, rlsTheme, value: _value }) {
2914
2916
  const today = require$$0.useRef(new Date()); // Initial current date in component
2915
2917
  const [value, setValue] = require$$0.useState(formControl?.value ?? _value);
@@ -2923,7 +2925,7 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2923
2925
  const { icon, valueInput } = require$$0.useMemo(() => {
2924
2926
  return {
2925
2927
  icon: value ? 'trash-2' : 'calendar',
2926
- valueInput: value ? dates.dateFormatTemplate(value, format || formatDate) : ''
2928
+ valueInput: value ? dates.dateFormatTemplate(value, format || DATE_FORMAT) : ''
2927
2929
  };
2928
2930
  }, [value]);
2929
2931
  require$$0.useEffect(() => {
@@ -2957,11 +2959,9 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2957
2959
  formControl?.touch();
2958
2960
  setModalIsVisible(false);
2959
2961
  }, [formControl, onChange]);
2960
- 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 }) })] }));
2962
+ 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 }) })] }));
2961
2963
  }
2962
2964
 
2963
- const DATE_RANGE_FORMAT = '{dd}/{mx}/{aa}';
2964
-
2965
2965
  function rangeFormatTemplate({ maxDate, minDate }) {
2966
2966
  const minFormat = dates.dateFormatTemplate(minDate, DATE_RANGE_FORMAT);
2967
2967
  const maxFormat = dates.dateFormatTemplate(maxDate, DATE_RANGE_FORMAT);
@@ -3075,7 +3075,7 @@ function RlsFieldDateRange({ children, date: _date, disabled, formControl, ident
3075
3075
  formControl?.touch();
3076
3076
  setModalIsVisible(false);
3077
3077
  }, [formControl, onChange]);
3078
- 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, { visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDateRange, { formControl: formControl, date: currentDate, disabled: _disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) })] }));
3078
+ 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 }) })] }));
3079
3079
  }
3080
3080
 
3081
3081
  function useFieldSelect(props) {
@@ -3665,11 +3665,11 @@ function calculateDuration({ length }) {
3665
3665
  }
3666
3666
  return duration + DURATION_RESET;
3667
3667
  }
3668
- function RlsSnackbar({ content, icon, title, visible, rlsTheme }) {
3668
+ function RlsSnackbar({ content, onClose, icon, rlsTheme, title, visible }) {
3669
3669
  const className = require$$0.useMemo(() => {
3670
3670
  return renderClassStatus('rls-snackbar', { visible });
3671
3671
  }, [visible]);
3672
- return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [icon && (jsxRuntimeExports.jsx("div", { className: "rls-snackbar__avatar", children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) })), jsxRuntimeExports.jsxs("div", { className: "rls-snackbar__component", children: [title && jsxRuntimeExports.jsx("div", { className: "rls-snackbar__title", children: title }), jsxRuntimeExports.jsx("div", { className: "rls-snackbar__content", children: content })] })] }));
3672
+ return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [icon && (jsxRuntimeExports.jsx("div", { className: "rls-snackbar__avatar", children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) })), jsxRuntimeExports.jsxs("div", { className: "rls-snackbar__component", children: [jsxRuntimeExports.jsxs("div", { className: "rls-snackbar__header", children: [jsxRuntimeExports.jsx("div", { className: "rls-snackbar__title", children: title }), jsxRuntimeExports.jsx("button", { onClick: onClose, children: jsxRuntimeExports.jsx(RlsIcon, { value: "close" }) })] }), jsxRuntimeExports.jsx("div", { className: "rls-snackbar__content", children: content })] })] }));
3673
3673
  }
3674
3674
  function useSnackbar() {
3675
3675
  const [state, setState] = require$$0.useState({
@@ -3678,14 +3678,17 @@ function useSnackbar() {
3678
3678
  timeoutId: undefined,
3679
3679
  visible: false
3680
3680
  });
3681
- const rlsSnackbar = jsxRuntimeExports.jsx(RlsSnackbar, { ...state.config, visible: state.visible });
3681
+ const onClose = require$$0.useCallback(() => {
3682
+ setState((state) => ({ ...state, timeoutId: undefined, visible: false }));
3683
+ }, []);
3684
+ const rlsSnackbar = (jsxRuntimeExports.jsx(RlsSnackbar, { ...state.config, visible: state.visible, onClose: onClose }));
3682
3685
  require$$0.useEffect(() => {
3683
3686
  if (state.visible) {
3684
3687
  const timeoutId = setTimeout(() => {
3685
3688
  setState((state) => ({
3686
3689
  ...state,
3687
- visible: false,
3688
- timeoutId: undefined
3690
+ timeoutId: undefined,
3691
+ visible: false
3689
3692
  }));
3690
3693
  }, state.duration);
3691
3694
  setState((state) => ({ ...state, timeoutId }));