@insticc/genericform 1.0.10 → 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.10",
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,56 +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 _semanticUiReact = require("semantic-ui-react");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
- var CustomRadioButton = function CustomRadioButton(_ref) {
11
- var _onChange = _ref.onChange,
12
- name = _ref.name,
13
- displayName = _ref.displayName,
14
- checked = _ref.checked,
15
- _ref$disabled = _ref.disabled,
16
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
17
- _ref$showHelp = _ref.showHelp,
18
- showHelp = _ref$showHelp === void 0 ? false : _ref$showHelp,
19
- _ref$componentStyle = _ref.componentStyle,
20
- componentStyle = _ref$componentStyle === void 0 ? {
21
- display: 'inline-block',
22
- margin: '0'
23
- } : _ref$componentStyle,
24
- tooltipStyle = _ref.tooltipStyle,
25
- _ref$helpText = _ref.helpText,
26
- helpText = _ref$helpText === void 0 ? "" : _ref$helpText;
27
- return /*#__PURE__*/_react["default"].createElement("div", {
28
- id: name,
29
- className: "radioButtonDiv",
30
- key: name
31
- }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Form.Radio, {
32
- style: componentStyle,
33
- label: displayName,
34
- name: name,
35
- checked: checked,
36
- onChange: function onChange(checked) {
37
- return _onChange(name);
38
- },
39
- disabled: disabled
40
- }), showHelp ? /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
41
- name: "help circle",
42
- title: helpText,
43
- style: tooltipStyle
44
- }) : null);
45
- };
46
- CustomRadioButton.propTypes = {
47
- onChange: PropTypes.func.isRequired,
48
- name: PropTypes.string.isRequired,
49
- displayName: PropTypes.string,
50
- checked: PropTypes.bool,
51
- disabled: PropTypes.bool,
52
- showHelp: PropTypes.bool,
53
- tooltipStyle: PropTypes.object,
54
- helpText: PropTypes.string
55
- };
56
- var _default = exports["default"] = CustomRadioButton;
@@ -1,91 +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 _semanticUiReact = require("semantic-ui-react");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
- var defaultStyles = {
11
- mainDiv: {},
12
- label: {
13
- width: '161px',
14
- fontSize: '10pt',
15
- textAlign: 'left'
16
- },
17
- span: {
18
- color: '#db2828',
19
- position: 'relative',
20
- top: '-2px'
21
- },
22
- component: {
23
- display: 'inline-block',
24
- margin: '0'
25
- },
26
- tooltip: {}
27
- };
28
- var MultipleCheckbox = function MultipleCheckbox(_ref) {
29
- var _onChange = _ref.onChange,
30
- name = _ref.name,
31
- displayName = _ref.displayName,
32
- options = _ref.options,
33
- _ref$required = _ref.required,
34
- required = _ref$required === void 0 ? false : _ref$required,
35
- _ref$mainDivStyle = _ref.mainDivStyle,
36
- mainDivStyle = _ref$mainDivStyle === void 0 ? defaultStyles.mainDiv : _ref$mainDivStyle,
37
- _ref$labelStyle = _ref.labelStyle,
38
- labelStyle = _ref$labelStyle === void 0 ? defaultStyles.label : _ref$labelStyle,
39
- _ref$spanStyle = _ref.spanStyle,
40
- spanStyle = _ref$spanStyle === void 0 ? defaultStyles.span : _ref$spanStyle,
41
- _ref$componentStyle = _ref.componentStyle,
42
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle,
43
- _ref$tooltipStyle = _ref.tooltipStyle,
44
- tooltipStyle = _ref$tooltipStyle === void 0 ? defaultStyles.tooltip : _ref$tooltipStyle;
45
- return /*#__PURE__*/_react["default"].createElement("div", {
46
- key: name,
47
- id: name,
48
- className: "multipleCheckboxDiv",
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: "multipleCheckboxGroupDiv"
57
- }, options.map(function (option, index) {
58
- return /*#__PURE__*/_react["default"].createElement("div", {
59
- key: index,
60
- className: "checkboxDiv",
61
- style: checkboxDivStyle
62
- }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Form.Checkbox, {
63
- type: "checkbox",
64
- style: componentStyle,
65
- label: option.label,
66
- name: option.name,
67
- checked: option.checked,
68
- onChange: function onChange() {
69
- return _onChange(option.name);
70
- },
71
- disabled: option.disabled
72
- }), option.showHelp ? /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
73
- name: "help circle",
74
- title: option.helpText,
75
- style: tooltipStyle
76
- }) : null);
77
- })));
78
- };
79
- MultipleCheckbox.propTypes = {
80
- onChange: PropTypes.func.isRequired,
81
- name: PropTypes.string.isRequired,
82
- displayName: PropTypes.string,
83
- required: PropTypes.bool,
84
- options: PropTypes.array.isRequired,
85
- mainDivStyle: PropTypes.object,
86
- labelStyle: PropTypes.object,
87
- spanStyle: PropTypes.object,
88
- componentStyle: PropTypes.object,
89
- tooltipStyle: PropTypes.object
90
- };
91
- var _default = exports["default"] = MultipleCheckbox;
@@ -1,75 +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 _semanticUiReact = require("semantic-ui-react");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
- var defaultStyles = {
11
- mainDiv: {}
12
- };
13
-
14
- /**
15
- * Custom multiple dropdown component.
16
- * @param {Object} props
17
- * @param {function} props.onChange - Callback when dropdown value changes.
18
- * @param {string} props.name - Unique name of the dropdown.
19
- * @param {string} props.displayName - Label text displayed next to the dropdown.
20
- * @param {Array} props.value - Current selected values of the dropdown.
21
- * @param {boolean} [props.disabled=false] - Whether the dropdown is disabled.
22
- * @param {Array} props.options - Options for the dropdown.
23
- * @param {Object} [props.mainDivStyle] - Custom style for outer container.
24
- * @param {Object} [props.labelStyle] - Custom style for the label element.
25
- * @param {Object} [props.componentStyle] - Custom style for the dropdown element.
26
- */
27
-
28
- var MultipleDropdown = function MultipleDropdown(_ref) {
29
- var onChange = _ref.onChange,
30
- name = _ref.name,
31
- displayName = _ref.displayName,
32
- value = _ref.value,
33
- _ref$disabled = _ref.disabled,
34
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
35
- options = _ref.options,
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$componentStyle = _ref.componentStyle,
41
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle;
42
- return /*#__PURE__*/_react["default"].createElement("div", {
43
- className: "multipleDropdownDiv",
44
- id: name,
45
- key: name,
46
- style: mainDivStyle
47
- }, /*#__PURE__*/_react["default"].createElement("label", {
48
- htmlFor: "form-input-" + name,
49
- style: labelStyle
50
- }, displayName), /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Dropdown, {
51
- style: componentStyle,
52
- placeholder: "Select " + name,
53
- name: name,
54
- fluid: true,
55
- multiple: true,
56
- selection: true,
57
- search: true,
58
- value: value,
59
- options: options,
60
- onChange: onChange,
61
- disabled: disabled
62
- }));
63
- };
64
- MultipleDropdown.propTypes = {
65
- onChange: PropTypes.func.isRequired,
66
- name: PropTypes.string.isRequired,
67
- displayName: PropTypes.string,
68
- value: PropTypes.array,
69
- disabled: PropTypes.bool,
70
- options: PropTypes.array.isRequired,
71
- mainDivStyle: PropTypes.object,
72
- labelStyle: PropTypes.object,
73
- componentStyle: PropTypes.object
74
- };
75
- var _default = exports["default"] = MultipleDropdown;
@@ -1,89 +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 _semanticUiReact = require("semantic-ui-react");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
- var defaultStyles = {
11
- mainDiv: {},
12
- label: {
13
- width: '161px',
14
- fontSize: '10pt',
15
- textAlign: 'left'
16
- },
17
- span: {
18
- color: '#db2828',
19
- position: 'relative',
20
- top: '-2px'
21
- },
22
- component: {
23
- display: 'inline-block',
24
- margin: '0'
25
- }
26
- };
27
- var MultipleRadioButton = function MultipleRadioButton(_ref) {
28
- var _onChange = _ref.onChange,
29
- name = _ref.name,
30
- displayName = _ref.displayName,
31
- _ref$required = _ref.required,
32
- required = _ref$required === void 0 ? false : _ref$required,
33
- options = _ref.options,
34
- radioButtonDivStyle = _ref.radioButtonDivStyle,
35
- component = _ref.component,
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
- return /*#__PURE__*/_react["default"].createElement("div", {
45
- id: name,
46
- className: "multipleRadioDiv",
47
- key: name,
48
- style: mainDivStyle
49
- }, /*#__PURE__*/_react["default"].createElement("label", {
50
- htmlFor: 'form-input-' + name,
51
- style: labelStyle
52
- }, displayName, " ", required && /*#__PURE__*/_react["default"].createElement("span", {
53
- style: spanStyle
54
- }, "*")), /*#__PURE__*/_react["default"].createElement("div", {
55
- className: "multipleRadioGroupDiv",
56
- style: radioButtonDivStyle
57
- }, options.map(function (option, index) {
58
- return /*#__PURE__*/_react["default"].createElement("div", {
59
- key: index,
60
- className: "radioButtonDiv"
61
- }, /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Form.Radio, {
62
- style: componentStyle,
63
- label: option.label,
64
- name: option.name,
65
- checked: option.checked,
66
- onChange: function onChange() {
67
- return _onChange(option.name);
68
- },
69
- disabled: option.disabled
70
- }), option.showHelp ? /*#__PURE__*/_react["default"].createElement(_semanticUiReact.Icon, {
71
- name: "help circle",
72
- title: option.helpText
73
- }) : null);
74
- }), component ? component : null));
75
- };
76
- MultipleRadioButton.propTypes = {
77
- onChange: PropTypes.func.isRequired,
78
- name: PropTypes.string.isRequired,
79
- displayName: PropTypes.string,
80
- required: PropTypes.bool,
81
- options: PropTypes.array.isRequired,
82
- radioButtonDivStyle: PropTypes.object,
83
- component: PropTypes.node,
84
- mainDivStyle: PropTypes.object,
85
- labelStyle: PropTypes.object,
86
- spanStyle: PropTypes.object,
87
- componentStyle: PropTypes.object
88
- };
89
- var _default = exports["default"] = MultipleRadioButton;
@@ -1,114 +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 _reactDatetime = _interopRequireDefault(require("react-datetime"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
- 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); }
11
- var defaultStyles = {
12
- mainDiv: {
13
- display: 'flex',
14
- alignItems: 'center'
15
- },
16
- label: {
17
- width: '161px',
18
- fontSize: '10pt',
19
- textAlign: 'left'
20
- },
21
- span: {
22
- color: '#db2828',
23
- position: 'relative',
24
- top: '-2px'
25
- },
26
- component: {
27
- maxWidth: 350,
28
- display: 'inline-block'
29
- }
30
- };
31
- var YearDatePicker = function YearDatePicker(_ref) {
32
- var _onChange = _ref.onChange,
33
- name = _ref.name,
34
- displayName = _ref.displayName,
35
- value = _ref.value,
36
- _ref$disabled = _ref.disabled,
37
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
38
- _ref$required = _ref.required,
39
- required = _ref$required === void 0 ? false : _ref$required,
40
- _ref$mainDivStyle = _ref.mainDivStyle,
41
- mainDivStyle = _ref$mainDivStyle === void 0 ? defaultStyles.mainDiv : _ref$mainDivStyle,
42
- _ref$labelStyle = _ref.labelStyle,
43
- labelStyle = _ref$labelStyle === void 0 ? defaultStyles.label : _ref$labelStyle,
44
- _ref$spanStyle = _ref.spanStyle,
45
- spanStyle = _ref$spanStyle === void 0 ? defaultStyles.span : _ref$spanStyle,
46
- _ref$componentStyle = _ref.componentStyle,
47
- componentStyle = _ref$componentStyle === void 0 ? defaultStyles.component : _ref$componentStyle,
48
- _ref$dateFormat = _ref.dateFormat,
49
- dateFormat = _ref$dateFormat === void 0 ? "DD/MM/YYYY" : _ref$dateFormat,
50
- _ref$timeFormat = _ref.timeFormat,
51
- timeFormat = _ref$timeFormat === void 0 ? false : _ref$timeFormat,
52
- _ref$input = _ref.input,
53
- input = _ref$input === void 0 ? true : _ref$input,
54
- _ref$viewMode = _ref.viewMode,
55
- viewMode = _ref$viewMode === void 0 ? "years" : _ref$viewMode,
56
- _ref$placeholder = _ref.placeholder,
57
- placeholder = _ref$placeholder === void 0 ? "Select year" : _ref$placeholder,
58
- isValidDateFunction = _ref.isValidDateFunction;
59
- return /*#__PURE__*/_react["default"].createElement("div", {
60
- className: "yearDateDiv",
61
- key: name,
62
- id: 'form-dateYearDiv-' + name,
63
- style: mainDivStyle
64
- }, /*#__PURE__*/_react["default"].createElement("label", {
65
- id: 'form-dateYearlabel-' + name,
66
- htmlFor: "form-dateYear-" + name,
67
- style: labelStyle
68
- }, displayName, " ", required && /*#__PURE__*/_react["default"].createElement("span", {
69
- style: spanStyle
70
- }, "*")), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactDatetime["default"], {
71
- style: componentStyle,
72
- id: "form-dateYear-" + name,
73
- value: value,
74
- dateFormat: dateFormat,
75
- timeFormat: timeFormat,
76
- input: input,
77
- onChange: function onChange(date) {
78
- return _onChange(date, name);
79
- },
80
- viewMode: viewMode,
81
- disabled: disabled,
82
- isValidDate: function isValidDate(current) {
83
- return isValidDateFunction(current);
84
- },
85
- renderInput: function renderInput(props, openCalendar) {
86
- return /*#__PURE__*/_react["default"].createElement("input", _extends({}, props, {
87
- readOnly: true,
88
- onClick: openCalendar // Ensures the calendar opens when the input is clicked
89
- }));
90
- },
91
- inputProps: {
92
- placeholder: placeholder
93
- }
94
- })));
95
- };
96
- YearDatePicker.propTypes = {
97
- onChange: PropTypes.func.isRequired,
98
- name: PropTypes.string.isRequired,
99
- displayName: PropTypes.string,
100
- value: PropTypes.any,
101
- disabled: PropTypes.bool,
102
- required: PropTypes.bool,
103
- mainDivStyle: PropTypes.object,
104
- labelStyle: PropTypes.object,
105
- spanStyle: PropTypes.object,
106
- componentStyle: PropTypes.object,
107
- dateFormat: PropTypes.string,
108
- timeFormat: PropTypes.bool,
109
- input: PropTypes.bool,
110
- viewMode: PropTypes.string,
111
- placeholder: PropTypes.string,
112
- isValidDateFunction: PropTypes.func
113
- };
114
- var _default = exports["default"] = YearDatePicker;