@elliemae/ds-menu-button 3.46.0-rc.2 → 3.46.0-rc.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/dist/cjs/config/useMenuButton.js.map +2 -2
  2. package/dist/cjs/config/useSplitInherithedProps.js +31 -15
  3. package/dist/cjs/config/useSplitInherithedProps.js.map +2 -2
  4. package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js +11 -1
  5. package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +2 -2
  6. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useAdvancedValidation.js +4 -4
  7. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useAdvancedValidation.js.map +1 -1
  8. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +7 -7
  9. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +1 -1
  10. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js +3 -0
  11. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js.map +2 -2
  12. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js +14 -14
  13. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js.map +1 -1
  14. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js +2 -2
  15. package/dist/cjs/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js.map +1 -1
  16. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js +2 -2
  17. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js.map +1 -1
  18. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js +3 -3
  19. package/dist/cjs/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js.map +1 -1
  20. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js +2 -2
  21. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js.map +1 -1
  22. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js +2 -2
  23. package/dist/cjs/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js.map +1 -1
  24. package/dist/cjs/react-desc-prop-types.js +3 -7
  25. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  26. package/dist/cjs/utils/nodesTypeguardsAndGetters.js +18 -56
  27. package/dist/cjs/utils/nodesTypeguardsAndGetters.js.map +2 -2
  28. package/dist/esm/config/useMenuButton.js.map +2 -2
  29. package/dist/esm/config/useSplitInherithedProps.js +31 -15
  30. package/dist/esm/config/useSplitInherithedProps.js.map +2 -2
  31. package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js +11 -1
  32. package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +2 -2
  33. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useAdvancedValidation.js +4 -4
  34. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useAdvancedValidation.js.map +1 -1
  35. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +7 -7
  36. package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +1 -1
  37. package/dist/esm/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js +3 -0
  38. package/dist/esm/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.js.map +2 -2
  39. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js +14 -14
  40. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.js.map +1 -1
  41. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js +2 -2
  42. package/dist/esm/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.js.map +1 -1
  43. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js +2 -2
  44. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectMenuItem.js.map +1 -1
  45. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js +3 -3
  46. package/dist/esm/parts/DSMenuItemRendererFactory/MultipleSelectWithSubmenuMenuItem.js.map +1 -1
  47. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js +2 -2
  48. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectMenuItem.js.map +1 -1
  49. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js +2 -2
  50. package/dist/esm/parts/DSMenuItemRendererFactory/SingleSelectWithSubmenuMenuItem.js.map +1 -1
  51. package/dist/esm/react-desc-prop-types.js +3 -7
  52. package/dist/esm/react-desc-prop-types.js.map +2 -2
  53. package/dist/esm/utils/nodesTypeguardsAndGetters.js +18 -56
  54. package/dist/esm/utils/nodesTypeguardsAndGetters.js.map +2 -2
  55. package/dist/types/config/useSplitInherithedProps.d.ts +3 -3
  56. package/dist/types/parts/DSMenuBehaviouralContextProvider/react-desc-prop-types.d.ts +1 -0
  57. package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/multipleSelectionHelpers.d.ts +3 -3
  58. package/dist/types/parts/DSMenuBehaviouralContextProvider/utils/singleSelectionHelpers.d.ts +2 -2
  59. package/dist/types/react-desc-prop-types.d.ts +2 -2
  60. package/dist/types/utils/nodesTypeguardsAndGetters.d.ts +113 -1
  61. package/package.json +13 -13
@@ -1,22 +1,134 @@
1
1
  import { type DSMenuButtonT } from '../react-desc-prop-types.js';
2
+ /**
3
+ * Heuristic to determine if the selected item is an item or a node.
4
+ * Not perfect because JavaScript is not typed.
5
+ * If app devs provide an object that matches all of those conditions, it's an edge case the app devs should handle.
6
+ * @param {unknown} item - The item to check.
7
+ * @returns {boolean} - True if the item is (heuristically) a menu node, false otherwise.
8
+ */
9
+ export declare const isObjectAMenuNode: (item: unknown) => item is DSMenuButtonT.MenuNode;
10
+ /**
11
+ * Checks if the item is an activable node.
12
+ * @param {unknown} item - The item to check.
13
+ * @returns {boolean} - True if the item is an activable node, false otherwise.
14
+ */
2
15
  export declare const isActivableNode: (item: unknown) => item is DSMenuButtonT.MenuNodeActivableItem;
3
- export declare const isActivableWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.MenuNodeActivableWithSubmenuItem;
16
+ /**
17
+ * Checks if the item is a skeleton node.
18
+ * @param {unknown} item - The item to check.
19
+ * @returns {boolean} - True if the item is a skeleton node, false otherwise.
20
+ */
4
21
  export declare const isSkeletonNode: (item: unknown) => item is DSMenuButtonT.MenuNodeSkeletonItem;
22
+ /**
23
+ * Checks if the item is a multiple select only node.
24
+ * @param {unknown} item - The item to check.
25
+ * @returns {boolean} - True if the item is a multiple select only node, false otherwise.
26
+ */
5
27
  export declare const isMultipleSelectOnlyNode: (item: unknown) => item is DSMenuButtonT.MenuNodeMultipleSelectItem;
28
+ /**
29
+ * Checks if the item is a multiple select node with a submenu.
30
+ * @param {unknown} item - The item to check.
31
+ * @returns {boolean} - True if the item is a multiple select node with a submenu, false otherwise.
32
+ */
6
33
  export declare const isMultipleSelectWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.MenuNodeMultipleSelectWithSubmenuItem;
34
+ /**
35
+ * Checks if the item is a multiple select node.
36
+ * @param {unknown} item - The item to check.
37
+ * @returns {boolean} - True if the item is a multiple select node, false otherwise.
38
+ */
7
39
  export declare const isMultipleSelectNode: (item: unknown) => item is DSMenuButtonT.MultipleSelectionableMenuNodes;
40
+ /**
41
+ * Checks if the item is a single select only node.
42
+ * @param {unknown} item - The item to check.
43
+ * @returns {boolean} - True if the item is a single select only node, false otherwise.
44
+ */
8
45
  export declare const isSingleSelectOnlyNode: (item: unknown) => item is DSMenuButtonT.MenuNodeSingleSelectItem;
46
+ /**
47
+ * Checks if the item is a single select node with a submenu.
48
+ * @param {unknown} item - The item to check.
49
+ * @returns {boolean} - True if the item is a single select node with a submenu, false otherwise.
50
+ */
9
51
  export declare const isSingleSelectNodeWithSubmenu: (item: unknown) => item is DSMenuButtonT.MenuNodeSingleSelectWithSubmenuItem;
52
+ /**
53
+ * Checks if the item is a single select node.
54
+ * @param {unknown} item - The item to check.
55
+ * @returns {boolean} - True if the item is a single select node, false otherwise.
56
+ */
10
57
  export declare const isSingleSelectNode: (item: unknown) => item is DSMenuButtonT.SingleSelectionableMenuNodes;
58
+ /**
59
+ * Checks if the item is a selectionable node.
60
+ * @param {unknown} item - The item to check.
61
+ * @returns {boolean} - True if the item is a selectionable node, false otherwise.
62
+ */
11
63
  export declare const isSelectionableNode: (item: unknown) => item is DSMenuButtonT.SelectionableMenuNodes;
64
+ /**
65
+ * Gets all selectionable nodes from the tree.
66
+ * @param {DSMenuButtonT.MenuNode} tree - The tree to search.
67
+ * @returns {DSMenuButtonT.SelectionableMenuNodes[]} - An array of selectionable nodes.
68
+ */
12
69
  export declare const getSelectionableNodes: (tree: DSMenuButtonT.MenuNode) => DSMenuButtonT.SelectionableMenuNodes[];
70
+ /**
71
+ * Checks if the item is a node with a submenu (and nothing else).
72
+ * @param {unknown} item - The item to check.
73
+ * @returns {boolean} - True if the item is a node with a submenu, false otherwise.
74
+ */
13
75
  export declare const isWithSubmenuOnlyNode: (item: unknown) => item is DSMenuButtonT.MenuNodeWithSubmenuItem;
76
+ /**
77
+ * Checks if the item is a selectionable node with a submenu.
78
+ * @param {unknown} item - The item to check.
79
+ * @returns {boolean} - True if the item is a selectionable node with a submenu, false otherwise.
80
+ */
14
81
  export declare const isSelectionableWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.SelectionablesWithSubmenuMenuNodes;
82
+ /**
83
+ * Checks if the item is an activable node with a submenu.
84
+ * @param {unknown} item - The item to check.
85
+ * @returns {boolean} - True if the item is an activable node with a submenu, false otherwise.
86
+ */
87
+ export declare const isActivableWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.MenuNodeActivableWithSubmenuItem;
88
+ /**
89
+ * Checks if the item is a node with a submenu.
90
+ * @param {unknown} item - The item to check.
91
+ * @returns {boolean} - True if the item is a node with a submenu, false otherwise.
92
+ */
15
93
  export declare const isWithSubmenuNode: (item: unknown) => item is DSMenuButtonT.WithSubmenuMenuNodes;
94
+ /**
95
+ * Gets all nodes with a submenu from the tree.
96
+ * @param {DSMenuButtonT.MenuNode} tree - The tree to search.
97
+ * @returns {DSMenuButtonT.PseudoFocusableMenuNodes[]} - An array of nodes with a submenu.
98
+ */
16
99
  export declare const getWithSubmenuNodes: (tree: DSMenuButtonT.MenuNode) => DSMenuButtonT.PseudoFocusableMenuNodes[];
100
+ /**
101
+ * Checks if the item is a node that can be focused.
102
+ * @param {unknown} item - The item to check.
103
+ * @returns {boolean} - True if the item is a node that can be focused, false otherwise.
104
+ */
17
105
  export declare const isFocusableNode: (item: unknown) => item is DSMenuButtonT.PseudoFocusableMenuNodes;
106
+ /**
107
+ * Gets all nodes that can be focused from the tree.
108
+ * @param {DSMenuButtonT.MenuNode} tree - The tree to search.
109
+ * @returns {DSMenuButtonT.PseudoFocusableMenuNodes[]} - An array of nodes that can be focused.
110
+ */
18
111
  export declare const getFocusableNodes: (tree: DSMenuButtonT.MenuNode) => DSMenuButtonT.PseudoFocusableMenuNodes[];
112
+ /**
113
+ * Checks if the item is a separator node.
114
+ * @param {unknown} item - The item to check.
115
+ * @returns {boolean} - True if the item is a separator node, false otherwise.
116
+ */
19
117
  export declare const isSeparatorNode: (item: unknown) => item is DSMenuButtonT.MenuNodeSeparatorItem;
118
+ /**
119
+ * Checks if the item is a group node.
120
+ * @param {unknown} item - The item to check.
121
+ * @returns {boolean} - True if the item is a group node, false otherwise.
122
+ */
20
123
  export declare const isGroup: (item: unknown) => item is DSMenuButtonT.MenuNodeGroupItem;
124
+ /**
125
+ * Checks if the given item is a root node of the menu.
126
+ * @param {DSMenuButtonT.MenuNode} tree - The tree to search.
127
+ * @returns {DSMenuButtonT.PseudoFocusableMenuNodes[]} - An array of nodes that can be focused.
128
+ * @remarks
129
+ * The root item is not a renderable item and must always be treated with special care.
130
+ *
131
+ * This function uses a hardcoded string to identify the root item.
132
+ */
21
133
  export declare const isRootNode: (item: unknown) => item is DSMenuButtonT.MenuNodeRootItem;
22
134
  export declare const isMenuNodeAllowedToHaveChildren: (item: unknown) => item is DSMenuButtonT.MenuNodesAllowedToHaveChildren;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-menu-button",
3
- "version": "3.46.0-rc.2",
3
+ "version": "3.46.0-rc.3",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Menu Button",
6
6
  "files": [
@@ -37,22 +37,22 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@xstyled/styled-components": "~3.6.0",
40
- "@elliemae/ds-button-v2": "3.46.0-rc.2",
41
- "@elliemae/ds-grid": "3.46.0-rc.2",
42
- "@elliemae/ds-icons": "3.46.0-rc.2",
43
- "@elliemae/ds-menu-items-commons": "3.46.0-rc.2",
44
- "@elliemae/ds-props-helpers": "3.46.0-rc.2",
45
- "@elliemae/ds-system": "3.46.0-rc.2",
46
- "@elliemae/ds-tree-model": "3.46.0-rc.2",
47
- "@elliemae/ds-hooks-on-blur-out": "3.46.0-rc.2",
48
- "@elliemae/ds-floating-context": "3.46.0-rc.2"
40
+ "@elliemae/ds-button-v2": "3.46.0-rc.3",
41
+ "@elliemae/ds-floating-context": "3.46.0-rc.3",
42
+ "@elliemae/ds-grid": "3.46.0-rc.3",
43
+ "@elliemae/ds-hooks-on-blur-out": "3.46.0-rc.3",
44
+ "@elliemae/ds-icons": "3.46.0-rc.3",
45
+ "@elliemae/ds-menu-items-commons": "3.46.0-rc.3",
46
+ "@elliemae/ds-props-helpers": "3.46.0-rc.3",
47
+ "@elliemae/ds-system": "3.46.0-rc.3",
48
+ "@elliemae/ds-tree-model": "3.46.0-rc.3"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@elliemae/pui-cli": "9.0.0-next.50",
52
52
  "styled-components": "~5.3.9",
53
- "@elliemae/ds-monorepo-devops": "3.46.0-rc.2",
54
- "@elliemae/ds-typescript-helpers": "3.46.0-rc.2",
55
- "@elliemae/ds-dropdownmenu-v2": "3.46.0-rc.2"
53
+ "@elliemae/ds-dropdownmenu-v2": "3.46.0-rc.3",
54
+ "@elliemae/ds-monorepo-devops": "3.46.0-rc.3",
55
+ "@elliemae/ds-typescript-helpers": "3.46.0-rc.3"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@testing-library/jest-dom": "~5.16.4",