hermium 0.1.10 → 0.3.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/README.md +56 -0
- package/bin/hermium.mjs +201 -136
- package/dist/api.mjs +3513 -0
- package/dist/{web-server → server}/_chunks/ssr-renderer.mjs +1 -1
- package/dist/{web-server → server}/_libs/base-ui__react.mjs +338 -34
- package/dist/{web-server → server}/_libs/base-ui__utils.mjs +38 -33
- package/dist/server/_libs/comma-separated-tokens.mjs +10 -0
- package/dist/{web-server → server}/_libs/floating-ui__core.mjs +3 -3
- package/dist/{web-server → server}/_libs/floating-ui__dom.mjs +4 -4
- package/dist/{web-server → server}/_libs/floating-ui__react-dom.mjs +3 -3
- package/dist/{web-server → server}/_libs/floating-ui__utils.mjs +38 -38
- package/dist/{web-server → server}/_libs/h3.mjs +3 -3
- package/dist/server/_libs/hast-util-is-element.mjs +75 -0
- package/dist/{web-server → server}/_libs/hast-util-to-jsx-runtime.mjs +2 -2
- package/dist/server/_libs/hast-util-to-text.mjs +305 -0
- package/dist/server/_libs/highlight.js.mjs +14756 -0
- package/dist/server/_libs/lowlight.mjs +262 -0
- package/dist/{web-server → server}/_libs/mdast-util-from-markdown.mjs +1 -1
- package/dist/{web-server → server}/_libs/mdast-util-gfm-autolink-literal+[...].mjs +2 -2
- package/dist/{web-server → server}/_libs/mdast-util-to-hast.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-core-commonmark.mjs +24 -24
- package/dist/{web-server → server}/_libs/micromark-extension-gfm-autolink-literal+[...].mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-extension-gfm-footnote+[...].mjs +2 -2
- package/dist/{web-server → server}/_libs/micromark-extension-gfm-table.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-extension-gfm-task-list-item+[...].mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-factory-destination.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-factory-label.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-factory-space.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-factory-whitespace.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-util-character.mjs +12 -12
- package/dist/{web-server → server}/_libs/micromark-util-classify-character+[...].mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark-util-html-tag-name.mjs +2 -2
- package/dist/{web-server → server}/_libs/micromark-util-sanitize-uri.mjs +1 -1
- package/dist/{web-server → server}/_libs/micromark.mjs +3 -3
- package/dist/{web-server → server}/_libs/property-information.mjs +2 -3
- package/dist/{web-server → server}/_libs/react-dom.mjs +1 -1
- package/dist/{web-server → server}/_libs/react.mjs +42 -42
- package/dist/server/_libs/rehype-highlight.mjs +94 -0
- package/dist/server/_libs/space-separated-tokens.mjs +6 -0
- package/dist/server/_libs/tabler__icons-react.mjs +140 -0
- package/dist/server/_libs/tailwind-merge.mjs +3255 -0
- package/dist/server/_libs/tanstack__history.mjs +29 -0
- package/dist/{web-server → server}/_libs/tanstack__react-router.mjs +3 -3
- package/dist/{web-server → server}/_libs/tanstack__router-core.mjs +47 -741
- package/dist/server/_libs/unist-util-find-after.mjs +41 -0
- package/dist/{web-server → server}/_libs/unist-util-position.mjs +2 -2
- package/dist/{web-server → server}/_libs/use-sync-external-store.mjs +1 -1
- package/dist/server/_libs/zustand.mjs +43 -0
- package/dist/server/_ssr/ChatInputBlock-Bu2-iop_.mjs +220 -0
- package/dist/server/_ssr/MarkdownMessage-CNS7OSKN.mjs +68 -0
- package/dist/server/_ssr/chat._sessionId-P02iSfut.mjs +477 -0
- package/dist/{web-server/_ssr/index-CoDfv1vI.mjs → server/_ssr/chat.index-BYB_48NC.mjs} +6 -8
- package/dist/server/_ssr/index-C1mT_2d8.mjs +4890 -0
- package/dist/server/_ssr/index-DFV9_oCk.mjs +43 -0
- package/dist/server/_ssr/memory-CW_fSOG9.mjs +257 -0
- package/dist/{web-server/_ssr/router-CS6Zq3md.mjs → server/_ssr/router-CUAfx91O.mjs} +1009 -1108
- package/dist/server/_ssr/settings-DoXurzvn.mjs +10 -0
- package/dist/server/_ssr/skills-Cs7A5ZwO.mjs +422 -0
- package/dist/server/_ssr/theme-BK4-7E2h.mjs +42 -0
- package/dist/server/_ssr/usage-Bs2-LXGz.mjs +298 -0
- package/dist/server/_tanstack-start-manifest_v-C7Upe2TI.mjs +4 -0
- package/dist/server/index.mjs +502 -240
- package/package.json +4 -3
- package/dist/public/assets/IconAlertCircle-BW147gsG.js +0 -1
- package/dist/public/assets/IconAlertTriangle-DCoTLVSd.js +0 -1
- package/dist/public/assets/IconCheck-DAO7Fpl9.js +0 -1
- package/dist/public/assets/IconCode-BqfTl5wU.js +0 -1
- package/dist/public/assets/IconLoader2-B_pehSXN.js +0 -1
- package/dist/public/assets/IconRefresh-BbMGoMV8.js +0 -1
- package/dist/public/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
- package/dist/public/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
- package/dist/public/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
- package/dist/public/assets/index-BL9a2Xg9.js +0 -1
- package/dist/public/assets/index-BSwXjgjr.js +0 -1
- package/dist/public/assets/index-BWl8tn18.js +0 -1
- package/dist/public/assets/index-CQh8SXb2.js +0 -94
- package/dist/public/assets/index-Cxd-kSUY.js +0 -1
- package/dist/public/assets/index-DA5SH--7.js +0 -2
- package/dist/public/assets/index-DCHbvtBS.js +0 -1
- package/dist/public/assets/index-DCYXJZEe.js +0 -1
- package/dist/public/assets/index-DFDfp0ca.js +0 -1
- package/dist/public/assets/index-GuAAqSCJ.js +0 -14
- package/dist/public/assets/index-WIDirTHx.js +0 -29
- package/dist/public/assets/index-X3XZcAzy.js +0 -1
- package/dist/public/assets/input-7TQEEJq6.js +0 -1
- package/dist/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/dist/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/dist/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/dist/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/dist/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/dist/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/dist/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/dist/public/assets/models-BlUb1eaf.js +0 -1
- package/dist/public/assets/styles-PHtUFHUr.css +0 -1
- package/dist/public/assets/switch-B_iYUUM3.js +0 -1
- package/dist/public/assets/syntax-highlighter-DcBYfnEK.js +0 -6
- package/dist/public/assets/textarea-Dm4aaRqS.js +0 -1
- package/dist/public/favicon.ico +0 -0
- package/dist/public/favicon.png +0 -0
- package/dist/public/manifest.json +0 -25
- package/dist/public/nous-logo.png +0 -0
- package/dist/public/robots.txt +0 -3
- package/dist/web-server/_libs/babel__runtime.mjs +0 -237
- package/dist/web-server/_libs/character-entities-legacy.mjs +0 -111
- package/dist/web-server/_libs/character-reference-invalid.mjs +0 -33
- package/dist/web-server/_libs/comma-separated-tokens.mjs +0 -31
- package/dist/web-server/_libs/cookie-es.mjs +0 -44
- package/dist/web-server/_libs/hast-util-parse-selector.mjs +0 -39
- package/dist/web-server/_libs/hastscript.mjs +0 -200
- package/dist/web-server/_libs/is-alphabetical.mjs +0 -7
- package/dist/web-server/_libs/is-alphanumerical.mjs +0 -8
- package/dist/web-server/_libs/is-decimal.mjs +0 -7
- package/dist/web-server/_libs/is-hexadecimal.mjs +0 -7
- package/dist/web-server/_libs/lowlight.mjs +0 -1
- package/dist/web-server/_libs/parse-entities.mjs +0 -245
- package/dist/web-server/_libs/react-syntax-highlighter.mjs +0 -941
- package/dist/web-server/_libs/refractor.mjs +0 -2425
- package/dist/web-server/_libs/seroval-plugins.mjs +0 -58
- package/dist/web-server/_libs/seroval.mjs +0 -1775
- package/dist/web-server/_libs/space-separated-tokens.mjs +0 -11
- package/dist/web-server/_libs/tabler__icons-react.mjs +0 -233
- package/dist/web-server/_libs/tanstack__history.mjs +0 -204
- package/dist/web-server/_libs/tanstack__query-core.mjs +0 -2552
- package/dist/web-server/_libs/tanstack__react-query.mjs +0 -190
- package/dist/web-server/_libs/zod.mjs +0 -3915
- package/dist/web-server/_libs/zustand.mjs +0 -343
- package/dist/web-server/_ssr/index--Bo2_ipW.mjs +0 -277
- package/dist/web-server/_ssr/index-BEvygh5x.mjs +0 -612
- package/dist/web-server/_ssr/index-BFaKxYfN.mjs +0 -40
- package/dist/web-server/_ssr/index-BdrMzRTd.mjs +0 -513
- package/dist/web-server/_ssr/index-Cwp8Gyl1.mjs +0 -1812
- package/dist/web-server/_ssr/index-DQsfKYjV.mjs +0 -449
- package/dist/web-server/_ssr/index-Dbs9k8Ea.mjs +0 -251
- package/dist/web-server/_ssr/index-Dk93oyZD.mjs +0 -213
- package/dist/web-server/_ssr/index-KNJ7huw_.mjs +0 -369
- package/dist/web-server/_ssr/index.mjs +0 -1558
- package/dist/web-server/_ssr/input-BV1DMASc.mjs +0 -20
- package/dist/web-server/_ssr/models-MzrvbL2i.mjs +0 -43
- package/dist/web-server/_ssr/start-HYkvq4Ni.mjs +0 -4
- package/dist/web-server/_ssr/switch-Bd-Sg0HG.mjs +0 -33
- package/dist/web-server/_ssr/syntax-highlighter-5vezNTce.mjs +0 -62
- package/dist/web-server/_ssr/textarea-CB4kQp9w.mjs +0 -18
- package/dist/web-server/_tanstack-start-manifest_v-m5lY48LR.mjs +0 -4
- package/dist/web-server/index.mjs +0 -611
- /package/dist/{web-server → server}/__23tanstack-start-plugin-adapters-Cwee5PKy.mjs +0 -0
- /package/dist/{web-server → server}/_libs/bail.mjs +0 -0
- /package/dist/{web-server → server}/_libs/ccount.mjs +0 -0
- /package/dist/{web-server → server}/_libs/character-entities.mjs +0 -0
- /package/dist/{web-server → server}/_libs/class-variance-authority.mjs +0 -0
- /package/dist/{web-server → server}/_libs/clsx.mjs +0 -0
- /package/dist/{web-server/_libs/croner.mjs → server/_libs/cookie-es.mjs} +0 -0
- /package/dist/{web-server/_libs/crossws.mjs → server/_libs/croner.mjs} +0 -0
- /package/dist/{web-server/_libs/fault.mjs → server/_libs/crossws.mjs} +0 -0
- /package/dist/{web-server → server}/_libs/decode-named-character-reference+[...].mjs +0 -0
- /package/dist/{web-server → server}/_libs/devlop.mjs +0 -0
- /package/dist/{web-server → server}/_libs/escape-string-regexp.mjs +0 -0
- /package/dist/{web-server → server}/_libs/estree-util-is-identifier-name.mjs +0 -0
- /package/dist/{web-server → server}/_libs/extend.mjs +0 -0
- /package/dist/{web-server → server}/_libs/hast-util-whitespace.mjs +0 -0
- /package/dist/{web-server → server}/_libs/hookable.mjs +0 -0
- /package/dist/{web-server → server}/_libs/html-url-attributes.mjs +0 -0
- /package/dist/{web-server → server}/_libs/inline-style-parser.mjs +0 -0
- /package/dist/{web-server → server}/_libs/is-plain-obj.mjs +0 -0
- /package/dist/{web-server → server}/_libs/isbot.mjs +0 -0
- /package/dist/{web-server → server}/_libs/longest-streak.mjs +0 -0
- /package/dist/{web-server → server}/_libs/markdown-table.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-find-and-replace.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-gfm-footnote.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-gfm-strikethrough.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-gfm-table.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-gfm-task-list-item.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-gfm.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-phrasing.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-to-markdown.mjs +0 -0
- /package/dist/{web-server → server}/_libs/mdast-util-to-string.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-extension-gfm-strikethrough+[...].mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-extension-gfm-tagfilter+[...].mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-extension-gfm.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-factory-title.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-chunked.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-combine-extensions+[...].mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-decode-numeric-character-reference+[...].mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-decode-string.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-encode.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-normalize-identifier+[...].mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-resolve-all.mjs +0 -0
- /package/dist/{web-server → server}/_libs/micromark-util-subtokenize.mjs +0 -0
- /package/dist/{web-server → server}/_libs/ocache.mjs +0 -0
- /package/dist/{web-server → server}/_libs/ohash.mjs +0 -0
- /package/dist/{web-server → server}/_libs/react-markdown.mjs +0 -0
- /package/dist/{web-server → server}/_libs/remark-gfm.mjs +0 -0
- /package/dist/{web-server → server}/_libs/remark-parse.mjs +0 -0
- /package/dist/{web-server → server}/_libs/remark-rehype.mjs +0 -0
- /package/dist/{web-server → server}/_libs/reselect.mjs +0 -0
- /package/dist/{web-server → server}/_libs/rou3.mjs +0 -0
- /package/dist/{web-server/_libs/format.mjs → server/_libs/seroval-plugins.mjs} +0 -0
- /package/dist/{web-server/_libs/highlight.js.mjs → server/_libs/seroval.mjs} +0 -0
- /package/dist/{web-server → server}/_libs/srvx.mjs +0 -0
- /package/dist/{web-server → server}/_libs/style-to-js.mjs +0 -0
- /package/dist/{web-server → server}/_libs/style-to-object.mjs +0 -0
- /package/dist/{web-server → server}/_libs/tanstack__react-store.mjs +0 -0
- /package/dist/{web-server → server}/_libs/tanstack__store.mjs +0 -0
- /package/dist/{web-server → server}/_libs/trim-lines.mjs +0 -0
- /package/dist/{web-server → server}/_libs/trough.mjs +0 -0
- /package/dist/{web-server → server}/_libs/ufo.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unctx.mjs +0 -0
- /package/dist/{web-server → server}/_libs/ungap__structured-clone.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unified.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unist-util-is.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unist-util-stringify-position.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unist-util-visit-parents.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unist-util-visit.mjs +0 -0
- /package/dist/{web-server → server}/_libs/unstorage.mjs +0 -0
- /package/dist/{web-server → server}/_libs/vfile-message.mjs +0 -0
- /package/dist/{web-server → server}/_libs/vfile.mjs +0 -0
- /package/dist/{web-server → server}/_libs/zwitch.mjs +0 -0
|
@@ -280,43 +280,43 @@ function rectToClientRect(rect) {
|
|
|
280
280
|
};
|
|
281
281
|
}
|
|
282
282
|
export {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
283
|
+
isHTMLElement as A,
|
|
284
|
+
isLastTraversableNode as B,
|
|
285
|
+
isNode as C,
|
|
286
|
+
isOverflowElement as D,
|
|
287
|
+
isShadowRoot as E,
|
|
288
|
+
isTableElement as F,
|
|
289
|
+
isTopLayer as G,
|
|
290
|
+
isWebKit as H,
|
|
291
|
+
max as I,
|
|
292
|
+
min as J,
|
|
293
|
+
rectToClientRect as K,
|
|
294
|
+
round as L,
|
|
295
|
+
sides as M,
|
|
296
|
+
createCoords as a,
|
|
297
|
+
getAlignmentAxis as b,
|
|
298
|
+
clamp as c,
|
|
299
|
+
getAlignmentSides as d,
|
|
300
|
+
evaluate as e,
|
|
301
301
|
floor as f,
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
302
|
+
getAlignment as g,
|
|
303
|
+
getAxisLength as h,
|
|
304
|
+
getComputedStyle as i,
|
|
305
|
+
getContainingBlock as j,
|
|
306
|
+
getDocumentElement as k,
|
|
307
|
+
getExpandedPlacements as l,
|
|
308
|
+
getFrameElement as m,
|
|
309
|
+
getNodeName as n,
|
|
310
|
+
getNodeScroll as o,
|
|
311
|
+
getOppositeAxis as p,
|
|
312
|
+
getOppositeAxisPlacements as q,
|
|
313
|
+
getOppositePlacement as r,
|
|
314
|
+
getOverflowAncestors as s,
|
|
315
|
+
getPaddingObject as t,
|
|
316
|
+
getParentNode as u,
|
|
317
|
+
getSide as v,
|
|
318
|
+
getSideAxis as w,
|
|
319
|
+
getWindow as x,
|
|
320
|
+
isContainingBlock as y,
|
|
321
|
+
isElement as z
|
|
322
322
|
};
|
|
@@ -399,9 +399,9 @@ var H3Core = class {
|
|
|
399
399
|
}
|
|
400
400
|
};
|
|
401
401
|
export {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
402
|
+
H3Core as H,
|
|
403
|
+
HTTPError as a,
|
|
404
|
+
defineLazyEventHandler as b,
|
|
405
405
|
toRequest as c,
|
|
406
406
|
defineHandler as d,
|
|
407
407
|
toEventHandler as t
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
const convertElement = (
|
|
2
|
+
// Note: overloads in JSDoc can’t yet use different `@template`s.
|
|
3
|
+
/**
|
|
4
|
+
* @type {(
|
|
5
|
+
* (<Condition extends TestFunction>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate<Condition, Element>) &
|
|
6
|
+
* (<Condition extends string>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &
|
|
7
|
+
* ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &
|
|
8
|
+
* ((test?: Test) => Check)
|
|
9
|
+
* )}
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* @param {Test | null | undefined} [test]
|
|
13
|
+
* @returns {Check}
|
|
14
|
+
*/
|
|
15
|
+
(function(test) {
|
|
16
|
+
if (test === null || test === void 0) {
|
|
17
|
+
return element;
|
|
18
|
+
}
|
|
19
|
+
if (typeof test === "string") {
|
|
20
|
+
return tagNameFactory(test);
|
|
21
|
+
}
|
|
22
|
+
if (typeof test === "object") {
|
|
23
|
+
return anyFactory(test);
|
|
24
|
+
}
|
|
25
|
+
if (typeof test === "function") {
|
|
26
|
+
return castFactory(test);
|
|
27
|
+
}
|
|
28
|
+
throw new Error("Expected function, string, or array as `test`");
|
|
29
|
+
})
|
|
30
|
+
);
|
|
31
|
+
function anyFactory(tests) {
|
|
32
|
+
const checks = [];
|
|
33
|
+
let index = -1;
|
|
34
|
+
while (++index < tests.length) {
|
|
35
|
+
checks[index] = convertElement(tests[index]);
|
|
36
|
+
}
|
|
37
|
+
return castFactory(any);
|
|
38
|
+
function any(...parameters) {
|
|
39
|
+
let index2 = -1;
|
|
40
|
+
while (++index2 < checks.length) {
|
|
41
|
+
if (checks[index2].apply(this, parameters)) return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function tagNameFactory(check) {
|
|
47
|
+
return castFactory(tagName);
|
|
48
|
+
function tagName(element2) {
|
|
49
|
+
return element2.tagName === check;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function castFactory(testFunction) {
|
|
53
|
+
return check;
|
|
54
|
+
function check(value, index, parent) {
|
|
55
|
+
return Boolean(
|
|
56
|
+
looksLikeAnElement(value) && testFunction.call(
|
|
57
|
+
this,
|
|
58
|
+
value,
|
|
59
|
+
typeof index === "number" ? index : void 0,
|
|
60
|
+
parent || void 0
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function element(element2) {
|
|
66
|
+
return Boolean(
|
|
67
|
+
element2 && typeof element2 === "object" && "type" in element2 && element2.type === "element" && "tagName" in element2 && typeof element2.tagName === "string"
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
function looksLikeAnElement(value) {
|
|
71
|
+
return value !== null && typeof value === "object" && "type" in value && "tagName" in value;
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
convertElement as c
|
|
75
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { s as stringify } from "./comma-separated-tokens.mjs";
|
|
2
2
|
import { o as ok } from "./devlop.mjs";
|
|
3
|
-
import { s as svg,
|
|
3
|
+
import { s as svg, a as html, f as find, h as hastToReact } from "./property-information.mjs";
|
|
4
4
|
import { s as stringify$1 } from "./space-separated-tokens.mjs";
|
|
5
5
|
import { s as styleToJs } from "./style-to-js.mjs";
|
|
6
6
|
import { w as whitespace } from "./hast-util-whitespace.mjs";
|
|
7
7
|
import { n as name } from "./estree-util-is-identifier-name.mjs";
|
|
8
8
|
import { V as VFileMessage } from "./vfile-message.mjs";
|
|
9
|
-
import {
|
|
9
|
+
import { a as pointStart } from "./unist-util-position.mjs";
|
|
10
10
|
const own = {}.hasOwnProperty;
|
|
11
11
|
const emptyMap = /* @__PURE__ */ new Map();
|
|
12
12
|
const cap = /[A-Z]/g;
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { c as convertElement } from "./hast-util-is-element.mjs";
|
|
2
|
+
import { f as findAfter } from "./unist-util-find-after.mjs";
|
|
3
|
+
const searchLineFeeds = /\n/g;
|
|
4
|
+
const searchTabOrSpaces = /[\t ]+/g;
|
|
5
|
+
const br = convertElement("br");
|
|
6
|
+
const cell = convertElement(isCell);
|
|
7
|
+
const p = convertElement("p");
|
|
8
|
+
const row = convertElement("tr");
|
|
9
|
+
const notRendered = convertElement([
|
|
10
|
+
// List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
|
|
11
|
+
"datalist",
|
|
12
|
+
"head",
|
|
13
|
+
"noembed",
|
|
14
|
+
"noframes",
|
|
15
|
+
"noscript",
|
|
16
|
+
// Act as if we support scripting.
|
|
17
|
+
"rp",
|
|
18
|
+
"script",
|
|
19
|
+
"style",
|
|
20
|
+
"template",
|
|
21
|
+
"title",
|
|
22
|
+
// Hidden attribute.
|
|
23
|
+
hidden,
|
|
24
|
+
// From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>
|
|
25
|
+
closedDialog
|
|
26
|
+
]);
|
|
27
|
+
const blockOrCaption = convertElement([
|
|
28
|
+
"address",
|
|
29
|
+
// Flow content
|
|
30
|
+
"article",
|
|
31
|
+
// Sections and headings
|
|
32
|
+
"aside",
|
|
33
|
+
// Sections and headings
|
|
34
|
+
"blockquote",
|
|
35
|
+
// Flow content
|
|
36
|
+
"body",
|
|
37
|
+
// Page
|
|
38
|
+
"caption",
|
|
39
|
+
// `table-caption`
|
|
40
|
+
"center",
|
|
41
|
+
// Flow content (legacy)
|
|
42
|
+
"dd",
|
|
43
|
+
// Lists
|
|
44
|
+
"dialog",
|
|
45
|
+
// Flow content
|
|
46
|
+
"dir",
|
|
47
|
+
// Lists (legacy)
|
|
48
|
+
"dl",
|
|
49
|
+
// Lists
|
|
50
|
+
"dt",
|
|
51
|
+
// Lists
|
|
52
|
+
"div",
|
|
53
|
+
// Flow content
|
|
54
|
+
"figure",
|
|
55
|
+
// Flow content
|
|
56
|
+
"figcaption",
|
|
57
|
+
// Flow content
|
|
58
|
+
"footer",
|
|
59
|
+
// Flow content
|
|
60
|
+
"form,",
|
|
61
|
+
// Flow content
|
|
62
|
+
"h1",
|
|
63
|
+
// Sections and headings
|
|
64
|
+
"h2",
|
|
65
|
+
// Sections and headings
|
|
66
|
+
"h3",
|
|
67
|
+
// Sections and headings
|
|
68
|
+
"h4",
|
|
69
|
+
// Sections and headings
|
|
70
|
+
"h5",
|
|
71
|
+
// Sections and headings
|
|
72
|
+
"h6",
|
|
73
|
+
// Sections and headings
|
|
74
|
+
"header",
|
|
75
|
+
// Flow content
|
|
76
|
+
"hgroup",
|
|
77
|
+
// Sections and headings
|
|
78
|
+
"hr",
|
|
79
|
+
// Flow content
|
|
80
|
+
"html",
|
|
81
|
+
// Page
|
|
82
|
+
"legend",
|
|
83
|
+
// Flow content
|
|
84
|
+
"li",
|
|
85
|
+
// Lists (as `display: list-item`)
|
|
86
|
+
"listing",
|
|
87
|
+
// Flow content (legacy)
|
|
88
|
+
"main",
|
|
89
|
+
// Flow content
|
|
90
|
+
"menu",
|
|
91
|
+
// Lists
|
|
92
|
+
"nav",
|
|
93
|
+
// Sections and headings
|
|
94
|
+
"ol",
|
|
95
|
+
// Lists
|
|
96
|
+
"p",
|
|
97
|
+
// Flow content
|
|
98
|
+
"plaintext",
|
|
99
|
+
// Flow content (legacy)
|
|
100
|
+
"pre",
|
|
101
|
+
// Flow content
|
|
102
|
+
"section",
|
|
103
|
+
// Sections and headings
|
|
104
|
+
"ul",
|
|
105
|
+
// Lists
|
|
106
|
+
"xmp"
|
|
107
|
+
// Flow content (legacy)
|
|
108
|
+
]);
|
|
109
|
+
function toText(tree, options) {
|
|
110
|
+
const options_ = options || {};
|
|
111
|
+
const children = "children" in tree ? tree.children : [];
|
|
112
|
+
const block = blockOrCaption(tree);
|
|
113
|
+
const whitespace = inferWhitespace(tree, {
|
|
114
|
+
whitespace: options_.whitespace || "normal"
|
|
115
|
+
});
|
|
116
|
+
const results = [];
|
|
117
|
+
if (tree.type === "text" || tree.type === "comment") {
|
|
118
|
+
results.push(
|
|
119
|
+
...collectText(tree, {
|
|
120
|
+
breakBefore: true,
|
|
121
|
+
breakAfter: true
|
|
122
|
+
})
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
let index = -1;
|
|
126
|
+
while (++index < children.length) {
|
|
127
|
+
results.push(
|
|
128
|
+
...renderedTextCollection(
|
|
129
|
+
children[index],
|
|
130
|
+
// @ts-expect-error: `tree` is a parent if we’re here.
|
|
131
|
+
tree,
|
|
132
|
+
{
|
|
133
|
+
whitespace,
|
|
134
|
+
breakBefore: index ? void 0 : block,
|
|
135
|
+
breakAfter: index < children.length - 1 ? br(children[index + 1]) : block
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
const result = [];
|
|
141
|
+
let count;
|
|
142
|
+
index = -1;
|
|
143
|
+
while (++index < results.length) {
|
|
144
|
+
const value = results[index];
|
|
145
|
+
if (typeof value === "number") {
|
|
146
|
+
if (count !== void 0 && value > count) count = value;
|
|
147
|
+
} else if (value) {
|
|
148
|
+
if (count !== void 0 && count > -1) {
|
|
149
|
+
result.push("\n".repeat(count) || " ");
|
|
150
|
+
}
|
|
151
|
+
count = -1;
|
|
152
|
+
result.push(value);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return result.join("");
|
|
156
|
+
}
|
|
157
|
+
function renderedTextCollection(node, parent, info) {
|
|
158
|
+
if (node.type === "element") {
|
|
159
|
+
return collectElement(node, parent, info);
|
|
160
|
+
}
|
|
161
|
+
if (node.type === "text") {
|
|
162
|
+
return info.whitespace === "normal" ? collectText(node, info) : collectPreText(node);
|
|
163
|
+
}
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
function collectElement(node, parent, info) {
|
|
167
|
+
const whitespace = inferWhitespace(node, info);
|
|
168
|
+
const children = node.children || [];
|
|
169
|
+
let index = -1;
|
|
170
|
+
let items = [];
|
|
171
|
+
if (notRendered(node)) {
|
|
172
|
+
return items;
|
|
173
|
+
}
|
|
174
|
+
let prefix;
|
|
175
|
+
let suffix;
|
|
176
|
+
if (br(node)) {
|
|
177
|
+
suffix = "\n";
|
|
178
|
+
} else if (row(node) && // @ts-expect-error: something up with types of parents.
|
|
179
|
+
findAfter(parent, node, row)) {
|
|
180
|
+
suffix = "\n";
|
|
181
|
+
} else if (p(node)) {
|
|
182
|
+
prefix = 2;
|
|
183
|
+
suffix = 2;
|
|
184
|
+
} else if (blockOrCaption(node)) {
|
|
185
|
+
prefix = 1;
|
|
186
|
+
suffix = 1;
|
|
187
|
+
}
|
|
188
|
+
while (++index < children.length) {
|
|
189
|
+
items = items.concat(
|
|
190
|
+
renderedTextCollection(children[index], node, {
|
|
191
|
+
whitespace,
|
|
192
|
+
breakBefore: index ? void 0 : prefix,
|
|
193
|
+
breakAfter: index < children.length - 1 ? br(children[index + 1]) : suffix
|
|
194
|
+
})
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
if (cell(node) && // @ts-expect-error: something up with types of parents.
|
|
198
|
+
findAfter(parent, node, cell)) {
|
|
199
|
+
items.push(" ");
|
|
200
|
+
}
|
|
201
|
+
if (prefix) items.unshift(prefix);
|
|
202
|
+
if (suffix) items.push(suffix);
|
|
203
|
+
return items;
|
|
204
|
+
}
|
|
205
|
+
function collectText(node, info) {
|
|
206
|
+
const value = String(node.value);
|
|
207
|
+
const lines = [];
|
|
208
|
+
const result = [];
|
|
209
|
+
let start = 0;
|
|
210
|
+
while (start <= value.length) {
|
|
211
|
+
searchLineFeeds.lastIndex = start;
|
|
212
|
+
const match = searchLineFeeds.exec(value);
|
|
213
|
+
const end = match && "index" in match ? match.index : value.length;
|
|
214
|
+
lines.push(
|
|
215
|
+
// Any sequence of collapsible spaces and tabs immediately preceding or
|
|
216
|
+
// following a segment break is removed.
|
|
217
|
+
trimAndCollapseSpacesAndTabs(
|
|
218
|
+
// […] ignoring bidi formatting characters (characters with the
|
|
219
|
+
// Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
|
|
220
|
+
// they were not there.
|
|
221
|
+
value.slice(start, end).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g, ""),
|
|
222
|
+
start === 0 ? info.breakBefore : true,
|
|
223
|
+
end === value.length ? info.breakAfter : true
|
|
224
|
+
)
|
|
225
|
+
);
|
|
226
|
+
start = end + 1;
|
|
227
|
+
}
|
|
228
|
+
let index = -1;
|
|
229
|
+
let join;
|
|
230
|
+
while (++index < lines.length) {
|
|
231
|
+
if (lines[index].charCodeAt(lines[index].length - 1) === 8203 || index < lines.length - 1 && lines[index + 1].charCodeAt(0) === 8203) {
|
|
232
|
+
result.push(lines[index]);
|
|
233
|
+
join = void 0;
|
|
234
|
+
} else if (lines[index]) {
|
|
235
|
+
if (typeof join === "number") result.push(join);
|
|
236
|
+
result.push(lines[index]);
|
|
237
|
+
join = 0;
|
|
238
|
+
} else if (index === 0 || index === lines.length - 1) {
|
|
239
|
+
result.push(0);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return result;
|
|
243
|
+
}
|
|
244
|
+
function collectPreText(node) {
|
|
245
|
+
return [String(node.value)];
|
|
246
|
+
}
|
|
247
|
+
function trimAndCollapseSpacesAndTabs(value, breakBefore, breakAfter) {
|
|
248
|
+
const result = [];
|
|
249
|
+
let start = 0;
|
|
250
|
+
let end;
|
|
251
|
+
while (start < value.length) {
|
|
252
|
+
searchTabOrSpaces.lastIndex = start;
|
|
253
|
+
const match = searchTabOrSpaces.exec(value);
|
|
254
|
+
end = match ? match.index : value.length;
|
|
255
|
+
if (!start && !end && match && !breakBefore) {
|
|
256
|
+
result.push("");
|
|
257
|
+
}
|
|
258
|
+
if (start !== end) {
|
|
259
|
+
result.push(value.slice(start, end));
|
|
260
|
+
}
|
|
261
|
+
start = match ? end + match[0].length : end;
|
|
262
|
+
}
|
|
263
|
+
if (start !== end && !breakAfter) {
|
|
264
|
+
result.push("");
|
|
265
|
+
}
|
|
266
|
+
return result.join(" ");
|
|
267
|
+
}
|
|
268
|
+
function inferWhitespace(node, info) {
|
|
269
|
+
if (node.type === "element") {
|
|
270
|
+
const properties = node.properties || {};
|
|
271
|
+
switch (node.tagName) {
|
|
272
|
+
case "listing":
|
|
273
|
+
case "plaintext":
|
|
274
|
+
case "xmp": {
|
|
275
|
+
return "pre";
|
|
276
|
+
}
|
|
277
|
+
case "nobr": {
|
|
278
|
+
return "nowrap";
|
|
279
|
+
}
|
|
280
|
+
case "pre": {
|
|
281
|
+
return properties.wrap ? "pre-wrap" : "pre";
|
|
282
|
+
}
|
|
283
|
+
case "td":
|
|
284
|
+
case "th": {
|
|
285
|
+
return properties.noWrap ? "nowrap" : info.whitespace;
|
|
286
|
+
}
|
|
287
|
+
case "textarea": {
|
|
288
|
+
return "pre-wrap";
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return info.whitespace;
|
|
293
|
+
}
|
|
294
|
+
function hidden(node) {
|
|
295
|
+
return Boolean((node.properties || {}).hidden);
|
|
296
|
+
}
|
|
297
|
+
function isCell(node) {
|
|
298
|
+
return node.tagName === "td" || node.tagName === "th";
|
|
299
|
+
}
|
|
300
|
+
function closedDialog(node) {
|
|
301
|
+
return node.tagName === "dialog" && !(node.properties || {}).open;
|
|
302
|
+
}
|
|
303
|
+
export {
|
|
304
|
+
toText as t
|
|
305
|
+
};
|