@manuscripts/style-guide 1.13.7 → 1.13.8-LEAN-3645

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.
@@ -41,7 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  return (mod && mod.__esModule) ? mod : { "default": mod };
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.TableFootnotesSelector = void 0;
44
+ exports.FootnotesSelector = void 0;
45
45
  const react_1 = __importStar(require("react"));
46
46
  const styled_components_1 = __importDefault(require("styled-components"));
47
47
  const Button_1 = require("./Button");
@@ -77,7 +77,7 @@ const AddNewFootnote = (0, styled_components_1.default)(Button_1.ButtonGroup) `
77
77
  }
78
78
  }
79
79
  `;
80
- const TableFootnotesSelector = ({ notes, inlineFootnote, onAdd, onInsert, onCancel }) => {
80
+ const FootnotesSelector = ({ notes, inlineFootnote, onAdd, onInsert, onCancel, addNewLabel }) => {
81
81
  let selectedNotesMap;
82
82
  if (inlineFootnote) {
83
83
  const rids = inlineFootnote.attrs.rids;
@@ -104,18 +104,18 @@ const TableFootnotesSelector = ({ notes, inlineFootnote, onAdd, onInsert, onCanc
104
104
  };
105
105
  return (react_1.default.createElement(Container, null,
106
106
  react_1.default.createElement(NotesContainer, null,
107
- react_1.default.createElement(TableFootnotesList, { notes: notes, inlineFootnote: inlineFootnote, isSelected: isSelected, onSelect: toggleSelection })),
107
+ react_1.default.createElement(FootnotesList, { notes: notes, inlineFootnote: inlineFootnote, isSelected: isSelected, onSelect: toggleSelection })),
108
108
  react_1.default.createElement(Actions, null,
109
109
  react_1.default.createElement(AddNewFootnote, null,
110
110
  react_1.default.createElement(Button_1.IconTextButton, { onClick: onAdd },
111
111
  react_1.default.createElement(icons_1.AddNewIcon, null),
112
- "Add new")),
112
+ addNewLabel || 'Add new')),
113
113
  react_1.default.createElement(Button_1.ButtonGroup, null,
114
114
  react_1.default.createElement(Button_1.SecondaryButton, { onClick: onCancel }, "Cancel"),
115
115
  react_1.default.createElement(Button_1.PrimaryButton, { onClick: handleClick, disabled: selections.size === 0 && !inlineFootnote }, inlineFootnote ? 'Update' : 'Insert')))));
116
116
  };
117
- exports.TableFootnotesSelector = TableFootnotesSelector;
118
- const TableFootnotesList = ({ notes, isSelected, onSelect, inlineFootnote }) => {
117
+ exports.FootnotesSelector = FootnotesSelector;
118
+ const FootnotesList = ({ notes, isSelected, onSelect, inlineFootnote }) => {
119
119
  const selectedNotes = [];
120
120
  const remainingNotes = [];
121
121
  notes.forEach((note) => {
@@ -170,5 +170,5 @@ const NoteText = styled_components_1.default.div `
170
170
  color: ${(props) => props.theme.colors.text.primary};
171
171
  flex: 1;
172
172
  font-weight: ${(props) => props.theme.font.weight.normal};
173
- margin-top: ${(props) => props.theme.grid.unit}px;
173
+ margin-top: 2px;
174
174
  `;
@@ -14,13 +14,37 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
17
40
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
41
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
42
  };
20
43
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.Label = exports.Block = exports.BlockItem = exports.StyleBlock = exports.ListContainer = exports.bulletListContextMenu = exports.orderedListContextMenu = exports.Menus = void 0;
22
- const react_1 = __importDefault(require("react"));
44
+ exports.ColumnChangeWarningDialog = exports.Label = exports.Block = exports.BlockItem = exports.StyleBlock = exports.ListContainer = exports.bulletListContextMenu = exports.orderedListContextMenu = exports.Menus = void 0;
45
+ const react_1 = __importStar(require("react"));
23
46
  const styled_components_1 = __importDefault(require("styled-components"));
47
+ const Dialog_1 = require("../Dialog");
24
48
  const Submenu_1 = require("./Submenu");
25
49
  const MenusContainer = styled_components_1.default.div `
26
50
  display: flex;
@@ -44,17 +68,25 @@ const MenuContainer = styled_components_1.default.div `
44
68
  }
45
69
  `;
46
70
  const Menus = ({ menus, innerRef, handleClick, }) => {
47
- return (react_1.default.createElement(MenusContainer, { ref: innerRef }, menus.map((menu, index) => {
48
- return (react_1.default.createElement(MenuContainer, { key: `menu-${index}`, isEnabled: menu.isEnabled },
49
- react_1.default.createElement(MenuHeading, { onMouseDown: (e) => {
50
- e.preventDefault();
51
- handleClick([index]);
52
- }, isOpen: menu.isOpen },
53
- react_1.default.createElement(Submenu_1.Text, null, menu.label)),
54
- menu.isEnabled && menu.isOpen && menu.submenu && (react_1.default.createElement(Submenu_1.SubmenusContainer, null, menu.submenu.map((submenu, sindex) => {
55
- return (react_1.default.createElement(Submenu_1.Submenu, { key: `${index}-${sindex}`, menu: submenu, handleClick: (i) => handleClick([index, sindex, ...i]) }));
56
- })))));
57
- })));
71
+ const [columnMenu, setColumnMenu] = (0, react_1.useState)(undefined);
72
+ return (react_1.default.createElement(MenusContainer, { ref: innerRef },
73
+ menus.map((menu, index) => {
74
+ return (react_1.default.createElement(MenuContainer, { key: `menu-${index}`, isEnabled: menu.isEnabled },
75
+ react_1.default.createElement(MenuHeading, { onMouseDown: (e) => {
76
+ e.preventDefault();
77
+ handleClick([index]);
78
+ }, isOpen: menu.isOpen },
79
+ react_1.default.createElement(Submenu_1.Text, null, menu.label)),
80
+ menu.isEnabled && menu.isOpen && menu.submenu && (react_1.default.createElement(Submenu_1.SubmenusContainer, null, menu.submenu.map((submenu, sindex) => {
81
+ return (react_1.default.createElement(Submenu_1.Submenu, { key: `${index}-${sindex}`, menu: submenu, handleClick: (i) => handleClick([index, sindex, ...i]), setColumnMenu: setColumnMenu }));
82
+ })))));
83
+ }),
84
+ react_1.default.createElement(exports.ColumnChangeWarningDialog, { isOpen: !!columnMenu, primaryAction: () => {
85
+ if (columnMenu === null || columnMenu === void 0 ? void 0 : columnMenu.run) {
86
+ columnMenu.run();
87
+ setColumnMenu(undefined);
88
+ }
89
+ }, secondaryAction: () => setColumnMenu(undefined) })));
58
90
  };
59
91
  exports.Menus = Menus;
60
92
  exports.orderedListContextMenu = [
@@ -110,3 +142,14 @@ exports.Label = styled_components_1.default.div `
110
142
  font-style: normal;
111
143
  color: ${(props) => (props.hide && 'white') || 'initial'};
112
144
  `;
145
+ const ColumnChangeWarningDialog = ({ isOpen, primaryAction, secondaryAction }) => (react_1.default.createElement(Dialog_1.Dialog, { isOpen: isOpen, category: Dialog_1.Category.confirmation, header: "This change can't be tracked", message: "This column action won't be marked as chnage. Do you want to continue?", actions: {
146
+ primary: {
147
+ action: primaryAction,
148
+ title: 'Ok',
149
+ },
150
+ secondary: {
151
+ action: secondaryAction,
152
+ title: 'Cancel',
153
+ },
154
+ } }));
155
+ exports.ColumnChangeWarningDialog = ColumnChangeWarningDialog;
@@ -91,7 +91,11 @@ const Container = styled_components_1.default.div `
91
91
  }
92
92
  `;
93
93
  const activeContent = (menu) => (menu.isActive ? '✓' : '');
94
- const Submenu = ({ menu, handleClick }) => {
94
+ const isColumnMenu = (menu) => (menu.role !== 'separator' &&
95
+ menu.id === 'format-table-add-column-before') ||
96
+ menu.id === 'format-table-add-column-after' ||
97
+ menu.id === 'format-table-delete-column';
98
+ const Submenu = ({ menu, handleClick, setColumnMenu, }) => {
95
99
  if ((0, menus_1.isMenuSeparator)(menu)) {
96
100
  return react_1.default.createElement(Separator, null);
97
101
  }
@@ -124,6 +128,8 @@ const Submenu = ({ menu, handleClick }) => {
124
128
  react_1.default.createElement(exports.Text, null, menu.label),
125
129
  menu.submenu && react_1.default.createElement(Arrow, null),
126
130
  menu.shortcut && react_1.default.createElement(Shortcut_1.Shortcut, { shortcut: menu.shortcut })),
127
- menu.submenu && menu.isOpen && (react_1.default.createElement(NestedSubmenusContainer, null, menu.submenu.map((submenu, index) => (react_1.default.createElement(exports.Submenu, { key: `menu-${index}`, menu: submenu, handleClick: (i) => handleClick([index, ...i]) })))))));
131
+ menu.submenu && menu.isOpen && (react_1.default.createElement(NestedSubmenusContainer, null, menu.submenu.map((submenu, index) => (react_1.default.createElement(exports.Submenu, { key: `menu-${index}`, menu: submenu, handleClick: (i) => isColumnMenu(submenu) && setColumnMenu
132
+ ? setColumnMenu(submenu)
133
+ : handleClick([index, ...i]) })))))));
128
134
  };
129
135
  exports.Submenu = Submenu;
package/dist/cjs/index.js CHANGED
@@ -47,7 +47,7 @@ __exportStar(require("./components/FileManager/util"), exports);
47
47
  __exportStar(require("./components/Resizer"), exports);
48
48
  __exportStar(require("./components/SaveStatus"), exports);
49
49
  __exportStar(require("./components/StyledModal"), exports);
50
- __exportStar(require("./components/TableFootnotesSelector"), exports);
50
+ __exportStar(require("./components/FootnotesSelector"), exports);
51
51
  __exportStar(require("./components/Sidebar"), exports);
52
52
  __exportStar(require("./components/RichText"), exports);
53
53
  __exportStar(require("./components/TextField"), exports);
@@ -48,7 +48,7 @@ const AddNewFootnote = styled(ButtonGroup) `
48
48
  }
49
49
  }
50
50
  `;
51
- export const TableFootnotesSelector = ({ notes, inlineFootnote, onAdd, onInsert, onCancel }) => {
51
+ export const FootnotesSelector = ({ notes, inlineFootnote, onAdd, onInsert, onCancel, addNewLabel }) => {
52
52
  let selectedNotesMap;
53
53
  if (inlineFootnote) {
54
54
  const rids = inlineFootnote.attrs.rids;
@@ -75,17 +75,17 @@ export const TableFootnotesSelector = ({ notes, inlineFootnote, onAdd, onInsert,
75
75
  };
76
76
  return (React.createElement(Container, null,
77
77
  React.createElement(NotesContainer, null,
78
- React.createElement(TableFootnotesList, { notes: notes, inlineFootnote: inlineFootnote, isSelected: isSelected, onSelect: toggleSelection })),
78
+ React.createElement(FootnotesList, { notes: notes, inlineFootnote: inlineFootnote, isSelected: isSelected, onSelect: toggleSelection })),
79
79
  React.createElement(Actions, null,
80
80
  React.createElement(AddNewFootnote, null,
81
81
  React.createElement(IconTextButton, { onClick: onAdd },
82
82
  React.createElement(AddNewIcon, null),
83
- "Add new")),
83
+ addNewLabel || 'Add new')),
84
84
  React.createElement(ButtonGroup, null,
85
85
  React.createElement(SecondaryButton, { onClick: onCancel }, "Cancel"),
86
86
  React.createElement(PrimaryButton, { onClick: handleClick, disabled: selections.size === 0 && !inlineFootnote }, inlineFootnote ? 'Update' : 'Insert')))));
87
87
  };
88
- const TableFootnotesList = ({ notes, isSelected, onSelect, inlineFootnote }) => {
88
+ const FootnotesList = ({ notes, isSelected, onSelect, inlineFootnote }) => {
89
89
  const selectedNotes = [];
90
90
  const remainingNotes = [];
91
91
  notes.forEach((note) => {
@@ -140,5 +140,5 @@ const NoteText = styled.div `
140
140
  color: ${(props) => props.theme.colors.text.primary};
141
141
  flex: 1;
142
142
  font-weight: ${(props) => props.theme.font.weight.normal};
143
- margin-top: ${(props) => props.theme.grid.unit}px;
143
+ margin-top: 2px;
144
144
  `;
@@ -13,8 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import React from 'react';
16
+ import React, { useState } from 'react';
17
17
  import styled from 'styled-components';
18
+ import { Category, Dialog } from '../Dialog';
18
19
  import { Submenu, SubmenusContainer, Text } from './Submenu';
19
20
  const MenusContainer = styled.div `
20
21
  display: flex;
@@ -38,17 +39,25 @@ const MenuContainer = styled.div `
38
39
  }
39
40
  `;
40
41
  export const Menus = ({ menus, innerRef, handleClick, }) => {
41
- return (React.createElement(MenusContainer, { ref: innerRef }, menus.map((menu, index) => {
42
- return (React.createElement(MenuContainer, { key: `menu-${index}`, isEnabled: menu.isEnabled },
43
- React.createElement(MenuHeading, { onMouseDown: (e) => {
44
- e.preventDefault();
45
- handleClick([index]);
46
- }, isOpen: menu.isOpen },
47
- React.createElement(Text, null, menu.label)),
48
- menu.isEnabled && menu.isOpen && menu.submenu && (React.createElement(SubmenusContainer, null, menu.submenu.map((submenu, sindex) => {
49
- return (React.createElement(Submenu, { key: `${index}-${sindex}`, menu: submenu, handleClick: (i) => handleClick([index, sindex, ...i]) }));
50
- })))));
51
- })));
42
+ const [columnMenu, setColumnMenu] = useState(undefined);
43
+ return (React.createElement(MenusContainer, { ref: innerRef },
44
+ menus.map((menu, index) => {
45
+ return (React.createElement(MenuContainer, { key: `menu-${index}`, isEnabled: menu.isEnabled },
46
+ React.createElement(MenuHeading, { onMouseDown: (e) => {
47
+ e.preventDefault();
48
+ handleClick([index]);
49
+ }, isOpen: menu.isOpen },
50
+ React.createElement(Text, null, menu.label)),
51
+ menu.isEnabled && menu.isOpen && menu.submenu && (React.createElement(SubmenusContainer, null, menu.submenu.map((submenu, sindex) => {
52
+ return (React.createElement(Submenu, { key: `${index}-${sindex}`, menu: submenu, handleClick: (i) => handleClick([index, sindex, ...i]), setColumnMenu: setColumnMenu }));
53
+ })))));
54
+ }),
55
+ React.createElement(ColumnChangeWarningDialog, { isOpen: !!columnMenu, primaryAction: () => {
56
+ if (columnMenu === null || columnMenu === void 0 ? void 0 : columnMenu.run) {
57
+ columnMenu.run();
58
+ setColumnMenu(undefined);
59
+ }
60
+ }, secondaryAction: () => setColumnMenu(undefined) })));
52
61
  };
53
62
  export const orderedListContextMenu = [
54
63
  { items: ['1.', '2.', '3.'], type: 'order' },
@@ -103,3 +112,13 @@ export const Label = styled.div `
103
112
  font-style: normal;
104
113
  color: ${(props) => (props.hide && 'white') || 'initial'};
105
114
  `;
115
+ export const ColumnChangeWarningDialog = ({ isOpen, primaryAction, secondaryAction }) => (React.createElement(Dialog, { isOpen: isOpen, category: Category.confirmation, header: "This change can't be tracked", message: "This column action won't be marked as chnage. Do you want to continue?", actions: {
116
+ primary: {
117
+ action: primaryAction,
118
+ title: 'Ok',
119
+ },
120
+ secondary: {
121
+ action: secondaryAction,
122
+ title: 'Cancel',
123
+ },
124
+ } }));
@@ -85,7 +85,11 @@ const Container = styled.div `
85
85
  }
86
86
  `;
87
87
  const activeContent = (menu) => (menu.isActive ? '✓' : '');
88
- export const Submenu = ({ menu, handleClick }) => {
88
+ const isColumnMenu = (menu) => (menu.role !== 'separator' &&
89
+ menu.id === 'format-table-add-column-before') ||
90
+ menu.id === 'format-table-add-column-after' ||
91
+ menu.id === 'format-table-delete-column';
92
+ export const Submenu = ({ menu, handleClick, setColumnMenu, }) => {
89
93
  if (isMenuSeparator(menu)) {
90
94
  return React.createElement(Separator, null);
91
95
  }
@@ -118,5 +122,7 @@ export const Submenu = ({ menu, handleClick }) => {
118
122
  React.createElement(Text, null, menu.label),
119
123
  menu.submenu && React.createElement(Arrow, null),
120
124
  menu.shortcut && React.createElement(Shortcut, { shortcut: menu.shortcut })),
121
- menu.submenu && menu.isOpen && (React.createElement(NestedSubmenusContainer, null, menu.submenu.map((submenu, index) => (React.createElement(Submenu, { key: `menu-${index}`, menu: submenu, handleClick: (i) => handleClick([index, ...i]) })))))));
125
+ menu.submenu && menu.isOpen && (React.createElement(NestedSubmenusContainer, null, menu.submenu.map((submenu, index) => (React.createElement(Submenu, { key: `menu-${index}`, menu: submenu, handleClick: (i) => isColumnMenu(submenu) && setColumnMenu
126
+ ? setColumnMenu(submenu)
127
+ : handleClick([index, ...i]) })))))));
122
128
  };
package/dist/es/index.js CHANGED
@@ -27,7 +27,7 @@ export * from './components/FileManager/util';
27
27
  export * from './components/Resizer';
28
28
  export * from './components/SaveStatus';
29
29
  export * from './components/StyledModal';
30
- export * from './components/TableFootnotesSelector';
30
+ export * from './components/FootnotesSelector';
31
31
  export * from './components/Sidebar';
32
32
  export * from './components/RichText';
33
33
  export * from './components/TextField';
@@ -19,10 +19,11 @@ export type FootnoteWithIndex = {
19
19
  node: FootnoteNode;
20
20
  index?: string;
21
21
  };
22
- export declare const TableFootnotesSelector: React.FC<{
22
+ export declare const FootnotesSelector: React.FC<{
23
23
  notes: FootnoteWithIndex[];
24
24
  inlineFootnote?: InlineFootnoteNode;
25
25
  onAdd: () => void;
26
26
  onInsert: (notes: FootnoteWithIndex[]) => void;
27
27
  onCancel: () => void;
28
+ addNewLabel?: string;
28
29
  }>;
@@ -36,4 +36,9 @@ export declare const Block: import("styled-components").StyledComponent<"div", i
36
36
  export declare const Label: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
37
37
  hide?: boolean | undefined;
38
38
  }, never>;
39
+ export declare const ColumnChangeWarningDialog: React.FC<{
40
+ isOpen: boolean;
41
+ primaryAction: () => void;
42
+ secondaryAction: () => void;
43
+ }>;
39
44
  export {};
@@ -20,6 +20,7 @@ export declare const SubmenusContainer: import("styled-components").StyledCompon
20
20
  interface SubmenuProps {
21
21
  menu: Menu | MenuSeparator;
22
22
  handleClick: (position: number[]) => void;
23
+ setColumnMenu?: React.Dispatch<React.SetStateAction<undefined | Menu>>;
23
24
  }
24
25
  export declare const Submenu: React.FC<SubmenuProps>;
25
26
  export {};
@@ -28,7 +28,7 @@ export * from './components/FileManager/util';
28
28
  export * from './components/Resizer';
29
29
  export * from './components/SaveStatus';
30
30
  export * from './components/StyledModal';
31
- export * from './components/TableFootnotesSelector';
31
+ export * from './components/FootnotesSelector';
32
32
  export * from './components/Sidebar';
33
33
  export * from './components/RichText';
34
34
  export * from './components/TextField';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@manuscripts/style-guide",
3
3
  "description": "Shared components for Manuscripts applications",
4
- "version": "1.13.7",
4
+ "version": "1.13.8-LEAN-3645",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-style-guide",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",
@@ -109,4 +109,4 @@
109
109
  "@types/react": "^17.0.2",
110
110
  "jackspeak": "2.1.1"
111
111
  }
112
- }
112
+ }