@ivds/core 0.1.1

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 (154) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +215 -0
  3. package/lib/all.css +6802 -0
  4. package/lib/all.min.css +1 -0
  5. package/lib/base/base.css +215 -0
  6. package/lib/base/base.min.css +1 -0
  7. package/lib/components/_breadcrumb-mixins.scss +173 -0
  8. package/lib/components/_button-mixin.scss +120 -0
  9. package/lib/components/_card-mixin.scss +196 -0
  10. package/lib/components/_checkbox-mixin.scss +208 -0
  11. package/lib/components/_footer-mixin.scss +385 -0
  12. package/lib/components/_header-mixin.scss +275 -0
  13. package/lib/components/_navigation-mixins.scss +270 -0
  14. package/lib/components/_notification-mixin.scss +239 -0
  15. package/lib/components/_pagination-mixins.scss +280 -0
  16. package/lib/components/_radio-button-mixin.scss +207 -0
  17. package/lib/components/_tag-mixin.scss +261 -0
  18. package/lib/components/_text-input-mixin.scss +203 -0
  19. package/lib/components/all.css +3005 -0
  20. package/lib/components/all.min.css +1 -0
  21. package/lib/components/breadcrumb/breadcrumb.css +141 -0
  22. package/lib/components/breadcrumb/breadcrumb.min.css +1 -0
  23. package/lib/components/button/button.css +221 -0
  24. package/lib/components/button/button.min.css +1 -0
  25. package/lib/components/card/card.css +236 -0
  26. package/lib/components/card/card.min.css +1 -0
  27. package/lib/components/checkbox/checkbox.css +305 -0
  28. package/lib/components/checkbox/checkbox.min.css +1 -0
  29. package/lib/components/footer/footer.css +466 -0
  30. package/lib/components/footer/footer.min.css +1 -0
  31. package/lib/components/header/header.css +274 -0
  32. package/lib/components/header/header.min.css +1 -0
  33. package/lib/components/navigation/navigation.css +214 -0
  34. package/lib/components/navigation/navigation.min.css +1 -0
  35. package/lib/components/notification/notification.css +253 -0
  36. package/lib/components/notification/notification.min.css +1 -0
  37. package/lib/components/pagination/pagination.css +221 -0
  38. package/lib/components/pagination/pagination.min.css +1 -0
  39. package/lib/components/radio-button/radio-button.css +326 -0
  40. package/lib/components/radio-button/radio-button.min.css +1 -0
  41. package/lib/components/tag/tag.css +367 -0
  42. package/lib/components/tag/tag.min.css +1 -0
  43. package/lib/components/text-input/text-input.css +243 -0
  44. package/lib/components/text-input/text-input.min.css +1 -0
  45. package/lib/icons/icon-arrow-left.css +139 -0
  46. package/lib/icons/icon-arrow-left.min.css +1 -0
  47. package/lib/icons/icon-arrow-right.css +139 -0
  48. package/lib/icons/icon-arrow-right.min.css +1 -0
  49. package/lib/icons/icon-check.css +139 -0
  50. package/lib/icons/icon-check.min.css +1 -0
  51. package/lib/icons/icon-close.css +140 -0
  52. package/lib/icons/icon-close.min.css +1 -0
  53. package/lib/icons/icon-error.css +140 -0
  54. package/lib/icons/icon-error.min.css +1 -0
  55. package/lib/icons/icon-info.css +140 -0
  56. package/lib/icons/icon-info.min.css +1 -0
  57. package/lib/icons/icon-success.css +139 -0
  58. package/lib/icons/icon-success.min.css +1 -0
  59. package/lib/icons/icon-warning.css +139 -0
  60. package/lib/icons/icon-warning.min.css +1 -0
  61. package/lib/icons/icons.css +1158 -0
  62. package/lib/icons/icons.min.css +1 -0
  63. package/lib/utils/_flex.scss +200 -0
  64. package/lib/utils/_grid.scss +211 -0
  65. package/lib/utils/_layout.scss +253 -0
  66. package/lib/utils/_spacing.scss +260 -0
  67. package/lib/utils/_typography.scss +111 -0
  68. package/lib/utils/utils.css +2434 -0
  69. package/lib/utils/utils.min.css +1 -0
  70. package/lib/utils-only.css +2801 -0
  71. package/lib/utils-only.min.css +1 -0
  72. package/lib/variables/variables.css +2 -0
  73. package/lib/variables/variables.min.css +0 -0
  74. package/package.json +194 -0
  75. package/src/__tests__/example.test.scss +12 -0
  76. package/src/accessibility.stories.js +416 -0
  77. package/src/all.scss +9 -0
  78. package/src/base/_layout.scss +97 -0
  79. package/src/base/_reset.scss +85 -0
  80. package/src/base/_typography.scss +105 -0
  81. package/src/base/base.scss +6 -0
  82. package/src/components/all.scss +22 -0
  83. package/src/components/breadcrumb/_breadcrumb-mixins.scss +173 -0
  84. package/src/components/breadcrumb/breadcrumb.scss +68 -0
  85. package/src/components/breadcrumb/breadcrumb.stories.js +483 -0
  86. package/src/components/button/__tests__/button-mixins.test.scss +35 -0
  87. package/src/components/button/_button-mixin.scss +120 -0
  88. package/src/components/button/button.scss +126 -0
  89. package/src/components/button/button.stories.js +364 -0
  90. package/src/components/card/__tests__/card-mixins.test.scss +36 -0
  91. package/src/components/card/_card-mixin.scss +196 -0
  92. package/src/components/card/card.scss +193 -0
  93. package/src/components/card/card.stories.js +635 -0
  94. package/src/components/checkbox/_checkbox-mixin.scss +208 -0
  95. package/src/components/checkbox/checkbox.scss +141 -0
  96. package/src/components/checkbox/checkbox.stories.js +303 -0
  97. package/src/components/footer/_footer-mixin.scss +385 -0
  98. package/src/components/footer/footer.scss +86 -0
  99. package/src/components/footer/footer.stories.js +740 -0
  100. package/src/components/header/_header-mixin.scss +275 -0
  101. package/src/components/header/header.scss +84 -0
  102. package/src/components/header/header.stories.js +450 -0
  103. package/src/components/navigation/_navigation-mixins.scss +270 -0
  104. package/src/components/navigation/navigation.scss +64 -0
  105. package/src/components/navigation/navigation.stories.js +410 -0
  106. package/src/components/notification/_notification-mixin.scss +239 -0
  107. package/src/components/notification/notification.scss +118 -0
  108. package/src/components/notification/notification.stories.js +378 -0
  109. package/src/components/overview.stories.js +473 -0
  110. package/src/components/pagination/_pagination-mixins.scss +280 -0
  111. package/src/components/pagination/pagination.scss +76 -0
  112. package/src/components/pagination/pagination.stories.js +729 -0
  113. package/src/components/radio-button/_radio-button-mixin.scss +207 -0
  114. package/src/components/radio-button/radio-button.scss +178 -0
  115. package/src/components/radio-button/radio-button.stories.js +379 -0
  116. package/src/components/tag/_tag-mixin.scss +261 -0
  117. package/src/components/tag/tag.scss +244 -0
  118. package/src/components/tag/tag.stories.js +482 -0
  119. package/src/components/text-input/_text-input-mixin.scss +203 -0
  120. package/src/components/text-input/text-input.scss +150 -0
  121. package/src/components/text-input/text-input.stories.js +723 -0
  122. package/src/icons/_icon.scss +121 -0
  123. package/src/icons/icon-arrow-left.scss +23 -0
  124. package/src/icons/icon-arrow-right.scss +23 -0
  125. package/src/icons/icon-check.scss +23 -0
  126. package/src/icons/icon-close.scss +24 -0
  127. package/src/icons/icon-error.scss +24 -0
  128. package/src/icons/icon-info.scss +24 -0
  129. package/src/icons/icon-success.scss +23 -0
  130. package/src/icons/icon-warning.scss +23 -0
  131. package/src/icons/icons.scss +12 -0
  132. package/src/icons/icons.stories.js +249 -0
  133. package/src/icons/svg/arrow-left.svg +3 -0
  134. package/src/icons/svg/arrow-right.svg +3 -0
  135. package/src/icons/svg/check.svg +3 -0
  136. package/src/icons/svg/close.svg +4 -0
  137. package/src/icons/svg/error.svg +5 -0
  138. package/src/icons/svg/info.svg +5 -0
  139. package/src/icons/svg/success.svg +4 -0
  140. package/src/icons/svg/warning.svg +5 -0
  141. package/src/utils/__tests__/utilities.test.scss +37 -0
  142. package/src/utils/_flex.scss +200 -0
  143. package/src/utils/_grid.scss +211 -0
  144. package/src/utils/_layout.scss +253 -0
  145. package/src/utils/_spacing.scss +260 -0
  146. package/src/utils/_typography.scss +111 -0
  147. package/src/utils/utils.scss +8 -0
  148. package/src/variables/_borders.scss +15 -0
  149. package/src/variables/_breakpoints.scss +11 -0
  150. package/src/variables/_colors.scss +97 -0
  151. package/src/variables/_shadows.scss +14 -0
  152. package/src/variables/_spacing.scss +24 -0
  153. package/src/variables/_typography.scss +47 -0
  154. package/src/variables/variables.scss +9 -0
@@ -0,0 +1,253 @@
1
+ // Layout utility classes
2
+ // Provides comprehensive display, position, and layout utilities
3
+
4
+ @use '../variables/variables' as vars;
5
+
6
+ // Display utilities
7
+ .ivds-block { display: block !important; }
8
+ .ivds-inline { display: inline !important; }
9
+ .ivds-inline-block { display: inline-block !important; }
10
+ .ivds-flex { display: flex !important; }
11
+ .ivds-inline-flex { display: inline-flex !important; }
12
+ .ivds-grid { display: grid !important; }
13
+ .ivds-inline-grid { display: inline-grid !important; }
14
+ .ivds-table { display: table !important; }
15
+ .ivds-table-cell { display: table-cell !important; }
16
+ .ivds-table-row { display: table-row !important; }
17
+ .ivds-hidden { display: none !important; }
18
+
19
+ // Position utilities
20
+ .ivds-static { position: static !important; }
21
+ .ivds-relative { position: relative !important; }
22
+ .ivds-absolute { position: absolute !important; }
23
+ .ivds-fixed { position: fixed !important; }
24
+ .ivds-sticky { position: sticky !important; }
25
+
26
+ // Top, right, bottom, left utilities
27
+ .ivds-inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
28
+ .ivds-inset-auto { top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; }
29
+
30
+ .ivds-inset-x-0 { left: 0 !important; right: 0 !important; }
31
+ .ivds-inset-x-auto { left: auto !important; right: auto !important; }
32
+ .ivds-inset-y-0 { top: 0 !important; bottom: 0 !important; }
33
+ .ivds-inset-y-auto { top: auto !important; bottom: auto !important; }
34
+
35
+ .ivds-top-0 { top: 0 !important; }
36
+ .ivds-top-auto { top: auto !important; }
37
+ .ivds-right-0 { right: 0 !important; }
38
+ .ivds-right-auto { right: auto !important; }
39
+ .ivds-bottom-0 { bottom: 0 !important; }
40
+ .ivds-bottom-auto { bottom: auto !important; }
41
+ .ivds-left-0 { left: 0 !important; }
42
+ .ivds-left-auto { left: auto !important; }
43
+
44
+ // Overflow utilities
45
+ .ivds-overflow-auto { overflow: auto !important; }
46
+ .ivds-overflow-hidden { overflow: hidden !important; }
47
+ .ivds-overflow-visible { overflow: visible !important; }
48
+ .ivds-overflow-scroll { overflow: scroll !important; }
49
+
50
+ .ivds-overflow-x-auto { overflow-x: auto !important; }
51
+ .ivds-overflow-x-hidden { overflow-x: hidden !important; }
52
+ .ivds-overflow-x-visible { overflow-x: visible !important; }
53
+ .ivds-overflow-x-scroll { overflow-x: scroll !important; }
54
+
55
+ .ivds-overflow-y-auto { overflow-y: auto !important; }
56
+ .ivds-overflow-y-hidden { overflow-y: hidden !important; }
57
+ .ivds-overflow-y-visible { overflow-y: visible !important; }
58
+ .ivds-overflow-y-scroll { overflow-y: scroll !important; }
59
+
60
+ // Visibility utilities
61
+ .ivds-visible { visibility: visible !important; }
62
+ .ivds-invisible { visibility: hidden !important; }
63
+
64
+ // Z-index utilities
65
+ .ivds-z-0 { z-index: 0 !important; }
66
+ .ivds-z-10 { z-index: 10 !important; }
67
+ .ivds-z-20 { z-index: 20 !important; }
68
+ .ivds-z-30 { z-index: 30 !important; }
69
+ .ivds-z-40 { z-index: 40 !important; }
70
+ .ivds-z-50 { z-index: 50 !important; }
71
+ .ivds-z-auto { z-index: auto !important; }
72
+
73
+ // Float utilities
74
+ .ivds-float-right { float: right !important; }
75
+ .ivds-float-left { float: left !important; }
76
+ .ivds-float-none { float: none !important; }
77
+
78
+ // Clear utilities
79
+ .ivds-clear-left { clear: left !important; }
80
+ .ivds-clear-right { clear: right !important; }
81
+ .ivds-clear-both { clear: both !important; }
82
+ .ivds-clear-none { clear: none !important; }
83
+
84
+ // Object fit utilities
85
+ .ivds-object-contain { object-fit: contain !important; }
86
+ .ivds-object-cover { object-fit: cover !important; }
87
+ .ivds-object-fill { object-fit: fill !important; }
88
+ .ivds-object-none { object-fit: none !important; }
89
+ .ivds-object-scale-down { object-fit: scale-down !important; }
90
+
91
+ // Object position utilities
92
+ .ivds-object-bottom { object-position: bottom !important; }
93
+ .ivds-object-center { object-position: center !important; }
94
+ .ivds-object-left { object-position: left !important; }
95
+ .ivds-object-left-bottom { object-position: left bottom !important; }
96
+ .ivds-object-left-top { object-position: left top !important; }
97
+ .ivds-object-right { object-position: right !important; }
98
+ .ivds-object-right-bottom { object-position: right bottom !important; }
99
+ .ivds-object-right-top { object-position: right top !important; }
100
+ .ivds-object-top { object-position: top !important; }
101
+
102
+ // Container utilities
103
+ .ivds-container {
104
+ width: 100% !important;
105
+ margin-left: auto !important;
106
+ margin-right: auto !important;
107
+ padding-left: var(--spacing-4, 1rem) !important;
108
+ padding-right: var(--spacing-4, 1rem) !important;
109
+
110
+ // Size variations
111
+ &--xs { max-width: 475px !important; }
112
+ &--sm { max-width: 640px !important; }
113
+ &--md { max-width: 768px !important; }
114
+ &--lg { max-width: 1024px !important; }
115
+ &--xl { max-width: 1280px !important; }
116
+ &--2xl { max-width: 1536px !important; }
117
+
118
+ // Padding variations
119
+ &--no-padding {
120
+ padding-left: 0 !important;
121
+ padding-right: 0 !important;
122
+ }
123
+
124
+ &--padding-sm {
125
+ padding-left: var(--spacing-2, 0.5rem) !important;
126
+ padding-right: var(--spacing-2, 0.5rem) !important;
127
+ }
128
+
129
+ &--padding-lg {
130
+ padding-left: var(--spacing-8, 2rem) !important;
131
+ padding-right: var(--spacing-8, 2rem) !important;
132
+ }
133
+ }
134
+
135
+ // Width utilities
136
+ .ivds-w-0 { width: 0 !important; }
137
+ .ivds-w-auto { width: auto !important; }
138
+ .ivds-w-full { width: 100% !important; }
139
+ .ivds-w-screen { width: 100vw !important; }
140
+ .ivds-w-min { width: min-content !important; }
141
+ .ivds-w-max { width: max-content !important; }
142
+ .ivds-w-fit { width: fit-content !important; }
143
+
144
+ // Fractional widths
145
+ .ivds-w-1-2 { width: 50% !important; }
146
+ .ivds-w-1-3 { width: 33.3333% !important; }
147
+ .ivds-w-2-3 { width: 66.6667% !important; }
148
+ .ivds-w-1-4 { width: 25% !important; }
149
+ .ivds-w-2-4 { width: 50% !important; }
150
+ .ivds-w-3-4 { width: 75% !important; }
151
+ .ivds-w-1-5 { width: 20% !important; }
152
+ .ivds-w-2-5 { width: 40% !important; }
153
+ .ivds-w-3-5 { width: 60% !important; }
154
+ .ivds-w-4-5 { width: 80% !important; }
155
+ .ivds-w-1-6 { width: 16.6667% !important; }
156
+ .ivds-w-2-6 { width: 33.3333% !important; }
157
+ .ivds-w-3-6 { width: 50% !important; }
158
+ .ivds-w-4-6 { width: 66.6667% !important; }
159
+ .ivds-w-5-6 { width: 83.3333% !important; }
160
+
161
+ // Height utilities
162
+ .ivds-h-0 { height: 0 !important; }
163
+ .ivds-h-auto { height: auto !important; }
164
+ .ivds-h-full { height: 100% !important; }
165
+ .ivds-h-screen { height: 100vh !important; }
166
+ .ivds-h-min { height: min-content !important; }
167
+ .ivds-h-max { height: max-content !important; }
168
+ .ivds-h-fit { height: fit-content !important; }
169
+
170
+ // Fractional heights
171
+ .ivds-h-1-2 { height: 50% !important; }
172
+ .ivds-h-1-3 { height: 33.3333% !important; }
173
+ .ivds-h-2-3 { height: 66.6667% !important; }
174
+ .ivds-h-1-4 { height: 25% !important; }
175
+ .ivds-h-2-4 { height: 50% !important; }
176
+ .ivds-h-3-4 { height: 75% !important; }
177
+ .ivds-h-1-5 { height: 20% !important; }
178
+ .ivds-h-2-5 { height: 40% !important; }
179
+ .ivds-h-3-5 { height: 60% !important; }
180
+ .ivds-h-4-5 { height: 80% !important; }
181
+ .ivds-h-1-6 { height: 16.6667% !important; }
182
+ .ivds-h-5-6 { height: 83.3333% !important; }
183
+
184
+ // Min/Max width utilities
185
+ .ivds-min-w-0 { min-width: 0 !important; }
186
+ .ivds-min-w-full { min-width: 100% !important; }
187
+ .ivds-min-w-min { min-width: min-content !important; }
188
+ .ivds-min-w-max { min-width: max-content !important; }
189
+ .ivds-min-w-fit { min-width: fit-content !important; }
190
+
191
+ .ivds-max-w-0 { max-width: 0 !important; }
192
+ .ivds-max-w-none { max-width: none !important; }
193
+ .ivds-max-w-xs { max-width: 20rem !important; }
194
+ .ivds-max-w-sm { max-width: 24rem !important; }
195
+ .ivds-max-w-md { max-width: 28rem !important; }
196
+ .ivds-max-w-lg { max-width: 32rem !important; }
197
+ .ivds-max-w-xl { max-width: 36rem !important; }
198
+ .ivds-max-w-2xl { max-width: 42rem !important; }
199
+ .ivds-max-w-3xl { max-width: 48rem !important; }
200
+ .ivds-max-w-4xl { max-width: 56rem !important; }
201
+ .ivds-max-w-5xl { max-width: 64rem !important; }
202
+ .ivds-max-w-6xl { max-width: 72rem !important; }
203
+ .ivds-max-w-7xl { max-width: 80rem !important; }
204
+ .ivds-max-w-full { max-width: 100% !important; }
205
+ .ivds-max-w-min { max-width: min-content !important; }
206
+ .ivds-max-w-max { max-width: max-content !important; }
207
+ .ivds-max-w-fit { max-width: fit-content !important; }
208
+
209
+ // Min/Max height utilities
210
+ .ivds-min-h-0 { min-height: 0 !important; }
211
+ .ivds-min-h-full { min-height: 100% !important; }
212
+ .ivds-min-h-screen { min-height: 100vh !important; }
213
+ .ivds-min-h-min { min-height: min-content !important; }
214
+ .ivds-min-h-max { min-height: max-content !important; }
215
+ .ivds-min-h-fit { min-height: fit-content !important; }
216
+
217
+ .ivds-max-h-0 { max-height: 0 !important; }
218
+ .ivds-max-h-full { max-height: 100% !important; }
219
+ .ivds-max-h-screen { max-height: 100vh !important; }
220
+ .ivds-max-h-min { max-height: min-content !important; }
221
+ .ivds-max-h-max { max-height: max-content !important; }
222
+ .ivds-max-h-fit { max-height: fit-content !important; }
223
+
224
+ // Responsive display utilities
225
+ @media (min-width: 640px) {
226
+ .ivds-sm-block { display: block !important; }
227
+ .ivds-sm-inline { display: inline !important; }
228
+ .ivds-sm-inline-block { display: inline-block !important; }
229
+ .ivds-sm-flex { display: flex !important; }
230
+ .ivds-sm-inline-flex { display: inline-flex !important; }
231
+ .ivds-sm-grid { display: grid !important; }
232
+ .ivds-sm-hidden { display: none !important; }
233
+ }
234
+
235
+ @media (min-width: 768px) {
236
+ .ivds-md-block { display: block !important; }
237
+ .ivds-md-inline { display: inline !important; }
238
+ .ivds-md-inline-block { display: inline-block !important; }
239
+ .ivds-md-flex { display: flex !important; }
240
+ .ivds-md-inline-flex { display: inline-flex !important; }
241
+ .ivds-md-grid { display: grid !important; }
242
+ .ivds-md-hidden { display: none !important; }
243
+ }
244
+
245
+ @media (min-width: 1024px) {
246
+ .ivds-lg-block { display: block !important; }
247
+ .ivds-lg-inline { display: inline !important; }
248
+ .ivds-lg-inline-block { display: inline-block !important; }
249
+ .ivds-lg-flex { display: flex !important; }
250
+ .ivds-lg-inline-flex { display: inline-flex !important; }
251
+ .ivds-lg-grid { display: grid !important; }
252
+ .ivds-lg-hidden { display: none !important; }
253
+ }
@@ -0,0 +1,260 @@
1
+ // Spacing utility classes
2
+ // Generates margin and padding utilities using design tokens with responsive support
3
+
4
+ @use '../variables/variables' as vars;
5
+
6
+ // All margin utilities
7
+ .ivds-m-0 { margin: var(--spacing-0, 0) !important; }
8
+ .ivds-m-1 { margin: var(--spacing-1, 0.25rem) !important; }
9
+ .ivds-m-2 { margin: var(--spacing-2, 0.5rem) !important; }
10
+ .ivds-m-3 { margin: var(--spacing-3, 0.75rem) !important; }
11
+ .ivds-m-4 { margin: var(--spacing-4, 1rem) !important; }
12
+ .ivds-m-5 { margin: var(--spacing-5, 1.25rem) !important; }
13
+ .ivds-m-6 { margin: var(--spacing-6, 1.5rem) !important; }
14
+ .ivds-m-8 { margin: var(--spacing-8, 2rem) !important; }
15
+ .ivds-m-10 { margin: var(--spacing-10, 2.5rem) !important; }
16
+ .ivds-m-12 { margin: var(--spacing-12, 3rem) !important; }
17
+ .ivds-m-16 { margin: var(--spacing-16, 4rem) !important; }
18
+ .ivds-m-20 { margin: var(--spacing-20, 5rem) !important; }
19
+ .ivds-m-24 { margin: var(--spacing-24, 6rem) !important; }
20
+ .ivds-m-32 { margin: var(--spacing-32, 8rem) !important; }
21
+
22
+ // Margin X-axis (left and right)
23
+ .ivds-mx-0 { margin-left: var(--spacing-0, 0) !important; margin-right: var(--spacing-0, 0) !important; }
24
+ .ivds-mx-1 { margin-left: var(--spacing-1, 0.25rem) !important; margin-right: var(--spacing-1, 0.25rem) !important; }
25
+ .ivds-mx-2 { margin-left: var(--spacing-2, 0.5rem) !important; margin-right: var(--spacing-2, 0.5rem) !important; }
26
+ .ivds-mx-3 { margin-left: var(--spacing-3, 0.75rem) !important; margin-right: var(--spacing-3, 0.75rem) !important; }
27
+ .ivds-mx-4 { margin-left: var(--spacing-4, 1rem) !important; margin-right: var(--spacing-4, 1rem) !important; }
28
+ .ivds-mx-5 { margin-left: var(--spacing-5, 1.25rem) !important; margin-right: var(--spacing-5, 1.25rem) !important; }
29
+ .ivds-mx-6 { margin-left: var(--spacing-6, 1.5rem) !important; margin-right: var(--spacing-6, 1.5rem) !important; }
30
+ .ivds-mx-8 { margin-left: var(--spacing-8, 2rem) !important; margin-right: var(--spacing-8, 2rem) !important; }
31
+ .ivds-mx-10 { margin-left: var(--spacing-10, 2.5rem) !important; margin-right: var(--spacing-10, 2.5rem) !important; }
32
+ .ivds-mx-12 { margin-left: var(--spacing-12, 3rem) !important; margin-right: var(--spacing-12, 3rem) !important; }
33
+ .ivds-mx-16 { margin-left: var(--spacing-16, 4rem) !important; margin-right: var(--spacing-16, 4rem) !important; }
34
+ .ivds-mx-auto { margin-left: auto !important; margin-right: auto !important; }
35
+
36
+ // Margin Y-axis (top and bottom)
37
+ .ivds-my-0 { margin-top: var(--spacing-0, 0) !important; margin-bottom: var(--spacing-0, 0) !important; }
38
+ .ivds-my-1 { margin-top: var(--spacing-1, 0.25rem) !important; margin-bottom: var(--spacing-1, 0.25rem) !important; }
39
+ .ivds-my-2 { margin-top: var(--spacing-2, 0.5rem) !important; margin-bottom: var(--spacing-2, 0.5rem) !important; }
40
+ .ivds-my-3 { margin-top: var(--spacing-3, 0.75rem) !important; margin-bottom: var(--spacing-3, 0.75rem) !important; }
41
+ .ivds-my-4 { margin-top: var(--spacing-4, 1rem) !important; margin-bottom: var(--spacing-4, 1rem) !important; }
42
+ .ivds-my-5 { margin-top: var(--spacing-5, 1.25rem) !important; margin-bottom: var(--spacing-5, 1.25rem) !important; }
43
+ .ivds-my-6 { margin-top: var(--spacing-6, 1.5rem) !important; margin-bottom: var(--spacing-6, 1.5rem) !important; }
44
+ .ivds-my-8 { margin-top: var(--spacing-8, 2rem) !important; margin-bottom: var(--spacing-8, 2rem) !important; }
45
+ .ivds-my-10 { margin-top: var(--spacing-10, 2.5rem) !important; margin-bottom: var(--spacing-10, 2.5rem) !important; }
46
+ .ivds-my-12 { margin-top: var(--spacing-12, 3rem) !important; margin-bottom: var(--spacing-12, 3rem) !important; }
47
+ .ivds-my-16 { margin-top: var(--spacing-16, 4rem) !important; margin-bottom: var(--spacing-16, 4rem) !important; }
48
+
49
+ // Individual margin sides
50
+ .ivds-mt-0 { margin-top: var(--spacing-0, 0) !important; }
51
+ .ivds-mt-1 { margin-top: var(--spacing-1, 0.25rem) !important; }
52
+ .ivds-mt-2 { margin-top: var(--spacing-2, 0.5rem) !important; }
53
+ .ivds-mt-3 { margin-top: var(--spacing-3, 0.75rem) !important; }
54
+ .ivds-mt-4 { margin-top: var(--spacing-4, 1rem) !important; }
55
+ .ivds-mt-5 { margin-top: var(--spacing-5, 1.25rem) !important; }
56
+ .ivds-mt-6 { margin-top: var(--spacing-6, 1.5rem) !important; }
57
+ .ivds-mt-8 { margin-top: var(--spacing-8, 2rem) !important; }
58
+ .ivds-mt-10 { margin-top: var(--spacing-10, 2.5rem) !important; }
59
+ .ivds-mt-12 { margin-top: var(--spacing-12, 3rem) !important; }
60
+ .ivds-mt-16 { margin-top: var(--spacing-16, 4rem) !important; }
61
+
62
+ .ivds-mr-0 { margin-right: var(--spacing-0, 0) !important; }
63
+ .ivds-mr-1 { margin-right: var(--spacing-1, 0.25rem) !important; }
64
+ .ivds-mr-2 { margin-right: var(--spacing-2, 0.5rem) !important; }
65
+ .ivds-mr-3 { margin-right: var(--spacing-3, 0.75rem) !important; }
66
+ .ivds-mr-4 { margin-right: var(--spacing-4, 1rem) !important; }
67
+ .ivds-mr-5 { margin-right: var(--spacing-5, 1.25rem) !important; }
68
+ .ivds-mr-6 { margin-right: var(--spacing-6, 1.5rem) !important; }
69
+ .ivds-mr-8 { margin-right: var(--spacing-8, 2rem) !important; }
70
+ .ivds-mr-10 { margin-right: var(--spacing-10, 2.5rem) !important; }
71
+ .ivds-mr-12 { margin-right: var(--spacing-12, 3rem) !important; }
72
+ .ivds-mr-16 { margin-right: var(--spacing-16, 4rem) !important; }
73
+
74
+ .ivds-mb-0 { margin-bottom: var(--spacing-0, 0) !important; }
75
+ .ivds-mb-1 { margin-bottom: var(--spacing-1, 0.25rem) !important; }
76
+ .ivds-mb-2 { margin-bottom: var(--spacing-2, 0.5rem) !important; }
77
+ .ivds-mb-3 { margin-bottom: var(--spacing-3, 0.75rem) !important; }
78
+ .ivds-mb-4 { margin-bottom: var(--spacing-4, 1rem) !important; }
79
+ .ivds-mb-5 { margin-bottom: var(--spacing-5, 1.25rem) !important; }
80
+ .ivds-mb-6 { margin-bottom: var(--spacing-6, 1.5rem) !important; }
81
+ .ivds-mb-8 { margin-bottom: var(--spacing-8, 2rem) !important; }
82
+ .ivds-mb-10 { margin-bottom: var(--spacing-10, 2.5rem) !important; }
83
+ .ivds-mb-12 { margin-bottom: var(--spacing-12, 3rem) !important; }
84
+ .ivds-mb-16 { margin-bottom: var(--spacing-16, 4rem) !important; }
85
+
86
+ .ivds-ml-0 { margin-left: var(--spacing-0, 0) !important; }
87
+ .ivds-ml-1 { margin-left: var(--spacing-1, 0.25rem) !important; }
88
+ .ivds-ml-2 { margin-left: var(--spacing-2, 0.5rem) !important; }
89
+ .ivds-ml-3 { margin-left: var(--spacing-3, 0.75rem) !important; }
90
+ .ivds-ml-4 { margin-left: var(--spacing-4, 1rem) !important; }
91
+ .ivds-ml-5 { margin-left: var(--spacing-5, 1.25rem) !important; }
92
+ .ivds-ml-6 { margin-left: var(--spacing-6, 1.5rem) !important; }
93
+ .ivds-ml-8 { margin-left: var(--spacing-8, 2rem) !important; }
94
+ .ivds-ml-10 { margin-left: var(--spacing-10, 2.5rem) !important; }
95
+ .ivds-ml-12 { margin-left: var(--spacing-12, 3rem) !important; }
96
+ .ivds-ml-16 { margin-left: var(--spacing-16, 4rem) !important; }
97
+
98
+ // All padding utilities
99
+ .ivds-p-0 { padding: var(--spacing-0, 0) !important; }
100
+ .ivds-p-1 { padding: var(--spacing-1, 0.25rem) !important; }
101
+ .ivds-p-2 { padding: var(--spacing-2, 0.5rem) !important; }
102
+ .ivds-p-3 { padding: var(--spacing-3, 0.75rem) !important; }
103
+ .ivds-p-4 { padding: var(--spacing-4, 1rem) !important; }
104
+ .ivds-p-5 { padding: var(--spacing-5, 1.25rem) !important; }
105
+ .ivds-p-6 { padding: var(--spacing-6, 1.5rem) !important; }
106
+ .ivds-p-8 { padding: var(--spacing-8, 2rem) !important; }
107
+ .ivds-p-10 { padding: var(--spacing-10, 2.5rem) !important; }
108
+ .ivds-p-12 { padding: var(--spacing-12, 3rem) !important; }
109
+ .ivds-p-16 { padding: var(--spacing-16, 4rem) !important; }
110
+ .ivds-p-20 { padding: var(--spacing-20, 5rem) !important; }
111
+ .ivds-p-24 { padding: var(--spacing-24, 6rem) !important; }
112
+ .ivds-p-32 { padding: var(--spacing-32, 8rem) !important; }
113
+
114
+ // Padding X-axis (left and right)
115
+ .ivds-px-0 { padding-left: var(--spacing-0, 0) !important; padding-right: var(--spacing-0, 0) !important; }
116
+ .ivds-px-1 { padding-left: var(--spacing-1, 0.25rem) !important; padding-right: var(--spacing-1, 0.25rem) !important; }
117
+ .ivds-px-2 { padding-left: var(--spacing-2, 0.5rem) !important; padding-right: var(--spacing-2, 0.5rem) !important; }
118
+ .ivds-px-3 { padding-left: var(--spacing-3, 0.75rem) !important; padding-right: var(--spacing-3, 0.75rem) !important; }
119
+ .ivds-px-4 { padding-left: var(--spacing-4, 1rem) !important; padding-right: var(--spacing-4, 1rem) !important; }
120
+ .ivds-px-5 { padding-left: var(--spacing-5, 1.25rem) !important; padding-right: var(--spacing-5, 1.25rem) !important; }
121
+ .ivds-px-6 { padding-left: var(--spacing-6, 1.5rem) !important; padding-right: var(--spacing-6, 1.5rem) !important; }
122
+ .ivds-px-8 { padding-left: var(--spacing-8, 2rem) !important; padding-right: var(--spacing-8, 2rem) !important; }
123
+ .ivds-px-10 { padding-left: var(--spacing-10, 2.5rem) !important; padding-right: var(--spacing-10, 2.5rem) !important; }
124
+ .ivds-px-12 { padding-left: var(--spacing-12, 3rem) !important; padding-right: var(--spacing-12, 3rem) !important; }
125
+ .ivds-px-16 { padding-left: var(--spacing-16, 4rem) !important; padding-right: var(--spacing-16, 4rem) !important; }
126
+
127
+ // Padding Y-axis (top and bottom)
128
+ .ivds-py-0 { padding-top: var(--spacing-0, 0) !important; padding-bottom: var(--spacing-0, 0) !important; }
129
+ .ivds-py-1 { padding-top: var(--spacing-1, 0.25rem) !important; padding-bottom: var(--spacing-1, 0.25rem) !important; }
130
+ .ivds-py-2 { padding-top: var(--spacing-2, 0.5rem) !important; padding-bottom: var(--spacing-2, 0.5rem) !important; }
131
+ .ivds-py-3 { padding-top: var(--spacing-3, 0.75rem) !important; padding-bottom: var(--spacing-3, 0.75rem) !important; }
132
+ .ivds-py-4 { padding-top: var(--spacing-4, 1rem) !important; padding-bottom: var(--spacing-4, 1rem) !important; }
133
+ .ivds-py-5 { padding-top: var(--spacing-5, 1.25rem) !important; padding-bottom: var(--spacing-5, 1.25rem) !important; }
134
+ .ivds-py-6 { padding-top: var(--spacing-6, 1.5rem) !important; padding-bottom: var(--spacing-6, 1.5rem) !important; }
135
+ .ivds-py-8 { padding-top: var(--spacing-8, 2rem) !important; padding-bottom: var(--spacing-8, 2rem) !important; }
136
+ .ivds-py-10 { padding-top: var(--spacing-10, 2.5rem) !important; padding-bottom: var(--spacing-10, 2.5rem) !important; }
137
+ .ivds-py-12 { padding-top: var(--spacing-12, 3rem) !important; padding-bottom: var(--spacing-12, 3rem) !important; }
138
+ .ivds-py-16 { padding-top: var(--spacing-16, 4rem) !important; padding-bottom: var(--spacing-16, 4rem) !important; }
139
+
140
+ // Individual padding sides
141
+ .ivds-pt-0 { padding-top: var(--spacing-0, 0) !important; }
142
+ .ivds-pt-1 { padding-top: var(--spacing-1, 0.25rem) !important; }
143
+ .ivds-pt-2 { padding-top: var(--spacing-2, 0.5rem) !important; }
144
+ .ivds-pt-3 { padding-top: var(--spacing-3, 0.75rem) !important; }
145
+ .ivds-pt-4 { padding-top: var(--spacing-4, 1rem) !important; }
146
+ .ivds-pt-5 { padding-top: var(--spacing-5, 1.25rem) !important; }
147
+ .ivds-pt-6 { padding-top: var(--spacing-6, 1.5rem) !important; }
148
+ .ivds-pt-8 { padding-top: var(--spacing-8, 2rem) !important; }
149
+ .ivds-pt-10 { padding-top: var(--spacing-10, 2.5rem) !important; }
150
+ .ivds-pt-12 { padding-top: var(--spacing-12, 3rem) !important; }
151
+ .ivds-pt-16 { padding-top: var(--spacing-16, 4rem) !important; }
152
+
153
+ .ivds-pr-0 { padding-right: var(--spacing-0, 0) !important; }
154
+ .ivds-pr-1 { padding-right: var(--spacing-1, 0.25rem) !important; }
155
+ .ivds-pr-2 { padding-right: var(--spacing-2, 0.5rem) !important; }
156
+ .ivds-pr-3 { padding-right: var(--spacing-3, 0.75rem) !important; }
157
+ .ivds-pr-4 { padding-right: var(--spacing-4, 1rem) !important; }
158
+ .ivds-pr-5 { padding-right: var(--spacing-5, 1.25rem) !important; }
159
+ .ivds-pr-6 { padding-right: var(--spacing-6, 1.5rem) !important; }
160
+ .ivds-pr-8 { padding-right: var(--spacing-8, 2rem) !important; }
161
+ .ivds-pr-10 { padding-right: var(--spacing-10, 2.5rem) !important; }
162
+ .ivds-pr-12 { padding-right: var(--spacing-12, 3rem) !important; }
163
+ .ivds-pr-16 { padding-right: var(--spacing-16, 4rem) !important; }
164
+
165
+ .ivds-pb-0 { padding-bottom: var(--spacing-0, 0) !important; }
166
+ .ivds-pb-1 { padding-bottom: var(--spacing-1, 0.25rem) !important; }
167
+ .ivds-pb-2 { padding-bottom: var(--spacing-2, 0.5rem) !important; }
168
+ .ivds-pb-3 { padding-bottom: var(--spacing-3, 0.75rem) !important; }
169
+ .ivds-pb-4 { padding-bottom: var(--spacing-4, 1rem) !important; }
170
+ .ivds-pb-5 { padding-bottom: var(--spacing-5, 1.25rem) !important; }
171
+ .ivds-pb-6 { padding-bottom: var(--spacing-6, 1.5rem) !important; }
172
+ .ivds-pb-8 { padding-bottom: var(--spacing-8, 2rem) !important; }
173
+ .ivds-pb-10 { padding-bottom: var(--spacing-10, 2.5rem) !important; }
174
+ .ivds-pb-12 { padding-bottom: var(--spacing-12, 3rem) !important; }
175
+ .ivds-pb-16 { padding-bottom: var(--spacing-16, 4rem) !important; }
176
+
177
+ .ivds-pl-0 { padding-left: var(--spacing-0, 0) !important; }
178
+ .ivds-pl-1 { padding-left: var(--spacing-1, 0.25rem) !important; }
179
+ .ivds-pl-2 { padding-left: var(--spacing-2, 0.5rem) !important; }
180
+ .ivds-pl-3 { padding-left: var(--spacing-3, 0.75rem) !important; }
181
+ .ivds-pl-4 { padding-left: var(--spacing-4, 1rem) !important; }
182
+ .ivds-pl-5 { padding-left: var(--spacing-5, 1.25rem) !important; }
183
+ .ivds-pl-6 { padding-left: var(--spacing-6, 1.5rem) !important; }
184
+ .ivds-pl-8 { padding-left: var(--spacing-8, 2rem) !important; }
185
+ .ivds-pl-10 { padding-left: var(--spacing-10, 2.5rem) !important; }
186
+ .ivds-pl-12 { padding-left: var(--spacing-12, 3rem) !important; }
187
+ .ivds-pl-16 { padding-left: var(--spacing-16, 4rem) !important; }
188
+
189
+ // Responsive spacing utilities for different breakpoints
190
+ @media (min-width: 640px) {
191
+ // Small breakpoint margin utilities
192
+ .ivds-sm-m-0 { margin: var(--spacing-0, 0) !important; }
193
+ .ivds-sm-m-1 { margin: var(--spacing-1, 0.25rem) !important; }
194
+ .ivds-sm-m-2 { margin: var(--spacing-2, 0.5rem) !important; }
195
+ .ivds-sm-m-3 { margin: var(--spacing-3, 0.75rem) !important; }
196
+ .ivds-sm-m-4 { margin: var(--spacing-4, 1rem) !important; }
197
+ .ivds-sm-m-6 { margin: var(--spacing-6, 1.5rem) !important; }
198
+ .ivds-sm-m-8 { margin: var(--spacing-8, 2rem) !important; }
199
+ .ivds-sm-m-12 { margin: var(--spacing-12, 3rem) !important; }
200
+ .ivds-sm-m-16 { margin: var(--spacing-16, 4rem) !important; }
201
+
202
+ // Small breakpoint padding utilities
203
+ .ivds-sm-p-0 { padding: var(--spacing-0, 0) !important; }
204
+ .ivds-sm-p-1 { padding: var(--spacing-1, 0.25rem) !important; }
205
+ .ivds-sm-p-2 { padding: var(--spacing-2, 0.5rem) !important; }
206
+ .ivds-sm-p-3 { padding: var(--spacing-3, 0.75rem) !important; }
207
+ .ivds-sm-p-4 { padding: var(--spacing-4, 1rem) !important; }
208
+ .ivds-sm-p-6 { padding: var(--spacing-6, 1.5rem) !important; }
209
+ .ivds-sm-p-8 { padding: var(--spacing-8, 2rem) !important; }
210
+ .ivds-sm-p-12 { padding: var(--spacing-12, 3rem) !important; }
211
+ .ivds-sm-p-16 { padding: var(--spacing-16, 4rem) !important; }
212
+ }
213
+
214
+ @media (min-width: 768px) {
215
+ // Medium breakpoint margin utilities
216
+ .ivds-md-m-0 { margin: var(--spacing-0, 0) !important; }
217
+ .ivds-md-m-1 { margin: var(--spacing-1, 0.25rem) !important; }
218
+ .ivds-md-m-2 { margin: var(--spacing-2, 0.5rem) !important; }
219
+ .ivds-md-m-3 { margin: var(--spacing-3, 0.75rem) !important; }
220
+ .ivds-md-m-4 { margin: var(--spacing-4, 1rem) !important; }
221
+ .ivds-md-m-6 { margin: var(--spacing-6, 1.5rem) !important; }
222
+ .ivds-md-m-8 { margin: var(--spacing-8, 2rem) !important; }
223
+ .ivds-md-m-12 { margin: var(--spacing-12, 3rem) !important; }
224
+ .ivds-md-m-16 { margin: var(--spacing-16, 4rem) !important; }
225
+
226
+ // Medium breakpoint padding utilities
227
+ .ivds-md-p-0 { padding: var(--spacing-0, 0) !important; }
228
+ .ivds-md-p-1 { padding: var(--spacing-1, 0.25rem) !important; }
229
+ .ivds-md-p-2 { padding: var(--spacing-2, 0.5rem) !important; }
230
+ .ivds-md-p-3 { padding: var(--spacing-3, 0.75rem) !important; }
231
+ .ivds-md-p-4 { padding: var(--spacing-4, 1rem) !important; }
232
+ .ivds-md-p-6 { padding: var(--spacing-6, 1.5rem) !important; }
233
+ .ivds-md-p-8 { padding: var(--spacing-8, 2rem) !important; }
234
+ .ivds-md-p-12 { padding: var(--spacing-12, 3rem) !important; }
235
+ .ivds-md-p-16 { padding: var(--spacing-16, 4rem) !important; }
236
+ }
237
+
238
+ @media (min-width: 1024px) {
239
+ // Large breakpoint margin utilities
240
+ .ivds-lg-m-0 { margin: var(--spacing-0, 0) !important; }
241
+ .ivds-lg-m-1 { margin: var(--spacing-1, 0.25rem) !important; }
242
+ .ivds-lg-m-2 { margin: var(--spacing-2, 0.5rem) !important; }
243
+ .ivds-lg-m-3 { margin: var(--spacing-3, 0.75rem) !important; }
244
+ .ivds-lg-m-4 { margin: var(--spacing-4, 1rem) !important; }
245
+ .ivds-lg-m-6 { margin: var(--spacing-6, 1.5rem) !important; }
246
+ .ivds-lg-m-8 { margin: var(--spacing-8, 2rem) !important; }
247
+ .ivds-lg-m-12 { margin: var(--spacing-12, 3rem) !important; }
248
+ .ivds-lg-m-16 { margin: var(--spacing-16, 4rem) !important; }
249
+
250
+ // Large breakpoint padding utilities
251
+ .ivds-lg-p-0 { padding: var(--spacing-0, 0) !important; }
252
+ .ivds-lg-p-1 { padding: var(--spacing-1, 0.25rem) !important; }
253
+ .ivds-lg-p-2 { padding: var(--spacing-2, 0.5rem) !important; }
254
+ .ivds-lg-p-3 { padding: var(--spacing-3, 0.75rem) !important; }
255
+ .ivds-lg-p-4 { padding: var(--spacing-4, 1rem) !important; }
256
+ .ivds-lg-p-6 { padding: var(--spacing-6, 1.5rem) !important; }
257
+ .ivds-lg-p-8 { padding: var(--spacing-8, 2rem) !important; }
258
+ .ivds-lg-p-12 { padding: var(--spacing-12, 3rem) !important; }
259
+ .ivds-lg-p-16 { padding: var(--spacing-16, 4rem) !important; }
260
+ }
@@ -0,0 +1,111 @@
1
+ // Typography utility classes
2
+ // Provides comprehensive text styling utilities using design tokens
3
+
4
+ @use '../variables/variables' as vars;
5
+
6
+ // Font size utilities
7
+ .ivds-text-xs { font-size: var(--fontSize-xs, 0.75rem) !important; }
8
+ .ivds-text-sm { font-size: var(--fontSize-sm, 0.875rem) !important; }
9
+ .ivds-text-base { font-size: var(--fontSize-base, 1rem) !important; }
10
+ .ivds-text-lg { font-size: var(--fontSize-lg, 1.125rem) !important; }
11
+ .ivds-text-xl { font-size: var(--fontSize-xl, 1.25rem) !important; }
12
+ .ivds-text-2xl { font-size: var(--fontSize-2xl, 1.5rem) !important; }
13
+ .ivds-text-3xl { font-size: var(--fontSize-3xl, 1.875rem) !important; }
14
+ .ivds-text-4xl { font-size: var(--fontSize-4xl, 2.25rem) !important; }
15
+ .ivds-text-5xl { font-size: var(--fontSize-5xl, 3rem) !important; }
16
+ .ivds-text-6xl { font-size: var(--fontSize-6xl, 3.75rem) !important; }
17
+ .ivds-text-7xl { font-size: var(--fontSize-7xl, 4.5rem) !important; }
18
+ .ivds-text-8xl { font-size: var(--fontSize-8xl, 6rem) !important; }
19
+ .ivds-text-9xl { font-size: var(--fontSize-9xl, 8rem) !important; }
20
+
21
+ // Font weight utilities
22
+ .ivds-font-thin { font-weight: var(--fontWeight-thin, 100) !important; }
23
+ .ivds-font-extralight { font-weight: var(--fontWeight-extralight, 200) !important; }
24
+ .ivds-font-light { font-weight: var(--fontWeight-light, 300) !important; }
25
+ .ivds-font-normal { font-weight: var(--fontWeight-normal, 400) !important; }
26
+ .ivds-font-medium { font-weight: var(--fontWeight-medium, 500) !important; }
27
+ .ivds-font-semibold { font-weight: var(--fontWeight-semibold, 600) !important; }
28
+ .ivds-font-bold { font-weight: var(--fontWeight-bold, 700) !important; }
29
+ .ivds-font-extrabold { font-weight: var(--fontWeight-extrabold, 800) !important; }
30
+ .ivds-font-black { font-weight: var(--fontWeight-black, 900) !important; }
31
+
32
+ // Line height utilities
33
+ .ivds-leading-none { line-height: var(--lineHeight-none, 1) !important; }
34
+ .ivds-leading-tight { line-height: var(--lineHeight-tight, 1.25) !important; }
35
+ .ivds-leading-snug { line-height: var(--lineHeight-snug, 1.375) !important; }
36
+ .ivds-leading-normal { line-height: var(--lineHeight-normal, 1.5) !important; }
37
+ .ivds-leading-relaxed { line-height: var(--lineHeight-relaxed, 1.625) !important; }
38
+ .ivds-leading-loose { line-height: var(--lineHeight-loose, 2) !important; }
39
+
40
+ // Text alignment utilities
41
+ .ivds-text-left { text-align: left !important; }
42
+ .ivds-text-center { text-align: center !important; }
43
+ .ivds-text-right { text-align: right !important; }
44
+ .ivds-text-justify { text-align: justify !important; }
45
+
46
+ // Text color utilities (using semantic color tokens)
47
+ .ivds-text-primary { color: var(--color-semantic-neutral-900, #111827) !important; }
48
+ .ivds-text-secondary { color: var(--color-semantic-neutral-600, #4b5563) !important; }
49
+ .ivds-text-muted { color: var(--color-semantic-neutral-500, #6b7280) !important; }
50
+ .ivds-text-disabled { color: var(--color-semantic-neutral-400, #9ca3af) !important; }
51
+ .ivds-text-white { color: var(--color-semantic-neutral-50, #f9fafb) !important; }
52
+ .ivds-text-black { color: var(--color-semantic-neutral-900, #111827) !important; }
53
+
54
+ // Brand color text utilities
55
+ .ivds-text-brand-primary { color: var(--color-brand-primary-500, #0ea5e9) !important; }
56
+ .ivds-text-brand-secondary { color: var(--color-brand-secondary-500, #8b5cf6) !important; }
57
+
58
+ // Semantic color text utilities
59
+ .ivds-text-success { color: var(--color-semantic-success-500, #10b981) !important; }
60
+ .ivds-text-warning { color: var(--color-semantic-warning-500, #f59e0b) !important; }
61
+ .ivds-text-error { color: var(--color-semantic-error-500, #ef4444) !important; }
62
+ .ivds-text-info { color: var(--color-semantic-info-500, #3b82f6) !important; }
63
+
64
+ // Text decoration utilities
65
+ .ivds-underline { text-decoration: underline !important; }
66
+ .ivds-line-through { text-decoration: line-through !important; }
67
+ .ivds-no-underline { text-decoration: none !important; }
68
+
69
+ // Text transform utilities
70
+ .ivds-uppercase { text-transform: uppercase !important; }
71
+ .ivds-lowercase { text-transform: lowercase !important; }
72
+ .ivds-capitalize { text-transform: capitalize !important; }
73
+ .ivds-normal-case { text-transform: none !important; }
74
+
75
+ // Font style utilities
76
+ .ivds-italic { font-style: italic !important; }
77
+ .ivds-not-italic { font-style: normal !important; }
78
+
79
+ // Text overflow utilities
80
+ .ivds-truncate {
81
+ overflow: hidden !important;
82
+ text-overflow: ellipsis !important;
83
+ white-space: nowrap !important;
84
+ }
85
+
86
+ .ivds-text-ellipsis { text-overflow: ellipsis !important; }
87
+ .ivds-text-clip { text-overflow: clip !important; }
88
+
89
+ // White space utilities
90
+ .ivds-whitespace-normal { white-space: normal !important; }
91
+ .ivds-whitespace-nowrap { white-space: nowrap !important; }
92
+ .ivds-whitespace-pre { white-space: pre !important; }
93
+ .ivds-whitespace-pre-line { white-space: pre-line !important; }
94
+ .ivds-whitespace-pre-wrap { white-space: pre-wrap !important; }
95
+
96
+ // Word break utilities
97
+ .ivds-break-normal {
98
+ overflow-wrap: normal !important;
99
+ word-break: normal !important;
100
+ }
101
+
102
+ .ivds-break-words { overflow-wrap: break-word !important; }
103
+ .ivds-break-all { word-break: break-all !important; }
104
+
105
+ // Letter spacing utilities
106
+ .ivds-tracking-tighter { letter-spacing: -0.05em !important; }
107
+ .ivds-tracking-tight { letter-spacing: -0.025em !important; }
108
+ .ivds-tracking-normal { letter-spacing: 0 !important; }
109
+ .ivds-tracking-wide { letter-spacing: 0.025em !important; }
110
+ .ivds-tracking-wider { letter-spacing: 0.05em !important; }
111
+ .ivds-tracking-widest { letter-spacing: 0.1em !important; }