@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.
@@ -1,5 +1,19 @@
1
+ import { Action } from '@evlop/commons';
1
2
  import React from 'react';
2
- export declare const BaseActionable: ({ action, ...props }: any) => JSX.Element;
3
- declare const _default: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<any>>;
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":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,eAAO,MAAM,cAAc,yBAAwB,GAAG,gBAKrD,CAAA;;AAED,wBAMqB"}
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"}
@@ -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 react_1 = __importDefault(require("react"));
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
- return react_1.default.createElement(StyledPressable, Object.assign({ onPress: action ? onPress : undefined, android_ripple: true }, props));
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":";;;;;;;;;;;;;;;;;AAAA,4CAAyD;AACzD,kDAA0B;AAC1B,+CAAyC;AACzC,sEAA8C;AAC9C,iDAAkE;AAElE,MAAM,eAAe,GAAG,IAAA,gBAAM,EAAC,wBAAS,CAAC,CACrC,sBAAM,EACN,0BAAU,EACV,sBAAM,EACN,qBAAK,CACR,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,EAAuB,EAAE,EAAE;QAA3B,EAAC,MAAM,OAAgB,EAAX,KAAK,cAAjB,UAAkB,CAAD;IAC5C,MAAM,OAAO,GAAG,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;IAGlC,OAAO,8BAAC,eAAe,kBAAC,OAAO,EAAE,MAAM,CAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,UAAK,KAAK,EAAI,CAAE;AAChG,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B;AAED,kBAAe,IAAA,sBAAY,EAAC;IACxB,IAAI,EAAE,YAAY;IAClB,oBAAoB,EAAE,EAAE;IACxB,YAAY,EAAE;QACV,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAC;KACxD;CACF,CAAC,CAAC,sBAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"Actionable.js","sourceRoot":"","sources":["../../src/Actionable.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evlop/native-components",
3
- "version": "1.0.145",
3
+ "version": "1.0.147",
4
4
  "description": "",
5
5
  "main": "dist/main.js",
6
6
  "scripts": {