@bigbinary/neetoui-rn 3.3.0 → 3.3.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.
@@ -38,6 +38,8 @@ export type BottomSheetProps<T> = {
38
38
  valueExtractor?: (item: T) => unknown;
39
39
  shouldShowItemSeparator?: boolean;
40
40
  shouldHideKeyboardOnScrollBegin?: boolean;
41
+ /** Opening over a focused input otherwise leaves the sheet under the keyboard. */
42
+ shouldHideKeyboardOnOpen?: boolean;
41
43
  disabled?: boolean;
42
44
  showCreateOption?: boolean;
43
45
  showCreateOptionLoader?: boolean;
@@ -64,5 +66,5 @@ export type BottomSheetProps<T> = {
64
66
  /** Escape hatch into @gorhom/bottom-sheet (replaces v2's modalParams). */
65
67
  sheetProps?: Partial<BottomSheetModalProps>;
66
68
  };
67
- export declare const BottomSheet: <T>({ isVisible, hide, data, onItemPress, selectedItem, title, contentType, onDonePress, ContentRow, children, canSearch, searchBarProps, labelExtractor, valueExtractor, shouldShowItemSeparator, shouldHideKeyboardOnScrollBegin, disabled, showCreateOption, showCreateOptionLoader, createOptionLabel, onPressCreateOption, CreateItemComponent, noResultsLabel, NoResultsComponent, onBackdropPress, maxHeight, maxHeightRatio, style, titleContainerStyle, titleTextStyle, flatListRef, sheetProps, }: BottomSheetProps<T>) => import("react").JSX.Element;
69
+ export declare const BottomSheet: <T>({ isVisible, hide, data, onItemPress, selectedItem, title, contentType, onDonePress, ContentRow, children, canSearch, searchBarProps, labelExtractor, valueExtractor, shouldShowItemSeparator, shouldHideKeyboardOnScrollBegin, shouldHideKeyboardOnOpen, disabled, showCreateOption, showCreateOptionLoader, createOptionLabel, onPressCreateOption, CreateItemComponent, noResultsLabel, NoResultsComponent, onBackdropPress, maxHeight, maxHeightRatio, style, titleContainerStyle, titleTextStyle, flatListRef, sheetProps, }: BottomSheetProps<T>) => import("react").JSX.Element;
68
70
  //# sourceMappingURL=BottomSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;IAC1C,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAmCF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,yeAiC7B,gBAAgB,CAAC,CAAC,CAAC,gCAsSrB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui-rn",
3
- "version": "3.3.0",
3
+ "version": "3.3.2",
4
4
  "description": "neeto UI component library for React Native — v3 (Unistyles, TypeScript, New Architecture)",
5
5
  "author": "BigBinary",
6
6
  "license": "MIT",
@@ -69,6 +69,8 @@ export type BottomSheetProps<T> = {
69
69
  valueExtractor?: (item: T) => unknown;
70
70
  shouldShowItemSeparator?: boolean;
71
71
  shouldHideKeyboardOnScrollBegin?: boolean;
72
+ /** Opening over a focused input otherwise leaves the sheet under the keyboard. */
73
+ shouldHideKeyboardOnOpen?: boolean;
72
74
  disabled?: boolean;
73
75
  showCreateOption?: boolean;
74
76
  showCreateOptionLoader?: boolean;
@@ -144,6 +146,7 @@ export const BottomSheet = <T,>({
144
146
  valueExtractor,
145
147
  shouldShowItemSeparator = true,
146
148
  shouldHideKeyboardOnScrollBegin = true,
149
+ shouldHideKeyboardOnOpen = true,
147
150
  disabled = false,
148
151
  showCreateOption = false,
149
152
  showCreateOptionLoader = false,
@@ -168,12 +171,15 @@ export const BottomSheet = <T,>({
168
171
 
169
172
  const isVisibleRef = useRef(isVisible);
170
173
  isVisibleRef.current = isVisible;
174
+ const shouldHideKeyboardOnOpenRef = useRef(shouldHideKeyboardOnOpen);
175
+ shouldHideKeyboardOnOpenRef.current = shouldHideKeyboardOnOpen;
171
176
  // Tracks whether the underlying modal is still presented, so the effect
172
177
  // below never dismisses a sheet gorhom has already torn down.
173
178
  const isPresentedRef = useRef(false);
174
179
 
175
180
  useEffect(() => {
176
181
  if (isVisible) {
182
+ if (shouldHideKeyboardOnOpenRef.current) Keyboard.dismiss();
177
183
  isPresentedRef.current = true;
178
184
  sheetRef.current?.present();
179
185
  } else if (isPresentedRef.current) {