@insticc/genericform 1.0.11 → 2.0.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.
package/package.json CHANGED
@@ -1,45 +1,59 @@
1
1
  {
2
2
  "name": "@insticc/genericform",
3
- "version": "1.0.11",
4
- "description": "a generic form with various types of fields",
3
+ "version": "2.0.0",
4
+ "description": "A generic form with a comprehensive set of field types, validation, and external state management",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
7
7
  "build": "babel src -d build --copy-files"
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "https://set1.insticc.org/Bonobo.Git.Server/GenericForm.git"
11
+ "url": "https://gitlab.insticc.dev/npm-registry/genericform.git"
12
12
  },
13
13
  "keywords": [
14
14
  "generic",
15
- "form"
15
+ "form",
16
+ "react",
17
+ "validation",
18
+ "fields"
16
19
  ],
17
- "author": "Bernardo Lagos",
20
+ "author": "Mário Silva",
18
21
  "license": "ISC",
19
22
  "dependencies": {
23
+ "moment": "^2.30.1",
24
+ "prop-types": "^15.8.1",
25
+ "react-datetime": "^3.2.0"
26
+ },
27
+ "peerDependencies": {
20
28
  "bootstrap": "^5.3.3",
21
- "moment": "^2.22.2",
22
- "prop-types": "^15.6.1",
23
29
  "react": "^18.2.0",
24
30
  "react-bootstrap": "^2.10.2",
25
- "react-datetime": "^3.2.0",
26
31
  "react-dom": "^18.2.0",
27
32
  "semantic-ui-css": "^2.5.0",
28
33
  "semantic-ui-react": "^2.1.5"
29
34
  },
35
+ "peerDependenciesMeta": {
36
+ "bootstrap": {
37
+ "optional": false
38
+ },
39
+ "react-bootstrap": {
40
+ "optional": true
41
+ },
42
+ "semantic-ui-css": {
43
+ "optional": false
44
+ },
45
+ "semantic-ui-react": {
46
+ "optional": false
47
+ }
48
+ },
30
49
  "devDependencies": {
31
50
  "@babel/cli": "^7.26.4",
32
51
  "@babel/core": "^7.26.0",
33
52
  "@babel/preset-env": "^7.26.0",
34
- "@babel/preset-react": "^7.26.3"
35
- },
36
- "peerDependencies": {
53
+ "@babel/preset-react": "^7.26.3",
37
54
  "bootstrap": "^5.3.3",
38
- "moment": "^2.22.2",
39
- "prop-types": "^15.6.1",
40
55
  "react": "^18.2.0",
41
56
  "react-bootstrap": "^2.10.2",
42
- "react-datetime": "^3.2.0",
43
57
  "react-dom": "^18.2.0",
44
58
  "semantic-ui-css": "^2.5.0",
45
59
  "semantic-ui-react": "^2.1.5"
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _semanticUiReact = require("semantic-ui-react");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- var CustomRadioButton = function CustomRadioButton(_ref) {
12
- var _onChange = _ref.onChange,
13
- name = _ref.name,
14
- displayName = _ref.displayName,
15
- checked = _ref.checked,
16
- _ref$disabled = _ref.disabled,
17
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
18
- _ref$showHelp = _ref.showHelp,
19
- showHelp = _ref$showHelp === void 0 ? false : _ref$showHelp,
20
- _ref$componentStyle = _ref.componentStyle,
21
- componentStyle = _ref$componentStyle === void 0 ? {
22
- display: 'inline-block',
23
- margin: '0'
24
- } : _ref$componentStyle,
25
- tooltipStyle = _ref.tooltipStyle,
26
- _ref$helpText = _ref.helpText,
27
- helpText = _ref$helpText === void 0 ? "" : _ref$helpText;
28
- return /*#__PURE__*/_react["default"].createElement("div", {
29
- id: name,
30
- className: "radioButtonDiv",
31
- key: name
32
- }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Form.Radio, {
33
- style: componentStyle,
34
- label: displayName,
35
- name: name,
36
- checked: checked,
37
- onChange: function onChange(checked) {
38
- return _onChange(name);
39
- },
40
- disabled: disabled
41
- }), showHelp ? /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
42
- name: "help circle",
43
- title: helpText,
44
- style: tooltipStyle
45
- }) : null);
46
- };
47
- CustomRadioButton.propTypes = {
48
- onChange: _propTypes["default"].func.isRequired,
49
- name: _propTypes["default"].string.isRequired,
50
- displayName: _propTypes["default"].string,
51
- checked: _propTypes["default"].bool,
52
- disabled: _propTypes["default"].bool,
53
- showHelp: _propTypes["default"].bool,
54
- tooltipStyle: _propTypes["default"].object,
55
- helpText: _propTypes["default"].string
56
- };
57
- var _default = exports["default"] = CustomRadioButton;
@@ -1,92 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _semanticUiReact = require("semantic-ui-react");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- var defaultStyles = {
12
- mainDiv: {},
13
- label: {
14
- width: '161px',
15
- fontSize: '10pt',
16
- textAlign: 'left'
17
- },
18
- span: {
19
- color: '#db2828',
20
- position: 'relative',
21
- top: '-2px'
22
- },
23
- component: {
24
- display: 'inline-block',
25
- margin: '0'
26
- },
27
- tooltip: {}
28
- };
29
- var MultipleCheckbox = function MultipleCheckbox(_ref) {
30
- var _onChange = _ref.onChange,
31
- name = _ref.name,
32
- displayName = _ref.displayName,
33
- options = _ref.options,
34
- _ref$required = _ref.required,
35
- required = _ref$required === void 0 ? false : _ref$required,
36
- _ref$mainDivStyle = _ref.mainDivStyle,
37
- mainDivStyle = _ref$mainDivStyle === void 0 ? defaultStyles.mainDiv : _ref$mainDivStyle,
38
- _ref$labelStyle = _ref.labelStyle,
39
- labelStyle = _ref$labelStyle === void 0 ? defaultStyles.label : _ref$labelStyle,
40
- _ref$spanStyle = _ref.spanStyle,
41
- spanStyle = _ref$spanStyle === void 0 ? defaultStyles.span : _ref$spanStyle,
42
- _ref$componentStyle = _ref.componentStyle,
43
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle,
44
- _ref$tooltipStyle = _ref.tooltipStyle,
45
- tooltipStyle = _ref$tooltipStyle === void 0 ? defaultStyles.tooltip : _ref$tooltipStyle;
46
- return /*#__PURE__*/_react["default"].createElement("div", {
47
- key: name,
48
- id: name,
49
- className: "multipleCheckboxDiv",
50
- style: mainDivStyle
51
- }, /*#__PURE__*/_react["default"].createElement("label", {
52
- htmlFor: 'form-input-' + name,
53
- style: labelStyle
54
- }, displayName, " ", required && /*#__PURE__*/_react["default"].createElement("span", {
55
- style: spanStyle
56
- }, "*")), /*#__PURE__*/_react["default"].createElement("div", {
57
- className: "multipleCheckboxGroupDiv"
58
- }, options.map(function (option, index) {
59
- return /*#__PURE__*/_react["default"].createElement("div", {
60
- key: index,
61
- className: "checkboxDiv",
62
- style: checkboxDivStyle
63
- }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Form.Checkbox, {
64
- type: "checkbox",
65
- style: componentStyle,
66
- label: option.label,
67
- name: option.name,
68
- checked: option.checked,
69
- onChange: function onChange() {
70
- return _onChange(option.name);
71
- },
72
- disabled: option.disabled
73
- }), option.showHelp ? /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
74
- name: "help circle",
75
- title: option.helpText,
76
- style: tooltipStyle
77
- }) : null);
78
- })));
79
- };
80
- MultipleCheckbox.propTypes = {
81
- onChange: _propTypes["default"].func.isRequired,
82
- name: _propTypes["default"].string.isRequired,
83
- displayName: _propTypes["default"].string,
84
- required: _propTypes["default"].bool,
85
- options: _propTypes["default"].array.isRequired,
86
- mainDivStyle: _propTypes["default"].object,
87
- labelStyle: _propTypes["default"].object,
88
- spanStyle: _propTypes["default"].object,
89
- componentStyle: _propTypes["default"].object,
90
- tooltipStyle: _propTypes["default"].object
91
- };
92
- var _default = exports["default"] = MultipleCheckbox;
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _semanticUiReact = require("semantic-ui-react");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- var defaultStyles = {
12
- mainDiv: {}
13
- };
14
-
15
- /**
16
- * Custom multiple dropdown component.
17
- * @param {Object} props
18
- * @param {function} props.onChange - Callback when dropdown value changes.
19
- * @param {string} props.name - Unique name of the dropdown.
20
- * @param {string} props.displayName - Label text displayed next to the dropdown.
21
- * @param {Array} props.value - Current selected values of the dropdown.
22
- * @param {boolean} [props.disabled=false] - Whether the dropdown is disabled.
23
- * @param {Array} props.options - Options for the dropdown.
24
- * @param {Object} [props.mainDivStyle] - Custom style for outer container.
25
- * @param {Object} [props.labelStyle] - Custom style for the label element.
26
- * @param {Object} [props.componentStyle] - Custom style for the dropdown element.
27
- */
28
-
29
- var MultipleDropdown = function MultipleDropdown(_ref) {
30
- var onChange = _ref.onChange,
31
- name = _ref.name,
32
- displayName = _ref.displayName,
33
- value = _ref.value,
34
- _ref$disabled = _ref.disabled,
35
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
36
- options = _ref.options,
37
- _ref$mainDivStyle = _ref.mainDivStyle,
38
- mainDivStyle = _ref$mainDivStyle === void 0 ? defaultStyles.mainDiv : _ref$mainDivStyle,
39
- _ref$labelStyle = _ref.labelStyle,
40
- labelStyle = _ref$labelStyle === void 0 ? defaultStyles.label : _ref$labelStyle,
41
- _ref$componentStyle = _ref.componentStyle,
42
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle;
43
- return /*#__PURE__*/_react["default"].createElement("div", {
44
- className: "multipleDropdownDiv",
45
- id: name,
46
- key: name,
47
- style: mainDivStyle
48
- }, /*#__PURE__*/_react["default"].createElement("label", {
49
- htmlFor: "form-input-" + name,
50
- style: labelStyle
51
- }, displayName), /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Dropdown, {
52
- style: componentStyle,
53
- placeholder: "Select " + name,
54
- name: name,
55
- fluid: true,
56
- multiple: true,
57
- selection: true,
58
- search: true,
59
- value: value,
60
- options: options,
61
- onChange: onChange,
62
- disabled: disabled
63
- }));
64
- };
65
- MultipleDropdown.propTypes = {
66
- onChange: _propTypes["default"].func.isRequired,
67
- name: _propTypes["default"].string.isRequired,
68
- displayName: _propTypes["default"].string,
69
- value: _propTypes["default"].array,
70
- disabled: _propTypes["default"].bool,
71
- options: _propTypes["default"].array.isRequired,
72
- mainDivStyle: _propTypes["default"].object,
73
- labelStyle: _propTypes["default"].object,
74
- componentStyle: _propTypes["default"].object
75
- };
76
- var _default = exports["default"] = MultipleDropdown;
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _semanticUiReact = require("semantic-ui-react");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- var defaultStyles = {
12
- mainDiv: {},
13
- label: {
14
- width: '161px',
15
- fontSize: '10pt',
16
- textAlign: 'left'
17
- },
18
- span: {
19
- color: '#db2828',
20
- position: 'relative',
21
- top: '-2px'
22
- },
23
- component: {
24
- display: 'inline-block',
25
- margin: '0'
26
- }
27
- };
28
- var MultipleRadioButton = function MultipleRadioButton(_ref) {
29
- var _onChange = _ref.onChange,
30
- name = _ref.name,
31
- displayName = _ref.displayName,
32
- _ref$required = _ref.required,
33
- required = _ref$required === void 0 ? false : _ref$required,
34
- options = _ref.options,
35
- radioButtonDivStyle = _ref.radioButtonDivStyle,
36
- component = _ref.component,
37
- _ref$mainDivStyle = _ref.mainDivStyle,
38
- mainDivStyle = _ref$mainDivStyle === void 0 ? defaultStyles.mainDiv : _ref$mainDivStyle,
39
- _ref$labelStyle = _ref.labelStyle,
40
- labelStyle = _ref$labelStyle === void 0 ? defaultStyles.label : _ref$labelStyle,
41
- _ref$spanStyle = _ref.spanStyle,
42
- spanStyle = _ref$spanStyle === void 0 ? defaultStyles.span : _ref$spanStyle,
43
- _ref$componentStyle = _ref.componentStyle,
44
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle;
45
- return /*#__PURE__*/_react["default"].createElement("div", {
46
- id: name,
47
- className: "multipleRadioDiv",
48
- key: name,
49
- style: mainDivStyle
50
- }, /*#__PURE__*/_react["default"].createElement("label", {
51
- htmlFor: 'form-input-' + name,
52
- style: labelStyle
53
- }, displayName, " ", required && /*#__PURE__*/_react["default"].createElement("span", {
54
- style: spanStyle
55
- }, "*")), /*#__PURE__*/_react["default"].createElement("div", {
56
- className: "multipleRadioGroupDiv",
57
- style: radioButtonDivStyle
58
- }, options.map(function (option, index) {
59
- return /*#__PURE__*/_react["default"].createElement("div", {
60
- key: index,
61
- className: "radioButtonDiv"
62
- }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Form.Radio, {
63
- style: componentStyle,
64
- label: option.label,
65
- name: option.name,
66
- checked: option.checked,
67
- onChange: function onChange() {
68
- return _onChange(option.name);
69
- },
70
- disabled: option.disabled
71
- }), option.showHelp ? /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
72
- name: "help circle",
73
- title: option.helpText
74
- }) : null);
75
- }), component ? component : null));
76
- };
77
- MultipleRadioButton.propTypes = {
78
- onChange: _propTypes["default"].func.isRequired,
79
- name: _propTypes["default"].string.isRequired,
80
- displayName: _propTypes["default"].string,
81
- required: _propTypes["default"].bool,
82
- options: _propTypes["default"].array.isRequired,
83
- radioButtonDivStyle: _propTypes["default"].object,
84
- component: _propTypes["default"].node,
85
- mainDivStyle: _propTypes["default"].object,
86
- labelStyle: _propTypes["default"].object,
87
- spanStyle: _propTypes["default"].object,
88
- componentStyle: _propTypes["default"].object
89
- };
90
- var _default = exports["default"] = MultipleRadioButton;
@@ -1,115 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _reactDatetime = _interopRequireDefault(require("react-datetime"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
- var defaultStyles = {
13
- mainDiv: {
14
- display: 'flex',
15
- alignItems: 'center'
16
- },
17
- label: {
18
- width: '161px',
19
- fontSize: '10pt',
20
- textAlign: 'left'
21
- },
22
- span: {
23
- color: '#db2828',
24
- position: 'relative',
25
- top: '-2px'
26
- },
27
- component: {
28
- maxWidth: 350,
29
- display: 'inline-block'
30
- }
31
- };
32
- var YearDatePicker = function YearDatePicker(_ref) {
33
- var _onChange = _ref.onChange,
34
- name = _ref.name,
35
- displayName = _ref.displayName,
36
- value = _ref.value,
37
- _ref$disabled = _ref.disabled,
38
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
39
- _ref$required = _ref.required,
40
- required = _ref$required === void 0 ? false : _ref$required,
41
- _ref$mainDivStyle = _ref.mainDivStyle,
42
- mainDivStyle = _ref$mainDivStyle === void 0 ? defaultStyles.mainDiv : _ref$mainDivStyle,
43
- _ref$labelStyle = _ref.labelStyle,
44
- labelStyle = _ref$labelStyle === void 0 ? defaultStyles.label : _ref$labelStyle,
45
- _ref$spanStyle = _ref.spanStyle,
46
- spanStyle = _ref$spanStyle === void 0 ? defaultStyles.span : _ref$spanStyle,
47
- _ref$componentStyle = _ref.componentStyle,
48
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle,
49
- _ref$dateFormat = _ref.dateFormat,
50
- dateFormat = _ref$dateFormat === void 0 ? "DD/MM/YYYY" : _ref$dateFormat,
51
- _ref$timeFormat = _ref.timeFormat,
52
- timeFormat = _ref$timeFormat === void 0 ? false : _ref$timeFormat,
53
- _ref$input = _ref.input,
54
- input = _ref$input === void 0 ? true : _ref$input,
55
- _ref$viewMode = _ref.viewMode,
56
- viewMode = _ref$viewMode === void 0 ? "years" : _ref$viewMode,
57
- _ref$placeholder = _ref.placeholder,
58
- placeholder = _ref$placeholder === void 0 ? "Select year" : _ref$placeholder,
59
- isValidDateFunction = _ref.isValidDateFunction;
60
- return /*#__PURE__*/_react["default"].createElement("div", {
61
- className: "yearDateDiv",
62
- key: name,
63
- id: 'form-dateYearDiv-' + name,
64
- style: mainDivStyle
65
- }, /*#__PURE__*/_react["default"].createElement("label", {
66
- id: 'form-dateYearlabel-' + name,
67
- htmlFor: "form-dateYear-" + name,
68
- style: labelStyle
69
- }, displayName, " ", required && /*#__PURE__*/_react["default"].createElement("span", {
70
- style: spanStyle
71
- }, "*")), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactDatetime["default"], {
72
- style: componentStyle,
73
- id: "form-dateYear-" + name,
74
- value: value,
75
- dateFormat: dateFormat,
76
- timeFormat: timeFormat,
77
- input: input,
78
- onChange: function onChange(date) {
79
- return _onChange(date, name);
80
- },
81
- viewMode: viewMode,
82
- disabled: disabled,
83
- isValidDate: function isValidDate(current) {
84
- return isValidDateFunction(current);
85
- },
86
- renderInput: function renderInput(props, openCalendar) {
87
- return /*#__PURE__*/_react["default"].createElement("input", _extends({}, props, {
88
- readOnly: true,
89
- onClick: openCalendar // Ensures the calendar opens when the input is clicked
90
- }));
91
- },
92
- inputProps: {
93
- placeholder: placeholder
94
- }
95
- })));
96
- };
97
- YearDatePicker.propTypes = {
98
- onChange: _propTypes["default"].func.isRequired,
99
- name: _propTypes["default"].string.isRequired,
100
- displayName: _propTypes["default"].string,
101
- value: _propTypes["default"].any,
102
- disabled: _propTypes["default"].bool,
103
- required: _propTypes["default"].bool,
104
- mainDivStyle: _propTypes["default"].object,
105
- labelStyle: _propTypes["default"].object,
106
- spanStyle: _propTypes["default"].object,
107
- componentStyle: _propTypes["default"].object,
108
- dateFormat: _propTypes["default"].string,
109
- timeFormat: _propTypes["default"].bool,
110
- input: _propTypes["default"].bool,
111
- viewMode: _propTypes["default"].string,
112
- placeholder: _propTypes["default"].string,
113
- isValidDateFunction: _propTypes["default"].func
114
- };
115
- var _default = exports["default"] = YearDatePicker;