energy-foundations 0.0.1-beta.2

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 (94) hide show
  1. package/README.md +20 -0
  2. package/dist/energy-foundations.js +1 -0
  3. package/dist/energy-foundations.umd.cjs +1 -0
  4. package/dist/fonts/SoleRepsolText_W_Bd.woff +0 -0
  5. package/dist/fonts/SoleRepsolText_W_Lt.woff +0 -0
  6. package/dist/fonts/SoleRepsolText_W_Rg.woff +0 -0
  7. package/dist/fonts/SoleRepsolText_W_SBd.woff +0 -0
  8. package/dist/fonts/icomoon.eot +0 -0
  9. package/dist/fonts/icomoon.ttf +0 -0
  10. package/dist/fonts/icomoon.woff +0 -0
  11. package/dist/fonts/selection.json +1 -0
  12. package/dist/foundations/_border.scss +15 -0
  13. package/dist/foundations/_color.scss +43 -0
  14. package/dist/foundations/_elevation.scss +9 -0
  15. package/dist/foundations/_fonts.scss +759 -0
  16. package/dist/foundations/_grid.scss +68 -0
  17. package/dist/foundations/_reset.scss +70 -0
  18. package/dist/foundations/_shadow.scss +10 -0
  19. package/dist/foundations/_spacing.scss +56 -0
  20. package/dist/foundations/_state.scss +5 -0
  21. package/dist/foundations/_typography.scss +33 -0
  22. package/dist/global.scss +6 -0
  23. package/dist/logo-repsol.png +0 -0
  24. package/dist/main.ts +1 -0
  25. package/dist/mixins/_elevation.scss +15 -0
  26. package/dist/mixins/_layout.scss +30 -0
  27. package/dist/mixins/_shadow.scss +9 -0
  28. package/dist/mixins/_state.scss +5 -0
  29. package/dist/mixins/_typography.scss +59 -0
  30. package/dist/mixins/_utils.scss +8 -0
  31. package/dist/rds-foundations.scss +20 -0
  32. package/dist/rds-reset.scss +1 -0
  33. package/dist/rds-variables.scss +24 -0
  34. package/dist/stories/assets/accessibility.png +0 -0
  35. package/dist/stories/assets/accessibility.svg +5 -0
  36. package/dist/stories/assets/addon-library.png +0 -0
  37. package/dist/stories/assets/assets.png +0 -0
  38. package/dist/stories/assets/avif-test-image.avif +0 -0
  39. package/dist/stories/assets/context.png +0 -0
  40. package/dist/stories/assets/discord.svg +15 -0
  41. package/dist/stories/assets/docs.png +0 -0
  42. package/dist/stories/assets/figma-plugin.png +0 -0
  43. package/dist/stories/assets/figma.png +0 -0
  44. package/dist/stories/assets/github.svg +3 -0
  45. package/dist/stories/assets/grid-desktop.png +0 -0
  46. package/dist/stories/assets/grid-mobile.png +0 -0
  47. package/dist/stories/assets/grid-tablet.png +0 -0
  48. package/dist/stories/assets/grid-xd.png +0 -0
  49. package/dist/stories/assets/logo-repsol.png +0 -0
  50. package/dist/stories/assets/npm.png +0 -0
  51. package/dist/stories/assets/portal.png +0 -0
  52. package/dist/stories/assets/share.png +0 -0
  53. package/dist/stories/assets/styling.png +0 -0
  54. package/dist/stories/assets/testing.png +0 -0
  55. package/dist/stories/assets/theming.png +0 -0
  56. package/dist/stories/assets/tutorials.svg +12 -0
  57. package/dist/stories/assets/variables.png +0 -0
  58. package/dist/stories/assets/youtube.svg +4 -0
  59. package/dist/stories/border/border.mdx +71 -0
  60. package/dist/stories/colors/componentColor.mdx +96 -0
  61. package/dist/stories/colors/componentColors.scss +2 -0
  62. package/dist/stories/colors/semanticColor.mdx +458 -0
  63. package/dist/stories/docs/init.mdx +129 -0
  64. package/dist/stories/docs/quickStartVue.mdx +98 -0
  65. package/dist/stories/elevation/elevation.mdx +113 -0
  66. package/dist/stories/fonts/fonts.mdx +165 -0
  67. package/dist/stories/functional/Layaout.mdx +42 -0
  68. package/dist/stories/functional/Utils.mdx +22 -0
  69. package/dist/stories/grid/Breakpoint.stories.js +16 -0
  70. package/dist/stories/grid/Gridsystem.mdx +172 -0
  71. package/dist/stories/grid/ResponsiveGrid.stories.js +47 -0
  72. package/dist/stories/grid/SimpleGridsystem.stories.js +39 -0
  73. package/dist/stories/grid/gridsystem.scss +86 -0
  74. package/dist/stories/icons/icon-list.ts +5 -0
  75. package/dist/stories/icons/icons.mdx +84 -0
  76. package/dist/stories/spacing/Spacing.mdx +296 -0
  77. package/dist/stories/spacing/Spacing.stories.js +132 -0
  78. package/dist/stories/spacing/spacing-story.scss +94 -0
  79. package/dist/stories/styles/index.scss +373 -0
  80. package/dist/stories/styles/overwrite.scss +197 -0
  81. package/dist/style.css +1 -0
  82. package/dist/variables/_border.scss +16 -0
  83. package/dist/variables/_color-system.scss +227 -0
  84. package/dist/variables/_color.scss +207 -0
  85. package/dist/variables/_elevation.scss +16 -0
  86. package/dist/variables/_grid.scss +21 -0
  87. package/dist/variables/_layout.scss +27 -0
  88. package/dist/variables/_shadow.scss +3 -0
  89. package/dist/variables/_spacing.scss +47 -0
  90. package/dist/variables/_state.scss +10 -0
  91. package/dist/variables/_typography.scss +380 -0
  92. package/dist/vite-env.d.ts +1 -0
  93. package/dist/vite.svg +1 -0
  94. package/package.json +97 -0
@@ -0,0 +1,98 @@
1
+ import { Meta } from '@storybook/blocks';
2
+ import './../styles/index.scss';
3
+
4
+ <Meta title="Quick Start VUE" />
5
+
6
+ # Instalar
7
+
8
+ ```
9
+ yarn add energy-foundations
10
+ ```
11
+
12
+ ```
13
+ npm install energy-foundations
14
+ ```
15
+
16
+ ## Contenido
17
+
18
+ <div class="mt-0">
19
+
20
+ #### CSS
21
+
22
+ Importar el compilado de css.
23
+ Si se van a usar otras librerías Energy, este import debe ir el primero en el orden
24
+
25
+ ```<style lang="scss" src="./energy-foundations/dist/style.css"></style>```
26
+
27
+ #### SCSS
28
+
29
+ El paquete genera varios exports para diferentes usos:
30
+
31
+
32
+ - rds-reset.scss
33
+ - rds-variables.scss
34
+ - rds-foundations.scss
35
+ - global.scss (contiene todos los anteriores)
36
+
37
+ </div>
38
+
39
+ ## Uso
40
+
41
+ En una aplicación SPA, para optimizar la carga, se recomienda diferenciar los ficheros que contienen clases de los que contienen mixins y variables.
42
+ Para ello, los primeros se deben importar una única vez.
43
+
44
+ Esto lo encontramos en ```style.css```.
45
+
46
+ Se recomienda generar en nuestro proyecto raíz un fichero que haga @import de ```style.css``` y este se cargue en el App.vue
47
+
48
+ **main.scss**
49
+ ```css
50
+ @import 'energy-foundations/dist/style.css';
51
+ // otros estilos aquí
52
+ ```
53
+
54
+ **App.vue**
55
+
56
+ importante: no añadir el atributo 'scoped'
57
+
58
+ ```html
59
+ <style lang="scss" src="./styles/main.scss"></style>
60
+ ```
61
+
62
+ #### Variables y mixins
63
+
64
+ Recomendamos crear primero un fichero que sea basic.scss en nuestro directorio raíz.
65
+ En él hacemos un @import de las variables y mixins de la librería que están en el fichero ```rds-variables```.
66
+
67
+ **basic.scss**
68
+ ```css
69
+ @import 'energy-foundations/dist/rds-variables.scss';
70
+ // otras variables y/o mixins aquí
71
+ ````
72
+
73
+ Posteriormente, en el fichero de vite.config:
74
+
75
+ **vite.config**
76
+ ```js
77
+ css: {
78
+ preprocessorOptions: {
79
+ scss: {
80
+ additionalData: `@import "./src/styles/basic.scss";`
81
+ }
82
+ }
83
+ }
84
+
85
+ ```
86
+
87
+ De esta manera, estos estilos serán accesibles a todos los componentes del proyecto Vue.
88
+
89
+ Tambien deberemos de añadir el siguiente codigo para poder usar los estilos de node_modules en nuestro proyecto:
90
+
91
+ **vite.config**
92
+ ```js
93
+ server: {
94
+ fs: {
95
+ allow: [".."]
96
+ }
97
+ }
98
+ ```
@@ -0,0 +1,113 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import './../styles/index.scss';
3
+
4
+ <Meta title="Foundations/Elevaciones" name="Elevaciones" />
5
+
6
+ # Elevaciones
7
+
8
+ <Unstyled>
9
+ <table>
10
+
11
+ <tr>
12
+ <td class="width__one-third">
13
+ <h1 class="rds-title-01 rds-doc__color-headline">Imagen</h1>
14
+ Referencia para los ejemplos
15
+ </td>
16
+ <td class="width__one-third">
17
+ <div class="rds-doc-elevation rds-doc-elevation__background-image">
18
+ <div class="rds-doc-elevation"></div>
19
+ </div>
20
+ </td>
21
+ <td class="right"></td>
22
+ </tr>
23
+
24
+ <tr>
25
+ <td class="width__one-third">
26
+ <h1 class="rds-title-01 rds-doc__color-headline">Overlay</h1>
27
+ </td>
28
+ <td class="width__one-third">
29
+ <div class="rds-doc-elevation rds-doc-elevation__background-image">
30
+ <div class="rds-doc-elevation rds-doc-elevation__overlay"></div>
31
+ </div>
32
+ </td>
33
+ <td class="right">
34
+ `.rds-style-effect-overlay` <br />
35
+ `@include rds-style-effect-overlay`
36
+ </td>
37
+ </tr>
38
+
39
+ <tr>
40
+ <td class="width__one-third">
41
+ <h1 class="rds-title-01 rds-doc__color-headline">Glass</h1>
42
+ </td>
43
+ <td class="width__one-third">
44
+ <div class="rds-doc-elevation rds-doc-elevation__background-image">
45
+ <div class="rds-doc-elevation rds-style-effect-glass"></div>
46
+ </div>
47
+ </td>
48
+ <td class="right">
49
+ `.rds-style-effect-glass` <br />
50
+ `@include rds-style-effect-glass`
51
+ </td>
52
+ </tr>
53
+
54
+ </table>
55
+ </Unstyled>
56
+
57
+ # Estados
58
+
59
+ <Unstyled>
60
+ <table>
61
+
62
+ <tr>
63
+ <td class="width__one-third">
64
+ <h1 class="rds-title-01 rds-doc__color-headline">Disabled</h1>
65
+ </td>
66
+ <td class="width__one-third">
67
+ <div class="rds-doc-elevation rds-doc-elevation__background-image rds-style-state-disabled">
68
+ </div>
69
+ </td>
70
+ <td class="right">
71
+ `.rds-style-state-disabled` <br />
72
+ `@include rds-style-state-disabled`
73
+ </td>
74
+ </tr>
75
+
76
+ </table>
77
+ </Unstyled>
78
+
79
+ # Sombras
80
+
81
+ <Unstyled>
82
+ <table>
83
+
84
+ <tr>
85
+ <td class="width__one-third">
86
+ <h1 class="rds-title-01 rds-doc__color-headline">Shadow S</h1>
87
+ </td>
88
+ <td class="width__one-third">
89
+ <div class="rds-style-shadow-s rds-doc-elevation rds-doc-elevation__background-color rds-mb-m">
90
+ </div>
91
+ </td>
92
+ <td class="right">
93
+ `.rds-style-shadow-s` <br />
94
+ `@include rds-style-shadow-s`
95
+ </td>
96
+ </tr>
97
+
98
+ <tr>
99
+ <td class="width__one-third">
100
+ <h1 class="rds-title-01 rds-doc__color-headline">Shadow M</h1>
101
+ </td>
102
+ <td class="width__one-third">
103
+ <div class="rds-style-shadow-m rds-doc-elevation rds-doc-elevation__background-color">
104
+ </div>
105
+ </td>
106
+ <td class="right">
107
+ `.rds-style-shadow-m` <br />
108
+ `@include rds-style-shadow-m`
109
+ </td>
110
+ </tr>
111
+
112
+ </table>
113
+ </Unstyled>
@@ -0,0 +1,165 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import './../styles/index.scss';
3
+
4
+ <Meta title="Foundations/Fonts" name="Definition" />
5
+
6
+ # Fonts
7
+
8
+ Energy-foundations actualmente cuenta con dos familias de fuentes corporativas: "Sole" y "Display".
9
+ Se encuentran disponible en los ```/assets```
10
+
11
+ Las siguientes clases incluyen las media queries para el uso de las fuentes en diferentes dispositivos.
12
+ Basta con aplicarlas para que la fuente se ajuste a la pantalla en la que se visualiza.
13
+
14
+ También es posible utilizar las fuentes a través de mixins, para poder añadirlas directamente en otra clase.
15
+ Basta con invocar el mixin ```rds-font-style```que recibe como parámetro el nombre de la tipografía que se desea utilizar.
16
+ El nombre va sin el prefijo ```rds-```.
17
+
18
+ ```scss
19
+ .my-class {
20
+ @include rds-font-style('headline-01')
21
+ }
22
+ ```
23
+
24
+ <Unstyled>
25
+ <table>
26
+ <tr>
27
+ <th>HEADLINES</th>
28
+ </tr>
29
+ <tr>
30
+ <td><h2 class="rds-headline-00">Sole Repsol H1</h2></td>
31
+ <td class="right">```.rds-headline-00```</td>
32
+ </tr>
33
+ <tr>
34
+ <td><h2 class="rds-headline-01">Sole Repsol H1</h2></td>
35
+ <td class="right">```.rds-headline-01```</td>
36
+ </tr>
37
+ <tr>
38
+ <td><h2 class="rds-headline-02">Sole Repsol H2</h2></td>
39
+ <td class="right">```.rds-headline-02```</td>
40
+ </tr>
41
+ <tr>
42
+ <td><h2 class="rds-headline-03">Sole Repsol H3</h2></td>
43
+ <td class="right">```.rds-headline-03```</td>
44
+ </tr>
45
+ </table>
46
+ </Unstyled>
47
+
48
+ <Unstyled>
49
+ <table>
50
+ <tr>
51
+ <th>TITLES</th>
52
+ </tr>
53
+ <tr>
54
+ <td><h2 class="rds-title-01">Title 1</h2></td>
55
+ <td class="right">```.rds-title-01```</td>
56
+ </tr>
57
+ <tr>
58
+ <td><h2 class="rds-title-02">Title 2</h2></td>
59
+ <td class="right">```.rds-title-02```</td>
60
+ </tr>
61
+ </table>
62
+ </Unstyled>
63
+
64
+ <Unstyled>
65
+ <table>
66
+ <tr>
67
+ <th>BODY</th>
68
+ </tr>
69
+ <tr>
70
+ <td><p class="rds-body-01">Sole Repsol body 1</p></td>
71
+ <td class="right">```.rds-body-01```</td>
72
+ </tr>
73
+ <tr>
74
+ <td><p class="rds-body-01-bold">Sole Repsol body 1 - bold</p></td>
75
+ <td class="right">```.rds-body-01-bold```</td>
76
+ </tr>
77
+ <tr>
78
+ <td><p class="rds-body-01-underline">Sole Repsol body 1 - underline</p></td>
79
+ <td class="right">```.rds-body-01-underline```</td>
80
+ </tr>
81
+ <tr>
82
+ <td><p class="rds-body-02">Sole Repsol body 2</p></td>
83
+ <td class="right">```.rds-body-02```</td>
84
+ </tr>
85
+ <tr>
86
+ <td><p class="rds-body-02-bold">Sole Repsol body 2 - bold</p></td>
87
+ <td class="right">```.rds-body-02-bold```</td>
88
+ </tr>
89
+ <tr>
90
+ <td><p class="rds-body-02-underline">Sole Repsol body 2 - underline</p></td>
91
+ <td class="right">```.rds-body-02-underline```</td>
92
+ </tr>
93
+ <tr>
94
+ <td><p class="rds-caption-01">Sole Repsol caption 1</p></td>
95
+ <td class="right">```.rds-caption-01```</td>
96
+ </tr>
97
+ <tr>
98
+ <td><p class="rds-caption-02">Sole Repsol caption 2</p></td>
99
+ <td class="right">```.rds-caption-02```</td>
100
+ </tr>
101
+ <tr>
102
+ <td><p class="rds-caption-tag">Sole Repsol caption tag</p></td>
103
+ <td class="right">```.rds-caption-tag```</td>
104
+ </tr>
105
+ <tr>
106
+ <td><p class="rds-button-01">Sole Repsol Button text</p></td>
107
+ <td class="right">```.rds-button-01```</td>
108
+ </tr>
109
+ <tr>
110
+ <td><p class="rds-button-01-small">Sole Repsol Button text - small</p></td>
111
+ <td class="right">```.rds-button-01-small```</td>
112
+ </tr>
113
+ </table>
114
+ </Unstyled>
115
+
116
+ <Unstyled>
117
+ <table>
118
+ <tr>
119
+ <th>NUMBERS</th>
120
+ </tr>
121
+ <tr>
122
+ <td class="full-col"><span class="rds-numbers-00">1234</span></td>
123
+ <td class="right">```.rds-numbers-00```</td>
124
+ </tr>
125
+ <tr>
126
+ <td class="full-col"><span class="rds-numbers-01">1234</span></td>
127
+ <td class="right">```.rds-numbers-01```</td>
128
+ </tr>
129
+ <tr>
130
+ <td class="full-col"><span class="rds-numbers-02">1234</span></td>
131
+ <td class="right">```.rds-numbers-02```</td>
132
+ </tr>
133
+ <tr>
134
+ <td class="full-col"><span class="rds-numbers-03">1234</span></td>
135
+ <td class="right">```.rds-numbers-03```</td>
136
+ </tr>
137
+ </table>
138
+ </Unstyled>
139
+
140
+ ## Guía de migración
141
+
142
+ <Unstyled>
143
+ <table>
144
+ <tr>
145
+ <th>Oxygen</th>
146
+ <th>Energy</th>
147
+ </tr>
148
+ <tr>
149
+ <td><p><del>headline-bold-1</del></p></td>
150
+ <td>Se recomienda cambiar por headline-01</td>
151
+ </tr>
152
+ <tr>
153
+ <td><p><del>headline-bold-2</del></p></td>
154
+ <td>Se recomienda cambiar por headline-02</td>
155
+ </tr>
156
+ <tr>
157
+ <td><p><del>subheadline</del></p></td>
158
+ <td>Se recomienda cambiar por headline-03 o title-01</td>
159
+ </tr>
160
+ <tr>
161
+ <td><p><del>highlighted-body</del></p></td>
162
+ <td>Se recomienda cambiar por title-01 o title-02</td>
163
+ </tr>
164
+ </table>
165
+ </Unstyled>
@@ -0,0 +1,42 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import './../styles/index.scss';
3
+
4
+ <Meta title="Functional/Layout" name="Layout" />
5
+
6
+ # Layout mixins
7
+
8
+ ---
9
+
10
+ ### breakpoint
11
+ El siguiente listado se muestra en orden de preferencia para su uso. <br />
12
+ Se prioriza el uso de <a href="https://developer.mozilla.org/es/docs/Glossary/Mobile_First" target="_blank" rel="noopener">mobile first</a>
13
+
14
+ * $breakpoint:
15
+ * `mobile`
16
+ * `tablet`
17
+ * `desktop`
18
+ * `desktop-large`
19
+
20
+ ```css
21
+ [selector] {
22
+ @include breakpoint($breakpoint) {
23
+ // Estilos
24
+ }
25
+ }
26
+ ```
27
+
28
+ ```css
29
+ [selector] {
30
+ // Estilos generales para mobile
31
+
32
+ @include breakpoint('tablet') {
33
+ // Estilos para tablet
34
+ }
35
+
36
+ // ...
37
+
38
+ @include breakpoint('desktop-large') {
39
+ // Estilos para desktop-large
40
+ }
41
+ }
42
+ ```
@@ -0,0 +1,22 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import './../styles/index.scss';
3
+
4
+ <Meta title="Functional/Utils" name="Utils" />
5
+
6
+ # General
7
+
8
+ ### Convertir px to rem
9
+
10
+ ```css
11
+ [selector]: {
12
+ width: pxToRem(16px);
13
+ }
14
+ ```
15
+
16
+ El uso de esta función nos devolvera el sigueinte `css`
17
+
18
+ ```css
19
+ [selector]: {
20
+ width: 1rem;
21
+ }
22
+ ```
@@ -0,0 +1,16 @@
1
+ import './gridsystem.scss'
2
+
3
+ export default {
4
+ title: 'Foundations/grid',
5
+ }
6
+
7
+ export function Breakpoint() {
8
+ const container = document.createElement('div')
9
+ container.className = `playground-grid`
10
+
11
+ const container_breakpoint = document.createElement('div')
12
+ container_breakpoint.className = `rds-layout-max grid-item rds-docs-breakpoint`
13
+ container.appendChild(container_breakpoint)
14
+
15
+ return container
16
+ }
@@ -0,0 +1,172 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import './../styles/index.scss';
3
+ import './gridsystem.scss';
4
+
5
+ import GridMobile from "./../assets/grid-mobile.png";
6
+ import GridTablet from "./../assets/grid-tablet.png";
7
+ import GridDesktop from "./../assets/grid-desktop.png";
8
+ import GridXd from "./../assets/grid-xd.png";
9
+
10
+ <Meta title="Foundations/grid" name="Layout" />
11
+
12
+ # Layout
13
+
14
+ <Unstyled>
15
+ <table>
16
+ <tr>
17
+ <th>BREAKPOINTS</th>
18
+ </tr>
19
+ <tr>
20
+ <td class="width__one-third rds-doc__layout-cell--label">
21
+ <h2 class="rds-title-01 rds-doc__color-headline">Breakpoint S</h2>
22
+ Mobile
23
+ </td>
24
+ <td class="width__one-third rds-doc__layout-graph rds-body-02">
25
+ Screen size: 375px<br />Content size: 343px
26
+ </td>
27
+ <td class="width__one-third rds-doc__layout-cell--right right">
28
+ ```@include breakpoint(mobile){}```
29
+ </td>
30
+ </tr>
31
+
32
+ <tr>
33
+ <td class="width__one-third rds-doc__layout-cell--label">
34
+ <h2 class="rds-title-01 rds-doc__color-headline">Breakpoint M</h2>
35
+ <span class="rds-body-02">Tablet</span>
36
+ </td>
37
+ <td class="width__one-third rds-doc__layout-graph rds-body-02">
38
+ Screen size: 720px<br />Content size: 672px
39
+ </td>
40
+ <td class="width__one-third rds-doc__layout-cell--right right">
41
+ ```@include breakpoint(tablet){}```
42
+ </td>
43
+ </tr>
44
+
45
+ <tr>
46
+ <td class="width__one-third rds-doc__layout-cell--label">
47
+ <h2 class="rds-title-01 rds-doc__color-headline">Breakpoint L</h2>
48
+ <span class="rds-body-02">Desktop</span>
49
+ </td>
50
+ <td class="width__one-third rds-doc__layout-graph rds-body-02">
51
+ Screen size: 1440px<br />Content size: 1376px
52
+ </td>
53
+ <td class="width__one-third rds-doc__layout-cell--right right">
54
+ ```@include breakpoint(desktop){}```
55
+ </td>
56
+ </tr>
57
+
58
+ <tr>
59
+ <td class="width__one-third rds-doc__layout-cell--label">
60
+ <h2 class="rds-title-01 rds-doc__color-headline">Breakpoint XL</h2>
61
+ <span class="rds-body-02">Ultrawide Desktop</span>
62
+ </td>
63
+ <td class="width__one-third rds-doc__layout-graph rds-body-02">
64
+ Screen size: 2200px<br />Content size: 1536px
65
+ </td>
66
+ <td class="width__one-third rds-doc__layout-cell--right right">
67
+ ```@include breakpoint(ultrawide){}```
68
+ </td>
69
+ </tr>
70
+ </table>
71
+
72
+ </Unstyled>
73
+
74
+ <Unstyled>
75
+ <table>
76
+ <tr>
77
+ <th>Layout-max</th>
78
+ </tr>
79
+ <tr>
80
+ <td class="rds-doc__layout-cell--label">
81
+ ```.rds-layout-max```
82
+ </td>
83
+ <td class="rds-body-02">
84
+ Esta clase ajusta el padding según el tamaño de la pantalla y establece un ancho máximo y margen centrado para pantallas de cada dispositivo.
85
+ </td>
86
+ </tr>
87
+ </table>
88
+
89
+ <div class="">
90
+ <div class="grid-item grid-item--no-padding">
91
+ <div class="rds-docs-breakpoint__layout-inner">
92
+ Layout max
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ <table>
98
+ <tr>
99
+ <th>Grid</th>
100
+ </tr>
101
+ <tr>
102
+ <td class="rds-doc__layout-cell--label ">
103
+ ```.rds-grid```
104
+ </td>
105
+ <td class="rds-body-02">
106
+ El wrapper `.rds-grid` establece un contenedor con display grid, centrado horizontalmente con márgenes automáticos y ancho del 100%.
107
+ Configura una cuadrícula responsive con los siguientes ajustes específicos:
108
+ ```
109
+ - Mobile (sd): hasta 4 columnas, con un espaciado de 16px entre elementos.
110
+ - Tablet (md): hasta 8 columnas, con un espaciado de 16px entre elementos.
111
+ - Desktop (ld): hasta 12 columnas, con un espaciado de 24px entre elementos.
112
+ - Ultrawide: similar al anterior, por lo tanto usa las mismas clases.
113
+ ```
114
+ </td>
115
+ </tr>
116
+ </table>
117
+
118
+ <table>
119
+ <tr>
120
+ <td class="rds-doc__layout-cell--label">
121
+ ```.rds-col-{abbr}-{number}```
122
+ </td>
123
+ <td class="rds-body-02">
124
+ Define el número de columnas que un elemento debe ocupar en la cuadrícula en el breakpoint especificado.
125
+ Reemplaza `{abbr}` con la abreviatura del breakpoint (`sd`, `md`, `ld`, `xd`) y `{number}` con el número de columnas que el elemento ocupará.
126
+ </td>
127
+ </tr>
128
+ </table>
129
+
130
+
131
+ <table>
132
+ <tr>
133
+ <td class="rds-doc__layout-cell--label">
134
+ ```.rds-col-{n}```
135
+ </td>
136
+ <td class="rds-body-02">
137
+ Define que un elemento debe ocupar `{n}` columnas en la cuadrícula en todos los breakpoints.
138
+ Esta clase asigna automáticamente `{n}` columnas a un elemento en cualquier tamaño de pantalla definido en la cuadrícula.
139
+
140
+ <br />
141
+
142
+ Ejemplos:
143
+ ```
144
+ <ul>
145
+ <li><code>.rds-col-1</code>: Asigna una columna.</li>
146
+ <li><code>.rds-col-2</code>: Asigna dos columnas.</li>
147
+ <li><code>.rds-col-3</code>: Asigna tres columnas.</li>
148
+ </ul>
149
+ ```
150
+ </td>
151
+ </tr>
152
+ </table>
153
+
154
+ <div class="rds-docs-breakpoint__grid-example-container">
155
+ <div>
156
+ <h1 class="rds-title-02">Mobile</h1>
157
+ <h2 class="rds-body-01">rds-col-sd-[1-4]</h2>
158
+ <div><img src={GridMobile}/></div>
159
+ </div>
160
+ <div>
161
+ <h1 class="rds-title-02">Tablet</h1>
162
+ <h2 class="rds-body-01">rds-col-md-[1-8]</h2>
163
+ <div><img src={GridTablet}/></div>
164
+ </div>
165
+ <div>
166
+ <h1 class="rds-title-02">Desktop y Ultrawide</h1>
167
+ <h2 class="rds-body-01">rds-col-ld-[1-12]</h2>
168
+ <div><img src={GridDesktop}/></div>
169
+ </div>
170
+ </div>
171
+
172
+ </Unstyled>
@@ -0,0 +1,47 @@
1
+ import './gridsystem.scss'
2
+
3
+ export default {
4
+ title: 'Foundations/grid',
5
+ argTypes: {
6
+ gridItems: {
7
+ control: 'object',
8
+ },
9
+ },
10
+ }
11
+
12
+ function createGridItem(content) {
13
+ const div = document.createElement('div')
14
+ div.className = 'grid-item'
15
+ div.textContent = content
16
+ return div
17
+ }
18
+
19
+ export function ResponsiveGridSystem({ gridItems }) {
20
+ const container = document.createElement('div')
21
+ container.className = 'rds-layout-max playground-grid'
22
+
23
+ const containerGrid = document.createElement('div')
24
+ containerGrid.className = 'rds-grid'
25
+ container.appendChild(containerGrid)
26
+
27
+ gridItems.forEach((item, index) => {
28
+ const columnDiv = document.createElement('div')
29
+ columnDiv.className = Object.entries(item)
30
+ .map(([breakpoint, columns]) => `rds-col-${breakpoint}-${columns}`)
31
+ .join(' ')
32
+ const gridItem = createGridItem(`Item ${index + 1}`)
33
+ columnDiv.appendChild(gridItem)
34
+ containerGrid.appendChild(columnDiv)
35
+ })
36
+
37
+ return container
38
+ }
39
+
40
+ ResponsiveGridSystem.args = {
41
+ gridItems: [
42
+ { sm: 3, md: 6, lg: 4, xl: 3 },
43
+ { sm: 1, md: 6, lg: 4, xl: 3 },
44
+ { sm: 1, md: 6, lg: 4, xl: 3 },
45
+ { sm: 3, md: 6, lg: 4, xl: 3 },
46
+ ],
47
+ }