@elliemae/ds-menu-button 3.45.0-rc.0 → 3.45.0-rc.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. package/dist/cjs/DSMenuButton.js +16 -5
  2. package/dist/cjs/DSMenuButton.js.map +2 -2
  3. package/dist/cjs/config/useMenuButton.js +49 -18
  4. package/dist/cjs/config/useMenuButton.js.map +3 -3
  5. package/dist/cjs/config/useSplitInherithedProps.js +141 -0
  6. package/dist/cjs/config/useSplitInherithedProps.js.map +7 -0
  7. package/dist/cjs/config/useValidateProps.js.map +2 -2
  8. package/dist/cjs/constants/index.js +17 -4
  9. package/dist/cjs/constants/index.js.map +2 -2
  10. package/dist/cjs/index.js +7 -3
  11. package/dist/cjs/index.js.map +3 -3
  12. package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js +96 -0
  13. package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +7 -0
  14. package/dist/cjs/parts/DSFlyoutMenu/config/useFlyoutMenu.js +54 -0
  15. package/dist/cjs/parts/DSFlyoutMenu/config/useFlyoutMenu.js.map +7 -0
  16. package/dist/cjs/parts/{ItemFactory.js → DSFlyoutMenu/config/useValidateProps.js} +9 -35
  17. package/dist/cjs/parts/DSFlyoutMenu/config/useValidateProps.js.map +7 -0
  18. package/dist/cjs/parts/DSFlyoutMenu/constants/index.js +46 -0
  19. package/dist/cjs/parts/DSFlyoutMenu/constants/index.js.map +7 -0
  20. package/dist/cjs/{DSMenuButtonCTX.js → parts/DSFlyoutMenu/index.js} +7 -8
  21. package/dist/cjs/parts/DSFlyoutMenu/index.js.map +7 -0
  22. package/dist/cjs/parts/DSFlyoutMenu/react-desc-prop-types.js +62 -0
  23. package/dist/cjs/parts/DSFlyoutMenu/react-desc-prop-types.js.map +7 -0
  24. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js +70 -0
  25. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js.map +7 -0
  26. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js +40 -0
  27. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js.map +7 -0
  28. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js +186 -0
  29. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js.map +7 -0
  30. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js +89 -0
  31. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js.map +7 -0
  32. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js +92 -0
  33. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js.map +7 -0
  34. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +315 -0
  35. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +7 -0
  36. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js +66 -0
  37. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js.map +7 -0
  38. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js +40 -0
  39. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js.map +7 -0
  40. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/Errors.js +58 -0
  41. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/Errors.js.map +7 -0
  42. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/index.js +44 -0
  43. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/index.js.map +7 -0
  44. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/index.js +37 -0
  45. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/index.js.map +7 -0
  46. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js +53 -0
  47. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js.map +7 -0
  48. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js +139 -0
  49. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js.map +7 -0
  50. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js +144 -0
  51. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js.map +7 -0
  52. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js +44 -0
  53. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js.map +7 -0
  54. package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableMenuItem.js +116 -0
  55. package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableMenuItem.js.map +7 -0
  56. package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js +159 -0
  57. package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js.map +7 -0
  58. package/dist/cjs/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js +97 -0
  59. package/dist/cjs/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js.map +7 -0
  60. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js +122 -0
  61. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js.map +7 -0
  62. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js +173 -0
  63. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js.map +7 -0
  64. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js +130 -0
  65. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js.map +7 -0
  66. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js +176 -0
  67. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js.map +7 -0
  68. package/dist/cjs/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js +162 -0
  69. package/dist/cjs/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js.map +7 -0
  70. package/dist/cjs/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js +57 -0
  71. package/dist/cjs/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js.map +7 -0
  72. package/dist/cjs/parts/DSMenuItemRendererFactory/config/useValidateProps.js +40 -0
  73. package/dist/cjs/parts/DSMenuItemRendererFactory/config/useValidateProps.js.map +7 -0
  74. package/dist/cjs/parts/DSMenuItemRendererFactory/constants/index.js +48 -0
  75. package/dist/cjs/parts/DSMenuItemRendererFactory/constants/index.js.map +7 -0
  76. package/dist/cjs/parts/DSMenuItemRendererFactory/index.js +37 -0
  77. package/dist/cjs/parts/DSMenuItemRendererFactory/index.js.map +7 -0
  78. package/dist/cjs/parts/DSMenuItemRendererFactory/react-desc-prop-types.js +51 -0
  79. package/dist/cjs/parts/DSMenuItemRendererFactory/react-desc-prop-types.js.map +7 -0
  80. package/dist/cjs/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js +62 -0
  81. package/dist/cjs/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js.map +7 -0
  82. package/dist/cjs/parts/DSOpinionatedButton/DSOpinionatedButton.js +100 -0
  83. package/dist/cjs/parts/DSOpinionatedButton/DSOpinionatedButton.js.map +7 -0
  84. package/dist/cjs/parts/DSOpinionatedButton/config/useOpinionatedButton.js +80 -0
  85. package/dist/cjs/parts/DSOpinionatedButton/config/useOpinionatedButton.js.map +7 -0
  86. package/dist/cjs/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js +98 -0
  87. package/dist/cjs/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js.map +7 -0
  88. package/dist/cjs/parts/DSOpinionatedButton/config/useValidateProps.js +40 -0
  89. package/dist/cjs/parts/DSOpinionatedButton/config/useValidateProps.js.map +7 -0
  90. package/dist/cjs/parts/DSOpinionatedButton/constants/index.js +48 -0
  91. package/dist/cjs/parts/DSOpinionatedButton/constants/index.js.map +7 -0
  92. package/dist/cjs/parts/DSOpinionatedButton/index.js +37 -0
  93. package/dist/cjs/parts/DSOpinionatedButton/index.js.map +7 -0
  94. package/dist/cjs/parts/DSOpinionatedButton/react-desc-prop-types.js +53 -0
  95. package/dist/cjs/parts/DSOpinionatedButton/react-desc-prop-types.js.map +7 -0
  96. package/dist/cjs/react-desc-prop-types.js +61 -25
  97. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  98. package/dist/cjs/utils/nodesTypeguardsAndGetters.js +123 -0
  99. package/dist/cjs/utils/nodesTypeguardsAndGetters.js.map +7 -0
  100. package/dist/cjs/utils/useOptionsArrayToDsTree.js +55 -0
  101. package/dist/cjs/utils/useOptionsArrayToDsTree.js.map +7 -0
  102. package/dist/esm/DSMenuButton.js +19 -8
  103. package/dist/esm/DSMenuButton.js.map +2 -2
  104. package/dist/esm/config/useMenuButton.js +51 -20
  105. package/dist/esm/config/useMenuButton.js.map +3 -3
  106. package/dist/esm/config/useSplitInherithedProps.js +111 -0
  107. package/dist/esm/config/useSplitInherithedProps.js.map +7 -0
  108. package/dist/esm/config/useValidateProps.js.map +2 -2
  109. package/dist/esm/constants/index.js +17 -4
  110. package/dist/esm/constants/index.js.map +2 -2
  111. package/dist/esm/index.js +8 -4
  112. package/dist/esm/index.js.map +3 -3
  113. package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js +66 -0
  114. package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +7 -0
  115. package/dist/esm/parts/DSFlyoutMenu/config/useFlyoutMenu.js +24 -0
  116. package/dist/esm/parts/DSFlyoutMenu/config/useFlyoutMenu.js.map +7 -0
  117. package/dist/esm/parts/DSFlyoutMenu/config/useValidateProps.js +10 -0
  118. package/dist/esm/parts/DSFlyoutMenu/config/useValidateProps.js.map +7 -0
  119. package/dist/esm/parts/DSFlyoutMenu/constants/index.js +16 -0
  120. package/dist/esm/parts/DSFlyoutMenu/constants/index.js.map +7 -0
  121. package/dist/esm/parts/DSFlyoutMenu/index.js +7 -0
  122. package/dist/esm/parts/DSFlyoutMenu/index.js.map +7 -0
  123. package/dist/esm/parts/DSFlyoutMenu/react-desc-prop-types.js +40 -0
  124. package/dist/esm/parts/DSFlyoutMenu/react-desc-prop-types.js.map +7 -0
  125. package/dist/esm/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js +42 -0
  126. package/dist/esm/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js.map +7 -0
  127. package/dist/esm/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js +10 -0
  128. package/dist/esm/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js.map +7 -0
  129. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js +161 -0
  130. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js.map +7 -0
  131. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js +59 -0
  132. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js.map +7 -0
  133. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js +65 -0
  134. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js.map +7 -0
  135. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +292 -0
  136. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +7 -0
  137. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js +36 -0
  138. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js.map +7 -0
  139. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js +10 -0
  140. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js.map +7 -0
  141. package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/Errors.js +28 -0
  142. package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/Errors.js.map +7 -0
  143. package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/index.js +14 -0
  144. package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/index.js.map +7 -0
  145. package/dist/esm/parts/DSMenuBehaviouralContextProvider/index.js +10 -0
  146. package/dist/esm/parts/DSMenuBehaviouralContextProvider/index.js.map +7 -0
  147. package/dist/esm/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js +23 -0
  148. package/dist/esm/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js.map +7 -0
  149. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js +113 -0
  150. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js.map +7 -0
  151. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js +123 -0
  152. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js.map +7 -0
  153. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js +14 -0
  154. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js.map +7 -0
  155. package/dist/esm/parts/DSMenuItemRendererFactory/ActivableMenuItem.js +91 -0
  156. package/dist/esm/parts/DSMenuItemRendererFactory/ActivableMenuItem.js.map +7 -0
  157. package/dist/esm/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js +134 -0
  158. package/dist/esm/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js.map +7 -0
  159. package/dist/esm/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js +78 -0
  160. package/dist/esm/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js.map +7 -0
  161. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js +97 -0
  162. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js.map +7 -0
  163. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js +148 -0
  164. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js.map +7 -0
  165. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js +105 -0
  166. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js.map +7 -0
  167. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js +151 -0
  168. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js.map +7 -0
  169. package/dist/esm/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js +137 -0
  170. package/dist/esm/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js.map +7 -0
  171. package/dist/esm/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js +30 -0
  172. package/dist/esm/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js.map +7 -0
  173. package/dist/esm/parts/DSMenuItemRendererFactory/config/useValidateProps.js +10 -0
  174. package/dist/esm/parts/DSMenuItemRendererFactory/config/useValidateProps.js.map +7 -0
  175. package/dist/esm/parts/DSMenuItemRendererFactory/constants/index.js +18 -0
  176. package/dist/esm/parts/DSMenuItemRendererFactory/constants/index.js.map +7 -0
  177. package/dist/esm/parts/DSMenuItemRendererFactory/index.js +7 -0
  178. package/dist/esm/parts/DSMenuItemRendererFactory/index.js.map +7 -0
  179. package/dist/esm/parts/DSMenuItemRendererFactory/react-desc-prop-types.js +26 -0
  180. package/dist/esm/parts/DSMenuItemRendererFactory/react-desc-prop-types.js.map +7 -0
  181. package/dist/esm/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js +32 -0
  182. package/dist/esm/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js.map +7 -0
  183. package/dist/esm/parts/DSOpinionatedButton/DSOpinionatedButton.js +70 -0
  184. package/dist/esm/parts/DSOpinionatedButton/DSOpinionatedButton.js.map +7 -0
  185. package/dist/esm/parts/DSOpinionatedButton/config/useOpinionatedButton.js +53 -0
  186. package/dist/esm/parts/DSOpinionatedButton/config/useOpinionatedButton.js.map +7 -0
  187. package/dist/esm/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js +68 -0
  188. package/dist/esm/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js.map +7 -0
  189. package/dist/esm/parts/DSOpinionatedButton/config/useValidateProps.js +10 -0
  190. package/dist/esm/parts/DSOpinionatedButton/config/useValidateProps.js.map +7 -0
  191. package/dist/esm/parts/DSOpinionatedButton/constants/index.js +18 -0
  192. package/dist/esm/parts/DSOpinionatedButton/constants/index.js.map +7 -0
  193. package/dist/esm/parts/DSOpinionatedButton/index.js +10 -0
  194. package/dist/esm/parts/DSOpinionatedButton/index.js.map +7 -0
  195. package/dist/esm/parts/DSOpinionatedButton/react-desc-prop-types.js +23 -0
  196. package/dist/esm/parts/DSOpinionatedButton/react-desc-prop-types.js.map +7 -0
  197. package/dist/esm/react-desc-prop-types.js +62 -26
  198. package/dist/esm/react-desc-prop-types.js.map +2 -2
  199. package/dist/esm/utils/nodesTypeguardsAndGetters.js +93 -0
  200. package/dist/esm/utils/nodesTypeguardsAndGetters.js.map +7 -0
  201. package/dist/esm/utils/useOptionsArrayToDsTree.js +25 -0
  202. package/dist/esm/utils/useOptionsArrayToDsTree.js.map +7 -0
  203. package/dist/types/DSMenuButton.d.ts +4 -6
  204. package/dist/types/config/useMenuButton.d.ts +9 -13
  205. package/dist/types/config/useSplitInherithedProps.d.ts +495 -0
  206. package/dist/types/config/useValidateProps.d.ts +3 -3
  207. package/dist/types/constants/index.d.ts +14 -2
  208. package/dist/types/index.d.ts +4 -2
  209. package/dist/types/parts/DSFlyoutMenu/DSFlyoutMenu.d.ts +5 -0
  210. package/dist/types/parts/DSFlyoutMenu/config/useFlyoutMenu.d.ts +8 -0
  211. package/dist/types/parts/DSFlyoutMenu/config/useValidateProps.d.ts +3 -0
  212. package/dist/types/parts/DSFlyoutMenu/constants/index.d.ts +7 -0
  213. package/dist/types/parts/DSFlyoutMenu/index.d.ts +1 -0
  214. package/dist/types/parts/DSFlyoutMenu/react-desc-prop-types.d.ts +25 -0
  215. package/dist/types/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.d.ts +5 -0
  216. package/dist/types/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.d.ts +5 -0
  217. package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.d.ts +15 -0
  218. package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.d.ts +15 -0
  219. package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.d.ts +15 -0
  220. package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.d.ts +18 -0
  221. package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.d.ts +17 -0
  222. package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.d.ts +3 -0
  223. package/dist/types/parts/DSMenuBehaviouralContextProvider/constants/Errors.d.ts +15 -0
  224. package/dist/types/parts/DSMenuBehaviouralContextProvider/constants/index.d.ts +7 -0
  225. package/dist/types/parts/DSMenuBehaviouralContextProvider/index.d.ts +1 -0
  226. package/dist/types/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.d.ts +24 -0
  227. package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.d.ts +6 -0
  228. package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.d.ts +35 -0
  229. package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.d.ts +13 -0
  230. package/dist/types/parts/DSMenuItemRendererFactory/ActivableMenuItem.d.ts +5 -0
  231. package/dist/types/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.d.ts +7 -0
  232. package/dist/types/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.d.ts +5 -0
  233. package/dist/types/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.d.ts +5 -0
  234. package/dist/types/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.d.ts +7 -0
  235. package/dist/types/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.d.ts +5 -0
  236. package/dist/types/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.d.ts +7 -0
  237. package/dist/types/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.d.ts +7 -0
  238. package/dist/types/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.d.ts +6 -0
  239. package/dist/types/parts/DSMenuItemRendererFactory/config/useValidateProps.d.ts +3 -0
  240. package/dist/types/parts/DSMenuItemRendererFactory/constants/index.d.ts +6 -0
  241. package/dist/types/parts/DSMenuItemRendererFactory/index.d.ts +1 -0
  242. package/dist/types/parts/DSMenuItemRendererFactory/react-desc-prop-types.d.ts +24 -0
  243. package/dist/types/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.d.ts +12 -0
  244. package/dist/types/parts/DSOpinionatedButton/DSOpinionatedButton.d.ts +5 -0
  245. package/dist/types/parts/DSOpinionatedButton/config/useOpinionatedButton.d.ts +38 -0
  246. package/dist/types/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.d.ts +14 -0
  247. package/dist/types/parts/DSOpinionatedButton/config/useValidateProps.d.ts +3 -0
  248. package/dist/types/parts/DSOpinionatedButton/constants/index.d.ts +6 -0
  249. package/dist/types/parts/DSOpinionatedButton/index.d.ts +1 -0
  250. package/dist/types/parts/DSOpinionatedButton/react-desc-prop-types.d.ts +23 -0
  251. package/dist/types/react-desc-prop-types.d.ts +206 -41
  252. package/dist/types/utils/nodesTypeguardsAndGetters.d.ts +22 -0
  253. package/dist/types/utils/useOptionsArrayToDsTree.d.ts +8 -0
  254. package/package.json +18 -16
  255. package/dist/cjs/DSMenuButtonCTX.js.map +0 -7
  256. package/dist/cjs/parts/ItemFactory.js.map +0 -7
  257. package/dist/cjs/parts/Menu.js +0 -125
  258. package/dist/cjs/parts/Menu.js.map +0 -7
  259. package/dist/cjs/parts/MenuButtonContent.js +0 -156
  260. package/dist/cjs/parts/MenuButtonContent.js.map +0 -7
  261. package/dist/cjs/parts/MenuItem.js +0 -252
  262. package/dist/cjs/parts/MenuItem.js.map +0 -7
  263. package/dist/cjs/styled.js +0 -132
  264. package/dist/cjs/styled.js.map +0 -7
  265. package/dist/esm/DSMenuButtonCTX.js +0 -8
  266. package/dist/esm/DSMenuButtonCTX.js.map +0 -7
  267. package/dist/esm/parts/ItemFactory.js +0 -36
  268. package/dist/esm/parts/ItemFactory.js.map +0 -7
  269. package/dist/esm/parts/Menu.js +0 -95
  270. package/dist/esm/parts/Menu.js.map +0 -7
  271. package/dist/esm/parts/MenuButtonContent.js +0 -126
  272. package/dist/esm/parts/MenuButtonContent.js.map +0 -7
  273. package/dist/esm/parts/MenuItem.js +0 -229
  274. package/dist/esm/parts/MenuItem.js.map +0 -7
  275. package/dist/esm/styled.js +0 -102
  276. package/dist/esm/styled.js.map +0 -7
  277. package/dist/types/DSMenuButtonCTX.d.ts +0 -15
  278. package/dist/types/parts/ItemFactory.d.ts +0 -14
  279. package/dist/types/parts/Menu.d.ts +0 -14
  280. package/dist/types/parts/MenuButtonContent.d.ts +0 -1
  281. package/dist/types/parts/MenuItem.d.ts +0 -21
  282. package/dist/types/styled.d.ts +0 -16
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type DSMenuBehaviouralContextProviderT } from './react-desc-prop-types.js';
3
+ declare const DSMenuBehaviouralContextProvider: React.ComponentType<DSMenuBehaviouralContextProviderT.Props>;
4
+ declare const DSMenuBehaviouralContextProviderWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<DSMenuBehaviouralContextProviderT.Props>;
5
+ export { DSMenuBehaviouralContextProvider, DSMenuBehaviouralContextProviderWithSchema };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { MenuBehaviouralContextProviderCTX } from './config/useMenuBehaviouralContextProvider.js';
3
+ /** Context for cross component communication */
4
+ export declare const MenuBehaviouralContextProviderContext: import("react").Context<MenuBehaviouralContextProviderCTX>;
5
+ export default MenuBehaviouralContextProviderContext;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../../react-desc-prop-types.js';
3
+ export declare const useFocusTracker: () => {
4
+ preventBlurReset: React.MutableRefObject<boolean>;
5
+ focusRegion: "" | "trigger" | `item-dsid-${string}` | `item-dsid-${number}`;
6
+ focusedElementItemNode: React.MutableRefObject<DSMenuButtonT.PseudoFocusableMenuNodes | null>;
7
+ trackFocusTrigger: () => null;
8
+ trackFocusNode: (nodeToFocus: DSMenuButtonT.PseudoFocusableMenuNodes) => void;
9
+ trackFocusRegionReset: () => null;
10
+ trackFocusFirstChildItem: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => DSMenuButtonT.PseudoFocusableMenuNodes;
11
+ trackFocusLastChildItem: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => DSMenuButtonT.PseudoFocusableMenuNodes;
12
+ trackFocusNextItem: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => DSMenuButtonT.PseudoFocusableMenuNodes;
13
+ trackFocusPreviousItem: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => DSMenuButtonT.PseudoFocusableMenuNodes;
14
+ trackFocusParentItem: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => DSMenuButtonT.PseudoFocusableMenuNodes | null;
15
+ };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../../react-desc-prop-types.js';
3
+ import type { useMenuOpenStatus } from './useMenuOpenStatus.js';
4
+ import type { DSMenuBehaviouralContextProviderT } from '../react-desc-prop-types.js';
5
+ type UseGlobalEventsConfig = {
6
+ menuOpenStatus: ReturnType<typeof useMenuOpenStatus>;
7
+ handleChangeOpenedSubItems: Required<DSMenuButtonT.MenuBehaviouralLayerOptionalProps>['onDisplayedSubmenuChange'];
8
+ propsWithDefault: DSMenuBehaviouralContextProviderT.InternalProps;
9
+ };
10
+ export declare const useGlobalEvents: ({ menuOpenStatus, handleChangeOpenedSubItems, propsWithDefault, }: UseGlobalEventsConfig) => {
11
+ mainMenuRef: React.MutableRefObject<HTMLDivElement | null>;
12
+ submenusRefs: React.MutableRefObject<Record<string | number, HTMLElement>>;
13
+ handleSubmenusRefChange: (htmlNode: HTMLElement | null, dsId: DSMenuButtonT.WithSubmenuMenuNodes['dsId']) => void;
14
+ };
15
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { DSMenuButtonT } from '../../../react-desc-prop-types.js';
2
+ import { type DSMenuBehaviouralContextProviderT } from '../react-desc-prop-types.js';
3
+ import { useFocusTracker } from './useFocusTracker.js';
4
+ import { useMenuItemEventsHandlers } from './useMenuItemEventsHandlers.js';
5
+ import { useMenuOpenStatus } from './useMenuOpenStatus.js';
6
+ import { useGlobalEvents } from './useGlobalEvents.js';
7
+ export interface MenuBehaviouralContextProviderCTX extends ReturnType<typeof useFocusTracker>, ReturnType<typeof useMenuOpenStatus> {
8
+ propsWithDefault: DSMenuBehaviouralContextProviderT.InternalProps;
9
+ instanceUid: string;
10
+ menuItemEventsHandlers: ReturnType<typeof useMenuItemEventsHandlers>;
11
+ openedSubItems: DSMenuButtonT.WithSubmenuMenuNodes[];
12
+ handleChangeOpenedSubItems: Required<DSMenuButtonT.MenuBehaviouralLayerOptionalProps>['onDisplayedSubmenuChange'];
13
+ globalEventsHelpers: ReturnType<typeof useGlobalEvents>;
14
+ }
15
+ export declare const useMenuBehaviouralContextProvider: (propsFromUser: DSMenuBehaviouralContextProviderT.Props) => MenuBehaviouralContextProviderCTX;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { type DSMenuButtonT } from '../../../react-desc-prop-types.js';
3
+ import { type DSMenuBehaviouralContextProviderT } from '../react-desc-prop-types.js';
4
+ import type { useFocusTracker } from './useFocusTracker.js';
5
+ import type { useMenuOpenStatus } from './useMenuOpenStatus.js';
6
+ type UseMenuItemEventsHandlersConfig = {
7
+ propsWithDefault: DSMenuBehaviouralContextProviderT.InternalProps;
8
+ focusTrackers: ReturnType<typeof useFocusTracker>;
9
+ menuOpenStatus: ReturnType<typeof useMenuOpenStatus>;
10
+ handleChangeOpenedSubItems: Required<DSMenuButtonT.MenuBehaviouralLayerOptionalProps>['onDisplayedSubmenuChange'];
11
+ };
12
+ export declare const useMenuItemEventsHandlers: ({ propsWithDefault, focusTrackers, menuOpenStatus, handleChangeOpenedSubItems, }: UseMenuItemEventsHandlersConfig) => {
13
+ handleFocusableMenuItemKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
14
+ handleFocusableMenuItemClick: (event: React.MouseEvent<HTMLDivElement>) => void;
15
+ handleFocusableMenuItemOnMouseEnter: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes, event: React.MouseEvent) => void;
16
+ handleMenuItemFocusReconciliation: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => void;
17
+ };
18
+ export {};
@@ -0,0 +1,17 @@
1
+ import { type DSMenuBehaviouralContextProviderT } from '../react-desc-prop-types.js';
2
+ import type { useFocusTracker } from './useFocusTracker.js';
3
+ type UseMenuOpenStatusConfig = {
4
+ propsWithDefault: DSMenuBehaviouralContextProviderT.InternalProps;
5
+ focusTrackers: ReturnType<typeof useFocusTracker>;
6
+ };
7
+ type OnOpinionatedOpenConfig = {
8
+ focusLastChild?: boolean;
9
+ };
10
+ export declare const useMenuOpenStatus: ({ propsWithDefault, focusTrackers }: UseMenuOpenStatusConfig) => {
11
+ isMenuOpen: boolean;
12
+ onOpinionatedClose: ({ skipFocus }?: {
13
+ skipFocus: boolean;
14
+ }) => void;
15
+ onOpinionatedOpen: (config?: OnOpinionatedOpenConfig) => void;
16
+ };
17
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ValidationMap } from '@elliemae/ds-props-helpers';
2
+ import { type DSMenuBehaviouralContextProviderT } from '../react-desc-prop-types.js';
3
+ export declare const useValidateProps: (props: DSMenuBehaviouralContextProviderT.InternalProps, propTypes: ValidationMap<DSMenuBehaviouralContextProviderT.Props>) => void;
@@ -0,0 +1,15 @@
1
+ export declare const TREE_STRUCTURE_ERRORS: {
2
+ PARENT_NOT_GROUP: Error;
3
+ GROUP_WITHOUT_PARENT: Error;
4
+ NODE_CANNOT_HAVE_CHILDREN: Error;
5
+ };
6
+ export declare const FORBIDDEN_BEHAVIOURS: {
7
+ TRYING_TO_FOCUS_NON_FOCUSABLE_NODE: Error;
8
+ TRYING_TO_OPEN_SUBMENU_OF_NODE_WITHOUT_SUBMENU: Error;
9
+ };
10
+ export declare const UNEXPECTED_INTERNAL_ERRORS: {
11
+ FOCUSED_ITEM_NODE_NOT_SET: Error;
12
+ FOCUSED_ITEM_HAS_NO_PARENT: Error;
13
+ NODE_WITHOUT_PARENT: Error;
14
+ CALCULATING_MULTI_SELECTION_OF_NON_MULTI_SELECTION_NODE: Error;
15
+ };
@@ -0,0 +1,7 @@
1
+ import type { DSMenuButtonT } from '../../../react-desc-prop-types.js';
2
+ export declare const DSMenuBehaviouralContextProviderName = "DSMenuBehaviouralContextProvider";
3
+ export declare const MENU_FOCUS_REGIONS: {
4
+ readonly TRIGGER: "trigger";
5
+ readonly ITEM_BY_DSID: (dsId: DSMenuButtonT.MenuNode['dsId']) => `item-dsid-${string}` | `item-dsid-${number}`;
6
+ readonly RESET: "";
7
+ };
@@ -0,0 +1 @@
1
+ export { DSMenuBehaviouralContextProvider, DSMenuBehaviouralContextProviderWithSchema, } from './DSMenuBehaviouralContextProvider.js';
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';
3
+ import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';
4
+ import { type DSMenuButtonT } from '../../react-desc-prop-types.js';
5
+ export declare namespace DSMenuBehaviouralContextProviderT {
6
+ interface RequiredProps extends DSMenuButtonT.MenuBehaviouralLayerRequiredProps {
7
+ buttonDOMNode: HTMLElement | null;
8
+ buttonDOMNodeRef: React.MutableRefObject<HTMLElement | null>;
9
+ optionsTree: DSMenuButtonT.MenuNode;
10
+ children: TypescriptHelpersT.ReactChildrenComplete;
11
+ focusableNodes: DSMenuButtonT.PseudoFocusableMenuNodes[];
12
+ }
13
+ interface DefaultProps extends DSMenuButtonT.MenuBehaviouralLayerDefaultProps {
14
+ }
15
+ interface OptionalProps extends DSMenuButtonT.MenuBehaviouralLayerOptionalProps {
16
+ }
17
+ interface Props extends Partial<DefaultProps>, OptionalProps, RequiredProps {
18
+ }
19
+ interface InternalProps extends DefaultProps, OptionalProps, RequiredProps {
20
+ }
21
+ }
22
+ export declare const defaultProps: DSMenuBehaviouralContextProviderT.DefaultProps;
23
+ export declare const DSMenuBehaviouralContextProviderPropTypes: DSPropTypesSchema<DSMenuBehaviouralContextProviderT.Props>;
24
+ export declare const DSMenuBehaviouralContextProviderPropTypesSchema: ValidationMap<DSMenuBehaviouralContextProviderT.Props>;
@@ -0,0 +1,6 @@
1
+ import { type DSMenuButtonT } from '../../../react-desc-prop-types.js';
2
+ export declare const getIsMultipleSelectNodeWithSubmenuSelected: ({ itemNode, selectedItems, }: {
3
+ itemNode: DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem;
4
+ selectedItems: DSMenuButtonT.SelectionableMenuNodes[];
5
+ }) => boolean | "mixed";
6
+ export declare const getNewSelectionMultipleSelect: (selectedItems: DSMenuButtonT.SelectionableMenuNodes[], selectedItem: DSMenuButtonT.MultipleSelectionableMenuNodes) => DSMenuButtonT.SelectionableMenuNodes[];
@@ -0,0 +1,35 @@
1
+ import type { DSMenuButtonT } from '../../../react-desc-prop-types.js';
2
+ export declare const getSubMenusPath: (itemNode: DSMenuButtonT.MenuNode) => DSMenuButtonT.WithSubmenuMenuNodes[];
3
+ export declare const getFocusableSiblingsList: (itemNode: DSMenuButtonT.MenuNode) => DSMenuButtonT.PseudoFocusableMenuNodes[];
4
+ /**
5
+ * This functions walks the tree downwards starting from the oldest shared parent and returns all the single-selectable items ids
6
+ * @param oldestParent - the oldest parent to start the walk from
7
+ * @returns string | number[] - the list of all the single-selectable items ids starting from the oldest shared group
8
+ */
9
+ export declare const getAllSingleSelectIdsFromParent: (oldestParent: DSMenuButtonT.MenuNodesAllowedToHaveChildren) => (string | number)[];
10
+ /**
11
+ * walk all parents from a given node and gives back multiple supporting datastructures by different criterias
12
+ *
13
+ * @param menuNode
14
+ * @returns {object} - an object holding different datastructures and information about the parents
15
+ * @property {Object} oldestGroup - the oldest shared group
16
+ * @property {Object[]} selectionableParentsWithSubmenu - the single/multiple selection parents with submenu
17
+ * @property {Object[]} groupParents - all the 'groups' encountered while traversing the tree upwards
18
+ */
19
+ export declare const getParentsByCriterias: (menuNode: DSMenuButtonT.MenuNode) => {
20
+ oldestGroup: DSMenuButtonT.MenuNodeGroupItem;
21
+ selectionableParentsWithSubmenu: DSMenuButtonT.SelectionablesWithSubmenuMenuNodes[];
22
+ groupParents: DSMenuButtonT.MenuNodeGroupItem[];
23
+ };
24
+ /**
25
+ * walk all childrens from a given node and gives back multiple supporting datastructures by different criterias
26
+ *
27
+ * @param menuNode
28
+ * @returns {object} - an object holding different datastructures and information about the children
29
+ * @property {Object[]} selectionableChilrens - the single/multiple selection children (regardless of the presence of a submenu)
30
+ * @property {Object[]} multiSelectionableChilrens - the multiple selection children (regardless of the presence of a submenu)
31
+ */
32
+ export declare const getChildrenByCriterias: (menuNode: DSMenuButtonT.MenuNode) => {
33
+ selectionableChilrens: DSMenuButtonT.SelectionableMenuNodes[];
34
+ multiSelectionableChilrens: DSMenuButtonT.MultipleSelectionableMenuNodes[];
35
+ };
@@ -0,0 +1,13 @@
1
+ import { type DSMenuButtonT } from '../../../react-desc-prop-types.js';
2
+ /**
3
+ * When a single-selectable item is selected, all other single-selectable items in the same group are deselected;
4
+ *
5
+ * If the (visual) parent is a single-select-with-submenu,
6
+ * the selection must be propagated because
7
+ * a single-select within a single-select-with-submenu can't be selected without implying the selection of the parent single-select-with-submenu
8
+ *
9
+ * @param selectedItems - the current selected items
10
+ * @param selectedItem - the newly selected item
11
+ * @returns DSMenuButtonT.SelectionableMenuNodes[] - the new selection
12
+ */
13
+ export declare const getNewSelectionSingleSelect: (selectedItems: DSMenuButtonT.SelectionableMenuNodes[], selectedItem: DSMenuButtonT.MenuNodeSingleSelectItem | DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem) => DSMenuButtonT.SelectionableMenuNodes[];
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ export declare const ActivableMenuItem: React.ComponentType<{
4
+ itemNode: DSMenuButtonT.MenuNodeActivableItem;
5
+ }>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ import { type DSMenuItemRendererFactoryT } from './react-desc-prop-types.js';
4
+ export declare const ActivableWithSubmenuMenuItem: React.ComponentType<{
5
+ itemNode: DSMenuButtonT.MenuNodeActivableWithSubmenuItem;
6
+ FlyoutMenuCircularDepInject: DSMenuItemRendererFactoryT.RequiredProps['FlyoutMenuCircularDepInject'];
7
+ }>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type DSMenuItemRendererFactoryT } from './react-desc-prop-types.js';
3
+ declare const DSMenuItemRendererFactory: React.ComponentType<DSMenuItemRendererFactoryT.Props>;
4
+ declare const DSMenuItemRendererFactoryWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<DSMenuItemRendererFactoryT.Props>;
5
+ export { DSMenuItemRendererFactory, DSMenuItemRendererFactoryWithSchema };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ export declare const MultipleSelectMenuItem: React.ComponentType<{
4
+ itemNode: DSMenuButtonT.MenuNodeMultipleSelectItem;
5
+ }>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ import { type DSMenuItemRendererFactoryT } from './react-desc-prop-types.js';
4
+ export declare const MultipleSelectWithSubmenuMenuItem: React.ComponentType<{
5
+ itemNode: DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem;
6
+ FlyoutMenuCircularDepInject: DSMenuItemRendererFactoryT.RequiredProps['FlyoutMenuCircularDepInject'];
7
+ }>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ export declare const SingleSelectMenuItem: React.ComponentType<{
4
+ itemNode: DSMenuButtonT.MenuNodeSingleSelectItem;
5
+ }>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ import { type DSMenuItemRendererFactoryT } from './react-desc-prop-types.js';
4
+ export declare const SingleSelectWithSubmenuMenuItem: React.ComponentType<{
5
+ itemNode: DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
6
+ FlyoutMenuCircularDepInject: DSMenuItemRendererFactoryT.RequiredProps['FlyoutMenuCircularDepInject'];
7
+ }>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
3
+ import { type DSMenuItemRendererFactoryT } from './react-desc-prop-types.js';
4
+ export declare const WithSubmenuMenuItem: React.ComponentType<{
5
+ itemNode: DSMenuButtonT.MenuNodeWithSubmenuItem;
6
+ FlyoutMenuCircularDepInject: DSMenuItemRendererFactoryT.RequiredProps['FlyoutMenuCircularDepInject'];
7
+ }>;
@@ -0,0 +1,6 @@
1
+ import { type DSMenuItemRendererFactoryT } from '../react-desc-prop-types.js';
2
+ export declare const useMenuItemRendererFactory: (propsFromUser: DSMenuItemRendererFactoryT.Props) => {
3
+ propsWithDefault: DSMenuItemRendererFactoryT.InternalProps;
4
+ xstyledProps: import("@elliemae/ds-props-helpers").XstyledProps;
5
+ instanceUid: string;
6
+ };
@@ -0,0 +1,3 @@
1
+ import type { ValidationMap } from '@elliemae/ds-props-helpers';
2
+ import { type DSMenuItemRendererFactoryT } from '../react-desc-prop-types.js';
3
+ export declare const useValidateProps: (props: DSMenuItemRendererFactoryT.InternalProps, propTypes: ValidationMap<DSMenuItemRendererFactoryT.Props>) => void;
@@ -0,0 +1,6 @@
1
+ export declare const DSMenuItemRendererFactoryName = "DSMenuItemRendererFactory";
2
+ export declare const EXAMPLE_CONSTANTS: {};
3
+ export declare const MENU_ITEM_RENDERER_FACTORY_SLOTS: {
4
+ readonly ROOT: "root";
5
+ };
6
+ export declare const MENU_ITEM_RENDERER_FACTORY_DATA_TESTID: Record<string, string>;
@@ -0,0 +1 @@
1
+ export { DSMenuItemRendererFactory, DSMenuItemRendererFactoryWithSchema } from './DSMenuItemRendererFactory.js';
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';
3
+ import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';
4
+ import { DSMenuItemRendererFactoryName, MENU_ITEM_RENDERER_FACTORY_SLOTS } from './constants/index.js';
5
+ import type { DSMenuButtonT } from '../../react-desc-prop-types.js';
6
+ import type { DSFlyoutMenuT } from '../DSFlyoutMenu/react-desc-prop-types.js';
7
+ export declare namespace DSMenuItemRendererFactoryT {
8
+ interface RequiredProps {
9
+ itemNode: DSMenuButtonT.MenuNode;
10
+ FlyoutMenuCircularDepInject: React.ComponentType<DSFlyoutMenuT.Props>;
11
+ }
12
+ interface DefaultProps {
13
+ }
14
+ interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSMenuItemRendererFactoryName, typeof MENU_ITEM_RENDERER_FACTORY_SLOTS> {
15
+ ItemRenderer?: DSMenuButtonT.ItemRendererT;
16
+ }
17
+ interface Props extends Partial<DefaultProps>, OptionalProps, Omit<GlobalAttributesT<HTMLLIElement>, keyof OptionalProps | keyof XstyledProps>, XstyledProps, RequiredProps {
18
+ }
19
+ interface InternalProps extends DefaultProps, OptionalProps, Omit<GlobalAttributesT<HTMLLIElement>, keyof OptionalProps | keyof XstyledProps>, XstyledProps, RequiredProps {
20
+ }
21
+ }
22
+ export declare const defaultProps: DSMenuItemRendererFactoryT.DefaultProps;
23
+ export declare const DSMenuItemRendererFactoryPropTypes: DSPropTypesSchema<DSMenuItemRendererFactoryT.Props>;
24
+ export declare const DSMenuItemRendererFactoryPropTypesSchema: ValidationMap<DSMenuItemRendererFactoryT.Props>;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export declare const useMenuItemHighlightState: ({ focusableItemEl, onMouseLeave, onMouseEnter, }: {
3
+ focusableItemEl: HTMLElement | null;
4
+ onMouseLeave?: React.MouseEventHandler<HTMLElement>;
5
+ onMouseEnter?: React.MouseEventHandler<HTMLElement>;
6
+ }) => {
7
+ isFocused: boolean;
8
+ isHovered: boolean;
9
+ handleMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;
10
+ handleMouseLeave: (e: React.MouseEvent<HTMLElement>) => void;
11
+ shouldHighlight: boolean;
12
+ };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type DSOpinionatedButtonT } from './react-desc-prop-types.js';
3
+ declare const DSOpinionatedButton: React.ComponentType<DSOpinionatedButtonT.Props>;
4
+ declare const DSOpinionatedButtonWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<DSOpinionatedButtonT.Props>;
5
+ export { DSOpinionatedButton, DSOpinionatedButtonWithSchema };
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { type DSOpinionatedButtonT } from '../react-desc-prop-types.js';
3
+ export declare const useOpinionatedButton: (propsFromUser: DSOpinionatedButtonT.Props) => {
4
+ propsWithDefault: DSOpinionatedButtonT.InternalProps;
5
+ instanceUid: string;
6
+ eventsHandlers: {
7
+ handleTriggerKeyDown: React.KeyboardEventHandler<HTMLButtonElement>;
8
+ handleOnClick: (e: React.KeyboardEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
9
+ handleOnFocus: React.FocusEventHandler<HTMLButtonElement>;
10
+ handleFocusIfTriggerIsFocusRegion: (instance: HTMLButtonElement | null) => void;
11
+ };
12
+ floatingContext: {
13
+ refs: {
14
+ setReference: (node: HTMLElement | null) => void;
15
+ setFloating: React.Dispatch<React.SetStateAction<HTMLElement | null>>;
16
+ };
17
+ floatingStyles: import("styled-components").CSSProperties;
18
+ handlers: {
19
+ onMouseEnter: () => void;
20
+ onMouseLeave: () => void;
21
+ onFocus: () => void;
22
+ onBlur: () => void;
23
+ };
24
+ isOpen: boolean;
25
+ arrowStyles: {
26
+ style: import("styled-components").CSSProperties;
27
+ placement: string;
28
+ };
29
+ hideTooltip: () => void;
30
+ showTooltip: () => void;
31
+ context: {
32
+ withoutPortal: boolean;
33
+ withoutAnimation: boolean;
34
+ portalDOMContainer: HTMLElement;
35
+ animationDuration: number;
36
+ };
37
+ };
38
+ };
@@ -0,0 +1,14 @@
1
+ import { type useFloatingContext } from '@elliemae/ds-floating-context';
2
+ import React from 'react';
3
+ import { type DSOpinionatedButtonT } from '../react-desc-prop-types.js';
4
+ type UseTriggerEventsHandlersConfig = {
5
+ propsWithDefault: DSOpinionatedButtonT.InternalProps;
6
+ floatingContext: ReturnType<typeof useFloatingContext>;
7
+ };
8
+ export declare const useTriggerEventsHandlers: ({ propsWithDefault, floatingContext }: UseTriggerEventsHandlersConfig) => {
9
+ handleTriggerKeyDown: React.KeyboardEventHandler<HTMLButtonElement>;
10
+ handleOnClick: (e: React.KeyboardEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
11
+ handleOnFocus: React.FocusEventHandler<HTMLButtonElement>;
12
+ handleFocusIfTriggerIsFocusRegion: (instance: HTMLButtonElement | null) => void;
13
+ };
14
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ValidationMap } from '@elliemae/ds-props-helpers';
2
+ import { type DSOpinionatedButtonT } from '../react-desc-prop-types.js';
3
+ export declare const useValidateProps: (props: DSOpinionatedButtonT.InternalProps, propTypes: ValidationMap<DSOpinionatedButtonT.Props>) => void;
@@ -0,0 +1,6 @@
1
+ export declare const DSOpinionatedButtonName = "DSOpinionatedButton";
2
+ export declare const EXAMPLE_CONSTANTS: {};
3
+ export declare const OPINIONATED_BUTTON_SLOTS: {
4
+ readonly ROOT: "root";
5
+ };
6
+ export declare const OPINIONATED_BUTTON_DATA_TESTID: Record<string, string>;
@@ -0,0 +1 @@
1
+ export { DSOpinionatedButton, DSOpinionatedButtonWithSchema } from './DSOpinionatedButton.js';
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';
3
+ import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';
4
+ import { type DSMenuButtonT } from '../../react-desc-prop-types.js';
5
+ import { DSOpinionatedButtonName, OPINIONATED_BUTTON_SLOTS } from './constants/index.js';
6
+ export declare namespace DSOpinionatedButtonT {
7
+ interface RequiredProps extends DSMenuButtonT.ButtonInheritedRequiredProps {
8
+ menuSpecificProps: DSMenuButtonT.MenuSpecificProps;
9
+ }
10
+ interface DefaultProps extends DSMenuButtonT.ButtonInheiredDefaultProps {
11
+ }
12
+ interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSOpinionatedButtonName, typeof OPINIONATED_BUTTON_SLOTS>, DSMenuButtonT.ButtonInheritedOptionalProps {
13
+ }
14
+ interface Props extends RequiredProps, Partial<DefaultProps>, OptionalProps, DSMenuButtonT.ButtonInheritedProps {
15
+ innerRef: React.RefCallback<HTMLButtonElement>;
16
+ }
17
+ interface InternalProps extends RequiredProps, DefaultProps, OptionalProps, DSMenuButtonT.ButtonInheritedInternalProps {
18
+ innerRef: React.RefCallback<HTMLButtonElement>;
19
+ }
20
+ }
21
+ export declare const defaultProps: DSOpinionatedButtonT.DefaultProps;
22
+ export declare const DSOpinionatedButtonPropTypes: DSPropTypesSchema<DSOpinionatedButtonT.Props>;
23
+ export declare const DSOpinionatedButtonPropTypesSchema: ValidationMap<DSOpinionatedButtonT.Props>;