@evlop/native-components 1.0.145 → 1.0.147
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/dist/src/Actionable.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
|
+
import { Action } from '@evlop/commons';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
declare
|
|
3
|
+
declare type EffectType = 'none' | 'scale' | 'opacity' | 'both' | 'elevation' | 'border' | 'color' | 'ripple' | 'spring';
|
|
4
|
+
declare type FeedbackType = 'none' | 'light' | 'medium' | 'heavy' | 'success' | 'error' | 'warning';
|
|
5
|
+
interface ActionableProps {
|
|
6
|
+
effect?: EffectType;
|
|
7
|
+
feedback?: FeedbackType;
|
|
8
|
+
action: Action;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
export declare const BaseActionable: React.ComponentType<ActionableProps>;
|
|
12
|
+
declare const _default: React.ForwardRefExoticComponent<Pick<React.PropsWithChildren<ActionableProps & {
|
|
13
|
+
model?: string;
|
|
14
|
+
dataModel?: string;
|
|
15
|
+
configModel?: string;
|
|
16
|
+
action?: Action;
|
|
17
|
+
}>, string | number> & React.RefAttributes<any>>;
|
|
4
18
|
export default _default;
|
|
5
19
|
//# sourceMappingURL=Actionable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actionable.d.ts","sourceRoot":"","sources":["../../src/Actionable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Actionable.d.ts","sourceRoot":"","sources":["../../src/Actionable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,aAAK,UAAU,GACT,MAAM,GACN,OAAO,GACP,SAAS,GACT,MAAM,GACN,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,CAAC;AAEf,aAAK,YAAY,GACX,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEhB,UAAU,eAAe;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AA8ED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,eAAe,CAoB/D,CAAA;;;;;;;AAED,wBAImB"}
|
package/dist/src/Actionable.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
26
|
var t = {};
|
|
4
27
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -16,22 +39,97 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
40
|
exports.BaseActionable = void 0;
|
|
18
41
|
const commons_1 = require("@evlop/commons");
|
|
19
|
-
const
|
|
42
|
+
const lodash_1 = require("lodash");
|
|
43
|
+
const react_1 = __importStar(require("react"));
|
|
20
44
|
const react_native_1 = require("react-native");
|
|
21
45
|
const native_1 = __importDefault(require("styled-components/native"));
|
|
22
46
|
const styled_system_1 = require("styled-system");
|
|
23
47
|
const StyledPressable = (0, native_1.default)(react_native_1.Pressable)(styled_system_1.border, styled_system_1.background, styled_system_1.layout, styled_system_1.space);
|
|
48
|
+
const getPressEffect = (0, lodash_1.memoize)((effect = 'none') => {
|
|
49
|
+
return ({ pressed }) => {
|
|
50
|
+
switch (effect) {
|
|
51
|
+
case 'scale':
|
|
52
|
+
return {
|
|
53
|
+
transform: [{ scale: pressed ? 0.95 : 1 }],
|
|
54
|
+
};
|
|
55
|
+
case 'opacity':
|
|
56
|
+
return {
|
|
57
|
+
opacity: pressed ? 0.7 : 1,
|
|
58
|
+
};
|
|
59
|
+
case 'both':
|
|
60
|
+
return {
|
|
61
|
+
transform: [{ scale: pressed ? 0.95 : 1 }],
|
|
62
|
+
opacity: pressed ? 0.7 : 1,
|
|
63
|
+
};
|
|
64
|
+
case 'elevation':
|
|
65
|
+
return {
|
|
66
|
+
transform: [{ scale: pressed ? 0.98 : 1 }],
|
|
67
|
+
shadowOpacity: pressed ? 0.2 : 0.5,
|
|
68
|
+
shadowRadius: pressed ? 2 : 4,
|
|
69
|
+
elevation: pressed ? 2 : 4,
|
|
70
|
+
};
|
|
71
|
+
case 'border':
|
|
72
|
+
return {
|
|
73
|
+
borderWidth: pressed ? 2 : 1,
|
|
74
|
+
borderColor: pressed ? '#007AFF' : '#E5E5EA',
|
|
75
|
+
};
|
|
76
|
+
case 'color':
|
|
77
|
+
return {
|
|
78
|
+
backgroundColor: pressed ? '#F2F2F7' : '#FFFFFF',
|
|
79
|
+
};
|
|
80
|
+
case 'ripple':
|
|
81
|
+
return {
|
|
82
|
+
transform: [{ scale: pressed ? 0.98 : 1 }],
|
|
83
|
+
backgroundColor: pressed ? 'rgba(0, 0, 0, 0.05)' : 'transparent',
|
|
84
|
+
};
|
|
85
|
+
case 'spring':
|
|
86
|
+
return {
|
|
87
|
+
transform: [
|
|
88
|
+
{ scale: pressed ? 0.97 : 1 },
|
|
89
|
+
{ translateY: pressed ? 1 : 0 }
|
|
90
|
+
],
|
|
91
|
+
};
|
|
92
|
+
default:
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
const getFeedbackPattern = (0, lodash_1.memoize)((type) => {
|
|
98
|
+
switch (type) {
|
|
99
|
+
case 'light':
|
|
100
|
+
return 20; // 20ms vibration
|
|
101
|
+
case 'medium':
|
|
102
|
+
return 50; // 50ms vibration
|
|
103
|
+
case 'heavy':
|
|
104
|
+
return 100; // 100ms vibration
|
|
105
|
+
case 'success':
|
|
106
|
+
return [0, 30, 50, 30]; // Success pattern: short-long-short
|
|
107
|
+
case 'error':
|
|
108
|
+
return [0, 50, 50, 50]; // Error pattern: three short vibrations
|
|
109
|
+
case 'warning':
|
|
110
|
+
return [0, 100, 50, 100]; // Warning pattern: long-short-long
|
|
111
|
+
default:
|
|
112
|
+
return 0;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
24
115
|
const BaseActionable = (_a) => {
|
|
25
|
-
var { action } = _a, props = __rest(_a, ["action"]);
|
|
116
|
+
var { action, effect = 'none', feedback = 'none' } = _a, props = __rest(_a, ["action", "effect", "feedback"]);
|
|
26
117
|
const onPress = (0, commons_1.useAction)(action);
|
|
27
|
-
|
|
118
|
+
const handlePress = (0, react_1.useCallback)((event) => {
|
|
119
|
+
if (feedback !== 'none') {
|
|
120
|
+
const pattern = getFeedbackPattern(feedback);
|
|
121
|
+
react_native_1.Vibration.vibrate(pattern, react_native_1.Platform.OS === 'ios');
|
|
122
|
+
}
|
|
123
|
+
setImmediate(() => {
|
|
124
|
+
onPress === null || onPress === void 0 ? void 0 : onPress(event);
|
|
125
|
+
});
|
|
126
|
+
}, [feedback, onPress]);
|
|
127
|
+
return (react_1.default.createElement(StyledPressable, Object.assign({ onPress: action ? handlePress : undefined, style: getPressEffect(effect) }, props)));
|
|
28
128
|
};
|
|
29
129
|
exports.BaseActionable = BaseActionable;
|
|
30
130
|
exports.default = (0, commons_1.withSettings)({
|
|
31
131
|
name: 'Actionable',
|
|
32
132
|
configurationOptions: [],
|
|
33
|
-
valueOptions: [
|
|
34
|
-
{ type: 'app-action', name: 'action', label: 'Action' },
|
|
35
|
-
],
|
|
133
|
+
valueOptions: [],
|
|
36
134
|
})(exports.BaseActionable);
|
|
37
135
|
//# sourceMappingURL=Actionable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actionable.js","sourceRoot":"","sources":["../../src/Actionable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Actionable.js","sourceRoot":"","sources":["../../src/Actionable.tsx"],"names":[],"mappings":"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"}
|