@studiometa/ui 0.2.46 → 0.2.48

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 (183) hide show
  1. package/atoms/Action/Action.cjs +12 -17
  2. package/atoms/Action/Action.cjs.map +1 -1
  3. package/atoms/Action/Action.js.map +1 -1
  4. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +3 -8
  5. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +1 -1
  6. package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +1 -1
  7. package/atoms/CircularMarquee/CircularMarquee.cjs +12 -17
  8. package/atoms/CircularMarquee/CircularMarquee.cjs.map +1 -1
  9. package/atoms/Cursor/Cursor.cjs +37 -42
  10. package/atoms/Cursor/Cursor.cjs.map +1 -1
  11. package/atoms/Cursor/Cursor.js.map +1 -1
  12. package/atoms/Figure/Figure.cjs +13 -18
  13. package/atoms/Figure/Figure.cjs.map +1 -1
  14. package/atoms/Figure/FigureTwicpics.cjs +26 -31
  15. package/atoms/Figure/FigureTwicpics.cjs.map +1 -1
  16. package/atoms/Figure/FigureTwicpics.js.map +1 -1
  17. package/atoms/FigureVideo/FigureVideo.cjs +132 -0
  18. package/atoms/FigureVideo/FigureVideo.cjs.map +7 -0
  19. package/atoms/FigureVideo/FigureVideo.d.ts +51 -0
  20. package/atoms/FigureVideo/FigureVideo.js +110 -0
  21. package/atoms/FigureVideo/FigureVideo.js.map +7 -0
  22. package/atoms/FigureVideo/FigureVideo.twig +152 -0
  23. package/atoms/FigureVideo/FigureVideoTwicpics.cjs +153 -0
  24. package/atoms/FigureVideo/FigureVideoTwicpics.cjs.map +7 -0
  25. package/atoms/FigureVideo/FigureVideoTwicpics.d.ts +57 -0
  26. package/atoms/FigureVideo/FigureVideoTwicpics.js +135 -0
  27. package/atoms/FigureVideo/FigureVideoTwicpics.js.map +7 -0
  28. package/atoms/FigureVideo/FigureVideoTwicpics.twig +98 -0
  29. package/atoms/FigureVideo/index.cjs +22 -0
  30. package/atoms/FigureVideo/index.cjs.map +7 -0
  31. package/atoms/FigureVideo/index.d.ts +2 -0
  32. package/atoms/FigureVideo/index.js +3 -0
  33. package/atoms/FigureVideo/index.js.map +7 -0
  34. package/atoms/LargeText/LargeText.cjs +18 -23
  35. package/atoms/LargeText/LargeText.cjs.map +1 -1
  36. package/atoms/LazyInclude/LazyInclude.cjs +12 -17
  37. package/atoms/LazyInclude/LazyInclude.cjs.map +1 -1
  38. package/atoms/Prefetch/AbstractPrefetch.cjs +17 -23
  39. package/atoms/Prefetch/AbstractPrefetch.cjs.map +1 -1
  40. package/atoms/Prefetch/PrefetchWhenOver.cjs +7 -12
  41. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +1 -1
  42. package/atoms/Prefetch/PrefetchWhenVisible.cjs +7 -12
  43. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +1 -1
  44. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +27 -32
  45. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +1 -1
  46. package/atoms/ScrollAnimation/AbstractScrollAnimation.d.ts +1 -1
  47. package/atoms/ScrollAnimation/ScrollAnimation.cjs +8 -13
  48. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +1 -1
  49. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +18 -23
  50. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +1 -1
  51. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +7 -12
  52. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +1 -1
  53. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.d.ts +1 -1
  54. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +9 -14
  55. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +1 -1
  56. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +7 -12
  57. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +1 -1
  58. package/atoms/ScrollAnimation/ScrollAnimationWithEase.d.ts +1 -1
  59. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +1 -1
  60. package/atoms/ScrollAnimation/animationScrollWithEase.js.map +1 -1
  61. package/atoms/ScrollReveal/ScrollReveal.cjs +25 -31
  62. package/atoms/ScrollReveal/ScrollReveal.cjs.map +1 -1
  63. package/atoms/index.cjs +1 -0
  64. package/atoms/index.cjs.map +2 -2
  65. package/atoms/index.d.ts +1 -0
  66. package/atoms/index.js +1 -0
  67. package/atoms/index.js.map +2 -2
  68. package/decorators/index.cjs +1 -0
  69. package/decorators/index.cjs.map +2 -2
  70. package/decorators/index.d.ts +1 -0
  71. package/decorators/index.js +1 -0
  72. package/decorators/index.js.map +2 -2
  73. package/decorators/withDeprecation.cjs +47 -0
  74. package/decorators/withDeprecation.cjs.map +7 -0
  75. package/decorators/withDeprecation.d.ts +9 -0
  76. package/decorators/withDeprecation.js +25 -0
  77. package/decorators/withDeprecation.js.map +7 -0
  78. package/decorators/withTransition.cjs.map +1 -1
  79. package/decorators/withTransition.js.map +1 -1
  80. package/molecules/Accordion/Accordion.cjs +6 -11
  81. package/molecules/Accordion/Accordion.cjs.map +1 -1
  82. package/molecules/Accordion/AccordionCore.cjs +14 -19
  83. package/molecules/Accordion/AccordionCore.cjs.map +1 -1
  84. package/molecules/Accordion/AccordionItem.cjs +23 -29
  85. package/molecules/Accordion/AccordionItem.cjs.map +1 -1
  86. package/molecules/Accordion/AccordionItem.js.map +1 -1
  87. package/molecules/AnchorNav/AnchorNav.cjs +63 -0
  88. package/molecules/AnchorNav/AnchorNav.cjs.map +7 -0
  89. package/molecules/AnchorNav/AnchorNav.d.ts +24 -0
  90. package/molecules/AnchorNav/AnchorNav.js +41 -0
  91. package/molecules/AnchorNav/AnchorNav.js.map +7 -0
  92. package/molecules/AnchorNav/AnchorNavLink.cjs +40 -0
  93. package/molecules/AnchorNav/AnchorNavLink.cjs.map +7 -0
  94. package/molecules/AnchorNav/AnchorNavLink.d.ts +19 -0
  95. package/molecules/AnchorNav/AnchorNavLink.js +18 -0
  96. package/molecules/AnchorNav/AnchorNavLink.js.map +7 -0
  97. package/molecules/AnchorNav/AnchorNavTarget.cjs +35 -0
  98. package/molecules/AnchorNav/AnchorNavTarget.cjs.map +7 -0
  99. package/molecules/AnchorNav/AnchorNavTarget.d.ts +13 -0
  100. package/molecules/AnchorNav/AnchorNavTarget.js +13 -0
  101. package/molecules/AnchorNav/AnchorNavTarget.js.map +7 -0
  102. package/molecules/AnchorNav/index.cjs +23 -0
  103. package/molecules/AnchorNav/index.cjs.map +7 -0
  104. package/molecules/AnchorNav/index.d.ts +3 -0
  105. package/molecules/AnchorNav/index.js +4 -0
  106. package/molecules/AnchorNav/index.js.map +7 -0
  107. package/molecules/Menu/Menu.cjs +19 -25
  108. package/molecules/Menu/Menu.cjs.map +1 -1
  109. package/molecules/Menu/MenuBtn.cjs +6 -11
  110. package/molecules/Menu/MenuBtn.cjs.map +1 -1
  111. package/molecules/Menu/MenuList.cjs +12 -18
  112. package/molecules/Menu/MenuList.cjs.map +1 -1
  113. package/molecules/Menu/MenuList.d.ts +1 -1
  114. package/molecules/Modal/Modal.cjs +28 -33
  115. package/molecules/Modal/Modal.cjs.map +1 -1
  116. package/molecules/Modal/ModalWithTransition.cjs +31 -36
  117. package/molecules/Modal/ModalWithTransition.cjs.map +1 -1
  118. package/molecules/Panel/Panel.cjs +19 -25
  119. package/molecules/Panel/Panel.cjs.map +1 -1
  120. package/molecules/Slider/AbstractSliderChild.cjs +6 -11
  121. package/molecules/Slider/AbstractSliderChild.cjs.map +1 -1
  122. package/molecules/Slider/AbstractSliderChild.js.map +1 -1
  123. package/molecules/Slider/Slider.cjs +19 -24
  124. package/molecules/Slider/Slider.cjs.map +1 -1
  125. package/molecules/Slider/Slider.js.map +1 -1
  126. package/molecules/Slider/SliderBtn.cjs +11 -16
  127. package/molecules/Slider/SliderBtn.cjs.map +1 -1
  128. package/molecules/Slider/SliderBtn.js.map +1 -1
  129. package/molecules/Slider/SliderCount.cjs +7 -12
  130. package/molecules/Slider/SliderCount.cjs.map +1 -1
  131. package/molecules/Slider/SliderCount.js.map +1 -1
  132. package/molecules/Slider/SliderDots.cjs +7 -12
  133. package/molecules/Slider/SliderDots.cjs.map +1 -1
  134. package/molecules/Slider/SliderDots.d.ts +1 -1
  135. package/molecules/Slider/SliderDrag.cjs +13 -18
  136. package/molecules/Slider/SliderDrag.cjs.map +1 -1
  137. package/molecules/Slider/SliderDrag.d.ts +1 -1
  138. package/molecules/Slider/SliderItem.cjs +7 -12
  139. package/molecules/Slider/SliderItem.cjs.map +1 -1
  140. package/molecules/Slider/SliderProgress.cjs +7 -12
  141. package/molecules/Slider/SliderProgress.cjs.map +1 -1
  142. package/molecules/Sticky/Sticky.cjs +24 -30
  143. package/molecules/Sticky/Sticky.cjs.map +1 -1
  144. package/molecules/Sticky/Sticky.js.map +1 -1
  145. package/molecules/TableOfContent/TableOfContent.cjs +16 -20
  146. package/molecules/TableOfContent/TableOfContent.cjs.map +2 -2
  147. package/molecules/TableOfContent/TableOfContent.d.ts +4 -1
  148. package/molecules/TableOfContent/TableOfContent.js +2 -1
  149. package/molecules/TableOfContent/TableOfContent.js.map +2 -2
  150. package/molecules/TableOfContent/TableOfContentAnchor.cjs +18 -20
  151. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +2 -2
  152. package/molecules/TableOfContent/TableOfContentAnchor.d.ts +4 -1
  153. package/molecules/TableOfContent/TableOfContentAnchor.js +5 -2
  154. package/molecules/TableOfContent/TableOfContentAnchor.js.map +2 -2
  155. package/molecules/Tabs/Tabs.cjs +24 -29
  156. package/molecules/Tabs/Tabs.cjs.map +1 -1
  157. package/molecules/Tabs/Tabs.js.map +1 -1
  158. package/molecules/index.cjs +1 -0
  159. package/molecules/index.cjs.map +2 -2
  160. package/molecules/index.d.ts +1 -0
  161. package/molecules/index.js +1 -0
  162. package/molecules/index.js.map +2 -2
  163. package/organisms/Frame/Frame.cjs +46 -39
  164. package/organisms/Frame/Frame.cjs.map +3 -3
  165. package/organisms/Frame/Frame.d.ts +2 -2
  166. package/organisms/Frame/Frame.js +20 -7
  167. package/organisms/Frame/Frame.js.map +3 -3
  168. package/organisms/Frame/FrameAnchor.cjs +6 -11
  169. package/organisms/Frame/FrameAnchor.cjs.map +1 -1
  170. package/organisms/Frame/FrameForm.cjs +6 -11
  171. package/organisms/Frame/FrameForm.cjs.map +1 -1
  172. package/organisms/Frame/FrameTarget.cjs +25 -31
  173. package/organisms/Frame/FrameTarget.cjs.map +1 -1
  174. package/organisms/Frame/FrameTarget.d.ts +1 -1
  175. package/package.json +3 -3
  176. package/primitives/Draggable/Draggable.cjs +6 -11
  177. package/primitives/Draggable/Draggable.cjs.map +1 -1
  178. package/primitives/Draggable/Draggable.d.ts +1 -1
  179. package/primitives/Sentinel/Sentinel.cjs +6 -11
  180. package/primitives/Sentinel/Sentinel.cjs.map +1 -1
  181. package/primitives/Transition/Transition.cjs +6 -11
  182. package/primitives/Transition/Transition.cjs.map +1 -1
  183. package/primitives/Transition/Transition.d.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/ui/atoms/index.ts"],
4
- "sourcesContent": ["export * from './Action/index.js';\nexport * from './AnchorScrollTo/index.js';\nexport * from './CircularMarquee/index.js';\nexport * from './Cursor/index.js';\nexport * from './Figure/index.js';\nexport * from './LargeText/index.js';\nexport * from './LazyInclude/index.js';\nexport * from './Prefetch/index.js';\nexport * from './ScrollAnimation/index.js';\nexport * from './ScrollReveal/index.js';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,+BAAd;AACA,0BAAc,uCADd;AAEA,0BAAc,wCAFd;AAGA,0BAAc,+BAHd;AAIA,0BAAc,+BAJd;AAKA,0BAAc,kCALd;AAMA,0BAAc,oCANd;AAOA,0BAAc,iCAPd;AAQA,0BAAc,wCARd;AASA,0BAAc,qCATd;",
4
+ "sourcesContent": ["export * from './Action/index.js';\nexport * from './AnchorScrollTo/index.js';\nexport * from './CircularMarquee/index.js';\nexport * from './Cursor/index.js';\nexport * from './Figure/index.js';\nexport * from './FigureVideo/index.js';\nexport * from './LargeText/index.js';\nexport * from './LazyInclude/index.js';\nexport * from './Prefetch/index.js';\nexport * from './ScrollAnimation/index.js';\nexport * from './ScrollReveal/index.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,+BAAd;AACA,0BAAc,uCADd;AAEA,0BAAc,wCAFd;AAGA,0BAAc,+BAHd;AAIA,0BAAc,+BAJd;AAKA,0BAAc,oCALd;AAMA,0BAAc,kCANd;AAOA,0BAAc,oCAPd;AAQA,0BAAc,iCARd;AASA,0BAAc,wCATd;AAUA,0BAAc,qCAVd;",
6
6
  "names": []
7
7
  }
package/atoms/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './AnchorScrollTo/index.js';
3
3
  export * from './CircularMarquee/index.js';
4
4
  export * from './Cursor/index.js';
5
5
  export * from './Figure/index.js';
6
+ export * from './FigureVideo/index.js';
6
7
  export * from './LargeText/index.js';
7
8
  export * from './LazyInclude/index.js';
8
9
  export * from './Prefetch/index.js';
package/atoms/index.js CHANGED
@@ -3,6 +3,7 @@ export * from "./AnchorScrollTo/index.js";
3
3
  export * from "./CircularMarquee/index.js";
4
4
  export * from "./Cursor/index.js";
5
5
  export * from "./Figure/index.js";
6
+ export * from "./FigureVideo/index.js";
6
7
  export * from "./LargeText/index.js";
7
8
  export * from "./LazyInclude/index.js";
8
9
  export * from "./Prefetch/index.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/ui/atoms/index.ts"],
4
- "sourcesContent": ["export * from './Action/index.js';\nexport * from './AnchorScrollTo/index.js';\nexport * from './CircularMarquee/index.js';\nexport * from './Cursor/index.js';\nexport * from './Figure/index.js';\nexport * from './LargeText/index.js';\nexport * from './LazyInclude/index.js';\nexport * from './Prefetch/index.js';\nexport * from './ScrollAnimation/index.js';\nexport * from './ScrollReveal/index.js';\n"],
5
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "sourcesContent": ["export * from './Action/index.js';\nexport * from './AnchorScrollTo/index.js';\nexport * from './CircularMarquee/index.js';\nexport * from './Cursor/index.js';\nexport * from './Figure/index.js';\nexport * from './FigureVideo/index.js';\nexport * from './LargeText/index.js';\nexport * from './LazyInclude/index.js';\nexport * from './Prefetch/index.js';\nexport * from './ScrollAnimation/index.js';\nexport * from './ScrollReveal/index.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -17,5 +17,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
17
17
  var decorators_exports = {};
18
18
  module.exports = __toCommonJS(decorators_exports);
19
19
  __reExport(decorators_exports, require("./withTransition.cjs"), module.exports);
20
+ __reExport(decorators_exports, require("./withDeprecation.cjs"), module.exports);
20
21
  if (module.exports.default) module.exports = module.exports.default;
21
22
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/ui/decorators/index.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line import/prefer-default-export\nexport * from './withTransition.js';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AACA,+BAAc,iCADd;",
4
+ "sourcesContent": ["export * from './withTransition.js';\nexport * from './withDeprecation.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAc,iCAAd;AACA,+BAAc,kCADd;",
6
6
  "names": []
7
7
  }
@@ -1 +1,2 @@
1
1
  export * from './withTransition.js';
2
+ export * from './withDeprecation.js';
@@ -1,2 +1,3 @@
1
1
  export * from "./withTransition.js";
2
+ export * from "./withDeprecation.js";
2
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/ui/decorators/index.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line import/prefer-default-export\nexport * from './withTransition.js';\n"],
5
- "mappings": "AACA,cAAc;",
4
+ "sourcesContent": ["export * from './withTransition.js';\nexport * from './withDeprecation.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,47 @@
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/decorators/withDeprecation.ts
20
+ var withDeprecation_exports = {};
21
+ __export(withDeprecation_exports, {
22
+ withDeprecation: () => withDeprecation
23
+ });
24
+ module.exports = __toCommonJS(withDeprecation_exports);
25
+ var import_utils = require("@studiometa/js-toolkit/utils");
26
+ function withDeprecation(BaseClass, message) {
27
+ class Deprecated extends BaseClass {
28
+ /**
29
+ * Config.
30
+ */
31
+ static config = {
32
+ name: "Deprecated"
33
+ };
34
+ onMounted() {
35
+ if (import_utils.isDev) {
36
+ console.warn(
37
+ `The ${this.$options.name} component is deprecated.`,
38
+ message ? `
39
+ ${message}` : ""
40
+ );
41
+ }
42
+ }
43
+ }
44
+ return Deprecated;
45
+ }
46
+ if (module.exports.default) module.exports = module.exports.default;
47
+ //# sourceMappingURL=withDeprecation.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/ui/decorators/withDeprecation.ts"],
4
+ "sourcesContent": ["import type {\n Base,\n BaseDecorator,\n BaseProps,\n BaseConfig,\n BaseInterface,\n} from '@studiometa/js-toolkit';\nimport { isDev } from '@studiometa/js-toolkit/utils';\n\nexport interface DeprecationProps extends BaseProps {}\n\nexport interface DeprecationInterface extends BaseInterface {}\n\n/**\n * Mark a class a deprecated.\n */\nexport function withDeprecation<S extends Base>(\n BaseClass: typeof Base,\n message?: string,\n): BaseDecorator<DeprecationInterface, S, DeprecationProps> {\n /**\n * Class.\n */\n class Deprecated<T extends BaseProps = BaseProps> extends BaseClass<T & DeprecationProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Deprecated',\n };\n\n onMounted() {\n if (isDev) {\n console.warn(\n `The ${this.$options.name} component is deprecated.`,\n message ? `\\n${message}` : '',\n );\n }\n }\n }\n\n // @ts-ignore\n return Deprecated;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,mBAAsB;AASf,SAAS,gBACd,WACA,SAC0D;AAAA,EAI1D,MAAM,mBAAoD,UAAgC;AAAA;AAAA;AAAA;AAAA,IAIxF,OAAO,SAAqB;AAAA,MAC1B,MAAM;AAAA,IACR;AAAA,IAEA,YAAY;AACV,UAAI,oBAAO;AACT,gBAAQ;AAAA,UACN,OAAO,KAAK,SAAS,IAAI;AAAA,UACzB,UAAU;AAAA,EAAK,OAAO,KAAK;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import type { Base, BaseDecorator, BaseProps, BaseInterface } from '@studiometa/js-toolkit';
2
+ export interface DeprecationProps extends BaseProps {
3
+ }
4
+ export interface DeprecationInterface extends BaseInterface {
5
+ }
6
+ /**
7
+ * Mark a class a deprecated.
8
+ */
9
+ export declare function withDeprecation<S extends Base>(BaseClass: typeof Base, message?: string): BaseDecorator<DeprecationInterface, S, DeprecationProps>;
@@ -0,0 +1,25 @@
1
+ import { isDev } from "@studiometa/js-toolkit/utils";
2
+ function withDeprecation(BaseClass, message) {
3
+ class Deprecated extends BaseClass {
4
+ /**
5
+ * Config.
6
+ */
7
+ static config = {
8
+ name: "Deprecated"
9
+ };
10
+ onMounted() {
11
+ if (isDev) {
12
+ console.warn(
13
+ `The ${this.$options.name} component is deprecated.`,
14
+ message ? `
15
+ ${message}` : ""
16
+ );
17
+ }
18
+ }
19
+ }
20
+ return Deprecated;
21
+ }
22
+ export {
23
+ withDeprecation
24
+ };
25
+ //# sourceMappingURL=withDeprecation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/ui/decorators/withDeprecation.ts"],
4
+ "sourcesContent": ["import type {\n Base,\n BaseDecorator,\n BaseProps,\n BaseConfig,\n BaseInterface,\n} from '@studiometa/js-toolkit';\nimport { isDev } from '@studiometa/js-toolkit/utils';\n\nexport interface DeprecationProps extends BaseProps {}\n\nexport interface DeprecationInterface extends BaseInterface {}\n\n/**\n * Mark a class a deprecated.\n */\nexport function withDeprecation<S extends Base>(\n BaseClass: typeof Base,\n message?: string,\n): BaseDecorator<DeprecationInterface, S, DeprecationProps> {\n /**\n * Class.\n */\n class Deprecated<T extends BaseProps = BaseProps> extends BaseClass<T & DeprecationProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Deprecated',\n };\n\n onMounted() {\n if (isDev) {\n console.warn(\n `The ${this.$options.name} component is deprecated.`,\n message ? `\\n${message}` : '',\n );\n }\n }\n }\n\n // @ts-ignore\n return Deprecated;\n}\n"],
5
+ "mappings": "AAOA,SAAS,aAAa;AASf,SAAS,gBACd,WACA,SAC0D;AAAA,EAI1D,MAAM,mBAAoD,UAAgC;AAAA;AAAA;AAAA;AAAA,IAIxF,OAAO,SAAqB;AAAA,MAC1B,MAAM;AAAA,IACR;AAAA,IAEA,YAAY;AACV,UAAI,OAAO;AACT,gBAAQ;AAAA,UACN,OAAO,KAAK,SAAS,IAAI;AAAA,UACzB,UAAU;AAAA,EAAK,OAAO,KAAK;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../packages/ui/decorators/withTransition.ts"],
4
4
  "sourcesContent": ["import { transition } from '@studiometa/js-toolkit/utils';\nimport type {\n Base,\n BaseDecorator,\n BaseProps,\n BaseConfig,\n BaseInterface,\n} from '@studiometa/js-toolkit';\n\nexport interface TransitionProps extends BaseProps {\n $options: {\n enterFrom: string;\n enterActive: string;\n enterTo: string;\n enterKeep: boolean;\n leaveFrom: string;\n leaveActive: string;\n leaveTo: string;\n leaveKeep: boolean;\n };\n}\n\nexport interface TransitionInterface extends BaseInterface {\n /**\n * Get the transition target.\n */\n get target(): HTMLElement | HTMLElement[];\n /**\n * Trigger the enter transition.\n */\n enter(target?: HTMLElement | HTMLElement[]): Promise<void>;\n /**\n * Trigger the leave transition.\n */\n leave(target?: HTMLElement | HTMLElement[]): Promise<void>;\n}\n\n/**\n * Extend a class to add transition capabilities.\n */\nexport function withTransition<S extends Base>(\n BaseClass: typeof Base,\n): BaseDecorator<TransitionInterface, S, TransitionProps> {\n /**\n * Class.\n */\n class Transition<T extends BaseProps = BaseProps> extends BaseClass<T & TransitionProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Transition',\n options: {\n enterFrom: String,\n enterActive: String,\n enterTo: String,\n enterKeep: Boolean,\n leaveFrom: String,\n leaveActive: String,\n leaveTo: String,\n leaveKeep: Boolean,\n },\n };\n\n /**\n * Get the transition target.\n */\n get target(): HTMLElement | HTMLElement[] {\n return this.$el;\n }\n\n /**\n * Trigger the enter transition.\n */\n async enter(target?: HTMLElement | HTMLElement[]): Promise<void> {\n const { enterFrom, enterActive, enterTo, enterKeep, leaveTo } = this.$options;\n\n await transition(\n target ?? this.target,\n {\n // eslint-disable-next-line prefer-template\n from: (leaveTo + ' ' + enterFrom).trim(),\n active: enterActive as string,\n to: enterTo as string,\n },\n enterKeep ? 'keep' : undefined,\n );\n }\n\n /**\n * Trigger the leave transition.\n */\n async leave(target?: HTMLElement | HTMLElement[]): Promise<void> {\n const { leaveFrom, leaveActive, leaveTo, leaveKeep, enterTo } = this.$options;\n\n await transition(\n target ?? this.target,\n {\n // eslint-disable-next-line prefer-template\n from: (enterTo + ' ' + leaveFrom).trim(),\n active: leaveActive as string,\n to: leaveTo as string,\n },\n leaveKeep ? 'keep' : undefined,\n );\n }\n }\n\n // @ts-ignore\n return Transition;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2B;AAwCpB,SAAS,eACd,WACwD;AAIxD,QAAM,mBAAoD,UAA+B;AAAA;AAAA;AAAA;AAAA,IAIvF,OAAO,SAAqB;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,QACP,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,MACb;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,SAAsC;AACxC,aAAO,KAAK;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,gBAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,gBAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2B;AAwCpB,SAAS,eACd,WACwD;AAAA,EAIxD,MAAM,mBAAoD,UAA+B;AAAA;AAAA;AAAA;AAAA,IAIvF,OAAO,SAAqB;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,QACP,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,MACb;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,SAAsC;AACxC,aAAO,KAAK;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,gBAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,gBAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../packages/ui/decorators/withTransition.ts"],
4
4
  "sourcesContent": ["import { transition } from '@studiometa/js-toolkit/utils';\nimport type {\n Base,\n BaseDecorator,\n BaseProps,\n BaseConfig,\n BaseInterface,\n} from '@studiometa/js-toolkit';\n\nexport interface TransitionProps extends BaseProps {\n $options: {\n enterFrom: string;\n enterActive: string;\n enterTo: string;\n enterKeep: boolean;\n leaveFrom: string;\n leaveActive: string;\n leaveTo: string;\n leaveKeep: boolean;\n };\n}\n\nexport interface TransitionInterface extends BaseInterface {\n /**\n * Get the transition target.\n */\n get target(): HTMLElement | HTMLElement[];\n /**\n * Trigger the enter transition.\n */\n enter(target?: HTMLElement | HTMLElement[]): Promise<void>;\n /**\n * Trigger the leave transition.\n */\n leave(target?: HTMLElement | HTMLElement[]): Promise<void>;\n}\n\n/**\n * Extend a class to add transition capabilities.\n */\nexport function withTransition<S extends Base>(\n BaseClass: typeof Base,\n): BaseDecorator<TransitionInterface, S, TransitionProps> {\n /**\n * Class.\n */\n class Transition<T extends BaseProps = BaseProps> extends BaseClass<T & TransitionProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Transition',\n options: {\n enterFrom: String,\n enterActive: String,\n enterTo: String,\n enterKeep: Boolean,\n leaveFrom: String,\n leaveActive: String,\n leaveTo: String,\n leaveKeep: Boolean,\n },\n };\n\n /**\n * Get the transition target.\n */\n get target(): HTMLElement | HTMLElement[] {\n return this.$el;\n }\n\n /**\n * Trigger the enter transition.\n */\n async enter(target?: HTMLElement | HTMLElement[]): Promise<void> {\n const { enterFrom, enterActive, enterTo, enterKeep, leaveTo } = this.$options;\n\n await transition(\n target ?? this.target,\n {\n // eslint-disable-next-line prefer-template\n from: (leaveTo + ' ' + enterFrom).trim(),\n active: enterActive as string,\n to: enterTo as string,\n },\n enterKeep ? 'keep' : undefined,\n );\n }\n\n /**\n * Trigger the leave transition.\n */\n async leave(target?: HTMLElement | HTMLElement[]): Promise<void> {\n const { leaveFrom, leaveActive, leaveTo, leaveKeep, enterTo } = this.$options;\n\n await transition(\n target ?? this.target,\n {\n // eslint-disable-next-line prefer-template\n from: (enterTo + ' ' + leaveFrom).trim(),\n active: leaveActive as string,\n to: leaveTo as string,\n },\n leaveKeep ? 'keep' : undefined,\n );\n }\n }\n\n // @ts-ignore\n return Transition;\n}\n"],
5
- "mappings": "AAAA,SAAS,kBAAkB;AAwCpB,SAAS,eACd,WACwD;AAIxD,QAAM,mBAAoD,UAA+B;AAAA;AAAA;AAAA;AAAA,IAIvF,OAAO,SAAqB;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,QACP,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,MACb;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,SAAsC;AACxC,aAAO,KAAK;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,YAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,YAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
5
+ "mappings": "AAAA,SAAS,kBAAkB;AAwCpB,SAAS,eACd,WACwD;AAAA,EAIxD,MAAM,mBAAoD,UAA+B;AAAA;AAAA;AAAA;AAAA,IAIvF,OAAO,SAAqB;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,QACP,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,MACb;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,SAAsC;AACxC,aAAO,KAAK;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,YAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,MAAM,QAAqD;AAC/D,YAAM,EAAE,WAAW,aAAa,SAAS,WAAW,QAAQ,IAAI,KAAK;AAErE,YAAM;AAAA,QACJ,UAAU,KAAK;AAAA,QACf;AAAA;AAAA,UAEE,OAAO,UAAU,MAAM,WAAW,KAAK;AAAA,UACvC,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/ui/molecules/Accordion/Accordion.ts
25
20
  var Accordion_exports = {};
@@ -30,12 +25,12 @@ module.exports = __toCommonJS(Accordion_exports);
30
25
  var import_AccordionCore = require("./AccordionCore.cjs");
31
26
  var import_AccordionItem = require("./AccordionItem.cjs");
32
27
  var Accordion = class extends import_AccordionCore.AccordionCore {
28
+ static config = {
29
+ ...import_AccordionCore.AccordionCore.config,
30
+ components: {
31
+ AccordionItem: import_AccordionItem.AccordionItem
32
+ }
33
+ };
33
34
  };
34
- __publicField(Accordion, "config", {
35
- ...import_AccordionCore.AccordionCore.config,
36
- components: {
37
- AccordionItem: import_AccordionItem.AccordionItem
38
- }
39
- });
40
35
  if (module.exports.default) module.exports = module.exports.default;
41
36
  //# sourceMappingURL=Accordion.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/molecules/Accordion/Accordion.ts"],
4
4
  "sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AccordionCore } from './AccordionCore.js';\nimport type { AccordionProps } from './AccordionCore.js';\nimport { AccordionItem } from './AccordionItem.js';\n\n/**\n * Accordion class.\n */\nexport class Accordion<T extends BaseProps = BaseProps> extends AccordionCore<T & AccordionProps> {\n static config: BaseConfig = {\n ...AccordionCore.config,\n components: {\n AccordionItem,\n },\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAE9B,2BAA8B;AAKvB,IAAM,YAAN,cAAyD,mCAAkC;AAOlG;AANE,cADW,WACJ,UAAqB;AAAA,EAC1B,GAAG,mCAAc;AAAA,EACjB,YAAY;AAAA,IACV;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAE9B,2BAA8B;AAKvB,IAAM,YAAN,cAAyD,mCAAkC;AAAA,EAChG,OAAO,SAAqB;AAAA,IAC1B,GAAG,mCAAc;AAAA,IACjB,YAAY;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/ui/molecules/Accordion/AccordionCore.ts
25
20
  var AccordionCore_exports = {};
@@ -29,6 +24,20 @@ __export(AccordionCore_exports, {
29
24
  module.exports = __toCommonJS(AccordionCore_exports);
30
25
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
26
  var AccordionCore = class extends import_js_toolkit.Base {
27
+ /**
28
+ * Accordion config.
29
+ */
30
+ static config = {
31
+ name: "Accordion",
32
+ emits: ["open", "close"],
33
+ options: {
34
+ autoclose: Boolean,
35
+ item: {
36
+ type: Object,
37
+ default: () => ({})
38
+ }
39
+ }
40
+ };
32
41
  /**
33
42
  * Synchronize close on open.
34
43
  */
@@ -45,19 +54,5 @@ var AccordionCore = class extends import_js_toolkit.Base {
45
54
  this.$emit("close", this.$children.AccordionItem[index], index);
46
55
  }
47
56
  };
48
- /**
49
- * Accordion config.
50
- */
51
- __publicField(AccordionCore, "config", {
52
- name: "Accordion",
53
- emits: ["open", "close"],
54
- options: {
55
- autoclose: Boolean,
56
- item: {
57
- type: Object,
58
- default: () => ({})
59
- }
60
- }
61
- });
62
57
  if (module.exports.default) module.exports = module.exports.default;
63
58
  //# sourceMappingURL=AccordionCore.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/molecules/Accordion/AccordionCore.ts"],
4
4
  "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport type { AccordionItem, AccordionItemProps } from './AccordionItem';\n\nexport interface AccordionProps extends BaseProps {\n $refs: {\n btn: HTMLElement[];\n content: HTMLElement[];\n };\n $options: {\n autoclose: boolean;\n item: AccordionItemProps['$options'];\n };\n $children: {\n AccordionItem: AccordionItem[];\n };\n}\n\n/**\n * Accordion class.\n */\nexport class AccordionCore<T extends BaseProps = BaseProps> extends Base<T & AccordionProps> {\n /**\n * Accordion config.\n */\n static config: BaseConfig = {\n name: 'Accordion',\n emits: ['open', 'close'],\n options: {\n autoclose: Boolean,\n item: {\n type: Object,\n default: (): Partial<AccordionItemProps['$options']> => ({}),\n },\n },\n };\n\n /**\n * Synchronize close on open.\n */\n onAccordionItemOpen(index: number) {\n this.$emit('open', this.$children.AccordionItem[index], index);\n if (this.$options.autoclose) {\n this.$children.AccordionItem.filter((el, i) => index !== i).forEach((item) => item.close());\n }\n }\n\n /**\n * Emit close event.\n */\n onAccordionItemClose(index: number) {\n this.$emit('close', this.$children.AccordionItem[index], index);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAqBd,IAAM,gBAAN,cAA6D,uBAAyB;AAAA;AAAA;AAAA;AAAA,EAmB3F,oBAAoB,OAAe;AACjC,SAAK,MAAM,QAAQ,KAAK,UAAU,cAAc,KAAK,GAAG,KAAK;AAC7D,QAAI,KAAK,SAAS,WAAW;AAC3B,WAAK,UAAU,cAAc,OAAO,CAAC,IAAI,MAAM,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC;AAAA,IAC5F;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB,OAAe;AAClC,SAAK,MAAM,SAAS,KAAK,UAAU,cAAc,KAAK,GAAG,KAAK;AAAA,EAChE;AACF;AAAA;AAAA;AAAA;AA5BE,cAJW,eAIJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO,CAAC,QAAQ,OAAO;AAAA,EACvB,SAAS;AAAA,IACP,WAAW;AAAA,IACX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS,OAAgD,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAqBd,IAAM,gBAAN,cAA6D,uBAAyB;AAAA;AAAA;AAAA;AAAA,EAI3F,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO,CAAC,QAAQ,OAAO;AAAA,IACvB,SAAS;AAAA,MACP,WAAW;AAAA,MACX,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,OAAgD,CAAC;AAAA,MAC5D;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB,OAAe;AACjC,SAAK,MAAM,QAAQ,KAAK,UAAU,cAAc,KAAK,GAAG,KAAK;AAC7D,QAAI,KAAK,SAAS,WAAW;AAC3B,WAAK,UAAU,cAAc,OAAO,CAAC,IAAI,MAAM,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC;AAAA,IAC5F;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB,OAAe;AAClC,SAAK,MAAM,SAAS,KAAK,UAAU,cAAc,KAAK,GAAG,KAAK;AAAA,EAChE;AACF;",
6
6
  "names": []
7
7
  }
@@ -4,7 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
7
  var __export = (target, all) => {
9
8
  for (var name in all)
10
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -26,10 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
25
  mod
27
26
  ));
28
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var __publicField = (obj, key, value) => {
30
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
- return value;
32
- };
33
28
 
34
29
  // packages/ui/molecules/Accordion/AccordionItem.ts
35
30
  var AccordionItem_exports = {};
@@ -41,7 +36,29 @@ var import_deepmerge = __toESM(require("deepmerge"), 1);
41
36
  var import_js_toolkit = require("@studiometa/js-toolkit");
42
37
  var import_utils = require("@studiometa/js-toolkit/utils");
43
38
  var import_AccordionCore = require("./AccordionCore.cjs");
44
- var _AccordionItem = class extends import_js_toolkit.Base {
39
+ var AccordionItem = class _AccordionItem extends import_js_toolkit.Base {
40
+ /**
41
+ * Config.
42
+ */
43
+ static config = {
44
+ name: "AccordionItem",
45
+ refs: ["btn", "content", "container"],
46
+ emits: ["open", "close"],
47
+ options: {
48
+ isOpen: Boolean,
49
+ styles: {
50
+ type: Object,
51
+ default: () => ({
52
+ container: {
53
+ open: "",
54
+ active: "",
55
+ closed: ""
56
+ }
57
+ }),
58
+ merge: true
59
+ }
60
+ }
61
+ };
45
62
  /**
46
63
  * Add aria-attributes on mounted.
47
64
  */
@@ -185,28 +202,5 @@ var _AccordionItem = class extends import_js_toolkit.Base {
185
202
  ]);
186
203
  }
187
204
  };
188
- var AccordionItem = _AccordionItem;
189
- /**
190
- * Config.
191
- */
192
- __publicField(AccordionItem, "config", {
193
- name: "AccordionItem",
194
- refs: ["btn", "content", "container"],
195
- emits: ["open", "close"],
196
- options: {
197
- isOpen: Boolean,
198
- styles: {
199
- type: Object,
200
- default: () => ({
201
- container: {
202
- open: "",
203
- active: "",
204
- closed: ""
205
- }
206
- }),
207
- merge: true
208
- }
209
- }
210
- });
211
205
  if (module.exports.default) module.exports = module.exports.default;
212
206
  //# sourceMappingURL=AccordionItem.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/molecules/Accordion/AccordionItem.ts"],
4
4
  "sourcesContent": ["import deepmerge from 'deepmerge';\nimport { Base, BaseConfig } from '@studiometa/js-toolkit';\nimport type { BaseProps } from '@studiometa/js-toolkit';\nimport { transition } from '@studiometa/js-toolkit/utils';\nimport { AccordionCore as Accordion } from './AccordionCore.js';\n\ntype AccordionItemStates = Partial<\n Record<'open' | 'active' | 'closed', string | Partial<CSSStyleDeclaration>>\n>;\n\nexport interface AccordionItemProps extends BaseProps {\n $refs: {\n btn: HTMLElement;\n content: HTMLElement;\n container: HTMLElement;\n };\n $options: {\n isOpen: boolean;\n styles: Partial<Record<keyof AccordionItemProps['$refs'], AccordionItemStates>>;\n };\n}\n\n/**\n * AccordionItem class.\n */\nexport class AccordionItem<T extends BaseProps = BaseProps> extends Base<T & AccordionItemProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'AccordionItem',\n refs: ['btn', 'content', 'container'],\n emits: ['open', 'close'],\n options: {\n isOpen: Boolean,\n styles: {\n type: Object,\n default: (): AccordionItemProps['$options']['styles'] => ({\n container: {\n open: '',\n active: '',\n closed: '',\n },\n }),\n merge: true,\n },\n },\n };\n\n /**\n * Add aria-attributes on mounted.\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 // @ts-ignore\n const type = AccordionItem.config.options[key].type ?? AccordionItem.config.options[key];\n if (type === Array || type === Object) {\n // @ts-ignore\n this.$options[key] = deepmerge(this.$options[key], /** @type {any} */ value);\n } else {\n // @ts-ignore\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 // Update refs styles on mount\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { container, ...otherStyles } = this.$options.styles;\n\n const { $refs } = this;\n Object.entries(otherStyles)\n .filter(([refName]) => $refs[refName])\n .forEach(([refName, { open, closed } = { open: '', closed: '' }]) => {\n transition($refs[refName] as HTMLElement, { to: isOpen ? open : closed }, 'keep');\n });\n }\n\n /**\n * Remove styles on destroy.\n */\n destroyed() {\n this.$refs.container.style.visibility = '';\n this.$refs.container.style.height = '';\n }\n\n /**\n * Handler for the click event on the `btn` ref.\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 */\n get contentId(): string {\n return `content-${this.$id}`;\n }\n\n /**\n * Update the refs' attributes according to the given type.\n */\n updateAttributes(isOpen: boolean) {\n this.$refs.container.style.visibility = isOpen ? '' : 'invisible';\n this.$refs.container.style.height = isOpen ? '' : '0';\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 */\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 this.$refs.container.style.visibility = '';\n const { container, ...otherStyles } = this.$options.styles;\n\n const { $refs } = this;\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 $refs.content.style.position = '';\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] as HTMLElement,\n {\n from: closed,\n active,\n to: open,\n },\n 'keep',\n ),\n ),\n ]);\n }\n\n /**\n * Close an item.\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 this.$refs.content.style.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 refs.container.style.height = '0';\n refs.container.style.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] as HTMLElement,\n {\n from: open,\n active,\n to: closed,\n },\n 'keep',\n ),\n ),\n ]);\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["Accordion", "deepmerge"]
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/molecules/Accordion/AccordionItem.ts"],
4
4
  "sourcesContent": ["import deepmerge from 'deepmerge';\nimport { Base, BaseConfig } from '@studiometa/js-toolkit';\nimport type { BaseProps } from '@studiometa/js-toolkit';\nimport { transition } from '@studiometa/js-toolkit/utils';\nimport { AccordionCore as Accordion } from './AccordionCore.js';\n\ntype AccordionItemStates = Partial<\n Record<'open' | 'active' | 'closed', string | Partial<CSSStyleDeclaration>>\n>;\n\nexport interface AccordionItemProps extends BaseProps {\n $refs: {\n btn: HTMLElement;\n content: HTMLElement;\n container: HTMLElement;\n };\n $options: {\n isOpen: boolean;\n styles: Partial<Record<keyof AccordionItemProps['$refs'], AccordionItemStates>>;\n };\n}\n\n/**\n * AccordionItem class.\n */\nexport class AccordionItem<T extends BaseProps = BaseProps> extends Base<T & AccordionItemProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'AccordionItem',\n refs: ['btn', 'content', 'container'],\n emits: ['open', 'close'],\n options: {\n isOpen: Boolean,\n styles: {\n type: Object,\n default: (): AccordionItemProps['$options']['styles'] => ({\n container: {\n open: '',\n active: '',\n closed: '',\n },\n }),\n merge: true,\n },\n },\n };\n\n /**\n * Add aria-attributes on mounted.\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 // @ts-ignore\n const type = AccordionItem.config.options[key].type ?? AccordionItem.config.options[key];\n if (type === Array || type === Object) {\n // @ts-ignore\n this.$options[key] = deepmerge(this.$options[key], /** @type {any} */ value);\n } else {\n // @ts-ignore\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 // Update refs styles on mount\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { container, ...otherStyles } = this.$options.styles;\n\n const { $refs } = this;\n Object.entries(otherStyles)\n .filter(([refName]) => $refs[refName])\n .forEach(([refName, { open, closed } = { open: '', closed: '' }]) => {\n transition($refs[refName] as HTMLElement, { to: isOpen ? open : closed }, 'keep');\n });\n }\n\n /**\n * Remove styles on destroy.\n */\n destroyed() {\n this.$refs.container.style.visibility = '';\n this.$refs.container.style.height = '';\n }\n\n /**\n * Handler for the click event on the `btn` ref.\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 */\n get contentId(): string {\n return `content-${this.$id}`;\n }\n\n /**\n * Update the refs' attributes according to the given type.\n */\n updateAttributes(isOpen: boolean) {\n this.$refs.container.style.visibility = isOpen ? '' : 'invisible';\n this.$refs.container.style.height = isOpen ? '' : '0';\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 */\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 this.$refs.container.style.visibility = '';\n const { container, ...otherStyles } = this.$options.styles;\n\n const { $refs } = this;\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 $refs.content.style.position = '';\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] as HTMLElement,\n {\n from: closed,\n active,\n to: open,\n },\n 'keep',\n ),\n ),\n ]);\n }\n\n /**\n * Close an item.\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 this.$refs.content.style.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 refs.container.style.height = '0';\n refs.container.style.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] as HTMLElement,\n {\n from: open,\n active,\n to: closed,\n },\n 'keep',\n ),\n ),\n ]);\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,63 @@
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/AnchorNav/AnchorNav.ts
20
+ var AnchorNav_exports = {};
21
+ __export(AnchorNav_exports, {
22
+ AnchorNav: () => AnchorNav
23
+ });
24
+ module.exports = __toCommonJS(AnchorNav_exports);
25
+ var import_js_toolkit = require("@studiometa/js-toolkit");
26
+ var import_AnchorNavLink = require("./AnchorNavLink.cjs");
27
+ var import_AnchorNavTarget = require("./AnchorNavTarget.cjs");
28
+ var AnchorNav = class extends import_js_toolkit.Base {
29
+ /**
30
+ * Config
31
+ */
32
+ static config = {
33
+ name: "AnchorNav",
34
+ components: {
35
+ AnchorNavLink: import_AnchorNavLink.AnchorNavLink,
36
+ AnchorNavTarget: import_AnchorNavTarget.AnchorNavTarget
37
+ }
38
+ };
39
+ /**
40
+ * Listen to the AnchorNavTarget that is mounted
41
+ */
42
+ onAnchorNavTargetMounted(index) {
43
+ const { id } = this.$children.AnchorNavTarget[index].$el;
44
+ this.$children.AnchorNavLink.forEach((anchorNavLink) => {
45
+ if (id === anchorNavLink.targetId) {
46
+ anchorNavLink.enter();
47
+ }
48
+ });
49
+ }
50
+ /**
51
+ * Listen to the AnchorNavTarget that is destroyed
52
+ */
53
+ onAnchorNavTargetDestroyed(index) {
54
+ const { id } = this.$children.AnchorNavTarget[index].$el;
55
+ this.$children.AnchorNavLink.forEach((anchorNavLink) => {
56
+ if (id === anchorNavLink.targetId) {
57
+ anchorNavLink.leave();
58
+ }
59
+ });
60
+ }
61
+ };
62
+ if (module.exports.default) module.exports = module.exports.default;
63
+ //# sourceMappingURL=AnchorNav.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/molecules/AnchorNav/AnchorNav.ts"],
4
+ "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AnchorNavLink } from './AnchorNavLink.js';\nimport { AnchorNavTarget } from './AnchorNavTarget.js';\n\nexport interface AnchorNavProps extends BaseProps {\n $children: {\n AnchorNavLink: AnchorNavLink[];\n AnchorNavTarget: AnchorNavTarget[];\n };\n}\n\nexport class AnchorNav<T extends BaseProps = BaseProps> extends Base<T & AnchorNavProps> {\n /**\n * Config\n */\n static config: BaseConfig = {\n name: 'AnchorNav',\n components: {\n AnchorNavLink,\n AnchorNavTarget,\n },\n };\n\n /**\n * Listen to the AnchorNavTarget that is mounted\n */\n onAnchorNavTargetMounted(index) {\n const { id } = this.$children.AnchorNavTarget[index].$el;\n this.$children.AnchorNavLink.forEach((anchorNavLink) => {\n if (id === anchorNavLink.targetId) {\n anchorNavLink.enter();\n }\n });\n }\n\n /**\n * Listen to the AnchorNavTarget that is destroyed\n */\n onAnchorNavTargetDestroyed(index) {\n const { id } = this.$children.AnchorNavTarget[index].$el;\n this.$children.AnchorNavLink.forEach((anchorNavLink) => {\n if (id === anchorNavLink.targetId) {\n anchorNavLink.leave();\n }\n });\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAErB,2BAA8B;AAC9B,6BAAgC;AASzB,IAAM,YAAN,cAAyD,uBAAyB;AAAA;AAAA;AAAA;AAAA,EAIvF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,YAAY;AAAA,MACV;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,yBAAyB,OAAO;AAC9B,UAAM,EAAE,GAAG,IAAI,KAAK,UAAU,gBAAgB,KAAK,EAAE;AACrD,SAAK,UAAU,cAAc,QAAQ,CAAC,kBAAkB;AACtD,UAAI,OAAO,cAAc,UAAU;AACjC,sBAAc,MAAM;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,2BAA2B,OAAO;AAChC,UAAM,EAAE,GAAG,IAAI,KAAK,UAAU,gBAAgB,KAAK,EAAE;AACrD,SAAK,UAAU,cAAc,QAAQ,CAAC,kBAAkB;AACtD,UAAI,OAAO,cAAc,UAAU;AACjC,sBAAc,MAAM;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,24 @@
1
+ import { Base } from '@studiometa/js-toolkit';
2
+ import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';
3
+ import { AnchorNavLink } from './AnchorNavLink.js';
4
+ import { AnchorNavTarget } from './AnchorNavTarget.js';
5
+ export interface AnchorNavProps extends BaseProps {
6
+ $children: {
7
+ AnchorNavLink: AnchorNavLink[];
8
+ AnchorNavTarget: AnchorNavTarget[];
9
+ };
10
+ }
11
+ export declare class AnchorNav<T extends BaseProps = BaseProps> extends Base<T & AnchorNavProps> {
12
+ /**
13
+ * Config
14
+ */
15
+ static config: BaseConfig;
16
+ /**
17
+ * Listen to the AnchorNavTarget that is mounted
18
+ */
19
+ onAnchorNavTargetMounted(index: any): void;
20
+ /**
21
+ * Listen to the AnchorNavTarget that is destroyed
22
+ */
23
+ onAnchorNavTargetDestroyed(index: any): void;
24
+ }