@studiometa/js-toolkit 2.5.0 → 2.6.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 (401) hide show
  1. package/Base/index.cjs +56 -62
  2. package/Base/index.cjs.map +7 -0
  3. package/Base/index.d.ts +5 -5
  4. package/Base/index.js +63 -69
  5. package/Base/index.js.map +7 -0
  6. package/Base/managers/AbstractManager.cjs +8 -12
  7. package/Base/managers/AbstractManager.cjs.map +7 -0
  8. package/Base/managers/AbstractManager.d.ts +11 -21
  9. package/Base/managers/AbstractManager.js +7 -12
  10. package/Base/managers/AbstractManager.js.map +7 -0
  11. package/Base/managers/ChildrenManager.cjs +6 -20
  12. package/Base/managers/ChildrenManager.cjs.map +7 -0
  13. package/Base/managers/ChildrenManager.d.ts +2 -2
  14. package/Base/managers/ChildrenManager.js +5 -14
  15. package/Base/managers/ChildrenManager.js.map +7 -0
  16. package/Base/managers/EventsManager.cjs +60 -64
  17. package/Base/managers/EventsManager.cjs.map +7 -0
  18. package/Base/managers/EventsManager.d.ts +2 -2
  19. package/Base/managers/EventsManager.js +59 -64
  20. package/Base/managers/EventsManager.js.map +7 -0
  21. package/Base/managers/OptionsManager.cjs +14 -22
  22. package/Base/managers/OptionsManager.cjs.map +7 -0
  23. package/Base/managers/OptionsManager.d.ts +42 -55
  24. package/Base/managers/OptionsManager.js +12 -21
  25. package/Base/managers/OptionsManager.js.map +7 -0
  26. package/Base/managers/RefsManager.cjs +11 -16
  27. package/Base/managers/RefsManager.cjs.map +7 -0
  28. package/Base/managers/RefsManager.d.ts +3 -11
  29. package/Base/managers/RefsManager.js +9 -8
  30. package/Base/managers/RefsManager.js.map +7 -0
  31. package/Base/managers/ResponsiveOptionsManager.cjs +4 -9
  32. package/Base/managers/ResponsiveOptionsManager.cjs.map +7 -0
  33. package/Base/managers/ResponsiveOptionsManager.d.ts +8 -4
  34. package/Base/managers/ResponsiveOptionsManager.js +3 -2
  35. package/Base/managers/ResponsiveOptionsManager.js.map +7 -0
  36. package/Base/managers/ServicesManager.cjs +21 -45
  37. package/Base/managers/ServicesManager.cjs.map +7 -0
  38. package/Base/managers/ServicesManager.d.ts +33 -58
  39. package/Base/managers/ServicesManager.js +13 -32
  40. package/Base/managers/ServicesManager.js.map +7 -0
  41. package/Base/types.cjs +1 -0
  42. package/Base/types.cjs.map +7 -0
  43. package/Base/types.js +1 -0
  44. package/Base/types.js.map +7 -0
  45. package/Base/utils.cjs +1 -0
  46. package/Base/utils.cjs.map +7 -0
  47. package/Base/utils.js +1 -0
  48. package/Base/utils.js.map +7 -0
  49. package/decorators/index.cjs +1 -0
  50. package/decorators/index.cjs.map +7 -0
  51. package/decorators/index.js +1 -0
  52. package/decorators/index.js.map +7 -0
  53. package/decorators/withBreakpointManager.cjs +1 -0
  54. package/decorators/withBreakpointManager.cjs.map +7 -0
  55. package/decorators/withBreakpointManager.js +1 -0
  56. package/decorators/withBreakpointManager.js.map +7 -0
  57. package/decorators/withBreakpointObserver.cjs +10 -15
  58. package/decorators/withBreakpointObserver.cjs.map +7 -0
  59. package/decorators/withBreakpointObserver.js +10 -16
  60. package/decorators/withBreakpointObserver.js.map +7 -0
  61. package/decorators/withDrag.cjs +5 -9
  62. package/decorators/withDrag.cjs.map +7 -0
  63. package/decorators/withDrag.js +5 -10
  64. package/decorators/withDrag.js.map +7 -0
  65. package/decorators/withExtraConfig.cjs +2 -6
  66. package/decorators/withExtraConfig.cjs.map +7 -0
  67. package/decorators/withExtraConfig.js +2 -7
  68. package/decorators/withExtraConfig.js.map +7 -0
  69. package/decorators/withFreezedOptions.cjs +2 -9
  70. package/decorators/withFreezedOptions.cjs.map +7 -0
  71. package/decorators/withFreezedOptions.js +2 -10
  72. package/decorators/withFreezedOptions.js.map +7 -0
  73. package/decorators/withIntersectionObserver.cjs +11 -16
  74. package/decorators/withIntersectionObserver.cjs.map +7 -0
  75. package/decorators/withIntersectionObserver.js +11 -17
  76. package/decorators/withIntersectionObserver.js.map +7 -0
  77. package/decorators/withMountWhenInView.cjs +11 -16
  78. package/decorators/withMountWhenInView.cjs.map +7 -0
  79. package/decorators/withMountWhenInView.js +11 -17
  80. package/decorators/withMountWhenInView.js.map +7 -0
  81. package/decorators/withResponsiveOptions.cjs +3 -8
  82. package/decorators/withResponsiveOptions.cjs.map +7 -0
  83. package/decorators/withResponsiveOptions.js +2 -1
  84. package/decorators/withResponsiveOptions.js.map +7 -0
  85. package/decorators/withScrolledInView.cjs +45 -50
  86. package/decorators/withScrolledInView.cjs.map +7 -0
  87. package/decorators/withScrolledInView.js +45 -51
  88. package/decorators/withScrolledInView.js.map +7 -0
  89. package/decorators/withVue2.cjs +9 -15
  90. package/decorators/withVue2.cjs.map +7 -0
  91. package/decorators/withVue2.js +9 -16
  92. package/decorators/withVue2.js.map +7 -0
  93. package/helpers/createApp.cjs +1 -0
  94. package/helpers/createApp.cjs.map +7 -0
  95. package/helpers/createApp.js +1 -0
  96. package/helpers/createApp.js.map +7 -0
  97. package/helpers/getClosestParent.cjs +1 -0
  98. package/helpers/getClosestParent.cjs.map +7 -0
  99. package/helpers/getClosestParent.js +1 -0
  100. package/helpers/getClosestParent.js.map +7 -0
  101. package/helpers/getDirectChildren.cjs +1 -0
  102. package/helpers/getDirectChildren.cjs.map +7 -0
  103. package/helpers/getDirectChildren.js +1 -0
  104. package/helpers/getDirectChildren.js.map +7 -0
  105. package/helpers/getInstanceFromElement.cjs +1 -0
  106. package/helpers/getInstanceFromElement.cjs.map +7 -0
  107. package/helpers/getInstanceFromElement.js +1 -0
  108. package/helpers/getInstanceFromElement.js.map +7 -0
  109. package/helpers/importOnInteraction.cjs +2 -1
  110. package/helpers/importOnInteraction.cjs.map +7 -0
  111. package/helpers/importOnInteraction.js +2 -1
  112. package/helpers/importOnInteraction.js.map +7 -0
  113. package/helpers/importWhenIdle.cjs +1 -0
  114. package/helpers/importWhenIdle.cjs.map +7 -0
  115. package/helpers/importWhenIdle.js +1 -0
  116. package/helpers/importWhenIdle.js.map +7 -0
  117. package/helpers/importWhenVisible.cjs +2 -1
  118. package/helpers/importWhenVisible.cjs.map +7 -0
  119. package/helpers/importWhenVisible.js +2 -1
  120. package/helpers/importWhenVisible.js.map +7 -0
  121. package/helpers/index.cjs +1 -0
  122. package/helpers/index.cjs.map +7 -0
  123. package/helpers/index.js +1 -0
  124. package/helpers/index.js.map +7 -0
  125. package/helpers/utils.cjs +1 -0
  126. package/helpers/utils.cjs.map +7 -0
  127. package/helpers/utils.js +1 -0
  128. package/helpers/utils.js.map +7 -0
  129. package/index.cjs +1 -0
  130. package/index.cjs.map +7 -0
  131. package/index.js +1 -0
  132. package/index.js.map +7 -0
  133. package/package.json +1 -1
  134. package/services/drag.cjs +1 -0
  135. package/services/drag.cjs.map +7 -0
  136. package/services/drag.js +1 -0
  137. package/services/drag.js.map +7 -0
  138. package/services/index.cjs +1 -0
  139. package/services/index.cjs.map +7 -0
  140. package/services/index.js +1 -0
  141. package/services/index.js.map +7 -0
  142. package/services/key.cjs +2 -1
  143. package/services/key.cjs.map +7 -0
  144. package/services/key.js +2 -1
  145. package/services/key.js.map +7 -0
  146. package/services/load.cjs +1 -0
  147. package/services/load.cjs.map +7 -0
  148. package/services/load.js +1 -0
  149. package/services/load.js.map +7 -0
  150. package/services/pointer.cjs +3 -3
  151. package/services/pointer.cjs.map +7 -0
  152. package/services/pointer.js +3 -3
  153. package/services/pointer.js.map +7 -0
  154. package/services/raf.cjs +1 -0
  155. package/services/raf.cjs.map +7 -0
  156. package/services/raf.js +1 -0
  157. package/services/raf.js.map +7 -0
  158. package/services/resize.cjs +1 -0
  159. package/services/resize.cjs.map +7 -0
  160. package/services/resize.js +1 -0
  161. package/services/resize.js.map +7 -0
  162. package/services/scroll.cjs +1 -0
  163. package/services/scroll.cjs.map +7 -0
  164. package/services/scroll.js +1 -0
  165. package/services/scroll.js.map +7 -0
  166. package/services/service.cjs +1 -0
  167. package/services/service.cjs.map +7 -0
  168. package/services/service.js +1 -0
  169. package/services/service.js.map +7 -0
  170. package/utils/collide/boundingRectToCircle.cjs +1 -0
  171. package/utils/collide/boundingRectToCircle.cjs.map +7 -0
  172. package/utils/collide/boundingRectToCircle.js +1 -0
  173. package/utils/collide/boundingRectToCircle.js.map +7 -0
  174. package/utils/collide/collideCircleCircle.cjs +1 -0
  175. package/utils/collide/collideCircleCircle.cjs.map +7 -0
  176. package/utils/collide/collideCircleCircle.js +1 -0
  177. package/utils/collide/collideCircleCircle.js.map +7 -0
  178. package/utils/collide/collideCircleRect.cjs +1 -0
  179. package/utils/collide/collideCircleRect.cjs.map +7 -0
  180. package/utils/collide/collideCircleRect.js +1 -0
  181. package/utils/collide/collideCircleRect.js.map +7 -0
  182. package/utils/collide/collidePointCircle.cjs +1 -0
  183. package/utils/collide/collidePointCircle.cjs.map +7 -0
  184. package/utils/collide/collidePointCircle.js +1 -0
  185. package/utils/collide/collidePointCircle.js.map +7 -0
  186. package/utils/collide/collidePointRect.cjs +1 -0
  187. package/utils/collide/collidePointRect.cjs.map +7 -0
  188. package/utils/collide/collidePointRect.js +1 -0
  189. package/utils/collide/collidePointRect.js.map +7 -0
  190. package/utils/collide/collideRectRect.cjs +1 -0
  191. package/utils/collide/collideRectRect.cjs.map +7 -0
  192. package/utils/collide/collideRectRect.js +1 -0
  193. package/utils/collide/collideRectRect.js.map +7 -0
  194. package/utils/collide/index.cjs +1 -0
  195. package/utils/collide/index.cjs.map +7 -0
  196. package/utils/collide/index.js +1 -0
  197. package/utils/collide/index.js.map +7 -0
  198. package/utils/css/animate.cjs +38 -14
  199. package/utils/css/animate.cjs.map +7 -0
  200. package/utils/css/animate.d.ts +4 -24
  201. package/utils/css/animate.js +38 -14
  202. package/utils/css/animate.js.map +7 -0
  203. package/utils/css/classes.cjs +7 -3
  204. package/utils/css/classes.cjs.map +7 -0
  205. package/utils/css/classes.d.ts +6 -6
  206. package/utils/css/classes.js +7 -3
  207. package/utils/css/classes.js.map +7 -0
  208. package/utils/css/getOffsetSizes.cjs +1 -0
  209. package/utils/css/getOffsetSizes.cjs.map +7 -0
  210. package/utils/css/getOffsetSizes.js +1 -0
  211. package/utils/css/getOffsetSizes.js.map +7 -0
  212. package/utils/css/index.cjs +2 -1
  213. package/utils/css/index.cjs.map +7 -0
  214. package/utils/css/index.d.ts +7 -7
  215. package/utils/css/index.js +1 -0
  216. package/utils/css/index.js.map +7 -0
  217. package/utils/css/matrix.cjs +2 -2
  218. package/utils/css/matrix.cjs.map +7 -0
  219. package/utils/css/matrix.js +2 -2
  220. package/utils/css/matrix.js.map +7 -0
  221. package/utils/css/styles.cjs +12 -8
  222. package/utils/css/styles.cjs.map +7 -0
  223. package/utils/css/styles.d.ts +4 -4
  224. package/utils/css/styles.js +12 -8
  225. package/utils/css/styles.js.map +7 -0
  226. package/utils/css/transform.cjs +7 -4
  227. package/utils/css/transform.cjs.map +7 -0
  228. package/utils/css/transform.d.ts +2 -2
  229. package/utils/css/transform.js +7 -4
  230. package/utils/css/transform.js.map +7 -0
  231. package/utils/css/transition.cjs +10 -8
  232. package/utils/css/transition.cjs.map +7 -0
  233. package/utils/css/transition.d.ts +5 -8
  234. package/utils/css/transition.js +10 -9
  235. package/utils/css/transition.js.map +7 -0
  236. package/utils/css/utils.cjs +32 -0
  237. package/utils/css/utils.cjs.map +7 -0
  238. package/utils/css/utils.d.ts +1 -0
  239. package/utils/css/utils.js +10 -0
  240. package/utils/css/utils.js.map +7 -0
  241. package/utils/debounce.cjs +1 -0
  242. package/utils/debounce.cjs.map +7 -0
  243. package/utils/debounce.js +1 -0
  244. package/utils/debounce.js.map +7 -0
  245. package/utils/focusTrap.cjs +1 -0
  246. package/utils/focusTrap.cjs.map +7 -0
  247. package/utils/focusTrap.js +1 -0
  248. package/utils/focusTrap.js.map +7 -0
  249. package/utils/has.cjs +1 -0
  250. package/utils/has.cjs.map +7 -0
  251. package/utils/has.js +1 -0
  252. package/utils/has.js.map +7 -0
  253. package/utils/history.cjs +1 -0
  254. package/utils/history.cjs.map +7 -0
  255. package/utils/history.js +1 -0
  256. package/utils/history.js.map +7 -0
  257. package/utils/index.cjs +2 -1
  258. package/utils/index.cjs.map +7 -0
  259. package/utils/index.d.ts +19 -19
  260. package/utils/index.js +1 -0
  261. package/utils/index.js.map +7 -0
  262. package/utils/is.cjs +1 -0
  263. package/utils/is.cjs.map +7 -0
  264. package/utils/is.js +1 -0
  265. package/utils/is.js.map +7 -0
  266. package/utils/keyCodes.cjs +1 -0
  267. package/utils/keyCodes.cjs.map +7 -0
  268. package/utils/keyCodes.js +1 -0
  269. package/utils/keyCodes.js.map +7 -0
  270. package/utils/math/clamp.cjs +1 -0
  271. package/utils/math/clamp.cjs.map +7 -0
  272. package/utils/math/clamp.js +1 -0
  273. package/utils/math/clamp.js.map +7 -0
  274. package/utils/math/clamp01.cjs +1 -0
  275. package/utils/math/clamp01.cjs.map +7 -0
  276. package/utils/math/clamp01.js +1 -0
  277. package/utils/math/clamp01.js.map +7 -0
  278. package/utils/math/createEases.cjs +1 -0
  279. package/utils/math/createEases.cjs.map +7 -0
  280. package/utils/math/createEases.js +1 -0
  281. package/utils/math/createEases.js.map +7 -0
  282. package/utils/math/damp.cjs +1 -0
  283. package/utils/math/damp.cjs.map +7 -0
  284. package/utils/math/damp.js +1 -0
  285. package/utils/math/damp.js.map +7 -0
  286. package/utils/math/ease.cjs +1 -0
  287. package/utils/math/ease.cjs.map +7 -0
  288. package/utils/math/ease.js +1 -0
  289. package/utils/math/ease.js.map +7 -0
  290. package/utils/math/index.cjs +1 -0
  291. package/utils/math/index.cjs.map +7 -0
  292. package/utils/math/index.js +1 -0
  293. package/utils/math/index.js.map +7 -0
  294. package/utils/math/inertiaFinalValue.cjs +1 -0
  295. package/utils/math/inertiaFinalValue.cjs.map +7 -0
  296. package/utils/math/inertiaFinalValue.js +1 -0
  297. package/utils/math/inertiaFinalValue.js.map +7 -0
  298. package/utils/math/lerp.cjs +1 -0
  299. package/utils/math/lerp.cjs.map +7 -0
  300. package/utils/math/lerp.js +1 -0
  301. package/utils/math/lerp.js.map +7 -0
  302. package/utils/math/map.cjs +1 -0
  303. package/utils/math/map.cjs.map +7 -0
  304. package/utils/math/map.js +1 -0
  305. package/utils/math/map.js.map +7 -0
  306. package/utils/math/round.cjs +1 -0
  307. package/utils/math/round.cjs.map +7 -0
  308. package/utils/math/round.js +1 -0
  309. package/utils/math/round.js.map +7 -0
  310. package/utils/memoize.cjs +1 -0
  311. package/utils/memoize.cjs.map +7 -0
  312. package/utils/memoize.js +1 -0
  313. package/utils/memoize.js.map +7 -0
  314. package/utils/nextFrame.cjs +1 -0
  315. package/utils/nextFrame.cjs.map +7 -0
  316. package/utils/nextFrame.js +1 -0
  317. package/utils/nextFrame.js.map +7 -0
  318. package/utils/nextMicrotask.cjs +1 -0
  319. package/utils/nextMicrotask.cjs.map +7 -0
  320. package/utils/nextMicrotask.js +1 -0
  321. package/utils/nextMicrotask.js.map +7 -0
  322. package/utils/nextTick.cjs +1 -0
  323. package/utils/nextTick.cjs.map +7 -0
  324. package/utils/nextTick.js +1 -0
  325. package/utils/nextTick.js.map +7 -0
  326. package/utils/noop.cjs +1 -0
  327. package/utils/noop.cjs.map +7 -0
  328. package/utils/noop.js +1 -0
  329. package/utils/noop.js.map +7 -0
  330. package/utils/object/autoBind.cjs +1 -0
  331. package/utils/object/autoBind.cjs.map +7 -0
  332. package/utils/object/autoBind.js +1 -0
  333. package/utils/object/autoBind.js.map +7 -0
  334. package/utils/object/getAllProperties.cjs +1 -0
  335. package/utils/object/getAllProperties.cjs.map +7 -0
  336. package/utils/object/getAllProperties.js +1 -0
  337. package/utils/object/getAllProperties.js.map +7 -0
  338. package/utils/object/index.cjs +1 -0
  339. package/utils/object/index.cjs.map +7 -0
  340. package/utils/object/index.js +1 -0
  341. package/utils/object/index.js.map +7 -0
  342. package/utils/scheduler.cjs +1 -0
  343. package/utils/scheduler.cjs.map +7 -0
  344. package/utils/scheduler.js +1 -0
  345. package/utils/scheduler.js.map +7 -0
  346. package/utils/scrollTo.cjs +1 -0
  347. package/utils/scrollTo.cjs.map +7 -0
  348. package/utils/scrollTo.js +1 -0
  349. package/utils/scrollTo.js.map +7 -0
  350. package/utils/string/index.cjs +1 -0
  351. package/utils/string/index.cjs.map +7 -0
  352. package/utils/string/index.js +1 -0
  353. package/utils/string/index.js.map +7 -0
  354. package/utils/string/withLeadingCharacters.cjs +1 -0
  355. package/utils/string/withLeadingCharacters.cjs.map +7 -0
  356. package/utils/string/withLeadingCharacters.js +1 -0
  357. package/utils/string/withLeadingCharacters.js.map +7 -0
  358. package/utils/string/withLeadingSlash.cjs +1 -0
  359. package/utils/string/withLeadingSlash.cjs.map +7 -0
  360. package/utils/string/withLeadingSlash.js +1 -0
  361. package/utils/string/withLeadingSlash.js.map +7 -0
  362. package/utils/string/withTrailingCharacters.cjs +1 -0
  363. package/utils/string/withTrailingCharacters.cjs.map +7 -0
  364. package/utils/string/withTrailingCharacters.js +1 -0
  365. package/utils/string/withTrailingCharacters.js.map +7 -0
  366. package/utils/string/withTrailingSlash.cjs +1 -0
  367. package/utils/string/withTrailingSlash.cjs.map +7 -0
  368. package/utils/string/withTrailingSlash.js +1 -0
  369. package/utils/string/withTrailingSlash.js.map +7 -0
  370. package/utils/string/withoutLeadingCharacters.cjs +1 -0
  371. package/utils/string/withoutLeadingCharacters.cjs.map +7 -0
  372. package/utils/string/withoutLeadingCharacters.js +1 -0
  373. package/utils/string/withoutLeadingCharacters.js.map +7 -0
  374. package/utils/string/withoutLeadingCharactersRecursive.cjs +1 -0
  375. package/utils/string/withoutLeadingCharactersRecursive.cjs.map +7 -0
  376. package/utils/string/withoutLeadingCharactersRecursive.js +1 -0
  377. package/utils/string/withoutLeadingCharactersRecursive.js.map +7 -0
  378. package/utils/string/withoutLeadingSlash.cjs +1 -0
  379. package/utils/string/withoutLeadingSlash.cjs.map +7 -0
  380. package/utils/string/withoutLeadingSlash.js +1 -0
  381. package/utils/string/withoutLeadingSlash.js.map +7 -0
  382. package/utils/string/withoutTrailingCharacters.cjs +1 -0
  383. package/utils/string/withoutTrailingCharacters.cjs.map +7 -0
  384. package/utils/string/withoutTrailingCharacters.js +1 -0
  385. package/utils/string/withoutTrailingCharacters.js.map +7 -0
  386. package/utils/string/withoutTrailingCharactersRecursive.cjs +1 -0
  387. package/utils/string/withoutTrailingCharactersRecursive.cjs.map +7 -0
  388. package/utils/string/withoutTrailingCharactersRecursive.js +1 -0
  389. package/utils/string/withoutTrailingCharactersRecursive.js.map +7 -0
  390. package/utils/string/withoutTrailingSlash.cjs +1 -0
  391. package/utils/string/withoutTrailingSlash.cjs.map +7 -0
  392. package/utils/string/withoutTrailingSlash.js +1 -0
  393. package/utils/string/withoutTrailingSlash.js.map +7 -0
  394. package/utils/throttle.cjs +1 -0
  395. package/utils/throttle.cjs.map +7 -0
  396. package/utils/throttle.js +1 -0
  397. package/utils/throttle.js.map +7 -0
  398. package/utils/tween.cjs +2 -2
  399. package/utils/tween.cjs.map +7 -0
  400. package/utils/tween.js +2 -2
  401. package/utils/tween.js.map +7 -0
@@ -1,9 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  import { useResize } from "../services/index.js";
8
2
  import { isDev } from "../utils/index.js";
9
3
  function testBreakpoints(instance, breakpoint = useResize().props().breakpoint) {
@@ -44,8 +38,16 @@ function addToResize(key, instance) {
44
38
  }
45
39
  }
46
40
  function withBreakpointObserver(BaseClass) {
47
- var _a;
48
41
  class WithBreakpointObserver extends BaseClass {
42
+ static config = {
43
+ ...BaseClass.config,
44
+ name: `${BaseClass.config.name}WithBreakpointObserver`,
45
+ options: {
46
+ ...BaseClass.config?.options || {},
47
+ activeBreakpoints: String,
48
+ inactiveBreakpoints: String
49
+ }
50
+ };
49
51
  constructor(element) {
50
52
  super(element);
51
53
  const { remove, props } = useResize();
@@ -86,17 +88,9 @@ function withBreakpointObserver(BaseClass) {
86
88
  return this;
87
89
  }
88
90
  }
89
- __publicField(WithBreakpointObserver, "config", {
90
- ...BaseClass.config,
91
- name: `${BaseClass.config.name}WithBreakpointObserver`,
92
- options: {
93
- ...((_a = BaseClass.config) == null ? void 0 : _a.options) || {},
94
- activeBreakpoints: String,
95
- inactiveBreakpoints: String
96
- }
97
- });
98
91
  return WithBreakpointObserver;
99
92
  }
100
93
  export {
101
94
  withBreakpointObserver
102
95
  };
96
+ //# sourceMappingURL=withBreakpointObserver.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withBreakpointObserver.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\nimport { useResize } from '../services/index.js';\nimport { isDev } from '../utils/index.js';\n\nexport interface WithBreakpointObserverProps extends BaseProps {\n $options: {\n activeBreakpoints?: string;\n inactiveBreakpoints?: string;\n };\n}\n\nexport interface WithBreakpointObserverInterface extends BaseInterface {\n $mount():this;\n}\n\n/**\n * Test the breakpoins of the given Base instance and return the hook to call.\n *\n * @param {Base<WithBreakpointObserverProps>} instance The component's instance.\n * @param {string} [breakpoint] The breakpoint to test.\n * @returns {string} The action to trigger.\n */\nfunction testBreakpoints(\n instance: Base<WithBreakpointObserverProps>,\n breakpoint: string = useResize().props().breakpoint,\n): string {\n const { activeBreakpoints, inactiveBreakpoints } = instance.$options;\n const isInActiveBreakpoint =\n activeBreakpoints && activeBreakpoints.split(' ').includes(breakpoint);\n const isInInactiveBreakpoint =\n inactiveBreakpoints && inactiveBreakpoints.split(' ').includes(breakpoint);\n\n if (\n (activeBreakpoints && isInActiveBreakpoint) ||\n (inactiveBreakpoints && !isInInactiveBreakpoint)\n ) {\n return '$mount';\n }\n\n return '$destroy';\n}\n\n/**\n * Test if the given instance is configured for breakpoints.\n * @param {Base<WithBreakpointObserverProps>} instance A Base class instance.\n * @returns {boolean} True if configured correctly, false otherwise.\n */\nfunction hasBreakpointConfiguration(instance: Base<WithBreakpointObserverProps>): boolean {\n const { activeBreakpoints, inactiveBreakpoints } = instance.$options;\n return Boolean(activeBreakpoints || inactiveBreakpoints);\n}\n\n/**\n * Test if the given instance has a conflicting configuration for breakpoints.\n * @param {Base<WithBreakpointObserverProps>} instance A Base class instance.\n * @returns {void}\n */\nfunction testConflictingBreakpointConfiguration(\n instance: Base<WithBreakpointObserverProps>,\n): void {\n const { activeBreakpoints, inactiveBreakpoints, name } = instance.$options;\n if (activeBreakpoints && inactiveBreakpoints) {\n throw new Error(\n `[${name}] Incorrect configuration: the \\`activeBreakpoints\\` and \\`inactiveBreakpoints\\` are not compatible.`,\n );\n }\n}\n\n/**\n * Add the current instance to the resize service.\n * @param {string} key The key for the resize service callback.\n * @param {Base} instance The instance to observe.\n */\nfunction addToResize(key, instance) {\n if (isDev) {\n testConflictingBreakpointConfiguration(instance);\n }\n\n const { add, has } = useResize();\n\n if (!has(key)) {\n add(key, ({ breakpoint }) => {\n const action = testBreakpoints(instance, breakpoint);\n\n // Always destroy before mounting\n if (action === '$destroy' && instance.$isMounted) {\n instance[action]();\n } else if (action === '$mount' && !instance.$isMounted) {\n setTimeout(() => instance[action](), 0);\n }\n });\n }\n}\n\n/**\n * BreakpointObserver class.\n */\nexport function withBreakpointObserver<S extends Base>(\n BaseClass: typeof Base,\n): BaseDecorator<WithBreakpointObserverInterface, S, WithBreakpointObserverProps> {\n /**\n * Class.\n */\n class WithBreakpointObserver<T extends BaseProps = BaseProps> extends BaseClass<\n T & WithBreakpointObserverProps\n > {\n /**\n * Config.\n */\n static config:BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithBreakpointObserver`,\n options: {\n ...(BaseClass.config?.options || {}),\n activeBreakpoints: String,\n inactiveBreakpoints: String,\n },\n };\n\n /**\n * Watch for the document resize to test the breakpoints.\n */\n constructor(element:HTMLElement) {\n super(element);\n\n const { remove, props } = useResize();\n const { name } = this.$options;\n\n // Do nothing if no breakpoint has been defined.\n // @see https://js-toolkit.meta.fr/services/resize.html#breakpoint\n if (!props().breakpoint) {\n if (isDev) {\n throw new Error(\n `[${name}] The \\`BreakpointObserver\\` class requires breakpoints to be defined.`,\n );\n }\n return;\n }\n\n const key = `BreakpointObserver-${this.$id}`;\n\n // Watch change on the `data-options` attribute to emit the `set:options` event.\n const mutationObserver = new MutationObserver(([mutation]) => {\n if (\n mutation.type === 'attributes' &&\n (mutation.attributeName === 'data-options' ||\n mutation.attributeName.startsWith('data-option-'))\n ) {\n // Stop here silently when no breakpoint configuration given.\n if (!hasBreakpointConfiguration(this)) {\n this.$mount();\n remove(key);\n return;\n }\n\n addToResize(key, this);\n }\n });\n mutationObserver.observe(this.$el, { attributes: true });\n\n // Stop here silently when no breakpoint configuration given.\n if (!hasBreakpointConfiguration(this)) {\n return;\n }\n\n addToResize(key, this);\n }\n\n /**\n * Override the default $mount method to prevent component's from being\n * mounted when they should not.\n */\n $mount():this {\n // Execute normal behavior when no breakpoint configuration given.\n if (!hasBreakpointConfiguration(this)) {\n return super.$mount();\n }\n\n const action = testBreakpoints(this);\n if (action === '$mount') {\n return super.$mount();\n }\n\n return this;\n }\n }\n\n // @ts-ignore\n return WithBreakpointObserver;\n}\n"],
5
+ "mappings": "AAEA,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AAoBtB,SAAS,gBACP,UACA,aAAqB,UAAU,EAAE,MAAM,EAAE,YACjC;AACR,QAAM,EAAE,mBAAmB,oBAAoB,IAAI,SAAS;AAC5D,QAAM,uBACJ,qBAAqB,kBAAkB,MAAM,GAAG,EAAE,SAAS,UAAU;AACvE,QAAM,yBACJ,uBAAuB,oBAAoB,MAAM,GAAG,EAAE,SAAS,UAAU;AAE3E,MACG,qBAAqB,wBACrB,uBAAuB,CAAC,wBACzB;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOA,SAAS,2BAA2B,UAAsD;AACxF,QAAM,EAAE,mBAAmB,oBAAoB,IAAI,SAAS;AAC5D,SAAO,QAAQ,qBAAqB,mBAAmB;AACzD;AAOA,SAAS,uCACP,UACM;AACN,QAAM,EAAE,mBAAmB,qBAAqB,KAAK,IAAI,SAAS;AAClE,MAAI,qBAAqB,qBAAqB;AAC5C,UAAM,IAAI;AAAA,MACR,IAAI;AAAA,IACN;AAAA,EACF;AACF;AAOA,SAAS,YAAY,KAAK,UAAU;AAClC,MAAI,OAAO;AACT,2CAAuC,QAAQ;AAAA,EACjD;AAEA,QAAM,EAAE,KAAK,IAAI,IAAI,UAAU;AAE/B,MAAI,CAAC,IAAI,GAAG,GAAG;AACb,QAAI,KAAK,CAAC,EAAE,WAAW,MAAM;AAC3B,YAAM,SAAS,gBAAgB,UAAU,UAAU;AAGnD,UAAI,WAAW,cAAc,SAAS,YAAY;AAChD,iBAAS,QAAQ;AAAA,MACnB,WAAW,WAAW,YAAY,CAAC,SAAS,YAAY;AACtD,mBAAW,MAAM,SAAS,QAAQ,GAAG,CAAC;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAKO,SAAS,uBACd,WACgF;AAIhF,QAAM,+BAAgE,UAEpE;AAAA,IAIA,OAAO,SAAoB;AAAA,MACzB,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,GAAI,UAAU,QAAQ,WAAW,CAAC;AAAA,QAClC,mBAAmB;AAAA,QACnB,qBAAqB;AAAA,MACvB;AAAA,IACF;AAAA,IAKA,YAAY,SAAqB;AAC/B,YAAM,OAAO;AAEb,YAAM,EAAE,QAAQ,MAAM,IAAI,UAAU;AACpC,YAAM,EAAE,KAAK,IAAI,KAAK;AAItB,UAAI,CAAC,MAAM,EAAE,YAAY;AACvB,YAAI,OAAO;AACT,gBAAM,IAAI;AAAA,YACR,IAAI;AAAA,UACN;AAAA,QACF;AACA;AAAA,MACF;AAEA,YAAM,MAAM,sBAAsB,KAAK;AAGvC,YAAM,mBAAmB,IAAI,iBAAiB,CAAC,CAAC,QAAQ,MAAM;AAC5D,YACE,SAAS,SAAS,iBACjB,SAAS,kBAAkB,kBAC1B,SAAS,cAAc,WAAW,cAAc,IAClD;AAEA,cAAI,CAAC,2BAA2B,IAAI,GAAG;AACrC,iBAAK,OAAO;AACZ,mBAAO,GAAG;AACV;AAAA,UACF;AAEA,sBAAY,KAAK,IAAI;AAAA,QACvB;AAAA,MACF,CAAC;AACD,uBAAiB,QAAQ,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC;AAGvD,UAAI,CAAC,2BAA2B,IAAI,GAAG;AACrC;AAAA,MACF;AAEA,kBAAY,KAAK,IAAI;AAAA,IACvB;AAAA,IAMA,SAAc;AAEZ,UAAI,CAAC,2BAA2B,IAAI,GAAG;AACrC,eAAO,MAAM,OAAO;AAAA,MACtB;AAEA,YAAM,SAAS,gBAAgB,IAAI;AACnC,UAAI,WAAW,UAAU;AACvB,eAAO,MAAM,OAAO;AAAA,MACtB;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/js-toolkit/decorators/withDrag.ts
25
20
  var withDrag_exports = {};
@@ -30,6 +25,10 @@ module.exports = __toCommonJS(withDrag_exports);
30
25
  var import_services = require("../services/index.cjs");
31
26
  function withDrag(BaseClass, { target = (instance) => instance.$el, ...options } = {}) {
32
27
  class WithDrag extends BaseClass {
28
+ static config = {
29
+ name: `${BaseClass.config.name}WithDrag`,
30
+ emits: ["dragged"]
31
+ };
33
32
  constructor(element) {
34
33
  super(element);
35
34
  this.$on("mounted", () => {
@@ -45,10 +44,7 @@ function withDrag(BaseClass, { target = (instance) => instance.$el, ...options }
45
44
  });
46
45
  }
47
46
  }
48
- __publicField(WithDrag, "config", {
49
- name: `${BaseClass.config.name}WithDrag`,
50
- emits: ["dragged"]
51
- });
52
47
  return WithDrag;
53
48
  }
54
49
  if (module.exports.default) module.exports = module.exports.default;
50
+ //# sourceMappingURL=withDrag.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withDrag.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\nimport type { DragServiceOptions, DragServiceProps } from '../services/drag.js';\nimport { useDrag } from '../services/index.js';\n\nexport type DragDecoratorOptions = DragServiceOptions & {\n target?: (this: Base, instance: Base) => HTMLElement;\n};\n\nexport interface WithDragInterface extends BaseInterface {\n dragged?(props:DragServiceProps):void;\n}\n\n/**\n * Add dragging capabilities to a component.\n */\nexport function withDrag<S extends Base>(\n BaseClass: typeof Base,\n { target = (instance) => instance.$el, ...options }: DragDecoratorOptions = {},\n): BaseDecorator<BaseInterface, S> {\n /**\n * Class.\n */\n class WithDrag<T extends BaseProps = BaseProps> extends BaseClass<T & WithDragInterface> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: `${BaseClass.config.name}WithDrag`,\n emits: ['dragged'],\n };\n\n /**\n * Class constructor.\n */\n constructor(element:HTMLElement) {\n super(element);\n\n this.$on('mounted', () => {\n this.$services.register(\n 'dragged',\n useDrag.bind(undefined, target.call(this, this), options),\n );\n this.$services.enable('dragged');\n });\n\n this.$on('destroyed', () => {\n this.$services.disable('dragged');\n this.$services.unregister('dragged');\n });\n }\n }\n\n // @ts-ignore\n return WithDrag;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAwB;AAajB,SAAS,SACd,WACA,EAAE,SAAS,CAAC,aAAa,SAAS,QAAQ,QAAQ,IAA0B,CAAC,GAC5C;AAIjC,QAAM,iBAAkD,UAAiC;AAAA,IAIvF,OAAO,SAAqB;AAAA,MAC1B,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,OAAO,CAAC,SAAS;AAAA,IACnB;AAAA,IAKA,YAAY,SAAqB;AAC/B,YAAM,OAAO;AAEb,WAAK,IAAI,WAAW,MAAM;AACxB,aAAK,UAAU;AAAA,UACb;AAAA,UACA,wBAAQ,KAAK,QAAW,OAAO,KAAK,MAAM,IAAI,GAAG,OAAO;AAAA,QAC1D;AACA,aAAK,UAAU,OAAO,SAAS;AAAA,MACjC,CAAC;AAED,WAAK,IAAI,aAAa,MAAM;AAC1B,aAAK,UAAU,QAAQ,SAAS;AAChC,aAAK,UAAU,WAAW,SAAS;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,12 +1,10 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  import { useDrag } from "../services/index.js";
8
2
  function withDrag(BaseClass, { target = (instance) => instance.$el, ...options } = {}) {
9
3
  class WithDrag extends BaseClass {
4
+ static config = {
5
+ name: `${BaseClass.config.name}WithDrag`,
6
+ emits: ["dragged"]
7
+ };
10
8
  constructor(element) {
11
9
  super(element);
12
10
  this.$on("mounted", () => {
@@ -22,12 +20,9 @@ function withDrag(BaseClass, { target = (instance) => instance.$el, ...options }
22
20
  });
23
21
  }
24
22
  }
25
- __publicField(WithDrag, "config", {
26
- name: `${BaseClass.config.name}WithDrag`,
27
- emits: ["dragged"]
28
- });
29
23
  return WithDrag;
30
24
  }
31
25
  export {
32
26
  withDrag
33
27
  };
28
+ //# sourceMappingURL=withDrag.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withDrag.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\nimport type { DragServiceOptions, DragServiceProps } from '../services/drag.js';\nimport { useDrag } from '../services/index.js';\n\nexport type DragDecoratorOptions = DragServiceOptions & {\n target?: (this: Base, instance: Base) => HTMLElement;\n};\n\nexport interface WithDragInterface extends BaseInterface {\n dragged?(props:DragServiceProps):void;\n}\n\n/**\n * Add dragging capabilities to a component.\n */\nexport function withDrag<S extends Base>(\n BaseClass: typeof Base,\n { target = (instance) => instance.$el, ...options }: DragDecoratorOptions = {},\n): BaseDecorator<BaseInterface, S> {\n /**\n * Class.\n */\n class WithDrag<T extends BaseProps = BaseProps> extends BaseClass<T & WithDragInterface> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: `${BaseClass.config.name}WithDrag`,\n emits: ['dragged'],\n };\n\n /**\n * Class constructor.\n */\n constructor(element:HTMLElement) {\n super(element);\n\n this.$on('mounted', () => {\n this.$services.register(\n 'dragged',\n useDrag.bind(undefined, target.call(this, this), options),\n );\n this.$services.enable('dragged');\n });\n\n this.$on('destroyed', () => {\n this.$services.disable('dragged');\n this.$services.unregister('dragged');\n });\n }\n }\n\n // @ts-ignore\n return WithDrag;\n}\n"],
5
+ "mappings": "AAGA,SAAS,eAAe;AAajB,SAAS,SACd,WACA,EAAE,SAAS,CAAC,aAAa,SAAS,QAAQ,QAAQ,IAA0B,CAAC,GAC5C;AAIjC,QAAM,iBAAkD,UAAiC;AAAA,IAIvF,OAAO,SAAqB;AAAA,MAC1B,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,OAAO,CAAC,SAAS;AAAA,IACnB;AAAA,IAKA,YAAY,SAAqB;AAC/B,YAAM,OAAO;AAEb,WAAK,IAAI,WAAW,MAAM;AACxB,aAAK,UAAU;AAAA,UACb;AAAA,UACA,QAAQ,KAAK,QAAW,OAAO,KAAK,MAAM,IAAI,GAAG,OAAO;AAAA,QAC1D;AACA,aAAK,UAAU,OAAO,SAAS;AAAA,MACjC,CAAC;AAED,WAAK,IAAI,aAAa,MAAM;AAC1B,aAAK,UAAU,QAAQ,SAAS;AAChC,aAAK,UAAU,WAAW,SAAS;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -4,7 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
7
  var __export = (target, all) => {
9
8
  for (var name in all)
10
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -22,10 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
21
  mod
23
22
  ));
24
23
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
- var __publicField = (obj, key, value) => {
26
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
27
- return value;
28
- };
29
24
 
30
25
  // packages/js-toolkit/decorators/withExtraConfig.ts
31
26
  var withExtraConfig_exports = {};
@@ -40,8 +35,9 @@ function withExtraConfig(BaseClass, config, options = {}) {
40
35
  newConfig.name = `${BaseClass.config.name}WithExtraConfig`;
41
36
  }
42
37
  class WithExtraConfig extends BaseClass {
38
+ static config = newConfig;
43
39
  }
44
- __publicField(WithExtraConfig, "config", newConfig);
45
40
  return WithExtraConfig;
46
41
  }
47
42
  if (module.exports.default) module.exports = module.exports.default;
43
+ //# sourceMappingURL=withExtraConfig.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withExtraConfig.ts"],
4
+ "sourcesContent": ["import merge from 'deepmerge';\nimport type { Options as DeepmergeOptions } from 'deepmerge';\nimport type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\n\n/**\n * Extends the configuration of an existing class.\n */\nexport function withExtraConfig<S extends Base>(\n BaseClass: typeof Base,\n config: Partial<BaseConfig>,\n options: DeepmergeOptions = {},\n): BaseDecorator<BaseInterface, S> {\n const newConfig = merge(BaseClass.config, config, options);\n\n if (newConfig.name === BaseClass.config.name) {\n newConfig.name = `${BaseClass.config.name}WithExtraConfig`;\n }\n\n /**\n * Class.\n */\n class WithExtraConfig<T extends BaseProps = BaseProps> extends BaseClass<T> {\n /**\n * Config.\n */\n static config: BaseConfig = newConfig;\n }\n\n // @ts-ignore\n return WithExtraConfig;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkB;AAQX,SAAS,gBACd,WACA,QACA,UAA4B,CAAC,GACI;AACjC,QAAM,gBAAY,iBAAAA,SAAM,UAAU,QAAQ,QAAQ,OAAO;AAEzD,MAAI,UAAU,SAAS,UAAU,OAAO,MAAM;AAC5C,cAAU,OAAO,GAAG,UAAU,OAAO;AAAA,EACvC;AAKA,QAAM,wBAAyD,UAAa;AAAA,IAI1E,OAAO,SAAqB;AAAA,EAC9B;AAGA,SAAO;AACT;",
6
+ "names": ["merge"]
7
+ }
@@ -1,9 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  import merge from "deepmerge";
8
2
  function withExtraConfig(BaseClass, config, options = {}) {
9
3
  const newConfig = merge(BaseClass.config, config, options);
@@ -11,10 +5,11 @@ function withExtraConfig(BaseClass, config, options = {}) {
11
5
  newConfig.name = `${BaseClass.config.name}WithExtraConfig`;
12
6
  }
13
7
  class WithExtraConfig extends BaseClass {
8
+ static config = newConfig;
14
9
  }
15
- __publicField(WithExtraConfig, "config", newConfig);
16
10
  return WithExtraConfig;
17
11
  }
18
12
  export {
19
13
  withExtraConfig
20
14
  };
15
+ //# sourceMappingURL=withExtraConfig.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withExtraConfig.ts"],
4
+ "sourcesContent": ["import merge from 'deepmerge';\nimport type { Options as DeepmergeOptions } from 'deepmerge';\nimport type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\n\n/**\n * Extends the configuration of an existing class.\n */\nexport function withExtraConfig<S extends Base>(\n BaseClass: typeof Base,\n config: Partial<BaseConfig>,\n options: DeepmergeOptions = {},\n): BaseDecorator<BaseInterface, S> {\n const newConfig = merge(BaseClass.config, config, options);\n\n if (newConfig.name === BaseClass.config.name) {\n newConfig.name = `${BaseClass.config.name}WithExtraConfig`;\n }\n\n /**\n * Class.\n */\n class WithExtraConfig<T extends BaseProps = BaseProps> extends BaseClass<T> {\n /**\n * Config.\n */\n static config: BaseConfig = newConfig;\n }\n\n // @ts-ignore\n return WithExtraConfig;\n}\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAQX,SAAS,gBACd,WACA,QACA,UAA4B,CAAC,GACI;AACjC,QAAM,YAAY,MAAM,UAAU,QAAQ,QAAQ,OAAO;AAEzD,MAAI,UAAU,SAAS,UAAU,OAAO,MAAM;AAC5C,cAAU,OAAO,GAAG,UAAU,OAAO;AAAA,EACvC;AAKA,QAAM,wBAAyD,UAAa;AAAA,IAI1E,OAAO,SAAqB;AAAA,EAC9B;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/js-toolkit/decorators/withFreezedOptions.ts
25
20
  var withFreezedOptions_exports = {};
@@ -29,10 +24,7 @@ __export(withFreezedOptions_exports, {
29
24
  module.exports = __toCommonJS(withFreezedOptions_exports);
30
25
  function withFreezedOptions(BaseClass) {
31
26
  class WithFreezedOptions extends BaseClass {
32
- constructor() {
33
- super(...arguments);
34
- __publicField(this, "__freezedOptions");
35
- }
27
+ __freezedOptions;
36
28
  get $options() {
37
29
  if (!this.__freezedOptions) {
38
30
  Object.defineProperty(this, "__freezedOptions", {
@@ -47,3 +39,4 @@ function withFreezedOptions(BaseClass) {
47
39
  return WithFreezedOptions;
48
40
  }
49
41
  if (module.exports.default) module.exports = module.exports.default;
42
+ //# sourceMappingURL=withFreezedOptions.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withFreezedOptions.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseOptions } from '../Base/index.js';\n\nexport interface WithFreezedOptionsInterface extends BaseInterface {\n readonly $options: Readonly<BaseOptions>;\n}\n\n/**\n * Freeze the `$options` property to improve performance.\n */\nexport function withFreezedOptions<S extends Base>(\n BaseClass: typeof Base,\n): BaseDecorator<WithFreezedOptionsInterface, S> {\n /**\n * Class.\n */\n class WithFreezedOptions<T extends BaseProps = BaseProps> extends BaseClass<T> {\n /**\n * Hold freezed options\n * @private\n */\n __freezedOptions;\n\n /**\n * Lazyly freeze the `$options` property.\n */\n get $options() {\n if (!this.__freezedOptions) {\n Object.defineProperty(this, '__freezedOptions', {\n value: Object.freeze({ ...super.$options }),\n enumerable: false,\n configurable: true,\n });\n }\n\n return this.__freezedOptions;\n }\n }\n\n // @ts-ignore\n return WithFreezedOptions;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,mBACd,WAC+C;AAI/C,QAAM,2BAA4D,UAAa;AAAA,IAK7E;AAAA,IAKA,IAAI,WAAW;AACb,UAAI,CAAC,KAAK,kBAAkB;AAC1B,eAAO,eAAe,MAAM,oBAAoB;AAAA,UAC9C,OAAO,OAAO,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC;AAAA,UAC1C,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB,CAAC;AAAA,MACH;AAEA,aAAO,KAAK;AAAA,IACd;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,15 +1,6 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  function withFreezedOptions(BaseClass) {
8
2
  class WithFreezedOptions extends BaseClass {
9
- constructor() {
10
- super(...arguments);
11
- __publicField(this, "__freezedOptions");
12
- }
3
+ __freezedOptions;
13
4
  get $options() {
14
5
  if (!this.__freezedOptions) {
15
6
  Object.defineProperty(this, "__freezedOptions", {
@@ -26,3 +17,4 @@ function withFreezedOptions(BaseClass) {
26
17
  export {
27
18
  withFreezedOptions
28
19
  };
20
+ //# sourceMappingURL=withFreezedOptions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withFreezedOptions.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseOptions } from '../Base/index.js';\n\nexport interface WithFreezedOptionsInterface extends BaseInterface {\n readonly $options: Readonly<BaseOptions>;\n}\n\n/**\n * Freeze the `$options` property to improve performance.\n */\nexport function withFreezedOptions<S extends Base>(\n BaseClass: typeof Base,\n): BaseDecorator<WithFreezedOptionsInterface, S> {\n /**\n * Class.\n */\n class WithFreezedOptions<T extends BaseProps = BaseProps> extends BaseClass<T> {\n /**\n * Hold freezed options\n * @private\n */\n __freezedOptions;\n\n /**\n * Lazyly freeze the `$options` property.\n */\n get $options() {\n if (!this.__freezedOptions) {\n Object.defineProperty(this, '__freezedOptions', {\n value: Object.freeze({ ...super.$options }),\n enumerable: false,\n configurable: true,\n });\n }\n\n return this.__freezedOptions;\n }\n }\n\n // @ts-ignore\n return WithFreezedOptions;\n}\n"],
5
+ "mappings": "AAUO,SAAS,mBACd,WAC+C;AAI/C,QAAM,2BAA4D,UAAa;AAAA,IAK7E;AAAA,IAKA,IAAI,WAAW;AACb,UAAI,CAAC,KAAK,kBAAkB;AAC1B,eAAO,eAAe,MAAM,oBAAoB;AAAA,UAC9C,OAAO,OAAO,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC;AAAA,UAC1C,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB,CAAC;AAAA,MACH;AAEA,aAAO,KAAK;AAAA,IACd;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/js-toolkit/decorators/withIntersectionObserver.ts
25
20
  var withIntersectionObserver_exports = {};
@@ -31,11 +26,19 @@ function createArrayOfNumber(length) {
31
26
  return [...new Array(length + 1)].map((val, index) => index / length);
32
27
  }
33
28
  function withIntersectionObserver(BaseClass, defaultOptions = { threshold: createArrayOfNumber(100) }) {
34
- var _a;
35
29
  class WithIntersectionObserver extends BaseClass {
30
+ static config = {
31
+ ...BaseClass.config,
32
+ name: `${BaseClass.config.name}WithIntersectionObserver`,
33
+ options: {
34
+ ...BaseClass.config?.options || {},
35
+ intersectionObserver: Object
36
+ },
37
+ emits: ["intersected"]
38
+ };
39
+ $observer;
36
40
  constructor(element) {
37
41
  super(element);
38
- __publicField(this, "$observer");
39
42
  this.$observer = new IntersectionObserver(
40
43
  (entries) => {
41
44
  this.__callMethod("intersected", entries);
@@ -53,15 +56,7 @@ function withIntersectionObserver(BaseClass, defaultOptions = { threshold: creat
53
56
  });
54
57
  }
55
58
  }
56
- __publicField(WithIntersectionObserver, "config", {
57
- ...BaseClass.config,
58
- name: `${BaseClass.config.name}WithIntersectionObserver`,
59
- options: {
60
- ...((_a = BaseClass.config) == null ? void 0 : _a.options) || {},
61
- intersectionObserver: Object
62
- },
63
- emits: ["intersected"]
64
- });
65
59
  return WithIntersectionObserver;
66
60
  }
67
61
  if (module.exports.default) module.exports = module.exports.default;
62
+ //# sourceMappingURL=withIntersectionObserver.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withIntersectionObserver.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\n\nexport interface WithIntersectionObserverProps extends BaseProps {\n $options: {\n intersectionObserver: IntersectionObserverInit;\n };\n $observer: IntersectionObserver;\n intersected(entries: IntersectionObserverEntry[]): void;\n}\n\nexport interface WithIntersectionObserverInterface extends BaseInterface {\n $observer: IntersectionObserver;\n}\n\n/**\n * Create an array of number between 0 and 1 from the given length.\n */\nfunction createArrayOfNumber(length: number): number[] {\n return [...new Array(length + 1)].map((val, index) => index / length);\n}\n\n/**\n * IntersectionObserver decoration.\n */\nexport function withIntersectionObserver<S extends Base>(\n BaseClass: typeof Base,\n // eslint-disable-next-line unicorn/no-object-as-default-parameter\n defaultOptions: IntersectionObserverInit = { threshold: createArrayOfNumber(100) },\n): BaseDecorator<WithIntersectionObserverInterface, S, WithIntersectionObserverProps> {\n /**\n * Class.\n */\n class WithIntersectionObserver<T extends BaseProps = BaseProps> extends BaseClass<\n T & WithIntersectionObserverProps\n > {\n /**\n * Config\n */\n static config: BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithIntersectionObserver`,\n options: {\n ...(BaseClass.config?.options || {}),\n intersectionObserver: Object,\n },\n emits: ['intersected'],\n };\n\n /**\n * Intersection observer instance.\n */\n $observer: IntersectionObserver;\n\n /**\n * Create an observer when the class in instantiated.\n */\n constructor(element: HTMLElement) {\n super(element);\n\n this.$observer = new IntersectionObserver(\n (entries) => {\n this.__callMethod('intersected', entries);\n },\n {\n ...defaultOptions,\n ...(this.$options.intersectionObserver as IntersectionObserverInit),\n },\n );\n\n this.$on('mounted', () => {\n this.$observer.observe(this.$el);\n });\n\n this.$on('destroyed', () => {\n this.$observer.unobserve(this.$el);\n });\n }\n }\n\n // @ts-ignore\n return WithIntersectionObserver;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,SAAS,oBAAoB,QAA0B;AACrD,SAAO,CAAC,GAAG,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,UAAU,QAAQ,MAAM;AACtE;AAKO,SAAS,yBACd,WAEA,iBAA2C,EAAE,WAAW,oBAAoB,GAAG,EAAE,GACG;AAIpF,QAAM,iCAAkE,UAEtE;AAAA,IAIA,OAAO,SAAqB;AAAA,MAC1B,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,GAAI,UAAU,QAAQ,WAAW,CAAC;AAAA,QAClC,sBAAsB;AAAA,MACxB;AAAA,MACA,OAAO,CAAC,aAAa;AAAA,IACvB;AAAA,IAKA;AAAA,IAKA,YAAY,SAAsB;AAChC,YAAM,OAAO;AAEb,WAAK,YAAY,IAAI;AAAA,QACnB,CAAC,YAAY;AACX,eAAK,aAAa,eAAe,OAAO;AAAA,QAC1C;AAAA,QACA;AAAA,UACE,GAAG;AAAA,UACH,GAAI,KAAK,SAAS;AAAA,QACpB;AAAA,MACF;AAEA,WAAK,IAAI,WAAW,MAAM;AACxB,aAAK,UAAU,QAAQ,KAAK,GAAG;AAAA,MACjC,CAAC;AAED,WAAK,IAAI,aAAa,MAAM;AAC1B,aAAK,UAAU,UAAU,KAAK,GAAG;AAAA,MACnC,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,18 +1,20 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  function createArrayOfNumber(length) {
8
2
  return [...new Array(length + 1)].map((val, index) => index / length);
9
3
  }
10
4
  function withIntersectionObserver(BaseClass, defaultOptions = { threshold: createArrayOfNumber(100) }) {
11
- var _a;
12
5
  class WithIntersectionObserver extends BaseClass {
6
+ static config = {
7
+ ...BaseClass.config,
8
+ name: `${BaseClass.config.name}WithIntersectionObserver`,
9
+ options: {
10
+ ...BaseClass.config?.options || {},
11
+ intersectionObserver: Object
12
+ },
13
+ emits: ["intersected"]
14
+ };
15
+ $observer;
13
16
  constructor(element) {
14
17
  super(element);
15
- __publicField(this, "$observer");
16
18
  this.$observer = new IntersectionObserver(
17
19
  (entries) => {
18
20
  this.__callMethod("intersected", entries);
@@ -30,17 +32,9 @@ function withIntersectionObserver(BaseClass, defaultOptions = { threshold: creat
30
32
  });
31
33
  }
32
34
  }
33
- __publicField(WithIntersectionObserver, "config", {
34
- ...BaseClass.config,
35
- name: `${BaseClass.config.name}WithIntersectionObserver`,
36
- options: {
37
- ...((_a = BaseClass.config) == null ? void 0 : _a.options) || {},
38
- intersectionObserver: Object
39
- },
40
- emits: ["intersected"]
41
- });
42
35
  return WithIntersectionObserver;
43
36
  }
44
37
  export {
45
38
  withIntersectionObserver
46
39
  };
40
+ //# sourceMappingURL=withIntersectionObserver.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withIntersectionObserver.ts"],
4
+ "sourcesContent": ["import type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\n\nexport interface WithIntersectionObserverProps extends BaseProps {\n $options: {\n intersectionObserver: IntersectionObserverInit;\n };\n $observer: IntersectionObserver;\n intersected(entries: IntersectionObserverEntry[]): void;\n}\n\nexport interface WithIntersectionObserverInterface extends BaseInterface {\n $observer: IntersectionObserver;\n}\n\n/**\n * Create an array of number between 0 and 1 from the given length.\n */\nfunction createArrayOfNumber(length: number): number[] {\n return [...new Array(length + 1)].map((val, index) => index / length);\n}\n\n/**\n * IntersectionObserver decoration.\n */\nexport function withIntersectionObserver<S extends Base>(\n BaseClass: typeof Base,\n // eslint-disable-next-line unicorn/no-object-as-default-parameter\n defaultOptions: IntersectionObserverInit = { threshold: createArrayOfNumber(100) },\n): BaseDecorator<WithIntersectionObserverInterface, S, WithIntersectionObserverProps> {\n /**\n * Class.\n */\n class WithIntersectionObserver<T extends BaseProps = BaseProps> extends BaseClass<\n T & WithIntersectionObserverProps\n > {\n /**\n * Config\n */\n static config: BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithIntersectionObserver`,\n options: {\n ...(BaseClass.config?.options || {}),\n intersectionObserver: Object,\n },\n emits: ['intersected'],\n };\n\n /**\n * Intersection observer instance.\n */\n $observer: IntersectionObserver;\n\n /**\n * Create an observer when the class in instantiated.\n */\n constructor(element: HTMLElement) {\n super(element);\n\n this.$observer = new IntersectionObserver(\n (entries) => {\n this.__callMethod('intersected', entries);\n },\n {\n ...defaultOptions,\n ...(this.$options.intersectionObserver as IntersectionObserverInit),\n },\n );\n\n this.$on('mounted', () => {\n this.$observer.observe(this.$el);\n });\n\n this.$on('destroyed', () => {\n this.$observer.unobserve(this.$el);\n });\n }\n }\n\n // @ts-ignore\n return WithIntersectionObserver;\n}\n"],
5
+ "mappings": "AAkBA,SAAS,oBAAoB,QAA0B;AACrD,SAAO,CAAC,GAAG,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,UAAU,QAAQ,MAAM;AACtE;AAKO,SAAS,yBACd,WAEA,iBAA2C,EAAE,WAAW,oBAAoB,GAAG,EAAE,GACG;AAIpF,QAAM,iCAAkE,UAEtE;AAAA,IAIA,OAAO,SAAqB;AAAA,MAC1B,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,GAAI,UAAU,QAAQ,WAAW,CAAC;AAAA,QAClC,sBAAsB;AAAA,MACxB;AAAA,MACA,OAAO,CAAC,aAAa;AAAA,IACvB;AAAA,IAKA;AAAA,IAKA,YAAY,SAAsB;AAChC,YAAM,OAAO;AAEb,WAAK,YAAY,IAAI;AAAA,QACnB,CAAC,YAAY;AACX,eAAK,aAAa,eAAe,OAAO;AAAA,QAC1C;AAAA,QACA;AAAA,UACE,GAAG;AAAA,UACH,GAAI,KAAK,SAAS;AAAA,QACpB;AAAA,MACF;AAEA,WAAK,IAAI,WAAW,MAAM;AACxB,aAAK,UAAU,QAAQ,KAAK,GAAG;AAAA,MACjC,CAAC;AAED,WAAK,IAAI,aAAa,MAAM;AAC1B,aAAK,UAAU,UAAU,KAAK,GAAG;AAAA,MACnC,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/js-toolkit/decorators/withMountWhenInView.ts
25
20
  var withMountWhenInView_exports = {};
@@ -28,12 +23,19 @@ __export(withMountWhenInView_exports, {
28
23
  });
29
24
  module.exports = __toCommonJS(withMountWhenInView_exports);
30
25
  function withMountWhenInView(BaseClass, defaultOptions = { threshold: [0, 1] }) {
31
- var _a;
32
26
  class WithMountWhenInView extends BaseClass {
27
+ static config = {
28
+ ...BaseClass.config,
29
+ name: `${BaseClass.config.name}WithMountWhenInView`,
30
+ options: {
31
+ ...BaseClass.config?.options || {},
32
+ intersectionObserver: Object
33
+ }
34
+ };
35
+ __isVisible = false;
36
+ __observer;
33
37
  constructor(element) {
34
38
  super(element);
35
- __publicField(this, "__isVisible", false);
36
- __publicField(this, "__observer");
37
39
  this.__observer = new IntersectionObserver(
38
40
  (entries) => {
39
41
  const isVisible = entries.reduce((acc, entry) => acc || entry.isIntersecting, false);
@@ -63,14 +65,7 @@ function withMountWhenInView(BaseClass, defaultOptions = { threshold: [0, 1] })
63
65
  return this;
64
66
  }
65
67
  }
66
- __publicField(WithMountWhenInView, "config", {
67
- ...BaseClass.config,
68
- name: `${BaseClass.config.name}WithMountWhenInView`,
69
- options: {
70
- ...((_a = BaseClass.config) == null ? void 0 : _a.options) || {},
71
- intersectionObserver: Object
72
- }
73
- });
74
68
  return WithMountWhenInView;
75
69
  }
76
70
  if (module.exports.default) module.exports = module.exports.default;
71
+ //# sourceMappingURL=withMountWhenInView.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withMountWhenInView.ts"],
4
+ "sourcesContent": ["import { BaseInterface, BaseDecorator } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\n\nexport interface WithMountWhenInViewProps extends BaseProps {\n $options: {\n intersectionObserver: IntersectionObserverInit;\n };\n}\n\nexport interface WithMountWhenInViewInterface extends BaseInterface {\n /**\n * @private\n */\n __isVisible: boolean;\n /**\n * @private\n */\n __observer: IntersectionObserver;\n $mount():this;\n}\n\n/**\n * IntersectionObserver decoration.\n */\nexport function withMountWhenInView<S extends Base = Base>(\n BaseClass: typeof Base,\n // eslint-disable-next-line unicorn/no-object-as-default-parameter\n defaultOptions: IntersectionObserverInit = { threshold: [0, 1] },\n):BaseDecorator<WithMountWhenInViewInterface, S, WithMountWhenInViewProps> {\n /**\n * Class.\n */\n class WithMountWhenInView<T extends BaseProps = BaseProps> extends BaseClass<\n T & WithMountWhenInViewProps\n > {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithMountWhenInView`,\n options: {\n ...(BaseClass.config?.options || {}),\n intersectionObserver: Object,\n },\n };\n\n /**\n * Is the component visible?\n * @private\n */\n __isVisible = false;\n\n /**\n * The component's observer.\n * @private\n */\n __observer: IntersectionObserver;\n\n /**\n * Create an observer when the class in instantiated.\n *\n * @param {HTMLElement} element The component's root element.\n */\n constructor(element: HTMLElement) {\n super(element);\n\n this.__observer = new IntersectionObserver(\n (entries) => {\n const isVisible = entries.reduce((acc, entry) => acc || entry.isIntersecting, false);\n if (this.__isVisible !== isVisible) {\n this.__isVisible = isVisible;\n\n if (isVisible) {\n this.$mount();\n } else {\n setTimeout(() => this.$destroy());\n }\n }\n },\n {\n ...defaultOptions,\n ...(this.$options as typeof this.$options & WithMountWhenInViewProps['$options'])\n .intersectionObserver,\n },\n );\n\n this.__observer.observe(this.$el);\n\n this.$on('terminated', () => {\n this.__observer.disconnect();\n });\n }\n\n /**\n * Override the mounting of the component.\n */\n $mount() {\n if (this.__isVisible) {\n super.$mount();\n }\n\n return this;\n }\n }\n\n // @ts-ignore\n return WithMountWhenInView;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,SAAS,oBACd,WAEA,iBAA2C,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,GACU;AAIzE,QAAM,4BAA6D,UAEjE;AAAA,IAIA,OAAO,SAAqB;AAAA,MAC1B,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,GAAI,UAAU,QAAQ,WAAW,CAAC;AAAA,QAClC,sBAAsB;AAAA,MACxB;AAAA,IACF;AAAA,IAMA,cAAc;AAAA,IAMd;AAAA,IAOA,YAAY,SAAsB;AAChC,YAAM,OAAO;AAEb,WAAK,aAAa,IAAI;AAAA,QACpB,CAAC,YAAY;AACX,gBAAM,YAAY,QAAQ,OAAO,CAAC,KAAK,UAAU,OAAO,MAAM,gBAAgB,KAAK;AACnF,cAAI,KAAK,gBAAgB,WAAW;AAClC,iBAAK,cAAc;AAEnB,gBAAI,WAAW;AACb,mBAAK,OAAO;AAAA,YACd,OAAO;AACL,yBAAW,MAAM,KAAK,SAAS,CAAC;AAAA,YAClC;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,GAAG;AAAA,UACH,GAAI,KAAK,SACN;AAAA,QACL;AAAA,MACF;AAEA,WAAK,WAAW,QAAQ,KAAK,GAAG;AAEhC,WAAK,IAAI,cAAc,MAAM;AAC3B,aAAK,WAAW,WAAW;AAAA,MAC7B,CAAC;AAAA,IACH;AAAA,IAKA,SAAS;AACP,UAAI,KAAK,aAAa;AACpB,cAAM,OAAO;AAAA,MACf;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,16 +1,17 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  function withMountWhenInView(BaseClass, defaultOptions = { threshold: [0, 1] }) {
8
- var _a;
9
2
  class WithMountWhenInView extends BaseClass {
3
+ static config = {
4
+ ...BaseClass.config,
5
+ name: `${BaseClass.config.name}WithMountWhenInView`,
6
+ options: {
7
+ ...BaseClass.config?.options || {},
8
+ intersectionObserver: Object
9
+ }
10
+ };
11
+ __isVisible = false;
12
+ __observer;
10
13
  constructor(element) {
11
14
  super(element);
12
- __publicField(this, "__isVisible", false);
13
- __publicField(this, "__observer");
14
15
  this.__observer = new IntersectionObserver(
15
16
  (entries) => {
16
17
  const isVisible = entries.reduce((acc, entry) => acc || entry.isIntersecting, false);
@@ -40,16 +41,9 @@ function withMountWhenInView(BaseClass, defaultOptions = { threshold: [0, 1] })
40
41
  return this;
41
42
  }
42
43
  }
43
- __publicField(WithMountWhenInView, "config", {
44
- ...BaseClass.config,
45
- name: `${BaseClass.config.name}WithMountWhenInView`,
46
- options: {
47
- ...((_a = BaseClass.config) == null ? void 0 : _a.options) || {},
48
- intersectionObserver: Object
49
- }
50
- });
51
44
  return WithMountWhenInView;
52
45
  }
53
46
  export {
54
47
  withMountWhenInView
55
48
  };
49
+ //# sourceMappingURL=withMountWhenInView.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/decorators/withMountWhenInView.ts"],
4
+ "sourcesContent": ["import { BaseInterface, BaseDecorator } from '../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../Base/index.js';\n\nexport interface WithMountWhenInViewProps extends BaseProps {\n $options: {\n intersectionObserver: IntersectionObserverInit;\n };\n}\n\nexport interface WithMountWhenInViewInterface extends BaseInterface {\n /**\n * @private\n */\n __isVisible: boolean;\n /**\n * @private\n */\n __observer: IntersectionObserver;\n $mount():this;\n}\n\n/**\n * IntersectionObserver decoration.\n */\nexport function withMountWhenInView<S extends Base = Base>(\n BaseClass: typeof Base,\n // eslint-disable-next-line unicorn/no-object-as-default-parameter\n defaultOptions: IntersectionObserverInit = { threshold: [0, 1] },\n):BaseDecorator<WithMountWhenInViewInterface, S, WithMountWhenInViewProps> {\n /**\n * Class.\n */\n class WithMountWhenInView<T extends BaseProps = BaseProps> extends BaseClass<\n T & WithMountWhenInViewProps\n > {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithMountWhenInView`,\n options: {\n ...(BaseClass.config?.options || {}),\n intersectionObserver: Object,\n },\n };\n\n /**\n * Is the component visible?\n * @private\n */\n __isVisible = false;\n\n /**\n * The component's observer.\n * @private\n */\n __observer: IntersectionObserver;\n\n /**\n * Create an observer when the class in instantiated.\n *\n * @param {HTMLElement} element The component's root element.\n */\n constructor(element: HTMLElement) {\n super(element);\n\n this.__observer = new IntersectionObserver(\n (entries) => {\n const isVisible = entries.reduce((acc, entry) => acc || entry.isIntersecting, false);\n if (this.__isVisible !== isVisible) {\n this.__isVisible = isVisible;\n\n if (isVisible) {\n this.$mount();\n } else {\n setTimeout(() => this.$destroy());\n }\n }\n },\n {\n ...defaultOptions,\n ...(this.$options as typeof this.$options & WithMountWhenInViewProps['$options'])\n .intersectionObserver,\n },\n );\n\n this.__observer.observe(this.$el);\n\n this.$on('terminated', () => {\n this.__observer.disconnect();\n });\n }\n\n /**\n * Override the mounting of the component.\n */\n $mount() {\n if (this.__isVisible) {\n super.$mount();\n }\n\n return this;\n }\n }\n\n // @ts-ignore\n return WithMountWhenInView;\n}\n"],
5
+ "mappings": "AAwBO,SAAS,oBACd,WAEA,iBAA2C,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,GACU;AAIzE,QAAM,4BAA6D,UAEjE;AAAA,IAIA,OAAO,SAAqB;AAAA,MAC1B,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,GAAI,UAAU,QAAQ,WAAW,CAAC;AAAA,QAClC,sBAAsB;AAAA,MACxB;AAAA,IACF;AAAA,IAMA,cAAc;AAAA,IAMd;AAAA,IAOA,YAAY,SAAsB;AAChC,YAAM,OAAO;AAEb,WAAK,aAAa,IAAI;AAAA,QACpB,CAAC,YAAY;AACX,gBAAM,YAAY,QAAQ,OAAO,CAAC,KAAK,UAAU,OAAO,MAAM,gBAAgB,KAAK;AACnF,cAAI,KAAK,gBAAgB,WAAW;AAClC,iBAAK,cAAc;AAEnB,gBAAI,WAAW;AACb,mBAAK,OAAO;AAAA,YACd,OAAO;AACL,yBAAW,MAAM,KAAK,SAAS,CAAC;AAAA,YAClC;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,GAAG;AAAA,UACH,GAAI,KAAK,SACN;AAAA,QACL;AAAA,MACF;AAEA,WAAK,WAAW,QAAQ,KAAK,GAAG;AAEhC,WAAK,IAAI,cAAc,MAAM;AAC3B,aAAK,WAAW,WAAW;AAAA,MAC7B,CAAC;AAAA,IACH;AAAA,IAKA,SAAS;AACP,UAAI,KAAK,aAAa;AACpB,cAAM,OAAO;AAAA,MACf;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,10 +14,6 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
- mod
22
- ));
23
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
18
 
25
19
  // packages/js-toolkit/decorators/withResponsiveOptions.ts
@@ -28,16 +22,17 @@ __export(withResponsiveOptions_exports, {
28
22
  withResponsiveOptions: () => withResponsiveOptions
29
23
  });
30
24
  module.exports = __toCommonJS(withResponsiveOptions_exports);
31
- var import_ResponsiveOptionsManager = __toESM(require("../Base/managers/ResponsiveOptionsManager.cjs"), 1);
25
+ var import_ResponsiveOptionsManager = require("../Base/managers/ResponsiveOptionsManager.cjs");
32
26
  function withResponsiveOptions(BaseClass) {
33
27
  class WithResponsiveOptions extends BaseClass {
34
28
  get __managers() {
35
29
  return {
36
30
  ...super.__managers,
37
- OptionsManager: import_ResponsiveOptionsManager.default
31
+ OptionsManager: import_ResponsiveOptionsManager.ResponsiveOptionsManager
38
32
  };
39
33
  }
40
34
  }
41
35
  return WithResponsiveOptions;
42
36
  }
43
37
  if (module.exports.default) module.exports = module.exports.default;
38
+ //# sourceMappingURL=withResponsiveOptions.cjs.map