superdesk-ui-framework 4.0.24 → 4.0.25
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/.github/CODEOWNERS +1 -0
- package/app/index.js +1 -0
- package/app/styles/_big-icon-font.scss +1 -1
- package/app/styles/_boxed-list.scss +60 -24
- package/app/styles/_design-tokens.scss +3 -0
- package/app/styles/_labels.scss +82 -71
- package/app/styles/app.scss +1 -0
- package/app/styles/components/_calendar-week-day.scss +97 -0
- package/app/styles/design-tokens/_brand-colors.scss +32 -0
- package/app/styles/design-tokens/_new-colors.scss +18 -0
- package/app/styles/design-tokens/_primitives.scss +161 -0
- package/app/styles/design-tokens/_semantic-colors.scss +145 -0
- package/app/styles/form-elements/_checkbox.scss +15 -0
- package/app-typescript/components/Lists/BoxedList.tsx +2 -0
- package/app-typescript/components/Lists/CalendarWeekDayItem.tsx +36 -0
- package/app-typescript/components/RadioButtonGroup.tsx +1 -1
- package/app-typescript/components/avatar/avatar-image.tsx +8 -1
- package/app-typescript/index.ts +1 -0
- package/dist/components/BoxedList.tsx +27 -2
- package/dist/components/RadioGroup.tsx +26 -3
- package/dist/examples.bundle.js +1339 -1175
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +117 -0
- package/dist/superdesk-ui.bundle.css +516 -222
- package/dist/superdesk-ui.bundle.js +980 -897
- package/dist/vendor.bundle.js +14 -14
- package/examples/pages/components/BoxedList.tsx +27 -2
- package/examples/pages/components/RadioGroup.tsx +26 -3
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +117 -0
- package/package.json +1 -1
- package/react/components/Lists/BoxedList.d.ts +1 -0
- package/react/components/Lists/BoxedList.js +1 -0
- package/react/components/Lists/CalendarWeekDayItem.d.ts +15 -0
- package/react/components/Lists/CalendarWeekDayItem.js +67 -0
- package/react/components/RadioButtonGroup.js +1 -1
- package/react/components/avatar/avatar-image.js +1 -1
- package/react/index.d.ts +1 -0
- package/react/index.js +3 -1
@@ -0,0 +1,161 @@
|
|
1
|
+
:root {
|
2
|
+
// PRIMITIVES / COLORS
|
3
|
+
// These colors should not to be applied directly to elements and components
|
4
|
+
--l-base: 35%;
|
5
|
+
--l-100-add: 55;
|
6
|
+
--l-200-add: 34;
|
7
|
+
--l-300-add: 20;
|
8
|
+
--l-400-add: 8;
|
9
|
+
--l-600-remove: 10;
|
10
|
+
--l-700-remove: 20;
|
11
|
+
--l-800-remove: 35;
|
12
|
+
|
13
|
+
--c-base: 75;
|
14
|
+
--c-100-remove: 60;
|
15
|
+
--c-200-remove: 45;
|
16
|
+
--c-300-remove: 30;
|
17
|
+
--c-400-remove: 10;
|
18
|
+
--c-600-add: 0;
|
19
|
+
--c-700-add: 0;
|
20
|
+
--c-800-add: 0;
|
21
|
+
|
22
|
+
// Morocco Red
|
23
|
+
--morocco-red-500: lch(var(--l-base) var(--c-base) 28);
|
24
|
+
--morocco-red-100: lch(from var(--morocco-red-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
25
|
+
--morocco-red-200: lch(from var(--morocco-red-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
26
|
+
--morocco-red-300: lch(from var(--morocco-red-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
27
|
+
--morocco-red-400: lch(from var(--morocco-red-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
28
|
+
--morocco-red-600: lch(from var(--morocco-red-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
29
|
+
--morocco-red-700: lch(from var(--morocco-red-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
30
|
+
--morocco-red-800: lch(from var(--morocco-red-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
31
|
+
--morocco-red-500-a32: lch(from var(--morocco-red-500) l c h / .32);
|
32
|
+
--morocco-red-500-a24: lch(from var(--morocco-red-500) l c h / .24);
|
33
|
+
--morocco-red-500-a16: lch(from var(--morocco-red-500) l c h / .16);
|
34
|
+
--morocco-red-500-a12: lch(from var(--morocco-red-500) l c h / .12);
|
35
|
+
// Syrah Soil
|
36
|
+
--syrah-soil-500: lch(var(--l-base) var(--c-base) 74);
|
37
|
+
--syrah-soil-100: lch(from var(--syrah-soil-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
38
|
+
--syrah-soil-200: lch(from var(--syrah-soil-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
39
|
+
--syrah-soil-300: lch(from var(--syrah-soil-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
40
|
+
--syrah-soil-400: lch(from var(--syrah-soil-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
41
|
+
--syrah-soil-600: lch(from var(--syrah-soil-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
42
|
+
--syrah-soil-700: lch(from var(--syrah-soil-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
43
|
+
--syrah-soil-800: lch(from var(--syrah-soil-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
44
|
+
--syrah-soil-500-a32: hsl(from var(--syrah-soil-500) h s l / .32);
|
45
|
+
--syrah-soil-500-a24: hsl(from var(--syrah-soil-500) h s l / .24);
|
46
|
+
--syrah-soil-500-a16: hsl(from var(--syrah-soil-500) h s l / .16);
|
47
|
+
--syrah-soil-500-a12: hsl(from var(--syrah-soil-500) h s l / .12);
|
48
|
+
// Green Brier
|
49
|
+
--green-brier-500: lch(var(--l-base) var(--c-base) 126);
|
50
|
+
--green-brier-100: lch(from var(--green-brier-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
51
|
+
--green-brier-200: lch(from var(--green-brier-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
52
|
+
--green-brier-300: lch(from var(--green-brier-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
53
|
+
--green-brier-400: lch(from var(--green-brier-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
54
|
+
--green-brier-600: lch(from var(--green-brier-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
55
|
+
--green-brier-700: lch(from var(--green-brier-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
56
|
+
--green-brier-800: lch(from var(--green-brier-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
57
|
+
--green-brier-400-a32: hsl(from var(--green-brier-400) h s l / .32);
|
58
|
+
--green-brier-400-a24: hsl(from var(--green-brier-400) h s l / .24);
|
59
|
+
--green-brier-400-a16: hsl(from var(--green-brier-400) h s l / .16);
|
60
|
+
--green-brier-400-a12: hsl(from var(--green-brier-400) h s l / .12);
|
61
|
+
--green-brier-500-a32: hsl(from var(--green-brier-500) h s l / .32);
|
62
|
+
--green-brier-500-a24: hsl(from var(--green-brier-500) h s l / .24);
|
63
|
+
--green-brier-500-a16: hsl(from var(--green-brier-500) h s l / .16);
|
64
|
+
--green-brier-500-a12: hsl(from var(--green-brier-500) h s l / .12);
|
65
|
+
// Sorcerer Blue
|
66
|
+
--sorcerer-blue-500: lch(var(--l-base) var(--c-base) 202);
|
67
|
+
--sorcerer-blue-100: lch(from var(--sorcerer-blue-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
68
|
+
--sorcerer-blue-200: lch(from var(--sorcerer-blue-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
69
|
+
--sorcerer-blue-300: lch(from var(--sorcerer-blue-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
70
|
+
--sorcerer-blue-400: lch(from var(--sorcerer-blue-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
71
|
+
--sorcerer-blue-600: lch(from var(--sorcerer-blue-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
72
|
+
--sorcerer-blue-700: lch(from var(--sorcerer-blue-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
73
|
+
--sorcerer-blue-800: lch(from var(--sorcerer-blue-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
74
|
+
--sorcerer-blue-500-a32: hsl(from var(--sorcerer-blue-500) h s l / .32);
|
75
|
+
--sorcerer-blue-500-a24: hsl(from var(--sorcerer-blue-500) h s l / .24);
|
76
|
+
--sorcerer-blue-500-a16: hsl(from var(--sorcerer-blue-500) h s l / .16);
|
77
|
+
--sorcerer-blue-500-a12: hsl(from var(--sorcerer-blue-500) h s l / .12);
|
78
|
+
// Palatinate Blue
|
79
|
+
--palatinate-blue-500: lch(var(--l-base) var(--c-base) 280);
|
80
|
+
--palatinate-blue-100: lch(from var(--palatinate-blue-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
81
|
+
--palatinate-blue-200: lch(from var(--palatinate-blue-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
82
|
+
--palatinate-blue-300: lch(from var(--palatinate-blue-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
83
|
+
--palatinate-blue-400: lch(from var(--palatinate-blue-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
84
|
+
--palatinate-blue-600: lch(from var(--palatinate-blue-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
85
|
+
--palatinate-blue-700: lch(from var(--palatinate-blue-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
86
|
+
--palatinate-blue-800: lch(from var(--palatinate-blue-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
87
|
+
--palatinate-blue-500-a32: hsl(from var(--palatinate-blue-500) h s l / .32);
|
88
|
+
--palatinate-blue-500-a24: hsl(from var(--palatinate-blue-500) h s l / .24);
|
89
|
+
--palatinate-blue-500-a16: hsl(from var(--palatinate-blue-500) h s l / .16);
|
90
|
+
--palatinate-blue-500-a12: hsl(from var(--palatinate-blue-500) h s l / .12);
|
91
|
+
// Purple Spot
|
92
|
+
--purple-spot-500: lch(var(--l-base) var(--c-base) 307);
|
93
|
+
--purple-spot-100: lch(from var(--purple-spot-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
94
|
+
--purple-spot-200: lch(from var(--purple-spot-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
95
|
+
--purple-spot-300: lch(from var(--purple-spot-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
96
|
+
--purple-spot-400: lch(from var(--purple-spot-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
97
|
+
--purple-spot-600: lch(from var(--purple-spot-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
98
|
+
--purple-spot-700: lch(from var(--purple-spot-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
99
|
+
--purple-spot-800: lch(from var(--purple-spot-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
100
|
+
--purple-spot-500-a32: hsl(from var(--purple-spot-500) h s l / .32);
|
101
|
+
--purple-spot-500-a24: hsl(from var(--purple-spot-500) h s l / .24);
|
102
|
+
--purple-spot-500-a16: hsl(from var(--purple-spot-500) h s l / .16);
|
103
|
+
--purple-spot-500-a12: hsl(from var(--purple-spot-500) h s l / .12);
|
104
|
+
// Blissful Berry
|
105
|
+
--blissful-berry-500: lch(var(--l-base) var(--c-base) 338);
|
106
|
+
--blissful-berry-100: lch(from var(--blissful-berry-500) calc(l + var(--l-100-add)) calc(c - var(--c-100-remove)) h);
|
107
|
+
--blissful-berry-200: lch(from var(--blissful-berry-500) calc(l + var(--l-200-add)) calc(c - var(--c-200-remove)) h);
|
108
|
+
--blissful-berry-300: lch(from var(--blissful-berry-500) calc(l + var(--l-300-add)) calc(c - var(--c-300-remove)) h);
|
109
|
+
--blissful-berry-400: lch(from var(--blissful-berry-500) calc(l + var(--l-400-add)) calc(c - var(--c-400-remove)) h);
|
110
|
+
--blissful-berry-600: lch(from var(--blissful-berry-500) calc(l - var(--l-600-remove)) calc(c + var(--c-600-add)) h);
|
111
|
+
--blissful-berry-700: lch(from var(--blissful-berry-500) calc(l - var(--l-700-remove)) calc(c + var(--c-700-add)) h);
|
112
|
+
--blissful-berry-800: lch(from var(--blissful-berry-500) calc(l - var(--l-800-remove)) calc(c + var(--c-800-add)) h);
|
113
|
+
--blissful-berry-500-a32: hsl(from var(--blissful-berry-500) h s l / .32);
|
114
|
+
--blissful-berry-500-a24: hsl(from var(--blissful-berry-500) h s l / .24);
|
115
|
+
--blissful-berry-500-a16: hsl(from var(--blissful-berry-500) h s l / .16);
|
116
|
+
--blissful-berry-500-a12: hsl(from var(--blissful-berry-500) h s l / .12);
|
117
|
+
// NEUTRAL
|
118
|
+
// Buoyant Grey
|
119
|
+
--buoyant-grey-500: lch(46% 11 260);
|
120
|
+
--buoyant-grey-000: lch(from var(--buoyant-grey-500) calc(l + 54) calc(c - 12) h);
|
121
|
+
--buoyant-grey-050: lch(from var(--buoyant-grey-500) calc(l + 50.8) calc(c - 9) h);
|
122
|
+
--buoyant-grey-100: lch(from var(--buoyant-grey-500) calc(l + 48.2) calc(c - 9) h);
|
123
|
+
--buoyant-grey-125: lch(from var(--buoyant-grey-500) calc(l + 45.5) calc(c - 8) h);
|
124
|
+
--buoyant-grey-150: lch(from var(--buoyant-grey-500) calc(l + 39) calc(c - 6) h);
|
125
|
+
--buoyant-grey-200: lch(from var(--buoyant-grey-500) calc(l + 30) calc(c - 4) h);
|
126
|
+
--buoyant-grey-300: lch(from var(--buoyant-grey-500) calc(l + 20) calc(c - 2) h);
|
127
|
+
--buoyant-grey-400: lch(from var(--buoyant-grey-500) calc(l + 10) calc(c - 0) h);
|
128
|
+
--buoyant-grey-600: lch(from var(--buoyant-grey-500) calc(l - 8) calc(c + 0) h);
|
129
|
+
--buoyant-grey-700: lch(from var(--buoyant-grey-500) calc(l - 16) calc(c + 0) h);
|
130
|
+
--buoyant-grey-800: lch(from var(--buoyant-grey-500) calc(l - 22) calc(c + 0) h);
|
131
|
+
--buoyant-grey-825: lch(from var(--buoyant-grey-500) calc(l - 26) calc(c + 0) h);
|
132
|
+
--buoyant-grey-850: lch(from var(--buoyant-grey-500) calc(l - 31) calc(c + 1) h);
|
133
|
+
--buoyant-grey-900: lch(from var(--buoyant-grey-500) calc(l - 36) calc(c + 2) h);
|
134
|
+
--buoyant-grey-950: lch(from var(--buoyant-grey-500) calc(l - 42) calc(c + 2) h);
|
135
|
+
--buoyant-grey-999: lch(from var(--buoyant-grey-500) calc(l - 46) calc(c - 11) h);
|
136
|
+
--buoyant-grey-200-a40: hsl(from var(--buoyant-grey-200) h s l / .40);
|
137
|
+
--buoyant-grey-200-a32: hsl(from var(--buoyant-grey-200) h s l / .32);
|
138
|
+
--buoyant-grey-200-a24: hsl(from var(--buoyant-grey-200) h s l / .24);
|
139
|
+
--buoyant-grey-200-a16: hsl(from var(--buoyant-grey-200) h s l / .16);
|
140
|
+
--buoyant-grey-200-a12: hsl(from var(--buoyant-grey-200) h s l / .12);
|
141
|
+
--buoyant-grey-300-a40: hsl(from var(--buoyant-grey-300) h s l / .40);
|
142
|
+
--buoyant-grey-300-a32: hsl(from var(--buoyant-grey-300) h s l / .32);
|
143
|
+
--buoyant-grey-300-a24: hsl(from var(--buoyant-grey-300) h s l / .24);
|
144
|
+
--buoyant-grey-300-a16: hsl(from var(--buoyant-grey-300) h s l / .16);
|
145
|
+
--buoyant-grey-300-a12: hsl(from var(--buoyant-grey-300) h s l / .12);
|
146
|
+
--buoyant-grey-400-a40: hsl(from var(--buoyant-grey-400) h s l / .40);
|
147
|
+
--buoyant-grey-400-a32: hsl(from var(--buoyant-grey-400) h s l / .32);
|
148
|
+
--buoyant-grey-400-a24: hsl(from var(--buoyant-grey-400) h s l / .24);
|
149
|
+
--buoyant-grey-400-a16: hsl(from var(--buoyant-grey-400) h s l / .16);
|
150
|
+
--buoyant-grey-400-a12: hsl(from var(--buoyant-grey-400) h s l / .12);
|
151
|
+
--buoyant-grey-500-a40: hsl(from var(--buoyant-grey-500) h s l / .40);
|
152
|
+
--buoyant-grey-500-a32: hsl(from var(--buoyant-grey-500) h s l / .32);
|
153
|
+
--buoyant-grey-500-a24: hsl(from var(--buoyant-grey-500) h s l / .24);
|
154
|
+
--buoyant-grey-500-a16: hsl(from var(--buoyant-grey-500) h s l / .16);
|
155
|
+
--buoyant-grey-500-a12: hsl(from var(--buoyant-grey-500) h s l / .12);
|
156
|
+
--buoyant-grey-600-a40: hsl(from var(--buoyant-grey-600) h s l / .40);
|
157
|
+
--buoyant-grey-600-a32: hsl(from var(--buoyant-grey-600) h s l / .32);
|
158
|
+
--buoyant-grey-600-a24: hsl(from var(--buoyant-grey-600) h s l / .24);
|
159
|
+
--buoyant-grey-600-a16: hsl(from var(--buoyant-grey-600) h s l / .16);
|
160
|
+
--buoyant-grey-600-a12: hsl(from var(--buoyant-grey-600) h s l / .12);
|
161
|
+
}
|
@@ -0,0 +1,145 @@
|
|
1
|
+
:root {
|
2
|
+
// Surface (backgrounds etc.)
|
3
|
+
--color-surface-base: var(--buoyant-grey-000);
|
4
|
+
--color-surface-muted: var(--buoyant-grey-050);
|
5
|
+
--color-surface-subdued: var(--buoyant-grey-100);
|
6
|
+
--color-surface-faded: var(--buoyant-grey-125);
|
7
|
+
--color-surface-base-translucent: var(--buoyant-grey-200-a16);
|
8
|
+
--color-surface-muted-translucent: var(--buoyant-grey-200-a16);
|
9
|
+
--color-surface-subdued-translucent: var(--buoyant-grey-200-a32);
|
10
|
+
--color-surface-faded-translucent: var(--buoyant-grey-200-a32);
|
11
|
+
// Text
|
12
|
+
--color-text-default: var(--buoyant-grey-900);
|
13
|
+
--color-text-muted: var(--buoyant-grey-600);
|
14
|
+
--color-text-subdued: var(--buoyant-grey-500);
|
15
|
+
--color-text-inverse: var(--buoyant-grey-050);
|
16
|
+
--color-text-ondark: var(--buoyant-grey-000);
|
17
|
+
--color-text-onlight: var(--buoyant-grey-900);
|
18
|
+
// Line
|
19
|
+
--color-line-x-light: var(--buoyant-grey-500-a16);
|
20
|
+
--color-line-light: var(--buoyant-grey-500-a24);
|
21
|
+
--color-line-medium: var(--buoyant-grey-500-a32);
|
22
|
+
--color-line-strong: var(--buoyant-grey-500-a40);
|
23
|
+
// Primary
|
24
|
+
--color-primary-default: var(--brand-primary-700);
|
25
|
+
--color-primary-highlight: var(--brand-primary);
|
26
|
+
--color-primary-text: var(--brand-primary-800);
|
27
|
+
--color-primary-translucent: var(--brand-primary-a16);
|
28
|
+
--color-primary-translucent-strong: var(--brand-primary-a32);
|
29
|
+
// Success
|
30
|
+
--color-success-default: var(--green-brier-400);
|
31
|
+
--color-success-highlight: var(--green-brier-300);
|
32
|
+
--color-success-text: var(--green-brier-600);
|
33
|
+
--color-success-translucent: var(--green-brier-400-a12);
|
34
|
+
// Warning
|
35
|
+
--color-warning-default: var(--syrah-soil-300);
|
36
|
+
--color-warning-highlight: var(--syrah-soil-200);
|
37
|
+
--color-warning-text: var(--syrah-soil-400);
|
38
|
+
--color-warning-translucent: var(--syrah-soil-500-a12);
|
39
|
+
// Alert
|
40
|
+
--color-alert-default: var(--morocco-red-500);
|
41
|
+
--color-alert-highlight: var(--morocco-red-400);
|
42
|
+
--color-alert-text: var(--morocco-red-600);
|
43
|
+
--color-alert-translucent: var(--morocco-red-500-a16);
|
44
|
+
// Highlight
|
45
|
+
--color-highlight-default: var(--blissful-berry-400);
|
46
|
+
--color-highlight-highlight: var(--blissful-berry-300);
|
47
|
+
--color-highlight-text: var(--blissful-berry-600);
|
48
|
+
--color-highlight-translucent: var(--blissful-berry-500-a12);
|
49
|
+
// Info
|
50
|
+
--color-info-default: var(--sorcerer-blue-500);
|
51
|
+
--color-info-highlight: var(--sorcerer-blue-300);
|
52
|
+
--color-info-text: var(--sorcerer-blue-700);
|
53
|
+
--color-info-translucent: var(--sorcerer-blue-500-a12);
|
54
|
+
// Neutral
|
55
|
+
--color-neutral-light-default: var(--buoyant-grey-300-a24);
|
56
|
+
--color-neutral-light-text: var(--buoyant-grey-700);
|
57
|
+
--color-neutral-medium-default: var(--buoyant-grey-200);
|
58
|
+
--color-neutral-strong-default: var(--buoyant-grey-600);
|
59
|
+
--color-neutral-strong-text: var(--buoyant-grey-100);
|
60
|
+
// Interactive
|
61
|
+
--color-interactive-default: var(--brand-primary-700);
|
62
|
+
--color-interactive-highlight: var(--brand-primary);
|
63
|
+
--color-interactive-text: var(--brand-primary-800);
|
64
|
+
--color-interactive-translucent: var(--brand-primary-a16);
|
65
|
+
--color-interactive-translucent-strong: var(--brand-primary-a32);
|
66
|
+
--color-interactive-surface-selected: var(--brand-primary-100);
|
67
|
+
--color-interactive-shadow-focus: var(--brand-primary-a32);
|
68
|
+
// General clickabl content items (list item, grid item)
|
69
|
+
--color-item-bg-normal: var(--color-surface-base);
|
70
|
+
--color-item-bg-hover: var(--color-surface-muted);
|
71
|
+
--color-item-bg-active: var(--color-interactive-surface-selected);
|
72
|
+
--color-item-border-active: var(--color-interactive-translucent-strong);
|
73
|
+
--color-item-overlay-actioning: hsl(from var(--color-surface-base) h s l / .70);
|
74
|
+
}
|
75
|
+
|
76
|
+
[data-theme="dark-ui"] {
|
77
|
+
// Surface (backgrounds etc.)
|
78
|
+
--color-surface-base: var(--buoyant-grey-900);
|
79
|
+
--color-surface-muted: var(--buoyant-grey-850);
|
80
|
+
--color-surface-subdued: var(--buoyant-grey-825);
|
81
|
+
--color-surface-faded: var(--buoyant-grey-800);
|
82
|
+
--color-surface-muted-translucent: var(--buoyant-grey-600-a16);
|
83
|
+
--color-surface-subdued-translucent: var(--buoyant-grey-600-a32);
|
84
|
+
--color-surface-faded-translucent: var(--buoyant-grey-600-a32);
|
85
|
+
// Text
|
86
|
+
--color-text-default: var(--buoyant-grey-050);
|
87
|
+
--color-text-muted: var(--buoyant-grey-200);
|
88
|
+
--color-text-subdued: var(--buoyant-grey-300);
|
89
|
+
--color-text-inverse: var(--buoyant-grey-900);
|
90
|
+
--color-text-ondark: var(--buoyant-grey-000);
|
91
|
+
--color-text-onlight: var(--buoyant-grey-900);
|
92
|
+
// Line
|
93
|
+
--color-line-x-light: var(--buoyant-grey-300-a16);
|
94
|
+
--color-line-light: var(--buoyant-grey-300-a24);
|
95
|
+
--color-line-medium: var(--buoyant-grey-300-a32);
|
96
|
+
--color-line-strong: var(--buoyant-grey-300-a40);
|
97
|
+
// Primary
|
98
|
+
--color-primary-default: var(--brand-primary-700);
|
99
|
+
--color-primary-highlight: var(--brand-primary-600);
|
100
|
+
--color-primary-text: var(--brand-primary-400);
|
101
|
+
--color-primary-translucent: var(--brand-primary-a16);
|
102
|
+
--color-primary-highlight-translucent: var(--brand-primary-600-a16);
|
103
|
+
// Success
|
104
|
+
--color-success-default: var(--green-brier-500);
|
105
|
+
--color-success-highlight: var(--green-brier-400);
|
106
|
+
--color-success-text: var(--green-brier-300);
|
107
|
+
--color-success-translucent: var(--green-brier-400-a16);
|
108
|
+
// Warning
|
109
|
+
--color-warning-default: var(--syrah-soil-400);
|
110
|
+
--color-warning-highlight: var(--syrah-soil-300);
|
111
|
+
--color-warning-text: var(--syrah-soil-300);
|
112
|
+
--color-warning-translucent: var(--syrah-soil-500-a16);
|
113
|
+
// Alert
|
114
|
+
--color-alert-default: var(--morocco-red-600);
|
115
|
+
--color-alert-text: var(--morocco-red-400);
|
116
|
+
--color-alert-translucent: var(--morocco-red-500-a16);
|
117
|
+
// Highlight
|
118
|
+
--color-highlight-default: var(--blissful-berry-500);
|
119
|
+
--color-highlight-text: var(--blissful-berry-300);
|
120
|
+
--color-highlight-translucent: var(--blissful-berry-500-a16);
|
121
|
+
// Info
|
122
|
+
--color-info-default: var(--sorcerer-blue-600);
|
123
|
+
--color-info-text: var(--sorcerer-blue-300);
|
124
|
+
--color-info-translucent: var(--sorcerer-blue-500-a16);
|
125
|
+
// Neutral
|
126
|
+
--color-neutral-light-default: var(--buoyant-grey-500-a24);
|
127
|
+
--color-neutral-light-text: var(--buoyant-grey-200);
|
128
|
+
--color-neutral-medium-default: var(--buoyant-grey-300);
|
129
|
+
--color-neutral-strong-default: var(--buoyant-grey-600);
|
130
|
+
--color-neutral-strong-text: var(--buoyant-grey-100);
|
131
|
+
// Interactive
|
132
|
+
--color-interactive-default: var(--brand-primary-700);
|
133
|
+
--color-interactive-highlight: var(--brand-primary);
|
134
|
+
--color-interactive-text: var(--brand-primary-400);
|
135
|
+
--color-interactive-translucent: var(--brand-primary-a16);
|
136
|
+
--color-interactive-translucent-strong: var(--brand-primary-a32);
|
137
|
+
--color-interactive-surface-selected: var(--brand-primary-950);
|
138
|
+
--color-interactive-shadow-focus: var(--brand-primary-a32);
|
139
|
+
// General clickabl content items (list item, grid item)
|
140
|
+
--color-item-bg-normal: var(--color-surface-base);
|
141
|
+
--color-item-bg-hover: var(--color-surface-muted);
|
142
|
+
--color-item-bg-active: var(--color-interactive-surface-selected);
|
143
|
+
--color-item-border-active: var(--color-interactive-translucent-strong);
|
144
|
+
--color-item-overlay-actioning: hsl(from var(--color-surface-base) h s l / .70);
|
145
|
+
}
|
@@ -444,15 +444,30 @@ $checkButtonBorderRadius: $border-radius__base--small;
|
|
444
444
|
|
445
445
|
.sd-check-button__group--left, .sd-check-button__group--start {
|
446
446
|
margin-inline-end: auto;
|
447
|
+
justify-content: flex-start;
|
447
448
|
}
|
448
449
|
|
449
450
|
.sd-check-button__group--right, .sd-check-button__group--end {
|
450
451
|
margin-inline-start: auto;
|
452
|
+
justify-content: flex-end;
|
453
|
+
}
|
454
|
+
|
455
|
+
.sd-check-button__group--vertical {
|
456
|
+
flex-direction: column;
|
457
|
+
align-items: flex-start;
|
458
|
+
.sd-check-button.sd-check-button--native {
|
459
|
+
align-self: stretch;
|
460
|
+
.sd-check-button__text-label {
|
461
|
+
text-align: left;
|
462
|
+
justify-content: flex-start;
|
463
|
+
}
|
464
|
+
}
|
451
465
|
}
|
452
466
|
|
453
467
|
.sd-check-button__group--center {
|
454
468
|
margin-inline-start: auto;
|
455
469
|
margin-inline-end: auto;
|
470
|
+
justify-content: center;
|
456
471
|
}
|
457
472
|
|
458
473
|
.sd-check-button__group--inline {
|
@@ -77,6 +77,7 @@ interface IPropsItem {
|
|
77
77
|
clickable?: boolean;
|
78
78
|
alignVertical?: 'start' | 'center';
|
79
79
|
slideInActions?: boolean;
|
80
|
+
coloredBg?: boolean;
|
80
81
|
selected?: boolean;
|
81
82
|
unread?: boolean;
|
82
83
|
onClick?(): void;
|
@@ -107,6 +108,7 @@ class BoxedListItem extends React.PureComponent<IPropsItem> {
|
|
107
108
|
'boxed-list__item--clickable': this.props.clickable === true,
|
108
109
|
'boxed-list__item--selected': this.props.selected,
|
109
110
|
'boxed-list__item--unread': this.props.unread,
|
111
|
+
'boxed-list__item--colored-bg': this.props.coloredBg,
|
110
112
|
[`boxed-list__item--${this.props.type}`]: this.props.type || this.props.type !== undefined,
|
111
113
|
[`boxed-list__item--align-${this.props.alignVertical}`]: this.props.alignVertical,
|
112
114
|
});
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import classNames from 'classnames';
|
3
|
+
|
4
|
+
interface IPropsItem {
|
5
|
+
children?: React.ReactNode;
|
6
|
+
state?: 'default' | 'primary' | 'success' | 'warning' | 'alert' | 'highlight';
|
7
|
+
clickable?: boolean;
|
8
|
+
coloredBg?: boolean;
|
9
|
+
selected?: boolean;
|
10
|
+
disabled?: boolean;
|
11
|
+
hidden?: boolean;
|
12
|
+
onClick?(): void;
|
13
|
+
}
|
14
|
+
|
15
|
+
class CalendarWeekDayItem extends React.PureComponent<IPropsItem> {
|
16
|
+
|
17
|
+
render() {
|
18
|
+
let classes = classNames('calendar-week-day__item', {
|
19
|
+
'calendar-week-day__item--clickable': this.props.clickable === true,
|
20
|
+
'calendar-week-day__item--selected': this.props.selected,
|
21
|
+
'calendar-week-day__item--colored-bg': this.props.coloredBg,
|
22
|
+
'calendar-week-day__item--disabled': this.props.disabled,
|
23
|
+
'calendar-week-day__item--hidden': this.props.hidden,
|
24
|
+
[`calendar-week-day__item--${this.props.state}`]: this.props.state || this.props.state !== undefined,
|
25
|
+
});
|
26
|
+
return (
|
27
|
+
<div className={classes}>
|
28
|
+
{this.props.children}
|
29
|
+
</div>
|
30
|
+
);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
export {
|
35
|
+
CalendarWeekDayItem
|
36
|
+
};
|
@@ -44,7 +44,7 @@ export class RadioButtonGroup extends React.Component<IProps> {
|
|
44
44
|
let classes = classNames('sd-check-button__group', {
|
45
45
|
[`sd-check-button__group--${this.props.group?.align}`]: this.props.group?.align,
|
46
46
|
[`sd-check-button__group--start`]: !this.props.group?.grid && this.props.group?.align === undefined,
|
47
|
-
[`
|
47
|
+
[`sd-check-button__group--vertical`]: this.props.group?.orientation === 'vertical',
|
48
48
|
[`sd-check-button__group--grid`]: this.props.group?.grid,
|
49
49
|
[`sd-check-button__group--padded`]: this.props.group?.padded === true,
|
50
50
|
});
|
@@ -23,7 +23,14 @@ export class AvatarContentImage extends React.PureComponent<IPropsImageAvatar> {
|
|
23
23
|
className="sd-avatar-content sd-avatar-content--dummy-img"
|
24
24
|
title={tooltipText}
|
25
25
|
>
|
26
|
-
<svg
|
26
|
+
<svg
|
27
|
+
width="200"
|
28
|
+
height="200"
|
29
|
+
viewBox="0 0 200 200"
|
30
|
+
fill="none"
|
31
|
+
xmlns="http://www.w3.org/2000/svg"
|
32
|
+
style={{display: 'block', width: '100%', height: '100%'}}
|
33
|
+
>
|
27
34
|
<circle cx="100" cy="100" r="100" fill="white" fillOpacity="0"/>
|
28
35
|
{/* tslint:disable-next-line:max-line-length */}
|
29
36
|
<path fillRule="evenodd" clipRule="evenodd" d="M40 153V145.384C40 141.557 41.16 137.981 43.16 135C49.14 126.057 66.24 119.711 77.14 118C82.74 117.115 90.16 116.538 100 116.538C109.84 116.538 117.26 117.115 122.86 118C133.76 119.711 150.86 126.057 156.84 135C158.84 137.981 160 141.557 160 145.384V153C150 165 130 180 100 180C70 180 50 165 40 153ZM100 30C122.08 30 140 47.2307 140 68.4614C140 89.6922 122.08 106.923 100 106.923C77.92 106.923 60 89.6922 60 68.4614C60 47.2307 77.92 30 100 30Z" fill="var(--sd-colour-avatar-dummy)" fillOpacity="1"/>
|
package/app-typescript/index.ts
CHANGED
@@ -106,6 +106,7 @@ export { Spacer, SpacerBlock } from '@superdesk/common';
|
|
106
106
|
export { ResizeObserverComponent } from './components/ResizeObserverComponent';
|
107
107
|
export { DragHandleDots } from './components/DragHandleDots';
|
108
108
|
export { DragHandle } from './components/DragHandle';
|
109
|
+
export { CalendarWeekDayItem } from './components/Lists/CalendarWeekDayItem';
|
109
110
|
|
110
111
|
// declare non-typescript exports to prevent errors
|
111
112
|
export declare const ToggleBoxNext: any;
|
@@ -30,6 +30,15 @@ export default class BoxedListDoc extends React.Component {
|
|
30
30
|
<BoxedListItem type='highlight'>Highlight type, cras mattis consectetur purus sit amet fermentum.</BoxedListItem>
|
31
31
|
</BoxedList>
|
32
32
|
|
33
|
+
<p className="docs-page__paragraph">// with colored background (affects only success, warning, alert and highlight types)</p>
|
34
|
+
|
35
|
+
<BoxedList>
|
36
|
+
<BoxedListItem coloredBg type='success'>Succes, donec sed odio dui.</BoxedListItem>
|
37
|
+
<BoxedListItem coloredBg type='warning'>Warning, maecenas sed diam eget risus varius.</BoxedListItem>
|
38
|
+
<BoxedListItem coloredBg type='alert'>Alert. Nullam quis risus eget urna mollis ornare vel eu leo.</BoxedListItem>
|
39
|
+
<BoxedListItem coloredBg type='highlight'>Highlight type, cras mattis consectetur purus sit amet fermentum.</BoxedListItem>
|
40
|
+
</BoxedList>
|
41
|
+
|
33
42
|
<p className="docs-page__paragraph">// clickable, with media and actions</p>
|
34
43
|
|
35
44
|
<BoxedList>
|
@@ -200,6 +209,15 @@ export default class BoxedListDoc extends React.Component {
|
|
200
209
|
<BoxedListItem type='highlight'>Highlight type, cras mattis consectetur purus sit amet fermentum.</BoxedListItem>
|
201
210
|
</BoxedList>
|
202
211
|
|
212
|
+
// with colored background (affects only success, warning, alert and highlight types)</p>
|
213
|
+
|
214
|
+
<BoxedList>
|
215
|
+
<BoxedListItem coloredBg type='success'>Succes, donec sed odio dui.</BoxedListItem>
|
216
|
+
<BoxedListItem coloredBg type='warning'>Warning, maecenas sed diam eget risus varius.</BoxedListItem>
|
217
|
+
<BoxedListItem coloredBg type='alert'>Alert. Nullam quis risus eget urna mollis ornare vel eu leo.</BoxedListItem>
|
218
|
+
<BoxedListItem coloredBg type='highlight'>Highlight type, cras mattis consectetur purus sit amet fermentum.</BoxedListItem>
|
219
|
+
</BoxedList>
|
220
|
+
|
203
221
|
// clickable, with media and actions
|
204
222
|
|
205
223
|
<BoxedList>
|
@@ -350,12 +368,19 @@ export default class BoxedListDoc extends React.Component {
|
|
350
368
|
</PropsList>
|
351
369
|
<p className="docs-page__paragraph">BoxedListItem</p>
|
352
370
|
<PropsList>
|
371
|
+
<Prop name='density' isRequired={false} type='compact | comfortable | loose' default='comfortable' description='Changes the outside padding of the list item.'/>
|
372
|
+
<Prop name='type' isRequired={false} type='default | primary | success | warning | alert | highlight' default='/' description='Adds a clour coded border on the right, based on the selected type.'/>
|
353
373
|
<Prop name='clickable' isRequired={false} type='boolean' default='false' description='Adds hover effect and changes the cursor to poiter.'/>
|
354
374
|
<Prop name='selected' isRequired={false} type='boolean' default='false' description='Changes the state to selected and adds apropriate styling for it.'/>
|
375
|
+
<Prop name='unread' isRequired={false} type='boolean' default='false' description='Changes the state to unread and adds apropriate styling for it.'/>
|
376
|
+
<Prop name='alignVertical' isRequired={false} type='start | center' default='/' description='Changes the verticla alignment of the content inside list items.'/>
|
355
377
|
<Prop name='slideInActions' isRequired={false} type='boolean' default='false' description='If set to true, the action buttons will be hidden and slide in from the right on hover.'/>
|
356
|
-
<Prop name='
|
378
|
+
<Prop name='coloredBg' isRequired={false} type='boolean' default='false' description='Adds a colored background to the list item (affects only success, warning, alert and highlight types).'/>
|
379
|
+
<Prop name='onClick' isRequired={false} type='function' default='/' description='Callback fired when pressed (combine with clickable prop).'/>
|
380
|
+
<Prop name='media' isRequired={false} type='React.ReactNode' default='/' description='Adds a media element (icon, avatar, etc.) to the list item.'/>
|
381
|
+
<Prop name='footer' isRequired={false} type='React.ReactNode' default='/' description='Adds a footer to the list item.'/>
|
382
|
+
<Prop name='actions' isRequired={false} type='React.ReactNode' default='/' description='Adds a actions to the list item.'/>
|
357
383
|
</PropsList>
|
358
|
-
|
359
384
|
</section>
|
360
385
|
)
|
361
386
|
}
|
@@ -13,6 +13,9 @@ interface IState {
|
|
13
13
|
value6?: string;
|
14
14
|
value7?: string;
|
15
15
|
value8?: string;
|
16
|
+
value9?: string;
|
17
|
+
value10?: string;
|
18
|
+
value11?: string;
|
16
19
|
}
|
17
20
|
|
18
21
|
export default class RadioGroupDoc extends React.Component<{}, IState> {
|
@@ -28,6 +31,9 @@ export default class RadioGroupDoc extends React.Component<{}, IState> {
|
|
28
31
|
value6: undefined,
|
29
32
|
value7: undefined,
|
30
33
|
value8: undefined,
|
34
|
+
value9: undefined,
|
35
|
+
value10: undefined,
|
36
|
+
value11: undefined,
|
31
37
|
};
|
32
38
|
}
|
33
39
|
render() {
|
@@ -158,6 +164,16 @@ export default class RadioGroupDoc extends React.Component<{}, IState> {
|
|
158
164
|
{value:'test12', label:'Yeah, me too!', icon:'kanban-view'},
|
159
165
|
]} value={this.state.value4} onChange={(value) => this.setState(() => ({ value4: value }))} />
|
160
166
|
</div>
|
167
|
+
|
168
|
+
<p className="docs-page__paragraph docs-page__paragraph--topMarginL">// With icon & vertical</p>
|
169
|
+
<div className='form__group'style={{width: 240}}>
|
170
|
+
<RadioButtonGroup group={{orientation: 'vertical'}} options={[
|
171
|
+
{value:'test10', label:'Radio button with icon', icon:'list-view'},
|
172
|
+
{value:'test11', label:'I have an icon!', icon:'grid-view'},
|
173
|
+
{value:'test12', label:'Yeah, me too!', icon:'kanban-view'},
|
174
|
+
]} value={this.state.value4} onChange={(value) => this.setState(() => ({ value4: value }))} />
|
175
|
+
</div>
|
176
|
+
|
161
177
|
<p className="docs-page__paragraph docs-page__paragraph--topMarginL">// With icon only (text label is hidden but still accessible to screenreaders)</p>
|
162
178
|
<div className='form__group'>
|
163
179
|
<RadioButtonGroup options={[
|
@@ -185,14 +201,21 @@ export default class RadioGroupDoc extends React.Component<{}, IState> {
|
|
185
201
|
{value:'test9', label:'Button style disabled', disabled:true},
|
186
202
|
]} value={this.state.value3} onChange={(value) => this.setState(() => ({ value3: value }))} />
|
187
203
|
|
188
|
-
//
|
204
|
+
// With icon
|
189
205
|
<RadioButtonGroup options={[
|
190
206
|
{value:'test10', label:'Radio button with icon', icon:'list-view'},
|
191
207
|
{value:'test11', label:'I have an icon!', icon:'grid-view'},
|
192
208
|
{value:'test12', label:'Yeah, me too!', icon:'kanban-view'},
|
193
209
|
]} value={this.state.value4} onChange={(value) => this.setState(() => ({ value4: value }))} />
|
194
210
|
|
195
|
-
//
|
211
|
+
// With icon & vertical
|
212
|
+
<RadioButtonGroup group={{orientation: 'vertical'}} options={[
|
213
|
+
{value:'test10', label:'Radio button with icon', icon:'list-view'},
|
214
|
+
{value:'test11', label:'I have an icon!', icon:'grid-view'},
|
215
|
+
{value:'test12', label:'Yeah, me too!', icon:'kanban-view'},
|
216
|
+
]} value={this.state.value4} onChange={(value) => this.setState(() => ({ value4: value }))} />
|
217
|
+
|
218
|
+
// With icon only (text label is hidden but still accessible to screenreaders)
|
196
219
|
<RadioButtonGroup options={[
|
197
220
|
{value:'test10', label:'Radio button with icon', icon:'list-view', labelHidden: true},
|
198
221
|
{value:'test11', label:'I have an icon!', icon:'grid-view', labelHidden: true},
|
@@ -220,7 +243,7 @@ export default class RadioGroupDoc extends React.Component<{}, IState> {
|
|
220
243
|
</div>
|
221
244
|
<p className="docs-page__paragraph docs-page__paragraph--topMarginL">// Right</p>
|
222
245
|
<div className='form__row form__row--flex docs-page__test-helper-2'>
|
223
|
-
<RadioButtonGroup group={{align:'end'
|
246
|
+
<RadioButtonGroup group={{align:'end'}} value={this.state.value4} options={[
|
224
247
|
{value:'test304', label:'Option one'},
|
225
248
|
{value:'test305', label:'Option two'},
|
226
249
|
{value:'test306', label:'Option three'},
|