@studiometa/ui 0.2.13 → 0.2.15

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 (361) hide show
  1. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +4 -3
  2. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +7 -0
  3. package/atoms/AnchorScrollTo/AnchorScrollTo.d.ts +8 -15
  4. package/atoms/AnchorScrollTo/AnchorScrollTo.js +21 -1
  5. package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +7 -0
  6. package/atoms/AnchorScrollTo/index.cjs +21 -0
  7. package/atoms/AnchorScrollTo/index.cjs.map +7 -0
  8. package/atoms/AnchorScrollTo/index.d.ts +1 -0
  9. package/atoms/AnchorScrollTo/index.js +2 -0
  10. package/atoms/AnchorScrollTo/index.js.map +7 -0
  11. package/atoms/Cursor/Cursor.cjs +8 -3
  12. package/atoms/Cursor/Cursor.cjs.map +7 -0
  13. package/atoms/Cursor/Cursor.d.ts +19 -117
  14. package/atoms/Cursor/Cursor.js +103 -1
  15. package/atoms/Cursor/Cursor.js.map +7 -0
  16. package/atoms/Cursor/index.cjs +21 -0
  17. package/atoms/Cursor/index.cjs.map +7 -0
  18. package/atoms/Cursor/index.d.ts +1 -0
  19. package/atoms/Cursor/index.js +2 -0
  20. package/atoms/Cursor/index.js.map +7 -0
  21. package/atoms/Figure/Figure.cjs +16 -9
  22. package/atoms/Figure/Figure.cjs.map +7 -0
  23. package/atoms/Figure/Figure.d.ts +18 -53
  24. package/atoms/Figure/Figure.js +51 -1
  25. package/atoms/Figure/Figure.js.map +7 -0
  26. package/atoms/Figure/FigureTwicPics.cjs +11 -10
  27. package/atoms/Figure/FigureTwicPics.cjs.map +7 -0
  28. package/atoms/Figure/FigureTwicPics.d.ts +16 -37
  29. package/atoms/Figure/FigureTwicPics.js +46 -1
  30. package/atoms/Figure/FigureTwicPics.js.map +7 -0
  31. package/atoms/Figure/index.cjs +5 -14
  32. package/atoms/Figure/index.cjs.map +7 -0
  33. package/atoms/Figure/index.d.ts +2 -2
  34. package/atoms/Figure/index.js +3 -1
  35. package/atoms/Figure/index.js.map +7 -0
  36. package/atoms/LargeText/LargeText.cjs +8 -3
  37. package/atoms/LargeText/LargeText.cjs.map +7 -0
  38. package/atoms/LargeText/LargeText.d.ts +19 -40
  39. package/atoms/LargeText/LargeText.js +60 -1
  40. package/atoms/LargeText/LargeText.js.map +7 -0
  41. package/atoms/LargeText/index.cjs +21 -0
  42. package/atoms/LargeText/index.cjs.map +7 -0
  43. package/atoms/LargeText/index.d.ts +1 -0
  44. package/atoms/LargeText/index.js +2 -0
  45. package/atoms/LargeText/index.js.map +7 -0
  46. package/atoms/LazyInclude/LazyInclude.cjs +3 -2
  47. package/atoms/LazyInclude/LazyInclude.cjs.map +7 -0
  48. package/atoms/LazyInclude/LazyInclude.d.ts +17 -36
  49. package/atoms/LazyInclude/LazyInclude.js +41 -1
  50. package/atoms/LazyInclude/LazyInclude.js.map +7 -0
  51. package/atoms/LazyInclude/index.cjs +21 -0
  52. package/atoms/LazyInclude/index.cjs.map +7 -0
  53. package/atoms/LazyInclude/index.d.ts +1 -0
  54. package/atoms/LazyInclude/index.js +2 -0
  55. package/atoms/LazyInclude/index.js.map +7 -0
  56. package/atoms/Prefetch/AbstractPrefetch.cjs +7 -6
  57. package/atoms/Prefetch/AbstractPrefetch.cjs.map +7 -0
  58. package/atoms/Prefetch/AbstractPrefetch.d.ts +12 -35
  59. package/atoms/Prefetch/AbstractPrefetch.js +52 -1
  60. package/atoms/Prefetch/AbstractPrefetch.js.map +7 -0
  61. package/atoms/Prefetch/PrefetchWhenOver.cjs +6 -8
  62. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +7 -0
  63. package/atoms/Prefetch/PrefetchWhenOver.d.ts +8 -14
  64. package/atoms/Prefetch/PrefetchWhenOver.js +14 -1
  65. package/atoms/Prefetch/PrefetchWhenOver.js.map +7 -0
  66. package/atoms/Prefetch/PrefetchWhenVisible.cjs +6 -8
  67. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +7 -0
  68. package/atoms/Prefetch/PrefetchWhenVisible.d.ts +10 -14
  69. package/atoms/Prefetch/PrefetchWhenVisible.js +15 -1
  70. package/atoms/Prefetch/PrefetchWhenVisible.js.map +7 -0
  71. package/atoms/Prefetch/index.cjs +6 -16
  72. package/atoms/Prefetch/index.cjs.map +7 -0
  73. package/atoms/Prefetch/index.d.ts +3 -3
  74. package/atoms/Prefetch/index.js +4 -1
  75. package/atoms/Prefetch/index.js.map +7 -0
  76. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +18 -14
  77. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +7 -0
  78. package/atoms/ScrollAnimation/AbstractScrollAnimation.d.ts +19 -89
  79. package/atoms/ScrollAnimation/AbstractScrollAnimation.js +62 -1
  80. package/atoms/ScrollAnimation/AbstractScrollAnimation.js.map +7 -0
  81. package/atoms/ScrollAnimation/ScrollAnimation.cjs +6 -14
  82. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +7 -0
  83. package/atoms/ScrollAnimation/ScrollAnimation.d.ts +13 -51
  84. package/atoms/ScrollAnimation/ScrollAnimation.js +16 -1
  85. package/atoms/ScrollAnimation/ScrollAnimation.js.map +7 -0
  86. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +31 -10
  87. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +7 -0
  88. package/atoms/ScrollAnimation/ScrollAnimationChild.d.ts +19 -6
  89. package/atoms/ScrollAnimation/ScrollAnimationChild.js +45 -1
  90. package/atoms/ScrollAnimation/ScrollAnimationChild.js.map +7 -0
  91. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +7 -9
  92. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +7 -0
  93. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.d.ts +8 -2
  94. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js +12 -1
  95. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js.map +7 -0
  96. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +9 -8
  97. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +7 -0
  98. package/atoms/ScrollAnimation/ScrollAnimationParent.d.ts +14 -26
  99. package/atoms/ScrollAnimation/ScrollAnimationParent.js +22 -1
  100. package/atoms/ScrollAnimation/ScrollAnimationParent.js.map +7 -0
  101. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +7 -9
  102. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +7 -0
  103. package/atoms/ScrollAnimation/ScrollAnimationWithEase.d.ts +15 -2
  104. package/atoms/ScrollAnimation/ScrollAnimationWithEase.js +12 -1
  105. package/atoms/ScrollAnimation/ScrollAnimationWithEase.js.map +7 -0
  106. package/atoms/ScrollAnimation/animationScrollWithEase.cjs +9 -5
  107. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +7 -0
  108. package/atoms/ScrollAnimation/animationScrollWithEase.d.ts +10 -8
  109. package/atoms/ScrollAnimation/animationScrollWithEase.js +31 -1
  110. package/atoms/ScrollAnimation/animationScrollWithEase.js.map +7 -0
  111. package/atoms/ScrollAnimation/index.cjs +10 -24
  112. package/atoms/ScrollAnimation/index.cjs.map +7 -0
  113. package/atoms/ScrollAnimation/index.d.ts +7 -7
  114. package/atoms/ScrollAnimation/index.js +8 -1
  115. package/atoms/ScrollAnimation/index.js.map +7 -0
  116. package/atoms/ScrollReveal/ScrollReveal.cjs +6 -3
  117. package/atoms/ScrollReveal/ScrollReveal.cjs.map +7 -0
  118. package/atoms/ScrollReveal/ScrollReveal.d.ts +16 -59
  119. package/atoms/ScrollReveal/ScrollReveal.js +47 -1
  120. package/atoms/ScrollReveal/ScrollReveal.js.map +7 -0
  121. package/atoms/ScrollReveal/index.cjs +4 -12
  122. package/atoms/ScrollReveal/index.cjs.map +7 -0
  123. package/atoms/ScrollReveal/index.d.ts +1 -1
  124. package/atoms/ScrollReveal/index.js +2 -1
  125. package/atoms/ScrollReveal/index.js.map +7 -0
  126. package/atoms/index.cjs +6 -18
  127. package/atoms/index.cjs.map +7 -0
  128. package/atoms/index.d.ts +8 -8
  129. package/atoms/index.js +9 -1
  130. package/atoms/index.js.map +7 -0
  131. package/decorators/index.cjs +4 -12
  132. package/decorators/index.cjs.map +7 -0
  133. package/decorators/index.d.ts +1 -1
  134. package/decorators/index.js +2 -1
  135. package/decorators/index.js.map +7 -0
  136. package/decorators/withTransition.cjs +23 -17
  137. package/decorators/withTransition.cjs.map +7 -0
  138. package/decorators/withTransition.d.ts +21 -33
  139. package/decorators/withTransition.js +50 -1
  140. package/decorators/withTransition.js.map +7 -0
  141. package/index.cjs +2 -1
  142. package/index.cjs.map +7 -0
  143. package/index.d.ts +5 -5
  144. package/index.js +6 -1
  145. package/index.js.map +7 -0
  146. package/molecules/Accordion/Accordion.cjs +8 -10
  147. package/molecules/Accordion/Accordion.cjs.map +7 -0
  148. package/molecules/Accordion/Accordion.d.ts +5 -23
  149. package/molecules/Accordion/Accordion.js +14 -1
  150. package/molecules/Accordion/Accordion.js.map +7 -0
  151. package/molecules/Accordion/AccordionCore.cjs +7 -8
  152. package/molecules/Accordion/AccordionCore.cjs.map +7 -0
  153. package/molecules/Accordion/AccordionCore.d.ts +22 -70
  154. package/molecules/Accordion/AccordionCore.js +27 -1
  155. package/molecules/Accordion/AccordionCore.js.map +7 -0
  156. package/molecules/Accordion/AccordionItem.cjs +39 -23
  157. package/molecules/Accordion/AccordionItem.cjs.map +7 -0
  158. package/molecules/Accordion/AccordionItem.d.ts +24 -94
  159. package/molecules/Accordion/AccordionItem.js +146 -1
  160. package/molecules/Accordion/AccordionItem.js.map +7 -0
  161. package/molecules/Accordion/index.cjs +22 -0
  162. package/molecules/Accordion/index.cjs.map +7 -0
  163. package/molecules/Accordion/index.d.ts +2 -0
  164. package/molecules/Accordion/index.js +3 -0
  165. package/molecules/Accordion/index.js.map +7 -0
  166. package/molecules/Menu/Menu.cjs +7 -10
  167. package/molecules/Menu/Menu.cjs.map +7 -0
  168. package/molecules/Menu/Menu.d.ts +24 -84
  169. package/molecules/Menu/Menu.js +108 -1
  170. package/molecules/Menu/Menu.js.map +7 -0
  171. package/molecules/Menu/MenuBtn.cjs +4 -4
  172. package/molecules/Menu/MenuBtn.cjs.map +7 -0
  173. package/molecules/Menu/MenuBtn.d.ts +7 -9
  174. package/molecules/Menu/MenuBtn.js +22 -1
  175. package/molecules/Menu/MenuBtn.js.map +7 -0
  176. package/molecules/Menu/MenuList.cjs +9 -9
  177. package/molecules/Menu/MenuList.cjs.map +7 -0
  178. package/molecules/Menu/MenuList.d.ts +16 -53
  179. package/molecules/Menu/MenuList.js +104 -1
  180. package/molecules/Menu/MenuList.js.map +7 -0
  181. package/molecules/Menu/index.cjs +6 -16
  182. package/molecules/Menu/index.cjs.map +7 -0
  183. package/molecules/Menu/index.d.ts +3 -3
  184. package/molecules/Menu/index.js +4 -1
  185. package/molecules/Menu/index.js.map +7 -0
  186. package/molecules/Modal/Modal.cjs +35 -13
  187. package/molecules/Modal/Modal.cjs.map +7 -0
  188. package/molecules/Modal/Modal.d.ts +69 -140
  189. package/molecules/Modal/Modal.js +150 -1
  190. package/molecules/Modal/Modal.js.map +7 -0
  191. package/molecules/Modal/ModalWithTransition.cjs +5 -7
  192. package/molecules/Modal/ModalWithTransition.cjs.map +7 -0
  193. package/molecules/Modal/ModalWithTransition.d.ts +6 -22
  194. package/molecules/Modal/ModalWithTransition.js +41 -1
  195. package/molecules/Modal/ModalWithTransition.js.map +7 -0
  196. package/molecules/Modal/index.cjs +22 -0
  197. package/molecules/Modal/index.cjs.map +7 -0
  198. package/molecules/Modal/index.d.ts +2 -0
  199. package/molecules/Modal/index.js +3 -0
  200. package/molecules/Modal/index.js.map +7 -0
  201. package/molecules/Panel/Panel.cjs +38 -26
  202. package/molecules/Panel/Panel.cjs.map +7 -0
  203. package/molecules/Panel/Panel.d.ts +22 -21
  204. package/molecules/Panel/Panel.js +98 -1
  205. package/molecules/Panel/Panel.js.map +7 -0
  206. package/molecules/Panel/index.cjs +21 -0
  207. package/molecules/Panel/index.cjs.map +7 -0
  208. package/molecules/Panel/index.d.ts +1 -0
  209. package/molecules/Panel/index.js +2 -0
  210. package/molecules/Panel/index.js.map +7 -0
  211. package/molecules/Slider/AbstractSliderChild.cjs +8 -9
  212. package/molecules/Slider/AbstractSliderChild.cjs.map +7 -0
  213. package/molecules/Slider/AbstractSliderChild.d.ts +11 -30
  214. package/molecules/Slider/AbstractSliderChild.js +43 -1
  215. package/molecules/Slider/AbstractSliderChild.js.map +7 -0
  216. package/molecules/Slider/Slider.cjs +31 -18
  217. package/molecules/Slider/Slider.cjs.map +7 -0
  218. package/molecules/Slider/Slider.d.ts +40 -157
  219. package/molecules/Slider/Slider.js +271 -1
  220. package/molecules/Slider/Slider.js.map +7 -0
  221. package/molecules/Slider/SliderBtn.cjs +5 -7
  222. package/molecules/Slider/SliderBtn.cjs.map +7 -0
  223. package/molecules/Slider/SliderBtn.d.ts +12 -23
  224. package/molecules/Slider/SliderBtn.js +29 -1
  225. package/molecules/Slider/SliderBtn.js.map +7 -0
  226. package/molecules/Slider/SliderCount.cjs +5 -7
  227. package/molecules/Slider/SliderCount.cjs.map +7 -0
  228. package/molecules/Slider/SliderCount.d.ts +10 -16
  229. package/molecules/Slider/SliderCount.js +14 -1
  230. package/molecules/Slider/SliderCount.js.map +7 -0
  231. package/molecules/Slider/SliderDots.cjs +5 -7
  232. package/molecules/Slider/SliderDots.cjs.map +7 -0
  233. package/molecules/Slider/SliderDots.d.ts +11 -31
  234. package/molecules/Slider/SliderDots.js +24 -1
  235. package/molecules/Slider/SliderDots.js.map +7 -0
  236. package/molecules/Slider/SliderDrag.cjs +3 -2
  237. package/molecules/Slider/SliderDrag.cjs.map +7 -0
  238. package/molecules/Slider/SliderDrag.d.ts +12 -30
  239. package/molecules/Slider/SliderDrag.js +29 -1
  240. package/molecules/Slider/SliderDrag.js.map +7 -0
  241. package/molecules/Slider/SliderItem.cjs +7 -3
  242. package/molecules/Slider/SliderItem.cjs.map +7 -0
  243. package/molecules/Slider/SliderItem.d.ts +21 -33
  244. package/molecules/Slider/SliderItem.js +85 -1
  245. package/molecules/Slider/SliderItem.js.map +7 -0
  246. package/molecules/Slider/SliderProgress.cjs +5 -7
  247. package/molecules/Slider/SliderProgress.cjs.map +7 -0
  248. package/molecules/Slider/SliderProgress.d.ts +10 -25
  249. package/molecules/Slider/SliderProgress.js +21 -1
  250. package/molecules/Slider/SliderProgress.js.map +7 -0
  251. package/molecules/Slider/index.cjs +11 -26
  252. package/molecules/Slider/index.cjs.map +7 -0
  253. package/molecules/Slider/index.d.ts +8 -8
  254. package/molecules/Slider/index.js +9 -1
  255. package/molecules/Slider/index.js.map +7 -0
  256. package/molecules/Sticky/Sticky.cjs +12 -8
  257. package/molecules/Sticky/Sticky.cjs.map +7 -0
  258. package/molecules/Sticky/Sticky.d.ts +30 -68
  259. package/molecules/Sticky/Sticky.js +101 -1
  260. package/molecules/Sticky/Sticky.js.map +7 -0
  261. package/molecules/Sticky/index.cjs +21 -0
  262. package/molecules/Sticky/index.cjs.map +7 -0
  263. package/molecules/Sticky/index.d.ts +1 -0
  264. package/molecules/Sticky/index.js +2 -0
  265. package/molecules/Sticky/index.js.map +7 -0
  266. package/molecules/TableOfContent/TableOfContent.cjs +6 -8
  267. package/molecules/TableOfContent/TableOfContent.cjs.map +7 -0
  268. package/molecules/TableOfContent/TableOfContent.d.ts +19 -41
  269. package/molecules/TableOfContent/TableOfContent.js +37 -1
  270. package/molecules/TableOfContent/TableOfContent.js.map +7 -0
  271. package/molecules/TableOfContent/TableOfContentAnchor.cjs +7 -5
  272. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +7 -0
  273. package/molecules/TableOfContent/TableOfContentAnchor.d.ts +14 -17
  274. package/molecules/TableOfContent/TableOfContentAnchor.js +35 -1
  275. package/molecules/TableOfContent/TableOfContentAnchor.js.map +7 -0
  276. package/molecules/TableOfContent/index.cjs +5 -14
  277. package/molecules/TableOfContent/index.cjs.map +7 -0
  278. package/molecules/TableOfContent/index.d.ts +2 -2
  279. package/molecules/TableOfContent/index.js +3 -1
  280. package/molecules/TableOfContent/index.js.map +7 -0
  281. package/molecules/Tabs/Tabs.cjs +40 -22
  282. package/molecules/Tabs/Tabs.cjs.map +7 -0
  283. package/molecules/Tabs/Tabs.d.ts +28 -90
  284. package/molecules/Tabs/Tabs.js +115 -1
  285. package/molecules/Tabs/Tabs.js.map +7 -0
  286. package/molecules/Tabs/index.cjs +21 -0
  287. package/molecules/Tabs/index.cjs.map +7 -0
  288. package/molecules/Tabs/index.d.ts +1 -0
  289. package/molecules/Tabs/index.js +2 -0
  290. package/molecules/Tabs/index.js.map +7 -0
  291. package/molecules/index.cjs +8 -24
  292. package/molecules/index.cjs.map +7 -0
  293. package/molecules/index.d.ts +9 -10
  294. package/molecules/index.js +10 -1
  295. package/molecules/index.js.map +7 -0
  296. package/organisms/Frame/Frame.cjs +21 -43
  297. package/organisms/Frame/Frame.cjs.map +7 -0
  298. package/organisms/Frame/Frame.d.ts +21 -98
  299. package/organisms/Frame/Frame.js +155 -1
  300. package/organisms/Frame/Frame.js.map +7 -0
  301. package/organisms/Frame/FrameAnchor.cjs +3 -2
  302. package/organisms/Frame/FrameAnchor.cjs.map +7 -0
  303. package/organisms/Frame/FrameAnchor.d.ts +7 -16
  304. package/organisms/Frame/FrameAnchor.js +13 -1
  305. package/organisms/Frame/FrameAnchor.js.map +7 -0
  306. package/organisms/Frame/FrameForm.cjs +3 -2
  307. package/organisms/Frame/FrameForm.cjs.map +7 -0
  308. package/organisms/Frame/FrameForm.d.ts +10 -16
  309. package/organisms/Frame/FrameForm.js +13 -1
  310. package/organisms/Frame/FrameForm.js.map +7 -0
  311. package/organisms/Frame/FrameTarget.cjs +15 -9
  312. package/organisms/Frame/FrameTarget.cjs.map +7 -0
  313. package/organisms/Frame/FrameTarget.d.ts +17 -26
  314. package/organisms/Frame/FrameTarget.js +70 -1
  315. package/organisms/Frame/FrameTarget.js.map +7 -0
  316. package/organisms/Frame/index.cjs +7 -18
  317. package/organisms/Frame/index.cjs.map +7 -0
  318. package/organisms/Frame/index.d.ts +4 -4
  319. package/organisms/Frame/index.js +5 -1
  320. package/organisms/Frame/index.js.map +7 -0
  321. package/organisms/index.cjs +2 -1
  322. package/organisms/index.cjs.map +7 -0
  323. package/organisms/index.d.ts +1 -1
  324. package/organisms/index.js +2 -1
  325. package/organisms/index.js.map +7 -0
  326. package/package.json +2 -2
  327. package/primitives/Draggable/Draggable.cjs +3 -2
  328. package/primitives/Draggable/Draggable.cjs.map +7 -0
  329. package/primitives/Draggable/Draggable.d.ts +10 -11
  330. package/primitives/Draggable/Draggable.js +25 -1
  331. package/primitives/Draggable/Draggable.js.map +7 -0
  332. package/primitives/Draggable/index.cjs +21 -0
  333. package/primitives/Draggable/index.cjs.map +7 -0
  334. package/primitives/Draggable/index.d.ts +1 -0
  335. package/primitives/Draggable/index.js +2 -0
  336. package/primitives/Draggable/index.js.map +7 -0
  337. package/primitives/Sentinel/Sentinel.cjs +3 -2
  338. package/primitives/Sentinel/Sentinel.cjs.map +7 -0
  339. package/primitives/Sentinel/Sentinel.d.ts +6 -5
  340. package/primitives/Sentinel/Sentinel.js +10 -1
  341. package/primitives/Sentinel/Sentinel.js.map +7 -0
  342. package/primitives/Sentinel/index.cjs +21 -0
  343. package/primitives/Sentinel/index.cjs.map +7 -0
  344. package/primitives/Sentinel/index.d.ts +1 -0
  345. package/primitives/Sentinel/index.js +2 -0
  346. package/primitives/Sentinel/index.js.map +7 -0
  347. package/primitives/Transition/Transition.cjs +13 -3
  348. package/primitives/Transition/Transition.cjs.map +7 -0
  349. package/primitives/Transition/Transition.d.ts +13 -7
  350. package/primitives/Transition/Transition.js +11 -1
  351. package/primitives/Transition/Transition.js.map +7 -0
  352. package/primitives/Transition/index.cjs +21 -0
  353. package/primitives/Transition/index.cjs.map +7 -0
  354. package/primitives/Transition/index.d.ts +1 -0
  355. package/primitives/Transition/index.js +2 -0
  356. package/primitives/Transition/index.js.map +7 -0
  357. package/primitives/index.cjs +6 -16
  358. package/primitives/index.cjs.map +7 -0
  359. package/primitives/index.d.ts +3 -3
  360. package/primitives/index.js +4 -1
  361. package/primitives/index.js.map +7 -0
@@ -21,16 +21,21 @@ var __publicField = (obj, key, value) => {
21
21
  return value;
22
22
  };
23
23
 
24
- // packages/ui/molecules/Modal/Modal.js
24
+ // packages/ui/molecules/Modal/Modal.ts
25
25
  var Modal_exports = {};
26
26
  __export(Modal_exports, {
27
- default: () => Modal
27
+ Modal: () => Modal
28
28
  });
29
29
  module.exports = __toCommonJS(Modal_exports);
30
30
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
31
  var import_utils = require("@studiometa/js-toolkit/utils");
32
32
  var { trap, untrap, saveActiveElement } = (0, import_utils.focusTrap)();
33
33
  var Modal = class extends import_js_toolkit.Base {
34
+ isOpen = false;
35
+ __refsBackup;
36
+ __refModalPlaceholder;
37
+ __refModalParentBackup;
38
+ __refModalUnbindGetRefFilter;
34
39
  get onOpenClick() {
35
40
  return this.open;
36
41
  }
@@ -49,7 +54,7 @@ var Modal = class extends import_js_toolkit.Base {
49
54
  this.__refModalPlaceholder = document.createComment("");
50
55
  this.__refModalParentBackup = this.$refs.modal.parentElement || this.$el;
51
56
  this.__refModalParentBackup.insertBefore(this.__refModalPlaceholder, this.$refs.modal);
52
- target.appendChild(this.$refs.modal);
57
+ target.append(this.$refs.modal);
53
58
  }
54
59
  }
55
60
  get $refs() {
@@ -95,11 +100,19 @@ var Modal = class extends import_js_toolkit.Base {
95
100
  this.isOpen = true;
96
101
  this.$emit("open");
97
102
  const refs = this.$refs;
98
- return Promise.all(Object.entries(this.$options.styles).map(([refName, { open, active, closed } = { open: "", active: "", closed: "" }]) => (0, import_utils.transition)(refs[refName], {
99
- from: closed,
100
- active,
101
- to: open
102
- }, "keep"))).then(() => {
103
+ return Promise.all(
104
+ Object.entries(this.$options.styles).map(
105
+ ([refName, { open, active, closed } = { open: "", active: "", closed: "" }]) => (0, import_utils.transition)(
106
+ refs[refName],
107
+ {
108
+ from: closed,
109
+ active,
110
+ to: open
111
+ },
112
+ "keep"
113
+ )
114
+ )
115
+ ).then(() => {
103
116
  if (this.$options.autofocus && this.$refs.modal.querySelector(this.$options.autofocus)) {
104
117
  saveActiveElement();
105
118
  const autofocusElement = this.$refs.modal.querySelector(this.$options.autofocus);
@@ -120,11 +133,19 @@ var Modal = class extends import_js_toolkit.Base {
120
133
  untrap();
121
134
  this.$emit("close");
122
135
  const refs = this.$refs;
123
- return Promise.all(Object.entries(this.$options.styles).map(([refName, { open, active, closed } = { open: "", active: "", closed: "" }]) => (0, import_utils.transition)(refs[refName], {
124
- from: open,
125
- active,
126
- to: closed
127
- }, "keep"))).then(() => Promise.resolve());
136
+ return Promise.all(
137
+ Object.entries(this.$options.styles).map(
138
+ ([refName, { open, active, closed } = { open: "", active: "", closed: "" }]) => (0, import_utils.transition)(
139
+ refs[refName],
140
+ {
141
+ from: open,
142
+ active,
143
+ to: closed
144
+ },
145
+ "keep"
146
+ )
147
+ )
148
+ ).then(() => Promise.resolve());
128
149
  }
129
150
  };
130
151
  __publicField(Modal, "config", {
@@ -153,3 +174,4 @@ __publicField(Modal, "config", {
153
174
  }
154
175
  });
155
176
  if (module.exports.default) module.exports = module.exports.default;
177
+ //# sourceMappingURL=Modal.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/molecules/Modal/Modal.ts"],
4
+ "sourcesContent": ["import { Base, KeyServiceProps } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { transition, focusTrap } from '@studiometa/js-toolkit/utils';\n\nconst { trap, untrap, saveActiveElement } = focusTrap();\n\ntype ModalStates = Partial<Record<'open'|'active'|'closed', string|Partial<CSSStyleDeclaration>>>\n// eslint-disable-next-line no-use-before-define\ntype ModalStylesOption = Partial<Record<keyof ModalProps['$refs'], ModalStates>>\n\nexport interface ModalProps extends BaseProps {\n $refs: {\n close: HTMLElement[];\n container: HTMLElement;\n content: HTMLElement;\n modal: HTMLElement;\n open: HTMLElement[];\n overlay: HTMLElement;\n };\n $options: {\n /**\n * A selector where to move the modal to.\n */\n move: string;\n /**\n * A selector for the element to set the focus to when the modal opens.\n */\n autofocus: string;\n /**\n * Lock or allow scroll in the documentElement.\n */\n scrollLock: boolean;\n /**\n * The styles for the different state of the modal.\n */\n styles: ModalStylesOption;\n }\n}\n\n/**\n * Modal class.\n */\nexport class Modal<T extends BaseProps = BaseProps> extends Base<T & ModalProps> {\n /**\n * Config.\n */\n static config:BaseConfig = {\n name: 'Modal',\n refs: ['close[]', 'container', 'content', 'modal', 'open[]', 'overlay'],\n emits: ['open', 'close'],\n options: {\n move: String,\n autofocus: { type: String, default: '[autofocus]' },\n styles: {\n type: Object,\n default: ():ModalStylesOption => ({\n modal: {\n closed: {\n opacity: '0',\n pointerEvents: 'none',\n visibility: 'hidden',\n },\n },\n }),\n },\n scrollLock: {\n type: Boolean,\n default: true,\n },\n },\n };\n\n /**\n * Wether the modal is open or not.\n */\n isOpen = false;\n\n /**\n * @private\n */\n __refsBackup:(T & ModalProps)['$refs'];\n\n /**\n * @private\n */\n __refModalPlaceholder: Comment;\n\n /**\n * @private\n */\n __refModalParentBackup: HTMLElement;\n\n /**\n * @private\n */\n __refModalUnbindGetRefFilter:() => void;\n\n /**\n * Open the modal on click on the `open` ref.\n */\n get onOpenClick() {\n return this.open;\n }\n\n /**\n * Close the modal on click on the `close` ref.\n */\n get onCloseClick() {\n return this.close;\n }\n\n /**\n * Close the modal on click on the `overlay` ref.\n *\n * @returns {Function} The component's `close` method.\n */\n get onOverlayClick() {\n return this.close;\n }\n\n /**\n * Initialize the component's behaviours.\n */\n mounted() {\n this.isOpen = false;\n this.close();\n\n if (this.$options.move) {\n const target = document.querySelector(this.$options.move) || document.body;\n\n this.__refsBackup = this.$refs;\n this.__refModalPlaceholder = document.createComment('');\n this.__refModalParentBackup = this.$refs.modal.parentElement || this.$el;\n this.__refModalParentBackup.insertBefore(this.__refModalPlaceholder, this.$refs.modal);\n\n target.append(this.$refs.modal);\n }\n }\n\n /**\n * Add the moved refs to `this.$refs` when using the `move` options.\n */\n get $refs() {\n const $refs = super.$refs;\n\n if (this.$options.move && this.__refsBackup) {\n Object.entries(this.__refsBackup).forEach(([key, ref]) => {\n if (!$refs[key]) {\n // @ts-ignore\n $refs[key] = ref;\n }\n });\n }\n\n return $refs;\n }\n\n /**\n * Unbind all events on destroy.\n */\n destroyed() {\n this.close();\n\n if (this.$options.move && this.__refModalParentBackup) {\n this.__refModalParentBackup.insertBefore(this.$refs.modal, this.__refModalPlaceholder);\n this.__refModalPlaceholder.remove();\n delete this.__refModalPlaceholder;\n delete this.__refModalParentBackup;\n }\n\n return this;\n }\n\n /**\n * Close the modal on `ESC` and trap the tabulation.\n */\n keyed({ event, isUp, isDown, ESC }:KeyServiceProps) {\n if (!this.isOpen) {\n return;\n }\n\n if (isDown) {\n trap(this.$refs.modal, event);\n }\n\n if (ESC && isUp) {\n this.close();\n }\n }\n\n /**\n * Open the modal.\n */\n async open() {\n if (this.isOpen) {\n return Promise.resolve();\n }\n\n this.$refs.modal.setAttribute('aria-hidden', 'false');\n\n if (this.$options.scrollLock) {\n document.documentElement.style.overflow = 'hidden';\n }\n\n this.isOpen = true;\n this.$emit('open');\n\n /** @type {ModalRefs} */\n const refs = this.$refs;\n\n return Promise.all(\n Object.entries(this.$options.styles).map(\n ([refName, { open, active, closed } = { open: '', active: '', closed: '' }]) =>\n transition(\n refs[refName],\n {\n from: closed,\n active,\n to: open,\n },\n 'keep',\n ),\n ),\n ).then(() => {\n if (this.$options.autofocus && this.$refs.modal.querySelector(this.$options.autofocus)) {\n saveActiveElement();\n const autofocusElement = this.$refs.modal.querySelector(this.$options.autofocus) as HTMLElement;\n autofocusElement.focus();\n }\n return Promise.resolve();\n });\n }\n\n /**\n * Close the modal.\n */\n async close() {\n if (!this.isOpen) {\n return Promise.resolve();\n }\n\n this.$refs.modal.setAttribute('aria-hidden', 'true');\n\n if (this.$options.scrollLock) {\n document.documentElement.style.overflow = '';\n }\n\n this.isOpen = false;\n untrap();\n this.$emit('close');\n\n const refs = this.$refs;\n\n return Promise.all(\n Object.entries(this.$options.styles).map(\n ([refName, { open, active, closed } = { open: '', active: '', closed: '' }]) =>\n transition(\n refs[refName],\n {\n from: open,\n active,\n to: closed,\n },\n 'keep',\n ),\n ),\n ).then(() => Promise.resolve());\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,171 +1,100 @@
1
- /**
2
- * @typedef {Object} ModalRefs
3
- * @property {HTMLElement} close[]
4
- * @property {HTMLElement} container
5
- * @property {HTMLElement} content
6
- * @property {HTMLElement} modal
7
- * @property {HTMLElement} open[]
8
- * @property {HTMLElement} overlay
9
- */
10
- /**
11
- * @typedef {Partial<Record<'open'|'active'|'closed', string|Partial<CSSStyleDeclaration>>>} ModalStates
12
- * @typedef {Partial<Record<keyof ModalRefs, ModalStates>>} ModalStylesOption
13
- */
14
- /**
15
- * @typedef {Object} ModalOptions
16
- * @property {String} move A selector where to move the modal to.
17
- * @property {String} autofocus A selector for the element to set the focus to when the modal opens.
18
- * @property {Boolean} scrollLock Lock or allow scroll in the documentElement.
19
- * @property {ModalStylesOption} styles The styles for the different state of the modal.
20
- */
21
- /**
22
- * @typedef {Object} ModalPrivateInterface
23
- * @property {ModalRefs} $refs
24
- * @property {ModalOptions} $options
25
- * @property {Boolean} isOpen
26
- * @property {Comment} refModalPlaceholder
27
- * @property {HTMLElement} refModalParentBackup
28
- * @property {Function} refModalUnbindGetRefFilter
29
- */
30
- /**
31
- * @typedef {Modal & ModalPrivateInterface} ModalInterface
32
- * @typedef {typeof Modal} ModalConstructor
33
- */
1
+ import { Base, KeyServiceProps } from '@studiometa/js-toolkit';
2
+ import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';
3
+ declare type ModalStates = Partial<Record<'open' | 'active' | 'closed', string | Partial<CSSStyleDeclaration>>>;
4
+ declare type ModalStylesOption = Partial<Record<keyof ModalProps['$refs'], ModalStates>>;
5
+ export interface ModalProps extends BaseProps {
6
+ $refs: {
7
+ close: HTMLElement[];
8
+ container: HTMLElement;
9
+ content: HTMLElement;
10
+ modal: HTMLElement;
11
+ open: HTMLElement[];
12
+ overlay: HTMLElement;
13
+ };
14
+ $options: {
15
+ /**
16
+ * A selector where to move the modal to.
17
+ */
18
+ move: string;
19
+ /**
20
+ * A selector for the element to set the focus to when the modal opens.
21
+ */
22
+ autofocus: string;
23
+ /**
24
+ * Lock or allow scroll in the documentElement.
25
+ */
26
+ scrollLock: boolean;
27
+ /**
28
+ * The styles for the different state of the modal.
29
+ */
30
+ styles: ModalStylesOption;
31
+ };
32
+ }
34
33
  /**
35
34
  * Modal class.
36
35
  */
37
- export default class Modal extends Base {
36
+ export declare class Modal<T extends BaseProps = BaseProps> extends Base<T & ModalProps> {
38
37
  /**
39
- * Modal options.
38
+ * Config.
40
39
  */
41
- static config: {
42
- name: string;
43
- refs: string[];
44
- emits: string[];
45
- options: {
46
- move: StringConstructor;
47
- autofocus: {
48
- type: StringConstructor;
49
- default: string;
50
- };
51
- styles: {
52
- type: ObjectConstructor;
53
- /**
54
- * @return {ModalStylesOption}
55
- */
56
- default: () => ModalStylesOption;
57
- };
58
- /**
59
- * @return {ModalScrollLockOption}
60
- */
61
- scrollLock: {
62
- type: BooleanConstructor;
63
- default: boolean;
64
- };
65
- };
66
- };
40
+ static config: BaseConfig;
67
41
  /**
68
- * Open the modal on click on the `open` ref.
69
- *
70
- * @return {Function} The component's `open` method.
42
+ * Wether the modal is open or not.
71
43
  */
72
- get onOpenClick(): Function;
44
+ isOpen: boolean;
73
45
  /**
74
- * Close the modal on click on the `close` ref.
75
- *
76
- * @return {Function} The component's `close` method.
46
+ * @private
77
47
  */
78
- get onCloseClick(): Function;
48
+ __refsBackup: (T & ModalProps)['$refs'];
79
49
  /**
80
- * Close the modal on click on the `overlay` ref.
81
- *
82
- * @return {Function} The component's `close` method.
50
+ * @private
83
51
  */
84
- get onOverlayClick(): Function;
52
+ __refModalPlaceholder: Comment;
85
53
  /**
86
- * Initialize the component's behaviours.
87
- *
88
- * @this {ModalInterface}
54
+ * @private
89
55
  */
90
- mounted(this: ModalInterface): void;
91
- isOpen: boolean;
92
- __refsBackup: import("@studiometa/js-toolkit/Base/managers/RefsManager").default & ModalRefs;
93
- __refModalPlaceholder: Comment;
94
56
  __refModalParentBackup: HTMLElement;
95
57
  /**
96
- * Unbind all events on destroy.
97
- *
98
- * @this {ModalInterface}
99
- * @return {Modal} The Modal instance.
58
+ * @private
100
59
  */
101
- destroyed(this: ModalInterface): Modal;
60
+ __refModalUnbindGetRefFilter: () => void;
102
61
  /**
103
- * Close the modal on `ESC` and trap the tabulation.
104
- *
105
- * @this {ModalInterface}
106
- * @param {Object} options
107
- * @param {KeyboardEvent} options.event The original keyboard event
108
- * @param {Boolean} options.isUp Is it a keyup event?
109
- * @param {Boolean} options.isDown Is it a keydown event?
110
- * @param {Boolean} options.ESC Is it the ESC key?
62
+ * Open the modal on click on the `open` ref.
111
63
  */
112
- keyed(this: ModalInterface, { event, isUp, isDown, ESC }: {
113
- event: KeyboardEvent;
114
- isUp: boolean;
115
- isDown: boolean;
116
- ESC: boolean;
117
- }): void;
64
+ get onOpenClick(): () => Promise<void>;
118
65
  /**
119
- * Open the modal.
120
- *
121
- * @this {ModalInterface}
122
- * @return {Promise<void>} The Modal instance.
66
+ * Close the modal on click on the `close` ref.
123
67
  */
124
- open(this: ModalInterface): Promise<void>;
68
+ get onCloseClick(): () => Promise<void>;
125
69
  /**
126
- * Close the modal.
70
+ * Close the modal on click on the `overlay` ref.
127
71
  *
128
- * @this {ModalInterface}
129
- * @return {Promise<void>} The Modal instance.
72
+ * @returns {Function} The component's `close` method.
130
73
  */
131
- close(this: ModalInterface): Promise<void>;
132
- }
133
- export type ModalRefs = {
134
- close: HTMLElement;
135
- container: HTMLElement;
136
- content: HTMLElement;
137
- modal: HTMLElement;
138
- open: HTMLElement;
139
- overlay: HTMLElement;
140
- };
141
- export type ModalStates = Partial<Record<'open' | 'active' | 'closed', string | Partial<CSSStyleDeclaration>>>;
142
- export type ModalStylesOption = Partial<Record<keyof ModalRefs, ModalStates>>;
143
- export type ModalOptions = {
74
+ get onOverlayClick(): () => Promise<void>;
144
75
  /**
145
- * A selector where to move the modal to.
76
+ * Initialize the component's behaviours.
146
77
  */
147
- move: string;
78
+ mounted(): void;
148
79
  /**
149
- * A selector for the element to set the focus to when the modal opens.
80
+ * Add the moved refs to `this.$refs` when using the `move` options.
150
81
  */
151
- autofocus: string;
82
+ get $refs(): import("@studiometa/js-toolkit/Base/managers/RefsManager").RefsManager & (T & ModalProps)["$refs"] & import("@studiometa/js-toolkit/Base").BaseRefs;
152
83
  /**
153
- * Lock or allow scroll in the documentElement.
84
+ * Unbind all events on destroy.
154
85
  */
155
- scrollLock: boolean;
86
+ destroyed(): this;
156
87
  /**
157
- * The styles for the different state of the modal.
88
+ * Close the modal on `ESC` and trap the tabulation.
158
89
  */
159
- styles: ModalStylesOption;
160
- };
161
- export type ModalPrivateInterface = {
162
- $refs: ModalRefs;
163
- $options: ModalOptions;
164
- isOpen: boolean;
165
- refModalPlaceholder: Comment;
166
- refModalParentBackup: HTMLElement;
167
- refModalUnbindGetRefFilter: Function;
168
- };
169
- export type ModalInterface = Modal & ModalPrivateInterface;
170
- export type ModalConstructor = typeof Modal;
171
- import { Base } from "@studiometa/js-toolkit";
90
+ keyed({ event, isUp, isDown, ESC }: KeyServiceProps): void;
91
+ /**
92
+ * Open the modal.
93
+ */
94
+ open(): Promise<void>;
95
+ /**
96
+ * Close the modal.
97
+ */
98
+ close(): Promise<void>;
99
+ }
100
+ export {};
@@ -1 +1,150 @@
1
- import{Base as n}from"@studiometa/js-toolkit";import{transition as r,focusTrap as l}from"@studiometa/js-toolkit/utils";const{trap:a,untrap:c,saveActiveElement:f}=l();class h extends n{static config={name:"Modal",refs:["close[]","container","content","modal","open[]","overlay"],emits:["open","close"],options:{move:String,autofocus:{type:String,default:"[autofocus]"},styles:{type:Object,default:()=>({modal:{closed:{opacity:"0",pointerEvents:"none",visibility:"hidden"}}})},scrollLock:{type:Boolean,default:!0}}};get onOpenClick(){return this.open}get onCloseClick(){return this.close}get onOverlayClick(){return this.close}mounted(){if(this.isOpen=!1,this.close(),this.$options.move){const e=document.querySelector(this.$options.move)||document.body;this.__refsBackup=this.$refs,this.__refModalPlaceholder=document.createComment(""),this.__refModalParentBackup=this.$refs.modal.parentElement||this.$el,this.__refModalParentBackup.insertBefore(this.__refModalPlaceholder,this.$refs.modal),e.appendChild(this.$refs.modal)}}get $refs(){const e=super.$refs;return this.$options.move&&this.__refsBackup&&Object.entries(this.__refsBackup).forEach(([t,s])=>{e[t]||(e[t]=s)}),e}destroyed(){return this.close(),this.$options.move&&this.__refModalParentBackup&&(this.__refModalParentBackup.insertBefore(this.$refs.modal,this.__refModalPlaceholder),this.__refModalPlaceholder.remove(),delete this.__refModalPlaceholder,delete this.__refModalParentBackup),this}keyed({event:e,isUp:t,isDown:s,ESC:o}){!this.isOpen||(s&&a(this.$refs.modal,e),o&&t&&this.close())}async open(){if(this.isOpen)return Promise.resolve();this.$refs.modal.setAttribute("aria-hidden","false"),this.$options.scrollLock&&(document.documentElement.style.overflow="hidden"),this.isOpen=!0,this.$emit("open");const e=this.$refs;return Promise.all(Object.entries(this.$options.styles).map(([t,{open:s,active:o,closed:i}={open:"",active:"",closed:""}])=>r(e[t],{from:i,active:o,to:s},"keep"))).then(()=>(this.$options.autofocus&&this.$refs.modal.querySelector(this.$options.autofocus)&&(f(),this.$refs.modal.querySelector(this.$options.autofocus).focus()),Promise.resolve()))}async close(){if(!this.isOpen)return Promise.resolve();this.$refs.modal.setAttribute("aria-hidden","true"),this.$options.scrollLock&&(document.documentElement.style.overflow=""),this.isOpen=!1,c(),this.$emit("close");const e=this.$refs;return Promise.all(Object.entries(this.$options.styles).map(([t,{open:s,active:o,closed:i}={open:"",active:"",closed:""}])=>r(e[t],{from:s,active:o,to:i},"keep"))).then(()=>Promise.resolve())}}export{h as default};
1
+ import { Base } from "@studiometa/js-toolkit";
2
+ import { transition, focusTrap } from "@studiometa/js-toolkit/utils";
3
+ const { trap, untrap, saveActiveElement } = focusTrap();
4
+ class Modal extends Base {
5
+ static config = {
6
+ name: "Modal",
7
+ refs: ["close[]", "container", "content", "modal", "open[]", "overlay"],
8
+ emits: ["open", "close"],
9
+ options: {
10
+ move: String,
11
+ autofocus: { type: String, default: "[autofocus]" },
12
+ styles: {
13
+ type: Object,
14
+ default: () => ({
15
+ modal: {
16
+ closed: {
17
+ opacity: "0",
18
+ pointerEvents: "none",
19
+ visibility: "hidden"
20
+ }
21
+ }
22
+ })
23
+ },
24
+ scrollLock: {
25
+ type: Boolean,
26
+ default: true
27
+ }
28
+ }
29
+ };
30
+ isOpen = false;
31
+ __refsBackup;
32
+ __refModalPlaceholder;
33
+ __refModalParentBackup;
34
+ __refModalUnbindGetRefFilter;
35
+ get onOpenClick() {
36
+ return this.open;
37
+ }
38
+ get onCloseClick() {
39
+ return this.close;
40
+ }
41
+ get onOverlayClick() {
42
+ return this.close;
43
+ }
44
+ mounted() {
45
+ this.isOpen = false;
46
+ this.close();
47
+ if (this.$options.move) {
48
+ const target = document.querySelector(this.$options.move) || document.body;
49
+ this.__refsBackup = this.$refs;
50
+ this.__refModalPlaceholder = document.createComment("");
51
+ this.__refModalParentBackup = this.$refs.modal.parentElement || this.$el;
52
+ this.__refModalParentBackup.insertBefore(this.__refModalPlaceholder, this.$refs.modal);
53
+ target.append(this.$refs.modal);
54
+ }
55
+ }
56
+ get $refs() {
57
+ const $refs = super.$refs;
58
+ if (this.$options.move && this.__refsBackup) {
59
+ Object.entries(this.__refsBackup).forEach(([key, ref]) => {
60
+ if (!$refs[key]) {
61
+ $refs[key] = ref;
62
+ }
63
+ });
64
+ }
65
+ return $refs;
66
+ }
67
+ destroyed() {
68
+ this.close();
69
+ if (this.$options.move && this.__refModalParentBackup) {
70
+ this.__refModalParentBackup.insertBefore(this.$refs.modal, this.__refModalPlaceholder);
71
+ this.__refModalPlaceholder.remove();
72
+ delete this.__refModalPlaceholder;
73
+ delete this.__refModalParentBackup;
74
+ }
75
+ return this;
76
+ }
77
+ keyed({ event, isUp, isDown, ESC }) {
78
+ if (!this.isOpen) {
79
+ return;
80
+ }
81
+ if (isDown) {
82
+ trap(this.$refs.modal, event);
83
+ }
84
+ if (ESC && isUp) {
85
+ this.close();
86
+ }
87
+ }
88
+ async open() {
89
+ if (this.isOpen) {
90
+ return Promise.resolve();
91
+ }
92
+ this.$refs.modal.setAttribute("aria-hidden", "false");
93
+ if (this.$options.scrollLock) {
94
+ document.documentElement.style.overflow = "hidden";
95
+ }
96
+ this.isOpen = true;
97
+ this.$emit("open");
98
+ const refs = this.$refs;
99
+ return Promise.all(
100
+ Object.entries(this.$options.styles).map(
101
+ ([refName, { open, active, closed } = { open: "", active: "", closed: "" }]) => transition(
102
+ refs[refName],
103
+ {
104
+ from: closed,
105
+ active,
106
+ to: open
107
+ },
108
+ "keep"
109
+ )
110
+ )
111
+ ).then(() => {
112
+ if (this.$options.autofocus && this.$refs.modal.querySelector(this.$options.autofocus)) {
113
+ saveActiveElement();
114
+ const autofocusElement = this.$refs.modal.querySelector(this.$options.autofocus);
115
+ autofocusElement.focus();
116
+ }
117
+ return Promise.resolve();
118
+ });
119
+ }
120
+ async close() {
121
+ if (!this.isOpen) {
122
+ return Promise.resolve();
123
+ }
124
+ this.$refs.modal.setAttribute("aria-hidden", "true");
125
+ if (this.$options.scrollLock) {
126
+ document.documentElement.style.overflow = "";
127
+ }
128
+ this.isOpen = false;
129
+ untrap();
130
+ this.$emit("close");
131
+ const refs = this.$refs;
132
+ return Promise.all(
133
+ Object.entries(this.$options.styles).map(
134
+ ([refName, { open, active, closed } = { open: "", active: "", closed: "" }]) => transition(
135
+ refs[refName],
136
+ {
137
+ from: open,
138
+ active,
139
+ to: closed
140
+ },
141
+ "keep"
142
+ )
143
+ )
144
+ ).then(() => Promise.resolve());
145
+ }
146
+ }
147
+ export {
148
+ Modal
149
+ };
150
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/molecules/Modal/Modal.ts"],
4
+ "sourcesContent": ["import { Base, KeyServiceProps } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { transition, focusTrap } from '@studiometa/js-toolkit/utils';\n\nconst { trap, untrap, saveActiveElement } = focusTrap();\n\ntype ModalStates = Partial<Record<'open'|'active'|'closed', string|Partial<CSSStyleDeclaration>>>\n// eslint-disable-next-line no-use-before-define\ntype ModalStylesOption = Partial<Record<keyof ModalProps['$refs'], ModalStates>>\n\nexport interface ModalProps extends BaseProps {\n $refs: {\n close: HTMLElement[];\n container: HTMLElement;\n content: HTMLElement;\n modal: HTMLElement;\n open: HTMLElement[];\n overlay: HTMLElement;\n };\n $options: {\n /**\n * A selector where to move the modal to.\n */\n move: string;\n /**\n * A selector for the element to set the focus to when the modal opens.\n */\n autofocus: string;\n /**\n * Lock or allow scroll in the documentElement.\n */\n scrollLock: boolean;\n /**\n * The styles for the different state of the modal.\n */\n styles: ModalStylesOption;\n }\n}\n\n/**\n * Modal class.\n */\nexport class Modal<T extends BaseProps = BaseProps> extends Base<T & ModalProps> {\n /**\n * Config.\n */\n static config:BaseConfig = {\n name: 'Modal',\n refs: ['close[]', 'container', 'content', 'modal', 'open[]', 'overlay'],\n emits: ['open', 'close'],\n options: {\n move: String,\n autofocus: { type: String, default: '[autofocus]' },\n styles: {\n type: Object,\n default: ():ModalStylesOption => ({\n modal: {\n closed: {\n opacity: '0',\n pointerEvents: 'none',\n visibility: 'hidden',\n },\n },\n }),\n },\n scrollLock: {\n type: Boolean,\n default: true,\n },\n },\n };\n\n /**\n * Wether the modal is open or not.\n */\n isOpen = false;\n\n /**\n * @private\n */\n __refsBackup:(T & ModalProps)['$refs'];\n\n /**\n * @private\n */\n __refModalPlaceholder: Comment;\n\n /**\n * @private\n */\n __refModalParentBackup: HTMLElement;\n\n /**\n * @private\n */\n __refModalUnbindGetRefFilter:() => void;\n\n /**\n * Open the modal on click on the `open` ref.\n */\n get onOpenClick() {\n return this.open;\n }\n\n /**\n * Close the modal on click on the `close` ref.\n */\n get onCloseClick() {\n return this.close;\n }\n\n /**\n * Close the modal on click on the `overlay` ref.\n *\n * @returns {Function} The component's `close` method.\n */\n get onOverlayClick() {\n return this.close;\n }\n\n /**\n * Initialize the component's behaviours.\n */\n mounted() {\n this.isOpen = false;\n this.close();\n\n if (this.$options.move) {\n const target = document.querySelector(this.$options.move) || document.body;\n\n this.__refsBackup = this.$refs;\n this.__refModalPlaceholder = document.createComment('');\n this.__refModalParentBackup = this.$refs.modal.parentElement || this.$el;\n this.__refModalParentBackup.insertBefore(this.__refModalPlaceholder, this.$refs.modal);\n\n target.append(this.$refs.modal);\n }\n }\n\n /**\n * Add the moved refs to `this.$refs` when using the `move` options.\n */\n get $refs() {\n const $refs = super.$refs;\n\n if (this.$options.move && this.__refsBackup) {\n Object.entries(this.__refsBackup).forEach(([key, ref]) => {\n if (!$refs[key]) {\n // @ts-ignore\n $refs[key] = ref;\n }\n });\n }\n\n return $refs;\n }\n\n /**\n * Unbind all events on destroy.\n */\n destroyed() {\n this.close();\n\n if (this.$options.move && this.__refModalParentBackup) {\n this.__refModalParentBackup.insertBefore(this.$refs.modal, this.__refModalPlaceholder);\n this.__refModalPlaceholder.remove();\n delete this.__refModalPlaceholder;\n delete this.__refModalParentBackup;\n }\n\n return this;\n }\n\n /**\n * Close the modal on `ESC` and trap the tabulation.\n */\n keyed({ event, isUp, isDown, ESC }:KeyServiceProps) {\n if (!this.isOpen) {\n return;\n }\n\n if (isDown) {\n trap(this.$refs.modal, event);\n }\n\n if (ESC && isUp) {\n this.close();\n }\n }\n\n /**\n * Open the modal.\n */\n async open() {\n if (this.isOpen) {\n return Promise.resolve();\n }\n\n this.$refs.modal.setAttribute('aria-hidden', 'false');\n\n if (this.$options.scrollLock) {\n document.documentElement.style.overflow = 'hidden';\n }\n\n this.isOpen = true;\n this.$emit('open');\n\n /** @type {ModalRefs} */\n const refs = this.$refs;\n\n return Promise.all(\n Object.entries(this.$options.styles).map(\n ([refName, { open, active, closed } = { open: '', active: '', closed: '' }]) =>\n transition(\n refs[refName],\n {\n from: closed,\n active,\n to: open,\n },\n 'keep',\n ),\n ),\n ).then(() => {\n if (this.$options.autofocus && this.$refs.modal.querySelector(this.$options.autofocus)) {\n saveActiveElement();\n const autofocusElement = this.$refs.modal.querySelector(this.$options.autofocus) as HTMLElement;\n autofocusElement.focus();\n }\n return Promise.resolve();\n });\n }\n\n /**\n * Close the modal.\n */\n async close() {\n if (!this.isOpen) {\n return Promise.resolve();\n }\n\n this.$refs.modal.setAttribute('aria-hidden', 'true');\n\n if (this.$options.scrollLock) {\n document.documentElement.style.overflow = '';\n }\n\n this.isOpen = false;\n untrap();\n this.$emit('close');\n\n const refs = this.$refs;\n\n return Promise.all(\n Object.entries(this.$options.styles).map(\n ([refName, { open, active, closed } = { open: '', active: '', closed: '' }]) =>\n transition(\n refs[refName],\n {\n from: open,\n active,\n to: closed,\n },\n 'keep',\n ),\n ),\n ).then(() => Promise.resolve());\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 __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
6
  var __export = (target, all) => {
@@ -17,21 +15,20 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
19
  var __publicField = (obj, key, value) => {
23
20
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
21
  return value;
25
22
  };
26
23
 
27
- // packages/ui/molecules/Modal/ModalWithTransition.js
24
+ // packages/ui/molecules/Modal/ModalWithTransition.ts
28
25
  var ModalWithTransition_exports = {};
29
26
  __export(ModalWithTransition_exports, {
30
- default: () => ModalWithTransition
27
+ ModalWithTransition: () => ModalWithTransition
31
28
  });
32
29
  module.exports = __toCommonJS(ModalWithTransition_exports);
33
- var import_Modal = __toESM(require("./Modal.cjs"), 1);
34
- var ModalWithTransition = class extends import_Modal.default {
30
+ var import_Modal = require("./Modal.cjs");
31
+ var ModalWithTransition = class extends import_Modal.Modal {
35
32
  open() {
36
33
  this.$refs.modal.style.visibility = "";
37
34
  return super.open();
@@ -68,3 +65,4 @@ __publicField(ModalWithTransition, "config", {
68
65
  }
69
66
  });
70
67
  if (module.exports.default) module.exports = module.exports.default;
68
+ //# sourceMappingURL=ModalWithTransition.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/molecules/Modal/ModalWithTransition.ts"],
4
+ "sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { Modal } from './Modal.js';\n\n/**\n * ModalWithTransition class.\n */\nexport class ModalWithTransition<T extends BaseProps = BaseProps> extends Modal<T> {\n /**\n * Modal options.\n */\n static config:BaseConfig = {\n name: 'ModalWithTransition',\n options: {\n styles: {\n type: Object,\n /**\n * @returns {ModalStylesOption}\n */\n default: () => ({\n modal: {\n closed: {\n opacity: '0',\n pointerEvents: 'none',\n },\n active: 'transition duration-500 ease-out-expo',\n },\n overlay: {\n closed: 'opacity-0',\n active: 'transition duration-500 ease-out-expo',\n },\n container: {\n closed: 'transform scale-95 opacity-0',\n active: 'transition duration-500 ease-out-expo',\n },\n }),\n },\n },\n };\n\n open() {\n this.$refs.modal.style.visibility = '';\n return super.open();\n }\n\n async close() {\n await super.close();\n this.$refs.modal.style.visibility = 'hidden';\n return Promise.resolve();\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAsB;AAKf,IAAM,sBAAN,cAAmE,mBAAS;AAAA,EAiCjF,OAAO;AACL,SAAK,MAAM,MAAM,MAAM,aAAa;AACpC,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,MAAM,QAAQ;AACZ,UAAM,MAAM,MAAM;AAClB,SAAK,MAAM,MAAM,MAAM,aAAa;AACpC,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;AAvCE,cAJW,qBAIJ,UAAoB;AAAA,EACzB,MAAM;AAAA,EACN,SAAS;AAAA,IACP,QAAQ;AAAA,MACN,MAAM;AAAA,MAIN,SAAS,OAAO;AAAA,QACd,OAAO;AAAA,UACL,QAAQ;AAAA,YACN,SAAS;AAAA,YACT,eAAe;AAAA,UACjB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -1,29 +1,13 @@
1
- /**
2
- * @typedef {import('./Modal.js').ModalInterface} ModalInterface
3
- * @typedef {import('./Modal.js').ModalStylesOption} ModalStylesOption
4
- * @typedef {ModalInterface & ModalWithTransition} ModalWithTransitionInterface
5
- */
1
+ import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';
2
+ import { Modal } from './Modal.js';
6
3
  /**
7
4
  * ModalWithTransition class.
8
5
  */
9
- export default class ModalWithTransition extends Modal {
6
+ export declare class ModalWithTransition<T extends BaseProps = BaseProps> extends Modal<T> {
10
7
  /**
11
8
  * Modal options.
12
9
  */
13
- static config: {
14
- name: string;
15
- options: {
16
- styles: {
17
- type: ObjectConstructor;
18
- /**
19
- * @return {ModalStylesOption}
20
- */
21
- default: () => ModalStylesOption;
22
- };
23
- };
24
- };
10
+ static config: BaseConfig;
11
+ open(): Promise<void>;
12
+ close(): Promise<void>;
25
13
  }
26
- export type ModalInterface = import('./Modal.js').ModalInterface;
27
- export type ModalStylesOption = import('./Modal.js').ModalStylesOption;
28
- export type ModalWithTransitionInterface = ModalInterface & ModalWithTransition;
29
- import Modal from "./Modal.js";