this.gui 1.0.17 → 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.
@@ -1,43 +1,306 @@
1
- /* src/stories/Atoms/Container/Container.css */
2
-
3
1
  /* Base Container Styles */
4
2
  .container {
5
- padding: var(--spacing-md);
6
- background-color: transparent;
7
- transition: all var(--transition-speed) ease;
3
+ width: 100%;
4
+ margin-left: auto;
5
+ margin-right: auto;
8
6
  box-sizing: border-box;
9
- position: var(--position, static);
10
7
  }
11
8
 
12
- /* Border Variant */
13
9
  .container--border {
14
- border: 1px solid var(--border-color);
10
+ border: 1px solid var(--border-color, #000); /* Defaults to #000 if --border-color is not defined */
15
11
  }
12
+ /* Rounded Corners */
13
+ .container--rounded {
14
+ border-radius: var(--border-radius, 8px); /* Default to 8px if --border-radius is not defined */
15
+ }
16
+
17
+ /* Border Color Variants */
16
18
 
17
- /* Size Variants */
18
- .container--small {
19
- width: 25%;
19
+ /* Primary Colors */
20
+ .container--border-primary {
21
+ border-color: var(--primary-color);
20
22
  }
21
23
 
22
- .container--medium {
23
- width: 50%;
24
+ .container--border-secondary {
25
+ border-color: var(--secondary-color);
24
26
  }
25
27
 
26
- .container--large {
27
- width: 75%;
28
+ .container--border-link {
29
+ border-color: var(--link-color);
28
30
  }
29
31
 
30
- /* Fluid Variant */
31
- .container--fluid {
32
- width: 100%;
32
+ .container--border-focus {
33
+ border-color: var(--focus-color);
33
34
  }
34
35
 
35
- /* Rounded Corners */
36
- .container--rounded {
37
- border-radius: var(--border-radius);
36
+ .container--border-info {
37
+ border-color: var(--info-color);
38
+ }
39
+
40
+ .container--border-warning {
41
+ border-color: var(--warning-color);
42
+ }
43
+
44
+ .container--border-alert {
45
+ border-color: var(--alert-color);
46
+ }
47
+
48
+ .container--border-success {
49
+ border-color: var(--success-color);
50
+ }
51
+
52
+ .container--border-neutral {
53
+ border-color: var(--neutral-color);
54
+ }
55
+
56
+ .container--border-dark {
57
+ border-color: var(--dark-color);
58
+ }
59
+
60
+ /* Classy Palette */
61
+ .container--border-classy-1 {
62
+ border-color: var(--classy-color-1);
63
+ }
64
+
65
+ .container--border-classy-2 {
66
+ border-color: var(--classy-color-2);
67
+ }
68
+
69
+ .container--border-classy-3 {
70
+ border-color: var(--classy-color-3);
71
+ }
72
+
73
+ .container--border-classy-4 {
74
+ border-color: var(--classy-color-4);
75
+ }
76
+
77
+ .container--border-classy-5 {
78
+ border-color: var(--classy-color-5);
79
+ }
80
+
81
+ /* Small Switch Palette */
82
+ .container--border-small-switch-1 {
83
+ border-color: var(--small-switch-color-1);
84
+ }
85
+
86
+ .container--border-small-switch-2 {
87
+ border-color: var(--small-switch-color-2);
88
+ }
89
+
90
+ /* Natural Palette */
91
+ .container--border-natural-1 {
92
+ border-color: var(--natural-color-1);
93
+ }
94
+
95
+ .container--border-natural-2 {
96
+ border-color: var(--natural-color-2);
97
+ }
98
+
99
+ .container--border-natural-3 {
100
+ border-color: var(--natural-color-3);
101
+ }
102
+
103
+ /* Grey Friends */
104
+ .container--border-grey-friend-1 {
105
+ border-color: var(--grey-friend-1);
106
+ }
107
+
108
+ .container--border-grey-friend-2 {
109
+ border-color: var(--grey-friend-2);
110
+ }
111
+
112
+ /* Shades */
113
+ .container--border-shade-1 {
114
+ border-color: var(--shade-1);
115
+ }
116
+
117
+ .container--border-shade-2 {
118
+ border-color: var(--shade-2);
119
+ }
120
+
121
+ .container--border-shade-3 {
122
+ border-color: var(--shade-3);
123
+ }
124
+
125
+ .container--border-shade-4 {
126
+ border-color: var(--shade-4);
127
+ }
128
+
129
+ /* No Border Color */
130
+ .container--border-none {
131
+ border: 1px solid var(--border-color, #000); /* Defaults to #000 if --border-color is not defined */
132
+ }
133
+
134
+ /* Background Color Variants */
135
+ .container--bg-primary {
136
+ background-color: var(--primary-color);
137
+ }
138
+
139
+ .container--bg-secondary {
140
+ background-color: var(--secondary-color);
141
+ }
142
+
143
+ .container--bg-link {
144
+ background-color: var(--link-color);
145
+ }
146
+
147
+ .container--bg-focus {
148
+ background-color: var(--focus-color);
149
+ }
150
+
151
+ .container--bg-info {
152
+ background-color: var(--info-color);
153
+ }
154
+
155
+ .container--bg-warning {
156
+ background-color: var(--warning-color);
157
+ }
158
+
159
+ .container--bg-alert {
160
+ background-color: var(--alert-color);
161
+ }
162
+
163
+ .container--bg-success {
164
+ background-color: var(--success-color);
165
+ }
166
+
167
+ .container--bg-neutral {
168
+ background-color: var(--neutral-color);
169
+ }
170
+
171
+ .container--bg-dark {
172
+ background-color: var(--dark-color);
173
+ }
174
+
175
+ .container--bg-classy-1 {
176
+ background-color: var(--classy-color-1);
177
+ }
178
+
179
+ .container--bg-classy-2 {
180
+ background-color: var(--classy-color-2);
181
+ }
182
+
183
+ .container--bg-classy-3 {
184
+ background-color: var(--classy-color-3);
185
+ }
186
+
187
+ .container--bg-classy-4 {
188
+ background-color: var(--classy-color-4);
189
+ }
190
+
191
+ .container--bg-classy-5 {
192
+ background-color: var(--classy-color-5);
193
+ }
194
+
195
+ .container--bg-small-switch-1 {
196
+ background-color: var(--small-switch-color-1);
197
+ }
198
+
199
+ .container--bg-small-switch-2 {
200
+ background-color: var(--small-switch-color-2);
201
+ }
202
+
203
+ .container--bg-natural-1 {
204
+ background-color: var(--natural-color-1);
205
+ }
206
+
207
+ .container--bg-natural-2 {
208
+ background-color: var(--natural-color-2);
209
+ }
210
+
211
+ .container--bg-natural-3 {
212
+ background-color: var(--natural-color-3);
213
+ }
214
+
215
+ .container--bg-grey-friend-1 {
216
+ background-color: var(--grey-friend-1);
217
+ }
218
+
219
+ .container--bg-grey-friend-2 {
220
+ background-color: var(--grey-friend-2);
221
+ }
222
+
223
+ .container--bg-shade-1 {
224
+ background-color: var(--shade-1);
225
+ }
226
+
227
+ .container--bg-shade-2 {
228
+ background-color: var(--shade-2);
229
+ }
230
+
231
+ .container--bg-shade-3 {
232
+ background-color: var(--shade-3);
233
+ }
234
+
235
+ .container--bg-shade-4 {
236
+ background-color: var(--shade-4);
237
+ }
238
+
239
+ .container--bg-none {
240
+ background-color: transparent;
241
+ }
242
+
243
+ /* Size Variants for Non-Fluid Containers */
244
+ .container--size-small:not(.container--fluid) {
245
+ max-width: 100%;
246
+ }
247
+
248
+ .container--size-medium:not(.container--fluid) {
249
+ max-width: 100%;
250
+ }
251
+
252
+ .container--size-large:not(.container--fluid) {
253
+ max-width: 100%;
254
+ }
255
+
256
+ /* Media Queries for Responsive Sizes */
257
+
258
+ /* Small Devices (mobile phones, min-width: 480px) */
259
+ @media (min-width: 480px) {
260
+ .container--size-small:not(.container--fluid) {
261
+ max-width: 600px;
262
+ }
263
+ }
264
+
265
+ /* Medium Devices (tablets, min-width: 768px) */
266
+ @media (min-width: 768px) {
267
+ .container--size-medium:not(.container--fluid) {
268
+ max-width: 960px;
269
+ }
270
+ }
271
+
272
+ /* Large Devices (desktops, min-width: 1200px) */
273
+ @media (min-width: 1200px) {
274
+ .container--size-large:not(.container--fluid) {
275
+ max-width: 1560px;
276
+ }
38
277
  }
39
278
 
40
- /* Alignment */
279
+ /* Extra Large Devices (large desktops, 1200px and up) */
280
+ @media (min-width: 1200px) {
281
+ .container--size-medium:not(.container--fluid),
282
+ .container--size-large:not(.container--fluid) {
283
+ max-width: 1140px;
284
+ }
285
+ }
286
+
287
+ /* Extra Extra Large Devices (larger desktops, min-width: 1920px) */
288
+ @media (min-width: 1920px) {
289
+ .container--size-extra-large:not(.container--fluid) {
290
+ max-width: 2520px;
291
+ }
292
+ }
293
+
294
+
295
+ /* Fluid Container Adjustments */
296
+ .container--fluid {
297
+ width: 100% !important;
298
+ max-width: 100% !important;
299
+ padding-left: var(--spacing-md);
300
+ padding-right: var(--spacing-md);
301
+ }
302
+
303
+ /* Align Variants */
41
304
  .container--align-left {
42
305
  margin-left: 0;
43
306
  margin-right: auto;
@@ -53,37 +316,155 @@
53
316
  margin-right: 0;
54
317
  }
55
318
 
56
- /* Positioning */
319
+ /* Position Variants */
320
+ .container--position-relative {
321
+ position: relative;
322
+ }
323
+
57
324
  .container--position-static {
58
325
  position: static;
59
326
  }
60
327
 
61
- .container--position-relative {
62
- position: relative;
328
+ .container--position-fixed {
329
+ position: fixed;
63
330
  }
64
331
 
65
332
  .container--position-absolute {
66
333
  position: absolute;
67
334
  }
68
335
 
336
+ .container--position-sticky {
337
+ position: sticky;
338
+ }
339
+
340
+ /* Padding Variants */
341
+ .container--padding-sm {
342
+ padding: var(--spacing-sm);
343
+ }
344
+
345
+ .container--padding-md {
346
+ padding: var(--spacing-md);
347
+ }
348
+
349
+ .container--padding-lg {
350
+ padding: var(--spacing-lg);
351
+ }
352
+
353
+ /* Margin Variants */
354
+ .container--mt-sm {
355
+ margin-top: var(--spacing-sm);
356
+ }
357
+
358
+ .container--mt-md {
359
+ margin-top: var(--spacing-md);
360
+ }
361
+
362
+ .container--mt-lg {
363
+ margin-top: var(--spacing-lg);
364
+ }
365
+
366
+ .container--mb-sm {
367
+ margin-bottom: var(--spacing-sm);
368
+ }
369
+
370
+ .container--mb-md {
371
+ margin-bottom: var(--spacing-md);
372
+ }
373
+
374
+ .container--mb-lg {
375
+ margin-bottom: var(--spacing-lg);
376
+ }
377
+
378
+ .container--ml-sm {
379
+ margin-left: var(--spacing-sm);
380
+ }
381
+
382
+ .container--ml-md {
383
+ margin-left: var(--spacing-md);
384
+ }
385
+
386
+ .container--ml-lg {
387
+ margin-left: var(--spacing-lg);
388
+ }
389
+
390
+ .container--mr-sm {
391
+ margin-right: var(--spacing-sm);
392
+ }
393
+
394
+ .container--mr-md {
395
+ margin-right: var(--spacing-md);
396
+ }
397
+
398
+ .container--mr-lg {
399
+ margin-right: var(--spacing-lg);
400
+ }
401
+
402
+ /* Size Variants for Non-Fluid Containers */
403
+ .container--size-small:not(.container--fluid) {
404
+ max-width: 600px;
405
+ }
406
+
407
+ .container--size-medium:not(.container--fluid) {
408
+ max-width: 960px;
409
+ }
410
+
411
+ .container--size-large:not(.container--fluid) {
412
+ max-width: 1200px;
413
+ }
414
+
415
+ /* Fluid Container Adjustments */
416
+ .container--fluid {
417
+ max-width: 100%;
418
+ }
419
+
420
+ .container--fluid.container--size-small {
421
+ padding-left: var(--spacing-sm);
422
+ padding-right: var(--spacing-sm);
423
+ }
424
+
425
+ .container--fluid.container--size-medium {
426
+ padding-left: var(--spacing-md);
427
+ padding-right: var(--spacing-md);
428
+ }
429
+
430
+ .container--fluid.container--size-large {
431
+ padding-left: var(--spacing-lg);
432
+ padding-right: var(--spacing-lg);
433
+ }
434
+
435
+ /* Align Variants */
436
+ .container--align-left {
437
+ margin-left: 0;
438
+ margin-right: auto;
439
+ }
440
+
441
+ .container--align-center {
442
+ margin-left: auto;
443
+ margin-right: auto;
444
+ }
445
+
446
+ .container--align-right {
447
+ margin-left: auto;
448
+ margin-right: 0;
449
+ }
450
+
451
+ /* Position Variants */
452
+ .container--position-relative {
453
+ position: relative;
454
+ }
455
+
456
+ .container--position-static {
457
+ position: static;
458
+ }
459
+
69
460
  .container--position-fixed {
70
461
  position: fixed;
71
462
  }
72
463
 
73
- .container--position-sticky {
74
- position: sticky;
464
+ .container--position-absolute {
465
+ position: absolute;
75
466
  }
76
467
 
77
- /* Responsive Adjustments */
78
- @media (max-width: 768px) {
79
- .container--small,
80
- .container--medium,
81
- .container--large {
82
- width: 100%;
83
- padding: var(--spacing-sm);
84
- }
85
-
86
- .container--fluid {
87
- padding: var(--spacing-xs);
88
- }
468
+ .container--position-sticky {
469
+ position: sticky;
89
470
  }
@@ -1,54 +1,116 @@
1
- // src/stories/Atoms/Container/Container.jsx
2
1
  import React from 'react';
3
2
  import PropTypes from 'prop-types';
4
- import classNames from 'classnames';
5
3
  import './Container.css';
6
4
 
7
5
  export const Container = ({
8
- children,
9
- border = false,
10
- size = 'medium',
11
- rounded = false,
6
+ size = 'small',
7
+ border = 'on',
8
+ align = 'center',
12
9
  fluid = false,
13
- align = 'left',
14
- position = 'static',
15
- className = '',
16
- style = {},
17
- ...props
10
+ padding = 'md',
11
+ marginTop = 'md',
12
+ marginBottom = 'md',
13
+ marginLeft = 'md',
14
+ marginRight = 'md',
15
+ position = 'relative',
16
+ rounded = true,
17
+ borderColor,
18
+ backgroundColor,
19
+ children,
18
20
  }) => {
19
- const containerClasses = classNames('container', className, {
20
- 'container--border': border,
21
- [`container--${size}`]: size,
22
- 'container--rounded': rounded,
23
- 'container--fluid': fluid,
24
- [`container--align-${align}`]: align,
25
- [`container--position-${position}`]: position,
26
- });
21
+ const containerClassNames = [
22
+ 'container',
23
+ `container--size-${size}`,
24
+ `container--align-${align}`,
25
+ `container--position-${position}`,
26
+ `container--padding-${padding}`,
27
+ `container--mt-${marginTop}`,
28
+ `container--mb-${marginBottom}`,
29
+ `container--ml-${marginLeft}`,
30
+ `container--mr-${marginRight}`,
31
+ border === 'on' ? 'container--border' : '',
32
+ fluid ? 'container--fluid' : '',
33
+ rounded ? 'container--rounded' : '',
34
+ backgroundColor ? `container--bg-${backgroundColor}` : '',
35
+ borderColor ? `container--border-${borderColor}` : '', // Add class if borderColor is set
36
+ ].join(' ');
27
37
 
28
38
  return (
29
- <div className={containerClasses} style={style} {...props}>
39
+ <div className={containerClassNames}>
30
40
  {children}
31
41
  </div>
32
42
  );
33
43
  };
34
44
 
35
45
  Container.propTypes = {
36
- /** Content to be wrapped inside the container */
37
- children: PropTypes.node.isRequired,
38
- /** Add a border to the container */
39
- border: PropTypes.bool,
40
- /** Size of the container */
41
46
  size: PropTypes.oneOf(['small', 'medium', 'large']),
42
- /** Rounded corners */
43
- rounded: PropTypes.bool,
44
- /** Fluid container (full width) */
45
- fluid: PropTypes.bool,
46
- /** Text alignment within the container */
47
+ border: PropTypes.oneOf(['on', 'off']),
47
48
  align: PropTypes.oneOf(['left', 'center', 'right']),
48
- /** CSS position property */
49
- position: PropTypes.oneOf(['static', 'relative', 'absolute', 'fixed', 'sticky']),
50
- /** Additional CSS classes */
51
- className: PropTypes.string,
52
- /** Inline styles */
53
- style: PropTypes.object,
49
+ fluid: PropTypes.bool,
50
+ padding: PropTypes.oneOf(['sm', 'md', 'lg']),
51
+ marginTop: PropTypes.oneOf(['sm', 'md', 'lg']),
52
+ marginBottom: PropTypes.oneOf(['sm', 'md', 'lg']),
53
+ marginLeft: PropTypes.oneOf(['sm', 'md', 'lg']),
54
+ marginRight: PropTypes.oneOf(['sm', 'md', 'lg']),
55
+ position: PropTypes.oneOf(['relative', 'static', 'fixed', 'absolute', 'sticky']),
56
+ rounded: PropTypes.bool,
57
+ borderColor: PropTypes.oneOf([
58
+ 'none',
59
+ 'primary',
60
+ 'secondary',
61
+ 'link',
62
+ 'focus',
63
+ 'info',
64
+ 'warning',
65
+ 'alert',
66
+ 'success',
67
+ 'neutral',
68
+ 'dark',
69
+ 'classy-1',
70
+ 'classy-2',
71
+ 'classy-3',
72
+ 'classy-4',
73
+ 'classy-5',
74
+ 'small-switch-1',
75
+ 'small-switch-2',
76
+ 'natural-1',
77
+ 'natural-2',
78
+ 'natural-3',
79
+ 'grey-friend-1',
80
+ 'grey-friend-2',
81
+ 'shade-1',
82
+ 'shade-2',
83
+ 'shade-3',
84
+ 'shade-4',
85
+ ]),
86
+ backgroundColor: PropTypes.oneOf([
87
+ 'none', // For no background color
88
+ 'primary',
89
+ 'secondary',
90
+ 'link',
91
+ 'focus',
92
+ 'info',
93
+ 'warning',
94
+ 'alert',
95
+ 'success',
96
+ 'neutral',
97
+ 'dark',
98
+ 'classy-1',
99
+ 'classy-2',
100
+ 'classy-3',
101
+ 'classy-4',
102
+ 'classy-5',
103
+ 'small-switch-1',
104
+ 'small-switch-2',
105
+ 'natural-1',
106
+ 'natural-2',
107
+ 'natural-3',
108
+ 'grey-friend-1',
109
+ 'grey-friend-2',
110
+ 'shade-1',
111
+ 'shade-2',
112
+ 'shade-3',
113
+ 'shade-4',
114
+ ]),
115
+ children: PropTypes.node,
54
116
  };