@neko-os/ui 0.0.5 → 0.0.6

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 (337) hide show
  1. package/dist/NekoUI.js +1 -1
  2. package/dist/abstractions/ActivityIndicator.js +1 -0
  3. package/dist/abstractions/ActivityIndicator.native.js +1 -0
  4. package/dist/abstractions/AnimatedView.js +1 -0
  5. package/dist/abstractions/AnimatedView.native.js +1 -0
  6. package/dist/abstractions/DraggableSlideView.js +1 -0
  7. package/dist/abstractions/DraggableSlideView.native.js +1 -0
  8. package/dist/abstractions/Icon.js +1 -1
  9. package/dist/abstractions/Image.js +1 -0
  10. package/dist/abstractions/Image.native.js +1 -0
  11. package/dist/abstractions/Image.web.js +1 -0
  12. package/dist/abstractions/Platform.js +1 -0
  13. package/dist/abstractions/Platform.native.js +1 -0
  14. package/dist/abstractions/Platform.web.js +1 -0
  15. package/dist/abstractions/SafeAreaView.js +1 -0
  16. package/dist/abstractions/SafeAreaView.native.js +1 -0
  17. package/dist/abstractions/Table.js +1 -0
  18. package/dist/abstractions/Table.native.js +1 -0
  19. package/dist/abstractions/Text.js +1 -1
  20. package/dist/abstractions/TextInput.js +1 -0
  21. package/dist/abstractions/TextInput.native.js +1 -0
  22. package/dist/abstractions/TextInput.web.js +1 -0
  23. package/dist/abstractions/View.js +1 -1
  24. package/dist/abstractions/helpers/componentSize.js +1 -0
  25. package/dist/abstractions/helpers/componentSize.native.js +1 -0
  26. package/dist/abstractions/helpers/transformStyle.js +1 -0
  27. package/dist/abstractions/helpers/transformStyle.native.js +1 -0
  28. package/dist/components/actions/Breadcrumb.js +1 -0
  29. package/dist/components/actions/Button.js +1 -1
  30. package/dist/components/actions/Dropdown.js +1 -0
  31. package/dist/components/actions/Link.js +1 -1
  32. package/dist/components/actions/index.js +1 -1
  33. package/dist/components/actions/menu/HorizontalMenu.js +1 -0
  34. package/dist/components/actions/menu/Menu.js +1 -0
  35. package/dist/components/actions/menu/SubmenuWrapper.js +1 -0
  36. package/dist/components/actions/menu/VerticalMenu.js +1 -0
  37. package/dist/components/animations/AnimatedView.js +1 -0
  38. package/dist/components/animations/DraggableSlideView.js +1 -0
  39. package/dist/components/animations/index.js +1 -0
  40. package/dist/components/calendar/DayPicker.js +1 -0
  41. package/dist/components/calendar/_helpers/calendarDays.js +1 -0
  42. package/dist/components/calendar/index.js +1 -0
  43. package/dist/components/feedback/index.js +1 -0
  44. package/dist/components/feedback/notifications/Notification.js +1 -0
  45. package/dist/components/feedback/notifications/NotificationsHandler.js +1 -0
  46. package/dist/components/form/Form.js +1 -1
  47. package/dist/components/form/FormGroup.js +1 -1
  48. package/dist/components/form/FormItem.js +1 -1
  49. package/dist/components/form/FormList.js +1 -1
  50. package/dist/components/form/FormWrapperComponent.js +1 -1
  51. package/dist/components/form/FormWrapperComponent.native.js +1 -1
  52. package/dist/components/form/SubmitButton.js +1 -0
  53. package/dist/components/form/index.js +1 -1
  54. package/dist/components/form/useNewForm.js +1 -0
  55. package/dist/components/form/useWatch.js +1 -0
  56. package/dist/components/helpers/LazyRender.js +1 -0
  57. package/dist/components/helpers/LazyRender.native.js +1 -0
  58. package/dist/components/helpers/Portal.js +1 -0
  59. package/dist/components/helpers/PortalHandler.js +1 -0
  60. package/dist/components/helpers/Responsive.js +1 -1
  61. package/dist/components/helpers/Separator.js +1 -1
  62. package/dist/components/helpers/VerticalView.js +1 -0
  63. package/dist/components/helpers/index.js +1 -1
  64. package/dist/components/index.js +1 -1
  65. package/dist/components/inputs/Checkbox.js +1 -0
  66. package/dist/components/inputs/InputWrapper.js +1 -0
  67. package/dist/components/inputs/Picker.js +1 -0
  68. package/dist/components/inputs/Radio.js +1 -0
  69. package/dist/components/inputs/Switch.js +1 -0
  70. package/dist/components/inputs/TextInput.js +1 -0
  71. package/dist/components/inputs/index.js +1 -0
  72. package/dist/components/layout/Layout.js +1 -0
  73. package/dist/components/layout/LayoutContent.js +1 -0
  74. package/dist/components/layout/LayoutHeader.js +1 -0
  75. package/dist/components/layout/LayoutSider.js +1 -0
  76. package/dist/components/layout/index.js +1 -0
  77. package/dist/components/presentation/Avatar.js +1 -0
  78. package/dist/components/presentation/AvatarLabel.js +1 -0
  79. package/dist/components/presentation/Badge.js +1 -0
  80. package/dist/components/presentation/ContentLabel.js +1 -1
  81. package/dist/components/presentation/IconLabel.js +1 -1
  82. package/dist/components/presentation/Image.js +1 -0
  83. package/dist/components/presentation/LabelValue.js +1 -0
  84. package/dist/components/presentation/Result.js +1 -0
  85. package/dist/components/presentation/ResultBar.js +1 -0
  86. package/dist/components/presentation/Tag.js +1 -1
  87. package/dist/components/presentation/Tooltip.js +1 -0
  88. package/dist/components/presentation/index.js +1 -1
  89. package/dist/components/state/Loading.js +1 -0
  90. package/dist/components/state/LoadingView.js +1 -0
  91. package/dist/components/state/index.js +1 -0
  92. package/dist/components/structure/Accordion.js +1 -0
  93. package/dist/components/structure/AccordionGroup.js +1 -0
  94. package/dist/components/structure/Card.js +1 -1
  95. package/dist/components/structure/Col.js +1 -0
  96. package/dist/components/structure/Row.js +1 -0
  97. package/dist/components/structure/SafeAreaView.js +1 -0
  98. package/dist/components/structure/View.js +1 -1
  99. package/dist/components/structure/index.js +1 -1
  100. package/dist/components/structure/overlay/OverlayHandler.js +1 -0
  101. package/dist/components/structure/overlay/OverlayHandler.native.js +1 -0
  102. package/dist/components/structure/overlay/OverlayWrapper.js +1 -0
  103. package/dist/components/structure/overlay/calculatePosition.js +1 -0
  104. package/dist/components/structure/overlay/smartPlacement.js +1 -0
  105. package/dist/components/structure/popover/Popover.js +1 -0
  106. package/dist/components/structure/popover/Popover.native.js +1 -0
  107. package/dist/components/structure/popover/PopoverContent.js +1 -0
  108. package/dist/components/table/DataTable.js +1 -0
  109. package/dist/components/table/Pagination.js +1 -0
  110. package/dist/components/table/Table.js +1 -0
  111. package/dist/components/table/TableCol.js +1 -0
  112. package/dist/components/table/TableHeader.js +1 -0
  113. package/dist/components/table/TableHeaderRow.js +1 -0
  114. package/dist/components/table/TableRow.js +1 -0
  115. package/dist/components/table/index.js +1 -0
  116. package/dist/components/text/Text.js +1 -1
  117. package/dist/components/text/VerticalText.js +1 -0
  118. package/dist/components/text/index.js +1 -1
  119. package/dist/helpers/debounce.js +1 -0
  120. package/dist/helpers/index.js +1 -1
  121. package/dist/helpers/options.js +1 -0
  122. package/dist/helpers/random.js +1 -0
  123. package/dist/index.css +10 -0
  124. package/dist/index.js +1 -1
  125. package/dist/modifiers/alignConverter.js +1 -0
  126. package/dist/modifiers/animation.js +1 -0
  127. package/dist/modifiers/animations/animatedEffects.js +1 -0
  128. package/dist/modifiers/animations/animatedEffects.native.js +1 -0
  129. package/dist/modifiers/animations/animatedEffects.web.js +1 -0
  130. package/dist/modifiers/animations/fadeEffect.js +1 -0
  131. package/dist/modifiers/animations/fadeEffect.native.js +1 -0
  132. package/dist/modifiers/animations/slideEffect.js +1 -0
  133. package/dist/modifiers/animations/slideEffect.native.js +1 -0
  134. package/dist/modifiers/applyStyles.js +1 -0
  135. package/dist/modifiers/border.js +1 -1
  136. package/dist/modifiers/display.js +1 -1
  137. package/dist/modifiers/flex.js +1 -1
  138. package/dist/modifiers/flexWrapper.js +1 -1
  139. package/dist/modifiers/fullColor.js +1 -1
  140. package/dist/modifiers/grid.js +1 -0
  141. package/dist/modifiers/overflow.js +1 -0
  142. package/dist/modifiers/position.js +1 -1
  143. package/dist/modifiers/responsiveConverter.js +1 -0
  144. package/dist/modifiers/size.js +1 -1
  145. package/dist/modifiers/state.js +1 -0
  146. package/dist/responsive/ResponsiveHandler.js +1 -0
  147. package/dist/responsive/index.js +1 -0
  148. package/dist/responsive/responsiveHooks.js +1 -0
  149. package/dist/theme/ThemeHandler.js +1 -1
  150. package/dist/theme/default/base.js +1 -1
  151. package/dist/theme/default/darkTheme.js +1 -1
  152. package/dist/theme/default/hackerTheme.js +1 -1
  153. package/dist/theme/default/lightTheme.js +1 -1
  154. package/dist/theme/default/msdosTheme.js +1 -1
  155. package/dist/theme/helpers/contrastColor.js +1 -0
  156. package/dist/theme/helpers/dynamicColor.js +1 -0
  157. package/dist/theme/helpers/relatedScales.js +1 -1
  158. package/dist/theme/helpers/sizeScale.js +1 -1
  159. package/dist/theme/helpers/textScale.js +1 -1
  160. package/package.json +8 -4
  161. package/src/NekoUI.js +15 -1
  162. package/src/abstractions/ActivityIndicator.js +31 -0
  163. package/src/abstractions/ActivityIndicator.native.js +44 -0
  164. package/src/abstractions/AnimatedView.js +3 -0
  165. package/src/abstractions/AnimatedView.native.js +6 -0
  166. package/src/abstractions/DraggableSlideView.js +85 -0
  167. package/src/abstractions/DraggableSlideView.native.js +62 -0
  168. package/src/abstractions/Icon.js +4 -42
  169. package/src/abstractions/Image.js +12 -0
  170. package/src/abstractions/Image.native.js +7 -0
  171. package/src/abstractions/Image.web.js +7 -0
  172. package/src/abstractions/Platform.js +1 -0
  173. package/src/abstractions/Platform.native.js +3 -0
  174. package/src/abstractions/Platform.web.js +3 -0
  175. package/src/abstractions/SafeAreaView.js +3 -0
  176. package/src/abstractions/SafeAreaView.native.js +3 -0
  177. package/src/abstractions/Table.js +29 -0
  178. package/src/abstractions/Table.native.js +19 -0
  179. package/src/abstractions/Text.js +13 -2
  180. package/src/abstractions/TextInput.js +3 -0
  181. package/src/abstractions/TextInput.native.js +5 -0
  182. package/src/abstractions/TextInput.web.js +5 -0
  183. package/src/abstractions/View.js +2 -2
  184. package/src/abstractions/helpers/componentSize.js +13 -0
  185. package/src/abstractions/helpers/componentSize.native.js +12 -0
  186. package/src/abstractions/helpers/transformStyle.js +8 -0
  187. package/src/abstractions/helpers/transformStyle.native.js +3 -0
  188. package/src/components/actions/Breadcrumb.js +47 -0
  189. package/src/components/actions/Button.js +8 -3
  190. package/src/components/actions/Dropdown.js +68 -0
  191. package/src/components/actions/Link.js +21 -8
  192. package/src/components/actions/index.js +3 -0
  193. package/src/components/actions/menu/HorizontalMenu.js +96 -0
  194. package/src/components/actions/menu/Menu.js +7 -0
  195. package/src/components/actions/menu/SubmenuWrapper.js +16 -0
  196. package/src/components/actions/menu/VerticalMenu.js +107 -0
  197. package/src/components/animations/AnimatedView.js +45 -0
  198. package/src/components/animations/DraggableSlideView.js +42 -0
  199. package/src/components/animations/index.js +2 -0
  200. package/src/components/calendar/DayPicker.js +91 -0
  201. package/src/components/calendar/_helpers/calendarDays.js +16 -0
  202. package/src/components/calendar/index.js +1 -0
  203. package/src/components/feedback/index.js +1 -0
  204. package/src/components/feedback/notifications/Notification.js +37 -0
  205. package/src/components/feedback/notifications/NotificationsHandler.js +65 -0
  206. package/src/components/form/Form.js +15 -4
  207. package/src/components/form/FormGroup.js +4 -4
  208. package/src/components/form/FormItem.js +30 -8
  209. package/src/components/form/FormList.js +45 -9
  210. package/src/components/form/FormWrapperComponent.js +37 -2
  211. package/src/components/form/FormWrapperComponent.native.js +2 -2
  212. package/src/components/form/SubmitButton.js +20 -0
  213. package/src/components/form/index.js +3 -2
  214. package/src/components/form/useNewForm.js +67 -0
  215. package/src/components/form/useWatch.js +70 -0
  216. package/src/components/helpers/LazyRender.js +55 -0
  217. package/src/components/helpers/LazyRender.native.js +58 -0
  218. package/src/components/helpers/Portal.js +21 -0
  219. package/src/components/helpers/PortalHandler.js +32 -0
  220. package/src/components/helpers/Responsive.js +1 -1
  221. package/src/components/helpers/Separator.js +10 -14
  222. package/src/components/helpers/VerticalView.js +34 -0
  223. package/src/components/helpers/index.js +4 -0
  224. package/src/components/index.js +7 -0
  225. package/src/components/inputs/Checkbox.js +56 -0
  226. package/src/components/inputs/InputWrapper.js +79 -0
  227. package/src/components/inputs/Picker.js +116 -0
  228. package/src/components/inputs/Radio.js +55 -0
  229. package/src/components/inputs/Switch.js +60 -0
  230. package/src/components/inputs/TextInput.js +22 -0
  231. package/src/components/inputs/index.js +6 -0
  232. package/src/components/layout/Layout.js +40 -0
  233. package/src/components/layout/LayoutContent.js +42 -0
  234. package/src/components/layout/LayoutHeader.js +69 -0
  235. package/src/components/layout/LayoutSider.js +64 -0
  236. package/src/components/layout/index.js +4 -0
  237. package/src/components/presentation/Avatar.js +79 -0
  238. package/src/components/presentation/AvatarLabel.js +58 -0
  239. package/src/components/presentation/Badge.js +90 -0
  240. package/src/components/presentation/ContentLabel.js +24 -6
  241. package/src/components/presentation/IconLabel.js +12 -2
  242. package/src/components/presentation/Image.js +33 -0
  243. package/src/components/presentation/LabelValue.js +49 -0
  244. package/src/components/presentation/Result.js +60 -0
  245. package/src/components/presentation/ResultBar.js +56 -0
  246. package/src/components/presentation/Tag.js +8 -11
  247. package/src/components/presentation/Tooltip.js +43 -0
  248. package/src/components/presentation/index.js +8 -0
  249. package/src/components/state/Loading.js +20 -0
  250. package/src/components/state/LoadingView.js +28 -0
  251. package/src/components/state/index.js +2 -0
  252. package/src/components/structure/Accordion.js +69 -0
  253. package/src/components/structure/AccordionGroup.js +35 -0
  254. package/src/components/structure/Card.js +4 -1
  255. package/src/components/structure/Col.js +22 -0
  256. package/src/components/structure/Row.js +42 -0
  257. package/src/components/structure/SafeAreaView.js +42 -0
  258. package/src/components/structure/View.js +9 -3
  259. package/src/components/structure/index.js +6 -0
  260. package/src/components/structure/overlay/OverlayHandler.js +70 -0
  261. package/src/components/structure/overlay/OverlayHandler.native.js +6 -0
  262. package/src/components/structure/overlay/OverlayWrapper.js +52 -0
  263. package/src/components/structure/overlay/calculatePosition.js +29 -0
  264. package/src/components/structure/overlay/smartPlacement.js +32 -0
  265. package/src/components/structure/popover/Popover.js +69 -0
  266. package/src/components/structure/popover/Popover.native.js +75 -0
  267. package/src/components/structure/popover/PopoverContent.js +18 -0
  268. package/src/components/table/DataTable.js +57 -0
  269. package/src/components/table/Pagination.js +128 -0
  270. package/src/components/table/Table.js +65 -0
  271. package/src/components/table/TableCol.js +67 -0
  272. package/src/components/table/TableHeader.js +69 -0
  273. package/src/components/table/TableHeaderRow.js +31 -0
  274. package/src/components/table/TableRow.js +30 -0
  275. package/src/components/table/index.js +7 -0
  276. package/src/components/text/Text.js +4 -0
  277. package/src/components/text/VerticalText.js +29 -0
  278. package/src/components/text/index.js +1 -0
  279. package/src/helpers/debounce.js +9 -0
  280. package/src/helpers/index.js +2 -1
  281. package/src/helpers/options.js +65 -0
  282. package/src/helpers/random.js +5 -0
  283. package/src/index.css +10 -0
  284. package/src/index.js +1 -0
  285. package/src/modifiers/alignConverter.js +11 -0
  286. package/src/modifiers/animation.js +18 -0
  287. package/src/modifiers/animations/animatedEffects.js +63 -0
  288. package/src/modifiers/animations/animatedEffects.native.js +53 -0
  289. package/src/modifiers/animations/animatedEffects.web.js +3 -0
  290. package/src/modifiers/animations/fadeEffect.js +43 -0
  291. package/src/modifiers/animations/fadeEffect.native.js +33 -0
  292. package/src/modifiers/animations/slideEffect.js +61 -0
  293. package/src/modifiers/animations/slideEffect.native.js +53 -0
  294. package/src/modifiers/applyStyles.js +7 -0
  295. package/src/modifiers/border.js +30 -6
  296. package/src/modifiers/display.js +3 -5
  297. package/src/modifiers/flex.js +1 -1
  298. package/src/modifiers/flexWrapper.js +48 -7
  299. package/src/modifiers/fullColor.js +5 -5
  300. package/src/modifiers/grid.js +27 -0
  301. package/src/modifiers/overflow.js +23 -0
  302. package/src/modifiers/position.js +10 -2
  303. package/src/modifiers/responsiveConverter.js +19 -0
  304. package/src/modifiers/size.js +10 -4
  305. package/src/modifiers/state.js +33 -0
  306. package/src/responsive/ResponsiveHandler.js +28 -0
  307. package/src/responsive/index.js +2 -0
  308. package/src/responsive/responsiveHooks.js +54 -0
  309. package/src/theme/ThemeHandler.js +1 -1
  310. package/src/theme/default/base.js +22 -22
  311. package/src/theme/default/darkTheme.js +2 -2
  312. package/src/theme/default/hackerTheme.js +8 -0
  313. package/src/theme/default/lightTheme.js +1 -1
  314. package/src/theme/default/msdosTheme.js +1 -1
  315. package/src/theme/helpers/contrastColor.js +20 -0
  316. package/src/theme/helpers/dynamicColor.js +32 -0
  317. package/src/theme/helpers/relatedScales.js +6 -6
  318. package/src/theme/helpers/sizeScale.js +7 -2
  319. package/src/theme/helpers/textScale.js +1 -1
  320. package/dist/components/form/inputs/Checkbox.js +0 -1
  321. package/dist/components/form/inputs/Radio.js +0 -1
  322. package/dist/components/form/inputs/Switch.js +0 -1
  323. package/dist/components/form/inputs/index.js +0 -1
  324. package/dist/components/form/useForm.js +0 -1
  325. package/dist/helpers/responsive.js +0 -1
  326. package/src/components/form/inputs/Checkbox.js +0 -42
  327. package/src/components/form/inputs/Radio.js +0 -42
  328. package/src/components/form/inputs/Switch.js +0 -44
  329. package/src/components/form/inputs/index.js +0 -3
  330. package/src/components/form/useForm.js +0 -65
  331. package/src/helpers/responsive.js +0 -54
  332. /package/dist/abstractions/{windowWidth.js → helpers/windowWidth.js} +0 -0
  333. /package/dist/abstractions/{windowWidth.native.js → helpers/windowWidth.native.js} +0 -0
  334. /package/dist/abstractions/{windowWidth.web.js → helpers/windowWidth.web.js} +0 -0
  335. /package/src/abstractions/{windowWidth.js → helpers/windowWidth.js} +0 -0
  336. /package/src/abstractions/{windowWidth.native.js → helpers/windowWidth.native.js} +0 -0
  337. /package/src/abstractions/{windowWidth.web.js → helpers/windowWidth.web.js} +0 -0
@@ -1,65 +0,0 @@
1
- import { assocPath, path } from 'ramda'
2
- import React from 'react'
3
-
4
- export function useForm({ initialValues = {}, validate } = {}) {
5
- const valuesRef = React.useRef({ ...initialValues })
6
- const errorsRef = React.useRef({})
7
- const listenersRef = React.useRef({})
8
-
9
- const notify = (name) => {
10
- const key = Array.isArray(name) ? name.join('.') : name
11
- if (listenersRef.current[key]) {
12
- listenersRef.current[key].forEach((cb) => cb(path(name, valuesRef.current)))
13
- }
14
- }
15
-
16
- const setFieldValue = (name, value) => {
17
- valuesRef.current = assocPath(name, value, valuesRef.current)
18
- notify(name)
19
- }
20
-
21
- const getFieldValue = (name) => path(name, valuesRef.current)
22
-
23
- const getError = (name) => path(name, errorsRef.current)
24
-
25
- const setError = (name, error) => {
26
- errorsRef.current = assocPath(name, error, errorsRef.current)
27
- }
28
-
29
- const registerListener = (name, cb) => {
30
- const key = Array.isArray(name) ? name.join('.') : name
31
- if (!listenersRef.current[key]) {
32
- listenersRef.current[key] = []
33
- }
34
- listenersRef.current[key].push(cb)
35
- return () => {
36
- listenersRef.current[key] = listenersRef.current[key].filter((fn) => fn !== cb)
37
- }
38
- }
39
-
40
- const validateForm = () => {
41
- if (!validate) return true
42
- const newErrors = validate(valuesRef.current) || {}
43
- errorsRef.current = newErrors
44
- return Object.keys(newErrors).length === 0
45
- }
46
-
47
- const handleSubmit = (onValid) => {
48
- return () => {
49
- const isValid = validateForm()
50
- if (isValid) {
51
- onValid(valuesRef.current)
52
- }
53
- }
54
- }
55
-
56
- return {
57
- setFieldValue,
58
- getFieldValue,
59
- getError,
60
- setError,
61
- registerListener,
62
- handleSubmit,
63
- valuesRef,
64
- }
65
- }
@@ -1,54 +0,0 @@
1
- import { is } from 'ramda'
2
-
3
- import { useBreakpoints } from '../theme/ThemeHandler'
4
- import { useWindowWidth } from '../abstractions/windowWidth'
5
-
6
- export function useResponsiveScreen() {
7
- const breakpoints = useBreakpoints()
8
- const width = useWindowWidth()
9
- if (!breakpoints?.length) return false
10
-
11
- // Find which breakpoint range we're in
12
- for (let i = 0; i < breakpoints.length; i++) {
13
- if (width < breakpoints[i].value) {
14
- return breakpoints[i].name
15
- }
16
- }
17
-
18
- // If width is greater than all breakpoints, return the last one
19
- return breakpoints[breakpoints.length - 1]?.name
20
- }
21
-
22
- export function useResponsiveValue(value) {
23
- const breakpoints = useBreakpoints()
24
- const width = useWindowWidth()
25
- const screen = useResponsiveScreen()
26
-
27
- if (!is(Object, value)) return value
28
-
29
- if (value[screen]) return value[screen]
30
-
31
- const keys = Object.keys(value)
32
- for (let k of keys) {
33
- const match = k.match(/^(\w+)([du])$/)
34
- if (!match) continue
35
-
36
- const bpName = match[1]
37
- const mode = match[2]
38
-
39
- const bpIndex = breakpoints.findIndex((b) => b.name === bpName)
40
- if (bpIndex === -1) continue
41
-
42
- // For "up", use the lower boundary of the range (previous breakpoint value)
43
- // For "down", use the upper boundary of the range (current breakpoint value)
44
- if (mode === 'u') {
45
- const lowerBound = bpIndex > 0 ? breakpoints[bpIndex - 1].value : 0
46
- if (width >= lowerBound) return value[k]
47
- }
48
- if (mode === 'd') {
49
- if (width < breakpoints[bpIndex].value) return value[k]
50
- }
51
- }
52
-
53
- return value?.df
54
- }