@unbxd-ui/unbxd-react-components 0.2.145 → 0.2.147

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 (87) hide show
  1. package/README.md +17 -1
  2. package/components/Accordian/Accordian.js +1 -2
  3. package/components/Accordian/Accordian.stories.js +140 -117
  4. package/components/Button/Button.stories.js +167 -61
  5. package/components/Button/DropdownButton.js +1 -2
  6. package/components/Button/index.js +1 -2
  7. package/components/DataLoader/DataLoader.js +1 -2
  8. package/components/DataLoader/DataLoader.stories.js +239 -53
  9. package/components/Form/Checkbox.js +5 -4
  10. package/components/Form/DragDropFileUploader.js +1 -2
  11. package/components/Form/Dropdown.js +1 -2
  12. package/components/Form/FileUploader.js +1 -2
  13. package/components/Form/Form.js +1 -2
  14. package/components/Form/Input.js +1 -2
  15. package/components/Form/RadioList.js +1 -2
  16. package/components/Form/RangeSlider.js +1 -2
  17. package/components/Form/SearchableDropdown.js +563 -0
  18. package/components/Form/ServerPaginatedDDList.js +17 -11
  19. package/components/Form/Textarea.js +1 -2
  20. package/components/Form/Toggle.js +1 -2
  21. package/components/Form/formCore.css +1 -1
  22. package/components/Form/formTheme.css +1 -1
  23. package/components/Form/index.js +7 -0
  24. package/components/Form/stories/Checkbox.stories.js +138 -39
  25. package/components/Form/stories/Dropdown.stories.js +322 -91
  26. package/components/Form/stories/FileUploader.stories.js +177 -18
  27. package/components/Form/stories/Input.stories.js +115 -0
  28. package/components/Form/stories/RangeSlider.stories.js +161 -63
  29. package/components/Form/stories/SearchableDropdown.stories.js +189 -0
  30. package/components/Form/stories/ServerPaginatedDropdown.stories.js +365 -0
  31. package/components/Form/stories/Textarea.stories.js +112 -33
  32. package/components/Form/stories/Toggle.stories.js +192 -13
  33. package/components/Form/variables.css +0 -0
  34. package/components/InlineModal/InlineModal.js +1 -2
  35. package/components/InlineModal/InlineModal.stories.js +239 -45
  36. package/components/InlineModal/index.js +1 -2
  37. package/components/InlineModal/inlineModalCore.css +1 -1
  38. package/components/List/List.stories.js +238 -0
  39. package/components/Modal/Modal.js +1 -2
  40. package/components/Modal/Modal.stories.js +256 -37
  41. package/components/Modal/modalCore.css +1 -1
  42. package/components/NotificationComponent/NotificationComponent.js +1 -2
  43. package/components/NotificationComponent/NotificationComponent.stories.js +170 -18
  44. package/components/PageLoader/PageLoader.js +84 -0
  45. package/components/PageLoader/PageLoader.stories.js +276 -0
  46. package/components/PageLoader/index.js +9 -0
  47. package/components/PageLoader/pageLoaderCore.css +1 -0
  48. package/components/ProgressBar/ProgressBar.css +0 -0
  49. package/components/ProgressBar/ProgressBar.stories.js +202 -9
  50. package/components/ProgressBar/progressBarCore.css +1 -1
  51. package/components/Table/BaseTable.js +84 -354
  52. package/components/Table/Table.js +6 -359
  53. package/components/Table/Table.stories.js +2109 -150
  54. package/components/Table/TableChild.js +383 -0
  55. package/components/Table/TableConstants.js +15 -0
  56. package/components/Table/hooks/usePrevious.js +14 -0
  57. package/components/Table/index.js +13 -0
  58. package/components/Table/tableCore.css +1 -1
  59. package/components/TableOld/BaseTable.js +373 -0
  60. package/components/TableOld/PaginationComponent.js +86 -0
  61. package/components/TableOld/TableOld.js +367 -0
  62. package/components/TableOld/index.js +15 -0
  63. package/components/TabsComponent/TabsComponent.js +1 -2
  64. package/components/TabsComponent/TabsComponent.stories.js +290 -52
  65. package/components/ToastNotification/ToastNotificationWrapper.js +212 -0
  66. package/components/ToastNotification/ToastNotificationWrapper.stories.js +554 -0
  67. package/components/ToastNotification/index.js +40 -0
  68. package/components/ToastNotification/toastNotificationCore.css +1 -0
  69. package/components/Tooltip/Tooltip.js +221 -83
  70. package/components/Tooltip/Tooltip.stories.js +379 -14
  71. package/components/Tooltip/tooltipCore.css +1 -1
  72. package/components/Tooltip/tooltipTheme.css +1 -1
  73. package/components/core.css +2 -3
  74. package/components/core.scss +17 -0
  75. package/components/index.js +58 -2
  76. package/components/theme.css +2 -3
  77. package/core/dataLoader.js +5 -2
  78. package/index.js +54 -0
  79. package/package.json +31 -20
  80. package/components/Button/DropdownButton.stories.js +0 -49
  81. package/components/Form/stories/DragDropFileUploader.stories.js +0 -25
  82. package/components/Form/stories/FormDefault.stories.js +0 -115
  83. package/components/Form/stories/RadioList.stories.js +0 -53
  84. package/components/Form/stories/TextInput.stories.js +0 -76
  85. package/components/Form/stories/form.stories.js +0 -233
  86. package/components/List/list.stories.js +0 -35
  87. package/core/dataLoader.stories.js +0 -119
@@ -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
+ };
@@ -11,8 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react2 = require("motion/react");
12
12
  var _excluded = ["isOpen", "onClose", "isConditionalHideEnabled"];
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
- 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); }
15
- 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 && {}.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; }
14
+ 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); }
16
15
  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); }
17
16
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
18
17
  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."); }
@@ -4,49 +4,268 @@ 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.OpenByDefault = exports.ActivateOnClick = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ exports["default"] = exports.WithCustomTitle = exports.Interactive = exports.FormModal = exports.Default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
9
  var _Modal = _interopRequireDefault(require("./Modal"));
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); }
10
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- 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); }
12
- 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 && {}.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; }
13
- var ModalExample = function ModalExample() {
14
- return /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
15
- isOpen: true,
16
- title: "This is the header"
17
- }, /*#__PURE__*/_react["default"].createElement("div", null, "From inside a modal"));
18
- };
19
- var ModalClickExample = function ModalClickExample() {
20
- var modalRef = (0, _react.useRef)();
21
- var showModal = function showModal() {
22
- modalRef.current.showModal();
23
- };
24
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("a", {
25
- href: "javascript:void(0)",
26
- onClick: showModal
27
- }, "Show Modal"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
28
- title: "This is the header",
29
- ref: modalRef
30
- }, /*#__PURE__*/_react["default"].createElement("div", null, "From inside a modal")));
13
+ 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); }
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ 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; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
+ 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."); }
21
+ 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; } }
22
+ 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; }
23
+ 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; } }
24
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
+ var meta = {
26
+ title: 'Components/Modal',
27
+ component: _Modal["default"],
28
+ parameters: {
29
+ layout: 'centered'
30
+ },
31
+ tags: ['autodocs'],
32
+ argTypes: {
33
+ className: {
34
+ control: 'text',
35
+ description: 'Additional CSS classes for the modal'
36
+ },
37
+ title: {
38
+ control: 'text',
39
+ description: 'Header or title for the modal'
40
+ },
41
+ showClose: {
42
+ control: 'boolean',
43
+ description: 'Whether to show the close button'
44
+ },
45
+ showHeader: {
46
+ control: 'boolean',
47
+ description: 'Whether to show the modal header'
48
+ },
49
+ isConditionalHideEnabled: {
50
+ control: 'boolean',
51
+ description: 'Whether to enable conditional hiding of the modal'
52
+ }
53
+ }
31
54
  };
32
- var ActivateOnClick = exports.ActivateOnClick = function ActivateOnClick() {
33
- return /*#__PURE__*/_react["default"].createElement(ModalClickExample, null);
55
+ var _default = exports["default"] = meta; // Basic Modal
56
+ var Default = exports.Default = {
57
+ render: function render() {
58
+ var modalRef = _react["default"].useRef(null);
59
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
60
+ appearance: _Button.ButtonAppearance.PRIMARY,
61
+ onClick: function onClick() {
62
+ return modalRef.current.showModal();
63
+ }
64
+ }, "Open Modal"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
65
+ ref: modalRef,
66
+ title: "Basic Modal",
67
+ onClose: function onClose() {
68
+ return console.log('Modal closed');
69
+ }
70
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "This is a basic modal with default settings."), /*#__PURE__*/_react["default"].createElement("div", {
71
+ className: "modal-footer"
72
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
73
+ appearance: _Button.ButtonAppearance.SECONDARY,
74
+ onClick: function onClick() {
75
+ return modalRef.current.hideModal();
76
+ }
77
+ }, "Close")))));
78
+ }
34
79
  };
35
- ActivateOnClick.story = {
36
- name: "Activate on click"
80
+
81
+ // Custom Title Component
82
+ var CustomTitle = function CustomTitle() {
83
+ return /*#__PURE__*/_react["default"].createElement("div", {
84
+ style: {
85
+ display: 'flex',
86
+ alignItems: 'center',
87
+ gap: '10px'
88
+ }
89
+ }, /*#__PURE__*/_react["default"].createElement("span", {
90
+ style: {
91
+ color: '#1a73e8',
92
+ fontSize: '20px'
93
+ }
94
+ }, "\uD83D\uDE80"), /*#__PURE__*/_react["default"].createElement("span", null, "Custom Title Component"));
37
95
  };
38
- var OpenByDefault = exports.OpenByDefault = function OpenByDefault() {
39
- return /*#__PURE__*/_react["default"].createElement(ModalExample, null);
96
+ var WithCustomTitle = exports.WithCustomTitle = {
97
+ render: function render() {
98
+ var modalRef = _react["default"].useRef(null);
99
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
100
+ appearance: _Button.ButtonAppearance.PRIMARY,
101
+ onClick: function onClick() {
102
+ return modalRef.current.showModal();
103
+ }
104
+ }, "Open Modal with Custom Title"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
105
+ ref: modalRef,
106
+ titleComponent: /*#__PURE__*/_react["default"].createElement(CustomTitle, null)
107
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "This modal uses a custom title component instead of a simple string title."), /*#__PURE__*/_react["default"].createElement("div", {
108
+ className: "modal-footer"
109
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
110
+ appearance: _Button.ButtonAppearance.SECONDARY,
111
+ onClick: function onClick() {
112
+ return modalRef.current.hideModal();
113
+ }
114
+ }, "Close")))));
115
+ }
40
116
  };
41
- OpenByDefault.story = {
42
- name: "Open by default"
117
+
118
+ // Form Modal
119
+ var FormModal = exports.FormModal = {
120
+ render: function render() {
121
+ var modalRef = _react["default"].useRef(null);
122
+ var _React$useState = _react["default"].useState({
123
+ name: '',
124
+ email: '',
125
+ message: ''
126
+ }),
127
+ _React$useState2 = _slicedToArray(_React$useState, 2),
128
+ formData = _React$useState2[0],
129
+ setFormData = _React$useState2[1];
130
+ var handleSubmit = function handleSubmit() {
131
+ console.log('Form submitted:', formData);
132
+ modalRef.current.hideModal();
133
+ };
134
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
135
+ appearance: _Button.ButtonAppearance.PRIMARY,
136
+ onClick: function onClick() {
137
+ return modalRef.current.showModal();
138
+ }
139
+ }, "Open Form Modal"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
140
+ ref: modalRef,
141
+ title: "Contact Form",
142
+ className: "form-modal"
143
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
144
+ style: {
145
+ marginBottom: '15px'
146
+ }
147
+ }, /*#__PURE__*/_react["default"].createElement("label", {
148
+ style: {
149
+ display: 'block',
150
+ marginBottom: '5px'
151
+ }
152
+ }, "Name"), /*#__PURE__*/_react["default"].createElement("input", {
153
+ type: "text",
154
+ value: formData.name,
155
+ onChange: function onChange(e) {
156
+ return setFormData(_objectSpread(_objectSpread({}, formData), {}, {
157
+ name: e.target.value
158
+ }));
159
+ },
160
+ style: {
161
+ width: '100%',
162
+ padding: '8px',
163
+ border: '1px solid #ddd',
164
+ borderRadius: '4px'
165
+ }
166
+ })), /*#__PURE__*/_react["default"].createElement("div", {
167
+ style: {
168
+ marginBottom: '15px'
169
+ }
170
+ }, /*#__PURE__*/_react["default"].createElement("label", {
171
+ style: {
172
+ display: 'block',
173
+ marginBottom: '5px'
174
+ }
175
+ }, "Email"), /*#__PURE__*/_react["default"].createElement("input", {
176
+ type: "email",
177
+ value: formData.email,
178
+ onChange: function onChange(e) {
179
+ return setFormData(_objectSpread(_objectSpread({}, formData), {}, {
180
+ email: e.target.value
181
+ }));
182
+ },
183
+ style: {
184
+ width: '100%',
185
+ padding: '8px',
186
+ border: '1px solid #ddd',
187
+ borderRadius: '4px'
188
+ }
189
+ })), /*#__PURE__*/_react["default"].createElement("div", {
190
+ style: {
191
+ marginBottom: '15px'
192
+ }
193
+ }, /*#__PURE__*/_react["default"].createElement("label", {
194
+ style: {
195
+ display: 'block',
196
+ marginBottom: '5px'
197
+ }
198
+ }, "Message"), /*#__PURE__*/_react["default"].createElement("textarea", {
199
+ value: formData.message,
200
+ onChange: function onChange(e) {
201
+ return setFormData(_objectSpread(_objectSpread({}, formData), {}, {
202
+ message: e.target.value
203
+ }));
204
+ },
205
+ style: {
206
+ width: '100%',
207
+ padding: '8px',
208
+ border: '1px solid #ddd',
209
+ borderRadius: '4px',
210
+ minHeight: '100px'
211
+ }
212
+ })), /*#__PURE__*/_react["default"].createElement("div", {
213
+ className: "modal-footer",
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: handleSubmit
227
+ }, "Submit")))));
228
+ }
43
229
  };
44
- var _default = exports["default"] = {
45
- title: "Modals|Page modal",
46
- parameters: {
47
- info: {
48
- propTables: [_Modal["default"]],
49
- propTablesExclude: [ModalExample, ModalClickExample]
50
- }
230
+
231
+ // Interactive example
232
+ var Interactive = exports.Interactive = {
233
+ render: function render(args) {
234
+ var modalRef = _react["default"].useRef(null);
235
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
236
+ appearance: _Button.ButtonAppearance.PRIMARY,
237
+ onClick: function onClick() {
238
+ return modalRef.current.showModal();
239
+ }
240
+ }, "Open Interactive Modal"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], _extends({
241
+ ref: modalRef
242
+ }, args), /*#__PURE__*/_react["default"].createElement("div", {
243
+ style: {
244
+ padding: '20px',
245
+ minWidth: '300px'
246
+ }
247
+ }, /*#__PURE__*/_react["default"].createElement("p", null, "This is an interactive modal example."), /*#__PURE__*/_react["default"].createElement("p", null, "Try adjusting the controls in the Storybook panel:"), /*#__PURE__*/_react["default"].createElement("ul", {
248
+ style: {
249
+ marginTop: '10px',
250
+ marginBottom: '20px'
251
+ }
252
+ }, /*#__PURE__*/_react["default"].createElement("li", null, "Change the title"), /*#__PURE__*/_react["default"].createElement("li", null, "Toggle header visibility"), /*#__PURE__*/_react["default"].createElement("li", null, "Toggle close button"), /*#__PURE__*/_react["default"].createElement("li", null, "Add custom classes")), /*#__PURE__*/_react["default"].createElement("div", {
253
+ style: {
254
+ marginTop: '20px',
255
+ textAlign: 'right'
256
+ }
257
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
258
+ appearance: _Button.ButtonAppearance.SECONDARY,
259
+ onClick: function onClick() {
260
+ return modalRef.current.hideModal();
261
+ }
262
+ }, "Close")))));
263
+ },
264
+ args: {
265
+ title: 'Interactive Modal',
266
+ showClose: true,
267
+ showHeader: true,
268
+ isConditionalHideEnabled: false,
269
+ className: ''
51
270
  }
52
271
  };
@@ -1 +1 @@
1
- .RCB-modal{position:fixed;top:0;width:100%;height:100%;background:rgba(0,0,0,0.8);display:flex;justify-content:center;align-items:center;z-index:2}.RCB-modal-body{background:#FFF;padding:20px}.RCB-modal-header{display:flex;margin-bottom:10px}.RCB-modal-title{flex:1}.RCB-modal-close{cursor:pointer}.RCB-modal-close:before{content:"X"}
1
+ .RCB-modal{position:fixed;top:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;justify-content:center;align-items:center;z-index:2}.RCB-modal .modal-footer{padding:24px 24px;margin:20px -24px 0px;border-radius:0 0 8px 8px;text-align:right}.RCB-modal .modal-footer .RCB-btn{margin-right:14px}.RCB-modal .modal-footer .RCB-btn:last-child{margin-right:0}.RCB-modal-body{background:#FFF;border-radius:8px;padding:0px}.RCB-modal-header{display:flex;margin-bottom:0px;padding:24px 24px 10px}.RCB-modal-title{flex:1;font-size:18px;font-weight:700;line-height:normal}.RCB-modal-close{cursor:pointer}.RCB-modal-close:before{content:"X"}.RCB-modal-content{padding:24px 24px 0px}
@@ -8,8 +8,7 @@ exports["default"] = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- 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); }
12
- 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 && {}.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; }
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); }
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; } }