@studiometa/ui 1.0.0-alpha.0 → 1.0.0-alpha.11

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 (273) hide show
  1. package/README.md +6 -4
  2. package/atoms/Action/Action.d.ts +4 -6
  3. package/atoms/Action/Action.js +25 -60
  4. package/atoms/Action/Action.js.map +2 -2
  5. package/atoms/Action/ActionEvent.d.ts +55 -0
  6. package/atoms/Action/ActionEvent.js +130 -0
  7. package/atoms/Action/ActionEvent.js.map +7 -0
  8. package/atoms/AnchorScrollTo/AnchorScrollTo.d.ts +3 -3
  9. package/atoms/AnchorScrollTo/AnchorScrollTo.js +1 -3
  10. package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +2 -2
  11. package/atoms/Data/DataBind.d.ts +2 -2
  12. package/atoms/Data/DataBind.js +22 -12
  13. package/atoms/Data/DataBind.js.map +2 -2
  14. package/atoms/Data/DataComputed.js +3 -3
  15. package/atoms/Data/DataComputed.js.map +2 -2
  16. package/atoms/Data/DataEffect.js +2 -2
  17. package/atoms/Data/DataEffect.js.map +2 -2
  18. package/atoms/Data/DataModel.d.ts +1 -0
  19. package/atoms/Data/DataModel.js +13 -3
  20. package/atoms/Data/DataModel.js.map +2 -2
  21. package/atoms/Figure/AbstractFigure.d.ts +41 -0
  22. package/atoms/Figure/AbstractFigure.js +65 -0
  23. package/atoms/Figure/AbstractFigure.js.map +7 -0
  24. package/atoms/Figure/AbstractFigureDynamic.d.ts +29 -0
  25. package/atoms/Figure/AbstractFigureDynamic.js +48 -0
  26. package/atoms/Figure/AbstractFigureDynamic.js.map +7 -0
  27. package/atoms/Figure/Figure.d.ts +4 -35
  28. package/atoms/Figure/Figure.js +5 -68
  29. package/atoms/Figure/Figure.js.map +2 -2
  30. package/atoms/Figure/FigureShopify.d.ts +23 -0
  31. package/atoms/Figure/FigureShopify.js +38 -0
  32. package/atoms/Figure/FigureShopify.js.map +7 -0
  33. package/atoms/Figure/FigureTwicpics.d.ts +3 -19
  34. package/atoms/Figure/FigureTwicpics.js +10 -32
  35. package/atoms/Figure/FigureTwicpics.js.map +2 -2
  36. package/atoms/Figure/index.d.ts +1 -0
  37. package/atoms/Figure/index.js +1 -0
  38. package/atoms/Figure/index.js.map +2 -2
  39. package/atoms/Figure/utils.d.ts +8 -0
  40. package/atoms/Figure/utils.js +15 -0
  41. package/atoms/Figure/utils.js.map +7 -0
  42. package/atoms/FigureVideo/FigureVideo.js +1 -1
  43. package/atoms/FigureVideo/FigureVideo.js.map +1 -1
  44. package/atoms/FigureVideo/FigureVideoTwicpics.js +1 -1
  45. package/atoms/FigureVideo/FigureVideoTwicpics.js.map +1 -1
  46. package/atoms/LazyInclude/LazyInclude.d.ts +3 -1
  47. package/atoms/LazyInclude/LazyInclude.js +1 -1
  48. package/atoms/LazyInclude/LazyInclude.js.map +2 -2
  49. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.d.ts +1 -1
  50. package/atoms/ScrollAnimation/ScrollAnimationWithEase.d.ts +1 -1
  51. package/decorators/withTransition.d.ts +1 -0
  52. package/decorators/withTransition.js +47 -23
  53. package/decorators/withTransition.js.map +2 -2
  54. package/molecules/Accordion/AccordionCore.d.ts +6 -2
  55. package/molecules/Accordion/AccordionCore.js +2 -2
  56. package/molecules/Accordion/AccordionCore.js.map +2 -2
  57. package/molecules/AnchorNav/AnchorNav.d.ts +6 -2
  58. package/molecules/AnchorNav/AnchorNav.js +4 -4
  59. package/molecules/AnchorNav/AnchorNav.js.map +2 -2
  60. package/molecules/AnchorNav/AnchorNavLink.d.ts +1 -1
  61. package/molecules/Menu/Menu.d.ts +11 -4
  62. package/molecules/Menu/Menu.js +7 -9
  63. package/molecules/Menu/Menu.js.map +2 -2
  64. package/molecules/Menu/MenuBtn.d.ts +9 -3
  65. package/molecules/Menu/MenuBtn.js +3 -3
  66. package/molecules/Menu/MenuBtn.js.map +2 -2
  67. package/molecules/Menu/MenuList.d.ts +1 -1
  68. package/molecules/Slider/Slider.d.ts +6 -2
  69. package/molecules/Slider/Slider.js +2 -2
  70. package/molecules/Slider/Slider.js.map +2 -2
  71. package/molecules/Slider/SliderDots.d.ts +5 -2
  72. package/molecules/Slider/SliderDots.js +1 -1
  73. package/molecules/Slider/SliderDots.js.map +2 -2
  74. package/molecules/Slider/SliderDrag.d.ts +3 -1
  75. package/molecules/Slider/SliderDrag.js +1 -1
  76. package/molecules/Slider/SliderDrag.js.map +2 -2
  77. package/molecules/Sticky/Sticky.d.ts +3 -1
  78. package/molecules/Sticky/Sticky.js +1 -1
  79. package/molecules/Sticky/Sticky.js.map +2 -2
  80. package/molecules/Tabs/Tabs.d.ts +4 -1
  81. package/molecules/Tabs/Tabs.js +1 -1
  82. package/molecules/Tabs/Tabs.js.map +2 -2
  83. package/molecules/index.d.ts +2 -3
  84. package/molecules/index.js +2 -3
  85. package/molecules/index.js.map +2 -2
  86. package/organisms/Frame/Frame.d.ts +11 -3
  87. package/organisms/Frame/Frame.js +14 -16
  88. package/organisms/Frame/Frame.js.map +2 -2
  89. package/organisms/Frame/FrameTarget.d.ts +1 -1
  90. package/package.json +2 -2
  91. package/primitives/Transition/Transition.d.ts +1 -1
  92. package/atoms/Action/Action.cjs +0 -115
  93. package/atoms/Action/Action.cjs.map +0 -7
  94. package/atoms/Action/Target.cjs +0 -35
  95. package/atoms/Action/Target.cjs.map +0 -7
  96. package/atoms/Action/index.cjs +0 -22
  97. package/atoms/Action/index.cjs.map +0 -7
  98. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +0 -52
  99. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +0 -7
  100. package/atoms/AnchorScrollTo/index.cjs +0 -21
  101. package/atoms/AnchorScrollTo/index.cjs.map +0 -7
  102. package/atoms/CircularMarquee/CircularMarquee.cjs +0 -69
  103. package/atoms/CircularMarquee/CircularMarquee.cjs.map +0 -7
  104. package/atoms/CircularMarquee/index.cjs +0 -21
  105. package/atoms/CircularMarquee/index.cjs.map +0 -7
  106. package/atoms/Cursor/Cursor.cjs +0 -137
  107. package/atoms/Cursor/Cursor.cjs.map +0 -7
  108. package/atoms/Cursor/index.cjs +0 -21
  109. package/atoms/Cursor/index.cjs.map +0 -7
  110. package/atoms/Data/DataBind.cjs +0 -124
  111. package/atoms/Data/DataBind.cjs.map +0 -7
  112. package/atoms/Data/DataComputed.cjs +0 -49
  113. package/atoms/Data/DataComputed.cjs.map +0 -7
  114. package/atoms/Data/DataEffect.cjs +0 -47
  115. package/atoms/Data/DataEffect.cjs.map +0 -7
  116. package/atoms/Data/DataModel.cjs +0 -38
  117. package/atoms/Data/DataModel.cjs.map +0 -7
  118. package/atoms/Data/index.cjs +0 -24
  119. package/atoms/Data/index.cjs.map +0 -7
  120. package/atoms/Data/utils.cjs +0 -46
  121. package/atoms/Data/utils.cjs.map +0 -7
  122. package/atoms/Figure/Figure.cjs +0 -105
  123. package/atoms/Figure/Figure.cjs.map +0 -7
  124. package/atoms/Figure/FigureTwicpics.cjs +0 -123
  125. package/atoms/Figure/FigureTwicpics.cjs.map +0 -7
  126. package/atoms/Figure/index.cjs +0 -22
  127. package/atoms/Figure/index.cjs.map +0 -7
  128. package/atoms/FigureVideo/FigureVideo.cjs +0 -132
  129. package/atoms/FigureVideo/FigureVideo.cjs.map +0 -7
  130. package/atoms/FigureVideo/FigureVideoTwicpics.cjs +0 -153
  131. package/atoms/FigureVideo/FigureVideoTwicpics.cjs.map +0 -7
  132. package/atoms/FigureVideo/index.cjs +0 -22
  133. package/atoms/FigureVideo/index.cjs.map +0 -7
  134. package/atoms/LargeText/LargeText.cjs +0 -109
  135. package/atoms/LargeText/LargeText.cjs.map +0 -7
  136. package/atoms/LargeText/index.cjs +0 -21
  137. package/atoms/LargeText/index.cjs.map +0 -7
  138. package/atoms/LazyInclude/LazyInclude.cjs +0 -78
  139. package/atoms/LazyInclude/LazyInclude.cjs.map +0 -7
  140. package/atoms/LazyInclude/index.cjs +0 -21
  141. package/atoms/LazyInclude/index.cjs.map +0 -7
  142. package/atoms/Prefetch/AbstractPrefetch.cjs +0 -86
  143. package/atoms/Prefetch/AbstractPrefetch.cjs.map +0 -7
  144. package/atoms/Prefetch/PrefetchWhenOver.cjs +0 -42
  145. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +0 -7
  146. package/atoms/Prefetch/PrefetchWhenVisible.cjs +0 -43
  147. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +0 -7
  148. package/atoms/Prefetch/index.cjs +0 -23
  149. package/atoms/Prefetch/index.cjs.map +0 -7
  150. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +0 -95
  151. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +0 -7
  152. package/atoms/ScrollAnimation/ScrollAnimation.cjs +0 -44
  153. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +0 -7
  154. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +0 -84
  155. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +0 -7
  156. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +0 -37
  157. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +0 -7
  158. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +0 -50
  159. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +0 -7
  160. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +0 -37
  161. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +0 -7
  162. package/atoms/ScrollAnimation/animationScrollWithEase.cjs +0 -59
  163. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +0 -7
  164. package/atoms/ScrollAnimation/index.cjs +0 -27
  165. package/atoms/ScrollAnimation/index.cjs.map +0 -7
  166. package/atoms/ScrollReveal/ScrollReveal.cjs +0 -81
  167. package/atoms/ScrollReveal/ScrollReveal.cjs.map +0 -7
  168. package/atoms/ScrollReveal/index.cjs +0 -21
  169. package/atoms/ScrollReveal/index.cjs.map +0 -7
  170. package/atoms/index.cjs +0 -32
  171. package/atoms/index.cjs.map +0 -7
  172. package/decorators/index.cjs +0 -22
  173. package/decorators/index.cjs.map +0 -7
  174. package/decorators/withDeprecation.cjs +0 -47
  175. package/decorators/withDeprecation.cjs.map +0 -7
  176. package/decorators/withTransition.cjs +0 -86
  177. package/decorators/withTransition.cjs.map +0 -7
  178. package/index.cjs +0 -25
  179. package/index.cjs.map +0 -7
  180. package/molecules/Accordion/Accordion.cjs +0 -36
  181. package/molecules/Accordion/Accordion.cjs.map +0 -7
  182. package/molecules/Accordion/AccordionCore.cjs +0 -58
  183. package/molecules/Accordion/AccordionCore.cjs.map +0 -7
  184. package/molecules/Accordion/AccordionItem.cjs +0 -206
  185. package/molecules/Accordion/AccordionItem.cjs.map +0 -7
  186. package/molecules/Accordion/index.cjs +0 -22
  187. package/molecules/Accordion/index.cjs.map +0 -7
  188. package/molecules/AnchorNav/AnchorNav.cjs +0 -63
  189. package/molecules/AnchorNav/AnchorNav.cjs.map +0 -7
  190. package/molecules/AnchorNav/AnchorNavLink.cjs +0 -40
  191. package/molecules/AnchorNav/AnchorNavLink.cjs.map +0 -7
  192. package/molecules/AnchorNav/AnchorNavTarget.cjs +0 -35
  193. package/molecules/AnchorNav/AnchorNavTarget.cjs.map +0 -7
  194. package/molecules/AnchorNav/index.cjs +0 -23
  195. package/molecules/AnchorNav/index.cjs.map +0 -7
  196. package/molecules/Menu/Menu.cjs +0 -177
  197. package/molecules/Menu/Menu.cjs.map +0 -7
  198. package/molecules/Menu/MenuBtn.cjs +0 -66
  199. package/molecules/Menu/MenuBtn.cjs.map +0 -7
  200. package/molecules/Menu/MenuList.cjs +0 -165
  201. package/molecules/Menu/MenuList.cjs.map +0 -7
  202. package/molecules/Menu/index.cjs +0 -23
  203. package/molecules/Menu/index.cjs.map +0 -7
  204. package/molecules/Modal/Modal.cjs +0 -219
  205. package/molecules/Modal/Modal.cjs.map +0 -7
  206. package/molecules/Modal/ModalWithTransition.cjs +0 -69
  207. package/molecules/Modal/ModalWithTransition.cjs.map +0 -7
  208. package/molecules/Modal/index.cjs +0 -22
  209. package/molecules/Modal/index.cjs.map +0 -7
  210. package/molecules/Panel/Panel.cjs +0 -137
  211. package/molecules/Panel/Panel.cjs.map +0 -7
  212. package/molecules/Panel/index.cjs +0 -21
  213. package/molecules/Panel/index.cjs.map +0 -7
  214. package/molecules/Slider/AbstractSliderChild.cjs +0 -88
  215. package/molecules/Slider/AbstractSliderChild.cjs.map +0 -7
  216. package/molecules/Slider/Slider.cjs +0 -404
  217. package/molecules/Slider/Slider.cjs.map +0 -7
  218. package/molecules/Slider/SliderBtn.cjs +0 -71
  219. package/molecules/Slider/SliderBtn.cjs.map +0 -7
  220. package/molecules/Slider/SliderCount.cjs +0 -44
  221. package/molecules/Slider/SliderCount.cjs.map +0 -7
  222. package/molecules/Slider/SliderDots.cjs +0 -64
  223. package/molecules/Slider/SliderDots.cjs.map +0 -7
  224. package/molecules/Slider/SliderDrag.cjs +0 -66
  225. package/molecules/Slider/SliderDrag.cjs.map +0 -7
  226. package/molecules/Slider/SliderItem.cjs +0 -177
  227. package/molecules/Slider/SliderItem.cjs.map +0 -7
  228. package/molecules/Slider/SliderProgress.cjs +0 -49
  229. package/molecules/Slider/SliderProgress.cjs.map +0 -7
  230. package/molecules/Slider/index.cjs +0 -28
  231. package/molecules/Slider/index.cjs.map +0 -7
  232. package/molecules/Sticky/Sticky.cjs +0 -177
  233. package/molecules/Sticky/Sticky.cjs.map +0 -7
  234. package/molecules/Sticky/index.cjs +0 -21
  235. package/molecules/Sticky/index.cjs.map +0 -7
  236. package/molecules/TableOfContent/TableOfContent.cjs +0 -72
  237. package/molecules/TableOfContent/TableOfContent.cjs.map +0 -7
  238. package/molecules/TableOfContent/TableOfContentAnchor.cjs +0 -76
  239. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +0 -7
  240. package/molecules/TableOfContent/index.cjs +0 -22
  241. package/molecules/TableOfContent/index.cjs.map +0 -7
  242. package/molecules/Tabs/Tabs.cjs +0 -153
  243. package/molecules/Tabs/Tabs.cjs.map +0 -7
  244. package/molecules/Tabs/index.cjs +0 -21
  245. package/molecules/Tabs/index.cjs.map +0 -7
  246. package/molecules/index.cjs +0 -30
  247. package/molecules/index.cjs.map +0 -7
  248. package/organisms/Frame/Frame.cjs +0 -220
  249. package/organisms/Frame/Frame.cjs.map +0 -7
  250. package/organisms/Frame/FrameAnchor.cjs +0 -41
  251. package/organisms/Frame/FrameAnchor.cjs.map +0 -7
  252. package/organisms/Frame/FrameForm.cjs +0 -41
  253. package/organisms/Frame/FrameForm.cjs.map +0 -7
  254. package/organisms/Frame/FrameTarget.cjs +0 -114
  255. package/organisms/Frame/FrameTarget.cjs.map +0 -7
  256. package/organisms/Frame/index.cjs +0 -24
  257. package/organisms/Frame/index.cjs.map +0 -7
  258. package/organisms/index.cjs +0 -21
  259. package/organisms/index.cjs.map +0 -7
  260. package/primitives/Draggable/Draggable.cjs +0 -65
  261. package/primitives/Draggable/Draggable.cjs.map +0 -7
  262. package/primitives/Draggable/index.cjs +0 -21
  263. package/primitives/Draggable/index.cjs.map +0 -7
  264. package/primitives/Sentinel/Sentinel.cjs +0 -35
  265. package/primitives/Sentinel/Sentinel.cjs.map +0 -7
  266. package/primitives/Sentinel/index.cjs +0 -21
  267. package/primitives/Sentinel/index.cjs.map +0 -7
  268. package/primitives/Transition/Transition.cjs +0 -36
  269. package/primitives/Transition/Transition.cjs.map +0 -7
  270. package/primitives/Transition/index.cjs +0 -21
  271. package/primitives/Transition/index.cjs.map +0 -7
  272. package/primitives/index.cjs +0 -23
  273. package/primitives/index.cjs.map +0 -7
@@ -1,137 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/Panel/Panel.ts
20
- var Panel_exports = {};
21
- __export(Panel_exports, {
22
- Panel: () => Panel
23
- });
24
- module.exports = __toCommonJS(Panel_exports);
25
- var import_utils = require("@studiometa/js-toolkit/utils");
26
- var import_Modal = require("../Modal/index.cjs");
27
- var DEFAULT_POSITION = "left";
28
- var Panel = class _Panel extends import_Modal.Modal {
29
- /**
30
- * Config.
31
- */
32
- static config = {
33
- name: "Panel",
34
- options: {
35
- position: {
36
- type: String,
37
- default: DEFAULT_POSITION
38
- }
39
- }
40
- };
41
- static translateClasses = {
42
- top: "-translate-y-full",
43
- right: "translate-x-full",
44
- bottom: "translate-y-full",
45
- left: "-translate-x-full"
46
- };
47
- isClosing = false;
48
- /**
49
- * Get the translation class.
50
- * @returns {string}
51
- */
52
- get translateClass() {
53
- return _Panel.translateClasses[this.$options.position] ?? _Panel.translateClasses[DEFAULT_POSITION];
54
- }
55
- get containerOffset() {
56
- const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = this.$refs.container;
57
- const store = {
58
- top: {
59
- translateY: (offsetTop + offsetHeight) * -1
60
- },
61
- right: {
62
- translateX: window.innerWidth - offsetLeft + offsetWidth * 2
63
- },
64
- bottom: {
65
- translateY: window.innerHeight - offsetTop + offsetHeight * 2
66
- },
67
- left: {
68
- translateX: (offsetLeft + offsetWidth) * -1
69
- }
70
- };
71
- return (0, import_utils.matrix)(store[this.$options.position]);
72
- }
73
- /**
74
- * Animate before opening.
75
- * @this {PanelInterface}
76
- * @returns {Promise<void>}
77
- */
78
- async open() {
79
- if (this.isOpen) {
80
- return Promise.resolve();
81
- }
82
- this.$refs.modal.classList.remove("pointer-events-none");
83
- (0, import_utils.transition)(
84
- this.$refs.container,
85
- {
86
- from: {
87
- transform: this.containerOffset
88
- },
89
- to: {
90
- transform: "none"
91
- }
92
- },
93
- "keep"
94
- );
95
- (0, import_utils.transition)(this.$refs.overlay, {
96
- from: "opacity-0"
97
- });
98
- return super.open();
99
- }
100
- /**
101
- * Animate before closing.
102
- * @this {PanelInterface}
103
- * @returns {Promise<void>}
104
- */
105
- async close() {
106
- if (!this.isOpen || this.isClosing) {
107
- return Promise.resolve();
108
- }
109
- this.isClosing = true;
110
- this.$refs.modal.classList.add("pointer-events-none");
111
- await Promise.all([
112
- (0, import_utils.transition)(
113
- this.$refs.container,
114
- {
115
- from: {
116
- transform: "none"
117
- },
118
- to: {
119
- transform: this.containerOffset
120
- }
121
- },
122
- "keep"
123
- ),
124
- (0, import_utils.transition)(
125
- this.$refs.overlay,
126
- {
127
- to: "opacity-0"
128
- },
129
- "keep"
130
- )
131
- ]);
132
- this.isClosing = false;
133
- return super.close();
134
- }
135
- };
136
- if (module.exports.default) module.exports = module.exports.default;
137
- //# sourceMappingURL=Panel.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Panel/Panel.ts"],
4
- "sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { transition, matrix } from '@studiometa/js-toolkit/utils';\nimport { Modal } from '../Modal/index.js';\n\nexport interface PanelProps extends BaseProps {\n $options: {\n position: 'top' | 'right' | 'bottom' | 'left';\n };\n}\n\nconst DEFAULT_POSITION = 'left';\n\n/**\n * Panel class.\n */\nexport class Panel<T extends BaseProps = BaseProps> extends Modal<T & PanelProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Panel',\n options: {\n position: {\n type: String,\n default: DEFAULT_POSITION,\n },\n },\n };\n\n static translateClasses = {\n top: '-translate-y-full',\n right: 'translate-x-full',\n bottom: 'translate-y-full',\n left: '-translate-x-full',\n };\n\n isClosing = false;\n\n /**\n * Get the translation class.\n * @returns {string}\n */\n get translateClass() {\n return (\n Panel.translateClasses[this.$options.position] ?? Panel.translateClasses[DEFAULT_POSITION]\n );\n }\n\n get containerOffset() {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = this.$refs.container;\n\n const store = {\n top: {\n translateY: (offsetTop + offsetHeight) * -1,\n },\n right: {\n translateX: window.innerWidth - offsetLeft + offsetWidth * 2,\n },\n bottom: {\n translateY: window.innerHeight - offsetTop + offsetHeight * 2,\n },\n left: {\n translateX: (offsetLeft + offsetWidth) * -1,\n },\n };\n\n return matrix(store[this.$options.position]);\n }\n\n /**\n * Animate before opening.\n * @this {PanelInterface}\n * @returns {Promise<void>}\n */\n async open() {\n if (this.isOpen) {\n return Promise.resolve();\n }\n\n this.$refs.modal.classList.remove('pointer-events-none');\n transition(\n this.$refs.container,\n {\n from: {\n transform: this.containerOffset,\n },\n to: {\n transform: 'none',\n },\n },\n 'keep',\n );\n transition(this.$refs.overlay, {\n from: 'opacity-0',\n });\n\n return super.open();\n }\n\n /**\n * Animate before closing.\n * @this {PanelInterface}\n * @returns {Promise<void>}\n */\n async close() {\n if (!this.isOpen || this.isClosing) {\n return Promise.resolve();\n }\n\n this.isClosing = true;\n\n this.$refs.modal.classList.add('pointer-events-none');\n await Promise.all([\n transition(\n this.$refs.container,\n {\n from: {\n transform: 'none',\n },\n to: {\n transform: this.containerOffset,\n },\n },\n 'keep',\n ),\n transition(\n this.$refs.overlay,\n {\n to: 'opacity-0',\n },\n 'keep',\n ),\n ]);\n\n this.isClosing = false;\n\n return super.close();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAmC;AACnC,mBAAsB;AAQtB,IAAM,mBAAmB;AAKlB,IAAM,QAAN,MAAM,eAA+C,mBAAsB;AAAA;AAAA;AAAA;AAAA,EAIhF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,UAAU;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,mBAAmB;AAAA,IACxB,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EAEA,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAMZ,IAAI,iBAAiB;AACnB,WACE,OAAM,iBAAiB,KAAK,SAAS,QAAQ,KAAK,OAAM,iBAAiB,gBAAgB;AAAA,EAE7F;AAAA,EAEA,IAAI,kBAAkB;AACpB,UAAM,EAAE,WAAW,YAAY,aAAa,aAAa,IAAI,KAAK,MAAM;AAExE,UAAM,QAAQ;AAAA,MACZ,KAAK;AAAA,QACH,aAAa,YAAY,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO;AAAA,QACL,YAAY,OAAO,aAAa,aAAa,cAAc;AAAA,MAC7D;AAAA,MACA,QAAQ;AAAA,QACN,YAAY,OAAO,cAAc,YAAY,eAAe;AAAA,MAC9D;AAAA,MACA,MAAM;AAAA,QACJ,aAAa,aAAa,eAAe;AAAA,MAC3C;AAAA,IACF;AAEA,eAAO,qBAAO,MAAM,KAAK,SAAS,QAAQ,CAAC;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,OAAO;AACX,QAAI,KAAK,QAAQ;AACf,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAEA,SAAK,MAAM,MAAM,UAAU,OAAO,qBAAqB;AACvD;AAAA,MACE,KAAK,MAAM;AAAA,MACX;AAAA,QACE,MAAM;AAAA,UACJ,WAAW,KAAK;AAAA,QAClB;AAAA,QACA,IAAI;AAAA,UACF,WAAW;AAAA,QACb;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,iCAAW,KAAK,MAAM,SAAS;AAAA,MAC7B,MAAM;AAAA,IACR,CAAC;AAED,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QAAQ;AACZ,QAAI,CAAC,KAAK,UAAU,KAAK,WAAW;AAClC,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAEA,SAAK,YAAY;AAEjB,SAAK,MAAM,MAAM,UAAU,IAAI,qBAAqB;AACpD,UAAM,QAAQ,IAAI;AAAA,UAChB;AAAA,QACE,KAAK,MAAM;AAAA,QACX;AAAA,UACE,MAAM;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,UACA,IAAI;AAAA,YACF,WAAW,KAAK;AAAA,UAClB;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,UACA;AAAA,QACE,KAAK,MAAM;AAAA,QACX;AAAA,UACE,IAAI;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAED,SAAK,YAAY;AAEjB,WAAO,MAAM,MAAM;AAAA,EACrB;AACF;",
6
- "names": []
7
- }
@@ -1,21 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // packages/ui/molecules/Panel/index.ts
17
- var Panel_exports = {};
18
- module.exports = __toCommonJS(Panel_exports);
19
- __reExport(Panel_exports, require("./Panel.cjs"), module.exports);
20
- if (module.exports.default) module.exports = module.exports.default;
21
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Panel/index.ts"],
4
- "sourcesContent": ["export * from './Panel.js';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,wBAAd;",
6
- "names": []
7
- }
@@ -1,88 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/Slider/AbstractSliderChild.ts
20
- var AbstractSliderChild_exports = {};
21
- __export(AbstractSliderChild_exports, {
22
- AbstractSliderChild: () => AbstractSliderChild
23
- });
24
- module.exports = __toCommonJS(AbstractSliderChild_exports);
25
- var import_js_toolkit = require("@studiometa/js-toolkit");
26
- var import_utils = require("@studiometa/js-toolkit/utils");
27
- var import_Slider = require("./Slider.cjs");
28
- var AbstractSliderChild = class extends import_js_toolkit.Base {
29
- /**
30
- * Config.
31
- */
32
- static config = {
33
- name: "AbstractSliderChild"
34
- };
35
- /**
36
- * Listen to the `goto` event of the parent on mount.
37
- */
38
- mounted() {
39
- if (!(this.$parent instanceof import_Slider.Slider)) {
40
- throw new Error(
41
- `The \`${this.$options.name}\` component must be a direct child of a \`Slider\` component.`
42
- );
43
- }
44
- this.$parent.$on("index", this);
45
- }
46
- /**
47
- * Trigger update on resize.
48
- */
49
- resized() {
50
- (0, import_utils.nextFrame)(() => {
51
- this.update(this.$parent.currentIndex);
52
- });
53
- }
54
- /**
55
- * Remove the event listener.
56
- */
57
- destroyed() {
58
- this.$parent.$off("index", this);
59
- }
60
- /**
61
- * Dispatch event.
62
- * @param {CustomEvent} event
63
- * @returns {void}
64
- */
65
- handleEvent(event) {
66
- if (event.type === "index") {
67
- import_utils.domScheduler.read(() => {
68
- const callback = this.update(event.detail[0]);
69
- if ((0, import_utils.isFunction)(callback)) {
70
- import_utils.domScheduler.write(() => {
71
- callback();
72
- });
73
- }
74
- });
75
- }
76
- }
77
- // eslint-disable-next-line jsdoc/require-returns-check
78
- /**
79
- * Update the child component with the given index.
80
- * @param {number} index The new active index.
81
- * @returns {void|(()=>void)}
82
- */
83
- update(index) {
84
- throw new Error(`The \`AbstractSliderChild.update(${index})\` method must be implemented.`);
85
- }
86
- };
87
- if (module.exports.default) module.exports = module.exports.default;
88
- //# sourceMappingURL=AbstractSliderChild.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Slider/AbstractSliderChild.ts"],
4
- "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig, BaseInterface } from '@studiometa/js-toolkit';\nimport { nextFrame, domScheduler, isFunction } from '@studiometa/js-toolkit/utils';\nimport { Slider } from './Slider.js';\n\nexport interface AbstractSliderChildProps extends BaseProps {\n $parent: Slider;\n}\n\n/**\n * AbstractSliderChild class.\n */\nexport class AbstractSliderChild<T extends BaseProps = BaseProps>\n extends Base<T & AbstractSliderChildProps>\n implements BaseInterface\n{\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'AbstractSliderChild',\n };\n\n /**\n * Listen to the `goto` event of the parent on mount.\n */\n mounted() {\n if (!(this.$parent instanceof Slider)) {\n throw new Error(\n `The \\`${this.$options.name}\\` component must be a direct child of a \\`Slider\\` component.`,\n );\n }\n\n this.$parent.$on('index', this);\n }\n\n /**\n * Trigger update on resize.\n */\n resized() {\n nextFrame(() => {\n this.update(this.$parent.currentIndex);\n });\n }\n\n /**\n * Remove the event listener.\n */\n destroyed() {\n this.$parent.$off('index', this);\n }\n\n /**\n * Dispatch event.\n * @param {CustomEvent} event\n * @returns {void}\n */\n handleEvent(event) {\n if (event.type === 'index') {\n domScheduler.read(() => {\n const callback = this.update(event.detail[0]);\n if (isFunction(callback)) {\n domScheduler.write(() => {\n // @ts-ignore\n callback();\n });\n }\n });\n }\n }\n\n // eslint-disable-next-line jsdoc/require-returns-check\n /**\n * Update the child component with the given index.\n * @param {number} index The new active index.\n * @returns {void|(()=>void)}\n */\n update(index): void | (() => void) {\n throw new Error(`The \\`AbstractSliderChild.update(${index})\\` method must be implemented.`);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAErB,mBAAoD;AACpD,oBAAuB;AAShB,IAAM,sBAAN,cACG,uBAEV;AAAA;AAAA;AAAA;AAAA,EAIE,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,QAAI,EAAE,KAAK,mBAAmB,uBAAS;AACrC,YAAM,IAAI;AAAA,QACR,SAAS,KAAK,SAAS,IAAI;AAAA,MAC7B;AAAA,IACF;AAEA,SAAK,QAAQ,IAAI,SAAS,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,gCAAU,MAAM;AACd,WAAK,OAAO,KAAK,QAAQ,YAAY;AAAA,IACvC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACV,SAAK,QAAQ,KAAK,SAAS,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,OAAO;AACjB,QAAI,MAAM,SAAS,SAAS;AAC1B,gCAAa,KAAK,MAAM;AACtB,cAAM,WAAW,KAAK,OAAO,MAAM,OAAO,CAAC,CAAC;AAC5C,gBAAI,yBAAW,QAAQ,GAAG;AACxB,oCAAa,MAAM,MAAM;AAEvB,qBAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,OAA4B;AACjC,UAAM,IAAI,MAAM,oCAAoC,KAAK,iCAAiC;AAAA,EAC5F;AACF;",
6
- "names": []
7
- }
@@ -1,404 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/Slider/Slider.ts
20
- var Slider_exports = {};
21
- __export(Slider_exports, {
22
- Slider: () => Slider
23
- });
24
- module.exports = __toCommonJS(Slider_exports);
25
- var import_js_toolkit = require("@studiometa/js-toolkit");
26
- var import_utils = require("@studiometa/js-toolkit/utils");
27
- var import_SliderDrag = require("./SliderDrag.cjs");
28
- var import_SliderItem = require("./SliderItem.cjs");
29
- var Slider = class extends import_js_toolkit.Base {
30
- /**
31
- * Config.
32
- */
33
- static config = {
34
- name: "Slider",
35
- refs: ["wrapper", "debug"],
36
- emits: ["goto", "index"],
37
- components: {
38
- SliderItem: import_SliderItem.SliderItem,
39
- SliderDrag: import_SliderDrag.SliderDrag
40
- },
41
- options: {
42
- mode: { type: String, default: "left" },
43
- fitBounds: Boolean,
44
- contain: Boolean,
45
- sensitivity: { type: Number, default: 1 },
46
- dropSensitivity: { type: Number, default: 2 }
47
- }
48
- };
49
- __distanceX = 0;
50
- __initialX = 0;
51
- /**
52
- * Index of the current active slide.
53
- */
54
- __currentIndex = 0;
55
- __isDragging = false;
56
- /**
57
- * Get the current index.
58
- */
59
- get currentIndex() {
60
- return this.__currentIndex;
61
- }
62
- /**
63
- * Set the current index and emit the `index` event.
64
- */
65
- set currentIndex(value) {
66
- this.currentSliderItem.disactivate();
67
- this.$emit("index", value);
68
- this.__currentIndex = value;
69
- this.currentSliderItem.activate();
70
- }
71
- /**
72
- * Store all the states.
73
- */
74
- states = [];
75
- /**
76
- * Origins for the different modes.
77
- */
78
- origins = {
79
- left: 0,
80
- center: 0,
81
- right: 0
82
- };
83
- /**
84
- * Wether or not the wrapper is focused.
85
- * @type {boolean}
86
- */
87
- hasFocus = false;
88
- /**
89
- * Get the current state.
90
- */
91
- get currentState() {
92
- return this.states[this.currentIndex];
93
- }
94
- /**
95
- * Get the first state.
96
- */
97
- get firstState() {
98
- return this.states[0];
99
- }
100
- /**
101
- * Get the last state.
102
- */
103
- get lastState() {
104
- return this.states.at(-1);
105
- }
106
- /**
107
- * Get the minimal contain state value.
108
- */
109
- get containMinState() {
110
- return this.getStateValueByMode(this.firstState.x, "left");
111
- }
112
- /**
113
- * Get the maximal contain state value.
114
- */
115
- get containMaxState() {
116
- return this.getStateValueByMode(this.lastState.x, "right");
117
- }
118
- /**
119
- * Get the last index.
120
- */
121
- get indexMax() {
122
- return this.$children.SliderItem.length - 1;
123
- }
124
- /**
125
- * Get the current SliderItem
126
- */
127
- get currentSliderItem() {
128
- return this.$children.SliderItem[this.currentIndex];
129
- }
130
- /**
131
- * Get the states for each SliderItem.
132
- */
133
- getStates() {
134
- const { wrapper } = this.$refs;
135
- const originRect = wrapper.getBoundingClientRect();
136
- this.origins = {
137
- left: originRect.left,
138
- center: originRect.x + originRect.width / 2,
139
- right: originRect.x + originRect.width
140
- };
141
- const states = this.$children.SliderItem.map((item) => ({
142
- x: {
143
- left: (item.rect.x - this.origins.left) * -1,
144
- center: (item.rect.x + item.rect.width / 2 - this.origins.center) * -1,
145
- right: (item.rect.x + item.rect.width - this.origins.right) * -1
146
- }
147
- }));
148
- if (this.$options.contain) {
149
- const { mode } = this.$options;
150
- if (mode === "left") {
151
- const lastChild = this.$children.SliderItem.at(-1);
152
- const maxState = states.find((state) => {
153
- const lastChildPosition = lastChild.rect.x - this.origins.left + lastChild.rect.width + state.x.left;
154
- const diffWithWrapperBound = originRect.width - lastChildPosition;
155
- if (diffWithWrapperBound > 0) {
156
- state.x.left = Math.min(state.x.left + diffWithWrapperBound, 0);
157
- return true;
158
- }
159
- return false;
160
- });
161
- if (maxState) {
162
- return states.map((state) => {
163
- state.x.left = Math.max(state.x.left, maxState.x.left);
164
- return state;
165
- });
166
- }
167
- }
168
- if (mode === "right") {
169
- const maxStateIndex = states.findIndex((state) => state.x.right <= 0);
170
- const maxState = maxStateIndex < 0 ? states.at(-1) : states[maxStateIndex - 1];
171
- return states.map((state) => {
172
- state.x.right = maxStateIndex < 0 ? maxState.x.right : Math.min(state.x.right, 0);
173
- return state;
174
- });
175
- }
176
- if (mode === "center" && import_utils.isDev) {
177
- console.warn(
178
- `[${this.$id}]`,
179
- "The `center` mode is not yet compatible with the `contain` mode."
180
- );
181
- }
182
- }
183
- return states;
184
- }
185
- /**
186
- * Get an origin by mode.
187
- */
188
- getOriginByMode(mode) {
189
- return this.origins[mode ?? this.$options.mode];
190
- }
191
- /**
192
- * Get a state value according to the given mode.
193
- */
194
- getStateValueByMode(state, mode) {
195
- return state[mode ?? this.$options.mode];
196
- }
197
- /**
198
- * Mounted hook.
199
- */
200
- mounted() {
201
- this.states = this.getStates();
202
- this.setAccessibilityAttributes();
203
- this.prepareInvisibleItems();
204
- this.goTo(this.currentIndex);
205
- }
206
- /**
207
- * Resized hook.
208
- */
209
- resized() {
210
- (0, import_utils.nextFrame)(() => {
211
- this.states = this.getStates();
212
- (0, import_utils.nextFrame)(() => {
213
- this.prepareInvisibleItems();
214
- this.goTo(this.currentIndex);
215
- });
216
- });
217
- }
218
- /**
219
- * Set accessibility attributes for the component
220
- */
221
- setAccessibilityAttributes() {
222
- this.$el.setAttribute("role", "group");
223
- this.$el.setAttribute("aria-roledescription", "carousel");
224
- }
225
- /**
226
- * Go to the next slide.
227
- */
228
- goNext() {
229
- if (this.currentIndex + 1 > this.indexMax) {
230
- return;
231
- }
232
- this.goTo(this.currentIndex + 1);
233
- }
234
- /**
235
- * Go to the previous slide.
236
- */
237
- goPrev() {
238
- if (this.currentIndex - 1 < 0) {
239
- return;
240
- }
241
- this.goTo(this.currentIndex - 1);
242
- }
243
- /**
244
- * Go to the given index.
245
- */
246
- goTo(index, { withInstantMove = true } = {}) {
247
- if (index < 0 || index > this.indexMax) {
248
- throw new Error("Index out of bound.");
249
- }
250
- const currentState = this.getStateValueByMode(this.currentState.x);
251
- const state = this.getStateValueByMode(this.states[index].x);
252
- const itemsToMove = this.getVisibleItems(state);
253
- const invisibleItemsToMoveInstantly = this.getInvisibleItems(state);
254
- itemsToMove.forEach((item) => {
255
- if (currentState !== state && withInstantMove) {
256
- item.moveInstantly(currentState);
257
- }
258
- (0, import_utils.nextFrame)(() => item.move(state));
259
- });
260
- invisibleItemsToMoveInstantly.forEach((item) => {
261
- item.moveInstantly(state);
262
- });
263
- this.currentIndex = index;
264
- this.$emit("goto", index);
265
- }
266
- /**
267
- * Listen to the Draggable `start` event.
268
- */
269
- onSliderDragStart() {
270
- this.__initialX = this.currentSliderItem ? this.currentSliderItem.x : 0;
271
- this.__distanceX = this.__initialX;
272
- this.__isDragging = true;
273
- }
274
- /**
275
- * Listen to the Draggable `drag` event.
276
- */
277
- onSliderDragDrag(props) {
278
- if (Math.abs(props.delta.y) > Math.abs(props.delta.x)) {
279
- return;
280
- }
281
- this.__distanceX = this.__initialX + props.distance.x * this.$options.sensitivity;
282
- this.getVisibleItems(this.__distanceX).forEach((item) => {
283
- item.moveInstantly(this.__distanceX);
284
- });
285
- }
286
- /**
287
- * Listen to the Draggable `drop` event and find the new active slide.
288
- */
289
- onSliderDragDrop(props) {
290
- if (!this.__isDragging) {
291
- return;
292
- }
293
- this.__isDragging = false;
294
- if (Math.abs(props.delta.y) > Math.abs(props.delta.x)) {
295
- return;
296
- }
297
- let finalX = (0, import_utils.clamp)(
298
- (0, import_utils.inertiaFinalValue)(this.__distanceX, props.delta.x * this.$options.dropSensitivity),
299
- this.getStateValueByMode(this.firstState.x),
300
- this.getStateValueByMode(this.lastState.x)
301
- );
302
- const absoluteDifferencesBetweenDistanceAndState = this.states.map(
303
- (state) => Math.abs(finalX - this.getStateValueByMode(state.x))
304
- );
305
- const minimumDifference = Math.min(...absoluteDifferencesBetweenDistanceAndState);
306
- const closestIndex = absoluteDifferencesBetweenDistanceAndState.indexOf(minimumDifference);
307
- if (this.$options.fitBounds) {
308
- this.goTo(closestIndex, { withInstantMove: false });
309
- } else {
310
- if (this.$options.contain) {
311
- finalX = Math.min(this.containMinState, finalX);
312
- finalX = Math.max(this.containMaxState, finalX);
313
- }
314
- this.$children.SliderItem.forEach((item) => {
315
- item.move(finalX);
316
- });
317
- this.currentIndex = closestIndex;
318
- }
319
- }
320
- /**
321
- * Enable focus.
322
- */
323
- onWrapperFocus() {
324
- this.hasFocus = true;
325
- }
326
- /**
327
- * Disable focus.
328
- */
329
- onWrapperBlur() {
330
- this.hasFocus = false;
331
- }
332
- /**
333
- * Go prev or next when focus is on the wrapper and pressing arrow keys.
334
- */
335
- keyed({ LEFT, RIGHT, isDown }) {
336
- if (this.hasFocus && isDown) {
337
- if (LEFT) {
338
- this.goPrev();
339
- } else if (RIGHT) {
340
- this.goNext();
341
- }
342
- }
343
- }
344
- /**
345
- * Prepare invisible items.
346
- */
347
- prepareInvisibleItems() {
348
- const state = this.states[this.currentIndex];
349
- const nextItemsToPrepare = [];
350
- const previousItemsToPrepare = [];
351
- this.getInvisibleItems(this.getStateValueByMode(state.x)).forEach((item, i) => {
352
- if (i > this.currentIndex) {
353
- nextItemsToPrepare.push(item);
354
- return;
355
- }
356
- if (i < this.currentIndex) {
357
- previousItemsToPrepare.push(item);
358
- }
359
- });
360
- nextItemsToPrepare.forEach((item) => {
361
- const invisibleState = this.getStateWhereItemWillBeInvisible(item);
362
- if (invisibleState) {
363
- item.moveInstantly(this.getStateValueByMode(invisibleState.x));
364
- }
365
- });
366
- previousItemsToPrepare.forEach((item) => {
367
- const invisibleState = this.getStateWhereItemWillBeInvisible(item, { reversed: true });
368
- if (invisibleState) {
369
- item.moveInstantly(this.getStateValueByMode(invisibleState.x));
370
- }
371
- });
372
- }
373
- /**
374
- * Get the state where the given item will be visible.
375
- */
376
- getStateWhereItemWillBeInvisible(item, { reversed = false } = {}) {
377
- const visibleStates = this.states.filter(
378
- (state) => item.willBeVisible(this.getStateValueByMode(state.x))
379
- );
380
- const firstVisibleState = visibleStates[0];
381
- const lastVisibleState = visibleStates.at(-1);
382
- const firstVisibleStateIndex = this.states.findIndex(
383
- (state) => this.getStateValueByMode(state.x) === this.getStateValueByMode(firstVisibleState.x)
384
- );
385
- const lastVisibleStateIndex = this.states.findIndex((state) => state.x === lastVisibleState.x);
386
- return reversed ? this.states[lastVisibleStateIndex + 1] : this.states[firstVisibleStateIndex - 1];
387
- }
388
- /**
389
- * Get the visible slides for the given position.
390
- */
391
- getVisibleItems(target) {
392
- return this.$children.SliderItem.filter((item) => item.isVisible || item.willBeVisible(target));
393
- }
394
- /**
395
- * Get the invisible slides for the given position.
396
- */
397
- getInvisibleItems(target) {
398
- return this.$children.SliderItem.filter(
399
- (item) => !item.isVisible && !item.willBeVisible(target)
400
- );
401
- }
402
- };
403
- if (module.exports.default) module.exports = module.exports.default;
404
- //# sourceMappingURL=Slider.cjs.map