@digdir/designsystemet-css 0.0.0-next-20240724125515

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.
package/textfield.css ADDED
@@ -0,0 +1,151 @@
1
+ .ds-textfield {
2
+ display: grid;
3
+ gap: var(--ds-spacing-2);
4
+ }
5
+
6
+ .ds-textfield__adornment {
7
+ color: var(--ds-color-neutral-text-subtle);
8
+ background: var(--ds-color-neutral-background-subtle);
9
+ padding: 9px var(--ds-spacing-4);
10
+ border-radius: var(--ds-border-radius-md);
11
+ border: solid 1px var(--ds-color-neutral-border-default);
12
+ box-sizing: border-box;
13
+ display: inline-block;
14
+ }
15
+
16
+ .ds-textfield__input {
17
+ font-family: inherit;
18
+ position: relative;
19
+ box-sizing: border-box;
20
+ flex: 0 1 auto;
21
+ width: 100%;
22
+ appearance: none;
23
+ padding: 0 var(--ds-spacing-3);
24
+ border: solid 1px var(--ds-color-neutral-border-default);
25
+ background: var(--ds-color-neutral-background-default);
26
+ color: var(--ds-color-neutral-text-default);
27
+ border-radius: var(--ds-border-radius-md);
28
+ }
29
+
30
+ .ds-textfield__input:disabled {
31
+ cursor: not-allowed;
32
+ }
33
+
34
+ .ds-textfield--readonly .ds-textfield__input {
35
+ background: var(--ds-color-neutral-background-subtle);
36
+ border-color: var(--ds-color-neutral-border-strong);
37
+ }
38
+
39
+ .ds-textfield__field {
40
+ display: flex;
41
+ align-items: stretch;
42
+ border-radius: var(--ds-border-radius-md);
43
+ }
44
+
45
+ .ds-textfield__field > *:first-child {
46
+ border-top-left-radius: var(--ds-border-radius-md);
47
+ border-bottom-left-radius: var(--ds-border-radius-md);
48
+ }
49
+
50
+ .ds-textfield__field > *:last-child {
51
+ border-top-right-radius: var(--ds-border-radius-md);
52
+ border-bottom-right-radius: var(--ds-border-radius-md);
53
+ }
54
+
55
+ .ds-textfield--sm .ds-textfield__adornment {
56
+ padding: var(--ds-sizing-2) var(--ds-spacing-3);
57
+ }
58
+
59
+ .ds-textfield--md .ds-textfield__adornment {
60
+ padding: 0.65rem var(--ds-spacing-4);
61
+ }
62
+
63
+ .ds-textfield--lg .ds-textfield__adornment {
64
+ padding: 0.85rem var(--ds-spacing-5);
65
+ }
66
+
67
+ .ds-textfield--sm .ds-textfield__field {
68
+ height: var(--ds-sizing-10);
69
+ }
70
+
71
+ .ds-textfield--md .ds-textfield__field {
72
+ height: var(--ds-sizing-12);
73
+ }
74
+
75
+ .ds-textfield--lg .ds-textfield__field {
76
+ height: var(--ds-sizing-14);
77
+ }
78
+
79
+ .ds-textfield--sm .ds-textfield__input {
80
+ padding: 0 var(--ds-spacing-2);
81
+ }
82
+
83
+ .ds-textfield--md .ds-textfield__input {
84
+ padding: 0 var(--ds-spacing-3);
85
+ }
86
+
87
+ .ds-textfield--lg .ds-textfield__input {
88
+ padding: 0 var(--ds-spacing-4);
89
+ }
90
+
91
+ .ds-textfield__label {
92
+ min-width: min-content;
93
+ display: inline-flex;
94
+ flex-direction: row;
95
+ gap: var(--ds-spacing-1);
96
+ align-items: center;
97
+ }
98
+
99
+ .ds-textfield__description {
100
+ color: var(--ds-color-neutral-text-subtle);
101
+ margin-top: calc(var(--ds-spacing-2) * -1);
102
+ }
103
+
104
+ .ds-textfield:has(.ds-textfield__input:disabled) {
105
+ opacity: var(--ds-disabled-opacity);
106
+ }
107
+
108
+ .ds-textfield--error .ds-textfield__input:not(:focus-visible) {
109
+ border-color: var(--ds-color-danger-border-default);
110
+ box-shadow: inset 0 0 0 1px var(--ds-color-danger-border-default);
111
+ }
112
+
113
+ @media (hover: hover) and (pointer: fine) {
114
+ .ds-textfield__input:not(:focus-visible, :disabled, [aria-disabled]):hover {
115
+ border-color: var(--ds-color-accent-border-strong);
116
+ box-shadow: inset 0 0 0 1px var(--ds-color-accent-border-strong);
117
+ }
118
+ }
119
+
120
+ .ds-textfield__input--with-prefix {
121
+ border-top-left-radius: 0;
122
+ border-bottom-left-radius: 0;
123
+ }
124
+
125
+ .ds-textfield__input--with-suffix {
126
+ border-top-right-radius: 0;
127
+ border-bottom-right-radius: 0;
128
+ }
129
+
130
+ .ds-textfield__prefix {
131
+ border-right: 0;
132
+ border-top-right-radius: 0;
133
+ border-bottom-right-radius: 0;
134
+ white-space: nowrap;
135
+ }
136
+
137
+ .ds-textfield__suffix {
138
+ border-left: 0;
139
+ border-top-left-radius: 0;
140
+ border-bottom-left-radius: 0;
141
+ white-space: nowrap;
142
+ }
143
+
144
+ .ds-textfield__readonly__icon {
145
+ height: 1.2em;
146
+ width: 1.2em;
147
+ }
148
+
149
+ .ds-textfield__error-message:empty {
150
+ display: none;
151
+ }
@@ -0,0 +1,27 @@
1
+ .ds-togglegroup {
2
+ --dsc-togglegroup-padding: var(--ds-spacing-1);
3
+ --dsc-togglegroup-background: var(--ds-color-neutral-background-default);
4
+ --dsc-togglegroup-border-color: var(--ds-color-neutral-border-default);
5
+
6
+ background-color: var(--dsc-togglegroup-background);
7
+ border: var(--dsc-togglegroup-border-color) solid var(--ds-border-width-default);
8
+ border-radius: calc(var(--ds-border-radius-md) + var(--dsc-togglegroup-padding));
9
+ width: fit-content;
10
+ height: fit-content;
11
+ }
12
+
13
+ .ds-togglegroup__content {
14
+ display: inline-grid;
15
+ gap: var(--dsc-togglegroup-padding);
16
+ grid-auto-columns: 1fr;
17
+ grid-auto-flow: column;
18
+ padding: var(--dsc-togglegroup-padding);
19
+ }
20
+
21
+ .ds-togglegroup__input {
22
+ display: none;
23
+ }
24
+
25
+ .ds-togglegroup__item:focus-visible {
26
+ z-index: 1;
27
+ }
package/tooltip.css ADDED
@@ -0,0 +1,15 @@
1
+ .ds-tooltip {
2
+ --dsc-tooltip-background: var(--ds-color-neutral-text-default);
3
+ --dsc-tooltip-color: var(--ds-color-neutral-background-default);
4
+ --dsc-tooltip-padding: var(--ds-spacing-1) var(--ds-spacing-2);
5
+ --dsc-tooltip-border-radius: var(--ds-border-radius-md);
6
+
7
+ background: var(--dsc-tooltip-background);
8
+ padding: var(--dsc-tooltip-padding);
9
+ color: var(--dsc-tooltip-color);
10
+ border-radius: var(--dsc-tooltip-border-radius);
11
+ }
12
+
13
+ .ds-tooltip__arrow {
14
+ fill: var(--dsc-tooltip-background);
15
+ }
package/utilities.css ADDED
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Visually hide an element, but leave it available for screen readers
3
+ */
4
+ .ds-sr-only {
5
+ border: 0;
6
+ clip: rect(0 0 0 0);
7
+ height: 1px;
8
+ overflow: hidden;
9
+ padding: 0;
10
+ position: absolute;
11
+ white-space: nowrap;
12
+ width: 1px;
13
+ }
14
+
15
+ /**
16
+ * Apply a focus outline on an element when it is focused with keyboard
17
+ */
18
+ .ds-focus:focus-visible {
19
+ --dsc-focus-border-width: 3px;
20
+
21
+ outline: var(--dsc-focus-border-width) solid var(--ds-color-focus-outer);
22
+ outline-offset: var(--dsc-focus-border-width);
23
+ box-shadow: 0 0 0 var(--dsc-focus-border-width) var(--ds-color-focus-inner);
24
+ }
25
+
26
+ .ds-animate-height--openingOrClosing,
27
+ .ds-animate-height--closed {
28
+ overflow: hidden;
29
+ }
30
+
31
+ .ds-animate-height--open .ds-animate-height__content {
32
+ height: auto;
33
+ }
34
+
35
+ .ds-animate-height--closed .ds-animate-height__content {
36
+ height: 0;
37
+ display: none;
38
+ }