@elliemae/ds-legacy-dropdownmenu 1.0.0-rc.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 (185) hide show
  1. package/dist/cjs/DSDropdownMenu.js +50 -0
  2. package/dist/cjs/DSDropdownMenu.js.map +7 -0
  3. package/dist/cjs/DropdownMenuContext.js +37 -0
  4. package/dist/cjs/DropdownMenuContext.js.map +7 -0
  5. package/dist/cjs/DropdownMenuDataTestId.js +42 -0
  6. package/dist/cjs/DropdownMenuDataTestId.js.map +7 -0
  7. package/dist/cjs/config/useDropdownMenuConfig.js +114 -0
  8. package/dist/cjs/config/useDropdownMenuConfig.js.map +7 -0
  9. package/dist/cjs/config/useReferenceConfig.js +47 -0
  10. package/dist/cjs/config/useReferenceConfig.js.map +7 -0
  11. package/dist/cjs/deprecated/CustomPhoneRenderer.js +37 -0
  12. package/dist/cjs/deprecated/CustomPhoneRenderer.js.map +7 -0
  13. package/dist/cjs/deprecated/DSDropdownMenu.js +173 -0
  14. package/dist/cjs/deprecated/DSDropdownMenu.js.map +7 -0
  15. package/dist/cjs/deprecated/DropdownMenuContext.js +39 -0
  16. package/dist/cjs/deprecated/DropdownMenuContext.js.map +7 -0
  17. package/dist/cjs/deprecated/DropdownMenuLoadingIndicator.js +46 -0
  18. package/dist/cjs/deprecated/DropdownMenuLoadingIndicator.js.map +7 -0
  19. package/dist/cjs/deprecated/DropdownMenuProvider.js +109 -0
  20. package/dist/cjs/deprecated/DropdownMenuProvider.js.map +7 -0
  21. package/dist/cjs/deprecated/DropdownMenuRenderer.js +173 -0
  22. package/dist/cjs/deprecated/DropdownMenuRenderer.js.map +7 -0
  23. package/dist/cjs/deprecated/DropdownMenuWrapper.js +41 -0
  24. package/dist/cjs/deprecated/DropdownMenuWrapper.js.map +7 -0
  25. package/dist/cjs/deprecated/MenuItemClickableHOC.js +61 -0
  26. package/dist/cjs/deprecated/MenuItemClickableHOC.js.map +7 -0
  27. package/dist/cjs/deprecated/MenuItemGroupSelectionHOC.js +59 -0
  28. package/dist/cjs/deprecated/MenuItemGroupSelectionHOC.js.map +7 -0
  29. package/dist/cjs/deprecated/decoratedMenuItemFactory.js +49 -0
  30. package/dist/cjs/deprecated/decoratedMenuItemFactory.js.map +7 -0
  31. package/dist/cjs/deprecated/index.js +40 -0
  32. package/dist/cjs/deprecated/index.js.map +7 -0
  33. package/dist/cjs/exported-related/constants.js +45 -0
  34. package/dist/cjs/exported-related/constants.js.map +7 -0
  35. package/dist/cjs/exported-related/index.js +30 -0
  36. package/dist/cjs/exported-related/index.js.map +7 -0
  37. package/dist/cjs/hooks/index.js +32 -0
  38. package/dist/cjs/hooks/index.js.map +7 -0
  39. package/dist/cjs/hooks/useAutofocusContainerOnOpen.js +49 -0
  40. package/dist/cjs/hooks/useAutofocusContainerOnOpen.js.map +7 -0
  41. package/dist/cjs/hooks/useDropdownListboxHandlers.js +126 -0
  42. package/dist/cjs/hooks/useDropdownListboxHandlers.js.map +7 -0
  43. package/dist/cjs/hooks/useDropdownMenuItemHandlers.js +128 -0
  44. package/dist/cjs/hooks/useDropdownMenuItemHandlers.js.map +7 -0
  45. package/dist/cjs/hooks/useGetOptionSpecialAttributes.js +47 -0
  46. package/dist/cjs/hooks/useGetOptionSpecialAttributes.js.map +7 -0
  47. package/dist/cjs/index.js +46 -0
  48. package/dist/cjs/index.js.map +7 -0
  49. package/dist/cjs/package.json +7 -0
  50. package/dist/cjs/parts/DropdownMenuContent.js +100 -0
  51. package/dist/cjs/parts/DropdownMenuContent.js.map +7 -0
  52. package/dist/cjs/parts/DropdownMenuEmptyState.js +38 -0
  53. package/dist/cjs/parts/DropdownMenuEmptyState.js.map +7 -0
  54. package/dist/cjs/parts/DropdownMenuItemFactory.js +106 -0
  55. package/dist/cjs/parts/DropdownMenuItemFactory.js.map +7 -0
  56. package/dist/cjs/parts/DropdownMenuListBox.js +135 -0
  57. package/dist/cjs/parts/DropdownMenuListBox.js.map +7 -0
  58. package/dist/cjs/parts/DropdownMenuLoading.js +73 -0
  59. package/dist/cjs/parts/DropdownMenuLoading.js.map +7 -0
  60. package/dist/cjs/parts/DropdownMenuSkeleton.js +42 -0
  61. package/dist/cjs/parts/DropdownMenuSkeleton.js.map +7 -0
  62. package/dist/cjs/react-desc-prop-types.js +129 -0
  63. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  64. package/dist/cjs/styled.js +120 -0
  65. package/dist/cjs/styled.js.map +7 -0
  66. package/dist/cjs/utils/findInCircularList.js +42 -0
  67. package/dist/cjs/utils/findInCircularList.js.map +7 -0
  68. package/dist/cjs/utils/index.js +32 -0
  69. package/dist/cjs/utils/index.js.map +7 -0
  70. package/dist/cjs/utils/isOptionFocuseable.js +36 -0
  71. package/dist/cjs/utils/isOptionFocuseable.js.map +7 -0
  72. package/dist/cjs/utils/manageOpenedSubmenus.js +67 -0
  73. package/dist/cjs/utils/manageOpenedSubmenus.js.map +7 -0
  74. package/dist/esm/DSDropdownMenu.js +20 -0
  75. package/dist/esm/DSDropdownMenu.js.map +7 -0
  76. package/dist/esm/DropdownMenuContext.js +7 -0
  77. package/dist/esm/DropdownMenuContext.js.map +7 -0
  78. package/dist/esm/DropdownMenuDataTestId.js +12 -0
  79. package/dist/esm/DropdownMenuDataTestId.js.map +7 -0
  80. package/dist/esm/config/useDropdownMenuConfig.js +84 -0
  81. package/dist/esm/config/useDropdownMenuConfig.js.map +7 -0
  82. package/dist/esm/config/useReferenceConfig.js +17 -0
  83. package/dist/esm/config/useReferenceConfig.js.map +7 -0
  84. package/dist/esm/deprecated/CustomPhoneRenderer.js +7 -0
  85. package/dist/esm/deprecated/CustomPhoneRenderer.js.map +7 -0
  86. package/dist/esm/deprecated/DSDropdownMenu.js +143 -0
  87. package/dist/esm/deprecated/DSDropdownMenu.js.map +7 -0
  88. package/dist/esm/deprecated/DropdownMenuContext.js +9 -0
  89. package/dist/esm/deprecated/DropdownMenuContext.js.map +7 -0
  90. package/dist/esm/deprecated/DropdownMenuLoadingIndicator.js +16 -0
  91. package/dist/esm/deprecated/DropdownMenuLoadingIndicator.js.map +7 -0
  92. package/dist/esm/deprecated/DropdownMenuProvider.js +79 -0
  93. package/dist/esm/deprecated/DropdownMenuProvider.js.map +7 -0
  94. package/dist/esm/deprecated/DropdownMenuRenderer.js +143 -0
  95. package/dist/esm/deprecated/DropdownMenuRenderer.js.map +7 -0
  96. package/dist/esm/deprecated/DropdownMenuWrapper.js +11 -0
  97. package/dist/esm/deprecated/DropdownMenuWrapper.js.map +7 -0
  98. package/dist/esm/deprecated/MenuItemClickableHOC.js +31 -0
  99. package/dist/esm/deprecated/MenuItemClickableHOC.js.map +7 -0
  100. package/dist/esm/deprecated/MenuItemGroupSelectionHOC.js +29 -0
  101. package/dist/esm/deprecated/MenuItemGroupSelectionHOC.js.map +7 -0
  102. package/dist/esm/deprecated/decoratedMenuItemFactory.js +19 -0
  103. package/dist/esm/deprecated/decoratedMenuItemFactory.js.map +7 -0
  104. package/dist/esm/deprecated/index.js +10 -0
  105. package/dist/esm/deprecated/index.js.map +7 -0
  106. package/dist/esm/exported-related/constants.js +15 -0
  107. package/dist/esm/exported-related/constants.js.map +7 -0
  108. package/dist/esm/exported-related/index.js +3 -0
  109. package/dist/esm/exported-related/index.js.map +7 -0
  110. package/dist/esm/hooks/index.js +5 -0
  111. package/dist/esm/hooks/index.js.map +7 -0
  112. package/dist/esm/hooks/useAutofocusContainerOnOpen.js +19 -0
  113. package/dist/esm/hooks/useAutofocusContainerOnOpen.js.map +7 -0
  114. package/dist/esm/hooks/useDropdownListboxHandlers.js +96 -0
  115. package/dist/esm/hooks/useDropdownListboxHandlers.js.map +7 -0
  116. package/dist/esm/hooks/useDropdownMenuItemHandlers.js +98 -0
  117. package/dist/esm/hooks/useDropdownMenuItemHandlers.js.map +7 -0
  118. package/dist/esm/hooks/useGetOptionSpecialAttributes.js +17 -0
  119. package/dist/esm/hooks/useGetOptionSpecialAttributes.js.map +7 -0
  120. package/dist/esm/index.js +15 -0
  121. package/dist/esm/index.js.map +7 -0
  122. package/dist/esm/package.json +7 -0
  123. package/dist/esm/parts/DropdownMenuContent.js +70 -0
  124. package/dist/esm/parts/DropdownMenuContent.js.map +7 -0
  125. package/dist/esm/parts/DropdownMenuEmptyState.js +8 -0
  126. package/dist/esm/parts/DropdownMenuEmptyState.js.map +7 -0
  127. package/dist/esm/parts/DropdownMenuItemFactory.js +85 -0
  128. package/dist/esm/parts/DropdownMenuItemFactory.js.map +7 -0
  129. package/dist/esm/parts/DropdownMenuListBox.js +105 -0
  130. package/dist/esm/parts/DropdownMenuListBox.js.map +7 -0
  131. package/dist/esm/parts/DropdownMenuLoading.js +43 -0
  132. package/dist/esm/parts/DropdownMenuLoading.js.map +7 -0
  133. package/dist/esm/parts/DropdownMenuSkeleton.js +12 -0
  134. package/dist/esm/parts/DropdownMenuSkeleton.js.map +7 -0
  135. package/dist/esm/react-desc-prop-types.js +102 -0
  136. package/dist/esm/react-desc-prop-types.js.map +7 -0
  137. package/dist/esm/styled.js +90 -0
  138. package/dist/esm/styled.js.map +7 -0
  139. package/dist/esm/utils/findInCircularList.js +12 -0
  140. package/dist/esm/utils/findInCircularList.js.map +7 -0
  141. package/dist/esm/utils/index.js +5 -0
  142. package/dist/esm/utils/index.js.map +7 -0
  143. package/dist/esm/utils/isOptionFocuseable.js +6 -0
  144. package/dist/esm/utils/isOptionFocuseable.js.map +7 -0
  145. package/dist/esm/utils/manageOpenedSubmenus.js +37 -0
  146. package/dist/esm/utils/manageOpenedSubmenus.js.map +7 -0
  147. package/dist/types/DSDropdownMenu.d.ts +5 -0
  148. package/dist/types/DropdownMenuContext.d.ts +3 -0
  149. package/dist/types/DropdownMenuDataTestId.d.ts +7 -0
  150. package/dist/types/config/useDropdownMenuConfig.d.ts +2 -0
  151. package/dist/types/config/useReferenceConfig.d.ts +7 -0
  152. package/dist/types/deprecated/CustomPhoneRenderer.d.ts +2 -0
  153. package/dist/types/deprecated/DSDropdownMenu.d.ts +110 -0
  154. package/dist/types/deprecated/DropdownMenuContext.d.ts +4 -0
  155. package/dist/types/deprecated/DropdownMenuLoadingIndicator.d.ts +3 -0
  156. package/dist/types/deprecated/DropdownMenuProvider.d.ts +12 -0
  157. package/dist/types/deprecated/DropdownMenuRenderer.d.ts +28 -0
  158. package/dist/types/deprecated/DropdownMenuWrapper.d.ts +3 -0
  159. package/dist/types/deprecated/MenuItemClickableHOC.d.ts +6 -0
  160. package/dist/types/deprecated/MenuItemGroupSelectionHOC.d.ts +6 -0
  161. package/dist/types/deprecated/decoratedMenuItemFactory.d.ts +2 -0
  162. package/dist/types/deprecated/index.d.ts +2 -0
  163. package/dist/types/exported-related/constants.d.ts +9 -0
  164. package/dist/types/exported-related/index.d.ts +1 -0
  165. package/dist/types/hooks/index.d.ts +3 -0
  166. package/dist/types/hooks/useAutofocusContainerOnOpen.d.ts +1 -0
  167. package/dist/types/hooks/useDropdownListboxHandlers.d.ts +8 -0
  168. package/dist/types/hooks/useDropdownMenuItemHandlers.d.ts +12 -0
  169. package/dist/types/hooks/useGetOptionSpecialAttributes.d.ts +3 -0
  170. package/dist/types/index.d.ts +7 -0
  171. package/dist/types/parts/DropdownMenuContent.d.ts +2 -0
  172. package/dist/types/parts/DropdownMenuEmptyState.d.ts +8 -0
  173. package/dist/types/parts/DropdownMenuItemFactory.d.ts +8 -0
  174. package/dist/types/parts/DropdownMenuListBox.d.ts +2 -0
  175. package/dist/types/parts/DropdownMenuLoading.d.ts +2 -0
  176. package/dist/types/parts/DropdownMenuSkeleton.d.ts +1 -0
  177. package/dist/types/react-desc-prop-types.d.ts +120 -0
  178. package/dist/types/styled.d.ts +20 -0
  179. package/dist/types/tests/DSDropdownMenuV2.keyboardEvents.test.d.ts +1 -0
  180. package/dist/types/tests/DSDropdownMenuV2.pointerEvents.test.d.ts +1 -0
  181. package/dist/types/utils/findInCircularList.d.ts +1 -0
  182. package/dist/types/utils/index.d.ts +3 -0
  183. package/dist/types/utils/isOptionFocuseable.d.ts +2 -0
  184. package/dist/types/utils/manageOpenedSubmenus.d.ts +2 -0
  185. package/package.json +93 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var deprecated_exports = {};
30
+ __export(deprecated_exports, {
31
+ CustomPhoneRenderer: () => import_CustomPhoneRenderer.CustomPhoneRenderer,
32
+ DSDropdownMenu: () => import_DSDropdownMenu.DSDropdownMenu,
33
+ DropdownMenuWithSchema: () => import_DSDropdownMenu.DropdownMenuWithSchema,
34
+ default: () => import_DSDropdownMenu.default
35
+ });
36
+ module.exports = __toCommonJS(deprecated_exports);
37
+ var React = __toESM(require("react"));
38
+ var import_DSDropdownMenu = __toESM(require("./DSDropdownMenu.js"));
39
+ var import_CustomPhoneRenderer = require("./CustomPhoneRenderer.js");
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/deprecated/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["// @ts-nocheck\nexport { default, DropdownMenuWithSchema, DSDropdownMenu } from './DSDropdownMenu.js';\nexport { CustomPhoneRenderer } from './CustomPhoneRenderer.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,4BAAgE;AAChE,iCAAoC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var constants_exports = {};
30
+ __export(constants_exports, {
31
+ DSDropdownMenuName: () => DSDropdownMenuName,
32
+ DSDropdownMenuSlots: () => DSDropdownMenuSlots
33
+ });
34
+ module.exports = __toCommonJS(constants_exports);
35
+ var React = __toESM(require("react"));
36
+ const DSDropdownMenuName = "DSDropdownMenu";
37
+ const DSDropdownMenuSlots = {
38
+ ROOT: "root",
39
+ LOADING_WRAPPER: "loading-wrapper",
40
+ LISTBOX_WRAPPER: "listbox-wrapper",
41
+ HEADER_WRAPPER: "header-wrapper",
42
+ OPTION_LIST_WRAPPER: "option-list-wrapper",
43
+ EMPTY_STATE_WRAPPER: "empty-state-wrapper"
44
+ };
45
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/exported-related/constants.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export const DSDropdownMenuName = 'DSDropdownMenu';\n\nexport const DSDropdownMenuSlots = {\n ROOT: 'root',\n LOADING_WRAPPER: 'loading-wrapper',\n LISTBOX_WRAPPER: 'listbox-wrapper',\n HEADER_WRAPPER: 'header-wrapper',\n OPTION_LIST_WRAPPER: 'option-list-wrapper',\n EMPTY_STATE_WRAPPER: 'empty-state-wrapper',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,qBAAqB;AAE3B,MAAM,sBAAsB;AAAA,EACjC,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
+ // If the importer is in node compatibility mode or this is not an ESM
19
+ // file that has been converted to a CommonJS file using a Babel-
20
+ // compatible transform (i.e. "__esModule" has not been set), then set
21
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
+ mod
24
+ ));
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var exported_related_exports = {};
27
+ module.exports = __toCommonJS(exported_related_exports);
28
+ var React = __toESM(require("react"));
29
+ __reExport(exported_related_exports, require("./constants.js"), module.exports);
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/exported-related/index.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export * from './constants.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,qCAAc,2BAAd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
+ // If the importer is in node compatibility mode or this is not an ESM
19
+ // file that has been converted to a CommonJS file using a Babel-
20
+ // compatible transform (i.e. "__esModule" has not been set), then set
21
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
+ mod
24
+ ));
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var hooks_exports = {};
27
+ module.exports = __toCommonJS(hooks_exports);
28
+ var React = __toESM(require("react"));
29
+ __reExport(hooks_exports, require("./useAutofocusContainerOnOpen.js"), module.exports);
30
+ __reExport(hooks_exports, require("./useDropdownMenuItemHandlers.js"), module.exports);
31
+ __reExport(hooks_exports, require("./useGetOptionSpecialAttributes.js"), module.exports);
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export * from './useAutofocusContainerOnOpen.js';\nexport * from './useDropdownMenuItemHandlers.js';\nexport * from './useGetOptionSpecialAttributes.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAAc,6CAAd;AACA,0BAAc,6CADd;AAEA,0BAAc,+CAFd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useAutofocusContainerOnOpen_exports = {};
30
+ __export(useAutofocusContainerOnOpen_exports, {
31
+ useAutofocusContainerOnOpen: () => useAutofocusContainerOnOpen
32
+ });
33
+ module.exports = __toCommonJS(useAutofocusContainerOnOpen_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_DropdownMenuContext = require("../DropdownMenuContext.js");
37
+ const useAutofocusContainerOnOpen = () => {
38
+ const { listboxReference, inputReference } = (0, import_react.useContext)(import_DropdownMenuContext.DSDropdownMenuContext);
39
+ (0, import_react.useLayoutEffect)(() => {
40
+ requestAnimationFrame(() => {
41
+ if (inputReference.current) {
42
+ inputReference.current.focus();
43
+ } else if (listboxReference.current) {
44
+ listboxReference.current.focus();
45
+ }
46
+ });
47
+ }, [inputReference, listboxReference]);
48
+ };
49
+ //# sourceMappingURL=useAutofocusContainerOnOpen.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useAutofocusContainerOnOpen.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useContext, useLayoutEffect } from 'react';\nimport { DSDropdownMenuContext } from '../DropdownMenuContext.js';\n\nexport const useAutofocusContainerOnOpen = () => {\n const { listboxReference, inputReference } = useContext(DSDropdownMenuContext);\n\n useLayoutEffect(() => {\n requestAnimationFrame(() => {\n if (inputReference.current) {\n inputReference.current.focus();\n } else if (listboxReference.current) {\n listboxReference.current.focus();\n }\n });\n }, [inputReference, listboxReference]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4C;AAC5C,iCAAsC;AAE/B,MAAM,8BAA8B,MAAM;AAC/C,QAAM,EAAE,kBAAkB,eAAe,QAAI,yBAAW,gDAAqB;AAE7E,oCAAgB,MAAM;AACpB,0BAAsB,MAAM;AAC1B,UAAI,eAAe,SAAS;AAC1B,uBAAe,QAAQ,MAAM;AAAA,MAC/B,WAAW,iBAAiB,SAAS;AACnC,yBAAiB,QAAQ,MAAM;AAAA,MACjC;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,gBAAgB,gBAAgB,CAAC;AACvC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useDropdownListboxHandlers_exports = {};
30
+ __export(useDropdownListboxHandlers_exports, {
31
+ useDropdownListboxHandlers: () => useDropdownListboxHandlers
32
+ });
33
+ module.exports = __toCommonJS(useDropdownListboxHandlers_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_DropdownMenuContext = require("../DropdownMenuContext.js");
37
+ var import_utils = require("../utils/index.js");
38
+ const useDropdownListboxHandlers = () => {
39
+ const {
40
+ props: {
41
+ options,
42
+ onOptionClick,
43
+ openedSubmenus,
44
+ onSubmenuToggle,
45
+ onKeyDown: userOnKeyDown,
46
+ selectedOptions,
47
+ onClickOutside,
48
+ onMouseEnter: userOnMouseEnter,
49
+ onMouseLeave
50
+ },
51
+ activeDescendant,
52
+ setActiveDescendant,
53
+ scrollOptionIntoView,
54
+ listboxReference,
55
+ inputReference
56
+ } = (0, import_react.useContext)(import_DropdownMenuContext.DSDropdownMenuContext);
57
+ const onKeyDown = (0, import_react.useCallback)(
58
+ (e) => {
59
+ const currentItemIndex = options.findIndex((opt) => opt.dsId === activeDescendant);
60
+ if (currentItemIndex === -1)
61
+ return;
62
+ const option = options[currentItemIndex];
63
+ e.stopPropagation();
64
+ if (e.code === "ArrowDown") {
65
+ e.preventDefault();
66
+ const nextItemIndex = (0, import_utils.findInCircularList)(options, currentItemIndex, import_utils.isOptionFocuseable);
67
+ setActiveDescendant(options[nextItemIndex].dsId);
68
+ scrollOptionIntoView(options[nextItemIndex].dsId);
69
+ } else if (e.code === "ArrowUp") {
70
+ e.preventDefault();
71
+ const nextItemIndex = (0, import_utils.findInCircularList)(options, currentItemIndex, import_utils.isOptionFocuseable, -1);
72
+ setActiveDescendant(options[nextItemIndex].dsId);
73
+ scrollOptionIntoView(options[nextItemIndex].dsId);
74
+ } else if (e.code === "ArrowRight" && ["submenu", "singleWithSubmenu"].includes(option.type) && !openedSubmenus[option.dsId]) {
75
+ e.preventDefault();
76
+ onSubmenuToggle((0, import_utils.manageOpenedSubmenus)(options, { ...openedSubmenus, [option.dsId]: true }, option), option, e);
77
+ } else if (["Space", "Enter"].includes(e.code)) {
78
+ e.preventDefault();
79
+ const nextSelectedOptions = { ...selectedOptions };
80
+ nextSelectedOptions[option.dsId] = !selectedOptions[option.dsId];
81
+ if (option?.disabled)
82
+ return;
83
+ onOptionClick(nextSelectedOptions, option, e);
84
+ if (option.onClick)
85
+ option.onClick(e);
86
+ } else if (e.code === "Escape") {
87
+ onClickOutside(e);
88
+ } else if (e.code === "Home") {
89
+ const nextItemIndex = (0, import_utils.findInCircularList)(options, options.length - 1, import_utils.isOptionFocuseable);
90
+ setActiveDescendant(options[nextItemIndex].dsId);
91
+ scrollOptionIntoView(options[nextItemIndex].dsId);
92
+ } else if (e.code === "End") {
93
+ const nextItemIndex = (0, import_utils.findInCircularList)(options, 0, import_utils.isOptionFocuseable, -1);
94
+ setActiveDescendant(options[nextItemIndex].dsId);
95
+ scrollOptionIntoView(options[nextItemIndex].dsId);
96
+ }
97
+ if (option.onKeyDown)
98
+ option.onKeyDown(e);
99
+ userOnKeyDown(e);
100
+ },
101
+ [
102
+ options,
103
+ openedSubmenus,
104
+ userOnKeyDown,
105
+ activeDescendant,
106
+ setActiveDescendant,
107
+ scrollOptionIntoView,
108
+ onSubmenuToggle,
109
+ selectedOptions,
110
+ onOptionClick,
111
+ onClickOutside
112
+ ]
113
+ );
114
+ const onMouseEnter = (0, import_react.useCallback)(
115
+ (e) => {
116
+ if (inputReference.current)
117
+ inputReference.current.focus();
118
+ else
119
+ listboxReference.current?.focus();
120
+ userOnMouseEnter(e);
121
+ },
122
+ [inputReference, listboxReference, userOnMouseEnter]
123
+ );
124
+ return { onKeyDown, onMouseEnter, onMouseLeave };
125
+ };
126
+ //# sourceMappingURL=useDropdownListboxHandlers.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useDropdownListboxHandlers.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable max-params */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport type React from 'react';\nimport { useCallback, useContext } from 'react';\nimport { DSDropdownMenuContext } from '../DropdownMenuContext.js';\nimport type { DSDropdownMenuT } from '../react-desc-prop-types.js';\nimport { findInCircularList, isOptionFocuseable, manageOpenedSubmenus } from '../utils/index.js';\n\ntype UseDropdownListboxHandlersType = () => {\n onKeyDown: React.KeyboardEventHandler;\n onMouseEnter: React.MouseEventHandler;\n onMouseLeave?: React.MouseEventHandler;\n};\n\nexport const useDropdownListboxHandlers: UseDropdownListboxHandlersType = () => {\n const {\n props: {\n options,\n onOptionClick,\n openedSubmenus,\n onSubmenuToggle,\n onKeyDown: userOnKeyDown,\n selectedOptions,\n onClickOutside,\n onMouseEnter: userOnMouseEnter,\n onMouseLeave,\n },\n activeDescendant,\n setActiveDescendant,\n scrollOptionIntoView,\n listboxReference,\n inputReference,\n } = useContext(DSDropdownMenuContext);\n\n const onKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n const currentItemIndex = options.findIndex((opt) => opt.dsId === activeDescendant);\n if (currentItemIndex === -1) return;\n\n const option = options[currentItemIndex];\n\n e.stopPropagation();\n\n if (e.code === 'ArrowDown') {\n e.preventDefault();\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);\n setActiveDescendant(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else if (e.code === 'ArrowUp') {\n e.preventDefault();\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);\n setActiveDescendant(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else if (\n e.code === 'ArrowRight' &&\n ['submenu', 'singleWithSubmenu'].includes(option.type) &&\n !openedSubmenus[option.dsId]\n ) {\n e.preventDefault();\n onSubmenuToggle(manageOpenedSubmenus(options, { ...openedSubmenus, [option.dsId]: true }, option), option, e);\n } else if (['Space', 'Enter'].includes(e.code)) {\n e.preventDefault();\n const nextSelectedOptions = { ...selectedOptions };\n nextSelectedOptions[option.dsId] = !selectedOptions[option.dsId];\n if ((option as DSDropdownMenuT.ItemActionOptions)?.disabled) return; // prevent click when is disabled\n onOptionClick(nextSelectedOptions, option, e);\n if (option.onClick) option.onClick(e);\n } else if (e.code === 'Escape') {\n onClickOutside(e);\n } else if (e.code === 'Home') {\n const nextItemIndex = findInCircularList(options, options.length - 1, isOptionFocuseable);\n setActiveDescendant(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else if (e.code === 'End') {\n const nextItemIndex = findInCircularList(options, 0, isOptionFocuseable, -1);\n setActiveDescendant(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n }\n if (option.onKeyDown) option.onKeyDown(e);\n userOnKeyDown(e);\n },\n [\n options,\n openedSubmenus,\n userOnKeyDown,\n activeDescendant,\n setActiveDescendant,\n scrollOptionIntoView,\n onSubmenuToggle,\n selectedOptions,\n onOptionClick,\n onClickOutside,\n ],\n );\n\n const onMouseEnter: React.MouseEventHandler = useCallback(\n (e: React.MouseEvent) => {\n if (inputReference.current) inputReference.current.focus();\n else listboxReference.current?.focus();\n userOnMouseEnter(e);\n },\n [inputReference, listboxReference, userOnMouseEnter],\n );\n return { onKeyDown, onMouseEnter, onMouseLeave };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAwC;AACxC,iCAAsC;AAEtC,mBAA6E;AAQtE,MAAM,6BAA6D,MAAM;AAC9E,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gDAAqB;AAEpC,QAAM,gBAAwC;AAAA,IAC5C,CAAC,MAAM;AACL,YAAM,mBAAmB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS,gBAAgB;AACjF,UAAI,qBAAqB;AAAI;AAE7B,YAAM,SAAS,QAAQ,gBAAgB;AAEvC,QAAE,gBAAgB;AAElB,UAAI,EAAE,SAAS,aAAa;AAC1B,UAAE,eAAe;AACjB,cAAM,oBAAgB,iCAAmB,SAAS,kBAAkB,+BAAkB;AACtF,4BAAoB,QAAQ,aAAa,EAAE,IAAI;AAC/C,6BAAqB,QAAQ,aAAa,EAAE,IAAI;AAAA,MAClD,WAAW,EAAE,SAAS,WAAW;AAC/B,UAAE,eAAe;AACjB,cAAM,oBAAgB,iCAAmB,SAAS,kBAAkB,iCAAoB,EAAE;AAC1F,4BAAoB,QAAQ,aAAa,EAAE,IAAI;AAC/C,6BAAqB,QAAQ,aAAa,EAAE,IAAI;AAAA,MAClD,WACE,EAAE,SAAS,gBACX,CAAC,WAAW,mBAAmB,EAAE,SAAS,OAAO,IAAI,KACrD,CAAC,eAAe,OAAO,IAAI,GAC3B;AACA,UAAE,eAAe;AACjB,4BAAgB,mCAAqB,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAAA,MAC9G,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,UAAE,eAAe;AACjB,cAAM,sBAAsB,EAAE,GAAG,gBAAgB;AACjD,4BAAoB,OAAO,IAAI,IAAI,CAAC,gBAAgB,OAAO,IAAI;AAC/D,YAAK,QAA8C;AAAU;AAC7D,sBAAc,qBAAqB,QAAQ,CAAC;AAC5C,YAAI,OAAO;AAAS,iBAAO,QAAQ,CAAC;AAAA,MACtC,WAAW,EAAE,SAAS,UAAU;AAC9B,uBAAe,CAAC;AAAA,MAClB,WAAW,EAAE,SAAS,QAAQ;AAC5B,cAAM,oBAAgB,iCAAmB,SAAS,QAAQ,SAAS,GAAG,+BAAkB;AACxF,4BAAoB,QAAQ,aAAa,EAAE,IAAI;AAC/C,6BAAqB,QAAQ,aAAa,EAAE,IAAI;AAAA,MAClD,WAAW,EAAE,SAAS,OAAO;AAC3B,cAAM,oBAAgB,iCAAmB,SAAS,GAAG,iCAAoB,EAAE;AAC3E,4BAAoB,QAAQ,aAAa,EAAE,IAAI;AAC/C,6BAAqB,QAAQ,aAAa,EAAE,IAAI;AAAA,MAClD;AACA,UAAI,OAAO;AAAW,eAAO,UAAU,CAAC;AACxC,oBAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,mBAAwC;AAAA,IAC5C,CAAC,MAAwB;AACvB,UAAI,eAAe;AAAS,uBAAe,QAAQ,MAAM;AAAA;AACpD,yBAAiB,SAAS,MAAM;AACrC,uBAAiB,CAAC;AAAA,IACpB;AAAA,IACA,CAAC,gBAAgB,kBAAkB,gBAAgB;AAAA,EACrD;AACA,SAAO,EAAE,WAAW,cAAc,aAAa;AACjD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useDropdownMenuItemHandlers_exports = {};
30
+ __export(useDropdownMenuItemHandlers_exports, {
31
+ useDropdownMenuItemHandlers: () => useDropdownMenuItemHandlers
32
+ });
33
+ module.exports = __toCommonJS(useDropdownMenuItemHandlers_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_ds_legacy_utilities = require("@elliemae/ds-legacy-utilities");
37
+ var import_DropdownMenuContext = require("../DropdownMenuContext.js");
38
+ var import_utils = require("../utils/index.js");
39
+ const useDropdownMenuItemHandlers = (option) => {
40
+ const {
41
+ props: {
42
+ options,
43
+ selectedOptions,
44
+ onOptionClick,
45
+ openedSubmenus,
46
+ onSubmenuToggle,
47
+ onMouseEnter,
48
+ onMouseLeave,
49
+ onMouseDown
50
+ },
51
+ listboxReference,
52
+ inputReference
53
+ } = (0, import_react.useContext)(import_DropdownMenuContext.DSDropdownMenuContext);
54
+ const mutableOption = (0, import_ds_legacy_utilities.useMakeMutable)(option);
55
+ const mutableOptions = (0, import_ds_legacy_utilities.useMakeMutable)(options);
56
+ const mutableOpenedSubmenus = (0, import_ds_legacy_utilities.useMakeMutable)(openedSubmenus);
57
+ const mutableOnSubmenuToggle = (0, import_ds_legacy_utilities.useMakeMutable)(onSubmenuToggle);
58
+ const mutableOnOptionClick = (0, import_ds_legacy_utilities.useMakeMutable)(onOptionClick);
59
+ const mutableSelectedOptions = (0, import_ds_legacy_utilities.useMakeMutable)(selectedOptions);
60
+ const onClick = (0, import_react.useCallback)(
61
+ (e) => {
62
+ e.stopPropagation();
63
+ e.preventDefault();
64
+ const nextSelectedOptions = { ...mutableSelectedOptions.current };
65
+ nextSelectedOptions[mutableOption.current.dsId] = !mutableSelectedOptions.current[mutableOption.current.dsId];
66
+ if (mutableOption?.current?.disabled)
67
+ return;
68
+ mutableOnOptionClick?.current?.(nextSelectedOptions, mutableOption.current, e);
69
+ if (e.type === "click")
70
+ mutableOption?.current?.onClick?.(e);
71
+ },
72
+ [mutableOnOptionClick, mutableOption, mutableSelectedOptions]
73
+ );
74
+ const onSubmenuOpen = (0, import_react.useCallback)(
75
+ (e) => {
76
+ mutableOnSubmenuToggle?.current?.(
77
+ (0, import_utils.manageOpenedSubmenus)(
78
+ mutableOptions.current,
79
+ { ...mutableOpenedSubmenus?.current || {}, [mutableOption.current.dsId]: true },
80
+ mutableOption.current
81
+ ),
82
+ mutableOption.current,
83
+ e
84
+ );
85
+ },
86
+ [mutableOnSubmenuToggle, mutableOpenedSubmenus, mutableOption, mutableOptions]
87
+ );
88
+ const onSubmenuClose = (0, import_react.useCallback)(
89
+ (e) => {
90
+ mutableOnSubmenuToggle?.current?.(
91
+ (0, import_utils.manageOpenedSubmenus)(
92
+ mutableOptions.current,
93
+ { ...mutableOpenedSubmenus?.current || {}, [mutableOption.current.dsId]: false },
94
+ mutableOption.current
95
+ ),
96
+ mutableOption.current,
97
+ e
98
+ );
99
+ if (inputReference.current)
100
+ inputReference.current.focus();
101
+ else
102
+ listboxReference.current?.focus();
103
+ },
104
+ [inputReference, listboxReference, mutableOnSubmenuToggle, mutableOpenedSubmenus, mutableOption, mutableOptions]
105
+ );
106
+ const onDropdownKeyDown = (0, import_react.useCallback)(
107
+ (e) => {
108
+ if (e.code === "ArrowLeft") {
109
+ onSubmenuClose(e);
110
+ e.preventDefault();
111
+ }
112
+ },
113
+ [onSubmenuClose]
114
+ );
115
+ return (0, import_react.useMemo)(
116
+ () => ({
117
+ onClick,
118
+ onSubmenuOpen,
119
+ onSubmenuClose,
120
+ onDropdownKeyDown,
121
+ onMouseEnter,
122
+ onMouseLeave,
123
+ onMouseDown
124
+ }),
125
+ [onClick, onSubmenuOpen, onSubmenuClose, onDropdownKeyDown, onMouseEnter, onMouseLeave, onMouseDown]
126
+ );
127
+ };
128
+ //# sourceMappingURL=useDropdownMenuItemHandlers.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useDropdownMenuItemHandlers.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import type React from 'react';\nimport { useCallback, useContext, useMemo } from 'react';\nimport { useMakeMutable } from '@elliemae/ds-legacy-utilities';\nimport { DSDropdownMenuContext } from '../DropdownMenuContext.js';\nimport { manageOpenedSubmenus } from '../utils/index.js';\nimport type { DSDropdownMenuT } from '../react-desc-prop-types.js';\n\ntype UseDropdownMenuItemHandlersType = (option: DSDropdownMenuT.Item) => {\n onClick: (e: React.MouseEvent | React.KeyboardEvent) => void;\n onSubmenuOpen: (e: React.MouseEvent | React.KeyboardEvent) => void;\n onSubmenuClose: (e: React.MouseEvent | React.KeyboardEvent) => void;\n onDropdownKeyDown: React.KeyboardEventHandler;\n onMouseEnter: React.MouseEventHandler;\n onMouseLeave: React.MouseEventHandler;\n};\n\nexport const useDropdownMenuItemHandlers: UseDropdownMenuItemHandlersType = (option) => {\n const {\n props: {\n options,\n selectedOptions,\n onOptionClick,\n openedSubmenus,\n onSubmenuToggle,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n },\n listboxReference,\n inputReference,\n } = useContext(DSDropdownMenuContext);\n\n // it's vital for the opinionated onSubmenuOpen / onSubmenuClose to\n // - have access to the latest information about openedSubmenus\n // - be as \"pure\" as possible to guarantee that usage with the \"bridge\" pattern\n // will be as \"transparent\" as possible (if nested inside async code, redefing the callback may invoke a stale closure)\n // the whole component is kind of messy so I'm going to implement a quick and dirty solution\n // I'm going to make all the arguments for the callbacks \"mutable\",\n // this is sub-optimal on a performance level but will have to do for now\n const mutableOption = useMakeMutable(option);\n const mutableOptions = useMakeMutable(options);\n const mutableOpenedSubmenus = useMakeMutable(openedSubmenus);\n const mutableOnSubmenuToggle = useMakeMutable(onSubmenuToggle);\n const mutableOnOptionClick = useMakeMutable(onOptionClick);\n const mutableSelectedOptions = useMakeMutable(selectedOptions);\n\n // This callback is used on single / multi items to toggle the selection\n const onClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n e.stopPropagation();\n e.preventDefault();\n const nextSelectedOptions = { ...mutableSelectedOptions.current };\n nextSelectedOptions[mutableOption.current.dsId] = !mutableSelectedOptions.current[mutableOption.current.dsId];\n if ((mutableOption?.current as DSDropdownMenuT.ItemActionOptions)?.disabled) return; // prevent click when is disabled\n mutableOnOptionClick?.current?.(nextSelectedOptions, mutableOption.current, e);\n // we avoid invoking \"onClick\" twice when the users \"key-down - enter\" on the item by checking if the event is keyboard related\n if (e.type === 'click') mutableOption?.current?.onClick?.(e);\n },\n [mutableOnOptionClick, mutableOption, mutableSelectedOptions],\n );\n\n // This callback is used on submenu items to open it onMouseEnter\n const onSubmenuOpen = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n mutableOnSubmenuToggle?.current?.(\n manageOpenedSubmenus(\n mutableOptions.current,\n { ...(mutableOpenedSubmenus?.current || {}), [mutableOption.current.dsId]: true },\n mutableOption.current,\n ),\n mutableOption.current,\n e,\n );\n },\n [mutableOnSubmenuToggle, mutableOpenedSubmenus, mutableOption, mutableOptions],\n );\n\n // This callback is used on submenu to close it onMouseLeave\n const onSubmenuClose = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n mutableOnSubmenuToggle?.current?.(\n manageOpenedSubmenus(\n mutableOptions.current,\n { ...(mutableOpenedSubmenus?.current || {}), [mutableOption.current.dsId]: false },\n mutableOption.current,\n ),\n mutableOption.current,\n e,\n );\n if (inputReference.current) inputReference.current.focus();\n else listboxReference.current?.focus();\n },\n [inputReference, listboxReference, mutableOnSubmenuToggle, mutableOpenedSubmenus, mutableOption, mutableOptions],\n );\n\n // This callback is used on child dropdown to close the current opened submenu (which spawned it)\n const onDropdownKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n if (e.code === 'ArrowLeft') {\n onSubmenuClose(e);\n e.preventDefault();\n }\n },\n [onSubmenuClose],\n );\n\n return useMemo(\n () => ({\n onClick,\n onSubmenuOpen,\n onSubmenuClose,\n onDropdownKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n }),\n [onClick, onSubmenuOpen, onSubmenuClose, onDropdownKeyDown, onMouseEnter, onMouseLeave, onMouseDown],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAiD;AACjD,iCAA+B;AAC/B,iCAAsC;AACtC,mBAAqC;AAY9B,MAAM,8BAA+D,CAAC,WAAW;AACtF,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gDAAqB;AASpC,QAAM,oBAAgB,2CAAe,MAAM;AAC3C,QAAM,qBAAiB,2CAAe,OAAO;AAC7C,QAAM,4BAAwB,2CAAe,cAAc;AAC3D,QAAM,6BAAyB,2CAAe,eAAe;AAC7D,QAAM,2BAAuB,2CAAe,aAAa;AACzD,QAAM,6BAAyB,2CAAe,eAAe;AAG7D,QAAM,cAAU;AAAA,IACd,CAAC,MAA8C;AAC7C,QAAE,gBAAgB;AAClB,QAAE,eAAe;AACjB,YAAM,sBAAsB,EAAE,GAAG,uBAAuB,QAAQ;AAChE,0BAAoB,cAAc,QAAQ,IAAI,IAAI,CAAC,uBAAuB,QAAQ,cAAc,QAAQ,IAAI;AAC5G,UAAK,eAAe,SAA+C;AAAU;AAC7E,4BAAsB,UAAU,qBAAqB,cAAc,SAAS,CAAC;AAE7E,UAAI,EAAE,SAAS;AAAS,uBAAe,SAAS,UAAU,CAAC;AAAA,IAC7D;AAAA,IACA,CAAC,sBAAsB,eAAe,sBAAsB;AAAA,EAC9D;AAGA,QAAM,oBAAgB;AAAA,IACpB,CAAC,MAA8C;AAC7C,8BAAwB;AAAA,YACtB;AAAA,UACE,eAAe;AAAA,UACf,EAAE,GAAI,uBAAuB,WAAW,CAAC,GAAI,CAAC,cAAc,QAAQ,IAAI,GAAG,KAAK;AAAA,UAChF,cAAc;AAAA,QAChB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,wBAAwB,uBAAuB,eAAe,cAAc;AAAA,EAC/E;AAGA,QAAM,qBAAiB;AAAA,IACrB,CAAC,MAA8C;AAC7C,8BAAwB;AAAA,YACtB;AAAA,UACE,eAAe;AAAA,UACf,EAAE,GAAI,uBAAuB,WAAW,CAAC,GAAI,CAAC,cAAc,QAAQ,IAAI,GAAG,MAAM;AAAA,UACjF,cAAc;AAAA,QAChB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,MACF;AACA,UAAI,eAAe;AAAS,uBAAe,QAAQ,MAAM;AAAA;AACpD,yBAAiB,SAAS,MAAM;AAAA,IACvC;AAAA,IACA,CAAC,gBAAgB,kBAAkB,wBAAwB,uBAAuB,eAAe,cAAc;AAAA,EACjH;AAGA,QAAM,wBAAgD;AAAA,IACpD,CAAC,MAAM;AACL,UAAI,EAAE,SAAS,aAAa;AAC1B,uBAAe,CAAC;AAChB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,SAAS,eAAe,gBAAgB,mBAAmB,cAAc,cAAc,WAAW;AAAA,EACrG;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useGetOptionSpecialAttributes_exports = {};
30
+ __export(useGetOptionSpecialAttributes_exports, {
31
+ useGetOptionSpecialAttributes: () => useGetOptionSpecialAttributes
32
+ });
33
+ module.exports = __toCommonJS(useGetOptionSpecialAttributes_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_DropdownMenuContext = require("../DropdownMenuContext.js");
37
+ const useGetOptionSpecialAttributes = () => {
38
+ const {
39
+ props: { options }
40
+ } = (0, import_react.useContext)(import_DropdownMenuContext.DSDropdownMenuContext);
41
+ const optionsShouldHavePadding = (0, import_react.useMemo)(
42
+ () => options.some((option) => ["single", "checkbox", "singleWithSubmenu"].includes(option.type)),
43
+ [options]
44
+ );
45
+ return { optionsShouldHavePadding };
46
+ };
47
+ //# sourceMappingURL=useGetOptionSpecialAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useGetOptionSpecialAttributes.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useContext, useMemo } from 'react';\nimport { DSDropdownMenuContext } from '../DropdownMenuContext.js';\n\nexport const useGetOptionSpecialAttributes = () => {\n const {\n props: { options },\n } = useContext(DSDropdownMenuContext);\n\n const optionsShouldHavePadding = useMemo(\n () => options.some((option) => ['single', 'checkbox', 'singleWithSubmenu'].includes(option.type)),\n [options],\n );\n\n return { optionsShouldHavePadding };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAoC;AACpC,iCAAsC;AAE/B,MAAM,gCAAgC,MAAM;AACjD,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,EACnB,QAAI,yBAAW,gDAAqB;AAEpC,QAAM,+BAA2B;AAAA,IAC/B,MAAM,QAAQ,KAAK,CAAC,WAAW,CAAC,UAAU,YAAY,mBAAmB,EAAE,SAAS,OAAO,IAAI,CAAC;AAAA,IAChG,CAAC,OAAO;AAAA,EACV;AAEA,SAAO,EAAE,yBAAyB;AACpC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var src_exports = {};
31
+ __export(src_exports, {
32
+ CustomPhoneRenderer: () => import_deprecated2.CustomPhoneRenderer,
33
+ DSDropdownMenu: () => import_deprecated2.DSDropdownMenu,
34
+ DropdownMenuDataTestId: () => import_DropdownMenuDataTestId.DropdownMenuDataTestId,
35
+ DropdownMenuWithSchema: () => import_deprecated2.DropdownMenuWithSchema,
36
+ default: () => src_default
37
+ });
38
+ module.exports = __toCommonJS(src_exports);
39
+ var React = __toESM(require("react"));
40
+ var import_deprecated = __toESM(require("./deprecated/index.js"));
41
+ __reExport(src_exports, require("./DSDropdownMenu.js"), module.exports);
42
+ __reExport(src_exports, require("./exported-related/index.js"), module.exports);
43
+ var import_DropdownMenuDataTestId = require("./DropdownMenuDataTestId.js");
44
+ var import_deprecated2 = require("./deprecated/index.js");
45
+ var src_default = import_deprecated.default;
46
+ //# sourceMappingURL=index.js.map