@elliemae/ds-mini-toolbar 2.3.0-next.3 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/cjs/Components/MiniToolbar.js +81 -0
  2. package/dist/cjs/Components/MiniToolbar.js.map +7 -0
  3. package/dist/cjs/Components/ToolbarShortcut.js +72 -0
  4. package/dist/cjs/Components/ToolbarShortcut.js.map +7 -0
  5. package/dist/cjs/Components/outOfTheBox/Button.js +41 -0
  6. package/dist/cjs/Components/outOfTheBox/Button.js.map +7 -0
  7. package/dist/cjs/Components/outOfTheBox/ComboBox.js +39 -0
  8. package/dist/cjs/Components/outOfTheBox/ComboBox.js.map +7 -0
  9. package/dist/cjs/Components/outOfTheBox/IconItem.js +50 -0
  10. package/dist/cjs/Components/outOfTheBox/IconItem.js.map +7 -0
  11. package/dist/cjs/Components/outOfTheBox/SearchBox.js +58 -0
  12. package/dist/cjs/Components/outOfTheBox/SearchBox.js.map +7 -0
  13. package/dist/cjs/Components/outOfTheBox/Separator.js +39 -0
  14. package/dist/cjs/Components/outOfTheBox/Separator.js.map +7 -0
  15. package/dist/cjs/Components/outOfTheBox/index.js +53 -0
  16. package/dist/cjs/Components/outOfTheBox/index.js.map +7 -0
  17. package/dist/cjs/hooks/useGenerateItems.js +120 -0
  18. package/dist/cjs/hooks/useGenerateItems.js.map +7 -0
  19. package/dist/cjs/index.d.js +27 -0
  20. package/dist/cjs/index.d.js.map +7 -0
  21. package/dist/cjs/index.js +38 -0
  22. package/dist/cjs/index.js.map +7 -0
  23. package/dist/cjs/propTypes.js +69 -0
  24. package/dist/cjs/propTypes.js.map +7 -0
  25. package/dist/cjs/styles.js +62 -0
  26. package/dist/cjs/styles.js.map +7 -0
  27. package/dist/esm/Components/MiniToolbar.js +52 -0
  28. package/dist/esm/Components/MiniToolbar.js.map +7 -0
  29. package/dist/esm/Components/ToolbarShortcut.js +43 -0
  30. package/dist/esm/Components/ToolbarShortcut.js.map +7 -0
  31. package/dist/esm/Components/outOfTheBox/Button.js +12 -0
  32. package/dist/esm/Components/outOfTheBox/Button.js.map +7 -0
  33. package/dist/esm/Components/outOfTheBox/ComboBox.js +10 -0
  34. package/dist/esm/Components/outOfTheBox/ComboBox.js.map +7 -0
  35. package/dist/esm/Components/outOfTheBox/IconItem.js +21 -0
  36. package/dist/esm/Components/outOfTheBox/IconItem.js.map +7 -0
  37. package/dist/esm/Components/outOfTheBox/SearchBox.js +29 -0
  38. package/dist/esm/Components/outOfTheBox/SearchBox.js.map +7 -0
  39. package/dist/esm/Components/outOfTheBox/Separator.js +10 -0
  40. package/dist/esm/Components/outOfTheBox/Separator.js.map +7 -0
  41. package/dist/esm/Components/outOfTheBox/index.js +24 -0
  42. package/dist/esm/Components/outOfTheBox/index.js.map +7 -0
  43. package/dist/esm/hooks/useGenerateItems.js +102 -0
  44. package/dist/esm/hooks/useGenerateItems.js.map +7 -0
  45. package/dist/esm/index.d.js +2 -0
  46. package/dist/esm/index.d.js.map +7 -0
  47. package/dist/esm/index.js +9 -0
  48. package/dist/esm/index.js.map +7 -0
  49. package/dist/esm/propTypes.js +40 -0
  50. package/dist/esm/propTypes.js.map +7 -0
  51. package/dist/esm/styles.js +33 -0
  52. package/dist/esm/styles.js.map +7 -0
  53. package/{types → dist/types}/Components/MiniToolbar.d.ts +0 -0
  54. package/{types → dist/types}/Components/ToolbarShortcut.d.ts +0 -0
  55. package/{types → dist/types}/Components/outOfTheBox/Button.d.ts +0 -0
  56. package/{types → dist/types}/Components/outOfTheBox/ComboBox.d.ts +0 -0
  57. package/{types → dist/types}/Components/outOfTheBox/IconItem.d.ts +0 -0
  58. package/{types → dist/types}/Components/outOfTheBox/SearchBox.d.ts +0 -0
  59. package/{types → dist/types}/Components/outOfTheBox/Separator.d.ts +0 -0
  60. package/{types → dist/types}/Components/outOfTheBox/index.d.ts +0 -0
  61. package/{types → dist/types}/hooks/useGenerateItems.d.ts +0 -0
  62. package/{types → dist/types}/index.d.d.ts +0 -0
  63. package/{types → dist/types}/index.d.ts +0 -0
  64. package/{types → dist/types}/propTypes.d.ts +0 -0
  65. package/{types → dist/types}/styles.d.ts +0 -0
  66. package/{types → dist/types}/tests/DSMiniToolbar.events.test.d.ts +0 -0
  67. package/{types → dist/types}/tests/DSMiniToolbar.keyboard.test.d.ts +0 -0
  68. package/{types → dist/types}/tests/DSMiniToolbar.test.d.ts +0 -0
  69. package/{types → dist/types}/tests/utils.test.d.ts +0 -0
  70. package/package.json +50 -42
  71. package/cjs/Components/MiniToolbar.js +0 -70
  72. package/cjs/Components/ToolbarShortcut.js +0 -72
  73. package/cjs/Components/outOfTheBox/Button.js +0 -29
  74. package/cjs/Components/outOfTheBox/ComboBox.js +0 -25
  75. package/cjs/Components/outOfTheBox/IconItem.js +0 -36
  76. package/cjs/Components/outOfTheBox/SearchBox.js +0 -55
  77. package/cjs/Components/outOfTheBox/Separator.js +0 -19
  78. package/cjs/Components/outOfTheBox/index.js +0 -26
  79. package/cjs/hooks/useGenerateItems.js +0 -134
  80. package/cjs/index.d.js +0 -2
  81. package/cjs/index.js +0 -12
  82. package/cjs/propTypes.js +0 -35
  83. package/cjs/styles.js +0 -29
  84. package/esm/Components/MiniToolbar.js +0 -60
  85. package/esm/Components/ToolbarShortcut.js +0 -63
  86. package/esm/Components/outOfTheBox/Button.js +0 -20
  87. package/esm/Components/outOfTheBox/ComboBox.js +0 -17
  88. package/esm/Components/outOfTheBox/IconItem.js +0 -28
  89. package/esm/Components/outOfTheBox/SearchBox.js +0 -45
  90. package/esm/Components/outOfTheBox/Separator.js +0 -11
  91. package/esm/Components/outOfTheBox/index.js +0 -13
  92. package/esm/hooks/useGenerateItems.js +0 -125
  93. package/esm/index.d.js +0 -1
  94. package/esm/index.js +0 -2
  95. package/esm/propTypes.js +0 -30
  96. package/esm/styles.js +0 -17
@@ -0,0 +1,102 @@
1
+ import * as React from "react";
2
+ import React2, { useMemo } from "react";
3
+ import { uid } from "uid";
4
+ import { Search } from "@elliemae/ds-icons";
5
+ import {
6
+ ICON_ITEM,
7
+ SEPARATOR,
8
+ BUTTON,
9
+ SEARCH_BOX,
10
+ COMBO_BOX,
11
+ MiniToolbarButton,
12
+ MiniToolbarSeparator,
13
+ MiniToolbarSearchBox,
14
+ MiniToolbarIcon,
15
+ MiniToolbarComboBox
16
+ } from "../Components/outOfTheBox";
17
+ import { ToolbarShortcut } from "../Components/ToolbarShortcut";
18
+ import { MiniToolbarSearchButton } from "../Components/outOfTheBox/SearchBox";
19
+ const useGenerateItems = (items) => {
20
+ const instanceUID = useMemo(() => uid(6), []);
21
+ const shortcutItems = useMemo(() => items.filter((item) => item.hasShortcut || item.component === SEARCH_BOX || item.contextualRegion).map((item, index) => {
22
+ const { component, shortcutComponent, shortcutProps, sharedProps, contextualRegion, contextualRegionProps } = item;
23
+ let Component;
24
+ let ContextualRegion;
25
+ if (component === SEPARATOR)
26
+ return /* @__PURE__ */ React2.createElement(MiniToolbarSeparator, null);
27
+ if (component === BUTTON)
28
+ Component = MiniToolbarButton;
29
+ else if (component === ICON_ITEM)
30
+ Component = MiniToolbarIcon;
31
+ else if (component === COMBO_BOX)
32
+ Component = MiniToolbarComboBox;
33
+ else if (component === SEARCH_BOX) {
34
+ if (item.hasShortcut) {
35
+ Component = MiniToolbarSearchButton;
36
+ }
37
+ ContextualRegion = MiniToolbarSearchBox;
38
+ }
39
+ if (!ContextualRegion) {
40
+ ContextualRegion = contextualRegion;
41
+ }
42
+ if (!Component) {
43
+ Component = shortcutComponent;
44
+ }
45
+ return /* @__PURE__ */ React2.createElement(ToolbarShortcut, {
46
+ key: `${instanceUID}-shortcut-${index}`,
47
+ Component,
48
+ shortcutProps,
49
+ sharedProps,
50
+ ContextualRegion,
51
+ contextualRegionProps
52
+ });
53
+ }), [instanceUID, items]);
54
+ const dropdownMenuItems = useMemo(() => items.map((item, index) => {
55
+ const { component, sharedProps, dropdownComponentProps } = item;
56
+ const dropdownItem = {};
57
+ const { Icon, color, label, onClick } = {
58
+ ...sharedProps,
59
+ ...dropdownComponentProps
60
+ };
61
+ if (component === SEPARATOR)
62
+ dropdownItem.type = "separator";
63
+ else {
64
+ dropdownItem.id = `${instanceUID}-dropdown-${index}`;
65
+ dropdownItem.onClick = () => onClick(item);
66
+ dropdownItem.label = label;
67
+ dropdownItem.onKeyDown = (e) => {
68
+ if (e.key === "Enter" || e.key === " ") {
69
+ onClick(item);
70
+ }
71
+ };
72
+ }
73
+ if (component === ICON_ITEM) {
74
+ dropdownItem.leftAddon = /* @__PURE__ */ React2.createElement(Icon, {
75
+ color
76
+ });
77
+ } else if (component === SEARCH_BOX) {
78
+ dropdownItem.leftAddon = /* @__PURE__ */ React2.createElement(Search, {
79
+ color
80
+ });
81
+ } else if (component === COMBO_BOX) {
82
+ dropdownItem.type = "subMenu";
83
+ dropdownItem.label = label;
84
+ dropdownItem.subItems = sharedProps.options.map((option, index2) => {
85
+ option.id = `${instanceUID}-option-${index2}`;
86
+ option.onClick = () => dropdownComponentProps.onSelectMenuItem(option);
87
+ option.onKeyDown = (e) => {
88
+ if (e.key === " " || e.key === "Enter") {
89
+ dropdownComponentProps.onSelectMenuItem(option);
90
+ }
91
+ };
92
+ return option;
93
+ });
94
+ }
95
+ return dropdownItem;
96
+ }), [instanceUID, items]);
97
+ return [shortcutItems, dropdownMenuItems];
98
+ };
99
+ export {
100
+ useGenerateItems
101
+ };
102
+ //# sourceMappingURL=useGenerateItems.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useGenerateItems.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo } from 'react';\nimport { uid } from 'uid';\nimport { Search } from '@elliemae/ds-icons';\nimport {\n ICON_ITEM,\n SEPARATOR,\n BUTTON,\n SEARCH_BOX,\n COMBO_BOX,\n MiniToolbarButton,\n MiniToolbarSeparator,\n MiniToolbarSearchBox,\n MiniToolbarIcon,\n MiniToolbarComboBox,\n} from '../Components/outOfTheBox';\nimport { ToolbarShortcut } from '../Components/ToolbarShortcut';\nimport { MiniToolbarSearchButton } from '../Components/outOfTheBox/SearchBox';\nimport { GeneratedDropdownItemT, MiniToolbarItemT } from '../index.d';\n\nconst useGenerateItems = (items: MiniToolbarItemT[]): [React.ReactElement[], GeneratedDropdownItemT[]] => {\n const instanceUID = useMemo(() => uid(6), []);\n\n const shortcutItems = useMemo(\n () =>\n items\n .filter((item) => item.hasShortcut || item.component === SEARCH_BOX || item.contextualRegion)\n .map((item, index) => {\n const { component, shortcutComponent, shortcutProps, sharedProps, contextualRegion, contextualRegionProps } =\n item;\n\n let Component;\n let ContextualRegion;\n\n if (component === SEPARATOR) return <MiniToolbarSeparator />;\n if (component === BUTTON) Component = MiniToolbarButton;\n else if (component === ICON_ITEM) Component = MiniToolbarIcon;\n else if (component === COMBO_BOX) Component = MiniToolbarComboBox;\n else if (component === SEARCH_BOX) {\n if (item.hasShortcut) {\n Component = MiniToolbarSearchButton;\n }\n ContextualRegion = MiniToolbarSearchBox;\n }\n if (!ContextualRegion) {\n ContextualRegion = contextualRegion;\n }\n if (!Component) {\n Component = shortcutComponent;\n }\n\n return (\n <ToolbarShortcut\n key={`${instanceUID}-shortcut-${index}`}\n Component={Component}\n shortcutProps={shortcutProps}\n sharedProps={sharedProps}\n ContextualRegion={ContextualRegion}\n contextualRegionProps={contextualRegionProps}\n />\n );\n }),\n [instanceUID, items],\n );\n\n const dropdownMenuItems = useMemo(\n () =>\n items.map((item, index) => {\n const { component, sharedProps, dropdownComponentProps } = item;\n const dropdownItem: GeneratedDropdownItemT = {};\n\n const { Icon, color, label, onClick } = {\n ...sharedProps,\n ...dropdownComponentProps,\n };\n\n if (component === SEPARATOR) dropdownItem.type = 'separator';\n else {\n dropdownItem.id = `${instanceUID}-dropdown-${index}`;\n dropdownItem.onClick = () => onClick(item);\n dropdownItem.label = label;\n dropdownItem.onKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n onClick(item);\n }\n };\n }\n\n if (component === ICON_ITEM) {\n dropdownItem.leftAddon = <Icon color={color} />;\n } else if (component === SEARCH_BOX) {\n dropdownItem.leftAddon = <Search color={color} />;\n } else if (component === COMBO_BOX) {\n dropdownItem.type = 'subMenu';\n dropdownItem.label = label;\n dropdownItem.subItems = sharedProps.options.map((option, index) => {\n option.id = `${instanceUID}-option-${index}`;\n option.onClick = () => dropdownComponentProps.onSelectMenuItem(option);\n option.onKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === ' ' || e.key === 'Enter') {\n dropdownComponentProps.onSelectMenuItem(option);\n }\n };\n return option;\n });\n }\n\n return dropdownItem;\n }),\n [instanceUID, items],\n );\n\n return [shortcutItems, dropdownMenuItems];\n};\n\nexport { useGenerateItems };\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AACA;AAGA,MAAM,mBAAmB,CAAC,UAAgF;AACxG,QAAM,cAAc,QAAQ,MAAM,IAAI,IAAI;AAE1C,QAAM,gBAAgB,QACpB,MACE,MACG,OAAO,CAAC,SAAS,KAAK,eAAe,KAAK,cAAc,cAAc,KAAK,kBAC3E,IAAI,CAAC,MAAM,UAAU;AACpB,UAAM,EAAE,WAAW,mBAAmB,eAAe,aAAa,kBAAkB,0BAClF;AAEF,QAAI;AACJ,QAAI;AAEJ,QAAI,cAAc;AAAW,aAAO,qCAAC,sBAAD;AACpC,QAAI,cAAc;AAAQ,kBAAY;AAAA,aAC7B,cAAc;AAAW,kBAAY;AAAA,aACrC,cAAc;AAAW,kBAAY;AAAA,aACrC,cAAc,YAAY;AACjC,UAAI,KAAK,aAAa;AACpB,oBAAY;AAAA;AAEd,yBAAmB;AAAA;AAErB,QAAI,CAAC,kBAAkB;AACrB,yBAAmB;AAAA;AAErB,QAAI,CAAC,WAAW;AACd,kBAAY;AAAA;AAGd,WACE,qCAAC,iBAAD;AAAA,MACE,KAAK,GAAG,wBAAwB;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAIV,CAAC,aAAa;AAGhB,QAAM,oBAAoB,QACxB,MACE,MAAM,IAAI,CAAC,MAAM,UAAU;AACzB,UAAM,EAAE,WAAW,aAAa,2BAA2B;AAC3D,UAAM,eAAuC;AAE7C,UAAM,EAAE,MAAM,OAAO,OAAO,YAAY;AAAA,SACnC;AAAA,SACA;AAAA;AAGL,QAAI,cAAc;AAAW,mBAAa,OAAO;AAAA,SAC5C;AACH,mBAAa,KAAK,GAAG,wBAAwB;AAC7C,mBAAa,UAAU,MAAM,QAAQ;AACrC,mBAAa,QAAQ;AACrB,mBAAa,YAAY,CAAC,MAA2B;AACnD,YAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,kBAAQ;AAAA;AAAA;AAAA;AAKd,QAAI,cAAc,WAAW;AAC3B,mBAAa,YAAY,qCAAC,MAAD;AAAA,QAAM;AAAA;AAAA,eACtB,cAAc,YAAY;AACnC,mBAAa,YAAY,qCAAC,QAAD;AAAA,QAAQ;AAAA;AAAA,eACxB,cAAc,WAAW;AAClC,mBAAa,OAAO;AACpB,mBAAa,QAAQ;AACrB,mBAAa,WAAW,YAAY,QAAQ,IAAI,CAAC,QAAQ,WAAU;AACjE,eAAO,KAAK,GAAG,sBAAsB;AACrC,eAAO,UAAU,MAAM,uBAAuB,iBAAiB;AAC/D,eAAO,YAAY,CAAC,MAA2B;AAC7C,cAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS;AACtC,mCAAuB,iBAAiB;AAAA;AAAA;AAG5C,eAAO;AAAA;AAAA;AAIX,WAAO;AAAA,MAEX,CAAC,aAAa;AAGhB,SAAO,CAAC,eAAe;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { MiniToolbar, MiniToolbarWithSchema } from "./Components/MiniToolbar";
3
+ import { ToolbarItemWithSchema } from "./propTypes";
4
+ export {
5
+ MiniToolbar,
6
+ MiniToolbarWithSchema,
7
+ ToolbarItemWithSchema
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { MiniToolbar, MiniToolbarWithSchema } from './Components/MiniToolbar';\nexport { ToolbarItemWithSchema } from './propTypes';\n"],
5
+ "mappings": "AAAA;ACAA;AACA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ import * as React from "react";
2
+ import { PropTypes, describe } from "react-desc";
3
+ const outOfTheBoxType = PropTypes.oneOf([
4
+ "ds-button",
5
+ "ds-icon-item",
6
+ "ds-separator",
7
+ "ds-search-box",
8
+ "ds-combo-box"
9
+ ]).description("out-of-the-box toolbar components");
10
+ const toolbarItemProps = {
11
+ component: PropTypes.oneOfType([
12
+ outOfTheBoxType,
13
+ PropTypes.element
14
+ ]).description("Main component").isRequired,
15
+ hasShortcut: PropTypes.bool.description("Whether to include the component as a shortcut in the toolbar or not").defaultValue(false),
16
+ shortcutComponent: PropTypes.element.description("Component to render as a shortcut in the toolbar"),
17
+ shortcutProps: PropTypes.object.description("Shortcut component props"),
18
+ dropdownComponentProps: PropTypes.object.description("Dropdown component props"),
19
+ sharedProps: PropTypes.object.description("Props shared by shortcut component and dropdown component"),
20
+ contextualRegion: PropTypes.element.description("Component that can be rendered as an adjacent region to the shortcut component"),
21
+ contextualRegionProps: PropTypes.object.description("Contextual region component props")
22
+ };
23
+ const itemPropTypes = PropTypes.shape(toolbarItemProps).description("Items props");
24
+ const overflowButtonPropTypes = {
25
+ ariaLabel: PropTypes.string,
26
+ buttonType: PropTypes.oneOf(["secondary", "text"]),
27
+ style: PropTypes.object
28
+ };
29
+ const miniToolbarProps = {
30
+ items: PropTypes.arrayOf(itemPropTypes).description("Array of items").isRequired,
31
+ overflowButtonProps: PropTypes.shape(overflowButtonPropTypes).description("Overflow button props")
32
+ };
33
+ const ToolbarItem = () => null;
34
+ const ToolbarItemWithSchema = describe(ToolbarItem);
35
+ ToolbarItemWithSchema.propTypes = toolbarItemProps;
36
+ export {
37
+ ToolbarItemWithSchema,
38
+ miniToolbarProps
39
+ };
40
+ //# sourceMappingURL=propTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/propTypes.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes, describe } from 'react-desc';\n\nconst outOfTheBoxType = PropTypes.oneOf([\n 'ds-button',\n 'ds-icon-item',\n 'ds-separator',\n 'ds-search-box',\n 'ds-combo-box',\n]).description('out-of-the-box toolbar components');\n\nconst toolbarItemProps = {\n component: PropTypes.oneOfType([\n outOfTheBoxType,\n PropTypes.element,\n ]).description('Main component').isRequired,\n hasShortcut: PropTypes.bool\n .description(\n 'Whether to include the component as a shortcut in the toolbar or not',\n )\n .defaultValue(false),\n shortcutComponent: PropTypes.element.description(\n 'Component to render as a shortcut in the toolbar',\n ),\n shortcutProps: PropTypes.object.description('Shortcut component props'),\n dropdownComponentProps: PropTypes.object.description(\n 'Dropdown component props',\n ),\n sharedProps: PropTypes.object.description(\n 'Props shared by shortcut component and dropdown component',\n ),\n contextualRegion: PropTypes.element.description(\n 'Component that can be rendered as an adjacent region to the shortcut component',\n ),\n contextualRegionProps: PropTypes.object.description(\n 'Contextual region component props',\n ),\n};\n\nconst itemPropTypes = PropTypes.shape(toolbarItemProps).description(\n 'Items props',\n);\n\nconst overflowButtonPropTypes = {\n ariaLabel: PropTypes.string,\n buttonType: PropTypes.oneOf(['secondary', 'text']),\n style: PropTypes.object,\n};\n\nconst miniToolbarProps = {\n items: PropTypes.arrayOf(itemPropTypes).description('Array of items')\n .isRequired,\n overflowButtonProps: PropTypes.shape(overflowButtonPropTypes).description(\n 'Overflow button props',\n ),\n};\n\nconst ToolbarItem = () => null;\n\nconst ToolbarItemWithSchema = describe(ToolbarItem);\nToolbarItemWithSchema.propTypes = toolbarItemProps;\nexport { ToolbarItemWithSchema, miniToolbarProps };\n"],
5
+ "mappings": "AAAA;ACAA;AAEA,MAAM,kBAAkB,UAAU,MAAM;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACC,YAAY;AAEf,MAAM,mBAAmB;AAAA,EACvB,WAAW,UAAU,UAAU;AAAA,IAC7B;AAAA,IACA,UAAU;AAAA,KACT,YAAY,kBAAkB;AAAA,EACjC,aAAa,UAAU,KACpB,YACC,wEAED,aAAa;AAAA,EAChB,mBAAmB,UAAU,QAAQ,YACnC;AAAA,EAEF,eAAe,UAAU,OAAO,YAAY;AAAA,EAC5C,wBAAwB,UAAU,OAAO,YACvC;AAAA,EAEF,aAAa,UAAU,OAAO,YAC5B;AAAA,EAEF,kBAAkB,UAAU,QAAQ,YAClC;AAAA,EAEF,uBAAuB,UAAU,OAAO,YACtC;AAAA;AAIJ,MAAM,gBAAgB,UAAU,MAAM,kBAAkB,YACtD;AAGF,MAAM,0BAA0B;AAAA,EAC9B,WAAW,UAAU;AAAA,EACrB,YAAY,UAAU,MAAM,CAAC,aAAa;AAAA,EAC1C,OAAO,UAAU;AAAA;AAGnB,MAAM,mBAAmB;AAAA,EACvB,OAAO,UAAU,QAAQ,eAAe,YAAY,kBACjD;AAAA,EACH,qBAAqB,UAAU,MAAM,yBAAyB,YAC5D;AAAA;AAIJ,MAAM,cAAc,MAAM;AAE1B,MAAM,wBAAwB,SAAS;AACvC,sBAAsB,YAAY;",
6
+ "names": []
7
+ }
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ import styled from "styled-components";
3
+ import { DSButton } from "@elliemae/ds-button";
4
+ const Container = styled.ul`
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ width: fit-content;
9
+ padding: 0 6px;
10
+ `;
11
+ const Separator = styled.span`
12
+ height: 24px;
13
+ width: 1px;
14
+ margin: 6px;
15
+ border-left: 1px solid #bbb;
16
+ `;
17
+ const Item = styled.li`
18
+ display: flex;
19
+ margin: 6px;
20
+ cursor: pointer;
21
+ `;
22
+ const StyledButton = styled(DSButton)`
23
+ &:not(:focus) {
24
+ border-color: transparent;
25
+ }
26
+ `;
27
+ export {
28
+ Container,
29
+ Item,
30
+ Separator,
31
+ StyledButton
32
+ };
33
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/styles.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from 'styled-components';\nimport { DSButton } from '@elliemae/ds-button';\n\nconst Container = styled.ul`\n display: flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n padding: 0 6px;\n`;\n\nconst Separator = styled.span`\n height: 24px;\n width: 1px;\n margin: 6px;\n border-left: 1px solid #bbb;\n`;\n\nconst Item = styled.li`\n display: flex;\n margin: 6px;\n cursor: pointer;\n`;\n\nconst StyledButton = styled(DSButton)`\n &:not(:focus) {\n border-color: transparent;\n }\n`;\n\nexport { Container, Separator, Item, StyledButton };\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQzB,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAMpB,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,59 +1,62 @@
1
1
  {
2
2
  "name": "@elliemae/ds-mini-toolbar",
3
- "version": "2.3.0-next.3",
3
+ "version": "3.0.0-alpha.0",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - MiniToolbar",
6
- "module": "./esm/index.js",
7
- "main": "./cjs/index.js",
8
- "types": "./types/index.d.ts",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "module": "./dist/esm/index.js",
10
+ "main": "./dist/cjs/index.js",
11
+ "types": "./dist/types/index.d.ts",
9
12
  "exports": {
10
13
  ".": {
11
- "import": "./esm/index.js",
12
- "require": "./cjs/index.js"
14
+ "import": "./dist/esm/index.js",
15
+ "require": "./dist/cjs/index.js"
13
16
  },
14
17
  "./styles": {
15
- "import": "./esm/styles.js",
16
- "require": "./cjs/styles.js"
18
+ "import": "./dist/esm/styles.js",
19
+ "require": "./dist/cjs/styles.js"
17
20
  },
18
21
  "./propTypes": {
19
- "import": "./esm/propTypes.js",
20
- "require": "./cjs/propTypes.js"
22
+ "import": "./dist/esm/propTypes.js",
23
+ "require": "./dist/cjs/propTypes.js"
21
24
  },
22
25
  "./hooks/useGenerateItems": {
23
- "import": "./esm/hooks/useGenerateItems.js",
24
- "require": "./cjs/hooks/useGenerateItems.js"
26
+ "import": "./dist/esm/hooks/useGenerateItems.js",
27
+ "require": "./dist/cjs/hooks/useGenerateItems.js"
25
28
  },
26
29
  "./Components/ToolbarShortcut": {
27
- "import": "./esm/Components/ToolbarShortcut.js",
28
- "require": "./cjs/Components/ToolbarShortcut.js"
30
+ "import": "./dist/esm/Components/ToolbarShortcut.js",
31
+ "require": "./dist/cjs/Components/ToolbarShortcut.js"
29
32
  },
30
33
  "./Components/outOfTheBox/Separator": {
31
- "import": "./esm/Components/outOfTheBox/Separator.js",
32
- "require": "./cjs/Components/outOfTheBox/Separator.js"
34
+ "import": "./dist/esm/Components/outOfTheBox/Separator.js",
35
+ "require": "./dist/cjs/Components/outOfTheBox/Separator.js"
33
36
  },
34
37
  "./Components/outOfTheBox/SearchBox": {
35
- "import": "./esm/Components/outOfTheBox/SearchBox.js",
36
- "require": "./cjs/Components/outOfTheBox/SearchBox.js"
38
+ "import": "./dist/esm/Components/outOfTheBox/SearchBox.js",
39
+ "require": "./dist/cjs/Components/outOfTheBox/SearchBox.js"
37
40
  },
38
41
  "./Components/outOfTheBox": {
39
- "import": "./esm/Components/outOfTheBox/index.js",
40
- "require": "./cjs/Components/outOfTheBox/index.js"
42
+ "import": "./dist/esm/Components/outOfTheBox/index.js",
43
+ "require": "./dist/cjs/Components/outOfTheBox/index.js"
41
44
  },
42
45
  "./Components/outOfTheBox/IconItem": {
43
- "import": "./esm/Components/outOfTheBox/IconItem.js",
44
- "require": "./cjs/Components/outOfTheBox/IconItem.js"
46
+ "import": "./dist/esm/Components/outOfTheBox/IconItem.js",
47
+ "require": "./dist/cjs/Components/outOfTheBox/IconItem.js"
45
48
  },
46
49
  "./Components/outOfTheBox/ComboBox": {
47
- "import": "./esm/Components/outOfTheBox/ComboBox.js",
48
- "require": "./cjs/Components/outOfTheBox/ComboBox.js"
50
+ "import": "./dist/esm/Components/outOfTheBox/ComboBox.js",
51
+ "require": "./dist/cjs/Components/outOfTheBox/ComboBox.js"
49
52
  },
50
53
  "./Components/outOfTheBox/Button": {
51
- "import": "./esm/Components/outOfTheBox/Button.js",
52
- "require": "./cjs/Components/outOfTheBox/Button.js"
54
+ "import": "./dist/esm/Components/outOfTheBox/Button.js",
55
+ "require": "./dist/cjs/Components/outOfTheBox/Button.js"
53
56
  },
54
57
  "./Components/MiniToolbar": {
55
- "import": "./esm/Components/MiniToolbar.js",
56
- "require": "./cjs/Components/MiniToolbar.js"
58
+ "import": "./dist/esm/Components/MiniToolbar.js",
59
+ "require": "./dist/cjs/Components/MiniToolbar.js"
57
60
  }
58
61
  },
59
62
  "repository": {
@@ -61,22 +64,22 @@
61
64
  "url": "https://git.elliemae.io/platform-ui/dimsum.git"
62
65
  },
63
66
  "engines": {
64
- "npm": ">=7",
65
- "node": ">=14"
67
+ "pnpm": ">=6",
68
+ "node": ">=16"
66
69
  },
67
70
  "author": "ICE MT",
68
- "scripts": {
69
- "dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
70
- "prebuild": "exit 0",
71
- "predev": "exit 0",
72
- "build": "node ../../scripts/build/build.js"
71
+ "jestSonar": {
72
+ "sonar56x": true,
73
+ "reportPath": "reports",
74
+ "reportFile": "tests.xml",
75
+ "indent": 4
73
76
  },
74
77
  "dependencies": {
75
- "@elliemae/ds-button": "2.3.0-next.3",
76
- "@elliemae/ds-dropdownmenu": "2.3.0-next.3",
77
- "@elliemae/ds-form": "2.3.0-next.3",
78
- "@elliemae/ds-icons": "2.3.0-next.3",
79
- "@elliemae/ds-system": "2.3.0-next.1",
78
+ "@elliemae/ds-button": "3.0.0-alpha.0",
79
+ "@elliemae/ds-dropdownmenu": "3.0.0-alpha.0",
80
+ "@elliemae/ds-form": "3.0.0-alpha.0",
81
+ "@elliemae/ds-icons": "3.0.0-alpha.0",
82
+ "@elliemae/ds-system": "3.0.0-alpha.0",
80
83
  "react-desc": "~4.1.3",
81
84
  "uid": "~2.0.0"
82
85
  },
@@ -93,7 +96,12 @@
93
96
  },
94
97
  "publishConfig": {
95
98
  "access": "public",
96
- "directory": "dist",
97
- "generateSubmodules": true
99
+ "typeSafety": false
100
+ },
101
+ "scripts": {
102
+ "dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
103
+ "test": "node ../../scripts/testing/test.mjs",
104
+ "lint": "node ../../scripts/lint.mjs",
105
+ "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
98
106
  }
99
107
  }
@@ -1,70 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx = require('@babel/runtime/helpers/jsx');
6
- require('core-js/modules/web.dom-collections.iterator.js');
7
- var react = require('react');
8
- var reactDesc = require('react-desc');
9
- var DSDropdownMenu = require('@elliemae/ds-dropdownmenu');
10
- var dsIcons = require('@elliemae/ds-icons');
11
- var styles = require('../styles.js');
12
- var propTypes = require('../propTypes.js');
13
- var useGenerateItems = require('../hooks/useGenerateItems.js');
14
-
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
18
- var DSDropdownMenu__default = /*#__PURE__*/_interopDefaultLegacy(DSDropdownMenu);
19
-
20
- const Elipsis = /*#__PURE__*/_jsx__default["default"](dsIcons.MoreOptionsVert, {
21
- color: ['brand-primary', '600'],
22
- size: "m"
23
- });
24
-
25
- const MiniToolbar = _ref => {
26
- let {
27
- items,
28
- overflowButtonProps
29
- } = _ref;
30
- const [shortcutItems, dropdownMenuItems] = useGenerateItems.useGenerateItems(items);
31
- const [isDropdownMenuOpen, setIsDropdownMenuOpen] = react.useState(false);
32
- const closeDropdownMenu = react.useCallback(() => setIsDropdownMenuOpen(false), []);
33
- const openDropdownMenu = react.useCallback(() => setIsDropdownMenuOpen(true), []);
34
- const openDropdownMenuKeyPress = react.useCallback(e => {
35
- if (e.key === ' ') {
36
- setIsDropdownMenuOpen(true);
37
- }
38
- }, []);
39
- const {
40
- ariaLabel,
41
- style,
42
- buttonType = 'secondary'
43
- } = overflowButtonProps || {};
44
- return /*#__PURE__*/_jsx__default["default"](styles.Container, {
45
- role: "toolbar",
46
- "data-testid": "ds-mini-toolbar"
47
- }, void 0, shortcutItems, /*#__PURE__*/_jsx__default["default"](DSDropdownMenu__default["default"], {
48
- "data-testid": "ds-mini-toolbar__dropdown-menu",
49
- isOpen: isDropdownMenuOpen,
50
- onSelectMenuItem: closeDropdownMenu,
51
- onClickOutsideMenu: closeDropdownMenu,
52
- options: dropdownMenuItems,
53
- triggerComponent: /*#__PURE__*/_jsx__default["default"](styles.StyledButton, {
54
- "aria-label": ariaLabel,
55
- "data-testid": "ds-mini-toolbar__elipsis",
56
- size: "m",
57
- style: style,
58
- buttonType: buttonType,
59
- onClick: openDropdownMenu,
60
- onKeyPress: openDropdownMenuKeyPress,
61
- leftIcon: Elipsis
62
- })
63
- }));
64
- };
65
-
66
- const MiniToolbarWithSchema = reactDesc.describe(MiniToolbar);
67
- MiniToolbarWithSchema.propTypes = propTypes.miniToolbarProps;
68
-
69
- exports.MiniToolbar = MiniToolbar;
70
- exports.MiniToolbarWithSchema = MiniToolbarWithSchema;
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var _jsx = require('@babel/runtime/helpers/jsx');
11
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
- var react = require('react');
13
- var styles = require('../styles.js');
14
- var jsxRuntime = require('react/jsx-runtime');
15
-
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
-
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
-
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
-
25
- const ToolbarShortcut = props => {
26
- const {
27
- Component,
28
- shortcutProps,
29
- sharedProps,
30
- ContextualRegion,
31
- contextualRegionProps
32
- } = props;
33
- const leftRef = react.useRef(null);
34
- const rightRef = react.useRef(null);
35
- const timerLeft = react.useRef(null);
36
- const timerRight = react.useRef(null);
37
- const {
38
- position = 'left',
39
- isOpen = false
40
- } = contextualRegionProps || {};
41
- const {
42
- style
43
- } = shortcutProps || {};
44
-
45
- const mergedProps = _objectSpread(_objectSpread({}, sharedProps), shortcutProps);
46
-
47
- react.useEffect(() => {
48
- if (isOpen && leftRef.current) {
49
- timerLeft.current = setTimeout(() => leftRef.current.focus(), 200);
50
- }
51
-
52
- if (isOpen && rightRef.current) {
53
- timerRight.current = setTimeout(() => rightRef.current.focus(), 200);
54
- }
55
-
56
- return () => {
57
- clearTimeout(timerLeft.current);
58
- clearTimeout(timerRight.current);
59
- };
60
- }, [isOpen, leftRef, rightRef]);
61
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
62
- children: [isOpen && position === 'left' && /*#__PURE__*/_jsx__default["default"](styles.Item, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(ContextualRegion, _objectSpread({
63
- innerRef: leftRef
64
- }, contextualRegionProps))), Component && /*#__PURE__*/_jsx__default["default"](styles.Item, {
65
- style: style
66
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, mergedProps))), isOpen && position === 'right' && /*#__PURE__*/_jsx__default["default"](styles.Item, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(ContextualRegion, _objectSpread({
67
- innerRef: rightRef
68
- }, contextualRegionProps)))]
69
- });
70
- };
71
-
72
- exports.ToolbarShortcut = ToolbarShortcut;
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
- require('react');
12
- var DSButton = require('@elliemae/ds-button');
13
- var jsxRuntime = require('react/jsx-runtime');
14
-
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
19
-
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
-
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
-
24
- const MiniToolbarButton = props => /*#__PURE__*/jsxRuntime.jsx(DSButton__default["default"], _objectSpread(_objectSpread({}, props), {}, {
25
- "aria-label": props.ariaLabel,
26
- "data-testid": "ds-mini-toolbar__shortcut"
27
- }));
28
-
29
- exports.MiniToolbarButton = MiniToolbarButton;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
- require('react');
12
- var dsForm = require('@elliemae/ds-form');
13
- var jsxRuntime = require('react/jsx-runtime');
14
-
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
-
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
-
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
-
23
- const MiniToolbarComboBox = props => /*#__PURE__*/jsxRuntime.jsx(dsForm.DSComboBox2, _objectSpread({}, props));
24
-
25
- exports.MiniToolbarComboBox = MiniToolbarComboBox;