@ecohouse/ui 0.1.34 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +1 -0
  2. package/dist/index.cjs +903 -489
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +169 -129
  5. package/dist/index.d.ts +169 -129
  6. package/dist/index.js +901 -491
  7. package/dist/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/components/AccordionItem/AccordionItem.tsx +14 -11
  10. package/src/components/AccountHeader/AccountHeader.tsx +16 -0
  11. package/src/components/DatePicker/DatePicker.tsx +47 -14
  12. package/src/components/Input/Input.tsx +54 -21
  13. package/src/components/LanguageSwitcher/LanguageSwitcher.stories.tsx +11 -0
  14. package/src/components/LanguageSwitcher/LanguageSwitcher.tsx +103 -19
  15. package/src/components/LanguageSwitcher/index.ts +5 -1
  16. package/src/components/SegmentedToggle/SegmentedToggle.stories.tsx +9 -0
  17. package/src/components/SegmentedToggle/SegmentedToggle.tsx +19 -13
  18. package/src/components/Select/Select.tsx +90 -5
  19. package/src/components/Textarea/Textarea.tsx +29 -4
  20. package/src/components/index.ts +5 -1
  21. package/src/icons/Globe/GlobeIcon.tsx +2 -2
  22. package/src/icons/Globe/GlobeIcon.web.tsx +2 -2
  23. package/src/icons/Globe/globePath.ts +2 -2
  24. package/src/icons/Key/keyPath.ts +1 -1
  25. package/src/icons/MoreHorizontal/MoreHorizontalIcon.tsx +26 -0
  26. package/src/icons/MoreHorizontal/MoreHorizontalIcon.web.tsx +25 -0
  27. package/src/icons/MoreHorizontal/index.ts +1 -0
  28. package/src/icons/MoreHorizontal/moreHorizontalPath.ts +2 -0
  29. package/src/icons/TableView/TableViewIcon.tsx +20 -0
  30. package/src/icons/TableView/TableViewIcon.web.tsx +26 -0
  31. package/src/icons/TableView/index.ts +1 -0
  32. package/src/icons/TableView/tableViewPath.ts +2 -0
  33. package/src/icons/index.ts +2 -0
  34. package/src/icons/registry.ts +6 -0
  35. package/src/index.ts +7 -0
  36. package/src/primitives/IconStatusBadge/IconStatusBadge.stories.tsx +21 -0
  37. package/src/primitives/IconStatusBadge/IconStatusBadge.tsx +76 -0
  38. package/src/primitives/IconStatusBadge/index.ts +2 -0
  39. package/src/primitives/InfoCardV2/InfoCardV2.stories.tsx +64 -0
  40. package/src/primitives/InfoCardV2/InfoCardV2.tsx +116 -0
  41. package/src/primitives/InfoCardV2/index.ts +2 -0
  42. package/src/primitives/index.ts +7 -0
  43. package/src/theme/typography.ts +3 -3
package/dist/index.cjs CHANGED
@@ -7403,7 +7403,7 @@ var require_react_dom_development = __commonJS({
7403
7403
  var HostPortal = 4;
7404
7404
  var HostComponent = 5;
7405
7405
  var HostText = 6;
7406
- var Fragment3 = 7;
7406
+ var Fragment4 = 7;
7407
7407
  var Mode = 8;
7408
7408
  var ContextConsumer = 9;
7409
7409
  var ContextProvider = 10;
@@ -8558,7 +8558,7 @@ var require_react_dom_development = __commonJS({
8558
8558
  return "DehydratedFragment";
8559
8559
  case ForwardRef:
8560
8560
  return getWrappedName$1(type, type.render, "ForwardRef");
8561
- case Fragment3:
8561
+ case Fragment4:
8562
8562
  return "Fragment";
8563
8563
  case HostComponent:
8564
8564
  return type;
@@ -9455,15 +9455,15 @@ var require_react_dom_development = __commonJS({
9455
9455
  };
9456
9456
  }
9457
9457
  var warnValidStyle$1 = warnValidStyle;
9458
- function createDangerousStringForStyles(styles34) {
9458
+ function createDangerousStringForStyles(styles36) {
9459
9459
  {
9460
9460
  var serialized = "";
9461
9461
  var delimiter = "";
9462
- for (var styleName in styles34) {
9463
- if (!styles34.hasOwnProperty(styleName)) {
9462
+ for (var styleName in styles36) {
9463
+ if (!styles36.hasOwnProperty(styleName)) {
9464
9464
  continue;
9465
9465
  }
9466
- var styleValue = styles34[styleName];
9466
+ var styleValue = styles36[styleName];
9467
9467
  if (styleValue != null) {
9468
9468
  var isCustomProperty = styleName.indexOf("--") === 0;
9469
9469
  serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ":";
@@ -9474,19 +9474,19 @@ var require_react_dom_development = __commonJS({
9474
9474
  return serialized || null;
9475
9475
  }
9476
9476
  }
9477
- function setValueForStyles(node, styles34) {
9477
+ function setValueForStyles(node, styles36) {
9478
9478
  var style2 = node.style;
9479
- for (var styleName in styles34) {
9480
- if (!styles34.hasOwnProperty(styleName)) {
9479
+ for (var styleName in styles36) {
9480
+ if (!styles36.hasOwnProperty(styleName)) {
9481
9481
  continue;
9482
9482
  }
9483
9483
  var isCustomProperty = styleName.indexOf("--") === 0;
9484
9484
  {
9485
9485
  if (!isCustomProperty) {
9486
- warnValidStyle$1(styleName, styles34[styleName]);
9486
+ warnValidStyle$1(styleName, styles36[styleName]);
9487
9487
  }
9488
9488
  }
9489
- var styleValue = dangerousStyleValue(styleName, styles34[styleName], isCustomProperty);
9489
+ var styleValue = dangerousStyleValue(styleName, styles36[styleName], isCustomProperty);
9490
9490
  if (styleName === "float") {
9491
9491
  styleName = "cssFloat";
9492
9492
  }
@@ -9500,9 +9500,9 @@ var require_react_dom_development = __commonJS({
9500
9500
  function isValueEmpty(value) {
9501
9501
  return value == null || typeof value === "boolean" || value === "";
9502
9502
  }
9503
- function expandShorthandMap(styles34) {
9503
+ function expandShorthandMap(styles36) {
9504
9504
  var expanded = {};
9505
- for (var key in styles34) {
9505
+ for (var key in styles36) {
9506
9506
  var longhands = shorthandToLonghand[key] || [key];
9507
9507
  for (var i = 0; i < longhands.length; i++) {
9508
9508
  expanded[longhands[i]] = key;
@@ -16983,7 +16983,7 @@ var require_react_dom_development = __commonJS({
16983
16983
  }
16984
16984
  }
16985
16985
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
16986
- if (current2 === null || current2.tag !== Fragment3) {
16986
+ if (current2 === null || current2.tag !== Fragment4) {
16987
16987
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
16988
16988
  created.return = returnFiber;
16989
16989
  return created;
@@ -17386,7 +17386,7 @@ var require_react_dom_development = __commonJS({
17386
17386
  if (child.key === key) {
17387
17387
  var elementType = element.type;
17388
17388
  if (elementType === REACT_FRAGMENT_TYPE) {
17389
- if (child.tag === Fragment3) {
17389
+ if (child.tag === Fragment4) {
17390
17390
  deleteRemainingChildren(returnFiber, child.sibling);
17391
17391
  var existing = useFiber(child, element.props.children);
17392
17392
  existing.return = returnFiber;
@@ -22860,7 +22860,7 @@ var require_react_dom_development = __commonJS({
22860
22860
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
22861
22861
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
22862
22862
  }
22863
- case Fragment3:
22863
+ case Fragment4:
22864
22864
  return updateFragment(current2, workInProgress2, renderLanes2);
22865
22865
  case Mode:
22866
22866
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -23132,7 +23132,7 @@ var require_react_dom_development = __commonJS({
23132
23132
  case SimpleMemoComponent:
23133
23133
  case FunctionComponent:
23134
23134
  case ForwardRef:
23135
- case Fragment3:
23135
+ case Fragment4:
23136
23136
  case Mode:
23137
23137
  case Profiler:
23138
23138
  case ContextConsumer:
@@ -27384,7 +27384,7 @@ var require_react_dom_development = __commonJS({
27384
27384
  return fiber;
27385
27385
  }
27386
27386
  function createFiberFromFragment(elements, mode, lanes, key) {
27387
- var fiber = createFiber(Fragment3, elements, key, mode);
27387
+ var fiber = createFiber(Fragment4, elements, key, mode);
27388
27388
  fiber.lanes = lanes;
27389
27389
  return fiber;
27390
27390
  }
@@ -28619,8 +28619,8 @@ var languageSwitcherTypography = {
28619
28619
  fontFamily: fonts.sans,
28620
28620
  fontSize: 14,
28621
28621
  fontWeight: "600",
28622
- lineHeight: 19,
28623
- letterSpacing: 0
28622
+ lineHeight: 14,
28623
+ letterSpacing: 0.42
28624
28624
  };
28625
28625
  var counterTypography = {
28626
28626
  fontFamily: fonts.sans,
@@ -29415,9 +29415,9 @@ function HeadsetIcon({ size = 24, color = "#B76533", strokeWidth = 2 }) {
29415
29415
  }
29416
29416
 
29417
29417
  // src/icons/Globe/globePath.ts
29418
- var GLOBE_PATH = "M18.3333 10C18.3333 14.6024 14.6024 18.3333 10 18.3333M18.3333 10C18.3333 5.39763 14.6024 1.66667 10 1.66667M18.3333 10H1.66667M10 18.3333C5.39763 18.3333 1.66667 14.6024 1.66667 10M10 18.3333C12.0833 16.0511 13.2675 13.0836 13.3333 10C13.2675 6.91643 12.0833 3.94892 10 1.66667M10 18.3333C7.91667 16.0511 6.73248 13.0836 6.66667 10C6.73248 6.91643 7.91667 3.94892 10 1.66667M1.66667 10C1.66667 5.39763 5.39763 1.66667 10 1.66667";
29419
- function GlobeIcon({ size = 20, color = colors.primary, strokeWidth = 2 }) {
29420
- return /* @__PURE__ */ jsxRuntime.jsx(Svg20__default.default, { width: size, height: size, viewBox: "0 0 20 20", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
29418
+ var GLOBE_PATH = "M1.3335 8.00004H14.6668M1.3335 8.00004C1.3335 11.6819 4.31826 14.6667 8.00016 14.6667M1.3335 8.00004C1.3335 4.31814 4.31826 1.33337 8.00016 1.33337M14.6668 8.00004C14.6668 11.6819 11.6821 14.6667 8.00016 14.6667M14.6668 8.00004C14.6668 4.31814 11.6821 1.33337 8.00016 1.33337M8.00016 1.33337C9.66768 3.15894 10.6153 5.52806 10.6668 8.00004C10.6153 10.472 9.66768 12.8411 8.00016 14.6667M8.00016 1.33337C6.33264 3.15894 5.38499 5.52806 5.3335 8.00004C5.38499 10.472 6.33264 12.8411 8.00016 14.6667";
29419
+ function GlobeIcon({ size = 16, color = colors.primary, strokeWidth = 1.5 }) {
29420
+ return /* @__PURE__ */ jsxRuntime.jsx(Svg20__default.default, { width: size, height: size, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
29421
29421
  Svg20.Path,
29422
29422
  {
29423
29423
  d: GLOBE_PATH,
@@ -29485,7 +29485,7 @@ function InstagramIcon({ size = 20, color = colors.white }) {
29485
29485
  }
29486
29486
 
29487
29487
  // src/icons/Key/keyPath.ts
29488
- var KEY_PATH = "M5.28673 10.0002L7.0545 11.768M7.6435 7.64301L9.41127 9.41078M10.0003 5.28624L11.768 7.05401M4.22553 11.0604L11.0609 4.22505C11.7209 3.56502 12.0513 3.235 12.4318 3.11136C12.7666 3.00259 13.127 3.00259 13.4618 3.11136C13.8421 3.23494 14.1718 3.56464 14.8311 4.22393L15.775 5.16785C16.4351 5.82788 16.7654 6.15867 16.8891 6.53922C16.9979 6.87396 16.9976 7.23381 16.8889 7.56855C16.7652 7.9491 16.4353 8.27937 15.7753 8.9394L8.93989 15.7748C8.27986 16.4348 7.94959 16.7647 7.56904 16.8884C7.2343 16.9971 6.87445 16.9974 6.53971 16.8886C6.15916 16.765 5.82837 16.4346 5.16834 15.7745L4.22441 14.8306C3.56513 14.1713 3.23542 13.8416 3.11185 13.4613C3.00308 13.1266 3.00308 12.7661 3.11185 12.4313C3.23549 12.0508 3.56551 11.7204 4.22553 11.0604Z";
29488
+ var KEY_PATH = "M14.1668 8.33333V6.66667C14.1668 4.36548 12.3013 2.5 10.0002 2.5C7.69898 2.5 5.8335 4.36548 5.8335 6.66667V8.33333M10.0002 12.0833V13.75M7.3335 17.5H12.6668C14.067 17.5 14.767 17.5 15.3018 17.2275C15.7722 16.9878 16.1547 16.6054 16.3943 16.135C16.6668 15.6002 16.6668 14.9001 16.6668 13.5V12.3333C16.6668 10.9332 16.6668 10.2331 16.3943 9.69836C16.1547 9.22795 15.7722 8.8455 15.3018 8.60582C14.767 8.33333 14.067 8.33333 12.6668 8.33333H7.3335C5.93336 8.33333 5.2333 8.33333 4.69852 8.60582C4.22811 8.8455 3.84566 9.22795 3.60598 9.69836C3.3335 10.2331 3.3335 10.9332 3.3335 12.3333V13.5C3.3335 14.9001 3.3335 15.6002 3.60598 16.135C3.84566 16.6054 4.22811 16.9878 4.69852 17.2275C5.2333 17.5 5.93336 17.5 7.3335 17.5Z";
29489
29489
  function KeyIcon({ size = 20, color = colors.primary, strokeWidth = 2 }) {
29490
29490
  return /* @__PURE__ */ jsxRuntime.jsx(Svg20__default.default, { width: size, height: size, viewBox: "0 0 20 20", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
29491
29491
  Svg20.Path,
@@ -29699,6 +29699,26 @@ function MinusIcon({ size = 16, color = colors.white, strokeWidth = 2 }) {
29699
29699
  ) });
29700
29700
  }
29701
29701
 
29702
+ // src/icons/MoreHorizontal/moreHorizontalPath.ts
29703
+ var MORE_HORIZONTAL_PATH = "M6.33333 2.33333C6.70152 2.33333 7 2.03486 7 1.66667C7 1.29848 6.70152 1 6.33333 1C5.96514 1 5.66667 1.29848 5.66667 1.66667C5.66667 2.03486 5.96514 2.33333 6.33333 2.33333ZM11 2.33333C11.3682 2.33333 11.6667 2.03486 11.6667 1.66667C11.6667 1.29848 11.3682 1 11 1C10.6318 1 10.3333 1.29848 10.3333 1.66667C10.3333 2.03486 10.6318 2.33333 11 2.33333ZM1.66667 2.33333C2.03486 2.33333 2.33333 2.03486 2.33333 1.66667C2.33333 1.29848 2.03486 1 1.66667 1C1.29848 1 1 1.29848 1 1.66667C1 2.03486 1.29848 2.33333 1.66667 2.33333Z";
29704
+ var ASPECT_RATIO = 4 / 13;
29705
+ function MoreHorizontalIcon({
29706
+ size = 13,
29707
+ color = colors.white,
29708
+ strokeWidth = 2
29709
+ }) {
29710
+ return /* @__PURE__ */ jsxRuntime.jsx(Svg20__default.default, { width: size, height: size * ASPECT_RATIO, viewBox: "0 0 13 4", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
29711
+ Svg20.Path,
29712
+ {
29713
+ d: MORE_HORIZONTAL_PATH,
29714
+ stroke: color,
29715
+ strokeWidth,
29716
+ strokeLinecap: "round",
29717
+ strokeLinejoin: "round"
29718
+ }
29719
+ ) });
29720
+ }
29721
+
29702
29722
  // src/icons/Navigate/navigatePath.ts
29703
29723
  var NAVIGATE_PATH = "M5.691 14.2339C11.5836 17.7694 16.2976 13.0554 15.7084 4.21658C6.86968 3.62732 2.15584 8.34151 5.691 14.2339ZM5.691 14.2339C5.69093 14.2338 5.69107 14.234 5.691 14.2339ZM5.691 14.2339L4.16675 15.7576M5.691 14.2339L8.88079 11.0436";
29704
29724
  function NavigateIcon({ size = 20, color = colors.primary, strokeWidth = 2 }) {
@@ -29924,6 +29944,21 @@ function StarFilledIcon({
29924
29944
  ) });
29925
29945
  }
29926
29946
 
29947
+ // src/icons/TableView/tableViewPath.ts
29948
+ var TABLE_VIEW_PATH = "M1 6L16 6M6 1L6 16M5 1H12C13.4001 1 14.1002 1 14.635 1.27248C15.1054 1.51217 15.4878 1.89462 15.7275 2.36502C16 2.8998 16 3.59987 16 5V12C16 13.4001 16 14.1002 15.7275 14.635C15.4878 15.1054 15.1054 15.4878 14.635 15.7275C14.1002 16 13.4001 16 12 16H5C3.59987 16 2.8998 16 2.36502 15.7275C1.89462 15.4878 1.51217 15.1054 1.27248 14.635C1 14.1002 1 13.4001 1 12V5C1 3.59987 1 2.8998 1.27248 2.36502C1.51217 1.89462 1.89462 1.51217 2.36502 1.27248C2.8998 1 3.59987 1 5 1Z";
29949
+ function TableViewIcon({ size = 17, color = colors.grey400, strokeWidth = 2 }) {
29950
+ return /* @__PURE__ */ jsxRuntime.jsx(Svg20__default.default, { width: size, height: size, viewBox: "0 0 17 17", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
29951
+ Svg20.Path,
29952
+ {
29953
+ d: TABLE_VIEW_PATH,
29954
+ stroke: color,
29955
+ strokeWidth,
29956
+ strokeLinecap: "round",
29957
+ strokeLinejoin: "round"
29958
+ }
29959
+ ) });
29960
+ }
29961
+
29927
29962
  // src/icons/User/userPath.ts
29928
29963
  var USER_PATH = "M15.8334 17.5C15.8334 14.2783 13.2217 11.6667 10 11.6667C6.77836 11.6667 4.16669 14.2783 4.16669 17.5M10 9.16667C8.15907 9.16667 6.66669 7.67428 6.66669 5.83333C6.66669 3.99238 8.15907 2.5 10 2.5C11.841 2.5 13.3334 3.99238 13.3334 5.83333C13.3334 7.67428 11.841 9.16667 10 9.16667Z";
29929
29964
  function UserIcon({ size = 20, color = colors.primary, strokeWidth = 2 }) {
@@ -30049,6 +30084,7 @@ var icons = {
30049
30084
  menu: MenuIcon,
30050
30085
  menuLines: MenuLinesIcon,
30051
30086
  minus: MinusIcon,
30087
+ moreHorizontal: MoreHorizontalIcon,
30052
30088
  navigate: NavigateIcon,
30053
30089
  noSmoking: NoSmokingIcon,
30054
30090
  paw: PawIcon,
@@ -30068,6 +30104,7 @@ var icons = {
30068
30104
  sort: SortIcon,
30069
30105
  star: StarIcon,
30070
30106
  starFilled: StarFilledIcon,
30107
+ tableView: TableViewIcon,
30071
30108
  tooltipArrow: TooltipArrowIcon,
30072
30109
  trash: TrashIcon,
30073
30110
  user: UserIcon,
@@ -30092,7 +30129,8 @@ var iconGroups = {
30092
30129
  "mapView",
30093
30130
  "menu",
30094
30131
  "menuLines",
30095
- "navigate"
30132
+ "navigate",
30133
+ "tableView"
30096
30134
  ],
30097
30135
  actions: [
30098
30136
  "show",
@@ -30123,6 +30161,7 @@ var iconGroups = {
30123
30161
  "star",
30124
30162
  "starFilled",
30125
30163
  "minus",
30164
+ "moreHorizontal",
30126
30165
  "plus",
30127
30166
  "refresh",
30128
30167
  "refundStatus",
@@ -30520,7 +30559,87 @@ var styles2 = reactNative.StyleSheet.create({
30520
30559
  flex: 1
30521
30560
  }
30522
30561
  });
30523
- var ICON_SIZE2 = 16;
30562
+ var ICON_SLOT_SIZE = 41;
30563
+ var ICON_SIZE2 = 20;
30564
+ var InfoCardV2 = react.forwardRef(
30565
+ function InfoCardV22({
30566
+ label,
30567
+ value,
30568
+ icon: Icon2,
30569
+ iconProps,
30570
+ iconSize = ICON_SIZE2,
30571
+ style,
30572
+ className,
30573
+ accessibilityLabel,
30574
+ ...rest
30575
+ }, forwardedRef) {
30576
+ const containerRef = react.useRef(null);
30577
+ const setContainerRef = react.useMemo(() => mergeRefs(containerRef, forwardedRef), [forwardedRef]);
30578
+ useApplyWebClassName(containerRef, className?.trim() || void 0);
30579
+ return /* @__PURE__ */ jsxRuntime.jsxs(
30580
+ reactNative.View,
30581
+ {
30582
+ ...rest,
30583
+ ref: setContainerRef,
30584
+ accessibilityRole: "text",
30585
+ accessibilityLabel: accessibilityLabel ?? `${label}. ${value}`,
30586
+ style: [styles3.root, style],
30587
+ children: [
30588
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles3.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...iconProps, size: iconSize, color: iconProps?.color ?? colors.primary }) }),
30589
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles3.content, children: [
30590
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles3.label, children: label }),
30591
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles3.value, children: value })
30592
+ ] })
30593
+ ]
30594
+ }
30595
+ );
30596
+ }
30597
+ );
30598
+ var styles3 = reactNative.StyleSheet.create({
30599
+ root: {
30600
+ minHeight: 65,
30601
+ padding: 12,
30602
+ flexDirection: "row",
30603
+ alignItems: "center",
30604
+ flexGrow: 1,
30605
+ flexShrink: 0,
30606
+ flexBasis: 0,
30607
+ gap: 16,
30608
+ borderRadius: 16,
30609
+ backgroundColor: colors.grey700
30610
+ },
30611
+ iconSlot: {
30612
+ width: ICON_SLOT_SIZE,
30613
+ height: ICON_SLOT_SIZE,
30614
+ borderRadius: 10,
30615
+ alignItems: "center",
30616
+ justifyContent: "center",
30617
+ flexShrink: 0,
30618
+ backgroundColor: colors.grey600
30619
+ },
30620
+ content: {
30621
+ minWidth: 0,
30622
+ flexShrink: 1,
30623
+ gap: 6
30624
+ },
30625
+ label: {
30626
+ fontFamily: fonts.sans,
30627
+ fontSize: 14,
30628
+ fontWeight: "500",
30629
+ lineHeight: 16,
30630
+ letterSpacing: 0,
30631
+ color: colors.lightGrey
30632
+ },
30633
+ value: {
30634
+ fontFamily: fonts.sans,
30635
+ fontSize: 16,
30636
+ fontWeight: "700",
30637
+ lineHeight: 19,
30638
+ letterSpacing: 0,
30639
+ color: colors.white
30640
+ }
30641
+ });
30642
+ var ICON_SIZE3 = 16;
30524
30643
  var BACKGROUND_COLOR = "#09090966";
30525
30644
  var webBlurStyle = reactNative.Platform.OS === "web" ? {
30526
30645
  backdropFilter: "blur(10px)",
@@ -30561,10 +30680,10 @@ var FavoritesButton = react.forwardRef(
30561
30680
  hitSlop,
30562
30681
  onPress: handlePress,
30563
30682
  style: ({ pressed }) => [
30564
- styles3.button,
30683
+ styles4.button,
30565
30684
  webBlurStyle,
30566
- pressed && styles3.pressed,
30567
- disabled && styles3.disabled,
30685
+ pressed && styles4.pressed,
30686
+ disabled && styles4.disabled,
30568
30687
  style
30569
30688
  ],
30570
30689
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -30572,7 +30691,7 @@ var FavoritesButton = react.forwardRef(
30572
30691
  {
30573
30692
  color: isActive ? colors.red : colors.white,
30574
30693
  fillOpacity: isActive ? 1 : 0,
30575
- size: ICON_SIZE2,
30694
+ size: ICON_SIZE3,
30576
30695
  strokeWidth: 2
30577
30696
  }
30578
30697
  )
@@ -30580,7 +30699,7 @@ var FavoritesButton = react.forwardRef(
30580
30699
  );
30581
30700
  }
30582
30701
  );
30583
- var styles3 = reactNative.StyleSheet.create({
30702
+ var styles4 = reactNative.StyleSheet.create({
30584
30703
  button: {
30585
30704
  padding: 12,
30586
30705
  gap: 10,
@@ -30599,6 +30718,44 @@ var styles3 = reactNative.StyleSheet.create({
30599
30718
  opacity: 0.5
30600
30719
  }
30601
30720
  });
30721
+ var webBlurStyle2 = reactNative.Platform.OS === "web" ? {
30722
+ backdropFilter: "blur(10px)",
30723
+ WebkitBackdropFilter: "blur(10px)"
30724
+ } : {};
30725
+ var IconStatusBadge = react.forwardRef(
30726
+ function IconStatusBadge2({ label, icon: Icon2, iconProps, iconSize = 16, style, className, ...rest }, forwardedRef) {
30727
+ const badgeRef = react.useRef(null);
30728
+ const setBadgeRef = react.useMemo(() => mergeRefs(badgeRef, forwardedRef), [forwardedRef]);
30729
+ useApplyWebClassName(badgeRef, className);
30730
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setBadgeRef, style: [styles5.root, webBlurStyle2, style], children: [
30731
+ /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...iconProps, size: iconSize }),
30732
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles5.label, children: label })
30733
+ ] });
30734
+ }
30735
+ );
30736
+ var styles5 = reactNative.StyleSheet.create({
30737
+ root: {
30738
+ minHeight: 34,
30739
+ paddingHorizontal: 12,
30740
+ paddingVertical: 8,
30741
+ flexDirection: "row",
30742
+ alignItems: "center",
30743
+ justifyContent: "center",
30744
+ gap: 10,
30745
+ alignSelf: "flex-start",
30746
+ borderRadius: 39,
30747
+ borderWidth: 1,
30748
+ borderColor: colors.whiteAlpha10,
30749
+ backgroundColor: "#09090966"
30750
+ },
30751
+ label: {
30752
+ color: colors.white,
30753
+ fontFamily: fonts.sans,
30754
+ fontSize: 12,
30755
+ fontWeight: "700",
30756
+ lineHeight: 15
30757
+ }
30758
+ });
30602
30759
 
30603
30760
  // src/primitives/BrandLogo/brandLogoPaths.ts
30604
30761
  var BRAND_LOGO_PATHS = [
@@ -30758,7 +30915,7 @@ var Avatar = react.forwardRef(function Avatar2({
30758
30915
  }, [isOpen, closeAndFocusTrigger]);
30759
30916
  const hasImage = Boolean(imageUrl) && !imageFailed;
30760
30917
  const resolvedAccessibilityLabel = accessibilityLabel ?? [name, email].filter(Boolean).join(", ");
30761
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: wrapperRef, style: [styles4.wrapper, isOpen && styles4.wrapperOpen], children: [
30918
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: wrapperRef, style: [styles6.wrapper, isOpen && styles6.wrapperOpen], children: [
30762
30919
  /* @__PURE__ */ jsxRuntime.jsxs(
30763
30920
  reactNative.Pressable,
30764
30921
  {
@@ -30770,25 +30927,25 @@ var Avatar = react.forwardRef(function Avatar2({
30770
30927
  accessibilityRole: isInteractive ? "button" : void 0,
30771
30928
  accessibilityLabel: resolvedAccessibilityLabel,
30772
30929
  accessibilityState: isInteractive ? { disabled, expanded: hasMenu ? isOpen : void 0 } : void 0,
30773
- style: [styles4.root, disabled && styles4.disabled, style],
30930
+ style: [styles6.root, disabled && styles6.disabled, style],
30774
30931
  children: [
30775
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles4.imageWrap, children: hasImage ? /* @__PURE__ */ jsxRuntime.jsx(
30932
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles6.imageWrap, children: hasImage ? /* @__PURE__ */ jsxRuntime.jsx(
30776
30933
  reactNative.Image,
30777
30934
  {
30778
30935
  source: { uri: imageUrl ?? void 0 },
30779
- style: styles4.image,
30936
+ style: styles6.image,
30780
30937
  onError: () => setImageFailed(true)
30781
30938
  }
30782
- ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles4.imageFallback, children: /* @__PURE__ */ jsxRuntime.jsx(UserIcon, { size: FALLBACK_ICON_SIZE, color: colors.primary }) }) }),
30783
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles4.textColumn, children: [
30784
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles4.name, numberOfLines: 1, children: name }),
30785
- email ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles4.email, numberOfLines: 1, children: email }) : null
30939
+ ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles6.imageFallback, children: /* @__PURE__ */ jsxRuntime.jsx(UserIcon, { size: FALLBACK_ICON_SIZE, color: colors.primary }) }) }),
30940
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles6.textColumn, children: [
30941
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles6.name, numberOfLines: 1, children: name }),
30942
+ email ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles6.email, numberOfLines: 1, children: email }) : null
30786
30943
  ] }),
30787
- showChevron ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles4.chevronSlot, isOpen && styles4.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: CHEVRON_SIZE, color: isOpen ? colors.primary : colors.grey100 }) }) : null
30944
+ showChevron ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles6.chevronSlot, isOpen && styles6.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: CHEVRON_SIZE, color: isOpen ? colors.primary : colors.grey100 }) }) : null
30788
30945
  ]
30789
30946
  }
30790
30947
  ),
30791
- hasMenu && isOpen ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles4.menu, menuWidth != null && { right: void 0, width: menuWidth }], children: resolvedMenuItems.map((item) => {
30948
+ hasMenu && isOpen ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles6.menu, menuWidth != null && { right: void 0, width: menuWidth }], children: resolvedMenuItems.map((item) => {
30792
30949
  const itemKey = item.key ?? item.label;
30793
30950
  return /* @__PURE__ */ jsxRuntime.jsx(
30794
30951
  MenuItem,
@@ -30805,7 +30962,7 @@ var Avatar = react.forwardRef(function Avatar2({
30805
30962
  }) }) : null
30806
30963
  ] });
30807
30964
  });
30808
- var styles4 = reactNative.StyleSheet.create({
30965
+ var styles6 = reactNative.StyleSheet.create({
30809
30966
  wrapper: {
30810
30967
  position: "relative",
30811
30968
  alignSelf: "flex-start"
@@ -30916,23 +31073,23 @@ var AvatarSimple = react.forwardRef(
30916
31073
  {
30917
31074
  ...rest,
30918
31075
  ref: setContainerRef,
30919
- style: [styles5.root, compact ? styles5.rootCompact : styles5.rootCard, style],
31076
+ style: [styles7.root, compact ? styles7.rootCompact : styles7.rootCard, style],
30920
31077
  accessibilityRole: "summary",
30921
31078
  accessibilityLabel: `${name}, ${email}`,
30922
31079
  children: [
30923
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles5.avatar, children: showImage ? /* @__PURE__ */ jsxRuntime.jsx(
31080
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles7.avatar, children: showImage ? /* @__PURE__ */ jsxRuntime.jsx(
30924
31081
  reactNative.Image,
30925
31082
  {
30926
31083
  source: { uri: imageUrl ?? void 0 },
30927
- style: styles5.avatarImage,
31084
+ style: styles7.avatarImage,
30928
31085
  onError: () => setImageFailed(true),
30929
31086
  accessibilityIgnoresInvertColors: true
30930
31087
  }
30931
31088
  ) : null }),
30932
- !compact ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles5.details, children: [
30933
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles5.textBlock, children: [
30934
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles5.name, numberOfLines: 1, ellipsizeMode: "tail", children: name }),
30935
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles5.email, numberOfLines: 1, ellipsizeMode: "tail", children: email })
31089
+ !compact ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles7.details, children: [
31090
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles7.textBlock, children: [
31091
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles7.name, numberOfLines: 1, ellipsizeMode: "tail", children: name }),
31092
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles7.email, numberOfLines: 1, ellipsizeMode: "tail", children: email })
30936
31093
  ] }),
30937
31094
  /* @__PURE__ */ jsxRuntime.jsx(
30938
31095
  reactNative.Pressable,
@@ -30941,7 +31098,7 @@ var AvatarSimple = react.forwardRef(
30941
31098
  accessibilityRole: "button",
30942
31099
  accessibilityLabel: logOutAccessibilityLabel,
30943
31100
  hitSlop: 8,
30944
- style: styles5.logOutButton,
31101
+ style: styles7.logOutButton,
30945
31102
  children: /* @__PURE__ */ jsxRuntime.jsx(LogOutIcon, { color: colors.primary, size: LOG_OUT_SIZE, strokeWidth: 2 })
30946
31103
  }
30947
31104
  )
@@ -30951,7 +31108,7 @@ var AvatarSimple = react.forwardRef(
30951
31108
  );
30952
31109
  }
30953
31110
  );
30954
- var styles5 = reactNative.StyleSheet.create({
31111
+ var styles7 = reactNative.StyleSheet.create({
30955
31112
  root: {
30956
31113
  flexDirection: "row",
30957
31114
  alignItems: "center",
@@ -31038,6 +31195,7 @@ var AccountHeader = react.forwardRef(
31038
31195
  onBackPress,
31039
31196
  onMenuPress,
31040
31197
  onNotificationsPress,
31198
+ languageSlot,
31041
31199
  badge,
31042
31200
  backAccessibilityLabel = "Back",
31043
31201
  menuAccessibilityLabel = "Open menu",
@@ -31059,15 +31217,15 @@ var AccountHeader = react.forwardRef(
31059
31217
  ...webClassName(className),
31060
31218
  ref: setContainerRef,
31061
31219
  accessibilityRole: "header",
31062
- style: [styles6.base, style],
31220
+ style: [styles8.base, style],
31063
31221
  children: [
31064
31222
  /* @__PURE__ */ jsxRuntime.jsxs(
31065
31223
  reactNative.View,
31066
31224
  {
31067
31225
  style: [
31068
- styles6.start,
31069
- showBack ? styles6.startWithBack : null,
31070
- showMenu ? styles6.startWithMenu : null
31226
+ styles8.start,
31227
+ showBack ? styles8.startWithBack : null,
31228
+ showMenu ? styles8.startWithMenu : null
31071
31229
  ],
31072
31230
  children: [
31073
31231
  showBack ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -31077,7 +31235,7 @@ var AccountHeader = react.forwardRef(
31077
31235
  accessibilityLabel: backAccessibilityLabel,
31078
31236
  hitSlop: 8,
31079
31237
  onPress: onBackPress,
31080
- style: styles6.iconButton,
31238
+ style: styles8.iconButton,
31081
31239
  children: /* @__PURE__ */ jsxRuntime.jsx(
31082
31240
  ChevronLeftIcon,
31083
31241
  {
@@ -31098,41 +31256,44 @@ var AccountHeader = react.forwardRef(
31098
31256
  accessibilityLabel: menuAccessibilityLabel,
31099
31257
  hitSlop: 8,
31100
31258
  onPress: onMenuPress,
31101
- style: styles6.menuButton,
31259
+ style: styles8.menuButton,
31102
31260
  children: /* @__PURE__ */ jsxRuntime.jsx(MenuLinesIcon, { color: colors.white, size: MENU_ICON_SIZE, strokeWidth: 2 })
31103
31261
  }
31104
31262
  ) : null,
31105
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles6.titleRow, children: [
31263
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles8.titleRow, children: [
31106
31264
  /* @__PURE__ */ jsxRuntime.jsx(
31107
31265
  reactNative.Text,
31108
31266
  {
31109
31267
  ...webClassName("account-header-title"),
31110
31268
  numberOfLines: 1,
31111
- style: [styles6.title, titleStyle],
31269
+ style: [styles8.title, titleStyle],
31112
31270
  children: title
31113
31271
  }
31114
31272
  ),
31115
- badge != null ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles6.badgeSlot, children: badge }) : null
31273
+ badge != null ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles8.badgeSlot, children: badge }) : null
31116
31274
  ] })
31117
31275
  ]
31118
31276
  }
31119
31277
  ),
31120
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles6.end, children: /* @__PURE__ */ jsxRuntime.jsx(
31121
- reactNative.Pressable,
31122
- {
31123
- accessibilityRole: "button",
31124
- accessibilityLabel: notificationsAccessibilityLabel,
31125
- onPress: onNotificationsPress,
31126
- style: styles6.iconButton,
31127
- children: /* @__PURE__ */ jsxRuntime.jsx(BellIcon, { color: colors.white, size: ICON_BUTTON_ICON_SIZE, strokeWidth: 1.5 })
31128
- }
31129
- ) })
31278
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles8.end, children: [
31279
+ languageSlot != null ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles8.languageSlot, children: languageSlot }) : null,
31280
+ /* @__PURE__ */ jsxRuntime.jsx(
31281
+ reactNative.Pressable,
31282
+ {
31283
+ accessibilityRole: "button",
31284
+ accessibilityLabel: notificationsAccessibilityLabel,
31285
+ onPress: onNotificationsPress,
31286
+ style: styles8.iconButton,
31287
+ children: /* @__PURE__ */ jsxRuntime.jsx(BellIcon, { color: colors.white, size: ICON_BUTTON_ICON_SIZE, strokeWidth: 1.5 })
31288
+ }
31289
+ )
31290
+ ] })
31130
31291
  ]
31131
31292
  }
31132
31293
  );
31133
31294
  }
31134
31295
  );
31135
- var styles6 = reactNative.StyleSheet.create({
31296
+ var styles8 = reactNative.StyleSheet.create({
31136
31297
  base: {
31137
31298
  height: HEADER_HEIGHT,
31138
31299
  width: "100%",
@@ -31146,7 +31307,9 @@ var styles6 = reactNative.StyleSheet.create({
31146
31307
  paddingLeft: 24,
31147
31308
  backgroundColor: colors.dark,
31148
31309
  borderBottomWidth: 1,
31149
- borderBottomColor: colors.grey700
31310
+ borderBottomColor: colors.grey700,
31311
+ zIndex: 40,
31312
+ position: "relative"
31150
31313
  },
31151
31314
  start: {
31152
31315
  flex: 1,
@@ -31169,7 +31332,17 @@ var styles6 = reactNative.StyleSheet.create({
31169
31332
  },
31170
31333
  end: {
31171
31334
  flexShrink: 0,
31172
- marginLeft: RIGHT_GAP
31335
+ marginLeft: RIGHT_GAP,
31336
+ flexDirection: "row",
31337
+ alignItems: "center",
31338
+ gap: 8,
31339
+ zIndex: 50,
31340
+ position: "relative"
31341
+ },
31342
+ languageSlot: {
31343
+ flexShrink: 0,
31344
+ zIndex: 50,
31345
+ position: "relative"
31173
31346
  },
31174
31347
  iconButton: {
31175
31348
  width: ICON_BUTTON_SIZE,
@@ -31203,8 +31376,8 @@ var styles6 = reactNative.StyleSheet.create({
31203
31376
  flexShrink: 0
31204
31377
  }
31205
31378
  });
31206
- var ICON_SIZE3 = 20;
31207
- var webBlurStyle2 = reactNative.Platform.OS === "web" ? {
31379
+ var ICON_SIZE4 = 20;
31380
+ var webBlurStyle3 = reactNative.Platform.OS === "web" ? {
31208
31381
  backdropFilter: "blur(10.3px)",
31209
31382
  WebkitBackdropFilter: "blur(10.3px)"
31210
31383
  } : {};
@@ -31234,22 +31407,22 @@ var Badge = react.forwardRef(function Badge2({ label, variant = "default", icon:
31234
31407
  ...rest,
31235
31408
  ref: setContainerRef,
31236
31409
  style: [
31237
- styles7.base,
31410
+ styles9.base,
31238
31411
  { backgroundColor: preset.backgroundColor },
31239
- preset.border ? styles7.transparentBorder : null,
31240
- preset.blur ? webBlurStyle2 : null,
31412
+ preset.border ? styles9.transparentBorder : null,
31413
+ preset.blur ? webBlurStyle3 : null,
31241
31414
  style
31242
31415
  ],
31243
31416
  accessibilityRole: "text",
31244
31417
  accessibilityLabel: accessibilityLabel ?? label,
31245
31418
  children: [
31246
- Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles7.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE3, color: preset.iconColor }) }) : null,
31247
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles7.label, reactNative.Platform.OS === "android" ? styles7.labelAndroid : null], children: label })
31419
+ Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles9.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE4, color: preset.iconColor }) }) : null,
31420
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles9.label, reactNative.Platform.OS === "android" ? styles9.labelAndroid : null], children: label })
31248
31421
  ]
31249
31422
  }
31250
31423
  );
31251
31424
  });
31252
- var styles7 = reactNative.StyleSheet.create({
31425
+ var styles9 = reactNative.StyleSheet.create({
31253
31426
  base: {
31254
31427
  flexDirection: "row",
31255
31428
  alignItems: "center",
@@ -31270,8 +31443,8 @@ var styles7 = reactNative.StyleSheet.create({
31270
31443
  borderStyle: "solid"
31271
31444
  },
31272
31445
  iconSlot: {
31273
- width: ICON_SIZE3,
31274
- height: ICON_SIZE3,
31446
+ width: ICON_SIZE4,
31447
+ height: ICON_SIZE4,
31275
31448
  alignItems: "center",
31276
31449
  justifyContent: "center",
31277
31450
  flexShrink: 0
@@ -31298,7 +31471,7 @@ var toneConfig = {
31298
31471
  color: colors.red
31299
31472
  }
31300
31473
  };
31301
- var webBlurStyle3 = reactNative.Platform.OS === "web" ? {
31474
+ var webBlurStyle4 = reactNative.Platform.OS === "web" ? {
31302
31475
  backdropFilter: "blur(39.5px)",
31303
31476
  WebkitBackdropFilter: "blur(39.5px)"
31304
31477
  } : {};
@@ -31315,14 +31488,14 @@ var StatusBadge = react.forwardRef(
31315
31488
  ref: setContainerRef,
31316
31489
  accessibilityRole: "text",
31317
31490
  accessibilityLabel: accessibilityLabel ?? label,
31318
- style: [styles8.base, { backgroundColor: preset.backgroundColor }, webBlurStyle3, style],
31491
+ style: [styles10.base, { backgroundColor: preset.backgroundColor }, webBlurStyle4, style],
31319
31492
  children: /* @__PURE__ */ jsxRuntime.jsx(
31320
31493
  reactNative.Text,
31321
31494
  {
31322
31495
  style: [
31323
- styles8.label,
31496
+ styles10.label,
31324
31497
  { color: preset.color },
31325
- reactNative.Platform.OS === "android" ? styles8.labelAndroid : null
31498
+ reactNative.Platform.OS === "android" ? styles10.labelAndroid : null
31326
31499
  ],
31327
31500
  children: label
31328
31501
  }
@@ -31331,7 +31504,7 @@ var StatusBadge = react.forwardRef(
31331
31504
  );
31332
31505
  }
31333
31506
  );
31334
- var styles8 = reactNative.StyleSheet.create({
31507
+ var styles10 = reactNative.StyleSheet.create({
31335
31508
  base: {
31336
31509
  height: 28,
31337
31510
  minHeight: 28,
@@ -31383,7 +31556,7 @@ var PaginationDots = react.forwardRef(
31383
31556
  ref: setContainerRef,
31384
31557
  accessibilityRole: "adjustable",
31385
31558
  accessibilityLabel: accessibilityLabel ?? `Slide ${safeActive + 1} of ${safeCount}`,
31386
- style: [styles9.root, style],
31559
+ style: [styles11.root, style],
31387
31560
  children: Array.from({ length: safeCount }, (_, index) => {
31388
31561
  const active = index === safeActive;
31389
31562
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -31396,8 +31569,8 @@ var PaginationDots = react.forwardRef(
31396
31569
  hitSlop: 8,
31397
31570
  onPress: () => onDotPress?.(index),
31398
31571
  style: [
31399
- styles9.dot,
31400
- active ? [styles9.dotActive, { width: pillWidth }] : styles9.dotInactive
31572
+ styles11.dot,
31573
+ active ? [styles11.dotActive, { width: pillWidth }] : styles11.dotInactive
31401
31574
  ]
31402
31575
  },
31403
31576
  index
@@ -31407,7 +31580,7 @@ var PaginationDots = react.forwardRef(
31407
31580
  );
31408
31581
  }
31409
31582
  );
31410
- var styles9 = reactNative.StyleSheet.create({
31583
+ var styles11 = reactNative.StyleSheet.create({
31411
31584
  root: {
31412
31585
  width: TRACK_WIDTH,
31413
31586
  flexDirection: "row",
@@ -31429,7 +31602,7 @@ var styles9 = reactNative.StyleSheet.create({
31429
31602
  });
31430
31603
  var WIDTH = 121;
31431
31604
  var HEIGHT = 48;
31432
- var ICON_SIZE4 = 24;
31605
+ var ICON_SIZE5 = 24;
31433
31606
  var StepPager = react.forwardRef(function StepPager2({
31434
31607
  index,
31435
31608
  count,
@@ -31463,7 +31636,7 @@ var StepPager = react.forwardRef(function StepPager2({
31463
31636
  now: safeCount === 0 ? 0 : safeIndex + 1,
31464
31637
  text: label
31465
31638
  },
31466
- style: [styles10.root, webBlurStyle4, style],
31639
+ style: [styles12.root, webBlurStyle5, style],
31467
31640
  children: [
31468
31641
  /* @__PURE__ */ jsxRuntime.jsx(
31469
31642
  reactNative.Pressable,
@@ -31474,11 +31647,11 @@ var StepPager = react.forwardRef(function StepPager2({
31474
31647
  accessibilityRole: "button",
31475
31648
  accessibilityLabel: previousAccessibilityLabel,
31476
31649
  accessibilityState: { disabled: atStart || !onPrevious },
31477
- style: [styles10.navButton, (atStart || !onPrevious) && styles10.navDisabled],
31478
- children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: ICON_SIZE4, color: colors.white, strokeWidth: 2 })
31650
+ style: [styles12.navButton, (atStart || !onPrevious) && styles12.navDisabled],
31651
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: ICON_SIZE5, color: colors.white, strokeWidth: 2 })
31479
31652
  }
31480
31653
  ),
31481
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles10.label, children: label }),
31654
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles12.label, children: label }),
31482
31655
  /* @__PURE__ */ jsxRuntime.jsx(
31483
31656
  reactNative.Pressable,
31484
31657
  {
@@ -31488,19 +31661,19 @@ var StepPager = react.forwardRef(function StepPager2({
31488
31661
  accessibilityRole: "button",
31489
31662
  accessibilityLabel: nextAccessibilityLabel,
31490
31663
  accessibilityState: { disabled: atEnd || !onNext },
31491
- style: [styles10.navButton, (atEnd || !onNext) && styles10.navDisabled],
31492
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles10.chevronRight, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: ICON_SIZE4, color: colors.white, strokeWidth: 2 }) })
31664
+ style: [styles12.navButton, (atEnd || !onNext) && styles12.navDisabled],
31665
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles12.chevronRight, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: ICON_SIZE5, color: colors.white, strokeWidth: 2 }) })
31493
31666
  }
31494
31667
  )
31495
31668
  ]
31496
31669
  }
31497
31670
  );
31498
31671
  });
31499
- var webBlurStyle4 = reactNative.Platform.OS === "web" ? {
31672
+ var webBlurStyle5 = reactNative.Platform.OS === "web" ? {
31500
31673
  backdropFilter: "blur(50px)",
31501
31674
  WebkitBackdropFilter: "blur(50px)"
31502
31675
  } : {};
31503
- var styles10 = reactNative.StyleSheet.create({
31676
+ var styles12 = reactNative.StyleSheet.create({
31504
31677
  root: {
31505
31678
  width: WIDTH,
31506
31679
  height: HEIGHT,
@@ -31514,8 +31687,8 @@ var styles10 = reactNative.StyleSheet.create({
31514
31687
  overflow: "hidden"
31515
31688
  },
31516
31689
  navButton: {
31517
- width: ICON_SIZE4,
31518
- height: ICON_SIZE4,
31690
+ width: ICON_SIZE5,
31691
+ height: ICON_SIZE5,
31519
31692
  alignItems: "center",
31520
31693
  justifyContent: "center"
31521
31694
  },
@@ -31536,13 +31709,13 @@ var styles10 = reactNative.StyleSheet.create({
31536
31709
  }
31537
31710
  });
31538
31711
  var ICON_SLOT = 36;
31539
- var ICON_SIZE5 = 20;
31712
+ var ICON_SIZE6 = 20;
31540
31713
  var InfoTile = react.forwardRef(function InfoTile2({
31541
31714
  title,
31542
31715
  description,
31543
31716
  icon: Icon2,
31544
31717
  iconProps,
31545
- iconSize = ICON_SIZE5,
31718
+ iconSize = ICON_SIZE6,
31546
31719
  iconSlotBackgroundColor = colors.grey600,
31547
31720
  style,
31548
31721
  className,
@@ -31560,18 +31733,18 @@ var InfoTile = react.forwardRef(function InfoTile2({
31560
31733
  ref: setContainerRef,
31561
31734
  accessibilityRole: "text",
31562
31735
  accessibilityLabel: accessibilityLabel ?? (hasDescription ? `${title}. ${description}` : title),
31563
- style: [styles11.root, style],
31736
+ style: [styles13.root, style],
31564
31737
  children: [
31565
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles11.iconSlot, { backgroundColor: iconSlotBackgroundColor }], children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...iconProps, size: iconSize, color: iconProps?.color ?? colors.white }) }),
31566
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles11.textBlock, children: [
31567
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles11.title, children: title }),
31568
- hasDescription ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles11.description, children: description }) : null
31738
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles13.iconSlot, { backgroundColor: iconSlotBackgroundColor }], children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...iconProps, size: iconSize, color: iconProps?.color ?? colors.white }) }),
31739
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles13.textBlock, children: [
31740
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles13.title, children: title }),
31741
+ hasDescription ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles13.description, children: description }) : null
31569
31742
  ] })
31570
31743
  ]
31571
31744
  }
31572
31745
  );
31573
31746
  });
31574
- var styles11 = reactNative.StyleSheet.create({
31747
+ var styles13 = reactNative.StyleSheet.create({
31575
31748
  root: {
31576
31749
  flexDirection: "row",
31577
31750
  alignItems: "center",
@@ -31621,7 +31794,7 @@ var CARD_PADDING_DESKTOP = 24;
31621
31794
  var CARD_GAP_MOBILE = 16;
31622
31795
  var CARD_GAP_DESKTOP = 24;
31623
31796
  var ICON_SLOT2 = 48;
31624
- var ICON_SIZE6 = 24;
31797
+ var ICON_SIZE7 = 24;
31625
31798
  var ICON_SLOT_BG = "#E38E5E0F";
31626
31799
  var ICON_COLOR = "#B76533";
31627
31800
  var ContactInfoCard = react.forwardRef(
@@ -31630,7 +31803,7 @@ var ContactInfoCard = react.forwardRef(
31630
31803
  value,
31631
31804
  icon: Icon2,
31632
31805
  iconProps,
31633
- iconSize = ICON_SIZE6,
31806
+ iconSize = ICON_SIZE7,
31634
31807
  iconSlotBackgroundColor = ICON_SLOT_BG,
31635
31808
  style,
31636
31809
  className,
@@ -31650,7 +31823,7 @@ var ContactInfoCard = react.forwardRef(
31650
31823
  accessibilityRole: "text",
31651
31824
  accessibilityLabel: accessibilityLabel ?? `${title}. ${value}`,
31652
31825
  style: [
31653
- styles12.root,
31826
+ styles14.root,
31654
31827
  {
31655
31828
  height: isDesktop ? CARD_HEIGHT_DESKTOP : CARD_HEIGHT_MOBILE,
31656
31829
  gap: isDesktop ? CARD_GAP_DESKTOP : CARD_GAP_MOBILE,
@@ -31659,7 +31832,7 @@ var ContactInfoCard = react.forwardRef(
31659
31832
  style
31660
31833
  ],
31661
31834
  children: [
31662
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles12.iconSlot, { backgroundColor: iconSlotBackgroundColor }], children: /* @__PURE__ */ jsxRuntime.jsx(
31835
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles14.iconSlot, { backgroundColor: iconSlotBackgroundColor }], children: /* @__PURE__ */ jsxRuntime.jsx(
31663
31836
  Icon2,
31664
31837
  {
31665
31838
  ...iconProps,
@@ -31668,16 +31841,16 @@ var ContactInfoCard = react.forwardRef(
31668
31841
  strokeWidth: iconProps?.strokeWidth ?? 2
31669
31842
  }
31670
31843
  ) }),
31671
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles12.textBlock, children: [
31672
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles12.title, children: title }),
31673
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles12.value, children: value })
31844
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.textBlock, children: [
31845
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.title, children: title }),
31846
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles14.value, children: value })
31674
31847
  ] })
31675
31848
  ]
31676
31849
  }
31677
31850
  );
31678
31851
  }
31679
31852
  );
31680
- var styles12 = reactNative.StyleSheet.create({
31853
+ var styles14 = reactNative.StyleSheet.create({
31681
31854
  root: {
31682
31855
  width: "100%",
31683
31856
  flexDirection: "row",
@@ -31782,59 +31955,54 @@ var AccordionItem = react.forwardRef(
31782
31955
  inputRange: [0, 1],
31783
31956
  outputRange: ["0deg", "180deg"]
31784
31957
  });
31785
- const bodyTextStyle = [styles13.body, { fontSize: bodyFontSize, lineHeight: bodyLineHeight }];
31958
+ const bodyTextStyle = [styles15.body, { fontSize: bodyFontSize, lineHeight: bodyLineHeight }];
31786
31959
  return /* @__PURE__ */ jsxRuntime.jsxs(
31787
- reactNative.View,
31960
+ reactNative.Pressable,
31788
31961
  {
31789
31962
  ...rest,
31790
31963
  ref: setContainerRef,
31964
+ accessibilityRole: "button",
31965
+ accessibilityState: { expanded: open },
31966
+ accessibilityLabel: accessibilityLabel ?? title,
31967
+ onPress: toggle,
31791
31968
  style: [
31792
- styles13.root,
31969
+ styles15.root,
31793
31970
  {
31794
31971
  borderRadius: isDesktop ? RADIUS_DESKTOP : RADIUS_MOBILE,
31795
31972
  paddingRight: paddingX,
31796
31973
  paddingLeft: paddingX
31797
31974
  },
31975
+ reactNative.Platform.OS === "web" ? styles15.rootWeb : null,
31798
31976
  style
31799
31977
  ],
31800
31978
  children: [
31801
- /* @__PURE__ */ jsxRuntime.jsxs(
31802
- reactNative.Pressable,
31803
- {
31804
- accessibilityRole: "button",
31805
- accessibilityState: { expanded: open },
31806
- accessibilityLabel: accessibilityLabel ?? title,
31807
- onPress: toggle,
31808
- style: styles13.header,
31809
- children: [
31810
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles13.title, children: title }),
31811
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Animated.View, { style: [styles13.chevron, { transform: [{ rotate: chevronRotate }] }], children: /* @__PURE__ */ jsxRuntime.jsx(
31812
- ChevronDownIcon,
31813
- {
31814
- size: CHEVRON_SIZE2,
31815
- color: open ? colors.primary : colors.grey400,
31816
- strokeWidth: 2
31817
- }
31818
- ) })
31819
- ]
31820
- }
31821
- ),
31979
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles15.header, children: [
31980
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.title, children: title }),
31981
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Animated.View, { style: [styles15.chevron, { transform: [{ rotate: chevronRotate }] }], children: /* @__PURE__ */ jsxRuntime.jsx(
31982
+ ChevronDownIcon,
31983
+ {
31984
+ size: CHEVRON_SIZE2,
31985
+ color: open ? colors.primary : colors.grey400,
31986
+ strokeWidth: 2
31987
+ }
31988
+ ) })
31989
+ ] }),
31822
31990
  /* @__PURE__ */ jsxRuntime.jsx(
31823
31991
  reactNative.View,
31824
31992
  {
31825
- style: [styles13.measureHidden, { left: paddingX, right: paddingX }],
31993
+ style: [styles15.measureHidden, { left: paddingX, right: paddingX }],
31826
31994
  pointerEvents: "none",
31827
31995
  onLayout: onBodyLayout,
31828
31996
  children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: bodyTextStyle, children })
31829
31997
  }
31830
31998
  ),
31831
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Animated.View, { style: [styles13.bodyClip, { height: bodyHeight }], children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles13.bodyInner, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: bodyTextStyle, children }) }) })
31999
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Animated.View, { style: [styles15.bodyClip, { height: bodyHeight }], pointerEvents: "none", children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles15.bodyInner, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: bodyTextStyle, children }) }) })
31832
32000
  ]
31833
32001
  }
31834
32002
  );
31835
32003
  }
31836
32004
  );
31837
- var styles13 = reactNative.StyleSheet.create({
32005
+ var styles15 = reactNative.StyleSheet.create({
31838
32006
  root: {
31839
32007
  width: "100%",
31840
32008
  paddingTop: 16,
@@ -31843,6 +32011,9 @@ var styles13 = reactNative.StyleSheet.create({
31843
32011
  opacity: 1,
31844
32012
  overflow: "hidden"
31845
32013
  },
32014
+ rootWeb: {
32015
+ cursor: "pointer"
32016
+ },
31846
32017
  header: {
31847
32018
  flexDirection: "row",
31848
32019
  alignItems: "center",
@@ -31890,7 +32061,7 @@ var ROW_GAP = 12;
31890
32061
  var CONNECTOR_WIDTH = 2;
31891
32062
  var CONNECTOR_HEIGHT = 19;
31892
32063
  var CONNECTOR_GAP = 8;
31893
- var webBlurStyle5 = reactNative.Platform.OS === "web" ? {
32064
+ var webBlurStyle6 = reactNative.Platform.OS === "web" ? {
31894
32065
  backdropFilter: "blur(20px)",
31895
32066
  WebkitBackdropFilter: "blur(20px)"
31896
32067
  } : {};
@@ -31908,18 +32079,18 @@ var StepList = react.forwardRef(function StepList2({ steps, style, className, ac
31908
32079
  ref: setContainerRef,
31909
32080
  accessibilityRole: "summary",
31910
32081
  accessibilityLabel,
31911
- style: [styles14.root, style],
32082
+ style: [styles16.root, style],
31912
32083
  children: steps.map((description, index) => {
31913
32084
  const isLast = index === steps.length - 1;
31914
32085
  const number = index + 1;
31915
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.stepBlock, children: [
31916
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles14.row, children: [
31917
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles14.badge, webBlurStyle5], children: /* @__PURE__ */ jsxRuntime.jsx(
32086
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles16.stepBlock, children: [
32087
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles16.row, children: [
32088
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles16.badge, webBlurStyle6], children: /* @__PURE__ */ jsxRuntime.jsx(
31918
32089
  reactNative.Text,
31919
32090
  {
31920
32091
  style: [
31921
- styles14.badgeLabel,
31922
- reactNative.Platform.OS === "android" ? styles14.labelAndroid : null
32092
+ styles16.badgeLabel,
32093
+ reactNative.Platform.OS === "android" ? styles16.labelAndroid : null
31923
32094
  ],
31924
32095
  children: String(number)
31925
32096
  }
@@ -31927,18 +32098,18 @@ var StepList = react.forwardRef(function StepList2({ steps, style, className, ac
31927
32098
  /* @__PURE__ */ jsxRuntime.jsx(
31928
32099
  reactNative.Text,
31929
32100
  {
31930
- style: [styles14.description, reactNative.Platform.OS === "android" ? styles14.labelAndroid : null],
32101
+ style: [styles16.description, reactNative.Platform.OS === "android" ? styles16.labelAndroid : null],
31931
32102
  children: description
31932
32103
  }
31933
32104
  )
31934
32105
  ] }),
31935
- !isLast ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.connectorSlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles14.connector }) }) : null
32106
+ !isLast ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles16.connectorSlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles16.connector }) }) : null
31936
32107
  ] }, `${number}-${description}`);
31937
32108
  })
31938
32109
  }
31939
32110
  );
31940
32111
  });
31941
- var styles14 = reactNative.StyleSheet.create({
32112
+ var styles16 = reactNative.StyleSheet.create({
31942
32113
  root: {
31943
32114
  width: "100%"
31944
32115
  },
@@ -31996,7 +32167,7 @@ var styles14 = reactNative.StyleSheet.create({
31996
32167
  }
31997
32168
  });
31998
32169
  var BUTTON_SIZE = 32;
31999
- var webBlurStyle6 = reactNative.Platform.OS === "web" ? {
32170
+ var webBlurStyle7 = reactNative.Platform.OS === "web" ? {
32000
32171
  backdropFilter: "blur(20px)",
32001
32172
  WebkitBackdropFilter: "blur(20px)"
32002
32173
  } : {};
@@ -32033,7 +32204,7 @@ var Counter = react.forwardRef(function Counter2({
32033
32204
  if (!isControlled) setUncontrolledValue(next);
32034
32205
  onValueChange?.(next);
32035
32206
  };
32036
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles15.base, style], children: [
32207
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles17.base, style], children: [
32037
32208
  /* @__PURE__ */ jsxRuntime.jsx(
32038
32209
  reactNative.Pressable,
32039
32210
  {
@@ -32043,11 +32214,11 @@ var Counter = react.forwardRef(function Counter2({
32043
32214
  accessibilityRole: "button",
32044
32215
  accessibilityLabel: "Decrease value",
32045
32216
  accessibilityState: { disabled: decrementDisabled },
32046
- style: [styles15.button, webBlurStyle6, decrementDisabled && styles15.buttonDisabled],
32217
+ style: [styles17.button, webBlurStyle7, decrementDisabled && styles17.buttonDisabled],
32047
32218
  children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {})
32048
32219
  }
32049
32220
  ),
32050
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles15.value, children: resolvedValue }),
32221
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles17.value, children: resolvedValue }),
32051
32222
  /* @__PURE__ */ jsxRuntime.jsx(
32052
32223
  reactNative.Pressable,
32053
32224
  {
@@ -32057,13 +32228,13 @@ var Counter = react.forwardRef(function Counter2({
32057
32228
  accessibilityRole: "button",
32058
32229
  accessibilityLabel: "Increase value",
32059
32230
  accessibilityState: { disabled: incrementDisabled },
32060
- style: [styles15.button, webBlurStyle6, incrementDisabled && styles15.buttonDisabled],
32231
+ style: [styles17.button, webBlurStyle7, incrementDisabled && styles17.buttonDisabled],
32061
32232
  children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, {})
32062
32233
  }
32063
32234
  )
32064
32235
  ] });
32065
32236
  });
32066
- var styles15 = reactNative.StyleSheet.create({
32237
+ var styles17 = reactNative.StyleSheet.create({
32067
32238
  base: {
32068
32239
  flexDirection: "row",
32069
32240
  alignItems: "center",
@@ -32087,7 +32258,7 @@ var styles15 = reactNative.StyleSheet.create({
32087
32258
  color: colors.white
32088
32259
  }
32089
32260
  });
32090
- var ICON_SIZE7 = 20;
32261
+ var ICON_SIZE8 = 20;
32091
32262
  var ANIMATION_DURATION2 = 200;
32092
32263
  var OPTION_HORIZONTAL_PADDING = 16;
32093
32264
  var OPTION_CONTENT_GAP = 12;
@@ -32183,14 +32354,14 @@ var SegmentedToggle = react.forwardRef(
32183
32354
  onLayout?.(event);
32184
32355
  },
32185
32356
  style: [
32186
- styles16.base,
32187
- fullWidth ? styles16.fullWidth : styles16.contentWidth,
32188
- disabled && styles16.disabled,
32357
+ styles18.base,
32358
+ fullWidth ? styles18.fullWidth : styles18.contentWidth,
32359
+ disabled && styles18.disabled,
32189
32360
  style
32190
32361
  ],
32191
32362
  accessibilityRole: "radiogroup",
32192
32363
  children: [
32193
- !fullWidth ? options.map(({ value: optionValue, label, icon: Icon2 }, index) => /* @__PURE__ */ jsxRuntime.jsxs(
32364
+ !fullWidth ? options.map(({ value: optionValue, label, icon: Icon2, showLabel = true }, index) => /* @__PURE__ */ jsxRuntime.jsxs(
32194
32365
  reactNative.View,
32195
32366
  {
32196
32367
  pointerEvents: "none",
@@ -32206,10 +32377,10 @@ var SegmentedToggle = react.forwardRef(
32206
32377
  return nextWidths;
32207
32378
  });
32208
32379
  },
32209
- style: styles16.optionMeasurement,
32380
+ style: styles18.optionMeasurement,
32210
32381
  children: [
32211
- Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE7 }) : null,
32212
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles16.label, styles16.contentWidthLabel], children: label })
32382
+ Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE8 }) : null,
32383
+ showLabel ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles18.label, styles18.contentWidthLabel], children: label }) : null
32213
32384
  ]
32214
32385
  },
32215
32386
  `${optionValue}-measurement`
@@ -32219,12 +32390,12 @@ var SegmentedToggle = react.forwardRef(
32219
32390
  {
32220
32391
  pointerEvents: "none",
32221
32392
  style: [
32222
- styles16.activeIndicator,
32393
+ styles18.activeIndicator,
32223
32394
  { width: selectedOptionWidth, transform: [{ translateX: indicatorTranslateX }] }
32224
32395
  ]
32225
32396
  }
32226
32397
  ) : null,
32227
- options.map(({ value: optionValue, label, icon: Icon2 }, index) => {
32398
+ options.map(({ value: optionValue, label, icon: Icon2, showLabel = true }, index) => {
32228
32399
  const selected = optionValue === selectedValue;
32229
32400
  const iconColor = selected ? colors.primary : colors.whiteAlpha20;
32230
32401
  const labelColor = selected ? colors.whiteAlpha86 : colors.whiteAlpha40;
@@ -32239,23 +32410,23 @@ var SegmentedToggle = react.forwardRef(
32239
32410
  accessibilityLabel: label,
32240
32411
  accessibilityState: { selected, disabled },
32241
32412
  style: [
32242
- styles16.option,
32243
- fullWidth ? styles16.optionFullWidth : [styles16.optionContentWidth, optionWidth > 0 && { width: optionWidth }]
32413
+ styles18.option,
32414
+ fullWidth ? styles18.optionFullWidth : [styles18.optionContentWidth, optionWidth > 0 && { width: optionWidth }]
32244
32415
  ],
32245
- children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles16.optionContent, children: [
32246
- Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE7, color: iconColor }) : null,
32247
- /* @__PURE__ */ jsxRuntime.jsx(
32416
+ children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles18.optionContent, children: [
32417
+ Icon2 ? /* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: ICON_SIZE8, color: iconColor }) : null,
32418
+ showLabel ? /* @__PURE__ */ jsxRuntime.jsx(
32248
32419
  reactNative.Text,
32249
32420
  {
32250
32421
  numberOfLines: fullWidth ? 1 : void 0,
32251
32422
  style: [
32252
- styles16.label,
32253
- !fullWidth && styles16.contentWidthLabel,
32423
+ styles18.label,
32424
+ !fullWidth && styles18.contentWidthLabel,
32254
32425
  { color: labelColor }
32255
32426
  ],
32256
32427
  children: label
32257
32428
  }
32258
- )
32429
+ ) : null
32259
32430
  ] })
32260
32431
  },
32261
32432
  optionValue
@@ -32266,7 +32437,7 @@ var SegmentedToggle = react.forwardRef(
32266
32437
  );
32267
32438
  }
32268
32439
  );
32269
- var styles16 = reactNative.StyleSheet.create({
32440
+ var styles18 = reactNative.StyleSheet.create({
32270
32441
  base: {
32271
32442
  height: 44,
32272
32443
  flexDirection: "row",
@@ -32394,16 +32565,16 @@ var Sidebar = react.forwardRef(function Sidebar2({
32394
32565
  {
32395
32566
  ...rest,
32396
32567
  ref: setContainerRef,
32397
- style: [styles17.root, { width: widthAnim }, style],
32568
+ style: [styles19.root, { width: widthAnim }, style],
32398
32569
  accessibilityRole: "menu",
32399
32570
  children: [
32400
32571
  /* @__PURE__ */ jsxRuntime.jsxs(
32401
32572
  reactNative.View,
32402
32573
  {
32403
32574
  style: [
32404
- styles17.header,
32405
- collapsed ? styles17.headerCollapsed : styles17.headerExpanded,
32406
- !showCollapseToggle && !onClose ? styles17.headerNoToggle : null
32575
+ styles19.header,
32576
+ collapsed ? styles19.headerCollapsed : styles19.headerExpanded,
32577
+ !showCollapseToggle && !onClose ? styles19.headerNoToggle : null
32407
32578
  ],
32408
32579
  children: [
32409
32580
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -32411,7 +32582,7 @@ var Sidebar = react.forwardRef(function Sidebar2({
32411
32582
  {
32412
32583
  pointerEvents: collapsed ? "none" : "auto",
32413
32584
  style: [
32414
- styles17.logoSlot,
32585
+ styles19.logoSlot,
32415
32586
  {
32416
32587
  opacity: labelOpacity,
32417
32588
  maxWidth: collapsed ? 0 : LOGO_WIDTH
@@ -32437,7 +32608,7 @@ var Sidebar = react.forwardRef(function Sidebar2({
32437
32608
  accessibilityLabel: closeAccessibilityLabel,
32438
32609
  hitSlop: 8,
32439
32610
  onPress: onClose,
32440
- style: styles17.toggleButton,
32611
+ style: styles19.toggleButton,
32441
32612
  children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { color: colors.grey100, size: TOGGLE_SIZE, strokeWidth: 2 })
32442
32613
  }
32443
32614
  ) : showCollapseToggle ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -32448,7 +32619,7 @@ var Sidebar = react.forwardRef(function Sidebar2({
32448
32619
  accessibilityState: { expanded: !collapsed },
32449
32620
  hitSlop: 8,
32450
32621
  onPress: () => setCollapsed(!collapsed),
32451
- style: styles17.toggleButton,
32622
+ style: styles19.toggleButton,
32452
32623
  children: /* @__PURE__ */ jsxRuntime.jsx(SidebarIcon, { color: colors.grey100, size: TOGGLE_SIZE, strokeWidth: 2 })
32453
32624
  }
32454
32625
  ) : null
@@ -32460,7 +32631,7 @@ var Sidebar = react.forwardRef(function Sidebar2({
32460
32631
  {
32461
32632
  accessibilityLabel: navigationAccessibilityLabel,
32462
32633
  accessibilityRole: "menu",
32463
- style: styles17.nav,
32634
+ style: styles19.nav,
32464
32635
  children: items.map((item) => {
32465
32636
  const isActive = Boolean(item.active);
32466
32637
  const iconColor = isActive ? colors.primary : colors.grey300;
@@ -32476,18 +32647,18 @@ var Sidebar = react.forwardRef(function Sidebar2({
32476
32647
  hoverColor: colors.grey700,
32477
32648
  onPress: item.onPress,
32478
32649
  labelStyle: [
32479
- styles17.menuLabel,
32650
+ styles19.menuLabel,
32480
32651
  { color: isActive ? colors.white : colors.grey200 },
32481
- collapsed ? styles17.menuLabelCollapsed : styles17.menuLabelExpanded
32652
+ collapsed ? styles19.menuLabelCollapsed : styles19.menuLabelExpanded
32482
32653
  ],
32483
- style: [styles17.menuItem, collapsed ? styles17.menuItemCollapsed : null]
32654
+ style: [styles19.menuItem, collapsed ? styles19.menuItemCollapsed : null]
32484
32655
  },
32485
32656
  item.key
32486
32657
  );
32487
32658
  })
32488
32659
  }
32489
32660
  ),
32490
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles17.footer, collapsed ? styles17.footerCollapsed : styles17.footerExpanded], children: /* @__PURE__ */ jsxRuntime.jsx(
32661
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles19.footer, collapsed ? styles19.footerCollapsed : styles19.footerExpanded], children: /* @__PURE__ */ jsxRuntime.jsx(
32491
32662
  AvatarSimple,
32492
32663
  {
32493
32664
  name: user.name,
@@ -32502,7 +32673,7 @@ var Sidebar = react.forwardRef(function Sidebar2({
32502
32673
  }
32503
32674
  );
32504
32675
  });
32505
- var styles17 = reactNative.StyleSheet.create({
32676
+ var styles19 = reactNative.StyleSheet.create({
32506
32677
  root: {
32507
32678
  flexDirection: "column",
32508
32679
  alignSelf: "stretch",
@@ -32607,7 +32778,13 @@ var defaultLanguageOptions = [
32607
32778
  ];
32608
32779
  var CONTROL_WIDTH = 90;
32609
32780
  var CONTROL_HEIGHT = 35;
32610
- var ICON_SIZE8 = 16;
32781
+ var ICON_SIZE9 = 16;
32782
+ var ICON_BUTTON_SIZE2 = 32;
32783
+ var ICON_MENU_WIDTH = 67;
32784
+ var ICON_MENU_HEIGHT = 129;
32785
+ var ICON_MENU_TOP = 39;
32786
+ var ITEM_HEIGHT = 35;
32787
+ var ACTIVE_ITEM_BACKGROUND = "#E38E5E12";
32611
32788
  var LanguageSwitcher = react.forwardRef(
32612
32789
  function LanguageSwitcher2({
32613
32790
  options = defaultLanguageOptions,
@@ -32618,6 +32795,7 @@ var LanguageSwitcher = react.forwardRef(
32618
32795
  defaultOpen = false,
32619
32796
  onOpenChange,
32620
32797
  disabled = false,
32798
+ variant = "default",
32621
32799
  accessibilityLabel = "Language",
32622
32800
  style,
32623
32801
  className,
@@ -32637,6 +32815,7 @@ var LanguageSwitcher = react.forwardRef(
32637
32815
  const selectedValue = isValueControlled ? value : uncontrolledValue;
32638
32816
  const isOpen = isOpenControlled ? openProp : uncontrolledOpen;
32639
32817
  const selectedOption = options.find((option) => option.value === selectedValue) ?? options[0] ?? null;
32818
+ const isIconVariant = variant === "icon";
32640
32819
  useApplyWebClassName(wrapperRef, className?.trim() || void 0);
32641
32820
  const setOpen = react.useCallback(
32642
32821
  (next) => {
@@ -32687,7 +32866,14 @@ var LanguageSwitcher = react.forwardRef(
32687
32866
  {
32688
32867
  ...rest,
32689
32868
  ref: setWrapperRef,
32690
- style: [styles18.wrapper, isOpen && styles18.wrapperOpen, disabled && styles18.disabled, style],
32869
+ style: [
32870
+ styles20.wrapper,
32871
+ isIconVariant ? styles20.wrapperIcon : styles20.wrapperDefault,
32872
+ isOpen && styles20.wrapperOpen,
32873
+ isOpen && isIconVariant && styles20.wrapperOpenIcon,
32874
+ disabled && styles20.disabled,
32875
+ style
32876
+ ],
32691
32877
  children: [
32692
32878
  /* @__PURE__ */ jsxRuntime.jsxs(
32693
32879
  reactNative.Pressable,
@@ -32702,49 +32888,76 @@ var LanguageSwitcher = react.forwardRef(
32702
32888
  onHoverIn: () => setTriggerHovered(true),
32703
32889
  onHoverOut: () => setTriggerHovered(false),
32704
32890
  style: ({ pressed }) => [
32705
- styles18.trigger,
32706
- (triggerHovered || pressed || isOpen) && styles18.triggerActive
32891
+ isIconVariant ? styles20.triggerIcon : styles20.trigger,
32892
+ !isIconVariant && (triggerHovered || pressed || isOpen) && styles20.triggerActive
32707
32893
  ],
32708
32894
  children: [
32709
- /* @__PURE__ */ jsxRuntime.jsx(GlobeIcon, { size: ICON_SIZE8, color: colors.white, strokeWidth: 2 }),
32710
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles18.triggerLabel, numberOfLines: 1, children: selectedOption?.label ?? "" }),
32711
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles18.chevron, isOpen && styles18.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE8, color: colors.white, strokeWidth: 2 }) })
32895
+ /* @__PURE__ */ jsxRuntime.jsx(GlobeIcon, { size: ICON_SIZE9, color: colors.white, strokeWidth: isIconVariant ? 1.5 : 2 }),
32896
+ !isIconVariant ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
32897
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles20.triggerLabel, numberOfLines: 1, children: selectedOption?.label ?? "" }),
32898
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles20.chevron, isOpen && styles20.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE9, color: colors.white, strokeWidth: 2 }) })
32899
+ ] }) : null
32712
32900
  ]
32713
32901
  }
32714
32902
  ),
32715
- isOpen && options.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles18.menu, accessibilityRole: "menu", children: options.map((option) => {
32716
- const selected = option.value === selectedValue;
32717
- return /* @__PURE__ */ jsxRuntime.jsx(
32718
- reactNative.Pressable,
32719
- {
32720
- onPress: () => selectLanguage(option.value),
32721
- accessibilityRole: "menuitem",
32722
- accessibilityLabel: option.label,
32723
- accessibilityState: { selected },
32724
- onHoverIn: () => setHoveredValue(option.value),
32725
- onHoverOut: () => setHoveredValue(null),
32726
- style: ({ pressed }) => [
32727
- styles18.item,
32728
- selected ? styles18.itemSelected : (hoveredValue === option.value || pressed) && styles18.itemHovered
32729
- ],
32730
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles18.itemLabel, selected && styles18.itemLabelSelected], children: option.label })
32731
- },
32732
- option.value
32733
- );
32734
- }) }) : null
32903
+ isOpen && options.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
32904
+ reactNative.View,
32905
+ {
32906
+ style: [styles20.menu, isIconVariant ? styles20.menuIcon : styles20.menuDefault],
32907
+ accessibilityRole: "menu",
32908
+ children: options.map((option) => {
32909
+ const selected = option.value === selectedValue;
32910
+ return /* @__PURE__ */ jsxRuntime.jsx(
32911
+ reactNative.Pressable,
32912
+ {
32913
+ onPress: () => selectLanguage(option.value),
32914
+ accessibilityRole: "menuitem",
32915
+ accessibilityLabel: option.label,
32916
+ accessibilityState: { selected },
32917
+ onHoverIn: () => setHoveredValue(option.value),
32918
+ onHoverOut: () => setHoveredValue(null),
32919
+ style: ({ pressed }) => [
32920
+ styles20.item,
32921
+ isIconVariant ? styles20.itemIcon : null,
32922
+ selected ? isIconVariant ? styles20.itemSelectedIcon : styles20.itemSelected : (hoveredValue === option.value || pressed) && styles20.itemHovered
32923
+ ],
32924
+ children: /* @__PURE__ */ jsxRuntime.jsx(
32925
+ reactNative.Text,
32926
+ {
32927
+ style: [
32928
+ styles20.itemLabel,
32929
+ selected && (isIconVariant ? styles20.itemLabelSelectedIcon : styles20.itemLabelSelected)
32930
+ ],
32931
+ children: option.label
32932
+ }
32933
+ )
32934
+ },
32935
+ option.value
32936
+ );
32937
+ })
32938
+ }
32939
+ ) : null
32735
32940
  ]
32736
32941
  }
32737
32942
  );
32738
32943
  }
32739
32944
  );
32740
- var styles18 = reactNative.StyleSheet.create({
32945
+ var styles20 = reactNative.StyleSheet.create({
32741
32946
  wrapper: {
32742
32947
  position: "relative",
32743
- width: CONTROL_WIDTH,
32744
32948
  alignSelf: "flex-start"
32745
32949
  },
32950
+ wrapperDefault: {
32951
+ width: CONTROL_WIDTH
32952
+ },
32953
+ wrapperIcon: {
32954
+ width: ICON_BUTTON_SIZE2
32955
+ },
32746
32956
  wrapperOpen: {
32747
- zIndex: 20
32957
+ zIndex: 100
32958
+ },
32959
+ wrapperOpenIcon: {
32960
+ zIndex: 200
32748
32961
  },
32749
32962
  disabled: {
32750
32963
  opacity: 0.6
@@ -32759,6 +32972,17 @@ var styles18 = reactNative.StyleSheet.create({
32759
32972
  borderRadius: 12,
32760
32973
  backgroundColor: "transparent"
32761
32974
  },
32975
+ triggerIcon: {
32976
+ width: ICON_BUTTON_SIZE2,
32977
+ height: ICON_BUTTON_SIZE2,
32978
+ padding: 8,
32979
+ alignItems: "center",
32980
+ justifyContent: "center",
32981
+ borderRadius: 5,
32982
+ backgroundColor: colors.grey800,
32983
+ borderWidth: 1,
32984
+ borderColor: colors.grey700
32985
+ },
32762
32986
  triggerActive: {
32763
32987
  backgroundColor: colors.whiteAlpha6
32764
32988
  },
@@ -32770,8 +32994,8 @@ var styles18 = reactNative.StyleSheet.create({
32770
32994
  color: colors.white
32771
32995
  },
32772
32996
  chevron: {
32773
- width: ICON_SIZE8,
32774
- height: ICON_SIZE8,
32997
+ width: ICON_SIZE9,
32998
+ height: ICON_SIZE9,
32775
32999
  flexShrink: 0,
32776
33000
  alignItems: "center",
32777
33001
  justifyContent: "center"
@@ -32781,22 +33005,42 @@ var styles18 = reactNative.StyleSheet.create({
32781
33005
  },
32782
33006
  menu: {
32783
33007
  position: "absolute",
33008
+ padding: 8,
33009
+ borderRadius: 12,
33010
+ overflow: "hidden"
33011
+ },
33012
+ menuDefault: {
32784
33013
  top: CONTROL_HEIGHT + 8,
32785
33014
  left: 0,
32786
33015
  width: CONTROL_WIDTH,
32787
- padding: 8,
32788
33016
  gap: 8,
32789
- borderRadius: 12,
32790
- backgroundColor: colors.whiteAlpha6,
32791
- overflow: "hidden"
33017
+ backgroundColor: colors.whiteAlpha6
33018
+ },
33019
+ menuIcon: {
33020
+ top: ICON_MENU_TOP,
33021
+ left: (ICON_BUTTON_SIZE2 - ICON_MENU_WIDTH) / 2,
33022
+ right: "auto",
33023
+ width: ICON_MENU_WIDTH,
33024
+ height: ICON_MENU_HEIGHT,
33025
+ gap: 4,
33026
+ opacity: 1,
33027
+ zIndex: 200,
33028
+ backgroundColor: colors.grey800,
33029
+ borderWidth: 1,
33030
+ borderColor: colors.grey700
32792
33031
  },
32793
33032
  item: {
32794
- height: CONTROL_HEIGHT,
33033
+ height: ITEM_HEIGHT,
32795
33034
  alignItems: "center",
32796
33035
  justifyContent: "center",
32797
33036
  paddingVertical: 8,
32798
33037
  paddingHorizontal: 12,
32799
- borderRadius: 8
33038
+ borderRadius: 8,
33039
+ gap: 8
33040
+ },
33041
+ itemIcon: {
33042
+ width: 51,
33043
+ alignSelf: "stretch"
32800
33044
  },
32801
33045
  itemHovered: {
32802
33046
  backgroundColor: colors.whiteAlpha6
@@ -32804,6 +33048,9 @@ var styles18 = reactNative.StyleSheet.create({
32804
33048
  itemSelected: {
32805
33049
  backgroundColor: colors.whiteAlpha6
32806
33050
  },
33051
+ itemSelectedIcon: {
33052
+ backgroundColor: ACTIVE_ITEM_BACKGROUND
33053
+ },
32807
33054
  itemLabel: {
32808
33055
  ...languageSwitcherTypography,
32809
33056
  ...reactNative.Platform.select({ web: { fontFamily: `${fonts.sans}, sans-serif` } }),
@@ -32811,14 +33058,17 @@ var styles18 = reactNative.StyleSheet.create({
32811
33058
  },
32812
33059
  itemLabelSelected: {
32813
33060
  color: colors.primary
33061
+ },
33062
+ itemLabelSelectedIcon: {
33063
+ color: colors.primary
32814
33064
  }
32815
33065
  });
32816
- var ICON_SIZE9 = 25.63181;
33066
+ var ICON_SIZE10 = 25.63181;
32817
33067
  var StatCard = react.forwardRef(function StatCard2({
32818
33068
  label,
32819
33069
  icon: Icon2,
32820
33070
  iconProps,
32821
- iconSize = ICON_SIZE9,
33071
+ iconSize = ICON_SIZE10,
32822
33072
  style,
32823
33073
  className,
32824
33074
  accessibilityLabel,
@@ -32833,17 +33083,17 @@ var StatCard = react.forwardRef(function StatCard2({
32833
33083
  {
32834
33084
  ...rest,
32835
33085
  ref: setContainerRef,
32836
- style: [styles19.base, style],
33086
+ style: [styles21.base, style],
32837
33087
  accessibilityRole: "text",
32838
33088
  accessibilityLabel: accessibilityLabel ?? label,
32839
33089
  children: [
32840
33090
  /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...iconProps, size: iconSize, color: iconProps?.color ?? colors.white }),
32841
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles19.label, children: label })
33091
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles21.label, children: label })
32842
33092
  ]
32843
33093
  }
32844
33094
  );
32845
33095
  });
32846
- var styles19 = reactNative.StyleSheet.create({
33096
+ var styles21 = reactNative.StyleSheet.create({
32847
33097
  base: {
32848
33098
  width: 204.5,
32849
33099
  minHeight: 114,
@@ -32955,7 +33205,7 @@ var Button = react.forwardRef(
32955
33205
  useApplyWebClassName(textRef, textClassName);
32956
33206
  const iconNode = customIcon ?? /* @__PURE__ */ jsxRuntime.jsx(ArrowRightIcon, { size: metrics.iconSize, color: preset.iconColor });
32957
33207
  const containerStyle = [
32958
- styles20.base,
33208
+ styles22.base,
32959
33209
  {
32960
33210
  minHeight: metrics.minHeight,
32961
33211
  height: variant === "danger" ? 33 : void 0,
@@ -32967,16 +33217,16 @@ var Button = react.forwardRef(
32967
33217
  paddingRight: hasIcon ? metrics.paddingRightWithIcon : metrics.paddingRight,
32968
33218
  gap: hasIcon ? metrics.gap : 0
32969
33219
  },
32970
- hasIcon ? styles20.contentWithIcon : styles20.contentWithoutIcon,
32971
- disabled && styles20.disabled,
33220
+ hasIcon ? styles22.contentWithIcon : styles22.contentWithoutIcon,
33221
+ disabled && styles22.disabled,
32972
33222
  style
32973
33223
  ];
32974
33224
  const labelStyle = [
32975
- styles20.label,
33225
+ styles22.label,
32976
33226
  metrics.text,
32977
33227
  { color: preset.textColor },
32978
- reactNative.Platform.OS === "android" ? styles20.labelAndroid : null,
32979
- !hasIcon && styles20.labelCentered,
33228
+ reactNative.Platform.OS === "android" ? styles22.labelAndroid : null,
33229
+ !hasIcon && styles22.labelCentered,
32980
33230
  textStyle
32981
33231
  ];
32982
33232
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -32997,7 +33247,7 @@ var Button = react.forwardRef(
32997
33247
  reactNative.View,
32998
33248
  {
32999
33249
  style: [
33000
- styles20.iconContainer,
33250
+ styles22.iconContainer,
33001
33251
  {
33002
33252
  width: metrics.iconContainerSize,
33003
33253
  height: metrics.iconContainerSize,
@@ -33013,7 +33263,7 @@ var Button = react.forwardRef(
33013
33263
  );
33014
33264
  }
33015
33265
  );
33016
- var styles20 = reactNative.StyleSheet.create({
33266
+ var styles22 = reactNative.StyleSheet.create({
33017
33267
  base: {
33018
33268
  flexDirection: "row",
33019
33269
  alignItems: "center",
@@ -33097,13 +33347,13 @@ var Checkbox = react.forwardRef(function Checkbox2({
33097
33347
  accessibilityRole: "checkbox",
33098
33348
  accessibilityLabel: resolvedAccessibilityLabel,
33099
33349
  accessibilityState: { checked: isActive, disabled },
33100
- style: [styles21.root, disabled && styles21.disabled, style],
33350
+ style: [styles23.root, disabled && styles23.disabled, style],
33101
33351
  children: [
33102
33352
  /* @__PURE__ */ jsxRuntime.jsx(
33103
33353
  reactNative.View,
33104
33354
  {
33105
33355
  style: [
33106
- styles21.box,
33356
+ styles23.box,
33107
33357
  {
33108
33358
  backgroundColor: chrome.backgroundColor,
33109
33359
  borderColor: chrome.borderColor
@@ -33112,12 +33362,12 @@ var Checkbox = react.forwardRef(function Checkbox2({
33112
33362
  children: isActive ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { size: CHECK_SIZE, color: colors.primary, strokeWidth: CHECK_STROKE }) : null
33113
33363
  }
33114
33364
  ),
33115
- labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles21.label, labelStyle], children: labelContent }) : labelContent : null
33365
+ labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles23.label, labelStyle], children: labelContent }) : labelContent : null
33116
33366
  ]
33117
33367
  }
33118
33368
  );
33119
33369
  });
33120
- var styles21 = reactNative.StyleSheet.create({
33370
+ var styles23 = reactNative.StyleSheet.create({
33121
33371
  root: {
33122
33372
  flexDirection: "row",
33123
33373
  alignItems: "center",
@@ -33231,26 +33481,34 @@ var DEFAULT_WEEKDAY_LABELS = ["\u0535\u0550", "\u0535\u0554", "\u0549\u0550", "\
33231
33481
  var EMPTY_RANGE = { start: null, end: null };
33232
33482
  var DEFAULT_WIDTH = 320;
33233
33483
  var DEFAULT_MENU_HEIGHT = 388;
33484
+ var MENU_CONTENT_WIDTH = 296;
33234
33485
  var RANGE_TRIGGER_WIDTH = 382;
33235
33486
  var TRIGGER_HEIGHT = 44;
33236
33487
  var TRIGGER_RADIUS = 60;
33237
33488
  var MENU_RADIUS2 = 20;
33238
- var ICON_SIZE10 = 20;
33489
+ var MENU_PADDING = 12;
33490
+ var ICON_SIZE11 = 20;
33239
33491
  var NAV_ICON_SIZE = 20;
33492
+ var HEADER_HEIGHT3 = 36;
33493
+ var WEEKDAY_ROW_HEIGHT = 44;
33494
+ var WEEKDAY_ROW_GAP = 8;
33495
+ var WEEK_ROW_GAP = 16;
33496
+ var DAY_CELL_WIDTH = 42.28571701049805;
33240
33497
  var DAY_CELL_HEIGHT = 44;
33241
- var DAY_CIRCLE_SIZE = 44;
33498
+ var DAY_CELL_RADIUS = 67;
33499
+ var DAY_CELL_PADDING = 12;
33242
33500
  function RangeTriggerField({
33243
33501
  label,
33244
33502
  value,
33245
33503
  time
33246
33504
  }) {
33247
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles22.rangeField, children: [
33248
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles22.rangeLabel, children: label }),
33249
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles22.rangeValueRow, children: [
33250
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles22.rangeDate, children: value }),
33251
- time ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles22.rangeTimeWrap, children: [
33505
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles24.rangeField, children: [
33506
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles24.rangeLabel, children: label }),
33507
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles24.rangeValueRow, children: [
33508
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles24.rangeDate, children: value }),
33509
+ time ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles24.rangeTimeWrap, children: [
33252
33510
  /* @__PURE__ */ jsxRuntime.jsx(ClockFilledIcon, { color: colors.lightGrey, size: 16 }),
33253
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles22.rangeTime, children: time })
33511
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles24.rangeTime, children: time })
33254
33512
  ] }) : null
33255
33513
  ] })
33256
33514
  ] });
@@ -33440,15 +33698,15 @@ var DatePicker = react.forwardRef(
33440
33698
  ...rest,
33441
33699
  ref: setRootRef,
33442
33700
  style: [
33443
- styles22.root,
33444
- usesRangeTrigger && styles22.rangeRoot,
33445
- hideTrigger && styles22.rootHideTrigger,
33446
- isOpen && styles22.rootOpen,
33447
- disabled && styles22.disabled,
33701
+ styles24.root,
33702
+ usesRangeTrigger && styles24.rangeRoot,
33703
+ hideTrigger && styles24.rootHideTrigger,
33704
+ isOpen && styles24.rootOpen,
33705
+ disabled && styles24.disabled,
33448
33706
  style
33449
33707
  ],
33450
33708
  accessibilityState: { disabled, expanded: isOpen },
33451
- children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles22.triggerWrap, isOpen && styles22.triggerWrapOpen], children: [
33709
+ children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles24.triggerWrap, isOpen && styles24.triggerWrapOpen], children: [
33452
33710
  hideTrigger ? null : /* @__PURE__ */ jsxRuntime.jsx(
33453
33711
  reactNative.Pressable,
33454
33712
  {
@@ -33459,9 +33717,9 @@ var DatePicker = react.forwardRef(
33459
33717
  accessibilityLabel: resolvedAccessibilityLabel,
33460
33718
  accessibilityState: { disabled, expanded: isOpen },
33461
33719
  style: [
33462
- styles22.trigger,
33463
- usesRangeTrigger && styles22.rangeTrigger,
33464
- usesRangeTrigger && (usesVerticalRangeTrigger ? styles22.rangeTriggerVertical : styles22.rangeTriggerHorizontal),
33720
+ styles24.trigger,
33721
+ usesRangeTrigger && styles24.rangeTrigger,
33722
+ usesRangeTrigger && (usesVerticalRangeTrigger ? styles24.rangeTriggerVertical : styles24.rangeTriggerHorizontal),
33465
33723
  {
33466
33724
  borderColor: triggerBorderColor,
33467
33725
  backgroundColor: usesRangeTrigger ? "transparent" : colors.grey700
@@ -33472,13 +33730,13 @@ var DatePicker = react.forwardRef(
33472
33730
  /* @__PURE__ */ jsxRuntime.jsx(
33473
33731
  reactNative.View,
33474
33732
  {
33475
- style: usesVerticalRangeTrigger ? styles22.rangeDividerVertical : styles22.rangeDividerHorizontal
33733
+ style: usesVerticalRangeTrigger ? styles24.rangeDividerVertical : styles24.rangeDividerHorizontal
33476
33734
  }
33477
33735
  ),
33478
33736
  /* @__PURE__ */ jsxRuntime.jsx(RangeTriggerField, { label: endLabel, time: endTime, value: endValue })
33479
33737
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33480
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles22.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: triggerLabel }),
33481
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(CalendarOutlineIcon, { size: ICON_SIZE10, color: colors.grey100 }) })
33738
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles24.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: triggerLabel }),
33739
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles24.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(CalendarOutlineIcon, { size: ICON_SIZE11, color: colors.grey100 }) })
33482
33740
  ] })
33483
33741
  }
33484
33742
  ),
@@ -33486,13 +33744,13 @@ var DatePicker = react.forwardRef(
33486
33744
  reactNative.View,
33487
33745
  {
33488
33746
  style: [
33489
- styles22.menu,
33490
- usesRangeTrigger && styles22.rangeMenu,
33491
- hideTrigger ? styles22.menuInline : menuAlignEnd ? styles22.menuAlignEnd : styles22.menuAlignStart,
33747
+ styles24.menu,
33748
+ usesRangeTrigger && styles24.rangeMenu,
33749
+ hideTrigger ? styles24.menuInline : menuAlignEnd ? styles24.menuAlignEnd : styles24.menuAlignStart,
33492
33750
  calendarStyle
33493
33751
  ],
33494
33752
  children: [
33495
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles22.calendarHeader, children: [
33753
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles24.calendarHeader, children: [
33496
33754
  /* @__PURE__ */ jsxRuntime.jsx(
33497
33755
  reactNative.Pressable,
33498
33756
  {
@@ -33500,11 +33758,11 @@ var DatePicker = react.forwardRef(
33500
33758
  hitSlop: 8,
33501
33759
  accessibilityRole: "button",
33502
33760
  accessibilityLabel: "Previous month",
33503
- style: styles22.navButton,
33761
+ style: styles24.navButton,
33504
33762
  children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: NAV_ICON_SIZE, color: colors.white })
33505
33763
  }
33506
33764
  ),
33507
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.Text, { style: styles22.monthHeading, children: [
33765
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.Text, { style: styles24.monthHeading, children: [
33508
33766
  monthNames[visibleMonth.getMonth()],
33509
33767
  " ",
33510
33768
  visibleMonth.getFullYear()
@@ -33516,13 +33774,13 @@ var DatePicker = react.forwardRef(
33516
33774
  hitSlop: 8,
33517
33775
  accessibilityRole: "button",
33518
33776
  accessibilityLabel: "Next month",
33519
- style: styles22.navButton,
33520
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.navIconMirror, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: NAV_ICON_SIZE, color: colors.white }) })
33777
+ style: styles24.navButton,
33778
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles24.navIconMirror, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: NAV_ICON_SIZE, color: colors.white }) })
33521
33779
  }
33522
33780
  )
33523
33781
  ] }),
33524
33782
  /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { children: [
33525
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.weekdayRow, children: weekdayLabels.map((weekdayLabel, index) => /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.dayCellWrap, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles22.weekdayText, children: weekdayLabel }) }, `${weekdayLabel}-${index}`)) }),
33783
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles24.weekdayRow, children: weekdayLabels.map((weekdayLabel, index) => /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles24.weekdayCell, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles24.weekdayText, children: weekdayLabel }) }, `${weekdayLabel}-${index}`)) }),
33526
33784
  weeks.map((week, weekIndex) => {
33527
33785
  let rangeHighlightStyle = null;
33528
33786
  if (isRange && rangeValue.start && rangeValue.end) {
@@ -33559,13 +33817,13 @@ var DatePicker = react.forwardRef(
33559
33817
  return /* @__PURE__ */ jsxRuntime.jsxs(
33560
33818
  reactNative.View,
33561
33819
  {
33562
- style: [styles22.weekRow, weekIndex > 0 && styles22.weekRowSpaced],
33820
+ style: [styles24.weekRow, weekIndex > 0 && styles24.weekRowSpaced],
33563
33821
  children: [
33564
33822
  rangeHighlightStyle ? /* @__PURE__ */ jsxRuntime.jsx(
33565
33823
  reactNative.View,
33566
33824
  {
33567
33825
  pointerEvents: "none",
33568
- style: [styles22.rangeHighlight, rangeHighlightStyle]
33826
+ style: [styles24.rangeHighlight, rangeHighlightStyle]
33569
33827
  }
33570
33828
  ) : null,
33571
33829
  week.map((day, dayIndex) => {
@@ -33588,7 +33846,7 @@ var DatePicker = react.forwardRef(
33588
33846
  onHoverOut: () => setHoveredDayKey((current) => current === dayKey ? null : current),
33589
33847
  onPressIn: () => setHoveredDayKey(dayKey),
33590
33848
  onPressOut: () => setHoveredDayKey((current) => current === dayKey ? null : current),
33591
- style: styles22.dayCellWrap,
33849
+ style: styles24.dayCellWrap,
33592
33850
  accessibilityRole: "button",
33593
33851
  accessibilityLabel: formatValue(day),
33594
33852
  accessibilityState: {
@@ -33600,14 +33858,14 @@ var DatePicker = react.forwardRef(
33600
33858
  reactNative.View,
33601
33859
  {
33602
33860
  style: [
33603
- styles22.dayCircle,
33604
- isSelectedEndpoint && styles22.dayCircleSelected,
33605
- isHovered && styles22.dayCircleHovered
33861
+ styles24.dayCircle,
33862
+ isSelectedEndpoint && styles24.dayCircleSelected,
33863
+ isHovered && styles24.dayCircleHovered
33606
33864
  ],
33607
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles22.dayText, { color: dayTextColor }], children: day.getDate() })
33865
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles24.dayText, { color: dayTextColor }], children: day.getDate() })
33608
33866
  }
33609
33867
  ),
33610
- isToday && !isSelectedEndpoint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles22.todayDot }) : null
33868
+ isToday && !isSelectedEndpoint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles24.todayDot }) : null
33611
33869
  ]
33612
33870
  },
33613
33871
  dayIndex
@@ -33627,7 +33885,7 @@ var DatePicker = react.forwardRef(
33627
33885
  );
33628
33886
  }
33629
33887
  );
33630
- var styles22 = reactNative.StyleSheet.create({
33888
+ var styles24 = reactNative.StyleSheet.create({
33631
33889
  root: {
33632
33890
  width: DEFAULT_WIDTH,
33633
33891
  gap: 8,
@@ -33732,8 +33990,8 @@ var styles22 = reactNative.StyleSheet.create({
33732
33990
  backgroundColor: colors.grey500
33733
33991
  },
33734
33992
  iconSlot: {
33735
- width: ICON_SIZE10,
33736
- height: ICON_SIZE10,
33993
+ width: ICON_SIZE11,
33994
+ height: ICON_SIZE11,
33737
33995
  alignItems: "center",
33738
33996
  justifyContent: "center",
33739
33997
  flexShrink: 0
@@ -33746,10 +34004,11 @@ var styles22 = reactNative.StyleSheet.create({
33746
34004
  marginTop: 8,
33747
34005
  zIndex: 10,
33748
34006
  borderRadius: MENU_RADIUS2,
33749
- padding: 12,
34007
+ padding: MENU_PADDING,
33750
34008
  gap: 0,
33751
34009
  opacity: 1,
33752
34010
  backgroundColor: colors.grey700,
34011
+ overflow: "hidden",
33753
34012
  ...reactNative.Platform.select({
33754
34013
  web: {
33755
34014
  boxShadow: `0 8px 24px ${colors.black}73`
@@ -33778,14 +34037,17 @@ var styles22 = reactNative.StyleSheet.create({
33778
34037
  width: RANGE_TRIGGER_WIDTH
33779
34038
  },
33780
34039
  calendarHeader: {
33781
- height: 36,
34040
+ height: HEADER_HEIGHT3,
34041
+ paddingTop: 8,
34042
+ paddingBottom: 8,
33782
34043
  flexDirection: "row",
33783
34044
  alignItems: "center",
33784
- justifyContent: "space-between"
34045
+ justifyContent: "space-between",
34046
+ opacity: 1
33785
34047
  },
33786
34048
  navButton: {
33787
- width: 36,
33788
- height: 36,
34049
+ width: HEADER_HEIGHT3,
34050
+ height: HEADER_HEIGHT3,
33789
34051
  alignItems: "center",
33790
34052
  justifyContent: "center"
33791
34053
  },
@@ -33798,7 +34060,21 @@ var styles22 = reactNative.StyleSheet.create({
33798
34060
  textAlign: "center"
33799
34061
  },
33800
34062
  weekdayRow: {
33801
- flexDirection: "row"
34063
+ width: MENU_CONTENT_WIDTH,
34064
+ height: WEEKDAY_ROW_HEIGHT,
34065
+ marginTop: WEEKDAY_ROW_GAP,
34066
+ flexDirection: "row",
34067
+ alignItems: "center",
34068
+ opacity: 1
34069
+ },
34070
+ weekdayCell: {
34071
+ width: DAY_CELL_WIDTH,
34072
+ height: WEEKDAY_ROW_HEIGHT,
34073
+ flexGrow: 1,
34074
+ flexShrink: 1,
34075
+ flexBasis: 0,
34076
+ alignItems: "center",
34077
+ justifyContent: "center"
33802
34078
  },
33803
34079
  weekdayText: {
33804
34080
  ...datePickerTypography.weekday,
@@ -33807,29 +34083,36 @@ var styles22 = reactNative.StyleSheet.create({
33807
34083
  textTransform: "uppercase"
33808
34084
  },
33809
34085
  weekRow: {
34086
+ width: MENU_CONTENT_WIDTH,
33810
34087
  flexDirection: "row",
33811
34088
  position: "relative"
33812
34089
  },
33813
34090
  weekRowSpaced: {
33814
- marginTop: 8
34091
+ marginTop: WEEK_ROW_GAP
33815
34092
  },
33816
34093
  rangeHighlight: {
33817
34094
  position: "absolute",
33818
- top: (DAY_CELL_HEIGHT - DAY_CIRCLE_SIZE) / 2,
33819
- bottom: (DAY_CELL_HEIGHT - DAY_CIRCLE_SIZE) / 2,
33820
- borderRadius: DAY_CIRCLE_SIZE / 2,
34095
+ top: 0,
34096
+ bottom: 0,
34097
+ borderRadius: DAY_CELL_RADIUS,
33821
34098
  backgroundColor: colors.primaryHover
33822
34099
  },
33823
34100
  dayCellWrap: {
33824
- flex: 1,
34101
+ width: DAY_CELL_WIDTH,
33825
34102
  height: DAY_CELL_HEIGHT,
34103
+ flexGrow: 1,
34104
+ flexShrink: 1,
34105
+ flexBasis: 0,
33826
34106
  alignItems: "center",
33827
- justifyContent: "center"
34107
+ justifyContent: "center",
34108
+ opacity: 1
33828
34109
  },
33829
34110
  dayCircle: {
33830
- width: DAY_CIRCLE_SIZE,
33831
- height: DAY_CIRCLE_SIZE,
33832
- borderRadius: DAY_CIRCLE_SIZE / 2,
34111
+ width: "100%",
34112
+ height: "100%",
34113
+ borderRadius: DAY_CELL_RADIUS,
34114
+ padding: DAY_CELL_PADDING,
34115
+ gap: 10,
33833
34116
  alignItems: "center",
33834
34117
  justifyContent: "center"
33835
34118
  },
@@ -33853,7 +34136,7 @@ var styles22 = reactNative.StyleSheet.create({
33853
34136
  });
33854
34137
  var SIZE = 48;
33855
34138
  var PADDING = 12;
33856
- var ICON_SIZE11 = 24;
34139
+ var ICON_SIZE12 = 24;
33857
34140
  var RADIUS = 64;
33858
34141
  var FloatingActionButton = react.forwardRef(function FloatingActionButton2({ onPress, disabled = false, icon, accessibilityLabel = "Add", style, className, ...rest }, forwardedRef) {
33859
34142
  const containerRef = react.useRef(null);
@@ -33871,12 +34154,12 @@ var FloatingActionButton = react.forwardRef(function FloatingActionButton2({ onP
33871
34154
  accessibilityRole: "button",
33872
34155
  accessibilityLabel,
33873
34156
  accessibilityState: { disabled },
33874
- style: [styles23.base, disabled && styles23.disabled, style],
33875
- children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { color: colors.white, size: ICON_SIZE11, strokeWidth: 2 })
34157
+ style: [styles25.base, disabled && styles25.disabled, style],
34158
+ children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { color: colors.white, size: ICON_SIZE12, strokeWidth: 2 })
33876
34159
  }
33877
34160
  );
33878
34161
  });
33879
- var styles23 = reactNative.StyleSheet.create({
34162
+ var styles25 = reactNative.StyleSheet.create({
33880
34163
  base: {
33881
34164
  width: SIZE,
33882
34165
  height: SIZE,
@@ -33951,7 +34234,7 @@ var Modal = react.forwardRef(function Modal2({
33951
34234
  reactNative.View,
33952
34235
  {
33953
34236
  ref: setContentRef,
33954
- style: [styles24.content, contentStyle],
34237
+ style: [styles26.content, contentStyle],
33955
34238
  onStartShouldSetResponder: () => true,
33956
34239
  children
33957
34240
  }
@@ -33983,7 +34266,7 @@ var Modal = react.forwardRef(function Modal2({
33983
34266
  animationType: "fade",
33984
34267
  onRequestClose: onClose,
33985
34268
  statusBarTranslucent: true,
33986
- children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles24.root, accessibilityViewIsModal: true, children: [
34269
+ children: /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles26.root, accessibilityViewIsModal: true, children: [
33987
34270
  /* @__PURE__ */ jsxRuntime.jsx(
33988
34271
  reactNative.Pressable,
33989
34272
  {
@@ -33991,7 +34274,7 @@ var Modal = react.forwardRef(function Modal2({
33991
34274
  accessibilityLabel: backdropAccessibilityLabel,
33992
34275
  disabled: !closeOnBackdropPress,
33993
34276
  onPress: closeOnBackdropPress ? onClose : void 0,
33994
- style: styles24.backdrop
34277
+ style: styles26.backdrop
33995
34278
  }
33996
34279
  ),
33997
34280
  content
@@ -33999,7 +34282,7 @@ var Modal = react.forwardRef(function Modal2({
33999
34282
  }
34000
34283
  );
34001
34284
  });
34002
- var styles24 = reactNative.StyleSheet.create({
34285
+ var styles26 = reactNative.StyleSheet.create({
34003
34286
  root: {
34004
34287
  flex: 1,
34005
34288
  alignItems: "center",
@@ -34140,6 +34423,8 @@ var Input = react.forwardRef(function Input2({
34140
34423
  const [focused, setFocused] = react.useState(false);
34141
34424
  const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue ?? "");
34142
34425
  const metrics = sizeConfig2[size];
34426
+ const reactId = react.useId();
34427
+ const inputDomId = `eh-input-${reactId.replace(/:/g, "")}`;
34143
34428
  const isControlled = typeof value === "string";
34144
34429
  const currentValue = isControlled ? value : uncontrolledValue;
34145
34430
  const hasValue = currentValue.length > 0;
@@ -34156,35 +34441,45 @@ var Input = react.forwardRef(function Input2({
34156
34441
  size: metrics.iconSize,
34157
34442
  color: chrome.rightIconColor
34158
34443
  });
34444
+ const focusInput = () => {
34445
+ if (disabled) return;
34446
+ inputRef.current?.focus();
34447
+ };
34159
34448
  useApplyWebClassName(rootRef, className);
34160
34449
  useApplyWebClassName(inputRef, inputClassName);
34161
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles25.root, disabled && styles25.disabled, style], children: [
34162
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles25.label, { color: chrome.labelColor }], children: label }) : null,
34450
+ const fieldChromeStyle = [
34451
+ styles27.field,
34452
+ {
34453
+ height: metrics.height,
34454
+ borderRadius: metrics.borderRadius,
34455
+ paddingTop: metrics.paddingVertical,
34456
+ paddingBottom: metrics.paddingVertical,
34457
+ paddingLeft: metrics.paddingHorizontal,
34458
+ paddingRight: metrics.paddingHorizontal,
34459
+ gap: metrics.gap,
34460
+ borderColor: chrome.borderColor,
34461
+ backgroundColor: chrome.backgroundColor
34462
+ },
34463
+ reactNative.Platform.OS === "web" ? styles27.fieldWeb : null,
34464
+ fieldStyle
34465
+ ];
34466
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles27.root, disabled && styles27.disabled, style], children: [
34467
+ showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { disabled, onPress: focusInput, style: styles27.labelPressable, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles27.label, { color: chrome.labelColor }], children: label }) }) : null,
34163
34468
  /* @__PURE__ */ jsxRuntime.jsxs(
34164
- reactNative.View,
34469
+ reactNative.Pressable,
34165
34470
  {
34166
- style: [
34167
- styles25.field,
34168
- {
34169
- height: metrics.height,
34170
- borderRadius: metrics.borderRadius,
34171
- paddingTop: metrics.paddingVertical,
34172
- paddingBottom: metrics.paddingVertical,
34173
- paddingLeft: metrics.paddingHorizontal,
34174
- paddingRight: metrics.paddingHorizontal,
34175
- gap: metrics.gap,
34176
- borderColor: chrome.borderColor,
34177
- backgroundColor: chrome.backgroundColor
34178
- },
34179
- fieldStyle
34180
- ],
34471
+ accessibilityRole: "none",
34472
+ disabled,
34473
+ onPress: focusInput,
34474
+ style: fieldChromeStyle,
34181
34475
  children: [
34182
- hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles25.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: leftIconNode }) : null,
34476
+ hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles27.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: leftIconNode }) : null,
34183
34477
  /* @__PURE__ */ jsxRuntime.jsx(
34184
34478
  reactNative.TextInput,
34185
34479
  {
34186
34480
  ref: setInputRef,
34187
34481
  ...textInputProps,
34482
+ nativeID: inputDomId,
34188
34483
  value: isControlled ? value : void 0,
34189
34484
  defaultValue: isControlled ? void 0 : defaultValue,
34190
34485
  editable: !disabled,
@@ -34203,11 +34498,11 @@ var Input = react.forwardRef(function Input2({
34203
34498
  onBlur?.(event);
34204
34499
  },
34205
34500
  style: [
34206
- styles25.input,
34501
+ styles27.input,
34207
34502
  metrics.text,
34208
34503
  { color: chrome.textColor },
34209
- reactNative.Platform.OS === "web" ? styles25.inputWeb : null,
34210
- reactNative.Platform.OS === "android" ? styles25.inputAndroid : null,
34504
+ reactNative.Platform.OS === "web" ? styles27.inputWeb : null,
34505
+ reactNative.Platform.OS === "android" ? styles27.inputAndroid : null,
34211
34506
  inputStyle
34212
34507
  ],
34213
34508
  accessibilityLabel: resolvedAccessibilityLabel,
@@ -34219,20 +34514,29 @@ var Input = react.forwardRef(function Input2({
34219
34514
  {
34220
34515
  onPress: onRightIconPress,
34221
34516
  disabled,
34222
- style: [styles25.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }],
34517
+ style: [styles27.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }],
34223
34518
  accessibilityRole: "button",
34224
34519
  accessibilityLabel: rightIconAccessibilityLabel,
34225
34520
  hitSlop: 8,
34226
34521
  children: rightIconNode
34227
34522
  }
34228
- ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles25.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }], children: rightIconNode }) : null
34523
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
34524
+ reactNative.Pressable,
34525
+ {
34526
+ accessibilityRole: "none",
34527
+ disabled,
34528
+ onPress: focusInput,
34529
+ style: [styles27.iconSlot, { width: metrics.iconSize, height: metrics.iconSize }],
34530
+ children: rightIconNode
34531
+ }
34532
+ ) : null
34229
34533
  ]
34230
34534
  }
34231
34535
  ),
34232
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles25.hint, { color: chrome.hintColor }], children: hint }) : null
34536
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles27.hint, { color: chrome.hintColor }], children: hint }) : null
34233
34537
  ] });
34234
34538
  });
34235
- var styles25 = reactNative.StyleSheet.create({
34539
+ var styles27 = reactNative.StyleSheet.create({
34236
34540
  root: {
34237
34541
  width: DEFAULT_WIDTH2,
34238
34542
  gap: 8,
@@ -34241,6 +34545,9 @@ var styles25 = reactNative.StyleSheet.create({
34241
34545
  disabled: {
34242
34546
  opacity: 0.6
34243
34547
  },
34548
+ labelPressable: {
34549
+ alignSelf: "flex-start"
34550
+ },
34244
34551
  label: {
34245
34552
  ...inputTypography.label
34246
34553
  },
@@ -34249,13 +34556,21 @@ var styles25 = reactNative.StyleSheet.create({
34249
34556
  flexDirection: "row",
34250
34557
  alignItems: "center"
34251
34558
  },
34559
+ fieldWeb: {
34560
+ // Web-only cursor for the clickable field chrome.
34561
+ cursor: "text"
34562
+ },
34252
34563
  input: {
34253
34564
  flex: 1,
34565
+ alignSelf: "stretch",
34254
34566
  paddingVertical: 0,
34255
34567
  margin: 0
34256
34568
  },
34257
34569
  inputWeb: {
34258
- outlineStyle: "none"
34570
+ outlineStyle: "none",
34571
+ height: "100%",
34572
+ minWidth: 0,
34573
+ cursor: "text"
34259
34574
  },
34260
34575
  inputAndroid: {
34261
34576
  includeFontPadding: false
@@ -34388,8 +34703,8 @@ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
34388
34703
  const cellGap = mobile ? MOBILE_GAP : DESKTOP_GAP;
34389
34704
  const rowWidth = cellWidth * safeLength + cellGap * Math.max(0, safeLength - 1);
34390
34705
  const showErrorMessage = Boolean(error && errorMessage);
34391
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...viewProps, ref: rootRef, style: [styles26.wrapper, disabled && styles26.disabled, style], children: [
34392
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles26.row, { width: rowWidth, maxWidth: "100%", gap: cellGap }], children: Array.from({ length: safeLength }, (_, index) => {
34706
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...viewProps, ref: rootRef, style: [styles28.wrapper, disabled && styles28.disabled, style], children: [
34707
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles28.row, { width: rowWidth, maxWidth: "100%", gap: cellGap }], children: Array.from({ length: safeLength }, (_, index) => {
34393
34708
  const active = focusedIndex === index;
34394
34709
  const borderColor = error ? colors.red : active ? colors.primary : colors.grey600;
34395
34710
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -34414,15 +34729,15 @@ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
34414
34729
  onSubmitEditing: () => onSubmit?.(currentCode),
34415
34730
  selectTextOnFocus: true,
34416
34731
  style: [
34417
- styles26.cell,
34732
+ styles28.cell,
34418
34733
  {
34419
34734
  width: cellWidth,
34420
34735
  height: cellHeight,
34421
34736
  borderColor,
34422
34737
  color: error ? colors.red : colors.white
34423
34738
  },
34424
- reactNative.Platform.OS === "web" ? styles26.cellWeb : null,
34425
- reactNative.Platform.OS === "android" ? styles26.cellAndroid : null,
34739
+ reactNative.Platform.OS === "web" ? styles28.cellWeb : null,
34740
+ reactNative.Platform.OS === "android" ? styles28.cellAndroid : null,
34426
34741
  inputStyle
34427
34742
  ],
34428
34743
  value: currentCode[index] ?? ""
@@ -34430,10 +34745,10 @@ var VerificationCodeInput = react.forwardRef(function VerificationCodeInput2({
34430
34745
  index
34431
34746
  );
34432
34747
  }) }),
34433
- showErrorMessage ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { accessibilityLiveRegion: "assertive", style: styles26.errorMessage, children: errorMessage }) : null
34748
+ showErrorMessage ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { accessibilityLiveRegion: "assertive", style: styles28.errorMessage, children: errorMessage }) : null
34434
34749
  ] });
34435
34750
  });
34436
- var styles26 = reactNative.StyleSheet.create({
34751
+ var styles28 = reactNative.StyleSheet.create({
34437
34752
  wrapper: {
34438
34753
  minWidth: 0,
34439
34754
  alignSelf: "center",
@@ -34484,7 +34799,7 @@ var TRIGGER_RADIUS2 = 60;
34484
34799
  var MENU_RADIUS3 = 24;
34485
34800
  var MENU_MAX_LIST_HEIGHT = 248;
34486
34801
  var ITEM_RADIUS2 = 12;
34487
- var ICON_SIZE12 = 20;
34802
+ var ICON_SIZE13 = 20;
34488
34803
  var CHIP_GAP = 6;
34489
34804
  var FALLBACK_ELLIPSIS_WIDTH = 20;
34490
34805
  function itemBackground(state) {
@@ -34557,25 +34872,25 @@ function MultiValueChips({ options, disabled, onRemove }) {
34557
34872
  const next = Math.ceil(event.nativeEvent.layout.width);
34558
34873
  setEllipsisWidth((current) => current === next ? current : next);
34559
34874
  };
34560
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles27.multiValueRoot, children: [
34561
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { pointerEvents: "none", style: styles27.measureRow, children: [
34875
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles29.multiValueRoot, children: [
34876
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { pointerEvents: "none", style: styles29.measureRow, children: [
34562
34877
  options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
34563
34878
  reactNative.View,
34564
34879
  {
34565
- style: styles27.chip,
34880
+ style: styles29.chip,
34566
34881
  onLayout: (event) => handleChipLayout(option.value, event),
34567
34882
  children: [
34568
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.chipLabel, numberOfLines: 1, children: option.label }),
34569
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.chipRemove, children: "\xD7" })
34883
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.chipLabel, numberOfLines: 1, children: option.label }),
34884
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.chipRemove, children: "\xD7" })
34570
34885
  ]
34571
34886
  },
34572
34887
  `measure-${option.value}`
34573
34888
  )),
34574
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.ellipsis, onLayout: handleEllipsisLayout, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.ellipsisText, children: "..." }) })
34889
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.ellipsis, onLayout: handleEllipsisLayout, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.ellipsisText, children: "..." }) })
34575
34890
  ] }),
34576
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles27.chipsRow, onLayout: handleContainerLayout, children: [
34577
- visible.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles27.chip, children: [
34578
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.chipLabel, numberOfLines: 1, children: option.label }),
34891
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles29.chipsRow, onLayout: handleContainerLayout, children: [
34892
+ visible.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles29.chip, children: [
34893
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.chipLabel, numberOfLines: 1, children: option.label }),
34579
34894
  /* @__PURE__ */ jsxRuntime.jsx(
34580
34895
  reactNative.Pressable,
34581
34896
  {
@@ -34587,11 +34902,11 @@ function MultiValueChips({ options, disabled, onRemove }) {
34587
34902
  hitSlop: 6,
34588
34903
  accessibilityRole: "button",
34589
34904
  accessibilityLabel: `Remove ${option.label}`,
34590
- children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.chipRemove, children: "\xD7" })
34905
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.chipRemove, children: "\xD7" })
34591
34906
  }
34592
34907
  )
34593
34908
  ] }, option.value)),
34594
- hasOverflow ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.ellipsis, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.ellipsisText, children: "..." }) }) : null
34909
+ hasOverflow ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.ellipsis, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.ellipsisText, children: "..." }) }) : null
34595
34910
  ] })
34596
34911
  ] });
34597
34912
  }
@@ -34618,6 +34933,7 @@ var Select = react.forwardRef(
34618
34933
  emptyText = "No results",
34619
34934
  valueColor,
34620
34935
  style,
34936
+ menuStyle,
34621
34937
  className,
34622
34938
  accessibilityLabel,
34623
34939
  // Pulled out only to keep them off `rest` (which is spread onto the root View);
@@ -34645,6 +34961,8 @@ var Select = react.forwardRef(
34645
34961
  const [uncontrolledOpen, setUncontrolledOpen] = react.useState(defaultOpen);
34646
34962
  const [searchQuery, setSearchQuery] = react.useState("");
34647
34963
  const [hoveredValue, setHoveredValue] = react.useState(null);
34964
+ const [menuAlignEnd, setMenuAlignEnd] = react.useState(false);
34965
+ const [menuPlaceAbove, setMenuPlaceAbove] = react.useState(false);
34648
34966
  const selectedValues = react.useMemo(() => {
34649
34967
  const current = isValueControlled ? valueProp : multiple ? uncontrolledMultiple : uncontrolledSingle;
34650
34968
  return toArray(current);
@@ -34663,6 +34981,23 @@ var Select = react.forwardRef(
34663
34981
  return options.filter((option) => option.label.toLowerCase().includes(query));
34664
34982
  }, [isExternalSearch, options, searchQuery]);
34665
34983
  useApplyWebClassName(rootRef, className);
34984
+ const resolvedMenuWidth = react.useMemo(() => {
34985
+ const flat = reactNative.StyleSheet.flatten(menuStyle);
34986
+ const width = flat?.width;
34987
+ if (typeof width === "number") return width;
34988
+ const minWidth = flat?.minWidth;
34989
+ if (typeof minWidth === "number") return minWidth;
34990
+ return null;
34991
+ }, [menuStyle]);
34992
+ const estimatedMenuHeight = react.useMemo(() => {
34993
+ const searchBlock = showSearch ? 40 + 8 : 0;
34994
+ const optionCount = Math.max(filteredOptions.length, 1);
34995
+ const listHeight = Math.min(
34996
+ optionCount * 43 + Math.max(0, optionCount - 1) * 8,
34997
+ MENU_MAX_LIST_HEIGHT
34998
+ );
34999
+ return 24 + searchBlock + listHeight;
35000
+ }, [filteredOptions.length, showSearch]);
34666
35001
  const setOpen = react.useCallback(
34667
35002
  (next) => {
34668
35003
  if (!isOpenControlled) setUncontrolledOpen(next);
@@ -34672,11 +35007,37 @@ var Select = react.forwardRef(
34672
35007
  } else {
34673
35008
  setSearchQuery("");
34674
35009
  setHoveredValue(null);
35010
+ setMenuAlignEnd(false);
35011
+ setMenuPlaceAbove(false);
34675
35012
  onSearchChange?.("");
34676
35013
  }
34677
35014
  },
34678
35015
  [isOpenControlled, onOpenChange, onSearchChange, selectedValues]
34679
35016
  );
35017
+ react.useLayoutEffect(() => {
35018
+ if (reactNative.Platform.OS !== "web" || !isOpen) return;
35019
+ const updateMenuPlacement = () => {
35020
+ const trigger = triggerRef.current;
35021
+ const rect = trigger?.getBoundingClientRect?.();
35022
+ if (!rect) return;
35023
+ const viewportPadding = 8;
35024
+ const gap = 8;
35025
+ const menuWidth = Math.max(rect.width, resolvedMenuWidth ?? 0);
35026
+ const overflowsRight = rect.left + menuWidth > window.innerWidth - viewportPadding;
35027
+ setMenuAlignEnd(overflowsRight);
35028
+ const spaceBelow = window.innerHeight - viewportPadding - rect.bottom;
35029
+ const spaceAbove = rect.top - viewportPadding;
35030
+ const needsAbove = estimatedMenuHeight + gap > spaceBelow && spaceAbove > spaceBelow;
35031
+ setMenuPlaceAbove(needsAbove);
35032
+ };
35033
+ updateMenuPlacement();
35034
+ window.addEventListener("resize", updateMenuPlacement);
35035
+ window.addEventListener("scroll", updateMenuPlacement, true);
35036
+ return () => {
35037
+ window.removeEventListener("resize", updateMenuPlacement);
35038
+ window.removeEventListener("scroll", updateMenuPlacement, true);
35039
+ };
35040
+ }, [estimatedMenuHeight, isOpen, resolvedMenuWidth]);
34680
35041
  const handleSearchChange = (text) => {
34681
35042
  setSearchQuery(text);
34682
35043
  onSearchChange?.(text);
@@ -34801,7 +35162,7 @@ var Select = react.forwardRef(
34801
35162
  setOpen
34802
35163
  ]);
34803
35164
  const leftIconNode = renderStatefulIcon(leftIcon, UserIcon, {
34804
- size: ICON_SIZE12,
35165
+ size: ICON_SIZE13,
34805
35166
  color: error ? colors.red : colors.primary
34806
35167
  });
34807
35168
  const hasLeftIcon = showLeftIcon || leftIcon != null;
@@ -34816,11 +35177,11 @@ var Select = react.forwardRef(
34816
35177
  {
34817
35178
  ...rest,
34818
35179
  ref: setRootRef,
34819
- style: [styles27.root, isOpen && styles27.rootOpen, disabled && styles27.disabled, style],
35180
+ style: [styles29.root, isOpen && styles29.rootOpen, disabled && styles29.disabled, style],
34820
35181
  accessibilityState: { disabled, expanded: isOpen },
34821
35182
  children: [
34822
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles27.label, { color: labelColor }], children: label }) : null,
34823
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles27.triggerWrap, isOpen && styles27.triggerWrapOpen], children: [
35183
+ showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles29.label, { color: labelColor }], children: label }) : null,
35184
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles29.triggerWrap, isOpen && styles29.triggerWrapOpen], children: [
34824
35185
  /* @__PURE__ */ jsxRuntime.jsxs(
34825
35186
  reactNative.Pressable,
34826
35187
  {
@@ -34831,97 +35192,108 @@ var Select = react.forwardRef(
34831
35192
  accessibilityLabel: resolvedAccessibilityLabel,
34832
35193
  accessibilityState: { disabled, expanded: isOpen },
34833
35194
  style: [
34834
- styles27.trigger,
35195
+ styles29.trigger,
34835
35196
  {
34836
35197
  borderColor: triggerBorderColor,
34837
35198
  backgroundColor: colors.grey700
34838
35199
  }
34839
35200
  ],
34840
35201
  children: [
34841
- hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.iconSlot, children: leftIconNode }) : null,
34842
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.triggerContent, children: multiple && hasValue ? /* @__PURE__ */ jsxRuntime.jsx(
35202
+ hasLeftIcon ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.iconSlot, children: leftIconNode }) : null,
35203
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.triggerContent, children: multiple && hasValue ? /* @__PURE__ */ jsxRuntime.jsx(
34843
35204
  MultiValueChips,
34844
35205
  {
34845
35206
  options: selectedOptions,
34846
35207
  disabled,
34847
35208
  onRemove: handleRemoveChip
34848
35209
  }
34849
- ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles27.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: multiple ? placeholder : singleLabel }) }),
34850
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles27.iconSlot, isOpen && styles27.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE12, color: isOpen ? colors.primary : colors.grey100 }) })
35210
+ ) : /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles29.triggerText, { color: triggerTextColor }], numberOfLines: 1, children: multiple ? placeholder : singleLabel }) }),
35211
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: [styles29.iconSlot, isOpen && styles29.chevronOpen], children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { size: ICON_SIZE13, color: isOpen ? colors.primary : colors.grey100 }) })
34851
35212
  ]
34852
35213
  }
34853
35214
  ),
34854
- isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles27.menu, children: [
34855
- showSearch ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles27.searchField, children: [
34856
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, { size: ICON_SIZE12, color: colors.grey100 }) }),
34857
- /* @__PURE__ */ jsxRuntime.jsx(
34858
- reactNative.TextInput,
34859
- {
34860
- ref: searchInputRef,
34861
- value: searchQuery,
34862
- onChangeText: handleSearchChange,
34863
- editable: !disabled,
34864
- placeholder: searchPlaceholder,
34865
- placeholderTextColor: colors.grey100,
34866
- style: [
34867
- styles27.searchInput,
34868
- reactNative.Platform.OS === "web" ? styles27.searchInputWeb : null,
34869
- reactNative.Platform.OS === "android" ? styles27.searchInputAndroid : null
34870
- ],
34871
- accessibilityLabel: searchPlaceholder
34872
- }
34873
- )
34874
- ] }) : null,
34875
- /* @__PURE__ */ jsxRuntime.jsxs(
34876
- reactNative.ScrollView,
34877
- {
34878
- style: styles27.optionList,
34879
- contentContainerStyle: styles27.optionListContent,
34880
- keyboardShouldPersistTaps: "handled",
34881
- showsVerticalScrollIndicator: false,
34882
- children: [
34883
- loading ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.statusText, children: "Loading..." }) }) : filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles27.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.statusText, children: emptyText }) }) : null,
34884
- !loading && filteredOptions.map((option) => {
34885
- const isSelected = selectedValues.includes(option.value);
34886
- const isHovered = hoveredValue === option.value;
34887
- const visualState = isSelected ? "selected" : isHovered ? "hover" : "default";
34888
- return /* @__PURE__ */ jsxRuntime.jsxs(
34889
- reactNative.Pressable,
34890
- {
34891
- onPress: () => handleSelect(option.value),
34892
- disabled,
34893
- onHoverIn: () => setHoveredValue(option.value),
34894
- onHoverOut: () => setHoveredValue((current) => current === option.value ? null : current),
34895
- onPressIn: () => setHoveredValue(option.value),
34896
- onPressOut: () => setHoveredValue((current) => current === option.value ? null : current),
34897
- accessibilityRole: multiple ? "checkbox" : "button",
34898
- accessibilityState: { selected: isSelected, checked: isSelected, disabled },
34899
- style: [
34900
- styles27.item,
35215
+ isOpen ? /* @__PURE__ */ jsxRuntime.jsxs(
35216
+ reactNative.View,
35217
+ {
35218
+ style: [
35219
+ styles29.menu,
35220
+ menuAlignEnd ? styles29.menuAlignEnd : styles29.menuAlignStart,
35221
+ menuPlaceAbove ? styles29.menuAbove : styles29.menuBelow,
35222
+ menuStyle
35223
+ ],
35224
+ children: [
35225
+ showSearch ? /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles29.searchField, children: [
35226
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, { size: ICON_SIZE13, color: colors.grey100 }) }),
35227
+ /* @__PURE__ */ jsxRuntime.jsx(
35228
+ reactNative.TextInput,
35229
+ {
35230
+ ref: searchInputRef,
35231
+ value: searchQuery,
35232
+ onChangeText: handleSearchChange,
35233
+ editable: !disabled,
35234
+ placeholder: searchPlaceholder,
35235
+ placeholderTextColor: colors.grey100,
35236
+ style: [
35237
+ styles29.searchInput,
35238
+ reactNative.Platform.OS === "web" ? styles29.searchInputWeb : null,
35239
+ reactNative.Platform.OS === "android" ? styles29.searchInputAndroid : null
35240
+ ],
35241
+ accessibilityLabel: searchPlaceholder
35242
+ }
35243
+ )
35244
+ ] }) : null,
35245
+ /* @__PURE__ */ jsxRuntime.jsxs(
35246
+ reactNative.ScrollView,
35247
+ {
35248
+ style: styles29.optionList,
35249
+ contentContainerStyle: styles29.optionListContent,
35250
+ keyboardShouldPersistTaps: "handled",
35251
+ showsVerticalScrollIndicator: false,
35252
+ children: [
35253
+ loading ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.statusText, children: "Loading..." }) }) : filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles29.statusRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.statusText, children: emptyText }) }) : null,
35254
+ !loading && filteredOptions.map((option) => {
35255
+ const isSelected = selectedValues.includes(option.value);
35256
+ const isHovered = hoveredValue === option.value;
35257
+ const visualState = isSelected ? "selected" : isHovered ? "hover" : "default";
35258
+ return /* @__PURE__ */ jsxRuntime.jsxs(
35259
+ reactNative.Pressable,
34901
35260
  {
34902
- backgroundColor: itemBackground(visualState)
34903
- }
34904
- ],
34905
- children: [
34906
- multiple ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles27.itemCheckbox, children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { value: isSelected, variant: "light" }) }) : null,
34907
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles27.itemLabel, numberOfLines: 1, children: option.label })
34908
- ]
34909
- },
34910
- option.value
34911
- );
34912
- })
34913
- ]
34914
- }
34915
- )
34916
- ] }) : null
35261
+ onPress: () => handleSelect(option.value),
35262
+ disabled,
35263
+ onHoverIn: () => setHoveredValue(option.value),
35264
+ onHoverOut: () => setHoveredValue((current) => current === option.value ? null : current),
35265
+ onPressIn: () => setHoveredValue(option.value),
35266
+ onPressOut: () => setHoveredValue((current) => current === option.value ? null : current),
35267
+ accessibilityRole: multiple ? "checkbox" : "button",
35268
+ accessibilityState: { selected: isSelected, checked: isSelected, disabled },
35269
+ style: [
35270
+ styles29.item,
35271
+ {
35272
+ backgroundColor: itemBackground(visualState)
35273
+ }
35274
+ ],
35275
+ children: [
35276
+ multiple ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles29.itemCheckbox, children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { value: isSelected, variant: "light" }) }) : null,
35277
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles29.itemLabel, numberOfLines: 1, children: option.label })
35278
+ ]
35279
+ },
35280
+ option.value
35281
+ );
35282
+ })
35283
+ ]
35284
+ }
35285
+ )
35286
+ ]
35287
+ }
35288
+ ) : null
34917
35289
  ] }),
34918
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles27.hint, { color: hintColor }], children: hint }) : null
35290
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles29.hint, { color: hintColor }], children: hint }) : null
34919
35291
  ]
34920
35292
  }
34921
35293
  );
34922
35294
  }
34923
35295
  );
34924
- var styles27 = reactNative.StyleSheet.create({
35296
+ var styles29 = reactNative.StyleSheet.create({
34925
35297
  root: {
34926
35298
  width: DEFAULT_WIDTH3,
34927
35299
  gap: 8,
@@ -35011,8 +35383,8 @@ var styles27 = reactNative.StyleSheet.create({
35011
35383
  lineHeight: 16
35012
35384
  },
35013
35385
  iconSlot: {
35014
- width: ICON_SIZE12,
35015
- height: ICON_SIZE12,
35386
+ width: ICON_SIZE13,
35387
+ height: ICON_SIZE13,
35016
35388
  alignItems: "center",
35017
35389
  justifyContent: "center",
35018
35390
  flexShrink: 0
@@ -35022,10 +35394,7 @@ var styles27 = reactNative.StyleSheet.create({
35022
35394
  },
35023
35395
  menu: {
35024
35396
  position: "absolute",
35025
- top: "100%",
35026
- left: 0,
35027
- right: 0,
35028
- marginTop: 8,
35397
+ minWidth: "100%",
35029
35398
  zIndex: 10,
35030
35399
  borderRadius: MENU_RADIUS3,
35031
35400
  padding: 12,
@@ -35040,6 +35409,26 @@ var styles27 = reactNative.StyleSheet.create({
35040
35409
  }
35041
35410
  })
35042
35411
  },
35412
+ menuAlignStart: {
35413
+ left: 0,
35414
+ right: "auto"
35415
+ },
35416
+ menuAlignEnd: {
35417
+ left: "auto",
35418
+ right: 0
35419
+ },
35420
+ menuBelow: {
35421
+ top: "100%",
35422
+ bottom: "auto",
35423
+ marginTop: 8,
35424
+ marginBottom: 0
35425
+ },
35426
+ menuAbove: {
35427
+ top: "auto",
35428
+ bottom: "100%",
35429
+ marginTop: 0,
35430
+ marginBottom: 8
35431
+ },
35043
35432
  optionList: {
35044
35433
  maxHeight: MENU_MAX_LIST_HEIGHT
35045
35434
  },
@@ -35175,25 +35564,35 @@ var Textarea = react.forwardRef(function Textarea2({
35175
35564
  const setInputRef = react.useMemo(() => mergeRefs(inputRef, forwardedRef), [forwardedRef]);
35176
35565
  const [focused, setFocused] = react.useState(false);
35177
35566
  const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue ?? "");
35567
+ const reactId = react.useId();
35568
+ const inputDomId = `eh-textarea-${reactId.replace(/:/g, "")}`;
35178
35569
  const isControlled = typeof value === "string";
35179
35570
  const currentValue = isControlled ? value : uncontrolledValue;
35180
35571
  const hasValue = currentValue.length > 0;
35181
35572
  const visualState = resolveVisualState2({ disabled, error, focused, hasValue });
35182
35573
  const chrome = chromeFor2(visualState);
35183
35574
  const resolvedAccessibilityLabel = accessibilityLabel ?? (showLabel ? void 0 : label);
35575
+ const focusInput = () => {
35576
+ if (disabled) return;
35577
+ inputRef.current?.focus();
35578
+ };
35184
35579
  useApplyWebClassName(rootRef, className);
35185
35580
  useApplyWebClassName(inputRef, inputClassName);
35186
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles28.root, disabled && styles28.disabled, style], children: [
35187
- showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles28.label, { color: chrome.labelColor }], children: label }) : null,
35581
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ref: rootRef, style: [styles30.root, disabled && styles30.disabled, style], children: [
35582
+ showLabel && label ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { disabled, onPress: focusInput, style: styles30.labelPressable, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles30.label, { color: chrome.labelColor }], children: label }) }) : null,
35188
35583
  /* @__PURE__ */ jsxRuntime.jsx(
35189
- reactNative.View,
35584
+ reactNative.Pressable,
35190
35585
  {
35586
+ accessibilityRole: "none",
35587
+ disabled,
35588
+ onPress: focusInput,
35191
35589
  style: [
35192
- styles28.field,
35590
+ styles30.field,
35193
35591
  {
35194
35592
  borderColor: chrome.borderColor,
35195
35593
  backgroundColor: chrome.backgroundColor
35196
35594
  },
35595
+ reactNative.Platform.OS === "web" ? styles30.fieldWeb : null,
35197
35596
  fieldStyle
35198
35597
  ],
35199
35598
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -35201,6 +35600,7 @@ var Textarea = react.forwardRef(function Textarea2({
35201
35600
  {
35202
35601
  ref: setInputRef,
35203
35602
  ...textInputProps,
35603
+ nativeID: inputDomId,
35204
35604
  multiline: true,
35205
35605
  textAlignVertical: "top",
35206
35606
  value: isControlled ? value : void 0,
@@ -35221,11 +35621,11 @@ var Textarea = react.forwardRef(function Textarea2({
35221
35621
  onBlur?.(event);
35222
35622
  },
35223
35623
  style: [
35224
- styles28.input,
35624
+ styles30.input,
35225
35625
  textareaTypography.field,
35226
35626
  { color: chrome.textColor },
35227
- reactNative.Platform.OS === "web" ? styles28.inputWeb : null,
35228
- reactNative.Platform.OS === "android" ? styles28.inputAndroid : null,
35627
+ reactNative.Platform.OS === "web" ? styles30.inputWeb : null,
35628
+ reactNative.Platform.OS === "android" ? styles30.inputAndroid : null,
35229
35629
  inputStyle
35230
35630
  ],
35231
35631
  accessibilityLabel: resolvedAccessibilityLabel,
@@ -35234,10 +35634,10 @@ var Textarea = react.forwardRef(function Textarea2({
35234
35634
  )
35235
35635
  }
35236
35636
  ),
35237
- showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles28.hint, { color: chrome.hintColor }], children: hint }) : null
35637
+ showHint && hint ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles30.hint, { color: chrome.hintColor }], children: hint }) : null
35238
35638
  ] });
35239
35639
  });
35240
- var styles28 = reactNative.StyleSheet.create({
35640
+ var styles30 = reactNative.StyleSheet.create({
35241
35641
  root: {
35242
35642
  width: DEFAULT_WIDTH4,
35243
35643
  gap: 8,
@@ -35246,6 +35646,9 @@ var styles28 = reactNative.StyleSheet.create({
35246
35646
  disabled: {
35247
35647
  opacity: 0.6
35248
35648
  },
35649
+ labelPressable: {
35650
+ alignSelf: "flex-start"
35651
+ },
35249
35652
  label: {
35250
35653
  ...textareaTypography.label
35251
35654
  },
@@ -35258,14 +35661,21 @@ var styles28 = reactNative.StyleSheet.create({
35258
35661
  paddingLeft: FIELD_PADDING_HORIZONTAL,
35259
35662
  paddingRight: FIELD_PADDING_HORIZONTAL
35260
35663
  },
35664
+ fieldWeb: {
35665
+ cursor: "text"
35666
+ },
35261
35667
  input: {
35262
35668
  flex: 1,
35669
+ alignSelf: "stretch",
35263
35670
  paddingVertical: 0,
35264
35671
  margin: 0
35265
35672
  },
35266
35673
  inputWeb: {
35267
35674
  outlineStyle: "none",
35268
- resize: "none"
35675
+ resize: "none",
35676
+ height: "100%",
35677
+ minWidth: 0,
35678
+ cursor: "text"
35269
35679
  },
35270
35680
  inputAndroid: {
35271
35681
  includeFontPadding: false
@@ -35337,13 +35747,13 @@ var Toggle = react.forwardRef(function Toggle2({
35337
35747
  accessibilityRole: "switch",
35338
35748
  accessibilityLabel: resolvedAccessibilityLabel,
35339
35749
  accessibilityState: { checked: isActive, disabled },
35340
- style: [styles29.pressable, disabled && styles29.disabled, style],
35750
+ style: [styles31.pressable, disabled && styles31.disabled, style],
35341
35751
  children: [
35342
35752
  /* @__PURE__ */ jsxRuntime.jsx(
35343
35753
  reactNative.Animated.View,
35344
35754
  {
35345
35755
  style: [
35346
- styles29.track,
35756
+ styles31.track,
35347
35757
  {
35348
35758
  backgroundColor: trackBackgroundColor
35349
35759
  }
@@ -35352,7 +35762,7 @@ var Toggle = react.forwardRef(function Toggle2({
35352
35762
  reactNative.Animated.View,
35353
35763
  {
35354
35764
  style: [
35355
- styles29.thumb,
35765
+ styles31.thumb,
35356
35766
  {
35357
35767
  transform: [{ translateX: thumbTranslateX }]
35358
35768
  }
@@ -35361,12 +35771,12 @@ var Toggle = react.forwardRef(function Toggle2({
35361
35771
  )
35362
35772
  }
35363
35773
  ),
35364
- labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles29.label, labelStyle], children: labelContent }) : labelContent : null
35774
+ labelContent != null && labelContent !== false ? typeof labelContent === "string" || typeof labelContent === "number" ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: [styles31.label, labelStyle], children: labelContent }) : labelContent : null
35365
35775
  ]
35366
35776
  }
35367
35777
  );
35368
35778
  });
35369
- var styles29 = reactNative.StyleSheet.create({
35779
+ var styles31 = reactNative.StyleSheet.create({
35370
35780
  pressable: {
35371
35781
  flexDirection: "row",
35372
35782
  alignItems: "center",
@@ -35419,13 +35829,13 @@ var ToggleRow = react.forwardRef(function ToggleRow2({
35419
35829
  ...rest,
35420
35830
  ref: setContainerRef,
35421
35831
  style: [
35422
- styles30.root,
35832
+ styles32.root,
35423
35833
  {
35424
35834
  minHeight: isDesktop ? 65 : 57,
35425
35835
  paddingTop: isDesktop ? 20 : 16,
35426
35836
  paddingBottom: isDesktop ? 20 : 16
35427
35837
  },
35428
- !showBorder && styles30.noBorder,
35838
+ !showBorder && styles32.noBorder,
35429
35839
  style
35430
35840
  ],
35431
35841
  children: [
@@ -35433,7 +35843,7 @@ var ToggleRow = react.forwardRef(function ToggleRow2({
35433
35843
  reactNative.Text,
35434
35844
  {
35435
35845
  style: [
35436
- styles30.label,
35846
+ styles32.label,
35437
35847
  {
35438
35848
  fontSize: labelSize,
35439
35849
  lineHeight: isDesktop ? 20 : 18,
@@ -35458,7 +35868,7 @@ var ToggleRow = react.forwardRef(function ToggleRow2({
35458
35868
  }
35459
35869
  );
35460
35870
  });
35461
- var styles30 = reactNative.StyleSheet.create({
35871
+ var styles32 = reactNative.StyleSheet.create({
35462
35872
  root: {
35463
35873
  width: "100%",
35464
35874
  flexDirection: "row",
@@ -35530,21 +35940,21 @@ var RatingInput = react.forwardRef(
35530
35940
  {
35531
35941
  ...rest,
35532
35942
  ref: setContainerRef,
35533
- style: [styles31.root, disabled && styles31.disabled, style],
35943
+ style: [styles33.root, disabled && styles33.disabled, style],
35534
35944
  children: [
35535
- showValue ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: [styles31.value, valueStyle], children: selectedValue.toFixed(precision) }) : null,
35945
+ showValue ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: [styles33.value, valueStyle], children: selectedValue.toFixed(precision) }) : null,
35536
35946
  /* @__PURE__ */ jsxRuntime.jsx(
35537
35947
  reactNative.View,
35538
35948
  {
35539
35949
  accessibilityRole: readOnly ? "image" : "radiogroup",
35540
35950
  accessibilityLabel: resolvedAccessibilityLabel,
35541
35951
  accessibilityState: { disabled },
35542
- style: [styles31.stars, { gap: resolvedStarGap }],
35952
+ style: [styles33.stars, { gap: resolvedStarGap }],
35543
35953
  children: Array.from({ length: STAR_COUNT }, (_, index) => {
35544
35954
  const starValue = index + 1;
35545
35955
  const isSelected = starValue <= selectedStarCount;
35546
35956
  const icon = isSelected ? /* @__PURE__ */ jsxRuntime.jsx(StarFilledIcon, { size: iconWidth, height: iconHeight }) : /* @__PURE__ */ jsxRuntime.jsx(StarIcon, { size: iconWidth, height: iconHeight });
35547
- const itemStyle = [styles31.starItem, { width: size, height: size }];
35957
+ const itemStyle = [styles33.starItem, { width: size, height: size }];
35548
35958
  if (readOnly) {
35549
35959
  return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: itemStyle, children: icon }, starValue);
35550
35960
  }
@@ -35570,7 +35980,7 @@ var RatingInput = react.forwardRef(
35570
35980
  );
35571
35981
  }
35572
35982
  );
35573
- var styles31 = reactNative.StyleSheet.create({
35983
+ var styles33 = reactNative.StyleSheet.create({
35574
35984
  root: {
35575
35985
  flexDirection: "row",
35576
35986
  alignItems: "center",
@@ -35634,19 +36044,19 @@ var CommentCard = react.forwardRef(
35634
36044
  setExpanded(next);
35635
36045
  onExpandedChange?.(next);
35636
36046
  };
35637
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles32.root, style], children: [
35638
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles32.header, children: [
35639
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles32.avatar, children: hasImage ? /* @__PURE__ */ jsxRuntime.jsx(
36047
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { ...rest, ref: setContainerRef, style: [styles34.root, style], children: [
36048
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles34.header, children: [
36049
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles34.avatar, children: hasImage ? /* @__PURE__ */ jsxRuntime.jsx(
35640
36050
  reactNative.Image,
35641
36051
  {
35642
36052
  source: { uri: imageUrl ?? void 0 },
35643
- style: styles32.avatarImage,
36053
+ style: styles34.avatarImage,
35644
36054
  onError: () => setImageFailed(true)
35645
36055
  }
35646
36056
  ) : /* @__PURE__ */ jsxRuntime.jsx(UserIcon, { size: 20, color: colors.primary }) }),
35647
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles32.identity, children: [
35648
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles32.name, children: userName }),
35649
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles32.date, children: date })
36057
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles34.identity, children: [
36058
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles34.name, children: userName }),
36059
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { numberOfLines: 1, style: styles34.date, children: date })
35650
36060
  ] }),
35651
36061
  /* @__PURE__ */ jsxRuntime.jsx(RatingInput, { value: rating, readOnly: true, showValue: false, size: 16 })
35652
36062
  ] }),
@@ -35654,7 +36064,7 @@ var CommentCard = react.forwardRef(
35654
36064
  reactNative.Text,
35655
36065
  {
35656
36066
  numberOfLines: expanded ? void 0 : maxCommentLines,
35657
- style: [styles32.comment, commentStyle],
36067
+ style: [styles34.comment, commentStyle],
35658
36068
  children: commentText
35659
36069
  }
35660
36070
  ),
@@ -35667,14 +36077,14 @@ var CommentCard = react.forwardRef(
35667
36077
  hitSlop: 6,
35668
36078
  onHoverIn: () => setActionHovered(true),
35669
36079
  onHoverOut: () => setActionHovered(false),
35670
- style: styles32.action,
36080
+ style: styles34.action,
35671
36081
  children: /* @__PURE__ */ jsxRuntime.jsx(
35672
36082
  reactNative.Text,
35673
36083
  {
35674
36084
  style: [
35675
- styles32.actionText,
35676
- expanded && styles32.closeActionText,
35677
- actionHovered && (expanded ? styles32.closeActionTextHovered : styles32.openActionTextHovered)
36085
+ styles34.actionText,
36086
+ expanded && styles34.closeActionText,
36087
+ actionHovered && (expanded ? styles34.closeActionTextHovered : styles34.openActionTextHovered)
35678
36088
  ],
35679
36089
  children: expanded ? readLessLabel : readMoreLabel
35680
36090
  }
@@ -35684,7 +36094,7 @@ var CommentCard = react.forwardRef(
35684
36094
  ] });
35685
36095
  }
35686
36096
  );
35687
- var styles32 = reactNative.StyleSheet.create({
36097
+ var styles34 = reactNative.StyleSheet.create({
35688
36098
  root: {
35689
36099
  width: CARD_WIDTH2,
35690
36100
  minHeight: CARD_MIN_HEIGHT,
@@ -36123,7 +36533,7 @@ var Range = react.forwardRef(function Range2({
36123
36533
  ...rest,
36124
36534
  ref: setRootRef,
36125
36535
  onLayout,
36126
- style: [styles33.root, disabled && styles33.disabled, style],
36536
+ style: [styles35.root, disabled && styles35.disabled, style],
36127
36537
  children: [
36128
36538
  /* @__PURE__ */ jsxRuntime.jsxs(
36129
36539
  reactNative.Pressable,
@@ -36137,16 +36547,16 @@ var Range = react.forwardRef(function Range2({
36137
36547
  updateNearestFromTrack(event.nativeEvent.offsetX);
36138
36548
  } : void 0,
36139
36549
  onPress: reactNative.Platform.OS === "web" ? void 0 : handleTrackPress,
36140
- style: styles33.sliderPlane,
36550
+ style: styles35.sliderPlane,
36141
36551
  tabIndex: -1,
36142
36552
  children: [
36143
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles33.track }),
36553
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { pointerEvents: "none", style: styles35.track }),
36144
36554
  /* @__PURE__ */ jsxRuntime.jsx(
36145
36555
  reactNative.View,
36146
36556
  {
36147
36557
  pointerEvents: "none",
36148
36558
  style: [
36149
- styles33.activeTrack,
36559
+ styles35.activeTrack,
36150
36560
  {
36151
36561
  left: TRACK_HORIZONTAL_INSET + fromOffset,
36152
36562
  width: toOffset - fromOffset + THUMB_SIZE2
@@ -36188,9 +36598,9 @@ var Range = react.forwardRef(function Range2({
36188
36598
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveFrom, updateFromInput),
36189
36599
  pointerEvents: disabled ? "none" : "auto",
36190
36600
  style: [
36191
- styles33.thumb,
36192
- reactNative.Platform.OS === "web" && styles33.thumbWeb,
36193
- focusedThumb === "from" && reactNative.Platform.OS === "web" && styles33.thumbFocusedWeb,
36601
+ styles35.thumb,
36602
+ reactNative.Platform.OS === "web" && styles35.thumbWeb,
36603
+ focusedThumb === "from" && reactNative.Platform.OS === "web" && styles35.thumbFocusedWeb,
36194
36604
  { left: TRACK_HORIZONTAL_INSET + fromOffset }
36195
36605
  ],
36196
36606
  tabIndex: disabled ? -1 : 0
@@ -36230,9 +36640,9 @@ var Range = react.forwardRef(function Range2({
36230
36640
  onAccessibilityAction: (event) => handleAccessibilityAction(event, effectiveTo, updateToInput),
36231
36641
  pointerEvents: disabled ? "none" : "auto",
36232
36642
  style: [
36233
- styles33.thumb,
36234
- reactNative.Platform.OS === "web" && styles33.thumbWeb,
36235
- focusedThumb === "to" && reactNative.Platform.OS === "web" && styles33.thumbFocusedWeb,
36643
+ styles35.thumb,
36644
+ reactNative.Platform.OS === "web" && styles35.thumbWeb,
36645
+ focusedThumb === "to" && reactNative.Platform.OS === "web" && styles35.thumbFocusedWeb,
36236
36646
  { left: TRACK_HORIZONTAL_INSET + toOffset }
36237
36647
  ],
36238
36648
  tabIndex: disabled ? -1 : 0
@@ -36241,7 +36651,7 @@ var Range = react.forwardRef(function Range2({
36241
36651
  ]
36242
36652
  }
36243
36653
  ),
36244
- /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles33.inputs, children: [
36654
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles35.inputs, children: [
36245
36655
  /* @__PURE__ */ jsxRuntime.jsx(
36246
36656
  RangeInput,
36247
36657
  {
@@ -36292,7 +36702,7 @@ function RangeInput({
36292
36702
  placeholder,
36293
36703
  value
36294
36704
  }) {
36295
- return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles33.inputField, focused && styles33.inputFieldFocused], children: [
36705
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: [styles35.inputField, focused && styles35.inputFieldFocused], children: [
36296
36706
  /* @__PURE__ */ jsxRuntime.jsx(
36297
36707
  reactNative.TextInput,
36298
36708
  {
@@ -36308,15 +36718,15 @@ function RangeInput({
36308
36718
  placeholder,
36309
36719
  placeholderTextColor: colors.grey150,
36310
36720
  returnKeyType: "done",
36311
- style: [styles33.input, reactNative.Platform.OS === "web" && styles33.inputWeb],
36721
+ style: [styles35.input, reactNative.Platform.OS === "web" && styles35.inputWeb],
36312
36722
  tabIndex: disabled ? -1 : void 0,
36313
36723
  value
36314
36724
  }
36315
36725
  ),
36316
- /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles33.currencySlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles33.currency, children: currency }) })
36726
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles35.currencySlot, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { style: styles35.currency, children: currency }) })
36317
36727
  ] });
36318
36728
  }
36319
- var styles33 = reactNative.StyleSheet.create({
36729
+ var styles35 = reactNative.StyleSheet.create({
36320
36730
  root: {
36321
36731
  width: DEFAULT_WIDTH5,
36322
36732
  gap: 15,
@@ -36582,6 +36992,8 @@ exports.HelpCircleIcon = HelpCircleIcon;
36582
36992
  exports.HideIcon = HideIcon;
36583
36993
  exports.HomeIcon = HomeIcon;
36584
36994
  exports.Icon = Icon;
36995
+ exports.IconStatusBadge = IconStatusBadge;
36996
+ exports.InfoCardV2 = InfoCardV2;
36585
36997
  exports.InfoTile = InfoTile;
36586
36998
  exports.Input = Input;
36587
36999
  exports.InstagramIcon = InstagramIcon;
@@ -36603,6 +37015,7 @@ exports.MenuItem = MenuItem;
36603
37015
  exports.MenuLinesIcon = MenuLinesIcon;
36604
37016
  exports.MinusIcon = MinusIcon;
36605
37017
  exports.Modal = Modal;
37018
+ exports.MoreHorizontalIcon = MoreHorizontalIcon;
36606
37019
  exports.NavigateIcon = NavigateIcon;
36607
37020
  exports.NoSmokingIcon = NoSmokingIcon;
36608
37021
  exports.PaginationDots = PaginationDots;
@@ -36632,6 +37045,7 @@ exports.StatCard = StatCard;
36632
37045
  exports.StatusBadge = StatusBadge;
36633
37046
  exports.StepList = StepList;
36634
37047
  exports.StepPager = StepPager;
37048
+ exports.TableViewIcon = TableViewIcon;
36635
37049
  exports.Textarea = Textarea;
36636
37050
  exports.Toggle = Toggle;
36637
37051
  exports.ToggleRow = ToggleRow;