@neovici/cosmoz-omnitable 14.14.3 → 14.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/dist/cosmoz-omnitable-column-amount.d.ts +2 -0
  2. package/dist/cosmoz-omnitable-column-amount.d.ts.map +1 -0
  3. package/dist/cosmoz-omnitable-column-amount.js +113 -0
  4. package/dist/cosmoz-omnitable-column-autocomplete.d.ts +6 -0
  5. package/dist/cosmoz-omnitable-column-autocomplete.d.ts.map +1 -0
  6. package/dist/cosmoz-omnitable-column-autocomplete.js +87 -0
  7. package/dist/cosmoz-omnitable-column-boolean.d.ts +17 -0
  8. package/dist/cosmoz-omnitable-column-boolean.d.ts.map +1 -0
  9. package/dist/cosmoz-omnitable-column-boolean.js +105 -0
  10. package/dist/cosmoz-omnitable-column-date.d.ts +2 -0
  11. package/dist/cosmoz-omnitable-column-date.d.ts.map +1 -0
  12. package/dist/cosmoz-omnitable-column-date.js +97 -0
  13. package/dist/cosmoz-omnitable-column-datetime.d.ts +2 -0
  14. package/dist/cosmoz-omnitable-column-datetime.d.ts.map +1 -0
  15. package/dist/cosmoz-omnitable-column-datetime.js +106 -0
  16. package/dist/cosmoz-omnitable-column-list-data.d.ts +2 -0
  17. package/dist/cosmoz-omnitable-column-list-data.d.ts.map +1 -0
  18. package/dist/cosmoz-omnitable-column-list-data.js +123 -0
  19. package/dist/cosmoz-omnitable-column-list-horizontal.d.ts +2 -0
  20. package/dist/cosmoz-omnitable-column-list-horizontal.d.ts.map +1 -0
  21. package/{cosmoz-omnitable-column-list-horizontal.js → dist/cosmoz-omnitable-column-list-horizontal.js} +15 -37
  22. package/dist/cosmoz-omnitable-column-list-mixin.d.ts +59 -0
  23. package/dist/cosmoz-omnitable-column-list-mixin.d.ts.map +1 -0
  24. package/dist/cosmoz-omnitable-column-list-mixin.js +139 -0
  25. package/dist/cosmoz-omnitable-column-list.d.ts +2 -0
  26. package/dist/cosmoz-omnitable-column-list.d.ts.map +1 -0
  27. package/{cosmoz-omnitable-column-list.js → dist/cosmoz-omnitable-column-list.js} +28 -47
  28. package/dist/cosmoz-omnitable-column-mixin.d.ts +161 -0
  29. package/dist/cosmoz-omnitable-column-mixin.d.ts.map +1 -0
  30. package/dist/cosmoz-omnitable-column-mixin.js +121 -0
  31. package/dist/cosmoz-omnitable-column-number.d.ts +2 -0
  32. package/dist/cosmoz-omnitable-column-number.d.ts.map +1 -0
  33. package/dist/cosmoz-omnitable-column-number.js +112 -0
  34. package/dist/cosmoz-omnitable-column-time.d.ts +2 -0
  35. package/dist/cosmoz-omnitable-column-time.d.ts.map +1 -0
  36. package/dist/cosmoz-omnitable-column-time.js +102 -0
  37. package/dist/cosmoz-omnitable-column.d.ts +2 -0
  38. package/dist/cosmoz-omnitable-column.d.ts.map +1 -0
  39. package/dist/cosmoz-omnitable-column.js +75 -0
  40. package/dist/cosmoz-omnitable-columns.d.ts +2 -0
  41. package/dist/cosmoz-omnitable-columns.d.ts.map +1 -0
  42. package/{cosmoz-omnitable-columns.js → dist/cosmoz-omnitable-columns.js} +1 -0
  43. package/dist/cosmoz-omnitable-group-row.d.ts +2 -0
  44. package/dist/cosmoz-omnitable-group-row.d.ts.map +1 -0
  45. package/dist/cosmoz-omnitable-group-row.js +15 -0
  46. package/dist/cosmoz-omnitable-header-row.d.ts +2 -0
  47. package/dist/cosmoz-omnitable-header-row.d.ts.map +1 -0
  48. package/{cosmoz-omnitable-header-row.js → dist/cosmoz-omnitable-header-row.js} +12 -45
  49. package/dist/cosmoz-omnitable-item-expand-line.d.ts +2 -0
  50. package/dist/cosmoz-omnitable-item-expand-line.d.ts.map +1 -0
  51. package/{cosmoz-omnitable-item-expand-line.js → dist/cosmoz-omnitable-item-expand-line.js} +4 -9
  52. package/dist/cosmoz-omnitable-item-expand.d.ts +2 -0
  53. package/dist/cosmoz-omnitable-item-expand.d.ts.map +1 -0
  54. package/{cosmoz-omnitable-item-expand.js → dist/cosmoz-omnitable-item-expand.js} +10 -18
  55. package/dist/cosmoz-omnitable-item-row.d.ts +2 -0
  56. package/dist/cosmoz-omnitable-item-row.d.ts.map +1 -0
  57. package/dist/cosmoz-omnitable-item-row.js +19 -0
  58. package/dist/cosmoz-omnitable-skeleton.d.ts +2 -0
  59. package/dist/cosmoz-omnitable-skeleton.d.ts.map +1 -0
  60. package/{cosmoz-omnitable-skeleton.js → dist/cosmoz-omnitable-skeleton.js} +9 -25
  61. package/dist/cosmoz-omnitable-styles.d.ts +4 -0
  62. package/dist/cosmoz-omnitable-styles.d.ts.map +1 -0
  63. package/{cosmoz-omnitable-styles.js → dist/cosmoz-omnitable-styles.js} +3 -4
  64. package/dist/cosmoz-omnitable.d.ts +3 -0
  65. package/dist/cosmoz-omnitable.d.ts.map +1 -0
  66. package/{cosmoz-omnitable.js → dist/cosmoz-omnitable.js} +27 -40
  67. package/dist/grouped-list/cosmoz-grouped-list-row.d.ts +2 -0
  68. package/dist/grouped-list/cosmoz-grouped-list-row.d.ts.map +1 -0
  69. package/dist/grouped-list/cosmoz-grouped-list-row.js +31 -0
  70. package/dist/grouped-list/cosmoz-grouped-list.d.ts +2 -0
  71. package/dist/grouped-list/cosmoz-grouped-list.d.ts.map +1 -0
  72. package/dist/grouped-list/cosmoz-grouped-list.js +5 -0
  73. package/dist/grouped-list/index.d.ts +2 -0
  74. package/dist/grouped-list/index.d.ts.map +1 -0
  75. package/{grouped-list → dist/grouped-list}/index.js +1 -0
  76. package/dist/grouped-list/use-collapsible-items.d.ts +7 -0
  77. package/dist/grouped-list/use-collapsible-items.d.ts.map +1 -0
  78. package/dist/grouped-list/use-collapsible-items.js +27 -0
  79. package/dist/grouped-list/use-cosmoz-grouped-list.d.ts +15 -0
  80. package/dist/grouped-list/use-cosmoz-grouped-list.d.ts.map +1 -0
  81. package/dist/grouped-list/use-cosmoz-grouped-list.js +66 -0
  82. package/dist/grouped-list/use-selected-items.d.ts +19 -0
  83. package/dist/grouped-list/use-selected-items.d.ts.map +1 -0
  84. package/dist/grouped-list/use-selected-items.js +105 -0
  85. package/dist/grouped-list/use-weak-state.d.ts +6 -0
  86. package/dist/grouped-list/use-weak-state.d.ts.map +1 -0
  87. package/dist/grouped-list/use-weak-state.js +15 -0
  88. package/dist/grouped-list/utils.d.ts +11 -0
  89. package/dist/grouped-list/utils.d.ts.map +1 -0
  90. package/dist/grouped-list/utils.js +57 -0
  91. package/dist/lib/compute-layout.d.ts +3 -0
  92. package/dist/lib/compute-layout.d.ts.map +1 -0
  93. package/dist/lib/compute-layout.js +46 -0
  94. package/dist/lib/cosmoz-omnitable-amount-range-input.d.ts +2 -0
  95. package/dist/lib/cosmoz-omnitable-amount-range-input.d.ts.map +1 -0
  96. package/dist/lib/cosmoz-omnitable-amount-range-input.js +304 -0
  97. package/dist/lib/cosmoz-omnitable-date-input-mixin.d.ts +2 -0
  98. package/dist/lib/cosmoz-omnitable-date-input-mixin.d.ts.map +1 -0
  99. package/dist/lib/cosmoz-omnitable-date-input-mixin.js +149 -0
  100. package/dist/lib/cosmoz-omnitable-date-range-input.d.ts +2 -0
  101. package/dist/lib/cosmoz-omnitable-date-range-input.d.ts.map +1 -0
  102. package/{lib → dist/lib}/cosmoz-omnitable-date-range-input.js +32 -41
  103. package/dist/lib/cosmoz-omnitable-datetime-range-input.d.ts +2 -0
  104. package/dist/lib/cosmoz-omnitable-datetime-range-input.d.ts.map +1 -0
  105. package/{lib → dist/lib}/cosmoz-omnitable-datetime-range-input.js +27 -38
  106. package/dist/lib/cosmoz-omnitable-number-range-input.d.ts +2 -0
  107. package/dist/lib/cosmoz-omnitable-number-range-input.d.ts.map +1 -0
  108. package/{lib → dist/lib}/cosmoz-omnitable-number-range-input.js +73 -83
  109. package/dist/lib/cosmoz-omnitable-range-input-mixin.d.ts +2 -0
  110. package/dist/lib/cosmoz-omnitable-range-input-mixin.d.ts.map +1 -0
  111. package/dist/lib/cosmoz-omnitable-range-input-mixin.js +337 -0
  112. package/dist/lib/cosmoz-omnitable-resize-nub.d.ts +2 -0
  113. package/dist/lib/cosmoz-omnitable-resize-nub.d.ts.map +1 -0
  114. package/dist/lib/cosmoz-omnitable-resize-nub.js +33 -0
  115. package/dist/lib/cosmoz-omnitable-time-range-input.d.ts +2 -0
  116. package/dist/lib/cosmoz-omnitable-time-range-input.d.ts.map +1 -0
  117. package/dist/lib/cosmoz-omnitable-time-range-input.js +125 -0
  118. package/dist/lib/generic-sorter.d.ts +2 -0
  119. package/dist/lib/generic-sorter.d.ts.map +1 -0
  120. package/dist/lib/generic-sorter.js +29 -0
  121. package/dist/lib/icons.d.ts +5 -0
  122. package/dist/lib/icons.d.ts.map +1 -0
  123. package/{lib → dist/lib}/icons.js +5 -8
  124. package/dist/lib/layout.d.ts +2 -0
  125. package/dist/lib/layout.d.ts.map +1 -0
  126. package/dist/lib/layout.js +41 -0
  127. package/dist/lib/polymer-haunted-render-mixin.d.ts +10 -0
  128. package/dist/lib/polymer-haunted-render-mixin.d.ts.map +1 -0
  129. package/dist/lib/polymer-haunted-render-mixin.js +16 -0
  130. package/dist/lib/render-footer.d.ts +9 -0
  131. package/dist/lib/render-footer.d.ts.map +1 -0
  132. package/{lib → dist/lib}/render-footer.js +4 -17
  133. package/dist/lib/render-header.d.ts +14 -0
  134. package/dist/lib/render-header.d.ts.map +1 -0
  135. package/{lib → dist/lib}/render-header.js +6 -27
  136. package/dist/lib/render-list.d.ts +2 -0
  137. package/dist/lib/render-list.d.ts.map +1 -0
  138. package/{lib → dist/lib}/render-list.js +12 -45
  139. package/dist/lib/save-as-csv-action.d.ts +2 -0
  140. package/dist/lib/save-as-csv-action.d.ts.map +1 -0
  141. package/dist/lib/save-as-csv-action.js +26 -0
  142. package/dist/lib/save-as-xlsx-action.d.ts +3 -0
  143. package/dist/lib/save-as-xlsx-action.d.ts.map +1 -0
  144. package/dist/lib/save-as-xlsx-action.js +18 -0
  145. package/dist/lib/settings/cosmoz-omnitable-settings.d.ts +2 -0
  146. package/dist/lib/settings/cosmoz-omnitable-settings.d.ts.map +1 -0
  147. package/{lib → dist/lib}/settings/cosmoz-omnitable-settings.js +27 -69
  148. package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts +14 -0
  149. package/dist/lib/settings/cosmoz-omnitable-sort-group.d.ts.map +1 -0
  150. package/dist/lib/settings/cosmoz-omnitable-sort-group.js +55 -0
  151. package/dist/lib/settings/drivers/context.d.ts +12 -0
  152. package/dist/lib/settings/drivers/context.d.ts.map +1 -0
  153. package/dist/lib/settings/drivers/context.js +11 -0
  154. package/dist/lib/settings/drivers/index.d.ts +4 -0
  155. package/dist/lib/settings/drivers/index.d.ts.map +1 -0
  156. package/{lib → dist/lib}/settings/drivers/index.js +1 -0
  157. package/dist/lib/settings/drivers/local.d.ts +8 -0
  158. package/dist/lib/settings/drivers/local.d.ts.map +1 -0
  159. package/dist/lib/settings/drivers/local.js +33 -0
  160. package/dist/lib/settings/drivers/remote.d.ts +8 -0
  161. package/dist/lib/settings/drivers/remote.d.ts.map +1 -0
  162. package/dist/lib/settings/drivers/remote.js +25 -0
  163. package/dist/lib/settings/index.d.ts +2 -0
  164. package/dist/lib/settings/index.d.ts.map +1 -0
  165. package/{lib → dist/lib}/settings/index.js +1 -1
  166. package/dist/lib/settings/normalize.d.ts +11 -0
  167. package/dist/lib/settings/normalize.d.ts.map +1 -0
  168. package/dist/lib/settings/normalize.js +47 -0
  169. package/dist/lib/settings/style.css.d.ts +4 -0
  170. package/dist/lib/settings/style.css.d.ts.map +1 -0
  171. package/{lib → dist/lib}/settings/style.css.js +3 -4
  172. package/dist/lib/settings/use-saved-settings.d.ts +9 -0
  173. package/dist/lib/settings/use-saved-settings.d.ts.map +1 -0
  174. package/dist/lib/settings/use-saved-settings.js +35 -0
  175. package/dist/lib/settings/use-settings-ui.d.ts +3 -0
  176. package/dist/lib/settings/use-settings-ui.d.ts.map +1 -0
  177. package/dist/lib/settings/use-settings-ui.js +78 -0
  178. package/dist/lib/settings/use-settings.d.ts +23 -0
  179. package/dist/lib/settings/use-settings.d.ts.map +1 -0
  180. package/dist/lib/settings/use-settings.js +26 -0
  181. package/dist/lib/use-canvas-width.d.ts +2 -0
  182. package/dist/lib/use-canvas-width.d.ts.map +1 -0
  183. package/dist/lib/use-canvas-width.js +8 -0
  184. package/dist/lib/use-dom-columns.d.ts +5 -0
  185. package/dist/lib/use-dom-columns.d.ts.map +1 -0
  186. package/dist/lib/use-dom-columns.js +127 -0
  187. package/dist/lib/use-fast-layout.d.ts +13 -0
  188. package/dist/lib/use-fast-layout.d.ts.map +1 -0
  189. package/dist/lib/use-fast-layout.js +47 -0
  190. package/dist/lib/use-footer.d.ts +10 -0
  191. package/dist/lib/use-footer.d.ts.map +1 -0
  192. package/dist/lib/use-footer.js +11 -0
  193. package/dist/lib/use-hash-state.d.ts +4 -0
  194. package/dist/lib/use-hash-state.d.ts.map +1 -0
  195. package/dist/lib/use-hash-state.js +32 -0
  196. package/dist/lib/use-header.d.ts +21 -0
  197. package/dist/lib/use-header.d.ts.map +1 -0
  198. package/dist/lib/use-header.js +38 -0
  199. package/dist/lib/use-layout.d.ts +7 -0
  200. package/dist/lib/use-layout.d.ts.map +1 -0
  201. package/dist/lib/use-layout.js +21 -0
  202. package/dist/lib/use-list.d.ts +31 -0
  203. package/dist/lib/use-list.d.ts.map +1 -0
  204. package/dist/lib/use-list.js +198 -0
  205. package/dist/lib/use-mini.d.ts +10 -0
  206. package/dist/lib/use-mini.d.ts.map +1 -0
  207. package/dist/lib/use-mini.js +19 -0
  208. package/dist/lib/use-omnitable.d.ts +37 -0
  209. package/dist/lib/use-omnitable.d.ts.map +1 -0
  210. package/dist/lib/use-omnitable.js +74 -0
  211. package/dist/lib/use-processed-items.d.ts +17 -0
  212. package/dist/lib/use-processed-items.d.ts.map +1 -0
  213. package/dist/lib/use-processed-items.js +151 -0
  214. package/dist/lib/use-public-interface.d.ts +7 -0
  215. package/dist/lib/use-public-interface.d.ts.map +1 -0
  216. package/dist/lib/use-public-interface.js +82 -0
  217. package/dist/lib/use-resizable-columns.d.ts +7 -0
  218. package/dist/lib/use-resizable-columns.d.ts.map +1 -0
  219. package/dist/lib/use-resizable-columns.js +38 -0
  220. package/dist/lib/use-sort-and-group-options.d.ts +26 -0
  221. package/dist/lib/use-sort-and-group-options.d.ts.map +1 -0
  222. package/dist/lib/use-sort-and-group-options.js +36 -0
  223. package/dist/lib/use-track-size.d.ts +2 -0
  224. package/dist/lib/use-track-size.d.ts.map +1 -0
  225. package/dist/lib/use-track-size.js +15 -0
  226. package/dist/lib/use-tween-array.d.ts +3 -0
  227. package/dist/lib/use-tween-array.d.ts.map +1 -0
  228. package/dist/lib/use-tween-array.js +50 -0
  229. package/dist/lib/utils-amount.d.ts +26 -0
  230. package/dist/lib/utils-amount.d.ts.map +1 -0
  231. package/dist/lib/utils-amount.js +99 -0
  232. package/dist/lib/utils-data.d.ts +8 -0
  233. package/dist/lib/utils-data.d.ts.map +1 -0
  234. package/dist/lib/utils-data.js +28 -0
  235. package/dist/lib/utils-date.d.ts +25 -0
  236. package/dist/lib/utils-date.d.ts.map +1 -0
  237. package/dist/lib/utils-date.js +161 -0
  238. package/dist/lib/utils-datetime.d.ts +16 -0
  239. package/dist/lib/utils-datetime.d.ts.map +1 -0
  240. package/dist/lib/utils-datetime.js +52 -0
  241. package/dist/lib/utils-number.d.ts +19 -0
  242. package/dist/lib/utils-number.d.ts.map +1 -0
  243. package/dist/lib/utils-number.js +87 -0
  244. package/dist/lib/utils-time.d.ts +17 -0
  245. package/dist/lib/utils-time.d.ts.map +1 -0
  246. package/dist/lib/utils-time.js +88 -0
  247. package/dist/lib/utils.d.ts +3 -0
  248. package/dist/lib/utils.d.ts.map +1 -0
  249. package/dist/lib/utils.js +14 -0
  250. package/dist/ui-helpers/cosmoz-clear-button.d.ts +2 -0
  251. package/dist/ui-helpers/cosmoz-clear-button.d.ts.map +1 -0
  252. package/{ui-helpers → dist/ui-helpers}/cosmoz-clear-button.js +3 -5
  253. package/package.json +38 -8
  254. package/cosmoz-omnitable-column-amount.js +0 -162
  255. package/cosmoz-omnitable-column-autocomplete.js +0 -113
  256. package/cosmoz-omnitable-column-boolean.js +0 -168
  257. package/cosmoz-omnitable-column-date.js +0 -133
  258. package/cosmoz-omnitable-column-datetime.js +0 -145
  259. package/cosmoz-omnitable-column-list-data.js +0 -141
  260. package/cosmoz-omnitable-column-list-mixin.js +0 -198
  261. package/cosmoz-omnitable-column-mixin.js +0 -149
  262. package/cosmoz-omnitable-column-number.js +0 -157
  263. package/cosmoz-omnitable-column-time.js +0 -137
  264. package/cosmoz-omnitable-column.js +0 -99
  265. package/cosmoz-omnitable-group-row.js +0 -20
  266. package/cosmoz-omnitable-item-row.js +0 -38
  267. package/grouped-list/cosmoz-grouped-list-row.js +0 -41
  268. package/grouped-list/cosmoz-grouped-list.js +0 -13
  269. package/grouped-list/use-collapsible-items.js +0 -32
  270. package/grouped-list/use-cosmoz-grouped-list.js +0 -102
  271. package/grouped-list/use-selected-items.js +0 -140
  272. package/grouped-list/use-weak-state.js +0 -21
  273. package/grouped-list/utils.js +0 -89
  274. package/lib/compute-layout.js +0 -74
  275. package/lib/cosmoz-omnitable-amount-range-input.js +0 -353
  276. package/lib/cosmoz-omnitable-date-input-mixin.js +0 -182
  277. package/lib/cosmoz-omnitable-range-input-mixin.js +0 -451
  278. package/lib/cosmoz-omnitable-resize-nub.js +0 -41
  279. package/lib/cosmoz-omnitable-time-range-input.js +0 -154
  280. package/lib/generic-sorter.js +0 -35
  281. package/lib/layout.js +0 -61
  282. package/lib/polymer-haunted-render-mixin.js +0 -19
  283. package/lib/save-as-csv-action.js +0 -36
  284. package/lib/save-as-xlsx-action.js +0 -27
  285. package/lib/settings/cosmoz-omnitable-sort-group.js +0 -74
  286. package/lib/settings/drivers/context.js +0 -16
  287. package/lib/settings/drivers/local.js +0 -29
  288. package/lib/settings/drivers/remote.js +0 -22
  289. package/lib/settings/normalize.js +0 -76
  290. package/lib/settings/use-saved-settings.js +0 -43
  291. package/lib/settings/use-settings-ui.js +0 -125
  292. package/lib/settings/use-settings.js +0 -53
  293. package/lib/use-canvas-width.js +0 -12
  294. package/lib/use-dom-columns.js +0 -166
  295. package/lib/use-fast-layout.js +0 -73
  296. package/lib/use-footer.js +0 -16
  297. package/lib/use-hash-state.js +0 -71
  298. package/lib/use-header.js +0 -71
  299. package/lib/use-layout.js +0 -32
  300. package/lib/use-list.js +0 -263
  301. package/lib/use-mini.js +0 -30
  302. package/lib/use-omnitable.js +0 -99
  303. package/lib/use-processed-items.js +0 -254
  304. package/lib/use-public-interface.js +0 -107
  305. package/lib/use-resizable-columns.js +0 -63
  306. package/lib/use-sort-and-group-options.js +0 -95
  307. package/lib/use-track-size.js +0 -23
  308. package/lib/use-tween-array.js +0 -60
  309. package/lib/utils-amount.js +0 -131
  310. package/lib/utils-data.js +0 -42
  311. package/lib/utils-date.js +0 -194
  312. package/lib/utils-datetime.js +0 -66
  313. package/lib/utils-number.js +0 -111
  314. package/lib/utils-time.js +0 -112
  315. package/lib/utils.js +0 -17
@@ -0,0 +1,37 @@
1
+ export function useOmnitable(host: any): {
2
+ header: {
3
+ allSelected: any;
4
+ onAllCheckboxChange: (event: any) => void;
5
+ data: any;
6
+ settingsConfig: any;
7
+ filters: any;
8
+ groupOnColumn: any;
9
+ sortAndGroup: any;
10
+ };
11
+ list: {
12
+ processedItems: any;
13
+ dataIsValid: any;
14
+ filterIsTooStrict: any;
15
+ loading: any;
16
+ compareItemsFn: any;
17
+ displayEmptyGroups: any;
18
+ error: any;
19
+ renderItem: (item: any, index: any, { selected, expanded, toggleCollapse }: {
20
+ selected: any;
21
+ expanded: any;
22
+ toggleCollapse: any;
23
+ }) => import("lit-html").TemplateResult<1>;
24
+ renderGroup: (item: any, index: any, { selected, folded, toggleFold }: {
25
+ selected: any;
26
+ folded: any;
27
+ toggleFold: any;
28
+ }) => import("lit-html").TemplateResult<1>;
29
+ };
30
+ footer: {
31
+ csvFilename: any;
32
+ xlsxFilename: any;
33
+ xlsxSheetname: any;
34
+ topPlacement: any;
35
+ };
36
+ };
37
+ //# sourceMappingURL=use-omnitable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-omnitable.d.ts","sourceRoot":"","sources":["../../src/lib/use-omnitable.js"],"names":[],"mappings":"AAUO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFN"}
@@ -0,0 +1,74 @@
1
+ import { useState } from '@pionjs/pion';
2
+ import { useSettings } from './settings';
3
+ import { useFastLayout } from './use-fast-layout';
4
+ import { useFooter } from './use-footer';
5
+ import { useHeader } from './use-header';
6
+ import { useList } from './use-list';
7
+ import { useProcessedItems } from './use-processed-items';
8
+ import { usePublicInterface } from './use-public-interface';
9
+ import { useSortAndGroupOptions } from './use-sort-and-group-options';
10
+ export const useOmnitable = (host) => {
11
+ const { hashParam, settingsId, data, resizeSpeedFactor, noLocal, noLocalSort = noLocal, noLocalFilter = noLocal, error, rowPartFn, } = host, settingS = useSettings({ settingsId, host }), { settings, setSettings, columns, resetRef } = settingS, sortAndGroupOptions = useSortAndGroupOptions(columns, hashParam, settings, setSettings, resetRef),
12
+ // TODO: drop filterFunctions
13
+ { processedItems, visibleData, filters, setFilterState, filterFunctions } = useProcessedItems({
14
+ data,
15
+ columns,
16
+ hashParam,
17
+ sortAndGroupOptions,
18
+ noLocalSort,
19
+ noLocalFilter,
20
+ }), { isMini, collapsedColumns, miniColumns } = useFastLayout({
21
+ host,
22
+ columns,
23
+ settings,
24
+ setSettings,
25
+ resizeSpeedFactor,
26
+ sortAndGroupOptions,
27
+ }), dataIsValid = data && Array.isArray(data) && data.length > 0, [selectedItems, setSelectedItems] = useState([]);
28
+ usePublicInterface({
29
+ host,
30
+ visibleData,
31
+ sortedFilteredGroupedItems: processedItems,
32
+ columns,
33
+ filters,
34
+ setFilterState,
35
+ selectedItems,
36
+ isMini,
37
+ ...sortAndGroupOptions,
38
+ });
39
+ return {
40
+ header: useHeader({
41
+ host,
42
+ selectedItems,
43
+ sortAndGroupOptions,
44
+ dataIsValid,
45
+ data,
46
+ columns,
47
+ filters,
48
+ collapsedColumns,
49
+ settings,
50
+ filterFunctions,
51
+ settingS,
52
+ setFilterState,
53
+ hideSelectAll: host.hideSelectAll === true,
54
+ }),
55
+ list: useList({
56
+ host,
57
+ error,
58
+ dataIsValid,
59
+ processedItems,
60
+ setSelectedItems,
61
+ columns,
62
+ collapsedColumns,
63
+ miniColumns,
64
+ sortAndGroupOptions,
65
+ rowPartFn,
66
+ }),
67
+ footer: useFooter({
68
+ host,
69
+ selectedItems,
70
+ columns,
71
+ }),
72
+ };
73
+ };
74
+ //# sourceMappingURL=use-omnitable.js.map
@@ -0,0 +1,17 @@
1
+ export function useProcessedItems({ data, columns, hashParam, sortAndGroupOptions, noLocalSort, noLocalFilter, }: {
2
+ data: any;
3
+ columns: any;
4
+ hashParam: any;
5
+ sortAndGroupOptions: any;
6
+ noLocalSort: any;
7
+ noLocalFilter: any;
8
+ }): {
9
+ processedItems: any;
10
+ visibleData: any[];
11
+ filters: any;
12
+ filterFunctions: {
13
+ [k: string]: any;
14
+ };
15
+ setFilterState: (name: any, state: any) => any;
16
+ };
17
+ //# sourceMappingURL=use-processed-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-processed-items.d.ts","sourceRoot":"","sources":["../../src/lib/use-processed-items.js"],"names":[],"mappings":"AA+BO;;;;;;;;;;;;;;;EA8NN"}
@@ -0,0 +1,151 @@
1
+ import { useCallback, useEffect, useMemo } from '@pionjs/pion';
2
+ import { invoke } from '@neovici/cosmoz-utils/function';
3
+ import { genericSorter } from './generic-sorter';
4
+ import { columnSymbol } from './use-dom-columns';
5
+ import { useHashState } from './use-hash-state';
6
+ import { indexSymbol } from './utils';
7
+ const sortBy = (valueFn, descending) => (a, b) => genericSorter(valueFn(a), valueFn(b)) * (descending ? -1 : 1), kebab = (input) => input.replace(/([a-z0-9])([A-Z])/gu, '$1-$2').toLowerCase(), notifyChanges = (column, changes) => {
8
+ if (!column || !changes) {
9
+ return;
10
+ }
11
+ Object.entries(changes).forEach(([key, value]) => {
12
+ column[columnSymbol].__ownChange = true;
13
+ column[columnSymbol][key] = value;
14
+ column[columnSymbol].__ownChange = false;
15
+ column[columnSymbol].dispatchEvent(new CustomEvent(`${kebab(key)}-changed`, {
16
+ bubbles: true,
17
+ detail: { value },
18
+ }));
19
+ });
20
+ }, assignIndex = (item, index) => Object.assign(item, { [indexSymbol]: index }), unparsed = Symbol('unparsed');
21
+ export const useProcessedItems = ({ data, columns, hashParam, sortAndGroupOptions, noLocalSort, noLocalFilter, }) => {
22
+ const { groupOnColumn, groupOnDescending, sortOnColumn, descending } = sortAndGroupOptions, write = useCallback(([filter, value]) => {
23
+ const column = columns.find(({ name }) => name === filter);
24
+ if (column == null) {
25
+ return [filter, undefined];
26
+ }
27
+ return [
28
+ filter,
29
+ value.filter && column.serializeFilter(column, value.filter),
30
+ ];
31
+ }, [columns]), read = useCallback(([filter, value]) => {
32
+ const column = columns.find(({ name }) => name === filter);
33
+ if (column == null) {
34
+ return [filter, { [unparsed]: value }];
35
+ }
36
+ const state = { filter: column.deserializeFilter(column, value) };
37
+ notifyChanges(column, state);
38
+ return [filter, state];
39
+ }, [columns]), [filters, setFilters] = useHashState({}, hashParam, {
40
+ multi: true,
41
+ suffix: '-filter--',
42
+ write,
43
+ read,
44
+ }),
45
+ // TODO: drop extra info from state
46
+ setFilterState = useCallback((name, state) => setFilters((filters) => {
47
+ const newState = invoke(state, filters[name]);
48
+ notifyChanges(columns.find((c) => c.name === name), newState);
49
+ return { ...filters, [name]: { ...filters[name], ...newState } };
50
+ }), [columns, setFilters]), filterValues = useMemo(() => Object.values(filters).map((f) => f.filter), [filters]), filterFunctions = useMemo(() => {
51
+ return Object.fromEntries(columns
52
+ .map((col) => [
53
+ col.name,
54
+ !col.noLocalFilter &&
55
+ col.getFilterFn(col, filters[col.name]?.filter),
56
+ ])
57
+ .filter(([, fn]) => !!fn));
58
+ }, [columns, ...filterValues]), filteredItems = useMemo(() => {
59
+ if (!Array.isArray(data) || data.length === 0) {
60
+ return [];
61
+ }
62
+ if (Object.entries(filterFunctions).length === 0 || noLocalFilter) {
63
+ return data.slice();
64
+ }
65
+ return data.filter((item) => Object.values(filterFunctions).every((filterFn) => filterFn(item)));
66
+ }, [data, filterFunctions, noLocalFilter]),
67
+ // todo: extract function
68
+ processedItems = useMemo(() => {
69
+ if (!noLocalSort &&
70
+ !groupOnColumn &&
71
+ sortOnColumn != null &&
72
+ sortOnColumn.sortOn != null) {
73
+ return filteredItems
74
+ .slice()
75
+ .sort(sortBy((a) => sortOnColumn.getComparableValue({ ...sortOnColumn, valuePath: sortOnColumn.sortOn }, a), descending));
76
+ }
77
+ if (groupOnColumn != null && groupOnColumn.groupOn != null) {
78
+ const groupedResults = filteredItems.reduce((acc, item) => {
79
+ const gval = groupOnColumn.getComparableValue({ ...groupOnColumn, valuePath: groupOnColumn.groupOn }, item);
80
+ if (gval === undefined) {
81
+ return acc;
82
+ }
83
+ let group = acc.find((g) => g.id === gval);
84
+ if (!group) {
85
+ group = { id: gval, name: gval, items: [item] };
86
+ return [...acc, group];
87
+ }
88
+ group.items.push(item);
89
+ return acc;
90
+ }, []);
91
+ groupedResults.sort(sortBy((a) => groupOnColumn.getComparableValue({ ...groupOnColumn, valuePath: groupOnColumn.groupOn }, a.items[0]), groupOnDescending));
92
+ if (!sortOnColumn || noLocalSort) {
93
+ return groupedResults;
94
+ }
95
+ return groupedResults
96
+ .filter((group) => Array.isArray(group.items))
97
+ .map((group) => {
98
+ group.items.sort(sortBy((a) => sortOnColumn.getComparableValue({ ...sortOnColumn, valuePath: sortOnColumn.sortOn }, a), descending));
99
+ return group;
100
+ });
101
+ }
102
+ return filteredItems;
103
+ }, [
104
+ filteredItems,
105
+ groupOnColumn,
106
+ groupOnDescending,
107
+ sortOnColumn,
108
+ descending,
109
+ noLocalSort,
110
+ ]), visibleData = useMemo(() => {
111
+ let index = 0, groupIndex = 0;
112
+ const result = [];
113
+ processedItems.forEach((item) => {
114
+ if (Array.isArray(item.items)) {
115
+ assignIndex(item, groupIndex++);
116
+ item.items.forEach((groupItem) => {
117
+ assignIndex(groupItem, index++);
118
+ result.push(groupItem);
119
+ });
120
+ return;
121
+ }
122
+ assignIndex(item, index++);
123
+ return result.push(item);
124
+ }, []);
125
+ return result;
126
+ }, [processedItems]);
127
+ // parse un-parsed filter values
128
+ // filters can be left un-parsed if a column was not defined when the URL is read
129
+ useEffect(() => {
130
+ setFilters((filters) => {
131
+ const hasUnparsedFilters = Object.values(filters).some((value) => value[unparsed] != null);
132
+ if (!hasUnparsedFilters) {
133
+ return filters;
134
+ }
135
+ return Object.fromEntries(Object.entries(filters).map(([name, value]) => {
136
+ if (value[unparsed] == null) {
137
+ return [name, value];
138
+ }
139
+ return read([name, value[unparsed]]);
140
+ }));
141
+ });
142
+ }, [read]);
143
+ return {
144
+ processedItems,
145
+ visibleData,
146
+ filters,
147
+ filterFunctions,
148
+ setFilterState,
149
+ };
150
+ };
151
+ //# sourceMappingURL=use-processed-items.js.map
@@ -0,0 +1,7 @@
1
+ export function usePublicInterface({ host, visibleData, filters, ...api }: {
2
+ [x: string]: any;
3
+ host: any;
4
+ visibleData: any;
5
+ filters: any;
6
+ }): void;
7
+ //# sourceMappingURL=use-public-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-public-interface.d.ts","sourceRoot":"","sources":["../../src/lib/use-public-interface.js"],"names":[],"mappings":"AAoEO;;;;;SAsCN"}
@@ -0,0 +1,82 @@
1
+ import { useImperativeApi } from '@neovici/cosmoz-utils/hooks/use-imperative-api';
2
+ import { useEffect, useMemo } from '@pionjs/pion';
3
+ import { useNotifyProperty } from '@neovici/cosmoz-utils/hooks/use-notify-property';
4
+ const mkNapi = (host) => {
5
+ const /**
6
+ * Helper method to remove an item from `data`.
7
+ * @param {Object} item Item to remove
8
+ * @return {Object} item removed
9
+ */ removeItem = (item) => {
10
+ const index = host.data.indexOf(item);
11
+ if (index < 0) {
12
+ return null;
13
+ }
14
+ const removed = host.data.splice(index, 1);
15
+ host.data = host.data.slice();
16
+ if (Array.isArray(removed) && removed.length > 0) {
17
+ return removed[0];
18
+ }
19
+ }, replaceItemAtIndex = (index, newItem) => {
20
+ host.data.splice(index, 1, newItem);
21
+ host.data = host.data.slice();
22
+ };
23
+ return {
24
+ removeItem,
25
+ removeItems(items) {
26
+ const removedItems = [];
27
+ for (let i = items.length - 1; i >= 0; i -= 1) {
28
+ const removed = host.removeItem(items[i]);
29
+ if (removed != null) {
30
+ removedItems.push(removed);
31
+ }
32
+ }
33
+ return removedItems;
34
+ },
35
+ replaceItemAtIndex,
36
+ replaceItem(oldItem, newItem) {
37
+ const itemIndex = host.data.indexOf(oldItem);
38
+ if (itemIndex > -1) {
39
+ return replaceItemAtIndex(itemIndex, newItem);
40
+ }
41
+ },
42
+ selectItem(item) {
43
+ host.shadowRoot.querySelector('#groupedList').select(item);
44
+ },
45
+ selectAll() {
46
+ host.shadowRoot.querySelector('#groupedList').selectAll();
47
+ },
48
+ deselectAll() {
49
+ host.shadowRoot.querySelector('#groupedList').deselectAll();
50
+ },
51
+ deselectItem(item) {
52
+ host.shadowRoot.querySelector('#groupedList').deselect(item);
53
+ },
54
+ isItemSelected(item) {
55
+ return host.shadowRoot.querySelector('#groupedList').isItemSelected(item);
56
+ },
57
+ };
58
+ };
59
+ export const usePublicInterface = ({ host, visibleData, filters, ...api }) => {
60
+ const { setFilterState } = api, napi = useMemo(() => mkNapi(host), []);
61
+ useImperativeApi(api, Object.values(api));
62
+ useImperativeApi(napi, Object.values(napi));
63
+ useEffect(() => {
64
+ const handler = (ev) => setFilterState(ev.detail.name, (state) => ({
65
+ ...state,
66
+ ...ev.detail.state,
67
+ }));
68
+ host.addEventListener('legacy-filter-changed', handler);
69
+ return () => host.removeEventListener('legacy-filter-changed', handler);
70
+ }, []);
71
+ useNotifyProperty('visibleData', visibleData);
72
+ useNotifyProperty('sortedFilteredGroupedItems', api.sortedFilteredGroupedItems);
73
+ useNotifyProperty('selectedItems', api.selectedItems);
74
+ useNotifyProperty('sortOn', api.sortOn);
75
+ useNotifyProperty('descending', api.descending);
76
+ useNotifyProperty('isMini', api.isMini);
77
+ const filterValues = useMemo(() => Object.fromEntries(Object.entries(filters)
78
+ .filter(([, { filter }]) => filter !== undefined)
79
+ .map(([key, { filter }]) => [key, filter])), [filters]);
80
+ useNotifyProperty('filters', filterValues, Object.values(filterValues));
81
+ };
82
+ //# sourceMappingURL=use-public-interface.js.map
@@ -0,0 +1,7 @@
1
+ export function useResizableColumns({ host, canvasWidth, layout, setSettings, }: {
2
+ host: any;
3
+ canvasWidth: any;
4
+ layout: any;
5
+ setSettings: any;
6
+ }): void;
7
+ //# sourceMappingURL=use-resizable-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-resizable-columns.d.ts","sourceRoot":"","sources":["../../src/lib/use-resizable-columns.js"],"names":[],"mappings":"AAEO;;;;;SA4DN"}
@@ -0,0 +1,38 @@
1
+ import { useEffect, useRef } from '@pionjs/pion';
2
+ export const useResizableColumns = ({ host, canvasWidth, layout, setSettings, }) => {
3
+ const onColumnResizeRef = useRef();
4
+ onColumnResizeRef.current = (ev) => setSettings((settings) => {
5
+ const config = settings.columns, { detail: { newWidth, column }, } = ev, columnIndex = config.findIndex((c) => c.name === column.name), newConfig = [], maxPriority = config.reduce((p, c) => Math.max(p, c.priority), -Infinity);
6
+ for (let i = 0; i < layout.length; i++) {
7
+ newConfig[i] = { ...config[i] };
8
+ // for visible columns to the left of the resized column
9
+ if (i < columnIndex && layout[i]) {
10
+ // save the current width
11
+ newConfig[i].width = layout[i];
12
+ // make them fixed width
13
+ newConfig[i].flex = 0;
14
+ // keep them visible
15
+ newConfig[i].priority = maxPriority;
16
+ }
17
+ // update the width of the resized column
18
+ if (i === columnIndex) {
19
+ const maxNewSize = layout.reduce((acc, cur, i) => {
20
+ if (i < columnIndex) {
21
+ return cur ? acc - cur : acc;
22
+ }
23
+ return acc;
24
+ }, canvasWidth);
25
+ newConfig[i].width = Math.min(maxNewSize, Math.max(newWidth, config[i].minWidth));
26
+ newConfig[i].flex = 0;
27
+ newConfig[i].priority = maxPriority;
28
+ }
29
+ }
30
+ return { ...settings, columns: newConfig };
31
+ });
32
+ useEffect(() => {
33
+ const handler = (ev) => onColumnResizeRef.current(ev);
34
+ host.addEventListener('column-resize', handler);
35
+ return () => host.removeEventListener('column-resize', handler);
36
+ }, []);
37
+ };
38
+ //# sourceMappingURL=use-resizable-columns.js.map
@@ -0,0 +1,26 @@
1
+ export function useSortAndGroupOptions(columns: any, hashParam: any, settings: any, setSettings: any, resetRef: any): {
2
+ sortAndGroup: {
3
+ groupOn: any;
4
+ setGroupOn: (value: any) => void;
5
+ groupOnDescending: any;
6
+ setGroupOnDescending: (value: any) => void;
7
+ sortOn: any;
8
+ setSortOn: (value: any) => void;
9
+ descending: any;
10
+ setDescending: (value: any) => void;
11
+ columns: any;
12
+ };
13
+ groupOnColumn: any;
14
+ sortOnColumn: any;
15
+ groupOn: any;
16
+ setGroupOn: (value: any) => void;
17
+ groupOnDescending: any;
18
+ setGroupOnDescending: (value: any) => void;
19
+ sortOn: any;
20
+ setSortOn: (value: any) => void;
21
+ descending: any;
22
+ setDescending: (value: any) => void;
23
+ columns: any;
24
+ };
25
+ export const SortAndGroupContext: import("@pionjs/pion/lib/create-context").Context<any>;
26
+ //# sourceMappingURL=use-sort-and-group-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sort-and-group-options.d.ts","sourceRoot":"","sources":["../../src/lib/use-sort-and-group-options.js"],"names":[],"mappings":"AAqBO;;;;;;;;;;;;;;;;;;;;;;;EAiE+B;AAArC,yFAAqC"}
@@ -0,0 +1,36 @@
1
+ import { useMemo, createContext, component, useContext, useCallback, useEffect, } from '@pionjs/pion';
2
+ import { useHashState } from './use-hash-state';
3
+ const parseBool = (bool) => [true, 'true', 1, 'yes', 'on'].includes(bool), boolParam = (p) => p === '' || (p == null ? undefined : parseBool(p)), useSettingsState = (setter, name, setSettings) => useCallback((value) => {
4
+ setter(value);
5
+ setSettings((s) => ({ ...s, [name]: value }));
6
+ }, [setter, name, setSettings]);
7
+ export const useSortAndGroupOptions = (columns, hashParam, settings, setSettings, resetRef) => {
8
+ const [sortOn, setSortOn] = useHashState(settings.sortOn, hashParam, {
9
+ suffix: '-sortOn',
10
+ }), [descending, setDescending] = useHashState(boolParam(settings.descending), hashParam, { suffix: '-descending', read: boolParam }), [groupOn, setGroupOn] = useHashState(settings.groupOn, hashParam, {
11
+ suffix: '-groupOn',
12
+ }), [groupOnDescending, setGroupOnDescending] = useHashState(boolParam(settings.groupOnDescending), hashParam, { suffix: '-groupOnDescending', read: boolParam }), sortOnColumn = useMemo(() => columns.find((column) => column.name === sortOn), [columns, sortOn]), groupOnColumn = useMemo(() => columns.find((column) => column.name === groupOn), [columns, groupOn]), sortAndGroup_ = {
13
+ groupOn,
14
+ setGroupOn: useSettingsState(setGroupOn, 'groupOn', setSettings),
15
+ groupOnDescending,
16
+ setGroupOnDescending: useSettingsState(setGroupOnDescending, 'groupOnDescending', setSettings),
17
+ sortOn,
18
+ setSortOn: useSettingsState(setSortOn, 'sortOn', setSettings),
19
+ descending,
20
+ setDescending: useSettingsState(setDescending, 'descending', setSettings),
21
+ columns,
22
+ }, sortAndGroup = useMemo(() => sortAndGroup_, Object.values(sortAndGroup_)), setSG = useCallback((c) => {
23
+ setSortOn(c.sortOn);
24
+ setGroupOn(c.groupOn);
25
+ setDescending(c.descending);
26
+ setGroupOnDescending(c.groupOnDescending);
27
+ }, []);
28
+ // eslint-disable-next-line no-void
29
+ useEffect(() => void (resetRef.current = setSG), []);
30
+ return { ...sortAndGroup, sortAndGroup, groupOnColumn, sortOnColumn };
31
+ }, SortAndGroupContext = createContext();
32
+ customElements.define('sort-and-group-provider', SortAndGroupContext.Provider);
33
+ customElements.define('sort-and-group-consumer', component(({ render }) => render(useContext(SortAndGroupContext)), {
34
+ useShadowDOM: false,
35
+ }));
36
+ //# sourceMappingURL=use-sort-and-group-options.js.map
@@ -0,0 +1,2 @@
1
+ export function useTrackSize(host: any, setCanvasWidth: any): void;
2
+ //# sourceMappingURL=use-track-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-track-size.d.ts","sourceRoot":"","sources":["../../src/lib/use-track-size.js"],"names":[],"mappings":"AAEO,mEAoBA"}
@@ -0,0 +1,15 @@
1
+ import { useEffect } from '@pionjs/pion';
2
+ export const useTrackSize = (host, setCanvasWidth) => useEffect(() => {
3
+ const onResize = ([entry]) => {
4
+ if (entry.contentRect?.width === 0) {
5
+ return;
6
+ }
7
+ requestAnimationFrame(() => setCanvasWidth(entry.contentRect?.width -
8
+ 20 /* scrollbar width */ -
9
+ 44 /* checkbox width */ -
10
+ 24 /* expand button width */));
11
+ }, observer = new ResizeObserver(onResize);
12
+ observer.observe(host);
13
+ return () => observer.unobserve(host);
14
+ }, []);
15
+ //# sourceMappingURL=use-track-size.js.map
@@ -0,0 +1,3 @@
1
+ export function isCloseEnough(a?: number, b?: number): boolean;
2
+ export function useTweenArray(target: any, speedFactor?: number, callback?: any): void;
3
+ //# sourceMappingURL=use-tween-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tween-array.d.ts","sourceRoot":"","sources":["../../src/lib/use-tween-array.js"],"names":[],"mappings":"AAoCO,+DAuBL;AAvBK,uFAuBL"}
@@ -0,0 +1,50 @@
1
+ import { useCallback, useEffect, useMemo } from '@pionjs/pion';
2
+ import { useMeta } from '@neovici/cosmoz-utils/hooks/use-meta';
3
+ import { noop } from '@neovici/cosmoz-utils/function';
4
+ const useAnimationLoop = (animate, trigger) => {
5
+ const animationLoop = useMemo(() => {
6
+ let running = false, af;
7
+ const animationLoop = () => {
8
+ if (!running)
9
+ return;
10
+ af = requestAnimationFrame(animationLoop);
11
+ const stop = animate();
12
+ if (stop)
13
+ running = false;
14
+ };
15
+ return {
16
+ start: () => {
17
+ running = true;
18
+ cancelAnimationFrame(af);
19
+ af = requestAnimationFrame(animationLoop);
20
+ },
21
+ stop: () => {
22
+ running = false;
23
+ cancelAnimationFrame(af);
24
+ },
25
+ };
26
+ }, []);
27
+ useEffect(() => {
28
+ animationLoop.start();
29
+ }, trigger);
30
+ useEffect(() => () => animationLoop.stop(), []);
31
+ };
32
+ export const isCloseEnough = (a = 0, b = 0) => Math.abs(a - b) < 0.1, useTweenArray = (target, speedFactor = 1.9, callback = noop) => {
33
+ const state = useMeta({ target }),
34
+ // [tween, setTween] = useState(target),
35
+ animate = useCallback(() => {
36
+ if (!state.tween)
37
+ state.tween = state.target;
38
+ if (state.target.every((t, idx) => state.tween[idx] === t)) {
39
+ callback(state.tween);
40
+ return true;
41
+ }
42
+ state.tween = state.target.map((t, idx) => isCloseEnough(state.tween[idx], t)
43
+ ? t
44
+ : (state.tween[idx] ?? 0) +
45
+ ((t ?? 0) - (state.tween[idx] ?? 0)) / speedFactor || 0);
46
+ callback(state.tween);
47
+ }, []);
48
+ useAnimationLoop(animate, [target]);
49
+ };
50
+ //# sourceMappingURL=use-tween-array.js.map
@@ -0,0 +1,26 @@
1
+ export function toAmount(rates: {} | undefined, value: any, limit: any, limitFunc: any): any;
2
+ export function getComparableValue({ valuePath, rates }: {
3
+ valuePath: any;
4
+ rates: any;
5
+ }, item: any): any;
6
+ export function applySingleFilter(column: any, filter: any): (item: any) => boolean;
7
+ export const formatters: {};
8
+ export function getFormatter(currency: any, locale: any): any;
9
+ export function renderValue(rates: any, value: any, locale: any): any;
10
+ export function getString({ valuePath, rates, locale }: {
11
+ valuePath: any;
12
+ rates: any;
13
+ locale: any;
14
+ }, item: any): any;
15
+ export function toHashString(value: any): any;
16
+ export function fromHashString(value: any): {
17
+ amount: any;
18
+ currency: any;
19
+ } | null | undefined;
20
+ export function getCurrency({ valuePath }: {
21
+ valuePath: any;
22
+ }, item: any): any;
23
+ export function getInputString({ valuePath }: {
24
+ valuePath: any;
25
+ }, item: any): any;
26
+ //# sourceMappingURL=utils-amount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-amount.d.ts","sourceRoot":"","sources":["../../src/lib/utils-amount.js"],"names":[],"mappings":"AAGO,6FA+HgE;AA/HhE;;;mBA+HgE;AA/HhE,8DAiEmC,SAAI,aA8DyB;AAlDtE,4BAAe;AA7ET,8DA+HgE;AA/HhE,sEA+HgE;AA/HhE;;;;mBA+HgE;AA/HhE,8CA+HgE;AA/HhE;;;qBA+HgE;AA/HhE;;mBA+HgE;AA/HhE;;mBA+HgE"}