@neko-os/ui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/NekoUI.js +1 -1
  2. package/dist/abstractions/FlatList.native.js +1 -1
  3. package/dist/abstractions/ScrollView.native.js +1 -1
  4. package/dist/components/actions/ActionsDrawer.js +1 -1
  5. package/dist/components/actions/FloatingMenu.js +1 -1
  6. package/dist/components/feedback/alerter.js +1 -1
  7. package/dist/components/feedback/confirmer.js +1 -1
  8. package/dist/components/index.js +1 -1
  9. package/dist/components/inputs/Picker.js +1 -1
  10. package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +1 -0
  11. package/dist/components/modals/bottomDrawer/native/DrawerContext.js +1 -0
  12. package/dist/components/modals/bottomDrawer/native/DrawerHandle.js +1 -0
  13. package/dist/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +1 -0
  14. package/dist/components/modals/bottomDrawer/web/BottomDrawer.js +1 -0
  15. package/dist/components/modals/drawer/Drawer.js +1 -0
  16. package/dist/components/modals/index.js +1 -0
  17. package/dist/components/modals/modal/Modal.js +1 -0
  18. package/dist/components/modals/modal/Modal.native.js +1 -0
  19. package/dist/components/modals/modal/ModalBackdrop.js +1 -0
  20. package/dist/components/modals/modal/ModalContent.js +1 -0
  21. package/dist/components/modals/modal/ModalFooter.js +1 -0
  22. package/dist/components/modals/modal/ModalHeader.js +1 -0
  23. package/dist/components/modals/modal/handler/ModalsHandler.js +1 -0
  24. package/dist/components/modals/router/ModalRoute.js +1 -0
  25. package/dist/components/modals/router/ModalsRouter.js +1 -0
  26. package/dist/components/modals/router/ModalsRouterContext.js +1 -0
  27. package/dist/components/modals/router/index.js +1 -0
  28. package/dist/components/modals/router/useAllModalsParams.js +1 -0
  29. package/dist/components/modals/router/useModalParams.js +1 -0
  30. package/dist/components/modals/router/useModalsNavigation.js +1 -0
  31. package/dist/components/modals/router/useUpdateModalContainer.js +1 -0
  32. package/dist/components/sections/SectionItemDropdown.js +1 -0
  33. package/dist/components/sections/index.js +1 -1
  34. package/dist/components/structure/index.js +1 -1
  35. package/dist/components/structure/popover/Popover.js +1 -1
  36. package/dist/components/structure/popover/Popover.native.js +1 -1
  37. package/dist/components/structure/popover/Popover_BU.js +1 -1
  38. package/dist/components/theme/ThemePickerDrawer.js +1 -1
  39. package/dist/theme/default/blackTheme.js +1 -1
  40. package/dist/theme/default/cyberpunkTheme.js +1 -1
  41. package/dist/theme/default/hackerTheme.js +1 -1
  42. package/dist/theme/default/paperTheme.js +1 -1
  43. package/dist/theme/default/themes.js +1 -1
  44. package/package.json +1 -1
  45. package/src/NekoUI.js +1 -1
  46. package/src/abstractions/FlatList.native.js +2 -1
  47. package/src/abstractions/ScrollView.native.js +2 -2
  48. package/src/components/actions/ActionsDrawer.js +2 -2
  49. package/src/components/actions/FloatingMenu.js +1 -1
  50. package/src/components/feedback/alerter.js +1 -1
  51. package/src/components/feedback/confirmer.js +1 -1
  52. package/src/components/index.js +1 -0
  53. package/src/components/inputs/Picker.js +1 -1
  54. package/src/components/{structure → modals}/bottomDrawer/native/BottomDrawer.js +1 -1
  55. package/src/components/{structure → modals}/bottomDrawer/native/DrawerHandle.js +1 -1
  56. package/src/components/modals/index.js +4 -0
  57. package/src/components/{structure → modals}/modal/Modal.native.js +1 -1
  58. package/src/components/{structure → modals}/modal/ModalBackdrop.js +1 -1
  59. package/src/components/{structure → modals}/modal/ModalContent.js +1 -1
  60. package/src/components/{structure → modals}/modal/ModalFooter.js +1 -1
  61. package/src/components/{structure → modals}/modal/ModalHeader.js +1 -1
  62. package/src/components/modals/router/ModalRoute.js +15 -0
  63. package/src/components/modals/router/ModalsRouter.js +120 -0
  64. package/src/components/modals/router/ModalsRouterContext.js +16 -0
  65. package/src/components/modals/router/index.js +6 -0
  66. package/src/components/modals/router/useAllModalsParams.js +6 -0
  67. package/src/components/modals/router/useModalParams.js +6 -0
  68. package/src/components/modals/router/useModalsNavigation.js +6 -0
  69. package/src/components/modals/router/useUpdateModalContainer.js +6 -0
  70. package/src/components/sections/SectionItemDropdown.js +68 -0
  71. package/src/components/sections/index.js +1 -0
  72. package/src/components/structure/index.js +0 -3
  73. package/src/components/structure/popover/Popover.js +1 -1
  74. package/src/components/structure/popover/Popover.native.js +1 -1
  75. package/src/components/structure/popover/Popover_BU.js +1 -1
  76. package/src/components/theme/ThemePickerDrawer.js +3 -4
  77. package/src/theme/default/blackTheme.js +32 -21
  78. package/src/theme/default/cyberpunkTheme.js +24 -32
  79. package/src/theme/default/hackerTheme.js +23 -16
  80. package/src/theme/default/paperTheme.js +4 -0
  81. package/src/theme/default/themes.js +0 -9
  82. package/dist/components/structure/bottomDrawer/native/BottomDrawer.js +0 -1
  83. package/dist/components/structure/bottomDrawer/native/DrawerContext.js +0 -1
  84. package/dist/components/structure/bottomDrawer/native/DrawerHandle.js +0 -1
  85. package/dist/components/structure/bottomDrawer/native/createDrawerScrollComponent.js +0 -1
  86. package/dist/components/structure/bottomDrawer/web/BottomDrawer.js +0 -1
  87. package/dist/components/structure/drawer/Drawer.js +0 -1
  88. package/dist/components/structure/modal/Modal.js +0 -1
  89. package/dist/components/structure/modal/Modal.native.js +0 -1
  90. package/dist/components/structure/modal/ModalBackdrop.js +0 -1
  91. package/dist/components/structure/modal/ModalContent.js +0 -1
  92. package/dist/components/structure/modal/ModalFooter.js +0 -1
  93. package/dist/components/structure/modal/ModalHeader.js +0 -1
  94. package/dist/components/structure/modal/handler/ModalsHandler.js +0 -1
  95. package/dist/theme/default/deepWoodsTheme.js +0 -1
  96. package/dist/theme/default/forestTheme.js +0 -1
  97. package/dist/theme/default/midnightTheme.js +0 -1
  98. package/dist/theme/default/msdosTheme.js +0 -1
  99. package/dist/theme/default/oceanTheme.js +0 -1
  100. package/dist/theme/default/pastelTheme.js +0 -1
  101. package/dist/theme/default/sunsetTheme.js +0 -1
  102. package/src/theme/default/deepWoodsTheme.js +0 -34
  103. package/src/theme/default/forestTheme.js +0 -34
  104. package/src/theme/default/midnightTheme.js +0 -34
  105. package/src/theme/default/msdosTheme.js +0 -54
  106. package/src/theme/default/oceanTheme.js +0 -34
  107. package/src/theme/default/pastelTheme.js +0 -34
  108. package/src/theme/default/sunsetTheme.js +0 -35
  109. /package/dist/components/{structure → modals}/bottomDrawer/index.js +0 -0
  110. /package/dist/components/{structure → modals}/bottomDrawer/index.native.js +0 -0
  111. /package/dist/components/{structure → modals}/bottomDrawer/index.web.js +0 -0
  112. /package/dist/components/{structure → modals}/bottomDrawer/native/DrawerScrollView.js +0 -0
  113. /package/dist/components/{structure → modals}/bottomDrawer/native/utils.js +0 -0
  114. /package/dist/components/{structure → modals}/drawer/Drawer.native.js +0 -0
  115. /package/dist/components/{structure → modals}/drawer/Drawer.web.js +0 -0
  116. /package/dist/components/{structure → modals}/drawer/index.js +0 -0
  117. /package/dist/components/{structure → modals}/modal/index.js +0 -0
  118. /package/src/components/{structure → modals}/bottomDrawer/index.js +0 -0
  119. /package/src/components/{structure → modals}/bottomDrawer/index.native.js +0 -0
  120. /package/src/components/{structure → modals}/bottomDrawer/index.web.js +0 -0
  121. /package/src/components/{structure → modals}/bottomDrawer/native/DrawerContext.js +0 -0
  122. /package/src/components/{structure → modals}/bottomDrawer/native/DrawerScrollView.js +0 -0
  123. /package/src/components/{structure → modals}/bottomDrawer/native/createDrawerScrollComponent.js +0 -0
  124. /package/src/components/{structure → modals}/bottomDrawer/native/utils.js +0 -0
  125. /package/src/components/{structure → modals}/bottomDrawer/web/BottomDrawer.js +0 -0
  126. /package/src/components/{structure → modals}/drawer/Drawer.js +0 -0
  127. /package/src/components/{structure → modals}/drawer/Drawer.native.js +0 -0
  128. /package/src/components/{structure → modals}/drawer/Drawer.web.js +0 -0
  129. /package/src/components/{structure → modals}/drawer/index.js +0 -0
  130. /package/src/components/{structure → modals}/modal/Modal.js +0 -0
  131. /package/src/components/{structure → modals}/modal/handler/ModalsHandler.js +0 -0
  132. /package/src/components/{structure → modals}/modal/index.js +0 -0
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","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
+ 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/modals/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
- 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}));};
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["height","width","flex"],_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,flex=_ref$style.flex,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,style:{flex:flex}},props,{ItemSeparatorComponent:ItemSeparatorComponent,ListEmptyComponent:ListEmptyComponent,ListFooterComponent:ListFooterComponent,ListHeaderComponent:ListHeaderComponent,contentContainerStyle:style}));};
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["height","width"],_excluded2=["style"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/ScrollView.native.js";import{ScrollView}from"react-native-web";import{jsx as _jsx}from"react/jsx-runtime";export var AbsScrollView=function AbsScrollView(_ref){var _ref$style=_ref.style,height=_ref$style.height,width=_ref$style.width,style=_objectWithoutProperties(_ref$style,_excluded),props=_objectWithoutProperties(_ref,_excluded2);return _jsx(ScrollView,Object.assign({height:height,width:width},props,{contentContainerStyle:style}));};
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["height","width","flex"],_excluded2=["style"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/abstractions/ScrollView.native.js";import{ScrollView}from"react-native-web";import{jsx as _jsx}from"react/jsx-runtime";export var AbsScrollView=function AbsScrollView(_ref){var _ref$style=_ref.style,height=_ref$style.height,width=_ref$style.width,flex=_ref$style.flex,style=_objectWithoutProperties(_ref$style,_excluded),props=_objectWithoutProperties(_ref,_excluded2);return _jsx(ScrollView,Object.assign({height:height,width:width,style:{flex:flex}},props,{contentContainerStyle:style}));};
@@ -1 +1 @@
1
- import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","onChange","title","subtitle","onClose"],_excluded2=["topBarProps","menuProps"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/ActionsDrawer.js";import{pipe}from'ramda';import{BottomDrawer,TopBar,View}from"../structure";import{DrawerScrollView}from"../structure/bottomDrawer";import{Menu}from"./menu/Menu";import{Section}from"../sections";import{useDefaultModifier}from"../../modifiers/default";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";var DEFAULT_PROPS={useSafeArea:false,bg:'mainBG',topBarProps:{useSafeArea:false},menuProps:{vertical:true,linkPaddingH:'md',linkMinHeight:'xl',withDivider:true}};function Content(_ref){var items=_ref.items,title=_ref.title,subtitle=_ref.subtitle,onClose=_ref.onClose,onChange=_ref.onChange,topBarProps=_ref.topBarProps,menuProps=_ref.menuProps;var handleChange=function handleChange(){for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key];}onChange==null?void 0:onChange.apply(void 0,params);onClose();};return _jsxs(_Fragment,{children:[_jsx(TopBar,Object.assign({title:title,subtitle:subtitle},topBarProps)),_jsx(View,{flex:true,children:_jsxs(DrawerScrollView,{children:[!title&&_jsx(View,{paddingT:"md"}),_jsx(Section,{children:_jsx(Menu,Object.assign({items:items,onChange:handleChange},menuProps))}),_jsx(View,{height:100})]})})]});}export function ActionsDrawer(_ref2){var items=_ref2.items,onChange=_ref2.onChange,title=_ref2.title,subtitle=_ref2.subtitle,onClose=_ref2.onClose,rootProps=_objectWithoutProperties(_ref2,_excluded);var _pipe=pipe(useThemeComponentModifier('ActionsDrawer'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var topBarProps=formattedProps.topBarProps,menuProps=formattedProps.menuProps,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(BottomDrawer,Object.assign({onClose:onClose},props,{children:_jsx(Content,{onClose:onClose,topBarProps:topBarProps,menuProps:menuProps,title:title,subtitle:subtitle,onChange:onChange,items:items})}));}
1
+ import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","onChange","title","subtitle","onClose"],_excluded2=["topBarProps","menuProps"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/ActionsDrawer.js";import{pipe}from'ramda';import{TopBar,View}from"../structure";import{BottomDrawer,DrawerScrollView}from"../modals/bottomDrawer";import{Menu}from"./menu/Menu";import{Section}from"../sections";import{useDefaultModifier}from"../../modifiers/default";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";var DEFAULT_PROPS={useSafeArea:false,bg:'mainBG',topBarProps:{useSafeArea:false},menuProps:{vertical:true,linkPaddingH:'md',linkMinHeight:'xl',withDivider:true}};function Content(_ref){var items=_ref.items,title=_ref.title,subtitle=_ref.subtitle,onClose=_ref.onClose,onChange=_ref.onChange,topBarProps=_ref.topBarProps,menuProps=_ref.menuProps;var handleChange=function handleChange(){for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key];}onChange==null?void 0:onChange.apply(void 0,params);onClose();};return _jsxs(_Fragment,{children:[_jsx(TopBar,Object.assign({title:title,subtitle:subtitle},topBarProps)),_jsx(View,{flex:true,children:_jsxs(DrawerScrollView,{children:[!title&&_jsx(View,{paddingT:"md"}),_jsx(Section,{children:_jsx(Menu,Object.assign({items:items,onChange:handleChange},menuProps))}),_jsx(View,{height:100})]})})]});}export function ActionsDrawer(_ref2){var items=_ref2.items,onChange=_ref2.onChange,title=_ref2.title,subtitle=_ref2.subtitle,onClose=_ref2.onClose,rootProps=_objectWithoutProperties(_ref2,_excluded);var _pipe=pipe(useThemeComponentModifier('ActionsDrawer'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var topBarProps=formattedProps.topBarProps,menuProps=formattedProps.menuProps,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(BottomDrawer,Object.assign({onClose:onClose},props,{children:_jsx(Content,{onClose:onClose,topBarProps:topBarProps,menuProps:menuProps,title:title,subtitle:subtitle,onChange:onChange,items:items})}));}
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/FloatingMenu.js";var _excluded=["fixed","onChange","items","activeIndex","size","WrapperView"];import{Icon}from"../presentation";import{Link}from"./Link";import{Text}from"../text";import{View}from"../structure";import{moveScale}from"../../theme/helpers/sizeScale";import{useSafeAreaInsets}from"../../abstractions/helpers/useSafeAreaInsets";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function FloatingMenu(_ref){var _this=this;var fixed=_ref.fixed,onChange=_ref.onChange,items=_ref.items,activeIndex=_ref.activeIndex,_ref$size=_ref.size,size=_ref$size===void 0?'md':_ref$size,WrapperView=_ref.WrapperView,props=_objectWithoutProperties(_ref,_excluded);var insets=useSafeAreaInsets();var height=moveScale(size,2);var bg=!WrapperView?'overlayBG':null;WrapperView=WrapperView||View;return _jsx(View,{absolute:!fixed,fixed:fixed,left:"md",right:"md",centerH:true,bottom:Math.max(insets.bottom,16),children:_jsx(WrapperView,Object.assign({height:height,shadow:true,round:true,row:true,paddingH:"sm",bg:bg},props,{children:items.map(function(item,index){var _item$icon;var isActive=index===activeIndex;return _jsxs(Link,{onPress:function onPress(){return onChange(item,index);},center:true,padding:"xs",gap:3,width:height,round:true,children:[_jsx(Icon,{name:isActive?(_item$icon=item.icon)==null?void 0:_item$icon.replace(/line(?=[^line]*$)/,'fill'):item.icon,size:height,color:isActive?'primary':'text3'}),!!item.label&&_jsx(Text,{size:"xxs",center:true,color:isActive?'primary':'text3',strong:true,children:item.label})]},index);})}))});}
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/FloatingMenu.js";var _excluded=["fixed","onChange","items","activeIndex","size","WrapperView"];import{Icon}from"../presentation";import{Link}from"./Link";import{Text}from"../text";import{View}from"../structure";import{moveScale}from"../../theme/helpers/sizeScale";import{useSafeAreaInsets}from"../../abstractions/helpers/useSafeAreaInsets";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function FloatingMenu(_ref){var _this=this;var fixed=_ref.fixed,onChange=_ref.onChange,items=_ref.items,activeIndex=_ref.activeIndex,_ref$size=_ref.size,size=_ref$size===void 0?'md':_ref$size,WrapperView=_ref.WrapperView,props=_objectWithoutProperties(_ref,_excluded);var insets=useSafeAreaInsets();var height=moveScale(size,2);var bg=!WrapperView?'overlayBG':null;WrapperView=WrapperView||View;return _jsx(View,{absolute:!fixed,fixed:fixed,left:"md",right:"md",centerH:true,bottom:Math.max(insets.bottom,16),children:_jsx(WrapperView,Object.assign({height:height,shadow:true,round:true,row:true,paddingH:"sm",bg:bg},props,{children:items.map(function(item,index){var _item$icon;var isActive=index===activeIndex;return _jsxs(Link,{onPress:function onPress(){return onChange(item,index);},center:true,padding:"xs",gap:3,width:height,round:true,children:[_jsx(Icon,{name:isActive?(_item$icon=item.icon)==null?void 0:_item$icon.replace(/line(?=[^line]*$)/,'fill'):item.icon,size:height,color:isActive?'primary':'text3'}),!!item.label&&_jsx(Text,{size:"xxs",center:true,color:isActive?'primary':'text3',strong:true,numberOfLines:1,children:item.label})]},index);})}))});}
@@ -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,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
+ 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"../modals/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:"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');}};}
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"../modals/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');}};}
@@ -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";export*from"./tabs";export*from"./theme";export*from"./sections";
1
+ export*from"./actions";export*from"./animations";export*from"./form";export*from"./presentation";export*from"./structure";export*from"./modals";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";export*from"./sections";
@@ -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=["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{DrawerFlatList}from"../structure/bottomDrawer";import{LoadingView}from"../state/LoadingView";import{Row}from"../structure/Row";import{View}from"../structure";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(DrawerFlatList,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
+ 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{DrawerFlatList}from"../modals/bottomDrawer";import{LoadingView}from"../state/LoadingView";import{Row}from"../structure/Row";import{View}from"../structure";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(DrawerFlatList,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);}}))});}
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/bottomDrawer/native/BottomDrawer.js";var _excluded=["children","render","setRender","open","onClose","snapPoints","useSafeArea","enableOverScroll","enableHandlePanningGesture","enableContentPanningGesture","animationConfig","hideHandle","contentProps"],_excluded2=["open"];import{GestureDetector,Gesture,GestureHandlerRootView}from'react-native-gesture-handler';import{Modal,Dimensions,StyleSheet,BackHandler,Platform}from"react-native-web";import{useSafeAreaInsets}from'react-native-safe-area-context';import Animated,{useSharedValue,useAnimatedStyle,withSpring,runOnJS}from'react-native-reanimated';import React from'react';import{DrawerHandle}from"./DrawerHandle";import{DrawerProvider}from"./DrawerContext";import{Pressable}from"../../../actions/Pressable";import{View}from"../../../structure/View";import{normalizeSnapPoints,findClosestSnapPoint}from"./utils";import{useColors}from"../../../../theme/ThemeHandler";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function InnerContent(_ref){var children=_ref.children,render=_ref.render,setRender=_ref.setRender,open=_ref.open,onClose=_ref.onClose,_ref$snapPoints=_ref.snapPoints,snapPoints=_ref$snapPoints===void 0?['50%']:_ref$snapPoints,_ref$useSafeArea=_ref.useSafeArea,useSafeArea=_ref$useSafeArea===void 0?true:_ref$useSafeArea,_ref$enableOverScroll=_ref.enableOverScroll,enableOverScroll=_ref$enableOverScroll===void 0?true:_ref$enableOverScroll,_ref$enableHandlePann=_ref.enableHandlePanningGesture,enableHandlePanningGesture=_ref$enableHandlePann===void 0?true:_ref$enableHandlePann,_ref$enableContentPan=_ref.enableContentPanningGesture,enableContentPanningGesture=_ref$enableContentPan===void 0?true:_ref$enableContentPan,_ref$animationConfig=_ref.animationConfig,animationConfig=_ref$animationConfig===void 0?{damping:50,stiffness:500,mass:0.3,overshootClamping:true,restDisplacementThreshold:10,restSpeedThreshold:10}:_ref$animationConfig,hideHandle=_ref.hideHandle,contentProps=_ref.contentProps,props=_objectWithoutProperties(_ref,_excluded);var _Dimensions$get=Dimensions.get('window'),SCREEN_HEIGHT=_Dimensions$get.height;var insets=useSafeAreaInsets();var bottomInset=useSafeArea?insets.bottom:0;var colors=useColors();var translateY=useSharedValue(SCREEN_HEIGHT);var snapIndex=useSharedValue(0);var velocityY=useSharedValue(0);var normalizedSnapPoints=React.useMemo(function(){return normalizeSnapPoints(snapPoints,SCREEN_HEIGHT,bottomInset);},[snapPoints,useSafeArea]);var maxSnapPoint=React.useMemo(function(){return Math.max.apply(Math,_toConsumableArray(normalizedSnapPoints));},[normalizedSnapPoints]);var minSnapPoint=React.useMemo(function(){return Math.min.apply(Math,_toConsumableArray(normalizedSnapPoints));},[normalizedSnapPoints]);React.useEffect(function(){if(open){var targetY=SCREEN_HEIGHT-normalizedSnapPoints[0];translateY.value=withSpring(targetY,animationConfig);snapIndex.value=0;}else{translateY.value=withSpring(SCREEN_HEIGHT,animationConfig,function(){runOnJS(setRender)(false);});snapIndex.value=-1;}},[open]);React.useEffect(function(){if(!onClose||!open||Platform.OS!=='android')return;var backHandler=BackHandler.addEventListener('hardwareBackPress',function(){onClose();return true;});return function(){return backHandler.remove();};},[open,onClose]);var handleClose=React.useCallback(function(){onClose==null?void 0:onClose();},[onClose]);if(!onClose)handleClose=false;var snapTo=React.useCallback(function(index){'worklet';var snapPoint=normalizedSnapPoints[index];if(snapPoint!==undefined){translateY.value=withSpring(SCREEN_HEIGHT-snapPoint,animationConfig);snapIndex.value=index;}},[normalizedSnapPoints]);var gestureStartTranslateY=useSharedValue(0);var panRef=React.useRef();var panGesture=React.useMemo(function(){return Gesture.Pan().withRef(panRef).enabled(enableHandlePanningGesture||enableContentPanningGesture).onStart(function(){gestureStartTranslateY.value=translateY.value;}).onUpdate(function(event){var newTranslateY=gestureStartTranslateY.value+event.translationY;var maxPosition=SCREEN_HEIGHT-maxSnapPoint;if(enableOverScroll&&newTranslateY>=maxPosition){translateY.value=newTranslateY;}else{translateY.value=Math.max(maxPosition,Math.min(SCREEN_HEIGHT,newTranslateY));}velocityY.value=event.velocityY;}).onEnd(function(){var currentPosition=SCREEN_HEIGHT-translateY.value;var shouldClose=!!handleClose&&(velocityY.value>1500||velocityY.value>800&&currentPosition<minSnapPoint||currentPosition<minSnapPoint*0.35);if(shouldClose){runOnJS(handleClose)();}else{var closestSnapIndex=findClosestSnapPoint(currentPosition,normalizedSnapPoints,velocityY.value);var targetSnapPoint=normalizedSnapPoints[closestSnapIndex];translateY.value=withSpring(SCREEN_HEIGHT-targetSnapPoint,animationConfig);snapIndex.value=closestSnapIndex;}});},[enableHandlePanningGesture,enableContentPanningGesture,enableOverScroll,maxSnapPoint,minSnapPoint,normalizedSnapPoints,animationConfig,handleClose]);var animatedSheetStyle=useAnimatedStyle(function(){var currentHeight=SCREEN_HEIGHT-translateY.value;return{transform:[{translateY:translateY.value}],maxHeight:currentHeight};});var contextValue=React.useMemo(function(){return{translateY:translateY,snapIndex:snapIndex,maxSnapPoint:maxSnapPoint,snapTo:snapTo,animationConfig:animationConfig,panRef:panRef,normalizedSnapPoints:normalizedSnapPoints,SCREEN_HEIGHT:SCREEN_HEIGHT,minSnapPoint:minSnapPoint,handleClose:handleClose,velocityY:velocityY};},[maxSnapPoint,normalizedSnapPoints,SCREEN_HEIGHT,minSnapPoint,handleClose]);return _jsxs(GestureHandlerRootView,{style:{flex:1},children:[_jsx(Pressable,{absoluteFill:true,bg:"backdrop_op70",onPress:function onPress(){if(!handleClose)return;runOnJS(handleClose)();}}),_jsx(DrawerProvider,{value:contextValue,children:_jsx(GestureDetector,{gesture:panGesture,children:_jsx(Animated.View,{style:[styles.container,{height:SCREEN_HEIGHT},animatedSheetStyle],pointerEvents:"box-none",children:_jsxs(View,Object.assign({flex:true,bg:"overlayBG",shadow:true,paddingB:useSafeArea&&bottomInset,borderRadiusT:"xxxl",marginL:"auto",marginR:"auto",fullW:true},props,{children:[_jsx(DrawerHandle,{hide:hideHandle}),_jsx(View,Object.assign({flex:true},contentProps,{children:children}))]}))})})})]});}var styles=StyleSheet.create({container:{position:'absolute',left:0,right:0,top:0}});export function BottomDrawer(_ref2){var open=_ref2.open,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(open),_React$useState2=_slicedToArray(_React$useState,2),render=_React$useState2[0],setRender=_React$useState2[1];React.useEffect(function(){if(open){setRender(true);}},[open]);return _jsx(Modal,{visible:render,transparent:true,statusBarTranslucent:true,navigationBarTranslucent:true,animationType:"none",children:_jsx(InnerContent,Object.assign({},props,{open:open,render:render,setRender:setRender}))});}
@@ -0,0 +1 @@
1
+ var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/bottomDrawer/native/DrawerContext.js";import React from'react';import{jsx as _jsx}from"react/jsx-runtime";var DrawerContext=React.createContext(null);export function DrawerProvider(_ref){var children=_ref.children,value=_ref.value;return _jsx(DrawerContext.Provider,{value:value,children:children});}export function useDrawerContext(){var context=React.useContext(DrawerContext);if(!context){throw new Error('useDrawerContext must be used within a DrawerProvider');}return context;}
@@ -0,0 +1 @@
1
+ var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/bottomDrawer/native/DrawerHandle.js";import{Divider}from"../../../helpers/Separator";import{View}from"../../../structure/View";import{jsx as _jsx}from"react/jsx-runtime";export function DrawerHandle(_ref){var hide=_ref.hide;if(!!hide)return false;return _jsx(View,{center:true,padding:"sm",children:_jsx(Divider,{maxWidth:35,line:4,color:"text4_op30",height:4})});}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/bottomDrawer/native/createDrawerScrollComponent.js";var _excluded=["ref","onScroll"];import{Gesture,GestureDetector}from'react-native-gesture-handler';import Animated,{useSharedValue,useAnimatedScrollHandler,useAnimatedRef,scrollTo,withSpring,runOnJS}from'react-native-reanimated';import React from'react';import{findClosestSnapPoint,clamp}from"./utils";import{useDrawerContext}from"./DrawerContext";import{jsx as _jsx}from"react/jsx-runtime";export function createDrawerScrollComponent(Component){var AnimatedComponent=Animated.createAnimatedComponent(Component);function DrawerScrollComponent(_ref){var ref=_ref.ref,_onScroll=_ref.onScroll,props=_objectWithoutProperties(_ref,_excluded);var _useDrawerContext=useDrawerContext(),translateY=_useDrawerContext.translateY,panRef=_useDrawerContext.panRef,normalizedSnapPoints=_useDrawerContext.normalizedSnapPoints,SCREEN_HEIGHT=_useDrawerContext.SCREEN_HEIGHT,maxSnapPoint=_useDrawerContext.maxSnapPoint,minSnapPoint=_useDrawerContext.minSnapPoint,handleClose=_useDrawerContext.handleClose,animationConfig=_useDrawerContext.animationConfig,snapIndex=_useDrawerContext.snapIndex;var scrollRef=useAnimatedRef();var scrollOffset=useSharedValue(0);var prevTranslationY=useSharedValue(0);var drawerMoved=useSharedValue(false);React.useImperativeHandle(ref,function(){return scrollRef.current;});var maxPosition=SCREEN_HEIGHT-maxSnapPoint;var panGesture=React.useMemo(function(){return Gesture.Pan().activeOffsetY([-10,10]).blocksExternalGesture(panRef).onStart(function(){prevTranslationY.value=0;drawerMoved.value=false;}).onUpdate(function(event){var delta=event.translationY-prevTranslationY.value;prevTranslationY.value=event.translationY;var currentY=translateY.value;var atMaxSnap=currentY<=maxPosition+1;var atScrollTop=scrollOffset.value<=0;if(drawerMoved.value){var newY=clamp(currentY+delta,maxPosition,SCREEN_HEIGHT);translateY.value=newY;scrollTo(scrollRef,0,0,false);if(newY<=maxPosition+1&&delta<0){drawerMoved.value=false;}}else if(!atMaxSnap){drawerMoved.value=true;var _newY=clamp(currentY+delta,maxPosition,SCREEN_HEIGHT);translateY.value=_newY;scrollTo(scrollRef,0,0,false);}else if(atScrollTop&&delta>0){drawerMoved.value=true;var _newY2=clamp(currentY+delta,maxPosition,SCREEN_HEIGHT);translateY.value=_newY2;scrollTo(scrollRef,0,0,false);}}).onEnd(function(event){if(!drawerMoved.value)return;var currentPosition=SCREEN_HEIGHT-translateY.value;var velocity=event.velocityY;var shouldClose=!!handleClose&&(velocity>1500||velocity>800&&currentPosition<minSnapPoint||currentPosition<minSnapPoint*0.35);if(shouldClose){runOnJS(handleClose)();}else{var closestSnapIndex=findClosestSnapPoint(currentPosition,normalizedSnapPoints,velocity);var targetSnapPoint=normalizedSnapPoints[closestSnapIndex];translateY.value=withSpring(SCREEN_HEIGHT-targetSnapPoint,animationConfig);snapIndex.value=closestSnapIndex;}});},[panRef,maxPosition,normalizedSnapPoints,minSnapPoint,handleClose,animationConfig]);var nativeGesture=React.useMemo(function(){return Gesture.Native();},[]);var composedGesture=React.useMemo(function(){return Gesture.Simultaneous(panGesture,nativeGesture);},[panGesture,nativeGesture]);var animatedScrollHandler=useAnimatedScrollHandler({onScroll:function onScroll(event){scrollOffset.value=event.contentOffset.y;if(_onScroll){runOnJS(_onScroll)(event);}}});return _jsx(GestureDetector,{gesture:composedGesture,children:_jsx(AnimatedComponent,Object.assign({ref:scrollRef,style:{flex:1},onScroll:animatedScrollHandler,scrollEventThrottle:16,bounces:false,overScrollMode:"never"},props))});}return DrawerScrollComponent;}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["snapPoints","contentProps"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/bottomDrawer/web/BottomDrawer.js";import{Drawer}from"../../drawer";import{jsx as _jsx}from"react/jsx-runtime";export var BottomDrawer=function BottomDrawer(_ref){var snapPoints=_ref.snapPoints,contentProps=_ref.contentProps,props=_objectWithoutProperties(_ref,_excluded);return _jsx(Drawer,Object.assign({height:(snapPoints==null?void 0:snapPoints[0])||400,contentProps:Object.assign({padding:0},contentProps)},props));};
@@ -0,0 +1 @@
1
+ var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/drawer/Drawer.js";import{Modal}from"../modal/Modal";import{jsx as _jsx}from"react/jsx-runtime";export function Drawer(props){return _jsx(Modal,Object.assign({position:"bottom"},props));}
@@ -0,0 +1 @@
1
+ export*from"./modal";export*from"./drawer";export*from"./bottomDrawer";export*from"./router";
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/modal/Modal.js";var _excluded=["open","onClose","title","width","children","header","footer","noLayout","disableOutsideClick"],_excluded2=["contentProps","headerProps","footerProps","position"];import{pipe}from'ramda';import{AnimatedView}from"../../animations/AnimatedView";import{ModalBackdrop}from"./ModalBackdrop";import{ModalContent}from"./ModalContent";import{ModalFooter}from"./ModalFooter";import{ModalHeader}from"./ModalHeader";import{Portal}from"../../helpers/Portal";import{useDefaultModifier}from"../../../modifiers/default";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2);_objectDestructuringEmpty(_ref2[0]);var position=_ref2[1].position;var radiusKey='br';var height=undefined;if(position==='bottom'){radiusKey='borderRadiusT';height='95%';}else if(position==='top'){radiusKey='borderRadiusB';height='95%';}else if(position==='right'){radiusKey='borderRadiusL';height='100%';}else if(position==='left'){radiusKey='borderRadiusR';height='100%';}return _defineProperty(_defineProperty(_defineProperty(_defineProperty({maxWidth:'100%',maxHeight:!position&&'95%',height:height,scale:!position,fade:!!position,slide:position&&{from:position}},radiusKey,'xl'),"bg",'overlayBG'),"overflow",'hidden'),"shadow",true);};export function Modal(_ref4){var open=_ref4.open,onClose=_ref4.onClose,title=_ref4.title,_ref4$width=_ref4.width,width=_ref4$width===void 0?500:_ref4$width,children=_ref4.children,header=_ref4.header,footer=_ref4.footer,noLayout=_ref4.noLayout,disableOutsideClick=_ref4.disableOutsideClick,rootProps=_objectWithoutProperties(_ref4,_excluded);var _pipe=pipe(useThemeComponentModifier('Modal'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var contentProps=formattedProps.contentProps,headerProps=formattedProps.headerProps,footerProps=formattedProps.footerProps,position=formattedProps.position,props=_objectWithoutProperties(formattedProps,_excluded2);var content=children;if(!noLayout){content=_jsxs(_Fragment,{children:[_jsx(ModalHeader,Object.assign({title:title,onClose:onClose},headerProps,{children:header})),_jsx(ModalContent,Object.assign({},contentProps,{children:children})),_jsx(ModalFooter,Object.assign({},footerProps,{children:footer}))]});}return _jsx(Portal,{children:_jsx(ModalBackdrop,{open:open,onClose:!disableOutsideClick&&onClose,position:position,children:_jsx(AnimatedView,Object.assign({className:"neko-modal",open:open,width:width},props,{onPress:function onPress(e){return e.stopPropagation();},children:content}))})});}
@@ -0,0 +1 @@
1
+ import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";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/modals/modal/Modal.native.js";var _excluded=["open","onClose","title","width","children","header","footer","noLayout","disableOutsideClick"],_excluded2=["contentProps","headerProps","footerProps"];import{Modal as RNModal,ScrollView}from"react-native-web";import{pipe}from'ramda';import{ModalBackdrop}from"./ModalBackdrop";import{ModalContent}from"./ModalContent";import{ModalFooter}from"./ModalFooter";import{ModalHeader}from"./ModalHeader";import{Pressable}from"../../actions/Pressable";import{View}from"../../structure/View";import{useDefaultModifier}from"../../../modifiers/default";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS={maxWidth:'90%',maxHeight:'90%',scale:true,br:'xl',bg:'overlayBG',overflow:'hidden',shadow:true};export function Modal(_ref){var open=_ref.open,onClose=_ref.onClose,title=_ref.title,_ref$width=_ref.width,width=_ref$width===void 0?500:_ref$width,children=_ref.children,header=_ref.header,footer=_ref.footer,noLayout=_ref.noLayout,disableOutsideClick=_ref.disableOutsideClick,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('Modal'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var contentProps=formattedProps.contentProps,headerProps=formattedProps.headerProps,footerProps=formattedProps.footerProps,props=_objectWithoutProperties(formattedProps,_excluded2);var content=children;if(!noLayout){content=_jsxs(_Fragment,{children:[_jsx(ModalHeader,Object.assign({title:title,onClose:onClose},headerProps,{children:header})),_jsx(ScrollView,{children:_jsx(ModalContent,Object.assign({},contentProps,{children:children}))}),_jsx(ModalFooter,Object.assign({},footerProps,{children:footer}))]});}return _jsx(RNModal,{animationType:"fade",transparent:true,visible:open,onRequestClose:onClose,allowSwipeDismissal:true,navigationBarTranslucent:true,statusBarTranslucent:true,children:_jsxs(ModalBackdrop,{open:open,useSimpleView:true,children:[_jsx(Pressable,{onPress:!disableOutsideClick?onClose:undefined,absolute:true,top:0,left:0,right:0,bottom:0,pointerEvents:"box-only"}),_jsx(View,Object.assign({width:width},props,{zIndex:10,children:content}))]})});}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/modal/ModalBackdrop.js";var _excluded=["open","onClose","children","useSimpleView"];import{pipe}from'ramda';import React from'react';import{AnimatedView}from"../../animations/AnimatedView";import{SafeAreaView}from"../../structure/SafeAreaView";import{useDefaultModifier}from"../../../modifiers/default";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);_objectDestructuringEmpty(_ref2[0]);var position=_ref2[1].position;var justify='center';var align='center';if(position==='bottom'){justify='flex-end';}else if(position==='top'){justify='flex-top';}else if(position==='left'){align='flex-start';}else if(position==='right'){align='flex-end';}return{fixed:true,top:0,left:0,right:0,bottom:0,justify:justify,align:align,lazy:true,unmountOnClose:true,fade:true,zIndex:500,bg:'backdrop_op70'};};export function ModalBackdrop(_ref3){var open=_ref3.open,onClose=_ref3.onClose,children=_ref3.children,useSimpleView=_ref3.useSimpleView,rootProps=_objectWithoutProperties(_ref3,_excluded);var modalRef=React.useRef();var _pipe=pipe(useThemeComponentModifier('ModalBackdrop'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var props=_pipe2[1];if(useSimpleView){return _jsx(SafeAreaView,Object.assign({className:"neko-modal-backdrop"},props,{children:children}));}return _jsx(AnimatedView,Object.assign({open:open,className:"neko-modal-backdrop",onPress:onClose},props,{children:children}));}
@@ -0,0 +1 @@
1
+ import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";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/modals/modal/ModalContent.js";var _excluded=["children"];import{pipe}from'ramda';import{View}from"../../structure/View";import{useDefaultModifier}from"../../../modifiers/default";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS={fullW:true,flex:true,scrollY:true,padding:'md'};export function ModalContent(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('ModalContent'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var props=_pipe2[1];if(!children)return false;return _jsx(View,Object.assign({className:"neko-modal-content"},props,{children:children}));}
@@ -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/modals/modal/ModalFooter.js";var _excluded=["children"];import{pipe}from'ramda';import{View}from"../../structure/View";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,2),sizeCode=_ref2[0].sizeCode,_=_ref2[1];return{borderT:true,paddingH:sizeCode,paddingV:moveScale(sizeCode,-2),minHeight:moveScale(sizeCode,1),centerV:true};};export function ModalFooter(_ref3){var children=_ref3.children,rootProps=_objectWithoutProperties(_ref3,_excluded);var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('ModalFooter'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var props=_pipe2[1];if(!children)return false;return _jsx(View,Object.assign({className:"neko-modal-footer"},props,{children:children}));}
@@ -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/modals/modal/ModalHeader.js";var _excluded=["onClose","title","children"],_excluded2=["titleProps"];import{pipe}from'ramda';import{Icon}from"../../presentation/Icon";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";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,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2),sizeCode=_ref2[0].sizeCode,_=_ref2[1];return{centerV:true,paddingH:sizeCode,paddingV:moveScale(sizeCode,-2),minHeight:moveScale(sizeCode,1),gap:'md',borderB:true,justify:'space-between',titleProps:{strong:true}};};export function ModalHeader(_ref3){var onClose=_ref3.onClose,title=_ref3.title,children=_ref3.children,rootProps=_objectWithoutProperties(_ref3,_excluded);var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('ModalHeader'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var titleProps=formattedProps.titleProps,props=_objectWithoutProperties(formattedProps,_excluded2);if(!title&&!children)return false;return _jsxs(View,Object.assign({className:"neko-modal-header"},props,{row:true,children:[title&&_jsx(Text,Object.assign({},titleProps,{children:title})),children,!!onClose&&_jsx(Link,{onPress:onClose,padding:"sm",marginR:-10,children:_jsx(Icon,{name:"close-line"})})]}));}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _excluded=["key","content"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/modal/handler/ModalsHandler.js";import React from'react';import{Modal}from"../Modal";import{useResponsiveValue}from"../../../../responsive/responsiveHooks";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var ModalsContext=React.createContext(null);export var useModals=function useModals(){return React.useContext(ModalsContext)||{};};var idCounter=0;export function useModalOpener(){var _useModals=useModals(),add=_useModals.add,remove=_useModals.remove,close=_useModals.close;var open=function open(init){var key=++idCounter;var onClose=function onClose(){return close(key);};var params={onClose:onClose,key:key};var data=init(params);add(key,Object.assign({onClose:onClose},data,{open:true}));return params;};return{open:open};}export function ModalsHandler(_ref){var _this=this;var children=_ref.children;var width=useResponsiveValue({sm:'100%',df:400});var _React$useState=React.useState([]),_React$useState2=_slicedToArray(_React$useState,2),modals=_React$useState2[0],setModals=_React$useState2[1];var add=React.useCallback(function(key,data){setModals(function(prev){return[].concat(_toConsumableArray(prev),[Object.assign({key:key},data)]);});},[]);var remove=React.useCallback(function(key){setModals(function(prev){return prev.filter(function(p){return p.key!==key;});});},[]);var close=React.useCallback(function(key){setModals(function(items){return items.map(function(i){return i.key===key?Object.assign({},i,{open:false}):i;});});setTimeout(function(){return remove(key);},600);},[]);var value=React.useMemo(function(){return{add:add,remove:remove,close:close};},[add,remove,close]);return _jsxs(ModalsContext.Provider,{value:value,children:[children,modals==null?void 0:modals.map==null?void 0:modals.map(function(_ref2){var key=_ref2.key,content=_ref2.content,item=_objectWithoutProperties(_ref2,_excluded);return _jsx(Modal,Object.assign({},item,{children:content}),key);})]});}
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["name","component","type"];import{useEffect}from'react';import{useModalsRouterContext}from"./ModalsRouterContext";export function ModalRoute(_ref){var name=_ref.name,component=_ref.component,_ref$type=_ref.type,type=_ref$type===void 0?'modal':_ref$type,containerProps=_objectWithoutProperties(_ref,_excluded);var _useModalsRouterConte=useModalsRouterContext(),registerRoute=_useModalsRouterConte.registerRoute,unregisterRoute=_useModalsRouterConte.unregisterRoute;useEffect(function(){if(!name||!registerRoute)return;registerRoute(name,{component:component,type:type,containerProps:containerProps});return function(){return unregisterRoute==null?void 0:unregisterRoute(name);};},[name]);return null;}
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";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/modals/router/ModalsRouter.js";import React,{useCallback,useMemo,useRef,useState}from'react';import{BottomDrawer}from"../bottomDrawer";import{Drawer}from"../drawer";import{Modal}from"../modal/Modal";import{ModalRouteContext,ModalsRouterContext,ModalsStackContext}from"./ModalsRouterContext";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var CONTAINERS={modal:Modal,drawer:Drawer,bottomDrawer:BottomDrawer};export function ModalsRouter(_ref){var _this=this;var children=_ref.children;var _useState=useState([]),_useState2=_slicedToArray(_useState,2),stack=_useState2[0],setStack=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),renderStack=_useState4[0],setRenderStack=_useState4[1];var _useState5=useState({}),_useState6=_slicedToArray(_useState5,2),containerOverrides=_useState6[0],setContainerOverrides=_useState6[1];var keyRef=useRef(0);var routesRef=useRef({});var registerRoute=useCallback(function(name,config){routesRef.current[name]=config;},[]);var unregisterRoute=useCallback(function(name){delete routesRef.current[name];},[]);var updateContainerProps=useCallback(function(key,props){setContainerOverrides(function(prev){return Object.assign({},prev,_defineProperty({},key,Object.assign({},prev[key],props)));});},[]);var push=useCallback(function(path,params){var key=++keyRef.current;var entry={key:key,path:path,params:params};setStack(function(prev){return[].concat(_toConsumableArray(prev),[entry]);});setRenderStack(function(prev){return[].concat(_toConsumableArray(prev),[Object.assign({},entry,{open:true})]);});},[]);var closeByKey=useCallback(function(key){setStack(function(prev){return prev.filter(function(e){return e.key!==key;});});setRenderStack(function(prev){return prev.map(function(e){return e.key===key?Object.assign({},e,{open:false}):e;});});setTimeout(function(){setRenderStack(function(prev){return prev.filter(function(e){return e.key!==key;});});},600);},[]);var goBack=useCallback(function(){setStack(function(prev){if(prev.length===0)return prev;var last=prev[prev.length-1];setRenderStack(function(rs){return rs.map(function(e){return e.key===last.key?Object.assign({},e,{open:false}):e;});});setTimeout(function(){setRenderStack(function(rs){return rs.filter(function(e){return e.key!==last.key;});});},600);return prev.slice(0,-1);});},[]);var closeAll=useCallback(function(){setStack([]);setRenderStack(function(prev){var closing=prev.map(function(e){return Object.assign({},e,{open:false});});setTimeout(function(){setRenderStack([]);},600);return closing;});},[]);var actionsValue=useMemo(function(){return{push:push,goBack:goBack,closeAll:closeAll,registerRoute:registerRoute,unregisterRoute:unregisterRoute};},[push,goBack,closeAll,registerRoute,unregisterRoute]);var stackValue=useMemo(function(){return{stack:stack};},[stack]);var nestedModals=renderStack.reduceRight(function(inner,entry){var route=routesRef.current[entry.path];if(!route)return inner;var Container=CONTAINERS[route.type]||Modal;var Component=route.component;var overrides=containerOverrides[entry.key];var updateContainer=function updateContainer(props){return updateContainerProps(entry.key,props);};return _jsx(Container,Object.assign({open:entry.open,onClose:function onClose(){return closeByKey(entry.key);}},route.containerProps,overrides,{children:_jsx(ModalsRouterContext.Provider,{value:actionsValue,children:_jsx(ModalsStackContext.Provider,{value:stackValue,children:_jsxs(ModalRouteContext.Provider,{value:{params:entry.params,path:entry.path,key:entry.key,updateContainer:updateContainer},children:[_jsx(Component,{}),inner]})})})}),entry.key);},null);return _jsx(ModalsRouterContext.Provider,{value:actionsValue,children:_jsxs(ModalsStackContext.Provider,{value:stackValue,children:[children,nestedModals]})});}
@@ -0,0 +1 @@
1
+ import React from'react';var ModalsRouterContext=React.createContext(null);export var useModalsRouterContext=function useModalsRouterContext(){return React.useContext(ModalsRouterContext)||{};};export{ModalsRouterContext};var ModalsStackContext=React.createContext(null);export var useModalsStackContext=function useModalsStackContext(){return React.useContext(ModalsStackContext)||{};};export{ModalsStackContext};var ModalRouteContext=React.createContext(null);export var useModalRouteContext=function useModalRouteContext(){return React.useContext(ModalRouteContext)||{};};export{ModalRouteContext};
@@ -0,0 +1 @@
1
+ export{ModalsRouter}from"./ModalsRouter";export{ModalRoute}from"./ModalRoute";export{useModalsNavigation}from"./useModalsNavigation";export{useModalParams}from"./useModalParams";export{useAllModalsParams}from"./useAllModalsParams";export{useUpdateModalContainer}from"./useUpdateModalContainer";
@@ -0,0 +1 @@
1
+ import{useModalsStackContext}from"./ModalsRouterContext";export function useAllModalsParams(){var _useModalsStackContex=useModalsStackContext(),stack=_useModalsStackContex.stack;return(stack||[]).map(function(_ref){var path=_ref.path,params=_ref.params,key=_ref.key;return{path:path,params:params,key:key};});}
@@ -0,0 +1 @@
1
+ import{useModalRouteContext}from"./ModalsRouterContext";export function useModalParams(){var _useModalRouteContext=useModalRouteContext(),params=_useModalRouteContext.params;return params||{};}
@@ -0,0 +1 @@
1
+ import{useModalsRouterContext}from"./ModalsRouterContext";export function useModalsNavigation(){var _useModalsRouterConte=useModalsRouterContext(),push=_useModalsRouterConte.push,goBack=_useModalsRouterConte.goBack,closeAll=_useModalsRouterConte.closeAll;return{push:push,goBack:goBack,closeAll:closeAll};}
@@ -0,0 +1 @@
1
+ import{useModalRouteContext}from"./ModalsRouterContext";export function useUpdateModalContainer(){var _useModalRouteContext=useModalRouteContext(),updateContainer=_useModalRouteContext.updateContainer;return updateContainer;}
@@ -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/sections/SectionItemDropdown.js";var _excluded=["children","value","valueLabel","items","onChange"],_excluded2=["icon","iconLabelProps","trigger","placement","popoverProps","useBottomDrawer"];import{pipe}from'ramda';import{IconLabel}from"../presentation";import{Link}from"../actions";import{Menu}from"../actions/menu/Menu";import{Popover}from"../structure/popover/Popover";import{ScrollView}from"../list";import{SectionItem}from"./SectionItem";import{useColorConverter}from"../../modifiers/colorConverter";import{useDefaultModifier}from"../../modifiers/default";import{useResponsiveValue}from"../../responsive";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS={paddingV:'sm',minH:'md',icon:'arrow-down-s-fill'};export function SectionItemDropdown(_ref){var _this=this;var children=_ref.children,value=_ref.value,valueLabel=_ref.valueLabel,items=_ref.items,onChange=_ref.onChange,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter(),useThemeComponentModifier('SectionItemDropdown'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),color=_pipe2[0].color,formattedProps=_pipe2[1];var icon=formattedProps.icon,iconLabelProps=formattedProps.iconLabelProps,_formattedProps$trigg=formattedProps.trigger,trigger=_formattedProps$trigg===void 0?'click':_formattedProps$trigg,placement=formattedProps.placement,popoverProps=formattedProps.popoverProps,useBottomDrawer=formattedProps.useBottomDrawer,props=_objectWithoutProperties(formattedProps,_excluded2);useBottomDrawer=useResponsiveValue(useBottomDrawer||{native:true,sm:true,md:true});return _jsx(Popover,Object.assign({useParentMinWidth:true,placement:placement||'bottomRight',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(ScrollView,{children:_jsx(Menu,{vertical:true,items:items,onChange:handleChange,linkPaddingH:useBottomDrawer?'md':'sm',linkMinHeight:useBottomDrawer?'xl':'md',withDivider:useBottomDrawer})});},children:_jsx(Link,{className:"neko-section-item-dropdown",children:_jsx(SectionItem,Object.assign({color:color},props,{children:children||_jsx(IconLabel,Object.assign({gap:2,invert:true,color:color},iconLabelProps,{label:valueLabel||value,icon:icon}))}))})}));}
@@ -1 +1 @@
1
- export*from"./Section";export*from"./SectionItem";export*from"./SectionItemLink";
1
+ export*from"./Section";export*from"./SectionItem";export*from"./SectionItemDropdown";export*from"./SectionItemLink";
@@ -1 +1 @@
1
- export*from"./Accordion";export*from"./AccordionGroup";export*from"./View";export*from"./GradientView";export*from"./BlurView";export*from"./SafeAreaView";export*from"./Card";export*from"./Row";export*from"./Col";export*from"./modal";export*from"./drawer";export*from"./bottomDrawer";export*from"./popover/Popover";export*from"./Segment";export*from"./TopBar";export*from"./KeyboardAvoidingView";
1
+ export*from"./Accordion";export*from"./AccordionGroup";export*from"./View";export*from"./GradientView";export*from"./BlurView";export*from"./SafeAreaView";export*from"./Card";export*from"./Row";export*from"./Col";export*from"./popover/Popover";export*from"./Segment";export*from"./TopBar";export*from"./KeyboardAvoidingView";
@@ -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/structure/popover/Popover.js";var _excluded=["renderContent","content","trigger","placement","unmountOnClose","children","parentWidth","parentMinWidth","useBottomDrawer","bottomDrawerProps","watch","disabled"],_excluded2=["children","content","renderContent","snapPoints"];import React from'react';import{BottomDrawer}from"../bottomDrawer";import{PopoverContent}from"./PopoverContent";import{useRegisterOverlay}from"../overlay/OverlayHandler";import{useResponsiveValue}from"../../../responsive";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";export function Popover(_ref){var _this=this;var renderContent=_ref.renderContent,content=_ref.content,_ref$trigger=_ref.trigger,trigger=_ref$trigger===void 0?'hover':_ref$trigger,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,unmountOnClose=_ref.unmountOnClose,children=_ref.children,parentWidth=_ref.parentWidth,parentMinWidth=_ref.parentMinWidth,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{}:_ref$useBottomDrawer,_ref$bottomDrawerProp=_ref.bottomDrawerProps,bottomDrawerProps=_ref$bottomDrawerProp===void 0?{}:_ref$bottomDrawerProp,watch=_ref.watch,disabled=_ref.disabled,props=_objectWithoutProperties(_ref,_excluded);var shouldUseDrawer=useResponsiveValue(useBottomDrawer);var ref=React.useRef(null);var _useRegisterOverlay=useRegisterOverlay({unmountOnClose:unmountOnClose}),onOpen=_useRegisterOverlay.onOpen,onUpdate=_useRegisterOverlay.onUpdate,onClose=_useRegisterOverlay.onClose,onFastClose=_useRegisterOverlay.onFastClose,stopDelayedClosing=_useRegisterOverlay.stopDelayedClosing;var click=trigger==='click';var hover=trigger==='hover';var focus=trigger==='focus';renderContent=renderContent||function(){return content;};var buildContent=function buildContent(){var _ref$current,_ref$current$getBound,_ref$current2,_ref$current2$getBoun;return _jsx(PopoverContent,Object.assign({placement:placement,width:parentWidth?(_ref$current=ref.current)==null?void 0:(_ref$current$getBound=_ref$current.getBoundingClientRect())==null?void 0:_ref$current$getBound.width:undefined,minWidth:parentMinWidth?(_ref$current2=ref.current)==null?void 0:(_ref$current2$getBoun=_ref$current2.getBoundingClientRect())==null?void 0:_ref$current2$getBoun.width:undefined},props,{onMouseEnter:hover?stopDelayedClosing:undefined,onMouseLeave:hover?onClose:undefined,children:renderContent({onClose:onFastClose})}));};var computeTriggerRect=function computeTriggerRect(){var rect=ref.current.getBoundingClientRect();var scrollX=window.scrollX||window.pageXOffset;var scrollY=window.scrollY||window.pageYOffset;return{left:rect.left+scrollX,right:rect.right+scrollX,top:rect.top+scrollY,bottom:rect.bottom+scrollY,width:rect.width,height:rect.height};};var show=function show(e){if(e&&e.stopPropagation)e.stopPropagation();var triggerRect=computeTriggerRect();onOpen({content:buildContent(),triggerRect:triggerRect,placement:placement,options:{dismissOnClickOutside:click||focus}});};React.useEffect(function(){return function(){return onClose();};},[]);React.useEffect(function(){if(!ref.current||!watch)return;onUpdate({content:buildContent(),options:{dismissOnClickOutside:click||focus}});},watch);if(shouldUseDrawer){return _jsx(DrawerPopover,Object.assign({content:content,renderContent:renderContent,children:children},props,bottomDrawerProps));}var child=React.Children.only(children);var childProps={ref:ref,onClick:show};if(hover)childProps={ref:ref,onMouseEnter:show,onMouseLeave:onClose,disabled:disabled};if(focus)childProps={ref:ref,onFocus:show,disabled:disabled};return React.cloneElement(child,childProps);}function DrawerPopover(_ref2){var children=_ref2.children,content=_ref2.content,renderContent=_ref2.renderContent,snapPoints=_ref2.snapPoints,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var onClose=function onClose(){return setOpen(false);};var child=React.Children.only(children);var childProps={onClick:function onClick(){return setOpen(true);}};return _jsxs(_Fragment,{children:[React.cloneElement(child,childProps),_jsx(BottomDrawer,Object.assign({open:open,onClose:onClose,snapPoints:snapPoints},props,{children:renderContent({onClose:onClose})}))]});}
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/structure/popover/Popover.js";var _excluded=["renderContent","content","trigger","placement","unmountOnClose","children","parentWidth","parentMinWidth","useBottomDrawer","bottomDrawerProps","watch","disabled"],_excluded2=["children","content","renderContent","snapPoints"];import React from'react';import{BottomDrawer}from"../../modals/bottomDrawer";import{PopoverContent}from"./PopoverContent";import{useRegisterOverlay}from"../overlay/OverlayHandler";import{useResponsiveValue}from"../../../responsive";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";export function Popover(_ref){var _this=this;var renderContent=_ref.renderContent,content=_ref.content,_ref$trigger=_ref.trigger,trigger=_ref$trigger===void 0?'hover':_ref$trigger,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,unmountOnClose=_ref.unmountOnClose,children=_ref.children,parentWidth=_ref.parentWidth,parentMinWidth=_ref.parentMinWidth,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{}:_ref$useBottomDrawer,_ref$bottomDrawerProp=_ref.bottomDrawerProps,bottomDrawerProps=_ref$bottomDrawerProp===void 0?{}:_ref$bottomDrawerProp,watch=_ref.watch,disabled=_ref.disabled,props=_objectWithoutProperties(_ref,_excluded);var shouldUseDrawer=useResponsiveValue(useBottomDrawer);var ref=React.useRef(null);var _useRegisterOverlay=useRegisterOverlay({unmountOnClose:unmountOnClose}),onOpen=_useRegisterOverlay.onOpen,onUpdate=_useRegisterOverlay.onUpdate,onClose=_useRegisterOverlay.onClose,onFastClose=_useRegisterOverlay.onFastClose,stopDelayedClosing=_useRegisterOverlay.stopDelayedClosing;var click=trigger==='click';var hover=trigger==='hover';var focus=trigger==='focus';renderContent=renderContent||function(){return content;};var buildContent=function buildContent(){var _ref$current,_ref$current$getBound,_ref$current2,_ref$current2$getBoun;return _jsx(PopoverContent,Object.assign({placement:placement,width:parentWidth?(_ref$current=ref.current)==null?void 0:(_ref$current$getBound=_ref$current.getBoundingClientRect())==null?void 0:_ref$current$getBound.width:undefined,minWidth:parentMinWidth?(_ref$current2=ref.current)==null?void 0:(_ref$current2$getBoun=_ref$current2.getBoundingClientRect())==null?void 0:_ref$current2$getBoun.width:undefined},props,{onMouseEnter:hover?stopDelayedClosing:undefined,onMouseLeave:hover?onClose:undefined,children:renderContent({onClose:onFastClose})}));};var computeTriggerRect=function computeTriggerRect(){var rect=ref.current.getBoundingClientRect();var scrollX=window.scrollX||window.pageXOffset;var scrollY=window.scrollY||window.pageYOffset;return{left:rect.left+scrollX,right:rect.right+scrollX,top:rect.top+scrollY,bottom:rect.bottom+scrollY,width:rect.width,height:rect.height};};var show=function show(e){if(e&&e.stopPropagation)e.stopPropagation();var triggerRect=computeTriggerRect();onOpen({content:buildContent(),triggerRect:triggerRect,placement:placement,options:{dismissOnClickOutside:click||focus}});};React.useEffect(function(){return function(){return onClose();};},[]);React.useEffect(function(){if(!ref.current||!watch)return;onUpdate({content:buildContent(),options:{dismissOnClickOutside:click||focus}});},watch);if(shouldUseDrawer){return _jsx(DrawerPopover,Object.assign({content:content,renderContent:renderContent,children:children},props,bottomDrawerProps));}var child=React.Children.only(children);var childProps={ref:ref,onClick:show};if(hover)childProps={ref:ref,onMouseEnter:show,onMouseLeave:onClose,disabled:disabled};if(focus)childProps={ref:ref,onFocus:show,disabled:disabled};return React.cloneElement(child,childProps);}function DrawerPopover(_ref2){var children=_ref2.children,content=_ref2.content,renderContent=_ref2.renderContent,snapPoints=_ref2.snapPoints,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var onClose=function onClose(){return setOpen(false);};var child=React.Children.only(children);var childProps={onClick:function onClick(){return setOpen(true);}};return _jsxs(_Fragment,{children:[React.cloneElement(child,childProps),_jsx(BottomDrawer,Object.assign({open:open,onClose:onClose,snapPoints:snapPoints},props,{children:renderContent({onClose:onClose})}))]});}
@@ -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/structure/popover/Popover.native.js";var _excluded=["content","renderContent","placement","children","useBottomDrawer","bottomDrawerProps","snapPoints"];import{Modal,TouchableWithoutFeedback}from"react-native-web";import React from'react';import{BottomDrawer}from"../bottomDrawer";import{PopoverContent}from"./PopoverContent";import{View}from"../View";import{calculatePosition}from"../overlay/calculatePosition";import{useResponsiveValue}from"../../../responsive";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";export function Popover(_ref){var _position$y,_position$x;var content=_ref.content,renderContent=_ref.renderContent,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,children=_ref.children,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{}:_ref$useBottomDrawer,_ref$bottomDrawerProp=_ref.bottomDrawerProps,bottomDrawerProps=_ref$bottomDrawerProp===void 0?{}:_ref$bottomDrawerProp,snapPoints=_ref.snapPoints,props=_objectWithoutProperties(_ref,_excluded);var shouldUseDrawer=useResponsiveValue(useBottomDrawer);var ref=React.useRef(null);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var _React$useState3=React.useState(null),_React$useState4=_slicedToArray(_React$useState3,2),triggerRect=_React$useState4[0],setTriggerRect=_React$useState4[1];var _React$useState5=React.useState(null),_React$useState6=_slicedToArray(_React$useState5,2),position=_React$useState6[0],setPosition=_React$useState6[1];renderContent=renderContent||function(){return content;};var onOpen=function onOpen(){if(shouldUseDrawer){setOpen(true);return;}if(ref.current){ref.current.measureInWindow(function(x,y,width,height){setTriggerRect({left:x,top:y,right:x+width,bottom:y+height,width:width,height:height});setOpen(true);});}};var onClose=function onClose(){setOpen(false);setTriggerRect(null);setPosition(null);};children=React.cloneElement(React.Children.only(children),{onPress:onOpen});if(shouldUseDrawer){return _jsxs(View,{ref:ref,children:[children,_jsx(BottomDrawer,Object.assign({open:open,onClose:onClose,snapPoints:snapPoints},bottomDrawerProps,{children:renderContent({onClose:onClose})}))]});}return _jsxs(_Fragment,{children:[_jsx(View,{ref:ref,children:children}),open&&_jsx(Modal,{transparent:true,visible:open,animationType:"fade",onRequestClose:onClose,children:_jsx(View,{fullW:true,flex:true,fullH:true,bg:"backdrop_op50",children:_jsx(TouchableWithoutFeedback,{onPress:onClose,children:_jsx(View,{style:{flex:1},children:triggerRect&&_jsx(View,{style:{position:'absolute',top:(_position$y=position==null?void 0:position.y)!=null?_position$y:-9999,left:(_position$x=position==null?void 0:position.x)!=null?_position$x:-9999},onLayout:function onLayout(e){var _e$nativeEvent$layout=e.nativeEvent.layout,width=_e$nativeEvent$layout.width,height=_e$nativeEvent$layout.height;var popoverRect={width:width,height:height};var pos=calculatePosition(triggerRect,popoverRect,placement,8);setPosition(pos);},children:_jsx(PopoverContent,Object.assign({placement:placement},props,{children:renderContent({onClose:onClose})}))})})})})})]});}
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/structure/popover/Popover.native.js";var _excluded=["content","renderContent","placement","children","useBottomDrawer","bottomDrawerProps","snapPoints"];import{Modal,TouchableWithoutFeedback}from"react-native-web";import React from'react';import{BottomDrawer}from"../../modals/bottomDrawer";import{PopoverContent}from"./PopoverContent";import{View}from"../View";import{calculatePosition}from"../overlay/calculatePosition";import{useResponsiveValue}from"../../../responsive";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";export function Popover(_ref){var _position$y,_position$x;var content=_ref.content,renderContent=_ref.renderContent,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,children=_ref.children,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{}:_ref$useBottomDrawer,_ref$bottomDrawerProp=_ref.bottomDrawerProps,bottomDrawerProps=_ref$bottomDrawerProp===void 0?{}:_ref$bottomDrawerProp,snapPoints=_ref.snapPoints,props=_objectWithoutProperties(_ref,_excluded);var shouldUseDrawer=useResponsiveValue(useBottomDrawer);var ref=React.useRef(null);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var _React$useState3=React.useState(null),_React$useState4=_slicedToArray(_React$useState3,2),triggerRect=_React$useState4[0],setTriggerRect=_React$useState4[1];var _React$useState5=React.useState(null),_React$useState6=_slicedToArray(_React$useState5,2),position=_React$useState6[0],setPosition=_React$useState6[1];renderContent=renderContent||function(){return content;};var onOpen=function onOpen(){if(shouldUseDrawer){setOpen(true);return;}if(ref.current){ref.current.measureInWindow(function(x,y,width,height){setTriggerRect({left:x,top:y,right:x+width,bottom:y+height,width:width,height:height});setOpen(true);});}};var onClose=function onClose(){setOpen(false);setTriggerRect(null);setPosition(null);};children=React.cloneElement(React.Children.only(children),{onPress:onOpen});if(shouldUseDrawer){return _jsxs(View,{ref:ref,children:[children,_jsx(BottomDrawer,Object.assign({open:open,onClose:onClose,snapPoints:snapPoints},bottomDrawerProps,{children:renderContent({onClose:onClose})}))]});}return _jsxs(_Fragment,{children:[_jsx(View,{ref:ref,children:children}),open&&_jsx(Modal,{transparent:true,visible:open,animationType:"fade",onRequestClose:onClose,children:_jsx(View,{fullW:true,flex:true,fullH:true,bg:"backdrop_op50",children:_jsx(TouchableWithoutFeedback,{onPress:onClose,children:_jsx(View,{style:{flex:1},children:triggerRect&&_jsx(View,{style:{position:'absolute',top:(_position$y=position==null?void 0:position.y)!=null?_position$y:-9999,left:(_position$x=position==null?void 0:position.x)!=null?_position$x:-9999},onLayout:function onLayout(e){var _e$nativeEvent$layout=e.nativeEvent.layout,width=_e$nativeEvent$layout.width,height=_e$nativeEvent$layout.height;var popoverRect={width:width,height:height};var pos=calculatePosition(triggerRect,popoverRect,placement,8);setPosition(pos);},children:_jsx(PopoverContent,Object.assign({placement:placement},props,{children:renderContent({onClose:onClose})}))})})})})})]});}
@@ -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/structure/popover/Popover_BU.js";var _excluded=["renderContent","content","trigger","placement","unmountOnClose","children","parentWidth","parentMinWidth","useBottomDrawer","bottomDrawerProps","watch"],_excluded2=["children","content","renderContent","snapPoints"];import React from'react';import{BottomDrawer}from"../bottomDrawer";import{PopoverContent}from"./PopoverContent";import{useRegisterOverlay}from"../overlay/OverlayHandler";import{useResponsiveValue}from"../../../responsive";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";export function Popover(_ref){var _this=this;var renderContent=_ref.renderContent,content=_ref.content,_ref$trigger=_ref.trigger,trigger=_ref$trigger===void 0?'hover':_ref$trigger,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,unmountOnClose=_ref.unmountOnClose,children=_ref.children,parentWidth=_ref.parentWidth,parentMinWidth=_ref.parentMinWidth,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{}:_ref$useBottomDrawer,_ref$bottomDrawerProp=_ref.bottomDrawerProps,bottomDrawerProps=_ref$bottomDrawerProp===void 0?{}:_ref$bottomDrawerProp,watch=_ref.watch,props=_objectWithoutProperties(_ref,_excluded);var shouldUseDrawer=useResponsiveValue(useBottomDrawer);var ref=React.useRef(null);var _useRegisterOverlay=useRegisterOverlay({unmountOnClose:unmountOnClose}),onOpen=_useRegisterOverlay.onOpen,onUpdate=_useRegisterOverlay.onUpdate,onClose=_useRegisterOverlay.onClose,onFastClose=_useRegisterOverlay.onFastClose,stopDelayedClosing=_useRegisterOverlay.stopDelayedClosing;var click=trigger==='click';var hover=trigger==='hover';var focus=trigger==='focus';renderContent=renderContent||function(){return content;};var buildContent=function buildContent(){var _ref$current,_ref$current$getBound,_ref$current2,_ref$current2$getBoun;return _jsx(PopoverContent,Object.assign({placement:placement,width:parentWidth?(_ref$current=ref.current)==null?void 0:(_ref$current$getBound=_ref$current.getBoundingClientRect())==null?void 0:_ref$current$getBound.width:undefined,minWidth:parentMinWidth?(_ref$current2=ref.current)==null?void 0:(_ref$current2$getBoun=_ref$current2.getBoundingClientRect())==null?void 0:_ref$current2$getBoun.width:undefined},props,{onMouseEnter:hover?stopDelayedClosing:undefined,onMouseLeave:hover?onClose:undefined,children:renderContent({onClose:onFastClose})}));};var computeTriggerRect=function computeTriggerRect(){var rect=ref.current.getBoundingClientRect();var scrollX=window.scrollX||window.pageXOffset;var scrollY=window.scrollY||window.pageYOffset;return{left:rect.left+scrollX,right:rect.right+scrollX,top:rect.top+scrollY,bottom:rect.bottom+scrollY,width:rect.width,height:rect.height};};var show=function show(e){if(e&&e.stopPropagation)e.stopPropagation();var triggerRect=computeTriggerRect();onOpen({content:buildContent(),triggerRect:triggerRect,placement:placement,options:{dismissOnClickOutside:click||focus}});};React.useEffect(function(){return function(){return onClose();};},[]);React.useEffect(function(){if(!ref.current)return;var triggerRect=computeTriggerRect();onUpdate({content:buildContent(),triggerRect:triggerRect,placement:placement,options:{dismissOnClickOutside:click||focus}});},[watch,renderContent]);if(shouldUseDrawer){return _jsx(DrawerPopover,Object.assign({content:content,renderContent:renderContent,children:children},props,bottomDrawerProps));}var child=React.Children.only(children);var childProps={ref:ref,onClick:show};if(hover)childProps={ref:ref,onMouseEnter:show,onMouseLeave:onClose};if(focus)childProps={ref:ref,onFocus:show};return React.cloneElement(child,childProps);}function DrawerPopover(_ref2){var children=_ref2.children,content=_ref2.content,renderContent=_ref2.renderContent,snapPoints=_ref2.snapPoints,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var onClose=function onClose(){return setOpen(false);};var child=React.Children.only(children);var childProps={onClick:function onClick(){return setOpen(true);}};return _jsxs(_Fragment,{children:[React.cloneElement(child,childProps),_jsx(BottomDrawer,Object.assign({open:open,onClose:onClose,snapPoints:snapPoints},props,{children:renderContent({onClose:onClose})}))]});}
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/structure/popover/Popover_BU.js";var _excluded=["renderContent","content","trigger","placement","unmountOnClose","children","parentWidth","parentMinWidth","useBottomDrawer","bottomDrawerProps","watch"],_excluded2=["children","content","renderContent","snapPoints"];import React from'react';import{BottomDrawer}from"../../modals/bottomDrawer";import{PopoverContent}from"./PopoverContent";import{useRegisterOverlay}from"../overlay/OverlayHandler";import{useResponsiveValue}from"../../../responsive";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";export function Popover(_ref){var _this=this;var renderContent=_ref.renderContent,content=_ref.content,_ref$trigger=_ref.trigger,trigger=_ref$trigger===void 0?'hover':_ref$trigger,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,unmountOnClose=_ref.unmountOnClose,children=_ref.children,parentWidth=_ref.parentWidth,parentMinWidth=_ref.parentMinWidth,_ref$useBottomDrawer=_ref.useBottomDrawer,useBottomDrawer=_ref$useBottomDrawer===void 0?{}:_ref$useBottomDrawer,_ref$bottomDrawerProp=_ref.bottomDrawerProps,bottomDrawerProps=_ref$bottomDrawerProp===void 0?{}:_ref$bottomDrawerProp,watch=_ref.watch,props=_objectWithoutProperties(_ref,_excluded);var shouldUseDrawer=useResponsiveValue(useBottomDrawer);var ref=React.useRef(null);var _useRegisterOverlay=useRegisterOverlay({unmountOnClose:unmountOnClose}),onOpen=_useRegisterOverlay.onOpen,onUpdate=_useRegisterOverlay.onUpdate,onClose=_useRegisterOverlay.onClose,onFastClose=_useRegisterOverlay.onFastClose,stopDelayedClosing=_useRegisterOverlay.stopDelayedClosing;var click=trigger==='click';var hover=trigger==='hover';var focus=trigger==='focus';renderContent=renderContent||function(){return content;};var buildContent=function buildContent(){var _ref$current,_ref$current$getBound,_ref$current2,_ref$current2$getBoun;return _jsx(PopoverContent,Object.assign({placement:placement,width:parentWidth?(_ref$current=ref.current)==null?void 0:(_ref$current$getBound=_ref$current.getBoundingClientRect())==null?void 0:_ref$current$getBound.width:undefined,minWidth:parentMinWidth?(_ref$current2=ref.current)==null?void 0:(_ref$current2$getBoun=_ref$current2.getBoundingClientRect())==null?void 0:_ref$current2$getBoun.width:undefined},props,{onMouseEnter:hover?stopDelayedClosing:undefined,onMouseLeave:hover?onClose:undefined,children:renderContent({onClose:onFastClose})}));};var computeTriggerRect=function computeTriggerRect(){var rect=ref.current.getBoundingClientRect();var scrollX=window.scrollX||window.pageXOffset;var scrollY=window.scrollY||window.pageYOffset;return{left:rect.left+scrollX,right:rect.right+scrollX,top:rect.top+scrollY,bottom:rect.bottom+scrollY,width:rect.width,height:rect.height};};var show=function show(e){if(e&&e.stopPropagation)e.stopPropagation();var triggerRect=computeTriggerRect();onOpen({content:buildContent(),triggerRect:triggerRect,placement:placement,options:{dismissOnClickOutside:click||focus}});};React.useEffect(function(){return function(){return onClose();};},[]);React.useEffect(function(){if(!ref.current)return;var triggerRect=computeTriggerRect();onUpdate({content:buildContent(),triggerRect:triggerRect,placement:placement,options:{dismissOnClickOutside:click||focus}});},[watch,renderContent]);if(shouldUseDrawer){return _jsx(DrawerPopover,Object.assign({content:content,renderContent:renderContent,children:children},props,bottomDrawerProps));}var child=React.Children.only(children);var childProps={ref:ref,onClick:show};if(hover)childProps={ref:ref,onMouseEnter:show,onMouseLeave:onClose};if(focus)childProps={ref:ref,onFocus:show};return React.cloneElement(child,childProps);}function DrawerPopover(_ref2){var children=_ref2.children,content=_ref2.content,renderContent=_ref2.renderContent,snapPoints=_ref2.snapPoints,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),open=_React$useState2[0],setOpen=_React$useState2[1];var onClose=function onClose(){return setOpen(false);};var child=React.Children.only(children);var childProps={onClick:function onClick(){return setOpen(true);}};return _jsxs(_Fragment,{children:[React.cloneElement(child,childProps),_jsx(BottomDrawer,Object.assign({open:open,onClose:onClose,snapPoints:snapPoints},props,{children:renderContent({onClose:onClose})}))]});}
@@ -1 +1 @@
1
- var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/theme/ThemePickerDrawer.js";import{BottomDrawer}from"../structure";import{ScrollView}from"../list/ScrollView";import{ThemePicker}from"./ThemePicker";import{jsx as _jsx}from"react/jsx-runtime";export function ThemePickerDrawer(_ref){var open=_ref.open,onClose=_ref.onClose,onChange=_ref.onChange;return _jsx(BottomDrawer,{open:open,onClose:onClose,maxWidth:550,snapPoints:['50%','85%'],children:_jsx(ScrollView,{padding:"md",children:_jsx(ThemePicker,{onChange:onChange})})});}
1
+ var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/theme/ThemePickerDrawer.js";import{BottomDrawer,DrawerScrollView}from"../modals/bottomDrawer";import{ThemePicker}from"./ThemePicker";import{jsx as _jsx}from"react/jsx-runtime";export function ThemePickerDrawer(_ref){var open=_ref.open,onClose=_ref.onClose,onChange=_ref.onChange;return _jsx(BottomDrawer,{open:open,onClose:onClose,maxWidth:550,snapPoints:['50%','85%'],children:_jsx(DrawerScrollView,{padding:"md",children:_jsx(ThemePicker,{onChange:onChange})})});}
@@ -1 +1 @@
1
- import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_BLACK_THEME=mergeDeepRight(BASE_THEME,{label:'Pitch Black',colors:{primary:'#818DF9',text:'#FFFFFF',text2:'#E0E0E0',text3:'#B0B0B0',text4:'#8A8A8A',mainBG:'#0f0f0f',overlayBG:'#000000',backdrop:'#1f1f1f',shadow:'rgba(216, 210, 203, 0.1)',transparent:'rgba(0, 0, 0, 0)',divider:'#383E44',blue:'#4DA3FF',yellow:'#FFD93B',green:'#4CAF50',purple:'#9B59B6',orange:'#FF7F50',cyan:'#00BCD4',red:'#E74C3C',navy:'#34495E',indigo:'#5C6BC0',gray:'#9E9E9E',brown:'#8D6E63',lylac:'#B39DDB',pink:'#F48FB1'}});
1
+ import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_BLACK_THEME=mergeDeepRight(BASE_THEME,{label:'Pitch Black',colors:{primary:'#818DF9',text:'#F2F2F2',text2:'#CFCFCF',text3:'#A6A6A6',text4:'#737373',mainBG:'#0A0A0A',overlayBG:'#141414',backdrop:'#1f1f1f',shadow:'rgba(0, 0, 0, 0.7)',transparent:'rgba(0, 0, 0, 0)',divider:'#262626',blue:'#3A7BFF',yellow:'#FFC857',green:'#2ECC71',purple:'#9B5DE5',orange:'#FF8C42',cyan:'#00C2D1',red:'#FF4D4F',navy:'#1F2A44',indigo:'#5C6BC0',gray:'#8E8E93',brown:'#8B5E3C',lylac:'#C77DFF',pink:'#FF6FAE'}});
@@ -1 +1 @@
1
- import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var CYBERPUNK_DARK_THEME=mergeDeepRight(BASE_THEME,{label:'Cyberpunk',colors:{primary:'#FCEE09',text:'#FFFFFF',text2:'#B3B3B3',text3:'#8C8C8C',text4:'#666666',mainBG:'#14141F',overlayBG:'#14141F',backdrop:'#0A0A0F',shadow:'rgba(39, 45, 52, 0.6)',divider:'rgba(255,255,255, 0.2)',blue:'#00E5FF',yellow:'#FFD600',green:'#00FF9D',purple:'#D500F9',orange:'#FF9100',cyan:'#00B8D4',red:'#FF1744',navy:'#1E2A38',indigo:'#651FFF',gray:'#757575',brown:'#6D4C41',lylac:'#B388FF',pink:'#FF80AB'},components:{Card:{border:true},Section:{border:true}}});
1
+ import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var CYBERPUNK_DARK_THEME=mergeDeepRight(BASE_THEME,{label:'Cyberpunk',colors:{primary:'#FF4FD8',text:'#F5EFFF',text2:'#D6C8FF',text3:'#A78BFA',text4:'#7C6BB3',mainBG:'#0A0614',overlayBG:'#140A26',backdrop:'#0A0A0F',shadow:'rgba(0, 0, 0, 0.7)',transparent:'rgba(0, 0, 0, 0)',divider:'#24123A',blue:'#00B3FF',yellow:'#FFD166',green:'#00F5A0',purple:'#9D4EDD',orange:'#FF7A18',cyan:'#00E5FF',red:'#FF3D6E',navy:'#1B1B3A',indigo:'#5A67FF',gray:'#8E8EAA',brown:'#8B5CF6',lylac:'#C77DFF',pink:'#FF4FD8'}});
@@ -1 +1 @@
1
- import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_MATRIX_THEME=mergeDeepRight(BASE_THEME,{label:'Hacker',colors:{primary:'#00FF41',text:'#00FF41',text2:'#00CC33',text3:'#009926',text4:'#00661A',mainBG:'#000000',overlayBG:'#0A0A0A',backdrop:'#000000',shadow:'rgba(0, 255, 65, 0.2)',divider:'rgba(0,255,65, 0.3)',blue:'#0087BD',yellow:'#AEBF00',green:'#00FF41',purple:'#7A1FA2',orange:'#FF6D00',cyan:'#00BFA5',red:'#D50000',navy:'#003366',indigo:'#303F9F',gray:'#4A4A4A',brown:'#5D4037',lylac:'#8E24AA',pink:'#C51162'},radius:{xxxs:0,xxs:1,xs:2,sm:3,md:4,lg:5,xl:6,xxl:7,xxxl:8},components:{Card:{border:true},Section:{border:true}}});
1
+ import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_MATRIX_THEME=mergeDeepRight(BASE_THEME,{label:'Hacker',colors:{primary:'#00FF41',text:'#D2FFE9',text2:'#A6F5D0',text3:'#6EE7B7',text4:'#3FAF85',mainBG:'#000000',overlayBG:'#0A0A0A',backdrop:'#000000',shadow:'rgba(0, 255, 65, 0.2)',transparent:'rgba(0, 0, 0, 0)',divider:'rgba(0,255,65, 0.3)',blue:'#00B3FF',yellow:'#E6FF3F',green:'#00FF41',purple:'#9B5DE5',orange:'#FF9F1C',cyan:'#00FFE0',red:'#FF3B3B',navy:'#001F2F',indigo:'#4B6BFF',gray:'#2E2E2E',brown:'#5C4033',lylac:'#C084FC',pink:'#FF4FD8'},radius:{xxxs:0,xxs:1,xs:2,sm:3,md:4,lg:5,xl:6,xxl:7,xxxl:8},components:{Card:{border:true},Section:{border:true}}});
@@ -1 +1 @@
1
- import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_PAPER_THEME=mergeDeepRight(BASE_THEME,{label:'Paper',colors:{primary:'#5A5A5A',text:'#000000',text2:'#333333',text3:'#555555',text4:'#777777',mainBG:'#F8F1E3',overlayBG:'#F8F1E3',backdrop:'#383E44',shadow:'rgba(0, 0, 0, 0.04)',divider:'#E3D9C9',blue:'#6B8EAE',yellow:'#EADCA6',green:'#88A288',purple:'#A391B8',orange:'#D9A066',cyan:'#9CC9C2',red:'#B85C5C',navy:'#4A4A4A',indigo:'#70788C',gray:'#B8B8B8',brown:'#8B7355',lylac:'#C7B7D4',pink:'#E4A1B2'},components:{Card:{border:true},Section:{border:true}}});
1
+ import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_PAPER_THEME=mergeDeepRight(BASE_THEME,{label:'Paper',colors:{primary:'#5A5A5A',text:'#000000',text2:'#333333',text3:'#555555',text4:'#777777',mainBG:'#F8F1E3',overlayBG:'#F8F1E3',backdrop:'#383E44',shadow:'rgba(0, 0, 0, 0.04)',divider:'#E3D9C9',blue:'#6B8EAE',yellow:'#EADCA6',green:'#88A288',purple:'#A391B8',orange:'#D9A066',cyan:'#9CC9C2',red:'#B85C5C',navy:'#4A4A4A',indigo:'#70788C',gray:'#B8B8B8',brown:'#8B7355',lylac:'#C7B7D4',pink:'#E4A1B2'},components:{Card:{border:true},Section:{border:true},TopBar:{borderB:true}}});
@@ -1 +1 @@
1
- import{CYBERPUNK_DARK_THEME}from"./cyberpunkTheme";import{DEFAULT_BLACK_THEME}from"./blackTheme";import{DEFAULT_DARK_THEME}from"./darkTheme";import{DEFAULT_LIGHT_THEME}from"./lightTheme";import{DEFAULT_MATRIX_THEME}from"./hackerTheme";import{DEFAULT_MSDOS_THEME}from"./msdosTheme";import{DEFAULT_PAPER_THEME}from"./paperTheme";import{MIDNIGHT_NEON_THEME}from"./midnightTheme";export var DEFAULT_THEMES={light:DEFAULT_LIGHT_THEME,dark:DEFAULT_DARK_THEME,paper:DEFAULT_PAPER_THEME,black:DEFAULT_BLACK_THEME,midnight:MIDNIGHT_NEON_THEME,cyberpunk:CYBERPUNK_DARK_THEME,hacker:DEFAULT_MATRIX_THEME,msdos:DEFAULT_MSDOS_THEME};
1
+ import{CYBERPUNK_DARK_THEME}from"./cyberpunkTheme";import{DEFAULT_BLACK_THEME}from"./blackTheme";import{DEFAULT_DARK_THEME}from"./darkTheme";import{DEFAULT_LIGHT_THEME}from"./lightTheme";import{DEFAULT_MATRIX_THEME}from"./hackerTheme";import{DEFAULT_PAPER_THEME}from"./paperTheme";export var DEFAULT_THEMES={light:DEFAULT_LIGHT_THEME,dark:DEFAULT_DARK_THEME,paper:DEFAULT_PAPER_THEME,black:DEFAULT_BLACK_THEME,cyberpunk:CYBERPUNK_DARK_THEME,hacker:DEFAULT_MATRIX_THEME};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neko-os/ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "author": "Christian Storch <ccstorch@gmail.com>",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
package/src/NekoUI.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DynamicStyleTag } from './DynamicStyleTag'
2
2
  import { I18nProvider } from './i18n'
3
- import { ModalsHandler } from './components/structure/modal/handler/ModalsHandler'
3
+ import { ModalsHandler } from './components/modals/modal/handler/ModalsHandler'
4
4
  import { NotificationsHandler } from './components/feedback/notifications/NotificationsHandler'
5
5
  import { OverlayHandler } from './components/structure/overlay/OverlayHandler'
6
6
  import { PortalHandler } from './components/helpers/PortalHandler'
@@ -1,7 +1,7 @@
1
1
  import { FlatList } from 'react-native'
2
2
 
3
3
  export const AbsFlatList = ({
4
- style: { height, width, ...style },
4
+ style: { height, width, flex, ...style },
5
5
  ItemSeparatorComponent,
6
6
  Separator,
7
7
  renderSeparator,
@@ -25,6 +25,7 @@ export const AbsFlatList = ({
25
25
  <FlatList
26
26
  height={height}
27
27
  width={width}
28
+ style={{ flex }}
28
29
  {...props}
29
30
  ItemSeparatorComponent={ItemSeparatorComponent}
30
31
  ListEmptyComponent={ListEmptyComponent}
@@ -1,5 +1,5 @@
1
1
  import { ScrollView } from 'react-native'
2
2
 
3
- export const AbsScrollView = ({ style: { height, width, ...style }, ...props }) => {
4
- return <ScrollView height={height} width={width} {...props} contentContainerStyle={style} />
3
+ export const AbsScrollView = ({ style: { height, width, flex, ...style }, ...props }) => {
4
+ return <ScrollView height={height} width={width} style={{ flex }} {...props} contentContainerStyle={style} />
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { pipe } from 'ramda'
2
2
 
3
- import { BottomDrawer, TopBar, View } from '../structure'
4
- import { DrawerScrollView } from '../structure/bottomDrawer'
3
+ import { TopBar, View } from '../structure'
4
+ import { BottomDrawer, DrawerScrollView } from '../modals/bottomDrawer'
5
5
  import { Menu } from './menu/Menu'
6
6
  import { Section } from '../sections'
7
7
  import { useDefaultModifier } from '../../modifiers/default'
@@ -26,7 +26,7 @@ export function FloatingMenu({ fixed, onChange, items, activeIndex, size = 'md',
26
26
  color={isActive ? 'primary' : 'text3'}
27
27
  />
28
28
  {!!item.label && (
29
- <Text size="xxs" center color={isActive ? 'primary' : 'text3'} strong>
29
+ <Text size="xxs" center color={isActive ? 'primary' : 'text3'} strong numberOfLines={1}>
30
30
  {item.label}
31
31
  </Text>
32
32
  )}
@@ -2,7 +2,7 @@ import { is } from 'ramda'
2
2
 
3
3
  import { Button } from '../actions'
4
4
  import { Result } from '../presentation'
5
- import { useModalOpener } from '../structure/modal'
5
+ import { useModalOpener } from '../modals/modal'
6
6
 
7
7
  export function useAlerter() {
8
8
  const { open } = useModalOpener()
@@ -5,7 +5,7 @@ import { Button } from '../actions'
5
5
  import { RESULT_TYPES } from '../presentation/Result'
6
6
  import { Result } from '../presentation'
7
7
  import { View } from '../structure/View'
8
- import { useModalOpener } from '../structure/modal'
8
+ import { useModalOpener } from '../modals/modal'
9
9
 
10
10
  function Footer({ cancelLabel, confirmLabel, onConfirm, type, onClose }) {
11
11
  const [loading, setLoading] = React.useState(false)
@@ -3,6 +3,7 @@ export * from './animations'
3
3
  export * from './form'
4
4
  export * from './presentation'
5
5
  export * from './structure'
6
+ export * from './modals'
6
7
  export * from './text'
7
8
  export * from './helpers'
8
9
  export * from './inputs'
@@ -2,7 +2,7 @@ import { is } from 'ramda'
2
2
  import React from 'react'
3
3
 
4
4
  import { Col } from '../structure/Col'
5
- import { DrawerFlatList } from '../structure/bottomDrawer'
5
+ import { DrawerFlatList } from '../modals/bottomDrawer'
6
6
  import { LoadingView } from '../state/LoadingView'
7
7
  import { Row } from '../structure/Row'
8
8
  import { View } from '../structure'
@@ -12,7 +12,7 @@ import React from 'react'
12
12
  import { DrawerHandle } from './DrawerHandle'
13
13
  import { DrawerProvider } from './DrawerContext'
14
14
  import { Pressable } from '../../../actions/Pressable'
15
- import { View } from '../../View'
15
+ import { View } from '../../../structure/View'
16
16
  import { normalizeSnapPoints, findClosestSnapPoint } from './utils'
17
17
  import { useColors } from '../../../../theme/ThemeHandler'
18
18
 
@@ -1,5 +1,5 @@
1
1
  import { Divider } from '../../../helpers/Separator'
2
- import { View } from '../../View'
2
+ import { View } from '../../../structure/View'
3
3
 
4
4
  export function DrawerHandle({ hide }) {
5
5
  if (!!hide) return false
@@ -0,0 +1,4 @@
1
+ export * from './modal'
2
+ export * from './drawer'
3
+ export * from './bottomDrawer'
4
+ export * from './router'
@@ -6,7 +6,7 @@ import { ModalContent } from './ModalContent'
6
6
  import { ModalFooter } from './ModalFooter'
7
7
  import { ModalHeader } from './ModalHeader'
8
8
  import { Pressable } from '../../actions/Pressable'
9
- import { View } from '../View'
9
+ import { View } from '../../structure/View'
10
10
  import { useDefaultModifier } from '../../../modifiers/default'
11
11
  import { useThemeComponentModifier } from '../../../modifiers/themeComponent'
12
12