@design-factory/angular 21.1.0-next.0 → 21.1.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 (191) hide show
  1. package/fesm2022/design-factory-angular-drawer.mjs +22 -29
  2. package/fesm2022/design-factory-angular-drawer.mjs.map +1 -1
  3. package/fesm2022/design-factory-angular-internals.mjs +5 -5
  4. package/fesm2022/design-factory-angular-internals.mjs.map +1 -1
  5. package/fesm2022/design-factory-angular-sidenav.mjs +139 -62
  6. package/fesm2022/design-factory-angular-sidenav.mjs.map +1 -1
  7. package/fesm2022/design-factory-angular-theme.mjs +1 -1
  8. package/fesm2022/design-factory-angular-theme.mjs.map +1 -1
  9. package/fesm2022/design-factory-angular-topnav.mjs +152 -75
  10. package/fesm2022/design-factory-angular-topnav.mjs.map +1 -1
  11. package/package.json +3 -6
  12. package/types/design-factory-angular-drawer.d.ts +13 -14
  13. package/types/design-factory-angular-internals.d.ts +3 -3
  14. package/types/design-factory-angular-sidenav.d.ts +19 -6
  15. package/types/design-factory-angular-topnav.d.ts +13 -6
  16. package/node_modules/@agnos-ui/core/README.md +0 -5
  17. package/node_modules/@agnos-ui/core/accordion-BC_9xn23.cjs +0 -314
  18. package/node_modules/@agnos-ui/core/accordion-Ca_0T8Bc.js +0 -315
  19. package/node_modules/@agnos-ui/core/alert-AhaliJ17.cjs +0 -9
  20. package/node_modules/@agnos-ui/core/alert-Cb9FhbFQ.js +0 -10
  21. package/node_modules/@agnos-ui/core/collapse-COriZO7o.cjs +0 -94
  22. package/node_modules/@agnos-ui/core/collapse-CP79atna.js +0 -95
  23. package/node_modules/@agnos-ui/core/common-B5jS-Ih_.cjs +0 -73
  24. package/node_modules/@agnos-ui/core/common-DFyZvkII.js +0 -74
  25. package/node_modules/@agnos-ui/core/components/accordion/accordion.d.ts +0 -333
  26. package/node_modules/@agnos-ui/core/components/accordion/index.cjs +0 -7
  27. package/node_modules/@agnos-ui/core/components/accordion/index.d.ts +0 -1
  28. package/node_modules/@agnos-ui/core/components/accordion/index.js +0 -7
  29. package/node_modules/@agnos-ui/core/components/alert/alert.d.ts +0 -37
  30. package/node_modules/@agnos-ui/core/components/alert/common.d.ts +0 -138
  31. package/node_modules/@agnos-ui/core/components/alert/index.cjs +0 -5
  32. package/node_modules/@agnos-ui/core/components/alert/index.d.ts +0 -1
  33. package/node_modules/@agnos-ui/core/components/alert/index.js +0 -5
  34. package/node_modules/@agnos-ui/core/components/carousel/carousel.d.ts +0 -247
  35. package/node_modules/@agnos-ui/core/components/carousel/index.cjs +0 -292
  36. package/node_modules/@agnos-ui/core/components/carousel/index.d.ts +0 -1
  37. package/node_modules/@agnos-ui/core/components/carousel/index.js +0 -292
  38. package/node_modules/@agnos-ui/core/components/collapse/collapse.d.ts +0 -135
  39. package/node_modules/@agnos-ui/core/components/collapse/index.cjs +0 -5
  40. package/node_modules/@agnos-ui/core/components/collapse/index.d.ts +0 -1
  41. package/node_modules/@agnos-ui/core/components/collapse/index.js +0 -5
  42. package/node_modules/@agnos-ui/core/components/commonProps.d.ts +0 -11
  43. package/node_modules/@agnos-ui/core/components/drawer/drawer.d.ts +0 -279
  44. package/node_modules/@agnos-ui/core/components/drawer/index.cjs +0 -5
  45. package/node_modules/@agnos-ui/core/components/drawer/index.d.ts +0 -1
  46. package/node_modules/@agnos-ui/core/components/drawer/index.js +0 -5
  47. package/node_modules/@agnos-ui/core/components/modal/index.cjs +0 -8
  48. package/node_modules/@agnos-ui/core/components/modal/index.d.ts +0 -1
  49. package/node_modules/@agnos-ui/core/components/modal/index.js +0 -8
  50. package/node_modules/@agnos-ui/core/components/modal/modal.d.ts +0 -245
  51. package/node_modules/@agnos-ui/core/components/pagination/index.cjs +0 -5
  52. package/node_modules/@agnos-ui/core/components/pagination/index.d.ts +0 -1
  53. package/node_modules/@agnos-ui/core/components/pagination/index.js +0 -5
  54. package/node_modules/@agnos-ui/core/components/pagination/pagination.d.ts +0 -313
  55. package/node_modules/@agnos-ui/core/components/progressbar/index.cjs +0 -5
  56. package/node_modules/@agnos-ui/core/components/progressbar/index.d.ts +0 -1
  57. package/node_modules/@agnos-ui/core/components/progressbar/index.js +0 -5
  58. package/node_modules/@agnos-ui/core/components/progressbar/progressbar.d.ts +0 -91
  59. package/node_modules/@agnos-ui/core/components/rating/index.cjs +0 -5
  60. package/node_modules/@agnos-ui/core/components/rating/index.d.ts +0 -1
  61. package/node_modules/@agnos-ui/core/components/rating/index.js +0 -5
  62. package/node_modules/@agnos-ui/core/components/rating/rating.d.ts +0 -191
  63. package/node_modules/@agnos-ui/core/components/slider/index.cjs +0 -5
  64. package/node_modules/@agnos-ui/core/components/slider/index.d.ts +0 -1
  65. package/node_modules/@agnos-ui/core/components/slider/index.js +0 -5
  66. package/node_modules/@agnos-ui/core/components/slider/slider-utils.d.ts +0 -25
  67. package/node_modules/@agnos-ui/core/components/slider/slider.d.ts +0 -383
  68. package/node_modules/@agnos-ui/core/components/toast/index.cjs +0 -7
  69. package/node_modules/@agnos-ui/core/components/toast/index.d.ts +0 -2
  70. package/node_modules/@agnos-ui/core/components/toast/index.js +0 -7
  71. package/node_modules/@agnos-ui/core/components/toast/toast.d.ts +0 -66
  72. package/node_modules/@agnos-ui/core/components/toast/toaster.d.ts +0 -128
  73. package/node_modules/@agnos-ui/core/components/tree/index.cjs +0 -5
  74. package/node_modules/@agnos-ui/core/components/tree/index.d.ts +0 -1
  75. package/node_modules/@agnos-ui/core/components/tree/index.js +0 -5
  76. package/node_modules/@agnos-ui/core/components/tree/tree.d.ts +0 -143
  77. package/node_modules/@agnos-ui/core/config.cjs +0 -36
  78. package/node_modules/@agnos-ui/core/config.d.ts +0 -117
  79. package/node_modules/@agnos-ui/core/config.js +0 -36
  80. package/node_modules/@agnos-ui/core/directive-Bsreu2z1.js +0 -523
  81. package/node_modules/@agnos-ui/core/directive-DCaXmRe_.cjs +0 -522
  82. package/node_modules/@agnos-ui/core/drawer-BbFAHV07.cjs +0 -328
  83. package/node_modules/@agnos-ui/core/drawer-C6Qa0xEu.js +0 -329
  84. package/node_modules/@agnos-ui/core/index.cjs +0 -134
  85. package/node_modules/@agnos-ui/core/index.d.ts +0 -29
  86. package/node_modules/@agnos-ui/core/index.js +0 -134
  87. package/node_modules/@agnos-ui/core/isFocusable-Ckwus82R.js +0 -32
  88. package/node_modules/@agnos-ui/core/isFocusable-DfzDLeAN.cjs +0 -31
  89. package/node_modules/@agnos-ui/core/modal-BsNuHhT7.cjs +0 -252
  90. package/node_modules/@agnos-ui/core/modal-CgzY8ezz.js +0 -253
  91. package/node_modules/@agnos-ui/core/package.json +0 -57
  92. package/node_modules/@agnos-ui/core/pagination-ZxGaNWZz.js +0 -255
  93. package/node_modules/@agnos-ui/core/pagination-xbcOHnhd.cjs +0 -254
  94. package/node_modules/@agnos-ui/core/progressbar-CRbMKp4b.cjs +0 -86
  95. package/node_modules/@agnos-ui/core/progressbar-CSEIFnlD.js +0 -87
  96. package/node_modules/@agnos-ui/core/promise-CxCD3NYv.cjs +0 -118
  97. package/node_modules/@agnos-ui/core/promise-D-RZVPuv.js +0 -119
  98. package/node_modules/@agnos-ui/core/rating-BIdiiPUo.js +0 -184
  99. package/node_modules/@agnos-ui/core/rating-qx1xaBmz.cjs +0 -183
  100. package/node_modules/@agnos-ui/core/scrollbars-CT87iv_6.cjs +0 -30
  101. package/node_modules/@agnos-ui/core/scrollbars-CcxSrnCx.js +0 -31
  102. package/node_modules/@agnos-ui/core/services/extendWidget.cjs +0 -41
  103. package/node_modules/@agnos-ui/core/services/extendWidget.d.ts +0 -31
  104. package/node_modules/@agnos-ui/core/services/extendWidget.js +0 -41
  105. package/node_modules/@agnos-ui/core/services/floatingUI.cjs +0 -111
  106. package/node_modules/@agnos-ui/core/services/floatingUI.d.ts +0 -76
  107. package/node_modules/@agnos-ui/core/services/floatingUI.js +0 -111
  108. package/node_modules/@agnos-ui/core/services/focusElement.cjs +0 -46
  109. package/node_modules/@agnos-ui/core/services/focusElement.d.ts +0 -9
  110. package/node_modules/@agnos-ui/core/services/focusElement.js +0 -46
  111. package/node_modules/@agnos-ui/core/services/focustrack.cjs +0 -47
  112. package/node_modules/@agnos-ui/core/services/focustrack.d.ts +0 -40
  113. package/node_modules/@agnos-ui/core/services/focustrack.js +0 -47
  114. package/node_modules/@agnos-ui/core/services/hash.cjs +0 -15
  115. package/node_modules/@agnos-ui/core/services/hash.d.ts +0 -3
  116. package/node_modules/@agnos-ui/core/services/hash.js +0 -15
  117. package/node_modules/@agnos-ui/core/services/intersection.cjs +0 -53
  118. package/node_modules/@agnos-ui/core/services/intersection.d.ts +0 -30
  119. package/node_modules/@agnos-ui/core/services/intersection.js +0 -53
  120. package/node_modules/@agnos-ui/core/services/matchMedia.cjs +0 -14
  121. package/node_modules/@agnos-ui/core/services/matchMedia.d.ts +0 -8
  122. package/node_modules/@agnos-ui/core/services/matchMedia.js +0 -14
  123. package/node_modules/@agnos-ui/core/services/navManager.cjs +0 -166
  124. package/node_modules/@agnos-ui/core/services/navManager.d.ts +0 -144
  125. package/node_modules/@agnos-ui/core/services/navManager.js +0 -166
  126. package/node_modules/@agnos-ui/core/services/pointerdownPosition.cjs +0 -60
  127. package/node_modules/@agnos-ui/core/services/pointerdownPosition.d.ts +0 -42
  128. package/node_modules/@agnos-ui/core/services/pointerdownPosition.js +0 -60
  129. package/node_modules/@agnos-ui/core/services/portal.cjs +0 -42
  130. package/node_modules/@agnos-ui/core/services/portal.d.ts +0 -16
  131. package/node_modules/@agnos-ui/core/services/portal.js +0 -42
  132. package/node_modules/@agnos-ui/core/services/resizeObserver.cjs +0 -54
  133. package/node_modules/@agnos-ui/core/services/resizeObserver.d.ts +0 -18
  134. package/node_modules/@agnos-ui/core/services/resizeObserver.js +0 -54
  135. package/node_modules/@agnos-ui/core/services/siblingsInert.cjs +0 -44
  136. package/node_modules/@agnos-ui/core/services/siblingsInert.d.ts +0 -16
  137. package/node_modules/@agnos-ui/core/services/siblingsInert.js +0 -44
  138. package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.cjs +0 -186
  139. package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.d.ts +0 -166
  140. package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.js +0 -186
  141. package/node_modules/@agnos-ui/core/services/transitions/collapse.cjs +0 -40
  142. package/node_modules/@agnos-ui/core/services/transitions/collapse.d.ts +0 -49
  143. package/node_modules/@agnos-ui/core/services/transitions/collapse.js +0 -40
  144. package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.cjs +0 -32
  145. package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.d.ts +0 -25
  146. package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.js +0 -32
  147. package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.cjs +0 -37
  148. package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.d.ts +0 -47
  149. package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.js +0 -37
  150. package/node_modules/@agnos-ui/core/slider-B93hE0ag.cjs +0 -807
  151. package/node_modules/@agnos-ui/core/slider-Cjiq9FgI.js +0 -808
  152. package/node_modules/@agnos-ui/core/textDirection-cNgt24LJ.js +0 -4
  153. package/node_modules/@agnos-ui/core/textDirection-zqcZ5-eK.cjs +0 -3
  154. package/node_modules/@agnos-ui/core/toaster-BQWqxYv-.cjs +0 -190
  155. package/node_modules/@agnos-ui/core/toaster-BzEkshT2.js +0 -191
  156. package/node_modules/@agnos-ui/core/tree-DY04XPPg.cjs +0 -228
  157. package/node_modules/@agnos-ui/core/tree-HwcvZ0_p.js +0 -229
  158. package/node_modules/@agnos-ui/core/types.cjs +0 -6
  159. package/node_modules/@agnos-ui/core/types.d.ts +0 -246
  160. package/node_modules/@agnos-ui/core/types.js +0 -6
  161. package/node_modules/@agnos-ui/core/utils/directive.cjs +0 -28
  162. package/node_modules/@agnos-ui/core/utils/directive.d.ts +0 -352
  163. package/node_modules/@agnos-ui/core/utils/directive.js +0 -28
  164. package/node_modules/@agnos-ui/core/utils/func.cjs +0 -7
  165. package/node_modules/@agnos-ui/core/utils/func.d.ts +0 -11
  166. package/node_modules/@agnos-ui/core/utils/func.js +0 -7
  167. package/node_modules/@agnos-ui/core/utils/id.cjs +0 -5
  168. package/node_modules/@agnos-ui/core/utils/id.d.ts +0 -6
  169. package/node_modules/@agnos-ui/core/utils/id.js +0 -5
  170. package/node_modules/@agnos-ui/core/utils/internal/assign.d.ts +0 -10
  171. package/node_modules/@agnos-ui/core/utils/internal/checks.d.ts +0 -57
  172. package/node_modules/@agnos-ui/core/utils/internal/dom.d.ts +0 -75
  173. package/node_modules/@agnos-ui/core/utils/internal/isFocusable.d.ts +0 -9
  174. package/node_modules/@agnos-ui/core/utils/internal/math.d.ts +0 -5
  175. package/node_modules/@agnos-ui/core/utils/internal/promise.d.ts +0 -98
  176. package/node_modules/@agnos-ui/core/utils/internal/scrollbars.d.ts +0 -8
  177. package/node_modules/@agnos-ui/core/utils/internal/sort.d.ts +0 -16
  178. package/node_modules/@agnos-ui/core/utils/internal/ssrHTMLElement.d.ts +0 -17
  179. package/node_modules/@agnos-ui/core/utils/internal/textDirection.d.ts +0 -7
  180. package/node_modules/@agnos-ui/core/utils/internal/traversal.d.ts +0 -54
  181. package/node_modules/@agnos-ui/core/utils/stores.cjs +0 -172
  182. package/node_modules/@agnos-ui/core/utils/stores.d.ts +0 -224
  183. package/node_modules/@agnos-ui/core/utils/stores.js +0 -172
  184. package/node_modules/@agnos-ui/core/utils/widget.cjs +0 -8
  185. package/node_modules/@agnos-ui/core/utils/widget.d.ts +0 -11
  186. package/node_modules/@agnos-ui/core/utils/widget.js +0 -8
  187. package/node_modules/@agnos-ui/core/utils/writables.cjs +0 -16
  188. package/node_modules/@agnos-ui/core/utils/writables.d.ts +0 -95
  189. package/node_modules/@agnos-ui/core/utils/writables.js +0 -16
  190. package/node_modules/@agnos-ui/core/writables-DYGjj5T3.js +0 -103
  191. package/node_modules/@agnos-ui/core/writables-Dt68gADJ.cjs +0 -102
@@ -1,186 +0,0 @@
1
- import { computed, writable, derived, batch } from "@amadeus-it-group/tansu";
2
- import { d as typeBooleanOrNull, e as typeFunction, b as typeBoolean } from "../../writables-DYGjj5T3.js";
3
- import { d as promiseWithResolve } from "../../promise-D-RZVPuv.js";
4
- import { noop } from "../../utils/func.js";
5
- import { writablesForProps, bindableDerived, stateStores } from "../../utils/stores.js";
6
- import { m as createStoreDirective, s as mergeDirectives, o as directiveSubscribe } from "../../directive-Bsreu2z1.js";
7
- const neverEndingPromise = new Promise(noop);
8
- const noAnimation = (element, direction) => {
9
- element.style.display = direction === "show" ? "" : "none";
10
- };
11
- const defaultValues = {
12
- animated: true,
13
- animatedOnInit: false,
14
- initDone: null,
15
- visible: true,
16
- transition: noAnimation,
17
- onShown: noop,
18
- onHidden: noop,
19
- onVisibleChange: noop
20
- };
21
- const configValidator = {
22
- animated: typeBoolean,
23
- animatedOnInit: typeBoolean,
24
- visible: typeBoolean,
25
- transition: typeFunction,
26
- onShown: typeFunction,
27
- onHidden: typeFunction,
28
- onVisibleChange: typeFunction,
29
- initDone: typeBooleanOrNull
30
- };
31
- const createTransition = (config) => {
32
- const [
33
- {
34
- animated$,
35
- initDone$,
36
- visible$: requestedVisible$,
37
- transition$,
38
- onShown$,
39
- onHidden$,
40
- onVisibleChange$,
41
- animatedOnInit$
42
- },
43
- patch
44
- ] = writablesForProps(defaultValues, config, configValidator);
45
- const { element$, directive: storeDirective } = createStoreDirective();
46
- const elementPresent$ = computed(() => !!element$());
47
- const visible$ = bindableDerived(onVisibleChange$, [requestedVisible$], ([visible]) => visible);
48
- const currentTransition$ = writable(
49
- null
50
- );
51
- const stop = () => {
52
- let context;
53
- currentTransition$.update((currentTransition) => {
54
- currentTransition?.abort.abort();
55
- context = currentTransition?.context;
56
- return null;
57
- });
58
- return context;
59
- };
60
- const runTransition = (visible, animated, element, transitionFn) => batch(() => {
61
- const abort = new AbortController();
62
- const signal = abort.signal;
63
- const context = stop() ?? {};
64
- const { promise, resolve } = promiseWithResolve();
65
- const currentTransition = {
66
- abort,
67
- animated,
68
- visible,
69
- context,
70
- element,
71
- transitionFn,
72
- promise
73
- };
74
- currentTransition$.set(currentTransition);
75
- resolve(
76
- (async () => {
77
- try {
78
- await transitionFn(element, visible ? "show" : "hide", animated, signal, context);
79
- } finally {
80
- if (signal.aborted) {
81
- await neverEndingPromise;
82
- } else {
83
- currentTransition$.set(null);
84
- (visible ? onShown$ : onHidden$)()?.();
85
- }
86
- }
87
- })()
88
- );
89
- return currentTransition;
90
- });
91
- const effectiveAnimation$ = computed(() => initDone$() ? animated$() : animatedOnInit$());
92
- const animationFromToggle$ = writable(null);
93
- let previousElement;
94
- let previousVisible = requestedVisible$();
95
- let pendingTransition = null;
96
- const visibleAction$ = derived(
97
- [visible$, element$, effectiveAnimation$, animationFromToggle$, transition$, currentTransition$],
98
- ([visible, element, animated, animationFromToggle, transition, currentTransition]) => {
99
- const elementChanged = previousElement !== element;
100
- previousElement = element;
101
- const visibleChanged = previousVisible !== visible;
102
- previousVisible = visible;
103
- if (element) {
104
- if (initDone$() == null) {
105
- initDone$.set(true);
106
- }
107
- const interruptAnimation = animationFromToggle != null && currentTransition && currentTransition.animated != animationFromToggle;
108
- if (elementChanged || visibleChanged || interruptAnimation) {
109
- if (visibleChanged || animationFromToggle != null) {
110
- pendingTransition = null;
111
- }
112
- const animate = animationFromToggle ?? pendingTransition?.animated ?? (elementChanged && !visible ? false : animated);
113
- currentTransition = runTransition(visible, animate, element, transition);
114
- pendingTransition?.resolve(currentTransition.promise);
115
- pendingTransition = null;
116
- }
117
- } else {
118
- if (elementChanged) {
119
- stop();
120
- currentTransition = null;
121
- }
122
- if (visibleChanged || visible && pendingTransition?.animated !== animationFromToggle) {
123
- pendingTransition = visible && animationFromToggle != null ? {
124
- // toggle was called to display the element, but the element is not yet in the DOM
125
- // let's keep the animation setting from toggle and provide the promise for the end of toggle
126
- animated: animationFromToggle,
127
- ...promiseWithResolve()
128
- } : null;
129
- }
130
- }
131
- return pendingTransition?.promise ?? currentTransition?.promise;
132
- }
133
- );
134
- let lastToggle = {};
135
- const toggle = async (visible = !requestedVisible$(), animated = effectiveAnimation$()) => {
136
- const currentToggle = {};
137
- lastToggle = currentToggle;
138
- try {
139
- await batch(() => {
140
- try {
141
- animationFromToggle$.set(animated);
142
- requestedVisible$.set(visible);
143
- return visibleAction$();
144
- } finally {
145
- animationFromToggle$.set(null);
146
- }
147
- });
148
- } finally {
149
- if (lastToggle !== currentToggle) {
150
- await neverEndingPromise;
151
- }
152
- }
153
- };
154
- const transitioning$ = computed(() => {
155
- if (elementPresent$()) {
156
- void visibleAction$();
157
- }
158
- return !!currentTransition$();
159
- });
160
- const shown$ = computed(() => !transitioning$() && visible$() && elementPresent$());
161
- const hidden$ = computed(() => !transitioning$() && !visible$());
162
- const directive = mergeDirectives(storeDirective, directiveSubscribe(visibleAction$));
163
- return {
164
- ...stateStores({
165
- visible$,
166
- element$,
167
- elementPresent$,
168
- transitioning$,
169
- shown$,
170
- hidden$
171
- }),
172
- patch,
173
- directives: {
174
- directive
175
- },
176
- api: {
177
- show: toggle.bind(null, true),
178
- hide: toggle.bind(null, false),
179
- toggle
180
- }
181
- };
182
- };
183
- export {
184
- createTransition,
185
- noAnimation
186
- };
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils_directive = require("../../directive-DCaXmRe_.cjs");
4
- const services_transitions_cssTransitions = require("./cssTransitions.cjs");
5
- const createCollapseTransition = ({
6
- dimension = "height",
7
- showClasses,
8
- hideClasses,
9
- animationPendingClasses
10
- } = {}) => services_transitions_cssTransitions.createCSSTransition((element, direction, animated, context) => {
11
- if (animated && utils_directive.isBrowserHTMLElement(element)) {
12
- let { maxSize, minSize } = context;
13
- utils_directive.removeClasses(element, animationPendingClasses);
14
- utils_directive.removeClasses(element, hideClasses);
15
- utils_directive.addClasses(element, showClasses);
16
- maxSize = element.getBoundingClientRect()[dimension] + "px";
17
- context.maxSize = maxSize;
18
- utils_directive.removeClasses(element, animationPendingClasses);
19
- utils_directive.removeClasses(element, showClasses);
20
- utils_directive.addClasses(element, hideClasses);
21
- minSize = element.getBoundingClientRect()[dimension] + "px";
22
- context.minSize = minSize;
23
- utils_directive.removeClasses(element, showClasses);
24
- utils_directive.removeClasses(element, hideClasses);
25
- const values = direction === "show" ? [minSize, maxSize] : [maxSize, minSize];
26
- element.style[dimension] = values[0];
27
- utils_directive.reflow(element);
28
- utils_directive.addClasses(element, animationPendingClasses);
29
- utils_directive.reflow(element);
30
- element.style[dimension] = values[1];
31
- } else {
32
- utils_directive.removeClasses(element, direction === "show" ? hideClasses : showClasses);
33
- }
34
- return () => {
35
- utils_directive.removeClasses(element, animationPendingClasses);
36
- utils_directive.addClasses(element, direction === "show" ? showClasses : hideClasses);
37
- element.style[dimension] = "";
38
- };
39
- });
40
- exports.createCollapseTransition = createCollapseTransition;
@@ -1,49 +0,0 @@
1
- import type { TransitionFn } from './baseTransitions';
2
- /**
3
- * Represents the context for a collapsible element.
4
- */
5
- export interface CollapseContext {
6
- /**
7
- * the maximum size of the collapseable content.
8
- */
9
- maxSize?: string;
10
- /**
11
- * the minimum size of the collapseable content
12
- */
13
- minSize?: string;
14
- }
15
- /**
16
- * Configuration options for the collapse transition.
17
- */
18
- export interface CollapseConfig {
19
- /**
20
- * the direction in which the collapsing is performed
21
- */
22
- dimension?: 'width' | 'height';
23
- /**
24
- * the list of classes to add to the collapsable element when shown
25
- */
26
- showClasses?: string[];
27
- /**
28
- * the list of classes to add to the collapsable element when collapsed
29
- */
30
- hideClasses?: string[];
31
- /**
32
- * the list of classes to add to the collapsable element while transitioning
33
- */
34
- animationPendingClasses?: string[];
35
- }
36
- /**
37
- * Create a collapse transition.
38
- *
39
- * The transition attaches / removes classes during the different states of the collapse transition.
40
- * It also updates the dimension value when reaching a non-pending state.
41
- *
42
- * @param config - the collapse config
43
- * @param config.dimension - the dimension, `height` or `width`, on which the collapse applies
44
- * @param config.showClasses - the classes to attach when the element is fully visible
45
- * @param config.hideClasses - the classes to attach when the element is fully collapsed
46
- * @param config.animationPendingClasses - the classes to attach when the transition is pending
47
- * @returns the collapse transition
48
- */
49
- export declare const createCollapseTransition: ({ dimension, showClasses, hideClasses, animationPendingClasses }?: CollapseConfig) => TransitionFn;
@@ -1,40 +0,0 @@
1
- import { q as isBrowserHTMLElement, x as removeClasses, y as addClasses, z as reflow } from "../../directive-Bsreu2z1.js";
2
- import { createCSSTransition } from "./cssTransitions.js";
3
- const createCollapseTransition = ({
4
- dimension = "height",
5
- showClasses,
6
- hideClasses,
7
- animationPendingClasses
8
- } = {}) => createCSSTransition((element, direction, animated, context) => {
9
- if (animated && isBrowserHTMLElement(element)) {
10
- let { maxSize, minSize } = context;
11
- removeClasses(element, animationPendingClasses);
12
- removeClasses(element, hideClasses);
13
- addClasses(element, showClasses);
14
- maxSize = element.getBoundingClientRect()[dimension] + "px";
15
- context.maxSize = maxSize;
16
- removeClasses(element, animationPendingClasses);
17
- removeClasses(element, showClasses);
18
- addClasses(element, hideClasses);
19
- minSize = element.getBoundingClientRect()[dimension] + "px";
20
- context.minSize = minSize;
21
- removeClasses(element, showClasses);
22
- removeClasses(element, hideClasses);
23
- const values = direction === "show" ? [minSize, maxSize] : [maxSize, minSize];
24
- element.style[dimension] = values[0];
25
- reflow(element);
26
- addClasses(element, animationPendingClasses);
27
- reflow(element);
28
- element.style[dimension] = values[1];
29
- } else {
30
- removeClasses(element, direction === "show" ? hideClasses : showClasses);
31
- }
32
- return () => {
33
- removeClasses(element, animationPendingClasses);
34
- addClasses(element, direction === "show" ? showClasses : hideClasses);
35
- element.style[dimension] = "";
36
- };
37
- });
38
- export {
39
- createCollapseTransition
40
- };
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils_directive = require("../../directive-DCaXmRe_.cjs");
4
- const utils_func = require("../../utils/func.cjs");
5
- const promise = require("../../promise-CxCD3NYv.cjs");
6
- function hasTransition(element) {
7
- return window.getComputedStyle(element).transitionProperty !== "none";
8
- }
9
- function getTransitionDurationMs(element) {
10
- const { transitionDelay, transitionDuration } = window.getComputedStyle(element);
11
- const transitionDelaySec = parseFloat(transitionDelay);
12
- const transitionDurationSec = parseFloat(transitionDuration);
13
- return (transitionDelaySec + transitionDurationSec) * 1e3;
14
- }
15
- const createCSSTransition = (start) => async (element, direction, animated, signal, context) => {
16
- const endFn = start(element, direction, animated, context) ?? utils_func.noop;
17
- if (utils_directive.isBrowserHTMLElement(element) && animated && hasTransition(element)) {
18
- const abort = promise.promiseFromEvent(signal, "abort");
19
- const transitionEnd = promise.promiseFromEvent(element, "transitionend");
20
- const timer = promise.promiseFromTimeout(getTransitionDurationMs(element));
21
- await Promise.race([abort.promise, transitionEnd.promise, timer.promise]);
22
- abort.unsubscribe();
23
- transitionEnd.unsubscribe();
24
- timer.unsubscribe();
25
- }
26
- if (!signal.aborted) {
27
- endFn();
28
- }
29
- };
30
- exports.createCSSTransition = createCSSTransition;
31
- exports.getTransitionDurationMs = getTransitionDurationMs;
32
- exports.hasTransition = hasTransition;
@@ -1,25 +0,0 @@
1
- import type { SSRHTMLElement } from '../../types';
2
- import type { TransitionFn } from './baseTransitions';
3
- /**
4
- * Check if the provided html element has a transition
5
- * @param element - the html element
6
- * @returns true if the element has a transition
7
- */
8
- export declare function hasTransition(element: HTMLElement): boolean;
9
- /**
10
- * Retrieve the transition duration of the provided html element in milli seconds
11
- * @param element - the html element
12
- * @returns transition duration in milli seconds
13
- */
14
- export declare function getTransitionDurationMs(element: HTMLElement): number;
15
- /**
16
- * Defines a function type for CSS transitions.
17
- */
18
- export type CSSTransitionFn = (element: SSRHTMLElement, direction: 'show' | 'hide', animated: boolean, context: object) => void | (() => void);
19
- /**
20
- * Create a simple css transition.
21
- *
22
- * @param start - a function that creates the css animation and returns a clean-up function
23
- * @returns the css transition
24
- */
25
- export declare const createCSSTransition: (start: CSSTransitionFn) => TransitionFn;
@@ -1,32 +0,0 @@
1
- import { q as isBrowserHTMLElement } from "../../directive-Bsreu2z1.js";
2
- import { noop } from "../../utils/func.js";
3
- import { b as promiseFromEvent, c as promiseFromTimeout } from "../../promise-D-RZVPuv.js";
4
- function hasTransition(element) {
5
- return window.getComputedStyle(element).transitionProperty !== "none";
6
- }
7
- function getTransitionDurationMs(element) {
8
- const { transitionDelay, transitionDuration } = window.getComputedStyle(element);
9
- const transitionDelaySec = parseFloat(transitionDelay);
10
- const transitionDurationSec = parseFloat(transitionDuration);
11
- return (transitionDelaySec + transitionDurationSec) * 1e3;
12
- }
13
- const createCSSTransition = (start) => async (element, direction, animated, signal, context) => {
14
- const endFn = start(element, direction, animated, context) ?? noop;
15
- if (isBrowserHTMLElement(element) && animated && hasTransition(element)) {
16
- const abort = promiseFromEvent(signal, "abort");
17
- const transitionEnd = promiseFromEvent(element, "transitionend");
18
- const timer = promiseFromTimeout(getTransitionDurationMs(element));
19
- await Promise.race([abort.promise, transitionEnd.promise, timer.promise]);
20
- abort.unsubscribe();
21
- transitionEnd.unsubscribe();
22
- timer.unsubscribe();
23
- }
24
- if (!signal.aborted) {
25
- endFn();
26
- }
27
- };
28
- export {
29
- createCSSTransition,
30
- getTransitionDurationMs,
31
- hasTransition
32
- };
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const services_transitions_cssTransitions = require("./cssTransitions.cjs");
4
- const utils_directive = require("../../directive-DCaXmRe_.cjs");
5
- const createSimpleClassTransition = (config) => {
6
- const {
7
- animationPendingClasses,
8
- animationPendingShowClasses,
9
- animationPendingHideClasses,
10
- showClasses,
11
- hideClasses
12
- } = config;
13
- return services_transitions_cssTransitions.createCSSTransition((element, direction, animated, context) => {
14
- utils_directive.removeClasses(element, showClasses);
15
- utils_directive.removeClasses(element, hideClasses);
16
- if (animated) {
17
- utils_directive.removeClasses(element, direction === "show" ? animationPendingHideClasses : animationPendingShowClasses);
18
- if (!context.started) {
19
- context.started = true;
20
- const classes = direction === "show" ? hideClasses : showClasses;
21
- utils_directive.addClasses(element, classes);
22
- utils_directive.reflow(element);
23
- utils_directive.removeClasses(element, classes);
24
- }
25
- utils_directive.addClasses(element, animationPendingClasses);
26
- utils_directive.reflow(element);
27
- utils_directive.addClasses(element, direction === "show" ? animationPendingShowClasses : animationPendingHideClasses);
28
- }
29
- return () => {
30
- utils_directive.removeClasses(element, animationPendingClasses);
31
- utils_directive.removeClasses(element, animationPendingShowClasses);
32
- utils_directive.removeClasses(element, animationPendingHideClasses);
33
- utils_directive.addClasses(element, direction === "show" ? showClasses : hideClasses);
34
- };
35
- });
36
- };
37
- exports.createSimpleClassTransition = createSimpleClassTransition;
@@ -1,47 +0,0 @@
1
- import type { TransitionFn } from './baseTransitions';
2
- /**
3
- * Configuration interface for simple class-based transitions.
4
- */
5
- export interface SimpleClassTransitionConfig {
6
- /**
7
- * a list of classes to add to the collapsable element while transitioning
8
- */
9
- animationPendingClasses?: string[];
10
- /**
11
- * a list of classes to add to the collapsable element while transitioning towards the show state
12
- */
13
- animationPendingShowClasses?: string[];
14
- /**
15
- * a list of classes to add to the collapsable element while transitioning towards the hide state
16
- */
17
- animationPendingHideClasses?: string[];
18
- /**
19
- * the list of classes to add to the element when shown
20
- */
21
- showClasses?: string[];
22
- /**
23
- * the list of classes to add to the element when hidden
24
- */
25
- hideClasses?: string[];
26
- }
27
- /**
28
- * Represents the context for a simple class transition.
29
- */
30
- export interface SimpleClassTransitionContext {
31
- /**
32
- * `true` is the transition has started
33
- */
34
- started?: boolean;
35
- }
36
- /**
37
- * Create a transition based on css classes to attach.
38
- *
39
- * The config includes the classes that will be attached / removed depending on the transition state.
40
- * `animationPendingClasses` are the classes attached when the transition is in a pending state
41
- * `animationPendingShowClasses` and `animationPendingHideClasses` are attached when transitioning towards one direction
42
- * `showClasses` and `hideClasses` are attached when the transition has reached the show or hide state respectively
43
- *
44
- * @param config - the transition config
45
- * @returns the simple class transition
46
- */
47
- export declare const createSimpleClassTransition: (config: SimpleClassTransitionConfig) => TransitionFn;
@@ -1,37 +0,0 @@
1
- import { createCSSTransition } from "./cssTransitions.js";
2
- import { x as removeClasses, y as addClasses, z as reflow } from "../../directive-Bsreu2z1.js";
3
- const createSimpleClassTransition = (config) => {
4
- const {
5
- animationPendingClasses,
6
- animationPendingShowClasses,
7
- animationPendingHideClasses,
8
- showClasses,
9
- hideClasses
10
- } = config;
11
- return createCSSTransition((element, direction, animated, context) => {
12
- removeClasses(element, showClasses);
13
- removeClasses(element, hideClasses);
14
- if (animated) {
15
- removeClasses(element, direction === "show" ? animationPendingHideClasses : animationPendingShowClasses);
16
- if (!context.started) {
17
- context.started = true;
18
- const classes = direction === "show" ? hideClasses : showClasses;
19
- addClasses(element, classes);
20
- reflow(element);
21
- removeClasses(element, classes);
22
- }
23
- addClasses(element, animationPendingClasses);
24
- reflow(element);
25
- addClasses(element, direction === "show" ? animationPendingShowClasses : animationPendingHideClasses);
26
- }
27
- return () => {
28
- removeClasses(element, animationPendingClasses);
29
- removeClasses(element, animationPendingShowClasses);
30
- removeClasses(element, animationPendingHideClasses);
31
- addClasses(element, direction === "show" ? showClasses : hideClasses);
32
- };
33
- });
34
- };
35
- export {
36
- createSimpleClassTransition
37
- };