@elliemae/ds-global-header 3.0.0-next.49 → 3.0.0-next.52

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 (181) hide show
  1. package/dist/cjs/DSGlobalHeader.js +57 -0
  2. package/dist/cjs/DSGlobalHeader.js.map +7 -0
  3. package/dist/cjs/{defaultProps.js → DSGlobalHeaderContext.js} +8 -12
  4. package/dist/cjs/DSGlobalHeaderContext.js.map +7 -0
  5. package/dist/cjs/config/useGlobalHeader.js +6 -7
  6. package/dist/cjs/config/useGlobalHeader.js.map +2 -2
  7. package/dist/cjs/config/useValidateProps.js +0 -13
  8. package/dist/cjs/config/useValidateProps.js.map +2 -2
  9. package/dist/cjs/config/validateHelpers.js.map +2 -2
  10. package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js +58 -0
  11. package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js.map +7 -0
  12. package/dist/cjs/exported-related/index.js +23 -0
  13. package/dist/cjs/exported-related/index.js.map +7 -0
  14. package/dist/cjs/{components/Toolbar/GlobalHeaderToolbar.js → exported-related/theming.js} +37 -19
  15. package/dist/cjs/exported-related/theming.js.map +7 -0
  16. package/dist/cjs/index.js +4 -3
  17. package/dist/cjs/index.js.map +3 -3
  18. package/dist/cjs/{components → parts}/Breadcrumb/GlobalHeaderBreadcrumb.js +32 -39
  19. package/dist/cjs/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
  20. package/dist/cjs/{components → parts}/Breadcrumb/PureBreadcrumb.js +30 -10
  21. package/dist/cjs/parts/Breadcrumb/PureBreadcrumb.js.map +7 -0
  22. package/dist/cjs/{components → parts}/Breadcrumb/styles.js +38 -13
  23. package/dist/cjs/parts/Breadcrumb/styles.js.map +7 -0
  24. package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +65 -0
  25. package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +7 -0
  26. package/dist/cjs/{config/useGetPropsWithDefaults.js → parts/GlobalHeaderContainer.js} +12 -11
  27. package/dist/cjs/parts/GlobalHeaderContainer.js.map +7 -0
  28. package/dist/cjs/{components/Title/GlobalHeaderTitle.js → parts/Logo/GlobalHeaderLogo.js} +12 -10
  29. package/dist/cjs/parts/Logo/GlobalHeaderLogo.js.map +7 -0
  30. package/dist/cjs/{styles.js → parts/Logo/styles.js} +4 -9
  31. package/dist/cjs/parts/Logo/styles.js.map +7 -0
  32. package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js +160 -0
  33. package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js.map +7 -0
  34. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/AppPicker/AppPicker.js +27 -21
  35. package/dist/cjs/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
  36. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/PopupMenu/PopupMenu.js +45 -22
  37. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
  38. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +123 -0
  39. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +7 -0
  40. package/dist/cjs/{outOfTheBox/PopupMenu → parts/Toolbar/outOfTheBox/PopupMenu/menuContent}/styles.js +15 -9
  41. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +7 -0
  42. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +74 -0
  43. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +7 -0
  44. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/SearchToggle.js +45 -25
  45. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
  46. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/styles.js +7 -4
  47. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +7 -0
  48. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js +0 -0
  49. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js.map +1 -1
  50. package/dist/cjs/parts/Toolbar/styles.js +40 -0
  51. package/dist/cjs/parts/Toolbar/styles.js.map +7 -0
  52. package/dist/cjs/parts/Toolbar/useGlobalHeaderToolbar.js +65 -0
  53. package/dist/cjs/parts/Toolbar/useGlobalHeaderToolbar.js.map +7 -0
  54. package/dist/cjs/{components/Toolbar → parts}/styles.js +17 -3
  55. package/dist/cjs/parts/styles.js.map +7 -0
  56. package/dist/cjs/react-desc-prop-types.js +74 -0
  57. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  58. package/dist/cjs/{GlobalHeaderTypes.js → sharedTypes.js} +3 -3
  59. package/dist/cjs/sharedTypes.js.map +7 -0
  60. package/dist/esm/DSGlobalHeader.js +35 -0
  61. package/dist/esm/DSGlobalHeader.js.map +7 -0
  62. package/dist/esm/DSGlobalHeaderContext.js +8 -0
  63. package/dist/esm/DSGlobalHeaderContext.js.map +7 -0
  64. package/dist/esm/config/useGlobalHeader.js +6 -7
  65. package/dist/esm/config/useGlobalHeader.js.map +2 -2
  66. package/dist/esm/config/useValidateProps.js +0 -13
  67. package/dist/esm/config/useValidateProps.js.map +2 -2
  68. package/dist/esm/config/validateHelpers.js.map +2 -2
  69. package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js +36 -0
  70. package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js.map +7 -0
  71. package/dist/esm/exported-related/index.js +4 -0
  72. package/dist/esm/exported-related/index.js.map +7 -0
  73. package/dist/esm/exported-related/theming.js +38 -0
  74. package/dist/esm/exported-related/theming.js.map +7 -0
  75. package/dist/esm/index.js +3 -2
  76. package/dist/esm/index.js.map +3 -3
  77. package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js +76 -0
  78. package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
  79. package/dist/esm/{components → parts}/Breadcrumb/PureBreadcrumb.js +31 -11
  80. package/dist/esm/parts/Breadcrumb/PureBreadcrumb.js.map +7 -0
  81. package/dist/esm/parts/Breadcrumb/styles.js +79 -0
  82. package/dist/esm/parts/Breadcrumb/styles.js.map +7 -0
  83. package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +43 -0
  84. package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +7 -0
  85. package/dist/esm/{config/useGetPropsWithDefaults.js → parts/GlobalHeaderContainer.js} +9 -8
  86. package/dist/esm/parts/GlobalHeaderContainer.js.map +7 -0
  87. package/dist/esm/parts/Logo/GlobalHeaderLogo.js +21 -0
  88. package/dist/esm/parts/Logo/GlobalHeaderLogo.js.map +7 -0
  89. package/dist/esm/parts/Logo/styles.js +9 -0
  90. package/dist/esm/parts/Logo/styles.js.map +7 -0
  91. package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js +140 -0
  92. package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js.map +7 -0
  93. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/AppPicker/AppPicker.js +29 -23
  94. package/dist/esm/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
  95. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/PopupMenu/PopupMenu.js +46 -23
  96. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
  97. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +103 -0
  98. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +7 -0
  99. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js +44 -0
  100. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +7 -0
  101. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +52 -0
  102. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +7 -0
  103. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/SearchToggle.js +45 -25
  104. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
  105. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/styles.js +7 -4
  106. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +7 -0
  107. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js +0 -0
  108. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js.map +1 -1
  109. package/dist/esm/parts/Toolbar/styles.js +18 -0
  110. package/dist/esm/parts/Toolbar/styles.js.map +7 -0
  111. package/dist/esm/parts/Toolbar/useGlobalHeaderToolbar.js +43 -0
  112. package/dist/esm/parts/Toolbar/useGlobalHeaderToolbar.js.map +7 -0
  113. package/dist/esm/parts/styles.js +46 -0
  114. package/dist/esm/parts/styles.js.map +7 -0
  115. package/dist/esm/react-desc-prop-types.js +54 -0
  116. package/dist/esm/react-desc-prop-types.js.map +7 -0
  117. package/dist/esm/sharedTypes.js +2 -0
  118. package/dist/esm/{GlobalHeaderTypes.js.map → sharedTypes.js.map} +0 -0
  119. package/package.json +16 -16
  120. package/dist/cjs/GlobalHeader.js +0 -50
  121. package/dist/cjs/GlobalHeader.js.map +0 -7
  122. package/dist/cjs/GlobalHeaderContainer.js +0 -34
  123. package/dist/cjs/GlobalHeaderContainer.js.map +0 -7
  124. package/dist/cjs/GlobalHeaderContext.js +0 -39
  125. package/dist/cjs/GlobalHeaderContext.js.map +0 -7
  126. package/dist/cjs/GlobalHeaderTypes.js.map +0 -7
  127. package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
  128. package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
  129. package/dist/cjs/components/Breadcrumb/styles.js.map +0 -7
  130. package/dist/cjs/components/Title/GlobalHeaderTitle.js.map +0 -7
  131. package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
  132. package/dist/cjs/components/Toolbar/ToolbarItems.js +0 -114
  133. package/dist/cjs/components/Toolbar/ToolbarItems.js.map +0 -7
  134. package/dist/cjs/components/Toolbar/styles.js.map +0 -7
  135. package/dist/cjs/config/useGetPropsWithDefaults.js.map +0 -7
  136. package/dist/cjs/defaultProps.js.map +0 -7
  137. package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
  138. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
  139. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -90
  140. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
  141. package/dist/cjs/outOfTheBox/PopupMenu/styles.js.map +0 -7
  142. package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
  143. package/dist/cjs/outOfTheBox/SearchToggle/styles.js.map +0 -7
  144. package/dist/cjs/propTypes.js +0 -49
  145. package/dist/cjs/propTypes.js.map +0 -7
  146. package/dist/cjs/styles.js.map +0 -7
  147. package/dist/esm/GlobalHeader.js +0 -28
  148. package/dist/esm/GlobalHeader.js.map +0 -7
  149. package/dist/esm/GlobalHeaderContainer.js +0 -12
  150. package/dist/esm/GlobalHeaderContainer.js.map +0 -7
  151. package/dist/esm/GlobalHeaderContext.js +0 -17
  152. package/dist/esm/GlobalHeaderContext.js.map +0 -7
  153. package/dist/esm/GlobalHeaderTypes.js +0 -2
  154. package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -83
  155. package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
  156. package/dist/esm/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
  157. package/dist/esm/components/Breadcrumb/styles.js +0 -54
  158. package/dist/esm/components/Breadcrumb/styles.js.map +0 -7
  159. package/dist/esm/components/Title/GlobalHeaderTitle.js +0 -19
  160. package/dist/esm/components/Title/GlobalHeaderTitle.js.map +0 -7
  161. package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js +0 -20
  162. package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
  163. package/dist/esm/components/Toolbar/ToolbarItems.js +0 -94
  164. package/dist/esm/components/Toolbar/ToolbarItems.js.map +0 -7
  165. package/dist/esm/components/Toolbar/styles.js +0 -32
  166. package/dist/esm/components/Toolbar/styles.js.map +0 -7
  167. package/dist/esm/config/useGetPropsWithDefaults.js.map +0 -7
  168. package/dist/esm/defaultProps.js +0 -12
  169. package/dist/esm/defaultProps.js.map +0 -7
  170. package/dist/esm/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
  171. package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
  172. package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -70
  173. package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
  174. package/dist/esm/outOfTheBox/PopupMenu/styles.js +0 -38
  175. package/dist/esm/outOfTheBox/PopupMenu/styles.js.map +0 -7
  176. package/dist/esm/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
  177. package/dist/esm/outOfTheBox/SearchToggle/styles.js.map +0 -7
  178. package/dist/esm/propTypes.js +0 -27
  179. package/dist/esm/propTypes.js.map +0 -7
  180. package/dist/esm/styles.js +0 -14
  181. package/dist/esm/styles.js.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useRef, useCallback } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { mergeRefs, getGlobalAttributes, useCallbackAfterRender } from '@elliemae/ds-utilities';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const AppPicker = ({\n label,\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.AppPickerProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const internalTriggerRef = useRef<HTMLButtonElement>(null);\n\n const {\n apps,\n icon,\n customApps,\n sectionTitle,\n customSectionTitle,\n actionRef,\n isOpen: userIsOpen,\n onKeyDown: userOnKeyDown,\n onClickOutside: userOnClickOutside,\n renderTrigger: userRenderTrigger,\n onClose,\n triggerRef,\n triggerOnClick,\n } = componentProps;\n\n const schedule = useCallbackAfterRender();\n\n const focusTrigger = useCallback(() => internalTriggerRef.current?.focus(), []);\n\n const handleTriggerKeyDown: React.KeyboardEventHandler = useCallback((e) => {\n if (e.code === 'Enter' || e.code === 'Space' || e.code === 'ArrowDown') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n setIsOpen(false);\n schedule(focusTrigger);\n }\n }, []);\n\n const handleOnClickOutside = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick: React.MouseEventHandler = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n return (\n <DSAppPicker\n apps={apps}\n customApps={customApps}\n sectionTitle={sectionTitle}\n customSectionTitle={customSectionTitle}\n icon={icon}\n onKeyDown={userOnKeyDown ?? handleAppPickerOnKeyDown}\n actionRef={actionRef}\n onClickOutside={userOnClickOutside ?? handleOnClickOutside}\n renderTrigger={\n userRenderTrigger ||\n (({ ref }: { ref: React.MutableRefObject<HTMLButtonElement> }) => (\n <StyledButton\n onClick={triggerOnClick ?? handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={(buttonRef: HTMLButtonElement) => {\n setRef(buttonRef);\n mergeRefs(internalTriggerRef, triggerRef, ref)(buttonRef);\n }}\n aria-label={label}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n role=\"menuitem\"\n aria-haspopup\n aria-expanded={userIsOpen ?? isOpen}\n id={id}\n {...getGlobalAttributes(otherProps)}\n >\n <MenuPicker width={20.73} height={20.73} />\n </StyledButton>\n ))\n }\n isOpen={userIsOpen ?? isOpen}\n onClose={onClose}\n triggerRef={triggerRef}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqD;AACrD,2BAA4B;AAC5B,0BAAuE;AACvE,sBAA2B;AAC3B,oBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,YAAY,CAAC,OAMkC;AANlC,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAJwB,IAKrB,uBALqB,IAKrB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,qBAAqB,yBAA0B,IAAI;AAEzD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,WAAW,gDAAuB;AAExC,QAAM,eAAe,8BAAY,MAAM,mBAAmB,SAAS,MAAM,GAAG,CAAC,CAAC;AAE9E,QAAM,uBAAmD,8BAAY,CAAC,MAAM;AAC1E,QAAI,EAAE,SAAS,WAAW,EAAE,SAAS,WAAW,EAAE,SAAS,aAAa;AACtE,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,2BAA2B,8BAAY,CAAC,MAA2B;AACvE,QAAI,EAAE,QAAQ,UAAU;AACtB,gBAAU,KAAK;AACf,eAAS,YAAY;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,uBAAuB,8BAAY,MAAM;AAC7C,cAAU,KAAK;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAyC,8BAAY,MAAM;AAC/D,cAAU,IAAI;AAAA,EAChB,GAAG,CAAC,CAAC;AAEL,SACE,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,iBAAiB;AAAA,IAC5B;AAAA,IACA,gBAAgB,sBAAsB;AAAA,IACtC,eACE,qBACC,EAAC,EAAE,UACF,mDAAC;AAAA,MACC,SAAS,kBAAkB;AAAA,MAC3B,WAAW;AAAA,MACX,KAAK,CAAC,cAAiC;AACrC,eAAO,SAAS;AAChB,2CAAU,oBAAoB,YAAY,GAAG,EAAE,SAAS;AAAA,MAC1D;AAAA,MACA,cAAY;AAAA,MACZ,eAAa,iDAAyB,QAAQ;AAAA,MAC9C,MAAK;AAAA,MACL,iBAAa;AAAA,MACb,iBAAe,cAAc;AAAA,MAC7B;AAAA,OACI,6CAAoB,UAAU,IAElC,mDAAC;AAAA,MAAW,OAAO;AAAA,MAAO,QAAQ;AAAA,KAAO,CAC3C;AAAA,IAGJ,QAAQ,cAAc;AAAA,IACtB;AAAA,IACA;AAAA,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -51,12 +51,27 @@ __export(PopupMenu_exports, {
51
51
  module.exports = __toCommonJS(PopupMenu_exports);
52
52
  var React = __toESM(require("react"));
53
53
  var import_react = __toESM(require("react"));
54
- var import_ds_popperjs = require("@elliemae/ds-popperjs");
55
- var import_PopupMenuContent = require("./PopupMenuContent");
56
- var import_styles = require("../../components/Toolbar/styles");
57
54
  var import_ds_utilities = require("@elliemae/ds-utilities");
55
+ var import_ds_popperjs = require("@elliemae/ds-popperjs");
56
+ var import_PopupMenuContent = require("./menuContent/PopupMenuContent");
57
+ var import_styles = require("../../../styles");
58
+ var import_exported_related = require("../../../../exported-related");
58
59
  const PopupMenu = (_a) => {
59
- var _b = _a, { Icon, title, onClick, id, componentProps } = _b, otherProps = __objRest(_b, ["Icon", "title", "onClick", "id", "componentProps"]);
60
+ var _b = _a, {
61
+ Icon,
62
+ title,
63
+ onClick,
64
+ id,
65
+ setRef,
66
+ componentProps
67
+ } = _b, otherProps = __objRest(_b, [
68
+ "Icon",
69
+ "title",
70
+ "onClick",
71
+ "id",
72
+ "setRef",
73
+ "componentProps"
74
+ ]);
60
75
  const [isOpen, setIsOpen] = (0, import_react.useState)(false);
61
76
  const [buttonRef, setButtonRef] = (0, import_react.useState)(null);
62
77
  const {
@@ -67,8 +82,8 @@ const PopupMenu = (_a) => {
67
82
  options,
68
83
  closeOnClick
69
84
  } = componentProps;
70
- const handleKeyPress = (0, import_react.useCallback)((e) => {
71
- if (e.code === "Enter" || e.code === "Space") {
85
+ const handleOnKeyDown = (0, import_react.useCallback)((e) => {
86
+ if (e.code === "ArrowDown") {
72
87
  setIsOpen(true);
73
88
  }
74
89
  if (onKeyPress)
@@ -83,33 +98,41 @@ const PopupMenu = (_a) => {
83
98
  const handleTriggerOnClick = (0, import_react.useCallback)((e) => {
84
99
  if (userIsOpen === void 0)
85
100
  setIsOpen(true);
86
- onClick(e);
101
+ if (onClick)
102
+ onClick(e);
87
103
  }, [onClick, userIsOpen]);
88
104
  const handleItemClick = (0, import_react.useCallback)(() => {
89
105
  if (closeOnClick && userIsOpen === void 0)
90
106
  handleOnClose();
91
107
  }, [closeOnClick, handleOnClose, userIsOpen]);
92
- const content = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement(import_PopupMenuContent.PopupMenuContent, {
93
- options,
94
- onItemClick: handleItemClick,
95
- onClose: handleOnClose,
96
- popupOnKeyPress
97
- }), [options, handleItemClick, handleOnClose, popupOnKeyPress]);
98
- return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_styles.Button, __spreadValues({
108
+ const handleRefs = (0, import_react.useCallback)((ref) => {
109
+ setRef(ref);
110
+ setButtonRef(ref);
111
+ }, []);
112
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledButton, __spreadValues({
99
113
  onClick: handleTriggerOnClick,
100
- onKeyPress: handleKeyPress,
101
- title,
102
- ref: setButtonRef,
103
- "data-testid": "gh-toolbar-item",
114
+ onKeyDown: handleOnKeyDown,
115
+ "aria-label": title,
116
+ ref: handleRefs,
117
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON,
118
+ role: "menuitem",
119
+ "aria-haspopup": true,
120
+ "aria-expanded": userIsOpen ?? isOpen,
104
121
  id
105
- }, (0, import_ds_utilities.getDataProps)(otherProps)), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
106
- fill: "#FFF",
122
+ }, (0, import_ds_utilities.useGetGlobalAttributes)(otherProps)), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
107
123
  size: "m"
108
124
  })), /* @__PURE__ */ import_react.default.createElement(import_ds_popperjs.DSPopperJS, {
109
125
  referenceElement: buttonRef,
110
126
  showPopover: userIsOpen ?? isOpen,
111
127
  closeContextMenu: handleOnClose,
112
- onClickOutside
113
- }, content));
128
+ onClickOutside,
129
+ withoutPortal: true
130
+ }, /* @__PURE__ */ import_react.default.createElement(import_PopupMenuContent.PopupMenuContent, {
131
+ options,
132
+ onItemClick: handleItemClick,
133
+ onClose: handleOnClose,
134
+ setIsOpen,
135
+ popupOnKeyPress
136
+ })));
114
137
  };
115
138
  //# sourceMappingURL=PopupMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useCallback } from 'react';\nimport { useGetGlobalAttributes } from '@elliemae/ds-utilities';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { PopupMenuContent } from './menuContent/PopupMenuContent';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const PopupMenu = ({\n Icon,\n title,\n onClick,\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.PopupProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [buttonRef, setButtonRef] = useState<HTMLButtonElement | null>(null);\n\n const {\n onClickOutside = () => null,\n onKeyPress,\n popupOnKeyPress,\n isOpen: userIsOpen,\n options,\n closeOnClick,\n } = componentProps;\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.code === 'ArrowDown') {\n setIsOpen(true);\n }\n if (onKeyPress) onKeyPress(e);\n },\n [onKeyPress],\n );\n\n const handleOnClose = useCallback(() => {\n if (userIsOpen === undefined) {\n setIsOpen(false);\n }\n buttonRef?.focus();\n }, [buttonRef, userIsOpen]);\n\n const handleTriggerOnClick = useCallback(\n (e: React.MouseEvent) => {\n if (userIsOpen === undefined) setIsOpen(true);\n if (onClick) onClick(e);\n },\n [onClick, userIsOpen],\n );\n\n const handleItemClick = useCallback(() => {\n if (closeOnClick && userIsOpen === undefined) handleOnClose();\n }, [closeOnClick, handleOnClose, userIsOpen]);\n\n const handleRefs = useCallback((ref) => {\n setRef(ref);\n setButtonRef(ref);\n }, []);\n\n return (\n <>\n <StyledButton\n onClick={handleTriggerOnClick}\n onKeyDown={handleOnKeyDown}\n aria-label={title}\n ref={handleRefs}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n role=\"menuitem\"\n aria-haspopup\n aria-expanded={userIsOpen ?? isOpen}\n id={id}\n {...useGetGlobalAttributes(otherProps)}\n >\n {Icon && <Icon size=\"m\" />}\n </StyledButton>\n <DSPopperJS\n referenceElement={buttonRef}\n showPopover={userIsOpen ?? isOpen}\n closeContextMenu={handleOnClose}\n onClickOutside={onClickOutside}\n withoutPortal\n >\n <PopupMenuContent\n options={options}\n onItemClick={handleItemClick}\n onClose={handleOnClose}\n setIsOpen={setIsOpen}\n popupOnKeyPress={popupOnKeyPress}\n />\n </DSPopperJS>\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,0BAAuC;AACvC,yBAA2B;AAC3B,8BAAiC;AACjC,oBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,YAAY,CAAC,OAQ8B;AAR9B,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MANwB,IAOrB,uBAPqB,IAOrB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,CAAC,WAAW,gBAAgB,2BAAmC,IAAI;AAEzE,QAAM;AAAA,IACJ,iBAAiB,MAAM;AAAA,IACvB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,kBAAkB,8BACtB,CAAC,MAA2B;AAC1B,QAAI,EAAE,SAAS,aAAa;AAC1B,gBAAU,IAAI;AAAA,IAChB;AACA,QAAI;AAAY,iBAAW,CAAC;AAAA,EAC9B,GACA,CAAC,UAAU,CACb;AAEA,QAAM,gBAAgB,8BAAY,MAAM;AACtC,QAAI,eAAe,QAAW;AAC5B,gBAAU,KAAK;AAAA,IACjB;AACA,eAAW,MAAM;AAAA,EACnB,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,QAAM,uBAAuB,8BAC3B,CAAC,MAAwB;AACvB,QAAI,eAAe;AAAW,gBAAU,IAAI;AAC5C,QAAI;AAAS,cAAQ,CAAC;AAAA,EACxB,GACA,CAAC,SAAS,UAAU,CACtB;AAEA,QAAM,kBAAkB,8BAAY,MAAM;AACxC,QAAI,gBAAgB,eAAe;AAAW,oBAAc;AAAA,EAC9D,GAAG,CAAC,cAAc,eAAe,UAAU,CAAC;AAE5C,QAAM,aAAa,8BAAY,CAAC,QAAQ;AACtC,WAAO,GAAG;AACV,iBAAa,GAAG;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,SACE,wFACE,mDAAC;AAAA,IACC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAY;AAAA,IACZ,KAAK;AAAA,IACL,eAAa,iDAAyB,QAAQ;AAAA,IAC9C,MAAK;AAAA,IACL,iBAAa;AAAA,IACb,iBAAe,cAAc;AAAA,IAC7B;AAAA,KACI,gDAAuB,UAAU,IAEpC,QAAQ,mDAAC;AAAA,IAAK,MAAK;AAAA,GAAI,CAC1B,GACA,mDAAC;AAAA,IACC,kBAAkB;AAAA,IAClB,aAAa,cAAc;AAAA,IAC3B,kBAAkB;AAAA,IAClB;AAAA,IACA,eAAa;AAAA,KAEb,mDAAC;AAAA,IACC;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,IACT;AAAA,IACA;AAAA,GACF,CACF,CACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,123 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ var __export = (target, all) => {
34
+ for (var name in all)
35
+ __defProp(target, name, { get: all[name], enumerable: true });
36
+ };
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
42
+ }
43
+ return to;
44
+ };
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
47
+ var PopupMenuContent_exports = {};
48
+ __export(PopupMenuContent_exports, {
49
+ PopupMenuContent: () => PopupMenuContent
50
+ });
51
+ module.exports = __toCommonJS(PopupMenuContent_exports);
52
+ var React = __toESM(require("react"));
53
+ var import_react = __toESM(require("react"));
54
+ var import_ds_utilities = require("@elliemae/ds-utilities");
55
+ var import_styles = require("./styles");
56
+ var import_DSGlobalHeaderContext = require("../../../../../DSGlobalHeaderContext");
57
+ var import_exported_related = require("../../../../../exported-related");
58
+ var import_usePopupMenuContent = require("./usePopupMenuContent");
59
+ const PopupMenuContent = import_react.default.memo(({
60
+ options,
61
+ onItemClick,
62
+ onClose,
63
+ popupOnKeyPress,
64
+ setIsOpen
65
+ }) => {
66
+ const { instanceUID } = (0, import_react.useContext)(import_DSGlobalHeaderContext.DSGlobalHeaderContext);
67
+ const { menuRef, setRef, keyboardNavigation } = (0, import_usePopupMenuContent.usePopupMenuContent)({ setIsOpen });
68
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledList, {
69
+ ref: menuRef,
70
+ role: "menu",
71
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.LIST
72
+ }, options.map((option) => {
73
+ const _a = option, { type, Icon, label = "", onClick, Content, id } = _a, rest = __objRest(_a, ["type", "Icon", "label", "onClick", "Content", "id"]);
74
+ const globalAttrs = (0, import_ds_utilities.getGlobalAttributes)(rest);
75
+ const handleClick = (e) => {
76
+ onItemClick();
77
+ if (onClick)
78
+ onClick(e);
79
+ };
80
+ const handleKeyDown = (e) => {
81
+ keyboardNavigation(e);
82
+ if (e.code === "Escape")
83
+ onClose();
84
+ if (popupOnKeyPress)
85
+ popupOnKeyPress(e);
86
+ };
87
+ switch (type) {
88
+ case "separator":
89
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSeparator, __spreadValues({
90
+ key: `${instanceUID}-separator-${label}`,
91
+ role: "none",
92
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.SEPARATOR
93
+ }, globalAttrs));
94
+ case "custom":
95
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
96
+ key: `${instanceUID}-popup-${label}`,
97
+ role: "menuitem",
98
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM
99
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemButton, __spreadValues({
100
+ ref: setRef,
101
+ onClick: handleClick,
102
+ onKeyDown: handleKeyDown,
103
+ id,
104
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON
105
+ }, globalAttrs), Content && /* @__PURE__ */ import_react.default.createElement(Content, null)));
106
+ default:
107
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
108
+ key: `${instanceUID}-popup-${label}`,
109
+ role: "menuitem",
110
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM
111
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemButton, __spreadValues({
112
+ ref: setRef,
113
+ onClick: handleClick,
114
+ onKeyDown: handleKeyDown,
115
+ id,
116
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON
117
+ }, globalAttrs), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, null), label && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledLabel, {
118
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL
119
+ }, label)));
120
+ }
121
+ }));
122
+ });
123
+ //# sourceMappingURL=PopupMenuContent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getGlobalAttributes } from '@elliemae/ds-utilities';\nimport { StyledSeparator, StyledItemButton, StyledLabel, StyledList, StyledItemContainer } from './styles';\nimport { DSGlobalHeaderContext } from '../../../../../DSGlobalHeaderContext';\nimport { DSGlobalHeaderDatatestid } from '../../../../../exported-related';\nimport { usePopupMenuContent } from './usePopupMenuContent';\nimport type { DSGlobalHeaderInternalsT } from '../../../../../sharedTypes';\n\nexport const PopupMenuContent = React.memo(\n ({\n options,\n onItemClick,\n onClose,\n popupOnKeyPress,\n setIsOpen,\n }: DSGlobalHeaderInternalsT.PopupMenuContentProps): JSX.Element => {\n const { instanceUID } = useContext(DSGlobalHeaderContext);\n\n const { menuRef, setRef, keyboardNavigation } = usePopupMenuContent({ setIsOpen });\n\n return (\n <StyledList ref={menuRef} role=\"menu\" data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.LIST}>\n {options.map((option) => {\n const { type, Icon, label = '', onClick, Content, id, ...rest } = option;\n\n const globalAttrs = getGlobalAttributes(rest);\n\n const handleClick = (e: React.MouseEvent) => {\n onItemClick();\n if (onClick) onClick(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n keyboardNavigation(e);\n if (e.code === 'Escape') onClose();\n if (popupOnKeyPress) popupOnKeyPress(e);\n };\n\n switch (type) {\n case 'separator':\n return (\n <StyledSeparator\n key={`${instanceUID}-separator-${label}`}\n role=\"none\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.SEPARATOR}\n {...globalAttrs}\n />\n );\n case 'custom':\n return (\n <StyledItemContainer\n key={`${instanceUID}-popup-${label}`}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM}\n >\n <StyledItemButton\n ref={setRef}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n id={id}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON}\n {...globalAttrs}\n >\n {Content && <Content />}\n </StyledItemButton>\n </StyledItemContainer>\n );\n default:\n return (\n <StyledItemContainer\n key={`${instanceUID}-popup-${label}`}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM}\n >\n <StyledItemButton\n ref={setRef}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n id={id}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON}\n {...globalAttrs}\n >\n {Icon && <Icon />}\n {label && (\n <StyledLabel data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL}>\n {label}\n </StyledLabel>\n )}\n </StyledItemButton>\n </StyledItemContainer>\n );\n }\n })}\n </StyledList>\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,0BAAoC;AACpC,oBAAgG;AAChG,mCAAsC;AACtC,8BAAyC;AACzC,iCAAoC;AAG7B,MAAM,mBAAmB,qBAAM,KACpC,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACiE;AACjE,QAAM,EAAE,gBAAgB,6BAAW,kDAAqB;AAExD,QAAM,EAAE,SAAS,QAAQ,uBAAuB,oDAAoB,EAAE,UAAU,CAAC;AAEjF,SACE,mDAAC;AAAA,IAAW,KAAK;AAAA,IAAS,MAAK;AAAA,IAAO,eAAa,iDAAyB,QAAQ,WAAW;AAAA,KAC5F,QAAQ,IAAI,CAAC,WAAW;AACvB,UAAkE,aAA1D,QAAM,MAAM,QAAQ,IAAI,SAAS,SAAS,OAAgB,IAAT,iBAAS,IAAT,CAAjD,QAAM,QAAM,SAAY,WAAS,WAAS;AAElD,UAAM,cAAc,6CAAoB,IAAI;AAE5C,UAAM,cAAc,CAAC,MAAwB;AAC3C,kBAAY;AACZ,UAAI;AAAS,gBAAQ,CAAC;AAAA,IACxB;AAEA,UAAM,gBAAgB,CAAC,MAA2B;AAChD,yBAAmB,CAAC;AACpB,UAAI,EAAE,SAAS;AAAU,gBAAQ;AACjC,UAAI;AAAiB,wBAAgB,CAAC;AAAA,IACxC;AAEA,YAAQ;AAAA,WACD;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,yBAAyB;AAAA,UACjC,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,YACN;AAAA,WAEC;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,qBAAqB;AAAA,UAC7B,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WAEzD,mDAAC;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX;AAAA,UACA,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,cAEH,WAAW,mDAAC,aAAQ,CACvB,CACF;AAAA;AAGF,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,qBAAqB;AAAA,UAC7B,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WAEzD,mDAAC;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX;AAAA,UACA,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,cAEH,QAAQ,mDAAC,UAAK,GACd,SACC,mDAAC;AAAA,UAAY,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACnE,KACH,CAEJ,CACF;AAAA;AAAA,EAGR,CAAC,CACH;AAEJ,CACF;",
6
+ "names": []
7
+ }
@@ -20,19 +20,25 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
  var styles_exports = {};
22
22
  __export(styles_exports, {
23
- ItemWrapper: () => ItemWrapper,
24
- Label: () => Label,
25
- List: () => List,
26
- Separator: () => Separator
23
+ StyledItemButton: () => StyledItemButton,
24
+ StyledItemContainer: () => StyledItemContainer,
25
+ StyledLabel: () => StyledLabel,
26
+ StyledList: () => StyledList,
27
+ StyledSeparator: () => StyledSeparator
27
28
  });
28
29
  module.exports = __toCommonJS(styles_exports);
29
30
  var React = __toESM(require("react"));
30
- var import_styled_components = __toESM(require("styled-components"));
31
- const List = import_styled_components.default.div`
31
+ var import_ds_system = require("@elliemae/ds-system");
32
+ var import_theming = require("../../../../../exported-related/theming");
33
+ const StyledList = (0, import_ds_system.styled)("ul", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.LIST })`
32
34
  padding: 5px 0px;
35
+ margin: 0;
33
36
  background: white;
34
37
  `;
35
- const ItemWrapper = import_styled_components.default.button`
38
+ const StyledItemContainer = (0, import_ds_system.styled)("li", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.ITEM })`
39
+ list-style: none;
40
+ `;
41
+ const StyledItemButton = (0, import_ds_system.styled)("button", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.ITEM_BUTTON })`
36
42
  display: flex;
37
43
  align-items: center;
38
44
  justify-content: center;
@@ -47,12 +53,12 @@ const ItemWrapper = import_styled_components.default.button`
47
53
  border: ${({ theme }) => `1px solid ${theme.colors.brand[600]}`};
48
54
  }
49
55
  `;
50
- const Label = import_styled_components.default.p`
56
+ const StyledLabel = (0, import_ds_system.styled)("span", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL })`
51
57
  width: 100%;
52
58
  font-size: 14px;
53
59
  margin: 10px;
54
60
  `;
55
- const Separator = import_styled_components.default.div`
61
+ const StyledSeparator = (0, import_ds_system.styled)("div", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.SEPARATOR })`
56
62
  width: 100%;
57
63
  border: none;
58
64
  border-bottom: 1px solid #ccc;
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport { COMPONENT_NAME, slots } from '../../../../../exported-related/theming';\n\nexport const StyledList = styled('ul', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.LIST })`\n padding: 5px 0px;\n margin: 0;\n background: white;\n`;\n\nexport const StyledItemContainer = styled('li', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.ITEM })`\n list-style: none;\n`;\n\nexport const StyledItemButton = styled('button', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.ITEM_BUTTON })`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: 0 20px;\n cursor: pointer;\n border: 1px solid transparent;\n background-color: transparent;\n outline: none;\n :hover,\n :focus {\n border: ${({ theme }) => `1px solid ${theme.colors.brand[600]}`};\n }\n`;\n\nexport const StyledLabel = styled('span', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL })`\n width: 100%;\n font-size: 14px;\n margin: 10px;\n`;\n\nexport const StyledSeparator = styled('div', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.SEPARATOR })`\n width: 100%;\n border: none;\n border-bottom: 1px solid #ccc;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AACvB,qBAAsC;AAE/B,MAAM,aAAa,6BAAO,MAAM,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAM7F,MAAM,sBAAsB,6BAAO,MAAM,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,KAAK,CAAC;AAAA;AAAA;AAItG,MAAM,mBAAmB,6BAAO,UAAU,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAYvG,CAAC,EAAE,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA;AAAA;AAItD,MAAM,cAAc,6BAAO,QAAQ,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA;AAM7G,MAAM,kBAAkB,6BAAO,OAAO,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,74 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var usePopupMenuContent_exports = {};
22
+ __export(usePopupMenuContent_exports, {
23
+ usePopupMenuContent: () => usePopupMenuContent
24
+ });
25
+ module.exports = __toCommonJS(usePopupMenuContent_exports);
26
+ var React = __toESM(require("react"));
27
+ var import_react = require("react");
28
+ const usePopupMenuContent = ({ setIsOpen }) => {
29
+ const menuRef = (0, import_react.useRef)(null);
30
+ const allMenuItemsRef = (0, import_react.useRef)([]);
31
+ const setRef = (0, import_react.useCallback)((ref) => {
32
+ if (ref && !allMenuItemsRef.current.includes(ref)) {
33
+ allMenuItemsRef.current.push(ref);
34
+ }
35
+ allMenuItemsRef.current.forEach((item, index) => {
36
+ if (index === 0) {
37
+ item?.setAttribute?.("tabindex", "0");
38
+ } else {
39
+ item?.setAttribute?.("tabindex", "-1");
40
+ }
41
+ });
42
+ }, []);
43
+ (0, import_react.useEffect)(() => {
44
+ allMenuItemsRef.current?.[0]?.focus();
45
+ }, []);
46
+ const keyboardNavigation = (0, import_react.useCallback)((e) => {
47
+ if (e.code === "Tab") {
48
+ setIsOpen(false);
49
+ } else {
50
+ const currentIndex = allMenuItemsRef.current.indexOf(e.target);
51
+ const allRefsLength = allMenuItemsRef.current.length;
52
+ if (e.key === "ArrowDown") {
53
+ if (currentIndex < allRefsLength - 1) {
54
+ allMenuItemsRef.current[currentIndex + 1]?.focus?.();
55
+ } else {
56
+ allMenuItemsRef.current[0]?.focus?.();
57
+ }
58
+ }
59
+ if (e.key === "ArrowUp") {
60
+ if (currentIndex === 0) {
61
+ allMenuItemsRef.current[allRefsLength - 1]?.focus?.();
62
+ } else {
63
+ allMenuItemsRef.current[currentIndex - 1]?.focus?.();
64
+ }
65
+ }
66
+ }
67
+ }, [setIsOpen]);
68
+ return {
69
+ menuRef,
70
+ setRef,
71
+ keyboardNavigation
72
+ };
73
+ };
74
+ //# sourceMappingURL=usePopupMenuContent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useRef, useCallback, useEffect } from 'react';\n\ninterface UsePopupMenuContentT {\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const usePopupMenuContent = ({ setIsOpen }: UsePopupMenuContentT) => {\n const menuRef = useRef<HTMLDivElement>(null);\n const allMenuItemsRef = useRef<HTMLButtonElement[]>([]);\n\n const setRef = useCallback((ref: HTMLButtonElement) => {\n if (ref && !allMenuItemsRef.current.includes(ref)) {\n allMenuItemsRef.current.push(ref);\n }\n\n allMenuItemsRef.current.forEach((item, index) => {\n if (index === 0) {\n item?.setAttribute?.('tabindex', '0');\n } else {\n item?.setAttribute?.('tabindex', '-1');\n }\n });\n }, []);\n\n useEffect(() => {\n (allMenuItemsRef.current?.[0] as HTMLButtonElement)?.focus();\n }, []);\n\n const keyboardNavigation = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.code === 'Tab') {\n setIsOpen(false);\n } else {\n const currentIndex = allMenuItemsRef.current.indexOf(e.target as HTMLButtonElement);\n const allRefsLength = allMenuItemsRef.current.length;\n if (e.key === 'ArrowDown') {\n if (currentIndex < allRefsLength - 1) {\n allMenuItemsRef.current[currentIndex + 1]?.focus?.();\n } else {\n allMenuItemsRef.current[0]?.focus?.();\n }\n }\n if (e.key === 'ArrowUp') {\n if (currentIndex === 0) {\n allMenuItemsRef.current[allRefsLength - 1]?.focus?.();\n } else {\n allMenuItemsRef.current[currentIndex - 1]?.focus?.();\n }\n }\n }\n },\n [setIsOpen],\n );\n\n return {\n menuRef,\n setRef,\n keyboardNavigation,\n };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+C;AAMxC,MAAM,sBAAsB,CAAC,EAAE,gBAAsC;AAC1E,QAAM,UAAU,yBAAuB,IAAI;AAC3C,QAAM,kBAAkB,yBAA4B,CAAC,CAAC;AAEtD,QAAM,SAAS,8BAAY,CAAC,QAA2B;AACrD,QAAI,OAAO,CAAC,gBAAgB,QAAQ,SAAS,GAAG,GAAG;AACjD,sBAAgB,QAAQ,KAAK,GAAG;AAAA,IAClC;AAEA,oBAAgB,QAAQ,QAAQ,CAAC,MAAM,UAAU;AAC/C,UAAI,UAAU,GAAG;AACf,cAAM,eAAe,YAAY,GAAG;AAAA,MACtC,OAAO;AACL,cAAM,eAAe,YAAY,IAAI;AAAA,MACvC;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,8BAAU,MAAM;AACd,IAAC,gBAAgB,UAAU,IAA0B,MAAM;AAAA,EAC7D,GAAG,CAAC,CAAC;AAEL,QAAM,qBAAqB,8BACzB,CAAC,MAA2B;AAC1B,QAAI,EAAE,SAAS,OAAO;AACpB,gBAAU,KAAK;AAAA,IACjB,OAAO;AACL,YAAM,eAAe,gBAAgB,QAAQ,QAAQ,EAAE,MAA2B;AAClF,YAAM,gBAAgB,gBAAgB,QAAQ;AAC9C,UAAI,EAAE,QAAQ,aAAa;AACzB,YAAI,eAAe,gBAAgB,GAAG;AACpC,0BAAgB,QAAQ,eAAe,IAAI,QAAQ;AAAA,QACrD,OAAO;AACL,0BAAgB,QAAQ,IAAI,QAAQ;AAAA,QACtC;AAAA,MACF;AACA,UAAI,EAAE,QAAQ,WAAW;AACvB,YAAI,iBAAiB,GAAG;AACtB,0BAAgB,QAAQ,gBAAgB,IAAI,QAAQ;AAAA,QACtD,OAAO;AACL,0BAAgB,QAAQ,eAAe,IAAI,QAAQ;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AAAA,EACF,GACA,CAAC,SAAS,CACZ;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -52,16 +52,24 @@ module.exports = __toCommonJS(SearchToggle_exports);
52
52
  var React = __toESM(require("react"));
53
53
  var import_react = __toESM(require("react"));
54
54
  var import_ds_icons = require("@elliemae/ds-icons");
55
- var import_ds_utilities = require("@elliemae/ds-utilities");
56
- var import_ds_icon = require("@elliemae/ds-icon");
57
55
  var import_ds_form = require("@elliemae/ds-form");
56
+ var import_ds_utilities = require("@elliemae/ds-utilities");
58
57
  var import_styles = require("./styles");
59
- var import_styles2 = require("../../components/Toolbar/styles");
58
+ var import_styles2 = require("../../../styles");
59
+ var import_exported_related = require("../../../../exported-related");
60
60
  const SearchToggle = (_a) => {
61
- var _b = _a, { id, componentProps } = _b, otherProps = __objRest(_b, ["id", "componentProps"]);
61
+ var _b = _a, {
62
+ id,
63
+ setRef,
64
+ componentProps
65
+ } = _b, otherProps = __objRest(_b, [
66
+ "id",
67
+ "setRef",
68
+ "componentProps"
69
+ ]);
62
70
  const [isOpen, setIsOpen] = (0, import_react.useState)(false);
63
- const inputRef = (0, import_react.useRef)(null);
64
- const triggerRef = (0, import_react.useRef)(null);
71
+ const internalInputRef = (0, import_react.useRef)(null);
72
+ const internalTriggerRef = (0, import_react.useRef)(null);
65
73
  const containerRef = (0, import_react.useRef)(null);
66
74
  const {
67
75
  onNext,
@@ -75,8 +83,12 @@ const SearchToggle = (_a) => {
75
83
  onClear,
76
84
  isOpen: userIsOpen,
77
85
  onKeyDown,
78
- onClick
86
+ onClick,
87
+ triggerRef,
88
+ searchContainerRef
79
89
  } = componentProps;
90
+ const schedule = (0, import_ds_utilities.useCallbackAfterRender)();
91
+ const focusTrigger = (0, import_react.useCallback)(() => internalTriggerRef.current?.focus(), []);
80
92
  const handleOnClick = (0, import_react.useCallback)((e) => {
81
93
  if (userIsOpen === void 0)
82
94
  setIsOpen(true);
@@ -85,25 +97,33 @@ const SearchToggle = (_a) => {
85
97
  }, [onClick, userIsOpen]);
86
98
  const handleOnKeyDown = (0, import_react.useCallback)((e) => {
87
99
  if (userIsOpen === void 0) {
88
- if (e.code === "Escape") {
100
+ if (e.key === "Escape") {
89
101
  setIsOpen(false);
90
- setTimeout(() => triggerRef.current?.focus());
102
+ schedule(focusTrigger);
91
103
  }
92
104
  }
93
105
  if (onKeyDown)
94
106
  onKeyDown(e);
95
- }, [onKeyDown, userIsOpen]);
107
+ }, [focusTrigger, onKeyDown, schedule, userIsOpen]);
96
108
  const handleOnBlur = (0, import_react.useCallback)(() => {
97
- setTimeout(() => {
98
- const contains = containerRef.current?.contains(document.activeElement);
99
- if (value === "" && !contains)
100
- setIsOpen(false);
101
- });
102
- }, [value]);
109
+ const contains = containerRef.current?.contains(document.activeElement);
110
+ if (value === "" && !contains)
111
+ setIsOpen(false);
112
+ schedule(focusTrigger);
113
+ }, [focusTrigger, schedule, value]);
114
+ const handleNavInputRefs = (0, import_react.useCallback)((searchNavRef) => {
115
+ setRef(searchNavRef);
116
+ internalInputRef.current = searchNavRef;
117
+ }, [setRef]);
118
+ const handleTriggerRefs = (0, import_react.useCallback)((buttonRef) => {
119
+ (0, import_ds_utilities.mergeRefs)(triggerRef, internalTriggerRef)(buttonRef);
120
+ setRef(buttonRef);
121
+ }, [setRef, triggerRef]);
103
122
  return userIsOpen || isOpen ? /* @__PURE__ */ import_react.default.createElement(import_styles.StyledNavSearchBoxContainer, {
104
123
  onKeyDown: handleOnKeyDown,
105
- ref: containerRef,
106
- onBlur: handleOnBlur
124
+ ref: (0, import_ds_utilities.mergeRefs)(searchContainerRef, containerRef),
125
+ onBlur: handleOnBlur,
126
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.CONTAINER
107
127
  }, /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSNavSearchBox, {
108
128
  onNext,
109
129
  onPrevious,
@@ -114,14 +134,14 @@ const SearchToggle = (_a) => {
114
134
  onChange,
115
135
  value,
116
136
  onBlur,
117
- innerRef: inputRef,
137
+ innerRef: handleNavInputRefs,
118
138
  autoFocus: true
119
- })) : /* @__PURE__ */ import_react.default.createElement(import_styles2.Button, __spreadValues({
139
+ })) : /* @__PURE__ */ import_react.default.createElement(import_styles2.StyledButton, __spreadValues({
120
140
  onClick: handleOnClick,
121
- ref: triggerRef,
122
- id
123
- }, (0, import_ds_utilities.getDataProps)(otherProps)), /* @__PURE__ */ import_react.default.createElement(import_ds_icons.Search, {
124
- color: import_ds_icon.DSIconColors.WHITE
125
- }));
141
+ ref: handleTriggerRefs,
142
+ id,
143
+ role: "menuitem",
144
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.ITEM_BUTTON
145
+ }, (0, import_ds_utilities.getGlobalAttributes)(otherProps)), /* @__PURE__ */ import_react.default.createElement(import_ds_icons.Search, null));
126
146
  };
127
147
  //# sourceMappingURL=SearchToggle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useCallback, useRef } from 'react';\nimport { Search } from '@elliemae/ds-icons';\nimport { DSNavSearchBox } from '@elliemae/ds-form';\nimport { getGlobalAttributes, mergeRefs, useCallbackAfterRender } from '@elliemae/ds-utilities';\nimport { StyledNavSearchBoxContainer } from './styles';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const SearchToggle = ({\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.SearchToggleProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const internalInputRef = useRef<HTMLInputElement | null>(null);\n const internalTriggerRef = useRef<HTMLButtonElement | null>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const {\n onNext,\n onPrevious,\n currentResultIndex,\n totalResults,\n placeholder,\n value,\n onChange,\n onBlur,\n onClear,\n isOpen: userIsOpen,\n onKeyDown,\n onClick,\n triggerRef,\n searchContainerRef,\n } = componentProps;\n\n const schedule = useCallbackAfterRender();\n\n const focusTrigger = useCallback(() => internalTriggerRef.current?.focus(), []);\n\n const handleOnClick = useCallback(\n (e: React.MouseEvent) => {\n if (userIsOpen === undefined) setIsOpen(true);\n if (onClick) onClick(e);\n },\n [onClick, userIsOpen],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (userIsOpen === undefined) {\n if (e.key === 'Escape') {\n setIsOpen(false);\n schedule(focusTrigger);\n }\n }\n if (onKeyDown) onKeyDown(e);\n },\n [focusTrigger, onKeyDown, schedule, userIsOpen],\n );\n\n const handleOnBlur = useCallback(() => {\n const contains = containerRef.current?.contains(document.activeElement);\n if (value === '' && !contains) setIsOpen(false);\n schedule(focusTrigger);\n }, [focusTrigger, schedule, value]);\n\n const handleNavInputRefs = useCallback(\n (searchNavRef: HTMLInputElement) => {\n setRef(searchNavRef);\n internalInputRef.current = searchNavRef;\n },\n [setRef],\n );\n\n const handleTriggerRefs = useCallback(\n (buttonRef: HTMLButtonElement) => {\n mergeRefs(triggerRef, internalTriggerRef)(buttonRef);\n setRef(buttonRef);\n },\n [setRef, triggerRef],\n );\n\n return userIsOpen || isOpen ? (\n <StyledNavSearchBoxContainer\n onKeyDown={handleOnKeyDown}\n ref={mergeRefs(searchContainerRef, containerRef)}\n onBlur={handleOnBlur}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.CONTAINER}\n >\n <DSNavSearchBox\n onNext={onNext}\n onPrevious={onPrevious}\n currentResultIndex={currentResultIndex}\n totalResults={totalResults}\n onClear={onClear}\n placeholder={placeholder}\n onChange={onChange}\n value={value}\n onBlur={onBlur}\n innerRef={handleNavInputRefs}\n autoFocus\n />\n </StyledNavSearchBoxContainer>\n ) : (\n <StyledButton\n onClick={handleOnClick}\n ref={handleTriggerRefs}\n id={id}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.ITEM_BUTTON}\n {...getGlobalAttributes(otherProps)}\n >\n <Search />\n </StyledButton>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqD;AACrD,sBAAuB;AACvB,qBAA+B;AAC/B,0BAAuE;AACvE,oBAA4C;AAC5C,qBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,eAAe,CAAC,OAKkC;AALlC,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,MAH2B,IAIxB,uBAJwB,IAIxB;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,mBAAmB,yBAAgC,IAAI;AAC7D,QAAM,qBAAqB,yBAAiC,IAAI;AAChE,QAAM,eAAe,yBAA8B,IAAI;AAEvD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,WAAW,gDAAuB;AAExC,QAAM,eAAe,8BAAY,MAAM,mBAAmB,SAAS,MAAM,GAAG,CAAC,CAAC;AAE9E,QAAM,gBAAgB,8BACpB,CAAC,MAAwB;AACvB,QAAI,eAAe;AAAW,gBAAU,IAAI;AAC5C,QAAI;AAAS,cAAQ,CAAC;AAAA,EACxB,GACA,CAAC,SAAS,UAAU,CACtB;AAEA,QAAM,kBAAkB,8BACtB,CAAC,MAA2B;AAC1B,QAAI,eAAe,QAAW;AAC5B,UAAI,EAAE,QAAQ,UAAU;AACtB,kBAAU,KAAK;AACf,iBAAS,YAAY;AAAA,MACvB;AAAA,IACF;AACA,QAAI;AAAW,gBAAU,CAAC;AAAA,EAC5B,GACA,CAAC,cAAc,WAAW,UAAU,UAAU,CAChD;AAEA,QAAM,eAAe,8BAAY,MAAM;AACrC,UAAM,WAAW,aAAa,SAAS,SAAS,SAAS,aAAa;AACtE,QAAI,UAAU,MAAM,CAAC;AAAU,gBAAU,KAAK;AAC9C,aAAS,YAAY;AAAA,EACvB,GAAG,CAAC,cAAc,UAAU,KAAK,CAAC;AAElC,QAAM,qBAAqB,8BACzB,CAAC,iBAAmC;AAClC,WAAO,YAAY;AACnB,qBAAiB,UAAU;AAAA,EAC7B,GACA,CAAC,MAAM,CACT;AAEA,QAAM,oBAAoB,8BACxB,CAAC,cAAiC;AAChC,uCAAU,YAAY,kBAAkB,EAAE,SAAS;AACnD,WAAO,SAAS;AAAA,EAClB,GACA,CAAC,QAAQ,UAAU,CACrB;AAEA,SAAO,cAAc,SACnB,mDAAC;AAAA,IACC,WAAW;AAAA,IACX,KAAK,mCAAU,oBAAoB,YAAY;AAAA,IAC/C,QAAQ;AAAA,IACR,eAAa,iDAAyB,QAAQ,cAAc;AAAA,KAE5D,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,WAAS;AAAA,GACX,CACF,IAEA,mDAAC;AAAA,IACC,SAAS;AAAA,IACT,KAAK;AAAA,IACL;AAAA,IACA,MAAK;AAAA,IACL,eAAa,iDAAyB,QAAQ,cAAc;AAAA,KACxD,6CAAoB,UAAU,IAElC,mDAAC,4BAAO,CACV;AAEJ;",
6
+ "names": []
7
+ }
@@ -24,11 +24,14 @@ __export(styles_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(styles_exports);
26
26
  var React = __toESM(require("react"));
27
- var import_styled_components = __toESM(require("styled-components"));
28
- const StyledNavSearchBoxContainer = import_styled_components.default.div`
29
- background: white;
27
+ var import_ds_system = require("@elliemae/ds-system");
28
+ var import_theming = require("../../../../exported-related/theming");
29
+ const StyledNavSearchBoxContainer = (0, import_ds_system.styled)("div", {
30
+ name: import_theming.COMPONENT_NAME,
31
+ slot: import_theming.slots.MENUBAR.SEARCH_TOGGLE.CONTAINER
32
+ })`
33
+ background: ${({ theme }) => theme.colors.neutral["000"]};
30
34
  position: relative;
31
-
32
35
  min-width: 260px;
33
36
 
34
37
  & .em-ds-button {
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/SearchToggle/styles.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport { COMPONENT_NAME, slots } from '../../../../exported-related/theming';\n\nexport const StyledNavSearchBoxContainer = styled('div', {\n name: COMPONENT_NAME,\n slot: slots.MENUBAR.SEARCH_TOGGLE.CONTAINER,\n})`\n background: ${({ theme }) => theme.colors.neutral['000']};\n position: relative;\n min-width: 260px;\n\n & .em-ds-button {\n margin-right: 2px;\n height: 24px;\n width: 24px;\n }\n\n & .em-ds-input {\n border: none;\n outline: none;\n box-shadow: none;\n }\n\n & .em-ds-input:focus {\n border: none;\n box-shadow: none;\n }\n\n & .em-ds-input.em-ds-input--clearable:hover {\n border: none;\n outline: none;\n box-shadow: none;\n }\n\n & .em-ds-input-addon-wrapper {\n box-shadow: none;\n }\n\n & .em-ds-input-addon-wrapper:hover {\n outline: none;\n }\n\n & .em-ds-input-addon-wrapper__addon:hover {\n outline: none;\n }\n\n & .em-ds-input:not(.floating-label-input-controller):hover:active {\n border: none;\n outline: none;\n box-shadow: none;\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AACvB,qBAAsC;AAE/B,MAAM,8BAA8B,6BAAO,OAAO;AAAA,EACvD,MAAM;AAAA,EACN,MAAM,qBAAM,QAAQ,cAAc;AACpC,CAAC;AAAA,gBACe,CAAC,EAAE,YAAY,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/outOfTheBox/index.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
3
+ "sources": ["../../../../../src/parts/Toolbar/outOfTheBox/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export * from './AppPicker/AppPicker';\nexport * from './PopupMenu/PopupMenu';\nexport * from './SearchToggle/SearchToggle';\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,gCAAc,kCAAd;AACA,gCAAc,kCADd;AAEA,gCAAc,wCAFd;",
6
6
  "names": []