@luxfi/ui 8.2.7 → 8.2.8

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 (240) hide show
  1. package/dist/3d-model-viewer.cjs +25 -421
  2. package/dist/3d-model-viewer.js +20 -416
  3. package/dist/accordion.cjs +3 -10
  4. package/dist/accordion.js +2 -10
  5. package/dist/advanced-navigation-bar.cjs +5 -401
  6. package/dist/advanced-navigation-bar.js +5 -401
  7. package/dist/ai-agents.cjs +45 -890
  8. package/dist/ai-agents.js +8 -834
  9. package/dist/ai-assistant.cjs +13 -740
  10. package/dist/ai-assistant.js +10 -738
  11. package/dist/ai-chat.cjs +24 -770
  12. package/dist/ai-chat.js +18 -765
  13. package/dist/ai-code.cjs +67 -923
  14. package/dist/ai-code.js +49 -905
  15. package/dist/ai-playground.cjs +25 -801
  16. package/dist/ai-playground.js +18 -795
  17. package/dist/ai-tools.cjs +22 -767
  18. package/dist/ai-tools.js +15 -761
  19. package/dist/ai-vision.cjs +41 -993
  20. package/dist/ai-vision.js +30 -983
  21. package/dist/ai-voice-settings.cjs +35 -1006
  22. package/dist/ai-voice-settings.js +32 -1004
  23. package/dist/ai-voice.cjs +51 -1024
  24. package/dist/ai-voice.js +9 -963
  25. package/dist/alert.cjs +11 -129
  26. package/dist/alert.js +8 -127
  27. package/dist/announcement.cjs +6 -402
  28. package/dist/announcement.js +6 -402
  29. package/dist/app-switcher-navigation-bar.cjs +5 -401
  30. package/dist/app-switcher-navigation-bar.js +5 -401
  31. package/dist/apple-cards-carousel.cjs +84 -480
  32. package/dist/apple-cards-carousel.js +19 -415
  33. package/dist/auth.cjs +10 -387
  34. package/dist/auth.js +7 -385
  35. package/dist/avatar.cjs +2 -9
  36. package/dist/avatar.js +2 -10
  37. package/dist/badge.cjs +8 -228
  38. package/dist/badge.js +5 -210
  39. package/dist/button.cjs +14 -67
  40. package/dist/button.js +12 -65
  41. package/dist/chrome.cjs +29 -493
  42. package/dist/chrome.js +9 -474
  43. package/dist/code-block.cjs +16 -664
  44. package/dist/code-block.js +13 -662
  45. package/dist/code-compare.cjs +28 -1302
  46. package/dist/code-compare.js +18 -1293
  47. package/dist/code-diff.cjs +21 -669
  48. package/dist/code-diff.js +17 -666
  49. package/dist/code-editor.cjs +13 -409
  50. package/dist/code-editor.js +12 -408
  51. package/dist/code-explorer.cjs +14 -456
  52. package/dist/code-explorer.js +13 -456
  53. package/dist/code-preview.cjs +31 -983
  54. package/dist/code-preview.js +23 -976
  55. package/dist/code-snippet.cjs +19 -667
  56. package/dist/code-snippet.js +14 -663
  57. package/dist/code-terminal.cjs +24 -485
  58. package/dist/code-terminal.js +19 -481
  59. package/dist/collapsible.cjs +13 -347
  60. package/dist/collapsible.js +11 -330
  61. package/dist/color-picker.cjs +8 -450
  62. package/dist/color-picker.js +7 -450
  63. package/dist/combobox.cjs +6 -402
  64. package/dist/combobox.js +6 -402
  65. package/dist/communication-navigation-bar.cjs +7 -403
  66. package/dist/communication-navigation-bar.js +5 -401
  67. package/dist/dashboard-navigation-bar.cjs +6 -402
  68. package/dist/dashboard-navigation-bar.js +5 -401
  69. package/dist/dialog-stack.cjs +5 -401
  70. package/dist/dialog-stack.js +5 -401
  71. package/dist/dialog.cjs +13 -70
  72. package/dist/dialog.js +13 -70
  73. package/dist/drawer.cjs +23 -99
  74. package/dist/drawer.js +19 -96
  75. package/dist/e-commerce-navigation-bar.cjs +7 -403
  76. package/dist/e-commerce-navigation-bar.js +5 -401
  77. package/dist/editor.cjs +9 -405
  78. package/dist/editor.js +6 -402
  79. package/dist/iam.cjs +2 -123
  80. package/dist/iam.js +1 -122
  81. package/dist/icon-button.cjs +2 -56
  82. package/dist/icon-button.js +1 -55
  83. package/dist/identity.cjs +28 -242
  84. package/dist/identity.js +20 -235
  85. package/dist/image-crop.cjs +10 -406
  86. package/dist/image-crop.js +7 -403
  87. package/dist/image.cjs +14 -83
  88. package/dist/image.js +13 -67
  89. package/dist/index.cjs +1868 -38770
  90. package/dist/index.js +174 -38320
  91. package/dist/input-group.cjs +3 -10
  92. package/dist/input-group.js +2 -10
  93. package/dist/item.cjs +2 -27
  94. package/dist/item.js +1 -22
  95. package/dist/kanban.cjs +25 -751
  96. package/dist/kanban.js +15 -742
  97. package/dist/limelight-nav.cjs +10 -452
  98. package/dist/limelight-nav.js +9 -452
  99. package/dist/link.cjs +11 -80
  100. package/dist/link.js +6 -60
  101. package/dist/lux.config.cjs +14 -32
  102. package/dist/lux.config.js +3 -26
  103. package/dist/menu.cjs +5 -13
  104. package/dist/menu.js +1 -9
  105. package/dist/message-dock.cjs +5 -401
  106. package/dist/message-dock.js +5 -401
  107. package/dist/mini-calendar.cjs +7 -403
  108. package/dist/mini-calendar.js +6 -402
  109. package/dist/music-player.cjs +30 -528
  110. package/dist/music-player.js +22 -520
  111. package/dist/next.cjs +8 -89
  112. package/dist/next.js +3 -86
  113. package/dist/popover.cjs +17 -74
  114. package/dist/popover.js +16 -73
  115. package/dist/progress-circle.cjs +3 -10
  116. package/dist/progress-circle.js +2 -10
  117. package/dist/provider.cjs +7 -176
  118. package/dist/provider.js +4 -174
  119. package/dist/select.cjs +36 -89
  120. package/dist/select.js +35 -88
  121. package/dist/sidebar.cjs +22 -493
  122. package/dist/sidebar.js +17 -489
  123. package/dist/site/commerce/ui/context.cjs +9 -214
  124. package/dist/site/commerce/ui/context.js +6 -215
  125. package/dist/site/components/analytics.cjs +2 -42
  126. package/dist/site/components/analytics.js +1 -37
  127. package/dist/site/components/auth/callback.cjs +2 -8
  128. package/dist/site/components/auth/callback.js +1 -7
  129. package/dist/site/components/auth/login-panel.cjs +15 -74
  130. package/dist/site/components/auth/login-panel.js +12 -73
  131. package/dist/site/components/auth/login.cjs +2 -6
  132. package/dist/site/components/auth/login.js +1 -5
  133. package/dist/site/components/auth/widget.cjs +2 -6
  134. package/dist/site/components/auth/widget.js +1 -5
  135. package/dist/site/components/commerce/bag-button.cjs +2 -3
  136. package/dist/site/components/commerce/bag-button.js +2 -3
  137. package/dist/site/components/commerce/buy-button.cjs +2 -11
  138. package/dist/site/components/commerce/buy-button.js +1 -10
  139. package/dist/site/components/commerce/checkout-button.cjs +2 -3
  140. package/dist/site/components/commerce/checkout-button.js +2 -3
  141. package/dist/site/components/commerce/checkout-panel/desktop-cp.cjs +15 -173
  142. package/dist/site/components/commerce/checkout-panel/desktop-cp.js +14 -174
  143. package/dist/site/components/commerce/checkout-panel/index.cjs +9 -400
  144. package/dist/site/components/commerce/checkout-panel/index.js +10 -403
  145. package/dist/site/components/commerce/checkout-panel/mobile-cp.cjs +15 -236
  146. package/dist/site/components/commerce/checkout-panel/mobile-cp.js +13 -237
  147. package/dist/site/components/commerce/desktop-bag-popup.cjs +7 -8
  148. package/dist/site/components/commerce/desktop-bag-popup.js +3 -8
  149. package/dist/site/components/commerce/drawer/index.cjs +15 -289
  150. package/dist/site/components/commerce/drawer/index.js +10 -290
  151. package/dist/site/components/commerce/drawer/micro.cjs +8 -115
  152. package/dist/site/components/commerce/drawer/micro.js +4 -115
  153. package/dist/site/components/commerce/drawer/shell.cjs +2 -10
  154. package/dist/site/components/commerce/drawer/shell.js +2 -10
  155. package/dist/site/components/contact-dialog/index.cjs +6 -69
  156. package/dist/site/components/contact-dialog/index.js +7 -71
  157. package/dist/site/components/drawer-margin.cjs +2 -10
  158. package/dist/site/components/drawer-margin.js +2 -10
  159. package/dist/site/components/footer.cjs +11 -81
  160. package/dist/site/components/footer.js +8 -80
  161. package/dist/site/components/header/desktop.cjs +18 -374
  162. package/dist/site/components/header/desktop.js +12 -355
  163. package/dist/site/components/header/index.cjs +9 -674
  164. package/dist/site/components/header/index.js +8 -657
  165. package/dist/site/components/header/mobile-bag-drawer.cjs +6 -71
  166. package/dist/site/components/header/mobile-bag-drawer.js +5 -74
  167. package/dist/site/components/header/mobile-nav-menu-ai.cjs +25 -28
  168. package/dist/site/components/header/mobile-nav-menu-ai.js +24 -27
  169. package/dist/site/components/header/mobile-nav-menu-item.cjs +6 -60
  170. package/dist/site/components/header/mobile-nav-menu-item.js +6 -61
  171. package/dist/site/components/header/mobile-nav-menu.cjs +7 -110
  172. package/dist/site/components/header/mobile-nav-menu.js +7 -112
  173. package/dist/site/components/header/mobile.cjs +48 -330
  174. package/dist/site/components/header/mobile.js +42 -330
  175. package/dist/site/components/icons/index.cjs +34 -35
  176. package/dist/site/components/icons/index.js +5 -33
  177. package/dist/site/components/index.cjs +118 -1961
  178. package/dist/site/components/index.js +23 -1951
  179. package/dist/site/components/mini-chart/index.cjs +7 -90
  180. package/dist/site/components/mini-chart/index.js +1 -92
  181. package/dist/site/components/mini-chart/wrapper.cjs +7 -76
  182. package/dist/site/components/mini-chart/wrapper.js +4 -77
  183. package/dist/site/components/not-found/index.cjs +9 -819
  184. package/dist/site/components/not-found/index.js +8 -802
  185. package/dist/site/components/security/index.cjs +9 -819
  186. package/dist/site/components/security/index.js +8 -802
  187. package/dist/site/next/analytics/index.cjs +16 -49
  188. package/dist/site/next/analytics/index.js +3 -49
  189. package/dist/site/next/analytics/pixel-analytics.cjs +23 -8
  190. package/dist/site/next/analytics/pixel-analytics.js +4 -8
  191. package/dist/site/next/index.cjs +13 -140
  192. package/dist/site/next/index.js +2 -140
  193. package/dist/site/root-layout/index.cjs +12 -1435
  194. package/dist/site/root-layout/index.css +0 -133
  195. package/dist/site/root-layout/index.js +12 -1416
  196. package/dist/site/site-def/footer/community.cjs +11 -27
  197. package/dist/site/site-def/footer/community.js +2 -18
  198. package/dist/site/site-def/footer/index.cjs +38 -218
  199. package/dist/site/site-def/footer/index.js +14 -215
  200. package/dist/site/site-def/index.cjs +28 -620
  201. package/dist/site/site-def/index.js +3 -624
  202. package/dist/table.cjs +20 -338
  203. package/dist/table.js +19 -338
  204. package/dist/tabs.cjs +3 -10
  205. package/dist/tabs.js +1 -9
  206. package/dist/tag.cjs +9 -270
  207. package/dist/tag.js +6 -268
  208. package/dist/tags.cjs +6 -314
  209. package/dist/tags.js +5 -314
  210. package/dist/textarea.cjs +4 -50
  211. package/dist/textarea.js +3 -49
  212. package/dist/tooltip.cjs +15 -34
  213. package/dist/tooltip.js +13 -33
  214. package/dist/vite.cjs +3 -82
  215. package/dist/vite.js +1 -80
  216. package/package.json +1 -1
  217. package/dist/index.css +0 -132
  218. package/dist/site/components/auth/login-panel.css +0 -4
  219. package/dist/site/components/commerce/bag-button.css +0 -4
  220. package/dist/site/components/commerce/checkout-button.css +0 -4
  221. package/dist/site/components/commerce/checkout-panel/desktop-cp.css +0 -132
  222. package/dist/site/components/commerce/checkout-panel/index.css +0 -132
  223. package/dist/site/components/commerce/checkout-panel/mobile-cp.css +0 -132
  224. package/dist/site/components/commerce/desktop-bag-popup.css +0 -4
  225. package/dist/site/components/commerce/drawer/index.css +0 -132
  226. package/dist/site/components/commerce/drawer/micro.css +0 -4
  227. package/dist/site/components/header/desktop.css +0 -4
  228. package/dist/site/components/header/index.css +0 -132
  229. package/dist/site/components/header/mobile-bag-drawer.css +0 -4
  230. package/dist/site/components/header/mobile-nav-menu-ai.css +0 -132
  231. package/dist/site/components/header/mobile-nav-menu-item.css +0 -132
  232. package/dist/site/components/header/mobile-nav-menu.css +0 -132
  233. package/dist/site/components/header/mobile.css +0 -132
  234. package/dist/site/components/icons/index.css +0 -4
  235. package/dist/site/components/index.css +0 -132
  236. package/dist/site/components/not-found/index.css +0 -132
  237. package/dist/site/components/security/index.css +0 -132
  238. package/dist/site/site-def/footer/community.css +0 -4
  239. package/dist/site/site-def/footer/index.css +0 -4
  240. package/dist/site/site-def/index.css +0 -4
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var React6 = require('react');
4
+ var React4 = require('react');
5
5
  var ui = require('@hanzo/ui');
6
6
  var lucideReact = require('lucide-react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
- var gui = require('@hanzo/gui');
8
+ var button_js = require('./button.js');
9
9
 
10
10
  function _interopNamespace(e) {
11
11
  if (e && e.__esModule) return e;
@@ -25,7 +25,7 @@ function _interopNamespace(e) {
25
25
  return Object.freeze(n);
26
26
  }
27
27
 
28
- var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
28
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
29
29
 
30
30
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
31
31
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
@@ -33,9 +33,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
33
33
  if (typeof require !== "undefined") return require.apply(this, arguments);
34
34
  throw Error('Dynamic require of "' + x + '" is not supported');
35
35
  });
36
- var LayoutGroupContext = React6.createContext({});
36
+ var LayoutGroupContext = React4.createContext({});
37
37
  function useConstant(init) {
38
- const ref = React6.useRef(null);
38
+ const ref = React4.useRef(null);
39
39
  if (ref.current === null) {
40
40
  ref.current = init();
41
41
  }
@@ -46,8 +46,8 @@ function useConstant(init) {
46
46
  var isBrowser = typeof window !== "undefined";
47
47
 
48
48
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
49
- var useIsomorphicLayoutEffect = isBrowser ? React6.useLayoutEffect : React6.useEffect;
50
- var PresenceContext = /* @__PURE__ */ React6.createContext(null);
49
+ var useIsomorphicLayoutEffect = isBrowser ? React4.useLayoutEffect : React4.useEffect;
50
+ var PresenceContext = /* @__PURE__ */ React4.createContext(null);
51
51
 
52
52
  // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
53
53
  function addUniqueItem(arr, item) {
@@ -6548,7 +6548,7 @@ var HTMLProjectionNode = createProjectionNode({
6548
6548
  },
6549
6549
  checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === "fixed")
6550
6550
  });
6551
- var MotionConfigContext = React6.createContext({
6551
+ var MotionConfigContext = React4.createContext({
6552
6552
  transformPagePoint: (p) => p,
6553
6553
  isStatic: false,
6554
6554
  reducedMotion: "never"
@@ -6585,11 +6585,11 @@ function composeRefs(...refs) {
6585
6585
  };
6586
6586
  }
6587
6587
  function useComposedRefs(...refs) {
6588
- return React6__namespace.useCallback(composeRefs(...refs), refs);
6588
+ return React4__namespace.useCallback(composeRefs(...refs), refs);
6589
6589
  }
6590
6590
 
6591
6591
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
6592
- var PopChildMeasure = class extends React6__namespace.Component {
6592
+ var PopChildMeasure = class extends React4__namespace.Component {
6593
6593
  getSnapshotBeforeUpdate(prevProps) {
6594
6594
  const element = this.props.childRef.current;
6595
6595
  if (isHTMLElement(element) && prevProps.isPresent && !this.props.isPresent && this.props.pop !== false) {
@@ -6617,9 +6617,9 @@ var PopChildMeasure = class extends React6__namespace.Component {
6617
6617
  }
6618
6618
  };
6619
6619
  function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6620
- const id3 = React6.useId();
6621
- const ref = React6.useRef(null);
6622
- const size = React6.useRef({
6620
+ const id3 = React4.useId();
6621
+ const ref = React4.useRef(null);
6622
+ const size = React4.useRef({
6623
6623
  width: 0,
6624
6624
  height: 0,
6625
6625
  top: 0,
@@ -6627,10 +6627,10 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6627
6627
  right: 0,
6628
6628
  bottom: 0
6629
6629
  });
6630
- const { nonce } = React6.useContext(MotionConfigContext);
6630
+ const { nonce } = React4.useContext(MotionConfigContext);
6631
6631
  const childRef = children.props?.ref ?? children?.ref;
6632
6632
  const composedRef = useComposedRefs(ref, childRef);
6633
- React6.useInsertionEffect(() => {
6633
+ React4.useInsertionEffect(() => {
6634
6634
  const { width, height, top, left, right, bottom } = size.current;
6635
6635
  if (isPresent || pop === false || !ref.current || !width || !height)
6636
6636
  return;
@@ -6660,15 +6660,15 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6660
6660
  }
6661
6661
  };
6662
6662
  }, [isPresent]);
6663
- return jsxRuntime.jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React6__namespace.cloneElement(children, { ref: composedRef }) });
6663
+ return jsxRuntime.jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React4__namespace.cloneElement(children, { ref: composedRef }) });
6664
6664
  }
6665
6665
 
6666
6666
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
6667
6667
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6668
6668
  const presenceChildren = useConstant(newChildrenMap);
6669
- const id3 = React6.useId();
6669
+ const id3 = React4.useId();
6670
6670
  let isReusedContext = true;
6671
- let context = React6.useMemo(() => {
6671
+ let context = React4.useMemo(() => {
6672
6672
  isReusedContext = false;
6673
6673
  return {
6674
6674
  id: id3,
@@ -6692,10 +6692,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6692
6692
  if (presenceAffectsLayout && isReusedContext) {
6693
6693
  context = { ...context };
6694
6694
  }
6695
- React6.useMemo(() => {
6695
+ React4.useMemo(() => {
6696
6696
  presenceChildren.forEach((_, key) => presenceChildren.set(key, false));
6697
6697
  }, [isPresent]);
6698
- React6__namespace.useEffect(() => {
6698
+ React4__namespace.useEffect(() => {
6699
6699
  !isPresent && !presenceChildren.size && onExitComplete && onExitComplete();
6700
6700
  }, [isPresent]);
6701
6701
  children = jsxRuntime.jsx(PopChild, { pop: mode === "popLayout", isPresent, anchorX, anchorY, root, children });
@@ -6705,24 +6705,24 @@ function newChildrenMap() {
6705
6705
  return /* @__PURE__ */ new Map();
6706
6706
  }
6707
6707
  function usePresence(subscribe = true) {
6708
- const context = React6.useContext(PresenceContext);
6708
+ const context = React4.useContext(PresenceContext);
6709
6709
  if (context === null)
6710
6710
  return [true, null];
6711
6711
  const { isPresent, onExitComplete, register } = context;
6712
- const id3 = React6.useId();
6713
- React6.useEffect(() => {
6712
+ const id3 = React4.useId();
6713
+ React4.useEffect(() => {
6714
6714
  if (subscribe) {
6715
6715
  return register(id3);
6716
6716
  }
6717
6717
  }, [subscribe]);
6718
- const safeToRemove = React6.useCallback(() => subscribe && onExitComplete && onExitComplete(id3), [id3, onExitComplete, subscribe]);
6718
+ const safeToRemove = React4.useCallback(() => subscribe && onExitComplete && onExitComplete(id3), [id3, onExitComplete, subscribe]);
6719
6719
  return !isPresent && onExitComplete ? [false, safeToRemove] : [true];
6720
6720
  }
6721
6721
  var getChildKey = (child) => child.key || "";
6722
6722
  function onlyElements(children) {
6723
6723
  const filtered = [];
6724
- React6.Children.forEach(children, (child) => {
6725
- if (React6.isValidElement(child))
6724
+ React4.Children.forEach(children, (child) => {
6725
+ if (React4.isValidElement(child))
6726
6726
  filtered.push(child);
6727
6727
  });
6728
6728
  return filtered;
@@ -6731,14 +6731,14 @@ function onlyElements(children) {
6731
6731
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
6732
6732
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6733
6733
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6734
- const presentChildren = React6.useMemo(() => onlyElements(children), [children]);
6734
+ const presentChildren = React4.useMemo(() => onlyElements(children), [children]);
6735
6735
  const presentKeys = propagate && !isParentPresent ? [] : presentChildren.map(getChildKey);
6736
- const isInitialRender = React6.useRef(true);
6737
- const pendingPresentChildren = React6.useRef(presentChildren);
6736
+ const isInitialRender = React4.useRef(true);
6737
+ const pendingPresentChildren = React4.useRef(presentChildren);
6738
6738
  const exitComplete = useConstant(() => /* @__PURE__ */ new Map());
6739
- const exitingComponents = React6.useRef(/* @__PURE__ */ new Set());
6740
- const [diffedChildren, setDiffedChildren] = React6.useState(presentChildren);
6741
- const [renderedChildren, setRenderedChildren] = React6.useState(presentChildren);
6739
+ const exitingComponents = React4.useRef(/* @__PURE__ */ new Set());
6740
+ const [diffedChildren, setDiffedChildren] = React4.useState(presentChildren);
6741
+ const [renderedChildren, setRenderedChildren] = React4.useState(presentChildren);
6742
6742
  useIsomorphicLayoutEffect(() => {
6743
6743
  isInitialRender.current = false;
6744
6744
  pendingPresentChildren.current = presentChildren;
@@ -6775,7 +6775,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6775
6775
  if (process.env.NODE_ENV !== "production" && mode === "wait" && renderedChildren.length > 1) {
6776
6776
  console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);
6777
6777
  }
6778
- const { forceRender } = React6.useContext(LayoutGroupContext);
6778
+ const { forceRender } = React4.useContext(LayoutGroupContext);
6779
6779
  return jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderedChildren.map((child) => {
6780
6780
  const key = getChildKey(child);
6781
6781
  const isPresent = propagate && !isParentPresent ? false : presentChildren === renderedChildren || presentKeys.includes(key);
@@ -6804,7 +6804,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6804
6804
  return jsxRuntime.jsx(PresenceChild, { isPresent, initial: !isInitialRender.current || initial ? void 0 : false, custom, presenceAffectsLayout, mode, root, onExitComplete: isPresent ? void 0 : onExit, anchorX, anchorY, children: child }, key);
6805
6805
  }) });
6806
6806
  };
6807
- var LazyContext = React6.createContext({ strict: false });
6807
+ var LazyContext = React4.createContext({ strict: false });
6808
6808
 
6809
6809
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
6810
6810
  var featureProps = {
@@ -6921,7 +6921,7 @@ function filterProps(props, isDom, forwardMotionProps) {
6921
6921
  }
6922
6922
  return filteredProps;
6923
6923
  }
6924
- var MotionContext = /* @__PURE__ */ React6.createContext({});
6924
+ var MotionContext = /* @__PURE__ */ React4.createContext({});
6925
6925
 
6926
6926
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6927
6927
  function getCurrentTreeVariants(props, context) {
@@ -6937,8 +6937,8 @@ function getCurrentTreeVariants(props, context) {
6937
6937
 
6938
6938
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
6939
6939
  function useCreateMotionContext(props) {
6940
- const { initial, animate } = getCurrentTreeVariants(props, React6.useContext(MotionContext));
6941
- return React6.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
6940
+ const { initial, animate } = getCurrentTreeVariants(props, React4.useContext(MotionContext));
6941
+ return React4.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
6942
6942
  }
6943
6943
  function variantLabelsAsDependency(prop) {
6944
6944
  return Array.isArray(prop) ? prop.join(" ") : prop;
@@ -6961,7 +6961,7 @@ function copyRawValuesOnly(target, source, props) {
6961
6961
  }
6962
6962
  }
6963
6963
  function useInitialMotionValues({ transformTemplate }, visualState) {
6964
- return React6.useMemo(() => {
6964
+ return React4.useMemo(() => {
6965
6965
  const state = createHtmlRenderState();
6966
6966
  buildHTMLStyles(state, visualState, transformTemplate);
6967
6967
  return Object.assign({}, state.vars, state.style);
@@ -6997,7 +6997,7 @@ var createSvgRenderState = () => ({
6997
6997
 
6998
6998
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
6999
6999
  function useSVGProps(props, visualState, _isStatic, Component3) {
7000
- const visualProps = React6.useMemo(() => {
7000
+ const visualProps = React4.useMemo(() => {
7001
7001
  const state = createSvgRenderState();
7002
7002
  buildSVGAttrs(state, visualState, isSVGTag(Component3), props.transformTemplate, props.style);
7003
7003
  return {
@@ -7074,10 +7074,10 @@ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMo
7074
7074
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7075
7075
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7076
7076
  const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7077
- const elementProps = Component3 !== React6.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
7077
+ const elementProps = Component3 !== React4.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
7078
7078
  const { children } = props;
7079
- const renderedChildren = React6.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
7080
- return React6.createElement(Component3, {
7079
+ const renderedChildren = React4.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
7080
+ return React4.createElement(Component3, {
7081
7081
  ...elementProps,
7082
7082
  children: renderedChildren
7083
7083
  });
@@ -7132,8 +7132,8 @@ function makeLatestValues(props, context, presenceContext, scrapeMotionValues) {
7132
7132
  return values;
7133
7133
  }
7134
7134
  var makeUseVisualState = (config) => (props, isStatic) => {
7135
- const context = React6.useContext(MotionContext);
7136
- const presenceContext = React6.useContext(PresenceContext);
7135
+ const context = React4.useContext(MotionContext);
7136
+ const presenceContext = React4.useContext(PresenceContext);
7137
7137
  const make = () => makeState(config, props, context, presenceContext);
7138
7138
  return isStatic ? make() : useConstant(make);
7139
7139
  };
@@ -7153,12 +7153,12 @@ var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7153
7153
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
7154
7154
  var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7155
7155
  function useMotionRef(visualState, visualElement, externalRef) {
7156
- const externalRefContainer = React6.useRef(externalRef);
7157
- React6.useInsertionEffect(() => {
7156
+ const externalRefContainer = React4.useRef(externalRef);
7157
+ React4.useInsertionEffect(() => {
7158
7158
  externalRefContainer.current = externalRef;
7159
7159
  });
7160
- const refCleanup = React6.useRef(null);
7161
- return React6.useCallback((instance) => {
7160
+ const refCleanup = React4.useRef(null);
7161
+ return React4.useCallback((instance) => {
7162
7162
  if (instance) {
7163
7163
  visualState.onMount?.(instance);
7164
7164
  }
@@ -7183,7 +7183,7 @@ function useMotionRef(visualState, visualElement, externalRef) {
7183
7183
  }
7184
7184
  }, [visualElement]);
7185
7185
  }
7186
- var SwitchLayoutGroupContext = React6.createContext({});
7186
+ var SwitchLayoutGroupContext = React4.createContext({});
7187
7187
 
7188
7188
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs
7189
7189
  function isRefObject(ref) {
@@ -7192,14 +7192,14 @@ function isRefObject(ref) {
7192
7192
 
7193
7193
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
7194
7194
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7195
- const { visualElement: parent } = React6.useContext(MotionContext);
7196
- const lazyContext = React6.useContext(LazyContext);
7197
- const presenceContext = React6.useContext(PresenceContext);
7198
- const motionConfig = React6.useContext(MotionConfigContext);
7195
+ const { visualElement: parent } = React4.useContext(MotionContext);
7196
+ const lazyContext = React4.useContext(LazyContext);
7197
+ const presenceContext = React4.useContext(PresenceContext);
7198
+ const motionConfig = React4.useContext(MotionConfigContext);
7199
7199
  const reducedMotionConfig = motionConfig.reducedMotion;
7200
7200
  const skipAnimations = motionConfig.skipAnimations;
7201
- const visualElementRef = React6.useRef(null);
7202
- const hasMountedOnce = React6.useRef(false);
7201
+ const visualElementRef = React4.useRef(null);
7202
+ const hasMountedOnce = React4.useRef(false);
7203
7203
  createVisualElement = createVisualElement || lazyContext.renderer;
7204
7204
  if (!visualElementRef.current && createVisualElement) {
7205
7205
  visualElementRef.current = createVisualElement(Component3, {
@@ -7217,18 +7217,18 @@ function useVisualElement(Component3, visualState, props, createVisualElement, P
7217
7217
  }
7218
7218
  }
7219
7219
  const visualElement = visualElementRef.current;
7220
- const initialLayoutGroupConfig = React6.useContext(SwitchLayoutGroupContext);
7220
+ const initialLayoutGroupConfig = React4.useContext(SwitchLayoutGroupContext);
7221
7221
  if (visualElement && !visualElement.projection && ProjectionNodeConstructor && (visualElement.type === "html" || visualElement.type === "svg")) {
7222
7222
  createProjectionNode2(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);
7223
7223
  }
7224
- const isMounted = React6.useRef(false);
7225
- React6.useInsertionEffect(() => {
7224
+ const isMounted = React4.useRef(false);
7225
+ React4.useInsertionEffect(() => {
7226
7226
  if (visualElement && isMounted.current) {
7227
7227
  visualElement.update(props, presenceContext);
7228
7228
  }
7229
7229
  });
7230
7230
  const optimisedAppearId = props[optimizedAppearDataAttribute];
7231
- const wantsHandoff = React6.useRef(Boolean(optimisedAppearId) && typeof window !== "undefined" && !window.MotionHandoffIsComplete?.(optimisedAppearId) && window.MotionHasOptimisedAnimation?.(optimisedAppearId));
7231
+ const wantsHandoff = React4.useRef(Boolean(optimisedAppearId) && typeof window !== "undefined" && !window.MotionHandoffIsComplete?.(optimisedAppearId) && window.MotionHasOptimisedAnimation?.(optimisedAppearId));
7232
7232
  useIsomorphicLayoutEffect(() => {
7233
7233
  hasMountedOnce.current = true;
7234
7234
  if (!visualElement)
@@ -7241,7 +7241,7 @@ function useVisualElement(Component3, visualState, props, createVisualElement, P
7241
7241
  visualElement.animationState.animateChanges();
7242
7242
  }
7243
7243
  });
7244
- React6.useEffect(() => {
7244
+ React4.useEffect(() => {
7245
7245
  if (!visualElement)
7246
7246
  return;
7247
7247
  if (!wantsHandoff.current && visualElement.animationState) {
@@ -7294,7 +7294,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7294
7294
  function MotionDOMComponent(props, externalRef) {
7295
7295
  let MeasureLayout2;
7296
7296
  const configAndProps = {
7297
- ...React6.useContext(MotionConfigContext),
7297
+ ...React4.useContext(MotionConfigContext),
7298
7298
  ...props,
7299
7299
  layoutId: useLayoutId(props)
7300
7300
  };
@@ -7310,16 +7310,16 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7310
7310
  return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7311
7311
  }
7312
7312
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7313
- const ForwardRefMotionComponent = React6.forwardRef(MotionDOMComponent);
7313
+ const ForwardRefMotionComponent = React4.forwardRef(MotionDOMComponent);
7314
7314
  ForwardRefMotionComponent[motionComponentSymbol] = Component3;
7315
7315
  return ForwardRefMotionComponent;
7316
7316
  }
7317
7317
  function useLayoutId({ layoutId }) {
7318
- const layoutGroupId = React6.useContext(LayoutGroupContext).id;
7318
+ const layoutGroupId = React4.useContext(LayoutGroupContext).id;
7319
7319
  return layoutGroupId && layoutId !== void 0 ? layoutGroupId + "-" + layoutId : layoutId;
7320
7320
  }
7321
7321
  function useStrictMode(configAndProps, preloadedFeatures) {
7322
- const isStrict = React6.useContext(LazyContext).strict;
7322
+ const isStrict = React4.useContext(LazyContext).strict;
7323
7323
  if (process.env.NODE_ENV !== "production" && preloadedFeatures && isStrict) {
7324
7324
  const strictMessage = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";
7325
7325
  configAndProps.ignoreStrict ? warning(false, strictMessage, "lazy-strict-mode") : invariant(false, strictMessage, "lazy-strict-mode");
@@ -7371,7 +7371,7 @@ function createMotionProxy(preloadedFeatures, createVisualElement) {
7371
7371
  var createDomVisualElement = (Component3, options) => {
7372
7372
  const isSVG = options.isSVG ?? isSVGComponent(Component3);
7373
7373
  return isSVG ? new SVGVisualElement(options) : new HTMLVisualElement(options, {
7374
- allowProjection: Component3 !== React6.Fragment
7374
+ allowProjection: Component3 !== React4.Fragment
7375
7375
  });
7376
7376
  };
7377
7377
 
@@ -8274,7 +8274,7 @@ var PanGesture = class extends Feature {
8274
8274
  }
8275
8275
  };
8276
8276
  var hasTakenAnySnapshot = false;
8277
- var MeasureLayoutWithContext = class extends React6.Component {
8277
+ var MeasureLayoutWithContext = class extends React4.Component {
8278
8278
  /**
8279
8279
  * This only mounts projection nodes for components that
8280
8280
  * need measuring, we might want to do it for all components
@@ -8370,8 +8370,8 @@ var MeasureLayoutWithContext = class extends React6.Component {
8370
8370
  };
8371
8371
  function MeasureLayout(props) {
8372
8372
  const [isPresent, safeToRemove] = usePresence();
8373
- const layoutGroup = React6.useContext(LayoutGroupContext);
8374
- return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React6.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8373
+ const layoutGroup = React4.useContext(LayoutGroupContext);
8374
+ return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React4.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8375
8375
  }
8376
8376
 
8377
8377
  // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/drag.mjs
@@ -8605,10 +8605,10 @@ var featureBundle = {
8605
8605
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8606
8606
  function useMotionValue(initial) {
8607
8607
  const value = useConstant(() => motionValue(initial));
8608
- const { isStatic } = React6.useContext(MotionConfigContext);
8608
+ const { isStatic } = React4.useContext(MotionConfigContext);
8609
8609
  if (isStatic) {
8610
- const [, setLatest] = React6.useState(initial);
8611
- React6.useEffect(() => value.on("change", setLatest), []);
8610
+ const [, setLatest] = React4.useState(initial);
8611
+ React4.useEffect(() => value.on("change", setLatest), []);
8612
8612
  }
8613
8613
  return value;
8614
8614
  }
@@ -8681,402 +8681,6 @@ function useMapTransform(inputValue, inputRange, outputMap, options) {
8681
8681
  }
8682
8682
  return output;
8683
8683
  }
8684
- var SKELETON_CLASSES = "lux-skeleton rounded-sm";
8685
- var Skeleton = React6__namespace.forwardRef(
8686
- function Skeleton2(props, ref) {
8687
- const { loading = true, asChild, className, children, style, ...rest } = props;
8688
- if (!loading) {
8689
- if (asChild && React6__namespace.isValidElement(children)) return children;
8690
- return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { ref, className, style, ...rest, children });
8691
- }
8692
- return /* @__PURE__ */ jsxRuntime.jsx(
8693
- "div",
8694
- {
8695
- ref,
8696
- "data-loading": true,
8697
- ...ui.sx(
8698
- SKELETON_CLASSES,
8699
- asChild || children ? "[&_*]:invisible" : "min-h-5",
8700
- className
8701
- ),
8702
- style,
8703
- ...rest,
8704
- children
8705
- }
8706
- );
8707
- }
8708
- );
8709
- React6__namespace.forwardRef(
8710
- function SkeletonCircle2(props, ref) {
8711
- const { size = 40, loading = true, className, ...rest } = props;
8712
- const dimension = typeof size === "number" ? `${size}px` : size;
8713
- return /* @__PURE__ */ jsxRuntime.jsx(
8714
- Skeleton,
8715
- {
8716
- ref,
8717
- loading,
8718
- ...ui.sx("rounded-full shrink-0", className),
8719
- style: { width: dimension, height: dimension, ...rest.style },
8720
- ...rest
8721
- }
8722
- );
8723
- }
8724
- );
8725
- React6__namespace.forwardRef(
8726
- function SkeletonText2(props, ref) {
8727
- const { noOfLines = 3, loading = true, className, ...rest } = props;
8728
- return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { ref, className: ui.cn("flex w-full flex-col gap-2", className), ...rest, children: Array.from({ length: noOfLines }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
8729
- Skeleton,
8730
- {
8731
- loading,
8732
- ...ui.sx(ui.cn("h-4", index === noOfLines - 1 && "max-w-[80%]"))
8733
- },
8734
- index
8735
- )) });
8736
- }
8737
- );
8738
- var SpinnerFrame = gui.styled(gui.View, {
8739
- name: "ButtonSpinner",
8740
- render: /* @__PURE__ */ jsxRuntime.jsx("span", {}),
8741
- width: 16,
8742
- height: 16,
8743
- borderRadius: 1e3,
8744
- borderWidth: 2,
8745
- borderColor: "currentColor",
8746
- borderBottomColor: "transparent",
8747
- borderLeftColor: "transparent"
8748
- });
8749
- function Spinner({ className }) {
8750
- return /* @__PURE__ */ jsxRuntime.jsx(
8751
- SpinnerFrame,
8752
- {
8753
- role: "status",
8754
- "aria-label": "Loading",
8755
- className: [
8756
- "animate-spin",
8757
- className
8758
- ].filter(Boolean).join(" ")
8759
- }
8760
- );
8761
- }
8762
- var ButtonFrame = gui.styled(gui.View, {
8763
- name: "LuxButton",
8764
- render: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button" }),
8765
- role: "button",
8766
- tabIndex: 0,
8767
- cursor: "pointer",
8768
- userSelect: "none",
8769
- display: "inline-flex",
8770
- alignItems: "center",
8771
- justifyContent: "center",
8772
- gap: 0,
8773
- overflow: "hidden",
8774
- borderRadius: 6,
8775
- // Whitespace nowrap via className since hanzogui doesn't have a direct token
8776
- // Transition via className
8777
- variants: {
8778
- size: {
8779
- "2xs": { paddingHorizontal: 8, height: 20, minWidth: 20, fontSize: 12, borderRadius: 4, gap: 4 },
8780
- xs: { paddingHorizontal: 8, height: 24, minWidth: 24, fontSize: 14, borderRadius: 4, gap: 4 },
8781
- sm: { paddingHorizontal: 12, height: 32, minWidth: 32, fontSize: 14, borderRadius: 6, gap: 4 },
8782
- md: { paddingHorizontal: 12, height: 40, minWidth: 40, fontSize: 16, borderRadius: 6, gap: 8 }
8783
- },
8784
- disabled: {
8785
- true: {
8786
- opacity: 0.2,
8787
- cursor: "not-allowed",
8788
- pointerEvents: "none"
8789
- }
8790
- }
8791
- },
8792
- defaultVariants: {
8793
- size: "md"
8794
- }
8795
- });
8796
- var VARIANT_CLASSES = {
8797
- solid: [
8798
- "bg-[var(--color-button-solid-bg)] text-[var(--color-button-solid-text)]",
8799
- "hover:bg-[var(--color-hover)]",
8800
- "data-[expanded]:bg-[var(--color-hover)]"
8801
- ].join(" "),
8802
- solid_danger: [
8803
- "bg-[var(--color-button-danger-bg)] text-[var(--color-button-danger-fg)]",
8804
- "hover:bg-[var(--color-button-danger-bg-hover)]",
8805
- "data-[expanded]:bg-[var(--color-button-danger-bg-hover)]"
8806
- ].join(" "),
8807
- outline: [
8808
- "border-2 border-solid bg-transparent",
8809
- "text-[var(--color-button-outline-fg)] border-[var(--color-button-outline-fg)]",
8810
- "hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]"
8811
- ].join(" "),
8812
- outline_danger: [
8813
- "border-2 border-solid bg-transparent",
8814
- "text-[var(--color-button-danger-bg)] border-[var(--color-button-danger-bg)]",
8815
- "hover:bg-transparent hover:text-[var(--color-button-danger-bg-hover)] hover:border-[var(--color-button-danger-bg-hover)]"
8816
- ].join(" "),
8817
- dropdown: [
8818
- "border-2 border-solid bg-transparent",
8819
- "text-[var(--color-button-dropdown-fg)] border-[var(--color-button-dropdown-border)]",
8820
- "hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
8821
- "data-[expanded]:bg-transparent data-[expanded]:text-[var(--color-hover)] data-[expanded]:border-[var(--color-hover)]",
8822
- "data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)] data-[selected]:border-transparent",
8823
- "data-[selected]:hover:bg-[var(--color-selected-control-bg)]",
8824
- "data-[selected]:hover:text-[var(--color-hover)] data-[selected]:hover:border-transparent",
8825
- "data-[selected]:data-[expanded]:text-[var(--color-hover)]"
8826
- ].join(" "),
8827
- header: [
8828
- "bg-transparent border-2 border-solid",
8829
- "text-[var(--color-button-header-fg)] border-[var(--color-button-header-border)]",
8830
- "hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
8831
- "data-[selected]:bg-[var(--color-button-header-bg-selected)]",
8832
- "data-[selected]:text-[var(--color-button-header-fg-selected)] data-[selected]:border-transparent data-[selected]:border-0",
8833
- "data-[selected]:hover:bg-[var(--color-button-header-bg-selected)] data-[selected]:hover:text-[var(--color-hover)]",
8834
- "data-[selected]:data-[expanded]:text-[var(--color-hover)]",
8835
- "data-[selected]:data-[highlighted]:bg-[var(--color-button-header-bg-highlighted)]",
8836
- "data-[selected]:data-[highlighted]:text-[var(--color-button-header-fg-highlighted)]",
8837
- "data-[selected]:data-[highlighted]:border-transparent data-[selected]:data-[highlighted]:border-0",
8838
- "data-[selected]:data-[highlighted]:hover:bg-[var(--color-button-header-bg-highlighted)]",
8839
- "data-[selected]:data-[highlighted]:hover:text-[var(--color-hover)]",
8840
- "data-[selected]:data-[highlighted]:data-[expanded]:text-[var(--color-hover)]"
8841
- ].join(" "),
8842
- hero: [
8843
- "bg-[var(--color-button-hero-bg)] text-[var(--color-button-hero-fg)]",
8844
- "hover:bg-[var(--color-button-hero-bg-hover)] hover:text-[var(--color-button-hero-fg-hover)]",
8845
- "data-[selected]:bg-[var(--color-button-hero-bg-selected)] data-[selected]:text-[var(--color-button-hero-fg-selected)]",
8846
- "data-[selected]:hover:bg-[var(--color-button-hero-bg-selected)] data-[selected]:hover:text-[var(--color-hover)]",
8847
- "data-[selected]:data-[expanded]:text-[var(--color-hover)]"
8848
- ].join(" "),
8849
- segmented: [
8850
- "bg-transparent border-2 border-solid rounded-none",
8851
- "text-[var(--color-button-segmented-fg)] border-[var(--color-selected-control-bg)]",
8852
- "hover:text-[var(--color-hover)]",
8853
- "data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
8854
- "data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-selected-control-text)]",
8855
- "[&:not(:last-child)]:border-r-0 data-[selected]:[&:not(:last-child)]:border-r-2",
8856
- "data-[selected]+*:border-l-0",
8857
- "first:rounded-l-md last:rounded-r-md"
8858
- ].join(" "),
8859
- plain: "bg-transparent text-inherit border-none hover:bg-transparent",
8860
- subtle: [
8861
- "bg-[var(--color-button-subtle-bg)] text-[var(--color-button-subtle-fg)]",
8862
- "hover:bg-[var(--color-button-subtle-bg)] hover:text-[var(--color-hover)]",
8863
- "disabled:bg-[var(--color-button-subtle-bg)] disabled:text-[var(--color-button-subtle-fg)]"
8864
- ].join(" "),
8865
- link: [
8866
- "bg-transparent text-[var(--color-link-primary)] border-none font-normal",
8867
- "px-0 h-auto",
8868
- "hover:bg-transparent hover:text-[var(--color-link-primary-hover)]",
8869
- "disabled:text-[var(--color-text-secondary)]"
8870
- ].join(" "),
8871
- icon_secondary: [
8872
- "bg-transparent text-[var(--color-icon-secondary)] border-none",
8873
- "hover:text-[var(--color-hover)]",
8874
- "data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
8875
- "data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-hover)]",
8876
- "data-[selected]:data-[expanded]:text-[var(--color-hover)]",
8877
- "data-[expanded]:text-[var(--color-hover)]"
8878
- ].join(" "),
8879
- icon_background: [
8880
- "bg-[var(--color-button-icon-background-bg)] text-[var(--color-icon-secondary)] border-none",
8881
- "hover:text-[var(--color-hover)]",
8882
- "data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
8883
- "data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-hover)]",
8884
- "data-[selected]:data-[expanded]:text-[var(--color-hover)]",
8885
- "data-[expanded]:text-[var(--color-hover)]"
8886
- ].join(" "),
8887
- pagination: [
8888
- "border-2 border-solid bg-transparent",
8889
- "text-[var(--color-button-pagination-fg)] border-[var(--color-button-pagination-border)]",
8890
- "hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
8891
- "data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)] data-[selected]:border-transparent",
8892
- "data-[selected]:hover:bg-[var(--color-selected-control-bg)]",
8893
- "data-[selected]:hover:text-[var(--color-selected-control-text)] data-[selected]:hover:border-transparent"
8894
- ].join(" ")
8895
- };
8896
- var BASE_CLASSES = "font-semibold whitespace-nowrap transition-colors duration-150";
8897
- var SP = 4;
8898
- function buildShimStyle(props) {
8899
- const s = { ...props.style };
8900
- if (props.mt !== void 0) s.marginTop = typeof props.mt === "number" ? `${props.mt * SP}px` : props.mt;
8901
- if (props.ml !== void 0) s.marginLeft = typeof props.ml === "number" ? `${props.ml * SP}px` : props.ml;
8902
- if (props.mr !== void 0) s.marginRight = typeof props.mr === "number" ? `${props.mr * SP}px` : props.mr;
8903
- if (props.px !== void 0) {
8904
- const v = typeof props.px === "number" ? `${props.px * SP}px` : props.px;
8905
- s.paddingLeft = v;
8906
- s.paddingRight = v;
8907
- }
8908
- if (props.py !== void 0) {
8909
- const v = typeof props.py === "number" ? `${props.py * SP}px` : props.py;
8910
- s.paddingTop = v;
8911
- s.paddingBottom = v;
8912
- }
8913
- if (props.fontWeight !== void 0) s.fontWeight = props.fontWeight;
8914
- if (props.gap !== void 0) s.gap = typeof props.gap === "number" ? `${props.gap * SP}px` : props.gap;
8915
- if (props.flexShrink !== void 0) s.flexShrink = props.flexShrink;
8916
- if (props.columnGap !== void 0) s.columnGap = typeof props.columnGap === "number" ? `${props.columnGap * SP}px` : props.columnGap;
8917
- if (props.gridColumn !== void 0) s.gridColumn = typeof props.gridColumn === "number" ? String(props.gridColumn) : props.gridColumn;
8918
- if (props.gridRow) s.gridRow = props.gridRow;
8919
- if (props.justifySelf) s.justifySelf = props.justifySelf;
8920
- if (props.alignSelf) s.alignSelf = props.alignSelf;
8921
- if (props.h) s.height = props.h;
8922
- if (props.w) s.width = props.w;
8923
- if (props.display) s.display = props.display;
8924
- if (props.borderBottomRightRadius !== void 0) s.borderBottomRightRadius = typeof props.borderBottomRightRadius === "number" ? `${props.borderBottomRightRadius}px` : props.borderBottomRightRadius;
8925
- if (props.borderTopRightRadius !== void 0) s.borderTopRightRadius = typeof props.borderTopRightRadius === "number" ? `${props.borderTopRightRadius}px` : props.borderTopRightRadius;
8926
- return Object.keys(s).length > 0 ? s : void 0;
8927
- }
8928
- var Button = React6__namespace.forwardRef(
8929
- function Button2(props, ref) {
8930
- const {
8931
- className,
8932
- variant = "solid",
8933
- size = "md",
8934
- asChild = false,
8935
- loading = false,
8936
- loadingText,
8937
- loadingSkeleton = false,
8938
- expanded,
8939
- selected,
8940
- highlighted,
8941
- disabled,
8942
- children,
8943
- style: styleProp,
8944
- // Strip Chakra style props
8945
- mt,
8946
- ml,
8947
- mr,
8948
- px: px2,
8949
- py,
8950
- fontWeight,
8951
- gap,
8952
- flexShrink,
8953
- columnGap,
8954
- gridColumn,
8955
- gridRow,
8956
- justifySelf,
8957
- alignSelf,
8958
- textStyle: _textStyle,
8959
- h,
8960
- w,
8961
- display,
8962
- borderBottomRightRadius,
8963
- borderTopRightRadius,
8964
- ...rest
8965
- } = props;
8966
- const mergedStyle = buildShimStyle({
8967
- style: styleProp,
8968
- mt,
8969
- ml,
8970
- mr,
8971
- px: px2,
8972
- py,
8973
- fontWeight,
8974
- gap,
8975
- flexShrink,
8976
- columnGap,
8977
- gridColumn,
8978
- gridRow,
8979
- justifySelf,
8980
- alignSelf,
8981
- h,
8982
- w,
8983
- display,
8984
- borderBottomRightRadius,
8985
- borderTopRightRadius
8986
- });
8987
- const dataAttrs = {};
8988
- if (expanded) dataAttrs["data-expanded"] = true;
8989
- if (selected) dataAttrs["data-selected"] = true;
8990
- if (highlighted) dataAttrs["data-highlighted"] = true;
8991
- if (loadingSkeleton) dataAttrs["data-loading-skeleton"] = true;
8992
- const isDisabled = !loadingSkeleton && (loading || disabled);
8993
- const inner = loading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8994
- /* @__PURE__ */ jsxRuntime.jsx(Spinner, {}),
8995
- loadingText != null && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { marginLeft: 8 }, children: loadingText })
8996
- ] }) : children;
8997
- const variantClass = VARIANT_CLASSES[variant] ?? VARIANT_CLASSES.solid;
8998
- const combinedClassName = [BASE_CLASSES, variantClass, className].filter(Boolean).join(" ");
8999
- const button = /* @__PURE__ */ jsxRuntime.jsx(
9000
- ButtonFrame,
9001
- {
9002
- ref,
9003
- size,
9004
- disabled: isDisabled || void 0,
9005
- asChild: asChild || void 0,
9006
- className: combinedClassName,
9007
- style: mergedStyle,
9008
- ...dataAttrs,
9009
- ...rest,
9010
- children: inner
9011
- }
9012
- );
9013
- if (loadingSkeleton) {
9014
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { loading: loadingSkeleton, asChild: true, ref, children: button });
9015
- }
9016
- return button;
9017
- }
9018
- );
9019
- React6__namespace.forwardRef(
9020
- function ButtonGroup2(props, ref) {
9021
- const { className, ...rest } = props;
9022
- return /* @__PURE__ */ jsxRuntime.jsx(
9023
- ui.Box,
9024
- {
9025
- ref,
9026
- className: ["inline-flex", className].filter(Boolean).join(" "),
9027
- role: "group",
9028
- ...rest
9029
- }
9030
- );
9031
- }
9032
- );
9033
- React6__namespace.forwardRef(
9034
- function ButtonGroupRadio2(props, ref) {
9035
- const {
9036
- children,
9037
- onChange,
9038
- variant = "segmented",
9039
- defaultValue,
9040
- loading = false,
9041
- equalWidth = false,
9042
- className,
9043
- ...rest
9044
- } = props;
9045
- const firstChildValue = React6__namespace.useMemo(() => {
9046
- const firstChild = Array.isArray(children) ? children[0] : void 0;
9047
- return typeof firstChild?.props.value === "string" ? firstChild.props.value : void 0;
9048
- }, [children]);
9049
- const [value, setValue] = React6__namespace.useState(defaultValue ?? firstChildValue);
9050
- const handleItemClick = React6__namespace.useCallback((event) => {
9051
- const v = event.currentTarget.value;
9052
- setValue(v);
9053
- onChange?.(v);
9054
- }, [onChange]);
9055
- const clonedChildren = React6__namespace.Children.map(children, (child) => {
9056
- return React6__namespace.cloneElement(child, {
9057
- onClick: handleItemClick,
9058
- selected: value === child.props.value,
9059
- variant
9060
- });
9061
- });
9062
- const childrenLength = React6__namespace.Children.count(children);
9063
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { loading, children: /* @__PURE__ */ jsxRuntime.jsx(
9064
- ui.Box,
9065
- {
9066
- ref,
9067
- className: [
9068
- "inline-flex gap-0",
9069
- equalWidth ? "grid" : "",
9070
- className
9071
- ].filter(Boolean).join(" "),
9072
- style: equalWidth ? { gridTemplateColumns: `repeat(${childrenLength}, 1fr)` } : void 0,
9073
- role: "group",
9074
- ...rest,
9075
- children: clonedChildren
9076
- }
9077
- ) });
9078
- }
9079
- );
9080
8684
  function AppleCardsCarousel({
9081
8685
  cards,
9082
8686
  autoPlay = false,
@@ -9090,9 +8694,9 @@ function AppleCardsCarousel({
9090
8694
  stackScale = 0.95,
9091
8695
  swipeThreshold = 50
9092
8696
  }) {
9093
- const [currentIndex, setCurrentIndex] = React6__namespace.useState(0);
9094
- const [isAutoPlaying, setIsAutoPlaying] = React6__namespace.useState(autoPlay);
9095
- const containerRef = React6__namespace.useRef(null);
8697
+ const [currentIndex, setCurrentIndex] = React4__namespace.useState(0);
8698
+ const [isAutoPlaying, setIsAutoPlaying] = React4__namespace.useState(autoPlay);
8699
+ const containerRef = React4__namespace.useRef(null);
9096
8700
  const dragX = useMotionValue(0);
9097
8701
  const getCardStyle = (index) => {
9098
8702
  const offset = index - currentIndex;
@@ -9118,16 +8722,16 @@ function AppleCardsCarousel({
9118
8722
  zIndex
9119
8723
  };
9120
8724
  };
9121
- const goToNext = React6__namespace.useCallback(() => {
8725
+ const goToNext = React4__namespace.useCallback(() => {
9122
8726
  setCurrentIndex((prev) => (prev + 1) % cards.length);
9123
8727
  }, [cards.length]);
9124
- const goToPrevious = React6__namespace.useCallback(() => {
8728
+ const goToPrevious = React4__namespace.useCallback(() => {
9125
8729
  setCurrentIndex((prev) => (prev - 1 + cards.length) % cards.length);
9126
8730
  }, [cards.length]);
9127
- const goToCard = React6__namespace.useCallback((index) => {
8731
+ const goToCard = React4__namespace.useCallback((index) => {
9128
8732
  setCurrentIndex(index);
9129
8733
  }, []);
9130
- const handleDragEnd = React6__namespace.useCallback(
8734
+ const handleDragEnd = React4__namespace.useCallback(
9131
8735
  (event, info) => {
9132
8736
  const { offset, velocity } = info;
9133
8737
  if (Math.abs(offset.x) > swipeThreshold || Math.abs(velocity.x) > 500) {
@@ -9140,22 +8744,22 @@ function AppleCardsCarousel({
9140
8744
  },
9141
8745
  [goToNext, goToPrevious, swipeThreshold]
9142
8746
  );
9143
- React6__namespace.useEffect(() => {
8747
+ React4__namespace.useEffect(() => {
9144
8748
  if (!isAutoPlaying) return;
9145
8749
  const interval = setInterval(goToNext, autoPlayInterval);
9146
8750
  return () => clearInterval(interval);
9147
8751
  }, [isAutoPlaying, goToNext, autoPlayInterval]);
9148
- const handleMouseEnter = React6__namespace.useCallback(() => {
8752
+ const handleMouseEnter = React4__namespace.useCallback(() => {
9149
8753
  if (autoPlay) {
9150
8754
  setIsAutoPlaying(false);
9151
8755
  }
9152
8756
  }, [autoPlay]);
9153
- const handleMouseLeave = React6__namespace.useCallback(() => {
8757
+ const handleMouseLeave = React4__namespace.useCallback(() => {
9154
8758
  if (autoPlay) {
9155
8759
  setIsAutoPlaying(true);
9156
8760
  }
9157
8761
  }, [autoPlay]);
9158
- React6__namespace.useEffect(() => {
8762
+ React4__namespace.useEffect(() => {
9159
8763
  const handleKeyDown = (e) => {
9160
8764
  if (e.key === "ArrowLeft") {
9161
8765
  goToPrevious();
@@ -9284,7 +8888,7 @@ function AppleCardsCarousel({
9284
8888
  }) }) }),
9285
8889
  showArrows && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9286
8890
  /* @__PURE__ */ jsxRuntime.jsxs(
9287
- Button,
8891
+ button_js.Button,
9288
8892
  {
9289
8893
  variant: "ghost",
9290
8894
  size: "icon",
@@ -9302,7 +8906,7 @@ function AppleCardsCarousel({
9302
8906
  }
9303
8907
  ),
9304
8908
  /* @__PURE__ */ jsxRuntime.jsxs(
9305
- Button,
8909
+ button_js.Button,
9306
8910
  {
9307
8911
  variant: "ghost",
9308
8912
  size: "icon",