@draftbit/core 47.0.0-0362d7.2 → 47.0.0-3bcd8b.2

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.
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _Surface = _interopRequireDefault(require("./Surface"));
10
+ var _shadow = _interopRequireDefault(require("../styles/shadow"));
11
+ var _theming = require("../theming");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ const ELEVATION = 1;
17
+ const DEFAULT_MAX_WIDTH = 960;
18
+ const Banner = _ref => {
19
+ let {
20
+ initiallyVisible = true,
21
+ dismissable = true,
22
+ icon,
23
+ buttonColor,
24
+ content,
25
+ contentStyle,
26
+ style,
27
+ theme,
28
+ Icon,
29
+ ...rest
30
+ } = _ref;
31
+ const [visible, setVisible] = React.useState(initiallyVisible);
32
+ React.useEffect(() => {
33
+ if (initiallyVisible) {
34
+ setVisible(true);
35
+ }
36
+ }, [initiallyVisible]);
37
+ const {
38
+ current: position
39
+ } = React.useRef(new _reactNative.Animated.Value(visible ? 1 : 0));
40
+ const [layout, setLayout] = React.useState({
41
+ height: 0,
42
+ measured: false
43
+ });
44
+ React.useEffect(() => {
45
+ if (visible) {
46
+ // show
47
+ _reactNative.Animated.timing(position, {
48
+ duration: 250,
49
+ toValue: 1,
50
+ useNativeDriver: false
51
+ }).start();
52
+ } else {
53
+ // hide
54
+ _reactNative.Animated.timing(position, {
55
+ duration: 200,
56
+ toValue: 0,
57
+ useNativeDriver: false
58
+ }).start();
59
+ }
60
+ }, [visible, position]);
61
+ const handleLayout = _ref2 => {
62
+ let {
63
+ nativeEvent
64
+ } = _ref2;
65
+ const {
66
+ height
67
+ } = nativeEvent.layout;
68
+ setLayout({
69
+ height,
70
+ measured: true
71
+ });
72
+ };
73
+
74
+ // The banner animation has 2 parts:
75
+ // 1. Blank spacer element which animates its height to move the content
76
+ // 2. Actual banner which animates its translateY
77
+ // In initial render, we position everything normally and measure the height of the banner
78
+ // Once we have the height, we apply the height to the spacer and switch the banner to position: absolute
79
+ // We need this because we need to move the content below as if banner's height was being animated
80
+ // However we can't animated banner's height directly as it'll also resize the content inside
81
+ const height = _reactNative.Animated.multiply(position, layout.height);
82
+ const translateY = _reactNative.Animated.multiply(_reactNative.Animated.add(position, -1), layout.height);
83
+ return /*#__PURE__*/React.createElement(_Surface.default, _extends({}, rest, {
84
+ style: [styles.container, (0, _shadow.default)(ELEVATION), style]
85
+ }), /*#__PURE__*/React.createElement(_reactNative.View, {
86
+ style: [styles.wrapper, contentStyle]
87
+ }, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
88
+ style: {
89
+ height
90
+ }
91
+ }), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
92
+ onLayout: handleLayout,
93
+ style: [layout.measured || !visible ?
94
+ // If we have measured banner's height or it's invisible,
95
+ // Position it absolutely, the layout will be taken care of the spacer
96
+ [styles.absolute, {
97
+ transform: [{
98
+ translateY
99
+ }]
100
+ }] :
101
+ // Otherwise position it normally
102
+ null, !layout.measured && !visible ?
103
+ // If we haven't measured banner's height yet and it's invisible,
104
+ // hide it with opacity: 0 so user doesn't see it
105
+ {
106
+ opacity: 0
107
+ } : null]
108
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
109
+ style: [styles.content, {
110
+ marginBottom: dismissable ? 0 : 16
111
+ }]
112
+ }, icon ? /*#__PURE__*/React.createElement(_reactNative.View, {
113
+ style: styles.icon
114
+ }, /*#__PURE__*/React.createElement(Icon, {
115
+ name: icon,
116
+ size: 40
117
+ })) : null, /*#__PURE__*/React.createElement(_reactNative.Text, {
118
+ style: [styles.message, {
119
+ color: theme.colors.text
120
+ }],
121
+ accessibilityLiveRegion: visible ? "polite" : "none",
122
+ accessibilityRole: "alert"
123
+ }, content)), dismissable ? /*#__PURE__*/React.createElement(_reactNative.View, {
124
+ style: styles.actions
125
+ }, /*#__PURE__*/React.createElement(_reactNative.Button, {
126
+ color: buttonColor || theme.colors.primary,
127
+ title: "Close",
128
+ onPress: () => setVisible(false)
129
+ })) : null)));
130
+ };
131
+ const styles = _reactNative.StyleSheet.create({
132
+ container: {
133
+ elevation: ELEVATION
134
+ },
135
+ wrapper: {
136
+ overflow: "hidden",
137
+ alignSelf: "center",
138
+ width: "100%",
139
+ maxWidth: DEFAULT_MAX_WIDTH
140
+ },
141
+ absolute: {
142
+ position: "absolute",
143
+ top: 0,
144
+ width: "100%"
145
+ },
146
+ content: {
147
+ flexDirection: "row",
148
+ justifyContent: "flex-start",
149
+ marginHorizontal: 8,
150
+ marginTop: 16,
151
+ marginBottom: 0
152
+ },
153
+ icon: {
154
+ margin: 8
155
+ },
156
+ message: {
157
+ flex: 1,
158
+ margin: 8
159
+ },
160
+ actions: {
161
+ flexDirection: "row",
162
+ justifyContent: "flex-end",
163
+ margin: 8
164
+ }
165
+ });
166
+ var _default = (0, _theming.withTheme)(Banner);
167
+ exports.default = _default;
168
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ELEVATION","DEFAULT_MAX_WIDTH","Banner","initiallyVisible","dismissable","icon","buttonColor","content","contentStyle","style","theme","Icon","rest","visible","setVisible","React","useState","useEffect","current","position","useRef","Animated","Value","layout","setLayout","height","measured","timing","duration","toValue","useNativeDriver","start","handleLayout","nativeEvent","multiply","translateY","add","styles","container","shadow","wrapper","absolute","transform","opacity","marginBottom","message","color","colors","text","actions","primary","StyleSheet","create","elevation","overflow","alignSelf","width","maxWidth","top","flexDirection","justifyContent","marginHorizontal","marginTop","margin","flex","withTheme"],"sourceRoot":"../../src","sources":["Banner.tsx"],"mappings":"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"}
@@ -11,6 +11,7 @@ var _Touchable = _interopRequireDefault(require("./Touchable"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
15
  function FormRow(_ref) {
15
16
  let {
16
17
  disabled,
@@ -25,27 +26,12 @@ function FormRow(_ref) {
25
26
  textStyles,
26
27
  viewStyles
27
28
  } = (0, _utilities.extractStyles)(style);
28
- return /*#__PURE__*/React.createElement(_Touchable.default, {
29
+ return /*#__PURE__*/React.createElement(_Touchable.default, _extends({
29
30
  disabled: disabled,
30
31
  onPress: onPress,
31
32
  style: [styles.row, {
32
33
  flexDirection: direction
33
- }, viewStyles],
34
- ...rest
35
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
36
- style: textStyles
37
- }, label), children);
38
- }
39
- const styles = _reactNative.StyleSheet.create({
40
- row: {
41
- marginLeft: 8,
42
- marginRight: 8,
43
- flexDirection: "row",
44
- justifyContent: "space-between",
45
- alignItems: "center"
46
- }
47
- });
48
- //# sourceMappingURL=FormRow.js.map]
34
+ }, viewStyles]
49
35
  }, rest), /*#__PURE__*/React.createElement(_reactNative.Text, {
50
36
  style: textStyles
51
37
  }, label), children);
@@ -1 +1 @@
1
- {"version":3,"names":["FormRow","disabled","direction","children","label","style","onPress","rest","textStyles","viewStyles","extractStyles","React","createElement","Touchable","styles","row","flexDirection","Text","StyleSheet","create","marginLeft","marginRight","justifyContent","alignItems"],"sourceRoot":"../../src","sources":["FormRow.js"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAAoC;AAAA;AAAA;AACrB,SAASA,OAAO,OAAoE;EAAA,IAAnE;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,KAAK;IAAEC,OAAO;IAAE,GAAGC;EAAK,CAAC;EAC7F,MAAM;IAAEC,UAAU;IAAEC;EAAW,CAAC,GAAG,IAAAC,wBAAa,EAACL,KAAK,CAAC;EACvD,oBAAQM,KAAK,CAACC,aAAa,CAACC,kBAAS,EAAE;IAAEZ,QAAQ,EAAEA,QAAQ;IAAEK,OAAO,EAAEA,OAAO;IAAED,KAAK,EAAE,CAACS,MAAM,CAACC,GAAG,EAAE;MAAEC,aAAa,EAAEd;IAAU,CAAC,EAAEO,UAAU,CAAC;IAAE,GAAGF;EAAK,CAAC,eACnJI,KAAK,CAACC,aAAa,CAACK,iBAAI,EAAE;IAAEZ,KAAK,EAAEG;EAAW,CAAC,EAAEJ,KAAK,CAAC,EACvDD,QAAQ,CAAC;AACjB;AACA,MAAMW,MAAM,GAAGI,uBAAU,CAACC,MAAM,CAAC;EAC7BJ,GAAG,EAAE;IACDK,UAAU,EAAE,CAAC;IACbC,WAAW,EAAE,CAAC;IACdL,aAAa,EAAE,KAAK;IACpBM,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE;EAChB;AACJ,CAAC,CAAC"}
1
+ {"version":3,"names":["FormRow","disabled","direction","children","label","style","onPress","rest","textStyles","viewStyles","extractStyles","styles","row","flexDirection","StyleSheet","create","marginLeft","marginRight","justifyContent","alignItems"],"sourceRoot":"../../src","sources":["FormRow.tsx"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AAAoC;AAAA;AAAA;AAAA;AAWrB,SAASA,OAAO,OAQrB;EAAA,IARsB;IAC9BC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,KAAK;IACLC,KAAK;IACLC,OAAO;IACP,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC,UAAU;IAAEC;EAAW,CAAC,GAAG,IAAAC,wBAAa,EAACL,KAAK,CAAC;EACvD,oBACE,oBAAC,kBAAS;IACR,QAAQ,EAAEJ,QAAS;IACnB,OAAO,EAAEK,OAAQ;IACjB,KAAK,EAAE,CAACK,MAAM,CAACC,GAAG,EAAE;MAAEC,aAAa,EAAEX;IAAU,CAAC,EAAEO,UAAU;EAAE,GAC1DF,IAAI,gBAER,oBAAC,iBAAI;IAAC,KAAK,EAAEC;EAAW,GAAEJ,KAAK,CAAQ,EACtCD,QAAQ,CACC;AAEhB;AAEA,MAAMQ,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAC/BH,GAAG,EAAE;IACHI,UAAU,EAAE,CAAC;IACbC,WAAW,EAAE,CAAC;IACdJ,aAAa,EAAE,KAAK;IACpBK,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE;EACd;AACF,CAAC,CAAC"}
@@ -18,7 +18,9 @@ var _utilities = require("../../utilities");
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
22
  const Picker = _ref => {
23
+ var _options$find;
22
24
  let {
23
25
  Icon,
24
26
  style,
@@ -32,7 +34,6 @@ const Picker = _ref => {
32
34
  },
33
35
  ...props
34
36
  } = _ref;
35
- var _a, _b;
36
37
  const {
37
38
  viewStyles: {
38
39
  borderRadius,
@@ -73,24 +74,26 @@ const Picker = _ref => {
73
74
  };
74
75
 
75
76
  const stylesWithoutMargin = style && (0, _lodash.default)(_reactNative.StyleSheet.flatten(style), ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft"]);
76
- const selectedLabel = selectedValue && ((_b = (_a = options.find(o => o.value === selectedValue)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : selectedValue);
77
+ const selectedLabel = selectedValue && (((_options$find = options.find(o => o.value === selectedValue)) === null || _options$find === void 0 ? void 0 : _options$find.label) ?? selectedValue);
77
78
  return /*#__PURE__*/React.createElement(_reactNative.View, {
78
79
  style: [styles.container, viewStyles]
79
80
  }, /*#__PURE__*/React.createElement(_Touchable.default, {
80
81
  disabled: disabled,
81
82
  onPress: toggleVisibility
82
- }, /*#__PURE__*/React.createElement(_TextField.default, {
83
- ...props,
83
+ }, /*#__PURE__*/React.createElement(_TextField.default, _extends({}, props, {
84
84
  value: String(selectedLabel),
85
- placeholder: placeholder,
85
+ placeholder: placeholder
86
86
  // @ts-ignore
87
- ref: textField,
87
+ ,
88
+ ref: textField // cannot determine if ref is of correct type due to component being wrapped in a withTheme()
89
+ ,
88
90
  disabled: disabled,
89
- pointerEvents: "none",
91
+ pointerEvents: "none"
90
92
  // @ts-expect-error
93
+ ,
91
94
  style: stylesWithoutMargin,
92
95
  Icon: Icon
93
- })), pickerVisible && /*#__PURE__*/React.createElement(_Portal.default, null, /*#__PURE__*/React.createElement(_reactNative.View, {
96
+ }))), pickerVisible && /*#__PURE__*/React.createElement(_Portal.default, null, /*#__PURE__*/React.createElement(_reactNative.View, {
94
97
  style: [styles.picker, {
95
98
  backgroundColor: colors.divider
96
99
  }]
@@ -136,26 +139,4 @@ const styles = _reactNative.StyleSheet.create({
136
139
  });
137
140
  var _default = (0, _theming.withTheme)(Picker);
138
141
  exports.default = _default;
139
- //# sourceMappingURL=PickerComponent.ios.js.map container: {
140
- alignSelf: "stretch"
141
- },
142
- picker: {
143
- position: "absolute",
144
- bottom: 0,
145
- left: 0,
146
- right: 0,
147
- flexDirection: "row",
148
- justifyContent: "center"
149
- },
150
- pickerContainer: {
151
- backgroundColor: "white",
152
- flexDirection: "column",
153
- width: "100%"
154
- },
155
- closeButton: {
156
- alignSelf: "flex-end"
157
- }
158
- });
159
- var _default = (0, _theming.withTheme)(Picker);
160
- exports.default = _default;
161
142
  //# sourceMappingURL=PickerComponent.ios.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Picker","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","_a","_b","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","extractStyles","textField","React","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","omit","StyleSheet","flatten","selectedLabel","find","o","value","label","createElement","View","styles","container","Touchable","onPress","TextField","String","ref","pointerEvents","Portal","picker","divider","SafeAreaView","pickerContainer","Button","type","closeButton","NativePicker","map","Item","key","create","alignSelf","position","bottom","left","right","flexDirection","justifyContent","width","withTheme"],"sourceRoot":"../../src","sources":["PickerComponent.ios.js"],"mappings":"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"}
1
+ {"version":3,"names":["Picker","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","extractStyles","textField","React","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","omit","StyleSheet","flatten","selectedLabel","find","o","value","label","styles","container","String","picker","divider","pickerContainer","closeButton","map","create","alignSelf","position","bottom","left","right","flexDirection","justifyContent","width","withTheme"],"sourceRoot":"../../src","sources":["PickerComponent.ios.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAAgD;AAAA;AAAA;AAAA;AAGhD,MAAMA,MAAiD,GAAG,QAUpD;EAAA;EAAA,IAVqD;IACzDC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,WAAW;IACXC,aAAa;IACbC,QAAQ,GAAG,KAAK;IAChBC,aAAa,GAAG,MAAM,CAAC,CAAC;IACxBC,KAAK,EAAE;MAAEC;IAAO,CAAC;IACjB,GAAGC;EACL,CAAC;EACC,MAAM;IACJC,UAAU,EAAE;MACVC,YAAY;MAAE;MACdC,WAAW;MAAE;MACbC,cAAc;MAAE;MAChBC,gBAAgB;MAAE;MAClBC,iBAAiB;MAAE;MACnBC,eAAe;MAAE;MACjBC,WAAW;MAAE;MACbC,eAAe;MAAE;MACjBC,OAAO;MAAE;MACTC,UAAU;MAAE;MACZC,YAAY;MAAE;MACdC,aAAa;MAAE;MACfC,WAAW;MAAE;MACb,GAAGb;IACL;EACF,CAAC,GAAG,IAAAc,wBAAa,EAACvB,KAAK,CAAC;EAExB,MAAMwB,SAAS,GAAGC,KAAK,CAACC,MAAM,CAA+BC,SAAS,CAAC;EACvE,MAAM,CAACC,aAAa,EAAEC,kBAAkB,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAAC,KAAK,CAAC;EAEjE,MAAMC,gBAAgB,GAAG,MAAM;IAC7BF,kBAAkB,CAAC,CAACD,aAAa,CAAC;IAClC;IACAJ,SAAS,CAACQ,OAAO,CAACC,WAAW,EAAE,CAAC,CAAC;EACnC,CAAC;;EAED,MAAMC,mBAAmB,GACvBlC,KAAK,IACL,IAAAmC,eAAI,EAACC,uBAAU,CAACC,OAAO,CAACrC,KAAK,CAAC,EAAE,CAC9B,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,CACb,CAAC;EAEJ,MAAMsC,aAAa,GACjBnC,aAAa,KACZ,kBAAAF,OAAO,CAACsC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKtC,aAAa,CAAC,kDAA9C,cAAgDuC,KAAK,KAAIvC,aAAa,CAAC;EAE1E,oBACE,oBAAC,iBAAI;IAAC,KAAK,EAAE,CAACwC,MAAM,CAACC,SAAS,EAAEnC,UAAU;EAAE,gBAC1C,oBAAC,kBAAS;IAAC,QAAQ,EAAEL,QAAS;IAAC,OAAO,EAAE2B;EAAiB,gBACvD,oBAAC,kBAAS,eACJvB,KAAK;IACT,KAAK,EAAEqC,MAAM,CAACP,aAAa,CAAE;IAC7B,WAAW,EAAEpC;IACb;IAAA;IACA,GAAG,EAAEsB,SAAU,CAAC;IAAA;IAChB,QAAQ,EAAEpB,QAAS;IACnB,aAAa,EAAC;IACd;IAAA;IACA,KAAK,EAAE8B,mBAAoB;IAC3B,IAAI,EAAEnC;EAAK,GACX,CACQ,EACX6B,aAAa,iBACZ,oBAAC,eAAM,qBACL,oBAAC,iBAAI;IAAC,KAAK,EAAE,CAACe,MAAM,CAACG,MAAM,EAAE;MAAE7B,eAAe,EAAEV,MAAM,CAACwC;IAAQ,CAAC;EAAE,gBAChE,oBAAC,wCAAY;IAAC,KAAK,EAAEJ,MAAM,CAACK;EAAgB,gBAC1C,oBAAC,yBAAM;IACL,IAAI,EAAEjD,IAAK;IACX,IAAI,EAAC,MAAM;IACX,OAAO,EAAEgC,gBAAiB;IAC1B,KAAK,EAAEY,MAAM,CAACM;EAAY,WAGnB,eACT,oBAAC,cAAY;IACX,KAAK,EAAE;MAAEhC,eAAe,EAAE;IAAQ,CAAE;IACpC,aAAa,EAAEd,aAAc;IAC7B,aAAa,EAAEE;EAAc,GAE5BJ,OAAO,CAACiD,GAAG,CAAEV,CAAM,iBAClB,oBAAC,cAAY,CAAC,IAAI;IAChB,KAAK,EAAEA,CAAC,CAACE,KAAM;IACf,KAAK,EAAEF,CAAC,CAACC,KAAM;IACf,GAAG,EAAED,CAAC,CAACC;EAAM,EAEhB,CAAC,CACW,CACF,CACV,CAEV,CACI;AAEX,CAAC;AAED,MAAME,MAAM,GAAGP,uBAAU,CAACe,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,SAAS,EAAE;EACb,CAAC;EACDN,MAAM,EAAE;IACNO,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDV,eAAe,EAAE;IACf/B,eAAe,EAAE,OAAO;IACxBwC,aAAa,EAAE,QAAQ;IACvBE,KAAK,EAAE;EACT,CAAC;EACDV,WAAW,EAAE;IACXG,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAAC,eAEY,IAAAQ,kBAAS,EAAC9D,MAAM,CAAC;AAAA"}
@@ -10,7 +10,11 @@ var _PortalManager = _interopRequireDefault(require("./PortalManager"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
15
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
16
  const PortalContext = /*#__PURE__*/React.createContext(null);
17
+
14
18
  /**
15
19
  * Portal host renders all of its children `Portal` elements.
16
20
  * For example, you can wrap a screen in `Portal.Host` to render items above the screen.
@@ -39,10 +43,10 @@ exports.PortalContext = PortalContext;
39
43
  class PortalHost extends React.Component {
40
44
  constructor() {
41
45
  super(...arguments);
42
- this.setManager = manager => {
46
+ _defineProperty(this, "setManager", manager => {
43
47
  this.manager = manager;
44
- };
45
- this.mount = children => {
48
+ });
49
+ _defineProperty(this, "mount", children => {
46
50
  const key = this.nextKey++;
47
51
  if (this.manager) {
48
52
  this.manager.mount(key, children);
@@ -54,8 +58,8 @@ class PortalHost extends React.Component {
54
58
  });
55
59
  }
56
60
  return key;
57
- };
58
- this.update = (key, children) => {
61
+ });
62
+ _defineProperty(this, "update", (key, children) => {
59
63
  if (this.manager) {
60
64
  this.manager.update(key, children);
61
65
  } else {
@@ -72,8 +76,8 @@ class PortalHost extends React.Component {
72
76
  this.queue.push(op);
73
77
  }
74
78
  }
75
- };
76
- this.unmount = key => {
79
+ });
80
+ _defineProperty(this, "unmount", key => {
77
81
  if (this.manager) {
78
82
  this.manager.unmount(key);
79
83
  } else {
@@ -82,9 +86,10 @@ class PortalHost extends React.Component {
82
86
  key
83
87
  });
84
88
  }
85
- };
86
- this.nextKey = 0;
87
- this.queue = [];
89
+ });
90
+ _defineProperty(this, "nextKey", 0);
91
+ _defineProperty(this, "queue", []);
92
+ _defineProperty(this, "manager", void 0);
88
93
  }
89
94
  componentDidMount() {
90
95
  const manager = this.manager;
@@ -123,41 +128,6 @@ class PortalHost extends React.Component {
123
128
  }
124
129
  }
125
130
  exports.default = PortalHost;
126
- PortalHost.displayName = "Portal.Host";
127
- const styles = _reactNative.StyleSheet.create({
128
- container: {
129
- flex: 1
130
- }
131
- });
132
- //# sourceMappingURL=PortalHost.js.map);
133
- break;
134
- case "update":
135
- manager.update(action.key, action.children);
136
- break;
137
- case "unmount":
138
- manager.unmount(action.key);
139
- break;
140
- }
141
- }
142
- }
143
- }
144
- render() {
145
- return /*#__PURE__*/React.createElement(PortalContext.Provider, {
146
- value: {
147
- mount: this.mount,
148
- update: this.update,
149
- unmount: this.unmount
150
- }
151
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
152
- style: styles.container,
153
- collapsable: false,
154
- pointerEvents: "box-none"
155
- }, this.props.children), /*#__PURE__*/React.createElement(_PortalManager.default, {
156
- ref: this.setManager
157
- }));
158
- }
159
- }
160
- exports.default = PortalHost;
161
131
  _defineProperty(PortalHost, "displayName", "Portal.Host");
162
132
  const styles = _reactNative.StyleSheet.create({
163
133
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["PortalContext","React","createContext","PortalHost","Component","constructor","arguments","setManager","manager","mount","children","key","nextKey","queue","push","type","update","op","index","findIndex","o","unmount","componentDidMount","length","action","pop","render","createElement","Provider","value","View","style","styles","container","collapsable","pointerEvents","props","PortalManager","ref","displayName","StyleSheet","create","flex"],"sourceRoot":"../../src","sources":["PortalHost.js"],"mappings":"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"}
1
+ {"version":3,"names":["PortalContext","React","createContext","PortalHost","Component","manager","children","key","nextKey","mount","queue","push","type","update","op","index","findIndex","o","unmount","componentDidMount","length","action","pop","render","styles","container","props","setManager","StyleSheet","create","flex"],"sourceRoot":"../../src","sources":["PortalHost.tsx"],"mappings":"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"}
@@ -12,6 +12,7 @@ var _context = require("./context");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
16
  const RadioButton = _ref => {
16
17
  let {
17
18
  Icon,
@@ -33,25 +34,13 @@ const RadioButton = _ref => {
33
34
  } = (0, _context.useRadioButtonGroupContext)();
34
35
  const realValue = (0, _utilities.getValueForRadioButton)(value);
35
36
  const realContextValue = (0, _utilities.getValueForRadioButton)(contextValue);
36
- const isSelected = selected !== null && selected !== void 0 ? selected : realContextValue === realValue;
37
+ const isSelected = selected ?? realContextValue === realValue;
37
38
  const handlePress = () => {
38
39
  onPress === null || onPress === void 0 ? void 0 : onPress(realValue);
39
40
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(realValue);
40
41
  };
41
- return /*#__PURE__*/React.createElement(_IconButton.default, {
42
+ return /*#__PURE__*/React.createElement(_IconButton.default, _extends({
42
43
  Icon: Icon,
43
- icon: isSelected ? selectedIcon : unselectedIcon,
44
- color: isSelected ? color : unselectedColor,
45
- disabled: disabled,
46
- onPress: handlePress,
47
- size: size,
48
- style: style,
49
- ...rest
50
- });
51
- };
52
- var _default = RadioButton;
53
- exports.default = _default;
54
- //# sourceMappingURL=RadioButton.js.mapon,
55
44
  icon: isSelected ? selectedIcon : unselectedIcon,
56
45
  color: isSelected ? color : unselectedColor,
57
46
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"names":["RadioButton","Icon","disabled","color","value","selected","unselectedColor","onPress","size","Config","radioButtonSize","selectedIcon","unselectedIcon","style","rest","contextValue","onValueChange","useRadioButtonGroupContext","realValue","getValueForRadioButton","realContextValue","isSelected","handlePress","React","createElement","IconButton","icon"],"sourceRoot":"../../src","sources":["RadioButton.js"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AAAuD;AAAA;AAAA;AACvD,MAAMA,WAAW,GAAG,QAAoP;EAAA,IAAnP;IAAEC,IAAI;IAAEC,QAAQ,GAAG,KAAK;IAAEC,KAAK;IAAEC,KAAK,GAAG,EAAE;IAAEC,QAAQ;IAAEC,eAAe;IAAEC,OAAO;IAAEC,IAAI,GAAGC,eAAM,CAACC,eAAe;IAAEC,YAAY,GAAG,oCAAoC;IAAEC,cAAc,GAAG,sCAAsC;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC;EAC/P,MAAM;IAAEV,KAAK,EAAEW,YAAY;IAAEC;EAAc,CAAC,GAAG,IAAAC,mCAA0B,GAAE;EAC3E,MAAMC,SAAS,GAAG,IAAAC,iCAAsB,EAACf,KAAK,CAAC;EAC/C,MAAMgB,gBAAgB,GAAG,IAAAD,iCAAsB,EAACJ,YAAY,CAAC;EAC7D,MAAMM,UAAU,GAAGhB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAGA,QAAQ,GAAGe,gBAAgB,KAAKF,SAAS;EACvG,MAAMI,WAAW,GAAG,MAAM;IACtBf,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACW,SAAS,CAAC;IACpEF,aAAa,KAAK,IAAI,IAAIA,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACE,SAAS,CAAC;EAC1F,CAAC;EACD,oBAAQK,KAAK,CAACC,aAAa,CAACC,mBAAU,EAAE;IAAExB,IAAI,EAAEA,IAAI;IAAEyB,IAAI,EAAEL,UAAU,GAAGV,YAAY,GAAGC,cAAc;IAAET,KAAK,EAAEkB,UAAU,GAAGlB,KAAK,GAAGG,eAAe;IAAEJ,QAAQ,EAAEA,QAAQ;IAAEK,OAAO,EAAEe,WAAW;IAAEd,IAAI,EAAEA,IAAI;IAAEK,KAAK,EAAEA,KAAK;IAAE,GAAGC;EAAK,CAAC,CAAC;AACvO,CAAC;AAAC,eACad,WAAW;AAAA"}
1
+ {"version":3,"names":["RadioButton","Icon","disabled","color","value","selected","unselectedColor","onPress","size","Config","radioButtonSize","selectedIcon","unselectedIcon","style","rest","contextValue","onValueChange","useRadioButtonGroupContext","realValue","getValueForRadioButton","realContextValue","isSelected","handlePress"],"sourceRoot":"../../src","sources":["RadioButton.tsx"],"mappings":";;;;;;AAAA;AAGA;AACA;AACA;AACA;AAAuD;AAAA;AAAA;AAAA;AAiBvD,MAAMA,WAAuC,GAAG,QAa1C;EAAA,IAb2C;IAC/CC,IAAI;IACJC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,KAAK,GAAG,EAAE;IACVC,QAAQ;IACRC,eAAe;IACfC,OAAO;IACPC,IAAI,GAAGC,eAAM,CAACC,eAAe;IAC7BC,YAAY,GAAG,oCAAoC;IACnDC,cAAc,GAAG,sCAAsC;IACvDC,KAAK;IACL,GAAGC;EACL,CAAC;EACC,MAAM;IAAEV,KAAK,EAAEW,YAAY;IAAEC;EAAc,CAAC,GAAG,IAAAC,mCAA0B,GAAE;EAE3E,MAAMC,SAAS,GAAG,IAAAC,iCAAsB,EAACf,KAAK,CAAC;EAC/C,MAAMgB,gBAAgB,GAAG,IAAAD,iCAAsB,EAACJ,YAAY,CAAC;EAC7D,MAAMM,UAAU,GAAGhB,QAAQ,IAAIe,gBAAgB,KAAKF,SAAS;EAE7D,MAAMI,WAAW,GAAG,MAAM;IACxBf,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGW,SAAS,CAAC;IACpBF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGE,SAAS,CAAC;EAC5B,CAAC;EAED,oBACE,oBAAC,mBAAU;IACT,IAAI,EAAEjB,IAAK;IACX,IAAI,EAAEoB,UAAU,GAAGV,YAAY,GAAGC,cAAe;IACjD,KAAK,EAAES,UAAU,GAAGlB,KAAK,GAAGG,eAAgB;IAC5C,QAAQ,EAAEJ,QAAS;IACnB,OAAO,EAAEoB,WAAY;IACrB,IAAI,EAAEd,IAAK;IACX,KAAK,EAAEK;EAAM,GACTC,IAAI,EACR;AAEN,CAAC;AAAC,eAEad,WAAW;AAAA"}
@@ -12,8 +12,7 @@ var _theming = require("../theming");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
- /* Copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx */
16
-
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
16
  const Surface = _ref => {
18
17
  let {
19
18
  elevation: propElevation,
@@ -43,23 +42,13 @@ const Surface = _ref => {
43
42
  return colors.surface;
44
43
  }
45
44
  };
46
- return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
47
- ...rest,
45
+ return /*#__PURE__*/React.createElement(_reactNative.Animated.View, _extends({}, rest, {
48
46
  style: [{
49
47
  backgroundColor: getBackgroundColor(),
50
48
  elevation,
51
49
  ...evalationStyles,
52
50
  ...restStyle
53
51
  }]
54
- }, children);
55
- };
56
- var _default = (0, _theming.withTheme)(Surface);
57
- exports.default = _default;
58
- //# sourceMappingURL=Surface.js.map backgroundColor: getBackgroundColor(),
59
- elevation,
60
- ...evalationStyles,
61
- ...restStyle
62
- }]
63
52
  }), children);
64
53
  };
65
54
  var _default = (0, _theming.withTheme)(Surface);
@@ -1 +1 @@
1
- {"version":3,"names":["Surface","elevation","propElevation","style","theme","children","rest","styleElevation","backgroundColor","restStyle","StyleSheet","flatten","dark","isDarkTheme","mode","colors","evalationStyles","shadow","getBackgroundColor","overlay","surface","React","createElement","Animated","View","withTheme"],"sourceRoot":"../../src","sources":["Surface.js"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AAAuC;AAAA;AAAA;AALvC;;AAMA,MAAMA,OAAO,GAAG,QAAmE;EAAA,IAAlE;IAAEC,SAAS,EAAEC,aAAa;IAAEC,KAAK;IAAEC,KAAK;IAAEC,QAAQ;IAAE,GAAGC;EAAK,CAAC;EAC1E,MAAM;IAAEL,SAAS,EAAEM,cAAc,GAAG,CAAC;IAAEC,eAAe;IAAE,GAAGC;EAAU,CAAC,GAAIC,uBAAU,CAACC,OAAO,CAACR,KAAK,CAAC,IAAI,CAAC,CAAE;EAC1G,MAAM;IAAES,IAAI,EAAEC,WAAW;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGX,KAAK;EACjD,MAAMH,SAAS,GAAGC,aAAa,IAAIK,cAAc;EACjD,MAAMS,eAAe,GAAGf,SAAS,GAAG,IAAAgB,eAAM,EAAChB,SAAS,CAAC,GAAG,CAAC,CAAC;EAC1D,MAAMiB,kBAAkB,GAAG,MAAM;IAC7B,IAAIV,eAAe,EAAE;MACjB,OAAOA,eAAe;IAC1B,CAAC,MACI,IAAIK,WAAW,IAAIC,IAAI,KAAK,UAAU,EAAE;MACzC,OAAO,IAAAK,gBAAO,EAAClB,SAAS,EAAEc,MAAM,CAACK,OAAO,CAAC;IAC7C,CAAC,MACI;MACD,OAAOL,MAAM,CAACK,OAAO;IACzB;EACJ,CAAC;EACD,oBAAQC,KAAK,CAACC,aAAa,CAACC,qBAAQ,CAACC,IAAI,EAAE;IAAE,GAAGlB,IAAI;IAAEH,KAAK,EAAE,CACrD;MACIK,eAAe,EAAEU,kBAAkB,EAAE;MACrCjB,SAAS;MACT,GAAGe,eAAe;MAClB,GAAGP;IACP,CAAC;EACH,CAAC,EAAEJ,QAAQ,CAAC;AACtB,CAAC;AAAC,eACa,IAAAoB,kBAAS,EAACzB,OAAO,CAAC;AAAA"}
1
+ {"version":3,"names":["Surface","elevation","propElevation","style","theme","children","rest","styleElevation","backgroundColor","restStyle","StyleSheet","flatten","dark","isDarkTheme","mode","colors","evalationStyles","shadow","getBackgroundColor","overlay","surface","withTheme"],"sourceRoot":"../../src","sources":["Surface.tsx"],"mappings":";;;;;;AACA;AACA;AAQA;AACA;AACA;AAAuC;AAAA;AAAA;AAAA;AASvC,MAAMA,OAAiD,GAAG,QAMpD;EAAA,IANqD;IACzDC,SAAS,EAAEC,aAAa;IACxBC,KAAK;IACLC,KAAK;IACLC,QAAQ;IACR,GAAGC;EACL,CAAC;EACC,MAAM;IACJL,SAAS,EAAEM,cAAc,GAAG,CAAC;IAC7BC,eAAe;IACf,GAAGC;EACL,CAAC,GAAIC,uBAAU,CAACC,OAAO,CAACR,KAAK,CAAC,IAAI,CAAC,CAAe;EAElD,MAAM;IAAES,IAAI,EAAEC,WAAW;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGX,KAAK;EAEjD,MAAMH,SAAS,GAAGC,aAAa,IAAIK,cAAc;EAEjD,MAAMS,eAAe,GAAGf,SAAS,GAAG,IAAAgB,eAAM,EAAChB,SAAS,CAAC,GAAG,CAAC,CAAC;EAE1D,MAAMiB,kBAAkB,GAAG,MAAM;IAC/B,IAAIV,eAAe,EAAE;MACnB,OAAOA,eAAe;IACxB,CAAC,MAAM,IAAIK,WAAW,IAAIC,IAAI,KAAK,UAAU,EAAE;MAC7C,OAAO,IAAAK,gBAAO,EAAClB,SAAS,EAAEc,MAAM,CAACK,OAAO,CAAC;IAC3C,CAAC,MAAM;MACL,OAAOL,MAAM,CAACK,OAAO;IACvB;EACF,CAAC;EAED,oBACE,oBAAC,qBAAQ,CAAC,IAAI,eACRd,IAAI;IACR,KAAK,EAAE,CACL;MACEE,eAAe,EAAEU,kBAAkB,EAAE;MACrCjB,SAAS;MACT,GAAGe,eAAe;MAClB,GAAGP;IACL,CAAC;EACD,IAEDJ,QAAQ,CACK;AAEpB,CAAC;AAAC,eAEa,IAAAgB,kBAAS,EAACrB,OAAO,CAAC;AAAA"}
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "ActionSheetItem", {
33
33
  return _ActionSheet.ActionSheetItem;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "Banner", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _Banner.default;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "Button", {
37
43
  enumerable: true,
38
44
  get: function () {
@@ -248,6 +254,7 @@ var _theming = require("./theming");
248
254
  var _Provider = _interopRequireDefault(require("./Provider"));
249
255
  var _DefaultTheme = _interopRequireDefault(require("./styles/DefaultTheme"));
250
256
  var _ScreenContainer = _interopRequireDefault(require("./components/ScreenContainer"));
257
+ var _Banner = _interopRequireDefault(require("./components/Banner"));
251
258
  var _Button = require("./components/Button");
252
259
  var _Text = require("./components/Text");
253
260
  var _IconButton = _interopRequireDefault(require("./components/IconButton"));
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAGA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAGA;AACA;AAMA;AACA;AACA;AACA;AAGA;AAGA;AAUA;AAGA;AAGA;AAIkC;AAAA;AAAA"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAGA;AACA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAGA;AACA;AAMA;AACA;AACA;AACA;AAGA;AAGA;AAUA;AAGA;AAGA;AAIkC;AAAA;AAAA"}
@@ -1,3 +1,4 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
2
  import * as React from "react";
2
3
  import { Pressable, StyleSheet, View } from "react-native";
3
4
  import Text from "../Text";
@@ -17,10 +18,9 @@ const AccordionItem = _ref => {
17
18
  textStyles,
18
19
  viewStyles
19
20
  } = extractStyles(style);
20
- return /*#__PURE__*/React.createElement(Pressable, {
21
- style: [styles.container, viewStyles],
22
- ...rest
23
- }, /*#__PURE__*/React.createElement(View, {
21
+ return /*#__PURE__*/React.createElement(Pressable, _extends({
22
+ style: [styles.container, viewStyles]
23
+ }, rest), /*#__PURE__*/React.createElement(View, {
24
24
  style: styles.row
25
25
  }, icon ? /*#__PURE__*/React.createElement(Icon, {
26
26
  name: icon,
@@ -52,23 +52,4 @@ const styles = StyleSheet.create({
52
52
  }
53
53
  });
54
54
  export default withTheme(AccordionItem);
55
- //# sourceMappingURL=AccordionItem.js.map StyleSheet.create({
56
- container: {
57
- padding: 8
58
- },
59
- row: {
60
- flexDirection: "row",
61
- alignItems: "center",
62
- paddingLeft: 8
63
- },
64
- item: {
65
- marginVertical: 6,
66
- paddingLeft: 8
67
- },
68
- content: {
69
- flex: 1,
70
- justifyContent: "center"
71
- }
72
- });
73
- export default withTheme(AccordionItem);
74
55
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","View","Text","extractStyles","withTheme","AccordionItem","Icon","icon","label","style","iconColor","theme","rest","textStyles","viewStyles","createElement","styles","container","row","name","size","color","colors","primary","item","content","selectable","create","padding","flexDirection","alignItems","paddingLeft","marginVertical","flex","justifyContent"],"sourceRoot":"../../src","sources":["AccordionItem.js"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAS,cAAc;AAC3D,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,eAAe;AACzC,MAAMC,aAAa,GAAG,QAA6D;EAAA,IAA5D;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC,KAAK;IAAEC,SAAS;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC;EAC1E,MAAM;IAAEC,UAAU;IAAEC;EAAW,CAAC,GAAGX,aAAa,CAACM,KAAK,CAAC;EACvD,oBAAQX,KAAK,CAACiB,aAAa,CAAChB,SAAS,EAAE;IAAEU,KAAK,EAAE,CAACO,MAAM,CAACC,SAAS,EAAEH,UAAU,CAAC;IAAE,GAAGF;EAAK,CAAC,eACrFd,KAAK,CAACiB,aAAa,CAACd,IAAI,EAAE;IAAEQ,KAAK,EAAEO,MAAM,CAACE;EAAI,CAAC,EAC3CX,IAAI,gBAAIT,KAAK,CAACiB,aAAa,CAACT,IAAI,EAAE;IAAEa,IAAI,EAAEZ,IAAI;IAAEa,IAAI,EAAE,EAAE;IAAEC,KAAK,EAAEX,SAAS,IAAIC,KAAK,CAACW,MAAM,CAACC;EAAQ,CAAC,CAAC,GAAI,IAAI,eAC7GzB,KAAK,CAACiB,aAAa,CAACd,IAAI,EAAE;IAAEQ,KAAK,EAAE,CAACO,MAAM,CAACQ,IAAI,EAAER,MAAM,CAACS,OAAO;EAAE,CAAC,eAC9D3B,KAAK,CAACiB,aAAa,CAACb,IAAI,EAAE;IAAEwB,UAAU,EAAE,KAAK;IAAEjB,KAAK,EAAEI;EAAW,CAAC,EAAEL,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AACD,MAAMQ,MAAM,GAAGhB,UAAU,CAAC2B,MAAM,CAAC;EAC7BV,SAAS,EAAE;IACPW,OAAO,EAAE;EACb,CAAC;EACDV,GAAG,EAAE;IACDW,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE;EACjB,CAAC;EACDP,IAAI,EAAE;IACFQ,cAAc,EAAE,CAAC;IACjBD,WAAW,EAAE;EACjB,CAAC;EACDN,OAAO,EAAE;IACLQ,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE;EACpB;AACJ,CAAC,CAAC;AACF,eAAe9B,SAAS,CAACC,aAAa,CAAC"}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","View","Text","extractStyles","withTheme","AccordionItem","Icon","icon","label","style","iconColor","theme","rest","textStyles","viewStyles","styles","container","row","colors","primary","item","content","create","padding","flexDirection","alignItems","paddingLeft","marginVertical","flex","justifyContent"],"sourceRoot":"../../src","sources":["AccordionItem.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,SAAS,EACTC,UAAU,EACVC,IAAI,QAGC,cAAc;AAErB,OAAOC,IAAI,MAAM,SAAS;AAE1B,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,eAAe;AAWzC,MAAMC,aAAa,GAAG,QAQT;EAAA,IARU;IACrBC,IAAI;IACJC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,SAAS;IACTC,KAAK;IACL,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC,UAAU;IAAEC;EAAW,CAAC,GAAGX,aAAa,CAACM,KAAK,CAAC;EAEvD,oBACE,oBAAC,SAAS;IAAC,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAEF,UAAU;EAAE,GAAKF,IAAI,gBACxD,oBAAC,IAAI;IAAC,KAAK,EAAEG,MAAM,CAACE;EAAI,GACrBV,IAAI,gBACH,oBAAC,IAAI;IACH,IAAI,EAAEA,IAAK;IACX,IAAI,EAAE,EAAG;IACT,KAAK,EAAEG,SAAS,IAAIC,KAAK,CAACO,MAAM,CAACC;EAAQ,EACzC,GACA,IAAI,eACR,oBAAC,IAAI;IAAC,KAAK,EAAE,CAACJ,MAAM,CAACK,IAAI,EAAEL,MAAM,CAACM,OAAO;EAAE,gBACzC,oBAAC,IAAI;IAAC,UAAU,EAAE,KAAM;IAAC,KAAK,EAAER;EAAW,GACxCL,KAAK,CACD,CACF,CACF,CACG;AAEhB,CAAC;AAED,MAAMO,MAAM,GAAGf,UAAU,CAACsB,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,OAAO,EAAE;EACX,CAAC;EACDN,GAAG,EAAE;IACHO,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE;EACf,CAAC;EACDN,IAAI,EAAE;IACJO,cAAc,EAAE,CAAC;IACjBD,WAAW,EAAE;EACf,CAAC;EACDL,OAAO,EAAE;IACPO,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,eAAezB,SAAS,CAACC,aAAa,CAAC"}
@@ -0,0 +1,158 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import * as React from "react";
3
+ import { Button, Text, View, StyleSheet, Animated } from "react-native";
4
+ import Surface from "./Surface";
5
+ import shadow from "../styles/shadow";
6
+ import { withTheme } from "../theming";
7
+ const ELEVATION = 1;
8
+ const DEFAULT_MAX_WIDTH = 960;
9
+ const Banner = _ref => {
10
+ let {
11
+ initiallyVisible = true,
12
+ dismissable = true,
13
+ icon,
14
+ buttonColor,
15
+ content,
16
+ contentStyle,
17
+ style,
18
+ theme,
19
+ Icon,
20
+ ...rest
21
+ } = _ref;
22
+ const [visible, setVisible] = React.useState(initiallyVisible);
23
+ React.useEffect(() => {
24
+ if (initiallyVisible) {
25
+ setVisible(true);
26
+ }
27
+ }, [initiallyVisible]);
28
+ const {
29
+ current: position
30
+ } = React.useRef(new Animated.Value(visible ? 1 : 0));
31
+ const [layout, setLayout] = React.useState({
32
+ height: 0,
33
+ measured: false
34
+ });
35
+ React.useEffect(() => {
36
+ if (visible) {
37
+ // show
38
+ Animated.timing(position, {
39
+ duration: 250,
40
+ toValue: 1,
41
+ useNativeDriver: false
42
+ }).start();
43
+ } else {
44
+ // hide
45
+ Animated.timing(position, {
46
+ duration: 200,
47
+ toValue: 0,
48
+ useNativeDriver: false
49
+ }).start();
50
+ }
51
+ }, [visible, position]);
52
+ const handleLayout = _ref2 => {
53
+ let {
54
+ nativeEvent
55
+ } = _ref2;
56
+ const {
57
+ height
58
+ } = nativeEvent.layout;
59
+ setLayout({
60
+ height,
61
+ measured: true
62
+ });
63
+ };
64
+
65
+ // The banner animation has 2 parts:
66
+ // 1. Blank spacer element which animates its height to move the content
67
+ // 2. Actual banner which animates its translateY
68
+ // In initial render, we position everything normally and measure the height of the banner
69
+ // Once we have the height, we apply the height to the spacer and switch the banner to position: absolute
70
+ // We need this because we need to move the content below as if banner's height was being animated
71
+ // However we can't animated banner's height directly as it'll also resize the content inside
72
+ const height = Animated.multiply(position, layout.height);
73
+ const translateY = Animated.multiply(Animated.add(position, -1), layout.height);
74
+ return /*#__PURE__*/React.createElement(Surface, _extends({}, rest, {
75
+ style: [styles.container, shadow(ELEVATION), style]
76
+ }), /*#__PURE__*/React.createElement(View, {
77
+ style: [styles.wrapper, contentStyle]
78
+ }, /*#__PURE__*/React.createElement(Animated.View, {
79
+ style: {
80
+ height
81
+ }
82
+ }), /*#__PURE__*/React.createElement(Animated.View, {
83
+ onLayout: handleLayout,
84
+ style: [layout.measured || !visible ?
85
+ // If we have measured banner's height or it's invisible,
86
+ // Position it absolutely, the layout will be taken care of the spacer
87
+ [styles.absolute, {
88
+ transform: [{
89
+ translateY
90
+ }]
91
+ }] :
92
+ // Otherwise position it normally
93
+ null, !layout.measured && !visible ?
94
+ // If we haven't measured banner's height yet and it's invisible,
95
+ // hide it with opacity: 0 so user doesn't see it
96
+ {
97
+ opacity: 0
98
+ } : null]
99
+ }, /*#__PURE__*/React.createElement(View, {
100
+ style: [styles.content, {
101
+ marginBottom: dismissable ? 0 : 16
102
+ }]
103
+ }, icon ? /*#__PURE__*/React.createElement(View, {
104
+ style: styles.icon
105
+ }, /*#__PURE__*/React.createElement(Icon, {
106
+ name: icon,
107
+ size: 40
108
+ })) : null, /*#__PURE__*/React.createElement(Text, {
109
+ style: [styles.message, {
110
+ color: theme.colors.text
111
+ }],
112
+ accessibilityLiveRegion: visible ? "polite" : "none",
113
+ accessibilityRole: "alert"
114
+ }, content)), dismissable ? /*#__PURE__*/React.createElement(View, {
115
+ style: styles.actions
116
+ }, /*#__PURE__*/React.createElement(Button, {
117
+ color: buttonColor || theme.colors.primary,
118
+ title: "Close",
119
+ onPress: () => setVisible(false)
120
+ })) : null)));
121
+ };
122
+ const styles = StyleSheet.create({
123
+ container: {
124
+ elevation: ELEVATION
125
+ },
126
+ wrapper: {
127
+ overflow: "hidden",
128
+ alignSelf: "center",
129
+ width: "100%",
130
+ maxWidth: DEFAULT_MAX_WIDTH
131
+ },
132
+ absolute: {
133
+ position: "absolute",
134
+ top: 0,
135
+ width: "100%"
136
+ },
137
+ content: {
138
+ flexDirection: "row",
139
+ justifyContent: "flex-start",
140
+ marginHorizontal: 8,
141
+ marginTop: 16,
142
+ marginBottom: 0
143
+ },
144
+ icon: {
145
+ margin: 8
146
+ },
147
+ message: {
148
+ flex: 1,
149
+ margin: 8
150
+ },
151
+ actions: {
152
+ flexDirection: "row",
153
+ justifyContent: "flex-end",
154
+ margin: 8
155
+ }
156
+ });
157
+ export default withTheme(Banner);
158
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Button","Text","View","StyleSheet","Animated","Surface","shadow","withTheme","ELEVATION","DEFAULT_MAX_WIDTH","Banner","initiallyVisible","dismissable","icon","buttonColor","content","contentStyle","style","theme","Icon","rest","visible","setVisible","useState","useEffect","current","position","useRef","Value","layout","setLayout","height","measured","timing","duration","toValue","useNativeDriver","start","handleLayout","nativeEvent","multiply","translateY","add","styles","container","wrapper","absolute","transform","opacity","marginBottom","message","color","colors","text","actions","primary","create","elevation","overflow","alignSelf","width","maxWidth","top","flexDirection","justifyContent","marginHorizontal","marginTop","margin","flex"],"sourceRoot":"../../src","sources":["Banner.tsx"],"mappings":"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"}
@@ -5,6 +5,7 @@ export { default as DefaultTheme } from "./styles/DefaultTheme";
5
5
 
6
6
  // BASIC
7
7
  export { default as ScreenContainer } from "./components/ScreenContainer";
8
+ export { default as Banner } from "./components/Banner";
8
9
 
9
10
  // BUTTONS
10
11
  export { Button } from "./components/Button";
@@ -1 +1 @@
1
- {"version":3,"names":["injectIcon","withTheme","ThemeProvider","default","Provider","DefaultTheme","ScreenContainer","Button","Link","IconButton","Touchable","DatePicker","NumberInput","TextField","Picker","Checkbox","CheckboxGroup","CheckboxRow","RadioButton","RadioButtonGroup","RadioButtonRow","RadioButtonFieldGroup","Slider","Stepper","StarRating","Switch","SwitchRow","SVG","Center","Circle","Square","Row","Stack","Spacer","Swiper","SwiperItem","AccordionGroup","AccordionItem","ActionSheet","ActionSheetItem","ActionSheetCancel"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,SAAS,EAAEC,aAAa,QAAQ,WAAW;AACpD,SAASC,OAAO,IAAIC,QAAQ,QAAQ,YAAY;AAChD,SAASD,OAAO,IAAIE,YAAY,QAAQ,uBAAuB;;AAE/D;AACA,SAASF,OAAO,IAAIG,eAAe,QAAQ,8BAA8B;;AAEzE;AACA,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASL,OAAO,IAAIM,UAAU,QAAQ,yBAAyB;AAC/D,SAASN,OAAO,IAAIO,SAAS,QAAQ,wBAAwB;;AAE7D;AACA,SAASP,OAAO,IAAIQ,UAAU,QAAQ,oCAAoC;AAC1E,SAASR,OAAO,IAAIS,WAAW,QAAQ,0BAA0B;AACjE,SAAST,OAAO,IAAIU,SAAS,QAAQ,wBAAwB;AAC7D,SAASV,OAAO,IAAIW,MAAM,QAAQ,4BAA4B;;AAE9D;AACA,SAASC,QAAQ,EAAEC,aAAa,EAAEC,WAAW,QAAQ,uBAAuB;AAC5E,SACEC,WAAW,EACXC,gBAAgB,EAChBC,cAAc,EACdC,qBAAqB,QAChB,gCAAgC;AACvC,SAASlB,OAAO,IAAImB,MAAM,QAAQ,qBAAqB;AACvD,SAASnB,OAAO,IAAIoB,OAAO,QAAQ,sBAAsB;AACzD,SAASpB,OAAO,IAAIqB,UAAU,QAAQ,yBAAyB;AAC/D,SAASrB,OAAO,IAAIsB,MAAM,EAAEC,SAAS,QAAQ,qBAAqB;;AAElE;AACA,SAASvB,OAAO,IAAIwB,GAAG,QAAQ,kBAAkB;;AAEjD;AACA,SACEC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,GAAG,EACHC,KAAK,EACLC,MAAM,QACD,qBAAqB;;AAE5B;AACA,SAASC,MAAM,EAAEC,UAAU,QAAQ,qBAAqB;;AAExD;AACA,SAASC,cAAc,EAAEC,aAAa,QAAQ,wBAAwB;;AAEtE;AACA,SACEC,WAAW,EACXC,eAAe,EACfC,iBAAiB,QACZ,0BAA0B"}
1
+ {"version":3,"names":["injectIcon","withTheme","ThemeProvider","default","Provider","DefaultTheme","ScreenContainer","Banner","Button","Link","IconButton","Touchable","DatePicker","NumberInput","TextField","Picker","Checkbox","CheckboxGroup","CheckboxRow","RadioButton","RadioButtonGroup","RadioButtonRow","RadioButtonFieldGroup","Slider","Stepper","StarRating","Switch","SwitchRow","SVG","Center","Circle","Square","Row","Stack","Spacer","Swiper","SwiperItem","AccordionGroup","AccordionItem","ActionSheet","ActionSheetItem","ActionSheetCancel"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,SAAS,EAAEC,aAAa,QAAQ,WAAW;AACpD,SAASC,OAAO,IAAIC,QAAQ,QAAQ,YAAY;AAChD,SAASD,OAAO,IAAIE,YAAY,QAAQ,uBAAuB;;AAE/D;AACA,SAASF,OAAO,IAAIG,eAAe,QAAQ,8BAA8B;AACzE,SAASH,OAAO,IAAII,MAAM,QAAQ,qBAAqB;;AAEvD;AACA,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASN,OAAO,IAAIO,UAAU,QAAQ,yBAAyB;AAC/D,SAASP,OAAO,IAAIQ,SAAS,QAAQ,wBAAwB;;AAE7D;AACA,SAASR,OAAO,IAAIS,UAAU,QAAQ,oCAAoC;AAC1E,SAAST,OAAO,IAAIU,WAAW,QAAQ,0BAA0B;AACjE,SAASV,OAAO,IAAIW,SAAS,QAAQ,wBAAwB;AAC7D,SAASX,OAAO,IAAIY,MAAM,QAAQ,4BAA4B;;AAE9D;AACA,SAASC,QAAQ,EAAEC,aAAa,EAAEC,WAAW,QAAQ,uBAAuB;AAC5E,SACEC,WAAW,EACXC,gBAAgB,EAChBC,cAAc,EACdC,qBAAqB,QAChB,gCAAgC;AACvC,SAASnB,OAAO,IAAIoB,MAAM,QAAQ,qBAAqB;AACvD,SAASpB,OAAO,IAAIqB,OAAO,QAAQ,sBAAsB;AACzD,SAASrB,OAAO,IAAIsB,UAAU,QAAQ,yBAAyB;AAC/D,SAAStB,OAAO,IAAIuB,MAAM,EAAEC,SAAS,QAAQ,qBAAqB;;AAElE;AACA,SAASxB,OAAO,IAAIyB,GAAG,QAAQ,kBAAkB;;AAEjD;AACA,SACEC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,GAAG,EACHC,KAAK,EACLC,MAAM,QACD,qBAAqB;;AAE5B;AACA,SAASC,MAAM,EAAEC,UAAU,QAAQ,qBAAqB;;AAExD;AACA,SAASC,cAAc,EAAEC,aAAa,QAAQ,wBAAwB;;AAEtE;AACA,SACEC,WAAW,EACXC,eAAe,EACfC,iBAAiB,QACZ,0BAA0B"}
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import { View, ViewStyle, StyleProp } from "react-native";
3
+ import type { IconSlot } from "../interfaces/Icon";
4
+ import type { Theme } from "../styles/DefaultTheme";
5
+ type Props = {
6
+ initiallyVisible: boolean;
7
+ dismissable: boolean;
8
+ buttonColor?: string;
9
+ icon?: string;
10
+ content?: string;
11
+ contentStyle?: StyleProp<ViewStyle>;
12
+ style?: StyleProp<ViewStyle>;
13
+ ref?: React.RefObject<View>;
14
+ /**
15
+ * @optional
16
+ */
17
+ theme: Theme;
18
+ } & IconSlot;
19
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<Props>, "theme"> & {
20
+ theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
21
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<Props>> & React.FC<React.PropsWithChildren<Props>>, {}>;
22
+ export default _default;
23
+ //# sourceMappingURL=Banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../../src/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,IAAI,EACJ,SAAS,EAET,SAAS,EAEV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,KAAK,KAAK,GAAG;IACX,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,QAAQ,CAAC;;;;AA2Kb,wBAAiC"}
@@ -3,6 +3,7 @@ export { withTheme, ThemeProvider } from "./theming";
3
3
  export { default as Provider } from "./Provider";
4
4
  export { default as DefaultTheme } from "./styles/DefaultTheme";
5
5
  export { default as ScreenContainer } from "./components/ScreenContainer";
6
+ export { default as Banner } from "./components/Banner";
6
7
  export { Button } from "./components/Button";
7
8
  export { Link } from "./components/Text";
8
9
  export { default as IconButton } from "./components/IconButton";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,GACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,GACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "47.0.0-0362d7.2+0362d76",
3
+ "version": "47.0.0-3bcd8b.2+3bcd8b6",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@date-io/date-fns": "^1.3.13",
43
43
  "@draftbit/react-theme-provider": "^2.1.1",
44
- "@draftbit/types": "^47.0.0-0362d7.2+0362d76",
44
+ "@draftbit/types": "^47.0.0-3bcd8b.2+3bcd8b6",
45
45
  "@material-ui/core": "^4.11.0",
46
46
  "@material-ui/pickers": "^3.2.10",
47
47
  "@react-native-community/slider": "4.2.3",
@@ -81,5 +81,5 @@
81
81
  ]
82
82
  ]
83
83
  },
84
- "gitHead": "0362d76e8d9a1f4b45a7a47b9d0b339597bbd44c"
84
+ "gitHead": "3bcd8b649dd4d465eb5fba1664077ccc7fc8b878"
85
85
  }
@@ -0,0 +1,109 @@
1
+ import * as React from "react";
2
+ import { Button, Text, View, StyleSheet, Animated, } from "react-native";
3
+ import Surface from "./Surface";
4
+ import shadow from "../styles/shadow";
5
+ import { withTheme } from "../theming";
6
+ const ELEVATION = 1;
7
+ const DEFAULT_MAX_WIDTH = 960;
8
+ const Banner = ({ initiallyVisible = true, dismissable = true, icon, buttonColor, content, contentStyle, style, theme, Icon, ...rest }) => {
9
+ const [visible, setVisible] = React.useState(initiallyVisible);
10
+ React.useEffect(() => {
11
+ if (initiallyVisible) {
12
+ setVisible(true);
13
+ }
14
+ }, [initiallyVisible]);
15
+ const { current: position } = React.useRef(new Animated.Value(visible ? 1 : 0));
16
+ const [layout, setLayout] = React.useState({
17
+ height: 0,
18
+ measured: false,
19
+ });
20
+ React.useEffect(() => {
21
+ if (visible) {
22
+ // show
23
+ Animated.timing(position, {
24
+ duration: 250,
25
+ toValue: 1,
26
+ useNativeDriver: false,
27
+ }).start();
28
+ }
29
+ else {
30
+ // hide
31
+ Animated.timing(position, {
32
+ duration: 200,
33
+ toValue: 0,
34
+ useNativeDriver: false,
35
+ }).start();
36
+ }
37
+ }, [visible, position]);
38
+ const handleLayout = ({ nativeEvent }) => {
39
+ const { height } = nativeEvent.layout;
40
+ setLayout({ height, measured: true });
41
+ };
42
+ // The banner animation has 2 parts:
43
+ // 1. Blank spacer element which animates its height to move the content
44
+ // 2. Actual banner which animates its translateY
45
+ // In initial render, we position everything normally and measure the height of the banner
46
+ // Once we have the height, we apply the height to the spacer and switch the banner to position: absolute
47
+ // We need this because we need to move the content below as if banner's height was being animated
48
+ // However we can't animated banner's height directly as it'll also resize the content inside
49
+ const height = Animated.multiply(position, layout.height);
50
+ const translateY = Animated.multiply(Animated.add(position, -1), layout.height);
51
+ return (React.createElement(Surface, { ...rest, style: [styles.container, shadow(ELEVATION), style] },
52
+ React.createElement(View, { style: [styles.wrapper, contentStyle] },
53
+ React.createElement(Animated.View, { style: { height } }),
54
+ React.createElement(Animated.View, { onLayout: handleLayout, style: [
55
+ layout.measured || !visible
56
+ ? // If we have measured banner's height or it's invisible,
57
+ // Position it absolutely, the layout will be taken care of the spacer
58
+ [styles.absolute, { transform: [{ translateY }] }]
59
+ : // Otherwise position it normally
60
+ null,
61
+ !layout.measured && !visible
62
+ ? // If we haven't measured banner's height yet and it's invisible,
63
+ // hide it with opacity: 0 so user doesn't see it
64
+ { opacity: 0 }
65
+ : null,
66
+ ] },
67
+ React.createElement(View, { style: [styles.content, { marginBottom: dismissable ? 0 : 16 }] },
68
+ icon ? (React.createElement(View, { style: styles.icon },
69
+ React.createElement(Icon, { name: icon, size: 40 }))) : null,
70
+ React.createElement(Text, { style: [styles.message, { color: theme.colors.text }], accessibilityLiveRegion: visible ? "polite" : "none", accessibilityRole: "alert" }, content)),
71
+ dismissable ? (React.createElement(View, { style: styles.actions },
72
+ React.createElement(Button, { color: buttonColor || theme.colors.primary, title: "Close", onPress: () => setVisible(false) }))) : null))));
73
+ };
74
+ const styles = StyleSheet.create({
75
+ container: {
76
+ elevation: ELEVATION,
77
+ },
78
+ wrapper: {
79
+ overflow: "hidden",
80
+ alignSelf: "center",
81
+ width: "100%",
82
+ maxWidth: DEFAULT_MAX_WIDTH,
83
+ },
84
+ absolute: {
85
+ position: "absolute",
86
+ top: 0,
87
+ width: "100%",
88
+ },
89
+ content: {
90
+ flexDirection: "row",
91
+ justifyContent: "flex-start",
92
+ marginHorizontal: 8,
93
+ marginTop: 16,
94
+ marginBottom: 0,
95
+ },
96
+ icon: {
97
+ margin: 8,
98
+ },
99
+ message: {
100
+ flex: 1,
101
+ margin: 8,
102
+ },
103
+ actions: {
104
+ flexDirection: "row",
105
+ justifyContent: "flex-end",
106
+ margin: 8,
107
+ },
108
+ });
109
+ export default withTheme(Banner);
@@ -0,0 +1,204 @@
1
+ import * as React from "react";
2
+ import {
3
+ Button,
4
+ Text,
5
+ View,
6
+ ViewStyle,
7
+ StyleSheet,
8
+ StyleProp,
9
+ Animated,
10
+ } from "react-native";
11
+ import Surface from "./Surface";
12
+ import type { IconSlot } from "../interfaces/Icon";
13
+ import shadow from "../styles/shadow";
14
+ import { withTheme } from "../theming";
15
+ import type { Theme } from "../styles/DefaultTheme";
16
+
17
+ const ELEVATION = 1;
18
+ const DEFAULT_MAX_WIDTH = 960;
19
+
20
+ type Props = {
21
+ initiallyVisible: boolean;
22
+ dismissable: boolean;
23
+ buttonColor?: string;
24
+ icon?: string;
25
+ content?: string;
26
+ contentStyle?: StyleProp<ViewStyle>;
27
+ style?: StyleProp<ViewStyle>;
28
+ ref?: React.RefObject<View>;
29
+ /**
30
+ * @optional
31
+ */
32
+ theme: Theme;
33
+ } & IconSlot;
34
+
35
+ type NativeEvent = {
36
+ nativeEvent: {
37
+ layout: {
38
+ x: number;
39
+ y: number;
40
+ width: number;
41
+ height: number;
42
+ };
43
+ };
44
+ };
45
+
46
+ const Banner: React.FC<React.PropsWithChildren<Props>> = ({
47
+ initiallyVisible = true,
48
+ dismissable = true,
49
+ icon,
50
+ buttonColor,
51
+ content,
52
+ contentStyle,
53
+ style,
54
+ theme,
55
+ Icon,
56
+ ...rest
57
+ }) => {
58
+ const [visible, setVisible] = React.useState(initiallyVisible);
59
+
60
+ React.useEffect(() => {
61
+ if (initiallyVisible) {
62
+ setVisible(true);
63
+ }
64
+ }, [initiallyVisible]);
65
+
66
+ const { current: position } = React.useRef<Animated.Value>(
67
+ new Animated.Value(visible ? 1 : 0)
68
+ );
69
+ const [layout, setLayout] = React.useState<{
70
+ height: number;
71
+ measured: boolean;
72
+ }>({
73
+ height: 0,
74
+ measured: false,
75
+ });
76
+
77
+ React.useEffect(() => {
78
+ if (visible) {
79
+ // show
80
+ Animated.timing(position, {
81
+ duration: 250,
82
+ toValue: 1,
83
+ useNativeDriver: false,
84
+ }).start();
85
+ } else {
86
+ // hide
87
+ Animated.timing(position, {
88
+ duration: 200,
89
+ toValue: 0,
90
+ useNativeDriver: false,
91
+ }).start();
92
+ }
93
+ }, [visible, position]);
94
+
95
+ const handleLayout = ({ nativeEvent }: NativeEvent) => {
96
+ const { height } = nativeEvent.layout;
97
+ setLayout({ height, measured: true });
98
+ };
99
+
100
+ // The banner animation has 2 parts:
101
+ // 1. Blank spacer element which animates its height to move the content
102
+ // 2. Actual banner which animates its translateY
103
+ // In initial render, we position everything normally and measure the height of the banner
104
+ // Once we have the height, we apply the height to the spacer and switch the banner to position: absolute
105
+ // We need this because we need to move the content below as if banner's height was being animated
106
+ // However we can't animated banner's height directly as it'll also resize the content inside
107
+ const height = Animated.multiply(position, layout.height);
108
+
109
+ const translateY = Animated.multiply(
110
+ Animated.add(position, -1),
111
+ layout.height
112
+ );
113
+
114
+ return (
115
+ <Surface
116
+ {...rest}
117
+ style={[styles.container, shadow(ELEVATION) as ViewStyle, style]}
118
+ >
119
+ <View style={[styles.wrapper, contentStyle]}>
120
+ <Animated.View style={{ height }} />
121
+ <Animated.View
122
+ onLayout={handleLayout}
123
+ style={[
124
+ layout.measured || !visible
125
+ ? // If we have measured banner's height or it's invisible,
126
+ // Position it absolutely, the layout will be taken care of the spacer
127
+ [styles.absolute, { transform: [{ translateY }] }]
128
+ : // Otherwise position it normally
129
+ null,
130
+ !layout.measured && !visible
131
+ ? // If we haven't measured banner's height yet and it's invisible,
132
+ // hide it with opacity: 0 so user doesn't see it
133
+ { opacity: 0 }
134
+ : null,
135
+ ]}
136
+ >
137
+ <View
138
+ style={[styles.content, { marginBottom: dismissable ? 0 : 16 }]}
139
+ >
140
+ {icon ? (
141
+ <View style={styles.icon}>
142
+ <Icon name={icon} size={40} />
143
+ </View>
144
+ ) : null}
145
+ <Text
146
+ style={[styles.message, { color: theme.colors.text }]}
147
+ accessibilityLiveRegion={visible ? "polite" : "none"}
148
+ accessibilityRole="alert"
149
+ >
150
+ {content}
151
+ </Text>
152
+ </View>
153
+ {dismissable ? (
154
+ <View style={styles.actions}>
155
+ <Button
156
+ color={buttonColor || theme.colors.primary}
157
+ title="Close"
158
+ onPress={() => setVisible(false)}
159
+ />
160
+ </View>
161
+ ) : null}
162
+ </Animated.View>
163
+ </View>
164
+ </Surface>
165
+ );
166
+ };
167
+
168
+ const styles = StyleSheet.create({
169
+ container: {
170
+ elevation: ELEVATION,
171
+ },
172
+ wrapper: {
173
+ overflow: "hidden",
174
+ alignSelf: "center",
175
+ width: "100%",
176
+ maxWidth: DEFAULT_MAX_WIDTH,
177
+ },
178
+ absolute: {
179
+ position: "absolute",
180
+ top: 0,
181
+ width: "100%",
182
+ },
183
+ content: {
184
+ flexDirection: "row",
185
+ justifyContent: "flex-start",
186
+ marginHorizontal: 8,
187
+ marginTop: 16,
188
+ marginBottom: 0,
189
+ },
190
+ icon: {
191
+ margin: 8,
192
+ },
193
+ message: {
194
+ flex: 1,
195
+ margin: 8,
196
+ },
197
+ actions: {
198
+ flexDirection: "row",
199
+ justifyContent: "flex-end",
200
+ margin: 8,
201
+ },
202
+ });
203
+
204
+ export default withTheme(Banner);
package/src/index.js CHANGED
@@ -4,6 +4,7 @@ export { default as Provider } from "./Provider";
4
4
  export { default as DefaultTheme } from "./styles/DefaultTheme";
5
5
  // BASIC
6
6
  export { default as ScreenContainer } from "./components/ScreenContainer";
7
+ export { default as Banner } from "./components/Banner";
7
8
  // BUTTONS
8
9
  export { Button } from "./components/Button";
9
10
  export { Link } from "./components/Text";
package/src/index.tsx CHANGED
@@ -5,6 +5,7 @@ export { default as DefaultTheme } from "./styles/DefaultTheme";
5
5
 
6
6
  // BASIC
7
7
  export { default as ScreenContainer } from "./components/ScreenContainer";
8
+ export { default as Banner } from "./components/Banner";
8
9
 
9
10
  // BUTTONS
10
11
  export { Button } from "./components/Button";