@envisiongroup/porygon 1.0.0-rc.9 → 1.0.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 (251) hide show
  1. package/README.md +50 -14
  2. package/dist/index.d.ts +9 -15
  3. package/dist/index.js +95 -55
  4. package/dist/react-components/buttons/EFWButton/EFWButton.d.ts +1 -1
  5. package/dist/react-components/buttons/EFWButton/EFWButton.hooks.js +32 -31
  6. package/dist/react-components/buttons/EFWButton/EFWButton.js +158 -90
  7. package/dist/react-components/buttons/EFWButton/EFWButton.types.d.ts +32 -6
  8. package/dist/react-components/buttons/EFWButton/index.d.ts +1 -1
  9. package/dist/react-components/buttons/EFWDrawerButton/EFWDrawerButton.d.ts +1 -1
  10. package/dist/react-components/buttons/EFWDrawerButton/EFWDrawerButton.types.d.ts +1 -1
  11. package/dist/react-components/buttons/EFWGroupButton/EFWGroupButton.d.ts +1 -63
  12. package/dist/react-components/buttons/EFWGroupButton/EFWGroupButton.js +120 -85
  13. package/dist/react-components/buttons/EFWGroupButton/EFWGroupButton.types.d.ts +7 -1
  14. package/dist/react-components/buttons/EFWGroupButton/index.d.ts +1 -1
  15. package/dist/react-components/commons/caretPositioning.d.ts +35 -0
  16. package/dist/react-components/commons/caretPositioning.js +28 -0
  17. package/dist/react-components/commons/utils.d.ts +1 -1
  18. package/dist/react-components/commons/utils.js +1 -1
  19. package/dist/react-components/commons/valueNormalization.d.ts +28 -0
  20. package/dist/react-components/commons/valueNormalization.js +6 -0
  21. package/dist/react-components/fields/Attachments/EFWAttachments.js +205 -0
  22. package/dist/react-components/fields/{EFWAttachments → Attachments}/EFWAttachments.types.d.ts +32 -2
  23. package/dist/react-components/fields/Attachments/EFWAttachments.utils.d.ts +8 -0
  24. package/dist/react-components/fields/Attachments/EFWAttachments.utils.js +4 -0
  25. package/dist/react-components/fields/{EFWAttachments/EFWAttachmentsCard → Attachments}/EFWAttachmentsCard.d.ts +2 -11
  26. package/dist/react-components/fields/Attachments/EFWAttachmentsCard.js +164 -0
  27. package/dist/react-components/fields/{EFWAttachments/EFWAttachmentsCard → Attachments}/EFWAttachmentsCard.types.d.ts +21 -1
  28. package/dist/react-components/fields/Attachments/EFWAttachmentsField.js +70 -0
  29. package/dist/react-components/fields/{EFWAttachmentsField → Attachments}/EFWAttachmentsField.types.d.ts +2 -2
  30. package/dist/react-components/fields/Attachments/index.d.ts +5 -0
  31. package/dist/react-components/fields/Attachments/index.js +8 -0
  32. package/dist/react-components/fields/{EFWDatePicker → DatePicker}/EFWDatePicker.d.ts +1 -3
  33. package/dist/react-components/fields/DatePicker/EFWDatePicker.js +134 -0
  34. package/dist/react-components/fields/{EFWDatePicker → DatePicker}/EFWDatePicker.types.d.ts +19 -7
  35. package/dist/react-components/fields/DatePicker/EFWDatePicker.utils.d.ts +19 -0
  36. package/dist/react-components/fields/DatePicker/EFWDatePicker.utils.js +179 -0
  37. package/dist/react-components/fields/DatePicker/EFWDatePickerField.js +251 -0
  38. package/dist/react-components/fields/DatePicker/EFWDatePickerField.types.d.ts +15 -0
  39. package/dist/react-components/fields/DatePicker/index.d.ts +6 -0
  40. package/dist/react-components/fields/DatePicker/index.js +11 -0
  41. package/dist/react-components/fields/Input/EFWInput.d.ts +10 -0
  42. package/dist/react-components/fields/Input/EFWInput.js +260 -0
  43. package/dist/react-components/fields/{EFWInput → Input}/EFWInput.types.d.ts +120 -25
  44. package/dist/react-components/fields/Input/EFWInput.utils.d.ts +101 -0
  45. package/dist/react-components/fields/Input/EFWInput.utils.js +222 -0
  46. package/dist/react-components/fields/Input/EFWInput.validation.d.ts +20 -0
  47. package/dist/react-components/fields/Input/EFWInput.validation.js +72 -0
  48. package/dist/react-components/fields/Input/EFWInputField.js +86 -0
  49. package/dist/react-components/fields/{EFWInputField → Input}/EFWInputField.types.d.ts +2 -2
  50. package/dist/react-components/fields/Input/index.d.ts +5 -0
  51. package/dist/react-components/fields/Input/index.js +8 -0
  52. package/dist/react-components/fields/NumberInput/EFWNumberInput.js +339 -0
  53. package/dist/react-components/fields/{EFWNumberInput → NumberInput}/EFWNumberInput.types.d.ts +33 -14
  54. package/dist/react-components/fields/{EFWNumberInput → NumberInput}/EFWNumberInput.utils.d.ts +20 -14
  55. package/dist/react-components/fields/NumberInput/EFWNumberInput.utils.js +86 -0
  56. package/dist/react-components/fields/NumberInput/EFWNumberInputField.js +84 -0
  57. package/dist/react-components/fields/{EFWNumberInputField → NumberInput}/EFWNumberInputField.types.d.ts +2 -2
  58. package/dist/react-components/fields/NumberInput/index.d.ts +5 -0
  59. package/dist/react-components/fields/NumberInput/index.js +8 -0
  60. package/dist/react-components/fields/Switch/EFWSwitch.js +75 -0
  61. package/dist/react-components/fields/{EFWSwitch → Switch}/EFWSwitch.types.d.ts +18 -10
  62. package/dist/react-components/fields/Switch/EFWSwitch.utils.d.ts +9 -0
  63. package/dist/react-components/fields/Switch/EFWSwitch.utils.js +4 -0
  64. package/dist/react-components/fields/Switch/EFWSwitchField.js +62 -0
  65. package/dist/react-components/fields/{EFWSwitchField → Switch}/EFWSwitchField.types.d.ts +6 -2
  66. package/dist/react-components/fields/Switch/index.d.ts +5 -0
  67. package/dist/react-components/fields/Switch/index.js +8 -0
  68. package/dist/react-components/fields/TagPicker/EFWTagPicker.js +384 -0
  69. package/dist/react-components/fields/{EFWTagPicker → TagPicker}/EFWTagPicker.types.d.ts +30 -17
  70. package/dist/react-components/fields/TagPicker/EFWTagPicker.utils.d.ts +6 -0
  71. package/dist/react-components/fields/TagPicker/EFWTagPicker.utils.js +4 -0
  72. package/dist/react-components/fields/TagPicker/EFWTagPickerField.js +83 -0
  73. package/dist/react-components/fields/{EFWTagPickerField → TagPicker}/EFWTagPickerField.types.d.ts +2 -2
  74. package/dist/react-components/fields/TagPicker/index.d.ts +5 -0
  75. package/dist/react-components/fields/TagPicker/index.js +8 -0
  76. package/dist/react-components/fields/TextArea/EFWTextArea.js +153 -0
  77. package/dist/react-components/fields/{EFWTextArea → TextArea}/EFWTextArea.types.d.ts +26 -8
  78. package/dist/react-components/fields/TextArea/EFWTextArea.utils.d.ts +6 -0
  79. package/dist/react-components/fields/TextArea/EFWTextArea.utils.js +4 -0
  80. package/dist/react-components/fields/TextArea/EFWTextAreaField.js +80 -0
  81. package/dist/react-components/fields/{EFWTextAreaField → TextArea}/EFWTextAreaField.types.d.ts +2 -2
  82. package/dist/react-components/fields/TextArea/index.d.ts +5 -0
  83. package/dist/react-components/fields/TextArea/index.js +8 -0
  84. package/dist/react-components/fields/_shared/EFWField/EFWField.js +119 -0
  85. package/dist/react-components/fields/{EFWField → _shared/EFWField}/EFWField.types.d.ts +24 -13
  86. package/dist/react-components/fields/_shared/EFWField/EFWField.utils.js +20 -0
  87. package/dist/react-components/fields/_shared/EFWField/useSyncedValidationState.d.ts +50 -0
  88. package/dist/react-components/fields/_shared/EFWField/useSyncedValidationState.js +41 -0
  89. package/dist/react-components/fields/test-utils/testUtils.js +10 -0
  90. package/dist/react-components/forms/EFWForm/EFWForm.converter.d.ts +16 -1
  91. package/dist/react-components/forms/EFWForm/EFWForm.converter.js +51 -20
  92. package/dist/react-components/forms/EFWForm/EFWForm.flatConverter.d.ts +130 -0
  93. package/dist/react-components/forms/EFWForm/EFWForm.flatConverter.js +279 -0
  94. package/dist/react-components/forms/EFWForm/EFWForm.hooks.js +21 -18
  95. package/dist/react-components/forms/EFWForm/EFWForm.js +866 -403
  96. package/dist/react-components/forms/EFWForm/EFWForm.types.d.ts +213 -89
  97. package/dist/react-components/forms/EFWForm/EFWForm.utils.d.ts +10 -5
  98. package/dist/react-components/forms/EFWForm/EFWForm.utils.js +356 -229
  99. package/dist/react-components/forms/EFWForm/index.d.ts +5 -2
  100. package/dist/react-components/forms/EFWForm/index.js +10 -6
  101. package/dist/react-components/forms/EFWFormMessageBarGroup/EFWFormMessageBarGroup.js +55 -55
  102. package/dist/react-components/forms/EFWMessageBarManager/EFWMessageBarManager.js +38 -29
  103. package/dist/react-components/hooks/useDrawer/component/EFWDrawer/EFWDrawer.js +49 -47
  104. package/dist/react-components/hooks/useDrawer/component/EFWDrawer/EFWDrawer.types.d.ts +1 -0
  105. package/dist/react-components/hooks/useDrawer/component/EFWDrawerLoader/EFWDrawerLoader.d.ts +5 -3
  106. package/dist/react-components/hooks/useDrawer/component/EFWDrawerLoader/EFWDrawerLoader.js +6 -6
  107. package/dist/react-components/hooks/useDrawer/index.d.ts +1 -1
  108. package/dist/react-components/hooks/useDrawer/useDrawer.d.ts +4 -2
  109. package/dist/react-components/hooks/useDrawer/useDrawer.js +216 -111
  110. package/dist/react-components/hooks/useDrawer/useDrawer.types.d.ts +15 -2
  111. package/dist/react-components/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +42 -0
  112. package/dist/react-components/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +5 -0
  113. package/dist/react-components/i18n/PorygonI18nProvider.d.ts +13 -0
  114. package/dist/react-components/i18n/PorygonI18nProvider.js +145 -0
  115. package/dist/react-components/i18n/defaultLocaleText.d.ts +6 -0
  116. package/dist/react-components/i18n/defaultLocaleText.js +176 -0
  117. package/dist/react-components/i18n/index.d.ts +4 -0
  118. package/dist/react-components/i18n/index.js +19 -0
  119. package/dist/react-components/i18n/localePresets.d.ts +10 -0
  120. package/dist/react-components/i18n/localePresets.js +366 -0
  121. package/dist/react-components/i18n/porygonI18n.types.d.ts +169 -0
  122. package/dist/react-components/layout/MainNavItems/MainNavItems.js +13 -13
  123. package/dist/react-components/tables/EFWTable/EFWTable.d.ts +2 -5
  124. package/dist/react-components/tables/EFWTable/EFWTable.js +916 -525
  125. package/dist/react-components/tables/EFWTable/EFWTable.types.d.ts +256 -62
  126. package/dist/react-components/tables/EFWTable/components/EFWTableBody/EFWTableBody.d.ts +5 -1
  127. package/dist/react-components/tables/EFWTable/components/EFWTableBody/EFWTableBody.js +97 -52
  128. package/dist/react-components/tables/EFWTable/components/EFWTableBody/EFWTableBody.types.d.ts +4 -1
  129. package/dist/react-components/tables/EFWTable/components/EFWTableCell/EFWTableCell.d.ts +1 -12
  130. package/dist/react-components/tables/EFWTable/components/EFWTableCell/EFWTableCell.js +47 -22
  131. package/dist/react-components/tables/EFWTable/components/EFWTableCell/EFWTableCell.types.d.ts +13 -0
  132. package/dist/react-components/tables/EFWTable/components/EFWTableCommandBar/EFWTableCommandBar.d.ts +1 -1
  133. package/dist/react-components/tables/EFWTable/components/EFWTableCommandBar/EFWTableCommandBar.js +94 -69
  134. package/dist/react-components/tables/EFWTable/components/EFWTableCommandBar/EFWTableCommandBar.types.d.ts +7 -16
  135. package/dist/react-components/tables/EFWTable/components/EFWTableCommandBar/index.d.ts +1 -1
  136. package/dist/react-components/tables/EFWTable/components/EFWTableHeader/EFWTableHeader.d.ts +1 -1
  137. package/dist/react-components/tables/EFWTable/components/EFWTableHeader/EFWTableHeader.js +218 -83
  138. package/dist/react-components/tables/EFWTable/components/EFWTableHeader/EFWTableHeader.types.d.ts +3 -0
  139. package/dist/react-components/tables/EFWTable/components/EFWTableOverlay/EFWTableOverlay.js +90 -88
  140. package/dist/react-components/tables/EFWTable/components/EFWTableOverlay/EFWTableOverlay.types.d.ts +5 -0
  141. package/dist/react-components/tables/EFWTable/components/EFWTableRow/EFWTableRow.d.ts +1 -18
  142. package/dist/react-components/tables/EFWTable/components/EFWTableRow/EFWTableRow.js +83 -45
  143. package/dist/react-components/tables/EFWTable/components/EFWTableRow/EFWTableRow.types.d.ts +23 -0
  144. package/dist/react-components/tables/EFWTable/hooks/useDefaultAddButton/useDefaultAddButton.d.ts +2 -1
  145. package/dist/react-components/tables/EFWTable/hooks/useDefaultAddButton/useDefaultAddButton.js +65 -48
  146. package/dist/react-components/tables/EFWTable/hooks/useDefaultDeleteButton/useDefaultDeleteButton.d.ts +2 -1
  147. package/dist/react-components/tables/EFWTable/hooks/useDefaultDeleteButton/useDefaultDeleteButton.js +71 -48
  148. package/dist/react-components/tables/EFWTable/hooks/useDefaultFilterButton/useDefaultFilterButton.d.ts +17 -0
  149. package/dist/react-components/tables/EFWTable/hooks/useDefaultFilterButton/useDefaultFilterButton.js +255 -0
  150. package/dist/react-components/tables/EFWTable/hooks/useDefaultUpdateButton/useDefaultUpdateButton.d.ts +2 -1
  151. package/dist/react-components/tables/EFWTable/hooks/useDefaultUpdateButton/useDefaultUpdateButton.js +72 -52
  152. package/dist/react-components/tables/EFWTable/hooks/useStableColumnRenderers/useStableColumnRenderers.d.ts +10 -0
  153. package/dist/react-components/tables/EFWTable/hooks/useStableColumnRenderers/useStableColumnRenderers.js +28 -0
  154. package/dist/react-components/tables/EFWTable/hooks/useTableController/useTableController.js +151 -115
  155. package/dist/react-components/tables/EFWTable/hooks/useTableSelection/useTableSelection.d.ts +1 -1
  156. package/dist/react-components/tables/EFWTable/hooks/useTableSelection/useTableSelection.js +100 -53
  157. package/dist/react-components/tables/EFWTable/hooks/useTableSelection/useTableSelection.types.d.ts +5 -1
  158. package/dist/react-components/tables/EFWTable/index.d.ts +4 -1
  159. package/dist/react-components/tables/EFWTable/index.js +7 -5
  160. package/dist/react-components/tables/EFWTable/utils/CellRenderer/CellRenderer.js +26 -23
  161. package/dist/react-components/tables/EFWTable/utils/cache.d.ts +1 -8
  162. package/dist/react-components/tables/EFWTable/utils/cache.js +40 -49
  163. package/dist/react-components/tables/EFWTable/utils/filterFunctions.d.ts +16 -0
  164. package/dist/react-components/tables/EFWTable/utils/filterFunctions.js +52 -0
  165. package/dist/react-components/tables/EFWTable/utils/hashing.d.ts +2 -2
  166. package/dist/react-components/tables/EFWTable/utils/hashing.js +2 -2
  167. package/package.json +49 -22
  168. package/dist/react-components/fields/EFWAttachments/EFWAttachments.js +0 -125
  169. package/dist/react-components/fields/EFWAttachments/EFWAttachmentsCard/EFWAttachmentsCard.js +0 -107
  170. package/dist/react-components/fields/EFWAttachments/EFWAttachmentsCard/index.d.ts +0 -1
  171. package/dist/react-components/fields/EFWAttachments/index.d.ts +0 -2
  172. package/dist/react-components/fields/EFWAttachments/index.js +0 -4
  173. package/dist/react-components/fields/EFWAttachmentsField/EFWAttachmentsField.js +0 -57
  174. package/dist/react-components/fields/EFWAttachmentsField/index.d.ts +0 -2
  175. package/dist/react-components/fields/EFWAttachmentsField/index.js +0 -4
  176. package/dist/react-components/fields/EFWDatePicker/EFWDatePicker.js +0 -114
  177. package/dist/react-components/fields/EFWDatePicker/EFWDatePicker.utils.d.ts +0 -24
  178. package/dist/react-components/fields/EFWDatePicker/EFWDatePicker.utils.js +0 -90
  179. package/dist/react-components/fields/EFWDatePicker/index.d.ts +0 -2
  180. package/dist/react-components/fields/EFWDatePicker/index.js +0 -4
  181. package/dist/react-components/fields/EFWDatePickerField/EFWDatePickerField.js +0 -65
  182. package/dist/react-components/fields/EFWDatePickerField/EFWDatePickerField.types.d.ts +0 -7
  183. package/dist/react-components/fields/EFWDatePickerField/index.d.ts +0 -2
  184. package/dist/react-components/fields/EFWDatePickerField/index.js +0 -4
  185. package/dist/react-components/fields/EFWField/EFWField.js +0 -96
  186. package/dist/react-components/fields/EFWField/EFWField.utils.js +0 -17
  187. package/dist/react-components/fields/EFWInput/EFWInput.d.ts +0 -26
  188. package/dist/react-components/fields/EFWInput/EFWInput.js +0 -119
  189. package/dist/react-components/fields/EFWInput/EFWInput.utils.d.ts +0 -20
  190. package/dist/react-components/fields/EFWInput/EFWInput.utils.js +0 -83
  191. package/dist/react-components/fields/EFWInput/index.d.ts +0 -2
  192. package/dist/react-components/fields/EFWInput/index.js +0 -4
  193. package/dist/react-components/fields/EFWInputField/EFWInputField.js +0 -73
  194. package/dist/react-components/fields/EFWInputField/EFWInputField.utils.d.ts +0 -1
  195. package/dist/react-components/fields/EFWInputField/EFWInputField.utils.js +0 -0
  196. package/dist/react-components/fields/EFWInputField/index.d.ts +0 -2
  197. package/dist/react-components/fields/EFWInputField/index.js +0 -4
  198. package/dist/react-components/fields/EFWNumberInput/EFWNumberInput.js +0 -198
  199. package/dist/react-components/fields/EFWNumberInput/EFWNumberInput.utils.js +0 -76
  200. package/dist/react-components/fields/EFWNumberInput/index.d.ts +0 -2
  201. package/dist/react-components/fields/EFWNumberInput/index.js +0 -4
  202. package/dist/react-components/fields/EFWNumberInputField/EFWNumberInputField.js +0 -67
  203. package/dist/react-components/fields/EFWNumberInputField/EFWNumberInputField.utils.d.ts +0 -1
  204. package/dist/react-components/fields/EFWNumberInputField/EFWNumberInputField.utils.js +0 -0
  205. package/dist/react-components/fields/EFWNumberInputField/index.d.ts +0 -2
  206. package/dist/react-components/fields/EFWNumberInputField/index.js +0 -4
  207. package/dist/react-components/fields/EFWSwitch/EFWSwitch.js +0 -55
  208. package/dist/react-components/fields/EFWSwitch/index.d.ts +0 -2
  209. package/dist/react-components/fields/EFWSwitch/index.js +0 -4
  210. package/dist/react-components/fields/EFWSwitchField/EFWSwitchField.js +0 -55
  211. package/dist/react-components/fields/EFWSwitchField/index.d.ts +0 -2
  212. package/dist/react-components/fields/EFWSwitchField/index.js +0 -4
  213. package/dist/react-components/fields/EFWTagPicker/EFWTagPicker.js +0 -244
  214. package/dist/react-components/fields/EFWTagPicker/index.d.ts +0 -2
  215. package/dist/react-components/fields/EFWTagPicker/index.js +0 -4
  216. package/dist/react-components/fields/EFWTagPickerField/EFWTagPickerField.js +0 -74
  217. package/dist/react-components/fields/EFWTagPickerField/EFWTagPickerField.utils.d.ts +0 -1
  218. package/dist/react-components/fields/EFWTagPickerField/EFWTagPickerField.utils.js +0 -0
  219. package/dist/react-components/fields/EFWTagPickerField/index.d.ts +0 -2
  220. package/dist/react-components/fields/EFWTagPickerField/index.js +0 -4
  221. package/dist/react-components/fields/EFWTextArea/EFWTextArea.js +0 -105
  222. package/dist/react-components/fields/EFWTextArea/EFWTextArea.utils.d.ts +0 -1
  223. package/dist/react-components/fields/EFWTextArea/EFWTextArea.utils.js +0 -0
  224. package/dist/react-components/fields/EFWTextArea/index.d.ts +0 -2
  225. package/dist/react-components/fields/EFWTextArea/index.js +0 -4
  226. package/dist/react-components/fields/EFWTextAreaField/EFWTextAreaField.js +0 -71
  227. package/dist/react-components/fields/EFWTextAreaField/EFWTextAreaField.utils.d.ts +0 -1
  228. package/dist/react-components/fields/EFWTextAreaField/EFWTextAreaField.utils.js +0 -0
  229. package/dist/react-components/fields/EFWTextAreaField/index.d.ts +0 -2
  230. package/dist/react-components/fields/EFWTextAreaField/index.js +0 -4
  231. package/dist/react-components/fields/types.d.ts +0 -1
  232. package/dist/react-components/fields/types.js +0 -0
  233. package/dist/utils/htmlConverter.d.ts +0 -15
  234. package/dist/utils/htmlConverter.js +0 -12
  235. /package/dist/react-components/fields/{EFWAttachments → Attachments}/EFWAttachments.d.ts +0 -0
  236. /package/dist/react-components/fields/{EFWAttachmentsField → Attachments}/EFWAttachmentsField.d.ts +0 -0
  237. /package/dist/react-components/fields/{EFWDatePickerField → DatePicker}/EFWDatePickerField.d.ts +0 -0
  238. /package/dist/react-components/fields/{EFWInputField → Input}/EFWInputField.d.ts +0 -0
  239. /package/dist/react-components/fields/{EFWNumberInput → NumberInput}/EFWNumberInput.d.ts +0 -0
  240. /package/dist/react-components/fields/{EFWNumberInputField → NumberInput}/EFWNumberInputField.d.ts +0 -0
  241. /package/dist/react-components/fields/{EFWSwitch → Switch}/EFWSwitch.d.ts +0 -0
  242. /package/dist/react-components/fields/{EFWSwitchField → Switch}/EFWSwitchField.d.ts +0 -0
  243. /package/dist/react-components/fields/{EFWTagPicker → TagPicker}/EFWTagPicker.d.ts +0 -0
  244. /package/dist/react-components/fields/{EFWTagPickerField → TagPicker}/EFWTagPickerField.d.ts +0 -0
  245. /package/dist/react-components/fields/{EFWTextArea → TextArea}/EFWTextArea.d.ts +0 -0
  246. /package/dist/react-components/fields/{EFWTextAreaField → TextArea}/EFWTextAreaField.d.ts +0 -0
  247. /package/dist/react-components/fields/{EFWField → _shared/EFWField}/EFWField.d.ts +0 -0
  248. /package/dist/react-components/fields/{EFWField → _shared/EFWField}/EFWField.utils.d.ts +0 -0
  249. /package/dist/react-components/fields/{EFWField → _shared/EFWField}/index.d.ts +0 -0
  250. /package/dist/react-components/fields/{EFWField → _shared/EFWField}/index.js +0 -0
  251. /package/dist/{react-components/fields/EFWAttachments/EFWAttachmentsCard/index.js → vite-raw.d.js} +0 -0
@@ -0,0 +1,8 @@
1
+ import { EFWAttachmentsValue } from './EFWAttachments.types';
2
+
3
+ /**
4
+ * Retorna una representación textual de los archivos adjuntos,
5
+ * útil para formularios, tablas u otros contextos donde se necesite
6
+ * una versión en texto plano del valor.
7
+ */
8
+ export declare const getAttachmentsFormattedValue: (value: EFWAttachmentsValue[] | undefined | null) => string;
@@ -0,0 +1,4 @@
1
+ const n = (t) => !t || t.length === 0 ? "" : t.map((e) => e.name).join(", ");
2
+ export {
3
+ n as getAttachmentsFormattedValue
4
+ };
@@ -1,14 +1,5 @@
1
- import { EFWAttachmentsCardProps, EFWAttachmentsContainerProps } from './EFWAttachmentsCard.types';
1
+ import { EFWAttachmentsContainerProps } from './EFWAttachmentsCard.types';
2
2
 
3
- /**
4
- * Componente de tarjeta para mostrar un adjunto con opciones de apertura, descarga y eliminación.
5
- * @param {EFWAttachmentsCardProps} props - Propiedades del componente.
6
- * @param {EFWAttachmentsValue} props.attachment - El adjunto que se mostrará en la tarjeta.
7
- * @param {(id: string) => void} [props.onRemoveAttachment] - Función opcional para eliminar el adjunto.
8
- * @param {boolean} [props.enableRemoveButton=true] - Indica si el botón de eliminación está habilitado.
9
- * @returns {JSX.Element} Elemento JSX que representa la tarjeta del adjunto.
10
- */
11
- declare const EFWAttachmentsCard: React.FC<EFWAttachmentsCardProps>;
12
3
  /**
13
4
  * Componente contenedor para mostrar una lista de tarjetas de adjuntos.
14
5
  * @param {EFWAttachmentsContainerProps} props - Propiedades del componente.
@@ -20,4 +11,4 @@ declare const EFWAttachmentsCard: React.FC<EFWAttachmentsCardProps>;
20
11
  * @returns {JSX.Element | undefined} Elemento JSX que representa el contenedor de adjuntos o undefined si no hay adjuntos.
21
12
  */
22
13
  declare const EFWAttachmentsContainer: React.FC<EFWAttachmentsContainerProps>;
23
- export { EFWAttachmentsCard, EFWAttachmentsContainer };
14
+ export { EFWAttachmentsContainer };
@@ -0,0 +1,164 @@
1
+ import { jsx as n, jsxs as p } from "react/jsx-runtime";
2
+ import { makeStyles as g, Text as f, Menu as w, MenuTrigger as b, SplitButton as v, Caption2 as y, Image as k, MenuPopover as C, MenuList as L, MenuItem as m } from "@fluentui/react-components";
3
+ import { ArrowDownload20Regular as N, Dismiss20Regular as R } from "@fluentui/react-icons";
4
+ import { formatFileSize as U, getFileIconUrl as j } from "../../commons/utils.js";
5
+ const T = g({
6
+ text: {
7
+ overflow: "hidden",
8
+ maxWidth: "170px",
9
+ display: "block"
10
+ },
11
+ wrapper: {
12
+ columnGap: "15px",
13
+ display: "flex",
14
+ minWidth: "min-content"
15
+ },
16
+ iconImage: {
17
+ width: "20px",
18
+ height: "20px"
19
+ },
20
+ textContainer: {
21
+ //gap: "16px",
22
+ display: "flex",
23
+ flexDirection: "column",
24
+ alignItems: "baseline"
25
+ }
26
+ }), A = (e) => {
27
+ const i = e.split(".").pop()?.toLowerCase() || "";
28
+ return [
29
+ "pdf",
30
+ "jpg",
31
+ "jpeg",
32
+ "png",
33
+ "gif",
34
+ "webp",
35
+ "svg",
36
+ "txt",
37
+ "html",
38
+ "htm"
39
+ ].includes(i);
40
+ }, h = (e) => URL.createObjectURL(e), u = (e, i) => {
41
+ try {
42
+ const o = h(e), r = document.createElement("a");
43
+ r.href = o, r.download = i, r.classList.add("external"), r.target = "_blank", r.style.display = "none", document.body.appendChild(r), r.click(), document.body.removeChild(r), setTimeout(() => {
44
+ URL.revokeObjectURL(o);
45
+ }, 1e3);
46
+ } catch (o) {
47
+ console.error("Error al descargar el archivo:", o);
48
+ }
49
+ }, E = ({
50
+ attachment: e,
51
+ onRemoveAttachment: i,
52
+ enableRemoveButton: o = !0,
53
+ downloadMenuItemLabel: r = "Descargar",
54
+ removeMenuItemLabel: c = "Quitar datos adjuntos"
55
+ }) => {
56
+ const l = T(), a = e.name.split(".").pop() || "", d = () => {
57
+ i && i(e.id);
58
+ }, s = () => {
59
+ console.log({ attachment: e });
60
+ try {
61
+ if (!e.file) {
62
+ console.error("No se encontró el archivo en el attachment");
63
+ return;
64
+ }
65
+ const t = h(e.file);
66
+ A(e.name) ? window.open(t, "_blank") ? setTimeout(() => {
67
+ URL.revokeObjectURL(t);
68
+ }, 6e4) : (console.warn("No se pudo abrir nueva ventana, iniciando descarga..."), u(e.file, e.name)) : (u(e.file, e.name), URL.revokeObjectURL(t));
69
+ } catch (t) {
70
+ console.error("Error al abrir el archivo:", t);
71
+ }
72
+ }, x = () => {
73
+ if (!e.file) {
74
+ console.error("No se encontró el archivo en el attachment");
75
+ return;
76
+ }
77
+ u(e.file, e.name);
78
+ };
79
+ return /* @__PURE__ */ n("div", { className: l.wrapper, children: /* @__PURE__ */ p(w, { positioning: "below-end", children: [
80
+ /* @__PURE__ */ n(b, { disableButtonEnhancement: !0, children: (t) => /* @__PURE__ */ n(
81
+ v,
82
+ {
83
+ style: { maxWidth: "250px" },
84
+ primaryActionButton: { onClick: s },
85
+ menuButton: t,
86
+ icon: /* @__PURE__ */ n(
87
+ k,
88
+ {
89
+ className: l.iconImage,
90
+ src: j(a, 64)
91
+ }
92
+ ),
93
+ children: /* @__PURE__ */ p("div", { className: l.textContainer, children: [
94
+ /* @__PURE__ */ n(
95
+ f,
96
+ {
97
+ block: !0,
98
+ size: 200,
99
+ weight: "semibold",
100
+ wrap: !1,
101
+ truncate: !0,
102
+ className: l.text,
103
+ children: e.name
104
+ }
105
+ ),
106
+ e.size && /* @__PURE__ */ n(y, { block: !0, truncate: !0, className: l.text, children: U(e.size) })
107
+ ] })
108
+ }
109
+ ) }),
110
+ /* @__PURE__ */ n(C, { children: /* @__PURE__ */ p(L, { children: [
111
+ /* @__PURE__ */ n(
112
+ m,
113
+ {
114
+ onClick: x,
115
+ icon: /* @__PURE__ */ n(N, {}),
116
+ children: r
117
+ }
118
+ ),
119
+ o && /* @__PURE__ */ n(
120
+ m,
121
+ {
122
+ onClick: d,
123
+ icon: /* @__PURE__ */ n(R, {}),
124
+ children: c
125
+ }
126
+ )
127
+ ] }) })
128
+ ] }) });
129
+ }, W = [], S = ({
130
+ attachments: e = W,
131
+ onRemoveAttachment: i,
132
+ className: o = "",
133
+ cardClassName: r = "",
134
+ enableRemoveButtons: c = !0,
135
+ emptyMessage: l = "Sin archivos disponibles",
136
+ downloadMenuItemLabel: a = "Descargar",
137
+ removeMenuItemLabel: d = "Quitar datos adjuntos"
138
+ }) => e.length === 0 ? /* @__PURE__ */ n(f, { style: { opacity: 0.7 }, children: l }) : /* @__PURE__ */ n(
139
+ "div",
140
+ {
141
+ className: `attachments-container ${o}`.trim(),
142
+ style: {
143
+ display: "flex",
144
+ gap: "8px",
145
+ flexWrap: "wrap",
146
+ margin: "8px 0 8px"
147
+ },
148
+ children: e.map((s) => /* @__PURE__ */ n(
149
+ E,
150
+ {
151
+ attachment: s,
152
+ onRemoveAttachment: i,
153
+ className: r,
154
+ enableRemoveButton: c,
155
+ downloadMenuItemLabel: a,
156
+ removeMenuItemLabel: d
157
+ },
158
+ s.id
159
+ ))
160
+ }
161
+ );
162
+ export {
163
+ S as EFWAttachmentsContainer
164
+ };
@@ -1,4 +1,4 @@
1
- import { EFWAttachmentsValue } from '../EFWAttachments.types';
1
+ import { EFWAttachmentsValue } from './EFWAttachments.types';
2
2
 
3
3
  /**
4
4
  * Propiedades para el componente de tarjeta de adjunto.
@@ -27,6 +27,16 @@ export interface EFWAttachmentsCardProps {
27
27
  * @default false
28
28
  */
29
29
  enableRemoveButton?: boolean;
30
+ /**
31
+ * Texto del item de menú para descargar.
32
+ * @type {string}
33
+ */
34
+ downloadMenuItemLabel?: string;
35
+ /**
36
+ * Texto del item de menú para eliminar adjunto.
37
+ * @type {string}
38
+ */
39
+ removeMenuItemLabel?: string;
30
40
  }
31
41
  /**
32
42
  * Propiedades para el contenedor de múltiples adjuntos.
@@ -60,6 +70,16 @@ export interface EFWAttachmentsContainerProps {
60
70
  * @default false
61
71
  */
62
72
  enableRemoveButtons?: boolean;
73
+ /**
74
+ * Texto del item de menú para descargar.
75
+ * @type {string}
76
+ */
77
+ downloadMenuItemLabel?: string;
78
+ /**
79
+ * Texto del item de menú para eliminar adjunto.
80
+ * @type {string}
81
+ */
82
+ removeMenuItemLabel?: string;
63
83
  /**
64
84
  * Mensaje opcional que se muestra cuando no hay adjuntos.
65
85
  * @type {string}
@@ -0,0 +1,70 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { EFWField as M } from "../_shared/EFWField/EFWField.js";
3
+ import { EFWAttachment as R } from "./EFWAttachments.js";
4
+ import { mergeClasses as S } from "@griffel/react";
5
+ const O = (t) => {
6
+ const {
7
+ title: l,
8
+ infoLabel: s,
9
+ hint: i,
10
+ className: n,
11
+ style: o = {},
12
+ required: r = !1,
13
+ validationState: d,
14
+ validationMessage: m,
15
+ validationMessageIcon: c,
16
+ disabled: f = !1,
17
+ editable: e = !0,
18
+ hidden: h = !1,
19
+ files: g,
20
+ defaultFiles: p,
21
+ multiple: u = !0,
22
+ acceptedTypes: F = "*/*",
23
+ maxFileSize: b,
24
+ labels: C,
25
+ onRemoveAttachment: v,
26
+ onChange: x,
27
+ readOnlyRenderer: y,
28
+ onValidationChange: A,
29
+ ...E
30
+ } = t, N = (w, L) => {
31
+ x?.(w, L);
32
+ }, W = S(n, "efw-attachments-field");
33
+ return /* @__PURE__ */ a(
34
+ M,
35
+ {
36
+ className: W,
37
+ style: o,
38
+ title: l,
39
+ infoLabel: s,
40
+ weightLabel: e ? "regular" : "semibold",
41
+ hint: i,
42
+ hidden: h,
43
+ required: r,
44
+ validationState: d,
45
+ validationMessage: m,
46
+ validationMessageIcon: c,
47
+ onValidationChange: A,
48
+ ...E,
49
+ children: /* @__PURE__ */ a(
50
+ R,
51
+ {
52
+ files: g,
53
+ defaultFiles: p,
54
+ editable: e,
55
+ onChange: N,
56
+ disabled: f,
57
+ multiple: u,
58
+ acceptedTypes: F,
59
+ maxFileSize: b,
60
+ labels: C,
61
+ onRemoveAttachment: v,
62
+ readOnlyRenderer: y
63
+ }
64
+ )
65
+ }
66
+ );
67
+ };
68
+ export {
69
+ O as EFWAttachmentsField
70
+ };
@@ -1,5 +1,5 @@
1
- import { EFWFieldProps } from '../EFWField/EFWField.types';
2
- import { EFWAttachmentsProps, EFWAttachmentsValue, EFWAttachmentsOnChange } from '../EFWAttachments/EFWAttachments.types';
1
+ import { EFWFieldProps } from '../_shared/EFWField/EFWField.types';
2
+ import { EFWAttachmentsProps, EFWAttachmentsValue, EFWAttachmentsOnChange } from './EFWAttachments.types';
3
3
 
4
4
  export type EFWAttachmentsFieldValue = EFWAttachmentsValue;
5
5
  export type EFWAttachmentsFieldOnChange = EFWAttachmentsOnChange;
@@ -0,0 +1,5 @@
1
+ export { EFWAttachment } from './EFWAttachments';
2
+ export { getAttachmentsFormattedValue } from './EFWAttachments.utils';
3
+ export type { EFWAttachmentsProps, EFWAttachmentsValue, EFWAttachmentsOnChange, EFWAttachmentsNonEditableRenderer } from './EFWAttachments.types';
4
+ export { EFWAttachmentsField } from './EFWAttachmentsField';
5
+ export type { EFWAttachmentsFieldProps, EFWAttachmentsFieldValue, EFWAttachmentsFieldOnChange } from './EFWAttachmentsField.types';
@@ -0,0 +1,8 @@
1
+ import { EFWAttachment as m } from "./EFWAttachments.js";
2
+ import { getAttachmentsFormattedValue as r } from "./EFWAttachments.utils.js";
3
+ import { EFWAttachmentsField as F } from "./EFWAttachmentsField.js";
4
+ export {
5
+ m as EFWAttachment,
6
+ F as EFWAttachmentsField,
7
+ r as getAttachmentsFormattedValue
8
+ };
@@ -8,10 +8,9 @@ import { EFWDatePickerProps } from './EFWDatePicker.types';
8
8
  * @param {EFWDatePickerProps} props - Propiedades del componente.
9
9
  * @param {boolean} [props.editable=true] - Indica si el DatePicker es editable.
10
10
  * @param {boolean} [props.disabled=false] - Indica si el DatePicker está deshabilitado.
11
- * @param {string} [props.placeholder='DD/MM/YYYY'] - Texto placeholder para el campo de entrada.
12
11
  * @param {any[]} [props.selectedDates=[]] - Valores iniciales para el estado del componente.
13
12
  * @param {boolean} [props.allowTextInput=true] - Permite la entrada de texto para introducir fechas manualmente.
14
- * @param {object} [props.localizedStrings=esLocalizedStrings] - Objeto con cadenas localizadas para el componente.
13
+ * @param {object} [props.localizedStrings] - Objeto con cadenas localizadas para el componente. Si no se proporciona, se resuelve desde el contexto i18n.
15
14
  * @param {Date} [props.minDate] - Fecha mínima seleccionable.
16
15
  * @param {Date} [props.maxDate] - Fecha máxima seleccionable.
17
16
  * @param {boolean} [props.showGoToToday=true] - Muestra el botón "Ir a hoy" en el calendario.
@@ -26,7 +25,6 @@ import { EFWDatePickerProps } from './EFWDatePicker.types';
26
25
  * @example
27
26
  * <EFWDatePicker
28
27
  * editable={true}
29
- * placeholder="DD/MM/YYYY"
30
28
  * onSelectDate={(date) => console.log(date)}
31
29
  * friendlyDateFormat={true}
32
30
  * />
@@ -0,0 +1,134 @@
1
+ import { jsx as g, Fragment as ae } from "react/jsx-runtime";
2
+ import { makeStyles as re, tokens as n, mergeClasses as le, Text as ne } from "@fluentui/react-components";
3
+ import { useId as se, useMemo as p, useState as ce, useRef as R, useCallback as D, useEffect as ie } from "react";
4
+ import { DatePicker as de } from "@fluentui/react-datepicker-compat";
5
+ import { mapToValidDates as S, getDatePickerFormattedValue as ue } from "./EFWDatePicker.utils.js";
6
+ import { useFieldsLocaleText as me } from "../../i18n/PorygonI18nProvider.js";
7
+ const C = [], fe = re({
8
+ efwDatePickerControl: {
9
+ "& [disabled]": {
10
+ backgroundColor: n.colorNeutralBackground3,
11
+ color: n.colorNeutralForeground2,
12
+ "&::placeholder": {
13
+ color: "transparent"
14
+ }
15
+ },
16
+ // Afectar el span que contiene el input disabled
17
+ "&:has([disabled])": {
18
+ backgroundColor: n.colorNeutralBackground3
19
+ }
20
+ },
21
+ efwDatePickerControlError: {
22
+ backgroundColor: n.colorPaletteRedBackground1,
23
+ "::after": {
24
+ borderBottomColor: n.colorPaletteRedBorder2,
25
+ borderBottomStyle: "solid",
26
+ borderBottomWidth: "2px"
27
+ }
28
+ }
29
+ }), ke = (k) => {
30
+ const {
31
+ editable: w = !0,
32
+ disabled: I = !1,
33
+ className: Y = "",
34
+ selectedDates: y = C,
35
+ defaultSelectedDates: d = C,
36
+ allowTextInput: L = !0,
37
+ localizedStrings: z,
38
+ minDate: A,
39
+ maxDate: O,
40
+ showGoToToday: W = !0,
41
+ showCloseButton: j = !0,
42
+ restrictedDates: G = C,
43
+ friendlyDateFormat: P = !1,
44
+ onSelectDate: s,
45
+ onFormatDate: U,
46
+ onChange: u,
47
+ labels: b,
48
+ readOnlyRenderer: _,
49
+ validationState: q = "none",
50
+ setParentComponentState: m
51
+ } = k, F = se(), x = fe(), r = k.selectedDates !== void 0, H = p(() => S(y ?? []), [y]), M = p(() => S(d), [d]), T = me(), J = T.datePicker.calendarStrings, f = z ?? J, V = T.datePicker.labels, v = V.placeholder, E = V.emptyState, B = b?.placeholder, $ = b?.emptyState, N = p(() => ({
52
+ placeholder: B ?? v,
53
+ emptyState: $ ?? E
54
+ }), [
55
+ B,
56
+ $,
57
+ v,
58
+ E
59
+ ]), [K, h] = ce(() => S(d)), o = r ? H : K, Q = R(null), X = R(null), Z = D((e) => {
60
+ if (!e) return "";
61
+ const t = e.getDate(), a = e.getMonth(), c = e.getFullYear();
62
+ if (P)
63
+ return `${f.months[a]} ${t}, ${c}`;
64
+ {
65
+ const i = t < 10 ? `0${t}` : t, l = a + 1 < 10 ? `0${a + 1}` : a + 1;
66
+ return `${i}/${l}/${c}`;
67
+ }
68
+ }, [P, f]), ee = D((e) => {
69
+ const t = o.length && o[0] instanceof Date ? o[0] : /* @__PURE__ */ new Date(), a = (e || "").trim().split("/"), c = a.length > 0 ? Math.max(1, Math.min(31, parseInt(a[0], 10))) : t.getDate(), i = a.length > 1 ? Math.max(1, Math.min(12, parseInt(a[1], 10))) - 1 : t.getMonth();
70
+ let l = a.length > 2 ? parseInt(a[2], 10) : t.getFullYear();
71
+ return l < 100 && (l += t.getFullYear() - t.getFullYear() % 100), new Date(l, i, c);
72
+ }, [o]), te = D((e) => {
73
+ if (!(e instanceof Date)) {
74
+ !r && o.length > 0 && h([]), s?.(null), u?.([]), m?.("none", "");
75
+ return;
76
+ }
77
+ if (o.length > 0 && o[0] instanceof Date ? o[0].getTime() === e.getTime() : !1) {
78
+ s?.(e);
79
+ return;
80
+ }
81
+ const a = [e];
82
+ r || h(a), s?.(e), u?.(a), m?.("none", "");
83
+ }, [o, r, s, u, m]);
84
+ ie(() => {
85
+ r || h(M);
86
+ }, [r, M]);
87
+ const oe = le(
88
+ Y,
89
+ x.efwDatePickerControl,
90
+ q === "error" && x.efwDatePickerControlError
91
+ );
92
+ if (!w) {
93
+ const e = ue(o[0]) || N.emptyState, t = _?.(
94
+ o,
95
+ e,
96
+ !1,
97
+ void 0
98
+ );
99
+ return t != null ? /* @__PURE__ */ g(ae, { children: t }) : /* @__PURE__ */ g(ne, { style: o.length ? void 0 : { opacity: 0.7 }, children: e });
100
+ }
101
+ return /* @__PURE__ */ g(
102
+ de,
103
+ {
104
+ calendar: {
105
+ componentRef: X,
106
+ restrictedDates: G
107
+ },
108
+ strings: f,
109
+ className: oe,
110
+ ref: Q,
111
+ id: F,
112
+ name: F,
113
+ autoComplete: "off",
114
+ autoCorrect: "off",
115
+ autoCapitalize: "off",
116
+ spellCheck: "false",
117
+ allowTextInput: L,
118
+ disableAutoFocus: !0,
119
+ value: o.length > 0 ? o[0] : null,
120
+ minDate: A,
121
+ maxDate: O,
122
+ disabled: I,
123
+ onSelectDate: te,
124
+ formatDate: U ?? Z,
125
+ parseDateFromString: ee,
126
+ placeholder: N.placeholder,
127
+ showGoToToday: W,
128
+ showCloseButton: j
129
+ }
130
+ );
131
+ };
132
+ export {
133
+ ke as EFWDatePicker
134
+ };
@@ -1,13 +1,24 @@
1
- import { EFWFieldChildrenProps } from '../EFWField/EFWField.types';
1
+ import { EFWFieldChildrenProps } from '../_shared/EFWField/EFWField.types';
2
2
  import { DatePickerProps, CalendarStrings } from '@fluentui/react-datepicker-compat';
3
+ import { ReactNode } from 'react';
3
4
 
5
+ export type { CalendarStrings } from '@fluentui/react-datepicker-compat';
6
+ /**
7
+ * Valor de fecha individual. La ausencia de valor se representa con
8
+ * `selectedDates?: []` o `selectedDates: []`, no con elementos `undefined`.
9
+ */
4
10
  export type EFWDatePickerValue = (Date | string);
5
11
  export type EFWDatePickerOnChange = (value: EFWDatePickerValue[]) => void;
12
+ export type EFWDatePickerNonEditableRenderer = (value: EFWDatePickerValue[], displayValue: string, includeTime?: boolean, timeValue?: string) => ReactNode;
13
+ export interface EFWDatePickerLabels {
14
+ placeholder?: string;
15
+ emptyState?: string;
16
+ }
6
17
  /**
7
18
  * Propiedades del componente EFWDatePicker que extiende las funcionalidades del DatePicker de Fluent UI
8
19
  * con características adicionales para formularios y validación.
9
20
  */
10
- export interface EFWDatePickerProps extends Omit<Partial<DatePickerProps>, 'onChange' | 'id' | 'value'>, EFWFieldChildrenProps {
21
+ export interface EFWDatePickerProps extends Omit<Partial<DatePickerProps>, 'onChange' | 'id' | 'value' | 'placeholder'>, EFWFieldChildrenProps {
11
22
  /**
12
23
  * Array de fechas seleccionadas iniciales. Puede contener objetos Date o strings que representen fechas.
13
24
  * Si se proporciona, el componente opera en modo controlled.
@@ -23,11 +34,6 @@ export interface EFWDatePickerProps extends Omit<Partial<DatePickerProps>, 'onCh
23
34
  * @default true
24
35
  */
25
36
  allowTextInput?: boolean;
26
- /**
27
- * Texto de marcador de posición que se muestra cuando el campo está vacío.
28
- * @default 'DD/MM/YYYY'
29
- */
30
- placeholder?: string;
31
37
  /**
32
38
  * Determina si el DatePicker es editable o de solo lectura.
33
39
  * @default true
@@ -83,4 +89,10 @@ export interface EFWDatePickerProps extends Omit<Partial<DatePickerProps>, 'onCh
83
89
  * Recibe un array con los nuevos valores seleccionados.
84
90
  */
85
91
  onChange?: EFWDatePickerOnChange;
92
+ labels?: EFWDatePickerLabels;
93
+ /**
94
+ * Renderiza contenido custom cuando `editable={false}`.
95
+ * Si retorna `null` o `undefined`, se utiliza el render no editable por defecto.
96
+ */
97
+ readOnlyRenderer?: EFWDatePickerNonEditableRenderer;
86
98
  }
@@ -0,0 +1,19 @@
1
+ import { CalendarStrings } from '@fluentui/react-datepicker-compat';
2
+ import { EFWDatePickerValue } from './EFWDatePicker.types';
3
+
4
+ /** Cadenas localizadas del calendario en español. */
5
+ declare const esLocalizedStrings: CalendarStrings;
6
+ /** Cadenas localizadas del calendario en inglés. */
7
+ declare const enLocalizedStrings: CalendarStrings;
8
+ /** Cadenas localizadas del calendario en portugués. */
9
+ declare const ptLocalizedStrings: CalendarStrings;
10
+ export declare const mapToValidDates: (arr?: unknown[]) => Date[];
11
+ /**
12
+ * Retorna el valor formateado que EFWDatePicker muestra cuando no está en modo editable.
13
+ * Soporta opcionalmente la inclusión de hora.
14
+ */
15
+ export declare const getDatePickerFormattedValue: (value: EFWDatePickerValue | null | undefined, options?: {
16
+ includeTime?: boolean;
17
+ timeValue?: string;
18
+ }) => string;
19
+ export { esLocalizedStrings, enLocalizedStrings, ptLocalizedStrings };