@bpd-library/utilities 1.3.2 → 1.3.3

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 (307) hide show
  1. package/dist/geometry/geometry.d.ts +2 -1
  2. package/dist/geometry/geometry.js +5 -1
  3. package/dist/geometry/geometry.js.map +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/partition.d.ts +1 -0
  8. package/dist/partition.js +11 -0
  9. package/dist/partition.js.map +1 -0
  10. package/package.json +3 -3
  11. package/dist/api-utilities/compose-exclude-string.d.ts +0 -3
  12. package/dist/api-utilities/compose-exclude-string.js +0 -5
  13. package/dist/api-utilities/compose-exclude-string.js.map +0 -1
  14. package/dist/esm/api/http.js +0 -120
  15. package/dist/esm/api/http.js.map +0 -1
  16. package/dist/esm/api/index.js +0 -11
  17. package/dist/esm/api/index.js.map +0 -1
  18. package/dist/esm/api-utilities/compose-exclude-string.js +0 -6
  19. package/dist/esm/api-utilities/compose-exclude-string.js.map +0 -1
  20. package/dist/esm/api-utilities/decimal-range/merge-decimal-range.js +0 -13
  21. package/dist/esm/api-utilities/decimal-range/merge-decimal-range.js.map +0 -1
  22. package/dist/esm/api-utilities/decimal-range/merge-specification-range.js +0 -29
  23. package/dist/esm/api-utilities/decimal-range/merge-specification-range.js.map +0 -1
  24. package/dist/esm/api-utilities/district-status.js +0 -14
  25. package/dist/esm/api-utilities/district-status.js.map +0 -1
  26. package/dist/esm/api-utilities/find-filter.js +0 -41
  27. package/dist/esm/api-utilities/find-filter.js.map +0 -1
  28. package/dist/esm/api-utilities/get/coordinates.js +0 -31
  29. package/dist/esm/api-utilities/get/coordinates.js.map +0 -1
  30. package/dist/esm/api-utilities/get/layer-raster.js +0 -4
  31. package/dist/esm/api-utilities/get/layer-raster.js.map +0 -1
  32. package/dist/esm/api-utilities/show-mortgage-price.js +0 -11
  33. package/dist/esm/api-utilities/show-mortgage-price.js.map +0 -1
  34. package/dist/esm/api-utilities/show-price.js +0 -13
  35. package/dist/esm/api-utilities/show-price.js.map +0 -1
  36. package/dist/esm/constants/index.js +0 -7
  37. package/dist/esm/constants/index.js.map +0 -1
  38. package/dist/esm/date.js +0 -11
  39. package/dist/esm/date.js.map +0 -1
  40. package/dist/esm/debounce.js +0 -25
  41. package/dist/esm/debounce.js.map +0 -1
  42. package/dist/esm/dom/dom.js +0 -9
  43. package/dist/esm/dom/dom.js.map +0 -1
  44. package/dist/esm/environment.js +0 -27
  45. package/dist/esm/environment.js.map +0 -1
  46. package/dist/esm/extended-api-models/excluded-properties.js +0 -36
  47. package/dist/esm/extended-api-models/excluded-properties.js.map +0 -1
  48. package/dist/esm/extended-api-models/extended-area-projects.js +0 -12
  49. package/dist/esm/extended-api-models/extended-area-projects.js.map +0 -1
  50. package/dist/esm/extended-api-models/extended-area.js +0 -182
  51. package/dist/esm/extended-api-models/extended-area.js.map +0 -1
  52. package/dist/esm/extended-api-models/status/apartment-building-status.js +0 -60
  53. package/dist/esm/extended-api-models/status/apartment-building-status.js.map +0 -1
  54. package/dist/esm/extended-api-models/status/construction-number-status.js +0 -20
  55. package/dist/esm/extended-api-models/status/construction-number-status.js.map +0 -1
  56. package/dist/esm/extended-api-models/status/property-type-status.js +0 -60
  57. package/dist/esm/extended-api-models/status/property-type-status.js.map +0 -1
  58. package/dist/esm/extended-api-models/utilities/apartment-building-view.js +0 -5
  59. package/dist/esm/extended-api-models/utilities/apartment-building-view.js.map +0 -1
  60. package/dist/esm/extended-api-models/utilities/extended-model-price-range.js +0 -37
  61. package/dist/esm/extended-api-models/utilities/extended-model-price-range.js.map +0 -1
  62. package/dist/esm/extended-api-models/utilities/find-extended-object.js +0 -23
  63. package/dist/esm/extended-api-models/utilities/find-extended-object.js.map +0 -1
  64. package/dist/esm/extended-api-models/utilities/is-apartment.js +0 -14
  65. package/dist/esm/extended-api-models/utilities/is-apartment.js.map +0 -1
  66. package/dist/esm/function-is-true.js +0 -13
  67. package/dist/esm/function-is-true.js.map +0 -1
  68. package/dist/esm/generated/bpd-client.js +0 -53
  69. package/dist/esm/generated/bpd-client.js.map +0 -1
  70. package/dist/esm/geometry/country-bounding-box.js +0 -14
  71. package/dist/esm/geometry/country-bounding-box.js.map +0 -1
  72. package/dist/esm/geometry/geometry.js +0 -65
  73. package/dist/esm/geometry/geometry.js.map +0 -1
  74. package/dist/esm/hooks/use-click-outside.js +0 -34
  75. package/dist/esm/hooks/use-click-outside.js.map +0 -1
  76. package/dist/esm/hooks/use-form-changes.js +0 -30
  77. package/dist/esm/hooks/use-form-changes.js.map +0 -1
  78. package/dist/esm/hooks/use-history.js +0 -15
  79. package/dist/esm/hooks/use-history.js.map +0 -1
  80. package/dist/esm/hooks/use-keyboard-focus.js +0 -14
  81. package/dist/esm/hooks/use-keyboard-focus.js.map +0 -1
  82. package/dist/esm/hooks/use-lazy.js +0 -47
  83. package/dist/esm/hooks/use-lazy.js.map +0 -1
  84. package/dist/esm/hooks/use-map-storage.js +0 -16
  85. package/dist/esm/hooks/use-map-storage.js.map +0 -1
  86. package/dist/esm/hooks/use-scroll-position.js +0 -23
  87. package/dist/esm/hooks/use-scroll-position.js.map +0 -1
  88. package/dist/esm/hooks/use-scroll-to.js +0 -66
  89. package/dist/esm/hooks/use-scroll-to.js.map +0 -1
  90. package/dist/esm/hooks/use-stylesheet.js +0 -8
  91. package/dist/esm/hooks/use-stylesheet.js.map +0 -1
  92. package/dist/esm/hooks/use-url-params.js +0 -31
  93. package/dist/esm/hooks/use-url-params.js.map +0 -1
  94. package/dist/esm/index.js +0 -40
  95. package/dist/esm/index.js.map +0 -1
  96. package/dist/esm/is-touch.js +0 -32
  97. package/dist/esm/is-touch.js.map +0 -1
  98. package/dist/esm/media-query/breakpoints.js +0 -29
  99. package/dist/esm/media-query/breakpoints.js.map +0 -1
  100. package/dist/esm/media-query/media-query.js +0 -39
  101. package/dist/esm/media-query/media-query.js.map +0 -1
  102. package/dist/esm/media-query/utils/index.js +0 -35
  103. package/dist/esm/media-query/utils/index.js.map +0 -1
  104. package/dist/esm/raf-throttle.js +0 -24
  105. package/dist/esm/raf-throttle.js.map +0 -1
  106. package/dist/esm/throttle.js +0 -23
  107. package/dist/esm/throttle.js.map +0 -1
  108. package/dist/esm/to-currency.js +0 -26
  109. package/dist/esm/to-currency.js.map +0 -1
  110. package/dist/extended-api-models/excluded-properties.d.ts +0 -5
  111. package/dist/extended-api-models/excluded-properties.js +0 -35
  112. package/dist/extended-api-models/excluded-properties.js.map +0 -1
  113. package/dist/hooks/use-form-changes.d.ts +0 -12
  114. package/dist/hooks/use-form-changes.js +0 -27
  115. package/dist/hooks/use-form-changes.js.map +0 -1
  116. package/dist/hooks/use-stylesheet.d.ts +0 -1
  117. package/dist/hooks/use-stylesheet.js +0 -5
  118. package/dist/hooks/use-stylesheet.js.map +0 -1
  119. package/dist/lib/api/http.js +0 -117
  120. package/dist/lib/api/http.js.map +0 -1
  121. package/dist/lib/api/index.js +0 -8
  122. package/dist/lib/api/index.js.map +0 -1
  123. package/dist/lib/api-utilities/api-utilities.js +0 -9
  124. package/dist/lib/api-utilities/api-utilities.js.map +0 -1
  125. package/dist/lib/api-utilities/api-utilities.test.js +0 -122
  126. package/dist/lib/api-utilities/api-utilities.test.js.map +0 -1
  127. package/dist/lib/api-utilities/api-utilities.types.js +0 -1
  128. package/dist/lib/api-utilities/api-utilities.types.js.map +0 -1
  129. package/dist/lib/api-utilities/compose-exclude-string.js +0 -5
  130. package/dist/lib/api-utilities/compose-exclude-string.js.map +0 -1
  131. package/dist/lib/api-utilities/decimal-range/merge-decimal-range.js +0 -12
  132. package/dist/lib/api-utilities/decimal-range/merge-decimal-range.js.map +0 -1
  133. package/dist/lib/api-utilities/decimal-range/merge-specification-range.js +0 -27
  134. package/dist/lib/api-utilities/decimal-range/merge-specification-range.js.map +0 -1
  135. package/dist/lib/api-utilities/district-status.js +0 -13
  136. package/dist/lib/api-utilities/district-status.js.map +0 -1
  137. package/dist/lib/api-utilities/find-filter.js +0 -40
  138. package/dist/lib/api-utilities/find-filter.js.map +0 -1
  139. package/dist/lib/api-utilities/get/coordinates.js +0 -29
  140. package/dist/lib/api-utilities/get/coordinates.js.map +0 -1
  141. package/dist/lib/api-utilities/get/layer-raster.js +0 -3
  142. package/dist/lib/api-utilities/get/layer-raster.js.map +0 -1
  143. package/dist/lib/api-utilities/index.js +0 -2
  144. package/dist/lib/api-utilities/index.js.map +0 -1
  145. package/dist/lib/api-utilities/show-mortgage-price.js +0 -10
  146. package/dist/lib/api-utilities/show-mortgage-price.js.map +0 -1
  147. package/dist/lib/api-utilities/show-price.js +0 -12
  148. package/dist/lib/api-utilities/show-price.js.map +0 -1
  149. package/dist/lib/constants/index.js +0 -5
  150. package/dist/lib/constants/index.js.map +0 -1
  151. package/dist/lib/date.js +0 -10
  152. package/dist/lib/date.js.map +0 -1
  153. package/dist/lib/debounce.js +0 -23
  154. package/dist/lib/debounce.js.map +0 -1
  155. package/dist/lib/dom/dom.js +0 -7
  156. package/dist/lib/dom/dom.js.map +0 -1
  157. package/dist/lib/dom/index.js +0 -2
  158. package/dist/lib/dom/index.js.map +0 -1
  159. package/dist/lib/environment.js +0 -25
  160. package/dist/lib/environment.js.map +0 -1
  161. package/dist/lib/extended-api-models/excluded-properties.js +0 -35
  162. package/dist/lib/extended-api-models/excluded-properties.js.map +0 -1
  163. package/dist/lib/extended-api-models/extended-area-projects.js +0 -10
  164. package/dist/lib/extended-api-models/extended-area-projects.js.map +0 -1
  165. package/dist/lib/extended-api-models/extended-area.js +0 -179
  166. package/dist/lib/extended-api-models/extended-area.js.map +0 -1
  167. package/dist/lib/extended-api-models/index.js +0 -7
  168. package/dist/lib/extended-api-models/index.js.map +0 -1
  169. package/dist/lib/extended-api-models/status/apartment-building-status.js +0 -58
  170. package/dist/lib/extended-api-models/status/apartment-building-status.js.map +0 -1
  171. package/dist/lib/extended-api-models/status/construction-number-status.js +0 -19
  172. package/dist/lib/extended-api-models/status/construction-number-status.js.map +0 -1
  173. package/dist/lib/extended-api-models/status/property-type-status.js +0 -58
  174. package/dist/lib/extended-api-models/status/property-type-status.js.map +0 -1
  175. package/dist/lib/extended-api-models/utilities/apartment-building-view.js +0 -4
  176. package/dist/lib/extended-api-models/utilities/apartment-building-view.js.map +0 -1
  177. package/dist/lib/extended-api-models/utilities/extended-model-price-range.js +0 -35
  178. package/dist/lib/extended-api-models/utilities/extended-model-price-range.js.map +0 -1
  179. package/dist/lib/extended-api-models/utilities/find-extended-object.js +0 -21
  180. package/dist/lib/extended-api-models/utilities/find-extended-object.js.map +0 -1
  181. package/dist/lib/extended-api-models/utilities/is-apartment.js +0 -13
  182. package/dist/lib/extended-api-models/utilities/is-apartment.js.map +0 -1
  183. package/dist/lib/function-is-true.js +0 -11
  184. package/dist/lib/function-is-true.js.map +0 -1
  185. package/dist/lib/generated/bpd-client.js +0 -50
  186. package/dist/lib/generated/bpd-client.js.map +0 -1
  187. package/dist/lib/generated/index.js +0 -2
  188. package/dist/lib/generated/index.js.map +0 -1
  189. package/dist/lib/geometry/country-bounding-box.js +0 -12
  190. package/dist/lib/geometry/country-bounding-box.js.map +0 -1
  191. package/dist/lib/geometry/geometry.js +0 -64
  192. package/dist/lib/geometry/geometry.js.map +0 -1
  193. package/dist/lib/geometry/geometry.test.js +0 -87
  194. package/dist/lib/geometry/geometry.test.js.map +0 -1
  195. package/dist/lib/geometry/index.js +0 -3
  196. package/dist/lib/geometry/index.js.map +0 -1
  197. package/dist/lib/hooks/index.js +0 -11
  198. package/dist/lib/hooks/index.js.map +0 -1
  199. package/dist/lib/hooks/use-click-outside.js +0 -32
  200. package/dist/lib/hooks/use-click-outside.js.map +0 -1
  201. package/dist/lib/hooks/use-delegate-listen.js +0 -10
  202. package/dist/lib/hooks/use-delegate-listen.js.map +0 -1
  203. package/dist/lib/hooks/use-form-changes.js +0 -27
  204. package/dist/lib/hooks/use-form-changes.js.map +0 -1
  205. package/dist/lib/hooks/use-history.js +0 -13
  206. package/dist/lib/hooks/use-history.js.map +0 -1
  207. package/dist/lib/hooks/use-input.js +0 -28
  208. package/dist/lib/hooks/use-input.js.map +0 -1
  209. package/dist/lib/hooks/use-keyboard-focus.js +0 -11
  210. package/dist/lib/hooks/use-keyboard-focus.js.map +0 -1
  211. package/dist/lib/hooks/use-lazy.js +0 -44
  212. package/dist/lib/hooks/use-lazy.js.map +0 -1
  213. package/dist/lib/hooks/use-map-storage.js +0 -14
  214. package/dist/lib/hooks/use-map-storage.js.map +0 -1
  215. package/dist/lib/hooks/use-scroll-position.js +0 -20
  216. package/dist/lib/hooks/use-scroll-position.js.map +0 -1
  217. package/dist/lib/hooks/use-scroll-to.js +0 -64
  218. package/dist/lib/hooks/use-scroll-to.js.map +0 -1
  219. package/dist/lib/hooks/use-stylesheet.js +0 -5
  220. package/dist/lib/hooks/use-stylesheet.js.map +0 -1
  221. package/dist/lib/hooks/use-text.js +0 -16
  222. package/dist/lib/hooks/use-text.js.map +0 -1
  223. package/dist/lib/hooks/use-url-params.js +0 -28
  224. package/dist/lib/hooks/use-url-params.js.map +0 -1
  225. package/dist/lib/index.js +0 -18
  226. package/dist/lib/index.js.map +0 -1
  227. package/dist/lib/is-touch.js +0 -30
  228. package/dist/lib/is-touch.js.map +0 -1
  229. package/dist/lib/media-query/breakpoints.js +0 -27
  230. package/dist/lib/media-query/breakpoints.js.map +0 -1
  231. package/dist/lib/media-query/index.js +0 -2
  232. package/dist/lib/media-query/index.js.map +0 -1
  233. package/dist/lib/media-query/media-query.js +0 -36
  234. package/dist/lib/media-query/media-query.js.map +0 -1
  235. package/dist/lib/media-query/media-query.types.js +0 -1
  236. package/dist/lib/media-query/media-query.types.js.map +0 -1
  237. package/dist/lib/media-query/utils/index.js +0 -32
  238. package/dist/lib/media-query/utils/index.js.map +0 -1
  239. package/dist/lib/raf-throttle.js +0 -22
  240. package/dist/lib/raf-throttle.js.map +0 -1
  241. package/dist/lib/throttle.js +0 -22
  242. package/dist/lib/throttle.js.map +0 -1
  243. package/dist/lib/to-currency.js +0 -24
  244. package/dist/lib/to-currency.js.map +0 -1
  245. package/dist/types/api/http.d.ts +0 -47
  246. package/dist/types/api/index.d.ts +0 -2
  247. package/dist/types/api-utilities/api-utilities.d.ts +0 -8
  248. package/dist/types/api-utilities/api-utilities.test.d.ts +0 -1
  249. package/dist/types/api-utilities/api-utilities.types.d.ts +0 -46
  250. package/dist/types/api-utilities/compose-exclude-string.d.ts +0 -3
  251. package/dist/types/api-utilities/decimal-range/merge-decimal-range.d.ts +0 -3
  252. package/dist/types/api-utilities/decimal-range/merge-specification-range.d.ts +0 -13
  253. package/dist/types/api-utilities/district-status.d.ts +0 -3
  254. package/dist/types/api-utilities/find-filter.d.ts +0 -32
  255. package/dist/types/api-utilities/get/coordinates.d.ts +0 -6
  256. package/dist/types/api-utilities/get/layer-raster.d.ts +0 -3
  257. package/dist/types/api-utilities/index.d.ts +0 -1
  258. package/dist/types/api-utilities/show-mortgage-price.d.ts +0 -3
  259. package/dist/types/api-utilities/show-price.d.ts +0 -7
  260. package/dist/types/constants/index.d.ts +0 -4
  261. package/dist/types/date.d.ts +0 -3
  262. package/dist/types/debounce.d.ts +0 -5
  263. package/dist/types/dom/dom.d.ts +0 -6
  264. package/dist/types/dom/index.d.ts +0 -1
  265. package/dist/types/environment.d.ts +0 -9
  266. package/dist/types/extended-api-models/excluded-properties.d.ts +0 -5
  267. package/dist/types/extended-api-models/extended-area-projects.d.ts +0 -3
  268. package/dist/types/extended-api-models/extended-area.d.ts +0 -13
  269. package/dist/types/extended-api-models/index.d.ts +0 -6
  270. package/dist/types/extended-api-models/status/apartment-building-status.d.ts +0 -3
  271. package/dist/types/extended-api-models/status/construction-number-status.d.ts +0 -3
  272. package/dist/types/extended-api-models/status/property-type-status.d.ts +0 -4
  273. package/dist/types/extended-api-models/utilities/apartment-building-view.d.ts +0 -4
  274. package/dist/types/extended-api-models/utilities/extended-model-price-range.d.ts +0 -4
  275. package/dist/types/extended-api-models/utilities/find-extended-object.d.ts +0 -4
  276. package/dist/types/extended-api-models/utilities/is-apartment.d.ts +0 -11
  277. package/dist/types/function-is-true.d.ts +0 -1
  278. package/dist/types/generated/bpd-client.d.ts +0 -808
  279. package/dist/types/generated/index.d.ts +0 -1
  280. package/dist/types/geometry/country-bounding-box.d.ts +0 -6
  281. package/dist/types/geometry/geometry.d.ts +0 -11
  282. package/dist/types/geometry/geometry.test.d.ts +0 -8
  283. package/dist/types/geometry/index.d.ts +0 -2
  284. package/dist/types/hooks/index.d.ts +0 -10
  285. package/dist/types/hooks/use-click-outside.d.ts +0 -6
  286. package/dist/types/hooks/use-delegate-listen.d.ts +0 -6
  287. package/dist/types/hooks/use-form-changes.d.ts +0 -12
  288. package/dist/types/hooks/use-history.d.ts +0 -4
  289. package/dist/types/hooks/use-input.d.ts +0 -41
  290. package/dist/types/hooks/use-keyboard-focus.d.ts +0 -6
  291. package/dist/types/hooks/use-lazy.d.ts +0 -21
  292. package/dist/types/hooks/use-map-storage.d.ts +0 -6
  293. package/dist/types/hooks/use-scroll-position.d.ts +0 -10
  294. package/dist/types/hooks/use-scroll-to.d.ts +0 -8
  295. package/dist/types/hooks/use-stylesheet.d.ts +0 -1
  296. package/dist/types/hooks/use-text.d.ts +0 -1
  297. package/dist/types/hooks/use-url-params.d.ts +0 -5
  298. package/dist/types/index.d.ts +0 -17
  299. package/dist/types/is-touch.d.ts +0 -8
  300. package/dist/types/media-query/breakpoints.d.ts +0 -26
  301. package/dist/types/media-query/index.d.ts +0 -1
  302. package/dist/types/media-query/media-query.d.ts +0 -13
  303. package/dist/types/media-query/media-query.types.d.ts +0 -14
  304. package/dist/types/media-query/utils/index.d.ts +0 -3
  305. package/dist/types/raf-throttle.d.ts +0 -4
  306. package/dist/types/throttle.d.ts +0 -2
  307. package/dist/types/to-currency.d.ts +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-scroll-position.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll-position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAoB9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,QAAqE,EACrE,SAAmB,EACrB,EAAE;IACA,MAAM,QAAQ,GAAG,MAAM,CAAiB,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtE,SAAS,iBAAiB;QACtB,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QAC9D,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;IACvC,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEhD,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAOF,SAAS,iBAAiB,CAAC,SAA8B;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEhD,OAAO,SAAS;QACZ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE;QAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;AAChD,CAAC","sourcesContent":["import { useListen, useRef } from '@atomify/hooks';\n\nimport { rafThrottle } from '../raf-throttle';\n\ntype ScrollPosition = { x: number; y: number };\nexport type ScrollCallback = {\n prevPosition: ScrollPosition;\n currentPosition: ScrollPosition;\n};\n\n/**\n * Hook that returns the browser viewport X and Y scroll position.\n * @param {({\n * currentPosition,\n * prevPosition,\n * }: {\n * prevPosition: ScrollPosition;\n * currentPosition: ScrollPosition;\n * }) => void} callback\n * @param {boolean} [useWindow]\n * @param {number} [wait]\n */\nexport const useScrollPosition = (\n callback: ({ currentPosition, prevPosition }: ScrollCallback) => void,\n useWindow?: boolean,\n) => {\n const position = useRef<ScrollPosition>(getScrollPosition(useWindow));\n\n function setScrollPosition() {\n const currentPosition = getScrollPosition(useWindow);\n callback({ prevPosition: position.current, currentPosition });\n position.current = currentPosition;\n }\n\n const throttle = rafThrottle(setScrollPosition);\n\n useListen(window, 'scroll', throttle);\n};\n\n/**\n * Returns the current scroll position\n * @param {(boolean | undefined)} useWindow\n * @returns\n */\nfunction getScrollPosition(useWindow: boolean | undefined) {\n const target = document.body;\n const position = target.getBoundingClientRect();\n\n return useWindow\n ? { x: window.scrollX, y: window.scrollY }\n : { x: position.left, y: position.top };\n}\n"]}
@@ -1,64 +0,0 @@
1
- const ST_DURATION = 500;
2
- const ST_OFFSET = 50;
3
- export const useScrollTo = (options = {}) => {
4
- function to(target) {
5
- const scrollConfig = {
6
- position: target.getBoundingClientRect(),
7
- offset: options.offset || ST_OFFSET,
8
- duration: options.duration || ST_DURATION,
9
- scrollElement: options.scrollElement || null,
10
- delay: options.delay || 0,
11
- };
12
- return scrollTo(scrollConfig);
13
- }
14
- return to;
15
- };
16
- function scrollTo({ position, offset, duration, scrollElement, delay, }) {
17
- return new Promise(resolve => {
18
- const scrollPosition = window.scrollY === undefined ? window.pageYOffset : window.scrollY;
19
- const to = parseInt((position.top + scrollPosition - offset).toFixed(0), 10);
20
- const start = scrollElement
21
- ? scrollElement.scrollTop
22
- : Math.max(document.body.scrollTop, document.documentElement.scrollTop);
23
- const change = to - start;
24
- let currentTime = 0;
25
- const increment = 10;
26
- const direction = to > start ? 1 : 0;
27
- let timeout;
28
- const animate = () => {
29
- currentTime += increment;
30
- const val = parseInt(easeInOutQuad(currentTime, start, change, duration).toFixed(0), 10);
31
- if (scrollElement) {
32
- scrollElement.scrollTop = val;
33
- }
34
- else {
35
- document.body.scrollTop = val;
36
- document.documentElement.scrollTop = val;
37
- }
38
- if ((val >= to && direction === 1) || (val <= to && direction === 0)) {
39
- resolve();
40
- }
41
- else {
42
- requestAnimationFrame(animate);
43
- }
44
- };
45
- if (delay > 0) {
46
- timeout = setTimeout(() => {
47
- animate();
48
- clearTimeout(timeout);
49
- }, delay);
50
- }
51
- else {
52
- animate();
53
- }
54
- });
55
- }
56
- function easeInOutQuad(t, b, c, d) {
57
- t /= d / 2;
58
- if (t < 1) {
59
- return (c / 2) * t * t + b;
60
- }
61
- t--;
62
- return (-c / 2) * (t * (t - 2) - 1) + b;
63
- }
64
- //# sourceMappingURL=use-scroll-to.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-scroll-to.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll-to.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,SAAS,GAAG,EAAE,CAAC;AASrB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAyB,EAAE,EAAE,EAAE;IACvD,SAAS,EAAE,CAAC,MAAmB;QAC3B,MAAM,YAAY,GAAG;YACjB,QAAQ,EAAE,MAAM,CAAC,qBAAqB,EAAE;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,WAAW;YACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YAC5C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;SAC5B,CAAC;QAEF,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAiBF,SAAS,QAAQ,CAAC,EACd,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,KAAK,GAOR;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1F,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,aAAa;YACvB,CAAC,CAAC,aAAa,CAAC,SAAS;YACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,OAAY,CAAC;QAEjB,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,WAAW,IAAI,SAAS,CAAC;YACzB,MAAM,GAAG,GAAG,QAAQ,CAChB,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9D,EAAE,CACL,CAAC;YAEF,IAAI,aAAa,EAAE;gBACf,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC;aACjC;iBAAM;gBACH,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC9B,QAAQ,CAAC,eAAe,CAAC,SAAS,GAAG,GAAG,CAAC;aAC5C;YAED,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBAClE,OAAO,EAAE,CAAC;aACb;iBAAM;gBACH,qBAAqB,CAAC,OAAO,CAAC,CAAC;aAClC;QACL,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,OAAO,EAAE,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC,EAAE,KAAK,CAAC,CAAC;SACb;aAAM;YACH,OAAO,EAAE,CAAC;SACb;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAC7D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACX,IAAI,CAAC,GAAG,CAAC,EAAE;QACP,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC9B;IACD,CAAC,EAAE,CAAC;IACJ,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC","sourcesContent":["const ST_DURATION = 500;\nconst ST_OFFSET = 50;\n\ninterface ScrollOptions {\n offset?: number;\n duration?: number;\n scrollElement?: HTMLElement;\n delay?: number;\n}\n\nexport const useScrollTo = (options: ScrollOptions = {}) => {\n function to(target: HTMLElement) {\n const scrollConfig = {\n position: target.getBoundingClientRect(),\n offset: options.offset || ST_OFFSET,\n duration: options.duration || ST_DURATION,\n scrollElement: options.scrollElement || null,\n delay: options.delay || 0,\n };\n\n return scrollTo(scrollConfig);\n }\n\n return to;\n};\n\n/**\n * Scrolls to an element\n * @param {({\n * position: DOMRect;\n * offset: number;\n * duration: number;\n * scrollElement: HTMLElement | null;\n * })} {\n * position,\n * offset,\n * duration,\n * scrollElement,\n * }\n * @returns\n */\nfunction scrollTo({\n position,\n offset,\n duration,\n scrollElement,\n delay,\n}: {\n position: DOMRect;\n offset: number;\n duration: number;\n scrollElement: HTMLElement | null;\n delay: number;\n}) {\n return new Promise(resolve => {\n const scrollPosition = window.scrollY === undefined ? window.pageYOffset : window.scrollY;\n const to = parseInt((position.top + scrollPosition - offset).toFixed(0), 10);\n const start = scrollElement\n ? scrollElement.scrollTop\n : Math.max(document.body.scrollTop, document.documentElement.scrollTop);\n const change = to - start;\n let currentTime = 0;\n const increment = 10;\n const direction = to > start ? 1 : 0;\n\n let timeout: any;\n\n const animate = () => {\n currentTime += increment;\n const val = parseInt(\n easeInOutQuad(currentTime, start, change, duration).toFixed(0),\n 10,\n );\n\n if (scrollElement) {\n scrollElement.scrollTop = val;\n } else {\n document.body.scrollTop = val;\n document.documentElement.scrollTop = val;\n }\n\n if ((val >= to && direction === 1) || (val <= to && direction === 0)) {\n resolve();\n } else {\n requestAnimationFrame(animate);\n }\n };\n\n if (delay > 0) {\n timeout = setTimeout(() => {\n animate();\n clearTimeout(timeout);\n }, delay);\n } else {\n animate();\n }\n });\n}\n\nfunction easeInOutQuad(t: number, b: number, c: number, d: number) {\n t /= d / 2;\n if (t < 1) {\n return (c / 2) * t * t + b;\n }\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n}\n"]}
@@ -1,5 +0,0 @@
1
- import { unsafeCSS, useStyles } from '@atomify/hooks';
2
- export function useStylesheet(style) {
3
- useStyles(() => unsafeCSS(style));
4
- }
5
- //# sourceMappingURL=use-stylesheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-stylesheet.js","sourceRoot":"","sources":["../../../src/hooks/use-stylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMtD,MAAM,UAAU,aAAa,CAAC,KAAa;IACvC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC","sourcesContent":["import { unsafeCSS, useStyles } from '@atomify/hooks';\n/**\n * Add styling through imported css files (Webpack)\n * @export\n * @param {string} style\n */\nexport function useStylesheet(style: string) {\n useStyles(() => unsafeCSS(style));\n}\n"]}
@@ -1,16 +0,0 @@
1
- export function useText(initialValue) {
2
- const text = new Text();
3
- Object.defineProperty(text, 'toString', {
4
- value() {
5
- return this.textContent;
6
- },
7
- });
8
- function setText(value) {
9
- text.textContent = value;
10
- }
11
- if (initialValue != null) {
12
- setText(initialValue);
13
- }
14
- return [text, setText];
15
- }
16
- //# sourceMappingURL=use-text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-text.js","sourceRoot":"","sources":["../../../src/hooks/use-text.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,YAAqB;IACzC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE;QACpC,KAAK;YACD,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;KACJ,CAAC,CAAC;IACH,SAAS,OAAO,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,IAAI,YAAY,IAAI,IAAI,EAAE;QACtB,OAAO,CAAC,YAAY,CAAC,CAAC;KACzB;IACD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAU,CAAC;AACpC,CAAC","sourcesContent":["export function useText(initialValue?: string) {\n const text = new Text();\n Object.defineProperty(text, 'toString', {\n value() {\n return this.textContent;\n },\n });\n function setText(value: string) {\n text.textContent = value;\n }\n if (initialValue != null) {\n setText(initialValue);\n }\n return [text, setText] as const;\n}\n"]}
@@ -1,28 +0,0 @@
1
- import QueryString from 'query-string';
2
- import { useHistory } from './use-history';
3
- export const useUrlParams = () => {
4
- function pushParams(param, value) {
5
- const { push } = useHistory();
6
- const url = window.location.href.split('?');
7
- const parsed = QueryString.parse(location.search);
8
- parsed[param] = value;
9
- const stringified = QueryString.stringify(parsed);
10
- const pageUrl = `${url[0]}?${stringified}`;
11
- push(pageUrl);
12
- }
13
- function getParams(param) {
14
- const parsed = QueryString.parse(location.search);
15
- return parsed[param];
16
- }
17
- function clearParams() {
18
- const { push } = useHistory();
19
- const url = window.location.href.split('?');
20
- push(url[0]);
21
- }
22
- return {
23
- push: pushParams,
24
- get: getParams,
25
- clear: clearParams,
26
- };
27
- };
28
- //# sourceMappingURL=use-url-params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-url-params.js","sourceRoot":"","sources":["../../../src/hooks/use-url-params.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa;QAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAEtB,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAElD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,WAAW;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,WAAW;KACrB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import QueryString from 'query-string';\n\nimport { useHistory } from './use-history';\n\nexport const useUrlParams = () => {\n function pushParams(param: string, value: string) {\n const { push } = useHistory();\n const url = window.location.href.split('?');\n\n const parsed = QueryString.parse(location.search);\n\n parsed[param] = value;\n\n const stringified = QueryString.stringify(parsed);\n const pageUrl = `${url[0]}?${stringified}`;\n\n push(pageUrl);\n }\n\n function getParams(param: string) {\n const parsed = QueryString.parse(location.search);\n\n return parsed[param];\n }\n\n function clearParams() {\n const { push } = useHistory();\n const url = window.location.href.split('?');\n\n push(url[0]);\n }\n\n return {\n push: pushParams,\n get: getParams,\n clear: clearParams,\n };\n};\n"]}
package/dist/lib/index.js DELETED
@@ -1,18 +0,0 @@
1
- export * from './api';
2
- export * from './generated';
3
- export * from './dom';
4
- export * from './hooks';
5
- export * from './constants';
6
- export * from './debounce';
7
- export * from './is-touch';
8
- export * from './environment';
9
- export * from './raf-throttle';
10
- export * from './media-query';
11
- export * from './function-is-true';
12
- export * from './api-utilities';
13
- export * from './geometry';
14
- export * from './date';
15
- export * from './to-currency';
16
- export * from './extended-api-models';
17
- export * from './throttle';
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC","sourcesContent":["// Export all utilties\nexport * from './api';\nexport * from './generated';\nexport * from './dom';\nexport * from './hooks';\nexport * from './constants';\nexport * from './debounce';\nexport * from './is-touch';\nexport * from './environment';\nexport * from './raf-throttle';\nexport * from './media-query';\nexport * from './function-is-true';\nexport * from './api-utilities';\nexport * from './geometry';\nexport * from './date';\nexport * from './to-currency';\nexport * from './extended-api-models';\nexport * from './throttle';\n"]}
@@ -1,30 +0,0 @@
1
- const IS_TOUCH = 'is-touch';
2
- const WITH_MOUSE = `${IS_TOUCH}--with-mouse`;
3
- const html = document.documentElement;
4
- export class DetectTouch {
5
- constructor() {
6
- this.hasMouse = false;
7
- this.touch =
8
- 'ontouchstart' in html ||
9
- navigator.maxTouchPoints > 0 ||
10
- navigator.msMaxTouchPoints > 0;
11
- html.addEventListener('touchstart', () => {
12
- html.removeEventListener('mousemove', () => this.handleMouseEvent());
13
- });
14
- html.addEventListener('mousemove', () => this.handleMouseEvent());
15
- if (this.touch) {
16
- html.classList.add(IS_TOUCH);
17
- }
18
- }
19
- get isTouchDevice() {
20
- return this.touch;
21
- }
22
- handleMouseEvent() {
23
- if (!this.hasMouse && html.classList.contains(IS_TOUCH)) {
24
- html.classList.add(WITH_MOUSE);
25
- this.hasMouse = true;
26
- }
27
- }
28
- }
29
- export const detectTouch = new DetectTouch();
30
- //# sourceMappingURL=is-touch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-touch.js","sourceRoot":"","sources":["../../src/is-touch.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,UAAU,GAAG,GAAG,QAAQ,cAAc,CAAC;AAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AAEtC,MAAM,OAAO,WAAW;IAQpB;QACI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK;YACN,cAAc,IAAI,IAAI;gBACtB,SAAS,CAAC,cAAc,GAAG,CAAC;gBAC5B,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChC;IACL,CAAC;IApBD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAoBD,gBAAgB;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;IACL,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC","sourcesContent":["const IS_TOUCH = 'is-touch';\nconst WITH_MOUSE = `${IS_TOUCH}--with-mouse`;\nconst html = document.documentElement;\n\nexport class DetectTouch {\n touch: boolean;\n hasMouse: boolean;\n\n get isTouchDevice() {\n return this.touch;\n }\n\n constructor() {\n this.hasMouse = false;\n this.touch =\n 'ontouchstart' in html ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0;\n\n html.addEventListener('touchstart', () => {\n html.removeEventListener('mousemove', () => this.handleMouseEvent());\n });\n\n html.addEventListener('mousemove', () => this.handleMouseEvent());\n\n if (this.touch) {\n html.classList.add(IS_TOUCH);\n }\n }\n\n handleMouseEvent() {\n if (!this.hasMouse && html.classList.contains(IS_TOUCH)) {\n html.classList.add(WITH_MOUSE);\n this.hasMouse = true;\n }\n }\n}\n\nexport const detectTouch = new DetectTouch();\n"]}
@@ -1,27 +0,0 @@
1
- export const breakpoints = {
2
- mobile: {
3
- size: 320,
4
- active: false,
5
- },
6
- mobilePlus: {
7
- size: 480,
8
- active: false,
9
- },
10
- tabletPortrait: {
11
- size: 768,
12
- active: false,
13
- },
14
- tabletLandscape: {
15
- size: 1024,
16
- active: false,
17
- },
18
- laptop: {
19
- size: 1260,
20
- active: false,
21
- },
22
- desktop: {
23
- size: 1600,
24
- active: false,
25
- },
26
- };
27
- //# sourceMappingURL=breakpoints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breakpoints.js","sourceRoot":"","sources":["../../../src/media-query/breakpoints.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,MAAM,EAAE;QACJ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KAChB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KAChB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KAChB;IACD,eAAe,EAAE;QACb,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KAChB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KAChB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KAChB;CACJ,CAAC","sourcesContent":["export const breakpoints = {\n mobile: {\n size: 320,\n active: false,\n },\n mobilePlus: {\n size: 480,\n active: false,\n },\n tabletPortrait: {\n size: 768,\n active: false,\n },\n tabletLandscape: {\n size: 1024,\n active: false,\n },\n laptop: {\n size: 1260,\n active: false,\n },\n desktop: {\n size: 1600,\n active: false,\n },\n};\n"]}
@@ -1,2 +0,0 @@
1
- export * from './media-query';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media-query/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './media-query';\n"]}
@@ -1,36 +0,0 @@
1
- import { breakpoints } from './breakpoints';
2
- import { getMediaQueries, getSizeFromBreakpoint } from './utils';
3
- const max = (breakpoint) => `(max-width: ${getSizeFromBreakpoint(breakpoint)}px)`;
4
- const min = (breakpoint) => `(min-width: ${getSizeFromBreakpoint(breakpoint)}px)`;
5
- export const mediaIsMatch = (breakpoint) => window.matchMedia(breakpoint).matches;
6
- export const deviceWidth = {
7
- isMobilePlusAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('mobilePlus')}`),
8
- isTabletPortraitAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('tabletPortrait')}`),
9
- };
10
- const mediaWatcher = (mediaQuery, layoutChangedCallback) => {
11
- const mediaQueryListener = window.matchMedia(mediaQuery);
12
- mediaQueryListener.addListener((e) => layoutChangedCallback(e.matches));
13
- layoutChangedCallback(mediaQueryListener.matches);
14
- };
15
- const getCurrentBreakpoint = () => getMediaQueries().reduce((previous, current) => window.matchMedia(current.query()).matches ? current.breakpoint : previous, undefined);
16
- const useMedia = (callback) => {
17
- const breakpointObject = getMediaQueries();
18
- breakpointObject
19
- .map((breakpoint) => {
20
- return {
21
- listener: window.matchMedia(breakpoint.query()),
22
- breakpoint: breakpoint.breakpoint,
23
- };
24
- })
25
- .forEach((breakpoint) => breakpoint.listener.addListener((e) => handleMediaListeners(e, breakpoint.breakpoint)));
26
- function handleMediaListeners(event, key) {
27
- if (!event.matches)
28
- return;
29
- Object.keys(breakpoints).forEach((item) => (breakpoints[item].active =
30
- item === key ? event.matches : !event.matches));
31
- callback(breakpoints);
32
- }
33
- callback(breakpoints);
34
- };
35
- export { breakpoints, min, max, useMedia, mediaWatcher, getCurrentBreakpoint };
36
- //# sourceMappingURL=media-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-query.js","sourceRoot":"","sources":["../../../src/media-query/media-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,GAAG,GAAuB,CAAC,UAAU,EAAE,EAAE,CAC3C,eAAe,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC;AAE1D,MAAM,GAAG,GAAuB,CAAC,UAAU,EAAE,EAAE,CAC3C,eAAe,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC;AAM1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;AAE1F,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,sBAAsB,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACjF,0BAA0B,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;CAC5F,CAAC;AAWF,MAAM,YAAY,GAAG,CACjB,UAAkB,EAClB,qBAA2D,EAC7D,EAAE;IACA,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzD,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,qBAAqB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC;AAMF,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAC9B,eAAe,EAAE,CAAC,MAAM,CACpB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAClB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAE,QAAgB,EACvF,SAAS,CACZ,CAAC;AAON,MAAM,QAAQ,GAAG,CAAC,QAA0B,EAAE,EAAE;IAC5C,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;IAE3C,gBAAgB;SACX,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAChB,OAAO;YACH,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC/C,UAAU,EAAE,UAAU,CAAC,UAAU;SACpC,CAAC;IACN,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACpB,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CACzF,CAAC;IAEN,SAAS,oBAAoB,CAAC,KAA0C,EAAE,GAAgB;QACtF,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAE3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAC5B,CAAC,IAAS,EAAE,EAAE,CACV,CAAC,WAAW,CAAC,IAAmB,CAAC,CAAC,MAAM;YACpC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACzD,CAAC;QAEF,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAe,CAAC","sourcesContent":["import { breakpoints } from './breakpoints';\nimport { BreakpointFunction, Breakpoints, UseMediaFunction } from './media-query.types';\nimport { getMediaQueries, getSizeFromBreakpoint } from './utils';\n\nconst max: BreakpointFunction = (breakpoint) =>\n `(max-width: ${getSizeFromBreakpoint(breakpoint)}px)`;\n\nconst min: BreakpointFunction = (breakpoint) =>\n `(min-width: ${getSizeFromBreakpoint(breakpoint)}px)`;\n\n/**\n * Check if the given breakpoint is a match\n * @param breakpoint { string }\n */\nexport const mediaIsMatch = (breakpoint: string) => window.matchMedia(breakpoint).matches;\n\nexport const deviceWidth = {\n isMobilePlusAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('mobilePlus')}`),\n isTabletPortraitAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('tabletPortrait')}`),\n};\n\n/**\n * Method that calls a callback everytime a media-query matches\n * mediaWatcher(`(min-width: 600px)`, (matches) => {\n * console.log(matches);\n * });\n * @function mediaWatcher\n * @param mediaQuery { string }\n * @param layoutChangedCallback { callback }\n */\nconst mediaWatcher = (\n mediaQuery: string,\n layoutChangedCallback: (mediaQueryMatches: boolean) => void,\n) => {\n const mediaQueryListener = window.matchMedia(mediaQuery);\n mediaQueryListener.addListener((e) => layoutChangedCallback(e.matches));\n layoutChangedCallback(mediaQueryListener.matches);\n};\n\n/**\n * Returns current active breakpoint\n * @function getCurrentBreakpoint\n */\nconst getCurrentBreakpoint = () =>\n getMediaQueries().reduce(\n (previous, current) =>\n window.matchMedia(current.query()).matches ? current.breakpoint : (previous as any),\n undefined,\n );\n\n/**\n * Returns the breakpoints object in the given callback\n * @function useMedia\n * @param callback returns @type Breakpoints\n */\nconst useMedia = (callback: UseMediaFunction) => {\n const breakpointObject = getMediaQueries();\n\n breakpointObject\n .map((breakpoint) => {\n return {\n listener: window.matchMedia(breakpoint.query()),\n breakpoint: breakpoint.breakpoint,\n };\n })\n .forEach((breakpoint) =>\n breakpoint.listener.addListener((e) => handleMediaListeners(e, breakpoint.breakpoint)),\n );\n\n function handleMediaListeners(event: { matches: boolean; media: string }, key: Breakpoints) {\n if (!event.matches) return;\n\n Object.keys(breakpoints).forEach(\n (item: any) =>\n (breakpoints[item as Breakpoints].active =\n item === key ? event.matches : !event.matches),\n );\n\n callback(breakpoints);\n }\n\n callback(breakpoints);\n};\n\nexport { breakpoints, min, max, useMedia, mediaWatcher, getCurrentBreakpoint, Breakpoints };\n"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=media-query.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-query.types.js","sourceRoot":"","sources":["../../../src/media-query/media-query.types.ts"],"names":[],"mappings":"","sourcesContent":["import { breakpoints } from './breakpoints';\n\nexport type Breakpoints = keyof typeof breakpoints;\nexport type BreakpointFunction = (breakpoint: Breakpoints) => string;\n\nexport type UseMediaFunction = (\n breakpoints: {\n [key in Breakpoints]: Breakpoint;\n },\n) => void;\n\nexport type MediaQuery = {\n breakpoint: Breakpoints;\n query: () => string;\n};\nexport interface Breakpoint {\n size: number;\n active: boolean;\n}\n"]}
@@ -1,32 +0,0 @@
1
- import { breakpoints } from '../breakpoints';
2
- export function getSizeFromBreakpoint(breakpointValue) {
3
- if (breakpoints[breakpointValue].size) {
4
- return breakpoints[breakpointValue].size;
5
- }
6
- else {
7
- console.error('No valid breakpoint or size specified for media.');
8
- return '0';
9
- }
10
- }
11
- export function getMediaQueries() {
12
- const breakpointMap = Object.keys(breakpoints);
13
- return breakpointMap.map((item, index) => {
14
- const breakpoint = breakpoints[item];
15
- const breakpointAbove = breakpoints[breakpointMap[index + 1]];
16
- return {
17
- breakpoint: item,
18
- query: () => {
19
- if (index === 0) {
20
- return `(max-width: ${breakpointAbove.size - 1}px)`;
21
- }
22
- else if (index === breakpointMap.length - 1) {
23
- return `(min-width: ${breakpoint.size}px)`;
24
- }
25
- else {
26
- return `(max-width: ${breakpointAbove.size - 1}px) and (min-width: ${breakpoint.size}px)`;
27
- }
28
- },
29
- };
30
- });
31
- }
32
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/media-query/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,UAAU,qBAAqB,CAAC,eAA4B;IAC9D,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;QACnC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;KAC5C;SAAM;QACH,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;KACd;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAmB,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAgB,CAAC,CAAC;QAE7E,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,GAAG,EAAE;gBACR,IAAI,KAAK,KAAK,CAAC,EAAE;oBACb,OAAO,eAAe,eAAe,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;iBACvD;qBAAM,IAAI,KAAK,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3C,OAAO,eAAe,UAAU,CAAC,IAAI,KAAK,CAAC;iBAC9C;qBAAM;oBACH,OAAO,eAAe,eAAe,CAAC,IAAI,GAAG,CAAC,uBAC1C,UAAU,CAAC,IACf,KAAK,CAAC;iBACT;YACL,CAAC;SACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { breakpoints } from '../breakpoints';\nimport { Breakpoints, MediaQuery } from '../media-query.types';\n\nexport function getSizeFromBreakpoint(breakpointValue: Breakpoints) {\n if (breakpoints[breakpointValue].size) {\n return breakpoints[breakpointValue].size;\n } else {\n console.error('No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n\nexport function getMediaQueries(): MediaQuery[] {\n const breakpointMap = Object.keys(breakpoints);\n\n return breakpointMap.map((item: any, index: number) => {\n const breakpoint = breakpoints[item as Breakpoints];\n const breakpointAbove = breakpoints[breakpointMap[index + 1] as Breakpoints];\n\n return {\n breakpoint: item,\n query: () => {\n if (index === 0) {\n return `(max-width: ${breakpointAbove.size - 1}px)`;\n } else if (index === breakpointMap.length - 1) {\n return `(min-width: ${breakpoint.size}px)`;\n } else {\n return `(max-width: ${breakpointAbove.size - 1}px) and (min-width: ${\n breakpoint.size\n }px)`;\n }\n },\n };\n });\n}\n"]}
@@ -1,22 +0,0 @@
1
- export const rafThrottle = (callback) => {
2
- let requestId = null;
3
- let lastArgs = null;
4
- const wrapperFunction = (...args) => {
5
- lastArgs = args;
6
- if (requestId) {
7
- return;
8
- }
9
- requestId = requestAnimationFrame(() => {
10
- requestId = null;
11
- callback(...lastArgs);
12
- });
13
- };
14
- wrapperFunction.cancel = () => {
15
- if (requestId !== null) {
16
- cancelAnimationFrame(requestId);
17
- requestId = null;
18
- }
19
- };
20
- return wrapperFunction;
21
- };
22
- //# sourceMappingURL=raf-throttle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"raf-throttle.js","sourceRoot":"","sources":["../../src/raf-throttle.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAkC,EAAE,EAAE;IAC9D,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,IAAI,QAAQ,GAAQ,IAAI,CAAC;IAEzB,MAAM,eAAe,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAEvC,QAAQ,GAAG,IAAI,CAAC;QAGhB,IAAI,SAAS,EAAE;YACX,OAAO;SACV;QAGD,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACnC,SAAS,GAAG,IAAI,CAAC;YACjB,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,KAAK,IAAI,EAAE;YACpB,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChC,SAAS,GAAG,IAAI,CAAC;SACpB;IACL,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["export const rafThrottle = (callback: (...args: any[]) => void) => {\n let requestId: null | number = null;\n\n let lastArgs: any = null;\n\n const wrapperFunction = (...args: any[]) => {\n // Always capture the latest value\n lastArgs = args;\n\n // There is already a frame queued\n if (requestId) {\n return;\n }\n\n // Schedule a new frame\n requestId = requestAnimationFrame(() => {\n requestId = null;\n callback(...lastArgs);\n });\n };\n\n wrapperFunction.cancel = () => {\n if (requestId !== null) {\n cancelAnimationFrame(requestId);\n requestId = null;\n }\n };\n\n return wrapperFunction;\n};\n"]}
@@ -1,22 +0,0 @@
1
- const throttle = (fn, wait = 300) => {
2
- let inThrottle, lastFn, lastTime;
3
- return function () {
4
- const context = this, args = arguments;
5
- if (!inThrottle) {
6
- fn.apply(context, args);
7
- lastTime = Date.now();
8
- inThrottle = true;
9
- }
10
- else {
11
- clearTimeout(lastFn);
12
- lastFn = setTimeout(() => {
13
- if (Date.now() - lastTime >= wait) {
14
- fn.apply(context, args);
15
- lastTime = Date.now();
16
- }
17
- }, Math.max(wait - (Date.now() - lastTime), 0));
18
- }
19
- };
20
- };
21
- export { throttle };
22
- //# sourceMappingURL=throttle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/throttle.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,CAAC,EAAY,EAAE,OAAe,GAAG,EAAE,EAAE;IAClD,IAAI,UAAmB,EAAE,MAAqC,EAAE,QAAgB,CAAC;IAEjF,OAAO;QAEH,MAAM,OAAO,GAAG,IAAI,EAEhB,IAAI,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE;YACb,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM;YACH,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBACrB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;oBAC/B,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACxB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;iBACzB;YACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACnD;IACL,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["const throttle = (fn: Function, wait: number = 300) => {\n let inThrottle: boolean, lastFn: ReturnType<typeof setTimeout>, lastTime: number;\n\n return function (this: any) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this,\n // eslint-disable-next-line prefer-rest-params\n args = arguments;\n if (!inThrottle) {\n fn.apply(context, args);\n lastTime = Date.now();\n inThrottle = true;\n } else {\n clearTimeout(lastFn);\n lastFn = setTimeout(() => {\n if (Date.now() - lastTime >= wait) {\n fn.apply(context, args);\n lastTime = Date.now();\n }\n }, Math.max(wait - (Date.now() - lastTime), 0));\n }\n };\n};\n\nexport { throttle };\n"]}
@@ -1,24 +0,0 @@
1
- export const round = (value, decimals) => Number(Math.round(value + 'e' + decimals) + 'e-' + decimals).toFixed(decimals);
2
- export const putThousandsSeparators = (value, sep) => {
3
- let transformedValue = null;
4
- if (sep == null) {
5
- sep = '.';
6
- }
7
- if (value.toString() === value.toLocaleString()) {
8
- const parts = value.toString().split(',');
9
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, sep);
10
- transformedValue = parts[1] ? parts.join(',') : parts[0];
11
- }
12
- else {
13
- transformedValue = value.toLocaleString();
14
- }
15
- return transformedValue;
16
- };
17
- export const toCurrency = (value, decimals = 2) => {
18
- let transformedValue = null;
19
- transformedValue = round(Number(value), decimals);
20
- transformedValue = `${value.toString().replace('.', ',')}`;
21
- transformedValue = putThousandsSeparators(value);
22
- return `€ ${transformedValue}`;
23
- };
24
- //# sourceMappingURL=to-currency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-currency.js","sourceRoot":"","sources":["../../src/to-currency.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,CACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,GAAW,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAsB,EAAE,GAAY,EAAE,EAAE;IAC3E,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACb,GAAG,GAAG,GAAG,CAAC;KACb;IAGD,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,cAAc,EAAE,EAAE;QAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAG1C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAG1D,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5D;SAAM;QACH,gBAAgB,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;KAC7C;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE;IACtD,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,gBAAgB,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3D,gBAAgB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAEjD,OAAO,KAAK,gBAAgB,EAAE,CAAC;AACnC,CAAC,CAAC","sourcesContent":["export const round = (value: number, decimals: number) =>\n Number(Math.round(value + ('e' as any) + decimals) + 'e-' + decimals).toFixed(decimals);\n\nexport const putThousandsSeparators = (value: number | string, sep?: string) => {\n let transformedValue = null;\n\n if (sep == null) {\n sep = '.';\n }\n\n // check if it needs formatting\n if (value.toString() === value.toLocaleString()) {\n // split decimals\n const parts = value.toString().split(',');\n\n // format whole numbers\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, sep);\n\n // put them back together\n transformedValue = parts[1] ? parts.join(',') : parts[0];\n } else {\n transformedValue = value.toLocaleString();\n }\n\n return transformedValue;\n};\n\nexport const toCurrency = (value: number, decimals = 2) => {\n let transformedValue = null;\n\n transformedValue = round(Number(value), decimals);\n transformedValue = `${value.toString().replace('.', ',')}`;\n transformedValue = putThousandsSeparators(value);\n\n return `€ ${transformedValue}`;\n};\n"]}
@@ -1,47 +0,0 @@
1
- export interface HttpErrorInput {
2
- message: string;
3
- statusCode: number;
4
- response?: Response;
5
- body?: any;
6
- }
7
- export declare class HttpError extends Error {
8
- statusCode: number;
9
- response?: Response;
10
- body?: any;
11
- constructor(input: HttpErrorInput);
12
- }
13
- export declare type AbortFunction = () => void;
14
- declare type RequestFn = <T = any, I = any>(url: string, data: I, config?: RequestConfig) => Promise<T>;
15
- declare type RequestGetFn = <T = any, I = any>(url: string, data?: I, config?: RequestConfig) => Promise<T>;
16
- declare type BeforeHook = (client: HttpClient) => Promise<void> | void;
17
- declare type ErrorHook = <T = any>(err: HttpError, request: () => Promise<T>) => any;
18
- declare type HttpClientInit = RequestInit & {
19
- baseUrl?: string;
20
- returnType?: 'json' | 'text' | 'blob';
21
- beforeHook?: BeforeHook;
22
- onError?: ErrorHook;
23
- };
24
- export declare type RequestConfig = HttpClientInit & {
25
- createAbort?: (abortFunction: AbortFunction) => void;
26
- };
27
- export declare class HttpClient {
28
- private defaultConfig;
29
- private config;
30
- private token;
31
- constructor(config?: HttpClientInit);
32
- private createRequest;
33
- get: RequestGetFn;
34
- post: RequestFn;
35
- put: RequestFn;
36
- patch: RequestFn;
37
- delete: RequestFn;
38
- setToken: (token: string | undefined) => string | undefined;
39
- private setAuthenticationHeaders;
40
- private setAbortController;
41
- request<T>(url: string | URL, requestConfig?: RequestConfig): Promise<T>;
42
- private handleSuccess;
43
- private onError;
44
- private createBody;
45
- private handleError;
46
- }
47
- export {};
@@ -1,2 +0,0 @@
1
- import { HttpClient } from './http';
2
- export declare const APIClient: HttpClient;
@@ -1,8 +0,0 @@
1
- export * from './api-utilities.types';
2
- export * from './district-status';
3
- export * from './find-filter';
4
- export * from './show-price';
5
- export * from './get/coordinates';
6
- export * from './get/layer-raster';
7
- export * from './decimal-range/merge-decimal-range';
8
- export * from './decimal-range/merge-specification-range';
@@ -1 +0,0 @@
1
- export {};
@@ -1,46 +0,0 @@
1
- import { MapDataItem } from '@bpd-library/types';
2
- import { ApartmentBuildingModel, AreaProjectModel, ConstructionNumberModel, DistrictModel, ProjectPhaseModel, ProjectPhaseStatus, PropertyTypeModel } from '../generated';
3
- declare type PropertyTypeStatus = 'InPreparation' | 'SaleSoon' | 'SaleStarted' | 'AssigningOn' | 'AmountAvailable' | 'InOption' | 'Sold' | 'UnderConstruction' | 'ForRent' | 'Rented';
4
- declare type ApartmentBuildingStatus = 'InPreparation' | 'SaleSoon' | 'SaleStarted' | 'AssigningOn' | 'AmountAvailable' | 'Available' | 'ForRent' | 'InOption' | 'Sold' | 'Rented' | 'UnderConstruction';
5
- declare type GeneratedConstructionNumberStatus = 'InPreparation' | 'InOption' | 'Available' | 'Sold' | 'Rented' | 'UnderConstruction';
6
- interface ExtendedConstructionNumber extends Omit<ConstructionNumberModel, 'shortDescription' | 'longDescription' | 'resources' | 'gardens' | 'outbuildings' | 'groundLease' | 'floors' | 'outsideSpace' | 'extraSpecifications' | 'landRegistration'> {
7
- areaProject?: AreaProjectModel;
8
- propertyType?: ExtendedPropertyType;
9
- projectPhase?: ExtendedProjectPhase;
10
- mapDataItems?: MapDataItem[];
11
- apartmentBuilding?: ExtendedApartmentBuilding;
12
- status?: GeneratedConstructionNumberStatus;
13
- objectType: 'constructionNumber';
14
- }
15
- interface ExtendedPropertyType extends Omit<PropertyTypeModel, 'shortDescription' | 'longDescription' | 'environmentTypes' | 'groundLease' | 'resources' | 'constructionStartDate' | 'indicationServiceCosts' | 'indicationSecurity' | 'floors' | 'gardens' | 'outbuildings' | 'usp1Title' | 'usp1Text' | 'usp2Title' | 'usp2Text'> {
16
- constructionNumbers?: ExtendedConstructionNumber[];
17
- projectPhase?: ExtendedProjectPhase;
18
- mapDataItems?: MapDataItem[];
19
- status?: PropertyTypeStatus;
20
- apartmentBuildings?: ExtendedApartmentBuilding[];
21
- objectType: 'propertyType';
22
- }
23
- interface ExtendedProjectPhase extends Omit<ProjectPhaseModel, 'longDescription' | 'resources'> {
24
- constructionNumbers?: ExtendedConstructionNumber[];
25
- propertyTypes?: ExtendedPropertyType[];
26
- mapDataItems?: MapDataItem[];
27
- objectType: 'projectPhase';
28
- }
29
- interface ExtendedApartmentBuilding extends ApartmentBuildingModel {
30
- constructionNumbers?: ExtendedConstructionNumber[];
31
- propertyTypes?: ExtendedPropertyType[];
32
- projectPhase?: ExtendedProjectPhase;
33
- mapDataItems?: MapDataItem[];
34
- status?: ApartmentBuildingStatus;
35
- objectType: 'apartmentBuilding';
36
- }
37
- interface ExtendedDistrict extends DistrictModel {
38
- status?: ProjectPhaseStatus;
39
- mapDataItems?: MapDataItem[];
40
- objectType: 'district';
41
- }
42
- interface ExtendedAreaProject extends AreaProjectModel {
43
- mapDataItems?: MapDataItem[];
44
- objectType: 'areaProject';
45
- }
46
- export { ExtendedConstructionNumber, ExtendedPropertyType, ExtendedApartmentBuilding, ExtendedProjectPhase, ExtendedDistrict, ExtendedAreaProject, PropertyTypeStatus, ApartmentBuildingStatus, GeneratedConstructionNumberStatus, };
@@ -1,3 +0,0 @@
1
- import { ApartmentBuildingModel, AreaProjectModel, ConstructionNumberModel, DistrictModel, ProjectPhaseModel, PropertyTypeModel } from '../generated';
2
- declare const composeExcludeString: (keys: (keyof ConstructionNumberModel | keyof PropertyTypeModel | keyof ApartmentBuildingModel | keyof ProjectPhaseModel | keyof DistrictModel | keyof AreaProjectModel)[]) => string;
3
- export { composeExcludeString };
@@ -1,3 +0,0 @@
1
- import { DecimalRange } from '../../generated';
2
- declare const mergeDecimalRange: ({ from: fromA, to: toA }: DecimalRange, { from: fromB, to: toB }: DecimalRange) => DecimalRange;
3
- export { mergeDecimalRange };
@@ -1,13 +0,0 @@
1
- import { ConstructionNumberModel, ConstructionNumberSpecifications, DecimalRange, ProjectPhaseModel, PropertySpecifications, PropertyTypeModel } from '../../generated';
2
- declare type PropertyKeys = keyof PropertySpecifications;
3
- interface MergeSpecificationRange {
4
- (obj: {
5
- propertyTypes: PropertyTypeModel[];
6
- }, key: PropertyKeys): DecimalRange;
7
- (obj: {
8
- projectPhases: ProjectPhaseModel[];
9
- }, key: PropertyKeys): DecimalRange;
10
- }
11
- declare const mergePropertySpecification: MergeSpecificationRange;
12
- declare const mergeConstructionNumberSpecification: (constructionNumbers: ConstructionNumberModel[], key: keyof ConstructionNumberSpecifications) => DecimalRange;
13
- export { mergePropertySpecification, mergeConstructionNumberSpecification };
@@ -1,3 +0,0 @@
1
- import { DistrictModel, ProjectPhaseModel, ProjectPhaseStatus } from '../generated';
2
- declare const getDistrictStatus: (district: DistrictModel, projectPhases: ProjectPhaseModel[]) => ProjectPhaseStatus;
3
- export { getDistrictStatus };