@digdir/designsystemet-css 0.6.1-alpha.0 → 0.7.0

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 (80) hide show
  1. package/LICENSE +1 -1
  2. package/accordion.css +132 -0
  3. package/box.css +73 -0
  4. package/button.css +4 -4
  5. package/card.css +157 -0
  6. package/checkbox.css +175 -0
  7. package/chip.css +173 -0
  8. package/combobox.css +344 -0
  9. package/dist/accordion.css +1 -0
  10. package/dist/alert.css +1 -1
  11. package/dist/box.css +1 -0
  12. package/dist/button.css +1 -1
  13. package/dist/card.css +1 -0
  14. package/dist/checkbox.css +1 -0
  15. package/dist/chip.css +1 -0
  16. package/dist/combobox.css +1 -0
  17. package/dist/divider.css +1 -0
  18. package/dist/dropdownmenu.css +1 -0
  19. package/dist/error-message.css +1 -0
  20. package/dist/error-summary.css +1 -0
  21. package/dist/fieldset.css +1 -0
  22. package/dist/heading.css +1 -0
  23. package/dist/helptext.css +1 -0
  24. package/dist/index.css +1 -1
  25. package/dist/ingress.css +1 -1
  26. package/dist/label.css +1 -0
  27. package/dist/link.css +1 -0
  28. package/dist/list.css +1 -0
  29. package/dist/modal.css +1 -0
  30. package/dist/native-select.css +1 -0
  31. package/dist/pagination.css +1 -0
  32. package/dist/paragraph.css +1 -0
  33. package/dist/popover.css +1 -0
  34. package/dist/radio.css +1 -0
  35. package/dist/react-css-modules.css +1 -1
  36. package/dist/search.css +1 -0
  37. package/dist/skeleton.css +1 -0
  38. package/dist/skiplink.css +1 -1
  39. package/dist/spinner.css +1 -0
  40. package/dist/switch.css +1 -0
  41. package/dist/table.css +1 -0
  42. package/dist/tabs.css +1 -0
  43. package/dist/tag.css +1 -0
  44. package/dist/textarea.css +1 -0
  45. package/dist/textfield.css +1 -0
  46. package/dist/togglegroup.css +1 -0
  47. package/dist/tooltip.css +1 -0
  48. package/dist/utils.css +1 -1
  49. package/divider.css +18 -0
  50. package/dropdownmenu.css +46 -0
  51. package/error-message.css +43 -0
  52. package/error-summary.css +15 -0
  53. package/fieldset.css +41 -0
  54. package/heading.css +68 -0
  55. package/helptext.css +58 -0
  56. package/index.css +35 -0
  57. package/ingress.css +1 -1
  58. package/label.css +46 -0
  59. package/link.css +36 -0
  60. package/list.css +18 -0
  61. package/modal.css +106 -0
  62. package/native-select.css +92 -0
  63. package/package.json +3 -3
  64. package/pagination.css +69 -0
  65. package/paragraph.css +82 -0
  66. package/popover.css +79 -0
  67. package/radio.css +171 -0
  68. package/react-css-modules.css +1 -2846
  69. package/search.css +170 -0
  70. package/skeleton.css +59 -0
  71. package/spinner.css +75 -0
  72. package/switch.css +216 -0
  73. package/table.css +136 -0
  74. package/tabs.css +103 -0
  75. package/tag.css +72 -0
  76. package/textarea.css +80 -0
  77. package/textfield.css +150 -0
  78. package/togglegroup.css +24 -0
  79. package/tooltip.css +23 -0
  80. package/utils.css +16 -0
package/radio.css ADDED
@@ -0,0 +1,171 @@
1
+ @layer fds.radio {
2
+ .fds-radio {
3
+ --fds-radio-size: 1.75rem;
4
+ --fds-radio-focus-border-width: 3px;
5
+ --fds-radio-background: var(--fds-semantic-background-default);
6
+ --fds-radio-border-color: var(--fds-semantic-border-input-default);
7
+ --fds-radio-border__hover: 0 0 0 var(--fds-spacing-2) var(--fds-semantic-surface-info-subtle-hover);
8
+
9
+ display: grid;
10
+ }
11
+
12
+ .fds-radio:has(.fds-radio__label) {
13
+ grid-template-columns: var(--fds-radio-size) auto;
14
+ gap: var(--fds-spacing-2);
15
+ }
16
+
17
+ /* Radio */
18
+ .fds-radio__input {
19
+ position: relative;
20
+ width: var(--fds-radio-size);
21
+ height: var(--fds-radio-size);
22
+ z-index: 1;
23
+ appearance: none;
24
+ outline: none;
25
+ cursor: pointer;
26
+ margin: 0;
27
+ align-self: center;
28
+ box-shadow: inset 0 0 0 2px var(--fds-radio-border-color);
29
+ background: var(--fds-radio-background);
30
+ border-radius: 50%;
31
+ }
32
+
33
+ .fds-radio__input::before {
34
+ position: absolute;
35
+ content: '';
36
+ display: block;
37
+ width: 2.75rem;
38
+ height: 2.75rem;
39
+ transform: translate(-50%, -50%);
40
+ top: 50%;
41
+ left: 50%;
42
+ cursor: pointer;
43
+ border-radius: var(--fds-border_radius-medium);
44
+ }
45
+
46
+ .fds-radio__label {
47
+ min-height: var(--fds-sizing-10);
48
+ min-width: min-content;
49
+ display: inline-flex;
50
+ flex-direction: row;
51
+ gap: var(--fds-spacing-1);
52
+ align-items: center;
53
+ cursor: pointer;
54
+ }
55
+
56
+ .fds-radio__description {
57
+ margin-top: calc(var(--fds-spacing-3) * -1);
58
+ color: var(--fds-semantic-text-neutral-subtle);
59
+ grid-column: 2;
60
+ }
61
+
62
+ .fds-radio--disabled > .fds-radio__input,
63
+ .fds-radio--disabled > .fds-radio__label,
64
+ .fds-radio--disabled > .fds-radio__input::before {
65
+ cursor: not-allowed;
66
+ }
67
+
68
+ .fds-radio--disabled > .fds-radio__label,
69
+ .fds-radio--disabled > .fds-radio__input,
70
+ .fds-radio--disabled > .fds-radio__description {
71
+ opacity: var(--fds-opacity-disabled);
72
+ }
73
+
74
+ .fds-radio--readonly > .fds-radio__input,
75
+ .fds-radio--readonly > .fds-radio__label,
76
+ .fds-radio--readonly > .fds-radio__input::before {
77
+ cursor: default;
78
+ }
79
+
80
+ .fds-radio__input:focus-visible {
81
+ outline-offset: 0;
82
+ outline: var(--fds-radio-focus-border-width) solid var(--fds-semantic-border-focus-outline);
83
+ box-shadow:
84
+ inset 0 0 0 var(--fds-radio-focus-border-width) var(--fds-semantic-border-focus-boxshadow),
85
+ inset 0 0 0 6px var(--fds-radio-background);
86
+ }
87
+
88
+ .fds-radio__input:checked {
89
+ --fds-radio-border-color: var(--fds-semantic-border-input-hover);
90
+
91
+ background: var(--fds-radio-border-color);
92
+ }
93
+
94
+ .fds-radio--readonly > .fds-radio__input {
95
+ --fds-radio-border-color: var(--fds-semantic-border-neutral-subtle);
96
+ --fds-radio-background: var(--fds-semantic-surface-neutral-subtle);
97
+ }
98
+
99
+ .fds-radio__input:checked:not(:focus-visible) {
100
+ box-shadow:
101
+ inset 0 0 0 2px var(--fds-radio-border-color),
102
+ inset 0 0 0 6px var(--fds-radio-background);
103
+ }
104
+
105
+ .fds-radio--readonly > .fds-radio__input:checked {
106
+ background: var(--fds-semantic-border-neutral-default);
107
+ }
108
+
109
+ .fds-radio--error > .fds-radio__input:not(:disabled, :focus-visible) {
110
+ --fds-radio-border-color: var(--fds-semantic-border-danger-default);
111
+ }
112
+
113
+ /* Only use hover for non-touch devices to prevent sticky-hovering
114
+ "input:not(:read-only)" does not work so using ".container:not(.readonly) >" instead */
115
+ @media (hover: hover) and (pointer: fine) {
116
+ .fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__label:hover,
117
+ .fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover + .fds-radio__label {
118
+ color: var(--fds-semantic-text-action-hover);
119
+ }
120
+
121
+ .fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover:not(:checked) {
122
+ --fds-radio-border-color: var(--fds-semantic-border-input-hover);
123
+
124
+ box-shadow:
125
+ var(--fds-radio-border__hover),
126
+ inset 0 0 0 2px var(--fds-radio-border-color);
127
+ }
128
+
129
+ .fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover:checked {
130
+ --fds-radio-border-color: var(--fds-semantic-border-input-hover);
131
+
132
+ box-shadow:
133
+ var(--fds-radio-border__hover),
134
+ inset 0 0 0 2px var(--fds-radio-border-color),
135
+ inset 0 0 0 6px var(--fds-radio-background);
136
+ }
137
+
138
+ .fds-radio:not(.fds-radio--readonly, .fds-radio--disabled) > .fds-radio__input:hover:checked:focus-visible {
139
+ box-shadow:
140
+ var(--fds-radio-border__hover),
141
+ inset 0 0 0 var(--fds-radio-focus-border-width) var(--fds-semantic-border-focus-boxshadow),
142
+ inset 0 0 0 6px var(--fds-radio-background);
143
+ }
144
+ }
145
+
146
+ /** Sizing */
147
+
148
+ .fds-radio--small {
149
+ --fds-radio-size: var(--fds-sizing-5);
150
+
151
+ min-height: var(--fds-sizing-10);
152
+ }
153
+
154
+ .fds-radio--medium {
155
+ --fds-radio-size: var(--fds-sizing-6);
156
+
157
+ min-height: var(--fds-sizing-11);
158
+ }
159
+
160
+ .fds-radio--large {
161
+ --fds-radio-size: var(--fds-sizing-7);
162
+
163
+ min-height: var(--fds-sizing-12);
164
+ }
165
+
166
+ .fds-radio-group--horizontal {
167
+ display: flex;
168
+ flex-direction: row;
169
+ gap: var(--fds-spacing-2);
170
+ }
171
+ }