@sia-ui/cli 0.7.1 → 0.8.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/CHANGELOG.md +6 -0
- package/README.md +6 -0
- package/dist/registry/package/components/AccountMenu/index.tsx +107 -0
- package/dist/registry/package/components/AccountMenu/styles.css +30 -0
- package/dist/registry/package/components/ActivityLog/index.tsx +96 -25
- package/dist/registry/package/components/AmountDisplay/index.tsx +5 -2
- package/dist/registry/package/components/AppShell/index.tsx +44 -8
- package/dist/registry/package/components/AppShell/tab-bar.tsx +6 -3
- package/dist/registry/package/components/AsyncState/index.tsx +29 -7
- package/dist/registry/package/components/AuditMeta/index.tsx +12 -2
- package/dist/registry/package/components/Avatar/index.tsx +4 -9
- package/dist/registry/package/components/Badge/index.tsx +3 -2
- package/dist/registry/package/components/Badge/styles.css +4 -4
- package/dist/registry/package/components/BrandIcon/index.tsx +100 -0
- package/dist/registry/package/components/BrandIcon/styles.css +31 -0
- package/dist/registry/package/components/Breadcrumb/index.tsx +14 -2
- package/dist/registry/package/components/Button/index.tsx +3 -2
- package/dist/registry/package/components/Button/styles.css +4 -4
- package/dist/registry/package/components/Calendar/index.tsx +7 -3
- package/dist/registry/package/components/Card/index.tsx +14 -4
- package/dist/registry/package/components/ColorModeToggle/index.tsx +44 -0
- package/dist/registry/package/components/CommandPalette/index.tsx +3 -2
- package/dist/registry/package/components/ConfirmDialog/index.tsx +24 -4
- package/dist/registry/package/components/CrudPage/dialogs.tsx +53 -8
- package/dist/registry/package/components/CrudPage/index.tsx +99 -25
- package/dist/registry/package/components/CurrencyInput/index.tsx +5 -2
- package/dist/registry/package/components/DataTable/index.tsx +53 -18
- package/dist/registry/package/components/DataTable/row-actions.tsx +20 -8
- package/dist/registry/package/components/DataTable/types.ts +100 -0
- package/dist/registry/package/components/DatePicker/index.tsx +14 -6
- package/dist/registry/package/components/DateRangeFilter/index.tsx +12 -3
- package/dist/registry/package/components/DateRangePicker/index.tsx +13 -4
- package/dist/registry/package/components/DateTimePicker/index.tsx +3 -1
- package/dist/registry/package/components/Drawer/index.tsx +16 -6
- package/dist/registry/package/components/DropdownMenu/index.tsx +37 -4
- package/dist/registry/package/components/DropdownMenu/styles.css +10 -0
- package/dist/registry/package/components/DurationDisplay/index.tsx +20 -2
- package/dist/registry/package/components/EntityMeta/index.tsx +14 -9
- package/dist/registry/package/components/ErrorState/index.tsx +9 -3
- package/dist/registry/package/components/ErrorState/styles.css +1 -1
- package/dist/registry/package/components/EventCalendar/index.tsx +657 -9
- package/dist/registry/package/components/EventCalendar/styles.css +360 -8
- package/dist/registry/package/components/EventManager/index.tsx +456 -0
- package/dist/registry/package/components/EventManager/styles.css +12 -0
- package/dist/registry/package/components/Field/index.tsx +74 -27
- package/dist/registry/package/components/FileUpload/index.tsx +13 -3
- package/dist/registry/package/components/FiltersBar/index.tsx +8 -3
- package/dist/registry/package/components/FiltersBar/styles.css +7 -0
- package/dist/registry/package/components/Form/index.tsx +118 -14
- package/dist/registry/package/components/Form/styles.css +3 -0
- package/dist/registry/package/components/HoverCard/index.tsx +8 -4
- package/dist/registry/package/components/Icons/index.tsx +18 -0
- package/dist/registry/package/components/ImageUpload/index.tsx +17 -2
- package/dist/registry/package/components/Input/index.tsx +3 -2
- package/dist/registry/package/components/JobProgress/index.tsx +289 -0
- package/dist/registry/package/components/JobProgress/styles.css +58 -0
- package/dist/registry/package/components/JsonEditor/index.tsx +18 -3
- package/dist/registry/package/components/JsonView/index.tsx +282 -0
- package/dist/registry/package/components/JsonView/styles.css +99 -0
- package/dist/registry/package/components/LiveIndicator/index.tsx +43 -0
- package/dist/registry/package/components/LiveIndicator/styles.css +41 -0
- package/dist/registry/package/components/LogStream/index.tsx +545 -0
- package/dist/registry/package/components/LogStream/styles.css +152 -0
- package/dist/registry/package/components/MarkdownEditor/index.tsx +14 -3
- package/dist/registry/package/components/Modal/index.tsx +7 -1
- package/dist/registry/package/components/MultiSelect/index.tsx +14 -3
- package/dist/registry/package/components/OtpInput/index.tsx +2 -1
- package/dist/registry/package/components/Pagination/index.tsx +13 -2
- package/dist/registry/package/components/PasswordInput/index.tsx +23 -9
- package/dist/registry/package/components/PhoneInput/index.tsx +66 -30
- package/dist/registry/package/components/Popover/index.tsx +19 -4
- package/dist/registry/package/components/QrCode/index.tsx +3 -2
- package/dist/registry/package/components/RadioGroup/styles.css +3 -0
- package/dist/registry/package/components/Rating/index.tsx +6 -2
- package/dist/registry/package/components/ReferenceSelect/index.tsx +8 -1
- package/dist/registry/package/components/RelativeTime/index.tsx +5 -1
- package/dist/registry/package/components/RequireSession/index.tsx +10 -4
- package/dist/registry/package/components/Resource/index.tsx +70 -17
- package/dist/registry/package/components/RichTextEditor/index.tsx +2 -1
- package/dist/registry/package/components/SearchInput/index.tsx +4 -1
- package/dist/registry/package/components/SecretFields/index.tsx +70 -17
- package/dist/registry/package/components/Select/index.tsx +34 -12
- package/dist/registry/package/components/Sidebar/index.tsx +22 -6
- package/dist/registry/package/components/Slider/index.tsx +26 -5
- package/dist/registry/package/components/Spinner/index.tsx +3 -2
- package/dist/registry/package/components/StatCard/index.tsx +11 -3
- package/dist/registry/package/components/Statistic/index.tsx +5 -1
- package/dist/registry/package/components/Steps/styles.css +2 -2
- package/dist/registry/package/components/TagsInput/index.tsx +2 -1
- package/dist/registry/package/components/TimePicker/index.tsx +10 -4
- package/dist/registry/package/components/Toast/index.tsx +20 -5
- package/dist/registry/package/components/Tour/index.tsx +2 -1
- package/dist/registry/package/components/Transfer/index.tsx +2 -1
- package/dist/registry/package/components/Tree/index.tsx +3 -2
- package/dist/registry/package/components/TreeSelect/index.tsx +17 -4
- package/dist/registry/package/components/UnsavedChangesGuard/index.tsx +34 -3
- package/dist/registry/registry.json +257 -75
- package/dist/registry/styles/sia-ui.css +23 -4
- package/package.json +5 -5
|
@@ -1,8 +1,360 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
.
|
|
5
|
-
.sia-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/* ── Le calendrier ────────────────────────────────────────────────────────
|
|
2
|
+
Chaque ton pose deux variables — sa couleur, et le texte lisible dessus —
|
|
3
|
+
que les trois habillages d'événement combinent. Aucune couleur n'est écrite
|
|
4
|
+
deux fois. */
|
|
5
|
+
.sia-ec {
|
|
6
|
+
--ec-cell: 7.25rem;
|
|
7
|
+
--ec-hour: 3rem;
|
|
8
|
+
--ec-gutter: 3.5rem;
|
|
9
|
+
--ec-line: var(--sia-border);
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: .75rem;
|
|
13
|
+
width: 100%;
|
|
14
|
+
min-width: 0;
|
|
15
|
+
color: var(--sia-foreground);
|
|
16
|
+
font-size: .875rem;
|
|
17
|
+
}
|
|
18
|
+
.sia-ec--dense { --ec-cell: 5.5rem; --ec-hour: 2.25rem; font-size: .8125rem; }
|
|
19
|
+
|
|
20
|
+
/* La part du ton dans un fond doux. Sur fond sombre, 14 % donnait un ruban
|
|
21
|
+
presque noir : il en faut davantage pour qu'il se lise comme une couleur. */
|
|
22
|
+
.sia-ec { --ec-soft: 14%; --ec-soft-text: 75%; }
|
|
23
|
+
[data-sia-color-mode="dark"] .sia-ec { --ec-soft: 26%; --ec-soft-text: 55%; }
|
|
24
|
+
@media (prefers-color-scheme: dark) {
|
|
25
|
+
:root:not([data-sia-color-mode="light"]) .sia-ec { --ec-soft: 26%; --ec-soft-text: 55%; }
|
|
26
|
+
}
|
|
27
|
+
.sia-ec--loading { opacity: .6; transition: opacity var(--sia-duration-base) var(--sia-easing-standard); }
|
|
28
|
+
|
|
29
|
+
/* ── Barre ────────────────────────────────────────────────────────────── */
|
|
30
|
+
.sia-ec__toolbar {
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-wrap: wrap;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: space-between;
|
|
35
|
+
gap: .75rem 1rem;
|
|
36
|
+
}
|
|
37
|
+
.sia-ec__nav, .sia-ec__tools { display: flex; align-items: center; gap: .35rem; }
|
|
38
|
+
.sia-ec__tools { flex-wrap: wrap; gap: .5rem; }
|
|
39
|
+
.sia-ec__period {
|
|
40
|
+
margin: 0 0 0 .5rem;
|
|
41
|
+
font-size: 1.125rem;
|
|
42
|
+
font-weight: 650;
|
|
43
|
+
letter-spacing: -.01em;
|
|
44
|
+
white-space: nowrap;
|
|
45
|
+
}
|
|
46
|
+
/* Le sélecteur de vue est un `RadioGroup` en boutons : il apporte son
|
|
47
|
+
dessin ; seul le cadre natif du fieldset est retiré. */
|
|
48
|
+
.sia-ec__views { margin: 0; padding: 0; border: 0; min-width: 0; }
|
|
49
|
+
.sia-ec__views .sia-radio-button { min-height: 2rem; font-size: .8125rem; }
|
|
50
|
+
|
|
51
|
+
/* ── Tons ─────────────────────────────────────────────────────────────── */
|
|
52
|
+
.sia-ec__event--primary, .sia-ec__dot--primary { --ec-tone: var(--sia-primary); --ec-on: var(--sia-primary-foreground); }
|
|
53
|
+
.sia-ec__event--neutral, .sia-ec__dot--neutral { --ec-tone: var(--sia-muted); --ec-on: var(--sia-background); }
|
|
54
|
+
.sia-ec__event--info, .sia-ec__dot--info { --ec-tone: var(--sia-info); --ec-on: var(--sia-info-foreground); }
|
|
55
|
+
.sia-ec__event--success, .sia-ec__dot--success { --ec-tone: var(--sia-success); --ec-on: var(--sia-success-foreground); }
|
|
56
|
+
.sia-ec__event--warning, .sia-ec__dot--warning { --ec-tone: var(--sia-warning); --ec-on: var(--sia-warning-foreground); }
|
|
57
|
+
.sia-ec__event--danger, .sia-ec__dot--danger { --ec-tone: var(--sia-danger); --ec-on: var(--sia-danger-foreground); }
|
|
58
|
+
.sia-ec__event--secondary, .sia-ec__dot--secondary { --ec-tone: var(--sia-secondary); --ec-on: var(--sia-secondary-foreground); }
|
|
59
|
+
|
|
60
|
+
/* ── Un événement ─────────────────────────────────────────────────────── */
|
|
61
|
+
.sia-ec__event, .sia-ec__slot {
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
gap: .35rem;
|
|
65
|
+
width: 100%;
|
|
66
|
+
min-width: 0;
|
|
67
|
+
padding: .15rem .4rem;
|
|
68
|
+
border: 1px solid transparent;
|
|
69
|
+
border-radius: calc(var(--sia-radius) * .75);
|
|
70
|
+
color: var(--sia-foreground);
|
|
71
|
+
background: transparent;
|
|
72
|
+
font: inherit;
|
|
73
|
+
font-size: .75rem;
|
|
74
|
+
line-height: 1.35;
|
|
75
|
+
text-align: left;
|
|
76
|
+
cursor: pointer;
|
|
77
|
+
transition:
|
|
78
|
+
background-color var(--sia-duration-fast) var(--sia-easing-standard),
|
|
79
|
+
filter var(--sia-duration-fast) var(--sia-easing-standard);
|
|
80
|
+
}
|
|
81
|
+
.sia-ec__event:focus-visible, .sia-ec__slot:focus-visible, .sia-ec__more:focus-visible {
|
|
82
|
+
outline: 2px solid var(--sia-primary);
|
|
83
|
+
outline-offset: 1px;
|
|
84
|
+
}
|
|
85
|
+
.sia-ec__time { flex: none; color: var(--sia-muted); font-variant-numeric: tabular-nums; }
|
|
86
|
+
.sia-ec__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 550; }
|
|
87
|
+
.sia-ec__dot { flex: none; width: .45rem; height: .45rem; border-radius: 9999px; background: var(--ec-tone); }
|
|
88
|
+
|
|
89
|
+
/* Un rendez-vous : un point de couleur, l'heure, le titre — sur fond neutre. */
|
|
90
|
+
.sia-ec__event--timed:hover { background: color-mix(in srgb, var(--ec-tone) 10%, transparent); }
|
|
91
|
+
|
|
92
|
+
/* Une journée entière, ou plusieurs : une barre du ton. */
|
|
93
|
+
.sia-ec--events-soft .sia-ec__event--bar,
|
|
94
|
+
.sia-ec--events-soft .sia-ec__slot {
|
|
95
|
+
color: color-mix(in srgb, var(--ec-tone) var(--ec-soft-text), var(--sia-foreground));
|
|
96
|
+
background: color-mix(in srgb, var(--ec-tone) var(--ec-soft), var(--sia-background));
|
|
97
|
+
border-left: 3px solid var(--ec-tone);
|
|
98
|
+
}
|
|
99
|
+
.sia-ec--events-solid .sia-ec__event--bar,
|
|
100
|
+
.sia-ec--events-solid .sia-ec__slot {
|
|
101
|
+
color: var(--ec-on);
|
|
102
|
+
background: var(--ec-tone);
|
|
103
|
+
}
|
|
104
|
+
.sia-ec--events-solid .sia-ec__event--bar .sia-ec__time,
|
|
105
|
+
.sia-ec--events-solid .sia-ec__slot .sia-ec__slot-time { color: inherit; opacity: .85; }
|
|
106
|
+
.sia-ec--events-outline .sia-ec__event--bar,
|
|
107
|
+
.sia-ec--events-outline .sia-ec__slot {
|
|
108
|
+
color: color-mix(in srgb, var(--ec-tone) 80%, var(--sia-foreground));
|
|
109
|
+
background: var(--sia-background);
|
|
110
|
+
border-color: color-mix(in srgb, var(--ec-tone) 55%, transparent);
|
|
111
|
+
}
|
|
112
|
+
.sia-ec__event--bar:hover, .sia-ec__slot:hover { filter: brightness(.96); }
|
|
113
|
+
|
|
114
|
+
/* Une barre qui déborde sur la veille ou le lendemain touche le bord de la
|
|
115
|
+
case : elle se lit comme un seul ruban d'un jour à l'autre. */
|
|
116
|
+
.sia-ec__event--continues-before { margin-left: -.35rem; width: calc(100% + .35rem); border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-width: 0; }
|
|
117
|
+
.sia-ec__event--continues-after { margin-right: -.35rem; width: calc(100% + .35rem); border-top-right-radius: 0; border-bottom-right-radius: 0; }
|
|
118
|
+
.sia-ec__event--continues-before.sia-ec__event--continues-after { width: calc(100% + .7rem); }
|
|
119
|
+
|
|
120
|
+
/* ── Mois ─────────────────────────────────────────────────────────────── */
|
|
121
|
+
.sia-ec__month {
|
|
122
|
+
display: grid;
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
border: 1px solid var(--ec-line);
|
|
125
|
+
border-radius: calc(var(--sia-radius) + 4px);
|
|
126
|
+
background: var(--sia-background);
|
|
127
|
+
}
|
|
128
|
+
.sia-ec__weekdays, .sia-ec__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
|
|
129
|
+
.sia-ec__weekday {
|
|
130
|
+
padding: .5rem .6rem;
|
|
131
|
+
border-bottom: 1px solid var(--ec-line);
|
|
132
|
+
color: var(--sia-muted);
|
|
133
|
+
font-size: .72rem;
|
|
134
|
+
font-weight: 650;
|
|
135
|
+
letter-spacing: .03em;
|
|
136
|
+
text-transform: uppercase;
|
|
137
|
+
}
|
|
138
|
+
.sia-ec__day {
|
|
139
|
+
display: flex;
|
|
140
|
+
flex-direction: column;
|
|
141
|
+
gap: .2rem;
|
|
142
|
+
min-width: 0;
|
|
143
|
+
min-height: var(--ec-cell);
|
|
144
|
+
padding: .35rem .35rem .45rem;
|
|
145
|
+
border-right: 1px solid var(--ec-line);
|
|
146
|
+
border-bottom: 1px solid var(--ec-line);
|
|
147
|
+
cursor: pointer;
|
|
148
|
+
transition: background-color var(--sia-duration-fast) var(--sia-easing-standard);
|
|
149
|
+
}
|
|
150
|
+
.sia-ec__week > .sia-ec__day:last-child { border-right: 0; }
|
|
151
|
+
.sia-ec__week:last-child > .sia-ec__day { border-bottom: 0; }
|
|
152
|
+
.sia-ec__day:hover { background: color-mix(in srgb, var(--sia-primary) 4%, transparent); }
|
|
153
|
+
.sia-ec__day:focus-visible { outline: 2px solid var(--sia-primary); outline-offset: -2px; }
|
|
154
|
+
.sia-ec__day--weekend { background: color-mix(in srgb, var(--sia-surface) 55%, transparent); }
|
|
155
|
+
.sia-ec__day--outside .sia-ec__day-number { color: color-mix(in srgb, var(--sia-muted) 60%, transparent); }
|
|
156
|
+
/* Estompés, pas effacés : un événement du mois voisin reste un événement. */
|
|
157
|
+
.sia-ec__day--outside .sia-ec__events { opacity: .72; }
|
|
158
|
+
.sia-ec__day-number {
|
|
159
|
+
display: inline-grid;
|
|
160
|
+
place-items: center;
|
|
161
|
+
align-self: flex-start;
|
|
162
|
+
min-width: 1.6rem;
|
|
163
|
+
height: 1.6rem;
|
|
164
|
+
padding: 0 .3rem;
|
|
165
|
+
border-radius: 9999px;
|
|
166
|
+
font-size: .8rem;
|
|
167
|
+
font-weight: 600;
|
|
168
|
+
font-variant-numeric: tabular-nums;
|
|
169
|
+
}
|
|
170
|
+
.sia-ec__day--today .sia-ec__day-number { color: var(--sia-primary-foreground); background: var(--sia-primary); }
|
|
171
|
+
.sia-ec__events { display: grid; gap: 2px; min-width: 0; }
|
|
172
|
+
/* « +N autres » : un `Button` fantôme, ramené à la hauteur d'une ligne
|
|
173
|
+
d'événement pour ne pas agrandir la case qui déborde déjà. */
|
|
174
|
+
.sia-ec__more.sia-button {
|
|
175
|
+
justify-self: start;
|
|
176
|
+
min-height: 1.35rem;
|
|
177
|
+
padding: 0 .4rem;
|
|
178
|
+
color: var(--sia-muted);
|
|
179
|
+
font-size: .72rem;
|
|
180
|
+
font-weight: 600;
|
|
181
|
+
}
|
|
182
|
+
.sia-ec__more.sia-button:hover { color: var(--sia-foreground); }
|
|
183
|
+
|
|
184
|
+
/* Variante minimale : aucune ligne intérieure, les jours se lisent à leur
|
|
185
|
+
numéro ; la case survolée se dessine seule. */
|
|
186
|
+
.sia-ec--minimal .sia-ec__month { border-color: transparent; }
|
|
187
|
+
.sia-ec--minimal .sia-ec__day { border-color: transparent; border-radius: calc(var(--sia-radius) + 2px); }
|
|
188
|
+
.sia-ec--minimal .sia-ec__day--weekend { background: transparent; }
|
|
189
|
+
.sia-ec--minimal .sia-ec__weekday { border-bottom-color: transparent; }
|
|
190
|
+
|
|
191
|
+
/* Variante douce : des cases teintées, séparées par des blancs. */
|
|
192
|
+
.sia-ec--soft .sia-ec__month { gap: 4px; border: 0; background: transparent; }
|
|
193
|
+
.sia-ec--soft .sia-ec__week { gap: 4px; }
|
|
194
|
+
.sia-ec--soft .sia-ec__weekday { border: 0; }
|
|
195
|
+
.sia-ec--soft .sia-ec__day { border: 0; border-radius: calc(var(--sia-radius) + 2px); background: var(--sia-surface); }
|
|
196
|
+
.sia-ec--soft .sia-ec__day:hover { background: color-mix(in srgb, var(--sia-primary) 7%, var(--sia-surface)); }
|
|
197
|
+
.sia-ec--soft .sia-ec__day--outside { background: color-mix(in srgb, var(--sia-surface) 45%, transparent); }
|
|
198
|
+
|
|
199
|
+
/* ── Grille horaire : semaine et jour ─────────────────────────────────── */
|
|
200
|
+
.sia-ec__timegrid {
|
|
201
|
+
display: grid;
|
|
202
|
+
overflow: hidden;
|
|
203
|
+
border: 1px solid var(--ec-line);
|
|
204
|
+
border-radius: calc(var(--sia-radius) + 4px);
|
|
205
|
+
background: var(--sia-background);
|
|
206
|
+
}
|
|
207
|
+
.sia-ec__tg-head, .sia-ec__tg-allday, .sia-ec__tg-body {
|
|
208
|
+
display: grid;
|
|
209
|
+
grid-template-columns: var(--ec-gutter) repeat(var(--sia-ec-days, 7), minmax(0, 1fr));
|
|
210
|
+
}
|
|
211
|
+
.sia-ec__tg-head { border-bottom: 1px solid var(--ec-line); }
|
|
212
|
+
.sia-ec__tg-gutter {
|
|
213
|
+
display: flex;
|
|
214
|
+
align-items: center;
|
|
215
|
+
justify-content: flex-end;
|
|
216
|
+
padding: 0 .5rem;
|
|
217
|
+
color: var(--sia-muted);
|
|
218
|
+
font-size: .68rem;
|
|
219
|
+
}
|
|
220
|
+
.sia-ec__tg-dayhead {
|
|
221
|
+
display: flex;
|
|
222
|
+
flex-direction: column;
|
|
223
|
+
align-items: center;
|
|
224
|
+
gap: .1rem;
|
|
225
|
+
padding: .45rem 0;
|
|
226
|
+
border: 0;
|
|
227
|
+
border-left: 1px solid var(--ec-line);
|
|
228
|
+
color: var(--sia-muted);
|
|
229
|
+
background: transparent;
|
|
230
|
+
font: inherit;
|
|
231
|
+
cursor: pointer;
|
|
232
|
+
}
|
|
233
|
+
.sia-ec__tg-dayhead:hover { background: var(--sia-surface); }
|
|
234
|
+
.sia-ec__tg-weekday { font-size: .72rem; font-weight: 650; text-transform: uppercase; letter-spacing: .03em; }
|
|
235
|
+
.sia-ec__tg-daynum {
|
|
236
|
+
display: inline-grid;
|
|
237
|
+
place-items: center;
|
|
238
|
+
min-width: 1.9rem;
|
|
239
|
+
height: 1.9rem;
|
|
240
|
+
border-radius: 9999px;
|
|
241
|
+
color: var(--sia-foreground);
|
|
242
|
+
font-size: 1rem;
|
|
243
|
+
font-weight: 650;
|
|
244
|
+
}
|
|
245
|
+
.sia-ec__tg-dayhead--today .sia-ec__tg-weekday { color: var(--sia-primary); }
|
|
246
|
+
.sia-ec__tg-dayhead--today .sia-ec__tg-daynum { color: var(--sia-primary-foreground); background: var(--sia-primary); }
|
|
247
|
+
|
|
248
|
+
.sia-ec__tg-allday { border-bottom: 1px solid var(--ec-line); }
|
|
249
|
+
.sia-ec__tg-allday-cell {
|
|
250
|
+
display: grid;
|
|
251
|
+
align-content: start;
|
|
252
|
+
gap: 2px;
|
|
253
|
+
min-height: 1.9rem;
|
|
254
|
+
padding: 3px;
|
|
255
|
+
border-left: 1px solid var(--ec-line);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.sia-ec__tg-body {
|
|
259
|
+
position: relative;
|
|
260
|
+
max-height: calc(var(--ec-hour) * 11);
|
|
261
|
+
overflow-y: auto;
|
|
262
|
+
overscroll-behavior: contain;
|
|
263
|
+
}
|
|
264
|
+
.sia-ec__tg-hours { display: grid; grid-auto-rows: var(--ec-hour); }
|
|
265
|
+
.sia-ec__hour {
|
|
266
|
+
position: relative;
|
|
267
|
+
top: -.5em;
|
|
268
|
+
padding-right: .5rem;
|
|
269
|
+
color: var(--sia-muted);
|
|
270
|
+
font-size: .68rem;
|
|
271
|
+
font-variant-numeric: tabular-nums;
|
|
272
|
+
text-align: right;
|
|
273
|
+
}
|
|
274
|
+
/* Une colonne, ses lignes d'heure et de demi-heure dessinées par le fond :
|
|
275
|
+
quarante-huit bordures de moins par jour. */
|
|
276
|
+
.sia-ec__tg-col {
|
|
277
|
+
position: relative;
|
|
278
|
+
height: calc(var(--ec-hour) * 24);
|
|
279
|
+
border-left: 1px solid var(--ec-line);
|
|
280
|
+
background-image:
|
|
281
|
+
linear-gradient(to bottom, var(--ec-line) 1px, transparent 1px),
|
|
282
|
+
linear-gradient(to bottom, color-mix(in srgb, var(--ec-line) 45%, transparent) 1px, transparent 1px);
|
|
283
|
+
background-size: 100% var(--ec-hour), 100% var(--ec-hour);
|
|
284
|
+
background-position: 0 0, 0 calc(var(--ec-hour) / 2);
|
|
285
|
+
cursor: cell;
|
|
286
|
+
}
|
|
287
|
+
.sia-ec__tg-col--today { background-color: color-mix(in srgb, var(--sia-primary) 3%, transparent); }
|
|
288
|
+
|
|
289
|
+
.sia-ec__slot {
|
|
290
|
+
position: absolute;
|
|
291
|
+
z-index: 1;
|
|
292
|
+
flex-direction: column;
|
|
293
|
+
align-items: stretch;
|
|
294
|
+
justify-content: flex-start;
|
|
295
|
+
gap: 0;
|
|
296
|
+
overflow: hidden;
|
|
297
|
+
padding: .2rem .4rem;
|
|
298
|
+
box-shadow: 0 0 0 1px var(--sia-background);
|
|
299
|
+
}
|
|
300
|
+
.sia-ec__slot-title { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
|
|
301
|
+
.sia-ec__slot-time { overflow: hidden; font-size: .68rem; opacity: .8; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
|
|
302
|
+
|
|
303
|
+
/* L'heure qui passe. */
|
|
304
|
+
.sia-ec__now {
|
|
305
|
+
position: absolute;
|
|
306
|
+
z-index: 2;
|
|
307
|
+
left: -4px;
|
|
308
|
+
right: 0;
|
|
309
|
+
height: 2px;
|
|
310
|
+
background: var(--sia-danger);
|
|
311
|
+
pointer-events: none;
|
|
312
|
+
}
|
|
313
|
+
.sia-ec__now::before {
|
|
314
|
+
content: "";
|
|
315
|
+
position: absolute;
|
|
316
|
+
left: 0;
|
|
317
|
+
top: -4px;
|
|
318
|
+
width: 10px;
|
|
319
|
+
height: 10px;
|
|
320
|
+
border-radius: 9999px;
|
|
321
|
+
background: var(--sia-danger);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.sia-ec--minimal .sia-ec__timegrid { border-color: transparent; }
|
|
325
|
+
.sia-ec--soft .sia-ec__timegrid { background: var(--sia-surface); border-color: transparent; }
|
|
326
|
+
|
|
327
|
+
/* ── Agenda ───────────────────────────────────────────────────────────── */
|
|
328
|
+
.sia-ec__agenda { display: grid; gap: 1rem; }
|
|
329
|
+
.sia-ec__agenda-day { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: .5rem 1rem; }
|
|
330
|
+
.sia-ec__agenda-date { margin: .2rem 0 0; color: var(--sia-muted); font-size: .8rem; font-weight: 650; }
|
|
331
|
+
.sia-ec__agenda-date--today { color: var(--sia-primary); }
|
|
332
|
+
.sia-ec__agenda-row { display: flex; align-items: center; gap: .75rem; min-width: 0; }
|
|
333
|
+
.sia-ec__agenda-row .sia-ec__event { flex: 1 1 auto; padding: .45rem .6rem; font-size: .85rem; }
|
|
334
|
+
.sia-ec__location { flex: none; max-width: 40%; overflow: hidden; color: var(--sia-muted); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
|
|
335
|
+
.sia-ec__list { display: grid; gap: 3px; min-width: 0; }
|
|
336
|
+
.sia-ec__empty, .sia-ec__empty-day { margin: 0; padding: 1.5rem; color: var(--sia-muted); text-align: center; }
|
|
337
|
+
.sia-ec__empty-day { padding: .75rem 0; text-align: left; }
|
|
338
|
+
|
|
339
|
+
/* ── Étroit : des points, et la liste du jour choisi ──────────────────── */
|
|
340
|
+
.sia-ec--compact { --ec-cell: 3.25rem; --ec-gutter: 2.75rem; }
|
|
341
|
+
.sia-ec--compact .sia-ec__period { margin-left: .25rem; font-size: 1rem; }
|
|
342
|
+
.sia-ec--compact .sia-ec__day { align-items: center; padding: .3rem .1rem; }
|
|
343
|
+
.sia-ec--compact .sia-ec__day-number { align-self: center; }
|
|
344
|
+
.sia-ec__dots { display: flex; gap: 3px; min-height: .45rem; }
|
|
345
|
+
.sia-ec__dots .sia-ec__dot { width: .35rem; height: .35rem; }
|
|
346
|
+
.sia-ec__day--selected .sia-ec__day-number { box-shadow: inset 0 0 0 2px var(--sia-primary); }
|
|
347
|
+
.sia-ec__day--today.sia-ec__day--selected .sia-ec__day-number { box-shadow: 0 0 0 2px var(--sia-background), 0 0 0 4px var(--sia-primary); }
|
|
348
|
+
.sia-ec--compact .sia-ec__weekday { padding: .4rem 0; text-align: center; }
|
|
349
|
+
.sia-ec--compact .sia-ec__tg-col, .sia-ec--compact .sia-ec__tg-dayhead { min-width: 0; }
|
|
350
|
+
.sia-ec--compact .sia-ec__slot-time { display: none; }
|
|
351
|
+
.sia-ec--compact .sia-ec__agenda-day { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
|
|
352
|
+
|
|
353
|
+
.sia-ec__selected { display: grid; gap: .5rem; }
|
|
354
|
+
.sia-ec__selected-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
|
|
355
|
+
.sia-ec__selected-head h3 { margin: 0; font-size: .95rem; font-weight: 650; }
|
|
356
|
+
.sia-ec__selected .sia-ec__event { padding: .5rem .6rem; font-size: .85rem; }
|
|
357
|
+
|
|
358
|
+
@media (prefers-reduced-motion: reduce) {
|
|
359
|
+
.sia-ec__event, .sia-ec__slot, .sia-ec__day { transition: none; }
|
|
360
|
+
}
|