@herca/rn-kit 0.1.31 → 0.1.33
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 +5 -3
- package/lib/module/Chip/Chip.js +17 -7
- package/lib/module/Chip/Chip.js.map +1 -1
- package/lib/module/Chip/ChipItem.js +3 -1
- package/lib/module/Chip/ChipItem.js.map +1 -1
- package/lib/module/Chip/README_CHIP_ITEM.md +73 -0
- package/lib/module/Select/README.md +26 -17
- package/lib/module/Select/Select.js +42 -30
- package/lib/module/Select/Select.js.map +1 -1
- package/lib/module/Skeleton/README.md +79 -0
- package/lib/module/Skeleton/Skeleton.js +73 -0
- package/lib/module/Skeleton/Skeleton.js.map +1 -0
- package/lib/module/Skeleton/type.js +4 -0
- package/lib/module/Skeleton/type.js.map +1 -0
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/Chip/Chip.d.ts.map +1 -1
- package/lib/typescript/src/Chip/ChipItem.d.ts +1 -1
- package/lib/typescript/src/Chip/ChipItem.d.ts.map +1 -1
- package/lib/typescript/src/Chip/type.d.ts +2 -1
- package/lib/typescript/src/Chip/type.d.ts.map +1 -1
- package/lib/typescript/src/Select/Select.d.ts +1 -1
- package/lib/typescript/src/Select/Select.d.ts.map +1 -1
- package/lib/typescript/src/Select/type.d.ts +2 -0
- package/lib/typescript/src/Select/type.d.ts.map +1 -1
- package/lib/typescript/src/Skeleton/Skeleton.d.ts +5 -0
- package/lib/typescript/src/Skeleton/Skeleton.d.ts.map +1 -0
- package/lib/typescript/src/Skeleton/type.d.ts +10 -0
- package/lib/typescript/src/Skeleton/type.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Chip/Chip.tsx +19 -4
- package/src/Chip/ChipItem.tsx +2 -0
- package/src/Chip/README_CHIP_ITEM.md +73 -0
- package/src/Chip/type.tsx +2 -1
- package/src/Select/README.md +26 -17
- package/src/Select/Select.tsx +47 -34
- package/src/Select/type.tsx +2 -0
- package/src/Skeleton/README.md +79 -0
- package/src/Skeleton/Skeleton.tsx +99 -0
- package/src/Skeleton/type.ts +10 -0
- package/src/index.tsx +4 -0
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RnKit","multiply","a","b","default","Accordion","AccordionItem","Button","Color","Typography","BottomSheet","Container","Card","DropDown","Center","Gap","Grid","Col","Chip","Footer","Devider","Select","LabelForm","Input","InputPassword","InputFile","InputOtp","Switch","CheckBox","CheckBoxList","RadioButton","Icon","Modal","Label","List","ListItem","Loading","Avatar","AvatarGroup","Badge","Alert","Timeline","TimelineItem","Theme","Provider","useFooter","Drawing","Calendar","DatePicker","YearPicker","MonthPicker","TimePicker","Step","StepItem","Tab","TabItem","Toast","TextArea","TextEditor","ToastProvider","useToast"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,kBAAe;AAEjC,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOH,KAAK,CAACC,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AAC7B;AAEA,SAASC,OAAO,IAAIC,SAAS,QAAQ,0BAAuB;AAC5D,SAASD,OAAO,IAAIE,aAAa,QAAQ,8BAA2B;AAEpE,SAASF,OAAO,IAAIG,MAAM,QAAQ,oBAAiB;AACnD,SAASH,OAAO,IAAII,KAAK,QAAQ,kBAAe;AAEhD,SAASJ,OAAO,IAAIK,UAAU,QAAQ,4BAAyB;AAO/D,SAASL,OAAO,IAAIM,WAAW,QAAQ,8BAA2B;AAClE,SAASN,OAAO,IAAIO,SAAS,QAAQ,mBAAgB;AACrD,SAASP,OAAO,IAAIQ,IAAI,QAAQ,cAAW;AAC3C,SAASR,OAAO,IAAIS,QAAQ,QAAQ,wBAAqB;AACzD,SAAST,OAAO,IAAIU,MAAM,QAAQ,gBAAa;AAC/C,SAASV,OAAO,IAAIW,GAAG,QAAQ,aAAU;AACzC,SAASX,OAAO,IAAIY,IAAI,QAAQ,cAAW;AAC3C,SAASZ,OAAO,IAAIa,GAAG,QAAQ,aAAU;AACzC,SAASb,OAAO,IAAIc,IAAI,QAAQ,gBAAa;
|
|
1
|
+
{"version":3,"names":["RnKit","multiply","a","b","default","Accordion","AccordionItem","Button","Color","Typography","BottomSheet","Container","Card","DropDown","Center","Gap","Grid","Col","Chip","ChipItem","Footer","Devider","Select","LabelForm","Input","InputPassword","InputFile","InputOtp","Switch","CheckBox","CheckBoxList","RadioButton","Icon","Modal","Label","List","ListItem","Loading","Avatar","AvatarGroup","Badge","Alert","Timeline","TimelineItem","Theme","Provider","useFooter","Drawing","Calendar","DatePicker","YearPicker","MonthPicker","TimePicker","Step","StepItem","Tab","TabItem","Toast","TextArea","TextEditor","ToastProvider","useToast","Skeleton","CounterButton"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,QAAQ,CAAC;AAGhB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,QAAQ,CAAC;AAGhB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAqH7B,CAAC;AAiCF,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type ChipItem } from './type';
|
|
2
|
-
export default function ChipItem({ item, isSelected, color, block, size, renderItem, isHorizontal, onPress, }: ChipItem): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export default function ChipItem({ item, isSelected, color, block, size, renderItem, isHorizontal, onPress, onLayout, }: ChipItem): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=ChipItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipItem.d.ts","sourceRoot":"","sources":["../../../../src/Chip/ChipItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAwB,MAAM,QAAQ,CAAC;AAG7E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,KAAiB,EACjB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,OAAO,
|
|
1
|
+
{"version":3,"file":"ChipItem.d.ts","sourceRoot":"","sources":["../../../../src/Chip/ChipItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAwB,MAAM,QAAQ,CAAC;AAG7E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,KAAiB,EACjB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,GACT,EAAE,QAAQ,2CAmFV"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ColorValue } from 'react-native';
|
|
1
|
+
import type { ColorValue, LayoutChangeEvent } from 'react-native';
|
|
2
2
|
import type { ColorVariantType } from '../Color/type';
|
|
3
3
|
export declare const CHIP_COLOR_MAP: Record<ColorVariantType, {
|
|
4
4
|
backgroundColor: ColorValue;
|
|
@@ -31,6 +31,7 @@ export interface ChipItem {
|
|
|
31
31
|
renderItem?: ChipRenderItemFn;
|
|
32
32
|
isHorizontal?: boolean;
|
|
33
33
|
onPress?: (isDisabled: boolean, value: ChipOptionProps) => void;
|
|
34
|
+
onLayout?: (event: LayoutChangeEvent) => void;
|
|
34
35
|
}
|
|
35
36
|
export interface ChipProps {
|
|
36
37
|
options: ChipOptionProps[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Chip/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Chip/type.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type SelectProps } from './type';
|
|
2
|
-
export default function Select({ isOpen, data, renderItem, onClose, onSubmit, multiple, onSearch, required, loading, delaySearch, height, onRefresh, refreshing, footer, header, onEndReached, submitBtnLabel, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export default function Select({ isOpen, data, renderItem, onClose, onSubmit, multiple, onSearch, required, loading, delaySearch, height, onRefresh, refreshing, footer, header, onEndReached, submitBtnLabel, value, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/Select/Select.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,WAAiB,EACjB,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/Select/Select.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,WAAiB,EACjB,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,KAAK,GACN,EAAE,WAAW,2CA4Hb"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ChipOnSelectProps, ChipOptionProps } from '../Chip/type';
|
|
3
3
|
import type { BottomSheetHeighProps } from '../BottomSheet/type';
|
|
4
|
+
import type { ChipSelectedProps } from '../Chip/type';
|
|
4
5
|
export interface SelectDataProps {
|
|
5
6
|
value: string | number;
|
|
6
7
|
label: string | number;
|
|
@@ -22,6 +23,7 @@ export interface SelectProps {
|
|
|
22
23
|
onEndReached?: () => void;
|
|
23
24
|
refreshing?: boolean;
|
|
24
25
|
submitBtnLabel?: string;
|
|
26
|
+
value?: ChipSelectedProps;
|
|
25
27
|
footer?: React.ComponentType<any> | React.ReactElement | null | undefined;
|
|
26
28
|
header?: React.ComponentType<any> | React.ReactElement | null | undefined;
|
|
27
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Select/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Select/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1E,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../src/Skeleton/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwErC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DimensionValue } from 'react-native';
|
|
2
|
+
export interface SkeletonProps {
|
|
3
|
+
width?: DimensionValue;
|
|
4
|
+
height?: DimensionValue;
|
|
5
|
+
rounded?: number;
|
|
6
|
+
backgroundColor?: string;
|
|
7
|
+
shimmerColor?: string;
|
|
8
|
+
duration?: number;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Skeleton/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -16,6 +16,7 @@ export { default as Gap } from './Ui/Gap';
|
|
|
16
16
|
export { default as Grid } from './Ui/Grid';
|
|
17
17
|
export { default as Col } from './Ui/Col';
|
|
18
18
|
export { default as Chip } from './Chip/Chip';
|
|
19
|
+
export { default as ChipItem } from './Chip/ChipItem';
|
|
19
20
|
export type { ChipSelectedProps, ChipOnSelectProps, ChipOptionProps, } from './Chip/type';
|
|
20
21
|
export { default as Footer } from './Ui/Footer';
|
|
21
22
|
export { default as Devider } from './Ui/Devider';
|
|
@@ -62,4 +63,7 @@ export { default as Toast } from './Toast/Toast';
|
|
|
62
63
|
export { default as TextArea } from './Input/TextArea';
|
|
63
64
|
export { default as TextEditor } from './TextEditor/TextEditor';
|
|
64
65
|
export { ToastProvider, useToast } from './Toast/ToastContext';
|
|
66
|
+
export { default as Skeleton } from './Skeleton/Skeleton';
|
|
67
|
+
export type { SkeletonProps } from './Skeleton/type';
|
|
68
|
+
export { default as CounterButton } from './CounterButton/CounterButton';
|
|
65
69
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Chip/Chip.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useEffect, useMemo } from 'react';
|
|
2
|
-
import { FlatList, StyleSheet } from 'react-native';
|
|
2
|
+
import { Dimensions, FlatList, StyleSheet } from 'react-native';
|
|
3
3
|
import {
|
|
4
4
|
type ChipOptionProps,
|
|
5
5
|
type ChipProps,
|
|
@@ -27,6 +27,11 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
27
27
|
header,
|
|
28
28
|
}) => {
|
|
29
29
|
const isHorizontal = direction === 'horizontal';
|
|
30
|
+
const [chipItemWidth, setChipItemWidth] = useState(0);
|
|
31
|
+
const screenWidth = Dimensions.get('window').width;
|
|
32
|
+
const contaierHorizontalPadding = 24;
|
|
33
|
+
const containerHorizontalChipGap = 8;
|
|
34
|
+
const availableContainerChipWidth = screenWidth - contaierHorizontalPadding;
|
|
30
35
|
|
|
31
36
|
const normalizeSelected = (val: ChipSelectedProps) =>
|
|
32
37
|
Array.isArray(val) ? val : val ? [val] : [];
|
|
@@ -64,8 +69,10 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
64
69
|
|
|
65
70
|
const numColumns = useMemo(() => {
|
|
66
71
|
if (isHorizontal || block) return 1;
|
|
67
|
-
return
|
|
68
|
-
|
|
72
|
+
return Math.floor(
|
|
73
|
+
availableContainerChipWidth / (chipItemWidth + containerHorizontalChipGap)
|
|
74
|
+
);
|
|
75
|
+
}, [block, isHorizontal, availableContainerChipWidth, chipItemWidth]);
|
|
69
76
|
|
|
70
77
|
const handleOnPresChipItem = (isDisabled: boolean, item: ChipOptionProps) => {
|
|
71
78
|
!isDisabled && handleSelect(item.value);
|
|
@@ -78,6 +85,7 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
78
85
|
return (
|
|
79
86
|
<FlatList
|
|
80
87
|
data={options}
|
|
88
|
+
key={`chip-${numColumns}`}
|
|
81
89
|
renderItem={({ item }) => (
|
|
82
90
|
<ChipItem
|
|
83
91
|
item={item}
|
|
@@ -87,6 +95,14 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
87
95
|
onPress={handleOnPresChipItem}
|
|
88
96
|
size={size}
|
|
89
97
|
renderItem={renderItem}
|
|
98
|
+
onLayout={
|
|
99
|
+
chipItemWidth
|
|
100
|
+
? undefined
|
|
101
|
+
: (e) => {
|
|
102
|
+
const { width } = e.nativeEvent.layout;
|
|
103
|
+
setChipItemWidth(width);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
90
106
|
/>
|
|
91
107
|
)}
|
|
92
108
|
keyExtractor={(item) => String(item.value)}
|
|
@@ -114,7 +130,6 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
114
130
|
const styles = StyleSheet.create({
|
|
115
131
|
container: {
|
|
116
132
|
gap: 8,
|
|
117
|
-
paddingBottom: 14,
|
|
118
133
|
},
|
|
119
134
|
wrapperStyle: {
|
|
120
135
|
gap: 8,
|
package/src/Chip/ChipItem.tsx
CHANGED
|
@@ -12,6 +12,7 @@ export default function ChipItem({
|
|
|
12
12
|
renderItem,
|
|
13
13
|
isHorizontal,
|
|
14
14
|
onPress,
|
|
15
|
+
onLayout,
|
|
15
16
|
}: ChipItem) {
|
|
16
17
|
const validColors: ColorVariantType[] = [
|
|
17
18
|
'default',
|
|
@@ -74,6 +75,7 @@ export default function ChipItem({
|
|
|
74
75
|
]}
|
|
75
76
|
onPress={() => handleOnPres(isDisabled, item)}
|
|
76
77
|
disabled={isDisabled}
|
|
78
|
+
onLayout={onLayout}
|
|
77
79
|
>
|
|
78
80
|
{renderItem ? (
|
|
79
81
|
renderItem(item, selectedState, isDisabled)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 📦 Komponen `ChipItem` – React Native
|
|
2
|
+
|
|
3
|
+
Komponen `ChipItem` merupakan komponen presentasional dalam bentuk "chip" atau "pill" yang digunakan sebagai bagian dari list filter/select menggunakan UI gaya chip, baik single maupun multiple select.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🔧 Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
| -------------- | ------------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------------------------- |
|
|
11
|
+
| `item` | `ChipOptionProps` | **Required** | Data item yang akan ditampilkan, berisi label, value, dan optional `disabled` |
|
|
12
|
+
| `isSelected` | `(value: boolean) => boolean` | **Required** | Fungsi untuk menentukan apakah item saat ini sedang terpilih |
|
|
13
|
+
| `color` | `'default' \| 'success' \| 'danger' \| 'primary' \| 'warning' \| 'info' \| 'purple' \| 'orange'` | `'default'` | Warna tema chip berdasarkan `CHIP_COLOR_MAP` |
|
|
14
|
+
| `block` | `boolean` | `false` | Apakah chip harus mengisi lebar penuh jika ditampilkan secara vertikal |
|
|
15
|
+
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Ukuran padding dan font chip |
|
|
16
|
+
| `renderItem` | `(item: ChipOptionProps, selected: boolean, disabled: boolean) => ReactNode` | `undefined` | Fungsi untuk mengkustomisasi isi tampilan chip |
|
|
17
|
+
| `isHorizontal` | `boolean` | `false` | Jika true, maka `block` akan diabaikan agar chip tetap fleksibel secara horizontal |
|
|
18
|
+
| `onPress` | `(disabled: boolean, val: ChipOptionProps) => void` | `undefined` | Callback saat chip ditekan |
|
|
19
|
+
| `onLayout` | `(event: LayoutChangeEvent) => void` | `undefined` | Callback ketika layout chip dihitung oleh React Native |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 🎨 Style Behavior
|
|
24
|
+
|
|
25
|
+
- **Warna Dinamis**: Warna border, background, dan teks akan menyesuaikan status:
|
|
26
|
+
- Default
|
|
27
|
+
- Selected
|
|
28
|
+
- Disabled
|
|
29
|
+
|
|
30
|
+
- **Ukuran**:
|
|
31
|
+
- `'small'`: Padding kecil, font size 12
|
|
32
|
+
- `'medium'`: Default, font size 14
|
|
33
|
+
- `'large'`: Padding besar, font size 16
|
|
34
|
+
|
|
35
|
+
- **Block Mode**:
|
|
36
|
+
- Bila `block: true` dan `isHorizontal: false`, chip akan mengisi lebar penuh kontainer
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 💡 Contoh Penggunaan
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
<ChipItem
|
|
44
|
+
item={{ label: 'Marketing', value: 'marketing' }}
|
|
45
|
+
isSelected={() => true}
|
|
46
|
+
color="primary"
|
|
47
|
+
size="medium"
|
|
48
|
+
onPress={(disabled, val) => console.log('Pressed:', val)}
|
|
49
|
+
/>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 🛠️ Tips
|
|
55
|
+
|
|
56
|
+
- Gunakan `renderItem` untuk mengganti isi chip dengan tampilan kustom.
|
|
57
|
+
- Pastikan `isSelected` di-define dengan benar agar state visual chip sesuai.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 🧱 Dependencies
|
|
62
|
+
|
|
63
|
+
- `Typography`
|
|
64
|
+
- `CHIP_COLOR_MAP`
|
|
65
|
+
- `Pressable` & `StyleSheet` dari React Native
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 🗂️ Related
|
|
70
|
+
|
|
71
|
+
- `Chip`
|
|
72
|
+
- `Select`
|
|
73
|
+
- `ChipOptionProps`
|
package/src/Chip/type.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ColorValue } from 'react-native';
|
|
1
|
+
import type { ColorValue, LayoutChangeEvent } from 'react-native';
|
|
2
2
|
import Color from '../Color/Color';
|
|
3
3
|
import type { ColorVariantType } from '../Color/type';
|
|
4
4
|
|
|
@@ -134,6 +134,7 @@ export interface ChipItem {
|
|
|
134
134
|
renderItem?: ChipRenderItemFn;
|
|
135
135
|
isHorizontal?: boolean;
|
|
136
136
|
onPress?: (isDisabled: boolean, value: ChipOptionProps) => void;
|
|
137
|
+
onLayout?: (event: LayoutChangeEvent) => void;
|
|
137
138
|
}
|
|
138
139
|
export interface ChipProps {
|
|
139
140
|
options: ChipOptionProps[];
|
package/src/Select/README.md
CHANGED
|
@@ -14,22 +14,23 @@ Komponen `Select` adalah komponen pemilihan data berbasis bottom sheet dengan du
|
|
|
14
14
|
|
|
15
15
|
## 📦 Props
|
|
16
16
|
|
|
17
|
-
| Prop
|
|
18
|
-
|
|
19
|
-
| `isOpen`
|
|
20
|
-
| `data`
|
|
21
|
-
| `multiple`
|
|
22
|
-
| `renderItem`
|
|
23
|
-
| `onSubmit`
|
|
24
|
-
| `onClose`
|
|
25
|
-
| `onSearch`
|
|
26
|
-
| `required`
|
|
27
|
-
| `loading`
|
|
28
|
-
| `delaySearch
|
|
29
|
-
| `height`
|
|
30
|
-
| `onRefresh`
|
|
31
|
-
| `header`
|
|
32
|
-
| `footer`
|
|
17
|
+
| Prop | Tipe | Default | Keterangan |
|
|
18
|
+
| ------------- | ----------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| `isOpen` | `boolean` | `false` | Menentukan apakah bottom sheet terbuka |
|
|
20
|
+
| `data` | `ChipOptionProps[]` | - | Data pilihan untuk ditampilkan |
|
|
21
|
+
| `multiple` | `boolean` | `false` | Mengizinkan multiple selection |
|
|
22
|
+
| `renderItem` | `(item, selected, disabled) => React.ReactNode` | - | Kustom tampilan item |
|
|
23
|
+
| `onSubmit` | `(selected: ChipSelectedProps) => void` | - | Callback saat tombol submit ditekan |
|
|
24
|
+
| `onClose` | `(val: boolean) => void` | - | Callback saat bottom sheet ditutup |
|
|
25
|
+
| `onSearch` | `(val: string) => void` | - | Callback saat input pencarian berubah |
|
|
26
|
+
| `required` | `boolean` | `false` | Jika `true`, validasi input saat submit |
|
|
27
|
+
| `loading` | `boolean` | `false` | Menampilkan loading saat data di-fetch |
|
|
28
|
+
| `delaySearch` | `number` | `300` | Delay pencarian dalam milidetik |
|
|
29
|
+
| `height` | `BottomSheetHeighProps` | - | Ukuran tinggi BottomSheet |
|
|
30
|
+
| `onRefresh` | `() => void` | - | Callback saat pull-to-refresh dilakukan |
|
|
31
|
+
| `header` | ReactElement | – | Jika ingin chip mempunyai header. |
|
|
32
|
+
| `footer` | ReactElement | – | Jika ingin chip mempunyai footer. |
|
|
33
|
+
| `value` | ChipSelectedProps | – | Nilai pilihan yang dikontrol dari luar. Cocok untuk membuat komponen controlled. Akan mensinkronkan state internal selected dengan value setiap kali berubah. |
|
|
33
34
|
|
|
34
35
|
## 📌 Contoh Penggunaan
|
|
35
36
|
|
|
@@ -53,6 +54,7 @@ const MyScreen = () => {
|
|
|
53
54
|
<Button title="Pilih Data" onPress={() => setOpen(true)} />
|
|
54
55
|
<Select
|
|
55
56
|
isOpen={open}
|
|
57
|
+
value={selected}
|
|
56
58
|
data={data}
|
|
57
59
|
multiple={true}
|
|
58
60
|
onClose={() => setOpen(false)}
|
|
@@ -77,4 +79,11 @@ const MyScreen = () => {
|
|
|
77
79
|
- `Loading`
|
|
78
80
|
- `Toast` (untuk validasi/error)
|
|
79
81
|
|
|
80
|
-
- Jika ingin menambahkan animasi shimmer saat loading, bisa modifikasi komponen `Loading`.
|
|
82
|
+
- Jika ingin menambahkan animasi shimmer saat loading, bisa modifikasi komponen `Loading`.
|
|
83
|
+
|
|
84
|
+
## ⚠️ Behavior Penting
|
|
85
|
+
|
|
86
|
+
- Jika `multiple={false}` dan `required={true}`, maka:
|
|
87
|
+
- Item yang dipilih akan langsung dikirim ke `onSubmit`.
|
|
88
|
+
- BottomSheet akan langsung tertutup tanpa menekan tombol submit.
|
|
89
|
+
- Jika `required={false}`, user bisa membatalkan pilihan (deselect), dan mengirim data kosong.
|
package/src/Select/Select.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback, useState } from 'react';
|
|
1
|
+
import { useCallback, useState, useEffect } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Keyboard,
|
|
4
4
|
StyleSheet,
|
|
@@ -32,6 +32,7 @@ export default function Select({
|
|
|
32
32
|
header,
|
|
33
33
|
onEndReached,
|
|
34
34
|
submitBtnLabel,
|
|
35
|
+
value,
|
|
35
36
|
}: SelectProps) {
|
|
36
37
|
// const [isOpenSelect, setIsOpenSelect] = useState<boolean | undefined>(false);
|
|
37
38
|
const [selected, setSelected] = useState<ChipSelectedProps>();
|
|
@@ -75,6 +76,12 @@ export default function Select({
|
|
|
75
76
|
}, delaySearch);
|
|
76
77
|
};
|
|
77
78
|
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (value !== undefined) {
|
|
81
|
+
setSelected(value);
|
|
82
|
+
}
|
|
83
|
+
}, [value]);
|
|
84
|
+
|
|
78
85
|
return (
|
|
79
86
|
<BottomSheet
|
|
80
87
|
onClose={(val: boolean) => handleOnCloseBottom(val)}
|
|
@@ -109,40 +116,43 @@ export default function Select({
|
|
|
109
116
|
{loading ? (
|
|
110
117
|
<Loading />
|
|
111
118
|
) : (
|
|
112
|
-
<
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
119
|
+
<View style={styles.containerChip}>
|
|
120
|
+
<Chip
|
|
121
|
+
options={data}
|
|
122
|
+
direction="vertical"
|
|
123
|
+
scrollable={true}
|
|
124
|
+
selected={selected}
|
|
125
|
+
multiple={multiple}
|
|
126
|
+
onEndReached={onEndReached}
|
|
127
|
+
color="primary"
|
|
128
|
+
size="large"
|
|
129
|
+
renderItem={renderItem}
|
|
130
|
+
onRefresh={onRefresh}
|
|
131
|
+
block
|
|
132
|
+
refreshing={refreshing}
|
|
133
|
+
footer={footer}
|
|
134
|
+
header={header}
|
|
135
|
+
onSelect={(item) => {
|
|
136
|
+
setSelected(item);
|
|
137
|
+
if (!multiple && required) {
|
|
138
|
+
onSubmit?.(item);
|
|
139
|
+
handleOnCloseBottom(false);
|
|
140
|
+
} else if (!multiple && !required) {
|
|
141
|
+
const isSame =
|
|
142
|
+
Array.isArray(item) && Array.isArray(selected)
|
|
143
|
+
? item[0] === selected?.[0]
|
|
144
|
+
: item === selected;
|
|
137
145
|
|
|
138
|
-
|
|
146
|
+
const nextValue =
|
|
147
|
+
!multiple && !required && isSame ? [] : item;
|
|
139
148
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
149
|
+
setSelected(nextValue);
|
|
150
|
+
onSubmit?.(nextValue);
|
|
151
|
+
handleOnCloseBottom(false);
|
|
152
|
+
}
|
|
153
|
+
}}
|
|
154
|
+
/>
|
|
155
|
+
</View>
|
|
146
156
|
)}
|
|
147
157
|
</View>
|
|
148
158
|
</BottomSheet>
|
|
@@ -151,10 +161,13 @@ export default function Select({
|
|
|
151
161
|
|
|
152
162
|
const styles = StyleSheet.create({
|
|
153
163
|
container: {
|
|
154
|
-
marginBottom:
|
|
164
|
+
marginBottom: 195,
|
|
155
165
|
},
|
|
156
166
|
containerSearch: {
|
|
157
167
|
gap: 14,
|
|
158
168
|
paddingBottom: 12,
|
|
159
169
|
},
|
|
170
|
+
containerChip: {
|
|
171
|
+
paddingBottom: 12,
|
|
172
|
+
},
|
|
160
173
|
});
|
package/src/Select/type.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ChipOnSelectProps, ChipOptionProps } from '../Chip/type';
|
|
3
3
|
import type { BottomSheetHeighProps } from '../BottomSheet/type';
|
|
4
|
+
import type { ChipSelectedProps } from '../Chip/type';
|
|
4
5
|
|
|
5
6
|
export interface SelectDataProps {
|
|
6
7
|
value: string | number;
|
|
@@ -29,6 +30,7 @@ export interface SelectProps {
|
|
|
29
30
|
onEndReached?: () => void;
|
|
30
31
|
refreshing?: boolean;
|
|
31
32
|
submitBtnLabel?: string;
|
|
33
|
+
value?: ChipSelectedProps;
|
|
32
34
|
footer?: React.ComponentType<any> | React.ReactElement | null | undefined;
|
|
33
35
|
header?: React.ComponentType<any> | React.ReactElement | null | undefined;
|
|
34
36
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# 🦴 Skeleton Loader Component
|
|
2
|
+
|
|
3
|
+
Komponen `Skeleton` adalah placeholder UI yang menampilkan efek shimmer animasi, berguna untuk memberikan feedback loading saat data belum tersedia.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📦 Props
|
|
8
|
+
|
|
9
|
+
| Prop | Tipe | Default | Deskripsi |
|
|
10
|
+
| ----------------- | ---------------- | ---------------------------- | ---------------------------------------------------------------------------------- |
|
|
11
|
+
| `width` | `DimensionValue` | `"100%"` | Lebar dari skeleton block. Bisa berupa angka atau string (`'100%'`, `'50%'`, dsb). |
|
|
12
|
+
| `height` | `DimensionValue` | `50` | Tinggi dari skeleton block. |
|
|
13
|
+
| `rounded` | `number` | `8` | Radius border untuk membuat sudut membulat. |
|
|
14
|
+
| `backgroundColor` | `string` | `"#F0F0F0"` | Warna latar belakang dari blok skeleton. |
|
|
15
|
+
| `shimmerColor` | `string` | `"rgba(255, 255, 255, 0.7)"` | Warna efek shimmer yang bergerak. |
|
|
16
|
+
| `duration` | `number` | `1500` | Durasi animasi shimmer (dalam milidetik). |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 🧠 Cara Kerja
|
|
21
|
+
|
|
22
|
+
- Komponen menggunakan `Animated.Value` untuk menggerakkan efek shimmer dari kiri ke kanan secara loop.
|
|
23
|
+
- Lebar shimmer dihitung berdasarkan lebar aktual komponen yang didapat dari event `onLayout`.
|
|
24
|
+
- Shimmer bergerak dengan `translateX` menggunakan `interpolate()` untuk efek linear mulus.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 📌 Contoh Penggunaan
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import React from 'react';
|
|
32
|
+
import { View } from 'react-native';
|
|
33
|
+
import Skeleton from './components/Skeleton';
|
|
34
|
+
|
|
35
|
+
const MyLoadingScreen = () => {
|
|
36
|
+
return (
|
|
37
|
+
<View style={{ padding: 16 }}>
|
|
38
|
+
<Skeleton height={20} width="60%" />
|
|
39
|
+
<View style={{ height: 16 }} />
|
|
40
|
+
<Skeleton height={20} width="80%" />
|
|
41
|
+
<View style={{ height: 16 }} />
|
|
42
|
+
<Skeleton height={100} width="100%" rounded={12} />
|
|
43
|
+
</View>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 🧱 Struktur Rendered
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
<View>
|
|
54
|
+
{' '}
|
|
55
|
+
// container
|
|
56
|
+
<Animated.View /> // shimmer yang bergerak horizontal
|
|
57
|
+
</View>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## ⚠️ Catatan
|
|
63
|
+
|
|
64
|
+
- Komponen ini **tidak menerima children**, hanya untuk placeholder visual.
|
|
65
|
+
- Efek shimmer akan selalu berjalan secara loop selama komponen hidup.
|
|
66
|
+
- Perhatikan performa jika digunakan secara masif di satu halaman.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 🛠 Tips
|
|
71
|
+
|
|
72
|
+
- Gunakan `Skeleton` dalam daftar (list, table, card) untuk meningkatkan UX saat loading.
|
|
73
|
+
- Dapat digabungkan dengan kondisi seperti:
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
{
|
|
77
|
+
isLoading ? <Skeleton height={50} /> : <ActualComponent data={data} />;
|
|
78
|
+
}
|
|
79
|
+
```
|