@rolster/react-components 19.6.10 → 19.7.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.
Files changed (309) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/index.cjs +370 -240
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/es/index.mjs +366 -242
  5. package/dist/es/index.mjs.map +1 -1
  6. package/dist/esm/components/atoms/Amount/Amount.d.ts +2 -1
  7. package/dist/esm/components/atoms/Amount/Amount.js +3 -2
  8. package/dist/esm/components/atoms/Amount/Amount.js.map +1 -1
  9. package/dist/esm/components/atoms/AreaText/AreaText.d.ts +3 -1
  10. package/dist/esm/components/atoms/AreaText/AreaText.js +3 -2
  11. package/dist/esm/components/atoms/AreaText/AreaText.js.map +1 -1
  12. package/dist/esm/components/atoms/Avatar/Avatar.d.ts +2 -1
  13. package/dist/esm/components/atoms/Avatar/Avatar.js +3 -2
  14. package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  15. package/dist/esm/components/atoms/Badge/Badge.d.ts +2 -1
  16. package/dist/esm/components/atoms/Badge/Badge.js +3 -2
  17. package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
  18. package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.d.ts +2 -1
  19. package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js +3 -2
  20. package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js.map +1 -1
  21. package/dist/esm/components/atoms/Button/Button.d.ts +2 -1
  22. package/dist/esm/components/atoms/Button/Button.js +3 -2
  23. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  24. package/dist/esm/components/atoms/ButtonAction/ButtonAction.d.ts +2 -1
  25. package/dist/esm/components/atoms/ButtonAction/ButtonAction.js +3 -2
  26. package/dist/esm/components/atoms/ButtonAction/ButtonAction.js.map +1 -1
  27. package/dist/esm/components/atoms/ButtonIcon/ButtonIcon.d.ts +2 -1
  28. package/dist/esm/components/atoms/ButtonIcon/ButtonIcon.js +3 -2
  29. package/dist/esm/components/atoms/ButtonIcon/ButtonIcon.js.map +1 -1
  30. package/dist/esm/components/atoms/ButtonOption/ButtonOption.d.ts +3 -2
  31. package/dist/esm/components/atoms/ButtonOption/ButtonOption.js +3 -2
  32. package/dist/esm/components/atoms/ButtonOption/ButtonOption.js.map +1 -1
  33. package/dist/esm/components/atoms/CheckBox/CheckBox.d.ts +4 -2
  34. package/dist/esm/components/atoms/CheckBox/CheckBox.js +5 -3
  35. package/dist/esm/components/atoms/CheckBox/CheckBox.js.map +1 -1
  36. package/dist/esm/components/atoms/Icon/Icon.d.ts +2 -1
  37. package/dist/esm/components/atoms/Icon/Icon.js +3 -2
  38. package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
  39. package/dist/esm/components/atoms/Image/Image.d.ts +2 -1
  40. package/dist/esm/components/atoms/Image/Image.js +3 -2
  41. package/dist/esm/components/atoms/Image/Image.js.map +1 -1
  42. package/dist/esm/components/atoms/Input/Input.d.ts +2 -1
  43. package/dist/esm/components/atoms/Input/Input.js +3 -2
  44. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  45. package/dist/esm/components/atoms/InputCounter/InputCounter.d.ts +2 -1
  46. package/dist/esm/components/atoms/InputCounter/InputCounter.js +3 -2
  47. package/dist/esm/components/atoms/InputCounter/InputCounter.js.map +1 -1
  48. package/dist/esm/components/atoms/InputDecimal/InputDecimal.d.ts +2 -1
  49. package/dist/esm/components/atoms/InputDecimal/InputDecimal.js +3 -2
  50. package/dist/esm/components/atoms/InputDecimal/InputDecimal.js.map +1 -1
  51. package/dist/esm/components/atoms/InputMoney/InputMoney.d.ts +2 -1
  52. package/dist/esm/components/atoms/InputMoney/InputMoney.js +3 -2
  53. package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +1 -1
  54. package/dist/esm/components/atoms/InputNumber/InputNumber.d.ts +2 -1
  55. package/dist/esm/components/atoms/InputNumber/InputNumber.js +3 -2
  56. package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +1 -1
  57. package/dist/esm/components/atoms/InputPassword/InputPassword.d.ts +2 -1
  58. package/dist/esm/components/atoms/InputPassword/InputPassword.js +3 -2
  59. package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +1 -1
  60. package/dist/esm/components/atoms/InputPercentage/InputPercentage.d.ts +2 -1
  61. package/dist/esm/components/atoms/InputPercentage/InputPercentage.js +3 -2
  62. package/dist/esm/components/atoms/InputPercentage/InputPercentage.js.map +1 -1
  63. package/dist/esm/components/atoms/InputSearch/InputSearch.d.ts +2 -1
  64. package/dist/esm/components/atoms/InputSearch/InputSearch.js +3 -2
  65. package/dist/esm/components/atoms/InputSearch/InputSearch.js.map +1 -1
  66. package/dist/esm/components/atoms/InputText/InputText.d.ts +3 -1
  67. package/dist/esm/components/atoms/InputText/InputText.js +3 -2
  68. package/dist/esm/components/atoms/InputText/InputText.js.map +1 -1
  69. package/dist/esm/components/atoms/Label/Label.d.ts +3 -1
  70. package/dist/esm/components/atoms/Label/Label.js +3 -1
  71. package/dist/esm/components/atoms/Label/Label.js.map +1 -1
  72. package/dist/esm/components/atoms/Led/Led.d.ts +2 -1
  73. package/dist/esm/components/atoms/Led/Led.js +3 -2
  74. package/dist/esm/components/atoms/Led/Led.js.map +1 -1
  75. package/dist/esm/components/atoms/MessageIcon/MessageIcon.d.ts +2 -1
  76. package/dist/esm/components/atoms/MessageIcon/MessageIcon.js +3 -1
  77. package/dist/esm/components/atoms/MessageIcon/MessageIcon.js.map +1 -1
  78. package/dist/esm/components/atoms/Poster/Poster.d.ts +2 -1
  79. package/dist/esm/components/atoms/Poster/Poster.js +3 -2
  80. package/dist/esm/components/atoms/Poster/Poster.js.map +1 -1
  81. package/dist/esm/components/atoms/ProgressBar/ProgressBar.d.ts +2 -1
  82. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +3 -2
  83. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  84. package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.d.ts +3 -1
  85. package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js +3 -1
  86. package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js.map +1 -1
  87. package/dist/esm/components/atoms/RadioButton/RadioButton.d.ts +2 -1
  88. package/dist/esm/components/atoms/RadioButton/RadioButton.js +3 -2
  89. package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  90. package/dist/esm/components/atoms/Skeleton/Skeleton.d.ts +3 -1
  91. package/dist/esm/components/atoms/Skeleton/Skeleton.js +3 -1
  92. package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
  93. package/dist/esm/components/atoms/SkeletonText/SkeletonText.d.ts +2 -1
  94. package/dist/esm/components/atoms/SkeletonText/SkeletonText.js +3 -1
  95. package/dist/esm/components/atoms/SkeletonText/SkeletonText.js.map +1 -1
  96. package/dist/esm/components/atoms/Spinner/Spinner.d.ts +3 -1
  97. package/dist/esm/components/atoms/Spinner/Spinner.js +3 -1
  98. package/dist/esm/components/atoms/Spinner/Spinner.js.map +1 -1
  99. package/dist/esm/components/atoms/Switch/Switch.d.ts +4 -2
  100. package/dist/esm/components/atoms/Switch/Switch.js +5 -3
  101. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  102. package/dist/esm/components/atoms/TabularText/TabularText.d.ts +2 -1
  103. package/dist/esm/components/atoms/TabularText/TabularText.js +3 -2
  104. package/dist/esm/components/atoms/TabularText/TabularText.js.map +1 -1
  105. package/dist/esm/components/molecules/Accordion/Accordion.d.ts +2 -1
  106. package/dist/esm/components/molecules/Accordion/Accordion.js +3 -2
  107. package/dist/esm/components/molecules/Accordion/Accordion.js.map +1 -1
  108. package/dist/esm/components/molecules/Alert/Alert.d.ts +2 -1
  109. package/dist/esm/components/molecules/Alert/Alert.js +3 -2
  110. package/dist/esm/components/molecules/Alert/Alert.js.map +1 -1
  111. package/dist/esm/components/molecules/Ballot/Ballot.d.ts +2 -1
  112. package/dist/esm/components/molecules/Ballot/Ballot.js +3 -2
  113. package/dist/esm/components/molecules/Ballot/Ballot.js.map +1 -1
  114. package/dist/esm/components/molecules/Body/Body.d.ts +3 -1
  115. package/dist/esm/components/molecules/Body/Body.js +3 -1
  116. package/dist/esm/components/molecules/Body/Body.js.map +1 -1
  117. package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.d.ts +2 -1
  118. package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js +3 -2
  119. package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js.map +1 -1
  120. package/dist/esm/components/molecules/ButtonStepper/ButtonStepper.d.ts +2 -1
  121. package/dist/esm/components/molecules/ButtonStepper/ButtonStepper.js +3 -2
  122. package/dist/esm/components/molecules/ButtonStepper/ButtonStepper.js.map +1 -1
  123. package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.d.ts +2 -1
  124. package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js +3 -2
  125. package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js.map +1 -1
  126. package/dist/esm/components/molecules/Content/Content.d.ts +3 -1
  127. package/dist/esm/components/molecules/Content/Content.js +3 -1
  128. package/dist/esm/components/molecules/Content/Content.js.map +1 -1
  129. package/dist/esm/components/molecules/FieldArea/FieldArea.d.ts +2 -1
  130. package/dist/esm/components/molecules/FieldArea/FieldArea.js +3 -2
  131. package/dist/esm/components/molecules/FieldArea/FieldArea.js.map +1 -1
  132. package/dist/esm/components/molecules/FieldDecimal/FieldDecimal.d.ts +2 -1
  133. package/dist/esm/components/molecules/FieldDecimal/FieldDecimal.js +3 -2
  134. package/dist/esm/components/molecules/FieldDecimal/FieldDecimal.js.map +1 -1
  135. package/dist/esm/components/molecules/FieldFile/FieldFile.d.ts +2 -1
  136. package/dist/esm/components/molecules/FieldFile/FieldFile.js +3 -2
  137. package/dist/esm/components/molecules/FieldFile/FieldFile.js.map +1 -1
  138. package/dist/esm/components/molecules/FieldListSuggestions/FieldListSuggestions.d.ts +2 -1
  139. package/dist/esm/components/molecules/FieldListSuggestions/FieldListSuggestions.js +3 -2
  140. package/dist/esm/components/molecules/FieldListSuggestions/FieldListSuggestions.js.map +1 -1
  141. package/dist/esm/components/molecules/FieldMoney/FieldMoney.d.ts +2 -1
  142. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js +3 -2
  143. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js.map +1 -1
  144. package/dist/esm/components/molecules/FieldNumber/FieldNumber.d.ts +2 -1
  145. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js +3 -2
  146. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js.map +1 -1
  147. package/dist/esm/components/molecules/FieldPassword/FieldPassword.d.ts +3 -1
  148. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js +3 -2
  149. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js.map +1 -1
  150. package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.d.ts +2 -1
  151. package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.js +3 -2
  152. package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.js.map +1 -1
  153. package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.d.ts +2 -1
  154. package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.js +3 -1
  155. package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.js.map +1 -1
  156. package/dist/esm/components/molecules/FieldText/FieldText.d.ts +3 -1
  157. package/dist/esm/components/molecules/FieldText/FieldText.js +3 -2
  158. package/dist/esm/components/molecules/FieldText/FieldText.js.map +1 -1
  159. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.d.ts +2 -1
  160. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.js +3 -2
  161. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.js.map +1 -1
  162. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.d.ts +3 -2
  163. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.js +3 -2
  164. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.js.map +1 -1
  165. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.d.ts +2 -1
  166. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.js +3 -2
  167. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.js.map +1 -1
  168. package/dist/esm/components/molecules/MessageEmpty/MessageEmpty.d.ts +2 -1
  169. package/dist/esm/components/molecules/MessageEmpty/MessageEmpty.js +3 -2
  170. package/dist/esm/components/molecules/MessageEmpty/MessageEmpty.js.map +1 -1
  171. package/dist/esm/components/molecules/MessageFormError/MessageFormError.d.ts +2 -1
  172. package/dist/esm/components/molecules/MessageFormError/MessageFormError.js +3 -2
  173. package/dist/esm/components/molecules/MessageFormError/MessageFormError.js.map +1 -1
  174. package/dist/esm/components/molecules/Navbar/Navbar.d.ts +3 -1
  175. package/dist/esm/components/molecules/Navbar/Navbar.js +3 -1
  176. package/dist/esm/components/molecules/Navbar/Navbar.js.map +1 -1
  177. package/dist/esm/components/molecules/NavbarMenu/NabvarMenu.d.ts +2 -1
  178. package/dist/esm/components/molecules/NavbarMenu/NabvarMenu.js +3 -2
  179. package/dist/esm/components/molecules/NavbarMenu/NabvarMenu.js.map +1 -1
  180. package/dist/esm/components/molecules/Pagination/Pagination.d.ts +2 -1
  181. package/dist/esm/components/molecules/Pagination/Pagination.js +3 -2
  182. package/dist/esm/components/molecules/Pagination/Pagination.js.map +1 -1
  183. package/dist/esm/components/molecules/PickerDay/PickerDay.d.ts +2 -1
  184. package/dist/esm/components/molecules/PickerDay/PickerDay.js +3 -2
  185. package/dist/esm/components/molecules/PickerDay/PickerDay.js.map +1 -1
  186. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.d.ts +2 -1
  187. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js +3 -2
  188. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js.map +1 -1
  189. package/dist/esm/components/molecules/PickerMonth/PickerMonth.d.ts +2 -1
  190. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js +3 -2
  191. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js.map +1 -1
  192. package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.d.ts +2 -1
  193. package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js +3 -2
  194. package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js.map +1 -1
  195. package/dist/esm/components/molecules/PickerYear/PickerYear.d.ts +2 -1
  196. package/dist/esm/components/molecules/PickerYear/PickerYear.js +3 -2
  197. package/dist/esm/components/molecules/PickerYear/PickerYear.js.map +1 -1
  198. package/dist/esm/components/molecules/Slider/Slider.d.ts +2 -1
  199. package/dist/esm/components/molecules/Slider/Slider.js +3 -2
  200. package/dist/esm/components/molecules/Slider/Slider.js.map +1 -1
  201. package/dist/esm/components/molecules/Tabs/Tabs.d.ts +2 -1
  202. package/dist/esm/components/molecules/Tabs/Tabs.js +3 -2
  203. package/dist/esm/components/molecules/Tabs/Tabs.js.map +1 -1
  204. package/dist/esm/components/molecules/Toolbar/Toolbar.d.ts +2 -1
  205. package/dist/esm/components/molecules/Toolbar/Toolbar.js +3 -1
  206. package/dist/esm/components/molecules/Toolbar/Toolbar.js.map +1 -1
  207. package/dist/esm/components/organisms/BottomSheet/BottomSheet.d.ts +2 -1
  208. package/dist/esm/components/organisms/BottomSheet/BottomSheet.js +3 -2
  209. package/dist/esm/components/organisms/BottomSheet/BottomSheet.js.map +1 -1
  210. package/dist/esm/components/organisms/Card/Card.d.ts +2 -1
  211. package/dist/esm/components/organisms/Card/Card.js +3 -2
  212. package/dist/esm/components/organisms/Card/Card.js.map +1 -1
  213. package/dist/esm/components/organisms/Confirmation/Confirmation.d.ts +2 -1
  214. package/dist/esm/components/organisms/Confirmation/Confirmation.js +3 -2
  215. package/dist/esm/components/organisms/Confirmation/Confirmation.js.map +1 -1
  216. package/dist/esm/components/organisms/Datatable/Datatable.d.ts +19 -9
  217. package/dist/esm/components/organisms/Datatable/Datatable.js +25 -16
  218. package/dist/esm/components/organisms/Datatable/Datatable.js.map +1 -1
  219. package/dist/esm/components/organisms/Dropdown/Dropdown.d.ts +2 -1
  220. package/dist/esm/components/organisms/Dropdown/Dropdown.js +3 -2
  221. package/dist/esm/components/organisms/Dropdown/Dropdown.js.map +1 -1
  222. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.d.ts +8 -6
  223. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +5 -3
  224. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
  225. package/dist/esm/components/organisms/FieldClock/FieldClock.d.ts +5 -4
  226. package/dist/esm/components/organisms/FieldClock/FieldClock.js +8 -9
  227. package/dist/esm/components/organisms/FieldClock/FieldClock.js.map +1 -1
  228. package/dist/esm/components/organisms/FieldColor/FieldColor.d.ts +5 -4
  229. package/dist/esm/components/organisms/FieldColor/FieldColor.js +3 -2
  230. package/dist/esm/components/organisms/FieldColor/FieldColor.js.map +1 -1
  231. package/dist/esm/components/organisms/FieldDate/FieldDate.d.ts +5 -4
  232. package/dist/esm/components/organisms/FieldDate/FieldDate.js +9 -9
  233. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  234. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.d.ts +5 -4
  235. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +8 -9
  236. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  237. package/dist/esm/components/organisms/FieldList/FieldList.d.ts +8 -6
  238. package/dist/esm/components/organisms/FieldList/FieldList.js +5 -3
  239. package/dist/esm/components/organisms/FieldList/FieldList.js.map +1 -1
  240. package/dist/esm/components/organisms/FieldList/FieldListController.js +7 -8
  241. package/dist/esm/components/organisms/FieldList/FieldListController.js.map +1 -1
  242. package/dist/esm/components/organisms/FieldSelect/FieldSelect.d.ts +8 -6
  243. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +5 -3
  244. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
  245. package/dist/esm/components/organisms/FormNavigation/FormNavigation.d.ts +3 -1
  246. package/dist/esm/components/organisms/FormNavigation/FormNavigation.js +3 -2
  247. package/dist/esm/components/organisms/FormNavigation/FormNavigation.js.map +1 -1
  248. package/dist/esm/components/organisms/ImageChooser/ImageChooser.d.ts +2 -1
  249. package/dist/esm/components/organisms/ImageChooser/ImageChooser.js +3 -2
  250. package/dist/esm/components/organisms/ImageChooser/ImageChooser.js.map +1 -1
  251. package/dist/esm/components/organisms/ImageEditor/ImageEditor.d.ts +2 -1
  252. package/dist/esm/components/organisms/ImageEditor/ImageEditor.js +3 -2
  253. package/dist/esm/components/organisms/ImageEditor/ImageEditor.js.map +1 -1
  254. package/dist/esm/components/organisms/ImageEditorModal/ImageEditorModal.d.ts +2 -1
  255. package/dist/esm/components/organisms/ImageEditorModal/ImageEditorModal.js +3 -1
  256. package/dist/esm/components/organisms/ImageEditorModal/ImageEditorModal.js.map +1 -1
  257. package/dist/esm/components/organisms/Modal/Modal.d.ts +2 -1
  258. package/dist/esm/components/organisms/Modal/Modal.js +3 -2
  259. package/dist/esm/components/organisms/Modal/Modal.js.map +1 -1
  260. package/dist/esm/components/organisms/ModalClock/ModalClock.d.ts +15 -0
  261. package/dist/esm/components/organisms/ModalClock/ModalClock.js +14 -0
  262. package/dist/esm/components/organisms/ModalClock/ModalClock.js.map +1 -0
  263. package/dist/esm/components/organisms/ModalDate/ModalDate.d.ts +17 -0
  264. package/dist/esm/components/organisms/ModalDate/ModalDate.js +14 -0
  265. package/dist/esm/components/organisms/ModalDate/ModalDate.js.map +1 -0
  266. package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.d.ts +18 -0
  267. package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.js +14 -0
  268. package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.js.map +1 -0
  269. package/dist/esm/components/organisms/ModalSheet/ModalSheet.d.ts +2 -1
  270. package/dist/esm/components/organisms/ModalSheet/ModalSheet.js +3 -2
  271. package/dist/esm/components/organisms/ModalSheet/ModalSheet.js.map +1 -1
  272. package/dist/esm/components/organisms/PickerClock/PickerClock.d.ts +2 -1
  273. package/dist/esm/components/organisms/PickerClock/PickerClock.js +3 -2
  274. package/dist/esm/components/organisms/PickerClock/PickerClock.js.map +1 -1
  275. package/dist/esm/components/organisms/PickerColor/PickerColor.d.ts +2 -1
  276. package/dist/esm/components/organisms/PickerColor/PickerColor.js +3 -2
  277. package/dist/esm/components/organisms/PickerColor/PickerColor.js.map +1 -1
  278. package/dist/esm/components/organisms/PickerDate/PickerDate.d.ts +2 -1
  279. package/dist/esm/components/organisms/PickerDate/PickerDate.js +3 -2
  280. package/dist/esm/components/organisms/PickerDate/PickerDate.js.map +1 -1
  281. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.d.ts +2 -1
  282. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js +3 -2
  283. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js.map +1 -1
  284. package/dist/esm/components/organisms/Snackbar/Snackbar.d.ts +2 -1
  285. package/dist/esm/components/organisms/Snackbar/Snackbar.js +3 -2
  286. package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -1
  287. package/dist/esm/components/organisms/VirtualScroll/VirtualScroll.d.ts +2 -1
  288. package/dist/esm/components/organisms/VirtualScroll/VirtualScroll.js +7 -7
  289. package/dist/esm/components/organisms/VirtualScroll/VirtualScroll.js.map +1 -1
  290. package/dist/esm/context.js +9 -8
  291. package/dist/esm/context.js.map +1 -1
  292. package/dist/esm/controllers/ListController.d.ts +1 -1
  293. package/dist/esm/controllers/ListController.js +25 -15
  294. package/dist/esm/controllers/ListController.js.map +1 -1
  295. package/dist/esm/controllers/ResizeController.d.ts +3 -3
  296. package/dist/esm/controllers/ResizeController.js +10 -11
  297. package/dist/esm/controllers/ResizeController.js.map +1 -1
  298. package/dist/esm/helpers/app-theme.d.ts +4 -0
  299. package/dist/esm/helpers/app-theme.js +21 -0
  300. package/dist/esm/helpers/app-theme.js.map +1 -0
  301. package/dist/esm/helpers/color.js +38 -74
  302. package/dist/esm/helpers/color.js.map +1 -1
  303. package/dist/esm/helpers/css.js +4 -4
  304. package/dist/esm/helpers/css.js.map +1 -1
  305. package/dist/esm/index.d.ts +4 -0
  306. package/dist/esm/index.js +4 -0
  307. package/dist/esm/index.js.map +1 -1
  308. package/dist/esm/types.d.ts +1 -0
  309. package/package.json +83 -83
@@ -431,16 +431,16 @@ function requireJsxRuntime () {
431
431
  var jsxRuntimeExports = requireJsxRuntime();
432
432
 
433
433
  function renderClassStatus(base, status = {}, additionals) {
434
- const _classElement = [base];
434
+ const classElement = [base];
435
435
  Object.entries(status).forEach(([key, state]) => {
436
436
  if (state) {
437
- _classElement.push(typeof state === 'string' ? `${base}--${state}` : `${base}--${key}`);
437
+ classElement.push(typeof state === 'string' ? `${base}--${state}` : `${base}--${key}`);
438
438
  }
439
439
  });
440
440
  if (additionals) {
441
- _classElement.push(additionals);
441
+ classElement.push(additionals);
442
442
  }
443
- return _classElement.join(' ').trim();
443
+ return classElement.join(' ').trim();
444
444
  }
445
445
 
446
446
  const className = 'rls-tabular-text';
@@ -450,7 +450,7 @@ function getCharClass(char) {
450
450
  ? `${className}__pointer`
451
451
  : `${className}__char`;
452
452
  }
453
- function RlsTabularText({ className, value }) {
453
+ function RlsTabularTextComponent({ className, value }) {
454
454
  const codes = require$$0.useMemo(() => {
455
455
  return (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: value?.split('').map((char, index) => (jsxRuntimeExports.jsx("span", { className: getCharClass(char), children: char }, index))) }));
456
456
  }, [value]);
@@ -459,8 +459,9 @@ function RlsTabularText({ className, value }) {
459
459
  }, [className]);
460
460
  return jsxRuntimeExports.jsx("div", { className: _className, children: codes });
461
461
  }
462
+ const RlsTabularText = require$$0.memo(RlsTabularTextComponent);
462
463
 
463
- function RlsAmount({ value, className, decimals, rlsTheme, symbol }) {
464
+ function RlsAmountComponent({ value, className, decimals, rlsTheme, symbol }) {
464
465
  const classNameAmount = require$$0.useMemo(() => {
465
466
  return renderClassStatus('rls-amount', {}, className);
466
467
  }, [className]);
@@ -477,8 +478,9 @@ function RlsAmount({ value, className, decimals, rlsTheme, symbol }) {
477
478
  }, [value, decimals]);
478
479
  return (jsxRuntimeExports.jsxs("div", { className: classNameAmount, "rls-theme": rlsTheme, children: [symbol && jsxRuntimeExports.jsx("span", { className: "rls-amount__symbol", children: symbol }), jsxRuntimeExports.jsxs("div", { className: "rls-amount__content", children: [jsxRuntimeExports.jsx(RlsTabularText, { className: "rls-amount__integer", value: integer }), decimal && (jsxRuntimeExports.jsx(RlsTabularText, { className: "rls-amount__decimal", value: decimal }))] })] }));
479
480
  }
481
+ const RlsAmount = require$$0.memo(RlsAmountComponent);
480
482
 
481
- function RlsAreaText({ autoComplete, disabled, formControl, identifier, onBlur, onEnter, onFocus, onKeyDown, onKeyUp, onValue, placeholder, readOnly, resize, rows = 1, value }) {
483
+ function RlsAreaTextComponent({ autoComplete, disabled, formControl, identifier, onBlur, onEnter, onFocus, onKeyDown, onKeyUp, onValue, placeholder, readOnly, resize, rows = 1, value }) {
482
484
  const valueInitial = String(formControl?.value ?? value ?? '');
483
485
  const [valueArea, setValueArea] = require$$0.useState(valueInitial);
484
486
  const [focused, setFocused] = require$$0.useState(false);
@@ -547,20 +549,23 @@ function RlsAreaText({ autoComplete, disabled, formControl, identifier, onBlur,
547
549
  ]);
548
550
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, children: [jsxRuntimeExports.jsx("textarea", { ref: areaRef, className: "rls-area-text__component", autoComplete: autoComplete ?? 'off', placeholder: placeholder, disabled: formControl?.disabled || disabled, readOnly: readOnly, rows: rows, style: { resize }, onFocus: onFocusArea, onBlur: onBlurArea, onChange: onChangeArea, onKeyDown: onKeyDownArea, onKeyUp: onKeyUpArea, value: valueArea }), jsxRuntimeExports.jsx("span", { className: "rls-area-text__value", children: valueArea })] }));
549
551
  }
552
+ const RlsAreaText = require$$0.memo(RlsAreaTextComponent);
550
553
 
551
- function RlsAvatar({ children, contrasted, rounded, skeleton, rlsTheme }) {
554
+ function RlsAvatarComponent({ children, contrasted, rounded, skeleton, rlsTheme }) {
552
555
  const className = require$$0.useMemo(() => {
553
556
  return renderClassStatus('rls-avatar', { contrasted, rounded, skeleton });
554
557
  }, [contrasted, rounded, skeleton]);
555
558
  return (jsxRuntimeExports.jsx("div", { className: className, "rls-theme": rlsTheme, children: children }));
556
559
  }
560
+ const RlsAvatar = require$$0.memo(RlsAvatarComponent);
557
561
 
558
- function RlsBadge({ children, contrasted, rlsTheme }) {
562
+ function RlsBadgeComponent({ children, contrasted, rlsTheme }) {
559
563
  const className = require$$0.useMemo(() => {
560
564
  return renderClassStatus('rls-badge', { contrasted });
561
565
  }, [contrasted]);
562
566
  return (jsxRuntimeExports.jsx("span", { className: className, "rls-theme": rlsTheme, children: children }));
563
567
  }
568
+ const RlsBadge = require$$0.memo(RlsBadgeComponent);
564
569
 
565
570
  function RlsBreadcrumbLabel({ label }) {
566
571
  const className = require$$0.useMemo(() => {
@@ -570,44 +575,50 @@ function RlsBreadcrumbLabel({ label }) {
570
575
  }, [label.onClick]);
571
576
  return (jsxRuntimeExports.jsx("span", { className: "rls-breadcrumb__label", onClick: label.onClick, children: jsxRuntimeExports.jsx("a", { className: className, "rls-theme": label.rlsTheme, children: label.label }) }));
572
577
  }
573
- function RlsBreadcrumb({ labels }) {
578
+ function RlsBreadcrumbComponent({ labels }) {
574
579
  const children = require$$0.useMemo(() => {
575
580
  return labels.map((label, index) => (jsxRuntimeExports.jsx(RlsBreadcrumbLabel, { label: label }, index)));
576
581
  }, [labels]);
577
582
  return jsxRuntimeExports.jsx("div", { className: "rls-breadcrumb", children: children });
578
583
  }
584
+ const RlsBreadcrumb = require$$0.memo(RlsBreadcrumbComponent);
579
585
 
580
- function RlsIcon({ value, className, rlsTheme, skeleton }) {
586
+ function RlsIconComponent({ value, className, rlsTheme, skeleton }) {
581
587
  const classNameIcon = require$$0.useMemo(() => {
582
588
  return renderClassStatus('rls-icon', { skeleton }, className);
583
589
  }, [className, skeleton]);
584
590
  return (jsxRuntimeExports.jsx("div", { className: classNameIcon, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("i", { className: `rls-icon-${value}` }) }));
585
591
  }
592
+ const RlsIcon = require$$0.memo(RlsIconComponent);
586
593
 
587
- function RlsSpinner() {
594
+ function RlsSpinnerComponent() {
588
595
  return (jsxRuntimeExports.jsxs("div", { className: "rls-spinner", children: [jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--1", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--2", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--3", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--4", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--5", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--6", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--7", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--8", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) }), jsxRuntimeExports.jsx("svg", { className: "rls-spinner__svg rls-spinner__svg--9", viewBox: "0 0 64 64", children: jsxRuntimeExports.jsx("circle", {}) })] }));
589
596
  }
597
+ const RlsSpinner = require$$0.memo(RlsSpinnerComponent);
590
598
 
591
- function RlsButton({ type, children, disabled, identifier, onClick, prefixIcon, requesting, rlsTheme, suffixIcon }) {
599
+ function RlsButtonComponent({ type, children, disabled, identifier, onClick, prefixIcon, requesting, rlsTheme, suffixIcon }) {
592
600
  const className = require$$0.useMemo(() => {
593
601
  return renderClassStatus('rls-button__content', { type });
594
602
  }, [type]);
595
603
  return (jsxRuntimeExports.jsx("button", { id: identifier, className: "rls-button", onClick: onClick, "rls-theme": rlsTheme, disabled: disabled, children: jsxRuntimeExports.jsxs("div", { className: className, children: [requesting && jsxRuntimeExports.jsx(RlsSpinner, {}), prefixIcon && jsxRuntimeExports.jsx(RlsIcon, { value: prefixIcon }), children && jsxRuntimeExports.jsx("div", { className: "rls-button__description", children: children }), suffixIcon && jsxRuntimeExports.jsx(RlsIcon, { value: suffixIcon })] }) }));
596
604
  }
605
+ const RlsButton = require$$0.memo(RlsButtonComponent);
597
606
 
598
- function RlsButtonAction({ icon, disabled, identifier, onClick, rlsTheme, tooltip, type }) {
607
+ function RlsButtonActionComponent({ icon, disabled, identifier, onClick, rlsTheme, tooltip, type }) {
599
608
  const className = require$$0.useMemo(() => {
600
609
  return renderClassStatus('rls-button-action', { type });
601
610
  }, [type]);
602
611
  return (jsxRuntimeExports.jsxs("button", { id: identifier, className: className, onClick: onClick, disabled: disabled, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-button-action__content", children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) }), tooltip && (jsxRuntimeExports.jsx("div", { className: "rls-button-action__tooltip rls-overline-font-medium", children: jsxRuntimeExports.jsx("span", { children: tooltip }) }))] }));
603
612
  }
613
+ const RlsButtonAction = require$$0.memo(RlsButtonActionComponent);
604
614
 
605
- function RlsButtonIcon({ icon, className, disabled, onClick, skeleton }) {
615
+ function RlsButtonIconComponent({ icon, className, disabled, onClick, skeleton }) {
606
616
  const classNameButton = require$$0.useMemo(() => {
607
617
  return renderClassStatus('rls-button-icon', { skeleton }, className);
608
618
  }, [className, skeleton]);
609
619
  return (jsxRuntimeExports.jsx("button", { className: classNameButton, onClick: onClick, disabled: disabled, children: !skeleton && jsxRuntimeExports.jsx(RlsIcon, { value: icon }) }));
610
620
  }
621
+ const RlsButtonIcon = require$$0.memo(RlsButtonIconComponent);
611
622
 
612
623
  function useFormSingleSelectionController({ disabled, formControl, onValue, value }) {
613
624
  const [checked, setChecked] = require$$0.useState(formControl?.value === value);
@@ -623,7 +634,7 @@ function useFormSingleSelectionController({ disabled, formControl, onValue, valu
623
634
  return { checked, onSelect };
624
635
  }
625
636
 
626
- function RlsButtonOption({ icon, children, disabled, formControl, identifier, onClick, onValue, value }) {
637
+ function RlsButtonOptionComponent({ icon, children, disabled, formControl, identifier, onClick, onValue, value }) {
627
638
  const { checked, onSelect } = useFormSingleSelectionController({
628
639
  disabled,
629
640
  formControl,
@@ -639,25 +650,29 @@ function RlsButtonOption({ icon, children, disabled, formControl, identifier, on
639
650
  }, [onSelect, onClick]);
640
651
  return (jsxRuntimeExports.jsxs("button", { id: identifier, className: className, onClick: onAction, disabled: disabled, children: [jsxRuntimeExports.jsx(RlsIcon, { value: icon }), children] }));
641
652
  }
653
+ const RlsButtonOption = require$$0.memo(RlsButtonOptionComponent);
642
654
 
643
- function RlsCheckBox({ checked, disabled, identifier, onClick, rlsTheme }) {
655
+ function RlsCheckBoxComponent({ checked, disabled, identifier, onClick, rlsTheme }) {
644
656
  const className = require$$0.useMemo(() => {
645
657
  return renderClassStatus('rls-checkbox', { checked, disabled });
646
658
  }, [checked, disabled]);
647
659
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: className, onClick: onClick, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx(RlsIcon, { value: "checkmark" }) }));
648
660
  }
649
- function RlsCheckBoxControl({ formControl, disabled, identifier, rlsTheme }) {
661
+ const RlsCheckBox = require$$0.memo(RlsCheckBoxComponent);
662
+ function RlsCheckBoxControlComponent({ formControl, disabled, identifier, rlsTheme }) {
650
663
  const onClick = require$$0.useCallback(() => {
651
664
  formControl.setValue(!formControl.value);
652
665
  }, [formControl.value]);
653
666
  return (jsxRuntimeExports.jsx(RlsCheckBox, { identifier: identifier, checked: !!formControl.value, disabled: disabled, onClick: onClick, rlsTheme: rlsTheme }));
654
667
  }
668
+ const RlsCheckBoxControl = require$$0.memo(RlsCheckBoxControlComponent);
655
669
 
656
- function RlsSkeleton({ rlsTheme }) {
670
+ function RlsSkeletonComponent({ rlsTheme }) {
657
671
  return jsxRuntimeExports.jsx("div", { className: "rls-skeleton", "rls-theme": rlsTheme });
658
672
  }
673
+ const RlsSkeleton = require$$0.memo(RlsSkeletonComponent);
659
674
 
660
- function RlsImage({ src, rlsTheme }) {
675
+ function RlsImageComponent({ src, rlsTheme }) {
661
676
  const [srcIsComplet, setSrcIsComplet] = require$$0.useState(false);
662
677
  const refImage = require$$0.useRef(null);
663
678
  const className = require$$0.useMemo(() => {
@@ -671,8 +686,9 @@ function RlsImage({ src, rlsTheme }) {
671
686
  }, []);
672
687
  return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [!srcIsComplet && jsxRuntimeExports.jsx(RlsSkeleton, { rlsTheme: rlsTheme }), jsxRuntimeExports.jsx("img", { ref: refImage, src: src, onLoad: onLoad })] }));
673
688
  }
689
+ const RlsImage = require$$0.memo(RlsImageComponent);
674
690
 
675
- function RlsInput({ children, decimals, disabled, formControl, identifier, onBlur, onEnter, onFocus, onKeyDown, onKeyUp, onValue, placeholder, readOnly, type, value }) {
691
+ function RlsInputComponent({ children, decimals, disabled, formControl, identifier, onBlur, onEnter, onFocus, onKeyDown, onKeyUp, onValue, placeholder, readOnly, type, value }) {
676
692
  const valueInitial = (formControl?.value ?? value) ? String(value) : '';
677
693
  const [valueInput, setValueInput] = require$$0.useState(valueInitial);
678
694
  const [focused, setFocused] = require$$0.useState(false);
@@ -723,8 +739,9 @@ function RlsInput({ children, decimals, disabled, formControl, identifier, onBlu
723
739
  }, [formControl?.focused, formControl?.disabled, focused, disabled]);
724
740
  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: onFocusInput, onBlur: onBlurInput, onChange: onChangeInput, onKeyDown: onKeyDownInput, onKeyUp: onKeyUpInput, value: valueInput }), jsxRuntimeExports.jsx("span", { className: "rls-input__value", children: children })] }));
725
741
  }
742
+ const RlsInput = require$$0.memo(RlsInputComponent);
726
743
 
727
- function RlsInputCounter({ className, disabled, formControl, identifier, max, min, onBlur, onFocus, onValue, readOnly, rlsTheme, step = 1, value: valueProp }) {
744
+ function RlsInputCounterComponent({ className, disabled, formControl, identifier, max, min, onBlur, onFocus, onValue, readOnly, rlsTheme, step = 1, value: valueProp }) {
728
745
  const changeIsInternal = require$$0.useRef(false);
729
746
  const [value, setValue] = require$$0.useState(formControl?.value ?? valueProp ?? 0);
730
747
  const [focused, setFocused] = require$$0.useState(false);
@@ -778,8 +795,9 @@ function RlsInputCounter({ className, disabled, formControl, identifier, max, mi
778
795
  }, [formControl, onBlur]);
779
796
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: classNameCounter, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx(RlsButtonIcon, { className: "rls-input-counter__down", icon: "minus", onClick: onDecrement, disabled: _disabled || decrementIsAllowed }), jsxRuntimeExports.jsx("div", { className: "rls-input-counter__body", children: jsxRuntimeExports.jsx("input", { ref: formControl?.elementRef, className: "rls-input-counter__control", type: "text", inputMode: "numeric", value: value, disabled: _disabled, readOnly: readOnly, onChange: onChangeInput, onFocus: onFocusInput, onBlur: onBlurInput }) }), jsxRuntimeExports.jsx(RlsButtonIcon, { className: "rls-input-counter__up", icon: "plus", onClick: onIncrement, disabled: _disabled || incrementIsAllowed })] }));
780
797
  }
798
+ const RlsInputCounter = require$$0.memo(RlsInputCounterComponent);
781
799
 
782
- function RlsInputDecimal(props) {
800
+ function RlsInputDecimalComponent(props) {
783
801
  const { decimals, formControl, identifier, onValue, symbol, value } = props;
784
802
  const [valueInput, setValueInput] = require$$0.useState((formControl?.value ?? value ?? commons.BigDecimal.zero()).rounded);
785
803
  const amount = require$$0.useMemo(() => {
@@ -798,8 +816,9 @@ function RlsInputDecimal(props) {
798
816
  const decimalProps = { ...props, formControl: undefined };
799
817
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-decimal", children: jsxRuntimeExports.jsx(RlsInput, { ...decimalProps, type: "number", value: valueInput, onValue: onValueInput, children: jsxRuntimeExports.jsx(RlsAmount, { value: amount, symbol: symbol, decimals: decimals }) }) }));
800
818
  }
819
+ const RlsInputDecimal = require$$0.memo(RlsInputDecimalComponent);
801
820
 
802
- function RlsInputMoney(props) {
821
+ function RlsInputMoneyComponent(props) {
803
822
  const { decimals, formControl, identifier, onValue, symbol, value } = props;
804
823
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? 0);
805
824
  const onValueInput = require$$0.useCallback((value) => {
@@ -810,8 +829,9 @@ function RlsInputMoney(props) {
810
829
  }, [formControl, onValue]);
811
830
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-money", children: jsxRuntimeExports.jsx(RlsInput, { ...props, type: "number", value: valueInput, onValue: onValueInput, children: jsxRuntimeExports.jsx(RlsAmount, { value: formControl?.value ?? valueInput, symbol: symbol, decimals: decimals }) }) }));
812
831
  }
832
+ const RlsInputMoney = require$$0.memo(RlsInputMoneyComponent);
813
833
 
814
- function RlsInputNumber(props) {
834
+ function RlsInputNumberComponent(props) {
815
835
  const { formControl, identifier, onValue, value } = props;
816
836
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? 0);
817
837
  const onValueInput = require$$0.useCallback((value) => {
@@ -822,8 +842,9 @@ function RlsInputNumber(props) {
822
842
  }, [formControl, onValue]);
823
843
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-number", children: jsxRuntimeExports.jsx(RlsInput, { ...props, type: "number", value: valueInput, onValue: onValueInput, children: formControl?.value ?? valueInput }) }));
824
844
  }
845
+ const RlsInputNumber = require$$0.memo(RlsInputNumberComponent);
825
846
 
826
- function RlsInputPassword({ disabled, formControl, identifier, onEnter, onKeyDown, onKeyUp, onValue, placeholder, readOnly, type }) {
847
+ function RlsInputPasswordComponent({ disabled, formControl, identifier, onEnter, onKeyDown, onKeyUp, onValue, placeholder, readOnly, type }) {
827
848
  const [focused, setFocused] = require$$0.useState(false);
828
849
  const _onChange = require$$0.useCallback((event) => {
829
850
  formControl?.setValue(event.target.value);
@@ -854,8 +875,9 @@ function RlsInputPassword({ disabled, formControl, identifier, onEnter, onKeyDow
854
875
  }, [formControl?.focused, formControl?.disabled, focused, disabled]);
855
876
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: className, children: jsxRuntimeExports.jsx("input", { className: "rls-input-password__component", autoComplete: "off", type: type ?? 'password', placeholder: placeholder, disabled: disabled, readOnly: readOnly, onFocus: _onFocus, onBlur: _onBlur, onChange: _onChange, onKeyDown: _onKeyDown, onKeyUp: _onKeyUp }) }));
856
877
  }
878
+ const RlsInputPassword = require$$0.memo(RlsInputPasswordComponent);
857
879
 
858
- function RlsInputPercentage(props) {
880
+ function RlsInputPercentageComponent(props) {
859
881
  const { formControl, identifier, onValue, value } = props;
860
882
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? 0);
861
883
  const onValueInput = require$$0.useCallback((value) => {
@@ -866,8 +888,9 @@ function RlsInputPercentage(props) {
866
888
  }, [formControl, onValue]);
867
889
  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, "%"] }) }));
868
890
  }
891
+ const RlsInputPercentage = require$$0.memo(RlsInputPercentageComponent);
869
892
 
870
- function RlsInputSearch({ formControl, disabled, identifier, onEnter, onSearch, placeholder }) {
893
+ function RlsInputSearchComponent({ formControl, disabled, identifier, onEnter, onSearch, placeholder }) {
871
894
  const [value, setValue] = require$$0.useState('');
872
895
  const className = require$$0.useMemo(() => {
873
896
  return renderClassStatus('rls-input-search', { disabled });
@@ -879,8 +902,9 @@ function RlsInputSearch({ formControl, disabled, identifier, onEnter, onSearch,
879
902
  }, [formControl]);
880
903
  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 }))] }));
881
904
  }
905
+ const RlsInputSearch = require$$0.memo(RlsInputSearchComponent);
882
906
 
883
- function RlsInputText(props) {
907
+ function RlsInputTextComponent(props) {
884
908
  const { formControl, identifier, onValue, value } = props;
885
909
  const [valueInput, setValueInput] = require$$0.useState(formControl?.value ?? value ?? '');
886
910
  const onValueInput = require$$0.useCallback((value) => {
@@ -891,10 +915,12 @@ function RlsInputText(props) {
891
915
  }, [formControl, onValue]);
892
916
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-input-text", children: jsxRuntimeExports.jsx(RlsInput, { ...props, type: "text", value: valueInput, onValue: onValueInput, children: formControl?.value ?? valueInput }) }));
893
917
  }
918
+ const RlsInputText = require$$0.memo(RlsInputTextComponent);
894
919
 
895
- function RlsLabel({ children, rlsTheme }) {
920
+ function RlsLabelComponent({ children, rlsTheme }) {
896
921
  return (jsxRuntimeExports.jsx("span", { className: "rls-label", "rls-theme": rlsTheme, children: children }));
897
922
  }
923
+ const RlsLabel = require$$0.memo(RlsLabelComponent);
898
924
 
899
925
  function msgInvalidColor(color) {
900
926
  return `Invalid color: "${color}". Use format "#FF6600".`;
@@ -1141,69 +1167,12 @@ function generateThemeCSS(colors, theme) {
1141
1167
  ...shadowProps
1142
1168
  ];
1143
1169
  }
1144
- const srgbToLinear = (channel) => {
1145
- const x = channel / 255;
1146
- return x <= 0.04045 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;
1147
- };
1148
- const linearToSrgb = (channel) => {
1149
- const v = channel <= 0.0031308
1150
- ? 12.92 * channel
1151
- : 1.055 * channel ** (1 / 2.4) - 0.055;
1152
- return clamp(Math.round(v * 255), 0, 255);
1153
- };
1154
- function rgbToOklch({ r, g, b }) {
1155
- const lr = srgbToLinear(r);
1156
- const lg = srgbToLinear(g);
1157
- const lb = srgbToLinear(b);
1158
- const l = Math.cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);
1159
- const m = Math.cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);
1160
- const s = Math.cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);
1161
- const okL = 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s;
1162
- const okA = 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s;
1163
- const okB = 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s;
1164
- return { l: okL, c: Math.hypot(okA, okB), h: Math.atan2(okB, okA) };
1165
- }
1166
- function oklabToLinearRgb(l, a, b) {
1167
- const l_ = (l + 0.3963377774 * a + 0.2158037573 * b) ** 3;
1168
- const m_ = (l - 0.1055613458 * a - 0.0638541728 * b) ** 3;
1169
- const s_ = (l - 0.0894841775 * a - 1.291485548 * b) ** 3;
1170
- return [
1171
- 4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_,
1172
- -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_,
1173
- -0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_
1174
- ];
1175
- }
1176
- const inGamut = ([r, g, b]) => {
1177
- const e = 1e-4;
1178
- return (r >= -e && r <= 1 + e && g >= -e && g <= 1 + e && b >= -e && b <= 1 + e);
1179
- };
1180
- function oklchToRgb({ l, c, h }) {
1181
- const a = Math.cos(h);
1182
- const b = Math.sin(h);
1183
- const linearAt = (chroma) => oklabToLinearRgb(l, a * chroma, b * chroma);
1184
- if (!inGamut(linearAt(c))) {
1185
- let lo = 0;
1186
- let hi = c;
1187
- for (let i = 0; i < 20; i++) {
1188
- const mid = (lo + hi) / 2;
1189
- if (inGamut(linearAt(mid))) {
1190
- lo = mid;
1191
- }
1192
- else {
1193
- hi = mid;
1194
- }
1195
- }
1196
- c = lo;
1197
- }
1198
- const [lr, lg, lb] = linearAt(c);
1199
- return { r: linearToSrgb(lr), g: linearToSrgb(lg), b: linearToSrgb(lb) };
1200
- }
1201
- const chromaFactor = (lightness) => 0.4 + 0.6 * (1 - Math.abs(lightness - 0.5) * 2);
1202
- function detectShadeLevel(lightness) {
1170
+ function detectShadeLevel(hsl) {
1203
1171
  let bestLevel = '500';
1204
1172
  let minDiff = Infinity;
1205
- SHADE_LABELS.forEach((level) => {
1206
- const diff = Math.abs(lightness - STANDARD_LUMINANCE[level]);
1173
+ Object.keys(STANDARD_LUMINANCE).forEach((level) => {
1174
+ const targetL = STANDARD_LUMINANCE[level];
1175
+ const diff = Math.abs(hsl.l - targetL);
1207
1176
  if (diff < minDiff) {
1208
1177
  minDiff = diff;
1209
1178
  bestLevel = level;
@@ -1212,29 +1181,50 @@ function detectShadeLevel(lightness) {
1212
1181
  return bestLevel;
1213
1182
  }
1214
1183
  function generateThemePalette(baseColor, theme = 'primary') {
1215
- const rgb = hexToRgb(baseColor);
1216
- if (!rgb) {
1184
+ const hsl = hexToHsl(baseColor);
1185
+ if (!hsl) {
1217
1186
  throw new Error(msgInvalidColor(baseColor));
1218
1187
  }
1219
- const base = rgbToOklch(rgb);
1220
- const matchedLevel = detectShadeLevel(base.l * 100);
1188
+ const matchedLevel = detectShadeLevel(hsl);
1189
+ const targetL = STANDARD_LUMINANCE[matchedLevel];
1190
+ const inputL = hsl.l;
1221
1191
  const colors = {};
1192
+ const matchedIndex = SHADE_LABELS.indexOf(matchedLevel);
1222
1193
  SHADE_LABELS.forEach((label) => {
1223
1194
  if (label === matchedLevel) {
1224
- colors[label] = rgbToHex(rgb); // preserve the base color exactly
1195
+ colors[label] = baseColor.toUpperCase();
1225
1196
  return;
1226
1197
  }
1227
- const lightness = STANDARD_LUMINANCE[label] / 100;
1228
- colors[label] = rgbToHex(oklchToRgb({
1229
- l: lightness,
1230
- c: base.c * chromaFactor(lightness),
1231
- h: base.h
1232
- }));
1198
+ const shadeTargetL = STANDARD_LUMINANCE[label];
1199
+ const labelIndex = SHADE_LABELS.indexOf(label);
1200
+ let lightL;
1201
+ if (labelIndex < matchedIndex) {
1202
+ const ratio = inputL / targetL;
1203
+ lightL = shadeTargetL * ratio;
1204
+ }
1205
+ else {
1206
+ const remainingInput = 100 - inputL;
1207
+ const remainingTarget = 100 - targetL;
1208
+ const progress = (shadeTargetL - targetL) / remainingTarget;
1209
+ lightL = inputL + progress * remainingInput;
1210
+ }
1211
+ lightL = Math.min(100, Math.max(0, lightL));
1212
+ const satFactor = lightL > 60
1213
+ ? Math.max(0.2, (100 - lightL) / 40)
1214
+ : lightL < 30
1215
+ ? Math.max(0.2, lightL / 30)
1216
+ : 1;
1217
+ colors[label] = hslToHex({
1218
+ h: hsl.h,
1219
+ s: Math.round(Math.min(100, hsl.s * satFactor)),
1220
+ l: Math.round(lightL)
1221
+ });
1233
1222
  });
1234
- const properties = generateThemeCSS(colors, theme);
1223
+ const shades = colors;
1224
+ const properties = generateThemeCSS(shades, theme);
1235
1225
  return {
1236
1226
  theme,
1237
- colors,
1227
+ colors: shades,
1238
1228
  css: properties.map((p) => `${p.name}: ${p.value};`).join('\n'),
1239
1229
  properties
1240
1230
  };
@@ -1252,7 +1242,7 @@ function setThemeColor(baseColor, theme = 'primary') {
1252
1242
  const DEFAULT_COLOR = '#1780e0';
1253
1243
 
1254
1244
  const CONTENT_BACKGROUND = '--pvt-content-background';
1255
- function RlsLed({ color, rlsTheme }) {
1245
+ function RlsLedComponent({ color, rlsTheme }) {
1256
1246
  const refLed = require$$0.useRef(null);
1257
1247
  const refColor = require$$0.useRef(undefined);
1258
1248
  require$$0.useEffect(() => {
@@ -1267,54 +1257,63 @@ function RlsLed({ color, rlsTheme }) {
1267
1257
  }, [color]);
1268
1258
  return jsxRuntimeExports.jsx("div", { ref: refLed, className: "rls-led", "rls-theme": rlsTheme });
1269
1259
  }
1260
+ const RlsLed = require$$0.memo(RlsLedComponent);
1270
1261
 
1271
- function RlsMessageIcon({ icon, children, rlsTheme }) {
1262
+ function RlsMessageIconComponent({ icon, children, rlsTheme }) {
1272
1263
  return (jsxRuntimeExports.jsxs("div", { className: "rls-message-icon", "rls-theme": rlsTheme, children: [icon && jsxRuntimeExports.jsx(RlsIcon, { value: icon }), jsxRuntimeExports.jsx("span", { className: "truncate", children: children })] }));
1273
1264
  }
1265
+ const RlsMessageIcon = require$$0.memo(RlsMessageIconComponent);
1274
1266
 
1275
- function RlsPoster({ children, contrasted, rlsTheme }) {
1267
+ function RlsPosterComponent({ children, contrasted, rlsTheme }) {
1276
1268
  const className = require$$0.useMemo(() => {
1277
1269
  return renderClassStatus('rls-poster', { contrasted });
1278
1270
  }, [contrasted]);
1279
1271
  return (jsxRuntimeExports.jsx("div", { className: className, "rls-theme": rlsTheme, children: children }));
1280
1272
  }
1273
+ const RlsPoster = require$$0.memo(RlsPosterComponent);
1281
1274
 
1282
- function RlsProgressBar({ indeterminate, percentage, rlsTheme }) {
1275
+ function RlsProgressBarComponent({ indeterminate, percentage, rlsTheme }) {
1283
1276
  const className = require$$0.useMemo(() => {
1284
1277
  return renderClassStatus('rls-progress-bar', { indeterminate });
1285
1278
  }, [indeterminate]);
1286
1279
  return (jsxRuntimeExports.jsx("div", { className: className, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-progress-bar__component", style: { width: `${percentage ?? 0}%` } }) }));
1287
1280
  }
1281
+ const RlsProgressBar = require$$0.memo(RlsProgressBarComponent);
1288
1282
 
1289
- function RlsProgressCircular({ rlsTheme }) {
1283
+ function RlsProgressCircularComponent({ rlsTheme }) {
1290
1284
  return (jsxRuntimeExports.jsx("div", { className: "rls-progress-circular", "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("svg", { className: "rls-progress-circular__svg", viewBox: "0 0 36 36", children: jsxRuntimeExports.jsx("circle", { className: "rls-progress-circular__circle", cx: "18", cy: "18", r: "12" }) }) }));
1291
1285
  }
1286
+ const RlsProgressCircular = require$$0.memo(RlsProgressCircularComponent);
1292
1287
 
1293
- function RlsRadioButton({ checked, disabled, identifier, rlsTheme, onClick }) {
1288
+ function RlsRadioButtonComponent({ checked, disabled, identifier, rlsTheme, onClick }) {
1294
1289
  const className = require$$0.useMemo(() => {
1295
1290
  return renderClassStatus('rls-radiobutton', { checked, disabled });
1296
1291
  }, [checked, disabled]);
1297
1292
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: className, onClick: onClick, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-radiobutton__component" }) }));
1298
1293
  }
1294
+ const RlsRadioButton = require$$0.memo(RlsRadioButtonComponent);
1299
1295
 
1300
- function RlsSkeletonText({ active, children, rlsTheme }) {
1296
+ function RlsSkeletonTextComponent({ active, children, rlsTheme }) {
1301
1297
  return (jsxRuntimeExports.jsx("div", { className: "rls-skeleton-text", "rls-theme": rlsTheme, children: active ? (jsxRuntimeExports.jsx(RlsSkeleton, {})) : (jsxRuntimeExports.jsx("div", { className: "rls-skeleton-text__value", children: children })) }));
1302
1298
  }
1299
+ const RlsSkeletonText = require$$0.memo(RlsSkeletonTextComponent);
1303
1300
 
1304
- function RlsSwitch({ checked, capsule, disabled, identifier, onClick, rlsTheme }) {
1301
+ function RlsSwitchComponent({ checked, capsule, disabled, identifier, onClick, rlsTheme }) {
1305
1302
  const className = require$$0.useMemo(() => {
1306
1303
  return renderClassStatus('rls-switch', { checked, capsule, disabled });
1307
1304
  }, [checked, capsule, disabled]);
1308
1305
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: className, onClick: onClick, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-switch__component", children: jsxRuntimeExports.jsx("div", { className: "rls-switch__component__element" }) }) }));
1309
1306
  }
1310
- function RlsSwitchControl({ formControl, disabled, identifier, rlsTheme }) {
1307
+ const RlsSwitch = require$$0.memo(RlsSwitchComponent);
1308
+ function RlsSwitchControlComponent({ formControl, disabled, identifier, rlsTheme }) {
1311
1309
  const onClick = require$$0.useCallback(() => {
1312
1310
  formControl.setValue(!formControl.value);
1313
1311
  }, [formControl.value]);
1314
1312
  return (jsxRuntimeExports.jsx(RlsSwitch, { identifier: identifier, checked: formControl.value, disabled: disabled, onClick: onClick, rlsTheme: rlsTheme }));
1315
1313
  }
1314
+ const RlsSwitchControl = require$$0.memo(RlsSwitchControlComponent);
1316
1315
 
1317
- function RlsAccordion({ bordered, children, className, disabled, identifier, onToggle, opened, rlsTheme, title }) {
1316
+ function RlsAccordionComponent({ bordered, children, className, disabled, identifier, onToggle, opened, rlsTheme, title }) {
1318
1317
  const [open, setOpen] = require$$0.useState(opened);
1319
1318
  const [animating, setAnimating] = require$$0.useState(false);
1320
1319
  const contentRef = require$$0.useRef(null);
@@ -1367,33 +1366,38 @@ function RlsAccordion({ bordered, children, className, disabled, identifier, onT
1367
1366
  }, [open]);
1368
1367
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: classNameAccordion, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("button", { type: "button", className: "rls-accordion__header", "aria-expanded": open, disabled: disabled, onClick: onClickHeader, children: [jsxRuntimeExports.jsx("span", { className: "rls-accordion__title", children: title }), jsxRuntimeExports.jsx("span", { className: "rls-accordion__indicator", children: jsxRuntimeExports.jsx(RlsIcon, { value: "chevron-down" }) })] }), jsxRuntimeExports.jsx("div", { ref: contentRef, className: "rls-accordion__body", "aria-hidden": !open, onTransitionEnd: onTransitionEnd, children: jsxRuntimeExports.jsx("div", { className: "rls-accordion__content", children: children }) })] }));
1369
1368
  }
1369
+ const RlsAccordion = require$$0.memo(RlsAccordionComponent);
1370
1370
 
1371
- function RlsAlert({ bordered, children, icon, identifier, rlsTheme }) {
1371
+ function RlsAlertComponent({ bordered, children, icon, identifier, rlsTheme }) {
1372
1372
  const className = require$$0.useMemo(() => {
1373
1373
  return renderClassStatus('rls-alert', { bordered });
1374
1374
  }, [bordered]);
1375
1375
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [icon && (jsxRuntimeExports.jsx("div", { className: "rls-alert__icon", children: jsxRuntimeExports.jsx(RlsIcon, { value: icon }) })), jsxRuntimeExports.jsx("div", { className: "rls-alert__content", children: children })] }));
1376
1376
  }
1377
+ const RlsAlert = require$$0.memo(RlsAlertComponent);
1377
1378
 
1378
- function RlsBallot({ bordered, className, children, img, initials, skeleton, subtitle, rlsTheme }) {
1379
+ function RlsBallotComponent({ bordered, className, children, img, initials, skeleton, subtitle, rlsTheme }) {
1379
1380
  const classNameBallot = require$$0.useMemo(() => {
1380
1381
  return renderClassStatus('rls-ballot', { bordered, skeleton }, className);
1381
1382
  }, [bordered, skeleton, className]);
1382
1383
  return (jsxRuntimeExports.jsxs("div", { className: classNameBallot, "rls-theme": rlsTheme, children: [(img || initials) && (jsxRuntimeExports.jsxs(RlsAvatar, { skeleton: skeleton, children: [img && jsxRuntimeExports.jsx("img", { src: img }), initials && jsxRuntimeExports.jsx("span", { children: initials })] })), jsxRuntimeExports.jsxs("div", { className: "rls-ballot__component", children: [jsxRuntimeExports.jsx("div", { className: "rls-ballot__title", children: jsxRuntimeExports.jsx(RlsSkeletonText, { active: skeleton, children: children }) }), subtitle && (jsxRuntimeExports.jsx("div", { className: "rls-ballot__subtitle", children: jsxRuntimeExports.jsx(RlsSkeletonText, { active: skeleton, children: subtitle }) }))] })] }));
1383
1384
  }
1385
+ const RlsBallot = require$$0.memo(RlsBallotComponent);
1384
1386
 
1385
- function RlsBody({ children, identifier, rlsTheme }) {
1387
+ function RlsBodyComponent({ children, identifier, rlsTheme }) {
1386
1388
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-app__page__body", "rls-theme": rlsTheme, children: children }));
1387
1389
  }
1390
+ const RlsBody = require$$0.memo(RlsBodyComponent);
1388
1391
 
1389
- function RlsButtonProgress({ icon, disabled, onClick, progressing, rlsTheme }) {
1392
+ function RlsButtonProgressComponent({ icon, disabled, onClick, progressing, rlsTheme }) {
1390
1393
  const className = require$$0.useMemo(() => {
1391
1394
  return renderClassStatus('rls-button-progress', { progressing });
1392
1395
  }, [progressing]);
1393
1396
  return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [!progressing && (jsxRuntimeExports.jsx(RlsButtonAction, { icon: icon, onClick: onClick, disabled: disabled })), progressing && jsxRuntimeExports.jsx(RlsProgressCircular, {})] }));
1394
1397
  }
1398
+ const RlsButtonProgress = require$$0.memo(RlsButtonProgressComponent);
1395
1399
 
1396
- function RlsButtonStepper({ disabled, onAction, rlsTheme }) {
1400
+ function RlsButtonStepperComponent({ disabled, onAction, rlsTheme }) {
1397
1401
  const onDown = require$$0.useCallback(() => {
1398
1402
  onAction?.('down');
1399
1403
  }, [onAction]);
@@ -1402,8 +1406,9 @@ function RlsButtonStepper({ disabled, onAction, rlsTheme }) {
1402
1406
  }, [onAction]);
1403
1407
  return (jsxRuntimeExports.jsxs("div", { className: "rls-button-stepper", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-down", disabled: disabled, onClick: onDown }), jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-up", disabled: disabled, onClick: onUp })] }));
1404
1408
  }
1409
+ const RlsButtonStepper = require$$0.memo(RlsButtonStepperComponent);
1405
1410
 
1406
- function RlsButtonToggle({ onAction, options, type, automatic, disabled, rlsTheme }) {
1411
+ function RlsButtonToggleComponent({ onAction, options, type, automatic, disabled, rlsTheme }) {
1407
1412
  const componentRef = require$$0.useRef(null);
1408
1413
  const [action, setAction] = require$$0.useState(options[0]);
1409
1414
  const [visible, setVisible] = require$$0.useState(false);
@@ -1448,10 +1453,12 @@ function RlsButtonToggle({ onAction, options, type, automatic, disabled, rlsThem
1448
1453
  }, [options, onSelectAction]);
1449
1454
  return (jsxRuntimeExports.jsxs("div", { className: "rls-button-toggle", ref: componentRef, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-button-toggle__content", children: [action && (jsxRuntimeExports.jsx("div", { className: "rls-button-toggle__action", children: jsxRuntimeExports.jsx(RlsButton, { disabled: disabled, type: type, onClick: onClickAction, children: action.label }) })), jsxRuntimeExports.jsx("div", { className: "rls-button-toggle__icon", children: jsxRuntimeExports.jsx(RlsButton, { type: type, prefixIcon: "arrow-ios-down", disabled: disabled, onClick: onClickMenu }) })] }), jsxRuntimeExports.jsx("div", { className: classNameList, children: jsxRuntimeExports.jsx("ul", { children: options.map((action, index) => (jsxRuntimeExports.jsx("li", { className: "rls-truncate", "data-index": index, onClick: onClickOption, children: action.label }, index))) }) })] }));
1450
1455
  }
1456
+ const RlsButtonToggle = require$$0.memo(RlsButtonToggleComponent);
1451
1457
 
1452
- function RlsContent({ children, identifier, rlsTheme }) {
1458
+ function RlsContentComponent({ children, identifier, rlsTheme }) {
1453
1459
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: "rls-app__page__content", "rls-theme": rlsTheme, children: children }));
1454
1460
  }
1461
+ const RlsContent = require$$0.memo(RlsContentComponent);
1455
1462
 
1456
1463
  const errors = {
1457
1464
  es: {
@@ -1562,7 +1569,7 @@ function msgErrorsI18n(key, language, interpolators) {
1562
1569
  return _msgErrorsI18n(key, { language, interpolators });
1563
1570
  }
1564
1571
 
1565
- function RlsMessageFormError({ className, formControl }) {
1572
+ function RlsMessageFormErrorComponent({ className, formControl }) {
1566
1573
  const [language, setLanguage] = require$$0.useState('es');
1567
1574
  require$$0.useEffect(() => {
1568
1575
  return i18n.i18nSubscribe((language) => {
@@ -1576,8 +1583,9 @@ function RlsMessageFormError({ className, formControl }) {
1576
1583
  }, [formControl?.error, language]);
1577
1584
  return (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: formControl?.wrong && (jsxRuntimeExports.jsx("div", { className: className, children: jsxRuntimeExports.jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: msgError }) })) }));
1578
1585
  }
1586
+ const RlsMessageFormError = require$$0.memo(RlsMessageFormErrorComponent);
1579
1587
 
1580
- function RlsFieldArea(props) {
1588
+ function RlsFieldAreaComponent(props) {
1581
1589
  const { children, formControl, identifier, rlsTheme } = props;
1582
1590
  const disabled = require$$0.useMemo(() => {
1583
1591
  return formControl?.disabled || props.disabled;
@@ -1592,8 +1600,9 @@ function RlsFieldArea(props) {
1592
1600
  }, [formControl?.focused, formControl?.wrong, props.readOnly, disabled]);
1593
1601
  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(RlsAreaText, { ...props }) }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1594
1602
  }
1603
+ const RlsFieldArea = require$$0.memo(RlsFieldAreaComponent);
1595
1604
 
1596
- function RlsFieldDecimal(props) {
1605
+ function RlsFieldDecimalComponent(props) {
1597
1606
  const { children, formControl, identifier, rlsTheme } = props;
1598
1607
  const disabled = require$$0.useMemo(() => {
1599
1608
  return formControl?.disabled || props.disabled;
@@ -1608,8 +1617,9 @@ function RlsFieldDecimal(props) {
1608
1617
  }, [formControl?.focused, formControl?.wrong, props.readOnly, disabled]);
1609
1618
  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(RlsInputDecimal, { ...props }) }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1610
1619
  }
1620
+ const RlsFieldDecimal = require$$0.memo(RlsFieldDecimalComponent);
1611
1621
 
1612
- function RlsFieldFile({ accept, children, disabled: _disabled, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value }) {
1622
+ function RlsFieldFileComponent({ accept, children, disabled: _disabled, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value }) {
1613
1623
  const inputRef = require$$0.useRef(null);
1614
1624
  const disabled = require$$0.useMemo(() => formControl?.disabled || _disabled, [formControl?.disabled, _disabled]);
1615
1625
  const className = require$$0.useMemo(() => renderClassStatus('rls-field-box', {
@@ -1647,6 +1657,7 @@ function RlsFieldFile({ accept, children, disabled: _disabled, formControl, iden
1647
1657
  }, [readOnly, disabled]);
1648
1658
  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", onClick: onClickControl, children: jsxRuntimeExports.jsxs("div", { className: "rls-field-box__body", children: [jsxRuntimeExports.jsx("input", { className: "rls-input__component", readOnly: true, type: "text", value: displayValue, placeholder: placeholder }), jsxRuntimeExports.jsx("input", { ref: inputRef, className: "rls-field-file__input", type: "file", accept: accept, disabled: disabled || readOnly, onChange: onChangeInput }), jsxRuntimeExports.jsx(RlsButtonAction, { icon: currentFile ? 'close' : 'attach', disabled: disabled, onClick: onClickAction })] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1649
1659
  }
1660
+ const RlsFieldFile = require$$0.memo(RlsFieldFileComponent);
1650
1661
 
1651
1662
  const reactI18n = i18n.i18n({
1652
1663
  es: {
@@ -1684,7 +1695,7 @@ function RlsFieldListLi({ element, onClickElement, onKeydownElement, render }) {
1684
1695
  }, [element, onKeydownElement]);
1685
1696
  return (jsxRuntimeExports.jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: onClick, onKeyDown: onKeyDown, children: render(element) }));
1686
1697
  }
1687
- function RlsFieldListSuggestions({ elements, action, disabled, higher, render, renderEmpty, searchControl, visible, onClickBackdrop, onClickElement, onKeydownElement, refList, rlsTheme }) {
1698
+ function RlsFieldListSuggestionsComponent({ elements, action, disabled, higher, render, renderEmpty, searchControl, visible, onClickBackdrop, onClickElement, onKeydownElement, refList, rlsTheme }) {
1688
1699
  const [labels, setLabels] = require$$0.useState({
1689
1700
  listEmptyDescription: reactI18n('listEmptyDescription'),
1690
1701
  listEmptyTitle: reactI18n('listEmptyTitle')
@@ -1716,8 +1727,9 @@ function RlsFieldListSuggestions({ elements, action, disabled, higher, render, r
1716
1727
  const searching = searchControl?.searching ?? false;
1717
1728
  return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-field-list__suggestions__body", children: [jsxRuntimeExports.jsxs("ul", { ref: refList, className: "rls-field-list__ul", children: [searchControl && (jsxRuntimeExports.jsxs("div", { className: "rls-field-list__ul__search", children: [jsxRuntimeExports.jsx("input", { className: "rls-field-list__ul__control", ref: searchControl.refInput, type: "text", placeholder: searchControl.placeholder, value: searchControl.pattern, onChange: onChangePattern, onFocus: searchControl.onFocus, onBlur: searchControl.onBlur, onKeyDown: searchControl.onKeyDown, disabled: disabled || searching }), searchControl.onSearch && (jsxRuntimeExports.jsx("button", { disabled: disabled || searching, onClick: searchControl.onSearch, children: jsxRuntimeExports.jsx(RlsIcon, { value: "search" }) }))] })), searching && jsxRuntimeExports.jsx(RlsProgressBar, { indeterminate: true }), elements.map((element, index) => (jsxRuntimeExports.jsx(RlsFieldListLi, { element: element, onClickElement: onClickElement, onKeydownElement: onKeydownElement, render: render }, index))), !elements.length && (jsxRuntimeExports.jsx("li", { className: "rls-field-list__empty", children: renderEmpty ? (renderEmpty()) : (jsxRuntimeExports.jsxs("div", { className: "rls-field-list__empty__description", children: [jsxRuntimeExports.jsx("span", { className: "rls-label-font-bold rls-truncate", children: labels.listEmptyTitle }), jsxRuntimeExports.jsx("p", { className: "rls-caption-font-regular", children: labels.listEmptyDescription })] })) }))] }), action && (jsxRuntimeExports.jsx("div", { className: "rls-field-list__action", children: jsxRuntimeExports.jsxs("button", { type: "button", disabled: disabled || action.disabled, onClick: onClickAction, children: [action.icon && jsxRuntimeExports.jsx(RlsIcon, { value: action.icon }), jsxRuntimeExports.jsx("span", { className: "rls-field-list__action__description", children: action.description })] }) }))] }), jsxRuntimeExports.jsx("div", { className: "rls-field-list__backdrop", onClick: onClickBackdrop })] }));
1718
1729
  }
1730
+ const RlsFieldListSuggestions = require$$0.memo(RlsFieldListSuggestionsComponent);
1719
1731
 
1720
- function RlsFieldMoney(props) {
1732
+ function RlsFieldMoneyComponent(props) {
1721
1733
  const { action, children, formControl, identifier, rlsTheme } = props;
1722
1734
  const disabled = require$$0.useMemo(() => {
1723
1735
  return formControl?.disabled || props.disabled;
@@ -1732,8 +1744,9 @@ function RlsFieldMoney(props) {
1732
1744
  }, [formControl?.focused, formControl?.wrong, props.readOnly, disabled]);
1733
1745
  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(RlsInputMoney, { ...props }), action && (jsxRuntimeExports.jsx(RlsButtonAction, { icon: action.icon, disabled: disabled, onClick: action.onClick }))] }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1734
1746
  }
1747
+ const RlsFieldMoney = require$$0.memo(RlsFieldMoneyComponent);
1735
1748
 
1736
- function RlsFieldNumber(props) {
1749
+ function RlsFieldNumberComponent(props) {
1737
1750
  const { action, children, formControl, identifier, rlsTheme } = props;
1738
1751
  const disabled = require$$0.useMemo(() => {
1739
1752
  return formControl?.disabled || props.disabled;
@@ -1748,8 +1761,9 @@ function RlsFieldNumber(props) {
1748
1761
  }, [formControl?.focused, formControl?.wrong, props.readOnly, disabled]);
1749
1762
  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(RlsInputNumber, { ...props }), action && (jsxRuntimeExports.jsx(RlsButtonAction, { icon: action.icon, disabled: disabled, onClick: action.onClick }))] }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1750
1763
  }
1764
+ const RlsFieldNumber = require$$0.memo(RlsFieldNumberComponent);
1751
1765
 
1752
- function RlsFieldPassword(props) {
1766
+ function RlsFieldPasswordComponent(props) {
1753
1767
  const { children, formControl, identifier, rlsTheme } = props;
1754
1768
  const [passwordIsActive, setPasswordIsActive] = require$$0.useState(true);
1755
1769
  const disabled = require$$0.useMemo(() => {
@@ -1768,8 +1782,9 @@ function RlsFieldPassword(props) {
1768
1782
  }, []);
1769
1783
  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: passwordIsActive ? 'password' : 'text' }), jsxRuntimeExports.jsx(RlsButtonAction, { icon: passwordIsActive ? 'eye' : 'eye-off', onClick: onTogglePassword })] }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1770
1784
  }
1785
+ const RlsFieldPassword = require$$0.memo(RlsFieldPasswordComponent);
1771
1786
 
1772
- function RlsFieldPercentage(props) {
1787
+ function RlsFieldPercentageComponent(props) {
1773
1788
  const { action, children, formControl, identifier, rlsTheme } = props;
1774
1789
  const disabled = require$$0.useMemo(() => {
1775
1790
  return formControl?.disabled || props.disabled;
@@ -1784,12 +1799,14 @@ function RlsFieldPercentage(props) {
1784
1799
  }, [formControl?.focused, formControl?.wrong, props.readOnly, disabled]);
1785
1800
  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(RlsInputPercentage, { ...props }), action && (jsxRuntimeExports.jsx(RlsButtonAction, { icon: action.icon, disabled: disabled, onClick: action.onClick }))] }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1786
1801
  }
1802
+ const RlsFieldPercentage = require$$0.memo(RlsFieldPercentageComponent);
1787
1803
 
1788
- function RlsFieldReadonly({ children, identifier, rlsTheme, value }) {
1804
+ function RlsFieldReadonlyComponent({ children, identifier, rlsTheme, value }) {
1789
1805
  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 }) }) })] }));
1790
1806
  }
1807
+ const RlsFieldReadonly = require$$0.memo(RlsFieldReadonlyComponent);
1791
1808
 
1792
- function RlsFieldText(props) {
1809
+ function RlsFieldTextComponent(props) {
1793
1810
  const { action, children, formControl, identifier, rlsTheme } = props;
1794
1811
  const disabled = require$$0.useMemo(() => {
1795
1812
  return formControl?.disabled || props.disabled;
@@ -1804,6 +1821,7 @@ function RlsFieldText(props) {
1804
1821
  }, [formControl?.focused, formControl?.wrong, props.readOnly, disabled]);
1805
1822
  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(RlsInputText, { ...props }), action && (jsxRuntimeExports.jsx(RlsButtonAction, { icon: action.icon, disabled: disabled, onClick: action.onClick }))] }) }), !props.msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }));
1806
1823
  }
1824
+ const RlsFieldText = require$$0.memo(RlsFieldTextComponent);
1807
1825
 
1808
1826
  function useFormToggleController({ disabled, formControl }) {
1809
1827
  const [checked, setChecked] = require$$0.useState(!!formControl?.value);
@@ -1825,7 +1843,7 @@ function useFormToggleController({ disabled, formControl }) {
1825
1843
  return { checked, onToggle };
1826
1844
  }
1827
1845
 
1828
- function RlsLabelCheckBox({ children, disabled, extended, identifier, formControl, reverse, rlsTheme }) {
1846
+ function RlsLabelCheckBoxComponent({ children, disabled, extended, identifier, formControl, reverse, rlsTheme }) {
1829
1847
  const { checked, onToggle } = useFormToggleController({
1830
1848
  disabled,
1831
1849
  formControl
@@ -1839,8 +1857,9 @@ function RlsLabelCheckBox({ children, disabled, extended, identifier, formContro
1839
1857
  }, [disabled, extended, reverse]);
1840
1858
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-label-checkbox__component", onClick: onToggle, children: jsxRuntimeExports.jsx(RlsCheckBox, { checked: checked, disabled: disabled }) }), jsxRuntimeExports.jsx("div", { className: "rls-label-checkbox__text", children: children })] }));
1841
1859
  }
1860
+ const RlsLabelCheckBox = require$$0.memo(RlsLabelCheckBoxComponent);
1842
1861
 
1843
- function RlsLabelRadioButton({ children, disabled, extended, identifier, formControl, onValue, reverse, rlsTheme, value }) {
1862
+ function RlsLabelRadioButtonComponent({ children, disabled, extended, identifier, formControl, onValue, reverse, rlsTheme, value }) {
1844
1863
  const { checked, onSelect } = useFormSingleSelectionController({
1845
1864
  disabled,
1846
1865
  formControl,
@@ -1856,8 +1875,9 @@ function RlsLabelRadioButton({ children, disabled, extended, identifier, formCon
1856
1875
  }, [disabled, extended, reverse]);
1857
1876
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-label-radiobutton__component", onClick: onSelect, children: jsxRuntimeExports.jsx(RlsRadioButton, { checked: checked, disabled: disabled }) }), jsxRuntimeExports.jsx("div", { className: "rls-label-radiobutton__text", children: children })] }));
1858
1877
  }
1878
+ const RlsLabelRadioButton = require$$0.memo(RlsLabelRadioButtonComponent);
1859
1879
 
1860
- function RlsLabelSwitch({ capsule, children, disabled, extended, identifier, formControl, reverse, rlsTheme }) {
1880
+ function RlsLabelSwitchComponent({ capsule, children, disabled, extended, identifier, formControl, reverse, rlsTheme }) {
1861
1881
  const { checked, onToggle } = useFormToggleController({
1862
1882
  disabled,
1863
1883
  formControl
@@ -1871,8 +1891,9 @@ function RlsLabelSwitch({ capsule, children, disabled, extended, identifier, for
1871
1891
  }, [disabled, extended, reverse]);
1872
1892
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: className, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-label-switch__component", onClick: onToggle, children: jsxRuntimeExports.jsx(RlsSwitch, { checked: checked, capsule: capsule, disabled: disabled }) }), jsxRuntimeExports.jsx("div", { className: "rls-label-switch__text", children: children })] }));
1873
1893
  }
1894
+ const RlsLabelSwitch = require$$0.memo(RlsLabelSwitchComponent);
1874
1895
 
1875
- function RlsMessageEmpty({ children, className, emoji, icon, identifier, image, rlsTheme, title }) {
1896
+ function RlsMessageEmptyComponent({ children, className, emoji, icon, identifier, image, rlsTheme, title }) {
1876
1897
  const classNameMessageEmpty = require$$0.useMemo(() => {
1877
1898
  return renderClassStatus('rls-message-empty', {}, className);
1878
1899
  }, [className]);
@@ -1890,10 +1911,12 @@ function RlsMessageEmpty({ children, className, emoji, icon, identifier, image,
1890
1911
  }, [icon, emoji, image]);
1891
1912
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: classNameMessageEmpty, "rls-theme": rlsTheme, children: [logo, jsxRuntimeExports.jsxs("div", { className: "rls-message-empty__body", children: [title && jsxRuntimeExports.jsx("div", { className: "rls-message-empty__title", children: title }), children && (jsxRuntimeExports.jsx("div", { className: "rls-message-empty__content", children: children }))] })] }));
1892
1913
  }
1914
+ const RlsMessageEmpty = require$$0.memo(RlsMessageEmptyComponent);
1893
1915
 
1894
- function RlsNavbar({ children, identifier, rlsTheme }) {
1916
+ function RlsNavbarComponent({ children, identifier, rlsTheme }) {
1895
1917
  return (jsxRuntimeExports.jsxs("nav", { id: identifier, className: "rls-app__page__nav", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-app__page__nav__content", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-app__page__nav__backdrop" })] }));
1896
1918
  }
1919
+ const RlsNavbar = require$$0.memo(RlsNavbarComponent);
1897
1920
 
1898
1921
  function RlsNavbarMenuOption({ option, onOption }) {
1899
1922
  const onClick = require$$0.useCallback(() => {
@@ -1901,9 +1924,10 @@ function RlsNavbarMenuOption({ option, onOption }) {
1901
1924
  }, [onOption]);
1902
1925
  return (jsxRuntimeExports.jsxs("li", { className: "rls-app__page__nav__option", onClick: onClick, children: [jsxRuntimeExports.jsx(RlsIcon, { value: option.icon }), jsxRuntimeExports.jsx("span", { className: "rls-label-font", children: option.label })] }));
1903
1926
  }
1904
- function RlsNavbarMenu({ options, onOption }) {
1927
+ function RlsNavbarMenuComponent({ options, onOption }) {
1905
1928
  return (jsxRuntimeExports.jsx("ul", { className: "rls-app__page__nav__menu", children: options.map((option) => (jsxRuntimeExports.jsx(RlsNavbarMenuOption, { option: option, onOption: onOption }, option.id))) }));
1906
1929
  }
1930
+ const RlsNavbarMenu = require$$0.memo(RlsNavbarMenuComponent);
1907
1931
 
1908
1932
  function PageButton({ page, onSelect }) {
1909
1933
  const className = require$$0.useMemo(() => renderClassStatus('rls-pagination__page', { active: page.active }), [page.active]);
@@ -1912,7 +1936,7 @@ function PageButton({ page, onSelect }) {
1912
1936
  }, [page, onSelect]);
1913
1937
  return (jsxRuntimeExports.jsx("button", { type: "button", className: className, onClick: onClick, children: page.label }));
1914
1938
  }
1915
- function RlsPagination({ suggestions, count, filter, onPagination }) {
1939
+ function RlsPaginationComponent({ suggestions, count, filter, onPagination }) {
1916
1940
  const [template, setTemplate] = require$$0.useState();
1917
1941
  const controller = require$$0.useRef(undefined);
1918
1942
  const refreshTemplate = require$$0.useCallback((template, suggestions) => {
@@ -1954,6 +1978,7 @@ function RlsPagination({ suggestions, count, filter, onPagination }) {
1954
1978
  }, [refreshPagination]);
1955
1979
  return (jsxRuntimeExports.jsxs("div", { className: "rls-pagination", children: [jsxRuntimeExports.jsxs("div", { className: "rls-pagination__actions", children: [jsxRuntimeExports.jsx("button", { className: "rls-pagination__action", onClick: goFirstPagination, disabled: template?.firstPage, children: jsxRuntimeExports.jsx(RlsIcon, { value: "arrowhead-left" }) }), jsxRuntimeExports.jsx("button", { className: "rls-pagination__action", onClick: goPreviousPagination, disabled: template?.firstPage, children: jsxRuntimeExports.jsx(RlsIcon, { value: "arrow-ios-left" }) })] }), jsxRuntimeExports.jsxs("div", { className: "rls-pagination__body", children: [jsxRuntimeExports.jsx("div", { className: "rls-pagination__pages", children: template?.pages.map((page) => (jsxRuntimeExports.jsx(PageButton, { page: page, onSelect: goToPagination }, page.value))) }), jsxRuntimeExports.jsx("div", { className: "rls-pagination__description", children: template?.description }), jsxRuntimeExports.jsx("span", { className: "rls-pagination__count", children: suggestions.length })] }), jsxRuntimeExports.jsxs("div", { className: "rls-pagination__actions", children: [jsxRuntimeExports.jsx("button", { className: "rls-pagination__action", onClick: goNextPagination, disabled: template?.lastPage, children: jsxRuntimeExports.jsx(RlsIcon, { value: "arrow-ios-right" }) }), jsxRuntimeExports.jsx("button", { className: "rls-pagination__action", onClick: goLastPagination, disabled: template?.lastPage, children: jsxRuntimeExports.jsx(RlsIcon, { value: "arrowhead-right" }) })] })] }));
1956
1980
  }
1981
+ const RlsPagination = require$$0.memo(RlsPaginationComponent);
1957
1982
 
1958
1983
  function RlsPickerDayHeaders() {
1959
1984
  return (jsxRuntimeExports.jsx("div", { className: "rls-picker-day__header", children: dates.DAY_LABELS().map((title, index) => (jsxRuntimeExports.jsx("span", { className: "rls-picker-day__label", children: title }, index))) }));
@@ -1975,7 +2000,7 @@ function RlsPickerDayElement({ day, onSelect, disabled }) {
1975
2000
  }, [day.value, day.disabled, disabled, onSelect]);
1976
2001
  return (jsxRuntimeExports.jsx("div", { className: className, onClick: onClick, children: jsxRuntimeExports.jsx("span", { className: "rls-picker-day__element__span", children: day.value || '??' }) }));
1977
2002
  }
1978
- function RlsPickerDay({ date, disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }) {
2003
+ function RlsPickerDayComponent({ date, disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }) {
1979
2004
  const dateDay = require$$0.useMemo(() => date ?? new Date(), [date]);
1980
2005
  const [weeks, setWeeks] = require$$0.useState([]);
1981
2006
  const [value, setValue] = require$$0.useState(formControl?.value ?? dateDay.getDate());
@@ -2028,6 +2053,7 @@ function RlsPickerDay({ date, disabled, formControl, maxDate, month, minDate, on
2028
2053
  }, [dateDay, formControl?.value, value, month, year, minDate, maxDate]);
2029
2054
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-day", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx(RlsPickerDayHeaders, {}), jsxRuntimeExports.jsx("div", { className: "rls-picker-day__component", children: weeks.map(({ days }, index) => (jsxRuntimeExports.jsx("div", { className: "rls-picker-day__week", children: days.map((day, index) => (jsxRuntimeExports.jsx(RlsPickerDayElement, { day: day, onSelect: onSelect, disabled: disabled }, index))) }, index))) })] }));
2030
2055
  }
2056
+ const RlsPickerDay = require$$0.memo(RlsPickerDayComponent);
2031
2057
 
2032
2058
  function RlsPickerDayRangeHeaders() {
2033
2059
  return (jsxRuntimeExports.jsx("div", { className: "rls-picker-day__header", children: dates.DAY_LABELS().map((title, index) => (jsxRuntimeExports.jsx("span", { className: "rls-picker-day__label", children: title }, index))) }));
@@ -2049,7 +2075,7 @@ function RlsPickerDayRangeElement({ day, onSelect, disabled }) {
2049
2075
  }, [day.value, day.disabled, disabled, onSelect]);
2050
2076
  return (jsxRuntimeExports.jsx("div", { className: className, onClick: onClick, children: jsxRuntimeExports.jsx("span", { className: "rls-picker-day-range__element__span", children: day.value || '??' }) }));
2051
2077
  }
2052
- function RlsPickerDayRange({ date, disabled, formControl, maxDate, minDate, rlsTheme }) {
2078
+ function RlsPickerDayRangeComponent({ date, disabled, formControl, maxDate, minDate, rlsTheme }) {
2053
2079
  const rangeDay = require$$0.useMemo(() => {
2054
2080
  return formControl?.value ?? dates.DateRange.now();
2055
2081
  }, [formControl?.value]);
@@ -2085,6 +2111,7 @@ function RlsPickerDayRange({ date, disabled, formControl, maxDate, minDate, rlsT
2085
2111
  }, [dateDayRange, range, minDate, maxDate]);
2086
2112
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-day-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx(RlsPickerDayRangeHeaders, {}), jsxRuntimeExports.jsx("div", { className: "rls-picker-day-range__component", children: weeks.map(({ days }, index) => (jsxRuntimeExports.jsx("div", { className: "rls-picker-day-range__week", children: days.map((day, index) => (jsxRuntimeExports.jsx(RlsPickerDayRangeElement, { day: day, onSelect: onSelect, disabled: disabled }, index))) }, index))) })] }));
2087
2113
  }
2114
+ const RlsPickerDayRange = require$$0.memo(RlsPickerDayRangeComponent);
2088
2115
 
2089
2116
  function RlsPickerMonthElement({ month, onSelect, disabled }) {
2090
2117
  const [label, setLabel] = require$$0.useState(dates.MONTH_NAMES(month.value));
@@ -2107,7 +2134,7 @@ function RlsPickerMonthElement({ month, onSelect, disabled }) {
2107
2134
  }, [month.value, month.disabled, disabled, onSelect]);
2108
2135
  return (jsxRuntimeExports.jsx("div", { className: className, onClick: onClick, children: jsxRuntimeExports.jsx("span", { className: "rls-picker-month__span", children: label }) }));
2109
2136
  }
2110
- function RlsPickerMonth({ date, disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
2137
+ function RlsPickerMonthComponent({ date, disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
2111
2138
  const dateMonth = require$$0.useMemo(() => date ?? new Date(), [date]);
2112
2139
  const [months, setMonths] = require$$0.useState([]);
2113
2140
  const [value, setValue] = require$$0.useState(formControl?.value ?? dateMonth.getMonth());
@@ -2156,8 +2183,9 @@ function RlsPickerMonth({ date, disabled, formControl, maxDate, minDate, onValue
2156
2183
  }, [formControl?.value]);
2157
2184
  return (jsxRuntimeExports.jsx("div", { className: "rls-picker-month", "rls-theme": rlsTheme, children: months.map((month, index) => (jsxRuntimeExports.jsx(RlsPickerMonthElement, { month: month, onSelect: onSelect, disabled: disabled }, index))) }));
2158
2185
  }
2186
+ const RlsPickerMonth = require$$0.memo(RlsPickerMonthComponent);
2159
2187
 
2160
- function RlsPickerSelectorTitle({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }) {
2188
+ function RlsPickerSelectorTitleComponent({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }) {
2161
2189
  const { limitNext, limitPrevious } = require$$0.useMemo(() => {
2162
2190
  return components.monthLimitTemplate({
2163
2191
  date,
@@ -2233,6 +2261,7 @@ function RlsPickerSelectorTitle({ monthControl, type, yearControl, date, disable
2233
2261
  }, [type, onNextMonth, onNextYear]);
2234
2262
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-selector-title", children: [jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-left", onClick: onPrevious, disabled: limitPrevious || disabled }), jsxRuntimeExports.jsxs("div", { className: "rls-picker-selector-title__label", children: [jsxRuntimeExports.jsxs("span", { onClick: onMonth, children: [label, ","] }), jsxRuntimeExports.jsx("span", { onClick: onYear, children: yearControl.value })] }), jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-right", onClick: onNext, disabled: limitNext || disabled })] }));
2235
2263
  }
2264
+ const RlsPickerSelectorTitle = require$$0.memo(RlsPickerSelectorTitleComponent);
2236
2265
 
2237
2266
  function RlsPickerYearElement({ onSelect, year, disabled }) {
2238
2267
  const className = require$$0.useMemo(() => {
@@ -2249,7 +2278,7 @@ function RlsPickerYearElement({ onSelect, year, disabled }) {
2249
2278
  }, [year.value, year.disabled, disabled, onSelect]);
2250
2279
  return (jsxRuntimeExports.jsx("div", { className: className, onClick: onClick, children: jsxRuntimeExports.jsx("span", { className: "rls-picker-year__span", children: year.value || '????' }) }));
2251
2280
  }
2252
- function RlsPickerYear({ date, disabled, formControl, maxDate, minDate, onValue, rlsTheme }) {
2281
+ function RlsPickerYearComponent({ date, disabled, formControl, maxDate, minDate, onValue, rlsTheme }) {
2253
2282
  const dateYear = require$$0.useMemo(() => date ?? new Date(), [date]);
2254
2283
  const [year, setYear] = require$$0.useState(formControl?.value ?? dateYear.getFullYear());
2255
2284
  const createPickerOptions = require$$0.useCallback(() => {
@@ -2294,6 +2323,7 @@ function RlsPickerYear({ date, disabled, formControl, maxDate, minDate, onValue,
2294
2323
  }, []);
2295
2324
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-year", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-picker-year__header", children: [jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-left", onClick: onClickPrev, disabled: !template.canPrevious || disabled }), jsxRuntimeExports.jsxs("span", { children: [template.minRange, " - ", template.maxRange] }), jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-right", onClick: onClickNext, disabled: !template.canNext || disabled })] }), jsxRuntimeExports.jsx("div", { className: "rls-picker-year__component", children: template.years.map((year, index) => (jsxRuntimeExports.jsx(RlsPickerYearElement, { year: year, onSelect: onSelect, disabled: disabled }, index))) })] }));
2296
2325
  }
2326
+ const RlsPickerYear = require$$0.memo(RlsPickerYearComponent);
2297
2327
 
2298
2328
  function calculateInitialValue(value, minValue, maxValue) {
2299
2329
  return minValue > value ? minValue : maxValue < value ? maxValue : value;
@@ -2303,7 +2333,7 @@ function calculateInitialRate(value, minValue, maxValue) {
2303
2333
  const rateValue = value - minValue;
2304
2334
  return Math.ceil((rateValue / rateMax) * 100);
2305
2335
  }
2306
- function RlsSlider({ children, className, disabled, formControl, identifier, maxValue, minValue, onValue, prefixIcon, rlsTheme, value }) {
2336
+ function RlsSliderComponent({ children, className, disabled, formControl, identifier, maxValue, minValue, onValue, prefixIcon, rlsTheme, value }) {
2307
2337
  const minValueSlider = require$$0.useMemo(() => {
2308
2338
  return minValue ?? 0;
2309
2339
  }, [minValue]);
@@ -2349,6 +2379,7 @@ function RlsSlider({ children, className, disabled, formControl, identifier, max
2349
2379
  }, [minValueSlider, maxValueSlider]);
2350
2380
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: classNameSlider, "rls-theme": rlsTheme, children: [children && jsxRuntimeExports.jsx("span", { className: "rls-slider__label", children: children }), jsxRuntimeExports.jsxs("div", { className: "rls-slider__body", children: [prefixIcon && jsxRuntimeExports.jsx(RlsIcon, { value: prefixIcon }), jsxRuntimeExports.jsxs("div", { ref: refComponent, className: "rls-slider__component", children: [jsxRuntimeExports.jsx("div", { ref: refTrack, className: "rls-slider__track", onClick: onClickTrack, children: jsxRuntimeExports.jsx("div", { ref: refTrackOn, className: "rls-slider__track__on" }) }), jsxRuntimeExports.jsxs("div", { ref: refThumb, className: "rls-slider__thumb", children: [rate, "%"] })] })] })] }));
2351
2381
  }
2382
+ const RlsSlider = require$$0.memo(RlsSliderComponent);
2352
2383
 
2353
2384
  function RlsTab({ onSelect, tab, value }) {
2354
2385
  const className = require$$0.useMemo(() => {
@@ -2364,7 +2395,7 @@ function RlsTab({ onSelect, tab, value }) {
2364
2395
  }, [tab.disabled]);
2365
2396
  return (jsxRuntimeExports.jsx("div", { className: className, onClick: onClick, children: jsxRuntimeExports.jsx("span", { children: tab.label }) }));
2366
2397
  }
2367
- function RlsTabs({ tabs, onValue, rlsTheme }) {
2398
+ function RlsTabsComponent({ tabs, onValue, rlsTheme }) {
2368
2399
  const [value, setValue] = require$$0.useState();
2369
2400
  const onSelect = require$$0.useCallback((value) => {
2370
2401
  setValue(value);
@@ -2380,12 +2411,14 @@ function RlsTabs({ tabs, onValue, rlsTheme }) {
2380
2411
  return (jsxRuntimeExports.jsx(RlsTab, { tab: tab, value: value, onSelect: onSelect }, index));
2381
2412
  }) }));
2382
2413
  }
2414
+ const RlsTabs = require$$0.memo(RlsTabsComponent);
2383
2415
 
2384
- function RlsToolbar({ actions, children, subtitle }) {
2416
+ function RlsToolbarComponent({ actions, children, subtitle }) {
2385
2417
  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))) }))] }));
2386
2418
  }
2419
+ const RlsToolbar = require$$0.memo(RlsToolbarComponent);
2387
2420
 
2388
- function RlsBottomSheet({ autoclose, children, className, controller, onBackdrop, visible, rlsTheme }) {
2421
+ function RlsBottomSheetComponent({ autoclose, children, className, controller, onBackdrop, visible, rlsTheme }) {
2389
2422
  const classNameSheet = require$$0.useMemo(() => {
2390
2423
  return renderClassStatus('rls-bottom-sheet', { visible: controller?.visible ?? visible }, className);
2391
2424
  }, [className, visible, controller?.visible]);
@@ -2397,13 +2430,15 @@ function RlsBottomSheet({ autoclose, children, className, controller, onBackdrop
2397
2430
  }, [autoclose, controller, onBackdrop]);
2398
2431
  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);
2399
2432
  }
2433
+ const RlsBottomSheet = require$$0.memo(RlsBottomSheetComponent);
2400
2434
 
2401
- function RlsCard({ children, className, outline, rlsTheme }) {
2435
+ function RlsCardComponent({ children, className, outline, rlsTheme }) {
2402
2436
  const classNameCard = require$$0.useMemo(() => {
2403
2437
  return renderClassStatus('rls-card', { outline }, className);
2404
2438
  }, [outline, className]);
2405
2439
  return (jsxRuntimeExports.jsx("div", { className: classNameCard, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-card__content", children: children }) }));
2406
2440
  }
2441
+ const RlsCard = require$$0.memo(RlsCardComponent);
2407
2442
 
2408
2443
  class ConfirmationResult extends commons.SealedPartial {
2409
2444
  static approved() {
@@ -2413,12 +2448,13 @@ class ConfirmationResult extends commons.SealedPartial {
2413
2448
  return new ConfirmationResult('reject');
2414
2449
  }
2415
2450
  }
2416
- function RlsConfirmation({ approved, className, content, reject, rlsTheme, subtitle, title, visible }) {
2451
+ function RlsConfirmationComponent({ approved, className, content, reject, rlsTheme, subtitle, title, visible }) {
2417
2452
  const classConfirmation = require$$0.useMemo(() => {
2418
2453
  return renderClassStatus('rls-confirmation', { visible }, className);
2419
2454
  }, [visible, className]);
2420
2455
  return (jsxRuntimeExports.jsxs("div", { className: classConfirmation, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-confirmation__component", children: [jsxRuntimeExports.jsxs("div", { className: "rls-confirmation__header", children: [title && jsxRuntimeExports.jsx("div", { className: "rls-confirmation__title", children: title }), subtitle && (jsxRuntimeExports.jsx("div", { className: "rls-confirmation__subtitle", children: subtitle }))] }), jsxRuntimeExports.jsx("div", { className: "rls-confirmation__body", children: content && (jsxRuntimeExports.jsx("div", { className: "rls-confirmation__content", children: content })) }), (approved || reject) && (jsxRuntimeExports.jsx("div", { className: "rls-confirmation__footer", children: jsxRuntimeExports.jsxs("div", { className: "rls-confirmation__actions", children: [approved && (jsxRuntimeExports.jsx(RlsButton, { identifier: approved.identifier, type: approved.type, onClick: approved.onClick, disabled: approved.disabled, rlsTheme: approved.rlsTheme, children: approved.label })), reject && (jsxRuntimeExports.jsx(RlsButton, { identifier: reject.identifier, type: reject.type, onClick: reject.onClick, disabled: reject.disabled, rlsTheme: reject.rlsTheme, children: reject.label }))] }) }))] }), jsxRuntimeExports.jsx("div", { className: "rls-confirmation__backdrop" })] }));
2421
2456
  }
2457
+ const RlsConfirmation = require$$0.memo(RlsConfirmationComponent);
2422
2458
  function useConfirmation() {
2423
2459
  const [config, setConfig] = require$$0.useState({});
2424
2460
  const [visible, setVisible] = require$$0.useState(false);
@@ -2484,7 +2520,7 @@ function useDatatable(table) {
2484
2520
  return { refTable, scrolleable };
2485
2521
  }
2486
2522
 
2487
- function RlsDatatable({ children, footer, header, identifier, rlsTheme, resizable, summary, table, toolbar }) {
2523
+ function RlsDatatableComponent({ children, footer, header, identifier, rlsTheme, resizable, summary, table, toolbar }) {
2488
2524
  const datatable = useDatatable(table);
2489
2525
  const className = require$$0.useMemo(() => {
2490
2526
  return renderClassStatus('rls-datatable', {
@@ -2494,53 +2530,62 @@ function RlsDatatable({ children, footer, header, identifier, rlsTheme, resizabl
2494
2530
  }, [resizable, datatable.scrolleable]);
2495
2531
  return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [toolbar && jsxRuntimeExports.jsx("div", { className: "rls-datatable__toolbar", children: toolbar }), jsxRuntimeExports.jsx("div", { className: "rls-datatable__table", children: jsxRuntimeExports.jsxs("table", { id: identifier, children: [header && jsxRuntimeExports.jsx("thead", { className: "rls-datatable__head", children: header }), jsxRuntimeExports.jsx("tbody", { ref: datatable?.refTable, className: "rls-datatable__body", children: children })] }) }), summary && jsxRuntimeExports.jsx("div", { className: "rls-datatable__summary", children: summary }), footer && jsxRuntimeExports.jsx("div", { className: "rls-datatable__footer", children: footer })] }));
2496
2532
  }
2497
- function RlsDatatableHeader({ children, identifier, rlsTheme }) {
2533
+ const RlsDatatable = require$$0.memo(RlsDatatableComponent);
2534
+ function RlsDatatableHeaderComponent({ children, identifier, rlsTheme }) {
2498
2535
  return (jsxRuntimeExports.jsx("tr", { id: identifier, className: "rls-datatable__header", "rls-theme": rlsTheme, children: children }));
2499
2536
  }
2500
- function RlsDatatableTitle({ children, className, control, identifier, rlsTheme, truncated }) {
2537
+ const RlsDatatableHeader = require$$0.memo(RlsDatatableHeaderComponent);
2538
+ function RlsDatatableTitleComponent({ actions, children, className, control, identifier, rlsTheme, truncated }) {
2501
2539
  const classNameTitle = require$$0.useMemo(() => {
2502
- return renderClassStatus('rls-datatable__title', { truncated, control }, className);
2503
- }, [className, truncated, control]);
2540
+ return renderClassStatus('rls-datatable__title', { actions, control, truncated }, className);
2541
+ }, [className, truncated, control, actions]);
2504
2542
  return (jsxRuntimeExports.jsx("th", { id: identifier, className: classNameTitle, "rls-theme": rlsTheme, children: children }));
2505
2543
  }
2506
- function RlsDatatableSubheader({ children, className, identifier, rlsTheme }) {
2544
+ const RlsDatatableTitle = require$$0.memo(RlsDatatableTitleComponent);
2545
+ function RlsDatatableSubheaderComponent({ children, className, identifier, rlsTheme }) {
2507
2546
  const classNameSubheader = require$$0.useMemo(() => {
2508
2547
  return renderClassStatus('rls-datatable__subheader', {}, className);
2509
2548
  }, [className]);
2510
2549
  return (jsxRuntimeExports.jsx("tr", { id: identifier, className: classNameSubheader, "rls-theme": rlsTheme, children: children }));
2511
2550
  }
2512
- function RlsDatatableRecord({ children, className, error, identifier, info, rlsTheme, success, truncated, warning }) {
2551
+ const RlsDatatableSubheader = require$$0.memo(RlsDatatableSubheaderComponent);
2552
+ function RlsDatatableRecordComponent({ children, className, error, identifier, info, rlsTheme, success, truncated, warning }) {
2513
2553
  const classNameRecord = require$$0.useMemo(() => {
2514
2554
  return renderClassStatus('rls-datatable__record', { error, info, truncated, success, warning }, className);
2515
2555
  }, [className, truncated, error, info, success, warning]);
2516
2556
  return (jsxRuntimeExports.jsx("tr", { id: identifier, className: classNameRecord, "rls-theme": rlsTheme, children: children }));
2517
2557
  }
2518
- function RlsDatatableTotals({ children, className, error, identifier, info, rlsTheme, success, truncated, warning }) {
2558
+ const RlsDatatableRecord = require$$0.memo(RlsDatatableRecordComponent);
2559
+ function RlsDatatableTotalsComponent({ children, className, error, identifier, info, rlsTheme, success, truncated, warning }) {
2519
2560
  const classNameTotals = require$$0.useMemo(() => {
2520
2561
  return renderClassStatus('rls-datatable__totals', { error, info, truncated, success, warning }, className);
2521
2562
  }, [className, truncated, error, info, success, warning]);
2522
2563
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: classNameTotals, "rls-theme": rlsTheme, children: children }));
2523
2564
  }
2524
- function RlsDatatableCell({ children, className, control, identifier, rlsTheme, truncated }) {
2565
+ const RlsDatatableTotals = require$$0.memo(RlsDatatableTotalsComponent);
2566
+ function RlsDatatableCellComponent({ actions, children, className, control, identifier, rlsTheme, truncated }) {
2525
2567
  const classNameCell = require$$0.useMemo(() => {
2526
- return renderClassStatus('rls-datatable__cell', { control, truncated }, className);
2527
- }, [className, truncated, control]);
2568
+ return renderClassStatus('rls-datatable__cell', { actions, control, truncated }, className);
2569
+ }, [className, truncated, control, actions]);
2528
2570
  return (jsxRuntimeExports.jsx("td", { id: identifier, className: classNameCell, "rls-theme": rlsTheme, children: children }));
2529
2571
  }
2530
- function RlsDatatableData({ children, className, control, identifier, truncated }) {
2572
+ const RlsDatatableCell = require$$0.memo(RlsDatatableCellComponent);
2573
+ function RlsDatatableDataComponent({ actions, children, className, control, identifier, truncated }) {
2531
2574
  const classNameData = require$$0.useMemo(() => {
2532
- return renderClassStatus('rls-datatable__data', { control, truncated }, className);
2533
- }, [className, truncated, control]);
2575
+ return renderClassStatus('rls-datatable__data', { actions, control, truncated }, className);
2576
+ }, [className, truncated, control, actions]);
2534
2577
  return (jsxRuntimeExports.jsx("div", { id: identifier, className: classNameData, children: children }));
2535
2578
  }
2536
- function RlsDatatableFloating({ children, className, identifier, invested, rlsTheme }) {
2579
+ const RlsDatatableData = require$$0.memo(RlsDatatableDataComponent);
2580
+ function RlsDatatableFloatingComponent({ children, className, identifier, invested, rlsTheme }) {
2537
2581
  const classNameFloating = require$$0.useMemo(() => {
2538
2582
  return renderClassStatus('rls-datatable__floating', { invested }, className);
2539
2583
  }, [className, invested]);
2540
2584
  return (jsxRuntimeExports.jsx("td", { id: identifier, className: classNameFloating, "rls-theme": rlsTheme, children: children }));
2541
2585
  }
2586
+ const RlsDatatableFloating = require$$0.memo(RlsDatatableFloatingComponent);
2542
2587
 
2543
- function RlsDropdown({ children, controller, rlsTheme }) {
2588
+ function RlsDropdownComponent({ children, controller, rlsTheme }) {
2544
2589
  const className = require$$0.useMemo(() => {
2545
2590
  return renderClassStatus('rls-dropdown', {
2546
2591
  visible: controller.visible
@@ -2559,6 +2604,7 @@ function RlsDropdown({ children, controller, rlsTheme }) {
2559
2604
  }, []);
2560
2605
  return (jsxRuntimeExports.jsx("div", { ref: controller.component, className: className, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-dropdown__content", children: children }) }));
2561
2606
  }
2607
+ const RlsDropdown = require$$0.memo(RlsDropdownComponent);
2562
2608
 
2563
2609
  const MAX_LIST_HEIGHT_REM$1 = 90;
2564
2610
  const FALLBACK_REM_SIZE$1 = 16;
@@ -2569,6 +2615,17 @@ function getRemSize$1() {
2569
2615
  const fontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
2570
2616
  return fontSize > 0 ? fontSize : FALLBACK_REM_SIZE$1;
2571
2617
  }
2618
+ function suggestionsShallowEqual(a, b) {
2619
+ return (a === b ||
2620
+ (a.length === b.length && a.every((element, index) => element === b[index])));
2621
+ }
2622
+ function useStableSuggestions(suggestions) {
2623
+ const suggestionsRef = require$$0.useRef(suggestions);
2624
+ if (!suggestionsShallowEqual(suggestionsRef.current, suggestions)) {
2625
+ suggestionsRef.current = suggestions;
2626
+ }
2627
+ return suggestionsRef.current;
2628
+ }
2572
2629
  function shouldDisplayHigher$1(content, list) {
2573
2630
  if (!content) {
2574
2631
  return false;
@@ -2586,13 +2643,13 @@ function shouldDisplayHigher$1(content, list) {
2586
2643
  }
2587
2644
  return spaceAbove > spaceBelow;
2588
2645
  }
2589
- function useListController(props) {
2590
- const { suggestions, automatic, formControl, reference } = props;
2646
+ function useListController({ suggestions, automatic, formControl, reference }) {
2591
2647
  const refContent = require$$0.useRef(null);
2592
2648
  const refList = require$$0.useRef(null);
2593
2649
  const refInput = require$$0.useRef(null);
2594
2650
  const listIsOpen = require$$0.useRef(false);
2595
- const [collection, setCollection] = require$$0.useState(new components.ListCollection(suggestions));
2651
+ const stableSuggestions = useStableSuggestions(suggestions);
2652
+ const collection = require$$0.useMemo(() => new components.ListCollection(stableSuggestions, reference), [stableSuggestions]);
2596
2653
  const [state, refreshState] = require$$0.useState({
2597
2654
  focused: false,
2598
2655
  higher: false,
@@ -2621,9 +2678,6 @@ function useListController(props) {
2621
2678
  formControl?.touch();
2622
2679
  }
2623
2680
  }, [state.listIsVisible]);
2624
- require$$0.useEffect(() => {
2625
- setCollection(new components.ListCollection(suggestions, reference));
2626
- }, [suggestions]);
2627
2681
  require$$0.useEffect(() => {
2628
2682
  if (!changeValueInternal.current) {
2629
2683
  if (formControl?.value) {
@@ -2647,7 +2701,7 @@ function useListController(props) {
2647
2701
  setFormValue(element);
2648
2702
  }
2649
2703
  else {
2650
- refreshState({ ...state, value: '' });
2704
+ refreshState((state) => ({ ...state, value: '' }));
2651
2705
  }
2652
2706
  }
2653
2707
  else {
@@ -2655,20 +2709,20 @@ function useListController(props) {
2655
2709
  setFormValue(collection.value[0], true);
2656
2710
  }
2657
2711
  else {
2658
- refreshState({ ...state, value: '' });
2712
+ refreshState((state) => ({ ...state, value: '' }));
2659
2713
  }
2660
2714
  }
2661
2715
  }
2662
2716
  changeValueInternal.current = false;
2663
2717
  }, [collection, formControl?.value]);
2664
2718
  const setState = require$$0.useCallback((state) => {
2665
- const _state = state.listIsVisible
2719
+ const newState = state.listIsVisible
2666
2720
  ? {
2667
2721
  ...state,
2668
2722
  higher: shouldDisplayHigher$1(refContent.current, refList.current)
2669
2723
  }
2670
2724
  : state;
2671
- refreshState((state) => ({ ...state, ..._state }));
2725
+ refreshState((currentState) => ({ ...currentState, ...newState }));
2672
2726
  }, []);
2673
2727
  const setFormValue = require$$0.useCallback((element, valueIsDefault = false) => {
2674
2728
  refreshState((state) => ({
@@ -2685,23 +2739,25 @@ function useListController(props) {
2685
2739
  }, [formControl]);
2686
2740
  const navigationInput = require$$0.useCallback((event) => {
2687
2741
  if (state.listIsVisible) {
2688
- const _position = components.navigationListFromInput({
2742
+ const newPosition = components.navigationListFromInput({
2689
2743
  content: refContent.current,
2690
2744
  event: event,
2745
+ higher: state.higher,
2691
2746
  list: refList.current
2692
2747
  });
2693
- position.current = _position ?? 0;
2748
+ position.current = newPosition ?? 0;
2694
2749
  }
2695
- }, [state.listIsVisible]);
2750
+ }, [state.listIsVisible, state.higher]);
2696
2751
  const navigationElement = require$$0.useCallback((event) => {
2697
2752
  position.current = components.navigationListFromElement({
2698
2753
  content: refContent.current,
2699
2754
  event: event,
2755
+ higher: state.higher,
2700
2756
  input: refInput.current,
2701
2757
  list: refList.current,
2702
2758
  position: position.current
2703
2759
  });
2704
- }, [state.listIsVisible]);
2760
+ }, [state.higher]);
2705
2761
  return {
2706
2762
  ...state,
2707
2763
  navigationElement,
@@ -2857,7 +2913,7 @@ function useFieldAutocomplete(props) {
2857
2913
  };
2858
2914
  }
2859
2915
 
2860
- function RlsFieldAutocompleteTemplate(props) {
2916
+ function RlsFieldAutocompleteTemplateComponent(props) {
2861
2917
  const autocomplete = useFieldAutocomplete(props);
2862
2918
  const { render, action, children, formControl, msgErrorDisabled, onSearch, placeholder, rlsTheme, searching } = props;
2863
2919
  const [listInputPlaceholder, setListInputPlaceholder] = require$$0.useState(reactI18n('listInputPlaceholder'));
@@ -2921,12 +2977,14 @@ function RlsFieldAutocompleteTemplate(props) {
2921
2977
  ]);
2922
2978
  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 }), !props.readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: autocomplete.value ? 'trash-2' : 'arrow-ios-down', onClick: autocomplete.onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsx(RlsFieldListSuggestions, { elements: autocomplete.coincidences, visible: autocomplete.listIsVisible, action: action, disabled: disabled, higher: autocomplete.higher, render: render, refList: autocomplete.refList, searchControl: searchControl, onClickElement: autocomplete.onClickElement, onKeydownElement: autocomplete.onKeydownElement, onClickBackdrop: autocomplete.onClickBackdrop })] }));
2923
2979
  }
2924
- function RlsFieldAutocomplete(props) {
2980
+ const RlsFieldAutocompleteTemplate = require$$0.memo(RlsFieldAutocompleteTemplateComponent);
2981
+ function RlsFieldAutocompleteComponent(props) {
2925
2982
  const render = require$$0.useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { className: "rls-field-list__ballot", subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);
2926
2983
  return jsxRuntimeExports.jsx(RlsFieldAutocompleteTemplate, { ...props, render: render });
2927
2984
  }
2985
+ const RlsFieldAutocomplete = require$$0.memo(RlsFieldAutocompleteComponent);
2928
2986
 
2929
- function RlsModal({ autoclose, children, className, controller, onBackdrop, visible, rlsTheme }) {
2987
+ function RlsModalComponent({ autoclose, children, className, controller, onBackdrop, visible, rlsTheme }) {
2930
2988
  const classNameModal = require$$0.useMemo(() => {
2931
2989
  return renderClassStatus('rls-modal', { visible: controller?.visible ?? visible }, className);
2932
2990
  }, [className, visible, controller?.visible]);
@@ -2938,6 +2996,7 @@ function RlsModal({ autoclose, children, className, controller, onBackdrop, visi
2938
2996
  }, [autoclose, controller, onBackdrop]);
2939
2997
  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);
2940
2998
  }
2999
+ const RlsModal = require$$0.memo(RlsModalComponent);
2941
3000
 
2942
3001
  function formatTime(value) {
2943
3002
  return String(value).padStart(2, '0');
@@ -2971,7 +3030,7 @@ function RlsPickerClockTick({ onValue, selectionIsHours, value }) {
2971
3030
  }, [onValue]);
2972
3031
  return (jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__tick", style: styleTick, onClick: onClick, children: label }));
2973
3032
  }
2974
- function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
3033
+ function RlsPickerClockComponent({ formControl, onListener, rlsTheme, time }) {
2975
3034
  const timeInitial = require$$0.useMemo(() => {
2976
3035
  return formControl?.value ?? time ?? dates.Time.now();
2977
3036
  }, [formControl?.value, time]);
@@ -3158,8 +3217,18 @@ function RlsPickerClock({ formControl, onListener, rlsTheme, time }) {
3158
3217
  return (jsxRuntimeExports.jsx(RlsPickerClockTick, { value: value, selectionIsHours: selectionIsHours, onValue: onClickValue }, value));
3159
3218
  }) })] }) }), jsxRuntimeExports.jsxs("div", { className: "rls-picker-clock__footer", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__footer--cancel", children: jsxRuntimeExports.jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.timeActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__footer--today", children: jsxRuntimeExports.jsx(RlsButtonAction, { icon: "timer", onClick: onCurrentTime }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-clock__footer--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.timeActionSelect }) })] })] }));
3160
3219
  }
3220
+ const RlsPickerClock = require$$0.memo(RlsPickerClockComponent);
3161
3221
 
3162
- function RlsFieldClock({ children, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, time, value: valueInitial }) {
3222
+ function RlsModalClockComponent({ controller, disabled, formControl, onClose, rlsTheme, time, visible }) {
3223
+ const onListener = require$$0.useCallback(({ event, value }) => {
3224
+ onClose?.(event !== components.PickerListenerEvent.Cancel ? value : undefined);
3225
+ controller?.close();
3226
+ }, [onClose, controller]);
3227
+ return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-modal-clock", controller: controller, visible: visible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerClock, { formControl: formControl, time: time, disabled: disabled, onListener: onListener }) }));
3228
+ }
3229
+ const RlsModalClock = require$$0.memo(RlsModalClockComponent);
3230
+
3231
+ function RlsFieldClockComponent({ children, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, time, value: valueInitial }) {
3163
3232
  const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
3164
3233
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
3165
3234
  const disabled = require$$0.useMemo(() => {
@@ -3199,17 +3268,18 @@ function RlsFieldClock({ children, disabled: disabledProps, formControl, identif
3199
3268
  setModalIsVisible(true);
3200
3269
  }
3201
3270
  }, [timeValue, formControl, valueInitial, onChange]);
3202
- const onListener = require$$0.useCallback(({ event, value }) => {
3203
- if (event !== components.PickerListenerEvent.Cancel) {
3204
- onChange(value);
3271
+ const onCloseModal = require$$0.useCallback((time) => {
3272
+ if (time) {
3273
+ onChange(time);
3205
3274
  }
3206
3275
  formControl?.touch();
3207
3276
  setModalIsVisible(false);
3208
3277
  }, [formControl, onChange]);
3209
- return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-clock", "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-clock__control", type: "text", value: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-clock-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerClock, { formControl: formControl, time: time, disabled: disabled, onListener: onListener }) })] }));
3278
+ return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-clock", "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-clock__control", type: "text", value: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModalClock, { visible: modalIsVisible, time: time, disabled: disabled, onClose: onCloseModal, rlsTheme: rlsTheme })] }));
3210
3279
  }
3280
+ const RlsFieldClock = require$$0.memo(RlsFieldClockComponent);
3211
3281
 
3212
- function RlsPickerColor({ color, formControl, onListener, rlsTheme }) {
3282
+ function RlsPickerColorComponent({ color, formControl, onListener, rlsTheme }) {
3213
3283
  const initialColor = require$$0.useMemo(() => formControl?.value ?? color ?? DEFAULT_COLOR, []);
3214
3284
  const initialHsv = require$$0.useMemo(() => hexToHsv(initialColor) ?? { h: 258, s: 100, v: 100 }, []);
3215
3285
  const canvasRef = require$$0.useRef(null);
@@ -3419,8 +3489,9 @@ function RlsPickerColor({ color, formControl, onListener, rlsTheme }) {
3419
3489
  top: indicatorPosition.top
3420
3490
  }, children: jsxRuntimeExports.jsx("div", { className: "rls-picker-color__indicator__circle", style: { backgroundColor: hexColor } }) }) }) }), jsxRuntimeExports.jsxs("div", { className: "rls-picker-color__controls", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-color__slider", children: jsxRuntimeExports.jsx("div", { ref: hueRef, className: "rls-picker-color__slider__track", style: hueSliderStyle, "data-slider": "hue", onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onInactiveSelection, onMouseLeave: onInactiveSelection, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onInactiveSelection, children: jsxRuntimeExports.jsx("div", { className: "rls-picker-color__slider__thumb", style: hueIndicatorStyle }) }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-color__slider", children: jsxRuntimeExports.jsx("div", { ref: alphaRef, className: "rls-picker-color__slider__track rls-picker-color__slider__track--alpha", style: alphaSliderStyle, "data-slider": "alpha", onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onInactiveSelection, onMouseLeave: onInactiveSelection, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onInactiveSelection, children: jsxRuntimeExports.jsx("div", { className: "rls-picker-color__slider__thumb", style: alphaIndicatorStyle }) }) })] }), jsxRuntimeExports.jsx("div", { className: "rls-picker-color__footer", children: jsxRuntimeExports.jsxs("div", { className: "rls-picker-color__hex", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-color__hex__swatch", style: { backgroundColor: hexColor } }), jsxRuntimeExports.jsx("span", { className: "rls-picker-color__hex__prefix", children: "#" }), jsxRuntimeExports.jsx("input", { className: "rls-picker-color__hex__input", type: "text", maxLength: 6, value: hexValue, onChange: onHexInputChange, onFocus: onHexFocus, onBlur: onHexBlur, onKeyDown: onHexKeyDown })] }) }), jsxRuntimeExports.jsxs("div", { className: "rls-picker-color__actions", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-color__actions--cancel", children: jsxRuntimeExports.jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.colorActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-color__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.colorActionSelect }) })] })] }));
3421
3491
  }
3492
+ const RlsPickerColor = require$$0.memo(RlsPickerColorComponent);
3422
3493
 
3423
- function RlsFieldColor({ children, color, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
3494
+ function RlsFieldColorComponent({ children, color, disabled: disabledProps, formControl, identifier, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
3424
3495
  const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
3425
3496
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
3426
3497
  const colorValue = require$$0.useMemo(() => {
@@ -3467,12 +3538,13 @@ function RlsFieldColor({ children, color, disabled: disabledProps, formControl,
3467
3538
  }, [formControl, onChange]);
3468
3539
  return (jsxRuntimeExports.jsxs("div", { id: identifier, className: "rls-field-color", "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: [displayHex && (jsxRuntimeExports.jsx("div", { className: "rls-field-color__swatch", style: { backgroundColor: displayHex } })), jsxRuntimeExports.jsx("input", { className: "rls-field-color__control", type: "text", value: displayHex, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: colorValue ? 'trash-2' : 'color-palette', onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModal, { className: "rls-field-color-modal", visible: modalIsVisible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerColor, { formControl: formControl, color: color, disabled: disabled, onListener: onListener }) })] }));
3469
3540
  }
3541
+ const RlsFieldColor = require$$0.memo(RlsFieldColorComponent);
3470
3542
 
3471
3543
  const DATE_FORMAT = '{dd}/{mx}/{yy}';
3472
3544
  const DATE_FORMAT_TITLE = '{dw}, {mx} {dd} de {yy}';
3473
3545
  const DATE_RANGE_FORMAT = '{dd}/{mx}/{yy}';
3474
3546
 
3475
- function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
3547
+ function RlsPickerDateComponent({ automatic, date, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
3476
3548
  const today = require$$0.useRef(new Date()); // Initial current date in component
3477
3549
  const _date = require$$0.useMemo(() => {
3478
3550
  return formControl?.value ?? date ?? today.current;
@@ -3551,8 +3623,18 @@ function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDat
3551
3623
  }, [formControl, value, onListener]);
3552
3624
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-date", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-picker-date__header", children: [jsxRuntimeExports.jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: 'month', onClick: onVisibilityTitle }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__title", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityDay, children: title }) })] }), jsxRuntimeExports.jsxs("div", { className: classNameComponent, children: [jsxRuntimeExports.jsx(RlsPickerDay, { formControl: dayControl, date: value, month: monthControl.value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsxRuntimeExports.jsx(RlsPickerMonth, { formControl: monthControl, date: value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsxRuntimeExports.jsx(RlsPickerYear, { formControl: yearControl, date: value, 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: "flat", onClick: onCancel, children: labels.dateActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--today", children: jsxRuntimeExports.jsx(RlsButtonAction, { icon: "calendar", onClick: onToday, disabled: itIsDisabledToday }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.dateActionSelect }) })] }) }))] }));
3553
3625
  }
3626
+ const RlsPickerDate = require$$0.memo(RlsPickerDateComponent);
3627
+
3628
+ function RlsModalDateComponent({ automatic, controller, date, disabled, formControl, maxDate, minDate, onClose, rlsTheme, visible }) {
3629
+ const onListener = require$$0.useCallback(({ event, value }) => {
3630
+ onClose?.(event !== components.PickerListenerEvent.Cancel ? value : undefined);
3631
+ controller?.close();
3632
+ }, [onClose, controller]);
3633
+ return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-modal-date", controller: controller, visible: visible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDate, { automatic: automatic, formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) }));
3634
+ }
3635
+ const RlsModalDate = require$$0.memo(RlsModalDateComponent);
3554
3636
 
3555
- function RlsFieldDate({ children, date, disabled: disabledProps, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
3637
+ function RlsFieldDateComponent({ children, date, disabled: disabledProps, formControl, format, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
3556
3638
  const today = require$$0.useRef(new Date()); // Initial current date in component
3557
3639
  const [value, setValue] = require$$0.useState(formControl?.value ?? valueInitial);
3558
3640
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
@@ -3604,15 +3686,16 @@ function RlsFieldDate({ children, date, disabled: disabledProps, formControl, fo
3604
3686
  setModalIsVisible(true);
3605
3687
  }
3606
3688
  }, [dateValue, formControl, valueInitial, onChange]);
3607
- const onListener = require$$0.useCallback(({ event, value }) => {
3608
- if (event !== components.PickerListenerEvent.Cancel) {
3609
- onChange(value);
3689
+ const onCloseModal = require$$0.useCallback((date) => {
3690
+ if (date) {
3691
+ onChange(date);
3610
3692
  }
3611
3693
  formControl?.touch();
3612
3694
  setModalIsVisible(false);
3613
3695
  }, [formControl, onChange]);
3614
- 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: status.label, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !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 }) })] }));
3696
+ 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: status.label, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModalDate, { visible: modalIsVisible, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onClose: onCloseModal, rlsTheme: rlsTheme })] }));
3615
3697
  }
3698
+ const RlsFieldDate = require$$0.memo(RlsFieldDateComponent);
3616
3699
 
3617
3700
  function rangeFormatTemplate({ maxDate, minDate }) {
3618
3701
  const minFormat = dates.dateFormatTemplate(minDate, DATE_RANGE_FORMAT);
@@ -3620,7 +3703,7 @@ function rangeFormatTemplate({ maxDate, minDate }) {
3620
3703
  return `${minFormat} - ${maxFormat}`;
3621
3704
  }
3622
3705
 
3623
- function RlsPickerDateRange({ automatic, date: datePicker, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
3706
+ function RlsPickerDateRangeComponent({ automatic, date: datePicker, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
3624
3707
  const _date = require$$0.useMemo(() => dates.normalizeMinTime(datePicker ?? new Date()), [datePicker]);
3625
3708
  const _range = require$$0.useMemo(() => formControl?.value ?? dates.DateRange.now(), [formControl?.value]);
3626
3709
  const yearControl = reactForms.useReactControl(_date.getFullYear());
@@ -3686,8 +3769,18 @@ function RlsPickerDateRange({ automatic, date: datePicker, disabled, formControl
3686
3769
  }, [formControl, value, onListener]);
3687
3770
  return (jsxRuntimeExports.jsxs("div", { className: "rls-picker-date-range", "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsxs("div", { className: "rls-picker-date-range__header", children: [jsxRuntimeExports.jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: date, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: visibility === 'MONTH' ? 'year' : 'month', onClick: onVisibilityTitle }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__title", children: jsxRuntimeExports.jsx("span", { onClick: onVisibilityDay, children: title }) })] }), jsxRuntimeExports.jsxs("div", { className: classNameComponent, children: [jsxRuntimeExports.jsx(RlsPickerDayRange, { formControl: rangeControl, date: date, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsxRuntimeExports.jsx(RlsPickerMonth, { formControl: monthControl, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsxRuntimeExports.jsx(RlsPickerYear, { formControl: yearControl, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay })] }), jsxRuntimeExports.jsx("div", { className: classNameFooter, children: jsxRuntimeExports.jsxs("div", { className: "rls-picker-date-range__actions", children: [jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__actions--cancel", children: jsxRuntimeExports.jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.dateActionCancel }) }), jsxRuntimeExports.jsx("div", { className: "rls-picker-date-range__actions--ok", children: jsxRuntimeExports.jsx(RlsButton, { type: "gradient", onClick: onSelect, children: labels.dateActionSelect }) })] }) })] }));
3688
3771
  }
3772
+ const RlsPickerDateRange = require$$0.memo(RlsPickerDateRangeComponent);
3689
3773
 
3690
- function RlsFieldDateRange({ children, date, disabled: disabledProps, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
3774
+ function RlsModalDateRangeComponent({ automatic, controller, date, disabled, formControl, maxDate, minDate, onClose, rlsTheme, visible }) {
3775
+ const onListener = require$$0.useCallback(({ event, value }) => {
3776
+ onClose?.(event !== components.PickerListenerEvent.Cancel ? value : undefined);
3777
+ controller?.close();
3778
+ }, [onClose, controller]);
3779
+ return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-modal-date-range", controller: controller, visible: visible, rlsTheme: rlsTheme, children: jsxRuntimeExports.jsx(RlsPickerDateRange, { automatic: automatic, formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: onListener }) }));
3780
+ }
3781
+ const RlsModalDateRange = require$$0.memo(RlsModalDateRangeComponent);
3782
+
3783
+ function RlsFieldDateRangeComponent({ children, date, disabled: disabledProps, formControl, identifier, maxDate, minDate, msgErrorDisabled, onValue, placeholder, readOnly, rlsTheme, value: valueInitial }) {
3691
3784
  const currentDate = require$$0.useMemo(() => date ?? new Date(), [date]);
3692
3785
  const [value, setValue] = require$$0.useState(formControl?.value || valueInitial);
3693
3786
  const [modalIsVisible, setModalIsVisible] = require$$0.useState(false);
@@ -3728,15 +3821,16 @@ function RlsFieldDateRange({ children, date, disabled: disabledProps, formContro
3728
3821
  setModalIsVisible(true);
3729
3822
  }
3730
3823
  }, [dateRangeValue, formControl, valueInitial, onChange]);
3731
- const onListener = require$$0.useCallback(({ event, value }) => {
3732
- if (event !== components.PickerListenerEvent.Cancel) {
3733
- onChange(value);
3824
+ const onCloseModal = require$$0.useCallback((dateRange) => {
3825
+ if (dateRange) {
3826
+ onChange(dateRange);
3734
3827
  }
3735
3828
  formControl?.touch();
3736
3829
  setModalIsVisible(false);
3737
3830
  }, [formControl, onChange]);
3738
- 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: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !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 }) })] }));
3831
+ 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: status.valueInput, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), !readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: status.icon, onClick: onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl }))] }), jsxRuntimeExports.jsx(RlsModalDateRange, { visible: modalIsVisible, date: currentDate, disabled: disabled, maxDate: maxDate, minDate: minDate, onClose: onCloseModal, rlsTheme: rlsTheme })] }));
3739
3832
  }
3833
+ const RlsFieldDateRange = require$$0.memo(RlsFieldDateRangeComponent);
3740
3834
 
3741
3835
  const MAX_LIST_HEIGHT_REM = 90;
3742
3836
  const FALLBACK_REM_SIZE = 16;
@@ -3788,26 +3882,25 @@ function useFieldList(props) {
3788
3882
  require$$0.useEffect(() => {
3789
3883
  const formValue = formControl?.value;
3790
3884
  if (formValue !== undefined && formValue !== null && formValue.length) {
3791
- const selectedElements = suggestions.filter((state) => formValue.some((value) => state.compareTo(value)));
3792
- setSelected(selectedElements);
3885
+ setSelected(suggestions.filter((state) => formValue.some((value) => state.compareTo(value))));
3793
3886
  }
3794
3887
  else {
3795
3888
  setSelected([]);
3796
3889
  }
3797
3890
  }, [formControl?.value, suggestions]);
3798
- const setListState = require$$0.useCallback((updates) => {
3891
+ const setListState = require$$0.useCallback((controllerState) => {
3799
3892
  setState((state) => {
3800
- const _updates = updates.listIsVisible !== undefined
3893
+ const newState = controllerState.listIsVisible !== undefined
3801
3894
  ? {
3802
- ...updates,
3803
- ...(updates.listIsVisible
3895
+ ...controllerState,
3896
+ ...(controllerState.listIsVisible
3804
3897
  ? {
3805
3898
  higher: shouldDisplayHigher(refContent.current, refList.current)
3806
3899
  }
3807
3900
  : {})
3808
3901
  }
3809
- : updates;
3810
- return { ...state, ..._updates };
3902
+ : controllerState;
3903
+ return { ...state, ...newState };
3811
3904
  });
3812
3905
  }, []);
3813
3906
  const toggleElement = require$$0.useCallback((element) => {
@@ -3894,15 +3987,17 @@ function RlsFieldListInner({ render, suggestions, action, children, formControl,
3894
3987
  const renderWithCheckbox = require$$0.useCallback((element) => (jsxRuntimeExports.jsxs("div", { className: "rls-field-list__multi__element", children: [jsxRuntimeExports.jsx(RlsCheckBox, { checked: fieldList.isSelected(element) }), render(element)] })), [fieldList.isSelected, render]);
3895
3988
  return (jsxRuntimeExports.jsxs("div", { id: props.identifier, ref: fieldList.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("div", { className: "rls-field-list__multi__chips", onClick: disabled ? undefined : fieldList.onClickInput, children: !fieldList.selected.length && placeholder ? (jsxRuntimeExports.jsx("span", { className: "rls-field-list__multi__placeholder", children: placeholder })) : (fieldList.selected.map((item, index) => (jsxRuntimeExports.jsxs("div", { className: "rls-field-list__multi__chip", children: [jsxRuntimeExports.jsx("span", { className: "rls-field-list__multi__chip__description", children: item.description }), !props.readOnly && (jsxRuntimeExports.jsx("button", { className: "rls-field-list__multi__chip__remove", onClick: fieldList.onRemoveElement(item), disabled: disabled, children: jsxRuntimeExports.jsx(RlsIcon, { value: "close" }) }))] }, index)))) }), !props.readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: "arrow-ios-down", onClick: fieldList.onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsx(RlsFieldListSuggestions, { elements: suggestions, visible: fieldList.listIsVisible, action: action, disabled: disabled, higher: fieldList.higher, render: renderWithCheckbox, refList: fieldList.refList, onClickElement: fieldList.onClickElement, onKeydownElement: fieldList.onKeydownElement, onClickBackdrop: fieldList.onClickBackdrop })] }));
3896
3989
  }
3897
- function RlsFieldListTemplate(props) {
3990
+ function RlsFieldListTemplateComponent(props) {
3898
3991
  const fieldList = useFieldList(props);
3899
3992
  return jsxRuntimeExports.jsx(RlsFieldListInner, { ...props, fieldList: fieldList });
3900
3993
  }
3901
- function RlsFieldList(props) {
3994
+ const RlsFieldListTemplate = require$$0.memo(RlsFieldListTemplateComponent);
3995
+ function RlsFieldListComponent(props) {
3902
3996
  const fieldList = useFieldList(props);
3903
3997
  const render = require$$0.useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { className: "rls-field-list__ballot", subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);
3904
3998
  return jsxRuntimeExports.jsx(RlsFieldListInner, { ...props, render: render, fieldList: fieldList });
3905
3999
  }
4000
+ const RlsFieldList = require$$0.memo(RlsFieldListComponent);
3906
4001
 
3907
4002
  function useFieldSelect(props) {
3908
4003
  const controller = useListController(props);
@@ -4012,7 +4107,7 @@ function useFieldSelect(props) {
4012
4107
  };
4013
4108
  }
4014
4109
 
4015
- function RlsFieldSelectTemplate(props) {
4110
+ function RlsFieldSelectTemplateComponent(props) {
4016
4111
  const select = useFieldSelect(props);
4017
4112
  const { render, suggestions, action, children, formControl, msgErrorDisabled, placeholder, rlsTheme, unremovable } = props;
4018
4113
  const disabled = require$$0.useMemo(() => {
@@ -4034,17 +4129,20 @@ function RlsFieldSelectTemplate(props) {
4034
4129
  ]);
4035
4130
  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 }), !props.readOnly && (jsxRuntimeExports.jsx(RlsButtonIcon, { icon: !unremovable && !!select.value ? 'close' : 'arrow-ios-down', onClick: select.onClickAction, disabled: disabled }))] }) }), !msgErrorDisabled && (jsxRuntimeExports.jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), jsxRuntimeExports.jsx(RlsFieldListSuggestions, { elements: suggestions, visible: select.listIsVisible, action: action, disabled: disabled, higher: select.higher, render: render, refList: select.refList, onClickElement: select.onClickElement, onKeydownElement: select.onKeydownElement, onClickBackdrop: select.onClickBackdrop })] }));
4036
4131
  }
4037
- function RlsFieldSelect(props) {
4132
+ const RlsFieldSelectTemplate = require$$0.memo(RlsFieldSelectTemplateComponent);
4133
+ function RlsFieldSelectComponent(props) {
4038
4134
  const render = require$$0.useCallback((element) => (jsxRuntimeExports.jsx(RlsBallot, { className: "rls-field-list__ballot", subtitle: element.subtitle, img: element.img, initials: element.initials, children: jsxRuntimeExports.jsx("span", { children: element.title }) })), []);
4039
4135
  return jsxRuntimeExports.jsx(RlsFieldSelectTemplate, { ...props, render: render });
4040
4136
  }
4137
+ const RlsFieldSelect = require$$0.memo(RlsFieldSelectComponent);
4041
4138
 
4042
- function RlsFormNavigation({ children, className, controller, visible, rlsTheme }) {
4139
+ function RlsFormNavigationComponent({ children, className, controller, visible, rlsTheme }) {
4043
4140
  const classNameForm = require$$0.useMemo(() => {
4044
4141
  return renderClassStatus('rls-form-navigation', { visible: controller?.visible ?? visible }, className);
4045
4142
  }, [className, visible, controller?.visible]);
4046
4143
  return ReactDOM.createPortal(jsxRuntimeExports.jsx("div", { className: classNameForm, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-form-navigation__component", children: children }) }), document.body);
4047
4144
  }
4145
+ const RlsFormNavigation = require$$0.memo(RlsFormNavigationComponent);
4048
4146
 
4049
4147
  function useRelocationOnComponent({ container, element, onDrag }) {
4050
4148
  const position = require$$0.useRef({ x: 0, y: 0 });
@@ -4138,20 +4236,19 @@ function useRelocationOnComponent({ container, element, onDrag }) {
4138
4236
  }, []);
4139
4237
  }
4140
4238
 
4141
- function useResize(props) {
4142
- const { refElement, onResize } = props;
4239
+ function useResize({ refElement, onResize }) {
4143
4240
  const dimension = require$$0.useRef({ height: 0, width: 0 });
4241
+ const onResizeRef = require$$0.useRef(onResize);
4242
+ onResizeRef.current = onResize;
4144
4243
  const observer = require$$0.useCallback((entries) => {
4145
4244
  const { height, width } = entries[0].contentRect;
4146
- if (onResize) {
4147
- onResize({
4148
- current: dimension.current,
4149
- dimension: {
4150
- height,
4151
- width
4152
- }
4153
- });
4154
- }
4245
+ onResizeRef.current?.({
4246
+ current: dimension.current,
4247
+ dimension: {
4248
+ height,
4249
+ width
4250
+ }
4251
+ });
4155
4252
  dimension.current = { height, width };
4156
4253
  }, []);
4157
4254
  require$$0.useEffect(() => {
@@ -4199,7 +4296,7 @@ function calculateImgDimension(image, dimension) {
4199
4296
  height = simpleThreeRule(image.width, width, height);
4200
4297
  return { height, width };
4201
4298
  }
4202
- function RlsImageEditor(props) {
4299
+ function RlsImageEditorComponent(props) {
4203
4300
  const [selection, setSelection] = require$$0.useState(props.selection ?? 60);
4204
4301
  const [labels, setLabels] = require$$0.useState({
4205
4302
  actionRestore: reactI18n('editorImageActionRestore'),
@@ -4397,10 +4494,12 @@ function RlsImageEditor(props) {
4397
4494
  }, []);
4398
4495
  return (jsxRuntimeExports.jsxs("div", { className: "rls-image-editor", children: [jsxRuntimeExports.jsx("div", { ref: refBody, className: "rls-image-editor__body", children: jsxRuntimeExports.jsxs("div", { ref: refImage, className: "rls-image-editor__body__image", children: [jsxRuntimeExports.jsx("div", { ref: refSelection, className: "rls-image-editor__body__selection" }), jsxRuntimeExports.jsx("div", { ref: refOverlayTop, className: "rls-image-editor__body__overlay--top" }), jsxRuntimeExports.jsx("div", { ref: refOverlayRight, className: "rls-image-editor__body__overlay--right" }), jsxRuntimeExports.jsx("div", { ref: refOverlayBottom, className: "rls-image-editor__body__overlay--bottom" }), jsxRuntimeExports.jsx("div", { ref: refOverlayLeft, className: "rls-image-editor__body__overlay--left" }), jsxRuntimeExports.jsx("canvas", { ref: refCanvas })] }) }), jsxRuntimeExports.jsxs("div", { className: "rls-image-editor__footer", children: [jsxRuntimeExports.jsx("div", { className: "rls-image-editor__sliders", children: jsxRuntimeExports.jsx(RlsSlider, { prefixIcon: "external-link", value: selection, minValue: MIN_SLIDER_VALUE, maxValue: MAX_SLIDER_VALUE, onValue: setSelection, disabled: props.disabled }) }), jsxRuntimeExports.jsxs("div", { className: "rls-image-editor__actions", children: [props.children, jsxRuntimeExports.jsx(RlsButton, { type: "flat", rlsTheme: "standard", prefixIcon: "refresh", onClick: onRestore, disabled: props.disabled, children: labels.actionRestore }), jsxRuntimeExports.jsx(RlsButton, { type: "raised", rlsTheme: "primary", prefixIcon: "crop", onClick: onCropImage, disabled: props.disabled, children: labels.actionSelect })] })] }), jsxRuntimeExports.jsx("canvas", { ref: refPicture })] }));
4399
4496
  }
4497
+ const RlsImageEditor = require$$0.memo(RlsImageEditorComponent);
4400
4498
 
4401
- function RlsImageEditorModal(props) {
4499
+ function RlsImageEditorModalComponent(props) {
4402
4500
  return (jsxRuntimeExports.jsx(RlsModal, { className: "rls-image-editor-modal", visible: props.visible, children: jsxRuntimeExports.jsx(RlsImageEditor, { ...props, children: props.children }) }));
4403
4501
  }
4502
+ const RlsImageEditorModal = require$$0.memo(RlsImageEditorModalComponent);
4404
4503
 
4405
4504
  const MIME_TYPE_SUPPORTS = [
4406
4505
  'image/png',
@@ -4471,7 +4570,7 @@ function useImageEditorController(options) {
4471
4570
  return { onImageChooser, RlsImageEditorChooser };
4472
4571
  }
4473
4572
 
4474
- function RlsImageChooser(props) {
4573
+ function RlsImageChooserComponent(props) {
4475
4574
  const [src, setSrc] = require$$0.useState();
4476
4575
  const onValue = require$$0.useCallback((image) => {
4477
4576
  setSrc(image.base64);
@@ -4485,8 +4584,9 @@ function RlsImageChooser(props) {
4485
4584
  }, [props.src]);
4486
4585
  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] }));
4487
4586
  }
4587
+ const RlsImageChooser = require$$0.memo(RlsImageChooserComponent);
4488
4588
 
4489
- function RlsModalSheet({ autoclose, children, className, controller, onAutoClose, visible, rlsTheme }) {
4589
+ function RlsModalSheetComponent({ autoclose, children, className, controller, onAutoClose, visible, rlsTheme }) {
4490
4590
  const classNameModal = require$$0.useMemo(() => {
4491
4591
  return renderClassStatus('rls-modal-sheet', { visible: controller?.visible ?? visible }, className);
4492
4592
  }, [className, visible, controller?.visible]);
@@ -4498,6 +4598,7 @@ function RlsModalSheet({ autoclose, children, className, controller, onAutoClose
4498
4598
  }, [autoclose, controller, onAutoClose]);
4499
4599
  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);
4500
4600
  }
4601
+ const RlsModalSheet = require$$0.memo(RlsModalSheetComponent);
4501
4602
 
4502
4603
  const DURATION_ANIMATION$1 = 240;
4503
4604
  const DURATION_DEFAULT = 4000;
@@ -4568,12 +4669,13 @@ function calculateDuration({ length }) {
4568
4669
  }
4569
4670
  return duration + DURATION_RESET;
4570
4671
  }
4571
- function RlsSnackbar({ content, onClose, icon, rlsTheme, title, visible }) {
4672
+ function RlsSnackbarComponent({ content, onClose, icon, rlsTheme, title, visible }) {
4572
4673
  const className = require$$0.useMemo(() => {
4573
4674
  return renderClassStatus('rls-snackbar', { visible });
4574
4675
  }, [visible]);
4575
4676
  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 })] })] }));
4576
4677
  }
4678
+ const RlsSnackbar = require$$0.memo(RlsSnackbarComponent);
4577
4679
  function useSnackbar() {
4578
4680
  const timeoutId = require$$0.useRef(undefined);
4579
4681
  const duration = require$$0.useRef(4000);
@@ -4640,14 +4742,15 @@ function RlsApplication({ children }) {
4640
4742
  'navbar-condense': navbarIsCondense
4641
4743
  });
4642
4744
  }, [appIsMobile, navbarInApp, navbarIsCondense]);
4643
- return (jsxRuntimeExports.jsxs(RlsContext, { value: {
4644
- confirmation,
4645
- notify,
4646
- snackbar,
4647
- setIsMobile,
4648
- setNavbarInApp,
4649
- setNavbarIsCondense
4650
- }, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children, RlsSnackbar] }), RlsNotifications, RlsConfirmation] }));
4745
+ const state = require$$0.useMemo(() => ({
4746
+ confirmation,
4747
+ notify,
4748
+ setIsMobile,
4749
+ setNavbarInApp,
4750
+ setNavbarIsCondense,
4751
+ snackbar
4752
+ }), [confirmation, notify, snackbar]);
4753
+ return (jsxRuntimeExports.jsxs(RlsContext, { value: state, children: [jsxRuntimeExports.jsxs("div", { className: className, children: [children, RlsSnackbar] }), RlsNotifications, RlsConfirmation] }));
4651
4754
  }
4652
4755
 
4653
4756
  const DEFAULT_DESIGN_SYSTEM = 'bordered';
@@ -4773,6 +4876,27 @@ function usePortalController() {
4773
4876
  return { close, open, visible };
4774
4877
  }
4775
4878
 
4879
+ const APP_THEME_ATTRIBUTE = 'app-theme';
4880
+ function getAppTheme() {
4881
+ if (typeof document === 'undefined') {
4882
+ return 'light';
4883
+ }
4884
+ return document.body.getAttribute(APP_THEME_ATTRIBUTE) === 'dark'
4885
+ ? 'dark'
4886
+ : 'light';
4887
+ }
4888
+ function setAppTheme(theme) {
4889
+ if (typeof document === 'undefined') {
4890
+ return;
4891
+ }
4892
+ document.body.setAttribute(APP_THEME_ATTRIBUTE, theme);
4893
+ }
4894
+ function toggleAppTheme() {
4895
+ const theme = getAppTheme() === 'dark' ? 'light' : 'dark';
4896
+ setAppTheme(theme);
4897
+ return theme;
4898
+ }
4899
+
4776
4900
  exports.ConfirmationResult = ConfirmationResult;
4777
4901
  exports.DEFAULT_COLOR = DEFAULT_COLOR;
4778
4902
  exports.RlsAccordion = RlsAccordion;
@@ -4852,6 +4976,9 @@ exports.RlsMessageEmpty = RlsMessageEmpty;
4852
4976
  exports.RlsMessageFormError = RlsMessageFormError;
4853
4977
  exports.RlsMessageIcon = RlsMessageIcon;
4854
4978
  exports.RlsModal = RlsModal;
4979
+ exports.RlsModalClock = RlsModalClock;
4980
+ exports.RlsModalDate = RlsModalDate;
4981
+ exports.RlsModalDateRange = RlsModalDateRange;
4855
4982
  exports.RlsModalSheet = RlsModalSheet;
4856
4983
  exports.RlsNavbar = RlsNavbar;
4857
4984
  exports.RlsNavbarMenu = RlsNavbarMenu;
@@ -4881,6 +5008,7 @@ exports.RlsTabularText = RlsTabularText;
4881
5008
  exports.RlsToolbar = RlsToolbar;
4882
5009
  exports.calculateImgDimension = calculateImgDimension;
4883
5010
  exports.generateThemePalette = generateThemePalette;
5011
+ exports.getAppTheme = getAppTheme;
4884
5012
  exports.hexIsValid = hexIsValid;
4885
5013
  exports.hexToHsl = hexToHsl;
4886
5014
  exports.hexToHsv = hexToHsv;
@@ -4894,9 +5022,11 @@ exports.renderClassStatus = renderClassStatus;
4894
5022
  exports.rgbToHex = rgbToHex;
4895
5023
  exports.rgbToHsl = rgbToHsl;
4896
5024
  exports.rgbToHsv = rgbToHsv;
5025
+ exports.setAppTheme = setAppTheme;
4897
5026
  exports.setDesignSystem = setDesignSystem;
4898
5027
  exports.setErrorsI18n = setErrorsI18n;
4899
5028
  exports.setThemeColor = setThemeColor;
5029
+ exports.toggleAppTheme = toggleAppTheme;
4900
5030
  exports.useConfirmation = useConfirmation;
4901
5031
  exports.useDatatable = useDatatable;
4902
5032
  exports.useDesingSystemController = useDesingSystemController;