@neko-os/ui 0.2.2 → 0.3.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 (435) hide show
  1. package/README.md +0 -76
  2. package/dist/DynamicStyleTag.js +18 -2
  3. package/dist/DynamicStyleTag.native.js +3 -1
  4. package/dist/NekoUI.js +39 -1
  5. package/dist/abstractions/ActivityIndicator.js +19 -1
  6. package/dist/abstractions/ActivityIndicator.native.js +43 -1
  7. package/dist/abstractions/ActivityIndicator.web.js +43 -1
  8. package/dist/abstractions/AnimatedView.js +3 -1
  9. package/dist/abstractions/AnimatedView.native.js +5 -1
  10. package/dist/abstractions/AnimatedView.web.js +3 -1
  11. package/dist/abstractions/BlurView.js +43 -1
  12. package/dist/abstractions/BlurView.native.js +39 -1
  13. package/dist/abstractions/BlurView.web.js +39 -1
  14. package/dist/abstractions/DraggableSlideView.js +3 -1
  15. package/dist/abstractions/DraggableSlideView.native.js +62 -1
  16. package/dist/abstractions/FlatList.js +3 -1
  17. package/dist/abstractions/FlatList.native.js +37 -1
  18. package/dist/abstractions/FlatList.web.js +3 -1
  19. package/dist/abstractions/GradientView.js +5 -1
  20. package/dist/abstractions/GradientView.native.js +32 -1
  21. package/dist/abstractions/HiddenInput.js +3 -1
  22. package/dist/abstractions/HiddenInput.native.js +3 -1
  23. package/dist/abstractions/Icon.js +10 -1
  24. package/dist/abstractions/Icon.native.js +13 -1
  25. package/dist/abstractions/Icon.web.js +11 -1
  26. package/dist/abstractions/Image.js +12 -1
  27. package/dist/abstractions/Image.native.js +7 -1
  28. package/dist/abstractions/Image.web.js +7 -1
  29. package/dist/abstractions/ImageBackground.js +17 -1
  30. package/dist/abstractions/ImageBackground.native.js +27 -1
  31. package/dist/abstractions/ImageBackground.web.js +7 -1
  32. package/dist/abstractions/KeyboardAvoidingView.js +3 -1
  33. package/dist/abstractions/KeyboardAvoidingView.native.js +3 -1
  34. package/dist/abstractions/Platform.js +1 -1
  35. package/dist/abstractions/Platform.native.js +3 -1
  36. package/dist/abstractions/Platform.web.js +3 -1
  37. package/dist/abstractions/Pressable.js +4 -1
  38. package/dist/abstractions/Pressable.native.js +3 -1
  39. package/dist/abstractions/Pressable.web.js +3 -1
  40. package/dist/abstractions/SafeAreaView.js +3 -1
  41. package/dist/abstractions/SafeAreaView.native.js +3 -1
  42. package/dist/abstractions/ScrollView.js +3 -1
  43. package/dist/abstractions/ScrollView.native.js +5 -1
  44. package/dist/abstractions/ScrollView.web.js +3 -1
  45. package/dist/abstractions/StaticList.js +51 -1
  46. package/dist/abstractions/Switch.js +97 -1
  47. package/dist/abstractions/Switch.native.js +12 -1
  48. package/dist/abstractions/Table.js +29 -1
  49. package/dist/abstractions/Table.native.js +19 -1
  50. package/dist/abstractions/Text.js +14 -1
  51. package/dist/abstractions/Text.native.js +3 -1
  52. package/dist/abstractions/Text.web.js +18 -1
  53. package/dist/abstractions/TextInput.js +12 -1
  54. package/dist/abstractions/TextInput.native.js +5 -1
  55. package/dist/abstractions/TextInput.web.js +5 -1
  56. package/dist/abstractions/TouchableOpacity.js +4 -1
  57. package/dist/abstractions/TouchableOpacity.native.js +3 -1
  58. package/dist/abstractions/View.js +3 -1
  59. package/dist/abstractions/View.native.js +3 -1
  60. package/dist/abstractions/View.web.js +3 -1
  61. package/dist/abstractions/helpers/componentSize.js +13 -1
  62. package/dist/abstractions/helpers/componentSize.native.js +12 -1
  63. package/dist/abstractions/helpers/storage.js +32 -1
  64. package/dist/abstractions/helpers/storage.native.js +34 -1
  65. package/dist/abstractions/helpers/transformStyle.js +8 -1
  66. package/dist/abstractions/helpers/transformStyle.native.js +3 -1
  67. package/dist/abstractions/helpers/useSafeAreaInsets.js +3 -1
  68. package/dist/abstractions/helpers/useSafeAreaInsets.native.js +3 -1
  69. package/dist/abstractions/helpers/windowWidth.js +13 -1
  70. package/dist/abstractions/helpers/windowWidth.native.js +6 -1
  71. package/dist/abstractions/helpers/windowWidth.web.js +6 -1
  72. package/dist/components/actions/ActionsDrawer.js +81 -1
  73. package/dist/components/actions/Breadcrumb.js +47 -1
  74. package/dist/components/actions/Button.js +82 -1
  75. package/dist/components/actions/Dropdown.js +91 -1
  76. package/dist/components/actions/FloatingButton.js +87 -1
  77. package/dist/components/actions/FloatingMenu.js +39 -1
  78. package/dist/components/actions/Link.js +66 -1
  79. package/dist/components/actions/Pressable.js +38 -1
  80. package/dist/components/actions/index.js +9 -1
  81. package/dist/components/actions/menu/HorizontalMenu.js +98 -1
  82. package/dist/components/actions/menu/Menu.js +7 -1
  83. package/dist/components/actions/menu/SubmenuWrapper.js +16 -1
  84. package/dist/components/actions/menu/VerticalMenu.js +133 -1
  85. package/dist/components/animations/AnimatedTopBar.js +10 -1
  86. package/dist/components/animations/AnimatedTopBar.native.js +34 -1
  87. package/dist/components/animations/AnimatedTopBar.web.js +1 -1
  88. package/dist/components/animations/AnimatedView.js +45 -1
  89. package/dist/components/animations/DraggableSlideView.js +42 -1
  90. package/dist/components/animations/ParallaxHeader.js +9 -1
  91. package/dist/components/animations/ParallaxHeader.native.js +32 -1
  92. package/dist/components/animations/ParallaxHeader.web.js +32 -1
  93. package/dist/components/animations/ReanimatedScrollHandler.js +8 -1
  94. package/dist/components/animations/ReanimatedScrollHandler.native.js +24 -1
  95. package/dist/components/animations/ReanimatedScrollHandler.web.js +1 -1
  96. package/dist/components/animations/ReanimatedView.js +40 -1
  97. package/dist/components/animations/index.js +5 -1
  98. package/dist/components/calendar/CalendarNav.js +67 -1
  99. package/dist/components/calendar/WeekDaysBar.js +18 -1
  100. package/dist/components/calendar/_helpers/calendarDays.js +16 -1
  101. package/dist/components/calendar/_helpers/dateDisabled.js +24 -1
  102. package/dist/components/feedback/alerter.js +31 -1
  103. package/dist/components/feedback/confirmer.js +70 -1
  104. package/dist/components/feedback/index.js +3 -1
  105. package/dist/components/feedback/notifications/Notification.js +37 -1
  106. package/dist/components/feedback/notifications/NotificationsHandler.js +65 -1
  107. package/dist/components/filter/DateFilter.js +72 -0
  108. package/dist/components/filter/FilterGroup.js +17 -0
  109. package/dist/components/filter/FilterHandler.js +54 -0
  110. package/dist/components/filter/FilterItem.js +30 -0
  111. package/dist/components/filter/PopoverFilterItem.js +84 -0
  112. package/dist/components/filter/SearchInput.js +49 -0
  113. package/dist/components/filter/index.js +6 -0
  114. package/dist/components/form/Form.js +31 -1
  115. package/dist/components/form/FormGroup.js +21 -1
  116. package/dist/components/form/FormItem.js +118 -1
  117. package/dist/components/form/FormList.js +143 -1
  118. package/dist/components/form/FormWrapperComponent.js +52 -1
  119. package/dist/components/form/FormWrapperComponent.native.js +5 -1
  120. package/dist/components/form/SubmitButton.js +22 -1
  121. package/dist/components/form/index.js +9 -1
  122. package/dist/components/form/useNewForm.js +211 -1
  123. package/dist/components/form/useWatch.js +70 -1
  124. package/dist/components/form/validation/defaultMessages.js +20 -1
  125. package/dist/components/form/validation/index.js +5 -1
  126. package/dist/components/form/validation/normalizeRules.js +22 -1
  127. package/dist/components/form/validation/shouldValidateOn.js +21 -1
  128. package/dist/components/form/validation/validateRules.js +83 -1
  129. package/dist/components/form/validation/validators.js +82 -1
  130. package/dist/components/helpers/ConditionalLazyRender.js +6 -1
  131. package/dist/components/helpers/LazyAction.js +22 -1
  132. package/dist/components/helpers/LazyRender.js +55 -1
  133. package/dist/components/helpers/LazyRender.native.js +58 -1
  134. package/dist/components/helpers/Portal.js +21 -1
  135. package/dist/components/helpers/PortalHandler.js +32 -1
  136. package/dist/components/helpers/Responsive.js +18 -1
  137. package/dist/components/helpers/Separator.js +49 -1
  138. package/dist/components/helpers/VerticalView.js +34 -1
  139. package/dist/components/helpers/index.js +8 -1
  140. package/dist/components/index.js +20 -1
  141. package/dist/components/inputs/BooleanSelect.js +14 -0
  142. package/dist/components/inputs/Checkbox.js +56 -1
  143. package/dist/components/inputs/DateInput.js +123 -1
  144. package/dist/components/inputs/DateRangeInput.js +41 -0
  145. package/dist/components/inputs/Editable.js +129 -0
  146. package/dist/components/inputs/EnabledSelect.js +14 -0
  147. package/dist/components/inputs/InputWrapper.js +93 -1
  148. package/dist/components/inputs/LinkInput.js +17 -1
  149. package/dist/components/inputs/MaskInput.js +67 -1
  150. package/dist/components/inputs/NumberInput.js +111 -1
  151. package/dist/components/inputs/NumberRangeInput.js +41 -0
  152. package/dist/components/inputs/PasswordInput.js +24 -0
  153. package/dist/components/inputs/Picker.js +169 -1
  154. package/dist/components/inputs/Radio.js +55 -1
  155. package/dist/components/inputs/RateInput.js +62 -1
  156. package/dist/components/inputs/SegmentedPicker.js +62 -1
  157. package/dist/components/inputs/Select.js +219 -1
  158. package/dist/components/inputs/Switch.js +60 -1
  159. package/dist/components/inputs/TextArea.js +5 -0
  160. package/dist/components/inputs/TextInput.js +32 -1
  161. package/dist/components/inputs/UploadInput.js +140 -0
  162. package/dist/components/inputs/_DateInput.native.js +89 -1
  163. package/dist/components/inputs/datePicker/DatePicker.js +24 -1
  164. package/dist/components/inputs/datePicker/DayPicker.js +64 -1
  165. package/dist/components/inputs/datePicker/MonthPicker.js +62 -1
  166. package/dist/components/inputs/datePicker/QuarterPicker.js +65 -1
  167. package/dist/components/inputs/datePicker/WeekPicker.js +74 -1
  168. package/dist/components/inputs/datePicker/YearPicker.js +70 -1
  169. package/dist/components/inputs/index.js +23 -1
  170. package/dist/components/inputs/upload/Upload.js +99 -0
  171. package/dist/components/inputs/upload/Upload.native.js +154 -0
  172. package/dist/components/inputs/upload/useUploadState.js +143 -0
  173. package/dist/components/layout/Layout.js +40 -1
  174. package/dist/components/layout/LayoutContent.js +42 -1
  175. package/dist/components/layout/LayoutHeader.js +70 -1
  176. package/dist/components/layout/LayoutSider.js +64 -1
  177. package/dist/components/layout/index.js +4 -1
  178. package/dist/components/list/FlatList.js +91 -1
  179. package/dist/components/list/ScrollView.js +58 -1
  180. package/dist/components/list/index.js +2 -1
  181. package/dist/components/modals/bottomDrawer/index.js +3 -1
  182. package/dist/components/modals/bottomDrawer/index.native.js +5 -1
  183. package/dist/components/modals/bottomDrawer/index.web.js +5 -1
  184. package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +239 -1
  185. package/dist/components/modals/bottomDrawer/native/DrawerContext.js +17 -1
  186. package/dist/components/modals/bottomDrawer/native/DrawerHandle.js +12 -1
  187. package/dist/components/modals/bottomDrawer/native/DrawerScrollView.js +5 -1
  188. package/dist/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +139 -1
  189. package/dist/components/modals/bottomDrawer/native/utils.js +65 -1
  190. package/dist/components/modals/bottomDrawer/web/BottomDrawer.js +5 -1
  191. package/dist/components/modals/drawer/Drawer.js +5 -1
  192. package/dist/components/modals/drawer/Drawer.native.js +3 -1
  193. package/dist/components/modals/drawer/Drawer.web.js +3 -1
  194. package/dist/components/modals/drawer/index.js +1 -1
  195. package/dist/components/modals/index.js +4 -1
  196. package/dist/components/modals/modal/Modal.js +84 -1
  197. package/dist/components/modals/modal/Modal.native.js +83 -1
  198. package/dist/components/modals/modal/ModalBackdrop.js +58 -1
  199. package/dist/components/modals/modal/ModalContent.js +28 -1
  200. package/dist/components/modals/modal/ModalFooter.js +31 -1
  201. package/dist/components/modals/modal/ModalHeader.js +50 -1
  202. package/dist/components/modals/modal/handler/ModalsHandler.js +61 -1
  203. package/dist/components/modals/modal/index.js +6 -1
  204. package/dist/components/modals/router/ModalRoute.js +15 -1
  205. package/dist/components/modals/router/ModalsRouter.js +120 -1
  206. package/dist/components/modals/router/ModalsRouterContext.js +16 -1
  207. package/dist/components/modals/router/index.js +6 -1
  208. package/dist/components/modals/router/useAllModalsParams.js +6 -1
  209. package/dist/components/modals/router/useModalParams.js +6 -1
  210. package/dist/components/modals/router/useModalsNavigation.js +6 -1
  211. package/dist/components/modals/router/useUpdateModalContainer.js +6 -1
  212. package/dist/components/presentation/Avatar.js +79 -1
  213. package/dist/components/presentation/AvatarLabel.js +60 -1
  214. package/dist/components/presentation/AvatarsGroup.js +30 -0
  215. package/dist/components/presentation/Badge.js +91 -1
  216. package/dist/components/presentation/ContentLabel.js +43 -1
  217. package/dist/components/presentation/Icon.js +20 -1
  218. package/dist/components/presentation/IconLabel.js +40 -1
  219. package/dist/components/presentation/Image.js +33 -1
  220. package/dist/components/presentation/ImageBackground.js +38 -1
  221. package/dist/components/presentation/LabelValue.js +51 -1
  222. package/dist/components/presentation/Progress.js +20 -0
  223. package/dist/components/presentation/Rate.js +58 -1
  224. package/dist/components/presentation/RateTag.js +35 -1
  225. package/dist/components/presentation/Result.js +60 -1
  226. package/dist/components/presentation/ResultBar.js +56 -1
  227. package/dist/components/presentation/Tag.js +69 -1
  228. package/dist/components/presentation/Tooltip.js +44 -1
  229. package/dist/components/presentation/index.js +16 -1
  230. package/dist/components/sections/Section.js +50 -1
  231. package/dist/components/sections/SectionItem.js +24 -1
  232. package/dist/components/sections/SectionItemDropdown.js +68 -1
  233. package/dist/components/sections/SectionItemLink.js +35 -1
  234. package/dist/components/sections/index.js +4 -1
  235. package/dist/components/state/Loading.js +20 -1
  236. package/dist/components/state/LoadingView.js +37 -1
  237. package/dist/components/state/StatePresenter.js +41 -1
  238. package/dist/components/state/index.js +3 -1
  239. package/dist/components/steps/ActiveStepContent.js +16 -0
  240. package/dist/components/steps/StepsHandler.js +53 -0
  241. package/dist/components/steps/StepsMenu.js +14 -0
  242. package/dist/components/steps/StepsNavigation.js +37 -0
  243. package/dist/components/steps/index.js +4 -0
  244. package/dist/components/structure/Accordion.js +69 -1
  245. package/dist/components/structure/AccordionGroup.js +35 -1
  246. package/dist/components/structure/Affix.js +34 -0
  247. package/dist/components/structure/Affix.native.js +3 -0
  248. package/dist/components/structure/BlurView.js +59 -1
  249. package/dist/components/structure/Card.js +46 -1
  250. package/dist/components/structure/Col.js +22 -1
  251. package/dist/components/structure/GradientView.js +42 -1
  252. package/dist/components/structure/KeyboardAvoidingView.js +52 -1
  253. package/dist/components/structure/Row.js +50 -1
  254. package/dist/components/structure/SafeAreaView.js +42 -1
  255. package/dist/components/structure/Segment.js +51 -1
  256. package/dist/components/structure/TopBar.js +57 -1
  257. package/dist/components/structure/View.js +44 -1
  258. package/dist/components/structure/index.js +14 -1
  259. package/dist/components/structure/overlay/OverlayHandler.js +83 -1
  260. package/dist/components/structure/overlay/OverlayHandler.native.js +6 -1
  261. package/dist/components/structure/overlay/OverlayWrapper.js +52 -1
  262. package/dist/components/structure/overlay/calculatePosition.js +29 -1
  263. package/dist/components/structure/overlay/smartPlacement.js +32 -1
  264. package/dist/components/structure/popover/Popover.js +135 -1
  265. package/dist/components/structure/popover/Popover.native.js +105 -1
  266. package/dist/components/structure/popover/PopoverContent.js +18 -1
  267. package/dist/components/structure/popover/Popover_BU.js +157 -1
  268. package/dist/components/table/DataTable.js +62 -1
  269. package/dist/components/table/Pagination.js +128 -1
  270. package/dist/components/table/Table.js +66 -1
  271. package/dist/components/table/TableCol.js +67 -1
  272. package/dist/components/table/TableHeader.js +69 -1
  273. package/dist/components/table/TableHeaderRow.js +31 -1
  274. package/dist/components/table/TableRow.js +30 -1
  275. package/dist/components/table/index.js +7 -1
  276. package/dist/components/tabs/ActiveTabContent.js +38 -1
  277. package/dist/components/tabs/TabsHandler.js +16 -1
  278. package/dist/components/tabs/TabsMenu.js +15 -1
  279. package/dist/components/tabs/index.js +3 -1
  280. package/dist/components/text/DateText.js +24 -1
  281. package/dist/components/text/Text.js +32 -1
  282. package/dist/components/text/VerticalText.js +29 -1
  283. package/dist/components/text/index.js +3 -1
  284. package/dist/components/theme/ThemePicker.js +48 -1
  285. package/dist/components/theme/ThemePickerDrawer.js +12 -1
  286. package/dist/components/theme/ThemeStatusBar.js +3 -1
  287. package/dist/components/theme/ThemeStatusBar.native.js +9 -1
  288. package/dist/components/theme/ThemeThumb.js +98 -1
  289. package/dist/components/theme/index.js +3 -1
  290. package/dist/helpers/debounce.js +9 -1
  291. package/dist/helpers/index.js +5 -1
  292. package/dist/helpers/options.js +65 -1
  293. package/dist/helpers/random.js +5 -1
  294. package/dist/helpers/storage.js +76 -1
  295. package/dist/helpers/string.js +74 -1
  296. package/dist/i18n/I18n.js +96 -1
  297. package/dist/i18n/I18nProvider.js +40 -1
  298. package/dist/i18n/index.js +2 -1
  299. package/dist/index.js +8 -1
  300. package/dist/modifiers/_helpers.js +6 -1
  301. package/dist/modifiers/alignConverter.js +11 -1
  302. package/dist/modifiers/animation.js +18 -1
  303. package/dist/modifiers/animations/animatedEffects.js +64 -1
  304. package/dist/modifiers/animations/animatedEffects.native.js +55 -1
  305. package/dist/modifiers/animations/animatedEffects.web.js +55 -1
  306. package/dist/modifiers/animations/fadeEffect.js +46 -1
  307. package/dist/modifiers/animations/fadeEffect.native.js +33 -1
  308. package/dist/modifiers/animations/fadeEffect.web.js +3 -1
  309. package/dist/modifiers/animations/scaleEffect.js +46 -1
  310. package/dist/modifiers/animations/scaleEffect.native.js +33 -1
  311. package/dist/modifiers/animations/scrollEffect.web.js +3 -1
  312. package/dist/modifiers/animations/slideEffect.js +64 -1
  313. package/dist/modifiers/animations/slideEffect.native.js +53 -1
  314. package/dist/modifiers/animations/slideEffect.web.js +3 -1
  315. package/dist/modifiers/applyStyles.js +7 -1
  316. package/dist/modifiers/background.js +34 -1
  317. package/dist/modifiers/border.js +86 -1
  318. package/dist/modifiers/colorConverter.js +13 -1
  319. package/dist/modifiers/cursor.js +21 -1
  320. package/dist/modifiers/default.js +9 -1
  321. package/dist/modifiers/display.js +22 -1
  322. package/dist/modifiers/flex.js +20 -1
  323. package/dist/modifiers/flexWrapper.js +87 -1
  324. package/dist/modifiers/fullColor.js +32 -1
  325. package/dist/modifiers/grid.js +27 -1
  326. package/dist/modifiers/hover.js +28 -1
  327. package/dist/modifiers/logger.js +6 -1
  328. package/dist/modifiers/margin.js +25 -1
  329. package/dist/modifiers/overflow.js +28 -1
  330. package/dist/modifiers/padding.js +25 -1
  331. package/dist/modifiers/position.js +57 -1
  332. package/dist/modifiers/responsiveConverter.js +19 -1
  333. package/dist/modifiers/shadow.js +35 -1
  334. package/dist/modifiers/size.js +59 -1
  335. package/dist/modifiers/sizeConverter.js +12 -1
  336. package/dist/modifiers/state.js +33 -1
  337. package/dist/modifiers/text.js +62 -1
  338. package/dist/modifiers/textConverter.js +12 -1
  339. package/dist/modifiers/themeComponent.js +11 -1
  340. package/dist/responsive/ResponsiveHandler.js +28 -1
  341. package/dist/responsive/index.js +2 -1
  342. package/dist/responsive/responsiveHooks.js +67 -1
  343. package/dist/theme/ThemeHandler.js +81 -1
  344. package/dist/theme/default/base.js +95 -1
  345. package/dist/theme/default/blackTheme.js +47 -1
  346. package/dist/theme/default/cyberpunkTheme.js +36 -1
  347. package/dist/theme/default/darkTheme.js +35 -1
  348. package/dist/theme/default/hackerTheme.js +55 -1
  349. package/dist/theme/default/lightTheme.js +35 -1
  350. package/dist/theme/default/paperTheme.js +36 -1
  351. package/dist/theme/default/themes.js +15 -1
  352. package/dist/theme/format/colorsVariations.js +31 -1
  353. package/dist/theme/format/formatTheme.js +28 -1
  354. package/dist/theme/helpers/colorScale.js +12 -1
  355. package/dist/theme/helpers/contrastColor.js +18 -1
  356. package/dist/theme/helpers/dynamicColor.js +32 -1
  357. package/dist/theme/helpers/mergePreset.js +7 -1
  358. package/dist/theme/helpers/relatedScales.js +34 -1
  359. package/dist/theme/helpers/sizeScale.js +20 -1
  360. package/dist/theme/helpers/textScale.js +15 -1
  361. package/dist/theme/index.js +2 -1
  362. package/package.json +1 -3
  363. package/src/abstractions/Icon.js +1 -1
  364. package/src/abstractions/TextInput.js +10 -1
  365. package/src/components/actions/ActionsDrawer.js +17 -4
  366. package/src/components/actions/Button.js +5 -1
  367. package/src/components/actions/FloatingMenu.js +1 -1
  368. package/src/components/actions/menu/HorizontalMenu.js +2 -1
  369. package/src/components/actions/menu/VerticalMenu.js +2 -1
  370. package/src/components/filter/DateFilter.js +72 -0
  371. package/src/components/filter/FilterGroup.js +17 -0
  372. package/src/components/filter/FilterHandler.js +54 -0
  373. package/src/components/filter/FilterItem.js +30 -0
  374. package/src/components/filter/PopoverFilterItem.js +84 -0
  375. package/src/components/filter/SearchInput.js +49 -0
  376. package/src/components/filter/index.js +6 -0
  377. package/src/components/form/Form.js +9 -3
  378. package/src/components/form/FormItem.js +26 -1
  379. package/src/components/form/FormWrapperComponent.js +12 -3
  380. package/src/components/form/useNewForm.js +55 -4
  381. package/src/components/helpers/Separator.js +15 -11
  382. package/src/components/helpers/index.js +1 -0
  383. package/src/components/index.js +2 -0
  384. package/src/components/inputs/BooleanSelect.js +14 -0
  385. package/src/components/inputs/DateInput.js +3 -1
  386. package/src/components/inputs/DateRangeInput.js +41 -0
  387. package/src/components/inputs/Editable.js +129 -0
  388. package/src/components/inputs/EnabledSelect.js +14 -0
  389. package/src/components/inputs/InputWrapper.js +7 -4
  390. package/src/components/inputs/NumberInput.js +10 -5
  391. package/src/components/inputs/NumberRangeInput.js +41 -0
  392. package/src/components/inputs/PasswordInput.js +24 -0
  393. package/src/components/inputs/Picker.js +2 -2
  394. package/src/components/inputs/Select.js +61 -47
  395. package/src/components/inputs/TextArea.js +5 -0
  396. package/src/components/inputs/TextInput.js +14 -4
  397. package/src/components/inputs/UploadInput.js +140 -0
  398. package/src/components/inputs/index.js +9 -0
  399. package/src/components/inputs/upload/Upload.js +99 -0
  400. package/src/components/inputs/upload/Upload.native.js +154 -0
  401. package/src/components/inputs/upload/useUploadState.js +143 -0
  402. package/src/components/layout/LayoutHeader.js +1 -0
  403. package/src/components/presentation/AvatarLabel.js +1 -1
  404. package/src/components/presentation/AvatarsGroup.js +30 -0
  405. package/src/components/presentation/Badge.js +3 -2
  406. package/src/components/presentation/ContentLabel.js +1 -1
  407. package/src/components/presentation/IconLabel.js +1 -0
  408. package/src/components/presentation/Progress.js +20 -0
  409. package/src/components/presentation/index.js +2 -0
  410. package/src/components/sections/Section.js +1 -1
  411. package/src/components/sections/SectionItemLink.js +4 -2
  412. package/src/components/steps/ActiveStepContent.js +16 -0
  413. package/src/components/steps/StepsHandler.js +53 -0
  414. package/src/components/steps/StepsMenu.js +14 -0
  415. package/src/components/steps/StepsNavigation.js +37 -0
  416. package/src/components/steps/index.js +4 -0
  417. package/src/components/structure/Affix.js +34 -0
  418. package/src/components/structure/Affix.native.js +3 -0
  419. package/src/components/structure/Card.js +1 -0
  420. package/src/components/structure/TopBar.js +14 -2
  421. package/src/components/structure/index.js +1 -0
  422. package/src/components/structure/overlay/OverlayHandler.js +9 -1
  423. package/src/components/structure/popover/Popover.js +22 -5
  424. package/src/components/table/DataTable.js +7 -2
  425. package/src/components/table/Table.js +2 -1
  426. package/src/components/tabs/ActiveTabContent.js +4 -1
  427. package/src/components/text/DateText.js +15 -2
  428. package/src/modifiers/border.js +15 -9
  429. package/src/modifiers/fullColor.js +2 -2
  430. package/src/modifiers/size.js +8 -5
  431. package/src/theme/default/base.js +2 -0
  432. package/src/theme/default/hackerTheme.js +1 -10
  433. package/src/theme/default/paperTheme.js +1 -14
  434. package/src/theme/format/colorsVariations.js +1 -1
  435. package/src/theme/helpers/colorScale.js +2 -1
@@ -1 +1,32 @@
1
- export function smartPlacement(triggerRect,popoverRect,placement){var scrollX=window.scrollX||window.pageXOffset;var scrollY=window.scrollY||window.pageYOffset;var screenWidth=window.innerWidth;var screenHeight=window.innerHeight;var viewportRect={left:triggerRect.left-scrollX,right:triggerRect.right-scrollX,top:triggerRect.top-scrollY,bottom:triggerRect.bottom-scrollY};var fitsRight=viewportRect.right+popoverRect.width<=screenWidth;var fitsLeft=viewportRect.left-popoverRect.width>=0;var fitsBottom=viewportRect.bottom+popoverRect.height<=screenHeight;var fitsTop=viewportRect.top-popoverRect.height>=0;if(placement.startsWith('right')&&!fitsRight&&fitsLeft)return placement.replace('right','left');if(placement.endsWith('Right')&&!fitsLeft&&fitsRight)return placement.replace('Right','Left');if(placement.startsWith('left')&&!fitsLeft&&fitsRight)return placement.replace('left','right');if(placement.endsWith('Left')&&!fitsRight&&fitsLeft)return placement.replace('Left','Right');if(placement.startsWith('bottom')&&!fitsBottom&&fitsTop)return placement.replace('bottom','top');if(placement.endsWith('Bottom')&&!fitsTop&&fitsBottom)return placement.replace('Bottom','Top');if(placement.startsWith('top')&&!fitsTop&&fitsBottom)return placement.replace('top','bottom');if(placement.endsWith('Top')&&!fitsBottom&&fitsTop)return placement.replace('Top','Bottom');return placement;}
1
+ export function smartPlacement(triggerRect, popoverRect, placement) {
2
+ var scrollX = window.scrollX || window.pageXOffset;
3
+ var scrollY = window.scrollY || window.pageYOffset;
4
+ var screenWidth = window.innerWidth;
5
+ var screenHeight = window.innerHeight;
6
+
7
+ var viewportRect = {
8
+ left: triggerRect.left - scrollX,
9
+ right: triggerRect.right - scrollX,
10
+ top: triggerRect.top - scrollY,
11
+ bottom: triggerRect.bottom - scrollY
12
+ };
13
+
14
+ var fitsRight = viewportRect.right + popoverRect.width <= screenWidth;
15
+ var fitsLeft = viewportRect.left - popoverRect.width >= 0;
16
+ var fitsBottom = viewportRect.bottom + popoverRect.height <= screenHeight;
17
+ var fitsTop = viewportRect.top - popoverRect.height >= 0;
18
+
19
+ if (placement.startsWith('right') && !fitsRight && fitsLeft) return placement.replace('right', 'left');
20
+ if (placement.endsWith('Right') && !fitsLeft && fitsRight) return placement.replace('Right', 'Left');
21
+
22
+ if (placement.startsWith('left') && !fitsLeft && fitsRight) return placement.replace('left', 'right');
23
+ if (placement.endsWith('Left') && !fitsRight && fitsLeft) return placement.replace('Left', 'Right');
24
+
25
+ if (placement.startsWith('bottom') && !fitsBottom && fitsTop) return placement.replace('bottom', 'top');
26
+ if (placement.endsWith('Bottom') && !fitsTop && fitsBottom) return placement.replace('Bottom', 'Top');
27
+
28
+ if (placement.startsWith('top') && !fitsTop && fitsBottom) return placement.replace('top', 'bottom');
29
+ if (placement.endsWith('Top') && !fitsBottom && fitsTop) return placement.replace('Top', 'Bottom');
30
+
31
+ return placement;
32
+ }
@@ -1 +1,135 @@
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
+ 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", "startsOpen", "onOpenChange"],_excluded2 = ["children", "content", "renderContent", "snapPoints", "onOpenChange"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
+
3
+ import { BottomDrawer } from "../../modals/bottomDrawer";
4
+ import { PopoverContent } from "./PopoverContent";
5
+ import { useRegisterOverlay } from "../overlay/OverlayHandler";
6
+ import { useResponsiveValue } from "../../../responsive";import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+
8
+ export function Popover(_ref)
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+ {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,startsOpen = _ref.startsOpen,onOpenChange = _ref.onOpenChange,props = _objectWithoutProperties(_ref, _excluded);
25
+ var shouldUseDrawer = useResponsiveValue(useBottomDrawer);
26
+ var ref = React.useRef(null);
27
+ var _useRegisterOverlay = useRegisterOverlay({
28
+ unmountOnClose: unmountOnClose,
29
+ onOpenChange: onOpenChange
30
+ }),onOpen = _useRegisterOverlay.onOpen,onUpdate = _useRegisterOverlay.onUpdate,onClose = _useRegisterOverlay.onClose,onFastClose = _useRegisterOverlay.onFastClose,stopDelayedClosing = _useRegisterOverlay.stopDelayedClosing;
31
+
32
+ var click = trigger === 'click';
33
+ var hover = trigger === 'hover';
34
+ var focus = trigger === 'focus';
35
+
36
+ renderContent = renderContent || function () {return content;};
37
+
38
+ var buildContent = function buildContent() {var _ref$current, _ref$current$getBound, _ref$current2, _ref$current2$getBoun;return (
39
+ _jsx(PopoverContent, Object.assign({
40
+ placement: placement,
41
+ width: parentWidth ? (_ref$current = ref.current) == null ? void 0 : (_ref$current$getBound = _ref$current.getBoundingClientRect()) == null ? void 0 : _ref$current$getBound.width : undefined,
42
+ minWidth: parentMinWidth ? (_ref$current2 = ref.current) == null ? void 0 : (_ref$current2$getBoun = _ref$current2.getBoundingClientRect()) == null ? void 0 : _ref$current2$getBoun.width : undefined },
43
+ props, {
44
+ onMouseEnter: hover ? stopDelayedClosing : undefined,
45
+ onMouseLeave: hover ? onClose : undefined, children:
46
+
47
+ renderContent({ onClose: onFastClose }) })
48
+ ));};
49
+
50
+
51
+ var computeTriggerRect = function computeTriggerRect() {
52
+ var rect = ref.current.getBoundingClientRect();
53
+ var scrollX = window.scrollX || window.pageXOffset;
54
+ var scrollY = window.scrollY || window.pageYOffset;
55
+ return {
56
+ left: rect.left + scrollX,
57
+ right: rect.right + scrollX,
58
+ top: rect.top + scrollY,
59
+ bottom: rect.bottom + scrollY,
60
+ width: rect.width,
61
+ height: rect.height
62
+ };
63
+ };
64
+
65
+ var show = function show(e) {
66
+ if (e && e.stopPropagation) e.stopPropagation();
67
+ var triggerRect = computeTriggerRect();
68
+ onOpen({
69
+ content: buildContent(),
70
+ triggerRect: triggerRect,
71
+ placement: placement,
72
+ options: { dismissOnClickOutside: click || focus }
73
+ });
74
+ };
75
+
76
+ React.useEffect(function () {
77
+ if (startsOpen && ref.current) show();
78
+ return function () {return onClose();};
79
+ }, []);
80
+
81
+ React.useEffect(function () {
82
+ if (!ref.current || !watch) return;
83
+ onUpdate({
84
+ content: buildContent(),
85
+ options: { dismissOnClickOutside: click || focus }
86
+ });
87
+ }, watch);
88
+
89
+ if (shouldUseDrawer) {
90
+ return (
91
+ _jsx(DrawerPopover, Object.assign({
92
+ content: content,
93
+ renderContent: renderContent,
94
+ children: children,
95
+ onOpenChange: onOpenChange },
96
+ props,
97
+ bottomDrawerProps)
98
+ ));
99
+
100
+ }
101
+
102
+ var child = React.Children.only(children);
103
+ var childProps = { ref: ref, onClick: show };
104
+
105
+ if (hover) childProps = { ref: ref, onMouseEnter: show, onMouseLeave: onClose, disabled: disabled };
106
+ if (focus) childProps = { ref: ref, onFocus: show, disabled: disabled };
107
+
108
+ return React.cloneElement(child, childProps);
109
+ }
110
+
111
+ function DrawerPopover(_ref2) {var children = _ref2.children,content = _ref2.content,renderContent = _ref2.renderContent,snapPoints = _ref2.snapPoints,onOpenChange = _ref2.onOpenChange,props = _objectWithoutProperties(_ref2, _excluded2);
112
+ var _React$useState = React.useState(false),_React$useState2 = _slicedToArray(_React$useState, 2),open = _React$useState2[0],setOpen = _React$useState2[1];
113
+ var onClose = function onClose() {
114
+ setOpen(false);
115
+ onOpenChange == null ? void 0 : onOpenChange(false);
116
+ };
117
+
118
+ var child = React.Children.only(children);
119
+ var childProps = {
120
+ onClick: function onClick() {
121
+ setOpen(true);
122
+ onOpenChange == null ? void 0 : onOpenChange(true);
123
+ }
124
+ };
125
+
126
+ return (
127
+ _jsxs(_Fragment, { children: [
128
+ React.cloneElement(child, childProps),
129
+
130
+ _jsx(BottomDrawer, Object.assign({ open: open, onClose: onClose, snapPoints: snapPoints }, props, { children:
131
+ renderContent({ onClose: onClose }) })
132
+ )] }
133
+ ));
134
+
135
+ }
@@ -1 +1,105 @@
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
+ 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"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { Modal, TouchableWithoutFeedback } from "react-native-web";
2
+ import React from 'react';
3
+
4
+ import { BottomDrawer } from "../../modals/bottomDrawer";
5
+ import { PopoverContent } from "./PopoverContent";
6
+ import { View } from "../View";
7
+ import { calculatePosition } from "../overlay/calculatePosition";
8
+ import { useResponsiveValue } from "../../../responsive";import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+
10
+ export function Popover(_ref)
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ {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);
20
+ var shouldUseDrawer = useResponsiveValue(useBottomDrawer);
21
+ var ref = React.useRef(null);
22
+ var _React$useState = React.useState(false),_React$useState2 = _slicedToArray(_React$useState, 2),open = _React$useState2[0],setOpen = _React$useState2[1];
23
+ var _React$useState3 = React.useState(null),_React$useState4 = _slicedToArray(_React$useState3, 2),triggerRect = _React$useState4[0],setTriggerRect = _React$useState4[1];
24
+ var _React$useState5 = React.useState(null),_React$useState6 = _slicedToArray(_React$useState5, 2),position = _React$useState6[0],setPosition = _React$useState6[1];
25
+
26
+ renderContent = renderContent || function () {return content;};
27
+
28
+ var onOpen = function onOpen() {
29
+ if (shouldUseDrawer) {
30
+ setOpen(true);
31
+ return;
32
+ }
33
+ if (ref.current) {
34
+ ref.current.measureInWindow(function (x, y, width, height) {
35
+ setTriggerRect({
36
+ left: x,
37
+ top: y,
38
+ right: x + width,
39
+ bottom: y + height,
40
+ width: width,
41
+ height: height
42
+ });
43
+ setOpen(true);
44
+ });
45
+ }
46
+ };
47
+
48
+ var onClose = function onClose() {
49
+ setOpen(false);
50
+ setTriggerRect(null);
51
+ setPosition(null);
52
+ };
53
+
54
+ children = React.cloneElement(React.Children.only(children), {
55
+ onPress: onOpen
56
+ });
57
+
58
+ if (shouldUseDrawer) {
59
+ return (
60
+ _jsxs(View, { ref: ref, children: [
61
+ children,
62
+
63
+ _jsx(BottomDrawer, Object.assign({ open: open, onClose: onClose, snapPoints: snapPoints }, bottomDrawerProps, { children:
64
+ renderContent({ onClose: onClose }) })
65
+ )] }
66
+ ));
67
+
68
+ }
69
+
70
+ return (
71
+ _jsxs(_Fragment, { children: [
72
+ _jsx(View, { ref: ref, children: children }),
73
+
74
+ open &&
75
+ _jsx(Modal, { transparent: true, visible: open, animationType: "fade", onRequestClose: onClose, children:
76
+ _jsx(View, { fullW: true, flex: true, fullH: true, bg: "backdrop_op50", children:
77
+ _jsx(TouchableWithoutFeedback, { onPress: onClose, children:
78
+ _jsx(View, { style: { flex: 1 }, children:
79
+ triggerRect &&
80
+ _jsx(View, {
81
+ style: {
82
+ position: 'absolute',
83
+ top: (_position$y = position == null ? void 0 : position.y) != null ? _position$y : -9999,
84
+ left: (_position$x = position == null ? void 0 : position.x) != null ? _position$x : -9999
85
+ },
86
+ onLayout: function onLayout(e) {
87
+ var _e$nativeEvent$layout = e.nativeEvent.layout,width = _e$nativeEvent$layout.width,height = _e$nativeEvent$layout.height;
88
+ var popoverRect = { width: width, height: height };
89
+ var pos = calculatePosition(triggerRect, popoverRect, placement, 8);
90
+ setPosition(pos);
91
+ }, children:
92
+
93
+ _jsx(PopoverContent, Object.assign({ placement: placement }, props, { children:
94
+ renderContent({ onClose: onClose }) })
95
+ ) }
96
+ ) }
97
+
98
+ ) }
99
+ ) }
100
+ ) }
101
+ )] }
102
+
103
+ ));
104
+
105
+ }
@@ -1 +1,18 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/popover/PopoverContent.js";var _excluded=["children","placement"];import{Card}from"../Card";import{jsx as _jsx}from"react/jsx-runtime";export function PopoverContent(_ref){var children=_ref.children,_ref$placement=_ref.placement,placement=_ref$placement===void 0?'bottom':_ref$placement,props=_objectWithoutProperties(_ref,_excluded);return _jsx(Card,Object.assign({shadow:true,padding:"sm",br:"sm",className:"neko-popover-content",bg:"overlayBG",border:true,borderColor:"divider_op40"},props,{children:children}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/popover/PopoverContent.js";var _excluded = ["children", "placement"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { Card } from "../Card";import { jsx as _jsx } from "react/jsx-runtime";
2
+
3
+ export function PopoverContent(_ref) {var children = _ref.children,_ref$placement = _ref.placement,placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,props = _objectWithoutProperties(_ref, _excluded);
4
+ return (
5
+ _jsx(Card, Object.assign({
6
+ shadow: true,
7
+ padding: "sm",
8
+ br: "sm",
9
+ className: "neko-popover-content",
10
+ bg: "overlayBG",
11
+ border: true,
12
+ borderColor: "divider_op40" },
13
+ props, { children:
14
+
15
+ children })
16
+ ));
17
+
18
+ }
@@ -1 +1,157 @@
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
+ 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"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
+
3
+ import { BottomDrawer } from "../../modals/bottomDrawer";
4
+ import { PopoverContent } from "./PopoverContent";
5
+ import { useRegisterOverlay } from "../overlay/OverlayHandler";
6
+ import { useResponsiveValue } from "../../../responsive";import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+
8
+ export function Popover(_ref)
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ {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);
22
+ var shouldUseDrawer = useResponsiveValue(useBottomDrawer);
23
+ var ref = React.useRef(null);
24
+ var _useRegisterOverlay = useRegisterOverlay({ unmountOnClose: unmountOnClose }),onOpen = _useRegisterOverlay.onOpen,onUpdate = _useRegisterOverlay.onUpdate,onClose = _useRegisterOverlay.onClose,onFastClose = _useRegisterOverlay.onFastClose,stopDelayedClosing = _useRegisterOverlay.stopDelayedClosing;
25
+
26
+ var click = trigger === 'click';
27
+ var hover = trigger === 'hover';
28
+ var focus = trigger === 'focus';
29
+
30
+ renderContent = renderContent || function () {return content;};
31
+
32
+ var buildContent = function buildContent() {var _ref$current, _ref$current$getBound, _ref$current2, _ref$current2$getBoun;return (
33
+ _jsx(PopoverContent, Object.assign({
34
+ placement: placement,
35
+ width: parentWidth ? (_ref$current = ref.current) == null ? void 0 : (_ref$current$getBound = _ref$current.getBoundingClientRect()) == null ? void 0 : _ref$current$getBound.width : undefined,
36
+ minWidth: parentMinWidth ? (_ref$current2 = ref.current) == null ? void 0 : (_ref$current2$getBoun = _ref$current2.getBoundingClientRect()) == null ? void 0 : _ref$current2$getBoun.width : undefined },
37
+ props, {
38
+ onMouseEnter: hover ? stopDelayedClosing : undefined,
39
+ onMouseLeave: hover ? onClose : undefined, children:
40
+
41
+ renderContent({ onClose: onFastClose }) })
42
+ ));};
43
+
44
+
45
+ var computeTriggerRect = function computeTriggerRect() {
46
+ var rect = ref.current.getBoundingClientRect();
47
+ var scrollX = window.scrollX || window.pageXOffset;
48
+ var scrollY = window.scrollY || window.pageYOffset;
49
+ return {
50
+ left: rect.left + scrollX,
51
+ right: rect.right + scrollX,
52
+ top: rect.top + scrollY,
53
+ bottom: rect.bottom + scrollY,
54
+ width: rect.width,
55
+ height: rect.height
56
+ };
57
+ };
58
+
59
+ var show = function show(e) {
60
+ if (e && e.stopPropagation) e.stopPropagation();
61
+ var triggerRect = computeTriggerRect();
62
+ onOpen({
63
+ content: buildContent(),
64
+ triggerRect: triggerRect,
65
+ placement: placement,
66
+ options: { dismissOnClickOutside: click || focus }
67
+ });
68
+ };
69
+
70
+ React.useEffect(function () {return function () {return onClose();};}, []);
71
+
72
+
73
+ React.useEffect(function () {
74
+ if (!ref.current) return;
75
+ var triggerRect = computeTriggerRect();
76
+ onUpdate({
77
+ content: buildContent(),
78
+ triggerRect: triggerRect,
79
+ placement: placement,
80
+ options: { dismissOnClickOutside: click || focus }
81
+ });
82
+ }, [watch, renderContent]);
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+ if (shouldUseDrawer) {
121
+ return (
122
+ _jsx(DrawerPopover, Object.assign({
123
+ content: content,
124
+ renderContent: renderContent,
125
+ children: children },
126
+ props,
127
+ bottomDrawerProps)
128
+ ));
129
+
130
+ }
131
+
132
+ var child = React.Children.only(children);
133
+ var childProps = { ref: ref, onClick: show };
134
+
135
+ if (hover) childProps = { ref: ref, onMouseEnter: show, onMouseLeave: onClose };
136
+ if (focus) childProps = { ref: ref, onFocus: show };
137
+
138
+ return React.cloneElement(child, childProps);
139
+ }
140
+
141
+ function DrawerPopover(_ref2) {var children = _ref2.children,content = _ref2.content,renderContent = _ref2.renderContent,snapPoints = _ref2.snapPoints,props = _objectWithoutProperties(_ref2, _excluded2);
142
+ var _React$useState = React.useState(false),_React$useState2 = _slicedToArray(_React$useState, 2),open = _React$useState2[0],setOpen = _React$useState2[1];
143
+ var onClose = function onClose() {return setOpen(false);};
144
+
145
+ var child = React.Children.only(children);
146
+ var childProps = { onClick: function onClick() {return setOpen(true);} };
147
+
148
+ return (
149
+ _jsxs(_Fragment, { children: [
150
+ React.cloneElement(child, childProps),
151
+
152
+ _jsx(BottomDrawer, Object.assign({ open: open, onClose: onClose, snapPoints: snapPoints }, props, { children:
153
+ renderContent({ onClose: onClose }) })
154
+ )] }
155
+ ));
156
+
157
+ }
@@ -1 +1,62 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["render","field","key","label"],_excluded2=["data","columns","rowKey","stickyHeader","grid"],_excluded3=["key"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/table/DataTable.js";import{pipe}from'ramda';import{Table}from'..';import{TableCol}from"./TableCol";import{TableHeader}from"./TableHeader";import{TableHeaderRow}from"./TableHeaderRow";import{TableRow}from"./TableRow";import{useSizeConverter}from"../../modifiers/sizeConverter";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function RowItem(_ref){var _this=this;var record=_ref.record,columns=_ref.columns,size=_ref.size,grid=_ref.grid;return _jsx(TableRow,{children:columns.map(function(_ref2,index){var render=_ref2.render,field=_ref2.field,key=_ref2.key,label=_ref2.label,column=_objectWithoutProperties(_ref2,_excluded);render=render||function(v){return v;};var value=record[field];var colProps=Object.assign({},column,{size:size});if(!column.borderR&&columns.length-1>index&&grid)colProps.borderR=true;return _jsx(TableCol,Object.assign({},colProps,{children:render(value,record)}),key);})});}export function DataTable(_ref3){var _this2=this;var data=_ref3.data,columns=_ref3.columns,_ref3$rowKey=_ref3.rowKey,rowKey=_ref3$rowKey===void 0?'key':_ref3$rowKey,stickyHeader=_ref3.stickyHeader,grid=_ref3.grid,props=_objectWithoutProperties(_ref3,_excluded2);var _pipe=pipe(useSizeConverter('padding','md'))([{},props]),_pipe2=_slicedToArray(_pipe,2),sizeCode=_pipe2[0].sizeCode,_=_pipe2[1];return _jsxs(Table,Object.assign({},props,{children:[_jsx(TableHeaderRow,{sticky:stickyHeader,children:columns.map(function(_ref4,index){var key=_ref4.key,column=_objectWithoutProperties(_ref4,_excluded3);var headerProps=Object.assign({},column,{size:sizeCode});if(!column.borderR&&columns.length-1>index&&grid)headerProps.borderR=true;return _jsx(TableHeader,Object.assign({},headerProps),column.key);})}),data.map(function(record,index){return _jsx(RowItem,{columns:columns,record:record,size:sizeCode,grid:grid},record[rowKey]||(record==null?void 0:record.id)||index);})]}));}
1
+ var _excluded = ["render", "field", "key", "label"],_excluded2 = ["data", "columns", "rowKey", "stickyHeader", "grid"],_excluded3 = ["key", "render", "renderHeader", "field", "label"];var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/table/DataTable.js";function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { pipe } from 'ramda';
2
+
3
+ import { Table } from '..';
4
+ import { TableCol } from "./TableCol";
5
+ import { TableHeader } from "./TableHeader";
6
+ import { TableHeaderRow } from "./TableHeaderRow";
7
+ import { TableRow } from "./TableRow";
8
+ import { useSizeConverter } from "../../modifiers/sizeConverter";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+
10
+ function RowItem(_ref) {var _this = this;var record = _ref.record,columns = _ref.columns,size = _ref.size,grid = _ref.grid;
11
+ return (
12
+ _jsx(TableRow, { children:
13
+ columns.map(function (_ref2, index) {var render = _ref2.render,field = _ref2.field,key = _ref2.key,label = _ref2.label,column = _objectWithoutProperties(_ref2, _excluded);
14
+ render = render || function (v) {return v;};
15
+ var value = record[field];
16
+
17
+ var colProps = Object.assign({}, column, { size: size });
18
+ if (!column.borderR && columns.length - 1 > index && grid) colProps.borderR = true;
19
+
20
+ return (
21
+ _jsx(TableCol, Object.assign({}, colProps, { children:
22
+ render(value, record) }), key
23
+ ));
24
+
25
+ }) }
26
+ ));
27
+
28
+ }
29
+
30
+ export function DataTable(_ref3) {var _this2 = this;var data = _ref3.data,columns = _ref3.columns,_ref3$rowKey = _ref3.rowKey,rowKey = _ref3$rowKey === void 0 ? 'key' : _ref3$rowKey,stickyHeader = _ref3.stickyHeader,grid = _ref3.grid,props = _objectWithoutProperties(_ref3, _excluded2);
31
+ var _pipe = pipe(
32
+ useSizeConverter('padding', 'md')
33
+ )([{}, props]),_pipe2 = _slicedToArray(_pipe, 2),sizeCode = _pipe2[0].sizeCode,_ = _pipe2[1];
34
+
35
+ return (
36
+ _jsxs(Table, Object.assign({}, props, { children: [
37
+ _jsx(TableHeaderRow, { sticky: stickyHeader, children:
38
+ columns.map(function (rawColumn, index) {
39
+ var key = rawColumn.key,render = rawColumn.render,renderHeader = rawColumn.renderHeader,field = rawColumn.field,label = rawColumn.label,column = _objectWithoutProperties(rawColumn, _excluded3);
40
+ var headerProps = Object.assign({}, column, { size: sizeCode });
41
+ if (!column.borderR && columns.length - 1 > index && grid) headerProps.borderR = true;
42
+
43
+ return (
44
+ _jsx(TableHeader, Object.assign({}, headerProps, { children:
45
+ renderHeader ? renderHeader(rawColumn) : label }), key
46
+ ));
47
+
48
+ }) }
49
+ ),
50
+
51
+ data.map(function (record, index) {return (
52
+ _jsx(RowItem, {
53
+
54
+ columns: columns,
55
+ record: record,
56
+ size: sizeCode,
57
+ grid: grid }, record[rowKey] || (record == null ? void 0 : record.id) || index
58
+ ));}
59
+ )] })
60
+ ));
61
+
62
+ }