@danske/sapphire-css 16.3.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 (109) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +57 -0
  3. package/build/themes/cjs/default-dark.d.ts +3 -0
  4. package/build/themes/cjs/default-dark.js +8 -0
  5. package/build/themes/cjs/default.d.ts +3 -0
  6. package/build/themes/cjs/default.js +8 -0
  7. package/build/themes/cjs/index.d.ts +1 -0
  8. package/build/themes/cjs/index.js +16 -0
  9. package/build/themes/cjs/june-dark.d.ts +4 -0
  10. package/build/themes/cjs/june-dark.js +9 -0
  11. package/build/themes/cjs/june.d.ts +4 -0
  12. package/build/themes/cjs/june.js +9 -0
  13. package/build/themes/esm/default-dark.d.ts +3 -0
  14. package/build/themes/esm/default-dark.js +3 -0
  15. package/build/themes/esm/default.d.ts +3 -0
  16. package/build/themes/esm/default.js +3 -0
  17. package/build/themes/esm/index.d.ts +1 -0
  18. package/build/themes/esm/index.js +1 -0
  19. package/build/themes/esm/june-dark.d.ts +4 -0
  20. package/build/themes/esm/june-dark.js +4 -0
  21. package/build/themes/esm/june.d.ts +4 -0
  22. package/build/themes/esm/june.js +4 -0
  23. package/components/accordion/accordion.module.css.d.ts +19 -0
  24. package/components/avatar/avatar.module.css.d.ts +27 -0
  25. package/components/backdrop/backdrop.module.css +8 -0
  26. package/components/backdrop/backdrop.module.css.d.ts +5 -0
  27. package/components/badge/badge.module.css +121 -0
  28. package/components/badge/badge.module.css.d.ts +16 -0
  29. package/components/button/button.module.css +278 -0
  30. package/components/button/button.module.css.d.ts +23 -0
  31. package/components/buttonGroup/buttonGroup.module.css +24 -0
  32. package/components/buttonGroup/buttonGroup.module.css.d.ts +10 -0
  33. package/components/calendar/calendar.module.css +406 -0
  34. package/components/calendar/calendar.module.css.d.ts +47 -0
  35. package/components/checkbox/checkbox.module.css +182 -0
  36. package/components/checkbox/checkbox.module.css.d.ts +18 -0
  37. package/components/contextualHelp/contextualHelp.module.css +35 -0
  38. package/components/contextualHelp/contextualHelp.module.css.d.ts +7 -0
  39. package/components/dateField/dateField.module.css +239 -0
  40. package/components/dateField/dateField.module.css.d.ts +22 -0
  41. package/components/dialog/dialog.module.css +81 -0
  42. package/components/dialog/dialog.module.css.d.ts +15 -0
  43. package/components/feedbackMessage/feedbackMessage.module.css +42 -0
  44. package/components/feedbackMessage/feedbackMessage.module.css.d.ts +10 -0
  45. package/components/field/field.module.css.d.ts +17 -0
  46. package/components/fieldGroup/fieldGroup.module.css +64 -0
  47. package/components/fieldGroup/fieldGroup.module.css.d.ts +12 -0
  48. package/components/heading/heading.module.css +143 -0
  49. package/components/heading/heading.module.css.d.ts +12 -0
  50. package/components/icon/icon.module.css +14 -0
  51. package/components/icon/icon.module.css.d.ts +8 -0
  52. package/components/iconButton/iconButton.module.css +225 -0
  53. package/components/iconButton/iconButton.module.css.d.ts +19 -0
  54. package/components/label/label.module.css.d.ts +9 -0
  55. package/components/link/link.module.css +35 -0
  56. package/components/link/link.module.css.d.ts +10 -0
  57. package/components/list/list.module.css +160 -0
  58. package/components/list/list.module.css.d.ts +19 -0
  59. package/components/listbox/listbox.module.css +211 -0
  60. package/components/listbox/listbox.module.css.d.ts +21 -0
  61. package/components/notificationBadge/notificationBadge.module.css.d.ts +16 -0
  62. package/components/pagination/pagination.module.css +44 -0
  63. package/components/pagination/pagination.module.css.d.ts +8 -0
  64. package/components/panel/panel.module.css +87 -0
  65. package/components/panel/panel.module.css.d.ts +18 -0
  66. package/components/paragraph/paragraph.module.css +35 -0
  67. package/components/paragraph/paragraph.module.css.d.ts +8 -0
  68. package/components/popover/popover.module.css +39 -0
  69. package/components/popover/popover.module.css.d.ts +8 -0
  70. package/components/radio/radio.module.css +117 -0
  71. package/components/radio/radio.module.css.d.ts +14 -0
  72. package/components/searchField/searchField.module.css +148 -0
  73. package/components/searchField/searchField.module.css.d.ts +14 -0
  74. package/components/segmentedControl/segmentedControl.module.css +140 -0
  75. package/components/segmentedControl/segmentedControl.module.css.d.ts +16 -0
  76. package/components/select/select.module.css +166 -0
  77. package/components/select/select.module.css.d.ts +19 -0
  78. package/components/skeleton/skeleton.module.css +52 -0
  79. package/components/skeleton/skeleton.module.css.d.ts +9 -0
  80. package/components/spinner/spinner.module.css.d.ts +14 -0
  81. package/components/surface/surface.module.css +19 -0
  82. package/components/surface/surface.module.css.d.ts +5 -0
  83. package/components/switch/switch.module.css +170 -0
  84. package/components/switch/switch.module.css.d.ts +13 -0
  85. package/components/table/table.module.css +303 -0
  86. package/components/table/table.module.css.d.ts +37 -0
  87. package/components/tabs/tabs.module.css +83 -0
  88. package/components/tabs/tabs.module.css.d.ts +17 -0
  89. package/components/text/text.module.css.d.ts +21 -0
  90. package/components/textField/textField.module.css +208 -0
  91. package/components/textField/textField.module.css.d.ts +22 -0
  92. package/components/toast/toast.module.css.d.ts +12 -0
  93. package/components/tooltip/tooltip.module.css +41 -0
  94. package/components/tooltip/tooltip.module.css.d.ts +6 -0
  95. package/package.json +68 -0
  96. package/themes/default-dark.css +2 -0
  97. package/themes/default-dark.d.ts +3 -0
  98. package/themes/default-dark.js +8 -0
  99. package/themes/default.css +2 -0
  100. package/themes/default.d.ts +3 -0
  101. package/themes/default.js +8 -0
  102. package/themes/index.d.ts +1 -0
  103. package/themes/index.js +16 -0
  104. package/themes/june-dark.css +3 -0
  105. package/themes/june-dark.d.ts +4 -0
  106. package/themes/june-dark.js +9 -0
  107. package/themes/june.css +3 -0
  108. package/themes/june.d.ts +4 -0
  109. package/themes/june.js +9 -0
@@ -0,0 +1,278 @@
1
+ /**
2
+ * main rules
3
+ */
4
+ .sapphire-button {
5
+ box-sizing: border-box;
6
+ display: inline-flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ vertical-align: middle;
10
+ white-space: nowrap;
11
+
12
+ /* In Safari buttons get a 2px border
13
+ * https://github.com/necolas/normalize.css/blob/master/normalize.css#L160-L169
14
+ */
15
+ margin: 0;
16
+
17
+ /* typography */
18
+ font-family: var(--sapphire-button-font-name);
19
+ font-weight: var(--sapphire-button-font-weight);
20
+ font-size: var(--sapphire-button-size-font-medium);
21
+ text-transform: var(--sapphire-button-font-text-transform);
22
+ letter-spacing: var(--sapphire-button-font-letter-spacing);
23
+
24
+ /* The below is meant to address a font rendering quirk in OSX where the text
25
+ * looks bolder than intended due to subpixel rendering. This quirk generally
26
+ * occurs for bold fonts on dark backgrounds but depending on the font, it
27
+ * can happen in other contexts as well.
28
+ *
29
+ * These do not do anything except in webkit browsers & firefox on OSX.
30
+ *
31
+ * For more details see:
32
+ * - https://azuredevops/Main/WCCJ/_git/sapphire/pullRequest/212710?path=%2Fpackages%2Fcss%2Fcomponents%2Fbutton%2Fbutton.module.css&discussionId=1507702&_a=files
33
+ * - https://usabilitypost.com/2012/11/05/stop-fixing-font-smoothing/
34
+ */
35
+ -webkit-font-smoothing: antialiased;
36
+ -moz-osx-font-smoothing: grayscale;
37
+
38
+ /* sizing */
39
+ padding: 0 var(--sapphire-button-size-spacing-horizontal-medium);
40
+ height: var(--sapphire-button-size-height-default-medium);
41
+ min-width: var(--sapphire-button-size-min-width-no-icon-medium);
42
+ flex-shrink: 0; /* When part of flex layout the button will otherwise be squashed */
43
+
44
+ /* shape */
45
+ border-radius: var(--sapphire-button-size-radius-medium);
46
+ border-style: solid;
47
+ border-width: 0;
48
+ border-color: transparent;
49
+
50
+ /* transition */
51
+ /* we don't want to transition outline-offset */
52
+ transition-property: opacity, background-color, color;
53
+ transition-duration: var(--sapphire-button-time-transition);
54
+ transition-timing-function: ease-in-out;
55
+ cursor: pointer;
56
+ }
57
+
58
+ a.sapphire-button {
59
+ text-decoration: none;
60
+ }
61
+
62
+ /* Diasbled state for all variants */
63
+ .sapphire-button:disabled,
64
+ .sapphire-button.is-disabled {
65
+ opacity: var(--sapphire-button-opacity-disabled);
66
+ cursor: not-allowed;
67
+ }
68
+
69
+ /* Focused state for all variants */
70
+ .sapphire-button:focus {
71
+ outline: none;
72
+ }
73
+ .sapphire-button.is-focus,
74
+ .sapphire-button:not(.js-focus):focus-visible {
75
+ outline: var(--sapphire-button-size-focus-ring-border) solid
76
+ var(--sapphire-button-color-focus-ring);
77
+ outline-offset: var(--sapphire-button-size-focus-ring-offset);
78
+ }
79
+
80
+ /* Button with icon */
81
+ .sapphire-button--with-left-icon {
82
+ min-width: var(--sapphire-button-size-min-width-with-icon-default);
83
+ }
84
+ .sapphire-button--with-right-icon {
85
+ min-width: var(--sapphire-button-size-min-width-with-icon-default);
86
+ }
87
+ .sapphire-button--with-right-icon .sapphire-button__icon {
88
+ margin-left: var(--sapphire-button-size-spacing-icon-gap);
89
+ }
90
+ .sapphire-button--with-left-icon .sapphire-button__icon {
91
+ margin-right: var(--sapphire-button-size-spacing-icon-gap);
92
+ }
93
+
94
+ /**
95
+ * Skin rules
96
+ */
97
+ /* primary */
98
+ .sapphire-button--primary {
99
+ background-color: var(--sapphire-button-color-background-primary-default);
100
+ color: var(--sapphire-button-color-content-primary-default);
101
+ }
102
+ .sapphire-button--primary:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
103
+ .sapphire-button--primary:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
104
+ background-color: var(--sapphire-button-color-background-primary-hover);
105
+ }
106
+ .sapphire-button--primary.is-focus,
107
+ .sapphire-button--primary:not(.js-focus):focus-visible {
108
+ background-color: var(--sapphire-button-color-background-primary-focus);
109
+ }
110
+ .sapphire-button--primary:not(:disabled):not(.is-disabled).is-active,
111
+ .sapphire-button--primary:not(:disabled):not(.is-disabled):active,
112
+ .sapphire-button--primary:not(:disabled):not(.is-disabled):focus-visible:active {
113
+ background-color: var(--sapphire-button-color-background-primary-active);
114
+ }
115
+
116
+ /* secondary */
117
+ .sapphire-button--secondary {
118
+ background-color: var(--sapphire-button-color-background-secondary-default);
119
+ color: var(--sapphire-button-color-content-secondary-default);
120
+ }
121
+ .sapphire-button--secondary:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
122
+ .sapphire-button--secondary:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
123
+ background-color: var(--sapphire-button-color-background-secondary-hover);
124
+ }
125
+ .sapphire-button--secondary.is-focus,
126
+ .sapphire-button--secondary:not(.js-focus):focus-visible {
127
+ background-color: var(--sapphire-button-color-background-secondary-focus);
128
+ }
129
+ .sapphire-button--secondary:not(:disabled):not(.is-disabled).is-active,
130
+ .sapphire-button--secondary:not(:disabled):not(.is-disabled):active,
131
+ .sapphire-button--secondary:not(:disabled):not(.is-disabled):focus-visible:active {
132
+ background-color: var(--sapphire-button-color-background-secondary-active);
133
+ color: var(--sapphire-button-color-content-secondary-active);
134
+ }
135
+
136
+ /* dangerSecondary */
137
+ .sapphire-button--dangerSecondary {
138
+ background-color: var(
139
+ --sapphire-button-color-background-danger-secondary-default
140
+ );
141
+ color: var(--sapphire-button-color-content-danger-secondary-default);
142
+ }
143
+ .sapphire-button--dangerSecondary:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
144
+ .sapphire-button--dangerSecondary:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
145
+ background-color: var(
146
+ --sapphire-button-color-background-danger-secondary-hover
147
+ );
148
+ }
149
+ .sapphire-button--dangerSecondary.is-focus,
150
+ .sapphire-button--dangerSecondary:not(.js-focus):focus-visible {
151
+ background-color: var(
152
+ --sapphire-button-color-background-danger-secondary-focus
153
+ );
154
+ }
155
+ .sapphire-button--dangerSecondary:not(:disabled):not(.is-disabled).is-active,
156
+ .sapphire-button--dangerSecondary:not(:disabled):not(.is-disabled):focus-visible:active,
157
+ .sapphire-button--dangerSecondary:not(:disabled):not(.is-disabled):active {
158
+ background-color: var(
159
+ --sapphire-button-color-background-danger-secondary-active
160
+ );
161
+ color: var(--sapphire-button-color-content-danger-secondary-active);
162
+ }
163
+
164
+ /* tertiary */
165
+ .sapphire-button--tertiary {
166
+ border-radius: var(--sapphire-button-size-radius-tertiary);
167
+ padding-right: var(--sapphire-button-size-spacing-horizontal-tertiary);
168
+ padding-left: var(--sapphire-button-size-spacing-horizontal-tertiary);
169
+ background-color: var(--sapphire-button-color-background-tertiary-default);
170
+ color: var(--sapphire-button-color-content-tertiary-default);
171
+ }
172
+ .sapphire-button--tertiary:not(:disabled):not(.is-disabled).is-active,
173
+ .sapphire-button--tertiary:not(:disabled):not(.is-disabled):focus-visible:active,
174
+ .sapphire-button--tertiary:not(:disabled):not(.is-disabled):active {
175
+ color: var(--sapphire-button-color-content-tertiary-active);
176
+ }
177
+
178
+ /* dangerTertiary */
179
+ .sapphire-button--dangerTertiary {
180
+ border-radius: var(--sapphire-button-size-radius-tertiary);
181
+ padding-right: var(--sapphire-button-size-spacing-horizontal-danger-tertiary);
182
+ padding-left: var(--sapphire-button-size-spacing-horizontal-danger-tertiary);
183
+ background-color: var(
184
+ --sapphire-button-color-background-danger-tertiary-default
185
+ );
186
+ color: var(--sapphire-button-color-content-danger-tertiary-default);
187
+ }
188
+ .sapphire-button--dangerTertiary:not(:disabled):not(.is-disabled).is-active,
189
+ .sapphire-button--dangerTertiary:not(:disabled):not(.is-disabled):focus-visible:active,
190
+ .sapphire-button--dangerTertiary:not(:disabled):not(.is-disabled):active {
191
+ color: var(--sapphire-button-color-content-danger-tertiary-active);
192
+ }
193
+
194
+ /**
195
+ * Toggle Button
196
+ */
197
+ .sapphire-button--selected {
198
+ background-color: var(--sapphire-button-color-background-selected-default);
199
+ color: var(--sapphire-button-color-content-selected-default);
200
+ }
201
+ .sapphire-button--selected:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
202
+ .sapphire-button--selected:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
203
+ background-color: var(--sapphire-button-color-background-selected-hover);
204
+ }
205
+ .sapphire-button--selected.is-focus,
206
+ .sapphire-button--selected:not(.js-focus):focus-visible {
207
+ background-color: var(--sapphire-button-color-background-selected-focus);
208
+ }
209
+ .sapphire-button--selected:not(:disabled):not(.is-disabled).is-active,
210
+ .sapphire-button--selected:not(:disabled):not(.is-disabled):active,
211
+ .sapphire-button--selected:not(:disabled):not(.is-disabled):focus-visible:active {
212
+ background-color: var(--sapphire-button-color-background-selected-active);
213
+ color: var(--sapphire-button-color-content-selected-active);
214
+ }
215
+
216
+ .sapphire-button--unselected {
217
+ background-color: var(--sapphire-button-color-background-unselected-default);
218
+ color: var(--sapphire-button-color-content-unselected-default);
219
+ }
220
+ .sapphire-button--unselected:not(:disabled):not(.is-disabled):not(:active):not(.is-active):not(.js-hover):hover,
221
+ .sapphire-button--unselected:not(:disabled):not(.is-disabled):not(:active):not(.is-active).is-hover {
222
+ background-color: var(--sapphire-button-color-background-unselected-hover);
223
+ }
224
+ .sapphire-button--unselected.is-focus,
225
+ .sapphire-button--unselected:not(.js-focus):focus-visible {
226
+ background-color: var(--sapphire-button-color-background-unselected-focus);
227
+ }
228
+ .sapphire-button--unselected:not(:disabled):not(.is-disabled).is-active,
229
+ .sapphire-button--unselected:not(:disabled):not(.is-disabled):active,
230
+ .sapphire-button--unselected:not(:disabled):not(.is-disabled):focus-visible:active {
231
+ background-color: var(--sapphire-button-color-background-unselected-active);
232
+ color: var(--sapphire-button-color-content-unselected-active);
233
+ }
234
+
235
+ /**
236
+ * Icon
237
+ */
238
+ .sapphire-button__icon {
239
+ display: flex;
240
+ flex-direction: column;
241
+ justify-content: center;
242
+ align-items: center;
243
+ height: var(--sapphire-button-size-icon-medium);
244
+ width: var(--sapphire-button-size-icon-medium);
245
+ }
246
+ .sapphire-button--large .sapphire-button__icon {
247
+ height: var(--sapphire-button-size-icon-large);
248
+ width: var(--sapphire-button-size-icon-large);
249
+ }
250
+ .sapphire-button--small .sapphire-button__icon {
251
+ height: var(--sapphire-button-size-icon-small);
252
+ width: var(--sapphire-button-size-icon-small);
253
+ }
254
+
255
+ /**
256
+ * Size variations
257
+ */
258
+ /**
259
+ * LARGE
260
+ */
261
+ .sapphire-button--large {
262
+ height: var(--sapphire-button-size-height-default-large);
263
+ min-width: var(--sapphire-button-size-min-width-no-icon-large);
264
+ padding: 0 var(--sapphire-button-size-spacing-horizontal-large);
265
+ font-size: var(--sapphire-button-size-font-large);
266
+ border-radius: var(--sapphire-button-size-radius-large);
267
+ }
268
+
269
+ /**
270
+ * SMALL
271
+ */
272
+ .sapphire-button--small {
273
+ height: var(--sapphire-button-size-height-default-small);
274
+ min-width: var(--sapphire-button-size-min-width-no-icon-small);
275
+ padding: 0 var(--sapphire-button-size-spacing-horizontal-small);
276
+ font-size: var(--sapphire-button-size-font-small);
277
+ border-radius: var(--sapphire-button-size-radius-small);
278
+ }
@@ -0,0 +1,23 @@
1
+ declare const styles: {
2
+ readonly "sapphire-button": string;
3
+ readonly "is-disabled": string;
4
+ readonly "is-focus": string;
5
+ readonly "js-focus": string;
6
+ readonly "sapphire-button--with-left-icon": string;
7
+ readonly "sapphire-button--with-right-icon": string;
8
+ readonly "sapphire-button__icon": string;
9
+ readonly "sapphire-button--primary": string;
10
+ readonly "is-active": string;
11
+ readonly "js-hover": string;
12
+ readonly "is-hover": string;
13
+ readonly "sapphire-button--secondary": string;
14
+ readonly "sapphire-button--dangerSecondary": string;
15
+ readonly "sapphire-button--tertiary": string;
16
+ readonly "sapphire-button--dangerTertiary": string;
17
+ readonly "sapphire-button--selected": string;
18
+ readonly "sapphire-button--unselected": string;
19
+ readonly "sapphire-button--large": string;
20
+ readonly "sapphire-button--small": string;
21
+ };
22
+ export = styles;
23
+
@@ -0,0 +1,24 @@
1
+ .sapphire-button-group {
2
+ display: flex;
3
+ gap: var(--sapphire-button-group-size-spacing-large);
4
+ }
5
+
6
+ .sapphire-button-group--normal {
7
+ gap: var(--sapphire-button-group-size-spacing-medium);
8
+ }
9
+
10
+ .sapphire-button-group--dense {
11
+ gap: var(--sapphire-button-group-size-spacing-small);
12
+ }
13
+
14
+ .sapphire-button-group--align-center {
15
+ justify-content: center;
16
+ }
17
+
18
+ .sapphire-button-group--align-right {
19
+ justify-content: flex-end;
20
+ }
21
+
22
+ .sapphire-button-group--align-left {
23
+ justify-content: flex-start;
24
+ }
@@ -0,0 +1,10 @@
1
+ declare const styles: {
2
+ readonly "sapphire-button-group": string;
3
+ readonly "sapphire-button-group--normal": string;
4
+ readonly "sapphire-button-group--dense": string;
5
+ readonly "sapphire-button-group--align-center": string;
6
+ readonly "sapphire-button-group--align-right": string;
7
+ readonly "sapphire-button-group--align-left": string;
8
+ };
9
+ export = styles;
10
+