@design-factory/core 21.1.0-next.1

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 (176) hide show
  1. package/README.md +3 -0
  2. package/accordion-B0vs8JWM.cjs +314 -0
  3. package/accordion-D9ba0XYq.js +315 -0
  4. package/alert-AhaliJ17.cjs +9 -0
  5. package/alert-Cb9FhbFQ.js +10 -0
  6. package/collapse-Bn8iHKrd.js +95 -0
  7. package/collapse-BnWw4Hnc.cjs +94 -0
  8. package/common-B5jS-Ih_.cjs +73 -0
  9. package/common-DFyZvkII.js +74 -0
  10. package/components/accordion/accordion.d.ts +333 -0
  11. package/components/accordion/index.cjs +7 -0
  12. package/components/accordion/index.d.ts +1 -0
  13. package/components/accordion/index.js +7 -0
  14. package/components/alert/alert.d.ts +37 -0
  15. package/components/alert/common.d.ts +138 -0
  16. package/components/alert/index.cjs +5 -0
  17. package/components/alert/index.d.ts +1 -0
  18. package/components/alert/index.js +5 -0
  19. package/components/carousel/carousel.d.ts +247 -0
  20. package/components/carousel/index.cjs +292 -0
  21. package/components/carousel/index.d.ts +1 -0
  22. package/components/carousel/index.js +292 -0
  23. package/components/collapse/collapse.d.ts +135 -0
  24. package/components/collapse/index.cjs +5 -0
  25. package/components/collapse/index.d.ts +1 -0
  26. package/components/collapse/index.js +5 -0
  27. package/components/commonProps.d.ts +11 -0
  28. package/components/drawer/drawer.d.ts +279 -0
  29. package/components/drawer/index.cjs +5 -0
  30. package/components/drawer/index.d.ts +1 -0
  31. package/components/drawer/index.js +5 -0
  32. package/components/modal/index.cjs +8 -0
  33. package/components/modal/index.d.ts +1 -0
  34. package/components/modal/index.js +8 -0
  35. package/components/modal/modal.d.ts +245 -0
  36. package/components/pagination/index.cjs +5 -0
  37. package/components/pagination/index.d.ts +1 -0
  38. package/components/pagination/index.js +5 -0
  39. package/components/pagination/pagination.d.ts +313 -0
  40. package/components/progressbar/index.cjs +5 -0
  41. package/components/progressbar/index.d.ts +1 -0
  42. package/components/progressbar/index.js +5 -0
  43. package/components/progressbar/progressbar.d.ts +91 -0
  44. package/components/rating/index.cjs +5 -0
  45. package/components/rating/index.d.ts +1 -0
  46. package/components/rating/index.js +5 -0
  47. package/components/rating/rating.d.ts +191 -0
  48. package/components/slider/index.cjs +5 -0
  49. package/components/slider/index.d.ts +1 -0
  50. package/components/slider/index.js +5 -0
  51. package/components/slider/slider-utils.d.ts +25 -0
  52. package/components/slider/slider.d.ts +383 -0
  53. package/components/toast/index.cjs +7 -0
  54. package/components/toast/index.d.ts +2 -0
  55. package/components/toast/index.js +7 -0
  56. package/components/toast/toast.d.ts +66 -0
  57. package/components/toast/toaster.d.ts +128 -0
  58. package/components/tree/index.cjs +5 -0
  59. package/components/tree/index.d.ts +1 -0
  60. package/components/tree/index.js +5 -0
  61. package/components/tree/tree.d.ts +143 -0
  62. package/config.cjs +36 -0
  63. package/config.d.ts +117 -0
  64. package/config.js +36 -0
  65. package/directive-CNNSo5Yn.js +524 -0
  66. package/directive-DyTodNPd.cjs +523 -0
  67. package/drawer-BIIfJa0F.js +329 -0
  68. package/drawer-C8ojtwIn.cjs +328 -0
  69. package/index.cjs +134 -0
  70. package/index.d.ts +29 -0
  71. package/index.js +134 -0
  72. package/isFocusable-Ckwus82R.js +32 -0
  73. package/isFocusable-DfzDLeAN.cjs +31 -0
  74. package/modal-C13G13jV.js +253 -0
  75. package/modal-DWv0VqiG.cjs +252 -0
  76. package/package.json +56 -0
  77. package/pagination-BLVa1UsZ.cjs +254 -0
  78. package/pagination-BQWusWXN.js +255 -0
  79. package/progressbar-RopgvVeA.cjs +86 -0
  80. package/progressbar-S1pNn5rM.js +87 -0
  81. package/promise-CxCD3NYv.cjs +118 -0
  82. package/promise-D-RZVPuv.js +119 -0
  83. package/rating-DWgGgwk3.js +184 -0
  84. package/rating-DZ3OQgtt.cjs +183 -0
  85. package/scrollbars-CT87iv_6.cjs +30 -0
  86. package/scrollbars-CcxSrnCx.js +31 -0
  87. package/services/extendWidget.cjs +41 -0
  88. package/services/extendWidget.d.ts +31 -0
  89. package/services/extendWidget.js +41 -0
  90. package/services/floatingUI.cjs +111 -0
  91. package/services/floatingUI.d.ts +76 -0
  92. package/services/floatingUI.js +111 -0
  93. package/services/focusElement.cjs +46 -0
  94. package/services/focusElement.d.ts +9 -0
  95. package/services/focusElement.js +46 -0
  96. package/services/focustrack.cjs +47 -0
  97. package/services/focustrack.d.ts +40 -0
  98. package/services/focustrack.js +47 -0
  99. package/services/hash.cjs +15 -0
  100. package/services/hash.d.ts +3 -0
  101. package/services/hash.js +15 -0
  102. package/services/intersection.cjs +53 -0
  103. package/services/intersection.d.ts +30 -0
  104. package/services/intersection.js +53 -0
  105. package/services/matchMedia.cjs +14 -0
  106. package/services/matchMedia.d.ts +8 -0
  107. package/services/matchMedia.js +14 -0
  108. package/services/navManager.cjs +166 -0
  109. package/services/navManager.d.ts +144 -0
  110. package/services/navManager.js +166 -0
  111. package/services/pointerdownPosition.cjs +60 -0
  112. package/services/pointerdownPosition.d.ts +42 -0
  113. package/services/pointerdownPosition.js +60 -0
  114. package/services/portal.cjs +42 -0
  115. package/services/portal.d.ts +16 -0
  116. package/services/portal.js +42 -0
  117. package/services/resizeObserver.cjs +54 -0
  118. package/services/resizeObserver.d.ts +18 -0
  119. package/services/resizeObserver.js +54 -0
  120. package/services/siblingsInert.cjs +44 -0
  121. package/services/siblingsInert.d.ts +16 -0
  122. package/services/siblingsInert.js +44 -0
  123. package/services/transitions/baseTransitions.cjs +186 -0
  124. package/services/transitions/baseTransitions.d.ts +166 -0
  125. package/services/transitions/baseTransitions.js +186 -0
  126. package/services/transitions/collapse.cjs +40 -0
  127. package/services/transitions/collapse.d.ts +49 -0
  128. package/services/transitions/collapse.js +40 -0
  129. package/services/transitions/cssTransitions.cjs +32 -0
  130. package/services/transitions/cssTransitions.d.ts +25 -0
  131. package/services/transitions/cssTransitions.js +32 -0
  132. package/services/transitions/simpleClassTransition.cjs +37 -0
  133. package/services/transitions/simpleClassTransition.d.ts +47 -0
  134. package/services/transitions/simpleClassTransition.js +37 -0
  135. package/slider-Br_Qiopx.js +808 -0
  136. package/slider-pgDq1V5r.cjs +807 -0
  137. package/textDirection-cNgt24LJ.js +4 -0
  138. package/textDirection-zqcZ5-eK.cjs +3 -0
  139. package/toaster-BUBzFeJM.js +162 -0
  140. package/toaster-Dlube4Ya.cjs +161 -0
  141. package/tree-Chcy4ulJ.cjs +228 -0
  142. package/tree-vD7ZkV8Z.js +229 -0
  143. package/types.cjs +6 -0
  144. package/types.d.ts +246 -0
  145. package/types.js +6 -0
  146. package/utils/directive.cjs +28 -0
  147. package/utils/directive.d.ts +352 -0
  148. package/utils/directive.js +28 -0
  149. package/utils/func.cjs +7 -0
  150. package/utils/func.d.ts +11 -0
  151. package/utils/func.js +7 -0
  152. package/utils/id.cjs +5 -0
  153. package/utils/id.d.ts +6 -0
  154. package/utils/id.js +5 -0
  155. package/utils/internal/assign.d.ts +10 -0
  156. package/utils/internal/checks.d.ts +57 -0
  157. package/utils/internal/dom.d.ts +75 -0
  158. package/utils/internal/isFocusable.d.ts +9 -0
  159. package/utils/internal/math.d.ts +5 -0
  160. package/utils/internal/promise.d.ts +98 -0
  161. package/utils/internal/scrollbars.d.ts +8 -0
  162. package/utils/internal/sort.d.ts +16 -0
  163. package/utils/internal/ssrHTMLElement.d.ts +17 -0
  164. package/utils/internal/textDirection.d.ts +7 -0
  165. package/utils/internal/traversal.d.ts +54 -0
  166. package/utils/stores.cjs +172 -0
  167. package/utils/stores.d.ts +224 -0
  168. package/utils/stores.js +172 -0
  169. package/utils/widget.cjs +8 -0
  170. package/utils/widget.d.ts +11 -0
  171. package/utils/widget.js +8 -0
  172. package/utils/writables.cjs +16 -0
  173. package/utils/writables.d.ts +95 -0
  174. package/utils/writables.js +16 -0
  175. package/writables-DYGjj5T3.js +103 -0
  176. package/writables-Dt68gADJ.cjs +102 -0
package/index.cjs ADDED
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const types = require("./types.cjs");
4
+ const accordion = require("./accordion-B0vs8JWM.cjs");
5
+ const alert = require("./alert-AhaliJ17.cjs");
6
+ const collapse = require("./collapse-BnWw4Hnc.cjs");
7
+ const modal = require("./modal-DWv0VqiG.cjs");
8
+ const pagination = require("./pagination-BLVa1UsZ.cjs");
9
+ const progressbar = require("./progressbar-RopgvVeA.cjs");
10
+ const rating = require("./rating-DZ3OQgtt.cjs");
11
+ const slider = require("./slider-pgDq1V5r.cjs");
12
+ const toaster = require("./toaster-Dlube4Ya.cjs");
13
+ const tree = require("./tree-Chcy4ulJ.cjs");
14
+ const drawer = require("./drawer-C8ojtwIn.cjs");
15
+ const config = require("./config.cjs");
16
+ const services_extendWidget = require("./services/extendWidget.cjs");
17
+ const services_floatingUI = require("./services/floatingUI.cjs");
18
+ const services_focustrack = require("./services/focustrack.cjs");
19
+ const services_intersection = require("./services/intersection.cjs");
20
+ const services_matchMedia = require("./services/matchMedia.cjs");
21
+ const services_navManager = require("./services/navManager.cjs");
22
+ const services_portal = require("./services/portal.cjs");
23
+ const services_resizeObserver = require("./services/resizeObserver.cjs");
24
+ const services_siblingsInert = require("./services/siblingsInert.cjs");
25
+ const services_hash = require("./services/hash.cjs");
26
+ const services_transitions_baseTransitions = require("./services/transitions/baseTransitions.cjs");
27
+ const services_transitions_cssTransitions = require("./services/transitions/cssTransitions.cjs");
28
+ const services_transitions_simpleClassTransition = require("./services/transitions/simpleClassTransition.cjs");
29
+ const utils_directive = require("./directive-DyTodNPd.cjs");
30
+ const utils_stores = require("./utils/stores.cjs");
31
+ const utils_writables = require("./writables-Dt68gADJ.cjs");
32
+ exports.FACTORY_WIDGET_NAME = types.FACTORY_WIDGET_NAME;
33
+ exports.INVALID_VALUE = types.INVALID_VALUE;
34
+ exports.createAccordion = accordion.createAccordion;
35
+ exports.createAccordionItem = accordion.createAccordionItem;
36
+ exports.factoryCreateAccordion = accordion.factoryCreateAccordion;
37
+ exports.getAccordionDefaultConfig = accordion.getAccordionDefaultConfig;
38
+ exports.createAlert = alert.createAlert;
39
+ exports.getAlertDefaultConfig = alert.getAlertDefaultConfig;
40
+ exports.createCollapse = collapse.createCollapse;
41
+ exports.getCollapseDefaultConfig = collapse.getCollapseDefaultConfig;
42
+ exports.createModal = modal.createModal;
43
+ exports.getModalDefaultConfig = modal.getModalDefaultConfig;
44
+ exports.modalCloseButtonClick = modal.modalCloseButtonClick;
45
+ exports.modalCloseEscape = modal.modalCloseEscape;
46
+ exports.modalOutsideClick = modal.modalOutsideClick;
47
+ exports.createPagination = pagination.createPagination;
48
+ exports.getPaginationDefaultConfig = pagination.getPaginationDefaultConfig;
49
+ exports.createProgressbar = progressbar.createProgressbar;
50
+ exports.getProgressbarDefaultConfig = progressbar.getProgressbarDefaultConfig;
51
+ exports.createRating = rating.createRating;
52
+ exports.getRatingDefaultConfig = rating.getRatingDefaultConfig;
53
+ exports.createSlider = slider.createSlider;
54
+ exports.getSliderDefaultConfig = slider.getSliderDefaultConfig;
55
+ exports.Toaster = toaster.Toaster;
56
+ exports.createToast = toaster.createToast;
57
+ exports.defaultToasterProps = toaster.defaultToasterProps;
58
+ exports.getToastDefaultConfig = toaster.getToastDefaultConfig;
59
+ exports.createTree = tree.createTree;
60
+ exports.getTreeDefaultConfig = tree.getTreeDefaultConfig;
61
+ exports.createDrawer = drawer.createDrawer;
62
+ exports.getDrawerDefaultConfig = drawer.getDrawerDefaultConfig;
63
+ exports.createWidgetsConfig = config.createWidgetsConfig;
64
+ exports.mergeInto = config.mergeInto;
65
+ exports.extendWidgetProps = services_extendWidget.extendWidgetProps;
66
+ exports.createFloatingUI = services_floatingUI.createFloatingUI;
67
+ exports.activeElement$ = services_focustrack.activeElement$;
68
+ exports.createHasFocus = services_focustrack.createHasFocus;
69
+ exports.createIntersection = services_intersection.createIntersection;
70
+ exports.createMatchMedia = services_matchMedia.createMatchMedia;
71
+ exports.createNavManager = services_navManager.createNavManager;
72
+ exports.getKeyName = services_navManager.getKeyName;
73
+ exports.isInternalInputNavigation = services_navManager.isInternalInputNavigation;
74
+ exports.portal = services_portal.portal;
75
+ exports.createResizeObserver = services_resizeObserver.createResizeObserver;
76
+ exports.createResizeObserverMap = services_resizeObserver.createResizeObserverMap;
77
+ exports.siblingsInert = services_siblingsInert.siblingsInert;
78
+ exports.hash$ = services_hash.hash$;
79
+ exports.createTransition = services_transitions_baseTransitions.createTransition;
80
+ exports.noAnimation = services_transitions_baseTransitions.noAnimation;
81
+ exports.createCSSTransition = services_transitions_cssTransitions.createCSSTransition;
82
+ exports.getTransitionDurationMs = services_transitions_cssTransitions.getTransitionDurationMs;
83
+ exports.hasTransition = services_transitions_cssTransitions.hasTransition;
84
+ exports.createSimpleClassTransition = services_transitions_simpleClassTransition.createSimpleClassTransition;
85
+ exports.attributesData = utils_directive.attributesData;
86
+ exports.bindDirective = utils_directive.bindDirective;
87
+ exports.bindDirectiveNoArg = utils_directive.bindDirectiveNoArg;
88
+ exports.browserDirective = utils_directive.browserDirective;
89
+ exports.classDirective = utils_directive.classDirective;
90
+ exports.conditionalDirective = utils_directive.conditionalDirective;
91
+ exports.createAttributesDirective = utils_directive.createAttributesDirective;
92
+ exports.createBrowserStoreArrayDirective = utils_directive.createBrowserStoreArrayDirective;
93
+ exports.createBrowserStoreDirective = utils_directive.createBrowserStoreDirective;
94
+ exports.createConditionalBrowserStoreArrayDirective = utils_directive.createConditionalBrowserStoreArrayDirective;
95
+ exports.createConditionalStoreArrayDirective = utils_directive.createConditionalStoreArrayDirective;
96
+ exports.createStoreArrayDirective = utils_directive.createStoreArrayDirective;
97
+ exports.createStoreDirective = utils_directive.createStoreDirective;
98
+ exports.directiveAttributes = utils_directive.directiveAttributes;
99
+ exports.directiveSubscribe = utils_directive.directiveSubscribe;
100
+ exports.directiveUpdate = utils_directive.directiveUpdate;
101
+ exports.isBrowserHTMLElement = utils_directive.isBrowserHTMLElement;
102
+ exports.mapDirectiveArg = utils_directive.mapDirectiveArg;
103
+ exports.mergeDirectives = utils_directive.mergeDirectives;
104
+ exports.multiDirective = utils_directive.multiDirective;
105
+ exports.registrationArray = utils_directive.registrationArray;
106
+ exports.ssrAttributes = utils_directive.ssrAttributes;
107
+ exports.bindableDerived = utils_stores.bindableDerived;
108
+ exports.bindableProp = utils_stores.bindableProp;
109
+ exports.createPatch = utils_stores.createPatch;
110
+ exports.false$ = utils_stores.false$;
111
+ exports.findChangedProperties = utils_stores.findChangedProperties;
112
+ exports.idWithDefault = utils_stores.idWithDefault;
113
+ exports.isStore = utils_stores.isStore;
114
+ exports.mergeConfigStores = utils_stores.mergeConfigStores;
115
+ exports.normalizeConfigStores = utils_stores.normalizeConfigStores;
116
+ exports.stateStores = utils_stores.stateStores;
117
+ exports.toReadableStore = utils_stores.toReadableStore;
118
+ exports.toWritableStore = utils_stores.toWritableStore;
119
+ exports.true$ = utils_stores.true$;
120
+ exports.writableWithDefault = utils_stores.writableWithDefault;
121
+ exports.writablesForProps = utils_stores.writablesForProps;
122
+ exports.writablesWithDefault = utils_stores.writablesWithDefault;
123
+ exports.createTypeEnum = utils_writables.createTypeEnum;
124
+ exports.testToNormalizeValue = utils_writables.testToNormalizeValue;
125
+ exports.typeArray = utils_writables.typeArray;
126
+ exports.typeBoolean = utils_writables.typeBoolean;
127
+ exports.typeBooleanOrNull = utils_writables.typeBooleanOrNull;
128
+ exports.typeFunction = utils_writables.typeFunction;
129
+ exports.typeHTMLElementOrNull = utils_writables.typeHTMLElementOrNull;
130
+ exports.typeNumber = utils_writables.typeNumber;
131
+ exports.typeNumberInRangeFactory = utils_writables.typeNumberInRangeFactory;
132
+ exports.typeNumberOrNull = utils_writables.typeNumberOrNull;
133
+ exports.typeString = utils_writables.typeString;
134
+ exports.typeStringOrNull = utils_writables.typeStringOrNull;
package/index.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ export * from './types';
2
+ export * from './components/accordion';
3
+ export * from './components/alert';
4
+ export * from './components/collapse';
5
+ export * from './components/modal';
6
+ export * from './components/pagination';
7
+ export * from './components/progressbar';
8
+ export * from './components/rating';
9
+ export * from './components/slider';
10
+ export * from './components/toast';
11
+ export * from './components/tree';
12
+ export * from './components/drawer';
13
+ export * from './config';
14
+ export * from './services/extendWidget';
15
+ export * from './services/floatingUI';
16
+ export * from './services/focustrack';
17
+ export * from './services/intersection';
18
+ export * from './services/matchMedia';
19
+ export * from './services/navManager';
20
+ export * from './services/portal';
21
+ export * from './services/resizeObserver';
22
+ export * from './services/siblingsInert';
23
+ export * from './services/hash';
24
+ export * from './services/transitions/baseTransitions';
25
+ export * from './services/transitions/cssTransitions';
26
+ export * from './services/transitions/simpleClassTransition';
27
+ export * from './utils/directive';
28
+ export * from './utils/stores';
29
+ export * from './utils/writables';
package/index.js ADDED
@@ -0,0 +1,134 @@
1
+ import { FACTORY_WIDGET_NAME, INVALID_VALUE } from "./types.js";
2
+ import { c, a, f, g } from "./accordion-D9ba0XYq.js";
3
+ import { c as c2, g as g2 } from "./alert-Cb9FhbFQ.js";
4
+ import { c as c3, g as g3 } from "./collapse-Bn8iHKrd.js";
5
+ import { c as c4, g as g4, m, a as a2, b } from "./modal-C13G13jV.js";
6
+ import { c as c5, g as g5 } from "./pagination-BQWusWXN.js";
7
+ import { c as c6, g as g6 } from "./progressbar-S1pNn5rM.js";
8
+ import { c as c7, g as g7 } from "./rating-DWgGgwk3.js";
9
+ import { c as c8, g as g8 } from "./slider-Br_Qiopx.js";
10
+ import { T, c as c9, d, g as g9 } from "./toaster-BUBzFeJM.js";
11
+ import { c as c10, g as g10 } from "./tree-vD7ZkV8Z.js";
12
+ import { c as c11, g as g11 } from "./drawer-BIIfJa0F.js";
13
+ import { createWidgetsConfig, mergeInto } from "./config.js";
14
+ import { extendWidgetProps } from "./services/extendWidget.js";
15
+ import { createFloatingUI } from "./services/floatingUI.js";
16
+ import { activeElement$, createHasFocus } from "./services/focustrack.js";
17
+ import { createIntersection } from "./services/intersection.js";
18
+ import { createMatchMedia } from "./services/matchMedia.js";
19
+ import { createNavManager, getKeyName, isInternalInputNavigation } from "./services/navManager.js";
20
+ import { portal } from "./services/portal.js";
21
+ import { createResizeObserver, createResizeObserverMap } from "./services/resizeObserver.js";
22
+ import { siblingsInert } from "./services/siblingsInert.js";
23
+ import { hash$ } from "./services/hash.js";
24
+ import { createTransition, noAnimation } from "./services/transitions/baseTransitions.js";
25
+ import { createCSSTransition, getTransitionDurationMs, hasTransition } from "./services/transitions/cssTransitions.js";
26
+ import { createSimpleClassTransition } from "./services/transitions/simpleClassTransition.js";
27
+ import { a as a3, b as b2, c as c12, d as d2, e, f as f2, g as g12, h, i, j, k, l, m as m2, n, o, p, q, r, s, t, u, v } from "./directive-CNNSo5Yn.js";
28
+ import { bindableDerived, bindableProp, createPatch, false$, findChangedProperties, idWithDefault, isStore, mergeConfigStores, normalizeConfigStores, stateStores, toReadableStore, toWritableStore, true$, writableWithDefault, writablesForProps, writablesWithDefault } from "./utils/stores.js";
29
+ import { c as c13, t as t2, a as a4, b as b3, d as d3, e as e2, f as f3, g as g13, h as h2, i as i2, j as j2, k as k2 } from "./writables-DYGjj5T3.js";
30
+ export {
31
+ FACTORY_WIDGET_NAME,
32
+ INVALID_VALUE,
33
+ T as Toaster,
34
+ activeElement$,
35
+ a3 as attributesData,
36
+ b2 as bindDirective,
37
+ c12 as bindDirectiveNoArg,
38
+ bindableDerived,
39
+ bindableProp,
40
+ d2 as browserDirective,
41
+ e as classDirective,
42
+ f2 as conditionalDirective,
43
+ c as createAccordion,
44
+ a as createAccordionItem,
45
+ c2 as createAlert,
46
+ g12 as createAttributesDirective,
47
+ h as createBrowserStoreArrayDirective,
48
+ i as createBrowserStoreDirective,
49
+ createCSSTransition,
50
+ c3 as createCollapse,
51
+ j as createConditionalBrowserStoreArrayDirective,
52
+ k as createConditionalStoreArrayDirective,
53
+ c11 as createDrawer,
54
+ createFloatingUI,
55
+ createHasFocus,
56
+ createIntersection,
57
+ createMatchMedia,
58
+ c4 as createModal,
59
+ createNavManager,
60
+ c5 as createPagination,
61
+ createPatch,
62
+ c6 as createProgressbar,
63
+ c7 as createRating,
64
+ createResizeObserver,
65
+ createResizeObserverMap,
66
+ createSimpleClassTransition,
67
+ c8 as createSlider,
68
+ l as createStoreArrayDirective,
69
+ m2 as createStoreDirective,
70
+ c9 as createToast,
71
+ createTransition,
72
+ c10 as createTree,
73
+ c13 as createTypeEnum,
74
+ createWidgetsConfig,
75
+ d as defaultToasterProps,
76
+ n as directiveAttributes,
77
+ o as directiveSubscribe,
78
+ p as directiveUpdate,
79
+ extendWidgetProps,
80
+ f as factoryCreateAccordion,
81
+ false$,
82
+ findChangedProperties,
83
+ g as getAccordionDefaultConfig,
84
+ g2 as getAlertDefaultConfig,
85
+ g3 as getCollapseDefaultConfig,
86
+ g11 as getDrawerDefaultConfig,
87
+ getKeyName,
88
+ g4 as getModalDefaultConfig,
89
+ g5 as getPaginationDefaultConfig,
90
+ g6 as getProgressbarDefaultConfig,
91
+ g7 as getRatingDefaultConfig,
92
+ g8 as getSliderDefaultConfig,
93
+ g9 as getToastDefaultConfig,
94
+ getTransitionDurationMs,
95
+ g10 as getTreeDefaultConfig,
96
+ hasTransition,
97
+ hash$,
98
+ idWithDefault,
99
+ q as isBrowserHTMLElement,
100
+ isInternalInputNavigation,
101
+ isStore,
102
+ r as mapDirectiveArg,
103
+ mergeConfigStores,
104
+ s as mergeDirectives,
105
+ mergeInto,
106
+ m as modalCloseButtonClick,
107
+ a2 as modalCloseEscape,
108
+ b as modalOutsideClick,
109
+ t as multiDirective,
110
+ noAnimation,
111
+ normalizeConfigStores,
112
+ portal,
113
+ u as registrationArray,
114
+ siblingsInert,
115
+ v as ssrAttributes,
116
+ stateStores,
117
+ t2 as testToNormalizeValue,
118
+ toReadableStore,
119
+ toWritableStore,
120
+ true$,
121
+ a4 as typeArray,
122
+ b3 as typeBoolean,
123
+ d3 as typeBooleanOrNull,
124
+ e2 as typeFunction,
125
+ f3 as typeHTMLElementOrNull,
126
+ g13 as typeNumber,
127
+ h2 as typeNumberInRangeFactory,
128
+ i2 as typeNumberOrNull,
129
+ j2 as typeString,
130
+ k2 as typeStringOrNull,
131
+ writableWithDefault,
132
+ writablesForProps,
133
+ writablesWithDefault
134
+ };
@@ -0,0 +1,32 @@
1
+ const isInertOrInvisible = (element) => {
2
+ let curElement = element;
3
+ while (curElement) {
4
+ const style = getComputedStyle(curElement);
5
+ if (curElement.inert || curElement.hidden || style.display === "none" || style.visibility === "hidden") {
6
+ return true;
7
+ }
8
+ curElement = curElement.parentElement;
9
+ }
10
+ return false;
11
+ };
12
+ const checkNotDisabled = (element) => {
13
+ if (element.disabled) {
14
+ return false;
15
+ }
16
+ const parentFieldset = element.parentElement?.closest("fieldset");
17
+ return parentFieldset ? checkNotDisabled(parentFieldset) : true;
18
+ };
19
+ const isFocusableOtherTags = (element) => element.isContentEditable || !!element.hasAttribute("tabindex");
20
+ const isFocusableByTagName = {
21
+ INPUT: (element) => element.type !== "hidden" && checkNotDisabled(element),
22
+ SELECT: checkNotDisabled,
23
+ TEXTAREA: checkNotDisabled,
24
+ BUTTON: checkNotDisabled,
25
+ A: (element) => !!element.href || isFocusableOtherTags(element)
26
+ };
27
+ const isFocusable = (element) => {
28
+ return document.contains(element) && !isInertOrInvisible(element) && (isFocusableByTagName[element.tagName] ?? isFocusableOtherTags)(element);
29
+ };
30
+ export {
31
+ isFocusable as i
32
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ const isInertOrInvisible = (element) => {
3
+ let curElement = element;
4
+ while (curElement) {
5
+ const style = getComputedStyle(curElement);
6
+ if (curElement.inert || curElement.hidden || style.display === "none" || style.visibility === "hidden") {
7
+ return true;
8
+ }
9
+ curElement = curElement.parentElement;
10
+ }
11
+ return false;
12
+ };
13
+ const checkNotDisabled = (element) => {
14
+ if (element.disabled) {
15
+ return false;
16
+ }
17
+ const parentFieldset = element.parentElement?.closest("fieldset");
18
+ return parentFieldset ? checkNotDisabled(parentFieldset) : true;
19
+ };
20
+ const isFocusableOtherTags = (element) => element.isContentEditable || !!element.hasAttribute("tabindex");
21
+ const isFocusableByTagName = {
22
+ INPUT: (element) => element.type !== "hidden" && checkNotDisabled(element),
23
+ SELECT: checkNotDisabled,
24
+ TEXTAREA: checkNotDisabled,
25
+ BUTTON: checkNotDisabled,
26
+ A: (element) => !!element.href || isFocusableOtherTags(element)
27
+ };
28
+ const isFocusable = (element) => {
29
+ return document.contains(element) && !isInertOrInvisible(element) && (isFocusableByTagName[element.tagName] ?? isFocusableOtherTags)(element);
30
+ };
31
+ exports.isFocusable = isFocusable;
@@ -0,0 +1,253 @@
1
+ import { computed, readable } from "@amadeus-it-group/tansu";
2
+ import { b as typeBoolean, e as typeFunction, j as typeString, f as typeHTMLElementOrNull } from "./writables-DYGjj5T3.js";
3
+ import { writablesForProps, stateStores } from "./utils/stores.js";
4
+ import { createTransition } from "./services/transitions/baseTransitions.js";
5
+ import { p as promiseFromStore } from "./promise-D-RZVPuv.js";
6
+ import { noop } from "./utils/func.js";
7
+ import { r as removeScrollbars, a as revertScrollbars } from "./scrollbars-CcxSrnCx.js";
8
+ import { u as registrationArray, b as bindDirective, g as createAttributesDirective, d as browserDirective, s as mergeDirectives, o as directiveSubscribe, c as bindDirectiveNoArg } from "./directive-CNNSo5Yn.js";
9
+ import { portal } from "./services/portal.js";
10
+ import { siblingsInert } from "./services/siblingsInert.js";
11
+ import { createWidgetFactory } from "./utils/widget.js";
12
+ import { focusElement } from "./services/focusElement.js";
13
+ const modalOutsideClick = /* @__PURE__ */ Symbol();
14
+ const modalCloseButtonClick = /* @__PURE__ */ Symbol();
15
+ const modalCloseEscape = /* @__PURE__ */ Symbol();
16
+ const defaultConfig = {
17
+ animated: true,
18
+ ariaCloseButtonLabel: "Close",
19
+ backdrop: true,
20
+ backdropClass: "",
21
+ backdropTransition: noop,
22
+ closeButton: true,
23
+ closeOnOutsideClick: true,
24
+ container: typeof window !== "undefined" ? document.body : null,
25
+ className: "",
26
+ modalTransition: noop,
27
+ onBeforeClose: noop,
28
+ onVisibleChange: noop,
29
+ onHidden: noop,
30
+ onShown: noop,
31
+ visible: false
32
+ };
33
+ const configValidator = {
34
+ animated: typeBoolean,
35
+ ariaCloseButtonLabel: typeString,
36
+ backdrop: typeBoolean,
37
+ backdropClass: typeString,
38
+ backdropTransition: typeFunction,
39
+ closeButton: typeBoolean,
40
+ closeOnOutsideClick: typeBoolean,
41
+ container: typeHTMLElementOrNull,
42
+ className: typeString,
43
+ modalTransition: typeFunction,
44
+ onBeforeClose: typeFunction,
45
+ onVisibleChange: typeFunction,
46
+ onHidden: typeFunction,
47
+ onShown: typeFunction,
48
+ visible: typeBoolean
49
+ };
50
+ function getModalDefaultConfig() {
51
+ return { ...defaultConfig };
52
+ }
53
+ const modals$ = registrationArray();
54
+ const hasModals$ = computed(() => modals$().length > 0);
55
+ const scrollbarsAction$ = computed(() => {
56
+ if (hasModals$()) {
57
+ removeScrollbars();
58
+ } else {
59
+ revertScrollbars();
60
+ }
61
+ });
62
+ const modalsAction$ = computed(() => {
63
+ scrollbarsAction$();
64
+ });
65
+ const createModal = createWidgetFactory(
66
+ "modal",
67
+ (config$) => {
68
+ const [
69
+ {
70
+ animated$,
71
+ backdrop$,
72
+ backdropTransition$,
73
+ closeOnOutsideClick$,
74
+ container$,
75
+ modalTransition$,
76
+ onBeforeClose$,
77
+ onVisibleChange$,
78
+ onHidden$,
79
+ onShown$,
80
+ ariaCloseButtonLabel$,
81
+ className$,
82
+ backdropClass$,
83
+ visible$: requestedVisible$,
84
+ ...stateProps
85
+ },
86
+ patch
87
+ ] = writablesForProps(defaultConfig, config$, configValidator);
88
+ const modalTransition = createTransition({
89
+ props: {
90
+ transition: modalTransition$,
91
+ visible: requestedVisible$,
92
+ animated: animated$,
93
+ animatedOnInit: animated$,
94
+ onVisibleChange: onVisibleChange$,
95
+ // TODO: for onHidden and onShown, should we combine with information from the backdrop transition?
96
+ // (especially in case one of the two transitions takes more time than the other)
97
+ onHidden: onHidden$,
98
+ onShown: onShown$
99
+ }
100
+ });
101
+ const visible$ = modalTransition.stores.visible$;
102
+ const backdropTransition = createTransition({
103
+ props: {
104
+ transition: backdropTransition$,
105
+ visible: requestedVisible$,
106
+ animated: animated$,
107
+ animatedOnInit: animated$
108
+ }
109
+ });
110
+ const transitioning$ = computed(
111
+ () => modalTransition.stores.transitioning$() || backdrop$() && backdropTransition.stores.transitioning$()
112
+ );
113
+ const hidden$ = computed(() => !transitioning$() && !visible$());
114
+ const backdropHidden$ = computed(() => !backdrop$() || hidden$());
115
+ let hideResult;
116
+ const close = (result) => {
117
+ hideResult = result;
118
+ const beforeCloseEvent = {
119
+ get result() {
120
+ return hideResult;
121
+ },
122
+ set result(value) {
123
+ hideResult = value;
124
+ },
125
+ cancel: false
126
+ };
127
+ onBeforeClose$()(beforeCloseEvent);
128
+ if (beforeCloseEvent.cancel) {
129
+ return;
130
+ }
131
+ patch({ visible: false });
132
+ };
133
+ const modalPortalDirective = bindDirective(
134
+ portal,
135
+ computed(() => ({ container: container$() }))
136
+ );
137
+ const backdropPortalDirective = bindDirective(
138
+ portal,
139
+ computed(() => {
140
+ const container = container$();
141
+ const element = container ? modalTransition.stores.element$() : void 0;
142
+ return {
143
+ container,
144
+ insertBefore: element?.parentElement === container ? element : void 0
145
+ };
146
+ })
147
+ );
148
+ const registerModalAction$ = readable(void 0, () => modals$.register(res));
149
+ const action$ = computed(() => {
150
+ if (modalTransition.stores.elementPresent$() && !hidden$()) {
151
+ registerModalAction$();
152
+ }
153
+ modalsAction$();
154
+ });
155
+ const closeButtonDirective = createAttributesDirective(() => ({
156
+ attributes: {
157
+ type: readable("button"),
158
+ "aria-label": ariaCloseButtonLabel$
159
+ },
160
+ events: {
161
+ click: () => close(modalCloseButtonClick)
162
+ }
163
+ }));
164
+ const backdropAttributeDirective = createAttributesDirective(() => ({
165
+ attributes: {
166
+ class: backdropClass$
167
+ }
168
+ }));
169
+ const modalAttributeDirective = createAttributesDirective(() => ({
170
+ attributes: {
171
+ class: className$,
172
+ tabIndex: readable("-1")
173
+ },
174
+ events: {
175
+ click: (event) => {
176
+ if (event.currentTarget === event.target && closeOnOutsideClick$()) {
177
+ close(modalOutsideClick);
178
+ }
179
+ },
180
+ keydown: (event) => {
181
+ const { key } = event;
182
+ switch (key) {
183
+ case "Escape":
184
+ close(modalCloseEscape);
185
+ event.stopPropagation();
186
+ break;
187
+ }
188
+ }
189
+ }
190
+ }));
191
+ const res = {
192
+ ...stateStores({
193
+ backdropHidden$,
194
+ container$,
195
+ hidden$,
196
+ transitioning$,
197
+ visible$,
198
+ modalElement$: modalTransition.stores.element$,
199
+ ariaCloseButtonLabel$,
200
+ className$,
201
+ backdropClass$,
202
+ ...stateProps
203
+ }),
204
+ directives: {
205
+ modalPortalDirective,
206
+ backdropPortalDirective,
207
+ backdropDirective: mergeDirectives(backdropTransition.directives.directive, backdropAttributeDirective),
208
+ modalDirective: mergeDirectives(
209
+ modalTransition.directives.directive,
210
+ bindDirectiveNoArg(siblingsInert),
211
+ directiveSubscribe(action$),
212
+ modalAttributeDirective,
213
+ focusElement
214
+ ),
215
+ closeButtonDirective,
216
+ dialogDirective: bindDirective(
217
+ browserDirective((dialog, visible) => {
218
+ const update = (visible2) => {
219
+ if (visible2) {
220
+ dialog.showModal();
221
+ } else {
222
+ dialog.close();
223
+ }
224
+ };
225
+ update(visible);
226
+ return {
227
+ update
228
+ };
229
+ }),
230
+ visible$
231
+ )
232
+ },
233
+ patch,
234
+ api: {
235
+ close,
236
+ async open() {
237
+ patch({ visible: true });
238
+ await promiseFromStore(hidden$).promise;
239
+ return hideResult;
240
+ },
241
+ patch
242
+ }
243
+ };
244
+ return res;
245
+ }
246
+ );
247
+ export {
248
+ modalCloseEscape as a,
249
+ modalOutsideClick as b,
250
+ createModal as c,
251
+ getModalDefaultConfig as g,
252
+ modalCloseButtonClick as m
253
+ };