@draftbit/core 48.4.8-fb2b2b.2 → 48.4.9-19658d.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.
Files changed (114) hide show
  1. package/lib/commonjs/components/Picker/NativePicker.js +1 -0
  2. package/lib/commonjs/components/Picker/PickerCommon.js +1 -0
  3. package/lib/commonjs/components/Picker/PickerInputContainer.js +1 -0
  4. package/lib/commonjs/components/Picker/dropdown/DropDownPicker.js +1 -0
  5. package/lib/commonjs/components/Picker/dropdown/MultiSelectPicker.js +1 -0
  6. package/lib/commonjs/components/Picker/index.js +1 -0
  7. package/lib/commonjs/components/PinInput/PinInput.js +1 -1
  8. package/lib/commonjs/components/SectionList/SectionList.js +1 -1
  9. package/lib/commonjs/components/TextField.js +1 -1
  10. package/lib/commonjs/index.js +1 -1
  11. package/lib/commonjs/utilities.js +1 -1
  12. package/lib/typescript/src/components/Picker/NativePicker.d.ts +4 -0
  13. package/lib/typescript/src/components/Picker/NativePicker.js +92 -0
  14. package/lib/typescript/src/components/Picker/NativePicker.js.map +1 -0
  15. package/lib/typescript/src/components/Picker/PickerCommon.d.ts +51 -0
  16. package/lib/typescript/src/components/Picker/PickerCommon.js +23 -0
  17. package/lib/typescript/src/components/Picker/PickerCommon.js.map +1 -0
  18. package/lib/typescript/src/components/Picker/PickerInputContainer.d.ts +10 -0
  19. package/lib/typescript/src/components/Picker/PickerInputContainer.js +37 -0
  20. package/lib/typescript/src/components/Picker/PickerInputContainer.js.map +1 -0
  21. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.d.ts +6 -0
  22. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.js +44 -0
  23. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.js.map +1 -0
  24. package/lib/typescript/src/components/Picker/dropdown/MultiSelectPicker.d.ts +6 -0
  25. package/lib/typescript/src/components/Picker/dropdown/MultiSelectPicker.js +9 -0
  26. package/lib/typescript/src/components/Picker/dropdown/MultiSelectPicker.js.map +1 -0
  27. package/lib/typescript/src/components/Picker/index.d.ts +9 -0
  28. package/lib/typescript/src/components/Picker/index.js +16 -0
  29. package/lib/typescript/src/components/Picker/index.js.map +1 -0
  30. package/lib/typescript/src/components/PinInput/PinInput.d.ts +2 -6
  31. package/lib/typescript/src/components/PinInput/PinInput.js +16 -15
  32. package/lib/typescript/src/components/PinInput/PinInput.js.map +1 -1
  33. package/lib/typescript/src/components/SectionList/SectionList.d.ts +2 -1
  34. package/lib/typescript/src/components/SectionList/SectionList.js +13 -3
  35. package/lib/typescript/src/components/SectionList/SectionList.js.map +1 -1
  36. package/lib/typescript/src/components/TextField.d.ts +3 -3
  37. package/lib/typescript/src/components/TextField.js +9 -6
  38. package/lib/typescript/src/components/TextField.js.map +1 -1
  39. package/lib/typescript/src/index.d.ts +1 -1
  40. package/lib/typescript/src/index.js +1 -1
  41. package/lib/typescript/src/index.js.map +1 -1
  42. package/lib/typescript/src/utilities.d.ts +8 -0
  43. package/lib/typescript/src/utilities.js +22 -1
  44. package/lib/typescript/src/utilities.js.map +1 -1
  45. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +5 -3
  47. package/src/components/Picker/NativePicker.js +92 -0
  48. package/src/components/Picker/NativePicker.js.map +1 -0
  49. package/src/components/Picker/NativePicker.tsx +152 -0
  50. package/src/components/Picker/PickerCommon.js +23 -0
  51. package/src/components/Picker/PickerCommon.js.map +1 -0
  52. package/src/components/Picker/PickerCommon.ts +87 -0
  53. package/src/components/Picker/PickerInputContainer.js +37 -0
  54. package/src/components/Picker/PickerInputContainer.js.map +1 -0
  55. package/src/components/Picker/PickerInputContainer.tsx +85 -0
  56. package/src/components/Picker/dropdown/DropDownPicker.js +44 -0
  57. package/src/components/Picker/dropdown/DropDownPicker.js.map +1 -0
  58. package/src/components/Picker/dropdown/DropDownPicker.tsx +122 -0
  59. package/src/components/Picker/dropdown/MultiSelectPicker.js +9 -0
  60. package/src/components/Picker/dropdown/MultiSelectPicker.js.map +1 -0
  61. package/src/components/Picker/dropdown/MultiSelectPicker.tsx +16 -0
  62. package/src/components/Picker/index.js +16 -0
  63. package/src/components/Picker/index.js.map +1 -0
  64. package/src/components/Picker/index.tsx +22 -0
  65. package/src/components/PinInput/PinInput.js +16 -15
  66. package/src/components/PinInput/PinInput.js.map +1 -1
  67. package/src/components/PinInput/PinInput.tsx +20 -26
  68. package/src/components/SectionList/SectionList.js +13 -3
  69. package/src/components/SectionList/SectionList.js.map +1 -1
  70. package/src/components/SectionList/SectionList.tsx +15 -0
  71. package/src/components/TextField.js +9 -6
  72. package/src/components/TextField.js.map +1 -1
  73. package/src/components/TextField.tsx +14 -8
  74. package/src/index.js +1 -1
  75. package/src/index.js.map +1 -1
  76. package/src/index.tsx +1 -1
  77. package/src/utilities.js +22 -1
  78. package/src/utilities.js.map +1 -1
  79. package/src/utilities.ts +33 -1
  80. package/lib/commonjs/components/Picker/Picker.js +0 -1
  81. package/lib/commonjs/components/Picker/PickerComponent.android.js +0 -1
  82. package/lib/commonjs/components/Picker/PickerComponent.ios.js +0 -1
  83. package/lib/commonjs/components/Picker/PickerComponent.web.js +0 -1
  84. package/lib/commonjs/components/Picker/PickerTypes.js +0 -1
  85. package/lib/typescript/src/components/Picker/Picker.d.ts +0 -36
  86. package/lib/typescript/src/components/Picker/Picker.js +0 -288
  87. package/lib/typescript/src/components/Picker/Picker.js.map +0 -1
  88. package/lib/typescript/src/components/Picker/PickerComponent.android.d.ts +0 -6
  89. package/lib/typescript/src/components/Picker/PickerComponent.android.js +0 -70
  90. package/lib/typescript/src/components/Picker/PickerComponent.android.js.map +0 -1
  91. package/lib/typescript/src/components/Picker/PickerComponent.ios.d.ts +0 -7
  92. package/lib/typescript/src/components/Picker/PickerComponent.ios.js +0 -80
  93. package/lib/typescript/src/components/Picker/PickerComponent.ios.js.map +0 -1
  94. package/lib/typescript/src/components/Picker/PickerComponent.web.d.ts +0 -6
  95. package/lib/typescript/src/components/Picker/PickerComponent.web.js +0 -71
  96. package/lib/typescript/src/components/Picker/PickerComponent.web.js.map +0 -1
  97. package/lib/typescript/src/components/Picker/PickerTypes.d.ts +0 -18
  98. package/lib/typescript/src/components/Picker/PickerTypes.js +0 -2
  99. package/lib/typescript/src/components/Picker/PickerTypes.js.map +0 -1
  100. package/src/components/Picker/Picker.js +0 -288
  101. package/src/components/Picker/Picker.js.map +0 -1
  102. package/src/components/Picker/Picker.tsx +0 -509
  103. package/src/components/Picker/PickerComponent.android.js +0 -70
  104. package/src/components/Picker/PickerComponent.android.js.map +0 -1
  105. package/src/components/Picker/PickerComponent.android.tsx +0 -116
  106. package/src/components/Picker/PickerComponent.ios.js +0 -80
  107. package/src/components/Picker/PickerComponent.ios.js.map +0 -1
  108. package/src/components/Picker/PickerComponent.ios.tsx +0 -142
  109. package/src/components/Picker/PickerComponent.web.js +0 -71
  110. package/src/components/Picker/PickerComponent.web.js.map +0 -1
  111. package/src/components/Picker/PickerComponent.web.tsx +0 -117
  112. package/src/components/Picker/PickerTypes.js +0 -2
  113. package/src/components/Picker/PickerTypes.js.map +0 -1
  114. package/src/components/Picker/PickerTypes.ts +0 -18
@@ -38,12 +38,14 @@ export type Props = {
38
38
  text: string | NativeSyntheticEvent<TextInputChangeEventData>
39
39
  ) => void;
40
40
  rightIconName?: string;
41
+ iconColor?: string;
42
+ iconSize?: number;
41
43
  assistiveText?: string;
42
44
  multiline?: boolean;
43
45
  numberOfLines: number;
44
46
  underlineColor?: string;
45
47
  activeBorderColor?: string;
46
- style?: StyleProp<ViewStyle> & { height?: number };
48
+ style?: StyleProp<ViewStyle>;
47
49
  theme: Theme;
48
50
  render?: (
49
51
  props: TextInputProps & { ref: (c: NativeTextInput) => void }
@@ -241,6 +243,8 @@ class TextField extends React.Component<Props, State> {
241
243
  leftIconName,
242
244
  leftIconMode,
243
245
  rightIconName,
246
+ iconColor,
247
+ iconSize,
244
248
  assistiveText,
245
249
  underlineColor: underlineColorProp,
246
250
  activeBorderColor: activeBorderColorProp,
@@ -278,7 +282,7 @@ class TextField extends React.Component<Props, State> {
278
282
  } else {
279
283
  activeColor = error ? colors.error : activeBorderColorProp;
280
284
  placeholderColor = borderColor = colors.light;
281
- underlineColor = underlineColorProp;
285
+ underlineColor = underlineColorProp || colors.light;
282
286
  backgroundColor = colors.background;
283
287
  }
284
288
 
@@ -344,7 +348,9 @@ class TextField extends React.Component<Props, State> {
344
348
  }
345
349
 
346
350
  let leftIconColor;
347
- if (error) {
351
+ if (iconColor) {
352
+ leftIconColor = iconColor;
353
+ } else if (error) {
348
354
  leftIconColor = colors.error;
349
355
  } else if (this.state.focused) {
350
356
  leftIconColor = colors.primary;
@@ -353,7 +359,7 @@ class TextField extends React.Component<Props, State> {
353
359
  }
354
360
 
355
361
  const leftIconProps = {
356
- size: 24,
362
+ size: iconSize || 24,
357
363
  color: leftIconColor,
358
364
  name: leftIconName || "",
359
365
  };
@@ -438,7 +444,7 @@ class TextField extends React.Component<Props, State> {
438
444
  borderLeftWidth,
439
445
  borderColor: borderCol,
440
446
  ...styleProp
441
- } = StyleSheet.flatten(style || {}) as ViewStyle & { height?: number };
447
+ } = StyleSheet.flatten(style || {}) as ViewStyle;
442
448
 
443
449
  return (
444
450
  <View style={[styles.container, styleProp]}>
@@ -447,7 +453,7 @@ class TextField extends React.Component<Props, State> {
447
453
  ) : null}
448
454
  <View
449
455
  style={applyStyles([containerStyle], {
450
- height: style?.height,
456
+ height: styleProp.height,
451
457
  backgroundColor: bgColor,
452
458
  padding,
453
459
  paddingTop,
@@ -578,8 +584,8 @@ class TextField extends React.Component<Props, State> {
578
584
  {rightIconName ? (
579
585
  <Icon
580
586
  name={rightIconName}
581
- size={ICON_SIZE}
582
- color={colors.light}
587
+ size={iconSize || ICON_SIZE}
588
+ color={iconColor || colors.light}
583
589
  style={{
584
590
  position: "absolute",
585
591
  right: 16,
package/src/index.js CHANGED
@@ -32,7 +32,7 @@ export { Table, TableRow, TableCell } from "./components/Table";
32
32
  export { SwipeableItem, SwipeableItemButton, SwipeableList, } from "./components/SwipeableItem";
33
33
  export { default as AudioPlayer, } from "./components/MediaPlayer/AudioPlayer";
34
34
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
35
- export { default as Picker } from "./components/Picker/Picker";
35
+ export { Picker, MultiSelectPicker } from "./components/Picker";
36
36
  export { default as Slider } from "./components/Slider";
37
37
  export { default as Stepper } from "./components/Stepper";
38
38
  export { SectionList, SectionHeader } from "./components/SectionList";
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"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"}
package/src/index.tsx CHANGED
@@ -47,7 +47,7 @@ export {
47
47
  AudioPlayerRef,
48
48
  } from "./components/MediaPlayer/AudioPlayer";
49
49
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
50
- export { default as Picker } from "./components/Picker/Picker";
50
+ export { Picker, MultiSelectPicker } from "./components/Picker";
51
51
  export { default as Slider } from "./components/Slider";
52
52
  export { default as Stepper } from "./components/Stepper";
53
53
  export { SectionList, SectionHeader } from "./components/SectionList";
package/src/utilities.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { StyleSheet } from "react-native";
3
- import { isString, isNumber, pick, pickBy, identity } from "lodash";
3
+ import { isString, isNumber, pick, pickBy, identity, isEqual } from "lodash";
4
4
  export function extractStyles(style) {
5
5
  const { color, fontFamily, fontWeight, fontSize, lineHeight, letterSpacing, textTransform, textAlign, textDecorationLine, textDecorationColor, textDecorationStyle, ...viewStyles } = StyleSheet.flatten(style || {});
6
6
  const textStyles = {
@@ -177,4 +177,25 @@ export function flattenReactFragments(components) {
177
177
  }
178
178
  return flattened;
179
179
  }
180
+ function useDeepCompareMemoize(value) {
181
+ const ref = React.useRef();
182
+ if (!isEqual(value, ref.current)) {
183
+ ref.current = value;
184
+ }
185
+ return ref.current;
186
+ }
187
+ /**
188
+ * useMemo counterpart that does a deep compare on the dependency list
189
+ */
190
+ export function useDeepCompareMemo(factory, deps) {
191
+ // eslint-disable-next-line react-hooks/exhaustive-deps
192
+ return React.useMemo(factory, deps === null || deps === void 0 ? void 0 : deps.map(useDeepCompareMemoize));
193
+ }
194
+ /**
195
+ * useMemo counterpart that does a deep compare on the dependency list
196
+ */
197
+ export function useDeepCompareEffect(effect, deps) {
198
+ // eslint-disable-next-line react-hooks/exhaustive-deps
199
+ return React.useEffect(effect, deps === null || deps === void 0 ? void 0 : deps.map(useDeepCompareMemoize));
200
+ }
180
201
  //# sourceMappingURL=utilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["utilities.ts"],"names":[],"mappings":"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"}
package/src/utilities.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { StyleSheet, StyleProp, TextStyle } from "react-native";
3
- import { isString, isNumber, pick, pickBy, identity } from "lodash";
3
+ import { isString, isNumber, pick, pickBy, identity, isEqual } from "lodash";
4
4
 
5
5
  export function extractStyles(style: StyleProp<any>) {
6
6
  const {
@@ -261,3 +261,35 @@ export function flattenReactFragments(
261
261
 
262
262
  return flattened;
263
263
  }
264
+
265
+ function useDeepCompareMemoize(value: any) {
266
+ const ref = React.useRef();
267
+
268
+ if (!isEqual(value, ref.current)) {
269
+ ref.current = value;
270
+ }
271
+
272
+ return ref.current;
273
+ }
274
+
275
+ /**
276
+ * useMemo counterpart that does a deep compare on the dependency list
277
+ */
278
+ export function useDeepCompareMemo<T>(
279
+ factory: () => T,
280
+ deps: React.DependencyList | undefined
281
+ ): T {
282
+ // eslint-disable-next-line react-hooks/exhaustive-deps
283
+ return React.useMemo(factory, deps?.map(useDeepCompareMemoize));
284
+ }
285
+
286
+ /**
287
+ * useMemo counterpart that does a deep compare on the dependency list
288
+ */
289
+ export function useDeepCompareEffect(
290
+ effect: React.EffectCallback,
291
+ deps: React.DependencyList | undefined
292
+ ) {
293
+ // eslint-disable-next-line react-hooks/exhaustive-deps
294
+ return React.useEffect(effect, deps?.map(useDeepCompareMemoize));
295
+ }
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _lodash=require("lodash");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _picker=require("@react-native-picker/picker");var _theming=require("../../theming");var _Portal=_interopRequireDefault(require("../Portal/Portal"));var _DeprecatedButton=_interopRequireDefault(require("../../deprecated-components/DeprecatedButton"));var _Touchable=_interopRequireDefault(require("../Touchable"));var _utilities=require("../../utilities");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/Picker.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}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;}function normalizeOptions(options){if(options.length===0){return[];}if(typeof options[0]===("string"||"number")){return options.map(function(option){return{label:String(option),value:String(option)};});}if((0,_lodash.isObject)(options[0])&&options[0].value!==null&&options[0].label!==null){return options.map(function(option){return{label:String(option.label),value:String(option.value)};});}throw new Error('Picker options must be either an array of strings or array of { "label": string; "value": string; } objects.');}var _Dimensions$get=_reactNative.Dimensions.get("screen"),deviceWidth=_Dimensions$get.width,deviceHeight=_Dimensions$get.height;var isIos=_reactNative.Platform.OS==="ios";var isWeb=_reactNative.Platform.OS==="web";var unstyledColor="rgba(165, 173, 183, 1)";var disabledColor="rgb(240, 240, 240)";var errorColor="rgba(255, 69, 100, 1)";var Picker=function Picker(_ref){var _find$label,_find;var error=_ref.error,_ref$options=_ref.options,options=_ref$options===void 0?[]:_ref$options,onValueChange=_ref.onValueChange,defaultValue=_ref.defaultValue,Icon=_ref.Icon,style=_ref.style,placeholder=_ref.placeholder,value=_ref.value,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,assistiveText=_ref.assistiveText,label=_ref.label,_ref$iconColor=_ref.iconColor,iconColor=_ref$iconColor===void 0?unstyledColor:_ref$iconColor,_ref$iconSize=_ref.iconSize,iconSize=_ref$iconSize===void 0?24:_ref$iconSize,_ref$leftIconMode=_ref.leftIconMode,leftIconMode=_ref$leftIconMode===void 0?"inset":_ref$leftIconMode,leftIconName=_ref.leftIconName,_ref$placeholderTextC=_ref.placeholderTextColor,placeholderTextColor=_ref$placeholderTextC===void 0?unstyledColor:_ref$placeholderTextC,rightIconName=_ref.rightIconName,_ref$type=_ref.type,type=_ref$type===void 0?"solid":_ref$type,_ref$autoDismissKeybo=_ref.autoDismissKeyboard,autoDismissKeyboard=_ref$autoDismissKeybo===void 0?true:_ref$autoDismissKeybo;var androidPickerRef=React.useRef(undefined);var _React$useState=React.useState(value||defaultValue),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),internalValue=_React$useState2[0],setInternalValue=_React$useState2[1];var _React$useState3=React.useState(false),_React$useState4=(0,_slicedToArray2.default)(_React$useState3,2),pickerVisible=_React$useState4[0],setPickerVisible=_React$useState4[1];var togglePickerVisible=function togglePickerVisible(){setPickerVisible(!pickerVisible);};React.useEffect(function(){if(value!=null&&value!==""){setInternalValue(value);}else if(value===""){setInternalValue(undefined);}},[value]);React.useEffect(function(){if(defaultValue!=null&&defaultValue!==""){setInternalValue(defaultValue);}},[defaultValue]);React.useEffect(function(){if(pickerVisible&&androidPickerRef.current){var _androidPickerRef$cur;androidPickerRef==null?void 0:(_androidPickerRef$cur=androidPickerRef.current)==null?void 0:_androidPickerRef$cur.focus();}},[pickerVisible,androidPickerRef]);React.useEffect(function(){if(pickerVisible&&autoDismissKeyboard){_reactNative.Keyboard.dismiss();}},[pickerVisible,autoDismissKeyboard]);var normalizedOptions=React.useMemo(function(){return normalizeOptions(options);},[options]);var pickerOptions=React.useMemo(function(){return placeholder?[{label:placeholder,value:placeholder}].concat((0,_toConsumableArray2.default)(normalizedOptions)):normalizedOptions;},[placeholder,normalizedOptions]);if(!placeholder&&pickerOptions.length&&!internalValue&&internalValue!==pickerOptions[0].value){onValueChange==null?void 0:onValueChange(pickerOptions[0].value,0);setInternalValue(pickerOptions[0].value);}var _extractStyles=(0,_utilities.extractStyles)(style),viewStyles=_extractStyles.viewStyles,textStyles=_extractStyles.textStyles;var additionalBorderStyles=["backgroundColor"];var additionalMarginStyles=["bottom","height","left","maxHeight","maxWidth","minHeight","minWidth","overflow","position","right","top","width","zIndex"];var _extractBorderAndMarg=(0,_utilities.extractBorderAndMarginStyles)(viewStyles,additionalBorderStyles,additionalMarginStyles),extractedBorderStyles=_extractBorderAndMarg.borderStyles,extractedMarginStyles=_extractBorderAndMarg.marginStyles;var borderStyles=Object.assign({},Object.assign({},type==="solid"?{borderTopLeftRadius:5,borderTopRightRadius:5,borderBottomRightRadius:5,borderBottomLeftRadius:5,borderTopWidth:1,borderRightWidth:1,borderLeftWidth:1}:{},{borderBottomWidth:1,borderColor:unstyledColor,borderStyle:"solid"}),extractedBorderStyles,error?{borderColor:errorColor}:{},disabled?{borderColor:"transparent",backgroundColor:disabledColor}:{});var marginStyles=Object.assign({height:60},extractedMarginStyles);var stylesWithoutBordersAndMargins=(0,_lodash.omit)(viewStyles,[].concat((0,_toConsumableArray2.default)(_utilities.borderStyleNames),(0,_toConsumableArray2.default)(_utilities.marginStyleNames),additionalBorderStyles,additionalMarginStyles));var selectedLabel=internalValue&&((_find$label=(_find=pickerOptions.find(function(option){return option.value===internalValue;}))==null?void 0:_find.label)!=null?_find$label:internalValue);var labelText=label?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{textAlign:textStyles.textAlign,color:unstyledColor,fontSize:12,paddingBottom:4},children:label}):null;var leftIconOutset=leftIconMode==="outset";var leftIcon=leftIconName?(0,_jsxRuntime.jsx)(Icon,{name:leftIconName,color:disabled?unstyledColor:iconColor,size:iconSize,style:{marginRight:4,marginLeft:4}}):null;var rightIcon=rightIconName?(0,_jsxRuntime.jsx)(Icon,{name:rightIconName,color:disabled?unstyledColor:iconColor,size:iconSize,style:{marginRight:-10,marginLeft:8}}):null;var textAlign=textStyles==null?void 0:textStyles.textAlign;var calculateLeftPadding=function calculateLeftPadding(){if(leftIconOutset){if(textAlign==="center"){return iconSize-Math.abs(8-iconSize);}return iconSize+8;}return 0;};var assistiveTextLabel=assistiveText?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{textAlign:textAlign,width:"100%",paddingLeft:calculateLeftPadding(),color:unstyledColor,fontSize:12,paddingTop:4},children:assistiveText}):null;var primaryTextStyle=Object.assign({color:unstyledColor,fontSize:14},(0,_lodash.pickBy)(textStyles,_lodash.identity),placeholder===internalValue?{color:placeholderTextColor}:{},disabled?{color:unstyledColor}:{});var handleValueChange=function handleValueChange(newValue,itemIndex){if(newValue!==""&&newValue!==placeholder){onValueChange==null?void 0:onValueChange(newValue,itemIndex);setInternalValue(newValue);}else if(newValue===placeholder){onValueChange==null?void 0:onValueChange("",0);setInternalValue(undefined);}};return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.marginsContainer,marginStyles],children:[(0,_jsxRuntime.jsxs)(_Touchable.default,{disabled:disabled,onPress:togglePickerVisible,style:styles.touchableContainer,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",style:[styles.outsetContainer,stylesWithoutBordersAndMargins,!leftIconOutset?borderStyles:{}],children:[leftIcon,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.insetContainer,leftIconOutset?borderStyles:{}],children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.primaryTextContainer,children:[labelText,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:primaryTextStyle,children:String(selectedLabel!=null?selectedLabel:placeholder)})]}),rightIcon]})]}),assistiveTextLabel]}),isIos&&pickerVisible?(0,_jsxRuntime.jsx)(_Portal.default,{children:(0,_jsxRuntime.jsx)(_reactNativeSafeAreaContext.SafeAreaView,{style:styles.iosPicker,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.iosPickerContent,children:[(0,_jsxRuntime.jsx)(_DeprecatedButton.default,{Icon:Icon,type:"text",onPress:togglePickerVisible,style:styles.iosButton,children:"Close"}),(0,_jsxRuntime.jsx)(_picker.Picker,{style:styles.iosNativePicker,selectedValue:internalValue,onValueChange:handleValueChange,children:pickerOptions.map(function(option){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{label:option.label,value:option.value},option.value);})})]})})}):null,!isIos&&(pickerVisible||isWeb)?(0,_jsxRuntime.jsx)(_picker.Picker,{enabled:!disabled,selectedValue:internalValue,onValueChange:handleValueChange,style:styles.nonIosPicker,ref:androidPickerRef,onBlur:function onBlur(){return setPickerVisible(false);},children:pickerOptions.map(function(option){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{label:option.label,value:option.value},option.value);})}):null]});};var styles=_reactNative.StyleSheet.create({marginsContainer:{alignSelf:"stretch",alignItems:"center",width:"100%",maxWidth:deviceWidth},touchableContainer:{flex:1,height:"100%",width:"100%",alignSelf:"stretch",alignItems:"center"},outsetContainer:{flex:1,height:"100%",width:"100%",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},insetContainer:{flex:1,height:"100%",width:"100%",flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingLeft:12,paddingRight:12},primaryTextContainer:{flex:1},iosPicker:{position:"absolute",bottom:0,left:0,right:0,flexDirection:"row",justifyContent:"center",width:"100%",maxWidth:deviceWidth,maxHeight:deviceHeight,backgroundColor:"white"},iosPickerContent:{flexDirection:"column",width:"100%",maxWidth:deviceWidth},iosButton:{alignSelf:"flex-end"},iosNativePicker:{backgroundColor:"white"},nonIosPicker:{opacity:0,position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%",maxWidth:deviceWidth,maxHeight:deviceHeight}});var _default=(0,_theming.withTheme)(Picker);exports.default=_default;
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _lodash=_interopRequireDefault(require("lodash.omit"));var _theming=require("../../theming");var _picker=require("@react-native-picker/picker");var _utilities=require("../../utilities");var _TextField=_interopRequireDefault(require("../TextField"));var _Touchable=_interopRequireDefault(require("../Touchable"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["style","options","placeholder","selectedValue","disabled","onValueChange"],_excluded2=["borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/PickerComponent.android.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}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;}var Picker=function Picker(_ref){var _options$find$label,_options$find;var style=_ref.style,options=_ref.options,placeholder=_ref.placeholder,selectedValue=_ref.selectedValue,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$onValueChange=_ref.onValueChange,onValueChangeOverride=_ref$onValueChange===void 0?function(){}:_ref$onValueChange,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _extractStyles=(0,_utilities.extractStyles)(style),_extractStyles$viewSt=_extractStyles.viewStyles,borderRadius=_extractStyles$viewSt.borderRadius,borderWidth=_extractStyles$viewSt.borderWidth,borderTopWidth=_extractStyles$viewSt.borderTopWidth,borderRightWidth=_extractStyles$viewSt.borderRightWidth,borderBottomWidth=_extractStyles$viewSt.borderBottomWidth,borderLeftWidth=_extractStyles$viewSt.borderLeftWidth,borderColor=_extractStyles$viewSt.borderColor,backgroundColor=_extractStyles$viewSt.backgroundColor,padding=_extractStyles$viewSt.padding,paddingTop=_extractStyles$viewSt.paddingTop,paddingRight=_extractStyles$viewSt.paddingRight,paddingBottom=_extractStyles$viewSt.paddingBottom,paddingLeft=_extractStyles$viewSt.paddingLeft,viewStyles=(0,_objectWithoutProperties2.default)(_extractStyles$viewSt,_excluded2);var textField=React.useRef(undefined);var onValueChange=function onValueChange(itemValue,itemIndex){toggleFocus();onValueChangeOverride(itemValue,itemIndex);};var toggleFocus=function toggleFocus(){if(!disabled){textField.current.toggleFocus();}};var stylesWithoutMargin=style&&(0,_lodash.default)(_reactNative.StyleSheet.flatten(style),["margin","marginTop","marginRight","marginBottom","marginLeft"]);var selectedLabel=selectedValue&&((_options$find$label=(_options$find=options.find(function(o){return o.value===selectedValue;}))==null?void 0:_options$find.label)!=null?_options$find$label:selectedValue);return(0,_jsxRuntime.jsx)(_Touchable.default,{disabled:disabled,onPress:toggleFocus,style:[styles.container,viewStyles],children:(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_picker.Picker,{enabled:!disabled,selectedValue:selectedValue,onValueChange:onValueChange,style:{opacity:0,position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%"},children:options.map(function(o){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{label:o.label,value:o.value},o.value);})}),(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",children:(0,_jsxRuntime.jsx)(_TextField.default,Object.assign({},props,{value:selectedLabel,placeholder:placeholder,ref:textField,disabled:disabled,style:stylesWithoutMargin}))})]})});};var styles=_reactNative.StyleSheet.create({container:{alignSelf:"stretch"}});var _default=(0,_theming.withTheme)(Picker);exports.default=_default;
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _lodash=_interopRequireDefault(require("lodash.omit"));var _picker=require("@react-native-picker/picker");var _theming=require("../../theming");var _Portal=_interopRequireDefault(require("../Portal/Portal"));var _DeprecatedButton=_interopRequireDefault(require("../../deprecated-components/DeprecatedButton"));var _TextField=_interopRequireDefault(require("../TextField"));var _Touchable=_interopRequireDefault(require("../Touchable"));var _utilities=require("../../utilities");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme"],_excluded2=["borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/PickerComponent.ios.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}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;}var Picker=function Picker(_ref){var _options$find$label,_options$find;var Icon=_ref.Icon,style=_ref.style,options=_ref.options,placeholder=_ref.placeholder,selectedValue=_ref.selectedValue,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$onValueChange=_ref.onValueChange,onValueChange=_ref$onValueChange===void 0?function(){}:_ref$onValueChange,colors=_ref.theme.colors,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _extractStyles=(0,_utilities.extractStyles)(style),_extractStyles$viewSt=_extractStyles.viewStyles,borderRadius=_extractStyles$viewSt.borderRadius,borderWidth=_extractStyles$viewSt.borderWidth,borderTopWidth=_extractStyles$viewSt.borderTopWidth,borderRightWidth=_extractStyles$viewSt.borderRightWidth,borderBottomWidth=_extractStyles$viewSt.borderBottomWidth,borderLeftWidth=_extractStyles$viewSt.borderLeftWidth,borderColor=_extractStyles$viewSt.borderColor,backgroundColor=_extractStyles$viewSt.backgroundColor,padding=_extractStyles$viewSt.padding,paddingTop=_extractStyles$viewSt.paddingTop,paddingRight=_extractStyles$viewSt.paddingRight,paddingBottom=_extractStyles$viewSt.paddingBottom,paddingLeft=_extractStyles$viewSt.paddingLeft,viewStyles=(0,_objectWithoutProperties2.default)(_extractStyles$viewSt,_excluded2);var textField=React.useRef(undefined);var _React$useState=React.useState(false),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),pickerVisible=_React$useState2[0],setIsPickerVisible=_React$useState2[1];var toggleVisibility=function toggleVisibility(){setIsPickerVisible(!pickerVisible);textField.current.toggleFocus();};var stylesWithoutMargin=style&&(0,_lodash.default)(_reactNative.StyleSheet.flatten(style),["margin","marginTop","marginRight","marginBottom","marginLeft"]);var selectedLabel=selectedValue&&((_options$find$label=(_options$find=options.find(function(o){return o.value===selectedValue;}))==null?void 0:_options$find.label)!=null?_options$find$label:selectedValue);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.container,viewStyles],children:[(0,_jsxRuntime.jsx)(_Touchable.default,{disabled:disabled,onPress:toggleVisibility,children:(0,_jsxRuntime.jsx)(_TextField.default,Object.assign({},props,{value:String(selectedLabel),placeholder:placeholder,ref:textField,disabled:disabled,pointerEvents:"none",style:stylesWithoutMargin,Icon:Icon}))}),pickerVisible&&(0,_jsxRuntime.jsx)(_Portal.default,{children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.picker,{backgroundColor:colors.divider}],children:(0,_jsxRuntime.jsxs)(_reactNativeSafeAreaContext.SafeAreaView,{style:styles.pickerContainer,children:[(0,_jsxRuntime.jsx)(_DeprecatedButton.default,{Icon:Icon,type:"text",onPress:toggleVisibility,style:styles.closeButton,children:"Close"}),(0,_jsxRuntime.jsx)(_picker.Picker,{style:{backgroundColor:"white"},selectedValue:selectedValue,onValueChange:onValueChange,children:options.map(function(o){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{label:o.label,value:o.value},o.value);})})]})})})]});};var styles=_reactNative.StyleSheet.create({container:{alignSelf:"stretch"},picker:{position:"absolute",bottom:0,left:0,right:0,flexDirection:"row",justifyContent:"center"},pickerContainer:{backgroundColor:"white",flexDirection:"column",width:"100%"},closeButton:{alignSelf:"flex-end"}});var _default=(0,_theming.withTheme)(Picker);exports.default=_default;
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _picker=require("@react-native-picker/picker");var _lodash=_interopRequireDefault(require("lodash.omit"));var _theming=require("../../theming");var _utilities=require("../../utilities");var _TextField=_interopRequireDefault(require("../TextField"));var _Touchable=_interopRequireDefault(require("../Touchable"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["style","options","placeholder","selectedValue","disabled","onValueChange"],_excluded2=["borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/PickerComponent.web.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}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;}var Picker=function Picker(_ref){var _options$find$label,_options$find;var style=_ref.style,options=_ref.options,placeholder=_ref.placeholder,selectedValue=_ref.selectedValue,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$onValueChange=_ref.onValueChange,onValueChangeOverride=_ref$onValueChange===void 0?function(){}:_ref$onValueChange,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _extractStyles=(0,_utilities.extractStyles)(style),_extractStyles$viewSt=_extractStyles.viewStyles,borderRadius=_extractStyles$viewSt.borderRadius,borderWidth=_extractStyles$viewSt.borderWidth,borderTopWidth=_extractStyles$viewSt.borderTopWidth,borderRightWidth=_extractStyles$viewSt.borderRightWidth,borderBottomWidth=_extractStyles$viewSt.borderBottomWidth,borderLeftWidth=_extractStyles$viewSt.borderLeftWidth,borderColor=_extractStyles$viewSt.borderColor,backgroundColor=_extractStyles$viewSt.backgroundColor,padding=_extractStyles$viewSt.padding,paddingTop=_extractStyles$viewSt.paddingTop,paddingRight=_extractStyles$viewSt.paddingRight,paddingBottom=_extractStyles$viewSt.paddingBottom,paddingLeft=_extractStyles$viewSt.paddingLeft,viewStyles=(0,_objectWithoutProperties2.default)(_extractStyles$viewSt,_excluded2);var textField=React.useRef(undefined);var onValueChange=function onValueChange(itemValue,itemIndex){toggleFocus();onValueChangeOverride(itemValue,itemIndex);};var toggleFocus=function toggleFocus(){if(!disabled){textField.current.toggleFocus();}};var stylesWithoutMargin=style&&(0,_lodash.default)(_reactNative.StyleSheet.flatten(style),["margin","marginTop","marginRight","marginBottom","marginLeft"]);var selectedLabel=selectedValue&&((_options$find$label=(_options$find=options.find(function(o){return o.value===selectedValue;}))==null?void 0:_options$find.label)!=null?_options$find$label:selectedValue);return(0,_jsxRuntime.jsx)(_Touchable.default,{disabled:disabled,onPress:toggleFocus,style:[styles.container,viewStyles],children:(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_picker.Picker,{enabled:!disabled,selectedValue:selectedValue,onValueChange:onValueChange,style:{flex:1,opacity:0,position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%"},children:options.map(function(o){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{label:o.label,value:o.value},o.value);})}),(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",children:(0,_jsxRuntime.jsx)(_TextField.default,Object.assign({},props,{value:selectedLabel,placeholder:placeholder,ref:textField,disabled:disabled,style:stylesWithoutMargin}))})]})});};var styles=_reactNative.StyleSheet.create({container:{alignSelf:"stretch"}});var _default=(0,_theming.withTheme)(Picker);exports.default=_default;
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});
@@ -1,36 +0,0 @@
1
- import * as React from "react";
2
- import { ViewStyle, StyleProp } from "react-native";
3
- import type { Theme } from "../../styles/DefaultTheme";
4
- import type { IconSlot } from "../../interfaces/Icon";
5
- export interface PickerOption {
6
- value: string;
7
- label: string;
8
- }
9
- export declare type PickerProps = {
10
- error?: any;
11
- placeholder?: string;
12
- disabled?: boolean;
13
- style?: StyleProp<ViewStyle> & {
14
- height?: number;
15
- };
16
- value?: string;
17
- options: PickerOption[] | string[];
18
- onValueChange: (value: string, index: number) => void;
19
- defaultValue?: string;
20
- assistiveText?: string;
21
- label?: string;
22
- iconColor?: string;
23
- iconSize?: number;
24
- leftIconMode?: "inset" | "outset";
25
- leftIconName?: string;
26
- placeholderTextColor?: string;
27
- rightIconName?: string;
28
- type?: "solid" | "underline";
29
- autoDismissKeyboard?: boolean;
30
- theme: Theme;
31
- Icon: IconSlot["Icon"];
32
- };
33
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<PickerProps, "theme"> & {
34
- theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
35
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<PickerProps> & React.FC<PickerProps>, {}>;
36
- export default _default;
@@ -1,288 +0,0 @@
1
- import * as React from "react";
2
- import { View, StyleSheet, Text, Platform, Dimensions, Keyboard, } from "react-native";
3
- import { omit, pickBy, identity, isObject } from "lodash";
4
- import { SafeAreaView } from "react-native-safe-area-context";
5
- import { Picker as NativePicker } from "@react-native-picker/picker";
6
- import { withTheme } from "../../theming";
7
- import Portal from "../Portal/Portal";
8
- import Button from "../../deprecated-components/DeprecatedButton";
9
- import Touchable from "../Touchable";
10
- import { extractStyles, extractBorderAndMarginStyles, borderStyleNames, marginStyleNames, } from "../../utilities";
11
- function normalizeOptions(options) {
12
- if (options.length === 0) {
13
- return [];
14
- }
15
- if (typeof options[0] === ("string" || "number")) {
16
- return options.map((option) => ({
17
- label: String(option),
18
- value: String(option),
19
- }));
20
- }
21
- if (isObject(options[0]) &&
22
- options[0].value !== null &&
23
- options[0].label !== null) {
24
- return options.map((option) => {
25
- return {
26
- label: String(option.label),
27
- value: String(option.value),
28
- };
29
- });
30
- }
31
- throw new Error('Picker options must be either an array of strings or array of { "label": string; "value": string; } objects.');
32
- }
33
- const { width: deviceWidth, height: deviceHeight } = Dimensions.get("screen");
34
- const isIos = Platform.OS === "ios";
35
- const isWeb = Platform.OS === "web";
36
- const unstyledColor = "rgba(165, 173, 183, 1)";
37
- const disabledColor = "rgb(240, 240, 240)";
38
- const errorColor = "rgba(255, 69, 100, 1)";
39
- //Empty string for 'value' is treated as a non-value
40
- //reason: Draftbit uses empty string as initial value for string state*/
41
- const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style, placeholder, value, disabled = false, assistiveText, label, iconColor = unstyledColor, iconSize = 24, leftIconMode = "inset", leftIconName, placeholderTextColor = unstyledColor, rightIconName, type = "solid", autoDismissKeyboard = true, }) => {
42
- var _a, _b;
43
- const androidPickerRef = React.useRef(undefined);
44
- const [internalValue, setInternalValue] = React.useState(value || defaultValue);
45
- const [pickerVisible, setPickerVisible] = React.useState(false);
46
- const togglePickerVisible = () => {
47
- setPickerVisible(!pickerVisible);
48
- };
49
- React.useEffect(() => {
50
- if (value != null && value !== "") {
51
- setInternalValue(value);
52
- }
53
- else if (value === "") {
54
- setInternalValue(undefined);
55
- }
56
- }, [value]);
57
- React.useEffect(() => {
58
- if (defaultValue != null && defaultValue !== "") {
59
- setInternalValue(defaultValue);
60
- }
61
- }, [defaultValue]);
62
- React.useEffect(() => {
63
- var _a;
64
- if (pickerVisible && androidPickerRef.current) {
65
- (_a = androidPickerRef === null || androidPickerRef === void 0 ? void 0 : androidPickerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
66
- }
67
- }, [pickerVisible, androidPickerRef]);
68
- React.useEffect(() => {
69
- if (pickerVisible && autoDismissKeyboard) {
70
- Keyboard.dismiss();
71
- }
72
- }, [pickerVisible, autoDismissKeyboard]);
73
- const normalizedOptions = React.useMemo(() => normalizeOptions(options), [options]);
74
- //Underlying Picker component defaults selection to first element when value is not provided (or undefined)
75
- //Placholder must be the 1st option in order to allow selection of the 'actual' 1st option
76
- const pickerOptions = React.useMemo(() => placeholder
77
- ? [{ label: placeholder, value: placeholder }, ...normalizedOptions]
78
- : normalizedOptions, [placeholder, normalizedOptions]);
79
- //When no placeholder is provided then first item should be marked selected to reflect underlying Picker internal state
80
- if (!placeholder &&
81
- pickerOptions.length &&
82
- !internalValue &&
83
- internalValue !== pickerOptions[0].value //Prevent infinite state changes incase first value is falsy
84
- ) {
85
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(pickerOptions[0].value, 0);
86
- setInternalValue(pickerOptions[0].value);
87
- }
88
- const { viewStyles, textStyles } = extractStyles(style);
89
- const additionalBorderStyles = ["backgroundColor"];
90
- const additionalMarginStyles = [
91
- "bottom",
92
- "height",
93
- "left",
94
- "maxHeight",
95
- "maxWidth",
96
- "minHeight",
97
- "minWidth",
98
- "overflow",
99
- "position",
100
- "right",
101
- "top",
102
- "width",
103
- "zIndex",
104
- ];
105
- const { borderStyles: extractedBorderStyles, marginStyles: extractedMarginStyles, } = extractBorderAndMarginStyles(viewStyles, additionalBorderStyles, additionalMarginStyles);
106
- const borderStyles = {
107
- ...{
108
- ...(type === "solid"
109
- ? {
110
- borderTopLeftRadius: 5,
111
- borderTopRightRadius: 5,
112
- borderBottomRightRadius: 5,
113
- borderBottomLeftRadius: 5,
114
- borderTopWidth: 1,
115
- borderRightWidth: 1,
116
- borderLeftWidth: 1,
117
- }
118
- : {}),
119
- borderBottomWidth: 1,
120
- borderColor: unstyledColor,
121
- borderStyle: "solid",
122
- },
123
- ...extractedBorderStyles,
124
- ...(error ? { borderColor: errorColor } : {}),
125
- ...(disabled
126
- ? { borderColor: "transparent", backgroundColor: disabledColor }
127
- : {}),
128
- };
129
- const marginStyles = {
130
- height: 60,
131
- ...extractedMarginStyles,
132
- };
133
- const stylesWithoutBordersAndMargins = omit(viewStyles, [
134
- ...borderStyleNames,
135
- ...marginStyleNames,
136
- ...additionalBorderStyles,
137
- ...additionalMarginStyles,
138
- ]);
139
- const selectedLabel = internalValue &&
140
- ((_b = (_a = pickerOptions.find((option) => option.value === internalValue)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : internalValue);
141
- const labelText = label ? (React.createElement(Text, { style: {
142
- textAlign: textStyles.textAlign,
143
- color: unstyledColor,
144
- fontSize: 12,
145
- paddingBottom: 4,
146
- } }, label)) : null;
147
- const leftIconOutset = leftIconMode === "outset";
148
- const leftIcon = leftIconName ? (React.createElement(Icon, { name: leftIconName, color: disabled ? unstyledColor : iconColor, size: iconSize, style: {
149
- marginRight: 4,
150
- marginLeft: 4,
151
- } })) : null;
152
- const rightIcon = rightIconName ? (React.createElement(Icon, { name: rightIconName, color: disabled ? unstyledColor : iconColor, size: iconSize, style: {
153
- marginRight: -10,
154
- marginLeft: 8,
155
- } })) : null;
156
- const textAlign = textStyles === null || textStyles === void 0 ? void 0 : textStyles.textAlign;
157
- const calculateLeftPadding = () => {
158
- if (leftIconOutset) {
159
- if (textAlign === "center") {
160
- return iconSize - Math.abs(8 - iconSize);
161
- }
162
- return iconSize + 8;
163
- }
164
- return 0;
165
- };
166
- const assistiveTextLabel = assistiveText ? (React.createElement(Text, { style: {
167
- textAlign,
168
- width: "100%",
169
- paddingLeft: calculateLeftPadding(),
170
- color: unstyledColor,
171
- fontSize: 12,
172
- paddingTop: 4,
173
- } }, assistiveText)) : null;
174
- const primaryTextStyle = {
175
- color: unstyledColor,
176
- fontSize: 14,
177
- ...pickBy(textStyles, identity),
178
- ...(placeholder === internalValue ? { color: placeholderTextColor } : {}),
179
- ...(disabled ? { color: unstyledColor } : {}),
180
- };
181
- const handleValueChange = (newValue, itemIndex) => {
182
- if (newValue !== "" && newValue !== placeholder) {
183
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue, itemIndex);
184
- setInternalValue(newValue);
185
- }
186
- else if (newValue === placeholder) {
187
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("", 0);
188
- setInternalValue(undefined);
189
- }
190
- };
191
- return (
192
- /* marginsContainer */
193
- React.createElement(View, { style: [styles.marginsContainer, marginStyles] },
194
- React.createElement(Touchable, { disabled: disabled, onPress: togglePickerVisible, style: styles.touchableContainer },
195
- React.createElement(View, { pointerEvents: "none", style: [
196
- styles.outsetContainer,
197
- stylesWithoutBordersAndMargins,
198
- !leftIconOutset ? borderStyles : {},
199
- ] },
200
- leftIcon,
201
- React.createElement(View, { style: [
202
- styles.insetContainer,
203
- leftIconOutset ? borderStyles : {},
204
- ] },
205
- React.createElement(View, { style: styles.primaryTextContainer },
206
- labelText,
207
- React.createElement(Text, { style: primaryTextStyle }, String(selectedLabel !== null && selectedLabel !== void 0 ? selectedLabel : placeholder))),
208
- rightIcon)),
209
- assistiveTextLabel),
210
- isIos && pickerVisible ? (React.createElement(Portal, null,
211
- React.createElement(SafeAreaView, { style: styles.iosPicker },
212
- React.createElement(View, { style: styles.iosPickerContent },
213
- React.createElement(Button, { Icon: Icon, type: "text", onPress: togglePickerVisible, style: styles.iosButton }, "Close"),
214
- React.createElement(NativePicker, { style: styles.iosNativePicker, selectedValue: internalValue, onValueChange: handleValueChange }, pickerOptions.map((option) => (React.createElement(NativePicker.Item, { label: option.label, value: option.value, key: option.value })))))))) : null,
215
- !isIos && (pickerVisible || isWeb) ? (React.createElement(NativePicker, { enabled: !disabled, selectedValue: internalValue, onValueChange: handleValueChange, style: styles.nonIosPicker, ref: androidPickerRef, onBlur: () => setPickerVisible(false) }, pickerOptions.map((option) => (React.createElement(NativePicker.Item, { label: option.label, value: option.value, key: option.value }))))) : null));
216
- };
217
- const styles = StyleSheet.create({
218
- marginsContainer: {
219
- alignSelf: "stretch",
220
- alignItems: "center",
221
- width: "100%",
222
- maxWidth: deviceWidth,
223
- },
224
- touchableContainer: {
225
- flex: 1,
226
- height: "100%",
227
- width: "100%",
228
- alignSelf: "stretch",
229
- alignItems: "center",
230
- },
231
- outsetContainer: {
232
- flex: 1,
233
- height: "100%",
234
- width: "100%",
235
- flexDirection: "row",
236
- alignItems: "center",
237
- justifyContent: "space-between",
238
- },
239
- insetContainer: {
240
- flex: 1,
241
- height: "100%",
242
- width: "100%",
243
- flexDirection: "row",
244
- alignItems: "center",
245
- justifyContent: "space-between",
246
- paddingLeft: 12,
247
- paddingRight: 12,
248
- },
249
- primaryTextContainer: {
250
- flex: 1,
251
- },
252
- iosPicker: {
253
- position: "absolute",
254
- bottom: 0,
255
- left: 0,
256
- right: 0,
257
- flexDirection: "row",
258
- justifyContent: "center",
259
- width: "100%",
260
- maxWidth: deviceWidth,
261
- maxHeight: deviceHeight,
262
- backgroundColor: "white",
263
- },
264
- iosPickerContent: {
265
- flexDirection: "column",
266
- width: "100%",
267
- maxWidth: deviceWidth,
268
- },
269
- iosButton: {
270
- alignSelf: "flex-end",
271
- },
272
- iosNativePicker: {
273
- backgroundColor: "white",
274
- },
275
- nonIosPicker: {
276
- opacity: 0,
277
- position: "absolute",
278
- top: 0,
279
- left: 0,
280
- right: 0,
281
- bottom: 0,
282
- width: "100%",
283
- maxWidth: deviceWidth,
284
- maxHeight: deviceHeight,
285
- },
286
- });
287
- export default withTheme(Picker);
288
- //# sourceMappingURL=Picker.js.map