@elliemae/ds-menu-button 3.45.0-rc.1 → 3.45.0-rc.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/DSMenuButton.js +16 -5
- package/dist/cjs/DSMenuButton.js.map +2 -2
- package/dist/cjs/config/useMenuButton.js +49 -18
- package/dist/cjs/config/useMenuButton.js.map +3 -3
- package/dist/cjs/config/useSplitInherithedProps.js +141 -0
- package/dist/cjs/config/useSplitInherithedProps.js.map +7 -0
- package/dist/cjs/config/useValidateProps.js.map +2 -2
- package/dist/cjs/constants/index.js +17 -4
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/index.js +7 -3
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js +96 -0
- package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +7 -0
- package/dist/cjs/parts/DSFlyoutMenu/config/useFlyoutMenu.js +54 -0
- package/dist/cjs/parts/DSFlyoutMenu/config/useFlyoutMenu.js.map +7 -0
- package/dist/cjs/parts/{ItemFactory.js → DSFlyoutMenu/config/useValidateProps.js} +9 -35
- package/dist/cjs/parts/DSFlyoutMenu/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSFlyoutMenu/constants/index.js +46 -0
- package/dist/cjs/parts/DSFlyoutMenu/constants/index.js.map +7 -0
- package/dist/cjs/{DSMenuButtonCTX.js → parts/DSFlyoutMenu/index.js} +7 -8
- package/dist/cjs/parts/DSFlyoutMenu/index.js.map +7 -0
- package/dist/cjs/parts/DSFlyoutMenu/react-desc-prop-types.js +62 -0
- package/dist/cjs/parts/DSFlyoutMenu/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js +70 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js +40 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js +186 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js +89 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js +92 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +315 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js +66 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/Errors.js +58 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/Errors.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/index.js +44 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/index.js +37 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/index.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js +53 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js +139 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js +144 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js.map +7 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js +44 -0
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableMenuItem.js +116 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js +159 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js +97 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js +122 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js +173 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js +130 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js +176 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js +162 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js +57 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/constants/index.js +48 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/index.js +37 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/index.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/react-desc-prop-types.js +51 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js +62 -0
- package/dist/cjs/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/DSOpinionatedButton.js +100 -0
- package/dist/cjs/parts/DSOpinionatedButton/DSOpinionatedButton.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/config/useOpinionatedButton.js +80 -0
- package/dist/cjs/parts/DSOpinionatedButton/config/useOpinionatedButton.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js +98 -0
- package/dist/cjs/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSOpinionatedButton/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/constants/index.js +48 -0
- package/dist/cjs/parts/DSOpinionatedButton/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/index.js +37 -0
- package/dist/cjs/parts/DSOpinionatedButton/index.js.map +7 -0
- package/dist/cjs/parts/DSOpinionatedButton/react-desc-prop-types.js +53 -0
- package/dist/cjs/parts/DSOpinionatedButton/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/react-desc-prop-types.js +61 -25
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/utils/nodesTypeguardsAndGetters.js +123 -0
- package/dist/cjs/utils/nodesTypeguardsAndGetters.js.map +7 -0
- package/dist/cjs/utils/useOptionsArrayToDsTree.js +55 -0
- package/dist/cjs/utils/useOptionsArrayToDsTree.js.map +7 -0
- package/dist/esm/DSMenuButton.js +19 -8
- package/dist/esm/DSMenuButton.js.map +2 -2
- package/dist/esm/config/useMenuButton.js +51 -20
- package/dist/esm/config/useMenuButton.js.map +3 -3
- package/dist/esm/config/useSplitInherithedProps.js +111 -0
- package/dist/esm/config/useSplitInherithedProps.js.map +7 -0
- package/dist/esm/config/useValidateProps.js.map +2 -2
- package/dist/esm/constants/index.js +17 -4
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/index.js +8 -4
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js +66 -0
- package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +7 -0
- package/dist/esm/parts/DSFlyoutMenu/config/useFlyoutMenu.js +24 -0
- package/dist/esm/parts/DSFlyoutMenu/config/useFlyoutMenu.js.map +7 -0
- package/dist/esm/parts/DSFlyoutMenu/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSFlyoutMenu/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSFlyoutMenu/constants/index.js +16 -0
- package/dist/esm/parts/DSFlyoutMenu/constants/index.js.map +7 -0
- package/dist/esm/parts/DSFlyoutMenu/index.js +7 -0
- package/dist/esm/parts/DSFlyoutMenu/index.js.map +7 -0
- package/dist/esm/parts/DSFlyoutMenu/react-desc-prop-types.js +40 -0
- package/dist/esm/parts/DSFlyoutMenu/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js +42 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js +10 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js +161 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js +59 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js +65 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +292 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js +36 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/Errors.js +28 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/Errors.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/index.js +14 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/constants/index.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/index.js +10 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/index.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js +23 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js +113 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js +123 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.js.map +7 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js +14 -0
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/ActivableMenuItem.js +91 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/ActivableMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js +134 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js +78 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js +97 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js +148 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js +105 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js +151 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js +137 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js +30 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/constants/index.js +18 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/constants/index.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/index.js +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/index.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/react-desc-prop-types.js +26 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js +32 -0
- package/dist/esm/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/DSOpinionatedButton.js +70 -0
- package/dist/esm/parts/DSOpinionatedButton/DSOpinionatedButton.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/config/useOpinionatedButton.js +53 -0
- package/dist/esm/parts/DSOpinionatedButton/config/useOpinionatedButton.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js +68 -0
- package/dist/esm/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSOpinionatedButton/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/constants/index.js +18 -0
- package/dist/esm/parts/DSOpinionatedButton/constants/index.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/index.js +10 -0
- package/dist/esm/parts/DSOpinionatedButton/index.js.map +7 -0
- package/dist/esm/parts/DSOpinionatedButton/react-desc-prop-types.js +23 -0
- package/dist/esm/parts/DSOpinionatedButton/react-desc-prop-types.js.map +7 -0
- package/dist/esm/react-desc-prop-types.js +62 -26
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/esm/utils/nodesTypeguardsAndGetters.js +93 -0
- package/dist/esm/utils/nodesTypeguardsAndGetters.js.map +7 -0
- package/dist/esm/utils/useOptionsArrayToDsTree.js +25 -0
- package/dist/esm/utils/useOptionsArrayToDsTree.js.map +7 -0
- package/dist/types/DSMenuButton.d.ts +4 -6
- package/dist/types/config/useMenuButton.d.ts +9 -13
- package/dist/types/config/useSplitInherithedProps.d.ts +495 -0
- package/dist/types/config/useValidateProps.d.ts +3 -3
- package/dist/types/constants/index.d.ts +14 -2
- package/dist/types/index.d.ts +4 -2
- package/dist/types/parts/DSFlyoutMenu/DSFlyoutMenu.d.ts +5 -0
- package/dist/types/parts/DSFlyoutMenu/config/useFlyoutMenu.d.ts +8 -0
- package/dist/types/parts/DSFlyoutMenu/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSFlyoutMenu/constants/index.d.ts +7 -0
- package/dist/types/parts/DSFlyoutMenu/index.d.ts +1 -0
- package/dist/types/parts/DSFlyoutMenu/react-desc-prop-types.d.ts +25 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/DSMenuBehaviouralContextProvider.d.ts +5 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/MenuBehaviouralContextProviderCTX.d.ts +5 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.d.ts +15 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.d.ts +15 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuBehaviouralContextProvider.d.ts +15 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.d.ts +18 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.d.ts +17 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/constants/Errors.d.ts +15 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/constants/index.d.ts +7 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/index.d.ts +1 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.d.ts +24 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.d.ts +6 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/nodeGettersByCriterias.d.ts +35 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.d.ts +13 -0
- package/dist/types/parts/DSMenuItemRendererFactory/ActivableMenuItem.d.ts +5 -0
- package/dist/types/parts/DSMenuItemRendererFactory/ActivableWithSubmenuMenuItem.d.ts +7 -0
- package/dist/types/parts/DSMenuItemRendererFactory/DSMenuItemRendererFactory.d.ts +5 -0
- package/dist/types/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.d.ts +5 -0
- package/dist/types/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.d.ts +7 -0
- package/dist/types/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.d.ts +5 -0
- package/dist/types/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.d.ts +7 -0
- package/dist/types/parts/DSMenuItemRendererFactory/WithSubmenuMenuItem.d.ts +7 -0
- package/dist/types/parts/DSMenuItemRendererFactory/config/useMenuItemRendererFactory.d.ts +6 -0
- package/dist/types/parts/DSMenuItemRendererFactory/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSMenuItemRendererFactory/constants/index.d.ts +6 -0
- package/dist/types/parts/DSMenuItemRendererFactory/index.d.ts +1 -0
- package/dist/types/parts/DSMenuItemRendererFactory/react-desc-prop-types.d.ts +24 -0
- package/dist/types/parts/DSMenuItemRendererFactory/useMenuItemHighlightState.d.ts +12 -0
- package/dist/types/parts/DSOpinionatedButton/DSOpinionatedButton.d.ts +5 -0
- package/dist/types/parts/DSOpinionatedButton/config/useOpinionatedButton.d.ts +38 -0
- package/dist/types/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.d.ts +14 -0
- package/dist/types/parts/DSOpinionatedButton/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSOpinionatedButton/constants/index.d.ts +6 -0
- package/dist/types/parts/DSOpinionatedButton/index.d.ts +1 -0
- package/dist/types/parts/DSOpinionatedButton/react-desc-prop-types.d.ts +23 -0
- package/dist/types/react-desc-prop-types.d.ts +206 -41
- package/dist/types/utils/nodesTypeguardsAndGetters.d.ts +22 -0
- package/dist/types/utils/useOptionsArrayToDsTree.d.ts +8 -0
- package/package.json +18 -16
- package/dist/cjs/DSMenuButtonCTX.js.map +0 -7
- package/dist/cjs/parts/ItemFactory.js.map +0 -7
- package/dist/cjs/parts/Menu.js +0 -125
- package/dist/cjs/parts/Menu.js.map +0 -7
- package/dist/cjs/parts/MenuButtonContent.js +0 -156
- package/dist/cjs/parts/MenuButtonContent.js.map +0 -7
- package/dist/cjs/parts/MenuItem.js +0 -252
- package/dist/cjs/parts/MenuItem.js.map +0 -7
- package/dist/cjs/styled.js +0 -132
- package/dist/cjs/styled.js.map +0 -7
- package/dist/esm/DSMenuButtonCTX.js +0 -8
- package/dist/esm/DSMenuButtonCTX.js.map +0 -7
- package/dist/esm/parts/ItemFactory.js +0 -36
- package/dist/esm/parts/ItemFactory.js.map +0 -7
- package/dist/esm/parts/Menu.js +0 -95
- package/dist/esm/parts/Menu.js.map +0 -7
- package/dist/esm/parts/MenuButtonContent.js +0 -126
- package/dist/esm/parts/MenuButtonContent.js.map +0 -7
- package/dist/esm/parts/MenuItem.js +0 -229
- package/dist/esm/parts/MenuItem.js.map +0 -7
- package/dist/esm/styled.js +0 -102
- package/dist/esm/styled.js.map +0 -7
- package/dist/types/DSMenuButtonCTX.d.ts +0 -15
- package/dist/types/parts/ItemFactory.d.ts +0 -14
- package/dist/types/parts/Menu.d.ts +0 -14
- package/dist/types/parts/MenuButtonContent.d.ts +0 -1
- package/dist/types/parts/MenuItem.d.ts +0 -21
- package/dist/types/styled.d.ts +0 -16
@@ -1,53 +1,218 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
|
+
import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';
|
2
3
|
import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';
|
3
|
-
import type {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
4
|
+
import type { DSButtonV3T } from '@elliemae/ds-button-v2';
|
5
|
+
import type { UseDSTreeT } from '@elliemae/ds-tree-model';
|
6
|
+
import { DSMenuButtonName, MENU_BUTTON_SLOTS, type MENU_ITEMS_TYPES } from './constants/index.js';
|
7
|
+
export declare namespace DSMenuButtonT {
|
8
|
+
interface RootItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
9
|
+
type: 'ROOT_ITEM';
|
10
|
+
dsId: string;
|
11
|
+
label?: undefined;
|
12
|
+
secondaryLabel?: undefined;
|
13
|
+
leftDecoration?: undefined;
|
14
|
+
minWidth?: undefined;
|
15
|
+
disabled?: undefined;
|
16
|
+
onClick?: undefined;
|
17
|
+
onKeyDown?: undefined;
|
18
|
+
}
|
19
|
+
interface SeparatorItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
20
|
+
type: (typeof MENU_ITEMS_TYPES)['SEPARATOR'];
|
21
|
+
dsId: string;
|
22
|
+
label?: undefined;
|
23
|
+
secondaryLabel?: undefined;
|
24
|
+
leftDecoration?: undefined;
|
25
|
+
minWidth?: undefined;
|
26
|
+
disabled?: undefined;
|
27
|
+
onClick?: undefined;
|
28
|
+
onKeyDown?: undefined;
|
29
|
+
}
|
30
|
+
interface ActivableItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
31
|
+
type: (typeof MENU_ITEMS_TYPES)['ACTIVABLE_ITEM'];
|
32
|
+
dsId: string;
|
33
|
+
label: string;
|
34
|
+
secondaryLabel?: string;
|
35
|
+
leftDecoration?: React.ComponentType;
|
36
|
+
minWidth?: string | number;
|
37
|
+
disabled?: boolean;
|
38
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
39
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
40
|
+
}
|
41
|
+
interface ActionableWithSubmenuItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
42
|
+
type: (typeof MENU_ITEMS_TYPES)['ACTIVABLE_WITH_SUBMENU_ITEM'];
|
43
|
+
dsId: string;
|
44
|
+
label: string;
|
45
|
+
secondaryLabel?: string;
|
46
|
+
leftDecoration?: React.ComponentType;
|
47
|
+
minWidth?: string | number;
|
48
|
+
disabled?: boolean;
|
49
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
50
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
51
|
+
}
|
52
|
+
interface SkeletonItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
53
|
+
type: (typeof MENU_ITEMS_TYPES)['SKELETON_ITEM'];
|
54
|
+
dsId: string;
|
55
|
+
minWidth?: string | number;
|
56
|
+
label?: undefined;
|
57
|
+
secondaryLabel?: undefined;
|
58
|
+
leftDecoration?: undefined;
|
59
|
+
disabled?: undefined;
|
60
|
+
onClick?: undefined;
|
61
|
+
onKeyDown?: undefined;
|
18
62
|
}
|
19
|
-
interface
|
63
|
+
interface MultipleSelectItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
64
|
+
type: (typeof MENU_ITEMS_TYPES)['MULTIPLE_SELECT_ITEM'];
|
65
|
+
dsId: string;
|
66
|
+
label: string;
|
67
|
+
secondaryLabel?: string;
|
68
|
+
leftDecoration?: React.ComponentType;
|
69
|
+
minWidth?: string | number;
|
70
|
+
disabled?: boolean;
|
71
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
72
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
20
73
|
}
|
21
|
-
interface
|
74
|
+
interface MultiSelectWithSubmenuItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
75
|
+
type: (typeof MENU_ITEMS_TYPES)['MULTIPLE_SELECT_WITH_SUBMENU_ITEM'];
|
76
|
+
dsId: string;
|
77
|
+
label: string;
|
78
|
+
secondaryLabel?: string;
|
79
|
+
leftDecoration?: React.ComponentType;
|
80
|
+
minWidth?: string | number;
|
81
|
+
disabled?: boolean;
|
82
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
83
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
84
|
+
}
|
85
|
+
interface WithSubmenuItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
86
|
+
type: (typeof MENU_ITEMS_TYPES)['WITH_SUBMENU_ITEM'];
|
87
|
+
dsId: string;
|
88
|
+
label: string;
|
89
|
+
secondaryLabel?: string;
|
90
|
+
leftDecoration?: React.ComponentType;
|
91
|
+
minWidth?: string | number;
|
92
|
+
disabled?: boolean;
|
93
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
94
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
22
95
|
}
|
23
|
-
|
96
|
+
interface SingleSelectItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
97
|
+
type: (typeof MENU_ITEMS_TYPES)['SINGLE_SELECT_ITEM'];
|
24
98
|
dsId: string;
|
25
99
|
label: string;
|
26
|
-
|
27
|
-
|
28
|
-
subitems?: Item[];
|
29
|
-
selectionMode?: 'single' | 'multiple';
|
100
|
+
secondaryLabel?: string;
|
101
|
+
leftDecoration?: React.ComponentType;
|
30
102
|
minWidth?: string | number;
|
31
103
|
disabled?: boolean;
|
32
|
-
|
33
|
-
|
34
|
-
isOpen: boolean;
|
35
|
-
innerRef: TypescriptHelpersT.AnyRef<HTMLButtonElement | null>;
|
36
|
-
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
37
|
-
attributes: {
|
38
|
-
'aria-haspopup'?: boolean | 'true' | 'false' | 'dialog' | 'grid' | 'listbox' | 'menu' | 'tree';
|
39
|
-
'aria-expanded': boolean;
|
40
|
-
};
|
41
|
-
listeners: {
|
42
|
-
onKeyDown: (e: React.KeyboardEvent) => void;
|
43
|
-
};
|
44
|
-
triggerElementProps: T2;
|
104
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
105
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
45
106
|
}
|
107
|
+
interface SingleSelectWithSubmenuItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
108
|
+
type: (typeof MENU_ITEMS_TYPES)['SINGLE_SELECT_WITH_SUBMENU_ITEM'];
|
109
|
+
dsId: string;
|
110
|
+
label: string;
|
111
|
+
secondaryLabel?: string;
|
112
|
+
leftDecoration?: React.ComponentType;
|
113
|
+
minWidth?: string | number;
|
114
|
+
disabled?: boolean;
|
115
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
116
|
+
onKeyDown?: (e: React.KeyboardEvent) => null;
|
117
|
+
}
|
118
|
+
interface GroupItem extends UseDSTreeT.AnyObjectWithoutReservedKeys {
|
119
|
+
type: (typeof MENU_ITEMS_TYPES)['GROUP'];
|
120
|
+
dsId: string;
|
121
|
+
label?: string;
|
122
|
+
leftDecoration?: React.ComponentType;
|
123
|
+
minWidth?: string | number;
|
124
|
+
}
|
125
|
+
type MenuItemInterface = SeparatorItem | ActivableItem | ActionableWithSubmenuItem | SkeletonItem | MultipleSelectItem | MultiSelectWithSubmenuItem | WithSubmenuItem | GroupItem;
|
126
|
+
type PseudoFocusableItemInterface = ActivableItem | ActionableWithSubmenuItem | SkeletonItem | MultipleSelectItem | MultiSelectWithSubmenuItem | WithSubmenuItem | SingleSelectItem | SingleSelectWithSubmenuItem;
|
127
|
+
type MenuNodeRootItem = UseDSTreeT.TreeNode<RootItem>;
|
128
|
+
type MenuNodeSeparatorItem = UseDSTreeT.TreeNode<SeparatorItem>;
|
129
|
+
type MenuNodeActivableItem = UseDSTreeT.TreeNode<ActivableItem>;
|
130
|
+
type MenuNodeActivableWithSubmenuItem = UseDSTreeT.TreeNode<ActionableWithSubmenuItem>;
|
131
|
+
type MenuNodeSkeletonItem = UseDSTreeT.TreeNode<SkeletonItem>;
|
132
|
+
type MenuNodeMultipleSelectItem = UseDSTreeT.TreeNode<MultipleSelectItem>;
|
133
|
+
type MenuNodeMultipleSelectWithSubmenuItem = UseDSTreeT.TreeNode<MultiSelectWithSubmenuItem>;
|
134
|
+
type MenuNodeWithSubmenuItem = UseDSTreeT.TreeNode<WithSubmenuItem>;
|
135
|
+
type MenuNodeSingleSelectItem = UseDSTreeT.TreeNode<SingleSelectItem>;
|
136
|
+
type MenuNodeSingleSelectWithSubmenuItem = UseDSTreeT.TreeNode<SingleSelectWithSubmenuItem>;
|
137
|
+
type MenuNodeGroupItem = UseDSTreeT.TreeNode<GroupItem>;
|
138
|
+
type MenuNode = MenuNodeSeparatorItem | MenuNodeActivableItem | MenuNodeActivableWithSubmenuItem | MenuNodeSkeletonItem | MenuNodeMultipleSelectItem | MenuNodeMultipleSelectWithSubmenuItem | MenuNodeWithSubmenuItem | MenuNodeSingleSelectItem | MenuNodeSingleSelectWithSubmenuItem | MenuNodeGroupItem;
|
139
|
+
type PseudoFocusableMenuNodes = MenuNodeActivableItem | MenuNodeActivableWithSubmenuItem | MenuNodeSkeletonItem | MenuNodeSingleSelectItem | MenuNodeMultipleSelectItem | MenuNodeMultipleSelectWithSubmenuItem | MenuNodeWithSubmenuItem | MenuNodeSingleSelectWithSubmenuItem;
|
140
|
+
type MenuNodesAllowedToHaveChildren = MenuNodeRootItem | MenuNodeWithSubmenuItem | MenuNodeGroupItem | MenuNodeActivableWithSubmenuItem | MenuNodeMultipleSelectWithSubmenuItem | MenuNodeSingleSelectWithSubmenuItem;
|
46
141
|
type ItemRendererT = React.ComponentType<{
|
47
|
-
|
48
|
-
isSelected: boolean;
|
142
|
+
itemNode: MenuNode;
|
49
143
|
}>;
|
144
|
+
type SelectionableMenuNodes = DSMenuButtonT.MenuNodeMultipleSelectItem | DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem | DSMenuButtonT.MenuNodeSingleSelectItem | DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
|
145
|
+
type MultipleSelectionableMenuNodes = DSMenuButtonT.MenuNodeMultipleSelectItem | DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem;
|
146
|
+
type SingleSelectionableMenuNodes = DSMenuButtonT.MenuNodeSingleSelectItem | DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
|
147
|
+
type WithSubmenuMenuNodes = DSMenuButtonT.MenuNodeWithSubmenuItem | DSMenuButtonT.MenuNodeActivableWithSubmenuItem | DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem | DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
|
148
|
+
type SelectionablesWithSubmenuMenuNodes = DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem | DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
|
149
|
+
interface MenuBehaviouralLayerRequiredProps {
|
150
|
+
selectedItems: SelectionableMenuNodes[];
|
151
|
+
onItemSelected: (newSelection: SelectionableMenuNodes[], metainfo: {
|
152
|
+
itemNode: DSMenuButtonT.SelectionableMenuNodes;
|
153
|
+
event?: React.SyntheticEvent;
|
154
|
+
}) => void | TypescriptHelpersT.StateSetter<DSMenuButtonT.SelectionableMenuNodes[]>;
|
155
|
+
onActivateItem: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes, metainfo: {
|
156
|
+
itemNode: DSMenuButtonT.PseudoFocusableMenuNodes;
|
157
|
+
event?: React.SyntheticEvent;
|
158
|
+
}) => void;
|
159
|
+
}
|
160
|
+
interface MenuSpecificRequiredProps {
|
161
|
+
}
|
162
|
+
interface ButtonInheritedRequiredProps extends Omit<DSButtonV3T.RequiredProps, keyof MenuSpecificRequiredProps> {
|
163
|
+
}
|
164
|
+
interface RequiredProps extends MenuSpecificRequiredProps, ButtonInheritedRequiredProps, MenuBehaviouralLayerRequiredProps {
|
165
|
+
options: MenuItemInterface[] | MenuNode;
|
166
|
+
}
|
167
|
+
interface MenuBehaviouralLayerDefaultProps {
|
168
|
+
}
|
169
|
+
interface MenuSpecifiDefaultProps {
|
170
|
+
onClickOutside: (e: MouseEvent | React.KeyboardEvent | TouchEvent) => void;
|
171
|
+
onOptionClick: (nextSelectedOptions: Record<string, boolean>, clickedOption: MenuItemInterface, e: React.MouseEvent | React.KeyboardEvent) => void;
|
172
|
+
openedSubmenus: Record<string, boolean>;
|
173
|
+
onSubmenuToggle: (nextOpenedSubmenus: Record<string, boolean>, submenu: MenuItemInterface, e: React.MouseEvent | React.KeyboardEvent) => void;
|
174
|
+
isLoading: boolean;
|
175
|
+
isSkeleton: boolean;
|
176
|
+
selectedOptions: Record<string, boolean>;
|
177
|
+
}
|
178
|
+
interface ButtonInheiredDefaultProps extends Omit<DSButtonV3T.DefaultProps, keyof MenuSpecifiDefaultProps> {
|
179
|
+
}
|
180
|
+
interface DefaultProps extends MenuSpecifiDefaultProps, ButtonInheiredDefaultProps, MenuBehaviouralLayerDefaultProps {
|
181
|
+
}
|
182
|
+
interface MenuBehaviouralLayerOptionalProps {
|
183
|
+
onOpen?: () => void;
|
184
|
+
onClose?: () => void;
|
185
|
+
onDisplayedSubmenuChange?: (newOpenedItems: DSMenuButtonT.WithSubmenuMenuNodes[], metainfo: {
|
186
|
+
itemNode: DSMenuButtonT.PseudoFocusableMenuNodes | null;
|
187
|
+
event?: React.SyntheticEvent | FocusEvent | TouchEvent;
|
188
|
+
}) => void | TypescriptHelpersT.StateSetter<DSMenuButtonT.WithSubmenuMenuNodes[]>;
|
189
|
+
}
|
190
|
+
interface MenuSpecificOptionalProps {
|
191
|
+
ItemRenderer?: ItemRendererT;
|
192
|
+
}
|
193
|
+
interface ButtonInheritedOptionalProps extends Omit<DSButtonV3T.OptionalProps, keyof MenuSpecificOptionalProps> {
|
194
|
+
}
|
195
|
+
interface OptionalProps extends MenuSpecificOptionalProps, ButtonInheritedOptionalProps, MenuBehaviouralLayerOptionalProps, TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSMenuButtonName, typeof MENU_BUTTON_SLOTS> {
|
196
|
+
}
|
197
|
+
interface MenuBehaviouralLayerProps extends Partial<MenuBehaviouralLayerDefaultProps>, MenuBehaviouralLayerOptionalProps, MenuBehaviouralLayerRequiredProps {
|
198
|
+
}
|
199
|
+
interface MenuSpecificProps extends Partial<MenuSpecifiDefaultProps>, MenuSpecificOptionalProps, MenuSpecificRequiredProps {
|
200
|
+
}
|
201
|
+
interface ButtonInheritedProps extends Omit<DSButtonV3T.Props, keyof MenuSpecificProps> {
|
202
|
+
}
|
203
|
+
interface Props extends RequiredProps, Partial<DefaultProps>, OptionalProps {
|
204
|
+
}
|
205
|
+
interface MenuBehaviouralLayerInternalProps extends MenuBehaviouralLayerDefaultProps, MenuBehaviouralLayerOptionalProps, MenuBehaviouralLayerRequiredProps {
|
206
|
+
}
|
207
|
+
interface MenuSpecificInternalProps extends MenuSpecifiDefaultProps, MenuSpecificOptionalProps, MenuSpecificRequiredProps {
|
208
|
+
}
|
209
|
+
interface ButtonInheritedInternalProps extends Omit<DSButtonV3T.InternalProps, keyof MenuSpecificInternalProps> {
|
210
|
+
}
|
211
|
+
interface InternalProps extends RequiredProps, DefaultProps, OptionalProps {
|
212
|
+
}
|
50
213
|
}
|
51
|
-
export declare const defaultProps:
|
52
|
-
export declare const
|
53
|
-
export declare const
|
214
|
+
export declare const defaultProps: DSMenuButtonT.MenuSpecifiDefaultProps;
|
215
|
+
export declare const MenuBehaviouralLayerPropTypes: DSPropTypesSchema<DSMenuButtonT.MenuBehaviouralLayerProps>;
|
216
|
+
export declare const DSMenuSpecificPropTypes: DSPropTypesSchema<DSMenuButtonT.MenuSpecificProps>;
|
217
|
+
export declare const DSMenuButtonPropTypes: DSPropTypesSchema<DSMenuButtonT.Props>;
|
218
|
+
export declare const DSMenuButtonPropTypesSchema: ValidationMap<DSMenuButtonT.Props>;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { type DSMenuButtonT } from '../react-desc-prop-types.js';
|
2
|
+
export declare const isActivableNode: (item: unknown) => item is DSMenuButtonT.MenuNodeActivableItem;
|
3
|
+
export declare const isActivableWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.MenuNodeActivableWithSubmenuItem;
|
4
|
+
export declare const isSkeletonNode: (item: unknown) => item is DSMenuButtonT.MenuNodeSkeletonItem;
|
5
|
+
export declare const isMultipleSelectOnlyNode: (item: unknown) => item is DSMenuButtonT.MenuNodeMultipleSelectItem;
|
6
|
+
export declare const isMultipleSelectWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem;
|
7
|
+
export declare const isMultipleSelectNode: (item: unknown) => item is DSMenuButtonT.MultipleSelectionableMenuNodes;
|
8
|
+
export declare const isSingleSelectOnlyNode: (item: unknown) => item is DSMenuButtonT.MenuNodeSingleSelectItem;
|
9
|
+
export declare const isSingleSelectNodeWithSubmenu: (item: unknown) => item is DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
|
10
|
+
export declare const isSingleSelectNode: (item: unknown) => item is DSMenuButtonT.SingleSelectionableMenuNodes;
|
11
|
+
export declare const isSelectionableNode: (item: unknown) => item is DSMenuButtonT.SelectionableMenuNodes;
|
12
|
+
export declare const getSelectionableNodes: (tree: DSMenuButtonT.MenuNode) => DSMenuButtonT.SelectionableMenuNodes[];
|
13
|
+
export declare const isWithSubmenuOnlyNode: (item: unknown) => item is DSMenuButtonT.MenuNodeWithSubmenuItem;
|
14
|
+
export declare const isSelectionableWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.SelectionablesWithSubmenuMenuNodes;
|
15
|
+
export declare const isWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.WithSubmenuMenuNodes;
|
16
|
+
export declare const getWithSubmenuNodes: (tree: DSMenuButtonT.MenuNode) => DSMenuButtonT.PseudoFocusableMenuNodes[];
|
17
|
+
export declare const isFocusableNode: (item: unknown) => item is DSMenuButtonT.PseudoFocusableMenuNodes;
|
18
|
+
export declare const getFocusableNodes: (tree: DSMenuButtonT.MenuNode) => DSMenuButtonT.PseudoFocusableMenuNodes[];
|
19
|
+
export declare const isSeparatorNode: (item: unknown) => item is DSMenuButtonT.MenuNodeSeparatorItem;
|
20
|
+
export declare const isGroup: (item: unknown) => item is DSMenuButtonT.MenuNodeGroupItem;
|
21
|
+
export declare const isRootNode: (item: unknown) => item is DSMenuButtonT.MenuNodeRootItem;
|
22
|
+
export declare const isMenuNodeAllowedToHaveChildren: (item: unknown) => item is DSMenuButtonT.MenuNodesAllowedToHaveChildren;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { UseDSTreeT } from '@elliemae/ds-tree-model';
|
2
|
+
import { type DSMenuButtonT } from '../react-desc-prop-types.js';
|
3
|
+
type UseOptionsArrayToDsTreeRootNodeConfig = {
|
4
|
+
options: DSMenuButtonT.MenuItemInterface[];
|
5
|
+
instanceUid: string;
|
6
|
+
};
|
7
|
+
export declare const useOptionsArrayToDsTree: ({ options, instanceUid }: UseOptionsArrayToDsTreeRootNodeConfig) => UseDSTreeT.OutputT<DSMenuButtonT.MenuItemInterface>;
|
8
|
+
export {};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@elliemae/ds-menu-button",
|
3
|
-
"version": "3.45.0-rc.
|
3
|
+
"version": "3.45.0-rc.3",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "ICE MT - Dimsum - Menu Button",
|
6
6
|
"files": [
|
@@ -37,32 +37,34 @@
|
|
37
37
|
},
|
38
38
|
"dependencies": {
|
39
39
|
"@xstyled/styled-components": "~3.6.0",
|
40
|
-
"
|
41
|
-
"@elliemae/ds-
|
42
|
-
"@elliemae/ds-
|
43
|
-
"@elliemae/ds-
|
44
|
-
"@elliemae/ds-
|
45
|
-
"@elliemae/ds-
|
46
|
-
"@elliemae/ds-
|
47
|
-
"@elliemae/ds-
|
48
|
-
"@elliemae/ds-
|
40
|
+
"@elliemae/ds-button-v2": "3.45.0-rc.3",
|
41
|
+
"@elliemae/ds-floating-context": "3.45.0-rc.3",
|
42
|
+
"@elliemae/ds-grid": "3.45.0-rc.3",
|
43
|
+
"@elliemae/ds-hooks-on-blur-out": "3.45.0-rc.3",
|
44
|
+
"@elliemae/ds-icons": "3.45.0-rc.3",
|
45
|
+
"@elliemae/ds-menu-items-commons": "3.45.0-rc.3",
|
46
|
+
"@elliemae/ds-props-helpers": "3.45.0-rc.3",
|
47
|
+
"@elliemae/ds-system": "3.45.0-rc.3",
|
48
|
+
"@elliemae/ds-tree-model": "3.45.0-rc.3"
|
49
49
|
},
|
50
50
|
"devDependencies": {
|
51
51
|
"@elliemae/pui-cli": "9.0.0-next.50",
|
52
|
-
"@xstyled/system": "3.7.0",
|
53
|
-
"lodash": "^4.17.21",
|
54
52
|
"styled-components": "~5.3.9",
|
55
|
-
"@elliemae/ds-
|
53
|
+
"@elliemae/ds-dropdownmenu-v2": "3.45.0-rc.3",
|
54
|
+
"@elliemae/ds-monorepo-devops": "3.45.0-rc.3",
|
55
|
+
"@elliemae/ds-typescript-helpers": "3.45.0-rc.3"
|
56
56
|
},
|
57
57
|
"peerDependencies": {
|
58
|
-
"
|
58
|
+
"@testing-library/jest-dom": "~5.16.4",
|
59
|
+
"@testing-library/react": "~12.1.3",
|
60
|
+
"@testing-library/user-event": "~13.5.0",
|
59
61
|
"react": "^17.0.2",
|
60
62
|
"react-dom": "^17.0.2",
|
61
63
|
"styled-components": "~5.3.9"
|
62
64
|
},
|
63
65
|
"publishConfig": {
|
64
66
|
"access": "public",
|
65
|
-
"typeSafety":
|
67
|
+
"typeSafety": true
|
66
68
|
},
|
67
69
|
"scripts": {
|
68
70
|
"dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
|
@@ -71,6 +73,6 @@
|
|
71
73
|
"lint:strict": "node ../../../scripts/lint-strict.mjs",
|
72
74
|
"dts": "node ../../../scripts/dts.mjs",
|
73
75
|
"build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
|
74
|
-
"checkDeps": "
|
76
|
+
"checkDeps": "npx -yes ../../util/ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
75
77
|
}
|
76
78
|
}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": 3,
|
3
|
-
"sources": ["../../src/DSMenuButtonCTX.ts", "../../../../../scripts/build/transpile/react-shim.js"],
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport type { MenuButtonT } from './react-desc-prop-types.js';\ninterface MenuButtonContextProps<T extends object = object> {\n focusedOption: string | null;\n setFocusedOption: React.Dispatch<React.SetStateAction<string | null>>;\n selectedKeys: string[];\n onSelectionChange: (selectedKeys: string[], parentId: string, item: MenuButtonT.Item) => void;\n triggerElementRef: HTMLElement | null;\n setTriggerElementRef: React.Dispatch<React.SetStateAction<HTMLElement | null>>;\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n propsWithDefault: MenuButtonT.InternalProps<T>;\n}\n\nconst defaultContext = {} as MenuButtonContextProps<object>;\n\nexport const MenuButtonContext = React.createContext(defaultContext);\n", "import * as React from 'react';\nexport { React };\n"],
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAclB,MAAM,iBAAiB,CAAC;AAEjB,MAAM,oBAAoB,aAAAA,QAAM,cAAc,cAAc;",
|
6
|
-
"names": ["React"]
|
7
|
-
}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": 3,
|
3
|
-
"sources": ["../../../src/parts/ItemFactory.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
4
|
-
"sourcesContent": ["/* eslint-disable import/no-cycle */\n/* eslint-disable arrow-body-style */\nimport React from 'react';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { MenuItem, Section, Separator } from './MenuItem.js';\n\nimport type { MenuButtonT } from '../react-desc-prop-types.js';\ninterface ItemFactoryProps {\n item: MenuButtonT.Item;\n level: number;\n selectionMode?: 'single' | 'multiple';\n parentId?: string;\n tabIndex: TypescriptHelpersT.WCAGTabIndex;\n onFocus: React.FocusEventHandler;\n innerRef: TypescriptHelpersT.AnyRef<HTMLElement>;\n}\n\nexport const ItemFactory: React.FC<ItemFactoryProps> = ({\n item,\n innerRef,\n onFocus,\n tabIndex,\n level,\n selectionMode,\n parentId,\n}) => {\n if (item.type === 'separator') {\n return <Separator />;\n }\n if (item.type === 'section') {\n return <Section item={item} />;\n }\n return (\n <MenuItem\n key={item.dsId}\n item={item}\n innerRef={innerRef}\n onFocus={onFocus}\n tabIndex={tabIndex}\n level={level}\n parentId={parentId}\n selectionMode={selectionMode || item.type}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD2BZ;AAvBX,sBAA6C;AAatC,MAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,MAAI,KAAK,SAAS,aAAa;AAC7B,WAAO,4CAAC,6BAAU;AAAA,EACpB;AACA,MAAI,KAAK,SAAS,WAAW;AAC3B,WAAO,4CAAC,2BAAQ,MAAY;AAAA,EAC9B;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe,iBAAiB,KAAK;AAAA;AAAA,IAPhC,KAAK;AAAA,EAQZ;AAEJ;",
|
6
|
-
"names": []
|
7
|
-
}
|
package/dist/cjs/parts/Menu.js
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
26
|
-
mod
|
27
|
-
));
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
29
|
-
var Menu_exports = {};
|
30
|
-
__export(Menu_exports, {
|
31
|
-
Menu: () => Menu
|
32
|
-
});
|
33
|
-
module.exports = __toCommonJS(Menu_exports);
|
34
|
-
var React = __toESM(require("react"));
|
35
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
36
|
-
var import_react = __toESM(require("react"));
|
37
|
-
var import_ds_hooks_keyboard_navigation = require("@elliemae/ds-hooks-keyboard-navigation");
|
38
|
-
var import_DSMenuButtonCTX = require("../DSMenuButtonCTX.js");
|
39
|
-
var import_styled = require("../styled.js");
|
40
|
-
var import_ItemFactory = require("./ItemFactory.js");
|
41
|
-
const Menu = (props) => {
|
42
|
-
const { referenceElement, showSubMenu, selectionMode, setShowSubMenu, parentId, level, items, minWidth } = props;
|
43
|
-
const { focusedOption, setFocusedOption } = (0, import_react.useContext)(import_DSMenuButtonCTX.MenuButtonContext);
|
44
|
-
const listRef = import_react.default.useRef(null);
|
45
|
-
const rect = referenceElement?.getBoundingClientRect();
|
46
|
-
const [coords, setCoords] = (0, import_react.useState)({ x: rect?.width ?? 0, y: 0 });
|
47
|
-
import_react.default.useLayoutEffect(() => {
|
48
|
-
const listRect = listRef?.current?.getBoundingClientRect();
|
49
|
-
if (!listRect) return;
|
50
|
-
if (level === 1) {
|
51
|
-
if (listRect.bottom < window.innerHeight) {
|
52
|
-
setCoords({ x: 0, y: rect?.height || 0 });
|
53
|
-
} else {
|
54
|
-
setCoords({ x: 0, y: -listRect.height });
|
55
|
-
}
|
56
|
-
return;
|
57
|
-
}
|
58
|
-
if (listRect.right > window.innerWidth) {
|
59
|
-
setCoords({ x: -(minWidth || rect?.width || 0), y: 0 });
|
60
|
-
} else {
|
61
|
-
setCoords({ x: rect?.width || 0, y: 0 });
|
62
|
-
}
|
63
|
-
}, [level, minWidth, rect?.height, rect?.width, referenceElement]);
|
64
|
-
const config = {
|
65
|
-
options: items.filter((item) => item.type !== "separator" && item.type !== "section").map((item) => item.dsId),
|
66
|
-
direction: import_ds_hooks_keyboard_navigation.DIRECTIONS.VERTICAL,
|
67
|
-
focusedOption,
|
68
|
-
setFocusedOption
|
69
|
-
};
|
70
|
-
const { getWrapperProps, getItemProps } = (0, import_ds_hooks_keyboard_navigation.useKeyboardNavigation)(config);
|
71
|
-
const { onKeyDown, onBlur } = getWrapperProps();
|
72
|
-
const handleOnMenuKeyDown = (0, import_react.useCallback)(
|
73
|
-
(event) => {
|
74
|
-
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
75
|
-
event.stopPropagation();
|
76
|
-
}
|
77
|
-
onKeyDown(event);
|
78
|
-
},
|
79
|
-
[onKeyDown]
|
80
|
-
);
|
81
|
-
const handleOnBlur = (0, import_react.useCallback)(
|
82
|
-
(e) => {
|
83
|
-
setTimeout(() => {
|
84
|
-
if (!listRef.current?.contains(document.activeElement)) {
|
85
|
-
setShowSubMenu(false);
|
86
|
-
}
|
87
|
-
});
|
88
|
-
onBlur(e);
|
89
|
-
},
|
90
|
-
[onBlur, setShowSubMenu]
|
91
|
-
);
|
92
|
-
const subMenuStyles = (0, import_react.useMemo)(
|
93
|
-
() => ({
|
94
|
-
position: "absolute",
|
95
|
-
top: coords.y,
|
96
|
-
left: coords.x,
|
97
|
-
zIndex: 1001 + level,
|
98
|
-
minWidth
|
99
|
-
}),
|
100
|
-
[coords, level, minWidth]
|
101
|
-
);
|
102
|
-
if (!referenceElement || !showSubMenu) return null;
|
103
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
104
|
-
import_styled.StyledMenu,
|
105
|
-
{
|
106
|
-
innerRef: listRef,
|
107
|
-
role: "menu",
|
108
|
-
onKeyDown: handleOnMenuKeyDown,
|
109
|
-
onBlur: handleOnBlur,
|
110
|
-
style: subMenuStyles,
|
111
|
-
children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
112
|
-
import_ItemFactory.ItemFactory,
|
113
|
-
{
|
114
|
-
item,
|
115
|
-
selectionMode,
|
116
|
-
level,
|
117
|
-
parentId,
|
118
|
-
...getItemProps(item.dsId)
|
119
|
-
},
|
120
|
-
item.dsId
|
121
|
-
))
|
122
|
-
}
|
123
|
-
);
|
124
|
-
};
|
125
|
-
//# sourceMappingURL=Menu.js.map
|
@@ -1,7 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": 3,
|
3
|
-
"sources": ["../../../src/parts/Menu.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
4
|
-
"sourcesContent": ["/* eslint-disable import/no-cycle */\nimport React, { useState, useMemo, useCallback, useContext } from 'react';\nimport { useKeyboardNavigation, DIRECTIONS } from '@elliemae/ds-hooks-keyboard-navigation';\nimport { MenuButtonContext } from '../DSMenuButtonCTX.js';\nimport type { MenuButtonT } from '../react-desc-prop-types.js';\nimport { StyledMenu } from '../styled.js';\nimport { ItemFactory } from './ItemFactory.js';\n\ninterface SubMenuProps {\n referenceElement: HTMLElement | null;\n showSubMenu: boolean;\n selectionMode?: 'single' | 'multiple';\n setShowSubMenu: React.Dispatch<React.SetStateAction<boolean>>;\n parentId?: string;\n level: number;\n items: MenuButtonT.Item[];\n minWidth?: string | number;\n}\n\nexport const Menu: React.FC<SubMenuProps> = (props) => {\n const { referenceElement, showSubMenu, selectionMode, setShowSubMenu, parentId, level, items, minWidth } = props;\n const { focusedOption, setFocusedOption } = useContext(MenuButtonContext);\n const listRef = React.useRef<HTMLDivElement>(null);\n const rect = referenceElement?.getBoundingClientRect();\n const [coords, setCoords] = useState<{ x: number; y: number }>({ x: rect?.width ?? 0, y: 0 });\n\n // this logic will be part of the new popper custom hook\n React.useLayoutEffect(() => {\n const listRect = listRef?.current?.getBoundingClientRect();\n if (!listRect) return;\n if (level === 1) {\n if (listRect.bottom < window.innerHeight) {\n setCoords({ x: 0, y: rect?.height || 0 });\n } else {\n setCoords({ x: 0, y: -listRect.height });\n }\n return;\n }\n if (listRect.right > window.innerWidth) {\n setCoords({ x: -(minWidth || rect?.width || 0), y: 0 });\n } else {\n setCoords({ x: rect?.width || 0, y: 0 });\n }\n }, [level, minWidth, rect?.height, rect?.width, referenceElement]);\n\n const config = {\n options: items.filter((item) => item.type !== 'separator' && item.type !== 'section').map((item) => item.dsId),\n direction: DIRECTIONS.VERTICAL,\n focusedOption,\n setFocusedOption,\n };\n\n const { getWrapperProps, getItemProps } = useKeyboardNavigation(config);\n\n const { onKeyDown, onBlur } = getWrapperProps();\n\n const handleOnMenuKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.stopPropagation();\n }\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n const handleOnBlur: React.FocusEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n setTimeout(() => {\n if (!listRef.current?.contains(document.activeElement)) {\n setShowSubMenu(false);\n }\n });\n onBlur(e);\n },\n [onBlur, setShowSubMenu],\n );\n\n const subMenuStyles = useMemo(\n () => ({\n position: 'absolute',\n top: coords.y,\n left: coords.x,\n zIndex: 1001 + level,\n minWidth,\n }),\n [coords, level, minWidth],\n );\n\n if (!referenceElement || !showSubMenu) return null;\n\n return (\n <StyledMenu\n innerRef={listRef}\n role=\"menu\"\n onKeyDown={handleOnMenuKeyDown}\n onBlur={handleOnBlur}\n style={subMenuStyles}\n >\n {items.map((item) => (\n <ItemFactory\n key={item.dsId}\n item={item}\n selectionMode={selectionMode}\n level={level}\n parentId={parentId}\n {...getItemProps(item.dsId)}\n />\n ))}\n </StyledMenu>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoGf;AAnGR,mBAAkE;AAClE,0CAAkD;AAClD,6BAAkC;AAElC,oBAA2B;AAC3B,yBAA4B;AAarB,MAAM,OAA+B,CAAC,UAAU;AACrD,QAAM,EAAE,kBAAkB,aAAa,eAAe,gBAAgB,UAAU,OAAO,OAAO,SAAS,IAAI;AAC3G,QAAM,EAAE,eAAe,iBAAiB,QAAI,yBAAW,wCAAiB;AACxE,QAAM,UAAU,aAAAA,QAAM,OAAuB,IAAI;AACjD,QAAM,OAAO,kBAAkB,sBAAsB;AACrD,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAmC,EAAE,GAAG,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;AAG5F,eAAAA,QAAM,gBAAgB,MAAM;AAC1B,UAAM,WAAW,SAAS,SAAS,sBAAsB;AACzD,QAAI,CAAC,SAAU;AACf,QAAI,UAAU,GAAG;AACf,UAAI,SAAS,SAAS,OAAO,aAAa;AACxC,kBAAU,EAAE,GAAG,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;AAAA,MAC1C,OAAO;AACL,kBAAU,EAAE,GAAG,GAAG,GAAG,CAAC,SAAS,OAAO,CAAC;AAAA,MACzC;AACA;AAAA,IACF;AACA,QAAI,SAAS,QAAQ,OAAO,YAAY;AACtC,gBAAU,EAAE,GAAG,EAAE,YAAY,MAAM,SAAS,IAAI,GAAG,EAAE,CAAC;AAAA,IACxD,OAAO;AACL,gBAAU,EAAE,GAAG,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;AAAA,IACzC;AAAA,EACF,GAAG,CAAC,OAAO,UAAU,MAAM,QAAQ,MAAM,OAAO,gBAAgB,CAAC;AAEjE,QAAM,SAAS;AAAA,IACb,SAAS,MAAM,OAAO,CAAC,SAAS,KAAK,SAAS,eAAe,KAAK,SAAS,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;AAAA,IAC7G,WAAW,+CAAW;AAAA,IACtB;AAAA,IACA;AAAA,EACF;AAEA,QAAM,EAAE,iBAAiB,aAAa,QAAI,2DAAsB,MAAM;AAEtE,QAAM,EAAE,WAAW,OAAO,IAAI,gBAAgB;AAE9C,QAAM,0BAAsB;AAAA,IAC1B,CAAC,UAA+B;AAC9B,UAAI,MAAM,QAAQ,eAAe,MAAM,QAAQ,WAAW;AACxD,cAAM,gBAAgB;AAAA,MACxB;AACA,gBAAU,KAAK;AAAA,IACjB;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,mBAAwD;AAAA,IAC5D,CAAC,MAAM;AACL,iBAAW,MAAM;AACf,YAAI,CAAC,QAAQ,SAAS,SAAS,SAAS,aAAa,GAAG;AACtD,yBAAe,KAAK;AAAA,QACtB;AAAA,MACF,CAAC;AACD,aAAO,CAAC;AAAA,IACV;AAAA,IACA,CAAC,QAAQ,cAAc;AAAA,EACzB;AAEA,QAAM,oBAAgB;AAAA,IACpB,OAAO;AAAA,MACL,UAAU;AAAA,MACV,KAAK,OAAO;AAAA,MACZ,MAAM,OAAO;AAAA,MACb,QAAQ,OAAO;AAAA,MACf;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,OAAO,QAAQ;AAAA,EAC1B;AAEA,MAAI,CAAC,oBAAoB,CAAC,YAAa,QAAO;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MAEN,gBAAM,IAAI,CAAC,SACV;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAG,aAAa,KAAK,IAAI;AAAA;AAAA,QALrB,KAAK;AAAA,MAMZ,CACD;AAAA;AAAA,EACH;AAEJ;",
|
6
|
-
"names": ["React"]
|
7
|
-
}
|