@neko-os/ui 0.5.4 → 0.6.1

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 (135) hide show
  1. package/dist/NekoUI.js +12 -9
  2. package/dist/abstractions/WindowOverlay.js +3 -0
  3. package/dist/abstractions/WindowOverlay.native.js +21 -0
  4. package/dist/abstractions/helpers/storage.js +14 -4
  5. package/dist/abstractions/helpers/storage.native.js +9 -1
  6. package/dist/components/feedback/notifications/NotificationsHandler.js +10 -6
  7. package/dist/components/index.js +3 -1
  8. package/dist/components/inputs/DateInput.js +10 -6
  9. package/dist/components/inputs/InputWrapper.js +2 -3
  10. package/dist/components/inputs/NumberWheelInput.js +50 -0
  11. package/dist/components/inputs/NumberWheelPicker.js +43 -0
  12. package/dist/components/inputs/UploadInput.js +4 -4
  13. package/dist/components/inputs/WheelPicker.js +49 -0
  14. package/dist/components/inputs/WheelPicker.native.js +88 -0
  15. package/dist/components/inputs/WheelPicker.web.js +1 -0
  16. package/dist/components/inputs/dateWheelPicker/DateWheelPicker.js +24 -0
  17. package/dist/components/inputs/dateWheelPicker/DayWheelPicker.js +48 -0
  18. package/dist/components/inputs/dateWheelPicker/MonthWheelPicker.js +19 -0
  19. package/dist/components/inputs/dateWheelPicker/QuarterWheelPicker.js +61 -0
  20. package/dist/components/inputs/dateWheelPicker/WeekWheelPicker.js +66 -0
  21. package/dist/components/inputs/dateWheelPicker/YearWheelPicker.js +35 -0
  22. package/dist/components/inputs/index.js +5 -1
  23. package/dist/components/inputs/upload/Upload.native.js +60 -52
  24. package/dist/components/inputs/upload/useUploadState.js +11 -3
  25. package/dist/components/measurements/FeetInchesInput.js +91 -0
  26. package/dist/components/measurements/LengthInput.js +32 -0
  27. package/dist/components/measurements/LengthText.js +10 -0
  28. package/dist/components/measurements/MeasurementHandler.js +26 -0
  29. package/dist/components/measurements/WeightInput.js +25 -0
  30. package/dist/components/measurements/WeightText.js +10 -0
  31. package/dist/components/measurements/helpers/detectMeasurementSystem.js +15 -0
  32. package/dist/components/measurements/helpers/detectMeasurementSystem.native.js +9 -0
  33. package/dist/components/measurements/helpers/index.js +2 -0
  34. package/dist/components/measurements/helpers/length.js +112 -0
  35. package/dist/components/measurements/helpers/weight.js +56 -0
  36. package/dist/components/measurements/index.js +9 -0
  37. package/dist/components/measurements/useLengthFormatter.js +35 -0
  38. package/dist/components/measurements/useLocalInputValue.js +32 -0
  39. package/dist/components/measurements/useWeightFormatter.js +29 -0
  40. package/dist/components/routing/ReturnButton.js +20 -0
  41. package/dist/components/routing/ReturnButton.native.js +20 -0
  42. package/dist/components/routing/ReturnButton.web.js +2 -0
  43. package/dist/components/routing/ReturnLink.js +25 -0
  44. package/dist/components/routing/ReturnLink.native.js +25 -0
  45. package/dist/components/routing/ReturnLink.web.js +2 -0
  46. package/dist/components/routing/RoutedStepsContent.js +21 -0
  47. package/dist/components/routing/RoutedStepsContent.native.js +94 -0
  48. package/dist/components/routing/RoutedStepsContent.web.js +3 -0
  49. package/dist/components/routing/index.js +3 -0
  50. package/dist/components/state/StatePresenter.js +1 -1
  51. package/dist/components/steps/StepsHandler.js +2 -0
  52. package/dist/components/structure/TopBar.js +18 -16
  53. package/dist/components/theme/ThemePickerDrawer.js +1 -1
  54. package/dist/helpers/compress.js +61 -0
  55. package/dist/helpers/compress.native.js +49 -0
  56. package/dist/helpers/files.js +7 -0
  57. package/dist/helpers/files.native.js +55 -0
  58. package/dist/helpers/index.js +6 -1
  59. package/dist/helpers/media.js +4 -0
  60. package/dist/helpers/media.native.js +41 -0
  61. package/dist/helpers/numbers.js +13 -0
  62. package/dist/helpers/pickAssets.js +7 -0
  63. package/dist/helpers/pickAssets.native.js +66 -0
  64. package/dist/helpers/storage.js +17 -0
  65. package/dist/i18n/I18n.js +4 -4
  66. package/dist/index.js +1 -1
  67. package/dist/responsive/responsiveHooks.js +17 -0
  68. package/package.json +2 -14
  69. package/src/NekoUI.js +16 -13
  70. package/src/abstractions/WindowOverlay.js +3 -0
  71. package/src/abstractions/WindowOverlay.native.js +21 -0
  72. package/src/abstractions/helpers/storage.js +13 -3
  73. package/src/abstractions/helpers/storage.native.js +8 -0
  74. package/src/components/feedback/notifications/NotificationsHandler.js +12 -8
  75. package/src/components/index.js +2 -0
  76. package/src/components/inputs/DateInput.js +8 -4
  77. package/src/components/inputs/InputWrapper.js +1 -2
  78. package/src/components/inputs/NumberWheelInput.js +50 -0
  79. package/src/components/inputs/NumberWheelPicker.js +43 -0
  80. package/src/components/inputs/UploadInput.js +2 -2
  81. package/src/components/inputs/WheelPicker.js +49 -0
  82. package/src/components/inputs/WheelPicker.native.js +88 -0
  83. package/src/components/inputs/WheelPicker.web.js +1 -0
  84. package/src/components/inputs/dateWheelPicker/DateWheelPicker.js +24 -0
  85. package/src/components/inputs/dateWheelPicker/DayWheelPicker.js +48 -0
  86. package/src/components/inputs/dateWheelPicker/MonthWheelPicker.js +19 -0
  87. package/src/components/inputs/dateWheelPicker/QuarterWheelPicker.js +61 -0
  88. package/src/components/inputs/dateWheelPicker/WeekWheelPicker.js +66 -0
  89. package/src/components/inputs/dateWheelPicker/YearWheelPicker.js +35 -0
  90. package/src/components/inputs/index.js +4 -0
  91. package/src/components/inputs/upload/Upload.native.js +58 -50
  92. package/src/components/inputs/upload/useUploadState.js +11 -3
  93. package/src/components/measurements/FeetInchesInput.js +91 -0
  94. package/src/components/measurements/LengthInput.js +32 -0
  95. package/src/components/measurements/LengthText.js +10 -0
  96. package/src/components/measurements/MeasurementHandler.js +26 -0
  97. package/src/components/measurements/WeightInput.js +25 -0
  98. package/src/components/measurements/WeightText.js +10 -0
  99. package/src/components/measurements/helpers/detectMeasurementSystem.js +15 -0
  100. package/src/components/measurements/helpers/detectMeasurementSystem.native.js +9 -0
  101. package/src/components/measurements/helpers/index.js +2 -0
  102. package/src/components/measurements/helpers/length.js +112 -0
  103. package/src/components/measurements/helpers/weight.js +56 -0
  104. package/src/components/measurements/index.js +9 -0
  105. package/src/components/measurements/useLengthFormatter.js +35 -0
  106. package/src/components/measurements/useLocalInputValue.js +32 -0
  107. package/src/components/measurements/useWeightFormatter.js +29 -0
  108. package/src/components/routing/ReturnButton.js +20 -0
  109. package/src/components/routing/ReturnButton.native.js +20 -0
  110. package/src/components/routing/ReturnButton.web.js +2 -0
  111. package/src/components/routing/ReturnLink.js +25 -0
  112. package/src/components/routing/ReturnLink.native.js +25 -0
  113. package/src/components/routing/ReturnLink.web.js +2 -0
  114. package/src/components/routing/RoutedStepsContent.js +21 -0
  115. package/src/components/routing/RoutedStepsContent.native.js +94 -0
  116. package/src/components/routing/RoutedStepsContent.web.js +3 -0
  117. package/src/components/routing/index.js +3 -0
  118. package/src/components/state/StatePresenter.js +1 -1
  119. package/src/components/steps/StepsHandler.js +2 -0
  120. package/src/components/structure/TopBar.js +16 -14
  121. package/src/components/theme/ThemePickerDrawer.js +1 -1
  122. package/src/helpers/compress.js +61 -0
  123. package/src/helpers/compress.native.js +49 -0
  124. package/src/helpers/files.js +7 -0
  125. package/src/helpers/files.native.js +55 -0
  126. package/src/helpers/index.js +6 -1
  127. package/src/helpers/media.js +4 -0
  128. package/src/helpers/media.native.js +41 -0
  129. package/src/helpers/numbers.js +13 -0
  130. package/src/helpers/pickAssets.js +7 -0
  131. package/src/helpers/pickAssets.native.js +66 -0
  132. package/src/helpers/storage.js +17 -0
  133. package/src/i18n/I18n.js +2 -2
  134. package/src/index.js +1 -1
  135. package/src/responsive/responsiveHooks.js +17 -0
package/dist/NekoUI.js CHANGED
@@ -1,6 +1,7 @@
1
- var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/NekoUI.js";var _excluded = ["children", "i18n"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { initFirstDayOfWeek } from "./helpers/weekStartSetup";
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/NekoUI.js";var _excluded = ["children", "i18n", "measurementSystem"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { initFirstDayOfWeek } from "./helpers/weekStartSetup";
2
2
  import { DynamicStyleTag } from "./DynamicStyleTag";
3
3
  import { I18nProvider } from "./i18n";
4
+ import { MeasurementHandler } from "./components/measurements/MeasurementHandler";
4
5
  import { ModalsHandler } from "./components/modals/modal/handler/ModalsHandler";
5
6
  import { NotificationsHandler } from "./components/feedback/notifications/NotificationsHandler";
6
7
  import { OverlayHandler } from "./components/structure/overlay/OverlayHandler";
@@ -12,18 +13,20 @@ import { useThemeHandler } from "./theme";import { jsx as _jsx, jsxs as _jsxs }
12
13
 
13
14
  initFirstDayOfWeek();
14
15
 
15
- export function NekoUI(_ref) {var children = _ref.children,i18n = _ref.i18n,props = _objectWithoutProperties(_ref, _excluded);
16
+ export function NekoUI(_ref) {var children = _ref.children,i18n = _ref.i18n,measurementSystem = _ref.measurementSystem,props = _objectWithoutProperties(_ref, _excluded);
16
17
  return (
17
18
  _jsxs(ThemeHandler, Object.assign({}, props, { children: [
18
19
  _jsx(DynamicStyleTag, {}),
19
20
  _jsx(ResponsiveHandler, { children:
20
- _jsx(PortalHandler, { children:
21
- _jsx(ModalsHandler, { children:
22
- _jsx(I18nProvider, { i18n: i18n, children:
23
- _jsx(NotificationsHandler, { children:
24
- _jsxs(OverlayHandler, { children: [
25
- children,
26
- _jsx(FixedComponents, {})] }
21
+ _jsx(MeasurementHandler, { measurementSystem: measurementSystem, children:
22
+ _jsx(PortalHandler, { children:
23
+ _jsx(ModalsHandler, { children:
24
+ _jsx(I18nProvider, { i18n: i18n, children:
25
+ _jsx(NotificationsHandler, { children:
26
+ _jsxs(OverlayHandler, { children: [
27
+ children,
28
+ _jsx(FixedComponents, {})] }
29
+ ) }
27
30
  ) }
28
31
  ) }
29
32
  ) }
@@ -0,0 +1,3 @@
1
+ export function AbsWindowOverlay(_ref) {var children = _ref.children;
2
+ return children;
3
+ }
@@ -0,0 +1,21 @@
1
+ var _this = this,_jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/WindowOverlay.native.js";import { Platform } from "react-native-web";import { jsx as _jsx } from "react/jsx-runtime";
2
+
3
+ var AbsWindowOverlay = function AbsWindowOverlay(_ref) {var children = _ref.children;return children;};
4
+
5
+
6
+
7
+
8
+
9
+
10
+ if (Platform.OS === 'ios') {
11
+ try {
12
+ var _ref2 = require('react-native-screens') || {},FullWindowOverlay = _ref2.FullWindowOverlay;
13
+ if (FullWindowOverlay) {
14
+ AbsWindowOverlay = function AbsWindowOverlay(_ref3) {var children = _ref3.children;return _jsx(FullWindowOverlay, { children: children });};
15
+ }
16
+ } catch (_unused) {
17
+ console.warn('react-native-screens not installed. Notifications may render behind native iOS modals.');
18
+ }
19
+ }
20
+
21
+ export { AbsWindowOverlay };
@@ -3,7 +3,7 @@ function set(key, value) {
3
3
  }
4
4
 
5
5
  function setAsync(key, value) {
6
- return Promise.resulve(set(key, value));
6
+ return Promise.resolve(set(key, value));
7
7
  }
8
8
 
9
9
  function get(key) {
@@ -11,7 +11,7 @@ function get(key) {
11
11
  }
12
12
 
13
13
  function getAsync(key) {
14
- return Promise.resulve(get(key));
14
+ return Promise.resolve(get(key));
15
15
  }
16
16
 
17
17
  function remove(key) {
@@ -19,7 +19,15 @@ function remove(key) {
19
19
  }
20
20
 
21
21
  function removeAsync(key) {
22
- return Promise.resulve(remove(key));
22
+ return Promise.resolve(remove(key));
23
+ }
24
+
25
+ function clear() {
26
+ return localStorage.clear();
27
+ }
28
+
29
+ function clearAsync() {
30
+ return Promise.resolve(clear());
23
31
  }
24
32
 
25
33
  export var AbsStorage = {
@@ -28,5 +36,7 @@ export var AbsStorage = {
28
36
  get: get,
29
37
  getAsync: getAsync,
30
38
  remove: remove,
31
- removeAsync: removeAsync
39
+ removeAsync: removeAsync,
40
+ clear: clear,
41
+ clearAsync: clearAsync
32
42
  };
@@ -7,6 +7,9 @@ var getAsync = function getAsync() {return Promise.resolve(get());};
7
7
  var remove = function remove() {return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};
8
8
  var removeAsync = function removeAsync() {return Promise.resolve(remove());};
9
9
 
10
+ var clear = function clear() {return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};
11
+ var clearAsync = function clearAsync() {return Promise.resolve(clear());};
12
+
10
13
  try {
11
14
  var StorageModule = require('expo-sqlite/kv-store');
12
15
  if (StorageModule != null && StorageModule.default) {
@@ -19,6 +22,9 @@ try {
19
22
 
20
23
  remove = Storage.removeItemSync.bind(Storage);
21
24
  removeAsync = Storage.removeItem.bind(Storage);
25
+
26
+ clear = Storage.clearSync.bind(Storage);
27
+ clearAsync = Storage.clearAsync.bind(Storage);
22
28
  }
23
29
  } catch (e) {
24
30
  console.log('expo-sqlite not available:', e);
@@ -30,5 +36,7 @@ export var AbsStorage = {
30
36
  get: get,
31
37
  getAsync: getAsync,
32
38
  remove: remove,
33
- removeAsync: removeAsync
39
+ removeAsync: removeAsync,
40
+ clear: clear,
41
+ clearAsync: clearAsync
34
42
  };
@@ -1,10 +1,11 @@
1
1
  var _excluded = ["key"];var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/feedback/notifications/NotificationsHandler.js";function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}function _toConsumableArray(r) {return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r) {if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);}function _arrayWithoutHoles(r) {if (Array.isArray(r)) return _arrayLikeToArray(r);}function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}import { is } from 'ramda';
2
2
  import React from 'react';
3
3
 
4
+ import { AbsWindowOverlay } from "../../../abstractions/WindowOverlay";
4
5
  import { Notification } from "./Notification";
5
- import { SafeAreaView } from "../../structure/SafeAreaView";
6
6
  import { View } from "../../structure/View";
7
- import { useResponsiveValue } from "../../../responsive/responsiveHooks";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { useResponsiveValue } from "../../../responsive/responsiveHooks";
8
+ import { useSafeAreaInsets } from "../../../abstractions/helpers/useSafeAreaInsets";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
 
9
10
  var NotificationsContext = React.createContext(null);
10
11
 
@@ -35,6 +36,7 @@ export function useNotifier() {
35
36
 
36
37
  export function NotificationsHandler(_ref) {var _this = this;var children = _ref.children;
37
38
  var width = useResponsiveValue({ sm: '100%', df: 400 });
39
+ var insets = useSafeAreaInsets();
38
40
  var _React$useState = React.useState([]),_React$useState2 = _slicedToArray(_React$useState, 2),messages = _React$useState2[0],setMessages = _React$useState2[1];
39
41
 
40
42
  var add = React.useCallback(function (key, data) {
@@ -52,10 +54,12 @@ export function NotificationsHandler(_ref) {var _this = this;var children = _ref
52
54
  children,
53
55
 
54
56
  !!messages.length &&
55
- _jsx(View, { fixed: true, top: 0, right: 0, padding: "md", width: width, maxWidth: "100%", pointerEvents: "box-none", zIndex: 600, children:
56
- _jsx(SafeAreaView, { gap: "xs", children:
57
- messages.map(function (_ref2) {var key = _ref2.key,item = _objectWithoutProperties(_ref2, _excluded);return (
58
- _jsx(Notification, Object.assign({}, item), key));}
57
+ _jsx(AbsWindowOverlay, { children:
58
+ _jsx(View, { fixed: true, top: 0, right: 0, padding: "md", width: width, maxWidth: "100%", pointerEvents: "box-none", zIndex: 600, children:
59
+ _jsx(View, { paddingT: insets.top, paddingR: insets.right, gap: "xs", pointerEvents: "box-none", children:
60
+ messages.map(function (_ref2) {var key = _ref2.key,item = _objectWithoutProperties(_ref2, _excluded);return (
61
+ _jsx(Notification, Object.assign({}, item), key));}
62
+ ) }
59
63
  ) }
60
64
  ) }
61
65
  )] }
@@ -19,4 +19,6 @@ export * from "./theme";
19
19
  export * from "./sections";
20
20
  export * from "./filter";
21
21
  export * from "./steps";
22
- export * from "./carousel";
22
+ export * from "./routing";
23
+ export * from "./carousel";
24
+ export * from "./measurements";
@@ -1,4 +1,4 @@
1
- var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/DateInput.js";var _excluded = ["ref"],_excluded2 = ["value", "onChange", "min", "max", "onCheckDisabled", "placement", "type", "format", "startsOpen", "allowClear", "useBottomDrawer"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/DateInput.js";var _excluded = ["ref"],_excluded2 = ["value", "onChange", "min", "max", "onCheckDisabled", "placement", "type", "presentation", "format", "startsOpen", "allowClear", "useBottomDrawer"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
2
  import advancedFormat from 'dayjs/esm/plugin/advancedFormat';
3
3
  import dayjs from 'dayjs';
4
4
  import weekOfYear from 'dayjs/esm/plugin/weekOfYear';
@@ -11,6 +11,7 @@ dayjs.extend(advancedFormat);
11
11
  dayjs.extend(weekOfYear);
12
12
 
13
13
  import { DatePicker } from "./datePicker/DatePicker";
14
+ import { DateWheelPicker } from "./dateWheelPicker/DateWheelPicker";
14
15
  import { MaskInput } from "./MaskInput";
15
16
  import { Popover } from "../structure/popover/Popover";
16
17
  import { isValidDate } from "../calendar/_helpers/dateDisabled";import { jsx as _jsx } from "react/jsx-runtime";
@@ -51,7 +52,8 @@ export function DateInput(_ref2)
51
52
 
52
53
 
53
54
 
54
- {var _value,_this = this;var value = _ref2.value,onChange = _ref2.onChange,min = _ref2.min,max = _ref2.max,onCheckDisabled = _ref2.onCheckDisabled,placement = _ref2.placement,_ref2$type = _ref2.type,type = _ref2$type === void 0 ? 'day' : _ref2$type,format = _ref2.format,startsOpen = _ref2.startsOpen,allowClear = _ref2.allowClear,_ref2$useBottomDrawer = _ref2.useBottomDrawer,useBottomDrawer = _ref2$useBottomDrawer === void 0 ? { native: true, sm: true, md: true } : _ref2$useBottomDrawer,props = _objectWithoutProperties(_ref2, _excluded2);
55
+
56
+ {var _value,_this = this;var value = _ref2.value,onChange = _ref2.onChange,min = _ref2.min,max = _ref2.max,onCheckDisabled = _ref2.onCheckDisabled,placement = _ref2.placement,_ref2$type = _ref2.type,type = _ref2$type === void 0 ? 'day' : _ref2$type,_ref2$presentation = _ref2.presentation,presentation = _ref2$presentation === void 0 ? 'calendar' : _ref2$presentation,format = _ref2.format,startsOpen = _ref2.startsOpen,allowClear = _ref2.allowClear,_ref2$useBottomDrawer = _ref2.useBottomDrawer,useBottomDrawer = _ref2$useBottomDrawer === void 0 ? { native: true, sm: true, md: true } : _ref2$useBottomDrawer,props = _objectWithoutProperties(_ref2, _excluded2);
55
57
  useBottomDrawer = useResponsiveValue(useBottomDrawer);
56
58
  format = format || getDateInputDefaultFormat(type);
57
59
  if (value === '') value = undefined;
@@ -85,26 +87,28 @@ export function DateInput(_ref2)
85
87
  setInputValue(!!value ? dayjs(value).format(format) : '');
86
88
  }, [value]);
87
89
 
90
+ var isWheel = presentation === 'wheel';
88
91
  var Input = useBottomDrawer ? LinkInput : FullWidthInputWrapper;
92
+ var Picker = isWheel ? DateWheelPicker : DatePicker;
89
93
 
90
94
  return (
91
95
  _jsx(Popover, {
92
96
  trigger: "click",
93
97
  startsOpen: startsOpen,
94
98
  placement: placement || 'bottomLeft',
95
- snapPoints: [450],
99
+ snapPoints: [isWheel ? 275 : 450],
96
100
  useBottomDrawer: useBottomDrawer,
97
101
  bottomDrawerProps: { contentProps: { padding: 'md' } },
98
102
  watch: [(_value = value) == null ? void 0 : _value.format == null ? void 0 : _value.format('YYYYMMDD')],
99
103
  renderContent: function renderContent(_ref3) {var onClose = _ref3.onClose;return (
100
104
  _jsx(View, { flex: true, centerH: true, onMouseDown: function onMouseDown(e) {return e.preventDefault();}, children:
101
- _jsx(DatePicker, Object.assign({
105
+ _jsx(Picker, Object.assign({
102
106
  value: value,
103
107
  onChange: function onChange(v) {
104
108
  handleChange(v);
105
- onClose();
109
+ if (!isWheel) onClose();
106
110
  },
107
- width: useBottomDrawer ? '100%' : 275,
111
+ width: !isWheel && (useBottomDrawer ? '100%' : 275),
108
112
  allowClear: allowClear },
109
113
  validations, {
110
114
  type: type })
@@ -13,10 +13,9 @@ var DEFAULT_PROPS = function DEFAULT_PROPS(_ref) {var _ref2 = _slicedToArray(_re
13
13
  paddingH: 'sm',
14
14
  bg: 'overlayBG',
15
15
  border: true,
16
- br: 'md',
16
+ br: sizeCode,
17
17
  row: true,
18
- gap: 'sm',
19
- br: sizeCode
18
+ gap: 'sm'
20
19
  };};
21
20
 
22
21
  export function InputWrapper(_ref3)
@@ -0,0 +1,50 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/NumberWheelInput.js";var _excluded = ["value", "onChange", "min", "max", "step", "decimalStep", "useInt", "precision", "suffix"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
+
3
+ import { BottomDrawer } from "../modals/bottomDrawer";
4
+ import { LinkInput } from "./LinkInput";
5
+ import { NumberWheelPicker } from "./NumberWheelPicker";
6
+ import { View } from "../structure/View";import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+
8
+ export function NumberWheelInput(_ref)
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ {var _value;var value = _ref.value,onChange = _ref.onChange,min = _ref.min,max = _ref.max,step = _ref.step,decimalStep = _ref.decimalStep,useInt = _ref.useInt,precision = _ref.precision,suffix = _ref.suffix,props = _objectWithoutProperties(_ref, _excluded);
20
+ var _React$useState = React.useState(false),_React$useState2 = _slicedToArray(_React$useState, 2),open = _React$useState2[0],setOpen = _React$useState2[1];
21
+ var _React$useState3 = React.useState(value),_React$useState4 = _slicedToArray(_React$useState3, 2),localValue = _React$useState4[0],setLocalValue = _React$useState4[1];
22
+ value = (_value = value) != null ? _value : localValue;
23
+
24
+ var handleChange = function handleChange(v) {
25
+ setLocalValue(v);
26
+ onChange == null ? void 0 : onChange(v);
27
+ };
28
+
29
+ var displayValue = value != null ? `${value}${suffix ? ` ${suffix}` : ''}` : '';
30
+
31
+ return (
32
+ _jsxs(_Fragment, { children: [
33
+ _jsx(LinkInput, Object.assign({ value: displayValue, onPress: function onPress() {return setOpen(true);} }, props)),
34
+ _jsx(BottomDrawer, { open: open, onClose: function onClose() {return setOpen(false);}, snapPoints: [275], contentProps: { padding: 'md' }, children:
35
+ _jsx(View, { flex: true, centerH: true, children:
36
+ _jsx(NumberWheelPicker, {
37
+ value: value,
38
+ onChange: handleChange,
39
+ min: min,
40
+ max: max,
41
+ step: step,
42
+ decimalStep: decimalStep,
43
+ useInt: useInt,
44
+ precision: precision }
45
+ ) }
46
+ ) }
47
+ )] }
48
+ ));
49
+
50
+ }
@@ -0,0 +1,43 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/NumberWheelPicker.js";import { Text } from "../text";
2
+ import { View } from "../structure";
3
+ import { WheelPicker } from "./WheelPicker";import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
4
+
5
+ export function NumberWheelPicker(_ref) {var value = _ref.value,onChange = _ref.onChange,_ref$min = _ref.min,min = _ref$min === void 0 ? 0 : _ref$min,_ref$max = _ref.max,max = _ref$max === void 0 ? 100 : _ref$max,_ref$step = _ref.step,step = _ref$step === void 0 ? 1 : _ref$step,_ref$decimalStep = _ref.decimalStep,decimalStep = _ref$decimalStep === void 0 ? 1 : _ref$decimalStep,useInt = _ref.useInt,_ref$precision = _ref.precision,precision = _ref$precision === void 0 ? 2 : _ref$precision;
6
+ if (useInt) precision = 0;
7
+
8
+ var intValue = value != null ? Math.trunc(value) : min;
9
+ var decFactor = Math.pow(10, precision);
10
+ var decValue = value != null ? Math.round((Math.abs(value) - Math.abs(intValue)) * decFactor) : 0;
11
+
12
+ var handleIntChange = function handleIntChange(v) {
13
+ onChange == null ? void 0 : onChange(precision === 0 ? v : v + decValue / decFactor);
14
+ };
15
+
16
+ var handleDecChange = function handleDecChange(v) {
17
+ onChange == null ? void 0 : onChange(intValue + v / decFactor);
18
+ };
19
+
20
+ return (
21
+ _jsxs(View, { row: true, gap: "xs", centerV: true, children: [
22
+ _jsx(View, { flex: true, children:
23
+ _jsx(WheelPicker, { range: [min, max], step: step, value: intValue, onChange: handleIntChange }) }
24
+ ),
25
+ precision > 0 &&
26
+ _jsxs(_Fragment, { children: [
27
+ _jsx(Text, { h3: true, strong: true, children: "." }
28
+
29
+ ),
30
+ _jsx(View, { flex: true, children:
31
+ _jsx(WheelPicker, {
32
+ range: [0, decFactor - 1],
33
+ step: decimalStep,
34
+ value: decValue,
35
+ onChange: handleDecChange,
36
+ formatLabel: function formatLabel(v) {return String(v).padStart(precision, '0');} }
37
+ ) }
38
+ )] }
39
+ )] }
40
+
41
+ ));
42
+
43
+ }
@@ -110,8 +110,8 @@ function Content(_ref6) {var _this = this;var value = _ref6.value,open = _ref6.o
110
110
  if (grid) {
111
111
  return (
112
112
  _jsxs(View, { row: true, wrap: true, gap: "sm", children: [
113
- items.map(function (item) {return (
114
- _jsx(GridItem, { value: item, remove: remove }, item._id));}
113
+ items.map(function (item) {var _item$_id;return (
114
+ _jsx(GridItem, { value: item, remove: remove }, (_item$_id = item._id) != null ? _item$_id : item.id));}
115
115
  ),
116
116
  showAdd && _jsx(AddTile, { onPress: open, isDragging: isDragging })] }
117
117
  ));
@@ -128,8 +128,8 @@ function Content(_ref6) {var _this = this;var value = _ref6.value,open = _ref6.o
128
128
  return (
129
129
  _jsxs(View, { gap: "xs", children: [
130
130
  showAdd && link,
131
- items.map(function (item) {return (
132
- _jsx(ListItem, { value: item, remove: remove }, item._id));}
131
+ items.map(function (item) {var _item$_id2;return (
132
+ _jsx(ListItem, { value: item, remove: remove }, (_item$_id2 = item._id) != null ? _item$_id2 : item.id));}
133
133
  )] }
134
134
  ));
135
135
 
@@ -0,0 +1,49 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/WheelPicker.js";var _excluded = ["value", "onChange", "options", "suffix", "range", "step", "labelKey", "valueKey", "useRawOption", "formatLabel"];function _toConsumableArray(r) {return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r) {if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);}function _arrayWithoutHoles(r) {if (Array.isArray(r)) return _arrayLikeToArray(r);}function _defineProperty(e, r, t) {return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == typeof i ? i : i + "";}function _toPrimitive(t, r) {if ("object" != typeof t || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != typeof i) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { NumberInput } from "./NumberInput";import { jsx as _jsx } from "react/jsx-runtime";
2
+
3
+ export function WheelPicker(_ref)
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ {var value = _ref.value,onChange = _ref.onChange,options = _ref.options,suffix = _ref.suffix,range = _ref.range,_ref$step = _ref.step,step = _ref$step === void 0 ? 1 : _ref$step,_ref$labelKey = _ref.labelKey,labelKey = _ref$labelKey === void 0 ? 'label' : _ref$labelKey,_ref$valueKey = _ref.valueKey,valueKey = _ref$valueKey === void 0 ? 'value' : _ref$valueKey,useRawOption = _ref.useRawOption,formatLabel = _ref.formatLabel,props = _objectWithoutProperties(_ref, _excluded);
16
+ var min = 0;
17
+ var max = 100;
18
+
19
+ if (!!range || !options) {
20
+ var _ref2 = range || [0, 100],_ref3 = _slicedToArray(_ref2, 2),from = _ref3[0],to = _ref3[1];
21
+ var count = Math.floor((to - from) / step) + 1;
22
+ options = Array.from({ length: count }, function (_, i) {
23
+ var v = from + i * step;
24
+ return _defineProperty(_defineProperty({}, labelKey, formatLabel ? formatLabel(v) : v), valueKey, v);
25
+ });
26
+ }
27
+
28
+ var values = (options || []).map(function (o) {return o[valueKey];}).filter(function (v) {return typeof v === 'number';});
29
+ if (values.length) {
30
+ min = Math.min.apply(Math, _toConsumableArray(values));
31
+ max = Math.max.apply(Math, _toConsumableArray(values));
32
+ }
33
+
34
+ function handleChange(newValue) {
35
+ if (useRawOption) {
36
+
37
+ var match = options.find(function (o) {return o[valueKey] === newValue;});
38
+ return onChange(
39
+ match ||
40
+ options.reduce(function (best, o) {return (
41
+ Math.abs(o[valueKey] - newValue) < Math.abs(best[valueKey] - newValue) ? o : best);}
42
+ )
43
+ );
44
+ }
45
+ onChange(newValue);
46
+ }
47
+
48
+ return _jsx(NumberInput, Object.assign({ value: value, onChange: handleChange, suffix: suffix, min: min, max: max, precision: 0 }, props));
49
+ }
@@ -0,0 +1,88 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/WheelPicker.native.js";var _excluded = ["value", "onChange", "options", "suffix", "range", "step", "labelKey", "valueKey", "useRawOption", "formatLabel"];function _defineProperty(e, r, t) {return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == typeof i ? i : i + "";}function _toPrimitive(t, r) {if ("object" != typeof t || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != typeof i) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
+
3
+ import { Text } from "../text";
4
+ import { View } from "../structure";
5
+ import { useColors } from "../../theme";
6
+ import { debounce } from "../../helpers/debounce";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+
8
+ var QuidoneWheelPicker;
9
+
10
+ try {
11
+ QuidoneWheelPicker = require('@quidone/react-native-wheel-picker').default;
12
+ } catch (_unused) {
13
+ QuidoneWheelPicker = null;
14
+ }
15
+
16
+ export function WheelPicker(_ref)
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+ {var value = _ref.value,onChange = _ref.onChange,options = _ref.options,suffix = _ref.suffix,range = _ref.range,_ref$step = _ref.step,step = _ref$step === void 0 ? 1 : _ref$step,_ref$labelKey = _ref.labelKey,labelKey = _ref$labelKey === void 0 ? 'label' : _ref$labelKey,_ref$valueKey = _ref.valueKey,valueKey = _ref$valueKey === void 0 ? 'value' : _ref$valueKey,useRawOption = _ref.useRawOption,formatLabel = _ref.formatLabel,props = _objectWithoutProperties(_ref, _excluded);
29
+ var colors = useColors();
30
+ var handleChange = React.useMemo(function () {return debounce(onChange, 300);}, [onChange]);
31
+
32
+ if (!!range || !options) {
33
+ var _ref2 = range || [0, 100],_ref3 = _slicedToArray(_ref2, 2),from = _ref3[0],to = _ref3[1];
34
+ var count = Math.floor((to - from) / step) + 1;
35
+ options = Array.from({ length: count }, function (_, i) {
36
+ var v = from + i * step;
37
+ return _defineProperty(_defineProperty({}, labelKey, formatLabel ? formatLabel(v) : v), valueKey, v);
38
+ });
39
+ }
40
+
41
+ var data = React.useMemo(function () {
42
+ if (!options) return [];
43
+ return options.map(function (opt) {var _opt$labelKey;return {
44
+ value: opt[valueKey],
45
+ label: String((_opt$labelKey = opt[labelKey]) != null ? _opt$labelKey : opt[valueKey])
46
+ };});
47
+ }, [options, labelKey, valueKey]);
48
+
49
+ if (!QuidoneWheelPicker) {
50
+ console.warn('@quidone/react-native-wheel-picker not installed.');
51
+ return null;
52
+ }
53
+
54
+ var resolveValue = function resolveValue(item) {
55
+ if (useRawOption) return options.find(function (o) {return o[valueKey] === item.value;});
56
+ return item.value;
57
+ };
58
+
59
+ return (
60
+ _jsxs(View, { relative: true, hiddenOverflow: true, children: [
61
+ !!suffix &&
62
+ _jsxs(View, { absoluteFill: true, row: true, centerV: true, children: [
63
+ _jsx(View, { flex: true }),
64
+ _jsx(View, { flex: true, paddingL: 20, children:
65
+ _jsx(Text, { text2: true, children: suffix }) }
66
+ )] }
67
+ ),
68
+
69
+ _jsx(QuidoneWheelPicker, Object.assign({
70
+ data: data,
71
+ value: value,
72
+ itemTextStyle: { color: colors.text },
73
+ itemHeight: 40,
74
+ overlayItemStyle: {
75
+ backgroundColor: 'transparent',
76
+ borderWidth: 1,
77
+ borderLeftWidth: 0,
78
+ borderRightWidth: 0,
79
+ borderColor: colors.divider,
80
+ opacity: 1
81
+ },
82
+ _onValueChanging: function _onValueChanging(_ref5) {var item = _ref5.item;return handleChange(resolveValue(item));},
83
+ onValueChanged: function onValueChanged(_ref6) {var item = _ref6.item;return onChange(resolveValue(item));} },
84
+ props)
85
+ )] }
86
+ ));
87
+
88
+ }
@@ -0,0 +1 @@
1
+ export { WheelPicker } from "./WheelPicker.native";
@@ -0,0 +1,24 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/dateWheelPicker/DateWheelPicker.js";var _excluded = ["type"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { DayWheelPicker } from "./DayWheelPicker";
2
+ import { MonthWheelPicker } from "./MonthWheelPicker";
3
+ import { QuarterWheelPicker } from "./QuarterWheelPicker";
4
+ import { WeekWheelPicker } from "./WeekWheelPicker";
5
+ import { YearWheelPicker } from "./YearWheelPicker";import { jsx as _jsx } from "react/jsx-runtime";
6
+
7
+ export function DateWheelPicker(_ref) {var type = _ref.type,props = _objectWithoutProperties(_ref, _excluded);
8
+ switch (type) {
9
+ case 'year':
10
+ return _jsx(YearWheelPicker, Object.assign({}, props));
11
+
12
+ case 'quarter':
13
+ return _jsx(QuarterWheelPicker, Object.assign({}, props));
14
+
15
+ case 'month':
16
+ return _jsx(MonthWheelPicker, Object.assign({}, props));
17
+
18
+ case 'week':
19
+ return _jsx(WeekWheelPicker, Object.assign({}, props));
20
+
21
+ default:
22
+ return _jsx(DayWheelPicker, Object.assign({}, props));
23
+ }
24
+ }
@@ -0,0 +1,48 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/dateWheelPicker/DayWheelPicker.js";var _excluded = ["value", "onChange", "min", "max", "onCheckDisabled", "allowClear"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import dayjs from 'dayjs';
2
+
3
+ import { ClearLink } from "../../actions/ClearLink";
4
+ import { View } from "../../structure";
5
+ import { useColors } from "../../../theme";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+
7
+ var DatePicker;
8
+
9
+ try {
10
+ DatePicker = require('@quidone/react-native-wheel-picker').DatePicker;
11
+ } catch (_unused) {
12
+ DatePicker = null;
13
+ }
14
+
15
+ export function DayWheelPicker(_ref) {var value = _ref.value,onChange = _ref.onChange,min = _ref.min,max = _ref.max,onCheckDisabled = _ref.onCheckDisabled,allowClear = _ref.allowClear,props = _objectWithoutProperties(_ref, _excluded);
16
+ var colors = useColors();
17
+ if (!DatePicker) {
18
+ console.warn('@quidone/react-native-wheel-picker not installed.');
19
+ return null;
20
+ }
21
+
22
+ value = value ? dayjs(value) : dayjs();
23
+
24
+ return (
25
+ _jsxs(View, { center: true, height: 40 * 5, overflow: "hidden", relative: true, children: [
26
+ _jsx(DatePicker, Object.assign({
27
+ locale: 'pt',
28
+ date: value.format('YYYY-MM-DD'),
29
+ minDate: min ? dayjs(min).format('YYYY-MM-DD') : undefined,
30
+ maxDate: max ? dayjs(max).format('YYYY-MM-DD') : undefined,
31
+ onDateChanged: function onDateChanged(_ref2) {var date = _ref2.date;return onChange(dayjs(date));},
32
+ itemTextStyle: { color: colors.text },
33
+ itemHeight: 40,
34
+ overlayItemStyle: {
35
+ backgroundColor: 'transparent',
36
+ borderWidth: 1,
37
+ borderLeftWidth: 0,
38
+ borderRightWidth: 0,
39
+ borderColor: colors.divider,
40
+ opacity: 1
41
+ } },
42
+ props)
43
+ ),
44
+
45
+ _jsx(ClearLink, { hide: !allowClear, value: value, onChange: onChange })] }
46
+ ));
47
+
48
+ }