@mario_hahn/jumpy-ui 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/README.md +31 -1
  2. package/dist/{chunk-5QINBZIU.js → chunk-KIZKZXWH.js} +1788 -386
  3. package/dist/index.js +112 -42
  4. package/dist/theme.js +3 -1
  5. package/index.d.ts +1 -1
  6. package/package.json +1 -1
  7. package/theme.d.ts +1 -1
  8. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/berry/Tokens.kt +20 -20
  9. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/berryDark/Tokens.kt +5 -5
  10. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/default/Tokens.kt +20 -20
  11. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/defaultDark/Tokens.kt +5 -5
  12. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/jumpy/Tokens.kt +57 -57
  13. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/jumpyDark/Tokens.kt +162 -162
  14. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/jumpyLight/Tokens.kt +57 -57
  15. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/night/Tokens.kt +5 -5
  16. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/snow/Tokens.kt +20 -20
  17. package/tokens/android/tokens/src/main/kotlin/com/mariohahn/jumpy/tokens/snowDark/Tokens.kt +5 -5
  18. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsBorderlessRegularHoverSurface.colorset/Contents.json +4 -4
  19. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsPrimaryRegularDefaultIcon.colorset/Contents.json +7 -7
  20. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsPrimaryRegularDisabledIcon.colorset/Contents.json +5 -5
  21. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsPrimaryRegularFocusIcon.colorset/Contents.json +7 -7
  22. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsPrimaryRegularHoverIcon.colorset/Contents.json +7 -7
  23. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsPrimaryRegularPressedIcon.colorset/Contents.json +7 -7
  24. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsSecondaryRegularHoverSurface.colorset/Contents.json +4 -4
  25. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/actionsTertiaryRegularHoverSurface.colorset/Contents.json +4 -4
  26. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/cardActiveDefaultSurface.colorset/Contents.json +4 -4
  27. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/cardActiveFocusSurface.colorset/Contents.json +4 -4
  28. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/cardInactiveHoverSurface.colorset/Contents.json +4 -4
  29. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/coachmarkHoverSurface.colorset/Contents.json +4 -4
  30. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/coachmarkPressedOuterCircleSurface.colorset/Contents.json +4 -4
  31. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/colorPrimaryMegalight.colorset/Contents.json +4 -4
  32. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/interactiveInactiveRegularHoverSurface.colorset/Contents.json +4 -4
  33. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/nonInteractiveBackgroundBrand.colorset/Contents.json +4 -4
  34. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/selectorsActiveHoverHoverRing.colorset/Contents.json +4 -4
  35. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/selectorsInactiveHoverHoverRing.colorset/Contents.json +4 -4
  36. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/selectorsInactiveHoverSurface.colorset/Contents.json +4 -4
  37. package/tokens/ios/Sources/JumpyTokensBerry/Tokens.xcassets/sliderActiveHoverHandleSurface.colorset/Contents.json +4 -4
  38. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsBorderlessRegularHoverSurface.colorset/Contents.json +4 -4
  39. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsPrimaryRegularDefaultIcon.colorset/Contents.json +7 -7
  40. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsPrimaryRegularDisabledIcon.colorset/Contents.json +2 -2
  41. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsPrimaryRegularFocusIcon.colorset/Contents.json +7 -7
  42. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsPrimaryRegularHoverIcon.colorset/Contents.json +7 -7
  43. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsPrimaryRegularPressedIcon.colorset/Contents.json +7 -7
  44. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsSecondaryRegularHoverSurface.colorset/Contents.json +4 -4
  45. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/actionsTertiaryRegularHoverSurface.colorset/Contents.json +4 -4
  46. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/cardActiveDefaultSurface.colorset/Contents.json +4 -4
  47. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/cardActiveFocusSurface.colorset/Contents.json +4 -4
  48. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/cardInactiveHoverSurface.colorset/Contents.json +4 -4
  49. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/coachmarkHoverSurface.colorset/Contents.json +4 -4
  50. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/coachmarkPressedOuterCircleSurface.colorset/Contents.json +4 -4
  51. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/colorPrimaryMegalight.colorset/Contents.json +4 -4
  52. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/interactiveInactiveRegularHoverSurface.colorset/Contents.json +4 -4
  53. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/nonInteractiveBackgroundBrand.colorset/Contents.json +4 -4
  54. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/selectorsActiveHoverHoverRing.colorset/Contents.json +4 -4
  55. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/selectorsInactiveHoverHoverRing.colorset/Contents.json +4 -4
  56. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/selectorsInactiveHoverSurface.colorset/Contents.json +4 -4
  57. package/tokens/ios/Sources/JumpyTokensDefault/Tokens.xcassets/sliderActiveHoverHandleSurface.colorset/Contents.json +4 -4
  58. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessAlarmFocusFocusRing.colorset/Contents.json +2 -2
  59. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularDefaultIcon.colorset/Contents.json +2 -2
  60. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularDefaultText.colorset/Contents.json +2 -2
  61. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularFocusFocusRing.colorset/Contents.json +2 -2
  62. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularFocusIcon.colorset/Contents.json +2 -2
  63. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularFocusText.colorset/Contents.json +2 -2
  64. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularHoverAction.colorset/Contents.json +3 -3
  65. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularHoverIcon.colorset/Contents.json +5 -5
  66. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularHoverSurface.colorset/Contents.json +6 -6
  67. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularHoverSurfaceAlternate.colorset/Contents.json +2 -2
  68. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularHoverText.colorset/Contents.json +5 -5
  69. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularPressedAction.colorset/Contents.json +3 -3
  70. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularPressedIcon.colorset/Contents.json +5 -5
  71. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularPressedSurface.colorset/Contents.json +2 -2
  72. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsBorderlessRegularPressedText.colorset/Contents.json +5 -5
  73. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryAlarmFocusFocusRing.colorset/Contents.json +2 -2
  74. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryInfoFocusFocusRing.colorset/Contents.json +2 -2
  75. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularDefaultBorder.colorset/Contents.json +2 -2
  76. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularDefaultIcon.colorset/Contents.json +6 -6
  77. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularDefaultSurface.colorset/Contents.json +2 -2
  78. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularDefaultText.colorset/Contents.json +3 -3
  79. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularDisabledIcon.colorset/Contents.json +5 -5
  80. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularDisabledSurface.colorset/Contents.json +4 -4
  81. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularFocusBorder.colorset/Contents.json +2 -2
  82. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularFocusFocusRing.colorset/Contents.json +4 -4
  83. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularFocusIcon.colorset/Contents.json +6 -6
  84. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularFocusSurface.colorset/Contents.json +2 -2
  85. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularFocusText.colorset/Contents.json +3 -3
  86. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularHoverBorder.colorset/Contents.json +5 -5
  87. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularHoverIcon.colorset/Contents.json +6 -6
  88. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularHoverSurface.colorset/Contents.json +3 -3
  89. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularHoverText.colorset/Contents.json +3 -3
  90. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularPressedBorder.colorset/Contents.json +5 -5
  91. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularPressedIcon.colorset/Contents.json +6 -6
  92. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularPressedSurface.colorset/Contents.json +5 -5
  93. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryRegularPressedText.colorset/Contents.json +3 -3
  94. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsPrimaryWarningFocusFocusRing.colorset/Contents.json +2 -2
  95. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryAlarmFocusFocusRing.colorset/Contents.json +2 -2
  96. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularDefaultIcon.colorset/Contents.json +2 -2
  97. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularDefaultText.colorset/Contents.json +2 -2
  98. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularFocusFocusRing.colorset/Contents.json +2 -2
  99. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularFocusIcon.colorset/Contents.json +2 -2
  100. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularFocusText.colorset/Contents.json +2 -2
  101. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularHoverIcon.colorset/Contents.json +5 -5
  102. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularHoverSurface.colorset/Contents.json +6 -6
  103. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularHoverSurfaceAlternate.colorset/Contents.json +2 -2
  104. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularHoverText.colorset/Contents.json +5 -5
  105. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularPressedAction.colorset/Contents.json +3 -3
  106. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularPressedIcon.colorset/Contents.json +5 -5
  107. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularPressedSurface.colorset/Contents.json +2 -2
  108. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsSecondaryRegularPressedText.colorset/Contents.json +5 -5
  109. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryAlarmFocusFocusRing.colorset/Contents.json +2 -2
  110. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularDefaultIcon.colorset/Contents.json +2 -2
  111. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularDefaultText.colorset/Contents.json +2 -2
  112. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularFocusFocusRing.colorset/Contents.json +2 -2
  113. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularFocusIcon.colorset/Contents.json +2 -2
  114. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularFocusText.colorset/Contents.json +2 -2
  115. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularHoverAction.colorset/Contents.json +3 -3
  116. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularHoverIcon.colorset/Contents.json +5 -5
  117. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularHoverSurface.colorset/Contents.json +6 -6
  118. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularHoverSurfaceAlternate.colorset/Contents.json +2 -2
  119. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularHoverText.colorset/Contents.json +5 -5
  120. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularPressedAction.colorset/Contents.json +3 -3
  121. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularPressedIcon.colorset/Contents.json +5 -5
  122. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularPressedSurface.colorset/Contents.json +2 -2
  123. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/actionsTertiaryRegularPressedText.colorset/Contents.json +5 -5
  124. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveDefaultSurface.colorset/Contents.json +2 -2
  125. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveDraggedBorder.colorset/Contents.json +2 -2
  126. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveDraggedSurface.colorset/Contents.json +2 -2
  127. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveFocusFocusRing.colorset/Contents.json +2 -2
  128. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveFocusSurface.colorset/Contents.json +2 -2
  129. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveHoverBorder.colorset/Contents.json +2 -2
  130. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActiveHoverSurface.colorset/Contents.json +2 -2
  131. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActivePressedBorder.colorset/Contents.json +2 -2
  132. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardActivePressedSurface.colorset/Contents.json +2 -2
  133. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardInactiveDraggedBorder.colorset/Contents.json +2 -2
  134. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardInactiveDraggedSurface.colorset/Contents.json +2 -2
  135. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardInactiveFocusFocusRing.colorset/Contents.json +2 -2
  136. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardInactiveHoverBorder.colorset/Contents.json +2 -2
  137. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardInactivePressedBorder.colorset/Contents.json +2 -2
  138. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/cardInactivePressedSurface.colorset/Contents.json +2 -2
  139. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkDefaultInnerCircleOutline.colorset/Contents.json +2 -2
  140. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkDefaultOuterCircleSurface.colorset/Contents.json +2 -2
  141. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkFocusFocusRing.colorset/Contents.json +3 -3
  142. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkFocusInnerCircleOutline.colorset/Contents.json +2 -2
  143. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkFocusOuterCircleSurface.colorset/Contents.json +2 -2
  144. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkHoverInnerCircleOutline.colorset/Contents.json +2 -2
  145. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkHoverOuterCircleSurface.colorset/Contents.json +2 -2
  146. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkHoverSurface.colorset/Contents.json +6 -6
  147. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkPressedInnerCircleOutline.colorset/Contents.json +2 -2
  148. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkPressedOuterCircleSurface.colorset/Contents.json +6 -6
  149. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/coachmarkPressedSurface.colorset/Contents.json +2 -2
  150. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorBrand900.colorset/Contents.json +3 -3
  151. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorBrandBase.colorset/Contents.json +2 -2
  152. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimary600.colorset/Contents.json +2 -2
  153. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryBase.colorset/Contents.json +2 -2
  154. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryDark.colorset/Contents.json +2 -2
  155. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryDarkbase.colorset/Contents.json +3 -3
  156. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryExtralight.colorset/Contents.json +2 -2
  157. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryLightbase.colorset/Contents.json +2 -2
  158. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryMegalight.colorset/Contents.json +6 -6
  159. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/colorPrimaryUltralight.colorset/Contents.json +2 -2
  160. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/inputRegularFocusBorder.colorset/Contents.json +2 -2
  161. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveAlarmFocusFocusRing.colorset/Contents.json +2 -2
  162. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularDefaultBorder.colorset/Contents.json +2 -2
  163. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularDefaultIcon.colorset/Contents.json +2 -2
  164. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularDefaultSurface.colorset/Contents.json +2 -2
  165. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularDefaultText.colorset/Contents.json +2 -2
  166. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularFocusBorder.colorset/Contents.json +2 -2
  167. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularFocusFocusRing.colorset/Contents.json +2 -2
  168. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularFocusIcon.colorset/Contents.json +2 -2
  169. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularFocusSurface.colorset/Contents.json +2 -2
  170. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularFocusText.colorset/Contents.json +2 -2
  171. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularHoverBorder.colorset/Contents.json +2 -2
  172. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularHoverIcon.colorset/Contents.json +5 -5
  173. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularHoverSurface.colorset/Contents.json +2 -2
  174. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularHoverSurfaceAlternate.colorset/Contents.json +2 -2
  175. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularHoverText.colorset/Contents.json +5 -5
  176. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularPressedBorder.colorset/Contents.json +2 -2
  177. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularPressedIcon.colorset/Contents.json +5 -5
  178. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularPressedSurface.colorset/Contents.json +6 -6
  179. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveActiveRegularPressedText.colorset/Contents.json +5 -5
  180. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveInactiveAlarmFocusFocusRing.colorset/Contents.json +2 -2
  181. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveInactiveRegularFocusFocusRing.colorset/Contents.json +2 -2
  182. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveInactiveRegularHoverSurface.colorset/Contents.json +6 -6
  183. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveInactiveRegularHoverSurfaceAlternate.colorset/Contents.json +2 -2
  184. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/interactiveInactiveRegularPressedSurface.colorset/Contents.json +2 -2
  185. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/nonInteractiveBackgroundBrand.colorset/Contents.json +4 -4
  186. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveDefaultBorder.colorset/Contents.json +2 -2
  187. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveDefaultSurface.colorset/Contents.json +2 -2
  188. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveDefaultText.colorset/Contents.json +2 -2
  189. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveFocusBorder.colorset/Contents.json +2 -2
  190. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveFocusFocusRing.colorset/Contents.json +2 -2
  191. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveFocusSurface.colorset/Contents.json +2 -2
  192. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveFocusText.colorset/Contents.json +2 -2
  193. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveHoverBorder.colorset/Contents.json +6 -6
  194. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveHoverHoverRing.colorset/Contents.json +6 -6
  195. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveHoverSurface.colorset/Contents.json +6 -6
  196. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveHoverText.colorset/Contents.json +5 -5
  197. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActivePressedBorder.colorset/Contents.json +6 -6
  198. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActivePressedSurface.colorset/Contents.json +6 -6
  199. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActivePressedText.colorset/Contents.json +5 -5
  200. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveReadOnlyIcon.colorset/Contents.json +2 -2
  201. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsActiveReadOnlyText.colorset/Contents.json +2 -2
  202. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsInactiveFocusFocusRing.colorset/Contents.json +2 -2
  203. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsInactiveHoverHoverRing.colorset/Contents.json +6 -6
  204. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsInactiveHoverSurface.colorset/Contents.json +6 -6
  205. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/selectorsInactivePressedSurface.colorset/Contents.json +2 -2
  206. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveDefaultHandle.colorset/Contents.json +2 -2
  207. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveDefaultIcon.colorset/Contents.json +2 -2
  208. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveDefaultTrack.colorset/Contents.json +2 -2
  209. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveFocusHandle.colorset/Contents.json +2 -2
  210. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveFocusHandleFocusRing.colorset/Contents.json +4 -4
  211. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveFocusIcon.colorset/Contents.json +2 -2
  212. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveFocusTrack.colorset/Contents.json +2 -2
  213. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveHoverHandle.colorset/Contents.json +5 -5
  214. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveHoverHandleSurface.colorset/Contents.json +6 -6
  215. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveHoverIcon.colorset/Contents.json +5 -5
  216. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActiveHoverTrack.colorset/Contents.json +5 -5
  217. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActivePressedHandle.colorset/Contents.json +5 -5
  218. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActivePressedHandleSurface.colorset/Contents.json +2 -2
  219. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActivePressedIcon.colorset/Contents.json +5 -5
  220. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderActivePressedTrack.colorset/Contents.json +5 -5
  221. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderInactiveDefaultIcon.colorset/Contents.json +2 -2
  222. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderInactiveFocusIcon.colorset/Contents.json +2 -2
  223. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderInactiveHoverIcon.colorset/Contents.json +5 -5
  224. package/tokens/ios/Sources/JumpyTokensJumpy/Tokens.xcassets/sliderInactivePressedIcon.colorset/Contents.json +5 -5
  225. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsBorderlessRegularHoverSurface.colorset/Contents.json +4 -4
  226. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsPrimaryRegularDefaultIcon.colorset/Contents.json +7 -7
  227. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsPrimaryRegularDisabledIcon.colorset/Contents.json +2 -2
  228. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsPrimaryRegularFocusIcon.colorset/Contents.json +7 -7
  229. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsPrimaryRegularHoverIcon.colorset/Contents.json +7 -7
  230. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsPrimaryRegularPressedIcon.colorset/Contents.json +7 -7
  231. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsSecondaryRegularHoverSurface.colorset/Contents.json +4 -4
  232. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/actionsTertiaryRegularHoverSurface.colorset/Contents.json +4 -4
  233. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/cardActiveDefaultSurface.colorset/Contents.json +4 -4
  234. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/cardActiveFocusSurface.colorset/Contents.json +4 -4
  235. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/cardInactiveHoverSurface.colorset/Contents.json +4 -4
  236. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/coachmarkHoverSurface.colorset/Contents.json +4 -4
  237. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/coachmarkPressedOuterCircleSurface.colorset/Contents.json +4 -4
  238. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/colorPrimaryMegalight.colorset/Contents.json +4 -4
  239. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/interactiveInactiveRegularHoverSurface.colorset/Contents.json +4 -4
  240. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/nonInteractiveBackgroundBrand.colorset/Contents.json +4 -4
  241. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/selectorsActiveHoverHoverRing.colorset/Contents.json +4 -4
  242. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/selectorsInactiveHoverHoverRing.colorset/Contents.json +4 -4
  243. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/selectorsInactiveHoverSurface.colorset/Contents.json +4 -4
  244. package/tokens/ios/Sources/JumpyTokensNight/Tokens.xcassets/sliderActiveHoverHandleSurface.colorset/Contents.json +4 -4
  245. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsBorderlessRegularHoverSurface.colorset/Contents.json +4 -4
  246. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsPrimaryRegularDefaultIcon.colorset/Contents.json +7 -7
  247. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsPrimaryRegularDisabledIcon.colorset/Contents.json +2 -2
  248. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsPrimaryRegularFocusIcon.colorset/Contents.json +7 -7
  249. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsPrimaryRegularHoverIcon.colorset/Contents.json +7 -7
  250. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsPrimaryRegularPressedIcon.colorset/Contents.json +7 -7
  251. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsSecondaryRegularHoverSurface.colorset/Contents.json +4 -4
  252. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/actionsTertiaryRegularHoverSurface.colorset/Contents.json +4 -4
  253. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/cardActiveDefaultSurface.colorset/Contents.json +4 -4
  254. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/cardActiveFocusSurface.colorset/Contents.json +4 -4
  255. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/cardInactiveHoverSurface.colorset/Contents.json +4 -4
  256. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/coachmarkHoverSurface.colorset/Contents.json +4 -4
  257. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/coachmarkPressedOuterCircleSurface.colorset/Contents.json +4 -4
  258. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/colorPrimaryMegalight.colorset/Contents.json +4 -4
  259. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/interactiveInactiveRegularHoverSurface.colorset/Contents.json +4 -4
  260. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/nonInteractiveBackgroundBrand.colorset/Contents.json +4 -4
  261. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/selectorsActiveHoverHoverRing.colorset/Contents.json +4 -4
  262. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/selectorsInactiveHoverHoverRing.colorset/Contents.json +4 -4
  263. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/selectorsInactiveHoverSurface.colorset/Contents.json +4 -4
  264. package/tokens/ios/Sources/JumpyTokensSnow/Tokens.xcassets/sliderActiveHoverHandleSurface.colorset/Contents.json +4 -4
  265. package/tokens/web/color-sources.js +1355 -0
  266. package/tokens/web/css/berry/variables.css +20 -20
  267. package/tokens/web/css/berry-dark/variables.css +5 -5
  268. package/tokens/web/css/default/variables.css +20 -20
  269. package/tokens/web/css/default-dark/variables.css +5 -5
  270. package/tokens/web/css/jumpy/variables.css +61 -61
  271. package/tokens/web/css/jumpy-dark/variables.css +162 -162
  272. package/tokens/web/css/jumpy-light/variables.css +61 -61
  273. package/tokens/web/css/night/variables.css +5 -5
  274. package/tokens/web/css/snow/variables.css +20 -20
  275. package/tokens/web/css/snow-dark/variables.css +5 -5
  276. package/tokens/web/js/berry/variables.cjs +20 -20
  277. package/tokens/web/js/berry/variables.js +20 -20
  278. package/tokens/web/js/berry-dark/variables.cjs +5 -5
  279. package/tokens/web/js/berry-dark/variables.js +5 -5
  280. package/tokens/web/js/default/variables.cjs +20 -20
  281. package/tokens/web/js/default/variables.js +20 -20
  282. package/tokens/web/js/default-dark/variables.cjs +5 -5
  283. package/tokens/web/js/default-dark/variables.js +5 -5
  284. package/tokens/web/js/jumpy/variables.cjs +61 -61
  285. package/tokens/web/js/jumpy/variables.js +61 -61
  286. package/tokens/web/js/jumpy-dark/variables.cjs +162 -162
  287. package/tokens/web/js/jumpy-dark/variables.js +162 -162
  288. package/tokens/web/js/jumpy-light/variables.cjs +61 -61
  289. package/tokens/web/js/jumpy-light/variables.js +61 -61
  290. package/tokens/web/js/night/variables.cjs +5 -5
  291. package/tokens/web/js/night/variables.js +5 -5
  292. package/tokens/web/js/snow/variables.cjs +20 -20
  293. package/tokens/web/js/snow/variables.js +20 -20
  294. package/tokens/web/js/snow-dark/variables.cjs +5 -5
  295. package/tokens/web/js/snow-dark/variables.js +5 -5
  296. package/tokens/web/json/berry/flat-variables.json +20 -20
  297. package/tokens/web/json/berry/nested-variables.json +20 -20
  298. package/tokens/web/json/berry/variables.json +20 -20
  299. package/tokens/web/json/berry-dark/flat-variables.json +5 -5
  300. package/tokens/web/json/berry-dark/nested-variables.json +5 -5
  301. package/tokens/web/json/berry-dark/variables.json +5 -5
  302. package/tokens/web/json/default/flat-variables.json +20 -20
  303. package/tokens/web/json/default/nested-variables.json +20 -20
  304. package/tokens/web/json/default/variables.json +20 -20
  305. package/tokens/web/json/default-dark/flat-variables.json +5 -5
  306. package/tokens/web/json/default-dark/nested-variables.json +5 -5
  307. package/tokens/web/json/default-dark/variables.json +5 -5
  308. package/tokens/web/json/jumpy/flat-variables.json +61 -61
  309. package/tokens/web/json/jumpy/nested-variables.json +61 -61
  310. package/tokens/web/json/jumpy/variables.json +61 -61
  311. package/tokens/web/json/jumpy-dark/flat-variables.json +162 -162
  312. package/tokens/web/json/jumpy-dark/nested-variables.json +162 -162
  313. package/tokens/web/json/jumpy-dark/variables.json +162 -162
  314. package/tokens/web/json/jumpy-light/flat-variables.json +61 -61
  315. package/tokens/web/json/jumpy-light/nested-variables.json +61 -61
  316. package/tokens/web/json/jumpy-light/variables.json +61 -61
  317. package/tokens/web/json/night/flat-variables.json +5 -5
  318. package/tokens/web/json/night/nested-variables.json +5 -5
  319. package/tokens/web/json/night/variables.json +5 -5
  320. package/tokens/web/json/snow/flat-variables.json +20 -20
  321. package/tokens/web/json/snow/nested-variables.json +20 -20
  322. package/tokens/web/json/snow/variables.json +20 -20
  323. package/tokens/web/json/snow-dark/flat-variables.json +5 -5
  324. package/tokens/web/json/snow-dark/nested-variables.json +5 -5
  325. package/tokens/web/json/snow-dark/variables.json +5 -5
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  JumpySpacing,
12
12
  JumpyTextStyle,
13
13
  JumpyThemeProvider,
14
+ JumpyThemeScopeContext,
14
15
  animationDelayValue,
15
16
  animationDurationValue,
16
17
  animationEasingValue,
@@ -27,7 +28,7 @@ import {
27
28
  textStyleValue,
28
29
  themeToCSSVariables,
29
30
  useJumpyTheme
30
- } from "./chunk-5QINBZIU.js";
31
+ } from "./chunk-KIZKZXWH.js";
31
32
  import {
32
33
  cn
33
34
  } from "./chunk-3DBKYKP2.js";
@@ -94,8 +95,10 @@ function responsiveValue(value, defaults) {
94
95
  return { small: value, medium: value, large: value, xLarge: value };
95
96
  }
96
97
  function gridSpacingValue(spacing, fallback = "1rem") {
97
- if (Array.isArray(spacing)) return [spacing[0] ?? fallback, spacing[1] ?? fallback];
98
- return [spacing ?? fallback, spacing ?? fallback];
98
+ const length = (value2) => typeof value2 === "number" ? `${value2}px` : value2;
99
+ if (Array.isArray(spacing)) return [length(spacing[0] ?? fallback), length(spacing[1] ?? fallback)];
100
+ const value = length(spacing ?? fallback);
101
+ return [value, value];
99
102
  }
100
103
  function responsiveGridSpacing(spacing) {
101
104
  const defaults = { small: ["1rem", "1rem"], medium: ["1rem", "1rem"], large: ["1.5rem", "1.5rem"], xLarge: ["1.5rem", "1.5rem"] };
@@ -172,28 +175,29 @@ function getButtonVariantStyles(theme, variant, status = "regular") {
172
175
  const variantTokens = theme.actions[variant] || theme.actions.primary;
173
176
  const tokens = variantTokens[status] || variantTokens.regular;
174
177
  const elevated = variant === "primary";
178
+ const token = (state, slot, fallback) => variant === "primary" && status === "regular" ? `var(--jumpy-actions-primary-regular-${state}-${slot}, ${fallback})` : fallback;
175
179
  return {
176
- "--jumpy-action-default-surface": tokens.default.surface,
177
- "--jumpy-action-default-text": tokens.default.text,
178
- "--jumpy-action-default-border": tokens.default.border,
179
- "--jumpy-action-default-icon": tokens.default.icon,
180
- "--jumpy-action-hover-surface": tokens.hover.surface,
181
- "--jumpy-action-hover-text": tokens.hover.text,
182
- "--jumpy-action-hover-icon": tokens.hover.icon,
183
- "--jumpy-action-hover-border": tokens.hover.border,
184
- "--jumpy-action-pressed-surface": tokens.pressed.surface,
185
- "--jumpy-action-pressed-text": tokens.pressed.text,
186
- "--jumpy-action-pressed-icon": tokens.pressed.icon,
187
- "--jumpy-action-pressed-border": tokens.pressed.border,
188
- "--jumpy-action-focus-surface": tokens.focus.surface,
189
- "--jumpy-action-focus-text": tokens.focus.text,
190
- "--jumpy-action-focus-icon": tokens.focus.icon,
191
- "--jumpy-action-focus-border": tokens.focus.border,
192
- "--jumpy-action-focus-ring": tokens.focus.focusRing,
193
- "--jumpy-action-disabled-surface": tokens.disabled.surface,
194
- "--jumpy-action-disabled-text": tokens.disabled.text,
195
- "--jumpy-action-disabled-icon": tokens.disabled.icon,
196
- "--jumpy-action-disabled-border": tokens.disabled.border,
180
+ "--jumpy-action-default-surface": token("default", "surface", tokens.default.surface),
181
+ "--jumpy-action-default-text": token("default", "text", tokens.default.text),
182
+ "--jumpy-action-default-border": token("default", "border", tokens.default.border),
183
+ "--jumpy-action-default-icon": token("default", "icon", tokens.default.icon),
184
+ "--jumpy-action-hover-surface": token("hover", "surface", tokens.hover.surface),
185
+ "--jumpy-action-hover-text": token("hover", "text", tokens.hover.text),
186
+ "--jumpy-action-hover-icon": token("hover", "icon", tokens.hover.icon),
187
+ "--jumpy-action-hover-border": token("hover", "border", tokens.hover.border),
188
+ "--jumpy-action-pressed-surface": token("pressed", "surface", tokens.pressed.surface),
189
+ "--jumpy-action-pressed-text": token("pressed", "text", tokens.pressed.text),
190
+ "--jumpy-action-pressed-icon": token("pressed", "icon", tokens.pressed.icon),
191
+ "--jumpy-action-pressed-border": token("pressed", "border", tokens.pressed.border),
192
+ "--jumpy-action-focus-surface": token("focus", "surface", tokens.focus.surface),
193
+ "--jumpy-action-focus-text": token("focus", "text", tokens.focus.text),
194
+ "--jumpy-action-focus-icon": token("focus", "icon", tokens.focus.icon),
195
+ "--jumpy-action-focus-border": token("focus", "border", tokens.focus.border),
196
+ "--jumpy-action-focus-ring": token("focus", "focus-ring", tokens.focus.focusRing),
197
+ "--jumpy-action-disabled-surface": token("disabled", "surface", tokens.disabled.surface),
198
+ "--jumpy-action-disabled-text": token("disabled", "text", tokens.disabled.text),
199
+ "--jumpy-action-disabled-icon": token("disabled", "icon", tokens.disabled.icon),
200
+ "--jumpy-action-disabled-border": token("disabled", "border", tokens.disabled.border),
197
201
  "--jumpy-action-hover-shadow": "none",
198
202
  "--jumpy-action-focus-shadow": elevated ? shadowValue(theme, JumpyShadowStyle.positiveSmall) : "none",
199
203
  "--jumpy-action-pressed-shadow": "none",
@@ -449,6 +453,7 @@ function getFieldInputStyles(theme, disabled) {
449
453
  }
450
454
  function getFieldShellStyles(theme, disabled, status = "regular", focused = false, readOnly = false) {
451
455
  const outlineWidth = borderWidthValue(theme, focused && !readOnly ? JumpyBorderWidth.medium : JumpyBorderWidth.small);
456
+ const easing = focused && !readOnly ? theme.animation.timeEasingImpulse : theme.animation.timeEasingRelease;
452
457
  return {
453
458
  display: "flex",
454
459
  alignItems: "center",
@@ -469,7 +474,7 @@ function getFieldShellStyles(theme, disabled, status = "regular", focused = fals
469
474
  gap: spacingValue(theme, JumpySpacing.medium),
470
475
  cursor: disabled || readOnly ? "default" : "text",
471
476
  pointerEvents: disabled ? "none" : void 0,
472
- transition: `background-color ${animationDurationValue(theme, JumpyAnimationDuration.smallXS)}s ${theme.animation.timeEasingRelease}, outline-color ${animationDurationValue(theme, JumpyAnimationDuration.smallXS)}s ${theme.animation.timeEasingRelease}, outline-width ${animationDurationValue(theme, JumpyAnimationDuration.smallXS)}s ${theme.animation.timeEasingRelease}`
477
+ transition: `background-color ${animationDurationValue(theme, JumpyAnimationDuration.smallXS)}s ${easing}, outline-color ${animationDurationValue(theme, JumpyAnimationDuration.smallXS)}s ${easing}, outline-width ${animationDurationValue(theme, JumpyAnimationDuration.smallXS)}s ${easing}`
473
478
  };
474
479
  }
475
480
  function renderStandaloneField(theme, disabled, className, style, inputElement, status = "regular", readOnly = false) {
@@ -717,6 +722,7 @@ function JumpListItem({ as, children, className = "", selected = false, disabled
717
722
  style: {
718
723
  ...getListItemStateStyles(theme, selected),
719
724
  display: "grid",
725
+ textAlign: "start",
720
726
  gridTemplateColumns: `${resolvedSelector ? "min-content " : ""}${resolvedLeading ? "min-content " : ""}minmax(0, 1fr) ${resolvedMetadata ? "minmax(0, min-content) " : ""}${resolvedTrailing || hasNestedList ? "min-content" : ""}`,
721
727
  gridTemplateRows: resolvedDescription ? "auto auto" : "auto",
722
728
  alignItems: "center",
@@ -1288,11 +1294,12 @@ function JumpPopover({ open, defaultOpen = false, onOpenChange, trigger, childre
1288
1294
  visible ? /* @__PURE__ */ jsx("div", { role: "dialog", "data-jumpy-component": "popover", style: { position: "absolute", top: `calc(100% + ${spacingValue(theme, JumpySpacing.smallXS)}px)`, left: 0, zIndex: 30, minWidth: 220, borderRadius: radiusValue(theme, JumpyRadius.large), border: `${borderWidthValue(theme, JumpyBorderWidth.small)}px solid ${theme.color.borderSubtle}`, backgroundColor: theme.color.surfaceCard, color: theme.color.textPrimary, boxShadow: theme.shadow.positiveMedium, padding: spacingValue(theme, JumpySpacing.large) }, children }) : null
1289
1295
  ] });
1290
1296
  }
1291
- function JumpMenu({ trigger, open, defaultOpen = false, onOpenChange, header, footer, children, className = "", placement = "bottom-start", ...props }) {
1297
+ function JumpMenu({ trigger, open, defaultOpen = false, onOpenChange, header, footer, children, className = "", placement = "bottom-start", closeOnSelect = true, ...props }) {
1292
1298
  const theme = useJumpyTheme();
1293
1299
  const [internalOpen, setInternalOpen] = useState(defaultOpen);
1294
1300
  const isOpen = open ?? internalOpen;
1295
1301
  const menuRef = useRef(null);
1302
+ const insideEventRef = useRef(null);
1296
1303
  const menuOffset = spacingValue(theme, JumpySpacing.small3XS);
1297
1304
  const menuPadding = spacingValue(theme, JumpySpacing.medium);
1298
1305
  const menuMinWidth = sizeValue(theme, JumpySize.large8XL);
@@ -1369,9 +1376,32 @@ function JumpMenu({ trigger, open, defaultOpen = false, onOpenChange, header, fo
1369
1376
  }
1370
1377
  props.onKeyDown?.(event);
1371
1378
  }
1372
- return /* @__PURE__ */ jsxs("span", { "data-jumpy-component": "menu-root", className: cn(className), style: { display: "inline-flex", ...props.style || {} }, children: [
1379
+ useEffect(() => {
1380
+ if (!isOpen) return void 0;
1381
+ function dismissOutside(event) {
1382
+ if (insideEventRef.current !== event) setOpen(false);
1383
+ }
1384
+ document.addEventListener("pointerdown", dismissOutside);
1385
+ document.addEventListener("focusin", dismissOutside);
1386
+ return () => {
1387
+ document.removeEventListener("pointerdown", dismissOutside);
1388
+ document.removeEventListener("focusin", dismissOutside);
1389
+ };
1390
+ });
1391
+ function markInteractionInside(event) {
1392
+ insideEventRef.current = event.nativeEvent;
1393
+ }
1394
+ function handleMenuClick(event) {
1395
+ props.onClick?.(event);
1396
+ if (!closeOnSelect || event.defaultPrevented) return;
1397
+ const item = event.target.closest?.('[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]');
1398
+ if (!item || item.disabled || item.getAttribute("aria-disabled") === "true" || item.closest("[aria-haspopup]")) return;
1399
+ setOpen(false);
1400
+ refs.domReference.current?.focus?.();
1401
+ }
1402
+ return /* @__PURE__ */ jsxs("span", { "data-jumpy-component": "menu-root", className: cn(className), onPointerDown: markInteractionInside, onFocus: markInteractionInside, style: { display: "inline-flex", ...props.style || {} }, children: [
1373
1403
  /* @__PURE__ */ jsx("span", { ref: refs.setReference, "aria-haspopup": "menu", "aria-expanded": isOpen, tabIndex: 0, onClick: () => setOpen(!isOpen), onKeyDown: handleTriggerKeyDown, children: trigger }),
1374
- isOpen ? /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsxs(
1404
+ isOpen ? /* @__PURE__ */ jsx(JumpyPortal, { children: /* @__PURE__ */ jsxs(
1375
1405
  "div",
1376
1406
  {
1377
1407
  ...props,
@@ -1379,14 +1409,13 @@ function JumpMenu({ trigger, open, defaultOpen = false, onOpenChange, header, fo
1379
1409
  refs.setFloating(node);
1380
1410
  menuRef.current = node;
1381
1411
  },
1382
- "data-jumpy-theme": "true",
1383
1412
  "data-jumpy-component": "menu",
1384
1413
  role: "menu",
1414
+ onClick: handleMenuClick,
1385
1415
  onKeyDown: handleMenuKeyDown,
1386
1416
  style: {
1387
- ...themeToCSSVariables(theme),
1388
1417
  ...floatingStyles,
1389
- zIndex: 1e3,
1418
+ zIndex: JUMPY_POPUP_Z_INDEX,
1390
1419
  maxWidth: "min(420px, calc(100vw - 32px))",
1391
1420
  overflowY: "auto",
1392
1421
  ...props.style || {}
@@ -1987,13 +2016,19 @@ function JumpExpandableGroup({ as, multiple = false, disabled = false, headingLe
1987
2016
  ] }, child.key || index);
1988
2017
  }) });
1989
2018
  }
2019
+ var JUMPY_POPUP_Z_INDEX = 1200;
2020
+ function JumpyPortal({ children }) {
2021
+ const theme = useJumpyTheme();
2022
+ const scope = useContext(JumpyThemeScopeContext);
2023
+ return /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsx("div", { "data-jumpy-theme": "true", "data-jumpy-scope": scope || void 0, "data-jumpy-portal": "true", style: { ...!scope ? themeToCSSVariables(theme) : {}, fontFamily: theme.fontFamily.familyBase }, children }) });
2024
+ }
1990
2025
  function JumpyModalLayer({ children, onVisibleChange, style, onPointerDown, ...props }) {
1991
2026
  const theme = useJumpyTheme();
1992
2027
  const { refs, context } = useFloating({ open: true, onOpenChange: onVisibleChange });
1993
- return /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsx(FloatingOverlay, { ...props, lockScroll: true, "data-jumpy-theme": "true", onPointerDown: (event) => {
2028
+ return /* @__PURE__ */ jsx(JumpyPortal, { children: /* @__PURE__ */ jsx(FloatingOverlay, { ...props, lockScroll: true, onPointerDown: (event) => {
1994
2029
  onPointerDown?.(event);
1995
2030
  if (event.target === event.currentTarget) event.preventDefault();
1996
- }, style: { ...themeToCSSVariables(theme), ...style }, children: /* @__PURE__ */ jsx(FloatingFocusManager, { context, outsideElementsInert: true, restoreFocus: true, children: cloneElement(children, {
2031
+ }, style, children: /* @__PURE__ */ jsx(FloatingFocusManager, { context, outsideElementsInert: true, restoreFocus: true, children: cloneElement(children, {
1997
2032
  ref: refs.setFloating,
1998
2033
  tabIndex: -1,
1999
2034
  onKeyDown(event) {
@@ -2468,6 +2503,7 @@ function JumpDatePicker({ label = "Date", hint, value, defaultValue = null, onCh
2468
2503
  "aria-haspopup": "dialog",
2469
2504
  readOnly,
2470
2505
  disabled,
2506
+ "data-has-value": selectedTime !== null,
2471
2507
  value: draft,
2472
2508
  placeholder: props.placeholder || (Array.isArray(format) ? format[0] : format),
2473
2509
  autoComplete: "off",
@@ -2504,7 +2540,7 @@ function JumpDatePicker({ label = "Date", hint, value, defaultValue = null, onCh
2504
2540
  }
2505
2541
  }
2506
2542
  ) }),
2507
- isOpen && !disabled && !readOnly ? /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsxs("div", { ref: refs.setFloating, role: "dialog", "aria-label": label, "data-jumpy-theme": "true", style: { ...themeToCSSVariables(theme), ...floatingStyles, zIndex: 1e3, width: sizeValue(theme, JumpySize.large8XL) * 2.5, maxWidth: "calc(100vw - 32px)", overflow: "visible", borderRadius: radiusValue(theme, JumpyRadius.smallXS), backgroundColor: "var(--jumpy-card-inactive-default-surface, var(--jumpy-color-surface-card))", color: "var(--jumpy-card-inactive-default-text, var(--jumpy-color-text-primary))", boxShadow: theme.shadow.positiveMedium, padding: `${spacingValue(theme, JumpySpacing.small3XS)}px 0` }, children: [
2543
+ isOpen && !disabled && !readOnly ? /* @__PURE__ */ jsx(JumpyPortal, { children: /* @__PURE__ */ jsxs("div", { ref: refs.setFloating, role: "dialog", "aria-label": label, style: { ...floatingStyles, zIndex: JUMPY_POPUP_Z_INDEX, width: sizeValue(theme, JumpySize.large8XL) * 2.5, maxWidth: "calc(100vw - 32px)", overflow: "visible", borderRadius: radiusValue(theme, JumpyRadius.smallXS), backgroundColor: "var(--jumpy-card-inactive-default-surface, var(--jumpy-color-surface-card))", color: "var(--jumpy-card-inactive-default-text, var(--jumpy-color-text-primary))", boxShadow: theme.shadow.positiveMedium, padding: `${spacingValue(theme, JumpySpacing.small3XS)}px 0` }, children: [
2508
2544
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: spacingValue(theme, JumpySpacing.medium), padding: spacingValue(theme, JumpySpacing.small3XS) }, children: [
2509
2545
  /* @__PURE__ */ jsx(JumpIconButton, { variant: "borderless", "aria-label": "Previous", onClick: () => setViewDate(new Date(viewDate.getFullYear(), viewDate.getMonth() - 1, 1)), children: "\u2039" }),
2510
2546
  /* @__PURE__ */ jsx("strong", { style: { fontFamily: theme.fontFamily.familyBase, color: "inherit" }, children: viewDate.toLocaleDateString(void 0, { month: "long", year: "numeric" }) }),
@@ -2589,6 +2625,7 @@ function JumpTimePicker({ label = "Time", hint, value, defaultValue = null, onCh
2589
2625
  "aria-haspopup": "dialog",
2590
2626
  readOnly,
2591
2627
  disabled,
2628
+ "data-has-value": selectedTime !== null,
2592
2629
  value: draft,
2593
2630
  placeholder: props.placeholder || resolvedFormat,
2594
2631
  autoComplete: "off",
@@ -2625,7 +2662,7 @@ function JumpTimePicker({ label = "Time", hint, value, defaultValue = null, onCh
2625
2662
  }
2626
2663
  }
2627
2664
  ) }),
2628
- isOpen && !disabled && !readOnly ? /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsxs("div", { ref: refs.setFloating, role: "dialog", "aria-label": label, "data-jumpy-theme": "true", style: { ...themeToCSSVariables(theme), ...floatingStyles, zIndex: 1e3, overflow: "visible", borderRadius: radiusValue(theme, JumpyRadius.smallXS), backgroundColor: `var(--jumpy-non-interactive-background-alternative, var(--jumpy-color-non-interactive-background-alternative, ${theme.color.surfaceCard}))`, color: "var(--jumpy-card-inactive-default-text, var(--jumpy-color-text-primary))", boxShadow: theme.shadow.positiveMedium, padding: `${spacingValue(theme, JumpySpacing.small3XS)}px 0`, minWidth: 260 }, children: [
2665
+ isOpen && !disabled && !readOnly ? /* @__PURE__ */ jsx(JumpyPortal, { children: /* @__PURE__ */ jsxs("div", { ref: refs.setFloating, role: "dialog", "aria-label": label, style: { ...floatingStyles, zIndex: JUMPY_POPUP_Z_INDEX, overflow: "visible", borderRadius: radiusValue(theme, JumpyRadius.smallXS), backgroundColor: `var(--jumpy-non-interactive-background-alternative, var(--jumpy-color-non-interactive-background-alternative, ${theme.color.surfaceCard}))`, color: "var(--jumpy-card-inactive-default-text, var(--jumpy-color-text-primary))", boxShadow: theme.shadow.positiveMedium, padding: `${spacingValue(theme, JumpySpacing.small3XS)}px 0`, minWidth: 260 }, children: [
2629
2666
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", position: "relative", justifyContent: "center", alignItems: "center", gap: spacingValue(theme, JumpySpacing.small), padding: `${spacingValue(theme, JumpySpacing.zero)}px ${spacingValue(theme, JumpySpacing.zero)}px`, overflow: "hidden" }, children: [
2630
2667
  /* @__PURE__ */ jsx("div", { "aria-hidden": "true", style: { position: "absolute", left: 0, right: 0, top: "50%", height: sizeValue(theme, JumpySize.medium), transform: "translateY(-50%)", backgroundColor: "var(--jumpy-interactive-active-regular-default-surface)", pointerEvents: "none" } }),
2631
2668
  /* @__PURE__ */ jsx(TimeColumn, { label: "Hour", values: hours, selected: String(displayHour).padStart(2, "0"), onSelect: (next) => commit("hour", next), theme }),
@@ -2809,19 +2846,17 @@ function JumpDropdown({ label, hint, value, defaultValue = [], onChange, open, o
2809
2846
  setSearchValue("");
2810
2847
  onClear?.();
2811
2848
  }, className, trailing, children: triggerInput });
2812
- const listbox = isOpen && !disabled ? /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsxs(
2849
+ const listbox = isOpen && !disabled ? /* @__PURE__ */ jsx(JumpyPortal, { children: /* @__PURE__ */ jsxs(
2813
2850
  "div",
2814
2851
  {
2815
2852
  ref: refs.setFloating,
2816
2853
  id: `${triggerId}-listbox`,
2817
2854
  role: "listbox",
2818
2855
  "aria-multiselectable": multiple || void 0,
2819
- "data-jumpy-theme": "true",
2820
2856
  "data-jumpy-component": "dropdown-popover",
2821
2857
  style: {
2822
- ...themeToCSSVariables(theme),
2823
2858
  ...floatingStyles,
2824
- zIndex: 1e3,
2859
+ zIndex: JUMPY_POPUP_Z_INDEX,
2825
2860
  overflowX: "hidden",
2826
2861
  overflowY: "auto",
2827
2862
  borderRadius: radiusValue(theme, JumpyRadius.large),
@@ -3352,11 +3387,11 @@ function JumpBaseInput({ label, hint, children, className = "", error = false, h
3352
3387
  },
3353
3388
  onBlur: (event) => {
3354
3389
  setFocused(false);
3355
- setHasValue(isDropdown || Boolean(String(event.target?.value ?? "").length));
3390
+ setHasValue(childHasValue || Boolean(String(event.target?.value ?? "").length));
3356
3391
  originalOnBlur?.(event);
3357
3392
  },
3358
3393
  onChange: (event) => {
3359
- setHasValue(isDropdown || Boolean(String(event.target?.value ?? "").length));
3394
+ setHasValue(childHasValue || Boolean(String(event.target?.value ?? "").length));
3360
3395
  setInputValue(String(event.target?.value ?? ""));
3361
3396
  originalOnChange?.(event);
3362
3397
  }
@@ -3385,6 +3420,13 @@ function JumpBaseInput({ label, hint, children, className = "", error = false, h
3385
3420
  "data-readonly": readOnly ? "true" : "false",
3386
3421
  "data-status": status,
3387
3422
  "data-testid": props["data-testid"],
3423
+ onMouseDown: (event) => {
3424
+ const control = document.getElementById(child.props.id || fieldId);
3425
+ const interactive = event.target.closest("input, textarea, select, button, a, [tabindex]");
3426
+ if (disabled || !control || event.button !== 0 || interactive && event.currentTarget.contains(interactive)) return;
3427
+ event.preventDefault();
3428
+ control.focus();
3429
+ },
3388
3430
  style: {
3389
3431
  ...getFieldShellStyles(theme, disabled, status, focused, readOnly),
3390
3432
  alignItems: isTextarea ? "flex-start" : "center",
@@ -3591,7 +3633,8 @@ function JumpTabs({ items, value, onChange, className = "" }) {
3591
3633
  const scrollRef = useRef(null);
3592
3634
  const indicatorRef = useRef(null);
3593
3635
  const tabRefs = useRef(/* @__PURE__ */ new Map());
3594
- useEffect(() => {
3636
+ const placeIndicatorRef = useRef(null);
3637
+ placeIndicatorRef.current = (animate) => {
3595
3638
  const selectedTab = tabRefs.current.get(value);
3596
3639
  const scrollContainer = scrollRef.current;
3597
3640
  const indicator = indicatorRef.current;
@@ -3605,10 +3648,37 @@ function JumpTabs({ items, value, onChange, className = "" }) {
3605
3648
  const insetRight = Number.parseFloat(tabStyles.paddingRight) + (contentStyles ? Number.parseFloat(contentStyles.paddingRight) : 0);
3606
3649
  const x = tabBounds.left - containerBounds.left + scrollContainer.scrollLeft + insetLeft;
3607
3650
  const width = tabBounds.width - insetLeft - insetRight;
3651
+ if (!animate) indicator.style.transition = "none";
3608
3652
  indicator.style.setProperty("--jumpy-cmp-tabs-indicator-x", `${x}px`);
3609
3653
  indicator.style.setProperty("--jumpy-cmp-tabs-indicator-width", `${width}px`);
3610
3654
  indicator.style.setProperty("--jumpy-cmp-tabs-indicator-opacity", "1");
3655
+ if (!animate) {
3656
+ indicator.getBoundingClientRect();
3657
+ indicator.style.transition = "";
3658
+ }
3659
+ };
3660
+ const indicatorPlacedRef = useRef(false);
3661
+ useLayoutEffect(() => {
3662
+ placeIndicatorRef.current(indicatorPlacedRef.current);
3663
+ indicatorPlacedRef.current = true;
3611
3664
  }, [items, value]);
3665
+ useEffect(() => {
3666
+ const scrollContainer = scrollRef.current;
3667
+ if (!scrollContainer || typeof ResizeObserver === "undefined") return void 0;
3668
+ const sizes = /* @__PURE__ */ new WeakMap();
3669
+ const observer = new ResizeObserver((entries) => {
3670
+ let resized = false;
3671
+ entries.forEach(({ target, contentRect }) => {
3672
+ const size2 = `${contentRect.width}x${contentRect.height}`;
3673
+ if (sizes.has(target) && sizes.get(target) !== size2) resized = true;
3674
+ sizes.set(target, size2);
3675
+ });
3676
+ if (resized) placeIndicatorRef.current(false);
3677
+ });
3678
+ observer.observe(scrollContainer);
3679
+ tabRefs.current.forEach((tab) => observer.observe(tab));
3680
+ return () => observer.disconnect();
3681
+ }, [items]);
3612
3682
  return /* @__PURE__ */ jsx("div", { className, "data-jumpy-component": "tabs", children: /* @__PURE__ */ jsxs("div", { ref: scrollRef, "data-jumpy-slot": "tabs-scroll-container", role: "tablist", "aria-orientation": "horizontal", tabIndex: -1, children: [
3613
3683
  items.map((item) => {
3614
3684
  const active = item.key === value;
package/dist/theme.js CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  JumpySpacing,
12
12
  JumpyTextStyle,
13
13
  JumpyThemeProvider,
14
+ JumpyThemeScopeContext,
14
15
  animationDelayValue,
15
16
  animationDurationValue,
16
17
  animationEasingValue,
@@ -27,7 +28,7 @@ import {
27
28
  textStyleValue,
28
29
  themeToCSSVariables,
29
30
  useJumpyTheme
30
- } from "./chunk-5QINBZIU.js";
31
+ } from "./chunk-KIZKZXWH.js";
31
32
  export {
32
33
  JumpyAnimation,
33
34
  JumpyAnimationDelay,
@@ -40,6 +41,7 @@ export {
40
41
  JumpySpacing,
41
42
  JumpyTextStyle,
42
43
  JumpyThemeProvider,
44
+ JumpyThemeScopeContext,
43
45
  animationDelayValue,
44
46
  animationDurationValue,
45
47
  animationEasingValue,
package/index.d.ts CHANGED
@@ -71,7 +71,7 @@ export declare function JumpSkeletonLoader(props: HTMLAttributes<HTMLElement> &
71
71
  export declare const JumpSearchField: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & { label?: string } & import('react').RefAttributes<HTMLInputElement>>
72
72
  export declare function JumpTooltip(props: HTMLAttributes<HTMLSpanElement> & { content: ReactNode; children: ReactNode }): ReactNode
73
73
  export declare function JumpPopover(props: HTMLAttributes<HTMLSpanElement> & { open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; trigger: ReactNode; children: ReactNode }): ReactNode
74
- export declare function JumpMenu(props: HTMLAttributes<HTMLDivElement> & { trigger: ReactNode; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; header?: ReactNode; footer?: ReactNode; placement?: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'; children: ReactNode }): ReactNode
74
+ export declare function JumpMenu(props: HTMLAttributes<HTMLDivElement> & { trigger: ReactNode; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; closeOnSelect?: boolean; header?: ReactNode; footer?: ReactNode; placement?: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'; children: ReactNode }): ReactNode
75
75
  export declare function JumpMenuItem(props: HTMLAttributes<HTMLElement> & { as?: ElementTag; children: ReactNode; selected?: boolean; disabled?: boolean; readOnly?: boolean; focusedView?: boolean; leading?: ReactNode; trailing?: ReactNode; metadata?: ReactNode; description?: ReactNode; slots?: JumpListItemSlots; nestedMenu?: ReactNode }): ReactNode
76
76
  export type JumpToggleButtonValue = string | number
77
77
  export declare function JumpToggleButton(props: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> & { as?: ElementTag; selected?: boolean; value?: JumpToggleButtonValue; onChange?: (selected: boolean) => void; leading?: ReactNode | ((state: { selected: boolean }) => ReactNode); children?: ReactNode }): ReactNode
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mario_hahn/jumpy-ui",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
package/theme.d.ts CHANGED
@@ -43,5 +43,5 @@ export declare function animationEasingValue(theme: Required<JumpyTheme>, token:
43
43
  export declare function shadowValue(theme: Required<JumpyTheme>, token: string): string
44
44
  export declare function textStyleValue(theme: Required<JumpyTheme>, token: string): Record<string, unknown>
45
45
  export declare function themeToCSSVariables(theme?: JumpyTheme): Record<string, string>
46
- export declare function JumpyThemeProvider(props: { theme?: JumpyTheme; children: ReactNode }): ReactNode
46
+ export declare function JumpyThemeProvider(props: { theme?: JumpyTheme; tokens?: Record<`--jumpy-${string}`, string | number>; children: ReactNode }): ReactNode
47
47
  export declare function useJumpyTheme(): Required<JumpyTheme>
@@ -256,7 +256,7 @@ object JumpyBerryTokens {
256
256
  val colorPrimaryExtralight: Color = jumpyColor("#338F3D7A")
257
257
  val colorPrimaryLight: Color = jumpyColor("#FFDDEABE")
258
258
  val colorPrimaryLightbase: Color = jumpyColor("#FFC86CAF")
259
- val colorPrimaryMegalight: Color = jumpyColor("#FFF9FCF4")
259
+ val colorPrimaryMegalight: Color = jumpyColor("#148F3D7A")
260
260
  val colorPrimaryUltralight: Color = jumpyColor("#148F3D7A")
261
261
  val colorSecondary100: Color = jumpyColor("#FFFFF9F4")
262
262
  val colorSecondary200: Color = jumpyColor("#FFFFF3E8")
@@ -350,7 +350,7 @@ object JumpyBerryTokens {
350
350
  val actionsBorderlessRegularHoverBorder: Color = jumpyColor("#00FFFFFF")
351
351
  val actionsBorderlessRegularHoverFocus: Color = jumpyColor("#00FFFFFF")
352
352
  val actionsBorderlessRegularHoverIcon: Color = jumpyColor("#FF8F3D7A")
353
- val actionsBorderlessRegularHoverSurface: Color = jumpyColor("#FFF9FCF4")
353
+ val actionsBorderlessRegularHoverSurface: Color = jumpyColor("#148F3D7A")
354
354
  val actionsBorderlessRegularHoverSurfaceAlternate: Color = jumpyColor("#148F3D7A")
355
355
  val actionsBorderlessRegularHoverText: Color = jumpyColor("#FF8F3D7A")
356
356
  val actionsBorderlessRegularPressedAction: Color = jumpyColor("#FF343434")
@@ -404,25 +404,25 @@ object JumpyBerryTokens {
404
404
  val actionsPrimaryInfoPressedSurface: Color = jumpyColor("#FFF6F6F6")
405
405
  val actionsPrimaryInfoPressedText: Color = jumpyColor("#FF000000")
406
406
  val actionsPrimaryRegularDefaultBorder: Color = jumpyColor("#FF8F3D7A")
407
- val actionsPrimaryRegularDefaultIcon: Color = jumpyColor("#FFF9FCF4")
407
+ val actionsPrimaryRegularDefaultIcon: Color = jumpyColor("#FFFFFFFF")
408
408
  val actionsPrimaryRegularDefaultSurface: Color = jumpyColor("#FF8F3D7A")
409
409
  val actionsPrimaryRegularDefaultText: Color = jumpyColor("#FFFFFFFF")
410
410
  val actionsPrimaryRegularDisabledBorder: Color = jumpyColor("#FFF7EEF7")
411
- val actionsPrimaryRegularDisabledIcon: Color = jumpyColor("#26575B5E")
411
+ val actionsPrimaryRegularDisabledIcon: Color = jumpyColor("#FF6F5A6B")
412
412
  val actionsPrimaryRegularDisabledSurface: Color = jumpyColor("#FFF7EEF7")
413
413
  val actionsPrimaryRegularDisabledSurfaceAlternate: Color = jumpyColor("#FFF6F6F6")
414
414
  val actionsPrimaryRegularDisabledText: Color = jumpyColor("#FF6F5A6B")
415
415
  val actionsPrimaryRegularFocusBorder: Color = jumpyColor("#FF8F3D7A")
416
416
  val actionsPrimaryRegularFocusFocusRing: Color = jumpyColor("#FF8F3D7A")
417
- val actionsPrimaryRegularFocusIcon: Color = jumpyColor("#FFF9FCF4")
417
+ val actionsPrimaryRegularFocusIcon: Color = jumpyColor("#FFFFFFFF")
418
418
  val actionsPrimaryRegularFocusSurface: Color = jumpyColor("#FF8F3D7A")
419
419
  val actionsPrimaryRegularFocusText: Color = jumpyColor("#FFFFFFFF")
420
420
  val actionsPrimaryRegularHoverBorder: Color = jumpyColor("#FF8F3D7A")
421
- val actionsPrimaryRegularHoverIcon: Color = jumpyColor("#FFF9FCF4")
421
+ val actionsPrimaryRegularHoverIcon: Color = jumpyColor("#FFFFFFFF")
422
422
  val actionsPrimaryRegularHoverSurface: Color = jumpyColor("#FF7A3268")
423
423
  val actionsPrimaryRegularHoverText: Color = jumpyColor("#FFFFFFFF")
424
424
  val actionsPrimaryRegularPressedBorder: Color = jumpyColor("#FF8F3D7A")
425
- val actionsPrimaryRegularPressedIcon: Color = jumpyColor("#FFF9FCF4")
425
+ val actionsPrimaryRegularPressedIcon: Color = jumpyColor("#FFFFFFFF")
426
426
  val actionsPrimaryRegularPressedSurface: Color = jumpyColor("#FF8F3D7A")
427
427
  val actionsPrimaryRegularPressedText: Color = jumpyColor("#FFFFFFFF")
428
428
  val actionsPrimaryWarningDefaultBorder: Color = jumpyColor("#FF1A1C1F")
@@ -493,7 +493,7 @@ object JumpyBerryTokens {
493
493
  val actionsSecondaryRegularHoverAction: Color = jumpyColor("#FF343434")
494
494
  val actionsSecondaryRegularHoverBorder: Color = jumpyColor("#FF575B5E")
495
495
  val actionsSecondaryRegularHoverIcon: Color = jumpyColor("#FF8F3D7A")
496
- val actionsSecondaryRegularHoverSurface: Color = jumpyColor("#FFF9FCF4")
496
+ val actionsSecondaryRegularHoverSurface: Color = jumpyColor("#148F3D7A")
497
497
  val actionsSecondaryRegularHoverSurfaceAlternate: Color = jumpyColor("#148F3D7A")
498
498
  val actionsSecondaryRegularHoverText: Color = jumpyColor("#FF8F3D7A")
499
499
  val actionsSecondaryRegularPressedAction: Color = jumpyColor("#FF343434")
@@ -554,7 +554,7 @@ object JumpyBerryTokens {
554
554
  val actionsTertiaryRegularHoverBorder: Color = jumpyColor("#00FFFFFF")
555
555
  val actionsTertiaryRegularHoverFocus: Color = jumpyColor("#00FFFFFF")
556
556
  val actionsTertiaryRegularHoverIcon: Color = jumpyColor("#FF8F3D7A")
557
- val actionsTertiaryRegularHoverSurface: Color = jumpyColor("#FFF9FCF4")
557
+ val actionsTertiaryRegularHoverSurface: Color = jumpyColor("#148F3D7A")
558
558
  val actionsTertiaryRegularHoverSurfaceAlternate: Color = jumpyColor("#148F3D7A")
559
559
  val actionsTertiaryRegularHoverText: Color = jumpyColor("#FF8F3D7A")
560
560
  val actionsTertiaryRegularPressedAction: Color = jumpyColor("#FF343434")
@@ -566,7 +566,7 @@ object JumpyBerryTokens {
566
566
  val cardActiveDefaultBorder: Color = jumpyColor("#26575B5E")
567
567
  val cardActiveDefaultIcon: Color = jumpyColor("#FF575B5E")
568
568
  val cardActiveDefaultSubtext: Color = jumpyColor("#FF241A23")
569
- val cardActiveDefaultSurface: Color = jumpyColor("#FFF9FCF4")
569
+ val cardActiveDefaultSurface: Color = jumpyColor("#148F3D7A")
570
570
  val cardActiveDefaultText: Color = jumpyColor("#FF343434")
571
571
  val cardActiveDisabledBorder: Color = jumpyColor("#FFF7EEF7")
572
572
  val cardActiveDisabledIcon: Color = jumpyColor("#26575B5E")
@@ -582,7 +582,7 @@ object JumpyBerryTokens {
582
582
  val cardActiveFocusFocusRing: Color = jumpyColor("#FF8F3D7A")
583
583
  val cardActiveFocusIcon: Color = jumpyColor("#FF575B5E")
584
584
  val cardActiveFocusSubtext: Color = jumpyColor("#FF241A23")
585
- val cardActiveFocusSurface: Color = jumpyColor("#FFF9FCF4")
585
+ val cardActiveFocusSurface: Color = jumpyColor("#148F3D7A")
586
586
  val cardActiveFocusText: Color = jumpyColor("#FF343434")
587
587
  val cardActiveHoverBorder: Color = jumpyColor("#FFC86CAF")
588
588
  val cardActiveHoverIcon: Color = jumpyColor("#FF575B5E")
@@ -618,7 +618,7 @@ object JumpyBerryTokens {
618
618
  val cardInactiveHoverBorder: Color = jumpyColor("#FFC86CAF")
619
619
  val cardInactiveHoverIcon: Color = jumpyColor("#FF575B5E")
620
620
  val cardInactiveHoverSubtext: Color = jumpyColor("#FF241A23")
621
- val cardInactiveHoverSurface: Color = jumpyColor("#FFF9FCF4")
621
+ val cardInactiveHoverSurface: Color = jumpyColor("#148F3D7A")
622
622
  val cardInactiveHoverText: Color = jumpyColor("#FF343434")
623
623
  val cardInactivePressedBorder: Color = jumpyColor("#FF8F3D7A")
624
624
  val cardInactivePressedIcon: Color = jumpyColor("#FF575B5E")
@@ -641,10 +641,10 @@ object JumpyBerryTokens {
641
641
  val coachmarkHoverInnerCircleOutline: Color = jumpyColor("#FF8F3D7A")
642
642
  val coachmarkHoverInnerCircleSurface: Color = jumpyColor("#FFFFFFFF")
643
643
  val coachmarkHoverOuterCircleSurface: Color = jumpyColor("#148F3D7A")
644
- val coachmarkHoverSurface: Color = jumpyColor("#FFF9FCF4")
644
+ val coachmarkHoverSurface: Color = jumpyColor("#148F3D7A")
645
645
  val coachmarkPressedInnerCircleOutline: Color = jumpyColor("#FF8F3D7A")
646
646
  val coachmarkPressedInnerCircleSurface: Color = jumpyColor("#FFFFFFFF")
647
- val coachmarkPressedOuterCircleSurface: Color = jumpyColor("#FFF9FCF4")
647
+ val coachmarkPressedOuterCircleSurface: Color = jumpyColor("#148F3D7A")
648
648
  val coachmarkPressedSurface: Color = jumpyColor("#148F3D7A")
649
649
  val inputAlarmDefaultAlarmIcon: Color = jumpyColor("#FFDC2626")
650
650
  val inputAlarmDefaultBorder: Color = jumpyColor("#FFDC2626")
@@ -807,7 +807,7 @@ object JumpyBerryTokens {
807
807
  val interactiveInactiveRegularHoverBorder: Color = jumpyColor("#FF6F5A6B")
808
808
  val interactiveInactiveRegularHoverIcon: Color = jumpyColor("#FF343434")
809
809
  val interactiveInactiveRegularHoverSubtext: Color = jumpyColor("#FF575B5E")
810
- val interactiveInactiveRegularHoverSurface: Color = jumpyColor("#FFF9FCF4")
810
+ val interactiveInactiveRegularHoverSurface: Color = jumpyColor("#148F3D7A")
811
811
  val interactiveInactiveRegularHoverSurfaceAlternate: Color = jumpyColor("#148F3D7A")
812
812
  val interactiveInactiveRegularHoverText: Color = jumpyColor("#FF343434")
813
813
  val interactiveInactiveRegularPressedBorder: Color = jumpyColor("#FF737373")
@@ -818,7 +818,7 @@ object JumpyBerryTokens {
818
818
  val nonInteractiveBackgroundAlternative: Color = jumpyColor("#FFFFFFFF")
819
819
  val nonInteractiveBackgroundAlternativeFloating: Color = jumpyColor("#FFFFFFFF")
820
820
  val nonInteractiveBackgroundAlternativeRaised: Color = jumpyColor("#FFF6F6F6")
821
- val nonInteractiveBackgroundBrand: Color = jumpyColor("#FFF9FCF4")
821
+ val nonInteractiveBackgroundBrand: Color = jumpyColor("#148F3D7A")
822
822
  val nonInteractiveBackgroundDefault: Color = jumpyColor("#FFF5F5F2")
823
823
  val nonInteractiveBackgroundDefaultFloating: Color = jumpyColor("#FFFFFFFF")
824
824
  val nonInteractiveBackgroundDefaultRaised: Color = jumpyColor("#FFFFFFFF")
@@ -842,7 +842,7 @@ object JumpyBerryTokens {
842
842
  val selectorsActiveFocusText: Color = jumpyColor("#FF8F3D7A")
843
843
  val selectorsActiveHoverBorder: Color = jumpyColor("#FFC86CAF")
844
844
  val selectorsActiveHoverHandle: Color = jumpyColor("#FFFFFFFF")
845
- val selectorsActiveHoverHoverRing: Color = jumpyColor("#FFF9FCF4")
845
+ val selectorsActiveHoverHoverRing: Color = jumpyColor("#148F3D7A")
846
846
  val selectorsActiveHoverIcon: Color = jumpyColor("#FFFFFFFF")
847
847
  val selectorsActiveHoverSurface: Color = jumpyColor("#FFC86CAF")
848
848
  val selectorsActiveHoverText: Color = jumpyColor("#FF8F3D7A")
@@ -874,9 +874,9 @@ object JumpyBerryTokens {
874
874
  val selectorsInactiveFocusText: Color = jumpyColor("#FF343434")
875
875
  val selectorsInactiveHoverBorder: Color = jumpyColor("#FF575B5E")
876
876
  val selectorsInactiveHoverHandle: Color = jumpyColor("#FF575B5E")
877
- val selectorsInactiveHoverHoverRing: Color = jumpyColor("#FFF9FCF4")
877
+ val selectorsInactiveHoverHoverRing: Color = jumpyColor("#148F3D7A")
878
878
  val selectorsInactiveHoverIcon: Color = jumpyColor("#FF575B5E")
879
- val selectorsInactiveHoverSurface: Color = jumpyColor("#FFF9FCF4")
879
+ val selectorsInactiveHoverSurface: Color = jumpyColor("#148F3D7A")
880
880
  val selectorsInactiveHoverText: Color = jumpyColor("#FF343434")
881
881
  val selectorsInactivePressedBorder: Color = jumpyColor("#FF6F5A6B")
882
882
  val selectorsInactivePressedHandle: Color = jumpyColor("#FF575B5E")
@@ -908,7 +908,7 @@ object JumpyBerryTokens {
908
908
  val sliderActiveFocusStopText: Color = jumpyColor("#FF343434")
909
909
  val sliderActiveFocusTrack: Color = jumpyColor("#FF8F3D7A")
910
910
  val sliderActiveHoverHandle: Color = jumpyColor("#FF8F3D7A")
911
- val sliderActiveHoverHandleSurface: Color = jumpyColor("#FFF9FCF4")
911
+ val sliderActiveHoverHandleSurface: Color = jumpyColor("#148F3D7A")
912
912
  val sliderActiveHoverIcon: Color = jumpyColor("#FF8F3D7A")
913
913
  val sliderActiveHoverStopDot: Color = jumpyColor("#26575B5E")
914
914
  val sliderActiveHoverStopText: Color = jumpyColor("#FF343434")
@@ -404,25 +404,25 @@ object JumpyBerryDarkTokens {
404
404
  val actionsPrimaryInfoPressedSurface: Color = jumpyColor("#FF949494")
405
405
  val actionsPrimaryInfoPressedText: Color = jumpyColor("#FFFFFFFF")
406
406
  val actionsPrimaryRegularDefaultBorder: Color = jumpyColor("#FFC86CAF")
407
- val actionsPrimaryRegularDefaultIcon: Color = jumpyColor("#1FC86CAF")
407
+ val actionsPrimaryRegularDefaultIcon: Color = jumpyColor("#FF000000")
408
408
  val actionsPrimaryRegularDefaultSurface: Color = jumpyColor("#FFD881BE")
409
409
  val actionsPrimaryRegularDefaultText: Color = jumpyColor("#FF000000")
410
410
  val actionsPrimaryRegularDisabledBorder: Color = jumpyColor("#FF2B1E2F")
411
- val actionsPrimaryRegularDisabledIcon: Color = jumpyColor("#24C8B2C2")
411
+ val actionsPrimaryRegularDisabledIcon: Color = jumpyColor("#FFC8B2C2")
412
412
  val actionsPrimaryRegularDisabledSurface: Color = jumpyColor("#24C8B2C2")
413
413
  val actionsPrimaryRegularDisabledSurfaceAlternate: Color = jumpyColor("#FF1A1A1A")
414
414
  val actionsPrimaryRegularDisabledText: Color = jumpyColor("#FFC8B2C2")
415
415
  val actionsPrimaryRegularFocusBorder: Color = jumpyColor("#FFC86CAF")
416
416
  val actionsPrimaryRegularFocusFocusRing: Color = jumpyColor("#FFC86CAF")
417
- val actionsPrimaryRegularFocusIcon: Color = jumpyColor("#1FC86CAF")
417
+ val actionsPrimaryRegularFocusIcon: Color = jumpyColor("#FF000000")
418
418
  val actionsPrimaryRegularFocusSurface: Color = jumpyColor("#FFD881BE")
419
419
  val actionsPrimaryRegularFocusText: Color = jumpyColor("#FF000000")
420
420
  val actionsPrimaryRegularHoverBorder: Color = jumpyColor("#FFC86CAF")
421
- val actionsPrimaryRegularHoverIcon: Color = jumpyColor("#1FC86CAF")
421
+ val actionsPrimaryRegularHoverIcon: Color = jumpyColor("#FF000000")
422
422
  val actionsPrimaryRegularHoverSurface: Color = jumpyColor("#FFC86CAF")
423
423
  val actionsPrimaryRegularHoverText: Color = jumpyColor("#FF000000")
424
424
  val actionsPrimaryRegularPressedBorder: Color = jumpyColor("#FFC86CAF")
425
- val actionsPrimaryRegularPressedIcon: Color = jumpyColor("#1FC86CAF")
425
+ val actionsPrimaryRegularPressedIcon: Color = jumpyColor("#FF000000")
426
426
  val actionsPrimaryRegularPressedSurface: Color = jumpyColor("#FFEEF5DF")
427
427
  val actionsPrimaryRegularPressedText: Color = jumpyColor("#FF000000")
428
428
  val actionsPrimaryWarningDefaultBorder: Color = jumpyColor("#FF1A1C1F")