@ecohouse/ui 0.1.29 → 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,
@@ -3992,9 +4379,9 @@ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
3992
4379
  ...viewProps,
3993
4380
  ref: rootRef,
3994
4381
  style: [
3995
- styles14.root,
4382
+ styles16.root,
3996
4383
  { width: rootWidth, maxWidth: "100%", gap: cellGap },
3997
- disabled && styles14.disabled,
4384
+ disabled && styles16.disabled,
3998
4385
  style
3999
4386
  ],
4000
4387
  children: Array.from({ length: safeLength }, (_, index) => {
@@ -4022,15 +4409,15 @@ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
4022
4409
  onSubmitEditing: () => onSubmit?.(currentCode),
4023
4410
  selectTextOnFocus: true,
4024
4411
  style: [
4025
- styles14.cell,
4412
+ styles16.cell,
4026
4413
  {
4027
4414
  width: cellWidth,
4028
4415
  height: CELL_HEIGHT,
4029
4416
  borderColor,
4030
4417
  color: error ? colors.red : colors.white
4031
4418
  },
4032
- reactNative.Platform.OS === "web" ? styles14.cellWeb : null,
4033
- reactNative.Platform.OS === "android" ? styles14.cellAndroid : null,
4419
+ reactNative.Platform.OS === "web" ? styles16.cellWeb : null,
4420
+ reactNative.Platform.OS === "android" ? styles16.cellAndroid : null,
4034
4421
  inputStyle
4035
4422
  ],
4036
4423
  value: currentCode[index] ?? ""
@@ -4041,7 +4428,7 @@ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
4041
4428
  }
4042
4429
  );
4043
4430
  });
4044
- var styles14 = reactNative.StyleSheet.create({
4431
+ var styles16 = reactNative.StyleSheet.create({
4045
4432
  root: {
4046
4433
  minWidth: 0,
4047
4434
  alignSelf: "center",
@@ -4151,25 +4538,25 @@ function MultiValueChips({ options, disabled, onRemove }) {
4151
4538
  const next = Math.ceil(event.nativeEvent.layout.width);
4152
4539
  setEllipsisWidth((current) => current === next ? current : next);
4153
4540
  };
4154
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles15.multiValueRoot, children: [
4155
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { pointerEvents: "none", style: styles15.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: [
4156
4543
  options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
4157
4544
  reactNative.View,
4158
4545
  {
4159
- style: styles15.chip,
4546
+ style: styles17.chip,
4160
4547
  onLayout: (event) => handleChipLayout(option.value, event),
4161
4548
  children: [
4162
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.chipLabel, numberOfLines: 1, children: option.label }),
4163
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.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" })
4164
4551
  ]
4165
4552
  },
4166
4553
  `measure-${option.value}`
4167
4554
  )),
4168
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.ellipsis, onLayout: handleEllipsisLayout, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.ellipsisText, children: "..." }) })
4555
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.ellipsis, onLayout: handleEllipsisLayout, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.ellipsisText, children: "..." }) })
4169
4556
  ] }),
4170
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles15.chipsRow, onLayout: handleContainerLayout, children: [
4171
- visible.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles15.chip, children: [
4172
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.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 }),
4173
4560
  /* @__PURE__ */ jsxRuntime.jsx(
4174
4561
  reactNative.Pressable,
4175
4562
  {
@@ -4181,11 +4568,11 @@ function MultiValueChips({ options, disabled, onRemove }) {
4181
4568
  hitSlop: 6,
4182
4569
  accessibilityRole: "button",
4183
4570
  accessibilityLabel: `Remove ${option.label}`,
4184
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.chipRemove, children: "\xD7" })
4571
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.chipRemove, children: "\xD7" })
4185
4572
  }
4186
4573
  )
4187
4574
  ] }, option.value)),
4188
- hasOverflow ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.ellipsis, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.ellipsisText, children: "..." }) }) : null
4575
+ hasOverflow ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles17.ellipsis, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.ellipsisText, children: "..." }) }) : null
4189
4576
  ] })
4190
4577
  ] });
4191
4578
  }
@@ -4409,11 +4796,11 @@ var Select = react.forwardRef(
4409
4796
  {
4410
4797
  ...rest,
4411
4798
  ref: setRootRef,
4412
- style: [styles15.root, isOpen && styles15.rootOpen, disabled && styles15.disabled, style],
4799
+ style: [styles17.root, isOpen && styles17.rootOpen, disabled && styles17.disabled, style],
4413
4800
  accessibilityState: { disabled, expanded: isOpen },
4414
4801
  children: [
4415
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.label, { color: labelColor }], children: label }) : null,
4416
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles15.triggerWrap, isOpen && styles15.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: [
4417
4804
  /* @__PURE__ */ jsxRuntime.jsxs(
4418
4805
  reactNative.Pressable,
4419
4806
  {
@@ -4424,29 +4811,29 @@ var Select = react.forwardRef(
4424
4811
  accessibilityLabel: resolvedAccessibilityLabel,
4425
4812
  accessibilityState: { disabled, expanded: isOpen },
4426
4813
  style: [
4427
- styles15.trigger,
4814
+ styles17.trigger,
4428
4815
  {
4429
4816
  borderColor: triggerBorderColor,
4430
4817
  backgroundColor: colors.grey700
4431
4818
  }
4432
4819
  ],
4433
4820
  children: [
4434
- hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.iconSlot, children: leftIconNode }) : null,
4435
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.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(
4436
4823
  MultiValueChips,
4437
4824
  {
4438
4825
  options: selectedOptions,
4439
4826
  disabled,
4440
4827
  onRemove: handleRemoveChip
4441
4828
  }
4442
- ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: multiple ? placeholder : singleLabel }) }),
4443
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles15.iconSlot, isOpen && styles15.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 }) })
4444
4831
  ]
4445
4832
  }
4446
4833
  ),
4447
- isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles15.menu, children: [
4448
- showSearch ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles15.searchField, children: [
4449
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.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 }) }),
4450
4837
  /* @__PURE__ */ jsxRuntime.jsx(
4451
4838
  reactNative.TextInput,
4452
4839
  {
@@ -4457,9 +4844,9 @@ var Select = react.forwardRef(
4457
4844
  placeholder: searchPlaceholder,
4458
4845
  placeholderTextColor: colors.grey100,
4459
4846
  style: [
4460
- styles15.searchInput,
4461
- reactNative.Platform.OS === "web" ? styles15.searchInputWeb : null,
4462
- reactNative.Platform.OS === "android" ? styles15.searchInputAndroid : null
4847
+ styles17.searchInput,
4848
+ reactNative.Platform.OS === "web" ? styles17.searchInputWeb : null,
4849
+ reactNative.Platform.OS === "android" ? styles17.searchInputAndroid : null
4463
4850
  ],
4464
4851
  accessibilityLabel: searchPlaceholder
4465
4852
  }
@@ -4468,12 +4855,12 @@ var Select = react.forwardRef(
4468
4855
  /* @__PURE__ */ jsxRuntime.jsxs(
4469
4856
  reactNative.ScrollView,
4470
4857
  {
4471
- style: styles15.optionList,
4472
- contentContainerStyle: styles15.optionListContent,
4858
+ style: styles17.optionList,
4859
+ contentContainerStyle: styles17.optionListContent,
4473
4860
  keyboardShouldPersistTaps: "handled",
4474
4861
  showsVerticalScrollIndicator: false,
4475
4862
  children: [
4476
- loading ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.statusText, children: "Loading..." }) }) : filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.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,
4477
4864
  !loading && filteredOptions.map((option) => {
4478
4865
  const isSelected = selectedValues.includes(option.value);
4479
4866
  const isHovered = hoveredValue === option.value;
@@ -4490,14 +4877,14 @@ var Select = react.forwardRef(
4490
4877
  accessibilityRole: multiple ? "checkbox" : "button",
4491
4878
  accessibilityState: { selected: isSelected, checked: isSelected, disabled },
4492
4879
  style: [
4493
- styles15.item,
4880
+ styles17.item,
4494
4881
  {
4495
4882
  backgroundColor: itemBackground(visualState)
4496
4883
  }
4497
4884
  ],
4498
4885
  children: [
4499
- multiple ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles15.itemCheckbox, children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { value: isSelected, variant: "light" }) }) : null,
4500
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.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 })
4501
4888
  ]
4502
4889
  },
4503
4890
  option.value
@@ -4508,13 +4895,13 @@ var Select = react.forwardRef(
4508
4895
  )
4509
4896
  ] }) : null
4510
4897
  ] }),
4511
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles15.hint, { color: hintColor }], children: hint }) : null
4898
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles17.hint, { color: hintColor }], children: hint }) : null
4512
4899
  ]
4513
4900
  }
4514
4901
  );
4515
4902
  }
4516
4903
  );
4517
- var styles15 = reactNative.StyleSheet.create({
4904
+ var styles17 = reactNative.StyleSheet.create({
4518
4905
  root: {
4519
4906
  width: DEFAULT_WIDTH3,
4520
4907
  gap: 8,
@@ -4776,13 +5163,13 @@ var Textarea = react.forwardRef(function Textarea2({
4776
5163
  const resolvedAccessibilityLabel = accessibilityLabel ?? (showLabel ? void 0 : label);
4777
5164
  useApplyWebClassName(rootRef, className);
4778
5165
  useApplyWebClassName(inputRef, inputClassName);
4779
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles16.root, disabled && styles16.disabled, style], children: [
4780
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles16.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,
4781
5168
  /* @__PURE__ */ jsxRuntime.jsx(
4782
5169
  reactNative.View,
4783
5170
  {
4784
5171
  style: [
4785
- styles16.field,
5172
+ styles18.field,
4786
5173
  {
4787
5174
  borderColor: chrome.borderColor,
4788
5175
  backgroundColor: chrome.backgroundColor
@@ -4814,11 +5201,11 @@ var Textarea = react.forwardRef(function Textarea2({
4814
5201
  onBlur?.(event);
4815
5202
  },
4816
5203
  style: [
4817
- styles16.input,
5204
+ styles18.input,
4818
5205
  textareaTypography.field,
4819
5206
  { color: chrome.textColor },
4820
- reactNative.Platform.OS === "web" ? styles16.inputWeb : null,
4821
- reactNative.Platform.OS === "android" ? styles16.inputAndroid : null,
5207
+ reactNative.Platform.OS === "web" ? styles18.inputWeb : null,
5208
+ reactNative.Platform.OS === "android" ? styles18.inputAndroid : null,
4822
5209
  inputStyle
4823
5210
  ],
4824
5211
  accessibilityLabel: resolvedAccessibilityLabel,
@@ -4827,10 +5214,10 @@ var Textarea = react.forwardRef(function Textarea2({
4827
5214
  )
4828
5215
  }
4829
5216
  ),
4830
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles16.hint, { color: chrome.hintColor }], children: hint }) : null
5217
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles18.hint, { color: chrome.hintColor }], children: hint }) : null
4831
5218
  ] });
4832
5219
  });
4833
- var styles16 = reactNative.StyleSheet.create({
5220
+ var styles18 = reactNative.StyleSheet.create({
4834
5221
  root: {
4835
5222
  width: DEFAULT_WIDTH4,
4836
5223
  gap: 8,
@@ -4870,9 +5257,9 @@ var styles16 = reactNative.StyleSheet.create({
4870
5257
  var TRACK_WIDTH = 44;
4871
5258
  var TRACK_HEIGHT = 24;
4872
5259
  var TRACK_RADIUS = 43;
4873
- var TRACK_PADDING = 4;
4874
- var THUMB_SIZE = TRACK_HEIGHT - TRACK_PADDING * 2;
4875
- 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;
4876
5263
  var ANIMATION_DURATION2 = 300;
4877
5264
  var Toggle = react.forwardRef(function Toggle2({
4878
5265
  value,
@@ -4930,13 +5317,13 @@ var Toggle = react.forwardRef(function Toggle2({
4930
5317
  accessibilityRole: "switch",
4931
5318
  accessibilityLabel: resolvedAccessibilityLabel,
4932
5319
  accessibilityState: { checked: isActive, disabled },
4933
- style: [styles17.pressable, disabled && styles17.disabled, style],
5320
+ style: [styles19.pressable, disabled && styles19.disabled, style],
4934
5321
  children: [
4935
5322
  /* @__PURE__ */ jsxRuntime.jsx(
4936
5323
  reactNative.Animated.View,
4937
5324
  {
4938
5325
  style: [
4939
- styles17.track,
5326
+ styles19.track,
4940
5327
  {
4941
5328
  backgroundColor: trackBackgroundColor
4942
5329
  }
@@ -4945,7 +5332,7 @@ var Toggle = react.forwardRef(function Toggle2({
4945
5332
  reactNative.Animated.View,
4946
5333
  {
4947
5334
  style: [
4948
- styles17.thumb,
5335
+ styles19.thumb,
4949
5336
  {
4950
5337
  transform: [{ translateX: thumbTranslateX }]
4951
5338
  }
@@ -4954,12 +5341,12 @@ var Toggle = react.forwardRef(function Toggle2({
4954
5341
  )
4955
5342
  }
4956
5343
  ),
4957
- labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles17.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
4958
5345
  ]
4959
5346
  }
4960
5347
  );
4961
5348
  });
4962
- var styles17 = reactNative.StyleSheet.create({
5349
+ var styles19 = reactNative.StyleSheet.create({
4963
5350
  pressable: {
4964
5351
  flexDirection: "row",
4965
5352
  alignItems: "center",
@@ -4973,7 +5360,7 @@ var styles17 = reactNative.StyleSheet.create({
4973
5360
  width: TRACK_WIDTH,
4974
5361
  height: TRACK_HEIGHT,
4975
5362
  borderRadius: TRACK_RADIUS,
4976
- padding: TRACK_PADDING,
5363
+ padding: TRACK_PADDING2,
4977
5364
  justifyContent: "center"
4978
5365
  },
4979
5366
  thumb: {
@@ -5034,21 +5421,21 @@ var RatingInput = react.forwardRef(
5034
5421
  {
5035
5422
  ...rest,
5036
5423
  ref: setContainerRef,
5037
- style: [styles18.root, disabled && styles18.disabled, style],
5424
+ style: [styles20.root, disabled && styles20.disabled, style],
5038
5425
  children: [
5039
- showValue ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: [styles18.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,
5040
5427
  /* @__PURE__ */ jsxRuntime.jsx(
5041
5428
  reactNative.View,
5042
5429
  {
5043
5430
  accessibilityRole: readOnly ? "image" : "radiogroup",
5044
5431
  accessibilityLabel: resolvedAccessibilityLabel,
5045
5432
  accessibilityState: { disabled },
5046
- style: [styles18.stars, { gap: resolvedStarGap }],
5433
+ style: [styles20.stars, { gap: resolvedStarGap }],
5047
5434
  children: Array.from({ length: STAR_COUNT }, (_, index) => {
5048
5435
  const starValue = index + 1;
5049
5436
  const isSelected = starValue <= selectedStarCount;
5050
5437
  const icon = isSelected ? /* @__PURE__ */ jsxRuntime.jsx(StarFilledIcon, { size: iconWidth, height: iconHeight }) : /* @__PURE__ */ jsxRuntime.jsx(StarIcon, { size: iconWidth, height: iconHeight });
5051
- const itemStyle = [styles18.starItem, { width: size, height: size }];
5438
+ const itemStyle = [styles20.starItem, { width: size, height: size }];
5052
5439
  if (readOnly) {
5053
5440
  return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: itemStyle, children: icon }, starValue);
5054
5441
  }
@@ -5074,7 +5461,7 @@ var RatingInput = react.forwardRef(
5074
5461
  );
5075
5462
  }
5076
5463
  );
5077
- var styles18 = reactNative.StyleSheet.create({
5464
+ var styles20 = reactNative.StyleSheet.create({
5078
5465
  root: {
5079
5466
  flexDirection: "row",
5080
5467
  alignItems: "center",
@@ -5098,7 +5485,7 @@ var styles18 = reactNative.StyleSheet.create({
5098
5485
  opacity: 0.5
5099
5486
  }
5100
5487
  });
5101
- var CARD_WIDTH = 370;
5488
+ var CARD_WIDTH2 = 370;
5102
5489
  var CARD_MIN_HEIGHT = 173;
5103
5490
  var AVATAR_SIZE = 44;
5104
5491
  var CommentCard = react.forwardRef(
@@ -5138,19 +5525,19 @@ var CommentCard = react.forwardRef(
5138
5525
  setExpanded(next);
5139
5526
  onExpandedChange?.(next);
5140
5527
  };
5141
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles19.root, style], children: [
5142
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles19.header, children: [
5143
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles19.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(
5144
5531
  reactNative.Image,
5145
5532
  {
5146
5533
  source: { uri: imageUrl ?? void 0 },
5147
- style: styles19.avatarImage,
5534
+ style: styles21.avatarImage,
5148
5535
  onError: () => setImageFailed(true)
5149
5536
  }
5150
5537
  ) : /* @__PURE__ */ jsxRuntime.jsx(UserIcon, { size: 20, color: colors.primary }) }),
5151
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles19.identity, children: [
5152
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles19.name, children: userName }),
5153
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles19.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 })
5154
5541
  ] }),
5155
5542
  /* @__PURE__ */ jsxRuntime.jsx(RatingInput, { value: rating, readOnly: true, showValue: false, size: 16 })
5156
5543
  ] }),
@@ -5158,7 +5545,7 @@ var CommentCard = react.forwardRef(
5158
5545
  reactNative.Text,
5159
5546
  {
5160
5547
  numberOfLines: expanded ? void 0 : maxCommentLines,
5161
- style: [styles19.comment, commentStyle],
5548
+ style: [styles21.comment, commentStyle],
5162
5549
  children: commentText
5163
5550
  }
5164
5551
  ),
@@ -5171,14 +5558,14 @@ var CommentCard = react.forwardRef(
5171
5558
  hitSlop: 6,
5172
5559
  onHoverIn: () => setActionHovered(true),
5173
5560
  onHoverOut: () => setActionHovered(false),
5174
- style: styles19.action,
5561
+ style: styles21.action,
5175
5562
  children: /* @__PURE__ */ jsxRuntime.jsx(
5176
5563
  reactNative.Text,
5177
5564
  {
5178
5565
  style: [
5179
- styles19.actionText,
5180
- expanded && styles19.closeActionText,
5181
- actionHovered && (expanded ? styles19.closeActionTextHovered : styles19.openActionTextHovered)
5566
+ styles21.actionText,
5567
+ expanded && styles21.closeActionText,
5568
+ actionHovered && (expanded ? styles21.closeActionTextHovered : styles21.openActionTextHovered)
5182
5569
  ],
5183
5570
  children: expanded ? readLessLabel : readMoreLabel
5184
5571
  }
@@ -5188,9 +5575,9 @@ var CommentCard = react.forwardRef(
5188
5575
  ] });
5189
5576
  }
5190
5577
  );
5191
- var styles19 = reactNative.StyleSheet.create({
5578
+ var styles21 = reactNative.StyleSheet.create({
5192
5579
  root: {
5193
- width: CARD_WIDTH,
5580
+ width: CARD_WIDTH2,
5194
5581
  minHeight: CARD_MIN_HEIGHT,
5195
5582
  padding: 16,
5196
5583
  gap: 12,
@@ -5627,7 +6014,7 @@ var Range = react.forwardRef(function Range2({
5627
6014
  ...rest,
5628
6015
  ref: setRootRef,
5629
6016
  onLayout,
5630
- style: [styles20.root, disabled && styles20.disabled, style],
6017
+ style: [styles22.root, disabled && styles22.disabled, style],
5631
6018
  children: [
5632
6019
  /* @__PURE__ */ jsxRuntime.jsxs(
5633
6020
  reactNative.Pressable,
@@ -5641,16 +6028,16 @@ var Range = react.forwardRef(function Range2({
5641
6028
  updateNearestFromTrack(event.nativeEvent.offsetX);
5642
6029
  } : void 0,
5643
6030
  onPress: reactNative.Platform.OS === "web" ? void 0 : handleTrackPress,
5644
- style: styles20.sliderPlane,
6031
+ style: styles22.sliderPlane,
5645
6032
  tabIndex: -1,
5646
6033
  children: [
5647
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles20.track }),
6034
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles22.track }),
5648
6035
  /* @__PURE__ */ jsxRuntime.jsx(
5649
6036
  reactNative.View,
5650
6037
  {
5651
6038
  pointerEvents: "none",
5652
6039
  style: [
5653
- styles20.activeTrack,
6040
+ styles22.activeTrack,
5654
6041
  {
5655
6042
  left: TRACK_HORIZONTAL_INSET + fromOffset,
5656
6043
  width: toOffset - fromOffset + THUMB_SIZE2
@@ -5692,9 +6079,9 @@ var Range = react.forwardRef(function Range2({
5692
6079
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveFrom, updateFromInput),
5693
6080
  pointerEvents: disabled ? "none" : "auto",
5694
6081
  style: [
5695
- styles20.thumb,
5696
- reactNative.Platform.OS === "web" && styles20.thumbWeb,
5697
- focusedThumb === "from" && reactNative.Platform.OS === "web" && styles20.thumbFocusedWeb,
6082
+ styles22.thumb,
6083
+ reactNative.Platform.OS === "web" && styles22.thumbWeb,
6084
+ focusedThumb === "from" && reactNative.Platform.OS === "web" && styles22.thumbFocusedWeb,
5698
6085
  { left: TRACK_HORIZONTAL_INSET + fromOffset }
5699
6086
  ],
5700
6087
  tabIndex: disabled ? -1 : 0
@@ -5734,9 +6121,9 @@ var Range = react.forwardRef(function Range2({
5734
6121
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveTo, updateToInput),
5735
6122
  pointerEvents: disabled ? "none" : "auto",
5736
6123
  style: [
5737
- styles20.thumb,
5738
- reactNative.Platform.OS === "web" && styles20.thumbWeb,
5739
- focusedThumb === "to" && reactNative.Platform.OS === "web" && styles20.thumbFocusedWeb,
6124
+ styles22.thumb,
6125
+ reactNative.Platform.OS === "web" && styles22.thumbWeb,
6126
+ focusedThumb === "to" && reactNative.Platform.OS === "web" && styles22.thumbFocusedWeb,
5740
6127
  { left: TRACK_HORIZONTAL_INSET + toOffset }
5741
6128
  ],
5742
6129
  tabIndex: disabled ? -1 : 0
@@ -5745,7 +6132,7 @@ var Range = react.forwardRef(function Range2({
5745
6132
  ]
5746
6133
  }
5747
6134
  ),
5748
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles20.inputs, children: [
6135
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles22.inputs, children: [
5749
6136
  /* @__PURE__ */ jsxRuntime.jsx(
5750
6137
  RangeInput,
5751
6138
  {
@@ -5796,7 +6183,7 @@ function RangeInput({
5796
6183
  placeholder,
5797
6184
  value
5798
6185
  }) {
5799
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles20.inputField, focused && styles20.inputFieldFocused], children: [
6186
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles22.inputField, focused && styles22.inputFieldFocused], children: [
5800
6187
  /* @__PURE__ */ jsxRuntime.jsx(
5801
6188
  reactNative.TextInput,
5802
6189
  {
@@ -5812,15 +6199,15 @@ function RangeInput({
5812
6199
  placeholder,
5813
6200
  placeholderTextColor: colors.grey150,
5814
6201
  returnKeyType: "done",
5815
- style: [styles20.input, reactNative.Platform.OS === "web" && styles20.inputWeb],
6202
+ style: [styles22.input, reactNative.Platform.OS === "web" && styles22.inputWeb],
5816
6203
  tabIndex: disabled ? -1 : void 0,
5817
6204
  value
5818
6205
  }
5819
6206
  ),
5820
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles20.currencySlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles20.currency, children: currency }) })
6207
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.currencySlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles22.currency, children: currency }) })
5821
6208
  ] });
5822
6209
  }
5823
- var styles20 = reactNative.StyleSheet.create({
6210
+ var styles22 = reactNative.StyleSheet.create({
5824
6211
  root: {
5825
6212
  width: DEFAULT_WIDTH5,
5826
6213
  gap: 15,
@@ -5930,6 +6317,7 @@ exports.AppleIcon = AppleIcon;
5930
6317
  exports.AreaExpandIcon = AreaExpandIcon;
5931
6318
  exports.ArrowRightIcon = ArrowRightIcon;
5932
6319
  exports.Avatar = Avatar;
6320
+ exports.AvatarSimple = AvatarSimple;
5933
6321
  exports.BRAND_LOGO_COLORS = BRAND_LOGO_COLORS;
5934
6322
  exports.BRAND_LOGO_DEFAULT_HEIGHT = BRAND_LOGO_DEFAULT_HEIGHT;
5935
6323
  exports.BRAND_LOGO_DEFAULT_WIDTH = BRAND_LOGO_DEFAULT_WIDTH;
@@ -5998,6 +6386,7 @@ exports.Select = Select;
5998
6386
  exports.SettingsIcon = SettingsIcon;
5999
6387
  exports.ShareIcon = ShareIcon;
6000
6388
  exports.ShowIcon = ShowIcon;
6389
+ exports.Sidebar = Sidebar;
6001
6390
  exports.SidebarIcon = SidebarIcon;
6002
6391
  exports.SortIcon = SortIcon;
6003
6392
  exports.StarFilledIcon = StarFilledIcon;