@12-apps/ui 6.29.0 → 6.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/NATIVE.md +1 -1
  2. package/components-catalog.md +7 -0
  3. package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
  4. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  5. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  6. package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
  7. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +4 -4
  8. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +4 -4
  9. package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
  10. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  11. package/dist/_internal/components/data-display/Chart/SpecChart.js +8 -8
  12. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  13. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  14. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  15. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  16. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +40 -40
  17. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +52 -52
  18. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +6 -6
  19. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +8 -8
  20. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +6 -6
  21. package/dist/_internal/components/data-display/DataViews/base-card.js +2 -2
  22. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +5 -5
  23. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +4 -4
  24. package/dist/_internal/components/data-display/DataViews/base-list-card.js +7 -7
  25. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +4 -4
  26. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
  27. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +7 -7
  28. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  29. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +3 -3
  30. package/dist/_internal/components/data-display/DataViews/data-views-export.js +3 -3
  31. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +7 -7
  32. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +10 -10
  33. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
  34. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +35 -35
  35. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +11 -11
  36. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +2 -2
  37. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +4 -4
  38. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +7 -7
  39. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  40. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
  41. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +3 -3
  42. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +12 -12
  43. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +11 -11
  44. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +11 -11
  45. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +3 -3
  46. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +3 -3
  47. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +7 -7
  48. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  49. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +10 -10
  50. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +9 -9
  51. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -2
  52. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +12 -12
  53. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  54. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  55. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  56. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +2 -2
  57. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +8 -8
  58. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  59. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  60. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
  61. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  62. package/dist/_internal/components/data-display/index.js +56 -56
  63. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  64. package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
  65. package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
  66. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.js +12 -0
  67. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +24 -0
  68. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js.map +1 -0
  69. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.js +12 -0
  70. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.js.map +1 -0
  71. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.js +1 -0
  72. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.js.map +1 -0
  73. package/dist/_internal/components/feedback/index.js +35 -19
  74. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +2 -2
  75. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
  76. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +3 -3
  77. package/dist/_internal/components/form/Button/Button.js +2 -2
  78. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  79. package/dist/_internal/components/form/Calendar/Calendar.js +3 -3
  80. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +2 -2
  81. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
  82. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +4 -4
  83. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  84. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  85. package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
  86. package/dist/_internal/components/form/index.js +46 -46
  87. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +3 -3
  88. package/dist/_internal/components/form/total-form/Fields/index.js +7 -7
  89. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  90. package/dist/_internal/components/index.js +173 -161
  91. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +1 -1
  92. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
  93. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
  94. package/dist/_internal/components/layout/index.js +18 -18
  95. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +10 -10
  96. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +2 -2
  97. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +4 -4
  98. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +2 -2
  99. package/dist/_internal/components/navigation/index.js +22 -22
  100. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +3 -3
  101. package/dist/_internal/components/utility/InstallPrompt/usePwaInstall.js +2 -2
  102. package/dist/_internal/components/utility/index.js +17 -17
  103. package/dist/_internal/en-US.data-display.js +2 -2
  104. package/dist/_internal/en-US.feedback.js +3 -1
  105. package/dist/_internal/icons/Icon.js +2 -2
  106. package/dist/_internal/pt-BR.feedback.js +3 -1
  107. package/dist/_internal/social-login-button/social-login-button.js +4 -4
  108. package/dist/_internal/user-avatar/user-avatar.js +8 -8
  109. package/dist/charts.js +17 -17
  110. package/dist/{chunk-W5CW7JFZ.js → chunk-22ZJH7RY.js} +2 -2
  111. package/dist/{chunk-JRWPI4XF.js → chunk-23FCBIUN.js} +4 -4
  112. package/dist/{chunk-HQB5XNK5.js → chunk-2UBFDRL7.js} +2 -2
  113. package/dist/{chunk-HS2OJI6L.js → chunk-35UG2QDB.js} +7 -7
  114. package/dist/{chunk-4H4Y2SX3.js → chunk-3MALHTZQ.js} +2 -2
  115. package/dist/chunk-3MEIGSDK.js +88 -0
  116. package/dist/chunk-3MEIGSDK.js.map +1 -0
  117. package/dist/{chunk-PVIAHB7D.js → chunk-3XLDTVLC.js} +6 -6
  118. package/dist/{chunk-5UC2RNOY.js → chunk-4MXFPDKL.js} +4 -4
  119. package/dist/{chunk-OJCK5RNJ.js → chunk-4XVH6IWN.js} +2 -2
  120. package/dist/{chunk-ALAJBLBE.js → chunk-554SVTCN.js} +3 -3
  121. package/dist/chunk-55FFONIV.js +11 -0
  122. package/dist/chunk-55FFONIV.js.map +1 -0
  123. package/dist/{chunk-3BPDHWVF.js → chunk-57W2C7HY.js} +4 -4
  124. package/dist/{chunk-XGOWREVV.js → chunk-57ZSQB5V.js} +2 -2
  125. package/dist/{chunk-P3NRT6GV.js → chunk-62NA6IF3.js} +4 -4
  126. package/dist/{chunk-J2K65BQQ.js → chunk-6FUOUUYO.js} +3 -3
  127. package/dist/{chunk-MVJYIHPH.js → chunk-6IKX5IIX.js} +3 -3
  128. package/dist/{chunk-QGAYEBMU.js → chunk-6PKVHFCK.js} +8 -8
  129. package/dist/chunk-6YIKVXAV.js +1 -0
  130. package/dist/chunk-6YIKVXAV.js.map +1 -0
  131. package/dist/{chunk-G5ZVD5IJ.js → chunk-7AR2R7TV.js} +4 -4
  132. package/dist/{chunk-XBZ43VIV.js → chunk-7IKWIWWV.js} +7 -7
  133. package/dist/{chunk-YFY3YVV6.js → chunk-7OZBOS75.js} +3 -3
  134. package/dist/chunk-ASHXIAJO.js +88 -0
  135. package/dist/chunk-ASHXIAJO.js.map +1 -0
  136. package/dist/{chunk-NGVGTMHT.js → chunk-B474PL5O.js} +2 -2
  137. package/dist/{chunk-TX3ZHO5R.js → chunk-BEGWE5O4.js} +4 -4
  138. package/dist/{chunk-NGM5XKAS.js → chunk-BILJU2DX.js} +5 -5
  139. package/dist/{chunk-GJUIZ5FN.js → chunk-BKAB4KZK.js} +4 -4
  140. package/dist/{chunk-HKV4MQ2W.js → chunk-BLBOYCOV.js} +5 -5
  141. package/dist/{chunk-NY2Y2SHA.js → chunk-CASZGBCA.js} +4 -4
  142. package/dist/{chunk-UN5INW6K.js → chunk-CZJLWCEG.js} +2 -2
  143. package/dist/{chunk-WYDGPJ3Z.js → chunk-CZPU5TW3.js} +4 -4
  144. package/dist/{chunk-TC3EPGGJ.js → chunk-DAPK3ADA.js} +4 -4
  145. package/dist/{chunk-QZBUGUOY.js → chunk-DFLTUI7W.js} +4 -4
  146. package/dist/{chunk-PJTSGHTY.js → chunk-DQOLW4B5.js} +2 -2
  147. package/dist/{chunk-FR6AJSMT.js → chunk-DUWF5LUK.js} +4 -4
  148. package/dist/{chunk-SHDIZSN5.js → chunk-EXJBPKGW.js} +5 -5
  149. package/dist/{chunk-MHSTG7FF.js → chunk-EZMCWRXO.js} +2 -2
  150. package/dist/{chunk-BYMWW65P.js → chunk-FGUK3D54.js} +2 -2
  151. package/dist/{chunk-PCYGUOWJ.js → chunk-FLIMEQUA.js} +7 -7
  152. package/dist/{chunk-TEE6HNHS.js → chunk-FRW4SYZD.js} +4 -4
  153. package/dist/{chunk-R6SBP5M5.js → chunk-GOWBYHYW.js} +4 -4
  154. package/dist/{chunk-THOPGHTY.js → chunk-HGJHZ5PE.js} +7 -7
  155. package/dist/{chunk-K4N3V7YE.js → chunk-HR7YTBR7.js} +4 -4
  156. package/dist/{chunk-PZEC5CQA.js → chunk-HT4B2DJU.js} +4 -4
  157. package/dist/{chunk-EMAX7RPN.js → chunk-HZ6L7WXE.js} +7 -7
  158. package/dist/{chunk-BEWD734I.js → chunk-I3FXTIKA.js} +2 -2
  159. package/dist/{chunk-JE6RZ5L6.js → chunk-IABE56TG.js} +2 -2
  160. package/dist/{chunk-B443IIQG.js → chunk-IE7ISTLQ.js} +4 -4
  161. package/dist/{chunk-LKF5KQ2Q.js → chunk-IIUB4IOH.js} +4 -4
  162. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  163. package/dist/{chunk-JOXBCXVL.js → chunk-J4W4TQPC.js} +9 -9
  164. package/dist/{chunk-K7DCYV5Q.js → chunk-JGV66VUK.js} +2 -2
  165. package/dist/{chunk-QPDDS6DQ.js → chunk-JJ3VR7WX.js} +2 -2
  166. package/dist/{chunk-DVE53B2L.js → chunk-JQL4GG5L.js} +7 -7
  167. package/dist/chunk-JQRKXMSH.js +1 -0
  168. package/dist/chunk-JQRKXMSH.js.map +1 -0
  169. package/dist/{chunk-EZNTM6PT.js → chunk-JYF3HT7M.js} +7 -7
  170. package/dist/{chunk-H53YNR23.js → chunk-K2EHH7TC.js} +5 -5
  171. package/dist/{chunk-FOKBP6HR.js → chunk-K2JH7QPR.js} +10 -10
  172. package/dist/chunk-K4JRHQMI.js +109 -0
  173. package/dist/chunk-K4JRHQMI.js.map +1 -0
  174. package/dist/{chunk-VRKS5K4N.js → chunk-K5V3KCFI.js} +4 -4
  175. package/dist/{chunk-LSJY4LWZ.js → chunk-KFZT3PHA.js} +3 -3
  176. package/dist/{chunk-DVUPIVI2.js → chunk-KT6HWAEN.js} +4 -4
  177. package/dist/{chunk-EYC6ERJJ.js → chunk-KUJLZFDW.js} +3 -3
  178. package/dist/chunk-L7BRU4UF.js +39 -0
  179. package/dist/chunk-L7BRU4UF.js.map +1 -0
  180. package/dist/{chunk-O42ZA3TW.js → chunk-MCBG6R5A.js} +2 -2
  181. package/dist/{chunk-MNSW33DU.js → chunk-MSS6IU5X.js} +3 -3
  182. package/dist/{chunk-VLHGBFR6.js → chunk-MZQTHSLN.js} +3 -3
  183. package/dist/{chunk-XELVDPKL.js → chunk-NFAKRI4S.js} +4 -4
  184. package/dist/{chunk-7TZ6OC5T.js → chunk-OH3YGJT5.js} +2 -2
  185. package/dist/{chunk-ZTZ6S5Q6.js → chunk-OXQP3N6X.js} +4 -4
  186. package/dist/{chunk-XSJWN3WH.js → chunk-PMS3H3OO.js} +10 -10
  187. package/dist/{chunk-IQ7WZ3RN.js → chunk-Q5NAZ7TW.js} +2 -2
  188. package/dist/{chunk-SOCKK67R.js → chunk-QRX5BYUQ.js} +7 -7
  189. package/dist/{chunk-OLZTGVBT.js → chunk-REMK55JI.js} +4 -4
  190. package/dist/{chunk-5GMHJ7Y5.js → chunk-S2GDYA6R.js} +5 -5
  191. package/dist/{chunk-YEWCIMPZ.js → chunk-SUTNQG7E.js} +15 -4
  192. package/dist/chunk-SUTNQG7E.js.map +1 -0
  193. package/dist/{chunk-TTW4MAOJ.js → chunk-UCTJJYVC.js} +5 -5
  194. package/dist/{chunk-BLT5ZBVL.js → chunk-UEJQQVP2.js} +4 -4
  195. package/dist/{chunk-236QP424.js → chunk-URVNHKM2.js} +5 -5
  196. package/dist/{chunk-4OSGKO7E.js → chunk-UVD5NFRF.js} +2 -2
  197. package/dist/{chunk-TSFFZ3AH.js → chunk-VEGT5PAD.js} +17 -17
  198. package/dist/{chunk-UKPZVX3J.js → chunk-VJFH2AXT.js} +2 -2
  199. package/dist/{chunk-XXJRT6BP.js → chunk-VMXDTCYF.js} +6 -6
  200. package/dist/{chunk-HDNK7BAX.js → chunk-VNEEXUWA.js} +3 -3
  201. package/dist/{chunk-XOCLWQON.js → chunk-VNGYJXAU.js} +3 -3
  202. package/dist/{chunk-KW7H5O3K.js → chunk-WREIYOXN.js} +4 -4
  203. package/dist/{chunk-EPNUVSNK.js → chunk-XFUNJYFT.js} +7 -7
  204. package/dist/{chunk-QSKJLMNS.js → chunk-Y5UCOBQN.js} +2 -2
  205. package/dist/{chunk-D6HDJVQW.js → chunk-YANLN6HP.js} +5 -5
  206. package/dist/{chunk-JVVTSSS4.js → chunk-Z52HVR4J.js} +2 -2
  207. package/dist/{chunk-WC3W36AM.js → chunk-ZOUWHGV3.js} +4 -4
  208. package/dist/{chunk-M7E66OSC.js → chunk-ZPIMPOHV.js} +4 -4
  209. package/dist/{chunk-LCXXPIG3.js → chunk-ZWIDQEJ4.js} +4 -4
  210. package/dist/{chunk-MRMNVGNX.js → chunk-ZYKDPX3W.js} +2 -2
  211. package/dist/data-display/Avatar.js +4 -4
  212. package/dist/data-display/Badge.js +2 -2
  213. package/dist/data-display/CardKit.js +10 -10
  214. package/dist/data-display/Carousel.js +3 -3
  215. package/dist/data-display/Chart.js +17 -17
  216. package/dist/data-display/DataGrid.js +2 -2
  217. package/dist/data-display/DataViews.js +69 -69
  218. package/dist/data-display/FleetMap.js +12 -12
  219. package/dist/data-display/HoverCard.js +2 -2
  220. package/dist/data-display/Lightbox.js +6 -6
  221. package/dist/data-display/MapPreview.js +8 -8
  222. package/dist/data-display/Progress.js +2 -2
  223. package/dist/data-display/Sheet.js +4 -4
  224. package/dist/data-display/Table.js +2 -2
  225. package/dist/en-US.js +7 -5
  226. package/dist/feedback/ConfirmAction.js +6 -6
  227. package/dist/feedback/Dialog.js +2 -2
  228. package/dist/feedback/Modal.js +2 -2
  229. package/dist/feedback/NotificationStatusNotice.js +30 -0
  230. package/dist/feedback/NotificationStatusNotice.js.map +1 -0
  231. package/dist/form/AddressAutocomplete.js +6 -6
  232. package/dist/form/Button.js +2 -2
  233. package/dist/form/Calendar.js +3 -3
  234. package/dist/form/CategorySelect.js +2 -2
  235. package/dist/form/CodeEditor.js +2 -2
  236. package/dist/form/DateRangePicker.js +4 -4
  237. package/dist/form/InputOTP.js +2 -2
  238. package/dist/form/Menubar.js +2 -2
  239. package/dist/form/UploadButton.js +2 -2
  240. package/dist/form/total-form.js +10 -10
  241. package/dist/icons.js +2 -2
  242. package/dist/layout/ContentToolbar.js +3 -3
  243. package/dist/layout/ScrollArea.js +1 -1
  244. package/dist/layout/SettingsLayout.js +4 -4
  245. package/dist/locales.js +10 -10
  246. package/dist/navigation/AppHeader.js +12 -12
  247. package/dist/navigation/NavigationMenu.js +4 -4
  248. package/dist/pt-BR.js +7 -5
  249. package/dist/social-login-button.js +4 -4
  250. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.d.ts +13 -0
  251. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.d.ts.map +1 -0
  252. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.d.ts +28 -0
  253. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.d.ts.map +1 -0
  254. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.d.ts +7 -0
  255. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.d.ts.map +1 -0
  256. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.d.ts +64 -0
  257. package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.d.ts.map +1 -0
  258. package/dist/types/components/feedback/NotificationStatusNotice/index.d.ts +4 -0
  259. package/dist/types/components/feedback/NotificationStatusNotice/index.d.ts.map +1 -0
  260. package/dist/types/components/feedback/index.d.ts +1 -0
  261. package/dist/types/components/feedback/index.d.ts.map +1 -1
  262. package/dist/types/copy/feedback.d.ts +43 -0
  263. package/dist/types/copy/feedback.d.ts.map +1 -1
  264. package/dist/types/en-US.feedback.d.ts +2 -1
  265. package/dist/types/en-US.feedback.d.ts.map +1 -1
  266. package/dist/types/pt-BR.feedback.d.ts +2 -1
  267. package/dist/types/pt-BR.feedback.d.ts.map +1 -1
  268. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  269. package/dist/user-avatar.js +8 -8
  270. package/dist/utility/InstallPrompt.js +4 -4
  271. package/package.json +5 -1
  272. package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.ts +80 -0
  273. package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.md +106 -0
  274. package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.ts +8 -0
  275. package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.tsx +134 -0
  276. package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.ts +83 -0
  277. package/src/components/feedback/NotificationStatusNotice/index.ts +16 -0
  278. package/src/components/feedback/NotificationStatusNotice/tests.md +24 -0
  279. package/src/components/feedback/NotificationStatusNotice/track.md +34 -0
  280. package/src/components/feedback/index.ts +1 -0
  281. package/src/copy/feedback.ts +28 -0
  282. package/src/en-US.feedback.ts +69 -0
  283. package/src/pt-BR.feedback.ts +69 -0
  284. package/src/social-login-button/social-login-button.tsx +43 -0
  285. package/dist/chunk-E5ACI7EA.js +0 -22
  286. package/dist/chunk-E5ACI7EA.js.map +0 -1
  287. package/dist/chunk-IFLZNCAI.js +0 -22
  288. package/dist/chunk-IFLZNCAI.js.map +0 -1
  289. package/dist/chunk-SO2J7ULY.js +0 -1
  290. package/dist/chunk-YEWCIMPZ.js.map +0 -1
  291. /package/dist/{chunk-SO2J7ULY.js.map → _internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.js.map} +0 -0
  292. /package/dist/{chunk-W5CW7JFZ.js.map → chunk-22ZJH7RY.js.map} +0 -0
  293. /package/dist/{chunk-JRWPI4XF.js.map → chunk-23FCBIUN.js.map} +0 -0
  294. /package/dist/{chunk-HQB5XNK5.js.map → chunk-2UBFDRL7.js.map} +0 -0
  295. /package/dist/{chunk-HS2OJI6L.js.map → chunk-35UG2QDB.js.map} +0 -0
  296. /package/dist/{chunk-4H4Y2SX3.js.map → chunk-3MALHTZQ.js.map} +0 -0
  297. /package/dist/{chunk-PVIAHB7D.js.map → chunk-3XLDTVLC.js.map} +0 -0
  298. /package/dist/{chunk-5UC2RNOY.js.map → chunk-4MXFPDKL.js.map} +0 -0
  299. /package/dist/{chunk-OJCK5RNJ.js.map → chunk-4XVH6IWN.js.map} +0 -0
  300. /package/dist/{chunk-ALAJBLBE.js.map → chunk-554SVTCN.js.map} +0 -0
  301. /package/dist/{chunk-3BPDHWVF.js.map → chunk-57W2C7HY.js.map} +0 -0
  302. /package/dist/{chunk-XGOWREVV.js.map → chunk-57ZSQB5V.js.map} +0 -0
  303. /package/dist/{chunk-P3NRT6GV.js.map → chunk-62NA6IF3.js.map} +0 -0
  304. /package/dist/{chunk-J2K65BQQ.js.map → chunk-6FUOUUYO.js.map} +0 -0
  305. /package/dist/{chunk-MVJYIHPH.js.map → chunk-6IKX5IIX.js.map} +0 -0
  306. /package/dist/{chunk-QGAYEBMU.js.map → chunk-6PKVHFCK.js.map} +0 -0
  307. /package/dist/{chunk-G5ZVD5IJ.js.map → chunk-7AR2R7TV.js.map} +0 -0
  308. /package/dist/{chunk-XBZ43VIV.js.map → chunk-7IKWIWWV.js.map} +0 -0
  309. /package/dist/{chunk-YFY3YVV6.js.map → chunk-7OZBOS75.js.map} +0 -0
  310. /package/dist/{chunk-NGVGTMHT.js.map → chunk-B474PL5O.js.map} +0 -0
  311. /package/dist/{chunk-TX3ZHO5R.js.map → chunk-BEGWE5O4.js.map} +0 -0
  312. /package/dist/{chunk-NGM5XKAS.js.map → chunk-BILJU2DX.js.map} +0 -0
  313. /package/dist/{chunk-GJUIZ5FN.js.map → chunk-BKAB4KZK.js.map} +0 -0
  314. /package/dist/{chunk-HKV4MQ2W.js.map → chunk-BLBOYCOV.js.map} +0 -0
  315. /package/dist/{chunk-NY2Y2SHA.js.map → chunk-CASZGBCA.js.map} +0 -0
  316. /package/dist/{chunk-UN5INW6K.js.map → chunk-CZJLWCEG.js.map} +0 -0
  317. /package/dist/{chunk-WYDGPJ3Z.js.map → chunk-CZPU5TW3.js.map} +0 -0
  318. /package/dist/{chunk-TC3EPGGJ.js.map → chunk-DAPK3ADA.js.map} +0 -0
  319. /package/dist/{chunk-QZBUGUOY.js.map → chunk-DFLTUI7W.js.map} +0 -0
  320. /package/dist/{chunk-PJTSGHTY.js.map → chunk-DQOLW4B5.js.map} +0 -0
  321. /package/dist/{chunk-FR6AJSMT.js.map → chunk-DUWF5LUK.js.map} +0 -0
  322. /package/dist/{chunk-SHDIZSN5.js.map → chunk-EXJBPKGW.js.map} +0 -0
  323. /package/dist/{chunk-MHSTG7FF.js.map → chunk-EZMCWRXO.js.map} +0 -0
  324. /package/dist/{chunk-BYMWW65P.js.map → chunk-FGUK3D54.js.map} +0 -0
  325. /package/dist/{chunk-PCYGUOWJ.js.map → chunk-FLIMEQUA.js.map} +0 -0
  326. /package/dist/{chunk-TEE6HNHS.js.map → chunk-FRW4SYZD.js.map} +0 -0
  327. /package/dist/{chunk-R6SBP5M5.js.map → chunk-GOWBYHYW.js.map} +0 -0
  328. /package/dist/{chunk-THOPGHTY.js.map → chunk-HGJHZ5PE.js.map} +0 -0
  329. /package/dist/{chunk-K4N3V7YE.js.map → chunk-HR7YTBR7.js.map} +0 -0
  330. /package/dist/{chunk-PZEC5CQA.js.map → chunk-HT4B2DJU.js.map} +0 -0
  331. /package/dist/{chunk-EMAX7RPN.js.map → chunk-HZ6L7WXE.js.map} +0 -0
  332. /package/dist/{chunk-BEWD734I.js.map → chunk-I3FXTIKA.js.map} +0 -0
  333. /package/dist/{chunk-JE6RZ5L6.js.map → chunk-IABE56TG.js.map} +0 -0
  334. /package/dist/{chunk-B443IIQG.js.map → chunk-IE7ISTLQ.js.map} +0 -0
  335. /package/dist/{chunk-LKF5KQ2Q.js.map → chunk-IIUB4IOH.js.map} +0 -0
  336. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  337. /package/dist/{chunk-JOXBCXVL.js.map → chunk-J4W4TQPC.js.map} +0 -0
  338. /package/dist/{chunk-K7DCYV5Q.js.map → chunk-JGV66VUK.js.map} +0 -0
  339. /package/dist/{chunk-QPDDS6DQ.js.map → chunk-JJ3VR7WX.js.map} +0 -0
  340. /package/dist/{chunk-DVE53B2L.js.map → chunk-JQL4GG5L.js.map} +0 -0
  341. /package/dist/{chunk-EZNTM6PT.js.map → chunk-JYF3HT7M.js.map} +0 -0
  342. /package/dist/{chunk-H53YNR23.js.map → chunk-K2EHH7TC.js.map} +0 -0
  343. /package/dist/{chunk-FOKBP6HR.js.map → chunk-K2JH7QPR.js.map} +0 -0
  344. /package/dist/{chunk-VRKS5K4N.js.map → chunk-K5V3KCFI.js.map} +0 -0
  345. /package/dist/{chunk-LSJY4LWZ.js.map → chunk-KFZT3PHA.js.map} +0 -0
  346. /package/dist/{chunk-DVUPIVI2.js.map → chunk-KT6HWAEN.js.map} +0 -0
  347. /package/dist/{chunk-EYC6ERJJ.js.map → chunk-KUJLZFDW.js.map} +0 -0
  348. /package/dist/{chunk-O42ZA3TW.js.map → chunk-MCBG6R5A.js.map} +0 -0
  349. /package/dist/{chunk-MNSW33DU.js.map → chunk-MSS6IU5X.js.map} +0 -0
  350. /package/dist/{chunk-VLHGBFR6.js.map → chunk-MZQTHSLN.js.map} +0 -0
  351. /package/dist/{chunk-XELVDPKL.js.map → chunk-NFAKRI4S.js.map} +0 -0
  352. /package/dist/{chunk-7TZ6OC5T.js.map → chunk-OH3YGJT5.js.map} +0 -0
  353. /package/dist/{chunk-ZTZ6S5Q6.js.map → chunk-OXQP3N6X.js.map} +0 -0
  354. /package/dist/{chunk-XSJWN3WH.js.map → chunk-PMS3H3OO.js.map} +0 -0
  355. /package/dist/{chunk-IQ7WZ3RN.js.map → chunk-Q5NAZ7TW.js.map} +0 -0
  356. /package/dist/{chunk-SOCKK67R.js.map → chunk-QRX5BYUQ.js.map} +0 -0
  357. /package/dist/{chunk-OLZTGVBT.js.map → chunk-REMK55JI.js.map} +0 -0
  358. /package/dist/{chunk-5GMHJ7Y5.js.map → chunk-S2GDYA6R.js.map} +0 -0
  359. /package/dist/{chunk-TTW4MAOJ.js.map → chunk-UCTJJYVC.js.map} +0 -0
  360. /package/dist/{chunk-BLT5ZBVL.js.map → chunk-UEJQQVP2.js.map} +0 -0
  361. /package/dist/{chunk-236QP424.js.map → chunk-URVNHKM2.js.map} +0 -0
  362. /package/dist/{chunk-4OSGKO7E.js.map → chunk-UVD5NFRF.js.map} +0 -0
  363. /package/dist/{chunk-TSFFZ3AH.js.map → chunk-VEGT5PAD.js.map} +0 -0
  364. /package/dist/{chunk-UKPZVX3J.js.map → chunk-VJFH2AXT.js.map} +0 -0
  365. /package/dist/{chunk-XXJRT6BP.js.map → chunk-VMXDTCYF.js.map} +0 -0
  366. /package/dist/{chunk-HDNK7BAX.js.map → chunk-VNEEXUWA.js.map} +0 -0
  367. /package/dist/{chunk-XOCLWQON.js.map → chunk-VNGYJXAU.js.map} +0 -0
  368. /package/dist/{chunk-KW7H5O3K.js.map → chunk-WREIYOXN.js.map} +0 -0
  369. /package/dist/{chunk-EPNUVSNK.js.map → chunk-XFUNJYFT.js.map} +0 -0
  370. /package/dist/{chunk-QSKJLMNS.js.map → chunk-Y5UCOBQN.js.map} +0 -0
  371. /package/dist/{chunk-D6HDJVQW.js.map → chunk-YANLN6HP.js.map} +0 -0
  372. /package/dist/{chunk-JVVTSSS4.js.map → chunk-Z52HVR4J.js.map} +0 -0
  373. /package/dist/{chunk-WC3W36AM.js.map → chunk-ZOUWHGV3.js.map} +0 -0
  374. /package/dist/{chunk-M7E66OSC.js.map → chunk-ZPIMPOHV.js.map} +0 -0
  375. /package/dist/{chunk-LCXXPIG3.js.map → chunk-ZWIDQEJ4.js.map} +0 -0
  376. /package/dist/{chunk-MRMNVGNX.js.map → chunk-ZYKDPX3W.js.map} +0 -0
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type {
6
6
  ChromeCopy,
7
+ NotificationUnblockCopy,
7
8
  TutorialCopy,
8
9
  } from './copy';
9
10
 
@@ -23,3 +24,71 @@ export const PT_BR_CHROME_COPY: ChromeCopy = {
23
24
  scrollToTop: "Voltar ao topo",
24
25
  share: "Compartilhar",
25
26
  };
27
+
28
+ const PT_BR_CHROMIUM_DESKTOP = [
29
+ "Clique no ícone à esquerda do endereço do site.",
30
+ "Abra \"Configurações do site\".",
31
+ "Em \"Notificações\", escolha \"Permitir\".",
32
+ "Volte a esta página e recarregue.",
33
+ ] as const;
34
+
35
+ const PT_BR_CHROMIUM_ANDROID = [
36
+ "Toque no ícone à esquerda do endereço do site.",
37
+ "Toque em \"Permissões\".",
38
+ "Toque em \"Notificações\" e escolha \"Permitir\".",
39
+ "Volte a esta página e recarregue.",
40
+ ] as const;
41
+
42
+ export const PT_BR_NOTIFICATION_UNBLOCK_COPY: NotificationUnblockCopy = {
43
+ ios: [
44
+ "Abra os Ajustes do iPhone.",
45
+ "Toque em \"Notificações\".",
46
+ "Encontre este app na lista e ative \"Permitir Notificações\".",
47
+ ],
48
+ chrome: { desktop: PT_BR_CHROMIUM_DESKTOP, android: PT_BR_CHROMIUM_ANDROID },
49
+ edge: {
50
+ desktop: [
51
+ "Clique no cadeado à esquerda do endereço do site.",
52
+ "Abra \"Permissões para este site\".",
53
+ "Em \"Notificações\", escolha \"Permitir\".",
54
+ "Volte a esta página e recarregue.",
55
+ ],
56
+ android: PT_BR_CHROMIUM_ANDROID,
57
+ },
58
+ firefox: {
59
+ desktop: [
60
+ "Clique no ícone de permissões à esquerda do endereço do site.",
61
+ "Ao lado de \"Enviar notificações\", clique no X para tirar o bloqueio.",
62
+ "Recarregue a página e ative as notificações de novo.",
63
+ ],
64
+ android: [
65
+ "Abra o menu do navegador e toque em \"Configurações\".",
66
+ "Toque em \"Permissões de sites\" e depois em \"Notificações\".",
67
+ "Encontre este site e escolha \"Permitir\".",
68
+ "Volte a esta página e recarregue.",
69
+ ],
70
+ },
71
+ opera: { desktop: PT_BR_CHROMIUM_DESKTOP, android: PT_BR_CHROMIUM_ANDROID },
72
+ safari: {
73
+ desktop: [
74
+ "No menu Safari, abra \"Ajustes\".",
75
+ "Vá na aba \"Sites\" e, na lateral, em \"Notificações\".",
76
+ "Encontre este site e escolha \"Permitir\".",
77
+ "Volte a esta página e recarregue.",
78
+ ],
79
+ },
80
+ samsung: {
81
+ android: [
82
+ "Abra o menu do navegador e toque em \"Configurações\".",
83
+ "Toque em \"Sites e downloads\" e depois em \"Notificações\".",
84
+ "Encontre este site e permita as notificações.",
85
+ "Volte a esta página e recarregue.",
86
+ ],
87
+ },
88
+ other: [
89
+ "Abra as configurações do navegador.",
90
+ "Procure as permissões dos sites e depois \"Notificações\".",
91
+ "Permita as notificações para este site.",
92
+ "Volte a esta página e recarregue.",
93
+ ],
94
+ };
@@ -3,6 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import Box from '@mui/material/Box/index.js';
5
5
  import Stack from '@mui/material/Stack/index.js';
6
+ import type { Theme } from '@mui/material/styles/index.js';
6
7
  import { Button } from '../components/form/Button';
7
8
  import { Card, CardContent } from '../components/layout/Card';
8
9
  import { Heading } from '../components/typography/Heading';
@@ -52,6 +53,46 @@ const AppleIcon = (): React.ReactElement => (
52
53
  </svg>
53
54
  );
54
55
 
56
+ /**
57
+ * Google's logo on a disabled button: one flat grey, faded (FUT-2393).
58
+ *
59
+ * The G is drawn in Google's four colours, hard-coded in its SVG, so MUI
60
+ * greying a disabled button's label left a full-colour G beside it. The grey
61
+ * label still said the button could not be pressed; an icon-only button has no
62
+ * label, and read as ready to tap.
63
+ *
64
+ * `brightness(0)` draws the G in one flat colour, as Google's own disabled
65
+ * button does, and the theme's `disabledOpacity` fades it, the step MUI dims a
66
+ * disabled control by. `grayscale` would not do: it turns the four colours four
67
+ * different greys, and the yellow arc all but vanished (1.26:1 against white).
68
+ *
69
+ * Google's alone: Facebook's and Apple's logos are drawn in the button's
70
+ * `currentColor`, so they grey with the label by themselves, and fading them
71
+ * again would all but erase them. Keyed on `.Mui-disabled`, the class MUI greys
72
+ * the label by, so the logo and the label always agree. A loading button
73
+ * carries it too, but its spinner replaces the logo slot.
74
+ */
75
+ const GOOGLE_LOGO_WHEN_DISABLED_SX = {
76
+ '&.Mui-disabled .MuiButton-startIcon': {
77
+ filter: 'brightness(0)',
78
+ opacity: (theme: Theme) => theme.palette.action.disabledOpacity,
79
+ },
80
+ } as const;
81
+
82
+ /**
83
+ * Facebook's logo in its button's own colour (FUT-2393).
84
+ *
85
+ * `FacebookIcon` is the blue roundel, drawn in #1877F2 with the "f" cut out of
86
+ * it. On the button's own #1877F2 the roundel vanished: a label beside nothing,
87
+ * and an icon-only button an empty blue slab. In `currentColor` it is the white
88
+ * roundel Facebook's own button carries, and a disabled button greys it with
89
+ * the label. Set on the button rather than in `FacebookIcon`, which a host may
90
+ * draw on a white page.
91
+ */
92
+ const FACEBOOK_LOGO_IN_BUTTON_COLOUR_SX = {
93
+ '& .MuiButton-startIcon path': { fill: 'currentColor' },
94
+ } as const;
95
+
55
96
  interface ProviderConfig {
56
97
  Icon: () => React.ReactElement;
57
98
  variant: 'solid' | 'outline' | 'ghost';
@@ -72,6 +113,7 @@ const providerConfig: Record<SocialProvider, ProviderConfig> = {
72
113
  backgroundColor: '#f5f5f5',
73
114
  borderColor: '#dadce0',
74
115
  },
116
+ ...GOOGLE_LOGO_WHEN_DISABLED_SX,
75
117
  },
76
118
  },
77
119
  facebook: {
@@ -84,6 +126,7 @@ const providerConfig: Record<SocialProvider, ProviderConfig> = {
84
126
  '&:hover': {
85
127
  backgroundColor: '#166fe5',
86
128
  },
129
+ ...FACEBOOK_LOGO_IN_BUTTON_COLOUR_SX,
87
130
  },
88
131
  },
89
132
  apple: {
@@ -1,22 +0,0 @@
1
- // src/en-US.feedback.ts
2
- var EN_US_TUTORIAL_COPY = {
3
- skip: "Skip",
4
- previous: "Back",
5
- next: "Next",
6
- restart: "Start over"
7
- };
8
- var EN_US_CHROME_COPY = {
9
- dismissToast: "Dismiss",
10
- goBack: "Back",
11
- closePanel: "Close",
12
- closeTab: "Close tab",
13
- scrollRegion: "Scrollable content",
14
- scrollToTop: "Back to top",
15
- share: "Share"
16
- };
17
-
18
- export {
19
- EN_US_TUTORIAL_COPY,
20
- EN_US_CHROME_COPY
21
- };
22
- //# sourceMappingURL=chunk-E5ACI7EA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/en-US.feedback.ts"],"sourcesContent":["/**\n * The en-US pack for the feedback family. Split the same way\n * `pt-BR.feedback.ts` is — see `en-US.ts` for why.\n */\nimport type {\n ChromeCopy,\n TutorialCopy,\n} from './copy';\n\nexport const EN_US_TUTORIAL_COPY: TutorialCopy = {\n skip: \"Skip\",\n previous: \"Back\",\n next: \"Next\",\n restart: \"Start over\",\n};\n\nexport const EN_US_CHROME_COPY: ChromeCopy = {\n dismissToast: \"Dismiss\",\n goBack: \"Back\",\n closePanel: \"Close\",\n closeTab: \"Close tab\",\n scrollRegion: \"Scrollable content\",\n scrollToTop: \"Back to top\",\n share: \"Share\",\n};\n"],"mappings":";AASO,IAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AACX;AAEO,IAAM,oBAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AACT;","names":[]}
@@ -1,22 +0,0 @@
1
- // src/pt-BR.feedback.ts
2
- var PT_BR_TUTORIAL_COPY = {
3
- skip: "Pular",
4
- previous: "Anterior",
5
- next: "Pr\xF3ximo",
6
- restart: "Recome\xE7ar"
7
- };
8
- var PT_BR_CHROME_COPY = {
9
- dismissToast: "Fechar o aviso",
10
- goBack: "Voltar",
11
- closePanel: "Fechar",
12
- closeTab: "Fechar a aba",
13
- scrollRegion: "Conte\xFAdo rol\xE1vel",
14
- scrollToTop: "Voltar ao topo",
15
- share: "Compartilhar"
16
- };
17
-
18
- export {
19
- PT_BR_TUTORIAL_COPY,
20
- PT_BR_CHROME_COPY
21
- };
22
- //# sourceMappingURL=chunk-IFLZNCAI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/pt-BR.feedback.ts"],"sourcesContent":["/**\n * The pt-BR pack for the feedback family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type {\n ChromeCopy,\n TutorialCopy,\n} from './copy';\n\nexport const PT_BR_TUTORIAL_COPY: TutorialCopy = {\n skip: \"Pular\",\n previous: \"Anterior\",\n next: \"Próximo\",\n restart: \"Recomeçar\",\n};\n\nexport const PT_BR_CHROME_COPY: ChromeCopy = {\n dismissToast: \"Fechar o aviso\",\n goBack: \"Voltar\",\n closePanel: \"Fechar\",\n closeTab: \"Fechar a aba\",\n scrollRegion: \"Conteúdo rolável\",\n scrollToTop: \"Voltar ao topo\",\n share: \"Compartilhar\",\n};\n"],"mappings":";AASO,IAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AACX;AAEO,IAAM,oBAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-SO2J7ULY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/social-login-button/social-login-button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport Box from '@mui/material/Box/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport { Button } from '../components/form/Button';\nimport { Card, CardContent } from '../components/layout/Card';\nimport { Heading } from '../components/typography/Heading';\nimport { Text } from '../components/typography/Text';\nimport { Separator } from '../components/layout/Separator';\nimport type { SocialLoginCopy } from '../copy/form';\nimport { EN_US_SOCIAL_LOGIN_COPY } from '../en-US.form';\n\nexport type SocialProvider = 'google' | 'facebook' | 'apple';\n\n/**\n * SVG Icons for social providers\n */\nconst GoogleIcon = (): React.ReactElement => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n fill=\"#EA4335\"\n />\n </svg>\n);\n\nconst FacebookIcon = (): React.ReactElement => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.356c0-3.007 1.792-4.668 4.533-4.668 1.312 0 2.686.234 2.686.234v2.953H15.83c-1.491 0-1.956.925-1.956 1.874V12h3.328l-.532 3.469h-2.796v8.385C19.612 22.954 24 17.99 24 12z\"\n fill=\"#1877F2\"\n />\n </svg>\n);\n\nconst AppleIcon = (): React.ReactElement => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z\" />\n </svg>\n);\n\ninterface ProviderConfig {\n Icon: () => React.ReactElement;\n variant: 'solid' | 'outline' | 'ghost';\n color: 'primary' | 'secondary' | 'neutral';\n sx?: object;\n}\n\nconst providerConfig: Record<SocialProvider, ProviderConfig> = {\n google: {\n Icon: GoogleIcon,\n variant: 'outline',\n color: 'neutral',\n sx: {\n backgroundColor: '#ffffff',\n color: '#1f1f1f',\n borderColor: '#dadce0',\n '&:hover': {\n backgroundColor: '#f5f5f5',\n borderColor: '#dadce0',\n },\n },\n },\n facebook: {\n Icon: FacebookIcon,\n variant: 'solid',\n color: 'primary',\n sx: {\n backgroundColor: '#1877F2',\n color: '#ffffff',\n '&:hover': {\n backgroundColor: '#166fe5',\n },\n },\n },\n apple: {\n Icon: AppleIcon,\n variant: 'solid',\n color: 'neutral',\n sx: {\n backgroundColor: '#000000',\n color: '#ffffff',\n '&:hover': {\n backgroundColor: '#1a1a1a',\n },\n },\n },\n};\n\nexport interface SocialLoginButtonProps {\n provider: SocialProvider;\n onClick?: () => void;\n loading?: boolean;\n disabled?: boolean;\n fullWidth?: boolean;\n /**\n * The three provider labels (FUT-1263). `SOCIAL_LOGIN_COPY` ships both\n * languages, so a host passes `SOCIAL_LOGIN_COPY[\"pt-BR\"]` rather than\n * authoring a word.\n *\n * These used to be English string literals inside `providerConfig`, reachable\n * by nothing: a pt-BR storefront rendered \"Continue with Google\" on an\n * otherwise Portuguese sign-in screen and had no way to change it.\n *\n * OPTIONAL, unlike every other `copy` in this package, and defaulted to the\n * en-US pack. That is a deliberate exception so this ships as a MINOR: making\n * it required would break every existing caller on a routine update. The cost\n * is the one this package's convention exists to avoid — a host that says\n * nothing still renders English — so a consumer wanting Portuguese must pass\n * the pack, and FUT-1263 is not closed until it does.\n */\n copy?: SocialLoginCopy;\n /**\n * Per-provider test hook. Without one all three buttons render the same\n * `data-testid`, leaving their visible text as the only selector — which is\n * exactly the text a host is now expected to translate.\n */\n dataTestId?: string;\n /**\n * The provider's logo alone, centred (FUT-2393).\n *\n * For a row of providers in a narrow block, where \"Continuar com o Google\"\n * wraps to two lines at 320px and two providers cannot share a line. The\n * label is not dropped: it stays the button's accessible name, so a screen\n * reader still announces the provider, and its `title`, so a pointer\n * hovering the logo reads it too.\n */\n iconOnly?: boolean;\n}\n\n/**\n * What an icon-only social button changes: the logo centred, with no gap\n * reserved for a label and no margin MUI keeps beside a start icon.\n */\nconst ICON_ONLY_SX = {\n justifyContent: 'center',\n gap: 0,\n '& .MuiButton-startIcon': { margin: 0 },\n} as const;\n\n/**\n * Social login button using UI package Button component\n */\nexport const SocialLoginButton = React.forwardRef<HTMLButtonElement, SocialLoginButtonProps>(\n (\n {\n provider,\n onClick,\n loading = false,\n disabled = false,\n fullWidth = true,\n copy = EN_US_SOCIAL_LOGIN_COPY,\n dataTestId,\n iconOnly = false,\n },\n ref,\n ) => {\n const config = providerConfig[provider];\n const label = copy[provider];\n\n return (\n <Button\n ref={ref}\n variant={config.variant}\n color={config.color}\n size=\"lg\"\n loading={loading}\n disabled={disabled}\n onClick={onClick}\n icon={<config.Icon />}\n dataTestId={dataTestId}\n fullWidth={fullWidth}\n {...(iconOnly ? { 'aria-label': label, title: label } : {})}\n sx={{\n minHeight: 48,\n justifyContent: 'flex-start',\n gap: 2,\n ...(iconOnly ? ICON_ONLY_SX : {}),\n ...config.sx,\n }}\n >\n {iconOnly ? undefined : label}\n </Button>\n );\n }\n);\n\nSocialLoginButton.displayName = 'SocialLoginButton';\n\n/**\n * Container for social login buttons with optional divider\n */\nexport interface SocialLoginContainerProps {\n children: React.ReactNode;\n title?: string;\n subtitle?: string;\n showDivider?: boolean;\n dividerText?: string;\n /**\n * How wide the card is allowed to get. Defaults to the 400 it has always\n * intended, so nothing that does not ask for a width moves.\n *\n * Worth passing for a card holding a FORM rather than a row of provider\n * buttons: 400 was chosen for the latter, and an e-mail + password pair reads\n * cramped in it.\n */\n maxWidth?: number | string;\n}\n\nexport function SocialLoginContainer({\n children,\n title = \"Sign in to continue\",\n subtitle,\n showDivider = false,\n dividerText = \"or\",\n maxWidth = 400,\n}: SocialLoginContainerProps): React.ReactElement {\n return (\n // `width: 100%` is what makes the cap below mean anything. Every caller\n // centres this card in a flex column (`Container variant=\"centered\"` does),\n // and a flex item under `align-items: center` sizes to its CONTENT — so the\n // card sat at whatever the longest label happened to need, ~267px, at every\n // viewport from 390 to 1280. The 400 was never reached, which is why raising\n // it would have changed nothing; the card had no width to cap.\n <Card variant=\"elevated\" borderRadius=\"lg\" sx={{ width: '100%', maxWidth }}>\n <CardContent>\n <Stack spacing={3} sx={{ width: '100%' }}>\n {title && (\n <Box sx={{ textAlign: 'center' }}>\n <Heading level=\"h2\">\n {title}\n </Heading>\n {subtitle && (\n <Text color=\"secondary\" size=\"sm\">\n {subtitle}\n </Text>\n )}\n </Box>\n )}\n\n <Stack spacing={2}>\n {children}\n </Stack>\n\n {showDivider && (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 2 }}>\n <Separator />\n <Text color=\"secondary\" size=\"sm\">\n {dividerText}\n </Text>\n <Separator />\n </Box>\n )}\n </Stack>\n </CardContent>\n </Card>\n );\n}\n\nexport { GoogleIcon, FacebookIcon, AppleIcon };\n"],"mappings":"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","names":[]}