@guildofgleks/ui 21.4.3 → 21.5.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.
- package/AGENTS.md +277 -156
- package/CHANGELOG.md +265 -14
- package/README.md +56 -22
- package/TOKENS.md +44 -44
- package/fesm2022/guildofgleks-ui.mjs +2017 -386
- package/fesm2022/guildofgleks-ui.mjs.map +1 -1
- package/package.json +10 -10
- package/schematics/collection.json +9 -0
- package/schematics/ng-add/index.cjs +62 -0
- package/schematics/ng-add/schema.cjs +2 -0
- package/schematics/ng-add/schema.json +15 -0
- package/styles/button.css +112 -79
- package/styles/index.css +2 -0
- package/styles/menu.css +95 -0
- package/styles/theme.css +314 -239
- package/styles/utilities.css +212 -170
- package/types/guildofgleks-ui.d.ts +237 -141
- package/src/styles/button.css +0 -193
- package/src/styles/fonts.css +0 -16
- package/src/styles/index.css +0 -19
- package/src/styles/presets/one-dark.css +0 -48
- package/src/styles/presets/one-light.css +0 -47
- package/src/styles/presets/slate.css +0 -55
- package/src/styles/theme.css +0 -1693
- package/src/styles/typography.css +0 -15
- package/src/styles/utilities.css +0 -170
package/styles/utilities.css
CHANGED
|
@@ -1,170 +1,212 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
*
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
.gog-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Direction primitives, for the handful of properties CSS gives no logical form of:
|
|
3
|
+
* `transform-origin`, `translate`, `transform`. Everything else uses real logical
|
|
4
|
+
* properties (`inset-inline-start`, `padding-inline-end`, `text-align: start`, …) and needs
|
|
5
|
+
* none of this.
|
|
6
|
+
*
|
|
7
|
+
* --gog-inline-start-side / --gog-inline-end-side `left`/`right` keywords, swapped in RTL.
|
|
8
|
+
* For `transform-origin`.
|
|
9
|
+
* --gog-direction-sign `1` / `-1`. Multiply the X part of a
|
|
10
|
+
* translate by it when the element is
|
|
11
|
+
* placed with `inset-inline-start`.
|
|
12
|
+
*
|
|
13
|
+
* Declared on `:root` and flipped by `[dir='rtl']`, so a subtree can be RTL on its own — an
|
|
14
|
+
* RTL panel inside an LTR page follows the nearest `dir`, like every other RTL behaviour.
|
|
15
|
+
*/
|
|
16
|
+
:root {
|
|
17
|
+
--gog-inline-start-side: left;
|
|
18
|
+
--gog-inline-end-side: right;
|
|
19
|
+
--gog-direction-sign: 1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[dir='rtl'] {
|
|
23
|
+
--gog-inline-start-side: right;
|
|
24
|
+
--gog-inline-end-side: left;
|
|
25
|
+
--gog-direction-sign: -1;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.gog-inline-center {
|
|
29
|
+
display: inline-flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.gog-flex-center {
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
justify-content: center;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
* Scopes reflow to this subtree. Never put it on an element that has to paint something
|
|
42
|
+
* outside its own box — `contain: layout` creates a stacking context, so a popup inside
|
|
43
|
+
* it can no longer stack above the rest of the page no matter its z-index. That rules it
|
|
44
|
+
* out for gog-select and gog-multiselect.
|
|
45
|
+
*/
|
|
46
|
+
.gog-contained-layout {
|
|
47
|
+
contain: layout style;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.gog-cursor-pointer {
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.gog-cursor-wait {
|
|
55
|
+
cursor: wait;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.gog-cursor-not-allowed {
|
|
59
|
+
cursor: not-allowed;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/*
|
|
63
|
+
* Present to assistive tech, invisible on screen. The clip-path/1px recipe rather than
|
|
64
|
+
* `display: none` or `visibility: hidden`, both of which remove the text from the
|
|
65
|
+
* accessibility tree along with the pixels.
|
|
66
|
+
*/
|
|
67
|
+
.gog-visually-hidden {
|
|
68
|
+
position: absolute;
|
|
69
|
+
width: 1px;
|
|
70
|
+
height: 1px;
|
|
71
|
+
margin: -1px;
|
|
72
|
+
padding: 0;
|
|
73
|
+
border: 0;
|
|
74
|
+
overflow: hidden;
|
|
75
|
+
clip-path: inset(50%);
|
|
76
|
+
white-space: nowrap;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* `gogBadge`'s classes, global for the same reason as `gog-collapsible`'s below: the
|
|
81
|
+
* directive appends its badge into a *consumer's* element, which is light DOM belonging to
|
|
82
|
+
* that consumer's view, so a scoped stylesheet could never reach it.
|
|
83
|
+
*/
|
|
84
|
+
.gog-badge-host {
|
|
85
|
+
/* The badge is positioned against this element, so it has to be a containing block.
|
|
86
|
+
Harmless on an already-relative host; a host that is itself absolutely positioned
|
|
87
|
+
should set its own position after this class, which ordinary specificity allows. */
|
|
88
|
+
position: relative;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.gog-badge {
|
|
92
|
+
position: absolute;
|
|
93
|
+
z-index: var(--gog-badge-z);
|
|
94
|
+
display: inline-flex;
|
|
95
|
+
align-items: center;
|
|
96
|
+
justify-content: center;
|
|
97
|
+
box-sizing: border-box;
|
|
98
|
+
min-width: var(--gog-badge-size);
|
|
99
|
+
height: var(--gog-badge-size);
|
|
100
|
+
padding-inline: var(--gog-badge-padding-inline);
|
|
101
|
+
border: var(--gog-badge-border-width) var(--gog-badge-border-style) var(--gog-badge-border-color);
|
|
102
|
+
border-radius: var(--gog-badge-radius);
|
|
103
|
+
background-color: var(--gog-badge-bg, var(--gog-badge-variant-bg, var(--gog-badge-danger-bg)));
|
|
104
|
+
color: var(--gog-badge-color, var(--gog-badge-variant-color, var(--gog-badge-danger-color)));
|
|
105
|
+
font-family: var(--gog-badge-font-family);
|
|
106
|
+
font-size: var(--gog-badge-font-size);
|
|
107
|
+
font-weight: var(--gog-badge-font-weight);
|
|
108
|
+
line-height: var(--gog-badge-line-height);
|
|
109
|
+
pointer-events: none;
|
|
110
|
+
white-space: nowrap;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* A dot carries no text, so it collapses to a circle and drops its padding. */
|
|
114
|
+
.gog-badge--dot {
|
|
115
|
+
min-width: var(--gog-badge-dot-size);
|
|
116
|
+
width: var(--gog-badge-dot-size);
|
|
117
|
+
height: var(--gog-badge-dot-size);
|
|
118
|
+
padding-inline: 0;
|
|
119
|
+
border-radius: 50%;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* Logical insets rather than a translate, so the corners follow the writing direction. */
|
|
123
|
+
.gog-badge--top-end {
|
|
124
|
+
top: calc(-1 * var(--gog-badge-offset));
|
|
125
|
+
inset-inline-end: calc(-1 * var(--gog-badge-offset));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.gog-badge--top-start {
|
|
129
|
+
top: calc(-1 * var(--gog-badge-offset));
|
|
130
|
+
inset-inline-start: calc(-1 * var(--gog-badge-offset));
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.gog-badge--bottom-end {
|
|
134
|
+
bottom: calc(-1 * var(--gog-badge-offset));
|
|
135
|
+
inset-inline-end: calc(-1 * var(--gog-badge-offset));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.gog-badge--bottom-start {
|
|
139
|
+
bottom: calc(-1 * var(--gog-badge-offset));
|
|
140
|
+
inset-inline-start: calc(-1 * var(--gog-badge-offset));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.gog-badge--success {
|
|
144
|
+
--gog-badge-variant-bg: var(--gog-badge-success-bg);
|
|
145
|
+
--gog-badge-variant-color: var(--gog-badge-success-color);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.gog-badge--danger {
|
|
149
|
+
--gog-badge-variant-bg: var(--gog-badge-danger-bg);
|
|
150
|
+
--gog-badge-variant-color: var(--gog-badge-danger-color);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.gog-badge--warning {
|
|
154
|
+
--gog-badge-variant-bg: var(--gog-badge-warning-bg);
|
|
155
|
+
--gog-badge-variant-color: var(--gog-badge-warning-color);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.gog-badge--info {
|
|
159
|
+
--gog-badge-variant-bg: var(--gog-badge-info-bg);
|
|
160
|
+
--gog-badge-variant-color: var(--gog-badge-info-color);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/*
|
|
164
|
+
* `gog-collapsible`'s trigger/content classes, global rather than component-scoped: both
|
|
165
|
+
* are applied via `gogCollapsibleTrigger`/`gogCollapsibleContent` directives to elements a
|
|
166
|
+
* *consumer* projects into `<gog-collapsible>` — light DOM that belongs to the consumer's
|
|
167
|
+
* own view, not `gog-collapsible`'s, so a scoped stylesheet on the component itself would
|
|
168
|
+
* never reach it.
|
|
169
|
+
*/
|
|
170
|
+
.gog-collapsible__trigger {
|
|
171
|
+
cursor: pointer;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.gog-collapsible__trigger[aria-disabled='true'] {
|
|
175
|
+
cursor: not-allowed;
|
|
176
|
+
opacity: var(--gog-collapsible-disabled-opacity);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.gog-collapsible__content {
|
|
180
|
+
/*
|
|
181
|
+
* Lets the `max-height` transition below run to `max-content` — the default of
|
|
182
|
+
* `--gog-collapsible-max-height` — instead of refusing to animate to an intrinsic keyword.
|
|
183
|
+
* That default is what keeps an open panel from clipping its content at an arbitrary
|
|
184
|
+
* number; this property is only what makes the same value animate.
|
|
185
|
+
*
|
|
186
|
+
* Declared here rather than on `:root`: the property is inherited, and a component library
|
|
187
|
+
* has no business switching keyword interpolation on for a consumer's whole document. It
|
|
188
|
+
* does inherit into this panel's own descendants, which is harmless — it changes nothing
|
|
189
|
+
* for an element that is not animating to or from an intrinsic size.
|
|
190
|
+
*
|
|
191
|
+
* Unsupported browsers ignore it and the panel snaps open, exactly as it does when a
|
|
192
|
+
* consumer sets `--gog-collapsible-max-height: none`.
|
|
193
|
+
*/
|
|
194
|
+
interpolate-size: allow-keywords;
|
|
195
|
+
max-height: 0;
|
|
196
|
+
opacity: 0;
|
|
197
|
+
overflow: hidden;
|
|
198
|
+
transition:
|
|
199
|
+
max-height var(--gog-collapsible-transition-duration) var(--gog-easing),
|
|
200
|
+
opacity var(--gog-collapsible-transition-duration) var(--gog-easing);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.gog-collapsible__content--open {
|
|
204
|
+
max-height: var(--gog-collapsible-max-height);
|
|
205
|
+
opacity: 1;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
@media (prefers-reduced-motion: reduce) {
|
|
209
|
+
.gog-collapsible__content {
|
|
210
|
+
transition: none;
|
|
211
|
+
}
|
|
212
|
+
}
|