@ornikar/kitt-universal 23.3.0 → 23.4.0

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 (36) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/definitions/BottomSheet/useStaticBottomSheet.d.ts +3 -3
  3. package/dist/definitions/BottomSheet/useStaticBottomSheet.d.ts.map +1 -1
  4. package/dist/definitions/forms/DocumentPicker/DocumentPicker.d.ts +15 -0
  5. package/dist/definitions/forms/DocumentPicker/DocumentPicker.d.ts.map +1 -0
  6. package/dist/definitions/forms/FilePicker/BottomSheetActions/BottomSheetActions.d.ts +13 -0
  7. package/dist/definitions/forms/FilePicker/BottomSheetActions/BottomSheetActions.d.ts.map +1 -0
  8. package/dist/definitions/forms/FilePicker/BottomSheetActions/BottomSheetActionsItem.d.ts +7 -0
  9. package/dist/definitions/forms/FilePicker/BottomSheetActions/BottomSheetActionsItem.d.ts.map +1 -0
  10. package/dist/definitions/forms/FilePicker/FilePicker.d.ts +17 -0
  11. package/dist/definitions/forms/FilePicker/FilePicker.d.ts.map +1 -0
  12. package/dist/definitions/forms/FilePicker/FilePicker.web.d.ts +4 -0
  13. package/dist/definitions/forms/FilePicker/FilePicker.web.d.ts.map +1 -0
  14. package/dist/definitions/forms/ImagePicker/ImagePicker.d.ts +15 -0
  15. package/dist/definitions/forms/ImagePicker/ImagePicker.d.ts.map +1 -0
  16. package/dist/definitions/index.d.ts +7 -2
  17. package/dist/definitions/index.d.ts.map +1 -1
  18. package/dist/index-metro.es.android.js +311 -164
  19. package/dist/index-metro.es.android.js.map +1 -1
  20. package/dist/index-metro.es.ios.js +311 -164
  21. package/dist/index-metro.es.ios.js.map +1 -1
  22. package/dist/index-node-20.10.cjs.js +231 -83
  23. package/dist/index-node-20.10.cjs.js.map +1 -1
  24. package/dist/index-node-20.10.cjs.web.js +62 -0
  25. package/dist/index-node-20.10.cjs.web.js.map +1 -1
  26. package/dist/index-node-20.10.es.mjs +231 -86
  27. package/dist/index-node-20.10.es.mjs.map +1 -1
  28. package/dist/index-node-20.10.es.web.mjs +60 -1
  29. package/dist/index-node-20.10.es.web.mjs.map +1 -1
  30. package/dist/index.es.js +343 -158
  31. package/dist/index.es.js.map +1 -1
  32. package/dist/index.es.web.js +104 -1
  33. package/dist/index.es.web.js.map +1 -1
  34. package/dist/tsbuildinfo +1 -1
  35. package/package.json +4 -1
  36. package/translations/fr-FR.json +2 -0
@@ -12,6 +12,8 @@ const reactNative = require('react-native');
12
12
  const twemojiParser = require('twemoji-parser');
13
13
  const phosphor = require('@ornikar/kitt-icons/phosphor');
14
14
  const Downshift = require('downshift');
15
+ const expoDocumentPicker = require('expo-document-picker');
16
+ const expoImagePicker = require('expo-image-picker');
15
17
  const useDebounce = require('use-debounce');
16
18
  const jsApiLoader = require('@googlemaps/js-api-loader');
17
19
  const libphonenumberJs = require('libphonenumber-js');
@@ -4748,6 +4750,63 @@ const DatePicker = /*#__PURE__*/react.forwardRef(({
4748
4750
  });
4749
4751
  });
4750
4752
 
4753
+ function DocumentPicker({
4754
+ onDocumentUpload,
4755
+ children,
4756
+ disabled,
4757
+ documentPickerOptions
4758
+ }) {
4759
+ const childElement = react.Children.only(children);
4760
+ return /*#__PURE__*/react.cloneElement(childElement, {
4761
+ // ensure that the press event is not prevented by Button component
4762
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
4763
+ onPress: async () => {
4764
+ if (disabled) return;
4765
+ childElement.props.onPress?.();
4766
+ const result = await expoDocumentPicker.getDocumentAsync({
4767
+ ...documentPickerOptions,
4768
+ multiple: false
4769
+ });
4770
+ if (!result.canceled && result.assets[0].file) {
4771
+ onDocumentUpload(result.assets[0].file);
4772
+ }
4773
+ },
4774
+ disabled
4775
+ });
4776
+ }
4777
+
4778
+ function FilePicker() {
4779
+ throw new Error('FilePicker only works on native');
4780
+ }
4781
+
4782
+ function ImagePicker({
4783
+ onImageSelected,
4784
+ children,
4785
+ disabled,
4786
+ imagePickerOptions
4787
+ }) {
4788
+ const childElement = react.Children.only(children);
4789
+ return /*#__PURE__*/jsxRuntime.jsx(View, {
4790
+ children: /*#__PURE__*/react.cloneElement(childElement, {
4791
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
4792
+ onPress: async () => {
4793
+ if (disabled) return;
4794
+ childElement.props.onPress?.();
4795
+
4796
+ // No permissions request is necessary for launching the image library
4797
+ const result = await expoImagePicker.launchImageLibraryAsync({
4798
+ ...imagePickerOptions,
4799
+ allowsMultipleSelection: false
4800
+ });
4801
+ if (!result.canceled) {
4802
+ onImageSelected(result.assets[0]);
4803
+ }
4804
+ },
4805
+ disabled
4806
+ })
4807
+ });
4808
+ }
4809
+
4751
4810
  const GoogleMapsApiKeyContext = /*#__PURE__*/react.createContext(undefined);
4752
4811
  function GoogleMapsApiKeyProvider({
4753
4812
  children,
@@ -10574,9 +10633,11 @@ exports.ChoicesElements = ChoicesElements;
10574
10633
  exports.CloseIconButton = CloseIconButton;
10575
10634
  exports.DatePicker = DatePicker;
10576
10635
  exports.DialogModal = DialogModal;
10636
+ exports.DocumentPicker = DocumentPicker;
10577
10637
  exports.Emoji = Emoji;
10578
10638
  exports.ExternalAppLink = ExternalAppLink;
10579
10639
  exports.ExternalLink = ExternalLink;
10640
+ exports.FilePicker = FilePicker;
10580
10641
  exports.FlatList = FlatList;
10581
10642
  exports.Flex = Flex;
10582
10643
  exports.FullscreenModal = FullscreenModal;
@@ -10587,6 +10648,7 @@ exports.Highlight = Highlight;
10587
10648
  exports.Icon = Icon;
10588
10649
  exports.IconButton = IconButton;
10589
10650
  exports.Image = Image;
10651
+ exports.ImagePicker = ImagePicker;
10590
10652
  exports.InputAddress = InputAddress;
10591
10653
  exports.InputEmail = InputEmail;
10592
10654
  exports.InputFeedback = InputFeedback;