@xaui/native 0.0.12 → 0.0.13

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 (38) hide show
  1. package/README.md +8 -1
  2. package/dist/accordion/index.cjs +7 -2
  3. package/dist/accordion/index.js +7 -2
  4. package/dist/alert/index.cjs +25 -188
  5. package/dist/alert/index.js +1 -2
  6. package/dist/autocomplete/index.cjs +106 -403
  7. package/dist/autocomplete/index.js +1 -3
  8. package/dist/button/index.cjs +126 -4
  9. package/dist/button/index.d.cts +63 -1
  10. package/dist/button/index.d.ts +63 -1
  11. package/dist/button/index.js +117 -3
  12. package/dist/checkbox/index.cjs +5 -1
  13. package/dist/checkbox/index.js +5 -1
  14. package/dist/{chunk-OFYJYQ2M.js → chunk-2T6FKPJW.js} +1 -3
  15. package/dist/{chunk-LM23DOX3.js → chunk-7OFTYKK4.js} +13 -33
  16. package/dist/{chunk-63LRW4QD.js → chunk-MKHBEJLO.js} +8 -1
  17. package/dist/{chunk-RL47NQAU.js → chunk-NMZUPH3R.js} +7 -12
  18. package/dist/datepicker/index.cjs +115 -836
  19. package/dist/datepicker/index.js +1 -3
  20. package/dist/index.cjs +362 -1170
  21. package/dist/index.js +4 -6
  22. package/dist/indicator/index.cjs +8 -1
  23. package/dist/indicator/index.js +1 -1
  24. package/dist/menu/index.cjs +371 -0
  25. package/dist/menu/index.d.cts +107 -0
  26. package/dist/menu/index.d.ts +107 -0
  27. package/dist/menu/index.js +304 -0
  28. package/dist/select/index.cjs +40 -16
  29. package/dist/select/index.js +40 -16
  30. package/dist/view/index.cjs +12 -7
  31. package/dist/view/index.js +12 -7
  32. package/package.json +7 -6
  33. package/dist/chunk-CKGZOJVV.js +0 -815
  34. package/dist/chunk-SIXET7TJ.js +0 -172
  35. package/dist/icon/index.cjs +0 -1054
  36. package/dist/icon/index.d.cts +0 -42
  37. package/dist/icon/index.d.ts +0 -42
  38. package/dist/icon/index.js +0 -21
package/dist/index.cjs CHANGED
@@ -257,7 +257,14 @@ var CircularActivityIndicator = ({
257
257
  borderWidth: strokeWidth,
258
258
  borderRadius: size / 2
259
259
  };
260
- return /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { key: index, style: [styles.layer] }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: layerStyle }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: [containerStyle, offsetStyle], collapsable: false }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: viewportStyle }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: containerStyle, collapsable: false }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: lineStyle }))))));
260
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { key: index, style: [styles.layer] }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: layerStyle }, /* @__PURE__ */ import_react6.default.createElement(
261
+ import_react_native5.Animated.View,
262
+ {
263
+ style: [containerStyle, offsetStyle],
264
+ collapsable: false
265
+ },
266
+ /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: viewportStyle }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: containerStyle, collapsable: false }, /* @__PURE__ */ import_react6.default.createElement(import_react_native5.Animated.View, { style: lineStyle })))
267
+ )));
261
268
  })
262
269
  ));
263
270
  };
@@ -1010,8 +1017,8 @@ var Badge = ({
1010
1017
  };
1011
1018
 
1012
1019
  // src/components/alert/alert.tsx
1013
- var import_react20 = __toESM(require("react"), 1);
1014
- var import_react_native17 = require("react-native");
1020
+ var import_react19 = __toESM(require("react"), 1);
1021
+ var import_react_native16 = require("react-native");
1015
1022
  var import_react_native_reanimated3 = __toESM(require("react-native-reanimated"), 1);
1016
1023
 
1017
1024
  // src/components/alert/alert.style.ts
@@ -1197,171 +1204,8 @@ function DangerIcon({ color, size }) {
1197
1204
  ));
1198
1205
  }
1199
1206
 
1200
- // src/components/icon/icons/close.tsx
1201
- var import_react19 = __toESM(require("react"), 1);
1202
- var import_react_native16 = require("react-native");
1203
- var import_react_native_svg2 = __toESM(require("react-native-svg"), 1);
1204
-
1205
- // src/components/icon/icon.utils.ts
1206
- var isThemeColor = (color) => {
1207
- const themeColors = [
1208
- "primary",
1209
- "secondary",
1210
- "tertiary",
1211
- "danger",
1212
- "warning",
1213
- "success",
1214
- "default"
1215
- ];
1216
- return themeColors.includes(color);
1217
- };
1218
-
1219
- // src/components/icon/icons/close.tsx
1220
- var AnimatedPath = import_react_native16.Animated.createAnimatedComponent(import_react_native_svg2.Path);
1221
- var CloseIcon = ({
1222
- variant = "baseline",
1223
- size = 24,
1224
- color = "default",
1225
- isAnimated = false
1226
- }) => {
1227
- const theme = useXUITheme();
1228
- const scaleAnim = (0, import_react19.useRef)(new import_react_native16.Animated.Value(isAnimated ? 0 : 1)).current;
1229
- const opacityAnim = (0, import_react19.useRef)(new import_react_native16.Animated.Value(isAnimated ? 0 : 1)).current;
1230
- const resolvedColor = (0, import_react19.useMemo)(() => {
1231
- if (typeof color === "string" && isThemeColor(color)) {
1232
- return theme.colors[color].main;
1233
- }
1234
- return color;
1235
- }, [color, theme]);
1236
- (0, import_react19.useEffect)(() => {
1237
- if (isAnimated) {
1238
- import_react_native16.Animated.parallel([
1239
- import_react_native16.Animated.spring(scaleAnim, {
1240
- toValue: 1,
1241
- useNativeDriver: true,
1242
- tension: 50,
1243
- friction: 7
1244
- }),
1245
- import_react_native16.Animated.timing(opacityAnim, {
1246
- toValue: 1,
1247
- duration: 200,
1248
- useNativeDriver: true
1249
- })
1250
- ]).start();
1251
- }
1252
- }, [isAnimated, scaleAnim, opacityAnim]);
1253
- const animatedProps = isAnimated ? {
1254
- transform: [{ scale: scaleAnim }],
1255
- opacity: opacityAnim
1256
- } : void 0;
1257
- const renderBaseline = () => /* @__PURE__ */ import_react19.default.createElement(
1258
- AnimatedPath,
1259
- {
1260
- fill: resolvedColor,
1261
- d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
1262
- ...animatedProps
1263
- }
1264
- );
1265
- const renderFilled = () => /* @__PURE__ */ import_react19.default.createElement(
1266
- AnimatedPath,
1267
- {
1268
- fill: resolvedColor,
1269
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 1 1-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 0 1-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0 1 22.62-22.62L256 233.37l52.69-52.68a16 16 0 0 1 22.62 22.62L278.63 256z",
1270
- ...animatedProps
1271
- }
1272
- );
1273
- const renderDuotone = () => /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
1274
- import_react_native_svg2.Path,
1275
- {
1276
- fill: resolvedColor,
1277
- opacity: 0.3,
1278
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
1279
- }
1280
- ), /* @__PURE__ */ import_react19.default.createElement(
1281
- AnimatedPath,
1282
- {
1283
- fill: resolvedColor,
1284
- d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
1285
- ...animatedProps
1286
- }
1287
- ));
1288
- const renderRoundOutlined = () => /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
1289
- import_react_native_svg2.Circle,
1290
- {
1291
- cx: "256",
1292
- cy: "256",
1293
- r: "192",
1294
- fill: "none",
1295
- stroke: resolvedColor,
1296
- strokeWidth: 32
1297
- }
1298
- ), /* @__PURE__ */ import_react19.default.createElement(
1299
- AnimatedPath,
1300
- {
1301
- fill: resolvedColor,
1302
- d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
1303
- ...animatedProps
1304
- }
1305
- ));
1306
- const renderSquareOutlined = () => /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
1307
- import_react_native_svg2.Rect,
1308
- {
1309
- x: "64",
1310
- y: "64",
1311
- width: "384",
1312
- height: "384",
1313
- rx: "48",
1314
- fill: "none",
1315
- stroke: resolvedColor,
1316
- strokeWidth: 32
1317
- }
1318
- ), /* @__PURE__ */ import_react19.default.createElement(
1319
- AnimatedPath,
1320
- {
1321
- fill: resolvedColor,
1322
- d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
1323
- ...animatedProps
1324
- }
1325
- ));
1326
- const renderRoundFilled = () => /* @__PURE__ */ import_react19.default.createElement(
1327
- AnimatedPath,
1328
- {
1329
- fill: resolvedColor,
1330
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 1 1-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 0 1-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0 1 22.62-22.62L256 233.37l52.69-52.68a16 16 0 0 1 22.62 22.62L278.63 256z",
1331
- ...animatedProps
1332
- }
1333
- );
1334
- const renderSquareFilled = () => /* @__PURE__ */ import_react19.default.createElement(
1335
- AnimatedPath,
1336
- {
1337
- fill: resolvedColor,
1338
- d: "M400 64H112a48 48 0 0 0-48 48v288a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V112a48 48 0 0 0-48-48zm-59.31 244.69a16 16 0 1 1-22.62 22.62L256 278.63l-62.07 52.68a16 16 0 0 1-22.62-22.62L223.37 256l-52.06-52.69a16 16 0 0 1 22.62-22.62L256 233.37l62.07-52.68a16 16 0 0 1 22.62 22.62L288.63 256z",
1339
- ...animatedProps
1340
- }
1341
- );
1342
- const renderVariant = () => {
1343
- switch (variant) {
1344
- case "filled":
1345
- return renderFilled();
1346
- case "duotone":
1347
- return renderDuotone();
1348
- case "round-outlined":
1349
- return renderRoundOutlined();
1350
- case "square-outlined":
1351
- return renderSquareOutlined();
1352
- case "round-filled":
1353
- return renderRoundFilled();
1354
- case "square-filled":
1355
- return renderSquareFilled();
1356
- case "baseline":
1357
- default:
1358
- return renderBaseline();
1359
- }
1360
- };
1361
- return /* @__PURE__ */ import_react19.default.createElement(import_react_native_svg2.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
1362
- };
1363
-
1364
1207
  // src/components/alert/alert.tsx
1208
+ var import_icons = require("@xaui/icons");
1365
1209
  var iconMap = {
1366
1210
  default: InfoIcon,
1367
1211
  primary: InfoIcon,
@@ -1387,8 +1231,8 @@ var Alert = ({
1387
1231
  onClose,
1388
1232
  onVisibleChange
1389
1233
  }) => {
1390
- const [internalVisible, setInternalVisible] = (0, import_react20.useState)(isVisible ?? true);
1391
- const [shouldRender, setShouldRender] = (0, import_react20.useState)(isVisible ?? true);
1234
+ const [internalVisible, setInternalVisible] = (0, import_react19.useState)(isVisible ?? true);
1235
+ const [shouldRender, setShouldRender] = (0, import_react19.useState)(isVisible ?? true);
1392
1236
  const isControlled = typeof isVisible === "boolean";
1393
1237
  const visible = isControlled ? isVisible : internalVisible;
1394
1238
  const opacity = (0, import_react_native_reanimated3.useSharedValue)(1);
@@ -1397,7 +1241,7 @@ var Alert = ({
1397
1241
  const containerStyles = useAlertContainerStyles(themeColor, variant);
1398
1242
  const iconWrapperStyles = useAlertIconWrapperStyles(themeColor, variant);
1399
1243
  const { titleStyles, descriptionStyles, iconColor, closeButtonColor } = useAlertTextStyles(themeColor, variant);
1400
- const finishClosing = (0, import_react20.useCallback)(() => {
1244
+ const finishClosing = (0, import_react19.useCallback)(() => {
1401
1245
  setShouldRender(false);
1402
1246
  if (!isControlled) {
1403
1247
  setInternalVisible(false);
@@ -1405,7 +1249,7 @@ var Alert = ({
1405
1249
  onVisibleChange?.(false);
1406
1250
  onClose?.();
1407
1251
  }, [isControlled, onClose, onVisibleChange]);
1408
- const handleClose = (0, import_react20.useCallback)(() => {
1252
+ const handleClose = (0, import_react19.useCallback)(() => {
1409
1253
  if (!visible) return;
1410
1254
  opacity.value = (0, import_react_native_reanimated3.withTiming)(0, { duration: 250 });
1411
1255
  scale.value = (0, import_react_native_reanimated3.withTiming)(0.95, { duration: 250 }, (finished) => {
@@ -1414,7 +1258,7 @@ var Alert = ({
1414
1258
  }
1415
1259
  });
1416
1260
  }, [finishClosing, opacity, scale, visible]);
1417
- (0, import_react20.useEffect)(() => {
1261
+ (0, import_react19.useEffect)(() => {
1418
1262
  if (visible && !shouldRender) {
1419
1263
  setShouldRender(true);
1420
1264
  opacity.value = 0;
@@ -1435,19 +1279,19 @@ var Alert = ({
1435
1279
  const shouldShowClose = Boolean(closeButton || isClosable || onClose);
1436
1280
  const renderIcon = () => {
1437
1281
  if (hideIcon) return null;
1438
- if (icon && (0, import_react20.isValidElement)(icon)) {
1439
- return (0, import_react20.cloneElement)(icon, { color: iconColor, size: 22 });
1282
+ if (icon && (0, import_react19.isValidElement)(icon)) {
1283
+ return (0, import_react19.cloneElement)(icon, { color: iconColor, size: 22 });
1440
1284
  }
1441
1285
  if (icon) {
1442
- return /* @__PURE__ */ import_react20.default.createElement(import_react_native17.Text, { style: [styles5.iconText, { color: iconColor }] }, icon);
1286
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_native16.Text, { style: [styles5.iconText, { color: iconColor }] }, icon);
1443
1287
  }
1444
- return /* @__PURE__ */ import_react20.default.createElement(IconComponent, { color: iconColor, size: 22 });
1288
+ return /* @__PURE__ */ import_react19.default.createElement(IconComponent, { color: iconColor, size: 22 });
1445
1289
  };
1446
1290
  const renderContentText = (content) => {
1447
1291
  if (content === null || content === void 0) return null;
1448
1292
  if (typeof content === "string" || typeof content === "number") {
1449
- return /* @__PURE__ */ import_react20.default.createElement(
1450
- import_react_native17.Text,
1293
+ return /* @__PURE__ */ import_react19.default.createElement(
1294
+ import_react_native16.Text,
1451
1295
  {
1452
1296
  style: [
1453
1297
  styles5.description,
@@ -1460,20 +1304,20 @@ var Alert = ({
1460
1304
  }
1461
1305
  return content;
1462
1306
  };
1463
- const titleNode = (0, import_react20.useMemo)(() => {
1307
+ const titleNode = (0, import_react19.useMemo)(() => {
1464
1308
  if (title === null || title === void 0) return null;
1465
1309
  if (typeof title === "string" || typeof title === "number") {
1466
- return /* @__PURE__ */ import_react20.default.createElement(import_react_native17.Text, { style: [styles5.title, titleStyles, customAppearance?.title] }, title);
1310
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_native16.Text, { style: [styles5.title, titleStyles, customAppearance?.title] }, title);
1467
1311
  }
1468
1312
  return title;
1469
1313
  }, [title, customAppearance?.title, titleStyles]);
1470
1314
  const descriptionNode = renderContentText(description);
1471
1315
  const childrenNode = renderContentText(children);
1472
- const closeButtonNode = (0, import_react20.useMemo)(() => {
1316
+ const closeButtonNode = (0, import_react19.useMemo)(() => {
1473
1317
  if (!closeButton) return null;
1474
- if (!(0, import_react20.isValidElement)(closeButton)) return closeButton;
1318
+ if (!(0, import_react19.isValidElement)(closeButton)) return closeButton;
1475
1319
  const existingOnPress = closeButton.props.onPress;
1476
- return (0, import_react20.cloneElement)(closeButton, {
1320
+ return (0, import_react19.cloneElement)(closeButton, {
1477
1321
  onPress: (event) => {
1478
1322
  existingOnPress?.(event);
1479
1323
  handleClose();
@@ -1481,7 +1325,7 @@ var Alert = ({
1481
1325
  });
1482
1326
  }, [closeButton, handleClose]);
1483
1327
  if (!shouldRender) return null;
1484
- return /* @__PURE__ */ import_react20.default.createElement(
1328
+ return /* @__PURE__ */ import_react19.default.createElement(
1485
1329
  import_react_native_reanimated3.default.View,
1486
1330
  {
1487
1331
  accessibilityRole: "alert",
@@ -1493,46 +1337,46 @@ var Alert = ({
1493
1337
  animatedStyle
1494
1338
  ]
1495
1339
  },
1496
- !hideIcon && /* @__PURE__ */ import_react20.default.createElement(import_react_native17.View, { style: [styles5.iconWrapper, iconWrapperStyles] }, renderIcon()),
1497
- /* @__PURE__ */ import_react20.default.createElement(import_react_native17.View, { style: styles5.mainWrapper }, titleNode, descriptionNode, childrenNode && /* @__PURE__ */ import_react20.default.createElement(import_react_native17.View, { style: styles5.extraContent }, childrenNode)),
1498
- shouldShowClose && /* @__PURE__ */ import_react20.default.createElement(import_react_native17.View, null, closeButtonNode ?? /* @__PURE__ */ import_react20.default.createElement(
1499
- import_react_native17.Pressable,
1340
+ !hideIcon && /* @__PURE__ */ import_react19.default.createElement(import_react_native16.View, { style: [styles5.iconWrapper, iconWrapperStyles] }, renderIcon()),
1341
+ /* @__PURE__ */ import_react19.default.createElement(import_react_native16.View, { style: styles5.mainWrapper }, titleNode, descriptionNode, childrenNode && /* @__PURE__ */ import_react19.default.createElement(import_react_native16.View, { style: styles5.extraContent }, childrenNode)),
1342
+ shouldShowClose && /* @__PURE__ */ import_react19.default.createElement(import_react_native16.View, null, closeButtonNode ?? /* @__PURE__ */ import_react19.default.createElement(
1343
+ import_react_native16.Pressable,
1500
1344
  {
1501
1345
  accessibilityRole: "button",
1502
1346
  accessibilityLabel: "Close",
1503
1347
  onPress: handleClose,
1504
1348
  style: styles5.closeButton
1505
1349
  },
1506
- /* @__PURE__ */ import_react20.default.createElement(CloseIcon, { size: 20, color: closeButtonColor })
1350
+ /* @__PURE__ */ import_react19.default.createElement(import_icons.CloseIcon, { size: 20, color: closeButtonColor })
1507
1351
  ))
1508
1352
  );
1509
1353
  };
1510
1354
 
1511
1355
  // src/components/autocomplete/autocomplete.tsx
1512
- var import_react35 = __toESM(require("react"), 1);
1513
- var import_react_native30 = require("react-native");
1356
+ var import_react28 = __toESM(require("react"), 1);
1357
+ var import_react_native23 = require("react-native");
1514
1358
 
1515
1359
  // src/components/autocomplete/autocomplete-context.ts
1516
- var import_react21 = require("react");
1517
- var AutocompleteContext = (0, import_react21.createContext)({
1360
+ var import_react20 = require("react");
1361
+ var AutocompleteContext = (0, import_react20.createContext)({
1518
1362
  size: "md",
1519
1363
  themeColor: "default",
1520
1364
  isDisabled: false
1521
1365
  });
1522
1366
 
1523
1367
  // src/components/autocomplete/autocomplete.hook.ts
1524
- var import_react22 = require("react");
1525
- var import_core15 = require("@xaui/core");
1368
+ var import_react21 = require("react");
1369
+ var import_core14 = require("@xaui/core");
1526
1370
  var import_palette2 = require("@xaui/core/palette");
1527
1371
  var useAutocompleteColorScheme = (themeColor) => {
1528
1372
  const theme = useXUITheme();
1529
- const safeThemeColor = (0, import_core15.getSafeThemeColor)(themeColor);
1373
+ const safeThemeColor = (0, import_core14.getSafeThemeColor)(themeColor);
1530
1374
  const colorScheme = theme.colors[safeThemeColor];
1531
1375
  return { theme, colorScheme };
1532
1376
  };
1533
1377
  var useAutocompleteSizeStyles = (size) => {
1534
1378
  const theme = useXUITheme();
1535
- return (0, import_react22.useMemo)(() => {
1379
+ return (0, import_react21.useMemo)(() => {
1536
1380
  const sizes = {
1537
1381
  xs: {
1538
1382
  minHeight: 34,
@@ -1568,7 +1412,7 @@ var useAutocompleteSizeStyles = (size) => {
1568
1412
  };
1569
1413
  var useAutocompleteRadiusStyles = (radius) => {
1570
1414
  const theme = useXUITheme();
1571
- const radiusStyles = (0, import_react22.useMemo)(() => {
1415
+ const radiusStyles = (0, import_react21.useMemo)(() => {
1572
1416
  const radii = {
1573
1417
  none: theme.borderRadius.none,
1574
1418
  sm: theme.borderRadius.sm,
@@ -1578,7 +1422,7 @@ var useAutocompleteRadiusStyles = (radius) => {
1578
1422
  };
1579
1423
  return { borderRadius: radii[radius] };
1580
1424
  }, [radius, theme]);
1581
- const listboxRadius = (0, import_react22.useMemo)(() => {
1425
+ const listboxRadius = (0, import_react21.useMemo)(() => {
1582
1426
  const radii = {
1583
1427
  none: theme.borderRadius.none,
1584
1428
  sm: theme.borderRadius.sm,
@@ -1592,7 +1436,7 @@ var useAutocompleteRadiusStyles = (radius) => {
1592
1436
  };
1593
1437
  var useAutocompleteVariantStyles = (themeColor, variant, isInvalid) => {
1594
1438
  const { theme, colorScheme } = useAutocompleteColorScheme(themeColor);
1595
- return (0, import_react22.useMemo)(() => {
1439
+ return (0, import_react21.useMemo)(() => {
1596
1440
  let borderColor = isInvalid ? theme.colors.danger.main : colorScheme.main;
1597
1441
  if ((variant === "outlined" || variant === "faded") && themeColor === "default") {
1598
1442
  borderColor = import_palette2.colors.gray[300];
@@ -1627,7 +1471,7 @@ var useAutocompleteVariantStyles = (themeColor, variant, isInvalid) => {
1627
1471
  };
1628
1472
  var useAutocompleteLabelStyle = (themeColor, isInvalid, labelSize) => {
1629
1473
  const { theme, colorScheme } = useAutocompleteColorScheme(themeColor);
1630
- return (0, import_react22.useMemo)(() => {
1474
+ return (0, import_react21.useMemo)(() => {
1631
1475
  let baseColor = theme.colors.foreground;
1632
1476
  if (isInvalid) {
1633
1477
  baseColor = theme.colors.danger.main;
@@ -1642,7 +1486,7 @@ var useAutocompleteLabelStyle = (themeColor, isInvalid, labelSize) => {
1642
1486
  };
1643
1487
  var useAutocompleteHelperColor = (isInvalid) => {
1644
1488
  const theme = useXUITheme();
1645
- return (0, import_react22.useMemo)(() => {
1489
+ return (0, import_react21.useMemo)(() => {
1646
1490
  if (isInvalid) {
1647
1491
  return theme.colors.danger.main;
1648
1492
  }
@@ -1651,8 +1495,8 @@ var useAutocompleteHelperColor = (isInvalid) => {
1651
1495
  };
1652
1496
 
1653
1497
  // src/components/autocomplete/autocomplete.style.ts
1654
- var import_react_native18 = require("react-native");
1655
- var styles6 = import_react_native18.StyleSheet.create({
1498
+ var import_react_native17 = require("react-native");
1499
+ var styles6 = import_react_native17.StyleSheet.create({
1656
1500
  container: {
1657
1501
  gap: 6,
1658
1502
  position: "relative"
@@ -1739,16 +1583,16 @@ var styles6 = import_react_native18.StyleSheet.create({
1739
1583
  });
1740
1584
 
1741
1585
  // src/components/autocomplete/autocomplete.state.hook.ts
1742
- var import_react23 = require("react");
1586
+ var import_react22 = require("react");
1743
1587
  var useAutocompleteOpenState = ({
1744
1588
  isOpened,
1745
1589
  isDisabled,
1746
1590
  onOpenChange,
1747
1591
  onClose
1748
1592
  }) => {
1749
- const [internalIsOpen, setInternalIsOpen] = (0, import_react23.useState)(false);
1593
+ const [internalIsOpen, setInternalIsOpen] = (0, import_react22.useState)(false);
1750
1594
  const isOpen = isOpened !== void 0 ? isOpened : internalIsOpen;
1751
- const setOpen = (0, import_react23.useCallback)(
1595
+ const setOpen = (0, import_react22.useCallback)(
1752
1596
  (open) => {
1753
1597
  if (isDisabled) {
1754
1598
  return;
@@ -1771,9 +1615,11 @@ var useAutocompleteInputState = ({
1771
1615
  selectedKey,
1772
1616
  onInputChange
1773
1617
  }) => {
1774
- const [internalInputValue, setInternalInputValue] = (0, import_react23.useState)(defaultInputValue ?? "");
1618
+ const [internalInputValue, setInternalInputValue] = (0, import_react22.useState)(
1619
+ defaultInputValue ?? ""
1620
+ );
1775
1621
  const currentInputValue = inputValue !== void 0 ? inputValue : internalInputValue;
1776
- const updateInputValue = (0, import_react23.useCallback)(
1622
+ const updateInputValue = (0, import_react22.useCallback)(
1777
1623
  (value) => {
1778
1624
  if (inputValue === void 0) {
1779
1625
  setInternalInputValue(value);
@@ -1782,7 +1628,7 @@ var useAutocompleteInputState = ({
1782
1628
  },
1783
1629
  [inputValue, onInputChange]
1784
1630
  );
1785
- (0, import_react23.useEffect)(() => {
1631
+ (0, import_react22.useEffect)(() => {
1786
1632
  if (selectedKey === null && inputValue === void 0) {
1787
1633
  setInternalInputValue("");
1788
1634
  }
@@ -1792,8 +1638,8 @@ var useAutocompleteInputState = ({
1792
1638
  var useAutocompleteSelection = ({
1793
1639
  onSelectionChange
1794
1640
  }) => {
1795
- const [currentSelectedKey, setCurrentSelectedKey] = (0, import_react23.useState)(null);
1796
- const updateSelection = (0, import_react23.useCallback)(
1641
+ const [currentSelectedKey, setCurrentSelectedKey] = (0, import_react22.useState)(null);
1642
+ const updateSelection = (0, import_react22.useCallback)(
1797
1643
  (key) => {
1798
1644
  setCurrentSelectedKey(key);
1799
1645
  onSelectionChange?.(key);
@@ -1817,15 +1663,15 @@ var defaultFilterFunction = (textValue, inputValue) => {
1817
1663
  };
1818
1664
 
1819
1665
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog.tsx
1820
- var import_react33 = __toESM(require("react"), 1);
1821
- var import_react_native28 = require("react-native");
1666
+ var import_react26 = __toESM(require("react"), 1);
1667
+ var import_react_native21 = require("react-native");
1822
1668
 
1823
1669
  // src/components/select/checkmark-icon.tsx
1824
- var import_react24 = __toESM(require("react"), 1);
1825
- var import_react_native_svg3 = __toESM(require("react-native-svg"), 1);
1670
+ var import_react23 = __toESM(require("react"), 1);
1671
+ var import_react_native_svg2 = __toESM(require("react-native-svg"), 1);
1826
1672
  function CheckmarkIcon({ color, size }) {
1827
- return /* @__PURE__ */ import_react24.default.createElement(import_react_native_svg3.default, { width: size, height: size, viewBox: "0 0 17 18", fill: "none" }, /* @__PURE__ */ import_react24.default.createElement(
1828
- import_react_native_svg3.Polyline,
1673
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_native_svg2.default, { width: size, height: size, viewBox: "0 0 17 18", fill: "none" }, /* @__PURE__ */ import_react23.default.createElement(
1674
+ import_react_native_svg2.Polyline,
1829
1675
  {
1830
1676
  points: "1 9 7 14 15 4",
1831
1677
  stroke: color,
@@ -1837,656 +1683,15 @@ function CheckmarkIcon({ color, size }) {
1837
1683
  }
1838
1684
 
1839
1685
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog-header.tsx
1840
- var import_react31 = __toESM(require("react"), 1);
1841
- var import_react_native26 = require("react-native");
1842
-
1843
- // src/components/icon/icons/arrow-back.tsx
1844
- var import_react25 = __toESM(require("react"), 1);
1686
+ var import_react24 = __toESM(require("react"), 1);
1845
1687
  var import_react_native19 = require("react-native");
1846
- var import_react_native_svg4 = __toESM(require("react-native-svg"), 1);
1847
- var AnimatedPath2 = import_react_native19.Animated.createAnimatedComponent(import_react_native_svg4.Path);
1848
- var ArrowBackIcon = ({
1849
- variant = "baseline",
1850
- size = 24,
1851
- color = "default",
1852
- isAnimated = false
1853
- }) => {
1854
- const theme = useXUITheme();
1855
- const scaleAnim = (0, import_react25.useRef)(new import_react_native19.Animated.Value(isAnimated ? 0 : 1)).current;
1856
- const opacityAnim = (0, import_react25.useRef)(new import_react_native19.Animated.Value(isAnimated ? 0 : 1)).current;
1857
- const resolvedColor = (0, import_react25.useMemo)(() => {
1858
- if (typeof color === "string" && isThemeColor(color)) {
1859
- return theme.colors[color].main;
1860
- }
1861
- return color;
1862
- }, [color, theme]);
1863
- (0, import_react25.useEffect)(() => {
1864
- if (isAnimated) {
1865
- import_react_native19.Animated.parallel([
1866
- import_react_native19.Animated.spring(scaleAnim, {
1867
- toValue: 1,
1868
- useNativeDriver: true,
1869
- tension: 50,
1870
- friction: 7
1871
- }),
1872
- import_react_native19.Animated.timing(opacityAnim, {
1873
- toValue: 1,
1874
- duration: 200,
1875
- useNativeDriver: true
1876
- })
1877
- ]).start();
1878
- }
1879
- }, [isAnimated, scaleAnim, opacityAnim]);
1880
- const animatedProps = isAnimated ? {
1881
- transform: [{ scale: scaleAnim }],
1882
- opacity: opacityAnim
1883
- } : void 0;
1884
- const renderArrow = () => /* @__PURE__ */ import_react25.default.createElement(
1885
- AnimatedPath2,
1886
- {
1887
- fill: "none",
1888
- stroke: resolvedColor,
1889
- strokeLinecap: "round",
1890
- strokeLinejoin: "round",
1891
- strokeWidth: 48,
1892
- d: "M244 400L100 256l144-144M120 256h292",
1893
- ...animatedProps
1894
- }
1895
- );
1896
- const renderDuotone = () => /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(
1897
- import_react_native_svg4.Path,
1898
- {
1899
- fill: resolvedColor,
1900
- opacity: 0.3,
1901
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
1902
- }
1903
- ), renderArrow());
1904
- const renderRoundOutlined = () => /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(
1905
- import_react_native_svg4.Circle,
1906
- {
1907
- cx: "256",
1908
- cy: "256",
1909
- r: "192",
1910
- fill: "none",
1911
- stroke: resolvedColor,
1912
- strokeWidth: 32
1913
- }
1914
- ), renderArrow());
1915
- const renderSquareOutlined = () => /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(
1916
- import_react_native_svg4.Rect,
1917
- {
1918
- x: "64",
1919
- y: "64",
1920
- width: "384",
1921
- height: "384",
1922
- rx: "48",
1923
- fill: "none",
1924
- stroke: resolvedColor,
1925
- strokeWidth: 32
1926
- }
1927
- ), renderArrow());
1928
- const renderVariant = () => {
1929
- switch (variant) {
1930
- case "duotone":
1931
- return renderDuotone();
1932
- case "round-outlined":
1933
- return renderRoundOutlined();
1934
- case "square-outlined":
1935
- return renderSquareOutlined();
1936
- case "filled":
1937
- case "round-filled":
1938
- case "square-filled":
1939
- case "baseline":
1940
- default:
1941
- return renderArrow();
1942
- }
1943
- };
1944
- return /* @__PURE__ */ import_react25.default.createElement(import_react_native_svg4.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
1945
- };
1946
-
1947
- // src/components/icon/icons/calendar.tsx
1948
- var import_react26 = __toESM(require("react"), 1);
1949
- var import_react_native20 = require("react-native");
1950
- var import_react_native_svg5 = __toESM(require("react-native-svg"), 1);
1951
- var AnimatedPath3 = import_react_native20.Animated.createAnimatedComponent(import_react_native_svg5.Path);
1952
- var CalendarIcon = ({
1953
- variant = "baseline",
1954
- size = 24,
1955
- color = "default",
1956
- isAnimated = false
1957
- }) => {
1958
- const theme = useXUITheme();
1959
- const scaleAnim = (0, import_react26.useRef)(new import_react_native20.Animated.Value(isAnimated ? 0 : 1)).current;
1960
- const opacityAnim = (0, import_react26.useRef)(new import_react_native20.Animated.Value(isAnimated ? 0 : 1)).current;
1961
- const resolvedColor = (0, import_react26.useMemo)(() => {
1962
- if (typeof color === "string" && isThemeColor(color)) {
1963
- return theme.colors[color].main;
1964
- }
1965
- return color;
1966
- }, [color, theme]);
1967
- (0, import_react26.useEffect)(() => {
1968
- if (isAnimated) {
1969
- import_react_native20.Animated.parallel([
1970
- import_react_native20.Animated.spring(scaleAnim, {
1971
- toValue: 1,
1972
- useNativeDriver: true,
1973
- tension: 50,
1974
- friction: 7
1975
- }),
1976
- import_react_native20.Animated.timing(opacityAnim, {
1977
- toValue: 1,
1978
- duration: 200,
1979
- useNativeDriver: true
1980
- })
1981
- ]).start();
1982
- }
1983
- }, [isAnimated, scaleAnim, opacityAnim]);
1984
- const animatedProps = isAnimated ? {
1985
- transform: [{ scale: scaleAnim }],
1986
- opacity: opacityAnim
1987
- } : void 0;
1988
- const renderBaseline = () => /* @__PURE__ */ import_react26.default.createElement(
1989
- AnimatedPath3,
1990
- {
1991
- fill: "none",
1992
- stroke: resolvedColor,
1993
- strokeLinecap: "round",
1994
- strokeLinejoin: "round",
1995
- strokeWidth: 32,
1996
- d: "M48 112a48 48 0 0148-48h320a48 48 0 0148 48v320a48 48 0 01-48 48H96a48 48 0 01-48-48zm0 80h416M176 64v48M336 64v48",
1997
- ...animatedProps
1998
- }
1999
- );
2000
- const renderFilled = () => /* @__PURE__ */ import_react26.default.createElement(
2001
- AnimatedPath3,
2002
- {
2003
- fill: resolvedColor,
2004
- d: "M416 64h-56V40a24 24 0 00-48 0v24H200V40a24 24 0 00-48 0v24H96a48 48 0 00-48 48v320a48 48 0 0048 48h320a48 48 0 0048-48V112a48 48 0 00-48-48zm0 368H96V208h320z",
2005
- ...animatedProps
2006
- }
2007
- );
2008
- const renderDuotone = () => /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(
2009
- import_react_native_svg5.Path,
2010
- {
2011
- fill: resolvedColor,
2012
- opacity: 0.3,
2013
- d: "M48 192h416v240a48 48 0 01-48 48H96a48 48 0 01-48-48z"
2014
- }
2015
- ), renderBaseline());
2016
- const renderRoundOutlined = () => /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(
2017
- import_react_native_svg5.Circle,
2018
- {
2019
- cx: "256",
2020
- cy: "256",
2021
- r: "192",
2022
- fill: "none",
2023
- stroke: resolvedColor,
2024
- strokeWidth: 32
2025
- }
2026
- ), /* @__PURE__ */ import_react26.default.createElement(
2027
- AnimatedPath3,
2028
- {
2029
- fill: "none",
2030
- stroke: resolvedColor,
2031
- strokeLinecap: "round",
2032
- strokeLinejoin: "round",
2033
- strokeWidth: 28,
2034
- d: "M152 176a24 24 0 0124-24h160a24 24 0 0124 24v176a24 24 0 01-24 24H176a24 24 0 01-24-24zm0 48h208M208 152v32M304 152v32",
2035
- ...animatedProps
2036
- }
2037
- ));
2038
- const renderSquareOutlined = () => /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(
2039
- import_react_native_svg5.Rect,
2040
- {
2041
- x: "64",
2042
- y: "64",
2043
- width: "384",
2044
- height: "384",
2045
- rx: "48",
2046
- fill: "none",
2047
- stroke: resolvedColor,
2048
- strokeWidth: 32
2049
- }
2050
- ), /* @__PURE__ */ import_react26.default.createElement(
2051
- AnimatedPath3,
2052
- {
2053
- fill: "none",
2054
- stroke: resolvedColor,
2055
- strokeLinecap: "round",
2056
- strokeLinejoin: "round",
2057
- strokeWidth: 28,
2058
- d: "M152 176a24 24 0 0124-24h160a24 24 0 0124 24v176a24 24 0 01-24 24H176a24 24 0 01-24-24zm0 48h208M208 152v32M304 152v32",
2059
- ...animatedProps
2060
- }
2061
- ));
2062
- const renderVariant = () => {
2063
- switch (variant) {
2064
- case "filled":
2065
- return renderFilled();
2066
- case "duotone":
2067
- return renderDuotone();
2068
- case "round-outlined":
2069
- return renderRoundOutlined();
2070
- case "square-outlined":
2071
- return renderSquareOutlined();
2072
- case "round-filled":
2073
- case "square-filled":
2074
- return renderFilled();
2075
- case "baseline":
2076
- default:
2077
- return renderBaseline();
2078
- }
2079
- };
2080
- return /* @__PURE__ */ import_react26.default.createElement(import_react_native_svg5.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
2081
- };
2082
-
2083
- // src/components/icon/icons/checkmark.tsx
2084
- var import_react27 = __toESM(require("react"), 1);
2085
- var import_react_native21 = require("react-native");
2086
- var import_react_native_svg6 = __toESM(require("react-native-svg"), 1);
2087
- var AnimatedPath4 = import_react_native21.Animated.createAnimatedComponent(import_react_native_svg6.Path);
2088
-
2089
- // src/components/icon/icons/chevron-down.tsx
2090
- var import_react28 = __toESM(require("react"), 1);
2091
- var import_react_native22 = require("react-native");
2092
- var import_react_native_svg7 = __toESM(require("react-native-svg"), 1);
2093
- var AnimatedPath5 = import_react_native22.Animated.createAnimatedComponent(import_react_native_svg7.Path);
2094
- var ChevronDownIcon = ({
2095
- variant = "baseline",
2096
- size = 24,
2097
- color = "default",
2098
- isAnimated = false
2099
- }) => {
2100
- const theme = useXUITheme();
2101
- const scaleAnim = (0, import_react28.useRef)(new import_react_native22.Animated.Value(isAnimated ? 0 : 1)).current;
2102
- const opacityAnim = (0, import_react28.useRef)(new import_react_native22.Animated.Value(isAnimated ? 0 : 1)).current;
2103
- const resolvedColor = (0, import_react28.useMemo)(() => {
2104
- if (typeof color === "string" && isThemeColor(color)) {
2105
- return theme.colors[color].main;
2106
- }
2107
- return color;
2108
- }, [color, theme]);
2109
- (0, import_react28.useEffect)(() => {
2110
- if (isAnimated) {
2111
- import_react_native22.Animated.parallel([
2112
- import_react_native22.Animated.spring(scaleAnim, {
2113
- toValue: 1,
2114
- useNativeDriver: true,
2115
- tension: 50,
2116
- friction: 7
2117
- }),
2118
- import_react_native22.Animated.timing(opacityAnim, {
2119
- toValue: 1,
2120
- duration: 200,
2121
- useNativeDriver: true
2122
- })
2123
- ]).start();
2124
- }
2125
- }, [isAnimated, scaleAnim, opacityAnim]);
2126
- const animatedProps = isAnimated ? {
2127
- transform: [{ scale: scaleAnim }],
2128
- opacity: opacityAnim
2129
- } : void 0;
2130
- const renderBaseline = () => /* @__PURE__ */ import_react28.default.createElement(
2131
- AnimatedPath5,
2132
- {
2133
- fill: "none",
2134
- stroke: resolvedColor,
2135
- strokeLinecap: "round",
2136
- strokeLinejoin: "round",
2137
- strokeWidth: 48,
2138
- d: "M112 184l144 144 144-144",
2139
- ...animatedProps
2140
- }
2141
- );
2142
- const renderFilled = () => /* @__PURE__ */ import_react28.default.createElement(
2143
- AnimatedPath5,
2144
- {
2145
- fill: resolvedColor,
2146
- d: "M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z",
2147
- ...animatedProps
2148
- }
2149
- );
2150
- const renderDuotone = () => /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(
2151
- import_react_native_svg7.Path,
2152
- {
2153
- fill: resolvedColor,
2154
- opacity: 0.3,
2155
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
2156
- }
2157
- ), /* @__PURE__ */ import_react28.default.createElement(
2158
- AnimatedPath5,
2159
- {
2160
- fill: "none",
2161
- stroke: resolvedColor,
2162
- strokeLinecap: "round",
2163
- strokeLinejoin: "round",
2164
- strokeWidth: 48,
2165
- d: "M112 184l144 144 144-144",
2166
- ...animatedProps
2167
- }
2168
- ));
2169
- const renderRoundOutlined = () => /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(
2170
- import_react_native_svg7.Circle,
2171
- {
2172
- cx: "256",
2173
- cy: "256",
2174
- r: "192",
2175
- fill: "none",
2176
- stroke: resolvedColor,
2177
- strokeWidth: 32
2178
- }
2179
- ), /* @__PURE__ */ import_react28.default.createElement(
2180
- AnimatedPath5,
2181
- {
2182
- fill: "none",
2183
- stroke: resolvedColor,
2184
- strokeLinecap: "round",
2185
- strokeLinejoin: "round",
2186
- strokeWidth: 48,
2187
- d: "M112 184l144 144 144-144",
2188
- ...animatedProps
2189
- }
2190
- ));
2191
- const renderSquareOutlined = () => /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(
2192
- import_react_native_svg7.Rect,
2193
- {
2194
- x: "64",
2195
- y: "64",
2196
- width: "384",
2197
- height: "384",
2198
- rx: "48",
2199
- fill: "none",
2200
- stroke: resolvedColor,
2201
- strokeWidth: 32
2202
- }
2203
- ), /* @__PURE__ */ import_react28.default.createElement(
2204
- AnimatedPath5,
2205
- {
2206
- fill: "none",
2207
- stroke: resolvedColor,
2208
- strokeLinecap: "round",
2209
- strokeLinejoin: "round",
2210
- strokeWidth: 48,
2211
- d: "M112 184l144 144 144-144",
2212
- ...animatedProps
2213
- }
2214
- ));
2215
- const renderRoundFilled = () => /* @__PURE__ */ import_react28.default.createElement(
2216
- AnimatedPath5,
2217
- {
2218
- fill: resolvedColor,
2219
- d: "M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-100.69-28.69l-96 96a16 16 0 0 1-22.62 0l-96-96a16 16 0 0 1 22.62-22.62L256 289.37l84.69-84.68a16 16 0 0 1 22.62 22.62z",
2220
- ...animatedProps
2221
- }
2222
- );
2223
- const renderSquareFilled = () => /* @__PURE__ */ import_react28.default.createElement(
2224
- AnimatedPath5,
2225
- {
2226
- fill: resolvedColor,
2227
- d: "M400 64H112a48 48 0 0 0-48 48v288a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V112a48 48 0 0 0-48-48zm-36.69 163.31l-96 96a16 16 0 0 1-22.62 0l-96-96a16 16 0 0 1 22.62-22.62L256 289.37l84.69-84.68a16 16 0 0 1 22.62 22.62z",
2228
- ...animatedProps
2229
- }
2230
- );
2231
- const renderVariant = () => {
2232
- switch (variant) {
2233
- case "filled":
2234
- return renderFilled();
2235
- case "duotone":
2236
- return renderDuotone();
2237
- case "round-outlined":
2238
- return renderRoundOutlined();
2239
- case "square-outlined":
2240
- return renderSquareOutlined();
2241
- case "round-filled":
2242
- return renderRoundFilled();
2243
- case "square-filled":
2244
- return renderSquareFilled();
2245
- case "baseline":
2246
- default:
2247
- return renderBaseline();
2248
- }
2249
- };
2250
- return /* @__PURE__ */ import_react28.default.createElement(import_react_native_svg7.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
2251
- };
2252
-
2253
- // src/components/icon/icons/chevron-left.tsx
2254
- var import_react29 = __toESM(require("react"), 1);
2255
- var import_react_native23 = require("react-native");
2256
- var import_react_native_svg8 = __toESM(require("react-native-svg"), 1);
2257
- var AnimatedPath6 = import_react_native23.Animated.createAnimatedComponent(import_react_native_svg8.Path);
2258
- var ChevronLeftIcon = ({
2259
- variant = "baseline",
2260
- size = 24,
2261
- color = "default",
2262
- isAnimated = false
2263
- }) => {
2264
- const theme = useXUITheme();
2265
- const scaleAnim = (0, import_react29.useRef)(new import_react_native23.Animated.Value(isAnimated ? 0 : 1)).current;
2266
- const opacityAnim = (0, import_react29.useRef)(new import_react_native23.Animated.Value(isAnimated ? 0 : 1)).current;
2267
- const resolvedColor = (0, import_react29.useMemo)(() => {
2268
- if (typeof color === "string" && isThemeColor(color)) {
2269
- return theme.colors[color].main;
2270
- }
2271
- return color;
2272
- }, [color, theme]);
2273
- (0, import_react29.useEffect)(() => {
2274
- if (isAnimated) {
2275
- import_react_native23.Animated.parallel([
2276
- import_react_native23.Animated.spring(scaleAnim, {
2277
- toValue: 1,
2278
- useNativeDriver: true,
2279
- tension: 50,
2280
- friction: 7
2281
- }),
2282
- import_react_native23.Animated.timing(opacityAnim, {
2283
- toValue: 1,
2284
- duration: 200,
2285
- useNativeDriver: true
2286
- })
2287
- ]).start();
2288
- }
2289
- }, [isAnimated, scaleAnim, opacityAnim]);
2290
- const animatedProps = isAnimated ? {
2291
- transform: [{ scale: scaleAnim }],
2292
- opacity: opacityAnim
2293
- } : void 0;
2294
- const renderBaseline = () => /* @__PURE__ */ import_react29.default.createElement(
2295
- AnimatedPath6,
2296
- {
2297
- fill: "none",
2298
- stroke: resolvedColor,
2299
- strokeLinecap: "round",
2300
- strokeLinejoin: "round",
2301
- strokeWidth: 48,
2302
- d: "M328 112L184 256l144 144",
2303
- ...animatedProps
2304
- }
2305
- );
2306
- const renderFilled = () => /* @__PURE__ */ import_react29.default.createElement(
2307
- AnimatedPath6,
2308
- {
2309
- fill: resolvedColor,
2310
- d: "M256 217.9L383 345c9.4 9.4 24.6 9.4 33.9 0s9.3-24.6 0-34L273 167c-9.1-9.1-23.7-9.3-33.1-.7L95 310.9c-4.7 4.7-7 10.9-7 17s2.3 12.3 7 17c9.4 9.4 24.6 9.4 33.9 0l127.1-127z",
2311
- rotation: 90,
2312
- origin: "256, 256",
2313
- ...animatedProps
2314
- }
2315
- );
2316
- const renderDuotone = () => /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(
2317
- import_react_native_svg8.Path,
2318
- {
2319
- fill: resolvedColor,
2320
- opacity: 0.3,
2321
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
2322
- }
2323
- ), renderBaseline());
2324
- const renderRoundOutlined = () => /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(
2325
- import_react_native_svg8.Circle,
2326
- {
2327
- cx: "256",
2328
- cy: "256",
2329
- r: "192",
2330
- fill: "none",
2331
- stroke: resolvedColor,
2332
- strokeWidth: 32
2333
- }
2334
- ), renderBaseline());
2335
- const renderSquareOutlined = () => /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(
2336
- import_react_native_svg8.Rect,
2337
- {
2338
- x: "64",
2339
- y: "64",
2340
- width: "384",
2341
- height: "384",
2342
- rx: "48",
2343
- fill: "none",
2344
- stroke: resolvedColor,
2345
- strokeWidth: 32
2346
- }
2347
- ), renderBaseline());
2348
- const renderVariant = () => {
2349
- switch (variant) {
2350
- case "filled":
2351
- return renderFilled();
2352
- case "duotone":
2353
- return renderDuotone();
2354
- case "round-outlined":
2355
- return renderRoundOutlined();
2356
- case "square-outlined":
2357
- return renderSquareOutlined();
2358
- case "round-filled":
2359
- case "square-filled":
2360
- return renderFilled();
2361
- case "baseline":
2362
- default:
2363
- return renderBaseline();
2364
- }
2365
- };
2366
- return /* @__PURE__ */ import_react29.default.createElement(import_react_native_svg8.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
2367
- };
2368
-
2369
- // src/components/icon/icons/chevron-right.tsx
2370
- var import_react30 = __toESM(require("react"), 1);
2371
- var import_react_native24 = require("react-native");
2372
- var import_react_native_svg9 = __toESM(require("react-native-svg"), 1);
2373
- var AnimatedPath7 = import_react_native24.Animated.createAnimatedComponent(import_react_native_svg9.Path);
2374
- var ChevronRightIcon = ({
2375
- variant = "baseline",
2376
- size = 24,
2377
- color = "default",
2378
- isAnimated = false
2379
- }) => {
2380
- const theme = useXUITheme();
2381
- const scaleAnim = (0, import_react30.useRef)(new import_react_native24.Animated.Value(isAnimated ? 0 : 1)).current;
2382
- const opacityAnim = (0, import_react30.useRef)(new import_react_native24.Animated.Value(isAnimated ? 0 : 1)).current;
2383
- const resolvedColor = (0, import_react30.useMemo)(() => {
2384
- if (typeof color === "string" && isThemeColor(color)) {
2385
- return theme.colors[color].main;
2386
- }
2387
- return color;
2388
- }, [color, theme]);
2389
- (0, import_react30.useEffect)(() => {
2390
- if (isAnimated) {
2391
- import_react_native24.Animated.parallel([
2392
- import_react_native24.Animated.spring(scaleAnim, {
2393
- toValue: 1,
2394
- useNativeDriver: true,
2395
- tension: 50,
2396
- friction: 7
2397
- }),
2398
- import_react_native24.Animated.timing(opacityAnim, {
2399
- toValue: 1,
2400
- duration: 200,
2401
- useNativeDriver: true
2402
- })
2403
- ]).start();
2404
- }
2405
- }, [isAnimated, scaleAnim, opacityAnim]);
2406
- const animatedProps = isAnimated ? {
2407
- transform: [{ scale: scaleAnim }],
2408
- opacity: opacityAnim
2409
- } : void 0;
2410
- const renderBaseline = () => /* @__PURE__ */ import_react30.default.createElement(
2411
- AnimatedPath7,
2412
- {
2413
- fill: "none",
2414
- stroke: resolvedColor,
2415
- strokeLinecap: "round",
2416
- strokeLinejoin: "round",
2417
- strokeWidth: 48,
2418
- d: "M184 112l144 144-144 144",
2419
- ...animatedProps
2420
- }
2421
- );
2422
- const renderFilled = () => /* @__PURE__ */ import_react30.default.createElement(
2423
- AnimatedPath7,
2424
- {
2425
- fill: resolvedColor,
2426
- d: "M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z",
2427
- rotation: -90,
2428
- origin: "256, 256",
2429
- ...animatedProps
2430
- }
2431
- );
2432
- const renderDuotone = () => /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
2433
- import_react_native_svg9.Path,
2434
- {
2435
- fill: resolvedColor,
2436
- opacity: 0.3,
2437
- d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
2438
- }
2439
- ), renderBaseline());
2440
- const renderRoundOutlined = () => /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
2441
- import_react_native_svg9.Circle,
2442
- {
2443
- cx: "256",
2444
- cy: "256",
2445
- r: "192",
2446
- fill: "none",
2447
- stroke: resolvedColor,
2448
- strokeWidth: 32
2449
- }
2450
- ), renderBaseline());
2451
- const renderSquareOutlined = () => /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
2452
- import_react_native_svg9.Rect,
2453
- {
2454
- x: "64",
2455
- y: "64",
2456
- width: "384",
2457
- height: "384",
2458
- rx: "48",
2459
- fill: "none",
2460
- stroke: resolvedColor,
2461
- strokeWidth: 32
2462
- }
2463
- ), renderBaseline());
2464
- const renderVariant = () => {
2465
- switch (variant) {
2466
- case "filled":
2467
- return renderFilled();
2468
- case "duotone":
2469
- return renderDuotone();
2470
- case "round-outlined":
2471
- return renderRoundOutlined();
2472
- case "square-outlined":
2473
- return renderSquareOutlined();
2474
- case "round-filled":
2475
- case "square-filled":
2476
- return renderFilled();
2477
- case "baseline":
2478
- default:
2479
- return renderBaseline();
2480
- }
2481
- };
2482
- return /* @__PURE__ */ import_react30.default.createElement(import_react_native_svg9.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
2483
- };
1688
+ var import_icons2 = require("@xaui/icons");
2484
1689
 
2485
1690
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog.style.ts
2486
- var import_react_native25 = require("react-native");
2487
- var styles7 = import_react_native25.StyleSheet.create({
1691
+ var import_react_native18 = require("react-native");
1692
+ var styles7 = import_react_native18.StyleSheet.create({
2488
1693
  backdrop: {
2489
- ...import_react_native25.StyleSheet.absoluteFillObject,
1694
+ ...import_react_native18.StyleSheet.absoluteFillObject,
2490
1695
  backgroundColor: "rgba(0, 0, 0, 0.5)"
2491
1696
  },
2492
1697
  dialogContainer: {
@@ -2581,26 +1786,23 @@ var AutocompleteDialogHeader = ({
2581
1786
  onBlur
2582
1787
  }) => {
2583
1788
  const theme = useXUITheme();
2584
- return /* @__PURE__ */ import_react31.default.createElement(import_react_native26.View, { style: styles7.header }, title ? /* @__PURE__ */ import_react31.default.createElement(import_react_native26.View, { style: styles7.titleRow }, /* @__PURE__ */ import_react31.default.createElement(
2585
- import_react_native26.Pressable,
1789
+ return /* @__PURE__ */ import_react24.default.createElement(import_react_native19.View, { style: styles7.header }, title ? /* @__PURE__ */ import_react24.default.createElement(import_react_native19.View, { style: styles7.titleRow }, /* @__PURE__ */ import_react24.default.createElement(
1790
+ import_react_native19.Pressable,
2586
1791
  {
2587
1792
  style: styles7.backButton,
2588
1793
  onPress: onClose,
2589
1794
  accessibilityLabel: "Back",
2590
1795
  accessibilityRole: "button"
2591
1796
  },
2592
- /* @__PURE__ */ import_react31.default.createElement(ArrowBackIcon, { size: 20, color: theme.colors.foreground })
2593
- ), /* @__PURE__ */ import_react31.default.createElement(import_react_native26.Text, { style: [styles7.title, { color: theme.colors.foreground }] }, title)) : null, /* @__PURE__ */ import_react31.default.createElement(import_react_native26.View, { style: styles7.inputContainer }, /* @__PURE__ */ import_react31.default.createElement(import_react_native26.Animated.View, { style: [styles7.inputWrapper, inputAnimatedStyle] }, /* @__PURE__ */ import_react31.default.createElement(
2594
- import_react_native26.TextInput,
1797
+ /* @__PURE__ */ import_react24.default.createElement(import_icons2.ArrowBackIcon, { size: 20, color: theme.colors.foreground })
1798
+ ), /* @__PURE__ */ import_react24.default.createElement(import_react_native19.Text, { style: [styles7.title, { color: theme.colors.foreground }] }, title)) : null, /* @__PURE__ */ import_react24.default.createElement(import_react_native19.View, { style: styles7.inputContainer }, /* @__PURE__ */ import_react24.default.createElement(import_react_native19.Animated.View, { style: [styles7.inputWrapper, inputAnimatedStyle] }, /* @__PURE__ */ import_react24.default.createElement(
1799
+ import_react_native19.TextInput,
2595
1800
  {
2596
1801
  ref: inputRef,
2597
1802
  value: inputValue,
2598
1803
  onChangeText: onInputChange,
2599
1804
  placeholder,
2600
- placeholderTextColor: addOpacityToColor(
2601
- theme.colors.foreground,
2602
- 0.5
2603
- ),
1805
+ placeholderTextColor: addOpacityToColor(theme.colors.foreground, 0.5),
2604
1806
  style: [
2605
1807
  styles7.input,
2606
1808
  {
@@ -2615,42 +1817,42 @@ var AutocompleteDialogHeader = ({
2615
1817
  onFocus,
2616
1818
  onBlur
2617
1819
  }
2618
- ), inputValue ? /* @__PURE__ */ import_react31.default.createElement(
2619
- import_react_native26.Pressable,
1820
+ ), inputValue ? /* @__PURE__ */ import_react24.default.createElement(
1821
+ import_react_native19.Pressable,
2620
1822
  {
2621
1823
  style: styles7.clearInputButton,
2622
1824
  onPress: () => onInputChange?.(""),
2623
1825
  accessibilityLabel: "Clear input",
2624
1826
  accessibilityRole: "button"
2625
1827
  },
2626
- /* @__PURE__ */ import_react31.default.createElement(CloseIcon, { color: theme.colors.foreground })
1828
+ /* @__PURE__ */ import_react24.default.createElement(import_icons2.CloseIcon, { color: theme.colors.foreground })
2627
1829
  ) : null)));
2628
1830
  };
2629
1831
 
2630
1832
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog.animation.ts
2631
- var import_react32 = require("react");
2632
- var import_react_native27 = require("react-native");
1833
+ var import_react25 = require("react");
1834
+ var import_react_native20 = require("react-native");
2633
1835
  var useAutocompleteDialogAnimation = ({
2634
1836
  visible,
2635
1837
  fadeAnim,
2636
1838
  slideAnim,
2637
1839
  scaleAnim
2638
1840
  }) => {
2639
- (0, import_react32.useEffect)(() => {
1841
+ (0, import_react25.useEffect)(() => {
2640
1842
  if (visible) {
2641
- import_react_native27.Animated.parallel([
2642
- import_react_native27.Animated.timing(fadeAnim, {
1843
+ import_react_native20.Animated.parallel([
1844
+ import_react_native20.Animated.timing(fadeAnim, {
2643
1845
  toValue: 1,
2644
1846
  duration: 250,
2645
1847
  useNativeDriver: true
2646
1848
  }),
2647
- import_react_native27.Animated.spring(slideAnim, {
1849
+ import_react_native20.Animated.spring(slideAnim, {
2648
1850
  toValue: 1,
2649
1851
  useNativeDriver: true,
2650
1852
  tension: 65,
2651
1853
  friction: 10
2652
1854
  }),
2653
- import_react_native27.Animated.spring(scaleAnim, {
1855
+ import_react_native20.Animated.spring(scaleAnim, {
2654
1856
  toValue: 1,
2655
1857
  useNativeDriver: true,
2656
1858
  tension: 50,
@@ -2684,19 +1886,19 @@ var AutocompleteDialog = ({
2684
1886
  onBlur
2685
1887
  }) => {
2686
1888
  const theme = useXUITheme();
2687
- const { width: screenWidth, height: screenHeight } = (0, import_react_native28.useWindowDimensions)();
2688
- const fadeAnim = (0, import_react33.useRef)(new import_react_native28.Animated.Value(0)).current;
2689
- const slideAnim = (0, import_react33.useRef)(new import_react_native28.Animated.Value(0)).current;
2690
- const scaleAnim = (0, import_react33.useRef)(new import_react_native28.Animated.Value(0)).current;
2691
- const inputRef = (0, import_react33.useRef)(null);
2692
- const [keyboardHeight, setKeyboardHeight] = (0, import_react33.useState)(0);
2693
- (0, import_react33.useEffect)(() => {
2694
- const showEvent = import_react_native28.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow";
2695
- const hideEvent = import_react_native28.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide";
2696
- const showSub = import_react_native28.Keyboard.addListener(showEvent, (e) => {
1889
+ const { width: screenWidth, height: screenHeight } = (0, import_react_native21.useWindowDimensions)();
1890
+ const fadeAnim = (0, import_react26.useRef)(new import_react_native21.Animated.Value(0)).current;
1891
+ const slideAnim = (0, import_react26.useRef)(new import_react_native21.Animated.Value(0)).current;
1892
+ const scaleAnim = (0, import_react26.useRef)(new import_react_native21.Animated.Value(0)).current;
1893
+ const inputRef = (0, import_react26.useRef)(null);
1894
+ const [keyboardHeight, setKeyboardHeight] = (0, import_react26.useState)(0);
1895
+ (0, import_react26.useEffect)(() => {
1896
+ const showEvent = import_react_native21.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow";
1897
+ const hideEvent = import_react_native21.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide";
1898
+ const showSub = import_react_native21.Keyboard.addListener(showEvent, (e) => {
2697
1899
  setKeyboardHeight(e.endCoordinates.height);
2698
1900
  });
2699
- const hideSub = import_react_native28.Keyboard.addListener(hideEvent, () => {
1901
+ const hideSub = import_react_native21.Keyboard.addListener(hideEvent, () => {
2700
1902
  setKeyboardHeight(0);
2701
1903
  });
2702
1904
  return () => {
@@ -2704,26 +1906,26 @@ var AutocompleteDialog = ({
2704
1906
  hideSub.remove();
2705
1907
  };
2706
1908
  }, []);
2707
- const items = (0, import_react33.useMemo)(
2708
- () => import_react33.default.Children.toArray(children).filter(
2709
- import_react33.default.isValidElement
1909
+ const items = (0, import_react26.useMemo)(
1910
+ () => import_react26.default.Children.toArray(children).filter(
1911
+ import_react26.default.isValidElement
2710
1912
  ),
2711
1913
  [children]
2712
1914
  );
2713
1915
  const checkmarkColor = theme.colors[themeColor].main;
2714
1916
  const checkmarkBackgroundColor = theme.colors[themeColor].background;
2715
1917
  useAutocompleteDialogAnimation({ visible, fadeAnim, slideAnim, scaleAnim });
2716
- (0, import_react33.useEffect)(() => {
1918
+ (0, import_react26.useEffect)(() => {
2717
1919
  if (!visible) return;
2718
- const sub = import_react_native28.BackHandler.addEventListener("hardwareBackPress", () => {
1920
+ const sub = import_react_native21.BackHandler.addEventListener("hardwareBackPress", () => {
2719
1921
  onClose?.();
2720
1922
  return true;
2721
1923
  });
2722
1924
  return () => sub.remove();
2723
1925
  }, [visible, onClose]);
2724
- const focusInput = (0, import_react33.useCallback)(() => {
2725
- const delay = import_react_native28.Platform.OS === "android" ? 300 : 100;
2726
- import_react_native28.InteractionManager.runAfterInteractions(() => {
1926
+ const focusInput = (0, import_react26.useCallback)(() => {
1927
+ const delay = import_react_native21.Platform.OS === "android" ? 300 : 100;
1928
+ import_react_native21.InteractionManager.runAfterInteractions(() => {
2727
1929
  setTimeout(() => {
2728
1930
  inputRef.current?.focus();
2729
1931
  }, delay);
@@ -2731,16 +1933,16 @@ var AutocompleteDialog = ({
2731
1933
  }, []);
2732
1934
  const handleCheckmarkPress = () => {
2733
1935
  onCheckmark?.();
2734
- import_react_native28.Keyboard.dismiss();
1936
+ import_react_native21.Keyboard.dismiss();
2735
1937
  };
2736
- (0, import_react33.useEffect)(() => {
1938
+ (0, import_react26.useEffect)(() => {
2737
1939
  if (!visible) {
2738
- import_react_native28.Keyboard.dismiss();
1940
+ import_react_native21.Keyboard.dismiss();
2739
1941
  return;
2740
1942
  }
2741
1943
  focusInput();
2742
1944
  }, [focusInput, visible]);
2743
- const listBottomPadding = (0, import_react33.useMemo)(() => {
1945
+ const listBottomPadding = (0, import_react26.useMemo)(() => {
2744
1946
  const basePadding = showCheckmark ? 96 : 64;
2745
1947
  return (keyboardHeight > 0 ? keyboardHeight : 0) + basePadding;
2746
1948
  }, [keyboardHeight, showCheckmark]);
@@ -2765,7 +1967,7 @@ var AutocompleteDialog = ({
2765
1967
  const inputAnimatedStyle = {
2766
1968
  transform: [{ scaleX: scaleAnim }]
2767
1969
  };
2768
- const listHeader = /* @__PURE__ */ import_react33.default.createElement(
1970
+ const listHeader = /* @__PURE__ */ import_react26.default.createElement(
2769
1971
  AutocompleteDialogHeader,
2770
1972
  {
2771
1973
  title,
@@ -2781,14 +1983,14 @@ var AutocompleteDialog = ({
2781
1983
  onBlur
2782
1984
  }
2783
1985
  );
2784
- return /* @__PURE__ */ import_react33.default.createElement(Portal, null, /* @__PURE__ */ import_react33.default.createElement(import_react_native28.View, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react33.default.createElement(import_react_native28.Animated.View, { style: [styles7.backdrop, { opacity: fadeAnim }] }), /* @__PURE__ */ import_react33.default.createElement(import_react_native28.Animated.View, { style: [styles7.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react33.default.createElement(
2785
- import_react_native28.View,
1986
+ return /* @__PURE__ */ import_react26.default.createElement(Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_native21.View, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react26.default.createElement(import_react_native21.Animated.View, { style: [styles7.backdrop, { opacity: fadeAnim }] }), /* @__PURE__ */ import_react26.default.createElement(import_react_native21.Animated.View, { style: [styles7.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react26.default.createElement(
1987
+ import_react_native21.View,
2786
1988
  {
2787
1989
  style: [styles7.container, { backgroundColor: theme.colors.background }]
2788
1990
  },
2789
1991
  listHeader,
2790
- /* @__PURE__ */ import_react33.default.createElement(
2791
- import_react_native28.FlatList,
1992
+ /* @__PURE__ */ import_react26.default.createElement(
1993
+ import_react_native21.FlatList,
2792
1994
  {
2793
1995
  data: items,
2794
1996
  renderItem: ({ item }) => item,
@@ -2802,8 +2004,8 @@ var AutocompleteDialog = ({
2802
2004
  showsVerticalScrollIndicator: false
2803
2005
  }
2804
2006
  ),
2805
- showCheckmark ? /* @__PURE__ */ import_react33.default.createElement(import_react_native28.View, { style: styles7.checkmarkButtonContainer }, /* @__PURE__ */ import_react33.default.createElement(
2806
- import_react_native28.Pressable,
2007
+ showCheckmark ? /* @__PURE__ */ import_react26.default.createElement(import_react_native21.View, { style: styles7.checkmarkButtonContainer }, /* @__PURE__ */ import_react26.default.createElement(
2008
+ import_react_native21.Pressable,
2807
2009
  {
2808
2010
  style: [
2809
2011
  styles7.checkmarkButton,
@@ -2813,14 +2015,15 @@ var AutocompleteDialog = ({
2813
2015
  accessibilityLabel: "Confirm",
2814
2016
  accessibilityRole: "button"
2815
2017
  },
2816
- checkmarkIcon ?? /* @__PURE__ */ import_react33.default.createElement(CheckmarkIcon, { color: checkmarkColor, size: 20 })
2018
+ checkmarkIcon ?? /* @__PURE__ */ import_react26.default.createElement(CheckmarkIcon, { color: checkmarkColor, size: 20 })
2817
2019
  )) : null
2818
2020
  ))));
2819
2021
  };
2820
2022
 
2821
2023
  // src/components/autocomplete/autocomplete-trigger.tsx
2822
- var import_react34 = __toESM(require("react"), 1);
2823
- var import_react_native29 = require("react-native");
2024
+ var import_react27 = __toESM(require("react"), 1);
2025
+ var import_react_native22 = require("react-native");
2026
+ var import_icons3 = require("@xaui/icons");
2824
2027
  var AutocompleteTrigger = ({
2825
2028
  triggerRef,
2826
2029
  isDisabled,
@@ -2843,8 +2046,8 @@ var AutocompleteTrigger = ({
2843
2046
  onLayout: handleTriggerLayout
2844
2047
  }) => {
2845
2048
  const renderLabel = isLabelInside && label;
2846
- return /* @__PURE__ */ import_react34.default.createElement(
2847
- import_react_native29.Pressable,
2049
+ return /* @__PURE__ */ import_react27.default.createElement(
2050
+ import_react_native22.Pressable,
2848
2051
  {
2849
2052
  ref: triggerRef,
2850
2053
  onPress: handleTriggerPress,
@@ -2866,8 +2069,8 @@ var AutocompleteTrigger = ({
2866
2069
  accessibilityRole: "button",
2867
2070
  accessibilityState: { disabled: isDisabled }
2868
2071
  },
2869
- /* @__PURE__ */ import_react34.default.createElement(import_react_native29.View, { style: styles6.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react34.default.createElement(
2870
- import_react_native29.Text,
2072
+ /* @__PURE__ */ import_react27.default.createElement(import_react_native22.View, { style: styles6.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react27.default.createElement(
2073
+ import_react_native22.Text,
2871
2074
  {
2872
2075
  style: [
2873
2076
  styles6.triggerText,
@@ -2880,14 +2083,14 @@ var AutocompleteTrigger = ({
2880
2083
  },
2881
2084
  displayValue
2882
2085
  )),
2883
- isClearable && (currentSelectedKey || currentInputValue) ? /* @__PURE__ */ import_react34.default.createElement(
2884
- import_react_native29.TouchableOpacity,
2086
+ isClearable && (currentSelectedKey || currentInputValue) ? /* @__PURE__ */ import_react27.default.createElement(
2087
+ import_react_native22.TouchableOpacity,
2885
2088
  {
2886
2089
  onPress: handleClear,
2887
2090
  style: styles6.clearButton,
2888
2091
  hitSlop: { top: 8, right: 8, bottom: 8, left: 8 }
2889
2092
  },
2890
- clearIcon ?? /* @__PURE__ */ import_react34.default.createElement(CloseIcon, { color: theme.colors.foreground, size: 20 })
2093
+ clearIcon ?? /* @__PURE__ */ import_react27.default.createElement(import_icons3.CloseIcon, { color: theme.colors.foreground, size: 20 })
2891
2094
  ) : null
2892
2095
  );
2893
2096
  };
@@ -2938,17 +2141,17 @@ var Autocomplete = ({
2938
2141
  onOpenChange,
2939
2142
  onClose
2940
2143
  });
2941
- const triggerRef = (0, import_react35.useRef)(null);
2942
- const [triggerLayout, setTriggerLayout] = (0, import_react35.useState)();
2943
- const handleTriggerLayout = (0, import_react35.useCallback)(() => {
2144
+ const triggerRef = (0, import_react28.useRef)(null);
2145
+ const [triggerLayout, setTriggerLayout] = (0, import_react28.useState)();
2146
+ const handleTriggerLayout = (0, import_react28.useCallback)(() => {
2944
2147
  triggerRef.current?.measureInWindow((x, y, width, height) => {
2945
2148
  setTriggerLayout({ x, y, width, height });
2946
2149
  });
2947
2150
  }, []);
2948
- const items = (0, import_react35.useMemo)(() => {
2949
- const elements = import_react35.default.Children.toArray(children).filter(Boolean);
2151
+ const items = (0, import_react28.useMemo)(() => {
2152
+ const elements = import_react28.default.Children.toArray(children).filter(Boolean);
2950
2153
  return elements.map((child, index) => {
2951
- if (!import_react35.default.isValidElement(child)) {
2154
+ if (!import_react28.default.isValidElement(child)) {
2952
2155
  return null;
2953
2156
  }
2954
2157
  const key = child.props.value ?? String(index);
@@ -2960,7 +2163,7 @@ var Autocomplete = ({
2960
2163
  };
2961
2164
  }).filter((item) => item !== null);
2962
2165
  }, [children]);
2963
- const filteredItems = (0, import_react35.useMemo)(() => {
2166
+ const filteredItems = (0, import_react28.useMemo)(() => {
2964
2167
  if (disableLocalFilter || !currentInputValue.trim()) {
2965
2168
  return items;
2966
2169
  }
@@ -2980,7 +2183,7 @@ var Autocomplete = ({
2980
2183
  const helperColor = useAutocompleteHelperColor(isInvalid);
2981
2184
  const selectedItem = items.find((item) => item.key === currentSelectedKey);
2982
2185
  const displayValue = forceSelection ? selectedItem?.labelText || placeholder : currentInputValue || placeholder;
2983
- const handleInputChange = (0, import_react35.useCallback)(
2186
+ const handleInputChange = (0, import_react28.useCallback)(
2984
2187
  (text) => {
2985
2188
  updateInputValue(text);
2986
2189
  const selectedLabel = selectedItem?.labelText ?? "";
@@ -2997,7 +2200,7 @@ var Autocomplete = ({
2997
2200
  currentSelectedKey
2998
2201
  ]
2999
2202
  );
3000
- const handleItemSelection = (0, import_react35.useCallback)(
2203
+ const handleItemSelection = (0, import_react28.useCallback)(
3001
2204
  (key, itemLabel) => {
3002
2205
  if (isDisabled) {
3003
2206
  return;
@@ -3005,16 +2208,16 @@ var Autocomplete = ({
3005
2208
  updateSelection(key);
3006
2209
  updateInputValue(itemLabel);
3007
2210
  setTimeout(() => {
3008
- import_react_native30.Keyboard.dismiss();
2211
+ import_react_native23.Keyboard.dismiss();
3009
2212
  setOpen(false);
3010
2213
  }, 50);
3011
2214
  },
3012
2215
  [isDisabled, updateSelection, updateInputValue, setOpen]
3013
2216
  );
3014
- const handleCheckmark = (0, import_react35.useCallback)(() => {
2217
+ const handleCheckmark = (0, import_react28.useCallback)(() => {
3015
2218
  setOpen(false);
3016
2219
  }, [setOpen]);
3017
- const handleClear = (0, import_react35.useCallback)(() => {
2220
+ const handleClear = (0, import_react28.useCallback)(() => {
3018
2221
  if (isDisabled) {
3019
2222
  return;
3020
2223
  }
@@ -3022,7 +2225,7 @@ var Autocomplete = ({
3022
2225
  updateInputValue("");
3023
2226
  onClear?.();
3024
2227
  }, [isDisabled, updateSelection, updateInputValue, onClear]);
3025
- const handleTriggerPress = (0, import_react35.useCallback)(() => {
2228
+ const handleTriggerPress = (0, import_react28.useCallback)(() => {
3026
2229
  if (!isDisabled) {
3027
2230
  if (selectedItem && !currentInputValue) {
3028
2231
  updateInputValue(selectedItem.labelText);
@@ -3041,7 +2244,7 @@ var Autocomplete = ({
3041
2244
  handleItemSelection(item.key, item.labelText);
3042
2245
  itemProps.onSelected?.();
3043
2246
  };
3044
- return import_react35.default.cloneElement(item.element, {
2247
+ return import_react28.default.cloneElement(item.element, {
3045
2248
  key: item.key,
3046
2249
  isDisabled: itemDisabled,
3047
2250
  isSelected: itemSelected,
@@ -3052,10 +2255,10 @@ var Autocomplete = ({
3052
2255
  const isLabelInside = labelPlacement === "inside";
3053
2256
  const isLabelOutsideLeft = labelPlacement === "outside-left";
3054
2257
  const isLabelOutside = labelPlacement === "outside" || labelPlacement === "outside-top";
3055
- const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react35.default.createElement(import_react_native30.Text, { style: [styles6.label, labelStyle] }, label) : /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, null, label) : null;
2258
+ const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react28.default.createElement(import_react_native23.Text, { style: [styles6.label, labelStyle] }, label) : /* @__PURE__ */ import_react28.default.createElement(import_react_native23.View, null, label) : null;
3056
2259
  const shouldShowHelper = Boolean(description || errorMessage);
3057
2260
  const helperContent = isInvalid && errorMessage ? errorMessage : description;
3058
- const triggerContent = /* @__PURE__ */ import_react35.default.createElement(
2261
+ const triggerContent = /* @__PURE__ */ import_react28.default.createElement(
3059
2262
  AutocompleteTrigger,
3060
2263
  {
3061
2264
  triggerRef,
@@ -3080,7 +2283,7 @@ var Autocomplete = ({
3080
2283
  }
3081
2284
  );
3082
2285
  const labelBlock = isLabelOutside || isLabelInside ? renderLabel : null;
3083
- return /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, { style: [styles6.container, fullWidth ? styles6.fullWidth : styles6.minWidth] }, isLabelOutside && labelBlock, isLabelOutsideLeft ? /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, { style: styles6.outsideLeftRow }, renderLabel, triggerContent) : triggerContent, shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react35.default.createElement(import_react_native30.Text, { style: [styles6.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, null, helperContent) : null, /* @__PURE__ */ import_react35.default.createElement(
2286
+ return /* @__PURE__ */ import_react28.default.createElement(import_react_native23.View, { style: [styles6.container, fullWidth ? styles6.fullWidth : styles6.minWidth] }, isLabelOutside && labelBlock, isLabelOutsideLeft ? /* @__PURE__ */ import_react28.default.createElement(import_react_native23.View, { style: styles6.outsideLeftRow }, renderLabel, triggerContent) : triggerContent, shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react28.default.createElement(import_react_native23.Text, { style: [styles6.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react28.default.createElement(import_react_native23.View, null, helperContent) : null, /* @__PURE__ */ import_react28.default.createElement(
3084
2287
  AutocompleteDialog,
3085
2288
  {
3086
2289
  visible: isOpen,
@@ -3094,17 +2297,17 @@ var Autocomplete = ({
3094
2297
  onClose: () => setOpen(false),
3095
2298
  onCheckmark: handleCheckmark
3096
2299
  },
3097
- /* @__PURE__ */ import_react35.default.createElement(AutocompleteContext.Provider, { value: { size, themeColor, isDisabled } }, showEmptyMessage ? /* @__PURE__ */ import_react35.default.createElement(import_react_native30.Text, { style: [styles6.emptyMessage, { color: theme.colors.foreground }] }, "No results found") : listItems)
2300
+ /* @__PURE__ */ import_react28.default.createElement(AutocompleteContext.Provider, { value: { size, themeColor, isDisabled } }, showEmptyMessage ? /* @__PURE__ */ import_react28.default.createElement(import_react_native23.Text, { style: [styles6.emptyMessage, { color: theme.colors.foreground }] }, "No results found") : listItems)
3098
2301
  ));
3099
2302
  };
3100
2303
 
3101
2304
  // src/components/autocomplete/autocomplete-item.tsx
3102
- var import_react37 = __toESM(require("react"), 1);
3103
- var import_react_native32 = require("react-native");
2305
+ var import_react30 = __toESM(require("react"), 1);
2306
+ var import_react_native25 = require("react-native");
3104
2307
 
3105
2308
  // src/components/autocomplete/autocomplete-item.style.ts
3106
- var import_react_native31 = require("react-native");
3107
- var styles8 = import_react_native31.StyleSheet.create({
2309
+ var import_react_native24 = require("react-native");
2310
+ var styles8 = import_react_native24.StyleSheet.create({
3108
2311
  item: {
3109
2312
  flexDirection: "row",
3110
2313
  alignItems: "center",
@@ -3126,11 +2329,11 @@ var styles8 = import_react_native31.StyleSheet.create({
3126
2329
  });
3127
2330
 
3128
2331
  // src/components/autocomplete/autocomplete-item.hook.ts
3129
- var import_react36 = require("react");
3130
- var import_core26 = require("@xaui/core");
2332
+ var import_react29 = require("react");
2333
+ var import_core19 = require("@xaui/core");
3131
2334
  var useAutocompleteItemSizeStyles = (size) => {
3132
2335
  const theme = useXUITheme();
3133
- return (0, import_react36.useMemo)(() => {
2336
+ return (0, import_react29.useMemo)(() => {
3134
2337
  const sizes = {
3135
2338
  xs: {
3136
2339
  paddingVertical: theme.spacing.sm,
@@ -3162,15 +2365,15 @@ var useAutocompleteItemSizeStyles = (size) => {
3162
2365
  };
3163
2366
  var useAutocompleteItemBackgroundColor = (themeColor, isSelected) => {
3164
2367
  const theme = useXUITheme();
3165
- const safeThemeColor = (0, import_core26.getSafeThemeColor)(themeColor);
2368
+ const safeThemeColor = (0, import_core19.getSafeThemeColor)(themeColor);
3166
2369
  const colorScheme = theme.colors[safeThemeColor];
3167
- return (0, import_react36.useMemo)(() => {
2370
+ return (0, import_react29.useMemo)(() => {
3168
2371
  return "transparent";
3169
2372
  }, [isSelected, colorScheme]);
3170
2373
  };
3171
2374
  var useAutocompleteItemTextColors = () => {
3172
2375
  const theme = useXUITheme();
3173
- return (0, import_react36.useMemo)(() => {
2376
+ return (0, import_react29.useMemo)(() => {
3174
2377
  return {
3175
2378
  textColor: theme.colors.foreground,
3176
2379
  descriptionColor: theme.colors.foreground
@@ -3179,9 +2382,9 @@ var useAutocompleteItemTextColors = () => {
3179
2382
  };
3180
2383
  var useAutocompleteItemCheckmarkColor = (themeColor) => {
3181
2384
  const theme = useXUITheme();
3182
- const safeThemeColor = (0, import_core26.getSafeThemeColor)(themeColor);
2385
+ const safeThemeColor = (0, import_core19.getSafeThemeColor)(themeColor);
3183
2386
  const colorScheme = theme.colors[safeThemeColor];
3184
- return (0, import_react36.useMemo)(() => {
2387
+ return (0, import_react29.useMemo)(() => {
3185
2388
  if (themeColor === "default") {
3186
2389
  return theme.colors.primary.main;
3187
2390
  }
@@ -3189,7 +2392,7 @@ var useAutocompleteItemCheckmarkColor = (themeColor) => {
3189
2392
  }, [themeColor, colorScheme, theme]);
3190
2393
  };
3191
2394
  var useAutocompleteItemStyles = (isSelected, _isDisabled) => {
3192
- const context = (0, import_react36.useContext)(AutocompleteContext);
2395
+ const context = (0, import_react29.useContext)(AutocompleteContext);
3193
2396
  const backgroundColor = useAutocompleteItemBackgroundColor(
3194
2397
  context.themeColor,
3195
2398
  isSelected
@@ -3218,7 +2421,7 @@ var AutocompleteItem = ({
3218
2421
  customAppearance,
3219
2422
  onSelected
3220
2423
  }) => {
3221
- const context = (0, import_react37.useContext)(AutocompleteContext);
2424
+ const context = (0, import_react30.useContext)(AutocompleteContext);
3222
2425
  const size = context?.size ?? defaultSize;
3223
2426
  const isItemDisabled = context?.isDisabled ? true : isDisabled;
3224
2427
  const sizeStyles = useAutocompleteItemSizeStyles(size);
@@ -3229,8 +2432,8 @@ var AutocompleteItem = ({
3229
2432
  }
3230
2433
  onSelected?.();
3231
2434
  };
3232
- return /* @__PURE__ */ import_react37.default.createElement(
3233
- import_react_native32.Pressable,
2435
+ return /* @__PURE__ */ import_react30.default.createElement(
2436
+ import_react_native25.Pressable,
3234
2437
  {
3235
2438
  onPress: handlePress,
3236
2439
  disabled: isItemDisabled,
@@ -3246,8 +2449,8 @@ var AutocompleteItem = ({
3246
2449
  ]
3247
2450
  },
3248
2451
  startContent,
3249
- /* @__PURE__ */ import_react37.default.createElement(import_react_native32.View, { style: styles8.content }, /* @__PURE__ */ import_react37.default.createElement(
3250
- import_react_native32.Text,
2452
+ /* @__PURE__ */ import_react30.default.createElement(import_react_native25.View, { style: styles8.content }, /* @__PURE__ */ import_react30.default.createElement(
2453
+ import_react_native25.Text,
3251
2454
  {
3252
2455
  style: [
3253
2456
  styles8.title,
@@ -3256,8 +2459,8 @@ var AutocompleteItem = ({
3256
2459
  ]
3257
2460
  },
3258
2461
  label
3259
- ), description && /* @__PURE__ */ import_react37.default.createElement(
3260
- import_react_native32.Text,
2462
+ ), description && /* @__PURE__ */ import_react30.default.createElement(
2463
+ import_react_native25.Text,
3261
2464
  {
3262
2465
  style: [
3263
2466
  styles8.description,
@@ -3271,22 +2474,22 @@ var AutocompleteItem = ({
3271
2474
  };
3272
2475
 
3273
2476
  // src/components/datepicker/datepicker.tsx
3274
- var import_react47 = __toESM(require("react"), 1);
3275
- var import_react_native42 = require("react-native");
2477
+ var import_react40 = __toESM(require("react"), 1);
2478
+ var import_react_native35 = require("react-native");
3276
2479
 
3277
2480
  // src/components/datepicker/datepicker.hook.ts
3278
- var import_react38 = require("react");
3279
- var import_core28 = require("@xaui/core");
2481
+ var import_react31 = require("react");
2482
+ var import_core21 = require("@xaui/core");
3280
2483
  var import_palette3 = require("@xaui/core/palette");
3281
2484
  var useDatePickerColorScheme = (themeColor) => {
3282
2485
  const theme = useXUITheme();
3283
- const safeThemeColor = (0, import_core28.getSafeThemeColor)(themeColor);
2486
+ const safeThemeColor = (0, import_core21.getSafeThemeColor)(themeColor);
3284
2487
  const colorScheme = theme.colors[safeThemeColor];
3285
2488
  return { theme, colorScheme };
3286
2489
  };
3287
2490
  var useDatePickerSizeStyles = (size) => {
3288
2491
  const theme = useXUITheme();
3289
- return (0, import_react38.useMemo)(() => {
2492
+ return (0, import_react31.useMemo)(() => {
3290
2493
  const sizes = {
3291
2494
  xs: {
3292
2495
  minHeight: 34,
@@ -3322,7 +2525,7 @@ var useDatePickerSizeStyles = (size) => {
3322
2525
  };
3323
2526
  var useDatePickerRadiusStyles = (radius) => {
3324
2527
  const theme = useXUITheme();
3325
- return (0, import_react38.useMemo)(() => {
2528
+ return (0, import_react31.useMemo)(() => {
3326
2529
  const radii = {
3327
2530
  none: theme.borderRadius.none,
3328
2531
  sm: theme.borderRadius.sm,
@@ -3335,7 +2538,7 @@ var useDatePickerRadiusStyles = (radius) => {
3335
2538
  };
3336
2539
  var useDatePickerVariantStyles = (themeColor, variant, isInvalid) => {
3337
2540
  const { theme, colorScheme } = useDatePickerColorScheme(themeColor);
3338
- return (0, import_react38.useMemo)(() => {
2541
+ return (0, import_react31.useMemo)(() => {
3339
2542
  let borderColor = isInvalid ? theme.colors.danger.main : colorScheme.main;
3340
2543
  if ((variant === "outlined" || variant === "faded") && themeColor === "default") {
3341
2544
  borderColor = import_palette3.colors.gray[300];
@@ -3370,7 +2573,7 @@ var useDatePickerVariantStyles = (themeColor, variant, isInvalid) => {
3370
2573
  };
3371
2574
  var useDatePickerLabelStyle = (themeColor, isInvalid, labelSize) => {
3372
2575
  const { theme, colorScheme } = useDatePickerColorScheme(themeColor);
3373
- return (0, import_react38.useMemo)(() => {
2576
+ return (0, import_react31.useMemo)(() => {
3374
2577
  let baseColor = theme.colors.foreground;
3375
2578
  if (isInvalid) {
3376
2579
  baseColor = theme.colors.danger.main;
@@ -3385,7 +2588,7 @@ var useDatePickerLabelStyle = (themeColor, isInvalid, labelSize) => {
3385
2588
  };
3386
2589
  var useDatePickerHelperColor = (isInvalid) => {
3387
2590
  const theme = useXUITheme();
3388
- return (0, import_react38.useMemo)(() => {
2591
+ return (0, import_react31.useMemo)(() => {
3389
2592
  if (isInvalid) {
3390
2593
  return theme.colors.danger.main;
3391
2594
  }
@@ -3394,17 +2597,17 @@ var useDatePickerHelperColor = (isInvalid) => {
3394
2597
  };
3395
2598
 
3396
2599
  // src/components/datepicker/datepicker.state.hook.ts
3397
- var import_react39 = require("react");
2600
+ var import_react32 = require("react");
3398
2601
  var useDatePickerState = ({
3399
2602
  value,
3400
2603
  defaultValue,
3401
2604
  onChange
3402
2605
  }) => {
3403
- const [internalValue, setInternalValue] = (0, import_react39.useState)(
2606
+ const [internalValue, setInternalValue] = (0, import_react32.useState)(
3404
2607
  defaultValue ?? null
3405
2608
  );
3406
2609
  const selectedDate = value !== void 0 ? value : internalValue;
3407
- const updateDate = (0, import_react39.useCallback)(
2610
+ const updateDate = (0, import_react32.useCallback)(
3408
2611
  (date) => {
3409
2612
  if (value === void 0) {
3410
2613
  setInternalValue(date);
@@ -3421,8 +2624,8 @@ var useDatePickerOpenState = ({
3421
2624
  onOpen,
3422
2625
  onClose
3423
2626
  }) => {
3424
- const [isOpen, setInternalOpen] = (0, import_react39.useState)(false);
3425
- const setOpen = (0, import_react39.useCallback)(
2627
+ const [isOpen, setInternalOpen] = (0, import_react32.useState)(false);
2628
+ const setOpen = (0, import_react32.useCallback)(
3426
2629
  (open) => {
3427
2630
  if (isDisabled && open) return;
3428
2631
  setInternalOpen(open);
@@ -3439,30 +2642,30 @@ var useDatePickerOpenState = ({
3439
2642
  };
3440
2643
  var useDatePickerViewState = (initialDate) => {
3441
2644
  const now = /* @__PURE__ */ new Date();
3442
- const [viewDate, setViewDate] = (0, import_react39.useState)(initialDate ?? now);
3443
- const [viewMode, setViewMode] = (0, import_react39.useState)("calendar");
3444
- const goToPreviousMonth = (0, import_react39.useCallback)(() => {
2645
+ const [viewDate, setViewDate] = (0, import_react32.useState)(initialDate ?? now);
2646
+ const [viewMode, setViewMode] = (0, import_react32.useState)("calendar");
2647
+ const goToPreviousMonth = (0, import_react32.useCallback)(() => {
3445
2648
  setViewDate((prev) => new Date(prev.getFullYear(), prev.getMonth() - 1, 1));
3446
2649
  }, []);
3447
- const goToNextMonth = (0, import_react39.useCallback)(() => {
2650
+ const goToNextMonth = (0, import_react32.useCallback)(() => {
3448
2651
  setViewDate((prev) => new Date(prev.getFullYear(), prev.getMonth() + 1, 1));
3449
2652
  }, []);
3450
- const goToYear = (0, import_react39.useCallback)((year) => {
2653
+ const goToYear = (0, import_react32.useCallback)((year) => {
3451
2654
  setViewDate((prev) => new Date(year, prev.getMonth(), 1));
3452
2655
  setViewMode("month");
3453
2656
  }, []);
3454
- const goToMonth = (0, import_react39.useCallback)((month) => {
2657
+ const goToMonth = (0, import_react32.useCallback)((month) => {
3455
2658
  setViewDate((prev) => new Date(prev.getFullYear(), month, 1));
3456
2659
  setViewMode("calendar");
3457
2660
  }, []);
3458
- const goToToday = (0, import_react39.useCallback)(() => {
2661
+ const goToToday = (0, import_react32.useCallback)(() => {
3459
2662
  setViewDate(/* @__PURE__ */ new Date());
3460
2663
  setViewMode("calendar");
3461
2664
  }, []);
3462
- const toggleYearPicker = (0, import_react39.useCallback)(() => {
2665
+ const toggleYearPicker = (0, import_react32.useCallback)(() => {
3463
2666
  setViewMode((prev) => prev === "year" ? "calendar" : "year");
3464
2667
  }, []);
3465
- const syncViewToDate = (0, import_react39.useCallback)((date) => {
2668
+ const syncViewToDate = (0, import_react32.useCallback)((date) => {
3466
2669
  setViewDate(date);
3467
2670
  }, []);
3468
2671
  return {
@@ -3486,9 +2689,7 @@ var getWeekdayNames = (locale, firstDayOfWeek) => {
3486
2689
  const days = [];
3487
2690
  for (let i = 0; i < 7; i++) {
3488
2691
  const date = new Date(2024, 0, 1 + offset + i);
3489
- days.push(
3490
- date.toLocaleDateString(locale, { weekday: "short" }).slice(0, 2)
3491
- );
2692
+ days.push(date.toLocaleDateString(locale, { weekday: "short" }).slice(0, 2));
3492
2693
  }
3493
2694
  return days;
3494
2695
  };
@@ -3648,8 +2849,8 @@ var getFirstDayOfWeek = (locale) => {
3648
2849
  };
3649
2850
 
3650
2851
  // src/components/datepicker/datepicker.style.ts
3651
- var import_react_native33 = require("react-native");
3652
- var styles9 = import_react_native33.StyleSheet.create({
2852
+ var import_react_native26 = require("react-native");
2853
+ var styles9 = import_react_native26.StyleSheet.create({
3653
2854
  container: {
3654
2855
  gap: 6,
3655
2856
  position: "relative"
@@ -3699,13 +2900,13 @@ var styles9 = import_react_native33.StyleSheet.create({
3699
2900
  });
3700
2901
 
3701
2902
  // src/components/dialogs/datepicker-dialog/datepicker-dialog.tsx
3702
- var import_react45 = __toESM(require("react"), 1);
3703
- var import_react_native40 = require("react-native");
2903
+ var import_react38 = __toESM(require("react"), 1);
2904
+ var import_react_native33 = require("react-native");
3704
2905
  var import_react_native_gesture_handler2 = require("react-native-gesture-handler");
3705
2906
 
3706
2907
  // src/components/dialogs/datepicker-dialog/datepicker-dialog.animation.ts
3707
- var import_react40 = require("react");
3708
- var import_react_native34 = require("react-native");
2908
+ var import_react33 = require("react");
2909
+ var import_react_native27 = require("react-native");
3709
2910
  var useDatePickerDialogAnimation = ({
3710
2911
  visible,
3711
2912
  fadeAnim,
@@ -3713,26 +2914,26 @@ var useDatePickerDialogAnimation = ({
3713
2914
  scaleAnim,
3714
2915
  onCloseComplete
3715
2916
  }) => {
3716
- const [shouldRender, setShouldRender] = (0, import_react40.useState)(false);
3717
- const isClosingRef = (0, import_react40.useRef)(false);
3718
- (0, import_react40.useEffect)(() => {
2917
+ const [shouldRender, setShouldRender] = (0, import_react33.useState)(false);
2918
+ const isClosingRef = (0, import_react33.useRef)(false);
2919
+ (0, import_react33.useEffect)(() => {
3719
2920
  if (visible) {
3720
2921
  setShouldRender(true);
3721
2922
  isClosingRef.current = false;
3722
- import_react_native34.Animated.parallel([
3723
- import_react_native34.Animated.timing(fadeAnim, {
2923
+ import_react_native27.Animated.parallel([
2924
+ import_react_native27.Animated.timing(fadeAnim, {
3724
2925
  toValue: 1,
3725
2926
  duration: 220,
3726
2927
  useNativeDriver: true
3727
2928
  }),
3728
- import_react_native34.Animated.spring(slideAnim, {
2929
+ import_react_native27.Animated.spring(slideAnim, {
3729
2930
  toValue: 1,
3730
2931
  useNativeDriver: true,
3731
2932
  damping: 20,
3732
2933
  stiffness: 300,
3733
2934
  mass: 0.8
3734
2935
  }),
3735
- import_react_native34.Animated.spring(scaleAnim, {
2936
+ import_react_native27.Animated.spring(scaleAnim, {
3736
2937
  toValue: 1,
3737
2938
  useNativeDriver: true,
3738
2939
  damping: 18,
@@ -3744,23 +2945,23 @@ var useDatePickerDialogAnimation = ({
3744
2945
  }
3745
2946
  if (!shouldRender || isClosingRef.current) return;
3746
2947
  isClosingRef.current = true;
3747
- import_react_native34.Animated.parallel([
3748
- import_react_native34.Animated.timing(fadeAnim, {
2948
+ import_react_native27.Animated.parallel([
2949
+ import_react_native27.Animated.timing(fadeAnim, {
3749
2950
  toValue: 0,
3750
2951
  duration: 180,
3751
- easing: import_react_native34.Easing.out(import_react_native34.Easing.ease),
2952
+ easing: import_react_native27.Easing.out(import_react_native27.Easing.ease),
3752
2953
  useNativeDriver: true
3753
2954
  }),
3754
- import_react_native34.Animated.timing(slideAnim, {
2955
+ import_react_native27.Animated.timing(slideAnim, {
3755
2956
  toValue: 0,
3756
2957
  duration: 180,
3757
- easing: import_react_native34.Easing.out(import_react_native34.Easing.ease),
2958
+ easing: import_react_native27.Easing.out(import_react_native27.Easing.ease),
3758
2959
  useNativeDriver: true
3759
2960
  }),
3760
- import_react_native34.Animated.timing(scaleAnim, {
2961
+ import_react_native27.Animated.timing(scaleAnim, {
3761
2962
  toValue: 0,
3762
2963
  duration: 180,
3763
- easing: import_react_native34.Easing.out(import_react_native34.Easing.ease),
2964
+ easing: import_react_native27.Easing.out(import_react_native27.Easing.ease),
3764
2965
  useNativeDriver: true
3765
2966
  })
3766
2967
  ]).start(() => {
@@ -3774,9 +2975,9 @@ var useDatePickerDialogAnimation = ({
3774
2975
  var useViewTransitionAnimation = ({
3775
2976
  fadeAnim
3776
2977
  }) => {
3777
- const animate = (0, import_react40.useCallback)(() => {
2978
+ const animate = (0, import_react33.useCallback)(() => {
3778
2979
  fadeAnim.setValue(0);
3779
- import_react_native34.Animated.timing(fadeAnim, {
2980
+ import_react_native27.Animated.timing(fadeAnim, {
3780
2981
  toValue: 1,
3781
2982
  duration: 200,
3782
2983
  useNativeDriver: true
@@ -3788,20 +2989,20 @@ var useMonthSlideAnimation = ({
3788
2989
  slideAnim,
3789
2990
  fadeAnim
3790
2991
  }) => {
3791
- const animate = (0, import_react40.useCallback)(
2992
+ const animate = (0, import_react33.useCallback)(
3792
2993
  (direction) => {
3793
2994
  const startX = direction === "right" ? 60 : -60;
3794
2995
  slideAnim.setValue(startX);
3795
2996
  fadeAnim.setValue(0);
3796
- import_react_native34.Animated.parallel([
3797
- import_react_native34.Animated.spring(slideAnim, {
2997
+ import_react_native27.Animated.parallel([
2998
+ import_react_native27.Animated.spring(slideAnim, {
3798
2999
  toValue: 0,
3799
3000
  useNativeDriver: true,
3800
3001
  damping: 22,
3801
3002
  stiffness: 280,
3802
3003
  mass: 0.7
3803
3004
  }),
3804
- import_react_native34.Animated.timing(fadeAnim, {
3005
+ import_react_native27.Animated.timing(fadeAnim, {
3805
3006
  toValue: 1,
3806
3007
  duration: 180,
3807
3008
  useNativeDriver: true
@@ -3814,15 +3015,15 @@ var useMonthSlideAnimation = ({
3814
3015
  };
3815
3016
 
3816
3017
  // src/components/dialogs/datepicker-dialog/datepicker-dialog-calendar.tsx
3817
- var import_react41 = __toESM(require("react"), 1);
3818
- var import_react_native36 = require("react-native");
3018
+ var import_react34 = __toESM(require("react"), 1);
3019
+ var import_react_native29 = require("react-native");
3819
3020
  var import_react_native_gesture_handler = require("react-native-gesture-handler");
3820
3021
 
3821
3022
  // src/components/dialogs/datepicker-dialog/datepicker-dialog.style.ts
3822
- var import_react_native35 = require("react-native");
3823
- var styles10 = import_react_native35.StyleSheet.create({
3023
+ var import_react_native28 = require("react-native");
3024
+ var styles10 = import_react_native28.StyleSheet.create({
3824
3025
  backdrop: {
3825
- ...import_react_native35.StyleSheet.absoluteFillObject,
3026
+ ...import_react_native28.StyleSheet.absoluteFillObject,
3826
3027
  backgroundColor: "rgba(0, 0, 0, 0.5)"
3827
3028
  },
3828
3029
  dialogContainer: {
@@ -4034,11 +3235,11 @@ var AnimatedDayCell = ({
4034
3235
  const isDefault = themeColor === "default";
4035
3236
  const accentColor = isDefault ? theme.colors.foreground : colorScheme.main;
4036
3237
  const accentFg = isDefault ? theme.colors.background : colorScheme.foreground;
4037
- const scaleAnim = (0, import_react41.useRef)(new import_react_native36.Animated.Value(isSelected ? 1 : 0)).current;
4038
- (0, import_react41.useEffect)(() => {
3238
+ const scaleAnim = (0, import_react34.useRef)(new import_react_native29.Animated.Value(isSelected ? 1 : 0)).current;
3239
+ (0, import_react34.useEffect)(() => {
4039
3240
  if (isSelected) {
4040
3241
  scaleAnim.setValue(0.92);
4041
- import_react_native36.Animated.spring(scaleAnim, {
3242
+ import_react_native29.Animated.spring(scaleAnim, {
4042
3243
  toValue: 1,
4043
3244
  useNativeDriver: true,
4044
3245
  damping: 20,
@@ -4050,8 +3251,8 @@ var AnimatedDayCell = ({
4050
3251
  }
4051
3252
  }, [isSelected, scaleAnim]);
4052
3253
  const animatedStyle = isSelected ? { transform: [{ scale: scaleAnim }] } : void 0;
4053
- return /* @__PURE__ */ import_react41.default.createElement(
4054
- import_react_native36.Pressable,
3254
+ return /* @__PURE__ */ import_react34.default.createElement(
3255
+ import_react_native29.Pressable,
4055
3256
  {
4056
3257
  style: [
4057
3258
  styles10.dayCell,
@@ -4073,8 +3274,8 @@ var AnimatedDayCell = ({
4073
3274
  disabled: isDisabled
4074
3275
  }
4075
3276
  },
4076
- isSelected ? /* @__PURE__ */ import_react41.default.createElement(
4077
- import_react_native36.Animated.View,
3277
+ isSelected ? /* @__PURE__ */ import_react34.default.createElement(
3278
+ import_react_native29.Animated.View,
4078
3279
  {
4079
3280
  style: [
4080
3281
  styles10.selectedCellInner,
@@ -4082,9 +3283,9 @@ var AnimatedDayCell = ({
4082
3283
  animatedStyle
4083
3284
  ]
4084
3285
  },
4085
- /* @__PURE__ */ import_react41.default.createElement(import_react_native36.Text, { style: [styles10.dayText, { color: accentFg }] }, day)
4086
- ) : /* @__PURE__ */ import_react41.default.createElement(
4087
- import_react_native36.Text,
3286
+ /* @__PURE__ */ import_react34.default.createElement(import_react_native29.Text, { style: [styles10.dayText, { color: accentFg }] }, day)
3287
+ ) : /* @__PURE__ */ import_react34.default.createElement(
3288
+ import_react_native29.Text,
4088
3289
  {
4089
3290
  style: [
4090
3291
  styles10.dayText,
@@ -4114,12 +3315,12 @@ var DatePickerDialogCalendar = ({
4114
3315
  onNextMonth
4115
3316
  }) => {
4116
3317
  const theme = useXUITheme();
4117
- const swipeHandledRef = (0, import_react41.useRef)(false);
4118
- const weekdays = (0, import_react41.useMemo)(
3318
+ const swipeHandledRef = (0, import_react34.useRef)(false);
3319
+ const weekdays = (0, import_react34.useMemo)(
4119
3320
  () => getWeekdayNames(locale, firstDayOfWeek),
4120
3321
  [locale, firstDayOfWeek]
4121
3322
  );
4122
- const days = (0, import_react41.useMemo)(
3323
+ const days = (0, import_react34.useMemo)(
4123
3324
  () => getCalendarDays(
4124
3325
  viewDate.getFullYear(),
4125
3326
  viewDate.getMonth(),
@@ -4129,7 +3330,7 @@ var DatePickerDialogCalendar = ({
4129
3330
  ),
4130
3331
  [viewDate, firstDayOfWeek, minDate, maxDate]
4131
3332
  );
4132
- const weeks = (0, import_react41.useMemo)(() => {
3333
+ const weeks = (0, import_react34.useMemo)(() => {
4133
3334
  const result = [];
4134
3335
  for (let i = 0; i < days.length; i += 7) {
4135
3336
  result.push(days.slice(i, i + 7));
@@ -4154,15 +3355,15 @@ var DatePickerDialogCalendar = ({
4154
3355
  }
4155
3356
  onSwipeEnd(event);
4156
3357
  };
4157
- return /* @__PURE__ */ import_react41.default.createElement(
3358
+ return /* @__PURE__ */ import_react34.default.createElement(
4158
3359
  import_react_native_gesture_handler.PanGestureHandler,
4159
3360
  {
4160
3361
  activeOffsetX: [-12, 12],
4161
3362
  failOffsetY: [-12, 12],
4162
3363
  onHandlerStateChange: onSwipeStateChange
4163
3364
  },
4164
- /* @__PURE__ */ import_react41.default.createElement(import_react_native36.View, { style: styles10.calendarGrid }, /* @__PURE__ */ import_react41.default.createElement(import_react_native36.View, { style: styles10.weekdayRow }, weekdays.map((day, index) => /* @__PURE__ */ import_react41.default.createElement(import_react_native36.View, { key: index, style: styles10.weekdayCell }, /* @__PURE__ */ import_react41.default.createElement(
4165
- import_react_native36.Text,
3365
+ /* @__PURE__ */ import_react34.default.createElement(import_react_native29.View, { style: styles10.calendarGrid }, /* @__PURE__ */ import_react34.default.createElement(import_react_native29.View, { style: styles10.weekdayRow }, weekdays.map((day, index) => /* @__PURE__ */ import_react34.default.createElement(import_react_native29.View, { key: index, style: styles10.weekdayCell }, /* @__PURE__ */ import_react34.default.createElement(
3366
+ import_react_native29.Text,
4166
3367
  {
4167
3368
  style: [
4168
3369
  styles10.weekdayText,
@@ -4170,7 +3371,7 @@ var DatePickerDialogCalendar = ({
4170
3371
  ]
4171
3372
  },
4172
3373
  day
4173
- )))), weeks.map((week, weekIndex) => /* @__PURE__ */ import_react41.default.createElement(import_react_native36.View, { key: weekIndex, style: styles10.dayRow }, week.map((dayInfo, dayIndex) => /* @__PURE__ */ import_react41.default.createElement(
3374
+ )))), weeks.map((week, weekIndex) => /* @__PURE__ */ import_react34.default.createElement(import_react_native29.View, { key: weekIndex, style: styles10.dayRow }, week.map((dayInfo, dayIndex) => /* @__PURE__ */ import_react34.default.createElement(
4174
3375
  AnimatedDayCell,
4175
3376
  {
4176
3377
  key: dayIndex,
@@ -4189,8 +3390,12 @@ var DatePickerDialogCalendar = ({
4189
3390
  };
4190
3391
 
4191
3392
  // src/components/dialogs/datepicker-dialog/datepicker-dialog-header.tsx
4192
- var import_react42 = __toESM(require("react"), 1);
4193
- var import_react_native37 = require("react-native");
3393
+ var import_react35 = __toESM(require("react"), 1);
3394
+ var import_react_native30 = require("react-native");
3395
+ var import_chevron_down = require("@xaui/icons/chevron-down");
3396
+ var import_chevron_left = require("@xaui/icons/chevron-left");
3397
+ var import_chevron_right = require("@xaui/icons/chevron-right");
3398
+ var import_close = require("@xaui/icons/close");
4194
3399
  var DatePickerDialogHeader = ({
4195
3400
  viewDate,
4196
3401
  selectedDate,
@@ -4204,89 +3409,77 @@ var DatePickerDialogHeader = ({
4204
3409
  }) => {
4205
3410
  const theme = useXUITheme();
4206
3411
  const colorScheme = theme.colors[themeColor] ?? theme.colors.primary;
4207
- const dateText = (0, import_react42.useMemo)(() => {
3412
+ const dateText = (0, import_react35.useMemo)(() => {
4208
3413
  if (!selectedDate) return "---";
4209
3414
  return formatDate(selectedDate, locale);
4210
3415
  }, [selectedDate, locale]);
4211
- const monthYearLabel = (0, import_react42.useMemo)(() => {
3416
+ const monthYearLabel = (0, import_react35.useMemo)(() => {
4212
3417
  const month = getMonthName(viewDate.getMonth(), locale);
4213
3418
  return `${month} ${viewDate.getFullYear()}`;
4214
3419
  }, [viewDate, locale]);
4215
- return /* @__PURE__ */ import_react42.default.createElement(import_react42.default.Fragment, null, /* @__PURE__ */ import_react42.default.createElement(import_react_native37.View, { style: [styles10.header, { backgroundColor: colorScheme.main }] }, /* @__PURE__ */ import_react42.default.createElement(import_react_native37.Text, { style: [styles10.headerLabel, { color: colorScheme.foreground }] }, selectDateLabel), /* @__PURE__ */ import_react42.default.createElement(import_react_native37.View, { style: styles10.headerDateRow }, /* @__PURE__ */ import_react42.default.createElement(import_react_native37.Text, { style: [styles10.headerDate, { color: colorScheme.foreground }] }, dateText), /* @__PURE__ */ import_react42.default.createElement(
4216
- import_react_native37.Pressable,
3420
+ return /* @__PURE__ */ import_react35.default.createElement(import_react35.default.Fragment, null, /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, { style: [styles10.header, { backgroundColor: colorScheme.main }] }, /* @__PURE__ */ import_react35.default.createElement(import_react_native30.Text, { style: [styles10.headerLabel, { color: colorScheme.foreground }] }, selectDateLabel), /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, { style: styles10.headerDateRow }, /* @__PURE__ */ import_react35.default.createElement(import_react_native30.Text, { style: [styles10.headerDate, { color: colorScheme.foreground }] }, dateText), selectedDate ? /* @__PURE__ */ import_react35.default.createElement(
3421
+ import_react_native30.Pressable,
4217
3422
  {
4218
3423
  onPress: onClearValue,
4219
3424
  hitSlop: { top: 8, right: 8, bottom: 8, left: 8 },
4220
3425
  accessibilityLabel: "Clear date",
4221
3426
  accessibilityRole: "button"
4222
3427
  },
4223
- /* @__PURE__ */ import_react42.default.createElement(CloseIcon, { size: 20, color: colorScheme.foreground })
4224
- ))), /* @__PURE__ */ import_react42.default.createElement(import_react_native37.View, { style: styles10.navigationRow }, /* @__PURE__ */ import_react42.default.createElement(
4225
- import_react_native37.Pressable,
3428
+ /* @__PURE__ */ import_react35.default.createElement(import_close.CloseIcon, { size: 20, color: colorScheme.foreground })
3429
+ ) : null)), /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, { style: styles10.navigationRow }, /* @__PURE__ */ import_react35.default.createElement(
3430
+ import_react_native30.Pressable,
4226
3431
  {
4227
3432
  style: styles10.monthYearButton,
4228
3433
  onPress: onToggleYearPicker,
4229
3434
  accessibilityLabel: `${monthYearLabel}, tap to change`,
4230
3435
  accessibilityRole: "button"
4231
3436
  },
4232
- /* @__PURE__ */ import_react42.default.createElement(
4233
- import_react_native37.Text,
4234
- {
4235
- style: [styles10.monthYearText, { color: theme.colors.foreground }]
4236
- },
4237
- monthYearLabel
4238
- ),
4239
- /* @__PURE__ */ import_react42.default.createElement(
4240
- ChevronDownIcon,
4241
- {
4242
- size: 18,
4243
- color: theme.colors.foreground
4244
- }
4245
- )
4246
- ), /* @__PURE__ */ import_react42.default.createElement(import_react_native37.View, { style: styles10.navButtons }, /* @__PURE__ */ import_react42.default.createElement(
4247
- import_react_native37.Pressable,
3437
+ /* @__PURE__ */ import_react35.default.createElement(import_react_native30.Text, { style: [styles10.monthYearText, { color: theme.colors.foreground }] }, monthYearLabel),
3438
+ /* @__PURE__ */ import_react35.default.createElement(import_chevron_down.ChevronDownIcon, { size: 18, color: theme.colors.foreground })
3439
+ ), /* @__PURE__ */ import_react35.default.createElement(import_react_native30.View, { style: styles10.navButtons }, /* @__PURE__ */ import_react35.default.createElement(
3440
+ import_react_native30.Pressable,
4248
3441
  {
4249
3442
  style: styles10.navButton,
4250
3443
  onPress: onPreviousMonth,
4251
3444
  accessibilityLabel: "Previous month",
4252
3445
  accessibilityRole: "button"
4253
3446
  },
4254
- /* @__PURE__ */ import_react42.default.createElement(ChevronLeftIcon, { size: 20, color: theme.colors.foreground })
4255
- ), /* @__PURE__ */ import_react42.default.createElement(
4256
- import_react_native37.Pressable,
3447
+ /* @__PURE__ */ import_react35.default.createElement(import_chevron_left.ChevronLeftIcon, { size: 20, color: theme.colors.foreground })
3448
+ ), /* @__PURE__ */ import_react35.default.createElement(
3449
+ import_react_native30.Pressable,
4257
3450
  {
4258
3451
  style: styles10.navButton,
4259
3452
  onPress: onNextMonth,
4260
3453
  accessibilityLabel: "Next month",
4261
3454
  accessibilityRole: "button"
4262
3455
  },
4263
- /* @__PURE__ */ import_react42.default.createElement(ChevronRightIcon, { size: 20, color: theme.colors.foreground })
3456
+ /* @__PURE__ */ import_react35.default.createElement(import_chevron_right.ChevronRightIcon, { size: 20, color: theme.colors.foreground })
4264
3457
  ))));
4265
3458
  };
4266
3459
 
4267
3460
  // src/components/dialogs/datepicker-dialog/datepicker-dialog-month-picker.tsx
4268
- var import_react43 = __toESM(require("react"), 1);
4269
- var import_react_native38 = require("react-native");
3461
+ var import_react36 = __toESM(require("react"), 1);
3462
+ var import_react_native31 = require("react-native");
4270
3463
  var DatePickerDialogMonthPicker = ({ viewDate, locale, themeColor, onSelectMonth }) => {
4271
3464
  const theme = useXUITheme();
4272
3465
  const colorScheme = theme.colors[themeColor] ?? theme.colors.primary;
4273
3466
  const isDefault = themeColor === "default";
4274
3467
  const accentColor = isDefault ? theme.colors.foreground : colorScheme.main;
4275
3468
  const accentFg = isDefault ? theme.colors.background : colorScheme.foreground;
4276
- const months = (0, import_react43.useMemo)(() => getMonthNames(locale), [locale]);
3469
+ const months = (0, import_react36.useMemo)(() => getMonthNames(locale), [locale]);
4277
3470
  const currentMonth = viewDate.getMonth();
4278
- const groupAnim = (0, import_react43.useRef)(new import_react_native38.Animated.Value(0)).current;
4279
- (0, import_react43.useEffect)(() => {
3471
+ const groupAnim = (0, import_react36.useRef)(new import_react_native31.Animated.Value(0)).current;
3472
+ (0, import_react36.useEffect)(() => {
4280
3473
  groupAnim.setValue(0);
4281
- import_react_native38.Animated.timing(groupAnim, {
3474
+ import_react_native31.Animated.timing(groupAnim, {
4282
3475
  toValue: 1,
4283
3476
  duration: 220,
4284
- easing: import_react_native38.Easing.out(import_react_native38.Easing.cubic),
3477
+ easing: import_react_native31.Easing.out(import_react_native31.Easing.cubic),
4285
3478
  useNativeDriver: true
4286
3479
  }).start();
4287
3480
  }, [groupAnim]);
4288
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native38.View, { style: styles10.monthPickerContainer }, /* @__PURE__ */ import_react43.default.createElement(
4289
- import_react_native38.Animated.View,
3481
+ return /* @__PURE__ */ import_react36.default.createElement(import_react_native31.View, { style: styles10.monthPickerContainer }, /* @__PURE__ */ import_react36.default.createElement(
3482
+ import_react_native31.Animated.View,
4290
3483
  {
4291
3484
  style: {
4292
3485
  opacity: groupAnim,
@@ -4300,10 +3493,10 @@ var DatePickerDialogMonthPicker = ({ viewDate, locale, themeColor, onSelectMonth
4300
3493
  ]
4301
3494
  }
4302
3495
  },
4303
- /* @__PURE__ */ import_react43.default.createElement(import_react_native38.View, { style: styles10.monthGrid }, months.map((name, index) => {
3496
+ /* @__PURE__ */ import_react36.default.createElement(import_react_native31.View, { style: styles10.monthGrid }, months.map((name, index) => {
4304
3497
  const isCurrentMonth = index === currentMonth;
4305
- return /* @__PURE__ */ import_react43.default.createElement(
4306
- import_react_native38.Pressable,
3498
+ return /* @__PURE__ */ import_react36.default.createElement(
3499
+ import_react_native31.Pressable,
4307
3500
  {
4308
3501
  key: index,
4309
3502
  style: [
@@ -4315,8 +3508,8 @@ var DatePickerDialogMonthPicker = ({ viewDate, locale, themeColor, onSelectMonth
4315
3508
  accessibilityRole: "button",
4316
3509
  accessibilityState: { selected: isCurrentMonth }
4317
3510
  },
4318
- /* @__PURE__ */ import_react43.default.createElement(
4319
- import_react_native38.Text,
3511
+ /* @__PURE__ */ import_react36.default.createElement(
3512
+ import_react_native31.Text,
4320
3513
  {
4321
3514
  style: [
4322
3515
  styles10.monthText,
@@ -4335,38 +3528,35 @@ var DatePickerDialogMonthPicker = ({ viewDate, locale, themeColor, onSelectMonth
4335
3528
  };
4336
3529
 
4337
3530
  // src/components/dialogs/datepicker-dialog/datepicker-dialog-year-picker.tsx
4338
- var import_react44 = __toESM(require("react"), 1);
4339
- var import_react_native39 = require("react-native");
3531
+ var import_react37 = __toESM(require("react"), 1);
3532
+ var import_react_native32 = require("react-native");
4340
3533
  var ITEM_HEIGHT = 48;
4341
3534
  var NUM_COLUMNS = 4;
4342
3535
  var DatePickerDialogYearPicker = ({ viewDate, themeColor, minDate, maxDate, onSelectYear }) => {
4343
- const listRef = (0, import_react44.useRef)(null);
4344
- const groupAnim = (0, import_react44.useRef)(new import_react_native39.Animated.Value(0)).current;
3536
+ const listRef = (0, import_react37.useRef)(null);
3537
+ const groupAnim = (0, import_react37.useRef)(new import_react_native32.Animated.Value(0)).current;
4345
3538
  const theme = useXUITheme();
4346
3539
  const colorScheme = theme.colors[themeColor] ?? theme.colors.primary;
4347
3540
  const isDefault = themeColor === "default";
4348
3541
  const accentColor = isDefault ? theme.colors.foreground : colorScheme.main;
4349
3542
  const accentFg = isDefault ? theme.colors.background : colorScheme.foreground;
4350
- const years = (0, import_react44.useMemo)(
4351
- () => getYearRange(minDate, maxDate),
4352
- [minDate, maxDate]
4353
- );
3543
+ const years = (0, import_react37.useMemo)(() => getYearRange(minDate, maxDate), [minDate, maxDate]);
4354
3544
  const currentYear = viewDate.getFullYear();
4355
- const initialIndex = (0, import_react44.useMemo)(() => {
3545
+ const initialIndex = (0, import_react37.useMemo)(() => {
4356
3546
  const index = years.indexOf(currentYear);
4357
3547
  const rowIndex = Math.floor(index / NUM_COLUMNS);
4358
3548
  return Math.max(0, rowIndex);
4359
3549
  }, [years, currentYear]);
4360
- (0, import_react44.useEffect)(() => {
3550
+ (0, import_react37.useEffect)(() => {
4361
3551
  groupAnim.setValue(0);
4362
- import_react_native39.Animated.timing(groupAnim, {
3552
+ import_react_native32.Animated.timing(groupAnim, {
4363
3553
  toValue: 1,
4364
3554
  duration: 220,
4365
- easing: import_react_native39.Easing.out(import_react_native39.Easing.cubic),
3555
+ easing: import_react_native32.Easing.out(import_react_native32.Easing.cubic),
4366
3556
  useNativeDriver: true
4367
3557
  }).start();
4368
3558
  }, [groupAnim]);
4369
- const getItemLayout = (0, import_react44.useCallback)(
3559
+ const getItemLayout = (0, import_react37.useCallback)(
4370
3560
  (_, index) => ({
4371
3561
  length: ITEM_HEIGHT,
4372
3562
  offset: ITEM_HEIGHT * index,
@@ -4374,11 +3564,11 @@ var DatePickerDialogYearPicker = ({ viewDate, themeColor, minDate, maxDate, onSe
4374
3564
  }),
4375
3565
  []
4376
3566
  );
4377
- const renderYear = (0, import_react44.useCallback)(
3567
+ const renderYear = (0, import_react37.useCallback)(
4378
3568
  ({ item }) => {
4379
3569
  const isCurrentYear = item === currentYear;
4380
- return /* @__PURE__ */ import_react44.default.createElement(
4381
- import_react_native39.Pressable,
3570
+ return /* @__PURE__ */ import_react37.default.createElement(
3571
+ import_react_native32.Pressable,
4382
3572
  {
4383
3573
  style: [
4384
3574
  styles10.yearCell,
@@ -4389,8 +3579,8 @@ var DatePickerDialogYearPicker = ({ viewDate, themeColor, minDate, maxDate, onSe
4389
3579
  accessibilityRole: "button",
4390
3580
  accessibilityState: { selected: isCurrentYear }
4391
3581
  },
4392
- /* @__PURE__ */ import_react44.default.createElement(
4393
- import_react_native39.Text,
3582
+ /* @__PURE__ */ import_react37.default.createElement(
3583
+ import_react_native32.Text,
4394
3584
  {
4395
3585
  style: [
4396
3586
  styles10.yearText,
@@ -4407,8 +3597,8 @@ var DatePickerDialogYearPicker = ({ viewDate, themeColor, minDate, maxDate, onSe
4407
3597
  },
4408
3598
  [currentYear, onSelectYear, accentColor, accentFg, theme.colors.foreground]
4409
3599
  );
4410
- return /* @__PURE__ */ import_react44.default.createElement(import_react_native39.View, { style: styles10.yearPickerContainer }, /* @__PURE__ */ import_react44.default.createElement(
4411
- import_react_native39.Animated.View,
3600
+ return /* @__PURE__ */ import_react37.default.createElement(import_react_native32.View, { style: styles10.yearPickerContainer }, /* @__PURE__ */ import_react37.default.createElement(
3601
+ import_react_native32.Animated.View,
4412
3602
  {
4413
3603
  style: {
4414
3604
  opacity: groupAnim,
@@ -4422,8 +3612,8 @@ var DatePickerDialogYearPicker = ({ viewDate, themeColor, minDate, maxDate, onSe
4422
3612
  ]
4423
3613
  }
4424
3614
  },
4425
- /* @__PURE__ */ import_react44.default.createElement(
4426
- import_react_native39.FlatList,
3615
+ /* @__PURE__ */ import_react37.default.createElement(
3616
+ import_react_native32.FlatList,
4427
3617
  {
4428
3618
  ref: listRef,
4429
3619
  data: years,
@@ -4456,13 +3646,13 @@ var DatePickerDialog = ({
4456
3646
  onClose
4457
3647
  }) => {
4458
3648
  const theme = useXUITheme();
4459
- const { width: screenWidth, height: screenHeight } = (0, import_react_native40.useWindowDimensions)();
4460
- const fadeAnim = (0, import_react45.useRef)(new import_react_native40.Animated.Value(0)).current;
4461
- const slideAnim = (0, import_react45.useRef)(new import_react_native40.Animated.Value(0)).current;
4462
- const scaleAnim = (0, import_react45.useRef)(new import_react_native40.Animated.Value(0)).current;
4463
- const viewFadeAnim = (0, import_react45.useRef)(new import_react_native40.Animated.Value(1)).current;
4464
- const monthSlideXAnim = (0, import_react45.useRef)(new import_react_native40.Animated.Value(0)).current;
4465
- const monthFadeAnim = (0, import_react45.useRef)(new import_react_native40.Animated.Value(1)).current;
3649
+ const { width: screenWidth, height: screenHeight } = (0, import_react_native33.useWindowDimensions)();
3650
+ const fadeAnim = (0, import_react38.useRef)(new import_react_native33.Animated.Value(0)).current;
3651
+ const slideAnim = (0, import_react38.useRef)(new import_react_native33.Animated.Value(0)).current;
3652
+ const scaleAnim = (0, import_react38.useRef)(new import_react_native33.Animated.Value(0)).current;
3653
+ const viewFadeAnim = (0, import_react38.useRef)(new import_react_native33.Animated.Value(1)).current;
3654
+ const monthSlideXAnim = (0, import_react38.useRef)(new import_react_native33.Animated.Value(0)).current;
3655
+ const monthFadeAnim = (0, import_react38.useRef)(new import_react_native33.Animated.Value(1)).current;
4466
3656
  const colorScheme = theme.colors[themeColor] ?? theme.colors.primary;
4467
3657
  const isDefault = themeColor === "default";
4468
3658
  const accentColor = isDefault ? theme.colors.foreground : colorScheme.main;
@@ -4480,7 +3670,7 @@ var DatePickerDialog = ({
4480
3670
  toggleYearPicker,
4481
3671
  syncViewToDate
4482
3672
  } = useDatePickerViewState(selectedDate);
4483
- const onCloseComplete = (0, import_react45.useCallback)(() => {
3673
+ const onCloseComplete = (0, import_react38.useCallback)(() => {
4484
3674
  fadeAnim.setValue(0);
4485
3675
  slideAnim.setValue(0);
4486
3676
  scaleAnim.setValue(0);
@@ -4502,41 +3692,41 @@ var DatePickerDialog = ({
4502
3692
  slideAnim: monthSlideXAnim,
4503
3693
  fadeAnim: monthFadeAnim
4504
3694
  });
4505
- const prevViewModeRef = (0, import_react45.useRef)(viewMode);
4506
- (0, import_react45.useEffect)(() => {
3695
+ const prevViewModeRef = (0, import_react38.useRef)(viewMode);
3696
+ (0, import_react38.useEffect)(() => {
4507
3697
  if (prevViewModeRef.current !== viewMode) {
4508
3698
  prevViewModeRef.current = viewMode;
4509
3699
  animateViewTransition();
4510
3700
  }
4511
3701
  }, [viewMode, animateViewTransition]);
4512
- (0, import_react45.useEffect)(() => {
3702
+ (0, import_react38.useEffect)(() => {
4513
3703
  if (visible && selectedDate) {
4514
3704
  syncViewToDate(selectedDate);
4515
3705
  }
4516
3706
  }, [visible, selectedDate, syncViewToDate]);
4517
- (0, import_react45.useEffect)(() => {
3707
+ (0, import_react38.useEffect)(() => {
4518
3708
  if (!visible) return;
4519
- const sub = import_react_native40.BackHandler.addEventListener("hardwareBackPress", () => {
3709
+ const sub = import_react_native33.BackHandler.addEventListener("hardwareBackPress", () => {
4520
3710
  onClose();
4521
3711
  return true;
4522
3712
  });
4523
3713
  return () => sub.remove();
4524
3714
  }, [visible, onClose]);
4525
- const handlePreviousMonth = (0, import_react45.useCallback)(() => {
3715
+ const handlePreviousMonth = (0, import_react38.useCallback)(() => {
4526
3716
  goToPreviousMonth();
4527
3717
  animateMonthSlide("left");
4528
3718
  }, [goToPreviousMonth, animateMonthSlide]);
4529
- const handleNextMonth = (0, import_react45.useCallback)(() => {
3719
+ const handleNextMonth = (0, import_react38.useCallback)(() => {
4530
3720
  goToNextMonth();
4531
3721
  animateMonthSlide("right");
4532
3722
  }, [goToNextMonth, animateMonthSlide]);
4533
- const handleDaySelect = (0, import_react45.useCallback)(
3723
+ const handleDaySelect = (0, import_react38.useCallback)(
4534
3724
  (date) => {
4535
3725
  onDateSelect(date);
4536
3726
  },
4537
3727
  [onDateSelect]
4538
3728
  );
4539
- const handleTodayPress = (0, import_react45.useCallback)(() => {
3729
+ const handleTodayPress = (0, import_react38.useCallback)(() => {
4540
3730
  const today = /* @__PURE__ */ new Date();
4541
3731
  if (!isDateInRange(today, minDate, maxDate)) return;
4542
3732
  goToToday();
@@ -4585,7 +3775,7 @@ var DatePickerDialog = ({
4585
3775
  const renderContent = () => {
4586
3776
  switch (viewMode) {
4587
3777
  case "year":
4588
- return /* @__PURE__ */ import_react45.default.createElement(
3778
+ return /* @__PURE__ */ import_react38.default.createElement(
4589
3779
  DatePickerDialogYearPicker,
4590
3780
  {
4591
3781
  viewDate,
@@ -4596,7 +3786,7 @@ var DatePickerDialog = ({
4596
3786
  }
4597
3787
  );
4598
3788
  case "month":
4599
- return /* @__PURE__ */ import_react45.default.createElement(
3789
+ return /* @__PURE__ */ import_react38.default.createElement(
4600
3790
  DatePickerDialogMonthPicker,
4601
3791
  {
4602
3792
  viewDate,
@@ -4607,7 +3797,7 @@ var DatePickerDialog = ({
4607
3797
  );
4608
3798
  case "calendar":
4609
3799
  default:
4610
- return /* @__PURE__ */ import_react45.default.createElement(import_react_native40.Animated.View, { style: [viewTransitionStyle, monthSlideStyle] }, /* @__PURE__ */ import_react45.default.createElement(
3800
+ return /* @__PURE__ */ import_react38.default.createElement(import_react_native33.Animated.View, { style: [viewTransitionStyle, monthSlideStyle] }, /* @__PURE__ */ import_react38.default.createElement(
4611
3801
  DatePickerDialogCalendar,
4612
3802
  {
4613
3803
  viewDate,
@@ -4624,23 +3814,23 @@ var DatePickerDialog = ({
4624
3814
  ));
4625
3815
  }
4626
3816
  };
4627
- return /* @__PURE__ */ import_react45.default.createElement(Portal, null, /* @__PURE__ */ import_react45.default.createElement(import_react_native_gesture_handler2.GestureHandlerRootView, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react45.default.createElement(import_react_native40.View, { style: overlayStyle }, /* @__PURE__ */ import_react45.default.createElement(import_react_native40.Animated.View, { style: [styles10.backdrop, { opacity: fadeAnim }] }, /* @__PURE__ */ import_react45.default.createElement(
4628
- import_react_native40.Pressable,
3817
+ return /* @__PURE__ */ import_react38.default.createElement(Portal, null, /* @__PURE__ */ import_react38.default.createElement(import_react_native_gesture_handler2.GestureHandlerRootView, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react38.default.createElement(import_react_native33.View, { style: overlayStyle }, /* @__PURE__ */ import_react38.default.createElement(import_react_native33.Animated.View, { style: [styles10.backdrop, { opacity: fadeAnim }] }, /* @__PURE__ */ import_react38.default.createElement(
3818
+ import_react_native33.Pressable,
4629
3819
  {
4630
3820
  style: { flex: 1 },
4631
3821
  onPress: onClose,
4632
3822
  accessibilityLabel: "Close calendar",
4633
3823
  accessibilityRole: "button"
4634
3824
  }
4635
- )), /* @__PURE__ */ import_react45.default.createElement(import_react_native40.Animated.View, { style: [styles10.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react45.default.createElement(
4636
- import_react_native40.View,
3825
+ )), /* @__PURE__ */ import_react38.default.createElement(import_react_native33.Animated.View, { style: [styles10.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react38.default.createElement(
3826
+ import_react_native33.View,
4637
3827
  {
4638
3828
  style: [
4639
3829
  styles10.container,
4640
3830
  { backgroundColor: theme.colors.background }
4641
3831
  ]
4642
3832
  },
4643
- /* @__PURE__ */ import_react45.default.createElement(
3833
+ /* @__PURE__ */ import_react38.default.createElement(
4644
3834
  DatePickerDialogHeader,
4645
3835
  {
4646
3836
  viewDate,
@@ -4655,31 +3845,33 @@ var DatePickerDialog = ({
4655
3845
  }
4656
3846
  ),
4657
3847
  renderContent(),
4658
- /* @__PURE__ */ import_react45.default.createElement(import_react_native40.View, { style: styles10.footer }, /* @__PURE__ */ import_react45.default.createElement(
4659
- import_react_native40.Pressable,
3848
+ /* @__PURE__ */ import_react38.default.createElement(import_react_native33.View, { style: styles10.footer }, /* @__PURE__ */ import_react38.default.createElement(
3849
+ import_react_native33.Pressable,
4660
3850
  {
4661
3851
  style: styles10.footerButton,
4662
3852
  onPress: handleTodayPress,
4663
3853
  accessibilityLabel: resolvedTodayLabel,
4664
3854
  accessibilityRole: "button"
4665
3855
  },
4666
- /* @__PURE__ */ import_react45.default.createElement(import_react_native40.Text, { style: [styles10.footerButtonText, { color: accentColor }] }, resolvedTodayLabel)
4667
- ), /* @__PURE__ */ import_react45.default.createElement(
4668
- import_react_native40.Pressable,
3856
+ /* @__PURE__ */ import_react38.default.createElement(import_react_native33.Text, { style: [styles10.footerButtonText, { color: accentColor }] }, resolvedTodayLabel)
3857
+ ), /* @__PURE__ */ import_react38.default.createElement(
3858
+ import_react_native33.Pressable,
4669
3859
  {
4670
3860
  style: styles10.footerButton,
4671
3861
  onPress: onClose,
4672
3862
  accessibilityLabel: resolvedConfirmLabel,
4673
3863
  accessibilityRole: "button"
4674
3864
  },
4675
- /* @__PURE__ */ import_react45.default.createElement(import_react_native40.Text, { style: [styles10.footerButtonText, { color: accentColor }] }, resolvedConfirmLabel)
3865
+ /* @__PURE__ */ import_react38.default.createElement(import_react_native33.Text, { style: [styles10.footerButtonText, { color: accentColor }] }, resolvedConfirmLabel)
4676
3866
  ))
4677
3867
  )))));
4678
3868
  };
4679
3869
 
4680
3870
  // src/components/datepicker/datepicker-trigger.tsx
4681
- var import_react46 = __toESM(require("react"), 1);
4682
- var import_react_native41 = require("react-native");
3871
+ var import_react39 = __toESM(require("react"), 1);
3872
+ var import_react_native34 = require("react-native");
3873
+ var import_calendar = require("@xaui/icons/calendar");
3874
+ var import_close2 = require("@xaui/icons/close");
4683
3875
  var DatePickerTrigger = ({
4684
3876
  triggerRef,
4685
3877
  isDisabled,
@@ -4701,8 +3893,8 @@ var DatePickerTrigger = ({
4701
3893
  onLayout: handleTriggerLayout
4702
3894
  }) => {
4703
3895
  const renderLabel = isLabelInside && label;
4704
- return /* @__PURE__ */ import_react46.default.createElement(
4705
- import_react_native41.Pressable,
3896
+ return /* @__PURE__ */ import_react39.default.createElement(
3897
+ import_react_native34.Pressable,
4706
3898
  {
4707
3899
  ref: triggerRef,
4708
3900
  onPress: handleTriggerPress,
@@ -4724,8 +3916,8 @@ var DatePickerTrigger = ({
4724
3916
  accessibilityRole: "button",
4725
3917
  accessibilityState: { disabled: isDisabled }
4726
3918
  },
4727
- /* @__PURE__ */ import_react46.default.createElement(import_react_native41.View, { style: styles9.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react46.default.createElement(
4728
- import_react_native41.Text,
3919
+ /* @__PURE__ */ import_react39.default.createElement(import_react_native34.View, { style: styles9.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react39.default.createElement(
3920
+ import_react_native34.Text,
4729
3921
  {
4730
3922
  style: [
4731
3923
  styles9.triggerText,
@@ -4738,15 +3930,15 @@ var DatePickerTrigger = ({
4738
3930
  },
4739
3931
  displayValue
4740
3932
  )),
4741
- isClearable && hasValue ? /* @__PURE__ */ import_react46.default.createElement(
4742
- import_react_native41.TouchableOpacity,
3933
+ isClearable && hasValue ? /* @__PURE__ */ import_react39.default.createElement(
3934
+ import_react_native34.TouchableOpacity,
4743
3935
  {
4744
3936
  onPress: handleClear,
4745
3937
  style: styles9.clearButton,
4746
3938
  hitSlop: { top: 8, right: 8, bottom: 8, left: 8 }
4747
3939
  },
4748
- /* @__PURE__ */ import_react46.default.createElement(CloseIcon, { color: theme.colors.foreground, size: 20 })
4749
- ) : calendarIcon ?? /* @__PURE__ */ import_react46.default.createElement(CalendarIcon, { color: theme.colors.foreground, size: 20 })
3940
+ /* @__PURE__ */ import_react39.default.createElement(import_close2.CloseIcon, { color: theme.colors.foreground, size: 20 })
3941
+ ) : calendarIcon ?? /* @__PURE__ */ import_react39.default.createElement(import_calendar.CalendarIcon, { color: theme.colors.foreground, size: 20 })
4750
3942
  );
4751
3943
  };
4752
3944
 
@@ -4791,10 +3983,10 @@ var DatePicker = ({
4791
3983
  onOpen,
4792
3984
  onClose
4793
3985
  });
4794
- const triggerRef = (0, import_react47.useRef)(null);
4795
- const handleTriggerLayout = (0, import_react47.useCallback)(() => {
3986
+ const triggerRef = (0, import_react40.useRef)(null);
3987
+ const handleTriggerLayout = (0, import_react40.useCallback)(() => {
4796
3988
  }, []);
4797
- const firstDayOfWeek = (0, import_react47.useMemo)(
3989
+ const firstDayOfWeek = (0, import_react40.useMemo)(
4798
3990
  () => firstDayOfWeekProp ?? getFirstDayOfWeek(locale),
4799
3991
  [firstDayOfWeekProp, locale]
4800
3992
  );
@@ -4807,35 +3999,35 @@ var DatePicker = ({
4807
3999
  sizeStyles.labelSize
4808
4000
  );
4809
4001
  const helperColor = useDatePickerHelperColor(isInvalid);
4810
- const displayValue = (0, import_react47.useMemo)(() => {
4002
+ const displayValue = (0, import_react40.useMemo)(() => {
4811
4003
  if (!selectedDate) return placeholder;
4812
4004
  return formatDate(selectedDate, locale);
4813
4005
  }, [selectedDate, locale, placeholder]);
4814
- const handleTriggerPress = (0, import_react47.useCallback)(() => {
4006
+ const handleTriggerPress = (0, import_react40.useCallback)(() => {
4815
4007
  if (!isDisabled && !isReadOnly) {
4816
4008
  setOpen(true);
4817
4009
  }
4818
4010
  }, [isDisabled, isReadOnly, setOpen]);
4819
- const handleClear = (0, import_react47.useCallback)(() => {
4011
+ const handleClear = (0, import_react40.useCallback)(() => {
4820
4012
  if (isDisabled || isReadOnly) return;
4821
4013
  updateDate(null);
4822
4014
  }, [isDisabled, isReadOnly, updateDate]);
4823
- const handleDateSelect = (0, import_react47.useCallback)(
4015
+ const handleDateSelect = (0, import_react40.useCallback)(
4824
4016
  (date) => {
4825
4017
  updateDate(date);
4826
4018
  },
4827
4019
  [updateDate]
4828
4020
  );
4829
- const handleClose = (0, import_react47.useCallback)(() => {
4021
+ const handleClose = (0, import_react40.useCallback)(() => {
4830
4022
  setOpen(false);
4831
4023
  }, [setOpen]);
4832
4024
  const isLabelInside = labelPlacement === "inside";
4833
4025
  const isLabelOutsideLeft = labelPlacement === "outside-left";
4834
4026
  const isLabelOutside = labelPlacement === "outside" || labelPlacement === "outside-top";
4835
- const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react47.default.createElement(import_react_native42.Text, { style: [styles9.label, labelStyle] }, label) : /* @__PURE__ */ import_react47.default.createElement(import_react_native42.View, null, label) : null;
4027
+ const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react40.default.createElement(import_react_native35.Text, { style: [styles9.label, labelStyle] }, label) : /* @__PURE__ */ import_react40.default.createElement(import_react_native35.View, null, label) : null;
4836
4028
  const shouldShowHelper = Boolean(description || errorMessage);
4837
4029
  const helperContent = isInvalid && errorMessage ? errorMessage : description;
4838
- const triggerContent = /* @__PURE__ */ import_react47.default.createElement(
4030
+ const triggerContent = /* @__PURE__ */ import_react40.default.createElement(
4839
4031
  DatePickerTrigger,
4840
4032
  {
4841
4033
  triggerRef,
@@ -4859,8 +4051,8 @@ var DatePicker = ({
4859
4051
  }
4860
4052
  );
4861
4053
  const labelBlock = isLabelOutside || isLabelInside ? renderLabel : null;
4862
- return /* @__PURE__ */ import_react47.default.createElement(
4863
- import_react_native42.View,
4054
+ return /* @__PURE__ */ import_react40.default.createElement(
4055
+ import_react_native35.View,
4864
4056
  {
4865
4057
  style: [
4866
4058
  styles9.container,
@@ -4869,9 +4061,9 @@ var DatePicker = ({
4869
4061
  ]
4870
4062
  },
4871
4063
  isLabelOutside && labelBlock,
4872
- isLabelOutsideLeft ? /* @__PURE__ */ import_react47.default.createElement(import_react_native42.View, { style: styles9.outsideLeftRow }, renderLabel, triggerContent) : triggerContent,
4873
- shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react47.default.createElement(import_react_native42.Text, { style: [styles9.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react47.default.createElement(import_react_native42.View, null, helperContent) : null,
4874
- /* @__PURE__ */ import_react47.default.createElement(
4064
+ isLabelOutsideLeft ? /* @__PURE__ */ import_react40.default.createElement(import_react_native35.View, { style: styles9.outsideLeftRow }, renderLabel, triggerContent) : triggerContent,
4065
+ shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react40.default.createElement(import_react_native35.Text, { style: [styles9.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react40.default.createElement(import_react_native35.View, null, helperContent) : null,
4066
+ /* @__PURE__ */ import_react40.default.createElement(
4875
4067
  DatePickerDialog,
4876
4068
  {
4877
4069
  visible: isOpen,
@@ -4891,20 +4083,20 @@ var DatePicker = ({
4891
4083
  };
4892
4084
 
4893
4085
  // src/components/typography/typography.tsx
4894
- var import_react49 = __toESM(require("react"), 1);
4895
- var import_react_native44 = require("react-native");
4086
+ var import_react42 = __toESM(require("react"), 1);
4087
+ var import_react_native37 = require("react-native");
4896
4088
 
4897
4089
  // src/components/typography/typography.style.ts
4898
- var import_react_native43 = require("react-native");
4899
- var styles11 = import_react_native43.StyleSheet.create({
4090
+ var import_react_native36 = require("react-native");
4091
+ var styles11 = import_react_native36.StyleSheet.create({
4900
4092
  text: {
4901
4093
  includeFontPadding: false
4902
4094
  }
4903
4095
  });
4904
4096
 
4905
4097
  // src/components/typography/typography.hook.ts
4906
- var import_react48 = require("react");
4907
- var import_core37 = require("@xaui/core");
4098
+ var import_react41 = require("react");
4099
+ var import_core30 = require("@xaui/core");
4908
4100
  var knownVariants = {
4909
4101
  caption: true,
4910
4102
  headlineLarge: true,
@@ -4922,18 +4114,18 @@ var isKnownVariant = (variant) => {
4922
4114
  };
4923
4115
  var useTypographyColor = (themeColor) => {
4924
4116
  const theme = useXUITheme();
4925
- const color = (0, import_react48.useMemo)(() => {
4117
+ const color = (0, import_react41.useMemo)(() => {
4926
4118
  if (themeColor === "default") {
4927
4119
  return theme.colors.foreground;
4928
4120
  }
4929
- const safeThemeColor = (0, import_core37.getSafeThemeColor)(themeColor);
4121
+ const safeThemeColor = (0, import_core30.getSafeThemeColor)(themeColor);
4930
4122
  return theme.colors[safeThemeColor].main;
4931
4123
  }, [theme, themeColor]);
4932
4124
  return color;
4933
4125
  };
4934
4126
  var useTypographyVariantStyles = (variant) => {
4935
4127
  const theme = useXUITheme();
4936
- const variantStyles = (0, import_react48.useMemo)(() => {
4128
+ const variantStyles = (0, import_react41.useMemo)(() => {
4937
4129
  if (!isKnownVariant(variant)) {
4938
4130
  return {
4939
4131
  fontFamily: theme.fontFamilies.body,
@@ -5011,13 +4203,13 @@ var Typography = ({
5011
4203
  const color = useTypographyColor(themeColor);
5012
4204
  const variantStyles = useTypographyVariantStyles(variant);
5013
4205
  const colorStyle = { color };
5014
- const ellipsizeMode = (0, import_react49.useMemo)(() => {
4206
+ const ellipsizeMode = (0, import_react42.useMemo)(() => {
5015
4207
  if (!maxLines) return void 0;
5016
4208
  if (overflow === "clip") return "clip";
5017
4209
  return "tail";
5018
4210
  }, [maxLines, overflow]);
5019
- return /* @__PURE__ */ import_react49.default.createElement(
5020
- import_react_native44.Text,
4211
+ return /* @__PURE__ */ import_react42.default.createElement(
4212
+ import_react_native37.Text,
5021
4213
  {
5022
4214
  numberOfLines: maxLines,
5023
4215
  ellipsizeMode,