@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
package/README.md CHANGED
@@ -6,9 +6,9 @@ Install the package from npm
6
6
  ```
7
7
  use npm version : '9.7.2'
8
8
  ```
9
- use node version: 'v14.20.1'
9
+ use node version: 'v18.17.1' (Required for storybook)
10
10
  ```
11
- npm install unbxd-react-components
11
+ npm install @unbxd-ui/unbxd-react-components
12
12
  ```
13
13
 
14
14
  Import the required components along with the CSS.
@@ -59,6 +59,18 @@ You can view the available components and their props using the storybook at thi
59
59
 
60
60
  https://unbxd.github.io/unbxd-react-components/
61
61
 
62
+
63
+ ## To Contribute & Run Storybook Locally
64
+
65
+ **1. Use node version: 'v14.20.1'.
66
+ **2. After making changes to the required components and their scss, Add examples in stories.js file of the respective component.
67
+ **3. npm run build & npm run build-css
68
+ **4. Then use node version: 'v18.17.1' (Required for storybook)
69
+ **5. npm run storybook
70
+
71
+ After this the storybook will be up on 6007 port.
72
+
73
+
62
74
  ## FAQs
63
75
 
64
76
  1) I am getting "multiple instances of React" error. What to do?
@@ -1,132 +1,156 @@
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.OpenAtLeastOneAlways = exports.DefaultOpen = exports.Default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
6
+ exports["default"] = exports.WithDefaultOpen = exports.SingleSectionOpen = exports.Default = exports.CustomStyled = exports.AllOpenByDefault = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
9
8
  var _Accordian = _interopRequireDefault(require("./Accordian"));
10
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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 _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
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."); }
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; } }
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; }
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; } }
17
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
10
+ // Import required styles
11
+ // import './accordianTheme.scss';
18
12
  var _default = exports["default"] = {
19
- title: 'Accordian',
20
- component: _Accordian["default"]
21
- };
22
- var AccordianBody = function AccordianBody() {
23
- var _useState = (0, _react.useState)(1),
24
- _useState2 = _slicedToArray(_useState, 2),
25
- count = _useState2[0],
26
- setRandomNumber = _useState2[1];
27
- var onSetRandom = function onSetRandom() {
28
- setRandomNumber(Math.round(Math.random() * 10));
29
- };
30
- return /*#__PURE__*/_react["default"].createElement("div", {
31
- style: {
32
- padding: '20px'
13
+ title: 'Components/Accordian',
14
+ component: _Accordian["default"],
15
+ parameters: {
16
+ layout: 'centered',
17
+ docs: {
18
+ story: {
19
+ inline: true
20
+ }
33
21
  }
34
- }, /*#__PURE__*/_react["default"].createElement("h3", null, "This is accordian body"), /*#__PURE__*/_react["default"].createElement("button", {
35
- onClick: onSetRandom
36
- }, " changed to ", count));
37
- };
38
- var AccordianTitle = function AccordianTitle(_ref) {
39
- var id = _ref.id;
40
- return /*#__PURE__*/_react["default"].createElement("div", null, "Title ".concat(id));
41
- };
22
+ },
23
+ tags: ['autodocs'],
24
+ argTypes: {
25
+ defaultOpen: {
26
+ control: 'select',
27
+ options: ['', 'ALL', 'section1', 'section2', 'section3'],
28
+ description: 'Controls which accordion items are open by default'
29
+ },
30
+ allowOneOpen: {
31
+ control: 'boolean',
32
+ description: 'If true, only one accordion item can be open at a time'
33
+ },
34
+ items: {
35
+ control: 'object',
36
+ description: 'Array of accordion items with id, titleComponent, and bodyComponent'
37
+ }
38
+ }
39
+ }; // Sample items for the accordion
40
+ var sampleItems = [{
41
+ id: 'section1',
42
+ titleComponent: /*#__PURE__*/_react["default"].createElement("div", {
43
+ className: "RCB-accordian-title-content"
44
+ }, "Section 1"),
45
+ bodyComponent: /*#__PURE__*/_react["default"].createElement("div", {
46
+ className: "RCB-accordian-body-content"
47
+ }, "This is the content for section 1. It can contain any React elements.")
48
+ }, {
49
+ id: 'section2',
50
+ titleComponent: /*#__PURE__*/_react["default"].createElement("div", {
51
+ className: "RCB-accordian-title-content"
52
+ }, "Section 2"),
53
+ bodyComponent: /*#__PURE__*/_react["default"].createElement("div", {
54
+ className: "RCB-accordian-body-content"
55
+ }, "This is the content for section 2. It can be text, components, or other elements.")
56
+ }, {
57
+ id: 'section3',
58
+ titleComponent: /*#__PURE__*/_react["default"].createElement("div", {
59
+ className: "RCB-accordian-title-content"
60
+ }, "Section 3"),
61
+ bodyComponent: /*#__PURE__*/_react["default"].createElement("div", {
62
+ className: "RCB-accordian-body-content"
63
+ }, "This is the content for section 3. You can put anything here!")
64
+ }];
65
+
66
+ // Template for stories
42
67
  var Template = function Template(args) {
43
68
  return /*#__PURE__*/_react["default"].createElement(_Accordian["default"], args);
44
69
  };
45
- var Default = exports.Default = Template.bind();
70
+
71
+ // Default accordion
72
+ var Default = exports.Default = Template.bind({});
46
73
  Default.args = {
47
- items: [{
48
- id: "41",
49
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
50
- id: '41'
51
- }),
52
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
53
- }, {
54
- id: "42",
55
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
56
- id: '42'
57
- }),
58
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
59
- }, {
60
- id: "43",
61
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
62
- id: '43'
63
- }),
64
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
65
- }, {
66
- id: "44",
67
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
68
- id: '44'
69
- }),
70
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
71
- }],
72
- defaultOpen: ""
74
+ items: sampleItems,
75
+ allowOneOpen: false,
76
+ defaultOpen: ''
73
77
  };
74
- var DefaultOpen = exports.DefaultOpen = Template.bind();
75
- DefaultOpen.args = {
76
- items: [{
77
- id: "41",
78
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
79
- id: '41'
80
- }),
81
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
82
- }, {
83
- id: "42",
84
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
85
- id: '42'
86
- }),
87
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
88
- }, {
89
- id: "43",
90
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
91
- id: '43'
92
- }),
93
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
94
- }, {
95
- id: "44",
96
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
97
- id: '44'
98
- }),
99
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
100
- }],
101
- defaultOpen: "42"
78
+
79
+ // One section open by default
80
+ var WithDefaultOpen = exports.WithDefaultOpen = Template.bind({});
81
+ WithDefaultOpen.args = {
82
+ items: sampleItems,
83
+ allowOneOpen: false,
84
+ defaultOpen: 'section1'
85
+ };
86
+
87
+ // All sections open by default
88
+ var AllOpenByDefault = exports.AllOpenByDefault = Template.bind({});
89
+ AllOpenByDefault.args = {
90
+ items: sampleItems,
91
+ allowOneOpen: false,
92
+ defaultOpen: 'ALL'
102
93
  };
103
- var OpenAtLeastOneAlways = exports.OpenAtLeastOneAlways = Template.bind();
104
- OpenAtLeastOneAlways.args = {
105
- items: [{
106
- id: "411",
107
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
108
- id: '41'
109
- }),
110
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
111
- }, {
112
- id: "421",
113
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
114
- id: '42'
115
- }),
116
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
117
- }, {
118
- id: "431",
119
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
120
- id: '43'
121
- }),
122
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
123
- }, {
124
- id: "441",
125
- titleComponent: /*#__PURE__*/_react["default"].createElement(AccordianTitle, {
126
- id: '44'
127
- }),
128
- bodyComponent: /*#__PURE__*/_react["default"].createElement(AccordianBody, null)
129
- }],
130
- defaultOpen: "421",
131
- allowOneOpen: true
94
+
95
+ // Only one section can be open
96
+ var SingleSectionOpen = exports.SingleSectionOpen = Template.bind({});
97
+ SingleSectionOpen.args = {
98
+ items: sampleItems,
99
+ allowOneOpen: true,
100
+ defaultOpen: 'section1'
101
+ };
102
+
103
+ // Custom styled sections
104
+ var customStyledItems = [{
105
+ id: 'custom1',
106
+ titleComponent: /*#__PURE__*/_react["default"].createElement("div", {
107
+ className: "RCB-accordian-title-content",
108
+ style: {
109
+ color: 'blue',
110
+ fontWeight: 'bold'
111
+ }
112
+ }, "Custom Section 1", /*#__PURE__*/_react["default"].createElement("span", {
113
+ style: {
114
+ marginLeft: '8px',
115
+ fontSize: '0.8em'
116
+ }
117
+ }, "\u25BC")),
118
+ bodyComponent: /*#__PURE__*/_react["default"].createElement("div", {
119
+ className: "RCB-accordian-body-content",
120
+ style: {
121
+ padding: '1rem',
122
+ backgroundColor: '#f0f0f0',
123
+ borderRadius: '4px',
124
+ margin: '0.5rem'
125
+ }
126
+ }, "This section has custom styling applied to both the title and content.")
127
+ }, {
128
+ id: 'custom2',
129
+ titleComponent: /*#__PURE__*/_react["default"].createElement("div", {
130
+ className: "RCB-accordian-title-content",
131
+ style: {
132
+ color: 'green',
133
+ fontWeight: 'bold'
134
+ }
135
+ }, "Custom Section 2", /*#__PURE__*/_react["default"].createElement("span", {
136
+ style: {
137
+ marginLeft: '8px',
138
+ fontSize: '0.8em'
139
+ }
140
+ }, "\u25BC")),
141
+ bodyComponent: /*#__PURE__*/_react["default"].createElement("div", {
142
+ className: "RCB-accordian-body-content",
143
+ style: {
144
+ padding: '1rem',
145
+ backgroundColor: '#e8f5e9',
146
+ borderRadius: '4px',
147
+ margin: '0.5rem'
148
+ }
149
+ }, "Another section with different custom styling.")
150
+ }];
151
+ var CustomStyled = exports.CustomStyled = Template.bind({});
152
+ CustomStyled.args = {
153
+ items: customStyledItems,
154
+ allowOneOpen: false,
155
+ defaultOpen: ''
132
156
  };
@@ -4,81 +4,188 @@ 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 = exports.SecondaryButton = exports.PrimaryButton = void 0;
7
+ exports["default"] = exports.Sizes = exports.Secondary = exports.Primary = exports.Loading = exports.Interactive = exports.Disabled = exports.Default = exports.AllVariations = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _addonActions = require("@storybook/addon-actions");
10
9
  var _Button = _interopRequireWildcard(require("./Button"));
11
10
  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
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
- var SimpleUsage = exports.SimpleUsage = function SimpleUsage() {
14
- return /*#__PURE__*/_react["default"].createElement("div", {
15
- className: "margin-btns"
16
- }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
17
- size: _Button.ButtonSize.SMALL,
18
- onClick: (0, _addonActions.action)("clicked")
19
- }, "SMALL"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
20
- size: _Button.ButtonSize.MEDIUM,
21
- onClick: (0, _addonActions.action)("clicked")
22
- }, "MEDIUM"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
23
- size: _Button.ButtonSize.LARGE,
24
- onClick: (0, _addonActions.action)("clicked")
25
- }, "LARGE"));
26
- };
27
- SimpleUsage.story = {
12
+ // Import required styles
13
+ // import '../theme.scss';
14
+ // import './buttonTheme.scss';
15
+ var _default = exports["default"] = {
16
+ title: 'Components/Button',
17
+ component: _Button["default"],
28
18
  parameters: {
19
+ layout: 'centered',
29
20
  docs: {
30
- storyDescription: "Depicts a simple usage of the button"
21
+ story: {
22
+ inline: true
23
+ }
24
+ },
25
+ backgrounds: {
26
+ "default": 'light',
27
+ values: [{
28
+ name: 'light',
29
+ value: '#ffffff'
30
+ }, {
31
+ name: 'dark',
32
+ value: '#333333'
33
+ }]
34
+ }
35
+ },
36
+ tags: ['autodocs'],
37
+ argTypes: {
38
+ appearance: {
39
+ control: 'select',
40
+ options: Object.values(_Button.ButtonAppearance),
41
+ description: 'The visual style of the button'
42
+ },
43
+ size: {
44
+ control: 'select',
45
+ options: Object.values(_Button.ButtonSize),
46
+ description: 'The size of the button'
47
+ },
48
+ disabled: {
49
+ control: 'boolean',
50
+ description: 'Whether the button is disabled'
51
+ },
52
+ loading: {
53
+ control: 'boolean',
54
+ description: 'Whether the button is in a loading state'
55
+ },
56
+ onClick: {
57
+ action: 'clicked',
58
+ description: 'Button click handler'
59
+ },
60
+ children: {
61
+ control: 'text',
62
+ description: 'Button content'
63
+ },
64
+ className: {
65
+ control: 'text',
66
+ description: 'Additional CSS classes'
31
67
  }
32
68
  }
69
+ }; // Template for stories
70
+ var Template = function Template(args) {
71
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], args);
72
+ };
73
+
74
+ // Default button
75
+ var Default = exports.Default = Template.bind({});
76
+ Default.args = {
77
+ children: 'Default Button',
78
+ appearance: _Button.ButtonAppearance.DEFAULT,
79
+ size: _Button.ButtonSize.MEDIUM
80
+ };
81
+
82
+ // Primary button
83
+ var Primary = exports.Primary = Template.bind({});
84
+ Primary.args = {
85
+ children: 'Primary Button',
86
+ appearance: _Button.ButtonAppearance.PRIMARY,
87
+ size: _Button.ButtonSize.MEDIUM
88
+ };
89
+
90
+ // Secondary button
91
+ var Secondary = exports.Secondary = Template.bind({});
92
+ Secondary.args = {
93
+ children: 'Secondary Button',
94
+ appearance: _Button.ButtonAppearance.SECONDARY,
95
+ size: _Button.ButtonSize.MEDIUM
33
96
  };
34
- var PrimaryButton = exports.PrimaryButton = function PrimaryButton() {
97
+
98
+ // Button sizes
99
+ var Sizes = exports.Sizes = function Sizes() {
35
100
  return /*#__PURE__*/_react["default"].createElement("div", {
36
- className: "margin-btns"
101
+ style: {
102
+ display: 'flex',
103
+ gap: '1rem',
104
+ alignItems: 'center'
105
+ }
37
106
  }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
38
- appearance: _Button.ButtonAppearance.PRIMARY,
39
- size: _Button.ButtonSize.SMALL,
40
- onClick: (0, _addonActions.action)("clicked")
41
- }, "SMALL"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
42
- appearance: _Button.ButtonAppearance.PRIMARY,
43
- size: _Button.ButtonSize.MEDIUM,
44
- onClick: (0, _addonActions.action)("clicked")
45
- }, "MEDIUM"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
46
- appearance: _Button.ButtonAppearance.PRIMARY,
47
- size: _Button.ButtonSize.LARGE,
48
- onClick: (0, _addonActions.action)("clicked")
49
- }, "LARGE"));
107
+ size: _Button.ButtonSize.SMALL
108
+ }, "Small Button"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
109
+ size: _Button.ButtonSize.MEDIUM
110
+ }, "Medium Button"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
111
+ size: _Button.ButtonSize.LARGE
112
+ }, "Large Button"));
50
113
  };
51
- PrimaryButton.story = {
52
- parameters: {
53
- docs: {
54
- storyDescription: "Depicts a primary button"
55
- }
56
- }
114
+
115
+ // Disabled state
116
+ var Disabled = exports.Disabled = Template.bind({});
117
+ Disabled.args = {
118
+ children: 'Disabled Button',
119
+ disabled: true,
120
+ appearance: _Button.ButtonAppearance.PRIMARY,
121
+ size: _Button.ButtonSize.MEDIUM
122
+ };
123
+
124
+ // Loading state
125
+ var Loading = exports.Loading = Template.bind({});
126
+ Loading.args = {
127
+ children: 'Loading Button',
128
+ loading: true,
129
+ appearance: _Button.ButtonAppearance.PRIMARY,
130
+ size: _Button.ButtonSize.MEDIUM
57
131
  };
58
- var SecondaryButton = exports.SecondaryButton = function SecondaryButton() {
132
+
133
+ // All variations
134
+ var AllVariations = exports.AllVariations = function AllVariations() {
59
135
  return /*#__PURE__*/_react["default"].createElement("div", {
60
- className: "margin-btns"
136
+ style: {
137
+ display: 'flex',
138
+ flexDirection: 'column',
139
+ gap: '1rem'
140
+ }
141
+ }, /*#__PURE__*/_react["default"].createElement("div", {
142
+ style: {
143
+ display: 'flex',
144
+ gap: '1rem'
145
+ }
61
146
  }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
147
+ appearance: _Button.ButtonAppearance.DEFAULT
148
+ }, "Default"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
149
+ appearance: _Button.ButtonAppearance.PRIMARY
150
+ }, "Primary"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
151
+ appearance: _Button.ButtonAppearance.SECONDARY
152
+ }, "Secondary")), /*#__PURE__*/_react["default"].createElement("div", {
153
+ style: {
154
+ display: 'flex',
155
+ gap: '1rem'
156
+ }
157
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
158
+ appearance: _Button.ButtonAppearance.DEFAULT,
159
+ disabled: true
160
+ }, "Default Disabled"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
161
+ appearance: _Button.ButtonAppearance.PRIMARY,
162
+ disabled: true
163
+ }, "Primary Disabled"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
62
164
  appearance: _Button.ButtonAppearance.SECONDARY,
63
- size: _Button.ButtonSize.SMALL,
64
- onClick: (0, _addonActions.action)("clicked")
65
- }, "SMALL"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
66
- appearance: _Button.ButtonAppearance.SECONDARY,
67
- size: _Button.ButtonSize.MEDIUM,
68
- onClick: (0, _addonActions.action)("clicked")
69
- }, "MEDIUM"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
70
- appearance: _Button.ButtonAppearance.SECONDARY,
71
- size: _Button.ButtonSize.LARGE,
72
- onClick: (0, _addonActions.action)("clicked")
73
- }, "LARGE"));
74
- };
75
- SecondaryButton.story = {
76
- parameters: {
77
- docs: {
78
- storyDescription: "Depicts a secondary button"
165
+ disabled: true
166
+ }, "Secondary Disabled")), /*#__PURE__*/_react["default"].createElement("div", {
167
+ style: {
168
+ display: 'flex',
169
+ gap: '1rem'
79
170
  }
80
- }
171
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
172
+ appearance: _Button.ButtonAppearance.DEFAULT,
173
+ loading: true
174
+ }, "Default Loading"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
175
+ appearance: _Button.ButtonAppearance.PRIMARY,
176
+ loading: true
177
+ }, "Primary Loading"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
178
+ appearance: _Button.ButtonAppearance.SECONDARY,
179
+ loading: true
180
+ }, "Secondary Loading")));
81
181
  };
82
- var _default = exports["default"] = {
83
- title: "Button"
182
+
183
+ // Interactive example with all controls
184
+ var Interactive = exports.Interactive = Template.bind({});
185
+ Interactive.args = {
186
+ children: 'Interactive Button',
187
+ appearance: _Button.ButtonAppearance.PRIMARY,
188
+ size: _Button.ButtonSize.MEDIUM,
189
+ disabled: false,
190
+ loading: false
84
191
  };