kitunga-web 0.1.78

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 (402) hide show
  1. package/dist/features/buttons/components/Btns/Button.d.ts +32 -0
  2. package/dist/features/buttons/components/Btns/Button.d.ts.map +1 -0
  3. package/dist/features/buttons/components/Btns/Button.js +50 -0
  4. package/dist/features/buttons/components/Btns/Button.js.map +1 -0
  5. package/dist/features/buttons/components/Btns/Button.module.css +205 -0
  6. package/dist/features/data-display/components/Cards/ChartCard.d.ts +9 -0
  7. package/dist/features/data-display/components/Cards/ChartCard.d.ts.map +1 -0
  8. package/dist/features/data-display/components/Cards/ChartCard.js +7 -0
  9. package/dist/features/data-display/components/Cards/ChartCard.js.map +1 -0
  10. package/dist/features/data-display/components/Cards/ChartCard.module.css +27 -0
  11. package/dist/features/data-display/components/Cards/MetricCard.d.ts +11 -0
  12. package/dist/features/data-display/components/Cards/MetricCard.d.ts.map +1 -0
  13. package/dist/features/data-display/components/Cards/MetricCard.js +10 -0
  14. package/dist/features/data-display/components/Cards/MetricCard.js.map +1 -0
  15. package/dist/features/data-display/components/Cards/MetricCard.module.css +86 -0
  16. package/dist/features/data-display/components/Cards/StatCard.d.ts +15 -0
  17. package/dist/features/data-display/components/Cards/StatCard.d.ts.map +1 -0
  18. package/dist/features/data-display/components/Cards/StatCard.js +23 -0
  19. package/dist/features/data-display/components/Cards/StatCard.js.map +1 -0
  20. package/dist/features/data-display/components/Cards/StatCard.module.css +98 -0
  21. package/dist/features/data-display/components/Table/LineItemsTable.d.ts +4 -0
  22. package/dist/features/data-display/components/Table/LineItemsTable.d.ts.map +1 -0
  23. package/dist/features/data-display/components/Table/LineItemsTable.js +216 -0
  24. package/dist/features/data-display/components/Table/LineItemsTable.js.map +1 -0
  25. package/dist/features/data-display/components/Table/LineItemsTable.module.css +223 -0
  26. package/dist/features/data-display/components/Table/Table.d.ts +4 -0
  27. package/dist/features/data-display/components/Table/Table.d.ts.map +1 -0
  28. package/dist/features/data-display/components/Table/Table.js +181 -0
  29. package/dist/features/data-display/components/Table/Table.js.map +1 -0
  30. package/dist/features/data-display/components/Table/Table.module.css +305 -0
  31. package/dist/features/data-display/components/Table/types/LineItemsTable.d.ts +83 -0
  32. package/dist/features/data-display/components/Table/types/LineItemsTable.d.ts.map +1 -0
  33. package/dist/features/data-display/components/Table/types/LineItemsTable.js +2 -0
  34. package/dist/features/data-display/components/Table/types/LineItemsTable.js.map +1 -0
  35. package/dist/features/data-display/components/Table/types/Table.d.ts +78 -0
  36. package/dist/features/data-display/components/Table/types/Table.d.ts.map +1 -0
  37. package/dist/features/data-display/components/Table/types/Table.js +2 -0
  38. package/dist/features/data-display/components/Table/types/Table.js.map +1 -0
  39. package/dist/features/data-display/components/Tabs/PillTabs/PillTabs.d.ts +12 -0
  40. package/dist/features/data-display/components/Tabs/PillTabs/PillTabs.d.ts.map +1 -0
  41. package/dist/features/data-display/components/Tabs/PillTabs/PillTabs.js +7 -0
  42. package/dist/features/data-display/components/Tabs/PillTabs/PillTabs.js.map +1 -0
  43. package/dist/features/data-display/components/Tabs/PillTabs/PillTabs.module.css +36 -0
  44. package/dist/features/feedback/components/ChangedDataSummary/ChangedDataSummary.d.ts +18 -0
  45. package/dist/features/feedback/components/ChangedDataSummary/ChangedDataSummary.d.ts.map +1 -0
  46. package/dist/features/feedback/components/ChangedDataSummary/ChangedDataSummary.js +52 -0
  47. package/dist/features/feedback/components/ChangedDataSummary/ChangedDataSummary.js.map +1 -0
  48. package/dist/features/feedback/components/ChangedDataSummary/ChangedDataSummary.module.css +90 -0
  49. package/dist/features/feedback/components/ChangedDataSummary/getFormDataChanges.d.ts +21 -0
  50. package/dist/features/feedback/components/ChangedDataSummary/getFormDataChanges.d.ts.map +1 -0
  51. package/dist/features/feedback/components/ChangedDataSummary/getFormDataChanges.js +37 -0
  52. package/dist/features/feedback/components/ChangedDataSummary/getFormDataChanges.js.map +1 -0
  53. package/dist/features/feedback/components/CreatedDataSummary/CreatedDataSummary.d.ts +15 -0
  54. package/dist/features/feedback/components/CreatedDataSummary/CreatedDataSummary.d.ts.map +1 -0
  55. package/dist/features/feedback/components/CreatedDataSummary/CreatedDataSummary.js +56 -0
  56. package/dist/features/feedback/components/CreatedDataSummary/CreatedDataSummary.js.map +1 -0
  57. package/dist/features/feedback/components/CreatedDataSummary/CreatedDataSummary.module.css +90 -0
  58. package/dist/features/feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState.d.ts +9 -0
  59. package/dist/features/feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState.d.ts.map +1 -0
  60. package/dist/features/feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState.js +9 -0
  61. package/dist/features/feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState.js.map +1 -0
  62. package/dist/features/feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState.module.css +36 -0
  63. package/dist/features/feedback/components/FlowNotice/FlowNotice.d.ts +8 -0
  64. package/dist/features/feedback/components/FlowNotice/FlowNotice.d.ts.map +1 -0
  65. package/dist/features/feedback/components/FlowNotice/FlowNotice.js +52 -0
  66. package/dist/features/feedback/components/FlowNotice/FlowNotice.js.map +1 -0
  67. package/dist/features/feedback/components/FlowNotice/FlowNotice.module.css +122 -0
  68. package/dist/features/feedback/components/Loading/AppLoading.d.ts +14 -0
  69. package/dist/features/feedback/components/Loading/AppLoading.d.ts.map +1 -0
  70. package/dist/features/feedback/components/Loading/AppLoading.js +17 -0
  71. package/dist/features/feedback/components/Loading/AppLoading.js.map +1 -0
  72. package/dist/features/feedback/components/Loading/AppLoading.module.css +95 -0
  73. package/dist/features/feedback/components/SuccesModal/ModalSuccess.d.ts +24 -0
  74. package/dist/features/feedback/components/SuccesModal/ModalSuccess.d.ts.map +1 -0
  75. package/dist/features/feedback/components/SuccesModal/ModalSuccess.js +11 -0
  76. package/dist/features/feedback/components/SuccesModal/ModalSuccess.js.map +1 -0
  77. package/dist/features/feedback/components/SuccesModal/ModalSuccess.module.css +141 -0
  78. package/dist/features/feedback/components/Tooltips/InfoTooltip.d.ts +10 -0
  79. package/dist/features/feedback/components/Tooltips/InfoTooltip.d.ts.map +1 -0
  80. package/dist/features/feedback/components/Tooltips/InfoTooltip.js +48 -0
  81. package/dist/features/feedback/components/Tooltips/InfoTooltip.js.map +1 -0
  82. package/dist/features/feedback/components/Tooltips/InfoTooltip.module.css +123 -0
  83. package/dist/features/feedback/components/Tooltips/InfoTooltipContent.d.ts +11 -0
  84. package/dist/features/feedback/components/Tooltips/InfoTooltipContent.d.ts.map +1 -0
  85. package/dist/features/feedback/components/Tooltips/InfoTooltipContent.js +8 -0
  86. package/dist/features/feedback/components/Tooltips/InfoTooltipContent.js.map +1 -0
  87. package/dist/features/feedback/components/Tooltips/InfoTooltipContent.module.css +58 -0
  88. package/dist/features/feedback/components/Tooltips/ProgressChecklistTooltip.d.ts +27 -0
  89. package/dist/features/feedback/components/Tooltips/ProgressChecklistTooltip.d.ts.map +1 -0
  90. package/dist/features/feedback/components/Tooltips/ProgressChecklistTooltip.js +56 -0
  91. package/dist/features/feedback/components/Tooltips/ProgressChecklistTooltip.js.map +1 -0
  92. package/dist/features/feedback/components/Tooltips/ProgressChecklistTooltip.module.css +200 -0
  93. package/dist/features/inputs/components/DatePicker/DatePicker.d.ts +13 -0
  94. package/dist/features/inputs/components/DatePicker/DatePicker.d.ts.map +1 -0
  95. package/dist/features/inputs/components/DatePicker/DatePicker.js +97 -0
  96. package/dist/features/inputs/components/DatePicker/DatePicker.js.map +1 -0
  97. package/dist/features/inputs/components/DatePicker/DatePicker.module.css +186 -0
  98. package/dist/features/inputs/components/Inputs/DateInput.d.ts +27 -0
  99. package/dist/features/inputs/components/Inputs/DateInput.d.ts.map +1 -0
  100. package/dist/features/inputs/components/Inputs/DateInput.js +236 -0
  101. package/dist/features/inputs/components/Inputs/DateInput.js.map +1 -0
  102. package/dist/features/inputs/components/Inputs/DateInput.module.css +301 -0
  103. package/dist/features/inputs/components/Inputs/DateRangeInput.d.ts +24 -0
  104. package/dist/features/inputs/components/Inputs/DateRangeInput.d.ts.map +1 -0
  105. package/dist/features/inputs/components/Inputs/DateRangeInput.js +10 -0
  106. package/dist/features/inputs/components/Inputs/DateRangeInput.js.map +1 -0
  107. package/dist/features/inputs/components/Inputs/DateRangeInput.module.css +24 -0
  108. package/dist/features/inputs/components/Inputs/NumberInput.d.ts +21 -0
  109. package/dist/features/inputs/components/Inputs/NumberInput.d.ts.map +1 -0
  110. package/dist/features/inputs/components/Inputs/NumberInput.js +82 -0
  111. package/dist/features/inputs/components/Inputs/NumberInput.js.map +1 -0
  112. package/dist/features/inputs/components/Inputs/NumberInput.module.css +148 -0
  113. package/dist/features/inputs/components/Inputs/PhoneInput/PhoneInput.d.ts +9 -0
  114. package/dist/features/inputs/components/Inputs/PhoneInput/PhoneInput.d.ts.map +1 -0
  115. package/dist/features/inputs/components/Inputs/PhoneInput/PhoneInput.js +187 -0
  116. package/dist/features/inputs/components/Inputs/PhoneInput/PhoneInput.js.map +1 -0
  117. package/dist/features/inputs/components/Inputs/PhoneInput/PhoneInput.module.css +259 -0
  118. package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.d.ts +3 -0
  119. package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.d.ts.map +1 -0
  120. package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.js +20 -0
  121. package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.js.map +1 -0
  122. package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.d.ts +3 -0
  123. package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.d.ts.map +1 -0
  124. package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.js +9 -0
  125. package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.js.map +1 -0
  126. package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.d.ts +5 -0
  127. package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.d.ts.map +1 -0
  128. package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.js +48 -0
  129. package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.js.map +1 -0
  130. package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.d.ts +3 -0
  131. package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.d.ts.map +1 -0
  132. package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.js +9 -0
  133. package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.js.map +1 -0
  134. package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.d.ts +3 -0
  135. package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.d.ts.map +1 -0
  136. package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.js +17 -0
  137. package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.js.map +1 -0
  138. package/dist/features/inputs/components/Inputs/PhoneInput/types/phone.types.d.ts +10 -0
  139. package/dist/features/inputs/components/Inputs/PhoneInput/types/phone.types.d.ts.map +1 -0
  140. package/dist/features/inputs/components/Inputs/PhoneInput/types/phone.types.js +2 -0
  141. package/dist/features/inputs/components/Inputs/PhoneInput/types/phone.types.js.map +1 -0
  142. package/dist/features/inputs/components/Inputs/SearchInput.d.ts +13 -0
  143. package/dist/features/inputs/components/Inputs/SearchInput.d.ts.map +1 -0
  144. package/dist/features/inputs/components/Inputs/SearchInput.js +12 -0
  145. package/dist/features/inputs/components/Inputs/SearchInput.js.map +1 -0
  146. package/dist/features/inputs/components/Inputs/SearchInput.module.css +107 -0
  147. package/dist/features/inputs/components/Inputs/StepperInput.d.ts +14 -0
  148. package/dist/features/inputs/components/Inputs/StepperInput.d.ts.map +1 -0
  149. package/dist/features/inputs/components/Inputs/StepperInput.js +44 -0
  150. package/dist/features/inputs/components/Inputs/StepperInput.js.map +1 -0
  151. package/dist/features/inputs/components/Inputs/StepperInput.module.css +96 -0
  152. package/dist/features/inputs/components/Inputs/TaxIdInput/TaxIdInput.d.ts +15 -0
  153. package/dist/features/inputs/components/Inputs/TaxIdInput/TaxIdInput.d.ts.map +1 -0
  154. package/dist/features/inputs/components/Inputs/TaxIdInput/TaxIdInput.js +102 -0
  155. package/dist/features/inputs/components/Inputs/TaxIdInput/TaxIdInput.js.map +1 -0
  156. package/dist/features/inputs/components/Inputs/TaxIdInput/TaxIdInput.module.css +259 -0
  157. package/dist/features/inputs/components/Inputs/TaxIdInput/index.d.ts +5 -0
  158. package/dist/features/inputs/components/Inputs/TaxIdInput/index.d.ts.map +1 -0
  159. package/dist/features/inputs/components/Inputs/TaxIdInput/index.js +3 -0
  160. package/dist/features/inputs/components/Inputs/TaxIdInput/index.js.map +1 -0
  161. package/dist/features/inputs/components/Inputs/TextInput.d.ts +4 -0
  162. package/dist/features/inputs/components/Inputs/TextInput.d.ts.map +1 -0
  163. package/dist/features/inputs/components/Inputs/TextInput.js +61 -0
  164. package/dist/features/inputs/components/Inputs/TextInput.js.map +1 -0
  165. package/dist/features/inputs/components/Inputs/TextInput.module.css +174 -0
  166. package/dist/features/inputs/components/Inputs/TextareaInput.d.ts +4 -0
  167. package/dist/features/inputs/components/Inputs/TextareaInput.d.ts.map +1 -0
  168. package/dist/features/inputs/components/Inputs/TextareaInput.js +45 -0
  169. package/dist/features/inputs/components/Inputs/TextareaInput.js.map +1 -0
  170. package/dist/features/inputs/components/Inputs/TextareaInput.module.css +144 -0
  171. package/dist/features/inputs/components/Inputs/types/input.types.d.ts +28 -0
  172. package/dist/features/inputs/components/Inputs/types/input.types.d.ts.map +1 -0
  173. package/dist/features/inputs/components/Inputs/types/input.types.js +2 -0
  174. package/dist/features/inputs/components/Inputs/types/input.types.js.map +1 -0
  175. package/dist/features/navigation/components/Menu/SharedMenuItem.d.ts +25 -0
  176. package/dist/features/navigation/components/Menu/SharedMenuItem.d.ts.map +1 -0
  177. package/dist/features/navigation/components/Menu/SharedMenuItem.js +40 -0
  178. package/dist/features/navigation/components/Menu/SharedMenuItem.js.map +1 -0
  179. package/dist/features/navigation/components/Menu/SharedMenuItem.module.css +219 -0
  180. package/dist/features/navigation/components/PageFooter/PageFooter.d.ts +13 -0
  181. package/dist/features/navigation/components/PageFooter/PageFooter.d.ts.map +1 -0
  182. package/dist/features/navigation/components/PageFooter/PageFooter.js +52 -0
  183. package/dist/features/navigation/components/PageFooter/PageFooter.js.map +1 -0
  184. package/dist/features/navigation/components/PageFooter/PageFooter.module.css +24 -0
  185. package/dist/features/navigation/components/PageHeader/PageHeader.d.ts +14 -0
  186. package/dist/features/navigation/components/PageHeader/PageHeader.d.ts.map +1 -0
  187. package/dist/features/navigation/components/PageHeader/PageHeader.js +22 -0
  188. package/dist/features/navigation/components/PageHeader/PageHeader.js.map +1 -0
  189. package/dist/features/navigation/components/PageHeader/PageHeader.module.css +41 -0
  190. package/dist/features/navigation/components/Sidebar/Sidebar.d.ts +24 -0
  191. package/dist/features/navigation/components/Sidebar/Sidebar.d.ts.map +1 -0
  192. package/dist/features/navigation/components/Sidebar/Sidebar.js +131 -0
  193. package/dist/features/navigation/components/Sidebar/Sidebar.js.map +1 -0
  194. package/dist/features/navigation/components/Sidebar/Sidebar.module.css +139 -0
  195. package/dist/features/overlays/components/DeleteModal/ComprehensiveDeleteModal.d.ts +66 -0
  196. package/dist/features/overlays/components/DeleteModal/ComprehensiveDeleteModal.d.ts.map +1 -0
  197. package/dist/features/overlays/components/DeleteModal/ComprehensiveDeleteModal.js +89 -0
  198. package/dist/features/overlays/components/DeleteModal/ComprehensiveDeleteModal.js.map +1 -0
  199. package/dist/features/overlays/components/DeleteModal/ComprehensiveDeleteModal.module.css +269 -0
  200. package/dist/features/overlays/components/Popup/Popup.d.ts +8 -0
  201. package/dist/features/overlays/components/Popup/Popup.d.ts.map +1 -0
  202. package/dist/features/overlays/components/Popup/Popup.js +23 -0
  203. package/dist/features/overlays/components/Popup/Popup.js.map +1 -0
  204. package/dist/features/overlays/components/Popup/Popup.module.css +64 -0
  205. package/dist/features/overlays/components/Popup/index.d.ts +3 -0
  206. package/dist/features/overlays/components/Popup/index.d.ts.map +1 -0
  207. package/dist/features/overlays/components/Popup/index.js +2 -0
  208. package/dist/features/overlays/components/Popup/index.js.map +1 -0
  209. package/dist/features/overlays/components/PrerequisiteGuardModal/PrerequisiteGuardModal.d.ts +36 -0
  210. package/dist/features/overlays/components/PrerequisiteGuardModal/PrerequisiteGuardModal.d.ts.map +1 -0
  211. package/dist/features/overlays/components/PrerequisiteGuardModal/PrerequisiteGuardModal.js +38 -0
  212. package/dist/features/overlays/components/PrerequisiteGuardModal/PrerequisiteGuardModal.js.map +1 -0
  213. package/dist/features/overlays/components/PrerequisiteGuardModal/PrerequisiteGuardModal.module.css +339 -0
  214. package/dist/features/overlays/components/dropdowns/DropdownMenu.d.ts +18 -0
  215. package/dist/features/overlays/components/dropdowns/DropdownMenu.d.ts.map +1 -0
  216. package/dist/features/overlays/components/dropdowns/DropdownMenu.js +34 -0
  217. package/dist/features/overlays/components/dropdowns/DropdownMenu.js.map +1 -0
  218. package/dist/features/overlays/components/dropdowns/DropdownMenu.module.css +23 -0
  219. package/dist/features/patterns/components/Form/MultiStepForm/components/FormActions.d.ts +36 -0
  220. package/dist/features/patterns/components/Form/MultiStepForm/components/FormActions.d.ts.map +1 -0
  221. package/dist/features/patterns/components/Form/MultiStepForm/components/FormActions.js +19 -0
  222. package/dist/features/patterns/components/Form/MultiStepForm/components/FormActions.js.map +1 -0
  223. package/dist/features/patterns/components/Form/MultiStepForm/components/FormActions.module.css +88 -0
  224. package/dist/features/patterns/components/Form/MultiStepForm/components/GenericStepRenderer.d.ts +14 -0
  225. package/dist/features/patterns/components/Form/MultiStepForm/components/GenericStepRenderer.d.ts.map +1 -0
  226. package/dist/features/patterns/components/Form/MultiStepForm/components/GenericStepRenderer.js +119 -0
  227. package/dist/features/patterns/components/Form/MultiStepForm/components/GenericStepRenderer.js.map +1 -0
  228. package/dist/features/patterns/components/Form/MultiStepForm/components/GenericStepRenderer.module.css +76 -0
  229. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepForm.d.ts +3 -0
  230. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepForm.d.ts.map +1 -0
  231. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepForm.js +486 -0
  232. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepForm.js.map +1 -0
  233. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepForm.module.css +55 -0
  234. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepHeader.d.ts +16 -0
  235. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepHeader.d.ts.map +1 -0
  236. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepHeader.js +8 -0
  237. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepHeader.js.map +1 -0
  238. package/dist/features/patterns/components/Form/MultiStepForm/components/MultiStepHeader.module.css +77 -0
  239. package/dist/features/patterns/components/Form/MultiStepForm/components/StepIndicator.d.ts +10 -0
  240. package/dist/features/patterns/components/Form/MultiStepForm/components/StepIndicator.d.ts.map +1 -0
  241. package/dist/features/patterns/components/Form/MultiStepForm/components/StepIndicator.js +9 -0
  242. package/dist/features/patterns/components/Form/MultiStepForm/components/StepIndicator.js.map +1 -0
  243. package/dist/features/patterns/components/Form/MultiStepForm/components/StepIndicator.module.css +86 -0
  244. package/dist/features/patterns/components/Form/MultiStepForm/components/StepsContainer.d.ts +13 -0
  245. package/dist/features/patterns/components/Form/MultiStepForm/components/StepsContainer.d.ts.map +1 -0
  246. package/dist/features/patterns/components/Form/MultiStepForm/components/StepsContainer.js +9 -0
  247. package/dist/features/patterns/components/Form/MultiStepForm/components/StepsContainer.js.map +1 -0
  248. package/dist/features/patterns/components/Form/MultiStepForm/components/StepsContainer.module.css +8 -0
  249. package/dist/features/patterns/components/Form/MultiStepForm/components/SuccessScreen.d.ts +20 -0
  250. package/dist/features/patterns/components/Form/MultiStepForm/components/SuccessScreen.d.ts.map +1 -0
  251. package/dist/features/patterns/components/Form/MultiStepForm/components/SuccessScreen.js +7 -0
  252. package/dist/features/patterns/components/Form/MultiStepForm/components/SuccessScreen.js.map +1 -0
  253. package/dist/features/patterns/components/Form/MultiStepForm/components/SuccessScreen.module.css +13 -0
  254. package/dist/features/patterns/components/Form/MultiStepForm/types/types.d.ts +216 -0
  255. package/dist/features/patterns/components/Form/MultiStepForm/types/types.d.ts.map +1 -0
  256. package/dist/features/patterns/components/Form/MultiStepForm/types/types.js +2 -0
  257. package/dist/features/patterns/components/Form/MultiStepForm/types/types.js.map +1 -0
  258. package/dist/features/patterns/components/Form/MultiStepForm/utils/constants.d.ts +6 -0
  259. package/dist/features/patterns/components/Form/MultiStepForm/utils/constants.d.ts.map +1 -0
  260. package/dist/features/patterns/components/Form/MultiStepForm/utils/constants.js +22 -0
  261. package/dist/features/patterns/components/Form/MultiStepForm/utils/constants.js.map +1 -0
  262. package/dist/features/patterns/components/Form/MultiStepForm/utils/utils.d.ts +10 -0
  263. package/dist/features/patterns/components/Form/MultiStepForm/utils/utils.d.ts.map +1 -0
  264. package/dist/features/patterns/components/Form/MultiStepForm/utils/utils.js +31 -0
  265. package/dist/features/patterns/components/Form/MultiStepForm/utils/utils.js.map +1 -0
  266. package/dist/features/patterns/components/Form/VerificationCodeStep/VerificationCodeStep.d.ts +19 -0
  267. package/dist/features/patterns/components/Form/VerificationCodeStep/VerificationCodeStep.d.ts.map +1 -0
  268. package/dist/features/patterns/components/Form/VerificationCodeStep/VerificationCodeStep.js +104 -0
  269. package/dist/features/patterns/components/Form/VerificationCodeStep/VerificationCodeStep.js.map +1 -0
  270. package/dist/features/patterns/components/Form/VerificationCodeStep/VerificationCodeStep.module.css +55 -0
  271. package/dist/features/selects/components/Selects/CustomSelect.d.ts +27 -0
  272. package/dist/features/selects/components/Selects/CustomSelect.d.ts.map +1 -0
  273. package/dist/features/selects/components/Selects/CustomSelect.js +53 -0
  274. package/dist/features/selects/components/Selects/CustomSelect.js.map +1 -0
  275. package/dist/features/selects/components/Selects/CustomSelect.module.css +307 -0
  276. package/dist/features/uploads/components/ImageUpload/ImageUpload.d.ts +12 -0
  277. package/dist/features/uploads/components/ImageUpload/ImageUpload.d.ts.map +1 -0
  278. package/dist/features/uploads/components/ImageUpload/ImageUpload.js +178 -0
  279. package/dist/features/uploads/components/ImageUpload/ImageUpload.js.map +1 -0
  280. package/dist/features/uploads/components/ImageUpload/ImageUpload.module.css +254 -0
  281. package/dist/features/uploads/components/VideoUpload/VideoUpload.d.ts +12 -0
  282. package/dist/features/uploads/components/VideoUpload/VideoUpload.d.ts.map +1 -0
  283. package/dist/features/uploads/components/VideoUpload/VideoUpload.js +183 -0
  284. package/dist/features/uploads/components/VideoUpload/VideoUpload.js.map +1 -0
  285. package/dist/features/uploads/components/VideoUpload/VideoUpload.module.css +277 -0
  286. package/dist/features/uploads/components/VideoUpload/index.d.ts +2 -0
  287. package/dist/features/uploads/components/VideoUpload/index.d.ts.map +1 -0
  288. package/dist/features/uploads/components/VideoUpload/index.js +2 -0
  289. package/dist/features/uploads/components/VideoUpload/index.js.map +1 -0
  290. package/dist/index.d.ts +5 -0
  291. package/dist/index.d.ts.map +1 -0
  292. package/dist/index.js +5 -0
  293. package/dist/index.js.map +1 -0
  294. package/dist/shared/styles/globals.css +80 -0
  295. package/dist/shared/styles/tokens.css +138 -0
  296. package/dist/shared/utils/devDelay.d.ts +8 -0
  297. package/dist/shared/utils/devDelay.d.ts.map +1 -0
  298. package/dist/shared/utils/devDelay.js +11 -0
  299. package/dist/shared/utils/devDelay.js.map +1 -0
  300. package/dist/shared/utils/files.d.ts +9 -0
  301. package/dist/shared/utils/files.d.ts.map +1 -0
  302. package/dist/shared/utils/files.js +26 -0
  303. package/dist/shared/utils/files.js.map +1 -0
  304. package/dist/shared/utils/formatCurrency.d.ts +24 -0
  305. package/dist/shared/utils/formatCurrency.d.ts.map +1 -0
  306. package/dist/shared/utils/formatCurrency.js +96 -0
  307. package/dist/shared/utils/formatCurrency.js.map +1 -0
  308. package/dist/shared/utils/location/countries/ao.d.ts +3 -0
  309. package/dist/shared/utils/location/countries/ao.d.ts.map +1 -0
  310. package/dist/shared/utils/location/countries/ao.js +52 -0
  311. package/dist/shared/utils/location/countries/ao.js.map +1 -0
  312. package/dist/shared/utils/location/countries/ao.json +254 -0
  313. package/dist/shared/utils/location/countries/ao.official-2026.json +254 -0
  314. package/dist/shared/utils/location/countries/br.d.ts +3 -0
  315. package/dist/shared/utils/location/countries/br.d.ts.map +1 -0
  316. package/dist/shared/utils/location/countries/br.js +33 -0
  317. package/dist/shared/utils/location/countries/br.js.map +1 -0
  318. package/dist/shared/utils/location/countries/mz.d.ts +3 -0
  319. package/dist/shared/utils/location/countries/mz.d.ts.map +1 -0
  320. package/dist/shared/utils/location/countries/mz.js +17 -0
  321. package/dist/shared/utils/location/countries/mz.js.map +1 -0
  322. package/dist/shared/utils/location/countries/ng.d.ts +3 -0
  323. package/dist/shared/utils/location/countries/ng.d.ts.map +1 -0
  324. package/dist/shared/utils/location/countries/ng.js +43 -0
  325. package/dist/shared/utils/location/countries/ng.js.map +1 -0
  326. package/dist/shared/utils/location/countries/pt.d.ts +3 -0
  327. package/dist/shared/utils/location/countries/pt.d.ts.map +1 -0
  328. package/dist/shared/utils/location/countries/pt.js +26 -0
  329. package/dist/shared/utils/location/countries/pt.js.map +1 -0
  330. package/dist/shared/utils/location/countries/us.d.ts +3 -0
  331. package/dist/shared/utils/location/countries/us.d.ts.map +1 -0
  332. package/dist/shared/utils/location/countries/us.js +57 -0
  333. package/dist/shared/utils/location/countries/us.js.map +1 -0
  334. package/dist/shared/utils/location/countries/za.d.ts +3 -0
  335. package/dist/shared/utils/location/countries/za.d.ts.map +1 -0
  336. package/dist/shared/utils/location/countries/za.js +15 -0
  337. package/dist/shared/utils/location/countries/za.js.map +1 -0
  338. package/dist/shared/utils/location/index.d.ts +14 -0
  339. package/dist/shared/utils/location/index.d.ts.map +1 -0
  340. package/dist/shared/utils/location/index.js +131 -0
  341. package/dist/shared/utils/location/index.js.map +1 -0
  342. package/dist/shared/utils/location/types.d.ts +24 -0
  343. package/dist/shared/utils/location/types.d.ts.map +1 -0
  344. package/dist/shared/utils/location/types.js +2 -0
  345. package/dist/shared/utils/location/types.js.map +1 -0
  346. package/dist/shared/utils/logger.d.ts +43 -0
  347. package/dist/shared/utils/logger.d.ts.map +1 -0
  348. package/dist/shared/utils/logger.js +139 -0
  349. package/dist/shared/utils/logger.js.map +1 -0
  350. package/dist/shared/utils/maskedDecimal.d.ts +8 -0
  351. package/dist/shared/utils/maskedDecimal.d.ts.map +1 -0
  352. package/dist/shared/utils/maskedDecimal.js +42 -0
  353. package/dist/shared/utils/maskedDecimal.js.map +1 -0
  354. package/dist/shared/utils/slug.d.ts +12 -0
  355. package/dist/shared/utils/slug.d.ts.map +1 -0
  356. package/dist/shared/utils/slug.js +31 -0
  357. package/dist/shared/utils/slug.js.map +1 -0
  358. package/dist/shared/utils/tax-id/countries/ao.d.ts +11 -0
  359. package/dist/shared/utils/tax-id/countries/ao.d.ts.map +1 -0
  360. package/dist/shared/utils/tax-id/countries/ao.js +115 -0
  361. package/dist/shared/utils/tax-id/countries/ao.js.map +1 -0
  362. package/dist/shared/utils/tax-id/countries/br.d.ts +3 -0
  363. package/dist/shared/utils/tax-id/countries/br.d.ts.map +1 -0
  364. package/dist/shared/utils/tax-id/countries/br.js +24 -0
  365. package/dist/shared/utils/tax-id/countries/br.js.map +1 -0
  366. package/dist/shared/utils/tax-id/countries/index.d.ts +8 -0
  367. package/dist/shared/utils/tax-id/countries/index.d.ts.map +1 -0
  368. package/dist/shared/utils/tax-id/countries/index.js +12 -0
  369. package/dist/shared/utils/tax-id/countries/index.js.map +1 -0
  370. package/dist/shared/utils/tax-id/countries/pt.d.ts +3 -0
  371. package/dist/shared/utils/tax-id/countries/pt.d.ts.map +1 -0
  372. package/dist/shared/utils/tax-id/countries/pt.js +24 -0
  373. package/dist/shared/utils/tax-id/countries/pt.js.map +1 -0
  374. package/dist/shared/utils/tax-id/countries/us.d.ts +3 -0
  375. package/dist/shared/utils/tax-id/countries/us.d.ts.map +1 -0
  376. package/dist/shared/utils/tax-id/countries/us.js +24 -0
  377. package/dist/shared/utils/tax-id/countries/us.js.map +1 -0
  378. package/dist/shared/utils/tax-id/index.d.ts +14 -0
  379. package/dist/shared/utils/tax-id/index.d.ts.map +1 -0
  380. package/dist/shared/utils/tax-id/index.js +140 -0
  381. package/dist/shared/utils/tax-id/index.js.map +1 -0
  382. package/dist/shared/utils/tax-id/types.d.ts +21 -0
  383. package/dist/shared/utils/tax-id/types.d.ts.map +1 -0
  384. package/dist/shared/utils/tax-id/types.js +2 -0
  385. package/dist/shared/utils/tax-id/types.js.map +1 -0
  386. package/dist/styles.d.ts +2 -0
  387. package/dist/styles.d.ts.map +1 -0
  388. package/dist/styles.js +2 -0
  389. package/dist/styles.js.map +1 -0
  390. package/dist/tokens.d.ts +2 -0
  391. package/dist/tokens.d.ts.map +1 -0
  392. package/dist/tokens.js +2 -0
  393. package/dist/tokens.js.map +1 -0
  394. package/dist/ui.d.ts +67 -0
  395. package/dist/ui.d.ts.map +1 -0
  396. package/dist/ui.js +39 -0
  397. package/dist/ui.js.map +1 -0
  398. package/dist/utils.d.ts +7 -0
  399. package/dist/utils.d.ts.map +1 -0
  400. package/dist/utils.js +4 -0
  401. package/dist/utils.js.map +1 -0
  402. package/package.json +80 -0
@@ -0,0 +1,36 @@
1
+ .container {
2
+ width: 100%;
3
+ height: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: center;
7
+ justify-content: center;
8
+ gap: var(--spacing-sm);
9
+ padding: var(--spacing-xl) var(--spacing-lg);
10
+ color: var(--text-secondary);
11
+ background: var(--bg-surface-secondary);
12
+ border-radius: var(--radius-md);
13
+ }
14
+
15
+ .iconWrapper {
16
+ width: 56px;
17
+ height: 56px;
18
+ border-radius: var(--radius-full);
19
+ background: var(--bg-surface-secondary);
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ color: var(--text-secondary);
24
+ }
25
+
26
+ .title {
27
+ margin: 0;
28
+ font-size: 1rem;
29
+ color: var(--text-primary);
30
+ }
31
+
32
+ .description {
33
+ margin: 0;
34
+ font-size: 0.9rem;
35
+ text-align: center;
36
+ }
@@ -0,0 +1,8 @@
1
+ import type { FlowNoticePayload } from '@/features/patterns/components/Form/MultiStepForm/types/types';
2
+ type FlowNoticeProps = {
3
+ notice: FlowNoticePayload;
4
+ onClose: () => void;
5
+ };
6
+ export declare function FlowNotice({ notice, onClose }: FlowNoticeProps): import("react").ReactPortal | null;
7
+ export {};
8
+ //# sourceMappingURL=FlowNotice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowNotice.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/components/FlowNotice/FlowNotice.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAGvG,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AASF,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,sCA+E9D"}
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useMemo, useState } from "react";
4
+ import { createPortal } from "react-dom";
5
+ import { AlertCircle, CheckCircle2, Info, TriangleAlert, X } from "lucide-react";
6
+ import styles from "./FlowNotice.module.css";
7
+ const DEFAULT_DURATION_BY_TYPE = {
8
+ success: 3000,
9
+ info: 3000,
10
+ warning: 6000,
11
+ error: 6000,
12
+ };
13
+ export function FlowNotice({ notice, onClose }) {
14
+ var _a;
15
+ const [mounted, setMounted] = useState(false);
16
+ const [remainingMs, setRemainingMs] = useState(0);
17
+ const durationMs = useMemo(() => {
18
+ var _a, _b;
19
+ return (_b = (_a = notice.durationMs) !== null && _a !== void 0 ? _a : DEFAULT_DURATION_BY_TYPE[notice.type]) !== null && _b !== void 0 ? _b : 3000;
20
+ }, [notice.durationMs, notice.type]);
21
+ const autoDismiss = (_a = notice.autoDismiss) !== null && _a !== void 0 ? _a : true;
22
+ useEffect(() => {
23
+ setMounted(true);
24
+ }, []);
25
+ useEffect(() => {
26
+ if (!autoDismiss || durationMs <= 0)
27
+ return;
28
+ const startedAt = Date.now();
29
+ setRemainingMs(durationMs);
30
+ const interval = window.setInterval(() => {
31
+ const elapsed = Date.now() - startedAt;
32
+ const left = Math.max(durationMs - elapsed, 0);
33
+ setRemainingMs(left);
34
+ if (left === 0) {
35
+ window.clearInterval(interval);
36
+ }
37
+ }, 50);
38
+ const timeout = window.setTimeout(() => {
39
+ onClose();
40
+ }, durationMs);
41
+ return () => {
42
+ window.clearInterval(interval);
43
+ window.clearTimeout(timeout);
44
+ };
45
+ }, [autoDismiss, durationMs, onClose]);
46
+ if (!mounted)
47
+ return null;
48
+ const progress = autoDismiss && durationMs > 0 ? Math.max(0, Math.min((remainingMs / durationMs) * 100, 100)) : 100;
49
+ const icon = notice.type === "success" ? (_jsx(CheckCircle2, { size: 18 })) : notice.type === "error" ? (_jsx(AlertCircle, { size: 18 })) : notice.type === "warning" ? (_jsx(TriangleAlert, { size: 18 })) : (_jsx(Info, { size: 18 }));
50
+ return createPortal(_jsx("div", { className: styles.layer, role: "status", "aria-live": "polite", children: _jsxs("div", { className: `${styles.card} ${styles[notice.type]}`, children: [_jsxs("div", { className: styles.header, children: [_jsxs("div", { className: styles.titleRow, children: [_jsx("span", { className: styles.icon, children: icon }), _jsx("strong", { className: styles.title, children: notice.title })] }), _jsx("button", { type: "button", className: styles.close, onClick: onClose, "aria-label": "Close notification", children: _jsx(X, { size: 16 }) })] }), notice.message && _jsx("div", { className: styles.message, children: notice.message }), notice.details && _jsx("div", { className: styles.details, children: notice.details }), autoDismiss && durationMs > 0 && (_jsx("div", { className: styles.progressTrack, children: _jsx("div", { className: styles.progressBar, style: { width: `${progress}%` } }) }))] }) }), document.body);
51
+ }
52
+ //# sourceMappingURL=FlowNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowNotice.js","sourceRoot":"","sources":["../../../../../src/features/feedback/components/FlowNotice/FlowNotice.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ .layer {
2
+ position: fixed;
3
+ inset: 0;
4
+ pointer-events: none;
5
+ z-index: 99999;
6
+ display: flex;
7
+ justify-content: center;
8
+ align-items: flex-start;
9
+ padding: 16px;
10
+ }
11
+
12
+ .card {
13
+ width: 400px;
14
+ pointer-events: auto;
15
+ border-radius: 12px;
16
+ border: 1px solid #d1d5db;
17
+ background: #ffffff;
18
+ box-shadow: 0 14px 40px rgba(15, 23, 42, 0.2);
19
+ overflow: hidden;
20
+ }
21
+
22
+ .header {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: space-between;
26
+ gap: 8px;
27
+ padding: 12px 14px 8px;
28
+ }
29
+
30
+ .titleRow {
31
+ display: flex;
32
+ align-items: center;
33
+ gap: 8px;
34
+ min-width: 0;
35
+ }
36
+
37
+ .icon {
38
+ display: inline-flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ }
42
+
43
+ .title {
44
+ font-size: 14px;
45
+ color: #111827;
46
+ }
47
+
48
+ .close {
49
+ border: none;
50
+ background: transparent;
51
+ color: #6b7280;
52
+ cursor: pointer;
53
+ border-radius: 8px;
54
+ padding: 4px;
55
+ }
56
+
57
+ .close:hover {
58
+ background: #f3f4f6;
59
+ color: #111827;
60
+ }
61
+
62
+ .message {
63
+ padding: 0 14px 8px;
64
+ font-size: 13px;
65
+ color: #374151;
66
+ }
67
+
68
+ .details {
69
+ padding: 0 14px 10px;
70
+ font-size: 12px;
71
+ color: #6b7280;
72
+ }
73
+
74
+ .progressTrack {
75
+ height: 4px;
76
+ background: rgba(148, 163, 184, 0.2);
77
+ }
78
+
79
+ .progressBar {
80
+ height: 100%;
81
+ transition: width 50ms linear;
82
+ }
83
+
84
+ .success {
85
+ border-color: #86efac;
86
+ }
87
+
88
+ .success .icon,
89
+ .success .progressBar {
90
+ color: #15803d;
91
+ background: #22c55e;
92
+ }
93
+
94
+ .error {
95
+ border-color: #fca5a5;
96
+ }
97
+
98
+ .error .icon,
99
+ .error .progressBar {
100
+ color: #b91c1c;
101
+ background: #ef4444;
102
+ }
103
+
104
+ .warning {
105
+ border-color: #fcd34d;
106
+ }
107
+
108
+ .warning .icon,
109
+ .warning .progressBar {
110
+ color: #b45309;
111
+ background: #f59e0b;
112
+ }
113
+
114
+ .info {
115
+ border-color: #93c5fd;
116
+ }
117
+
118
+ .info .icon,
119
+ .info .progressBar {
120
+ color: #1d4ed8;
121
+ background: #3b82f6;
122
+ }
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ type LoadingMode = 'inline' | 'page' | 'fullscreen';
3
+ type LoadingSize = 'sm' | 'md' | 'lg';
4
+ interface AppLoadingProps {
5
+ message?: string;
6
+ subtitle?: string;
7
+ mode?: LoadingMode;
8
+ size?: LoadingSize;
9
+ className?: string;
10
+ footer?: ReactNode;
11
+ }
12
+ export default function AppLoading({ message, subtitle, mode, size, className, footer, }: AppLoadingProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=AppLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppLoading.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/components/Loading/AppLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,KAAK,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;AACpD,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtC,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,OAAyB,EACzB,QAAQ,EACR,IAAe,EACf,IAAW,EACX,SAAc,EACd,MAAM,GACP,EAAE,eAAe,2CA2BjB"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styles from './AppLoading.module.css';
3
+ export default function AppLoading({ message = 'A carregar...', subtitle, mode = 'inline', size = 'md', className = '', footer, }) {
4
+ const containerClassName = [
5
+ styles.container,
6
+ styles[mode],
7
+ className,
8
+ ]
9
+ .filter(Boolean)
10
+ .join(' ');
11
+ const spinnerClassName = [
12
+ styles.spinner,
13
+ styles[`spinner_${size}`],
14
+ ].join(' ');
15
+ return (_jsx("div", { className: containerClassName, role: "status", "aria-live": "polite", children: _jsxs("div", { className: styles.content, children: [_jsx("span", { className: spinnerClassName, "aria-hidden": "true" }), _jsxs("div", { className: styles.textGroup, children: [_jsx("p", { className: styles.message, children: message }), subtitle ? _jsx("p", { className: styles.subtitle, children: subtitle }) : null] }), footer ? _jsx("div", { className: styles.footer, children: footer }) : null] }) }));
16
+ }
17
+ //# sourceMappingURL=AppLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppLoading.js","sourceRoot":"","sources":["../../../../../src/features/feedback/components/Loading/AppLoading.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAc7C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,OAAO,GAAG,eAAe,EACzB,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,EAAE,EACd,MAAM,GACU;IAEhB,MAAM,kBAAkB,GAAG;QACzB,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,IAAI,CAAC;QACZ,SAAS;KACV;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,gBAAgB,GAAG;QACvB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;KAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAC,QAAQ,eAAW,QAAQ,YAClE,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC5B,eAAM,SAAS,EAAE,gBAAgB,iBAAc,MAAM,GAAG,EACxD,eAAK,SAAS,EAAE,MAAM,CAAC,SAAS,aAC9B,YAAG,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,OAAO,GAAK,EAC1C,QAAQ,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,MAAM,CAAC,QAAQ,YAAG,QAAQ,GAAK,CAAC,CAAC,CAAC,IAAI,IAC5D,EACL,MAAM,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,MAAM,CAAC,MAAM,YAAG,MAAM,GAAO,CAAC,CAAC,CAAC,IAAI,IAC1D,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,95 @@
1
+ .container {
2
+ width: 100%;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ }
7
+
8
+ .inline {
9
+ min-height: 140px;
10
+ }
11
+
12
+ .page {
13
+ min-height: 100vh;
14
+ background: var(--bg-primary);
15
+ }
16
+
17
+ .fullscreen {
18
+ position: fixed;
19
+ inset: 0;
20
+ z-index: 9999;
21
+ /* Padrão do projeto: ecrã branco opaco (sem “ver por trás”) */
22
+ background: var(--bg-primary);
23
+ }
24
+
25
+ .content {
26
+ display: flex;
27
+ flex-direction: column;
28
+ align-items: center;
29
+ justify-content: center;
30
+ gap: var(--spacing-md);
31
+ text-align: center;
32
+ color: var(--text-secondary);
33
+ }
34
+
35
+ .textGroup {
36
+ display: flex;
37
+ flex-direction: column;
38
+ align-items: center;
39
+ }
40
+
41
+ .spinner {
42
+ border-style: solid;
43
+ border-radius: 50%;
44
+ border-color: var(--border-divider);
45
+ border-top-color: var(--text-tertiary);
46
+ animation: appLoadingSpin 0.9s linear infinite;
47
+ }
48
+
49
+ .spinner_sm {
50
+ width: 24px;
51
+ height: 24px;
52
+ border-width: 3px;
53
+ }
54
+
55
+ .spinner_md {
56
+ width: 42px;
57
+ height: 42px;
58
+ border-width: 4px;
59
+ }
60
+
61
+ .spinner_lg {
62
+ width: 56px;
63
+ height: 56px;
64
+ border-width: 5px;
65
+ }
66
+
67
+ .message {
68
+ margin: 0;
69
+ font-size: 1.10rem;
70
+ font-weight: 500;
71
+ color: var(--text-secondary);
72
+ }
73
+
74
+ .subtitle {
75
+ margin: 0;
76
+ font-size: 0.875rem;
77
+ font-weight: 400;
78
+ color: var(--text-tertiary);
79
+ }
80
+
81
+ .footer {
82
+ margin-top: var(--spacing-sm);
83
+ color: var(--text-tertiary);
84
+ font-size: 0.9rem;
85
+ }
86
+
87
+ @keyframes appLoadingSpin {
88
+ from {
89
+ transform: rotate(0deg);
90
+ }
91
+
92
+ to {
93
+ transform: rotate(360deg);
94
+ }
95
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export interface ModalSuccessRow {
3
+ label: string;
4
+ value: React.ReactNode;
5
+ }
6
+ export interface ModalSuccessSection {
7
+ title?: string;
8
+ rows: ModalSuccessRow[];
9
+ }
10
+ interface ModalSuccessProps {
11
+ title: React.ReactNode;
12
+ message: React.ReactNode;
13
+ children?: React.ReactNode;
14
+ sections?: ModalSuccessSection[];
15
+ primaryActionLabel: string;
16
+ onPrimaryAction: () => void;
17
+ secondaryActionLabel?: string;
18
+ onSecondaryAction?: () => void;
19
+ /** Quando false, os botões do footer ficam com largura natural alinhados à direita (ex.: UserCreate/UserEdit). Default true. */
20
+ fullWidthButtons?: boolean;
21
+ }
22
+ export declare const ModalSuccess: React.FC<ModalSuccessProps>;
23
+ export default ModalSuccess;
24
+ //# sourceMappingURL=ModalSuccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalSuccess.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/components/SuccesModal/ModalSuccess.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,gIAAgI;IAChI,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkEpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { CheckCircle } from 'lucide-react';
4
+ import Button from '@/features/buttons/components/Btns/Button';
5
+ import styles from './ModalSuccess.module.css';
6
+ export const ModalSuccess = ({ title, message, children, sections = [], primaryActionLabel, onPrimaryAction, secondaryActionLabel, onSecondaryAction, fullWidthButtons = false, }) => {
7
+ const footerClass = fullWidthButtons ? styles.footerContainer : `${styles.footerContainer} ${styles.footerContainerCompact}`;
8
+ return (_jsxs("div", { className: styles.container, children: [_jsxs("div", { className: styles.header, children: [_jsx("div", { className: styles.headerIcon, children: _jsx(CheckCircle, { size: 48 }) }), _jsxs("div", { className: styles.headerText, children: [_jsx("h2", { children: title }), _jsx("p", { children: message })] }), children] }), sections.length > 0 && (_jsx("div", { className: styles.summaryBox, children: sections.map((section, sectionIndex) => (_jsxs("div", { className: styles.summarySection, children: [section.title && _jsx("h3", { children: section.title }), _jsx("div", { className: styles.summaryGrid, children: section.rows.map((row, rowIndex) => (_jsxs("div", { className: styles.summaryRow, children: [_jsx("span", { className: styles.summaryLabel, children: row.label }), _jsx("span", { className: styles.summaryValue, children: row.value })] }, rowIndex))) })] }, sectionIndex))) })), _jsxs("div", { className: footerClass, children: [secondaryActionLabel && onSecondaryAction && (_jsx(Button, { type: "button", variant: "secondary", onClick: onSecondaryAction, className: styles.secondaryButton, children: secondaryActionLabel })), _jsx(Button, { type: "button", variant: "primary", onClick: onPrimaryAction, className: styles.primaryButton, children: primaryActionLabel })] })] }));
9
+ };
10
+ export default ModalSuccess;
11
+ //# sourceMappingURL=ModalSuccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalSuccess.js","sourceRoot":"","sources":["../../../../../src/features/feedback/components/SuccesModal/ModalSuccess.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,MAAM,MAAM,2CAA2C,CAAC;AAE/D,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAyB/C,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,EAAE,EACb,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GAAG,KAAK,GACzB,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAC7H,OAAO,CACL,eAAK,SAAS,EAAE,MAAM,CAAC,SAAS,aAC9B,eAAK,SAAS,EAAE,MAAM,CAAC,MAAM,aAC3B,cAAK,SAAS,EAAE,MAAM,CAAC,UAAU,YAC/B,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,GACrB,EACN,eAAK,SAAS,EAAE,MAAM,CAAC,UAAU,aAC/B,uBAAK,KAAK,GAAM,EAChB,sBAAI,OAAO,GAAK,IACZ,EACL,QAAQ,IACL,EAEL,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,cAAK,SAAS,EAAE,MAAM,CAAC,UAAU,YAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CACvC,eAAwB,SAAS,EAAE,MAAM,CAAC,cAAc,aACrD,OAAO,CAAC,KAAK,IAAI,uBAAK,OAAO,CAAC,KAAK,GAAM,EAE1C,cAAK,SAAS,EAAE,MAAM,CAAC,WAAW,YAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CACnC,eAAoB,SAAS,EAAE,MAAM,CAAC,UAAU,aAC9C,eAAM,SAAS,EAAE,MAAM,CAAC,YAAY,YAAG,GAAG,CAAC,KAAK,GAAQ,EACxD,eAAM,SAAS,EAAE,MAAM,CAAC,YAAY,YAAG,GAAG,CAAC,KAAK,GAAQ,KAFhD,QAAQ,CAGZ,CACP,CAAC,GACE,KAVE,YAAY,CAWhB,CACP,CAAC,GACE,CACP,EAED,eAAK,SAAS,EAAE,WAAW,aACxB,oBAAoB,IAAI,iBAAiB,IAAI,CAC5C,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,CAAC,eAAe,YAEhC,oBAAoB,GACd,CACV,EACD,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,CAAC,aAAa,YAE9B,kBAAkB,GACZ,IACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,141 @@
1
+ .container {
2
+ width: 100%;
3
+ background: var(--bg-primary);
4
+ display: flex;
5
+ flex-direction: column;
6
+ height: 100%;
7
+ gap: var(--spacing-md);
8
+ justify-content: space-between;
9
+ overflow: hidden;
10
+ }
11
+
12
+
13
+ .header {
14
+ display: flex;
15
+ flex-direction: column;
16
+ align-items: center;
17
+ text-align: center;
18
+ padding: var(--spacing-md) var(--spacing-md) 0;
19
+ }
20
+
21
+ .headerIcon {
22
+ background: rgba(var(--color-success-rgb), 0.16);
23
+ color: var(--color-success);
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+ margin-bottom: var(--spacing-sm);
28
+ }
29
+
30
+ .headerText {
31
+ width: 100%;
32
+ }
33
+
34
+ .headerText h2 {
35
+ margin: 0;
36
+ font-size: 1.25rem;
37
+ font-weight: 700;
38
+ color: var(--text-primary);
39
+ }
40
+
41
+ .headerText p {
42
+ margin: 0;
43
+ font-size: 0.9rem;
44
+ color: var(--text-secondary);
45
+ line-height: 1.4;
46
+ }
47
+
48
+ .summaryBox {
49
+ padding: 0 var(--spacing-md);
50
+ display: flex;
51
+ flex-direction: column;
52
+ height: 100%;
53
+ overflow: hidden;
54
+ }
55
+
56
+ .summarySection {
57
+ display: flex;
58
+ flex-direction: column;
59
+ gap: var(--spacing-sm);
60
+ background: var(--bg-secondary);
61
+ border: 1px solid var(--border-divider);
62
+ border-radius: var(--radius-sm);
63
+ padding: var(--spacing-md) 0 var(--spacing-md) var(--spacing-md);
64
+ overflow: hidden;
65
+ height: 100%;
66
+ }
67
+
68
+ .summarySection + .summarySection {
69
+ padding-top: var(--spacing-sm);
70
+ border-top: 1px solid var(--border-divider);
71
+ }
72
+
73
+ .summarySection h3 {
74
+ margin: 0;
75
+ font-size: 0.95rem;
76
+ font-weight: 600;
77
+ color: var(--text-primary);
78
+ }
79
+
80
+ .summaryGrid {
81
+ display: flex;
82
+ flex-direction: column;
83
+ gap: var(--spacing-sm);
84
+ overflow-y: auto;
85
+ height: 100%;
86
+ padding: 0 var(--spacing-md) 0 0;
87
+ }
88
+
89
+ .summaryRow {
90
+ display: flex;
91
+ justify-content: space-between;
92
+ align-items: flex-start;
93
+ gap: var(--spacing-md);
94
+ padding: var(--spacing-sm) 0;
95
+ border-bottom: 1px solid var(--border-divider);
96
+ }
97
+
98
+ .summaryLabel {
99
+ font-size: 0.85rem;
100
+ color: var(--text-secondary);
101
+ font-weight: 600;
102
+ }
103
+
104
+ .summaryLabel::after {
105
+ content: ':';
106
+ margin-left: 4px;
107
+ color: var(--text-tertiary);
108
+ }
109
+
110
+ .summaryValue {
111
+ font-size: 0.9rem;
112
+ color: var(--text-primary);
113
+ font-weight: 600;
114
+ text-align: right;
115
+ }
116
+
117
+ .summaryRow:last-child {
118
+ border-bottom: none;
119
+ padding-bottom: 0;
120
+ }
121
+
122
+ .footerContainer {
123
+ padding: var(--spacing-md);
124
+ border-top: 1px solid var(--border-divider);
125
+ margin-top: auto;
126
+ display: flex;
127
+ justify-content: flex-end;
128
+ gap: var(--spacing-sm);
129
+ }
130
+
131
+ /* Footer compacto: botões com largura natural (não flex: 1), ex.: UserCreate/UserEdit success */
132
+ .footerContainerCompact .secondaryButton,
133
+ .footerContainerCompact .primaryButton {
134
+ flex: none;
135
+ }
136
+
137
+ .secondaryButton,
138
+ .primaryButton {
139
+ flex: 1;
140
+ }
141
+
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from "react";
2
+ export type InfoTooltipMessage = ReactNode;
3
+ interface InfoTooltipProps {
4
+ message: InfoTooltipMessage;
5
+ children: ReactNode;
6
+ className?: string;
7
+ }
8
+ export default function InfoTooltip({ message, children, className }: InfoTooltipProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=InfoTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoTooltip.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/components/Tooltips/InfoTooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAqC,MAAM,OAAO,CAAC;AAGrE,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE3C,UAAU,gBAAgB;IACxB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAmDrF"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useLayoutEffect, useRef, useState } from "react";
4
+ import styles from "./InfoTooltip.module.css";
5
+ export default function InfoTooltip({ message, children, className }) {
6
+ const [visible, setVisible] = useState(false);
7
+ const [placement, setPlacement] = useState('top');
8
+ const wrapperRef = useRef(null);
9
+ const dropdownRef = useRef(null);
10
+ const renderedMessage = message;
11
+ useLayoutEffect(() => {
12
+ if (!visible)
13
+ return;
14
+ const wrapper = wrapperRef.current;
15
+ const dropdown = dropdownRef.current;
16
+ if (!wrapper || !dropdown)
17
+ return;
18
+ const container = findOverflowAncestor(wrapper);
19
+ const wrapperRect = wrapper.getBoundingClientRect();
20
+ const dropdownRect = dropdown.getBoundingClientRect();
21
+ const containerRect = container ? container.getBoundingClientRect() : null;
22
+ const spaceAbove = containerRect ? wrapperRect.top - containerRect.top : wrapperRect.top;
23
+ const spaceBelow = containerRect
24
+ ? containerRect.bottom - wrapperRect.bottom
25
+ : window.innerHeight - wrapperRect.bottom;
26
+ // Switch to bottom if not enough space above
27
+ if (spaceAbove < dropdownRect.height + 12) {
28
+ setPlacement('bottom');
29
+ }
30
+ else {
31
+ setPlacement('top');
32
+ }
33
+ }, [visible]);
34
+ return (_jsxs("span", { ref: wrapperRef, className: `${styles.wrapper} ${className !== null && className !== void 0 ? className : ""}`.trim(), onMouseEnter: () => setVisible(true), onMouseLeave: () => setVisible(false), onFocus: () => setVisible(true), onBlur: () => setVisible(false), children: [children, _jsx("div", { ref: dropdownRef, className: `${styles.dropdown} ${placement === 'bottom' ? styles.dropdownBottom : ''} ${visible ? styles.dropdownVisible : ""}`.trim(), role: "status", children: renderedMessage })] }));
35
+ }
36
+ function findOverflowAncestor(el) {
37
+ let current = el.parentElement;
38
+ while (current) {
39
+ const style = window.getComputedStyle(current);
40
+ const overflow = `${style.overflow}${style.overflowX}${style.overflowY}`;
41
+ if (/(auto|scroll|hidden|clip)/.test(overflow)) {
42
+ return current;
43
+ }
44
+ current = current.parentElement;
45
+ }
46
+ return null;
47
+ }
48
+ //# sourceMappingURL=InfoTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoTooltip.js","sourceRoot":"","sources":["../../../../../src/features/feedback/components/Tooltips/InfoTooltip.tsx"],"names":[],"mappings":"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"}