@neko-os/ui 0.0.8 → 0.0.10

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 (220) hide show
  1. package/dist/DynamicStyleTag.js +5 -0
  2. package/dist/DynamicStyleTag.native.js +1 -0
  3. package/dist/NekoUI.js +1 -1
  4. package/dist/abstractions/ActivityIndicator.native.js +1 -1
  5. package/dist/abstractions/ActivityIndicator.web.js +1 -0
  6. package/dist/abstractions/AnimatedView.web.js +1 -0
  7. package/dist/abstractions/BlurView.web.js +1 -0
  8. package/dist/abstractions/FlatList.js +1 -0
  9. package/dist/abstractions/FlatList.native.js +1 -0
  10. package/dist/abstractions/FlatList.web.js +1 -0
  11. package/dist/abstractions/ScrollView.web.js +1 -0
  12. package/dist/abstractions/StaticList.js +1 -0
  13. package/dist/abstractions/helpers/storage.js +1 -0
  14. package/dist/abstractions/helpers/storage.native.js +1 -0
  15. package/dist/abstractions/helpers/useSafeAreaInsets.js +1 -0
  16. package/dist/abstractions/helpers/useSafeAreaInsets.native.js +1 -0
  17. package/dist/components/actions/Button.js +1 -1
  18. package/dist/components/actions/Dropdown.js +1 -1
  19. package/dist/components/actions/FloatingButton.js +1 -0
  20. package/dist/components/actions/index.js +1 -1
  21. package/dist/components/actions/menu/VerticalMenu.js +1 -1
  22. package/dist/components/calendar/_helpers/calendarDays.js +1 -1
  23. package/dist/components/feedback/alerter.js +1 -1
  24. package/dist/components/feedback/confirmer.js +1 -1
  25. package/dist/components/helpers/ConditionalLazyRender.js +1 -0
  26. package/dist/components/helpers/LazyAction.js +1 -0
  27. package/dist/components/helpers/LazyRender.js +1 -1
  28. package/dist/components/helpers/LazyRender.native.js +1 -1
  29. package/dist/components/helpers/index.js +1 -1
  30. package/dist/components/index.js +1 -1
  31. package/dist/components/inputs/DateInput.js +1 -1
  32. package/dist/components/inputs/InputWrapper.js +1 -1
  33. package/dist/components/inputs/LinkInput.js +1 -1
  34. package/dist/components/inputs/NumberInput.js +1 -0
  35. package/dist/components/inputs/Picker.js +1 -1
  36. package/dist/components/inputs/Radio.js +1 -1
  37. package/dist/components/inputs/RateInput.js +1 -0
  38. package/dist/components/inputs/SegmentedPicker.js +1 -0
  39. package/dist/components/inputs/Select.js +1 -0
  40. package/dist/components/inputs/datePicker/DayPicker.js +1 -1
  41. package/dist/components/inputs/datePicker/MonthPicker.js +1 -1
  42. package/dist/components/inputs/datePicker/QuarterPicker.js +1 -1
  43. package/dist/components/inputs/datePicker/WeekPicker.js +1 -1
  44. package/dist/components/inputs/datePicker/YearPicker.js +1 -1
  45. package/dist/components/inputs/index.js +1 -1
  46. package/dist/components/layout/Layout.js +1 -1
  47. package/dist/components/list/FlatList.js +1 -0
  48. package/dist/components/list/index.js +1 -1
  49. package/dist/components/presentation/Rate.js +1 -0
  50. package/dist/components/presentation/RateTag.js +1 -0
  51. package/dist/components/presentation/Result.js +1 -1
  52. package/dist/components/presentation/Tooltip.js +1 -1
  53. package/dist/components/presentation/index.js +1 -1
  54. package/dist/components/state/LoadingView.js +1 -1
  55. package/dist/components/structure/Accordion.js +1 -1
  56. package/dist/components/structure/Row.js +1 -1
  57. package/dist/components/structure/Segment.js +1 -0
  58. package/dist/components/structure/View.js +1 -1
  59. package/dist/components/structure/bottomDrawer/native/BottomDrawer.js +1 -1
  60. package/dist/components/structure/bottomDrawer/native/utils.js +1 -1
  61. package/dist/components/structure/bottomDrawer/web/BottomDrawer.js +1 -1
  62. package/dist/components/structure/index.js +1 -1
  63. package/dist/components/structure/overlay/OverlayHandler.js +1 -1
  64. package/dist/components/structure/popover/Popover.js +1 -1
  65. package/dist/components/structure/popover/Popover.native.js +1 -1
  66. package/dist/components/structure/popover/Popover_BU.js +1 -0
  67. package/dist/components/tabs/ActiveTabContent.js +1 -0
  68. package/dist/components/tabs/TabsHandler.js +1 -0
  69. package/dist/components/tabs/TabsMenu.js +1 -0
  70. package/dist/components/tabs/index.js +1 -0
  71. package/dist/components/theme/ThemePicker.js +1 -0
  72. package/dist/components/theme/ThemePickerDrawer.js +1 -0
  73. package/dist/components/theme/ThemeStatusBar.js +1 -0
  74. package/dist/components/theme/ThemeStatusBar.native.js +1 -0
  75. package/dist/components/theme/ThemeThumb.js +1 -0
  76. package/dist/components/theme/index.js +1 -0
  77. package/dist/helpers/index.js +1 -1
  78. package/dist/helpers/storage.js +1 -0
  79. package/dist/helpers/string.js +1 -1
  80. package/dist/i18n/I18n.js +1 -0
  81. package/dist/i18n/I18nProvider.js +1 -0
  82. package/dist/i18n/index.js +1 -0
  83. package/dist/index.css +4 -0
  84. package/dist/index.js +1 -1
  85. package/dist/modifiers/animations/fadeEffect.web.js +1 -0
  86. package/dist/modifiers/animations/scrollEffect.web.js +1 -0
  87. package/dist/modifiers/animations/slideEffect.web.js +1 -0
  88. package/dist/modifiers/fullColor.js +1 -1
  89. package/dist/modifiers/overflow.js +1 -1
  90. package/dist/modifiers/position.js +1 -1
  91. package/dist/theme/ThemeHandler.js +1 -1
  92. package/dist/theme/default/base.js +1 -1
  93. package/dist/theme/default/blackTheme.js +1 -1
  94. package/dist/theme/default/cyberpunkTheme.js +1 -1
  95. package/dist/theme/default/darkTheme.js +1 -1
  96. package/dist/theme/default/deepWoodsTheme.js +1 -1
  97. package/dist/theme/default/forestTheme.js +1 -1
  98. package/dist/theme/default/hackerTheme.js +1 -1
  99. package/dist/theme/default/lightTheme.js +1 -1
  100. package/dist/theme/default/midnightTheme.js +1 -1
  101. package/dist/theme/default/msdosTheme.js +1 -1
  102. package/dist/theme/default/oceanTheme.js +1 -1
  103. package/dist/theme/default/paperTheme.js +1 -0
  104. package/dist/theme/default/pastelTheme.js +1 -1
  105. package/dist/theme/default/sunsetTheme.js +1 -1
  106. package/dist/theme/default/themes.js +1 -1
  107. package/dist/theme/format/formatTheme.js +1 -1
  108. package/dist/theme/helpers/contrastColor.js +1 -1
  109. package/package.json +1 -1
  110. package/src/DynamicStyleTag.js +21 -0
  111. package/src/DynamicStyleTag.native.js +3 -0
  112. package/src/NekoUI.js +21 -4
  113. package/src/abstractions/ActivityIndicator.native.js +3 -4
  114. package/src/abstractions/ActivityIndicator.web.js +43 -0
  115. package/src/abstractions/AnimatedView.web.js +3 -0
  116. package/src/abstractions/BlurView.web.js +39 -0
  117. package/src/abstractions/FlatList.js +3 -0
  118. package/src/abstractions/FlatList.native.js +36 -0
  119. package/src/abstractions/FlatList.web.js +3 -0
  120. package/src/abstractions/ScrollView.web.js +3 -0
  121. package/src/abstractions/StaticList.js +51 -0
  122. package/src/abstractions/Text.web.js +15 -0
  123. package/src/abstractions/helpers/storage.js +32 -0
  124. package/src/abstractions/helpers/storage.native.js +34 -0
  125. package/src/abstractions/helpers/useSafeAreaInsets.js +3 -0
  126. package/src/abstractions/helpers/useSafeAreaInsets.native.js +3 -0
  127. package/src/components/actions/Button.js +1 -0
  128. package/src/components/actions/Dropdown.js +24 -5
  129. package/src/components/actions/FloatingButton.js +87 -0
  130. package/src/components/actions/index.js +1 -0
  131. package/src/components/actions/menu/VerticalMenu.js +30 -5
  132. package/src/components/calendar/_helpers/calendarDays.js +2 -0
  133. package/src/components/feedback/alerter.js +1 -1
  134. package/src/components/feedback/confirmer.js +2 -2
  135. package/src/components/helpers/ConditionalLazyRender.js +6 -0
  136. package/src/components/helpers/LazyAction.js +22 -0
  137. package/src/components/helpers/LazyRender.js +2 -2
  138. package/src/components/helpers/LazyRender.native.js +1 -1
  139. package/src/components/helpers/index.js +1 -0
  140. package/src/components/index.js +2 -0
  141. package/src/components/inputs/DateInput.js +11 -1
  142. package/src/components/inputs/InputWrapper.js +0 -1
  143. package/src/components/inputs/LinkInput.js +3 -3
  144. package/src/components/inputs/NumberInput.js +105 -0
  145. package/src/components/inputs/Picker.js +61 -9
  146. package/src/components/inputs/Radio.js +1 -1
  147. package/src/components/inputs/RateInput.js +62 -0
  148. package/src/components/inputs/SegmentedPicker.js +62 -0
  149. package/src/components/inputs/Select.js +189 -0
  150. package/src/components/inputs/datePicker/DayPicker.js +4 -5
  151. package/src/components/inputs/datePicker/MonthPicker.js +2 -2
  152. package/src/components/inputs/datePicker/QuarterPicker.js +2 -2
  153. package/src/components/inputs/datePicker/WeekPicker.js +2 -2
  154. package/src/components/inputs/datePicker/YearPicker.js +9 -6
  155. package/src/components/inputs/index.js +4 -0
  156. package/src/components/layout/Layout.js +1 -1
  157. package/src/components/list/FlatList.js +91 -0
  158. package/src/components/list/index.js +1 -0
  159. package/src/components/presentation/Rate.js +58 -0
  160. package/src/components/presentation/RateTag.js +35 -0
  161. package/src/components/presentation/Result.js +2 -2
  162. package/src/components/presentation/Tooltip.js +1 -0
  163. package/src/components/presentation/index.js +2 -0
  164. package/src/components/state/LoadingView.js +10 -1
  165. package/src/components/structure/Accordion.js +1 -1
  166. package/src/components/structure/Row.js +9 -1
  167. package/src/components/structure/Segment.js +51 -0
  168. package/src/components/structure/View.js +2 -0
  169. package/src/components/structure/bottomDrawer/native/BottomDrawer.js +19 -3
  170. package/src/components/structure/bottomDrawer/native/utils.js +29 -22
  171. package/src/components/structure/bottomDrawer/web/BottomDrawer.js +3 -1
  172. package/src/components/structure/index.js +1 -0
  173. package/src/components/structure/overlay/OverlayHandler.js +6 -1
  174. package/src/components/structure/popover/Popover.js +44 -21
  175. package/src/components/structure/popover/Popover.native.js +3 -2
  176. package/src/components/structure/popover/Popover_BU.js +157 -0
  177. package/src/components/tabs/ActiveTabContent.js +35 -0
  178. package/src/components/tabs/TabsHandler.js +16 -0
  179. package/src/components/tabs/TabsMenu.js +15 -0
  180. package/src/components/tabs/index.js +3 -0
  181. package/src/components/theme/ThemePicker.js +49 -0
  182. package/src/components/theme/ThemePickerDrawer.js +13 -0
  183. package/src/components/theme/ThemeStatusBar.js +3 -0
  184. package/src/components/theme/ThemeStatusBar.native.js +9 -0
  185. package/src/components/theme/ThemeThumb.js +98 -0
  186. package/src/components/theme/index.js +3 -0
  187. package/src/helpers/index.js +1 -0
  188. package/src/helpers/storage.js +54 -0
  189. package/src/helpers/string.js +18 -1
  190. package/src/i18n/I18n.js +97 -0
  191. package/src/i18n/I18nProvider.js +40 -0
  192. package/src/i18n/index.js +2 -0
  193. package/src/index.css +4 -0
  194. package/src/index.js +1 -0
  195. package/src/modifiers/animations/fadeEffect.web.js +3 -0
  196. package/src/modifiers/animations/scrollEffect.web.js +3 -0
  197. package/src/modifiers/animations/slideEffect.web.js +3 -0
  198. package/src/modifiers/fullColor.js +2 -2
  199. package/src/modifiers/overflow.js +6 -1
  200. package/src/modifiers/position.js +7 -0
  201. package/src/theme/ThemeHandler.js +18 -2
  202. package/src/theme/default/base.js +12 -8
  203. package/src/theme/default/blackTheme.js +4 -1
  204. package/src/theme/default/cyberpunkTheme.js +3 -1
  205. package/src/theme/default/darkTheme.js +3 -1
  206. package/src/theme/default/deepWoodsTheme.js +4 -2
  207. package/src/theme/default/forestTheme.js +3 -1
  208. package/src/theme/default/hackerTheme.js +3 -1
  209. package/src/theme/default/lightTheme.js +3 -1
  210. package/src/theme/default/midnightTheme.js +3 -1
  211. package/src/theme/default/msdosTheme.js +18 -4
  212. package/src/theme/default/oceanTheme.js +4 -2
  213. package/src/theme/default/paperTheme.js +35 -0
  214. package/src/theme/default/pastelTheme.js +3 -1
  215. package/src/theme/default/sunsetTheme.js +5 -3
  216. package/src/theme/default/themes.js +7 -10
  217. package/src/theme/format/formatTheme.js +9 -3
  218. package/src/theme/helpers/contrastColor.js +49 -11
  219. package/dist/abstractions/TouchableOpacity.web.js +0 -1
  220. package/src/abstractions/TouchableOpacity.web.js +0 -3
@@ -0,0 +1,5 @@
1
+ import React from'react';import{useColors}from"./theme";export function DynamicStyleTag(){var colors=useColors();var placeholderColor=colors.text_op30;React.useEffect(function(){var style=document.createElement('style');style.innerHTML=`
2
+ ::placeholder {
3
+ color: ${placeholderColor};
4
+ }
5
+ `;document.head.appendChild(style);return function(){return style.remove();};},[placeholderColor]);return false;}
@@ -0,0 +1 @@
1
+ export function DynamicStyleTag(){return false;}
package/dist/NekoUI.js CHANGED
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/NekoUI.js";var _excluded=["children"];import{ModalsHandler}from"./components/structure/modal/handler/ModalsHandler";import{NotificationsHandler}from"./components/feedback/notifications/NotificationsHandler";import{OverlayHandler}from"./components/structure/overlay/OverlayHandler";import{PortalHandler}from"./components/helpers/PortalHandler";import{ResponsiveHandler}from"./responsive/ResponsiveHandler";import{ThemeHandler}from"./theme/ThemeHandler";import{jsx as _jsx}from"react/jsx-runtime";export function NekoUI(_ref){var children=_ref.children,props=_objectWithoutProperties(_ref,_excluded);return _jsx(ThemeHandler,Object.assign({},props,{children:_jsx(ResponsiveHandler,{children:_jsx(PortalHandler,{children:_jsx(ModalsHandler,{children:_jsx(NotificationsHandler,{children:_jsx(OverlayHandler,{children:children})})})})})}));}
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/NekoUI.js";var _excluded=["children","i18n"];import{DynamicStyleTag}from"./DynamicStyleTag";import{I18nProvider}from"./i18n";import{ModalsHandler}from"./components/structure/modal/handler/ModalsHandler";import{NotificationsHandler}from"./components/feedback/notifications/NotificationsHandler";import{OverlayHandler}from"./components/structure/overlay/OverlayHandler";import{PortalHandler}from"./components/helpers/PortalHandler";import{ResponsiveHandler}from"./responsive/ResponsiveHandler";import{ThemeHandler}from"./theme/ThemeHandler";import{ThemePickerDrawer}from"./components/theme";import{useThemeHandler}from"./theme";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function NekoUI(_ref){var children=_ref.children,i18n=_ref.i18n,props=_objectWithoutProperties(_ref,_excluded);return _jsxs(ThemeHandler,Object.assign({},props,{children:[_jsx(DynamicStyleTag,{}),_jsx(ResponsiveHandler,{children:_jsx(PortalHandler,{children:_jsx(ModalsHandler,{children:_jsx(I18nProvider,{i18n:i18n,children:_jsx(NotificationsHandler,{children:_jsxs(OverlayHandler,{children:[children,_jsx(FixedComponents,{})]})})})})})})]}));}function FixedComponents(){var _useThemeHandler=useThemeHandler(),themePickerOpen=_useThemeHandler.themePickerOpen,setThemePickerOpen=_useThemeHandler.setThemePickerOpen;return _jsx(ThemePickerDrawer,{open:themePickerOpen,onClose:function onClose(){return setThemePickerOpen(false);}});}
@@ -1 +1 @@
1
- var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/ActivityIndicator.native.js";import tinycolor from'tinycolor2';import{Animated,Easing}from"react-native-web";import React from'react';import{jsx as _jsx}from"react/jsx-runtime";export function AbsActivityIndicator(_ref){var _ref$size=_ref.size,size=_ref$size===void 0?20:_ref$size,color=_ref.color,style=_ref.style;var spinValue=React.useRef(new Animated.Value(0)).current;var bg=tinycolor(color).setAlpha(0.2).toString();React.useEffect(function(){var spinAnimation=Animated.loop(Animated.timing(spinValue,{toValue:1,duration:1000,easing:Easing.linear,useNativeDriver:true}));spinAnimation.start();return function(){return spinAnimation.stop();};},[spinValue]);var spin=spinValue.interpolate({inputRange:[0,1],outputRange:['0deg','360deg']});var borderWidth=size/8;console.log(color,bg);return _jsx(Animated.View,{style:Object.assign({width:size,height:size,borderRadius:size/2,borderWidth:borderWidth,borderColor:`${bg}`,borderTopColor:color,transform:[{rotate:spin}]},style)});}
1
+ var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/ActivityIndicator.native.js";import{Animated,Easing,Platform}from"react-native-web";import React from'react';import tinycolor from'tinycolor2';import{jsx as _jsx}from"react/jsx-runtime";export function AbsActivityIndicator(_ref){var _ref$size=_ref.size,size=_ref$size===void 0?20:_ref$size,color=_ref.color,style=_ref.style;var spinValue=React.useRef(new Animated.Value(0)).current;var bg=tinycolor(color).setAlpha(0.2).toString();React.useEffect(function(){var spinAnimation=Animated.loop(Animated.timing(spinValue,{toValue:1,duration:1000,easing:Easing.linear,useNativeDriver:Platform.OS!=='web'}));spinAnimation.start();return function(){return spinAnimation.stop();};},[spinValue]);var spin=spinValue.interpolate({inputRange:[0,1],outputRange:['0deg','360deg']});var borderWidth=size/8;return _jsx(Animated.View,{style:Object.assign({width:size,height:size,borderRadius:size/2,borderWidth:borderWidth,borderColor:`${bg}`,borderTopColor:color,transform:[{rotate:spin}]},style)});}
@@ -0,0 +1 @@
1
+ var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/ActivityIndicator.web.js";import tinycolor from'tinycolor2';import{Animated,Easing}from"react-native-web";import React from'react';import{jsx as _jsx}from"react/jsx-runtime";export function AbsActivityIndicator(_ref){var _ref$size=_ref.size,size=_ref$size===void 0?20:_ref$size,color=_ref.color,style=_ref.style;var spinValue=React.useRef(new Animated.Value(0)).current;var bg=tinycolor(color).setAlpha(0.2).toString();React.useEffect(function(){var spinAnimation=Animated.loop(Animated.timing(spinValue,{toValue:1,duration:1000,easing:Easing.linear,useNativeDriver:false}));spinAnimation.start();return function(){return spinAnimation.stop();};},[spinValue]);var spin=spinValue.interpolate({inputRange:[0,1],outputRange:['0deg','360deg']});var borderWidth=size/8;return _jsx(Animated.View,{style:Object.assign({width:size,height:size,borderRadius:size/2,borderWidth:borderWidth,borderColor:`${bg}`,borderTopColor:color,transform:[{rotate:spin}]},style)});}
@@ -0,0 +1 @@
1
+ import{AbsAnimatedView as NativeAbsAnimatedView}from"./AnimatedView.native";export var AbsAnimatedView=NativeAbsAnimatedView;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["intensity","tint","disabledForAndroid","style","children"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/BlurView.web.js";import{AbsView}from"./View";import{jsx as _jsx}from"react/jsx-runtime";var AbsBlurView;try{var _ref=require('expo-blur')||{},BlurView=_ref.BlurView;AbsBlurView=function AbsBlurView(_ref2){var intensity=_ref2.intensity,tint=_ref2.tint,disabledForAndroid=_ref2.disabledForAndroid,style=_ref2.style,children=_ref2.children,props=_objectWithoutProperties(_ref2,_excluded);return _jsx(BlurView,{intensity:intensity,tint:tint,style:[style,{overflow:'hidden'}],experimentalBlurMethod:disabledForAndroid?'none':'dimezisBlurView',children:children});};}catch(_unused){AbsBlurView=function AbsBlurView(props){console.warn('expo-blur not instaled.');return _jsx(AbsView,Object.assign({},props));};}export{AbsBlurView};
@@ -0,0 +1 @@
1
+ import{AbsStaticList}from"./StaticList";export var AbsFlatList=AbsStaticList;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["height","width"],_excluded2=["style","ItemSeparatorComponent","Separator","renderSeparator","ListEmptyComponent","Empty","renderEmpty","ListFooterComponent","Footer","renderFooter","ListHeaderComponent","Header","renderHeader"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/FlatList.native.js";import{FlatList}from"react-native-web";import{jsx as _jsx}from"react/jsx-runtime";export var AbsFlatList=function AbsFlatList(_ref){var _ref$style=_ref.style,height=_ref$style.height,width=_ref$style.width,style=_objectWithoutProperties(_ref$style,_excluded),ItemSeparatorComponent=_ref.ItemSeparatorComponent,Separator=_ref.Separator,renderSeparator=_ref.renderSeparator,ListEmptyComponent=_ref.ListEmptyComponent,Empty=_ref.Empty,renderEmpty=_ref.renderEmpty,ListFooterComponent=_ref.ListFooterComponent,Footer=_ref.Footer,renderFooter=_ref.renderFooter,ListHeaderComponent=_ref.ListHeaderComponent,Header=_ref.Header,renderHeader=_ref.renderHeader,props=_objectWithoutProperties(_ref,_excluded2);ItemSeparatorComponent=ItemSeparatorComponent||Separator||renderSeparator;ListEmptyComponent=ListEmptyComponent||Empty||renderEmpty;ListFooterComponent=ListFooterComponent||Footer||renderFooter;ListHeaderComponent=ListHeaderComponent||Header||renderHeader;return _jsx(FlatList,Object.assign({height:height,width:width},props,{ItemSeparatorComponent:ItemSeparatorComponent,ListEmptyComponent:ListEmptyComponent,ListFooterComponent:ListFooterComponent,ListHeaderComponent:ListHeaderComponent,contentContainerStyle:style}));};
@@ -0,0 +1 @@
1
+ import{AbsFlatList as NativeFlatList}from"./FlatList.native";export var AbsFlatList=NativeFlatList;
@@ -0,0 +1 @@
1
+ import{AbsScrollView as NativeAbsScrollView}from"./ScrollView.native";export var AbsScrollView=NativeAbsScrollView;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/StaticList.js";var _excluded=["data","renderItem","ItemSeparatorComponent","Separator","renderSeparator","ListEmptyComponent","Empty","renderEmpty","ListFooterComponent","Footer","renderFooter","ListHeaderComponent","Header","renderHeader","keyExtractor","onEndReached"];import React from'react';import{AbsView}from"./View";import{LazyAction}from"../components/helpers/LazyAction";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var defaultRender=function defaultRender(){return false;};export function AbsStaticList(_ref){var _this=this;var data=_ref.data,renderItem=_ref.renderItem,ItemSeparatorComponent=_ref.ItemSeparatorComponent,Separator=_ref.Separator,renderSeparator=_ref.renderSeparator,ListEmptyComponent=_ref.ListEmptyComponent,Empty=_ref.Empty,renderEmpty=_ref.renderEmpty,ListFooterComponent=_ref.ListFooterComponent,Footer=_ref.Footer,renderFooter=_ref.renderFooter,ListHeaderComponent=_ref.ListHeaderComponent,Header=_ref.Header,renderHeader=_ref.renderHeader,keyExtractor=_ref.keyExtractor,onEndReached=_ref.onEndReached,props=_objectWithoutProperties(_ref,_excluded);ItemSeparatorComponent=ItemSeparatorComponent||Separator||renderSeparator||defaultRender;ListEmptyComponent=ListEmptyComponent||Empty||renderEmpty||defaultRender;ListFooterComponent=ListFooterComponent||Footer||renderFooter||defaultRender;ListHeaderComponent=ListHeaderComponent||Header||renderHeader||defaultRender;keyExtractor=keyExtractor||function(item,index){return index;};renderItem=renderItem||defaultRender;return _jsxs(AbsView,Object.assign({},props,{children:[_jsx(ListHeaderComponent,{}),!(data!=null&&data.length)&&_jsx(ListEmptyComponent,{}),data==null?void 0:data.map==null?void 0:data.map(function(item,index){return _jsxs(React.Fragment,{children:[index!==0&&_jsx(ItemSeparatorComponent,{}),renderItem({item:item,index:index})]},keyExtractor(item,index));}),_jsx(LazyAction,{action:onEndReached,destroyOffScreen:true}),_jsx(ListFooterComponent,{})]}));}
@@ -0,0 +1 @@
1
+ function set(key,value){return localStorage.setItem(key,value);}function setAsync(key,value){return Promise.resulve(set(key,value));}function get(key){return localStorage.getItem(key);}function getAsync(key){return Promise.resulve(get(key));}function remove(key){return localStorage.removeItem(key);}function removeAsync(key){return Promise.resulve(remove(key));}export var AbsStorage={set:set,setAsync:setAsync,get:get,getAsync:getAsync,remove:remove,removeAsync:removeAsync};
@@ -0,0 +1 @@
1
+ var set=function set(){return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};var setAsync=function setAsync(){return Promise.resolve(set());};var get=function get(){return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};var getAsync=function getAsync(){return Promise.resolve(get());};var remove=function remove(){return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};var removeAsync=function removeAsync(){return Promise.resolve(remove());};try{var StorageModule=require('expo-sqlite/kv-store');if(StorageModule!=null&&StorageModule.default){var Storage=StorageModule.default;set=Storage.setItemSync.bind(Storage);setAsync=Storage.setItem.bind(Storage);get=Storage.getItemSync.bind(Storage);getAsync=Storage.getItem.bind(Storage);remove=Storage.removeItemSync.bind(Storage);removeAsync=Storage.removeItem.bind(Storage);}}catch(e){console.log('expo-sqlite not available:',e);}export var AbsStorage={set:set,setAsync:setAsync,get:get,getAsync:getAsync,remove:remove,removeAsync:removeAsync};
@@ -0,0 +1 @@
1
+ export var useSafeAreaInsets=function useSafeAreaInsets(){return{top:0,bottom:0,left:0,right:0};};
@@ -0,0 +1 @@
1
+ import{useSafeAreaInsets as _useSafeAreaInsets}from'react-native-safe-area-context';export var useSafeAreaInsets=_useSafeAreaInsets;
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Button.js";var _excluded=["label","icon","textProps","iconProps","gap","invert","size"];import{pipe}from'ramda';import{AbsTouchableOpacity}from"../../abstractions/TouchableOpacity";import{IconLabel}from"../presentation/IconLabel";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useColorConverter}from"../../modifiers/colorConverter";import{useCursorModifier}from"../../modifiers/cursor";import{useDefaultModifier}from"../../modifiers/default";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useFullColorModifier}from"../../modifiers/fullColor";import{useHoverConverter}from"../../modifiers/hover";import{useMarginModifier}from"../../modifiers/margin";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,1),sizeCode=_ref2[0].sizeCode;return{paddingH:sizeCode,paddingV:2,height:sizeCode,br:sizeCode,border:1,center:true,hover:{opacity:0.7}};};export function Button(rootProps){var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('Button'),useDefaultModifier(DEFAULT_PROPS),useHoverConverter,useCursorModifier,useFullColorModifier,useDisplayModifier,useStateModifier,useSizeModifier,usePositionModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useFlexWrapperModifier,useBackgroundModifier,useBorderModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],loading=_pipe2$.loading,fontColor=_pipe2$.fontColor,sizeCode=_pipe2$.sizeCode,formattedProps=_pipe2[1];var label=formattedProps.label,icon=formattedProps.icon,textProps=formattedProps.textProps,iconProps=formattedProps.iconProps,gap=formattedProps.gap,invert=formattedProps.invert,size=formattedProps.size,props=_objectWithoutProperties(formattedProps,_excluded);return _jsx(AbsTouchableOpacity,Object.assign({className:"neko-button neko-wave-click-effect",type:"button"},props,{children:_jsx(IconLabel,{center:true,color:fontColor,size:sizeCode,label:label,icon:icon,gap:gap,invert:invert,textProps:Object.assign({strong:true},textProps),iconProps:iconProps,loading:loading})}));}
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Button.js";var _excluded=["label","icon","textProps","iconProps","gap","invert","size"];import{pipe}from'ramda';import{AbsTouchableOpacity}from"../../abstractions/TouchableOpacity";import{IconLabel}from"../presentation/IconLabel";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useColorConverter}from"../../modifiers/colorConverter";import{useCursorModifier}from"../../modifiers/cursor";import{useDefaultModifier}from"../../modifiers/default";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useFullColorModifier}from"../../modifiers/fullColor";import{useHoverConverter}from"../../modifiers/hover";import{useMarginModifier}from"../../modifiers/margin";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,1),sizeCode=_ref2[0].sizeCode;return{paddingH:sizeCode,paddingV:2,height:sizeCode,br:sizeCode,border:1,center:true,pointer:true,hover:{opacity:0.7}};};export function Button(rootProps){var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('Button'),useDefaultModifier(DEFAULT_PROPS),useHoverConverter,useCursorModifier,useFullColorModifier,useDisplayModifier,useStateModifier,useSizeModifier,usePositionModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useFlexWrapperModifier,useBackgroundModifier,useBorderModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],loading=_pipe2$.loading,fontColor=_pipe2$.fontColor,sizeCode=_pipe2$.sizeCode,formattedProps=_pipe2[1];var label=formattedProps.label,icon=formattedProps.icon,textProps=formattedProps.textProps,iconProps=formattedProps.iconProps,gap=formattedProps.gap,invert=formattedProps.invert,size=formattedProps.size,props=_objectWithoutProperties(formattedProps,_excluded);return _jsx(AbsTouchableOpacity,Object.assign({className:"neko-button neko-wave-click-effect",type:"button"},props,{children:_jsx(IconLabel,{center:true,color:fontColor,size:sizeCode,label:label,icon:icon,gap:gap,invert:invert,textProps:Object.assign({strong:true},textProps),iconProps:iconProps,loading:loading})}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Dropdown.js";var _excluded=["items"],_excluded2=["onChange","label","trigger","icon","strong","color","popoverProps","iconLabelProps","children"];import{pipe}from'ramda';import{IconLabel}from"../presentation/IconLabel";import{Link}from"./Link";import{Menu}from"./menu/Menu";import{Popover}from"../structure/popover/Popover";import{View}from"../structure/View";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function Dropdown(_ref){var _this=this;var items=_ref.items,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('Dropdown'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],formattedProps=_pipe2[1];var onChange=formattedProps.onChange,label=formattedProps.label,_formattedProps$trigg=formattedProps.trigger,trigger=_formattedProps$trigg===void 0?'click':_formattedProps$trigg,icon=formattedProps.icon,strong=formattedProps.strong,color=formattedProps.color,popoverProps=formattedProps.popoverProps,iconLabelProps=formattedProps.iconLabelProps,children=formattedProps.children,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(View,Object.assign({className:"neko-dropdown"},props,{children:_jsx(Popover,Object.assign({useParentMinWidth:true,placement:"bottomLeft",trigger:trigger,padding:"xs",useBottomDrawer:{native:true,sm:true,md:true}},popoverProps,{renderContent:function renderContent(_ref2){var onClose=_ref2.onClose;var handleChange=function handleChange(){if(onChange)onChange.apply(void 0,arguments);onClose();};return _jsx(Menu,{vertical:true,items:items,onChange:handleChange,linkPaddingH:"xs"});},children:children||_jsx(Link,{children:_jsx(IconLabel,Object.assign({label:label||'---',icon:icon||'arrow-down-s-fill',strong:strong,color:color,invert:true},iconLabelProps))})}))}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Dropdown.js";var _excluded=["items"],_excluded2=["onChange","label","trigger","icon","strong","color","popoverProps","iconLabelProps","children","placement","gap","useBottomDrawer"];import{pipe}from'ramda';import{IconLabel}from"../presentation/IconLabel";import{Link}from"./Link";import{Menu}from"./menu/Menu";import{Popover}from"../structure/popover/Popover";import{View}from"../structure/View";import{useResponsiveValue}from"../../responsive";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function Dropdown(_ref){var _this=this;var items=_ref.items,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('Dropdown'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],formattedProps=_pipe2[1];var onChange=formattedProps.onChange,label=formattedProps.label,_formattedProps$trigg=formattedProps.trigger,trigger=_formattedProps$trigg===void 0?'click':_formattedProps$trigg,icon=formattedProps.icon,strong=formattedProps.strong,color=formattedProps.color,popoverProps=formattedProps.popoverProps,iconLabelProps=formattedProps.iconLabelProps,children=formattedProps.children,placement=formattedProps.placement,gap=formattedProps.gap,useBottomDrawer=formattedProps.useBottomDrawer,props=_objectWithoutProperties(formattedProps,_excluded2);useBottomDrawer=useResponsiveValue(useBottomDrawer||{native:true,sm:true,md:true});return _jsx(View,Object.assign({className:"neko-dropdown"},props,{children:_jsx(Popover,Object.assign({useParentMinWidth:true,placement:placement||'bottomLeft',trigger:trigger,padding:0,contentProps:{padding:0},useBottomDrawer:useBottomDrawer},popoverProps,{renderContent:function renderContent(_ref2){var onClose=_ref2.onClose;var handleChange=function handleChange(){if(onChange)onChange.apply(void 0,arguments);onClose();};return _jsx(Menu,{vertical:true,items:items,onChange:handleChange,linkPaddingH:useBottomDrawer?'md':'sm',linkMinHeight:useBottomDrawer?'xl':'md',withDivider:useBottomDrawer});},children:children||_jsx(Link,{children:_jsx(IconLabel,Object.assign({label:label||'---',icon:icon||'arrow-down-s-fill',strong:strong,color:color,invert:true,gap:gap},iconLabelProps))})}))}));}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/FloatingButton.js";var _excluded=["useSafeArea"],_excluded2=["icon","iconProps","size"];import{pipe}from'ramda';import{AbsTouchableOpacity}from"../../abstractions/TouchableOpacity";import{Icon}from"../presentation";import{Loading}from"../state";import{moveScale}from"../../theme/helpers/sizeScale";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useColorConverter}from"../../modifiers/colorConverter";import{useCursorModifier}from"../../modifiers/cursor";import{useDefaultModifier}from"../../modifiers/default";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useFullColorModifier}from"../../modifiers/fullColor";import{useHoverConverter}from"../../modifiers/hover";import{useMarginModifier}from"../../modifiers/margin";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useSafeAreaInsets}from"../../abstractions/helpers/useSafeAreaInsets";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var bottomInset=_ref.bottomInset;return function(_ref2){var _ref3=_slicedToArray(_ref2,2),sizeCode=_ref3[0].sizeCode,square=_ref3[1].square;sizeCode=moveScale(sizeCode,1);return{absolute:true,shadow:true,bottom:'md',marginB:bottomInset,right:'md',round:!square,ration:1,padding:'xxxs',height:sizeCode,width:sizeCode,br:sizeCode,border:1,center:true,pointer:true,hover:{opacity:0.7}};};};export function FloatingButton(_ref4){var _ref4$useSafeArea=_ref4.useSafeArea,useSafeArea=_ref4$useSafeArea===void 0?true:_ref4$useSafeArea,rootProps=_objectWithoutProperties(_ref4,_excluded);var insets=useSafeAreaInsets();var bottomInset=useSafeArea?insets.bottom:0;var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('FloatingButton'),useDefaultModifier(DEFAULT_PROPS({bottomInset:bottomInset})),useHoverConverter,useCursorModifier,useFullColorModifier,useDisplayModifier,useStateModifier,useSizeModifier,usePositionModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useFlexWrapperModifier,useBackgroundModifier,useBorderModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],loading=_pipe2$.loading,fontColor=_pipe2$.fontColor,color=_pipe2$.color,sizeCode=_pipe2$.sizeCode,formattedProps=_pipe2[1];sizeCode=moveScale(sizeCode,1);var icon=formattedProps.icon,iconProps=formattedProps.iconProps,size=formattedProps.size,props=_objectWithoutProperties(formattedProps,_excluded2);var content=_jsx(Icon,Object.assign({flex:true,color:fontColor,size:sizeCode,name:icon,loading:loading},iconProps));if(loading)content=_jsx(Loading,{size:sizeCode,color:fontColor});return _jsx(AbsTouchableOpacity,Object.assign({className:"neko-floating-button neko-wave-click-effect",type:"button"},props,{children:content}));}
@@ -1 +1 @@
1
- export*from"./Button";export*from"./Link";export*from"./Pressable";export*from"./Dropdown";export*from"./Breadcrumb";export*from"./menu/Menu";
1
+ export*from"./Button";export*from"./FloatingButton";export*from"./Link";export*from"./Pressable";export*from"./Dropdown";export*from"./Breadcrumb";export*from"./menu/Menu";
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/menu/VerticalMenu.js";var _excluded=["item","linkPaddingH","linkPaddingV","handlePress","linkProps","activeIndex","activeKey","activeColor","color","sizeCode","index"],_excluded2=["active","key"],_excluded3=["item"],_excluded4=["gap","items","onChange","onChangeIndex"];import{omit,pipe}from'ramda';import React from'react';import tinycolor from'tinycolor2';import{Divider}from"../../helpers/Separator";import{IconText}from"../../presentation/IconLabel";import{Link}from"../Link";import{SubmenuWrapper}from"./SubmenuWrapper";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{useColorConverter}from"../../../modifiers/colorConverter";import{useSizeConverter}from"../../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";function LinkItem(_ref){var item=_ref.item,_ref$linkPaddingH=_ref.linkPaddingH,linkPaddingH=_ref$linkPaddingH===void 0?'md':_ref$linkPaddingH,_ref$linkPaddingV=_ref.linkPaddingV,linkPaddingV=_ref$linkPaddingV===void 0?'sm':_ref$linkPaddingV,handlePress=_ref.handlePress,linkProps=_ref.linkProps,activeIndex=_ref.activeIndex,activeKey=_ref.activeKey,_ref$activeColor=_ref.activeColor,activeColor=_ref$activeColor===void 0?'primary':_ref$activeColor,color=_ref.color,sizeCode=_ref.sizeCode,index=_ref.index,props=_objectWithoutProperties(_ref,_excluded);activeColor=activeColor||'primary';var _omit=omit(['onClick','onPress'],item),active=_omit.active,key=_omit.key,childProps=_objectWithoutProperties(_omit,_excluded2);if(!active&&activeIndex>=0)active=activeIndex===index;if(!active&&activeKey!==undefined)active=activeKey===item.key;var bg=active&&tinycolor(color).setAlpha(0.03).toString();return _jsx(SubmenuWrapper,{item:item,onChange:handlePress,activeKey:activeKey,color:color,children:_jsx(Link,Object.assign({fullW:true,center:true,paddingH:linkPaddingH,paddingV:linkPaddingV,marginR:3,borderL:3,marginV:-4,borderColor:active?activeColor:'transparent',bg:bg,transition:"border-color 0.5s ease, background 0.3s ease",hover:{br:0}},linkProps,{onPress:function onPress(){return handlePress(item,index);},children:_jsx(IconText,Object.assign({addingV:active&&4,color:active?activeColor:color,fullW:true,size:sizeCode},childProps))}))});}function DividerItem(_ref2){var _ref2$linkPaddingH=_ref2.linkPaddingH,linkPaddingH=_ref2$linkPaddingH===void 0?'md':_ref2$linkPaddingH,item=_ref2.item;var content=_jsx(Divider,Object.assign({height:"xxs",line:true},item));if(!item.label)return content;return _jsxs(_Fragment,{children:[content,_jsx(Text,Object.assign({size:"xs",color:"text4",paddingH:linkPaddingH||'md',strong:true},item))]});}function Item(_ref3){var item=_ref3.item,props=_objectWithoutProperties(_ref3,_excluded3);if(item.type==='divider')return _jsx(DividerItem,Object.assign({item:item},props));return _jsx(LinkItem,Object.assign({item:item},props));}export function VerticalMenu(rootProps){var _this=this;var _pipe=pipe(useColorConverter('text'),useSizeConverter('icons','md'),useThemeComponentModifier('VerticalMenu'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var _formattedProps$gap=formattedProps.gap,gap=_formattedProps$gap===void 0?'sm':_formattedProps$gap,items=formattedProps.items,onChange=formattedProps.onChange,onChangeIndex=formattedProps.onChangeIndex,props=_objectWithoutProperties(formattedProps,_excluded4);var handlePress=React.useCallback(function(item,index){if(!!onChange)onChange(item,index);if(!!onChangeIndex)onChangeIndex(index);if(!!item.onPress)item.onPress();if(!!item.onClick)item.onClick();},[onChange,onChangeIndex]);return _jsx(View,Object.assign({className:"neko-vertical-menu",gap:gap,width:"100%"},props,{children:items.map(function(item,index){return _jsx(Item,Object.assign({item:item,handlePress:handlePress,color:color,sizeCode:sizeCode,index:index},props),item.key||index);})}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/menu/VerticalMenu.js";var _excluded=["item","linkPaddingH","linkPaddingV","linkMinHeight","handlePress","linkProps","activeIndex","activeKey","activeColor","color","sizeCode","index"],_excluded2=["active","key"],_excluded3=["item"],_excluded4=["gap","items","onChange","onChangeIndex","withDivider"];import{omit,pipe}from'ramda';import React from'react';import tinycolor from'tinycolor2';import{Divider}from"../../helpers/Separator";import{IconText}from"../../presentation/IconLabel";import{Link}from"../Link";import{List}from"../../list/FlatList";import{SubmenuWrapper}from"./SubmenuWrapper";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{moveScale}from"../../../theme/helpers/sizeScale";import{useColorConverter}from"../../../modifiers/colorConverter";import{useSizeConverter}from"../../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";function LinkItem(_ref){var item=_ref.item,_ref$linkPaddingH=_ref.linkPaddingH,linkPaddingH=_ref$linkPaddingH===void 0?'md':_ref$linkPaddingH,_ref$linkPaddingV=_ref.linkPaddingV,linkPaddingV=_ref$linkPaddingV===void 0?'xs':_ref$linkPaddingV,linkMinHeight=_ref.linkMinHeight,handlePress=_ref.handlePress,linkProps=_ref.linkProps,activeIndex=_ref.activeIndex,activeKey=_ref.activeKey,_ref$activeColor=_ref.activeColor,activeColor=_ref$activeColor===void 0?'primary':_ref$activeColor,color=_ref.color,sizeCode=_ref.sizeCode,index=_ref.index,props=_objectWithoutProperties(_ref,_excluded);activeColor=activeColor||'primary';var _omit=omit(['onClick','onPress'],item),active=_omit.active,key=_omit.key,childProps=_objectWithoutProperties(_omit,_excluded2);if(!active&&activeIndex>=0)active=activeIndex===index;if(!active&&activeKey!==undefined)active=activeKey===item.key;var bg=active&&tinycolor(color).setAlpha(0.03).toString();linkMinHeight=linkMinHeight||moveScale(sizeCode,1);return _jsx(SubmenuWrapper,{item:item,onChange:handlePress,activeKey:activeKey,color:color,children:_jsx(Link,Object.assign({fullW:true,center:true,paddingH:linkPaddingH,paddingV:linkPaddingV,minHeight:linkMinHeight,marginR:3,borderL:3,brColor:active?activeColor:'transparent',bg:bg,transition:"border-color 0.5s ease, background 0.3s ease",hover:{br:0}},linkProps,{onPress:function onPress(){return handlePress(item,index);},children:_jsx(IconText,Object.assign({addingV:active&&4,color:active?activeColor:color,fullW:true,size:sizeCode},childProps))}))});}function DividerItem(_ref2){var _ref2$linkPaddingH=_ref2.linkPaddingH,linkPaddingH=_ref2$linkPaddingH===void 0?'md':_ref2$linkPaddingH,item=_ref2.item;var content=_jsx(Divider,Object.assign({height:"xxs",line:true},item));if(!item.label)return content;return _jsxs(_Fragment,{children:[content,_jsx(Text,Object.assign({size:"xs",color:"text4",paddingV:"xs",paddingH:linkPaddingH||'md',strong:true},item))]});}function Item(_ref3){var item=_ref3.item,props=_objectWithoutProperties(_ref3,_excluded3);if(item.type==='divider')return _jsx(DividerItem,Object.assign({item:item},props));return _jsx(LinkItem,Object.assign({item:item},props));}export function VerticalMenu(rootProps){var _this=this;var _pipe=pipe(useColorConverter('text'),useSizeConverter('icons','md'),useThemeComponentModifier('VerticalMenu'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var _formattedProps$gap=formattedProps.gap,gap=_formattedProps$gap===void 0?'sm':_formattedProps$gap,items=formattedProps.items,onChange=formattedProps.onChange,onChangeIndex=formattedProps.onChangeIndex,withDivider=formattedProps.withDivider,props=_objectWithoutProperties(formattedProps,_excluded4);var handlePress=React.useCallback(function(item,index){if(!!onChange)onChange(item,index);if(!!onChangeIndex)onChangeIndex(index);if(!!item.onPress)item.onPress();if(!!item.onClick)item.onClick();},[onChange,onChangeIndex]);return _jsx(View,Object.assign({className:"neko-vertical-menu",gap:gap,width:"100%"},props,{children:_jsx(List,{data:items,keyExtractor:function keyExtractor(item,index){return item.key||index;},divider:withDivider,renderItem:function renderItem(_ref4){var item=_ref4.item,index=_ref4.index;return _jsx(Item,Object.assign({item:item,handlePress:handlePress,color:color,sizeCode:sizeCode,index:index},props),item.key||index);}})}));return _jsx(View,Object.assign({className:"neko-vertical-menu",gap:gap,width:"100%"},props,{children:items.map(function(item,index){return _jsx(Item,Object.assign({item:item,handlePress:handlePress,color:color,sizeCode:sizeCode,index:index},props),item.key||index);})}));}
@@ -1 +1 @@
1
- import React from'react';export function useCalendarDays(currentMonth){return React.useMemo(function(){var startWeekday=currentMonth.startOf('month').day();var daysInMonth=currentMonth.daysInMonth();var blanks=Array.from({length:startWeekday},function(){return null;});var days=Array.from({length:daysInMonth},function(_,i){return i+1;});var cells=[].concat(blanks,days);return{cells:cells};},[currentMonth.month(),currentMonth.year()]);}
1
+ import dayjs from'dayjs';import React from'react';export function useCalendarDays(currentMonth){return React.useMemo(function(){var _currentMonth;if(!((_currentMonth=currentMonth)!=null&&_currentMonth.isValid!=null&&_currentMonth.isValid()))currentMonth=dayjs();var startWeekday=currentMonth.startOf('month').day();var daysInMonth=currentMonth.daysInMonth();var blanks=Array.from({length:startWeekday},function(){return null;});var days=Array.from({length:daysInMonth},function(_,i){return i+1;});var cells=[].concat(blanks,days);return{cells:cells};},[currentMonth.month(),currentMonth.year()]);}
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/feedback/alerter.js";var _excluded=["width","closeLabel","hideClose"];import{is}from'ramda';import{Button}from"../actions";import{Result}from"../presentation";import{useModalOpener}from"../structure/modal";import{jsx as _jsx}from"react/jsx-runtime";export function useAlerter(){var _this=this;var _useModalOpener=useModalOpener(),open=_useModalOpener.open;var alert=function alert(data,type){if(is(String,data))data={title:data};var _ref=data||{},width=_ref.width,closeLabel=_ref.closeLabel,hideClose=_ref.hideClose,resultProps=_objectWithoutProperties(_ref,_excluded);open(function(_ref2){var onClose=_ref2.onClose;return{content:_jsx(Result,Object.assign({},resultProps,{type:type,padding:0,paddingT:"lg",paddingB:"sm"})),footer:!hideClose&&_jsx(Button,{sm:true,label:closeLabel||'Close',outline:true,color:"text_op40",onPress:onClose,fullW:true}),footerProps:{borderT:false},width:width||350};});};return{alert:alert,info:function info(data){return alert(data,'info');},error:function error(data){return alert(data,'error');},warning:function warning(data){return alert(data,'warning');},success:function success(data){return alert(data,'success');}};}
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/feedback/alerter.js";var _excluded=["width","closeLabel","hideClose"];import{is}from'ramda';import{Button}from"../actions";import{Result}from"../presentation";import{useModalOpener}from"../structure/modal";import{jsx as _jsx}from"react/jsx-runtime";export function useAlerter(){var _this=this;var _useModalOpener=useModalOpener(),open=_useModalOpener.open;var alert=function alert(data,type){if(is(String,data))data={title:data};var _ref=data||{},width=_ref.width,closeLabel=_ref.closeLabel,hideClose=_ref.hideClose,resultProps=_objectWithoutProperties(_ref,_excluded);open(function(_ref2){var onClose=_ref2.onClose;return{content:_jsx(Result,Object.assign({},resultProps,{type:type,padding:0,paddingT:"lg",paddingB:"sm"})),footer:!hideClose&&_jsx(Button,{sm:true,label:closeLabel||'Close',outline:true,color:"text_op40",onPress:onClose,fullW:true}),footerProps:{borderT:false,paddingV:'md'},width:width||350};});};return{alert:alert,info:function info(data){return alert(data,'info');},error:function error(data){return alert(data,'error');},warning:function warning(data){return alert(data,'warning');},success:function success(data){return alert(data,'success');}};}
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _excluded=["width","cancelLabel","confirmLabel","onConfirm"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/feedback/confirmer.js";import{is}from'ramda';import React from'react';import{Button}from"../actions";import{RESULT_TYPES}from"../presentation/Result";import{Result}from"../presentation";import{View}from"../structure/View";import{useModalOpener}from"../structure/modal";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function Footer(_ref){var _RESULT_TYPES$type;var cancelLabel=_ref.cancelLabel,confirmLabel=_ref.confirmLabel,onConfirm=_ref.onConfirm,type=_ref.type,onClose=_ref.onClose;var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),loading=_React$useState2[0],setLoading=_React$useState2[1];var color=((_RESULT_TYPES$type=RESULT_TYPES[type])==null?void 0:_RESULT_TYPES$type.color)||'primary';return _jsxs(View,{row:true,gap:"sm",centerV:true,children:[_jsx(Button,{sm:true,label:cancelLabel||'Cancel',outline:true,color:"text_op40",onPress:onClose,flex:true,disabled:loading}),_jsx(Button,{disabled:loading,loading:loading,sm:true,label:confirmLabel||'Confirm',color:color,onPress:function onPress(){setLoading(true);Promise.resolve(onConfirm==null?void 0:onConfirm()).then(function(result){if(result!==false){onClose();}}).finally(function(){setLoading(false);});},flex:true})]});}export function useConfirmer(){var _this=this;var _useModalOpener=useModalOpener(),open=_useModalOpener.open;var confirm=function confirm(data,type){var _ref2=data||{},width=_ref2.width,cancelLabel=_ref2.cancelLabel,confirmLabel=_ref2.confirmLabel,onConfirm=_ref2.onConfirm,resultProps=_objectWithoutProperties(_ref2,_excluded);open(function(_ref3){var onClose=_ref3.onClose;return{content:_jsx(Result,Object.assign({},resultProps,{type:type,padding:0,paddingT:"lg",paddingB:"sm"})),footer:_jsx(Footer,{cancelLabel:cancelLabel,confirmLabel:confirmLabel,onConfirm:onConfirm,type:type,onClose:onClose}),footerProps:{borderT:false},width:width||350};});};return{confirm:confirm,info:function info(data){return confirm(data,'info');},error:function error(data){return confirm(data,'error');},warning:function warning(data){return confirm(data,'warning');},success:function success(data){return confirm(data,'success');}};}
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _excluded=["width","cancelLabel","confirmLabel","onConfirm"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/feedback/confirmer.js";import{is}from'ramda';import React from'react';import{Button}from"../actions";import{RESULT_TYPES}from"../presentation/Result";import{Result}from"../presentation";import{View}from"../structure/View";import{useModalOpener}from"../structure/modal";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function Footer(_ref){var _RESULT_TYPES$type;var cancelLabel=_ref.cancelLabel,confirmLabel=_ref.confirmLabel,onConfirm=_ref.onConfirm,type=_ref.type,onClose=_ref.onClose;var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),loading=_React$useState2[0],setLoading=_React$useState2[1];var color=((_RESULT_TYPES$type=RESULT_TYPES[type])==null?void 0:_RESULT_TYPES$type.color)||'primary';return _jsxs(View,{row:true,gap:"xs",centerV:true,children:[_jsx(Button,{sm:true,label:cancelLabel||'Cancel',outline:true,color:"text_op40",onPress:onClose,flex:true,disabled:loading}),_jsx(Button,{disabled:loading,loading:loading,sm:true,label:confirmLabel||'Confirm',color:color,onPress:function onPress(){setLoading(true);Promise.resolve(onConfirm==null?void 0:onConfirm()).then(function(result){if(result!==false){onClose();}}).finally(function(){setLoading(false);});},flex:true})]});}export function useConfirmer(){var _this=this;var _useModalOpener=useModalOpener(),open=_useModalOpener.open;var confirm=function confirm(data,type){var _ref2=data||{},width=_ref2.width,cancelLabel=_ref2.cancelLabel,confirmLabel=_ref2.confirmLabel,onConfirm=_ref2.onConfirm,resultProps=_objectWithoutProperties(_ref2,_excluded);open(function(_ref3){var onClose=_ref3.onClose;return{content:_jsx(Result,Object.assign({},resultProps,{type:type,padding:0,paddingT:"lg",paddingB:"sm"})),footer:_jsx(Footer,{cancelLabel:cancelLabel,confirmLabel:confirmLabel,onConfirm:onConfirm,type:type,onClose:onClose}),footerProps:{borderT:false,paddingV:'md'},width:width||350};});};return{confirm:confirm,info:function info(data){return confirm(data,'info');},error:function error(data){return confirm(data,'error');},warning:function warning(data){return confirm(data,'warning');},success:function success(data){return confirm(data,'success');}};}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/helpers/ConditionalLazyRender.js";var _excluded=["children"];import{LazyRender}from"./LazyRender";import{jsx as _jsx}from"react/jsx-runtime";export function ConditionalLazyRender(_ref){var children=_ref.children,props=_objectWithoutProperties(_ref,_excluded);if(!props.delay&&!props.whenVisible&&!props.destroyOffScreen)return children;return _jsx(LazyRender,Object.assign({},props,{children:children}));}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/helpers/LazyAction.js";var _excluded=["children","disabled","action","minHeight"];import{is}from'ramda';import React from'react';import{LazyRender}from"./LazyRender";import{jsx as _jsx}from"react/jsx-runtime";function InnerContent(_ref){var action=_ref.action;React.useEffect(function(){action==null?void 0:action();},[]);return false;}export function LazyAction(_ref2){var children=_ref2.children,disabled=_ref2.disabled,action=_ref2.action,initMinHeight=_ref2.minHeight,props=_objectWithoutProperties(_ref2,_excluded);if(!action||!is(Function,action)||!!disabled)return false;return _jsx(LazyRender,Object.assign({whenVisible:true,minHeight:2},props,{children:_jsx(InnerContent,{action:action})}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/helpers/LazyRender.js";var _excluded=["children","delay","whenVisible","destroyOffScreen","minHeight"];import React from'react';import{View}from"../structure/View";import{jsx as _jsx}from"react/jsx-runtime";export function LazyRender(_ref){var children=_ref.children,_ref$delay=_ref.delay,delay=_ref$delay===void 0?0:_ref$delay,_ref$whenVisible=_ref.whenVisible,whenVisible=_ref$whenVisible===void 0?false:_ref$whenVisible,_ref$destroyOffScreen=_ref.destroyOffScreen,destroyOffScreen=_ref$destroyOffScreen===void 0?false:_ref$destroyOffScreen,initMinHeight=_ref.minHeight,props=_objectWithoutProperties(_ref,_excluded);var ref=React.useRef(null);var _React$useState=React.useState(!whenVisible&&!delay),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var _React$useState3=React.useState(initMinHeight),_React$useState4=_slicedToArray(_React$useState3,2),minHeight=_React$useState4[0],setMinHeight=_React$useState4[1];React.useEffect(function(){if(!whenVisible)return;var observer=new IntersectionObserver(function(_ref2){var _ref3=_slicedToArray(_ref2,1),entry=_ref3[0];setOpen(function(open){if(entry.isIntersecting)return true;return destroyOffScreen?false:open;});},{threshold:0});if(ref.current)observer.observe(ref.current);return function(){if(ref.current)observer.unobserve(ref.current);};},[whenVisible,destroyOffScreen]);React.useEffect(function(){if(delay>0&&!whenVisible){var timer=setTimeout(function(){return setOpen(true);},delay);return function(){return clearTimeout(timer);};}},[]);React.useEffect(function(){if(ref.current&&open){setMinHeight(ref.current.offsetHeight);}},[open]);return _jsx(View,Object.assign({className:"neko-lazy-render"},props,{minHeight:minHeight,ref:ref,children:open?children:null}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/helpers/LazyRender.js";var _excluded=["children","delay","whenVisible","destroyOffScreen","minHeight"];import React from'react';import{View}from"../structure/View";import{jsx as _jsx}from"react/jsx-runtime";export function LazyRender(_ref){var children=_ref.children,_ref$delay=_ref.delay,delay=_ref$delay===void 0?0:_ref$delay,_ref$whenVisible=_ref.whenVisible,whenVisible=_ref$whenVisible===void 0?false:_ref$whenVisible,_ref$destroyOffScreen=_ref.destroyOffScreen,destroyOffScreen=_ref$destroyOffScreen===void 0?false:_ref$destroyOffScreen,initMinHeight=_ref.minHeight,props=_objectWithoutProperties(_ref,_excluded);var ref=React.useRef(null);var _React$useState=React.useState(!whenVisible&&!delay),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var _React$useState3=React.useState(initMinHeight),_React$useState4=_slicedToArray(_React$useState3,2),minHeight=_React$useState4[0],setMinHeight=_React$useState4[1];React.useEffect(function(){if(!whenVisible)return;var observer=new IntersectionObserver(function(_ref2){var _ref3=_slicedToArray(_ref2,1),entry=_ref3[0];setOpen(function(open){if(entry.isIntersecting)return true;return destroyOffScreen?false:open;});},{threshold:0});if(ref.current)observer.observe(ref.current);return function(){if(ref.current)observer.unobserve(ref.current);};},[whenVisible,destroyOffScreen]);React.useEffect(function(){if(delay>0&&!whenVisible){var timer=setTimeout(function(){return setOpen(true);},delay);return function(){return clearTimeout(timer);};}},[]);React.useEffect(function(){if(ref.current){setMinHeight(ref.current.offsetHeight);}},[open]);return _jsx(View,Object.assign({className:"neko-lazy-render",flex:"0 0 auto"},props,{minHeight:minHeight,ref:ref,children:open?children:null}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/helpers/LazyRender.native.js";var _excluded=["children","delay","whenVisible","destroyOffScreen","minHeight"];import{Dimensions}from"react-native-web";import React from'react';import{View}from"../structure/View";import{jsx as _jsx}from"react/jsx-runtime";export function LazyRender(_ref){var children=_ref.children,_ref$delay=_ref.delay,delay=_ref$delay===void 0?0:_ref$delay,_ref$whenVisible=_ref.whenVisible,whenVisible=_ref$whenVisible===void 0?false:_ref$whenVisible,_ref$destroyOffScreen=_ref.destroyOffScreen,destroyOffScreen=_ref$destroyOffScreen===void 0?false:_ref$destroyOffScreen,initMinHeight=_ref.minHeight,props=_objectWithoutProperties(_ref,_excluded);var ref=React.useRef(null);var _React$useState=React.useState(!whenVisible&&!delay),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var _React$useState3=React.useState(initMinHeight),_React$useState4=_slicedToArray(_React$useState3,2),minHeight=_React$useState4[0],setMinHeight=_React$useState4[1];var windowHeight=Dimensions.get('window').height;var checkVisibility=React.useCallback(function(){if(!ref.current)return;ref.current.measureInWindow(function(x,y,width,height){var isVisible=y+height>0&&y<windowHeight;setOpen(function(prev){if(isVisible)return true;return destroyOffScreen?false:prev;});});},[windowHeight,destroyOffScreen]);React.useEffect(function(){if(whenVisible){checkVisibility();var interval=setInterval(checkVisibility,100);return function(){return clearInterval(interval);};}},[whenVisible,checkVisibility]);React.useEffect(function(){if(delay>0&&!whenVisible){var timer=setTimeout(function(){return setOpen(true);},delay);return function(){return clearTimeout(timer);};}},[]);React.useEffect(function(){if(ref.current&&open){ref.current.measure(function(x,y,width,height){setMinHeight(height);});}},[open]);return _jsx(View,Object.assign({className:"neko-lazy-render"},props,{minHeight:minHeight,ref:ref,children:open?children:null}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/helpers/LazyRender.native.js";var _excluded=["children","delay","whenVisible","destroyOffScreen","minHeight"];import{Dimensions}from"react-native-web";import React from'react';import{View}from"../structure/View";import{jsx as _jsx}from"react/jsx-runtime";export function LazyRender(_ref){var children=_ref.children,_ref$delay=_ref.delay,delay=_ref$delay===void 0?0:_ref$delay,_ref$whenVisible=_ref.whenVisible,whenVisible=_ref$whenVisible===void 0?false:_ref$whenVisible,_ref$destroyOffScreen=_ref.destroyOffScreen,destroyOffScreen=_ref$destroyOffScreen===void 0?false:_ref$destroyOffScreen,initMinHeight=_ref.minHeight,props=_objectWithoutProperties(_ref,_excluded);var ref=React.useRef(null);var _React$useState=React.useState(!whenVisible&&!delay),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var _React$useState3=React.useState(initMinHeight),_React$useState4=_slicedToArray(_React$useState3,2),minHeight=_React$useState4[0],setMinHeight=_React$useState4[1];var windowHeight=Dimensions.get('window').height;var checkVisibility=React.useCallback(function(){if(!ref.current)return;ref.current.measureInWindow(function(x,y,width,height){var isVisible=y+height>0&&y<windowHeight;setOpen(function(prev){if(isVisible)return true;return destroyOffScreen?false:prev;});});},[windowHeight,destroyOffScreen]);React.useEffect(function(){if(whenVisible){checkVisibility();var interval=setInterval(checkVisibility,100);return function(){return clearInterval(interval);};}},[whenVisible,checkVisibility]);React.useEffect(function(){if(delay>0&&!whenVisible){var timer=setTimeout(function(){return setOpen(true);},delay);return function(){return clearTimeout(timer);};}},[]);React.useEffect(function(){if(ref.current&&open){ref.current.measure(function(x,y,width,height){setMinHeight(height);});}},[open]);return _jsx(View,Object.assign({className:"neko-lazy-render",flex:"0 0 auto"},props,{minHeight:minHeight,ref:ref,children:open?children:null}));}
@@ -1 +1 @@
1
- export*from"./Separator";export*from"./Responsive";export*from"./VerticalView";export*from"./PortalHandler";export*from"./Portal";export*from"./LazyRender";
1
+ export*from"./Separator";export*from"./Responsive";export*from"./VerticalView";export*from"./PortalHandler";export*from"./Portal";export*from"./LazyRender";export*from"./ConditionalLazyRender";
@@ -1 +1 @@
1
- export*from"./actions";export*from"./animations";export*from"./form";export*from"./presentation";export*from"./structure";export*from"./text";export*from"./helpers";export*from"./inputs";export*from"./state";export*from"./layout";export*from"./table";export*from"./feedback";export*from"./calendar";export*from"./list";
1
+ export*from"./actions";export*from"./animations";export*from"./form";export*from"./presentation";export*from"./structure";export*from"./text";export*from"./helpers";export*from"./inputs";export*from"./state";export*from"./layout";export*from"./table";export*from"./feedback";export*from"./calendar";export*from"./list";export*from"./tabs";export*from"./theme";
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/DateInput.js";var _excluded=["value","onChange","min","max","onCheckDisabled","placement","type","format","useBottomDrawer"];import React from'react';import advancedFormat from'dayjs/esm/plugin/advancedFormat';import dayjs from'dayjs';import weekOfYear from'dayjs/esm/plugin/weekOfYear';import{LinkInput}from"./LinkInput";import{View}from"../structure/View";import{useResponsiveValue}from"../../responsive";dayjs.extend(advancedFormat);dayjs.extend(weekOfYear);import{DatePicker}from"./datePicker/DatePicker";import{MaskInput}from"./MaskInput";import{Popover}from"../structure/popover/Popover";import{isValidDate}from"../calendar/_helpers/dateDisabled";import{jsx as _jsx}from"react/jsx-runtime";export function getDateInputDefaultFormat(type){switch(type){case'year':return'YYYY';case'quarter':return'YYYY-Q';case'month':return'YYYY-MM';case'week':return'YYYY-ww';default:return'YYYY-MM-DD';}}export function DateInput(_ref){var _this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,placement=_ref.placement,_ref$type=_ref.type,type=_ref$type===void 0?'day':_ref$type,format=_ref.format,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{native:true,sm:true,md:true}:_ref$useBottomDrawer,props=_objectWithoutProperties(_ref,_excluded);useBottomDrawer=useResponsiveValue(useBottomDrawer);format=format||getDateInputDefaultFormat(type);if(value==='')value=undefined;var _React$useState=React.useState(''),_React$useState2=_slicedToArray(_React$useState,2),inputValue=_React$useState2[0],setInputValue=_React$useState2[1];var _React$useState3=React.useState(value),_React$useState4=_slicedToArray(_React$useState3,2),localValue=_React$useState4[0],setLocalValue=_React$useState4[1];value=value||localValue;var validations={min:min,max:max,onCheckDisabled:onCheckDisabled};var handleChange=function handleChange(v){if(!isValidDate(v,format,validations))return;v=!!v?dayjs(v):null;setLocalValue(v);onChange==null?void 0:onChange(v);};var handleChangeInput=function handleChangeInput(v){setInputValue(v);if(!isValidDate(v,format,validations))return;handleChange(v);};var onBlur=function onBlur(){if(isValidDate(inputValue,format,validations))return;handleChange(null);setInputValue('');};React.useEffect(function(){setInputValue(!!value?dayjs(value).format(format):'');},[value]);var Input=useBottomDrawer?LinkInput:MaskInput;return _jsx(Popover,{trigger:"click",placement:placement||'bottomLeft',snapPoints:[350],useBottomDrawer:useBottomDrawer,renderContent:function renderContent(_ref2){var onClose=_ref2.onClose;return _jsx(View,{flex:true,centerH:true,children:_jsx(DatePicker,Object.assign({value:value,onChange:function onChange(v){handleChange(v);onClose();}},validations,{type:type}))});},children:_jsx(Input,Object.assign({value:inputValue,onChange:handleChangeInput,suffixIcon:"calendar-line",suffixIconColor:"text4",onBlur:onBlur,mask:format.replace(/[DMYQwW]/gi,'9')},props))});}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";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","useBottomDrawer"];import React from'react';import advancedFormat from'dayjs/esm/plugin/advancedFormat';import dayjs from'dayjs';import weekOfYear from'dayjs/esm/plugin/weekOfYear';import{LinkInput}from"./LinkInput";import{View}from"../structure/View";import{useResponsiveValue}from"../../responsive";dayjs.extend(advancedFormat);dayjs.extend(weekOfYear);import{DatePicker}from"./datePicker/DatePicker";import{MaskInput}from"./MaskInput";import{Popover}from"../structure/popover/Popover";import{isValidDate}from"../calendar/_helpers/dateDisabled";import{jsx as _jsx}from"react/jsx-runtime";export function getDateInputDefaultFormat(type){switch(type){case'year':return'YYYY';case'quarter':return'YYYY-Q';case'month':return'YYYY-MM';case'week':return'YYYY-ww';default:return'YYYY-MM-DD';}}function FullWidthInputWrapper(_ref){var ref=_ref.ref,props=_objectWithoutProperties(_ref,_excluded);return _jsx(View,{fullW:true,ref:ref,children:_jsx(MaskInput,Object.assign({},props))});}export function DateInput(_ref2){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,_ref2$useBottomDrawer=_ref2.useBottomDrawer,useBottomDrawer=_ref2$useBottomDrawer===void 0?{native:true,sm:true,md:true}:_ref2$useBottomDrawer,props=_objectWithoutProperties(_ref2,_excluded2);useBottomDrawer=useResponsiveValue(useBottomDrawer);format=format||getDateInputDefaultFormat(type);if(value==='')value=undefined;var _React$useState=React.useState(''),_React$useState2=_slicedToArray(_React$useState,2),inputValue=_React$useState2[0],setInputValue=_React$useState2[1];var _React$useState3=React.useState(value),_React$useState4=_slicedToArray(_React$useState3,2),localValue=_React$useState4[0],setLocalValue=_React$useState4[1];value=value||localValue;var validations={min:min,max:max,onCheckDisabled:onCheckDisabled};var handleChange=function handleChange(v){if(!isValidDate(v,format,validations))return;v=!!v?dayjs(v):null;setLocalValue(v);onChange==null?void 0:onChange(v);};var handleChangeInput=function handleChangeInput(v){setInputValue(v);if(!isValidDate(v,format,validations))return;handleChange(v);};var onBlur=function onBlur(){if(isValidDate(inputValue,format,validations))return;handleChange(null);setInputValue('');};React.useEffect(function(){setInputValue(!!value?dayjs(value).format(format):'');},[value]);var Input=useBottomDrawer?LinkInput:FullWidthInputWrapper;return _jsx(Popover,{trigger:"click",placement:placement||'bottomLeft',snapPoints:[350],useBottomDrawer:useBottomDrawer,bottomDrawerProps:{contentProps:{padding:'md'}},watch:[(_value=value)==null?void 0:_value.format==null?void 0:_value.format('YYYYMMDD')],renderContent:function renderContent(_ref3){var onClose=_ref3.onClose;return _jsx(View,{flex:true,centerH:true,children:_jsx(DatePicker,Object.assign({value:value,onChange:function onChange(v){handleChange(v);onClose();}},validations,{type:type}))});},children:_jsx(Input,Object.assign({value:inputValue,onChange:handleChangeInput,suffixIcon:"calendar-line",suffixIconColor:"text4",onBlur:onBlur,mask:format.replace(/[DMYQwW]/gi,'9')},props))});}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/InputWrapper.js";var _excluded=["prefix","suffix","prefixIcon","prefixIconColor","suffixIcon","suffixIconColor","loading","error","children","ref"];import{pipe,is}from'ramda';import React from'react';import{Icon}from"../presentation/Icon";import{Loading}from"../state/Loading";import{Text}from"../text/Text";import{View}from"../structure/View";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS={fullW:'100%',paddingH:'sm',bg:'overlayBG',border:true,br:'md',row:true,gap:'sm'};export function InputWrapper(_ref){var prefix=_ref.prefix,suffix=_ref.suffix,prefixIcon=_ref.prefixIcon,prefixIconColor=_ref.prefixIconColor,suffixIcon=_ref.suffixIcon,suffixIconColor=_ref.suffixIconColor,loading=_ref.loading,error=_ref.error,children=_ref.children,ref=_ref.ref,rootProps=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),hover=_React$useState2[0],setHover=_React$useState2[1];var fallbackInputRef=React.useRef();var inputRef=ref||fallbackInputRef;var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('InputWrapper'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,props=_pipe2[1];var handlePress=function handlePress(){var _inputRef$current;inputRef==null?void 0:(_inputRef$current=inputRef.current)==null?void 0:_inputRef$current.focus==null?void 0:_inputRef$current.focus();};if(!!prefix&&is(String,prefix))prefix=_jsx(Text,{children:prefix});if(!!suffix&&is(String,suffix))suffix=_jsx(Text,{children:suffix});if(!prefix&&!!prefixIcon)prefix=_jsx(Icon,{name:prefixIcon,size:sizeCode,color:prefixIconColor});if(!suffix&&!!suffixIcon)suffix=_jsx(Icon,{name:suffixIcon,size:sizeCode,color:suffixIconColor});if(!prefix&&!!error)suffix=_jsx(Icon,{name:"close-circle-fill",size:sizeCode,red:true});if(!!loading)suffix=_jsx(Loading,{size:sizeCode});var borderColor=!!hover?'primary_op40':'divider';if(!!error)borderColor='red_op40';var child=React.Children.only(children);var childWithProps=React.cloneElement(child,Object.assign({},child.props,{ref:inputRef}));return _jsxs(View,Object.assign({className:"neko-input-wrapper",height:size,onPress:handlePress,borderColor:borderColor,onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);}},props,{children:[!!prefix&&_jsx(View,{paddingV:5,fullHeight:true,center:true,children:prefix}),_jsx(View,{flex:true,fullH:true,children:childWithProps}),!!suffix&&_jsx(View,{paddingV:5,fullHeight:true,center:true,children:suffix})]}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/InputWrapper.js";var _excluded=["prefix","suffix","prefixIcon","prefixIconColor","suffixIcon","suffixIconColor","loading","error","children","ref"];import{pipe,is}from'ramda';import React from'react';import{Icon}from"../presentation/Icon";import{Loading}from"../state/Loading";import{Text}from"../text/Text";import{View}from"../structure/View";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS={paddingH:'sm',bg:'overlayBG',border:true,br:'md',row:true,gap:'sm'};export function InputWrapper(_ref){var prefix=_ref.prefix,suffix=_ref.suffix,prefixIcon=_ref.prefixIcon,prefixIconColor=_ref.prefixIconColor,suffixIcon=_ref.suffixIcon,suffixIconColor=_ref.suffixIconColor,loading=_ref.loading,error=_ref.error,children=_ref.children,ref=_ref.ref,rootProps=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),hover=_React$useState2[0],setHover=_React$useState2[1];var fallbackInputRef=React.useRef();var inputRef=ref||fallbackInputRef;var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('InputWrapper'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,props=_pipe2[1];var handlePress=function handlePress(){var _inputRef$current;inputRef==null?void 0:(_inputRef$current=inputRef.current)==null?void 0:_inputRef$current.focus==null?void 0:_inputRef$current.focus();};if(!!prefix&&is(String,prefix))prefix=_jsx(Text,{children:prefix});if(!!suffix&&is(String,suffix))suffix=_jsx(Text,{children:suffix});if(!prefix&&!!prefixIcon)prefix=_jsx(Icon,{name:prefixIcon,size:sizeCode,color:prefixIconColor});if(!suffix&&!!suffixIcon)suffix=_jsx(Icon,{name:suffixIcon,size:sizeCode,color:suffixIconColor});if(!prefix&&!!error)suffix=_jsx(Icon,{name:"close-circle-fill",size:sizeCode,red:true});if(!!loading)suffix=_jsx(Loading,{size:sizeCode});var borderColor=!!hover?'primary_op40':'divider';if(!!error)borderColor='red_op40';var child=React.Children.only(children);var childWithProps=React.cloneElement(child,Object.assign({},child.props,{ref:inputRef}));return _jsxs(View,Object.assign({className:"neko-input-wrapper",height:size,onPress:handlePress,borderColor:borderColor,onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);}},props,{children:[!!prefix&&_jsx(View,{paddingV:5,fullHeight:true,center:true,children:prefix}),_jsx(View,{flex:true,fullH:true,children:childWithProps}),!!suffix&&_jsx(View,{paddingV:5,fullHeight:true,center:true,children:suffix})]}));}
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/LinkInput.js";var _excluded=["onPress","onClick","placeholder","value","disabled"];import{InputWrapper}from"./InputWrapper";import{Link}from"../actions/Link";import{Text}from"../text/Text";import{View}from"../structure/View";import{useColors}from"../../theme/ThemeHandler";import{jsx as _jsx}from"react/jsx-runtime";export function LinkInput(_ref){var onPress=_ref.onPress,onClick=_ref.onClick,placeholder=_ref.placeholder,value=_ref.value,disabled=_ref.disabled,props=_objectWithoutProperties(_ref,_excluded);return _jsx(Link,{onPress:!props.loading?onPress||onClick:undefined,flex:true,fullW:true,centerV:true,disabled:disabled,children:_jsx(InputWrapper,Object.assign({},props,{children:_jsx(View,{centerV:true,flex:true,fullW:true,children:_jsx(Text,{color:!!value?'text':'text_op30',label:value||placeholder})})}))});}
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/LinkInput.js";var _excluded=["ref","onPress","onClick","placeholder","value","disabled"];import{InputWrapper}from"./InputWrapper";import{Link}from"../actions/Link";import{Text}from"../text/Text";import{View}from"../structure/View";import{useColors}from"../../theme/ThemeHandler";import{jsx as _jsx}from"react/jsx-runtime";export function LinkInput(_ref){var ref=_ref.ref,onPress=_ref.onPress,onClick=_ref.onClick,placeholder=_ref.placeholder,value=_ref.value,disabled=_ref.disabled,props=_objectWithoutProperties(_ref,_excluded);return _jsx(Link,{ref:ref,onPress:!props.loading?onPress||onClick:undefined,flex:true,fullW:true,centerV:true,disabled:disabled,children:_jsx(InputWrapper,Object.assign({},props,{children:_jsx(View,{centerV:true,flex:true,fullW:true,children:_jsx(Text,{color:!!value?'text':'text_op30',label:value||placeholder,numberOfLines:1})})}))});}
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/NumberInput.js";var _excluded=["onChange","value","useInt","precision","min","max","error"];import{endsWith,is}from'ramda';import React from'react';import{TextInput}from"./TextInput";import{jsx as _jsx}from"react/jsx-runtime";function isValidNumber(stringValue){var _stringValue$toString;var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var _options$min=options.min,min=_options$min===void 0?Number.MIN_SAFE_INTEGER:_options$min,_options$max=options.max,max=_options$max===void 0?Number.MAX_SAFE_INTEGER:_options$max,useInt=options.useInt,precision=options.precision;if(stringValue===null||stringValue===undefined||stringValue==='')return true;if(isNaN(stringValue))return false;var numericValue=parseFloat(stringValue);if(numericValue<min)return false;if(numericValue>max)return false;var decimalPart=stringValue==null?void 0:(_stringValue$toString=stringValue.toString())==null?void 0:_stringValue$toString.split==null?void 0:_stringValue$toString.split('.')[1];if(decimalPart&&is(Number,precision)){if(decimalPart.length>precision)return false;}return true;}export function formatNumericValue(newValue,prevValue){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var _options$min2=options.min,min=_options$min2===void 0?Number.MIN_SAFE_INTEGER:_options$min2,_options$max2=options.max,max=_options$max2===void 0?Number.MAX_SAFE_INTEGER:_options$max2,useInt=options.useInt,precision=options.precision;var numericValue=newValue;if(is(Number,newValue))newValue=newValue.toString();if(newValue===null||newValue===undefined||newValue==='')return null;if(is(String,newValue))newValue=newValue.replace(',','.');if(newValue==='-')return newValue;if(useInt){if(newValue.includes('.'))return prevValue;numericValue=parseInt(newValue,10);}else{var dotsCount=newValue.split('.').length;if(dotsCount>2)return prevValue;if(endsWith('.',newValue))return newValue;numericValue=parseFloat(newValue);}if(isNaN(numericValue))return prevValue;if(numericValue<min)return min;if(numericValue>max)return max;var decimalPart=newValue.split('.')[1];if(decimalPart&&!!precision){if(decimalPart.length>precision)return prevValue;return newValue;}return numericValue;}export function NumberInput(_ref){var _onChange=_ref.onChange,value=_ref.value,useInt=_ref.useInt,precision=_ref.precision,min=_ref.min,max=_ref.max,error=_ref.error,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),hasError=_React$useState2[0],setHasError=_React$useState2[1];var _React$useState3=React.useState(value),_React$useState4=_slicedToArray(_React$useState3,2),inputValue=_React$useState4[0],setInputValue=_React$useState4[1];var _React$useState5=React.useState(value),_React$useState6=_slicedToArray(_React$useState5,2),localValue=_React$useState6[0],setLocalValue=_React$useState6[1];React.useEffect(function(){return setInputValue(value);},[value]);if(useInt)precision=0;if(!useInt&&precision===0)useInt=true;var opts={useInt:useInt,precision:precision,min:min,max:max};return _jsx(TextInput,Object.assign({onChange:function onChange(newValue){var numericValue=formatNumericValue(newValue,localValue,opts);setInputValue((newValue==null?void 0:newValue.toString())||'');setLocalValue(numericValue);_onChange==null?void 0:_onChange(numericValue);setHasError(!isValidNumber(newValue,opts));},onBlur:function onBlur(){setInputValue(localValue);setHasError(!isValidNumber(localValue,opts));},value:inputValue,keyboardType:useInt?'number-pad':'decimal-pad',error:error||hasError},props));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Picker.js";var _excluded=["option","onChange","value","renderOption","useRawOption","multiple","labelKey","valueKey"],_excluded2=["value","initialValue","onChange","disabled","options","renderOption","colProps","useRawOption","multiple","valueKey","labelKey"];import React from'react';import{Col}from"../structure/Col";import{LoadingView}from"../state/LoadingView";import{Row}from"../structure/Row";import{useOptions}from"../../helpers/options";import{jsx as _jsx}from"react/jsx-runtime";function isSelected(value,option){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return!!config.multiple?value==null?void 0:value.some==null?void 0:value.some(function(item){return compareOptionsValues(item,option,config);}):compareOptionsValues(value,option,config);}function compareOptionsValues(optionA,optionB){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var valueKey=config.valueKey||'value';var valueA=(optionA==null?void 0:optionA[valueKey])||optionA;var valueB=(optionB==null?void 0:optionB[valueKey])||optionB;if(!valueA||!valueB)return false;return valueA===valueB;}function formatSingleChangeValue(option,value,_ref){var useRawOption=_ref.useRawOption,selected=_ref.selected,valueKey=_ref.valueKey;var selectedOption=option;var selectedValue=option[valueKey];if(!!useRawOption)selectedValue=option;if(selected){selectedOption=null;selectedValue=null;}return selectedValue;}function formatMultipleChangeValue(option,value,_ref2){var useRawOption=_ref2.useRawOption,selected=_ref2.selected,multiple=_ref2.multiple,valueKey=_ref2.valueKey;var selectedOption=option;var selectedValue=option[valueKey];value=_toConsumableArray(value||[]);if(!!useRawOption)selectedValue=option;if(selected){value=value.filter(function(item){return!isSelected(item,selectedOption,{multiple:multiple,valueKey:valueKey});});}else{value.push(selectedValue);}return value;}function PickerItem(_ref3){var option=_ref3.option,onChange=_ref3.onChange,value=_ref3.value,renderOption=_ref3.renderOption,useRawOption=_ref3.useRawOption,multiple=_ref3.multiple,labelKey=_ref3.labelKey,valueKey=_ref3.valueKey,props=_objectWithoutProperties(_ref3,_excluded);var selected=isSelected(value,option,{multiple:multiple,valueKey:valueKey});var handleChange=function handleChange(){var formatChangeValueFunc=multiple?formatMultipleChangeValue:formatSingleChangeValue;var formattedValue=formatChangeValueFunc(option,value,{selected:selected,useRawOption:useRawOption,valueKey:valueKey});onChange(formattedValue);};return _jsx(Col,Object.assign({},props,{children:renderOption({option:option,selected:selected,onChange:handleChange,valueKey:valueKey,labelKey:labelKey})}));}export function Picker(_ref4){var _this=this;var value=_ref4.value,initialValue=_ref4.initialValue,onChange=_ref4.onChange,disabled=_ref4.disabled,options=_ref4.options,renderOption=_ref4.renderOption,colProps=_ref4.colProps,useRawOption=_ref4.useRawOption,multiple=_ref4.multiple,valueKey=_ref4.valueKey,labelKey=_ref4.labelKey,rootProps=_objectWithoutProperties(_ref4,_excluded2);var _React$useState=React.useState(initialValue),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;onChange=onChange||setLocalValue;var handleChange=function handleChange(v){if(!!disabled)return;setLocalValue(v);onChange==null?void 0:onChange(v);};var _useOptions=useOptions(options,{}),finalOptions=_useOptions.options,isFirstLoad=_useOptions.isFirstLoad;valueKey=valueKey||'value';labelKey=labelKey||'label';if(!renderOption){console.error('Picker requires a renderOption prop');return false;}return _jsx(LoadingView,{active:isFirstLoad,replaceChildren:true,children:_jsx(Row,Object.assign({className:"neko-picker",gap:"md"},rootProps,{children:finalOptions==null?void 0:finalOptions.map==null?void 0:finalOptions.map(function(option){return _jsx(PickerItem,Object.assign({option:option,onChange:handleChange,value:value,renderOption:renderOption,useRawOption:useRawOption,multiple:multiple,valueKey:valueKey,labelKey:labelKey},colProps),option.value);})}))});}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Picker.js";var _excluded=["option","onChange","value","renderOption","useRawOption","multiple","labelKey","valueKey"],_excluded2=["renderItem","options"],_excluded3=["renderItem","options","valueKey"],_excluded4=["value","initialValue","onChange","disabled","options","renderOption","colProps","useRawOption","useFlatList","multiple","valueKey","labelKey","Wrapper"];import{is}from'ramda';import React from'react';import{Col}from"../structure/Col";import{FlatList}from"../list/FlatList";import{LoadingView}from"../state/LoadingView";import{Row}from"../structure/Row";import{normalizeString}from"../../helpers/string";import{useOptions}from"../../helpers/options";import{jsx as _jsx}from"react/jsx-runtime";export function getOption(options,value){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!(options!=null&&options.length))return value;var option=options.find(function(option){return compareOptionsValues(option,value,config);});return option||value;}export function getOptionLabel(options,value){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!(options!=null&&options.length))return'';var labelKey=config.labelKey;var selectedOption=getOption(options,value,config);var label=(selectedOption==null?void 0:selectedOption[labelKey])||value;if(!is(String,label))return'';return label;}export function searchOptions(options,search){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var labelKey=config.labelKey;if(!(options!=null&&options.length))return options;if(!search)return options;return options.filter(function(item){var _normalizeString;return(_normalizeString=normalizeString(item==null?void 0:item[labelKey]))==null?void 0:_normalizeString.includes(normalizeString(search));});}function isSelected(value,option){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return!!config.multiple?value==null?void 0:value.some==null?void 0:value.some(function(item){return compareOptionsValues(item,option,config);}):compareOptionsValues(value,option,config);}function compareOptionsValues(optionA,optionB){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var valueKey=config.valueKey||'value';var valueA=(optionA==null?void 0:optionA[valueKey])||optionA;var valueB=(optionB==null?void 0:optionB[valueKey])||optionB;if(!valueA||!valueB)return false;return valueA===valueB;}function formatSingleChangeValue(option,value,_ref){var useRawOption=_ref.useRawOption,selected=_ref.selected,valueKey=_ref.valueKey;var selectedOption=option;var selectedValue=option[valueKey];if(!!useRawOption)selectedValue=option;if(selected){selectedOption=null;selectedValue=null;}return selectedValue;}function formatMultipleChangeValue(option,value,_ref2){var useRawOption=_ref2.useRawOption,selected=_ref2.selected,multiple=_ref2.multiple,valueKey=_ref2.valueKey;var selectedOption=option;var selectedValue=option[valueKey];value=_toConsumableArray(value||[]);if(!!useRawOption)selectedValue=option;if(selected){value=value.filter(function(item){return!isSelected(item,selectedOption,{multiple:multiple,valueKey:valueKey});});}else{value.push(selectedValue);}return value;}function PickerItem(_ref3){var option=_ref3.option,onChange=_ref3.onChange,value=_ref3.value,renderOption=_ref3.renderOption,useRawOption=_ref3.useRawOption,multiple=_ref3.multiple,labelKey=_ref3.labelKey,valueKey=_ref3.valueKey,props=_objectWithoutProperties(_ref3,_excluded);var selected=isSelected(value,option,{multiple:multiple,valueKey:valueKey});var handleChange=function handleChange(){var formatChangeValueFunc=multiple?formatMultipleChangeValue:formatSingleChangeValue;var formattedValue=formatChangeValueFunc(option,value,{selected:selected,useRawOption:useRawOption,valueKey:valueKey});onChange(formattedValue,option);};return _jsx(Col,Object.assign({},props,{children:renderOption({option:option,selected:selected,onChange:handleChange,valueKey:valueKey,labelKey:labelKey})}));}function DefaultPickerWrapper(_ref4){var renderItem=_ref4.renderItem,options=_ref4.options,props=_objectWithoutProperties(_ref4,_excluded2);return _jsx(Row,Object.assign({className:"neko-picker",gap:"md"},props,{children:options==null?void 0:options.map==null?void 0:options.map(function(option){return renderItem(option);})}));}function FlatListPickerWrapper(_ref5){var _renderItem=_ref5.renderItem,options=_ref5.options,valueKey=_ref5.valueKey,props=_objectWithoutProperties(_ref5,_excluded3);return _jsx(FlatList,Object.assign({keyExtractor:function keyExtractor(i){return i[valueKey];},data:options,divider:true,fullH:true,renderItem:function renderItem(_ref6){var option=_ref6.item;return _renderItem(option);}},props));}export function Picker(_ref7){var _this=this;var value=_ref7.value,initialValue=_ref7.initialValue,onChange=_ref7.onChange,disabled=_ref7.disabled,options=_ref7.options,renderOption=_ref7.renderOption,colProps=_ref7.colProps,useRawOption=_ref7.useRawOption,useFlatList=_ref7.useFlatList,multiple=_ref7.multiple,valueKey=_ref7.valueKey,labelKey=_ref7.labelKey,Wrapper=_ref7.Wrapper,rootProps=_objectWithoutProperties(_ref7,_excluded4);var _React$useState=React.useState(initialValue),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;onChange=onChange||setLocalValue;var _useOptions=useOptions(options,{}),finalOptions=_useOptions.options,isFirstLoad=_useOptions.isFirstLoad;var handleChange=function handleChange(v,option){if(!!disabled)return;setLocalValue(v);onChange==null?void 0:onChange(v,option);};valueKey=valueKey||'value';labelKey=labelKey||'label';if(!renderOption){console.error('Picker requires a renderOption prop');return false;}Wrapper=Wrapper||(useFlatList?FlatListPickerWrapper:DefaultPickerWrapper);return _jsx(LoadingView,{active:isFirstLoad,replaceChildren:true,children:_jsx(Wrapper,Object.assign({},rootProps,{valueKey:valueKey,options:finalOptions,renderItem:function renderItem(option){return _jsx(PickerItem,Object.assign({option:option,onChange:handleChange,value:value,renderOption:renderOption,useRawOption:useRawOption,multiple:multiple,valueKey:valueKey,labelKey:labelKey},colProps),option.value);}}))});}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Radio.js";var _excluded=["value","onChange","disabled","initialValue"],_excluded2=["radioProps"],_excluded3=["option","selected","onChange","labelKey"];import{pipe}from'ramda';import React from'react';import{AbsHiddenInput}from"../../abstractions/HiddenInput";import{ContentLabel}from"../presentation/ContentLabel";import{Link}from"../actions/Link";import{Picker}from"./Picker";import{View}from"../structure/View";import{useColorConverter}from"../../modifiers/colorConverter";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function Radio(_ref){var value=_ref.value,onChange=_ref.onChange,disabled=_ref.disabled,initialValue=_ref.initialValue,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('Radio'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,props=_pipe2[1];var _React$useState=React.useState(initialValue),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;var toggle=function toggle(){if(!!disabled)return;setLocalValue(!value);onChange==null?void 0:onChange(!value);};return _jsxs(Link,{onPress:toggle,className:"neko-radio",disabled:disabled,children:[_jsx(AbsHiddenInput,{checked:value,onChange:toggle,type:"radio",disabled:disabled}),_jsx(ContentLabel,Object.assign({size:sizeCode,gap:8,content:_jsx(View,{height:size*0.65,ratio:1,border:2,padding:3,borderColor:color,br:size,center:true,children:!!value&&_jsx(View,{bg:color,br:size,flex:true,fullW:true,fullH:true})})},props))]});}export function RadioGroup(_ref2){var _this=this;var radioProps=_ref2.radioProps,props=_objectWithoutProperties(_ref2,_excluded2);return _jsx(Picker,Object.assign({},props,{renderOption:function renderOption(_ref3){var option=_ref3.option,selected=_ref3.selected,onChange=_ref3.onChange,labelKey=_ref3.labelKey,props=_objectWithoutProperties(_ref3,_excluded3);return _jsx(Radio,Object.assign({label:option[labelKey],value:selected,onChange:onChange},props,radioProps));}}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Radio.js";var _excluded=["value","onChange","disabled","initialValue"],_excluded2=["radioProps"],_excluded3=["option","selected","onChange","labelKey"];import{pipe}from'ramda';import React from'react';import{AbsHiddenInput}from"../../abstractions/HiddenInput";import{ContentLabel}from"../presentation/ContentLabel";import{Link}from"../actions/Link";import{Picker}from"./Picker";import{View}from"../structure/View";import{useColorConverter}from"../../modifiers/colorConverter";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function Radio(_ref){var value=_ref.value,onChange=_ref.onChange,disabled=_ref.disabled,initialValue=_ref.initialValue,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('Radio'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,props=_pipe2[1];var _React$useState=React.useState(initialValue),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;var toggle=function toggle(){if(!!disabled)return;setLocalValue(!value);onChange==null?void 0:onChange(!value);};return _jsxs(Link,{onPress:toggle,className:"neko-radio",disabled:disabled,children:[_jsx(AbsHiddenInput,{checked:value,onChange:toggle,type:"radio",disabled:disabled}),_jsx(ContentLabel,Object.assign({size:sizeCode,gap:8,content:_jsx(View,{height:size*0.65,ratio:1,border:2,padding:2,borderColor:color,br:size,center:true,children:!!value&&_jsx(View,{bg:color,br:size,flex:true,fullW:true,fullH:true})})},props))]});}export function RadioGroup(_ref2){var _this=this;var radioProps=_ref2.radioProps,props=_objectWithoutProperties(_ref2,_excluded2);return _jsx(Picker,Object.assign({},props,{renderOption:function renderOption(_ref3){var option=_ref3.option,selected=_ref3.selected,onChange=_ref3.onChange,labelKey=_ref3.labelKey,props=_objectWithoutProperties(_ref3,_excluded3);return _jsx(Radio,Object.assign({label:option[labelKey],value:selected,onChange:onChange},props,radioProps));}}));}
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/RateInput.js";var _excluded=["value","onChange","disabled","loading"],_excluded2=["icon","max","inactiveColor"];import{pipe,range,is}from'ramda';import React from'react';import{Icon}from"../presentation";import{Link}from"../actions/Link";import{LoadingView}from"../state";import{View}from"../structure/View";import{moveScale}from"../../theme/helpers/sizeScale";import{useColorConverter}from"../../modifiers/colorConverter";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS={color:'primary',inactiveColor:'text4_op50',max:5,icon:'star-fill'};export function RateInput(_ref){var _this=this;var value=_ref.value,onChange=_ref.onChange,disabled=_ref.disabled,loading=_ref.loading,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('icons','md'),useThemeComponentModifier('RateInput'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];React.useEffect(function(){return setLocalValue(value);},[value]);var icon=formattedProps.icon,max=formattedProps.max,inactiveColor=formattedProps.inactiveColor,props=_objectWithoutProperties(formattedProps,_excluded2);var handleChange=function handleChange(v){if(!!disabled)return;var newValue=v===localValue?null:v;setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};return _jsx(LoadingView,{active:loading,width:"fit-content",children:_jsx(View,Object.assign({className:"neko-rate-input",row:true,gap:"xs",centerV:true,minHeight:sizeCode},props,{children:range(1,max+1).map(function(i){var active=localValue>=i;var finalIcon=icon;if(is(Function,icon))finalIcon=icon==null?void 0:icon({value:localValue,optionValue:i,active:active});var finalColor=color;if(is(Function,color))finalColor=color==null?void 0:color({value:localValue,optionValue:i,active:active});return _jsx(Link,{onPress:function onPress(){return handleChange(i);},disabled:disabled,center:true,children:_jsx(Icon,{name:finalIcon,size:moveScale(sizeCode,1),color:active?finalColor:inactiveColor})},i);})}))});}
@@ -0,0 +1 @@
1
+ import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/SegmentedPicker.js";var _excluded=["renderItem","options"],_excluded2=["buttonProps","color"],_excluded3=["option","selected","onChange","labelKey"];import{pipe}from'ramda';import{Button}from"../actions";import{Picker}from"./Picker";import{View}from"../structure";import{moveScale}from"../../theme/helpers/sizeScale";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,1),sizeCode=_ref2[0].sizeCode;return{gap:1,br:sizeCode,minHeight:sizeCode,bg:'overlayBG',padding:2,wrap:false,row:true,border:true,buttonProps:{fullH:true,size:sizeCode}};};function PickerWrapper(_ref3){var renderItem=_ref3.renderItem,options=_ref3.options,props=_objectWithoutProperties(_ref3,_excluded);return _jsx(View,{row:true,children:_jsx(View,Object.assign({},props,{children:options==null?void 0:options.map==null?void 0:options.map(function(option){return renderItem(option);})}))});}export function SegmentedPicker(_ref4){var _this=this;var rootProps=Object.assign({},(_objectDestructuringEmpty(_ref4),_ref4));var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('SegmentPicker'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),sizeCode=_pipe2[0].sizeCode,formattedProps=_pipe2[1];var buttonProps=formattedProps.buttonProps,color=formattedProps.color,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(Picker,Object.assign({className:"neko-segmented-picker",Wrapper:PickerWrapper},props,{renderOption:function renderOption(_ref5){var option=_ref5.option,selected=_ref5.selected,onChange=_ref5.onChange,labelKey=_ref5.labelKey,props=_objectWithoutProperties(_ref5,_excluded3);return _jsx(Button,Object.assign({label:option[labelKey],onPress:onChange,color:selected?color||'primary':(rootProps==null?void 0:rootProps.bg)||'overlayBG',round:rootProps==null?void 0:rootProps.round,textProps:{strong:selected},opacity:!selected&&0.8},option,buttonProps));}}));}
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Select.js";var _excluded=["ref"],_excluded2=["value","onChange","onChangeSearch","options","placement","placeholder","initialLabel","useBottomDrawer","useSearch","renderOption","labelKey","valueKey","useRawOption","multiple","onEndReached","renderFooter","renderHeader","pickerProps","popoverProps","popoverMaxHeight"];import React from'react';import{Icon,IconLabel}from"../presentation";import{Link}from"../actions";import{LinkInput}from"./LinkInput";import{Picker,getOptionLabel,searchOptions}from"./Picker";import{Popover}from"../structure/popover/Popover";import{TextInput}from"./TextInput";import{View}from"../structure";import{useResponsiveValue}from"../../responsive";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";function FullWidthInputWrapper(_ref){var ref=_ref.ref,props=_objectWithoutProperties(_ref,_excluded);return _jsx(View,{fullW:true,ref:ref,children:_jsx(TextInput,Object.assign({},props))});}export function Select(_ref2){var _pickerProps,_pickerProps2,_pickerProps3,_pickerProps4,_pickerProps5,_pickerProps6,_pickerProps7,_this=this,_value3;var value=_ref2.value,onChange=_ref2.onChange,onChangeSearch=_ref2.onChangeSearch,options=_ref2.options,placement=_ref2.placement,placeholder=_ref2.placeholder,initialLabel=_ref2.initialLabel,_ref2$useBottomDrawer=_ref2.useBottomDrawer,useBottomDrawer=_ref2$useBottomDrawer===void 0?{native:true,sm:true,md:true}:_ref2$useBottomDrawer,useSearch=_ref2.useSearch,renderOption=_ref2.renderOption,labelKey=_ref2.labelKey,valueKey=_ref2.valueKey,useRawOption=_ref2.useRawOption,multiple=_ref2.multiple,onEndReached=_ref2.onEndReached,renderFooter=_ref2.renderFooter,renderHeader=_ref2.renderHeader,pickerProps=_ref2.pickerProps,popoverProps=_ref2.popoverProps,popoverMaxHeight=_ref2.popoverMaxHeight,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),focus=_React$useState2[0],setFocus=_React$useState2[1];var _React$useState3=React.useState(''),_React$useState4=_slicedToArray(_React$useState3,2),search=_React$useState4[0],setSearch=_React$useState4[1];var _React$useState5=React.useState(initialLabel||''),_React$useState6=_slicedToArray(_React$useState5,2),inputValue=_React$useState6[0],setInputValue=_React$useState6[1];var _React$useState7=React.useState(value),_React$useState8=_slicedToArray(_React$useState7,2),localValue=_React$useState8[0],setLocalValue=_React$useState8[1];labelKey=labelKey||((_pickerProps=pickerProps)==null?void 0:_pickerProps.labelKey)||'label';valueKey=valueKey||((_pickerProps2=pickerProps)==null?void 0:_pickerProps2.valueKey)||'value';useRawOption=useRawOption||((_pickerProps3=pickerProps)==null?void 0:_pickerProps3.useRawOption);multiple=multiple||((_pickerProps4=pickerProps)==null?void 0:_pickerProps4.multiple);onEndReached=onEndReached||((_pickerProps5=pickerProps)==null?void 0:_pickerProps5.onEndReached);renderFooter=renderFooter||((_pickerProps6=pickerProps)==null?void 0:_pickerProps6.renderFooter);renderHeader=renderHeader||((_pickerProps7=pickerProps)==null?void 0:_pickerProps7.renderHeader);pickerProps=Object.assign({},pickerProps,{labelKey:labelKey,valueKey:valueKey,useRawOption:useRawOption,multiple:multiple,onEndReached:onEndReached,renderFooter:renderFooter,renderHeader:renderHeader});popoverMaxHeight=popoverMaxHeight||300;useBottomDrawer=useResponsiveValue(useBottomDrawer);value=value||localValue;var handleChange=React.useCallback(function(value,option){if(!!multiple){setInputValue(value.map(function(item){return getOptionLabel(options,item,{valueKey:valueKey,labelKey:labelKey});}).join(', '));}else{setInputValue((option==null?void 0:option[labelKey])||getOptionLabel(options,option,{valueKey:valueKey,labelKey:labelKey}));}setLocalValue(value);onChange==null?void 0:onChange(value);},[labelKey,valueKey]);React.useEffect(function(){if(!!multiple){var _value;setInputValue((_value=value)==null?void 0:_value.map==null?void 0:_value.map(function(item){return getOptionLabel(options,item,{valueKey:valueKey,labelKey:labelKey});}).join(', '));}else{var _value2;var label=((_value2=value)==null?void 0:_value2[labelKey])||getOptionLabel(options,value,{valueKey:valueKey,labelKey:labelKey});if(!!label||!value)setInputValue(label);}},[value]);var handleChangeSearch=React.useCallback(function(v){onChangeSearch==null?void 0:onChangeSearch(v);setSearch(v);},[]);var Input=!useSearch||useBottomDrawer?LinkInput:FullWidthInputWrapper;var valueWatcher=multiple&&localValue;var finalRenderOption=React.useCallback(function(params){if(!!renderOption)return renderOption(params);var option=params.option,labelKey=params.labelKey,selected=params.selected;return _jsx(IconLabel,Object.assign({},option,{label:option==null?void 0:option[labelKey],flex:true,strong:selected}));},[renderOption]);return _jsx(Popover,Object.assign({trigger:"click",placement:placement||'bottomLeft',snapPoints:[450],useBottomDrawer:useBottomDrawer,parentWidth:true,padding:0,watch:[search,options,valueWatcher],unmountOnClose:true,maxHeight:popoverMaxHeight},popoverProps,{renderContent:function renderContent(_ref3){var onClose=_ref3.onClose;return _jsxs(_Fragment,{children:[useBottomDrawer&&useSearch&&_jsx(View,{padding:"md",paddingB:"xs",children:_jsx(TextInput,{prefixIcon:"search-line",prefixIconColor:"text4",value:search,onChange:handleChangeSearch})}),_jsx(Picker,Object.assign({row:false,options:searchOptions(options,search,{labelKey:labelKey}),value:value,gap:0,maxHeight:!useBottomDrawer&&popoverMaxHeight,useFlatList:true,onlyOnScreen:true,itemMinHeight:30,onChange:function onChange(v,option){handleChange(v,option);if(!multiple)onClose();}},pickerProps,{renderOption:function renderOption(_ref4){var option=_ref4.option,selected=_ref4.selected,onChange=_ref4.onChange;return _jsxs(Link,{row:true,paddingH:useBottomDrawer?'md':'sm',paddingV:"xs",minHeight:useBottomDrawer?'xl':'md',gap:"sm",onMouseDown:function onMouseDown(e){return!!multiple&&e.preventDefault();},onPress:onChange,centerV:true,bg:selected&&'primary_op10',children:[_jsx(View,{flex:true,row:true,children:finalRenderOption({option:option,labelKey:labelKey,selected:selected})}),selected&&_jsx(Icon,{name:"checkbox-circle-fill",primary:true})]});}}))]});},children:_jsx(Input,Object.assign({value:!!focus?search:inputValue,onChange:handleChangeSearch,onFocus:function onFocus(){handleChangeSearch('');setFocus(true);},onBlur:function onBlur(){setTimeout(function(){setFocus(false);},200);},placeholder:(!multiple||!((_value3=value)!=null&&_value3.length))&&placeholder,suffixIcon:"arrow-down-s-fill",suffixIconColor:"text4",fullW:true},props))}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/DayPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{WeekDaysBar}from"../../calendar/WeekDaysBar";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{useCalendarDays}from"../../calendar/_helpers/calendarDays";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function DayPicker(_ref){var _this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);if(!!value)value=dayjs(value);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];React.useEffect(function(){setLocalValue(value);},[value]);value=value===undefined?localValue:value;var handleChange=function handleChange(v){setLocalValue(v);onChange==null?void 0:onChange(v);};var _React$useState3=React.useState(function(){return dayjs(value).startOf('month');}),_React$useState4=_slicedToArray(_React$useState3,2),currentMonth=_React$useState4[0],setCurrentMonth=_React$useState4[1];var _useCalendarDays=useCalendarDays(currentMonth),cells=_useCalendarDays.cells;return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentMonth,onChange:setCurrentMonth}),_jsx(WeekDaysBar,{}),_jsx(Grid,{className:"neko-day-picker-days",colSpan:24/7,gap:"sm",children:cells.map(function(day,i){var dateVal=currentMonth.date(day);var isActive=!!value&&!!day&&dateVal.isSame(value,'day');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{className:"day-cell",center:true,children:_jsx(Link,{ratio:1,fullW:true,center:true,br:"md",onPress:function onPress(){return!!day&&handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Text,{sm:true,text2:true,center:true,strong:isActive,children:day||''})})},day?dateVal.format('YYYYMMDD'):i);})})]}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/DayPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{WeekDaysBar}from"../../calendar/WeekDaysBar";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{useCalendarDays}from"../../calendar/_helpers/calendarDays";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function DayPicker(_ref){var _value2,_value3,_value4,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);if(!!value)value=dayjs(value);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];var _React$useState3=React.useState(function(){return dayjs(value||undefined).startOf('month');}),_React$useState4=_slicedToArray(_React$useState3,2),currentMonth=_React$useState4[0],setCurrentMonth=_React$useState4[1];value=value===undefined?localValue:value;React.useEffect(function(){var _value;setLocalValue(value);if((_value=value)!=null&&_value.isValid!=null&&_value.isValid())setCurrentMonth(value.startOf('month'));},[(_value2=value)==null?void 0:_value2.day==null?void 0:_value2.day(),(_value3=value)==null?void 0:_value3.month==null?void 0:_value3.month(),(_value4=value)==null?void 0:_value4.year==null?void 0:_value4.year()]);var handleChange=function handleChange(v){setLocalValue(v);onChange==null?void 0:onChange(v);};var _useCalendarDays=useCalendarDays(currentMonth),cells=_useCalendarDays.cells;return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentMonth,onChange:setCurrentMonth}),_jsx(WeekDaysBar,{}),_jsx(Grid,{className:"neko-day-picker-days",colSpan:24/7,gap:"sm",children:cells.map(function(day,i){var dateVal=currentMonth.date(day);var isActive=!!value&&!!day&&dateVal.isSame(value,'day');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{className:"day-cell",center:true,children:_jsx(Link,{ratio:1,fullW:true,center:true,br:"md",onPress:function onPress(){return!!day&&handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Text,{sm:true,text2:true,center:true,strong:isActive,children:day||''})})},day?dateVal.format('YYYYMMDD'):i);})})]}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/MonthPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Divider}from"../../helpers";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var months=[0,1,2,3,4,5,6,7,8,9,10,11];export function MonthPicker(_ref){var _value,_value2,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;React.useEffect(function(){setLocalValue(value);},[(_value=value)==null?void 0:_value.month==null?void 0:_value.month(),(_value2=value)==null?void 0:_value2.year==null?void 0:_value2.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('month');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};var _React$useState3=React.useState(function(){return dayjs(value).startOf('year');}),_React$useState4=_slicedToArray(_React$useState3,2),currentYear=_React$useState4[0],setCurrentYear=_React$useState4[1];return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentYear,onChange:setCurrentYear,level:"year"}),_jsx(Divider,{}),_jsx(Grid,{colSpan:8,gap:"xs",children:months.map(function(month){var dateVal=currentYear.month(month);var isActive=!!value&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{children:_jsx(Link,{fullW:true,br:"md",padding:"sm",onPress:function onPress(){return handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Text,{text2:!isActive,strong:isActive,center:true,children:dateVal.format('MMM')})})},month);})})]}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/MonthPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Divider}from"../../helpers";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var months=[0,1,2,3,4,5,6,7,8,9,10,11];export function MonthPicker(_ref){var _value2,_value3,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];var _React$useState3=React.useState(function(){return dayjs(value||undefined).startOf('year');}),_React$useState4=_slicedToArray(_React$useState3,2),currentYear=_React$useState4[0],setCurrentYear=_React$useState4[1];value=value===undefined?localValue:value;React.useEffect(function(){var _value;setLocalValue(value);if((_value=value)!=null&&_value.isValid!=null&&_value.isValid())setCurrentYear(value.startOf('year'));},[(_value2=value)==null?void 0:_value2.month==null?void 0:_value2.month(),(_value3=value)==null?void 0:_value3.year==null?void 0:_value3.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('month');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentYear,onChange:setCurrentYear,level:"year"}),_jsx(Divider,{}),_jsx(Grid,{colSpan:8,gap:"xs",children:months.map(function(month){var dateVal=currentYear.month(month);var isActive=!!value&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{children:_jsx(Link,{fullW:true,br:"md",padding:"sm",onPress:function onPress(){return handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Text,{text2:!isActive,strong:isActive,center:true,children:dateVal.format('MMM')})})},month);})})]}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/QuarterPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import React from'react';import dayjs from'dayjs';import quarterOfYear from'dayjs/esm/plugin/quarterOfYear';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Divider}from"../../helpers";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";dayjs.extend(quarterOfYear);var quarters=[1,2,3,4];export function QuarterPicker(_ref){var _value,_value2,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;React.useEffect(function(){setLocalValue(value);},[(_value=value)==null?void 0:_value.quarter==null?void 0:_value.quarter(),(_value2=value)==null?void 0:_value2.year==null?void 0:_value2.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('quarter');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};var _React$useState3=React.useState(function(){return dayjs(value).startOf('year');}),_React$useState4=_slicedToArray(_React$useState3,2),currentYear=_React$useState4[0],setCurrentYear=_React$useState4[1];return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentYear,onChange:setCurrentYear,level:"year"}),_jsx(Divider,{}),_jsx(Grid,{colSpan:6,gap:"xs",children:quarters.map(function(quarter){var dateVal=currentYear.quarter(quarter);var isActive=!!value&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{children:_jsx(Link,{fullW:true,br:"md",padding:"sm",onPress:function onPress(){return handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsxs(Text,{text2:!isActive,strong:isActive,center:true,children:["Q",dateVal.quarter()]})})},quarter);})})]}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/QuarterPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import React from'react';import dayjs from'dayjs';import quarterOfYear from'dayjs/esm/plugin/quarterOfYear';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Divider}from"../../helpers";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";dayjs.extend(quarterOfYear);var quarters=[1,2,3,4];export function QuarterPicker(_ref){var _value2,_value3,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];var _React$useState3=React.useState(function(){return dayjs(value||undefined).startOf('year');}),_React$useState4=_slicedToArray(_React$useState3,2),currentYear=_React$useState4[0],setCurrentYear=_React$useState4[1];value=value===undefined?localValue:value;React.useEffect(function(){var _value;setLocalValue(value);if((_value=value)!=null&&_value.isValid!=null&&_value.isValid())setCurrentYear(value.startOf('year'));},[(_value2=value)==null?void 0:_value2.quarter==null?void 0:_value2.quarter(),(_value3=value)==null?void 0:_value3.year==null?void 0:_value3.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('quarter');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentYear,onChange:setCurrentYear,level:"year"}),_jsx(Divider,{}),_jsx(Grid,{colSpan:6,gap:"xs",children:quarters.map(function(quarter){var dateVal=currentYear.quarter(quarter);var isActive=!!value&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{children:_jsx(Link,{fullW:true,br:"md",padding:"sm",onPress:function onPress(){return handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsxs(Text,{text2:!isActive,strong:isActive,center:true,children:["Q",dateVal.quarter()]})})},quarter);})})]}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/WeekPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import{splitEvery,identity}from'ramda';import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Link}from"../../actions/Link";import{Row}from"../../structure/Row";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{WeekDaysBar}from"../../calendar/WeekDaysBar";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{useCalendarDays}from"../../calendar/_helpers/calendarDays";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function WeekPicker(_ref){var _value,_value2,_value3,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;React.useEffect(function(){setLocalValue(value);},[(_value=value)==null?void 0:_value.day==null?void 0:_value.day(),(_value2=value)==null?void 0:_value2.month==null?void 0:_value2.month(),(_value3=value)==null?void 0:_value3.year==null?void 0:_value3.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('week');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};var _React$useState3=React.useState(function(){return dayjs(value).startOf('month');}),_React$useState4=_slicedToArray(_React$useState3,2),currentMonth=_React$useState4[0],setCurrentMonth=_React$useState4[1];var _useCalendarDays=useCalendarDays(currentMonth),cells=_useCalendarDays.cells;var weeks=splitEvery(7,cells);return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentMonth,onChange:setCurrentMonth}),_jsx(WeekDaysBar,{}),_jsx(View,{colSpan:24/7,gap:"sm",children:weeks.map(function(week,wi){var firstDay=week.find(identity);var dateVal=currentMonth.date(firstDay);var isActive=!!value&&!!firstDay&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Link,{fullW:true,br:"md",onPress:function onPress(){return!!firstDay&&handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Row,{colSpan:24/7,gap:"sm",children:week.map(function(day,i){var dateVal=currentMonth.date(day);return _jsx(Col,{className:"day-cell",center:true,ratio:1,children:_jsx(Text,{sm:true,text2:true,center:true,strong:isActive,children:day||''})},day?dateVal.format('YYYYMMDD'):i);})})},firstDay?dateVal.format('YYYYMMDD'):wi);})})]}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/WeekPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import{splitEvery,identity}from'ramda';import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Link}from"../../actions/Link";import{Row}from"../../structure/Row";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{WeekDaysBar}from"../../calendar/WeekDaysBar";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{useCalendarDays}from"../../calendar/_helpers/calendarDays";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function WeekPicker(_ref){var _value2,_value3,_value4,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];var _React$useState3=React.useState(function(){return dayjs(value||undefined).startOf('month');}),_React$useState4=_slicedToArray(_React$useState3,2),currentMonth=_React$useState4[0],setCurrentMonth=_React$useState4[1];value=value===undefined?localValue:value;React.useEffect(function(){var _value;setLocalValue(value);if((_value=value)!=null&&_value.isValid!=null&&_value.isValid())setCurrentMonth(value.startOf('month'));},[(_value2=value)==null?void 0:_value2.day==null?void 0:_value2.day(),(_value3=value)==null?void 0:_value3.month==null?void 0:_value3.month(),(_value4=value)==null?void 0:_value4.year==null?void 0:_value4.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('week');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};var _useCalendarDays=useCalendarDays(currentMonth),cells=_useCalendarDays.cells;var weeks=splitEvery(7,cells);return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentMonth,onChange:setCurrentMonth}),_jsx(WeekDaysBar,{}),_jsx(View,{colSpan:24/7,gap:"sm",children:weeks.map(function(week,wi){var firstDay=week.find(identity);var dateVal=currentMonth.date(firstDay);var isActive=!!value&&!!firstDay&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Link,{fullW:true,br:"md",onPress:function onPress(){return!!firstDay&&handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Row,{colSpan:24/7,gap:"sm",children:week.map(function(day,i){var dateVal=currentMonth.date(day);return _jsx(Col,{className:"day-cell",center:true,ratio:1,children:_jsx(Text,{sm:true,text2:true,center:true,strong:isActive,children:day||''})},day?dateVal.format('YYYYMMDD'):i);})})},firstDay?dateVal.format('YYYYMMDD'):wi);})})]}));}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/YearPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import{range}from'ramda';import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Divider}from"../../helpers";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function YearPicker(_ref){var _value,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;React.useEffect(function(){setLocalValue(value);},[(_value=value)==null?void 0:_value.year==null?void 0:_value.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('year');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};var _React$useState3=React.useState(function(){var year=dayjs(value).year();var decadeStartYear=Math.floor(year/10)*10;return dayjs().year(decadeStartYear).startOf('year');}),_React$useState4=_slicedToArray(_React$useState3,2),currentDecade=_React$useState4[0],setCurrentDecade=_React$useState4[1];var years=range(currentDecade.year(),currentDecade.year()+10);return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentDecade,onChange:setCurrentDecade,level:"decade"}),_jsx(Divider,{}),_jsx(Grid,{colSpan:12,gap:"xs",children:years.map(function(year){var dateVal=currentDecade.year(year);var isActive=!!value&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{children:_jsx(Link,{fullW:true,br:"md",padding:"sm",onPress:function onPress(){return handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Text,{text2:!isActive,strong:isActive,center:true,children:dateVal.year()})})},year);})})]}));}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/datePicker/YearPicker.js";var _excluded=["value","onChange","min","max","onCheckDisabled"];import{range}from'ramda';import React from'react';import dayjs from'dayjs';import{CalendarNav}from"../../calendar/CalendarNav";import{Col}from"../../structure/Col";import{Divider}from"../../helpers";import{Grid}from"../../structure/Row";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";import{isDateDisabled}from"../../calendar/_helpers/dateDisabled";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function getDecade(value){var year=dayjs(value||undefined).year();var decadeStartYear=Math.floor(year/10)*10;return dayjs().year(decadeStartYear).startOf('year');}export function YearPicker(_ref){var _value2,_this=this;var value=_ref.value,onChange=_ref.onChange,min=_ref.min,max=_ref.max,onCheckDisabled=_ref.onCheckDisabled,props=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];var _React$useState3=React.useState(function(){return getDecade(value);}),_React$useState4=_slicedToArray(_React$useState3,2),currentDecade=_React$useState4[0],setCurrentDecade=_React$useState4[1];value=value===undefined?localValue:value;React.useEffect(function(){var _value;setLocalValue(value);if((_value=value)!=null&&_value.isValid!=null&&_value.isValid())setCurrentDecade(getDecade(value));},[(_value2=value)==null?void 0:_value2.year==null?void 0:_value2.year()]);var handleChange=function handleChange(v){var newValue=v.startOf('year');setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};var years=range(currentDecade.year(),currentDecade.year()+10);return _jsxs(View,Object.assign({className:"neko-day-picker",width:275},props,{children:[_jsx(CalendarNav,{value:currentDecade,onChange:setCurrentDecade,level:"decade"}),_jsx(Divider,{}),_jsx(Grid,{colSpan:12,gap:"xs",children:years.map(function(year){var dateVal=currentDecade.year(year);var isActive=!!value&&dateVal.isSame(value,'week');var disabled=isDateDisabled(dateVal,{min:min,max:max,onCheckDisabled:onCheckDisabled});return _jsx(Col,{children:_jsx(Link,{fullW:true,br:"md",padding:"sm",onPress:function onPress(){return handleChange(dateVal);},bg:isActive&&'primary',disabled:disabled,children:_jsx(Text,{text2:!isActive,strong:isActive,center:true,children:dateVal.year()})})},year);})})]}));}
@@ -1 +1 @@
1
- export*from"./Checkbox";export*from"./Radio";export*from"./Switch";export*from"./InputWrapper";export*from"./TextInput";export*from"./LinkInput";export*from"./MaskInput";export*from"./DateInput";export*from"./datePicker/DatePicker";export*from"./Picker";
1
+ export*from"./Checkbox";export*from"./Radio";export*from"./Switch";export*from"./InputWrapper";export*from"./TextInput";export*from"./NumberInput";export*from"./LinkInput";export*from"./MaskInput";export*from"./DateInput";export*from"./datePicker/DatePicker";export*from"./Picker";export*from"./Select";export*from"./RateInput";export*from"./SegmentedPicker";
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/layout/Layout.js";var _excluded=["children"];import React from'react';import{View}from"../structure/View";import{getElementSize}from"../../abstractions/helpers/componentSize";import{jsx as _jsx}from"react/jsx-runtime";var LayoutContext=React.createContext({});export var useLayout=function useLayout(){return React.useContext(LayoutContext)||{};};export function Layout(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(0),_React$useState2=_slicedToArray(_React$useState,2),layoutHeaderSpace=_React$useState2[0],setLayoutHeaderSpace=_React$useState2[1];var _React$useState3=React.useState(0),_React$useState4=_slicedToArray(_React$useState3,2),layoutSiderSpace=_React$useState4[0],setLayoutSiderSpace=_React$useState4[1];var registerHeader=function registerHeader(space){return setLayoutHeaderSpace(function(v){return v+space;});};var unregisterHeader=function unregisterHeader(space){return setLayoutHeaderSpace(function(v){return v-space;});};var _React$useState5=React.useState({}),_React$useState6=_slicedToArray(_React$useState5,2),layoutSize=_React$useState6[0],setLayoutSize=_React$useState6[1];var layoutRef=React.useRef(null);React.useLayoutEffect(function(){getElementSize(layoutRef,setLayoutSize);},[]);var value={layoutSize:layoutSize,layoutHeaderSpace:layoutHeaderSpace,setLayoutHeaderSpace:setLayoutHeaderSpace,layoutSiderSpace:layoutSiderSpace,layoutSiderSpace:layoutSiderSpace,registerHeader:registerHeader,unregisterHeader:unregisterHeader};return _jsx(LayoutContext.Provider,{value:value,children:_jsx(View,Object.assign({className:"neko-layout",bg:"bg",flex:true,relative:true},rootProps,{ref:layoutRef,children:children}))});}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/layout/Layout.js";var _excluded=["children"];import React from'react';import{View}from"../structure/View";import{getElementSize}from"../../abstractions/helpers/componentSize";import{jsx as _jsx}from"react/jsx-runtime";var LayoutContext=React.createContext({});export var useLayout=function useLayout(){return React.useContext(LayoutContext)||{};};export function Layout(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(0),_React$useState2=_slicedToArray(_React$useState,2),layoutHeaderSpace=_React$useState2[0],setLayoutHeaderSpace=_React$useState2[1];var _React$useState3=React.useState(0),_React$useState4=_slicedToArray(_React$useState3,2),layoutSiderSpace=_React$useState4[0],setLayoutSiderSpace=_React$useState4[1];var registerHeader=function registerHeader(space){return setLayoutHeaderSpace(function(v){return v+space;});};var unregisterHeader=function unregisterHeader(space){return setLayoutHeaderSpace(function(v){return v-space;});};var _React$useState5=React.useState({}),_React$useState6=_slicedToArray(_React$useState5,2),layoutSize=_React$useState6[0],setLayoutSize=_React$useState6[1];var layoutRef=React.useRef(null);React.useLayoutEffect(function(){getElementSize(layoutRef,setLayoutSize);},[]);var value={layoutSize:layoutSize,layoutHeaderSpace:layoutHeaderSpace,setLayoutHeaderSpace:setLayoutHeaderSpace,layoutSiderSpace:layoutSiderSpace,layoutSiderSpace:layoutSiderSpace,registerHeader:registerHeader,unregisterHeader:unregisterHeader};return _jsx(LayoutContext.Provider,{value:value,children:_jsx(View,Object.assign({className:"neko-layout",bg:"mainBG",flex:true,relative:true},rootProps,{ref:layoutRef,children:children}))});}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/list/FlatList.js",_this2=this;var _excluded=["children"],_excluded2=["divider","dividerColor","dividerProps","renderSeparator","renderItem","lazy","onlyOnScreen","itemMinHeight"];import{pipe}from'ramda';import React from'react';import{AbsFlatList}from"../../abstractions/FlatList";import{AbsStaticList}from"../../abstractions/StaticList";import{ConditionalLazyRender,Divider}from"../helpers";import{useAnimationModifier}from"../../modifiers/animation";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useDefaultModifier}from"../../modifiers/default";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useMarginModifier}from"../../modifiers/margin";import{useOverflowModifier}from"../../modifiers/overflow";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useResponsiveValue}from"../../responsive";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2),_=_ref2[0],horizontal=_ref2[1].horizontal;var overflowKey=horizontal?'scrollX':'scrollY';return _defineProperty(_defineProperty({},overflowKey,true),"row",!!horizontal);};export function FlatList(_ref4){var _this=this;var children=_ref4.children,rootProps=_objectWithoutProperties(_ref4,_excluded);var _pipe=pipe(useThemeComponentModifier('FlatList'),useDefaultModifier(DEFAULT_PROPS),useFlexWrapperModifier,useDisplayModifier,useAnimationModifier,useStateModifier,useSizeModifier,usePositionModifier,useOverflowModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useBackgroundModifier,useBorderModifier,useShadowModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],formattedProps=_pipe2[1];var divider=formattedProps.divider,dividerColor=formattedProps.dividerColor,dividerProps=formattedProps.dividerProps,renderSeparator=formattedProps.renderSeparator,renderItem=formattedProps.renderItem,lazy=formattedProps.lazy,onlyOnScreen=formattedProps.onlyOnScreen,itemMinHeight=formattedProps.itemMinHeight,props=_objectWithoutProperties(formattedProps,_excluded2);var noScroll=useResponsiveValue(rootProps.noScroll);var Wrapper=noScroll?AbsStaticList:AbsFlatList;var formattedRenderItem=React.useCallback(function(){for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key];}return _jsx(ConditionalLazyRender,{whenVisible:lazy||onlyOnScreen,destroyOffScreen:onlyOnScreen,minHeight:itemMinHeight,children:renderItem==null?void 0:renderItem.apply(void 0,params)});},[renderItem]);if(!renderSeparator&&!!divider){if(divider===true)divider=1;renderSeparator=function renderSeparator(){return _jsx(Divider,Object.assign({line:divider,height:divider,color:dividerColor},dividerProps));};}return _jsx(Wrapper,Object.assign({className:"neko-flat-list",renderSeparator:renderSeparator,renderItem:formattedRenderItem},props,{children:children}));}export var List=function List(props){return _jsx(FlatList,Object.assign({noScroll:true},props));};
@@ -1 +1 @@
1
- export*from"./ScrollView";
1
+ export*from"./ScrollView";export*from"./FlatList";
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/presentation/Rate.js";var _excluded=["value"],_excluded2=["icon","max","inactiveColor","tag"];import{pipe,range,is}from'ramda';import{Icon}from"../presentation";import{View}from"../structure/View";import{useColorConverter}from"../../modifiers/colorConverter";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS={color:'primary',inactiveColor:'text4_op50',max:5,icon:'star-fill'};export function Rate(_ref){var _this=this;var value=_ref.value,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('icons','md'),useThemeComponentModifier('Rate'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var icon=formattedProps.icon,max=formattedProps.max,inactiveColor=formattedProps.inactiveColor,tag=formattedProps.tag,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(View,Object.assign({className:"neko-rate",row:true,gap:"xxs",centerV:true,minHeight:sizeCode},props,{children:range(1,max+1).map(function(i){var active=value>=i;var partial=getDecimalOrEdge(value,i);var finalIcon=icon;if(is(Function,icon))finalIcon=icon==null?void 0:icon({value:value,optionValue:i,active:active});var finalColor=color;if(is(Function,color))finalColor=color==null?void 0:color({value:value,optionValue:i,active:active});return _jsxs(View,{center:true,relative:true,children:[_jsx(Icon,{name:finalIcon,size:sizeCode,color:inactiveColor}),!!partial&&_jsx(View,{absolute:true,overflow:"hidden",left:0,width:100*partial+'%',children:_jsx(Icon,{name:finalIcon,size:sizeCode,color:finalColor})})]},i);})}));}function getDecimalOrEdge(value,i){if(value>=i)return 1;if(value<i-1)return 0;return value-Math.floor(value);}
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/presentation/RateTag.js";var _excluded=["value"],_excluded2=["icon"];import{pipe}from'ramda';import{Tag}from"./Tag";import{moveScale}from"../../theme/helpers/sizeScale";import{useColorConverter}from"../../modifiers/colorConverter";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS={icon:'star-fill'};export function RateTag(_ref){var value=_ref.value,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('icons','md'),useThemeComponentModifier('RateTag'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var icon=formattedProps.icon,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(Tag,Object.assign({icon:icon,label:value,color:color,textProps:{size:moveScale(sizeCode,-1)},gap:moveScale(sizeCode,-3)},props));}