@ecohouse/ui 0.1.28 → 0.1.30

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.
package/dist/index.cjs CHANGED
@@ -878,7 +878,7 @@ function LocationPinIcon({ size = 20, color = colors.grey200, strokeWidth = 2 })
878
878
  }
879
879
 
880
880
  // src/icons/LogOut/logOutPath.ts
881
- var LOG_OUT_PATH = "M10.6667 4.66667L14 8L10.6667 11.3333M14 8H6M8 11.3333C8 11.5304 8 11.6289 7.99268 11.7143C7.91655 12.6013 7.26324 13.3312 6.39002 13.5049C6.30602 13.5216 6.20801 13.5324 6.01223 13.5542L5.3313 13.6299C4.30832 13.7435 3.7968 13.8004 3.39044 13.6703C2.84862 13.4969 2.40628 13.101 2.17412 12.5817C2 12.1921 2 11.6775 2 10.6482V5.3518C2 4.32251 2 3.80787 2.17412 3.41835C2.40628 2.89899 2.84862 2.50307 3.39044 2.32969C3.79681 2.19965 4.3083 2.25648 5.33129 2.37015L6.01223 2.44581C6.20808 2.46757 6.306 2.47845 6.39002 2.49515C7.26324 2.66877 7.91655 3.39869 7.99268 4.28574C8 4.37109 8 4.46962 8 4.66667";
881
+ var LOG_OUT_PATH = "M10.6667 4.66667L14 8L10.6667 11.3333M14 8H6M6 2H5.2C4.0799 2 3.51984 2 3.09202 2.21799C2.7157 2.40973 2.40973 2.71569 2.21799 3.09202C2 3.51984 2 4.07989 2 5.2V10.8C2 11.9201 2 12.4802 2.21799 12.908C2.40973 13.2843 2.71569 13.5903 3.09202 13.782C3.51984 14 4.0799 14 5.2 14H6";
882
882
  function LogOutIcon({ size = 20, color = colors.red, strokeWidth = 1.5 }) {
883
883
  return /* @__PURE__ */ jsxRuntime.jsx(Svg16__default.default, { width: size, height: size, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
884
884
  Svg16.Path,
@@ -2076,6 +2076,136 @@ var styles4 = reactNative.StyleSheet.create({
2076
2076
  })
2077
2077
  }
2078
2078
  });
2079
+ var IMAGE_SIZE2 = 32;
2080
+ var CARD_WIDTH = 268;
2081
+ var CARD_HEIGHT = 56;
2082
+ var LOG_OUT_SIZE = 16;
2083
+ var AvatarSimple = react.forwardRef(
2084
+ function AvatarSimple2({
2085
+ name,
2086
+ email,
2087
+ imageUrl,
2088
+ onLogOut,
2089
+ logOutAccessibilityLabel = "Log out",
2090
+ compact = false,
2091
+ style,
2092
+ className,
2093
+ ...rest
2094
+ }, forwardedRef) {
2095
+ const containerRef = react.useRef(null);
2096
+ const setContainerRef = react.useMemo(() => mergeRefs(containerRef, forwardedRef), [forwardedRef]);
2097
+ const [imageFailed, setImageFailed] = react.useState(false);
2098
+ const showImage = Boolean(imageUrl) && !imageFailed;
2099
+ useApplyWebClassName(containerRef, className);
2100
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2101
+ reactNative.View,
2102
+ {
2103
+ ...rest,
2104
+ ref: setContainerRef,
2105
+ style: [styles5.root, compact ? styles5.rootCompact : styles5.rootCard, style],
2106
+ accessibilityRole: "summary",
2107
+ accessibilityLabel: `${name}, ${email}`,
2108
+ children: [
2109
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles5.avatar, children: showImage ? /* @__PURE__ */ jsxRuntime.jsx(
2110
+ reactNative.Image,
2111
+ {
2112
+ source: { uri: imageUrl ?? void 0 },
2113
+ style: styles5.avatarImage,
2114
+ onError: () => setImageFailed(true),
2115
+ accessibilityIgnoresInvertColors: true
2116
+ }
2117
+ ) : null }),
2118
+ !compact ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles5.details, children: [
2119
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles5.textBlock, children: [
2120
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles5.name, numberOfLines: 1, children: name }),
2121
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles5.email, numberOfLines: 1, children: email })
2122
+ ] }),
2123
+ /* @__PURE__ */ jsxRuntime.jsx(
2124
+ reactNative.Pressable,
2125
+ {
2126
+ onPress: onLogOut,
2127
+ accessibilityRole: "button",
2128
+ accessibilityLabel: logOutAccessibilityLabel,
2129
+ hitSlop: 8,
2130
+ style: styles5.logOutButton,
2131
+ children: /* @__PURE__ */ jsxRuntime.jsx(LogOutIcon, { color: colors.primary, size: LOG_OUT_SIZE, strokeWidth: 2 })
2132
+ }
2133
+ )
2134
+ ] }) : null
2135
+ ]
2136
+ }
2137
+ );
2138
+ }
2139
+ );
2140
+ var styles5 = reactNative.StyleSheet.create({
2141
+ root: {
2142
+ flexDirection: "row",
2143
+ alignItems: "center",
2144
+ overflow: "hidden"
2145
+ },
2146
+ rootCard: {
2147
+ width: CARD_WIDTH,
2148
+ height: CARD_HEIGHT,
2149
+ gap: 12,
2150
+ borderRadius: 12,
2151
+ paddingVertical: 4,
2152
+ paddingHorizontal: 12,
2153
+ backgroundColor: colors.grey700
2154
+ },
2155
+ rootCompact: {
2156
+ width: IMAGE_SIZE2,
2157
+ height: IMAGE_SIZE2,
2158
+ borderRadius: IMAGE_SIZE2,
2159
+ backgroundColor: "transparent"
2160
+ },
2161
+ avatar: {
2162
+ width: IMAGE_SIZE2,
2163
+ height: IMAGE_SIZE2,
2164
+ borderRadius: 56,
2165
+ backgroundColor: colors.grey500,
2166
+ overflow: "hidden",
2167
+ flexShrink: 0
2168
+ },
2169
+ avatarImage: {
2170
+ width: IMAGE_SIZE2,
2171
+ height: IMAGE_SIZE2
2172
+ },
2173
+ details: {
2174
+ flex: 1,
2175
+ minWidth: 0,
2176
+ flexDirection: "row",
2177
+ alignItems: "center",
2178
+ gap: 12
2179
+ },
2180
+ textBlock: {
2181
+ flex: 1,
2182
+ minWidth: 0
2183
+ },
2184
+ name: {
2185
+ fontFamily: fonts.sans,
2186
+ fontSize: 12,
2187
+ fontWeight: "600",
2188
+ lineHeight: 16,
2189
+ letterSpacing: 0,
2190
+ color: colors.white
2191
+ },
2192
+ email: {
2193
+ marginTop: 2,
2194
+ fontFamily: fonts.sans,
2195
+ fontSize: 12,
2196
+ fontWeight: "400",
2197
+ lineHeight: 16,
2198
+ letterSpacing: 0,
2199
+ color: colors.grey0
2200
+ },
2201
+ logOutButton: {
2202
+ width: LOG_OUT_SIZE,
2203
+ height: LOG_OUT_SIZE,
2204
+ alignItems: "center",
2205
+ justifyContent: "center",
2206
+ flexShrink: 0
2207
+ }
2208
+ });
2079
2209
  var ICON_SIZE3 = 20;
2080
2210
  var webBlurStyle2 = reactNative.Platform.OS === "web" ? {
2081
2211
  backdropFilter: "blur(10.3px)",
@@ -2107,22 +2237,22 @@ var Badge = react.forwardRef(function Badge2({ label, variant = "default", icon:
2107
2237
  ...rest,
2108
2238
  ref: setContainerRef,
2109
2239
  style: [
2110
- styles5.base,
2240
+ styles6.base,
2111
2241
  { backgroundColor: preset.backgroundColor },
2112
- preset.border ? styles5.transparentBorder : null,
2242
+ preset.border ? styles6.transparentBorder : null,
2113
2243
  preset.blur ? webBlurStyle2 : null,
2114
2244
  style
2115
2245
  ],
2116
2246
  accessibilityRole: "text",
2117
2247
  accessibilityLabel: accessibilityLabel ?? label,
2118
2248
  children: [
2119
- Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles5.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE3, color: preset.iconColor }) }) : null,
2120
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles5.label, reactNative.Platform.OS === "android" ? styles5.labelAndroid : null], children: label })
2249
+ Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles6.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE3, color: preset.iconColor }) }) : null,
2250
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles6.label, reactNative.Platform.OS === "android" ? styles6.labelAndroid : null], children: label })
2121
2251
  ]
2122
2252
  }
2123
2253
  );
2124
2254
  });
2125
- var styles5 = reactNative.StyleSheet.create({
2255
+ var styles6 = reactNative.StyleSheet.create({
2126
2256
  base: {
2127
2257
  flexDirection: "row",
2128
2258
  alignItems: "center",
@@ -2195,7 +2325,7 @@ var Counter = react.forwardRef(function Counter2({
2195
2325
  if (!isControlled) setUncontrolledValue(next);
2196
2326
  onValueChange?.(next);
2197
2327
  };
2198
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles6.base, style], children: [
2328
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles7.base, style], children: [
2199
2329
  /* @__PURE__ */ jsxRuntime.jsx(
2200
2330
  reactNative.Pressable,
2201
2331
  {
@@ -2205,11 +2335,11 @@ var Counter = react.forwardRef(function Counter2({
2205
2335
  accessibilityRole: "button",
2206
2336
  accessibilityLabel: "Decrease value",
2207
2337
  accessibilityState: { disabled: decrementDisabled },
2208
- style: [styles6.button, webBlurStyle3, decrementDisabled && styles6.buttonDisabled],
2338
+ style: [styles7.button, webBlurStyle3, decrementDisabled && styles7.buttonDisabled],
2209
2339
  children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {})
2210
2340
  }
2211
2341
  ),
2212
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles6.value, children: resolvedValue }),
2342
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles7.value, children: resolvedValue }),
2213
2343
  /* @__PURE__ */ jsxRuntime.jsx(
2214
2344
  reactNative.Pressable,
2215
2345
  {
@@ -2219,13 +2349,13 @@ var Counter = react.forwardRef(function Counter2({
2219
2349
  accessibilityRole: "button",
2220
2350
  accessibilityLabel: "Increase value",
2221
2351
  accessibilityState: { disabled: incrementDisabled },
2222
- style: [styles6.button, webBlurStyle3, incrementDisabled && styles6.buttonDisabled],
2352
+ style: [styles7.button, webBlurStyle3, incrementDisabled && styles7.buttonDisabled],
2223
2353
  children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, {})
2224
2354
  }
2225
2355
  )
2226
2356
  ] });
2227
2357
  });
2228
- var styles6 = reactNative.StyleSheet.create({
2358
+ var styles7 = reactNative.StyleSheet.create({
2229
2359
  base: {
2230
2360
  flexDirection: "row",
2231
2361
  alignItems: "center",
@@ -2255,6 +2385,17 @@ var OPTION_HORIZONTAL_PADDING = 16;
2255
2385
  var OPTION_CONTENT_GAP = 12;
2256
2386
  var OPTION_MIN_WIDTH = 97;
2257
2387
  var OPTION_MEASUREMENT_TOLERANCE = 0.5;
2388
+ var TRACK_PADDING = 4;
2389
+ var OPTION_GAP = 4;
2390
+ function buildIndicatorOutputRange(optionWidths) {
2391
+ const outputRange = [];
2392
+ let offset = 0;
2393
+ for (let index = 0; index < optionWidths.length; index += 1) {
2394
+ outputRange.push(offset);
2395
+ offset += optionWidths[index] + OPTION_GAP;
2396
+ }
2397
+ return outputRange;
2398
+ }
2258
2399
  var SegmentedToggle = react.forwardRef(
2259
2400
  function SegmentedToggle2({
2260
2401
  options,
@@ -2269,6 +2410,7 @@ var SegmentedToggle = react.forwardRef(
2269
2410
  onLayout,
2270
2411
  ...rest
2271
2412
  }, forwardedRef) {
2413
+ const optionCount = options.length;
2272
2414
  const containerRef = react.useRef(null);
2273
2415
  const isControlled = value !== void 0;
2274
2416
  const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
@@ -2280,20 +2422,31 @@ var SegmentedToggle = react.forwardRef(
2280
2422
  const resolvedClassName = className?.trim() || void 0;
2281
2423
  const setContainerRef = react.useMemo(() => mergeRefs(containerRef, forwardedRef), [forwardedRef]);
2282
2424
  const progress = react.useRef(new reactNative.Animated.Value(selectedIndex)).current;
2283
- const [contentWidths, setContentWidths] = react.useState([0, 0]);
2425
+ const [contentWidths, setContentWidths] = react.useState(
2426
+ () => Array.from({ length: optionCount }, () => 0)
2427
+ );
2284
2428
  const [containerWidth, setContainerWidth] = react.useState(0);
2285
- const availableOptionWidth = Math.max(0, (containerWidth - 12) / 2);
2429
+ const trackChrome = TRACK_PADDING * 2 + OPTION_GAP * (optionCount - 1);
2430
+ const availableOptionWidth = Math.max(0, (containerWidth - trackChrome) / optionCount);
2286
2431
  const resolveContentOptionWidth = (contentWidth) => contentWidth > 0 ? Math.max(
2287
2432
  OPTION_MIN_WIDTH,
2288
2433
  contentWidth + OPTION_HORIZONTAL_PADDING * 2 + OPTION_MEASUREMENT_TOLERANCE
2289
2434
  ) : 0;
2290
- const optionWidths = fullWidth ? [availableOptionWidth, availableOptionWidth] : [resolveContentOptionWidth(contentWidths[0]), resolveContentOptionWidth(contentWidths[1])];
2291
- const selectedOptionWidth = optionWidths[selectedIndex];
2435
+ const optionWidths = fullWidth ? Array.from({ length: optionCount }, () => availableOptionWidth) : contentWidths.map((width) => resolveContentOptionWidth(width));
2436
+ const selectedOptionWidth = optionWidths[selectedIndex] ?? 0;
2437
+ const indicatorInputRange = options.map((_, index) => index);
2438
+ const indicatorOutputRange = buildIndicatorOutputRange(optionWidths);
2292
2439
  const indicatorTranslateX = progress.interpolate({
2293
- inputRange: [0, 1],
2294
- outputRange: [0, optionWidths[0] + 4]
2440
+ inputRange: indicatorInputRange,
2441
+ outputRange: indicatorOutputRange
2295
2442
  });
2296
2443
  useApplyWebClassName(containerRef, resolvedClassName);
2444
+ react.useEffect(() => {
2445
+ setContentWidths((current) => {
2446
+ if (current.length === optionCount) return current;
2447
+ return Array.from({ length: optionCount }, (_, index) => current[index] ?? 0);
2448
+ });
2449
+ }, [optionCount]);
2297
2450
  react.useEffect(() => {
2298
2451
  const animation = reactNative.Animated.timing(progress, {
2299
2452
  toValue: selectedIndex,
@@ -2322,9 +2475,9 @@ var SegmentedToggle = react.forwardRef(
2322
2475
  onLayout?.(event);
2323
2476
  },
2324
2477
  style: [
2325
- styles7.base,
2326
- fullWidth ? styles7.fullWidth : styles7.contentWidth,
2327
- disabled && styles7.disabled,
2478
+ styles8.base,
2479
+ fullWidth ? styles8.fullWidth : styles8.contentWidth,
2480
+ disabled && styles8.disabled,
2328
2481
  style
2329
2482
  ],
2330
2483
  accessibilityRole: "radiogroup",
@@ -2340,15 +2493,15 @@ var SegmentedToggle = react.forwardRef(
2340
2493
  const nextWidth = event.nativeEvent.layout.width;
2341
2494
  setContentWidths((currentWidths) => {
2342
2495
  if (currentWidths[index] === nextWidth) return currentWidths;
2343
- const nextWidths = [currentWidths[0], currentWidths[1]];
2496
+ const nextWidths = [...currentWidths];
2344
2497
  nextWidths[index] = nextWidth;
2345
2498
  return nextWidths;
2346
2499
  });
2347
2500
  },
2348
- style: styles7.optionMeasurement,
2501
+ style: styles8.optionMeasurement,
2349
2502
  children: [
2350
2503
  Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE4 }) : null,
2351
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles7.label, styles7.contentWidthLabel], children: label })
2504
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles8.label, styles8.contentWidthLabel], children: label })
2352
2505
  ]
2353
2506
  },
2354
2507
  `${optionValue}-measurement`
@@ -2358,7 +2511,7 @@ var SegmentedToggle = react.forwardRef(
2358
2511
  {
2359
2512
  pointerEvents: "none",
2360
2513
  style: [
2361
- styles7.activeIndicator,
2514
+ styles8.activeIndicator,
2362
2515
  { width: selectedOptionWidth, transform: [{ translateX: indicatorTranslateX }] }
2363
2516
  ]
2364
2517
  }
@@ -2367,6 +2520,7 @@ var SegmentedToggle = react.forwardRef(
2367
2520
  const selected = optionValue === selectedValue;
2368
2521
  const iconColor = selected ? colors.primary : colors.whiteAlpha20;
2369
2522
  const labelColor = selected ? colors.whiteAlpha86 : colors.whiteAlpha40;
2523
+ const optionWidth = optionWidths[index] ?? 0;
2370
2524
  return /* @__PURE__ */ jsxRuntime.jsx(
2371
2525
  reactNative.Pressable,
2372
2526
  {
@@ -2377,21 +2531,18 @@ var SegmentedToggle = react.forwardRef(
2377
2531
  accessibilityLabel: label,
2378
2532
  accessibilityState: { selected, disabled },
2379
2533
  style: [
2380
- styles7.option,
2381
- fullWidth ? styles7.optionFullWidth : [
2382
- styles7.optionContentWidth,
2383
- optionWidths[index] > 0 && { width: optionWidths[index] }
2384
- ]
2534
+ styles8.option,
2535
+ fullWidth ? styles8.optionFullWidth : [styles8.optionContentWidth, optionWidth > 0 && { width: optionWidth }]
2385
2536
  ],
2386
- children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles7.optionContent, children: [
2537
+ children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles8.optionContent, children: [
2387
2538
  Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE4, color: iconColor }) : null,
2388
2539
  /* @__PURE__ */ jsxRuntime.jsx(
2389
2540
  reactNative.Text,
2390
2541
  {
2391
2542
  numberOfLines: fullWidth ? 1 : void 0,
2392
2543
  style: [
2393
- styles7.label,
2394
- !fullWidth && styles7.contentWidthLabel,
2544
+ styles8.label,
2545
+ !fullWidth && styles8.contentWidthLabel,
2395
2546
  { color: labelColor }
2396
2547
  ],
2397
2548
  children: label
@@ -2407,12 +2558,12 @@ var SegmentedToggle = react.forwardRef(
2407
2558
  );
2408
2559
  }
2409
2560
  );
2410
- var styles7 = reactNative.StyleSheet.create({
2561
+ var styles8 = reactNative.StyleSheet.create({
2411
2562
  base: {
2412
2563
  height: 44,
2413
2564
  flexDirection: "row",
2414
- padding: 4,
2415
- gap: 4,
2565
+ padding: TRACK_PADDING,
2566
+ gap: OPTION_GAP,
2416
2567
  borderRadius: 60,
2417
2568
  backgroundColor: colors.grey700,
2418
2569
  overflow: "hidden"
@@ -2457,8 +2608,8 @@ var styles7 = reactNative.StyleSheet.create({
2457
2608
  },
2458
2609
  activeIndicator: {
2459
2610
  position: "absolute",
2460
- top: 4,
2461
- left: 4,
2611
+ top: TRACK_PADDING,
2612
+ left: TRACK_PADDING,
2462
2613
  height: 36,
2463
2614
  backgroundColor: colors.grey600,
2464
2615
  borderRadius: 60
@@ -2471,6 +2622,242 @@ var styles7 = reactNative.StyleSheet.create({
2471
2622
  flexShrink: 0
2472
2623
  }
2473
2624
  });
2625
+ var SIDEBAR_WIDTH = 300;
2626
+ var SIDEBAR_COLLAPSED_WIDTH = 72;
2627
+ var HEADER_HEIGHT = 64;
2628
+ var LOGO_WIDTH = 31;
2629
+ var LOGO_HEIGHT = 44;
2630
+ var TOGGLE_SIZE = 20;
2631
+ var MENU_ICON_SIZE = 16;
2632
+ var PROFILE_SECTION_HEIGHT = 80;
2633
+ var SIDEBAR_TRANSITION_MS = 300;
2634
+ var Sidebar = react.forwardRef(function Sidebar2({
2635
+ items,
2636
+ user,
2637
+ onLogOut,
2638
+ logoAccessibilityLabel = "Cortel Booking",
2639
+ navigationAccessibilityLabel = "Account navigation",
2640
+ collapseAccessibilityLabel = "Collapse sidebar",
2641
+ expandAccessibilityLabel = "Expand sidebar",
2642
+ logOutAccessibilityLabel = "Log out",
2643
+ collapsed: collapsedProp,
2644
+ defaultCollapsed = false,
2645
+ onCollapsedChange,
2646
+ style,
2647
+ className,
2648
+ ...rest
2649
+ }, forwardedRef) {
2650
+ const containerRef = react.useRef(null);
2651
+ const setContainerRef = react.useMemo(() => mergeRefs(containerRef, forwardedRef), [forwardedRef]);
2652
+ const [uncontrolledCollapsed, setUncontrolledCollapsed] = react.useState(defaultCollapsed);
2653
+ const collapsed = collapsedProp ?? uncontrolledCollapsed;
2654
+ const widthAnim = react.useRef(
2655
+ new reactNative.Animated.Value(collapsed ? SIDEBAR_COLLAPSED_WIDTH : SIDEBAR_WIDTH)
2656
+ ).current;
2657
+ const labelOpacity = react.useRef(new reactNative.Animated.Value(collapsed ? 0 : 1)).current;
2658
+ useApplyWebClassName(containerRef, className);
2659
+ react.useEffect(() => {
2660
+ const nextWidth = collapsed ? SIDEBAR_COLLAPSED_WIDTH : SIDEBAR_WIDTH;
2661
+ const nextOpacity = collapsed ? 0 : 1;
2662
+ const timing = {
2663
+ duration: SIDEBAR_TRANSITION_MS,
2664
+ easing: reactNative.Easing.inOut(reactNative.Easing.ease),
2665
+ useNativeDriver: false
2666
+ };
2667
+ const widthAnimation = reactNative.Animated.timing(widthAnim, { ...timing, toValue: nextWidth });
2668
+ const opacityAnimation = reactNative.Animated.timing(labelOpacity, { ...timing, toValue: nextOpacity });
2669
+ reactNative.Animated.parallel([widthAnimation, opacityAnimation]).start();
2670
+ return () => {
2671
+ widthAnimation.stop();
2672
+ opacityAnimation.stop();
2673
+ };
2674
+ }, [collapsed, labelOpacity, widthAnim]);
2675
+ const setCollapsed = (next) => {
2676
+ onCollapsedChange?.(next);
2677
+ if (collapsedProp === void 0) {
2678
+ setUncontrolledCollapsed(next);
2679
+ }
2680
+ };
2681
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2682
+ reactNative.Animated.View,
2683
+ {
2684
+ ...rest,
2685
+ ref: setContainerRef,
2686
+ style: [styles9.root, { width: widthAnim }, style],
2687
+ accessibilityRole: "menu",
2688
+ children: [
2689
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles9.header, collapsed ? styles9.headerCollapsed : styles9.headerExpanded], children: [
2690
+ /* @__PURE__ */ jsxRuntime.jsx(
2691
+ reactNative.Animated.View,
2692
+ {
2693
+ pointerEvents: collapsed ? "none" : "auto",
2694
+ style: [
2695
+ styles9.logoSlot,
2696
+ {
2697
+ opacity: labelOpacity,
2698
+ maxWidth: collapsed ? 0 : LOGO_WIDTH
2699
+ }
2700
+ ],
2701
+ accessibilityElementsHidden: collapsed,
2702
+ importantForAccessibility: collapsed ? "no-hide-descendants" : "auto",
2703
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2704
+ BrandLogo,
2705
+ {
2706
+ accessibilityLabel: logoAccessibilityLabel,
2707
+ height: LOGO_HEIGHT,
2708
+ variant: "brand",
2709
+ width: LOGO_WIDTH
2710
+ }
2711
+ )
2712
+ }
2713
+ ),
2714
+ /* @__PURE__ */ jsxRuntime.jsx(
2715
+ reactNative.Pressable,
2716
+ {
2717
+ accessibilityRole: "button",
2718
+ accessibilityLabel: collapsed ? expandAccessibilityLabel : collapseAccessibilityLabel,
2719
+ accessibilityState: { expanded: !collapsed },
2720
+ hitSlop: 8,
2721
+ onPress: () => setCollapsed(!collapsed),
2722
+ style: styles9.toggleButton,
2723
+ children: /* @__PURE__ */ jsxRuntime.jsx(SidebarIcon, { color: colors.grey100, size: TOGGLE_SIZE, strokeWidth: 2 })
2724
+ }
2725
+ )
2726
+ ] }),
2727
+ /* @__PURE__ */ jsxRuntime.jsx(
2728
+ reactNative.View,
2729
+ {
2730
+ accessibilityLabel: navigationAccessibilityLabel,
2731
+ accessibilityRole: "menu",
2732
+ style: styles9.nav,
2733
+ children: items.map((item) => {
2734
+ const isActive = Boolean(item.active);
2735
+ const iconColor = isActive ? colors.primary : colors.grey300;
2736
+ const Icon2 = item.icon;
2737
+ const iconNode = /* @__PURE__ */ jsxRuntime.jsx(Icon2, { color: iconColor, size: MENU_ICON_SIZE, strokeWidth: 1.5 });
2738
+ return /* @__PURE__ */ jsxRuntime.jsx(
2739
+ MenuItem,
2740
+ {
2741
+ icon: iconNode,
2742
+ label: item.label,
2743
+ accessibilityLabel: item.label,
2744
+ backgroundColor: isActive ? colors.grey700 : "transparent",
2745
+ hoverColor: colors.grey700,
2746
+ onPress: item.onPress,
2747
+ labelStyle: [
2748
+ styles9.menuLabel,
2749
+ { color: isActive ? colors.white : colors.grey200 },
2750
+ collapsed ? styles9.menuLabelCollapsed : styles9.menuLabelExpanded
2751
+ ],
2752
+ style: [styles9.menuItem, collapsed ? styles9.menuItemCollapsed : null]
2753
+ },
2754
+ item.key
2755
+ );
2756
+ })
2757
+ }
2758
+ ),
2759
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles9.footer, collapsed ? styles9.footerCollapsed : styles9.footerExpanded], children: /* @__PURE__ */ jsxRuntime.jsx(
2760
+ AvatarSimple,
2761
+ {
2762
+ name: user.name,
2763
+ email: user.email,
2764
+ imageUrl: user.imageUrl,
2765
+ onLogOut,
2766
+ logOutAccessibilityLabel,
2767
+ compact: collapsed
2768
+ }
2769
+ ) })
2770
+ ]
2771
+ }
2772
+ );
2773
+ });
2774
+ var styles9 = reactNative.StyleSheet.create({
2775
+ root: {
2776
+ height: "100%",
2777
+ flexShrink: 0,
2778
+ backgroundColor: colors.dark,
2779
+ borderRightWidth: 1,
2780
+ borderRightColor: colors.grey700,
2781
+ overflow: "hidden"
2782
+ },
2783
+ header: {
2784
+ zIndex: 1,
2785
+ height: HEADER_HEIGHT,
2786
+ width: "100%",
2787
+ flexDirection: "row",
2788
+ alignItems: "center",
2789
+ borderBottomWidth: 1,
2790
+ borderBottomColor: colors.grey700,
2791
+ backgroundColor: colors.dark
2792
+ },
2793
+ headerExpanded: {
2794
+ justifyContent: "space-between",
2795
+ paddingHorizontal: 24
2796
+ },
2797
+ headerCollapsed: {
2798
+ justifyContent: "center",
2799
+ paddingHorizontal: 0
2800
+ },
2801
+ logoSlot: {
2802
+ minWidth: 0,
2803
+ height: LOGO_HEIGHT,
2804
+ flexShrink: 0,
2805
+ overflow: "hidden"
2806
+ },
2807
+ toggleButton: {
2808
+ width: TOGGLE_SIZE,
2809
+ height: TOGGLE_SIZE,
2810
+ alignItems: "center",
2811
+ justifyContent: "center",
2812
+ flexShrink: 0
2813
+ },
2814
+ nav: {
2815
+ flex: 1,
2816
+ width: "100%",
2817
+ padding: 16,
2818
+ gap: 10
2819
+ },
2820
+ menuItem: {
2821
+ gap: 8
2822
+ },
2823
+ menuItemCollapsed: {
2824
+ gap: 0
2825
+ },
2826
+ menuLabel: {
2827
+ fontFamily: fonts.sans,
2828
+ fontSize: 12,
2829
+ fontWeight: "600",
2830
+ lineHeight: 16,
2831
+ letterSpacing: 0
2832
+ },
2833
+ menuLabelExpanded: {
2834
+ flexGrow: 1,
2835
+ flexShrink: 1,
2836
+ opacity: 1
2837
+ },
2838
+ menuLabelCollapsed: {
2839
+ flexGrow: 0,
2840
+ flexShrink: 0,
2841
+ width: 0,
2842
+ maxWidth: 0,
2843
+ opacity: 0,
2844
+ overflow: "hidden"
2845
+ },
2846
+ footer: {
2847
+ height: PROFILE_SECTION_HEIGHT,
2848
+ width: "100%",
2849
+ flexShrink: 0,
2850
+ alignItems: "center",
2851
+ justifyContent: "center",
2852
+ paddingVertical: 12
2853
+ },
2854
+ footerExpanded: {
2855
+ paddingHorizontal: 16
2856
+ },
2857
+ footerCollapsed: {
2858
+ paddingHorizontal: 0
2859
+ }
2860
+ });
2474
2861
  var defaultLanguageOptions = [
2475
2862
  { value: "hy", label: "\u0540\u0561\u0575" },
2476
2863
  { value: "en", label: "Eng" },
@@ -2558,7 +2945,7 @@ var LanguageSwitcher = react.forwardRef(
2558
2945
  {
2559
2946
  ...rest,
2560
2947
  ref: setWrapperRef,
2561
- style: [styles8.wrapper, isOpen && styles8.wrapperOpen, disabled && styles8.disabled, style],
2948
+ style: [styles10.wrapper, isOpen && styles10.wrapperOpen, disabled && styles10.disabled, style],
2562
2949
  children: [
2563
2950
  /* @__PURE__ */ jsxRuntime.jsxs(
2564
2951
  reactNative.Pressable,
@@ -2573,17 +2960,17 @@ var LanguageSwitcher = react.forwardRef(
2573
2960
  onHoverIn: () => setTriggerHovered(true),
2574
2961
  onHoverOut: () => setTriggerHovered(false),
2575
2962
  style: ({ pressed }) => [
2576
- styles8.trigger,
2577
- (triggerHovered || pressed || isOpen) && styles8.triggerActive
2963
+ styles10.trigger,
2964
+ (triggerHovered || pressed || isOpen) && styles10.triggerActive
2578
2965
  ],
2579
2966
  children: [
2580
2967
  /* @__PURE__ */ jsxRuntime.jsx(GlobeIcon, { size: ICON_SIZE5, color: colors.white, strokeWidth: 2 }),
2581
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles8.triggerLabel, numberOfLines: 1, children: selectedOption?.label ?? "" }),
2582
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles8.chevron, isOpen && styles8.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE5, color: colors.white, strokeWidth: 2 }) })
2968
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles10.triggerLabel, numberOfLines: 1, children: selectedOption?.label ?? "" }),
2969
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles10.chevron, isOpen && styles10.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE5, color: colors.white, strokeWidth: 2 }) })
2583
2970
  ]
2584
2971
  }
2585
2972
  ),
2586
- isOpen && options.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles8.menu, accessibilityRole: "menu", children: options.map((option) => {
2973
+ isOpen && options.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles10.menu, accessibilityRole: "menu", children: options.map((option) => {
2587
2974
  const selected = option.value === selectedValue;
2588
2975
  return /* @__PURE__ */ jsxRuntime.jsx(
2589
2976
  reactNative.Pressable,
@@ -2595,10 +2982,10 @@ var LanguageSwitcher = react.forwardRef(
2595
2982
  onHoverIn: () => setHoveredValue(option.value),
2596
2983
  onHoverOut: () => setHoveredValue(null),
2597
2984
  style: ({ pressed }) => [
2598
- styles8.item,
2599
- selected ? styles8.itemSelected : (hoveredValue === option.value || pressed) && styles8.itemHovered
2985
+ styles10.item,
2986
+ selected ? styles10.itemSelected : (hoveredValue === option.value || pressed) && styles10.itemHovered
2600
2987
  ],
2601
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles8.itemLabel, selected && styles8.itemLabelSelected], children: option.label })
2988
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles10.itemLabel, selected && styles10.itemLabelSelected], children: option.label })
2602
2989
  },
2603
2990
  option.value
2604
2991
  );
@@ -2608,7 +2995,7 @@ var LanguageSwitcher = react.forwardRef(
2608
2995
  );
2609
2996
  }
2610
2997
  );
2611
- var styles8 = reactNative.StyleSheet.create({
2998
+ var styles10 = reactNative.StyleSheet.create({
2612
2999
  wrapper: {
2613
3000
  position: "relative",
2614
3001
  width: CONTROL_WIDTH,
@@ -2704,17 +3091,17 @@ var StatCard = react.forwardRef(function StatCard2({
2704
3091
  {
2705
3092
  ...rest,
2706
3093
  ref: setContainerRef,
2707
- style: [styles9.base, style],
3094
+ style: [styles11.base, style],
2708
3095
  accessibilityRole: "text",
2709
3096
  accessibilityLabel: accessibilityLabel ?? label,
2710
3097
  children: [
2711
3098
  /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...iconProps, size: iconSize, color: iconProps?.color ?? colors.white }),
2712
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles9.label, children: label })
3099
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles11.label, children: label })
2713
3100
  ]
2714
3101
  }
2715
3102
  );
2716
3103
  });
2717
- var styles9 = reactNative.StyleSheet.create({
3104
+ var styles11 = reactNative.StyleSheet.create({
2718
3105
  base: {
2719
3106
  width: 204.5,
2720
3107
  minHeight: 114,
@@ -2800,7 +3187,7 @@ var Button = react.forwardRef(
2800
3187
  useApplyWebClassName(textRef, textClassName);
2801
3188
  const iconNode = customIcon ?? /* @__PURE__ */ jsxRuntime.jsx(ArrowRightIcon, { size: metrics.iconSize, color: preset.iconColor });
2802
3189
  const containerStyle = [
2803
- styles10.base,
3190
+ styles12.base,
2804
3191
  {
2805
3192
  minHeight: metrics.minHeight,
2806
3193
  borderRadius: metrics.borderRadius,
@@ -2811,16 +3198,16 @@ var Button = react.forwardRef(
2811
3198
  paddingRight: hasIcon ? metrics.paddingRightWithIcon : metrics.paddingRight,
2812
3199
  gap: hasIcon ? metrics.gap : 0
2813
3200
  },
2814
- hasIcon ? styles10.contentWithIcon : styles10.contentWithoutIcon,
2815
- disabled && styles10.disabled,
3201
+ hasIcon ? styles12.contentWithIcon : styles12.contentWithoutIcon,
3202
+ disabled && styles12.disabled,
2816
3203
  style
2817
3204
  ];
2818
3205
  const labelStyle = [
2819
- styles10.label,
3206
+ styles12.label,
2820
3207
  metrics.text,
2821
3208
  { color: preset.textColor },
2822
- reactNative.Platform.OS === "android" ? styles10.labelAndroid : null,
2823
- !hasIcon && styles10.labelCentered,
3209
+ reactNative.Platform.OS === "android" ? styles12.labelAndroid : null,
3210
+ !hasIcon && styles12.labelCentered,
2824
3211
  textStyle
2825
3212
  ];
2826
3213
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2841,7 +3228,7 @@ var Button = react.forwardRef(
2841
3228
  reactNative.View,
2842
3229
  {
2843
3230
  style: [
2844
- styles10.iconContainer,
3231
+ styles12.iconContainer,
2845
3232
  {
2846
3233
  width: metrics.iconContainerSize,
2847
3234
  height: metrics.iconContainerSize,
@@ -2857,7 +3244,7 @@ var Button = react.forwardRef(
2857
3244
  );
2858
3245
  }
2859
3246
  );
2860
- var styles10 = reactNative.StyleSheet.create({
3247
+ var styles12 = reactNative.StyleSheet.create({
2861
3248
  base: {
2862
3249
  flexDirection: "row",
2863
3250
  alignItems: "center",
@@ -2941,13 +3328,13 @@ var Checkbox = react.forwardRef(function Checkbox2({
2941
3328
  accessibilityRole: "checkbox",
2942
3329
  accessibilityLabel: resolvedAccessibilityLabel,
2943
3330
  accessibilityState: { checked: isActive, disabled },
2944
- style: [styles11.root, disabled && styles11.disabled, style],
3331
+ style: [styles13.root, disabled && styles13.disabled, style],
2945
3332
  children: [
2946
3333
  /* @__PURE__ */ jsxRuntime.jsx(
2947
3334
  reactNative.View,
2948
3335
  {
2949
3336
  style: [
2950
- styles11.box,
3337
+ styles13.box,
2951
3338
  {
2952
3339
  backgroundColor: chrome.backgroundColor,
2953
3340
  borderColor: chrome.borderColor
@@ -2956,12 +3343,12 @@ var Checkbox = react.forwardRef(function Checkbox2({
2956
3343
  children: isActive ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { size: CHECK_SIZE, color: colors.primary, strokeWidth: CHECK_STROKE }) : null
2957
3344
  }
2958
3345
  ),
2959
- labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles11.label, labelStyle], children: labelContent }) : labelContent : null
3346
+ labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles13.label, labelStyle], children: labelContent }) : labelContent : null
2960
3347
  ]
2961
3348
  }
2962
3349
  );
2963
3350
  });
2964
- var styles11 = reactNative.StyleSheet.create({
3351
+ var styles13 = reactNative.StyleSheet.create({
2965
3352
  root: {
2966
3353
  flexDirection: "row",
2967
3354
  alignItems: "center",
@@ -3069,13 +3456,13 @@ function RangeTriggerField({
3069
3456
  value,
3070
3457
  time
3071
3458
  }) {
3072
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles12.rangeField, children: [
3073
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles12.rangeLabel, children: label }),
3074
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles12.rangeValueRow, children: [
3075
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles12.rangeDate, children: value }),
3076
- time ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles12.rangeTimeWrap, children: [
3459
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.rangeField, children: [
3460
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles14.rangeLabel, children: label }),
3461
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.rangeValueRow, children: [
3462
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles14.rangeDate, children: value }),
3463
+ time ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.rangeTimeWrap, children: [
3077
3464
  /* @__PURE__ */ jsxRuntime.jsx(ClockFilledIcon, { color: colors.lightGrey, size: 16 }),
3078
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles12.rangeTime, children: time })
3465
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.rangeTime, children: time })
3079
3466
  ] }) : null
3080
3467
  ] })
3081
3468
  ] });
@@ -3241,14 +3628,14 @@ var DatePicker = react.forwardRef(
3241
3628
  ...rest,
3242
3629
  ref: setRootRef,
3243
3630
  style: [
3244
- styles12.root,
3245
- usesRangeTrigger && styles12.rangeRoot,
3246
- isOpen && styles12.rootOpen,
3247
- disabled && styles12.disabled,
3631
+ styles14.root,
3632
+ usesRangeTrigger && styles14.rangeRoot,
3633
+ isOpen && styles14.rootOpen,
3634
+ disabled && styles14.disabled,
3248
3635
  style
3249
3636
  ],
3250
3637
  accessibilityState: { disabled, expanded: isOpen },
3251
- children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles12.triggerWrap, isOpen && styles12.triggerWrapOpen], children: [
3638
+ children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles14.triggerWrap, isOpen && styles14.triggerWrapOpen], children: [
3252
3639
  /* @__PURE__ */ jsxRuntime.jsx(
3253
3640
  reactNative.Pressable,
3254
3641
  {
@@ -3259,9 +3646,9 @@ var DatePicker = react.forwardRef(
3259
3646
  accessibilityLabel: resolvedAccessibilityLabel,
3260
3647
  accessibilityState: { disabled, expanded: isOpen },
3261
3648
  style: [
3262
- styles12.trigger,
3263
- usesRangeTrigger && styles12.rangeTrigger,
3264
- usesRangeTrigger && (usesVerticalRangeTrigger ? styles12.rangeTriggerVertical : styles12.rangeTriggerHorizontal),
3649
+ styles14.trigger,
3650
+ usesRangeTrigger && styles14.rangeTrigger,
3651
+ usesRangeTrigger && (usesVerticalRangeTrigger ? styles14.rangeTriggerVertical : styles14.rangeTriggerHorizontal),
3265
3652
  {
3266
3653
  borderColor: triggerBorderColor,
3267
3654
  backgroundColor: usesRangeTrigger ? "transparent" : colors.grey700
@@ -3272,18 +3659,18 @@ var DatePicker = react.forwardRef(
3272
3659
  /* @__PURE__ */ jsxRuntime.jsx(
3273
3660
  reactNative.View,
3274
3661
  {
3275
- style: usesVerticalRangeTrigger ? styles12.rangeDividerVertical : styles12.rangeDividerHorizontal
3662
+ style: usesVerticalRangeTrigger ? styles14.rangeDividerVertical : styles14.rangeDividerHorizontal
3276
3663
  }
3277
3664
  ),
3278
3665
  /* @__PURE__ */ jsxRuntime.jsx(RangeTriggerField, { label: endLabel, time: endTime, value: endValue })
3279
3666
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3280
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles12.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: triggerLabel }),
3281
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles12.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(CalendarOutlineIcon, { size: ICON_SIZE7, color: colors.grey100 }) })
3667
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles14.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: triggerLabel }),
3668
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(CalendarOutlineIcon, { size: ICON_SIZE7, color: colors.grey100 }) })
3282
3669
  ] })
3283
3670
  }
3284
3671
  ),
3285
- isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles12.menu, usesRangeTrigger && styles12.rangeMenu, calendarStyle], children: [
3286
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles12.calendarHeader, children: [
3672
+ isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles14.menu, usesRangeTrigger && styles14.rangeMenu, calendarStyle], children: [
3673
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.calendarHeader, children: [
3287
3674
  /* @__PURE__ */ jsxRuntime.jsx(
3288
3675
  reactNative.Pressable,
3289
3676
  {
@@ -3291,11 +3678,11 @@ var DatePicker = react.forwardRef(
3291
3678
  hitSlop: 8,
3292
3679
  accessibilityRole: "button",
3293
3680
  accessibilityLabel: "Previous month",
3294
- style: styles12.navButton,
3681
+ style: styles14.navButton,
3295
3682
  children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: NAV_ICON_SIZE, color: colors.white })
3296
3683
  }
3297
3684
  ),
3298
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.Text, { style: styles12.monthHeading, children: [
3685
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.Text, { style: styles14.monthHeading, children: [
3299
3686
  monthNames[visibleMonth.getMonth()],
3300
3687
  " ",
3301
3688
  visibleMonth.getFullYear()
@@ -3307,13 +3694,13 @@ var DatePicker = react.forwardRef(
3307
3694
  hitSlop: 8,
3308
3695
  accessibilityRole: "button",
3309
3696
  accessibilityLabel: "Next month",
3310
- style: styles12.navButton,
3311
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles12.navIconMirror, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: NAV_ICON_SIZE, color: colors.white }) })
3697
+ style: styles14.navButton,
3698
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.navIconMirror, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: NAV_ICON_SIZE, color: colors.white }) })
3312
3699
  }
3313
3700
  )
3314
3701
  ] }),
3315
3702
  /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { children: [
3316
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles12.weekdayRow, children: weekdayLabels.map((weekdayLabel, index) => /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles12.dayCellWrap, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles12.weekdayText, children: weekdayLabel }) }, `${weekdayLabel}-${index}`)) }),
3703
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.weekdayRow, children: weekdayLabels.map((weekdayLabel, index) => /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.dayCellWrap, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.weekdayText, children: weekdayLabel }) }, `${weekdayLabel}-${index}`)) }),
3317
3704
  weeks.map((week, weekIndex) => {
3318
3705
  let rangeHighlightStyle = null;
3319
3706
  if (isRange && rangeValue.start && rangeValue.end) {
@@ -3350,13 +3737,13 @@ var DatePicker = react.forwardRef(
3350
3737
  return /* @__PURE__ */ jsxRuntime.jsxs(
3351
3738
  reactNative.View,
3352
3739
  {
3353
- style: [styles12.weekRow, weekIndex > 0 && styles12.weekRowSpaced],
3740
+ style: [styles14.weekRow, weekIndex > 0 && styles14.weekRowSpaced],
3354
3741
  children: [
3355
3742
  rangeHighlightStyle ? /* @__PURE__ */ jsxRuntime.jsx(
3356
3743
  reactNative.View,
3357
3744
  {
3358
3745
  pointerEvents: "none",
3359
- style: [styles12.rangeHighlight, rangeHighlightStyle]
3746
+ style: [styles14.rangeHighlight, rangeHighlightStyle]
3360
3747
  }
3361
3748
  ) : null,
3362
3749
  week.map((day, dayIndex) => {
@@ -3379,7 +3766,7 @@ var DatePicker = react.forwardRef(
3379
3766
  onHoverOut: () => setHoveredDayKey((current) => current === dayKey ? null : current),
3380
3767
  onPressIn: () => setHoveredDayKey(dayKey),
3381
3768
  onPressOut: () => setHoveredDayKey((current) => current === dayKey ? null : current),
3382
- style: styles12.dayCellWrap,
3769
+ style: styles14.dayCellWrap,
3383
3770
  accessibilityRole: "button",
3384
3771
  accessibilityLabel: formatValue(day),
3385
3772
  accessibilityState: {
@@ -3391,14 +3778,14 @@ var DatePicker = react.forwardRef(
3391
3778
  reactNative.View,
3392
3779
  {
3393
3780
  style: [
3394
- styles12.dayCircle,
3395
- isSelectedEndpoint && styles12.dayCircleSelected,
3396
- isHovered && styles12.dayCircleHovered
3781
+ styles14.dayCircle,
3782
+ isSelectedEndpoint && styles14.dayCircleSelected,
3783
+ isHovered && styles14.dayCircleHovered
3397
3784
  ],
3398
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles12.dayText, { color: dayTextColor }], children: day.getDate() })
3785
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles14.dayText, { color: dayTextColor }], children: day.getDate() })
3399
3786
  }
3400
3787
  ),
3401
- isToday && !isSelectedEndpoint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles12.todayDot }) : null
3788
+ isToday && !isSelectedEndpoint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.todayDot }) : null
3402
3789
  ]
3403
3790
  },
3404
3791
  dayIndex
@@ -3416,7 +3803,7 @@ var DatePicker = react.forwardRef(
3416
3803
  );
3417
3804
  }
3418
3805
  );
3419
- var styles12 = reactNative.StyleSheet.create({
3806
+ var styles14 = reactNative.StyleSheet.create({
3420
3807
  root: {
3421
3808
  width: DEFAULT_WIDTH,
3422
3809
  gap: 8,
@@ -3760,13 +4147,13 @@ var Input = react.forwardRef(function Input2({
3760
4147
  });
3761
4148
  useApplyWebClassName(rootRef, className);
3762
4149
  useApplyWebClassName(inputRef, inputClassName);
3763
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles13.root, disabled && styles13.disabled, style], children: [
3764
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles13.label, { color: chrome.labelColor }], children: label }) : null,
4150
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles15.root, disabled && styles15.disabled, style], children: [
4151
+ showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.label, { color: chrome.labelColor }], children: label }) : null,
3765
4152
  /* @__PURE__ */ jsxRuntime.jsxs(
3766
4153
  reactNative.View,
3767
4154
  {
3768
4155
  style: [
3769
- styles13.field,
4156
+ styles15.field,
3770
4157
  {
3771
4158
  height: metrics.height,
3772
4159
  borderRadius: metrics.borderRadius,
@@ -3781,7 +4168,7 @@ var Input = react.forwardRef(function Input2({
3781
4168
  fieldStyle
3782
4169
  ],
3783
4170
  children: [
3784
- hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles13.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: leftIconNode }) : null,
4171
+ hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles15.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: leftIconNode }) : null,
3785
4172
  /* @__PURE__ */ jsxRuntime.jsx(
3786
4173
  reactNative.TextInput,
3787
4174
  {
@@ -3805,11 +4192,11 @@ var Input = react.forwardRef(function Input2({
3805
4192
  onBlur?.(event);
3806
4193
  },
3807
4194
  style: [
3808
- styles13.input,
4195
+ styles15.input,
3809
4196
  metrics.text,
3810
4197
  { color: chrome.textColor },
3811
- reactNative.Platform.OS === "web" ? styles13.inputWeb : null,
3812
- reactNative.Platform.OS === "android" ? styles13.inputAndroid : null,
4198
+ reactNative.Platform.OS === "web" ? styles15.inputWeb : null,
4199
+ reactNative.Platform.OS === "android" ? styles15.inputAndroid : null,
3813
4200
  inputStyle
3814
4201
  ],
3815
4202
  accessibilityLabel: resolvedAccessibilityLabel,
@@ -3821,20 +4208,20 @@ var Input = react.forwardRef(function Input2({
3821
4208
  {
3822
4209
  onPress: onRightIconPress,
3823
4210
  disabled,
3824
- style: [styles13.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }],
4211
+ style: [styles15.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }],
3825
4212
  accessibilityRole: "button",
3826
4213
  accessibilityLabel: rightIconAccessibilityLabel,
3827
4214
  hitSlop: 8,
3828
4215
  children: rightIconNode
3829
4216
  }
3830
- ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles13.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: rightIconNode }) : null
4217
+ ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles15.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: rightIconNode }) : null
3831
4218
  ]
3832
4219
  }
3833
4220
  ),
3834
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles13.hint, { color: chrome.hintColor }], children: hint }) : null
4221
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.hint, { color: chrome.hintColor }], children: hint }) : null
3835
4222
  ] });
3836
4223
  });
3837
- var styles13 = reactNative.StyleSheet.create({
4224
+ var styles15 = reactNative.StyleSheet.create({
3838
4225
  root: {
3839
4226
  width: DEFAULT_WIDTH2,
3840
4227
  gap: 8,
@@ -3871,6 +4258,207 @@ var styles13 = reactNative.StyleSheet.create({
3871
4258
  ...inputTypography.hint
3872
4259
  }
3873
4260
  });
4261
+
4262
+ // src/components/VerificationCodeInput/VerificationCodeInput.utils.ts
4263
+ function normalizeVerificationCode(value, length) {
4264
+ return value.replace(/\D/g, "").slice(0, Math.max(1, length));
4265
+ }
4266
+ function updateVerificationCode(currentCode, index, input, length) {
4267
+ const safeLength = Math.max(1, length);
4268
+ const safeIndex = Math.min(Math.max(0, index), safeLength - 1);
4269
+ const current = normalizeVerificationCode(currentCode, safeLength);
4270
+ const insertedDigits = normalizeVerificationCode(input, safeLength - safeIndex);
4271
+ if (!insertedDigits) {
4272
+ return {
4273
+ code: `${current.slice(0, safeIndex)}${current.slice(safeIndex + 1)}`,
4274
+ nextFocus: safeIndex
4275
+ };
4276
+ }
4277
+ return {
4278
+ code: `${current.slice(0, safeIndex)}${insertedDigits}${current.slice(
4279
+ safeIndex + insertedDigits.length
4280
+ )}`.slice(0, safeLength),
4281
+ nextFocus: Math.min(safeIndex + insertedDigits.length, safeLength - 1)
4282
+ };
4283
+ }
4284
+ var DEFAULT_LENGTH = 6;
4285
+ var DESKTOP_CELL_WIDTH = 54;
4286
+ var MOBILE_CELL_WIDTH = 50;
4287
+ var CELL_HEIGHT = 68;
4288
+ var DESKTOP_GAP = 12;
4289
+ var MOBILE_GAP = 4;
4290
+ var MOBILE_BREAKPOINT = 640;
4291
+ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
4292
+ length = DEFAULT_LENGTH,
4293
+ value,
4294
+ defaultValue = "",
4295
+ onValueChange,
4296
+ onComplete,
4297
+ onSubmit,
4298
+ error = false,
4299
+ disabled = false,
4300
+ autoFocus = false,
4301
+ getDigitAccessibilityLabel,
4302
+ style,
4303
+ inputStyle,
4304
+ className,
4305
+ ...viewProps
4306
+ }, forwardedRef) {
4307
+ const safeLength = Math.max(1, Math.floor(length));
4308
+ const isControlled = typeof value === "string";
4309
+ const [uncontrolledValue, setUncontrolledValue] = react.useState(
4310
+ () => normalizeVerificationCode(defaultValue, safeLength)
4311
+ );
4312
+ const [focusedIndex, setFocusedIndex] = react.useState(null);
4313
+ const { width: viewportWidth } = reactNative.useWindowDimensions();
4314
+ const rootRef = react.useRef(null);
4315
+ const inputRefs = react.useRef([]);
4316
+ const currentCode = normalizeVerificationCode(
4317
+ isControlled ? value : uncontrolledValue,
4318
+ safeLength
4319
+ );
4320
+ useApplyWebClassName(rootRef, className);
4321
+ const focus = react.useCallback(
4322
+ (index = 0) => {
4323
+ const safeIndex = Math.min(Math.max(0, index), safeLength - 1);
4324
+ inputRefs.current[safeIndex]?.focus();
4325
+ },
4326
+ [safeLength]
4327
+ );
4328
+ const commit = react.useCallback(
4329
+ (nextValue) => {
4330
+ const normalized = normalizeVerificationCode(nextValue, safeLength);
4331
+ if (!isControlled) {
4332
+ setUncontrolledValue(normalized);
4333
+ }
4334
+ onValueChange?.(normalized);
4335
+ if (normalized.length === safeLength) {
4336
+ onComplete?.(normalized);
4337
+ }
4338
+ },
4339
+ [isControlled, onComplete, onValueChange, safeLength]
4340
+ );
4341
+ react.useImperativeHandle(
4342
+ forwardedRef,
4343
+ () => ({
4344
+ clear: () => {
4345
+ commit("");
4346
+ focus(0);
4347
+ },
4348
+ focus
4349
+ }),
4350
+ [commit, focus]
4351
+ );
4352
+ const handleChange = (index, input) => {
4353
+ const update = updateVerificationCode(currentCode, index, input, safeLength);
4354
+ commit(update.code);
4355
+ focus(update.nextFocus);
4356
+ };
4357
+ const handleKeyPress = (index, event) => {
4358
+ const key = event.nativeEvent.key;
4359
+ if (key === "Backspace" && !currentCode[index] && index > 0) {
4360
+ const update = updateVerificationCode(currentCode, index - 1, "", safeLength);
4361
+ commit(update.code);
4362
+ focus(index - 1);
4363
+ return;
4364
+ }
4365
+ if (key === "ArrowLeft" && index > 0) {
4366
+ focus(index - 1);
4367
+ }
4368
+ if (key === "ArrowRight" && index < safeLength - 1) {
4369
+ focus(index + 1);
4370
+ }
4371
+ };
4372
+ const mobile = viewportWidth < MOBILE_BREAKPOINT;
4373
+ const cellWidth = mobile ? MOBILE_CELL_WIDTH : DESKTOP_CELL_WIDTH;
4374
+ const cellGap = mobile ? MOBILE_GAP : DESKTOP_GAP;
4375
+ const rootWidth = cellWidth * safeLength + cellGap * Math.max(0, safeLength - 1);
4376
+ return /* @__PURE__ */ jsxRuntime.jsx(
4377
+ reactNative.View,
4378
+ {
4379
+ ...viewProps,
4380
+ ref: rootRef,
4381
+ style: [
4382
+ styles16.root,
4383
+ { width: rootWidth, maxWidth: "100%", gap: cellGap },
4384
+ disabled && styles16.disabled,
4385
+ style
4386
+ ],
4387
+ children: Array.from({ length: safeLength }, (_, index) => {
4388
+ const active = focusedIndex === index;
4389
+ const borderColor = error ? colors.redHover : active ? colors.primary : colors.grey600;
4390
+ return /* @__PURE__ */ jsxRuntime.jsx(
4391
+ reactNative.TextInput,
4392
+ {
4393
+ ref: (element) => {
4394
+ inputRefs.current[index] = element;
4395
+ },
4396
+ accessibilityLabel: getDigitAccessibilityLabel?.(index) ?? `Verification code digit ${index + 1}`,
4397
+ accessibilityState: { disabled },
4398
+ autoComplete: index === 0 ? "one-time-code" : "off",
4399
+ autoFocus: autoFocus && index === 0,
4400
+ caretHidden: reactNative.Platform.OS !== "web",
4401
+ editable: !disabled,
4402
+ inputMode: "numeric",
4403
+ keyboardType: "number-pad",
4404
+ maxLength: safeLength,
4405
+ onBlur: () => setFocusedIndex((current) => current === index ? null : current),
4406
+ onChangeText: (text) => handleChange(index, text),
4407
+ onFocus: () => setFocusedIndex(index),
4408
+ onKeyPress: (event) => handleKeyPress(index, event),
4409
+ onSubmitEditing: () => onSubmit?.(currentCode),
4410
+ selectTextOnFocus: true,
4411
+ style: [
4412
+ styles16.cell,
4413
+ {
4414
+ width: cellWidth,
4415
+ height: CELL_HEIGHT,
4416
+ borderColor,
4417
+ color: error ? colors.red : colors.white
4418
+ },
4419
+ reactNative.Platform.OS === "web" ? styles16.cellWeb : null,
4420
+ reactNative.Platform.OS === "android" ? styles16.cellAndroid : null,
4421
+ inputStyle
4422
+ ],
4423
+ value: currentCode[index] ?? ""
4424
+ },
4425
+ index
4426
+ );
4427
+ })
4428
+ }
4429
+ );
4430
+ });
4431
+ var styles16 = reactNative.StyleSheet.create({
4432
+ root: {
4433
+ minWidth: 0,
4434
+ alignSelf: "center",
4435
+ flexDirection: "row",
4436
+ justifyContent: "center"
4437
+ },
4438
+ disabled: {
4439
+ opacity: 0.6
4440
+ },
4441
+ cell: {
4442
+ minWidth: 0,
4443
+ flexGrow: 0,
4444
+ flexShrink: 0,
4445
+ borderWidth: 1,
4446
+ borderRadius: 16,
4447
+ padding: 0,
4448
+ margin: 0,
4449
+ textAlign: "center",
4450
+ fontFamily: fonts.sans,
4451
+ fontSize: 22,
4452
+ fontWeight: "600",
4453
+ lineHeight: 22
4454
+ },
4455
+ cellWeb: {
4456
+ outlineStyle: "none"
4457
+ },
4458
+ cellAndroid: {
4459
+ includeFontPadding: false
4460
+ }
4461
+ });
3874
4462
  var DEFAULT_WIDTH3 = 308;
3875
4463
  var TRIGGER_HEIGHT2 = 44;
3876
4464
  var TRIGGER_RADIUS2 = 60;
@@ -3950,25 +4538,25 @@ function MultiValueChips({ options, disabled, onRemove }) {
3950
4538
  const next = Math.ceil(event.nativeEvent.layout.width);
3951
4539
  setEllipsisWidth((current) => current === next ? current : next);
3952
4540
  };
3953
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.multiValueRoot, children: [
3954
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { pointerEvents: "none", style: styles14.measureRow, children: [
4541
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles17.multiValueRoot, children: [
4542
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { pointerEvents: "none", style: styles17.measureRow, children: [
3955
4543
  options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
3956
4544
  reactNative.View,
3957
4545
  {
3958
- style: styles14.chip,
4546
+ style: styles17.chip,
3959
4547
  onLayout: (event) => handleChipLayout(option.value, event),
3960
4548
  children: [
3961
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.chipLabel, numberOfLines: 1, children: option.label }),
3962
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.chipRemove, children: "\xD7" })
4549
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.chipLabel, numberOfLines: 1, children: option.label }),
4550
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.chipRemove, children: "\xD7" })
3963
4551
  ]
3964
4552
  },
3965
4553
  `measure-${option.value}`
3966
4554
  )),
3967
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.ellipsis, onLayout: handleEllipsisLayout, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.ellipsisText, children: "..." }) })
4555
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.ellipsis, onLayout: handleEllipsisLayout, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.ellipsisText, children: "..." }) })
3968
4556
  ] }),
3969
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.chipsRow, onLayout: handleContainerLayout, children: [
3970
- visible.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.chip, children: [
3971
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.chipLabel, numberOfLines: 1, children: option.label }),
4557
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles17.chipsRow, onLayout: handleContainerLayout, children: [
4558
+ visible.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles17.chip, children: [
4559
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.chipLabel, numberOfLines: 1, children: option.label }),
3972
4560
  /* @__PURE__ */ jsxRuntime.jsx(
3973
4561
  reactNative.Pressable,
3974
4562
  {
@@ -3980,11 +4568,11 @@ function MultiValueChips({ options, disabled, onRemove }) {
3980
4568
  hitSlop: 6,
3981
4569
  accessibilityRole: "button",
3982
4570
  accessibilityLabel: `Remove ${option.label}`,
3983
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.chipRemove, children: "\xD7" })
4571
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.chipRemove, children: "\xD7" })
3984
4572
  }
3985
4573
  )
3986
4574
  ] }, option.value)),
3987
- hasOverflow ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.ellipsis, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.ellipsisText, children: "..." }) }) : null
4575
+ hasOverflow ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.ellipsis, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.ellipsisText, children: "..." }) }) : null
3988
4576
  ] })
3989
4577
  ] });
3990
4578
  }
@@ -4208,11 +4796,11 @@ var Select = react.forwardRef(
4208
4796
  {
4209
4797
  ...rest,
4210
4798
  ref: setRootRef,
4211
- style: [styles14.root, isOpen && styles14.rootOpen, disabled && styles14.disabled, style],
4799
+ style: [styles17.root, isOpen && styles17.rootOpen, disabled && styles17.disabled, style],
4212
4800
  accessibilityState: { disabled, expanded: isOpen },
4213
4801
  children: [
4214
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles14.label, { color: labelColor }], children: label }) : null,
4215
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles14.triggerWrap, isOpen && styles14.triggerWrapOpen], children: [
4802
+ showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles17.label, { color: labelColor }], children: label }) : null,
4803
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles17.triggerWrap, isOpen && styles17.triggerWrapOpen], children: [
4216
4804
  /* @__PURE__ */ jsxRuntime.jsxs(
4217
4805
  reactNative.Pressable,
4218
4806
  {
@@ -4223,29 +4811,29 @@ var Select = react.forwardRef(
4223
4811
  accessibilityLabel: resolvedAccessibilityLabel,
4224
4812
  accessibilityState: { disabled, expanded: isOpen },
4225
4813
  style: [
4226
- styles14.trigger,
4814
+ styles17.trigger,
4227
4815
  {
4228
4816
  borderColor: triggerBorderColor,
4229
4817
  backgroundColor: colors.grey700
4230
4818
  }
4231
4819
  ],
4232
4820
  children: [
4233
- hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.iconSlot, children: leftIconNode }) : null,
4234
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.triggerContent, children: multiple && hasValue ? /* @__PURE__ */ jsxRuntime.jsx(
4821
+ hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.iconSlot, children: leftIconNode }) : null,
4822
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.triggerContent, children: multiple && hasValue ? /* @__PURE__ */ jsxRuntime.jsx(
4235
4823
  MultiValueChips,
4236
4824
  {
4237
4825
  options: selectedOptions,
4238
4826
  disabled,
4239
4827
  onRemove: handleRemoveChip
4240
4828
  }
4241
- ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles14.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: multiple ? placeholder : singleLabel }) }),
4242
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles14.iconSlot, isOpen && styles14.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE8, color: isOpen ? colors.primary : colors.grey100 }) })
4829
+ ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles17.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: multiple ? placeholder : singleLabel }) }),
4830
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles17.iconSlot, isOpen && styles17.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE8, color: isOpen ? colors.primary : colors.grey100 }) })
4243
4831
  ]
4244
4832
  }
4245
4833
  ),
4246
- isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.menu, children: [
4247
- showSearch ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.searchField, children: [
4248
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, { size: ICON_SIZE8, color: colors.grey100 }) }),
4834
+ isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles17.menu, children: [
4835
+ showSearch ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles17.searchField, children: [
4836
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, { size: ICON_SIZE8, color: colors.grey100 }) }),
4249
4837
  /* @__PURE__ */ jsxRuntime.jsx(
4250
4838
  reactNative.TextInput,
4251
4839
  {
@@ -4256,9 +4844,9 @@ var Select = react.forwardRef(
4256
4844
  placeholder: searchPlaceholder,
4257
4845
  placeholderTextColor: colors.grey100,
4258
4846
  style: [
4259
- styles14.searchInput,
4260
- reactNative.Platform.OS === "web" ? styles14.searchInputWeb : null,
4261
- reactNative.Platform.OS === "android" ? styles14.searchInputAndroid : null
4847
+ styles17.searchInput,
4848
+ reactNative.Platform.OS === "web" ? styles17.searchInputWeb : null,
4849
+ reactNative.Platform.OS === "android" ? styles17.searchInputAndroid : null
4262
4850
  ],
4263
4851
  accessibilityLabel: searchPlaceholder
4264
4852
  }
@@ -4267,12 +4855,12 @@ var Select = react.forwardRef(
4267
4855
  /* @__PURE__ */ jsxRuntime.jsxs(
4268
4856
  reactNative.ScrollView,
4269
4857
  {
4270
- style: styles14.optionList,
4271
- contentContainerStyle: styles14.optionListContent,
4858
+ style: styles17.optionList,
4859
+ contentContainerStyle: styles17.optionListContent,
4272
4860
  keyboardShouldPersistTaps: "handled",
4273
4861
  showsVerticalScrollIndicator: false,
4274
4862
  children: [
4275
- loading ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.statusText, children: "Loading..." }) }) : filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.statusText, children: emptyText }) }) : null,
4863
+ loading ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.statusText, children: "Loading..." }) }) : filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.statusText, children: emptyText }) }) : null,
4276
4864
  !loading && filteredOptions.map((option) => {
4277
4865
  const isSelected = selectedValues.includes(option.value);
4278
4866
  const isHovered = hoveredValue === option.value;
@@ -4289,14 +4877,14 @@ var Select = react.forwardRef(
4289
4877
  accessibilityRole: multiple ? "checkbox" : "button",
4290
4878
  accessibilityState: { selected: isSelected, checked: isSelected, disabled },
4291
4879
  style: [
4292
- styles14.item,
4880
+ styles17.item,
4293
4881
  {
4294
4882
  backgroundColor: itemBackground(visualState)
4295
4883
  }
4296
4884
  ],
4297
4885
  children: [
4298
- multiple ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles14.itemCheckbox, children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { value: isSelected, variant: "light" }) }) : null,
4299
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.itemLabel, numberOfLines: 1, children: option.label })
4886
+ multiple ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles17.itemCheckbox, children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { value: isSelected, variant: "light" }) }) : null,
4887
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.itemLabel, numberOfLines: 1, children: option.label })
4300
4888
  ]
4301
4889
  },
4302
4890
  option.value
@@ -4307,13 +4895,13 @@ var Select = react.forwardRef(
4307
4895
  )
4308
4896
  ] }) : null
4309
4897
  ] }),
4310
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles14.hint, { color: hintColor }], children: hint }) : null
4898
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles17.hint, { color: hintColor }], children: hint }) : null
4311
4899
  ]
4312
4900
  }
4313
4901
  );
4314
4902
  }
4315
4903
  );
4316
- var styles14 = reactNative.StyleSheet.create({
4904
+ var styles17 = reactNative.StyleSheet.create({
4317
4905
  root: {
4318
4906
  width: DEFAULT_WIDTH3,
4319
4907
  gap: 8,
@@ -4575,13 +5163,13 @@ var Textarea = react.forwardRef(function Textarea2({
4575
5163
  const resolvedAccessibilityLabel = accessibilityLabel ?? (showLabel ? void 0 : label);
4576
5164
  useApplyWebClassName(rootRef, className);
4577
5165
  useApplyWebClassName(inputRef, inputClassName);
4578
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles15.root, disabled && styles15.disabled, style], children: [
4579
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.label, { color: chrome.labelColor }], children: label }) : null,
5166
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles18.root, disabled && styles18.disabled, style], children: [
5167
+ showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles18.label, { color: chrome.labelColor }], children: label }) : null,
4580
5168
  /* @__PURE__ */ jsxRuntime.jsx(
4581
5169
  reactNative.View,
4582
5170
  {
4583
5171
  style: [
4584
- styles15.field,
5172
+ styles18.field,
4585
5173
  {
4586
5174
  borderColor: chrome.borderColor,
4587
5175
  backgroundColor: chrome.backgroundColor
@@ -4613,11 +5201,11 @@ var Textarea = react.forwardRef(function Textarea2({
4613
5201
  onBlur?.(event);
4614
5202
  },
4615
5203
  style: [
4616
- styles15.input,
5204
+ styles18.input,
4617
5205
  textareaTypography.field,
4618
5206
  { color: chrome.textColor },
4619
- reactNative.Platform.OS === "web" ? styles15.inputWeb : null,
4620
- reactNative.Platform.OS === "android" ? styles15.inputAndroid : null,
5207
+ reactNative.Platform.OS === "web" ? styles18.inputWeb : null,
5208
+ reactNative.Platform.OS === "android" ? styles18.inputAndroid : null,
4621
5209
  inputStyle
4622
5210
  ],
4623
5211
  accessibilityLabel: resolvedAccessibilityLabel,
@@ -4626,10 +5214,10 @@ var Textarea = react.forwardRef(function Textarea2({
4626
5214
  )
4627
5215
  }
4628
5216
  ),
4629
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.hint, { color: chrome.hintColor }], children: hint }) : null
5217
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles18.hint, { color: chrome.hintColor }], children: hint }) : null
4630
5218
  ] });
4631
5219
  });
4632
- var styles15 = reactNative.StyleSheet.create({
5220
+ var styles18 = reactNative.StyleSheet.create({
4633
5221
  root: {
4634
5222
  width: DEFAULT_WIDTH4,
4635
5223
  gap: 8,
@@ -4669,9 +5257,9 @@ var styles15 = reactNative.StyleSheet.create({
4669
5257
  var TRACK_WIDTH = 44;
4670
5258
  var TRACK_HEIGHT = 24;
4671
5259
  var TRACK_RADIUS = 43;
4672
- var TRACK_PADDING = 4;
4673
- var THUMB_SIZE = TRACK_HEIGHT - TRACK_PADDING * 2;
4674
- var THUMB_TRAVEL = TRACK_WIDTH - TRACK_PADDING * 2 - THUMB_SIZE;
5260
+ var TRACK_PADDING2 = 4;
5261
+ var THUMB_SIZE = TRACK_HEIGHT - TRACK_PADDING2 * 2;
5262
+ var THUMB_TRAVEL = TRACK_WIDTH - TRACK_PADDING2 * 2 - THUMB_SIZE;
4675
5263
  var ANIMATION_DURATION2 = 300;
4676
5264
  var Toggle = react.forwardRef(function Toggle2({
4677
5265
  value,
@@ -4729,13 +5317,13 @@ var Toggle = react.forwardRef(function Toggle2({
4729
5317
  accessibilityRole: "switch",
4730
5318
  accessibilityLabel: resolvedAccessibilityLabel,
4731
5319
  accessibilityState: { checked: isActive, disabled },
4732
- style: [styles16.pressable, disabled && styles16.disabled, style],
5320
+ style: [styles19.pressable, disabled && styles19.disabled, style],
4733
5321
  children: [
4734
5322
  /* @__PURE__ */ jsxRuntime.jsx(
4735
5323
  reactNative.Animated.View,
4736
5324
  {
4737
5325
  style: [
4738
- styles16.track,
5326
+ styles19.track,
4739
5327
  {
4740
5328
  backgroundColor: trackBackgroundColor
4741
5329
  }
@@ -4744,7 +5332,7 @@ var Toggle = react.forwardRef(function Toggle2({
4744
5332
  reactNative.Animated.View,
4745
5333
  {
4746
5334
  style: [
4747
- styles16.thumb,
5335
+ styles19.thumb,
4748
5336
  {
4749
5337
  transform: [{ translateX: thumbTranslateX }]
4750
5338
  }
@@ -4753,12 +5341,12 @@ var Toggle = react.forwardRef(function Toggle2({
4753
5341
  )
4754
5342
  }
4755
5343
  ),
4756
- labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles16.label, labelStyle], children: labelContent }) : labelContent : null
5344
+ labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles19.label, labelStyle], children: labelContent }) : labelContent : null
4757
5345
  ]
4758
5346
  }
4759
5347
  );
4760
5348
  });
4761
- var styles16 = reactNative.StyleSheet.create({
5349
+ var styles19 = reactNative.StyleSheet.create({
4762
5350
  pressable: {
4763
5351
  flexDirection: "row",
4764
5352
  alignItems: "center",
@@ -4772,7 +5360,7 @@ var styles16 = reactNative.StyleSheet.create({
4772
5360
  width: TRACK_WIDTH,
4773
5361
  height: TRACK_HEIGHT,
4774
5362
  borderRadius: TRACK_RADIUS,
4775
- padding: TRACK_PADDING,
5363
+ padding: TRACK_PADDING2,
4776
5364
  justifyContent: "center"
4777
5365
  },
4778
5366
  thumb: {
@@ -4833,21 +5421,21 @@ var RatingInput = react.forwardRef(
4833
5421
  {
4834
5422
  ...rest,
4835
5423
  ref: setContainerRef,
4836
- style: [styles17.root, disabled && styles17.disabled, style],
5424
+ style: [styles20.root, disabled && styles20.disabled, style],
4837
5425
  children: [
4838
- showValue ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: [styles17.value, valueStyle], children: selectedValue.toFixed(precision) }) : null,
5426
+ showValue ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: [styles20.value, valueStyle], children: selectedValue.toFixed(precision) }) : null,
4839
5427
  /* @__PURE__ */ jsxRuntime.jsx(
4840
5428
  reactNative.View,
4841
5429
  {
4842
5430
  accessibilityRole: readOnly ? "image" : "radiogroup",
4843
5431
  accessibilityLabel: resolvedAccessibilityLabel,
4844
5432
  accessibilityState: { disabled },
4845
- style: [styles17.stars, { gap: resolvedStarGap }],
5433
+ style: [styles20.stars, { gap: resolvedStarGap }],
4846
5434
  children: Array.from({ length: STAR_COUNT }, (_, index) => {
4847
5435
  const starValue = index + 1;
4848
5436
  const isSelected = starValue <= selectedStarCount;
4849
5437
  const icon = isSelected ? /* @__PURE__ */ jsxRuntime.jsx(StarFilledIcon, { size: iconWidth, height: iconHeight }) : /* @__PURE__ */ jsxRuntime.jsx(StarIcon, { size: iconWidth, height: iconHeight });
4850
- const itemStyle = [styles17.starItem, { width: size, height: size }];
5438
+ const itemStyle = [styles20.starItem, { width: size, height: size }];
4851
5439
  if (readOnly) {
4852
5440
  return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: itemStyle, children: icon }, starValue);
4853
5441
  }
@@ -4873,7 +5461,7 @@ var RatingInput = react.forwardRef(
4873
5461
  );
4874
5462
  }
4875
5463
  );
4876
- var styles17 = reactNative.StyleSheet.create({
5464
+ var styles20 = reactNative.StyleSheet.create({
4877
5465
  root: {
4878
5466
  flexDirection: "row",
4879
5467
  alignItems: "center",
@@ -4897,7 +5485,7 @@ var styles17 = reactNative.StyleSheet.create({
4897
5485
  opacity: 0.5
4898
5486
  }
4899
5487
  });
4900
- var CARD_WIDTH = 370;
5488
+ var CARD_WIDTH2 = 370;
4901
5489
  var CARD_MIN_HEIGHT = 173;
4902
5490
  var AVATAR_SIZE = 44;
4903
5491
  var CommentCard = react.forwardRef(
@@ -4937,19 +5525,19 @@ var CommentCard = react.forwardRef(
4937
5525
  setExpanded(next);
4938
5526
  onExpandedChange?.(next);
4939
5527
  };
4940
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles18.root, style], children: [
4941
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles18.header, children: [
4942
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles18.avatar, children: hasImage ? /* @__PURE__ */ jsxRuntime.jsx(
5528
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles21.root, style], children: [
5529
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles21.header, children: [
5530
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles21.avatar, children: hasImage ? /* @__PURE__ */ jsxRuntime.jsx(
4943
5531
  reactNative.Image,
4944
5532
  {
4945
5533
  source: { uri: imageUrl ?? void 0 },
4946
- style: styles18.avatarImage,
5534
+ style: styles21.avatarImage,
4947
5535
  onError: () => setImageFailed(true)
4948
5536
  }
4949
5537
  ) : /* @__PURE__ */ jsxRuntime.jsx(UserIcon, { size: 20, color: colors.primary }) }),
4950
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles18.identity, children: [
4951
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles18.name, children: userName }),
4952
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles18.date, children: date })
5538
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles21.identity, children: [
5539
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles21.name, children: userName }),
5540
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles21.date, children: date })
4953
5541
  ] }),
4954
5542
  /* @__PURE__ */ jsxRuntime.jsx(RatingInput, { value: rating, readOnly: true, showValue: false, size: 16 })
4955
5543
  ] }),
@@ -4957,7 +5545,7 @@ var CommentCard = react.forwardRef(
4957
5545
  reactNative.Text,
4958
5546
  {
4959
5547
  numberOfLines: expanded ? void 0 : maxCommentLines,
4960
- style: [styles18.comment, commentStyle],
5548
+ style: [styles21.comment, commentStyle],
4961
5549
  children: commentText
4962
5550
  }
4963
5551
  ),
@@ -4970,14 +5558,14 @@ var CommentCard = react.forwardRef(
4970
5558
  hitSlop: 6,
4971
5559
  onHoverIn: () => setActionHovered(true),
4972
5560
  onHoverOut: () => setActionHovered(false),
4973
- style: styles18.action,
5561
+ style: styles21.action,
4974
5562
  children: /* @__PURE__ */ jsxRuntime.jsx(
4975
5563
  reactNative.Text,
4976
5564
  {
4977
5565
  style: [
4978
- styles18.actionText,
4979
- expanded && styles18.closeActionText,
4980
- actionHovered && (expanded ? styles18.closeActionTextHovered : styles18.openActionTextHovered)
5566
+ styles21.actionText,
5567
+ expanded && styles21.closeActionText,
5568
+ actionHovered && (expanded ? styles21.closeActionTextHovered : styles21.openActionTextHovered)
4981
5569
  ],
4982
5570
  children: expanded ? readLessLabel : readMoreLabel
4983
5571
  }
@@ -4987,9 +5575,9 @@ var CommentCard = react.forwardRef(
4987
5575
  ] });
4988
5576
  }
4989
5577
  );
4990
- var styles18 = reactNative.StyleSheet.create({
5578
+ var styles21 = reactNative.StyleSheet.create({
4991
5579
  root: {
4992
- width: CARD_WIDTH,
5580
+ width: CARD_WIDTH2,
4993
5581
  minHeight: CARD_MIN_HEIGHT,
4994
5582
  padding: 16,
4995
5583
  gap: 12,
@@ -5426,7 +6014,7 @@ var Range = react.forwardRef(function Range2({
5426
6014
  ...rest,
5427
6015
  ref: setRootRef,
5428
6016
  onLayout,
5429
- style: [styles19.root, disabled && styles19.disabled, style],
6017
+ style: [styles22.root, disabled && styles22.disabled, style],
5430
6018
  children: [
5431
6019
  /* @__PURE__ */ jsxRuntime.jsxs(
5432
6020
  reactNative.Pressable,
@@ -5440,16 +6028,16 @@ var Range = react.forwardRef(function Range2({
5440
6028
  updateNearestFromTrack(event.nativeEvent.offsetX);
5441
6029
  } : void 0,
5442
6030
  onPress: reactNative.Platform.OS === "web" ? void 0 : handleTrackPress,
5443
- style: styles19.sliderPlane,
6031
+ style: styles22.sliderPlane,
5444
6032
  tabIndex: -1,
5445
6033
  children: [
5446
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles19.track }),
6034
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles22.track }),
5447
6035
  /* @__PURE__ */ jsxRuntime.jsx(
5448
6036
  reactNative.View,
5449
6037
  {
5450
6038
  pointerEvents: "none",
5451
6039
  style: [
5452
- styles19.activeTrack,
6040
+ styles22.activeTrack,
5453
6041
  {
5454
6042
  left: TRACK_HORIZONTAL_INSET + fromOffset,
5455
6043
  width: toOffset - fromOffset + THUMB_SIZE2
@@ -5491,9 +6079,9 @@ var Range = react.forwardRef(function Range2({
5491
6079
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveFrom, updateFromInput),
5492
6080
  pointerEvents: disabled ? "none" : "auto",
5493
6081
  style: [
5494
- styles19.thumb,
5495
- reactNative.Platform.OS === "web" && styles19.thumbWeb,
5496
- focusedThumb === "from" && reactNative.Platform.OS === "web" && styles19.thumbFocusedWeb,
6082
+ styles22.thumb,
6083
+ reactNative.Platform.OS === "web" && styles22.thumbWeb,
6084
+ focusedThumb === "from" && reactNative.Platform.OS === "web" && styles22.thumbFocusedWeb,
5497
6085
  { left: TRACK_HORIZONTAL_INSET + fromOffset }
5498
6086
  ],
5499
6087
  tabIndex: disabled ? -1 : 0
@@ -5533,9 +6121,9 @@ var Range = react.forwardRef(function Range2({
5533
6121
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveTo, updateToInput),
5534
6122
  pointerEvents: disabled ? "none" : "auto",
5535
6123
  style: [
5536
- styles19.thumb,
5537
- reactNative.Platform.OS === "web" && styles19.thumbWeb,
5538
- focusedThumb === "to" && reactNative.Platform.OS === "web" && styles19.thumbFocusedWeb,
6124
+ styles22.thumb,
6125
+ reactNative.Platform.OS === "web" && styles22.thumbWeb,
6126
+ focusedThumb === "to" && reactNative.Platform.OS === "web" && styles22.thumbFocusedWeb,
5539
6127
  { left: TRACK_HORIZONTAL_INSET + toOffset }
5540
6128
  ],
5541
6129
  tabIndex: disabled ? -1 : 0
@@ -5544,7 +6132,7 @@ var Range = react.forwardRef(function Range2({
5544
6132
  ]
5545
6133
  }
5546
6134
  ),
5547
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles19.inputs, children: [
6135
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles22.inputs, children: [
5548
6136
  /* @__PURE__ */ jsxRuntime.jsx(
5549
6137
  RangeInput,
5550
6138
  {
@@ -5595,7 +6183,7 @@ function RangeInput({
5595
6183
  placeholder,
5596
6184
  value
5597
6185
  }) {
5598
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles19.inputField, focused && styles19.inputFieldFocused], children: [
6186
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles22.inputField, focused && styles22.inputFieldFocused], children: [
5599
6187
  /* @__PURE__ */ jsxRuntime.jsx(
5600
6188
  reactNative.TextInput,
5601
6189
  {
@@ -5611,15 +6199,15 @@ function RangeInput({
5611
6199
  placeholder,
5612
6200
  placeholderTextColor: colors.grey150,
5613
6201
  returnKeyType: "done",
5614
- style: [styles19.input, reactNative.Platform.OS === "web" && styles19.inputWeb],
6202
+ style: [styles22.input, reactNative.Platform.OS === "web" && styles22.inputWeb],
5615
6203
  tabIndex: disabled ? -1 : void 0,
5616
6204
  value
5617
6205
  }
5618
6206
  ),
5619
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles19.currencySlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles19.currency, children: currency }) })
6207
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.currencySlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles22.currency, children: currency }) })
5620
6208
  ] });
5621
6209
  }
5622
- var styles19 = reactNative.StyleSheet.create({
6210
+ var styles22 = reactNative.StyleSheet.create({
5623
6211
  root: {
5624
6212
  width: DEFAULT_WIDTH5,
5625
6213
  gap: 15,
@@ -5729,6 +6317,7 @@ exports.AppleIcon = AppleIcon;
5729
6317
  exports.AreaExpandIcon = AreaExpandIcon;
5730
6318
  exports.ArrowRightIcon = ArrowRightIcon;
5731
6319
  exports.Avatar = Avatar;
6320
+ exports.AvatarSimple = AvatarSimple;
5732
6321
  exports.BRAND_LOGO_COLORS = BRAND_LOGO_COLORS;
5733
6322
  exports.BRAND_LOGO_DEFAULT_HEIGHT = BRAND_LOGO_DEFAULT_HEIGHT;
5734
6323
  exports.BRAND_LOGO_DEFAULT_WIDTH = BRAND_LOGO_DEFAULT_WIDTH;
@@ -5797,6 +6386,7 @@ exports.Select = Select;
5797
6386
  exports.SettingsIcon = SettingsIcon;
5798
6387
  exports.ShareIcon = ShareIcon;
5799
6388
  exports.ShowIcon = ShowIcon;
6389
+ exports.Sidebar = Sidebar;
5800
6390
  exports.SidebarIcon = SidebarIcon;
5801
6391
  exports.SortIcon = SortIcon;
5802
6392
  exports.StarFilledIcon = StarFilledIcon;
@@ -5807,6 +6397,7 @@ exports.Toggle = Toggle;
5807
6397
  exports.TooltipArrowIcon = TooltipArrowIcon;
5808
6398
  exports.UserIcon = UserIcon;
5809
6399
  exports.UsersAltIcon = UsersAltIcon;
6400
+ exports.VerificationCodeInput = VerificationCodeInput;
5810
6401
  exports.VideoIcon = VideoIcon;
5811
6402
  exports.WhatsAppIcon = WhatsAppIcon;
5812
6403
  exports.avatarTypography = avatarTypography;