@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.
- package/README.md +8 -1
- package/dist/accordion/index.cjs +7 -2
- package/dist/accordion/index.js +7 -2
- package/dist/alert/index.cjs +25 -188
- package/dist/alert/index.js +1 -2
- package/dist/autocomplete/index.cjs +106 -403
- package/dist/autocomplete/index.js +1 -3
- package/dist/button/index.cjs +126 -4
- package/dist/button/index.d.cts +63 -1
- package/dist/button/index.d.ts +63 -1
- package/dist/button/index.js +117 -3
- package/dist/checkbox/index.cjs +5 -1
- package/dist/checkbox/index.js +5 -1
- package/dist/{chunk-OFYJYQ2M.js → chunk-2T6FKPJW.js} +1 -3
- package/dist/{chunk-LM23DOX3.js → chunk-7OFTYKK4.js} +13 -33
- package/dist/{chunk-63LRW4QD.js → chunk-MKHBEJLO.js} +8 -1
- package/dist/{chunk-RL47NQAU.js → chunk-NMZUPH3R.js} +7 -12
- package/dist/datepicker/index.cjs +115 -836
- package/dist/datepicker/index.js +1 -3
- package/dist/index.cjs +362 -1170
- package/dist/index.js +4 -6
- package/dist/indicator/index.cjs +8 -1
- package/dist/indicator/index.js +1 -1
- package/dist/menu/index.cjs +371 -0
- package/dist/menu/index.d.cts +107 -0
- package/dist/menu/index.d.ts +107 -0
- package/dist/menu/index.js +304 -0
- package/dist/select/index.cjs +40 -16
- package/dist/select/index.js +40 -16
- package/dist/view/index.cjs +12 -7
- package/dist/view/index.js +12 -7
- package/package.json +7 -6
- package/dist/chunk-CKGZOJVV.js +0 -815
- package/dist/chunk-SIXET7TJ.js +0 -172
- package/dist/icon/index.cjs +0 -1054
- package/dist/icon/index.d.cts +0 -42
- package/dist/icon/index.d.ts +0 -42
- package/dist/icon/index.js +0 -21
|
@@ -36,8 +36,8 @@ __export(autocomplete_exports, {
|
|
|
36
36
|
module.exports = __toCommonJS(autocomplete_exports);
|
|
37
37
|
|
|
38
38
|
// src/components/autocomplete/autocomplete.tsx
|
|
39
|
-
var
|
|
40
|
-
var
|
|
39
|
+
var import_react14 = __toESM(require("react"), 1);
|
|
40
|
+
var import_react_native10 = require("react-native");
|
|
41
41
|
|
|
42
42
|
// src/components/autocomplete/autocomplete-context.ts
|
|
43
43
|
var import_react = require("react");
|
|
@@ -358,7 +358,9 @@ var useAutocompleteInputState = ({
|
|
|
358
358
|
selectedKey,
|
|
359
359
|
onInputChange
|
|
360
360
|
}) => {
|
|
361
|
-
const [internalInputValue, setInternalInputValue] = (0, import_react8.useState)(
|
|
361
|
+
const [internalInputValue, setInternalInputValue] = (0, import_react8.useState)(
|
|
362
|
+
defaultInputValue ?? ""
|
|
363
|
+
);
|
|
362
364
|
const currentInputValue = inputValue !== void 0 ? inputValue : internalInputValue;
|
|
363
365
|
const updateInputValue = (0, import_react8.useCallback)(
|
|
364
366
|
(value) => {
|
|
@@ -404,8 +406,8 @@ var defaultFilterFunction = (textValue, inputValue) => {
|
|
|
404
406
|
};
|
|
405
407
|
|
|
406
408
|
// src/components/dialogs/autocomplete-dialog/autocomplete-dialog.tsx
|
|
407
|
-
var
|
|
408
|
-
var
|
|
409
|
+
var import_react12 = __toESM(require("react"), 1);
|
|
410
|
+
var import_react_native8 = require("react-native");
|
|
409
411
|
|
|
410
412
|
// src/components/select/checkmark-icon.tsx
|
|
411
413
|
var import_react9 = __toESM(require("react"), 1);
|
|
@@ -424,312 +426,15 @@ function CheckmarkIcon({ color, size }) {
|
|
|
424
426
|
}
|
|
425
427
|
|
|
426
428
|
// src/components/dialogs/autocomplete-dialog/autocomplete-dialog-header.tsx
|
|
427
|
-
var import_react17 = __toESM(require("react"), 1);
|
|
428
|
-
var import_react_native13 = require("react-native");
|
|
429
|
-
|
|
430
|
-
// src/components/icon/icons/arrow-back.tsx
|
|
431
429
|
var import_react10 = __toESM(require("react"), 1);
|
|
432
|
-
var import_react_native5 = require("react-native");
|
|
433
|
-
var import_react_native_svg2 = __toESM(require("react-native-svg"), 1);
|
|
434
|
-
|
|
435
|
-
// src/components/icon/icon.utils.ts
|
|
436
|
-
var isThemeColor = (color) => {
|
|
437
|
-
const themeColors = [
|
|
438
|
-
"primary",
|
|
439
|
-
"secondary",
|
|
440
|
-
"tertiary",
|
|
441
|
-
"danger",
|
|
442
|
-
"warning",
|
|
443
|
-
"success",
|
|
444
|
-
"default"
|
|
445
|
-
];
|
|
446
|
-
return themeColors.includes(color);
|
|
447
|
-
};
|
|
448
|
-
|
|
449
|
-
// src/components/icon/icons/arrow-back.tsx
|
|
450
|
-
var AnimatedPath = import_react_native5.Animated.createAnimatedComponent(import_react_native_svg2.Path);
|
|
451
|
-
var ArrowBackIcon = ({
|
|
452
|
-
variant = "baseline",
|
|
453
|
-
size = 24,
|
|
454
|
-
color = "default",
|
|
455
|
-
isAnimated = false
|
|
456
|
-
}) => {
|
|
457
|
-
const theme = useXUITheme();
|
|
458
|
-
const scaleAnim = (0, import_react10.useRef)(new import_react_native5.Animated.Value(isAnimated ? 0 : 1)).current;
|
|
459
|
-
const opacityAnim = (0, import_react10.useRef)(new import_react_native5.Animated.Value(isAnimated ? 0 : 1)).current;
|
|
460
|
-
const resolvedColor = (0, import_react10.useMemo)(() => {
|
|
461
|
-
if (typeof color === "string" && isThemeColor(color)) {
|
|
462
|
-
return theme.colors[color].main;
|
|
463
|
-
}
|
|
464
|
-
return color;
|
|
465
|
-
}, [color, theme]);
|
|
466
|
-
(0, import_react10.useEffect)(() => {
|
|
467
|
-
if (isAnimated) {
|
|
468
|
-
import_react_native5.Animated.parallel([
|
|
469
|
-
import_react_native5.Animated.spring(scaleAnim, {
|
|
470
|
-
toValue: 1,
|
|
471
|
-
useNativeDriver: true,
|
|
472
|
-
tension: 50,
|
|
473
|
-
friction: 7
|
|
474
|
-
}),
|
|
475
|
-
import_react_native5.Animated.timing(opacityAnim, {
|
|
476
|
-
toValue: 1,
|
|
477
|
-
duration: 200,
|
|
478
|
-
useNativeDriver: true
|
|
479
|
-
})
|
|
480
|
-
]).start();
|
|
481
|
-
}
|
|
482
|
-
}, [isAnimated, scaleAnim, opacityAnim]);
|
|
483
|
-
const animatedProps = isAnimated ? {
|
|
484
|
-
transform: [{ scale: scaleAnim }],
|
|
485
|
-
opacity: opacityAnim
|
|
486
|
-
} : void 0;
|
|
487
|
-
const renderArrow = () => /* @__PURE__ */ import_react10.default.createElement(
|
|
488
|
-
AnimatedPath,
|
|
489
|
-
{
|
|
490
|
-
fill: "none",
|
|
491
|
-
stroke: resolvedColor,
|
|
492
|
-
strokeLinecap: "round",
|
|
493
|
-
strokeLinejoin: "round",
|
|
494
|
-
strokeWidth: 48,
|
|
495
|
-
d: "M244 400L100 256l144-144M120 256h292",
|
|
496
|
-
...animatedProps
|
|
497
|
-
}
|
|
498
|
-
);
|
|
499
|
-
const renderDuotone = () => /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(
|
|
500
|
-
import_react_native_svg2.Path,
|
|
501
|
-
{
|
|
502
|
-
fill: resolvedColor,
|
|
503
|
-
opacity: 0.3,
|
|
504
|
-
d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
|
|
505
|
-
}
|
|
506
|
-
), renderArrow());
|
|
507
|
-
const renderRoundOutlined = () => /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(
|
|
508
|
-
import_react_native_svg2.Circle,
|
|
509
|
-
{
|
|
510
|
-
cx: "256",
|
|
511
|
-
cy: "256",
|
|
512
|
-
r: "192",
|
|
513
|
-
fill: "none",
|
|
514
|
-
stroke: resolvedColor,
|
|
515
|
-
strokeWidth: 32
|
|
516
|
-
}
|
|
517
|
-
), renderArrow());
|
|
518
|
-
const renderSquareOutlined = () => /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(
|
|
519
|
-
import_react_native_svg2.Rect,
|
|
520
|
-
{
|
|
521
|
-
x: "64",
|
|
522
|
-
y: "64",
|
|
523
|
-
width: "384",
|
|
524
|
-
height: "384",
|
|
525
|
-
rx: "48",
|
|
526
|
-
fill: "none",
|
|
527
|
-
stroke: resolvedColor,
|
|
528
|
-
strokeWidth: 32
|
|
529
|
-
}
|
|
530
|
-
), renderArrow());
|
|
531
|
-
const renderVariant = () => {
|
|
532
|
-
switch (variant) {
|
|
533
|
-
case "duotone":
|
|
534
|
-
return renderDuotone();
|
|
535
|
-
case "round-outlined":
|
|
536
|
-
return renderRoundOutlined();
|
|
537
|
-
case "square-outlined":
|
|
538
|
-
return renderSquareOutlined();
|
|
539
|
-
case "filled":
|
|
540
|
-
case "round-filled":
|
|
541
|
-
case "square-filled":
|
|
542
|
-
case "baseline":
|
|
543
|
-
default:
|
|
544
|
-
return renderArrow();
|
|
545
|
-
}
|
|
546
|
-
};
|
|
547
|
-
return /* @__PURE__ */ import_react10.default.createElement(import_react_native_svg2.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
|
|
548
|
-
};
|
|
549
|
-
|
|
550
|
-
// src/components/icon/icons/calendar.tsx
|
|
551
|
-
var import_react11 = __toESM(require("react"), 1);
|
|
552
430
|
var import_react_native6 = require("react-native");
|
|
553
|
-
var
|
|
554
|
-
var AnimatedPath2 = import_react_native6.Animated.createAnimatedComponent(import_react_native_svg3.Path);
|
|
555
|
-
|
|
556
|
-
// src/components/icon/icons/checkmark.tsx
|
|
557
|
-
var import_react12 = __toESM(require("react"), 1);
|
|
558
|
-
var import_react_native7 = require("react-native");
|
|
559
|
-
var import_react_native_svg4 = __toESM(require("react-native-svg"), 1);
|
|
560
|
-
var AnimatedPath3 = import_react_native7.Animated.createAnimatedComponent(import_react_native_svg4.Path);
|
|
561
|
-
|
|
562
|
-
// src/components/icon/icons/chevron-down.tsx
|
|
563
|
-
var import_react13 = __toESM(require("react"), 1);
|
|
564
|
-
var import_react_native8 = require("react-native");
|
|
565
|
-
var import_react_native_svg5 = __toESM(require("react-native-svg"), 1);
|
|
566
|
-
var AnimatedPath4 = import_react_native8.Animated.createAnimatedComponent(import_react_native_svg5.Path);
|
|
567
|
-
|
|
568
|
-
// src/components/icon/icons/chevron-left.tsx
|
|
569
|
-
var import_react14 = __toESM(require("react"), 1);
|
|
570
|
-
var import_react_native9 = require("react-native");
|
|
571
|
-
var import_react_native_svg6 = __toESM(require("react-native-svg"), 1);
|
|
572
|
-
var AnimatedPath5 = import_react_native9.Animated.createAnimatedComponent(import_react_native_svg6.Path);
|
|
573
|
-
|
|
574
|
-
// src/components/icon/icons/chevron-right.tsx
|
|
575
|
-
var import_react15 = __toESM(require("react"), 1);
|
|
576
|
-
var import_react_native10 = require("react-native");
|
|
577
|
-
var import_react_native_svg7 = __toESM(require("react-native-svg"), 1);
|
|
578
|
-
var AnimatedPath6 = import_react_native10.Animated.createAnimatedComponent(import_react_native_svg7.Path);
|
|
579
|
-
|
|
580
|
-
// src/components/icon/icons/close.tsx
|
|
581
|
-
var import_react16 = __toESM(require("react"), 1);
|
|
582
|
-
var import_react_native11 = require("react-native");
|
|
583
|
-
var import_react_native_svg8 = __toESM(require("react-native-svg"), 1);
|
|
584
|
-
var AnimatedPath7 = import_react_native11.Animated.createAnimatedComponent(import_react_native_svg8.Path);
|
|
585
|
-
var CloseIcon = ({
|
|
586
|
-
variant = "baseline",
|
|
587
|
-
size = 24,
|
|
588
|
-
color = "default",
|
|
589
|
-
isAnimated = false
|
|
590
|
-
}) => {
|
|
591
|
-
const theme = useXUITheme();
|
|
592
|
-
const scaleAnim = (0, import_react16.useRef)(new import_react_native11.Animated.Value(isAnimated ? 0 : 1)).current;
|
|
593
|
-
const opacityAnim = (0, import_react16.useRef)(new import_react_native11.Animated.Value(isAnimated ? 0 : 1)).current;
|
|
594
|
-
const resolvedColor = (0, import_react16.useMemo)(() => {
|
|
595
|
-
if (typeof color === "string" && isThemeColor(color)) {
|
|
596
|
-
return theme.colors[color].main;
|
|
597
|
-
}
|
|
598
|
-
return color;
|
|
599
|
-
}, [color, theme]);
|
|
600
|
-
(0, import_react16.useEffect)(() => {
|
|
601
|
-
if (isAnimated) {
|
|
602
|
-
import_react_native11.Animated.parallel([
|
|
603
|
-
import_react_native11.Animated.spring(scaleAnim, {
|
|
604
|
-
toValue: 1,
|
|
605
|
-
useNativeDriver: true,
|
|
606
|
-
tension: 50,
|
|
607
|
-
friction: 7
|
|
608
|
-
}),
|
|
609
|
-
import_react_native11.Animated.timing(opacityAnim, {
|
|
610
|
-
toValue: 1,
|
|
611
|
-
duration: 200,
|
|
612
|
-
useNativeDriver: true
|
|
613
|
-
})
|
|
614
|
-
]).start();
|
|
615
|
-
}
|
|
616
|
-
}, [isAnimated, scaleAnim, opacityAnim]);
|
|
617
|
-
const animatedProps = isAnimated ? {
|
|
618
|
-
transform: [{ scale: scaleAnim }],
|
|
619
|
-
opacity: opacityAnim
|
|
620
|
-
} : void 0;
|
|
621
|
-
const renderBaseline = () => /* @__PURE__ */ import_react16.default.createElement(
|
|
622
|
-
AnimatedPath7,
|
|
623
|
-
{
|
|
624
|
-
fill: resolvedColor,
|
|
625
|
-
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",
|
|
626
|
-
...animatedProps
|
|
627
|
-
}
|
|
628
|
-
);
|
|
629
|
-
const renderFilled = () => /* @__PURE__ */ import_react16.default.createElement(
|
|
630
|
-
AnimatedPath7,
|
|
631
|
-
{
|
|
632
|
-
fill: resolvedColor,
|
|
633
|
-
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",
|
|
634
|
-
...animatedProps
|
|
635
|
-
}
|
|
636
|
-
);
|
|
637
|
-
const renderDuotone = () => /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
|
|
638
|
-
import_react_native_svg8.Path,
|
|
639
|
-
{
|
|
640
|
-
fill: resolvedColor,
|
|
641
|
-
opacity: 0.3,
|
|
642
|
-
d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
|
|
643
|
-
}
|
|
644
|
-
), /* @__PURE__ */ import_react16.default.createElement(
|
|
645
|
-
AnimatedPath7,
|
|
646
|
-
{
|
|
647
|
-
fill: resolvedColor,
|
|
648
|
-
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",
|
|
649
|
-
...animatedProps
|
|
650
|
-
}
|
|
651
|
-
));
|
|
652
|
-
const renderRoundOutlined = () => /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
|
|
653
|
-
import_react_native_svg8.Circle,
|
|
654
|
-
{
|
|
655
|
-
cx: "256",
|
|
656
|
-
cy: "256",
|
|
657
|
-
r: "192",
|
|
658
|
-
fill: "none",
|
|
659
|
-
stroke: resolvedColor,
|
|
660
|
-
strokeWidth: 32
|
|
661
|
-
}
|
|
662
|
-
), /* @__PURE__ */ import_react16.default.createElement(
|
|
663
|
-
AnimatedPath7,
|
|
664
|
-
{
|
|
665
|
-
fill: resolvedColor,
|
|
666
|
-
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",
|
|
667
|
-
...animatedProps
|
|
668
|
-
}
|
|
669
|
-
));
|
|
670
|
-
const renderSquareOutlined = () => /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
|
|
671
|
-
import_react_native_svg8.Rect,
|
|
672
|
-
{
|
|
673
|
-
x: "64",
|
|
674
|
-
y: "64",
|
|
675
|
-
width: "384",
|
|
676
|
-
height: "384",
|
|
677
|
-
rx: "48",
|
|
678
|
-
fill: "none",
|
|
679
|
-
stroke: resolvedColor,
|
|
680
|
-
strokeWidth: 32
|
|
681
|
-
}
|
|
682
|
-
), /* @__PURE__ */ import_react16.default.createElement(
|
|
683
|
-
AnimatedPath7,
|
|
684
|
-
{
|
|
685
|
-
fill: resolvedColor,
|
|
686
|
-
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",
|
|
687
|
-
...animatedProps
|
|
688
|
-
}
|
|
689
|
-
));
|
|
690
|
-
const renderRoundFilled = () => /* @__PURE__ */ import_react16.default.createElement(
|
|
691
|
-
AnimatedPath7,
|
|
692
|
-
{
|
|
693
|
-
fill: resolvedColor,
|
|
694
|
-
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",
|
|
695
|
-
...animatedProps
|
|
696
|
-
}
|
|
697
|
-
);
|
|
698
|
-
const renderSquareFilled = () => /* @__PURE__ */ import_react16.default.createElement(
|
|
699
|
-
AnimatedPath7,
|
|
700
|
-
{
|
|
701
|
-
fill: resolvedColor,
|
|
702
|
-
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",
|
|
703
|
-
...animatedProps
|
|
704
|
-
}
|
|
705
|
-
);
|
|
706
|
-
const renderVariant = () => {
|
|
707
|
-
switch (variant) {
|
|
708
|
-
case "filled":
|
|
709
|
-
return renderFilled();
|
|
710
|
-
case "duotone":
|
|
711
|
-
return renderDuotone();
|
|
712
|
-
case "round-outlined":
|
|
713
|
-
return renderRoundOutlined();
|
|
714
|
-
case "square-outlined":
|
|
715
|
-
return renderSquareOutlined();
|
|
716
|
-
case "round-filled":
|
|
717
|
-
return renderRoundFilled();
|
|
718
|
-
case "square-filled":
|
|
719
|
-
return renderSquareFilled();
|
|
720
|
-
case "baseline":
|
|
721
|
-
default:
|
|
722
|
-
return renderBaseline();
|
|
723
|
-
}
|
|
724
|
-
};
|
|
725
|
-
return /* @__PURE__ */ import_react16.default.createElement(import_react_native_svg8.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
|
|
726
|
-
};
|
|
431
|
+
var import_icons = require("@xaui/icons");
|
|
727
432
|
|
|
728
433
|
// src/components/dialogs/autocomplete-dialog/autocomplete-dialog.style.ts
|
|
729
|
-
var
|
|
730
|
-
var styles2 =
|
|
434
|
+
var import_react_native5 = require("react-native");
|
|
435
|
+
var styles2 = import_react_native5.StyleSheet.create({
|
|
731
436
|
backdrop: {
|
|
732
|
-
...
|
|
437
|
+
...import_react_native5.StyleSheet.absoluteFillObject,
|
|
733
438
|
backgroundColor: "rgba(0, 0, 0, 0.5)"
|
|
734
439
|
},
|
|
735
440
|
dialogContainer: {
|
|
@@ -824,26 +529,23 @@ var AutocompleteDialogHeader = ({
|
|
|
824
529
|
onBlur
|
|
825
530
|
}) => {
|
|
826
531
|
const theme = useXUITheme();
|
|
827
|
-
return /* @__PURE__ */
|
|
828
|
-
|
|
532
|
+
return /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: styles2.header }, title ? /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: styles2.titleRow }, /* @__PURE__ */ import_react10.default.createElement(
|
|
533
|
+
import_react_native6.Pressable,
|
|
829
534
|
{
|
|
830
535
|
style: styles2.backButton,
|
|
831
536
|
onPress: onClose,
|
|
832
537
|
accessibilityLabel: "Back",
|
|
833
538
|
accessibilityRole: "button"
|
|
834
539
|
},
|
|
835
|
-
/* @__PURE__ */
|
|
836
|
-
), /* @__PURE__ */
|
|
837
|
-
|
|
540
|
+
/* @__PURE__ */ import_react10.default.createElement(import_icons.ArrowBackIcon, { size: 20, color: theme.colors.foreground })
|
|
541
|
+
), /* @__PURE__ */ import_react10.default.createElement(import_react_native6.Text, { style: [styles2.title, { color: theme.colors.foreground }] }, title)) : null, /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: styles2.inputContainer }, /* @__PURE__ */ import_react10.default.createElement(import_react_native6.Animated.View, { style: [styles2.inputWrapper, inputAnimatedStyle] }, /* @__PURE__ */ import_react10.default.createElement(
|
|
542
|
+
import_react_native6.TextInput,
|
|
838
543
|
{
|
|
839
544
|
ref: inputRef,
|
|
840
545
|
value: inputValue,
|
|
841
546
|
onChangeText: onInputChange,
|
|
842
547
|
placeholder,
|
|
843
|
-
placeholderTextColor: addOpacityToColor(
|
|
844
|
-
theme.colors.foreground,
|
|
845
|
-
0.5
|
|
846
|
-
),
|
|
548
|
+
placeholderTextColor: addOpacityToColor(theme.colors.foreground, 0.5),
|
|
847
549
|
style: [
|
|
848
550
|
styles2.input,
|
|
849
551
|
{
|
|
@@ -858,42 +560,42 @@ var AutocompleteDialogHeader = ({
|
|
|
858
560
|
onFocus,
|
|
859
561
|
onBlur
|
|
860
562
|
}
|
|
861
|
-
), inputValue ? /* @__PURE__ */
|
|
862
|
-
|
|
563
|
+
), inputValue ? /* @__PURE__ */ import_react10.default.createElement(
|
|
564
|
+
import_react_native6.Pressable,
|
|
863
565
|
{
|
|
864
566
|
style: styles2.clearInputButton,
|
|
865
567
|
onPress: () => onInputChange?.(""),
|
|
866
568
|
accessibilityLabel: "Clear input",
|
|
867
569
|
accessibilityRole: "button"
|
|
868
570
|
},
|
|
869
|
-
/* @__PURE__ */
|
|
571
|
+
/* @__PURE__ */ import_react10.default.createElement(import_icons.CloseIcon, { color: theme.colors.foreground })
|
|
870
572
|
) : null)));
|
|
871
573
|
};
|
|
872
574
|
|
|
873
575
|
// src/components/dialogs/autocomplete-dialog/autocomplete-dialog.animation.ts
|
|
874
|
-
var
|
|
875
|
-
var
|
|
576
|
+
var import_react11 = require("react");
|
|
577
|
+
var import_react_native7 = require("react-native");
|
|
876
578
|
var useAutocompleteDialogAnimation = ({
|
|
877
579
|
visible,
|
|
878
580
|
fadeAnim,
|
|
879
581
|
slideAnim,
|
|
880
582
|
scaleAnim
|
|
881
583
|
}) => {
|
|
882
|
-
(0,
|
|
584
|
+
(0, import_react11.useEffect)(() => {
|
|
883
585
|
if (visible) {
|
|
884
|
-
|
|
885
|
-
|
|
586
|
+
import_react_native7.Animated.parallel([
|
|
587
|
+
import_react_native7.Animated.timing(fadeAnim, {
|
|
886
588
|
toValue: 1,
|
|
887
589
|
duration: 250,
|
|
888
590
|
useNativeDriver: true
|
|
889
591
|
}),
|
|
890
|
-
|
|
592
|
+
import_react_native7.Animated.spring(slideAnim, {
|
|
891
593
|
toValue: 1,
|
|
892
594
|
useNativeDriver: true,
|
|
893
595
|
tension: 65,
|
|
894
596
|
friction: 10
|
|
895
597
|
}),
|
|
896
|
-
|
|
598
|
+
import_react_native7.Animated.spring(scaleAnim, {
|
|
897
599
|
toValue: 1,
|
|
898
600
|
useNativeDriver: true,
|
|
899
601
|
tension: 50,
|
|
@@ -927,19 +629,19 @@ var AutocompleteDialog = ({
|
|
|
927
629
|
onBlur
|
|
928
630
|
}) => {
|
|
929
631
|
const theme = useXUITheme();
|
|
930
|
-
const { width: screenWidth, height: screenHeight } = (0,
|
|
931
|
-
const fadeAnim = (0,
|
|
932
|
-
const slideAnim = (0,
|
|
933
|
-
const scaleAnim = (0,
|
|
934
|
-
const inputRef = (0,
|
|
935
|
-
const [keyboardHeight, setKeyboardHeight] = (0,
|
|
936
|
-
(0,
|
|
937
|
-
const showEvent =
|
|
938
|
-
const hideEvent =
|
|
939
|
-
const showSub =
|
|
632
|
+
const { width: screenWidth, height: screenHeight } = (0, import_react_native8.useWindowDimensions)();
|
|
633
|
+
const fadeAnim = (0, import_react12.useRef)(new import_react_native8.Animated.Value(0)).current;
|
|
634
|
+
const slideAnim = (0, import_react12.useRef)(new import_react_native8.Animated.Value(0)).current;
|
|
635
|
+
const scaleAnim = (0, import_react12.useRef)(new import_react_native8.Animated.Value(0)).current;
|
|
636
|
+
const inputRef = (0, import_react12.useRef)(null);
|
|
637
|
+
const [keyboardHeight, setKeyboardHeight] = (0, import_react12.useState)(0);
|
|
638
|
+
(0, import_react12.useEffect)(() => {
|
|
639
|
+
const showEvent = import_react_native8.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow";
|
|
640
|
+
const hideEvent = import_react_native8.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide";
|
|
641
|
+
const showSub = import_react_native8.Keyboard.addListener(showEvent, (e) => {
|
|
940
642
|
setKeyboardHeight(e.endCoordinates.height);
|
|
941
643
|
});
|
|
942
|
-
const hideSub =
|
|
644
|
+
const hideSub = import_react_native8.Keyboard.addListener(hideEvent, () => {
|
|
943
645
|
setKeyboardHeight(0);
|
|
944
646
|
});
|
|
945
647
|
return () => {
|
|
@@ -947,26 +649,26 @@ var AutocompleteDialog = ({
|
|
|
947
649
|
hideSub.remove();
|
|
948
650
|
};
|
|
949
651
|
}, []);
|
|
950
|
-
const items = (0,
|
|
951
|
-
() =>
|
|
952
|
-
|
|
652
|
+
const items = (0, import_react12.useMemo)(
|
|
653
|
+
() => import_react12.default.Children.toArray(children).filter(
|
|
654
|
+
import_react12.default.isValidElement
|
|
953
655
|
),
|
|
954
656
|
[children]
|
|
955
657
|
);
|
|
956
658
|
const checkmarkColor = theme.colors[themeColor].main;
|
|
957
659
|
const checkmarkBackgroundColor = theme.colors[themeColor].background;
|
|
958
660
|
useAutocompleteDialogAnimation({ visible, fadeAnim, slideAnim, scaleAnim });
|
|
959
|
-
(0,
|
|
661
|
+
(0, import_react12.useEffect)(() => {
|
|
960
662
|
if (!visible) return;
|
|
961
|
-
const sub =
|
|
663
|
+
const sub = import_react_native8.BackHandler.addEventListener("hardwareBackPress", () => {
|
|
962
664
|
onClose?.();
|
|
963
665
|
return true;
|
|
964
666
|
});
|
|
965
667
|
return () => sub.remove();
|
|
966
668
|
}, [visible, onClose]);
|
|
967
|
-
const focusInput = (0,
|
|
968
|
-
const delay =
|
|
969
|
-
|
|
669
|
+
const focusInput = (0, import_react12.useCallback)(() => {
|
|
670
|
+
const delay = import_react_native8.Platform.OS === "android" ? 300 : 100;
|
|
671
|
+
import_react_native8.InteractionManager.runAfterInteractions(() => {
|
|
970
672
|
setTimeout(() => {
|
|
971
673
|
inputRef.current?.focus();
|
|
972
674
|
}, delay);
|
|
@@ -974,16 +676,16 @@ var AutocompleteDialog = ({
|
|
|
974
676
|
}, []);
|
|
975
677
|
const handleCheckmarkPress = () => {
|
|
976
678
|
onCheckmark?.();
|
|
977
|
-
|
|
679
|
+
import_react_native8.Keyboard.dismiss();
|
|
978
680
|
};
|
|
979
|
-
(0,
|
|
681
|
+
(0, import_react12.useEffect)(() => {
|
|
980
682
|
if (!visible) {
|
|
981
|
-
|
|
683
|
+
import_react_native8.Keyboard.dismiss();
|
|
982
684
|
return;
|
|
983
685
|
}
|
|
984
686
|
focusInput();
|
|
985
687
|
}, [focusInput, visible]);
|
|
986
|
-
const listBottomPadding = (0,
|
|
688
|
+
const listBottomPadding = (0, import_react12.useMemo)(() => {
|
|
987
689
|
const basePadding = showCheckmark ? 96 : 64;
|
|
988
690
|
return (keyboardHeight > 0 ? keyboardHeight : 0) + basePadding;
|
|
989
691
|
}, [keyboardHeight, showCheckmark]);
|
|
@@ -1008,7 +710,7 @@ var AutocompleteDialog = ({
|
|
|
1008
710
|
const inputAnimatedStyle = {
|
|
1009
711
|
transform: [{ scaleX: scaleAnim }]
|
|
1010
712
|
};
|
|
1011
|
-
const listHeader = /* @__PURE__ */
|
|
713
|
+
const listHeader = /* @__PURE__ */ import_react12.default.createElement(
|
|
1012
714
|
AutocompleteDialogHeader,
|
|
1013
715
|
{
|
|
1014
716
|
title,
|
|
@@ -1024,14 +726,14 @@ var AutocompleteDialog = ({
|
|
|
1024
726
|
onBlur
|
|
1025
727
|
}
|
|
1026
728
|
);
|
|
1027
|
-
return /* @__PURE__ */
|
|
1028
|
-
|
|
729
|
+
return /* @__PURE__ */ import_react12.default.createElement(Portal, null, /* @__PURE__ */ import_react12.default.createElement(import_react_native8.View, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react12.default.createElement(import_react_native8.Animated.View, { style: [styles2.backdrop, { opacity: fadeAnim }] }), /* @__PURE__ */ import_react12.default.createElement(import_react_native8.Animated.View, { style: [styles2.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react12.default.createElement(
|
|
730
|
+
import_react_native8.View,
|
|
1029
731
|
{
|
|
1030
732
|
style: [styles2.container, { backgroundColor: theme.colors.background }]
|
|
1031
733
|
},
|
|
1032
734
|
listHeader,
|
|
1033
|
-
/* @__PURE__ */
|
|
1034
|
-
|
|
735
|
+
/* @__PURE__ */ import_react12.default.createElement(
|
|
736
|
+
import_react_native8.FlatList,
|
|
1035
737
|
{
|
|
1036
738
|
data: items,
|
|
1037
739
|
renderItem: ({ item }) => item,
|
|
@@ -1045,8 +747,8 @@ var AutocompleteDialog = ({
|
|
|
1045
747
|
showsVerticalScrollIndicator: false
|
|
1046
748
|
}
|
|
1047
749
|
),
|
|
1048
|
-
showCheckmark ? /* @__PURE__ */
|
|
1049
|
-
|
|
750
|
+
showCheckmark ? /* @__PURE__ */ import_react12.default.createElement(import_react_native8.View, { style: styles2.checkmarkButtonContainer }, /* @__PURE__ */ import_react12.default.createElement(
|
|
751
|
+
import_react_native8.Pressable,
|
|
1050
752
|
{
|
|
1051
753
|
style: [
|
|
1052
754
|
styles2.checkmarkButton,
|
|
@@ -1056,14 +758,15 @@ var AutocompleteDialog = ({
|
|
|
1056
758
|
accessibilityLabel: "Confirm",
|
|
1057
759
|
accessibilityRole: "button"
|
|
1058
760
|
},
|
|
1059
|
-
checkmarkIcon ?? /* @__PURE__ */
|
|
761
|
+
checkmarkIcon ?? /* @__PURE__ */ import_react12.default.createElement(CheckmarkIcon, { color: checkmarkColor, size: 20 })
|
|
1060
762
|
)) : null
|
|
1061
763
|
))));
|
|
1062
764
|
};
|
|
1063
765
|
|
|
1064
766
|
// src/components/autocomplete/autocomplete-trigger.tsx
|
|
1065
|
-
var
|
|
1066
|
-
var
|
|
767
|
+
var import_react13 = __toESM(require("react"), 1);
|
|
768
|
+
var import_react_native9 = require("react-native");
|
|
769
|
+
var import_icons2 = require("@xaui/icons");
|
|
1067
770
|
var AutocompleteTrigger = ({
|
|
1068
771
|
triggerRef,
|
|
1069
772
|
isDisabled,
|
|
@@ -1086,8 +789,8 @@ var AutocompleteTrigger = ({
|
|
|
1086
789
|
onLayout: handleTriggerLayout
|
|
1087
790
|
}) => {
|
|
1088
791
|
const renderLabel = isLabelInside && label;
|
|
1089
|
-
return /* @__PURE__ */
|
|
1090
|
-
|
|
792
|
+
return /* @__PURE__ */ import_react13.default.createElement(
|
|
793
|
+
import_react_native9.Pressable,
|
|
1091
794
|
{
|
|
1092
795
|
ref: triggerRef,
|
|
1093
796
|
onPress: handleTriggerPress,
|
|
@@ -1109,8 +812,8 @@ var AutocompleteTrigger = ({
|
|
|
1109
812
|
accessibilityRole: "button",
|
|
1110
813
|
accessibilityState: { disabled: isDisabled }
|
|
1111
814
|
},
|
|
1112
|
-
/* @__PURE__ */
|
|
1113
|
-
|
|
815
|
+
/* @__PURE__ */ import_react13.default.createElement(import_react_native9.View, { style: styles.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react13.default.createElement(
|
|
816
|
+
import_react_native9.Text,
|
|
1114
817
|
{
|
|
1115
818
|
style: [
|
|
1116
819
|
styles.triggerText,
|
|
@@ -1123,14 +826,14 @@ var AutocompleteTrigger = ({
|
|
|
1123
826
|
},
|
|
1124
827
|
displayValue
|
|
1125
828
|
)),
|
|
1126
|
-
isClearable && (currentSelectedKey || currentInputValue) ? /* @__PURE__ */
|
|
1127
|
-
|
|
829
|
+
isClearable && (currentSelectedKey || currentInputValue) ? /* @__PURE__ */ import_react13.default.createElement(
|
|
830
|
+
import_react_native9.TouchableOpacity,
|
|
1128
831
|
{
|
|
1129
832
|
onPress: handleClear,
|
|
1130
833
|
style: styles.clearButton,
|
|
1131
834
|
hitSlop: { top: 8, right: 8, bottom: 8, left: 8 }
|
|
1132
835
|
},
|
|
1133
|
-
clearIcon ?? /* @__PURE__ */
|
|
836
|
+
clearIcon ?? /* @__PURE__ */ import_react13.default.createElement(import_icons2.CloseIcon, { color: theme.colors.foreground, size: 20 })
|
|
1134
837
|
) : null
|
|
1135
838
|
);
|
|
1136
839
|
};
|
|
@@ -1181,17 +884,17 @@ var Autocomplete = ({
|
|
|
1181
884
|
onOpenChange,
|
|
1182
885
|
onClose
|
|
1183
886
|
});
|
|
1184
|
-
const triggerRef = (0,
|
|
1185
|
-
const [triggerLayout, setTriggerLayout] = (0,
|
|
1186
|
-
const handleTriggerLayout = (0,
|
|
887
|
+
const triggerRef = (0, import_react14.useRef)(null);
|
|
888
|
+
const [triggerLayout, setTriggerLayout] = (0, import_react14.useState)();
|
|
889
|
+
const handleTriggerLayout = (0, import_react14.useCallback)(() => {
|
|
1187
890
|
triggerRef.current?.measureInWindow((x, y, width, height) => {
|
|
1188
891
|
setTriggerLayout({ x, y, width, height });
|
|
1189
892
|
});
|
|
1190
893
|
}, []);
|
|
1191
|
-
const items = (0,
|
|
1192
|
-
const elements =
|
|
894
|
+
const items = (0, import_react14.useMemo)(() => {
|
|
895
|
+
const elements = import_react14.default.Children.toArray(children).filter(Boolean);
|
|
1193
896
|
return elements.map((child, index) => {
|
|
1194
|
-
if (!
|
|
897
|
+
if (!import_react14.default.isValidElement(child)) {
|
|
1195
898
|
return null;
|
|
1196
899
|
}
|
|
1197
900
|
const key = child.props.value ?? String(index);
|
|
@@ -1203,7 +906,7 @@ var Autocomplete = ({
|
|
|
1203
906
|
};
|
|
1204
907
|
}).filter((item) => item !== null);
|
|
1205
908
|
}, [children]);
|
|
1206
|
-
const filteredItems = (0,
|
|
909
|
+
const filteredItems = (0, import_react14.useMemo)(() => {
|
|
1207
910
|
if (disableLocalFilter || !currentInputValue.trim()) {
|
|
1208
911
|
return items;
|
|
1209
912
|
}
|
|
@@ -1223,7 +926,7 @@ var Autocomplete = ({
|
|
|
1223
926
|
const helperColor = useAutocompleteHelperColor(isInvalid);
|
|
1224
927
|
const selectedItem = items.find((item) => item.key === currentSelectedKey);
|
|
1225
928
|
const displayValue = forceSelection ? selectedItem?.labelText || placeholder : currentInputValue || placeholder;
|
|
1226
|
-
const handleInputChange = (0,
|
|
929
|
+
const handleInputChange = (0, import_react14.useCallback)(
|
|
1227
930
|
(text) => {
|
|
1228
931
|
updateInputValue(text);
|
|
1229
932
|
const selectedLabel = selectedItem?.labelText ?? "";
|
|
@@ -1240,7 +943,7 @@ var Autocomplete = ({
|
|
|
1240
943
|
currentSelectedKey
|
|
1241
944
|
]
|
|
1242
945
|
);
|
|
1243
|
-
const handleItemSelection = (0,
|
|
946
|
+
const handleItemSelection = (0, import_react14.useCallback)(
|
|
1244
947
|
(key, itemLabel) => {
|
|
1245
948
|
if (isDisabled) {
|
|
1246
949
|
return;
|
|
@@ -1248,16 +951,16 @@ var Autocomplete = ({
|
|
|
1248
951
|
updateSelection(key);
|
|
1249
952
|
updateInputValue(itemLabel);
|
|
1250
953
|
setTimeout(() => {
|
|
1251
|
-
|
|
954
|
+
import_react_native10.Keyboard.dismiss();
|
|
1252
955
|
setOpen(false);
|
|
1253
956
|
}, 50);
|
|
1254
957
|
},
|
|
1255
958
|
[isDisabled, updateSelection, updateInputValue, setOpen]
|
|
1256
959
|
);
|
|
1257
|
-
const handleCheckmark = (0,
|
|
960
|
+
const handleCheckmark = (0, import_react14.useCallback)(() => {
|
|
1258
961
|
setOpen(false);
|
|
1259
962
|
}, [setOpen]);
|
|
1260
|
-
const handleClear = (0,
|
|
963
|
+
const handleClear = (0, import_react14.useCallback)(() => {
|
|
1261
964
|
if (isDisabled) {
|
|
1262
965
|
return;
|
|
1263
966
|
}
|
|
@@ -1265,7 +968,7 @@ var Autocomplete = ({
|
|
|
1265
968
|
updateInputValue("");
|
|
1266
969
|
onClear?.();
|
|
1267
970
|
}, [isDisabled, updateSelection, updateInputValue, onClear]);
|
|
1268
|
-
const handleTriggerPress = (0,
|
|
971
|
+
const handleTriggerPress = (0, import_react14.useCallback)(() => {
|
|
1269
972
|
if (!isDisabled) {
|
|
1270
973
|
if (selectedItem && !currentInputValue) {
|
|
1271
974
|
updateInputValue(selectedItem.labelText);
|
|
@@ -1284,7 +987,7 @@ var Autocomplete = ({
|
|
|
1284
987
|
handleItemSelection(item.key, item.labelText);
|
|
1285
988
|
itemProps.onSelected?.();
|
|
1286
989
|
};
|
|
1287
|
-
return
|
|
990
|
+
return import_react14.default.cloneElement(item.element, {
|
|
1288
991
|
key: item.key,
|
|
1289
992
|
isDisabled: itemDisabled,
|
|
1290
993
|
isSelected: itemSelected,
|
|
@@ -1295,10 +998,10 @@ var Autocomplete = ({
|
|
|
1295
998
|
const isLabelInside = labelPlacement === "inside";
|
|
1296
999
|
const isLabelOutsideLeft = labelPlacement === "outside-left";
|
|
1297
1000
|
const isLabelOutside = labelPlacement === "outside" || labelPlacement === "outside-top";
|
|
1298
|
-
const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */
|
|
1001
|
+
const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react14.default.createElement(import_react_native10.Text, { style: [styles.label, labelStyle] }, label) : /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, null, label) : null;
|
|
1299
1002
|
const shouldShowHelper = Boolean(description || errorMessage);
|
|
1300
1003
|
const helperContent = isInvalid && errorMessage ? errorMessage : description;
|
|
1301
|
-
const triggerContent = /* @__PURE__ */
|
|
1004
|
+
const triggerContent = /* @__PURE__ */ import_react14.default.createElement(
|
|
1302
1005
|
AutocompleteTrigger,
|
|
1303
1006
|
{
|
|
1304
1007
|
triggerRef,
|
|
@@ -1323,7 +1026,7 @@ var Autocomplete = ({
|
|
|
1323
1026
|
}
|
|
1324
1027
|
);
|
|
1325
1028
|
const labelBlock = isLabelOutside || isLabelInside ? renderLabel : null;
|
|
1326
|
-
return /* @__PURE__ */
|
|
1029
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, { style: [styles.container, fullWidth ? styles.fullWidth : styles.minWidth] }, isLabelOutside && labelBlock, isLabelOutsideLeft ? /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, { style: styles.outsideLeftRow }, renderLabel, triggerContent) : triggerContent, shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react14.default.createElement(import_react_native10.Text, { style: [styles.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, null, helperContent) : null, /* @__PURE__ */ import_react14.default.createElement(
|
|
1327
1030
|
AutocompleteDialog,
|
|
1328
1031
|
{
|
|
1329
1032
|
visible: isOpen,
|
|
@@ -1337,17 +1040,17 @@ var Autocomplete = ({
|
|
|
1337
1040
|
onClose: () => setOpen(false),
|
|
1338
1041
|
onCheckmark: handleCheckmark
|
|
1339
1042
|
},
|
|
1340
|
-
/* @__PURE__ */
|
|
1043
|
+
/* @__PURE__ */ import_react14.default.createElement(AutocompleteContext.Provider, { value: { size, themeColor, isDisabled } }, showEmptyMessage ? /* @__PURE__ */ import_react14.default.createElement(import_react_native10.Text, { style: [styles.emptyMessage, { color: theme.colors.foreground }] }, "No results found") : listItems)
|
|
1341
1044
|
));
|
|
1342
1045
|
};
|
|
1343
1046
|
|
|
1344
1047
|
// src/components/autocomplete/autocomplete-item.tsx
|
|
1345
|
-
var
|
|
1346
|
-
var
|
|
1048
|
+
var import_react16 = __toESM(require("react"), 1);
|
|
1049
|
+
var import_react_native12 = require("react-native");
|
|
1347
1050
|
|
|
1348
1051
|
// src/components/autocomplete/autocomplete-item.style.ts
|
|
1349
|
-
var
|
|
1350
|
-
var styles3 =
|
|
1052
|
+
var import_react_native11 = require("react-native");
|
|
1053
|
+
var styles3 = import_react_native11.StyleSheet.create({
|
|
1351
1054
|
item: {
|
|
1352
1055
|
flexDirection: "row",
|
|
1353
1056
|
alignItems: "center",
|
|
@@ -1369,11 +1072,11 @@ var styles3 = import_react_native18.StyleSheet.create({
|
|
|
1369
1072
|
});
|
|
1370
1073
|
|
|
1371
1074
|
// src/components/autocomplete/autocomplete-item.hook.ts
|
|
1372
|
-
var
|
|
1373
|
-
var
|
|
1075
|
+
var import_react15 = require("react");
|
|
1076
|
+
var import_core6 = require("@xaui/core");
|
|
1374
1077
|
var useAutocompleteItemSizeStyles = (size) => {
|
|
1375
1078
|
const theme = useXUITheme();
|
|
1376
|
-
return (0,
|
|
1079
|
+
return (0, import_react15.useMemo)(() => {
|
|
1377
1080
|
const sizes = {
|
|
1378
1081
|
xs: {
|
|
1379
1082
|
paddingVertical: theme.spacing.sm,
|
|
@@ -1405,15 +1108,15 @@ var useAutocompleteItemSizeStyles = (size) => {
|
|
|
1405
1108
|
};
|
|
1406
1109
|
var useAutocompleteItemBackgroundColor = (themeColor, isSelected) => {
|
|
1407
1110
|
const theme = useXUITheme();
|
|
1408
|
-
const safeThemeColor = (0,
|
|
1111
|
+
const safeThemeColor = (0, import_core6.getSafeThemeColor)(themeColor);
|
|
1409
1112
|
const colorScheme = theme.colors[safeThemeColor];
|
|
1410
|
-
return (0,
|
|
1113
|
+
return (0, import_react15.useMemo)(() => {
|
|
1411
1114
|
return "transparent";
|
|
1412
1115
|
}, [isSelected, colorScheme]);
|
|
1413
1116
|
};
|
|
1414
1117
|
var useAutocompleteItemTextColors = () => {
|
|
1415
1118
|
const theme = useXUITheme();
|
|
1416
|
-
return (0,
|
|
1119
|
+
return (0, import_react15.useMemo)(() => {
|
|
1417
1120
|
return {
|
|
1418
1121
|
textColor: theme.colors.foreground,
|
|
1419
1122
|
descriptionColor: theme.colors.foreground
|
|
@@ -1422,9 +1125,9 @@ var useAutocompleteItemTextColors = () => {
|
|
|
1422
1125
|
};
|
|
1423
1126
|
var useAutocompleteItemCheckmarkColor = (themeColor) => {
|
|
1424
1127
|
const theme = useXUITheme();
|
|
1425
|
-
const safeThemeColor = (0,
|
|
1128
|
+
const safeThemeColor = (0, import_core6.getSafeThemeColor)(themeColor);
|
|
1426
1129
|
const colorScheme = theme.colors[safeThemeColor];
|
|
1427
|
-
return (0,
|
|
1130
|
+
return (0, import_react15.useMemo)(() => {
|
|
1428
1131
|
if (themeColor === "default") {
|
|
1429
1132
|
return theme.colors.primary.main;
|
|
1430
1133
|
}
|
|
@@ -1432,7 +1135,7 @@ var useAutocompleteItemCheckmarkColor = (themeColor) => {
|
|
|
1432
1135
|
}, [themeColor, colorScheme, theme]);
|
|
1433
1136
|
};
|
|
1434
1137
|
var useAutocompleteItemStyles = (isSelected, _isDisabled) => {
|
|
1435
|
-
const context = (0,
|
|
1138
|
+
const context = (0, import_react15.useContext)(AutocompleteContext);
|
|
1436
1139
|
const backgroundColor = useAutocompleteItemBackgroundColor(
|
|
1437
1140
|
context.themeColor,
|
|
1438
1141
|
isSelected
|
|
@@ -1461,7 +1164,7 @@ var AutocompleteItem = ({
|
|
|
1461
1164
|
customAppearance,
|
|
1462
1165
|
onSelected
|
|
1463
1166
|
}) => {
|
|
1464
|
-
const context = (0,
|
|
1167
|
+
const context = (0, import_react16.useContext)(AutocompleteContext);
|
|
1465
1168
|
const size = context?.size ?? defaultSize;
|
|
1466
1169
|
const isItemDisabled = context?.isDisabled ? true : isDisabled;
|
|
1467
1170
|
const sizeStyles = useAutocompleteItemSizeStyles(size);
|
|
@@ -1472,8 +1175,8 @@ var AutocompleteItem = ({
|
|
|
1472
1175
|
}
|
|
1473
1176
|
onSelected?.();
|
|
1474
1177
|
};
|
|
1475
|
-
return /* @__PURE__ */
|
|
1476
|
-
|
|
1178
|
+
return /* @__PURE__ */ import_react16.default.createElement(
|
|
1179
|
+
import_react_native12.Pressable,
|
|
1477
1180
|
{
|
|
1478
1181
|
onPress: handlePress,
|
|
1479
1182
|
disabled: isItemDisabled,
|
|
@@ -1489,8 +1192,8 @@ var AutocompleteItem = ({
|
|
|
1489
1192
|
]
|
|
1490
1193
|
},
|
|
1491
1194
|
startContent,
|
|
1492
|
-
/* @__PURE__ */
|
|
1493
|
-
|
|
1195
|
+
/* @__PURE__ */ import_react16.default.createElement(import_react_native12.View, { style: styles3.content }, /* @__PURE__ */ import_react16.default.createElement(
|
|
1196
|
+
import_react_native12.Text,
|
|
1494
1197
|
{
|
|
1495
1198
|
style: [
|
|
1496
1199
|
styles3.title,
|
|
@@ -1499,8 +1202,8 @@ var AutocompleteItem = ({
|
|
|
1499
1202
|
]
|
|
1500
1203
|
},
|
|
1501
1204
|
label
|
|
1502
|
-
), description && /* @__PURE__ */
|
|
1503
|
-
|
|
1205
|
+
), description && /* @__PURE__ */ import_react16.default.createElement(
|
|
1206
|
+
import_react_native12.Text,
|
|
1504
1207
|
{
|
|
1505
1208
|
style: [
|
|
1506
1209
|
styles3.description,
|