@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,31 @@
1
+ import * as React from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useContext } from "react";
4
+ import { runAll, get } from "@elliemae/ds-legacy-utilities";
5
+ import { DropdownMenuContext } from "./DropdownMenuContext.js";
6
+ const noop = () => null;
7
+ const defaultConfig = { type: "default", handlerName: "onClick" };
8
+ function MenuItemClickableHOC(WrappedComponent, config) {
9
+ return function({ item = {}, ...restProps }) {
10
+ const { type, handlerName } = { ...defaultConfig, ...config };
11
+ const { onItemClick, selection } = useContext(DropdownMenuContext);
12
+ const propHandler = restProps[handlerName] || noop;
13
+ const handler = {
14
+ [handlerName]: () => runAll(onItemClick, propHandler)({ item, type })
15
+ };
16
+ return /* @__PURE__ */ jsx(
17
+ WrappedComponent,
18
+ {
19
+ ...restProps,
20
+ ...type === "selectable" && selection ? { checked: get(selection, [item.id]) } : {},
21
+ ...handler
22
+ }
23
+ );
24
+ };
25
+ }
26
+ var MenuItemClickableHOC_default = MenuItemClickableHOC;
27
+ export {
28
+ MenuItemClickableHOC,
29
+ MenuItemClickableHOC_default as default
30
+ };
31
+ //# sourceMappingURL=MenuItemClickableHOC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/deprecated/MenuItemClickableHOC.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "// @ts-nocheck\n/* eslint-disable react/display-name */\nimport React, { useContext } from 'react';\nimport { runAll, get } from '@elliemae/ds-legacy-utilities';\nimport { DropdownMenuContext } from './DropdownMenuContext.js';\n\nconst noop = () => null;\n\nconst defaultConfig = { type: 'default', handlerName: 'onClick' };\n\nfunction MenuItemClickableHOC(WrappedComponent, config) {\n return function ({ item = {}, ...restProps }) {\n const { type, handlerName } = { ...defaultConfig, ...config };\n const { onItemClick, selection } = useContext(DropdownMenuContext);\n const propHandler = restProps[handlerName] || noop;\n const handler = {\n [handlerName]: () => runAll(onItemClick, propHandler)({ item, type }),\n };\n return (\n <WrappedComponent\n {...restProps}\n {...(type === 'selectable' && selection ? { checked: get(selection, [item.id]) } : {})}\n {...handler}\n />\n );\n };\n}\n\nexport { MenuItemClickableHOC };\nexport default MenuItemClickableHOC;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACmBjB;AAjBN,SAAgB,kBAAkB;AAClC,SAAS,QAAQ,WAAW;AAC5B,SAAS,2BAA2B;AAEpC,MAAM,OAAO,MAAM;AAEnB,MAAM,gBAAgB,EAAE,MAAM,WAAW,aAAa,UAAU;AAEhE,SAAS,qBAAqB,kBAAkB,QAAQ;AACtD,SAAO,SAAU,EAAE,OAAO,CAAC,GAAG,GAAG,UAAU,GAAG;AAC5C,UAAM,EAAE,MAAM,YAAY,IAAI,EAAE,GAAG,eAAe,GAAG,OAAO;AAC5D,UAAM,EAAE,aAAa,UAAU,IAAI,WAAW,mBAAmB;AACjE,UAAM,cAAc,UAAU,WAAW,KAAK;AAC9C,UAAM,UAAU;AAAA,MACd,CAAC,WAAW,GAAG,MAAM,OAAO,aAAa,WAAW,EAAE,EAAE,MAAM,KAAK,CAAC;AAAA,IACtE;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACH,GAAI,SAAS,gBAAgB,YAAY,EAAE,SAAS,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;AAAA,QACnF,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAGA,IAAO,+BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useContext } from "react";
4
+ import { runAll, get } from "@elliemae/ds-legacy-utilities";
5
+ import { DropdownMenuContext } from "./DropdownMenuContext.js";
6
+ const noop = () => null;
7
+ function MenuItemGroupSelectionHOC(WrappedComponent, handlerName = "onSelect") {
8
+ return function({ item = {}, ...restProps }) {
9
+ const { onItemClick, selection } = useContext(DropdownMenuContext);
10
+ const propHandler = restProps[handlerName] || noop;
11
+ const handler = {
12
+ [handlerName]: (active, itemOption) => runAll(item.onSelect, onItemClick, propHandler)({ item: itemOption, group: { ...item, active } })
13
+ };
14
+ return /* @__PURE__ */ jsx(
15
+ WrappedComponent,
16
+ {
17
+ ...restProps,
18
+ ...selection ? { active: get(selection, [item.id]) || item.active } : {},
19
+ ...handler
20
+ }
21
+ );
22
+ };
23
+ }
24
+ var MenuItemGroupSelectionHOC_default = MenuItemGroupSelectionHOC;
25
+ export {
26
+ MenuItemGroupSelectionHOC,
27
+ MenuItemGroupSelectionHOC_default as default
28
+ };
29
+ //# sourceMappingURL=MenuItemGroupSelectionHOC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/deprecated/MenuItemGroupSelectionHOC.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "// @ts-nocheck\n/* eslint-disable react/display-name */\nimport React, { useContext } from 'react';\nimport { runAll, get } from '@elliemae/ds-legacy-utilities';\nimport { DropdownMenuContext } from './DropdownMenuContext.js';\n\nconst noop = () => null;\n\nfunction MenuItemGroupSelectionHOC(WrappedComponent, handlerName = 'onSelect') {\n return function ({ item = {}, ...restProps }) {\n const { onItemClick, selection } = useContext(DropdownMenuContext);\n const propHandler = restProps[handlerName] || noop;\n const handler = {\n [handlerName]: (active, itemOption) =>\n runAll(item.onSelect, onItemClick, propHandler)({ item: itemOption, group: { ...item, active } }),\n };\n return (\n <WrappedComponent\n {...restProps}\n {...(selection ? { active: get(selection, [item.id]) || item.active } : {})}\n {...handler}\n />\n );\n };\n}\n\nexport { MenuItemGroupSelectionHOC };\nexport default MenuItemGroupSelectionHOC;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACiBjB;AAfN,SAAgB,kBAAkB;AAClC,SAAS,QAAQ,WAAW;AAC5B,SAAS,2BAA2B;AAEpC,MAAM,OAAO,MAAM;AAEnB,SAAS,0BAA0B,kBAAkB,cAAc,YAAY;AAC7E,SAAO,SAAU,EAAE,OAAO,CAAC,GAAG,GAAG,UAAU,GAAG;AAC5C,UAAM,EAAE,aAAa,UAAU,IAAI,WAAW,mBAAmB;AACjE,UAAM,cAAc,UAAU,WAAW,KAAK;AAC9C,UAAM,UAAU;AAAA,MACd,CAAC,WAAW,GAAG,CAAC,QAAQ,eACtB,OAAO,KAAK,UAAU,aAAa,WAAW,EAAE,EAAE,MAAM,YAAY,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;AAAA,IACpG;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACH,GAAI,YAAY,EAAE,QAAQ,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC;AAAA,QACxE,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAGA,IAAO,oCAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { Menu, renderMenuItems, menuItemFactory } from "@elliemae/ds-legacy-common";
3
+ import { MenuItemClickableHOC } from "./MenuItemClickableHOC.js";
4
+ import { MenuItemGroupSelectionHOC } from "./MenuItemGroupSelectionHOC.js";
5
+ const itemTypes = {
6
+ separator: Menu.Separator,
7
+ menuitem: MenuItemClickableHOC(Menu.Item),
8
+ radio: MenuItemClickableHOC(Menu.ItemRadio, { type: "selectable" }),
9
+ checkbox: MenuItemClickableHOC(Menu.ItemCheckbox, { type: "selectable" }),
10
+ submenu: Menu.SubMenu,
11
+ "selection-group": MenuItemGroupSelectionHOC(Menu.SelectionGroup)
12
+ };
13
+ const factory = (type) => menuItemFactory(type, itemTypes, itemTypes.menuitem);
14
+ const renderOptions = (options) => renderMenuItems(options, factory);
15
+ export {
16
+ factory,
17
+ renderOptions
18
+ };
19
+ //# sourceMappingURL=decoratedMenuItemFactory.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/deprecated/decoratedMenuItemFactory.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "// @ts-nocheck\nimport { Menu, renderMenuItems, menuItemFactory } from '@elliemae/ds-legacy-common';\nimport { MenuItemClickableHOC } from './MenuItemClickableHOC.js';\nimport { MenuItemGroupSelectionHOC } from './MenuItemGroupSelectionHOC.js';\n\nconst itemTypes = {\n separator: Menu.Separator,\n menuitem: MenuItemClickableHOC(Menu.Item),\n radio: MenuItemClickableHOC(Menu.ItemRadio, { type: 'selectable' }),\n checkbox: MenuItemClickableHOC(Menu.ItemCheckbox, { type: 'selectable' }),\n submenu: Menu.SubMenu,\n 'selection-group': MenuItemGroupSelectionHOC(Menu.SelectionGroup),\n};\n\nexport const factory = (type) => menuItemFactory(type, itemTypes, itemTypes.menuitem);\nexport const renderOptions = (options) => renderMenuItems(options, factory);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,MAAM,iBAAiB,uBAAuB;AACvD,SAAS,4BAA4B;AACrC,SAAS,iCAAiC;AAE1C,MAAM,YAAY;AAAA,EAChB,WAAW,KAAK;AAAA,EAChB,UAAU,qBAAqB,KAAK,IAAI;AAAA,EACxC,OAAO,qBAAqB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAAA,EAClE,UAAU,qBAAqB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAAA,EACxE,SAAS,KAAK;AAAA,EACd,mBAAmB,0BAA0B,KAAK,cAAc;AAClE;AAEO,MAAM,UAAU,CAAC,SAAS,gBAAgB,MAAM,WAAW,UAAU,QAAQ;AAC7E,MAAM,gBAAgB,CAAC,YAAY,gBAAgB,SAAS,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { default as default2, DropdownMenuWithSchema, DSDropdownMenu } from "./DSDropdownMenu.js";
3
+ import { CustomPhoneRenderer } from "./CustomPhoneRenderer.js";
4
+ export {
5
+ CustomPhoneRenderer,
6
+ DSDropdownMenu,
7
+ DropdownMenuWithSchema,
8
+ default2 as default
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/deprecated/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "// @ts-nocheck\nexport { default, DropdownMenuWithSchema, DSDropdownMenu } from './DSDropdownMenu.js';\nexport { CustomPhoneRenderer } from './CustomPhoneRenderer.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,WAAAA,UAAS,wBAAwB,sBAAsB;AAChE,SAAS,2BAA2B;",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ const DSDropdownMenuName = "DSDropdownMenu";
3
+ const DSDropdownMenuSlots = {
4
+ ROOT: "root",
5
+ LOADING_WRAPPER: "loading-wrapper",
6
+ LISTBOX_WRAPPER: "listbox-wrapper",
7
+ HEADER_WRAPPER: "header-wrapper",
8
+ OPTION_LIST_WRAPPER: "option-list-wrapper",
9
+ EMPTY_STATE_WRAPPER: "empty-state-wrapper"
10
+ };
11
+ export {
12
+ DSDropdownMenuName,
13
+ DSDropdownMenuSlots
14
+ };
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/constants.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,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,3 @@
1
+ import * as React from "react";
2
+ export * from "./constants.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/index.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './constants.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export * from "./useAutofocusContainerOnOpen.js";
3
+ export * from "./useDropdownMenuItemHandlers.js";
4
+ export * from "./useGetOptionSpecialAttributes.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './useAutofocusContainerOnOpen.js';\nexport * from './useDropdownMenuItemHandlers.js';\nexport * from './useGetOptionSpecialAttributes.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { useContext, useLayoutEffect } from "react";
3
+ import { DSDropdownMenuContext } from "../DropdownMenuContext.js";
4
+ const useAutofocusContainerOnOpen = () => {
5
+ const { listboxReference, inputReference } = useContext(DSDropdownMenuContext);
6
+ useLayoutEffect(() => {
7
+ requestAnimationFrame(() => {
8
+ if (inputReference.current) {
9
+ inputReference.current.focus();
10
+ } else if (listboxReference.current) {
11
+ listboxReference.current.focus();
12
+ }
13
+ });
14
+ }, [inputReference, listboxReference]);
15
+ };
16
+ export {
17
+ useAutofocusContainerOnOpen
18
+ };
19
+ //# sourceMappingURL=useAutofocusContainerOnOpen.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useAutofocusContainerOnOpen.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,YAAY,uBAAuB;AAC5C,SAAS,6BAA6B;AAE/B,MAAM,8BAA8B,MAAM;AAC/C,QAAM,EAAE,kBAAkB,eAAe,IAAI,WAAW,qBAAqB;AAE7E,kBAAgB,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,96 @@
1
+ import * as React from "react";
2
+ import { useCallback, useContext } from "react";
3
+ import { DSDropdownMenuContext } from "../DropdownMenuContext.js";
4
+ import { findInCircularList, isOptionFocuseable, manageOpenedSubmenus } from "../utils/index.js";
5
+ const useDropdownListboxHandlers = () => {
6
+ const {
7
+ props: {
8
+ options,
9
+ onOptionClick,
10
+ openedSubmenus,
11
+ onSubmenuToggle,
12
+ onKeyDown: userOnKeyDown,
13
+ selectedOptions,
14
+ onClickOutside,
15
+ onMouseEnter: userOnMouseEnter,
16
+ onMouseLeave
17
+ },
18
+ activeDescendant,
19
+ setActiveDescendant,
20
+ scrollOptionIntoView,
21
+ listboxReference,
22
+ inputReference
23
+ } = useContext(DSDropdownMenuContext);
24
+ const onKeyDown = useCallback(
25
+ (e) => {
26
+ const currentItemIndex = options.findIndex((opt) => opt.dsId === activeDescendant);
27
+ if (currentItemIndex === -1)
28
+ return;
29
+ const option = options[currentItemIndex];
30
+ e.stopPropagation();
31
+ if (e.code === "ArrowDown") {
32
+ e.preventDefault();
33
+ const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);
34
+ setActiveDescendant(options[nextItemIndex].dsId);
35
+ scrollOptionIntoView(options[nextItemIndex].dsId);
36
+ } else if (e.code === "ArrowUp") {
37
+ e.preventDefault();
38
+ const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);
39
+ setActiveDescendant(options[nextItemIndex].dsId);
40
+ scrollOptionIntoView(options[nextItemIndex].dsId);
41
+ } else if (e.code === "ArrowRight" && ["submenu", "singleWithSubmenu"].includes(option.type) && !openedSubmenus[option.dsId]) {
42
+ e.preventDefault();
43
+ onSubmenuToggle(manageOpenedSubmenus(options, { ...openedSubmenus, [option.dsId]: true }, option), option, e);
44
+ } else if (["Space", "Enter"].includes(e.code)) {
45
+ e.preventDefault();
46
+ const nextSelectedOptions = { ...selectedOptions };
47
+ nextSelectedOptions[option.dsId] = !selectedOptions[option.dsId];
48
+ if (option?.disabled)
49
+ return;
50
+ onOptionClick(nextSelectedOptions, option, e);
51
+ if (option.onClick)
52
+ option.onClick(e);
53
+ } else if (e.code === "Escape") {
54
+ onClickOutside(e);
55
+ } else if (e.code === "Home") {
56
+ const nextItemIndex = findInCircularList(options, options.length - 1, isOptionFocuseable);
57
+ setActiveDescendant(options[nextItemIndex].dsId);
58
+ scrollOptionIntoView(options[nextItemIndex].dsId);
59
+ } else if (e.code === "End") {
60
+ const nextItemIndex = findInCircularList(options, 0, isOptionFocuseable, -1);
61
+ setActiveDescendant(options[nextItemIndex].dsId);
62
+ scrollOptionIntoView(options[nextItemIndex].dsId);
63
+ }
64
+ if (option.onKeyDown)
65
+ option.onKeyDown(e);
66
+ userOnKeyDown(e);
67
+ },
68
+ [
69
+ options,
70
+ openedSubmenus,
71
+ userOnKeyDown,
72
+ activeDescendant,
73
+ setActiveDescendant,
74
+ scrollOptionIntoView,
75
+ onSubmenuToggle,
76
+ selectedOptions,
77
+ onOptionClick,
78
+ onClickOutside
79
+ ]
80
+ );
81
+ const onMouseEnter = useCallback(
82
+ (e) => {
83
+ if (inputReference.current)
84
+ inputReference.current.focus();
85
+ else
86
+ listboxReference.current?.focus();
87
+ userOnMouseEnter(e);
88
+ },
89
+ [inputReference, listboxReference, userOnMouseEnter]
90
+ );
91
+ return { onKeyDown, onMouseEnter, onMouseLeave };
92
+ };
93
+ export {
94
+ useDropdownListboxHandlers
95
+ };
96
+ //# sourceMappingURL=useDropdownListboxHandlers.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useDropdownListboxHandlers.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACIvB,SAAS,aAAa,kBAAkB;AACxC,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB,oBAAoB,4BAA4B;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,IAAI,WAAW,qBAAqB;AAEpC,QAAM,YAAwC;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,gBAAgB,mBAAmB,SAAS,kBAAkB,kBAAkB;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,gBAAgB,mBAAmB,SAAS,kBAAkB,oBAAoB,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,wBAAgB,qBAAqB,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,gBAAgB,mBAAmB,SAAS,QAAQ,SAAS,GAAG,kBAAkB;AACxF,4BAAoB,QAAQ,aAAa,EAAE,IAAI;AAC/C,6BAAqB,QAAQ,aAAa,EAAE,IAAI;AAAA,MAClD,WAAW,EAAE,SAAS,OAAO;AAC3B,cAAM,gBAAgB,mBAAmB,SAAS,GAAG,oBAAoB,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,eAAwC;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,98 @@
1
+ import * as React from "react";
2
+ import { useCallback, useContext, useMemo } from "react";
3
+ import { useMakeMutable } from "@elliemae/ds-legacy-utilities";
4
+ import { DSDropdownMenuContext } from "../DropdownMenuContext.js";
5
+ import { manageOpenedSubmenus } from "../utils/index.js";
6
+ const useDropdownMenuItemHandlers = (option) => {
7
+ const {
8
+ props: {
9
+ options,
10
+ selectedOptions,
11
+ onOptionClick,
12
+ openedSubmenus,
13
+ onSubmenuToggle,
14
+ onMouseEnter,
15
+ onMouseLeave,
16
+ onMouseDown
17
+ },
18
+ listboxReference,
19
+ inputReference
20
+ } = useContext(DSDropdownMenuContext);
21
+ const mutableOption = useMakeMutable(option);
22
+ const mutableOptions = useMakeMutable(options);
23
+ const mutableOpenedSubmenus = useMakeMutable(openedSubmenus);
24
+ const mutableOnSubmenuToggle = useMakeMutable(onSubmenuToggle);
25
+ const mutableOnOptionClick = useMakeMutable(onOptionClick);
26
+ const mutableSelectedOptions = useMakeMutable(selectedOptions);
27
+ const onClick = useCallback(
28
+ (e) => {
29
+ e.stopPropagation();
30
+ e.preventDefault();
31
+ const nextSelectedOptions = { ...mutableSelectedOptions.current };
32
+ nextSelectedOptions[mutableOption.current.dsId] = !mutableSelectedOptions.current[mutableOption.current.dsId];
33
+ if (mutableOption?.current?.disabled)
34
+ return;
35
+ mutableOnOptionClick?.current?.(nextSelectedOptions, mutableOption.current, e);
36
+ if (e.type === "click")
37
+ mutableOption?.current?.onClick?.(e);
38
+ },
39
+ [mutableOnOptionClick, mutableOption, mutableSelectedOptions]
40
+ );
41
+ const onSubmenuOpen = useCallback(
42
+ (e) => {
43
+ mutableOnSubmenuToggle?.current?.(
44
+ manageOpenedSubmenus(
45
+ mutableOptions.current,
46
+ { ...mutableOpenedSubmenus?.current || {}, [mutableOption.current.dsId]: true },
47
+ mutableOption.current
48
+ ),
49
+ mutableOption.current,
50
+ e
51
+ );
52
+ },
53
+ [mutableOnSubmenuToggle, mutableOpenedSubmenus, mutableOption, mutableOptions]
54
+ );
55
+ const onSubmenuClose = useCallback(
56
+ (e) => {
57
+ mutableOnSubmenuToggle?.current?.(
58
+ manageOpenedSubmenus(
59
+ mutableOptions.current,
60
+ { ...mutableOpenedSubmenus?.current || {}, [mutableOption.current.dsId]: false },
61
+ mutableOption.current
62
+ ),
63
+ mutableOption.current,
64
+ e
65
+ );
66
+ if (inputReference.current)
67
+ inputReference.current.focus();
68
+ else
69
+ listboxReference.current?.focus();
70
+ },
71
+ [inputReference, listboxReference, mutableOnSubmenuToggle, mutableOpenedSubmenus, mutableOption, mutableOptions]
72
+ );
73
+ const onDropdownKeyDown = useCallback(
74
+ (e) => {
75
+ if (e.code === "ArrowLeft") {
76
+ onSubmenuClose(e);
77
+ e.preventDefault();
78
+ }
79
+ },
80
+ [onSubmenuClose]
81
+ );
82
+ return useMemo(
83
+ () => ({
84
+ onClick,
85
+ onSubmenuOpen,
86
+ onSubmenuClose,
87
+ onDropdownKeyDown,
88
+ onMouseEnter,
89
+ onMouseLeave,
90
+ onMouseDown
91
+ }),
92
+ [onClick, onSubmenuOpen, onSubmenuClose, onDropdownKeyDown, onMouseEnter, onMouseLeave, onMouseDown]
93
+ );
94
+ };
95
+ export {
96
+ useDropdownMenuItemHandlers
97
+ };
98
+ //# sourceMappingURL=useDropdownMenuItemHandlers.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useDropdownMenuItemHandlers.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,aAAa,YAAY,eAAe;AACjD,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;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,IAAI,WAAW,qBAAqB;AASpC,QAAM,gBAAgB,eAAe,MAAM;AAC3C,QAAM,iBAAiB,eAAe,OAAO;AAC7C,QAAM,wBAAwB,eAAe,cAAc;AAC3D,QAAM,yBAAyB,eAAe,eAAe;AAC7D,QAAM,uBAAuB,eAAe,aAAa;AACzD,QAAM,yBAAyB,eAAe,eAAe;AAG7D,QAAM,UAAU;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,gBAAgB;AAAA,IACpB,CAAC,MAA8C;AAC7C,8BAAwB;AAAA,QACtB;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,iBAAiB;AAAA,IACrB,CAAC,MAA8C;AAC7C,8BAAwB;AAAA,QACtB;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,oBAAgD;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,SAAO;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,17 @@
1
+ import * as React from "react";
2
+ import { useContext, useMemo } from "react";
3
+ import { DSDropdownMenuContext } from "../DropdownMenuContext.js";
4
+ const useGetOptionSpecialAttributes = () => {
5
+ const {
6
+ props: { options }
7
+ } = useContext(DSDropdownMenuContext);
8
+ const optionsShouldHavePadding = useMemo(
9
+ () => options.some((option) => ["single", "checkbox", "singleWithSubmenu"].includes(option.type)),
10
+ [options]
11
+ );
12
+ return { optionsShouldHavePadding };
13
+ };
14
+ export {
15
+ useGetOptionSpecialAttributes
16
+ };
17
+ //# sourceMappingURL=useGetOptionSpecialAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useGetOptionSpecialAttributes.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,YAAY,eAAe;AACpC,SAAS,6BAA6B;AAE/B,MAAM,gCAAgC,MAAM;AACjD,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,EACnB,IAAI,WAAW,qBAAqB;AAEpC,QAAM,2BAA2B;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,15 @@
1
+ import * as React from "react";
2
+ import DSDropdownMenu from "./deprecated/index.js";
3
+ export * from "./DSDropdownMenu.js";
4
+ export * from "./exported-related/index.js";
5
+ import { DropdownMenuDataTestId } from "./DropdownMenuDataTestId.js";
6
+ import { DSDropdownMenu as DSDropdownMenu2, DropdownMenuWithSchema, CustomPhoneRenderer } from "./deprecated/index.js";
7
+ var src_default = DSDropdownMenu;
8
+ export {
9
+ CustomPhoneRenderer,
10
+ DSDropdownMenu2 as DSDropdownMenu,
11
+ DropdownMenuDataTestId,
12
+ DropdownMenuWithSchema,
13
+ src_default as default
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import DSDropdownMenu from './deprecated/index.js';\nimport type {} from '@xstyled/system';\n\nexport * from './DSDropdownMenu.js';\nexport * from './exported-related/index.js';\nexport type { DSDropdownMenuT } from './react-desc-prop-types.js';\nexport { DropdownMenuDataTestId } from './DropdownMenuDataTestId.js';\n\n// Deprecated part\nexport { DSDropdownMenu, DropdownMenuWithSchema, CustomPhoneRenderer } from './deprecated/index.js';\nexport default DSDropdownMenu;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAO,oBAAoB;AAG3B,cAAc;AACd,cAAc;AAEd,SAAS,8BAA8B;AAGvC,SAAS,kBAAAA,iBAAgB,wBAAwB,2BAA2B;AAC5E,IAAO,cAAQ;",
6
+ "names": ["DSDropdownMenu"]
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -0,0 +1,70 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useContext } from "react";
4
+ import { DSPopperJS } from "@elliemae/ds-legacy-popperjs";
5
+ import { useGetGlobalAttributes, useGetXstyledProps } from "@elliemae/ds-legacy-props-helpers";
6
+ import { DropdownMenuDataTestId } from "../DropdownMenuDataTestId.js";
7
+ import { StyledTriggerWrapper } from "../styled.js";
8
+ import { DropdownMenuListBox } from "./DropdownMenuListBox.js";
9
+ import { DSDropdownMenuContext } from "../DropdownMenuContext.js";
10
+ import { DropdownMenuLoading } from "./DropdownMenuLoading.js";
11
+ const DropdownMenuContent = () => {
12
+ const { props, triggerReferenceElement, setTriggerReferenceElement } = useContext(DSDropdownMenuContext);
13
+ const {
14
+ children,
15
+ isOpened,
16
+ onClickOutside,
17
+ startPlacementPreference,
18
+ placementOrderPreference,
19
+ customOffset,
20
+ wrapperStyles,
21
+ isLoading,
22
+ zIndex,
23
+ as
24
+ } = props;
25
+ const { "data-popover-label": dataPopoverLabel, ...globalAttributes } = useGetGlobalAttributes(props);
26
+ const { minWidth, minHeight, ...restXstyledProps } = useGetXstyledProps(props);
27
+ const onClickOutsideHandler = (e) => {
28
+ const dropdownListboxes = [
29
+ ...document.body.querySelectorAll(`[data-testid="${DropdownMenuDataTestId.MENU_WRAPPER}"]`)
30
+ ];
31
+ if (dropdownListboxes.every((listbox) => !listbox.contains(e.target))) {
32
+ onClickOutside(e);
33
+ }
34
+ };
35
+ return /* @__PURE__ */ jsxs(
36
+ StyledTriggerWrapper,
37
+ {
38
+ "data-testid": `${DropdownMenuDataTestId.TRIGGER_WRAPPER}`,
39
+ ref: setTriggerReferenceElement,
40
+ "aria-haspopup": "listbox",
41
+ ...wrapperStyles,
42
+ ...globalAttributes,
43
+ ...restXstyledProps,
44
+ as,
45
+ children: [
46
+ children,
47
+ triggerReferenceElement && /* @__PURE__ */ jsx(
48
+ DSPopperJS,
49
+ {
50
+ referenceElement: triggerReferenceElement,
51
+ showPopover: isOpened,
52
+ withoutArrow: true,
53
+ withoutAnimation: true,
54
+ customOffset,
55
+ onClickOutside: onClickOutsideHandler,
56
+ startPlacementPreference,
57
+ placementOrderPreference,
58
+ zIndex,
59
+ "aria-label": dataPopoverLabel || "dropdown-menu popover",
60
+ children: isLoading ? /* @__PURE__ */ jsx(DropdownMenuLoading, {}) : /* @__PURE__ */ jsx(DropdownMenuListBox, {})
61
+ }
62
+ )
63
+ ]
64
+ }
65
+ );
66
+ };
67
+ export {
68
+ DropdownMenuContent
69
+ };
70
+ //# sourceMappingURL=DropdownMenuContent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/DropdownMenuContent.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-unused-vars */\nimport React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-legacy-popperjs';\nimport { useGetGlobalAttributes, useGetXstyledProps } from '@elliemae/ds-legacy-props-helpers';\nimport { DropdownMenuDataTestId } from '../DropdownMenuDataTestId.js';\nimport { StyledTriggerWrapper } from '../styled.js';\nimport { DropdownMenuListBox } from './DropdownMenuListBox.js';\nimport { DSDropdownMenuContext } from '../DropdownMenuContext.js';\nimport { DropdownMenuLoading } from './DropdownMenuLoading.js';\n\nexport const DropdownMenuContent: React.ComponentType<Record<string, never>> = () => {\n const { props, triggerReferenceElement, setTriggerReferenceElement } = useContext(DSDropdownMenuContext);\n\n const {\n children,\n isOpened,\n onClickOutside,\n startPlacementPreference,\n placementOrderPreference,\n customOffset,\n wrapperStyles,\n isLoading,\n zIndex,\n as,\n } = props;\n const { 'data-popover-label': dataPopoverLabel, ...globalAttributes } = useGetGlobalAttributes(props);\n // we need to exclude this props from the xstyled props because there is a conflict\n // using submenus items with the name of the prop of ddmenu and xstyled\n const { minWidth, minHeight, ...restXstyledProps } = useGetXstyledProps(props);\n const onClickOutsideHandler = (e: MouseEvent | TouchEvent) => {\n // We need to find out if the click was originated inside a child's dropdownmenu\n const dropdownListboxes = [\n ...document.body.querySelectorAll(`[data-testid=\"${DropdownMenuDataTestId.MENU_WRAPPER}\"]`),\n ];\n if (dropdownListboxes.every((listbox) => !listbox.contains(e.target as Node))) {\n onClickOutside(e);\n }\n };\n\n return (\n <StyledTriggerWrapper\n data-testid={`${DropdownMenuDataTestId.TRIGGER_WRAPPER}`}\n ref={setTriggerReferenceElement}\n aria-haspopup=\"listbox\"\n {...wrapperStyles}\n {...globalAttributes}\n {...restXstyledProps}\n as={as}\n >\n {children}\n {triggerReferenceElement && (\n <DSPopperJS\n referenceElement={triggerReferenceElement}\n showPopover={isOpened}\n withoutArrow\n withoutAnimation\n customOffset={customOffset}\n onClickOutside={onClickOutsideHandler}\n startPlacementPreference={startPlacementPreference}\n placementOrderPreference={placementOrderPreference}\n zIndex={zIndex}\n aria-label={(dataPopoverLabel as string) || 'dropdown-menu popover'}\n >\n {isLoading ? <DropdownMenuLoading /> : <DropdownMenuListBox />}\n </DSPopperJS>\n )}\n </StyledTriggerWrapper>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACwCnB,SAuBmB,KAvBnB;AAvCJ,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB,0BAA0B;AAC3D,SAAS,8BAA8B;AACvC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,6BAA6B;AACtC,SAAS,2BAA2B;AAE7B,MAAM,sBAAkE,MAAM;AACnF,QAAM,EAAE,OAAO,yBAAyB,2BAA2B,IAAI,WAAW,qBAAqB;AAEvG,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,sBAAsB,kBAAkB,GAAG,iBAAiB,IAAI,uBAAuB,KAAK;AAGpG,QAAM,EAAE,UAAU,WAAW,GAAG,iBAAiB,IAAI,mBAAmB,KAAK;AAC7E,QAAM,wBAAwB,CAAC,MAA+B;AAE5D,UAAM,oBAAoB;AAAA,MACxB,GAAG,SAAS,KAAK,iBAAiB,iBAAiB,uBAAuB,gBAAgB;AAAA,IAC5F;AACA,QAAI,kBAAkB,MAAM,CAAC,YAAY,CAAC,QAAQ,SAAS,EAAE,MAAc,CAAC,GAAG;AAC7E,qBAAe,CAAC;AAAA,IAClB;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,GAAG,uBAAuB;AAAA,MACvC,KAAK;AAAA,MACL,iBAAc;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACJ;AAAA,MAEC;AAAA;AAAA,QACA,2BACC;AAAA,UAAC;AAAA;AAAA,YACC,kBAAkB;AAAA,YAClB,aAAa;AAAA,YACb,cAAY;AAAA,YACZ,kBAAgB;AAAA,YAChB;AAAA,YACA,gBAAgB;AAAA,YAChB;AAAA,YACA;AAAA,YACA;AAAA,YACA,cAAa,oBAA+B;AAAA,YAE3C,sBAAY,oBAAC,uBAAoB,IAAK,oBAAC,uBAAoB;AAAA;AAAA,QAC9D;AAAA;AAAA;AAAA,EAEJ;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { StyledEmptyStateWrapper } from "../styled.js";
4
+ const DropdownMenuEmptyState = (props) => /* @__PURE__ */ jsx(StyledEmptyStateWrapper, { px: "xxs", py: "xxxs", role: "alert", ...props, children: "No content available" });
5
+ export {
6
+ DropdownMenuEmptyState
7
+ };
8
+ //# sourceMappingURL=DropdownMenuEmptyState.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/DropdownMenuEmptyState.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { StyledEmptyStateWrapper } from '../styled.js';\nimport type { SizingProps } from '@elliemae/ds-legacy-system';\n\ninterface DropdownMenuEmptyStateProps {\n minWidth: SizingProps['minWidth'];\n maxHeight: SizingProps['maxHeight'];\n}\nexport const DropdownMenuEmptyState: React.FC<DropdownMenuEmptyStateProps> = (props) => (\n <StyledEmptyStateWrapper px=\"xxs\" py=\"xxxs\" role=\"alert\" {...props}>\n No content available\n </StyledEmptyStateWrapper>\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACSrB;AARF,SAAS,+BAA+B;AAOjC,MAAM,yBAAgE,CAAC,UAC5E,oBAAC,2BAAwB,IAAG,OAAM,IAAG,QAAO,MAAK,SAAS,GAAG,OAAO,kCAEpE;",
6
+ "names": []
7
+ }