@mantine/core 9.6.2 → 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 (436) 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/ComboboxPopover/ComboboxPopover.cjs.map +1 -1
  54. package/cjs/components/Dialog/Dialog.cjs +0 -1
  55. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  56. package/cjs/components/Dialog/Dialog.module.cjs.map +1 -1
  57. package/cjs/components/HoverCard/HoverCard.cjs +34 -5
  58. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  59. package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
  60. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs +13 -18
  61. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  62. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs +6 -23
  63. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  64. package/cjs/components/HoverCard/use-hover-card.cjs +26 -12
  65. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  66. package/cjs/components/Input/InputWrapper/InputWrapper.cjs +1 -1
  67. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  68. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  69. package/cjs/components/Marquee/Marquee.module.cjs.map +1 -1
  70. package/cjs/components/PasswordInput/PasswordInput.cjs +10 -5
  71. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  72. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  73. package/cjs/components/Portal/Portal.cjs +10 -1
  74. package/cjs/components/Portal/Portal.cjs.map +1 -1
  75. package/cjs/components/Radio/Radio.cjs +10 -2
  76. package/cjs/components/Radio/Radio.cjs.map +1 -1
  77. package/cjs/components/Radio/Radio.module.cjs +1 -0
  78. package/cjs/components/Radio/Radio.module.cjs.map +1 -1
  79. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs +10 -2
  80. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  81. package/cjs/components/Radio/RadioIndicator/RadioIndicator.module.cjs +1 -0
  82. package/cjs/components/Radio/RadioIndicator/RadioIndicator.module.cjs.map +1 -1
  83. package/cjs/components/Rating/Rating.cjs +35 -12
  84. package/cjs/components/Rating/Rating.cjs.map +1 -1
  85. package/cjs/components/Select/Select.cjs +1 -1
  86. package/cjs/components/Select/Select.cjs.map +1 -1
  87. package/cjs/components/Slider/Thumb/Thumb.cjs +7 -2
  88. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  89. package/cjs/components/Table/Table.cjs +23 -10
  90. package/cjs/components/Table/Table.cjs.map +1 -1
  91. package/cjs/components/Toggle/Toggle.cjs +80 -0
  92. package/cjs/components/Toggle/Toggle.cjs.map +1 -0
  93. package/cjs/components/Toggle/Toggle.module.cjs +7 -0
  94. package/cjs/components/Toggle/Toggle.module.cjs.map +1 -0
  95. package/cjs/components/Toolbar/Toolbar.cjs +107 -0
  96. package/cjs/components/Toolbar/Toolbar.cjs.map +1 -0
  97. package/cjs/components/Toolbar/Toolbar.context.cjs +8 -0
  98. package/cjs/components/Toolbar/Toolbar.context.cjs.map +1 -0
  99. package/cjs/components/Toolbar/Toolbar.module.cjs +12 -0
  100. package/cjs/components/Toolbar/Toolbar.module.cjs.map +1 -0
  101. package/cjs/components/Toolbar/ToolbarDivider/ToolbarDivider.cjs +31 -0
  102. package/cjs/components/Toolbar/ToolbarDivider/ToolbarDivider.cjs.map +1 -0
  103. package/cjs/components/Toolbar/ToolbarGroup/ToolbarGroup.cjs +31 -0
  104. package/cjs/components/Toolbar/ToolbarGroup/ToolbarGroup.cjs.map +1 -0
  105. package/cjs/components/Toolbar/ToolbarToggle/ToolbarToggle.cjs +47 -0
  106. package/cjs/components/Toolbar/ToolbarToggle/ToolbarToggle.cjs.map +1 -0
  107. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs +61 -0
  108. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs.map +1 -0
  109. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.cjs +8 -0
  110. package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.cjs.map +1 -0
  111. package/cjs/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs +51 -0
  112. package/cjs/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs.map +1 -0
  113. package/cjs/components/Toolbar/use-toolbar-navigation.cjs +76 -0
  114. package/cjs/components/Toolbar/use-toolbar-navigation.cjs.map +1 -0
  115. package/cjs/components/Tooltip/Tooltip.cjs +9 -5
  116. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  117. package/cjs/components/Tooltip/use-tooltip.cjs +6 -3
  118. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  119. package/cjs/components/Tour/Tour.cjs +283 -0
  120. package/cjs/components/Tour/Tour.cjs.map +1 -0
  121. package/cjs/components/Tour/Tour.context.cjs +25 -0
  122. package/cjs/components/Tour/Tour.context.cjs.map +1 -0
  123. package/cjs/components/Tour/Tour.module.cjs +19 -0
  124. package/cjs/components/Tour/Tour.module.cjs.map +1 -0
  125. package/cjs/components/Tour/TourBeacon/TourBeacon.cjs +54 -0
  126. package/cjs/components/Tour/TourBeacon/TourBeacon.cjs.map +1 -0
  127. package/cjs/components/Tour/TourBeaconPositioned.cjs +46 -0
  128. package/cjs/components/Tour/TourBeaconPositioned.cjs.map +1 -0
  129. package/cjs/components/Tour/TourBody/TourBody.cjs +37 -0
  130. package/cjs/components/Tour/TourBody/TourBody.cjs.map +1 -0
  131. package/cjs/components/Tour/TourCloseButton/TourCloseButton.cjs +26 -0
  132. package/cjs/components/Tour/TourCloseButton/TourCloseButton.cjs.map +1 -0
  133. package/cjs/components/Tour/TourNavigation/TourNavigation.cjs +63 -0
  134. package/cjs/components/Tour/TourNavigation/TourNavigation.cjs.map +1 -0
  135. package/cjs/components/Tour/TourOverlay/TourOverlay.cjs +70 -0
  136. package/cjs/components/Tour/TourOverlay/TourOverlay.cjs.map +1 -0
  137. package/cjs/components/Tour/TourRoot/TourRoot.cjs +125 -0
  138. package/cjs/components/Tour/TourRoot/TourRoot.cjs.map +1 -0
  139. package/cjs/components/Tour/TourStep/TourStep.cjs +10 -0
  140. package/cjs/components/Tour/TourStep/TourStep.cjs.map +1 -0
  141. package/cjs/components/Tour/TourTitle/TourTitle.cjs +38 -0
  142. package/cjs/components/Tour/TourTitle/TourTitle.cjs.map +1 -0
  143. package/cjs/components/Tour/TourTooltip/TourTooltip.cjs +87 -0
  144. package/cjs/components/Tour/TourTooltip/TourTooltip.cjs.map +1 -0
  145. package/cjs/components/Tour/get-overlay-hit-path.cjs +17 -0
  146. package/cjs/components/Tour/get-overlay-hit-path.cjs.map +1 -0
  147. package/cjs/components/Tour/is-element-in-view.cjs +30 -0
  148. package/cjs/components/Tour/is-element-in-view.cjs.map +1 -0
  149. package/cjs/components/Tour/press-aware-auto-update.cjs +38 -0
  150. package/cjs/components/Tour/press-aware-auto-update.cjs.map +1 -0
  151. package/cjs/components/Tour/use-target-rect.cjs +61 -0
  152. package/cjs/components/Tour/use-target-rect.cjs.map +1 -0
  153. package/cjs/components/Tour/use-tooltip-auto-focus.cjs +34 -0
  154. package/cjs/components/Tour/use-tooltip-auto-focus.cjs.map +1 -0
  155. package/cjs/components/Tour/use-tour-state.cjs +102 -0
  156. package/cjs/components/Tour/use-tour-state.cjs.map +1 -0
  157. package/cjs/components/Tour/use-tour.cjs +155 -0
  158. package/cjs/components/Tour/use-tour.cjs.map +1 -0
  159. package/cjs/components/TreeSelect/TreeSelect.cjs +29 -16
  160. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  161. package/cjs/core/Box/Box.cjs +1 -1
  162. package/cjs/core/Box/Box.cjs.map +1 -1
  163. package/cjs/core/Box/style-props/style-props-data.cjs +2 -2
  164. package/cjs/core/Box/style-props/style-props-data.cjs.map +1 -1
  165. package/cjs/core/styles-api/use-styles/use-styles.cjs +32 -2
  166. package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
  167. package/cjs/core/utils/shallow-equal/shallow-equal.cjs +19 -0
  168. package/cjs/core/utils/shallow-equal/shallow-equal.cjs.map +1 -0
  169. package/cjs/index.cjs +42 -2
  170. package/esm/components/ActionBar/ActionBar.mjs +0 -3
  171. package/esm/components/ActionBar/ActionBar.mjs.map +1 -1
  172. package/esm/components/ActionBar/ActionBar.module.mjs.map +1 -1
  173. package/esm/components/AppShell/AppShell.context.mjs.map +1 -1
  174. package/esm/components/AppShell/AppShell.mjs +35 -8
  175. package/esm/components/AppShell/AppShell.mjs.map +1 -1
  176. package/esm/components/AppShell/AppShell.module.mjs +2 -1
  177. package/esm/components/AppShell/AppShell.module.mjs.map +1 -1
  178. package/esm/components/AppShell/AppShellAside/AppShellAside.mjs +29 -8
  179. package/esm/components/AppShell/AppShellAside/AppShellAside.mjs.map +1 -1
  180. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs +29 -8
  181. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
  182. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs +29 -8
  183. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
  184. package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs +3 -2
  185. package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs.map +1 -1
  186. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs +27 -16
  187. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
  188. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs +24 -16
  189. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
  190. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs +24 -16
  191. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
  192. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs +30 -19
  193. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
  194. package/esm/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.mjs +26 -0
  195. package/esm/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.mjs.map +1 -0
  196. package/esm/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.mjs +10 -0
  197. package/esm/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.mjs.map +1 -0
  198. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs +13 -5
  199. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
  200. package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs +29 -8
  201. package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs.map +1 -1
  202. package/esm/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.mjs +270 -0
  203. package/esm/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.mjs.map +1 -0
  204. package/esm/components/AppShell/use-app-shell-resize/clamp-resize-size.mjs +14 -0
  205. package/esm/components/AppShell/use-app-shell-resize/clamp-resize-size.mjs.map +1 -0
  206. package/esm/components/AppShell/use-app-shell-resize/resize-section-config.mjs +49 -0
  207. package/esm/components/AppShell/use-app-shell-resize/resize-section-config.mjs.map +1 -0
  208. package/esm/components/AppShell/use-app-shell-resize/safe-area-inset.mjs +12 -0
  209. package/esm/components/AppShell/use-app-shell-resize/safe-area-inset.mjs.map +1 -0
  210. package/esm/components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs +127 -0
  211. package/esm/components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs.map +1 -0
  212. package/esm/components/AppShell/use-resizing/use-resizing.mjs +21 -3
  213. package/esm/components/AppShell/use-resizing/use-resizing.mjs.map +1 -1
  214. package/esm/components/Checkbox/Checkbox.mjs +10 -2
  215. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  216. package/esm/components/Checkbox/Checkbox.module.mjs +1 -0
  217. package/esm/components/Checkbox/Checkbox.module.mjs.map +1 -1
  218. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs +10 -2
  219. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  220. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.mjs +1 -0
  221. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.mjs.map +1 -1
  222. package/esm/components/ComboboxPopover/ComboboxPopover.mjs.map +1 -1
  223. package/esm/components/Dialog/Dialog.mjs +0 -1
  224. package/esm/components/Dialog/Dialog.mjs.map +1 -1
  225. package/esm/components/Dialog/Dialog.module.mjs.map +1 -1
  226. package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
  227. package/esm/components/HoverCard/HoverCard.mjs +34 -5
  228. package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
  229. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs +13 -18
  230. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
  231. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs +7 -24
  232. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
  233. package/esm/components/HoverCard/use-hover-card.mjs +27 -13
  234. package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
  235. package/esm/components/Input/InputWrapper/InputWrapper.mjs +1 -1
  236. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  237. package/esm/components/Marquee/Marquee.mjs.map +1 -1
  238. package/esm/components/Marquee/Marquee.module.mjs.map +1 -1
  239. package/esm/components/PasswordInput/PasswordInput.mjs +12 -7
  240. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  241. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  242. package/esm/components/Portal/Portal.mjs +10 -1
  243. package/esm/components/Portal/Portal.mjs.map +1 -1
  244. package/esm/components/Radio/Radio.mjs +10 -2
  245. package/esm/components/Radio/Radio.mjs.map +1 -1
  246. package/esm/components/Radio/Radio.module.mjs +1 -0
  247. package/esm/components/Radio/Radio.module.mjs.map +1 -1
  248. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs +10 -2
  249. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
  250. package/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs +1 -0
  251. package/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs.map +1 -1
  252. package/esm/components/Rating/Rating.mjs +35 -12
  253. package/esm/components/Rating/Rating.mjs.map +1 -1
  254. package/esm/components/Select/Select.mjs +1 -1
  255. package/esm/components/Select/Select.mjs.map +1 -1
  256. package/esm/components/Slider/Thumb/Thumb.mjs +7 -2
  257. package/esm/components/Slider/Thumb/Thumb.mjs.map +1 -1
  258. package/esm/components/Table/Table.mjs +23 -10
  259. package/esm/components/Table/Table.mjs.map +1 -1
  260. package/esm/components/Toggle/Toggle.mjs +80 -0
  261. package/esm/components/Toggle/Toggle.mjs.map +1 -0
  262. package/esm/components/Toggle/Toggle.module.mjs +7 -0
  263. package/esm/components/Toggle/Toggle.module.mjs.map +1 -0
  264. package/esm/components/Toolbar/Toolbar.context.mjs +8 -0
  265. package/esm/components/Toolbar/Toolbar.context.mjs.map +1 -0
  266. package/esm/components/Toolbar/Toolbar.mjs +107 -0
  267. package/esm/components/Toolbar/Toolbar.mjs.map +1 -0
  268. package/esm/components/Toolbar/Toolbar.module.mjs +12 -0
  269. package/esm/components/Toolbar/Toolbar.module.mjs.map +1 -0
  270. package/esm/components/Toolbar/ToolbarDivider/ToolbarDivider.mjs +31 -0
  271. package/esm/components/Toolbar/ToolbarDivider/ToolbarDivider.mjs.map +1 -0
  272. package/esm/components/Toolbar/ToolbarGroup/ToolbarGroup.mjs +31 -0
  273. package/esm/components/Toolbar/ToolbarGroup/ToolbarGroup.mjs.map +1 -0
  274. package/esm/components/Toolbar/ToolbarToggle/ToolbarToggle.mjs +47 -0
  275. package/esm/components/Toolbar/ToolbarToggle/ToolbarToggle.mjs.map +1 -0
  276. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.mjs +8 -0
  277. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.mjs.map +1 -0
  278. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs +61 -0
  279. package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs.map +1 -0
  280. package/esm/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs +51 -0
  281. package/esm/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs.map +1 -0
  282. package/esm/components/Toolbar/use-toolbar-navigation.mjs +76 -0
  283. package/esm/components/Toolbar/use-toolbar-navigation.mjs.map +1 -0
  284. package/esm/components/Tooltip/Tooltip.mjs +9 -5
  285. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  286. package/esm/components/Tooltip/use-tooltip.mjs +7 -4
  287. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  288. package/esm/components/Tour/Tour.context.mjs +22 -0
  289. package/esm/components/Tour/Tour.context.mjs.map +1 -0
  290. package/esm/components/Tour/Tour.mjs +283 -0
  291. package/esm/components/Tour/Tour.mjs.map +1 -0
  292. package/esm/components/Tour/Tour.module.mjs +19 -0
  293. package/esm/components/Tour/Tour.module.mjs.map +1 -0
  294. package/esm/components/Tour/TourBeacon/TourBeacon.mjs +54 -0
  295. package/esm/components/Tour/TourBeacon/TourBeacon.mjs.map +1 -0
  296. package/esm/components/Tour/TourBeaconPositioned.mjs +46 -0
  297. package/esm/components/Tour/TourBeaconPositioned.mjs.map +1 -0
  298. package/esm/components/Tour/TourBody/TourBody.mjs +37 -0
  299. package/esm/components/Tour/TourBody/TourBody.mjs.map +1 -0
  300. package/esm/components/Tour/TourCloseButton/TourCloseButton.mjs +26 -0
  301. package/esm/components/Tour/TourCloseButton/TourCloseButton.mjs.map +1 -0
  302. package/esm/components/Tour/TourNavigation/TourNavigation.mjs +63 -0
  303. package/esm/components/Tour/TourNavigation/TourNavigation.mjs.map +1 -0
  304. package/esm/components/Tour/TourOverlay/TourOverlay.mjs +70 -0
  305. package/esm/components/Tour/TourOverlay/TourOverlay.mjs.map +1 -0
  306. package/esm/components/Tour/TourRoot/TourRoot.mjs +125 -0
  307. package/esm/components/Tour/TourRoot/TourRoot.mjs.map +1 -0
  308. package/esm/components/Tour/TourStep/TourStep.mjs +10 -0
  309. package/esm/components/Tour/TourStep/TourStep.mjs.map +1 -0
  310. package/esm/components/Tour/TourTitle/TourTitle.mjs +38 -0
  311. package/esm/components/Tour/TourTitle/TourTitle.mjs.map +1 -0
  312. package/esm/components/Tour/TourTooltip/TourTooltip.mjs +87 -0
  313. package/esm/components/Tour/TourTooltip/TourTooltip.mjs.map +1 -0
  314. package/esm/components/Tour/get-overlay-hit-path.mjs +17 -0
  315. package/esm/components/Tour/get-overlay-hit-path.mjs.map +1 -0
  316. package/esm/components/Tour/is-element-in-view.mjs +30 -0
  317. package/esm/components/Tour/is-element-in-view.mjs.map +1 -0
  318. package/esm/components/Tour/press-aware-auto-update.mjs +38 -0
  319. package/esm/components/Tour/press-aware-auto-update.mjs.map +1 -0
  320. package/esm/components/Tour/use-target-rect.mjs +59 -0
  321. package/esm/components/Tour/use-target-rect.mjs.map +1 -0
  322. package/esm/components/Tour/use-tooltip-auto-focus.mjs +34 -0
  323. package/esm/components/Tour/use-tooltip-auto-focus.mjs.map +1 -0
  324. package/esm/components/Tour/use-tour-state.mjs +102 -0
  325. package/esm/components/Tour/use-tour-state.mjs.map +1 -0
  326. package/esm/components/Tour/use-tour.mjs +155 -0
  327. package/esm/components/Tour/use-tour.mjs.map +1 -0
  328. package/esm/components/TreeSelect/TreeSelect.mjs +30 -17
  329. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
  330. package/esm/core/Box/Box.mjs +2 -2
  331. package/esm/core/Box/Box.mjs.map +1 -1
  332. package/esm/core/Box/style-props/style-props-data.mjs +2 -2
  333. package/esm/core/Box/style-props/style-props-data.mjs.map +1 -1
  334. package/esm/core/styles-api/use-styles/use-styles.mjs +32 -2
  335. package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
  336. package/esm/core/utils/shallow-equal/shallow-equal.mjs +19 -0
  337. package/esm/core/utils/shallow-equal/shallow-equal.mjs.map +1 -0
  338. package/esm/index.mjs +22 -3
  339. package/lib/components/ActionBar/ActionBar.d.ts +1 -1
  340. package/lib/components/AppShell/AppShell.context.d.ts +4 -0
  341. package/lib/components/AppShell/AppShell.d.ts +5 -3
  342. package/lib/components/AppShell/AppShell.types.d.ts +70 -0
  343. package/lib/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.d.ts +6 -1
  344. package/lib/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.d.ts +3 -1
  345. package/lib/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.d.ts +3 -1
  346. package/lib/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.d.ts +3 -1
  347. package/lib/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.d.ts +3 -1
  348. package/lib/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.d.ts +2 -0
  349. package/lib/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.d.ts +1 -0
  350. package/lib/components/AppShell/AppShellMediaStyles/get-variables/get-variables.d.ts +6 -1
  351. package/lib/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.d.ts +10 -0
  352. package/lib/components/AppShell/index.d.ts +3 -2
  353. package/lib/components/AppShell/use-app-shell-resize/clamp-resize-size.d.ts +9 -0
  354. package/lib/components/AppShell/use-app-shell-resize/resize-section-config.d.ts +29 -0
  355. package/lib/components/AppShell/use-app-shell-resize/safe-area-inset.d.ts +1 -0
  356. package/lib/components/AppShell/use-app-shell-resize/use-app-shell-resize.d.ts +2 -0
  357. package/lib/components/AppShell/use-resizing/use-resizing.d.ts +2 -1
  358. package/lib/components/Checkbox/Checkbox.d.ts +2 -2
  359. package/lib/components/Checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +2 -2
  360. package/lib/components/Combobox/Combobox.types.d.ts +1 -1
  361. package/lib/components/ComboboxPopover/ComboboxPopover.d.ts +1 -1
  362. package/lib/components/HoverCard/HoverCard.context.d.ts +8 -4
  363. package/lib/components/HoverCard/HoverCard.d.ts +41 -0
  364. package/lib/components/HoverCard/index.d.ts +1 -1
  365. package/lib/components/HoverCard/use-hover-card.d.ts +11 -0
  366. package/lib/components/Marquee/Marquee.d.ts +1 -1
  367. package/lib/components/PinInput/PinInput.d.ts +1 -1
  368. package/lib/components/Radio/Radio.d.ts +2 -2
  369. package/lib/components/Radio/RadioIndicator/RadioIndicator.d.ts +2 -2
  370. package/lib/components/Slider/Thumb/Thumb.d.ts +1 -1
  371. package/lib/components/Toggle/Toggle.d.ts +73 -0
  372. package/lib/components/Toggle/index.d.ts +7 -0
  373. package/lib/components/Toolbar/Toolbar.context.d.ts +7 -0
  374. package/lib/components/Toolbar/Toolbar.d.ts +58 -0
  375. package/lib/components/Toolbar/ToolbarDivider/ToolbarDivider.d.ts +16 -0
  376. package/lib/components/Toolbar/ToolbarGroup/ToolbarGroup.d.ts +16 -0
  377. package/lib/components/Toolbar/ToolbarToggle/ToolbarToggle.d.ts +44 -0
  378. package/lib/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.d.ts +7 -0
  379. package/lib/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.d.ts +42 -0
  380. package/lib/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.d.ts +22 -0
  381. package/lib/components/Toolbar/index.d.ts +32 -0
  382. package/lib/components/Toolbar/use-toolbar-navigation.d.ts +11 -0
  383. package/lib/components/Tooltip/Tooltip.d.ts +3 -1
  384. package/lib/components/Tooltip/use-tooltip.d.ts +2 -0
  385. package/lib/components/Tour/Tour.context.d.ts +66 -0
  386. package/lib/components/Tour/Tour.d.ts +144 -0
  387. package/lib/components/Tour/TourBeacon/TourBeacon.d.ts +23 -0
  388. package/lib/components/Tour/TourBeaconPositioned.d.ts +13 -0
  389. package/lib/components/Tour/TourBody/TourBody.d.ts +19 -0
  390. package/lib/components/Tour/TourCloseButton/TourCloseButton.d.ts +12 -0
  391. package/lib/components/Tour/TourNavigation/TourNavigation.d.ts +11 -0
  392. package/lib/components/Tour/TourOverlay/TourOverlay.d.ts +22 -0
  393. package/lib/components/Tour/TourRoot/TourRoot.d.ts +72 -0
  394. package/lib/components/Tour/TourStep/TourStep.d.ts +30 -0
  395. package/lib/components/Tour/TourTitle/TourTitle.d.ts +19 -0
  396. package/lib/components/Tour/TourTooltip/TourTooltip.d.ts +29 -0
  397. package/lib/components/Tour/get-overlay-hit-path.d.ts +2 -0
  398. package/lib/components/Tour/index.d.ts +23 -0
  399. package/lib/components/Tour/is-element-in-view.d.ts +1 -0
  400. package/lib/components/Tour/press-aware-auto-update.d.ts +2 -0
  401. package/lib/components/Tour/use-target-rect.d.ts +13 -0
  402. package/lib/components/Tour/use-tooltip-auto-focus.d.ts +7 -0
  403. package/lib/components/Tour/use-tour-state.d.ts +23 -0
  404. package/lib/components/Tour/use-tour.d.ts +40 -0
  405. package/lib/components/TreeSelect/TreeSelect.d.ts +14 -0
  406. package/lib/components/TreeSelect/index.d.ts +2 -2
  407. package/lib/components/index.d.ts +3 -0
  408. package/lib/core/Box/style-props/index.d.ts +1 -1
  409. package/lib/core/Box/style-props/style-props-data.d.ts +1 -1
  410. package/lib/core/styles-api/use-styles/use-styles.d.ts +2 -1
  411. package/lib/core/utils/shallow-equal/shallow-equal.d.ts +1 -0
  412. package/package.json +5 -5
  413. package/styles/ActionBar.css +1 -0
  414. package/styles/ActionBar.layer.css +1 -0
  415. package/styles/AppShell.css +68 -0
  416. package/styles/AppShell.layer.css +68 -0
  417. package/styles/Checkbox.css +20 -0
  418. package/styles/Checkbox.layer.css +20 -0
  419. package/styles/CheckboxIndicator.css +16 -0
  420. package/styles/CheckboxIndicator.layer.css +16 -0
  421. package/styles/Dialog.css +1 -0
  422. package/styles/Dialog.layer.css +1 -0
  423. package/styles/Marquee.css +1 -1
  424. package/styles/Marquee.layer.css +1 -1
  425. package/styles/Radio.css +10 -0
  426. package/styles/Radio.layer.css +10 -0
  427. package/styles/RadioIndicator.css +11 -0
  428. package/styles/RadioIndicator.layer.css +11 -0
  429. package/styles/Toggle.css +98 -0
  430. package/styles/Toggle.layer.css +99 -0
  431. package/styles/Toolbar.css +220 -0
  432. package/styles/Toolbar.layer.css +221 -0
  433. package/styles/Tour.css +127 -0
  434. package/styles/Tour.layer.css +128 -0
  435. package/styles.css +576 -1
  436. package/styles.layer.css +576 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Box.mjs","names":[],"sources":["../../../src/core/Box/Box.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { polymorphic } from '../factory';\nimport { hashStyleProps, InlineStyles } from '../InlineStyles';\nimport {\n MantineBreakpoint,\n useMantineDeduplicateInlineStyles,\n useMantineSxTransform,\n useMantineTheme,\n} from '../MantineProvider';\nimport { isNumberLike } from '../utils';\nimport type { CssVarsProp, MantineStyleProp } from './Box.types';\nimport { getBoxMod } from './get-box-mod/get-box-mod';\nimport { getBoxStyle } from './get-box-style/get-box-style';\nimport {\n extractStyleProps,\n MantineStyleProps,\n parseStyleProps,\n STYlE_PROPS_DATA,\n} from './style-props';\nimport { useRandomClassName } from './use-random-classname/use-random-classname';\n\nexport type Mod = Record<string, any> | string;\nexport type BoxMod = Mod | Mod[] | BoxMod[];\n\nexport interface BoxProps extends MantineStyleProps {\n /** Class added to the root element, if applicable */\n className?: string | undefined;\n\n /** Inline style added to root component element, can subscribe to theme defined on MantineProvider */\n style?: MantineStyleProp;\n\n /** CSS variables defined on root component element */\n __vars?: CssVarsProp;\n\n /** `size` property passed down the HTML element */\n __size?: string;\n\n /** Breakpoint above which the component is hidden with `display: none` */\n hiddenFrom?: MantineBreakpoint;\n\n /** Breakpoint below which the component is hidden with `display: none` */\n visibleFrom?: MantineBreakpoint;\n\n /** Determines whether component should be hidden in light color scheme with `display: none` */\n lightHidden?: boolean;\n\n /** Determines whether component should be hidden in dark color scheme with `display: none` */\n darkHidden?: boolean;\n\n /** Element modifiers transformed into `data-` attributes, for example, `{ 'data-size': 'xl' }`, falsy values are removed */\n mod?: BoxMod;\n}\n\nexport type ElementProps<\n ElementType extends React.ElementType,\n PropsToOmit extends string = never,\n> = Omit<React.ComponentProps<ElementType>, 'style' | PropsToOmit>;\n\nexport interface BoxComponentProps extends BoxProps {\n /** Variant passed from parent component, sets `data-variant` */\n variant?: string;\n\n /** Size passed from parent component, sets `data-size` if value is not number like */\n size?: string | number;\n}\n\nfunction _Box({\n component,\n style,\n __vars,\n className,\n variant,\n mod,\n size,\n hiddenFrom,\n visibleFrom,\n lightHidden,\n darkHidden,\n renderRoot,\n __size,\n ref,\n ...others\n}: BoxComponentProps & { component: any; className: string; renderRoot: any; ref: any }) {\n const theme = useMantineTheme();\n const Element = component || 'div';\n const { styleProps, rest } = extractStyleProps(others);\n const useSxTransform = useMantineSxTransform();\n const transformedSx = useSxTransform?.()?.(styleProps.sx);\n const randomClassName = useRandomClassName();\n const parsedStyleProps = parseStyleProps({\n styleProps,\n theme,\n data: STYlE_PROPS_DATA,\n });\n\n const deduplicateInlineStyles = useMantineDeduplicateInlineStyles();\n const responsiveClassName =\n deduplicateInlineStyles && parsedStyleProps.hasResponsiveStyles\n ? hashStyleProps(parsedStyleProps.styles, parsedStyleProps.media)\n : randomClassName;\n\n const props = {\n ref,\n style: getBoxStyle({\n theme,\n style,\n vars: __vars,\n styleProps: parsedStyleProps.inlineStyles,\n }),\n className: cx(className, transformedSx, {\n [responsiveClassName]: parsedStyleProps.hasResponsiveStyles,\n 'mantine-light-hidden': lightHidden,\n 'mantine-dark-hidden': darkHidden,\n [`mantine-hidden-from-${hiddenFrom}`]: hiddenFrom,\n [`mantine-visible-from-${visibleFrom}`]: visibleFrom,\n }),\n 'data-variant': variant,\n 'data-size': isNumberLike(size) ? undefined : size || undefined,\n size: __size,\n ...getBoxMod(mod),\n ...rest,\n };\n\n return (\n <>\n {parsedStyleProps.hasResponsiveStyles && (\n <InlineStyles\n selector={`.${responsiveClassName}`}\n styles={parsedStyleProps.styles}\n media={parsedStyleProps.media}\n deduplicate={deduplicateInlineStyles}\n />\n )}\n\n {typeof renderRoot === 'function' ? renderRoot(props) : <Element {...props} />}\n </>\n );\n}\n\n_Box.displayName = '@mantine/core/Box';\n\nexport const Box = polymorphic<'div', BoxComponentProps>(_Box);\n"],"mappings":";;;;;;;;;;;;;;;;AAkEA,SAAS,KAAK,EACZ,WACA,OACA,QACA,WACA,SACA,KACA,MACA,YACA,aACA,aACA,YACA,YACA,QACA,KACA,GAAG,UACoF;CACvF,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,UAAU,aAAa;CAC7B,MAAM,EAAE,YAAY,SAAS,kBAAkB,MAAM;CAErD,MAAM,gBADiB,sBACY,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE;CACxD,MAAM,kBAAkB,mBAAmB;CAC3C,MAAM,mBAAmB,gBAAgB;EACvC;EACA;EACA,MAAM;CACR,CAAC;CAED,MAAM,0BAA0B,kCAAkC;CAClE,MAAM,sBACJ,2BAA2B,iBAAiB,sBACxC,eAAe,iBAAiB,QAAQ,iBAAiB,KAAK,IAC9D;CAEN,MAAM,QAAQ;EACZ;EACA,OAAO,YAAY;GACjB;GACA;GACA,MAAM;GACN,YAAY,iBAAiB;EAC/B,CAAC;EACD,WAAW,GAAG,WAAW,eAAe;IACrC,sBAAsB,iBAAiB;GACxC,wBAAwB;GACxB,uBAAuB;IACtB,uBAAuB,eAAe;IACtC,wBAAwB,gBAAgB;EAC3C,CAAC;EACD,gBAAgB;EAChB,aAAa,aAAa,IAAI,IAAI,KAAA,IAAY,QAAQ,KAAA;EACtD,MAAM;EACN,GAAG,UAAU,GAAG;EAChB,GAAG;CACL;CAEA,OACE,qBAAA,UAAA,EAAA,UAAA,CACG,iBAAiB,uBAChB,oBAAC,cAAD;EACE,UAAU,IAAI;EACd,QAAQ,iBAAiB;EACzB,OAAO,iBAAiB;EACxB,aAAa;CACd,CAAA,GAGF,OAAO,eAAe,aAAa,WAAW,KAAK,IAAI,oBAAC,SAAD,EAAS,GAAI,MAAQ,CAAA,CAC7E,EAAA,CAAA;AAEN;AAEA,KAAK,cAAc;AAEnB,MAAa,MAAM,YAAsC,IAAI"}
1
+ {"version":3,"file":"Box.mjs","names":[],"sources":["../../../src/core/Box/Box.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { polymorphic } from '../factory';\nimport { hashStyleProps, InlineStyles } from '../InlineStyles';\nimport {\n MantineBreakpoint,\n useMantineDeduplicateInlineStyles,\n useMantineSxTransform,\n useMantineTheme,\n} from '../MantineProvider';\nimport { isNumberLike } from '../utils';\nimport type { CssVarsProp, MantineStyleProp } from './Box.types';\nimport { getBoxMod } from './get-box-mod/get-box-mod';\nimport { getBoxStyle } from './get-box-style/get-box-style';\nimport {\n extractStyleProps,\n MantineStyleProps,\n parseStyleProps,\n STYLE_PROPS_DATA,\n} from './style-props';\nimport { useRandomClassName } from './use-random-classname/use-random-classname';\n\nexport type Mod = Record<string, any> | string;\nexport type BoxMod = Mod | Mod[] | BoxMod[];\n\nexport interface BoxProps extends MantineStyleProps {\n /** Class added to the root element, if applicable */\n className?: string | undefined;\n\n /** Inline style added to root component element, can subscribe to theme defined on MantineProvider */\n style?: MantineStyleProp;\n\n /** CSS variables defined on root component element */\n __vars?: CssVarsProp;\n\n /** `size` property passed down the HTML element */\n __size?: string;\n\n /** Breakpoint above which the component is hidden with `display: none` */\n hiddenFrom?: MantineBreakpoint;\n\n /** Breakpoint below which the component is hidden with `display: none` */\n visibleFrom?: MantineBreakpoint;\n\n /** Determines whether component should be hidden in light color scheme with `display: none` */\n lightHidden?: boolean;\n\n /** Determines whether component should be hidden in dark color scheme with `display: none` */\n darkHidden?: boolean;\n\n /** Element modifiers transformed into `data-` attributes, for example, `{ 'data-size': 'xl' }`, falsy values are removed */\n mod?: BoxMod;\n}\n\nexport type ElementProps<\n ElementType extends React.ElementType,\n PropsToOmit extends string = never,\n> = Omit<React.ComponentProps<ElementType>, 'style' | PropsToOmit>;\n\nexport interface BoxComponentProps extends BoxProps {\n /** Variant passed from parent component, sets `data-variant` */\n variant?: string;\n\n /** Size passed from parent component, sets `data-size` if value is not number like */\n size?: string | number;\n}\n\nfunction _Box({\n component,\n style,\n __vars,\n className,\n variant,\n mod,\n size,\n hiddenFrom,\n visibleFrom,\n lightHidden,\n darkHidden,\n renderRoot,\n __size,\n ref,\n ...others\n}: BoxComponentProps & { component: any; className: string; renderRoot: any; ref: any }) {\n const theme = useMantineTheme();\n const Element = component || 'div';\n const { styleProps, rest } = extractStyleProps(others);\n const useSxTransform = useMantineSxTransform();\n const transformedSx = useSxTransform?.()?.(styleProps.sx);\n const randomClassName = useRandomClassName();\n const parsedStyleProps = parseStyleProps({\n styleProps,\n theme,\n data: STYLE_PROPS_DATA,\n });\n\n const deduplicateInlineStyles = useMantineDeduplicateInlineStyles();\n const responsiveClassName =\n deduplicateInlineStyles && parsedStyleProps.hasResponsiveStyles\n ? hashStyleProps(parsedStyleProps.styles, parsedStyleProps.media)\n : randomClassName;\n\n const props = {\n ref,\n style: getBoxStyle({\n theme,\n style,\n vars: __vars,\n styleProps: parsedStyleProps.inlineStyles,\n }),\n className: cx(className, transformedSx, {\n [responsiveClassName]: parsedStyleProps.hasResponsiveStyles,\n 'mantine-light-hidden': lightHidden,\n 'mantine-dark-hidden': darkHidden,\n [`mantine-hidden-from-${hiddenFrom}`]: hiddenFrom,\n [`mantine-visible-from-${visibleFrom}`]: visibleFrom,\n }),\n 'data-variant': variant,\n 'data-size': isNumberLike(size) ? undefined : size || undefined,\n size: __size,\n ...getBoxMod(mod),\n ...rest,\n };\n\n return (\n <>\n {parsedStyleProps.hasResponsiveStyles && (\n <InlineStyles\n selector={`.${responsiveClassName}`}\n styles={parsedStyleProps.styles}\n media={parsedStyleProps.media}\n deduplicate={deduplicateInlineStyles}\n />\n )}\n\n {typeof renderRoot === 'function' ? renderRoot(props) : <Element {...props} />}\n </>\n );\n}\n\n_Box.displayName = '@mantine/core/Box';\n\nexport const Box = polymorphic<'div', BoxComponentProps>(_Box);\n"],"mappings":";;;;;;;;;;;;;;;;AAkEA,SAAS,KAAK,EACZ,WACA,OACA,QACA,WACA,SACA,KACA,MACA,YACA,aACA,aACA,YACA,YACA,QACA,KACA,GAAG,UACoF;CACvF,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,UAAU,aAAa;CAC7B,MAAM,EAAE,YAAY,SAAS,kBAAkB,MAAM;CAErD,MAAM,gBADiB,sBACY,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE;CACxD,MAAM,kBAAkB,mBAAmB;CAC3C,MAAM,mBAAmB,gBAAgB;EACvC;EACA;EACA,MAAM;CACR,CAAC;CAED,MAAM,0BAA0B,kCAAkC;CAClE,MAAM,sBACJ,2BAA2B,iBAAiB,sBACxC,eAAe,iBAAiB,QAAQ,iBAAiB,KAAK,IAC9D;CAEN,MAAM,QAAQ;EACZ;EACA,OAAO,YAAY;GACjB;GACA;GACA,MAAM;GACN,YAAY,iBAAiB;EAC/B,CAAC;EACD,WAAW,GAAG,WAAW,eAAe;IACrC,sBAAsB,iBAAiB;GACxC,wBAAwB;GACxB,uBAAuB;IACtB,uBAAuB,eAAe;IACtC,wBAAwB,gBAAgB;EAC3C,CAAC;EACD,gBAAgB;EAChB,aAAa,aAAa,IAAI,IAAI,KAAA,IAAY,QAAQ,KAAA;EACtD,MAAM;EACN,GAAG,UAAU,GAAG;EAChB,GAAG;CACL;CAEA,OACE,qBAAA,UAAA,EAAA,UAAA,CACG,iBAAiB,uBAChB,oBAAC,cAAD;EACE,UAAU,IAAI;EACd,QAAQ,iBAAiB;EACzB,OAAO,iBAAiB;EACxB,aAAa;CACd,CAAA,GAGF,OAAO,eAAe,aAAa,WAAW,KAAK,IAAI,oBAAC,SAAD,EAAS,GAAI,MAAQ,CAAA,CAC7E,EAAA,CAAA;AAEN;AAEA,KAAK,cAAc;AAEnB,MAAa,MAAM,YAAsC,IAAI"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region packages/@mantine/core/src/core/Box/style-props/style-props-data.ts
3
- const STYlE_PROPS_DATA = {
3
+ const STYLE_PROPS_DATA = {
4
4
  m: {
5
5
  type: "spacing",
6
6
  property: "margin"
@@ -219,6 +219,6 @@ const STYlE_PROPS_DATA = {
219
219
  }
220
220
  };
221
221
  //#endregion
222
- export { STYlE_PROPS_DATA };
222
+ export { STYLE_PROPS_DATA };
223
223
 
224
224
  //# sourceMappingURL=style-props-data.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"style-props-data.mjs","names":[],"sources":["../../../../src/core/Box/style-props/style-props-data.ts"],"sourcesContent":["import type { StylePropType } from './resolvers';\nimport type { MantineStyleProps } from './style-props.types';\n\nexport interface SystemPropData {\n type: StylePropType;\n property: string | string[];\n}\n\nexport const STYlE_PROPS_DATA: Record<keyof MantineStyleProps, SystemPropData> = {\n m: { type: 'spacing', property: 'margin' },\n mt: { type: 'spacing', property: 'marginTop' },\n mb: { type: 'spacing', property: 'marginBottom' },\n ml: { type: 'spacing', property: 'marginLeft' },\n mr: { type: 'spacing', property: 'marginRight' },\n ms: { type: 'spacing', property: 'marginInlineStart' },\n me: { type: 'spacing', property: 'marginInlineEnd' },\n mis: { type: 'spacing', property: 'marginInlineStart' },\n mie: { type: 'spacing', property: 'marginInlineEnd' },\n mx: { type: 'spacing', property: 'marginInline' },\n my: { type: 'spacing', property: 'marginBlock' },\n\n p: { type: 'spacing', property: 'padding' },\n pt: { type: 'spacing', property: 'paddingTop' },\n pb: { type: 'spacing', property: 'paddingBottom' },\n pl: { type: 'spacing', property: 'paddingLeft' },\n pr: { type: 'spacing', property: 'paddingRight' },\n ps: { type: 'spacing', property: 'paddingInlineStart' },\n pe: { type: 'spacing', property: 'paddingInlineEnd' },\n pis: { type: 'spacing', property: 'paddingInlineStart' },\n pie: { type: 'spacing', property: 'paddingInlineEnd' },\n px: { type: 'spacing', property: 'paddingInline' },\n py: { type: 'spacing', property: 'paddingBlock' },\n\n bd: { type: 'border', property: 'border' },\n bdrs: { type: 'radius', property: 'borderRadius' },\n bg: { type: 'color', property: 'background' },\n c: { type: 'textColor', property: 'color' },\n opacity: { type: 'identity', property: 'opacity' },\n\n ff: { type: 'fontFamily', property: 'fontFamily' },\n fz: { type: 'fontSize', property: 'fontSize' },\n fw: { type: 'identity', property: 'fontWeight' },\n lts: { type: 'size', property: 'letterSpacing' },\n ta: { type: 'identity', property: 'textAlign' },\n lh: { type: 'lineHeight', property: 'lineHeight' },\n fs: { type: 'identity', property: 'fontStyle' },\n tt: { type: 'identity', property: 'textTransform' },\n td: { type: 'identity', property: 'textDecoration' },\n\n w: { type: 'spacing', property: 'width' },\n miw: { type: 'spacing', property: 'minWidth' },\n maw: { type: 'spacing', property: 'maxWidth' },\n h: { type: 'spacing', property: 'height' },\n mih: { type: 'spacing', property: 'minHeight' },\n mah: { type: 'spacing', property: 'maxHeight' },\n\n bgsz: { type: 'size', property: 'backgroundSize' },\n bgp: { type: 'identity', property: 'backgroundPosition' },\n bgr: { type: 'identity', property: 'backgroundRepeat' },\n bga: { type: 'identity', property: 'backgroundAttachment' },\n\n pos: { type: 'identity', property: 'position' },\n top: { type: 'size', property: 'top' },\n left: { type: 'size', property: 'left' },\n bottom: { type: 'size', property: 'bottom' },\n right: { type: 'size', property: 'right' },\n inset: { type: 'size', property: 'inset' },\n\n display: { type: 'identity', property: 'display' },\n flex: { type: 'identity', property: 'flex' },\n};\n"],"mappings":";;AAQA,MAAa,mBAAoE;CAC/E,GAAG;EAAE,MAAM;EAAW,UAAU;CAAS;CACzC,IAAI;EAAE,MAAM;EAAW,UAAU;CAAY;CAC7C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAChD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAa;CAC9C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAc;CAC/C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAoB;CACrD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAkB;CACnD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAoB;CACtD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAkB;CACpD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAChD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAc;CAE/C,GAAG;EAAE,MAAM;EAAW,UAAU;CAAU;CAC1C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAa;CAC9C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAgB;CACjD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAc;CAC/C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAChD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAqB;CACtD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAmB;CACpD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAqB;CACvD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAmB;CACrD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAgB;CACjD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAEhD,IAAI;EAAE,MAAM;EAAU,UAAU;CAAS;CACzC,MAAM;EAAE,MAAM;EAAU,UAAU;CAAe;CACjD,IAAI;EAAE,MAAM;EAAS,UAAU;CAAa;CAC5C,GAAG;EAAE,MAAM;EAAa,UAAU;CAAQ;CAC1C,SAAS;EAAE,MAAM;EAAY,UAAU;CAAU;CAEjD,IAAI;EAAE,MAAM;EAAc,UAAU;CAAa;CACjD,IAAI;EAAE,MAAM;EAAY,UAAU;CAAW;CAC7C,IAAI;EAAE,MAAM;EAAY,UAAU;CAAa;CAC/C,KAAK;EAAE,MAAM;EAAQ,UAAU;CAAgB;CAC/C,IAAI;EAAE,MAAM;EAAY,UAAU;CAAY;CAC9C,IAAI;EAAE,MAAM;EAAc,UAAU;CAAa;CACjD,IAAI;EAAE,MAAM;EAAY,UAAU;CAAY;CAC9C,IAAI;EAAE,MAAM;EAAY,UAAU;CAAgB;CAClD,IAAI;EAAE,MAAM;EAAY,UAAU;CAAiB;CAEnD,GAAG;EAAE,MAAM;EAAW,UAAU;CAAQ;CACxC,KAAK;EAAE,MAAM;EAAW,UAAU;CAAW;CAC7C,KAAK;EAAE,MAAM;EAAW,UAAU;CAAW;CAC7C,GAAG;EAAE,MAAM;EAAW,UAAU;CAAS;CACzC,KAAK;EAAE,MAAM;EAAW,UAAU;CAAY;CAC9C,KAAK;EAAE,MAAM;EAAW,UAAU;CAAY;CAE9C,MAAM;EAAE,MAAM;EAAQ,UAAU;CAAiB;CACjD,KAAK;EAAE,MAAM;EAAY,UAAU;CAAqB;CACxD,KAAK;EAAE,MAAM;EAAY,UAAU;CAAmB;CACtD,KAAK;EAAE,MAAM;EAAY,UAAU;CAAuB;CAE1D,KAAK;EAAE,MAAM;EAAY,UAAU;CAAW;CAC9C,KAAK;EAAE,MAAM;EAAQ,UAAU;CAAM;CACrC,MAAM;EAAE,MAAM;EAAQ,UAAU;CAAO;CACvC,QAAQ;EAAE,MAAM;EAAQ,UAAU;CAAS;CAC3C,OAAO;EAAE,MAAM;EAAQ,UAAU;CAAQ;CACzC,OAAO;EAAE,MAAM;EAAQ,UAAU;CAAQ;CAEzC,SAAS;EAAE,MAAM;EAAY,UAAU;CAAU;CACjD,MAAM;EAAE,MAAM;EAAY,UAAU;CAAO;AAC7C"}
1
+ {"version":3,"file":"style-props-data.mjs","names":[],"sources":["../../../../src/core/Box/style-props/style-props-data.ts"],"sourcesContent":["import type { StylePropType } from './resolvers';\nimport type { MantineStyleProps } from './style-props.types';\n\nexport interface SystemPropData {\n type: StylePropType;\n property: string | string[];\n}\n\nexport const STYLE_PROPS_DATA: Record<keyof MantineStyleProps, SystemPropData> = {\n m: { type: 'spacing', property: 'margin' },\n mt: { type: 'spacing', property: 'marginTop' },\n mb: { type: 'spacing', property: 'marginBottom' },\n ml: { type: 'spacing', property: 'marginLeft' },\n mr: { type: 'spacing', property: 'marginRight' },\n ms: { type: 'spacing', property: 'marginInlineStart' },\n me: { type: 'spacing', property: 'marginInlineEnd' },\n mis: { type: 'spacing', property: 'marginInlineStart' },\n mie: { type: 'spacing', property: 'marginInlineEnd' },\n mx: { type: 'spacing', property: 'marginInline' },\n my: { type: 'spacing', property: 'marginBlock' },\n\n p: { type: 'spacing', property: 'padding' },\n pt: { type: 'spacing', property: 'paddingTop' },\n pb: { type: 'spacing', property: 'paddingBottom' },\n pl: { type: 'spacing', property: 'paddingLeft' },\n pr: { type: 'spacing', property: 'paddingRight' },\n ps: { type: 'spacing', property: 'paddingInlineStart' },\n pe: { type: 'spacing', property: 'paddingInlineEnd' },\n pis: { type: 'spacing', property: 'paddingInlineStart' },\n pie: { type: 'spacing', property: 'paddingInlineEnd' },\n px: { type: 'spacing', property: 'paddingInline' },\n py: { type: 'spacing', property: 'paddingBlock' },\n\n bd: { type: 'border', property: 'border' },\n bdrs: { type: 'radius', property: 'borderRadius' },\n bg: { type: 'color', property: 'background' },\n c: { type: 'textColor', property: 'color' },\n opacity: { type: 'identity', property: 'opacity' },\n\n ff: { type: 'fontFamily', property: 'fontFamily' },\n fz: { type: 'fontSize', property: 'fontSize' },\n fw: { type: 'identity', property: 'fontWeight' },\n lts: { type: 'size', property: 'letterSpacing' },\n ta: { type: 'identity', property: 'textAlign' },\n lh: { type: 'lineHeight', property: 'lineHeight' },\n fs: { type: 'identity', property: 'fontStyle' },\n tt: { type: 'identity', property: 'textTransform' },\n td: { type: 'identity', property: 'textDecoration' },\n\n w: { type: 'spacing', property: 'width' },\n miw: { type: 'spacing', property: 'minWidth' },\n maw: { type: 'spacing', property: 'maxWidth' },\n h: { type: 'spacing', property: 'height' },\n mih: { type: 'spacing', property: 'minHeight' },\n mah: { type: 'spacing', property: 'maxHeight' },\n\n bgsz: { type: 'size', property: 'backgroundSize' },\n bgp: { type: 'identity', property: 'backgroundPosition' },\n bgr: { type: 'identity', property: 'backgroundRepeat' },\n bga: { type: 'identity', property: 'backgroundAttachment' },\n\n pos: { type: 'identity', property: 'position' },\n top: { type: 'size', property: 'top' },\n left: { type: 'size', property: 'left' },\n bottom: { type: 'size', property: 'bottom' },\n right: { type: 'size', property: 'right' },\n inset: { type: 'size', property: 'inset' },\n\n display: { type: 'identity', property: 'display' },\n flex: { type: 'identity', property: 'flex' },\n};\n"],"mappings":";;AAQA,MAAa,mBAAoE;CAC/E,GAAG;EAAE,MAAM;EAAW,UAAU;CAAS;CACzC,IAAI;EAAE,MAAM;EAAW,UAAU;CAAY;CAC7C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAChD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAa;CAC9C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAc;CAC/C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAoB;CACrD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAkB;CACnD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAoB;CACtD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAkB;CACpD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAChD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAc;CAE/C,GAAG;EAAE,MAAM;EAAW,UAAU;CAAU;CAC1C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAa;CAC9C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAgB;CACjD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAc;CAC/C,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAChD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAqB;CACtD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAmB;CACpD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAqB;CACvD,KAAK;EAAE,MAAM;EAAW,UAAU;CAAmB;CACrD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAgB;CACjD,IAAI;EAAE,MAAM;EAAW,UAAU;CAAe;CAEhD,IAAI;EAAE,MAAM;EAAU,UAAU;CAAS;CACzC,MAAM;EAAE,MAAM;EAAU,UAAU;CAAe;CACjD,IAAI;EAAE,MAAM;EAAS,UAAU;CAAa;CAC5C,GAAG;EAAE,MAAM;EAAa,UAAU;CAAQ;CAC1C,SAAS;EAAE,MAAM;EAAY,UAAU;CAAU;CAEjD,IAAI;EAAE,MAAM;EAAc,UAAU;CAAa;CACjD,IAAI;EAAE,MAAM;EAAY,UAAU;CAAW;CAC7C,IAAI;EAAE,MAAM;EAAY,UAAU;CAAa;CAC/C,KAAK;EAAE,MAAM;EAAQ,UAAU;CAAgB;CAC/C,IAAI;EAAE,MAAM;EAAY,UAAU;CAAY;CAC9C,IAAI;EAAE,MAAM;EAAc,UAAU;CAAa;CACjD,IAAI;EAAE,MAAM;EAAY,UAAU;CAAY;CAC9C,IAAI;EAAE,MAAM;EAAY,UAAU;CAAgB;CAClD,IAAI;EAAE,MAAM;EAAY,UAAU;CAAiB;CAEnD,GAAG;EAAE,MAAM;EAAW,UAAU;CAAQ;CACxC,KAAK;EAAE,MAAM;EAAW,UAAU;CAAW;CAC7C,KAAK;EAAE,MAAM;EAAW,UAAU;CAAW;CAC7C,GAAG;EAAE,MAAM;EAAW,UAAU;CAAS;CACzC,KAAK;EAAE,MAAM;EAAW,UAAU;CAAY;CAC9C,KAAK;EAAE,MAAM;EAAW,UAAU;CAAY;CAE9C,MAAM;EAAE,MAAM;EAAQ,UAAU;CAAiB;CACjD,KAAK;EAAE,MAAM;EAAY,UAAU;CAAqB;CACxD,KAAK;EAAE,MAAM;EAAY,UAAU;CAAmB;CACtD,KAAK;EAAE,MAAM;EAAY,UAAU;CAAuB;CAE1D,KAAK;EAAE,MAAM;EAAY,UAAU;CAAW;CAC9C,KAAK;EAAE,MAAM;EAAQ,UAAU;CAAM;CACrC,MAAM;EAAE,MAAM;EAAQ,UAAU;CAAO;CACvC,QAAQ;EAAE,MAAM;EAAQ,UAAU;CAAS;CAC3C,OAAO;EAAE,MAAM;EAAQ,UAAU;CAAQ;CACzC,OAAO;EAAE,MAAM;EAAQ,UAAU;CAAQ;CAEzC,SAAS;EAAE,MAAM;EAAY,UAAU;CAAU;CACjD,MAAM;EAAE,MAAM;EAAY,UAAU;CAAO;AAC7C"}
@@ -3,13 +3,15 @@ import { resolveClassNames } from "./get-class-name/resolve-class-names/resolve-
3
3
  import { resolveStyles } from "./get-style/resolve-styles/resolve-styles.mjs";
4
4
  import { useMantineClassNamesPrefix, useMantineIsHeadless, useMantineWithStaticClasses } from "../../MantineProvider/Mantine.context.mjs";
5
5
  import { useMantineTheme } from "../../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs";
6
+ import { shallowEqual } from "../../utils/shallow-equal/shallow-equal.mjs";
6
7
  import { getClassName } from "./get-class-name/get-class-name.mjs";
7
8
  import { resolveStyle } from "./get-style/resolve-style/resolve-style.mjs";
8
9
  import { getStyle } from "./get-style/get-style.mjs";
9
10
  import { mergeVars } from "./get-style/resolve-vars/merge-vars.mjs";
10
11
  import { useStylesTransform } from "./use-transformed-styles.mjs";
12
+ import { useRef } from "react";
11
13
  //#region packages/@mantine/core/src/core/styles-api/use-styles/use-styles.ts
12
- function useStyles({ name, classes, props, stylesCtx, className, style, rootSelector = "root", unstyled, classNames, styles, vars, varsResolver, attributes }) {
14
+ function useStyles({ name, classes, props, stylesCtx, className, style, rootSelector = "root", unstyled, classNames, styles, vars, varsResolver, attributes, stable }) {
13
15
  const theme = useMantineTheme();
14
16
  const classNamesPrefix = useMantineClassNamesPrefix();
15
17
  const withStaticClasses = useMantineWithStaticClasses();
@@ -61,7 +63,7 @@ function useStyles({ name, classes, props, stylesCtx, className, style, rootSele
61
63
  style,
62
64
  theme
63
65
  });
64
- return (selector, options) => ({
66
+ const getStyles = (selector, options) => ({
65
67
  ...attributes?.[selector],
66
68
  className: getClassName({
67
69
  theme,
@@ -95,6 +97,34 @@ function useStyles({ name, classes, props, stylesCtx, className, style, rootSele
95
97
  resolvedRootStyle
96
98
  })
97
99
  });
100
+ return useStableGetStyles(getStyles, !!stable, [
101
+ theme,
102
+ classNamesPrefix,
103
+ withStaticClasses,
104
+ headless,
105
+ withStylesTransform ? props : null,
106
+ classes,
107
+ unstyled,
108
+ className,
109
+ rootSelector,
110
+ attributes,
111
+ stylesCtx,
112
+ resolvedClassNames,
113
+ resolvedThemeClassNames,
114
+ resolvedComponentStyles,
115
+ resolvedThemeStyles,
116
+ resolvedVars,
117
+ resolvedRootStyle
118
+ ]);
119
+ }
120
+ function useStableGetStyles(getStyles, stable, deps) {
121
+ const cache = useRef(null);
122
+ if (!stable) return getStyles;
123
+ if (!cache.current || !shallowEqual(cache.current.deps, deps, 3)) cache.current = {
124
+ deps,
125
+ getStyles
126
+ };
127
+ return cache.current.getStyles;
98
128
  }
99
129
  //#endregion
100
130
  export { useStyles };
@@ -1 +1 @@
1
- {"version":3,"file":"use-styles.mjs","names":[],"sources":["../../../../src/core/styles-api/use-styles/use-styles.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport type { MantineStyleProp } from '../../Box';\nimport { FactoryPayload } from '../../factory';\nimport {\n useMantineClassNamesPrefix,\n useMantineIsHeadless,\n useMantineTheme,\n useMantineWithStaticClasses,\n} from '../../MantineProvider';\nimport { PartialVarsResolver, VarsResolver } from '../create-vars-resolver/create-vars-resolver';\nimport {\n Attributes,\n ClassNames,\n ClassNamesArray,\n GetStylesApiOptions,\n Styles,\n} from '../styles-api.types';\nimport { getClassName } from './get-class-name/get-class-name';\nimport { resolveClassNames } from './get-class-name/resolve-class-names/resolve-class-names';\nimport { getStyle } from './get-style/get-style';\nimport { resolveStyle } from './get-style/resolve-style/resolve-style';\nimport { resolveStyles } from './get-style/resolve-styles/resolve-styles';\nimport { mergeVars } from './get-style/resolve-vars/merge-vars';\nimport { useStylesTransform } from './use-transformed-styles';\n\nexport interface UseStylesInput<Payload extends FactoryPayload> {\n name: string | (string | undefined)[];\n classes: Payload['stylesNames'] extends string ? Record<string, string> : never;\n props: Payload['props'];\n stylesCtx?: Payload['ctx'];\n className?: string | undefined;\n style?: MantineStyleProp;\n rootSelector?: Payload['stylesNames'];\n unstyled?: boolean;\n classNames?: ClassNames<Payload> | ClassNamesArray<Payload>;\n styles?: Styles<Payload>;\n vars?: PartialVarsResolver<Payload>;\n varsResolver?: VarsResolver<Payload>;\n attributes?: Attributes<Payload>;\n}\n\nexport type GetStylesApi<Payload extends FactoryPayload> = (\n selector: NonNullable<Payload['stylesNames']>,\n options?: GetStylesApiOptions\n) => {\n className: string;\n style: CSSProperties;\n};\n\nexport function useStyles<Payload extends FactoryPayload>({\n name,\n classes,\n props,\n stylesCtx,\n className,\n style,\n rootSelector = 'root' as NonNullable<Payload['stylesNames']>,\n unstyled,\n classNames,\n styles,\n vars,\n varsResolver,\n attributes,\n}: UseStylesInput<Payload>): GetStylesApi<Payload> {\n const theme = useMantineTheme();\n const classNamesPrefix = useMantineClassNamesPrefix();\n const withStaticClasses = useMantineWithStaticClasses();\n const headless = useMantineIsHeadless();\n const themeName = (Array.isArray(name) ? name : [name]).filter((n) => n) as string[];\n const { withStylesTransform, getTransformedStyles } = useStylesTransform({\n props,\n stylesCtx,\n themeName,\n theme,\n });\n\n const resolvedClassNames = resolveClassNames({ theme, classNames, props, stylesCtx });\n const resolvedThemeClassNames = themeName.map((n) =>\n resolveClassNames({ theme, classNames: theme.components[n]?.classNames, props, stylesCtx })\n );\n\n const resolvedComponentStyles = withStylesTransform\n ? {}\n : resolveStyles({ theme, styles, props, stylesCtx });\n\n const resolvedThemeStyles: Record<string, any> = {};\n\n if (!withStylesTransform) {\n for (const n of themeName) {\n const resolved = resolveStyles({\n theme,\n styles: theme.components[n]?.styles,\n props,\n stylesCtx,\n });\n\n for (const key of Object.keys(resolved)) {\n resolvedThemeStyles[key] = { ...resolvedThemeStyles[key], ...resolved[key] };\n }\n }\n }\n\n const resolvedVars = mergeVars([\n headless ? {} : varsResolver?.(theme, props, stylesCtx),\n ...themeName.map((n) => theme.components?.[n]?.vars?.(theme, props, stylesCtx)),\n vars?.(theme, props, stylesCtx),\n ]);\n\n const resolvedRootStyle = resolveStyle({ style, theme });\n\n return (selector, options) => ({\n ...attributes?.[selector],\n\n className: getClassName({\n theme,\n options,\n themeName,\n selector,\n classNamesPrefix,\n resolvedClassNames,\n resolvedThemeClassNames,\n classes,\n unstyled,\n className,\n rootSelector,\n props,\n stylesCtx,\n withStaticClasses,\n headless,\n transformedStyles: getTransformedStyles([options?.styles, styles]),\n }),\n\n style: getStyle({\n theme,\n selector,\n options,\n props,\n stylesCtx,\n rootSelector,\n withStylesTransform,\n resolvedStyles: resolvedComponentStyles,\n resolvedThemeStyles,\n resolvedVars,\n resolvedRootStyle,\n }),\n });\n}\n"],"mappings":";;;;;;;;;;;AAiDA,SAAgB,UAA0C,EACxD,MACA,SACA,OACA,WACA,WACA,OACA,eAAe,QACf,UACA,YACA,QACA,MACA,cACA,cACiD;CACjD,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,mBAAmB,2BAA2B;CACpD,MAAM,oBAAoB,4BAA4B;CACtD,MAAM,WAAW,qBAAqB;CACtC,MAAM,aAAa,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI,EAAA,CAAG,QAAQ,MAAM,CAAC;CACvE,MAAM,EAAE,qBAAqB,yBAAyB,mBAAmB;EACvE;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,qBAAqB,kBAAkB;EAAE;EAAO;EAAY;EAAO;CAAU,CAAC;CACpF,MAAM,0BAA0B,UAAU,KAAK,MAC7C,kBAAkB;EAAE;EAAO,YAAY,MAAM,WAAW,EAAE,EAAE;EAAY;EAAO;CAAU,CAAC,CAC5F;CAEA,MAAM,0BAA0B,sBAC5B,CAAC,IACD,cAAc;EAAE;EAAO;EAAQ;EAAO;CAAU,CAAC;CAErD,MAAM,sBAA2C,CAAC;CAElD,IAAI,CAAC,qBACH,KAAK,MAAM,KAAK,WAAW;EACzB,MAAM,WAAW,cAAc;GAC7B;GACA,QAAQ,MAAM,WAAW,EAAE,EAAE;GAC7B;GACA;EACF,CAAC;EAED,KAAK,MAAM,OAAO,OAAO,KAAK,QAAQ,GACpC,oBAAoB,OAAO;GAAE,GAAG,oBAAoB;GAAM,GAAG,SAAS;EAAK;CAE/E;CAGF,MAAM,eAAe,UAAU;EAC7B,WAAW,CAAC,IAAI,eAAe,OAAO,OAAO,SAAS;EACtD,GAAG,UAAU,KAAK,MAAM,MAAM,aAAa,EAAE,EAAE,OAAO,OAAO,OAAO,SAAS,CAAC;EAC9E,OAAO,OAAO,OAAO,SAAS;CAChC,CAAC;CAED,MAAM,oBAAoB,aAAa;EAAE;EAAO;CAAM,CAAC;CAEvD,QAAQ,UAAU,aAAa;EAC7B,GAAG,aAAa;EAEhB,WAAW,aAAa;GACtB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,mBAAmB,qBAAqB,CAAC,SAAS,QAAQ,MAAM,CAAC;EACnE,CAAC;EAED,OAAO,SAAS;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA,gBAAgB;GAChB;GACA;GACA;EACF,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"use-styles.mjs","names":[],"sources":["../../../../src/core/styles-api/use-styles/use-styles.ts"],"sourcesContent":["import { CSSProperties, useRef } from 'react';\nimport type { MantineStyleProp } from '../../Box';\nimport { FactoryPayload } from '../../factory';\nimport {\n useMantineClassNamesPrefix,\n useMantineIsHeadless,\n useMantineTheme,\n useMantineWithStaticClasses,\n} from '../../MantineProvider';\nimport { shallowEqual } from '../../utils/shallow-equal/shallow-equal';\nimport { PartialVarsResolver, VarsResolver } from '../create-vars-resolver/create-vars-resolver';\nimport {\n Attributes,\n ClassNames,\n ClassNamesArray,\n GetStylesApiOptions,\n Styles,\n} from '../styles-api.types';\nimport { getClassName } from './get-class-name/get-class-name';\nimport { resolveClassNames } from './get-class-name/resolve-class-names/resolve-class-names';\nimport { getStyle } from './get-style/get-style';\nimport { resolveStyle } from './get-style/resolve-style/resolve-style';\nimport { resolveStyles } from './get-style/resolve-styles/resolve-styles';\nimport { mergeVars } from './get-style/resolve-vars/merge-vars';\nimport { useStylesTransform } from './use-transformed-styles';\n\nexport interface UseStylesInput<Payload extends FactoryPayload> {\n name: string | (string | undefined)[];\n classes: Payload['stylesNames'] extends string ? Record<string, string> : never;\n props: Payload['props'];\n stylesCtx?: Payload['ctx'];\n className?: string | undefined;\n style?: MantineStyleProp;\n rootSelector?: Payload['stylesNames'];\n unstyled?: boolean;\n classNames?: ClassNames<Payload> | ClassNamesArray<Payload>;\n styles?: Styles<Payload>;\n vars?: PartialVarsResolver<Payload>;\n varsResolver?: VarsResolver<Payload>;\n attributes?: Attributes<Payload>;\n stable?: boolean;\n}\n\nexport type GetStylesApi<Payload extends FactoryPayload> = (\n selector: NonNullable<Payload['stylesNames']>,\n options?: GetStylesApiOptions\n) => {\n className: string;\n style: CSSProperties;\n};\n\nexport function useStyles<Payload extends FactoryPayload>({\n name,\n classes,\n props,\n stylesCtx,\n className,\n style,\n rootSelector = 'root' as NonNullable<Payload['stylesNames']>,\n unstyled,\n classNames,\n styles,\n vars,\n varsResolver,\n attributes,\n stable,\n}: UseStylesInput<Payload>): GetStylesApi<Payload> {\n const theme = useMantineTheme();\n const classNamesPrefix = useMantineClassNamesPrefix();\n const withStaticClasses = useMantineWithStaticClasses();\n const headless = useMantineIsHeadless();\n const themeName = (Array.isArray(name) ? name : [name]).filter((n) => n) as string[];\n const { withStylesTransform, getTransformedStyles } = useStylesTransform({\n props,\n stylesCtx,\n themeName,\n theme,\n });\n\n const resolvedClassNames = resolveClassNames({ theme, classNames, props, stylesCtx });\n const resolvedThemeClassNames = themeName.map((n) =>\n resolveClassNames({ theme, classNames: theme.components[n]?.classNames, props, stylesCtx })\n );\n\n const resolvedComponentStyles = withStylesTransform\n ? {}\n : resolveStyles({ theme, styles, props, stylesCtx });\n\n const resolvedThemeStyles: Record<string, any> = {};\n\n if (!withStylesTransform) {\n for (const n of themeName) {\n const resolved = resolveStyles({\n theme,\n styles: theme.components[n]?.styles,\n props,\n stylesCtx,\n });\n\n for (const key of Object.keys(resolved)) {\n resolvedThemeStyles[key] = { ...resolvedThemeStyles[key], ...resolved[key] };\n }\n }\n }\n\n const resolvedVars = mergeVars([\n headless ? {} : varsResolver?.(theme, props, stylesCtx),\n ...themeName.map((n) => theme.components?.[n]?.vars?.(theme, props, stylesCtx)),\n vars?.(theme, props, stylesCtx),\n ]);\n\n const resolvedRootStyle = resolveStyle({ style, theme });\n\n const getStyles: GetStylesApi<Payload> = (selector, options) => ({\n ...attributes?.[selector],\n\n className: getClassName({\n theme,\n options,\n themeName,\n selector,\n classNamesPrefix,\n resolvedClassNames,\n resolvedThemeClassNames,\n classes,\n unstyled,\n className,\n rootSelector,\n props,\n stylesCtx,\n withStaticClasses,\n headless,\n transformedStyles: getTransformedStyles([options?.styles, styles]),\n }),\n\n style: getStyle({\n theme,\n selector,\n options,\n props,\n stylesCtx,\n rootSelector,\n withStylesTransform,\n resolvedStyles: resolvedComponentStyles,\n resolvedThemeStyles,\n resolvedVars,\n resolvedRootStyle,\n }),\n });\n\n return useStableGetStyles(getStyles, !!stable, [\n theme,\n classNamesPrefix,\n withStaticClasses,\n headless,\n withStylesTransform ? props : null,\n classes,\n unstyled,\n className,\n rootSelector,\n attributes,\n stylesCtx,\n resolvedClassNames,\n resolvedThemeClassNames,\n resolvedComponentStyles,\n resolvedThemeStyles,\n resolvedVars,\n resolvedRootStyle,\n ]);\n}\n\nfunction useStableGetStyles<Payload extends FactoryPayload>(\n getStyles: GetStylesApi<Payload>,\n stable: boolean,\n deps: unknown[]\n): GetStylesApi<Payload> {\n const cache = useRef<{ deps: unknown[]; getStyles: GetStylesApi<Payload> }>(null);\n\n if (!stable) {\n return getStyles;\n }\n\n if (!cache.current || !shallowEqual(cache.current.deps, deps, 3)) {\n cache.current = { deps, getStyles };\n }\n\n return cache.current.getStyles;\n}\n"],"mappings":";;;;;;;;;;;;;AAmDA,SAAgB,UAA0C,EACxD,MACA,SACA,OACA,WACA,WACA,OACA,eAAe,QACf,UACA,YACA,QACA,MACA,cACA,YACA,UACiD;CACjD,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,mBAAmB,2BAA2B;CACpD,MAAM,oBAAoB,4BAA4B;CACtD,MAAM,WAAW,qBAAqB;CACtC,MAAM,aAAa,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI,EAAA,CAAG,QAAQ,MAAM,CAAC;CACvE,MAAM,EAAE,qBAAqB,yBAAyB,mBAAmB;EACvE;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,qBAAqB,kBAAkB;EAAE;EAAO;EAAY;EAAO;CAAU,CAAC;CACpF,MAAM,0BAA0B,UAAU,KAAK,MAC7C,kBAAkB;EAAE;EAAO,YAAY,MAAM,WAAW,EAAE,EAAE;EAAY;EAAO;CAAU,CAAC,CAC5F;CAEA,MAAM,0BAA0B,sBAC5B,CAAC,IACD,cAAc;EAAE;EAAO;EAAQ;EAAO;CAAU,CAAC;CAErD,MAAM,sBAA2C,CAAC;CAElD,IAAI,CAAC,qBACH,KAAK,MAAM,KAAK,WAAW;EACzB,MAAM,WAAW,cAAc;GAC7B;GACA,QAAQ,MAAM,WAAW,EAAE,EAAE;GAC7B;GACA;EACF,CAAC;EAED,KAAK,MAAM,OAAO,OAAO,KAAK,QAAQ,GACpC,oBAAoB,OAAO;GAAE,GAAG,oBAAoB;GAAM,GAAG,SAAS;EAAK;CAE/E;CAGF,MAAM,eAAe,UAAU;EAC7B,WAAW,CAAC,IAAI,eAAe,OAAO,OAAO,SAAS;EACtD,GAAG,UAAU,KAAK,MAAM,MAAM,aAAa,EAAE,EAAE,OAAO,OAAO,OAAO,SAAS,CAAC;EAC9E,OAAO,OAAO,OAAO,SAAS;CAChC,CAAC;CAED,MAAM,oBAAoB,aAAa;EAAE;EAAO;CAAM,CAAC;CAEvD,MAAM,aAAoC,UAAU,aAAa;EAC/D,GAAG,aAAa;EAEhB,WAAW,aAAa;GACtB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,mBAAmB,qBAAqB,CAAC,SAAS,QAAQ,MAAM,CAAC;EACnE,CAAC;EAED,OAAO,SAAS;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA,gBAAgB;GAChB;GACA;GACA;EACF,CAAC;CACH;CAEA,OAAO,mBAAmB,WAAW,CAAC,CAAC,QAAQ;EAC7C;EACA;EACA;EACA;EACA,sBAAsB,QAAQ;EAC9B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH;AAEA,SAAS,mBACP,WACA,QACA,MACuB;CACvB,MAAM,QAAQ,OAA8D,IAAI;CAEhF,IAAI,CAAC,QACH,OAAO;CAGT,IAAI,CAAC,MAAM,WAAW,CAAC,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC,GAC7D,MAAM,UAAU;EAAE;EAAM;CAAU;CAGpC,OAAO,MAAM,QAAQ;AACvB"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/core/utils/shallow-equal/shallow-equal.ts
3
+ function shallowEqual(a, b, depth = 1) {
4
+ if (Object.is(a, b)) return true;
5
+ if (depth === 0 || typeof a !== "object" || typeof b !== "object" || a === null || b === null) return false;
6
+ if (Array.isArray(a) || Array.isArray(b)) {
7
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
8
+ for (let i = 0; i < a.length; i += 1) if (!shallowEqual(a[i], b[i], depth - 1)) return false;
9
+ return true;
10
+ }
11
+ const aKeys = Object.keys(a);
12
+ if (aKeys.length !== Object.keys(b).length) return false;
13
+ for (const key of aKeys) if (!Object.hasOwn(b, key) || !shallowEqual(a[key], b[key], depth - 1)) return false;
14
+ return true;
15
+ }
16
+ //#endregion
17
+ export { shallowEqual };
18
+
19
+ //# sourceMappingURL=shallow-equal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shallow-equal.mjs","names":[],"sources":["../../../../src/core/utils/shallow-equal/shallow-equal.ts"],"sourcesContent":["export function shallowEqual(a: unknown, b: unknown, depth = 1): boolean {\n if (Object.is(a, b)) {\n return true;\n }\n\n if (depth === 0 || typeof a !== 'object' || typeof b !== 'object' || a === null || b === null) {\n return false;\n }\n\n if (Array.isArray(a) || Array.isArray(b)) {\n if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i += 1) {\n if (!shallowEqual(a[i], b[i], depth - 1)) {\n return false;\n }\n }\n\n return true;\n }\n\n const aKeys = Object.keys(a);\n\n if (aKeys.length !== Object.keys(b).length) {\n return false;\n }\n\n for (const key of aKeys) {\n if (!Object.hasOwn(b, key) || !shallowEqual((a as any)[key], (b as any)[key], depth - 1)) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";;AAAA,SAAgB,aAAa,GAAY,GAAY,QAAQ,GAAY;CACvE,IAAI,OAAO,GAAG,GAAG,CAAC,GAChB,OAAO;CAGT,IAAI,UAAU,KAAK,OAAO,MAAM,YAAY,OAAO,MAAM,YAAY,MAAM,QAAQ,MAAM,MACvF,OAAO;CAGT,IAAI,MAAM,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,GAAG;EACxC,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAC3D,OAAO;EAGT,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,GACjC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,GACrC,OAAO;EAIX,OAAO;CACT;CAEA,MAAM,QAAQ,OAAO,KAAK,CAAC;CAE3B,IAAI,MAAM,WAAW,OAAO,KAAK,CAAC,CAAC,CAAC,QAClC,OAAO;CAGT,KAAK,MAAM,OAAO,OAChB,IAAI,CAAC,OAAO,OAAO,GAAG,GAAG,KAAK,CAAC,aAAc,EAAU,MAAO,EAAU,MAAM,QAAQ,CAAC,GACrF,OAAO;CAIX,OAAO;AACT"}
package/esm/index.mjs CHANGED
@@ -72,7 +72,7 @@ import { stylesToString } from "./core/InlineStyles/styles-to-string/styles-to-s
72
72
  import { InlineStyles } from "./core/InlineStyles/InlineStyles.mjs";
73
73
  import { hashStyleProps } from "./core/InlineStyles/hash-styles.mjs";
74
74
  import { extractStyleProps } from "./core/Box/style-props/extract-style-props/extract-style-props.mjs";
75
- import { STYlE_PROPS_DATA } from "./core/Box/style-props/style-props-data.mjs";
75
+ import { STYLE_PROPS_DATA } from "./core/Box/style-props/style-props-data.mjs";
76
76
  import { parseStyleProps } from "./core/Box/style-props/parse-style-props/parse-style-props.mjs";
77
77
  import { useRandomClassName } from "./core/Box/use-random-classname/use-random-classname.mjs";
78
78
  import { getStyleObject } from "./core/Box/get-style-object/get-style-object.mjs";
@@ -156,6 +156,7 @@ import { AppShellMain } from "./components/AppShell/AppShellMain/AppShellMain.mj
156
156
  import { AppShellNavbar } from "./components/AppShell/AppShellNavbar/AppShellNavbar.mjs";
157
157
  import { AppShellSection } from "./components/AppShell/AppShellSection/AppShellSection.mjs";
158
158
  import { AppShell } from "./components/AppShell/AppShell.mjs";
159
+ import { useAppShellResize } from "./components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs";
159
160
  import { AspectRatio } from "./components/AspectRatio/AspectRatio.mjs";
160
161
  import { getParsedComboboxData } from "./components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.mjs";
161
162
  import { getOptionsLockup } from "./components/Combobox/get-options-lockup/get-options-lockup.mjs";
@@ -251,8 +252,8 @@ import { Grid } from "./components/Grid/Grid.mjs";
251
252
  import { Mark } from "./components/Mark/Mark.mjs";
252
253
  import { Highlight } from "./components/Highlight/Highlight.mjs";
253
254
  import { useHoverCardContext } from "./components/HoverCard/HoverCard.context.mjs";
254
- import { HoverCardGroup, HoverCardGroupContext } from "./components/HoverCard/HoverCardGroup/HoverCardGroup.mjs";
255
255
  import { HoverCardDropdown } from "./components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs";
256
+ import { HoverCardGroup, HoverCardGroupContext } from "./components/HoverCard/HoverCardGroup/HoverCardGroup.mjs";
256
257
  import { HoverCardTarget } from "./components/HoverCard/HoverCardTarget/HoverCardTarget.mjs";
257
258
  import { HoverCard } from "./components/HoverCard/HoverCard.mjs";
258
259
  import { Image } from "./components/Image/Image.mjs";
@@ -373,6 +374,24 @@ import { ThemeIcon } from "./components/ThemeIcon/ThemeIcon.mjs";
373
374
  import { TimelineItem } from "./components/Timeline/TimelineItem/TimelineItem.mjs";
374
375
  import { Timeline } from "./components/Timeline/Timeline.mjs";
375
376
  import { Title } from "./components/Title/Title.mjs";
377
+ import { Toggle } from "./components/Toggle/Toggle.mjs";
378
+ import { ToolbarDivider } from "./components/Toolbar/ToolbarDivider/ToolbarDivider.mjs";
379
+ import { ToolbarGroup } from "./components/Toolbar/ToolbarGroup/ToolbarGroup.mjs";
380
+ import { ToolbarToggle } from "./components/Toolbar/ToolbarToggle/ToolbarToggle.mjs";
381
+ import { ToolbarToggleGroup } from "./components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs";
382
+ import { ToolbarToggleItem } from "./components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs";
383
+ import { Toolbar } from "./components/Toolbar/Toolbar.mjs";
384
+ import { TourProvider, defaultLabels, useTourContext } from "./components/Tour/Tour.context.mjs";
385
+ import { TourBeacon } from "./components/Tour/TourBeacon/TourBeacon.mjs";
386
+ import { TourBody } from "./components/Tour/TourBody/TourBody.mjs";
387
+ import { TourCloseButton } from "./components/Tour/TourCloseButton/TourCloseButton.mjs";
388
+ import { TourNavigation } from "./components/Tour/TourNavigation/TourNavigation.mjs";
389
+ import { TourOverlay } from "./components/Tour/TourOverlay/TourOverlay.mjs";
390
+ import { TourRoot } from "./components/Tour/TourRoot/TourRoot.mjs";
391
+ import { TourStep } from "./components/Tour/TourStep/TourStep.mjs";
392
+ import { TourTitle } from "./components/Tour/TourTitle/TourTitle.mjs";
393
+ import { TourTooltip } from "./components/Tour/TourTooltip/TourTooltip.mjs";
394
+ import { Tour } from "./components/Tour/Tour.mjs";
376
395
  import { getTreeExpandedState, useTree } from "./components/Tree/use-tree.mjs";
377
396
  import { Tree } from "./components/Tree/Tree.mjs";
378
397
  import { mergeAsyncChildren } from "./components/Tree/merge-async-children/merge-async-children.mjs";
@@ -384,4 +403,4 @@ import { TreeSelectOption } from "./components/TreeSelect/TreeSelectOption.mjs";
384
403
  import { TreeSelect } from "./components/TreeSelect/TreeSelect.mjs";
385
404
  import { Typography } from "./components/Typography/Typography.mjs";
386
405
  import { RemoveScroll } from "react-remove-scroll";
387
- export { Accordion, AccordionChevron, AccordionControl, AccordionItem, AccordionPanel, ActionBar, ActionBarCloseButton, ActionBarDivider, ActionIcon, ActionIconGroup, ActionIconGroupSection, Affix, Alert, AlphaSlider, Anchor, AngleSlider, AppShell, AppShellAside, AppShellFooter, AppShellHeader, AppShellMain, AppShellNavbar, AppShellSection, AspectRatio, Autocomplete, Avatar, AvatarGroup, AvatarGroupContext, BackgroundImage, Badge, Blockquote, Box, Breadcrumbs, Burger, Button, ButtonGroup, ButtonGroupSection, Card, CardSection, Cascader, Center, CheckIcon, Checkbox, CheckboxCard, CheckboxCardContext, CheckboxGroup, CheckboxGroupContext, CheckboxIndicator, Chip, ChipGroup, ChipGroupContext, CloseButton, CloseIcon, Code, Collapse, ColorInput, ColorPicker, ColorSchemeScript, ColorSwatch, Combobox, ComboboxChevron, ComboboxClearButton, ComboboxDropdown, ComboboxDropdownTarget, ComboboxEmpty, ComboboxEventsTarget, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxHiddenInput, ComboboxOption, ComboboxOptions, ComboboxPopover, ComboboxPopoverTarget, ComboboxSearch, ComboboxTarget, Container, CopyButton, DEFAULT_THEME, DataList, DataListItem, DataListItemLabel, DataListItemValue, Dialog, DirectionContext, DirectionProvider, Divider, Drawer, DrawerBody, DrawerCloseButton, DrawerContent, DrawerHeader, DrawerOverlay, DrawerRoot, DrawerStack, DrawerStackContext, DrawerTitle, EmptyState, EmptyStateActions, EmptyStateDescription, EmptyStateIndicator, EmptyStateTitle, FLEX_STYLE_PROPS_DATA, FOCUS_CLASS_NAMES, Fieldset, FileButton, FileInput, FlatTreeNode, Flex, FloatingArrow, FloatingIndicator, FloatingWindow, FocusTrap, FocusTrapInitialFocus, Grid, GridCol, Group, HeadlessMantineProvider, Highlight, HoverCard, HoverCardDropdown, HoverCardGroup, HoverCardGroupContext, HoverCardTarget, HueSlider, Image, Indicator, InlineStyles, Input, InputBase, InputClearButton, InputClearSection, InputDescription, InputError, InputLabel, InputPlaceholder, InputSuccess, InputWrapper, InputWrapperContext, JsonInput, Kbd, List, ListItem, Loader, LoadingOverlay, transitions as MANTINE_TRANSITIONS, MantineContext, MantineProvider, MantineThemeContext, MantineThemeProvider, Mark, Marquee, MaskInput, Menu, MenuCheckboxGroup, MenuCheckboxItem, MenuContextMenu, MenuDivider, MenuDropdown, MenuItem, MenuLabel, MenuRadioGroup, MenuRadioItem, MenuSearch, MenuSub, MenuSubDropdown, MenuSubItem, MenuSubTarget, MenuTarget, Menubar, MenubarDropdown, MenubarMenu, MenubarTarget, Modal, ModalBase, ModalBaseBody, ModalBaseCloseButton, ModalBaseContent, ModalBaseHeader, ModalBaseOverlay, ModalBaseTitle, ModalBody, ModalCloseButton, ModalContent, ModalHeader, ModalOverlay, ModalRoot, ModalStack, ModalStackContext, ModalTitle, MultiSelect, NativeScrollArea, NativeSelect, NavLink, Notification, NumberFormatter, NumberInput, OptionalPortal, OptionsDropdown, OverflowList, Overlay, Pagination, PaginationControl, PaginationDots, PaginationFirst, PaginationItems, PaginationLabel, PaginationLast, PaginationNext, PaginationPrevious, PaginationRoot, Paper, PasswordInput, Pill, PillGroup, PillsInput, PillsInputContext, PillsInputField, PinInput, Popover, PopoverContextMenu, PopoverDropdown, PopoverTarget, Portal, Progress, ProgressLabel, ProgressRoot, ProgressSection, Radio, RadioCard, RadioCardContext, RadioGroup, RadioGroupContext, RadioIcon, RadioIndicator, RangeSlider, Rating, RemoveScroll, RingProgress, RollingNumber, STYlE_PROPS_DATA, ScrollArea, ScrollAreaAutosize, Scroller, SegmentedControl, Select, SemiCircleProgress, SimpleGrid, Skeleton, Slider, Space, Splitter, SplitterPane, Spoiler, Stack, Stepper, StepperCompleted, StepperStep, Switch, SwitchGroup, SwitchGroupContext, Table, TableCaption, TableOfContents, TableScrollContainer, TableTbody, TableTd, TableTfoot, TableTh, TableThead, TableTr, Tabs, TabsList, TabsPanel, TabsTab, TagsInput, Text, TextInput, Textarea, ThemeIcon, Timeline, TimelineItem, Title, Tooltip, TooltipFloating, TooltipGroup, TooltipGroupContext, Transition, Tree, TreeSelect, TreeSelectOption, Typography, UnstyledButton, VisuallyHidden, alpha, camelToKebabCase, closeOnEscape, colorsTuple, convertCssVariables, convertHsvaTo, createEventHandler, createPolymorphicComponent, createSafeContext, createScopedKeydownHandler, createTheme, createUseExternalEvents, createVarsResolver, darken, deepMerge, defaultCssVariablesResolver, defaultLoaders, defaultOptionsFilter, defaultTreeNodeFilter, defaultVariantColorsResolver, em, extractStyleProps, factory, filterProps, filterTreeData, findClosestNumber, findElementAncestor, findElementBySelector, findElementsBySelector, flattenCascaderPaths, flattenTreeData, genericFactory, getArrowMergeDropdownStyles, getAutoContrastValue, getBaseValue, getBreakpointValue, getCSSColorVariables, getCascaderPathOptions, getContextItemIndex, getContrastColor, getDefaultZIndex, getEnv, getFloatingPosition, getFontSize, getGradient, getLineHeight, getOptionsLockup, getParsedComboboxData, getPrimaryContrastColor, getPrimaryShade, getRadius, getRefProp, getRootElement, getSafeId, getShadow, getSingleElementChild, getSize, getSortedBreakpoints, getSpacing, getStyleObject, getThemeColor, getTransitionProps, getTreeExpandedState, getVirtualColorContrast, hashStyleProps, isColorValid, isElement, isLightColor, isMantineColorScheme, isNumberLike, isOptionsGroup, isPrimitive, isVirtualColor, keys, lighten, localStorageColorSchemeManager, luminance, mantineHtmlProps, memoize, mergeAsyncChildren, mergeMantineTheme, mergeThemeOverrides, moveTreeNode, noop, parseColor, parseStyleProps, parseThemeColor, polymorphic, polymorphicFactory, px, rem, resolveClassNames, resolveStyles, rgba, stylesToString, toRgba, useAccordionContext, useAccordionItemContext, useAppShellContext, useCombobox, useComboboxContext, useComboboxTargetProps, useComputedColorScheme, useDataListContext, useDelayedHover, useDirection, useDrawerContext, useDrawersStack, useEmptyStateContext, useGridContext, useHoverCardContext, useHovered, useInputProps, useListContext, useMantineClassNamesPrefix, useMantineColorScheme, useMantineContext, useMantineCssVariablesResolver, useMantineDeduplicateInlineStyles, useMantineEnv, useMantineIsHeadless, useMantineStyleNonce, useMantineStylesTransform, useMantineSxTransform, useMantineTheme, useMantineWithStaticClasses, useMatches, useMenuContext, useMenubarContext, useMenubarMenuContext, useModalContext, useModalsStack, usePaginationContext, usePillsReorder, usePopoverContext, useProgressContext, useProps, useProviderColorScheme, useRandomClassName, useResolvedStylesApi, useSafeMantineTheme, useScrollAreaContext, useSplitterContext, useStepperContext, useStyles, useTableContext, useTabsContext, useTree, useVirtualizedCombobox, v8CssVariablesResolver, validateMantineTheme, virtualColor };
406
+ export { Accordion, AccordionChevron, AccordionControl, AccordionItem, AccordionPanel, ActionBar, ActionBarCloseButton, ActionBarDivider, ActionIcon, ActionIconGroup, ActionIconGroupSection, Affix, Alert, AlphaSlider, Anchor, AngleSlider, AppShell, AppShellAside, AppShellFooter, AppShellHeader, AppShellMain, AppShellNavbar, AppShellSection, AspectRatio, Autocomplete, Avatar, AvatarGroup, AvatarGroupContext, BackgroundImage, Badge, Blockquote, Box, Breadcrumbs, Burger, Button, ButtonGroup, ButtonGroupSection, Card, CardSection, Cascader, Center, CheckIcon, Checkbox, CheckboxCard, CheckboxCardContext, CheckboxGroup, CheckboxGroupContext, CheckboxIndicator, Chip, ChipGroup, ChipGroupContext, CloseButton, CloseIcon, Code, Collapse, ColorInput, ColorPicker, ColorSchemeScript, ColorSwatch, Combobox, ComboboxChevron, ComboboxClearButton, ComboboxDropdown, ComboboxDropdownTarget, ComboboxEmpty, ComboboxEventsTarget, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxHiddenInput, ComboboxOption, ComboboxOptions, ComboboxPopover, ComboboxPopoverTarget, ComboboxSearch, ComboboxTarget, Container, CopyButton, DEFAULT_THEME, DataList, DataListItem, DataListItemLabel, DataListItemValue, Dialog, DirectionContext, DirectionProvider, Divider, Drawer, DrawerBody, DrawerCloseButton, DrawerContent, DrawerHeader, DrawerOverlay, DrawerRoot, DrawerStack, DrawerStackContext, DrawerTitle, EmptyState, EmptyStateActions, EmptyStateDescription, EmptyStateIndicator, EmptyStateTitle, FLEX_STYLE_PROPS_DATA, FOCUS_CLASS_NAMES, Fieldset, FileButton, FileInput, FlatTreeNode, Flex, FloatingArrow, FloatingIndicator, FloatingWindow, FocusTrap, FocusTrapInitialFocus, Grid, GridCol, Group, HeadlessMantineProvider, Highlight, HoverCard, HoverCardDropdown, HoverCardGroup, HoverCardGroupContext, HoverCardTarget, HueSlider, Image, Indicator, InlineStyles, Input, InputBase, InputClearButton, InputClearSection, InputDescription, InputError, InputLabel, InputPlaceholder, InputSuccess, InputWrapper, InputWrapperContext, JsonInput, Kbd, List, ListItem, Loader, LoadingOverlay, transitions as MANTINE_TRANSITIONS, MantineContext, MantineProvider, MantineThemeContext, MantineThemeProvider, Mark, Marquee, MaskInput, Menu, MenuCheckboxGroup, MenuCheckboxItem, MenuContextMenu, MenuDivider, MenuDropdown, MenuItem, MenuLabel, MenuRadioGroup, MenuRadioItem, MenuSearch, MenuSub, MenuSubDropdown, MenuSubItem, MenuSubTarget, MenuTarget, Menubar, MenubarDropdown, MenubarMenu, MenubarTarget, Modal, ModalBase, ModalBaseBody, ModalBaseCloseButton, ModalBaseContent, ModalBaseHeader, ModalBaseOverlay, ModalBaseTitle, ModalBody, ModalCloseButton, ModalContent, ModalHeader, ModalOverlay, ModalRoot, ModalStack, ModalStackContext, ModalTitle, MultiSelect, NativeScrollArea, NativeSelect, NavLink, Notification, NumberFormatter, NumberInput, OptionalPortal, OptionsDropdown, OverflowList, Overlay, Pagination, PaginationControl, PaginationDots, PaginationFirst, PaginationItems, PaginationLabel, PaginationLast, PaginationNext, PaginationPrevious, PaginationRoot, Paper, PasswordInput, Pill, PillGroup, PillsInput, PillsInputContext, PillsInputField, PinInput, Popover, PopoverContextMenu, PopoverDropdown, PopoverTarget, Portal, Progress, ProgressLabel, ProgressRoot, ProgressSection, Radio, RadioCard, RadioCardContext, RadioGroup, RadioGroupContext, RadioIcon, RadioIndicator, RangeSlider, Rating, RemoveScroll, RingProgress, RollingNumber, STYLE_PROPS_DATA, ScrollArea, ScrollAreaAutosize, Scroller, SegmentedControl, Select, SemiCircleProgress, SimpleGrid, Skeleton, Slider, Space, Splitter, SplitterPane, Spoiler, Stack, Stepper, StepperCompleted, StepperStep, Switch, SwitchGroup, SwitchGroupContext, Table, TableCaption, TableOfContents, TableScrollContainer, TableTbody, TableTd, TableTfoot, TableTh, TableThead, TableTr, Tabs, TabsList, TabsPanel, TabsTab, TagsInput, Text, TextInput, Textarea, ThemeIcon, Timeline, TimelineItem, Title, Toggle, Toolbar, ToolbarDivider, ToolbarGroup, ToolbarToggle, ToolbarToggleGroup, ToolbarToggleItem, Tooltip, TooltipFloating, TooltipGroup, TooltipGroupContext, Tour, TourBeacon, TourBody, TourCloseButton, TourNavigation, TourOverlay, TourProvider, TourRoot, TourStep, TourTitle, TourTooltip, Transition, Tree, TreeSelect, TreeSelectOption, Typography, UnstyledButton, VisuallyHidden, alpha, camelToKebabCase, closeOnEscape, colorsTuple, convertCssVariables, convertHsvaTo, createEventHandler, createPolymorphicComponent, createSafeContext, createScopedKeydownHandler, createTheme, createUseExternalEvents, createVarsResolver, darken, deepMerge, defaultCssVariablesResolver, defaultLabels, defaultLoaders, defaultOptionsFilter, defaultTreeNodeFilter, defaultVariantColorsResolver, em, extractStyleProps, factory, filterProps, filterTreeData, findClosestNumber, findElementAncestor, findElementBySelector, findElementsBySelector, flattenCascaderPaths, flattenTreeData, genericFactory, getArrowMergeDropdownStyles, getAutoContrastValue, getBaseValue, getBreakpointValue, getCSSColorVariables, getCascaderPathOptions, getContextItemIndex, getContrastColor, getDefaultZIndex, getEnv, getFloatingPosition, getFontSize, getGradient, getLineHeight, getOptionsLockup, getParsedComboboxData, getPrimaryContrastColor, getPrimaryShade, getRadius, getRefProp, getRootElement, getSafeId, getShadow, getSingleElementChild, getSize, getSortedBreakpoints, getSpacing, getStyleObject, getThemeColor, getTransitionProps, getTreeExpandedState, getVirtualColorContrast, hashStyleProps, isColorValid, isElement, isLightColor, isMantineColorScheme, isNumberLike, isOptionsGroup, isPrimitive, isVirtualColor, keys, lighten, localStorageColorSchemeManager, luminance, mantineHtmlProps, memoize, mergeAsyncChildren, mergeMantineTheme, mergeThemeOverrides, moveTreeNode, noop, parseColor, parseStyleProps, parseThemeColor, polymorphic, polymorphicFactory, px, rem, resolveClassNames, resolveStyles, rgba, stylesToString, toRgba, useAccordionContext, useAccordionItemContext, useAppShellContext, useAppShellResize, useCombobox, useComboboxContext, useComboboxTargetProps, useComputedColorScheme, useDataListContext, useDelayedHover, useDirection, useDrawerContext, useDrawersStack, useEmptyStateContext, useGridContext, useHoverCardContext, useHovered, useInputProps, useListContext, useMantineClassNamesPrefix, useMantineColorScheme, useMantineContext, useMantineCssVariablesResolver, useMantineDeduplicateInlineStyles, useMantineEnv, useMantineIsHeadless, useMantineStyleNonce, useMantineStylesTransform, useMantineSxTransform, useMantineTheme, useMantineWithStaticClasses, useMatches, useMenuContext, useMenubarContext, useMenubarMenuContext, useModalContext, useModalsStack, usePaginationContext, usePillsReorder, usePopoverContext, useProgressContext, useProps, useProviderColorScheme, useRandomClassName, useResolvedStylesApi, useSafeMantineTheme, useScrollAreaContext, useSplitterContext, useStepperContext, useStyles, useTableContext, useTabsContext, useTourContext, useTree, useVirtualizedCombobox, v8CssVariablesResolver, validateMantineTheme, virtualColor };
@@ -20,7 +20,7 @@ export interface ActionBarProps extends BoxProps, AffixBaseProps, PaperBaseProps
20
20
  closeOnEscape?: boolean;
21
21
  /** `aria-label` of the actions group, `'Actions'` by default */
22
22
  'aria-label'?: string;
23
- /** If set, the component uses `display: none` to hide the root element instead of removing the DOM node, `false` by default */
23
+ /** If set, the action bar is kept in the DOM when closed. React `Activity` is used to preserve its state while it is hidden, `false` by default */
24
24
  keepMounted?: boolean;
25
25
  children: React.ReactNode;
26
26
  }
@@ -1,5 +1,6 @@
1
1
  import { GetStylesApi } from '../../core';
2
2
  import type { AppShellFactory } from './AppShell';
3
+ import type { AppShellResizeController, AppShellResizeSection } from './AppShell.types';
3
4
  export interface AppShellContextValue {
4
5
  getStyles: GetStylesApi<AppShellFactory>;
5
6
  withBorder: boolean | undefined;
@@ -7,5 +8,8 @@ export interface AppShellContextValue {
7
8
  disabled: boolean | undefined;
8
9
  offsetScrollbars: boolean | undefined;
9
10
  mode: 'fixed' | 'static';
11
+ resize: AppShellResizeController | undefined;
12
+ rootRef: React.RefObject<HTMLDivElement | null>;
13
+ resizeOffsets: Partial<Record<AppShellResizeSection, boolean>>;
10
14
  }
11
15
  export declare const AppShellProvider: import("react").Context<AppShellContextValue | null>, useAppShellContext: () => AppShellContextValue;
@@ -1,14 +1,14 @@
1
1
  import { BoxProps, ElementProps, Factory, MantineSpacing, StylesApiProps } from '../../core';
2
- import { AppShellAsideConfiguration, AppShellFooterConfiguration, AppShellHeaderConfiguration, AppShellNavbarConfiguration, AppShellResponsiveSize } from './AppShell.types';
2
+ import { AppShellAsideConfiguration, AppShellFooterConfiguration, AppShellHeaderConfiguration, AppShellNavbarConfiguration, AppShellResizeController, AppShellResponsiveSize } from './AppShell.types';
3
3
  import { AppShellAside, type AppShellAsideProps } from './AppShellAside/AppShellAside';
4
4
  import { AppShellFooter, type AppShellFooterProps } from './AppShellFooter/AppShellFooter';
5
5
  import { AppShellHeader, type AppShellHeaderProps } from './AppShellHeader/AppShellHeader';
6
6
  import { AppShellMain, type AppShellMainProps } from './AppShellMain/AppShellMain';
7
7
  import { AppShellNavbar, type AppShellNavbarProps } from './AppShellNavbar/AppShellNavbar';
8
8
  import { AppShellSection, type AppShellSectionProps } from './AppShellSection/AppShellSection';
9
- export type AppShellStylesNames = 'root' | 'navbar' | 'main' | 'header' | 'footer' | 'aside' | 'section';
9
+ export type AppShellStylesNames = 'root' | 'navbar' | 'main' | 'header' | 'footer' | 'aside' | 'section' | 'resizeHandle';
10
10
  export type AppShellCssVariables = {
11
- root: '--app-shell-transition-duration' | '--app-shell-transition-timing-function';
11
+ root: '--app-shell-transition-duration' | '--app-shell-transition-timing-function' | '--app-shell-resize-handle-size';
12
12
  };
13
13
  export interface AppShellProps extends BoxProps, StylesApiProps<AppShellFactory>, ElementProps<'div'> {
14
14
  /** If set, the associated components have a border @default true */
@@ -37,6 +37,8 @@ export interface AppShellProps extends BoxProps, StylesApiProps<AppShellFactory>
37
37
  offsetScrollbars?: boolean;
38
38
  /** Determines positioning mode of all sections @default 'fixed' */
39
39
  mode?: 'fixed' | 'static';
40
+ /** `useAppShellResize` hook instance, enables resizing of the sections configured in the hook */
41
+ resize?: AppShellResizeController;
40
42
  }
41
43
  export type AppShellFactory = Factory<{
42
44
  props: AppShellProps;
@@ -42,3 +42,73 @@ export interface AppShellFooterConfiguration {
42
42
  collapsed?: boolean;
43
43
  offset?: boolean;
44
44
  }
45
+ export type AppShellResizeSection = 'navbar' | 'aside' | 'header' | 'footer';
46
+ export type AppShellResizeSizes = Partial<Record<AppShellResizeSection, number>>;
47
+ export interface AppShellResizeSectionOptions {
48
+ /** Minimum size, in the same units as the section `width`/`height` configuration @default 0 */
49
+ min?: number;
50
+ /** Maximum size, in the same units as the section `width`/`height` configuration @default viewport size */
51
+ max?: number;
52
+ /** Size below which `onCollapseChange` reports the section as collapsed */
53
+ collapseThreshold?: number;
54
+ /** `aria-label` of the resize handle @default 'Resize navbar' | 'Resize aside' | 'Resize header' | 'Resize footer' */
55
+ label?: string;
56
+ }
57
+ export interface AppShellResizeSectionController {
58
+ /** `true` when the section was configured as resizable */
59
+ enabled: boolean;
60
+ /** Current size override, `undefined` when the section has not been resized */
61
+ size: number | undefined;
62
+ /** `true` while the section is being resized */
63
+ active: boolean;
64
+ /** Sets the section size, does not call `onResize`/`onResizeEnd` */
65
+ setSize: (size: number) => void;
66
+ /** Clears the size override, the section returns to the size defined in its configuration */
67
+ reset: () => void;
68
+ }
69
+ export interface AppShellResizeController {
70
+ /** `AppShell.Navbar` resize controller */
71
+ navbar: AppShellResizeSectionController;
72
+ /** `AppShell.Aside` resize controller */
73
+ aside: AppShellResizeSectionController;
74
+ /** `AppShell.Header` resize controller */
75
+ header: AppShellResizeSectionController;
76
+ /** `AppShell.Footer` resize controller */
77
+ footer: AppShellResizeSectionController;
78
+ /** Current size overrides of all sections */
79
+ sizes: AppShellResizeSizes;
80
+ /** Clears size overrides of all sections */
81
+ resetAll: () => void;
82
+ /** Resolved options of all sections, used by the `AppShell` component */
83
+ options: Partial<Record<AppShellResizeSection, AppShellResizeSectionOptions>>;
84
+ /** Section that is being resized, used by the `AppShell` component */
85
+ activeSection: AppShellResizeSection | null;
86
+ /** Marks the section as active, used by the `AppShell` component */
87
+ startResize: (section: AppShellResizeSection) => void;
88
+ /** Reports an in-progress size, used by the `AppShell` component */
89
+ previewResize: (section: AppShellResizeSection, size: number) => void;
90
+ /** Commits a size, `null` cancels the resize, used by the `AppShell` component */
91
+ endResize: (section: AppShellResizeSection, size: number | null) => void;
92
+ /** Seeds the collapse state at drag start without calling `onCollapseChange`, used by the `AppShell` component */
93
+ initCollapse: (section: AppShellResizeSection, collapsed: boolean) => void;
94
+ /** Reports a collapse threshold crossing, used by the `AppShell` component */
95
+ reportCollapse: (section: AppShellResizeSection, collapsed: boolean) => void;
96
+ }
97
+ export interface UseAppShellResizeInput {
98
+ /** `AppShell.Navbar` resize options, the section is resizable when set */
99
+ navbar?: AppShellResizeSectionOptions;
100
+ /** `AppShell.Aside` resize options, the section is resizable when set */
101
+ aside?: AppShellResizeSectionOptions;
102
+ /** `AppShell.Header` resize options, the section is resizable when set */
103
+ header?: AppShellResizeSectionOptions;
104
+ /** `AppShell.Footer` resize options, the section is resizable when set */
105
+ footer?: AppShellResizeSectionOptions;
106
+ /** Sizes applied to sections that have not been resized yet, usually restored from storage */
107
+ initialSizes?: AppShellResizeSizes;
108
+ /** Called on every pointer move during a resize */
109
+ onResize?: (sizes: AppShellResizeSizes) => void;
110
+ /** Called when a resize is committed */
111
+ onResizeEnd?: (sizes: AppShellResizeSizes) => void;
112
+ /** Called when a section is dragged across its `collapseThreshold` */
113
+ onCollapseChange?: (section: AppShellResizeSection, collapsed: boolean) => void;
114
+ }
@@ -1,4 +1,5 @@
1
1
  import type { AppShellProps } from '../AppShell';
2
+ import type { AppShellResizeSection, AppShellResizeSizes } from '../AppShell.types';
2
3
  interface AppShellMediaStylesProps {
3
4
  navbar: AppShellProps['navbar'] | undefined;
4
5
  header: AppShellProps['header'] | undefined;
@@ -7,6 +8,10 @@ interface AppShellMediaStylesProps {
7
8
  padding: AppShellProps['padding'] | undefined;
8
9
  mode: 'fixed' | 'static';
9
10
  selector?: string;
11
+ resize?: {
12
+ sizes: AppShellResizeSizes;
13
+ enabled: Partial<Record<AppShellResizeSection, boolean>>;
14
+ };
10
15
  }
11
- export declare function AppShellMediaStyles({ navbar, header, aside, footer, padding, mode, selector, }: AppShellMediaStylesProps): import("react").JSX.Element;
16
+ export declare function AppShellMediaStyles({ navbar, header, aside, footer, padding, mode, selector, resize, }: AppShellMediaStylesProps): import("react").JSX.Element;
12
17
  export {};
@@ -8,6 +8,8 @@ interface AssignAsideVariablesInput {
8
8
  aside: AppShellProps['aside'] | undefined;
9
9
  theme: MantineTheme;
10
10
  mode: 'fixed' | 'static';
11
+ resizedSize?: number;
12
+ resizable?: boolean;
11
13
  }
12
- export declare function assignAsideVariables({ baseStyles, minMediaStyles, maxMediaStyles, aside, theme, mode, }: AssignAsideVariablesInput): void;
14
+ export declare function assignAsideVariables({ baseStyles, minMediaStyles, maxMediaStyles, aside, theme, mode, resizedSize, resizable, }: AssignAsideVariablesInput): void;
13
15
  export {};
@@ -5,6 +5,8 @@ interface AssignFooterVariablesInput {
5
5
  minMediaStyles: MediaQueryVariables;
6
6
  footer: AppShellProps['footer'] | undefined;
7
7
  mode: 'fixed' | 'static';
8
+ resizedSize?: number;
9
+ resizable?: boolean;
8
10
  }
9
- export declare function assignFooterVariables({ baseStyles, minMediaStyles, footer, mode, }: AssignFooterVariablesInput): void;
11
+ export declare function assignFooterVariables({ baseStyles, minMediaStyles, footer, mode, resizedSize, resizable, }: AssignFooterVariablesInput): void;
10
12
  export {};
@@ -5,6 +5,8 @@ interface AssignHeaderVariablesInput {
5
5
  minMediaStyles: MediaQueryVariables;
6
6
  header: AppShellProps['header'] | undefined;
7
7
  mode: 'fixed' | 'static';
8
+ resizedSize?: number;
9
+ resizable?: boolean;
8
10
  }
9
- export declare function assignHeaderVariables({ baseStyles, minMediaStyles, header, mode, }: AssignHeaderVariablesInput): void;
11
+ export declare function assignHeaderVariables({ baseStyles, minMediaStyles, header, mode, resizedSize, resizable, }: AssignHeaderVariablesInput): void;
10
12
  export {};
@@ -8,6 +8,8 @@ interface AssignNavbarVariablesInput {
8
8
  navbar: AppShellProps['navbar'] | undefined;
9
9
  theme: MantineTheme;
10
10
  mode: 'fixed' | 'static';
11
+ resizedSize?: number;
12
+ resizable?: boolean;
11
13
  }
12
- export declare function assignNavbarVariables({ baseStyles, minMediaStyles, maxMediaStyles, navbar, theme, mode, }: AssignNavbarVariablesInput): void;
14
+ export declare function assignNavbarVariables({ baseStyles, minMediaStyles, maxMediaStyles, navbar, theme, mode, resizedSize, resizable, }: AssignNavbarVariablesInput): void;
13
15
  export {};
@@ -0,0 +1,2 @@
1
+ /** Serializes a string as a CSS identifier, same output as `CSS.escape`, works on the server */
2
+ export declare function escapeCssId(value: string): string;
@@ -0,0 +1 @@
1
+ export declare function getResizedValue(size: number, axis: 'horizontal' | 'vertical'): string;
@@ -1,5 +1,6 @@
1
1
  import { MantineTheme } from '../../../../core';
2
2
  import type { AppShellProps } from '../../AppShell';
3
+ import type { AppShellResizeSection, AppShellResizeSizes } from '../../AppShell.types';
3
4
  export type CSSVariables = Record<`--${string}`, string | undefined>;
4
5
  export type MediaQueryVariables = Record<string, Record<`--${string}`, string | undefined>>;
5
6
  interface GetVariablesInput {
@@ -10,8 +11,12 @@ interface GetVariablesInput {
10
11
  padding: AppShellProps['padding'] | undefined;
11
12
  theme: MantineTheme;
12
13
  mode: 'fixed' | 'static';
14
+ resize: {
15
+ sizes: AppShellResizeSizes;
16
+ enabled: Partial<Record<AppShellResizeSection, boolean>>;
17
+ } | undefined;
13
18
  }
14
- export declare function getVariables({ navbar, header, footer, aside, padding, theme, mode, }: GetVariablesInput): {
19
+ export declare function getVariables({ navbar, header, footer, aside, padding, theme, mode, resize, }: GetVariablesInput): {
15
20
  baseStyles: CSSVariables;
16
21
  media: {
17
22
  query: string;
@@ -0,0 +1,10 @@
1
+ import type { AppShellResizeSection } from '../AppShell.types';
2
+ interface AppShellResizeHandleProps {
3
+ section: AppShellResizeSection;
4
+ sectionId: string;
5
+ }
6
+ export declare function AppShellResizeHandle({ section, sectionId }: AppShellResizeHandleProps): import("react").JSX.Element | null;
7
+ export declare namespace AppShellResizeHandle {
8
+ var displayName: string;
9
+ }
10
+ export {};
@@ -1,6 +1,6 @@
1
1
  import type { AppShellCssVariables, AppShellFactory, AppShellProps, AppShellStylesNames } from './AppShell';
2
2
  import type { AppShellContextValue } from './AppShell.context';
3
- import type { AppShellAsideConfiguration, AppShellCompoundProps, AppShellFooterConfiguration, AppShellHeaderConfiguration, AppShellNavbarConfiguration, AppShellResponsiveSize } from './AppShell.types';
3
+ import type { AppShellAsideConfiguration, AppShellCompoundProps, AppShellFooterConfiguration, AppShellHeaderConfiguration, AppShellNavbarConfiguration, AppShellResponsiveSize, AppShellResizeController, AppShellResizeSection, AppShellResizeSectionController, AppShellResizeSectionOptions, AppShellResizeSizes, UseAppShellResizeInput } from './AppShell.types';
4
4
  import type { AppShellAsideProps } from './AppShellAside/AppShellAside';
5
5
  import type { AppShellFooterProps } from './AppShellFooter/AppShellFooter';
6
6
  import type { AppShellHeaderProps } from './AppShellHeader/AppShellHeader';
@@ -15,4 +15,5 @@ export { AppShellNavbar } from './AppShellNavbar/AppShellNavbar';
15
15
  export { AppShellSection } from './AppShellSection/AppShellSection';
16
16
  export { AppShellMain } from './AppShellMain/AppShellMain';
17
17
  export { useAppShellContext } from './AppShell.context';
18
- export type { AppShellProps, AppShellStylesNames, AppShellCssVariables, AppShellFactory, AppShellContextValue, AppShellCompoundProps, AppShellAsideConfiguration, AppShellFooterConfiguration, AppShellHeaderConfiguration, AppShellNavbarConfiguration, AppShellResponsiveSize, AppShellAsideProps, AppShellFooterProps, AppShellHeaderProps, AppShellMainProps, AppShellNavbarProps, AppShellSectionProps, };
18
+ export { useAppShellResize } from './use-app-shell-resize/use-app-shell-resize';
19
+ export type { AppShellProps, AppShellStylesNames, AppShellCssVariables, AppShellFactory, AppShellContextValue, AppShellCompoundProps, AppShellAsideConfiguration, AppShellFooterConfiguration, AppShellHeaderConfiguration, AppShellNavbarConfiguration, AppShellResponsiveSize, AppShellAsideProps, AppShellFooterProps, AppShellHeaderProps, AppShellMainProps, AppShellNavbarProps, AppShellSectionProps, AppShellResizeController, AppShellResizeSection, AppShellResizeSectionController, AppShellResizeSectionOptions, AppShellResizeSizes, UseAppShellResizeInput, };
@@ -0,0 +1,9 @@
1
+ interface ClampResizeSizeInput {
2
+ size: number;
3
+ min: number | undefined;
4
+ max: number | undefined;
5
+ viewportMax: number;
6
+ }
7
+ export declare function clampResizeSize({ size, min, max, viewportMax }: ClampResizeSizeInput): number;
8
+ export declare function getCollapseState(size: number, collapseThreshold: number | undefined): boolean;
9
+ export {};
@@ -0,0 +1,29 @@
1
+ import type { AppShellResizeSection } from '../AppShell.types';
2
+ export interface ResizeSectionConfig {
3
+ /** Axis the pointer moves along to resize the section */
4
+ axis: 'horizontal' | 'vertical';
5
+ /** `aria-orientation` of the separator element */
6
+ orientation: 'vertical' | 'horizontal';
7
+ /** CSS variable that controls the section size */
8
+ sizeVariable: string;
9
+ /** CSS variable that controls the space reserved for the section */
10
+ offsetVariable: string;
11
+ /** CSS variable that controls the grid track size in `mode="static"` */
12
+ gridWidthVariable?: string;
13
+ /** CSS variable that controls whether the resize handle is displayed */
14
+ handleDisplayVariable: string;
15
+ /** CSS variable that exposes a safe-area inset baked into the section's measured size, if any */
16
+ safeAreaVariable?: string;
17
+ /** `1` when moving towards the end of the axis grows the section, `-1` otherwise */
18
+ sign: 1 | -1;
19
+ }
20
+ export declare const RESIZE_SECTIONS: Record<AppShellResizeSection, ResizeSectionConfig>;
21
+ export declare const RESIZE_SECTION_NAMES: AppShellResizeSection[];
22
+ interface GetResizeDeltaInput {
23
+ section: AppShellResizeSection;
24
+ deltaX: number;
25
+ deltaY: number;
26
+ dir: 'ltr' | 'rtl';
27
+ }
28
+ export declare function getResizeDelta({ section, deltaX, deltaY, dir }: GetResizeDeltaInput): number;
29
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getSafeAreaInset(element: Element, variable: string | undefined): number;
@@ -0,0 +1,2 @@
1
+ import type { AppShellResizeController, UseAppShellResizeInput } from '../AppShell.types';
2
+ export declare function useAppShellResize(input?: UseAppShellResizeInput): AppShellResizeController;
@@ -1,6 +1,7 @@
1
1
  interface UseResizingInput {
2
2
  transitionDuration: number | undefined;
3
3
  disabled: boolean | undefined;
4
+ resizeKey?: string;
4
5
  }
5
- export declare function useResizing({ transitionDuration, disabled }: UseResizingInput): boolean;
6
+ export declare function useResizing({ transitionDuration, disabled, resizeKey }: UseResizingInput): boolean;
6
7
  export {};