@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
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Autocomplete,
|
|
3
3
|
AutocompleteItem
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-NMZUPH3R.js";
|
|
5
5
|
import "../chunk-GBHQCAKW.js";
|
|
6
|
-
import "../chunk-CKGZOJVV.js";
|
|
7
|
-
import "../chunk-SIXET7TJ.js";
|
|
8
6
|
import "../chunk-NBRASCX4.js";
|
|
9
7
|
export {
|
|
10
8
|
Autocomplete,
|
package/dist/button/index.cjs
CHANGED
|
@@ -30,7 +30,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/components/button/index.ts
|
|
31
31
|
var button_exports = {};
|
|
32
32
|
__export(button_exports, {
|
|
33
|
-
Button: () => Button
|
|
33
|
+
Button: () => Button,
|
|
34
|
+
IconButton: () => IconButton
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(button_exports);
|
|
36
37
|
|
|
@@ -233,7 +234,14 @@ var CircularActivityIndicator = ({
|
|
|
233
234
|
borderWidth: strokeWidth,
|
|
234
235
|
borderRadius: size / 2
|
|
235
236
|
};
|
|
236
|
-
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(
|
|
237
|
+
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(
|
|
238
|
+
import_react_native5.Animated.View,
|
|
239
|
+
{
|
|
240
|
+
style: [containerStyle, offsetStyle],
|
|
241
|
+
collapsable: false
|
|
242
|
+
},
|
|
243
|
+
/* @__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 })))
|
|
244
|
+
)));
|
|
237
245
|
})
|
|
238
246
|
));
|
|
239
247
|
};
|
|
@@ -598,7 +606,7 @@ var import_react_native9 = require("react-native");
|
|
|
598
606
|
var runPressInAnimation = (animatedScale, animatedOpacity) => {
|
|
599
607
|
import_react_native9.Animated.parallel([
|
|
600
608
|
import_react_native9.Animated.spring(animatedScale, {
|
|
601
|
-
toValue: 0.
|
|
609
|
+
toValue: 0.975,
|
|
602
610
|
useNativeDriver: true,
|
|
603
611
|
speed: 50,
|
|
604
612
|
bounciness: 0
|
|
@@ -713,7 +721,121 @@ var Button = ({
|
|
|
713
721
|
)
|
|
714
722
|
));
|
|
715
723
|
};
|
|
724
|
+
|
|
725
|
+
// src/components/button/icon-button.tsx
|
|
726
|
+
var import_react13 = __toESM(require("react"), 1);
|
|
727
|
+
var import_react_native12 = require("react-native");
|
|
728
|
+
|
|
729
|
+
// src/components/button/icon-button.style.ts
|
|
730
|
+
var import_react_native11 = require("react-native");
|
|
731
|
+
var iconButtonStyles = import_react_native11.StyleSheet.create({
|
|
732
|
+
container: {
|
|
733
|
+
alignItems: "center",
|
|
734
|
+
justifyContent: "center"
|
|
735
|
+
},
|
|
736
|
+
button: {
|
|
737
|
+
alignItems: "center",
|
|
738
|
+
justifyContent: "center",
|
|
739
|
+
aspectRatio: 1
|
|
740
|
+
},
|
|
741
|
+
disabled: {
|
|
742
|
+
opacity: 0.5
|
|
743
|
+
}
|
|
744
|
+
});
|
|
745
|
+
|
|
746
|
+
// src/components/button/icon-button.hook.ts
|
|
747
|
+
var import_react12 = require("react");
|
|
748
|
+
var useIconButtonSizeStyles = (size) => {
|
|
749
|
+
const theme = useXUITheme();
|
|
750
|
+
return (0, import_react12.useMemo)(() => {
|
|
751
|
+
const sizeMap = {
|
|
752
|
+
xs: { width: 34, height: 34 },
|
|
753
|
+
sm: { width: 38, height: 38 },
|
|
754
|
+
md: { width: 42, height: 42 },
|
|
755
|
+
lg: { width: 50, height: 50 }
|
|
756
|
+
};
|
|
757
|
+
return sizeMap[size];
|
|
758
|
+
}, [size, theme]);
|
|
759
|
+
};
|
|
760
|
+
|
|
761
|
+
// src/components/button/icon-button.tsx
|
|
762
|
+
var IconButton = ({
|
|
763
|
+
icon,
|
|
764
|
+
themeColor = "primary",
|
|
765
|
+
variant = "solid",
|
|
766
|
+
size = "md",
|
|
767
|
+
radius = "md",
|
|
768
|
+
isDisabled = false,
|
|
769
|
+
isLoading = false,
|
|
770
|
+
customAppearance,
|
|
771
|
+
onPress,
|
|
772
|
+
onLongPress,
|
|
773
|
+
onPressIn,
|
|
774
|
+
onPressOut
|
|
775
|
+
}) => {
|
|
776
|
+
const animatedScale = import_react13.default.useRef(new import_react_native12.Animated.Value(1)).current;
|
|
777
|
+
const animatedOpacity = import_react13.default.useRef(new import_react_native12.Animated.Value(1)).current;
|
|
778
|
+
const sizeStyles = useIconButtonSizeStyles(size);
|
|
779
|
+
const radiusStyles = useBorderRadiusStyles(radius);
|
|
780
|
+
const variantStyles = useVariantSizesStyles(themeColor, variant);
|
|
781
|
+
const { textColor } = useTextStyles(themeColor, variant);
|
|
782
|
+
const handlePressIn = (event) => {
|
|
783
|
+
if (!isDisabled && !isLoading) {
|
|
784
|
+
runPressInAnimation(animatedScale, animatedOpacity);
|
|
785
|
+
}
|
|
786
|
+
onPressIn?.(event);
|
|
787
|
+
};
|
|
788
|
+
const handlePressOut = (event) => {
|
|
789
|
+
if (!isDisabled && !isLoading) {
|
|
790
|
+
runPressOutAnimation(animatedScale, animatedOpacity);
|
|
791
|
+
}
|
|
792
|
+
onPressOut?.(event);
|
|
793
|
+
};
|
|
794
|
+
const spinnerSize = {
|
|
795
|
+
xs: 14,
|
|
796
|
+
sm: 16,
|
|
797
|
+
md: 18,
|
|
798
|
+
lg: 20
|
|
799
|
+
}[size];
|
|
800
|
+
return /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: [iconButtonStyles.container, customAppearance?.container] }, /* @__PURE__ */ import_react13.default.createElement(
|
|
801
|
+
import_react_native12.Pressable,
|
|
802
|
+
{
|
|
803
|
+
onPress: isDisabled || isLoading ? void 0 : onPress,
|
|
804
|
+
onLongPress: isDisabled || isLoading ? void 0 : onLongPress,
|
|
805
|
+
onPressIn: handlePressIn,
|
|
806
|
+
onPressOut: handlePressOut,
|
|
807
|
+
disabled: isDisabled || isLoading
|
|
808
|
+
},
|
|
809
|
+
/* @__PURE__ */ import_react13.default.createElement(
|
|
810
|
+
import_react_native12.Animated.View,
|
|
811
|
+
{
|
|
812
|
+
style: [
|
|
813
|
+
iconButtonStyles.button,
|
|
814
|
+
sizeStyles,
|
|
815
|
+
radiusStyles,
|
|
816
|
+
variantStyles,
|
|
817
|
+
isDisabled && iconButtonStyles.disabled,
|
|
818
|
+
{
|
|
819
|
+
transform: [{ scale: animatedScale }],
|
|
820
|
+
opacity: animatedOpacity
|
|
821
|
+
},
|
|
822
|
+
customAppearance?.button
|
|
823
|
+
]
|
|
824
|
+
},
|
|
825
|
+
isLoading ? /* @__PURE__ */ import_react13.default.createElement(
|
|
826
|
+
ActivityIndicator,
|
|
827
|
+
{
|
|
828
|
+
variant: "circular",
|
|
829
|
+
themeColor: variant === "solid" || variant === "elevated" ? void 0 : themeColor,
|
|
830
|
+
color: variant === "solid" || variant === "elevated" ? textColor : void 0,
|
|
831
|
+
size: spinnerSize
|
|
832
|
+
}
|
|
833
|
+
) : icon
|
|
834
|
+
)
|
|
835
|
+
));
|
|
836
|
+
};
|
|
716
837
|
// Annotate the CommonJS export names for ESM import in node:
|
|
717
838
|
0 && (module.exports = {
|
|
718
|
-
Button
|
|
839
|
+
Button,
|
|
840
|
+
IconButton
|
|
719
841
|
});
|
package/dist/button/index.d.cts
CHANGED
|
@@ -96,4 +96,66 @@ type ButtonProps = {
|
|
|
96
96
|
|
|
97
97
|
declare const Button: React.FC<ButtonProps>;
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
type IconButtonProps = {
|
|
100
|
+
/**
|
|
101
|
+
* Icon to display in the button
|
|
102
|
+
*/
|
|
103
|
+
icon: ReactNode;
|
|
104
|
+
/**
|
|
105
|
+
* Button size
|
|
106
|
+
* @default 'md'
|
|
107
|
+
*/
|
|
108
|
+
size?: Size;
|
|
109
|
+
/**
|
|
110
|
+
* Button variant
|
|
111
|
+
* @default 'solid'
|
|
112
|
+
*/
|
|
113
|
+
variant?: ButtonVariant;
|
|
114
|
+
/**
|
|
115
|
+
* Theme color
|
|
116
|
+
* @default 'primary'
|
|
117
|
+
*/
|
|
118
|
+
themeColor?: ThemeColor;
|
|
119
|
+
/**
|
|
120
|
+
* Border radius
|
|
121
|
+
* @default 'md'
|
|
122
|
+
*/
|
|
123
|
+
radius?: ButtonRadius;
|
|
124
|
+
/**
|
|
125
|
+
* Whether the button is disabled
|
|
126
|
+
* @default false
|
|
127
|
+
*/
|
|
128
|
+
isDisabled?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Whether the button is loading
|
|
131
|
+
* @default false
|
|
132
|
+
*/
|
|
133
|
+
isLoading?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Custom appearance overrides
|
|
136
|
+
*/
|
|
137
|
+
customAppearance?: {
|
|
138
|
+
container?: ViewStyle;
|
|
139
|
+
button?: ViewStyle;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Press handler
|
|
143
|
+
*/
|
|
144
|
+
onPress?: (event: GestureResponderEvent) => void;
|
|
145
|
+
/**
|
|
146
|
+
* Long press handler
|
|
147
|
+
*/
|
|
148
|
+
onLongPress?: (event: GestureResponderEvent) => void;
|
|
149
|
+
/**
|
|
150
|
+
* Press in handler
|
|
151
|
+
*/
|
|
152
|
+
onPressIn?: (event: GestureResponderEvent) => void;
|
|
153
|
+
/**
|
|
154
|
+
* Press out handler
|
|
155
|
+
*/
|
|
156
|
+
onPressOut?: (event: GestureResponderEvent) => void;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
declare const IconButton: React.FC<IconButtonProps>;
|
|
160
|
+
|
|
161
|
+
export { Button, type ButtonProps, type ButtonRadius, type ButtonVariant, IconButton, type IconButtonProps, type SpinnerPlacement };
|
package/dist/button/index.d.ts
CHANGED
|
@@ -96,4 +96,66 @@ type ButtonProps = {
|
|
|
96
96
|
|
|
97
97
|
declare const Button: React.FC<ButtonProps>;
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
type IconButtonProps = {
|
|
100
|
+
/**
|
|
101
|
+
* Icon to display in the button
|
|
102
|
+
*/
|
|
103
|
+
icon: ReactNode;
|
|
104
|
+
/**
|
|
105
|
+
* Button size
|
|
106
|
+
* @default 'md'
|
|
107
|
+
*/
|
|
108
|
+
size?: Size;
|
|
109
|
+
/**
|
|
110
|
+
* Button variant
|
|
111
|
+
* @default 'solid'
|
|
112
|
+
*/
|
|
113
|
+
variant?: ButtonVariant;
|
|
114
|
+
/**
|
|
115
|
+
* Theme color
|
|
116
|
+
* @default 'primary'
|
|
117
|
+
*/
|
|
118
|
+
themeColor?: ThemeColor;
|
|
119
|
+
/**
|
|
120
|
+
* Border radius
|
|
121
|
+
* @default 'md'
|
|
122
|
+
*/
|
|
123
|
+
radius?: ButtonRadius;
|
|
124
|
+
/**
|
|
125
|
+
* Whether the button is disabled
|
|
126
|
+
* @default false
|
|
127
|
+
*/
|
|
128
|
+
isDisabled?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Whether the button is loading
|
|
131
|
+
* @default false
|
|
132
|
+
*/
|
|
133
|
+
isLoading?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Custom appearance overrides
|
|
136
|
+
*/
|
|
137
|
+
customAppearance?: {
|
|
138
|
+
container?: ViewStyle;
|
|
139
|
+
button?: ViewStyle;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Press handler
|
|
143
|
+
*/
|
|
144
|
+
onPress?: (event: GestureResponderEvent) => void;
|
|
145
|
+
/**
|
|
146
|
+
* Long press handler
|
|
147
|
+
*/
|
|
148
|
+
onLongPress?: (event: GestureResponderEvent) => void;
|
|
149
|
+
/**
|
|
150
|
+
* Press in handler
|
|
151
|
+
*/
|
|
152
|
+
onPressIn?: (event: GestureResponderEvent) => void;
|
|
153
|
+
/**
|
|
154
|
+
* Press out handler
|
|
155
|
+
*/
|
|
156
|
+
onPressOut?: (event: GestureResponderEvent) => void;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
declare const IconButton: React.FC<IconButtonProps>;
|
|
160
|
+
|
|
161
|
+
export { Button, type ButtonProps, type ButtonRadius, type ButtonVariant, IconButton, type IconButtonProps, type SpinnerPlacement };
|
package/dist/button/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ActivityIndicator
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-MKHBEJLO.js";
|
|
4
4
|
import {
|
|
5
5
|
useBorderRadiusStyles,
|
|
6
6
|
useXUITheme
|
|
@@ -154,7 +154,7 @@ import { Animated } from "react-native";
|
|
|
154
154
|
var runPressInAnimation = (animatedScale, animatedOpacity) => {
|
|
155
155
|
Animated.parallel([
|
|
156
156
|
Animated.spring(animatedScale, {
|
|
157
|
-
toValue: 0.
|
|
157
|
+
toValue: 0.975,
|
|
158
158
|
useNativeDriver: true,
|
|
159
159
|
speed: 50,
|
|
160
160
|
bounciness: 0
|
|
@@ -269,6 +269,120 @@ var Button = ({
|
|
|
269
269
|
)
|
|
270
270
|
));
|
|
271
271
|
};
|
|
272
|
+
|
|
273
|
+
// src/components/button/icon-button.tsx
|
|
274
|
+
import React2 from "react";
|
|
275
|
+
import { Pressable as Pressable2, View as View2, Animated as Animated3 } from "react-native";
|
|
276
|
+
|
|
277
|
+
// src/components/button/icon-button.style.ts
|
|
278
|
+
import { StyleSheet as StyleSheet2 } from "react-native";
|
|
279
|
+
var iconButtonStyles = StyleSheet2.create({
|
|
280
|
+
container: {
|
|
281
|
+
alignItems: "center",
|
|
282
|
+
justifyContent: "center"
|
|
283
|
+
},
|
|
284
|
+
button: {
|
|
285
|
+
alignItems: "center",
|
|
286
|
+
justifyContent: "center",
|
|
287
|
+
aspectRatio: 1
|
|
288
|
+
},
|
|
289
|
+
disabled: {
|
|
290
|
+
opacity: 0.5
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
// src/components/button/icon-button.hook.ts
|
|
295
|
+
import { useMemo as useMemo2 } from "react";
|
|
296
|
+
var useIconButtonSizeStyles = (size) => {
|
|
297
|
+
const theme = useXUITheme();
|
|
298
|
+
return useMemo2(() => {
|
|
299
|
+
const sizeMap = {
|
|
300
|
+
xs: { width: 34, height: 34 },
|
|
301
|
+
sm: { width: 38, height: 38 },
|
|
302
|
+
md: { width: 42, height: 42 },
|
|
303
|
+
lg: { width: 50, height: 50 }
|
|
304
|
+
};
|
|
305
|
+
return sizeMap[size];
|
|
306
|
+
}, [size, theme]);
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
// src/components/button/icon-button.tsx
|
|
310
|
+
var IconButton = ({
|
|
311
|
+
icon,
|
|
312
|
+
themeColor = "primary",
|
|
313
|
+
variant = "solid",
|
|
314
|
+
size = "md",
|
|
315
|
+
radius = "md",
|
|
316
|
+
isDisabled = false,
|
|
317
|
+
isLoading = false,
|
|
318
|
+
customAppearance,
|
|
319
|
+
onPress,
|
|
320
|
+
onLongPress,
|
|
321
|
+
onPressIn,
|
|
322
|
+
onPressOut
|
|
323
|
+
}) => {
|
|
324
|
+
const animatedScale = React2.useRef(new Animated3.Value(1)).current;
|
|
325
|
+
const animatedOpacity = React2.useRef(new Animated3.Value(1)).current;
|
|
326
|
+
const sizeStyles = useIconButtonSizeStyles(size);
|
|
327
|
+
const radiusStyles = useBorderRadiusStyles(radius);
|
|
328
|
+
const variantStyles = useVariantSizesStyles(themeColor, variant);
|
|
329
|
+
const { textColor } = useTextStyles(themeColor, variant);
|
|
330
|
+
const handlePressIn = (event) => {
|
|
331
|
+
if (!isDisabled && !isLoading) {
|
|
332
|
+
runPressInAnimation(animatedScale, animatedOpacity);
|
|
333
|
+
}
|
|
334
|
+
onPressIn?.(event);
|
|
335
|
+
};
|
|
336
|
+
const handlePressOut = (event) => {
|
|
337
|
+
if (!isDisabled && !isLoading) {
|
|
338
|
+
runPressOutAnimation(animatedScale, animatedOpacity);
|
|
339
|
+
}
|
|
340
|
+
onPressOut?.(event);
|
|
341
|
+
};
|
|
342
|
+
const spinnerSize = {
|
|
343
|
+
xs: 14,
|
|
344
|
+
sm: 16,
|
|
345
|
+
md: 18,
|
|
346
|
+
lg: 20
|
|
347
|
+
}[size];
|
|
348
|
+
return /* @__PURE__ */ React2.createElement(View2, { style: [iconButtonStyles.container, customAppearance?.container] }, /* @__PURE__ */ React2.createElement(
|
|
349
|
+
Pressable2,
|
|
350
|
+
{
|
|
351
|
+
onPress: isDisabled || isLoading ? void 0 : onPress,
|
|
352
|
+
onLongPress: isDisabled || isLoading ? void 0 : onLongPress,
|
|
353
|
+
onPressIn: handlePressIn,
|
|
354
|
+
onPressOut: handlePressOut,
|
|
355
|
+
disabled: isDisabled || isLoading
|
|
356
|
+
},
|
|
357
|
+
/* @__PURE__ */ React2.createElement(
|
|
358
|
+
Animated3.View,
|
|
359
|
+
{
|
|
360
|
+
style: [
|
|
361
|
+
iconButtonStyles.button,
|
|
362
|
+
sizeStyles,
|
|
363
|
+
radiusStyles,
|
|
364
|
+
variantStyles,
|
|
365
|
+
isDisabled && iconButtonStyles.disabled,
|
|
366
|
+
{
|
|
367
|
+
transform: [{ scale: animatedScale }],
|
|
368
|
+
opacity: animatedOpacity
|
|
369
|
+
},
|
|
370
|
+
customAppearance?.button
|
|
371
|
+
]
|
|
372
|
+
},
|
|
373
|
+
isLoading ? /* @__PURE__ */ React2.createElement(
|
|
374
|
+
ActivityIndicator,
|
|
375
|
+
{
|
|
376
|
+
variant: "circular",
|
|
377
|
+
themeColor: variant === "solid" || variant === "elevated" ? void 0 : themeColor,
|
|
378
|
+
color: variant === "solid" || variant === "elevated" ? textColor : void 0,
|
|
379
|
+
size: spinnerSize
|
|
380
|
+
}
|
|
381
|
+
) : icon
|
|
382
|
+
)
|
|
383
|
+
));
|
|
384
|
+
};
|
|
272
385
|
export {
|
|
273
|
-
Button
|
|
386
|
+
Button,
|
|
387
|
+
IconButton
|
|
274
388
|
};
|
package/dist/checkbox/index.cjs
CHANGED
|
@@ -173,7 +173,11 @@ function IndeterminateCheckIcon({
|
|
|
173
173
|
}) {
|
|
174
174
|
return /* @__PURE__ */ import_react.default.createElement(import_react_native_svg.default, { width: size, height: size, viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react.default.createElement(import_react_native_svg.Line, { x1: "21", y1: "12", x2: "3", y2: "12", stroke: color, strokeWidth: 3 }));
|
|
175
175
|
}
|
|
176
|
-
function CheckboxIcon({
|
|
176
|
+
function CheckboxIcon({
|
|
177
|
+
isIndeterminate,
|
|
178
|
+
variant,
|
|
179
|
+
...props
|
|
180
|
+
}) {
|
|
177
181
|
const BaseIcon = isIndeterminate ? IndeterminateCheckIcon : CheckIcon;
|
|
178
182
|
if (variant === "light" && !props.isChecked && !isIndeterminate) {
|
|
179
183
|
return /* @__PURE__ */ import_react.default.createElement(PlaceholderCheckIcon, { size: props.size, color: props.placeholderColor ?? "" });
|
package/dist/checkbox/index.js
CHANGED
|
@@ -141,7 +141,11 @@ function IndeterminateCheckIcon({
|
|
|
141
141
|
}) {
|
|
142
142
|
return /* @__PURE__ */ React.createElement(Svg, { width: size, height: size, viewBox: "0 0 24 24" }, /* @__PURE__ */ React.createElement(Line, { x1: "21", y1: "12", x2: "3", y2: "12", stroke: color, strokeWidth: 3 }));
|
|
143
143
|
}
|
|
144
|
-
function CheckboxIcon({
|
|
144
|
+
function CheckboxIcon({
|
|
145
|
+
isIndeterminate,
|
|
146
|
+
variant,
|
|
147
|
+
...props
|
|
148
|
+
}) {
|
|
145
149
|
const BaseIcon = isIndeterminate ? IndeterminateCheckIcon : CheckIcon;
|
|
146
150
|
if (variant === "light" && !props.isChecked && !isIndeterminate) {
|
|
147
151
|
return /* @__PURE__ */ React.createElement(PlaceholderCheckIcon, { size: props.size, color: props.placeholderColor ?? "" });
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CloseIcon
|
|
3
|
-
} from "./chunk-SIXET7TJ.js";
|
|
4
1
|
import {
|
|
5
2
|
useBorderRadiusStyles,
|
|
6
3
|
useXUITheme
|
|
@@ -207,6 +204,7 @@ function DangerIcon({ color, size }) {
|
|
|
207
204
|
}
|
|
208
205
|
|
|
209
206
|
// src/components/alert/alert.tsx
|
|
207
|
+
import { CloseIcon } from "@xaui/icons";
|
|
210
208
|
var iconMap = {
|
|
211
209
|
default: InfoIcon,
|
|
212
210
|
primary: InfoIcon,
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CalendarIcon,
|
|
3
|
-
ChevronDownIcon,
|
|
4
|
-
ChevronLeftIcon,
|
|
5
|
-
ChevronRightIcon
|
|
6
|
-
} from "./chunk-CKGZOJVV.js";
|
|
7
|
-
import {
|
|
8
|
-
CloseIcon
|
|
9
|
-
} from "./chunk-SIXET7TJ.js";
|
|
10
1
|
import {
|
|
11
2
|
Portal,
|
|
12
3
|
useXUITheme
|
|
@@ -228,9 +219,7 @@ var getWeekdayNames = (locale, firstDayOfWeek) => {
|
|
|
228
219
|
const days = [];
|
|
229
220
|
for (let i = 0; i < 7; i++) {
|
|
230
221
|
const date = new Date(2024, 0, 1 + offset + i);
|
|
231
|
-
days.push(
|
|
232
|
-
date.toLocaleDateString(locale, { weekday: "short" }).slice(0, 2)
|
|
233
|
-
);
|
|
222
|
+
days.push(date.toLocaleDateString(locale, { weekday: "short" }).slice(0, 2));
|
|
234
223
|
}
|
|
235
224
|
return days;
|
|
236
225
|
};
|
|
@@ -943,6 +932,10 @@ var DatePickerDialogCalendar = ({
|
|
|
943
932
|
// src/components/dialogs/datepicker-dialog/datepicker-dialog-header.tsx
|
|
944
933
|
import React2, { useMemo as useMemo3 } from "react";
|
|
945
934
|
import { Pressable as Pressable2, Text as Text2, View as View2 } from "react-native";
|
|
935
|
+
import { ChevronDownIcon } from "@xaui/icons/chevron-down";
|
|
936
|
+
import { ChevronLeftIcon } from "@xaui/icons/chevron-left";
|
|
937
|
+
import { ChevronRightIcon } from "@xaui/icons/chevron-right";
|
|
938
|
+
import { CloseIcon } from "@xaui/icons/close";
|
|
946
939
|
var DatePickerDialogHeader = ({
|
|
947
940
|
viewDate,
|
|
948
941
|
selectedDate,
|
|
@@ -964,7 +957,7 @@ var DatePickerDialogHeader = ({
|
|
|
964
957
|
const month = getMonthName(viewDate.getMonth(), locale);
|
|
965
958
|
return `${month} ${viewDate.getFullYear()}`;
|
|
966
959
|
}, [viewDate, locale]);
|
|
967
|
-
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(View2, { style: [styles2.header, { backgroundColor: colorScheme.main }] }, /* @__PURE__ */ React2.createElement(Text2, { style: [styles2.headerLabel, { color: colorScheme.foreground }] }, selectDateLabel), /* @__PURE__ */ React2.createElement(View2, { style: styles2.headerDateRow }, /* @__PURE__ */ React2.createElement(Text2, { style: [styles2.headerDate, { color: colorScheme.foreground }] }, dateText), /* @__PURE__ */ React2.createElement(
|
|
960
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(View2, { style: [styles2.header, { backgroundColor: colorScheme.main }] }, /* @__PURE__ */ React2.createElement(Text2, { style: [styles2.headerLabel, { color: colorScheme.foreground }] }, selectDateLabel), /* @__PURE__ */ React2.createElement(View2, { style: styles2.headerDateRow }, /* @__PURE__ */ React2.createElement(Text2, { style: [styles2.headerDate, { color: colorScheme.foreground }] }, dateText), selectedDate ? /* @__PURE__ */ React2.createElement(
|
|
968
961
|
Pressable2,
|
|
969
962
|
{
|
|
970
963
|
onPress: onClearValue,
|
|
@@ -973,7 +966,7 @@ var DatePickerDialogHeader = ({
|
|
|
973
966
|
accessibilityRole: "button"
|
|
974
967
|
},
|
|
975
968
|
/* @__PURE__ */ React2.createElement(CloseIcon, { size: 20, color: colorScheme.foreground })
|
|
976
|
-
))), /* @__PURE__ */ React2.createElement(View2, { style: styles2.navigationRow }, /* @__PURE__ */ React2.createElement(
|
|
969
|
+
) : null)), /* @__PURE__ */ React2.createElement(View2, { style: styles2.navigationRow }, /* @__PURE__ */ React2.createElement(
|
|
977
970
|
Pressable2,
|
|
978
971
|
{
|
|
979
972
|
style: styles2.monthYearButton,
|
|
@@ -981,20 +974,8 @@ var DatePickerDialogHeader = ({
|
|
|
981
974
|
accessibilityLabel: `${monthYearLabel}, tap to change`,
|
|
982
975
|
accessibilityRole: "button"
|
|
983
976
|
},
|
|
984
|
-
/* @__PURE__ */ React2.createElement(
|
|
985
|
-
|
|
986
|
-
{
|
|
987
|
-
style: [styles2.monthYearText, { color: theme.colors.foreground }]
|
|
988
|
-
},
|
|
989
|
-
monthYearLabel
|
|
990
|
-
),
|
|
991
|
-
/* @__PURE__ */ React2.createElement(
|
|
992
|
-
ChevronDownIcon,
|
|
993
|
-
{
|
|
994
|
-
size: 18,
|
|
995
|
-
color: theme.colors.foreground
|
|
996
|
-
}
|
|
997
|
-
)
|
|
977
|
+
/* @__PURE__ */ React2.createElement(Text2, { style: [styles2.monthYearText, { color: theme.colors.foreground }] }, monthYearLabel),
|
|
978
|
+
/* @__PURE__ */ React2.createElement(ChevronDownIcon, { size: 18, color: theme.colors.foreground })
|
|
998
979
|
), /* @__PURE__ */ React2.createElement(View2, { style: styles2.navButtons }, /* @__PURE__ */ React2.createElement(
|
|
999
980
|
Pressable2,
|
|
1000
981
|
{
|
|
@@ -1099,10 +1080,7 @@ var DatePickerDialogYearPicker = ({ viewDate, themeColor, minDate, maxDate, onSe
|
|
|
1099
1080
|
const isDefault = themeColor === "default";
|
|
1100
1081
|
const accentColor = isDefault ? theme.colors.foreground : colorScheme.main;
|
|
1101
1082
|
const accentFg = isDefault ? theme.colors.background : colorScheme.foreground;
|
|
1102
|
-
const years = useMemo5(
|
|
1103
|
-
() => getYearRange(minDate, maxDate),
|
|
1104
|
-
[minDate, maxDate]
|
|
1105
|
-
);
|
|
1083
|
+
const years = useMemo5(() => getYearRange(minDate, maxDate), [minDate, maxDate]);
|
|
1106
1084
|
const currentYear = viewDate.getFullYear();
|
|
1107
1085
|
const initialIndex = useMemo5(() => {
|
|
1108
1086
|
const index = years.indexOf(currentYear);
|
|
@@ -1432,6 +1410,8 @@ var DatePickerDialog = ({
|
|
|
1432
1410
|
// src/components/datepicker/datepicker-trigger.tsx
|
|
1433
1411
|
import React6 from "react";
|
|
1434
1412
|
import { Pressable as Pressable6, Text as Text6, TouchableOpacity, View as View6 } from "react-native";
|
|
1413
|
+
import { CalendarIcon } from "@xaui/icons/calendar";
|
|
1414
|
+
import { CloseIcon as CloseIcon2 } from "@xaui/icons/close";
|
|
1435
1415
|
var DatePickerTrigger = ({
|
|
1436
1416
|
triggerRef,
|
|
1437
1417
|
isDisabled,
|
|
@@ -1497,7 +1477,7 @@ var DatePickerTrigger = ({
|
|
|
1497
1477
|
style: styles.clearButton,
|
|
1498
1478
|
hitSlop: { top: 8, right: 8, bottom: 8, left: 8 }
|
|
1499
1479
|
},
|
|
1500
|
-
/* @__PURE__ */ React6.createElement(
|
|
1480
|
+
/* @__PURE__ */ React6.createElement(CloseIcon2, { color: theme.colors.foreground, size: 20 })
|
|
1501
1481
|
) : calendarIcon ?? /* @__PURE__ */ React6.createElement(CalendarIcon, { color: theme.colors.foreground, size: 20 })
|
|
1502
1482
|
);
|
|
1503
1483
|
};
|
|
@@ -144,7 +144,14 @@ var CircularActivityIndicator = ({
|
|
|
144
144
|
borderWidth: strokeWidth,
|
|
145
145
|
borderRadius: size / 2
|
|
146
146
|
};
|
|
147
|
-
return /* @__PURE__ */ React.createElement(Animated.View, { key: index, style: [styles.layer] }, /* @__PURE__ */ React.createElement(Animated.View, { style: layerStyle }, /* @__PURE__ */ React.createElement(
|
|
147
|
+
return /* @__PURE__ */ React.createElement(Animated.View, { key: index, style: [styles.layer] }, /* @__PURE__ */ React.createElement(Animated.View, { style: layerStyle }, /* @__PURE__ */ React.createElement(
|
|
148
|
+
Animated.View,
|
|
149
|
+
{
|
|
150
|
+
style: [containerStyle, offsetStyle],
|
|
151
|
+
collapsable: false
|
|
152
|
+
},
|
|
153
|
+
/* @__PURE__ */ React.createElement(Animated.View, { style: viewportStyle }, /* @__PURE__ */ React.createElement(Animated.View, { style: containerStyle, collapsable: false }, /* @__PURE__ */ React.createElement(Animated.View, { style: lineStyle })))
|
|
154
|
+
)));
|
|
148
155
|
})
|
|
149
156
|
));
|
|
150
157
|
};
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckmarkIcon
|
|
3
3
|
} from "./chunk-GBHQCAKW.js";
|
|
4
|
-
import {
|
|
5
|
-
ArrowBackIcon
|
|
6
|
-
} from "./chunk-CKGZOJVV.js";
|
|
7
|
-
import {
|
|
8
|
-
CloseIcon
|
|
9
|
-
} from "./chunk-SIXET7TJ.js";
|
|
10
4
|
import {
|
|
11
5
|
Portal,
|
|
12
6
|
useXUITheme
|
|
@@ -275,7 +269,9 @@ var useAutocompleteInputState = ({
|
|
|
275
269
|
selectedKey,
|
|
276
270
|
onInputChange
|
|
277
271
|
}) => {
|
|
278
|
-
const [internalInputValue, setInternalInputValue] = useState(
|
|
272
|
+
const [internalInputValue, setInternalInputValue] = useState(
|
|
273
|
+
defaultInputValue ?? ""
|
|
274
|
+
);
|
|
279
275
|
const currentInputValue = inputValue !== void 0 ? inputValue : internalInputValue;
|
|
280
276
|
const updateInputValue = useCallback(
|
|
281
277
|
(value) => {
|
|
@@ -343,6 +339,7 @@ import {
|
|
|
343
339
|
TextInput,
|
|
344
340
|
View
|
|
345
341
|
} from "react-native";
|
|
342
|
+
import { ArrowBackIcon, CloseIcon } from "@xaui/icons";
|
|
346
343
|
|
|
347
344
|
// src/components/dialogs/autocomplete-dialog/autocomplete-dialog.style.ts
|
|
348
345
|
import { StyleSheet as StyleSheet2 } from "react-native";
|
|
@@ -459,10 +456,7 @@ var AutocompleteDialogHeader = ({
|
|
|
459
456
|
value: inputValue,
|
|
460
457
|
onChangeText: onInputChange,
|
|
461
458
|
placeholder,
|
|
462
|
-
placeholderTextColor: addOpacityToColor(
|
|
463
|
-
theme.colors.foreground,
|
|
464
|
-
0.5
|
|
465
|
-
),
|
|
459
|
+
placeholderTextColor: addOpacityToColor(theme.colors.foreground, 0.5),
|
|
466
460
|
style: [
|
|
467
461
|
styles2.input,
|
|
468
462
|
{
|
|
@@ -683,6 +677,7 @@ var AutocompleteDialog = ({
|
|
|
683
677
|
// src/components/autocomplete/autocomplete-trigger.tsx
|
|
684
678
|
import React3 from "react";
|
|
685
679
|
import { Pressable as Pressable3, Text as Text2, TouchableOpacity, View as View3 } from "react-native";
|
|
680
|
+
import { CloseIcon as CloseIcon2 } from "@xaui/icons";
|
|
686
681
|
var AutocompleteTrigger = ({
|
|
687
682
|
triggerRef,
|
|
688
683
|
isDisabled,
|
|
@@ -749,7 +744,7 @@ var AutocompleteTrigger = ({
|
|
|
749
744
|
style: styles.clearButton,
|
|
750
745
|
hitSlop: { top: 8, right: 8, bottom: 8, left: 8 }
|
|
751
746
|
},
|
|
752
|
-
clearIcon ?? /* @__PURE__ */ React3.createElement(
|
|
747
|
+
clearIcon ?? /* @__PURE__ */ React3.createElement(CloseIcon2, { color: theme.colors.foreground, size: 20 })
|
|
753
748
|
) : null
|
|
754
749
|
);
|
|
755
750
|
};
|