@abtnode/ux 1.16.14-beta-ab7f615e → 1.16.14-beta-cb53c14b

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 (202) hide show
  1. package/es/actions.js +97 -0
  2. package/es/analytics/card.js +92 -0
  3. package/es/analytics/chart.js +96 -0
  4. package/es/analytics/cpu.js +36 -0
  5. package/es/analytics/disk.js +111 -0
  6. package/es/analytics/memory.js +72 -0
  7. package/es/analytics/runtime.js +173 -0
  8. package/es/analytics/traffic.js +259 -0
  9. package/es/blocklet/access/config-access.js +307 -0
  10. package/es/blocklet/access/index.js +216 -0
  11. package/es/blocklet/actions.js +474 -0
  12. package/es/blocklet/add-cert.js +177 -0
  13. package/es/blocklet/agreement-app.js +21 -0
  14. package/es/blocklet/agreement.js +127 -0
  15. package/es/blocklet/app-avatar.js +57 -0
  16. package/es/blocklet/audit-logs.js +259 -0
  17. package/es/blocklet/blocklet-source.js +48 -0
  18. package/es/blocklet/bundle-avatar.js +64 -0
  19. package/es/blocklet/component/add.js +1308 -0
  20. package/es/blocklet/component/configuration.js +122 -0
  21. package/es/blocklet/component/delete.js +134 -0
  22. package/es/blocklet/component/environment.js +370 -0
  23. package/es/blocklet/component/index.js +975 -0
  24. package/es/blocklet/component/line.js +20 -0
  25. package/es/blocklet/component/navigation/locale-tabs.js +225 -0
  26. package/es/blocklet/component/navigation/navigation-actions.js +112 -0
  27. package/es/blocklet/component/navigation/navigation-dialog.js +607 -0
  28. package/es/blocklet/component/navigation/navigation-preview.js +101 -0
  29. package/es/blocklet/component/navigation/simple-select.js +124 -0
  30. package/es/blocklet/component/select-store.js +155 -0
  31. package/es/blocklet/component/setting.js +109 -0
  32. package/es/blocklet/component/sortable-tree.js +126 -0
  33. package/es/blocklet/component/space-connector.js +199 -0
  34. package/es/blocklet/component/space-selector.js +178 -0
  35. package/es/blocklet/component/start.js +101 -0
  36. package/es/blocklet/component/store-blocklet-list.js +200 -0
  37. package/es/blocklet/component/switch-control.js +57 -0
  38. package/es/blocklet/config-navigation.js +331 -0
  39. package/es/blocklet/configuration.js +603 -0
  40. package/es/blocklet/disk-info.js +75 -0
  41. package/es/blocklet/icons.js +18 -0
  42. package/es/blocklet/install-from-url.js +337 -0
  43. package/es/blocklet/log.js +90 -0
  44. package/es/blocklet/migration.js +149 -0
  45. package/es/blocklet/mode.js +19 -0
  46. package/es/blocklet/notification/email.js +257 -0
  47. package/es/blocklet/notification/index.js +49 -0
  48. package/es/blocklet/oauth/auth0.js +145 -0
  49. package/es/blocklet/oauth/common-settings.js +133 -0
  50. package/es/blocklet/oauth/federated-detail-dialog.js +175 -0
  51. package/es/blocklet/oauth/federated-invite-dialog.js +83 -0
  52. package/es/blocklet/oauth/federated-join-dialog.js +111 -0
  53. package/es/blocklet/oauth/federated-site-list.js +338 -0
  54. package/es/blocklet/oauth/federated.js +81 -0
  55. package/es/blocklet/oauth/index.js +69 -0
  56. package/es/blocklet/overview.js +293 -0
  57. package/es/blocklet/page-group.js +19 -0
  58. package/es/blocklet/preferences/app-sk.js +142 -0
  59. package/es/blocklet/preferences/index.js +305 -0
  60. package/es/blocklet/purchase/common.js +95 -0
  61. package/es/blocklet/purchase/component-purchase.js +237 -0
  62. package/es/blocklet/purchase/index.js +4 -0
  63. package/es/blocklet/router/action/add-domain-alias.js +167 -0
  64. package/es/blocklet/router/action/add-rule.js +211 -0
  65. package/es/blocklet/router/action/config-routing-rule.js +232 -0
  66. package/es/blocklet/router/action/delete-domain-alias.js +99 -0
  67. package/es/blocklet/router/action/delete-rule.js +108 -0
  68. package/es/blocklet/router/action/update-rule.js +209 -0
  69. package/es/blocklet/router/domain-actions.js +64 -0
  70. package/es/blocklet/router/domain-status.js +88 -0
  71. package/es/blocklet/router/rule-actions.js +66 -0
  72. package/es/blocklet/router/rule-list.js +190 -0
  73. package/es/blocklet/router/util.js +131 -0
  74. package/es/blocklet/runtime-info.js +68 -0
  75. package/es/blocklet/status.js +91 -0
  76. package/es/blocklet/storage/action.js +134 -0
  77. package/es/blocklet/storage/backups.js +241 -0
  78. package/es/blocklet/storage/connect-to.js +373 -0
  79. package/es/blocklet/storage/connected.js +198 -0
  80. package/es/blocklet/storage/delete.js +113 -0
  81. package/es/blocklet/storage/disconnect.js +243 -0
  82. package/es/blocklet/storage/index.js +19 -0
  83. package/es/blocklet/storage/item.js +558 -0
  84. package/es/blocklet/storage/preview-nft.js +286 -0
  85. package/es/blocklet/transfer-owner.js +198 -0
  86. package/es/blocklet/types.js +18 -0
  87. package/es/blocklet/util.js +145 -0
  88. package/es/blocklet/version.js +141 -0
  89. package/es/card-selector.js +134 -0
  90. package/es/certificate.js +105 -0
  91. package/es/chain.js +13 -0
  92. package/es/click-to-copy.js +22 -0
  93. package/es/confirm.js +149 -0
  94. package/es/contexts/audit-log.js +152 -0
  95. package/es/contexts/blocklet.js +10 -0
  96. package/es/contexts/deleting-blocklets.js +70 -0
  97. package/es/contexts/node.js +17 -0
  98. package/es/contexts/session.js +8 -0
  99. package/es/contexts/team.js +10 -0
  100. package/es/delete-confirm.js +121 -0
  101. package/es/did-address.js +46 -0
  102. package/es/dot.js +14 -0
  103. package/es/exchange-passport.js +102 -0
  104. package/es/form/form-select-input.js +184 -0
  105. package/es/form/form-text-input.js +178 -0
  106. package/es/form/form-wrapper.js +88 -0
  107. package/es/form/input-triggers.js +98 -0
  108. package/es/form/required.js +8 -0
  109. package/es/hooks/blocklet.js +229 -0
  110. package/es/hooks/confirm.js +90 -0
  111. package/es/hooks/mobile-width.js +11 -0
  112. package/es/hooks/url-evaluation.js +155 -0
  113. package/es/hooks/use-app-logo.js +16 -0
  114. package/es/hooks/use-backup-progress.js +31 -0
  115. package/es/hooks/use-blocklet-info-for-connect-did-spaces.js +50 -0
  116. package/es/hooks/use-bundle-logo.js +27 -0
  117. package/es/hooks/use-navigation.js +347 -0
  118. package/es/hooks/use-passport-id.js +14 -0
  119. package/es/hooks/use-subscription.js +22 -0
  120. package/es/icons/empty-space-nft.svg +59 -0
  121. package/es/icons/empty-spaces-nft.svg +58 -0
  122. package/es/icons/long-arrow.svg +5 -0
  123. package/es/icons/space-connected.svg +3 -0
  124. package/es/icons/space-disconnect.svg +3 -0
  125. package/es/index.js +3 -0
  126. package/es/invitation/invitation-app.js +58 -0
  127. package/es/invitation/invitation-login.js +68 -0
  128. package/es/invitation/invitation-passport.js +144 -0
  129. package/es/invitation/invitation-receive.js +138 -0
  130. package/es/invitation/invitation-success.js +93 -0
  131. package/es/invitation/invitation-user.js +90 -0
  132. package/es/invitation/invitation.js +90 -0
  133. package/es/issue-passport.js +142 -0
  134. package/es/launch-blocklet/content-layout.js +58 -0
  135. package/es/launch-blocklet/page-header.js +43 -0
  136. package/es/layout/addon.js +114 -0
  137. package/es/layout/feedback.js +55 -0
  138. package/es/locales/en.js +1534 -0
  139. package/es/locales/index.js +9 -0
  140. package/es/locales/zh.js +1537 -0
  141. package/es/logs/clock.js +11 -0
  142. package/es/logs/download.js +132 -0
  143. package/es/logs/log-terminal.js +253 -0
  144. package/es/lost-passport.js +452 -0
  145. package/es/nav-logo.js +219 -0
  146. package/es/passport-tag.js +43 -0
  147. package/es/permission.js +57 -0
  148. package/es/relative-time.js +53 -0
  149. package/es/result-message.js +11 -0
  150. package/es/schema-form/color-input.js +98 -0
  151. package/es/schema-form/common-prop-types.js +13 -0
  152. package/es/schema-form/index.js +215 -0
  153. package/es/schema-form/passport-input.js +54 -0
  154. package/es/schema-form/text-input.js +57 -0
  155. package/es/store/add.js +179 -0
  156. package/es/store/delete.js +96 -0
  157. package/es/store/item.js +76 -0
  158. package/es/subscription.js +144 -0
  159. package/es/table-icons.js +34 -0
  160. package/es/table.js +52 -0
  161. package/es/tag.js +21 -0
  162. package/es/team/members/actions.js +89 -0
  163. package/es/team/members/index.js +636 -0
  164. package/es/team/members/invitations.js +188 -0
  165. package/es/team/members/invite-member.js +208 -0
  166. package/es/team/members/issue-passport.js +152 -0
  167. package/es/team/members/member.js +408 -0
  168. package/es/team/members/passport-issuances.js +155 -0
  169. package/es/team/members/passports.js +364 -0
  170. package/es/team/members/toggle-user-approval.js +122 -0
  171. package/es/team/members/transfer-node.js +256 -0
  172. package/es/team/members/util.js +14 -0
  173. package/es/team/passports/color.js +126 -0
  174. package/es/team/passports/detail.js +312 -0
  175. package/es/team/passports/index.js +282 -0
  176. package/es/team/passports/mutate-role.js +198 -0
  177. package/es/team/passports/trusted-factories.js +221 -0
  178. package/es/team/passports/trusted-factory.js +343 -0
  179. package/es/team/passports/trusted-issuer.js +296 -0
  180. package/es/team/passports/trusted-issuers.js +226 -0
  181. package/es/team/search-input.js +46 -0
  182. package/es/team/styles/dialog.js +72 -0
  183. package/es/team/styles/list-header.js +31 -0
  184. package/es/util/api.js +6 -0
  185. package/es/util/constants.js +2 -0
  186. package/es/util/index.js +598 -0
  187. package/es/util/mode.js +4 -0
  188. package/es/util/space-gateway.js +51 -0
  189. package/es/util/spaces.js +151 -0
  190. package/es/who-can-access/config.js +38 -0
  191. package/es/wrap-locale.js +15 -0
  192. package/lib/blocklet/component/space-connector.js +1 -1
  193. package/lib/blocklet/component/space-selector.js +1 -1
  194. package/lib/blocklet/storage/backups.js +1 -1
  195. package/lib/blocklet/storage/connect-to.js +1 -1
  196. package/lib/blocklet/storage/connected.js +1 -1
  197. package/lib/blocklet/storage/disconnect.js +1 -1
  198. package/lib/blocklet/storage/index.js +1 -1
  199. package/lib/blocklet/storage/item.js +1 -1
  200. package/lib/invitation/invitation-receive.js +1 -1
  201. package/lib/team/passports/trusted-factory.js +1 -1
  202. package/package.json +81 -18
@@ -0,0 +1,20 @@
1
+ import PropTypes from 'prop-types';
2
+ import Box from '@mui/material/Box';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function Line({
5
+ depth
6
+ }) {
7
+ return /*#__PURE__*/_jsx(Box, {
8
+ ml: Math.max((depth - 1) * 2, 0),
9
+ sx: {
10
+ borderBottom: 1,
11
+ borderColor: 'rgba(0,0,0,0.12)'
12
+ }
13
+ }, "group-collapse-box");
14
+ }
15
+ Line.propTypes = {
16
+ depth: PropTypes.number
17
+ };
18
+ Line.defaultProps = {
19
+ depth: 1
20
+ };
@@ -0,0 +1,225 @@
1
+ /* eslint-disable react-hooks/exhaustive-deps */
2
+ /* eslint-disable react/jsx-no-bind */
3
+ import PropTypes from 'prop-types';
4
+ import { useKeyPress, useReactive } from 'ahooks';
5
+ import { omit, without } from 'lodash';
6
+ import { useEffect, useMemo, useRef, useState } from 'react';
7
+ import { Icon } from '@iconify/react';
8
+ import Tabs from '@mui/material/Tabs';
9
+ import Tab from '@mui/material/Tab';
10
+ import IconButton from '@mui/material/IconButton';
11
+ import Popover from '@mui/material/Popover';
12
+ import Box from '@mui/material/Box';
13
+ import Typography from '@mui/material/Typography';
14
+ import Button from '@mui/material/Button';
15
+ import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
16
+ import SimpleSelect from './simple-select';
17
+ import { jsx as _jsx } from "react/jsx-runtime";
18
+ import { Fragment as _Fragment } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ const defaultLocale = 'en';
21
+ function LocaleTabs({
22
+ sx,
23
+ onAdd,
24
+ onChange,
25
+ locales,
26
+ localeMap,
27
+ onRemoveLocale
28
+ }) {
29
+ const {
30
+ t
31
+ } = useLocaleContext();
32
+ const inputRef = useRef();
33
+ const [addLocaleButtonEl, setAddLocaleButtonEl] = useState(null);
34
+ const state = useReactive({
35
+ currentLocale: defaultLocale,
36
+ localeList: [],
37
+ inputLocale: '',
38
+ localeError: ''
39
+ });
40
+ const openChooseLocale = useMemo(() => {
41
+ return !!addLocaleButtonEl;
42
+ }, [addLocaleButtonEl]);
43
+ const showLocale = useMemo(() => {
44
+ if (locales.includes(state.currentLocale)) {
45
+ return state.currentLocale;
46
+ }
47
+ return defaultLocale;
48
+ }, [locales, state.currentLocale]);
49
+ const localeOptions = useMemo(() => {
50
+ return Object.keys(omit(localeMap, [...state.localeList, defaultLocale])).map(locale => ({
51
+ title: localeMap[locale],
52
+ value: locale
53
+ }));
54
+ }, [state.localeList]);
55
+ useEffect(() => {
56
+ state.localeList = [...locales];
57
+ }, [locales, state]);
58
+ useKeyPress('enter', () => {
59
+ // HACK: 必须加一个延时,否则无法正确关闭 chooseLocale 弹窗
60
+ setTimeout(() => {
61
+ handleAddLocale();
62
+ });
63
+ }, {
64
+ target: inputRef
65
+ });
66
+ function checkLocale(locale) {
67
+ if (!locale) {
68
+ return t('common.requiredErrorText', {
69
+ name: 'Locale'
70
+ });
71
+ }
72
+ if (locale === 'en' || state.localeList.includes(locale)) {
73
+ return t('navigation.form.localeExists', {
74
+ value: locale
75
+ });
76
+ }
77
+ return true;
78
+ }
79
+ function checkValidLocale(locale = '') {
80
+ const value = locale?.trim();
81
+ const checkResult = checkLocale(value);
82
+ if (checkResult !== true) {
83
+ state.localeError = checkResult;
84
+ } else {
85
+ state.localeError = '';
86
+ }
87
+ return checkResult;
88
+ }
89
+ function handleAddLocale() {
90
+ const value = state.inputLocale?.trim();
91
+ const checkResult = checkValidLocale(value);
92
+ if (checkResult === true) {
93
+ close();
94
+ state.localeList.push(value);
95
+ state.currentLocale = value;
96
+ onAdd(value);
97
+ }
98
+ }
99
+ function close() {
100
+ setAddLocaleButtonEl(null);
101
+ state.inputLocale = '';
102
+ state.localeError = '';
103
+ }
104
+ function handleRemoveLocale(e, locale) {
105
+ e.preventDefault();
106
+ e.stopPropagation();
107
+ state.localeList = without(state.localeList, locale);
108
+ onRemoveLocale(locale);
109
+ if (locale === state.currentLocale) {
110
+ state.currentLocale = defaultLocale;
111
+ }
112
+ }
113
+ function handleChangeLocale(e) {
114
+ const {
115
+ value
116
+ } = e.target;
117
+ checkValidLocale(value);
118
+ state.inputLocale = value;
119
+ }
120
+ return /*#__PURE__*/_jsxs(_Fragment, {
121
+ children: [/*#__PURE__*/_jsxs(Tabs, {
122
+ sx: sx,
123
+ value: showLocale,
124
+ onChange: (e, value) => {
125
+ state.currentLocale = value;
126
+ onChange(value);
127
+ },
128
+ children: [/*#__PURE__*/_jsx(Tab, {
129
+ label: `Default (${localeMap[defaultLocale]})`,
130
+ value: "en"
131
+ }), state.localeList.map(item => /*#__PURE__*/_jsx(Tab, {
132
+ sx: {
133
+ position: 'relative'
134
+ },
135
+ label: /*#__PURE__*/_jsxs(_Fragment, {
136
+ children: [localeMap[item], /*#__PURE__*/_jsx(IconButton, {
137
+ size: "small",
138
+ color: "inherit",
139
+ sx: {
140
+ position: 'absolute',
141
+ top: 0,
142
+ right: 0
143
+ },
144
+ onClick: e => {
145
+ handleRemoveLocale(e, item);
146
+ },
147
+ children: /*#__PURE__*/_jsx(Icon, {
148
+ icon: "mdi:close",
149
+ height: 14
150
+ })
151
+ })]
152
+ }),
153
+ value: item
154
+ }, item)), /*#__PURE__*/_jsx(IconButton, {
155
+ color: "primary",
156
+ disableFocusRipple: true,
157
+ sx: {
158
+ width: '48px'
159
+ },
160
+ onClick: e => {
161
+ setAddLocaleButtonEl(e.currentTarget);
162
+ },
163
+ children: /*#__PURE__*/_jsx(Icon, {
164
+ icon: "mdi:plus"
165
+ })
166
+ })]
167
+ }), /*#__PURE__*/_jsx(Popover, {
168
+ open: openChooseLocale,
169
+ anchorEl: addLocaleButtonEl,
170
+ onClose: close,
171
+ anchorOrigin: {
172
+ vertical: 'bottom',
173
+ horizontal: 'left'
174
+ },
175
+ children: /*#__PURE__*/_jsxs(Box, {
176
+ sx: {
177
+ p: 2,
178
+ width: '270px'
179
+ },
180
+ children: [/*#__PURE__*/_jsx(Typography, {
181
+ variant: "subtitle2",
182
+ children: t('navigation.form.localePlaceholder')
183
+ }), /*#__PURE__*/_jsx(Box, {
184
+ mt: 1,
185
+ children: /*#__PURE__*/_jsx(SimpleSelect, {
186
+ required: true,
187
+ fullWidth: true,
188
+ label: "Locale",
189
+ value: state.inputLocale,
190
+ options: localeOptions,
191
+ onChange: handleChangeLocale,
192
+ error: !!state.localeError,
193
+ helperText: state.localeError || ' '
194
+ })
195
+ }), /*#__PURE__*/_jsx(Box, {
196
+ display: "flex",
197
+ justifyContent: "flex-end",
198
+ children: /*#__PURE__*/_jsx(Button, {
199
+ size: "small",
200
+ variant: "contained",
201
+ onClick: handleAddLocale,
202
+ children: t('common.confirm')
203
+ })
204
+ })]
205
+ })
206
+ })]
207
+ });
208
+ }
209
+ LocaleTabs.propTypes = {
210
+ sx: PropTypes.any,
211
+ onAdd: PropTypes.func,
212
+ onChange: PropTypes.func,
213
+ onRemoveLocale: PropTypes.func,
214
+ localeMap: PropTypes.object,
215
+ locales: PropTypes.array
216
+ };
217
+ LocaleTabs.defaultProps = {
218
+ sx: null,
219
+ onAdd: () => {},
220
+ onChange: () => {},
221
+ onRemoveLocale: () => {},
222
+ localeMap: {},
223
+ locales: []
224
+ };
225
+ export default LocaleTabs;
@@ -0,0 +1,112 @@
1
+ import PropTypes from 'prop-types';
2
+ import { Icon } from '@iconify/react';
3
+ import IconButton from '@mui/material/IconButton';
4
+ import { useCallback, isValidElement } from 'react';
5
+ import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ function NavigationActions({
9
+ className,
10
+ add,
11
+ edit,
12
+ toggle,
13
+ del,
14
+ data,
15
+ section
16
+ }) {
17
+ const {
18
+ t
19
+ } = useLocaleContext();
20
+ const isDisabled = ['yaml', 'tmpl'].includes(data.from);
21
+ const isUninstalled = /*#__PURE__*/isValidElement(data.subtitle);
22
+ function handleClick(e) {
23
+ e.preventDefault();
24
+ e.stopPropagation();
25
+ }
26
+ const handleClickAdd = useCallback(e => {
27
+ handleClick(e);
28
+ add(data);
29
+ }, [add, data]);
30
+ const handleClickEdit = useCallback(e => {
31
+ handleClick(e);
32
+ edit(data);
33
+ }, [edit, data]);
34
+ const handleClickToggle = useCallback(e => {
35
+ handleClick(e);
36
+ toggle(data);
37
+ }, [toggle, data]);
38
+ const handleClickDelete = useCallback(e => {
39
+ handleClick(e);
40
+ del(data);
41
+ }, [del, data]);
42
+ return /*#__PURE__*/_jsxs("div", {
43
+ className: className,
44
+ children: [!data.parent && ['header', 'footer', 'dashboard'].includes(section) && /*#__PURE__*/_jsx("span", {
45
+ title: isUninstalled ? t('navigation.action.noAddSub') : t('navigation.action.addSub'),
46
+ children: /*#__PURE__*/_jsx(IconButton, {
47
+ size: "small",
48
+ color: "success",
49
+ onClick: handleClickAdd,
50
+ disabled: isUninstalled,
51
+ children: /*#__PURE__*/_jsx(Icon, {
52
+ icon: "mdi:plus-box-outline"
53
+ })
54
+ })
55
+ }), /*#__PURE__*/_jsx("span", {
56
+ title: isUninstalled ? t('navigation.action.noEdit') : t('navigation.action.edit'),
57
+ children: /*#__PURE__*/_jsx(IconButton, {
58
+ size: "small",
59
+ color: "primary",
60
+ onClick: handleClickEdit,
61
+ disabled: isUninstalled,
62
+ children: /*#__PURE__*/_jsx(Icon, {
63
+ icon: "mdi:pencil"
64
+ })
65
+ })
66
+ }), /*#__PURE__*/_jsx("span", {
67
+ title:
68
+ // eslint-disable-next-line no-nested-ternary
69
+ isUninstalled ? t('navigation.action.noEdit') : data.visible ? t('navigation.action.hide') : t('navigation.action.show'),
70
+ children: /*#__PURE__*/_jsx(IconButton, {
71
+ size: "small",
72
+ color: "warning",
73
+ onClick: handleClickToggle,
74
+ disabled: isUninstalled,
75
+ children: data.visible === false ? /*#__PURE__*/_jsx(Icon, {
76
+ icon: "mdi:eye-off-outline"
77
+ }) : /*#__PURE__*/_jsx(Icon, {
78
+ icon: "mdi:eye-outline"
79
+ })
80
+ })
81
+ }), /*#__PURE__*/_jsx("span", {
82
+ title: isDisabled && !isUninstalled ? t('navigation.action.noDel') : t('navigation.action.del'),
83
+ children: /*#__PURE__*/_jsx(IconButton, {
84
+ disabled: isDisabled && !isUninstalled,
85
+ size: "small",
86
+ color: "error",
87
+ onClick: handleClickDelete,
88
+ children: /*#__PURE__*/_jsx(Icon, {
89
+ icon: "mdi:delete"
90
+ })
91
+ })
92
+ })]
93
+ });
94
+ }
95
+ NavigationActions.propTypes = {
96
+ data: PropTypes.object.isRequired,
97
+ className: PropTypes.string,
98
+ add: PropTypes.func,
99
+ edit: PropTypes.func,
100
+ toggle: PropTypes.func,
101
+ del: PropTypes.func,
102
+ section: PropTypes.string
103
+ };
104
+ NavigationActions.defaultProps = {
105
+ className: '',
106
+ add: () => {},
107
+ edit: () => {},
108
+ toggle: () => {},
109
+ del: () => {},
110
+ section: ''
111
+ };
112
+ export default NavigationActions;