@panneau/medias 3.0.61

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.
File without changes
package/es/index.js ADDED
@@ -0,0 +1,134 @@
1
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
+ import React, { useContext, useMemo } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import { usePanneauResource } from '@panneau/core/contexts';
6
+ import { useApi } from '@panneau/data';
7
+
8
+ /* eslint-disable react/jsx-props-no-spreading */
9
+ var MediasApiContext = /*#__PURE__*/React.createContext(null);
10
+ var useMediasApi = function useMediasApi() {
11
+ return useContext(MediasApiContext);
12
+ };
13
+ var apiPropTypes = PropTypes.shape({
14
+ get: PropTypes.func.isRequired,
15
+ create: PropTypes.func.isRequired,
16
+ find: PropTypes.func.isRequired,
17
+ update: PropTypes.func.isRequired,
18
+ "delete": PropTypes.func.isRequired
19
+ });
20
+ var propTypes$3 = {
21
+ api: apiPropTypes,
22
+ children: PropTypes.node.isRequired
23
+ };
24
+ var defaultProps$3 = {
25
+ api: null
26
+ };
27
+ function MediasApiProvider(_ref) {
28
+ var providedApi = _ref.api,
29
+ children = _ref.children;
30
+ var previousApi = useMediasApi();
31
+ var api = useMemo(function () {
32
+ return providedApi || previousApi;
33
+ }, [providedApi, previousApi]);
34
+ return /*#__PURE__*/React.createElement(MediasApiContext.Provider, {
35
+ value: api
36
+ }, children);
37
+ }
38
+ MediasApiProvider.propTypes = propTypes$3;
39
+ MediasApiProvider.defaultProps = defaultProps$3;
40
+
41
+ var styles = {};
42
+
43
+ /* eslint-disable react/jsx-props-no-spreading, react/no-array-index-key */
44
+ var propTypes$2 = {
45
+ className: PropTypes.string
46
+ };
47
+ var defaultProps$2 = {
48
+ className: null
49
+ };
50
+ function MediasBrowser(_ref) {
51
+ var className = _ref.className;
52
+ return /*#__PURE__*/React.createElement("div", {
53
+ className: classNames([styles.container, className])
54
+ }, "M\xE9dias");
55
+ }
56
+ MediasBrowser.propTypes = propTypes$2;
57
+ MediasBrowser.defaultProps = defaultProps$2;
58
+
59
+ var _excluded$1 = ["api"];
60
+ var propTypes$1 = {
61
+ api: apiPropTypes
62
+ };
63
+ var defaultProps$1 = {
64
+ api: null
65
+ };
66
+ function MediasBrowserContainer(_ref) {
67
+ var api = _ref.api,
68
+ props = _objectWithoutProperties(_ref, _excluded$1);
69
+ return /*#__PURE__*/React.createElement(MediasApiProvider, {
70
+ api: api
71
+ }, /*#__PURE__*/React.createElement(MediasBrowser, props));
72
+ }
73
+ MediasBrowserContainer.propTypes = propTypes$1;
74
+ MediasBrowserContainer.defaultProps = defaultProps$1;
75
+
76
+ var _excluded = ["resource"];
77
+ var propTypes = {
78
+ resource: PropTypes.string
79
+ };
80
+ var defaultProps = {
81
+ resource: 'medias'
82
+ };
83
+ function MediasResourceBrowser(_ref) {
84
+ var resourceId = _ref.resource,
85
+ props = _objectWithoutProperties(_ref, _excluded);
86
+ var resource = usePanneauResource(resourceId);
87
+ var api = useApi();
88
+ var mediasApi = useMemo(function () {
89
+ return {
90
+ get: function get() {
91
+ var _api$resources;
92
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
93
+ args[_key] = arguments[_key];
94
+ }
95
+ return (_api$resources = api.resources).get.apply(_api$resources, [resource].concat(args));
96
+ },
97
+ find: function find() {
98
+ var _api$resources2;
99
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
100
+ args[_key2] = arguments[_key2];
101
+ }
102
+ return (_api$resources2 = api.resources).find.apply(_api$resources2, [resource].concat(args));
103
+ },
104
+ create: function create() {
105
+ var _api$resources3;
106
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
107
+ args[_key3] = arguments[_key3];
108
+ }
109
+ return (_api$resources3 = api.resources).create.apply(_api$resources3, [resource].concat(args));
110
+ },
111
+ update: function update() {
112
+ var _api$resources4;
113
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
114
+ args[_key4] = arguments[_key4];
115
+ }
116
+ return (_api$resources4 = api.resources).update.apply(_api$resources4, [resource].concat(args));
117
+ },
118
+ "delete": function _delete() {
119
+ var _api$resources5;
120
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
121
+ args[_key5] = arguments[_key5];
122
+ }
123
+ return (_api$resources5 = api.resources)["delete"].apply(_api$resources5, [resource].concat(args));
124
+ }
125
+ };
126
+ }, [api, resource]);
127
+ return /*#__PURE__*/React.createElement(MediasBrowserContainer, Object.assign({
128
+ api: mediasApi
129
+ }, props));
130
+ }
131
+ MediasResourceBrowser.propTypes = propTypes;
132
+ MediasResourceBrowser.defaultProps = defaultProps;
133
+
134
+ export { MediasApiProvider, MediasBrowser, MediasResourceBrowser, apiPropTypes, MediasBrowserContainer as default, useMediasApi };
package/lib/index.js ADDED
@@ -0,0 +1,150 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
+ var React = require('react');
7
+ var PropTypes = require('prop-types');
8
+ var classNames = require('classnames');
9
+ var contexts = require('@panneau/core/contexts');
10
+ var data = require('@panneau/data');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
17
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
18
+
19
+ /* eslint-disable react/jsx-props-no-spreading */
20
+ var MediasApiContext = /*#__PURE__*/React__default["default"].createContext(null);
21
+ var useMediasApi = function useMediasApi() {
22
+ return React.useContext(MediasApiContext);
23
+ };
24
+ var apiPropTypes = PropTypes__default["default"].shape({
25
+ get: PropTypes__default["default"].func.isRequired,
26
+ create: PropTypes__default["default"].func.isRequired,
27
+ find: PropTypes__default["default"].func.isRequired,
28
+ update: PropTypes__default["default"].func.isRequired,
29
+ "delete": PropTypes__default["default"].func.isRequired
30
+ });
31
+ var propTypes$3 = {
32
+ api: apiPropTypes,
33
+ children: PropTypes__default["default"].node.isRequired
34
+ };
35
+ var defaultProps$3 = {
36
+ api: null
37
+ };
38
+ function MediasApiProvider(_ref) {
39
+ var providedApi = _ref.api,
40
+ children = _ref.children;
41
+ var previousApi = useMediasApi();
42
+ var api = React.useMemo(function () {
43
+ return providedApi || previousApi;
44
+ }, [providedApi, previousApi]);
45
+ return /*#__PURE__*/React__default["default"].createElement(MediasApiContext.Provider, {
46
+ value: api
47
+ }, children);
48
+ }
49
+ MediasApiProvider.propTypes = propTypes$3;
50
+ MediasApiProvider.defaultProps = defaultProps$3;
51
+
52
+ var styles = {};
53
+
54
+ /* eslint-disable react/jsx-props-no-spreading, react/no-array-index-key */
55
+ var propTypes$2 = {
56
+ className: PropTypes__default["default"].string
57
+ };
58
+ var defaultProps$2 = {
59
+ className: null
60
+ };
61
+ function MediasBrowser(_ref) {
62
+ var className = _ref.className;
63
+ return /*#__PURE__*/React__default["default"].createElement("div", {
64
+ className: classNames__default["default"]([styles.container, className])
65
+ }, "M\xE9dias");
66
+ }
67
+ MediasBrowser.propTypes = propTypes$2;
68
+ MediasBrowser.defaultProps = defaultProps$2;
69
+
70
+ var _excluded$1 = ["api"];
71
+ var propTypes$1 = {
72
+ api: apiPropTypes
73
+ };
74
+ var defaultProps$1 = {
75
+ api: null
76
+ };
77
+ function MediasBrowserContainer(_ref) {
78
+ var api = _ref.api,
79
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
80
+ return /*#__PURE__*/React__default["default"].createElement(MediasApiProvider, {
81
+ api: api
82
+ }, /*#__PURE__*/React__default["default"].createElement(MediasBrowser, props));
83
+ }
84
+ MediasBrowserContainer.propTypes = propTypes$1;
85
+ MediasBrowserContainer.defaultProps = defaultProps$1;
86
+
87
+ var _excluded = ["resource"];
88
+ var propTypes = {
89
+ resource: PropTypes__default["default"].string
90
+ };
91
+ var defaultProps = {
92
+ resource: 'medias'
93
+ };
94
+ function MediasResourceBrowser(_ref) {
95
+ var resourceId = _ref.resource,
96
+ props = _objectWithoutProperties__default["default"](_ref, _excluded);
97
+ var resource = contexts.usePanneauResource(resourceId);
98
+ var api = data.useApi();
99
+ var mediasApi = React.useMemo(function () {
100
+ return {
101
+ get: function get() {
102
+ var _api$resources;
103
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
104
+ args[_key] = arguments[_key];
105
+ }
106
+ return (_api$resources = api.resources).get.apply(_api$resources, [resource].concat(args));
107
+ },
108
+ find: function find() {
109
+ var _api$resources2;
110
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
111
+ args[_key2] = arguments[_key2];
112
+ }
113
+ return (_api$resources2 = api.resources).find.apply(_api$resources2, [resource].concat(args));
114
+ },
115
+ create: function create() {
116
+ var _api$resources3;
117
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
118
+ args[_key3] = arguments[_key3];
119
+ }
120
+ return (_api$resources3 = api.resources).create.apply(_api$resources3, [resource].concat(args));
121
+ },
122
+ update: function update() {
123
+ var _api$resources4;
124
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
125
+ args[_key4] = arguments[_key4];
126
+ }
127
+ return (_api$resources4 = api.resources).update.apply(_api$resources4, [resource].concat(args));
128
+ },
129
+ "delete": function _delete() {
130
+ var _api$resources5;
131
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
132
+ args[_key5] = arguments[_key5];
133
+ }
134
+ return (_api$resources5 = api.resources)["delete"].apply(_api$resources5, [resource].concat(args));
135
+ }
136
+ };
137
+ }, [api, resource]);
138
+ return /*#__PURE__*/React__default["default"].createElement(MediasBrowserContainer, Object.assign({
139
+ api: mediasApi
140
+ }, props));
141
+ }
142
+ MediasResourceBrowser.propTypes = propTypes;
143
+ MediasResourceBrowser.defaultProps = defaultProps;
144
+
145
+ exports.MediasApiProvider = MediasApiProvider;
146
+ exports.MediasBrowser = MediasBrowser;
147
+ exports.MediasResourceBrowser = MediasResourceBrowser;
148
+ exports.apiPropTypes = apiPropTypes;
149
+ exports["default"] = MediasBrowserContainer;
150
+ exports.useMediasApi = useMediasApi;
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@panneau/medias",
3
+ "version": "3.0.61",
4
+ "description": "",
5
+ "keywords": [
6
+ "javascript"
7
+ ],
8
+ "homepage": "https://github.com/folkloreinc/panneau-js",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/folkloreinc/panneau-js.git"
12
+ },
13
+ "author": {
14
+ "name": "Folklore",
15
+ "email": "info@folklore.email"
16
+ },
17
+ "contributors": [
18
+ {
19
+ "name": "David Mongeau-Petitpas",
20
+ "email": "dmp@folklore.email"
21
+ },
22
+ {
23
+ "name": "Nicolas Roy-Bourdages",
24
+ "email": "nrb@folklore.email"
25
+ },
26
+ {
27
+ "name": "Julien Carignan",
28
+ "email": "jc@folklore.email"
29
+ },
30
+ {
31
+ "name": "Théo Gjini",
32
+ "email": "tg@folklore.email"
33
+ }
34
+ ],
35
+ "license": "ISC",
36
+ "main": "lib/index.js",
37
+ "module": "es/index.js",
38
+ "files": [
39
+ "lib",
40
+ "es",
41
+ "assets"
42
+ ],
43
+ "scripts": {
44
+ "prepare": "../../scripts/prepare-package.sh"
45
+ },
46
+ "devDependencies": {
47
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
48
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
49
+ },
50
+ "peerDependencies": {
51
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
52
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
53
+ },
54
+ "dependencies": {
55
+ "@babel/runtime": "^7.12.5",
56
+ "@panneau/core": "^3.0.45",
57
+ "@panneau/data": "^3.0.45",
58
+ "classnames": "^2.2.6",
59
+ "lodash": "^4.17.21",
60
+ "prop-types": "^15.7.2"
61
+ },
62
+ "publishConfig": {
63
+ "access": "public"
64
+ },
65
+ "gitHead": "833cbcda8089671ff2b56d0e73faf5bdd6c903e9"
66
+ }