@nextelco/common-ui 2.1.97 → 2.1.99

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 (356) hide show
  1. package/dist/esm/index.js +222 -0
  2. package/dist/esm/index.js.map +1 -0
  3. package/dist/esm/legacy/assets/svgs/proef-footer-logo.svg.js +5 -0
  4. package/dist/esm/legacy/assets/svgs/proef-footer-logo.svg.js.map +1 -0
  5. package/dist/esm/legacy/components/atoms/Acronym/Acronym.css +43 -0
  6. package/dist/esm/legacy/components/atoms/Acronym/Acronym.js +31 -0
  7. package/dist/esm/legacy/components/atoms/Acronym/Acronym.js.map +1 -0
  8. package/dist/esm/legacy/components/atoms/BreadCrumb/BreadCrumb.css +36 -0
  9. package/dist/esm/legacy/components/atoms/BreadCrumb/BreadCrumb.js +57 -0
  10. package/dist/esm/legacy/components/atoms/BreadCrumb/BreadCrumb.js.map +1 -0
  11. package/dist/esm/legacy/components/atoms/Button/variants/ActionButton.css +218 -0
  12. package/dist/esm/legacy/components/atoms/Button/variants/ActionButton.js +50 -0
  13. package/dist/esm/legacy/components/atoms/Button/variants/ActionButton.js.map +1 -0
  14. package/dist/esm/legacy/components/atoms/Button/variants/FilterButton.css +56 -0
  15. package/dist/esm/legacy/components/atoms/Button/variants/FilterButton.js +34 -0
  16. package/dist/esm/legacy/components/atoms/Button/variants/FilterButton.js.map +1 -0
  17. package/dist/esm/legacy/components/atoms/Button/variants/IconButton.css +74 -0
  18. package/dist/esm/legacy/components/atoms/Button/variants/IconButton.js +29 -0
  19. package/dist/esm/legacy/components/atoms/Button/variants/IconButton.js.map +1 -0
  20. package/dist/esm/legacy/components/atoms/Button/variants/MainButton.css +99 -0
  21. package/dist/esm/legacy/components/atoms/Button/variants/MainButton.js +36 -0
  22. package/dist/esm/legacy/components/atoms/Button/variants/MainButton.js.map +1 -0
  23. package/dist/esm/legacy/components/atoms/Button/variants/TabButton.css +63 -0
  24. package/dist/esm/legacy/components/atoms/Button/variants/TabButton.js +21 -0
  25. package/dist/esm/legacy/components/atoms/Button/variants/TabButton.js.map +1 -0
  26. package/dist/esm/legacy/components/atoms/Field/Field.css +171 -0
  27. package/dist/esm/legacy/components/atoms/Field/Field.js +70 -0
  28. package/dist/esm/legacy/components/atoms/Field/Field.js.map +1 -0
  29. package/dist/esm/legacy/components/atoms/IconText/IconText.css +10 -0
  30. package/dist/esm/legacy/components/atoms/IconText/IconText.js +25 -0
  31. package/dist/esm/legacy/components/atoms/IconText/IconText.js.map +1 -0
  32. package/dist/esm/legacy/components/atoms/Icone/Icone.js +24 -0
  33. package/dist/esm/legacy/components/atoms/Icone/Icone.js.map +1 -0
  34. package/dist/esm/legacy/components/atoms/Input/Input.css +12 -0
  35. package/dist/esm/legacy/components/atoms/Input/Input.js +28 -0
  36. package/dist/esm/legacy/components/atoms/Input/Input.js.map +1 -0
  37. package/dist/esm/legacy/components/atoms/InputData/InputData.js +36 -0
  38. package/dist/esm/legacy/components/atoms/InputData/InputData.js.map +1 -0
  39. package/dist/esm/legacy/components/atoms/Label/Label.css +192 -0
  40. package/dist/esm/legacy/components/atoms/Label/Label.js +13 -0
  41. package/dist/esm/legacy/components/atoms/Label/Label.js.map +1 -0
  42. package/dist/esm/legacy/components/atoms/MultiTagPickerTag/MultiTagPickerTag.css +40 -0
  43. package/dist/esm/legacy/components/atoms/MultiTagPickerTag/MultiTagPickerTag.js +21 -0
  44. package/dist/esm/legacy/components/atoms/MultiTagPickerTag/MultiTagPickerTag.js.map +1 -0
  45. package/dist/esm/legacy/components/atoms/Select/Select.css +16 -0
  46. package/dist/esm/legacy/components/atoms/Select/Select.js +27 -0
  47. package/dist/esm/legacy/components/atoms/Select/Select.js.map +1 -0
  48. package/dist/esm/legacy/components/atoms/Stack/Stack.js +20 -0
  49. package/dist/esm/legacy/components/atoms/Stack/Stack.js.map +1 -0
  50. package/dist/esm/legacy/components/atoms/Switch/CustomSwitch.css +36 -0
  51. package/dist/esm/legacy/components/atoms/Switch/CustomSwitch.js +29 -0
  52. package/dist/esm/legacy/components/atoms/Switch/CustomSwitch.js.map +1 -0
  53. package/dist/esm/legacy/components/atoms/Tooltip/Tooltip.css +17 -0
  54. package/dist/esm/legacy/components/atoms/Tooltip/Tooltip.js +41 -0
  55. package/dist/esm/legacy/components/atoms/Tooltip/Tooltip.js.map +1 -0
  56. package/dist/esm/legacy/components/charts/Charts.js +259 -0
  57. package/dist/esm/legacy/components/charts/Charts.js.map +1 -0
  58. package/dist/esm/legacy/components/layout/AppLauncher/AppLauncher.js +100 -0
  59. package/dist/esm/legacy/components/layout/AppLauncher/AppLauncher.js.map +1 -0
  60. package/dist/esm/legacy/components/layout/Error/Error.css +20 -0
  61. package/dist/esm/legacy/components/layout/Error/Error.js +12 -0
  62. package/dist/esm/legacy/components/layout/Error/Error.js.map +1 -0
  63. package/dist/esm/legacy/components/layout/Footer/Footer.css +42 -0
  64. package/dist/esm/legacy/components/layout/Footer/Footer.js +23 -0
  65. package/dist/esm/legacy/components/layout/Footer/Footer.js.map +1 -0
  66. package/dist/esm/legacy/components/layout/Header/Header.css +66 -0
  67. package/dist/esm/legacy/components/layout/Header/Header.js +37 -0
  68. package/dist/esm/legacy/components/layout/Header/Header.js.map +1 -0
  69. package/dist/esm/legacy/components/layout/Layout/Layout.js +92 -0
  70. package/dist/esm/legacy/components/layout/Layout/Layout.js.map +1 -0
  71. package/dist/esm/legacy/components/layout/Sidebar/Sidebar.js +227 -0
  72. package/dist/esm/legacy/components/layout/Sidebar/Sidebar.js.map +1 -0
  73. package/dist/esm/legacy/components/layout/Spinner/Spinner.css +10 -0
  74. package/dist/esm/legacy/components/layout/Spinner/Spinner.js +19 -0
  75. package/dist/esm/legacy/components/layout/Spinner/Spinner.js.map +1 -0
  76. package/dist/esm/legacy/components/layout/TopBar/TopBar.js +34 -0
  77. package/dist/esm/legacy/components/layout/TopBar/TopBar.js.map +1 -0
  78. package/dist/esm/legacy/components/layout/TopNavLayout/TopNavLayout.js +82 -0
  79. package/dist/esm/legacy/components/layout/TopNavLayout/TopNavLayout.js.map +1 -0
  80. package/dist/esm/legacy/components/molecules/BarraValor/BarraValor.js +25 -0
  81. package/dist/esm/legacy/components/molecules/BarraValor/BarraValor.js.map +1 -0
  82. package/dist/esm/legacy/components/molecules/ColumnPicker/ColumnPicker.js +179 -0
  83. package/dist/esm/legacy/components/molecules/ColumnPicker/ColumnPicker.js.map +1 -0
  84. package/dist/esm/legacy/components/molecules/ConfirmModal/ConfirmModal.css +3 -0
  85. package/dist/esm/legacy/components/molecules/ConfirmModal/ConfirmModal.js +33 -0
  86. package/dist/esm/legacy/components/molecules/ConfirmModal/ConfirmModal.js.map +1 -0
  87. package/dist/esm/legacy/components/molecules/DataTable/DataTable.js +1145 -0
  88. package/dist/esm/legacy/components/molecules/DataTable/DataTable.js.map +1 -0
  89. package/dist/esm/legacy/components/molecules/FileDropzone/FileDropzone.js +68 -0
  90. package/dist/esm/legacy/components/molecules/FileDropzone/FileDropzone.js.map +1 -0
  91. package/dist/esm/legacy/components/molecules/LanguageSwitcher/LanguageSwitcher.js +96 -0
  92. package/dist/esm/legacy/components/molecules/LanguageSwitcher/LanguageSwitcher.js.map +1 -0
  93. package/dist/esm/legacy/components/molecules/Modal/Modal.css +54 -0
  94. package/dist/esm/legacy/components/molecules/Modal/Modal.js +64 -0
  95. package/dist/esm/legacy/components/molecules/Modal/Modal.js.map +1 -0
  96. package/dist/esm/legacy/components/molecules/MultiTagPicker/MultiTagPicker.css +97 -0
  97. package/dist/esm/legacy/components/molecules/MultiTagPicker/MultiTagPicker.js +113 -0
  98. package/dist/esm/legacy/components/molecules/MultiTagPicker/MultiTagPicker.js.map +1 -0
  99. package/dist/esm/legacy/components/molecules/PhotoAvatar/PhotoAvatar.js +107 -0
  100. package/dist/esm/legacy/components/molecules/PhotoAvatar/PhotoAvatar.js.map +1 -0
  101. package/dist/esm/legacy/components/molecules/Search/Search.css +18 -0
  102. package/dist/esm/legacy/components/molecules/Search/Search.js +30 -0
  103. package/dist/esm/legacy/components/molecules/Search/Search.js.map +1 -0
  104. package/dist/esm/legacy/components/molecules/SeletorPesquisa/SeletorPesquisa.js +116 -0
  105. package/dist/esm/legacy/components/molecules/SeletorPesquisa/SeletorPesquisa.js.map +1 -0
  106. package/dist/esm/legacy/components/molecules/Sidebar/Sidebar.css +69 -0
  107. package/dist/esm/legacy/components/molecules/Sidebar/Sidebar.js +62 -0
  108. package/dist/esm/legacy/components/molecules/Sidebar/Sidebar.js.map +1 -0
  109. package/dist/esm/legacy/components/molecules/UserAvatar/UserAvatar.js +105 -0
  110. package/dist/esm/legacy/components/molecules/UserAvatar/UserAvatar.js.map +1 -0
  111. package/dist/esm/legacy/components/organisms/GanttChart/GanttChart.js +162 -0
  112. package/dist/esm/legacy/components/organisms/GanttChart/GanttChart.js.map +1 -0
  113. package/dist/esm/legacy/components/organisms/Kanban/Kanban.js +88 -0
  114. package/dist/esm/legacy/components/organisms/Kanban/Kanban.js.map +1 -0
  115. package/dist/esm/legacy/components/organisms/LazyLoader/LazyLoader.js +87 -0
  116. package/dist/esm/legacy/components/organisms/LazyLoader/LazyLoader.js.map +1 -0
  117. package/dist/esm/legacy/components/organisms/MapaPontos/MapaPontos.js +427 -0
  118. package/dist/esm/legacy/components/organisms/MapaPontos/MapaPontos.js.map +1 -0
  119. package/dist/esm/legacy/components/organisms/PainelFiltros/PainelFiltros.js +206 -0
  120. package/dist/esm/legacy/components/organisms/PainelFiltros/PainelFiltros.js.map +1 -0
  121. package/dist/esm/legacy/components/organisms/PesquisaRapida/PesquisaRapida.js +147 -0
  122. package/dist/esm/legacy/components/organisms/PesquisaRapida/PesquisaRapida.js.map +1 -0
  123. package/dist/esm/legacy/components/organisms/Profile/Profile.css +26 -0
  124. package/dist/esm/legacy/components/organisms/Profile/Profile.js +26 -0
  125. package/dist/esm/legacy/components/organisms/Profile/Profile.js.map +1 -0
  126. package/dist/esm/legacy/components/organisms/RoleGuard/RoleGuard.js +68 -0
  127. package/dist/esm/legacy/components/organisms/RoleGuard/RoleGuard.js.map +1 -0
  128. package/dist/esm/legacy/components/organisms/Selector/Selector.css +87 -0
  129. package/dist/esm/legacy/components/organisms/Selector/Selector.js +181 -0
  130. package/dist/esm/legacy/components/organisms/Selector/Selector.js.map +1 -0
  131. package/dist/esm/legacy/components/organisms/StatusMatrix/StatusMatrix.js +115 -0
  132. package/dist/esm/legacy/components/organisms/StatusMatrix/StatusMatrix.js.map +1 -0
  133. package/dist/esm/legacy/components/ui/Avisos.js +86 -0
  134. package/dist/esm/legacy/components/ui/Avisos.js.map +1 -0
  135. package/dist/esm/legacy/components/ui/BarraAcoes.js +19 -0
  136. package/dist/esm/legacy/components/ui/BarraAcoes.js.map +1 -0
  137. package/dist/esm/legacy/components/ui/CabecalhoPagina.js +32 -0
  138. package/dist/esm/legacy/components/ui/CabecalhoPagina.js.map +1 -0
  139. package/dist/esm/legacy/components/ui/CaixaPesquisa.js +57 -0
  140. package/dist/esm/legacy/components/ui/CaixaPesquisa.js.map +1 -0
  141. package/dist/esm/legacy/components/ui/Confirmacao.js +52 -0
  142. package/dist/esm/legacy/components/ui/Confirmacao.js.map +1 -0
  143. package/dist/esm/legacy/components/ui/Escolha.js +157 -0
  144. package/dist/esm/legacy/components/ui/Escolha.js.map +1 -0
  145. package/dist/esm/legacy/components/ui/FaixaAviso.js +17 -0
  146. package/dist/esm/legacy/components/ui/FaixaAviso.js.map +1 -0
  147. package/dist/esm/legacy/components/ui/MenuAcoes.js +116 -0
  148. package/dist/esm/legacy/components/ui/MenuAcoes.js.map +1 -0
  149. package/dist/esm/legacy/components/ui/Passos.js +32 -0
  150. package/dist/esm/legacy/components/ui/Passos.js.map +1 -0
  151. package/dist/esm/legacy/components/ui/Separadores.js +52 -0
  152. package/dist/esm/legacy/components/ui/Separadores.js.map +1 -0
  153. package/dist/esm/legacy/components/ui/TextoAuto.js +33 -0
  154. package/dist/esm/legacy/components/ui/TextoAuto.js.map +1 -0
  155. package/dist/esm/legacy/components/ui/Ui.js +360 -0
  156. package/dist/esm/legacy/components/ui/Ui.js.map +1 -0
  157. package/dist/esm/legacy/components/ui/painelFlutuante.js +52 -0
  158. package/dist/esm/legacy/components/ui/painelFlutuante.js.map +1 -0
  159. package/dist/esm/legacy/constants/Colors.js +33 -0
  160. package/dist/esm/legacy/constants/Colors.js.map +1 -0
  161. package/dist/esm/legacy/constants/FontWeight.js +35 -0
  162. package/dist/esm/legacy/constants/FontWeight.js.map +1 -0
  163. package/dist/esm/legacy/contexts/apiContext.js +25 -0
  164. package/dist/esm/legacy/contexts/apiContext.js.map +1 -0
  165. package/dist/esm/legacy/contexts/authContext.js +85 -0
  166. package/dist/esm/legacy/contexts/authContext.js.map +1 -0
  167. package/dist/esm/legacy/contexts/socketContext.js +34 -0
  168. package/dist/esm/legacy/contexts/socketContext.js.map +1 -0
  169. package/dist/esm/legacy/hooks/useApi.js +62 -0
  170. package/dist/esm/legacy/hooks/useApi.js.map +1 -0
  171. package/dist/esm/legacy/hooks/useTheme.js +39 -0
  172. package/dist/esm/legacy/hooks/useTheme.js.map +1 -0
  173. package/dist/esm/legacy/pages/Error/ErrorPage.css +18 -0
  174. package/dist/esm/legacy/pages/Error/ErrorPage.js +50 -0
  175. package/dist/esm/legacy/pages/Error/ErrorPage.js.map +1 -0
  176. package/dist/esm/legacy/pages/Loading/Loading.css +46 -0
  177. package/dist/esm/legacy/pages/Loading/Loading.js +9 -0
  178. package/dist/esm/legacy/pages/Loading/Loading.js.map +1 -0
  179. package/dist/esm/legacy/pages/Login/LoginScreen.js +46 -0
  180. package/dist/esm/legacy/pages/Login/LoginScreen.js.map +1 -0
  181. package/dist/esm/legacy/pages/NotFound/NotFound.css +21 -0
  182. package/dist/esm/legacy/pages/NotFound/NotFound.js +24 -0
  183. package/dist/esm/legacy/pages/NotFound/NotFound.js.map +1 -0
  184. package/dist/esm/legacy/styles/themes/ButtonThemes.js +28 -0
  185. package/dist/esm/legacy/styles/themes/ButtonThemes.js.map +1 -0
  186. package/dist/esm/legacy/styles/utils/utils.js +7 -0
  187. package/dist/esm/legacy/styles/utils/utils.js.map +1 -0
  188. package/dist/esm/legacy/utils/stringUtils.js +35 -0
  189. package/dist/esm/legacy/utils/stringUtils.js.map +1 -0
  190. package/dist/esm/v1/capabilities/documents/QRScanning/scanQRCodes.js +157 -0
  191. package/dist/esm/v1/capabilities/documents/QRScanning/scanQRCodes.js.map +1 -0
  192. package/dist/esm/v1/components/documents/DocumentDropzone/DocumentDropzone.js +307 -0
  193. package/dist/esm/v1/components/documents/DocumentDropzone/DocumentDropzone.js.map +1 -0
  194. package/dist/esm/v1/components/forms/FormField/FormField.js +59 -0
  195. package/dist/esm/v1/components/forms/FormField/FormField.js.map +1 -0
  196. package/dist/esm/v1/components/forms/FormGrid/FormGrid.js +20 -0
  197. package/dist/esm/v1/components/forms/FormGrid/FormGrid.js.map +1 -0
  198. package/dist/esm/v1/components/overlays/Dialog/Dialog.js +87 -0
  199. package/dist/esm/v1/components/overlays/Dialog/Dialog.js.map +1 -0
  200. package/dist/esm/v1/foundations/icons/icons.js +76 -0
  201. package/dist/esm/v1/foundations/icons/icons.js.map +1 -0
  202. package/dist/esm/v1/primitives/buttons/Button/Button.js +27 -0
  203. package/dist/esm/v1/primitives/buttons/Button/Button.js.map +1 -0
  204. package/dist/esm/v1/primitives/documents/PdfPreview/PdfPreview.js +137 -0
  205. package/dist/esm/v1/primitives/documents/PdfPreview/PdfPreview.js.map +1 -0
  206. package/dist/esm/v1/primitives/documents/PdfPreview/pdfjs.js +26 -0
  207. package/dist/esm/v1/primitives/documents/PdfPreview/pdfjs.js.map +1 -0
  208. package/dist/esm/v1/primitives/forms/LookupInput/LookupInput.js +37 -0
  209. package/dist/esm/v1/primitives/forms/LookupInput/LookupInput.js.map +1 -0
  210. package/dist/esm/v1/primitives/forms/SelectInput/SelectInput.js +29 -0
  211. package/dist/esm/v1/primitives/forms/SelectInput/SelectInput.js.map +1 -0
  212. package/dist/esm/v1/primitives/forms/TextArea/TextArea.js +75 -0
  213. package/dist/esm/v1/primitives/forms/TextArea/TextArea.js.map +1 -0
  214. package/dist/esm/v1/primitives/forms/TextInput/TextInput.js +21 -0
  215. package/dist/esm/v1/primitives/forms/TextInput/TextInput.js.map +1 -0
  216. package/dist/esm/v1/primitives/forms/field.js +12 -0
  217. package/dist/esm/v1/primitives/forms/field.js.map +1 -0
  218. package/dist/style.css +1 -1
  219. package/dist/style.layered.css +1 -1
  220. package/dist/types/index.d.ts +14 -13
  221. package/dist/types/{components → legacy/components}/atoms/Acronym/Acronym.d.ts +1 -0
  222. package/dist/types/{components → legacy/components}/atoms/BreadCrumb/BreadCrumb.d.ts +1 -0
  223. package/dist/types/{components → legacy/components}/atoms/Button/variants/ActionButton.d.ts +1 -0
  224. package/dist/types/{components → legacy/components}/atoms/Button/variants/FilterButton.d.ts +1 -0
  225. package/dist/types/{components → legacy/components}/atoms/Button/variants/IconButton.d.ts +1 -0
  226. package/dist/types/{components → legacy/components}/atoms/Button/variants/MainButton.d.ts +1 -0
  227. package/dist/types/{components → legacy/components}/atoms/Button/variants/TabButton.d.ts +1 -0
  228. package/dist/types/{components → legacy/components}/atoms/Field/Field.d.ts +1 -0
  229. package/dist/types/{components → legacy/components}/atoms/IconText/IconText.d.ts +1 -0
  230. package/dist/types/{components → legacy/components}/atoms/Icone/Icone.d.ts +2 -0
  231. package/dist/types/{components → legacy/components}/atoms/Input/Input.d.ts +1 -0
  232. package/dist/types/{components → legacy/components}/atoms/InputData/InputData.d.ts +4 -0
  233. package/dist/types/{components → legacy/components}/atoms/Label/Label.d.ts +1 -0
  234. package/dist/types/{components → legacy/components}/atoms/Select/Select.d.ts +1 -0
  235. package/dist/types/{components → legacy/components}/atoms/Stack/Stack.d.ts +1 -0
  236. package/dist/types/{components → legacy/components}/atoms/Switch/CustomSwitch.d.ts +1 -0
  237. package/dist/types/{components → legacy/components}/atoms/Tooltip/Tooltip.d.ts +1 -0
  238. package/dist/types/{components → legacy/components}/charts/Charts.d.ts +29 -6
  239. package/dist/types/{components → legacy/components}/layout/AppLauncher/AppLauncher.d.ts +3 -0
  240. package/dist/types/{components → legacy/components}/layout/Error/Error.d.ts +1 -0
  241. package/dist/types/{components → legacy/components}/layout/Footer/Footer.d.ts +1 -0
  242. package/dist/types/{components → legacy/components}/layout/Header/Header.d.ts +1 -0
  243. package/dist/types/{components → legacy/components}/layout/Layout/Layout.d.ts +2 -0
  244. package/dist/types/{components → legacy/components}/layout/Sidebar/Sidebar.d.ts +5 -0
  245. package/dist/types/{components → legacy/components}/layout/Spinner/Spinner.d.ts +1 -0
  246. package/dist/types/{components → legacy/components}/layout/TopBar/TopBar.d.ts +2 -0
  247. package/dist/types/{components → legacy/components}/layout/TopNavLayout/TopNavLayout.d.ts +3 -0
  248. package/dist/types/{components → legacy/components}/molecules/BarraValor/BarraValor.d.ts +3 -0
  249. package/dist/types/{components → legacy/components}/molecules/ColumnPicker/ColumnPicker.d.ts +8 -1
  250. package/dist/types/{components → legacy/components}/molecules/ConfirmModal/ConfirmModal.d.ts +2 -0
  251. package/dist/types/{components → legacy/components}/molecules/DataTable/DataTable.d.ts +6 -0
  252. package/dist/types/{components → legacy/components}/molecules/FileDropzone/FileDropzone.d.ts +3 -0
  253. package/dist/types/{components → legacy/components}/molecules/LanguageSwitcher/LanguageSwitcher.d.ts +3 -0
  254. package/dist/types/{components → legacy/components}/molecules/Modal/Modal.d.ts +2 -0
  255. package/dist/types/{components → legacy/components}/molecules/MultiTagPicker/MultiTagPicker.d.ts +2 -0
  256. package/dist/types/{components → legacy/components}/molecules/PhotoAvatar/PhotoAvatar.d.ts +1 -0
  257. package/dist/types/{components → legacy/components}/molecules/SeletorPesquisa/SeletorPesquisa.d.ts +3 -0
  258. package/dist/types/{components → legacy/components}/molecules/Sidebar/Sidebar.d.ts +1 -0
  259. package/dist/types/{components → legacy/components}/molecules/UserAvatar/UserAvatar.d.ts +1 -0
  260. package/dist/types/{components → legacy/components}/organisms/GanttChart/GanttChart.d.ts +8 -1
  261. package/dist/types/{components → legacy/components}/organisms/Kanban/Kanban.d.ts +3 -0
  262. package/dist/types/{components → legacy/components}/organisms/LazyLoader/LazyLoader.d.ts +1 -0
  263. package/dist/types/{components → legacy/components}/organisms/MapaPontos/MapaPontos.d.ts +12 -2
  264. package/dist/types/{components → legacy/components}/organisms/PainelFiltros/PainelFiltros.d.ts +7 -0
  265. package/dist/types/{components → legacy/components}/organisms/PesquisaRapida/PesquisaRapida.d.ts +5 -0
  266. package/dist/types/{components → legacy/components}/organisms/Profile/Profile.d.ts +1 -0
  267. package/dist/types/{components → legacy/components}/organisms/RoleGuard/RoleGuard.d.ts +6 -1
  268. package/dist/types/{components → legacy/components}/organisms/Selector/Selector.d.ts +1 -0
  269. package/dist/types/{components → legacy/components}/organisms/StatusMatrix/StatusMatrix.d.ts +6 -0
  270. package/dist/types/{components → legacy/components}/ui/Avisos.d.ts +9 -1
  271. package/dist/types/{components → legacy/components}/ui/BarraAcoes.d.ts +2 -0
  272. package/dist/types/{components → legacy/components}/ui/CabecalhoPagina.d.ts +6 -1
  273. package/dist/types/{components → legacy/components}/ui/Confirmacao.d.ts +2 -0
  274. package/dist/types/{components → legacy/components}/ui/Escolha.d.ts +14 -2
  275. package/dist/types/{components → legacy/components}/ui/FaixaAviso.d.ts +3 -0
  276. package/dist/types/{components → legacy/components}/ui/Passos.d.ts +3 -0
  277. package/dist/types/{components → legacy/components}/ui/Separadores.d.ts +3 -0
  278. package/dist/types/{components → legacy/components}/ui/TextoAuto.d.ts +2 -0
  279. package/dist/types/{components → legacy/components}/ui/Ui.d.ts +41 -7
  280. package/dist/types/{constants → legacy/constants}/FontWeight.d.ts +1 -0
  281. package/dist/types/{contexts → legacy/contexts}/apiContext.d.ts +1 -0
  282. package/dist/types/{contexts → legacy/contexts}/authContext.d.ts +2 -0
  283. package/dist/types/{contexts → legacy/contexts}/socketContext.d.ts +2 -0
  284. package/dist/types/{exports → legacy/exports}/hooks.d.ts +1 -1
  285. package/dist/types/{exports → legacy/exports}/molecules.d.ts +2 -1
  286. package/dist/types/legacy/exports/types.d.ts +7 -0
  287. package/dist/types/{hooks → legacy/hooks}/useApi.d.ts +2 -0
  288. package/dist/types/{hooks → legacy/hooks}/useTheme.d.ts +2 -0
  289. package/dist/types/{pages → legacy/pages}/Error/ErrorPage.d.ts +1 -0
  290. package/dist/types/{pages → legacy/pages}/Loading/Loading.d.ts +1 -0
  291. package/dist/types/{pages → legacy/pages}/Login/LoginScreen.d.ts +2 -0
  292. package/dist/types/{pages → legacy/pages}/NotFound/NotFound.d.ts +1 -0
  293. package/dist/types/legacy/styles/utils/utils.d.ts +2 -0
  294. package/dist/types/{types → legacy/types}/Fetcher.d.ts +1 -0
  295. package/dist/types/{types → legacy/types}/LoggedUser.d.ts +1 -0
  296. package/dist/types/{types → legacy/types}/SidebarMenu.d.ts +2 -0
  297. package/dist/types/legacy/types/themes/AcronymThemes.d.ts +4 -0
  298. package/dist/types/{types → legacy/types}/themes/ButtonThemes.d.ts +3 -0
  299. package/dist/types/legacy/types/themes/CustomSwitchThemes.d.ts +4 -0
  300. package/dist/types/{types → legacy/types}/themes/IconTextThemes.d.ts +1 -0
  301. package/dist/types/legacy/utils/stringUtils.d.ts +6 -0
  302. package/dist/types/v1/capabilities/documents/QRScanning/scanQRCodes.d.ts +25 -0
  303. package/dist/types/v1/components/documents/DocumentDropzone/DocumentDropzone.d.ts +60 -0
  304. package/dist/types/v1/components/forms/FormField/FormField.d.ts +44 -0
  305. package/dist/types/v1/components/forms/FormGrid/FormGrid.d.ts +21 -0
  306. package/dist/types/v1/components/overlays/Dialog/Dialog.d.ts +55 -0
  307. package/dist/types/v1/foundations/icons/icons.d.ts +24 -0
  308. package/dist/types/v1/index.d.ts +25 -0
  309. package/dist/types/v1/primitives/buttons/Button/Button.d.ts +18 -0
  310. package/dist/types/v1/primitives/documents/PdfPreview/PdfPreview.d.ts +17 -0
  311. package/dist/types/v1/primitives/documents/PdfPreview/pdfjs.d.ts +11 -0
  312. package/dist/types/v1/primitives/forms/LookupInput/LookupInput.d.ts +25 -0
  313. package/dist/types/v1/primitives/forms/SelectInput/SelectInput.d.ts +19 -0
  314. package/dist/types/v1/primitives/forms/TextArea/TextArea.d.ts +37 -0
  315. package/dist/types/v1/primitives/forms/TextInput/TextInput.d.ts +16 -0
  316. package/dist/types/v1/primitives/forms/field.d.ts +20 -0
  317. package/package.json +38 -33
  318. package/dist/bundle.js +0 -2
  319. package/dist/bundle.js.LICENSE.txt +0 -80
  320. package/dist/types/components/atoms/Icone/Icone.test.d.ts +0 -1
  321. package/dist/types/components/layout/Sidebar/Sidebar.test.d.ts +0 -1
  322. package/dist/types/components/molecules/BarraValor/BarraValor.test.d.ts +0 -1
  323. package/dist/types/components/molecules/DataTable/DataTable.test.d.ts +0 -1
  324. package/dist/types/components/molecules/SeletorPesquisa/SeletorPesquisa.test.d.ts +0 -1
  325. package/dist/types/components/organisms/Kanban/Kanban.test.d.ts +0 -1
  326. package/dist/types/components/organisms/RoleGuard/RoleGuard.test.d.ts +0 -1
  327. package/dist/types/components/ui/CaixaPesquisa.test.d.ts +0 -1
  328. package/dist/types/components/ui/Escolha.test.d.ts +0 -1
  329. package/dist/types/components/ui/Paginas.test.d.ts +0 -1
  330. package/dist/types/exports/types.d.ts +0 -7
  331. package/dist/types/styles/utils/utils.d.ts +0 -1
  332. package/dist/types/test/setup.d.ts +0 -1
  333. package/dist/types/types/themes/AcronymThemes.d.ts +0 -3
  334. package/dist/types/types/themes/CustomSwitchThemes.d.ts +0 -3
  335. package/dist/types/utils/stringUtils.d.ts +0 -3
  336. /package/dist/types/{components → legacy/components}/atoms/MultiTagPickerTag/MultiTagPickerTag.d.ts +0 -0
  337. /package/dist/types/{components → legacy/components}/atoms/SearchSelect/SearchSelect.d.ts +0 -0
  338. /package/dist/types/{components → legacy/components}/molecules/Search/Search.d.ts +0 -0
  339. /package/dist/types/{components → legacy/components}/ui/CaixaPesquisa.d.ts +0 -0
  340. /package/dist/types/{components → legacy/components}/ui/MenuAcoes.d.ts +0 -0
  341. /package/dist/types/{components → legacy/components}/ui/painelFlutuante.d.ts +0 -0
  342. /package/dist/types/{constants → legacy/constants}/Colors.d.ts +0 -0
  343. /package/dist/types/{exports → legacy/exports}/assets.d.ts +0 -0
  344. /package/dist/types/{exports → legacy/exports}/atoms.d.ts +0 -0
  345. /package/dist/types/{exports → legacy/exports}/charts.d.ts +0 -0
  346. /package/dist/types/{exports → legacy/exports}/constants.d.ts +0 -0
  347. /package/dist/types/{exports → legacy/exports}/contexts.d.ts +0 -0
  348. /package/dist/types/{exports → legacy/exports}/layout.d.ts +0 -0
  349. /package/dist/types/{exports → legacy/exports}/organisms.d.ts +0 -0
  350. /package/dist/types/{exports → legacy/exports}/pages.d.ts +0 -0
  351. /package/dist/types/{exports → legacy/exports}/styles.d.ts +0 -0
  352. /package/dist/types/{exports → legacy/exports}/ui.d.ts +0 -0
  353. /package/dist/types/{exports → legacy/exports}/utils.d.ts +0 -0
  354. /package/dist/types/{styles → legacy/styles}/themes/ButtonThemes.d.ts +0 -0
  355. /package/dist/types/{types → legacy/types}/SelectableElement.d.ts +0 -0
  356. /package/dist/types/{utils → legacy/utils}/keycloak.d.ts +0 -0
@@ -0,0 +1,25 @@
1
+ export interface ScanQRCodesOptions {
2
+ /**
3
+ * Continuar a procurar até um código satisfazer esta condição (ex: ser o QR
4
+ * de uma fatura). Um documento pode ter vários QR codes e o primeiro a ser
5
+ * lido é arbitrário. Por omissão, pára no primeiro código encontrado.
6
+ */
7
+ until?: (code: string) => boolean;
8
+ }
9
+ /**
10
+ * Indica onde está o `zxing_reader.wasm` servido pela app. Chamar uma vez no
11
+ * arranque, antes da primeira leitura. Sem isto, o ficheiro é descarregado da
12
+ * CDN jsDelivr (pode ser bloqueado por redes ou políticas de segurança).
13
+ */
14
+ export declare function configureQRScanner(options: {
15
+ wasmUrl: string;
16
+ }): void;
17
+ /**
18
+ * Lê os QR codes de uma imagem ou PDF (1.ª página).
19
+ *
20
+ * Devolve o texto de cada código encontrado, sem repetidos, pela ordem em que
21
+ * foram lidos; vazio se não houver nenhum ou se o ficheiro não se puder ler.
22
+ * Depois de encontrar o que procura, faz ainda uma passagem para recolher os
23
+ * outros códigos da página (ex: QR do banco ao lado do QR fiscal).
24
+ */
25
+ export declare function scanQRCodes(file: File, options?: ScanQRCodesOptions): Promise<string[]>;
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ export interface DocumentDropzoneLabels {
3
+ title: string;
4
+ hint?: string;
5
+ change: string;
6
+ remove: string;
7
+ /** Texto enquanto procura QR codes (só com `onQRCodes`), ex: "A procurar QR codes…". */
8
+ scanningQR?: string;
9
+ /**
10
+ * Mensagem quando um ficheiro não é permitido pelo `accept`, ex: "Formato não
11
+ * permitido. Aceita PDF, JPG ou PNG." Aparece logo ao arrastar e depois de largar.
12
+ */
13
+ rejected: string;
14
+ }
15
+ export interface DocumentDropzoneProps {
16
+ file: File | null;
17
+ onFileChange: (file: File | null) => void;
18
+ /**
19
+ * Tipos permitidos: extensões e/ou tipos MIME, separados por vírgulas, ex:
20
+ * ".pdf,.jpg,.jpeg,.png". Os restantes são recusados (ver `labels.rejected` e
21
+ * `onReject`). Sem `accept`, aceita qualquer ficheiro.
22
+ *
23
+ * - `image/*` inclui SVG (que pode conter código) e HEIC (sem pré-visualização
24
+ * na maioria dos browsers). Para documentos, prefira uma lista explícita.
25
+ * - Só se verificam o nome e o tipo declarado, não o conteúdo: um ficheiro
26
+ * renomeado passa. O servidor deve validar o que recebe.
27
+ */
28
+ accept?: string;
29
+ disabled?: boolean;
30
+ labels: DocumentDropzoneLabels;
31
+ /** Pré-visualização própria. Se devolver null/undefined, usa a de omissão (imagem, PDF ou ícone). */
32
+ renderPreview?: (file: File, url: string) => React.ReactNode;
33
+ /**
34
+ * Procura QR codes em cada ficheiro escolhido (imagem ou 1.ª página do PDF) e
35
+ * entrega o texto de todos os encontrados (vazio se nenhum). Sem esta prop não
36
+ * se procura nada. Usa a capacidade [QR Scanning](?path=/docs/v1-capabilities-documents-qr-scanning--docs).
37
+ */
38
+ onQRCodes?: (codes: string[], file: File) => void;
39
+ /** Chamado com os ficheiros recusados pelo `accept` (quando nenhum dos largados/escolhidos serve). */
40
+ onReject?: (files: File[]) => void;
41
+ /** Continuar a procurar até um QR code satisfazer isto (ex: ser o QR de uma fatura). Por omissão, pára no primeiro. */
42
+ qrCodeWanted?: (code: string) => boolean;
43
+ className?: string;
44
+ }
45
+ /**
46
+ * Se um ficheiro deste tipo é permitido, sabendo só o tipo (durante o arrastar).
47
+ * `null` quando não dá para saber (tipo desconhecido, ou extensão fora da tabela).
48
+ */
49
+ export declare function acceptsType(type: string, accept?: string): boolean | null;
50
+ export declare function accepts(file: File, accept?: string): boolean;
51
+ /** Folhas de cálculo (Excel, CSV): pela extensão ou pelo tipo, que o browser às vezes não conhece. */
52
+ export declare const isSpreadsheet: (file: File) => boolean;
53
+ /**
54
+ * Caixa para anexar um ficheiro a um formulário: arrastar ou clicar para
55
+ * escolher. Mostra o nome, o tamanho e uma pré-visualização do ficheiro.
56
+ *
57
+ * **Usa:** [PdfPreview](?path=/docs/v1-primitives-documents-pdfpreview--docs) para mostrar PDFs; imagens com `<img>`.
58
+ * Com `onQRCodes`, a capacidade [QR Scanning](?path=/docs/v1-capabilities-documents-qr-scanning--docs).
59
+ */
60
+ export default function DocumentDropzone({ file, onFileChange, accept, disabled, labels, renderPreview, onQRCodes, qrCodeWanted, onReject, className, }: DocumentDropzoneProps): React.JSX.Element;
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ export interface FormFieldProps {
3
+ label: string;
4
+ /** Asterisco vermelho na etiqueta; o campo lá dentro fica `required`. */
5
+ required?: boolean;
6
+ /** Texto pequeno por baixo da etiqueta. */
7
+ hint?: string;
8
+ /**
9
+ * Marcas antes da etiqueta, a dizer de onde veio o valor (ex: lido do QR,
10
+ * identificado pela IA). Usar [FieldMark](#fieldmark).
11
+ */
12
+ marks?: React.ReactNode;
13
+ /**
14
+ * Lugares reservados para marcas, mesmo sem nenhuma. Assim a etiqueta não
15
+ * salta quando uma marca aparece depois (ex: ao ler o QR).
16
+ */
17
+ markSlots?: number;
18
+ /** Algo junto à etiqueta, depois das marcas (ex: o valor máximo permitido). */
19
+ aside?: React.ReactNode;
20
+ /** Depois do campo, na mesma linha (ex: cadeado, ícone de informação). */
21
+ end?: React.ReactNode;
22
+ /** Ocupa a linha toda (ex: observações, anexo). */
23
+ wide?: boolean;
24
+ /** Etiqueta alinhada ao topo em vez de ao meio (campos altos, como o TextArea). */
25
+ alignTop?: boolean;
26
+ /** O campo: TextInput, SelectInput, TextArea ou outro. */
27
+ children: React.ReactNode;
28
+ }
29
+ /**
30
+ * Uma linha do formulário: etiqueta e campo. Vai dentro de um
31
+ * [FormGrid](?path=/docs/v1-components-forms-formgrid--docs).
32
+ *
33
+ * Liga a etiqueta ao campo (clicar na etiqueta foca o campo) e passa-lhe o
34
+ * `required`, se o campo for TextInput, SelectInput ou TextArea.
35
+ */
36
+ export default function FormField({ label, required, hint, marks, markSlots, aside, end, wide, alignTop, children }: FormFieldProps): React.JSX.Element;
37
+ export interface FieldMarkProps {
38
+ /** De onde veio o valor (ex: "Lido do QR Code"). Mostrado ao passar o rato e lido pelos leitores de ecrã. */
39
+ title: string;
40
+ /** O ícone, a 11 px (ex: `<QrCodeIcon size={11} />`). */
41
+ icon: React.ReactNode;
42
+ }
43
+ /** Marca pequena antes da etiqueta de um FormField, a dizer de onde veio o valor. */
44
+ export declare function FieldMark({ title, icon }: FieldMarkProps): React.JSX.Element;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ export interface FormGridProps {
3
+ /** Campos por linha: 2 (etiqueta · campo · etiqueta · campo) ou 1. */
4
+ columns?: 1 | 2;
5
+ className?: string;
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const useFormGrid: () => {
9
+ columns: 1 | 2;
10
+ };
11
+ /**
12
+ * Grelha de um formulário: etiquetas à esquerda, alinhadas à direita, e os
13
+ * campos ao lado. Os filhos são [FormField](?path=/docs/v1-components-forms-formfield--docs)
14
+ * e, entre grupos, `FormDivider`.
15
+ *
16
+ * Adapta-se à largura do sítio onde está (não à do ecrã): abaixo de 680 px as
17
+ * etiquetas estreitam; abaixo de 500 px cada etiqueta fica por cima do campo.
18
+ */
19
+ export default function FormGrid({ columns, className, children }: FormGridProps): React.JSX.Element;
20
+ /** Linha de separação entre grupos de campos, a toda a largura. */
21
+ export declare function FormDivider(): React.JSX.Element;
@@ -0,0 +1,55 @@
1
+ import React from 'react';
2
+ /**
3
+ * O elemento da janela aberta, para usar como destino de `createPortal` (ex:
4
+ * avisos, confirmações, sobreposições). Com a janela aberta, tudo o que está
5
+ * fora dela fica por baixo e não responde; um portal para `document.body` fica
6
+ * escondido atrás. Fora de um Dialog devolve `null`.
7
+ *
8
+ * `createPortal(conteudo, useDialogContainer() ?? document.body)`
9
+ */
10
+ export declare const useDialogContainer: () => HTMLElement | null;
11
+ export interface DialogProps {
12
+ /** Aberta ou fechada. A app guarda este estado. */
13
+ open: boolean;
14
+ /** Pedido para fechar (×, Esc ou clique fora): a app põe `open` a `false`. */
15
+ onClose: () => void;
16
+ title: string;
17
+ /** Linha por baixo do título (ex: nome · departamento). */
18
+ subtitle?: string;
19
+ /** Botões no rodapé, sempre visíveis (ex: Confirmar, Fechar). */
20
+ footer?: React.ReactNode;
21
+ /** Largura máxima: `sm` 480px, `md` 720px, `lg` 1000px. Nunca passa o ecrã. */
22
+ size?: 'sm' | 'md' | 'lg';
23
+ /**
24
+ * Altura: `auto` (por omissão) cresce com o conteúdo; `full` ocupa sempre a
25
+ * altura disponível (útil quando o conteúdo muda de tamanho e a janela não
26
+ * deve saltar). Em ambos, se o conteúdo não couber, o corpo faz scroll.
27
+ */
28
+ height?: 'auto' | 'full';
29
+ /** Fechar ao clicar fora da janela. Por omissão sim; num formulário longo pode valer a pena desligar. */
30
+ closeOnBackdrop?: boolean;
31
+ /** Nome do botão ×, para leitores de ecrã. Por omissão: "Fechar". */
32
+ closeLabel?: string;
33
+ /**
34
+ * Corpo sem margens e sem scroll: o conteúdo ocupa-o todo e gere o seu próprio
35
+ * scroll (ex: passos que deslizam, rodapé próprio de cada passo).
36
+ */
37
+ flush?: boolean;
38
+ children: React.ReactNode;
39
+ }
40
+ /**
41
+ * Janela por cima da página: cabeçalho navy com título, corpo que faz scroll e
42
+ * rodapé com os botões.
43
+ *
44
+ * É a janela modal da V1 (substitui o `Modal` legacy).
45
+ *
46
+ * Usa o [&lt;dialog&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog)
47
+ * do browser: fundo escurecido, Esc para fechar, o teclado fica dentro da
48
+ * janela e, ao fechar, volta ao sítio onde estava.
49
+ *
50
+ * O tamanho adapta-se ao ecrã só com CSS: nunca passa a largura nem a altura
51
+ * da janela do browser (com uma margem), e acompanha-a quando é
52
+ * redimensionada. O que não couber faz scroll no corpo; o cabeçalho e o
53
+ * rodapé ficam sempre visíveis.
54
+ */
55
+ export default function Dialog({ open, onClose, title, subtitle, footer, size, height, closeOnBackdrop, closeLabel, flush, children, }: DialogProps): React.JSX.Element;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ /**
3
+ * Conjunto de ícones do V1: traço de 1,7 a 1,9 em grelha de 24, cor do texto
4
+ * (`currentColor`), sem preenchimento. Decorativos por omissão (`aria-hidden`):
5
+ * quem os usa dá o nome acessível ao botão ou etiqueta à volta.
6
+ */
7
+ export interface IconProps {
8
+ /** Lado em px. */
9
+ size?: number;
10
+ className?: string;
11
+ }
12
+ /** Lido de um QR code. */
13
+ export declare function QrCodeIcon(props: IconProps): React.JSX.Element;
14
+ /** Identificado automaticamente (IA). */
15
+ export declare function SparklesIcon(props: IconProps): React.JSX.Element;
16
+ /** Pré-preenchido a partir de outro registo (ex: linha de um extrato). */
17
+ export declare function PrefilledIcon(props: IconProps): React.JSX.Element;
18
+ /** Bloqueado: o valor não se pode alterar. */
19
+ export declare function LockIcon(props: IconProps): React.JSX.Element;
20
+ /** Mais informação. */
21
+ export declare function InfoIcon(props: IconProps): React.JSX.Element;
22
+ export declare function SearchIcon(props: IconProps): React.JSX.Element;
23
+ export declare function CheckIcon(props: IconProps): React.JSX.Element;
24
+ export declare function ChevronDownIcon(props: IconProps): React.JSX.Element;
@@ -0,0 +1,25 @@
1
+ export { default as DocumentDropzone, accepts as documentDropzoneAccepts } from './components/documents/DocumentDropzone/DocumentDropzone';
2
+ export type { DocumentDropzoneProps, DocumentDropzoneLabels } from './components/documents/DocumentDropzone/DocumentDropzone';
3
+ export { default as PdfPreview } from './primitives/documents/PdfPreview/PdfPreview';
4
+ export type { PdfPreviewProps } from './primitives/documents/PdfPreview/PdfPreview';
5
+ export { configurePdfWorker } from './primitives/documents/PdfPreview/pdfjs';
6
+ export { scanQRCodes, configureQRScanner } from './capabilities/documents/QRScanning/scanQRCodes';
7
+ export type { ScanQRCodesOptions } from './capabilities/documents/QRScanning/scanQRCodes';
8
+ export { QrCodeIcon, SparklesIcon, PrefilledIcon, LockIcon, InfoIcon, SearchIcon, CheckIcon, ChevronDownIcon } from './foundations/icons/icons';
9
+ export type { IconProps } from './foundations/icons/icons';
10
+ export { default as TextInput } from './primitives/forms/TextInput/TextInput';
11
+ export type { TextInputProps } from './primitives/forms/TextInput/TextInput';
12
+ export { default as SelectInput } from './primitives/forms/SelectInput/SelectInput';
13
+ export type { SelectInputProps } from './primitives/forms/SelectInput/SelectInput';
14
+ export { default as TextArea } from './primitives/forms/TextArea/TextArea';
15
+ export type { TextAreaProps } from './primitives/forms/TextArea/TextArea';
16
+ export { default as LookupInput } from './primitives/forms/LookupInput/LookupInput';
17
+ export type { LookupInputProps } from './primitives/forms/LookupInput/LookupInput';
18
+ export { default as FormGrid, FormDivider } from './components/forms/FormGrid/FormGrid';
19
+ export type { FormGridProps } from './components/forms/FormGrid/FormGrid';
20
+ export { default as FormField, FieldMark } from './components/forms/FormField/FormField';
21
+ export type { FormFieldProps, FieldMarkProps } from './components/forms/FormField/FormField';
22
+ export { default as Button } from './primitives/buttons/Button/Button';
23
+ export type { ButtonProps } from './primitives/buttons/Button/Button';
24
+ export { default as Dialog, useDialogContainer } from './components/overlays/Dialog/Dialog';
25
+ export type { DialogProps } from './components/overlays/Dialog/Dialog';
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ /** `primary`: a ação principal (navy, uma por ecrã). `secondary`: as outras (ex: Fechar). */
4
+ variant?: 'primary' | 'secondary';
5
+ /** Ícone antes do texto (ex: `<CheckIcon size={13} />`). */
6
+ icon?: React.ReactNode;
7
+ /** A guardar/enviar: mostra uma roda no lugar do ícone e fica desativado. */
8
+ loading?: boolean;
9
+ }
10
+ /**
11
+ * Botão de ação (ex: Confirmar, Fechar). Por omissão não submete formulários
12
+ * (`type="button"`); para submeter, passar `type="submit"`.
13
+ *
14
+ * **Aceita os atributos HTML do [&lt;button&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button)**, com o mesmo comportamento: `onClick`, `disabled`, `type`, `name`, `form`, `ref`, ...
15
+ * Só os próprios do V1 aparecem na tabela abaixo.
16
+ */
17
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
18
+ export default Button;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export interface PdfPreviewProps {
3
+ file: File;
4
+ /** Texto alternativo das páginas e mensagem quando o PDF não abre. */
5
+ label: string;
6
+ /** Imagem da 1.ª página já renderizada pela app, para aparecer de imediato. */
7
+ initialFirstPage?: string;
8
+ className?: string;
9
+ }
10
+ /**
11
+ * Pré-visualização de PDF com pdf.js: as páginas em coluna, com scroll vertical
12
+ * e sem a barra de ferramentas do visualizador nativo (que transborda em caixas
13
+ * estreitas). Cada página só é renderizada quando se aproxima da área visível.
14
+ *
15
+ * **Usado por:** [DocumentDropzone](?path=/docs/v1-components-documents-documentdropzone--docs) (quando o ficheiro é um PDF).
16
+ */
17
+ export default function PdfPreview({ file, label, initialFirstPage, className }: PdfPreviewProps): React.JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type * as PdfJs from 'pdfjs-dist';
2
+ type PdfJsModule = typeof PdfJs;
3
+ /**
4
+ * Indica ao pdf.js onde está o worker (`pdf.worker.min.mjs`) servido pela app.
5
+ * Chamar uma vez no arranque. Se a app já define `GlobalWorkerOptions.workerSrc`
6
+ * pela sua própria cópia do pdf.js (a mesma, quando deduplicada), não é preciso.
7
+ */
8
+ export declare function configurePdfWorker(src: string): void;
9
+ /** Carrega o pdf.js só quando há um PDF para mostrar; depois fica em cache. */
10
+ export declare function loadPdfjs(): Promise<PdfJsModule>;
11
+ export {};
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export interface LookupInputProps {
3
+ /** O que foi escolhido, como a app o quer mostrar (ex: "PRJ-0001 - Projeto de exemplo"). Vazio se nada. */
4
+ value: string;
5
+ /** Chamado ao carregar na lupa: a app abre a sua pesquisa e, quando se escolhe algo, atualiza o `value`. */
6
+ onLookup: () => void;
7
+ /** O que a lupa faz (ex: "Pesquisar projeto"). Lido pelos leitores de ecrã e mostrado ao passar o rato. */
8
+ lookupLabel: string;
9
+ /** Texto quando não há nada escolhido (ex: "Nenhum projeto"). */
10
+ placeholder?: string;
11
+ /** Marca o campo a vermelho (ex: obrigatório por escolher ao submeter). */
12
+ invalid?: boolean;
13
+ disabled?: boolean;
14
+ id?: string;
15
+ /** Aplica-se à caixa à volta (para a largura, por exemplo). */
16
+ className?: string;
17
+ }
18
+ /**
19
+ * Campo que **não se escreve**: o valor escolhe-se numa pesquisa, aberta pela
20
+ * lupa ao lado (ex: escolher um projeto). A pesquisa é da app; este campo só
21
+ * mostra o que foi escolhido.
22
+ *
23
+ * Não é como um `<input>` HTML: só aceita as props da tabela abaixo.
24
+ */
25
+ export default function LookupInput({ value, onLookup, lookupLabel, placeholder, invalid, disabled, id, className }: LookupInputProps): React.JSX.Element;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export interface SelectInputProps extends React.SelectHTMLAttributes<HTMLSelectElement> {
3
+ /** Marca o campo a vermelho (ex: obrigatório por escolher ao submeter). */
4
+ invalid?: boolean;
5
+ /** Texto da primeira opção, vazia (ex: "Selecionar"). */
6
+ placeholder?: string;
7
+ }
8
+ /**
9
+ * Lista de escolha (o `<select>` do browser, com o aspeto dos outros campos).
10
+ * As opções são `<option>` como num `<select>` normal.
11
+ *
12
+ * O `className` aplica-se à caixa à volta (para a largura, por exemplo).
13
+ *
14
+ * **Aceita os atributos HTML do [&lt;select&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select)**, com o mesmo comportamento: `value`/`onChange`, `required`, `disabled`, `name`, `ref`, ...
15
+ * Só os próprios do V1 aparecem na tabela abaixo.
16
+ * Diferença: `placeholder` acrescenta uma primeira opção vazia (o `<select>` HTML não tem placeholder).
17
+ */
18
+ declare const SelectInput: React.ForwardRefExoticComponent<SelectInputProps & React.RefAttributes<HTMLSelectElement>>;
19
+ export default SelectInput;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ export interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ /** Marca o campo a vermelho (ex: obrigatório por preencher ao submeter). */
4
+ invalid?: boolean;
5
+ /** Mostra no canto quantos caracteres tem. Com `maxLength`, "usados/máximo", e fica âmbar perto do limite. */
6
+ counter?: boolean;
7
+ /**
8
+ * Deixar o texto passar o `maxLength`, e como o mostrar:
9
+ * - sem `overflow` (por omissão): não passa. Tentar escrever ou colar a mais
10
+ * avisa (`limitReachedLabel`, `truncatedLabel`).
11
+ * - `warning`: passa, com aviso a âmbar. O campo continua válido.
12
+ * - `error`: passa, com aviso a vermelho, e o campo fica inválido.
13
+ *
14
+ * Com `overflow`, o texto não é cortado: a app tem de verificar o tamanho
15
+ * antes de guardar.
16
+ */
17
+ overflow?: 'warning' | 'error';
18
+ /** Sem `overflow`: aviso ao tentar escrever com o campo cheio. Por omissão: "Chegou ao limite de {maxLength} caracteres." */
19
+ limitReachedLabel?: string;
20
+ /** Sem `overflow`: aviso quando um texto colado é cortado. Por omissão: "Texto cortado: só cabem {maxLength} caracteres." */
21
+ truncatedLabel?: string;
22
+ /** Com `overflow`: aviso enquanto o texto passa o limite. Por omissão: "{a mais} caracteres a mais (máximo {maxLength})." */
23
+ overflowLabel?: (excess: number, max: number) => string;
24
+ }
25
+ /**
26
+ * Texto em várias linhas. Pode ser esticado na vertical.
27
+ *
28
+ * Com `counter`, mostra quantos caracteres tem (e o máximo, se houver `maxLength`).
29
+ * Com `maxLength`, o texto não passa do limite e o campo avisa quando se tenta
30
+ * escrever ou colar a mais. Com `overflow`, pode passar, como aviso ou erro.
31
+ *
32
+ * **Aceita os atributos HTML do [&lt;textarea&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/textarea)**, com o mesmo comportamento: `value`/`onChange`, `required`, `disabled`, `readOnly`, `name`, `placeholder`, `maxLength`, `minLength`, `ref`, ...
33
+ * Só os próprios do V1 aparecem na tabela abaixo.
34
+ * Diferenças: o `className` aplica-se à caixa à volta; com `overflow`, o `maxLength` deixa de ser imposto.
35
+ */
36
+ declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<HTMLTextAreaElement>>;
37
+ export default TextArea;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export interface TextInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
+ /** Marca o campo a vermelho (ex: obrigatório por preencher ao submeter). */
4
+ invalid?: boolean;
5
+ }
6
+ /**
7
+ * Campo de texto de uma linha (também data, número, etc. pelo `type`).
8
+ *
9
+ * Dentro de um [FormField](?path=/docs/v1-components-forms-formfield--docs) fica
10
+ * ligado à etiqueta automaticamente.
11
+ *
12
+ * **Aceita os atributos HTML do [&lt;input&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input)**, com o mesmo comportamento: `value`/`onChange`, `required`, `disabled`, `readOnly`, `name`, `placeholder`, `type`, `min`/`max`, `maxLength`, `pattern`, `ref`, ...
13
+ * Só os próprios do V1 aparecem na tabela abaixo.
14
+ */
15
+ declare const TextInput: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
16
+ export default TextInput;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Aspeto comum dos campos (TextInput, SelectInput, TextArea): altura `--spacing-control`, borda
3
+ * clara, anel suave no foco, vermelho quando inválido (`aria-invalid`) e cinzento
4
+ * quando desativado.
5
+ */
6
+ export declare const fieldClasses: string;
7
+ /** Só para campos de texto: um `<select>` também conta como `:read-only` no browser. */
8
+ export declare const readOnlyClasses = "read-only:cursor-default read-only:bg-muted";
9
+ /**
10
+ * Dado pelo FormField ao campo lá dentro: o `id` que liga a etiqueta ao campo e
11
+ * se é obrigatório. Fora de um FormField, os campos funcionam sozinhos.
12
+ */
13
+ export declare const FieldContext: import("react").Context<{
14
+ id?: string;
15
+ required?: boolean;
16
+ }>;
17
+ export declare const useField: () => {
18
+ id?: string;
19
+ required?: boolean;
20
+ };
package/package.json CHANGED
@@ -1,14 +1,28 @@
1
1
  {
2
2
  "name": "@nextelco/common-ui",
3
- "version": "2.1.97",
3
+ "version": "2.1.99",
4
4
  "description": "",
5
- "main": "dist/bundle.js",
5
+ "main": "dist/esm/index.js",
6
+ "module": "dist/esm/index.js",
6
7
  "types": "dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "default": "./dist/esm/index.js"
12
+ },
13
+ "./dist/*": "./dist/*",
14
+ "./package.json": "./package.json"
15
+ },
16
+ "sideEffects": [
17
+ "*.css",
18
+ "*.scss"
19
+ ],
7
20
  "files": [
8
21
  "dist"
9
22
  ],
10
23
  "scripts": {
11
- "build": "webpack --mode production && tailwindcss -i src/styles/tailwind.css -o dist/style.css --minify && tailwindcss -i src/styles/tailwind.layered.css -o dist/style.layered.css --minify",
24
+ "prebuild": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
25
+ "build": "vite build --config vite.lib.config.ts && tsc -p tsconfig.build.json && tailwindcss -i src/styles/tailwind.css -o dist/style.css --minify && tailwindcss -i src/styles/tailwind.layered.css -o dist/style.layered.css --minify",
12
26
  "storybook": "storybook dev -p 6006",
13
27
  "build-storybook": "storybook build",
14
28
  "pub": "git add . && git commit -m \"update\" && git push && npm test && npm version patch && npm run build && npm publish",
@@ -25,8 +39,6 @@
25
39
  "peerDependencies": {
26
40
  "@azure/msal-browser": ">=3",
27
41
  "@azure/msal-react": ">=2",
28
- "leaflet": "^1.9.0",
29
- "leaflet.markercluster": "^1.5.0",
30
42
  "react": ">=18",
31
43
  "react-dom": ">=18",
32
44
  "react-router-dom": ">=6"
@@ -37,26 +49,18 @@
37
49
  },
38
50
  "@azure/msal-browser": {
39
51
  "optional": true
40
- },
41
- "leaflet": {
42
- "optional": true
43
- },
44
- "leaflet.markercluster": {
45
- "optional": true
46
52
  }
47
53
  },
48
54
  "devDependencies": {
49
55
  "@azure/msal-browser": "^5.17.3",
50
56
  "@azure/msal-react": "^5.5.4",
51
- "@chromatic-com/storybook": "^4.0.0",
52
- "@storybook/addon-docs": "^9.0.0",
53
- "@storybook/addon-interactions": "^8.6.14",
54
- "@storybook/addon-links": "^9.0.0",
55
- "@storybook/addon-onboarding": "^9.0.0",
56
- "@storybook/addon-webpack5-compiler-babel": "^3.0.6",
57
- "@storybook/addon-webpack5-compiler-swc": "^3.0.0",
58
- "@storybook/react-webpack5": "^9.0.0",
57
+ "@chromatic-com/storybook": "^5.5.1",
58
+ "@storybook/addon-docs": "^10.6.2",
59
+ "@storybook/addon-links": "^10.6.2",
60
+ "@storybook/addon-onboarding": "^10.6.2",
61
+ "@storybook/react-vite": "^10.6.2",
59
62
  "@tailwindcss/cli": "^4.3.3",
63
+ "@tailwindcss/postcss": "^4.3.3",
60
64
  "@testing-library/dom": "^10.4.2",
61
65
  "@testing-library/jest-dom": "^6.9.1",
62
66
  "@testing-library/react": "^16.3.3",
@@ -70,25 +74,17 @@
70
74
  "@types/storybook__react": "^5.2.1",
71
75
  "@vitejs/plugin-react": "^4.7.0",
72
76
  "@vitest/coverage-v8": "^3.2.7",
73
- "chart.js": "^4.5.1",
74
- "chartjs-plugin-datalabels": "^2.2.0",
75
- "css-loader": "^7.1.2",
76
77
  "jsdom": "^26.1.0",
77
- "leaflet": "^1.9.4",
78
- "leaflet.markercluster": "^1.5.3",
79
78
  "msw": "^2.7.3",
80
- "react-chartjs-2": "^5.3.1",
79
+ "qrcode": "^1.5.4",
81
80
  "react-router-dom": "^6.30.4",
82
81
  "sass": "^1.84.0",
83
- "sass-loader": "^16.0.4",
84
- "storybook": "^9.0.0",
85
- "style-loader": "^4.0.0",
82
+ "storybook": "^10.6.2",
86
83
  "tailwindcss": "^4.3.3",
87
- "ts-loader": "^9.5.2",
88
84
  "typescript": "^5.7.3",
89
- "vitest": "^3.2.7",
90
- "webpack": "^5.97.1",
91
- "webpack-cli": "^6.0.1"
85
+ "vite": "^7.3.7",
86
+ "vite-plugin-lib-inject-css": "^2.2.2",
87
+ "vitest": "^3.2.7"
92
88
  },
93
89
  "dependencies": {
94
90
  "@fortawesome/fontawesome-svg-core": "^6.7.2",
@@ -96,18 +92,27 @@
96
92
  "@fortawesome/free-regular-svg-icons": "^6.7.2",
97
93
  "@fortawesome/free-solid-svg-icons": "^6.7.2",
98
94
  "@fortawesome/react-fontawesome": "^0.2.2",
95
+ "@zxing/library": "^0.23.0",
99
96
  "axios": "^1.8.1",
97
+ "chart.js": "^4.5.1",
98
+ "chartjs-plugin-datalabels": "^2.2.0",
100
99
  "iconoir-react": "^7.11.0",
101
100
  "js-cookie": "^3.0.5",
102
101
  "keycloak-js": "^25.0.0",
102
+ "leaflet": "^1.9.4",
103
103
  "leaflet.heat": "^0.2.0",
104
+ "leaflet.markercluster": "^1.5.3",
105
+ "pdfjs-dist": "^4.10.38",
106
+ "qr-scanner": "^1.4.2",
107
+ "react-chartjs-2": "^5.3.1",
104
108
  "react-focus-lock": "^2.13.6",
105
109
  "react-infinite-scroll-component": "^6.1.0",
106
110
  "react-remove-scroll": "^2.6.3",
107
111
  "react-switch": "^7.1.0",
108
112
  "react-tooltip": "^5.28.0",
109
113
  "socket.io-client": "^4.8.1",
110
- "tough-cookie": "^5.1.2"
114
+ "tough-cookie": "^5.1.2",
115
+ "zxing-wasm": "^3.1.5"
111
116
  },
112
117
  "overrides": {
113
118
  "storybook": "$storybook"