@likec4/diagram 1.34.2 → 1.35.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 (266) hide show
  1. package/bundle/{chunk-Dd7et66b.js → chunk-C0Eg81Gj.js} +971 -1045
  2. package/bundle/custom.js +59 -55
  3. package/bundle/index.js +6656 -4263
  4. package/dist/LikeC4Diagram.props.d.ts +51 -4
  5. package/dist/LikeC4ModelProvider.d.ts +3 -3
  6. package/dist/base/BaseXYFlow.d.ts +2 -2
  7. package/dist/base/BaseXYFlow.js +3 -3
  8. package/dist/base/primitives/compound/CompoundActionButton.js +1 -1
  9. package/dist/base/primitives/compound/CompoundDetailsButton.js +1 -1
  10. package/dist/base/primitives/edge/EdgeActionButton.js +1 -1
  11. package/dist/base/primitives/element/ElementDetailsButton.js +1 -1
  12. package/dist/base/primitives/element/ElementNodeContainer.d.ts +3 -3
  13. package/dist/base/primitives/element/ElementTitle.js +9 -9
  14. package/dist/bundle/LikeC4View.js +3 -3
  15. package/dist/bundle/LikeC4View.props.d.ts +8 -4
  16. package/dist/bundle/custom.js +1 -0
  17. package/dist/bundle/index.js +1 -0
  18. package/dist/components/ErrorFallback.d.ts +2 -1
  19. package/dist/components/ErrorFallback.js +15 -2
  20. package/dist/components/Link.js +2 -2
  21. package/dist/components/NavigationLink.d.ts +6 -0
  22. package/dist/components/NavigationLink.js +25 -0
  23. package/dist/components/SearchControl.js +1 -1
  24. package/dist/context/ControlsCustomLayout.d.ts +0 -1
  25. package/dist/context/DiagramFeatures.d.ts +4 -1
  26. package/dist/context/IconRenderer.js +6 -6
  27. package/dist/custom/customNodes.js +10 -2
  28. package/dist/custom/hooks.d.ts +1 -0
  29. package/dist/custom/index.js +1 -0
  30. package/dist/hooks/useDiagram.d.ts +1 -2
  31. package/dist/hooks/useDiagram.js +1 -5
  32. package/dist/index.js +1 -0
  33. package/dist/likec4diagram/DiagramUI.js +8 -4
  34. package/dist/likec4diagram/DiagramXYFlow.js +1 -1
  35. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.js +4 -4
  36. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
  37. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -2
  38. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -2
  39. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +1 -1
  40. package/dist/likec4diagram/ui/controls/Controls.js +11 -15
  41. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +1 -1
  42. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +9 -9
  43. package/dist/likec4diagram/ui/controls/NavigationButtons.js +4 -2
  44. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +2 -2
  45. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +15 -13
  46. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
  47. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +4 -4
  48. package/dist/likec4model/LikeC4ModelContext.d.ts +4 -1
  49. package/dist/likec4model/LikeC4ModelContext.js +2 -1
  50. package/dist/likec4model/index.d.ts +1 -0
  51. package/dist/likec4model/useCurrentViewModel.d.ts +2 -0
  52. package/dist/likec4model/useCurrentViewModel.js +12 -0
  53. package/dist/likec4model/useLikeC4Model.d.ts +2 -5
  54. package/dist/likec4model/useLikeC4Model.js +10 -16
  55. package/dist/navigationpanel/NavigationPanel.d.ts +2 -0
  56. package/dist/navigationpanel/NavigationPanel.js +124 -0
  57. package/dist/navigationpanel/NavigationPanelControls.d.ts +1 -0
  58. package/dist/navigationpanel/NavigationPanelControls.js +134 -0
  59. package/dist/navigationpanel/NavigationPanelDropdown.d.ts +1 -0
  60. package/dist/navigationpanel/NavigationPanelDropdown.js +436 -0
  61. package/dist/navigationpanel/_common.d.ts +15 -0
  62. package/dist/navigationpanel/_common.js +69 -0
  63. package/dist/navigationpanel/actor.d.ts +300 -0
  64. package/dist/navigationpanel/actor.js +240 -0
  65. package/dist/navigationpanel/controls/BurgerButton.d.ts +1 -0
  66. package/dist/navigationpanel/controls/BurgerButton.js +36 -0
  67. package/dist/navigationpanel/controls/NavigationButtons.d.ts +1 -0
  68. package/dist/navigationpanel/controls/NavigationButtons.js +44 -0
  69. package/dist/navigationpanel/controls/OpenSource.d.ts +1 -0
  70. package/dist/navigationpanel/controls/OpenSource.js +27 -0
  71. package/dist/navigationpanel/controls/SearchControl.d.ts +1 -0
  72. package/dist/navigationpanel/controls/SearchControl.js +68 -0
  73. package/dist/navigationpanel/controls/ToggleReadonly.d.ts +1 -0
  74. package/dist/navigationpanel/controls/ToggleReadonly.js +69 -0
  75. package/dist/navigationpanel/controls/index.d.ts +5 -0
  76. package/dist/navigationpanel/editorpanel/CenterCamera.d.ts +1 -0
  77. package/dist/navigationpanel/editorpanel/CenterCamera.js +12 -0
  78. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.d.ts +1 -0
  79. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +157 -0
  80. package/dist/navigationpanel/editorpanel/EditorPanel.d.ts +1 -0
  81. package/dist/navigationpanel/editorpanel/EditorPanel.js +48 -0
  82. package/dist/navigationpanel/editorpanel/LayoutDriftNotification.d.ts +1 -0
  83. package/dist/navigationpanel/editorpanel/LayoutDriftNotification.js +56 -0
  84. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.d.ts +2 -0
  85. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +174 -0
  86. package/dist/navigationpanel/editorpanel/_common.d.ts +6 -0
  87. package/dist/navigationpanel/editorpanel/_common.js +14 -0
  88. package/dist/navigationpanel/editorpanel/index.d.ts +1 -0
  89. package/dist/navigationpanel/editorpanel/styles.d.ts +8 -0
  90. package/dist/navigationpanel/editorpanel/styles.js +79 -0
  91. package/dist/navigationpanel/hooks.d.ts +20 -0
  92. package/dist/navigationpanel/hooks.js +38 -0
  93. package/dist/navigationpanel/index.d.ts +1 -0
  94. package/dist/navigationpanel/styles.css.d.ts +16 -0
  95. package/dist/navigationpanel/styles.css.js +32 -0
  96. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.d.ts +2 -0
  97. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +157 -0
  98. package/dist/navigationpanel/walkthrough/index.d.ts +1 -0
  99. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.31.0_react@19.1.0 → @tabler_icons-react@3.34.1_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
  100. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.31.0_react@19.1.0 → @tabler_icons-react@3.34.1_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
  101. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +14 -0
  102. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +14 -0
  103. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +14 -0
  104. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +14 -0
  105. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +14 -0
  106. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +14 -0
  107. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +14 -0
  108. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +14 -0
  109. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +14 -0
  110. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +14 -0
  111. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +14 -0
  112. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +14 -0
  113. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +14 -0
  114. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +14 -0
  115. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +14 -0
  116. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +14 -0
  117. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +14 -0
  118. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +14 -0
  119. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +14 -0
  120. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +14 -0
  121. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +14 -0
  122. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +14 -0
  123. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +14 -0
  124. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +14 -0
  125. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +14 -0
  126. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +14 -0
  127. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +14 -0
  128. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +14 -0
  129. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +14 -0
  130. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu.js +14 -0
  131. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu2.js +14 -0
  132. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +14 -0
  133. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +14 -0
  134. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +14 -0
  135. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +14 -0
  136. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +14 -0
  137. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +14 -0
  138. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +14 -0
  139. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +14 -0
  140. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +14 -0
  141. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +14 -0
  142. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +14 -0
  143. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +14 -0
  144. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +14 -0
  145. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +14 -0
  146. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +14 -0
  147. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +14 -0
  148. package/dist/overlays/element-details/ElementDetailsCard.js +4 -4
  149. package/dist/overlays/element-details/TabPanelDeployments.js +3 -3
  150. package/dist/overlays/element-details/TabPanelRelationships.js +3 -3
  151. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  152. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
  153. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  154. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  155. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -3
  156. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  157. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  158. package/dist/search/components/ElementsColumn.js +1 -1
  159. package/dist/search/components/PickView.js +1 -1
  160. package/dist/search/components/SearchByTags.js +1 -1
  161. package/dist/search/components/SearchInput.js +1 -1
  162. package/dist/search/components/ViewsColum.js +2 -2
  163. package/dist/state/DiagramActorProvider.d.ts +2 -2
  164. package/dist/state/DiagramActorProvider.js +48 -10
  165. package/dist/state/diagram-machine.d.ts +2 -2
  166. package/dist/styles-min.css +1 -1
  167. package/dist/styles.css +1 -1
  168. package/dist/styles.css2.js +1 -1
  169. package/package.json +16 -15
  170. package/panda.buildinfo.json +170 -134
  171. package/src/LikeC4Diagram.props.ts +51 -3
  172. package/src/LikeC4ModelProvider.tsx +3 -3
  173. package/src/base/BaseXYFlow.tsx +4 -4
  174. package/src/base/primitives/element/ElementNodeContainer.tsx +2 -2
  175. package/src/base/primitives/element/ElementTitle.tsx +4 -4
  176. package/src/bundle/LikeC4View.props.ts +14 -4
  177. package/src/bundle/LikeC4View.tsx +2 -2
  178. package/src/components/ErrorFallback.tsx +16 -1
  179. package/src/components/NavigationLink.tsx +31 -0
  180. package/src/context/ControlsCustomLayout.ts +0 -1
  181. package/src/context/DiagramFeatures.tsx +6 -1
  182. package/src/custom/customNodes.tsx +10 -2
  183. package/src/custom/hooks.ts +3 -0
  184. package/src/hooks/useDiagram.ts +0 -8
  185. package/src/likec4diagram/DiagramUI.tsx +9 -3
  186. package/src/likec4diagram/DiagramXYFlow.tsx +1 -1
  187. package/src/likec4diagram/ui/controls/Controls.tsx +8 -18
  188. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +2 -0
  189. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +14 -11
  190. package/src/likec4model/LikeC4ModelContext.ts +5 -1
  191. package/src/likec4model/index.ts +3 -0
  192. package/src/likec4model/useCurrentViewModel.ts +10 -0
  193. package/src/likec4model/useLikeC4Model.ts +17 -27
  194. package/src/navigationpanel/NavigationPanel.tsx +136 -0
  195. package/src/navigationpanel/NavigationPanelControls.tsx +155 -0
  196. package/src/navigationpanel/NavigationPanelDropdown.tsx +523 -0
  197. package/src/navigationpanel/_common.tsx +81 -0
  198. package/src/navigationpanel/actor.ts +321 -0
  199. package/src/navigationpanel/controls/BurgerButton.tsx +32 -0
  200. package/src/navigationpanel/controls/NavigationButtons.tsx +36 -0
  201. package/src/navigationpanel/controls/OpenSource.tsx +28 -0
  202. package/src/navigationpanel/controls/SearchControl.tsx +64 -0
  203. package/src/navigationpanel/controls/ToggleReadonly.tsx +66 -0
  204. package/src/navigationpanel/controls/index.ts +5 -0
  205. package/src/navigationpanel/editorpanel/CenterCamera.tsx +15 -0
  206. package/src/navigationpanel/editorpanel/ChangeAutoLayoutButton.tsx +199 -0
  207. package/src/navigationpanel/editorpanel/EditorPanel.tsx +49 -0
  208. package/src/navigationpanel/editorpanel/LayoutDriftNotification.tsx +56 -0
  209. package/src/navigationpanel/editorpanel/ManualLayoutToolsButton.tsx +151 -0
  210. package/src/navigationpanel/editorpanel/_common.tsx +14 -0
  211. package/src/navigationpanel/editorpanel/index.ts +1 -0
  212. package/src/navigationpanel/editorpanel/styles.ts +84 -0
  213. package/src/navigationpanel/hooks.tsx +70 -0
  214. package/src/navigationpanel/index.ts +1 -0
  215. package/src/navigationpanel/styles.css.ts +30 -0
  216. package/src/navigationpanel/walkthrough/ActiveWalkthroughControls.tsx +160 -0
  217. package/src/navigationpanel/walkthrough/index.tsx +1 -0
  218. package/src/state/DiagramActorProvider.tsx +60 -12
  219. package/src/state/diagram-machine.ts +2 -2
  220. package/dist/base/primitives/element/ElementTitle.css.d.ts +0 -34
  221. package/dist/base/primitives/element/ElementTitle.css.js +0 -201
  222. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -13
  223. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -13
  224. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -13
  225. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -13
  226. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -13
  227. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -13
  228. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -13
  229. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -13
  230. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -13
  231. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -13
  232. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -13
  233. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -13
  234. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -13
  235. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -13
  236. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -13
  237. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -13
  238. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -13
  239. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -13
  240. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -13
  241. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -13
  242. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -13
  243. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -13
  244. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -13
  245. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -13
  246. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -13
  247. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -13
  248. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -13
  249. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu.js +0 -13
  250. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu2.js +0 -13
  251. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -13
  252. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -13
  253. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -13
  254. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -13
  255. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -13
  256. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -13
  257. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -13
  258. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -13
  259. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -13
  260. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -13
  261. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -13
  262. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -13
  263. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -13
  264. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -13
  265. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -13
  266. package/src/base/primitives/element/ElementTitle.css.ts +0 -206
@@ -193,7 +193,7 @@ function normalizeHTMLProps(props) {
193
193
  return Object.fromEntries(Object.entries(props).map(([key, value]) => [convert(key), value]));
194
194
  }
195
195
  normalizeHTMLProps.keys = htmlProps;
196
- const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelected,_whenDimmed,_whenFocused,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_p3,_srgb,_rec2020,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,base", conditions = new Set(conditionsStr.split(",")), conditionRegex = /^@|&|&$/;
196
+ const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_notDisabled,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelected,_whenDimmed,_whenFocused,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_p3,_srgb,_rec2020,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,base", conditions = new Set(conditionsStr.split(",")), conditionRegex = /^@|&|&$/;
197
197
  function isCondition(value) {
198
198
  return conditions.has(value) || conditionRegex.test(value);
199
199
  }
@@ -246,9 +246,9 @@ const defaults = (conf) => ({
246
246
  ...conf
247
247
  });
248
248
  function cva(config) {
249
- const { base, variants, defaultVariants, compoundVariants } = defaults(config), getVariantProps = (variants2) => ({ ...defaultVariants, ...compact(variants2) });
249
+ const { base, variants, defaultVariants, compoundVariants } = defaults(config), getVariantProps2 = (variants2) => ({ ...defaultVariants, ...compact(variants2) });
250
250
  function resolve(props = {}) {
251
- const computedVariants = getVariantProps(props);
251
+ const computedVariants = getVariantProps2(props);
252
252
  let variantCss = { ...base };
253
253
  for (const [key, value] of Object.entries(computedVariants))
254
254
  variants[key]?.[value] && (variantCss = mergeCss(variantCss, variants[key][value]));
@@ -282,7 +282,7 @@ function cva(config) {
282
282
  config,
283
283
  merge,
284
284
  splitVariantProps,
285
- getVariantProps
285
+ getVariantProps: getVariantProps2
286
286
  });
287
287
  }
288
288
  function getCompoundVariantCss(compoundVariants, variantMap) {
@@ -310,7 +310,7 @@ function sva(config) {
310
310
  function splitVariantProps(props) {
311
311
  return splitProps(props, variantKeys);
312
312
  }
313
- const getVariantProps = (variants2) => ({ ...defaultVariants || {}, ...compact(variants2) }), variantMap = Object.fromEntries(
313
+ const getVariantProps2 = (variants2) => ({ ...defaultVariants || {}, ...compact(variants2) }), variantMap = Object.fromEntries(
314
314
  Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])
315
315
  );
316
316
  return Object.assign(memo(svaFn), {
@@ -319,7 +319,7 @@ function sva(config) {
319
319
  variantMap,
320
320
  variantKeys,
321
321
  splitVariantProps,
322
- getVariantProps
322
+ getVariantProps: getVariantProps2
323
323
  });
324
324
  }
325
325
  var __assign = function() {
@@ -1016,20 +1016,20 @@ function useCallbackRef(callback) {
1016
1016
  }), useMemo(() => (...args) => callbackRef.current?.(...args), []);
1017
1017
  }
1018
1018
  const DEFAULT_EVENTS = ["mousedown", "touchstart"];
1019
- function useClickOutside(handler, events, nodes) {
1020
- const ref = useRef(null);
1019
+ function useClickOutside(callback, events, nodes) {
1020
+ const ref = useRef(null), eventsList = events || DEFAULT_EVENTS;
1021
1021
  return useEffect(() => {
1022
1022
  const listener = (event) => {
1023
1023
  const { target } = event ?? {};
1024
1024
  if (Array.isArray(nodes)) {
1025
- const shouldIgnore = target?.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
1026
- nodes.every((node) => !!node && !event.composedPath().includes(node)) && !shouldIgnore && handler();
1027
- } else ref.current && !ref.current.contains(target) && handler();
1025
+ const shouldIgnore = !document.body.contains(target) && target.tagName !== "HTML";
1026
+ nodes.every((node) => !!node && !event.composedPath().includes(node)) && !shouldIgnore && callback();
1027
+ } else ref.current && !ref.current.contains(target) && callback();
1028
1028
  };
1029
- return (events || DEFAULT_EVENTS).forEach((fn) => document.addEventListener(fn, listener)), () => {
1030
- (events || DEFAULT_EVENTS).forEach((fn) => document.removeEventListener(fn, listener));
1029
+ return eventsList.forEach((fn) => document.addEventListener(fn, listener)), () => {
1030
+ eventsList.forEach((fn) => document.removeEventListener(fn, listener));
1031
1031
  };
1032
- }, [ref, handler, nodes]), ref;
1032
+ }, [ref, callback, nodes]), ref;
1033
1033
  }
1034
1034
  function attachMediaListener(query, callback) {
1035
1035
  try {
@@ -1219,11 +1219,13 @@ function clampUseMovePosition(position) {
1219
1219
  };
1220
1220
  }
1221
1221
  function useMove(onChange, handlers, dir = "ltr") {
1222
- const mounted = useRef(!1), isSliding = useRef(!1), frame2 = useRef(0), [active, setActive] = useState(!1);
1222
+ const mounted = useRef(!1), isSliding = useRef(!1), frame2 = useRef(0), [active, setActive] = useState(!1), cleanupRef = useRef(null);
1223
1223
  return useEffect(() => {
1224
1224
  mounted.current = !0;
1225
1225
  }, []), { ref: useCallback(
1226
1226
  (node) => {
1227
+ if (cleanupRef.current && (cleanupRef.current(), cleanupRef.current = null), !node)
1228
+ return;
1227
1229
  const onScrub = ({ x, y: y2 }) => {
1228
1230
  cancelAnimationFrame(frame2.current), frame2.current = requestAnimationFrame(() => {
1229
1231
  if (mounted.current && node) {
@@ -1255,8 +1257,8 @@ function useMove(onChange, handlers, dir = "ltr") {
1255
1257
  }, onTouchMove = (event) => {
1256
1258
  event.cancelable && event.preventDefault(), onScrub({ x: event.changedTouches[0].clientX, y: event.changedTouches[0].clientY });
1257
1259
  };
1258
- return node?.addEventListener("mousedown", onMouseDown), node?.addEventListener("touchstart", onTouchStart, { passive: !1 }), () => {
1259
- node && (node.removeEventListener("mousedown", onMouseDown), node.removeEventListener("touchstart", onTouchStart));
1260
+ node.addEventListener("mousedown", onMouseDown), node.addEventListener("touchstart", onTouchStart, { passive: !1 }), cleanupRef.current = () => {
1261
+ node.removeEventListener("mousedown", onMouseDown), node.removeEventListener("touchstart", onTouchStart);
1260
1262
  };
1261
1263
  },
1262
1264
  [dir, onChange]
@@ -2267,7 +2269,8 @@ function useStyles({
2267
2269
  classNames,
2268
2270
  styles,
2269
2271
  vars,
2270
- varsResolver: varsResolver2
2272
+ varsResolver: varsResolver2,
2273
+ attributes
2271
2274
  }) {
2272
2275
  const theme = useMantineTheme(), classNamesPrefix = useMantineClassNamesPrefix(), withStaticClasses = useMantineWithStaticClasses(), headless = useMantineIsHeadless(), themeName = (Array.isArray(name) ? name : [name]).filter((n2) => n2), { withStylesTransform, getTransformedStyles } = useStylesTransform({
2273
2276
  props,
@@ -2306,7 +2309,8 @@ function useStyles({
2306
2309
  varsResolver: varsResolver2,
2307
2310
  headless,
2308
2311
  withStylesTransform
2309
- })
2312
+ }),
2313
+ ...attributes?.[selector2]
2310
2314
  });
2311
2315
  }
2312
2316
  function useProps(component, defaultProps2, props) {
@@ -2617,7 +2621,7 @@ function parseStyleProps({
2617
2621
  acc.hasResponsiveStyles = !0;
2618
2622
  const breakpoints = getBreakpointKeys(styleProps[styleProp]);
2619
2623
  return properties2.forEach((property) => {
2620
- baseValue && (acc.styles[property] = resolvers[propertyData.type](baseValue, theme)), breakpoints.forEach((breakpoint) => {
2624
+ baseValue != null && (acc.styles[property] = resolvers[propertyData.type](baseValue, theme)), breakpoints.forEach((breakpoint) => {
2621
2625
  const bp = `(min-width: ${theme.breakpoints[breakpoint]})`;
2622
2626
  acc.media[bp] = {
2623
2627
  ...acc.media[bp],
@@ -5041,11 +5045,11 @@ function toInt(value) {
5041
5045
  return value ? parseInt(value, 10) : 0;
5042
5046
  }
5043
5047
  var classes$i = { root: "m_87cf2631" };
5044
- const defaultProps$A = {
5048
+ const defaultProps$k = {
5045
5049
  __staticSelector: "UnstyledButton"
5046
5050
  }, UnstyledButton = polymorphicFactory(
5047
5051
  (_props, ref) => {
5048
- const props = useProps("UnstyledButton", defaultProps$A, _props), {
5052
+ const props = useProps("UnstyledButton", defaultProps$k, _props), {
5049
5053
  className,
5050
5054
  component = "button",
5051
5055
  __staticSelector,
@@ -5053,6 +5057,7 @@ const defaultProps$A = {
5053
5057
  classNames,
5054
5058
  styles,
5055
5059
  style: style2,
5060
+ attributes,
5056
5061
  ...others
5057
5062
  } = props, getStyles2 = useStyles({
5058
5063
  name: __staticSelector,
@@ -5062,7 +5067,8 @@ const defaultProps$A = {
5062
5067
  style: style2,
5063
5068
  classNames,
5064
5069
  styles,
5065
- unstyled
5070
+ unstyled,
5071
+ attributes
5066
5072
  });
5067
5073
  return /* @__PURE__ */ jsx(
5068
5074
  Box$1,
@@ -5079,8 +5085,8 @@ const defaultProps$A = {
5079
5085
  UnstyledButton.classes = classes$i;
5080
5086
  UnstyledButton.displayName = "@mantine/core/UnstyledButton";
5081
5087
  var classes$h = { root: "m_515a97f8" };
5082
- const defaultProps$z = {}, VisuallyHidden = factory((_props, ref) => {
5083
- const props = useProps("VisuallyHidden", defaultProps$z, _props), { classNames, className, style: style2, styles, unstyled, vars, ...others } = props, getStyles2 = useStyles({
5088
+ const VisuallyHidden = factory((_props, ref) => {
5089
+ const props = useProps("VisuallyHidden", null, _props), { classNames, className, style: style2, styles, unstyled, vars, attributes, ...others } = props, getStyles2 = useStyles({
5084
5090
  name: "VisuallyHidden",
5085
5091
  classes: classes$h,
5086
5092
  props,
@@ -5088,20 +5094,21 @@ const defaultProps$z = {}, VisuallyHidden = factory((_props, ref) => {
5088
5094
  style: style2,
5089
5095
  classNames,
5090
5096
  styles,
5091
- unstyled
5097
+ unstyled,
5098
+ attributes
5092
5099
  });
5093
5100
  return /* @__PURE__ */ jsx(Box$1, { component: "span", ref, ...getStyles2("root"), ...others });
5094
5101
  });
5095
5102
  VisuallyHidden.classes = classes$h;
5096
5103
  VisuallyHidden.displayName = "@mantine/core/VisuallyHidden";
5097
5104
  var classes$g = { root: "m_1b7284a3" };
5098
- const defaultProps$y = {}, varsResolver$j = (_, { radius, shadow }) => ({
5105
+ const varsResolver$j = (_, { radius, shadow }) => ({
5099
5106
  root: {
5100
5107
  "--paper-radius": radius === void 0 ? void 0 : getRadius(radius),
5101
5108
  "--paper-shadow": getShadow(shadow)
5102
5109
  }
5103
5110
  }), Paper = polymorphicFactory((_props, ref) => {
5104
- const props = useProps("Paper", defaultProps$y, _props), {
5111
+ const props = useProps("Paper", null, _props), {
5105
5112
  classNames,
5106
5113
  className,
5107
5114
  style: style2,
@@ -5113,6 +5120,7 @@ const defaultProps$y = {}, varsResolver$j = (_, { radius, shadow }) => ({
5113
5120
  shadow,
5114
5121
  variant,
5115
5122
  mod,
5123
+ attributes,
5116
5124
  ...others
5117
5125
  } = props, getStyles2 = useStyles({
5118
5126
  name: "Paper",
@@ -5123,6 +5131,7 @@ const defaultProps$y = {}, varsResolver$j = (_, { radius, shadow }) => ({
5123
5131
  classNames,
5124
5132
  styles,
5125
5133
  unstyled,
5134
+ attributes,
5126
5135
  vars,
5127
5136
  varsResolver: varsResolver$j
5128
5137
  });
@@ -5243,7 +5252,7 @@ function getFloatingPosition(dir, position) {
5243
5252
  return position;
5244
5253
  }
5245
5254
  var classes$f = { root: "m_9814e45f" };
5246
- const defaultProps$x = {
5255
+ const defaultProps$j = {
5247
5256
  zIndex: getDefaultZIndex("modal")
5248
5257
  }, varsResolver$i = (_, { gradient, color: color2, backgroundOpacity, blur, radius, zIndex }) => ({
5249
5258
  root: {
@@ -5253,7 +5262,7 @@ const defaultProps$x = {
5253
5262
  "--overlay-z-index": zIndex?.toString()
5254
5263
  }
5255
5264
  }), Overlay$1 = polymorphicFactory((_props, ref) => {
5256
- const props = useProps("Overlay", defaultProps$x, _props), {
5265
+ const props = useProps("Overlay", defaultProps$j, _props), {
5257
5266
  classNames,
5258
5267
  className,
5259
5268
  style: style2,
@@ -5270,6 +5279,7 @@ const defaultProps$x = {
5270
5279
  color: color2,
5271
5280
  backgroundOpacity,
5272
5281
  mod,
5282
+ attributes,
5273
5283
  ...others
5274
5284
  } = props, getStyles2 = useStyles({
5275
5285
  name: "Overlay",
@@ -5280,6 +5290,7 @@ const defaultProps$x = {
5280
5290
  classNames,
5281
5291
  styles,
5282
5292
  unstyled,
5293
+ attributes,
5283
5294
  vars,
5284
5295
  varsResolver: varsResolver$i
5285
5296
  });
@@ -5303,10 +5314,10 @@ function getTargetNode({ target, reuseTargetNode, ...others }) {
5303
5314
  }
5304
5315
  return createPortalNode(others);
5305
5316
  }
5306
- const defaultProps$w = {
5317
+ const defaultProps$i = {
5307
5318
  reuseTargetNode: !0
5308
5319
  }, Portal = factory((props, ref) => {
5309
- const { children: children2, target, reuseTargetNode, ...others } = useProps("Portal", defaultProps$w, props), [mounted, setMounted] = useState(!1), nodeRef = useRef(null);
5320
+ const { children: children2, target, reuseTargetNode, ...others } = useProps("Portal", defaultProps$i, props), [mounted, setMounted] = useState(!1), nodeRef = useRef(null);
5310
5321
  return useIsomorphicEffect(() => (setMounted(!0), nodeRef.current = getTargetNode({ target, reuseTargetNode, ...others }), assignRef(ref, nodeRef.current), !target && !reuseTargetNode && nodeRef.current && document.body.appendChild(nodeRef.current), () => {
5311
5322
  !target && !reuseTargetNode && nodeRef.current && document.body.removeChild(nodeRef.current);
5312
5323
  }), [target]), !mounted || !nodeRef.current ? null : createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: children2 }), nodeRef.current);
@@ -5573,8 +5584,8 @@ FocusTrap.displayName = "@mantine/core/FocusTrap";
5573
5584
  FocusTrapInitialFocus.displayName = "@mantine/core/FocusTrapInitialFocus";
5574
5585
  FocusTrap.InitialFocus = FocusTrapInitialFocus;
5575
5586
  var classes$e = { dropdown: "m_38a85659", arrow: "m_a31dc6c1", overlay: "m_3d7bc908" };
5576
- const defaultProps$v = {}, PopoverDropdown = factory((_props, ref) => {
5577
- const props = useProps("PopoverDropdown", defaultProps$v, _props), {
5587
+ const PopoverDropdown = factory((_props, ref) => {
5588
+ const props = useProps("PopoverDropdown", null, _props), {
5578
5589
  className,
5579
5590
  style: style2,
5580
5591
  vars,
@@ -5668,13 +5679,13 @@ const defaultProps$v = {}, PopoverDropdown = factory((_props, ref) => {
5668
5679
  });
5669
5680
  PopoverDropdown.classes = classes$e;
5670
5681
  PopoverDropdown.displayName = "@mantine/core/PopoverDropdown";
5671
- const defaultProps$u = {
5682
+ const defaultProps$h = {
5672
5683
  refProp: "ref",
5673
5684
  popupType: "dialog"
5674
5685
  }, PopoverTarget = factory((props, ref) => {
5675
5686
  const { children: children2, refProp, popupType, ...others } = useProps(
5676
5687
  "PopoverTarget",
5677
- defaultProps$u,
5688
+ defaultProps$h,
5678
5689
  props
5679
5690
  );
5680
5691
  if (!isElement$1(children2))
@@ -5697,7 +5708,11 @@ const defaultProps$u = {
5697
5708
  children2.props.className
5698
5709
  ),
5699
5710
  [refProp]: targetRef,
5700
- ...ctx.controlled ? null : { onClick: ctx.onToggle }
5711
+ ...ctx.controlled ? null : {
5712
+ onClick: () => {
5713
+ ctx.onToggle(), children2.props.onClick?.();
5714
+ }
5715
+ }
5701
5716
  });
5702
5717
  });
5703
5718
  PopoverTarget.displayName = "@mantine/core/PopoverTarget";
@@ -5780,7 +5795,7 @@ function usePopover(options) {
5780
5795
  onToggle
5781
5796
  };
5782
5797
  }
5783
- const defaultProps$t = {
5798
+ const defaultProps$g = {
5784
5799
  position: "bottom",
5785
5800
  offset: 8,
5786
5801
  positionDependencies: [],
@@ -5809,7 +5824,7 @@ const defaultProps$t = {
5809
5824
  }
5810
5825
  });
5811
5826
  function Popover(_props) {
5812
- const props = useProps("Popover", defaultProps$t, _props), {
5827
+ const props = useProps("Popover", defaultProps$g, _props), {
5813
5828
  children: children2,
5814
5829
  position,
5815
5830
  offset: offset2,
@@ -5857,6 +5872,7 @@ function Popover(_props) {
5857
5872
  withOverlay,
5858
5873
  overlayProps,
5859
5874
  hideDetached,
5875
+ attributes,
5860
5876
  preventPositionChangeWhenVisible,
5861
5877
  ...others
5862
5878
  } = props, getStyles2 = useStyles({
@@ -5866,6 +5882,7 @@ function Popover(_props) {
5866
5882
  classNames,
5867
5883
  styles,
5868
5884
  unstyled,
5885
+ attributes,
5869
5886
  rootSelector: "dropdown",
5870
5887
  vars,
5871
5888
  varsResolver: varsResolver$h
@@ -6010,7 +6027,7 @@ const defaultLoaders = {
6010
6027
  bars: Bars,
6011
6028
  oval: Oval,
6012
6029
  dots: Dots
6013
- }, defaultProps$s = {
6030
+ }, defaultProps$f = {
6014
6031
  loaders: defaultLoaders,
6015
6032
  type: "oval"
6016
6033
  }, varsResolver$g = (theme, { size: size2, color: color2 }) => ({
@@ -6019,7 +6036,7 @@ const defaultLoaders = {
6019
6036
  "--loader-color": color2 ? getThemeColor(color2, theme) : void 0
6020
6037
  }
6021
6038
  }), Loader = factory((_props, ref) => {
6022
- const props = useProps("Loader", defaultProps$s, _props), {
6039
+ const props = useProps("Loader", defaultProps$f, _props), {
6023
6040
  size: size2,
6024
6041
  color: color2,
6025
6042
  type,
@@ -6032,6 +6049,7 @@ const defaultLoaders = {
6032
6049
  loaders,
6033
6050
  variant,
6034
6051
  children: children2,
6052
+ attributes,
6035
6053
  ...others
6036
6054
  } = props, getStyles2 = useStyles({
6037
6055
  name: "Loader",
@@ -6042,6 +6060,7 @@ const defaultLoaders = {
6042
6060
  classNames,
6043
6061
  styles,
6044
6062
  unstyled,
6063
+ attributes,
6045
6064
  vars,
6046
6065
  varsResolver: varsResolver$g
6047
6066
  });
@@ -6061,12 +6080,12 @@ Loader.defaultLoaders = defaultLoaders;
6061
6080
  Loader.classes = classes$d;
6062
6081
  Loader.displayName = "@mantine/core/Loader";
6063
6082
  var classes$c = { root: "m_8d3f4000", icon: "m_8d3afb97", loader: "m_302b9fb1", group: "m_1a0f1b21", groupSection: "m_437b6484" };
6064
- const defaultProps$r = {
6083
+ const defaultProps$e = {
6065
6084
  orientation: "horizontal"
6066
6085
  }, varsResolver$f = (_, { borderWidth: borderWidth2 }) => ({
6067
6086
  group: { "--ai-border-width": rem(borderWidth2) }
6068
6087
  }), ActionIconGroup = factory((_props, ref) => {
6069
- const props = useProps("ActionIconGroup", defaultProps$r, _props), {
6088
+ const props = useProps("ActionIconGroup", defaultProps$e, _props), {
6070
6089
  className,
6071
6090
  style: style2,
6072
6091
  classNames,
@@ -6077,8 +6096,9 @@ const defaultProps$r = {
6077
6096
  borderWidth: borderWidth2,
6078
6097
  variant,
6079
6098
  mod,
6099
+ attributes,
6080
6100
  ...others
6081
- } = useProps("ActionIconGroup", defaultProps$r, _props), getStyles2 = useStyles({
6101
+ } = useProps("ActionIconGroup", defaultProps$e, _props), getStyles2 = useStyles({
6082
6102
  name: "ActionIconGroup",
6083
6103
  props,
6084
6104
  classes: classes$c,
@@ -6087,6 +6107,7 @@ const defaultProps$r = {
6087
6107
  classNames,
6088
6108
  styles,
6089
6109
  unstyled,
6110
+ attributes,
6090
6111
  vars,
6091
6112
  varsResolver: varsResolver$f,
6092
6113
  rootSelector: "group"
@@ -6105,7 +6126,7 @@ const defaultProps$r = {
6105
6126
  });
6106
6127
  ActionIconGroup.classes = classes$c;
6107
6128
  ActionIconGroup.displayName = "@mantine/core/ActionIconGroup";
6108
- const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6129
+ const varsResolver$e = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6109
6130
  const colors2 = theme.variantColorResolver({
6110
6131
  color: color2 || theme.primaryColor,
6111
6132
  theme,
@@ -6125,7 +6146,7 @@ const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gra
6125
6146
  }
6126
6147
  };
6127
6148
  }, ActionIconGroupSection = factory((_props, ref) => {
6128
- const props = useProps("ActionIconGroupSection", defaultProps$q, _props), {
6149
+ const props = useProps("ActionIconGroupSection", null, _props), {
6129
6150
  className,
6130
6151
  style: style2,
6131
6152
  classNames,
@@ -6136,8 +6157,9 @@ const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gra
6136
6157
  gradient,
6137
6158
  radius,
6138
6159
  autoContrast,
6160
+ attributes,
6139
6161
  ...others
6140
- } = useProps("ActionIconGroupSection", defaultProps$q, _props), getStyles2 = useStyles({
6162
+ } = props, getStyles2 = useStyles({
6141
6163
  name: "ActionIconGroupSection",
6142
6164
  props,
6143
6165
  classes: classes$c,
@@ -6146,6 +6168,7 @@ const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gra
6146
6168
  classNames,
6147
6169
  styles,
6148
6170
  unstyled,
6171
+ attributes,
6149
6172
  vars,
6150
6173
  varsResolver: varsResolver$e,
6151
6174
  rootSelector: "groupSection"
@@ -6154,7 +6177,7 @@ const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gra
6154
6177
  });
6155
6178
  ActionIconGroupSection.classes = classes$c;
6156
6179
  ActionIconGroupSection.displayName = "@mantine/core/ActionIconGroupSection";
6157
- const defaultProps$p = {}, varsResolver$d = (theme, { size: size2, radius, variant, gradient, color: color2, autoContrast }) => {
6180
+ const varsResolver$d = (theme, { size: size2, radius, variant, gradient, color: color2, autoContrast }) => {
6158
6181
  const colors2 = theme.variantColorResolver({
6159
6182
  color: color2 || theme.primaryColor,
6160
6183
  theme,
@@ -6174,7 +6197,7 @@ const defaultProps$p = {}, varsResolver$d = (theme, { size: size2, radius, varia
6174
6197
  }
6175
6198
  };
6176
6199
  }, ActionIcon = polymorphicFactory((_props, ref) => {
6177
- const props = useProps("ActionIcon", defaultProps$p, _props), {
6200
+ const props = useProps("ActionIcon", null, _props), {
6178
6201
  className,
6179
6202
  unstyled,
6180
6203
  variant,
@@ -6194,6 +6217,7 @@ const defaultProps$p = {}, varsResolver$d = (theme, { size: size2, radius, varia
6194
6217
  "data-disabled": dataDisabled,
6195
6218
  autoContrast,
6196
6219
  mod,
6220
+ attributes,
6197
6221
  ...others
6198
6222
  } = props, getStyles2 = useStyles({
6199
6223
  name: ["ActionIcon", __staticSelector],
@@ -6204,6 +6228,7 @@ const defaultProps$p = {}, varsResolver$d = (theme, { size: size2, radius, varia
6204
6228
  classNames,
6205
6229
  styles,
6206
6230
  unstyled,
6231
+ attributes,
6207
6232
  vars,
6208
6233
  varsResolver: varsResolver$d
6209
6234
  });
@@ -6233,7 +6258,7 @@ function filterFalsyChildren(children2) {
6233
6258
  return Children.toArray(children2).filter(Boolean);
6234
6259
  }
6235
6260
  var classes$b = { root: "m_4081bf90" };
6236
- const defaultProps$o = {
6261
+ const defaultProps$d = {
6237
6262
  preventGrowOverflow: !0,
6238
6263
  gap: "md",
6239
6264
  align: "center",
@@ -6248,7 +6273,7 @@ const defaultProps$o = {
6248
6273
  "--group-wrap": wrap
6249
6274
  }
6250
6275
  }), Group = factory((_props, ref) => {
6251
- const props = useProps("Group", defaultProps$o, _props), {
6276
+ const props = useProps("Group", defaultProps$d, _props), {
6252
6277
  classNames,
6253
6278
  className,
6254
6279
  style: style2,
@@ -6265,6 +6290,7 @@ const defaultProps$o = {
6265
6290
  variant,
6266
6291
  __size,
6267
6292
  mod,
6293
+ attributes,
6268
6294
  ...others
6269
6295
  } = props, filteredChildren = filterFalsyChildren(children2), childrenCount = filteredChildren.length, resolvedGap = getSpacing(gap ?? "md"), stylesCtx = { childWidth: `calc(${100 / childrenCount}% - (${resolvedGap} - ${resolvedGap} / ${childrenCount}))` }, getStyles2 = useStyles({
6270
6296
  name: "Group",
@@ -6276,6 +6302,7 @@ const defaultProps$o = {
6276
6302
  classNames,
6277
6303
  styles,
6278
6304
  unstyled,
6305
+ attributes,
6279
6306
  vars,
6280
6307
  varsResolver: varsResolver$c
6281
6308
  });
@@ -6304,8 +6331,8 @@ const FLEX_STYLE_PROPS_DATA = {
6304
6331
  direction: { type: "identity", property: "flexDirection" }
6305
6332
  };
6306
6333
  var classes$a = { root: "m_8bffd616" };
6307
- const defaultProps$n = {}, Flex = polymorphicFactory((_props, ref) => {
6308
- const props = useProps("Flex", defaultProps$n, _props), {
6334
+ const Flex = polymorphicFactory((_props, ref) => {
6335
+ const props = useProps("Flex", null, _props), {
6309
6336
  classNames,
6310
6337
  className,
6311
6338
  style: style2,
@@ -6319,6 +6346,7 @@ const defaultProps$n = {}, Flex = polymorphicFactory((_props, ref) => {
6319
6346
  justify,
6320
6347
  wrap,
6321
6348
  direction,
6349
+ attributes,
6322
6350
  ...others
6323
6351
  } = props, getStyles2 = useStyles({
6324
6352
  name: "Flex",
@@ -6329,6 +6357,7 @@ const defaultProps$n = {}, Flex = polymorphicFactory((_props, ref) => {
6329
6357
  classNames,
6330
6358
  styles,
6331
6359
  unstyled,
6360
+ attributes,
6332
6361
  vars
6333
6362
  }), theme = useMantineTheme(), responsiveClassName = useRandomClassName(), parsedStyleProps = parseStyleProps({
6334
6363
  styleProps: { gap, rowGap, columnGap, align, justify, wrap, direction },
@@ -6424,12 +6453,12 @@ function useFloatingIndicator({
6424
6453
  ), { initialized, hidden: hidden2 };
6425
6454
  }
6426
6455
  var classes$9 = { root: "m_96b553a6" };
6427
- const defaultProps$m = {}, varsResolver$b = (_theme, { transitionDuration }) => ({
6456
+ const varsResolver$b = (_theme, { transitionDuration }) => ({
6428
6457
  root: {
6429
6458
  "--transition-duration": typeof transitionDuration == "number" ? `${transitionDuration}ms` : transitionDuration
6430
6459
  }
6431
6460
  }), FloatingIndicator = factory((_props, ref) => {
6432
- const props = useProps("FloatingIndicator", defaultProps$m, _props), {
6461
+ const props = useProps("FloatingIndicator", null, _props), {
6433
6462
  classNames,
6434
6463
  className,
6435
6464
  style: style2,
@@ -6441,6 +6470,7 @@ const defaultProps$m = {}, varsResolver$b = (_theme, { transitionDuration }) =>
6441
6470
  transitionDuration,
6442
6471
  mod,
6443
6472
  displayAfterTransitionEnd,
6473
+ attributes,
6444
6474
  ...others
6445
6475
  } = props, getStyles2 = useStyles({
6446
6476
  name: "FloatingIndicator",
@@ -6451,6 +6481,7 @@ const defaultProps$m = {}, varsResolver$b = (_theme, { transitionDuration }) =>
6451
6481
  classNames,
6452
6482
  styles,
6453
6483
  unstyled,
6484
+ attributes,
6454
6485
  vars,
6455
6486
  varsResolver: varsResolver$b
6456
6487
  }), innerRef = useRef(null), { initialized, hidden: hidden2 } = useFloatingIndicator({
@@ -6463,6 +6494,16 @@ const defaultProps$m = {}, varsResolver$b = (_theme, { transitionDuration }) =>
6463
6494
  });
6464
6495
  FloatingIndicator.displayName = "@mantine/core/FloatingIndicator";
6465
6496
  FloatingIndicator.classes = classes$9;
6497
+ function useDelayedHover({ open, close, openDelay, closeDelay }) {
6498
+ const openTimeout = useRef(-1), closeTimeout = useRef(-1), clearTimeouts = () => {
6499
+ window.clearTimeout(openTimeout.current), window.clearTimeout(closeTimeout.current);
6500
+ }, openDropdown = () => {
6501
+ clearTimeouts(), openDelay === 0 || openDelay === void 0 ? open() : openTimeout.current = window.setTimeout(open, openDelay);
6502
+ }, closeDropdown = () => {
6503
+ clearTimeouts(), closeDelay === 0 || closeDelay === void 0 ? close() : closeTimeout.current = window.setTimeout(close, closeDelay);
6504
+ };
6505
+ return useEffect(() => clearTimeouts, []), { openDropdown, closeDropdown };
6506
+ }
6466
6507
  function AccordionChevron({ style: style2, size: size2 = 16, ...others }) {
6467
6508
  return /* @__PURE__ */ jsx(
6468
6509
  "svg",
@@ -6492,7 +6533,7 @@ function getTextTruncate(truncate) {
6492
6533
  if (truncate === "end" || truncate)
6493
6534
  return "end";
6494
6535
  }
6495
- const defaultProps$l = {
6536
+ const defaultProps$c = {
6496
6537
  inherit: !1
6497
6538
  }, varsResolver$a = /* Will be removed in 9.0 */ /* eslint-disable-next-line @typescript-eslint/no-deprecated */ (theme, { variant, lineClamp, gradient, size: size2, color: color2 }) => ({
6498
6539
  root: {
@@ -6503,7 +6544,7 @@ const defaultProps$l = {
6503
6544
  "--text-color": color2 ? getThemeColor(color2, theme) : void 0
6504
6545
  }
6505
6546
  }), Text = polymorphicFactory((_props, ref) => {
6506
- const props = useProps("Text", defaultProps$l, _props), {
6547
+ const props = useProps("Text", defaultProps$c, _props), {
6507
6548
  lineClamp,
6508
6549
  truncate,
6509
6550
  inline: inline2,
@@ -6520,6 +6561,7 @@ const defaultProps$l = {
6520
6561
  variant,
6521
6562
  mod,
6522
6563
  size: size2,
6564
+ attributes,
6523
6565
  ...others
6524
6566
  } = props, getStyles2 = useStyles({
6525
6567
  name: ["Text", __staticSelector],
@@ -6530,6 +6572,7 @@ const defaultProps$l = {
6530
6572
  classNames,
6531
6573
  styles,
6532
6574
  unstyled,
6575
+ attributes,
6533
6576
  vars,
6534
6577
  varsResolver: varsResolver$a
6535
6578
  });
@@ -6580,12 +6623,12 @@ function CheckIcon({ size: size2, style: style2, ...others }) {
6580
6623
  );
6581
6624
  }
6582
6625
  var classes$7 = { root: "m_77c9d27d", inner: "m_80f1301b", label: "m_811560b9", section: "m_a74036a", loader: "m_a25b86ee", group: "m_80d6d844", groupSection: "m_70be2a01" };
6583
- const defaultProps$k = {
6626
+ const defaultProps$b = {
6584
6627
  orientation: "horizontal"
6585
6628
  }, varsResolver$9 = (_, { borderWidth: borderWidth2 }) => ({
6586
6629
  group: { "--button-border-width": rem(borderWidth2) }
6587
6630
  }), ButtonGroup = factory((_props, ref) => {
6588
- const props = useProps("ButtonGroup", defaultProps$k, _props), {
6631
+ const props = useProps("ButtonGroup", defaultProps$b, _props), {
6589
6632
  className,
6590
6633
  style: style2,
6591
6634
  classNames,
@@ -6596,8 +6639,9 @@ const defaultProps$k = {
6596
6639
  borderWidth: borderWidth2,
6597
6640
  variant,
6598
6641
  mod,
6642
+ attributes,
6599
6643
  ...others
6600
- } = useProps("ButtonGroup", defaultProps$k, _props), getStyles2 = useStyles({
6644
+ } = useProps("ButtonGroup", defaultProps$b, _props), getStyles2 = useStyles({
6601
6645
  name: "ButtonGroup",
6602
6646
  props,
6603
6647
  classes: classes$7,
@@ -6606,6 +6650,7 @@ const defaultProps$k = {
6606
6650
  classNames,
6607
6651
  styles,
6608
6652
  unstyled,
6653
+ attributes,
6609
6654
  vars,
6610
6655
  varsResolver: varsResolver$9,
6611
6656
  rootSelector: "group"
@@ -6624,7 +6669,7 @@ const defaultProps$k = {
6624
6669
  });
6625
6670
  ButtonGroup.classes = classes$7;
6626
6671
  ButtonGroup.displayName = "@mantine/core/ButtonGroup";
6627
- const defaultProps$j = {}, varsResolver$8 = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6672
+ const varsResolver$8 = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6628
6673
  const colors2 = theme.variantColorResolver({
6629
6674
  color: color2 || theme.primaryColor,
6630
6675
  theme,
@@ -6644,7 +6689,7 @@ const defaultProps$j = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6644
6689
  }
6645
6690
  };
6646
6691
  }, ButtonGroupSection = factory((_props, ref) => {
6647
- const props = useProps("ButtonGroupSection", defaultProps$j, _props), {
6692
+ const props = useProps("ButtonGroupSection", null, _props), {
6648
6693
  className,
6649
6694
  style: style2,
6650
6695
  classNames,
@@ -6655,8 +6700,9 @@ const defaultProps$j = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6655
6700
  gradient,
6656
6701
  radius,
6657
6702
  autoContrast,
6703
+ attributes,
6658
6704
  ...others
6659
- } = useProps("ButtonGroupSection", defaultProps$j, _props), getStyles2 = useStyles({
6705
+ } = props, getStyles2 = useStyles({
6660
6706
  name: "ButtonGroupSection",
6661
6707
  props,
6662
6708
  classes: classes$7,
@@ -6665,6 +6711,7 @@ const defaultProps$j = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6665
6711
  classNames,
6666
6712
  styles,
6667
6713
  unstyled,
6714
+ attributes,
6668
6715
  vars,
6669
6716
  varsResolver: varsResolver$8,
6670
6717
  rootSelector: "groupSection"
@@ -6678,7 +6725,7 @@ const loaderTransition = {
6678
6725
  out: { opacity: 0, transform: "translate(-50%, -200%)" },
6679
6726
  common: { transformOrigin: "center" },
6680
6727
  transitionProperty: "transform, opacity"
6681
- }, defaultProps$i = {}, varsResolver$7 = (theme, { radius, color: color2, gradient, variant, size: size2, justify, autoContrast }) => {
6728
+ }, varsResolver$7 = (theme, { radius, color: color2, gradient, variant, size: size2, justify, autoContrast }) => {
6682
6729
  const colors2 = theme.variantColorResolver({
6683
6730
  color: color2 || theme.primaryColor,
6684
6731
  theme,
@@ -6701,7 +6748,7 @@ const loaderTransition = {
6701
6748
  }
6702
6749
  };
6703
6750
  }, Button = polymorphicFactory((_props, ref) => {
6704
- const props = useProps("Button", defaultProps$i, _props), {
6751
+ const props = useProps("Button", null, _props), {
6705
6752
  style: style2,
6706
6753
  vars,
6707
6754
  className,
@@ -6722,6 +6769,7 @@ const loaderTransition = {
6722
6769
  "data-disabled": dataDisabled,
6723
6770
  autoContrast,
6724
6771
  mod,
6772
+ attributes,
6725
6773
  ...others
6726
6774
  } = props, getStyles2 = useStyles({
6727
6775
  name: "Button",
@@ -6732,6 +6780,7 @@ const loaderTransition = {
6732
6780
  classNames,
6733
6781
  styles,
6734
6782
  unstyled,
6783
+ attributes,
6735
6784
  vars,
6736
6785
  varsResolver: varsResolver$7
6737
6786
  }), hasLeftSection = !!leftSection, hasRightSection = !!rightSection;
@@ -6777,7 +6826,7 @@ Button.displayName = "@mantine/core/Button";
6777
6826
  Button.Group = ButtonGroup;
6778
6827
  Button.GroupSection = ButtonGroupSection;
6779
6828
  var classes$6 = { root: "m_de3d2490", colorOverlay: "m_862f3d1b", shadowOverlay: "m_98ae7f22", alphaOverlay: "m_95709ac0", childrenOverlay: "m_93e74e3" };
6780
- const defaultProps$h = {
6829
+ const defaultProps$a = {
6781
6830
  withShadow: !0
6782
6831
  }, varsResolver$6 = (_, { radius, size: size2 }) => ({
6783
6832
  root: {
@@ -6785,7 +6834,7 @@ const defaultProps$h = {
6785
6834
  "--cs-size": rem(size2)
6786
6835
  }
6787
6836
  }), ColorSwatch = polymorphicFactory((_props, ref) => {
6788
- const props = useProps("ColorSwatch", defaultProps$h, _props), {
6837
+ const props = useProps("ColorSwatch", defaultProps$a, _props), {
6789
6838
  classNames,
6790
6839
  className,
6791
6840
  style: style2,
@@ -6798,8 +6847,9 @@ const defaultProps$h = {
6798
6847
  withShadow,
6799
6848
  children: children2,
6800
6849
  variant,
6850
+ attributes,
6801
6851
  ...others
6802
- } = useProps("ColorSwatch", defaultProps$h, props), getStyles2 = useStyles({
6852
+ } = useProps("ColorSwatch", defaultProps$a, props), getStyles2 = useStyles({
6803
6853
  name: "ColorSwatch",
6804
6854
  props,
6805
6855
  classes: classes$6,
@@ -6808,6 +6858,7 @@ const defaultProps$h = {
6808
6858
  classNames,
6809
6859
  styles,
6810
6860
  unstyled,
6861
+ attributes,
6811
6862
  vars,
6812
6863
  varsResolver: varsResolver$6
6813
6864
  });
@@ -6831,7 +6882,7 @@ const defaultProps$h = {
6831
6882
  ColorSwatch.classes = classes$6;
6832
6883
  ColorSwatch.displayName = "@mantine/core/ColorSwatch";
6833
6884
  var classes$5 = { root: "m_3eebeb36", label: "m_9e365f20" };
6834
- const defaultProps$g = {
6885
+ const defaultProps$9 = {
6835
6886
  orientation: "horizontal"
6836
6887
  }, varsResolver$5 = (theme, { color: color2, variant, size: size2 }) => ({
6837
6888
  root: {
@@ -6840,7 +6891,7 @@ const defaultProps$g = {
6840
6891
  "--divider-size": getSize(size2, "divider-size")
6841
6892
  }
6842
6893
  }), Divider = factory((_props, ref) => {
6843
- const props = useProps("Divider", defaultProps$g, _props), {
6894
+ const props = useProps("Divider", defaultProps$9, _props), {
6844
6895
  classNames,
6845
6896
  className,
6846
6897
  style: style2,
@@ -6852,6 +6903,7 @@ const defaultProps$g = {
6852
6903
  label,
6853
6904
  labelPosition,
6854
6905
  mod,
6906
+ attributes,
6855
6907
  ...others
6856
6908
  } = props, getStyles2 = useStyles({
6857
6909
  name: "Divider",
@@ -6862,6 +6914,7 @@ const defaultProps$g = {
6862
6914
  classNames,
6863
6915
  styles,
6864
6916
  unstyled,
6917
+ attributes,
6865
6918
  vars,
6866
6919
  varsResolver: varsResolver$5
6867
6920
  });
@@ -6879,25 +6932,15 @@ const defaultProps$g = {
6879
6932
  });
6880
6933
  Divider.classes = classes$5;
6881
6934
  Divider.displayName = "@mantine/core/Divider";
6882
- function useDelayedHover({ open, close, openDelay, closeDelay }) {
6883
- const openTimeout = useRef(-1), closeTimeout = useRef(-1), clearTimeouts = () => {
6884
- window.clearTimeout(openTimeout.current), window.clearTimeout(closeTimeout.current);
6885
- }, openDropdown = () => {
6886
- clearTimeouts(), openDelay === 0 || openDelay === void 0 ? open() : openTimeout.current = window.setTimeout(open, openDelay);
6887
- }, closeDropdown = () => {
6888
- clearTimeouts(), closeDelay === 0 || closeDelay === void 0 ? close() : closeTimeout.current = window.setTimeout(close, closeDelay);
6889
- };
6890
- return useEffect(() => clearTimeouts, []), { openDropdown, closeDropdown };
6891
- }
6892
6935
  var index$1 = useLayoutEffect;
6893
6936
  const [MenuContextProvider, useMenuContext] = createSafeContext(
6894
6937
  "Menu component was not found in the tree"
6895
6938
  );
6896
6939
  var classes$4 = { dropdown: "m_dc9b7c9f", label: "m_9bfac126", divider: "m_efdf90cb", item: "m_99ac2aa1", itemLabel: "m_5476e0d3", itemSection: "m_8b75e504", chevron: "m_b85b0bed" };
6897
- const defaultProps$f = {}, MenuDivider = factory((props, ref) => {
6940
+ const MenuDivider = factory((props, ref) => {
6898
6941
  const { classNames, className, style: style2, styles, vars, ...others } = useProps(
6899
6942
  "MenuDivider",
6900
- defaultProps$f,
6943
+ null,
6901
6944
  props
6902
6945
  ), ctx = useMenuContext();
6903
6946
  return /* @__PURE__ */ jsx(
@@ -6911,7 +6954,7 @@ const defaultProps$f = {}, MenuDivider = factory((props, ref) => {
6911
6954
  });
6912
6955
  MenuDivider.classes = classes$4;
6913
6956
  MenuDivider.displayName = "@mantine/core/MenuDivider";
6914
- const defaultProps$e = {}, MenuDropdown = factory((props, ref) => {
6957
+ const MenuDropdown = factory((props, ref) => {
6915
6958
  const {
6916
6959
  classNames,
6917
6960
  className,
@@ -6923,7 +6966,7 @@ const defaultProps$e = {}, MenuDropdown = factory((props, ref) => {
6923
6966
  onKeyDown,
6924
6967
  children: children2,
6925
6968
  ...others
6926
- } = useProps("MenuDropdown", defaultProps$e, props), wrapperRef = useRef(null), ctx = useMenuContext(), handleKeyDown = createEventHandler(onKeyDown, (event) => {
6969
+ } = useProps("MenuDropdown", null, props), wrapperRef = useRef(null), ctx = useMenuContext(), handleKeyDown = createEventHandler(onKeyDown, (event) => {
6927
6970
  (event.key === "ArrowUp" || event.key === "ArrowDown") && (event.preventDefault(), wrapperRef.current?.querySelectorAll("[data-menu-item]:not(:disabled)")[0]?.focus());
6928
6971
  }), handleMouseEnter = createEventHandler(
6929
6972
  onMouseEnter,
@@ -6960,7 +7003,7 @@ const defaultProps$e = {}, MenuDropdown = factory((props, ref) => {
6960
7003
  });
6961
7004
  MenuDropdown.classes = classes$4;
6962
7005
  MenuDropdown.displayName = "@mantine/core/MenuDropdown";
6963
- const [SubMenuProvider, useSubMenuContext] = createOptionalContext(), defaultProps$d = {}, MenuItem = polymorphicFactory((props, ref) => {
7006
+ const [SubMenuProvider, useSubMenuContext] = createOptionalContext(), MenuItem = polymorphicFactory((props, ref) => {
6964
7007
  const {
6965
7008
  classNames,
6966
7009
  className,
@@ -6975,7 +7018,7 @@ const [SubMenuProvider, useSubMenuContext] = createOptionalContext(), defaultPro
6975
7018
  disabled,
6976
7019
  "data-disabled": dataDisabled,
6977
7020
  ...others
6978
- } = useProps("MenuItem", defaultProps$d, props), ctx = useMenuContext(), subCtx = useSubMenuContext(), theme = useMantineTheme(), { dir } = useDirection(), itemRef = useRef(null), _others = others, handleClick = createEventHandler(_others.onClick, () => {
7021
+ } = useProps("MenuItem", null, props), ctx = useMenuContext(), subCtx = useSubMenuContext(), theme = useMantineTheme(), { dir } = useDirection(), itemRef = useRef(null), _others = others, handleClick = createEventHandler(_others.onClick, () => {
6979
7022
  dataDisabled || (typeof closeMenuOnClick == "boolean" ? closeMenuOnClick && ctx.closeDropdownImmediately() : ctx.closeOnItemClick && ctx.closeDropdownImmediately());
6980
7023
  }), colors2 = color2 ? theme.variantColorResolver({ color: color2, theme, variant: "light" }) : void 0, parsedThemeColor = color2 ? parseThemeColor({ color: color2, theme }) : null, handleKeydown = createEventHandler(_others.onKeyDown, (event) => {
6981
7024
  event.key === "ArrowLeft" && subCtx && (subCtx.close(), subCtx.focusParentItem());
@@ -7018,10 +7061,10 @@ const [SubMenuProvider, useSubMenuContext] = createOptionalContext(), defaultPro
7018
7061
  });
7019
7062
  MenuItem.classes = classes$4;
7020
7063
  MenuItem.displayName = "@mantine/core/MenuItem";
7021
- const defaultProps$c = {}, MenuLabel = factory((props, ref) => {
7064
+ const MenuLabel = factory((props, ref) => {
7022
7065
  const { classNames, className, style: style2, styles, vars, ...others } = useProps(
7023
7066
  "MenuLabel",
7024
- defaultProps$c,
7067
+ null,
7025
7068
  props
7026
7069
  ), ctx = useMenuContext();
7027
7070
  return /* @__PURE__ */ jsx(
@@ -7035,7 +7078,7 @@ const defaultProps$c = {}, MenuLabel = factory((props, ref) => {
7035
7078
  });
7036
7079
  MenuLabel.classes = classes$4;
7037
7080
  MenuLabel.displayName = "@mantine/core/MenuLabel";
7038
- const defaultProps$b = {}, MenuSubDropdown = factory((props, ref) => {
7081
+ const MenuSubDropdown = factory((props, ref) => {
7039
7082
  const {
7040
7083
  classNames,
7041
7084
  className,
@@ -7047,7 +7090,7 @@ const defaultProps$b = {}, MenuSubDropdown = factory((props, ref) => {
7047
7090
  onKeyDown,
7048
7091
  children: children2,
7049
7092
  ...others
7050
- } = useProps("MenuSubDropdown", defaultProps$b, props), wrapperRef = useRef(null), ctx = useMenuContext(), subCtx = useSubMenuContext(), handleMouseEnter = createEventHandler(onMouseEnter, subCtx?.open), handleMouseLeave = createEventHandler(onMouseLeave, subCtx?.close);
7093
+ } = useProps("MenuSubDropdown", null, props), wrapperRef = useRef(null), ctx = useMenuContext(), subCtx = useSubMenuContext(), handleMouseEnter = createEventHandler(onMouseEnter, subCtx?.open), handleMouseLeave = createEventHandler(onMouseLeave, subCtx?.close);
7051
7094
  return /* @__PURE__ */ jsx(
7052
7095
  Popover.Dropdown,
7053
7096
  {
@@ -7072,7 +7115,7 @@ const defaultProps$b = {}, MenuSubDropdown = factory((props, ref) => {
7072
7115
  });
7073
7116
  MenuSubDropdown.classes = classes$4;
7074
7117
  MenuSubDropdown.displayName = "@mantine/core/MenuSubDropdown";
7075
- const defaultProps$a = {}, MenuSubItem = polymorphicFactory((props, ref) => {
7118
+ const MenuSubItem = polymorphicFactory((props, ref) => {
7076
7119
  const {
7077
7120
  classNames,
7078
7121
  className,
@@ -7087,7 +7130,7 @@ const defaultProps$a = {}, MenuSubItem = polymorphicFactory((props, ref) => {
7087
7130
  "data-disabled": dataDisabled,
7088
7131
  closeMenuOnClick,
7089
7132
  ...others
7090
- } = useProps("MenuSubItem", defaultProps$a, props), ctx = useMenuContext(), subCtx = useSubMenuContext(), theme = useMantineTheme(), { dir } = useDirection(), itemRef = useRef(null), _others = others, colors2 = color2 ? theme.variantColorResolver({ color: color2, theme, variant: "light" }) : void 0, parsedThemeColor = color2 ? parseThemeColor({ color: color2, theme }) : null, handleKeydown = createEventHandler(_others.onKeyDown, (event) => {
7133
+ } = useProps("MenuSubItem", null, props), ctx = useMenuContext(), subCtx = useSubMenuContext(), theme = useMantineTheme(), { dir } = useDirection(), itemRef = useRef(null), _others = others, colors2 = color2 ? theme.variantColorResolver({ color: color2, theme, variant: "light" }) : void 0, parsedThemeColor = color2 ? parseThemeColor({ color: color2, theme }) : null, handleKeydown = createEventHandler(_others.onKeyDown, (event) => {
7091
7134
  event.key === "ArrowRight" && (subCtx?.open(), subCtx?.focusFirstItem()), event.key === "ArrowLeft" && subCtx?.parentContext && (subCtx.parentContext.close(), subCtx.parentContext.focusParentItem());
7092
7135
  }), handleClick = createEventHandler(_others.onClick, () => {
7093
7136
  !dataDisabled && closeMenuOnClick && ctx.closeDropdownImmediately();
@@ -7141,13 +7184,13 @@ function MenuSubTarget({ children: children2, refProp }) {
7141
7184
  return useMenuContext(), /* @__PURE__ */ jsx(Popover.Target, { refProp, popupType: "menu", children: children2 });
7142
7185
  }
7143
7186
  MenuSubTarget.displayName = "@mantine/core/MenuSubTarget";
7144
- const defaultProps$9 = {
7187
+ const defaultProps$8 = {
7145
7188
  offset: 0,
7146
7189
  position: "right-start",
7147
7190
  transitionProps: { duration: 0 }
7148
7191
  };
7149
7192
  function MenuSub(_props) {
7150
- const { children: children2, closeDelay, ...others } = useProps("MenuSub", defaultProps$9, _props), id2 = useId$1(), [opened, { open, close }] = useDisclosure(!1), ctx = useSubMenuContext(), { openDropdown, closeDropdown } = useDelayedHover({
7193
+ const { children: children2, closeDelay, ...others } = useProps("MenuSub", defaultProps$8, _props), id2 = useId$1(), [opened, { open, close }] = useDisclosure(!1), ctx = useSubMenuContext(), { openDropdown, closeDropdown } = useDelayedHover({
7151
7194
  open,
7152
7195
  close,
7153
7196
  closeDelay,
@@ -7168,7 +7211,7 @@ function MenuSub(_props) {
7168
7211
  }, 16),
7169
7212
  parentContext: ctx
7170
7213
  },
7171
- children: /* @__PURE__ */ jsx(Popover, { opened, ...others, withinPortal: !1, id: id2, children: children2 })
7214
+ children: /* @__PURE__ */ jsx(Popover, { opened, ...others, withinPortal: !1, withArrow: !1, id: id2, children: children2 })
7172
7215
  }
7173
7216
  );
7174
7217
  }
@@ -7177,10 +7220,10 @@ MenuSub.displayName = "@mantine/core/MenuSub";
7177
7220
  MenuSub.Target = MenuSubTarget;
7178
7221
  MenuSub.Dropdown = MenuSubDropdown;
7179
7222
  MenuSub.Item = MenuSubItem;
7180
- const defaultProps$8 = {
7223
+ const defaultProps$7 = {
7181
7224
  refProp: "ref"
7182
7225
  }, MenuTarget = forwardRef((props, ref) => {
7183
- const { children: children2, refProp, ...others } = useProps("MenuTarget", defaultProps$8, props);
7226
+ const { children: children2, refProp, ...others } = useProps("MenuTarget", defaultProps$7, props);
7184
7227
  if (!isElement$1(children2))
7185
7228
  throw new Error(
7186
7229
  "Menu.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
@@ -7201,7 +7244,7 @@ const defaultProps$8 = {
7201
7244
  }) });
7202
7245
  });
7203
7246
  MenuTarget.displayName = "@mantine/core/MenuTarget";
7204
- const defaultProps$7 = {
7247
+ const defaultProps$6 = {
7205
7248
  trapFocus: !0,
7206
7249
  closeOnItemClick: !0,
7207
7250
  withInitialFocusPlaceholder: !0,
@@ -7213,7 +7256,7 @@ const defaultProps$7 = {
7213
7256
  menuItemTabIndex: -1
7214
7257
  };
7215
7258
  function Menu(_props) {
7216
- const props = useProps("Menu", defaultProps$7, _props), {
7259
+ const props = useProps("Menu", defaultProps$6, _props), {
7217
7260
  children: children2,
7218
7261
  onOpen,
7219
7262
  onClose,
@@ -7235,6 +7278,7 @@ function Menu(_props) {
7235
7278
  menuItemTabIndex,
7236
7279
  keepMounted,
7237
7280
  withInitialFocusPlaceholder,
7281
+ attributes,
7238
7282
  ...others
7239
7283
  } = props, getStyles2 = useStyles({
7240
7284
  name: "Menu",
@@ -7242,7 +7286,8 @@ function Menu(_props) {
7242
7286
  props,
7243
7287
  classNames,
7244
7288
  styles,
7245
- unstyled
7289
+ unstyled,
7290
+ attributes
7246
7291
  }), [_opened, setOpened] = useUncontrolled({
7247
7292
  value: opened,
7248
7293
  defaultValue: defaultOpened,
@@ -7366,7 +7411,7 @@ function useFloatingTooltip({
7366
7411
  }, [elements.reference, refs.floating.current, update, handleMouseMove, opened]), { handleMouseMove, x, y: y2, opened, setOpened, boundaryRef, floating: refs.setFloating };
7367
7412
  }
7368
7413
  var classes$3 = { tooltip: "m_1b3c8819", arrow: "m_f898399f" };
7369
- const defaultProps$6 = {
7414
+ const defaultProps$5 = {
7370
7415
  refProp: "ref",
7371
7416
  withinPortal: !0,
7372
7417
  offset: 10,
@@ -7379,7 +7424,7 @@ const defaultProps$6 = {
7379
7424
  "--tooltip-color": color2 ? "var(--mantine-color-white)" : void 0
7380
7425
  }
7381
7426
  }), TooltipFloating = factory((_props, ref) => {
7382
- const props = useProps("TooltipFloating", defaultProps$6, _props), {
7427
+ const props = useProps("TooltipFloating", defaultProps$5, _props), {
7383
7428
  children: children2,
7384
7429
  refProp,
7385
7430
  withinPortal,
@@ -7400,6 +7445,7 @@ const defaultProps$6 = {
7400
7445
  variant,
7401
7446
  vars,
7402
7447
  portalProps,
7448
+ attributes,
7403
7449
  ...others
7404
7450
  } = props, theme = useMantineTheme(), getStyles2 = useStyles({
7405
7451
  name: "TooltipFloating",
@@ -7410,6 +7456,7 @@ const defaultProps$6 = {
7410
7456
  classNames,
7411
7457
  styles,
7412
7458
  unstyled,
7459
+ attributes,
7413
7460
  rootSelector: "tooltip",
7414
7461
  vars,
7415
7462
  varsResolver: varsResolver$4
@@ -7457,12 +7504,12 @@ const defaultProps$6 = {
7457
7504
  });
7458
7505
  TooltipFloating.classes = classes$3;
7459
7506
  TooltipFloating.displayName = "@mantine/core/TooltipFloating";
7460
- const TooltipGroupContext = createContext(!1), TooltipGroupProvider = TooltipGroupContext.Provider, useTooltipGroupContext = () => useContext(TooltipGroupContext), defaultProps$5 = {
7507
+ const TooltipGroupContext = createContext(!1), TooltipGroupProvider = TooltipGroupContext.Provider, useTooltipGroupContext = () => useContext(TooltipGroupContext), defaultProps$4 = {
7461
7508
  openDelay: 0,
7462
7509
  closeDelay: 0
7463
7510
  };
7464
7511
  function TooltipGroup(props) {
7465
- const { openDelay, closeDelay, children: children2 } = useProps("TooltipGroup", defaultProps$5, props);
7512
+ const { openDelay, closeDelay, children: children2 } = useProps("TooltipGroup", defaultProps$4, props);
7466
7513
  return /* @__PURE__ */ jsx(TooltipGroupProvider, { value: !0, children: /* @__PURE__ */ jsx(FloatingDelayGroup, { delay: { open: openDelay, close: closeDelay }, children: children2 }) });
7467
7514
  }
7468
7515
  TooltipGroup.displayName = "@mantine/core/TooltipGroup";
@@ -7534,7 +7581,7 @@ function useTooltip(settings) {
7534
7581
  placement
7535
7582
  };
7536
7583
  }
7537
- const defaultProps$4 = {
7584
+ const defaultProps$3 = {
7538
7585
  position: "top",
7539
7586
  refProp: "ref",
7540
7587
  withinPortal: !0,
@@ -7563,7 +7610,7 @@ const defaultProps$4 = {
7563
7610
  }
7564
7611
  };
7565
7612
  }, Tooltip$1 = factory((_props, ref) => {
7566
- const props = useProps("Tooltip", defaultProps$4, _props), {
7613
+ const props = useProps("Tooltip", defaultProps$3, _props), {
7567
7614
  children: children2,
7568
7615
  position,
7569
7616
  refProp,
@@ -7607,8 +7654,10 @@ const defaultProps$4 = {
7607
7654
  floatingStrategy,
7608
7655
  middlewares,
7609
7656
  autoContrast,
7657
+ attributes,
7658
+ target,
7610
7659
  ...others
7611
- } = useProps("Tooltip", defaultProps$4, props), { dir } = useDirection(), arrowRef = useRef(null), tooltip = useTooltip({
7660
+ } = useProps("Tooltip", defaultProps$3, props), { dir } = useDirection(), arrowRef = useRef(null), tooltip = useTooltip({
7612
7661
  position: getFloatingPosition(dir, position),
7613
7662
  closeDelay,
7614
7663
  openDelay,
@@ -7619,11 +7668,16 @@ const defaultProps$4 = {
7619
7668
  arrowRef,
7620
7669
  arrowOffset,
7621
7670
  offset: typeof offset2 == "number" ? offset2 + (withArrow ? arrowSize / 2 : 0) : offset2,
7622
- positionDependencies: [...positionDependencies, children2],
7671
+ positionDependencies: [...positionDependencies, target ?? children2],
7623
7672
  inline: inline2,
7624
7673
  strategy: floatingStrategy,
7625
7674
  middlewares
7626
- }), getStyles2 = useStyles({
7675
+ });
7676
+ useEffect(() => {
7677
+ const targetNode = target instanceof HTMLElement ? target : typeof target == "string" ? document.querySelector(target) : target?.current || null;
7678
+ targetNode && tooltip.reference(targetNode);
7679
+ }, [target, tooltip]);
7680
+ const getStyles2 = useStyles({
7627
7681
  name: "Tooltip",
7628
7682
  props,
7629
7683
  classes: classes$3,
@@ -7632,15 +7686,64 @@ const defaultProps$4 = {
7632
7686
  classNames,
7633
7687
  styles,
7634
7688
  unstyled,
7689
+ attributes,
7635
7690
  rootSelector: "tooltip",
7636
7691
  vars,
7637
7692
  varsResolver: varsResolver$3
7638
7693
  });
7639
- if (!isElement$1(children2))
7640
- throw new Error(
7641
- "[@mantine/core] Tooltip component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported"
7642
- );
7643
- const targetRef = useMergedRef(tooltip.reference, getRefProp(children2), ref), transition = getTransitionProps(transitionProps, { duration: 100, transition: "fade" }), _childrenProps = children2.props;
7694
+ if (!target && !isElement$1(children2))
7695
+ return null;
7696
+ if (target) {
7697
+ const transition2 = getTransitionProps(transitionProps, { duration: 100, transition: "fade" });
7698
+ return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsx(
7699
+ Transition$1,
7700
+ {
7701
+ ...transition2,
7702
+ keepMounted,
7703
+ mounted: !disabled && !!tooltip.opened,
7704
+ duration: tooltip.isGroupPhase ? 10 : transition2.duration,
7705
+ children: (transitionStyles) => /* @__PURE__ */ jsxs(
7706
+ Box$1,
7707
+ {
7708
+ ...others,
7709
+ "data-fixed": floatingStrategy === "fixed" || void 0,
7710
+ variant,
7711
+ mod: [{ multiline }, mod],
7712
+ ...tooltip.getFloatingProps({
7713
+ ref: tooltip.floating,
7714
+ className: getStyles2("tooltip").className,
7715
+ style: {
7716
+ ...getStyles2("tooltip").style,
7717
+ ...transitionStyles,
7718
+ zIndex,
7719
+ top: tooltip.y ?? 0,
7720
+ left: tooltip.x ?? 0
7721
+ }
7722
+ }),
7723
+ children: [
7724
+ label,
7725
+ /* @__PURE__ */ jsx(
7726
+ FloatingArrow,
7727
+ {
7728
+ ref: arrowRef,
7729
+ arrowX: tooltip.arrowX,
7730
+ arrowY: tooltip.arrowY,
7731
+ visible: withArrow,
7732
+ position: tooltip.placement,
7733
+ arrowSize,
7734
+ arrowOffset,
7735
+ arrowRadius,
7736
+ arrowPosition,
7737
+ ...getStyles2("arrow")
7738
+ }
7739
+ )
7740
+ ]
7741
+ }
7742
+ )
7743
+ }
7744
+ ) }) });
7745
+ }
7746
+ const _children = children2, _childrenProps = _children.props, targetRef = useMergedRef(tooltip.reference, getRefProp(_children), ref), transition = getTransitionProps(transitionProps, { duration: 100, transition: "fade" });
7644
7747
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
7645
7748
  /* @__PURE__ */ jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsx(
7646
7749
  Transition$1,
@@ -7690,7 +7793,7 @@ const defaultProps$4 = {
7690
7793
  }
7691
7794
  ) }),
7692
7795
  cloneElement(
7693
- children2,
7796
+ _children,
7694
7797
  tooltip.getReferenceProps({
7695
7798
  onClick,
7696
7799
  onMouseEnter,
@@ -7710,7 +7813,7 @@ Tooltip$1.displayName = "@mantine/core/Tooltip";
7710
7813
  Tooltip$1.Floating = TooltipFloating;
7711
7814
  Tooltip$1.Group = TooltipGroup;
7712
7815
  var classes$2 = { root: "m_cf365364", indicator: "m_9e182ccd", label: "m_1738fcb2", input: "m_1714d588", control: "m_69686b9b", innerLabel: "m_78882f40" };
7713
- const defaultProps$3 = {
7816
+ const defaultProps$2 = {
7714
7817
  withItemsBorders: !0
7715
7818
  }, varsResolver$2 = (theme, { radius, color: color2, transitionDuration, size: size2, transitionTimingFunction }) => ({
7716
7819
  root: {
@@ -7723,7 +7826,7 @@ const defaultProps$3 = {
7723
7826
  "--sc-font-size": getFontSize(size2)
7724
7827
  }
7725
7828
  }), SegmentedControl = factory((_props, ref) => {
7726
- const props = useProps("SegmentedControl", defaultProps$3, _props), {
7829
+ const props = useProps("SegmentedControl", defaultProps$2, _props), {
7727
7830
  classNames,
7728
7831
  className,
7729
7832
  style: style2,
@@ -7748,6 +7851,7 @@ const defaultProps$3 = {
7748
7851
  autoContrast,
7749
7852
  withItemsBorders,
7750
7853
  mod,
7854
+ attributes,
7751
7855
  ...others
7752
7856
  } = props, getStyles2 = useStyles({
7753
7857
  name: "SegmentedControl",
@@ -7758,6 +7862,7 @@ const defaultProps$3 = {
7758
7862
  classNames,
7759
7863
  styles,
7760
7864
  unstyled,
7865
+ attributes,
7761
7866
  vars,
7762
7867
  varsResolver: varsResolver$2
7763
7868
  }), theme = useMantineTheme(), _data = data.map(
@@ -8027,7 +8132,7 @@ function getLastMarkValue(marks) {
8027
8132
  return sortedMarks.length > 0 ? sortedMarks[sortedMarks.length - 1].value : 100;
8028
8133
  }
8029
8134
  var classes$1 = { root: "m_dd36362e", label: "m_c9357328", thumb: "m_c9a9a60a", trackContainer: "m_a8645c2", track: "m_c9ade57f", bar: "m_38aeed47", markWrapper: "m_b7b0423a", mark: "m_dd33bc19", markLabel: "m_68c77a5b" };
8030
- const defaultProps$2 = {
8135
+ const defaultProps$1 = {
8031
8136
  radius: "xl",
8032
8137
  min: 0,
8033
8138
  max: 100,
@@ -8047,7 +8152,7 @@ const defaultProps$2 = {
8047
8152
  "--slider-thumb-size": thumbSize !== void 0 ? rem(thumbSize) : "calc(var(--slider-size) * 2)"
8048
8153
  }
8049
8154
  }), Slider = factory((_props, ref) => {
8050
- const props = useProps("Slider", defaultProps$2, _props), {
8155
+ const props = useProps("Slider", defaultProps$1, _props), {
8051
8156
  classNames,
8052
8157
  styles,
8053
8158
  value,
@@ -8078,6 +8183,7 @@ const defaultProps$2 = {
8078
8183
  hiddenInputProps,
8079
8184
  restrictToMarks,
8080
8185
  thumbProps,
8186
+ attributes,
8081
8187
  ...others
8082
8188
  } = props, getStyles2 = useStyles({
8083
8189
  name: "Slider",
@@ -8087,6 +8193,7 @@ const defaultProps$2 = {
8087
8193
  className,
8088
8194
  styles,
8089
8195
  style: style2,
8196
+ attributes,
8090
8197
  vars,
8091
8198
  varsResolver: varsResolver$1,
8092
8199
  unstyled
@@ -8259,8 +8366,8 @@ const defaultProps$2 = {
8259
8366
  });
8260
8367
  Slider.classes = classes$1;
8261
8368
  Slider.displayName = "@mantine/core/Slider";
8262
- const defaultProps$1 = {}, Space = factory((props, ref) => {
8263
- const { w, h, miw, mih, ...others } = useProps("Space", defaultProps$1, props);
8369
+ const Space = factory((props, ref) => {
8370
+ const { w, h, miw, mih, ...others } = useProps("Space", null, props);
8264
8371
  return /* @__PURE__ */ jsx(Box$1, { ref, ...others, w, miw: miw ?? w, h, mih: mih ?? h });
8265
8372
  });
8266
8373
  Space.displayName = "@mantine/core/Space";
@@ -8287,6 +8394,7 @@ const defaultProps = {
8287
8394
  justify,
8288
8395
  gap,
8289
8396
  variant,
8397
+ attributes,
8290
8398
  ...others
8291
8399
  } = props, getStyles2 = useStyles({
8292
8400
  name: "Stack",
@@ -8297,6 +8405,7 @@ const defaultProps = {
8297
8405
  classNames,
8298
8406
  styles,
8299
8407
  unstyled,
8408
+ attributes,
8300
8409
  vars,
8301
8410
  varsResolver
8302
8411
  });
@@ -8305,7 +8414,7 @@ const defaultProps = {
8305
8414
  Stack.classes = classes;
8306
8415
  Stack.displayName = "@mantine/core/Stack";
8307
8416
  /**
8308
- * @license @tabler/icons-react v3.31.0 - MIT
8417
+ * @license @tabler/icons-react v3.34.1 - MIT
8309
8418
  *
8310
8419
  * This source code is licensed under the MIT license.
8311
8420
  * See the LICENSE file in the root directory of this source tree.
@@ -8332,14 +8441,14 @@ var defaultAttributes = {
8332
8441
  }
8333
8442
  };
8334
8443
  /**
8335
- * @license @tabler/icons-react v3.31.0 - MIT
8444
+ * @license @tabler/icons-react v3.34.1 - MIT
8336
8445
  *
8337
8446
  * This source code is licensed under the MIT license.
8338
8447
  * See the LICENSE file in the root directory of this source tree.
8339
8448
  */
8340
8449
  const createReactComponent = (type, iconName, iconNamePascal, iconNode) => {
8341
8450
  const Component = forwardRef(
8342
- ({ color: color2 = "currentColor", size: size2 = 24, stroke = 2, title: title2, className, children: children2, ...rest }, ref) => createElement(
8451
+ ({ color: color2 = "currentColor", size: size2 = 24, stroke = 2, title, className, children: children2, ...rest }, ref) => createElement(
8343
8452
  "svg",
8344
8453
  {
8345
8454
  ref,
@@ -8356,7 +8465,7 @@ const createReactComponent = (type, iconName, iconNamePascal, iconNode) => {
8356
8465
  ...rest
8357
8466
  },
8358
8467
  [
8359
- title2 && createElement("title", { key: "svg-title" }, title2),
8468
+ title && createElement("title", { key: "svg-title" }, title),
8360
8469
  ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
8361
8470
  ...Array.isArray(children2) ? children2 : [children2]
8362
8471
  ]
@@ -8365,89 +8474,90 @@ const createReactComponent = (type, iconName, iconNamePascal, iconNode) => {
8365
8474
  return Component.displayName = `${iconNamePascal}`, Component;
8366
8475
  };
8367
8476
  /**
8368
- * @license @tabler/icons-react v3.31.0 - MIT
8477
+ * @license @tabler/icons-react v3.34.1 - MIT
8369
8478
  *
8370
8479
  * This source code is licensed under the MIT license.
8371
8480
  * See the LICENSE file in the root directory of this source tree.
8372
8481
  */
8373
- var IconBrowser = createReactComponent("outline", "browser", "IconBrowser", [["path", { d: "M4 8h16", key: "svg-0" }], ["path", { d: "M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z", key: "svg-1" }], ["path", { d: "M8 4v4", key: "svg-2" }]]);
8482
+ const __iconNode$b = [["path", { d: "M4 8h16", key: "svg-0" }], ["path", { d: "M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z", key: "svg-1" }], ["path", { d: "M8 4v4", key: "svg-2" }]], IconBrowser = createReactComponent("outline", "browser", "Browser", __iconNode$b);
8374
8483
  /**
8375
- * @license @tabler/icons-react v3.31.0 - MIT
8484
+ * @license @tabler/icons-react v3.34.1 - MIT
8376
8485
  *
8377
8486
  * This source code is licensed under the MIT license.
8378
8487
  * See the LICENSE file in the root directory of this source tree.
8379
8488
  */
8380
- var IconCheck = createReactComponent("outline", "check", "IconCheck", [["path", { d: "M5 12l5 5l10 -10", key: "svg-0" }]]);
8489
+ const __iconNode$a = [["path", { d: "M5 12l5 5l10 -10", key: "svg-0" }]], IconCheck = createReactComponent("outline", "check", "Check", __iconNode$a);
8381
8490
  /**
8382
- * @license @tabler/icons-react v3.31.0 - MIT
8491
+ * @license @tabler/icons-react v3.34.1 - MIT
8383
8492
  *
8384
8493
  * This source code is licensed under the MIT license.
8385
8494
  * See the LICENSE file in the root directory of this source tree.
8386
8495
  */
8387
- var IconCylinder = createReactComponent("outline", "cylinder", "IconCylinder", [["path", { d: "M12 6m-7 0a7 3 0 1 0 14 0a7 3 0 1 0 -14 0", key: "svg-0" }], ["path", { d: "M5 6v12c0 1.657 3.134 3 7 3s7 -1.343 7 -3v-12", key: "svg-1" }]]);
8496
+ const __iconNode$9 = [["path", { d: "M12 6m-7 0a7 3 0 1 0 14 0a7 3 0 1 0 -14 0", key: "svg-0" }], ["path", { d: "M5 6v12c0 1.657 3.134 3 7 3s7 -1.343 7 -3v-12", key: "svg-1" }]], IconCylinder = createReactComponent("outline", "cylinder", "Cylinder", __iconNode$9);
8388
8497
  /**
8389
- * @license @tabler/icons-react v3.31.0 - MIT
8498
+ * @license @tabler/icons-react v3.34.1 - MIT
8390
8499
  *
8391
8500
  * This source code is licensed under the MIT license.
8392
8501
  * See the LICENSE file in the root directory of this source tree.
8393
8502
  */
8394
- var IconDeviceMobile = createReactComponent("outline", "device-mobile", "IconDeviceMobile", [["path", { d: "M6 5a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-14z", key: "svg-0" }], ["path", { d: "M11 4h2", key: "svg-1" }], ["path", { d: "M12 17v.01", key: "svg-2" }]]);
8503
+ const __iconNode$8 = [["path", { d: "M6 5a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-14z", key: "svg-0" }], ["path", { d: "M11 4h2", key: "svg-1" }], ["path", { d: "M12 17v.01", key: "svg-2" }]], IconDeviceMobile = createReactComponent("outline", "device-mobile", "DeviceMobile", __iconNode$8);
8395
8504
  /**
8396
- * @license @tabler/icons-react v3.31.0 - MIT
8505
+ * @license @tabler/icons-react v3.34.1 - MIT
8397
8506
  *
8398
8507
  * This source code is licensed under the MIT license.
8399
8508
  * See the LICENSE file in the root directory of this source tree.
8400
8509
  */
8401
- var IconFileSymlink = createReactComponent("outline", "file-symlink", "IconFileSymlink", [["path", { d: "M4 21v-4a3 3 0 0 1 3 -3h5", key: "svg-0" }], ["path", { d: "M9 17l3 -3l-3 -3", key: "svg-1" }], ["path", { d: "M14 3v4a1 1 0 0 0 1 1h4", key: "svg-2" }], ["path", { d: "M5 11v-6a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-9.5", key: "svg-3" }]]);
8510
+ const __iconNode$7 = [["path", { d: "M4 21v-4a3 3 0 0 1 3 -3h5", key: "svg-0" }], ["path", { d: "M9 17l3 -3l-3 -3", key: "svg-1" }], ["path", { d: "M14 3v4a1 1 0 0 0 1 1h4", key: "svg-2" }], ["path", { d: "M5 11v-6a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-9.5", key: "svg-3" }]], IconFileSymlink = createReactComponent("outline", "file-symlink", "FileSymlink", __iconNode$7);
8402
8511
  /**
8403
- * @license @tabler/icons-react v3.31.0 - MIT
8512
+ * @license @tabler/icons-react v3.34.1 - MIT
8404
8513
  *
8405
8514
  * This source code is licensed under the MIT license.
8406
8515
  * See the LICENSE file in the root directory of this source tree.
8407
8516
  */
8408
- var IconId = createReactComponent("outline", "id", "IconId", [["path", { d: "M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v10a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z", key: "svg-0" }], ["path", { d: "M9 10m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0", key: "svg-1" }], ["path", { d: "M15 8l2 0", key: "svg-2" }], ["path", { d: "M15 12l2 0", key: "svg-3" }], ["path", { d: "M7 16l10 0", key: "svg-4" }]]);
8517
+ const __iconNode$6 = [["path", { d: "M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v10a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z", key: "svg-0" }], ["path", { d: "M9 10m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0", key: "svg-1" }], ["path", { d: "M15 8l2 0", key: "svg-2" }], ["path", { d: "M15 12l2 0", key: "svg-3" }], ["path", { d: "M7 16l10 0", key: "svg-4" }]], IconId = createReactComponent("outline", "id", "Id", __iconNode$6);
8409
8518
  /**
8410
- * @license @tabler/icons-react v3.31.0 - MIT
8519
+ * @license @tabler/icons-react v3.34.1 - MIT
8411
8520
  *
8412
8521
  * This source code is licensed under the MIT license.
8413
8522
  * See the LICENSE file in the root directory of this source tree.
8414
8523
  */
8415
- var IconRectangularPrism = createReactComponent("outline", "rectangular-prism", "IconRectangularPrism", [["path", { d: "M21 14.008v-5.018a1.98 1.98 0 0 0 -1 -1.717l-4 -2.008a2.016 2.016 0 0 0 -2 0l-10 5.008c-.619 .355 -1 1.01 -1 1.718v5.018c0 .709 .381 1.363 1 1.717l4 2.008a2.016 2.016 0 0 0 2 0l10 -5.008c.619 -.355 1 -1.01 1 -1.718z", key: "svg-0" }], ["path", { d: "M9 21v-7.5", key: "svg-1" }], ["path", { d: "M9 13.5l11.5 -5.5", key: "svg-2" }], ["path", { d: "M3.5 11l5.5 2.5", key: "svg-3" }]]);
8524
+ const __iconNode$5 = [["path", { d: "M21 14.008v-5.018a1.98 1.98 0 0 0 -1 -1.717l-4 -2.008a2.016 2.016 0 0 0 -2 0l-10 5.008c-.619 .355 -1 1.01 -1 1.718v5.018c0 .709 .381 1.363 1 1.717l4 2.008a2.016 2.016 0 0 0 2 0l10 -5.008c.619 -.355 1 -1.01 1 -1.718z", key: "svg-0" }], ["path", { d: "M9 21v-7.5", key: "svg-1" }], ["path", { d: "M9 13.5l11.5 -5.5", key: "svg-2" }], ["path", { d: "M3.5 11l5.5 2.5", key: "svg-3" }]], IconRectangularPrism = createReactComponent("outline", "rectangular-prism", "RectangularPrism", __iconNode$5);
8416
8525
  /**
8417
- * @license @tabler/icons-react v3.31.0 - MIT
8526
+ * @license @tabler/icons-react v3.34.1 - MIT
8418
8527
  *
8419
8528
  * This source code is licensed under the MIT license.
8420
8529
  * See the LICENSE file in the root directory of this source tree.
8421
8530
  */
8422
- var IconReorder = createReactComponent("outline", "reorder", "IconReorder", [["path", { d: "M3 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z", key: "svg-0" }], ["path", { d: "M10 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z", key: "svg-1" }], ["path", { d: "M17 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z", key: "svg-2" }], ["path", { d: "M5 11v-3a3 3 0 0 1 3 -3h8a3 3 0 0 1 3 3v3", key: "svg-3" }], ["path", { d: "M16.5 8.5l2.5 2.5l2.5 -2.5", key: "svg-4" }]]);
8531
+ const __iconNode$4 = [["path", { d: "M3 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z", key: "svg-0" }], ["path", { d: "M10 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z", key: "svg-1" }], ["path", { d: "M17 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z", key: "svg-2" }], ["path", { d: "M5 11v-3a3 3 0 0 1 3 -3h8a3 3 0 0 1 3 3v3", key: "svg-3" }], ["path", { d: "M16.5 8.5l2.5 2.5l2.5 -2.5", key: "svg-4" }]], IconReorder = createReactComponent("outline", "reorder", "Reorder", __iconNode$4);
8423
8532
  /**
8424
- * @license @tabler/icons-react v3.31.0 - MIT
8533
+ * @license @tabler/icons-react v3.34.1 - MIT
8425
8534
  *
8426
8535
  * This source code is licensed under the MIT license.
8427
8536
  * See the LICENSE file in the root directory of this source tree.
8428
8537
  */
8429
- var IconSelector = createReactComponent("outline", "selector", "IconSelector", [["path", { d: "M8 9l4 -4l4 4", key: "svg-0" }], ["path", { d: "M16 15l-4 4l-4 -4", key: "svg-1" }]]);
8538
+ const __iconNode$3 = [["path", { d: "M8 9l4 -4l4 4", key: "svg-0" }], ["path", { d: "M16 15l-4 4l-4 -4", key: "svg-1" }]], IconSelector = createReactComponent("outline", "selector", "Selector", __iconNode$3);
8430
8539
  /**
8431
- * @license @tabler/icons-react v3.31.0 - MIT
8540
+ * @license @tabler/icons-react v3.34.1 - MIT
8432
8541
  *
8433
8542
  * This source code is licensed under the MIT license.
8434
8543
  * See the LICENSE file in the root directory of this source tree.
8435
8544
  */
8436
- var IconTransform = createReactComponent("outline", "transform", "IconTransform", [["path", { d: "M3 6a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-0" }], ["path", { d: "M21 11v-3a2 2 0 0 0 -2 -2h-6l3 3m0 -6l-3 3", key: "svg-1" }], ["path", { d: "M3 13v3a2 2 0 0 0 2 2h6l-3 -3m0 6l3 -3", key: "svg-2" }], ["path", { d: "M15 18a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-3" }]]);
8545
+ const __iconNode$2 = [["path", { d: "M3 6a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-0" }], ["path", { d: "M21 11v-3a2 2 0 0 0 -2 -2h-6l3 3m0 -6l-3 3", key: "svg-1" }], ["path", { d: "M3 13v3a2 2 0 0 0 2 2h6l-3 -3m0 6l3 -3", key: "svg-2" }], ["path", { d: "M15 18a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-3" }]], IconTransform = createReactComponent("outline", "transform", "Transform", __iconNode$2);
8437
8546
  /**
8438
- * @license @tabler/icons-react v3.31.0 - MIT
8547
+ * @license @tabler/icons-react v3.34.1 - MIT
8439
8548
  *
8440
8549
  * This source code is licensed under the MIT license.
8441
8550
  * See the LICENSE file in the root directory of this source tree.
8442
8551
  */
8443
- var IconUser = createReactComponent("outline", "user", "IconUser", [["path", { d: "M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0", key: "svg-0" }], ["path", { d: "M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2", key: "svg-1" }]]);
8552
+ const __iconNode$1 = [["path", { d: "M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0", key: "svg-0" }], ["path", { d: "M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2", key: "svg-1" }]], IconUser = createReactComponent("outline", "user", "User", __iconNode$1);
8444
8553
  /**
8445
- * @license @tabler/icons-react v3.31.0 - MIT
8554
+ * @license @tabler/icons-react v3.34.1 - MIT
8446
8555
  *
8447
8556
  * This source code is licensed under the MIT license.
8448
8557
  * See the LICENSE file in the root directory of this source tree.
8449
8558
  */
8450
- var IconZoomScan = createReactComponent("outline", "zoom-scan", "IconZoomScan", [["path", { d: "M4 8v-2a2 2 0 0 1 2 -2h2", key: "svg-0" }], ["path", { d: "M4 16v2a2 2 0 0 0 2 2h2", key: "svg-1" }], ["path", { d: "M16 4h2a2 2 0 0 1 2 2v2", key: "svg-2" }], ["path", { d: "M16 20h2a2 2 0 0 0 2 -2v-2", key: "svg-3" }], ["path", { d: "M8 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-4" }], ["path", { d: "M16 16l-2.5 -2.5", key: "svg-5" }]]), s = { done: !1, hasNext: !1 };
8559
+ const __iconNode = [["path", { d: "M4 8v-2a2 2 0 0 1 2 -2h2", key: "svg-0" }], ["path", { d: "M4 16v2a2 2 0 0 0 2 2h2", key: "svg-1" }], ["path", { d: "M16 4h2a2 2 0 0 1 2 2v2", key: "svg-2" }], ["path", { d: "M16 20h2a2 2 0 0 0 2 -2v-2", key: "svg-3" }], ["path", { d: "M8 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-4" }], ["path", { d: "M16 16l-2.5 -2.5", key: "svg-5" }]], IconZoomScan = createReactComponent("outline", "zoom-scan", "ZoomScan", __iconNode);
8560
+ var s = { done: !1, hasNext: !1 };
8451
8561
  function C(t2, ...o2) {
8452
8562
  let n2 = t2, u2 = o2.map((e2) => "lazy" in e2 ? y(e2) : void 0), p = 0;
8453
8563
  for (; p < o2.length; ) {
@@ -8517,18 +8627,15 @@ function n$1(e2) {
8517
8627
  return !!e2;
8518
8628
  }
8519
8629
  function r(...n2) {
8520
- return u$2(t$5, n2);
8630
+ return u$2(t$4, n2);
8521
8631
  }
8522
- var t$5 = (n2, o2) => n2.join(o2);
8523
- function t$4(...n2) {
8632
+ var t$4 = (n2, o2) => n2.join(o2);
8633
+ function t$3(...n2) {
8524
8634
  return u$2(Object.keys, n2);
8525
8635
  }
8526
8636
  function e(r2) {
8527
8637
  return typeof r2 == "number" && !Number.isNaN(r2);
8528
8638
  }
8529
- function t$3(r2) {
8530
- return typeof r2 == "string";
8531
- }
8532
8639
  function n(e2) {
8533
8640
  return e2 === void 0 ? !0 : typeof e2 == "string" || Array.isArray(e2) ? e2.length === 0 : Object.keys(e2).length === 0;
8534
8641
  }
@@ -8557,88 +8664,117 @@ function useConstant(init2) {
8557
8664
  const ref = useRef(null);
8558
8665
  return ref.current === null && (ref.current = init2()), ref.current;
8559
8666
  }
8560
- const isBrowser$1 = typeof window < "u", useIsomorphicLayoutEffect$1 = isBrowser$1 ? useLayoutEffect : useEffect, PresenceContext = /* @__PURE__ */ createContext(null), MotionConfigContext = createContext({
8667
+ const isBrowser$1 = typeof window < "u", useIsomorphicLayoutEffect$1 = isBrowser$1 ? useLayoutEffect : useEffect, PresenceContext = /* @__PURE__ */ createContext(null), clamp$1 = (min2, max2, v) => v > max2 ? max2 : v < min2 ? min2 : v, checkStringStartsWith = (token) => (key) => typeof key == "string" && key.startsWith(token), isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--"), startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--"), isCSSVariableToken = (value) => startsAsVariableToken(value) ? singleCssVariableRegex.test(value.split("/*")[0].trim()) : !1, singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu, number = {
8668
+ test: (v) => typeof v == "number",
8669
+ parse: parseFloat,
8670
+ transform: (v) => v
8671
+ }, alpha = {
8672
+ ...number,
8673
+ transform: (v) => clamp$1(0, 1, v)
8674
+ }, scale = {
8675
+ ...number,
8676
+ default: 1
8677
+ }, createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
8678
+ test: (v) => typeof v == "string" && v.endsWith(unit) && v.split(" ").length === 1,
8679
+ parse: parseFloat,
8680
+ transform: (v) => `${v}${unit}`
8681
+ }), degrees$1 = /* @__PURE__ */ createUnitType("deg"), percent = /* @__PURE__ */ createUnitType("%"), px = /* @__PURE__ */ createUnitType("px"), vh = /* @__PURE__ */ createUnitType("vh"), vw = /* @__PURE__ */ createUnitType("vw"), progressPercentage = {
8682
+ ...percent,
8683
+ parse: (v) => percent.parse(v) / 100,
8684
+ transform: (v) => percent.transform(v * 100)
8685
+ }, transformPropOrder = [
8686
+ "transformPerspective",
8687
+ "x",
8688
+ "y",
8689
+ "z",
8690
+ "translateX",
8691
+ "translateY",
8692
+ "translateZ",
8693
+ "scale",
8694
+ "scaleX",
8695
+ "scaleY",
8696
+ "rotate",
8697
+ "rotateX",
8698
+ "rotateY",
8699
+ "rotateZ",
8700
+ "skew",
8701
+ "skewX",
8702
+ "skewY"
8703
+ ], transformProps = new Set(transformPropOrder), int = {
8704
+ ...number,
8705
+ transform: Math.round
8706
+ }, transformValueTypes = {
8707
+ rotate: degrees$1,
8708
+ rotateX: degrees$1,
8709
+ rotateY: degrees$1,
8710
+ rotateZ: degrees$1,
8711
+ scale,
8712
+ scaleX: scale,
8713
+ scaleY: scale,
8714
+ scaleZ: scale,
8715
+ skew: degrees$1,
8716
+ skewX: degrees$1,
8717
+ skewY: degrees$1,
8718
+ distance: px,
8719
+ translateX: px,
8720
+ translateY: px,
8721
+ translateZ: px,
8722
+ x: px,
8723
+ y: px,
8724
+ z: px,
8725
+ perspective: px,
8726
+ transformPerspective: px,
8727
+ opacity: alpha,
8728
+ originX: progressPercentage,
8729
+ originY: progressPercentage,
8730
+ originZ: px
8731
+ }, numberValueTypes = {
8732
+ // Border props
8733
+ borderWidth: px,
8734
+ borderTopWidth: px,
8735
+ borderRightWidth: px,
8736
+ borderBottomWidth: px,
8737
+ borderLeftWidth: px,
8738
+ borderRadius: px,
8739
+ radius: px,
8740
+ borderTopLeftRadius: px,
8741
+ borderTopRightRadius: px,
8742
+ borderBottomRightRadius: px,
8743
+ borderBottomLeftRadius: px,
8744
+ // Positioning props
8745
+ width: px,
8746
+ maxWidth: px,
8747
+ height: px,
8748
+ maxHeight: px,
8749
+ top: px,
8750
+ right: px,
8751
+ bottom: px,
8752
+ left: px,
8753
+ // Spacing props
8754
+ padding: px,
8755
+ paddingTop: px,
8756
+ paddingRight: px,
8757
+ paddingBottom: px,
8758
+ paddingLeft: px,
8759
+ margin: px,
8760
+ marginTop: px,
8761
+ marginRight: px,
8762
+ marginBottom: px,
8763
+ marginLeft: px,
8764
+ // Misc
8765
+ backgroundPositionX: px,
8766
+ backgroundPositionY: px,
8767
+ ...transformValueTypes,
8768
+ zIndex: int,
8769
+ // SVG
8770
+ fillOpacity: alpha,
8771
+ strokeOpacity: alpha,
8772
+ numOctaves: int
8773
+ }, getValueAsType = (value, type) => type && typeof value == "number" ? type.transform(value) : value, isMotionValue = (value) => !!(value && value.getVelocity), MotionConfigContext = createContext({
8561
8774
  transformPagePoint: (p) => p,
8562
8775
  isStatic: !1,
8563
8776
  reducedMotion: "never"
8564
- }), stepsOrder = [
8565
- "setup",
8566
- // Compute
8567
- "read",
8568
- // Read
8569
- "resolveKeyframes",
8570
- // Write/Read/Write/Read
8571
- "preUpdate",
8572
- // Compute
8573
- "update",
8574
- // Compute
8575
- "preRender",
8576
- // Compute
8577
- "render",
8578
- // Write
8579
- "postRender"
8580
- // Compute
8581
- ];
8582
- function createRenderStep(runNextFrame, stepName) {
8583
- let thisFrame = /* @__PURE__ */ new Set(), nextFrame = /* @__PURE__ */ new Set(), isProcessing = !1, flushNextFrame = !1;
8584
- const toKeepAlive = /* @__PURE__ */ new WeakSet();
8585
- let latestFrameData = {
8586
- delta: 0,
8587
- timestamp: 0,
8588
- isProcessing: !1
8589
- };
8590
- function triggerCallback(callback) {
8591
- toKeepAlive.has(callback) && (step.schedule(callback), runNextFrame()), callback(latestFrameData);
8592
- }
8593
- const step = {
8594
- /**
8595
- * Schedule a process to run on the next frame.
8596
- */
8597
- schedule: (callback, keepAlive = !1, immediate = !1) => {
8598
- const queue = immediate && isProcessing ? thisFrame : nextFrame;
8599
- return keepAlive && toKeepAlive.add(callback), queue.has(callback) || queue.add(callback), callback;
8600
- },
8601
- /**
8602
- * Cancel the provided callback from running on the next frame.
8603
- */
8604
- cancel: (callback) => {
8605
- nextFrame.delete(callback), toKeepAlive.delete(callback);
8606
- },
8607
- /**
8608
- * Execute all schedule callbacks.
8609
- */
8610
- process: (frameData) => {
8611
- if (latestFrameData = frameData, isProcessing) {
8612
- flushNextFrame = !0;
8613
- return;
8614
- }
8615
- isProcessing = !0, [thisFrame, nextFrame] = [nextFrame, thisFrame], thisFrame.forEach(triggerCallback), thisFrame.clear(), isProcessing = !1, flushNextFrame && (flushNextFrame = !1, step.process(frameData));
8616
- }
8617
- };
8618
- return step;
8619
- }
8620
- const MotionGlobalConfig = {}, maxElapsed = 40;
8621
- function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
8622
- let runNextFrame = !1, useDefaultElapsed = !0;
8623
- const state = {
8624
- delta: 0,
8625
- timestamp: 0,
8626
- isProcessing: !1
8627
- }, flagRunNextFrame = () => runNextFrame = !0, steps = stepsOrder.reduce((acc, key) => (acc[key] = createRenderStep(flagRunNextFrame), acc), {}), { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender } = steps, processBatch = () => {
8628
- const timestamp = MotionGlobalConfig.useManualTiming ? state.timestamp : performance.now();
8629
- runNextFrame = !1, MotionGlobalConfig.useManualTiming || (state.delta = useDefaultElapsed ? 1e3 / 60 : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1)), state.timestamp = timestamp, state.isProcessing = !0, setup.process(state), read.process(state), resolveKeyframes.process(state), preUpdate.process(state), update.process(state), preRender.process(state), render.process(state), postRender.process(state), state.isProcessing = !1, runNextFrame && allowKeepAlive && (useDefaultElapsed = !1, scheduleNextBatch(processBatch));
8630
- }, wake2 = () => {
8631
- runNextFrame = !0, useDefaultElapsed = !0, state.isProcessing || scheduleNextBatch(processBatch);
8632
- };
8633
- return { schedule: stepsOrder.reduce((acc, key) => {
8634
- const step = steps[key];
8635
- return acc[key] = (process2, keepAlive = !1, immediate = !1) => (runNextFrame || wake2(), step.schedule(process2, keepAlive, immediate)), acc;
8636
- }, {}), cancel: (process2) => {
8637
- for (let i2 = 0; i2 < stepsOrder.length; i2++)
8638
- steps[stepsOrder[i2]].cancel(process2);
8639
- }, state, steps };
8640
- }
8641
- const LazyContext = createContext({ strict: !1 }), featureProps = {
8777
+ }), LazyContext = createContext({ strict: !1 }), featureProps = {
8642
8778
  animation: [
8643
8779
  "animate",
8644
8780
  "variants",
@@ -8662,6 +8798,13 @@ for (const key in featureProps)
8662
8798
  featureDefinitions[key] = {
8663
8799
  isEnabled: (props) => featureProps[key].some((name) => !!props[name])
8664
8800
  };
8801
+ function loadFeatures(features) {
8802
+ for (const key in features)
8803
+ featureDefinitions[key] = {
8804
+ ...featureDefinitions[key],
8805
+ ...features[key]
8806
+ };
8807
+ }
8665
8808
  const validMotionProps = /* @__PURE__ */ new Set([
8666
8809
  "animate",
8667
8810
  "exit",
@@ -8699,7 +8842,7 @@ function isValidMotionProp(key) {
8699
8842
  }
8700
8843
  let shouldForward = (key) => !isValidMotionProp(key);
8701
8844
  function loadExternalIsValidProp(isValidProp) {
8702
- isValidProp && (shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key));
8845
+ typeof isValidProp == "function" && (shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key));
8703
8846
  }
8704
8847
  try {
8705
8848
  loadExternalIsValidProp(require("@emotion/is-prop-valid").default);
@@ -8712,19 +8855,6 @@ function filterProps(props, isDom, forwardMotionProps) {
8712
8855
  props.draggable && key.startsWith("onDrag")) && (filteredProps[key] = props[key]);
8713
8856
  return filteredProps;
8714
8857
  }
8715
- function createDOMMotionComponentProxy(componentFactory) {
8716
- if (typeof Proxy > "u")
8717
- return componentFactory;
8718
- const componentCache = /* @__PURE__ */ new Map(), deprecatedFactoryFunction = (...args) => componentFactory(...args);
8719
- return new Proxy(deprecatedFactoryFunction, {
8720
- /**
8721
- * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.
8722
- * The prop name is passed through as `key` and we can use that to generate a `motion`
8723
- * DOM component with that name.
8724
- */
8725
- get: (_target, key) => key === "create" ? componentFactory : (componentCache.has(key) || componentCache.set(key, componentFactory(key)), componentCache.get(key))
8726
- });
8727
- }
8728
8858
  const MotionContext = /* @__PURE__ */ createContext({});
8729
8859
  function isAnimationControls(v) {
8730
8860
  return v !== null && typeof v == "object" && typeof v.start == "function";
@@ -8747,243 +8877,32 @@ function isControllingVariants(props) {
8747
8877
  function isVariantNode(props) {
8748
8878
  return !!(isControllingVariants(props) || props.variants);
8749
8879
  }
8750
- function getCurrentTreeVariants(props, context2) {
8751
- if (isControllingVariants(props)) {
8752
- const { initial, animate } = props;
8753
- return {
8754
- initial: initial === !1 || isVariantLabel(initial) ? initial : void 0,
8755
- animate: isVariantLabel(animate) ? animate : void 0
8756
- };
8757
- }
8758
- return props.inherit !== !1 ? context2 : {};
8759
- }
8760
- function useCreateMotionContext(props) {
8761
- const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
8762
- return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
8763
- }
8764
- function variantLabelsAsDependency(prop) {
8765
- return Array.isArray(prop) ? prop.join(" ") : prop;
8766
- }
8767
- const motionComponentSymbol = Symbol.for("motionComponentSymbol");
8768
- function isRefObject(ref) {
8769
- return ref && typeof ref == "object" && Object.prototype.hasOwnProperty.call(ref, "current");
8770
- }
8771
- function useMotionRef(visualState, visualElement, externalRef) {
8772
- return useCallback(
8773
- (instance) => {
8774
- instance && visualState.onMount && visualState.onMount(instance), visualElement && (instance ? visualElement.mount(instance) : visualElement.unmount()), externalRef && (typeof externalRef == "function" ? externalRef(instance) : isRefObject(externalRef) && (externalRef.current = instance));
8775
- },
8776
- /**
8777
- * Only pass a new ref callback to React if we've received a visual element
8778
- * factory. Otherwise we'll be mounting/remounting every time externalRef
8779
- * or other dependencies change.
8780
- */
8781
- [visualElement]
8782
- );
8783
- }
8784
- const camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), optimizedAppearDataId = "framerAppearId", optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId), SwitchLayoutGroupContext = createContext({}), { schedule: microtask } = /* @__PURE__ */ createRenderBatcher(queueMicrotask, !1);
8785
- function useVisualElement(Component, visualState, props, createVisualElement, ProjectionNodeConstructor) {
8786
- const { visualElement: parent } = useContext(MotionContext), lazyContext = useContext(LazyContext), presenceContext = useContext(PresenceContext), reducedMotionConfig = useContext(MotionConfigContext).reducedMotion, visualElementRef = useRef(null);
8787
- createVisualElement = createVisualElement || lazyContext.renderer, !visualElementRef.current && createVisualElement && (visualElementRef.current = createVisualElement(Component, {
8788
- visualState,
8789
- parent,
8790
- props,
8791
- presenceContext,
8792
- blockInitialAnimation: presenceContext ? presenceContext.initial === !1 : !1,
8793
- reducedMotionConfig
8794
- }));
8795
- const visualElement = visualElementRef.current, initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);
8796
- visualElement && !visualElement.projection && ProjectionNodeConstructor && (visualElement.type === "html" || visualElement.type === "svg") && createProjectionNode(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);
8797
- const isMounted = useRef(!1);
8798
- useInsertionEffect$1(() => {
8799
- visualElement && isMounted.current && visualElement.update(props, presenceContext);
8800
- });
8801
- const optimisedAppearId = props[optimizedAppearDataAttribute], wantsHandoff = useRef(!!optimisedAppearId && !window.MotionHandoffIsComplete?.(optimisedAppearId) && window.MotionHasOptimisedAnimation?.(optimisedAppearId));
8802
- return useIsomorphicLayoutEffect$1(() => {
8803
- visualElement && (isMounted.current = !0, window.MotionIsMounted = !0, visualElement.updateFeatures(), microtask.render(visualElement.render), wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges());
8804
- }), useEffect(() => {
8805
- visualElement && (!wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges(), wantsHandoff.current && (queueMicrotask(() => {
8806
- window.MotionHandoffMarkAsComplete?.(optimisedAppearId);
8807
- }), wantsHandoff.current = !1));
8808
- }), visualElement;
8809
- }
8810
- function createProjectionNode(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {
8811
- const { layoutId, layout, drag: drag2, dragConstraints, layoutScroll, layoutRoot, layoutCrossfade } = props;
8812
- visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(visualElement.parent)), visualElement.projection.setOptions({
8813
- layoutId,
8814
- layout,
8815
- alwaysMeasureLayout: !!drag2 || dragConstraints && isRefObject(dragConstraints),
8816
- visualElement,
8817
- /**
8818
- * TODO: Update options in an effect. This could be tricky as it'll be too late
8819
- * to update by the time layout animations run.
8820
- * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,
8821
- * ensuring it gets called if there's no potential layout animations.
8822
- *
8823
- */
8824
- animationType: typeof layout == "string" ? layout : "both",
8825
- initialPromotionConfig,
8826
- crossfade: layoutCrossfade,
8827
- layoutScroll,
8828
- layoutRoot
8829
- });
8830
- }
8831
- function getClosestProjectingNode(visualElement) {
8832
- if (visualElement)
8833
- return visualElement.options.allowProjection !== !1 ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
8834
- }
8835
- function createRendererMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component }) {
8836
- function MotionComponent(props, externalRef) {
8837
- let MeasureLayout;
8838
- const configAndProps = {
8839
- ...useContext(MotionConfigContext),
8840
- ...props,
8841
- layoutId: useLayoutId(props)
8842
- }, { isStatic } = configAndProps, context2 = useCreateMotionContext(props), visualState = useVisualState(props, isStatic);
8843
- if (!isStatic && isBrowser$1) {
8844
- useStrictMode();
8845
- const layoutProjection = getProjectionFunctionality(configAndProps);
8846
- MeasureLayout = layoutProjection.MeasureLayout, context2.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode);
8847
- }
8848
- return jsxs(MotionContext.Provider, { value: context2, children: [MeasureLayout && context2.visualElement ? jsx(MeasureLayout, { visualElement: context2.visualElement, ...configAndProps }) : null, useRender(Component, props, useMotionRef(visualState, context2.visualElement, externalRef), visualState, isStatic, context2.visualElement)] });
8849
- }
8850
- MotionComponent.displayName = `motion.${typeof Component == "string" ? Component : `create(${Component.displayName ?? Component.name ?? ""})`}`;
8851
- const ForwardRefMotionComponent = forwardRef(MotionComponent);
8852
- return ForwardRefMotionComponent[motionComponentSymbol] = Component, ForwardRefMotionComponent;
8853
- }
8854
- function useLayoutId({ layoutId }) {
8855
- const layoutGroupId = useContext(LayoutGroupContext).id;
8856
- return layoutGroupId && layoutId !== void 0 ? layoutGroupId + "-" + layoutId : layoutId;
8857
- }
8858
- function useStrictMode(configAndProps, preloadedFeatures) {
8859
- useContext(LazyContext).strict;
8860
- }
8861
- function getProjectionFunctionality(props) {
8862
- const { drag: drag2, layout } = featureDefinitions;
8863
- if (!drag2 && !layout)
8864
- return {};
8865
- const combined = { ...drag2, ...layout };
8866
- return {
8867
- MeasureLayout: drag2?.isEnabled(props) || layout?.isEnabled(props) ? combined.MeasureLayout : void 0,
8868
- ProjectionNode: combined.ProjectionNode
8869
- };
8870
- }
8871
- const checkStringStartsWith = (token) => (key) => typeof key == "string" && key.startsWith(token), isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--"), startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--"), isCSSVariableToken = (value) => startsAsVariableToken(value) ? singleCssVariableRegex.test(value.split("/*")[0].trim()) : !1, singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu, scaleCorrectors = {};
8872
- function addScaleCorrector(correctors) {
8873
- for (const key in correctors)
8874
- scaleCorrectors[key] = correctors[key], isCSSVariableName(key) && (scaleCorrectors[key].isCSSVariable = !0);
8875
- }
8876
- const transformPropOrder = [
8877
- "transformPerspective",
8878
- "x",
8879
- "y",
8880
- "z",
8881
- "translateX",
8882
- "translateY",
8883
- "translateZ",
8884
- "scale",
8885
- "scaleX",
8886
- "scaleY",
8887
- "rotate",
8888
- "rotateX",
8889
- "rotateY",
8890
- "rotateZ",
8891
- "skew",
8892
- "skewX",
8893
- "skewY"
8894
- ], transformProps = new Set(transformPropOrder);
8895
- function isForcedMotionValue(key, { layout, layoutId }) {
8896
- return transformProps.has(key) || key.startsWith("origin") || (layout || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
8897
- }
8898
- const getValueAsType = (value, type) => type && typeof value == "number" ? type.transform(value) : value, clamp$1 = (min2, max2, v) => v > max2 ? max2 : v < min2 ? min2 : v, number = {
8899
- test: (v) => typeof v == "number",
8900
- parse: parseFloat,
8901
- transform: (v) => v
8902
- }, alpha = {
8903
- ...number,
8904
- transform: (v) => clamp$1(0, 1, v)
8905
- }, scale = {
8906
- ...number,
8907
- default: 1
8908
- }, int = {
8909
- ...number,
8910
- transform: Math.round
8911
- }, createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
8912
- test: (v) => typeof v == "string" && v.endsWith(unit) && v.split(" ").length === 1,
8913
- parse: parseFloat,
8914
- transform: (v) => `${v}${unit}`
8915
- }), degrees$1 = /* @__PURE__ */ createUnitType("deg"), percent = /* @__PURE__ */ createUnitType("%"), px = /* @__PURE__ */ createUnitType("px"), vh = /* @__PURE__ */ createUnitType("vh"), vw = /* @__PURE__ */ createUnitType("vw"), progressPercentage = {
8916
- ...percent,
8917
- parse: (v) => percent.parse(v) / 100,
8918
- transform: (v) => percent.transform(v * 100)
8919
- }, transformValueTypes = {
8920
- rotate: degrees$1,
8921
- rotateX: degrees$1,
8922
- rotateY: degrees$1,
8923
- rotateZ: degrees$1,
8924
- scale,
8925
- scaleX: scale,
8926
- scaleY: scale,
8927
- scaleZ: scale,
8928
- skew: degrees$1,
8929
- skewX: degrees$1,
8930
- skewY: degrees$1,
8931
- distance: px,
8932
- translateX: px,
8933
- translateY: px,
8934
- translateZ: px,
8935
- x: px,
8936
- y: px,
8937
- z: px,
8938
- perspective: px,
8939
- transformPerspective: px,
8940
- opacity: alpha,
8941
- originX: progressPercentage,
8942
- originY: progressPercentage,
8943
- originZ: px
8944
- }, numberValueTypes = {
8945
- // Border props
8946
- borderWidth: px,
8947
- borderTopWidth: px,
8948
- borderRightWidth: px,
8949
- borderBottomWidth: px,
8950
- borderLeftWidth: px,
8951
- borderRadius: px,
8952
- radius: px,
8953
- borderTopLeftRadius: px,
8954
- borderTopRightRadius: px,
8955
- borderBottomRightRadius: px,
8956
- borderBottomLeftRadius: px,
8957
- // Positioning props
8958
- width: px,
8959
- maxWidth: px,
8960
- height: px,
8961
- maxHeight: px,
8962
- top: px,
8963
- right: px,
8964
- bottom: px,
8965
- left: px,
8966
- // Spacing props
8967
- padding: px,
8968
- paddingTop: px,
8969
- paddingRight: px,
8970
- paddingBottom: px,
8971
- paddingLeft: px,
8972
- margin: px,
8973
- marginTop: px,
8974
- marginRight: px,
8975
- marginBottom: px,
8976
- marginLeft: px,
8977
- // Misc
8978
- backgroundPositionX: px,
8979
- backgroundPositionY: px,
8980
- ...transformValueTypes,
8981
- zIndex: int,
8982
- // SVG
8983
- fillOpacity: alpha,
8984
- strokeOpacity: alpha,
8985
- numOctaves: int
8986
- }, translateAlias = {
8880
+ function getCurrentTreeVariants(props, context2) {
8881
+ if (isControllingVariants(props)) {
8882
+ const { initial, animate } = props;
8883
+ return {
8884
+ initial: initial === !1 || isVariantLabel(initial) ? initial : void 0,
8885
+ animate: isVariantLabel(animate) ? animate : void 0
8886
+ };
8887
+ }
8888
+ return props.inherit !== !1 ? context2 : {};
8889
+ }
8890
+ function useCreateMotionContext(props) {
8891
+ const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
8892
+ return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
8893
+ }
8894
+ function variantLabelsAsDependency(prop) {
8895
+ return Array.isArray(prop) ? prop.join(" ") : prop;
8896
+ }
8897
+ const scaleCorrectors = {};
8898
+ function addScaleCorrector(correctors) {
8899
+ for (const key in correctors)
8900
+ scaleCorrectors[key] = correctors[key], isCSSVariableName(key) && (scaleCorrectors[key].isCSSVariable = !0);
8901
+ }
8902
+ function isForcedMotionValue(key, { layout, layoutId }) {
8903
+ return transformProps.has(key) || key.startsWith("origin") || (layout || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
8904
+ }
8905
+ const translateAlias = {
8987
8906
  x: "translateX",
8988
8907
  y: "translateY",
8989
8908
  z: "translateZ",
@@ -9034,7 +8953,7 @@ const createHtmlRenderState = () => ({
9034
8953
  transform: {},
9035
8954
  transformOrigin: {},
9036
8955
  vars: {}
9037
- }), isMotionValue = (value) => !!(value && value.getVelocity);
8956
+ });
9038
8957
  function copyRawValuesOnly(target, source, props) {
9039
8958
  for (const key in source)
9040
8959
  !isMotionValue(source[key]) && !isForcedMotionValue(key, props) && (target[key] = source[key]);
@@ -9150,14 +9069,12 @@ function isSVGComponent(Component) {
9150
9069
  )
9151
9070
  );
9152
9071
  }
9153
- function createUseRender(forwardMotionProps = !1) {
9154
- return (Component, props, ref, { latestValues }, isStatic) => {
9155
- const visualProps = (isSVGComponent(Component) ? useSVGProps : useHTMLProps)(props, latestValues, isStatic, Component), filteredProps = filterProps(props, typeof Component == "string", forwardMotionProps), elementProps = Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {}, { children: children2 } = props, renderedChildren = useMemo(() => isMotionValue(children2) ? children2.get() : children2, [children2]);
9156
- return createElement(Component, {
9157
- ...elementProps,
9158
- children: renderedChildren
9159
- });
9160
- };
9072
+ function useRender(Component, props, ref, { latestValues }, isStatic, forwardMotionProps = !1) {
9073
+ const visualProps = (isSVGComponent(Component) ? useSVGProps : useHTMLProps)(props, latestValues, isStatic, Component), filteredProps = filterProps(props, typeof Component == "string", forwardMotionProps), elementProps = Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {}, { children: children2 } = props, renderedChildren = useMemo(() => isMotionValue(children2) ? children2.get() : children2, [children2]);
9074
+ return createElement(Component, {
9075
+ ...elementProps,
9076
+ children: renderedChildren
9077
+ });
9161
9078
  }
9162
9079
  function getValueState(visualElement) {
9163
9080
  const state = [{}, {}];
@@ -9185,10 +9102,6 @@ function makeState({ scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
9185
9102
  renderState: createRenderState()
9186
9103
  };
9187
9104
  }
9188
- const makeUseVisualState = (config) => (props, isStatic) => {
9189
- const context2 = useContext(MotionContext), presenceContext = useContext(PresenceContext), make = () => makeState(config, props, context2, presenceContext);
9190
- return isStatic ? make() : useConstant(make);
9191
- };
9192
9105
  function makeLatestValues(props, context2, presenceContext, scrapeMotionValues) {
9193
9106
  const values2 = {}, motionValues = scrapeMotionValues(props, {});
9194
9107
  for (const key in motionValues)
@@ -9220,18 +9133,20 @@ function makeLatestValues(props, context2, presenceContext, scrapeMotionValues)
9220
9133
  }
9221
9134
  return values2;
9222
9135
  }
9136
+ const makeUseVisualState = (config) => (props, isStatic) => {
9137
+ const context2 = useContext(MotionContext), presenceContext = useContext(PresenceContext), make = () => makeState(config, props, context2, presenceContext);
9138
+ return isStatic ? make() : useConstant(make);
9139
+ };
9223
9140
  function scrapeMotionValuesFromProps$1(props, prevProps, visualElement) {
9224
9141
  const { style: style2 } = props, newValues = {};
9225
9142
  for (const key in style2)
9226
9143
  (isMotionValue(style2[key]) || prevProps.style && isMotionValue(prevProps.style[key]) || isForcedMotionValue(key, props) || visualElement?.getValue(key)?.liveStyle !== void 0) && (newValues[key] = style2[key]);
9227
9144
  return newValues;
9228
9145
  }
9229
- const htmlMotionConfig = {
9230
- useVisualState: makeUseVisualState({
9231
- scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
9232
- createRenderState: createHtmlRenderState
9233
- })
9234
- };
9146
+ const useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
9147
+ scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
9148
+ createRenderState: createHtmlRenderState
9149
+ });
9235
9150
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
9236
9151
  const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement);
9237
9152
  for (const key in props)
@@ -9241,30 +9156,134 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
9241
9156
  }
9242
9157
  return newValues;
9243
9158
  }
9244
- const svgMotionConfig = {
9245
- useVisualState: makeUseVisualState({
9246
- scrapeMotionValuesFromProps,
9247
- createRenderState: createSvgRenderState
9248
- })
9249
- };
9250
- function createMotionComponentFactory(preloadedFeatures, createVisualElement) {
9251
- return function(Component, { forwardMotionProps } = { forwardMotionProps: !1 }) {
9252
- const config = {
9253
- ...isSVGComponent(Component) ? svgMotionConfig : htmlMotionConfig,
9254
- preloadedFeatures,
9255
- useRender: createUseRender(forwardMotionProps),
9256
- createVisualElement,
9257
- Component
9258
- };
9259
- return createRendererMotionComponent(config);
9159
+ const useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
9160
+ scrapeMotionValuesFromProps,
9161
+ createRenderState: createSvgRenderState
9162
+ }), motionComponentSymbol = Symbol.for("motionComponentSymbol");
9163
+ function isRefObject(ref) {
9164
+ return ref && typeof ref == "object" && Object.prototype.hasOwnProperty.call(ref, "current");
9165
+ }
9166
+ function useMotionRef(visualState, visualElement, externalRef) {
9167
+ return useCallback(
9168
+ (instance) => {
9169
+ instance && visualState.onMount && visualState.onMount(instance), visualElement && (instance ? visualElement.mount(instance) : visualElement.unmount()), externalRef && (typeof externalRef == "function" ? externalRef(instance) : isRefObject(externalRef) && (externalRef.current = instance));
9170
+ },
9171
+ /**
9172
+ * Only pass a new ref callback to React if we've received a visual element
9173
+ * factory. Otherwise we'll be mounting/remounting every time externalRef
9174
+ * or other dependencies change.
9175
+ */
9176
+ [visualElement]
9177
+ );
9178
+ }
9179
+ const camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), optimizedAppearDataId = "framerAppearId", optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId), SwitchLayoutGroupContext = createContext({});
9180
+ function useVisualElement(Component, visualState, props, createVisualElement, ProjectionNodeConstructor) {
9181
+ const { visualElement: parent } = useContext(MotionContext), lazyContext = useContext(LazyContext), presenceContext = useContext(PresenceContext), reducedMotionConfig = useContext(MotionConfigContext).reducedMotion, visualElementRef = useRef(null);
9182
+ createVisualElement = createVisualElement || lazyContext.renderer, !visualElementRef.current && createVisualElement && (visualElementRef.current = createVisualElement(Component, {
9183
+ visualState,
9184
+ parent,
9185
+ props,
9186
+ presenceContext,
9187
+ blockInitialAnimation: presenceContext ? presenceContext.initial === !1 : !1,
9188
+ reducedMotionConfig
9189
+ }));
9190
+ const visualElement = visualElementRef.current, initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);
9191
+ visualElement && !visualElement.projection && ProjectionNodeConstructor && (visualElement.type === "html" || visualElement.type === "svg") && createProjectionNode(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);
9192
+ const isMounted = useRef(!1);
9193
+ useInsertionEffect$1(() => {
9194
+ visualElement && isMounted.current && visualElement.update(props, presenceContext);
9195
+ });
9196
+ const optimisedAppearId = props[optimizedAppearDataAttribute], wantsHandoff = useRef(!!optimisedAppearId && !window.MotionHandoffIsComplete?.(optimisedAppearId) && window.MotionHasOptimisedAnimation?.(optimisedAppearId));
9197
+ return useIsomorphicLayoutEffect$1(() => {
9198
+ visualElement && (isMounted.current = !0, window.MotionIsMounted = !0, visualElement.updateFeatures(), visualElement.scheduleRenderMicrotask(), wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges());
9199
+ }), useEffect(() => {
9200
+ visualElement && (!wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges(), wantsHandoff.current && (queueMicrotask(() => {
9201
+ window.MotionHandoffMarkAsComplete?.(optimisedAppearId);
9202
+ }), wantsHandoff.current = !1), visualElement.enteringChildren = void 0);
9203
+ }), visualElement;
9204
+ }
9205
+ function createProjectionNode(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {
9206
+ const { layoutId, layout, drag: drag2, dragConstraints, layoutScroll, layoutRoot, layoutCrossfade } = props;
9207
+ visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(visualElement.parent)), visualElement.projection.setOptions({
9208
+ layoutId,
9209
+ layout,
9210
+ alwaysMeasureLayout: !!drag2 || dragConstraints && isRefObject(dragConstraints),
9211
+ visualElement,
9212
+ /**
9213
+ * TODO: Update options in an effect. This could be tricky as it'll be too late
9214
+ * to update by the time layout animations run.
9215
+ * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,
9216
+ * ensuring it gets called if there's no potential layout animations.
9217
+ *
9218
+ */
9219
+ animationType: typeof layout == "string" ? layout : "both",
9220
+ initialPromotionConfig,
9221
+ crossfade: layoutCrossfade,
9222
+ layoutScroll,
9223
+ layoutRoot
9224
+ });
9225
+ }
9226
+ function getClosestProjectingNode(visualElement) {
9227
+ if (visualElement)
9228
+ return visualElement.options.allowProjection !== !1 ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
9229
+ }
9230
+ function createMotionComponent(Component, { forwardMotionProps = !1 } = {}, preloadedFeatures, createVisualElement) {
9231
+ preloadedFeatures && loadFeatures(preloadedFeatures);
9232
+ const useVisualState = isSVGComponent(Component) ? useSVGVisualState : useHTMLVisualState;
9233
+ function MotionDOMComponent(props, externalRef) {
9234
+ let MeasureLayout;
9235
+ const configAndProps = {
9236
+ ...useContext(MotionConfigContext),
9237
+ ...props,
9238
+ layoutId: useLayoutId(props)
9239
+ }, { isStatic } = configAndProps, context2 = useCreateMotionContext(props), visualState = useVisualState(props, isStatic);
9240
+ if (!isStatic && isBrowser$1) {
9241
+ useStrictMode();
9242
+ const layoutProjection = getProjectionFunctionality(configAndProps);
9243
+ MeasureLayout = layoutProjection.MeasureLayout, context2.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode);
9244
+ }
9245
+ return jsxs(MotionContext.Provider, { value: context2, children: [MeasureLayout && context2.visualElement ? jsx(MeasureLayout, { visualElement: context2.visualElement, ...configAndProps }) : null, useRender(Component, props, useMotionRef(visualState, context2.visualElement, externalRef), visualState, isStatic, forwardMotionProps)] });
9246
+ }
9247
+ MotionDOMComponent.displayName = `motion.${typeof Component == "string" ? Component : `create(${Component.displayName ?? Component.name ?? ""})`}`;
9248
+ const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
9249
+ return ForwardRefMotionComponent[motionComponentSymbol] = Component, ForwardRefMotionComponent;
9250
+ }
9251
+ function useLayoutId({ layoutId }) {
9252
+ const layoutGroupId = useContext(LayoutGroupContext).id;
9253
+ return layoutGroupId && layoutId !== void 0 ? layoutGroupId + "-" + layoutId : layoutId;
9254
+ }
9255
+ function useStrictMode(configAndProps, preloadedFeatures) {
9256
+ useContext(LazyContext).strict;
9257
+ }
9258
+ function getProjectionFunctionality(props) {
9259
+ const { drag: drag2, layout } = featureDefinitions;
9260
+ if (!drag2 && !layout)
9261
+ return {};
9262
+ const combined = { ...drag2, ...layout };
9263
+ return {
9264
+ MeasureLayout: drag2?.isEnabled(props) || layout?.isEnabled(props) ? combined.MeasureLayout : void 0,
9265
+ ProjectionNode: combined.ProjectionNode
9260
9266
  };
9261
9267
  }
9262
- const createMinimalMotionComponent = /* @__PURE__ */ createMotionComponentFactory(), m = /* @__PURE__ */ createDOMMotionComponentProxy(createMinimalMotionComponent), prefersReducedMotion = { current: null }, hasReducedMotionListener = { current: !1 };
9268
+ function createMotionProxy(preloadedFeatures, createVisualElement) {
9269
+ if (typeof Proxy > "u")
9270
+ return createMotionComponent;
9271
+ const componentCache = /* @__PURE__ */ new Map(), factory2 = (Component, options) => createMotionComponent(Component, options, preloadedFeatures, createVisualElement), deprecatedFactoryFunction = (Component, options) => factory2(Component, options);
9272
+ return new Proxy(deprecatedFactoryFunction, {
9273
+ /**
9274
+ * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.
9275
+ * The prop name is passed through as `key` and we can use that to generate a `motion`
9276
+ * DOM component with that name.
9277
+ */
9278
+ get: (_target, key) => key === "create" ? factory2 : (componentCache.has(key) || componentCache.set(key, createMotionComponent(key, void 0, preloadedFeatures, createVisualElement)), componentCache.get(key))
9279
+ });
9280
+ }
9281
+ const m = /* @__PURE__ */ createMotionProxy(), prefersReducedMotion = { current: null }, hasReducedMotionListener = { current: !1 };
9263
9282
  function initPrefersReducedMotion() {
9264
9283
  if (hasReducedMotionListener.current = !0, !!isBrowser$1)
9265
9284
  if (window.matchMedia) {
9266
9285
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)"), setReducedMotionPreferences = () => prefersReducedMotion.current = motionMediaQuery.matches;
9267
- motionMediaQuery.addListener(setReducedMotionPreferences), setReducedMotionPreferences();
9286
+ motionMediaQuery.addEventListener("change", setReducedMotionPreferences), setReducedMotionPreferences();
9268
9287
  } else
9269
9288
  prefersReducedMotion.current = !1;
9270
9289
  }
@@ -16024,7 +16043,7 @@ function IconOrShapeRenderer({
16024
16043
  }
16025
16044
  );
16026
16045
  }
16027
- var userGeneratedStr = "css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,z,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,inset,insetInline,insetBlock,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,spaceX,spaceY,outlineWidth,outlineColor,outline,outlineOffset,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,color,fontFamily,fontSize,fontSizeAdjust,fontPalette,fontKerning,fontFeatureSettings,fontWeight,fontSmoothing,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariationSettings,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,listStyle,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,textGradient,gradientFromPosition,gradientToPosition,gradientFrom,gradientTo,gradientVia,gradientViaPosition,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderBlockStartWidth,borderBlockEndWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationTimingFunction,animationDuration,animationDelay,animationPlayState,animationComposition,animationFillMode,animationDirection,animationIterationCount,animationRange,animationState,animationRangeStart,animationRangeEnd,animationTimeline,transformOrigin,transformBox,transformStyle,transform,rotate,rotateX,rotateY,rotateZ,scale,scaleX,scaleY,translate,translateX,translateY,translateZ,accentColor,caretColor,scrollBehavior,scrollbar,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,touchAction,userSelect,overflow,overflowWrap,overflowX,overflowY,overflowAnchor,overflowBlock,overflowInline,overflowClipBox,overflowClipMargin,overscrollBehaviorBlock,overscrollBehaviorInline,fill,stroke,strokeWidth,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,cursor,likec4Palette,likec4RelationPalette,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelected,_whenDimmed,_whenFocused,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_p3,_srgb,_rec2020,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,textStyle,layerStyle,animationStyle", userGenerated = userGeneratedStr.split(","), cssPropertiesStr = "WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,WebkitUserSelect,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,anchorName,anchorScope,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimeline,animationTimingFunction,appearance,aspectRatio,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBlockStyle,borderBlockWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineColor,borderInlineEnd,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderInlineStyle,borderInlineWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,clipRule,color,colorInterpolationFilters,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,cx,cy,d,direction,display,dominantBaseline,emptyCells,fieldSizing,fill,fillOpacity,fillRule,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,floodColor,floodOpacity,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontVariationSettings,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,interpolateSize,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lightingColor,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,marker,markerEnd,markerMid,markerStart,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,positionAnchor,positionArea,positionTry,positionTryFallbacks,positionTryOrder,positionVisibility,printColorAdjust,quotes,r,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,rx,ry,scale,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginBottom,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockEnd,scrollPaddingBlockStart,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,scrollbarColor,scrollbarGutter,scrollbarWidth,shapeImageThreshold,shapeMargin,shapeOutside,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,tabSize,tableLayout,textAlign,textAlignLast,textAnchor,textBox,textBoxEdge,textBoxTrim,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textSpacingTrim,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,textWrapMode,textWrapStyle,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,vectorEffect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,x,y,zIndex,zoom,alignmentBaseline,baselineShift,colorInterpolation,colorRendering,glyphOrientationVertical", allCssProperties = cssPropertiesStr.split(",").concat(userGenerated), properties = new Map(allCssProperties.map((prop) => [prop, !0])), cssPropertySelectorRegex = /&|@/, isCssProperty = /* @__PURE__ */ memo((prop) => properties.has(prop) || prop.startsWith("--") || cssPropertySelectorRegex.test(prop));
16046
+ var userGeneratedStr = "css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,z,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,inset,insetInline,insetBlock,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,spaceX,spaceY,outlineWidth,outlineColor,outline,outlineOffset,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,color,fontFamily,fontSize,fontSizeAdjust,fontPalette,fontKerning,fontFeatureSettings,fontWeight,fontSmoothing,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariationSettings,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,listStyle,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,textGradient,gradientFromPosition,gradientToPosition,gradientFrom,gradientTo,gradientVia,gradientViaPosition,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderBlockStartWidth,borderBlockEndWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationTimingFunction,animationDuration,animationDelay,animationPlayState,animationComposition,animationFillMode,animationDirection,animationIterationCount,animationRange,animationState,animationRangeStart,animationRangeEnd,animationTimeline,transformOrigin,transformBox,transformStyle,transform,rotate,rotateX,rotateY,rotateZ,scale,scaleX,scaleY,translate,translateX,translateY,translateZ,accentColor,caretColor,scrollBehavior,scrollbar,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,touchAction,userSelect,overflow,overflowWrap,overflowX,overflowY,overflowAnchor,overflowBlock,overflowInline,overflowClipBox,overflowClipMargin,overscrollBehaviorBlock,overscrollBehaviorInline,fill,stroke,strokeWidth,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,cursor,likec4Palette,likec4RelationPalette,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_notDisabled,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelected,_whenDimmed,_whenFocused,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_p3,_srgb,_rec2020,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,textStyle,layerStyle,animationStyle", userGenerated = userGeneratedStr.split(","), cssPropertiesStr = "WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,WebkitUserSelect,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,anchorName,anchorScope,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimeline,animationTimingFunction,appearance,aspectRatio,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBlockStyle,borderBlockWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineColor,borderInlineEnd,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderInlineStyle,borderInlineWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,clipRule,color,colorInterpolationFilters,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,cx,cy,d,direction,display,dominantBaseline,emptyCells,fieldSizing,fill,fillOpacity,fillRule,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,floodColor,floodOpacity,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontVariationSettings,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,interpolateSize,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lightingColor,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,marker,markerEnd,markerMid,markerStart,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,positionAnchor,positionArea,positionTry,positionTryFallbacks,positionTryOrder,positionVisibility,printColorAdjust,quotes,r,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,rx,ry,scale,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginBottom,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockEnd,scrollPaddingBlockStart,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,scrollbarColor,scrollbarGutter,scrollbarWidth,shapeImageThreshold,shapeMargin,shapeOutside,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,tabSize,tableLayout,textAlign,textAlignLast,textAnchor,textBox,textBoxEdge,textBoxTrim,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textSpacingTrim,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,textWrapMode,textWrapStyle,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,vectorEffect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,x,y,zIndex,zoom,alignmentBaseline,baselineShift,colorInterpolation,colorRendering,glyphOrientationVertical", allCssProperties = cssPropertiesStr.split(",").concat(userGenerated), properties = new Map(allCssProperties.map((prop) => [prop, !0])), cssPropertySelectorRegex = /&|@/, isCssProperty = /* @__PURE__ */ memo((prop) => properties.has(prop) || prop.startsWith("--") || cssPropertySelectorRegex.test(prop));
16028
16047
  const defaultShouldForwardProp = (prop, variantKeys) => !variantKeys.includes(prop) && !isCssProperty(prop), composeShouldForwardProps = (tag, shouldForwardProp) => tag.__shouldForwardProps__ && shouldForwardProp ? (propName) => tag.__shouldForwardProps__(propName) && shouldForwardProp(propName) : shouldForwardProp, composeCvaFn = (cvaA, cvaB) => {
16029
16048
  if (cvaA && !cvaB) return cvaA;
16030
16049
  if (!cvaA && cvaB) return cvaB;
@@ -16177,25 +16196,21 @@ function ReduceGraphicsContext({ reduceGraphics, children: children2 }) {
16177
16196
  function useIsPanning() {
16178
16197
  return useStore(usePanningAtom());
16179
16198
  }
16180
- const LikeC4ModelContext = createContext(null);
16181
- function useLikeC4Model(type) {
16199
+ const LikeC4ModelContext = createContext(null), CurrentViewModelContext = createContext(null);
16200
+ function useLikeC4Model() {
16182
16201
  const model = useContext(LikeC4ModelContext);
16183
16202
  if (!model)
16184
16203
  throw new Error("LikeC4Model not found. Make sure you have LikeC4ModelProvider.");
16185
- if (t$3(type) && model.stage !== type)
16186
- throw new Error(`Invalid LikeC4ModelContext, expected "${type}" but got "${model.stage}" in context`);
16187
16204
  return model;
16188
16205
  }
16189
16206
  function useLikeC4ViewModel(viewId) {
16190
- const view = useLikeC4Model("layouted").findView(viewId);
16191
- if (!view)
16192
- return null;
16193
- if (!view.isDiagram())
16194
- throw new Error(`View "${viewId}" is not layouted`);
16195
- return view;
16207
+ return useLikeC4Model().view(viewId);
16196
16208
  }
16197
16209
  function useLikeC4Specification() {
16198
- return useLikeC4Model().$data.specification;
16210
+ const model = useLikeC4Model(), [specification, setSpecification] = useState(model.$data.specification);
16211
+ return useEffect(() => {
16212
+ setSpecification((current) => deepEqual(current, model.$data.specification) ? current : model.$data.specification);
16213
+ }, [model]), specification;
16199
16214
  }
16200
16215
  const TagStylesContext = createContext({}), radixColors = [
16201
16216
  "yellow",
@@ -19209,16 +19224,12 @@ function useDiagramActorSnapshot(selector2, compare = shallowEqual) {
19209
19224
  const actorRef = useDiagramActorRef();
19210
19225
  return useSelector(actorRef, useCallbackRef(selector2), compare);
19211
19226
  }
19212
- function useDiagramSyncLayoutState(selector2, compare = shallowEqual) {
19213
- const syncLayoutActorRef = useDiagramActorSnapshot((s2) => s2.context.syncLayoutActorRef);
19214
- return useSelector(syncLayoutActorRef, useCallbackRef(selector2), compare);
19215
- }
19216
19227
  function useDiagramContext(selector2, compare = shallowEqual, deps) {
19217
19228
  const actorRef = useDiagramActorRef(), select2 = useCallback((s2) => selector2(s2.context), deps ?? []);
19218
19229
  return useSelector(actorRef, select2, compare);
19219
19230
  }
19220
19231
  const createRecipe = (name, defaultVariants, compoundVariants) => {
19221
- const getVariantProps = (variants) => ({
19232
+ const getVariantProps2 = (variants) => ({
19222
19233
  [name]: "__ignore__",
19223
19234
  ...defaultVariants,
19224
19235
  ...compact(variants)
@@ -19235,15 +19246,15 @@ const createRecipe = (name, defaultVariants, compoundVariants) => {
19235
19246
  toHash: (path, hashFn) => hashFn(path.join(":")),
19236
19247
  transform: (prop, value) => (assertCompoundVariant(name, compoundVariants, variants, prop), value === "__ignore__" ? { className: name } : (value = withoutSpace(value), { className: `${name}--${prop}_${value}` }))
19237
19248
  }
19238
- }), recipeStyles = getVariantProps(variants);
19249
+ }), recipeStyles = getVariantProps2(variants);
19239
19250
  if (withCompoundVariants) {
19240
19251
  const compoundVariantStyles = getCompoundVariantCss(compoundVariants, recipeStyles);
19241
19252
  return cx(recipeCss(recipeStyles), css(compoundVariantStyles));
19242
19253
  }
19243
19254
  return recipeCss(recipeStyles);
19244
19255
  },
19245
- getVariantProps,
19246
- __getCompoundVariantCss__: (variants) => getCompoundVariantCss(compoundVariants, getVariantProps(variants))
19256
+ getVariantProps: getVariantProps2,
19257
+ __getCompoundVariantCss__: (variants) => getCompoundVariantCss(compoundVariants, getVariantProps2(variants))
19247
19258
  };
19248
19259
  }, mergeRecipes = (recipeA, recipeB) => {
19249
19260
  if (recipeA && !recipeB) return recipeA;
@@ -19290,6 +19301,20 @@ const createRecipe = (name, defaultVariants, compoundVariants) => {
19290
19301
  return splitProps(props, actionBtnVariantKeys);
19291
19302
  },
19292
19303
  getVariantProps: actionBtnFn.getVariantProps
19304
+ }), elementNodeIconFn = /* @__PURE__ */ createRecipe("likec4-element-node-icon", {}, []), elementNodeIconVariantMap = {}, elementNodeIconVariantKeys = Object.keys(elementNodeIconVariantMap), elementNodeIcon = /* @__PURE__ */ Object.assign(memo(elementNodeIconFn.recipeFn), {
19305
+ __recipe__: !0,
19306
+ __name__: "elementNodeIcon",
19307
+ __getCompoundVariantCss__: elementNodeIconFn.__getCompoundVariantCss__,
19308
+ raw: (props) => props,
19309
+ variantKeys: elementNodeIconVariantKeys,
19310
+ variantMap: elementNodeIconVariantMap,
19311
+ merge(recipe) {
19312
+ return mergeRecipes(this, recipe);
19313
+ },
19314
+ splitVariantProps(props) {
19315
+ return splitProps(props, elementNodeIconVariantKeys);
19316
+ },
19317
+ getVariantProps: elementNodeIconFn.getVariantProps
19293
19318
  }), likec4tagFn = /* @__PURE__ */ createRecipe("likec4-tag", {
19294
19319
  autoTextColor: !1
19295
19320
  }, []), likec4tagVariantMap = {
@@ -19332,7 +19357,75 @@ const createRecipe = (name, defaultVariants, compoundVariants) => {
19332
19357
  return splitProps(props, markdownBlockVariantKeys);
19333
19358
  },
19334
19359
  getVariantProps: markdownBlockFn.getVariantProps
19335
- }), MotionButton = /* @__PURE__ */ createMinimalMotionComponent("button"), MotionDiv = /* @__PURE__ */ createMinimalMotionComponent("div"), compoundActionBtn = cva({
19360
+ }), elementNodeDataDefaultVariants = {
19361
+ hasIcon: !1
19362
+ }, elementNodeDataCompoundVariants = [
19363
+ {
19364
+ hasDescription: !0,
19365
+ hasTechnology: !0,
19366
+ css: {
19367
+ textContainer: {
19368
+ gap: "6px"
19369
+ }
19370
+ }
19371
+ }
19372
+ ], elementNodeDataSlotNames = [
19373
+ [
19374
+ "root",
19375
+ "likec4-el-node-data__root"
19376
+ ],
19377
+ [
19378
+ "textContainer",
19379
+ "likec4-el-node-data__textContainer"
19380
+ ],
19381
+ [
19382
+ "title",
19383
+ "likec4-el-node-data__title"
19384
+ ],
19385
+ [
19386
+ "description",
19387
+ "likec4-el-node-data__description"
19388
+ ],
19389
+ [
19390
+ "technology",
19391
+ "likec4-el-node-data__technology"
19392
+ ],
19393
+ [
19394
+ "icon",
19395
+ "likec4-el-node-data__icon"
19396
+ ]
19397
+ ], elementNodeDataSlotFns = /* @__PURE__ */ elementNodeDataSlotNames.map(([slotName, slotKey]) => [slotName, createRecipe(slotKey, elementNodeDataDefaultVariants, getSlotCompoundVariant(elementNodeDataCompoundVariants, slotName))]), elementNodeDataFn = memo((props = {}) => Object.fromEntries(elementNodeDataSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]))), elementNodeDataVariantKeys = [
19398
+ "hasIcon",
19399
+ "hasDescription",
19400
+ "hasTechnology"
19401
+ ], getVariantProps = (variants) => ({ ...elementNodeDataDefaultVariants, ...compact(variants) }), elementNodeData = /* @__PURE__ */ Object.assign(elementNodeDataFn, {
19402
+ __recipe__: !1,
19403
+ __name__: "elementNodeData",
19404
+ raw: (props) => props,
19405
+ variantKeys: elementNodeDataVariantKeys,
19406
+ variantMap: {
19407
+ hasIcon: [
19408
+ "false",
19409
+ "true"
19410
+ ],
19411
+ hasDescription: [
19412
+ "false",
19413
+ "true"
19414
+ ],
19415
+ hasTechnology: [
19416
+ "false",
19417
+ "true"
19418
+ ]
19419
+ },
19420
+ splitVariantProps(props) {
19421
+ return splitProps(props, elementNodeDataVariantKeys);
19422
+ },
19423
+ getVariantProps
19424
+ });
19425
+ function createMinimalMotionComponent(Component, options) {
19426
+ return createMotionComponent(Component, options);
19427
+ }
19428
+ const MotionButton = /* @__PURE__ */ createMinimalMotionComponent("button"), MotionDiv = /* @__PURE__ */ createMinimalMotionComponent("div"), MotionSpan = /* @__PURE__ */ createMinimalMotionComponent("span"), compoundActionBtn = cva({
19336
19429
  base: {
19337
19430
  transitionDuration: "normal",
19338
19431
  "[data-compound-title-inverse] &": {
@@ -19717,10 +19810,10 @@ const titleContainer = css({
19717
19810
  _light: "likec4.palette.stroke"
19718
19811
  }
19719
19812
  }
19720
- }), iconSize$1 = "20px", cssIcon = css({
19721
- flex: `0 0 ${iconSize$1}`,
19722
- height: `${iconSize$1}`,
19723
- width: `${iconSize$1}`,
19813
+ }), iconSize = "20px", cssIcon = css({
19814
+ flex: `0 0 ${iconSize}`,
19815
+ height: `${iconSize}`,
19816
+ width: `${iconSize}`,
19724
19817
  display: "flex",
19725
19818
  alignItems: "center",
19726
19819
  justifyContent: "center",
@@ -19747,7 +19840,7 @@ const titleContainer = css({
19747
19840
  }
19748
19841
  });
19749
19842
  function CompoundTitle({ id: id2, data }) {
19750
- const elementIcon2 = IconRenderer({
19843
+ const elementIcon = IconRenderer({
19751
19844
  element: {
19752
19845
  id: id2,
19753
19846
  title: data.title,
@@ -19763,7 +19856,7 @@ function CompoundTitle({ id: id2, data }) {
19763
19856
  "likec4-compound-title"
19764
19857
  ),
19765
19858
  children: [
19766
- elementIcon2,
19859
+ elementIcon,
19767
19860
  /* @__PURE__ */ jsx(Text, { className: titleText, truncate: "end", children: data.title })
19768
19861
  ]
19769
19862
  }
@@ -20464,207 +20557,16 @@ const MarkdownBlock = forwardRef(({
20464
20557
  );
20465
20558
  });
20466
20559
  MarkdownBlock.displayName = "MarkdownBlock";
20467
- const iconSize = "--icon-size", title = css.raw({
20468
- textStyle: "likec4.node.primary",
20469
- flex: "0 0 auto",
20470
- textAlign: "center",
20471
- color: "likec4.palette.hiContrast"
20472
- }), description = css.raw({
20473
- flexGrow: "0",
20474
- flexShrink: "1",
20475
- textStyle: "likec4.node.secondary",
20476
- color: "likec4.palette.loContrast",
20477
- textAlign: "center",
20478
- textOverflow: "ellipsis",
20479
- overflow: "hidden",
20480
- _shapeSizeXs: {
20481
- display: "none"
20482
- },
20483
- _smallZoom: {
20484
- display: "none"
20485
- }
20486
- }), technology = css.raw({
20487
- flex: "0 0 auto",
20488
- textStyle: "likec4.node.secondary",
20489
- color: "likec4.palette.loContrast",
20490
- fontSize: "calc(var(--likec4-text-size) * 0.635)",
20491
- lineHeight: 1.125,
20492
- textAlign: "center",
20493
- textWrap: "balance",
20494
- opacity: 0.92,
20495
- _whenHovered: {
20496
- opacity: 1
20497
- },
20498
- _shapeSizeXs: {
20499
- display: "none"
20500
- },
20501
- _shapeSizeSm: {
20502
- display: "none"
20503
- },
20504
- _smallZoom: {
20505
- display: "none"
20506
- }
20507
- }), varIconSize = `var(${iconSize})`, elementIcon = css({
20508
- flex: `0 0 ${varIconSize}`,
20509
- height: varIconSize,
20510
- width: varIconSize,
20511
- display: "flex",
20512
- alignSelf: "flex-start",
20513
- alignItems: "center",
20514
- justifyContent: "center",
20515
- mixBlendMode: {
20516
- base: "hard-light",
20517
- _reduceGraphicsOnPan: "normal"
20518
- },
20519
- "& svg, & img": {
20520
- width: "100%",
20521
- height: "auto",
20522
- maxHeight: "100%",
20523
- pointerEvents: "none",
20524
- filter: {
20525
- base: [
20526
- "drop-shadow(0 0 3px rgb(0 0 0 / 12%))",
20527
- "drop-shadow(0 1px 8px rgb(0 0 0 / 8%))",
20528
- "drop-shadow(1px 1px 16px rgb(0 0 0 / 3%))"
20529
- ],
20530
- _reduceGraphicsOnPan: "none"
20531
- }
20532
- },
20533
- "& img": {
20534
- objectFit: "contain"
20535
- }
20536
- }), elementTitle = sva({
20537
- slots: ["root", "textContainer", "title", "description", "technology"],
20538
- base: {
20539
- root: {
20540
- position: "relative",
20541
- flex: "1",
20542
- height: "fit-content",
20543
- width: "fit-content",
20544
- maxHeight: "100%",
20545
- maxWidth: "100%",
20546
- margin: "0 auto",
20547
- display: "flex",
20548
- alignItems: "center",
20549
- justifyContent: "center",
20550
- flexDirection: "row",
20551
- paddingTop: "var(--likec4-spacing)",
20552
- paddingBottom: "var(--likec4-spacing)",
20553
- paddingLeft: "calc(var(--likec4-spacing) + 8px)",
20554
- paddingRight: "calc(var(--likec4-spacing) + 8px)",
20555
- overflow: "hidden",
20556
- pointerEvents: "none",
20557
- gap: "12px",
20558
- _shapeQueue: {
20559
- paddingLeft: "46px",
20560
- paddingRight: "16px"
20561
- },
20562
- _shapeMobile: {
20563
- paddingLeft: "46px",
20564
- paddingRight: "16px"
20565
- },
20566
- _shapeCylinder: {
20567
- paddingTop: "30px"
20568
- },
20569
- _shapeStorage: {
20570
- paddingTop: "30px"
20571
- },
20572
- _shapeBrowser: {
20573
- paddingTop: "32px",
20574
- paddingBottom: "28px"
20575
- },
20576
- _shapeSizeXs: {
20577
- [iconSize]: "24px"
20578
- },
20579
- _shapeSizeSm: {
20580
- [iconSize]: "36px"
20581
- },
20582
- _shapeSizeMd: {
20583
- [iconSize]: "60px"
20584
- },
20585
- _shapeSizeLg: {
20586
- [iconSize]: "82px",
20587
- gap: "16px"
20588
- },
20589
- _shapeSizeXl: {
20590
- [iconSize]: "90px",
20591
- gap: "16px"
20592
- }
20593
- },
20594
- textContainer: {
20595
- height: "fit-content",
20596
- width: "fit-content",
20597
- maxHeight: "100%",
20598
- maxWidth: "100%",
20599
- flex: "0 1 auto",
20600
- display: "flex",
20601
- flexDirection: "column",
20602
- alignItems: "stretch",
20603
- justifyContent: "center",
20604
- flexWrap: "nowrap",
20605
- overflow: "hidden",
20606
- gap: "8px"
20607
- },
20608
- title,
20609
- description,
20610
- technology
20611
- },
20612
- variants: {
20613
- hasIcon: {
20614
- false: {},
20615
- true: {
20616
- root: {
20617
- gap: "16px"
20618
- },
20619
- textContainer: {
20620
- minWidth: `calc(50% + ${varIconSize})`,
20621
- alignItems: "flex-start"
20622
- },
20623
- title: {
20624
- textAlign: "left"
20625
- },
20626
- description: {
20627
- textAlign: "left"
20628
- },
20629
- technology: {
20630
- textAlign: "left"
20631
- }
20632
- }
20633
- },
20634
- hasDescription: {
20635
- false: {},
20636
- true: {}
20637
- },
20638
- hasTechnology: {
20639
- false: {},
20640
- true: {}
20641
- }
20642
- },
20643
- compoundVariants: [
20644
- {
20645
- hasDescription: !0,
20646
- hasTechnology: !0,
20647
- css: {
20648
- textContainer: {
20649
- gap: "6px"
20650
- }
20651
- }
20652
- }
20653
- ],
20654
- defaultVariants: {
20655
- hasIcon: !1
20656
- }
20657
- });
20658
- function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20659
- const elementIcon$1 = IconRenderer({
20560
+ function ElementTitle({ id: id2, data, iconSize: iconSize2 }) {
20561
+ const elementIcon = IconRenderer({
20660
20562
  element: {
20661
20563
  id: id2,
20662
20564
  title: data.title,
20663
20565
  icon: data.icon
20664
20566
  },
20665
- className: elementIcon
20666
- }), classes2 = elementTitle({
20667
- hasIcon: n$1(elementIcon$1),
20567
+ className: elementNodeIcon()
20568
+ }), classes2 = elementNodeData({
20569
+ hasIcon: n$1(elementIcon),
20668
20570
  hasDescription: !!data.description?.nonEmpty,
20669
20571
  hasTechnology: !n(data.technology ?? "")
20670
20572
  }), size2 = nodeSizes(data.style).size, isSmOrXs = size2 === "sm" || size2 === "xs";
@@ -20675,12 +20577,12 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20675
20577
  classes2.root,
20676
20578
  "likec4-element"
20677
20579
  ),
20678
- style: e(iconSize$12) ? {
20580
+ style: e(iconSize2) ? {
20679
20581
  // @ts-ignore
20680
- [iconSize]: `${iconSize$12}px`
20582
+ "--likec4-icon-size": `${iconSize2}px`
20681
20583
  } : void 0,
20682
20584
  children: [
20683
- elementIcon$1,
20585
+ elementIcon,
20684
20586
  /* @__PURE__ */ jsxs(Box, { className: cx(classes2.textContainer, "likec4-element-main-props"), children: [
20685
20587
  /* @__PURE__ */ jsx(
20686
20588
  Text,
@@ -20715,6 +20617,12 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20715
20617
  }
20716
20618
  );
20717
20619
  }
20620
+ function useCurrentViewModel() {
20621
+ const vm = useContext(CurrentViewModelContext);
20622
+ if (!vm)
20623
+ throw new Error("No LikeC4ViewModel in context found");
20624
+ return vm;
20625
+ }
20718
20626
  const CompoundActions = (props) => {
20719
20627
  const { enableNavigateTo } = useEnabledFeatures(), diagram = useDiagram(), { navigateTo } = props.data;
20720
20628
  return navigateTo && enableNavigateTo ? /* @__PURE__ */ jsx(
@@ -20779,7 +20687,7 @@ const CompoundActions = (props) => {
20779
20687
  { key: "primary", value: primary.fill },
20780
20688
  { key: "secondary", value: secondary.fill },
20781
20689
  { key: "muted", value: muted.fill }
20782
- ], colors = t$4(otherColors).map((key) => ({
20690
+ ], colors = t$3(otherColors).map((key) => ({
20783
20691
  key,
20784
20692
  value: defaultTheme.elements[key].fill
20785
20693
  })), Tooltip = Tooltip$1.withProps({
@@ -21019,7 +20927,7 @@ const toolbarTitle = css({
21019
20927
  overflow: "hidden",
21020
20928
  whiteSpace: "nowrap"
21021
20929
  }), useSelectedNodesCount = () => useDiagramContext((s2) => s2.xynodes.filter((x) => x.selected).length);
21022
- function Toolbar({ title: title2, children: children2, nodeProps, ...props }) {
20930
+ function Toolbar({ title, children: children2, nodeProps, ...props }) {
21023
20931
  const selectedNodesCount = useSelectedNodesCount(), {
21024
20932
  selected: selected2 = !1,
21025
20933
  dragging = !1,
@@ -21051,7 +20959,7 @@ function Toolbar({ title: title2, children: children2, nodeProps, ...props }) {
21051
20959
  onDoubleClick: stopPropagation,
21052
20960
  withBorder: !0,
21053
20961
  children: /* @__PURE__ */ jsxs(Stack, { gap: "6px", children: [
21054
- /* @__PURE__ */ jsx(Box$1, { px: "4px", children: /* @__PURE__ */ jsx(Text, { className: toolbarTitle, children: title2 }) }),
20962
+ /* @__PURE__ */ jsx(Box$1, { px: "4px", children: /* @__PURE__ */ jsx(Text, { className: toolbarTitle, children: title }) }),
21055
20963
  /* @__PURE__ */ jsx(Group, { gap: 4, children: children2 })
21056
20964
  ] })
21057
20965
  }
@@ -21606,299 +21514,317 @@ const backdropBlur = "--_blur", backdropOpacity = "--_opacity", level = "--_leve
21606
21514
  });
21607
21515
  Overlay.displayName = "Overlay";
21608
21516
  export {
21609
- getContrastColor as $,
21610
- createOptionalContext as A,
21517
+ FloatingDelayGroup as $,
21518
+ createVarsResolver as A,
21611
21519
  Box$1 as B,
21612
- useResolvedStylesApi as C,
21520
+ polymorphicFactory as C,
21613
21521
  DEFAULT_THEME as D,
21614
- getFontSize as E,
21615
- useId$1 as F,
21616
- extractStyleProps as G,
21617
- clsx as H,
21618
- getThemeColor as I,
21619
- isElement$1 as J,
21620
- getRefProp as K,
21621
- useUncontrolled as L,
21522
+ getRadius as E,
21523
+ getSize as F,
21524
+ createOptionalContext as G,
21525
+ useResolvedStylesApi as H,
21526
+ getFontSize as I,
21527
+ useId$1 as J,
21528
+ extractStyleProps as K,
21529
+ clsx as L,
21622
21530
  MantineContext as M,
21623
- Paper as N,
21624
- getSpacing as O,
21531
+ getThemeColor as N,
21532
+ isElement$1 as O,
21625
21533
  Popover as P,
21626
- filterProps$1 as Q,
21627
- InlineStyles as R,
21628
- useRandomClassName as S,
21534
+ getRefProp as Q,
21535
+ useUncontrolled as R,
21536
+ getSpacing as S,
21629
21537
  Text as T,
21630
21538
  UnstyledButton as U,
21631
- parseThemeColor as V,
21632
- createEventHandler as W,
21633
- useDisclosure as X,
21634
- useDelayedHover as Y,
21635
- Loader as Z,
21636
- createScopedKeydownHandler as _,
21539
+ Paper as V,
21540
+ filterProps$1 as W,
21541
+ InlineStyles as X,
21542
+ useRandomClassName as Y,
21543
+ parseThemeColor as Z,
21544
+ createEventHandler as _,
21637
21545
  useMediaQuery as a,
21638
- n as a$,
21639
- findElementAncestor as a0,
21640
- useClickOutside as a1,
21641
- createReactComponent as a2,
21642
- C as a3,
21643
- s as a4,
21644
- u$2 as a5,
21645
- MotionConfigContext as a6,
21646
- useConstant as a7,
21647
- PresenceContext as a8,
21648
- useIsomorphicLayoutEffect$1 as a9,
21649
- scaleCorrectors as aA,
21650
- degrees$1 as aB,
21651
- vw as aC,
21652
- vh as aD,
21653
- numberValueTypes as aE,
21654
- isControllingVariants as aF,
21655
- isVariantNode as aG,
21656
- hasReducedMotionListener as aH,
21657
- initPrefersReducedMotion as aI,
21658
- prefersReducedMotion as aJ,
21659
- isCSSVariableName as aK,
21660
- buildHTMLStyles as aL,
21661
- scrapeMotionValuesFromProps$1 as aM,
21662
- camelToDash as aN,
21663
- scrapeMotionValuesFromProps as aO,
21664
- buildSVGAttrs as aP,
21665
- isSVGTag as aQ,
21666
- isSVGComponent as aR,
21667
- useDebouncedCallback as aS,
21668
- isBrowser as aT,
21669
- getPatternStyles as aU,
21670
- patternFns as aV,
21671
- splitProps as aW,
21672
- styled as aX,
21673
- css as aY,
21674
- useLikeC4Specification as aZ,
21675
- useUpdateEffect as a_,
21676
- LayoutGroupContext as aa,
21677
- createRenderBatcher as ab,
21678
- featureDefinitions as ac,
21679
- LazyContext as ad,
21680
- loadExternalIsValidProp as ae,
21681
- resolveVariantFromProps as af,
21682
- MotionGlobalConfig as ag,
21683
- isMotionValue as ah,
21684
- optimizedAppearDataAttribute as ai,
21685
- transformProps as aj,
21686
- number as ak,
21687
- alpha as al,
21688
- clamp$1 as am,
21689
- percent as an,
21690
- isCSSVariableToken as ao,
21691
- px as ap,
21692
- transformPropOrder as aq,
21693
- isVariantLabel as ar,
21694
- variantProps as as,
21695
- isAnimationControls as at,
21696
- variantPriorityOrder as au,
21697
- isRefObject as av,
21698
- SwitchLayoutGroupContext as aw,
21699
- addScaleCorrector as ax,
21700
- microtask as ay,
21701
- resolveMotionValue as az,
21546
+ isBrowser as a$,
21547
+ useDelayGroup as a0,
21548
+ useFloating as a1,
21549
+ useInteractions as a2,
21550
+ useHover as a3,
21551
+ useRole as a4,
21552
+ useDismiss as a5,
21553
+ AccordionChevron as a6,
21554
+ Loader as a7,
21555
+ createScopedKeydownHandler as a8,
21556
+ getContrastColor as a9,
21557
+ isControllingVariants as aA,
21558
+ isVariantNode as aB,
21559
+ hasReducedMotionListener as aC,
21560
+ initPrefersReducedMotion as aD,
21561
+ prefersReducedMotion as aE,
21562
+ transformProps as aF,
21563
+ featureDefinitions as aG,
21564
+ resolveVariantFromProps as aH,
21565
+ isCSSVariableName as aI,
21566
+ buildHTMLStyles as aJ,
21567
+ scrapeMotionValuesFromProps$1 as aK,
21568
+ camelToDash as aL,
21569
+ scrapeMotionValuesFromProps as aM,
21570
+ buildSVGAttrs as aN,
21571
+ isSVGTag as aO,
21572
+ isSVGComponent as aP,
21573
+ optimizedAppearDataAttribute as aQ,
21574
+ isVariantLabel as aR,
21575
+ variantProps as aS,
21576
+ isAnimationControls as aT,
21577
+ variantPriorityOrder as aU,
21578
+ isRefObject as aV,
21579
+ SwitchLayoutGroupContext as aW,
21580
+ addScaleCorrector as aX,
21581
+ resolveMotionValue as aY,
21582
+ scaleCorrectors as aZ,
21583
+ useDebouncedCallback as a_,
21584
+ findElementAncestor as aa,
21585
+ useClickOutside as ab,
21586
+ createReactComponent as ac,
21587
+ C as ad,
21588
+ s as ae,
21589
+ u$2 as af,
21590
+ number as ag,
21591
+ alpha as ah,
21592
+ clamp$1 as ai,
21593
+ percent as aj,
21594
+ isCSSVariableToken as ak,
21595
+ px as al,
21596
+ transformPropOrder as am,
21597
+ degrees$1 as an,
21598
+ vw as ao,
21599
+ vh as ap,
21600
+ numberValueTypes as aq,
21601
+ MotionConfigContext as ar,
21602
+ useConstant as as,
21603
+ PresenceContext as at,
21604
+ useIsomorphicLayoutEffect$1 as au,
21605
+ LayoutGroupContext as av,
21606
+ loadFeatures as aw,
21607
+ LazyContext as ax,
21608
+ loadExternalIsValidProp as ay,
21609
+ isMotionValue as az,
21702
21610
  useMantineTheme as b,
21703
- Button as b$,
21704
- t$1 as b0,
21705
- Background as b1,
21706
- BackgroundVariant as b2,
21707
- useIsZoomTooSmall as b3,
21708
- useXYStoreApi as b4,
21709
- index as b5,
21710
- stopPropagation as b6,
21711
- cx as b7,
21712
- useStore$1 as b8,
21713
- XSTATE_STOP as b9,
21714
- evaluateGuard as bA,
21715
- getCandidates as bB,
21716
- NULL_EVENT as bC,
21717
- createInvokeId as bD,
21718
- getDelayedTransitions as bE,
21719
- formatInitialTransition as bF,
21720
- createErrorActorEvent as bG,
21721
- XSTATE_ERROR as bH,
21722
- cancel as bI,
21723
- raise as bJ,
21724
- spawnChild as bK,
21725
- stopChild as bL,
21726
- deepEqual as bM,
21727
- ActionIcon as bN,
21728
- IconZoomScan as bO,
21729
- sva as bP,
21730
- Box as bQ,
21731
- n$1 as bR,
21732
- EdgeLabelRenderer as bS,
21733
- e as bT,
21734
- useDiagramContext as bU,
21735
- useDiagram as bV,
21736
- useMantinePortalProps as bW,
21737
- PopoverTarget as bX,
21738
- PopoverDropdown as bY,
21739
- Stack as bZ,
21740
- Group as b_,
21741
- cloneMachineSnapshot as ba,
21742
- ProcessingStatus as bb,
21743
- resolveReferencedActor as bc,
21744
- createActor as bd,
21745
- resolveStateValue as be,
21746
- getAllStateNodes as bf,
21747
- getStateNodes as bg,
21748
- createMachineSnapshot as bh,
21749
- isInFinalState as bi,
21750
- macrostep as bj,
21751
- transitionNode as bk,
21752
- resolveActionsAndContext as bl,
21753
- createInitEvent as bm,
21754
- microstep as bn,
21755
- getInitialStateNodes as bo,
21756
- toStatePath as bp,
21757
- isStateId as bq,
21758
- getStateNodeByPath as br,
21759
- getPersistedSnapshot as bs,
21760
- $$ACTOR_TYPE as bt,
21761
- STATE_DELIMITER as bu,
21762
- mapValues as bv,
21763
- toArray as bw,
21764
- formatTransitions as bx,
21765
- toTransitionConfigArray as by,
21766
- formatTransition as bz,
21611
+ IconZoomScan as b$,
21612
+ css as b0,
21613
+ getPatternStyles as b1,
21614
+ patternFns as b2,
21615
+ splitProps as b3,
21616
+ styled as b4,
21617
+ useLikeC4Specification as b5,
21618
+ useUpdateEffect as b6,
21619
+ n as b7,
21620
+ t$1 as b8,
21621
+ Background as b9,
21622
+ getPersistedSnapshot as bA,
21623
+ $$ACTOR_TYPE as bB,
21624
+ STATE_DELIMITER as bC,
21625
+ mapValues as bD,
21626
+ toArray as bE,
21627
+ formatTransitions as bF,
21628
+ toTransitionConfigArray as bG,
21629
+ formatTransition as bH,
21630
+ evaluateGuard as bI,
21631
+ getCandidates as bJ,
21632
+ NULL_EVENT as bK,
21633
+ createInvokeId as bL,
21634
+ getDelayedTransitions as bM,
21635
+ formatInitialTransition as bN,
21636
+ createErrorActorEvent as bO,
21637
+ XSTATE_ERROR as bP,
21638
+ cancel as bQ,
21639
+ raise as bR,
21640
+ spawnChild as bS,
21641
+ stopChild as bT,
21642
+ memo as bU,
21643
+ createRecipe as bV,
21644
+ mergeRecipes as bW,
21645
+ compact as bX,
21646
+ getSlotCompoundVariant as bY,
21647
+ deepEqual as bZ,
21648
+ ActionIcon as b_,
21649
+ BackgroundVariant as ba,
21650
+ useIsZoomTooSmall as bb,
21651
+ useXYStoreApi as bc,
21652
+ index as bd,
21653
+ stopPropagation as be,
21654
+ cx as bf,
21655
+ useStore$1 as bg,
21656
+ XSTATE_STOP as bh,
21657
+ cloneMachineSnapshot as bi,
21658
+ ProcessingStatus as bj,
21659
+ resolveReferencedActor as bk,
21660
+ createActor as bl,
21661
+ resolveStateValue as bm,
21662
+ getAllStateNodes as bn,
21663
+ getStateNodes as bo,
21664
+ createMachineSnapshot as bp,
21665
+ isInFinalState as bq,
21666
+ macrostep as br,
21667
+ transitionNode as bs,
21668
+ resolveActionsAndContext as bt,
21669
+ createInitEvent as bu,
21670
+ microstep as bv,
21671
+ getInitialStateNodes as bw,
21672
+ toStatePath as bx,
21673
+ isStateId as by,
21674
+ getStateNodeByPath as bz,
21767
21675
  useMantineStyleNonce as c,
21768
- ActionIconGroup as c$,
21769
- IconCheck as c0,
21770
- cva as c1,
21771
- useLikeC4Model as c2,
21772
- findDiagramNode as c3,
21773
- findDiagramEdge as c4,
21774
- Menu as c5,
21775
- MenuTarget as c6,
21776
- MenuDropdown as c7,
21777
- MenuLabel as c8,
21778
- MenuDivider as c9,
21779
- IconTransform as cA,
21780
- customNode as cB,
21781
- CompoundNodeContainer as cC,
21782
- CompoundTitle as cD,
21783
- ElementNodeContainer as cE,
21784
- ElementShape as cF,
21785
- ElementTitle as cG,
21786
- ElementTags as cH,
21787
- ElementDetailsButton as cI,
21788
- Handle as cJ,
21789
- Position as cK,
21790
- getDefaultExportFromCjs as cL,
21791
- l$1 as cM,
21792
- IconSelector as cN,
21793
- SegmentedControl as cO,
21794
- ReactFlowProvider as cP,
21795
- useStoreApi as cQ,
21796
- useReactFlow as cR,
21797
- Panel as cS,
21798
- m as cT,
21799
- u as cU,
21800
- useSyncedRef as cV,
21801
- IconRenderer as cW,
21802
- useTimeoutEffect as cX,
21803
- ReactRemoveScroll as cY,
21804
- Flex as cZ,
21805
- ElementTag as c_,
21806
- MenuItem as ca,
21807
- useEnabledFeatures as cb,
21808
- useDiagramEventHandlers as cc,
21809
- TooltipGroup as cd,
21810
- Space as ce,
21811
- Tooltip$1 as cf,
21812
- IfEnabled as cg,
21813
- IconFileSymlink as ch,
21814
- getNodeDimensions as ci,
21815
- useIsPanning as cj,
21816
- useXYFlow as ck,
21817
- useDiagramActorSnapshot as cl,
21818
- useXYInternalNode as cm,
21819
- isSamePoint as cn,
21820
- bezierControlPoints as co,
21821
- bezierPath as cp,
21822
- ViewGroupNode as cq,
21823
- CompoundDeploymentNode as cr,
21824
- CompoundElementNode as cs,
21825
- DeploymentNode as ct,
21826
- ElementNode as cu,
21827
- shallowEqual as cv,
21828
- useSelector as cw,
21829
- getBezierPath as cx,
21830
- useCurrentViewId as cy,
21831
- ElementActionButtons as cz,
21676
+ useActorRef as c$,
21677
+ sva as c0,
21678
+ Box as c1,
21679
+ n$1 as c2,
21680
+ EdgeLabelRenderer as c3,
21681
+ e as c4,
21682
+ useDiagramContext as c5,
21683
+ useDiagram as c6,
21684
+ useMantinePortalProps as c7,
21685
+ PopoverTarget as c8,
21686
+ PopoverDropdown as c9,
21687
+ isSamePoint as cA,
21688
+ bezierControlPoints as cB,
21689
+ bezierPath as cC,
21690
+ ViewGroupNode as cD,
21691
+ CompoundDeploymentNode as cE,
21692
+ CompoundElementNode as cF,
21693
+ DeploymentNode as cG,
21694
+ ElementNode as cH,
21695
+ MotionButton as cI,
21696
+ useHover$1 as cJ,
21697
+ FloatingIndicator as cK,
21698
+ Flex as cL,
21699
+ clampUseMovePosition as cM,
21700
+ useMove as cN,
21701
+ hstack as cO,
21702
+ MotionDiv as cP,
21703
+ shallowEqual as cQ,
21704
+ useSelector as cR,
21705
+ useCurrentViewId as cS,
21706
+ isMacOs as cT,
21707
+ MotionSpan as cU,
21708
+ Portal as cV,
21709
+ HStack as cW,
21710
+ Divider as cX,
21711
+ o$1 as cY,
21712
+ useDiagramActorRef as cZ,
21713
+ useCurrentViewModel as c_,
21714
+ Stack as ca,
21715
+ Group as cb,
21716
+ Button as cc,
21717
+ IconCheck as cd,
21718
+ cva as ce,
21719
+ useLikeC4Model as cf,
21720
+ findDiagramNode as cg,
21721
+ findDiagramEdge as ch,
21722
+ Menu as ci,
21723
+ MenuTarget as cj,
21724
+ MenuDropdown as ck,
21725
+ MenuLabel as cl,
21726
+ MenuDivider as cm,
21727
+ MenuItem as cn,
21728
+ useEnabledFeatures as co,
21729
+ useDiagramEventHandlers as cp,
21730
+ TooltipGroup as cq,
21731
+ Space as cr,
21732
+ Tooltip$1 as cs,
21733
+ IfEnabled as ct,
21734
+ IconFileSymlink as cu,
21735
+ getNodeDimensions as cv,
21736
+ useIsPanning as cw,
21737
+ useXYFlow as cx,
21738
+ useDiagramActorSnapshot as cy,
21739
+ useXYInternalNode as cz,
21832
21740
  alpha$1 as d,
21833
- ElementDetailsButtonWithHandler as d$,
21834
- MarkdownBlock as d0,
21835
- DiagramFeatures as d1,
21836
- Divider as d2,
21837
- useXYStore as d3,
21838
- useReducedMotionConfig as d4,
21839
- Overlay as d5,
21840
- t$2 as d6,
21841
- VisuallyHidden as d7,
21842
- MotionDiv as d8,
21843
- IconOrShapeRenderer as d9,
21844
- focusedBounds as dA,
21845
- or as dB,
21846
- nodeToRect as dC,
21847
- useDiagramEventHandlersRef as dD,
21848
- useActorRef as dE,
21849
- DiagramActorContextProvider as dF,
21850
- IconRendererProvider as dG,
21851
- DiagramEventHandlers as dH,
21852
- ReduceGraphicsContext as dI,
21853
- RootContainer as dJ,
21854
- useMutationObserver as dK,
21855
- Portal as dL,
21856
- shallowEqual$1 as dM,
21857
- LikeC4ModelContext as dN,
21858
- useDiagramActorRef as dO,
21859
- useLikeC4ViewModel as dP,
21860
- useSetState as dQ,
21861
- CompoundActionButton as dR,
21862
- CompoundDetailsButton as dS,
21863
- DefaultHandles as dT,
21864
- CompoundActions as dU,
21865
- CompoundDeploymentToolbar as dV,
21866
- CompoundDetailsButtonWithHandler as dW,
21867
- CompoundElementToolbar as dX,
21868
- DeploymentElementActions as dY,
21869
- DeploymentElementToolbar as dZ,
21870
- ElementActions as d_,
21871
- MotionButton as da,
21872
- FocusTrap as db,
21873
- HStack as dc,
21874
- t$4 as dd,
21875
- isMacOs as de,
21876
- useHover$1 as df,
21877
- FloatingIndicator as dg,
21878
- clampUseMovePosition as dh,
21879
- useMove as di,
21880
- useDiagramSyncLayoutState as dj,
21881
- ButtonGroup as dk,
21882
- useIsReducedGraphics as dl,
21883
- usePanningAtom as dm,
21884
- useTimeout as dn,
21885
- useCustomCompareMemo as dp,
21886
- applyEdgeChanges as dq,
21887
- applyNodeChanges as dr,
21888
- getViewportForBounds as ds,
21889
- typedSystem as dt,
21890
- centerXYInternalNode as du,
21891
- t$3 as dv,
21892
- getBoundsOfRects as dw,
21893
- boxToRect as dx,
21894
- and as dy,
21895
- AllDisabled as dz,
21741
+ DiagramEventHandlers as d$,
21742
+ useUpdateEffect$1 as d0,
21743
+ getBezierPath as d1,
21744
+ ElementActionButtons as d2,
21745
+ IconTransform as d3,
21746
+ customNode as d4,
21747
+ CompoundNodeContainer as d5,
21748
+ CompoundTitle as d6,
21749
+ ElementNodeContainer as d7,
21750
+ ElementShape as d8,
21751
+ ElementTitle as d9,
21752
+ t$2 as dA,
21753
+ VisuallyHidden as dB,
21754
+ IconOrShapeRenderer as dC,
21755
+ FocusTrap as dD,
21756
+ t$3 as dE,
21757
+ ButtonGroup as dF,
21758
+ useIsReducedGraphics as dG,
21759
+ usePanningAtom as dH,
21760
+ useTimeout as dI,
21761
+ useCustomCompareMemo as dJ,
21762
+ applyEdgeChanges as dK,
21763
+ applyNodeChanges as dL,
21764
+ getViewportForBounds as dM,
21765
+ typedSystem as dN,
21766
+ centerXYInternalNode as dO,
21767
+ getBoundsOfRects as dP,
21768
+ boxToRect as dQ,
21769
+ and as dR,
21770
+ AllDisabled as dS,
21771
+ focusedBounds as dT,
21772
+ or as dU,
21773
+ nodeToRect as dV,
21774
+ useDiagramEventHandlersRef as dW,
21775
+ useCustomCompareEffect as dX,
21776
+ DiagramActorContextProvider as dY,
21777
+ CurrentViewModelContext as dZ,
21778
+ IconRendererProvider as d_,
21779
+ ElementTags as da,
21780
+ ElementDetailsButton as db,
21781
+ Handle as dc,
21782
+ Position as dd,
21783
+ getDefaultExportFromCjs as de,
21784
+ l$1 as df,
21785
+ IconSelector as dg,
21786
+ SegmentedControl as dh,
21787
+ ReactFlowProvider as di,
21788
+ useStoreApi as dj,
21789
+ useReactFlow as dk,
21790
+ Panel as dl,
21791
+ m as dm,
21792
+ u as dn,
21793
+ useSyncedRef as dp,
21794
+ IconRenderer as dq,
21795
+ useTimeoutEffect as dr,
21796
+ ReactRemoveScroll as ds,
21797
+ ElementTag as dt,
21798
+ ActionIconGroup as du,
21799
+ MarkdownBlock as dv,
21800
+ DiagramFeatures as dw,
21801
+ useXYStore as dx,
21802
+ useReducedMotionConfig as dy,
21803
+ Overlay as dz,
21896
21804
  em as e,
21897
- ElementToolbar as e0,
21898
- Toolbar as e1,
21899
- IfNotEnabled as e2,
21900
- IfNotReadOnly as e3,
21901
- IfReadOnly as e4,
21805
+ ReduceGraphicsContext as e0,
21806
+ RootContainer as e1,
21807
+ useMutationObserver as e2,
21808
+ shallowEqual$1 as e3,
21809
+ LikeC4ModelContext as e4,
21810
+ useLikeC4ViewModel as e5,
21811
+ useSetState as e6,
21812
+ CompoundActionButton as e7,
21813
+ CompoundDetailsButton as e8,
21814
+ DefaultHandles as e9,
21815
+ CompoundActions as ea,
21816
+ CompoundDeploymentToolbar as eb,
21817
+ CompoundDetailsButtonWithHandler as ec,
21818
+ CompoundElementToolbar as ed,
21819
+ DeploymentElementActions as ee,
21820
+ DeploymentElementToolbar as ef,
21821
+ ElementActions as eg,
21822
+ ElementDetailsButtonWithHandler as eh,
21823
+ ElementToolbar as ei,
21824
+ Toolbar as ej,
21825
+ IfNotEnabled as ek,
21826
+ IfNotReadOnly as el,
21827
+ IfReadOnly as em,
21902
21828
  getPrimaryContrastColor as f,
21903
21829
  getPrimaryShade as g,
21904
21830
  deepMerge as h,
@@ -21906,18 +21832,18 @@ export {
21906
21832
  useIsomorphicEffect as j,
21907
21833
  keys$1 as k,
21908
21834
  MantineThemeProvider as l,
21909
- createSafeContext as m,
21910
- useProps as n,
21911
- useMergedRef as o,
21912
- useDirection as p,
21913
- factory as q,
21835
+ useDidUpdate as m,
21836
+ mergeRefs as n,
21837
+ factory as o,
21838
+ useProps as p,
21839
+ useReducedMotion$1 as q,
21914
21840
  rem as r,
21915
- useStyles as s,
21916
- toInt as t,
21841
+ getStyleObject as s,
21842
+ createSafeContext as t,
21917
21843
  useCallbackRef as u,
21918
- useMergeRefs as v,
21919
- createVarsResolver as w,
21920
- polymorphicFactory as x,
21921
- getRadius as y,
21922
- getSize as z
21844
+ useMergedRef as v,
21845
+ toInt as w,
21846
+ useDirection as x,
21847
+ useStyles as y,
21848
+ useMergeRefs as z
21923
21849
  };