@unbxd-ui/unbxd-react-components 0.2.220 → 0.3.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.
Files changed (112) hide show
  1. package/README.md +17 -1
  2. package/components/Accordian/Accordian.js +14 -11
  3. package/components/Accordian/Accordian.stories.js +141 -118
  4. package/components/Accordian/index.js +1 -1
  5. package/components/Button/Button.js +4 -4
  6. package/components/Button/Button.stories.js +168 -62
  7. package/components/Button/DropdownButton.js +5 -6
  8. package/components/Button/buttonTheme.css +1 -1
  9. package/components/Button/index.js +2 -3
  10. package/components/DataLoader/DataLoader.js +6 -7
  11. package/components/DataLoader/DataLoader.stories.js +244 -58
  12. package/components/DataLoader/index.js +1 -1
  13. package/components/Form/Checkbox.js +12 -11
  14. package/components/Form/DragDropFileUploader.js +6 -7
  15. package/components/Form/Dropdown.js +14 -12
  16. package/components/Form/FileUploader.js +3 -4
  17. package/components/Form/Form.js +6 -7
  18. package/components/Form/FormElementWrapper.js +1 -1
  19. package/components/Form/Input.js +24 -15
  20. package/components/Form/RadioList.js +8 -9
  21. package/components/Form/RangeSlider.js +12 -13
  22. package/components/Form/SearchableDropdown.js +563 -0
  23. package/components/Form/ServerPaginatedDDList.js +56 -41
  24. package/components/Form/Textarea.js +26 -10
  25. package/components/Form/Toggle.js +6 -7
  26. package/components/Form/formCore.css +1 -1
  27. package/components/Form/formTheme.css +1 -1
  28. package/components/Form/index.js +8 -1
  29. package/components/Form/stories/Checkbox.stories.js +139 -40
  30. package/components/Form/stories/Dropdown.stories.js +323 -92
  31. package/components/Form/stories/FileUploader.stories.js +178 -19
  32. package/components/Form/stories/Input.stories.js +115 -0
  33. package/components/Form/stories/RangeSlider.stories.js +162 -64
  34. package/components/Form/stories/SearchableDropdown.stories.js +189 -0
  35. package/components/Form/stories/ServerPaginatedDropdown.stories.js +365 -0
  36. package/components/Form/stories/Textarea.stories.js +113 -34
  37. package/components/Form/stories/Toggle.stories.js +193 -14
  38. package/components/Form/variables.css +0 -0
  39. package/components/InlineModal/InlineModal.js +119 -21
  40. package/components/InlineModal/InlineModal.stories.js +239 -45
  41. package/components/InlineModal/index.js +1 -2
  42. package/components/InlineModal/inlineModalCore.css +1 -1
  43. package/components/List/List.js +11 -8
  44. package/components/List/List.stories.js +238 -0
  45. package/components/List/index.js +1 -1
  46. package/components/Modal/Modal.js +67 -20
  47. package/components/Modal/Modal.stories.js +257 -38
  48. package/components/Modal/index.js +1 -1
  49. package/components/Modal/modalCore.css +1 -1
  50. package/components/NoDataPlaceholder/NoDataPlaceholder.js +41 -0
  51. package/components/NoDataPlaceholder/NoDataPlaceholder.stories.js +42 -0
  52. package/components/NoDataPlaceholder/index.js +9 -0
  53. package/components/NoDataPlaceholder/noDataPlaceholderCore.css +1 -0
  54. package/components/NotificationComponent/NotificationComponent.js +20 -10
  55. package/components/NotificationComponent/NotificationComponent.stories.js +171 -19
  56. package/components/NotificationComponent/index.js +1 -1
  57. package/components/NotificationComponent/notificationTheme.css +1 -1
  58. package/components/PageLoader/PageLoader.js +84 -0
  59. package/components/PageLoader/PageLoader.stories.js +276 -0
  60. package/components/PageLoader/index.js +9 -0
  61. package/components/PageLoader/pageLoaderCore.css +1 -0
  62. package/components/ProgressBar/ProgressBar.css +0 -0
  63. package/components/ProgressBar/ProgressBar.js +1 -1
  64. package/components/ProgressBar/ProgressBar.stories.js +203 -10
  65. package/components/ProgressBar/index.js +1 -1
  66. package/components/ProgressBar/progressBarCore.css +1 -1
  67. package/components/Table/BaseTable.js +86 -342
  68. package/components/Table/PaginationComponent.js +4 -4
  69. package/components/Table/Table.js +7 -326
  70. package/components/Table/Table.stories.js +2117 -158
  71. package/components/Table/TableChild.js +383 -0
  72. package/components/Table/TableConstants.js +15 -0
  73. package/components/Table/hooks/usePrevious.js +14 -0
  74. package/components/Table/index.js +14 -1
  75. package/components/Table/tableCore.css +1 -1
  76. package/components/TableOld/BaseTable.js +373 -0
  77. package/components/TableOld/PaginationComponent.js +86 -0
  78. package/components/TableOld/TableOld.js +367 -0
  79. package/components/TableOld/index.js +15 -0
  80. package/components/TabsComponent/TabsComponent.js +6 -7
  81. package/components/TabsComponent/TabsComponent.stories.js +291 -53
  82. package/components/TabsComponent/index.js +1 -1
  83. package/components/ToastNotification/ToastNotificationWrapper.js +212 -0
  84. package/components/ToastNotification/ToastNotificationWrapper.stories.js +554 -0
  85. package/components/ToastNotification/index.js +40 -0
  86. package/components/ToastNotification/toastNotificationCore.css +1 -0
  87. package/components/Tooltip/Tooltip.js +231 -56
  88. package/components/Tooltip/Tooltip.stories.js +380 -15
  89. package/components/Tooltip/index.js +1 -1
  90. package/components/Tooltip/tooltipCore.css +1 -1
  91. package/components/Tooltip/tooltipTheme.css +1 -1
  92. package/components/common/NoDataDropdown.js +50 -0
  93. package/components/common/common.css +1 -0
  94. package/components/core.css +2 -3
  95. package/components/core.scss +20 -1
  96. package/components/index.js +66 -3
  97. package/components/theme.css +2 -3
  98. package/core/Validators.js +1 -1
  99. package/core/customHooks.js +4 -4
  100. package/core/dataLoader.js +58 -17
  101. package/core/index.js +1 -1
  102. package/core/utils.js +15 -4
  103. package/index.js +54 -0
  104. package/package.json +41 -28
  105. package/components/Button/DropdownButton.stories.js +0 -49
  106. package/components/Form/stories/DragDropFileUploader.stories.js +0 -25
  107. package/components/Form/stories/FormDefault.stories.js +0 -115
  108. package/components/Form/stories/RadioList.stories.js +0 -53
  109. package/components/Form/stories/TextInput.stories.js +0 -76
  110. package/components/Form/stories/form.stories.js +0 -233
  111. package/components/List/list.stories.js +0 -35
  112. package/core/dataLoader.stories.js +0 -119
@@ -4,56 +4,250 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = exports.SimpleUsage = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _addonLinks = require("@storybook/addon-links");
10
- var _Constants = require("../../../public/Constants");
7
+ exports["default"] = exports.RightAligned = exports.Interactive = exports.HoverTriggered = exports.Controlled = exports.ComplexContent = exports.ClickTriggered = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
11
9
  var _InlineModal = _interopRequireWildcard(require("./InlineModal"));
12
- var _ = require("../");
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
15
- /* eslint-disable react/prop-types */
16
- var CustomListItem = function CustomListItem(props) {
17
- var itemData = props.itemData;
18
- var id = itemData.id,
19
- name = itemData.name;
20
- return /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("input", {
21
- type: "checkbox",
22
- id: id
23
- }), /*#__PURE__*/_react["default"].createElement("label", {
24
- htmlFor: id
25
- }, name));
10
+ var _Button = _interopRequireWildcard(require("../Button/Button"));
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
14
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
17
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
18
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
+ var meta = {
20
+ title: 'Components/InlineModal',
21
+ component: _InlineModal["default"],
22
+ parameters: {
23
+ layout: 'centered'
24
+ },
25
+ tags: ['autodocs'],
26
+ argTypes: {
27
+ halign: {
28
+ control: 'select',
29
+ options: ['left', 'right'],
30
+ description: 'Horizontal alignment of the modal body'
31
+ },
32
+ activatorAction: {
33
+ control: 'radio',
34
+ options: ['click', 'hover'],
35
+ description: 'Event that triggers the modal'
36
+ },
37
+ isModalOpen: {
38
+ control: 'boolean',
39
+ description: 'Controls the modal visibility'
40
+ },
41
+ closeOnOutsideClick: {
42
+ control: 'boolean',
43
+ description: 'Whether to close the modal when clicking outside'
44
+ },
45
+ closeOnBodyClick: {
46
+ control: 'boolean',
47
+ description: 'Whether to close the modal when clicking inside the modal body'
48
+ }
49
+ }
50
+ };
51
+ var _default = exports["default"] = meta; // Basic click-triggered modal
52
+ var ClickTriggered = exports.ClickTriggered = {
53
+ render: function render() {
54
+ return /*#__PURE__*/_react["default"].createElement("div", {
55
+ style: {
56
+ padding: '50px'
57
+ }
58
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal["default"], null, /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
59
+ appearance: _Button.ButtonAppearance.PRIMARY
60
+ }, "Click me")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement("div", {
61
+ style: {
62
+ padding: '20px',
63
+ background: 'white',
64
+ border: '1px solid #eee',
65
+ borderRadius: '4px',
66
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
67
+ width: '200px'
68
+ }
69
+ }, "This is the modal content"))));
70
+ }
26
71
  };
27
- /* eslint-enable react/prop-types */
28
72
 
29
- var SimpleUsage = exports.SimpleUsage = function SimpleUsage() {
30
- var onModalStateChange = function onModalStateChange(isModalOpen) {
31
- console.log("Modal state change 1");
32
- console.log({
33
- isModalOpen: isModalOpen
34
- });
35
- };
36
- return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement(_InlineModal["default"], {
37
- onModalStateChange: onModalStateChange
38
- }, /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement("div", null, "Select a fruit")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement(_.List, {
39
- items: _Constants.FRUITS_LIST,
40
- showApp: (0, _addonLinks.linkTo)("List"),
41
- ListItem: CustomListItem
42
- }))));
73
+ // Hover-triggered modal
74
+ var HoverTriggered = exports.HoverTriggered = {
75
+ render: function render() {
76
+ return /*#__PURE__*/_react["default"].createElement("div", {
77
+ style: {
78
+ padding: '50px'
79
+ }
80
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal["default"], {
81
+ activatorAction: "hover"
82
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
83
+ appearance: _Button.ButtonAppearance.SECONDARY
84
+ }, "Hover me")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement("div", {
85
+ style: {
86
+ padding: '20px',
87
+ background: 'white',
88
+ border: '1px solid #eee',
89
+ borderRadius: '4px',
90
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
91
+ width: '200px'
92
+ }
93
+ }, "Hover content"))));
94
+ }
43
95
  };
44
- SimpleUsage.story = {
45
- parameters: {
46
- info: {
47
- text: "Displaying a dropdown list of items"
48
- }
96
+
97
+ // Right-aligned modal
98
+ var RightAligned = exports.RightAligned = {
99
+ render: function render() {
100
+ return /*#__PURE__*/_react["default"].createElement("div", {
101
+ style: {
102
+ padding: '50px'
103
+ }
104
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal["default"], {
105
+ halign: "right"
106
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], null, "Right aligned")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement("div", {
107
+ style: {
108
+ padding: '20px',
109
+ background: 'white',
110
+ border: '1px solid #eee',
111
+ borderRadius: '4px',
112
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
113
+ width: '200px'
114
+ }
115
+ }, "Right-aligned content"))));
49
116
  }
50
117
  };
51
- var _default = exports["default"] = {
52
- title: "Modals|Inline modal",
53
- parameters: {
54
- info: {
55
- propTables: [_InlineModal["default"], _InlineModal.InlineModalActivator, _InlineModal.InlineModalBody],
56
- propTablesExclude: [_.List]
57
- }
118
+
119
+ // Controlled modal
120
+ var Controlled = exports.Controlled = {
121
+ render: function render() {
122
+ var _React$useState = _react["default"].useState(false),
123
+ _React$useState2 = _slicedToArray(_React$useState, 2),
124
+ isOpen = _React$useState2[0],
125
+ setIsOpen = _React$useState2[1];
126
+ var modalRef = _react["default"].useRef(null);
127
+ return /*#__PURE__*/_react["default"].createElement("div", {
128
+ style: {
129
+ padding: '50px'
130
+ }
131
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal["default"], {
132
+ isModalOpen: isOpen
133
+ // onModalStateChange={(state) => {
134
+ // console.log('Modal state changed:', state);
135
+ // setIsOpen(state);
136
+ // }}
137
+ ,
138
+ ref: modalRef
139
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
140
+ appearance: _Button.ButtonAppearance.PRIMARY,
141
+ size: _Button.ButtonSize.MEDIUM
142
+ }, "Controlled Modal")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement("div", {
143
+ style: {
144
+ padding: '20px',
145
+ background: 'white',
146
+ border: '1px solid #eee',
147
+ borderRadius: '4px',
148
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
149
+ width: '200px'
150
+ }
151
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Controlled modal content"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
152
+ appearance: _Button.ButtonAppearance.SECONDARY,
153
+ onClick: function onClick() {
154
+ modalRef.current.hideModal();
155
+ },
156
+ style: {
157
+ marginTop: '10px'
158
+ }
159
+ }, "Close Modal")))));
160
+ }
161
+ };
162
+
163
+ // Complex content example
164
+ var ComplexContent = exports.ComplexContent = {
165
+ render: function render() {
166
+ var modalRef = _react["default"].useRef(null);
167
+ return /*#__PURE__*/_react["default"].createElement("div", {
168
+ style: {
169
+ padding: '50px'
170
+ }
171
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal["default"], {
172
+ ref: modalRef
173
+ }, /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
174
+ appearance: _Button.ButtonAppearance.PRIMARY,
175
+ size: _Button.ButtonSize.LARGE
176
+ }, "Open Complex Modal")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement("div", {
177
+ style: {
178
+ padding: '20px',
179
+ background: 'white',
180
+ border: '1px solid #eee',
181
+ borderRadius: '4px',
182
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
183
+ width: '300px'
184
+ }
185
+ }, /*#__PURE__*/_react["default"].createElement("h3", {
186
+ style: {
187
+ margin: '0 0 10px 0'
188
+ }
189
+ }, "Complex Modal"), /*#__PURE__*/_react["default"].createElement("div", {
190
+ style: {
191
+ marginBottom: '15px'
192
+ }
193
+ }, /*#__PURE__*/_react["default"].createElement("input", {
194
+ type: "text",
195
+ placeholder: "Enter some text",
196
+ style: {
197
+ width: '100%',
198
+ padding: '8px',
199
+ border: '1px solid #ddd',
200
+ borderRadius: '4px'
201
+ }
202
+ })), /*#__PURE__*/_react["default"].createElement("div", {
203
+ style: {
204
+ marginBottom: '15px'
205
+ }
206
+ }, /*#__PURE__*/_react["default"].createElement("select", {
207
+ style: {
208
+ width: '100%',
209
+ padding: '8px',
210
+ border: '1px solid #ddd',
211
+ borderRadius: '4px'
212
+ }
213
+ }, /*#__PURE__*/_react["default"].createElement("option", null, "Option 1"), /*#__PURE__*/_react["default"].createElement("option", null, "Option 2"), /*#__PURE__*/_react["default"].createElement("option", null, "Option 3"))), /*#__PURE__*/_react["default"].createElement("div", {
214
+ style: {
215
+ display: 'flex',
216
+ justifyContent: 'flex-end',
217
+ gap: '10px'
218
+ }
219
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
220
+ appearance: _Button.ButtonAppearance.SECONDARY,
221
+ onClick: function onClick() {
222
+ return modalRef.current.hideModal();
223
+ }
224
+ }, "Cancel"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
225
+ appearance: _Button.ButtonAppearance.PRIMARY,
226
+ onClick: function onClick() {
227
+ return modalRef.current.hideModal();
228
+ }
229
+ }, "Submit"))))));
230
+ }
231
+ };
232
+
233
+ // Interactive example
234
+ var Interactive = exports.Interactive = {
235
+ args: {
236
+ halign: 'left',
237
+ activatorAction: 'click',
238
+ closeOnOutsideClick: true,
239
+ closeOnBodyClick: false,
240
+ children: [/*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalActivator, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
241
+ appearance: _Button.ButtonAppearance.PRIMARY
242
+ }, "Interactive Modal")), /*#__PURE__*/_react["default"].createElement(_InlineModal.InlineModalBody, null, /*#__PURE__*/_react["default"].createElement("div", {
243
+ style: {
244
+ padding: '20px',
245
+ background: 'white',
246
+ border: '1px solid #eee',
247
+ borderRadius: '4px',
248
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
249
+ width: '200px'
250
+ }
251
+ }, "Interactive modal content"))]
58
252
  }
59
253
  };
@@ -18,6 +18,5 @@ Object.defineProperty(exports, "InlineModalBody", {
18
18
  });
19
19
  exports["default"] = void 0;
20
20
  var _InlineModal = _interopRequireWildcard(require("./InlineModal"));
21
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
22
  var _default = exports["default"] = _InlineModal["default"];
@@ -1 +1 @@
1
- .RCB-inline-modal{position:relative;display:inline-block}.RCB-inline-modal.hover-open .RCB-inline-modal-body{display:none}.RCB-inline-modal.hover-open:hover .RCB-inline-modal-body{display:block}.RCB-inline-modal-body{position:absolute;z-index:1}.RCB-inline-modal-body.RCB-align-left{left:0}.RCB-inline-modal-body.RCB-align-right{right:0}
1
+ .RCB-inline-modal{position:relative;display:inline-block}.RCB-inline-modal.hover-open .RCB-inline-modal-body{display:none}.RCB-inline-modal.hover-open:hover .RCB-inline-modal-body{display:block}.RCB-inline-modal-body{background-color:#fff;border:1px solid #DDE2EE;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:0px 5px 15px 0px rgba(23,23,58,0.14902);max-height:300px;overflow-y:scroll;overflow-x:hidden;position:absolute;width:100%;z-index:1}.RCB-inline-modal-body.RCB-align-left{left:0}.RCB-inline-modal-body.RCB-align-right{right:0}
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _excluded = ["className", "items", "idAttribute", "ListItem", "showNoDataMsg", "noDataComponent"];
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
13
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
9
+ var _NoDataDropdown = _interopRequireDefault(require("../common/NoDataDropdown"));
10
+ var _excluded = ["className", "items", "idAttribute", "ListItem", "showNoDataMsg", "noDataComponent", "searchQuery"];
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ 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); }
13
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
14
15
  var ListItem = function ListItem(props) {
15
16
  var _props$itemData = props.itemData,
16
17
  itemData = _props$itemData === void 0 ? {} : _props$itemData;
@@ -33,9 +34,12 @@ var List = function List(props) {
33
34
  ListItem = props.ListItem,
34
35
  showNoDataMsg = props.showNoDataMsg,
35
36
  noDataComponent = props.noDataComponent,
37
+ searchQuery = props.searchQuery,
36
38
  restProps = _objectWithoutProperties(props, _excluded);
37
39
  if (!items.length && showNoDataMsg) {
38
- return noDataComponent;
40
+ return /*#__PURE__*/_react["default"].createElement(_NoDataDropdown["default"], _extends({
41
+ searchQuery: searchQuery
42
+ }, restProps));
39
43
  }
40
44
  return /*#__PURE__*/_react["default"].createElement("ul", {
41
45
  className: "RCB-list ".concat(className)
@@ -69,7 +73,6 @@ List.defaultProps = {
69
73
  className: "",
70
74
  items: [],
71
75
  idAttribute: "id",
72
- ListItem: ListItem,
73
- noDataComponent: /*#__PURE__*/_react["default"].createElement(DefaultNoDataComponent, null)
76
+ ListItem: ListItem
74
77
  };
75
78
  var _default = exports["default"] = List;
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.WithCustomListItem = exports.Interactive = exports.EmptyList = exports.Default = exports.CustomStyling = exports.ComplexList = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _List = _interopRequireDefault(require("./List"));
10
+ var _Button = _interopRequireWildcard(require("../Button/Button"));
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
+ var meta = {
14
+ title: 'Components/List',
15
+ component: _List["default"],
16
+ parameters: {
17
+ layout: 'centered'
18
+ },
19
+ tags: ['autodocs'],
20
+ argTypes: {
21
+ className: {
22
+ control: 'text',
23
+ description: 'Additional CSS classes for the list'
24
+ },
25
+ items: {
26
+ control: 'object',
27
+ description: 'Array of items to display in the list'
28
+ },
29
+ idAttribute: {
30
+ control: 'text',
31
+ description: 'The attribute to use as the unique identifier for items'
32
+ },
33
+ showNoDataMsg: {
34
+ control: 'boolean',
35
+ description: 'Whether to show a message when there are no items'
36
+ }
37
+ }
38
+ };
39
+ var _default = exports["default"] = meta; // Sample data
40
+ var sampleItems = [{
41
+ id: '1',
42
+ name: 'Item 1'
43
+ }, {
44
+ id: '2',
45
+ name: 'Item 2'
46
+ }, {
47
+ id: '3',
48
+ name: 'Item 3'
49
+ }, {
50
+ id: '4',
51
+ name: 'Item 4'
52
+ }, {
53
+ id: '5',
54
+ name: 'Item 5'
55
+ }];
56
+
57
+ // Basic list
58
+ var Default = exports.Default = {
59
+ render: function render() {
60
+ return /*#__PURE__*/_react["default"].createElement("div", {
61
+ style: {
62
+ width: '300px',
63
+ border: '1px solid #eee',
64
+ borderRadius: '4px'
65
+ }
66
+ }, /*#__PURE__*/_react["default"].createElement(_List["default"], {
67
+ items: sampleItems
68
+ }));
69
+ }
70
+ };
71
+
72
+ // Empty list with no data message
73
+ var EmptyList = exports.EmptyList = {
74
+ render: function render() {
75
+ return /*#__PURE__*/_react["default"].createElement("div", {
76
+ style: {
77
+ width: '300px',
78
+ border: '1px solid #eee',
79
+ borderRadius: '4px'
80
+ }
81
+ }, /*#__PURE__*/_react["default"].createElement(_List["default"], {
82
+ items: [],
83
+ showNoDataMsg: true
84
+ }));
85
+ }
86
+ };
87
+
88
+ // Custom list item component
89
+ var CustomListItem = function CustomListItem(_ref) {
90
+ var itemData = _ref.itemData;
91
+ return /*#__PURE__*/_react["default"].createElement("li", {
92
+ className: "RCB-list-item",
93
+ style: {
94
+ display: 'flex',
95
+ justifyContent: 'space-between',
96
+ alignItems: 'center',
97
+ padding: '10px',
98
+ borderBottom: '1px solid #eee'
99
+ }
100
+ }, /*#__PURE__*/_react["default"].createElement("span", null, itemData.name), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
101
+ appearance: _Button.ButtonAppearance.SECONDARY,
102
+ onClick: function onClick() {
103
+ return console.log('Clicked:', itemData);
104
+ },
105
+ size: "small"
106
+ }, "View"));
107
+ };
108
+ var WithCustomListItem = exports.WithCustomListItem = {
109
+ render: function render() {
110
+ return /*#__PURE__*/_react["default"].createElement("div", {
111
+ style: {
112
+ width: '300px',
113
+ border: '1px solid #eee',
114
+ borderRadius: '4px'
115
+ }
116
+ }, /*#__PURE__*/_react["default"].createElement(_List["default"], {
117
+ items: sampleItems,
118
+ ListItem: CustomListItem
119
+ }));
120
+ }
121
+ };
122
+
123
+ // List with custom styling
124
+ var CustomStyling = exports.CustomStyling = {
125
+ render: function render() {
126
+ return /*#__PURE__*/_react["default"].createElement("div", {
127
+ style: {
128
+ width: '300px'
129
+ }
130
+ }, /*#__PURE__*/_react["default"].createElement(_List["default"], {
131
+ items: sampleItems,
132
+ className: "custom-list",
133
+ ListItem: function ListItem(_ref2) {
134
+ var itemData = _ref2.itemData;
135
+ return /*#__PURE__*/_react["default"].createElement("li", {
136
+ style: {
137
+ padding: '12px',
138
+ margin: '8px',
139
+ backgroundColor: '#f5f5f5',
140
+ borderRadius: '8px',
141
+ boxShadow: '0 2px 4px rgba(0,0,0,0.05)',
142
+ transition: 'all 0.2s ease',
143
+ cursor: 'pointer',
144
+ ':hover': {
145
+ backgroundColor: '#e9e9e9'
146
+ }
147
+ }
148
+ }, itemData.name);
149
+ }
150
+ }));
151
+ }
152
+ };
153
+
154
+ // List with complex items
155
+ var complexItems = [{
156
+ id: '1',
157
+ name: 'John Doe',
158
+ email: 'john@example.com',
159
+ role: 'Admin',
160
+ status: 'Active'
161
+ }, {
162
+ id: '2',
163
+ name: 'Jane Smith',
164
+ email: 'jane@example.com',
165
+ role: 'User',
166
+ status: 'Inactive'
167
+ }, {
168
+ id: '3',
169
+ name: 'Bob Johnson',
170
+ email: 'bob@example.com',
171
+ role: 'Editor',
172
+ status: 'Active'
173
+ }];
174
+ var ComplexListItem = function ComplexListItem(_ref3) {
175
+ var itemData = _ref3.itemData;
176
+ return /*#__PURE__*/_react["default"].createElement("li", {
177
+ className: "RCB-list-item",
178
+ style: {
179
+ padding: '15px',
180
+ borderBottom: '1px solid #eee',
181
+ display: 'grid',
182
+ gridTemplateColumns: 'repeat(4, 1fr)',
183
+ gap: '10px',
184
+ alignItems: 'center'
185
+ }
186
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
187
+ style: {
188
+ fontWeight: 'bold'
189
+ }
190
+ }, itemData.name), /*#__PURE__*/_react["default"].createElement("div", {
191
+ style: {
192
+ fontSize: '0.9em',
193
+ color: '#666'
194
+ }
195
+ }, itemData.email)), /*#__PURE__*/_react["default"].createElement("div", null, itemData.role), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", {
196
+ style: {
197
+ padding: '4px 8px',
198
+ borderRadius: '12px',
199
+ backgroundColor: itemData.status === 'Active' ? '#e6f4ea' : '#fce8e6',
200
+ color: itemData.status === 'Active' ? '#137333' : '#c5221f',
201
+ fontSize: '0.9em'
202
+ }
203
+ }, itemData.status)), /*#__PURE__*/_react["default"].createElement("div", {
204
+ style: {
205
+ justifySelf: 'end'
206
+ }
207
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
208
+ appearance: _Button.ButtonAppearance.PRIMARY,
209
+ onClick: function onClick() {
210
+ return console.log('Edit:', itemData);
211
+ }
212
+ }, "Edit")));
213
+ };
214
+ var ComplexList = exports.ComplexList = {
215
+ render: function render() {
216
+ return /*#__PURE__*/_react["default"].createElement("div", {
217
+ style: {
218
+ width: '800px',
219
+ border: '1px solid #eee',
220
+ borderRadius: '4px',
221
+ backgroundColor: 'white'
222
+ }
223
+ }, /*#__PURE__*/_react["default"].createElement(_List["default"], {
224
+ items: complexItems,
225
+ ListItem: ComplexListItem
226
+ }));
227
+ }
228
+ };
229
+
230
+ // Interactive example
231
+ var Interactive = exports.Interactive = {
232
+ args: {
233
+ items: sampleItems,
234
+ showNoDataMsg: true,
235
+ idAttribute: 'id',
236
+ className: ''
237
+ }
238
+ };
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _List = _interopRequireDefault(require("./List"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
9
  var _default = exports["default"] = _List["default"];