@studiometa/js-toolkit 2.0.0-alpha.4 → 2.0.0-alpha.8

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 (194) hide show
  1. package/Base/index.d.ts +29 -47
  2. package/Base/index.js +19 -14
  3. package/Base/managers/ChildrenManager.d.ts +6 -6
  4. package/Base/managers/ChildrenManager.js +1 -2
  5. package/Base/managers/EventsManager.d.ts +9 -9
  6. package/Base/managers/EventsManager.js +18 -33
  7. package/Base/managers/OptionsManager.d.ts +0 -8
  8. package/Base/managers/OptionsManager.js +1 -6
  9. package/Base/managers/RefsManager.js +1 -2
  10. package/Base/managers/ServicesManager.d.ts +14 -3
  11. package/Base/managers/ServicesManager.js +30 -12
  12. package/Base/utils.js +1 -2
  13. package/README.md +12 -70
  14. package/decorators/index.js +1 -2
  15. package/decorators/withBreakpointManager.d.ts +4 -4
  16. package/decorators/withBreakpointManager.js +1 -2
  17. package/decorators/withBreakpointObserver.d.ts +2 -2
  18. package/decorators/withBreakpointObserver.js +1 -2
  19. package/decorators/withDrag.d.ts +3 -3
  20. package/decorators/withDrag.js +1 -2
  21. package/decorators/withExtraConfig.d.ts +3 -3
  22. package/decorators/withExtraConfig.js +1 -2
  23. package/decorators/withIntersectionObserver.d.ts +2 -2
  24. package/decorators/withIntersectionObserver.js +1 -11
  25. package/decorators/withMountWhenInView.d.ts +3 -3
  26. package/decorators/withMountWhenInView.js +1 -2
  27. package/helpers/createApp.d.ts +3 -3
  28. package/helpers/createApp.js +9 -9
  29. package/helpers/importOnInteraction.d.ts +3 -3
  30. package/helpers/importOnInteraction.js +1 -2
  31. package/helpers/importWhenIdle.d.ts +3 -3
  32. package/helpers/importWhenIdle.js +1 -2
  33. package/helpers/importWhenVisible.d.ts +3 -3
  34. package/helpers/importWhenVisible.js +1 -2
  35. package/helpers/index.js +1 -2
  36. package/helpers/utils.js +1 -2
  37. package/index.d.ts +2 -2
  38. package/index.js +1 -2
  39. package/index.modern.js +1 -2
  40. package/index.umd.js +1 -2
  41. package/package.json +3 -4
  42. package/services/Service.js +1 -2
  43. package/services/drag.js +1 -2
  44. package/services/index.js +1 -2
  45. package/services/key.js +1 -2
  46. package/services/load.d.ts +1 -1
  47. package/services/load.js +2 -3
  48. package/services/pointer.js +1 -2
  49. package/services/raf.js +1 -2
  50. package/services/resize.js +1 -6
  51. package/services/scroll.js +1 -2
  52. package/utils/collide/boundingRectToCircle.js +1 -2
  53. package/utils/collide/collideCircleCircle.js +1 -2
  54. package/utils/collide/collideCircleRect.js +1 -2
  55. package/utils/collide/collidePointCircle.js +1 -2
  56. package/utils/collide/collidePointRect.js +1 -2
  57. package/utils/collide/collideRectRect.js +1 -2
  58. package/utils/collide/index.js +1 -2
  59. package/utils/css/classes.js +1 -2
  60. package/utils/css/index.js +1 -2
  61. package/utils/css/matrix.js +1 -2
  62. package/utils/css/styles.js +1 -2
  63. package/utils/css/transition.js +1 -2
  64. package/utils/debounce.js +1 -2
  65. package/utils/focusTrap.js +1 -2
  66. package/utils/history.js +2 -3
  67. package/utils/index.d.ts +2 -1
  68. package/utils/index.js +2 -2
  69. package/utils/keyCodes.js +1 -2
  70. package/utils/math/clamp.js +1 -2
  71. package/utils/math/clamp01.js +1 -2
  72. package/utils/math/damp.js +1 -2
  73. package/utils/math/index.js +1 -2
  74. package/utils/math/inertiaFinalValue.js +1 -2
  75. package/utils/math/lerp.js +1 -2
  76. package/utils/math/map.js +1 -2
  77. package/utils/math/round.js +1 -2
  78. package/utils/memoize.d.ts +30 -0
  79. package/utils/memoize.js +30 -0
  80. package/utils/nextFrame.js +1 -2
  81. package/utils/object/autoBind.js +1 -2
  82. package/utils/object/getAllProperties.js +1 -2
  83. package/utils/object/index.js +1 -2
  84. package/utils/object/isObject.js +1 -2
  85. package/utils/string/index.js +1 -2
  86. package/utils/string/withLeadingCharacters.js +1 -2
  87. package/utils/string/withLeadingSlash.js +1 -2
  88. package/utils/string/withTrailingCharacters.js +1 -2
  89. package/utils/string/withTrailingSlash.js +1 -2
  90. package/utils/string/withoutLeadingCharacters.js +1 -2
  91. package/utils/string/withoutLeadingCharactersRecursive.js +1 -2
  92. package/utils/string/withoutLeadingSlash.js +1 -2
  93. package/utils/string/withoutTrailingCharacters.js +1 -2
  94. package/utils/string/withoutTrailingCharactersRecursive.js +1 -2
  95. package/utils/string/withoutTrailingSlash.js +1 -2
  96. package/utils/throttle.js +1 -2
  97. package/Base/index.js.map +0 -1
  98. package/Base/managers/ChildrenManager.js.map +0 -1
  99. package/Base/managers/EventsManager.js.map +0 -1
  100. package/Base/managers/OptionsManager.js.map +0 -1
  101. package/Base/managers/RefsManager.js.map +0 -1
  102. package/Base/managers/ServicesManager.js.map +0 -1
  103. package/Base/utils.js.map +0 -1
  104. package/components/Accordion/Accordion.d.ts +0 -83
  105. package/components/Accordion/Accordion.js +0 -58
  106. package/components/Accordion/Accordion.js.map +0 -1
  107. package/components/Accordion/AccordionItem.d.ts +0 -122
  108. package/components/Accordion/AccordionItem.js +0 -244
  109. package/components/Accordion/AccordionItem.js.map +0 -1
  110. package/components/Accordion/index.d.ts +0 -27
  111. package/components/Accordion/index.js +0 -19
  112. package/components/Accordion/index.js.map +0 -1
  113. package/components/Cursor.d.ts +0 -138
  114. package/components/Cursor.js +0 -136
  115. package/components/Cursor.js.map +0 -1
  116. package/components/Draggable.d.ts +0 -49
  117. package/components/Draggable.js +0 -43
  118. package/components/Draggable.js.map +0 -1
  119. package/components/Modal.d.ts +0 -158
  120. package/components/Modal.js +0 -186
  121. package/components/Modal.js.map +0 -1
  122. package/components/Tabs.d.ts +0 -108
  123. package/components/Tabs.js +0 -120
  124. package/components/Tabs.js.map +0 -1
  125. package/components/index.d.ts +0 -6
  126. package/components/index.js +0 -7
  127. package/components/index.js.map +0 -1
  128. package/decorators/index.js.map +0 -1
  129. package/decorators/withBreakpointManager.js.map +0 -1
  130. package/decorators/withBreakpointObserver.js.map +0 -1
  131. package/decorators/withDrag.js.map +0 -1
  132. package/decorators/withExtraConfig.js.map +0 -1
  133. package/decorators/withIntersectionObserver.js.map +0 -1
  134. package/decorators/withMountWhenInView.js.map +0 -1
  135. package/helpers/createApp.js.map +0 -1
  136. package/helpers/importOnInteraction.js.map +0 -1
  137. package/helpers/importWhenIdle.js.map +0 -1
  138. package/helpers/importWhenVisible.js.map +0 -1
  139. package/helpers/index.js.map +0 -1
  140. package/helpers/utils.js.map +0 -1
  141. package/index.js.map +0 -1
  142. package/index.modern.js.map +0 -1
  143. package/index.umd.js.map +0 -1
  144. package/services/Service.js.map +0 -1
  145. package/services/drag.js.map +0 -1
  146. package/services/index.js.map +0 -1
  147. package/services/key.js.map +0 -1
  148. package/services/load.js.map +0 -1
  149. package/services/pointer.js.map +0 -1
  150. package/services/raf.js.map +0 -1
  151. package/services/resize.js.map +0 -1
  152. package/services/scroll.js.map +0 -1
  153. package/utils/collide/boundingRectToCircle.js.map +0 -1
  154. package/utils/collide/collideCircleCircle.js.map +0 -1
  155. package/utils/collide/collideCircleRect.js.map +0 -1
  156. package/utils/collide/collidePointCircle.js.map +0 -1
  157. package/utils/collide/collidePointRect.js.map +0 -1
  158. package/utils/collide/collideRectRect.js.map +0 -1
  159. package/utils/collide/index.js.map +0 -1
  160. package/utils/css/classes.js.map +0 -1
  161. package/utils/css/index.js.map +0 -1
  162. package/utils/css/matrix.js.map +0 -1
  163. package/utils/css/styles.js.map +0 -1
  164. package/utils/css/transition.js.map +0 -1
  165. package/utils/debounce.js.map +0 -1
  166. package/utils/focusTrap.js.map +0 -1
  167. package/utils/history.js.map +0 -1
  168. package/utils/index.js.map +0 -1
  169. package/utils/keyCodes.js.map +0 -1
  170. package/utils/math/clamp.js.map +0 -1
  171. package/utils/math/clamp01.js.map +0 -1
  172. package/utils/math/damp.js.map +0 -1
  173. package/utils/math/index.js.map +0 -1
  174. package/utils/math/inertiaFinalValue.js.map +0 -1
  175. package/utils/math/lerp.js.map +0 -1
  176. package/utils/math/map.js.map +0 -1
  177. package/utils/math/round.js.map +0 -1
  178. package/utils/nextFrame.js.map +0 -1
  179. package/utils/object/autoBind.js.map +0 -1
  180. package/utils/object/getAllProperties.js.map +0 -1
  181. package/utils/object/index.js.map +0 -1
  182. package/utils/object/isObject.js.map +0 -1
  183. package/utils/string/index.js.map +0 -1
  184. package/utils/string/withLeadingCharacters.js.map +0 -1
  185. package/utils/string/withLeadingSlash.js.map +0 -1
  186. package/utils/string/withTrailingCharacters.js.map +0 -1
  187. package/utils/string/withTrailingSlash.js.map +0 -1
  188. package/utils/string/withoutLeadingCharacters.js.map +0 -1
  189. package/utils/string/withoutLeadingCharactersRecursive.js.map +0 -1
  190. package/utils/string/withoutLeadingSlash.js.map +0 -1
  191. package/utils/string/withoutTrailingCharacters.js.map +0 -1
  192. package/utils/string/withoutTrailingCharactersRecursive.js.map +0 -1
  193. package/utils/string/withoutTrailingSlash.js.map +0 -1
  194. package/utils/throttle.js.map +0 -1
@@ -1,122 +0,0 @@
1
- /**
2
- * @typedef {import('../../Base').BaseOptions} BaseOptions
3
- * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface
4
- */
5
- /**
6
- * @typedef {Object} AccordionItemRefs
7
- * @property {HTMLElement} btn
8
- * @property {HTMLElement} content
9
- * @property {HTMLElement} container
10
- */
11
- /**
12
- * @typedef {Object} StylesOption
13
- * @property {String|CssStyleObject} open
14
- * @property {String|CssStyleObject} active
15
- * @property {String|CssStyleObject} closed
16
- */
17
- /**
18
- * @typedef {import('../../utils/css/styles.js').CssStyleObject} CssStyleObject
19
- * @typedef {Partial<Record<'open'|'active'|'closed', string|CssStyleObject>>} AccordionItemStates
20
- * @typedef {Partial<Record<keyof AccordionItemRefs, AccordionItemStates>>} AccordionItemStylesOption
21
- */
22
- /**
23
- * @typedef {Object} AccordionItemOptions
24
- * @property {Boolean} isOpen
25
- * @property {AccordionItemStylesOption} styles
26
- */
27
- /**
28
- * @typedef {Object} AccordionItemPrivateInterface
29
- * @property {AccordionItemOptions} $options
30
- * @property {AccordionItemRefs} $refs
31
- * @property {Accordion & AccordionInterface} $parent
32
- */
33
- /**
34
- * @typedef {AccordionItem & AccordionItemPrivateInterface} AccordionItemInterface
35
- */
36
- /**
37
- * AccordionItem class.
38
- */
39
- export default class AccordionItem extends Base {
40
- /**
41
- * AccordionItem config
42
- * @return {Object}
43
- */
44
- static config: {
45
- name: string;
46
- refs: string[];
47
- options: {
48
- isOpen: BooleanConstructor;
49
- styles: {
50
- type: ObjectConstructor;
51
- /**
52
- * @return {AccordionItemStylesOption}
53
- */
54
- default: () => AccordionItemStylesOption;
55
- };
56
- };
57
- };
58
- /**
59
- * Add aria-attributes on mounted.
60
- * @this {AccordionItemInterface}
61
- */
62
- mounted(): void;
63
- /**
64
- * Remove styles on destroy.
65
- * @this {AccordionItemInterface}
66
- */
67
- destroyed(): void;
68
- /**
69
- * Handler for the click event on the `btn` ref.
70
- * @this {AccordionItemInterface}
71
- */
72
- onBtnClick(): void;
73
- /**
74
- * Get the content ID.
75
- * @return {String}
76
- */
77
- get contentId(): string;
78
- /**
79
- * Update the refs' attributes according to the given type.
80
- *
81
- * @this {AccordionItemInterface}
82
- * @param {Boolean} isOpen The state of the item.
83
- */
84
- updateAttributes(isOpen: boolean): void;
85
- /**
86
- * Open an item.
87
- * @this {AccordionItemInterface}
88
- */
89
- open(): Promise<void>;
90
- /**
91
- * Close an item.
92
- * @this {AccordionItemInterface}
93
- */
94
- close(): Promise<void>;
95
- }
96
- export type BaseOptions = import('../../Base').BaseOptions;
97
- export type AccordionInterface = import('./Accordion.js').AccordionInterface;
98
- export type AccordionItemRefs = {
99
- btn: HTMLElement;
100
- content: HTMLElement;
101
- container: HTMLElement;
102
- };
103
- export type StylesOption = {
104
- open: string | CssStyleObject;
105
- active: string | CssStyleObject;
106
- closed: string | CssStyleObject;
107
- };
108
- export type CssStyleObject = import('../../utils/css/styles.js').CssStyleObject;
109
- export type AccordionItemStates = Partial<Record<'open' | 'active' | 'closed', string | CssStyleObject>>;
110
- export type AccordionItemStylesOption = Partial<Record<keyof AccordionItemRefs, AccordionItemStates>>;
111
- export type AccordionItemOptions = {
112
- isOpen: boolean;
113
- styles: AccordionItemStylesOption;
114
- };
115
- export type AccordionItemPrivateInterface = {
116
- $options: AccordionItemOptions;
117
- $refs: AccordionItemRefs;
118
- $parent: Accordion & AccordionInterface;
119
- };
120
- export type AccordionItemInterface = AccordionItem & AccordionItemPrivateInterface;
121
- import Base from "../../Base/index.js";
122
- import Accordion from "./Accordion.js";
@@ -1,244 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var _excluded = ["container"],
5
- _excluded2 = ["container"],
6
- _excluded3 = ["container"];
7
- import deepmerge from 'deepmerge';
8
- import Base from '../../Base/index.js';
9
- import Accordion from './Accordion.js';
10
- import * as styles from '../../utils/css/styles.js';
11
- import transition from '../../utils/css/transition.js';
12
- export default class AccordionItem extends Base {
13
- mounted() {
14
- if (this.$parent && this.$parent instanceof Accordion && this.$parent.$options.item) {
15
- Object.entries(this.$parent.$options.item).forEach(_ref => {
16
- var [key, value] = _ref;
17
-
18
- if (key in this.$options) {
19
- var type = AccordionItem.config.options[key].type || AccordionItem.config.options[key];
20
-
21
- if (type === Array || type === Object) {
22
- this.$options[key] = deepmerge(this.$options[key], value);
23
- } else {
24
- this.$options[key] = value;
25
- }
26
- }
27
- });
28
- }
29
-
30
- this.$refs.btn.setAttribute('id', this.$id);
31
- this.$refs.btn.setAttribute('aria-controls', this.contentId);
32
- this.$refs.content.setAttribute('aria-labelledby', this.$id);
33
- this.$refs.content.setAttribute('id', this.contentId);
34
- var {
35
- isOpen
36
- } = this.$options;
37
- this.updateAttributes(isOpen);
38
-
39
- if (!isOpen) {
40
- styles.add(this.$refs.container, {
41
- visibility: 'invisible',
42
- height: '0'
43
- });
44
- }
45
-
46
- var _this$$options$styles = this.$options.styles,
47
- {
48
- container
49
- } = _this$$options$styles,
50
- otherStyles = _objectWithoutProperties(_this$$options$styles, _excluded);
51
-
52
- var refs = this.$refs;
53
- Object.entries(otherStyles).filter(_ref2 => {
54
- var [refName] = _ref2;
55
- return refs[refName];
56
- }).forEach(_ref3 => {
57
- var [refName, {
58
- open,
59
- closed
60
- } = {
61
- open: '',
62
- closed: ''
63
- }] = _ref3;
64
- transition(refs[refName], {
65
- to: isOpen ? open : closed
66
- }, 'keep');
67
- });
68
- }
69
-
70
- destroyed() {
71
- styles.remove(this.$refs.container, {
72
- visibility: '',
73
- height: ''
74
- });
75
- }
76
-
77
- onBtnClick() {
78
- if (this.$options.isOpen) {
79
- this.close();
80
- } else {
81
- this.open();
82
- }
83
- }
84
-
85
- get contentId() {
86
- return "content-".concat(this.$id);
87
- }
88
-
89
- updateAttributes(isOpen) {
90
- this.$refs.content.setAttribute('aria-hidden', isOpen ? 'false' : 'true');
91
- this.$refs.btn.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
92
- }
93
-
94
- open() {
95
- var _this = this;
96
-
97
- return _asyncToGenerator(function* () {
98
- if (_this.$options.isOpen) {
99
- return;
100
- }
101
-
102
- _this.$log('open');
103
-
104
- _this.$emit('open');
105
-
106
- _this.$options.isOpen = true;
107
-
108
- _this.updateAttributes(_this.$options.isOpen);
109
-
110
- styles.remove(_this.$refs.container, {
111
- visibility: 'invisible'
112
- });
113
-
114
- var _this$$options$styles2 = _this.$options.styles,
115
- {
116
- container
117
- } = _this$$options$styles2,
118
- otherStyles = _objectWithoutProperties(_this$$options$styles2, _excluded2);
119
-
120
- var refs = _this.$refs;
121
- yield Promise.all([transition(refs.container, {
122
- from: {
123
- height: 0
124
- },
125
- active: container.active,
126
- to: {
127
- height: "".concat(refs.content.offsetHeight, "px")
128
- }
129
- }).then(() => {
130
- if (_this.$options.isOpen) {
131
- styles.remove(refs.content, {
132
- position: 'absolute'
133
- });
134
- }
135
-
136
- return Promise.resolve();
137
- }), ...Object.entries(otherStyles).filter(_ref4 => {
138
- var [refName] = _ref4;
139
- return refs[refName];
140
- }).map(_ref5 => {
141
- var [refName, {
142
- open,
143
- active,
144
- closed
145
- } = {
146
- open: '',
147
- active: '',
148
- closed: ''
149
- }] = _ref5;
150
- return transition(refs[refName], {
151
- from: closed,
152
- active,
153
- to: open
154
- }, 'keep');
155
- })]);
156
- })();
157
- }
158
-
159
- close() {
160
- var _this2 = this;
161
-
162
- return _asyncToGenerator(function* () {
163
- if (!_this2.$options.isOpen) {
164
- return;
165
- }
166
-
167
- _this2.$log('close');
168
-
169
- _this2.$emit('close');
170
-
171
- _this2.$options.isOpen = false;
172
- var height = _this2.$refs.container.offsetHeight;
173
- styles.add(_this2.$refs.content, {
174
- position: 'absolute'
175
- });
176
-
177
- var _this2$$options$style = _this2.$options.styles,
178
- {
179
- container
180
- } = _this2$$options$style,
181
- otherStyles = _objectWithoutProperties(_this2$$options$style, _excluded3);
182
-
183
- var refs = _this2.$refs;
184
- yield Promise.all([transition(refs.container, {
185
- from: {
186
- height: "".concat(height, "px")
187
- },
188
- active: container.active,
189
- to: {
190
- height: '0'
191
- }
192
- }).then(() => {
193
- if (!_this2.$options.isOpen) {
194
- styles.add(refs.container, {
195
- height: '0',
196
- visibility: 'invisible'
197
- });
198
-
199
- _this2.updateAttributes(_this2.$options.isOpen);
200
- }
201
-
202
- return Promise.resolve();
203
- }), ...Object.entries(otherStyles).filter(_ref6 => {
204
- var [refName] = _ref6;
205
- return refs[refName];
206
- }).map(_ref7 => {
207
- var [refName, {
208
- open,
209
- active,
210
- closed
211
- } = {
212
- open: '',
213
- active: '',
214
- closed: ''
215
- }] = _ref7;
216
- return transition(refs[refName], {
217
- from: open,
218
- active,
219
- to: closed
220
- }, 'keep');
221
- })]);
222
- })();
223
- }
224
-
225
- }
226
-
227
- _defineProperty(AccordionItem, "config", {
228
- name: 'AccordionItem',
229
- refs: ['btn', 'content', 'container'],
230
- options: {
231
- isOpen: Boolean,
232
- styles: {
233
- type: Object,
234
- default: () => ({
235
- container: {
236
- open: '',
237
- active: '',
238
- closed: ''
239
- }
240
- })
241
- }
242
- }
243
- });
244
- //# sourceMappingURL=AccordionItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/components/Accordion/AccordionItem.js"],"names":["deepmerge","Base","Accordion","styles","transition","AccordionItem","mounted","$parent","$options","item","Object","entries","forEach","key","value","type","config","options","Array","$refs","btn","setAttribute","$id","contentId","content","isOpen","updateAttributes","add","container","visibility","height","otherStyles","refs","filter","refName","open","closed","to","destroyed","remove","onBtnClick","close","$log","$emit","Promise","all","from","active","offsetHeight","then","position","resolve","map","name","Boolean","default"],"mappings":"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","sourcesContent":["import deepmerge from 'deepmerge';\nimport Base from '../../Base/index.js';\nimport Accordion from './Accordion.js';\nimport * as styles from '../../utils/css/styles.js';\nimport transition from '../../utils/css/transition.js';\n\n/**\n * @typedef {import('../../Base').BaseOptions} BaseOptions\n * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface\n */\n\n/**\n * @typedef {Object} AccordionItemRefs\n * @property {HTMLElement} btn\n * @property {HTMLElement} content\n * @property {HTMLElement} container\n */\n\n/**\n * @typedef {Object} StylesOption\n * @property {String|CssStyleObject} open\n * @property {String|CssStyleObject} active\n * @property {String|CssStyleObject} closed\n */\n\n/**\n * @typedef {import('../../utils/css/styles.js').CssStyleObject} CssStyleObject\n * @typedef {Partial<Record<'open'|'active'|'closed', string|CssStyleObject>>} AccordionItemStates\n * @typedef {Partial<Record<keyof AccordionItemRefs, AccordionItemStates>>} AccordionItemStylesOption\n */\n\n/**\n * @typedef {Object} AccordionItemOptions\n * @property {Boolean} isOpen\n * @property {AccordionItemStylesOption} styles\n */\n\n/**\n * @typedef {Object} AccordionItemPrivateInterface\n * @property {AccordionItemOptions} $options\n * @property {AccordionItemRefs} $refs\n * @property {Accordion & AccordionInterface} $parent\n */\n\n/**\n * @typedef {AccordionItem & AccordionItemPrivateInterface} AccordionItemInterface\n */\n\n/**\n * AccordionItem class.\n */\nexport default class AccordionItem extends Base {\n /**\n * AccordionItem config\n * @return {Object}\n */\n static config = {\n name: 'AccordionItem',\n refs: ['btn', 'content', 'container'],\n options: {\n isOpen: Boolean,\n styles: {\n type: Object,\n /**\n * @return {AccordionItemStylesOption}\n */\n default: () => ({\n container: {\n open: '',\n active: '',\n closed: '',\n },\n }),\n },\n },\n };\n\n /**\n * Add aria-attributes on mounted.\n * @this {AccordionItemInterface}\n */\n mounted() {\n if (this.$parent && this.$parent instanceof Accordion && this.$parent.$options.item) {\n Object.entries(this.$parent.$options.item).forEach(([key, value]) => {\n if (key in this.$options) {\n const type = AccordionItem.config.options[key].type || AccordionItem.config.options[key];\n if (type === Array || type === Object) {\n this.$options[key] = deepmerge(this.$options[key], /** @type {any} */ (value));\n } else {\n this.$options[key] = value;\n }\n }\n });\n }\n\n this.$refs.btn.setAttribute('id', this.$id);\n this.$refs.btn.setAttribute('aria-controls', this.contentId);\n this.$refs.content.setAttribute('aria-labelledby', this.$id);\n this.$refs.content.setAttribute('id', this.contentId);\n\n const { isOpen } = this.$options;\n this.updateAttributes(isOpen);\n\n if (!isOpen) {\n styles.add(this.$refs.container, { visibility: 'invisible', height: '0' });\n }\n\n // Update refs styles on mount\n const { container, ...otherStyles } = this.$options.styles;\n /** @type {AccordionItemRefs} */\n const refs = this.$refs;\n Object.entries(otherStyles)\n .filter(([refName]) => refs[refName])\n .forEach(([refName, { open, closed } = { open: '', closed: '' }]) => {\n transition(refs[refName], { to: isOpen ? open : closed }, 'keep');\n });\n }\n\n /**\n * Remove styles on destroy.\n * @this {AccordionItemInterface}\n */\n destroyed() {\n styles.remove(this.$refs.container, { visibility: '', height: '' });\n }\n\n /**\n * Handler for the click event on the `btn` ref.\n * @this {AccordionItemInterface}\n */\n onBtnClick() {\n if (this.$options.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Get the content ID.\n * @return {String}\n */\n get contentId() {\n return `content-${this.$id}`;\n }\n\n /**\n * Update the refs' attributes according to the given type.\n *\n * @this {AccordionItemInterface}\n * @param {Boolean} isOpen The state of the item.\n */\n updateAttributes(isOpen) {\n this.$refs.content.setAttribute('aria-hidden', isOpen ? 'false' : 'true');\n this.$refs.btn.setAttribute('aria-expanded', isOpen ? 'true' : 'false');\n }\n\n /**\n * Open an item.\n * @this {AccordionItemInterface}\n */\n async open() {\n if (this.$options.isOpen) {\n return;\n }\n\n this.$log('open');\n this.$emit('open');\n\n this.$options.isOpen = true;\n this.updateAttributes(this.$options.isOpen);\n\n styles.remove(this.$refs.container, { visibility: 'invisible' });\n const { container, ...otherStyles } = this.$options.styles;\n\n /** @type {AccordionItemRefs} */\n const refs = this.$refs;\n\n await Promise.all([\n transition(refs.container, {\n from: { height: 0 },\n active: container.active,\n to: { height: `${refs.content.offsetHeight}px` },\n }).then(() => {\n // Remove style only if the item has not been closed before the end\n if (this.$options.isOpen) {\n styles.remove(refs.content, { position: 'absolute' });\n }\n\n return Promise.resolve();\n }),\n ...Object.entries(otherStyles)\n .filter(([refName]) => refs[refName])\n .map(([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 ]);\n }\n\n /**\n * Close an item.\n * @this {AccordionItemInterface}\n */\n async close() {\n if (!this.$options.isOpen) {\n return;\n }\n\n this.$log('close');\n this.$emit('close');\n\n this.$options.isOpen = false;\n\n const height = this.$refs.container.offsetHeight;\n styles.add(this.$refs.content, { position: 'absolute' });\n const { container, ...otherStyles } = this.$options.styles;\n\n /** @type {AccordionItemRefs} */\n const refs = this.$refs;\n\n await Promise.all([\n transition(refs.container, {\n from: { height: `${height}px` },\n active: container.active,\n to: { height: '0' },\n }).then(() => {\n // Add end styles only if the item has not been re-opened before the end\n if (!this.$options.isOpen) {\n styles.add(refs.container, { height: '0', visibility: 'invisible' });\n this.updateAttributes(this.$options.isOpen);\n }\n return Promise.resolve();\n }),\n ...Object.entries(otherStyles)\n .filter(([refName]) => refs[refName])\n .map(([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 ]);\n }\n}\n"],"file":"AccordionItem.js"}
@@ -1,27 +0,0 @@
1
- export default Accordion;
2
- export type AccordionInterface = import('./Accordion.js').AccordionInterface;
3
- export type AccordionItemInterface = import('./AccordionItem.js').AccordionItemInterface;
4
- /**
5
- * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface
6
- * @typedef {import('./AccordionItem.js').AccordionItemInterface} AccordionItemInterface
7
- */
8
- /**
9
- * Accordion class.
10
- */
11
- declare class Accordion extends AccordionCore {
12
- static config: {
13
- components: {
14
- AccordionItem: typeof AccordionItem;
15
- };
16
- name: string;
17
- options: {
18
- autoclose: BooleanConstructor;
19
- item: {
20
- type: ObjectConstructor;
21
- default: () => Partial<import("./AccordionItem.js").AccordionItemOptions>;
22
- };
23
- };
24
- };
25
- }
26
- import AccordionCore from "./Accordion.js";
27
- import AccordionItem from "./AccordionItem.js";
@@ -1,19 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
-
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
-
7
- import AccordionCore from './Accordion.js';
8
- import AccordionItem from './AccordionItem.js';
9
-
10
- class Accordion extends AccordionCore {}
11
-
12
- _defineProperty(Accordion, "config", _objectSpread(_objectSpread({}, AccordionCore.config), {}, {
13
- components: {
14
- AccordionItem
15
- }
16
- }));
17
-
18
- export default Accordion;
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/components/Accordion/index.js"],"names":["AccordionCore","AccordionItem","Accordion","config","components"],"mappings":";;;;;;AAAA,OAAOA,aAAP,MAA0B,gBAA1B;AACA,OAAOC,aAAP,MAA0B,oBAA1B;;AAUA,MAAMC,SAAN,SAAwBF,aAAxB,CAAsC;;gBAAhCE,S,4CAECF,aAAa,CAACG,M;AACjBC,EAAAA,UAAU,EAAE;AACVH,IAAAA;AADU;;;AAMhB,eAAeC,SAAf","sourcesContent":["import AccordionCore from './Accordion.js';\nimport AccordionItem from './AccordionItem.js';\n\n/**\n * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface\n * @typedef {import('./AccordionItem.js').AccordionItemInterface} AccordionItemInterface\n */\n\n/**\n * Accordion class.\n */\nclass Accordion extends AccordionCore {\n static config = {\n ...AccordionCore.config,\n components: {\n AccordionItem,\n },\n };\n}\n\nexport default Accordion;\n"],"file":"index.js"}
@@ -1,138 +0,0 @@
1
- /**
2
- * @typedef {import('../services/pointer').PointerServiceProps} PointerServiceProps
3
- * @typedef {import('../Base').BaseOptions} BaseOptions
4
- */
5
- /**
6
- * @typedef {Object} CursorOptions
7
- * @property {string} growSelectors
8
- * @property {string} shrinkSelectors
9
- * @property {number} growTo
10
- * @property {number} shrinkTo
11
- * @property {number} translateDampFactor
12
- * @property {number} growDampFactor
13
- * @property {number} shrinkDampFactor
14
- */
15
- /**
16
- * @typedef {Object} CursorPrivateInterface
17
- * @property {BaseOptions & CursorOptions} $options
18
- */
19
- /**
20
- * @typedef {Cursor & CursorPrivateInterface} CursorInterface
21
- */
22
- /**
23
- * Custom cursor component.
24
- */
25
- export default class Cursor extends Base {
26
- /**
27
- * Class config.
28
- */
29
- static config: {
30
- name: string;
31
- options: {
32
- growSelectors: {
33
- type: StringConstructor;
34
- default: string;
35
- };
36
- shrinkSelectors: {
37
- type: StringConstructor;
38
- default: string;
39
- };
40
- growTo: {
41
- type: NumberConstructor;
42
- default: number;
43
- };
44
- shrinkTo: {
45
- type: NumberConstructor;
46
- default: number;
47
- };
48
- translateDampFactor: {
49
- type: NumberConstructor;
50
- default: number;
51
- };
52
- growDampFactor: {
53
- type: NumberConstructor;
54
- default: number;
55
- };
56
- shrinkDampFactor: {
57
- type: NumberConstructor;
58
- default: number;
59
- };
60
- };
61
- };
62
- /**
63
- * @type {Number}
64
- */
65
- x: number;
66
- /**
67
- * @type {Number}
68
- */
69
- y: number;
70
- /**
71
- * @type {Number}
72
- */
73
- scale: number;
74
- /**
75
- * @type {Number}
76
- */
77
- pointerX: number;
78
- /**
79
- * @type {Number}
80
- */
81
- pointerY: number;
82
- /**
83
- * @type {Number}
84
- */
85
- pointerScale: number;
86
- /**
87
- * Mounted hook.
88
- * @return {void}
89
- */
90
- mounted(): void;
91
- /**
92
- * Moved hook.
93
- *
94
- * @this {CursorInterface}
95
- *
96
- * @param {PointerServiceProps} options
97
- * @return {void}
98
- */
99
- moved({ event, x, y, isDown }: PointerServiceProps): void;
100
- /**
101
- * RequestAnimationFrame hook.
102
- *
103
- * @this {CursorInterface}
104
- *
105
- * @return {void}
106
- */
107
- ticked(): void;
108
- /**
109
- * Render the cursor.
110
- *
111
- * @param {Object} options
112
- * @param {Number} options.x
113
- * @param {Number} options.y
114
- * @param {Number} options.scale
115
- * @return {void}
116
- */
117
- render({ x, y, scale }: {
118
- x: number;
119
- y: number;
120
- scale: number;
121
- }): void;
122
- }
123
- export type PointerServiceProps = import('../services/pointer').PointerServiceProps;
124
- export type BaseOptions = import('../Base').BaseOptions;
125
- export type CursorOptions = {
126
- growSelectors: string;
127
- shrinkSelectors: string;
128
- growTo: number;
129
- shrinkTo: number;
130
- translateDampFactor: number;
131
- growDampFactor: number;
132
- shrinkDampFactor: number;
133
- };
134
- export type CursorPrivateInterface = {
135
- $options: BaseOptions & CursorOptions;
136
- };
137
- export type CursorInterface = Cursor & CursorPrivateInterface;
138
- import Base from "../Base/index.js";