@geneui/components 2.11.1

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 (154) hide show
  1. package/ActionableList.js +1761 -0
  2. package/AdvancedSearch.js +872 -0
  3. package/Alert.js +98 -0
  4. package/Avatar.js +77 -0
  5. package/Badge.js +76 -0
  6. package/Breadcrumb.js +128 -0
  7. package/BusyLoader.js +69 -0
  8. package/Button.js +130 -0
  9. package/CHANGELOG.md +424 -0
  10. package/Card.js +513 -0
  11. package/CardList.js +705 -0
  12. package/CellMeasurerCache-c11cec83.js +229 -0
  13. package/Charts.js +99 -0
  14. package/Checkbox.js +232 -0
  15. package/CheckboxGroup.js +206 -0
  16. package/CheckboxGroupWithSearch.js +279 -0
  17. package/Collapse.js +196 -0
  18. package/ColorPicker.js +210 -0
  19. package/ComboBox.js +99 -0
  20. package/Counter.js +99 -0
  21. package/DateFilter.js +179 -0
  22. package/DatePicker.js +1231 -0
  23. package/DatePickerInput.js +30 -0
  24. package/Divider.js +56 -0
  25. package/Drawer.js +264 -0
  26. package/Dropdown.js +99 -0
  27. package/Editor.js +22965 -0
  28. package/Empty.js +132 -0
  29. package/ExtendedInput.js +578 -0
  30. package/Form.js +116 -0
  31. package/FormContainer.js +189 -0
  32. package/FormableCheckbox.js +27 -0
  33. package/FormableDatePicker.js +39 -0
  34. package/FormableDropdown.js +105 -0
  35. package/FormableEditor.js +24 -0
  36. package/FormableHOC-21051057.js +83 -0
  37. package/FormableMultiSelectDropdown.js +105 -0
  38. package/FormableNumberInput.js +31 -0
  39. package/FormableRadio.js +23 -0
  40. package/FormableSwitcher.js +23 -0
  41. package/FormableTextInput.js +31 -0
  42. package/FormableUploader.js +40 -0
  43. package/GeneUIProvider.js +256 -0
  44. package/Grid.js +166 -0
  45. package/Holder.js +99 -0
  46. package/Icon.js +63 -0
  47. package/Image.js +130 -0
  48. package/ImagePreview.js +99 -0
  49. package/KeyValue.js +63 -0
  50. package/Label.js +58 -0
  51. package/LinkButton.js +104 -0
  52. package/Menu.js +277 -0
  53. package/MobileNavigation.js +95 -0
  54. package/MobilePopup.js +180 -0
  55. package/Modal.js +251 -0
  56. package/ModuleTitle.js +99 -0
  57. package/NavigationMenu.js +212 -0
  58. package/Notification.js +120 -0
  59. package/Option.js +186 -0
  60. package/Overlay.js +99 -0
  61. package/Overspread.js +343 -0
  62. package/Pagination.js +258 -0
  63. package/Paper.js +97 -0
  64. package/Popover-f4d1cac0.js +411 -0
  65. package/Popover.js +20 -0
  66. package/PopoverV2.js +19 -0
  67. package/Portal.js +58 -0
  68. package/Products.js +115 -0
  69. package/Profile.js +99 -0
  70. package/Progress.js +200 -0
  71. package/QRCode.js +816 -0
  72. package/README.md +90 -0
  73. package/Radio.js +152 -0
  74. package/RadioGroup.js +105 -0
  75. package/Range.js +14 -0
  76. package/RichEditor-b7928765.js +228 -0
  77. package/RichEditor.js +13 -0
  78. package/Scrollbar.js +1587 -0
  79. package/Search.js +72 -0
  80. package/SearchWithDropdown.js +195 -0
  81. package/Section.js +62 -0
  82. package/SkeletonLoader.js +82 -0
  83. package/Slider.js +256 -0
  84. package/Status.js +104 -0
  85. package/Steps.js +312 -0
  86. package/SuggestionList.js +15 -0
  87. package/Switcher.js +194 -0
  88. package/Table.js +102 -0
  89. package/TableCompositions.js +17028 -0
  90. package/Tabs.js +236 -0
  91. package/Tag.js +103 -0
  92. package/TextLink.js +22 -0
  93. package/Textarea.js +239 -0
  94. package/Time.js +63 -0
  95. package/TimePicker.js +99 -0
  96. package/Timeline.js +114 -0
  97. package/Title.js +66 -0
  98. package/Toaster.js +116 -0
  99. package/Tooltip.js +157 -0
  100. package/TransferList.js +502 -0
  101. package/Uploader.js +32 -0
  102. package/ValidatableCheckbox.js +126 -0
  103. package/ValidatableDatePicker.js +312 -0
  104. package/ValidatableDropdown.js +99 -0
  105. package/ValidatableElements.js +99 -0
  106. package/ValidatableMultiSelectDropdown.js +99 -0
  107. package/ValidatableNumberInput.js +194 -0
  108. package/ValidatableRadio.js +117 -0
  109. package/ValidatableSwitcher.js +94 -0
  110. package/ValidatableTextInput.js +164 -0
  111. package/ValidatableTimeInput.js +171 -0
  112. package/ValidatableUploader.js +94 -0
  113. package/Widget.js +99 -0
  114. package/_commonjsHelpers-24198af3.js +35 -0
  115. package/_rollupPluginBabelHelpers-e8fb2e5c.js +16 -0
  116. package/checkTimeValidation-e56771be.js +16 -0
  117. package/checkboxRadioSwitcher-5b69d7bd.js +4 -0
  118. package/clsx.m-2bb6df4b.js +3 -0
  119. package/configs-91c86664.js +96 -0
  120. package/configs.js +131 -0
  121. package/dateValidation-67caec66.js +225 -0
  122. package/debounce-4419bc2f.js +17 -0
  123. package/globalStyling-9c60a159.js +4 -0
  124. package/guid-8ddf77b3.js +16 -0
  125. package/index-00fe8887.js +193 -0
  126. package/index-0cf65939.js +30991 -0
  127. package/index-122432cd.js +270 -0
  128. package/index-262edd7a.js +77 -0
  129. package/index-5cea9a7d.js +407 -0
  130. package/index-5e722d91.js +867 -0
  131. package/index-67f4d4d1.js +6568 -0
  132. package/index-6ff23041.js +66 -0
  133. package/index-702bf24a.js +1938 -0
  134. package/index-a4635754.js +329 -0
  135. package/index-a59530cd.js +4 -0
  136. package/index-ac59cb10.js +169 -0
  137. package/index-b7a33c58.js +11 -0
  138. package/index-d9e8a888.js +987 -0
  139. package/index-e0af0caf.js +1182 -0
  140. package/index-e8776f3d.js +807 -0
  141. package/index.js +128 -0
  142. package/localization-4ba17032.js +46 -0
  143. package/objectWithoutPropertiesLoose-299691d8.js +78 -0
  144. package/package.json +190 -0
  145. package/rangeAndSlider-20599da4.js +8839 -0
  146. package/react-beautiful-dnd.esm-38c37304.js +10117 -0
  147. package/style-inject.es-746bb8ed.js +28 -0
  148. package/useClickOutside-5183e396.js +25 -0
  149. package/useDeviceType-dd51db38.js +15 -0
  150. package/useEllipsisDetection-ef536015.js +23 -0
  151. package/useKeyDown-38102ae7.js +21 -0
  152. package/useMount-6fef51a5.js +9 -0
  153. package/useWidth-9f4647f8.js +15 -0
  154. package/useWindowSize-80369d76.js +33 -0
package/Form.js ADDED
@@ -0,0 +1,116 @@
1
+ import 'react';
2
+ import FormContainer from './FormContainer.js';
3
+ export { default as FormableMultiSelectDropdown } from './FormableMultiSelectDropdown.js';
4
+ export { default as FormableNumberInput } from './FormableNumberInput.js';
5
+ export { default as FormableDatePicker } from './FormableDatePicker.js';
6
+ export { default as FormableTextInput } from './FormableTextInput.js';
7
+ export { default as FormableDropdown } from './FormableDropdown.js';
8
+ export { default as FormableCheckbox } from './FormableCheckbox.js';
9
+ export { default as FormableUploader } from './FormableUploader.js';
10
+ export { default as FormableSwitcher } from './FormableSwitcher.js';
11
+ export { default as FormableEditor } from './FormableEditor.js';
12
+ export { default as FormableRadio } from './FormableRadio.js';
13
+ export { F as FormableHOC } from './FormableHOC-21051057.js';
14
+ import './_rollupPluginBabelHelpers-e8fb2e5c.js';
15
+ import './index-e0af0caf.js';
16
+ import './index-ac59cb10.js';
17
+ import './dateValidation-67caec66.js';
18
+ import './_commonjsHelpers-24198af3.js';
19
+ import 'react-dom';
20
+ import './index-262edd7a.js';
21
+ import './Paper.js';
22
+ import './globalStyling-9c60a159.js';
23
+ import './style-inject.es-746bb8ed.js';
24
+ import './Button.js';
25
+ import './index-6ff23041.js';
26
+ import './Icon.js';
27
+ import './index-0cf65939.js';
28
+ import './Editor.js';
29
+ import './useMount-6fef51a5.js';
30
+ import './useDeviceType-dd51db38.js';
31
+ import './configs-91c86664.js';
32
+ import './useWindowSize-80369d76.js';
33
+ import './ValidatableUploader.js';
34
+ import './index-d9e8a888.js';
35
+ import './Grid.js';
36
+ import './useWidth-9f4647f8.js';
37
+ import './useKeyDown-38102ae7.js';
38
+ import './BusyLoader.js';
39
+ import './Image.js';
40
+ import './Empty.js';
41
+ import './Tooltip.js';
42
+ import './Popover-f4d1cac0.js';
43
+ import './GeneUIProvider.js';
44
+ import './Checkbox.js';
45
+ import './checkboxRadioSwitcher-5b69d7bd.js';
46
+ import './guid-8ddf77b3.js';
47
+ import './ExtendedInput.js';
48
+ import './index-5cea9a7d.js';
49
+ import './useClickOutside-5183e396.js';
50
+ import './Scrollbar.js';
51
+ import './ValidatableRadio.js';
52
+ import './RadioGroup.js';
53
+ import './Radio.js';
54
+ import './ValidatableCheckbox.js';
55
+ import './ValidatableSwitcher.js';
56
+ import './Switcher.js';
57
+ import './ValidatableNumberInput.js';
58
+ import './ValidatableTextInput.js';
59
+ import './ValidatableDatePicker.js';
60
+ import './index-5e722d91.js';
61
+ import './index-702bf24a.js';
62
+ import './index-122432cd.js';
63
+ import './debounce-4419bc2f.js';
64
+ import './DatePicker.js';
65
+ import './localization-4ba17032.js';
66
+ import './checkTimeValidation-e56771be.js';
67
+ import './useEllipsisDetection-ef536015.js';
68
+ import './Tabs.js';
69
+ import './Steps.js';
70
+ import './index-a4635754.js';
71
+ import './Portal.js';
72
+ import './Timeline.js';
73
+ import './Card.js';
74
+ import './MobilePopup.js';
75
+ import './Menu.js';
76
+ import './Option.js';
77
+ import './SkeletonLoader.js';
78
+ import './KeyValue.js';
79
+ import './configs.js';
80
+ import './Tag.js';
81
+ import './Alert.js';
82
+ import './index-00fe8887.js';
83
+ import './rangeAndSlider-20599da4.js';
84
+ import './Slider.js';
85
+ import './Pagination.js';
86
+ import './Divider.js';
87
+ import './objectWithoutPropertiesLoose-299691d8.js';
88
+ import './clsx.m-2bb6df4b.js';
89
+ import './index-a59530cd.js';
90
+ import './Notification.js';
91
+ import './Modal.js';
92
+ import './Collapse.js';
93
+ import './Status.js';
94
+ import './Avatar.js';
95
+ import './Search.js';
96
+ import './TextLink.js';
97
+ import './Label.js';
98
+ import './Badge.js';
99
+ import './Time.js';
100
+ import './Title.js';
101
+ import './index-b7a33c58.js';
102
+ import './QRCode.js';
103
+ import './Progress.js';
104
+ import './MobileNavigation.js';
105
+ import './Products.js';
106
+ import './Breadcrumb.js';
107
+ import './Section.js';
108
+ import './ColorPicker.js';
109
+ import './NavigationMenu.js';
110
+ import './Textarea.js';
111
+ import './AdvancedSearch.js';
112
+ import './LinkButton.js';
113
+
114
+
115
+
116
+ export { FormContainer as default };
@@ -0,0 +1,189 @@
1
+ import { _ as _extends } from './_rollupPluginBabelHelpers-e8fb2e5c.js';
2
+ import React__default, { useMemo, useCallback, useEffect } from 'react';
3
+ import { p as propTypesExports } from './index-e0af0caf.js';
4
+ import { n as noop, s as stopEvent } from './index-ac59cb10.js';
5
+ import { F as FormProvider, u as useFormContext } from './index-262edd7a.js';
6
+ import Paper from './Paper.js';
7
+ import Button from './Button.js';
8
+ import './globalStyling-9c60a159.js';
9
+ import { s as styleInject } from './style-inject.es-746bb8ed.js';
10
+ import './dateValidation-67caec66.js';
11
+ import './_commonjsHelpers-24198af3.js';
12
+ import 'react-dom';
13
+ import './index-6ff23041.js';
14
+ import './Icon.js';
15
+
16
+ var css_248z = "[data-gene-ui-version=\"2.11.0\"] .form-buttons{margin:2rem 0 0}[data-gene-ui-version=\"2.11.0\"] .form-buttons>*+*{margin-inline-start:1rem}[data-gene-ui-version=\"2.11.0\"] form{width:100%}";
17
+ styleInject(css_248z);
18
+
19
+ const KEYBOARD_ENTER_KEY = 13;
20
+ function Form(_ref) {
21
+ let {
22
+ children,
23
+ buttons,
24
+ className,
25
+ cancelText,
26
+ submitText,
27
+ onSubmit,
28
+ onCancel,
29
+ onFormChange,
30
+ onValidationChange,
31
+ submitOnEnter,
32
+ onKeyPress,
33
+ readOnly,
34
+ disableFooter,
35
+ ...restProps
36
+ } = _ref;
37
+ const {
38
+ fields,
39
+ setReadOnly,
40
+ setAllowValidation
41
+ } = useFormContext();
42
+ const checkFormValidation = useMemo(() => fields.every(item => item.isValid), [fields]);
43
+ // Comment this row, because it can be useful after
44
+ // const checkFormChanges = useMemo(() => fields.some(item => item.isChanged), [fields]);
45
+ const checkFormChanges = true;
46
+ const handleSubmit = useCallback(e => {
47
+ stopEvent(e, true);
48
+ setAllowValidation(true);
49
+ checkFormValidation && onSubmit(e);
50
+ }, [setAllowValidation, checkFormValidation, onSubmit]);
51
+ const handleCancel = useCallback(e => {
52
+ stopEvent(e, true);
53
+ onCancel(e);
54
+ }, [onCancel]);
55
+ const stopFormSubmit = useCallback(stopEvent, []);
56
+
57
+ // handle this because we need stop form default submit when user press `Enter` key,
58
+ // and form still invalid
59
+ const handleFormDefaultSubmit = useCallback(e => {
60
+ if (e.which === 13) {
61
+ checkFormValidation && submitOnEnter && handleSubmit(e);
62
+ } else {
63
+ stopEvent(e);
64
+ }
65
+ onKeyPress(e);
66
+ }, [checkFormValidation, handleSubmit, onKeyPress, submitOnEnter]);
67
+
68
+ /**
69
+ * in this cases form call this two functions `onFormChange and onValidationChange`
70
+ * only in that case if this two values are changed
71
+ * but if we want to call this function in every change, we must add some other variables in deps list
72
+ */
73
+ // No need to fire effect when `onFormChange` changes
74
+ useEffect(() => {
75
+ onFormChange(checkFormChanges, fields);
76
+ }, [checkFormChanges]);
77
+
78
+ // No need to fire effect when `onValidationChange` changes
79
+ useEffect(() => {
80
+ onValidationChange(checkFormValidation, fields);
81
+ }, [checkFormValidation]);
82
+ useEffect(() => {
83
+ setReadOnly(readOnly);
84
+ }, [readOnly]);
85
+ const onKeyDown = useCallback(e => {
86
+ e.keyCode === KEYBOARD_ENTER_KEY && checkFormChanges && submitOnEnter && handleSubmit(e);
87
+ }, [handleSubmit, checkFormChanges]);
88
+ return /*#__PURE__*/React__default.createElement("form", _extends({}, restProps, {
89
+ noValidate: true // disable native (browser) form validation
90
+ ,
91
+ className: className,
92
+ onSubmit: stopFormSubmit,
93
+ onKeyPress: handleFormDefaultSubmit,
94
+ onKeyDown: onKeyDown
95
+ }), children, !disableFooter && (buttons || /*#__PURE__*/React__default.createElement(Paper, {
96
+ justifyContent: "center",
97
+ className: "form-buttons"
98
+ }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Button, {
99
+ onClick: handleCancel,
100
+ appearance: "outline"
101
+ }, cancelText), /*#__PURE__*/React__default.createElement(Button, {
102
+ disabled: !checkFormChanges,
103
+ onClick: handleSubmit
104
+ }, submitText)))));
105
+ }
106
+ function FormContainer(_ref2) {
107
+ let {
108
+ readOnly,
109
+ ...restProps
110
+ } = _ref2;
111
+ return /*#__PURE__*/React__default.createElement(FormProvider, {
112
+ value: {
113
+ readOnly
114
+ }
115
+ }, /*#__PURE__*/React__default.createElement(Form, _extends({}, restProps, {
116
+ readOnly: readOnly
117
+ })));
118
+ }
119
+ FormContainer.propTypes = {
120
+ /**
121
+ * Disables form footer with cancel and sumbit buttons
122
+ */
123
+ disableFooter: propTypesExports.bool,
124
+ /**
125
+ * Desables events on form's elements
126
+ */
127
+ readOnly: propTypesExports.bool,
128
+ /**
129
+ * Form submit will be called on ENTER press
130
+ */
131
+ submitOnEnter: propTypesExports.bool,
132
+ /**
133
+ * Render custom buttons in footer
134
+ */
135
+ buttons: propTypesExports.any,
136
+ /**
137
+ * Valid React nodes
138
+ */
139
+ children: propTypesExports.node,
140
+ /**
141
+ * Additional classname which applies to form element
142
+ */
143
+ className: propTypesExports.string,
144
+ /**
145
+ * Custom text for reject button in footer
146
+ */
147
+ cancelText: propTypesExports.string,
148
+ /**
149
+ * Custom text for submit button in footer
150
+ */
151
+ submitText: propTypesExports.string,
152
+ /**
153
+ * fires event when submit button in footer was clicked
154
+ * (event: Event) => void
155
+ */
156
+ onSubmit: propTypesExports.func,
157
+ /**
158
+ * Fires event when reject button in footer was clicked
159
+ * (event: Event) => void
160
+ */
161
+ onCancel: propTypesExports.func,
162
+ /**
163
+ * Fires when user attempts to change form's fields
164
+ * (changedFields: Array) => void
165
+ */
166
+ onFormChange: propTypesExports.func,
167
+ /**
168
+ * Check if every fields are valid
169
+ * (isValid: Boolean) => void
170
+ */
171
+ onValidationChange: propTypesExports.func,
172
+ /**
173
+ * Fires event when `ENTER` is pressed
174
+ * (event: Event) => void
175
+ */
176
+ onKeyPress: propTypesExports.func
177
+ };
178
+ FormContainer.defaultProps = {
179
+ cancelText: 'Cancel',
180
+ submitText: 'Submit',
181
+ submitOnEnter: true,
182
+ onCancel: noop,
183
+ onSubmit: noop,
184
+ onKeyPress: noop,
185
+ onValidationChange: noop,
186
+ onFormChange: noop
187
+ };
188
+
189
+ export { FormContainer as default };
@@ -0,0 +1,27 @@
1
+ import { F as Formable } from './FormableHOC-21051057.js';
2
+ import CheckboxField from './ValidatableCheckbox.js';
3
+ import './_rollupPluginBabelHelpers-e8fb2e5c.js';
4
+ import 'react';
5
+ import './index-ac59cb10.js';
6
+ import './index-e0af0caf.js';
7
+ import './dateValidation-67caec66.js';
8
+ import './_commonjsHelpers-24198af3.js';
9
+ import 'react-dom';
10
+ import './useMount-6fef51a5.js';
11
+ import './configs-91c86664.js';
12
+ import './index-262edd7a.js';
13
+ import './guid-8ddf77b3.js';
14
+ import './Checkbox.js';
15
+ import './index-6ff23041.js';
16
+ import './Tooltip.js';
17
+ import './Popover-f4d1cac0.js';
18
+ import './useDeviceType-dd51db38.js';
19
+ import './useWindowSize-80369d76.js';
20
+ import './GeneUIProvider.js';
21
+ import './globalStyling-9c60a159.js';
22
+ import './style-inject.es-746bb8ed.js';
23
+ import './checkboxRadioSwitcher-5b69d7bd.js';
24
+
25
+ var FormableCheckbox = Formable(CheckboxField);
26
+
27
+ export { FormableCheckbox as default };
@@ -0,0 +1,39 @@
1
+ import { F as Formable } from './FormableHOC-21051057.js';
2
+ import DatePicker from './ValidatableDatePicker.js';
3
+ import './_rollupPluginBabelHelpers-e8fb2e5c.js';
4
+ import 'react';
5
+ import './index-ac59cb10.js';
6
+ import './index-e0af0caf.js';
7
+ import './dateValidation-67caec66.js';
8
+ import './_commonjsHelpers-24198af3.js';
9
+ import 'react-dom';
10
+ import './useMount-6fef51a5.js';
11
+ import './configs-91c86664.js';
12
+ import './index-262edd7a.js';
13
+ import './guid-8ddf77b3.js';
14
+ import './index-5e722d91.js';
15
+ import './globalStyling-9c60a159.js';
16
+ import './style-inject.es-746bb8ed.js';
17
+ import './useKeyDown-38102ae7.js';
18
+ import './useDeviceType-dd51db38.js';
19
+ import './useWindowSize-80369d76.js';
20
+ import './index-6ff23041.js';
21
+ import './index-702bf24a.js';
22
+ import './index-122432cd.js';
23
+ import './useClickOutside-5183e396.js';
24
+ import './Scrollbar.js';
25
+ import './GeneUIProvider.js';
26
+ import './debounce-4419bc2f.js';
27
+ import './DatePicker.js';
28
+ import './Button.js';
29
+ import './Icon.js';
30
+ import './ExtendedInput.js';
31
+ import './index-5cea9a7d.js';
32
+ import './Tooltip.js';
33
+ import './Popover-f4d1cac0.js';
34
+ import './localization-4ba17032.js';
35
+ import './checkTimeValidation-e56771be.js';
36
+
37
+ var FormableDatePicker = Formable(DatePicker);
38
+
39
+ export { FormableDatePicker as default };
@@ -0,0 +1,105 @@
1
+ import { F as Formable } from './FormableHOC-21051057.js';
2
+ import { D as DropdownField } from './index-0cf65939.js';
3
+ import './_rollupPluginBabelHelpers-e8fb2e5c.js';
4
+ import 'react';
5
+ import './index-ac59cb10.js';
6
+ import './index-e0af0caf.js';
7
+ import './dateValidation-67caec66.js';
8
+ import './_commonjsHelpers-24198af3.js';
9
+ import 'react-dom';
10
+ import './useMount-6fef51a5.js';
11
+ import './configs-91c86664.js';
12
+ import './index-262edd7a.js';
13
+ import './guid-8ddf77b3.js';
14
+ import './Editor.js';
15
+ import './index-6ff23041.js';
16
+ import './useDeviceType-dd51db38.js';
17
+ import './useWindowSize-80369d76.js';
18
+ import './Button.js';
19
+ import './Icon.js';
20
+ import './globalStyling-9c60a159.js';
21
+ import './style-inject.es-746bb8ed.js';
22
+ import './ValidatableUploader.js';
23
+ import './index-d9e8a888.js';
24
+ import './Grid.js';
25
+ import './useWidth-9f4647f8.js';
26
+ import './useKeyDown-38102ae7.js';
27
+ import './BusyLoader.js';
28
+ import './Image.js';
29
+ import './Empty.js';
30
+ import './Tooltip.js';
31
+ import './Popover-f4d1cac0.js';
32
+ import './GeneUIProvider.js';
33
+ import './Checkbox.js';
34
+ import './checkboxRadioSwitcher-5b69d7bd.js';
35
+ import './ExtendedInput.js';
36
+ import './index-5cea9a7d.js';
37
+ import './useClickOutside-5183e396.js';
38
+ import './Scrollbar.js';
39
+ import './ValidatableRadio.js';
40
+ import './RadioGroup.js';
41
+ import './Radio.js';
42
+ import './ValidatableCheckbox.js';
43
+ import './ValidatableSwitcher.js';
44
+ import './Switcher.js';
45
+ import './ValidatableNumberInput.js';
46
+ import './ValidatableTextInput.js';
47
+ import './ValidatableDatePicker.js';
48
+ import './index-5e722d91.js';
49
+ import './index-702bf24a.js';
50
+ import './index-122432cd.js';
51
+ import './debounce-4419bc2f.js';
52
+ import './DatePicker.js';
53
+ import './localization-4ba17032.js';
54
+ import './checkTimeValidation-e56771be.js';
55
+ import './useEllipsisDetection-ef536015.js';
56
+ import './Tabs.js';
57
+ import './Steps.js';
58
+ import './index-a4635754.js';
59
+ import './Portal.js';
60
+ import './Timeline.js';
61
+ import './Card.js';
62
+ import './MobilePopup.js';
63
+ import './Menu.js';
64
+ import './Option.js';
65
+ import './SkeletonLoader.js';
66
+ import './KeyValue.js';
67
+ import './configs.js';
68
+ import './Tag.js';
69
+ import './Alert.js';
70
+ import './index-00fe8887.js';
71
+ import './rangeAndSlider-20599da4.js';
72
+ import './Slider.js';
73
+ import './Pagination.js';
74
+ import './Divider.js';
75
+ import './objectWithoutPropertiesLoose-299691d8.js';
76
+ import './clsx.m-2bb6df4b.js';
77
+ import './index-a59530cd.js';
78
+ import './Notification.js';
79
+ import './Modal.js';
80
+ import './Collapse.js';
81
+ import './Status.js';
82
+ import './Avatar.js';
83
+ import './Search.js';
84
+ import './TextLink.js';
85
+ import './Label.js';
86
+ import './Paper.js';
87
+ import './Badge.js';
88
+ import './Time.js';
89
+ import './Title.js';
90
+ import './index-b7a33c58.js';
91
+ import './QRCode.js';
92
+ import './Progress.js';
93
+ import './MobileNavigation.js';
94
+ import './Products.js';
95
+ import './Breadcrumb.js';
96
+ import './Section.js';
97
+ import './ColorPicker.js';
98
+ import './NavigationMenu.js';
99
+ import './Textarea.js';
100
+ import './AdvancedSearch.js';
101
+ import './LinkButton.js';
102
+
103
+ var FormableDropdown = Formable(DropdownField);
104
+
105
+ export { FormableDropdown as default };
@@ -0,0 +1,24 @@
1
+ import { F as Formable } from './FormableHOC-21051057.js';
2
+ import Editor from './Editor.js';
3
+ import './_rollupPluginBabelHelpers-e8fb2e5c.js';
4
+ import 'react';
5
+ import './index-ac59cb10.js';
6
+ import './index-e0af0caf.js';
7
+ import './dateValidation-67caec66.js';
8
+ import './_commonjsHelpers-24198af3.js';
9
+ import 'react-dom';
10
+ import './useMount-6fef51a5.js';
11
+ import './configs-91c86664.js';
12
+ import './index-262edd7a.js';
13
+ import './guid-8ddf77b3.js';
14
+ import './index-6ff23041.js';
15
+ import './useDeviceType-dd51db38.js';
16
+ import './useWindowSize-80369d76.js';
17
+ import './Button.js';
18
+ import './Icon.js';
19
+ import './globalStyling-9c60a159.js';
20
+ import './style-inject.es-746bb8ed.js';
21
+
22
+ var FormableEditor = Formable(Editor);
23
+
24
+ export { FormableEditor as default };
@@ -0,0 +1,83 @@
1
+ import { _ as _extends } from './_rollupPluginBabelHelpers-e8fb2e5c.js';
2
+ import React__default, { useState, useCallback } from 'react';
3
+ import { n as noop } from './index-ac59cb10.js';
4
+ import { u as useMount } from './useMount-6fef51a5.js';
5
+ import './configs-91c86664.js';
6
+ import { u as useFormContext } from './index-262edd7a.js';
7
+ import { g as guid } from './guid-8ddf77b3.js';
8
+
9
+ function Formable(WrappedComponent) {
10
+ return function (props) {
11
+ const {
12
+ isFieldValid = noop,
13
+ name: defaultName,
14
+ onChange = noop,
15
+ value
16
+ } = props;
17
+ const [_name, setName] = useState('');
18
+ const {
19
+ fields,
20
+ readOnlyState,
21
+ allowValidation,
22
+ handleFieldMount,
23
+ handleFieldUnMount,
24
+ handleFieldChange,
25
+ handleValidationChange
26
+ } = useFormContext();
27
+
28
+ // this function is called every time when validation changes
29
+ const handleInitialState = isValid => {
30
+ const field = fields.find(item => item.name === _name);
31
+ handleValidationChange({
32
+ ...field,
33
+ _name,
34
+ isValid
35
+ });
36
+ isFieldValid(isValid);
37
+ };
38
+
39
+ // this function is called every time when value changes
40
+ // need to handle this because form submit follows form changes
41
+ const handleChange = useCallback((e, isValid, key) => {
42
+ // we need this check, because some fields return string not `event` object
43
+ const value = e && e.target ? e.target.value : e;
44
+ const field = fields.find(item => item.name === _name);
45
+ field && handleFieldChange({
46
+ ...field,
47
+ isChanged: field.defaultValue !== value
48
+ });
49
+ onChange(e, isValid, key);
50
+ }, [fields, handleFieldChange, _name, onChange]);
51
+
52
+ // add fields to store when field mounted
53
+ useMount(() => {
54
+ // generate local name if `name` is undefined
55
+ const localName = defaultName || guid();
56
+ // generate default value if `value` is undefined
57
+ const defaultValue = value || '';
58
+ setName(localName);
59
+ handleFieldMount({
60
+ name: localName,
61
+ defaultValue,
62
+ isValid: true,
63
+ isChanged: false
64
+ });
65
+ return () => handleFieldUnMount({
66
+ name: localName
67
+ });
68
+ });
69
+ return /*#__PURE__*/React__default.createElement(WrappedComponent, _extends({}, props, {
70
+ name: _name,
71
+ onChange: handleChange,
72
+ isFieldValid: handleInitialState,
73
+ forceAllowValidation: allowValidation,
74
+ readOnly: readOnlyState || props.readOnly
75
+ }));
76
+ };
77
+ }
78
+ Formable.defaultProps = {
79
+ onChange: noop,
80
+ isFieldValid: noop
81
+ };
82
+
83
+ export { Formable as F };
@@ -0,0 +1,105 @@
1
+ import { F as Formable } from './FormableHOC-21051057.js';
2
+ import { b as MultiSelectDropdownField } from './index-0cf65939.js';
3
+ import './_rollupPluginBabelHelpers-e8fb2e5c.js';
4
+ import 'react';
5
+ import './index-ac59cb10.js';
6
+ import './index-e0af0caf.js';
7
+ import './dateValidation-67caec66.js';
8
+ import './_commonjsHelpers-24198af3.js';
9
+ import 'react-dom';
10
+ import './useMount-6fef51a5.js';
11
+ import './configs-91c86664.js';
12
+ import './index-262edd7a.js';
13
+ import './guid-8ddf77b3.js';
14
+ import './Editor.js';
15
+ import './index-6ff23041.js';
16
+ import './useDeviceType-dd51db38.js';
17
+ import './useWindowSize-80369d76.js';
18
+ import './Button.js';
19
+ import './Icon.js';
20
+ import './globalStyling-9c60a159.js';
21
+ import './style-inject.es-746bb8ed.js';
22
+ import './ValidatableUploader.js';
23
+ import './index-d9e8a888.js';
24
+ import './Grid.js';
25
+ import './useWidth-9f4647f8.js';
26
+ import './useKeyDown-38102ae7.js';
27
+ import './BusyLoader.js';
28
+ import './Image.js';
29
+ import './Empty.js';
30
+ import './Tooltip.js';
31
+ import './Popover-f4d1cac0.js';
32
+ import './GeneUIProvider.js';
33
+ import './Checkbox.js';
34
+ import './checkboxRadioSwitcher-5b69d7bd.js';
35
+ import './ExtendedInput.js';
36
+ import './index-5cea9a7d.js';
37
+ import './useClickOutside-5183e396.js';
38
+ import './Scrollbar.js';
39
+ import './ValidatableRadio.js';
40
+ import './RadioGroup.js';
41
+ import './Radio.js';
42
+ import './ValidatableCheckbox.js';
43
+ import './ValidatableSwitcher.js';
44
+ import './Switcher.js';
45
+ import './ValidatableNumberInput.js';
46
+ import './ValidatableTextInput.js';
47
+ import './ValidatableDatePicker.js';
48
+ import './index-5e722d91.js';
49
+ import './index-702bf24a.js';
50
+ import './index-122432cd.js';
51
+ import './debounce-4419bc2f.js';
52
+ import './DatePicker.js';
53
+ import './localization-4ba17032.js';
54
+ import './checkTimeValidation-e56771be.js';
55
+ import './useEllipsisDetection-ef536015.js';
56
+ import './Tabs.js';
57
+ import './Steps.js';
58
+ import './index-a4635754.js';
59
+ import './Portal.js';
60
+ import './Timeline.js';
61
+ import './Card.js';
62
+ import './MobilePopup.js';
63
+ import './Menu.js';
64
+ import './Option.js';
65
+ import './SkeletonLoader.js';
66
+ import './KeyValue.js';
67
+ import './configs.js';
68
+ import './Tag.js';
69
+ import './Alert.js';
70
+ import './index-00fe8887.js';
71
+ import './rangeAndSlider-20599da4.js';
72
+ import './Slider.js';
73
+ import './Pagination.js';
74
+ import './Divider.js';
75
+ import './objectWithoutPropertiesLoose-299691d8.js';
76
+ import './clsx.m-2bb6df4b.js';
77
+ import './index-a59530cd.js';
78
+ import './Notification.js';
79
+ import './Modal.js';
80
+ import './Collapse.js';
81
+ import './Status.js';
82
+ import './Avatar.js';
83
+ import './Search.js';
84
+ import './TextLink.js';
85
+ import './Label.js';
86
+ import './Paper.js';
87
+ import './Badge.js';
88
+ import './Time.js';
89
+ import './Title.js';
90
+ import './index-b7a33c58.js';
91
+ import './QRCode.js';
92
+ import './Progress.js';
93
+ import './MobileNavigation.js';
94
+ import './Products.js';
95
+ import './Breadcrumb.js';
96
+ import './Section.js';
97
+ import './ColorPicker.js';
98
+ import './NavigationMenu.js';
99
+ import './Textarea.js';
100
+ import './AdvancedSearch.js';
101
+ import './LinkButton.js';
102
+
103
+ var FormableMultiSelectDropdown = Formable(MultiSelectDropdownField);
104
+
105
+ export { FormableMultiSelectDropdown as default };