@pingux/astro 2.148.1-alpha.0 → 2.149.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.
@@ -14,18 +14,19 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
14
14
  _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- exports["default"] = void 0;
17
+ exports.filterFileTypes = exports["default"] = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
21
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
22
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
23
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
24
+ var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
18
25
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
19
26
  var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
20
27
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
21
28
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
- var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
23
- var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
24
29
  var _url = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/url"));
25
- var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
26
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
27
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
28
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
29
30
  var _react = _interopRequireWildcard(require("react"));
30
31
  var _reactAria = require("react-aria");
31
32
  var _reactDropzone = require("react-dropzone");
@@ -54,6 +55,20 @@ var FILE_CHANGE_STATUS = {
54
55
  ADDED: 'added',
55
56
  DELETED: 'deleted'
56
57
  };
58
+ var getFileExtension = function getFileExtension(file) {
59
+ var extension = file.name.split('.')[file.name.split('.').length - 1];
60
+ return ".".concat(extension);
61
+ };
62
+ var filterFileTypes = function filterFileTypes(_ref) {
63
+ var arrayWithNewFiles = _ref.arrayWithNewFiles,
64
+ fileTypes = _ref.fileTypes;
65
+ return (0, _filter["default"])(arrayWithNewFiles).call(arrayWithNewFiles, function (newFile) {
66
+ return !(fileTypes !== null && fileTypes !== void 0 && fileTypes.length) || (0, _includes["default"])(fileTypes).call(fileTypes, getFileExtension(newFile)) || (0, _some["default"])(fileTypes).call(fileTypes, function (fileType) {
67
+ return newFile.type.search(fileType) !== -1;
68
+ });
69
+ });
70
+ };
71
+ exports.filterFileTypes = filterFileTypes;
57
72
  var FileInputField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
58
73
  var buttonProps = props.buttonProps,
59
74
  defaultButtonText = props.defaultButtonText,
@@ -133,10 +148,9 @@ var FileInputField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
133
148
  if (!isMultiple) {
134
149
  arrayWithNewFiles = (0, _slice["default"])(arrayWithNewFiles).call(arrayWithNewFiles, 0, 1);
135
150
  }
136
- var filesWithIdAndLink = (0, _map["default"])(_context2 = (0, _filter["default"])(arrayWithNewFiles).call(arrayWithNewFiles, function (newFile) {
137
- return !fileTypes || (0, _some["default"])(fileTypes).call(fileTypes, function (fileType) {
138
- return newFile.type.search(fileType) !== -1;
139
- });
151
+ var filesWithIdAndLink = (0, _map["default"])(_context2 = filterFileTypes({
152
+ arrayWithNewFiles: arrayWithNewFiles,
153
+ fileTypes: fileTypes
140
154
  })).call(_context2, function (newFile) {
141
155
  return {
142
156
  fileObj: newFile,
@@ -180,8 +194,8 @@ var FileInputField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
180
194
  onRemove(e, fileId);
181
195
  }
182
196
  setUploadedFiles(function (prevFiles) {
183
- return (0, _filter["default"])(prevFiles).call(prevFiles, function (_ref) {
184
- var id = _ref.id;
197
+ return (0, _filter["default"])(prevFiles).call(prevFiles, function (_ref2) {
198
+ var id = _ref2.id;
185
199
  return id !== fileId;
186
200
  });
187
201
  });
@@ -14,7 +14,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
14
14
  _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- exports["default"] = exports.WithFileTypePdfAndImage = exports.WithCustomWidth = exports.ErrorWithMultipleFiles = exports.ErrorStatusSingleFile = exports.DefaultFileListUncontrolled = exports.Default = exports.CustomButtonText = exports.ControlledState = void 0;
17
+ exports["default"] = exports.WithFileTypePdfAndImage = exports.WithCustomWidth = exports.WithCustomFileTypes = exports.ErrorWithMultipleFiles = exports.ErrorStatusSingleFile = exports.DefaultFileListUncontrolled = exports.Default = exports.CustomButtonText = exports.ControlledState = void 0;
18
18
  var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
19
19
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
20
20
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
@@ -261,4 +261,11 @@ var WithFileTypePdfAndImage = function WithFileTypePdfAndImage() {
261
261
  helperText: error
262
262
  });
263
263
  };
264
- exports.WithFileTypePdfAndImage = WithFileTypePdfAndImage;
264
+ exports.WithFileTypePdfAndImage = WithFileTypePdfAndImage;
265
+ var WithCustomFileTypes = function WithCustomFileTypes() {
266
+ return (0, _react2.jsx)(_index.FileInputField, {
267
+ fileTypes: ['.p8'],
268
+ sx: fitContentWidthSx
269
+ });
270
+ };
271
+ exports.WithCustomFileTypes = WithCustomFileTypes;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
3
4
  var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
5
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
6
  var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
@@ -8,6 +9,7 @@ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/in
8
9
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
10
  var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
11
  var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
11
13
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
@@ -18,8 +20,10 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
18
20
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
19
21
  var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
20
22
  var _universalFormSubmitTest = require("../../utils/testUtils/universalFormSubmitTest");
21
- var _FileInputField = _interopRequireDefault(require("./FileInputField"));
23
+ var _FileInputField = _interopRequireWildcard(require("./FileInputField"));
22
24
  var _react3 = require("@emotion/react");
25
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
27
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
28
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
25
29
  var fileInputFieldTestId = 'file-input-test-id';
@@ -36,7 +40,7 @@ var testFileName = 'chucknorris.png';
36
40
  var testFileName2 = 'chucknorris222.png';
37
41
  var testFileName3 = 'document.pdf';
38
42
  var testFile = new File(['(⌐□_□)'], testFileName, {
39
- type: 'image/png'
43
+ type: 'text/plain'
40
44
  });
41
45
  var testFile2 = new File(['(⌐□_□)'], testFileName2, {
42
46
  type: 'image/png'
@@ -243,4 +247,54 @@ test('File upload should allow only image', function () {
243
247
  var val = _react2.screen.queryByText('document');
244
248
  expect(val).not.toBeInTheDocument();
245
249
  expect(setStateMock).toHaveBeenCalled();
250
+ });
251
+ describe('filterFileTypes', function () {
252
+ it('returns a list of files', function () {
253
+ var results = (0, _FileInputField.filterFileTypes)({
254
+ arrayWithNewFiles: [testFile, testFile2]
255
+ });
256
+ expect(results.length).toBe(2);
257
+ });
258
+ it('filters file types', function () {
259
+ var results = (0, _FileInputField.filterFileTypes)({
260
+ arrayWithNewFiles: [{
261
+ name: 'shark',
262
+ type: 'text/plain'
263
+ }, {
264
+ name: 'shark',
265
+ type: 'image/png'
266
+ }],
267
+ fileTypes: ['text/plain']
268
+ });
269
+ expect(results.length).toBe(1);
270
+ });
271
+ it('filters file image types', function () {
272
+ var results = (0, _FileInputField.filterFileTypes)({
273
+ arrayWithNewFiles: [{
274
+ name: 'shark',
275
+ type: 'text/plain'
276
+ }, {
277
+ name: 'shark',
278
+ type: 'image/png'
279
+ }],
280
+ fileTypes: ['image']
281
+ });
282
+ expect(results.length).toBe(1);
283
+ });
284
+ it('filters custom file types', function () {
285
+ var results = (0, _FileInputField.filterFileTypes)({
286
+ arrayWithNewFiles: [{
287
+ name: 'shark',
288
+ type: '.p8'
289
+ }, {
290
+ name: 'shark',
291
+ type: '.xml'
292
+ }, {
293
+ name: 'shark',
294
+ type: '.xml'
295
+ }],
296
+ fileTypes: ['.p8']
297
+ });
298
+ expect(results.length).toBe(1);
299
+ });
246
300
  });
@@ -1,24 +1,25 @@
1
- import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
4
- import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
6
- import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
7
- import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
8
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
9
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
11
4
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
12
5
  var _excluded = ["buttonProps", "defaultButtonText", "defaultFileList", "fileList", "helperText", "iconContainerProps", "iconProps", "isDisabled", "isIconButton", "isLoading", "isMultiple", "label", "onFileSelect", "onRemove", "status", "textProps", "fileTypes"];
6
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
8
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
9
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
10
+ import _someInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/some";
13
11
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
14
12
  import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
15
13
  import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
16
14
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
17
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
18
- import _someInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/some";
19
15
  import _URL from "@babel/runtime-corejs3/core-js-stable/url";
20
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
17
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
18
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
19
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
20
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
21
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
22
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
22
23
  import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
23
24
  import { mergeProps, useVisuallyHidden, VisuallyHidden } from 'react-aria';
24
25
  import { useDropzone } from 'react-dropzone';
@@ -42,6 +43,19 @@ var FILE_CHANGE_STATUS = {
42
43
  ADDED: 'added',
43
44
  DELETED: 'deleted'
44
45
  };
46
+ var getFileExtension = function getFileExtension(file) {
47
+ var extension = file.name.split('.')[file.name.split('.').length - 1];
48
+ return ".".concat(extension);
49
+ };
50
+ export var filterFileTypes = function filterFileTypes(_ref) {
51
+ var arrayWithNewFiles = _ref.arrayWithNewFiles,
52
+ fileTypes = _ref.fileTypes;
53
+ return _filterInstanceProperty(arrayWithNewFiles).call(arrayWithNewFiles, function (newFile) {
54
+ return !(fileTypes !== null && fileTypes !== void 0 && fileTypes.length) || _includesInstanceProperty(fileTypes).call(fileTypes, getFileExtension(newFile)) || _someInstanceProperty(fileTypes).call(fileTypes, function (fileType) {
55
+ return newFile.type.search(fileType) !== -1;
56
+ });
57
+ });
58
+ };
45
59
  var FileInputField = /*#__PURE__*/forwardRef(function (props, ref) {
46
60
  var buttonProps = props.buttonProps,
47
61
  defaultButtonText = props.defaultButtonText,
@@ -121,10 +135,9 @@ var FileInputField = /*#__PURE__*/forwardRef(function (props, ref) {
121
135
  if (!isMultiple) {
122
136
  arrayWithNewFiles = _sliceInstanceProperty(arrayWithNewFiles).call(arrayWithNewFiles, 0, 1);
123
137
  }
124
- var filesWithIdAndLink = _mapInstanceProperty(_context2 = _filterInstanceProperty(arrayWithNewFiles).call(arrayWithNewFiles, function (newFile) {
125
- return !fileTypes || _someInstanceProperty(fileTypes).call(fileTypes, function (fileType) {
126
- return newFile.type.search(fileType) !== -1;
127
- });
138
+ var filesWithIdAndLink = _mapInstanceProperty(_context2 = filterFileTypes({
139
+ arrayWithNewFiles: arrayWithNewFiles,
140
+ fileTypes: fileTypes
128
141
  })).call(_context2, function (newFile) {
129
142
  return {
130
143
  fileObj: newFile,
@@ -168,8 +181,8 @@ var FileInputField = /*#__PURE__*/forwardRef(function (props, ref) {
168
181
  onRemove(e, fileId);
169
182
  }
170
183
  setUploadedFiles(function (prevFiles) {
171
- return _filterInstanceProperty(prevFiles).call(prevFiles, function (_ref) {
172
- var id = _ref.id;
184
+ return _filterInstanceProperty(prevFiles).call(prevFiles, function (_ref2) {
185
+ var id = _ref2.id;
173
186
  return id !== fileId;
174
187
  });
175
188
  });
@@ -241,4 +241,10 @@ export var WithFileTypePdfAndImage = function WithFileTypePdfAndImage() {
241
241
  status: error && statuses.ERROR,
242
242
  helperText: error
243
243
  });
244
+ };
245
+ export var WithCustomFileTypes = function WithCustomFileTypes() {
246
+ return ___EmotionJSX(FileInputField, {
247
+ fileTypes: ['.p8'],
248
+ sx: fitContentWidthSx
249
+ });
244
250
  };
@@ -17,7 +17,7 @@ import userEvent from '@testing-library/user-event';
17
17
  import statuses from '../../utils/devUtils/constants/statuses';
18
18
  import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
19
19
  import { universalFieldComponentTests } from '../../utils/testUtils/universalFormSubmitTest';
20
- import FileInputField from './FileInputField';
20
+ import FileInputField, { filterFileTypes } from './FileInputField';
21
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
22
  var fileInputFieldTestId = 'file-input-test-id';
23
23
  var testLabel = 'file-input-test-label';
@@ -33,7 +33,7 @@ var testFileName = 'chucknorris.png';
33
33
  var testFileName2 = 'chucknorris222.png';
34
34
  var testFileName3 = 'document.pdf';
35
35
  var testFile = new File(['(⌐□_□)'], testFileName, {
36
- type: 'image/png'
36
+ type: 'text/plain'
37
37
  });
38
38
  var testFile2 = new File(['(⌐□_□)'], testFileName2, {
39
39
  type: 'image/png'
@@ -240,4 +240,54 @@ test('File upload should allow only image', function () {
240
240
  var val = screen.queryByText('document');
241
241
  expect(val).not.toBeInTheDocument();
242
242
  expect(setStateMock).toHaveBeenCalled();
243
+ });
244
+ describe('filterFileTypes', function () {
245
+ it('returns a list of files', function () {
246
+ var results = filterFileTypes({
247
+ arrayWithNewFiles: [testFile, testFile2]
248
+ });
249
+ expect(results.length).toBe(2);
250
+ });
251
+ it('filters file types', function () {
252
+ var results = filterFileTypes({
253
+ arrayWithNewFiles: [{
254
+ name: 'shark',
255
+ type: 'text/plain'
256
+ }, {
257
+ name: 'shark',
258
+ type: 'image/png'
259
+ }],
260
+ fileTypes: ['text/plain']
261
+ });
262
+ expect(results.length).toBe(1);
263
+ });
264
+ it('filters file image types', function () {
265
+ var results = filterFileTypes({
266
+ arrayWithNewFiles: [{
267
+ name: 'shark',
268
+ type: 'text/plain'
269
+ }, {
270
+ name: 'shark',
271
+ type: 'image/png'
272
+ }],
273
+ fileTypes: ['image']
274
+ });
275
+ expect(results.length).toBe(1);
276
+ });
277
+ it('filters custom file types', function () {
278
+ var results = filterFileTypes({
279
+ arrayWithNewFiles: [{
280
+ name: 'shark',
281
+ type: '.p8'
282
+ }, {
283
+ name: 'shark',
284
+ type: '.xml'
285
+ }, {
286
+ name: 'shark',
287
+ type: '.xml'
288
+ }],
289
+ fileTypes: ['.p8']
290
+ });
291
+ expect(results.length).toBe(1);
292
+ });
243
293
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.148.1-alpha.0",
3
+ "version": "2.149.0-alpha.0",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",