bestax-migrate 2.25.7 → 2.27.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.
Files changed (35) hide show
  1. package/README.md +7 -1
  2. package/dist/cli.d.ts +9 -2
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +98 -9
  5. package/dist/sources/_shared/deps-common.d.ts +2 -0
  6. package/dist/sources/_shared/deps-common.d.ts.map +1 -1
  7. package/dist/sources/_shared/deps-common.js +3 -1
  8. package/dist/sources/_shared/html/whitespace.d.ts +21 -0
  9. package/dist/sources/_shared/html/whitespace.d.ts.map +1 -1
  10. package/dist/sources/_shared/html/whitespace.js +12 -6
  11. package/dist/sources/bulma-classes/class-map.d.ts +10 -0
  12. package/dist/sources/bulma-classes/class-map.d.ts.map +1 -1
  13. package/dist/sources/bulma-classes/class-map.js +25 -0
  14. package/dist/sources/bulma-classes/display.d.ts +11 -1
  15. package/dist/sources/bulma-classes/display.d.ts.map +1 -1
  16. package/dist/sources/bulma-classes/display.js +33 -1
  17. package/dist/sources/bulma-classes/html-assets.d.ts +87 -0
  18. package/dist/sources/bulma-classes/html-assets.d.ts.map +1 -0
  19. package/dist/sources/bulma-classes/html-assets.js +246 -0
  20. package/dist/sources/bulma-classes/html-rules.d.ts +32 -0
  21. package/dist/sources/bulma-classes/html-rules.d.ts.map +1 -0
  22. package/dist/sources/bulma-classes/html-rules.js +101 -0
  23. package/dist/sources/bulma-classes/html.d.ts +92 -0
  24. package/dist/sources/bulma-classes/html.d.ts.map +1 -0
  25. package/dist/sources/bulma-classes/html.js +1123 -0
  26. package/dist/sources/bulma-classes/index.d.ts.map +1 -1
  27. package/dist/sources/bulma-classes/index.js +4 -0
  28. package/dist/sources/bulma-classes/project.d.ts +22 -2
  29. package/dist/sources/bulma-classes/project.d.ts.map +1 -1
  30. package/dist/sources/bulma-classes/project.js +34 -3
  31. package/dist/sources/rbx/mapping.js +1 -1
  32. package/dist/sources/react-bulma-components/mapping.js +1 -1
  33. package/dist/types.d.ts +22 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/package.json +4 -3
package/README.md CHANGED
@@ -19,6 +19,7 @@ Currently supported sources:
19
19
  | [`rbx`](https://github.com/dfee/rbx) (v2) | ✅ Full export surface mapped (a few patterns are flagged as TODOs) |
20
20
  | [`bloomer`](https://github.com/AlgusDark/bloomer) (0.6) | ✅ All 108 exports mapped (Font Awesome 4 icons and Bulma 0.4's `Nav` are flagged) |
21
21
  | `bulma-classes`: Bulma's classes on plain JSX, no library | ✅ Converts an element only when bestax renders the same markup; the rest is flagged |
22
+ | `bulma-classes` on HTML: static pages and templates styled with Bulma | ✅ Writes a React component beside each page; its head and scripts are flagged |
22
23
 
23
24
  Pass the source as the first argument: `bestax-migrate <source> <paths…>`.
24
25
 
@@ -40,6 +41,10 @@ pnpm dlx bestax-migrate rbx src/ --dry
40
41
  pnpm dlx bestax-migrate bloomer src/ --dry
41
42
  # …or, for an app that writes Bulma's classes on plain JSX
42
43
  pnpm dlx bestax-migrate bulma-classes src/ --dry
44
+ # …or, for static HTML pages styled with Bulma: name a page, or walk a folder with -e html
45
+ # (-e html,htm takes .htm pages too)
46
+ pnpm dlx bestax-migrate bulma-classes src/pages/login/index.html --dry
47
+ pnpm dlx bestax-migrate bulma-classes -e html src/pages/ --dry
43
48
 
44
49
  # Apply the migration
45
50
  pnpm dlx bestax-migrate react-bulma-components src/
@@ -54,6 +59,7 @@ The codemod uses [jscodeshift](https://github.com/facebook/jscodeshift) to:
54
59
  - convert props (`renderAs` → `as`, `loading` → `isLoading`, numeric spacing/text sizes → string unions, `textAlign="center"` → `textAlign="centered"`, …)
55
60
  - flatten responsive breakpoint objects (`mobile={{ size: 4 }}` → `sizeMobile={4}`) and bloomer's `isDisplay`/`isHidden` strings, arrays and objects (`isHidden="touch"` → `visibilityTouch="hidden"`)
56
61
  - for `bulma-classes`, turn raw Bulma markup into components and props (`<a className="button is-primary">` → `<Button as="a" color="primary">`, `<p className="has-text-centered mt-4">` → `<Paragraph textAlign="centered" mt="4">`), converting an element only when bestax renders exactly the same markup
62
+ - for `bulma-classes` on an HTML page, write a React module beside it (`index.html` → `index.tsx`, or `.jsx` when the package isn't TypeScript) whose default export is the page's body as a component (`LoginPage`), converted as the same markup written as JSX would be. The page is never changed and an existing module is never overwritten; the head, the `<html>` and `<body>` attributes, the stylesheets and scripts it loads, and inline handlers are left as `html-*` TODOs, except that under `--css bestax` or `--css bulma` the module imports the stylesheet in place of the page's Bulma `<link>`
57
63
  - restructure patterns bestax models differently (`Table.Container`, Navbar dropdowns, `Form.Help`, icon-font children → `<Icon name=…>`)
58
64
  - migrate stylesheets: CSS imports converge on `@allxsmith/bestax-bulma/bestax.css`, and SCSS files move from Bulma 0.9's `@import` + `$var !default` overrides to `@use 'bulma/sass' with (…)` plus `@use '@allxsmith/bestax-bulma/scss/extras'`
59
65
  - update `package.json`: remove the source library, add `@allxsmith/bestax-bulma`, raise a declared pre-1.0 `bulma` to `^1` (adding it only when your sources import `bulma/…` directly — otherwise it arrives transitively), and swap the dead `node-sass` for dart `sass` (no install is ever run). Migrating **rbx** is what frees an app from Bulma 0.7.5: rbx pinned it as a _direct_ dependency, so the app could not choose its own Bulma version at all. The four Bulma extensions rbx also pulled in (`bulma-badge`, `bulma-divider`, `bulma-pageloader`, `bulma-tooltip`) are **reported rather than removed** — bestax replaces all four, but a manifest entry is a deliberate declaration and your own Sass may import them. A **bloomer** app declared its own Bulma 0.6, which is what gets bumped. For **bulma-classes** there is no library to remove, and by default (`--css keep`) the app's Bulma version, Sass and stylesheet imports all stay: its own Bulma already styles every class a converted element renders. `--css bestax` or `--css bulma` moves it to Bulma v1 like the other sources
@@ -83,7 +89,7 @@ Run it from your app root. `--param paths="src lib"` (default `src`) and `--para
83
89
  | -------------------- | ---------------------------------------------------------------------------------------------- |
84
90
  | `--dry`, `-d` | Report what would change without writing files |
85
91
  | `--print`, `-p` | Print transformed sources to stdout |
86
- | `--extensions`, `-e` | File extensions to include (default `js,jsx,ts,tsx,scss,sass`) |
92
+ | `--extensions`, `-e` | File extensions to include in a folder (default `js,jsx,ts,tsx,scss,sass`; `html` for pages) |
87
93
  | `--css <mode>` | Stylesheet target: `bestax`, `bulma`, or `keep` (default `bestax`; `keep` for `bulma-classes`) |
88
94
  | `--no-deps` | Skip updating package.json dependencies |
89
95
 
package/dist/cli.d.ts CHANGED
@@ -6,7 +6,8 @@
6
6
  * [--telemetry|--no-telemetry]
7
7
  *
8
8
  * Walks the given files/directories, routes each file by type (JS/TSX →
9
- * jscodeshift transform, .scss/.sass → the source's stylesheet transform),
9
+ * jscodeshift transform, .scss/.sass → the source's stylesheet transform,
10
+ * .html/.htm → a new module beside the page, for a source that reads HTML),
10
11
  * updates the nearest package.json (unless --no-deps), writes results back
11
12
  * (unless --dry), and prints the run report. TODO annotations are expected
12
13
  * output — the exit code is 0 whenever the run itself succeeds.
@@ -16,7 +17,13 @@ import type { Readable, Writable } from 'node:stream';
16
17
  import { Command } from 'commander';
17
18
  import { type MigrateRunStats } from './telemetry.js';
18
19
  import type { MigrationSource } from './types.js';
19
- export declare function collectFiles(targets: string[], extensions: string[]): string[];
20
+ /**
21
+ * The files to migrate: those with one of `extensions` in the folders walked,
22
+ * and every file named, whose extension is one of those or of `named`. A
23
+ * named HTML page is the only use there is for naming one, while a walk meets
24
+ * HTML nobody wants converted (Vite's `index.html`, `public/`).
25
+ */
26
+ export declare function collectFiles(targets: string[], extensions: string[], named?: readonly string[]): string[];
20
27
  /** Nearest package.json for each target, walking up to the filesystem root. */
21
28
  export declare function findPackageJsons(targets: string[]): string[];
22
29
  export interface CliIo {
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAoB3D,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,EAAE,CAkBV;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAkB5D;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgDlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsBvD;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAEpE;AA4LD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,KAAK,EACT,KAAK,GAAE,QAAwB,EAC/B,MAAM,GAAE,QAAyB,EAGjC,aAAa,GAAE,OAAO,eAAiC,GACtD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAyBzB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,EAAE,EAAE,KAAK,EACT,aAAa,GAAE,CAAC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAA0B,GAC7E,OAAO,CAAC,IAAI,CAAC,CAqBf;AAYD,wBAAgB,SAAS,CACvB,EAAE,GAAE,KAAkD,GACrD,OAAO,CA0HT"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAIV,eAAe,EAEhB,MAAM,YAAY,CAAC;AA2BpB;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,GAAE,SAAS,MAAM,EAAO,GAC5B,MAAM,EAAE,CAwBV;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAkB5D;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgDlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsBvD;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAEpE;AA2QD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,KAAK,EACT,KAAK,GAAE,QAAwB,EAC/B,MAAM,GAAE,QAAyB,EAGjC,aAAa,GAAE,OAAO,eAAiC,GACtD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAyBzB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,EAAE,EAAE,KAAK,EACT,aAAa,GAAE,CAAC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAA0B,GAC7E,OAAO,CAAC,IAAI,CAAC,CAqBf;AAYD,wBAAgB,SAAS,CACvB,EAAE,GAAE,KAAkD,GACrD,OAAO,CA+IT"}
package/dist/cli.js CHANGED
@@ -6,7 +6,8 @@
6
6
  * [--telemetry|--no-telemetry]
7
7
  *
8
8
  * Walks the given files/directories, routes each file by type (JS/TSX →
9
- * jscodeshift transform, .scss/.sass → the source's stylesheet transform),
9
+ * jscodeshift transform, .scss/.sass → the source's stylesheet transform,
10
+ * .html/.htm → a new module beside the page, for a source that reads HTML),
10
11
  * updates the nearest package.json (unless --no-deps), writes results back
11
12
  * (unless --dry), and prints the run report. TODO annotations are expected
12
13
  * output — the exit code is 0 whenever the run itself succeeds.
@@ -30,14 +31,25 @@ const SKIP_DIRS = new Set([
30
31
  ]);
31
32
  const STYLE_EXTENSIONS = new Set(['scss', 'sass']);
32
33
  const CSS_MODES = ['bestax', 'bulma', 'keep'];
34
+ /** HTML pages, which only a source with `htmlExtensions` reads. */
35
+ const HTML_EXTENSIONS = ['html', 'htm'];
33
36
  /**
34
37
  * Component formats the codemod cannot parse (no jscodeshift grammar) but
35
38
  * that can still import the source library — flagged, never rewritten.
36
39
  */
37
40
  const UNSUPPORTED_EXTENSIONS = ['astro', 'vue', 'svelte', 'mdx'];
38
- export function collectFiles(targets, extensions) {
41
+ function extensionOf(file) {
42
+ return path.extname(file).replace(/^\./, '');
43
+ }
44
+ /**
45
+ * The files to migrate: those with one of `extensions` in the folders walked,
46
+ * and every file named, whose extension is one of those or of `named`. A
47
+ * named HTML page is the only use there is for naming one, while a walk meets
48
+ * HTML nobody wants converted (Vite's `index.html`, `public/`).
49
+ */
50
+ export function collectFiles(targets, extensions, named = []) {
39
51
  const files = [];
40
- const visit = (target) => {
52
+ const visit = (target, isNamed) => {
41
53
  const stat = fs.statSync(target, { throwIfNoEntry: false });
42
54
  if (!stat) {
43
55
  throw new Error(`no such file or directory: ${target}`);
@@ -46,15 +58,18 @@ export function collectFiles(targets, extensions) {
46
58
  if (SKIP_DIRS.has(path.basename(target)))
47
59
  return;
48
60
  for (const entry of fs.readdirSync(target).sort()) {
49
- visit(path.join(target, entry));
61
+ visit(path.join(target, entry), false);
50
62
  }
63
+ return;
51
64
  }
52
- else if (extensions.includes(path.extname(target).replace(/^\./, ''))) {
65
+ const extension = extensionOf(target);
66
+ if (extensions.includes(extension) ||
67
+ (isNamed && named.includes(extension))) {
53
68
  files.push(target);
54
69
  }
55
70
  };
56
71
  for (const target of targets)
57
- visit(target);
72
+ visit(target, true);
58
73
  return files;
59
74
  }
60
75
  /** Nearest package.json for each target, walking up to the filesystem root. */
@@ -217,7 +232,17 @@ function migrateFiles(source, files, reporter, io, options, project) {
217
232
  for (const file of files) {
218
233
  const sourceText = fs.readFileSync(file, 'utf8');
219
234
  const collector = reporter.startFile();
220
- const extension = path.extname(file).replace(/^\./, '');
235
+ const extension = extensionOf(file);
236
+ if (source.transformHtml && source.htmlExtensions?.includes(extension)) {
237
+ const written = migrateHtmlPage(source.transformHtml, file, sourceText, collector, io, { ...options, project });
238
+ // The module is what the app will import from, as a JSX file's output
239
+ // is: one that imports bulma/… needs `bulma` declared.
240
+ if (written !== null && /['"](?:~?bulma\/)/.test(written)) {
241
+ bulmaReferenced = true;
242
+ }
243
+ reporter.finishFile(file, written !== null, collector.entries);
244
+ continue;
245
+ }
221
246
  let output;
222
247
  try {
223
248
  if (STYLE_EXTENSIONS.has(extension)) {
@@ -264,6 +289,56 @@ function migrateFiles(source, files, reporter, io, options, project) {
264
289
  }
265
290
  return { bulmaReferenced, sourceStillImported };
266
291
  }
292
+ /**
293
+ * One HTML page: its module is written beside it (never over a file already
294
+ * there; the source checks), and the page itself is left as it was. Returns
295
+ * the module, or null when there is none to write.
296
+ */
297
+ function migrateHtmlPage(transformHtml, file, sourceText, collector, io, options) {
298
+ let result;
299
+ try {
300
+ result = transformHtml(file, sourceText, collector, {
301
+ ...options.project,
302
+ cssMode: options.cssMode,
303
+ });
304
+ }
305
+ catch (error) {
306
+ io.error(chalk.red(`✖ ${file}: ${error.message}`));
307
+ return null;
308
+ }
309
+ if (result.output === null)
310
+ return null;
311
+ if (options.print)
312
+ io.log(result.output);
313
+ if (options.dry) {
314
+ io.log(chalk.yellow(`Would write ${result.outputPath} from ${file}.`));
315
+ }
316
+ else {
317
+ fs.writeFileSync(result.outputPath, result.output);
318
+ io.log(chalk.green(`Wrote ${result.outputPath} from ${file}.`));
319
+ }
320
+ return result.output;
321
+ }
322
+ /**
323
+ * HTML pages a folder walk found but `--extensions` left out, reported when
324
+ * they carry what the source would convert, so a run over a folder of pages
325
+ * that `--extensions` leaves out doesn't just say nothing happened.
326
+ */
327
+ function reportExcludedHtml(source, targets, reporter, extensions) {
328
+ const left = (source.htmlExtensions ?? []).filter(ext => !extensions.includes(ext));
329
+ const find = source.excludedHtml;
330
+ if (left.length === 0 || !find)
331
+ return;
332
+ const folders = targets.filter(target => fs.statSync(target, { throwIfNoEntry: false })?.isDirectory());
333
+ for (const file of collectFiles(folders, left)) {
334
+ const entry = find(file, fs.readFileSync(file, 'utf8'));
335
+ if (!entry)
336
+ continue;
337
+ const collector = reporter.startFile();
338
+ collector.add(entry);
339
+ reporter.finishFile(file, false, collector.entries);
340
+ }
341
+ }
267
342
  /**
268
343
  * Surface files in unparseable formats (.astro, .vue, …) that import the
269
344
  * source library, so a migration never silently skips them.
@@ -450,7 +525,7 @@ export function createCLI(io = { log: console.log, error: console.error }) {
450
525
  .argument('<paths...>', 'files or directories to transform')
451
526
  .option('-d, --dry', 'dry run — report what would change without writing', false)
452
527
  .option('-p, --print', 'print transformed sources to stdout', false)
453
- .option('-e, --extensions <list>', 'comma-separated file extensions to include', 'js,jsx,ts,tsx,scss,sass')
528
+ .option('-e, --extensions <list>', 'comma-separated file extensions to include in a folder (html for HTML pages)', 'js,jsx,ts,tsx,scss,sass')
454
529
  .option('--css <mode>', `stylesheet target: ${CSS_MODES.join(', ')} (default bestax; keep for bulma-classes)`)
455
530
  .option('--no-deps', 'skip updating package.json dependencies')
456
531
  .option('--telemetry', 'enable anonymous usage telemetry (https://bestax.io/docs/guides/telemetry)')
@@ -472,9 +547,22 @@ export function createCLI(io = { log: console.log, error: console.error }) {
472
547
  .split(',')
473
548
  .map(ext => ext.trim())
474
549
  .filter(Boolean);
550
+ const htmlExtensions = source.htmlExtensions ?? [];
551
+ if (htmlExtensions.length === 0) {
552
+ const asked = [
553
+ ...extensions.filter(ext => HTML_EXTENSIONS.includes(ext)),
554
+ ...targets.filter(target => HTML_EXTENSIONS.includes(extensionOf(target))),
555
+ ];
556
+ if (asked.length > 0) {
557
+ const readers = sourceNames().filter(name => (getSource(name)?.htmlExtensions?.length ?? 0) > 0);
558
+ io.error(`${chalk.red('The ' + source.name + ' source reads no HTML pages')} (${asked.join(', ')}). HTML pages convert with: ${readers.join(', ')}`);
559
+ program.error('', { exitCode: 1 });
560
+ return;
561
+ }
562
+ }
475
563
  let files;
476
564
  try {
477
- files = collectFiles(targets, extensions);
565
+ files = collectFiles(targets, extensions, htmlExtensions);
478
566
  }
479
567
  catch (error) {
480
568
  io.error(chalk.red(error.message));
@@ -490,6 +578,7 @@ export function createCLI(io = { log: console.log, error: console.error }) {
490
578
  const reporter = new Reporter();
491
579
  const project = source.analyzeProject?.(targets) ?? {};
492
580
  const depSignals = migrateFiles(source, files, reporter, io, runOptions, project);
581
+ reportExcludedHtml(source, targets, reporter, extensions);
493
582
  const unsupportedImports = reportUnsupportedFiles(source, targets, reporter, extensions);
494
583
  if (unsupportedImports)
495
584
  depSignals.sourceStillImported = true;
@@ -7,6 +7,8 @@
7
7
  */
8
8
  import type { TodoCollector } from '../../types.js';
9
9
  export declare const BULMA_RANGE = "^1.0.4";
10
+ /** bestax-bulma's optional peer range for Font Awesome. */
11
+ export declare const FONT_AWESOME_PEER_RANGE = "^6.7.2 || ^7.0.0";
10
12
  export declare const DEP_SECTIONS: readonly ["dependencies", "devDependencies"];
11
13
  type Section = (typeof DEP_SECTIONS)[number];
12
14
  export interface Manifest {
@@ -1 +1 @@
1
- {"version":3,"file":"deps-common.d.ts","sourceRoot":"","sources":["../../../src/sources/_shared/deps-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,eAAO,MAAM,WAAW,WAAW,CAAC;AAIpC,eAAO,MAAM,YAAY,8CAA+C,CAAC;AACzE,KAAK,OAAO,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3D,qEAAqE;IACrE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,yDAAyD;IACzD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,SAAS,EAAE,aAAa,GAAG,SAAS,GACnC,QAAQ,CAiBV;AAaD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAmBlD;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,OAAO,GAAG,SAAS,GACnC,YAAY,CA2Bd;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAqBzD;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAexD"}
1
+ {"version":3,"file":"deps-common.d.ts","sourceRoot":"","sources":["../../../src/sources/_shared/deps-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAI1D,eAAO,MAAM,YAAY,8CAA+C,CAAC;AACzE,KAAK,OAAO,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3D,qEAAqE;IACrE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,yDAAyD;IACzD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,SAAS,EAAE,aAAa,GAAG,SAAS,GACnC,QAAQ,CAiBV;AAaD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAmBlD;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,OAAO,GAAG,SAAS,GACnC,YAAY,CA2Bd;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAqBzD;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAexD"}
@@ -8,6 +8,8 @@
8
8
  import { isPreV1 } from './semver-range.js';
9
9
  const BESTAX_RANGE = '^5';
10
10
  export const BULMA_RANGE = '^1.0.4';
11
+ /** bestax-bulma's optional peer range for Font Awesome. */
12
+ export const FONT_AWESOME_PEER_RANGE = '^6.7.2 || ^7.0.0';
11
13
  // Bulma v1's sass tree uses `color.channel(…)` — needs dart-sass ≥ 1.79.
12
14
  const SASS_RANGE = '^1.79.0';
13
15
  export const DEP_SECTIONS = ['dependencies', 'devDependencies'];
@@ -94,7 +96,7 @@ export function reportPeerRanges(manifest) {
94
96
  for (const name of DEP_SECTIONS) {
95
97
  const range = manifest.section(name)?.['@fortawesome/fontawesome-free'];
96
98
  if (range && /^[~^]?[0-5](?:[.x]|$)/.test(range.trim())) {
97
- manifest.report('peer-deps', `@fortawesome/fontawesome-free ${range} predates bestax-bulma's optional peer range (^6.7.2 || ^7.0.0) — upgrade it, or install with \`npm install --legacy-peer-deps\``);
99
+ manifest.report('peer-deps', `@fortawesome/fontawesome-free ${range} predates bestax-bulma's optional peer range (${FONT_AWESOME_PEER_RANGE}) — upgrade it, or install with \`npm install --legacy-peer-deps\``);
98
100
  }
99
101
  }
100
102
  }
@@ -67,14 +67,35 @@ export declare function inlineStyleDisplay(element: Element): string | undefined
67
67
  * closed dialog). Undefined for an element in another namespace.
68
68
  */
69
69
  export declare function uaDisplay(element: Element): string | undefined;
70
+ /**
71
+ * An element's inline `display`, when it is one CSS reads; undefined when it
72
+ * sets none, or one CSS ignores.
73
+ */
74
+ export declare function validInlineDisplay(element: Element): string | undefined;
70
75
  /**
71
76
  * An inline `display`, when it is one CSS reads (otherwise the declaration
72
77
  * is ignored), else the UA stylesheet's.
73
78
  */
74
79
  export declare const defaultDisplayOf: DisplayOf;
80
+ /** How a box sits among its siblings. */
81
+ export type Outer = 'none' | 'block' | 'inline';
82
+ /**
83
+ * How a box's content flows: on in its parent's lines (`inline`), in lines
84
+ * of its own (`block`), or as boxes of its own, each child its own block
85
+ * (`boxes`).
86
+ */
87
+ export type Inner = 'inline' | 'block' | 'boxes';
88
+ interface Box {
89
+ outer: Outer;
90
+ inner: Inner;
91
+ exact: boolean;
92
+ }
93
+ /** What a `display` value means for whitespace: how it sits, how it flows. */
94
+ export declare function boxOfDisplay(display: string | undefined): Omit<Box, 'exact'>;
75
95
  /**
76
96
  * Every element's and fragment's children as pieces, from `root` down.
77
97
  * `root` is laid out as a block container, as a page's body is.
78
98
  */
79
99
  export declare function layoutWhitespace(root: ParentNode, displayOf?: DisplayOf): Map<ParentNode, Piece[]>;
100
+ export {};
80
101
  //# sourceMappingURL=whitespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whitespace.d.ts","sourceRoot":"","sources":["../../../../src/sources/_shared/html/whitespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAGpB,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;AAEjE,MAAM,MAAM,KAAK;AACf,6CAA6C;AAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAA;CAAE;AAC/C,8CAA8C;GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AACrD;;;GAGG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AACzE,2DAA2D;GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAyJzD,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB9D;AAMD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAM9B,CAAC;AAsIF;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,SAA4B,GACtC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CA0G1B"}
1
+ {"version":3,"file":"whitespace.d.ts","sourceRoot":"","sources":["../../../../src/sources/_shared/html/whitespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAGpB,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;AAEjE,MAAM,MAAM,KAAK;AACf,6CAA6C;AAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAA;CAAE;AAC/C,8CAA8C;GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AACrD;;;GAGG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AACzE,2DAA2D;GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAyJzD,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB9D;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMvE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SACoB,CAAC;AAEpD,yCAAyC;AACzC,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD,UAAU,GAAG;IACX,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAmB5E;AAiGD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,SAA4B,GACtC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CA0G1B"}
@@ -202,16 +202,22 @@ export function uaDisplay(element) {
202
202
  /** The keywords a `display` value is made of. */
203
203
  const DISPLAY_KEYWORDS = /^(?:none|contents|block|inline|run-in|flow|flow-root|table|flex|grid|ruby|list-item|inline-(?:block|table|flex|grid|list-item)|table-(?:row-group|header-group|footer-group|row|cell|column-group|column|caption)|ruby-(?:base|text|base-container|text-container))$/;
204
204
  /**
205
- * An inline `display`, when it is one CSS reads (otherwise the declaration
206
- * is ignored), else the UA stylesheet's.
205
+ * An element's inline `display`, when it is one CSS reads; undefined when it
206
+ * sets none, or one CSS ignores.
207
207
  */
208
- export const defaultDisplayOf = element => {
208
+ export function validInlineDisplay(element) {
209
209
  const inline = inlineStyleDisplay(element);
210
210
  const valid = inline !== undefined &&
211
211
  inline.split(/\s+/).every(word => DISPLAY_KEYWORDS.test(word));
212
- return valid ? inline : uaDisplay(element);
213
- };
214
- function boxOfDisplay(display) {
212
+ return valid ? inline : undefined;
213
+ }
214
+ /**
215
+ * An inline `display`, when it is one CSS reads (otherwise the declaration
216
+ * is ignored), else the UA stylesheet's.
217
+ */
218
+ export const defaultDisplayOf = element => validInlineDisplay(element) ?? uaDisplay(element);
219
+ /** What a `display` value means for whitespace: how it sits, how it flows. */
220
+ export function boxOfDisplay(display) {
215
221
  const words = (display ?? 'inline').trim().split(/\s+/);
216
222
  const has = (...names) => names.some(name => words.includes(name));
217
223
  if (has('none'))
@@ -383,6 +383,16 @@ export declare const FORWARDS_REF: readonly string[];
383
383
  export declare const WRAPPERS: Readonly<Record<string, string>>;
384
384
  /** The wrappers' own props, as `ROOTS` lists them for the components. */
385
385
  export declare const WRAPPER_OWN_PROPS: Readonly<Record<string, readonly string[]>>;
386
+ /**
387
+ * Every class Bulma 0.9.4's compiled stylesheet has and v1's does not, read
388
+ * off the two with the class walk `e2e/bulma-classes-vocabulary.test.ts`
389
+ * uses. Under v1 these style nothing: the tiles, `.columns.is-variable`,
390
+ * `.heading`, `.number`, `is-marginless` and `is-paddingless` (v1 spells the
391
+ * last two `marginless` and `paddingless`). That test holds each one absent
392
+ * from the v1 stylesheet bestax depends on; the 0.9 half was read from its
393
+ * published package, which nothing here installs.
394
+ */
395
+ export declare const REMOVED_IN_V1: readonly string[];
386
396
  /** Bulma 0.9 classes v1 dropped, with what replaced them. */
387
397
  export declare const LEGACY_09: Readonly<Record<string, string>>;
388
398
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"class-map.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/class-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-map.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/class-map.ts"],"names":[],"mappings":"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"}
@@ -842,6 +842,8 @@ export const ROOTS = {
842
842
  '`color` renders `has-text-<color>` on the input as well',
843
843
  ])),
844
844
  adoptsIdFrom: ['Field'],
845
+ // The <input>'s own attributes, which React's types take as numbers.
846
+ numberAttrs: ['maxLength', 'minLength'],
845
847
  ownProps: [
846
848
  'color',
847
849
  'size',
@@ -876,6 +878,8 @@ export const ROOTS = {
876
878
  '`color` renders `has-text-<color>` on the textarea as well',
877
879
  ])),
878
880
  adoptsIdFrom: ['Field'],
881
+ // The <textarea>'s own attributes, which React's types take as numbers.
882
+ numberAttrs: ['rows', 'cols', 'maxLength', 'minLength'],
879
883
  ownProps: [
880
884
  'color',
881
885
  'size',
@@ -1972,6 +1976,27 @@ export const WRAPPER_OWN_PROPS = {
1972
1976
  UnorderedList: ['textColor', 'bgColor'],
1973
1977
  Figure: ['textColor', 'bgColor'],
1974
1978
  };
1979
+ /**
1980
+ * Every class Bulma 0.9.4's compiled stylesheet has and v1's does not, read
1981
+ * off the two with the class walk `e2e/bulma-classes-vocabulary.test.ts`
1982
+ * uses. Under v1 these style nothing: the tiles, `.columns.is-variable`,
1983
+ * `.heading`, `.number`, `is-marginless` and `is-paddingless` (v1 spells the
1984
+ * last two `marginless` and `paddingless`). That test holds each one absent
1985
+ * from the v1 stylesheet bestax depends on; the 0.9 half was read from its
1986
+ * published package, which nothing here installs.
1987
+ */
1988
+ export const REMOVED_IN_V1 = [
1989
+ 'heading',
1990
+ 'is-ancestor',
1991
+ 'is-child',
1992
+ 'is-marginless',
1993
+ 'is-paddingless',
1994
+ 'is-parent',
1995
+ 'is-variable',
1996
+ 'is-vertical',
1997
+ 'number',
1998
+ 'tile',
1999
+ ];
1975
2000
  /** Bulma 0.9 classes v1 dropped, with what replaced them. */
1976
2001
  export const LEGACY_09 = {
1977
2002
  tile: 'Bulma v1 removed tiles; rebuild the layout with `Grid` and `Cell` (see the Bulma 0.9 to 1 guide)',
@@ -37,6 +37,15 @@ export declare const COMPONENT_DISPLAY: Readonly<Record<string, BulmaDisplay | V
37
37
  * only.
38
38
  */
39
39
  export declare const HELPER_DISPLAY: Readonly<Record<string, BulmaDisplay | VaryingDisplay>>;
40
+ /**
41
+ * Bulma's rules that take an element out of the flow (`position: absolute`
42
+ * or `fixed`), at some viewport or all of them, by the same kind of selector
43
+ * as the display tables. A box out of the flow ends no line, so a run beside
44
+ * one is beside whatever is past it, whatever its display.
45
+ */
46
+ export declare const OUT_OF_FLOW: readonly string[];
47
+ /** Whether a Bulma rule takes an element out of the flow at some viewport. */
48
+ export declare function bulmaOutOfFlow(classes: Iterable<string>): boolean;
40
49
  export interface DisplayRule {
41
50
  readonly tag: string | undefined;
42
51
  readonly classes: readonly string[];
@@ -68,7 +77,8 @@ export declare function rulesOf(table: Readonly<Record<string, BulmaDisplay | Va
68
77
  * `none` is no box at all (`.modal` until it is active), so a run beside one
69
78
  * is beside whatever is past it. And these are displays alone: a box a rule
70
79
  * also takes out of the flow (`.modal`'s `position: fixed`) still reads as
71
- * its display here, though a run beside it is beside its neighbours.
80
+ * its display here, though a run beside it is beside its neighbours, which
81
+ * is what `OUT_OF_FLOW` is for.
72
82
  */
73
83
  export declare function bulmaDisplay(tag: string, classes: Iterable<string>): ReadonlySet<BulmaDisplay | undefined> | undefined;
74
84
  //# sourceMappingURL=display.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,cAAc,GACd,aAAa,GACb,MAAM,CAAC;AAEX;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CA4F9C,CAAC;AAoBF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CACnC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CAS9C,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC,EAC9D,SAAS,EAAE,OAAO,GACjB,WAAW,EAAE,CA2Bf;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,WAAW,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,SAAS,CAoBnD"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,cAAc,GACd,aAAa,GACb,MAAM,CAAC;AAEX;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CA4F9C,CAAC;AAoBF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CACnC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CAS9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAkBxC,CAAC;AAMF,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAKjE;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC,EAC9D,SAAS,EAAE,OAAO,GACjB,WAAW,EAAE,CA2Bf;AAOD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,WAAW,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,SAAS,CAoBnD"}
@@ -142,6 +142,37 @@ export const HELPER_DISPLAY = Object.fromEntries(Object.entries(HELPERS).flatMap
142
142
  { media: display },
143
143
  ]),
144
144
  ]));
145
+ /**
146
+ * Bulma's rules that take an element out of the flow (`position: absolute`
147
+ * or `fixed`), at some viewport or all of them, by the same kind of selector
148
+ * as the display tables. A box out of the flow ends no line, so a run beside
149
+ * one is beside whatever is past it, whatever its display.
150
+ */
151
+ export const OUT_OF_FLOW = [
152
+ '.dropdown-menu',
153
+ '.file-input',
154
+ '.hero-video',
155
+ '.is-overlay',
156
+ '.is-position-absolute',
157
+ '.is-position-fixed',
158
+ '.is-sr-only',
159
+ '.modal',
160
+ '.modal-background',
161
+ '.modal-close',
162
+ '.navbar-dropdown',
163
+ '.navbar.is-fixed-bottom',
164
+ '.navbar.is-fixed-bottom-desktop',
165
+ '.navbar.is-fixed-bottom-touch',
166
+ '.navbar.is-fixed-top',
167
+ '.navbar.is-fixed-top-desktop',
168
+ '.navbar.is-fixed-top-touch',
169
+ ];
170
+ const OUT_OF_FLOW_CLASSES = OUT_OF_FLOW.map(selector => [...selector.matchAll(/\.([\w-]+)/g)].map(match => match[1]));
171
+ /** Whether a Bulma rule takes an element out of the flow at some viewport. */
172
+ export function bulmaOutOfFlow(classes) {
173
+ const own = new Set(classes);
174
+ return OUT_OF_FLOW_CLASSES.some(needed => needed.every(token => own.has(token)));
175
+ }
145
176
  /** A display table's selectors, read as the rules the lookup weighs. */
146
177
  export function rulesOf(table, important) {
147
178
  return Object.entries(table).flatMap(([selector, entry]) => {
@@ -192,7 +223,8 @@ const RULES = [
192
223
  * `none` is no box at all (`.modal` until it is active), so a run beside one
193
224
  * is beside whatever is past it. And these are displays alone: a box a rule
194
225
  * also takes out of the flow (`.modal`'s `position: fixed`) still reads as
195
- * its display here, though a run beside it is beside its neighbours.
226
+ * its display here, though a run beside it is beside its neighbours, which
227
+ * is what `OUT_OF_FLOW` is for.
196
228
  */
197
229
  export function bulmaDisplay(tag, classes) {
198
230
  const own = new Set(classes);
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The stylesheets and scripts a Bulma page loads, read from their URLs: what
3
+ * each one is (`html-asset:<kind>`, `ASSET_KINDS` in `html-rules.ts`) and what
4
+ * to do about it now that a component renders the page. Pure: the caller
5
+ * reads the page, decides where a note goes and whether Bulma's stylesheet
6
+ * becomes an import.
7
+ *
8
+ * A message names bestax's component for an extension only where one does
9
+ * what the extension did; each claim here was read off the component.
10
+ */
11
+ import type { CssMode } from '../../types.js';
12
+ export type Loads = 'stylesheet' | 'script';
13
+ export type Asset =
14
+ /** Bulma's stylesheet; `build` names one of its other builds. */
15
+ {
16
+ kind: 'bulma';
17
+ build: string | null;
18
+ version: string | null;
19
+ } | {
20
+ kind: 'font-awesome';
21
+ major: number | null;
22
+ kit: boolean;
23
+ }
24
+ /** `name` is the package, as the URL spells it (`bulma-carousel`). */
25
+ | {
26
+ kind: 'bulma-extension';
27
+ name: string;
28
+ } | {
29
+ kind: 'jquery';
30
+ } | {
31
+ kind: 'webfont';
32
+ icons: 'material-icons' | 'material-symbols' | null;
33
+ } | {
34
+ kind: 'stylesheet';
35
+ } | {
36
+ kind: 'script';
37
+ };
38
+ export declare function classifyAsset(url: string, loads: Loads): Asset;
39
+ export declare const GUIDE_0_9_TO_1 = "https://bestax.io/docs/guides/getting-started/migration/bulma-0-9-to-1";
40
+ /** A primary color class: `is-primary`, `has-text-primary-dark`, … */
41
+ export declare const PRIMARY_CLASS: RegExp;
42
+ export interface BulmaFacts {
43
+ /** The URL, as the TODO quotes it. */
44
+ quoted: string;
45
+ version: string | null;
46
+ css: CssMode;
47
+ /** Whether the page's markup has a primary color class. */
48
+ usesPrimary: boolean;
49
+ /** Whether the page's module goes into a Next.js app. */
50
+ nextjs?: boolean;
51
+ }
52
+ /**
53
+ * What a page's link to Bulma's standard stylesheet leaves to do. Under
54
+ * `keep` it is only reported. Under `bestax` and `bulma` the module imports
55
+ * the stylesheet in its place, so what is left is the move to Bulma 1 (for a
56
+ * page made for an older one, or one whose URL doesn't say) and, under
57
+ * `bestax`, its primary color: nothing at all for a Bulma 1 page with no
58
+ * primary class, which then has no note. A Next.js app is the exception: its
59
+ * Pages Router takes a global stylesheet only in `pages/_app`, so there the
60
+ * module imports none, and the note says where it goes.
61
+ */
62
+ export declare function bulmaStylesheetMessage(facts: BulmaFacts): string | null;
63
+ /**
64
+ * A link to Bulma's stylesheet for some media only (`print`), which an
65
+ * import, applying to every medium, can't stand for.
66
+ */
67
+ export declare function bulmaMediaMessage(quoted: string, version: string | null, media: string): string;
68
+ /** One of Bulma's other builds, which no `--css` mode imports for the page. */
69
+ export declare function bulmaBuildMessage(build: string, quoted: string): string;
70
+ export declare function fontAwesomeMessage(asset: Extract<Asset, {
71
+ kind: 'font-awesome';
72
+ }>, quoted: string): string;
73
+ /**
74
+ * The extensions bestax has a component for, by package (a scoped one by its
75
+ * name alone), with the component that does what the extension did.
76
+ */
77
+ export declare const EXTENSION_COMPONENTS: Readonly<Record<string, string>>;
78
+ export declare function extensionMessage(name: string, quoted: string[], loads: ReadonlySet<Loads>, css: CssMode): string;
79
+ export declare function jqueryMessage(quoted: string): string;
80
+ export declare function webfontMessage(asset: Extract<Asset, {
81
+ kind: 'webfont';
82
+ }>, quoted: string): string;
83
+ /** Where a stylesheet or script is, read beside the page. */
84
+ export type Place = 'beside' | 'missing' | 'elsewhere';
85
+ export declare function stylesheetMessage(quoted: string, place: Place, target: string): string;
86
+ export declare function scriptMessage(quoted: string, place: Place, target: string): string;
87
+ //# sourceMappingURL=html-assets.d.ts.map