mnfst 0.5.235 → 0.5.237
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/lib/manifest.appwrite.data.js +1 -1
- package/lib/manifest.chat.css +152 -0
- package/lib/manifest.css +43 -26
- package/lib/manifest.d.ts +2 -0
- package/lib/manifest.data.js +1 -1
- package/lib/manifest.edit.css +26 -23
- package/lib/manifest.edit.js +52 -98
- package/lib/manifest.integrity.json +5 -5
- package/lib/manifest.min.css +1 -1
- package/lib/manifest.reset.css +368 -0
- package/lib/manifest.rich.text.css +15 -1
- package/lib/manifest.rich.text.js +4 -4
- package/lib/manifest.sw.js +1 -1
- package/lib/manifest.table.css +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
/* Manifest Reset - browser style normalizer */
|
|
2
|
+
|
|
3
|
+
@layer base, components, utilities;
|
|
4
|
+
|
|
5
|
+
@layer base {
|
|
6
|
+
|
|
7
|
+
*,
|
|
8
|
+
::after,
|
|
9
|
+
::before,
|
|
10
|
+
::backdrop,
|
|
11
|
+
::file-selector-button {
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
margin: 0;
|
|
14
|
+
padding: 0;
|
|
15
|
+
border: 0 solid
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:where(:root) {
|
|
19
|
+
-webkit-tap-highlight-color: transparent;
|
|
20
|
+
-webkit-text-size-adjust: 100%;
|
|
21
|
+
-moz-text-size-adjust: 100%;
|
|
22
|
+
text-size-adjust: 100%;
|
|
23
|
+
text-rendering: optimizeLegibility;
|
|
24
|
+
overflow-wrap: break-word;
|
|
25
|
+
-moz-tab-size: 4;
|
|
26
|
+
-o-tab-size: 4;
|
|
27
|
+
tab-size: 4;
|
|
28
|
+
|
|
29
|
+
/* Device safe-area insets (0 unless viewport-fit=cover on a notched screen) */
|
|
30
|
+
--safe-top: env(safe-area-inset-top, 0px);
|
|
31
|
+
--safe-right: env(safe-area-inset-right, 0px);
|
|
32
|
+
--safe-bottom: env(safe-area-inset-bottom, 0px);
|
|
33
|
+
--safe-left: env(safe-area-inset-left, 0px)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:where(html),
|
|
37
|
+
:host {
|
|
38
|
+
width: 100vw;
|
|
39
|
+
max-width: 100vw;
|
|
40
|
+
overflow-x: hidden;
|
|
41
|
+
line-height: 1.5;
|
|
42
|
+
tab-size: 4;
|
|
43
|
+
font-family: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
|
44
|
+
font-feature-settings: normal;
|
|
45
|
+
font-variation-settings: normal;
|
|
46
|
+
-webkit-text-size-adjust: 100%;
|
|
47
|
+
-webkit-tap-highlight-color: transparent;
|
|
48
|
+
scroll-behavior: smooth;
|
|
49
|
+
-ms-overflow-style: none;
|
|
50
|
+
scrollbar-width: none;
|
|
51
|
+
|
|
52
|
+
&::-webkit-scrollbar {
|
|
53
|
+
display: none
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&:has(dialog:popover-open) {
|
|
57
|
+
overflow: hidden
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:where(body) {
|
|
62
|
+
max-width: 100vw;
|
|
63
|
+
min-height: 100vh;
|
|
64
|
+
margin: 0;
|
|
65
|
+
line-height: inherit
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:where(a) {
|
|
69
|
+
color: inherit;
|
|
70
|
+
-webkit-text-decoration: inherit;
|
|
71
|
+
text-decoration: inherit;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:where(abbr[title]) {
|
|
75
|
+
-webkit-text-decoration: underline dotted;
|
|
76
|
+
text-decoration: underline dotted
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:where([aria-controls]) {
|
|
80
|
+
cursor: pointer
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
:where([aria-hidden=false][hidden]) {
|
|
84
|
+
display: initial
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:where([aria-hidden=false][hidden]:not(:focus)) {
|
|
88
|
+
clip: rect(0, 0, 0, 0);
|
|
89
|
+
position: absolute
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:where(audio:not([controls])) {
|
|
93
|
+
display: none;
|
|
94
|
+
height: 0
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:where(b, strong) {
|
|
98
|
+
font-weight: bolder
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
:where(button, input, optgroup, select, textarea) {
|
|
102
|
+
margin: 0;
|
|
103
|
+
padding: 0;
|
|
104
|
+
font-family: inherit;
|
|
105
|
+
font-feature-settings: inherit;
|
|
106
|
+
font-variation-settings: inherit;
|
|
107
|
+
font-size: 100%;
|
|
108
|
+
font-weight: inherit;
|
|
109
|
+
line-height: inherit;
|
|
110
|
+
letter-spacing: inherit;
|
|
111
|
+
color: inherit
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:where(button, select) {
|
|
115
|
+
text-transform: none
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:where(button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button) {
|
|
119
|
+
appearance: button;
|
|
120
|
+
background-color: transparent;
|
|
121
|
+
background-image: none
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
:where(::-webkit-file-upload-button) {
|
|
125
|
+
-webkit-appearance: button;
|
|
126
|
+
font: inherit
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:where(::-webkit-inner-spin-button, ::-webkit-outer-spin-button) {
|
|
130
|
+
height: auto
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
:where(::-webkit-search-decoration) {
|
|
134
|
+
-webkit-appearance: none
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
:where(button, [role=button]) {
|
|
138
|
+
cursor: pointer
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:where(code, samp, pre) {
|
|
142
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
143
|
+
font-size: 1em;
|
|
144
|
+
font-feature-settings: normal;
|
|
145
|
+
font-variation-settings: normal;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
:where([dir=rtl]) {
|
|
149
|
+
direction: rtl
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
:where([disabled], :disabled, [aria-disabled=true], .disabled) {
|
|
153
|
+
opacity: .5;
|
|
154
|
+
cursor: default;
|
|
155
|
+
pointer-events: none
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:where(figcaption) {
|
|
159
|
+
font-size: 75%
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
:where(figure) {
|
|
163
|
+
display: block;
|
|
164
|
+
padding: 0
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
:where(::file-selector-button) {
|
|
168
|
+
margin-inline-end: 4px
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
:where(h1, h2, h3, h4, h5, h6) {
|
|
172
|
+
font-size: inherit;
|
|
173
|
+
font-weight: inherit
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
:where(hr) {
|
|
177
|
+
height: 1px;
|
|
178
|
+
color: inherit;
|
|
179
|
+
background-color: var(--color-line, color-mix(in oklch, oklch(20.5% 0 0) 12%, transparent));
|
|
180
|
+
border: 0 none
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
:where(img, svg, video, canvas, audio, iframe, embed, object) {
|
|
184
|
+
display: block
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
:where(img, video) {
|
|
188
|
+
max-width: 100%;
|
|
189
|
+
height: auto
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
:where(::-webkit-autofill, :-webkit-autofill:focus) {
|
|
193
|
+
transition: background-color 0s 600000s, color 0s 600000s
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
:where(::-webkit-date-and-time-value) {
|
|
197
|
+
min-height: 1lh;
|
|
198
|
+
text-align: inherit
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
:where(::-webkit-datetime-edit) {
|
|
202
|
+
display: inline-flex
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
:where(::-webkit-datetime-edit-fields-wrapper) {
|
|
206
|
+
padding: 0
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
:where(::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field) {
|
|
210
|
+
padding-block: 0
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
:where(select:is([multiple], [size])) optgroup {
|
|
214
|
+
font-weight: bolder
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
:where(select:is([multiple], [size])) optgroup option {
|
|
218
|
+
padding-inline-start: 20px
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
:where(small) {
|
|
222
|
+
font-size: 80%
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
:where(span) {
|
|
226
|
+
color: inherit
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
:where(sub, sup) {
|
|
230
|
+
font-size: 50%;
|
|
231
|
+
line-height: 0;
|
|
232
|
+
position: relative;
|
|
233
|
+
vertical-align: baseline
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
:where(sub) {
|
|
237
|
+
bottom: -0.25em
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:where(sup) {
|
|
241
|
+
top: -0.5em
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
:where(svg):not([fill]) {
|
|
245
|
+
fill: currentColor
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
:where(svg):not(:root) {
|
|
249
|
+
overflow: hidden
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
:where(table) {
|
|
253
|
+
text-indent: 0;
|
|
254
|
+
border-color: inherit;
|
|
255
|
+
border-collapse: collapse
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
:-moz-focusring {
|
|
259
|
+
outline: auto
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
:-moz-ui-invalid {
|
|
263
|
+
box-shadow: none
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
:where(::placeholder) {
|
|
267
|
+
opacity: 1;
|
|
268
|
+
color: color-mix(in oklab, currentcolor 50%, transparent)
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/* Animates `scale`, not `transform`: a transform animation with fill `both`
|
|
272
|
+
keeps its final value and would override any transform an author sets on
|
|
273
|
+
a popover of their own. */
|
|
274
|
+
@keyframes mnfst-popover-in {
|
|
275
|
+
from {
|
|
276
|
+
scale: .9;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
to {
|
|
280
|
+
scale: 1;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
:where([popover]):not(.unstyle):popover-open {
|
|
285
|
+
display: flex;
|
|
286
|
+
animation: mnfst-popover-in .15s ease-in both;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
:where(progress) {
|
|
290
|
+
vertical-align: baseline
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
:where([type='search']) {
|
|
294
|
+
-webkit-appearance: textfield;
|
|
295
|
+
appearance: textfield;
|
|
296
|
+
outline-offset: -2px
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
:where(summary) {
|
|
300
|
+
display: list-item
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
:where(textarea) {
|
|
304
|
+
resize: vertical
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
[hidden],
|
|
308
|
+
[un-cloak],
|
|
309
|
+
[v-cloak],
|
|
310
|
+
[x-cloak] {
|
|
311
|
+
display: none
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/* @ rule - font smoothing for iOS and Mac */
|
|
315
|
+
@media (-webkit-min-device-pixel-ratio: 2) {
|
|
316
|
+
:where(html) {
|
|
317
|
+
-webkit-font-smoothing: antialiased;
|
|
318
|
+
-moz-osx-font-smoothing: grayscale
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/* @ rule - reduced motion */
|
|
323
|
+
@media (prefers-reduced-motion:reduce) {
|
|
324
|
+
|
|
325
|
+
:not([aria-busy=true]),
|
|
326
|
+
:not([aria-busy=true])::after,
|
|
327
|
+
:not([aria-busy=true])::before {
|
|
328
|
+
background-attachment: initial !important;
|
|
329
|
+
animation-duration: 1ms !important;
|
|
330
|
+
animation-delay: -1ms !important;
|
|
331
|
+
animation-iteration-count: 1 !important;
|
|
332
|
+
scroll-behavior: auto !important;
|
|
333
|
+
transition-delay: 0s !important;
|
|
334
|
+
transition-duration: 0s !important
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/* @ rule - reverse animation direction for rtl mode */
|
|
339
|
+
@media (prefers-reduced-motion:no-preference) {
|
|
340
|
+
[dir=rtl] progress:indeterminate {
|
|
341
|
+
animation-direction: reverse
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/* View transition styles */
|
|
346
|
+
::view-transition-group(*) {
|
|
347
|
+
animation-duration: var(--view-transition-duration, 200ms);
|
|
348
|
+
animation-timing-function: var(--view-transition-easing, cubic-bezier(0.4, 0, 0.2, 1))
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
/* Skip view transition for live/non-rasterizable content */
|
|
352
|
+
iframe,
|
|
353
|
+
video,
|
|
354
|
+
canvas,
|
|
355
|
+
[data-no-view-transition] {
|
|
356
|
+
view-transition-name: none
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/* Cross-document view transitions opt-in */
|
|
361
|
+
@view-transition {
|
|
362
|
+
navigation: auto
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/* Unlayered on purpose: a closed popover must beat layer-based layout classes. */
|
|
366
|
+
[popover]:not(.unstyle):not(:popover-open) {
|
|
367
|
+
display: none;
|
|
368
|
+
}
|
|
@@ -177,13 +177,27 @@
|
|
|
177
177
|
& table {
|
|
178
178
|
width: 100%;
|
|
179
179
|
table-layout: fixed;
|
|
180
|
+
border-collapse: separate;
|
|
181
|
+
border-spacing: 0;
|
|
182
|
+
border: 1px solid var(--color-line);
|
|
180
183
|
|
|
184
|
+
/* Inner dividers only: the table's own border draws the rounded edge */
|
|
181
185
|
& :where(td, th) {
|
|
182
186
|
padding: 0.35em 0.5em;
|
|
183
|
-
border:
|
|
187
|
+
border: 0 none;
|
|
188
|
+
border-inline-end: 1px solid var(--color-line);
|
|
189
|
+
border-block-end: 1px solid var(--color-line);
|
|
184
190
|
vertical-align: top;
|
|
185
191
|
}
|
|
186
192
|
|
|
193
|
+
& :where(tr > :last-child) {
|
|
194
|
+
border-inline-end: 0 none;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
& :where(tbody:last-child > tr:last-child > *, tfoot > tr:last-child > *) {
|
|
198
|
+
border-block-end: 0 none;
|
|
199
|
+
}
|
|
200
|
+
|
|
187
201
|
& th {
|
|
188
202
|
font-weight: 600;
|
|
189
203
|
text-align: start;
|
|
@@ -2971,8 +2971,8 @@
|
|
|
2971
2971
|
|
|
2972
2972
|
/* ---- Area engine ----
|
|
2973
2973
|
Shared by the directive and ManifestRichText.attach(). */
|
|
2974
|
-
function setup(el, { format = 'markdown', inline: single = false, breaks = false, all: allStyles = true, literal = false, bound = false, controlled = false, onChange = null } = {}) {
|
|
2975
|
-
// .inline html with breaks: one block of lines; <br> kept, Shift+Enter makes one
|
|
2974
|
+
function setup(el, { format = 'markdown', inline: single = false, breaks = false, enterBreaks = false, all: allStyles = true, literal = false, bound = false, controlled = false, onChange = null } = {}) {
|
|
2975
|
+
// .inline html with breaks: one block of lines; <br> kept, Shift+Enter makes one (Enter too with enterBreaks)
|
|
2976
2976
|
const lines = single && breaks && format === 'html';
|
|
2977
2977
|
const flat = (html) => lines ? breakLines(html, true) : flattenLines(html, true);
|
|
2978
2978
|
const ac = new AbortController();
|
|
@@ -3197,7 +3197,7 @@
|
|
|
3197
3197
|
if (e.isComposing || e.keyCode === 229) return;
|
|
3198
3198
|
if (e.key === 'Enter' && e.target !== el && e.target.matches && e.target.matches('a[href]') && e.target.closest('[contenteditable="false"]') && el.contains(e.target.closest('[contenteditable="false"]'))) return;
|
|
3199
3199
|
if ((e.key || '').length > 1 && !/^(Shift|Alt|Control|Meta|CapsLock)$/.test(e.key)) { el._exit = null; if (!/^(Backspace|Delete)$/.test(e.key)) el._after = null; }
|
|
3200
|
-
if (e.key === 'Enter' && single) { e.preventDefault(); if (lines && e.shiftKey) lineBreak(); else enter(e.shiftKey); return; }
|
|
3200
|
+
if (e.key === 'Enter' && single) { e.preventDefault(); if (lines && (e.shiftKey || enterBreaks)) lineBreak(); else enter(e.shiftKey); return; }
|
|
3201
3201
|
if (e.key === 'Enter' && format !== 'plain') {
|
|
3202
3202
|
if (!ownsEnter(e)) return;
|
|
3203
3203
|
e.preventDefault();
|
|
@@ -3358,7 +3358,7 @@
|
|
|
3358
3358
|
const controlled = opts.value !== undefined;
|
|
3359
3359
|
const core = setup(el, {
|
|
3360
3360
|
format: FORMATS.has(opts.format) ? opts.format : 'markdown',
|
|
3361
|
-
inline: opts.mode === 'inline', breaks: !!opts.breaks, all: opts.all !== false, literal: !!opts.literal,
|
|
3361
|
+
inline: opts.mode === 'inline', breaks: !!opts.breaks, enterBreaks: opts.enter === 'break', all: opts.all !== false, literal: !!opts.literal,
|
|
3362
3362
|
bound: typeof opts.onChange === 'function', controlled,
|
|
3363
3363
|
onChange: typeof opts.onChange === 'function' ? opts.onChange : null
|
|
3364
3364
|
});
|
package/lib/manifest.sw.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
// Build stamps the published version here; unstamped (dev) falls back to the
|
|
18
18
|
// registration URL's `v`, then 'dev'.
|
|
19
|
-
const BUILD_VERSION = '0.5.
|
|
19
|
+
const BUILD_VERSION = '0.5.237';
|
|
20
20
|
const CACHE_PREFIX = 'mnfst-sw:';
|
|
21
21
|
const META_CACHE = CACHE_PREFIX + 'meta';
|
|
22
22
|
// Sized to hold a full precache.json warm-up (PRECACHE_MAX_ENTRIES server-side)
|
package/lib/manifest.table.css
CHANGED
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
text-align: left;
|
|
46
46
|
text-align: start;
|
|
47
47
|
|
|
48
|
-
/* Make elements within cell inline */
|
|
49
|
-
&>*:not(template) {
|
|
48
|
+
/* Make elements within cell inline; text-level elements stay in the text flow */
|
|
49
|
+
&>*:not(template, br, :is(a, abbr, b, cite, code, data, del, dfn, em, i, ins, kbd, mark, q, s, samp, small, strong, sub, sup, time, u, var):not([role=button], [x-icon], .badge)) {
|
|
50
50
|
display: inline-flex;
|
|
51
51
|
vertical-align: middle;
|
|
52
52
|
|