@rolster/react-components 18.18.0 → 18.18.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 (35) hide show
  1. package/dist/cjs/assets/{index-DIGj2mhy.css → index-DLCk3aif.css} +5 -4
  2. package/dist/cjs/index.js +48 -32
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-DIGj2mhy.css → index-DLCk3aif.css} +5 -4
  5. package/dist/es/index.js +49 -33
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/esm/components/atoms/Avatar/Avatar.css +1 -3
  8. package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.css +1 -1
  9. package/dist/esm/components/molecules/Ballot/Ballot.css +3 -0
  10. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js +3 -2
  11. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js.map +1 -1
  12. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js +3 -2
  13. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js.map +1 -1
  14. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js +3 -2
  15. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js.map +1 -1
  16. package/dist/esm/components/molecules/FieldText/FieldText.js +3 -2
  17. package/dist/esm/components/molecules/FieldText/FieldText.js.map +1 -1
  18. package/dist/esm/components/organisms/Datatable/Datatable.d.ts +4 -2
  19. package/dist/esm/components/organisms/Datatable/Datatable.js +4 -4
  20. package/dist/esm/components/organisms/Datatable/Datatable.js.map +1 -1
  21. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +5 -5
  22. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
  23. package/dist/esm/components/organisms/FieldDate/FieldDate.js +2 -1
  24. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  25. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +2 -1
  26. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  27. package/dist/esm/components/organisms/FieldSelect/FieldSelect.d.ts +1 -0
  28. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +9 -7
  29. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
  30. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.d.ts +1 -0
  31. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js +11 -3
  32. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js.map +1 -1
  33. package/dist/esm/controllers/ListController.js +4 -4
  34. package/dist/esm/controllers/ListController.js.map +1 -1
  35. package/package.json +4 -4
@@ -51,10 +51,8 @@
51
51
  border-radius: 50%;
52
52
  }
53
53
  .rls-avatar span {
54
+ align-self: center;
54
55
  font-size: inherit;
55
- margin: auto;
56
- height: inherit;
57
- line-height: inherit;
58
56
  }
59
57
 
60
58
  .rls-badge {
@@ -129,7 +127,7 @@
129
127
  cursor: pointer;
130
128
  color: var(--pvt-link-font-color);
131
129
  }
132
- .rls-breadcrumb__label__a.actionable:hover {
130
+ .rls-breadcrumb__label__a--actionable:hover {
133
131
  color: var(--rls-theme-color-500);
134
132
  text-decoration: underline;
135
133
  }
@@ -918,6 +916,9 @@
918
916
  flex-direction: column;
919
917
  row-gap: var(--rlc-ballot-component-row-gap);
920
918
  }
919
+ .rls-ballot .rls-avatar + .rls-ballot__component {
920
+ width: calc(100% - var(--rlc-avatar-width) - var(--rls-sizing-x4));
921
+ }
921
922
  .rls-ballot__title {
922
923
  --rlc-skeleton-text-height: var(--rlc-ballot-title-height);
923
924
  --rlc-skeleton-text-letter-spacing: var(--rlc-ballot-title-letter-spacing);
package/dist/cjs/index.js CHANGED
@@ -1594,18 +1594,20 @@ function RlsMessageFormError({ className, formControl }) {
1594
1594
  }
1595
1595
 
1596
1596
  function RlsFieldMoney({ children, decimals, disabled, formControl, identifier, msgErrorDisabled, onValue, placeholder, symbol, rlsTheme, value }) {
1597
+ const _disabled = formControl?.disabled || disabled;
1597
1598
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: renderClassStatus('rls-field-box', {
1598
- focused: formControl?.focused,
1599
+ focused: formControl?.focused && !_disabled,
1599
1600
  error: formControl?.wrong,
1600
- disabled: formControl?.disabled || disabled
1601
+ disabled: _disabled
1601
1602
  }, 'rls-field-money'), "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, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, symbol: symbol, decimals: decimals, onValue: onValue }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1602
1603
  }
1603
1604
 
1604
1605
  function RlsFieldNumber({ children, disabled, formControl, identifier, msgErrorDisabled, onValue, placeholder, rlsTheme, value }) {
1606
+ const _disabled = formControl?.disabled || disabled;
1605
1607
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: renderClassStatus('rls-field-box', {
1606
- focused: formControl?.focused,
1608
+ focused: formControl?.focused && !_disabled,
1607
1609
  error: formControl?.wrong,
1608
- disabled: formControl?.disabled || disabled
1610
+ disabled: _disabled
1609
1611
  }, 'rls-field-number'), "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, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, onValue: onValue }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1610
1612
  }
1611
1613
 
@@ -1614,18 +1616,20 @@ function RlsFieldPassword({ children, disabled, formControl, identifier, msgErro
1614
1616
  function onToggleInput() {
1615
1617
  setPassword(!password);
1616
1618
  }
1619
+ const _disabled = formControl?.disabled || disabled;
1617
1620
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: renderClassStatus(' rls-field-box', {
1618
- focused: formControl?.focused,
1621
+ focused: formControl?.focused && !_disabled,
1619
1622
  error: formControl?.wrong,
1620
- disabled: formControl?.disabled || disabled
1623
+ disabled: _disabled
1621
1624
  }, 'rls-field-password'), "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, { formControl: formControl, disabled: disabled, placeholder: placeholder, 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 }))] }));
1622
1625
  }
1623
1626
 
1624
1627
  function RlsFieldText({ children, disabled, formControl, identifier, msgErrorDisabled, onValue, placeholder, rlsTheme, value }) {
1628
+ const _disabled = formControl?.disabled || disabled;
1625
1629
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: renderClassStatus('rls-field-box', {
1626
- focused: formControl?.focused,
1630
+ focused: formControl?.focused && !_disabled,
1627
1631
  error: formControl?.wrong,
1628
- disabled: formControl?.disabled || disabled
1632
+ disabled: _disabled
1629
1633
  }, 'rls-field-text'), "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, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, onValue: onValue }) }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1630
1634
  }
1631
1635
 
@@ -2042,11 +2046,11 @@ function RlsDatatableHeader({ children, identifier }) {
2042
2046
  function RlsDatatableTitle({ children, className, control, identifier }) {
2043
2047
  return (jsxRuntimeExports.jsx("th", { id: identifier, className: renderClassStatus('rls-datatable__title', { control }, className).trim(), children: children }));
2044
2048
  }
2045
- function RlsDatatableRecord({ children, className, error, identifier, warning }) {
2046
- return (jsxRuntimeExports.jsx("tr", { id: identifier, className: renderClassStatus('rls-datatable__record', { error, warning }, className).trim(), children: children }));
2049
+ function RlsDatatableRecord({ children, className, error, identifier, info, successs, warning }) {
2050
+ return (jsxRuntimeExports.jsx("tr", { id: identifier, className: renderClassStatus('rls-datatable__record', { error, info, successs, warning }, className).trim(), children: children }));
2047
2051
  }
2048
- function RlsDatatableTotals({ children, className, error, identifier, warning }) {
2049
- return (jsxRuntimeExports.jsx("div", { id: identifier, className: renderClassStatus('rls-datatable__totals', { error, warning }, className).trim(), children: children }));
2052
+ function RlsDatatableTotals({ children, className, error, identifier, info, successs, warning }) {
2053
+ return (jsxRuntimeExports.jsx("div", { id: identifier, className: renderClassStatus('rls-datatable__totals', { error, info, successs, warning }, className).trim(), children: children }));
2050
2054
  }
2051
2055
  function RlsDatatableCell({ children, className, control, identifier, overflow }) {
2052
2056
  return (jsxRuntimeExports.jsx("th", { id: identifier, className: renderClassStatus('rls-datatable__cell', { control, overflow }, className).trim(), children: children }));
@@ -2146,7 +2150,7 @@ function useListController(props) {
2146
2150
  }
2147
2151
  function refreshWithProtected(collection, automatic) {
2148
2152
  if (automatic && collection.value[0]) {
2149
- setFormValue(collection.value[0].value);
2153
+ formControl?.setInitialValue(collection.value[0].value);
2150
2154
  return true;
2151
2155
  }
2152
2156
  if (_protected.current) {
@@ -2162,9 +2166,9 @@ function useListController(props) {
2162
2166
  function refreshState(state) {
2163
2167
  setState((currentState) => ({ ...currentState, ...state }));
2164
2168
  }
2165
- function setFormValue(value) {
2169
+ const setFormValue = require$$0.useCallback((value) => {
2166
2170
  formControl?.setValue(value);
2167
- }
2171
+ }, [formControl]);
2168
2172
  function navigationInput(event) {
2169
2173
  if (state.modalIsVisible) {
2170
2174
  const newPosition = components.navigationListFromInput({
@@ -2303,20 +2307,20 @@ function RlsFieldAutocompleteTemplate(props) {
2303
2307
  const autocomplete = useFieldAutocomplete(props);
2304
2308
  const { controller } = autocomplete;
2305
2309
  const { render, children, formControl, msgErrorDisabled, onSearch, placeholder, rlsTheme, searching } = props;
2306
- const disabled = formControl?.disabled || props.disabled;
2310
+ const _disabled = formControl?.disabled || props.disabled;
2307
2311
  const className = renderClassStatus('rls-field-box', {
2308
- focused: controller.focused,
2309
- disabled,
2312
+ focused: controller.focused && !_disabled,
2310
2313
  error: formControl?.wrong,
2314
+ disabled: _disabled,
2311
2315
  selected: !!controller.value
2312
2316
  }, 'rls-field-list rls-field-autocomplete');
2313
- return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: controller.contentRef, 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: controller.value, onClick: autocomplete.onClickControl }), jsxRuntimeExports.jsx("button", { className: "rls-field-list__action", disabled: disabled, onClick: autocomplete.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: controller.value ? 'trash-2' : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-list__suggestions', {
2317
+ return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: controller.contentRef, 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: controller.value, onClick: autocomplete.onClickControl }), jsxRuntimeExports.jsx("button", { className: "rls-field-list__action", disabled: _disabled, onClick: autocomplete.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: controller.value ? 'trash-2' : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-list__suggestions', {
2314
2318
  visible: controller.modalIsVisible,
2315
2319
  higher: controller.higher,
2316
2320
  hide: !controller.modalIsVisible
2317
2321
  }), children: [jsxRuntimeExports.jsx("div", { className: "rls-field-list__suggestions__body", children: jsxRuntimeExports.jsxs("ul", { ref: controller.listRef, className: "rls-field-list__ul", children: [jsxRuntimeExports.jsxs("div", { className: "rls-field-list__ul__search", children: [jsxRuntimeExports.jsx("input", { ref: controller.inputRef, className: "rls-field-list__ul__control", type: "text", placeholder: reactI18n('listInputPlaceholder'), value: autocomplete.pattern, onChange: (event) => {
2318
2322
  autocomplete.setPattern(event.target.value);
2319
- }, disabled: disabled || searching, onFocus: autocomplete.onFocusInput, onBlur: autocomplete.onBlurInput, onKeyDown: autocomplete.onKeydownInput }), onSearch && (jsxRuntimeExports.jsx("button", { disabled: disabled || searching, onClick: () => {
2323
+ }, disabled: _disabled || searching, onFocus: autocomplete.onFocusInput, onBlur: autocomplete.onBlurInput, onKeyDown: autocomplete.onKeydownInput }), onSearch && (jsxRuntimeExports.jsx("button", { disabled: _disabled || searching, onClick: () => {
2320
2324
  onSearch(autocomplete.pattern);
2321
2325
  }, 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 truncate", children: reactI18n('listEmptyTitle') }), jsxRuntimeExports.jsx("p", { className: "rls-caption-regular", children: reactI18n('listEmptyDescription') })] }) }))] }) }), jsxRuntimeExports.jsx("div", { className: "rls-field-list__backdrop", onClick: autocomplete.onClickBackdrop })] })] }));
2322
2326
  }
@@ -2422,7 +2426,8 @@ function RlsFieldDate({ children, date, disabled, formControl, format, identifie
2422
2426
  const valueInput = value
2423
2427
  ? dates.dateFormatTemplate(value, format || FORMAT_DATE)
2424
2428
  : '';
2425
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-box', { disabled }), 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: value ? 'trash-2' : 'calendar' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDate, { formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: ({ event, value }) => {
2429
+ const _disabled = formControl?.disabled || disabled;
2430
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-box', { disabled: _disabled }), 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: value ? 'trash-2' : 'calendar' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDate, { formControl: formControl, date: date, disabled: _disabled, maxDate: maxDate, minDate: minDate, onListener: ({ event, value }) => {
2426
2431
  event !== components.PickerListenerEvent.Cancel && onChange(value);
2427
2432
  formControl?.touch();
2428
2433
  setModalIsVisible(false);
@@ -2502,7 +2507,8 @@ function RlsFieldDateRange({ children, date: datePicker, disabled, formControl,
2502
2507
  setValue(value);
2503
2508
  onValue && onValue(value);
2504
2509
  }
2505
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-box', { disabled }), 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: value ? rangeFormatTemplate(value) : '', 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: value ? 'trash-2' : 'calendar' }) })] }) }), !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: ({ event, value }) => {
2510
+ const _disabled = formControl?.disabled || disabled;
2511
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-box', { disabled: _disabled }), 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: value ? rangeFormatTemplate(value) : '', 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: value ? 'trash-2' : 'calendar' }) })] }) }), !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: ({ event, value }) => {
2506
2512
  event !== components.PickerListenerEvent.Cancel && onChange(value);
2507
2513
  formControl?.touch();
2508
2514
  setModalIsVisible(false);
@@ -2536,9 +2542,17 @@ function useFieldSelect(props) {
2536
2542
  }
2537
2543
  }
2538
2544
  function onClickAction() {
2539
- const modalIsVisible = !controller.modalIsVisible;
2540
- controller.setState({ modalIsVisible });
2541
- modalIsVisible && controller.inputRef?.current?.focus();
2545
+ const removable = !props.unremovable && !!controller.value;
2546
+ if (removable) {
2547
+ controller.setState({ modalIsVisible: false, value: '' });
2548
+ controller.setFormValue(props.value);
2549
+ props.onValue && props.onValue(props.value);
2550
+ }
2551
+ else {
2552
+ const modalIsVisible = !controller.modalIsVisible;
2553
+ controller.setState({ modalIsVisible });
2554
+ modalIsVisible && controller.inputRef?.current?.focus();
2555
+ }
2542
2556
  }
2543
2557
  function onClickBackdrop() {
2544
2558
  controller.setState({ modalIsVisible: false });
@@ -2584,16 +2598,18 @@ function useFieldSelect(props) {
2584
2598
  function RlsFieldSelectTemplate(props) {
2585
2599
  const select = useFieldSelect(props);
2586
2600
  const { controller } = select;
2587
- const { render, suggestions, children, formControl, msgErrorDisabled, placeholder, rlsTheme } = props;
2588
- const disabled = formControl?.disabled || props.disabled;
2601
+ const { render, suggestions, children, formControl, msgErrorDisabled, placeholder, rlsTheme, unremovable } = props;
2602
+ const _disabled = formControl?.disabled || props.disabled;
2589
2603
  const className = renderClassStatus('rls-field-box', {
2590
- focused: controller.focused,
2591
- disabled,
2592
- error: formControl?.wrong
2604
+ focused: controller.focused && !_disabled,
2605
+ error: formControl?.wrong,
2606
+ disabled: _disabled
2593
2607
  }, 'rls-field-list rls-field-select');
2594
- return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: controller.contentRef, 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: controller.inputRef, className: "rls-field-list__control", readOnly: true, disabled: disabled, placeholder: placeholder, value: controller.value, onFocus: select.onFocusInput, onBlur: select.onBlurInput, onClick: select.onClickInput, onKeyDown: select.onKeydownInput }), jsxRuntimeExports.jsx("button", { className: renderClassStatus('rls-field-list__action', {
2608
+ return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: controller.contentRef, 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: controller.inputRef, className: "rls-field-list__control", readOnly: true, disabled: _disabled, placeholder: placeholder, value: controller.value, onFocus: select.onFocusInput, onBlur: select.onBlurInput, onClick: select.onClickInput, onKeyDown: select.onKeydownInput }), jsxRuntimeExports.jsx("button", { className: renderClassStatus('rls-field-list__action', {
2595
2609
  visible: controller.modalIsVisible
2596
- }), disabled: disabled, onClick: select.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: "arrow-ios-down" }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-list__suggestions', {
2610
+ }), disabled: _disabled, onClick: select.onClickAction, children: jsxRuntimeExports.jsx(RlsIcon, { value: !unremovable && !!controller.value
2611
+ ? 'trash-2'
2612
+ : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsxs("div", { className: renderClassStatus('rls-field-list__suggestions', {
2597
2613
  visible: controller.modalIsVisible,
2598
2614
  higher: controller.higher,
2599
2615
  hide: !controller.modalIsVisible