@unbxd-ui/unbxd-react-components 0.2.145-beta.1 → 0.2.145-beta.10

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 (66) hide show
  1. package/README.md +14 -2
  2. package/components/Accordian/Accordian.stories.js +140 -116
  3. package/components/Button/Button.stories.js +166 -59
  4. package/components/DataLoader/DataLoader.stories.js +239 -52
  5. package/components/Form/Checkbox.js +4 -2
  6. package/components/Form/SearchableDropdown.js +7 -4
  7. package/components/Form/formCore.css +1 -1
  8. package/components/Form/stories/Checkbox.stories.js +138 -38
  9. package/components/Form/stories/Dropdown.stories.js +322 -91
  10. package/components/Form/stories/FileUploader.stories.js +177 -18
  11. package/components/Form/stories/Input.stories.js +115 -0
  12. package/components/Form/stories/RangeSlider.stories.js +161 -62
  13. package/components/Form/stories/SearchableDropdown.stories.js +189 -0
  14. package/components/Form/stories/ServerPaginatedDropdown.stories.js +365 -0
  15. package/components/Form/stories/Textarea.stories.js +112 -32
  16. package/components/Form/stories/Toggle.stories.js +192 -13
  17. package/components/Form/variables.css +0 -0
  18. package/components/InlineModal/InlineModal.stories.js +238 -43
  19. package/components/InlineModal/inlineModalCore.css +1 -1
  20. package/components/List/List.stories.js +238 -0
  21. package/components/Modal/Modal.stories.js +256 -36
  22. package/components/Modal/modalCore.css +1 -1
  23. package/components/NotificationComponent/NotificationComponent.stories.js +170 -18
  24. package/components/PageLoader/PageLoader.js +84 -0
  25. package/components/PageLoader/PageLoader.stories.js +276 -0
  26. package/components/PageLoader/index.js +9 -0
  27. package/components/PageLoader/pageLoaderCore.css +1 -0
  28. package/components/ProgressBar/ProgressBar.css +0 -0
  29. package/components/ProgressBar/ProgressBar.stories.js +202 -9
  30. package/components/ProgressBar/progressBarCore.css +1 -1
  31. package/components/Table/BaseTable.js +84 -353
  32. package/components/Table/Table.js +5 -357
  33. package/components/Table/Table.stories.js +2108 -148
  34. package/components/Table/TableChild.js +379 -0
  35. package/components/Table/TableConstants.js +15 -0
  36. package/components/Table/hooks/usePrevious.js +14 -0
  37. package/components/Table/index.js +13 -0
  38. package/components/Table/tableCore.css +1 -1
  39. package/components/TableOld/BaseTable.js +373 -0
  40. package/components/TableOld/PaginationComponent.js +86 -0
  41. package/components/TableOld/TableOld.js +367 -0
  42. package/components/TableOld/index.js +15 -0
  43. package/components/TabsComponent/TabsComponent.stories.js +290 -52
  44. package/components/ToastNotification/ToastNotificationWrapper.js +212 -0
  45. package/components/ToastNotification/ToastNotificationWrapper.stories.js +554 -0
  46. package/components/ToastNotification/index.js +40 -0
  47. package/components/ToastNotification/toastNotificationCore.css +1 -0
  48. package/components/Tooltip/Tooltip.js +219 -80
  49. package/components/Tooltip/Tooltip.stories.js +379 -14
  50. package/components/Tooltip/tooltipCore.css +1 -1
  51. package/components/Tooltip/tooltipTheme.css +1 -1
  52. package/components/core.css +2 -2
  53. package/components/core.scss +17 -0
  54. package/components/index.js +51 -0
  55. package/components/theme.css +2 -2
  56. package/core/dataLoader.js +5 -2
  57. package/index.js +48 -0
  58. package/package.json +30 -19
  59. package/components/Button/DropdownButton.stories.js +0 -48
  60. package/components/Form/stories/DragDropFileUploader.stories.js +0 -25
  61. package/components/Form/stories/FormDefault.stories.js +0 -114
  62. package/components/Form/stories/RadioList.stories.js +0 -52
  63. package/components/Form/stories/TextInput.stories.js +0 -75
  64. package/components/Form/stories/form.stories.js +0 -232
  65. package/components/List/list.stories.js +0 -35
  66. package/core/dataLoader.stories.js +0 -118
@@ -1,73 +1,260 @@
1
1
  "use strict";
2
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
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = exports.SimpleUsage = exports.FunctionUrl = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
6
+ exports["default"] = exports.WithErrorHandling = exports.WithDifferentLoaderStates = exports.WithCustomLoader = exports.MultipleRequests = exports.Interactive = exports.Default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
9
8
  var _DataLoader = _interopRequireDefault(require("./DataLoader"));
9
+ var _PageLoader = _interopRequireDefault(require("../PageLoader"));
10
10
  var _dataLoader = _interopRequireDefault(require("../../core/dataLoader"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
- 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); }
13
12
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
14
13
  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
14
  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
15
  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
16
  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
17
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
- var SimpleUsage = exports.SimpleUsage = function SimpleUsage() {
20
- _dataLoader["default"].addRequestConfig("getTodos", {
21
- method: "GET",
22
- url: "https://jsonplaceholder.typicode.com/todos"
18
+ // Set up all request configurations globally
19
+ _dataLoader["default"].addRequestConfig('users', {
20
+ url: 'https://jsonplaceholder.typicode.com/users',
21
+ method: 'GET'
22
+ });
23
+ _dataLoader["default"].addRequestConfig('posts', {
24
+ url: 'https://jsonplaceholder.typicode.com/posts',
25
+ method: 'GET'
26
+ });
27
+ _dataLoader["default"].addRequestConfig('comments', {
28
+ url: 'https://jsonplaceholder.typicode.com/comments',
29
+ method: 'GET'
30
+ });
31
+ _dataLoader["default"].addRequestConfig('invalid', {
32
+ url: 'https://invalid-url.com/data',
33
+ method: 'GET'
34
+ });
35
+
36
+ // Mock API endpoints
37
+ var mockRequests = [{
38
+ requestId: 'users',
39
+ urlParams: {},
40
+ params: {
41
+ page: 1
42
+ }
43
+ }, {
44
+ requestId: 'posts',
45
+ urlParams: {},
46
+ params: {
47
+ limit: 5
48
+ }
49
+ }];
50
+
51
+ // Custom loader component using PageLoader
52
+ var CustomLoader = function CustomLoader() {
53
+ return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
54
+ header: "Loading Data",
55
+ messages: ['Fetching from API...', 'Processing data...', 'Almost ready...'],
56
+ showLoader: true
23
57
  });
24
- var onDataLoaded = function onDataLoaded(_ref) {
25
- var _ref2 = _slicedToArray(_ref, 1),
26
- todos = _ref2[0];
27
- console.log(todos);
28
- };
29
- var onDataFailed = function onDataFailed(e) {
30
- console.log("Error ", e);
31
- };
32
- var requests = [{
33
- requestId: "getTodos"
34
- }];
35
- return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement("p", null, "Use the ", /*#__PURE__*/_react["default"].createElement("code", null, "DataLoader"), " component to make implicit API calls by wrapping the JSX content where you want the API data with this component. This would mostly be used for GET calls."), /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
36
- requests: requests,
37
- onDataLoaded: onDataLoaded,
38
- onDataFailed: onDataFailed
39
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Received the data")));
40
58
  };
41
- var FunctionUrl = exports.FunctionUrl = function FunctionUrl() {
42
- _dataLoader["default"].addRequestConfig("getTodoById", {
43
- method: "GET",
44
- url: function url(params) {
45
- return "https://jsonplaceholder.typicode.com/todos/".concat(params.id);
59
+
60
+ // Custom error component example
61
+ var ErrorDisplay = function ErrorDisplay(_ref) {
62
+ var error = _ref.error;
63
+ return /*#__PURE__*/_react["default"].createElement("div", {
64
+ style: {
65
+ padding: '20px',
66
+ border: '1px solid #ff6b6b',
67
+ borderRadius: '4px',
68
+ color: '#ff6b6b',
69
+ background: '#fff5f5',
70
+ textAlign: 'center'
46
71
  }
47
- });
48
- var onDataLoaded = function onDataLoaded(_ref3) {
49
- var _ref4 = _slicedToArray(_ref3, 1),
50
- todo = _ref4[0];
51
- console.log(todo);
52
- };
53
- var onDataFailed = function onDataFailed(e) {
54
- console.log("Error ", e);
55
- };
56
- var requests = [{
57
- requestId: "getTodoById",
58
- urlParams: {
59
- id: 1
72
+ }, "Error: ", error.message || 'Failed to load data');
73
+ };
74
+ var meta = {
75
+ title: 'Components/DataLoader',
76
+ component: _DataLoader["default"],
77
+ parameters: {
78
+ layout: 'centered'
79
+ },
80
+ tags: ['autodocs'],
81
+ argTypes: {
82
+ requests: {
83
+ control: 'object',
84
+ description: 'Array of request objects to be fetched'
85
+ },
86
+ onDataLoaded: {
87
+ action: 'data loaded',
88
+ description: 'Callback function called when data is loaded successfully'
89
+ },
90
+ onDataFailed: {
91
+ action: 'data failed',
92
+ description: 'Callback function called when data fetching fails'
93
+ },
94
+ Loader: {
95
+ control: 'object',
96
+ description: 'Custom loader component'
60
97
  }
61
- }];
62
- return /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
63
- requests: requests,
64
- onDataLoaded: onDataLoaded,
65
- onDataFailed: onDataFailed
66
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Recieved todo data"));
98
+ }
67
99
  };
68
- FunctionUrl.story = {
69
- name: "Function URL"
100
+ var _default = exports["default"] = meta; // Basic usage with default loader
101
+ var Default = exports.Default = {
102
+ render: function render() {
103
+ return /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
104
+ requests: mockRequests,
105
+ onDataLoaded: function onDataLoaded(results) {
106
+ return console.log('Data loaded:', results);
107
+ },
108
+ onDataFailed: function onDataFailed(error) {
109
+ return console.error('Error:', error);
110
+ }
111
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!"));
112
+ }
70
113
  };
71
- var _default = exports["default"] = {
72
- title: "Data fetching|DataLoader (Component)"
114
+
115
+ // With custom loader
116
+ var WithCustomLoader = exports.WithCustomLoader = {
117
+ render: function render() {
118
+ return /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
119
+ requests: mockRequests,
120
+ Loader: CustomLoader,
121
+ onDataLoaded: function onDataLoaded(results) {
122
+ return console.log('Data loaded:', results);
123
+ },
124
+ onDataFailed: function onDataFailed(error) {
125
+ return console.error('Error:', error);
126
+ }
127
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!"));
128
+ }
129
+ };
130
+
131
+ // With error handling
132
+ var WithErrorHandling = exports.WithErrorHandling = {
133
+ render: function render() {
134
+ var _React$useState = _react["default"].useState(null),
135
+ _React$useState2 = _slicedToArray(_React$useState, 2),
136
+ error = _React$useState2[0],
137
+ setError = _React$useState2[1];
138
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
139
+ requests: [{
140
+ requestId: 'invalid'
141
+ }],
142
+ onDataLoaded: function onDataLoaded(results) {
143
+ console.log('Data loaded:', results);
144
+ setError(null);
145
+ },
146
+ onDataFailed: function onDataFailed(err) {
147
+ console.error('Error:', err);
148
+ setError(err);
149
+ },
150
+ Loader: CustomLoader
151
+ }, error ? /*#__PURE__*/_react["default"].createElement(ErrorDisplay, {
152
+ error: error
153
+ }) : /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!")));
154
+ }
155
+ };
156
+
157
+ // With multiple requests
158
+ var MultipleRequests = exports.MultipleRequests = {
159
+ render: function render() {
160
+ var requests = [{
161
+ requestId: 'users',
162
+ params: {
163
+ limit: 5
164
+ }
165
+ }, {
166
+ requestId: 'posts',
167
+ params: {
168
+ userId: 1
169
+ }
170
+ }, {
171
+ requestId: 'comments',
172
+ params: {
173
+ postId: 1
174
+ }
175
+ }];
176
+ return /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
177
+ requests: requests,
178
+ onDataLoaded: function onDataLoaded(results) {
179
+ return console.log('Multiple requests loaded:', results);
180
+ },
181
+ onDataFailed: function onDataFailed(error) {
182
+ return console.error('Error:', error);
183
+ },
184
+ Loader: CustomLoader
185
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Multiple requests completed!"));
186
+ }
187
+ };
188
+
189
+ // Interactive example
190
+ var Interactive = exports.Interactive = {
191
+ args: {
192
+ requests: mockRequests,
193
+ children: /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!")
194
+ }
195
+ };
196
+
197
+ // Example with different PageLoader configurations
198
+ var WithDifferentLoaderStates = exports.WithDifferentLoaderStates = {
199
+ render: function render() {
200
+ var _React$useState3 = _react["default"].useState('simple'),
201
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
202
+ loadingState = _React$useState4[0],
203
+ setLoadingState = _React$useState4[1];
204
+ var SimpleLoader = function SimpleLoader() {
205
+ return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
206
+ showLoader: true
207
+ });
208
+ };
209
+ var HeaderLoader = function HeaderLoader() {
210
+ return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
211
+ header: "Fetching User Data",
212
+ showLoader: true
213
+ });
214
+ };
215
+ var MessagesLoader = function MessagesLoader() {
216
+ return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
217
+ header: "Loading Dashboard",
218
+ messages: ['Connecting to database...', 'Fetching user preferences...', 'Loading dashboard widgets...', 'Finalizing setup...'],
219
+ showLoader: true
220
+ });
221
+ };
222
+ var getLoader = function getLoader() {
223
+ switch (loadingState) {
224
+ case 'simple':
225
+ return SimpleLoader;
226
+ case 'header':
227
+ return HeaderLoader;
228
+ case 'messages':
229
+ return MessagesLoader;
230
+ default:
231
+ return SimpleLoader;
232
+ }
233
+ };
234
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
235
+ style: {
236
+ marginBottom: '20px'
237
+ }
238
+ }, /*#__PURE__*/_react["default"].createElement("label", null, "Loader Type: "), /*#__PURE__*/_react["default"].createElement("select", {
239
+ value: loadingState,
240
+ onChange: function onChange(e) {
241
+ return setLoadingState(e.target.value);
242
+ }
243
+ }, /*#__PURE__*/_react["default"].createElement("option", {
244
+ value: "simple"
245
+ }, "Simple Loader"), /*#__PURE__*/_react["default"].createElement("option", {
246
+ value: "header"
247
+ }, "With Header"), /*#__PURE__*/_react["default"].createElement("option", {
248
+ value: "messages"
249
+ }, "With Cycling Messages"))), /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
250
+ requests: mockRequests,
251
+ Loader: getLoader(),
252
+ onDataLoaded: function onDataLoaded(results) {
253
+ return console.log('Data loaded:', results);
254
+ },
255
+ onDataFailed: function onDataFailed(error) {
256
+ return console.error('Error:', error);
257
+ }
258
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!")));
259
+ }
73
260
  };
@@ -63,10 +63,12 @@ var Checkbox = function Checkbox(props) {
63
63
  className: className,
64
64
  appearance: appearance
65
65
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({}, inputProps, {
66
- "data-hj-allow": true
66
+ "data-hj-allow": true,
67
+ title: label
67
68
  })), /*#__PURE__*/_react["default"].createElement("label", {
68
69
  className: "RCB-form-el-label",
69
- htmlFor: name
70
+ htmlFor: name,
71
+ title: label
70
72
  }, label));
71
73
  };
72
74
  Checkbox.propTypes = {
@@ -13,7 +13,7 @@ var _FormElementWrapper = _interopRequireDefault(require("./FormElementWrapper")
13
13
  var _ServerPaginatedDDList = _interopRequireDefault(require("./ServerPaginatedDDList"));
14
14
  var _utils = _interopRequireDefault(require("../../core/utils"));
15
15
  var _excluded = ["items", "selectedItems", "selectItem", "idAttribute", "nameAttribute", "DropdownItem", "ListHeaderItem", "showClippedContentTitle", "searchQuery"],
16
- _excluded2 = ["halign", "label", "showLabel", "name", "SelectionSummary", "className", "value", "defaultValue", "onChange", "disabled", "options", "searchPlaceholder", "idAttribute", "nameAttribute", "noSelectionLabel", "appearance", "multiSelect", "DropdownItem", "validations", "paginationType", "requestId", "onItemsRenderedCB", "requestParams", "pageNoKey", "perPageKey", "pageSize", "searchAttribute", "maxHeight", "responseFormatter", "getUrlParams", "showCreateCTA", "createCTAComponent", "onCreateCTAClick", "serverListClassName", "showClear", "onClear", "minPageNo", "LoaderComponent", "ListHeaderItem", "isModalOpen", "onSearchChange", "showClippedContentTitle", "onModalOpenCB", "onModalCloseCB"]; // import InlineModal, { InlineModalActivator, InlineModalBody } from "../InlineModal";
16
+ _excluded2 = ["halign", "label", "showLabel", "name", "SelectionSummary", "className", "value", "defaultValue", "onChange", "disabled", "options", "searchPlaceholder", "idAttribute", "nameAttribute", "noSelectionLabel", "appearance", "multiSelect", "DropdownItem", "validations", "paginationType", "requestId", "onItemsRenderedCB", "requestParams", "pageNoKey", "perPageKey", "pageSize", "searchAttribute", "maxHeight", "responseFormatter", "getUrlParams", "showCreateCTA", "createCTAComponent", "onCreateCTAClick", "serverListClassName", "showClear", "onClear", "minPageNo", "LoaderComponent", "ListHeaderItem", "isModalOpen", "onSearchChange", "showClippedContentTitle", "onModalOpenCB", "onModalCloseCB"];
17
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
18
18
  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); }
19
19
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -297,6 +297,8 @@ var SearchableDropdown = function SearchableDropdown(props, ref) {
297
297
  setSelectedItems(arrayPostValue);
298
298
  if (arrayPostValue.length > 0) {
299
299
  setSearchQuery(arrayPostValue[0][nameAttribute]);
300
+ } else {
301
+ setSearchQuery("");
300
302
  }
301
303
  }
302
304
  postFormValueChange(postValue);
@@ -381,9 +383,10 @@ var SearchableDropdown = function SearchableDropdown(props, ref) {
381
383
  // const inlineModalClasses = "RCB-form-el " + (showCreateCTA ? "RCB-dd-with-create" : "");
382
384
 
383
385
  return /*#__PURE__*/_react["default"].createElement("div", {
384
- ref: ssDDRef
386
+ ref: ssDDRef,
387
+ className: className
385
388
  }, /*#__PURE__*/_react["default"].createElement(_FormElementWrapper["default"], {
386
- className: "RCB-dropdown ".concat(disabled ? "RCB-disabled" : "", " RCB-searchabledd ").concat(className),
389
+ className: "RCB-dropdown ".concat(disabled ? "RCB-disabled" : "", " RCB-searchabledd"),
387
390
  appearance: appearance
388
391
  }, showLabel && /*#__PURE__*/_react["default"].createElement("label", {
389
392
  className: "RCB-form-el-label",
@@ -394,7 +397,7 @@ var SearchableDropdown = function SearchableDropdown(props, ref) {
394
397
  className: "RCB-dd-search-icon"
395
398
  }), /*#__PURE__*/_react["default"].createElement("input", {
396
399
  type: "text",
397
- className: "RCB-dd-search-ip RCB-dd-searchabledd-search-ip",
400
+ className: "RCB-dd-search-ip RCB-dd-searchabledd-search-ip RCB-form-el",
398
401
  placeholder: searchPlaceholder,
399
402
  onChange: onSearchChange,
400
403
  ref: searchIpRef,
@@ -1 +1 @@
1
- .RCB-form-el-inline{margin:20px 0;display:inline-block}.RCB-form-el-inline .RCB-form-el-label{margin-right:15px}.RCB-form-el-inline .RCB-toggle{display:inline-block}.RCB-form-el-block{margin:20px 0}.RCB-form-el-block .RCB-form-el-label{display:block}.RCB-dropdown .RCB-list-item{list-style-type:none;padding:10px;cursor:pointer}.RCB-dropdown .RCB-list-item:hover{background-color:#eee}.RCB-dropdown .RCB-list-item.selected{background-color:#eee}.RCB-dd-with-create .RCB-inline-modal-body{display:flex;flex-direction:column}.RCB-dd-with-create .RCB-inline-modal-body .RCB-list{flex:1;overflow:scroll}.RCB-dd-with-create .RCB-dd-create-cta{padding:10px;text-align:center;border:1px solid #bfbfbf;cursor:pointer}.RCB-clear-selected{background:#f2f0f0;padding:3px 6px;font-size:11px;border-radius:15px;border:1px solid #ccc}.RCB-selection-wrapper{float:right}.RCB-selection-wrapper .RCB-select-arrow{float:unset}.RCB-select-arrow{float:right;font-size:12px;color:#96a9bc;margin-right:12px;margin-left:8px}.RCB-select-arrow:after{content:"\25BC";vertical-align:middle}.RCB-dd-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:70%;vertical-align:top;white-space:nowrap}.RCB-file-input{cursor:pointer}.RCB-drag-drop-uploader{border:2px dashed rgba(104,128,145,0.42);padding:20px;text-align:center}.RCB-drag-over{background:#f3f3f3}.RCB-toggle{padding:2px 3px;background-color:#FFF;border:1px solid #CCC;border-radius:20px;box-sizing:content-box;cursor:pointer}.RCB-toggle.active{background-color:#00C48C}.RCB-toggle.active .RCB-toggle-knob{background-color:#FFF}.RCB-toggle-disable{cursor:not-allowed;opacity:0.8;background-color:#b7b7c6;box-shadow:none}.RCB-toggle-disable.active{background-color:#f6f6f6}.RCB-toggle-knob{background-color:#8399ae;border-radius:50%;-webkit-transition:transform .3s ease;-moz-transition:transform .3s ease;-ms-transition:transform .3s ease;transition:transform .3s ease}.RCB-searchabledd-list-container{position:absolute;z-index:1;width:100%}.RCB-searchabledd{position:relative}
1
+ .search-icon,.RCB-dropdown .RCB-dd-search-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='218 216 16 16'%3E%3Cpath d='M227.01 217.379C231.071 218.805 232.756 223.521 230.554 227.212C230.503 227.297 230.457 227.385 230.393 227.498C230.485 227.598 230.574 227.703 230.671 227.8C231.619 228.749 232.573 229.694 233.517 230.647C234.132 231.267 234.16 232.077 233.601 232.622C233.054 233.155 232.263 233.125 231.653 232.525C230.686 231.574 229.726 230.615 228.777 229.647C228.578 229.444 228.441 229.39 228.169 229.551C225.807 230.953 222.874 230.765 220.648 229.088C218.504 227.473 217.537 224.669 218.213 222.027C218.874 219.442 221.125 217.428 223.788 217.042C223.788 217.042 225.433 216.825 227.01 217.379ZM224.784 228.887C227.639 228.863 229.957 226.523 229.931 223.689C229.905 220.85 227.552 218.551 224.698 218.577C221.883 218.604 219.56 220.969 219.594 223.775C219.628 226.604 221.97 228.91 224.784 228.887Z' fill='%23B2BACB'/%3E%3C/svg%3E");width:16px;height:16px}.down-arrow-dark,.RCB-select-arrow:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='121 122 12 9'%3E%3Cpath d='M127.498 130H127.504C127.674 129.999 127.837 129.921 127.953 129.786L132.832 124.136C133.067 123.864 133.054 123.437 132.803 123.182C132.552 122.928 132.157 122.941 131.922 123.214L127.49 128.346L123.07 123.401C122.831 123.133 122.436 123.127 122.189 123.386C121.943 123.646 121.936 124.073 122.176 124.341L127.051 129.795C127.168 129.926 127.329 130 127.498 130Z' fill='%238592AC' stroke='%238592AC'/%3E%3C/svg%3E");width:13px;height:9px;cursor:pointer}.RCB-form-el-inline{margin:20px 0;display:inline-block}.RCB-form-el-inline .RCB-form-el-label{margin-right:15px}.RCB-form-el-inline .RCB-toggle{display:inline-block}.RCB-form-el-block{margin:20px 0}.RCB-form-el-block .RCB-form-el-label{display:block}.RCB-dropdown .RCB-list-item{list-style-type:none;padding:10px;cursor:pointer}.RCB-dropdown .RCB-list-item:hover{background-color:#F4F8FF;box-shadow:inset 3px 0 0 0 #3E71F2;color:#273251}.RCB-dropdown .RCB-list-item.selected{background-color:#F4F8FF;box-shadow:inset 3px 0 0 0 #3E71F2;color:#273251}.RCB-dd-with-create .RCB-inline-modal-body{display:flex;flex-direction:column}.RCB-dd-with-create .RCB-inline-modal-body .RCB-list{flex:1;overflow:scroll}.RCB-dd-with-create .RCB-dd-create-cta{padding:10px;text-align:center;border:1px solid #bfbfbf;cursor:pointer}.RCB-clear-selected{background:#f2f0f0;padding:3px 6px;font-size:11px;border-radius:15px;border:1px solid #ccc}.RCB-selection-wrapper{float:right}.RCB-selection-wrapper .RCB-select-arrow{float:unset}.RCB-select-arrow{float:right;font-size:12px;color:#96a9bc;margin-right:12px;margin-left:8px}.RCB-select-arrow:after{content:"\25BC";vertical-align:middle}.RCB-dd-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:70%;vertical-align:top;white-space:nowrap}.RCB-file-input{cursor:pointer}.RCB-drag-drop-uploader{border:2px dashed rgba(104,128,145,0.42);padding:20px;text-align:center}.RCB-drag-over{background:#f3f3f3}.RCB-toggle{padding:2px 3px;background-color:#FFF;border:1px solid #CCC;border-radius:20px;box-sizing:content-box;cursor:pointer}.RCB-toggle.active{background-color:#00C48C}.RCB-toggle.active .RCB-toggle-knob{background-color:#FFF}.RCB-toggle-disable{cursor:not-allowed;opacity:0.8;background-color:#b7b7c6;box-shadow:none}.RCB-toggle-disable.active{background-color:#f6f6f6}.RCB-toggle-knob{background-color:#8399ae;border-radius:50%;-webkit-transition:transform .3s ease;-moz-transition:transform .3s ease;-ms-transition:transform .3s ease;transition:transform .3s ease}.RCB-searchabledd-list-container{position:absolute;z-index:1;width:100%}.RCB-searchabledd{position:relative}.disabled-form-el,.RCB-form-el:disabled,.RCB-dropdown.RCB-disabled .RCB-inline-modal-btn{background:#EFEFEF;border-color:#EFEFEF;color:#A0A0A0;cursor:not-allowed}.disabled-form-el:hover,.RCB-form-el:hover:disabled,.RCB-dropdown.RCB-disabled .RCB-inline-modal-btn:hover{border-color:#EFEFEF}form-form-el-cont{margin-bottom:30px}.RCB-form-el-block{margin:30px 0}.RCB-form-el-label{display:inline-block;margin-bottom:8px;color:#17173A;font-size:14px;font-weight:600;letter-spacing:0.42px}.RCB-form-el{color:#17173A;font-size:14px;border-radius:4px;border:1px solid #DDE2EE;padding:10px 15px;width:100%}.RCB-form-el[type="checkbox"]{width:auto}.RCB-form-el.ltr{direction:ltr;text-align:left}.RCB-form-el.ltr+.ltr{text-align:left}.RCB-form-el.rtl{direction:rtl;text-align:right}.RCB-form-el.rtl+.rtl{text-align:right}.RCB-form-el[type="text"],.RCB-form-el[type="number"],.RCB-form-el[type="password"],.RCB-form-el[type="email"]{height:40px;box-sizing:border-box}.RCB-form-el[type="text"]:focus,.RCB-form-el[type="number"]:focus,.RCB-form-el[type="password"]:focus,.RCB-form-el[type="email"]:focus{border-color:#3E71F2;border-radius:4px;box-shadow:0px 0px 0px 4px #DBE7FF;background-color:#FFF;outline:none}.RCB-form-el[type="text"]:hover,.RCB-form-el[type="number"]:hover,.RCB-form-el[type="password"]:hover,.RCB-form-el[type="email"]:hover{border-color:#3E71F2}.RCB-form-el[type="text"]:hover:disabled,.RCB-form-el[type="number"]:hover:disabled,.RCB-form-el[type="password"]:hover:disabled,.RCB-form-el[type="email"]:hover:disabled{border-color:#DDE2EE}.RCB-form-el::placeholder{color:#6F6F8D}.RCB-form-el.error{border-color:#F05C5C}.RCB-form-el.error:hover{border-color:#F05C5C}.RCB-form-el.error:focus{border-color:#F05C5C;box-shadow:0px 0px 0px 4px #F05C5C33;outline:none}.RCB-form-el.warning{border-color:#FFCF5C}.RCB-form-el.warning:hover{border-color:#FFCF5C}.RCB-form-el.warning:focus{border-color:#FFCF5C;box-shadow:0px 0px 0px 4px #FFCF5C33;outline:none}.RCB-form-el.success{border-color:#00C48C}.RCB-form-el.success:hover{border-color:#00C48C}.RCB-form-el.success:focus{border-color:#00C48C;box-shadow:0px 0px 0px 4px #00C48C33;outline:none}.RCB-form-el-cont textarea{font-family:"Nunito Sans", "Helvetica Neue", "Helvetica", "Roboto", "sans-serif"}.RCB-form-el-cont textarea:focus{border-color:#3E71F2;border-radius:4px;box-shadow:0px 0px 0px 4px #DBE7FF;background-color:#FFF;outline:none}.RCB-form-el-cont textarea:hover{border-color:#3E71F2}.RCB-form-el-cont.error .RCB-form-el{border-color:#F05C5C}.RCB-form-el-cont.error .RCB-form-el:hover{border-color:#F05C5C}.RCB-form-el-cont.error .RCB-form-el:focus{border-color:#F05C5C;box-shadow:0px 0px 0px 4px #F05C5C33;outline:none}.RCB-form-el-cont.warning .RCB-form-el{border-color:#FFCF5C}.RCB-form-el-cont.warning .RCB-form-el:hover{border-color:#FFCF5C}.RCB-form-el-cont.warning .RCB-form-el:focus{border-color:#FFCF5C;box-shadow:0px 0px 0px 4px #FFCF5C33;outline:none}.RCB-form-el-cont.success .RCB-form-el{border-color:#00C48C}.RCB-form-el-cont.success .RCB-form-el:hover{border-color:#00C48C}.RCB-form-el-cont.success .RCB-form-el:focus{border-color:#00C48C;box-shadow:0px 0px 0px 4px #00C48C33;outline:none}.RCB-form-error{margin-top:5px}.RCB-dropdown .RCB-form-el{padding:0;border:none}.RCB-dropdown .RCB-inline-modal-btn{padding:9px 10px;background:#FFF;width:100%;height:100%}.RCB-dropdown .RCB-dd-search-icon{top:9px}.RCB-dropdown .RCB-dd-search-icon:before{content:none}.RCB-dd-searchabledd-search-ip{border:1px solid #DDE2EE;border-radius:4px;padding:10px 30px}.RCB-select-arrow{margin-right:0;display:inline-flex}.RCB-select-arrow:after{content:" "}.RCB-toggle-knob{border:1px solid #cccbcb;background:linear-gradient(180deg, #fff 0%, #F2F5F8 100%);box-shadow:-2px 1px 3px 0 rgba(9,13,15,0.14)}.RCB-toggle{height:19px;background-color:#6f6f8d;border-radius:10px;border:none;padding:0;vertical-align:middle}.RCB-toggle-knob{top:3px;left:2px;position:relative;border:none;box-shadow:none}.RCB-toggle div.RCB-toggle-knob:hover{box-shadow:0 0 0px 8px rgba(0,0,0,0.15)}.RCB-toggle.active{background-color:#00c48c}.RCB-toggle.active .RCB-toggle-knob{position:relative;height:26px;width:26px;left:-2px;top:3px;background-color:white;-webkit-transition:.4s;transition:.4s;border:none;box-shadow:none}.RCB-toggle.active div.RCB-toggle-knob:hover{box-shadow:0 0 0px 8px rgba(0,196,140,0.15)}.RCB-toggle-disable{cursor:not-allowed;opacity:0.5;background-color:#6f6f8d;box-shadow:none}.RCB-toggle-disable.active{background-color:#00c48c;opacity:0.5}.RCB-toggle-disable.active div.RCB-toggle-knob:hover{box-shadow:none}.RCB-toggle-disable div.RCB-toggle-knob:hover{box-shadow:none}.RCB-btn{text-decoration:none;height:35px;font-weight:500;white-space:nowrap}.RCB-btn:disabled{display:inline-flex;height:35px;padding:8px 12px;justify-content:center;align-items:center;gap:8px;flex-shrink:0;border-radius:5px;opacity:0.5;background:#728DDF;cursor:no-drop}.RCB-btn-default{color:#FFF;background-color:#67B8DC;padding:4px 12px;border:0}.RCB-btn-default:hover{background-color:#50b2dd}.RCB-btn-primary{background-color:#3E71F2;font-size:14px;padding:8px 12px;border-radius:4px;outline:none}.RCB-btn-primary:hover{color:#FFF;text-decoration:none;background-color:#3865D9}.RCB-btn-primary:active{background-color:#3E71F2;box-shadow:inset 0 2px 3px 0 rgba(0,0,0,0.5)}.RCB-btn-primary:visited{color:#FFF}.RCB-btn-primary:disabled{background-color:#728DDF;color:#FFF;opacity:0.5;cursor:no-drop}.RCB-btn-primary:disabled:active{box-shadow:unset}.RCB-btn-secondary{font-size:14px;color:#3E71F2;background-color:#FFF;padding:8px 12px;border-radius:5px;border:1.5px solid #3E71F2}.RCB-btn-secondary:hover{color:#3E71F2;text-decoration:none;background-color:#ECF2FF}.RCB-btn-secondary:focus{background-color:#eff3f7}.RCB-btn-secondary:disabled{color:#3E71F2;background-color:#EEF4FF;border:1.5px solid #3E71F2;cursor:no-drop}.RCB-btn-secondary:visited{color:#61697d}.RCB-btn-link{background-color:transparent;color:#3E71F2;border-color:transparent}.RCB-btn-link:hover{background:transparent}.RCB-tag-btn{background-color:#FFFFFF;border:solid 1px #a1b3c0;width:30px;height:30px}.custom-toggle-large .RCB-toggle{height:36px;border-radius:60px}.last-form-el{margin-bottom:15px}.demo-dropdown.RCB-form-el-inline.RCB-dropdown{width:100%}
@@ -1,51 +1,151 @@
1
1
  "use strict";
2
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
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = exports._Checkbox = void 0;
6
+ exports["default"] = exports.Disabled = exports.Default = exports.ControlledCheckbox = exports.CheckboxGroup = void 0;
8
7
  var _react = _interopRequireDefault(require("react"));
9
- var _Form = _interopRequireDefault(require("../Form"));
10
- var _Checkbox2 = _interopRequireDefault(require("../Checkbox"));
11
- var _Button = _interopRequireWildcard(require("../../Button"));
12
- 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); }
8
+ var _Checkbox = _interopRequireDefault(require("../Checkbox"));
9
+ var _Button = _interopRequireDefault(require("../../Button"));
13
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
- var _Checkbox = exports._Checkbox = function _Checkbox() {
15
- var onSubmit = function onSubmit(formData) {
16
- var data = formData.data;
17
- console.log("Submitted data: ", data);
18
- };
19
- return /*#__PURE__*/_react["default"].createElement(_Form["default"], {
20
- onSubmit: onSubmit
21
- }, /*#__PURE__*/_react["default"].createElement(_Checkbox2["default"], {
22
- name: "orange",
23
- label: "Orange"
24
- }), /*#__PURE__*/_react["default"].createElement(_Checkbox2["default"], {
25
- name: "pineapple",
26
- label: "Pineapple",
27
- value: true,
28
- onChange: function onChange() {}
29
- }), /*#__PURE__*/_react["default"].createElement(_Checkbox2["default"], {
30
- name: "grapes",
31
- label: "Grapes"
32
- }), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
33
- appearance: _Button.ButtonAppearance.PRIMARY,
34
- className: "full-width-btn"
35
- }, "Submit"));
36
- };
37
- _Checkbox.story = {
11
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
16
+ 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."); }
17
+ 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; } }
18
+ 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; }
19
+ 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; } }
20
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
+ var meta = {
22
+ title: 'Components/Form/Checkbox',
23
+ component: _Checkbox["default"],
38
24
  parameters: {
39
- info: {
40
- propTables: [_Checkbox2["default"]]
25
+ layout: 'centered'
26
+ },
27
+ tags: ['autodocs'],
28
+ argTypes: {
29
+ label: {
30
+ control: 'text',
31
+ description: 'Label text for the checkbox'
32
+ },
33
+ disabled: {
34
+ control: 'boolean',
35
+ description: 'Whether the checkbox is disabled'
36
+ },
37
+ value: {
38
+ control: 'boolean',
39
+ description: 'Whether the checkbox is checked'
40
+ },
41
+ className: {
42
+ control: 'text',
43
+ description: 'Additional CSS classes'
41
44
  }
42
45
  }
43
46
  };
44
- var _default = exports["default"] = {
45
- title: "Form|Checkbox",
46
- parameters: {
47
- info: {
48
- propTables: [_Checkbox2["default"]]
49
- }
47
+ var _default = exports["default"] = meta;
48
+ var Default = exports.Default = {
49
+ render: function render() {
50
+ return /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
51
+ label: "Default checkbox",
52
+ name: "default-checkbox",
53
+ onChange: function onChange(val) {
54
+ return console.log('Checkbox changed:', val);
55
+ }
56
+ });
57
+ }
58
+ };
59
+ var ControlledCheckbox = exports.ControlledCheckbox = {
60
+ render: function render() {
61
+ var _React$useState = _react["default"].useState(true),
62
+ _React$useState2 = _slicedToArray(_React$useState, 2),
63
+ checked = _React$useState2[0],
64
+ setChecked = _React$useState2[1];
65
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
66
+ label: "Controlled checkbox",
67
+ name: "controlled-checkbox",
68
+ value: checked,
69
+ onChange: function onChange(val) {
70
+ console.log('Checkbox changed:', val);
71
+ }
72
+ }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
73
+ onClick: function onClick() {
74
+ return setChecked(!checked);
75
+ }
76
+ }, "Toggle Checkbox"));
77
+ }
78
+ };
79
+ var Disabled = exports.Disabled = {
80
+ render: function render() {
81
+ return /*#__PURE__*/_react["default"].createElement("div", {
82
+ style: {
83
+ display: 'flex',
84
+ flexDirection: 'column',
85
+ gap: '10px'
86
+ }
87
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
88
+ label: "Disabled unchecked",
89
+ name: "disabled-unchecked",
90
+ disabled: true,
91
+ onChange: function onChange(val) {
92
+ return console.log('Checkbox changed:', val);
93
+ }
94
+ }), /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
95
+ label: "Disabled checked",
96
+ name: "disabled-checked",
97
+ disabled: true,
98
+ value: true,
99
+ onChange: function onChange(val) {
100
+ return console.log('Checkbox changed:', val);
101
+ }
102
+ }));
103
+ }
104
+ };
105
+ var CheckboxGroup = exports.CheckboxGroup = {
106
+ render: function render() {
107
+ var _React$useState3 = _react["default"].useState(['option1']),
108
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
109
+ selected = _React$useState4[0],
110
+ setSelected = _React$useState4[1];
111
+ var handleChange = function handleChange(value) {
112
+ setSelected(function (prev) {
113
+ return prev.includes(value) ? prev.filter(function (item) {
114
+ return item !== value;
115
+ }) : [].concat(_toConsumableArray(prev), [value]);
116
+ });
117
+ };
118
+ return /*#__PURE__*/_react["default"].createElement("div", {
119
+ style: {
120
+ display: 'flex',
121
+ flexDirection: 'column',
122
+ gap: '10px'
123
+ }
124
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
125
+ label: "Option 1",
126
+ name: "option1",
127
+ value: selected.includes('option1'),
128
+ onChange: function onChange() {
129
+ return handleChange('option1');
130
+ }
131
+ }), /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
132
+ label: "Option 2",
133
+ name: "option2",
134
+ value: selected.includes('option2'),
135
+ onChange: function onChange() {
136
+ return handleChange('option2');
137
+ }
138
+ }), /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
139
+ label: "Option 3",
140
+ name: "option3",
141
+ value: selected.includes('option3'),
142
+ onChange: function onChange() {
143
+ return handleChange('option3');
144
+ }
145
+ }), /*#__PURE__*/_react["default"].createElement("div", {
146
+ style: {
147
+ marginTop: '10px'
148
+ }
149
+ }, "Selected options: ", selected.join(', ')));
50
150
  }
51
151
  };