@mantine/core 9.6.3 → 9.7.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 (373) hide show
  1. package/cjs/components/ActionBar/ActionBar.cjs +0 -3
  2. package/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  3. package/cjs/components/ActionBar/ActionBar.module.cjs.map +1 -1
  4. package/cjs/components/AppShell/AppShell.cjs +33 -6
  5. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  6. package/cjs/components/AppShell/AppShell.context.cjs.map +1 -1
  7. package/cjs/components/AppShell/AppShell.module.cjs +2 -1
  8. package/cjs/components/AppShell/AppShell.module.cjs.map +1 -1
  9. package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs +28 -7
  10. package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
  11. package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs +28 -7
  12. package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
  13. package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs +28 -7
  14. package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
  15. package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs +3 -2
  16. package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs.map +1 -1
  17. package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs +27 -16
  18. package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs.map +1 -1
  19. package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs +24 -16
  20. package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs.map +1 -1
  21. package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs +24 -16
  22. package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs.map +1 -1
  23. package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs +30 -19
  24. package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs.map +1 -1
  25. package/cjs/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.cjs +26 -0
  26. package/cjs/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.cjs.map +1 -0
  27. package/cjs/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.cjs +10 -0
  28. package/cjs/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.cjs.map +1 -0
  29. package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs +13 -5
  30. package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs.map +1 -1
  31. package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs +28 -7
  32. package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs.map +1 -1
  33. package/cjs/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.cjs +270 -0
  34. package/cjs/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.cjs.map +1 -0
  35. package/cjs/components/AppShell/use-app-shell-resize/clamp-resize-size.cjs +15 -0
  36. package/cjs/components/AppShell/use-app-shell-resize/clamp-resize-size.cjs.map +1 -0
  37. package/cjs/components/AppShell/use-app-shell-resize/resize-section-config.cjs +51 -0
  38. package/cjs/components/AppShell/use-app-shell-resize/resize-section-config.cjs.map +1 -0
  39. package/cjs/components/AppShell/use-app-shell-resize/safe-area-inset.cjs +12 -0
  40. package/cjs/components/AppShell/use-app-shell-resize/safe-area-inset.cjs.map +1 -0
  41. package/cjs/components/AppShell/use-app-shell-resize/use-app-shell-resize.cjs +127 -0
  42. package/cjs/components/AppShell/use-app-shell-resize/use-app-shell-resize.cjs.map +1 -0
  43. package/cjs/components/AppShell/use-resizing/use-resizing.cjs +20 -2
  44. package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
  45. package/cjs/components/Checkbox/Checkbox.cjs +10 -2
  46. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  47. package/cjs/components/Checkbox/Checkbox.module.cjs +1 -0
  48. package/cjs/components/Checkbox/Checkbox.module.cjs.map +1 -1
  49. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs +10 -2
  50. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  51. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.cjs +1 -0
  52. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.cjs.map +1 -1
  53. package/cjs/components/Dialog/Dialog.cjs +0 -1
  54. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  55. package/cjs/components/Dialog/Dialog.module.cjs.map +1 -1
  56. package/cjs/components/HoverCard/HoverCard.cjs +34 -5
  57. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  58. package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
  59. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs +13 -18
  60. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  61. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs +6 -23
  62. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  63. package/cjs/components/HoverCard/use-hover-card.cjs +26 -12
  64. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  65. package/cjs/components/Radio/Radio.cjs +10 -2
  66. package/cjs/components/Radio/Radio.cjs.map +1 -1
  67. package/cjs/components/Radio/Radio.module.cjs +1 -0
  68. package/cjs/components/Radio/Radio.module.cjs.map +1 -1
  69. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs +10 -2
  70. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  71. package/cjs/components/Radio/RadioIndicator/RadioIndicator.module.cjs +1 -0
  72. package/cjs/components/Radio/RadioIndicator/RadioIndicator.module.cjs.map +1 -1
  73. package/cjs/components/Toggle/Toggle.cjs +80 -0
  74. package/cjs/components/Toggle/Toggle.cjs.map +1 -0
  75. package/cjs/components/Toggle/Toggle.module.cjs +7 -0
  76. package/cjs/components/Toggle/Toggle.module.cjs.map +1 -0
  77. package/cjs/components/Toolbar/Toolbar.cjs +107 -0
  78. package/cjs/components/Toolbar/Toolbar.cjs.map +1 -0
  79. package/cjs/components/Toolbar/Toolbar.context.cjs +8 -0
  80. package/cjs/components/Toolbar/Toolbar.context.cjs.map +1 -0
  81. package/cjs/components/Toolbar/Toolbar.module.cjs +12 -0
  82. package/cjs/components/Toolbar/Toolbar.module.cjs.map +1 -0
  83. package/cjs/components/Toolbar/ToolbarDivider/ToolbarDivider.cjs +31 -0
  84. package/cjs/components/Toolbar/ToolbarDivider/ToolbarDivider.cjs.map +1 -0
  85. package/cjs/components/Toolbar/ToolbarGroup/ToolbarGroup.cjs +31 -0
  86. package/cjs/components/Toolbar/ToolbarGroup/ToolbarGroup.cjs.map +1 -0
  87. package/cjs/components/Toolbar/ToolbarToggle/ToolbarToggle.cjs +47 -0
  88. package/cjs/components/Toolbar/ToolbarToggle/ToolbarToggle.cjs.map +1 -0
  89. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs +61 -0
  90. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs.map +1 -0
  91. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.cjs +8 -0
  92. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.cjs.map +1 -0
  93. package/cjs/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs +51 -0
  94. package/cjs/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs.map +1 -0
  95. package/cjs/components/Toolbar/use-toolbar-navigation.cjs +76 -0
  96. package/cjs/components/Toolbar/use-toolbar-navigation.cjs.map +1 -0
  97. package/cjs/components/Tooltip/Tooltip.cjs +9 -5
  98. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  99. package/cjs/components/Tooltip/use-tooltip.cjs +6 -3
  100. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  101. package/cjs/components/Tour/Tour.cjs +283 -0
  102. package/cjs/components/Tour/Tour.cjs.map +1 -0
  103. package/cjs/components/Tour/Tour.context.cjs +25 -0
  104. package/cjs/components/Tour/Tour.context.cjs.map +1 -0
  105. package/cjs/components/Tour/Tour.module.cjs +19 -0
  106. package/cjs/components/Tour/Tour.module.cjs.map +1 -0
  107. package/cjs/components/Tour/TourBeacon/TourBeacon.cjs +54 -0
  108. package/cjs/components/Tour/TourBeacon/TourBeacon.cjs.map +1 -0
  109. package/cjs/components/Tour/TourBeaconPositioned.cjs +46 -0
  110. package/cjs/components/Tour/TourBeaconPositioned.cjs.map +1 -0
  111. package/cjs/components/Tour/TourBody/TourBody.cjs +37 -0
  112. package/cjs/components/Tour/TourBody/TourBody.cjs.map +1 -0
  113. package/cjs/components/Tour/TourCloseButton/TourCloseButton.cjs +26 -0
  114. package/cjs/components/Tour/TourCloseButton/TourCloseButton.cjs.map +1 -0
  115. package/cjs/components/Tour/TourNavigation/TourNavigation.cjs +63 -0
  116. package/cjs/components/Tour/TourNavigation/TourNavigation.cjs.map +1 -0
  117. package/cjs/components/Tour/TourOverlay/TourOverlay.cjs +70 -0
  118. package/cjs/components/Tour/TourOverlay/TourOverlay.cjs.map +1 -0
  119. package/cjs/components/Tour/TourRoot/TourRoot.cjs +125 -0
  120. package/cjs/components/Tour/TourRoot/TourRoot.cjs.map +1 -0
  121. package/cjs/components/Tour/TourStep/TourStep.cjs +10 -0
  122. package/cjs/components/Tour/TourStep/TourStep.cjs.map +1 -0
  123. package/cjs/components/Tour/TourTitle/TourTitle.cjs +38 -0
  124. package/cjs/components/Tour/TourTitle/TourTitle.cjs.map +1 -0
  125. package/cjs/components/Tour/TourTooltip/TourTooltip.cjs +87 -0
  126. package/cjs/components/Tour/TourTooltip/TourTooltip.cjs.map +1 -0
  127. package/cjs/components/Tour/get-overlay-hit-path.cjs +17 -0
  128. package/cjs/components/Tour/get-overlay-hit-path.cjs.map +1 -0
  129. package/cjs/components/Tour/is-element-in-view.cjs +30 -0
  130. package/cjs/components/Tour/is-element-in-view.cjs.map +1 -0
  131. package/cjs/components/Tour/press-aware-auto-update.cjs +38 -0
  132. package/cjs/components/Tour/press-aware-auto-update.cjs.map +1 -0
  133. package/cjs/components/Tour/use-target-rect.cjs +61 -0
  134. package/cjs/components/Tour/use-target-rect.cjs.map +1 -0
  135. package/cjs/components/Tour/use-tooltip-auto-focus.cjs +34 -0
  136. package/cjs/components/Tour/use-tooltip-auto-focus.cjs.map +1 -0
  137. package/cjs/components/Tour/use-tour-state.cjs +102 -0
  138. package/cjs/components/Tour/use-tour-state.cjs.map +1 -0
  139. package/cjs/components/Tour/use-tour.cjs +155 -0
  140. package/cjs/components/Tour/use-tour.cjs.map +1 -0
  141. package/cjs/components/TreeSelect/TreeSelect.cjs +29 -16
  142. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  143. package/cjs/index.cjs +41 -1
  144. package/esm/components/ActionBar/ActionBar.mjs +0 -3
  145. package/esm/components/ActionBar/ActionBar.mjs.map +1 -1
  146. package/esm/components/ActionBar/ActionBar.module.mjs.map +1 -1
  147. package/esm/components/AppShell/AppShell.context.mjs.map +1 -1
  148. package/esm/components/AppShell/AppShell.mjs +35 -8
  149. package/esm/components/AppShell/AppShell.mjs.map +1 -1
  150. package/esm/components/AppShell/AppShell.module.mjs +2 -1
  151. package/esm/components/AppShell/AppShell.module.mjs.map +1 -1
  152. package/esm/components/AppShell/AppShellAside/AppShellAside.mjs +29 -8
  153. package/esm/components/AppShell/AppShellAside/AppShellAside.mjs.map +1 -1
  154. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs +29 -8
  155. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
  156. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs +29 -8
  157. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
  158. package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs +3 -2
  159. package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs.map +1 -1
  160. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs +27 -16
  161. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
  162. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs +24 -16
  163. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
  164. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs +24 -16
  165. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
  166. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs +30 -19
  167. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
  168. package/esm/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.mjs +26 -0
  169. package/esm/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.mjs.map +1 -0
  170. package/esm/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.mjs +10 -0
  171. package/esm/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.mjs.map +1 -0
  172. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs +13 -5
  173. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
  174. package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs +29 -8
  175. package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs.map +1 -1
  176. package/esm/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.mjs +270 -0
  177. package/esm/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.mjs.map +1 -0
  178. package/esm/components/AppShell/use-app-shell-resize/clamp-resize-size.mjs +14 -0
  179. package/esm/components/AppShell/use-app-shell-resize/clamp-resize-size.mjs.map +1 -0
  180. package/esm/components/AppShell/use-app-shell-resize/resize-section-config.mjs +49 -0
  181. package/esm/components/AppShell/use-app-shell-resize/resize-section-config.mjs.map +1 -0
  182. package/esm/components/AppShell/use-app-shell-resize/safe-area-inset.mjs +12 -0
  183. package/esm/components/AppShell/use-app-shell-resize/safe-area-inset.mjs.map +1 -0
  184. package/esm/components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs +127 -0
  185. package/esm/components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs.map +1 -0
  186. package/esm/components/AppShell/use-resizing/use-resizing.mjs +21 -3
  187. package/esm/components/AppShell/use-resizing/use-resizing.mjs.map +1 -1
  188. package/esm/components/Checkbox/Checkbox.mjs +10 -2
  189. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  190. package/esm/components/Checkbox/Checkbox.module.mjs +1 -0
  191. package/esm/components/Checkbox/Checkbox.module.mjs.map +1 -1
  192. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs +10 -2
  193. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  194. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.mjs +1 -0
  195. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.mjs.map +1 -1
  196. package/esm/components/Dialog/Dialog.mjs +0 -1
  197. package/esm/components/Dialog/Dialog.mjs.map +1 -1
  198. package/esm/components/Dialog/Dialog.module.mjs.map +1 -1
  199. package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
  200. package/esm/components/HoverCard/HoverCard.mjs +34 -5
  201. package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
  202. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs +13 -18
  203. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
  204. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs +7 -24
  205. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
  206. package/esm/components/HoverCard/use-hover-card.mjs +27 -13
  207. package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
  208. package/esm/components/Radio/Radio.mjs +10 -2
  209. package/esm/components/Radio/Radio.mjs.map +1 -1
  210. package/esm/components/Radio/Radio.module.mjs +1 -0
  211. package/esm/components/Radio/Radio.module.mjs.map +1 -1
  212. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs +10 -2
  213. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
  214. package/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs +1 -0
  215. package/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs.map +1 -1
  216. package/esm/components/Toggle/Toggle.mjs +80 -0
  217. package/esm/components/Toggle/Toggle.mjs.map +1 -0
  218. package/esm/components/Toggle/Toggle.module.mjs +7 -0
  219. package/esm/components/Toggle/Toggle.module.mjs.map +1 -0
  220. package/esm/components/Toolbar/Toolbar.context.mjs +8 -0
  221. package/esm/components/Toolbar/Toolbar.context.mjs.map +1 -0
  222. package/esm/components/Toolbar/Toolbar.mjs +107 -0
  223. package/esm/components/Toolbar/Toolbar.mjs.map +1 -0
  224. package/esm/components/Toolbar/Toolbar.module.mjs +12 -0
  225. package/esm/components/Toolbar/Toolbar.module.mjs.map +1 -0
  226. package/esm/components/Toolbar/ToolbarDivider/ToolbarDivider.mjs +31 -0
  227. package/esm/components/Toolbar/ToolbarDivider/ToolbarDivider.mjs.map +1 -0
  228. package/esm/components/Toolbar/ToolbarGroup/ToolbarGroup.mjs +31 -0
  229. package/esm/components/Toolbar/ToolbarGroup/ToolbarGroup.mjs.map +1 -0
  230. package/esm/components/Toolbar/ToolbarToggle/ToolbarToggle.mjs +47 -0
  231. package/esm/components/Toolbar/ToolbarToggle/ToolbarToggle.mjs.map +1 -0
  232. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.mjs +8 -0
  233. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.mjs.map +1 -0
  234. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs +61 -0
  235. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs.map +1 -0
  236. package/esm/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs +51 -0
  237. package/esm/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs.map +1 -0
  238. package/esm/components/Toolbar/use-toolbar-navigation.mjs +76 -0
  239. package/esm/components/Toolbar/use-toolbar-navigation.mjs.map +1 -0
  240. package/esm/components/Tooltip/Tooltip.mjs +9 -5
  241. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  242. package/esm/components/Tooltip/use-tooltip.mjs +7 -4
  243. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  244. package/esm/components/Tour/Tour.context.mjs +22 -0
  245. package/esm/components/Tour/Tour.context.mjs.map +1 -0
  246. package/esm/components/Tour/Tour.mjs +283 -0
  247. package/esm/components/Tour/Tour.mjs.map +1 -0
  248. package/esm/components/Tour/Tour.module.mjs +19 -0
  249. package/esm/components/Tour/Tour.module.mjs.map +1 -0
  250. package/esm/components/Tour/TourBeacon/TourBeacon.mjs +54 -0
  251. package/esm/components/Tour/TourBeacon/TourBeacon.mjs.map +1 -0
  252. package/esm/components/Tour/TourBeaconPositioned.mjs +46 -0
  253. package/esm/components/Tour/TourBeaconPositioned.mjs.map +1 -0
  254. package/esm/components/Tour/TourBody/TourBody.mjs +37 -0
  255. package/esm/components/Tour/TourBody/TourBody.mjs.map +1 -0
  256. package/esm/components/Tour/TourCloseButton/TourCloseButton.mjs +26 -0
  257. package/esm/components/Tour/TourCloseButton/TourCloseButton.mjs.map +1 -0
  258. package/esm/components/Tour/TourNavigation/TourNavigation.mjs +63 -0
  259. package/esm/components/Tour/TourNavigation/TourNavigation.mjs.map +1 -0
  260. package/esm/components/Tour/TourOverlay/TourOverlay.mjs +70 -0
  261. package/esm/components/Tour/TourOverlay/TourOverlay.mjs.map +1 -0
  262. package/esm/components/Tour/TourRoot/TourRoot.mjs +125 -0
  263. package/esm/components/Tour/TourRoot/TourRoot.mjs.map +1 -0
  264. package/esm/components/Tour/TourStep/TourStep.mjs +10 -0
  265. package/esm/components/Tour/TourStep/TourStep.mjs.map +1 -0
  266. package/esm/components/Tour/TourTitle/TourTitle.mjs +38 -0
  267. package/esm/components/Tour/TourTitle/TourTitle.mjs.map +1 -0
  268. package/esm/components/Tour/TourTooltip/TourTooltip.mjs +87 -0
  269. package/esm/components/Tour/TourTooltip/TourTooltip.mjs.map +1 -0
  270. package/esm/components/Tour/get-overlay-hit-path.mjs +17 -0
  271. package/esm/components/Tour/get-overlay-hit-path.mjs.map +1 -0
  272. package/esm/components/Tour/is-element-in-view.mjs +30 -0
  273. package/esm/components/Tour/is-element-in-view.mjs.map +1 -0
  274. package/esm/components/Tour/press-aware-auto-update.mjs +38 -0
  275. package/esm/components/Tour/press-aware-auto-update.mjs.map +1 -0
  276. package/esm/components/Tour/use-target-rect.mjs +59 -0
  277. package/esm/components/Tour/use-target-rect.mjs.map +1 -0
  278. package/esm/components/Tour/use-tooltip-auto-focus.mjs +34 -0
  279. package/esm/components/Tour/use-tooltip-auto-focus.mjs.map +1 -0
  280. package/esm/components/Tour/use-tour-state.mjs +102 -0
  281. package/esm/components/Tour/use-tour-state.mjs.map +1 -0
  282. package/esm/components/Tour/use-tour.mjs +155 -0
  283. package/esm/components/Tour/use-tour.mjs.map +1 -0
  284. package/esm/components/TreeSelect/TreeSelect.mjs +30 -17
  285. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
  286. package/esm/index.mjs +21 -2
  287. package/lib/components/ActionBar/ActionBar.d.ts +1 -1
  288. package/lib/components/AppShell/AppShell.context.d.ts +4 -0
  289. package/lib/components/AppShell/AppShell.d.ts +5 -3
  290. package/lib/components/AppShell/AppShell.types.d.ts +70 -0
  291. package/lib/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.d.ts +6 -1
  292. package/lib/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.d.ts +3 -1
  293. package/lib/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.d.ts +3 -1
  294. package/lib/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.d.ts +3 -1
  295. package/lib/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.d.ts +3 -1
  296. package/lib/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.d.ts +2 -0
  297. package/lib/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.d.ts +1 -0
  298. package/lib/components/AppShell/AppShellMediaStyles/get-variables/get-variables.d.ts +6 -1
  299. package/lib/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.d.ts +10 -0
  300. package/lib/components/AppShell/index.d.ts +3 -2
  301. package/lib/components/AppShell/use-app-shell-resize/clamp-resize-size.d.ts +9 -0
  302. package/lib/components/AppShell/use-app-shell-resize/resize-section-config.d.ts +29 -0
  303. package/lib/components/AppShell/use-app-shell-resize/safe-area-inset.d.ts +1 -0
  304. package/lib/components/AppShell/use-app-shell-resize/use-app-shell-resize.d.ts +2 -0
  305. package/lib/components/AppShell/use-resizing/use-resizing.d.ts +2 -1
  306. package/lib/components/Checkbox/Checkbox.d.ts +2 -2
  307. package/lib/components/Checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +2 -2
  308. package/lib/components/HoverCard/HoverCard.context.d.ts +8 -4
  309. package/lib/components/HoverCard/HoverCard.d.ts +41 -0
  310. package/lib/components/HoverCard/index.d.ts +1 -1
  311. package/lib/components/HoverCard/use-hover-card.d.ts +11 -0
  312. package/lib/components/Radio/Radio.d.ts +2 -2
  313. package/lib/components/Radio/RadioIndicator/RadioIndicator.d.ts +2 -2
  314. package/lib/components/Toggle/Toggle.d.ts +73 -0
  315. package/lib/components/Toggle/index.d.ts +7 -0
  316. package/lib/components/Toolbar/Toolbar.context.d.ts +7 -0
  317. package/lib/components/Toolbar/Toolbar.d.ts +58 -0
  318. package/lib/components/Toolbar/ToolbarDivider/ToolbarDivider.d.ts +16 -0
  319. package/lib/components/Toolbar/ToolbarGroup/ToolbarGroup.d.ts +16 -0
  320. package/lib/components/Toolbar/ToolbarToggle/ToolbarToggle.d.ts +44 -0
  321. package/lib/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.d.ts +7 -0
  322. package/lib/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.d.ts +42 -0
  323. package/lib/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.d.ts +22 -0
  324. package/lib/components/Toolbar/index.d.ts +32 -0
  325. package/lib/components/Toolbar/use-toolbar-navigation.d.ts +11 -0
  326. package/lib/components/Tooltip/Tooltip.d.ts +2 -0
  327. package/lib/components/Tooltip/use-tooltip.d.ts +2 -0
  328. package/lib/components/Tour/Tour.context.d.ts +66 -0
  329. package/lib/components/Tour/Tour.d.ts +144 -0
  330. package/lib/components/Tour/TourBeacon/TourBeacon.d.ts +23 -0
  331. package/lib/components/Tour/TourBeaconPositioned.d.ts +13 -0
  332. package/lib/components/Tour/TourBody/TourBody.d.ts +19 -0
  333. package/lib/components/Tour/TourCloseButton/TourCloseButton.d.ts +12 -0
  334. package/lib/components/Tour/TourNavigation/TourNavigation.d.ts +11 -0
  335. package/lib/components/Tour/TourOverlay/TourOverlay.d.ts +22 -0
  336. package/lib/components/Tour/TourRoot/TourRoot.d.ts +72 -0
  337. package/lib/components/Tour/TourStep/TourStep.d.ts +30 -0
  338. package/lib/components/Tour/TourTitle/TourTitle.d.ts +19 -0
  339. package/lib/components/Tour/TourTooltip/TourTooltip.d.ts +29 -0
  340. package/lib/components/Tour/get-overlay-hit-path.d.ts +2 -0
  341. package/lib/components/Tour/index.d.ts +23 -0
  342. package/lib/components/Tour/is-element-in-view.d.ts +1 -0
  343. package/lib/components/Tour/press-aware-auto-update.d.ts +2 -0
  344. package/lib/components/Tour/use-target-rect.d.ts +13 -0
  345. package/lib/components/Tour/use-tooltip-auto-focus.d.ts +7 -0
  346. package/lib/components/Tour/use-tour-state.d.ts +23 -0
  347. package/lib/components/Tour/use-tour.d.ts +40 -0
  348. package/lib/components/TreeSelect/TreeSelect.d.ts +14 -0
  349. package/lib/components/TreeSelect/index.d.ts +2 -2
  350. package/lib/components/index.d.ts +3 -0
  351. package/package.json +5 -5
  352. package/styles/ActionBar.css +1 -0
  353. package/styles/ActionBar.layer.css +1 -0
  354. package/styles/AppShell.css +68 -0
  355. package/styles/AppShell.layer.css +68 -0
  356. package/styles/Checkbox.css +20 -0
  357. package/styles/Checkbox.layer.css +20 -0
  358. package/styles/CheckboxIndicator.css +16 -0
  359. package/styles/CheckboxIndicator.layer.css +16 -0
  360. package/styles/Dialog.css +1 -0
  361. package/styles/Dialog.layer.css +1 -0
  362. package/styles/Radio.css +10 -0
  363. package/styles/Radio.layer.css +10 -0
  364. package/styles/RadioIndicator.css +11 -0
  365. package/styles/RadioIndicator.layer.css +11 -0
  366. package/styles/Toggle.css +98 -0
  367. package/styles/Toggle.layer.css +99 -0
  368. package/styles/Toolbar.css +220 -0
  369. package/styles/Toolbar.layer.css +221 -0
  370. package/styles/Tour.css +127 -0
  371. package/styles/Tour.layer.css +128 -0
  372. package/styles.css +575 -0
  373. package/styles.layer.css +575 -0
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { UnstyledButton } from "../UnstyledButton/UnstyledButton.mjs";
3
+ import { pressAwareAutoUpdate } from "./press-aware-auto-update.mjs";
4
+ import { useTargetElement } from "./use-target-rect.mjs";
5
+ import { useEffect, useRef } from "react";
6
+ import { useMergedRef } from "@mantine/hooks";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { offset, useFloating } from "@floating-ui/react";
9
+ //#region packages/@mantine/core/src/components/Tour/TourBeaconPositioned.tsx
10
+ function TourBeaconPositioned({ target, onClick, ariaLabel, className, style, pulseStyles, withInitialFocus, onInitialFocus }) {
11
+ const element = useTargetElement(target);
12
+ const buttonRef = useRef(null);
13
+ const { refs, floatingStyles } = useFloating({
14
+ elements: { reference: element },
15
+ placement: "top-end",
16
+ whileElementsMounted: pressAwareAutoUpdate,
17
+ middleware: [offset({
18
+ mainAxis: -4,
19
+ crossAxis: -4
20
+ })]
21
+ });
22
+ const mergedRef = useMergedRef(refs.setFloating, buttonRef);
23
+ useEffect(() => {
24
+ if (withInitialFocus && buttonRef.current) {
25
+ buttonRef.current.focus({ preventScroll: true });
26
+ onInitialFocus?.();
27
+ }
28
+ }, [withInitialFocus, element]);
29
+ if (!element) return null;
30
+ return /* @__PURE__ */ jsx(UnstyledButton, {
31
+ ref: mergedRef,
32
+ role: "button",
33
+ "aria-label": ariaLabel,
34
+ className,
35
+ style: {
36
+ ...style,
37
+ ...floatingStyles
38
+ },
39
+ onClick,
40
+ children: /* @__PURE__ */ jsx("span", { ...pulseStyles })
41
+ });
42
+ }
43
+ //#endregion
44
+ export { TourBeaconPositioned };
45
+
46
+ //# sourceMappingURL=TourBeaconPositioned.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourBeaconPositioned.mjs","names":[],"sources":["../../../src/components/Tour/TourBeaconPositioned.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { offset, useFloating } from '@floating-ui/react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { pressAwareAutoUpdate } from './press-aware-auto-update';\nimport { useTargetElement, type TourTarget } from './use-target-rect';\n\ninterface TourBeaconPositionedProps {\n target: TourTarget;\n onClick: () => void;\n ariaLabel: string;\n className?: string;\n style?: React.CSSProperties;\n pulseStyles?: Record<string, unknown>;\n withInitialFocus?: boolean;\n onInitialFocus?: () => void;\n}\n\nexport function TourBeaconPositioned({\n target,\n onClick,\n ariaLabel,\n className,\n style,\n pulseStyles,\n withInitialFocus,\n onInitialFocus,\n}: TourBeaconPositionedProps) {\n const element = useTargetElement(target);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const { refs, floatingStyles } = useFloating({\n elements: { reference: element },\n placement: 'top-end',\n whileElementsMounted: pressAwareAutoUpdate,\n middleware: [offset({ mainAxis: -4, crossAxis: -4 })],\n });\n\n const mergedRef = useMergedRef(refs.setFloating, buttonRef);\n\n useEffect(() => {\n if (withInitialFocus && buttonRef.current) {\n buttonRef.current.focus({ preventScroll: true });\n onInitialFocus?.();\n }\n }, [withInitialFocus, element]);\n\n if (!element) {\n return null;\n }\n\n return (\n <UnstyledButton\n ref={mergedRef}\n role=\"button\"\n aria-label={ariaLabel}\n className={className}\n style={{ ...style, ...floatingStyles }}\n onClick={onClick}\n >\n <span {...pulseStyles} />\n </UnstyledButton>\n );\n}\n"],"mappings":";;;;;;;;;AAkBA,SAAgB,qBAAqB,EACnC,QACA,SACA,WACA,WACA,OACA,aACA,kBACA,kBAC4B;CAC5B,MAAM,UAAU,iBAAiB,MAAM;CACvC,MAAM,YAAY,OAA0B,IAAI;CAEhD,MAAM,EAAE,MAAM,mBAAmB,YAAY;EAC3C,UAAU,EAAE,WAAW,QAAQ;EAC/B,WAAW;EACX,sBAAsB;EACtB,YAAY,CAAC,OAAO;GAAE,UAAU;GAAI,WAAW;EAAG,CAAC,CAAC;CACtD,CAAC;CAED,MAAM,YAAY,aAAa,KAAK,aAAa,SAAS;CAE1D,gBAAgB;EACd,IAAI,oBAAoB,UAAU,SAAS;GACzC,UAAU,QAAQ,MAAM,EAAE,eAAe,KAAK,CAAC;GAC/C,iBAAiB;EACnB;CACF,GAAG,CAAC,kBAAkB,OAAO,CAAC;CAE9B,IAAI,CAAC,SACH,OAAO;CAGT,OACE,oBAAC,gBAAD;EACE,KAAK;EACL,MAAK;EACL,cAAY;EACD;EACX,OAAO;GAAE,GAAG;GAAO,GAAG;EAAe;EAC5B;EAET,UAAA,oBAAC,QAAD,EAAM,GAAI,YAAc,CAAA;CACV,CAAA;AAEpB"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { factory } from "../../../core/factory/factory.mjs";
4
+ import { Box } from "../../../core/Box/Box.mjs";
5
+ import { useTourContext } from "../Tour.context.mjs";
6
+ import Tour_module_default from "../Tour.module.mjs";
7
+ import { useEffect } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ //#region packages/@mantine/core/src/components/Tour/TourBody/TourBody.tsx
10
+ const defaultProps = {};
11
+ const TourBody = factory((_props) => {
12
+ const { children, classNames, className, style, styles, vars, id, ...others } = useProps("TourBody", defaultProps, _props);
13
+ const ctx = useTourContext();
14
+ const { registerBody } = ctx;
15
+ const resolvedId = id ?? ctx.bodyId;
16
+ useEffect(() => {
17
+ registerBody(resolvedId);
18
+ return () => registerBody(null);
19
+ }, [registerBody, resolvedId]);
20
+ return /* @__PURE__ */ jsx(Box, {
21
+ id: resolvedId,
22
+ ...ctx.getStyles("body", {
23
+ className,
24
+ classNames,
25
+ style,
26
+ styles
27
+ }),
28
+ ...others,
29
+ children
30
+ });
31
+ });
32
+ TourBody.classes = Tour_module_default;
33
+ TourBody.displayName = "@mantine/core/TourBody";
34
+ //#endregion
35
+ export { TourBody };
36
+
37
+ //# sourceMappingURL=TourBody.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourBody.mjs","names":["classes"],"sources":["../../../../src/components/Tour/TourBody/TourBody.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { useTourContext } from '../Tour.context';\nimport classes from '../Tour.module.css';\n\nexport type TourBodyStylesNames = 'body';\n\nexport interface TourBodyProps\n extends BoxProps, CompoundStylesApiProps<TourBodyFactory>, ElementProps<'div'> {}\n\nexport type TourBodyFactory = Factory<{\n props: TourBodyProps;\n ref: HTMLDivElement;\n stylesNames: TourBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TourBodyProps> = {};\n\nexport const TourBody = factory<TourBodyFactory>((_props) => {\n const props = useProps('TourBody', defaultProps, _props);\n const { children, classNames, className, style, styles, vars, id, ...others } = props;\n const ctx = useTourContext();\n const { registerBody } = ctx;\n const resolvedId = id ?? ctx.bodyId;\n\n useEffect(() => {\n registerBody(resolvedId);\n return () => registerBody(null);\n }, [registerBody, resolvedId]);\n\n return (\n <Box\n id={resolvedId}\n {...ctx.getStyles('body', { className, classNames, style, styles })}\n {...others}\n >\n {children}\n </Box>\n );\n});\n\nTourBody.classes = classes;\nTourBody.displayName = '@mantine/core/TourBody';\n\nexport namespace TourBody {\n export type Props = TourBodyProps;\n}\n"],"mappings":";;;;;;;;;AAyBA,MAAM,eAAuC,CAAC;AAE9C,MAAa,WAAW,SAA0B,WAAW;CAE3D,MAAM,EAAE,UAAU,YAAY,WAAW,OAAO,QAAQ,MAAM,IAAI,GAAG,WADvD,SAAS,YAAY,cAAc,MACmC;CACpF,MAAM,MAAM,eAAe;CAC3B,MAAM,EAAE,iBAAiB;CACzB,MAAM,aAAa,MAAM,IAAI;CAE7B,gBAAgB;EACd,aAAa,UAAU;EACvB,aAAa,aAAa,IAAI;CAChC,GAAG,CAAC,cAAc,UAAU,CAAC;CAE7B,OACE,oBAAC,KAAD;EACE,IAAI;EACJ,GAAI,IAAI,UAAU,QAAQ;GAAE;GAAW;GAAY;GAAO;EAAO,CAAC;EAClE,GAAI;EAEH;CACE,CAAA;AAET,CAAC;AAED,SAAS,UAAUA;AACnB,SAAS,cAAc"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { CloseButton } from "../../CloseButton/CloseButton.mjs";
4
+ import { useTourContext } from "../Tour.context.mjs";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region packages/@mantine/core/src/components/Tour/TourCloseButton/TourCloseButton.tsx
7
+ const defaultProps = {};
8
+ function TourCloseButton(_props) {
9
+ const { onClick, ...others } = useProps("TourCloseButton", defaultProps, _props);
10
+ const ctx = useTourContext();
11
+ if (!ctx.withCloseButton) return null;
12
+ return /* @__PURE__ */ jsx(CloseButton, {
13
+ "aria-label": ctx.labels.close,
14
+ ...ctx.getStyles("closeButton"),
15
+ onClick: (event) => {
16
+ ctx.close();
17
+ onClick?.(event);
18
+ },
19
+ ...others
20
+ });
21
+ }
22
+ TourCloseButton.displayName = "@mantine/core/TourCloseButton";
23
+ //#endregion
24
+ export { TourCloseButton };
25
+
26
+ //# sourceMappingURL=TourCloseButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourCloseButton.mjs","names":[],"sources":["../../../../src/components/Tour/TourCloseButton/TourCloseButton.tsx"],"sourcesContent":["import { useProps } from '../../../core';\nimport { CloseButton, type __CloseButtonProps } from '../../CloseButton';\nimport { useTourContext } from '../Tour.context';\n\nexport interface TourCloseButtonProps extends __CloseButtonProps {\n /** Called when the close button is clicked */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nconst defaultProps: Partial<TourCloseButtonProps> = {};\n\nexport function TourCloseButton(_props: TourCloseButtonProps) {\n const props = useProps('TourCloseButton', defaultProps, _props);\n const { onClick, ...others } = props;\n const ctx = useTourContext();\n\n if (!ctx.withCloseButton) {\n return null;\n }\n\n return (\n <CloseButton\n aria-label={ctx.labels.close}\n {...ctx.getStyles('closeButton')}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n ctx.close();\n onClick?.(event);\n }}\n {...others}\n />\n );\n}\n\nTourCloseButton.displayName = '@mantine/core/TourCloseButton';\n\nexport namespace TourCloseButton {\n export type Props = TourCloseButtonProps;\n}\n"],"mappings":";;;;;;AASA,MAAM,eAA8C,CAAC;AAErD,SAAgB,gBAAgB,QAA8B;CAE5D,MAAM,EAAE,SAAS,GAAG,WADN,SAAS,mBAAmB,cAAc,MACrB;CACnC,MAAM,MAAM,eAAe;CAE3B,IAAI,CAAC,IAAI,iBACP,OAAO;CAGT,OACE,oBAAC,aAAD;EACE,cAAY,IAAI,OAAO;EACvB,GAAI,IAAI,UAAU,aAAa;EAC/B,UAAU,UAA+C;GACvD,IAAI,MAAM;GACV,UAAU,KAAK;EACjB;EACA,GAAI;CACL,CAAA;AAEL;AAEA,gBAAgB,cAAc"}
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { Box } from "../../../core/Box/Box.mjs";
4
+ import { Group } from "../../Group/Group.mjs";
5
+ import { Button } from "../../Button/Button.mjs";
6
+ import { useTourContext } from "../Tour.context.mjs";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region packages/@mantine/core/src/components/Tour/TourNavigation/TourNavigation.tsx
9
+ const defaultProps = {};
10
+ function TourNavigation(_props) {
11
+ const { ...others } = useProps("TourNavigation", defaultProps, _props);
12
+ const ctx = useTourContext();
13
+ const isFirstStep = ctx.step === 0;
14
+ const isLastStep = ctx.step === ctx.stepsCount - 1;
15
+ return /* @__PURE__ */ jsx(Box, {
16
+ ...ctx.getStyles("navigation"),
17
+ ...others,
18
+ children: /* @__PURE__ */ jsxs(Group, {
19
+ justify: "space-between",
20
+ wrap: "nowrap",
21
+ children: [
22
+ /* @__PURE__ */ jsx(Button, {
23
+ variant: "default",
24
+ onClick: ctx.close,
25
+ size: "compact-sm",
26
+ ...ctx.getStyles("navigationButton"),
27
+ children: ctx.labels.skip
28
+ }),
29
+ /* @__PURE__ */ jsx(Box, {
30
+ component: "span",
31
+ "aria-live": "polite",
32
+ ...ctx.getStyles("stepCounter"),
33
+ children: ctx.labels.stepCounter(ctx.step + 1, ctx.stepsCount)
34
+ }),
35
+ /* @__PURE__ */ jsxs(Group, {
36
+ gap: "xs",
37
+ wrap: "nowrap",
38
+ children: [!isFirstStep && /* @__PURE__ */ jsx(Button, {
39
+ variant: "default",
40
+ onClick: () => ctx.setStep(ctx.step - 1),
41
+ size: "compact-sm",
42
+ ...ctx.getStyles("navigationButton"),
43
+ children: ctx.labels.back
44
+ }), /* @__PURE__ */ jsx(Button, {
45
+ onClick: () => {
46
+ if (isLastStep) ctx.close();
47
+ else ctx.setStep(ctx.step + 1);
48
+ },
49
+ size: "compact-sm",
50
+ color: ctx.color,
51
+ ...ctx.getStyles("navigationButton"),
52
+ children: isLastStep ? ctx.labels.close : ctx.labels.next
53
+ })]
54
+ })
55
+ ]
56
+ })
57
+ });
58
+ }
59
+ TourNavigation.displayName = "@mantine/core/TourNavigation";
60
+ //#endregion
61
+ export { TourNavigation };
62
+
63
+ //# sourceMappingURL=TourNavigation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourNavigation.mjs","names":[],"sources":["../../../../src/components/Tour/TourNavigation/TourNavigation.tsx"],"sourcesContent":["import { Box, useProps } from '../../../core';\nimport { Button } from '../../Button';\nimport { Group } from '../../Group';\nimport { useTourContext } from '../Tour.context';\n\nexport interface TourNavigationProps {\n /** Called when the navigation container is clicked (fires for clicks on any of its buttons and the step counter) */\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n}\n\nconst defaultProps: Partial<TourNavigationProps> = {};\n\nexport function TourNavigation(_props: TourNavigationProps) {\n const props = useProps('TourNavigation', defaultProps, _props);\n const { ...others } = props;\n const ctx = useTourContext();\n const isFirstStep = ctx.step === 0;\n const isLastStep = ctx.step === ctx.stepsCount - 1;\n\n return (\n <Box {...ctx.getStyles('navigation')} {...others}>\n <Group justify=\"space-between\" wrap=\"nowrap\">\n <Button\n variant=\"default\"\n onClick={ctx.close}\n size=\"compact-sm\"\n {...ctx.getStyles('navigationButton')}\n >\n {ctx.labels.skip}\n </Button>\n\n <Box component=\"span\" aria-live=\"polite\" {...ctx.getStyles('stepCounter')}>\n {ctx.labels.stepCounter(ctx.step + 1, ctx.stepsCount)}\n </Box>\n\n <Group gap=\"xs\" wrap=\"nowrap\">\n {!isFirstStep && (\n <Button\n variant=\"default\"\n onClick={() => ctx.setStep(ctx.step - 1)}\n size=\"compact-sm\"\n {...ctx.getStyles('navigationButton')}\n >\n {ctx.labels.back}\n </Button>\n )}\n <Button\n onClick={() => {\n if (isLastStep) {\n ctx.close();\n } else {\n ctx.setStep(ctx.step + 1);\n }\n }}\n size=\"compact-sm\"\n color={ctx.color}\n {...ctx.getStyles('navigationButton')}\n >\n {isLastStep ? ctx.labels.close : ctx.labels.next}\n </Button>\n </Group>\n </Group>\n </Box>\n );\n}\n\nTourNavigation.displayName = '@mantine/core/TourNavigation';\n\nexport namespace TourNavigation {\n export type Props = TourNavigationProps;\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,eAA6C,CAAC;AAEpD,SAAgB,eAAe,QAA6B;CAE1D,MAAM,EAAE,GAAG,WADG,SAAS,kBAAkB,cAAc,MAC7B;CAC1B,MAAM,MAAM,eAAe;CAC3B,MAAM,cAAc,IAAI,SAAS;CACjC,MAAM,aAAa,IAAI,SAAS,IAAI,aAAa;CAEjD,OACE,oBAAC,KAAD;EAAK,GAAI,IAAI,UAAU,YAAY;EAAG,GAAI;EACxC,UAAA,qBAAC,OAAD;GAAO,SAAQ;GAAgB,MAAK;GAApC,UAAA;IACE,oBAAC,QAAD;KACE,SAAQ;KACR,SAAS,IAAI;KACb,MAAK;KACL,GAAI,IAAI,UAAU,kBAAkB;KAEnC,UAAA,IAAI,OAAO;IACN,CAAA;IAER,oBAAC,KAAD;KAAK,WAAU;KAAO,aAAU;KAAS,GAAI,IAAI,UAAU,aAAa;KACrE,UAAA,IAAI,OAAO,YAAY,IAAI,OAAO,GAAG,IAAI,UAAU;IACjD,CAAA;IAEL,qBAAC,OAAD;KAAO,KAAI;KAAK,MAAK;KAArB,UAAA,CACG,CAAC,eACA,oBAAC,QAAD;MACE,SAAQ;MACR,eAAe,IAAI,QAAQ,IAAI,OAAO,CAAC;MACvC,MAAK;MACL,GAAI,IAAI,UAAU,kBAAkB;MAEnC,UAAA,IAAI,OAAO;KACN,CAAA,GAEV,oBAAC,QAAD;MACE,eAAe;OACb,IAAI,YACF,IAAI,MAAM;YAEV,IAAI,QAAQ,IAAI,OAAO,CAAC;MAE5B;MACA,MAAK;MACL,OAAO,IAAI;MACX,GAAI,IAAI,UAAU,kBAAkB;MAEnC,UAAA,aAAa,IAAI,OAAO,QAAQ,IAAI,OAAO;KACtC,CAAA,CACH;;GACF;;CACJ,CAAA;AAET;AAEA,eAAe,cAAc"}
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { getOverlayHitPath } from "../get-overlay-hit-path.mjs";
4
+ import { useTourContext } from "../Tour.context.mjs";
5
+ import { useId } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region packages/@mantine/core/src/components/Tour/TourOverlay/TourOverlay.tsx
8
+ const defaultProps = {};
9
+ function TourOverlay(_props) {
10
+ const { targetRect, color, withInteraction, onClick } = useProps("TourOverlay", defaultProps, _props);
11
+ const ctx = useTourContext();
12
+ const maskId = useId();
13
+ const resolvedColor = color || "var(--tour-overlay-color, rgba(0, 0, 0, 0.5))";
14
+ const padding = ctx.spotlightPadding;
15
+ const radius = ctx.spotlightRadius ?? 4;
16
+ const interactive = withInteraction || ctx.withOverlayInteraction;
17
+ if (!ctx.withOverlay) return null;
18
+ return /* @__PURE__ */ jsxs("svg", {
19
+ ...ctx.getStyles("overlay"),
20
+ role: "presentation",
21
+ width: "100%",
22
+ height: "100%",
23
+ "data-with-overlay-interaction": interactive || void 0,
24
+ onMouseDown: (event) => event.preventDefault(),
25
+ onClick: (event) => {
26
+ if (ctx.closeOnOverlayClick) ctx.close();
27
+ onClick?.(event);
28
+ },
29
+ children: [
30
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", {
31
+ id: maskId,
32
+ children: [/* @__PURE__ */ jsx("rect", {
33
+ x: "0",
34
+ y: "0",
35
+ width: "100%",
36
+ height: "100%",
37
+ fill: "white"
38
+ }), targetRect && /* @__PURE__ */ jsx("rect", {
39
+ x: targetRect.left - padding,
40
+ y: targetRect.top - padding,
41
+ width: targetRect.width + padding * 2,
42
+ height: targetRect.height + padding * 2,
43
+ rx: radius,
44
+ ry: radius,
45
+ fill: "black",
46
+ ...ctx.getStyles("spotlight")
47
+ })]
48
+ }) }),
49
+ /* @__PURE__ */ jsx("rect", {
50
+ x: "0",
51
+ y: "0",
52
+ width: "100%",
53
+ height: "100%",
54
+ style: { fill: resolvedColor },
55
+ mask: `url(#${maskId})`
56
+ }),
57
+ interactive && /* @__PURE__ */ jsx("path", {
58
+ d: getOverlayHitPath(targetRect, padding, radius),
59
+ fillRule: "evenodd",
60
+ fill: "transparent",
61
+ style: { pointerEvents: "auto" }
62
+ })
63
+ ]
64
+ });
65
+ }
66
+ TourOverlay.displayName = "@mantine/core/TourOverlay";
67
+ //#endregion
68
+ export { TourOverlay };
69
+
70
+ //# sourceMappingURL=TourOverlay.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourOverlay.mjs","names":[],"sources":["../../../../src/components/Tour/TourOverlay/TourOverlay.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { useProps } from '../../../core';\nimport { getOverlayHitPath } from '../get-overlay-hit-path';\nimport { useTourContext } from '../Tour.context';\n\nexport interface TourOverlayProps {\n /** Rectangle describing the target element position */\n targetRect?: { top: number; left: number; width: number; height: number } | null;\n\n /** Overlay fill color */\n color?: string;\n\n /** Whether pointer events pass through the spotlight cutout to the target element, the rest of the overlay keeps blocking clicks */\n withInteraction?: boolean;\n\n /** Called when the overlay is clicked */\n onClick?: React.MouseEventHandler<SVGSVGElement>;\n}\n\nconst defaultProps: Partial<TourOverlayProps> = {};\n\nexport function TourOverlay(_props: TourOverlayProps) {\n const props = useProps('TourOverlay', defaultProps, _props);\n const { targetRect, color, withInteraction, onClick } = props;\n\n const ctx = useTourContext();\n const maskId = useId();\n const resolvedColor = color || 'var(--tour-overlay-color, rgba(0, 0, 0, 0.5))';\n const padding = ctx.spotlightPadding;\n const radius = ctx.spotlightRadius ?? 4;\n const interactive = withInteraction || ctx.withOverlayInteraction;\n\n if (!ctx.withOverlay) {\n return null;\n }\n\n return (\n <svg\n {...ctx.getStyles('overlay')}\n role=\"presentation\"\n width=\"100%\"\n height=\"100%\"\n data-with-overlay-interaction={interactive || undefined}\n onMouseDown={(event) => event.preventDefault()}\n onClick={(event) => {\n if (ctx.closeOnOverlayClick) {\n ctx.close();\n }\n onClick?.(event);\n }}\n >\n <defs>\n <mask id={maskId}>\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"white\" />\n {targetRect && (\n <rect\n x={targetRect.left - padding}\n y={targetRect.top - padding}\n width={targetRect.width + padding * 2}\n height={targetRect.height + padding * 2}\n rx={radius}\n ry={radius}\n fill=\"black\"\n {...ctx.getStyles('spotlight')}\n />\n )}\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"100%\"\n height=\"100%\"\n style={{ fill: resolvedColor }}\n mask={`url(#${maskId})`}\n />\n {interactive && (\n <path\n d={getOverlayHitPath(targetRect, padding, radius)}\n fillRule=\"evenodd\"\n fill=\"transparent\"\n style={{ pointerEvents: 'auto' }}\n />\n )}\n </svg>\n );\n}\n\nTourOverlay.displayName = '@mantine/core/TourOverlay';\n\nexport namespace TourOverlay {\n export type Props = TourOverlayProps;\n}\n"],"mappings":";;;;;;;AAmBA,MAAM,eAA0C,CAAC;AAEjD,SAAgB,YAAY,QAA0B;CAEpD,MAAM,EAAE,YAAY,OAAO,iBAAiB,YAD9B,SAAS,eAAe,cAAc,MACQ;CAE5D,MAAM,MAAM,eAAe;CAC3B,MAAM,SAAS,MAAM;CACrB,MAAM,gBAAgB,SAAS;CAC/B,MAAM,UAAU,IAAI;CACpB,MAAM,SAAS,IAAI,mBAAmB;CACtC,MAAM,cAAc,mBAAmB,IAAI;CAE3C,IAAI,CAAC,IAAI,aACP,OAAO;CAGT,OACE,qBAAC,OAAD;EACE,GAAI,IAAI,UAAU,SAAS;EAC3B,MAAK;EACL,OAAM;EACN,QAAO;EACP,iCAA+B,eAAe,KAAA;EAC9C,cAAc,UAAU,MAAM,eAAe;EAC7C,UAAU,UAAU;GAClB,IAAI,IAAI,qBACN,IAAI,MAAM;GAEZ,UAAU,KAAK;EACjB;EAZF,UAAA;GAcE,oBAAC,QAAD,EAAA,UACE,qBAAC,QAAD;IAAM,IAAI;IAAV,UAAA,CACE,oBAAC,QAAD;KAAM,GAAE;KAAI,GAAE;KAAI,OAAM;KAAO,QAAO;KAAO,MAAK;IAAS,CAAA,GAC1D,cACC,oBAAC,QAAD;KACE,GAAG,WAAW,OAAO;KACrB,GAAG,WAAW,MAAM;KACpB,OAAO,WAAW,QAAQ,UAAU;KACpC,QAAQ,WAAW,SAAS,UAAU;KACtC,IAAI;KACJ,IAAI;KACJ,MAAK;KACL,GAAI,IAAI,UAAU,WAAW;IAC9B,CAAA,CAEC;GACF,CAAA,EAAA,CAAA;GACN,oBAAC,QAAD;IACE,GAAE;IACF,GAAE;IACF,OAAM;IACN,QAAO;IACP,OAAO,EAAE,MAAM,cAAc;IAC7B,MAAM,QAAQ,OAAO;GACtB,CAAA;GACA,eACC,oBAAC,QAAD;IACE,GAAG,kBAAkB,YAAY,SAAS,MAAM;IAChD,UAAS;IACT,MAAK;IACL,OAAO,EAAE,eAAe,OAAO;GAChC,CAAA;EAEA;;AAET;AAEA,YAAY,cAAc"}
@@ -0,0 +1,125 @@
1
+ "use client";
2
+ import { getShadow } from "../../../core/utils/get-size/get-size.mjs";
3
+ import { createVarsResolver } from "../../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs";
4
+ import { getThemeColor } from "../../../core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs";
5
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
6
+ import { useStyles } from "../../../core/styles-api/use-styles/use-styles.mjs";
7
+ import { factory } from "../../../core/factory/factory.mjs";
8
+ import { Box } from "../../../core/Box/Box.mjs";
9
+ import { OptionalPortal } from "../../Portal/OptionalPortal.mjs";
10
+ import { TourProvider, defaultLabels } from "../Tour.context.mjs";
11
+ import Tour_module_default from "../Tour.module.mjs";
12
+ import { useTourState } from "../use-tour-state.mjs";
13
+ import { useCallback, useId, useState } from "react";
14
+ import { jsx } from "react/jsx-runtime";
15
+ //#region packages/@mantine/core/src/components/Tour/TourRoot/TourRoot.tsx
16
+ const defaultProps = {
17
+ active: false,
18
+ withOverlay: true,
19
+ withOverlayInteraction: false,
20
+ withCloseButton: true,
21
+ withKeyboardNavigation: true,
22
+ spotlightPadding: 8,
23
+ closeOnEscape: true,
24
+ closeOnOverlayClick: false,
25
+ withinPortal: true,
26
+ zIndex: 1e4,
27
+ transitionProps: {
28
+ duration: 200,
29
+ transition: "fade"
30
+ },
31
+ overlayColor: "rgba(0, 0, 0, 0.5)"
32
+ };
33
+ const varsResolver = createVarsResolver((theme, { zIndex, overlayColor, tooltipShadow, color }) => ({ root: {
34
+ "--tour-color": color ? getThemeColor(color, theme) : void 0,
35
+ "--tour-z-index": zIndex?.toString(),
36
+ "--tour-overlay-color": overlayColor,
37
+ "--tour-tooltip-radius": void 0,
38
+ "--tour-tooltip-shadow": getShadow(tooltipShadow),
39
+ "--tour-beacon-size": void 0,
40
+ "--tour-beacon-color": void 0
41
+ } }));
42
+ const TourRoot = factory((_props) => {
43
+ const props = useProps("TourRoot", defaultProps, _props);
44
+ const { classNames, className, style, styles, unstyled, vars, active, stepsCount, onClose, step: stepProp, defaultStep, onStepChange, onStepOpen, onStepClose, withOverlay, withOverlayInteraction, withCloseButton, withKeyboardNavigation, spotlightPadding, spotlightRadius, closeOnEscape, closeOnOverlayClick, labels: labelsProp, withinPortal, portalProps, zIndex, transitionProps, overlayColor, tooltipShadow, color, children, attributes, ...others } = props;
45
+ const labels = {
46
+ ...defaultLabels,
47
+ ...labelsProp
48
+ };
49
+ const id = useId();
50
+ const [registeredTitleId, registerTitle] = useState(null);
51
+ const [registeredBodyId, registerBody] = useState(null);
52
+ const titleId = registeredTitleId ?? `${id}-title`;
53
+ const bodyId = registeredBodyId ?? `${id}-body`;
54
+ const titleMounted = registeredTitleId !== null;
55
+ const bodyMounted = registeredBodyId !== null;
56
+ const { currentStep, setStep, close, targetRef } = useTourState({
57
+ active,
58
+ onClose,
59
+ step: stepProp,
60
+ defaultStep,
61
+ onStepChange,
62
+ onStepOpen: (index) => onStepOpen?.(index),
63
+ onStepClose: (index) => onStepClose?.(index),
64
+ mode: "guided",
65
+ stepsCount,
66
+ closeOnEscape,
67
+ withKeyboardNavigation
68
+ });
69
+ const setTargetElement = useCallback((element) => {
70
+ targetRef.current = element;
71
+ }, [targetRef]);
72
+ const getStyles = useStyles({
73
+ name: "Tour",
74
+ classes: Tour_module_default,
75
+ props,
76
+ className,
77
+ style,
78
+ classNames,
79
+ styles,
80
+ unstyled,
81
+ attributes,
82
+ vars,
83
+ varsResolver
84
+ });
85
+ if (!active) return null;
86
+ return /* @__PURE__ */ jsx(TourProvider, {
87
+ value: {
88
+ getStyles,
89
+ step: currentStep,
90
+ setStep,
91
+ stepsCount,
92
+ close,
93
+ withOverlay,
94
+ withOverlayInteraction,
95
+ withCloseButton,
96
+ spotlightPadding,
97
+ spotlightRadius: spotlightRadius ?? 4,
98
+ closeOnOverlayClick,
99
+ transitionProps,
100
+ color,
101
+ labels,
102
+ titleId,
103
+ bodyId,
104
+ titleMounted,
105
+ bodyMounted,
106
+ registerTitle,
107
+ registerBody,
108
+ setTargetElement
109
+ },
110
+ children: /* @__PURE__ */ jsx(OptionalPortal, {
111
+ ...portalProps,
112
+ withinPortal,
113
+ children: /* @__PURE__ */ jsx(Box, {
114
+ ...getStyles("root"),
115
+ ...others,
116
+ children
117
+ })
118
+ })
119
+ });
120
+ });
121
+ TourRoot.displayName = "@mantine/core/TourRoot";
122
+ //#endregion
123
+ export { TourRoot };
124
+
125
+ //# sourceMappingURL=TourRoot.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourRoot.mjs","names":[],"sources":["../../../../src/components/Tour/TourRoot/TourRoot.tsx"],"sourcesContent":["import { useCallback, useId, useState } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getShadow,\n getThemeColor,\n MantineColor,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { OptionalPortal, type PortalProps } from '../../Portal';\nimport type { TransitionOverride } from '../../Transition';\nimport type { TourStylesNames, TourCssVariables } from '../Tour';\nimport { defaultLabels, TourLabels, TourProvider } from '../Tour.context';\nimport { useTourState } from '../use-tour-state';\nimport classes from '../Tour.module.css';\n\nexport interface TourRootProps\n extends BoxProps, StylesApiProps<TourRootFactory>, ElementProps<'div'> {\n /** Whether the tour is active @default false */\n active?: boolean;\n\n /** Total number of steps, used by `Tour.Navigation` and keyboard navigation to detect the last step */\n stepsCount: number;\n\n /** Called when the tour is closed */\n onClose?: () => void;\n\n /** Controlled current step index */\n step?: number;\n\n /** Uncontrolled default step index @default 0 */\n defaultStep?: number;\n\n /** Called when step changes */\n onStepChange?: (step: number) => void;\n\n /** Called when a step opens */\n onStepOpen?: (step: number) => void;\n\n /** Called when a step closes */\n onStepClose?: (step: number) => void;\n\n /** Whether `Tour.Overlay` is rendered @default true */\n withOverlay?: boolean;\n\n /** Whether pointer events pass through the spotlight cutout to the target element, the rest of the overlay keeps blocking clicks @default false */\n withOverlayInteraction?: boolean;\n\n /** Whether `Tour.CloseButton` is rendered @default true */\n withCloseButton?: boolean;\n\n /** Whether arrow keys navigate between steps @default true */\n withKeyboardNavigation?: boolean;\n\n /** Padding around the spotlight cutout in px @default 8 */\n spotlightPadding?: number;\n\n /** Border radius of the spotlight cutout in px @default 4 */\n spotlightRadius?: number;\n\n /** Whether pressing Escape closes the tour @default true */\n closeOnEscape?: boolean;\n\n /** Whether clicking the overlay closes the tour, with `withOverlayInteraction` only clicks outside the spotlight cutout close it @default false */\n closeOnOverlayClick?: boolean;\n\n /** Labels for tour UI elements */\n labels?: Partial<TourLabels>;\n\n /** Whether to render inside a portal @default true */\n withinPortal?: boolean;\n\n /** Props passed to the Portal component */\n portalProps?: Omit<PortalProps, 'children'>;\n\n /** z-index of the tour @default 10000 */\n zIndex?: string | number;\n\n /** Default transition props of `Tour.Tooltip` @default { duration: 200, transition: 'fade' } */\n transitionProps?: TransitionOverride;\n\n /** Tour step overlay color @default \"rgba(0, 0, 0, 0.5)\" */\n overlayColor?: string;\n\n /** Key of `theme.colors` or any valid CSS color, controls `Tour.Beacon` color and `Tour.Navigation` next button color @default theme.primaryColor */\n color?: MantineColor;\n\n /** Key of `theme.shadows` or any valid CSS box-shadow value, controls the tooltip shadow @default 'md' */\n tooltipShadow?: string;\n\n /** Tour content: `Tour.Overlay`, `Tour.Tooltip`, `Tour.Beacon` and other compound components */\n children?: React.ReactNode;\n}\n\nexport type TourRootFactory = Factory<{\n props: TourRootProps;\n ref: HTMLDivElement;\n stylesNames: TourStylesNames;\n vars: TourCssVariables;\n}>;\n\nconst defaultProps = {\n active: false,\n withOverlay: true,\n withOverlayInteraction: false,\n withCloseButton: true,\n withKeyboardNavigation: true,\n spotlightPadding: 8,\n closeOnEscape: true,\n closeOnOverlayClick: false,\n withinPortal: true,\n zIndex: 10000,\n transitionProps: { duration: 200, transition: 'fade' },\n overlayColor: 'rgba(0, 0, 0, 0.5)',\n} satisfies Partial<TourRootProps>;\n\nconst varsResolver = createVarsResolver<TourRootFactory>(\n (theme, { zIndex, overlayColor, tooltipShadow, color }) => ({\n root: {\n '--tour-color': color ? getThemeColor(color, theme) : undefined,\n '--tour-z-index': zIndex?.toString(),\n '--tour-overlay-color': overlayColor,\n '--tour-tooltip-radius': undefined,\n '--tour-tooltip-shadow': getShadow(tooltipShadow),\n '--tour-beacon-size': undefined,\n '--tour-beacon-color': undefined,\n },\n })\n);\n\nexport const TourRoot = factory<TourRootFactory>((_props) => {\n const props = useProps('TourRoot', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n active,\n stepsCount,\n onClose,\n step: stepProp,\n defaultStep,\n onStepChange,\n onStepOpen,\n onStepClose,\n withOverlay,\n withOverlayInteraction,\n withCloseButton,\n withKeyboardNavigation,\n spotlightPadding,\n spotlightRadius,\n closeOnEscape,\n closeOnOverlayClick,\n labels: labelsProp,\n withinPortal,\n portalProps,\n zIndex,\n transitionProps,\n overlayColor,\n tooltipShadow,\n color,\n children,\n attributes,\n ...others\n } = props;\n\n const labels: TourLabels = { ...defaultLabels, ...labelsProp };\n const id = useId();\n const [registeredTitleId, registerTitle] = useState<string | null>(null);\n const [registeredBodyId, registerBody] = useState<string | null>(null);\n const titleId = registeredTitleId ?? `${id}-title`;\n const bodyId = registeredBodyId ?? `${id}-body`;\n const titleMounted = registeredTitleId !== null;\n const bodyMounted = registeredBodyId !== null;\n\n const { currentStep, setStep, close, targetRef } = useTourState({\n active,\n onClose,\n step: stepProp,\n defaultStep,\n onStepChange,\n onStepOpen: (index) => onStepOpen?.(index),\n onStepClose: (index) => onStepClose?.(index),\n mode: 'guided',\n stepsCount,\n closeOnEscape,\n withKeyboardNavigation,\n });\n\n const setTargetElement = useCallback(\n (element: HTMLElement | null) => {\n targetRef.current = element;\n },\n [targetRef]\n );\n\n const getStyles = useStyles<TourRootFactory>({\n name: 'Tour',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n if (!active) {\n return null;\n }\n\n return (\n <TourProvider\n value={{\n getStyles,\n step: currentStep,\n setStep,\n stepsCount,\n close,\n withOverlay: withOverlay!,\n withOverlayInteraction: withOverlayInteraction!,\n withCloseButton: withCloseButton!,\n spotlightPadding: spotlightPadding!,\n spotlightRadius: spotlightRadius ?? 4,\n closeOnOverlayClick: closeOnOverlayClick!,\n transitionProps,\n color,\n labels,\n titleId,\n bodyId,\n titleMounted,\n bodyMounted,\n registerTitle,\n registerBody,\n setTargetElement,\n }}\n >\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Box {...getStyles('root')} {...others}>\n {children}\n </Box>\n </OptionalPortal>\n </TourProvider>\n );\n});\n\nTourRoot.displayName = '@mantine/core/TourRoot';\n\nexport namespace TourRoot {\n export type Props = TourRootProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA2GA,MAAM,eAAe;CACnB,QAAQ;CACR,aAAa;CACb,wBAAwB;CACxB,iBAAiB;CACjB,wBAAwB;CACxB,kBAAkB;CAClB,eAAe;CACf,qBAAqB;CACrB,cAAc;CACd,QAAQ;CACR,iBAAiB;EAAE,UAAU;EAAK,YAAY;CAAO;CACrD,cAAc;AAChB;AAEA,MAAM,eAAe,oBAClB,OAAO,EAAE,QAAQ,cAAc,eAAe,aAAa,EAC1D,MAAM;CACJ,gBAAgB,QAAQ,cAAc,OAAO,KAAK,IAAI,KAAA;CACtD,kBAAkB,QAAQ,SAAS;CACnC,wBAAwB;CACxB,yBAAyB,KAAA;CACzB,yBAAyB,UAAU,aAAa;CAChD,sBAAsB,KAAA;CACtB,uBAAuB,KAAA;AACzB,EACF,EACF;AAEA,MAAa,WAAW,SAA0B,WAAW;CAC3D,MAAM,QAAQ,SAAS,YAAY,cAAc,MAAM;CACvD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,QACA,YACA,SACA,MAAM,UACN,aACA,cACA,YACA,aACA,aACA,wBACA,iBACA,wBACA,kBACA,iBACA,eACA,qBACA,QAAQ,YACR,cACA,aACA,QACA,iBACA,cACA,eACA,OACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,SAAqB;EAAE,GAAG;EAAe,GAAG;CAAW;CAC7D,MAAM,KAAK,MAAM;CACjB,MAAM,CAAC,mBAAmB,iBAAiB,SAAwB,IAAI;CACvE,MAAM,CAAC,kBAAkB,gBAAgB,SAAwB,IAAI;CACrE,MAAM,UAAU,qBAAqB,GAAG,GAAG;CAC3C,MAAM,SAAS,oBAAoB,GAAG,GAAG;CACzC,MAAM,eAAe,sBAAsB;CAC3C,MAAM,cAAc,qBAAqB;CAEzC,MAAM,EAAE,aAAa,SAAS,OAAO,cAAc,aAAa;EAC9D;EACA;EACA,MAAM;EACN;EACA;EACA,aAAa,UAAU,aAAa,KAAK;EACzC,cAAc,UAAU,cAAc,KAAK;EAC3C,MAAM;EACN;EACA;EACA;CACF,CAAC;CAED,MAAM,mBAAmB,aACtB,YAAgC;EAC/B,UAAU,UAAU;CACtB,GACA,CAAC,SAAS,CACZ;CAEA,MAAM,YAAY,UAA2B;EAC3C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,IAAI,CAAC,QACH,OAAO;CAGT,OACE,oBAAC,cAAD;EACE,OAAO;GACL;GACA,MAAM;GACN;GACA;GACA;GACa;GACW;GACP;GACC;GAClB,iBAAiB,mBAAmB;GACf;GACrB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EAEA,UAAA,oBAAC,gBAAD;GAAgB,GAAI;GAA2B;GAC7C,UAAA,oBAAC,KAAD;IAAK,GAAI,UAAU,MAAM;IAAG,GAAI;IAC7B;GACE,CAAA;EACS,CAAA;CACJ,CAAA;AAElB,CAAC;AAED,SAAS,cAAc"}
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/components/Tour/TourStep/TourStep.tsx
3
+ function TourStep(_props) {
4
+ return null;
5
+ }
6
+ TourStep.displayName = "@mantine/core/TourStep";
7
+ //#endregion
8
+ export { TourStep };
9
+
10
+ //# sourceMappingURL=TourStep.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourStep.mjs","names":[],"sources":["../../../../src/components/Tour/TourStep/TourStep.tsx"],"sourcesContent":["import type { FloatingPosition } from '../../../utils/Floating';\n\nexport interface TourStepProps {\n /** CSS selector or ref to the target element. Selectors are resolved again when the element mounts later, refs are resolved once when the step activates – use a selector for elements that are not mounted yet. */\n target?: string | React.RefObject<HTMLElement | null>;\n\n /** Step title */\n title?: React.ReactNode;\n\n /** Step body content */\n children?: React.ReactNode;\n\n /** Called when this step becomes active */\n onStepOpen?: () => void;\n\n /** Called when this step is deactivated */\n onStepClose?: () => void;\n\n /** Tooltip position relative to the target element @default 'bottom' */\n position?: FloatingPosition;\n\n /** Whether to display the overlay for this step (per-step override) */\n withOverlay?: boolean;\n\n /** Padding around the spotlight cutout in px (per-step override) */\n spotlightPadding?: number;\n\n /** Border radius of the spotlight cutout in px (per-step override) */\n spotlightRadius?: number;\n\n /** Whether to display a beacon for this step (per-step override) */\n withBeacon?: boolean;\n}\n\nexport function TourStep(_props: TourStepProps): React.ReactElement | null {\n return null;\n}\n\nTourStep.displayName = '@mantine/core/TourStep';\n\nexport namespace TourStep {\n export type Props = TourStepProps;\n}\n"],"mappings":";;AAkCA,SAAgB,SAAS,QAAkD;CACzE,OAAO;AACT;AAEA,SAAS,cAAc"}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { factory } from "../../../core/factory/factory.mjs";
4
+ import { Box } from "../../../core/Box/Box.mjs";
5
+ import { useTourContext } from "../Tour.context.mjs";
6
+ import Tour_module_default from "../Tour.module.mjs";
7
+ import { useEffect } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ //#region packages/@mantine/core/src/components/Tour/TourTitle/TourTitle.tsx
10
+ const defaultProps = {};
11
+ const TourTitle = factory((_props) => {
12
+ const { children, classNames, className, style, styles, vars, id, ...others } = useProps("TourTitle", defaultProps, _props);
13
+ const ctx = useTourContext();
14
+ const { registerTitle } = ctx;
15
+ const resolvedId = id ?? ctx.titleId;
16
+ useEffect(() => {
17
+ registerTitle(resolvedId);
18
+ return () => registerTitle(null);
19
+ }, [registerTitle, resolvedId]);
20
+ return /* @__PURE__ */ jsx(Box, {
21
+ component: "h3",
22
+ id: resolvedId,
23
+ ...ctx.getStyles("title", {
24
+ className,
25
+ classNames,
26
+ style,
27
+ styles
28
+ }),
29
+ ...others,
30
+ children
31
+ });
32
+ });
33
+ TourTitle.classes = Tour_module_default;
34
+ TourTitle.displayName = "@mantine/core/TourTitle";
35
+ //#endregion
36
+ export { TourTitle };
37
+
38
+ //# sourceMappingURL=TourTitle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourTitle.mjs","names":["classes"],"sources":["../../../../src/components/Tour/TourTitle/TourTitle.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { useTourContext } from '../Tour.context';\nimport classes from '../Tour.module.css';\n\nexport type TourTitleStylesNames = 'title';\n\nexport interface TourTitleProps\n extends BoxProps, CompoundStylesApiProps<TourTitleFactory>, ElementProps<'h3'> {}\n\nexport type TourTitleFactory = Factory<{\n props: TourTitleProps;\n ref: HTMLHeadingElement;\n stylesNames: TourTitleStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TourTitleProps> = {};\n\nexport const TourTitle = factory<TourTitleFactory>((_props) => {\n const props = useProps('TourTitle', defaultProps, _props);\n const { children, classNames, className, style, styles, vars, id, ...others } = props;\n const ctx = useTourContext();\n const { registerTitle } = ctx;\n const resolvedId = id ?? ctx.titleId;\n\n useEffect(() => {\n registerTitle(resolvedId);\n return () => registerTitle(null);\n }, [registerTitle, resolvedId]);\n\n return (\n <Box\n component=\"h3\"\n id={resolvedId}\n {...ctx.getStyles('title', { className, classNames, style, styles })}\n {...others}\n >\n {children}\n </Box>\n );\n});\n\nTourTitle.classes = classes;\nTourTitle.displayName = '@mantine/core/TourTitle';\n\nexport namespace TourTitle {\n export type Props = TourTitleProps;\n}\n"],"mappings":";;;;;;;;;AAyBA,MAAM,eAAwC,CAAC;AAE/C,MAAa,YAAY,SAA2B,WAAW;CAE7D,MAAM,EAAE,UAAU,YAAY,WAAW,OAAO,QAAQ,MAAM,IAAI,GAAG,WADvD,SAAS,aAAa,cAAc,MACkC;CACpF,MAAM,MAAM,eAAe;CAC3B,MAAM,EAAE,kBAAkB;CAC1B,MAAM,aAAa,MAAM,IAAI;CAE7B,gBAAgB;EACd,cAAc,UAAU;EACxB,aAAa,cAAc,IAAI;CACjC,GAAG,CAAC,eAAe,UAAU,CAAC;CAE9B,OACE,oBAAC,KAAD;EACE,WAAU;EACV,IAAI;EACJ,GAAI,IAAI,UAAU,SAAS;GAAE;GAAW;GAAY;GAAO;EAAO,CAAC;EACnE,GAAI;EAEH;CACE,CAAA;AAET,CAAC;AAED,UAAU,UAAUA;AACpB,UAAU,cAAc"}
@@ -0,0 +1,87 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { factory } from "../../../core/factory/factory.mjs";
4
+ import { Box } from "../../../core/Box/Box.mjs";
5
+ import { useDirection } from "../../../core/DirectionProvider/DirectionProvider.mjs";
6
+ import { getFloatingPosition } from "../../../utils/Floating/get-floating-position/get-floating-position.mjs";
7
+ import { Transition } from "../../Transition/Transition.mjs";
8
+ import { FocusTrap } from "../../FocusTrap/FocusTrap.mjs";
9
+ import { useTourContext } from "../Tour.context.mjs";
10
+ import { pressAwareAutoUpdate } from "../press-aware-auto-update.mjs";
11
+ import Tour_module_default from "../Tour.module.mjs";
12
+ import { useTooltipAutoFocus } from "../use-tooltip-auto-focus.mjs";
13
+ import { useEffect } from "react";
14
+ import { useMergedRef } from "@mantine/hooks";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ import { flip, offset, shift, useFloating } from "@floating-ui/react";
17
+ //#region packages/@mantine/core/src/components/Tour/TourTooltip/TourTooltip.tsx
18
+ const defaultProps = { position: "bottom" };
19
+ const TourTooltip = factory((_props) => {
20
+ const { classNames, className, style, styles, vars, targetElement, position, mounted, transitionProps, children, ref, role, tabIndex, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...others } = useProps("TourTooltip", defaultProps, _props);
21
+ const ctx = useTourContext();
22
+ const { dir } = useDirection();
23
+ const { setTargetElement } = ctx;
24
+ useEffect(() => {
25
+ setTargetElement(targetElement ?? null);
26
+ return () => setTargetElement(null);
27
+ }, [targetElement, setTargetElement]);
28
+ const { refs, floatingStyles } = useFloating({
29
+ elements: { reference: targetElement },
30
+ placement: getFloatingPosition(dir, position),
31
+ whileElementsMounted: pressAwareAutoUpdate,
32
+ middleware: [
33
+ offset(12),
34
+ flip(),
35
+ shift({ padding: 8 })
36
+ ]
37
+ });
38
+ const trapActive = !!mounted && ctx.withOverlay && !ctx.withOverlayInteraction;
39
+ const autoFocusRef = useTooltipAutoFocus({
40
+ autoFocus: !!mounted && !trapActive,
41
+ opened: !!mounted,
42
+ step: ctx.step
43
+ });
44
+ const transition = {
45
+ ...ctx.transitionProps,
46
+ ...transitionProps
47
+ };
48
+ const mergedRef = useMergedRef(refs.setFloating, autoFocusRef, ref);
49
+ const tooltipStyles = ctx.getStyles("tooltip", {
50
+ className,
51
+ classNames,
52
+ style,
53
+ styles
54
+ });
55
+ return /* @__PURE__ */ jsx(Transition, {
56
+ mounted: !!mounted,
57
+ duration: transition.duration ?? 200,
58
+ transition: transition.transition ?? "fade",
59
+ timingFunction: transition.timingFunction,
60
+ children: (transitionStyles) => /* @__PURE__ */ jsx(FocusTrap, {
61
+ active: trapActive,
62
+ innerRef: mergedRef,
63
+ children: /* @__PURE__ */ jsxs(Box, {
64
+ role: role ?? "dialog",
65
+ tabIndex: tabIndex ?? -1,
66
+ "aria-labelledby": ariaLabelledBy ?? (ctx.titleMounted ? ctx.titleId : void 0),
67
+ "aria-label": ariaLabel ?? (ctx.titleMounted ? void 0 : ctx.labels.stepCounter(ctx.step + 1, ctx.stepsCount)),
68
+ "aria-describedby": ariaDescribedBy ?? (ctx.bodyMounted ? ctx.bodyId : void 0),
69
+ ...tooltipStyles,
70
+ "data-centered": !targetElement || void 0,
71
+ style: {
72
+ ...tooltipStyles.style,
73
+ ...targetElement ? floatingStyles : {},
74
+ ...transitionStyles
75
+ },
76
+ ...others,
77
+ children: [trapActive && /* @__PURE__ */ jsx(FocusTrap.InitialFocus, {}), children]
78
+ })
79
+ })
80
+ });
81
+ });
82
+ TourTooltip.classes = Tour_module_default;
83
+ TourTooltip.displayName = "@mantine/core/TourTooltip";
84
+ //#endregion
85
+ export { TourTooltip };
86
+
87
+ //# sourceMappingURL=TourTooltip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TourTooltip.mjs","names":["classes"],"sources":["../../../../src/components/Tour/TourTooltip/TourTooltip.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { flip, offset, shift, useFloating } from '@floating-ui/react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useDirection,\n useProps,\n} from '../../../core';\nimport { getFloatingPosition, type FloatingPosition } from '../../../utils/Floating';\nimport { FocusTrap } from '../../FocusTrap';\nimport { Transition, type TransitionOverride } from '../../Transition';\nimport { pressAwareAutoUpdate } from '../press-aware-auto-update';\nimport { useTourContext } from '../Tour.context';\nimport { useTooltipAutoFocus } from '../use-tooltip-auto-focus';\nimport classes from '../Tour.module.css';\n\nexport type TourTooltipStylesNames = 'tooltip';\n\nexport interface TourTooltipProps\n extends BoxProps, CompoundStylesApiProps<TourTooltipFactory>, ElementProps<'div'> {\n /** Target element to position against */\n targetElement?: HTMLElement | null;\n\n /** Tooltip position @default 'bottom' */\n position?: FloatingPosition;\n\n /** Whether the tooltip is visible */\n mounted?: boolean;\n\n /** Transition props for the tooltip, merged with `transitionProps` of `Tour.Root` */\n transitionProps?: TransitionOverride;\n}\n\nexport type TourTooltipFactory = Factory<{\n props: TourTooltipProps;\n ref: HTMLDivElement;\n stylesNames: TourTooltipStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TourTooltipProps> = {\n position: 'bottom',\n};\n\nexport const TourTooltip = factory<TourTooltipFactory>((_props) => {\n const props = useProps('TourTooltip', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n targetElement,\n position,\n mounted,\n transitionProps,\n children,\n ref,\n role,\n tabIndex,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n ...others\n } = props;\n\n const ctx = useTourContext();\n const { dir } = useDirection();\n const { setTargetElement } = ctx;\n\n useEffect(() => {\n setTargetElement(targetElement ?? null);\n return () => setTargetElement(null);\n }, [targetElement, setTargetElement]);\n\n const { refs, floatingStyles } = useFloating({\n elements: { reference: targetElement },\n placement: getFloatingPosition(dir, position!),\n whileElementsMounted: pressAwareAutoUpdate,\n middleware: [offset(12), flip(), shift({ padding: 8 })],\n });\n\n const trapActive = !!mounted && ctx.withOverlay && !ctx.withOverlayInteraction;\n const autoFocusRef = useTooltipAutoFocus({\n autoFocus: !!mounted && !trapActive,\n opened: !!mounted,\n step: ctx.step,\n });\n const transition = { ...ctx.transitionProps, ...transitionProps };\n const mergedRef = useMergedRef(refs.setFloating, autoFocusRef, ref);\n const tooltipStyles = ctx.getStyles('tooltip', { className, classNames, style, styles });\n\n return (\n <Transition\n mounted={!!mounted}\n duration={transition.duration ?? 200}\n transition={transition.transition ?? 'fade'}\n timingFunction={transition.timingFunction}\n >\n {(transitionStyles) => (\n <FocusTrap active={trapActive} innerRef={mergedRef}>\n <Box\n role={role ?? 'dialog'}\n tabIndex={tabIndex ?? -1}\n aria-labelledby={ariaLabelledBy ?? (ctx.titleMounted ? ctx.titleId : undefined)}\n aria-label={\n ariaLabel ??\n (ctx.titleMounted ? undefined : ctx.labels.stepCounter(ctx.step + 1, ctx.stepsCount))\n }\n aria-describedby={ariaDescribedBy ?? (ctx.bodyMounted ? ctx.bodyId : undefined)}\n {...tooltipStyles}\n data-centered={!targetElement || undefined}\n style={{\n ...tooltipStyles.style,\n ...(targetElement ? floatingStyles : {}),\n ...transitionStyles,\n }}\n {...others}\n >\n {trapActive && <FocusTrap.InitialFocus />}\n {children}\n </Box>\n </FocusTrap>\n )}\n </Transition>\n );\n});\n\nTourTooltip.classes = classes;\nTourTooltip.displayName = '@mantine/core/TourTooltip';\n\nexport namespace TourTooltip {\n export type Props = TourTooltipProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6CA,MAAM,eAA0C,EAC9C,UAAU,SACZ;AAEA,MAAa,cAAc,SAA6B,WAAW;CAEjE,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,eACA,UACA,SACA,iBACA,UACA,KACA,MACA,UACA,cAAc,WACd,mBAAmB,gBACnB,oBAAoB,iBACpB,GAAG,WAlBS,SAAS,eAAe,cAAc,MAmB5C;CAER,MAAM,MAAM,eAAe;CAC3B,MAAM,EAAE,QAAQ,aAAa;CAC7B,MAAM,EAAE,qBAAqB;CAE7B,gBAAgB;EACd,iBAAiB,iBAAiB,IAAI;EACtC,aAAa,iBAAiB,IAAI;CACpC,GAAG,CAAC,eAAe,gBAAgB,CAAC;CAEpC,MAAM,EAAE,MAAM,mBAAmB,YAAY;EAC3C,UAAU,EAAE,WAAW,cAAc;EACrC,WAAW,oBAAoB,KAAK,QAAS;EAC7C,sBAAsB;EACtB,YAAY;GAAC,OAAO,EAAE;GAAG,KAAK;GAAG,MAAM,EAAE,SAAS,EAAE,CAAC;EAAC;CACxD,CAAC;CAED,MAAM,aAAa,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI;CACxD,MAAM,eAAe,oBAAoB;EACvC,WAAW,CAAC,CAAC,WAAW,CAAC;EACzB,QAAQ,CAAC,CAAC;EACV,MAAM,IAAI;CACZ,CAAC;CACD,MAAM,aAAa;EAAE,GAAG,IAAI;EAAiB,GAAG;CAAgB;CAChE,MAAM,YAAY,aAAa,KAAK,aAAa,cAAc,GAAG;CAClE,MAAM,gBAAgB,IAAI,UAAU,WAAW;EAAE;EAAW;EAAY;EAAO;CAAO,CAAC;CAEvF,OACE,oBAAC,YAAD;EACE,SAAS,CAAC,CAAC;EACX,UAAU,WAAW,YAAY;EACjC,YAAY,WAAW,cAAc;EACrC,gBAAgB,WAAW;EAEzB,WAAA,qBACA,oBAAC,WAAD;GAAW,QAAQ;GAAY,UAAU;GACvC,UAAA,qBAAC,KAAD;IACE,MAAM,QAAQ;IACd,UAAU,YAAY;IACtB,mBAAiB,mBAAmB,IAAI,eAAe,IAAI,UAAU,KAAA;IACrE,cACE,cACC,IAAI,eAAe,KAAA,IAAY,IAAI,OAAO,YAAY,IAAI,OAAO,GAAG,IAAI,UAAU;IAErF,oBAAkB,oBAAoB,IAAI,cAAc,IAAI,SAAS,KAAA;IACrE,GAAI;IACJ,iBAAe,CAAC,iBAAiB,KAAA;IACjC,OAAO;KACL,GAAG,cAAc;KACjB,GAAI,gBAAgB,iBAAiB,CAAC;KACtC,GAAG;IACL;IACA,GAAI;IAhBN,UAAA,CAkBG,cAAc,oBAAC,UAAU,cAAX,CAAyB,CAAA,GACvC,QACE;;EACI,CAAA;CAEH,CAAA;AAEhB,CAAC;AAED,YAAY,UAAUA;AACtB,YAAY,cAAc"}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/components/Tour/get-overlay-hit-path.ts
3
+ const OVERLAY_EXTENT = 1e5;
4
+ function getOverlayHitPath(targetRect, padding, radius) {
5
+ const outer = `M-100000 -100000H${OVERLAY_EXTENT}V${OVERLAY_EXTENT}H-100000Z`;
6
+ if (!targetRect) return outer;
7
+ const x = targetRect.left - padding;
8
+ const y = targetRect.top - padding;
9
+ const w = targetRect.width + padding * 2;
10
+ const h = targetRect.height + padding * 2;
11
+ const r = Math.max(0, Math.min(radius, w / 2, h / 2));
12
+ return `${outer}M${x + r} ${y}H${x + w - r}A${r} ${r} 0 0 1 ${x + w} ${y + r}V${y + h - r}A${r} ${r} 0 0 1 ${x + w - r} ${y + h}H${x + r}A${r} ${r} 0 0 1 ${x} ${y + h - r}V${y + r}A${r} ${r} 0 0 1 ${x + r} ${y}Z`;
13
+ }
14
+ //#endregion
15
+ export { getOverlayHitPath };
16
+
17
+ //# sourceMappingURL=get-overlay-hit-path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-overlay-hit-path.mjs","names":[],"sources":["../../../src/components/Tour/get-overlay-hit-path.ts"],"sourcesContent":["import type { TargetRect } from './use-target-rect';\n\nconst OVERLAY_EXTENT = 100000;\n\nexport function getOverlayHitPath(\n targetRect: TargetRect | null | undefined,\n padding: number,\n radius: number\n) {\n const outer = `M${-OVERLAY_EXTENT} ${-OVERLAY_EXTENT}H${OVERLAY_EXTENT}V${OVERLAY_EXTENT}H${-OVERLAY_EXTENT}Z`;\n\n if (!targetRect) {\n return outer;\n }\n\n const x = targetRect.left - padding;\n const y = targetRect.top - padding;\n const w = targetRect.width + padding * 2;\n const h = targetRect.height + padding * 2;\n const r = Math.max(0, Math.min(radius, w / 2, h / 2));\n\n return (\n `${outer}M${x + r} ${y}H${x + w - r}A${r} ${r} 0 0 1 ${x + w} ${y + r}` +\n `V${y + h - r}A${r} ${r} 0 0 1 ${x + w - r} ${y + h}` +\n `H${x + r}A${r} ${r} 0 0 1 ${x} ${y + h - r}` +\n `V${y + r}A${r} ${r} 0 0 1 ${x + r} ${y}Z`\n );\n}\n"],"mappings":";;AAEA,MAAM,iBAAiB;AAEvB,SAAgB,kBACd,YACA,SACA,QACA;CACA,MAAM,QAAQ,oBAA0C,eAAe,GAAG,eAAe;CAEzF,IAAI,CAAC,YACH,OAAO;CAGT,MAAM,IAAI,WAAW,OAAO;CAC5B,MAAM,IAAI,WAAW,MAAM;CAC3B,MAAM,IAAI,WAAW,QAAQ,UAAU;CACvC,MAAM,IAAI,WAAW,SAAS,UAAU;CACxC,MAAM,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,IAAI,GAAG,IAAI,CAAC,CAAC;CAEpD,OACE,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,EAAA,GAChE,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI,EAAE,GAAG,IAAI,EAAA,GAC9C,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,EAAA,GACtC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,GAAG,EAAE;AAE5C"}