@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 @@
1
+ .ivds-tag{align-items:center;border:var(--borderWidth-1,1px) solid transparent;border-radius:var(--borderRadius-md,.375rem);display:inline-flex;font-family:var(--fontFamily-sans,system-ui,-apple-system,sans-serif);font-weight:var(--fontWeight-medium,500);line-height:var(--lineHeight-tight,1.25);text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ivds-tag:focus-within{outline:2px solid var(--color-brand-primary-500,#0ea5e9);outline-offset:2px}.ivds-tag{font-size:var(--fontSize-sm,.875rem);gap:var(--spacing-2,.5rem);min-height:24px;padding:var(--spacing-1,.25rem) var(--spacing-3,.75rem)}.ivds-tag .ivds-tag__icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ivds-tag .ivds-tag__icon svg{fill:currentcolor;height:1em;width:1em}.ivds-tag{background-color:var(--color-semantic-neutral-100,#f1f5f9);border-color:transparent;color:var(--color-semantic-neutral-700,#334155)}.ivds-tag:hover{background-color:var(--color-semantic-neutral-200,#e2e8f0)}.ivds-tag__icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ivds-tag__icon svg{fill:currentcolor;height:1em;width:1em}.ivds-tag__text{flex:1}.ivds-tag__remove{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ivds-tag__remove svg{fill:currentcolor;height:.875em;width:.875em}.ivds-tag--primary{background-color:var(--color-brand-primary-100,#ffedd5);border-color:transparent;color:var(--color-brand-primary-700,#c2410c)}.ivds-tag--primary:hover{background-color:var(--color-brand-primary-200,#fed7aa)}.ivds-tag--success{background-color:var(--color-semantic-success-100,#dcfce7);border-color:transparent;color:var(--color-semantic-success-700,#15803d)}.ivds-tag--success:hover{background-color:var(--color-semantic-success-200,#bbf7d0)}.ivds-tag--warning{background-color:var(--color-semantic-warning-100,#fef3c7);border-color:transparent;color:var(--color-semantic-warning-700,#b45309)}.ivds-tag--warning:hover{background-color:var(--color-semantic-warning-200,#fed7aa)}.ivds-tag--error{background-color:var(--color-semantic-error-100,#fee2e2);border-color:transparent;color:var(--color-semantic-error-700,#b91c1c)}.ivds-tag--error:hover{background-color:var(--color-semantic-error-200,#fecaca)}.ivds-tag--info{background-color:var(--color-semantic-info-100,#dbeafe);border-color:transparent;color:var(--color-semantic-info-700,#1d4ed8)}.ivds-tag--info:hover{background-color:var(--color-semantic-info-200,#bfdbfe)}.ivds-tag--outlined.ivds-tag{background-color:transparent;border-color:var(--color-semantic-neutral-300,#cbd5e1);color:var(--color-semantic-neutral-700,#334155)}.ivds-tag--outlined.ivds-tag:hover{background-color:var(--color-semantic-neutral-50,#f8fafc)}.ivds-tag--outlined.ivds-tag--primary{background-color:transparent;border-color:var(--color-brand-primary-300,#fdba74);color:var(--color-brand-primary-700,#c2410c)}.ivds-tag--outlined.ivds-tag--primary:hover{background-color:var(--color-brand-primary-50,#fff7ed)}.ivds-tag--outlined.ivds-tag--success{background-color:transparent;border-color:var(--color-semantic-success-300,#86efac);color:var(--color-semantic-success-700,#15803d)}.ivds-tag--outlined.ivds-tag--success:hover{background-color:var(--color-semantic-success-50,#f0fdf4)}.ivds-tag--outlined.ivds-tag--warning{background-color:transparent;border-color:var(--color-semantic-warning-300,#fcd34d);color:var(--color-semantic-warning-700,#b45309)}.ivds-tag--outlined.ivds-tag--warning:hover{background-color:var(--color-semantic-warning-50,#fffbeb)}.ivds-tag--outlined.ivds-tag--error{background-color:transparent;border-color:var(--color-semantic-error-300,#fca5a5);color:var(--color-semantic-error-700,#b91c1c)}.ivds-tag--outlined.ivds-tag--error:hover{background-color:var(--color-semantic-error-50,#fef2f2)}.ivds-tag--outlined.ivds-tag--info{background-color:transparent;border-color:var(--color-semantic-info-300,#93c5fd);color:var(--color-semantic-info-700,#1d4ed8)}.ivds-tag--outlined.ivds-tag--info:hover{background-color:var(--color-semantic-info-50,#eff6ff)}.ivds-tag--solid.ivds-tag{background-color:var(--color-semantic-neutral-600,#475569);border-color:var(--color-semantic-neutral-600,#475569);color:var(--color-semantic-neutral-50,#f8fafc)}.ivds-tag--solid.ivds-tag:hover{background-color:var(--color-semantic-neutral-700,#334155);border-color:var(--color-semantic-neutral-700,#334155)}.ivds-tag--solid.ivds-tag--primary{background-color:var(--color-brand-primary-600,#ea580c);border-color:var(--color-brand-primary-600,#ea580c);color:var(--color-semantic-neutral-50,#fafafa)}.ivds-tag--solid.ivds-tag--primary:hover{background-color:var(--color-brand-primary-700,#c2410c);border-color:var(--color-brand-primary-700,#c2410c)}.ivds-tag--solid.ivds-tag--success{background-color:var(--color-semantic-success-600,#16a34a);border-color:var(--color-semantic-success-600,#16a34a);color:var(--color-semantic-neutral-50,#f8fafc)}.ivds-tag--solid.ivds-tag--success:hover{background-color:var(--color-semantic-success-700,#15803d);border-color:var(--color-semantic-success-700,#15803d)}.ivds-tag--solid.ivds-tag--warning{background-color:var(--color-semantic-warning-600,#d97706);border-color:var(--color-semantic-warning-600,#d97706);color:var(--color-semantic-neutral-50,#f8fafc)}.ivds-tag--solid.ivds-tag--warning:hover{background-color:var(--color-semantic-warning-700,#b45309);border-color:var(--color-semantic-warning-700,#b45309)}.ivds-tag--solid.ivds-tag--error{background-color:var(--color-semantic-error-600,#dc2626);border-color:var(--color-semantic-error-600,#dc2626);color:var(--color-semantic-neutral-50,#f8fafc)}.ivds-tag--solid.ivds-tag--error:hover{background-color:var(--color-semantic-error-700,#b91c1c);border-color:var(--color-semantic-error-700,#b91c1c)}.ivds-tag--solid.ivds-tag--info{background-color:var(--color-semantic-info-600,#2563eb);border-color:var(--color-semantic-info-600,#2563eb);color:var(--color-semantic-neutral-50,#f8fafc)}.ivds-tag--solid.ivds-tag--info:hover{background-color:var(--color-semantic-info-700,#1d4ed8);border-color:var(--color-semantic-info-700,#1d4ed8)}.ivds-tag--small{font-size:var(--fontSize-xs,.75rem);min-height:20px;padding:var(--spacing-1,.25rem) var(--spacing-2,.5rem)}.ivds-tag--small .ivds-tag__icon svg{height:.875em;width:.875em}.ivds-tag--small.ivds-tag--removable .ivds-tag__remove{margin-left:var(--spacing-1,.25rem);padding:2px}.ivds-tag--small.ivds-tag--removable .ivds-tag__remove svg{height:.75em;width:.75em}.ivds-tag--large{font-size:var(--fontSize-base,1rem);min-height:32px;padding:var(--spacing-2,.5rem) var(--spacing-4,1rem)}.ivds-tag--large .ivds-tag__icon svg{height:1.125em;width:1.125em}.ivds-tag--large.ivds-tag--removable .ivds-tag__remove{margin-left:var(--spacing-3,.75rem);padding:var(--spacing-1,.25rem)}.ivds-tag--large.ivds-tag--removable .ivds-tag__remove svg{height:1em;width:1em}.ivds-tag--removable{padding-right:var(--spacing-1,.25rem)}.ivds-tag--removable .ivds-tag__remove{align-items:center;background:transparent;border:none;border-radius:var(--borderRadius-sm,.25rem);color:inherit;cursor:pointer;display:inline-flex;justify-content:center;margin-left:var(--spacing-2,.5rem);opacity:.7;padding:var(--spacing-1,.25rem);transition:opacity .15s ease-in-out,background-color .15s ease-in-out}.ivds-tag--removable .ivds-tag__remove:hover{background-color:rgba(0,0,0,.1);opacity:1}.ivds-tag--removable .ivds-tag__remove:focus{opacity:1;outline:2px solid var(--color-brand-primary-500,#0ea5e9);outline-offset:1px}.ivds-tag--removable .ivds-tag__remove:active{transform:scale(.95)}.ivds-tag--removable .ivds-tag__remove svg{fill:currentcolor;height:.875em;width:.875em}.ivds-tag--link{cursor:pointer}.ivds-tag--link,.ivds-tag--link:hover{text-decoration:none}.ivds-tag--link:focus{outline:2px solid var(--color-brand-primary-500,#0ea5e9);outline-offset:2px}.ivds-tag--link:active{transform:translateY(1px)}.ivds-tag--interactive{cursor:pointer}.ivds-tag--interactive:hover{box-shadow:var(--shadow-sm,0 1px 2px 0 rgba(0,0,0,.05));transform:translateY(-1px)}.ivds-tag--interactive:active{transform:translateY(0)}.ivds-tag--new{position:relative}.ivds-tag--new:after{background-color:var(--color-semantic-success-500,#22c55e);border:1px solid var(--color-semantic-neutral-50,#f8fafc);border-radius:50%;content:"";height:6px;position:absolute;right:-2px;top:-2px;width:6px}.ivds-tag--updated{position:relative}.ivds-tag--updated:after{background-color:var(--color-semantic-info-500,#3b82f6);border:1px solid var(--color-semantic-neutral-50,#f8fafc);border-radius:50%;content:"";height:6px;position:absolute;right:-2px;top:-2px;width:6px}.ivds-tag--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.ivds-tag-group{gap:var(--spacing-2,.5rem)}.ivds-tag-group,.ivds-tag-group--compact{align-items:center;display:flex;flex-wrap:wrap}.ivds-tag-group--compact{gap:var(--spacing-1,.25rem)}.ivds-tag-group--spacious{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3,.75rem)}
@@ -0,0 +1,243 @@
1
+ @charset "UTF-8";
2
+ /* Text input component styles*/
3
+ /* Provides styling for the IVDS text input component with all variants, sizes, and states*/
4
+ /* Text Input Wrapper*/
5
+ .ivds-text-input-wrapper {
6
+ position: relative;
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--spacing-2, 0.5rem);
10
+ }
11
+ /* Text Input Base*/
12
+ .ivds-text-input {
13
+ display: block;
14
+ width: 100%;
15
+ border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
16
+ border-radius: var(--borderRadius-md, 0.375rem);
17
+ font-family: var(--fontFamily-sans, system-ui, -apple-system, sans-serif);
18
+ line-height: var(--lineHeight-normal, 1.5);
19
+ color: var(--color-semantic-neutral-900, #0f172a);
20
+ background-color: var(--color-semantic-neutral-50, #f8fafc);
21
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
22
+ }
23
+ .ivds-text-input::-moz-placeholder {
24
+ color: var(--color-semantic-neutral-500, #64748b);
25
+ }
26
+ .ivds-text-input::placeholder {
27
+ color: var(--color-semantic-neutral-500, #64748b);
28
+ }
29
+ .ivds-text-input:focus {
30
+ outline: none;
31
+ border-color: var(--color-brand-primary-500, #f97316);
32
+ box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
33
+ }
34
+ .ivds-text-input:disabled {
35
+ background-color: var(--color-semantic-neutral-100, #f1f5f9);
36
+ color: var(--color-semantic-neutral-500, #64748b);
37
+ cursor: not-allowed;
38
+ opacity: 0.6;
39
+ }
40
+ .ivds-text-input {
41
+ padding: var(--spacing-3, 0.75rem) var(--spacing-3, 0.75rem);
42
+ font-size: var(--fontSize-base, 1rem);
43
+ min-height: 44px;
44
+ }
45
+ /* Text Input Label*/
46
+ .ivds-text-input__label {
47
+ display: block;
48
+ font-size: var(--fontSize-sm, 0.875rem);
49
+ font-weight: var(--fontWeight-medium, 500);
50
+ color: var(--color-semantic-neutral-700, #374151);
51
+ margin-bottom: var(--spacing-1, 0.25rem);
52
+ }
53
+ .ivds-text-input__label--required::after {
54
+ content: " *";
55
+ color: var(--color-semantic-error-500, #ef4444);
56
+ }
57
+ /* Text Input Helper Text*/
58
+ .ivds-text-input__helper {
59
+ font-size: var(--fontSize-sm, 0.875rem);
60
+ color: var(--color-semantic-neutral-600, #4b5563);
61
+ margin-top: var(--spacing-1, 0.25rem);
62
+ }
63
+ /* Text Input Error Text*/
64
+ .ivds-text-input__error {
65
+ font-size: var(--fontSize-sm, 0.875rem);
66
+ color: var(--color-semantic-error-600, #dc2626);
67
+ margin-top: var(--spacing-1, 0.25rem);
68
+ }
69
+ .ivds-text-input__error::before {
70
+ content: "⚠ ";
71
+ margin-right: var(--spacing-1, 0.25rem);
72
+ }
73
+ /* Text Input Sizes*/
74
+ .ivds-text-input--small {
75
+ padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem);
76
+ font-size: var(--fontSize-sm, 0.875rem);
77
+ min-height: 32px;
78
+ }
79
+ .ivds-text-input--large {
80
+ padding: var(--spacing-4, 1rem) var(--spacing-4, 1rem);
81
+ font-size: var(--fontSize-lg, 1.125rem);
82
+ min-height: 56px;
83
+ }
84
+ /* Text Input States*/
85
+ .ivds-text-input--error {
86
+ border-color: var(--color-semantic-error-500, #ef4444);
87
+ }
88
+ .ivds-text-input--error:focus {
89
+ border-color: var(--color-semantic-error-500, #ef4444);
90
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
91
+ }
92
+ .ivds-text-input--success {
93
+ border-color: var(--color-semantic-success-500, #10b981);
94
+ }
95
+ .ivds-text-input--success:focus {
96
+ border-color: var(--color-semantic-success-500, #10b981);
97
+ box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
98
+ }
99
+ .ivds-text-input--warning {
100
+ border-color: var(--color-semantic-warning-500, #f59e0b);
101
+ }
102
+ .ivds-text-input--warning:focus {
103
+ border-color: var(--color-semantic-warning-500, #f59e0b);
104
+ box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
105
+ }
106
+ /* Text Input with Icons*/
107
+ .ivds-text-input-wrapper--icon-left {
108
+ position: relative;
109
+ }
110
+ .ivds-text-input-wrapper--icon-left .ivds-text-input {
111
+ padding-left: 2.5rem;
112
+ }
113
+ .ivds-text-input-wrapper--icon-left .ivds-text-input__icon {
114
+ position: absolute;
115
+ top: 50%;
116
+ left: var(--spacing-3, 0.75rem);
117
+ transform: translateY(-50%);
118
+ width: 20px;
119
+ height: 20px;
120
+ color: var(--color-semantic-neutral-500, #64748b);
121
+ pointer-events: none;
122
+ }
123
+ .ivds-text-input-wrapper--icon-left .ivds-text-input__icon svg {
124
+ width: 100%;
125
+ height: 100%;
126
+ fill: currentcolor;
127
+ }
128
+ .ivds-text-input-wrapper--icon-right {
129
+ position: relative;
130
+ }
131
+ .ivds-text-input-wrapper--icon-right .ivds-text-input {
132
+ padding-right: 2.5rem;
133
+ }
134
+ .ivds-text-input-wrapper--icon-right .ivds-text-input__icon {
135
+ position: absolute;
136
+ top: 50%;
137
+ right: var(--spacing-3, 0.75rem);
138
+ transform: translateY(-50%);
139
+ width: 20px;
140
+ height: 20px;
141
+ color: var(--color-semantic-neutral-500, #64748b);
142
+ pointer-events: none;
143
+ }
144
+ .ivds-text-input-wrapper--icon-right .ivds-text-input__icon svg {
145
+ width: 100%;
146
+ height: 100%;
147
+ fill: currentcolor;
148
+ }
149
+ .ivds-text-input__icon {
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ }
154
+ .ivds-text-input__icon svg {
155
+ width: 100%;
156
+ height: 100%;
157
+ fill: currentcolor;
158
+ }
159
+ /* Text Input Group (with addons)*/
160
+ .ivds-text-input-group {
161
+ display: flex;
162
+ align-items: stretch;
163
+ }
164
+ .ivds-text-input-group .ivds-text-input {
165
+ flex: 1;
166
+ border-radius: 0;
167
+ }
168
+ .ivds-text-input-group .ivds-text-input:first-child {
169
+ border-top-left-radius: var(--borderRadius-md, 0.375rem);
170
+ border-bottom-left-radius: var(--borderRadius-md, 0.375rem);
171
+ }
172
+ .ivds-text-input-group .ivds-text-input:last-child {
173
+ border-top-right-radius: var(--borderRadius-md, 0.375rem);
174
+ border-bottom-right-radius: var(--borderRadius-md, 0.375rem);
175
+ }
176
+ .ivds-text-input-group .ivds-text-input:not(:first-child) {
177
+ border-left: 0;
178
+ }
179
+ .ivds-text-input-group .ivds-text-input__addon {
180
+ display: flex;
181
+ align-items: center;
182
+ padding: var(--spacing-3, 0.75rem);
183
+ background-color: var(--color-semantic-neutral-100, #f1f5f9);
184
+ border: var(--borderWidth-1, 1px) solid var(--color-semantic-neutral-300, #cbd5e1);
185
+ color: var(--color-semantic-neutral-600, #4b5563);
186
+ font-size: var(--fontSize-sm, 0.875rem);
187
+ white-space: nowrap;
188
+ }
189
+ .ivds-text-input-group .ivds-text-input__addon:first-child {
190
+ border-top-left-radius: var(--borderRadius-md, 0.375rem);
191
+ border-bottom-left-radius: var(--borderRadius-md, 0.375rem);
192
+ border-right: 0;
193
+ }
194
+ .ivds-text-input-group .ivds-text-input__addon:last-child {
195
+ border-top-right-radius: var(--borderRadius-md, 0.375rem);
196
+ border-bottom-right-radius: var(--borderRadius-md, 0.375rem);
197
+ border-left: 0;
198
+ }
199
+ /* Text Input Variants*/
200
+ .ivds-text-input--filled {
201
+ background-color: var(--color-semantic-neutral-100, #f5f5f5);
202
+ border-color: transparent;
203
+ }
204
+ .ivds-text-input--filled:focus {
205
+ background-color: var(--color-semantic-neutral-50, #fafafa);
206
+ border-color: var(--color-brand-primary-500, #f97316);
207
+ }
208
+ .ivds-text-input--filled:disabled {
209
+ background-color: var(--color-semantic-neutral-200, #e5e5e5);
210
+ }
211
+ .ivds-text-input--borderless {
212
+ border-color: transparent;
213
+ background-color: transparent;
214
+ }
215
+ .ivds-text-input--borderless:focus {
216
+ border-color: var(--color-brand-primary-500, #f97316);
217
+ background-color: var(--color-semantic-neutral-50, #fafafa);
218
+ }
219
+ /* Textarea specific styles*/
220
+ .ivds-text-input--textarea {
221
+ min-height: 120px;
222
+ resize: vertical;
223
+ }
224
+ .ivds-text-input--textarea--no-resize {
225
+ resize: none;
226
+ }
227
+ .ivds-text-input--textarea--auto-resize {
228
+ resize: none;
229
+ overflow: hidden;
230
+ }
231
+ /* Full width modifier*/
232
+ .ivds-text-input--full-width {
233
+ width: 100%;
234
+ }
235
+ /* Readonly state*/
236
+ .ivds-text-input[readonly] {
237
+ background-color: var(--color-semantic-neutral-50, #f8fafc);
238
+ cursor: default;
239
+ }
240
+ .ivds-text-input[readonly]:focus {
241
+ box-shadow: none;
242
+ border-color: var(--color-semantic-neutral-300, #d4d4d4);
243
+ }
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.ivds-text-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-2,.5rem);position:relative}.ivds-text-input{background-color:var(--color-semantic-neutral-50,#f8fafc);border:var(--borderWidth-1,1px) solid var(--color-semantic-neutral-300,#cbd5e1);border-radius:var(--borderRadius-md,.375rem);color:var(--color-semantic-neutral-900,#0f172a);display:block;font-family:var(--fontFamily-sans,system-ui,-apple-system,sans-serif);line-height:var(--lineHeight-normal,1.5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.ivds-text-input::-moz-placeholder{color:var(--color-semantic-neutral-500,#64748b)}.ivds-text-input::placeholder{color:var(--color-semantic-neutral-500,#64748b)}.ivds-text-input:focus{border-color:var(--color-brand-primary-500,#f97316);box-shadow:0 0 0 3px rgba(249,115,22,.1);outline:none}.ivds-text-input:disabled{background-color:var(--color-semantic-neutral-100,#f1f5f9);color:var(--color-semantic-neutral-500,#64748b);cursor:not-allowed;opacity:.6}.ivds-text-input{font-size:var(--fontSize-base,1rem);min-height:44px;padding:var(--spacing-3,.75rem) var(--spacing-3,.75rem)}.ivds-text-input__label{color:var(--color-semantic-neutral-700,#374151);display:block;font-size:var(--fontSize-sm,.875rem);font-weight:var(--fontWeight-medium,500);margin-bottom:var(--spacing-1,.25rem)}.ivds-text-input__label--required:after{color:var(--color-semantic-error-500,#ef4444);content:" *"}.ivds-text-input__helper{color:var(--color-semantic-neutral-600,#4b5563)}.ivds-text-input__error,.ivds-text-input__helper{font-size:var(--fontSize-sm,.875rem);margin-top:var(--spacing-1,.25rem)}.ivds-text-input__error{color:var(--color-semantic-error-600,#dc2626)}.ivds-text-input__error:before{content:"⚠ ";margin-right:var(--spacing-1,.25rem)}.ivds-text-input--small{font-size:var(--fontSize-sm,.875rem);min-height:32px;padding:var(--spacing-2,.5rem) var(--spacing-3,.75rem)}.ivds-text-input--large{font-size:var(--fontSize-lg,1.125rem);min-height:56px;padding:var(--spacing-4,1rem) var(--spacing-4,1rem)}.ivds-text-input--error,.ivds-text-input--error:focus{border-color:var(--color-semantic-error-500,#ef4444)}.ivds-text-input--error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.ivds-text-input--success,.ivds-text-input--success:focus{border-color:var(--color-semantic-success-500,#10b981)}.ivds-text-input--success:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.ivds-text-input--warning,.ivds-text-input--warning:focus{border-color:var(--color-semantic-warning-500,#f59e0b)}.ivds-text-input--warning:focus{box-shadow:0 0 0 3px rgba(245,158,11,.1)}.ivds-text-input-wrapper--icon-left{position:relative}.ivds-text-input-wrapper--icon-left .ivds-text-input{padding-left:2.5rem}.ivds-text-input-wrapper--icon-left .ivds-text-input__icon{color:var(--color-semantic-neutral-500,#64748b);height:20px;left:var(--spacing-3,.75rem);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:20px}.ivds-text-input-wrapper--icon-left .ivds-text-input__icon svg{fill:currentcolor;height:100%;width:100%}.ivds-text-input-wrapper--icon-right{position:relative}.ivds-text-input-wrapper--icon-right .ivds-text-input{padding-right:2.5rem}.ivds-text-input-wrapper--icon-right .ivds-text-input__icon{color:var(--color-semantic-neutral-500,#64748b);height:20px;pointer-events:none;position:absolute;right:var(--spacing-3,.75rem);top:50%;transform:translateY(-50%);width:20px}.ivds-text-input-wrapper--icon-right .ivds-text-input__icon svg{fill:currentcolor;height:100%;width:100%}.ivds-text-input__icon{align-items:center;display:flex;justify-content:center}.ivds-text-input__icon svg{fill:currentcolor;height:100%;width:100%}.ivds-text-input-group{align-items:stretch;display:flex}.ivds-text-input-group .ivds-text-input{border-radius:0;flex:1}.ivds-text-input-group .ivds-text-input:first-child{border-bottom-left-radius:var(--borderRadius-md,.375rem);border-top-left-radius:var(--borderRadius-md,.375rem)}.ivds-text-input-group .ivds-text-input:last-child{border-bottom-right-radius:var(--borderRadius-md,.375rem);border-top-right-radius:var(--borderRadius-md,.375rem)}.ivds-text-input-group .ivds-text-input:not(:first-child){border-left:0}.ivds-text-input-group .ivds-text-input__addon{align-items:center;background-color:var(--color-semantic-neutral-100,#f1f5f9);border:var(--borderWidth-1,1px) solid var(--color-semantic-neutral-300,#cbd5e1);color:var(--color-semantic-neutral-600,#4b5563);display:flex;font-size:var(--fontSize-sm,.875rem);padding:var(--spacing-3,.75rem);white-space:nowrap}.ivds-text-input-group .ivds-text-input__addon:first-child{border-bottom-left-radius:var(--borderRadius-md,.375rem);border-right:0;border-top-left-radius:var(--borderRadius-md,.375rem)}.ivds-text-input-group .ivds-text-input__addon:last-child{border-bottom-right-radius:var(--borderRadius-md,.375rem);border-left:0;border-top-right-radius:var(--borderRadius-md,.375rem)}.ivds-text-input--filled{background-color:var(--color-semantic-neutral-100,#f5f5f5);border-color:transparent}.ivds-text-input--filled:focus{background-color:var(--color-semantic-neutral-50,#fafafa);border-color:var(--color-brand-primary-500,#f97316)}.ivds-text-input--filled:disabled{background-color:var(--color-semantic-neutral-200,#e5e5e5)}.ivds-text-input--borderless{background-color:transparent;border-color:transparent}.ivds-text-input--borderless:focus{background-color:var(--color-semantic-neutral-50,#fafafa);border-color:var(--color-brand-primary-500,#f97316)}.ivds-text-input--textarea{min-height:120px;resize:vertical}.ivds-text-input--textarea--no-resize{resize:none}.ivds-text-input--textarea--auto-resize{overflow:hidden;resize:none}.ivds-text-input--full-width{width:100%}.ivds-text-input[readonly]{background-color:var(--color-semantic-neutral-50,#f8fafc);cursor:default}.ivds-text-input[readonly]:focus{border-color:var(--color-semantic-neutral-300,#d4d4d4);box-shadow:none}
@@ -0,0 +1,139 @@
1
+ @charset "UTF-8";
2
+ /* Arrow left icon*/
3
+ .ivds-icon {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ width: 1em;
8
+ height: 1em;
9
+ fill: currentcolor;
10
+ flex-shrink: 0;
11
+ vertical-align: middle;
12
+ }
13
+ .ivds-icon svg {
14
+ width: 100%;
15
+ height: 100%;
16
+ fill: inherit;
17
+ display: block;
18
+ }
19
+ .ivds-icon::before {
20
+ font-style: normal;
21
+ font-feature-settings: normal;
22
+ font-variant: normal;
23
+ text-rendering: auto;
24
+ line-height: 1;
25
+ }
26
+ .ivds-icon {
27
+ width: var(--fontSize-base, 1rem);
28
+ height: var(--fontSize-base, 1rem);
29
+ font-size: var(--fontSize-base, 1rem);
30
+ }
31
+ .ivds-icon--xs {
32
+ width: var(--fontSize-xs, 0.75rem);
33
+ height: var(--fontSize-xs, 0.75rem);
34
+ font-size: var(--fontSize-xs, 0.75rem);
35
+ }
36
+ .ivds-icon--sm {
37
+ width: var(--fontSize-sm, 0.875rem);
38
+ height: var(--fontSize-sm, 0.875rem);
39
+ font-size: var(--fontSize-sm, 0.875rem);
40
+ }
41
+ .ivds-icon--md {
42
+ width: var(--fontSize-base, 1rem);
43
+ height: var(--fontSize-base, 1rem);
44
+ font-size: var(--fontSize-base, 1rem);
45
+ }
46
+ .ivds-icon--lg {
47
+ width: var(--fontSize-lg, 1.125rem);
48
+ height: var(--fontSize-lg, 1.125rem);
49
+ font-size: var(--fontSize-lg, 1.125rem);
50
+ }
51
+ .ivds-icon--xl {
52
+ width: var(--fontSize-xl, 1.25rem);
53
+ height: var(--fontSize-xl, 1.25rem);
54
+ font-size: var(--fontSize-xl, 1.25rem);
55
+ }
56
+ .ivds-icon--2xl {
57
+ width: var(--fontSize-2xl, 1.5rem);
58
+ height: var(--fontSize-2xl, 1.5rem);
59
+ font-size: var(--fontSize-2xl, 1.5rem);
60
+ }
61
+ .ivds-icon--3xl {
62
+ width: var(--fontSize-3xl, 1.875rem);
63
+ height: var(--fontSize-3xl, 1.875rem);
64
+ font-size: var(--fontSize-3xl, 1.875rem);
65
+ }
66
+ .ivds-icon--primary {
67
+ color: var(--color-brand-primary-500, #0ea5e9);
68
+ }
69
+ .ivds-icon--secondary {
70
+ color: var(--color-semantic-neutral-600, #6b7280);
71
+ }
72
+ .ivds-icon--success {
73
+ color: var(--color-semantic-success-500, #10b981);
74
+ }
75
+ .ivds-icon--warning {
76
+ color: var(--color-semantic-warning-500, #f59e0b);
77
+ }
78
+ .ivds-icon--error {
79
+ color: var(--color-semantic-error-500, #ef4444);
80
+ }
81
+ .ivds-icon--info {
82
+ color: var(--color-brand-primary-500, #0ea5e9);
83
+ }
84
+ .ivds-icon--interactive {
85
+ cursor: pointer;
86
+ transition: color 0.15s ease-in-out, transform 0.15s ease-in-out;
87
+ }
88
+ .ivds-icon--interactive:hover {
89
+ transform: scale(1.1);
90
+ }
91
+ .ivds-icon--interactive:active {
92
+ transform: scale(0.95);
93
+ }
94
+ .ivds-icon--disabled {
95
+ opacity: 0.5;
96
+ cursor: not-allowed;
97
+ pointer-events: none;
98
+ }
99
+ .ivds-icon--arrow-left {
100
+ display: inline-flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ width: 1em;
104
+ height: 1em;
105
+ fill: currentcolor;
106
+ flex-shrink: 0;
107
+ vertical-align: middle;
108
+ }
109
+ .ivds-icon--arrow-left svg {
110
+ width: 100%;
111
+ height: 100%;
112
+ fill: inherit;
113
+ display: block;
114
+ }
115
+ .ivds-icon--arrow-left::before {
116
+ font-style: normal;
117
+ font-feature-settings: normal;
118
+ font-variant: normal;
119
+ text-rendering: auto;
120
+ line-height: 1;
121
+ }
122
+ .ivds-icon--arrow-left {
123
+ /* SVG icon using PostCSS inline-svg (fallback to Unicode)*/
124
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='currentcolor'%3E %3Cpath d='m15 18-6-6 6-6'/%3E %3C/svg%3E");
125
+ background-repeat: no-repeat;
126
+ background-position: center;
127
+ background-size: contain;
128
+ /* Unicode fallback*/
129
+ }
130
+ .ivds-icon--arrow-left::before {
131
+ content: "←";
132
+ font-size: inherit;
133
+ }
134
+ .ivds-icon--arrow-left {
135
+ /* Hide text when SVG is available*/
136
+ }
137
+ .ivds-icon--arrow-left:not(.ivds-icon--no-svg)::before {
138
+ display: none;
139
+ }
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.ivds-icon{align-items:center;display:inline-flex;fill:currentcolor;flex-shrink:0;height:1em;justify-content:center;vertical-align:middle;width:1em}.ivds-icon svg{display:block;fill:inherit;height:100%;width:100%}.ivds-icon:before{font-feature-settings:normal;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.ivds-icon{font-size:var(--fontSize-base,1rem);height:var(--fontSize-base,1rem);width:var(--fontSize-base,1rem)}.ivds-icon--xs{font-size:var(--fontSize-xs,.75rem);height:var(--fontSize-xs,.75rem);width:var(--fontSize-xs,.75rem)}.ivds-icon--sm{font-size:var(--fontSize-sm,.875rem);height:var(--fontSize-sm,.875rem);width:var(--fontSize-sm,.875rem)}.ivds-icon--md{font-size:var(--fontSize-base,1rem);height:var(--fontSize-base,1rem);width:var(--fontSize-base,1rem)}.ivds-icon--lg{font-size:var(--fontSize-lg,1.125rem);height:var(--fontSize-lg,1.125rem);width:var(--fontSize-lg,1.125rem)}.ivds-icon--xl{font-size:var(--fontSize-xl,1.25rem);height:var(--fontSize-xl,1.25rem);width:var(--fontSize-xl,1.25rem)}.ivds-icon--2xl{font-size:var(--fontSize-2xl,1.5rem);height:var(--fontSize-2xl,1.5rem);width:var(--fontSize-2xl,1.5rem)}.ivds-icon--3xl{font-size:var(--fontSize-3xl,1.875rem);height:var(--fontSize-3xl,1.875rem);width:var(--fontSize-3xl,1.875rem)}.ivds-icon--primary{color:var(--color-brand-primary-500,#0ea5e9)}.ivds-icon--secondary{color:var(--color-semantic-neutral-600,#6b7280)}.ivds-icon--success{color:var(--color-semantic-success-500,#10b981)}.ivds-icon--warning{color:var(--color-semantic-warning-500,#f59e0b)}.ivds-icon--error{color:var(--color-semantic-error-500,#ef4444)}.ivds-icon--info{color:var(--color-brand-primary-500,#0ea5e9)}.ivds-icon--interactive{cursor:pointer;transition:color .15s ease-in-out,transform .15s ease-in-out}.ivds-icon--interactive:hover{transform:scale(1.1)}.ivds-icon--interactive:active{transform:scale(.95)}.ivds-icon--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.ivds-icon--arrow-left{align-items:center;display:inline-flex;fill:currentcolor;flex-shrink:0;height:1em;justify-content:center;vertical-align:middle;width:1em}.ivds-icon--arrow-left svg{display:block;fill:inherit;height:100%;width:100%}.ivds-icon--arrow-left:before{font-feature-settings:normal;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.ivds-icon--arrow-left{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentcolor' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.ivds-icon--arrow-left:before{content:"←";font-size:inherit}.ivds-icon--arrow-left:not(.ivds-icon--no-svg):before{display:none}
@@ -0,0 +1,139 @@
1
+ @charset "UTF-8";
2
+ /* Arrow right icon*/
3
+ .ivds-icon {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ width: 1em;
8
+ height: 1em;
9
+ fill: currentcolor;
10
+ flex-shrink: 0;
11
+ vertical-align: middle;
12
+ }
13
+ .ivds-icon svg {
14
+ width: 100%;
15
+ height: 100%;
16
+ fill: inherit;
17
+ display: block;
18
+ }
19
+ .ivds-icon::before {
20
+ font-style: normal;
21
+ font-feature-settings: normal;
22
+ font-variant: normal;
23
+ text-rendering: auto;
24
+ line-height: 1;
25
+ }
26
+ .ivds-icon {
27
+ width: var(--fontSize-base, 1rem);
28
+ height: var(--fontSize-base, 1rem);
29
+ font-size: var(--fontSize-base, 1rem);
30
+ }
31
+ .ivds-icon--xs {
32
+ width: var(--fontSize-xs, 0.75rem);
33
+ height: var(--fontSize-xs, 0.75rem);
34
+ font-size: var(--fontSize-xs, 0.75rem);
35
+ }
36
+ .ivds-icon--sm {
37
+ width: var(--fontSize-sm, 0.875rem);
38
+ height: var(--fontSize-sm, 0.875rem);
39
+ font-size: var(--fontSize-sm, 0.875rem);
40
+ }
41
+ .ivds-icon--md {
42
+ width: var(--fontSize-base, 1rem);
43
+ height: var(--fontSize-base, 1rem);
44
+ font-size: var(--fontSize-base, 1rem);
45
+ }
46
+ .ivds-icon--lg {
47
+ width: var(--fontSize-lg, 1.125rem);
48
+ height: var(--fontSize-lg, 1.125rem);
49
+ font-size: var(--fontSize-lg, 1.125rem);
50
+ }
51
+ .ivds-icon--xl {
52
+ width: var(--fontSize-xl, 1.25rem);
53
+ height: var(--fontSize-xl, 1.25rem);
54
+ font-size: var(--fontSize-xl, 1.25rem);
55
+ }
56
+ .ivds-icon--2xl {
57
+ width: var(--fontSize-2xl, 1.5rem);
58
+ height: var(--fontSize-2xl, 1.5rem);
59
+ font-size: var(--fontSize-2xl, 1.5rem);
60
+ }
61
+ .ivds-icon--3xl {
62
+ width: var(--fontSize-3xl, 1.875rem);
63
+ height: var(--fontSize-3xl, 1.875rem);
64
+ font-size: var(--fontSize-3xl, 1.875rem);
65
+ }
66
+ .ivds-icon--primary {
67
+ color: var(--color-brand-primary-500, #0ea5e9);
68
+ }
69
+ .ivds-icon--secondary {
70
+ color: var(--color-semantic-neutral-600, #6b7280);
71
+ }
72
+ .ivds-icon--success {
73
+ color: var(--color-semantic-success-500, #10b981);
74
+ }
75
+ .ivds-icon--warning {
76
+ color: var(--color-semantic-warning-500, #f59e0b);
77
+ }
78
+ .ivds-icon--error {
79
+ color: var(--color-semantic-error-500, #ef4444);
80
+ }
81
+ .ivds-icon--info {
82
+ color: var(--color-brand-primary-500, #0ea5e9);
83
+ }
84
+ .ivds-icon--interactive {
85
+ cursor: pointer;
86
+ transition: color 0.15s ease-in-out, transform 0.15s ease-in-out;
87
+ }
88
+ .ivds-icon--interactive:hover {
89
+ transform: scale(1.1);
90
+ }
91
+ .ivds-icon--interactive:active {
92
+ transform: scale(0.95);
93
+ }
94
+ .ivds-icon--disabled {
95
+ opacity: 0.5;
96
+ cursor: not-allowed;
97
+ pointer-events: none;
98
+ }
99
+ .ivds-icon--arrow-right {
100
+ display: inline-flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ width: 1em;
104
+ height: 1em;
105
+ fill: currentcolor;
106
+ flex-shrink: 0;
107
+ vertical-align: middle;
108
+ }
109
+ .ivds-icon--arrow-right svg {
110
+ width: 100%;
111
+ height: 100%;
112
+ fill: inherit;
113
+ display: block;
114
+ }
115
+ .ivds-icon--arrow-right::before {
116
+ font-style: normal;
117
+ font-feature-settings: normal;
118
+ font-variant: normal;
119
+ text-rendering: auto;
120
+ line-height: 1;
121
+ }
122
+ .ivds-icon--arrow-right {
123
+ /* SVG icon using PostCSS inline-svg (fallback to Unicode)*/
124
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='currentcolor'%3E %3Cpath d='m9 18 6-6-6-6'/%3E %3C/svg%3E");
125
+ background-repeat: no-repeat;
126
+ background-position: center;
127
+ background-size: contain;
128
+ /* Unicode fallback*/
129
+ }
130
+ .ivds-icon--arrow-right::before {
131
+ content: "→";
132
+ font-size: inherit;
133
+ }
134
+ .ivds-icon--arrow-right {
135
+ /* Hide text when SVG is available*/
136
+ }
137
+ .ivds-icon--arrow-right:not(.ivds-icon--no-svg)::before {
138
+ display: none;
139
+ }
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.ivds-icon{align-items:center;display:inline-flex;fill:currentcolor;flex-shrink:0;height:1em;justify-content:center;vertical-align:middle;width:1em}.ivds-icon svg{display:block;fill:inherit;height:100%;width:100%}.ivds-icon:before{font-feature-settings:normal;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.ivds-icon{font-size:var(--fontSize-base,1rem);height:var(--fontSize-base,1rem);width:var(--fontSize-base,1rem)}.ivds-icon--xs{font-size:var(--fontSize-xs,.75rem);height:var(--fontSize-xs,.75rem);width:var(--fontSize-xs,.75rem)}.ivds-icon--sm{font-size:var(--fontSize-sm,.875rem);height:var(--fontSize-sm,.875rem);width:var(--fontSize-sm,.875rem)}.ivds-icon--md{font-size:var(--fontSize-base,1rem);height:var(--fontSize-base,1rem);width:var(--fontSize-base,1rem)}.ivds-icon--lg{font-size:var(--fontSize-lg,1.125rem);height:var(--fontSize-lg,1.125rem);width:var(--fontSize-lg,1.125rem)}.ivds-icon--xl{font-size:var(--fontSize-xl,1.25rem);height:var(--fontSize-xl,1.25rem);width:var(--fontSize-xl,1.25rem)}.ivds-icon--2xl{font-size:var(--fontSize-2xl,1.5rem);height:var(--fontSize-2xl,1.5rem);width:var(--fontSize-2xl,1.5rem)}.ivds-icon--3xl{font-size:var(--fontSize-3xl,1.875rem);height:var(--fontSize-3xl,1.875rem);width:var(--fontSize-3xl,1.875rem)}.ivds-icon--primary{color:var(--color-brand-primary-500,#0ea5e9)}.ivds-icon--secondary{color:var(--color-semantic-neutral-600,#6b7280)}.ivds-icon--success{color:var(--color-semantic-success-500,#10b981)}.ivds-icon--warning{color:var(--color-semantic-warning-500,#f59e0b)}.ivds-icon--error{color:var(--color-semantic-error-500,#ef4444)}.ivds-icon--info{color:var(--color-brand-primary-500,#0ea5e9)}.ivds-icon--interactive{cursor:pointer;transition:color .15s ease-in-out,transform .15s ease-in-out}.ivds-icon--interactive:hover{transform:scale(1.1)}.ivds-icon--interactive:active{transform:scale(.95)}.ivds-icon--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.ivds-icon--arrow-right{align-items:center;display:inline-flex;fill:currentcolor;flex-shrink:0;height:1em;justify-content:center;vertical-align:middle;width:1em}.ivds-icon--arrow-right svg{display:block;fill:inherit;height:100%;width:100%}.ivds-icon--arrow-right:before{font-feature-settings:normal;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.ivds-icon--arrow-right{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentcolor' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.ivds-icon--arrow-right:before{content:"→";font-size:inherit}.ivds-icon--arrow-right:not(.ivds-icon--no-svg):before{display:none}