iglooform 2.5.16 → 2.5.19

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.
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ require("antd/es/message/style");
9
+
10
+ var _message2 = _interopRequireDefault(require("antd/es/message"));
11
+
8
12
  require("antd/es/grid/style");
9
13
 
10
14
  var _grid = _interopRequireDefault(require("antd/es/grid"));
@@ -19,6 +23,14 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
23
 
20
24
  var _iglooicon = require("iglooicon");
21
25
 
26
+ var _modal = _interopRequireDefault(require("../modal"));
27
+
28
+ var _password = _interopRequireDefault(require("../input/password"));
29
+
30
+ var _button = _interopRequireDefault(require("../button"));
31
+
32
+ var _locale = require("../locale");
33
+
22
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
35
 
24
36
  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; }
@@ -40,6 +52,10 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
40
52
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
53
 
42
54
  var useBreakpoint = _grid.default.useBreakpoint;
55
+ var PasswordResponses = {
56
+ NEED_PASSWORD: 1,
57
+ INCORRECT_PASSWORD: 2
58
+ };
43
59
 
44
60
  var PdfViewer = function PdfViewer(_ref) {
45
61
  var src = _ref.src,
@@ -50,6 +66,9 @@ var PdfViewer = function PdfViewer(_ref) {
50
66
  _ref$showAllPages = _ref.showAllPages,
51
67
  showAllPages = _ref$showAllPages === void 0 ? true : _ref$showAllPages;
52
68
 
69
+ var _useContext = (0, _react.useContext)(_locale.LocaleContext),
70
+ formatMessage = _useContext.formatMessage;
71
+
53
72
  var _useState = (0, _react.useState)(1),
54
73
  _useState2 = _slicedToArray(_useState, 2),
55
74
  pageSize = _useState2[0],
@@ -60,9 +79,23 @@ var PdfViewer = function PdfViewer(_ref) {
60
79
  page = _useState4[0],
61
80
  setPage = _useState4[1];
62
81
 
82
+ var documentRef = (0, _react.useRef)(null);
83
+
84
+ var _useState5 = (0, _react.useState)(false),
85
+ _useState6 = _slicedToArray(_useState5, 2),
86
+ needPassword = _useState6[0],
87
+ setNeedPassword = _useState6[1];
88
+
63
89
  var _useBreakpoint = useBreakpoint(),
64
90
  md = _useBreakpoint.md;
65
91
 
92
+ var _useReducer = (0, _react.useReducer)(function (a) {
93
+ return a + 1;
94
+ }, 0),
95
+ _useReducer2 = _slicedToArray(_useReducer, 2),
96
+ index = _useReducer2[0],
97
+ update = _useReducer2[1];
98
+
66
99
  var handlePageInit = function handlePageInit(document) {
67
100
  var _ref2 = document || {},
68
101
  numPages = _ref2.numPages;
@@ -72,6 +105,74 @@ var PdfViewer = function PdfViewer(_ref) {
72
105
  }
73
106
  };
74
107
 
108
+ var handleCancelLoad = function handleCancelLoad() {
109
+ var current = documentRef === null || documentRef === void 0 ? void 0 : documentRef.current;
110
+
111
+ if (current) {
112
+ // @ts-ignore
113
+ current.setState({
114
+ pdf: false
115
+ });
116
+ }
117
+
118
+ setNeedPassword(true);
119
+ };
120
+
121
+ var onPassword = function onPassword(callback, reason) {
122
+ if (reason) {
123
+ var password = '';
124
+
125
+ if (reason === PasswordResponses.INCORRECT_PASSWORD) {
126
+ _message2.default.error(formatMessage({
127
+ id: 'Invalid password.'
128
+ }));
129
+ }
130
+
131
+ _modal.default.confirm({
132
+ title: formatMessage({
133
+ id: 'Enter the password to open this PDF file.'
134
+ }),
135
+ maskClosable: false,
136
+ content: (0, _jsxRuntime.jsx)("div", {
137
+ children: (0, _jsxRuntime.jsx)(_password.default, {
138
+ onChange: function onChange(event) {
139
+ return password = event.target.value;
140
+ },
141
+ placeholder: "input password"
142
+ })
143
+ }),
144
+ okText: formatMessage({
145
+ id: 'Ok'
146
+ }),
147
+ cancelText: formatMessage({
148
+ id: 'Cancel'
149
+ }),
150
+ onOk: function onOk() {
151
+ return callback(password);
152
+ },
153
+ onCancel: handleCancelLoad
154
+ });
155
+ }
156
+ };
157
+
158
+ var reopen = function reopen() {
159
+ setNeedPassword(false);
160
+ update();
161
+ };
162
+
163
+ if (needPassword) {
164
+ return (0, _jsxRuntime.jsx)(_button.default, {
165
+ onClick: reopen,
166
+ style: {
167
+ color: '#ffffff'
168
+ },
169
+ type: "text",
170
+ children: formatMessage({
171
+ id: 'This is an encrypted file, click to enter password.'
172
+ })
173
+ });
174
+ }
175
+
75
176
  if (showAllPages) {
76
177
  return (0, _jsxRuntime.jsx)("div", {
77
178
  style: {
@@ -86,6 +187,8 @@ var PdfViewer = function PdfViewer(_ref) {
86
187
  children: (0, _jsxRuntime.jsx)(_entry.Document, {
87
188
  file: src,
88
189
  onLoadSuccess: handlePageInit,
190
+ ref: documentRef,
191
+ onPassword: onPassword,
89
192
  children: Array.from({
90
193
  length: pageSize
91
194
  }).map(function (_, index) {
@@ -95,7 +198,7 @@ var PdfViewer = function PdfViewer(_ref) {
95
198
  }, index);
96
199
  })
97
200
  })
98
- });
201
+ }, index);
99
202
  }
100
203
 
101
204
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
@@ -110,12 +213,14 @@ var PdfViewer = function PdfViewer(_ref) {
110
213
  children: (0, _jsxRuntime.jsx)(_entry.Document, {
111
214
  file: src,
112
215
  onLoadSuccess: handlePageInit,
216
+ ref: documentRef,
217
+ onPassword: onPassword,
113
218
  children: (0, _jsxRuntime.jsx)(_entry.Page, {
114
219
  pageNumber: page,
115
220
  scale: scale
116
221
  })
117
222
  })
118
- }), isCurrent && Boolean(pageSize > 1) && (0, _jsxRuntime.jsxs)("div", {
223
+ }, index), isCurrent && Boolean(pageSize > 1) && (0, _jsxRuntime.jsxs)("div", {
119
224
  style: {
120
225
  position: 'fixed',
121
226
  bottom: 0,
@@ -202,34 +307,34 @@ var Media = function Media(_ref4) {
202
307
  _ref4$showAllPages = _ref4.showAllPages,
203
308
  showAllPages = _ref4$showAllPages === void 0 ? true : _ref4$showAllPages;
204
309
 
205
- var _useState5 = (0, _react.useState)(false),
206
- _useState6 = _slicedToArray(_useState5, 2),
207
- isDrag = _useState6[0],
208
- setIsDrag = _useState6[1];
310
+ var _useState7 = (0, _react.useState)(false),
311
+ _useState8 = _slicedToArray(_useState7, 2),
312
+ isDrag = _useState8[0],
313
+ setIsDrag = _useState8[1];
209
314
 
210
- var _useState7 = (0, _react.useState)({
315
+ var _useState9 = (0, _react.useState)({
211
316
  startX: 0,
212
317
  startY: 0
213
318
  }),
214
- _useState8 = _slicedToArray(_useState7, 2),
215
- startPos = _useState8[0],
216
- setStartPos = _useState8[1];
319
+ _useState10 = _slicedToArray(_useState9, 2),
320
+ startPos = _useState10[0],
321
+ setStartPos = _useState10[1];
217
322
 
218
- var _useState9 = (0, _react.useState)({
323
+ var _useState11 = (0, _react.useState)({
219
324
  top: 0,
220
325
  left: 0
221
326
  }),
222
- _useState10 = _slicedToArray(_useState9, 2),
223
- offset = _useState10[0],
224
- setOffset = _useState10[1];
327
+ _useState12 = _slicedToArray(_useState11, 2),
328
+ offset = _useState12[0],
329
+ setOffset = _useState12[1];
225
330
 
226
- var _useState11 = (0, _react.useState)({
331
+ var _useState13 = (0, _react.useState)({
227
332
  top: 0,
228
333
  left: 0
229
334
  }),
230
- _useState12 = _slicedToArray(_useState11, 2),
231
- lastOffset = _useState12[0],
232
- setLastOffset = _useState12[1];
335
+ _useState14 = _slicedToArray(_useState13, 2),
336
+ lastOffset = _useState14[0],
337
+ setLastOffset = _useState14[1];
233
338
 
234
339
  var handleMouseUp = function handleMouseUp(e) {
235
340
  e.preventDefault();
package/lib/types.d.ts CHANGED
@@ -110,7 +110,7 @@ export interface FormItemExtraConfig extends FormItemProps {
110
110
  length?: number;
111
111
  minLength?: number;
112
112
  maxLength?: number;
113
- idType?: 'KTP';
113
+ idType?: 'KTP' | 'NIK';
114
114
  [key: string]: any;
115
115
  }
116
116
  export interface FormItemConfig extends FormItemExtraConfig {
@@ -1,5 +1,6 @@
1
1
  .word-wrap {
2
2
  word-wrap: break-word;
3
+ white-space: pre-wrap;
3
4
  }
4
5
 
5
6
  .igloo-typography {
@@ -7,13 +7,37 @@ exports.default = void 0;
7
7
 
8
8
  var _jsxRuntime = require("react/jsx-runtime");
9
9
 
10
+ var _react = require("react");
11
+
10
12
  var _entry = require("react-pdf/dist/esm/entry.webpack");
11
13
 
14
+ var _locale = require("../locale");
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
24
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
12
28
  var MediaItem = function MediaItem(_ref) {
13
29
  var type = _ref.type,
14
30
  src = _ref.src,
15
31
  className = _ref.className;
16
32
 
33
+ var _useState = (0, _react.useState)(false),
34
+ _useState2 = _slicedToArray(_useState, 2),
35
+ needPassword = _useState2[0],
36
+ setNeedPassword = _useState2[1];
37
+
38
+ var _useContext = (0, _react.useContext)(_locale.LocaleContext),
39
+ formatMessage = _useContext.formatMessage;
40
+
17
41
  switch (type) {
18
42
  case 'video':
19
43
  return (0, _jsxRuntime.jsx)("video", {
@@ -29,8 +53,13 @@ var MediaItem = function MediaItem(_ref) {
29
53
  case 'pdf':
30
54
  return (0, _jsxRuntime.jsx)("div", {
31
55
  className: className,
32
- children: (0, _jsxRuntime.jsx)(_entry.Document, {
56
+ children: needPassword ? formatMessage({
57
+ id: 'Encrypted PDF'
58
+ }) : (0, _jsxRuntime.jsx)(_entry.Document, {
33
59
  file: src,
60
+ onPassword: function onPassword() {
61
+ setNeedPassword(true);
62
+ },
34
63
  children: (0, _jsxRuntime.jsx)(_entry.Page, {
35
64
  pageNumber: 1,
36
65
  height: 96
@@ -171,7 +171,7 @@ var UploadPreview = function UploadPreview(_ref) {
171
171
  }), src && type && (0, _jsxRuntime.jsx)(_media.default, {
172
172
  src: src,
173
173
  type: type
174
- }), (0, _jsxRuntime.jsx)(_button.default, {
174
+ }, current), (0, _jsxRuntime.jsx)(_button.default, {
175
175
  icon: (0, _jsxRuntime.jsx)(_iglooicon.ArrowRightOutlined, {}),
176
176
  className: (0, _classnames.default)('igloo-upload-preview-modal-button', 'igloo-upload-preview-modal-button-right'),
177
177
  onClick: next,
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ require("antd/es/message/style");
9
+
10
+ var _message2 = _interopRequireDefault(require("antd/es/message"));
11
+
8
12
  require("antd/es/grid/style");
9
13
 
10
14
  var _grid = _interopRequireDefault(require("antd/es/grid"));
@@ -21,6 +25,12 @@ var _iglooicon = require("iglooicon");
21
25
 
22
26
  var _localeContext = _interopRequireDefault(require("../locale/locale-context"));
23
27
 
28
+ var _modal = _interopRequireDefault(require("../modal"));
29
+
30
+ var _password = _interopRequireDefault(require("../input/password"));
31
+
32
+ var _button = _interopRequireDefault(require("../button"));
33
+
24
34
  var _classnames = _interopRequireDefault(require("classnames"));
25
35
 
26
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -38,6 +48,10 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
38
48
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
49
 
40
50
  var useBreakpoint = _grid.default.useBreakpoint;
51
+ var PasswordResponses = {
52
+ NEED_PASSWORD: 1,
53
+ INCORRECT_PASSWORD: 2
54
+ };
41
55
 
42
56
  var PDF = function PDF(_ref) {
43
57
  var src = _ref.src;
@@ -47,9 +61,26 @@ var PDF = function PDF(_ref) {
47
61
  pageSize = _useState2[0],
48
62
  setPageSize = _useState2[1];
49
63
 
64
+ var _useState3 = (0, _react.useState)(false),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ needPassword = _useState4[0],
67
+ setNeedPassword = _useState4[1];
68
+
50
69
  var _useBreakpoint = useBreakpoint(),
51
70
  md = _useBreakpoint.md;
52
71
 
72
+ var _useReducer = (0, _react.useReducer)(function (a) {
73
+ return a + 1;
74
+ }, 0),
75
+ _useReducer2 = _slicedToArray(_useReducer, 2),
76
+ index = _useReducer2[0],
77
+ update = _useReducer2[1];
78
+
79
+ var documentRef = (0, _react.useRef)(null);
80
+
81
+ var _useContext = (0, _react.useContext)(_localeContext.default),
82
+ formatMessage = _useContext.formatMessage;
83
+
53
84
  var handlePageInit = function handlePageInit(document) {
54
85
  var _ref2 = document || {},
55
86
  numPages = _ref2.numPages;
@@ -59,11 +90,77 @@ var PDF = function PDF(_ref) {
59
90
  }
60
91
  };
61
92
 
93
+ var handleCancelLoad = function handleCancelLoad() {
94
+ var current = documentRef === null || documentRef === void 0 ? void 0 : documentRef.current;
95
+
96
+ if (current) {
97
+ // @ts-ignore
98
+ current.setState({
99
+ pdf: false
100
+ });
101
+ }
102
+
103
+ setNeedPassword(true);
104
+ };
105
+
106
+ var onPassword = function onPassword(callback, reason) {
107
+ if (reason) {
108
+ var password = '';
109
+
110
+ if (reason === PasswordResponses.INCORRECT_PASSWORD) {
111
+ _message2.default.error(formatMessage({
112
+ id: 'Invalid password.'
113
+ }));
114
+ }
115
+
116
+ _modal.default.confirm({
117
+ title: formatMessage({
118
+ id: 'Enter the password to open this PDF file.'
119
+ }),
120
+ maskClosable: false,
121
+ content: (0, _jsxRuntime.jsx)("div", {
122
+ children: (0, _jsxRuntime.jsx)(_password.default, {
123
+ onChange: function onChange(event) {
124
+ return password = event.target.value;
125
+ },
126
+ placeholder: "input password"
127
+ })
128
+ }),
129
+ okText: formatMessage({
130
+ id: 'Ok'
131
+ }),
132
+ cancelText: formatMessage({
133
+ id: 'Cancel'
134
+ }),
135
+ onOk: function onOk() {
136
+ return callback(password);
137
+ },
138
+ onCancel: handleCancelLoad
139
+ });
140
+ }
141
+ };
142
+
143
+ var reopen = function reopen() {
144
+ setNeedPassword(false);
145
+ update();
146
+ };
147
+
148
+ if (needPassword) {
149
+ return (0, _jsxRuntime.jsx)(_button.default, {
150
+ onClick: reopen,
151
+ type: "text",
152
+ children: formatMessage({
153
+ id: 'This is an encrypted file, click to enter password.'
154
+ })
155
+ });
156
+ }
157
+
62
158
  return (0, _jsxRuntime.jsx)("div", {
63
159
  className: "igloo-upload-preview-pdf",
64
160
  children: (0, _jsxRuntime.jsx)(_entry.Document, {
65
161
  file: src,
66
162
  onLoadSuccess: handlePageInit,
163
+ onPassword: onPassword,
67
164
  children: Array.from({
68
165
  length: pageSize
69
166
  }).map(function (_, index) {
@@ -72,7 +169,7 @@ var PDF = function PDF(_ref) {
72
169
  scale: md ? 1 : 0.5
73
170
  }, index);
74
171
  })
75
- })
172
+ }, index)
76
173
  });
77
174
  };
78
175
 
@@ -81,8 +178,8 @@ var Media = function Media(_ref3) {
81
178
  type = _ref3.type,
82
179
  className = _ref3.className;
83
180
 
84
- var _useContext = (0, _react.useContext)(_localeContext.default),
85
- formatMessage = _useContext.formatMessage;
181
+ var _useContext2 = (0, _react.useContext)(_localeContext.default),
182
+ formatMessage = _useContext2.formatMessage;
86
183
 
87
184
  var children = (0, _jsxRuntime.jsxs)("div", {
88
185
  className: "igloo-upload-prevew-not-supported",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iglooform",
3
- "version": "2.5.16",
3
+ "version": "2.5.19",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "build-dev": "dumi build",