@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
@@ -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,20 +21,16 @@ 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
- // packages/js-toolkit/Base/managers/OptionsManager.js
25
+ // packages/js-toolkit/Base/managers/OptionsManager.ts
31
26
  var OptionsManager_exports = {};
32
27
  __export(OptionsManager_exports, {
33
- __getPropertyName: () => __getPropertyName,
34
- default: () => OptionsManager
28
+ OptionsManager: () => OptionsManager,
29
+ __getPropertyName: () => __getPropertyName
35
30
  });
36
31
  module.exports = __toCommonJS(OptionsManager_exports);
37
32
  var import_deepmerge = __toESM(require("deepmerge"), 1);
38
- var import_AbstractManager = __toESM(require("./AbstractManager.cjs"), 1);
33
+ var import_AbstractManager = require("./AbstractManager.cjs");
39
34
  var import_utils = require("../../utils/index.cjs");
40
35
  var types = /* @__PURE__ */ new Set([String, Number, Boolean, Array, Object]);
41
36
  var __defaultValues = {
@@ -56,7 +51,6 @@ function __getPropertyName(name, prefix = "") {
56
51
  return propertyName;
57
52
  }
58
53
  function __register(that, name, config) {
59
- var _a;
60
54
  if (!types.has(config.type)) {
61
55
  if (import_utils.isDev) {
62
56
  throw new Error(
@@ -65,7 +59,7 @@ function __register(that, name, config) {
65
59
  }
66
60
  return;
67
61
  }
68
- config.default = (_a = config.default) != null ? _a : __defaultValues[config.type.name];
62
+ config.default = config.default ?? __defaultValues[config.type.name];
69
63
  if ((config.type === Array || config.type === Object) && !(0, import_utils.isFunction)(config.default)) {
70
64
  if (import_utils.isDev) {
71
65
  throw new Error(
@@ -75,33 +69,30 @@ function __register(that, name, config) {
75
69
  return;
76
70
  }
77
71
  Object.defineProperty(that, name, {
78
- get: () => {
79
- return that.get(name, config);
80
- },
72
+ get: () => that.get(name, config),
81
73
  set: (value) => {
82
74
  that.set(name, value, config);
83
75
  },
84
76
  enumerable: true
85
77
  });
86
78
  }
87
- var OptionsManager = class extends import_AbstractManager.default {
79
+ var OptionsManager = class extends import_AbstractManager.AbstractManager {
80
+ __values = {};
81
+ name = "Base";
82
+ debug = false;
83
+ log = false;
88
84
  constructor(base) {
89
- var _a, _b;
90
85
  super(base);
91
- __publicField(this, "__values", {});
92
- __publicField(this, "name", "Base");
93
- __publicField(this, "debug", false);
94
- __publicField(this, "log", false);
95
86
  this.__hideProperties(["__values", "__defaultValues"]);
96
87
  const schema = this.__config.options || {};
97
88
  this.name = this.__config.name;
98
89
  schema.debug = {
99
90
  type: Boolean,
100
- default: (_a = this.__config.debug) != null ? _a : false
91
+ default: this.__config.debug ?? false
101
92
  };
102
93
  schema.log = {
103
94
  type: Boolean,
104
- default: (_b = this.__config.log) != null ? _b : false
95
+ default: this.__config.log ?? false
105
96
  };
106
97
  Object.entries(schema).forEach(([name, config]) => {
107
98
  __register(
@@ -177,3 +168,4 @@ var OptionsManager = class extends import_AbstractManager.default {
177
168
  }
178
169
  };
179
170
  if (module.exports.default) module.exports = module.exports.default;
171
+ //# sourceMappingURL=OptionsManager.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/Base/managers/OptionsManager.ts"],
4
+ "sourcesContent": ["import deepmerge from 'deepmerge';\nimport type { Options as DeepmergeOptions } from 'deepmerge';\nimport { AbstractManager } from './AbstractManager.js';\nimport { isDev, isFunction, isDefined, isBoolean, isArray, isObject } from '../../utils/index.js';\nimport type { Base } from '../index.js';\n\ntype OptionType =\n | StringConstructor\n | NumberConstructor\n | BooleanConstructor\n | ArrayConstructor\n | ObjectConstructor;\n\ntype ArrayOption = {\n type: ArrayConstructor;\n default?: () => unknown[];\n merge?: boolean | DeepmergeOptions;\n};\n\ntype ObjectOption = {\n type: ObjectConstructor;\n default?: () => unknown;\n merge?: boolean | DeepmergeOptions;\n};\n\ntype StringOption = {\n type: StringConstructor;\n default?: string;\n};\n\ntype NumberOption = {\n type: NumberConstructor;\n default?: number;\n};\n\ntype BooleanOption = {\n type: BooleanConstructor;\n default?: boolean;\n};\n\nexport type OptionObject = ArrayOption | ObjectOption | StringOption | NumberOption | BooleanOption;\nexport type OptionsSchema = { [name: string]: OptionType | OptionObject };\nexport type OptionsInterface = { [optionName: string]: unknown };\n\n/**\n * List of allowed types.\n */\nconst types: Set<OptionType> = new Set([String, Number, Boolean, Array, Object]);\n\n/**\n * The default values to return for each available type.\n */\nconst __defaultValues = {\n String: '',\n Number: 0,\n Boolean: false,\n Array: () => [],\n Object: () => ({}),\n};\n\n/**\n * Property name cache.\n */\nconst __propertyNameCache: Map<string, string> = new Map();\n\n/**\n * Get a property name.\n */\nexport function __getPropertyName(name: string, prefix = '') {\n const key = name + prefix;\n\n if (__propertyNameCache.has(key)) {\n return __propertyNameCache.get(key);\n }\n\n const propertyName = `option${prefix}${name.replace(/^\\w/, (c) => c.toUpperCase())}`;\n __propertyNameCache.set(key, propertyName);\n return propertyName;\n}\n\n/**\n * Register an option.\n *\n * @param {OptionsManager} that\n * @param {string} name\n * @param {OptionObject} config\n * @returns {void}\n * @private\n */\nfunction __register(that: OptionsManager, name: string, config: OptionObject) {\n if (!types.has(config.type)) {\n if (isDev) {\n throw new Error(\n `The \"${name}\" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`,\n );\n }\n return;\n }\n\n config.default = config.default ?? __defaultValues[config.type.name];\n\n if ((config.type === Array || config.type === Object) && !isFunction(config.default)) {\n if (isDev) {\n throw new Error(\n `The default value for options of type \"${config.type.name}\" must be returned by a function.`,\n );\n }\n return;\n }\n\n Object.defineProperty(that, name, {\n get: () => that.get(name, config),\n set: (value) => {\n that.set(name, value, config);\n },\n enumerable: true,\n });\n}\n\n/**\n * Class options to manage options as data attributes on an HTML element.\n *\n * @todo Use `MutationObserver` to update values? Might be more performant.\n */\nexport class OptionsManager extends AbstractManager {\n /**\n * An object to store Array and Object values for reference.\n * @private\n */\n __values = {};\n\n /**\n * Default value for the name property.\n */\n name = 'Base';\n\n /**\n * Default value for the debug property.\n */\n debug = false;\n\n /**\n * Default value for the log property.\n */\n log = false;\n\n /**\n * Class constructor.\n */\n constructor(base: Base) {\n super(base);\n\n this.__hideProperties(['__values', '__defaultValues']);\n const schema: OptionsSchema = this.__config.options || {};\n this.name = this.__config.name;\n\n schema.debug = {\n type: Boolean,\n default: this.__config.debug ?? false,\n };\n\n schema.log = {\n type: Boolean,\n default: this.__config.log ?? false,\n };\n\n Object.entries(schema).forEach(([name, config]) => {\n __register(\n this,\n name,\n types.has(config as OptionType)\n ? ({ type: config as OptionType } as OptionObject)\n : (config as OptionObject),\n );\n });\n }\n\n /**\n * Get an option value.\n */\n get(name: string, config: OptionObject) {\n const { type, default: defaultValue } = config;\n const propertyName = __getPropertyName(name);\n const hasProperty = isDefined(this.__element.dataset[propertyName]);\n\n if (type === Boolean) {\n if (defaultValue) {\n const negatedPropertyName = __getPropertyName(name, 'No');\n const hasNegatedProperty = isDefined(this.__element.dataset[negatedPropertyName]);\n\n return !hasNegatedProperty;\n }\n\n return hasProperty || defaultValue;\n }\n\n const value = this.__element.dataset[propertyName];\n\n if (type === Number) {\n return hasProperty ? Number(value) : defaultValue;\n }\n\n if (type === Array || type === Object) {\n // eslint-disable-next-line no-param-reassign\n config = type === Array ? (config as ArrayOption) : (config as ObjectOption);\n\n if (!this.__values[name]) {\n let val = hasProperty ? JSON.parse(value) : config.default();\n\n if (isDefined(config.merge)) {\n val = isBoolean(config.merge)\n ? deepmerge(config.default(), val)\n : deepmerge(config.default(), val, config.merge);\n }\n\n this.__values[name] = val;\n }\n\n return this.__values[name];\n }\n\n return hasProperty ? value : defaultValue;\n }\n\n /**\n * Set an option value.\n */\n set(name: string, value: unknown, config: OptionObject) {\n const { type, default: defaultValue } = config;\n const propertyName = __getPropertyName(name);\n\n if (value.constructor.name !== type.name) {\n if (isDev) {\n const val = isArray(value) || isObject(value) ? JSON.stringify(value) : value;\n throw new TypeError(\n `The \"${val}\" value for the \"${name}\" option must be of type \"${type.name}\"`,\n );\n }\n return;\n }\n\n switch (type) {\n case Boolean:\n if (defaultValue) {\n const negatedPropertyName = __getPropertyName(name, 'No');\n\n if (value) {\n delete this.__element.dataset[negatedPropertyName];\n } else {\n this.__element.dataset[negatedPropertyName] = '';\n }\n } else if (value) {\n this.__element.dataset[propertyName] = '';\n } else {\n delete this.__element.dataset[propertyName];\n }\n break;\n case Array:\n case Object:\n this.__values[name] = value;\n break;\n default:\n this.__element.dataset[propertyName] = value as string;\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["deepmerge"]
7
+ }
@@ -1,87 +1,74 @@
1
+ import type { Options as DeepmergeOptions } from 'deepmerge';
2
+ import { AbstractManager } from './AbstractManager.js';
3
+ import type { Base } from '../index.js';
4
+ declare type OptionType = StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor;
5
+ declare type ArrayOption = {
6
+ type: ArrayConstructor;
7
+ default?: () => unknown[];
8
+ merge?: boolean | DeepmergeOptions;
9
+ };
10
+ declare type ObjectOption = {
11
+ type: ObjectConstructor;
12
+ default?: () => unknown;
13
+ merge?: boolean | DeepmergeOptions;
14
+ };
15
+ declare type StringOption = {
16
+ type: StringConstructor;
17
+ default?: string;
18
+ };
19
+ declare type NumberOption = {
20
+ type: NumberConstructor;
21
+ default?: number;
22
+ };
23
+ declare type BooleanOption = {
24
+ type: BooleanConstructor;
25
+ default?: boolean;
26
+ };
27
+ export declare type OptionObject = ArrayOption | ObjectOption | StringOption | NumberOption | BooleanOption;
28
+ export declare type OptionsSchema = {
29
+ [name: string]: OptionType | OptionObject;
30
+ };
31
+ export declare type OptionsInterface = {
32
+ [optionName: string]: unknown;
33
+ };
1
34
  /**
2
35
  * Get a property name.
3
- *
4
- * @param {string} name
5
- * @param {string} [prefix]
6
- * @returns {string}
7
- * @protected
8
36
  */
9
- export function __getPropertyName(name: string, prefix?: string): string;
37
+ export declare function __getPropertyName(name: string, prefix?: string): string;
10
38
  /**
11
39
  * Class options to manage options as data attributes on an HTML element.
12
40
  *
13
41
  * @todo Use `MutationObserver` to update values? Might be more performant.
14
42
  */
15
- export default class OptionsManager extends AbstractManager {
43
+ export declare class OptionsManager extends AbstractManager {
16
44
  /**
17
45
  * An object to store Array and Object values for reference.
18
- * @type {Object}
19
46
  * @private
20
47
  */
21
- private __values;
48
+ __values: {};
22
49
  /**
23
50
  * Default value for the name property.
24
- * @type {string}
25
51
  */
26
52
  name: string;
27
53
  /**
28
54
  * Default value for the debug property.
29
- * @type {boolean}
30
55
  */
31
56
  debug: boolean;
32
57
  /**
33
58
  * Default value for the log property.
34
- * @type {boolean}
35
59
  */
36
60
  log: boolean;
61
+ /**
62
+ * Class constructor.
63
+ */
64
+ constructor(base: Base);
37
65
  /**
38
66
  * Get an option value.
39
- *
40
- * @param {string} name The option name.
41
- * @param {OptionObject} config The option config.
42
- * @returns {any}
43
67
  */
44
68
  get(name: string, config: OptionObject): any;
45
69
  /**
46
70
  * Set an option value.
47
- *
48
- * @param {string} name The option name.
49
- * @param {any} value The new value for this option.
50
- * @param {OptionObject} config The option config.
51
71
  */
52
- set(name: string, value: any, config: OptionObject): void;
72
+ set(name: string, value: unknown, config: OptionObject): void;
53
73
  }
54
- export type DeepmergeOptions = import('deepmerge').Options;
55
- export type Base = import('../index.js').Base;
56
- export type BaseConfig = import('../index.js').BaseConfig;
57
- export type OptionType = StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor;
58
- export type ArrayOption = {
59
- type: ArrayConstructor;
60
- default?: () => any[];
61
- merge?: boolean;
62
- };
63
- export type ObjectOption = {
64
- type: ObjectConstructor;
65
- default?: () => any;
66
- merge?: boolean;
67
- };
68
- export type StringOption = {
69
- type: StringConstructor;
70
- default?: string;
71
- };
72
- export type NumberOption = {
73
- type: NumberConstructor;
74
- default?: number;
75
- };
76
- export type BooleanOption = {
77
- type: BooleanConstructor;
78
- default?: boolean;
79
- };
80
- export type OptionObject = ArrayOption | ObjectOption | StringOption | NumberOption | BooleanOption;
81
- export type OptionsSchema = {
82
- [name: string]: OptionObject | OptionType;
83
- };
84
- export type OptionsInterface = {
85
- [optionName: string]: any;
86
- };
87
- import AbstractManager from "./AbstractManager.js";
74
+ export {};
@@ -1,11 +1,5 @@
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 deepmerge from "deepmerge";
8
- import AbstractManager from "./AbstractManager.js";
2
+ import { AbstractManager } from "./AbstractManager.js";
9
3
  import { isDev, isFunction, isDefined, isBoolean, isArray, isObject } from "../../utils/index.js";
10
4
  const types = /* @__PURE__ */ new Set([String, Number, Boolean, Array, Object]);
11
5
  const __defaultValues = {
@@ -26,7 +20,6 @@ function __getPropertyName(name, prefix = "") {
26
20
  return propertyName;
27
21
  }
28
22
  function __register(that, name, config) {
29
- var _a;
30
23
  if (!types.has(config.type)) {
31
24
  if (isDev) {
32
25
  throw new Error(
@@ -35,7 +28,7 @@ function __register(that, name, config) {
35
28
  }
36
29
  return;
37
30
  }
38
- config.default = (_a = config.default) != null ? _a : __defaultValues[config.type.name];
31
+ config.default = config.default ?? __defaultValues[config.type.name];
39
32
  if ((config.type === Array || config.type === Object) && !isFunction(config.default)) {
40
33
  if (isDev) {
41
34
  throw new Error(
@@ -45,9 +38,7 @@ function __register(that, name, config) {
45
38
  return;
46
39
  }
47
40
  Object.defineProperty(that, name, {
48
- get: () => {
49
- return that.get(name, config);
50
- },
41
+ get: () => that.get(name, config),
51
42
  set: (value) => {
52
43
  that.set(name, value, config);
53
44
  },
@@ -55,23 +46,22 @@ function __register(that, name, config) {
55
46
  });
56
47
  }
57
48
  class OptionsManager extends AbstractManager {
49
+ __values = {};
50
+ name = "Base";
51
+ debug = false;
52
+ log = false;
58
53
  constructor(base) {
59
- var _a, _b;
60
54
  super(base);
61
- __publicField(this, "__values", {});
62
- __publicField(this, "name", "Base");
63
- __publicField(this, "debug", false);
64
- __publicField(this, "log", false);
65
55
  this.__hideProperties(["__values", "__defaultValues"]);
66
56
  const schema = this.__config.options || {};
67
57
  this.name = this.__config.name;
68
58
  schema.debug = {
69
59
  type: Boolean,
70
- default: (_a = this.__config.debug) != null ? _a : false
60
+ default: this.__config.debug ?? false
71
61
  };
72
62
  schema.log = {
73
63
  type: Boolean,
74
- default: (_b = this.__config.log) != null ? _b : false
64
+ default: this.__config.log ?? false
75
65
  };
76
66
  Object.entries(schema).forEach(([name, config]) => {
77
67
  __register(
@@ -147,6 +137,7 @@ class OptionsManager extends AbstractManager {
147
137
  }
148
138
  }
149
139
  export {
150
- __getPropertyName,
151
- OptionsManager as default
140
+ OptionsManager,
141
+ __getPropertyName
152
142
  };
143
+ //# sourceMappingURL=OptionsManager.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/Base/managers/OptionsManager.ts"],
4
+ "sourcesContent": ["import deepmerge from 'deepmerge';\nimport type { Options as DeepmergeOptions } from 'deepmerge';\nimport { AbstractManager } from './AbstractManager.js';\nimport { isDev, isFunction, isDefined, isBoolean, isArray, isObject } from '../../utils/index.js';\nimport type { Base } from '../index.js';\n\ntype OptionType =\n | StringConstructor\n | NumberConstructor\n | BooleanConstructor\n | ArrayConstructor\n | ObjectConstructor;\n\ntype ArrayOption = {\n type: ArrayConstructor;\n default?: () => unknown[];\n merge?: boolean | DeepmergeOptions;\n};\n\ntype ObjectOption = {\n type: ObjectConstructor;\n default?: () => unknown;\n merge?: boolean | DeepmergeOptions;\n};\n\ntype StringOption = {\n type: StringConstructor;\n default?: string;\n};\n\ntype NumberOption = {\n type: NumberConstructor;\n default?: number;\n};\n\ntype BooleanOption = {\n type: BooleanConstructor;\n default?: boolean;\n};\n\nexport type OptionObject = ArrayOption | ObjectOption | StringOption | NumberOption | BooleanOption;\nexport type OptionsSchema = { [name: string]: OptionType | OptionObject };\nexport type OptionsInterface = { [optionName: string]: unknown };\n\n/**\n * List of allowed types.\n */\nconst types: Set<OptionType> = new Set([String, Number, Boolean, Array, Object]);\n\n/**\n * The default values to return for each available type.\n */\nconst __defaultValues = {\n String: '',\n Number: 0,\n Boolean: false,\n Array: () => [],\n Object: () => ({}),\n};\n\n/**\n * Property name cache.\n */\nconst __propertyNameCache: Map<string, string> = new Map();\n\n/**\n * Get a property name.\n */\nexport function __getPropertyName(name: string, prefix = '') {\n const key = name + prefix;\n\n if (__propertyNameCache.has(key)) {\n return __propertyNameCache.get(key);\n }\n\n const propertyName = `option${prefix}${name.replace(/^\\w/, (c) => c.toUpperCase())}`;\n __propertyNameCache.set(key, propertyName);\n return propertyName;\n}\n\n/**\n * Register an option.\n *\n * @param {OptionsManager} that\n * @param {string} name\n * @param {OptionObject} config\n * @returns {void}\n * @private\n */\nfunction __register(that: OptionsManager, name: string, config: OptionObject) {\n if (!types.has(config.type)) {\n if (isDev) {\n throw new Error(\n `The \"${name}\" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`,\n );\n }\n return;\n }\n\n config.default = config.default ?? __defaultValues[config.type.name];\n\n if ((config.type === Array || config.type === Object) && !isFunction(config.default)) {\n if (isDev) {\n throw new Error(\n `The default value for options of type \"${config.type.name}\" must be returned by a function.`,\n );\n }\n return;\n }\n\n Object.defineProperty(that, name, {\n get: () => that.get(name, config),\n set: (value) => {\n that.set(name, value, config);\n },\n enumerable: true,\n });\n}\n\n/**\n * Class options to manage options as data attributes on an HTML element.\n *\n * @todo Use `MutationObserver` to update values? Might be more performant.\n */\nexport class OptionsManager extends AbstractManager {\n /**\n * An object to store Array and Object values for reference.\n * @private\n */\n __values = {};\n\n /**\n * Default value for the name property.\n */\n name = 'Base';\n\n /**\n * Default value for the debug property.\n */\n debug = false;\n\n /**\n * Default value for the log property.\n */\n log = false;\n\n /**\n * Class constructor.\n */\n constructor(base: Base) {\n super(base);\n\n this.__hideProperties(['__values', '__defaultValues']);\n const schema: OptionsSchema = this.__config.options || {};\n this.name = this.__config.name;\n\n schema.debug = {\n type: Boolean,\n default: this.__config.debug ?? false,\n };\n\n schema.log = {\n type: Boolean,\n default: this.__config.log ?? false,\n };\n\n Object.entries(schema).forEach(([name, config]) => {\n __register(\n this,\n name,\n types.has(config as OptionType)\n ? ({ type: config as OptionType } as OptionObject)\n : (config as OptionObject),\n );\n });\n }\n\n /**\n * Get an option value.\n */\n get(name: string, config: OptionObject) {\n const { type, default: defaultValue } = config;\n const propertyName = __getPropertyName(name);\n const hasProperty = isDefined(this.__element.dataset[propertyName]);\n\n if (type === Boolean) {\n if (defaultValue) {\n const negatedPropertyName = __getPropertyName(name, 'No');\n const hasNegatedProperty = isDefined(this.__element.dataset[negatedPropertyName]);\n\n return !hasNegatedProperty;\n }\n\n return hasProperty || defaultValue;\n }\n\n const value = this.__element.dataset[propertyName];\n\n if (type === Number) {\n return hasProperty ? Number(value) : defaultValue;\n }\n\n if (type === Array || type === Object) {\n // eslint-disable-next-line no-param-reassign\n config = type === Array ? (config as ArrayOption) : (config as ObjectOption);\n\n if (!this.__values[name]) {\n let val = hasProperty ? JSON.parse(value) : config.default();\n\n if (isDefined(config.merge)) {\n val = isBoolean(config.merge)\n ? deepmerge(config.default(), val)\n : deepmerge(config.default(), val, config.merge);\n }\n\n this.__values[name] = val;\n }\n\n return this.__values[name];\n }\n\n return hasProperty ? value : defaultValue;\n }\n\n /**\n * Set an option value.\n */\n set(name: string, value: unknown, config: OptionObject) {\n const { type, default: defaultValue } = config;\n const propertyName = __getPropertyName(name);\n\n if (value.constructor.name !== type.name) {\n if (isDev) {\n const val = isArray(value) || isObject(value) ? JSON.stringify(value) : value;\n throw new TypeError(\n `The \"${val}\" value for the \"${name}\" option must be of type \"${type.name}\"`,\n );\n }\n return;\n }\n\n switch (type) {\n case Boolean:\n if (defaultValue) {\n const negatedPropertyName = __getPropertyName(name, 'No');\n\n if (value) {\n delete this.__element.dataset[negatedPropertyName];\n } else {\n this.__element.dataset[negatedPropertyName] = '';\n }\n } else if (value) {\n this.__element.dataset[propertyName] = '';\n } else {\n delete this.__element.dataset[propertyName];\n }\n break;\n case Array:\n case Object:\n this.__values[name] = value;\n break;\n default:\n this.__element.dataset[propertyName] = value as string;\n }\n }\n}\n"],
5
+ "mappings": "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",
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,23 +14,20 @@ 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
- // packages/js-toolkit/Base/managers/RefsManager.js
19
+ // packages/js-toolkit/Base/managers/RefsManager.ts
26
20
  var RefsManager_exports = {};
27
21
  __export(RefsManager_exports, {
28
- default: () => RefsManager,
22
+ RefsManager: () => RefsManager,
29
23
  normalizeRefName: () => normalizeRefName
30
24
  });
31
25
  module.exports = __toCommonJS(RefsManager_exports);
32
- var import_AbstractManager = __toESM(require("./AbstractManager.cjs"), 1);
26
+ var import_AbstractManager = require("./AbstractManager.cjs");
33
27
  var import_utils = require("../../utils/index.cjs");
28
+ var NORMALIZE_REF_NAME_REGEX = /\[\]$/;
34
29
  function normalizeRefName(name) {
35
- return name.endsWith("[]") ? name.replace(/\[\]$/, "") : name;
30
+ return name.endsWith("[]") ? name.replace(NORMALIZE_REF_NAME_REGEX, "") : name;
36
31
  }
37
32
  function __filterRefsBelongingToInstance(that, ref) {
38
33
  let ancestor = ref.parentElement;
@@ -44,9 +39,9 @@ function __filterRefsBelongingToInstance(that, ref) {
44
39
  function __register(that, refName) {
45
40
  const isMultiple = refName.endsWith("[]");
46
41
  const propName = normalizeRefName(refName);
47
- const refs = Array.from(that.__element.querySelectorAll(`[data-ref="${refName}"]`)).filter(
48
- (ref) => __filterRefsBelongingToInstance(that, ref)
49
- );
42
+ const refs = Array.from(
43
+ that.__element.querySelectorAll(`[data-ref="${refName}"]`)
44
+ ).filter((ref) => __filterRefsBelongingToInstance(that, ref));
50
45
  if (import_utils.isDev && !isMultiple && refs.length > 1) {
51
46
  console.warn(
52
47
  `[${that.__base.$options.name}]`,
@@ -76,10 +71,9 @@ function __unregister(that, refName) {
76
71
  const refs = (0, import_utils.isArray)(that[propName]) ? that[propName] : [that[propName]];
77
72
  that.__eventsManager.unbindRef(refName, refs);
78
73
  }
79
- var RefsManager = class extends import_AbstractManager.default {
74
+ var RefsManager = class extends import_AbstractManager.AbstractManager {
80
75
  get __refs() {
81
- var _a;
82
- return (_a = this.__config.refs) != null ? _a : [];
76
+ return this.__config.refs ?? [];
83
77
  }
84
78
  registerAll() {
85
79
  this.__refs.forEach((refName) => __register(this, refName));
@@ -89,3 +83,4 @@ var RefsManager = class extends import_AbstractManager.default {
89
83
  }
90
84
  };
91
85
  if (module.exports.default) module.exports = module.exports.default;
86
+ //# sourceMappingURL=RefsManager.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/Base/managers/RefsManager.ts"],
4
+ "sourcesContent": ["import { AbstractManager } from './AbstractManager.js';\nimport { isDev, isArray, isDefined } from '../../utils/index.js';\n\nconst NORMALIZE_REF_NAME_REGEX = /\\[\\]$/;\n/**\n * Normalize the name of ref.\n */\nexport function normalizeRefName(name: string) {\n return name.endsWith('[]') ? name.replace(NORMALIZE_REF_NAME_REGEX, '') : name;\n}\n\n/**\n * Filter refs belonging to the related Base instance.\n */\nfunction __filterRefsBelongingToInstance(that: RefsManager, ref: HTMLElement) {\n let ancestor = ref.parentElement;\n\n while (ancestor && !isDefined(ancestor.dataset.component)) {\n ancestor = ancestor.parentElement;\n }\n\n return ancestor === null || ancestor === that.__element;\n}\n\n/**\n * Register one ref.\n *\n * @param {RefsManager} that\n * @param {string} refName The ref name.\n * @private\n */\nfunction __register(that: RefsManager, refName: string) {\n const isMultiple = refName.endsWith('[]');\n const propName = normalizeRefName(refName);\n\n const refs = Array.from(\n that.__element.querySelectorAll<HTMLElement>(`[data-ref=\"${refName}\"]`),\n ).filter((ref) => __filterRefsBelongingToInstance(that, ref));\n\n if (isDev && !isMultiple && refs.length > 1) {\n console.warn(\n // @ts-ignore\n `[${that.__base.$options.name}]`,\n `The \"${refName}\" ref has been found multiple times.`,\n 'Did you forgot to add the `[]` suffix to its name?',\n );\n }\n\n if (!isMultiple && refs.length <= 1 && !isDefined(refs[0])) {\n if (isDev) {\n console.warn(\n // @ts-ignore\n `[${that.__base.$options.name}]`,\n `The \"${refName}\" ref is missing.`,\n `Is there an \\`[data-ref=\"${refName}\"]\\` element in the component's scope?`,\n );\n }\n\n return;\n }\n\n that.__eventsManager.bindRef(refName, refs);\n\n Object.defineProperty(that, propName, {\n // @todo remove usage of non-multiple refs as array\n value: isMultiple || refs.length > 1 ? refs : refs[0],\n enumerable: true,\n configurable: true,\n });\n}\n\n/**\n * Unregister one ref.\n */\nfunction __unregister(that:RefsManager, refName:string) {\n const propName = normalizeRefName(refName);\n const refs = isArray(that[propName]) ? that[propName] : [that[propName]];\n that.__eventsManager.unbindRef(refName, refs);\n}\n\n/**\n * Refs Manager\n *\n * @todo Use `MutationObserver` to automatically update refs?\n */\nexport class RefsManager extends AbstractManager {\n /**\n * Get refs configuration.\n */\n get __refs() {\n return this.__config.refs ?? [];\n }\n\n /**\n * Register all refs.\n */\n registerAll() {\n this.__refs.forEach((refName) => __register(this, refName));\n }\n\n /**\n * Unregister all refs.\n */\n unregisterAll() {\n this.__refs.forEach((refName) => __unregister(this, refName));\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAgC;AAChC,mBAA0C;AAE1C,IAAM,2BAA2B;AAI1B,SAAS,iBAAiB,MAAc;AAC7C,SAAO,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,0BAA0B,EAAE,IAAI;AAC5E;AAKA,SAAS,gCAAgC,MAAmB,KAAkB;AAC5E,MAAI,WAAW,IAAI;AAEnB,SAAO,YAAY,KAAC,wBAAU,SAAS,QAAQ,SAAS,GAAG;AACzD,eAAW,SAAS;AAAA,EACtB;AAEA,SAAO,aAAa,QAAQ,aAAa,KAAK;AAChD;AASA,SAAS,WAAW,MAAmB,SAAiB;AACtD,QAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,QAAM,WAAW,iBAAiB,OAAO;AAEzC,QAAM,OAAO,MAAM;AAAA,IACjB,KAAK,UAAU,iBAA8B,cAAc,WAAW;AAAA,EACxE,EAAE,OAAO,CAAC,QAAQ,gCAAgC,MAAM,GAAG,CAAC;AAE5D,MAAI,sBAAS,CAAC,cAAc,KAAK,SAAS,GAAG;AAC3C,YAAQ;AAAA,MAEN,IAAI,KAAK,OAAO,SAAS;AAAA,MACzB,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,cAAc,KAAK,UAAU,KAAK,KAAC,wBAAU,KAAK,EAAE,GAAG;AAC1D,QAAI,oBAAO;AACT,cAAQ;AAAA,QAEN,IAAI,KAAK,OAAO,SAAS;AAAA,QACzB,QAAQ;AAAA,QACR,4BAA4B;AAAA,MAC9B;AAAA,IACF;AAEA;AAAA,EACF;AAEA,OAAK,gBAAgB,QAAQ,SAAS,IAAI;AAE1C,SAAO,eAAe,MAAM,UAAU;AAAA,IAEpC,OAAO,cAAc,KAAK,SAAS,IAAI,OAAO,KAAK;AAAA,IACnD,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB,CAAC;AACH;AAKA,SAAS,aAAa,MAAkB,SAAgB;AACtD,QAAM,WAAW,iBAAiB,OAAO;AACzC,QAAM,WAAO,sBAAQ,KAAK,SAAS,IAAI,KAAK,YAAY,CAAC,KAAK,SAAS;AACvE,OAAK,gBAAgB,UAAU,SAAS,IAAI;AAC9C;AAOO,IAAM,cAAN,cAA0B,uCAAgB;AAAA,EAI/C,IAAI,SAAS;AACX,WAAO,KAAK,SAAS,QAAQ,CAAC;AAAA,EAChC;AAAA,EAKA,cAAc;AACZ,SAAK,OAAO,QAAQ,CAAC,YAAY,WAAW,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EAKA,gBAAgB;AACd,SAAK,OAAO,QAAQ,CAAC,YAAY,aAAa,MAAM,OAAO,CAAC;AAAA,EAC9D;AACF;",
6
+ "names": []
7
+ }
@@ -1,32 +1,24 @@
1
+ import { AbstractManager } from './AbstractManager.js';
1
2
  /**
2
3
  * Normalize the name of ref.
3
- *
4
- * @param {string} name The original name.
5
- * @returns {string} The normalized name.
6
4
  */
7
- export function normalizeRefName(name: string): string;
5
+ export declare function normalizeRefName(name: string): string;
8
6
  /**
9
7
  * Refs Manager
10
8
  *
11
9
  * @todo Use `MutationObserver` to automatically update refs?
12
10
  */
13
- export default class RefsManager extends AbstractManager {
11
+ export declare class RefsManager extends AbstractManager {
14
12
  /**
15
13
  * Get refs configuration.
16
- * @returns {string[]}
17
14
  */
18
15
  get __refs(): string[];
19
16
  /**
20
17
  * Register all refs.
21
- *
22
- * @returns {void}
23
18
  */
24
19
  registerAll(): void;
25
20
  /**
26
21
  * Unregister all refs.
27
- *
28
- * @returns {void}
29
22
  */
30
23
  unregisterAll(): void;
31
24
  }
32
- import AbstractManager from "./AbstractManager.js";
@@ -1,7 +1,8 @@
1
- import AbstractManager from "./AbstractManager.js";
1
+ import { AbstractManager } from "./AbstractManager.js";
2
2
  import { isDev, isArray, isDefined } from "../../utils/index.js";
3
+ const NORMALIZE_REF_NAME_REGEX = /\[\]$/;
3
4
  function normalizeRefName(name) {
4
- return name.endsWith("[]") ? name.replace(/\[\]$/, "") : name;
5
+ return name.endsWith("[]") ? name.replace(NORMALIZE_REF_NAME_REGEX, "") : name;
5
6
  }
6
7
  function __filterRefsBelongingToInstance(that, ref) {
7
8
  let ancestor = ref.parentElement;
@@ -13,9 +14,9 @@ function __filterRefsBelongingToInstance(that, ref) {
13
14
  function __register(that, refName) {
14
15
  const isMultiple = refName.endsWith("[]");
15
16
  const propName = normalizeRefName(refName);
16
- const refs = Array.from(that.__element.querySelectorAll(`[data-ref="${refName}"]`)).filter(
17
- (ref) => __filterRefsBelongingToInstance(that, ref)
18
- );
17
+ const refs = Array.from(
18
+ that.__element.querySelectorAll(`[data-ref="${refName}"]`)
19
+ ).filter((ref) => __filterRefsBelongingToInstance(that, ref));
19
20
  if (isDev && !isMultiple && refs.length > 1) {
20
21
  console.warn(
21
22
  `[${that.__base.$options.name}]`,
@@ -47,8 +48,7 @@ function __unregister(that, refName) {
47
48
  }
48
49
  class RefsManager extends AbstractManager {
49
50
  get __refs() {
50
- var _a;
51
- return (_a = this.__config.refs) != null ? _a : [];
51
+ return this.__config.refs ?? [];
52
52
  }
53
53
  registerAll() {
54
54
  this.__refs.forEach((refName) => __register(this, refName));
@@ -58,6 +58,7 @@ class RefsManager extends AbstractManager {
58
58
  }
59
59
  }
60
60
  export {
61
- RefsManager as default,
61
+ RefsManager,
62
62
  normalizeRefName
63
63
  };
64
+ //# sourceMappingURL=RefsManager.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/Base/managers/RefsManager.ts"],
4
+ "sourcesContent": ["import { AbstractManager } from './AbstractManager.js';\nimport { isDev, isArray, isDefined } from '../../utils/index.js';\n\nconst NORMALIZE_REF_NAME_REGEX = /\\[\\]$/;\n/**\n * Normalize the name of ref.\n */\nexport function normalizeRefName(name: string) {\n return name.endsWith('[]') ? name.replace(NORMALIZE_REF_NAME_REGEX, '') : name;\n}\n\n/**\n * Filter refs belonging to the related Base instance.\n */\nfunction __filterRefsBelongingToInstance(that: RefsManager, ref: HTMLElement) {\n let ancestor = ref.parentElement;\n\n while (ancestor && !isDefined(ancestor.dataset.component)) {\n ancestor = ancestor.parentElement;\n }\n\n return ancestor === null || ancestor === that.__element;\n}\n\n/**\n * Register one ref.\n *\n * @param {RefsManager} that\n * @param {string} refName The ref name.\n * @private\n */\nfunction __register(that: RefsManager, refName: string) {\n const isMultiple = refName.endsWith('[]');\n const propName = normalizeRefName(refName);\n\n const refs = Array.from(\n that.__element.querySelectorAll<HTMLElement>(`[data-ref=\"${refName}\"]`),\n ).filter((ref) => __filterRefsBelongingToInstance(that, ref));\n\n if (isDev && !isMultiple && refs.length > 1) {\n console.warn(\n // @ts-ignore\n `[${that.__base.$options.name}]`,\n `The \"${refName}\" ref has been found multiple times.`,\n 'Did you forgot to add the `[]` suffix to its name?',\n );\n }\n\n if (!isMultiple && refs.length <= 1 && !isDefined(refs[0])) {\n if (isDev) {\n console.warn(\n // @ts-ignore\n `[${that.__base.$options.name}]`,\n `The \"${refName}\" ref is missing.`,\n `Is there an \\`[data-ref=\"${refName}\"]\\` element in the component's scope?`,\n );\n }\n\n return;\n }\n\n that.__eventsManager.bindRef(refName, refs);\n\n Object.defineProperty(that, propName, {\n // @todo remove usage of non-multiple refs as array\n value: isMultiple || refs.length > 1 ? refs : refs[0],\n enumerable: true,\n configurable: true,\n });\n}\n\n/**\n * Unregister one ref.\n */\nfunction __unregister(that:RefsManager, refName:string) {\n const propName = normalizeRefName(refName);\n const refs = isArray(that[propName]) ? that[propName] : [that[propName]];\n that.__eventsManager.unbindRef(refName, refs);\n}\n\n/**\n * Refs Manager\n *\n * @todo Use `MutationObserver` to automatically update refs?\n */\nexport class RefsManager extends AbstractManager {\n /**\n * Get refs configuration.\n */\n get __refs() {\n return this.__config.refs ?? [];\n }\n\n /**\n * Register all refs.\n */\n registerAll() {\n this.__refs.forEach((refName) => __register(this, refName));\n }\n\n /**\n * Unregister all refs.\n */\n unregisterAll() {\n this.__refs.forEach((refName) => __unregister(this, refName));\n }\n}\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,OAAO,SAAS,iBAAiB;AAE1C,MAAM,2BAA2B;AAI1B,SAAS,iBAAiB,MAAc;AAC7C,SAAO,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,0BAA0B,EAAE,IAAI;AAC5E;AAKA,SAAS,gCAAgC,MAAmB,KAAkB;AAC5E,MAAI,WAAW,IAAI;AAEnB,SAAO,YAAY,CAAC,UAAU,SAAS,QAAQ,SAAS,GAAG;AACzD,eAAW,SAAS;AAAA,EACtB;AAEA,SAAO,aAAa,QAAQ,aAAa,KAAK;AAChD;AASA,SAAS,WAAW,MAAmB,SAAiB;AACtD,QAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,QAAM,WAAW,iBAAiB,OAAO;AAEzC,QAAM,OAAO,MAAM;AAAA,IACjB,KAAK,UAAU,iBAA8B,cAAc,WAAW;AAAA,EACxE,EAAE,OAAO,CAAC,QAAQ,gCAAgC,MAAM,GAAG,CAAC;AAE5D,MAAI,SAAS,CAAC,cAAc,KAAK,SAAS,GAAG;AAC3C,YAAQ;AAAA,MAEN,IAAI,KAAK,OAAO,SAAS;AAAA,MACzB,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,cAAc,KAAK,UAAU,KAAK,CAAC,UAAU,KAAK,EAAE,GAAG;AAC1D,QAAI,OAAO;AACT,cAAQ;AAAA,QAEN,IAAI,KAAK,OAAO,SAAS;AAAA,QACzB,QAAQ;AAAA,QACR,4BAA4B;AAAA,MAC9B;AAAA,IACF;AAEA;AAAA,EACF;AAEA,OAAK,gBAAgB,QAAQ,SAAS,IAAI;AAE1C,SAAO,eAAe,MAAM,UAAU;AAAA,IAEpC,OAAO,cAAc,KAAK,SAAS,IAAI,OAAO,KAAK;AAAA,IACnD,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB,CAAC;AACH;AAKA,SAAS,aAAa,MAAkB,SAAgB;AACtD,QAAM,WAAW,iBAAiB,OAAO;AACzC,QAAM,OAAO,QAAQ,KAAK,SAAS,IAAI,KAAK,YAAY,CAAC,KAAK,SAAS;AACvE,OAAK,gBAAgB,UAAU,SAAS,IAAI;AAC9C;AAOO,MAAM,oBAAoB,gBAAgB;AAAA,EAI/C,IAAI,SAAS;AACX,WAAO,KAAK,SAAS,QAAQ,CAAC;AAAA,EAChC;AAAA,EAKA,cAAc;AACZ,SAAK,OAAO,QAAQ,CAAC,YAAY,WAAW,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EAKA,gBAAgB;AACd,SAAK,OAAO,QAAQ,CAAC,YAAY,aAAa,MAAM,OAAO,CAAC;AAAA,EAC9D;AACF;",
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,19 +14,15 @@ 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/Base/managers/ResponsiveOptionsManager.ts
26
20
  var ResponsiveOptionsManager_exports = {};
27
21
  __export(ResponsiveOptionsManager_exports, {
28
- default: () => ResponsiveOptionsManager
22
+ ResponsiveOptionsManager: () => ResponsiveOptionsManager
29
23
  });
30
24
  module.exports = __toCommonJS(ResponsiveOptionsManager_exports);
31
- var import_OptionsManager = __toESM(require("./OptionsManager.cjs"), 1);
25
+ var import_OptionsManager = require("./OptionsManager.cjs");
32
26
  var import_services = require("../../services/index.cjs");
33
27
  var import_utils = require("../../utils/index.cjs");
34
28
  function __getResponsiveName(that, name) {
@@ -48,7 +42,7 @@ function __getResponsiveName(that, name) {
48
42
  });
49
43
  return responsiveName;
50
44
  }
51
- var ResponsiveOptionsManager = class extends import_OptionsManager.default {
45
+ var ResponsiveOptionsManager = class extends import_OptionsManager.OptionsManager {
52
46
  get(name, config) {
53
47
  if (!config.responsive) {
54
48
  return super.get(name, config);
@@ -66,3 +60,4 @@ var ResponsiveOptionsManager = class extends import_OptionsManager.default {
66
60
  }
67
61
  };
68
62
  if (module.exports.default) module.exports = module.exports.default;
63
+ //# sourceMappingURL=ResponsiveOptionsManager.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/Base/managers/ResponsiveOptionsManager.ts"],
4
+ "sourcesContent": ["import { OptionsManager, __getPropertyName } from './OptionsManager.js';\nimport type { OptionObject } from './OptionsManager.js';\nimport { useResize } from '../../services/index.js';\nimport { isDev } from '../../utils/index.js';\n\nexport type ResponsiveOptionObject = OptionObject & { responsive?: boolean };\n\n/**\n * Get the currently active responsive name of an option.\n *\n * @param {ResponsiveOptionsManager} that\n * @param {string} name The default name of the option.\n * @returns {string} The responsive name if one matches the current breakpoint, the default name otherwise.\n */\nfunction __getResponsiveName(that: ResponsiveOptionsManager, name: string) {\n const { breakpoint } = useResize().props();\n\n if (!breakpoint) {\n return name;\n }\n\n let responsiveName = name;\n const propertyName = __getPropertyName(name);\n const regex = new RegExp(`${propertyName}:(.+)$`);\n\n Object.keys(that.__element.dataset)\n .filter((optionName) => regex.test(optionName))\n .forEach((optionName) => {\n const [, breakpoints] = optionName.match(regex);\n const isInBreakpoint = breakpoints.split(':').includes(breakpoint);\n if (isInBreakpoint) {\n responsiveName = optionName.replace(/^option/, '');\n }\n });\n\n return responsiveName;\n}\n\n/**\n * Class options to manage options as data attributes on an HTML element.\n */\nexport class ResponsiveOptionsManager extends OptionsManager {\n /**\n * Get an option value.\n *\n * @param {string} name The option name.\n * @param {ResponsiveOptionObject} config The option configuration.\n * @returns {any}\n */\n get(name: string, config: ResponsiveOptionObject) {\n if (!config.responsive) {\n return super.get(name, config);\n }\n\n return super.get(__getResponsiveName(this, name), config);\n }\n\n /**\n * Set an option value.\n *\n * @param {string} name The option name.\n * @param {any} value The new value.\n * @param {ResponsiveOptionObject} config The option configuration.\n */\n set(name: string, value: unknown, config: ResponsiveOptionObject) {\n if (!config.responsive) {\n super.set(name, value, config);\n return;\n }\n\n if (isDev) {\n console.warn(`[${this.__config.name}]`, 'Responsive options are read-only.');\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAkD;AAElD,sBAA0B;AAC1B,mBAAsB;AAWtB,SAAS,oBAAoB,MAAgC,MAAc;AACzE,QAAM,EAAE,WAAW,QAAI,2BAAU,EAAE,MAAM;AAEzC,MAAI,CAAC,YAAY;AACf,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB;AACrB,QAAM,mBAAe,yCAAkB,IAAI;AAC3C,QAAM,QAAQ,IAAI,OAAO,GAAG,oBAAoB;AAEhD,SAAO,KAAK,KAAK,UAAU,OAAO,EAC/B,OAAO,CAAC,eAAe,MAAM,KAAK,UAAU,CAAC,EAC7C,QAAQ,CAAC,eAAe;AACvB,UAAM,CAAC,EAAE,WAAW,IAAI,WAAW,MAAM,KAAK;AAC9C,UAAM,iBAAiB,YAAY,MAAM,GAAG,EAAE,SAAS,UAAU;AACjE,QAAI,gBAAgB;AAClB,uBAAiB,WAAW,QAAQ,WAAW,EAAE;AAAA,IACnD;AAAA,EACF,CAAC;AAEH,SAAO;AACT;AAKO,IAAM,2BAAN,cAAuC,qCAAe;AAAA,EAQ3D,IAAI,MAAc,QAAgC;AAChD,QAAI,CAAC,OAAO,YAAY;AACtB,aAAO,MAAM,IAAI,MAAM,MAAM;AAAA,IAC/B;AAEA,WAAO,MAAM,IAAI,oBAAoB,MAAM,IAAI,GAAG,MAAM;AAAA,EAC1D;AAAA,EASA,IAAI,MAAc,OAAgB,QAAgC;AAChE,QAAI,CAAC,OAAO,YAAY;AACtB,YAAM,IAAI,MAAM,OAAO,MAAM;AAC7B;AAAA,IACF;AAEA,QAAI,oBAAO;AACT,cAAQ,KAAK,IAAI,KAAK,SAAS,SAAS,mCAAmC;AAAA,IAC7E;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -1,8 +1,12 @@
1
- import OptionsManager from './OptionsManager.js';
1
+ import { OptionsManager } from './OptionsManager.js';
2
+ import type { OptionObject } from './OptionsManager.js';
3
+ export declare type ResponsiveOptionObject = OptionObject & {
4
+ responsive?: boolean;
5
+ };
2
6
  /**
3
7
  * Class options to manage options as data attributes on an HTML element.
4
8
  */
5
- export default class ResponsiveOptionsManager extends OptionsManager {
9
+ export declare class ResponsiveOptionsManager extends OptionsManager {
6
10
  /**
7
11
  * Get an option value.
8
12
  *
@@ -10,7 +14,7 @@ export default class ResponsiveOptionsManager extends OptionsManager {
10
14
  * @param {ResponsiveOptionObject} config The option configuration.
11
15
  * @returns {any}
12
16
  */
13
- get(name: any, config: any): any;
17
+ get(name: string, config: ResponsiveOptionObject): any;
14
18
  /**
15
19
  * Set an option value.
16
20
  *
@@ -18,5 +22,5 @@ export default class ResponsiveOptionsManager extends OptionsManager {
18
22
  * @param {any} value The new value.
19
23
  * @param {ResponsiveOptionObject} config The option configuration.
20
24
  */
21
- set(name: any, value: any, config: any): void;
25
+ set(name: string, value: unknown, config: ResponsiveOptionObject): void;
22
26
  }
@@ -1,4 +1,4 @@
1
- import OptionsManager, { __getPropertyName } from "./OptionsManager.js";
1
+ import { OptionsManager, __getPropertyName } from "./OptionsManager.js";
2
2
  import { useResize } from "../../services/index.js";
3
3
  import { isDev } from "../../utils/index.js";
4
4
  function __getResponsiveName(that, name) {
@@ -36,5 +36,6 @@ class ResponsiveOptionsManager extends OptionsManager {
36
36
  }
37
37
  }
38
38
  export {
39
- ResponsiveOptionsManager as default
39
+ ResponsiveOptionsManager
40
40
  };
41
+ //# sourceMappingURL=ResponsiveOptionsManager.js.map