mnfst 0.5.236 → 0.5.238

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.
@@ -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: 1px solid var(--color-line);
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
  });
@@ -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.236';
19
+ const BUILD_VERSION = '0.5.238';
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)
@@ -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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnfst",
3
- "version": "0.5.236",
3
+ "version": "0.5.238",
4
4
  "private": false,
5
5
  "workspaces": [
6
6
  "templates/starter",