@atlaskit/embedded-document 0.7.29

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 (56) hide show
  1. package/CHANGELOG.md +978 -0
  2. package/LICENSE +13 -0
  3. package/build/tsconfig.json +17 -0
  4. package/dist/cjs/components/document.js +157 -0
  5. package/dist/cjs/components/toolbar.js +89 -0
  6. package/dist/cjs/consumers/consumer.js +102 -0
  7. package/dist/cjs/consumers/document-body.js +95 -0
  8. package/dist/cjs/consumers/with-document-actions.js +139 -0
  9. package/dist/cjs/context/context.js +71 -0
  10. package/dist/cjs/context/embedded-document.js +396 -0
  11. package/dist/cjs/index.js +47 -0
  12. package/dist/cjs/model/index.js +5 -0
  13. package/dist/cjs/provider/index.js +35 -0
  14. package/dist/cjs/provider/provider.js +5 -0
  15. package/dist/cjs/provider/service-provider.js +240 -0
  16. package/dist/cjs/version.json +5 -0
  17. package/dist/es2019/components/document.js +107 -0
  18. package/dist/es2019/components/toolbar.js +45 -0
  19. package/dist/es2019/consumers/consumer.js +62 -0
  20. package/dist/es2019/consumers/document-body.js +49 -0
  21. package/dist/es2019/consumers/with-document-actions.js +35 -0
  22. package/dist/es2019/context/context.js +19 -0
  23. package/dist/es2019/context/embedded-document.js +216 -0
  24. package/dist/es2019/index.js +5 -0
  25. package/dist/es2019/model/index.js +1 -0
  26. package/dist/es2019/provider/index.js +18 -0
  27. package/dist/es2019/provider/provider.js +1 -0
  28. package/dist/es2019/provider/service-provider.js +101 -0
  29. package/dist/es2019/version.json +5 -0
  30. package/dist/esm/components/document.js +136 -0
  31. package/dist/esm/components/toolbar.js +70 -0
  32. package/dist/esm/consumers/consumer.js +84 -0
  33. package/dist/esm/consumers/document-body.js +77 -0
  34. package/dist/esm/consumers/with-document-actions.js +119 -0
  35. package/dist/esm/context/context.js +59 -0
  36. package/dist/esm/context/embedded-document.js +375 -0
  37. package/dist/esm/index.js +5 -0
  38. package/dist/esm/model/index.js +1 -0
  39. package/dist/esm/provider/index.js +18 -0
  40. package/dist/esm/provider/provider.js +1 -0
  41. package/dist/esm/provider/service-provider.js +229 -0
  42. package/dist/esm/version.json +5 -0
  43. package/dist/types/components/document.d.ts +20 -0
  44. package/dist/types/components/toolbar.d.ts +6 -0
  45. package/dist/types/consumers/consumer.d.ts +23 -0
  46. package/dist/types/consumers/document-body.d.ts +13 -0
  47. package/dist/types/consumers/with-document-actions.d.ts +16 -0
  48. package/dist/types/context/context.d.ts +22 -0
  49. package/dist/types/context/embedded-document.d.ts +41 -0
  50. package/dist/types/index.d.ts +8 -0
  51. package/dist/types/model/index.d.ts +19 -0
  52. package/dist/types/provider/index.d.ts +9 -0
  53. package/dist/types/provider/provider.d.ts +7 -0
  54. package/dist/types/provider/service-provider.d.ts +13 -0
  55. package/package.json +44 -0
  56. package/tsconfig.json +15 -0
@@ -0,0 +1,5 @@
1
+ export { default as EmbeddedDocument } from './context/embedded-document';
2
+ export { default as DocumentBody } from './consumers/document-body';
3
+ export { default as WithDocumentActions } from './consumers/with-document-actions';
4
+ export { default as ServiceProvider } from './provider/service-provider';
5
+ export { default as Toolbar } from './components/toolbar';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { default as ServiceProvider } from './service-provider';
2
+ export { ServiceProvider };
3
+ export var getProvider = function getProvider(_ref) {
4
+ var provider = _ref.provider,
5
+ url = _ref.url;
6
+
7
+ if (provider) {
8
+ return provider;
9
+ }
10
+
11
+ if (url) {
12
+ return new ServiceProvider({
13
+ url: url
14
+ });
15
+ }
16
+
17
+ throw new Error('Missing provider');
18
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,229 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
+ import _createClass from "@babel/runtime/helpers/createClass";
6
+
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
+
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
+
11
+ import { utils } from '@atlaskit/util-service-support';
12
+
13
+ function queryBuilder(data) {
14
+ return Object.keys(data).map(function (key) {
15
+ return [key, data[key]].map(encodeURIComponent).join('=');
16
+ }).join('&');
17
+ }
18
+
19
+ var ServiceProvider = /*#__PURE__*/function () {
20
+ function ServiceProvider(config) {
21
+ _classCallCheck(this, ServiceProvider);
22
+
23
+ this.config = config;
24
+ }
25
+
26
+ _createClass(ServiceProvider, [{
27
+ key: "getDocument",
28
+ value: function () {
29
+ var _getDocument = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(documentId, language) {
30
+ var document;
31
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
32
+ while (1) {
33
+ switch (_context.prev = _context.next) {
34
+ case 0:
35
+ _context.prev = 0;
36
+ _context.next = 3;
37
+ return utils.requestService(this.config, {
38
+ path: "document/".concat(documentId, "/").concat(language || '')
39
+ });
40
+
41
+ case 3:
42
+ document = _context.sent;
43
+ return _context.abrupt("return", document);
44
+
45
+ case 7:
46
+ _context.prev = 7;
47
+ _context.t0 = _context["catch"](0);
48
+ // eslint-disable-next-line no-console
49
+ console.warn("Failed to get document: ".concat(JSON.stringify(_context.t0)));
50
+ return _context.abrupt("return", null);
51
+
52
+ case 11:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }
57
+ }, _callee, this, [[0, 7]]);
58
+ }));
59
+
60
+ function getDocument(_x, _x2) {
61
+ return _getDocument.apply(this, arguments);
62
+ }
63
+
64
+ return getDocument;
65
+ }()
66
+ }, {
67
+ key: "getDocumentByObjectId",
68
+ value: function () {
69
+ var _getDocumentByObjectId = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(objectId, language) {
70
+ var queryString, documents;
71
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
72
+ while (1) {
73
+ switch (_context2.prev = _context2.next) {
74
+ case 0:
75
+ _context2.prev = 0;
76
+ queryString = queryBuilder(_objectSpread({
77
+ objectId: objectId
78
+ }, language ? {
79
+ language: language
80
+ } : {}));
81
+ _context2.next = 4;
82
+ return utils.requestService(this.config, {
83
+ path: "document?".concat(queryString)
84
+ });
85
+
86
+ case 4:
87
+ documents = _context2.sent;
88
+
89
+ if (!(documents && documents.length)) {
90
+ _context2.next = 7;
91
+ break;
92
+ }
93
+
94
+ return _context2.abrupt("return", documents[0].language[language || 'default'].versions[0]);
95
+
96
+ case 7:
97
+ return _context2.abrupt("return", null);
98
+
99
+ case 10:
100
+ _context2.prev = 10;
101
+ _context2.t0 = _context2["catch"](0);
102
+ // eslint-disable-next-line no-console
103
+ console.warn("Failed to get document: ".concat(JSON.stringify(_context2.t0)));
104
+ return _context2.abrupt("return", null);
105
+
106
+ case 14:
107
+ case "end":
108
+ return _context2.stop();
109
+ }
110
+ }
111
+ }, _callee2, this, [[0, 10]]);
112
+ }));
113
+
114
+ function getDocumentByObjectId(_x3, _x4) {
115
+ return _getDocumentByObjectId.apply(this, arguments);
116
+ }
117
+
118
+ return getDocumentByObjectId;
119
+ }()
120
+ }, {
121
+ key: "updateDocument",
122
+ value: function () {
123
+ var _updateDocument = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(documentId, body, objectId, title, language) {
124
+ var document;
125
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
126
+ while (1) {
127
+ switch (_context3.prev = _context3.next) {
128
+ case 0:
129
+ _context3.prev = 0;
130
+ _context3.next = 3;
131
+ return utils.requestService(this.config, {
132
+ path: "document/".concat(documentId),
133
+ requestInit: {
134
+ headers: {
135
+ 'Content-Type': 'application/json'
136
+ },
137
+ method: 'PUT',
138
+ body: JSON.stringify({
139
+ body: body,
140
+ objectId: objectId,
141
+ title: title,
142
+ language: language
143
+ })
144
+ }
145
+ });
146
+
147
+ case 3:
148
+ document = _context3.sent;
149
+ return _context3.abrupt("return", document);
150
+
151
+ case 7:
152
+ _context3.prev = 7;
153
+ _context3.t0 = _context3["catch"](0);
154
+ // eslint-disable-next-line no-console
155
+ console.warn("Failed to update document: ".concat(JSON.stringify(_context3.t0)));
156
+ return _context3.abrupt("return", null);
157
+
158
+ case 11:
159
+ case "end":
160
+ return _context3.stop();
161
+ }
162
+ }
163
+ }, _callee3, this, [[0, 7]]);
164
+ }));
165
+
166
+ function updateDocument(_x5, _x6, _x7, _x8, _x9) {
167
+ return _updateDocument.apply(this, arguments);
168
+ }
169
+
170
+ return updateDocument;
171
+ }()
172
+ }, {
173
+ key: "createDocument",
174
+ value: function () {
175
+ var _createDocument = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(body, objectId, title, language) {
176
+ var document;
177
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
178
+ while (1) {
179
+ switch (_context4.prev = _context4.next) {
180
+ case 0:
181
+ _context4.prev = 0;
182
+ _context4.next = 3;
183
+ return utils.requestService(this.config, {
184
+ path: "document",
185
+ requestInit: {
186
+ headers: {
187
+ 'Content-Type': 'application/json'
188
+ },
189
+ method: 'POST',
190
+ body: JSON.stringify({
191
+ body: body,
192
+ objectId: objectId,
193
+ title: title,
194
+ language: language
195
+ })
196
+ }
197
+ });
198
+
199
+ case 3:
200
+ document = _context4.sent;
201
+ return _context4.abrupt("return", document);
202
+
203
+ case 7:
204
+ _context4.prev = 7;
205
+ _context4.t0 = _context4["catch"](0);
206
+ // eslint-disable-next-line no-console
207
+ console.warn("Failed to update document: ".concat(JSON.stringify(_context4.t0)));
208
+ return _context4.abrupt("return", null);
209
+
210
+ case 11:
211
+ case "end":
212
+ return _context4.stop();
213
+ }
214
+ }
215
+ }, _callee4, this, [[0, 7]]);
216
+ }));
217
+
218
+ function createDocument(_x10, _x11, _x12, _x13) {
219
+ return _createDocument.apply(this, arguments);
220
+ }
221
+
222
+ return createDocument;
223
+ }()
224
+ }]);
225
+
226
+ return ServiceProvider;
227
+ }();
228
+
229
+ export { ServiceProvider as default };
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@atlaskit/embedded-document",
3
+ "version": "0.7.29",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,20 @@
1
+ import { Component } from 'react';
2
+ import { EditorProps } from '@atlaskit/editor-core';
3
+ import { RendererProps } from '@atlaskit/renderer';
4
+ import { Props as BaseProps } from '../context/embedded-document';
5
+ import { Mode } from '../context/context';
6
+ import { Document as DocumentModel } from '../model';
7
+ export interface Props extends BaseProps {
8
+ doc?: DocumentModel;
9
+ isLoading?: boolean;
10
+ hasError?: boolean;
11
+ mode: Mode;
12
+ editorProps?: Partial<EditorProps>;
13
+ rendererProps?: Partial<RendererProps>;
14
+ }
15
+ export default class Document extends Component<Props> {
16
+ private renderToolbar;
17
+ private renderTitle;
18
+ private renderEditor;
19
+ render(): JSX.Element;
20
+ }
@@ -0,0 +1,6 @@
1
+ import { Mode } from '../context/context';
2
+ declare const _default: (props: {
3
+ mode: Mode;
4
+ editorActions?: any;
5
+ }) => JSX.Element;
6
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { PureComponent } from 'react';
3
+ import { Actions, State } from '../context/context';
4
+ export interface Props<PropsFromState extends {}, PropsFromActions extends {}, RenderProps extends {}> {
5
+ stateMapper?: (state: State) => PropsFromState;
6
+ actionsMapper?: (actions: Actions) => PropsFromActions;
7
+ renderPropsMapper?: (renderProps: any) => RenderProps;
8
+ children: (props: PropsFromState & PropsFromActions & RenderProps) => React.ReactNode;
9
+ }
10
+ export interface ConsumerProps<A, V, R> {
11
+ actions: A;
12
+ value: V;
13
+ renderProps: R;
14
+ }
15
+ export declare class Consumer<PropsFromState extends {}, PropsFromActions extends {}, RenderProps extends {}> extends PureComponent<Props<PropsFromState, PropsFromActions, RenderProps>> {
16
+ private previousActions;
17
+ private propsFromActions;
18
+ private getPropsFromActions;
19
+ private getPropsFromState;
20
+ private getRenderProps;
21
+ private renderChildren;
22
+ render(): JSX.Element;
23
+ }
@@ -0,0 +1,13 @@
1
+ import { PureComponent } from 'react';
2
+ import { EditorProps } from '@atlaskit/editor-core';
3
+ import { RendererProps } from '@atlaskit/renderer';
4
+ export interface Props {
5
+ editorProps?: Partial<EditorProps>;
6
+ rendererProps?: Partial<RendererProps>;
7
+ }
8
+ export default class DocumentBody extends PureComponent<Props> {
9
+ private renderChild;
10
+ private stateMapper;
11
+ private renderPropsMapper;
12
+ render(): JSX.Element;
13
+ }
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { PureComponent } from 'react';
3
+ import { Document as DocumentModel } from '../model';
4
+ export interface Props {
5
+ render(actions: DocumentActions): React.ReactNode;
6
+ }
7
+ export interface DocumentActions {
8
+ createDocument(value: any): Promise<DocumentModel>;
9
+ editDocument(): void;
10
+ cancelEdit(): void;
11
+ updateDocument(value: any): Promise<DocumentModel>;
12
+ }
13
+ export default class WithDocumentActions extends PureComponent<Props> {
14
+ private actionsMapper;
15
+ render(): JSX.Element;
16
+ }
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ import { Document } from '../model';
3
+ export interface ContextType {
4
+ value: State;
5
+ actions: Actions;
6
+ renderProps: any;
7
+ }
8
+ export interface State {
9
+ doc?: Document;
10
+ isLoading?: boolean;
11
+ hasError?: boolean;
12
+ mode?: Mode;
13
+ }
14
+ export declare type Mode = 'view' | 'edit' | 'create';
15
+ export interface Actions {
16
+ getDocument(documentId: string, language?: string): void;
17
+ getDocumentByObjectId(objectId: string, language?: string): void;
18
+ setDocumentMode(mode: Mode): void;
19
+ updateDocument(body: string, title?: string, language?: string): Promise<Document>;
20
+ createDocument(body: string, title?: string, language?: string): Promise<Document>;
21
+ }
22
+ export declare const Context: import("react").Context<ContextType>;
@@ -0,0 +1,41 @@
1
+ import { Component, ReactElement } from 'react';
2
+ import { Mode, State } from './context';
3
+ import { ProviderProps } from '../provider';
4
+ export declare const akEditorFullPageMaxWidth = 680;
5
+ export interface Props extends ProviderProps {
6
+ objectId: string;
7
+ documentId?: string;
8
+ containerId?: string;
9
+ language?: string;
10
+ mode?: Mode;
11
+ renderTitle?: (mode: Mode, doc?: any) => ReactElement<any>;
12
+ renderToolbar?: (mode: Mode, editorActions?: any) => ReactElement<any>;
13
+ }
14
+ export default class EmbeddedDocument extends Component<Props, State> {
15
+ private actions;
16
+ private provider;
17
+ constructor(props: Props);
18
+ componentDidMount(): Promise<void>;
19
+ private getDocumentByObjectId;
20
+ private getDocument;
21
+ private setDocumentMode;
22
+ private updateDocument;
23
+ private createDocument;
24
+ private setDocumentState;
25
+ /**
26
+ * Toolbar will only be rendered here if we're in "view"-mode.
27
+ *
28
+ * In all other modes, the toolbar rendering will be triggered
29
+ * by the Document-component.
30
+ */
31
+ private renderToolbar;
32
+ /**
33
+ * Title will only be rendered here if we're in "view"-mode.
34
+ *
35
+ * In all other modes, the title rendering will be triggered
36
+ * by the Document-component.
37
+ */
38
+ private renderTitle;
39
+ private renderContent;
40
+ render(): JSX.Element;
41
+ }
@@ -0,0 +1,8 @@
1
+ export { default as EmbeddedDocument } from './context/embedded-document';
2
+ export { default as DocumentBody } from './consumers/document-body';
3
+ export { default as WithDocumentActions } from './consumers/with-document-actions';
4
+ export { default as ServiceProvider } from './provider/service-provider';
5
+ export { default as Toolbar } from './components/toolbar';
6
+ export type { Mode as DocumentMode } from './context/context';
7
+ export type { Document } from './model';
8
+ export type { Provider } from './provider';
@@ -0,0 +1,19 @@
1
+ export interface Document {
2
+ documentId: string;
3
+ objectId: string;
4
+ containerId?: string;
5
+ createdBy: User;
6
+ language?: string;
7
+ title?: string;
8
+ body: string;
9
+ }
10
+ export interface User {
11
+ }
12
+ export interface BatchDocumentResponse {
13
+ documentId: string;
14
+ language: {
15
+ [key: string]: {
16
+ versions: Document[];
17
+ };
18
+ };
19
+ }