@design-factory/angular 21.0.4 → 21.1.0-next.0

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/drawer/README.md +54 -0
  2. package/fesm2022/design-factory-angular-drawer.mjs +202 -67
  3. package/fesm2022/design-factory-angular-drawer.mjs.map +1 -1
  4. package/fesm2022/design-factory-angular-internals.mjs +439 -17
  5. package/fesm2022/design-factory-angular-internals.mjs.map +1 -1
  6. package/fesm2022/design-factory-angular-sidenav.mjs +223 -210
  7. package/fesm2022/design-factory-angular-sidenav.mjs.map +1 -1
  8. package/fesm2022/design-factory-angular-theme.mjs +198 -0
  9. package/fesm2022/design-factory-angular-theme.mjs.map +1 -0
  10. package/fesm2022/design-factory-angular-topnav.mjs +1538 -0
  11. package/fesm2022/design-factory-angular-topnav.mjs.map +1 -0
  12. package/node_modules/@agnos-ui/core/README.md +5 -0
  13. package/node_modules/@agnos-ui/core/accordion-BC_9xn23.cjs +314 -0
  14. package/node_modules/@agnos-ui/core/accordion-Ca_0T8Bc.js +315 -0
  15. package/node_modules/@agnos-ui/core/alert-AhaliJ17.cjs +9 -0
  16. package/node_modules/@agnos-ui/core/alert-Cb9FhbFQ.js +10 -0
  17. package/node_modules/@agnos-ui/core/collapse-COriZO7o.cjs +94 -0
  18. package/node_modules/@agnos-ui/core/collapse-CP79atna.js +95 -0
  19. package/node_modules/@agnos-ui/core/common-B5jS-Ih_.cjs +73 -0
  20. package/node_modules/@agnos-ui/core/common-DFyZvkII.js +74 -0
  21. package/node_modules/@agnos-ui/core/components/accordion/accordion.d.ts +333 -0
  22. package/node_modules/@agnos-ui/core/components/accordion/index.cjs +7 -0
  23. package/node_modules/@agnos-ui/core/components/accordion/index.d.ts +1 -0
  24. package/node_modules/@agnos-ui/core/components/accordion/index.js +7 -0
  25. package/node_modules/@agnos-ui/core/components/alert/alert.d.ts +37 -0
  26. package/node_modules/@agnos-ui/core/components/alert/common.d.ts +138 -0
  27. package/node_modules/@agnos-ui/core/components/alert/index.cjs +5 -0
  28. package/node_modules/@agnos-ui/core/components/alert/index.d.ts +1 -0
  29. package/node_modules/@agnos-ui/core/components/alert/index.js +5 -0
  30. package/node_modules/@agnos-ui/core/components/carousel/carousel.d.ts +247 -0
  31. package/node_modules/@agnos-ui/core/components/carousel/index.cjs +292 -0
  32. package/node_modules/@agnos-ui/core/components/carousel/index.d.ts +1 -0
  33. package/node_modules/@agnos-ui/core/components/carousel/index.js +292 -0
  34. package/node_modules/@agnos-ui/core/components/collapse/collapse.d.ts +135 -0
  35. package/node_modules/@agnos-ui/core/components/collapse/index.cjs +5 -0
  36. package/node_modules/@agnos-ui/core/components/collapse/index.d.ts +1 -0
  37. package/node_modules/@agnos-ui/core/components/collapse/index.js +5 -0
  38. package/node_modules/@agnos-ui/core/components/commonProps.d.ts +11 -0
  39. package/node_modules/@agnos-ui/core/components/drawer/drawer.d.ts +279 -0
  40. package/node_modules/@agnos-ui/core/components/drawer/index.cjs +5 -0
  41. package/node_modules/@agnos-ui/core/components/drawer/index.d.ts +1 -0
  42. package/node_modules/@agnos-ui/core/components/drawer/index.js +5 -0
  43. package/node_modules/@agnos-ui/core/components/modal/index.cjs +8 -0
  44. package/node_modules/@agnos-ui/core/components/modal/index.d.ts +1 -0
  45. package/node_modules/@agnos-ui/core/components/modal/index.js +8 -0
  46. package/node_modules/@agnos-ui/core/components/modal/modal.d.ts +245 -0
  47. package/node_modules/@agnos-ui/core/components/pagination/index.cjs +5 -0
  48. package/node_modules/@agnos-ui/core/components/pagination/index.d.ts +1 -0
  49. package/node_modules/@agnos-ui/core/components/pagination/index.js +5 -0
  50. package/node_modules/@agnos-ui/core/components/pagination/pagination.d.ts +313 -0
  51. package/node_modules/@agnos-ui/core/components/progressbar/index.cjs +5 -0
  52. package/node_modules/@agnos-ui/core/components/progressbar/index.d.ts +1 -0
  53. package/node_modules/@agnos-ui/core/components/progressbar/index.js +5 -0
  54. package/node_modules/@agnos-ui/core/components/progressbar/progressbar.d.ts +91 -0
  55. package/node_modules/@agnos-ui/core/components/rating/index.cjs +5 -0
  56. package/node_modules/@agnos-ui/core/components/rating/index.d.ts +1 -0
  57. package/node_modules/@agnos-ui/core/components/rating/index.js +5 -0
  58. package/node_modules/@agnos-ui/core/components/rating/rating.d.ts +191 -0
  59. package/node_modules/@agnos-ui/core/components/slider/index.cjs +5 -0
  60. package/node_modules/@agnos-ui/core/components/slider/index.d.ts +1 -0
  61. package/node_modules/@agnos-ui/core/components/slider/index.js +5 -0
  62. package/node_modules/@agnos-ui/core/components/slider/slider-utils.d.ts +25 -0
  63. package/node_modules/@agnos-ui/core/components/slider/slider.d.ts +383 -0
  64. package/node_modules/@agnos-ui/core/components/toast/index.cjs +7 -0
  65. package/node_modules/@agnos-ui/core/components/toast/index.d.ts +2 -0
  66. package/node_modules/@agnos-ui/core/components/toast/index.js +7 -0
  67. package/node_modules/@agnos-ui/core/components/toast/toast.d.ts +66 -0
  68. package/node_modules/@agnos-ui/core/components/toast/toaster.d.ts +128 -0
  69. package/node_modules/@agnos-ui/core/components/tree/index.cjs +5 -0
  70. package/node_modules/@agnos-ui/core/components/tree/index.d.ts +1 -0
  71. package/node_modules/@agnos-ui/core/components/tree/index.js +5 -0
  72. package/node_modules/@agnos-ui/core/components/tree/tree.d.ts +143 -0
  73. package/node_modules/@agnos-ui/core/config.cjs +36 -0
  74. package/node_modules/@agnos-ui/core/config.d.ts +117 -0
  75. package/node_modules/@agnos-ui/core/config.js +36 -0
  76. package/node_modules/@agnos-ui/core/directive-Bsreu2z1.js +523 -0
  77. package/node_modules/@agnos-ui/core/directive-DCaXmRe_.cjs +522 -0
  78. package/node_modules/@agnos-ui/core/drawer-BbFAHV07.cjs +328 -0
  79. package/node_modules/@agnos-ui/core/drawer-C6Qa0xEu.js +329 -0
  80. package/node_modules/@agnos-ui/core/index.cjs +134 -0
  81. package/node_modules/@agnos-ui/core/index.d.ts +29 -0
  82. package/node_modules/@agnos-ui/core/index.js +134 -0
  83. package/node_modules/@agnos-ui/core/isFocusable-Ckwus82R.js +32 -0
  84. package/node_modules/@agnos-ui/core/isFocusable-DfzDLeAN.cjs +31 -0
  85. package/node_modules/@agnos-ui/core/modal-BsNuHhT7.cjs +252 -0
  86. package/node_modules/@agnos-ui/core/modal-CgzY8ezz.js +253 -0
  87. package/node_modules/@agnos-ui/core/package.json +57 -0
  88. package/node_modules/@agnos-ui/core/pagination-ZxGaNWZz.js +255 -0
  89. package/node_modules/@agnos-ui/core/pagination-xbcOHnhd.cjs +254 -0
  90. package/node_modules/@agnos-ui/core/progressbar-CRbMKp4b.cjs +86 -0
  91. package/node_modules/@agnos-ui/core/progressbar-CSEIFnlD.js +87 -0
  92. package/node_modules/@agnos-ui/core/promise-CxCD3NYv.cjs +118 -0
  93. package/node_modules/@agnos-ui/core/promise-D-RZVPuv.js +119 -0
  94. package/node_modules/@agnos-ui/core/rating-BIdiiPUo.js +184 -0
  95. package/node_modules/@agnos-ui/core/rating-qx1xaBmz.cjs +183 -0
  96. package/node_modules/@agnos-ui/core/scrollbars-CT87iv_6.cjs +30 -0
  97. package/node_modules/@agnos-ui/core/scrollbars-CcxSrnCx.js +31 -0
  98. package/node_modules/@agnos-ui/core/services/extendWidget.cjs +41 -0
  99. package/node_modules/@agnos-ui/core/services/extendWidget.d.ts +31 -0
  100. package/node_modules/@agnos-ui/core/services/extendWidget.js +41 -0
  101. package/node_modules/@agnos-ui/core/services/floatingUI.cjs +111 -0
  102. package/node_modules/@agnos-ui/core/services/floatingUI.d.ts +76 -0
  103. package/node_modules/@agnos-ui/core/services/floatingUI.js +111 -0
  104. package/node_modules/@agnos-ui/core/services/focusElement.cjs +46 -0
  105. package/node_modules/@agnos-ui/core/services/focusElement.d.ts +9 -0
  106. package/node_modules/@agnos-ui/core/services/focusElement.js +46 -0
  107. package/node_modules/@agnos-ui/core/services/focustrack.cjs +47 -0
  108. package/node_modules/@agnos-ui/core/services/focustrack.d.ts +40 -0
  109. package/node_modules/@agnos-ui/core/services/focustrack.js +47 -0
  110. package/node_modules/@agnos-ui/core/services/hash.cjs +15 -0
  111. package/node_modules/@agnos-ui/core/services/hash.d.ts +3 -0
  112. package/node_modules/@agnos-ui/core/services/hash.js +15 -0
  113. package/node_modules/@agnos-ui/core/services/intersection.cjs +53 -0
  114. package/node_modules/@agnos-ui/core/services/intersection.d.ts +30 -0
  115. package/node_modules/@agnos-ui/core/services/intersection.js +53 -0
  116. package/node_modules/@agnos-ui/core/services/matchMedia.cjs +14 -0
  117. package/node_modules/@agnos-ui/core/services/matchMedia.d.ts +8 -0
  118. package/node_modules/@agnos-ui/core/services/matchMedia.js +14 -0
  119. package/node_modules/@agnos-ui/core/services/navManager.cjs +166 -0
  120. package/node_modules/@agnos-ui/core/services/navManager.d.ts +144 -0
  121. package/node_modules/@agnos-ui/core/services/navManager.js +166 -0
  122. package/node_modules/@agnos-ui/core/services/pointerdownPosition.cjs +60 -0
  123. package/node_modules/@agnos-ui/core/services/pointerdownPosition.d.ts +42 -0
  124. package/node_modules/@agnos-ui/core/services/pointerdownPosition.js +60 -0
  125. package/node_modules/@agnos-ui/core/services/portal.cjs +42 -0
  126. package/node_modules/@agnos-ui/core/services/portal.d.ts +16 -0
  127. package/node_modules/@agnos-ui/core/services/portal.js +42 -0
  128. package/node_modules/@agnos-ui/core/services/resizeObserver.cjs +54 -0
  129. package/node_modules/@agnos-ui/core/services/resizeObserver.d.ts +18 -0
  130. package/node_modules/@agnos-ui/core/services/resizeObserver.js +54 -0
  131. package/node_modules/@agnos-ui/core/services/siblingsInert.cjs +44 -0
  132. package/node_modules/@agnos-ui/core/services/siblingsInert.d.ts +16 -0
  133. package/node_modules/@agnos-ui/core/services/siblingsInert.js +44 -0
  134. package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.cjs +186 -0
  135. package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.d.ts +166 -0
  136. package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.js +186 -0
  137. package/node_modules/@agnos-ui/core/services/transitions/collapse.cjs +40 -0
  138. package/node_modules/@agnos-ui/core/services/transitions/collapse.d.ts +49 -0
  139. package/node_modules/@agnos-ui/core/services/transitions/collapse.js +40 -0
  140. package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.cjs +32 -0
  141. package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.d.ts +25 -0
  142. package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.js +32 -0
  143. package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.cjs +37 -0
  144. package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.d.ts +47 -0
  145. package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.js +37 -0
  146. package/node_modules/@agnos-ui/core/slider-B93hE0ag.cjs +807 -0
  147. package/node_modules/@agnos-ui/core/slider-Cjiq9FgI.js +808 -0
  148. package/node_modules/@agnos-ui/core/textDirection-cNgt24LJ.js +4 -0
  149. package/node_modules/@agnos-ui/core/textDirection-zqcZ5-eK.cjs +3 -0
  150. package/node_modules/@agnos-ui/core/toaster-BQWqxYv-.cjs +190 -0
  151. package/node_modules/@agnos-ui/core/toaster-BzEkshT2.js +191 -0
  152. package/node_modules/@agnos-ui/core/tree-DY04XPPg.cjs +228 -0
  153. package/node_modules/@agnos-ui/core/tree-HwcvZ0_p.js +229 -0
  154. package/node_modules/@agnos-ui/core/types.cjs +6 -0
  155. package/node_modules/@agnos-ui/core/types.d.ts +246 -0
  156. package/node_modules/@agnos-ui/core/types.js +6 -0
  157. package/node_modules/@agnos-ui/core/utils/directive.cjs +28 -0
  158. package/node_modules/@agnos-ui/core/utils/directive.d.ts +352 -0
  159. package/node_modules/@agnos-ui/core/utils/directive.js +28 -0
  160. package/node_modules/@agnos-ui/core/utils/func.cjs +7 -0
  161. package/node_modules/@agnos-ui/core/utils/func.d.ts +11 -0
  162. package/node_modules/@agnos-ui/core/utils/func.js +7 -0
  163. package/node_modules/@agnos-ui/core/utils/id.cjs +5 -0
  164. package/node_modules/@agnos-ui/core/utils/id.d.ts +6 -0
  165. package/node_modules/@agnos-ui/core/utils/id.js +5 -0
  166. package/node_modules/@agnos-ui/core/utils/internal/assign.d.ts +10 -0
  167. package/node_modules/@agnos-ui/core/utils/internal/checks.d.ts +57 -0
  168. package/node_modules/@agnos-ui/core/utils/internal/dom.d.ts +75 -0
  169. package/node_modules/@agnos-ui/core/utils/internal/isFocusable.d.ts +9 -0
  170. package/node_modules/@agnos-ui/core/utils/internal/math.d.ts +5 -0
  171. package/node_modules/@agnos-ui/core/utils/internal/promise.d.ts +98 -0
  172. package/node_modules/@agnos-ui/core/utils/internal/scrollbars.d.ts +8 -0
  173. package/node_modules/@agnos-ui/core/utils/internal/sort.d.ts +16 -0
  174. package/node_modules/@agnos-ui/core/utils/internal/ssrHTMLElement.d.ts +17 -0
  175. package/node_modules/@agnos-ui/core/utils/internal/textDirection.d.ts +7 -0
  176. package/node_modules/@agnos-ui/core/utils/internal/traversal.d.ts +54 -0
  177. package/node_modules/@agnos-ui/core/utils/stores.cjs +172 -0
  178. package/node_modules/@agnos-ui/core/utils/stores.d.ts +224 -0
  179. package/node_modules/@agnos-ui/core/utils/stores.js +172 -0
  180. package/node_modules/@agnos-ui/core/utils/widget.cjs +8 -0
  181. package/node_modules/@agnos-ui/core/utils/widget.d.ts +11 -0
  182. package/node_modules/@agnos-ui/core/utils/widget.js +8 -0
  183. package/node_modules/@agnos-ui/core/utils/writables.cjs +16 -0
  184. package/node_modules/@agnos-ui/core/utils/writables.d.ts +95 -0
  185. package/node_modules/@agnos-ui/core/utils/writables.js +16 -0
  186. package/node_modules/@agnos-ui/core/writables-DYGjj5T3.js +103 -0
  187. package/node_modules/@agnos-ui/core/writables-Dt68gADJ.cjs +102 -0
  188. package/package.json +25 -6
  189. package/schematics/collection.json +1 -1
  190. package/types/design-factory-angular-drawer.d.ts +71 -13
  191. package/types/design-factory-angular-internals.d.ts +220 -31
  192. package/types/design-factory-angular-sidenav.d.ts +15 -7
  193. package/types/design-factory-angular-theme.d.ts +122 -0
  194. package/types/design-factory-angular-topnav.d.ts +435 -0
@@ -0,0 +1,292 @@
1
+ import { writablesForProps, true$, stateStores } from "../../utils/stores.js";
2
+ import { b as bindDirective, d as browserDirective, g as createAttributesDirective, s as mergeDirectives } from "../../directive-Bsreu2z1.js";
3
+ import EmblaCarousel from "embla-carousel";
4
+ import { writable, computed, asReadable, readable } from "@amadeus-it-group/tansu";
5
+ import { e as typeFunction, j as typeString, b as typeBoolean, g as typeNumber, k as typeStringOrNull, a as typeArray, c as createTypeEnum } from "../../writables-DYGjj5T3.js";
6
+ import { createNavManager } from "../../services/navManager.js";
7
+ import { createWidgetFactory } from "../../utils/widget.js";
8
+ const defaultConfig = {
9
+ align: "center",
10
+ container: null,
11
+ containScroll: "trimSnaps",
12
+ direction: "ltr",
13
+ dragFree: false,
14
+ dragThreshold: 10,
15
+ duration: 25,
16
+ loop: false,
17
+ skipSnaps: false,
18
+ plugins: [],
19
+ showNavigationArrows: true,
20
+ showNavigationIndicators: true,
21
+ ariaPrevLabel: "Select previous slide",
22
+ ariaNextLabel: "Select next slide",
23
+ ariaIndicatorLabel: (index) => `Select slide ${index + 1}`
24
+ };
25
+ function getCarouselDefaultConfig() {
26
+ return { ...defaultConfig };
27
+ }
28
+ const configValidator = {
29
+ dragFree: typeBoolean,
30
+ plugins: typeArray,
31
+ align: createTypeEnum(["start", "center", "end"]),
32
+ container: typeStringOrNull,
33
+ containScroll: createTypeEnum([false, "trimSnaps", "keepSnaps"]),
34
+ direction: createTypeEnum(["ltr", "rtl"]),
35
+ dragThreshold: typeNumber,
36
+ duration: typeNumber,
37
+ loop: typeBoolean,
38
+ skipSnaps: typeBoolean,
39
+ showNavigationArrows: typeBoolean,
40
+ showNavigationIndicators: typeBoolean,
41
+ ariaPrevLabel: typeString,
42
+ ariaNextLabel: typeString,
43
+ ariaIndicatorLabel: typeFunction
44
+ };
45
+ function createEmblaCarousel(options$, plugins$) {
46
+ let emblaApi;
47
+ const scrolling$ = writable(false);
48
+ const canScrollPrev$ = writable(false);
49
+ const canScrollNext$ = writable(true);
50
+ const selectedScrollSnap$ = writable(0);
51
+ const initialized$ = writable(false);
52
+ const slideNodes$ = writable([]);
53
+ const directiveArgs$ = computed(() => ({
54
+ options: options$(),
55
+ plugins: plugins$ ? plugins$() : []
56
+ }));
57
+ return {
58
+ directive: bindDirective(
59
+ browserDirective(
60
+ (element, { options, plugins }) => {
61
+ if (emblaApi) {
62
+ throw new Error("Only one Embla directive can be attached per carousel widget !");
63
+ }
64
+ emblaApi = EmblaCarousel(element, options, plugins);
65
+ emblaApi.on("scroll", () => {
66
+ scrolling$.set(true);
67
+ });
68
+ emblaApi.on("settle", () => {
69
+ scrolling$.set(false);
70
+ });
71
+ emblaApi.on("select", (api) => {
72
+ canScrollNext$.set(api.canScrollNext());
73
+ canScrollPrev$.set(api.canScrollPrev());
74
+ selectedScrollSnap$.set(api.selectedScrollSnap());
75
+ });
76
+ emblaApi.on("init", () => {
77
+ initialized$.set(true);
78
+ });
79
+ emblaApi.on("reInit", (api) => {
80
+ canScrollNext$.set(api.canScrollNext());
81
+ canScrollPrev$.set(api.canScrollPrev());
82
+ scrolling$.set(false);
83
+ selectedScrollSnap$.set(api.selectedScrollSnap());
84
+ });
85
+ emblaApi.on("slidesChanged", (api) => {
86
+ slideNodes$.set(api.slideNodes());
87
+ });
88
+ canScrollNext$.set(emblaApi.canScrollNext());
89
+ canScrollPrev$.set(emblaApi.canScrollPrev());
90
+ slideNodes$.set(emblaApi.slideNodes());
91
+ return {
92
+ update: ({ options: options2, plugins: plugins2 }) => {
93
+ emblaApi.reInit(options2, plugins2);
94
+ },
95
+ destroy: () => {
96
+ emblaApi?.destroy();
97
+ emblaApi = void 0;
98
+ initialized$.set(false);
99
+ scrolling$.set(false);
100
+ canScrollPrev$.set(false);
101
+ canScrollNext$.set(true);
102
+ selectedScrollSnap$.set(0);
103
+ slideNodes$.set([]);
104
+ }
105
+ };
106
+ }
107
+ ),
108
+ directiveArgs$
109
+ ),
110
+ stores: {
111
+ scrolling$: asReadable(scrolling$),
112
+ canScrollPrev$: asReadable(canScrollPrev$),
113
+ canScrollNext$: asReadable(canScrollNext$),
114
+ selectedScrollSnap$: asReadable(selectedScrollSnap$),
115
+ initialized$: asReadable(initialized$),
116
+ slideNodes$: asReadable(slideNodes$)
117
+ },
118
+ get api() {
119
+ return emblaApi;
120
+ }
121
+ };
122
+ }
123
+ const createCarousel = createWidgetFactory(
124
+ "carousel",
125
+ (config) => {
126
+ const [
127
+ {
128
+ align$,
129
+ container$,
130
+ containScroll$,
131
+ direction$,
132
+ dragFree$,
133
+ dragThreshold$,
134
+ duration$,
135
+ loop$,
136
+ skipSnaps$,
137
+ plugins$,
138
+ ariaPrevLabel$,
139
+ ariaNextLabel$,
140
+ ariaIndicatorLabel$,
141
+ showNavigationIndicators$,
142
+ ...stateProps
143
+ },
144
+ patch
145
+ ] = writablesForProps(defaultConfig, config, configValidator);
146
+ const emblaOptions$ = computed(() => ({
147
+ align: align$(),
148
+ container: container$(),
149
+ containScroll: containScroll$(),
150
+ direction: direction$(),
151
+ dragFree: dragFree$(),
152
+ dragThreshold: dragThreshold$(),
153
+ duration: duration$(),
154
+ loop: loop$(),
155
+ skipSnaps: skipSnaps$()
156
+ }));
157
+ const emblaCarousel = createEmblaCarousel(emblaOptions$, plugins$);
158
+ const {
159
+ stores: { slideNodes$, ...emblaStores }
160
+ } = emblaCarousel;
161
+ const {
162
+ directive: navDirective,
163
+ refreshElements,
164
+ focusLeft,
165
+ focusRight,
166
+ focusFirst,
167
+ focusLast
168
+ } = createNavManager();
169
+ const navManagerConfig = {
170
+ keys: {
171
+ ArrowLeft: focusLeft,
172
+ ArrowRight: focusRight,
173
+ Home: focusFirst,
174
+ End: focusLast
175
+ },
176
+ selector: (node) => node.querySelectorAll("[role='tab']")
177
+ };
178
+ return {
179
+ ...stateStores({
180
+ ...emblaStores,
181
+ ...stateProps,
182
+ direction$,
183
+ showNavigationIndicators$
184
+ }),
185
+ patch,
186
+ api: {
187
+ scrollPrev: (jump) => {
188
+ emblaCarousel.api?.scrollPrev?.(jump);
189
+ },
190
+ scrollNext: (jump) => {
191
+ emblaCarousel.api?.scrollNext?.(jump);
192
+ },
193
+ scrollTo: (index, jump) => {
194
+ emblaCarousel.api?.scrollTo?.(index, jump);
195
+ },
196
+ plugins: () => emblaCarousel.api?.plugins?.(),
197
+ emblaApi: () => emblaCarousel.api
198
+ },
199
+ directives: {
200
+ root: mergeDirectives(
201
+ emblaCarousel.directive,
202
+ createAttributesDirective(() => ({
203
+ classNames: {
204
+ "au-carousel": true$
205
+ },
206
+ attributes: {
207
+ role: readable("region"),
208
+ "aria-roledescription": readable("carousel"),
209
+ dir: direction$
210
+ }
211
+ }))
212
+ ),
213
+ scrollPrev: createAttributesDirective(() => ({
214
+ attributes: {
215
+ "aria-label": ariaPrevLabel$,
216
+ disabled: computed(() => !emblaCarousel.stores.canScrollPrev$() || void 0)
217
+ },
218
+ events: {
219
+ click: () => emblaCarousel.api?.scrollPrev(),
220
+ pointerdown: (event) => event.preventDefault(),
221
+ touchstart: (event) => event.stopPropagation()
222
+ }
223
+ })),
224
+ scrollNext: createAttributesDirective(() => ({
225
+ attributes: {
226
+ "aria-label": ariaNextLabel$,
227
+ disabled: computed(() => !emblaCarousel.stores.canScrollNext$() || void 0)
228
+ },
229
+ events: {
230
+ click: () => emblaCarousel.api?.scrollNext(),
231
+ pointerdown: (event) => event.preventDefault(),
232
+ touchstart: (event) => event.stopPropagation()
233
+ }
234
+ })),
235
+ tabList: mergeDirectives(
236
+ bindDirective(navDirective, readable(navManagerConfig)),
237
+ browserDirective(() => {
238
+ const unsubscribe = slideNodes$.subscribe(() => {
239
+ refreshElements();
240
+ });
241
+ return {
242
+ destroy: unsubscribe
243
+ };
244
+ }),
245
+ createAttributesDirective(() => ({
246
+ attributes: {
247
+ role: readable("tablist")
248
+ }
249
+ }))
250
+ ),
251
+ tabIndicator: createAttributesDirective(
252
+ (slide$) => ({
253
+ events: {
254
+ click: () => {
255
+ emblaCarousel.api?.scrollTo(slide$().index, slide$().jump ?? true);
256
+ }
257
+ },
258
+ attributes: {
259
+ "aria-label": computed(() => ariaIndicatorLabel$()(slide$().index)),
260
+ "aria-selected": computed(
261
+ () => slide$().index === emblaCarousel.stores.selectedScrollSnap$() ? "true" : void 0
262
+ ),
263
+ "aria-controls": computed(() => slide$().id),
264
+ role: readable("tab"),
265
+ tabindex: computed(() => slide$().index === emblaCarousel.stores.selectedScrollSnap$() ? "0" : "-1")
266
+ }
267
+ })
268
+ ),
269
+ slide: createAttributesDirective((slide$) => {
270
+ const selected$ = computed(() => slide$().index === emblaCarousel.stores.selectedScrollSnap$());
271
+ return {
272
+ attributes: {
273
+ id: computed(() => slide$().id),
274
+ "aria-hidden": computed(() => selected$() ? void 0 : "true"),
275
+ role: computed(() => showNavigationIndicators$() ? "tabpanel" : "group"),
276
+ "aria-roledescription": computed(() => showNavigationIndicators$() ? void 0 : "slide"),
277
+ tabindex: computed(() => showNavigationIndicators$() && selected$() ? "0" : void 0)
278
+ },
279
+ classNames: {
280
+ "au-carousel-slide": true$
281
+ }
282
+ };
283
+ })
284
+ }
285
+ };
286
+ }
287
+ );
288
+ export {
289
+ createCarousel,
290
+ createEmblaCarousel,
291
+ getCarouselDefaultConfig
292
+ };
@@ -0,0 +1,135 @@
1
+ import { type TransitionFn } from '../../services/transitions/baseTransitions';
2
+ import type { Directive, Widget, WidgetFactory } from '../../types';
3
+ /**
4
+ * Interface representing the common properties and state for a collapse component.
5
+ */
6
+ interface CollapseCommonPropsAndState {
7
+ /**
8
+ * If `true` the collapse is visible to the user
9
+ *
10
+ * @defaultValue `false`
11
+ */
12
+ visible: boolean;
13
+ }
14
+ /**
15
+ * Represents the state of a Collapse component.
16
+ */
17
+ export interface CollapseState extends CollapseCommonPropsAndState {
18
+ /**
19
+ * Is `true` when the collapse is hidden. Compared to `visible`, this is updated after the transition is executed.
20
+ */
21
+ hidden: boolean;
22
+ }
23
+ /**
24
+ * Properties for the Collapse component.
25
+ */
26
+ export interface CollapseProps extends CollapseCommonPropsAndState {
27
+ /**
28
+ * Callback called when the collapse visibility changed.
29
+ *
30
+ * @defaultValue
31
+ * ```ts
32
+ * () => {}
33
+ * ```
34
+ * @param visible - The new visibility state of the collapse.
35
+ */
36
+ onVisibleChange: (visible: boolean) => void;
37
+ /**
38
+ * Callback called when the collapse is hidden.
39
+ *
40
+ * @defaultValue
41
+ * ```ts
42
+ * () => {}
43
+ * ```
44
+ */
45
+ onHidden: () => void;
46
+ /**
47
+ * Callback called when the collapse is shown.
48
+ *
49
+ * @defaultValue
50
+ * ```ts
51
+ * () => {}
52
+ * ```
53
+ */
54
+ onShown: () => void;
55
+ /**
56
+ * If `true`, collapse opening will be animated at init time.
57
+ *
58
+ * @defaultValue `false`
59
+ */
60
+ animatedOnInit: boolean;
61
+ /**
62
+ * If `true`, collapse closing and opening will be animated.
63
+ *
64
+ * @defaultValue `true`
65
+ */
66
+ animated: boolean;
67
+ /**
68
+ * id of the collapse
69
+ *
70
+ * @defaultValue `''`
71
+ */
72
+ id: string;
73
+ /**
74
+ * The transition function will be executed when the collapse is displayed or hidden.
75
+ *
76
+ * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.
77
+ *
78
+ * @defaultValue
79
+ * ```ts
80
+ * () => {}
81
+ * ```
82
+ */
83
+ transition: TransitionFn;
84
+ }
85
+ /**
86
+ * Interface representing the API for a collapsible component.
87
+ */
88
+ export interface CollapseApi {
89
+ /**
90
+ * Triggers collapse closing programmatically.
91
+ */
92
+ close(animated?: boolean): Promise<void>;
93
+ /**
94
+ * Triggers the collapse content to be displayed for the user.
95
+ */
96
+ open(animated?: boolean): Promise<void>;
97
+ /**
98
+ * Toggles the collapse content visibility.
99
+ */
100
+ toggle(animated?: boolean): Promise<void>;
101
+ }
102
+ /**
103
+ * Interface representing the directives used in a collapse component.
104
+ */
105
+ export interface CollapseDirectives {
106
+ /**
107
+ * Directive to apply the collapse.
108
+ */
109
+ collapseDirective: Directive;
110
+ /**
111
+ * Directive to apply to a trigger;
112
+ */
113
+ triggerDirective: Directive;
114
+ }
115
+ /**
116
+ * Represents a widget for handling collapse functionality.
117
+ *
118
+ * This type defines the structure of a CollapseWidget, which includes properties, state, API, and directives
119
+ * necessary for managing the collapse behavior in the UI.
120
+ *
121
+ * @type {Widget<CollapseProps, CollapseState, CollapseApi, CollapseDirectives>}
122
+ */
123
+ export type CollapseWidget = Widget<CollapseProps, CollapseState, CollapseApi, CollapseDirectives>;
124
+ /**
125
+ * Retrieve a shallow copy of the default collapse config
126
+ * @returns the default collapse config
127
+ */
128
+ export declare function getCollapseDefaultConfig(): CollapseProps;
129
+ /**
130
+ * Create an CollapseWidget factory
131
+ * @param transitionFn - the transition function that will be used for the collapse
132
+ * @returns an CollapseWidget
133
+ */
134
+ export declare const createCollapse: WidgetFactory<CollapseWidget>;
135
+ export {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const collapse = require("../../collapse-COriZO7o.cjs");
4
+ exports.createCollapse = collapse.createCollapse;
5
+ exports.getCollapseDefaultConfig = collapse.getCollapseDefaultConfig;
@@ -0,0 +1 @@
1
+ export * from './collapse';
@@ -0,0 +1,5 @@
1
+ import { c, g } from "../../collapse-CP79atna.js";
2
+ export {
3
+ c as createCollapse,
4
+ g as getCollapseDefaultConfig
5
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Interface representing the common properties and state for widgets.
3
+ */
4
+ export interface WidgetsCommonPropsAndState {
5
+ /**
6
+ * CSS classes to be applied on the widget main container
7
+ *
8
+ * @defaultValue `''`
9
+ */
10
+ className: string;
11
+ }