@12-apps/ui 6.37.0 → 6.38.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 (661) hide show
  1. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +4 -4
  2. package/dist/_internal/components/data-display/CardKit/CardKebab.js +2 -2
  3. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +2 -2
  4. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +40 -40
  5. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +48 -49
  6. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +4 -5
  7. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +4 -5
  8. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +5 -6
  9. package/dist/_internal/components/data-display/DataViews/base-card.js +4 -5
  10. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +4 -4
  11. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +3 -3
  12. package/dist/_internal/components/data-display/DataViews/base-list-card.js +7 -8
  13. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +8 -8
  14. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +2 -2
  15. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +3 -3
  16. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +5 -5
  17. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +2 -2
  18. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +2 -2
  19. package/dist/_internal/components/data-display/DataViews/data-views-export.js +2 -2
  20. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +14 -14
  21. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
  22. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +2 -2
  23. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +37 -37
  24. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +2 -2
  25. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +14 -14
  26. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +11 -11
  27. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +12 -12
  28. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +4 -4
  29. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  30. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +2 -2
  31. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +17 -17
  32. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +14 -15
  33. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +16 -16
  34. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +2 -2
  35. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +2 -2
  36. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
  37. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +2 -2
  38. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +4 -4
  39. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +5 -5
  40. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +3 -3
  41. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -3
  42. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  43. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  44. package/dist/_internal/components/data-display/index.js +11 -11
  45. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -3
  46. package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +2 -2
  47. package/dist/_internal/components/feedback/Modal/Modal.js +3 -2
  48. package/dist/_internal/components/feedback/Modal/Modal.styles.js +2 -1
  49. package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
  50. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  51. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -3
  52. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +3 -2
  53. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +2 -1
  54. package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
  55. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.geometry.js +1 -1
  56. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.hooks.js +3 -2
  57. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +5 -4
  58. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
  59. package/dist/_internal/components/feedback/index.js +14 -15
  60. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  61. package/dist/_internal/components/index.js +83 -84
  62. package/dist/_internal/components/layout/Accordion/Accordion.js +3 -2
  63. package/dist/_internal/components/layout/Accordion/Accordion.styles.js +2 -1
  64. package/dist/_internal/components/layout/Box/Box.js +1 -1
  65. package/dist/_internal/components/layout/Card/Card.js +3 -3
  66. package/dist/_internal/components/layout/Card/Card.styles.js +2 -2
  67. package/dist/_internal/components/layout/Collapsible/Collapsible.helpers.js +2 -1
  68. package/dist/_internal/components/layout/Collapsible/Collapsible.js +3 -2
  69. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
  70. package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +1 -1
  71. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
  72. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
  73. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
  74. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
  75. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
  76. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
  77. package/dist/_internal/components/layout/Dashboard/DashboardParts.js +1 -1
  78. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
  79. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +5 -4
  80. package/dist/_internal/components/layout/ScrollArea/ScrollArea.styles.js +6 -3
  81. package/dist/_internal/components/layout/ScrollArea/ScrollAreaContent.js +2 -1
  82. package/dist/_internal/components/layout/ScrollArea/ScrollViewport.js +3 -2
  83. package/dist/_internal/components/layout/Separator/Separator.js +4 -2
  84. package/dist/_internal/components/layout/Separator/Separator.styles.js +3 -1
  85. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.items.js +3 -3
  86. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +8 -8
  87. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +4 -4
  88. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.styles.js +6 -5
  89. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +5 -5
  90. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +3 -3
  91. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionHeader.js +2 -2
  92. package/dist/_internal/components/layout/SettingsLayout/SettingsStatusMarker.js +2 -2
  93. package/dist/_internal/components/layout/Sidebar/Sidebar.js +2 -1
  94. package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -2
  95. package/dist/_internal/components/layout/Skeleton/Skeleton.styles.js +6 -3
  96. package/dist/_internal/components/layout/Spacer/Spacer.js +2 -1
  97. package/dist/_internal/components/layout/Stack/Stack.js +2 -2
  98. package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
  99. package/dist/_internal/components/layout/index.js +27 -28
  100. package/dist/_internal/components/navigation/AppHeader/AppHeader.brand.js +1 -1
  101. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +3 -4
  102. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -2
  103. package/dist/_internal/components/navigation/AppHeader/AppHeader.js +1 -1
  104. package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +2 -2
  105. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +3 -3
  106. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  107. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
  108. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +2 -2
  109. package/dist/_internal/components/navigation/CommandPalette/ShortcutChip.js +1 -1
  110. package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +1 -1
  111. package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +1 -1
  112. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  113. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +6 -6
  114. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +2 -2
  115. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +1 -1
  116. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  117. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +4 -4
  118. package/dist/_internal/components/navigation/Pagination/Pagination.js +3 -3
  119. package/dist/_internal/components/navigation/Pagination/Pagination.styles.js +1 -1
  120. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +2 -1
  121. package/dist/_internal/components/navigation/Tabs/Tabs.js +10 -3
  122. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +8 -1
  123. package/dist/_internal/components/navigation/Tabs/TabsPanel.js +2 -1
  124. package/dist/_internal/components/navigation/index.js +26 -27
  125. package/dist/_internal/components/typography/Blockquote/Blockquote.js +1 -1
  126. package/dist/_internal/components/typography/Code/Code.js +1 -1
  127. package/dist/_internal/components/typography/Text/Text.js +1 -1
  128. package/dist/_internal/components/typography/index.js +3 -3
  129. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.animations.js +2 -1
  130. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +3 -3
  131. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +2 -2
  132. package/dist/_internal/components/utility/AspectRatio/AspectRatio.js +2 -1
  133. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +3 -3
  134. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +1 -1
  135. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +2 -2
  136. package/dist/_internal/components/utility/index.js +7 -7
  137. package/dist/_internal/social-login-button/social-login-button.js +6 -7
  138. package/dist/_internal/tokens/shadow.js +19 -8
  139. package/dist/_internal/tokens/shadow.js.map +1 -1
  140. package/dist/_internal/user-avatar/user-avatar.js +4 -5
  141. package/dist/{chunk-BLJDCMFU.js → chunk-2ARVNCVU.js} +7 -7
  142. package/dist/chunk-2ARVNCVU.js.map +1 -0
  143. package/dist/{chunk-SJO3K7SB.js → chunk-2OYFTSG4.js} +4 -4
  144. package/dist/{chunk-CRZXSZ5O.js → chunk-2S752BIJ.js} +2 -2
  145. package/dist/{chunk-IYTBTK2M.js → chunk-2WU52FLP.js} +19 -30
  146. package/dist/chunk-2WU52FLP.js.map +1 -0
  147. package/dist/{chunk-RSQMPCCR.js → chunk-34643ATX.js} +10 -4
  148. package/dist/chunk-34643ATX.js.map +1 -0
  149. package/dist/{chunk-6GRZ77IS.js → chunk-3AIRFAI3.js} +13 -12
  150. package/dist/chunk-3AIRFAI3.js.map +1 -0
  151. package/dist/{chunk-Q73PTVNO.js → chunk-3FNXOCBD.js} +24 -12
  152. package/dist/chunk-3FNXOCBD.js.map +1 -0
  153. package/dist/{chunk-BAQBUKDU.js → chunk-3KREF4ZF.js} +2 -2
  154. package/dist/{chunk-EL7CMURV.js → chunk-3LSIFHQK.js} +3 -3
  155. package/dist/chunk-3LSIFHQK.js.map +1 -0
  156. package/dist/{chunk-MP4VSWHK.js → chunk-3NJMNMWB.js} +12 -2
  157. package/dist/chunk-3NJMNMWB.js.map +1 -0
  158. package/dist/{chunk-N52O2OKZ.js → chunk-3NNO6YIH.js} +8 -3
  159. package/dist/chunk-3NNO6YIH.js.map +1 -0
  160. package/dist/{chunk-SYN46YL6.js → chunk-3RMDIO4G.js} +3 -3
  161. package/dist/{chunk-MJ3BVWPZ.js → chunk-43G3WMYN.js} +12 -7
  162. package/dist/chunk-43G3WMYN.js.map +1 -0
  163. package/dist/{chunk-E7MSDXED.js → chunk-43H66TVT.js} +12 -5
  164. package/dist/chunk-43H66TVT.js.map +1 -0
  165. package/dist/{chunk-IL7JZKXY.js → chunk-442FSG7G.js} +3 -3
  166. package/dist/{chunk-DYVAOEW4.js → chunk-4D4LLSQC.js} +6 -5
  167. package/dist/chunk-4D4LLSQC.js.map +1 -0
  168. package/dist/{chunk-NEGCJNGJ.js → chunk-4G47KBTP.js} +9 -9
  169. package/dist/chunk-4G47KBTP.js.map +1 -0
  170. package/dist/{chunk-MVXFMIVZ.js → chunk-4GB46HLK.js} +8 -4
  171. package/dist/chunk-4GB46HLK.js.map +1 -0
  172. package/dist/{chunk-CS3KOKL3.js → chunk-4GWHYLEB.js} +2 -2
  173. package/dist/{chunk-4OEKIFBC.js → chunk-4VMFS3VJ.js} +6 -3
  174. package/dist/chunk-4VMFS3VJ.js.map +1 -0
  175. package/dist/{chunk-6CTPDNNX.js → chunk-52G2KRL4.js} +14 -14
  176. package/dist/chunk-52G2KRL4.js.map +1 -0
  177. package/dist/{chunk-E7T3A4IR.js → chunk-5JCGBCFJ.js} +2 -2
  178. package/dist/{chunk-FC7NQ6XM.js → chunk-5MW7OYBM.js} +2 -2
  179. package/dist/{chunk-CQLPDY2J.js → chunk-5OBXEMQO.js} +3 -3
  180. package/dist/{chunk-MK4CH4VT.js → chunk-5OUEKIWQ.js} +14 -12
  181. package/dist/chunk-5OUEKIWQ.js.map +1 -0
  182. package/dist/{chunk-GHXFCMFP.js → chunk-5QAJ3Y5F.js} +3 -3
  183. package/dist/{chunk-GHXFCMFP.js.map → chunk-5QAJ3Y5F.js.map} +1 -1
  184. package/dist/{chunk-CPTY6UZ6.js → chunk-6KEXHOIF.js} +5 -4
  185. package/dist/chunk-6KEXHOIF.js.map +1 -0
  186. package/dist/{chunk-BW62QQAG.js → chunk-6N4AA2Y7.js} +2 -2
  187. package/dist/{chunk-EFHIMCJN.js → chunk-6P2OFMBX.js} +11 -9
  188. package/dist/chunk-6P2OFMBX.js.map +1 -0
  189. package/dist/{chunk-GUW5BUK7.js → chunk-6WBKOM5K.js} +15 -7
  190. package/dist/chunk-6WBKOM5K.js.map +1 -0
  191. package/dist/{chunk-7EIOXZWL.js → chunk-74P3YX7R.js} +4 -4
  192. package/dist/{chunk-VYSFKR32.js → chunk-75CGLX6Q.js} +3 -3
  193. package/dist/{chunk-VYSFKR32.js.map → chunk-75CGLX6Q.js.map} +1 -1
  194. package/dist/{chunk-LVEG6XQL.js → chunk-76X6JRVI.js} +19 -33
  195. package/dist/chunk-76X6JRVI.js.map +1 -0
  196. package/dist/{chunk-2NLYGZP3.js → chunk-77JL5XVD.js} +13 -9
  197. package/dist/chunk-77JL5XVD.js.map +1 -0
  198. package/dist/{chunk-T3WHW7ZC.js → chunk-BAZXVFLR.js} +10 -6
  199. package/dist/chunk-BAZXVFLR.js.map +1 -0
  200. package/dist/{chunk-7F7TTOYN.js → chunk-BEGTLELZ.js} +7 -6
  201. package/dist/chunk-BEGTLELZ.js.map +1 -0
  202. package/dist/{chunk-VT5HQ2AD.js → chunk-BFMDA6UO.js} +3 -3
  203. package/dist/{chunk-R75DZ3AK.js → chunk-BVLMKSHX.js} +2 -2
  204. package/dist/{chunk-PMP6WJJS.js → chunk-BWMHGENX.js} +20 -19
  205. package/dist/chunk-BWMHGENX.js.map +1 -0
  206. package/dist/{chunk-QAP3FW33.js → chunk-C66RGVAS.js} +30 -20
  207. package/dist/chunk-C66RGVAS.js.map +1 -0
  208. package/dist/{chunk-UZ6AUTE6.js → chunk-CNQUCNEA.js} +7 -7
  209. package/dist/{chunk-JL75FJRG.js → chunk-CZIX4BW2.js} +4 -4
  210. package/dist/{chunk-CAHWCSRE.js → chunk-D46SLMCX.js} +22 -8
  211. package/dist/chunk-D46SLMCX.js.map +1 -0
  212. package/dist/{chunk-2OIP3T5O.js → chunk-DBFRCTI5.js} +4 -4
  213. package/dist/{chunk-2OIP3T5O.js.map → chunk-DBFRCTI5.js.map} +1 -1
  214. package/dist/{chunk-HU7TX7RB.js → chunk-DUBTI4DI.js} +4 -4
  215. package/dist/{chunk-RMCNEKBZ.js → chunk-DW6F7354.js} +2 -2
  216. package/dist/{chunk-Q4BQYYPU.js → chunk-E2QIKJX2.js} +11 -5
  217. package/dist/chunk-E2QIKJX2.js.map +1 -0
  218. package/dist/{chunk-XJUEHG72.js → chunk-EERUSI52.js} +2 -2
  219. package/dist/{chunk-NPP44TQG.js → chunk-EYZ6QBTV.js} +2 -2
  220. package/dist/{chunk-NPP44TQG.js.map → chunk-EYZ6QBTV.js.map} +1 -1
  221. package/dist/{chunk-C55AWF3U.js → chunk-FFCJ7NR2.js} +2 -2
  222. package/dist/{chunk-U342T7ZR.js → chunk-FOCU4QT5.js} +13 -10
  223. package/dist/chunk-FOCU4QT5.js.map +1 -0
  224. package/dist/{chunk-FYTLKHEN.js → chunk-FYKFQPVT.js} +19 -18
  225. package/dist/chunk-FYKFQPVT.js.map +1 -0
  226. package/dist/{chunk-TVL5V2JK.js → chunk-GGMB6LJH.js} +7 -3
  227. package/dist/chunk-GGMB6LJH.js.map +1 -0
  228. package/dist/{chunk-AYLEZM6T.js → chunk-GLFTIGOF.js} +3 -3
  229. package/dist/{chunk-7UZ2TFIK.js → chunk-GNCSDUGY.js} +12 -4
  230. package/dist/chunk-GNCSDUGY.js.map +1 -0
  231. package/dist/{chunk-L4UP5VYS.js → chunk-GVH7C2PT.js} +2 -2
  232. package/dist/{chunk-MBSYD3ZU.js → chunk-GWFAINQ7.js} +3 -3
  233. package/dist/chunk-GWFAINQ7.js.map +1 -0
  234. package/dist/{chunk-AER4245J.js → chunk-H67EL3CG.js} +6 -6
  235. package/dist/{chunk-3D6HXKZM.js → chunk-HDJQDMHB.js} +18 -13
  236. package/dist/chunk-HDJQDMHB.js.map +1 -0
  237. package/dist/{chunk-57JLS55D.js → chunk-I4QA2F4L.js} +4 -4
  238. package/dist/{chunk-L7SFH3ED.js → chunk-I7GSRTGQ.js} +37 -28
  239. package/dist/chunk-I7GSRTGQ.js.map +1 -0
  240. package/dist/{chunk-Q4CAZ2TP.js → chunk-IG23YZZR.js} +6 -5
  241. package/dist/chunk-IG23YZZR.js.map +1 -0
  242. package/dist/{chunk-5W4BLTDI.js → chunk-IWFENXST.js} +7 -6
  243. package/dist/chunk-IWFENXST.js.map +1 -0
  244. package/dist/{chunk-HXEBKOSM.js → chunk-J5UZB6Y6.js} +2 -2
  245. package/dist/chunk-J5UZB6Y6.js.map +1 -0
  246. package/dist/{chunk-AJ5SDHX5.js → chunk-JCL7WK4G.js} +2 -2
  247. package/dist/{chunk-5CKDRLRN.js → chunk-JXECOCNA.js} +35 -19
  248. package/dist/chunk-JXECOCNA.js.map +1 -0
  249. package/dist/{chunk-WUTHROII.js → chunk-JYWF76Z5.js} +11 -5
  250. package/dist/chunk-JYWF76Z5.js.map +1 -0
  251. package/dist/{chunk-B76QCDCE.js → chunk-K4L42FF6.js} +6 -3
  252. package/dist/chunk-K4L42FF6.js.map +1 -0
  253. package/dist/{chunk-WE3LJPRN.js → chunk-KE473LK6.js} +2 -2
  254. package/dist/{chunk-TBF2CPJW.js → chunk-KIHGTL2D.js} +21 -11
  255. package/dist/chunk-KIHGTL2D.js.map +1 -0
  256. package/dist/{chunk-3T5Z5HXF.js → chunk-KM3Y5TCG.js} +40 -36
  257. package/dist/chunk-KM3Y5TCG.js.map +1 -0
  258. package/dist/{chunk-RWTFZ7J5.js → chunk-L4G5BZFF.js} +22 -13
  259. package/dist/chunk-L4G5BZFF.js.map +1 -0
  260. package/dist/{chunk-HB7ISSLK.js → chunk-L5RQIQIP.js} +26 -22
  261. package/dist/chunk-L5RQIQIP.js.map +1 -0
  262. package/dist/{chunk-CQPFSEJB.js → chunk-L7NQCLFU.js} +2 -2
  263. package/dist/{chunk-2ZIHZLF5.js → chunk-M2JTIH5M.js} +3 -3
  264. package/dist/{chunk-OATHOXIU.js → chunk-MC4KYGSX.js} +8 -8
  265. package/dist/chunk-MC4KYGSX.js.map +1 -0
  266. package/dist/{chunk-2BIVCYTO.js → chunk-MR2HKBHS.js} +4 -4
  267. package/dist/{chunk-YVUD3MY4.js → chunk-N23GCN5U.js} +7 -4
  268. package/dist/chunk-N23GCN5U.js.map +1 -0
  269. package/dist/{chunk-2TJOCI54.js → chunk-NCEQWEXT.js} +3 -3
  270. package/dist/{chunk-2TJOCI54.js.map → chunk-NCEQWEXT.js.map} +1 -1
  271. package/dist/{chunk-IVIHRZEY.js → chunk-NDMPXMW2.js} +12 -8
  272. package/dist/chunk-NDMPXMW2.js.map +1 -0
  273. package/dist/{chunk-UUUMNJPP.js → chunk-NLYNRE7L.js} +10 -10
  274. package/dist/chunk-NLYNRE7L.js.map +1 -0
  275. package/dist/{chunk-KLWW67WP.js → chunk-NOKN4HRK.js} +12 -11
  276. package/dist/chunk-NOKN4HRK.js.map +1 -0
  277. package/dist/{chunk-LIG7TKIB.js → chunk-NYFNF7I5.js} +11 -6
  278. package/dist/chunk-NYFNF7I5.js.map +1 -0
  279. package/dist/{chunk-KK57AHWS.js → chunk-OAEYCKBN.js} +2 -2
  280. package/dist/{chunk-JGRE56GQ.js → chunk-OB56SZGL.js} +2 -2
  281. package/dist/{chunk-VRDNUY4H.js → chunk-OHC3F7GJ.js} +4 -4
  282. package/dist/chunk-OHC3F7GJ.js.map +1 -0
  283. package/dist/{chunk-E4TNDTWV.js → chunk-OL2BEJZR.js} +2 -2
  284. package/dist/{chunk-NDNYD4FG.js → chunk-OS6KPL4D.js} +4 -4
  285. package/dist/{chunk-ZTYUKEN3.js → chunk-OVXSQQDK.js} +12 -7
  286. package/dist/chunk-OVXSQQDK.js.map +1 -0
  287. package/dist/{chunk-ZQL5RXVE.js → chunk-PA3AA55Q.js} +2 -2
  288. package/dist/{chunk-ZQL5RXVE.js.map → chunk-PA3AA55Q.js.map} +1 -1
  289. package/dist/{chunk-75LOTMSN.js → chunk-PPRV4LTM.js} +2 -2
  290. package/dist/{chunk-LT4NEKXB.js → chunk-QA2ZGCRL.js} +3 -3
  291. package/dist/{chunk-2E2WOBID.js → chunk-QGFBIUOK.js} +5 -5
  292. package/dist/chunk-QGFBIUOK.js.map +1 -0
  293. package/dist/{chunk-ROT57BP4.js → chunk-R2XVTUVR.js} +2 -2
  294. package/dist/{chunk-QEG3P5D4.js → chunk-R6SN73RX.js} +10 -10
  295. package/dist/{chunk-MVKYNDT2.js → chunk-RKROWJVF.js} +11 -9
  296. package/dist/chunk-RKROWJVF.js.map +1 -0
  297. package/dist/{chunk-NYZO3JNB.js → chunk-RXJQA3FQ.js} +2 -3
  298. package/dist/chunk-RXJQA3FQ.js.map +1 -0
  299. package/dist/{chunk-IKLOIONQ.js → chunk-RZYSKQTS.js} +3 -3
  300. package/dist/{chunk-NCPWLHZT.js → chunk-SKT2V2OX.js} +3 -3
  301. package/dist/{chunk-EOW2ECB3.js → chunk-SNURSSTN.js} +2 -2
  302. package/dist/{chunk-GRDPGHQJ.js → chunk-SV6JGFHG.js} +9 -5
  303. package/dist/chunk-SV6JGFHG.js.map +1 -0
  304. package/dist/{chunk-CZBND7AY.js → chunk-T7DE44SP.js} +2 -2
  305. package/dist/{chunk-DB2ZFZVW.js → chunk-TKC6WHGB.js} +2 -2
  306. package/dist/{chunk-3CVTQZQJ.js → chunk-TNYKM4UU.js} +13 -9
  307. package/dist/chunk-TNYKM4UU.js.map +1 -0
  308. package/dist/{chunk-3VMGE7CU.js → chunk-TZFBJ47T.js} +3 -3
  309. package/dist/chunk-TZFBJ47T.js.map +1 -0
  310. package/dist/{chunk-VFHGILXI.js → chunk-U3DBQXPI.js} +20 -17
  311. package/dist/chunk-U3DBQXPI.js.map +1 -0
  312. package/dist/{chunk-JLQGRZMN.js → chunk-UEVHI62V.js} +2 -2
  313. package/dist/{chunk-4CXEWFKO.js → chunk-UFJYJHQI.js} +2 -2
  314. package/dist/{chunk-QKPD322X.js → chunk-UFNIS7KC.js} +2 -2
  315. package/dist/chunk-UFNIS7KC.js.map +1 -0
  316. package/dist/{chunk-BNEWMFVB.js → chunk-UGGJ3KDT.js} +2 -2
  317. package/dist/{chunk-L4QCIUTJ.js → chunk-UMNXSQ7I.js} +3 -3
  318. package/dist/{chunk-L4QCIUTJ.js.map → chunk-UMNXSQ7I.js.map} +1 -1
  319. package/dist/{chunk-2CTTASUD.js → chunk-V5EWCJBT.js} +7 -4
  320. package/dist/chunk-V5EWCJBT.js.map +1 -0
  321. package/dist/{chunk-236V2GRH.js → chunk-VCBV5JM7.js} +49 -41
  322. package/dist/chunk-VCBV5JM7.js.map +1 -0
  323. package/dist/{chunk-KREWQAEV.js → chunk-VIRYHNEM.js} +2 -2
  324. package/dist/{chunk-PT2XADGH.js → chunk-VPRNKJHP.js} +9 -6
  325. package/dist/chunk-VPRNKJHP.js.map +1 -0
  326. package/dist/{chunk-JXUWWPZR.js → chunk-VQYR64QB.js} +14 -8
  327. package/dist/chunk-VQYR64QB.js.map +1 -0
  328. package/dist/{chunk-72DKEBJM.js → chunk-VRPREI27.js} +3 -3
  329. package/dist/chunk-VRPREI27.js.map +1 -0
  330. package/dist/{chunk-N6CSXHFJ.js → chunk-WN5PNP6F.js} +2 -2
  331. package/dist/{chunk-6QLPSMTA.js → chunk-XEWMY4ZM.js} +52 -47
  332. package/dist/chunk-XEWMY4ZM.js.map +1 -0
  333. package/dist/{chunk-XR46FSOH.js → chunk-XIG3DXXX.js} +2 -2
  334. package/dist/{chunk-35S6QI5G.js → chunk-XJJXBUPN.js} +2 -2
  335. package/dist/{chunk-GHTBUJ6E.js → chunk-XRUW7DMH.js} +2 -2
  336. package/dist/{chunk-CSTAQX2B.js → chunk-XWZJLXJT.js} +7 -6
  337. package/dist/chunk-XWZJLXJT.js.map +1 -0
  338. package/dist/{chunk-MBC55H6M.js → chunk-Y5UTYBZW.js} +12 -6
  339. package/dist/chunk-Y5UTYBZW.js.map +1 -0
  340. package/dist/{chunk-HNPWZ3W2.js → chunk-Y7F5JBAT.js} +4 -4
  341. package/dist/{chunk-WTOYEWW6.js → chunk-YBH4SPMM.js} +4 -3
  342. package/dist/chunk-YBH4SPMM.js.map +1 -0
  343. package/dist/{chunk-5QWQR7XT.js → chunk-YHGOPZXW.js} +11 -8
  344. package/dist/chunk-YHGOPZXW.js.map +1 -0
  345. package/dist/{chunk-6BDYC4RA.js → chunk-YRSR5LVZ.js} +3 -3
  346. package/dist/{chunk-57JY4OI2.js → chunk-YUXDVW62.js} +3 -3
  347. package/dist/chunk-YUXDVW62.js.map +1 -0
  348. package/dist/{chunk-RNEYZTE4.js → chunk-Z6MCTGIK.js} +2 -2
  349. package/dist/{chunk-RNEYZTE4.js.map → chunk-Z6MCTGIK.js.map} +1 -1
  350. package/dist/{chunk-FFOQZRFC.js → chunk-ZAY6OA6F.js} +2 -2
  351. package/dist/data-display/AsyncStateContainer.js +4 -4
  352. package/dist/data-display/CardKit.js +2 -2
  353. package/dist/data-display/DataViews.js +55 -56
  354. package/dist/data-display/DescriptionItem.js +2 -2
  355. package/dist/data-display/FleetMap.js +5 -5
  356. package/dist/data-display/LazyImage.js +3 -3
  357. package/dist/data-display/LoadingState.js +3 -3
  358. package/dist/data-display/StatCard.js +3 -3
  359. package/dist/feedback/Dialog.js +3 -3
  360. package/dist/feedback/Modal.js +3 -2
  361. package/dist/feedback/Sonner.js +2 -2
  362. package/dist/feedback/StackedModal.js +4 -3
  363. package/dist/feedback/Toast.js +2 -1
  364. package/dist/feedback/TutorialOverlay.js +5 -4
  365. package/dist/form/total-form.js +2 -2
  366. package/dist/layout/Accordion.js +3 -2
  367. package/dist/layout/Box.js +1 -1
  368. package/dist/layout/Card.js +3 -3
  369. package/dist/layout/Collapsible.js +3 -2
  370. package/dist/layout/ContentToolbar.js +7 -7
  371. package/dist/layout/Dashboard.js +2 -2
  372. package/dist/layout/Drawer.js +2 -1
  373. package/dist/layout/ScrollArea.js +5 -4
  374. package/dist/layout/Separator.js +4 -2
  375. package/dist/layout/SettingsLayout.js +8 -8
  376. package/dist/layout/Sidebar.js +2 -1
  377. package/dist/layout/Skeleton.js +3 -2
  378. package/dist/layout/Spacer.js +2 -1
  379. package/dist/layout/Stack.js +2 -2
  380. package/dist/layout/TableFilter.js +1 -1
  381. package/dist/navigation/AppHeader.js +6 -7
  382. package/dist/navigation/Breadcrumbs.js +3 -3
  383. package/dist/navigation/CommandPalette.js +3 -3
  384. package/dist/navigation/ContextMenu.js +1 -1
  385. package/dist/navigation/DropdownMenu.js +1 -1
  386. package/dist/navigation/NavigationMenu.js +6 -6
  387. package/dist/navigation/Pagination.js +3 -3
  388. package/dist/navigation/Tabs.js +10 -3
  389. package/dist/social-login-button.js +6 -7
  390. package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
  391. package/dist/types/components/feedback/Modal/Modal.d.ts.map +1 -1
  392. package/dist/types/components/feedback/Modal/Modal.styles.d.ts.map +1 -1
  393. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  394. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  395. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  396. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  397. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.geometry.d.ts +3 -1
  398. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.geometry.d.ts.map +1 -1
  399. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.hooks.d.ts.map +1 -1
  400. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  401. package/dist/types/components/layout/Accordion/Accordion.d.ts.map +1 -1
  402. package/dist/types/components/layout/Accordion/Accordion.styles.d.ts.map +1 -1
  403. package/dist/types/components/layout/Box/Box.d.ts +2 -1
  404. package/dist/types/components/layout/Box/Box.d.ts.map +1 -1
  405. package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
  406. package/dist/types/components/layout/Collapsible/Collapsible.d.ts.map +1 -1
  407. package/dist/types/components/layout/Collapsible/Collapsible.helpers.d.ts +1 -1
  408. package/dist/types/components/layout/Collapsible/Collapsible.helpers.d.ts.map +1 -1
  409. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  410. package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts.map +1 -1
  411. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts +6 -0
  412. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
  413. package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts.map +1 -1
  414. package/dist/types/components/layout/Separator/Separator.d.ts.map +1 -1
  415. package/dist/types/components/layout/Separator/Separator.styles.d.ts +7 -4
  416. package/dist/types/components/layout/Separator/Separator.styles.d.ts.map +1 -1
  417. package/dist/types/components/layout/SettingsLayout/SettingsLayout.items.d.ts.map +1 -1
  418. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
  419. package/dist/types/components/layout/SettingsLayout/SettingsLayout.styles.d.ts +4 -4
  420. package/dist/types/components/layout/SettingsLayout/SettingsLayout.styles.d.ts.map +1 -1
  421. package/dist/types/components/layout/Sidebar/Sidebar.d.ts.map +1 -1
  422. package/dist/types/components/layout/Skeleton/Skeleton.d.ts.map +1 -1
  423. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts +8 -1
  424. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts.map +1 -1
  425. package/dist/types/components/layout/Spacer/Spacer.d.ts.map +1 -1
  426. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  427. package/dist/types/components/navigation/AppHeader/AppHeader.d.ts.map +1 -1
  428. package/dist/types/components/navigation/AppHeader/AppHeader.details.d.ts.map +1 -1
  429. package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
  430. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts +2 -2
  431. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
  432. package/dist/types/components/navigation/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  433. package/dist/types/components/navigation/NavigationMenu/NavigationMegaSection.d.ts.map +1 -1
  434. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  435. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  436. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts +2 -2
  437. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -1
  438. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  439. package/dist/types/components/navigation/Pagination/Pagination.d.ts.map +1 -1
  440. package/dist/types/components/navigation/Pagination/PaginationParts.d.ts.map +1 -1
  441. package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
  442. package/dist/types/components/navigation/Tabs/Tabs.styles.d.ts.map +1 -1
  443. package/dist/types/components/navigation/Tabs/TabsPanel.d.ts.map +1 -1
  444. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.animations.d.ts +9 -8
  445. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.animations.d.ts.map +1 -1
  446. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts +1 -1
  447. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts.map +1 -1
  448. package/dist/types/components/utility/AspectRatio/AspectRatio.d.ts.map +1 -1
  449. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  450. package/dist/typography/Blockquote.js +1 -1
  451. package/dist/typography/Code.js +1 -1
  452. package/dist/typography/Text.js +1 -1
  453. package/dist/user-avatar.js +4 -5
  454. package/dist/utility/AnimatedIcon.js +3 -3
  455. package/dist/utility/AspectRatio.js +2 -1
  456. package/dist/utility/WorkflowStep.js +3 -3
  457. package/package.json +1 -1
  458. package/src/components/feedback/Dialog/Dialog.styles.ts +16 -28
  459. package/src/components/feedback/Modal/Modal.styles.ts +9 -8
  460. package/src/components/feedback/Modal/Modal.tsx +3 -2
  461. package/src/components/feedback/Sonner/Sonner.tsx +4 -4
  462. package/src/components/feedback/Sonner/SonnerToast.tsx +9 -9
  463. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +26 -19
  464. package/src/components/feedback/StackedModal/StackedModal.styles.ts +11 -9
  465. package/src/components/feedback/Toast/Toast.tsx +11 -7
  466. package/src/components/feedback/TutorialOverlay/TutorialOverlay.geometry.ts +2 -3
  467. package/src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts +6 -1
  468. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +43 -37
  469. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +3 -2
  470. package/src/components/layout/Accordion/Accordion.styles.ts +8 -6
  471. package/src/components/layout/Accordion/Accordion.tsx +10 -8
  472. package/src/components/layout/Box/Box.tsx +18 -5
  473. package/src/components/layout/Card/Card.styles.ts +22 -30
  474. package/src/components/layout/Collapsible/Collapsible.helpers.ts +4 -2
  475. package/src/components/layout/Collapsible/Collapsible.tsx +8 -4
  476. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +1 -1
  477. package/src/components/layout/ContentToolbar/ContentToolbar.tsx +2 -2
  478. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +2 -2
  479. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +1 -1
  480. package/src/components/layout/ContentToolbar/SavedViewsMenu.tsx +2 -2
  481. package/src/components/layout/ContentToolbar/SortByDropdown.tsx +2 -2
  482. package/src/components/layout/ContentToolbar/ViewSelector.tsx +2 -2
  483. package/src/components/layout/Dashboard/Dashboard.tsx +1 -1
  484. package/src/components/layout/Dashboard/DashboardParts.tsx +1 -1
  485. package/src/components/layout/Drawer/Drawer.tsx +23 -10
  486. package/src/components/layout/ScrollArea/ScrollArea.styles.ts +45 -32
  487. package/src/components/layout/ScrollArea/ScrollArea.tsx +31 -16
  488. package/src/components/layout/ScrollArea/ScrollAreaContent.tsx +2 -2
  489. package/src/components/layout/ScrollArea/ScrollViewport.tsx +6 -4
  490. package/src/components/layout/Separator/Separator.styles.ts +30 -9
  491. package/src/components/layout/Separator/Separator.tsx +4 -3
  492. package/src/components/layout/SettingsLayout/SettingsLayout.items.tsx +4 -2
  493. package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +6 -5
  494. package/src/components/layout/SettingsLayout/SettingsLayout.styles.ts +9 -7
  495. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +2 -2
  496. package/src/components/layout/SettingsLayout/SettingsPanel.tsx +1 -1
  497. package/src/components/layout/SettingsLayout/SettingsSectionChips.tsx +3 -3
  498. package/src/components/layout/SettingsLayout/SettingsSectionHeader.tsx +3 -3
  499. package/src/components/layout/SettingsLayout/SettingsStatusMarker.tsx +2 -2
  500. package/src/components/layout/Sidebar/Sidebar.tsx +16 -6
  501. package/src/components/layout/Skeleton/Skeleton.styles.ts +13 -3
  502. package/src/components/layout/Skeleton/Skeleton.tsx +6 -4
  503. package/src/components/layout/Spacer/Spacer.tsx +16 -1
  504. package/src/components/layout/TableFilter/TableFilter.tsx +2 -1
  505. package/src/components/navigation/AppHeader/AppHeader.brand.tsx +2 -2
  506. package/src/components/navigation/AppHeader/AppHeader.details.tsx +9 -7
  507. package/src/components/navigation/AppHeader/AppHeader.identity.tsx +28 -15
  508. package/src/components/navigation/AppHeader/AppHeader.tsx +18 -6
  509. package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +4 -4
  510. package/src/components/navigation/Breadcrumbs/Breadcrumbs.styles.tsx +15 -15
  511. package/src/components/navigation/CommandPalette/CommandPalette.tsx +7 -7
  512. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +5 -5
  513. package/src/components/navigation/CommandPalette/ShortcutChip.tsx +1 -1
  514. package/src/components/navigation/ContextMenu/ContextMenu.tsx +8 -8
  515. package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +25 -16
  516. package/src/components/navigation/NavigationMenu/NavigationMegaSection.tsx +5 -4
  517. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +22 -20
  518. package/src/components/navigation/NavigationMenu/NavigationMenu.styles.ts +11 -11
  519. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +7 -2
  520. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +12 -12
  521. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +3 -2
  522. package/src/components/navigation/Pagination/Pagination.styles.ts +18 -18
  523. package/src/components/navigation/Pagination/Pagination.tsx +2 -1
  524. package/src/components/navigation/Pagination/PaginationParts.tsx +4 -3
  525. package/src/components/navigation/Tabs/Tabs.styles.ts +14 -12
  526. package/src/components/navigation/Tabs/Tabs.tsx +11 -9
  527. package/src/components/navigation/Tabs/TabsPanel.tsx +10 -3
  528. package/src/components/typography/Blockquote/Blockquote.tsx +8 -8
  529. package/src/components/typography/Code/Code.tsx +17 -17
  530. package/src/components/typography/Text/Text.tsx +2 -2
  531. package/src/components/utility/AnimatedIcon/AnimatedIcon.animations.ts +38 -35
  532. package/src/components/utility/AnimatedIcon/AnimatedIcon.styles.ts +51 -46
  533. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +1 -1
  534. package/src/components/utility/AspectRatio/AspectRatio.tsx +13 -2
  535. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +7 -7
  536. package/src/social-login-button/social-login-button.tsx +25 -8
  537. package/dist/chunk-236V2GRH.js.map +0 -1
  538. package/dist/chunk-2CTTASUD.js.map +0 -1
  539. package/dist/chunk-2E2WOBID.js.map +0 -1
  540. package/dist/chunk-2NLYGZP3.js.map +0 -1
  541. package/dist/chunk-3CVTQZQJ.js.map +0 -1
  542. package/dist/chunk-3D6HXKZM.js.map +0 -1
  543. package/dist/chunk-3T5Z5HXF.js.map +0 -1
  544. package/dist/chunk-3VMGE7CU.js.map +0 -1
  545. package/dist/chunk-4OEKIFBC.js.map +0 -1
  546. package/dist/chunk-57JY4OI2.js.map +0 -1
  547. package/dist/chunk-5CKDRLRN.js.map +0 -1
  548. package/dist/chunk-5QWQR7XT.js.map +0 -1
  549. package/dist/chunk-5W4BLTDI.js.map +0 -1
  550. package/dist/chunk-6CTPDNNX.js.map +0 -1
  551. package/dist/chunk-6GRZ77IS.js.map +0 -1
  552. package/dist/chunk-6QLPSMTA.js.map +0 -1
  553. package/dist/chunk-72DKEBJM.js.map +0 -1
  554. package/dist/chunk-73BEVJCS.js +0 -28
  555. package/dist/chunk-73BEVJCS.js.map +0 -1
  556. package/dist/chunk-7F7TTOYN.js.map +0 -1
  557. package/dist/chunk-7UZ2TFIK.js.map +0 -1
  558. package/dist/chunk-B76QCDCE.js.map +0 -1
  559. package/dist/chunk-BLJDCMFU.js.map +0 -1
  560. package/dist/chunk-CAHWCSRE.js.map +0 -1
  561. package/dist/chunk-CPTY6UZ6.js.map +0 -1
  562. package/dist/chunk-CSTAQX2B.js.map +0 -1
  563. package/dist/chunk-DYVAOEW4.js.map +0 -1
  564. package/dist/chunk-E7MSDXED.js.map +0 -1
  565. package/dist/chunk-EFHIMCJN.js.map +0 -1
  566. package/dist/chunk-EL7CMURV.js.map +0 -1
  567. package/dist/chunk-FYTLKHEN.js.map +0 -1
  568. package/dist/chunk-GRDPGHQJ.js.map +0 -1
  569. package/dist/chunk-GUW5BUK7.js.map +0 -1
  570. package/dist/chunk-HB7ISSLK.js.map +0 -1
  571. package/dist/chunk-HXEBKOSM.js.map +0 -1
  572. package/dist/chunk-IVIHRZEY.js.map +0 -1
  573. package/dist/chunk-IYTBTK2M.js.map +0 -1
  574. package/dist/chunk-JXUWWPZR.js.map +0 -1
  575. package/dist/chunk-KLWW67WP.js.map +0 -1
  576. package/dist/chunk-L7SFH3ED.js.map +0 -1
  577. package/dist/chunk-LIG7TKIB.js.map +0 -1
  578. package/dist/chunk-LVEG6XQL.js.map +0 -1
  579. package/dist/chunk-MBC55H6M.js.map +0 -1
  580. package/dist/chunk-MBSYD3ZU.js.map +0 -1
  581. package/dist/chunk-MJ3BVWPZ.js.map +0 -1
  582. package/dist/chunk-MK4CH4VT.js.map +0 -1
  583. package/dist/chunk-MP4VSWHK.js.map +0 -1
  584. package/dist/chunk-MVKYNDT2.js.map +0 -1
  585. package/dist/chunk-MVXFMIVZ.js.map +0 -1
  586. package/dist/chunk-N52O2OKZ.js.map +0 -1
  587. package/dist/chunk-NEGCJNGJ.js.map +0 -1
  588. package/dist/chunk-NYZO3JNB.js.map +0 -1
  589. package/dist/chunk-OATHOXIU.js.map +0 -1
  590. package/dist/chunk-PMP6WJJS.js.map +0 -1
  591. package/dist/chunk-PT2XADGH.js.map +0 -1
  592. package/dist/chunk-Q4BQYYPU.js.map +0 -1
  593. package/dist/chunk-Q4CAZ2TP.js.map +0 -1
  594. package/dist/chunk-Q73PTVNO.js.map +0 -1
  595. package/dist/chunk-QAP3FW33.js.map +0 -1
  596. package/dist/chunk-QKPD322X.js.map +0 -1
  597. package/dist/chunk-RSQMPCCR.js.map +0 -1
  598. package/dist/chunk-RWTFZ7J5.js.map +0 -1
  599. package/dist/chunk-T3WHW7ZC.js.map +0 -1
  600. package/dist/chunk-TBF2CPJW.js.map +0 -1
  601. package/dist/chunk-TVL5V2JK.js.map +0 -1
  602. package/dist/chunk-U342T7ZR.js.map +0 -1
  603. package/dist/chunk-UUUMNJPP.js.map +0 -1
  604. package/dist/chunk-VFHGILXI.js.map +0 -1
  605. package/dist/chunk-VRDNUY4H.js.map +0 -1
  606. package/dist/chunk-WTOYEWW6.js.map +0 -1
  607. package/dist/chunk-WUTHROII.js.map +0 -1
  608. package/dist/chunk-YVUD3MY4.js.map +0 -1
  609. package/dist/chunk-ZTYUKEN3.js.map +0 -1
  610. /package/dist/{chunk-SJO3K7SB.js.map → chunk-2OYFTSG4.js.map} +0 -0
  611. /package/dist/{chunk-CRZXSZ5O.js.map → chunk-2S752BIJ.js.map} +0 -0
  612. /package/dist/{chunk-BAQBUKDU.js.map → chunk-3KREF4ZF.js.map} +0 -0
  613. /package/dist/{chunk-SYN46YL6.js.map → chunk-3RMDIO4G.js.map} +0 -0
  614. /package/dist/{chunk-IL7JZKXY.js.map → chunk-442FSG7G.js.map} +0 -0
  615. /package/dist/{chunk-CS3KOKL3.js.map → chunk-4GWHYLEB.js.map} +0 -0
  616. /package/dist/{chunk-E7T3A4IR.js.map → chunk-5JCGBCFJ.js.map} +0 -0
  617. /package/dist/{chunk-FC7NQ6XM.js.map → chunk-5MW7OYBM.js.map} +0 -0
  618. /package/dist/{chunk-CQLPDY2J.js.map → chunk-5OBXEMQO.js.map} +0 -0
  619. /package/dist/{chunk-BW62QQAG.js.map → chunk-6N4AA2Y7.js.map} +0 -0
  620. /package/dist/{chunk-7EIOXZWL.js.map → chunk-74P3YX7R.js.map} +0 -0
  621. /package/dist/{chunk-VT5HQ2AD.js.map → chunk-BFMDA6UO.js.map} +0 -0
  622. /package/dist/{chunk-R75DZ3AK.js.map → chunk-BVLMKSHX.js.map} +0 -0
  623. /package/dist/{chunk-UZ6AUTE6.js.map → chunk-CNQUCNEA.js.map} +0 -0
  624. /package/dist/{chunk-JL75FJRG.js.map → chunk-CZIX4BW2.js.map} +0 -0
  625. /package/dist/{chunk-HU7TX7RB.js.map → chunk-DUBTI4DI.js.map} +0 -0
  626. /package/dist/{chunk-RMCNEKBZ.js.map → chunk-DW6F7354.js.map} +0 -0
  627. /package/dist/{chunk-XJUEHG72.js.map → chunk-EERUSI52.js.map} +0 -0
  628. /package/dist/{chunk-C55AWF3U.js.map → chunk-FFCJ7NR2.js.map} +0 -0
  629. /package/dist/{chunk-AYLEZM6T.js.map → chunk-GLFTIGOF.js.map} +0 -0
  630. /package/dist/{chunk-L4UP5VYS.js.map → chunk-GVH7C2PT.js.map} +0 -0
  631. /package/dist/{chunk-AER4245J.js.map → chunk-H67EL3CG.js.map} +0 -0
  632. /package/dist/{chunk-57JLS55D.js.map → chunk-I4QA2F4L.js.map} +0 -0
  633. /package/dist/{chunk-AJ5SDHX5.js.map → chunk-JCL7WK4G.js.map} +0 -0
  634. /package/dist/{chunk-WE3LJPRN.js.map → chunk-KE473LK6.js.map} +0 -0
  635. /package/dist/{chunk-CQPFSEJB.js.map → chunk-L7NQCLFU.js.map} +0 -0
  636. /package/dist/{chunk-2ZIHZLF5.js.map → chunk-M2JTIH5M.js.map} +0 -0
  637. /package/dist/{chunk-2BIVCYTO.js.map → chunk-MR2HKBHS.js.map} +0 -0
  638. /package/dist/{chunk-KK57AHWS.js.map → chunk-OAEYCKBN.js.map} +0 -0
  639. /package/dist/{chunk-JGRE56GQ.js.map → chunk-OB56SZGL.js.map} +0 -0
  640. /package/dist/{chunk-E4TNDTWV.js.map → chunk-OL2BEJZR.js.map} +0 -0
  641. /package/dist/{chunk-NDNYD4FG.js.map → chunk-OS6KPL4D.js.map} +0 -0
  642. /package/dist/{chunk-75LOTMSN.js.map → chunk-PPRV4LTM.js.map} +0 -0
  643. /package/dist/{chunk-LT4NEKXB.js.map → chunk-QA2ZGCRL.js.map} +0 -0
  644. /package/dist/{chunk-ROT57BP4.js.map → chunk-R2XVTUVR.js.map} +0 -0
  645. /package/dist/{chunk-QEG3P5D4.js.map → chunk-R6SN73RX.js.map} +0 -0
  646. /package/dist/{chunk-IKLOIONQ.js.map → chunk-RZYSKQTS.js.map} +0 -0
  647. /package/dist/{chunk-NCPWLHZT.js.map → chunk-SKT2V2OX.js.map} +0 -0
  648. /package/dist/{chunk-EOW2ECB3.js.map → chunk-SNURSSTN.js.map} +0 -0
  649. /package/dist/{chunk-CZBND7AY.js.map → chunk-T7DE44SP.js.map} +0 -0
  650. /package/dist/{chunk-DB2ZFZVW.js.map → chunk-TKC6WHGB.js.map} +0 -0
  651. /package/dist/{chunk-JLQGRZMN.js.map → chunk-UEVHI62V.js.map} +0 -0
  652. /package/dist/{chunk-4CXEWFKO.js.map → chunk-UFJYJHQI.js.map} +0 -0
  653. /package/dist/{chunk-BNEWMFVB.js.map → chunk-UGGJ3KDT.js.map} +0 -0
  654. /package/dist/{chunk-KREWQAEV.js.map → chunk-VIRYHNEM.js.map} +0 -0
  655. /package/dist/{chunk-N6CSXHFJ.js.map → chunk-WN5PNP6F.js.map} +0 -0
  656. /package/dist/{chunk-XR46FSOH.js.map → chunk-XIG3DXXX.js.map} +0 -0
  657. /package/dist/{chunk-35S6QI5G.js.map → chunk-XJJXBUPN.js.map} +0 -0
  658. /package/dist/{chunk-GHTBUJ6E.js.map → chunk-XRUW7DMH.js.map} +0 -0
  659. /package/dist/{chunk-HNPWZ3W2.js.map → chunk-Y7F5JBAT.js.map} +0 -0
  660. /package/dist/{chunk-6BDYC4RA.js.map → chunk-YRSR5LVZ.js.map} +0 -0
  661. /package/dist/{chunk-FFOQZRFC.js.map → chunk-ZAY6OA6F.js.map} +0 -0
@@ -10,9 +10,6 @@ import {
10
10
  DIALOG_RADIUS_UNITS,
11
11
  DIALOG_WIDTH_PERCENT
12
12
  } from "./chunk-GVGJMH77.js";
13
- import {
14
- shadowCss
15
- } from "./chunk-73BEVJCS.js";
16
13
  import {
17
14
  dynamicViewportHeight
18
15
  } from "./chunk-AKZWDZCZ.js";
@@ -20,16 +17,20 @@ import {
20
17
  scrim,
21
18
  shadowInk
22
19
  } from "./chunk-FQ6UW7IY.js";
20
+ import {
21
+ rem,
22
+ rems
23
+ } from "./chunk-YKCAJ2TN.js";
23
24
 
24
25
  // src/components/feedback/Dialog/Dialog.styles.ts
25
26
  import { alpha, keyframes } from "@mui/material/styles/index.js";
26
- var pulseAnimation = keyframes`
27
+ var pulseAnimation = (theme) => keyframes`
27
28
  0% {
28
29
  box-shadow: 0 0 0 0 currentColor;
29
30
  opacity: 1;
30
31
  }
31
32
  70% {
32
- box-shadow: 0 0 0 ${DIALOG_PULSE.spread}px currentColor;
33
+ box-shadow: 0 0 0 ${rem(theme, DIALOG_PULSE.spread)} currentColor;
33
34
  opacity: 0;
34
35
  }
35
36
  100% {
@@ -39,15 +40,15 @@ var pulseAnimation = keyframes`
39
40
  `;
40
41
  function borderRadiusOf(theme, borderRadius) {
41
42
  const units = DIALOG_RADIUS_UNITS[borderRadius] ?? DIALOG_RADIUS_UNITS.lg;
42
- return units === 0 ? 0 : theme.spacing(units);
43
+ return units === 0 ? "0" : theme.spacing(units);
43
44
  }
44
- function maxWidthOf(size) {
45
- return DIALOG_MAX_WIDTH[size] ?? DIALOG_MAX_WIDTH.md;
45
+ function maxWidthOf(theme, size) {
46
+ return rem(theme, DIALOG_MAX_WIDTH[size] ?? DIALOG_MAX_WIDTH.md);
46
47
  }
47
48
  function baseStylesOf(theme, opts) {
48
49
  return {
49
50
  borderRadius: borderRadiusOf(theme, opts.borderRadius),
50
- maxWidth: maxWidthOf(opts.size),
51
+ maxWidth: maxWidthOf(theme, opts.size),
51
52
  width: `${DIALOG_WIDTH_PERCENT}vw`,
52
53
  margin: theme.spacing(DIALOG_MARGIN_UNITS),
53
54
  transition: theme.transitions.create(
@@ -58,13 +59,7 @@ function baseStylesOf(theme, opts) {
58
59
  }
59
60
  function glowStylesOf(theme, glow) {
60
61
  return glow ? {
61
- boxShadow: shadowCss({
62
- offsetX: 0,
63
- offsetY: 0,
64
- blurRadius: DIALOG_GLOW.blurRadius,
65
- spreadDistance: 0,
66
- color: alpha(theme.palette.primary.main, DIALOG_GLOW.alpha)
67
- })
62
+ boxShadow: `${rems(theme, 0, 0, DIALOG_GLOW.blurRadius)} ${alpha(theme.palette.primary.main, DIALOG_GLOW.alpha)}`
68
63
  } : {};
69
64
  }
70
65
  function pulseStylesOf(theme, pulse) {
@@ -81,7 +76,7 @@ function pulseStylesOf(theme, pulse) {
81
76
  borderRadius: "inherit",
82
77
  backgroundColor: theme.palette.primary.main,
83
78
  opacity: DIALOG_PULSE.alpha,
84
- animation: `${pulseAnimation} ${DIALOG_PULSE.durationMs / 1e3}s infinite`,
79
+ animation: `${pulseAnimation(theme)} ${DIALOG_PULSE.durationMs / 1e3}s infinite`,
85
80
  pointerEvents: "none",
86
81
  zIndex: DIALOG_PULSE.zIndex
87
82
  }
@@ -90,12 +85,12 @@ function pulseStylesOf(theme, pulse) {
90
85
  function defaultVariantStyles(theme, opts) {
91
86
  const gradientStyles = opts.gradient ? {
92
87
  background: `linear-gradient(${DIALOG_GRADIENT.angleDeg}deg, ${alpha(theme.palette.primary.main, DIALOG_GRADIENT.stopAlpha)}, ${alpha(theme.palette.secondary.main, DIALOG_GRADIENT.stopAlpha)})`,
93
- backdropFilter: `blur(${DIALOG_GRADIENT.blurPx}px)`
88
+ backdropFilter: `blur(${rem(theme, DIALOG_GRADIENT.blurPx)})`
94
89
  } : {};
95
90
  return {
96
91
  ...gradientStyles,
97
92
  backgroundColor: opts.glass ? alpha(theme.palette.background.paper, DIALOG_GLASS.backgroundAlpha) : theme.palette.background.paper,
98
- backdropFilter: opts.glass ? `blur(${DIALOG_GLASS.blurPx}px)` : "none",
93
+ backdropFilter: opts.glass ? `blur(${rem(theme, DIALOG_GLASS.blurPx)})` : "none",
99
94
  border: opts.glass ? `${DIALOG_BORDER_WIDTH}px solid ${alpha(theme.palette.primary.main, DIALOG_GLASS.borderAlpha)}` : "none"
100
95
  };
101
96
  }
@@ -110,15 +105,9 @@ function variantStylesOf(theme, opts) {
110
105
  ...baseStylesOf(theme, opts),
111
106
  ...decorations,
112
107
  backgroundColor: alpha(theme.palette.background.paper, DIALOG_GLASS.backgroundAlpha),
113
- backdropFilter: `blur(${DIALOG_GLASS.blurPx}px)`,
108
+ backdropFilter: `blur(${rem(theme, DIALOG_GLASS.blurPx)})`,
114
109
  border: `${DIALOG_BORDER_WIDTH}px solid ${alpha(theme.palette.primary.main, DIALOG_GLASS.borderAlpha)}`,
115
- boxShadow: shadowCss({
116
- offsetX: 0,
117
- offsetY: DIALOG_GLASS.shadow.offsetY,
118
- blurRadius: DIALOG_GLASS.shadow.blurRadius,
119
- spreadDistance: 0,
120
- color: shadowInk(theme, DIALOG_GLASS.shadow.alpha)
121
- })
110
+ boxShadow: `${rems(theme, 0, DIALOG_GLASS.shadow.offsetY, DIALOG_GLASS.shadow.blurRadius)} ${shadowInk(theme, DIALOG_GLASS.shadow.alpha)}`
122
111
  };
123
112
  case "fullscreen":
124
113
  return {
@@ -139,7 +128,7 @@ function variantStylesOf(theme, opts) {
139
128
  // panel's leading corners square.
140
129
  borderRadius: `${radius} 0 0 ${radius}`,
141
130
  margin: 0,
142
- width: maxWidthOf(opts.size),
131
+ width: maxWidthOf(theme, opts.size),
143
132
  // Never wider than the screen: a 600px panel on a 375px phone put its
144
133
  // title and the start of every line off the left edge.
145
134
  maxWidth: "100%",
@@ -159,7 +148,7 @@ function variantStylesOf(theme, opts) {
159
148
  function backdropSxOf(theme, glass) {
160
149
  return {
161
150
  backgroundColor: scrim(theme, glass ? DIALOG_BACKDROP.alpha.glass : DIALOG_BACKDROP.alpha.plain),
162
- backdropFilter: glass ? `blur(${DIALOG_BACKDROP.blurPx}px)` : "none"
151
+ backdropFilter: glass ? `blur(${rem(theme, DIALOG_BACKDROP.blurPx)})` : "none"
163
152
  };
164
153
  }
165
154
 
@@ -167,4 +156,4 @@ export {
167
156
  variantStylesOf,
168
157
  backdropSxOf
169
158
  };
170
- //# sourceMappingURL=chunk-IYTBTK2M.js.map
159
+ //# sourceMappingURL=chunk-2WU52FLP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/Dialog/Dialog.styles.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles/index.js';\nimport { alpha, keyframes } from '@mui/material/styles/index.js';\n\nimport type { DialogBorderRadius, DialogSize, DialogVariant } from './Dialog.base';\nimport {\n DIALOG_BACKDROP,\n DIALOG_BORDER_WIDTH,\n DIALOG_GLASS,\n DIALOG_GLOW,\n DIALOG_GRADIENT,\n DIALOG_MARGIN_UNITS,\n DIALOG_MAX_WIDTH,\n DIALOG_PULSE,\n DIALOG_RADIUS_UNITS,\n DIALOG_WIDTH_PERCENT,\n} from './Dialog.metrics';\nimport { scrim, shadowInk } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\nimport { dynamicViewportHeight } from '../../../utils/viewport';\n\n/**\n * Paper/backdrop styling for the Dialog component (FUT-181 gate cleanup):\n * pure helpers so `Dialog.tsx` stays within the size/complexity budget.\n *\n * Every number comes from `Dialog.metrics.ts`, which the native renderer reads\n * too — so a paper cannot be 800px wide on one side and 780 on the other.\n */\n\n// Define pulse animation — a function of the theme so the ring's spread follows the type scale.\nconst pulseAnimation = (theme: Theme) => keyframes`\n 0% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 1;\n }\n 70% {\n box-shadow: 0 0 0 ${rem(theme, DIALOG_PULSE.spread)} currentColor;\n opacity: 0;\n }\n 100% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 0;\n }\n`;\n\n/** Style toggles that shape the dialog paper (extracted so each fn stays small). */\ninterface VariantStyleOptions {\n variant: DialogVariant;\n size: DialogSize;\n borderRadius: DialogBorderRadius;\n glass: boolean;\n gradient: boolean;\n glow: boolean;\n pulse: boolean;\n}\n\nfunction borderRadiusOf(theme: Theme, borderRadius: VariantStyleOptions['borderRadius']) {\n const units = DIALOG_RADIUS_UNITS[borderRadius] ?? DIALOG_RADIUS_UNITS.lg;\n // `none` is a bare 0 rather than `spacing(0)`, as this has always written it.\n return units === 0 ? '0' : theme.spacing(units);\n}\n\nfunction maxWidthOf(theme: Theme, size: VariantStyleOptions['size']): string {\n return rem(theme, DIALOG_MAX_WIDTH[size] ?? DIALOG_MAX_WIDTH.md);\n}\n\nfunction baseStylesOf(theme: Theme, opts: VariantStyleOptions) {\n return {\n borderRadius: borderRadiusOf(theme, opts.borderRadius),\n maxWidth: maxWidthOf(theme, opts.size),\n width: `${DIALOG_WIDTH_PERCENT}vw`,\n margin: theme.spacing(DIALOG_MARGIN_UNITS),\n transition: theme.transitions.create(\n ['box-shadow', 'background-color', 'backdrop-filter'],\n { duration: theme.transitions.duration.standard },\n ),\n };\n}\n\nfunction glowStylesOf(theme: Theme, glow: boolean) {\n return glow\n ? {\n boxShadow: `${rems(theme, 0, 0, DIALOG_GLOW.blurRadius)} ${alpha(theme.palette.primary.main, DIALOG_GLOW.alpha)}`,\n }\n : {};\n}\n\nfunction pulseStylesOf(theme: Theme, pulse: boolean) {\n if (!pulse) return {};\n return {\n position: 'relative' as const,\n '&::after': {\n content: '\"\"',\n position: 'absolute' as const,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: DIALOG_PULSE.alpha,\n animation: `${pulseAnimation(theme)} ${DIALOG_PULSE.durationMs / 1000}s infinite`,\n pointerEvents: 'none' as const,\n zIndex: DIALOG_PULSE.zIndex,\n },\n };\n}\n\n/** The default variant's paper: optional gradient/glass over the base styles. */\nfunction defaultVariantStyles(theme: Theme, opts: VariantStyleOptions) {\n const gradientStyles = opts.gradient\n ? {\n background: `linear-gradient(${DIALOG_GRADIENT.angleDeg}deg, ${alpha(theme.palette.primary.main, DIALOG_GRADIENT.stopAlpha)}, ${alpha(theme.palette.secondary.main, DIALOG_GRADIENT.stopAlpha)})`,\n backdropFilter: `blur(${rem(theme, DIALOG_GRADIENT.blurPx)})`,\n }\n : {};\n return {\n ...gradientStyles,\n backgroundColor: opts.glass\n ? alpha(theme.palette.background.paper, DIALOG_GLASS.backgroundAlpha)\n : theme.palette.background.paper,\n backdropFilter: opts.glass ? `blur(${rem(theme, DIALOG_GLASS.blurPx)})` : 'none',\n border: opts.glass\n ? `${DIALOG_BORDER_WIDTH}px solid ${alpha(theme.palette.primary.main, DIALOG_GLASS.borderAlpha)}`\n : 'none',\n };\n}\n\nexport function variantStylesOf(theme: Theme, opts: VariantStyleOptions): SxProps<Theme> {\n const decorations = {\n ...glowStylesOf(theme, opts.glow),\n ...pulseStylesOf(theme, opts.pulse),\n };\n switch (opts.variant) {\n case 'glass':\n return {\n ...baseStylesOf(theme, opts),\n ...decorations,\n backgroundColor: alpha(theme.palette.background.paper, DIALOG_GLASS.backgroundAlpha),\n backdropFilter: `blur(${rem(theme, DIALOG_GLASS.blurPx)})`,\n border: `${DIALOG_BORDER_WIDTH}px solid ${alpha(theme.palette.primary.main, DIALOG_GLASS.borderAlpha)}`,\n boxShadow: `${rems(theme, 0, DIALOG_GLASS.shadow.offsetY, DIALOG_GLASS.shadow.blurRadius)} ${shadowInk(theme, DIALOG_GLASS.shadow.alpha)}`,\n };\n case 'fullscreen':\n return {\n borderRadius: 0,\n margin: 0,\n width: '100vw',\n // `100dvh`, not `100vh` — see `dynamicViewportHeight`.\n ...dynamicViewportHeight('height'),\n maxWidth: 'none',\n maxHeight: 'none',\n ...decorations,\n };\n case 'drawer': {\n const radius = borderRadiusOf(theme, opts.borderRadius);\n return {\n // `radius` is already a length (`theme.spacing(n)` → '16px', or 0): gluing\n // another `px` on wrote '16pxpx', which the browser dropped, leaving the\n // panel's leading corners square.\n borderRadius: `${radius} 0 0 ${radius}`,\n margin: 0,\n width: maxWidthOf(theme, opts.size),\n // Never wider than the screen: a 600px panel on a 375px phone put its\n // title and the start of every line off the left edge.\n maxWidth: '100%',\n ...dynamicViewportHeight('height'),\n maxHeight: 'none',\n ...decorations,\n };\n }\n default:\n return {\n ...baseStylesOf(theme, opts),\n ...decorations,\n ...defaultVariantStyles(theme, opts),\n };\n }\n}\n\nexport function backdropSxOf(theme: Theme, glass: boolean) {\n return {\n backgroundColor: scrim(theme, glass ? DIALOG_BACKDROP.alpha.glass : DIALOG_BACKDROP.alpha.plain),\n backdropFilter: glass ? `blur(${rem(theme, DIALOG_BACKDROP.blurPx)})` : 'none',\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,OAAO,iBAAiB;AA4BjC,IAAM,iBAAiB,CAAC,UAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMjB,IAAI,OAAO,aAAa,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBvD,SAAS,eAAe,OAAc,cAAmD;AACvF,QAAM,QAAQ,oBAAoB,YAAY,KAAK,oBAAoB;AAEvE,SAAO,UAAU,IAAI,MAAM,MAAM,QAAQ,KAAK;AAChD;AAEA,SAAS,WAAW,OAAc,MAA2C;AAC3E,SAAO,IAAI,OAAO,iBAAiB,IAAI,KAAK,iBAAiB,EAAE;AACjE;AAEA,SAAS,aAAa,OAAc,MAA2B;AAC7D,SAAO;AAAA,IACL,cAAc,eAAe,OAAO,KAAK,YAAY;AAAA,IACrD,UAAU,WAAW,OAAO,KAAK,IAAI;AAAA,IACrC,OAAO,GAAG,oBAAoB;AAAA,IAC9B,QAAQ,MAAM,QAAQ,mBAAmB;AAAA,IACzC,YAAY,MAAM,YAAY;AAAA,MAC5B,CAAC,cAAc,oBAAoB,iBAAiB;AAAA,MACpD,EAAE,UAAU,MAAM,YAAY,SAAS,SAAS;AAAA,IAClD;AAAA,EACF;AACF;AAEA,SAAS,aAAa,OAAc,MAAe;AACjD,SAAO,OACH;AAAA,IACE,WAAW,GAAG,KAAK,OAAO,GAAG,GAAG,YAAY,UAAU,CAAC,IAAI,MAAM,MAAM,QAAQ,QAAQ,MAAM,YAAY,KAAK,CAAC;AAAA,EACjH,IACA,CAAC;AACP;AAEA,SAAS,cAAc,OAAc,OAAgB;AACnD,MAAI,CAAC,MAAO,QAAO,CAAC;AACpB,SAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,iBAAiB,MAAM,QAAQ,QAAQ;AAAA,MACvC,SAAS,aAAa;AAAA,MACtB,WAAW,GAAG,eAAe,KAAK,CAAC,IAAI,aAAa,aAAa,GAAI;AAAA,MACrE,eAAe;AAAA,MACf,QAAQ,aAAa;AAAA,IACvB;AAAA,EACF;AACF;AAGA,SAAS,qBAAqB,OAAc,MAA2B;AACrE,QAAM,iBAAiB,KAAK,WACxB;AAAA,IACE,YAAY,mBAAmB,gBAAgB,QAAQ,QAAQ,MAAM,MAAM,QAAQ,QAAQ,MAAM,gBAAgB,SAAS,CAAC,KAAK,MAAM,MAAM,QAAQ,UAAU,MAAM,gBAAgB,SAAS,CAAC;AAAA,IAC9L,gBAAgB,QAAQ,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,EAC5D,IACA,CAAC;AACL,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iBAAiB,KAAK,QAClB,MAAM,MAAM,QAAQ,WAAW,OAAO,aAAa,eAAe,IAClE,MAAM,QAAQ,WAAW;AAAA,IAC7B,gBAAgB,KAAK,QAAQ,QAAQ,IAAI,OAAO,aAAa,MAAM,CAAC,MAAM;AAAA,IAC1E,QAAQ,KAAK,QACT,GAAG,mBAAmB,YAAY,MAAM,MAAM,QAAQ,QAAQ,MAAM,aAAa,WAAW,CAAC,KAC7F;AAAA,EACN;AACF;AAEO,SAAS,gBAAgB,OAAc,MAA2C;AACvF,QAAM,cAAc;AAAA,IAClB,GAAG,aAAa,OAAO,KAAK,IAAI;AAAA,IAChC,GAAG,cAAc,OAAO,KAAK,KAAK;AAAA,EACpC;AACA,UAAQ,KAAK,SAAS;AAAA,IACpB,KAAK;AACH,aAAO;AAAA,QACL,GAAG,aAAa,OAAO,IAAI;AAAA,QAC3B,GAAG;AAAA,QACH,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,aAAa,eAAe;AAAA,QACnF,gBAAgB,QAAQ,IAAI,OAAO,aAAa,MAAM,CAAC;AAAA,QACvD,QAAQ,GAAG,mBAAmB,YAAY,MAAM,MAAM,QAAQ,QAAQ,MAAM,aAAa,WAAW,CAAC;AAAA,QACrG,WAAW,GAAG,KAAK,OAAO,GAAG,aAAa,OAAO,SAAS,aAAa,OAAO,UAAU,CAAC,IAAI,UAAU,OAAO,aAAa,OAAO,KAAK,CAAC;AAAA,MAC1I;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,OAAO;AAAA;AAAA,QAEP,GAAG,sBAAsB,QAAQ;AAAA,QACjC,UAAU;AAAA,QACV,WAAW;AAAA,QACX,GAAG;AAAA,MACL;AAAA,IACF,KAAK,UAAU;AACb,YAAM,SAAS,eAAe,OAAO,KAAK,YAAY;AACtD,aAAO;AAAA;AAAA;AAAA;AAAA,QAIL,cAAc,GAAG,MAAM,QAAQ,MAAM;AAAA,QACrC,QAAQ;AAAA,QACR,OAAO,WAAW,OAAO,KAAK,IAAI;AAAA;AAAA;AAAA,QAGlC,UAAU;AAAA,QACV,GAAG,sBAAsB,QAAQ;AAAA,QACjC,WAAW;AAAA,QACX,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA;AACE,aAAO;AAAA,QACL,GAAG,aAAa,OAAO,IAAI;AAAA,QAC3B,GAAG;AAAA,QACH,GAAG,qBAAqB,OAAO,IAAI;AAAA,MACrC;AAAA,EACJ;AACF;AAEO,SAAS,aAAa,OAAc,OAAgB;AACzD,SAAO;AAAA,IACL,iBAAiB,MAAM,OAAO,QAAQ,gBAAgB,MAAM,QAAQ,gBAAgB,MAAM,KAAK;AAAA,IAC/F,gBAAgB,QAAQ,QAAQ,IAAI,OAAO,gBAAgB,MAAM,CAAC,MAAM;AAAA,EAC1E;AACF;","names":[]}
@@ -1,9 +1,13 @@
1
1
  import {
2
2
  calculateTooltipPosition,
3
3
  getElementBounds
4
- } from "./chunk-NYZO3JNB.js";
4
+ } from "./chunk-RXJQA3FQ.js";
5
+ import {
6
+ remPx
7
+ } from "./chunk-YKCAJ2TN.js";
5
8
 
6
9
  // src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts
10
+ import { useTheme } from "@mui/material/styles/index.js";
7
11
  import { useCallback, useEffect, useRef, useState } from "react";
8
12
  var useTargetBounds = ({
9
13
  active,
@@ -33,6 +37,7 @@ var useTooltipPlacement = ({
33
37
  isVisible,
34
38
  preferredPosition
35
39
  }) => {
40
+ const theme = useTheme();
36
41
  const tooltipRef = useRef(null);
37
42
  const [tooltipPosition, setTooltipPosition] = useState({ top: 0, left: 0 });
38
43
  const [actualPlacement, setActualPlacement] = useState("bottom");
@@ -41,11 +46,12 @@ var useTooltipPlacement = ({
41
46
  const { position, placement } = calculateTooltipPosition(
42
47
  targetBounds,
43
48
  tooltipRef.current.getBoundingClientRect(),
44
- preferredPosition || "auto"
49
+ preferredPosition || "auto",
50
+ remPx(theme, 16)
45
51
  );
46
52
  setTooltipPosition(position);
47
53
  setActualPlacement(placement);
48
- }, [targetBounds, isVisible, preferredPosition]);
54
+ }, [targetBounds, isVisible, preferredPosition, theme]);
49
55
  return { tooltipRef, tooltipPosition, actualPlacement };
50
56
  };
51
57
  var useTutorialKeyboard = ({
@@ -138,4 +144,4 @@ var useTutorialOverlay = ({
138
144
  export {
139
145
  useTutorialOverlay
140
146
  };
141
- //# sourceMappingURL=chunk-RSQMPCCR.js.map
147
+ //# sourceMappingURL=chunk-34643ATX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts"],"sourcesContent":["import { useTheme } from '@mui/material/styles/index.js';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { remPx } from '../../../tokens/relative';\n\nimport { calculateTooltipPosition, getElementBounds } from './TutorialOverlay.geometry';\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\n\n// Tracks the highlighted element's box, re-measuring on resize and scroll. Scroll\n// is captured (third argument true) so it fires for any scrolling ancestor, not\n// just the window.\nconst useTargetBounds = ({\n active,\n target,\n}: {\n active: boolean;\n target?: string;\n}) => {\n const [targetBounds, setTargetBounds] = useState<globalThis.DOMRect | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n if (!active || !target) return;\n\n const updateBounds = () => {\n const bounds = getElementBounds(target);\n setTargetBounds(bounds);\n setIsVisible(Boolean(bounds));\n };\n\n updateBounds();\n\n window.addEventListener('resize', updateBounds);\n window.addEventListener('scroll', updateBounds, true);\n\n return () => {\n window.removeEventListener('resize', updateBounds);\n window.removeEventListener('scroll', updateBounds, true);\n };\n }, [active, target]);\n\n return { targetBounds, isVisible };\n};\n\n// Places the tooltip against the measured target once both boxes are known.\nconst useTooltipPlacement = ({\n targetBounds,\n isVisible,\n preferredPosition,\n}: {\n targetBounds: globalThis.DOMRect | null;\n isVisible: boolean;\n preferredPosition?: string;\n}) => {\n const theme = useTheme();\n const tooltipRef = useRef<HTMLDivElement>(null);\n const [tooltipPosition, setTooltipPosition] = useState({ top: 0, left: 0 });\n const [actualPlacement, setActualPlacement] = useState<string>('bottom');\n\n useEffect(() => {\n if (!targetBounds || !tooltipRef.current || !isVisible) return;\n\n const { position, placement } = calculateTooltipPosition(\n targetBounds,\n tooltipRef.current.getBoundingClientRect(),\n preferredPosition || 'auto',\n remPx(theme, 16),\n );\n\n setTooltipPosition(position);\n setActualPlacement(placement);\n }, [targetBounds, isVisible, preferredPosition, theme]);\n\n return { tooltipRef, tooltipPosition, actualPlacement };\n};\n\n// Arrow keys step through the tour, Escape skips it.\nconst useTutorialKeyboard = ({\n enabled,\n onNext,\n onPrev,\n onSkip,\n}: {\n enabled: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n}) => {\n useEffect(() => {\n if (!enabled) return;\n\n const handleKeyPress = (e: globalThis.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n onPrev();\n break;\n case 'ArrowRight':\n onNext();\n break;\n case 'Escape':\n onSkip();\n break;\n }\n };\n\n window.addEventListener('keydown', handleKeyPress);\n return () => window.removeEventListener('keydown', handleKeyPress);\n }, [enabled, onNext, onPrev, onSkip]);\n};\n\nexport const useTutorialOverlay = ({\n steps,\n initialStep,\n active,\n allowKeyboardNavigation,\n onComplete,\n onSkip,\n onStepComplete,\n}: {\n steps: TutorialOverlayProps['steps'];\n initialStep: number;\n active: boolean;\n allowKeyboardNavigation: boolean;\n onComplete?: () => void;\n onSkip?: () => void;\n onStepComplete?: (stepId: string) => void;\n}) => {\n const [currentStep, setCurrentStep] = useState(initialStep);\n\n const currentStepData = steps[currentStep];\n const isLastStep = currentStep === steps.length - 1;\n\n const { targetBounds, isVisible } = useTargetBounds({\n active,\n target: currentStepData?.target,\n });\n\n const { tooltipRef, tooltipPosition, actualPlacement } = useTooltipPlacement({\n targetBounds,\n isVisible,\n preferredPosition: currentStepData?.position,\n });\n\n const handleNext = useCallback(() => {\n const currentStepId = steps[currentStep]?.id;\n if (currentStepId) onStepComplete?.(currentStepId);\n\n if (currentStep < steps.length - 1) {\n setCurrentStep(currentStep + 1);\n return;\n }\n\n onComplete?.();\n }, [currentStep, steps, onComplete, onStepComplete]);\n\n const handlePrev = useCallback(() => {\n setCurrentStep((step) => Math.max(step - 1, 0));\n }, []);\n\n const handleSkip = useCallback(() => {\n onSkip?.();\n }, [onSkip]);\n\n const handleRestart = useCallback(() => {\n setCurrentStep(0);\n }, []);\n\n useTutorialKeyboard({\n enabled: allowKeyboardNavigation && active,\n onNext: handleNext,\n onPrev: handlePrev,\n onSkip: handleSkip,\n });\n\n return {\n currentStep,\n currentStepData,\n isLastStep,\n isVisible,\n targetBounds,\n tooltipRef,\n tooltipPosition,\n actualPlacement,\n progress: ((currentStep + 1) / steps.length) * 100,\n handleNext,\n handlePrev,\n handleSkip,\n handleRestart,\n };\n};\n"],"mappings":"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","names":[]}
@@ -2,27 +2,28 @@ import {
2
2
  EFFECT_GLOW
3
3
  } from "./chunk-N3GAFIXG.js";
4
4
  import {
5
- rem
5
+ rem,
6
+ rems
6
7
  } from "./chunk-YKCAJ2TN.js";
7
8
 
8
9
  // src/components/navigation/NavigationMenu/NavigationMenu.styles.ts
9
10
  import { alpha, keyframes } from "@mui/material/styles/index.js";
10
- var slideIn = keyframes`
11
+ var slideIn = (theme) => keyframes`
11
12
  from {
12
13
  opacity: 0;
13
- transform: translateX(-20px);
14
+ transform: translateX(${rem(theme, -20)});
14
15
  }
15
16
  to {
16
17
  opacity: 1;
17
18
  transform: translateX(0);
18
19
  }
19
20
  `;
20
- var pulseGlow = keyframes`
21
+ var pulseGlow = (theme) => keyframes`
21
22
  0% {
22
23
  box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.muiBlue, 0.4)};
23
24
  }
24
25
  70% {
25
- box-shadow: 0 0 0 10px ${alpha(EFFECT_GLOW.muiBlue, 0)};
26
+ box-shadow: 0 0 0 ${rem(theme, 10)} ${alpha(EFFECT_GLOW.muiBlue, 0)};
26
27
  }
27
28
  100% {
28
29
  box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.muiBlue, 0)};
@@ -44,13 +45,13 @@ var horizontalStyles = (theme) => ({
44
45
  borderRadius: theme.spacing(1.5),
45
46
  margin: theme.spacing(0, 0.5),
46
47
  background: alpha(theme.palette.background.paper, 0.6),
47
- backdropFilter: "blur(8px)",
48
+ backdropFilter: `blur(${rem(theme, 8)})`,
48
49
  border: `none`
49
50
  // border: `1px solid ${alpha(theme.palette.divider, 0.1)}`,
50
51
  });
51
- var collapsedStyles = () => ({
52
+ var collapsedStyles = (theme) => ({
52
53
  justifyContent: "center",
53
- minHeight: 56,
54
+ minHeight: rem(theme, 56),
54
55
  "& .MuiListItemIcon-root": {
55
56
  margin: 0
56
57
  }
@@ -117,7 +118,7 @@ var navInteractionStyles = (theme, minimal, collapsed, size) => ({
117
118
  // Fancy hover for non-minimal variant
118
119
  background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.15)} 0%, ${alpha(theme.palette.primary.main, 0.08)} 100%)`,
119
120
  color: theme.palette.primary.main,
120
- boxShadow: `0 8px 24px ${alpha(theme.palette.primary.main, 0.15)}`,
121
+ boxShadow: `0 ${rems(theme, 8, 24)} ${alpha(theme.palette.primary.main, 0.15)}`,
121
122
  backgroundColor: alpha(theme.palette.primary.main, 0.04),
122
123
  "&::before": {
123
124
  opacity: 1
@@ -128,7 +129,7 @@ var navInteractionStyles = (theme, minimal, collapsed, size) => ({
128
129
  transition: "all 0.3s ease"
129
130
  },
130
131
  "& .MuiListItemText-primary": {
131
- transform: "translateX(4px)",
132
+ transform: `translateX(${rem(theme, 4)})`,
132
133
  transition: "transform 0.3s ease"
133
134
  }
134
135
  },
@@ -153,7 +154,7 @@ var navItemButtonStyles = ({
153
154
  }) => ({
154
155
  ...size ? SIZE_STYLES[size]?.(theme) ?? {} : {},
155
156
  ...variant === "horizontal" ? horizontalStyles(theme) : {},
156
- ...collapsed ? collapsedStyles() : {},
157
+ ...collapsed ? collapsedStyles(theme) : {},
157
158
  ...active ? activeStyles(theme, variant) : {},
158
159
  ...navDecorationStyles(theme),
159
160
  ...navInteractionStyles(theme, minimal, collapsed, size),
@@ -170,4 +171,4 @@ export {
170
171
  pulseGlow,
171
172
  navItemButtonStyles
172
173
  };
173
- //# sourceMappingURL=chunk-6GRZ77IS.js.map
174
+ //# sourceMappingURL=chunk-3AIRFAI3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMenu.styles.ts"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\nimport { rem, rems } from '../../../tokens/relative';\n\nimport { EFFECT_GLOW } from '../../../tokens/ink.core';\n\nexport const slideIn = (theme: Theme) => keyframes`\n from {\n opacity: 0;\n transform: translateX(${rem(theme, -20)});\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nexport const pulseGlow = (theme: Theme) => keyframes`\n 0% {\n box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.muiBlue, 0.4)};\n }\n 70% {\n box-shadow: 0 0 0 ${rem(theme, 10)} ${alpha(EFFECT_GLOW.muiBlue, 0)};\n }\n 100% {\n box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.muiBlue, 0)};\n }\n`;\n\nconst SIZE_STYLES: Record<string, (theme: Theme) => CSSObject> = {\n sm: (theme) => ({\n padding: theme.spacing(1, 1.5),\n fontSize: rem(theme, 14),\n '& .MuiListItemIcon-root': { transform: 'scale(0.85)' },\n }),\n lg: (theme) => ({\n padding: theme.spacing(2, 2.5),\n fontSize: rem(theme, 18),\n '& .MuiListItemIcon-root': { transform: 'scale(1.15)' },\n }),\n};\n\n// Each of these applies independently of the others, so they layer rather than\n// forming a lookup.\nconst horizontalStyles = (theme: Theme): CSSObject => ({\n borderRadius: theme.spacing(1.5),\n margin: theme.spacing(0, 0.5),\n background: alpha(theme.palette.background.paper, 0.6),\n backdropFilter: `blur(${rem(theme, 8)})`,\n border: `none`,\n // border: `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n });\n\nconst collapsedStyles = (theme: Theme): CSSObject => ({\n justifyContent: 'center',\n minHeight: rem(theme, 56),\n '& .MuiListItemIcon-root': {\n margin: 0,\n },\n });\n\nconst activeStyles = (theme: Theme, _variant?: string): CSSObject => ({\n color: theme.palette.primary.main,\n cursor: 'default',\n\n '& .MuiListItemIcon-root': {\n color: theme.palette.primary.main,\n },\n\n '&::before': {\n opacity: 1,\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.2)} 0%, ${alpha(theme.palette.primary.main, 0.05)} 100%)`,\n },\n\n '&:hover': {\n background: 'none',\n transform: 'none',\n boxShadow: 'none',\n\n '&::before': {\n opacity: 1,\n },\n\n '& .MuiListItemIcon-root': {\n transform: 'none',\n },\n\n '& .MuiListItemText-primary': {\n transform: 'none',\n },\n },\n });\n\n// Decorative sweep and glow layers behind the row.\nconst navDecorationStyles = (theme: Theme): CSSObject => ({\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0)} 0%, ${alpha(theme.palette.primary.main, 0.08)} 100%)`,\n opacity: 0,\n transition: 'opacity 0.3s ease',\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: '100%',\n height: '100%',\n background: `radial-gradient(circle, ${alpha(theme.palette.primary.main, 0.3)} 0%, transparent 70%)`,\n transform: 'translate(-50%, -50%) scale(0)',\n transition: 'transform 0.6s ease',\n borderRadius: '50%',\n },\n});\n\n// The minimal variant deliberately skips the lift-and-glow treatment.\nconst navInteractionStyles = (\n theme: Theme,\n minimal?: boolean,\n collapsed?: boolean,\n size?: string,\n): CSSObject => ({\n '&:hover': minimal\n ? {\n // Simple hover for minimal variant\n backgroundColor: alpha(theme.palette.action.hover, 0.08),\n color: theme.palette.primary.main,\n\n '& .MuiListItemIcon-root': {\n color: theme.palette.primary.main,\n },\n }\n : {\n // Fancy hover for non-minimal variant\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.15)} 0%, ${alpha(theme.palette.primary.main, 0.08)} 100%)`,\n color: theme.palette.primary.main,\n boxShadow: `0 ${rems(theme, 8, 24)} ${alpha(theme.palette.primary.main, 0.15)}`,\n backgroundColor: alpha(theme.palette.primary.main, 0.04),\n\n '&::before': {\n opacity: 1,\n },\n\n '& .MuiListItemIcon-root': {\n color: theme.palette.primary.main,\n transform: collapsed\n ? 'scale(1.1)'\n : size === 'sm'\n ? 'scale(0.95) rotate(-5deg)'\n : size === 'lg'\n ? 'scale(1.25) rotate(-5deg)'\n : 'scale(1.1) rotate(-5deg)',\n transition: 'all 0.3s ease',\n },\n\n '& .MuiListItemText-primary': {\n transform: `translateX(${rem(theme, 4)})`,\n transition: 'transform 0.3s ease',\n },\n },\n '&:active': minimal\n ? {\n // Simple active state for minimal variant\n opacity: 0.7,\n }\n : {\n // Fancy active state for non-minimal variant\n transform: 'scale(0.98)',\n '&::after': {\n transform: 'translate(-50%, -50%) scale(2)',\n },\n },\n});\n\n// The nav row's own styling: base layout plus the variant, size, collapsed and\n// minimal treatments. Lifted out so the styled() callback is a single spread.\nexport const navItemButtonStyles = ({\n theme,\n variant,\n active,\n size,\n collapsed,\n minimal,\n}: {\n theme: Theme;\n variant?: string;\n active?: boolean;\n size?: string;\n collapsed?: boolean;\n minimal?: boolean;\n}): CSSObject => ({\n ...(size ? (SIZE_STYLES[size]?.(theme) ?? {}) : {}),\n ...(variant === 'horizontal' ? horizontalStyles(theme) : {}),\n ...(collapsed ? collapsedStyles(theme) : {}),\n ...(active ? activeStyles(theme, variant) : {}),\n ...navDecorationStyles(theme),\n ...navInteractionStyles(theme, minimal, collapsed, size),\n borderRadius: theme.spacing(1.5),\n margin: theme.spacing(0.5),\n position: 'relative',\n overflow: 'hidden',\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n transformStyle: 'preserve-3d',\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n });\n"],"mappings":"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","names":[]}
@@ -6,20 +6,24 @@ import {
6
6
  } from "./chunk-IJFAF3A7.js";
7
7
  import {
8
8
  Separator
9
- } from "./chunk-Q4CAZ2TP.js";
9
+ } from "./chunk-IG23YZZR.js";
10
10
  import {
11
11
  Card,
12
12
  CardContent
13
- } from "./chunk-N6CSXHFJ.js";
13
+ } from "./chunk-WN5PNP6F.js";
14
14
  import {
15
15
  Button
16
16
  } from "./chunk-2EAAWOZ2.js";
17
17
  import {
18
18
  Text
19
- } from "./chunk-WTOYEWW6.js";
19
+ } from "./chunk-YBH4SPMM.js";
20
20
  import {
21
21
  uiInk
22
22
  } from "./chunk-FQ6UW7IY.js";
23
+ import {
24
+ rem,
25
+ sxRem
26
+ } from "./chunk-YKCAJ2TN.js";
23
27
 
24
28
  // src/social-login-button/social-login-button.tsx
25
29
  import * as React from "react";
@@ -27,9 +31,11 @@ import Box from "@mui/material/Box/index.js";
27
31
  import Stack from "@mui/material/Stack/index.js";
28
32
  import { useTheme } from "@mui/material/styles/index.js";
29
33
  import { jsx, jsxs } from "react/jsx-runtime";
34
+ var logoStyle = (theme) => ({ width: rem(theme, 20), height: rem(theme, 20) });
30
35
  var GoogleIcon = () => {
31
- const logo = uiInk(useTheme()).socialBrand.googleLogo;
32
- return /* @__PURE__ */ jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
36
+ const theme = useTheme();
37
+ const logo = uiInk(theme).socialBrand.googleLogo;
38
+ return /* @__PURE__ */ jsxs("svg", { style: logoStyle(theme), viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
33
39
  /* @__PURE__ */ jsx(
34
40
  "path",
35
41
  {
@@ -61,8 +67,9 @@ var GoogleIcon = () => {
61
67
  ] });
62
68
  };
63
69
  var FacebookIcon = () => {
64
- const { logo } = uiInk(useTheme()).socialBrand.facebook;
65
- return /* @__PURE__ */ jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx(
70
+ const theme = useTheme();
71
+ const { logo } = uiInk(theme).socialBrand.facebook;
72
+ return /* @__PURE__ */ jsx("svg", { style: logoStyle(theme), viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx(
66
73
  "path",
67
74
  {
68
75
  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",
@@ -70,7 +77,7 @@ var FacebookIcon = () => {
70
77
  }
71
78
  ) });
72
79
  };
73
- var AppleIcon = () => /* @__PURE__ */ jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("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" }) });
80
+ var AppleIcon = () => /* @__PURE__ */ jsx("svg", { style: logoStyle(useTheme()), viewBox: "0 0 24 24", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("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" }) });
74
81
  var GOOGLE_LOGO_WHEN_DISABLED_SX = {
75
82
  "&.Mui-disabled .MuiButton-startIcon": {
76
83
  filter: "brightness(0)",
@@ -156,7 +163,7 @@ var SocialLoginButton = React.forwardRef(
156
163
  fullWidth,
157
164
  ...iconOnly ? { "aria-label": label, title: label } : {},
158
165
  sx: {
159
- minHeight: 48,
166
+ minHeight: sxRem(48),
160
167
  justifyContent: "flex-start",
161
168
  gap: 2,
162
169
  ...iconOnly ? ICON_ONLY_SX : {},
@@ -168,14 +175,19 @@ var SocialLoginButton = React.forwardRef(
168
175
  }
169
176
  );
170
177
  SocialLoginButton.displayName = "SocialLoginButton";
178
+ function cardMaxWidth(theme, value) {
179
+ if (typeof value !== "number") return value;
180
+ return value <= 1 && value !== 0 ? `${value * 100}%` : rem(theme, value);
181
+ }
171
182
  function SocialLoginContainer({
172
183
  children,
173
184
  title = "Sign in to continue",
174
185
  subtitle,
175
186
  showDivider = false,
176
187
  dividerText = "or",
177
- maxWidth = 400
188
+ maxWidth
178
189
  }) {
190
+ const theme = useTheme();
179
191
  return (
180
192
  // `width: 100%` is what makes the cap below mean anything. Every caller
181
193
  // centres this card in a flex column (`Container variant="centered"` does),
@@ -183,7 +195,7 @@ function SocialLoginContainer({
183
195
  // card sat at whatever the longest label happened to need, ~267px, at every
184
196
  // viewport from 390 to 1280. The 400 was never reached, which is why raising
185
197
  // it would have changed nothing; the card had no width to cap.
186
- /* @__PURE__ */ jsx(Card, { variant: "elevated", borderRadius: "lg", sx: { width: "100%", maxWidth }, children: /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs(Stack, { spacing: 3, sx: { width: "100%" }, children: [
198
+ /* @__PURE__ */ jsx(Card, { variant: "elevated", borderRadius: "lg", sx: { width: "100%", maxWidth: cardMaxWidth(theme, maxWidth ?? 400) }, children: /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs(Stack, { spacing: 3, sx: { width: "100%" }, children: [
187
199
  title && /* @__PURE__ */ jsxs(Box, { sx: { textAlign: "center" }, children: [
188
200
  /* @__PURE__ */ jsx(Heading, { level: "h2", children: title }),
189
201
  subtitle && /* @__PURE__ */ jsx(Text, { color: "secondary", size: "sm", children: subtitle })
@@ -205,4 +217,4 @@ export {
205
217
  SocialLoginButton,
206
218
  SocialLoginContainer
207
219
  };
208
- //# sourceMappingURL=chunk-Q73PTVNO.js.map
220
+ //# sourceMappingURL=chunk-3FNXOCBD.js.map
@@ -0,0 +1 @@
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 { useTheme, type Theme } from '@mui/material/styles/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';\nimport { uiInk, type UiInk } from '../tokens/ink';\nimport { rem, sxRem } from '../tokens/relative';\n\nexport type SocialProvider = 'google' | 'facebook' | 'apple';\n\n/** A provider logo's box: 20 design px square, through the type scale. */\nconst logoStyle = (theme: Theme): React.CSSProperties => ({ width: rem(theme, 20), height: rem(theme, 20) });\n\n/**\n * SVG Icons for social providers\n */\nconst GoogleIcon = (): React.ReactElement => {\n const theme = useTheme();\n const logo = uiInk(theme).socialBrand.googleLogo;\n return (\n <svg style={logoStyle(theme)} 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={logo.blue}\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={logo.green}\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={logo.yellow}\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={logo.red}\n />\n </svg>\n );\n};\n\nconst FacebookIcon = (): React.ReactElement => {\n const theme = useTheme();\n const { logo } = uiInk(theme).socialBrand.facebook;\n return (\n <svg style={logoStyle(theme)} 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={logo}\n />\n </svg>\n );\n};\n\nconst AppleIcon = (): React.ReactElement => (\n <svg style={logoStyle(useTheme())} 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\n/**\n * Google's logo on a disabled button: one flat grey, faded (FUT-2393).\n *\n * The G is drawn in Google's four colours, hard-coded in its SVG, so MUI\n * greying a disabled button's label left a full-colour G beside it. The grey\n * label still said the button could not be pressed; an icon-only button has no\n * label, and read as ready to tap.\n *\n * `brightness(0)` draws the G in one flat colour, as Google's own disabled\n * button does, and the theme's `disabledOpacity` fades it, the step MUI dims a\n * disabled control by. `grayscale` would not do: it turns the four colours four\n * different greys, and the yellow arc all but vanished (1.26:1 against white).\n *\n * Google's alone: Facebook's and Apple's logos are drawn in the button's\n * `currentColor`, so they grey with the label by themselves, and fading them\n * again would all but erase them. Keyed on `.Mui-disabled`, the class MUI greys\n * the label by, so the logo and the label always agree. A loading button\n * carries it too, but its spinner replaces the logo slot.\n */\nconst GOOGLE_LOGO_WHEN_DISABLED_SX = {\n '&.Mui-disabled .MuiButton-startIcon': {\n filter: 'brightness(0)',\n opacity: (theme: Theme) => theme.palette.action.disabledOpacity,\n },\n} as const;\n\n/**\n * Facebook's logo in its button's own colour (FUT-2393).\n *\n * `FacebookIcon` is the blue roundel, drawn in #1877F2 with the \"f\" cut out of\n * it. On the button's own #1877F2 the roundel vanished: a label beside nothing,\n * and an icon-only button an empty blue slab. In `currentColor` it is the white\n * roundel Facebook's own button carries, and a disabled button greys it with\n * the label. Set on the button rather than in `FacebookIcon`, which a host may\n * draw on a white page.\n */\nconst FACEBOOK_LOGO_IN_BUTTON_COLOUR_SX = {\n '& .MuiButton-startIcon path': { fill: 'currentColor' },\n} as const;\n\n/** A provider's own colour, read from the theme's `uiInk.socialBrand` as an `sx` value. */\nconst brand =\n (pick: (colours: UiInk['socialBrand']) => string) =>\n (theme: Theme): string =>\n pick(uiInk(theme).socialBrand);\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: brand((c) => c.google.background),\n color: brand((c) => c.google.text),\n borderColor: brand((c) => c.google.border),\n '&:hover': {\n backgroundColor: brand((c) => c.google.hover),\n borderColor: brand((c) => c.google.hoverBorder),\n },\n ...GOOGLE_LOGO_WHEN_DISABLED_SX,\n },\n },\n facebook: {\n Icon: FacebookIcon,\n variant: 'solid',\n color: 'primary',\n sx: {\n backgroundColor: brand((c) => c.facebook.background),\n color: brand((c) => c.facebook.text),\n '&:hover': {\n backgroundColor: brand((c) => c.facebook.hover),\n },\n ...FACEBOOK_LOGO_IN_BUTTON_COLOUR_SX,\n },\n },\n apple: {\n Icon: AppleIcon,\n variant: 'solid',\n color: 'neutral',\n sx: {\n backgroundColor: brand((c) => c.apple.background),\n color: brand((c) => c.apple.text),\n '&:hover': {\n backgroundColor: brand((c) => c.apple.hover),\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: sxRem(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\n/**\n * The card's cap as CSS. `sx` reads a number of 1 or less as a fraction of the\n * parent, and that stays so; any other number is design px, through the type\n * scale; a string is as given.\n */\nfunction cardMaxWidth(theme: Theme, value: number | string): string {\n if (typeof value !== 'number') return value;\n return value <= 1 && value !== 0 ? `${value * 100}%` : rem(theme, value);\n}\n\nexport function SocialLoginContainer({\n children,\n title = \"Sign in to continue\",\n subtitle,\n showDivider = false,\n dividerText = \"or\",\n maxWidth,\n}: SocialLoginContainerProps): React.ReactElement {\n const theme = useTheme();\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: cardMaxWidth(theme, maxWidth ?? 400) }}>\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,OAAO,SAAS;AAChB,OAAO,WAAW;AAClB,SAAS,gBAA4B;AAuBjC,SACE,KADF;AATJ,IAAM,YAAY,CAAC,WAAuC,EAAE,OAAO,IAAI,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE;AAK1G,IAAM,aAAa,MAA0B;AAC3C,QAAM,QAAQ,SAAS;AACvB,QAAM,OAAO,MAAM,KAAK,EAAE,YAAY;AACtC,SACE,qBAAC,SAAI,OAAO,UAAU,KAAK,GAAG,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAClE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,KAAK;AAAA;AAAA,IACb;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,KAAK;AAAA;AAAA,IACb;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,KAAK;AAAA;AAAA,IACb;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,KAAK;AAAA;AAAA,IACb;AAAA,KACF;AAEJ;AAEA,IAAM,eAAe,MAA0B;AAC7C,QAAM,QAAQ,SAAS;AACvB,QAAM,EAAE,KAAK,IAAI,MAAM,KAAK,EAAE,YAAY;AAC1C,SACE,oBAAC,SAAI,OAAO,UAAU,KAAK,GAAG,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACF;AAEJ;AAEA,IAAM,YAAY,MAChB,oBAAC,SAAI,OAAO,UAAU,SAAS,CAAC,GAAG,SAAQ,aAAY,MAAK,gBAAe,OAAM,8BAC/E,8BAAC,UAAK,GAAE,uUAAsU,GAChV;AAsBF,IAAM,+BAA+B;AAAA,EACnC,uCAAuC;AAAA,IACrC,QAAQ;AAAA,IACR,SAAS,CAAC,UAAiB,MAAM,QAAQ,OAAO;AAAA,EAClD;AACF;AAYA,IAAM,oCAAoC;AAAA,EACxC,+BAA+B,EAAE,MAAM,eAAe;AACxD;AAGA,IAAM,QACJ,CAAC,SACD,CAAC,UACC,KAAK,MAAM,KAAK,EAAE,WAAW;AASjC,IAAM,iBAAyD;AAAA,EAC7D,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,IAAI;AAAA,MACF,iBAAiB,MAAM,CAAC,MAAM,EAAE,OAAO,UAAU;AAAA,MACjD,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI;AAAA,MACjC,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,MAAM;AAAA,MACzC,WAAW;AAAA,QACT,iBAAiB,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK;AAAA,QAC5C,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW;AAAA,MAChD;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,IAAI;AAAA,MACF,iBAAiB,MAAM,CAAC,MAAM,EAAE,SAAS,UAAU;AAAA,MACnD,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,MACnC,WAAW;AAAA,QACT,iBAAiB,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK;AAAA,MAChD;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,IAAI;AAAA,MACF,iBAAiB,MAAM,CAAC,MAAM,EAAE,MAAM,UAAU;AAAA,MAChD,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI;AAAA,MAChC,WAAW;AAAA,QACT,iBAAiB,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK;AAAA,MAC7C;AAAA,IACF;AAAA,EACF;AACF;AA+CA,IAAM,eAAe;AAAA,EACnB,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,0BAA0B,EAAE,QAAQ,EAAE;AACxC;AAKO,IAAM,oBAA0B;AAAA,EACrC,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP;AAAA,IACA,WAAW;AAAA,EACb,GACA,QACG;AACH,UAAM,SAAS,eAAe,QAAQ;AACtC,UAAM,QAAQ,KAAK,QAAQ;AAE3B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAS,OAAO;AAAA,QAChB,OAAO,OAAO;AAAA,QACd,MAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM,oBAAC,OAAO,MAAP,EAAY;AAAA,QACnB;AAAA,QACA;AAAA,QACC,GAAI,WAAW,EAAE,cAAc,OAAO,OAAO,MAAM,IAAI,CAAC;AAAA,QACzD,IAAI;AAAA,UACF,WAAW,MAAM,EAAE;AAAA,UACnB,gBAAgB;AAAA,UAChB,KAAK;AAAA,UACL,GAAI,WAAW,eAAe,CAAC;AAAA,UAC/B,GAAG,OAAO;AAAA,QACZ;AAAA,QAEC,qBAAW,SAAY;AAAA;AAAA,IAC1B;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAc;AA2BhC,SAAS,aAAa,OAAc,OAAgC;AAClE,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO,SAAS,KAAK,UAAU,IAAI,GAAG,QAAQ,GAAG,MAAM,IAAI,OAAO,KAAK;AACzE;AAEO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AACF,GAAkD;AAChD,QAAM,QAAQ,SAAS;AACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOE,oBAAC,QAAK,SAAQ,YAAW,cAAa,MAAK,IAAI,EAAE,OAAO,QAAQ,UAAU,aAAa,OAAO,YAAY,GAAG,EAAE,GAC7G,8BAAC,eACC,+BAAC,SAAM,SAAS,GAAG,IAAI,EAAE,OAAO,OAAO,GACpC;AAAA,eACC,qBAAC,OAAI,IAAI,EAAE,WAAW,SAAS,GAC7B;AAAA,4BAAC,WAAQ,OAAM,MACZ,iBACH;AAAA,QACC,YACC,oBAAC,QAAK,OAAM,aAAY,MAAK,MAC1B,oBACH;AAAA,SAEJ;AAAA,MAGF,oBAAC,SAAM,SAAS,GACb,UACH;AAAA,MAEC,eACC,qBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAE,GACvD;AAAA,4BAAC,aAAU;AAAA,QACX,oBAAC,QAAK,OAAM,aAAY,MAAK,MAC1B,uBACH;AAAA,QACA,oBAAC,aAAU;AAAA,SACb;AAAA,OAEJ,GACF,GACF;AAAA;AAEJ;","names":[]}
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-2EAAWOZ2.js";
10
10
  import {
11
11
  Text
12
- } from "./chunk-WTOYEWW6.js";
12
+ } from "./chunk-YBH4SPMM.js";
13
13
 
14
14
  // src/components/data-display/DataViews/data-views-select-all-strip.tsx
15
15
  import Checkbox from "@mui/material/Checkbox/index.js";
@@ -85,4 +85,4 @@ function SelectAllStrip({
85
85
  export {
86
86
  SelectAllStrip
87
87
  };
88
- //# sourceMappingURL=chunk-BAQBUKDU.js.map
88
+ //# sourceMappingURL=chunk-3KREF4ZF.js.map
@@ -63,7 +63,7 @@ function ViewKebab({
63
63
  "aria-label": `${labels.apply} ${view.name}`,
64
64
  "data-testid": `${testIdPrefix}-kebab-${view.id}`,
65
65
  onClick: (event) => setAnchorEl(event.currentTarget),
66
- sx: { width: 28, height: 28, color: "text.secondary" },
66
+ sx: { width: sxRem(28), height: sxRem(28), color: "text.secondary" },
67
67
  children: /* @__PURE__ */ jsx(KebabIcon, { sx: { fontSize: sxRem(16) } })
68
68
  }
69
69
  ),
@@ -137,7 +137,7 @@ function PopoverBody({
137
137
  onManageAll,
138
138
  testIdPrefix
139
139
  }) {
140
- return /* @__PURE__ */ jsxs(Stack, { spacing: 1.5, sx: { p: 1.5, width: 300 }, "data-testid": `${testIdPrefix}-popover`, children: [
140
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 1.5, sx: { p: 1.5, width: sxRem(300) }, "data-testid": `${testIdPrefix}-popover`, children: [
141
141
  /* @__PURE__ */ jsxs(MenuItem, { "data-testid": `${testIdPrefix}-main`, selected: !activeViewName, onClick: onSelectMain, sx: { borderRadius: 1, px: 1, gap: 1 }, children: [
142
142
  /* @__PURE__ */ jsx(Box, { component: "span", sx: { flex: 1, minWidth: 0, fontSize: sxRem(14) }, children: labels.mainView }),
143
143
  !activeViewName && /* @__PURE__ */ jsx(CheckIcon, { sx: { fontSize: sxRem(16), color: "primary.main" } })
@@ -238,4 +238,4 @@ function SavedViewsMenu({
238
238
  export {
239
239
  SavedViewsMenu
240
240
  };
241
- //# sourceMappingURL=chunk-EL7CMURV.js.map
241
+ //# sourceMappingURL=chunk-3LSIFHQK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/ContentToolbar/SavedViewsMenu.tsx"],"sourcesContent":["'use client';\n\nimport CheckIcon from '@mui/icons-material/Check';\nimport ChevronDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KebabIcon from '@mui/icons-material/MoreVert';\nimport ViewIcon from '@mui/icons-material/Visibility';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport Popover from '@mui/material/Popover/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport React, { useState } from 'react';\n\nimport type {\n SavedViewLike,\n SavedViewsLabels,\n SavedViewsMenuProps,\n} from './ContentToolbar.types';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { sxRem } from '../../../tokens/relative';\n\n/** How many non-pinned views show under \"Recentes\". */\nconst RECENT_LIMIT = 5;\n\ninterface RowHandlers<V extends SavedViewLike> {\n apply: (view: V) => void;\n onEdit: (view: V) => void;\n onDelete: (view: V) => void;\n onSetDefault: (view: V) => void;\n onTogglePin: (view: V) => void;\n onToggleShare: (view: V) => void;\n}\n\nfunction DefaultTag({ label, testId }: { label: string; testId: string }): React.JSX.Element {\n return (\n <Box\n component=\"span\"\n data-testid={testId}\n sx={{ px: 0.75, py: 0.125, borderRadius: 1, fontSize: sxRem(11.2), bgcolor: 'primary.main', color: 'primary.contrastText' }}\n >\n {label}\n </Box>\n );\n}\n\ninterface KebabAction {\n id: string;\n label: string;\n danger?: boolean;\n run: () => void;\n}\n\n/** Build the per-view ⋮ actions; owner-only mutations follow \"Apply\". */\nfunction buildActions<V extends SavedViewLike>(\n view: V,\n handlers: RowHandlers<V>,\n labels: SavedViewsLabels,\n): KebabAction[] {\n const actions: KebabAction[] = [{ id: 'apply', label: labels.apply, run: () => handlers.apply(view) }];\n if (!view.isOwner) return actions;\n if (!view.isDefault) {\n actions.push({ id: 'default', label: labels.setDefault, run: () => handlers.onSetDefault(view) });\n }\n actions.push({ id: 'pin', label: view.pinned ? labels.unpin : labels.pin, run: () => handlers.onTogglePin(view) });\n actions.push({ id: 'share', label: view.shared ? labels.unshare : labels.share, run: () => handlers.onToggleShare(view) });\n actions.push({ id: 'edit', label: labels.edit, run: () => handlers.onEdit(view) });\n actions.push({ id: 'delete', label: labels.remove, danger: true, run: () => handlers.onDelete(view) });\n return actions;\n}\n\nfunction ViewKebab<V extends SavedViewLike>({\n view,\n handlers,\n labels,\n testIdPrefix,\n}: {\n view: V;\n handlers: RowHandlers<V>;\n labels: SavedViewsLabels;\n testIdPrefix: string;\n}): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const close = (): void => setAnchorEl(null);\n return (\n <>\n <IconButton\n size=\"small\"\n aria-label={`${labels.apply} ${view.name}`}\n data-testid={`${testIdPrefix}-kebab-${view.id}`}\n onClick={(event) => setAnchorEl(event.currentTarget)}\n sx={{ width: sxRem(28), height: sxRem(28), color: 'text.secondary' }}\n >\n <KebabIcon sx={{ fontSize: sxRem(16) }} />\n </IconButton>\n <Menu anchorEl={anchorEl} open={Boolean(anchorEl)} onClose={close}>\n {buildActions(view, handlers, labels).map((action) => (\n <MenuItem\n key={action.id}\n data-testid={`${testIdPrefix}-item-${action.id}-${view.id}`}\n onClick={() => {\n action.run();\n close();\n }}\n sx={action.danger ? { color: 'error.main' } : undefined}\n >\n {action.label}\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n}\n\nfunction ViewRow<V extends SavedViewLike>({\n view,\n handlers,\n labels,\n testIdPrefix,\n}: {\n view: V;\n handlers: RowHandlers<V>;\n labels: SavedViewsLabels;\n testIdPrefix: string;\n}): React.JSX.Element {\n return (\n <Stack direction=\"row\" spacing={1} sx={{ alignItems: 'center' }} data-testid={`${testIdPrefix}-row-${view.id}`}>\n <Box\n onClick={() => handlers.apply(view)}\n sx={{ flex: 1, minWidth: 0, cursor: 'pointer', display: 'flex', alignItems: 'center', gap: 0.75 }}\n data-testid={`${testIdPrefix}-apply-${view.id}`}\n >\n <Typography component=\"span\" sx={{ fontSize: sxRem(14) }}>\n {view.name}\n </Typography>\n {view.isDefault && <DefaultTag label={labels.defaultTag} testId={`${testIdPrefix}-default-${view.id}`} />}\n </Box>\n <ViewKebab view={view} handlers={handlers} labels={labels} testIdPrefix={testIdPrefix} />\n </Stack>\n );\n}\n\nfunction ViewSection<V extends SavedViewLike>({\n title,\n list,\n sectionKey,\n handlers,\n labels,\n testIdPrefix,\n}: {\n title: string;\n list: V[];\n sectionKey: string;\n handlers: RowHandlers<V>;\n labels: SavedViewsLabels;\n testIdPrefix: string;\n}): React.JSX.Element | null {\n if (list.length === 0) return null;\n return (\n <Box data-testid={`${testIdPrefix}-section-${sectionKey}`}>\n <Typography component=\"span\" sx={{ fontSize: sxRem(12), fontWeight: 600, color: 'text.secondary' }}>\n {title}\n </Typography>\n <Stack spacing={0.5} sx={{ mt: 0.5 }}>\n {list.map((view) => (\n <ViewRow key={view.id} view={view} handlers={handlers} labels={labels} testIdPrefix={testIdPrefix} />\n ))}\n </Stack>\n </Box>\n );\n}\n\n/** A borderless footer text button (Save current / Manage all). */\nfunction FooterButton({\n label,\n testId,\n onClick,\n}: {\n label: string;\n testId: string;\n onClick: () => void;\n}): React.JSX.Element {\n return (\n <Button variant=\"text\" size=\"small\" color=\"inherit\" onClick={onClick} data-testid={testId} sx={{ textTransform: 'none' }}>\n {label}\n </Button>\n );\n}\n\n/** The popover contents: the built-in Main vision default, saved-view sections, and footer. */\nfunction PopoverBody<V extends SavedViewLike>({\n views,\n pinned,\n recent,\n activeViewName,\n labels,\n handlers,\n onSelectMain,\n onSaveCurrent,\n onManageAll,\n testIdPrefix,\n}: {\n views: V[];\n pinned: V[];\n recent: V[];\n activeViewName?: string;\n labels: SavedViewsLabels;\n handlers: RowHandlers<V>;\n onSelectMain: () => void;\n onSaveCurrent: () => void;\n onManageAll: () => void;\n testIdPrefix: string;\n}): React.JSX.Element {\n return (\n <Stack spacing={1.5} sx={{ p: 1.5, width: sxRem(300) }} data-testid={`${testIdPrefix}-popover`}>\n {/* Built-in no-filter default, always available above the saved views. */}\n <MenuItem data-testid={`${testIdPrefix}-main`} selected={!activeViewName} onClick={onSelectMain} sx={{ borderRadius: 1, px: 1, gap: 1 }}>\n <Box component=\"span\" sx={{ flex: 1, minWidth: 0, fontSize: sxRem(14) }}>\n {labels.mainView}\n </Box>\n {!activeViewName && <CheckIcon sx={{ fontSize: sxRem(16), color: 'primary.main' }} />}\n </MenuItem>\n {views.length === 0 ? (\n <Typography sx={{ fontSize: sxRem(12), color: 'text.secondary' }}>{labels.empty}</Typography>\n ) : (\n <>\n <ViewSection title={labels.pinned} list={pinned} sectionKey=\"pinned\" handlers={handlers} labels={labels} testIdPrefix={testIdPrefix} />\n <ViewSection title={labels.recent} list={recent} sectionKey=\"recent\" handlers={handlers} labels={labels} testIdPrefix={testIdPrefix} />\n </>\n )}\n <Box sx={{ borderTop: 1, borderColor: 'divider', pt: 1 }}>\n <Stack spacing={0.5} sx={{ alignItems: 'flex-start' }}>\n <FooterButton label={labels.saveCurrent} testId={`${testIdPrefix}-save-current`} onClick={onSaveCurrent} />\n <FooterButton label={labels.manageAll} testId={`${testIdPrefix}-manage-all`} onClick={onManageAll} />\n </Stack>\n </Box>\n </Stack>\n );\n}\n\n/**\n * Stateless saved-views dropdown: a neutral trigger (styled like the sibling\n * toolbar controls) that shows `activeViewName` when a view is applied, else the\n * built-in \"Main vision\" label. The popover lists the Main vision default plus\n * pinned + recent views; a per-view ⋮ exposes owner-only mutations. This\n * component owns NO data — every action is a callback, so a page-level Connector\n * wires it to the backend.\n */\nexport function SavedViewsMenu<V extends SavedViewLike = SavedViewLike>({\n views,\n activeViewName,\n onApply,\n onSelectMain,\n onSaveCurrent,\n onEdit,\n onDelete,\n onSetDefault,\n onTogglePin,\n onToggleShare,\n onManageAll,\n labels: labelOverrides,\n testIdPrefix = 'views',\n}: SavedViewsMenuProps<V>): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);\n const close = (): void => setAnchorEl(null);\n const runAndClose = (action: () => void) => (): void => {\n action();\n close();\n };\n const labels = labelOverrides;\n const pinned = views.filter((view) => view.pinned);\n const recent = views.filter((view) => !view.pinned).slice(0, RECENT_LIMIT);\n\n const handlers: RowHandlers<V> = {\n apply: (view) => {\n onApply(view);\n close();\n },\n onEdit,\n onDelete,\n onSetDefault,\n onTogglePin,\n onToggleShare,\n };\n\n return (\n <>\n <Button\n variant=\"text\"\n size=\"small\"\n color=\"inherit\"\n onClick={(event) => setAnchorEl(event.currentTarget)}\n data-testid={`${testIdPrefix}-button`}\n aria-haspopup=\"menu\"\n aria-expanded={Boolean(anchorEl)}\n aria-label={activeViewName ?? labels.mainView}\n sx={{ minWidth: 0, height: fieldHeight, px: 1, gap: 0.5, borderRadius: fieldRadiusPx, color: 'text.primary', textTransform: 'none', fontWeight: 600 }}\n >\n {/* Mobile: an eye icon stands in for the view name to keep the toolbar one line. */}\n <ViewIcon sx={{ fontSize: sxRem(18), display: { xs: 'inline-flex', md: 'none' } }} />\n <Box component=\"span\" sx={{ display: { xs: 'none', md: 'inline' } }}>\n {activeViewName ?? labels.mainView}\n </Box>\n <ChevronDownIcon sx={{ fontSize: sxRem(14) }} />\n </Button>\n <Popover\n open={Boolean(anchorEl)}\n anchorEl={anchorEl}\n onClose={close}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n >\n <PopoverBody\n views={views}\n pinned={pinned}\n recent={recent}\n activeViewName={activeViewName}\n labels={labels}\n handlers={handlers}\n onSelectMain={runAndClose(onSelectMain)}\n onSaveCurrent={runAndClose(onSaveCurrent)}\n onManageAll={runAndClose(onManageAll)}\n testIdPrefix={testIdPrefix}\n />\n </Popover>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;AAEA,OAAO,eAAe;AACtB,OAAO,qBAAqB;AAC5B,OAAO,eAAe;AACtB,OAAO,cAAc;AACrB,OAAO,SAAS;AAChB,OAAO,YAAY;AACnB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,aAAa;AACpB,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,SAAgB,gBAAgB;AAyB5B,SAiDA,UAjDA,KAiDA,YAjDA;AAbJ,IAAM,eAAe;AAWrB,SAAS,WAAW,EAAE,OAAO,OAAO,GAAyD;AAC3F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAa;AAAA,MACb,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,cAAc,GAAG,UAAU,MAAM,IAAI,GAAG,SAAS,gBAAgB,OAAO,uBAAuB;AAAA,MAEzH;AAAA;AAAA,EACH;AAEJ;AAUA,SAAS,aACP,MACA,UACA,QACe;AACf,QAAM,UAAyB,CAAC,EAAE,IAAI,SAAS,OAAO,OAAO,OAAO,KAAK,MAAM,SAAS,MAAM,IAAI,EAAE,CAAC;AACrG,MAAI,CAAC,KAAK,QAAS,QAAO;AAC1B,MAAI,CAAC,KAAK,WAAW;AACnB,YAAQ,KAAK,EAAE,IAAI,WAAW,OAAO,OAAO,YAAY,KAAK,MAAM,SAAS,aAAa,IAAI,EAAE,CAAC;AAAA,EAClG;AACA,UAAQ,KAAK,EAAE,IAAI,OAAO,OAAO,KAAK,SAAS,OAAO,QAAQ,OAAO,KAAK,KAAK,MAAM,SAAS,YAAY,IAAI,EAAE,CAAC;AACjH,UAAQ,KAAK,EAAE,IAAI,SAAS,OAAO,KAAK,SAAS,OAAO,UAAU,OAAO,OAAO,KAAK,MAAM,SAAS,cAAc,IAAI,EAAE,CAAC;AACzH,UAAQ,KAAK,EAAE,IAAI,QAAQ,OAAO,OAAO,MAAM,KAAK,MAAM,SAAS,OAAO,IAAI,EAAE,CAAC;AACjF,UAAQ,KAAK,EAAE,IAAI,UAAU,OAAO,OAAO,QAAQ,QAAQ,MAAM,KAAK,MAAM,SAAS,SAAS,IAAI,EAAE,CAAC;AACrG,SAAO;AACT;AAEA,SAAS,UAAmC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKsB;AACpB,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,QAAQ,MAAY,YAAY,IAAI;AAC1C,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAY,GAAG,OAAO,KAAK,IAAI,KAAK,IAAI;AAAA,QACxC,eAAa,GAAG,YAAY,UAAU,KAAK,EAAE;AAAA,QAC7C,SAAS,CAAC,UAAU,YAAY,MAAM,aAAa;AAAA,QACnD,IAAI,EAAE,OAAO,MAAM,EAAE,GAAG,QAAQ,MAAM,EAAE,GAAG,OAAO,iBAAiB;AAAA,QAEnE,8BAAC,aAAU,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA;AAAA,IAC1C;AAAA,IACA,oBAAC,QAAK,UAAoB,MAAM,QAAQ,QAAQ,GAAG,SAAS,OACzD,uBAAa,MAAM,UAAU,MAAM,EAAE,IAAI,CAAC,WACzC;AAAA,MAAC;AAAA;AAAA,QAEC,eAAa,GAAG,YAAY,SAAS,OAAO,EAAE,IAAI,KAAK,EAAE;AAAA,QACzD,SAAS,MAAM;AACb,iBAAO,IAAI;AACX,gBAAM;AAAA,QACR;AAAA,QACA,IAAI,OAAO,SAAS,EAAE,OAAO,aAAa,IAAI;AAAA,QAE7C,iBAAO;AAAA;AAAA,MARH,OAAO;AAAA,IASd,CACD,GACH;AAAA,KACF;AAEJ;AAEA,SAAS,QAAiC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKsB;AACpB,SACE,qBAAC,SAAM,WAAU,OAAM,SAAS,GAAG,IAAI,EAAE,YAAY,SAAS,GAAG,eAAa,GAAG,YAAY,QAAQ,KAAK,EAAE,IAC1G;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM,SAAS,MAAM,IAAI;AAAA,QAClC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,WAAW,SAAS,QAAQ,YAAY,UAAU,KAAK,KAAK;AAAA,QAChG,eAAa,GAAG,YAAY,UAAU,KAAK,EAAE;AAAA,QAE7C;AAAA,8BAAC,cAAW,WAAU,QAAO,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,GACpD,eAAK,MACR;AAAA,UACC,KAAK,aAAa,oBAAC,cAAW,OAAO,OAAO,YAAY,QAAQ,GAAG,YAAY,YAAY,KAAK,EAAE,IAAI;AAAA;AAAA;AAAA,IACzG;AAAA,IACA,oBAAC,aAAU,MAAY,UAAoB,QAAgB,cAA4B;AAAA,KACzF;AAEJ;AAEA,SAAS,YAAqC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAO6B;AAC3B,MAAI,KAAK,WAAW,EAAG,QAAO;AAC9B,SACE,qBAAC,OAAI,eAAa,GAAG,YAAY,YAAY,UAAU,IACrD;AAAA,wBAAC,cAAW,WAAU,QAAO,IAAI,EAAE,UAAU,MAAM,EAAE,GAAG,YAAY,KAAK,OAAO,iBAAiB,GAC9F,iBACH;AAAA,IACA,oBAAC,SAAM,SAAS,KAAK,IAAI,EAAE,IAAI,IAAI,GAChC,eAAK,IAAI,CAAC,SACT,oBAAC,WAAsB,MAAY,UAAoB,QAAgB,gBAAzD,KAAK,EAAgF,CACpG,GACH;AAAA,KACF;AAEJ;AAGA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AACF,GAIsB;AACpB,SACE,oBAAC,UAAO,SAAQ,QAAO,MAAK,SAAQ,OAAM,WAAU,SAAkB,eAAa,QAAQ,IAAI,EAAE,eAAe,OAAO,GACpH,iBACH;AAEJ;AAGA,SAAS,YAAqC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAWsB;AACpB,SACE,qBAAC,SAAM,SAAS,KAAK,IAAI,EAAE,GAAG,KAAK,OAAO,MAAM,GAAG,EAAE,GAAG,eAAa,GAAG,YAAY,YAElF;AAAA,yBAAC,YAAS,eAAa,GAAG,YAAY,SAAS,UAAU,CAAC,gBAAgB,SAAS,cAAc,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,KAAK,EAAE,GACpI;AAAA,0BAAC,OAAI,WAAU,QAAO,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,MAAM,EAAE,EAAE,GACnE,iBAAO,UACV;AAAA,MACC,CAAC,kBAAkB,oBAAC,aAAU,IAAI,EAAE,UAAU,MAAM,EAAE,GAAG,OAAO,eAAe,GAAG;AAAA,OACrF;AAAA,IACC,MAAM,WAAW,IAChB,oBAAC,cAAW,IAAI,EAAE,UAAU,MAAM,EAAE,GAAG,OAAO,iBAAiB,GAAI,iBAAO,OAAM,IAEhF,iCACE;AAAA,0BAAC,eAAY,OAAO,OAAO,QAAQ,MAAM,QAAQ,YAAW,UAAS,UAAoB,QAAgB,cAA4B;AAAA,MACrI,oBAAC,eAAY,OAAO,OAAO,QAAQ,MAAM,QAAQ,YAAW,UAAS,UAAoB,QAAgB,cAA4B;AAAA,OACvI;AAAA,IAEF,oBAAC,OAAI,IAAI,EAAE,WAAW,GAAG,aAAa,WAAW,IAAI,EAAE,GACrD,+BAAC,SAAM,SAAS,KAAK,IAAI,EAAE,YAAY,aAAa,GAClD;AAAA,0BAAC,gBAAa,OAAO,OAAO,aAAa,QAAQ,GAAG,YAAY,iBAAiB,SAAS,eAAe;AAAA,MACzG,oBAAC,gBAAa,OAAO,OAAO,WAAW,QAAQ,GAAG,YAAY,eAAe,SAAS,aAAa;AAAA,OACrG,GACF;AAAA,KACF;AAEJ;AAUO,SAAS,eAAwD;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,eAAe;AACjB,GAA8C;AAC5C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAmC,IAAI;AACvE,QAAM,QAAQ,MAAY,YAAY,IAAI;AAC1C,QAAM,cAAc,CAAC,WAAuB,MAAY;AACtD,WAAO;AACP,UAAM;AAAA,EACR;AACA,QAAM,SAAS;AACf,QAAM,SAAS,MAAM,OAAO,CAAC,SAAS,KAAK,MAAM;AACjD,QAAM,SAAS,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE,MAAM,GAAG,YAAY;AAEzE,QAAM,WAA2B;AAAA,IAC/B,OAAO,CAAC,SAAS;AACf,cAAQ,IAAI;AACZ,YAAM;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS,CAAC,UAAU,YAAY,MAAM,aAAa;AAAA,QACnD,eAAa,GAAG,YAAY;AAAA,QAC5B,iBAAc;AAAA,QACd,iBAAe,QAAQ,QAAQ;AAAA,QAC/B,cAAY,kBAAkB,OAAO;AAAA,QACrC,IAAI,EAAE,UAAU,GAAG,QAAQ,aAAa,IAAI,GAAG,KAAK,KAAK,cAAc,eAAe,OAAO,gBAAgB,eAAe,QAAQ,YAAY,IAAI;AAAA,QAGpJ;AAAA,8BAAC,YAAS,IAAI,EAAE,UAAU,MAAM,EAAE,GAAG,SAAS,EAAE,IAAI,eAAe,IAAI,OAAO,EAAE,GAAG;AAAA,UACnF,oBAAC,OAAI,WAAU,QAAO,IAAI,EAAE,SAAS,EAAE,IAAI,QAAQ,IAAI,SAAS,EAAE,GAC/D,4BAAkB,OAAO,UAC5B;AAAA,UACA,oBAAC,mBAAgB,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA;AAAA;AAAA,IAChD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,QAAQ,QAAQ;AAAA,QACtB;AAAA,QACA,SAAS;AAAA,QACT,cAAc,EAAE,UAAU,UAAU,YAAY,QAAQ;AAAA,QACxD,iBAAiB,EAAE,UAAU,OAAO,YAAY,QAAQ;AAAA,QAExD;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,cAAc,YAAY,YAAY;AAAA,YACtC,eAAe,YAAY,aAAa;AAAA,YACxC,aAAa,YAAY,WAAW;AAAA,YACpC;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
@@ -6,11 +6,18 @@ import {
6
6
  import {
7
7
  resolveTestId
8
8
  } from "./chunk-TYJR4GOF.js";
9
+ import {
10
+ rem
11
+ } from "./chunk-YKCAJ2TN.js";
9
12
 
10
13
  // src/components/layout/Spacer/Spacer.tsx
11
14
  import Box from "@mui/material/Box/index.js";
12
15
  import { useTheme } from "@mui/material/styles/index.js";
13
16
  import { jsx } from "react/jsx-runtime";
17
+ var spacerLength = (theme, value) => {
18
+ if (typeof value !== "number") return value;
19
+ return value <= 1 && value !== 0 ? `${value * 100}%` : rem(theme, value);
20
+ };
14
21
  var Spacer = ({
15
22
  size,
16
23
  direction,
@@ -21,7 +28,10 @@ var Spacer = ({
21
28
  ...testIdProps
22
29
  }) => {
23
30
  const theme = useTheme();
24
- const dimensions = spacerDimensions({ size, direction, width, height }, (units) => theme.spacing(units));
31
+ const dimensions = spacerDimensions(
32
+ { size, direction, width: spacerLength(theme, width), height: spacerLength(theme, height) },
33
+ (units) => theme.spacing(units)
34
+ );
25
35
  return /* @__PURE__ */ jsx(
26
36
  Box,
27
37
  {
@@ -43,4 +53,4 @@ var Spacer = ({
43
53
  export {
44
54
  Spacer
45
55
  };
46
- //# sourceMappingURL=chunk-MP4VSWHK.js.map
56
+ //# sourceMappingURL=chunk-3NJMNMWB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/Spacer/Spacer.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { SPACER_FLEX_GROW, SPACER_FLEX_SHRINK, spacerDimensions } from './Spacer.metrics';\nimport type { SpacerProps } from './Spacer.types';\nimport { resolveTestId } from '../../../platform/test-id';\nimport { rem } from '../../../tokens/relative';\n\n/**\n * An explicit `width`/`height` as CSS. `sx` reads a number of 1 or less as a\n * fraction of the parent, and that stays so; any other number is design px,\n * through the type scale; a string is as given.\n */\nconst spacerLength = (theme: Theme, value: number | string | undefined): string | undefined => {\n if (typeof value !== 'number') return value;\n return value <= 1 && value !== 0 ? `${value * 100}%` : rem(theme, value);\n};\n\nexport const Spacer: React.FC<SpacerProps> = ({\n size,\n direction,\n width,\n height,\n flex = false,\n className,\n ...testIdProps\n}) => {\n const theme = useTheme();\n\n // From the shared metrics, not a table of our own: the native `Spacer` reads\n // the same units, so the two renderers cannot disagree on a step.\n const dimensions = spacerDimensions(\n { size, direction, width: spacerLength(theme, width), height: spacerLength(theme, height) },\n (units) => theme.spacing(units),\n );\n\n return (\n <Box\n className={className}\n data-testid={resolveTestId(testIdProps)}\n sx={{\n width: dimensions.width,\n height: dimensions.height,\n flex: flex ? SPACER_FLEX_GROW : undefined,\n flexShrink: SPACER_FLEX_SHRINK,\n pointerEvents: 'none',\n userSelect: 'none',\n }}\n aria-hidden=\"true\"\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,SAAS,gBAAgB;AAsCrB;AAxBJ,IAAM,eAAe,CAAC,OAAc,UAA2D;AAC7F,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO,SAAS,KAAK,UAAU,IAAI,GAAG,QAAQ,GAAG,MAAM,IAAI,OAAO,KAAK;AACzE;AAEO,IAAM,SAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,QAAQ,SAAS;AAIvB,QAAM,aAAa;AAAA,IACjB,EAAE,MAAM,WAAW,OAAO,aAAa,OAAO,KAAK,GAAG,QAAQ,aAAa,OAAO,MAAM,EAAE;AAAA,IAC1F,CAAC,UAAU,MAAM,QAAQ,KAAK;AAAA,EAChC;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,cAAc,WAAW;AAAA,MACtC,IAAI;AAAA,QACF,OAAO,WAAW;AAAA,QAClB,QAAQ,WAAW;AAAA,QACnB,MAAM,OAAO,mBAAmB;AAAA,QAChC,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,YAAY;AAAA,MACd;AAAA,MACA,eAAY;AAAA;AAAA,EACd;AAEJ;","names":[]}