this.gui 1.0.16 → 1.0.18

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 (104) hide show
  1. package/README.md +191 -23
  2. package/dist/style.css +1 -1
  3. package/dist/this-gui.es.js +2879 -1945
  4. package/dist/this-gui.umd.js +24 -24
  5. package/package.json +3 -4
  6. package/src/App.jsx +19 -40
  7. package/src/CreatePage.jsx +61 -0
  8. package/src/MDXEditor.jsx +51 -0
  9. package/src/Page.jsx +28 -0
  10. package/src/PageDashboard.jsx +56 -0
  11. package/src/SiteBuilder.jsx +95 -26
  12. package/src/example.json +43 -0
  13. package/src/scripts/ComponentRegistry.js +70 -0
  14. package/src/scripts/postinstall.js +60 -10
  15. package/src/scripts/renderComponents.js +11 -0
  16. package/src/stories/Atoms/Badge/Badge.css +1 -0
  17. package/src/stories/Atoms/Badge/Badge.stories.jsx +1 -0
  18. package/src/stories/Atoms/Button/Button.css +259 -58
  19. package/src/stories/Atoms/Button/Button.jsx +8 -11
  20. package/src/stories/Atoms/Button/Button.stories.jsx +65 -40
  21. package/src/stories/Atoms/Container/Container.css +420 -39
  22. package/src/stories/Atoms/Container/Container.jsx +98 -36
  23. package/src/stories/Atoms/Container/Container.stories.jsx +120 -79
  24. package/src/stories/Atoms/Grid/Grid.css +160 -0
  25. package/src/stories/Atoms/Grid/Grid.jsx +43 -0
  26. package/src/stories/Atoms/Grid/Grid.stories.jsx +84 -0
  27. package/src/stories/Atoms/Link/Link.css +6 -26
  28. package/src/stories/Atoms/Link/Link.jsx +11 -21
  29. package/src/stories/Atoms/ProgressBar/ProgressBar.css +1 -1
  30. package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +1 -1
  31. package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +1 -1
  32. package/src/stories/Atoms/Section/Section.css +268 -0
  33. package/src/stories/Atoms/Section/Section.jsx +63 -0
  34. package/src/stories/Atoms/Section/Section.stories.jsx +46 -0
  35. package/src/stories/Atoms/TextArea/TextArea.css +1 -0
  36. package/src/stories/Atoms/TextArea/TextArea.jsx +1 -0
  37. package/src/stories/Atoms/TextArea/TextArea.stories.jsx +1 -0
  38. package/src/stories/Atoms/TextInput/TextInput.css +1 -0
  39. package/src/stories/Atoms/TextInput/TextInput.jsx +1 -0
  40. package/src/stories/Atoms/TextInput/TextInput.stories.jsx +1 -0
  41. package/src/stories/Atoms/Toggle/Toggle.css +1 -0
  42. package/src/stories/Atoms/Toggle/Toggle.jsx +1 -0
  43. package/src/stories/Atoms/Toggle/Toggle.stories.jsx +1 -0
  44. package/src/stories/Atoms/Tooltip/Tooltip.css +1 -0
  45. package/src/stories/Atoms/Tooltip/Tooltip.jsx +1 -0
  46. package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +1 -0
  47. package/src/stories/Atoms/Video/Video.css +1 -0
  48. package/src/stories/Atoms/Video/Video.jsx +1 -0
  49. package/src/stories/Atoms/Video/Video.stories.jsx +1 -0
  50. package/src/stories/Atoms/index.js +4 -0
  51. package/src/stories/Atoms/meta_Atoms.js +4 -1
  52. package/src/stories/Layouts/Accordion/Accordion.css +285 -8
  53. package/src/stories/Layouts/Accordion/Accordion.jsx +62 -19
  54. package/src/stories/Layouts/Accordion/Accordion.stories.jsx +30 -19
  55. package/src/stories/Layouts/index.js +0 -6
  56. package/src/stories/Layouts/meta_Layouts.js +2 -5
  57. package/src/stories/Molecules/Accordion/Accordion.css +1 -1
  58. package/src/stories/Molecules/Accordion/Accordion.jsx +1 -1
  59. package/src/stories/Molecules/Accordion/Accordion.stories.jsx +1 -1
  60. package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +95 -2
  61. package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +232 -13
  62. package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +46 -11
  63. package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +128 -2
  64. package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +69 -14
  65. package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +12 -12
  66. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +145 -2
  67. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +39 -13
  68. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +27 -11
  69. package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +463 -2
  70. package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +34 -12
  71. package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +36 -12
  72. package/src/stories/Molecules/Card/Card.css +39 -2
  73. package/src/stories/Molecules/Card/Card.jsx +80 -13
  74. package/src/stories/Molecules/Card/Card.stories.jsx +27 -13
  75. package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +33 -2
  76. package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +91 -12
  77. package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +73 -12
  78. package/src/stories/Molecules/Dropdown/Dropdown.css +192 -0
  79. package/src/stories/Molecules/Dropdown/Dropdown.jsx +96 -0
  80. package/src/stories/Molecules/Dropdown/Dropdown.stories.jsx +45 -0
  81. package/src/stories/Molecules/index.js +2 -1
  82. package/src/stories/Molecules/meta_Molecules.js +6 -3
  83. package/src/themes/styles/neurons/light.css +94 -204
  84. package/dist/Styles.md +0 -446
  85. package/dist/context.md +0 -942
  86. package/src/Theme.jsx +0 -28
  87. package/src/components/CodeBlock.jsx +0 -22
  88. package/src/components/ComponentFactory.jsx +0 -36
  89. package/src/components/ComponentRegistry.js +0 -21
  90. package/src/scripts/generateComponents.js +0 -166
  91. package/src/scripts/verifyLayouts.js +0 -175
  92. package/src/scripts/verifyMolecules.js +0 -158
  93. package/src/scripts/verifyTemplates.js +0 -154
  94. package/src/scripts/verify_and_install_atoms.js +0 -211
  95. package/src/stories/Layouts/DropdownMenu/DropdownMenu.css +0 -16
  96. package/src/stories/Layouts/DropdownMenu/DropdownMenu.jsx +0 -31
  97. package/src/stories/Layouts/DropdownMenu/DropdownMenu.stories.jsx +0 -28
  98. package/src/stories/Layouts/Grid/Grid.css +0 -4
  99. package/src/stories/Layouts/Grid/Grid.jsx +0 -13
  100. package/src/stories/Layouts/Grid/Grid.stories.jsx +0 -28
  101. package/src/stories/Layouts/Section/Section.css +0 -16
  102. package/src/stories/Layouts/Section/Section.jsx +0 -31
  103. package/src/stories/Layouts/Section/Section.stories.jsx +0 -28
  104. /package/src/themes/{README.md → README_Styles.md} +0 -0
@@ -1,16 +1,293 @@
1
-
1
+ /* Base Accordion Styles */
2
2
  .accordion {
3
+ border-radius: var(--border-radius);
4
+ transition: var(--transition-speed) ease;
5
+ }
6
+
7
+ /* Accordion Item Styles */
8
+ .accordion__item {
9
+ margin-bottom: var(--spacing-sm);
10
+ }
11
+
12
+ /* Accordion Header */
13
+ .accordion__header {
14
+ padding: 16px;
15
+ width: 100%;
16
+ text-align: left;
17
+ border: none;
18
+ cursor: pointer;
3
19
  display: flex;
4
- flex-wrap: wrap;
20
+ justify-content: space-between;
21
+ align-items: center;
22
+ transition: background-color var(--transition-speed), color var(--transition-speed);
23
+ }
24
+
25
+ /* PRIMARY VARIANT (Full Background Color) */
26
+ .accordion--primary .accordion__header {
27
+ background-color: var(--primary-color);
28
+ color: var(--text-color-inverse);
29
+ }
30
+
31
+ /* Ensure the secondary variant starts with no background */
32
+ .accordion--secondary .accordion__header {
33
+ background-color: transparent;
34
+ }
35
+
36
+ /* Background color variants for Primary */
37
+ .accordion--primary.accordion--secondary .accordion__header {
38
+ background-color: var(--secondary-color);
39
+ }
40
+
41
+ .accordion--primary.accordion--info .accordion__header {
42
+ background-color: var(--info-color);
43
+ }
44
+
45
+ .accordion--primary.accordion--warning .accordion__header {
46
+ background-color: var(--warning-color);
47
+ }
48
+
49
+ .accordion--primary.accordion--alert .accordion__header {
50
+ background-color: var(--alert-color);
51
+ }
52
+
53
+ .accordion--primary.accordion--success .accordion__header {
54
+ background-color: var(--success-color);
55
+ }
56
+
57
+ .accordion--primary.accordion--neutral .accordion__header {
58
+ background-color: var(--neutral-color);
59
+ }
60
+
61
+ .accordion--primary.accordion--dark .accordion__header {
62
+ background-color: var(--dark-color);
63
+ }
64
+
65
+ /* Classy Palette */
66
+ .accordion--primary.accordion--classy-color-1 .accordion__header {
67
+ background-color: var(--classy-color-1);
68
+ }
69
+
70
+ .accordion--primary.accordion--classy-color-2 .accordion__header {
71
+ background-color: var(--classy-color-2);
72
+ }
73
+
74
+ .accordion--primary.accordion--classy-color-3 .accordion__header {
75
+ background-color: var(--classy-color-3);
76
+ }
77
+
78
+ .accordion--primary.accordion--classy-color-4 .accordion__header {
79
+ background-color: var(--classy-color-4);
80
+ }
81
+
82
+ .accordion--primary.accordion--classy-color-5 .accordion__header {
83
+ background-color: var(--classy-color-5);
84
+ }
85
+
86
+ /* Small Switch Palette */
87
+ .accordion--primary.accordion--small-switch-color-1 .accordion__header {
88
+ background-color: var(--small-switch-color-1);
89
+ }
90
+
91
+ .accordion--primary.accordion--small-switch-color-2 .accordion__header {
92
+ background-color: var(--small-switch-color-2);
93
+ }
94
+
95
+ /* Natural Palette */
96
+ .accordion--primary.accordion--natural-color-1 .accordion__header {
97
+ background-color: var(--natural-color-1);
98
+ }
99
+
100
+ .accordion--primary.accordion--natural-color-2 .accordion__header {
101
+ background-color: var(--natural-color-2);
102
+ }
103
+
104
+ .accordion--primary.accordion--natural-color-3 .accordion__header {
105
+ background-color: var(--natural-color-3);
106
+ }
107
+
108
+ /* Grey Friends */
109
+ .accordion--primary.accordion--grey-friend-1 .accordion__header {
110
+ background-color: var(--grey-friend-1);
111
+ }
112
+
113
+ .accordion--primary.accordion--grey-friend-2 .accordion__header {
114
+ background-color: var(--grey-friend-2);
115
+ }
116
+
117
+ /* Shades */
118
+ .accordion--primary.accordion--shade-1 .accordion__header {
119
+ background-color: var(--shade-1);
120
+ }
121
+
122
+ .accordion--primary.accordion--shade-2 .accordion__header {
123
+ background-color: var(--shade-2);
124
+ }
125
+
126
+ .accordion--primary.accordion--shade-3 .accordion__header {
127
+ background-color: var(--shade-3);
128
+ }
129
+
130
+ .accordion--primary.accordion--shade-4 .accordion__header {
131
+ background-color: var(--shade-4);
132
+ }
133
+
134
+ /* SECONDARY VARIANT (Border Only) */
135
+ .accordion--secondary .accordion__header {
136
+ background-color: transparent; /* Ensure transparent background */
137
+ border: 2px solid var(--primary-color); /* Default border color */
138
+ color: var(--primary-color); /* Default text color */
139
+ }
140
+
141
+ .accordion--secondary.accordion--secondary .accordion__header {
142
+ border-color: var(--secondary-color);
143
+ color: var(--secondary-color);
144
+ }
145
+
146
+ .accordion--secondary.accordion--info .accordion__header {
147
+ border-color: var(--info-color);
148
+ color: var(--info-color);
149
+ }
150
+
151
+ .accordion--secondary.accordion--warning .accordion__header {
152
+ border-color: var(--warning-color);
153
+ color: var(--warning-color);
154
+ }
155
+
156
+ .accordion--secondary.accordion--alert .accordion__header {
157
+ border-color: var(--alert-color);
158
+ color: var(--alert-color);
159
+ }
160
+
161
+ .accordion--secondary.accordion--success .accordion__header {
162
+ border-color: var(--success-color);
163
+ color: var(--success-color);
164
+ }
165
+
166
+ .accordion--secondary.accordion--neutral .accordion__header {
167
+ border-color: var(--neutral-color);
168
+ color: var(--neutral-color);
169
+ }
170
+
171
+ .accordion--secondary.accordion--dark .accordion__header {
172
+ border-color: var(--dark-color);
173
+ color: var(--dark-color);
174
+ }
175
+
176
+ /* Classy Palette */
177
+ .accordion--secondary.accordion--classy-color-1 .accordion__header {
178
+ border-color: var(--classy-color-1);
179
+ color: var(--classy-color-1);
180
+ }
181
+
182
+ .accordion--secondary.accordion--classy-color-2 .accordion__header {
183
+ border-color: var(--classy-color-2);
184
+ color: var(--classy-color-2);
185
+ }
186
+
187
+ .accordion--secondary.accordion--classy-color-3 .accordion__header {
188
+ border-color: var(--classy-color-3);
189
+ color: var(--classy-color-3);
190
+ }
191
+
192
+ .accordion--secondary.accordion--classy-color-4 .accordion__header {
193
+ border-color: var(--classy-color-4);
194
+ color: var(--classy-color-4);
195
+ }
196
+
197
+ .accordion--secondary.accordion--classy-color-5 .accordion__header {
198
+ border-color: var(--classy-color-5);
199
+ color: var(--classy-color-5);
200
+ }
201
+
202
+ /* Small Switch Palette */
203
+ .accordion--secondary.accordion--small-switch-color-1 .accordion__header {
204
+ border-color: var(--small-switch-color-1);
205
+ color: var(--small-switch-color-1);
206
+ }
207
+
208
+ .accordion--secondary.accordion--small-switch-color-2 .accordion__header {
209
+ border-color: var(--small-switch-color-2);
210
+ color: var(--small-switch-color-2);
211
+ }
212
+
213
+ /* Natural Palette */
214
+ .accordion--secondary.accordion--natural-color-1 .accordion__header {
215
+ border-color: var(--natural-color-1);
216
+ color: var(--natural-color-1);
217
+ }
218
+
219
+ .accordion--secondary.accordion--natural-color-2 .accordion__header {
220
+ border-color: var(--natural-color-2);
221
+ color: var(--natural-color-2);
222
+ }
223
+
224
+ .accordion--secondary.accordion--natural-color-3 .accordion__header {
225
+ border-color: var(--natural-color-3);
226
+ color: var(--natural-color-3);
227
+ }
228
+
229
+ /* Grey Friends */
230
+ .accordion--secondary.accordion--grey-friend-1 .accordion__header {
231
+ border-color: var(--grey-friend-1);
232
+ color: var(--grey-friend-1);
233
+ }
234
+
235
+ .accordion--secondary.accordion--grey-friend-2 .accordion__header {
236
+ border-color: var(--grey-friend-2);
237
+ color: var(--grey-friend-2);
238
+ }
239
+
240
+ /* Shades */
241
+ .accordion--secondary.accordion--shade-1 .accordion__header {
242
+ border-color: var(--shade-1);
243
+ color: var(--shade-1);
244
+ }
245
+
246
+ .accordion--secondary.accordion--shade-2 .accordion__header {
247
+ border-color: var(--shade-2);
248
+ color: var(--shade-2);
249
+ }
250
+
251
+ .accordion--secondary.accordion--shade-3 .accordion__header {
252
+ border-color: var(--shade-3);
253
+ color: var(--shade-3);
254
+ }
255
+
256
+ .accordion--secondary.accordion--shade-4 .accordion__header {
257
+ border-color: var(--shade-4);
258
+ color: var(--shade-4);
259
+ }
260
+ /* Accordion Content */
261
+ .accordion__content {
262
+ max-height: 0;
263
+ overflow: hidden;
264
+ transition: max-height 0.3s ease;
265
+ padding: 0 16px;
266
+ background-color: inherit;
267
+ }
268
+
269
+ /* Border Option for Accordion Content */
270
+ .accordion--border .accordion__content {
271
+ border: 1px solid var(--border-color);
272
+ }
273
+
274
+ .accordion__content--open {
275
+ max-height: 200px;
5
276
  padding: 16px;
6
- gap: 8px;
7
- border: 1px solid #ddd;
8
277
  }
9
278
 
10
- .accordion--primary {
11
- background-color: #e3f2fd;
279
+ /* Icon for Expand/Collapse */
280
+ .accordion__icon {
281
+ transition: transform var(--transition-speed);
12
282
  }
13
283
 
14
- .accordion--secondary {
15
- background-color: #fff;
284
+ .accordion__icon--open {
285
+ transform: rotate(180deg);
16
286
  }
287
+
288
+ /* Responsive Styles */
289
+ @media (max-width: 768px) {
290
+ .accordion__header {
291
+ font-size: var(--font-size-small);
292
+ }
293
+ }
@@ -1,31 +1,74 @@
1
-
2
- import React from 'react';
1
+ import React, { useState } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import './Accordion.css';
5
4
 
6
- /**
7
- * Accordion layout component
8
- */
9
- export const Accordion = ({ children, primary, ...props }) => {
10
- const mode = primary ? 'accordion--primary' : 'accordion--secondary';
5
+ export const Accordion = ({ allowMultipleOpen, items, color, variant, showArrow, border }) => {
6
+ const [openIndexes, setOpenIndexes] = useState([]);
7
+
8
+ const handleToggle = (index) => {
9
+ if (openIndexes.includes(index)) {
10
+ setOpenIndexes(openIndexes.filter((i) => i !== index));
11
+ } else {
12
+ setOpenIndexes(allowMultipleOpen ? [...openIndexes, index] : [index]);
13
+ }
14
+ };
15
+
16
+ const accordionClass = `accordion accordion--${variant} accordion--${color} ${border ? 'accordion--border' : ''}`;
17
+
11
18
  return (
12
- <div className={['accordion', mode].join(' ')} {...props}>
13
- {children}
19
+ <div className={accordionClass}>
20
+ {items.map((item, index) => (
21
+ <div key={index} className="accordion__item">
22
+ <button
23
+ className={`accordion__header`}
24
+ onClick={() => handleToggle(index)}
25
+ aria-expanded={openIndexes.includes(index)}
26
+ aria-controls={`accordion__content-${index}`}
27
+ >
28
+ {item.title}
29
+ {showArrow && (
30
+ <span className={`accordion__icon ${openIndexes.includes(index) ? 'accordion__icon--open' : ''}`}>
31
+ &#9662;
32
+ </span>
33
+ )}
34
+ </button>
35
+ <div
36
+ id={`accordion__content-${index}`}
37
+ className={`accordion__content ${openIndexes.includes(index) ? 'accordion__content--open' : ''}`}
38
+ >
39
+ {item.content}
40
+ </div>
41
+ </div>
42
+ ))}
14
43
  </div>
15
44
  );
16
45
  };
17
46
 
18
47
  Accordion.propTypes = {
19
- /**
20
- * Primary style for the layout
21
- */
22
- primary: PropTypes.bool,
23
- /**
24
- * Children components to be rendered inside the layout
25
- */
26
- children: PropTypes.node.isRequired,
48
+ allowMultipleOpen: PropTypes.bool,
49
+ items: PropTypes.arrayOf(
50
+ PropTypes.shape({
51
+ title: PropTypes.string.isRequired,
52
+ content: PropTypes.node.isRequired,
53
+ })
54
+ ).isRequired,
55
+ variant: PropTypes.oneOf(['primary', 'secondary']),
56
+ color: PropTypes.oneOf([
57
+ 'primary', 'secondary', 'info', 'warning', 'alert', 'success', 'neutral', 'dark',
58
+ 'classy-color-1', 'classy-color-2', 'classy-color-3', 'classy-color-4', 'classy-color-5',
59
+ 'small-switch-color-1', 'small-switch-color-2',
60
+ 'natural-color-1', 'natural-color-2', 'natural-color-3',
61
+ 'grey-friend-1', 'grey-friend-2',
62
+ 'shade-1', 'shade-2', 'shade-3', 'shade-4'
63
+ ]),
64
+ showArrow: PropTypes.bool,
65
+ border: PropTypes.bool,
27
66
  };
28
67
 
29
68
  Accordion.defaultProps = {
30
- primary: false,
31
- };
69
+ allowMultipleOpen: false,
70
+ color: 'primary',
71
+ variant: 'primary',
72
+ showArrow: true,
73
+ border: false,
74
+ };
@@ -1,28 +1,39 @@
1
-
1
+ import React from 'react';
2
2
  import { Accordion } from './Accordion';
3
3
 
4
- // Storybook configuration for Accordion component
5
4
  export default {
6
- title: 'Layouts/ContentOrganization/Accordion',
5
+ title: 'Molecules/Organization/Accordion',
7
6
  component: Accordion,
8
- parameters: {
9
- layout: 'fullscreen',
10
- },
11
7
  argTypes: {
12
- children: { control: 'text' },
8
+ allowMultipleOpen: { control: 'boolean', defaultValue: false },
9
+ variant: {
10
+ control: 'select',
11
+ options: ['primary', 'secondary'],
12
+ defaultValue: 'primary',
13
+ },
14
+ color: {
15
+ control: 'select',
16
+ options: [
17
+ 'primary', 'secondary', 'info', 'warning', 'alert', 'success', 'neutral', 'dark',
18
+ 'classy-color-1', 'classy-color-2', 'classy-color-3', 'classy-color-4', 'classy-color-5',
19
+ 'small-switch-color-1', 'small-switch-color-2',
20
+ 'natural-color-1', 'natural-color-2', 'natural-color-3',
21
+ 'grey-friend-1', 'grey-friend-2',
22
+ 'shade-1', 'shade-2', 'shade-3', 'shade-4'
23
+ ],
24
+ defaultValue: 'primary',
25
+ },
26
+ showArrow: { control: 'boolean', defaultValue: true },
27
+ border: { control: 'boolean', defaultValue: false },
13
28
  },
14
29
  };
15
30
 
16
- export const Primary = {
17
- args: {
18
- primary: true,
19
- children: 'This is a primary Accordion layout.',
20
- },
21
- };
31
+ const items = [
32
+ { title: 'Section 1', content: 'Content for section 1' },
33
+ { title: 'Section 2', content: 'Content for section 2' },
34
+ { title: 'Section 3', content: 'Content for section 3' },
35
+ ];
22
36
 
23
- export const Secondary = {
24
- args: {
25
- primary: false,
26
- children: 'This is a secondary Accordion layout.',
27
- },
28
- };
37
+ export const DefaultAccordion = (args) => <Accordion {...args} items={items} />;
38
+ export const MultipleOpenAccordion = (args) => <Accordion {...args} allowMultipleOpen={true} items={items} />;
39
+ export const AccordionWithBorder = (args) => <Accordion {...args} border={true} items={items} />;
@@ -1,10 +1,7 @@
1
1
  // this.GUI/src/stories/Layouts/index.js
2
- import { Grid } from './Grid/Grid';
3
- import { Section } from './Section/Section';
4
2
  import { Flexbox } from './Flexbox/Flexbox';
5
3
  import { Header } from './Header/Header';
6
4
  import { Footer } from './Footer/Footer';
7
- import { DropdownMenu } from './DropdownMenu/DropdownMenu';
8
5
  import { Pagination } from './Pagination/Pagination';
9
6
  import { Sidebar } from './Sidebar/Sidebar';
10
7
  import { Tabs } from './Tabs/Tabs';
@@ -14,12 +11,9 @@ import { HeroImageVideo } from './HeroImageVideo/HeroImageVideo';
14
11
 
15
12
  // Flattened export of all layout components
16
13
  const Layouts = {
17
- Grid,
18
- Section,
19
14
  Flexbox,
20
15
  Header,
21
16
  Footer,
22
- DropdownMenu,
23
17
  Pagination,
24
18
  Sidebar,
25
19
  Tabs,
@@ -3,19 +3,16 @@ const Layout = {
3
3
  "Grid": [
4
4
  { name: "Grid", paths: { css: "./Grid/Grid.css", globalCss: "styles/global.css", jsx: "./Layout/Grid/Grid.jsx", stories: "src/stories/Layout/Grid/Grid.stories.jsx" }},
5
5
  ],
6
- "Section": [
7
- { name: "Section", paths: { css: "./Section/Section.css", globalCss: "styles/global.css", jsx: "./Layout/Section/Section.jsx", stories: "src/stories/Layout/Section/Section.stories.jsx" }},
8
- ],
9
6
  "FlexboxLayout": [
10
7
  { name: "Flexbox", paths: { css: "./Flexbox/Flexbox.css", globalCss: "styles/global.css", jsx: "./Layout/Flexbox/Flexbox.jsx", stories: "src/stories/Layout/Flexbox/Flexbox.stories.jsx" }},
11
8
  ],
12
9
  "NavigationAndMenus": [
13
10
  { name: "Header", paths: { css: "./Header/Header.css", globalCss: "styles/global.css", jsx: "./Layout/Header/Header.jsx", stories: "src/stories/Layout/Header/Header.stories.jsx" }},
14
11
  { name: "Footer", paths: { css: "./Footer/Footer.css", globalCss: "styles/global.css", jsx: "./Layout/Footer/Footer.jsx", stories: "src/stories/Layout/Footer/Footer.stories.jsx" }},
15
- { name: "DropdownMenu", paths: { css: "./DropdownMenu/DropdownMenu.css", globalCss: "styles/global.css", jsx: "./Layout/DropdownMenu/DropdownMenu.jsx", stories: "src/stories/Layout/DropdownMenu/DropdownMenu.stories.jsx" }},
12
+ { name: "Dropdown", paths: { css: "./Dropdown/Dropdown.css", globalCss: "styles/global.css", jsx: "./Layout/Dropdown/Dropdown.jsx", stories: "src/stories/Layout/Dropdown/Dropdown.stories.jsx" }},
16
13
  { name: "Pagination", paths: { css: "./Pagination/Pagination.css", globalCss: "styles/global.css", jsx: "./Layout/Pagination/Pagination.jsx", stories: "src/stories/Layout/Pagination/Pagination.stories.jsx" }},
17
14
  ],
18
- "ContentOrganization": [
15
+ "Organization": [
19
16
  { name: "Sidebar", paths: { css: "./Sidebar/Sidebar.css", globalCss: "styles/global.css", jsx: "./Layout/Sidebar/Sidebar.jsx", stories: "src/stories/Layout/Sidebar/Sidebar.stories.jsx" }},
20
17
  { name: "Tabs", paths: { css: "./Tabs/Tabs.css", globalCss: "styles/global.css", jsx: "./Layout/Tabs/Tabs.jsx", stories: "src/stories/Layout/Tabs/Tabs.stories.jsx" }},
21
18
  { name: "Accordion", paths: { css: "./Accordion/Accordion.css", globalCss: "styles/global.css", jsx: "./Layout/Accordion/Accordion.jsx", stories: "src/stories/Layout/Accordion/Accordion.stories.jsx" }},
@@ -1,4 +1,4 @@
1
-
1
+ /*this.GUI/src/stories/Molecules/Accordion/Accordion.css*/
2
2
  .accordion {
3
3
  /* Default styles for Accordion */
4
4
  }
@@ -1,4 +1,4 @@
1
-
1
+ //this.GUI/src/stories/Molecules/Accordion/Accordion.jsx
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import './Accordion.css';
@@ -1,4 +1,4 @@
1
-
1
+ //this.GUI/src/stories/Molecules/Accordion/Accordion.stories.jsx
2
2
  import { Accordion } from './Accordion';
3
3
 
4
4
  // Storybook configuration for Accordion component
@@ -1,4 +1,97 @@
1
+ /*this.GUI/src/stories/Molecules/AudioPlayer/AudioPlayer.css*/
2
+ .audio-player {
3
+ display: flex;
4
+ flex-direction: column;
5
+ align-items: center;
6
+ background-color: rgba(245, 245, 245, 0.3); /* Subtle grey with low opacity */
7
+ padding: var(--spacing-md, 16px);
8
+ border-radius: var(--border-radius, 6px);
9
+ gap: var(--spacing-sm, 8px);
10
+ max-width: 400px;
11
+ border: 1px solid var(--border-color, #dddddd);
12
+ transition: background-color var(--transition-speed, 0.3s);
13
+ }
14
+
15
+ .audio-player__media img {
16
+ width: 100%;
17
+ border-radius: var(--border-radius, 6px);
18
+ }
19
+
20
+ .audio-player__track-name {
21
+ font-weight: bold;
22
+ font-size: var(--font-size-medium, 1.1rem);
23
+ margin-bottom: var(--spacing-xs, 8px);
24
+ color: var(--icon-color, #344b47);
25
+ }
26
+
27
+ .audio-player__controls {
28
+ display: flex;
29
+ align-items: center;
30
+ gap: var(--spacing-sm, 8px);
31
+ }
32
+
33
+ .audio-player__seek {
34
+ display: flex;
35
+ align-items: center;
36
+ flex-direction: column;
37
+ width: 100%;
38
+ gap: var(--spacing-xs, 4px);
39
+ }
40
+
41
+ .audio-player__seek-slider {
42
+ width: 100%;
43
+ cursor: pointer;
44
+ appearance: none;
45
+ height: 4px;
46
+ background: var(--grey-friend-2, #96b1ac);
47
+ border-radius: 2px;
48
+ outline: none;
49
+ transition: background var(--transition-speed, 0.3s);
50
+ }
1
51
 
2
- .audioplayer {
3
- /* Default styles for AudioPlayer */
52
+ .audio-player__seek-slider::-webkit-slider-thumb {
53
+ appearance: none;
54
+ width: 12px;
55
+ height: 12px;
56
+ background: var(--icon-color, #344b47);
57
+ border-radius: 50%;
58
+ cursor: pointer;
59
+ margin-top: -4px;
60
+ transition: background var(--transition-speed, 0.3s);
4
61
  }
62
+
63
+ .audio-player__time {
64
+ font-size: var(--font-size-small, 0.9em);
65
+ color: var(--icon-color, #344b47);
66
+ }
67
+
68
+ .audio-player__playlist {
69
+ width: 100%;
70
+ margin-top: var(--spacing-sm, 8px);
71
+ border-top: 1px solid var(--border-color);
72
+ padding-top: var(--spacing-xs, 8px);
73
+ }
74
+
75
+ .audio-player__track {
76
+ padding: var(--spacing-sm, 8px);
77
+ cursor: pointer;
78
+ transition: background-color var(--transition-speed, 0.3s);
79
+ text-align: center;
80
+ }
81
+
82
+ .audio-player__track:hover {
83
+ background-color: var(--primary-color-hover, #16655C);
84
+ color: var(--text-color-inverse, #ffffff);
85
+ }
86
+
87
+ .audio-player__track.active {
88
+ background-color: var(--primary-color, #1F877D);
89
+ color: var(--text-color-inverse, #ffffff);
90
+ }
91
+
92
+ /* Responsive Adjustments */
93
+ @media (max-width: 768px) {
94
+ .audio-player {
95
+ max-width: 100%;
96
+ }
97
+ }