@panneau/field-resource-item 2.0.56

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 (3) hide show
  1. package/es/index.js +236 -0
  2. package/lib/index.js +255 -0
  3. package/package.json +61 -0
package/es/index.js ADDED
@@ -0,0 +1,236 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import classNames from 'classnames';
5
+ import get from 'lodash/get';
6
+ import isArray from 'lodash/isArray';
7
+ import isEmpty from 'lodash/isEmpty';
8
+ import PropTypes from 'prop-types';
9
+ import React, { useState, useMemo, useCallback } from 'react';
10
+ import { useIntl, FormattedMessage } from 'react-intl';
11
+ import { PropTypes as PropTypes$1 } from '@panneau/core';
12
+ import { usePanneauResource } from '@panneau/core/contexts';
13
+ import { isMessage, getPathValue } from '@panneau/core/utils';
14
+ import { useResourceItems } from '@panneau/data';
15
+ import Button from '@panneau/element-button';
16
+ import Select from '@panneau/element-select';
17
+
18
+ // import Dialog from '@panneau/modal-dialog';
19
+
20
+ var propTypes = {
21
+ name: PropTypes.string,
22
+ value: PropTypes.object,
23
+ // eslint-disable-line react/forbid-prop-types
24
+ errors: PropTypes$1.formErrors,
25
+ resource: PropTypes.string,
26
+ query: PropTypes.object,
27
+ // eslint-disable-line react/forbid-prop-types
28
+ page: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
29
+ // eslint-disable-line react/forbid-prop-types
30
+ count: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
31
+ // eslint-disable-line react/forbid-prop-types
32
+ options: PropTypes.object,
33
+ // eslint-disable-line react/forbid-prop-types
34
+ searchParamName: PropTypes.string,
35
+ getItemLabel: PropTypes.func,
36
+ getItemDescription: PropTypes.func,
37
+ // getItemImage: PropTypes.func,
38
+ itemLabelPath: PropTypes.string,
39
+ itemDescriptionPath: PropTypes.string,
40
+ // itemImagePath: PropTypes.string,
41
+ itemLabelWithId: PropTypes.bool,
42
+ placeholder: PropTypes.string,
43
+ canCreate: PropTypes.bool,
44
+ multiple: PropTypes.bool,
45
+ disabled: PropTypes.bool,
46
+ className: PropTypes.string,
47
+ inputClassName: PropTypes.string,
48
+ onChange: PropTypes.func
49
+ };
50
+ var defaultProps = {
51
+ name: null,
52
+ value: null,
53
+ errors: null,
54
+ resource: null,
55
+ query: null,
56
+ page: null,
57
+ count: null,
58
+ options: null,
59
+ searchParamName: 'search',
60
+ getItemLabel: getPathValue,
61
+ getItemDescription: getPathValue,
62
+ // getItemImage: getPathValue,
63
+ itemLabelPath: 'label',
64
+ itemDescriptionPath: null,
65
+ // itemImagePath: 'image',
66
+ itemLabelWithId: false,
67
+ placeholder: null,
68
+ canCreate: false,
69
+ multiple: false,
70
+ disabled: false,
71
+ className: null,
72
+ inputClassName: null,
73
+ onChange: null
74
+ };
75
+ var ResourceItemField = function ResourceItemField(_ref) {
76
+ var _ref7;
77
+ var name = _ref.name,
78
+ value = _ref.value,
79
+ errors = _ref.errors,
80
+ resourceId = _ref.resource,
81
+ initialQuery = _ref.query,
82
+ initialPage = _ref.page,
83
+ initialCount = _ref.count,
84
+ initialOptions = _ref.options,
85
+ searchParamName = _ref.searchParamName,
86
+ initialGetItemLabel = _ref.getItemLabel,
87
+ getItemDescription = _ref.getItemDescription,
88
+ itemLabelPath = _ref.itemLabelPath,
89
+ itemDescriptionPath = _ref.itemDescriptionPath,
90
+ itemLabelWithId = _ref.itemLabelWithId,
91
+ placeholder = _ref.placeholder,
92
+ canCreate = _ref.canCreate,
93
+ multiple = _ref.multiple,
94
+ disabled = _ref.disabled,
95
+ className = _ref.className,
96
+ inputClassName = _ref.inputClassName,
97
+ onChange = _ref.onChange;
98
+ var intl = useIntl();
99
+ // const [initialValue] = useState(value);
100
+ var _useState = useState(initialQuery),
101
+ _useState2 = _slicedToArray(_useState, 2),
102
+ query = _useState2[0];
103
+ _useState2[1];
104
+ var _useState3 = useState(initialPage),
105
+ _useState4 = _slicedToArray(_useState3, 2),
106
+ page = _useState4[0];
107
+ _useState4[1];
108
+ var _useState5 = useState(initialCount),
109
+ _useState6 = _slicedToArray(_useState5, 2),
110
+ count = _useState6[0];
111
+ _useState6[1];
112
+ var _useState7 = useState(initialOptions),
113
+ _useState8 = _slicedToArray(_useState7, 2),
114
+ resourceOptions = _useState8[0];
115
+ _useState8[1];
116
+
117
+ // The create option
118
+ var _useState9 = useState(initialCount),
119
+ _useState10 = _slicedToArray(_useState9, 2),
120
+ createOpen = _useState10[0],
121
+ setCreateOpen = _useState10[1];
122
+
123
+ // The search query
124
+ var _useState11 = useState(''),
125
+ _useState12 = _slicedToArray(_useState11, 2),
126
+ inputTextValue = _useState12[0],
127
+ setInputTextValue = _useState12[1];
128
+ var completeResource = usePanneauResource(resourceId);
129
+ console.log(resourceId, completeResource);
130
+ var resource = useMemo(function () {
131
+ return {
132
+ id: resourceId
133
+ };
134
+ }, [resourceId]);
135
+ var finalQuery = useMemo(function () {
136
+ return _objectSpread(_objectSpread({}, query), !isEmpty(inputTextValue) ? _defineProperty({}, searchParamName, inputTextValue) : null);
137
+ }, [inputTextValue]);
138
+ var resourceItems = useResourceItems(resource, finalQuery, page, count, resourceOptions);
139
+ var _ref3 = resourceItems || {},
140
+ _ref3$items = _ref3.items,
141
+ items = _ref3$items === void 0 ? null : _ref3$items;
142
+ var getItemLabel = useCallback(function (it, path) {
143
+ var id = get(it, 'id', null);
144
+ if (itemLabelWithId) {
145
+ var label = initialGetItemLabel(it, path);
146
+ return label ? "".concat(label, " (#").concat(id, ")") : "#".concat(id);
147
+ }
148
+ return path !== null ? initialGetItemLabel(it, path) : "#".concat(id);
149
+ }, [initialGetItemLabel, itemLabelWithId]);
150
+ var parseItem = useCallback(function (it) {
151
+ var label = getItemLabel(it, itemLabelPath);
152
+ var description = getItemDescription(it, itemDescriptionPath);
153
+ var finalLabel = description !== null ? "".concat(label, ": ").concat(description) : label;
154
+ return {
155
+ value: it.id,
156
+ label: finalLabel
157
+ };
158
+ }, [getItemLabel, getItemDescription, itemLabelPath, itemDescriptionPath]);
159
+ var options = (items || []).map(function (it) {
160
+ return parseItem(it);
161
+ });
162
+ var finalValue = multiple && isArray(value) ? value.map(function (it) {
163
+ return parseItem(it);
164
+ }) : value;
165
+ var onInputChange = useCallback(function (textValue) {
166
+ setInputTextValue(textValue);
167
+ }, []);
168
+ var onValueChange = useCallback(function (newId) {
169
+ if (onChange === null) return;
170
+ if (multiple) {
171
+ var newValue = items.filter(function (_ref4) {
172
+ var _ref4$id = _ref4.id,
173
+ id = _ref4$id === void 0 ? null : _ref4$id;
174
+ return newId.indexOf(id) !== -1;
175
+ }) || [];
176
+ onChange(newValue);
177
+ } else {
178
+ var _newValue = items.filter(function (_ref5) {
179
+ var _ref5$id = _ref5.id,
180
+ id = _ref5$id === void 0 ? null : _ref5$id;
181
+ return id === newId;
182
+ }) || [];
183
+ if (_newValue !== null && _newValue.length > 0) {
184
+ onChange(_newValue[0]);
185
+ } else {
186
+ onChange(null);
187
+ }
188
+ }
189
+ }, [items, onChange, multiple]);
190
+ var onOpenCreate = useCallback(function () {
191
+ setCreateOpen(true);
192
+ }, [setCreateOpen]);
193
+ var onCloseCreate = useCallback(function () {
194
+ setCreateOpen(false);
195
+ }, [setCreateOpen]);
196
+ return /*#__PURE__*/React.createElement("div", {
197
+ className: classNames(['position-relative', _defineProperty({}, className, className != null)])
198
+ }, /*#__PURE__*/React.createElement("div", {
199
+ className: classNames(['row', 'align-items-center'])
200
+ }, /*#__PURE__*/React.createElement("div", {
201
+ className: "col-auto flex-grow-1"
202
+ }, /*#__PURE__*/React.createElement(Select, {
203
+ className: classNames(['py-1', 'shadow-none', (_ref7 = {}, _defineProperty(_ref7, disabled, disabled), _defineProperty(_ref7, 'is-invalid', errors !== null), _defineProperty(_ref7, inputClassName, inputClassName !== null), _ref7)]),
204
+ disabled: disabled,
205
+ name: name,
206
+ value: finalValue,
207
+ options: options,
208
+ isClearable: true,
209
+ isSearchable: true,
210
+ placeholder: isMessage(placeholder) ? intl.formatMessage(placeholder) : /*#__PURE__*/React.createElement(FormattedMessage, {
211
+ id: "oc3YLT",
212
+ defaultMessage: [{
213
+ "type": 0,
214
+ "value": "Choose an item"
215
+ }]
216
+ }),
217
+ onChange: onValueChange,
218
+ onInputChange: onInputChange,
219
+ multiple: multiple
220
+ })), canCreate ? /*#__PURE__*/React.createElement("div", {
221
+ className: "col-auto"
222
+ }, /*#__PURE__*/React.createElement(Button, {
223
+ theme: "primary",
224
+ icon: "plus-lg",
225
+ onClick: createOpen ? onCloseCreate : onOpenCreate
226
+ })) : null));
227
+ };
228
+ ResourceItemField.propTypes = propTypes;
229
+ ResourceItemField.defaultProps = defaultProps;
230
+
231
+ var definition = {
232
+ id: 'resource-item',
233
+ component: 'ResourceItem'
234
+ };
235
+
236
+ export { ResourceItemField as default, definition };
package/lib/index.js ADDED
@@ -0,0 +1,255 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
7
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
8
+ var classNames = require('classnames');
9
+ var get = require('lodash/get');
10
+ var isArray = require('lodash/isArray');
11
+ var isEmpty = require('lodash/isEmpty');
12
+ var PropTypes = require('prop-types');
13
+ var React = require('react');
14
+ var reactIntl = require('react-intl');
15
+ var core = require('@panneau/core');
16
+ var contexts = require('@panneau/core/contexts');
17
+ var utils = require('@panneau/core/utils');
18
+ var data = require('@panneau/data');
19
+ var Button = require('@panneau/element-button');
20
+ var Select = require('@panneau/element-select');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
+ var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
26
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
27
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
28
+ var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
29
+ var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
30
+ var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
31
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
32
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
34
+ var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
35
+
36
+ // import Dialog from '@panneau/modal-dialog';
37
+
38
+ var propTypes = {
39
+ name: PropTypes__default["default"].string,
40
+ value: PropTypes__default["default"].object,
41
+ // eslint-disable-line react/forbid-prop-types
42
+ errors: core.PropTypes.formErrors,
43
+ resource: PropTypes__default["default"].string,
44
+ query: PropTypes__default["default"].object,
45
+ // eslint-disable-line react/forbid-prop-types
46
+ page: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
47
+ // eslint-disable-line react/forbid-prop-types
48
+ count: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
49
+ // eslint-disable-line react/forbid-prop-types
50
+ options: PropTypes__default["default"].object,
51
+ // eslint-disable-line react/forbid-prop-types
52
+ searchParamName: PropTypes__default["default"].string,
53
+ getItemLabel: PropTypes__default["default"].func,
54
+ getItemDescription: PropTypes__default["default"].func,
55
+ // getItemImage: PropTypes.func,
56
+ itemLabelPath: PropTypes__default["default"].string,
57
+ itemDescriptionPath: PropTypes__default["default"].string,
58
+ // itemImagePath: PropTypes.string,
59
+ itemLabelWithId: PropTypes__default["default"].bool,
60
+ placeholder: PropTypes__default["default"].string,
61
+ canCreate: PropTypes__default["default"].bool,
62
+ multiple: PropTypes__default["default"].bool,
63
+ disabled: PropTypes__default["default"].bool,
64
+ className: PropTypes__default["default"].string,
65
+ inputClassName: PropTypes__default["default"].string,
66
+ onChange: PropTypes__default["default"].func
67
+ };
68
+ var defaultProps = {
69
+ name: null,
70
+ value: null,
71
+ errors: null,
72
+ resource: null,
73
+ query: null,
74
+ page: null,
75
+ count: null,
76
+ options: null,
77
+ searchParamName: 'search',
78
+ getItemLabel: utils.getPathValue,
79
+ getItemDescription: utils.getPathValue,
80
+ // getItemImage: getPathValue,
81
+ itemLabelPath: 'label',
82
+ itemDescriptionPath: null,
83
+ // itemImagePath: 'image',
84
+ itemLabelWithId: false,
85
+ placeholder: null,
86
+ canCreate: false,
87
+ multiple: false,
88
+ disabled: false,
89
+ className: null,
90
+ inputClassName: null,
91
+ onChange: null
92
+ };
93
+ var ResourceItemField = function ResourceItemField(_ref) {
94
+ var _ref7;
95
+ var name = _ref.name,
96
+ value = _ref.value,
97
+ errors = _ref.errors,
98
+ resourceId = _ref.resource,
99
+ initialQuery = _ref.query,
100
+ initialPage = _ref.page,
101
+ initialCount = _ref.count,
102
+ initialOptions = _ref.options,
103
+ searchParamName = _ref.searchParamName,
104
+ initialGetItemLabel = _ref.getItemLabel,
105
+ getItemDescription = _ref.getItemDescription,
106
+ itemLabelPath = _ref.itemLabelPath,
107
+ itemDescriptionPath = _ref.itemDescriptionPath,
108
+ itemLabelWithId = _ref.itemLabelWithId,
109
+ placeholder = _ref.placeholder,
110
+ canCreate = _ref.canCreate,
111
+ multiple = _ref.multiple,
112
+ disabled = _ref.disabled,
113
+ className = _ref.className,
114
+ inputClassName = _ref.inputClassName,
115
+ onChange = _ref.onChange;
116
+ var intl = reactIntl.useIntl();
117
+ // const [initialValue] = useState(value);
118
+ var _useState = React.useState(initialQuery),
119
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
120
+ query = _useState2[0];
121
+ _useState2[1];
122
+ var _useState3 = React.useState(initialPage),
123
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
124
+ page = _useState4[0];
125
+ _useState4[1];
126
+ var _useState5 = React.useState(initialCount),
127
+ _useState6 = _slicedToArray__default["default"](_useState5, 2),
128
+ count = _useState6[0];
129
+ _useState6[1];
130
+ var _useState7 = React.useState(initialOptions),
131
+ _useState8 = _slicedToArray__default["default"](_useState7, 2),
132
+ resourceOptions = _useState8[0];
133
+ _useState8[1];
134
+
135
+ // The create option
136
+ var _useState9 = React.useState(initialCount),
137
+ _useState10 = _slicedToArray__default["default"](_useState9, 2),
138
+ createOpen = _useState10[0],
139
+ setCreateOpen = _useState10[1];
140
+
141
+ // The search query
142
+ var _useState11 = React.useState(''),
143
+ _useState12 = _slicedToArray__default["default"](_useState11, 2),
144
+ inputTextValue = _useState12[0],
145
+ setInputTextValue = _useState12[1];
146
+ var completeResource = contexts.usePanneauResource(resourceId);
147
+ console.log(resourceId, completeResource);
148
+ var resource = React.useMemo(function () {
149
+ return {
150
+ id: resourceId
151
+ };
152
+ }, [resourceId]);
153
+ var finalQuery = React.useMemo(function () {
154
+ return _objectSpread__default["default"](_objectSpread__default["default"]({}, query), !isEmpty__default["default"](inputTextValue) ? _defineProperty__default["default"]({}, searchParamName, inputTextValue) : null);
155
+ }, [inputTextValue]);
156
+ var resourceItems = data.useResourceItems(resource, finalQuery, page, count, resourceOptions);
157
+ var _ref3 = resourceItems || {},
158
+ _ref3$items = _ref3.items,
159
+ items = _ref3$items === void 0 ? null : _ref3$items;
160
+ var getItemLabel = React.useCallback(function (it, path) {
161
+ var id = get__default["default"](it, 'id', null);
162
+ if (itemLabelWithId) {
163
+ var label = initialGetItemLabel(it, path);
164
+ return label ? "".concat(label, " (#").concat(id, ")") : "#".concat(id);
165
+ }
166
+ return path !== null ? initialGetItemLabel(it, path) : "#".concat(id);
167
+ }, [initialGetItemLabel, itemLabelWithId]);
168
+ var parseItem = React.useCallback(function (it) {
169
+ var label = getItemLabel(it, itemLabelPath);
170
+ var description = getItemDescription(it, itemDescriptionPath);
171
+ var finalLabel = description !== null ? "".concat(label, ": ").concat(description) : label;
172
+ return {
173
+ value: it.id,
174
+ label: finalLabel
175
+ };
176
+ }, [getItemLabel, getItemDescription, itemLabelPath, itemDescriptionPath]);
177
+ var options = (items || []).map(function (it) {
178
+ return parseItem(it);
179
+ });
180
+ var finalValue = multiple && isArray__default["default"](value) ? value.map(function (it) {
181
+ return parseItem(it);
182
+ }) : value;
183
+ var onInputChange = React.useCallback(function (textValue) {
184
+ setInputTextValue(textValue);
185
+ }, []);
186
+ var onValueChange = React.useCallback(function (newId) {
187
+ if (onChange === null) return;
188
+ if (multiple) {
189
+ var newValue = items.filter(function (_ref4) {
190
+ var _ref4$id = _ref4.id,
191
+ id = _ref4$id === void 0 ? null : _ref4$id;
192
+ return newId.indexOf(id) !== -1;
193
+ }) || [];
194
+ onChange(newValue);
195
+ } else {
196
+ var _newValue = items.filter(function (_ref5) {
197
+ var _ref5$id = _ref5.id,
198
+ id = _ref5$id === void 0 ? null : _ref5$id;
199
+ return id === newId;
200
+ }) || [];
201
+ if (_newValue !== null && _newValue.length > 0) {
202
+ onChange(_newValue[0]);
203
+ } else {
204
+ onChange(null);
205
+ }
206
+ }
207
+ }, [items, onChange, multiple]);
208
+ var onOpenCreate = React.useCallback(function () {
209
+ setCreateOpen(true);
210
+ }, [setCreateOpen]);
211
+ var onCloseCreate = React.useCallback(function () {
212
+ setCreateOpen(false);
213
+ }, [setCreateOpen]);
214
+ return /*#__PURE__*/React__default["default"].createElement("div", {
215
+ className: classNames__default["default"](['position-relative', _defineProperty__default["default"]({}, className, className != null)])
216
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
217
+ className: classNames__default["default"](['row', 'align-items-center'])
218
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
219
+ className: "col-auto flex-grow-1"
220
+ }, /*#__PURE__*/React__default["default"].createElement(Select__default["default"], {
221
+ className: classNames__default["default"](['py-1', 'shadow-none', (_ref7 = {}, _defineProperty__default["default"](_ref7, disabled, disabled), _defineProperty__default["default"](_ref7, 'is-invalid', errors !== null), _defineProperty__default["default"](_ref7, inputClassName, inputClassName !== null), _ref7)]),
222
+ disabled: disabled,
223
+ name: name,
224
+ value: finalValue,
225
+ options: options,
226
+ isClearable: true,
227
+ isSearchable: true,
228
+ placeholder: utils.isMessage(placeholder) ? intl.formatMessage(placeholder) : /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
229
+ id: "oc3YLT",
230
+ defaultMessage: [{
231
+ "type": 0,
232
+ "value": "Choose an item"
233
+ }]
234
+ }),
235
+ onChange: onValueChange,
236
+ onInputChange: onInputChange,
237
+ multiple: multiple
238
+ })), canCreate ? /*#__PURE__*/React__default["default"].createElement("div", {
239
+ className: "col-auto"
240
+ }, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
241
+ theme: "primary",
242
+ icon: "plus-lg",
243
+ onClick: createOpen ? onCloseCreate : onOpenCreate
244
+ })) : null));
245
+ };
246
+ ResourceItemField.propTypes = propTypes;
247
+ ResourceItemField.defaultProps = defaultProps;
248
+
249
+ var definition = {
250
+ id: 'resource-item',
251
+ component: 'ResourceItem'
252
+ };
253
+
254
+ exports["default"] = ResourceItemField;
255
+ exports.definition = definition;
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@panneau/field-resource-item",
3
+ "version": "2.0.56",
4
+ "description": "An item mapping a resource",
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
+ "license": "ISC",
28
+ "main": "lib/index.js",
29
+ "module": "es/index.js",
30
+ "files": [
31
+ "lib",
32
+ "es",
33
+ "assets"
34
+ ],
35
+ "scripts": {
36
+ "prepare": "../../scripts/prepare-package.sh"
37
+ },
38
+ "devDependencies": {
39
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
40
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
41
+ },
42
+ "peerDependencies": {
43
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
44
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
45
+ },
46
+ "dependencies": {
47
+ "@babel/runtime": "^7.12.5",
48
+ "@panneau/core": "^2.0.56",
49
+ "@panneau/data": "^2.0.56",
50
+ "@panneau/element-button": "^2.0.56",
51
+ "@panneau/element-select": "^2.0.56",
52
+ "classnames": "^2.2.6",
53
+ "lodash": "^4.17.21",
54
+ "prop-types": "^15.7.2",
55
+ "react-intl": "^5.15.8||^6.0.0"
56
+ },
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
60
+ "gitHead": "edb76a5622f04136db62c1dd0c4b2e362de6878a"
61
+ }