dominds 1.3.1 → 1.4.2
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 +9 -2
- package/README.zh.md +9 -2
- package/dist/apps/app-lock-file.js +33 -57
- package/dist/apps/configuration-file.js +267 -0
- package/dist/apps/enabled-apps.js +217 -252
- package/dist/apps/manifest.js +132 -0
- package/dist/apps/resolution-file.js +80 -192
- package/dist/apps/workspace-app-state.js +8 -0
- package/dist/cli/disable.js +18 -22
- package/dist/cli/enable.js +20 -58
- package/dist/cli/install.js +74 -80
- package/dist/cli/uninstall.js +48 -25
- package/dist/cli/update.js +36 -80
- package/dist/docs/app-constitution.md +12 -7
- package/dist/docs/app-constitution.zh.md +13 -8
- package/dist/llm/kernel-driver/engine.js +10 -4
- package/dist/llm/kernel-driver/flow.js +93 -0
- package/dist/llm/kernel-driver/loop.js +4 -1
- package/dist/llm/kernel-driver/subdialog.js +5 -1
- package/dist/llm/kernel-driver/tellask-special.js +48 -6
- package/dist/server/server-core.js +19 -4
- package/dist/server/websocket-handler.js +26 -6
- package/dist/static/assets/{_basePickBy-CmziIRM9.js → _basePickBy-B2o4z1Hf.js} +3 -3
- package/dist/static/assets/{_basePickBy-CmziIRM9.js.map → _basePickBy-B2o4z1Hf.js.map} +1 -1
- package/dist/static/assets/{_baseUniq-CgDZxcD0.js → _baseUniq-CLmcxjdl.js} +2 -2
- package/dist/static/assets/{_baseUniq-CgDZxcD0.js.map → _baseUniq-CLmcxjdl.js.map} +1 -1
- package/dist/static/assets/{arc-Df9rjNNk.js → arc-CymD_KN7.js} +2 -2
- package/dist/static/assets/{arc-Df9rjNNk.js.map → arc-CymD_KN7.js.map} +1 -1
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-Bif8topC.js → architectureDiagram-VXUJARFQ-DJQfSJUH.js} +7 -7
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-Bif8topC.js.map → architectureDiagram-VXUJARFQ-DJQfSJUH.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-VD42YOAC-D9Egoflr.js → blockDiagram-VD42YOAC-pHVz60D0.js} +7 -7
- package/dist/static/assets/{blockDiagram-VD42YOAC-D9Egoflr.js.map → blockDiagram-VD42YOAC-pHVz60D0.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-YG6GDRKO-DBf1NeBf.js → c4Diagram-YG6GDRKO-B0WnCfAT.js} +3 -3
- package/dist/static/assets/{c4Diagram-YG6GDRKO-DBf1NeBf.js.map → c4Diagram-YG6GDRKO-B0WnCfAT.js.map} +1 -1
- package/dist/static/assets/{channel-Dc34yAJl.js → channel-CX9BlKil.js} +2 -2
- package/dist/static/assets/{channel-Dc34yAJl.js.map → channel-CX9BlKil.js.map} +1 -1
- package/dist/static/assets/{chunk-4BX2VUAB-B65G1dJI.js → chunk-4BX2VUAB-lXArRj3o.js} +2 -2
- package/dist/static/assets/{chunk-4BX2VUAB-B65G1dJI.js.map → chunk-4BX2VUAB-lXArRj3o.js.map} +1 -1
- package/dist/static/assets/{chunk-55IACEB6-CSDEOGl2.js → chunk-55IACEB6-CdqwynH9.js} +2 -2
- package/dist/static/assets/{chunk-55IACEB6-CSDEOGl2.js.map → chunk-55IACEB6-CdqwynH9.js.map} +1 -1
- package/dist/static/assets/{chunk-B4BG7PRW-Cb6W3QWJ.js → chunk-B4BG7PRW-Y-uXcJst.js} +5 -5
- package/dist/static/assets/{chunk-B4BG7PRW-Cb6W3QWJ.js.map → chunk-B4BG7PRW-Y-uXcJst.js.map} +1 -1
- package/dist/static/assets/{chunk-DI55MBZ5-ZAJWeVWH.js → chunk-DI55MBZ5-C5xSbRST.js} +4 -4
- package/dist/static/assets/{chunk-DI55MBZ5-ZAJWeVWH.js.map → chunk-DI55MBZ5-C5xSbRST.js.map} +1 -1
- package/dist/static/assets/{chunk-FMBD7UC4-DiwRlImb.js → chunk-FMBD7UC4-5uefwCjI.js} +2 -2
- package/dist/static/assets/{chunk-FMBD7UC4-DiwRlImb.js.map → chunk-FMBD7UC4-5uefwCjI.js.map} +1 -1
- package/dist/static/assets/{chunk-QN33PNHL-wilj7fb5.js → chunk-QN33PNHL-DzWVcvpI.js} +2 -2
- package/dist/static/assets/{chunk-QN33PNHL-wilj7fb5.js.map → chunk-QN33PNHL-DzWVcvpI.js.map} +1 -1
- package/dist/static/assets/{chunk-QZHKN3VN-DGmviJfR.js → chunk-QZHKN3VN-BrrvAZdP.js} +2 -2
- package/dist/static/assets/{chunk-QZHKN3VN-DGmviJfR.js.map → chunk-QZHKN3VN-BrrvAZdP.js.map} +1 -1
- package/dist/static/assets/{chunk-TZMSLE5B-Nm5wTXa_.js → chunk-TZMSLE5B-DyKOlPTY.js} +2 -2
- package/dist/static/assets/{chunk-TZMSLE5B-Nm5wTXa_.js.map → chunk-TZMSLE5B-DyKOlPTY.js.map} +1 -1
- package/dist/static/assets/{classDiagram-2ON5EDUG-BvUbXD6H.js → classDiagram-2ON5EDUG-FCrnlCWC.js} +6 -6
- package/dist/static/assets/{classDiagram-2ON5EDUG-BvUbXD6H.js.map → classDiagram-2ON5EDUG-FCrnlCWC.js.map} +1 -1
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-BvUbXD6H.js → classDiagram-v2-WZHVMYZB-FCrnlCWC.js} +6 -6
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-BvUbXD6H.js.map → classDiagram-v2-WZHVMYZB-FCrnlCWC.js.map} +1 -1
- package/dist/static/assets/{clone-0VLS7GaA.js → clone-BlI81KqZ.js} +2 -2
- package/dist/static/assets/{clone-0VLS7GaA.js.map → clone-BlI81KqZ.js.map} +1 -1
- package/dist/static/assets/{cose-bilkent-S5V4N54A-anaPs-75.js → cose-bilkent-S5V4N54A-yM7S2atz.js} +2 -2
- package/dist/static/assets/{cose-bilkent-S5V4N54A-anaPs-75.js.map → cose-bilkent-S5V4N54A-yM7S2atz.js.map} +1 -1
- package/dist/static/assets/{dagre-6UL2VRFP-YwdsZ11r.js → dagre-6UL2VRFP-BcweuZHt.js} +7 -7
- package/dist/static/assets/{dagre-6UL2VRFP-YwdsZ11r.js.map → dagre-6UL2VRFP-BcweuZHt.js.map} +1 -1
- package/dist/static/assets/{diagram-PSM6KHXK-5KQCf3h2.js → diagram-PSM6KHXK-D4-QwLW1.js} +8 -8
- package/dist/static/assets/{diagram-PSM6KHXK-5KQCf3h2.js.map → diagram-PSM6KHXK-D4-QwLW1.js.map} +1 -1
- package/dist/static/assets/{diagram-QEK2KX5R-Mf24XxZL.js → diagram-QEK2KX5R-BVbuejJn.js} +7 -7
- package/dist/static/assets/{diagram-QEK2KX5R-Mf24XxZL.js.map → diagram-QEK2KX5R-BVbuejJn.js.map} +1 -1
- package/dist/static/assets/{diagram-S2PKOQOG-DyQjD4D5.js → diagram-S2PKOQOG-pB6N6Tq_.js} +7 -7
- package/dist/static/assets/{diagram-S2PKOQOG-DyQjD4D5.js.map → diagram-S2PKOQOG-pB6N6Tq_.js.map} +1 -1
- package/dist/static/assets/{erDiagram-Q2GNP2WA-CEzTKw1u.js → erDiagram-Q2GNP2WA-DLKmthuw.js} +5 -5
- package/dist/static/assets/{erDiagram-Q2GNP2WA-CEzTKw1u.js.map → erDiagram-Q2GNP2WA-DLKmthuw.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-NV44I4VS-DT821XSz.js → flowDiagram-NV44I4VS-BsBhWukh.js} +6 -6
- package/dist/static/assets/{flowDiagram-NV44I4VS-DT821XSz.js.map → flowDiagram-NV44I4VS-BsBhWukh.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-JELNMOA3-DlmeVsGg.js → ganttDiagram-JELNMOA3-Debz-J-C.js} +3 -3
- package/dist/static/assets/{ganttDiagram-JELNMOA3-DlmeVsGg.js.map → ganttDiagram-JELNMOA3-Debz-J-C.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-yAfyBG_d.js → gitGraphDiagram-V2S2FVAM-BnAPFBGR.js} +8 -8
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-yAfyBG_d.js.map → gitGraphDiagram-V2S2FVAM-BnAPFBGR.js.map} +1 -1
- package/dist/static/assets/{graph-BYv8vyWe.js → graph-DbzWiBNK.js} +3 -3
- package/dist/static/assets/{graph-BYv8vyWe.js.map → graph-DbzWiBNK.js.map} +1 -1
- package/dist/static/assets/{index-DMbwqOm6.js → index-B-8J28g7.js} +987 -1049
- package/dist/static/assets/index-B-8J28g7.js.map +1 -0
- package/dist/static/assets/{index-BiNcBn_U.css → index-CD5wtC_i.css} +1 -1
- package/dist/static/assets/{infoDiagram-HS3SLOUP-DaadramQ.js → infoDiagram-HS3SLOUP-CZ5hWoxV.js} +6 -6
- package/dist/static/assets/{infoDiagram-HS3SLOUP-DaadramQ.js.map → infoDiagram-HS3SLOUP-CZ5hWoxV.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-ftN8hxu3.js → journeyDiagram-XKPGCS4Q-CKN3oSxk.js} +5 -5
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-ftN8hxu3.js.map → journeyDiagram-XKPGCS4Q-CKN3oSxk.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-BIXETQ-C.js → kanban-definition-3W4ZIXB7-BQCMklfJ.js} +3 -3
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-BIXETQ-C.js.map → kanban-definition-3W4ZIXB7-BQCMklfJ.js.map} +1 -1
- package/dist/static/assets/{layout-OTbrj0Ye.js → layout-C5B58szc.js} +5 -5
- package/dist/static/assets/{layout-OTbrj0Ye.js.map → layout-C5B58szc.js.map} +1 -1
- package/dist/static/assets/{linear-CVfOC669.js → linear-_32fut6G.js} +2 -2
- package/dist/static/assets/{linear-CVfOC669.js.map → linear-_32fut6G.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-D2zv5uI9.js → mindmap-definition-VGOIOE7T-C_goMzjx.js} +4 -4
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-D2zv5uI9.js.map → mindmap-definition-VGOIOE7T-C_goMzjx.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-ADFJNKIX-DaUXTsv7.js → pieDiagram-ADFJNKIX-BQ2n0cOB.js} +8 -8
- package/dist/static/assets/{pieDiagram-ADFJNKIX-DaUXTsv7.js.map → pieDiagram-ADFJNKIX-BQ2n0cOB.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-B7O2wPX9.js → quadrantDiagram-AYHSOK5B-BLg7_neg.js} +3 -3
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-B7O2wPX9.js.map → quadrantDiagram-AYHSOK5B-BLg7_neg.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DpauVPY1.js → requirementDiagram-UZGBJVZJ-DwkJt0zi.js} +4 -4
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DpauVPY1.js.map → requirementDiagram-UZGBJVZJ-DwkJt0zi.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B3Hbfvad.js → sankeyDiagram-TZEHDZUN-DmxmatUB.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B3Hbfvad.js.map → sankeyDiagram-TZEHDZUN-DmxmatUB.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-KdbWByWT.js → sequenceDiagram-WL72ISMW-KHU_eApU.js} +4 -4
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-KdbWByWT.js.map → sequenceDiagram-WL72ISMW-KHU_eApU.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-yDOCVezC.js → stateDiagram-FKZM4ZOC-B3DBCxAL.js} +9 -9
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-yDOCVezC.js.map → stateDiagram-FKZM4ZOC-B3DBCxAL.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-CpCJhvQO.js → stateDiagram-v2-4FDKWEC3-C-uIk7gh.js} +5 -5
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-CpCJhvQO.js.map → stateDiagram-v2-4FDKWEC3-C-uIk7gh.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-IT6M3QCI-CHxuEjhV.js → timeline-definition-IT6M3QCI-SysEcQCC.js} +3 -3
- package/dist/static/assets/{timeline-definition-IT6M3QCI-CHxuEjhV.js.map → timeline-definition-IT6M3QCI-SysEcQCC.js.map} +1 -1
- package/dist/static/assets/{treemap-GDKQZRPO-Bsqu3wIy.js → treemap-GDKQZRPO-d0AbKEc4.js} +5 -5
- package/dist/static/assets/{treemap-GDKQZRPO-Bsqu3wIy.js.map → treemap-GDKQZRPO-d0AbKEc4.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-RZy33lFF.js → xychartDiagram-PRI3JC2R-CmSQMxUh.js} +3 -3
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-RZy33lFF.js.map → xychartDiagram-PRI3JC2R-CmSQMxUh.js.map} +1 -1
- package/dist/static/index.html +2 -2
- package/dist/tools/fs.js +1 -1
- package/package.json +9 -7
- package/dist/agent-priming.js +0 -2051
- package/dist/apps/installed-file.js +0 -207
- package/dist/apps/runtime-port.js +0 -91
- package/dist/docs/dominds-agent-priming.md +0 -218
- package/dist/docs/dominds-agent-priming.zh.md +0 -196
- package/dist/docs/drive-logic-context-refactor-plan.zh.md +0 -338
- package/dist/docs/keep-going.md +0 -176
- package/dist/docs/keep-going.zh.md +0 -162
- package/dist/docs/kernel-app-architecture.md +0 -286
- package/dist/docs/kernel-app-architecture.zh.md +0 -285
- package/dist/docs/showing-by-doing.md +0 -208
- package/dist/docs/showing-by-doing.zh.md +0 -177
- package/dist/docs/team-mgmt-toolset.md +0 -482
- package/dist/docs/team-mgmt-toolset.zh.md +0 -426
- package/dist/llm/driver-entry.js +0 -28
- package/dist/llm/driver-v2/context-health.js +0 -121
- package/dist/llm/driver-v2/context.js +0 -56
- package/dist/llm/driver-v2/core.js +0 -1545
- package/dist/llm/driver-v2/index.js +0 -26
- package/dist/llm/driver-v2/orchestrator.js +0 -158
- package/dist/llm/driver-v2/policy.js +0 -129
- package/dist/llm/driver-v2/restore-dialog-hierarchy.js +0 -73
- package/dist/llm/driver-v2/round.js +0 -366
- package/dist/llm/driver-v2/runtime-utils.js +0 -365
- package/dist/llm/driver-v2/saying-events.js +0 -20
- package/dist/llm/driver-v2/subdialog-txn.js +0 -42
- package/dist/llm/driver-v2/supdialog-response.js +0 -400
- package/dist/llm/driver-v2/tellask-bridge.js +0 -1148
- package/dist/llm/driver-v2/types.js +0 -10
- package/dist/llm/driver-v2-ref-only/context-health.js +0 -121
- package/dist/llm/driver-v2-ref-only/context.js +0 -17
- package/dist/llm/driver-v2-ref-only/core.js +0 -1710
- package/dist/llm/driver-v2-ref-only/index.js +0 -26
- package/dist/llm/driver-v2-ref-only/orchestrator.js +0 -158
- package/dist/llm/driver-v2-ref-only/policy.js +0 -129
- package/dist/llm/driver-v2-ref-only/restore-dialog-hierarchy.js +0 -73
- package/dist/llm/driver-v2-ref-only/round.js +0 -366
- package/dist/llm/driver-v2-ref-only/runtime-utils.js +0 -473
- package/dist/llm/driver-v2-ref-only/saying-events.js +0 -18
- package/dist/llm/driver-v2-ref-only/subdialog-txn.js +0 -42
- package/dist/llm/driver-v2-ref-only/supdialog-response.js +0 -453
- package/dist/llm/driver-v2-ref-only/tellask-bridge.js +0 -1178
- package/dist/llm/driver-v2-ref-only/types.js +0 -10
- package/dist/llm/driver.js +0 -4093
- package/dist/minds/promptdocs.js +0 -263
- package/dist/server/prompts-routes.js +0 -545
- package/dist/shared/team-mgmt-manual.js +0 -120
- package/dist/shared/types/prompts.js +0 -2
- package/dist/shared/types/tellask.js +0 -8
- package/dist/showing-by-doing.js +0 -1091
- package/dist/snippets/README.en.md +0 -3
- package/dist/snippets/README.md +0 -4
- package/dist/static/assets/index-DMbwqOm6.js.map +0 -1
- package/dist/tellask.js +0 -439
- package/dist/tools/context-health.js +0 -177
- package/dist/tools/diag.js +0 -583
- package/dist/tools/prompts/memory/en/errors.md +0 -155
- package/dist/tools/prompts/memory/en/index.md +0 -47
- package/dist/tools/prompts/memory/en/principles.md +0 -87
- package/dist/tools/prompts/memory/en/scenarios.md +0 -174
- package/dist/tools/prompts/memory/en/tools.md +0 -129
- package/dist/tools/prompts/memory/zh/errors.md +0 -155
- package/dist/tools/prompts/memory/zh/index.md +0 -47
- package/dist/tools/prompts/memory/zh/principles.md +0 -89
- package/dist/tools/prompts/memory/zh/scenarios.md +0 -174
- package/dist/tools/prompts/memory/zh/tools.md +0 -129
- package/dist/tools/team-mgmt.js +0 -3487
- package/dist/utils/task-doc.js +0 -236
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-BcweuZHt.js","assets/graph-DbzWiBNK.js","assets/_baseUniq-CLmcxjdl.js","assets/layout-C5B58szc.js","assets/_basePickBy-B2o4z1Hf.js","assets/clone-BlI81KqZ.js","assets/cose-bilkent-S5V4N54A-yM7S2atz.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-B0WnCfAT.js","assets/chunk-TZMSLE5B-DyKOlPTY.js","assets/flowDiagram-NV44I4VS-BsBhWukh.js","assets/chunk-FMBD7UC4-5uefwCjI.js","assets/chunk-55IACEB6-CdqwynH9.js","assets/chunk-QN33PNHL-DzWVcvpI.js","assets/channel-CX9BlKil.js","assets/erDiagram-Q2GNP2WA-DLKmthuw.js","assets/gitGraphDiagram-V2S2FVAM-BnAPFBGR.js","assets/chunk-4BX2VUAB-lXArRj3o.js","assets/chunk-QZHKN3VN-BrrvAZdP.js","assets/treemap-GDKQZRPO-d0AbKEc4.js","assets/ganttDiagram-JELNMOA3-Debz-J-C.js","assets/linear-_32fut6G.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-CZ5hWoxV.js","assets/pieDiagram-ADFJNKIX-BQ2n0cOB.js","assets/arc-CymD_KN7.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-BLg7_neg.js","assets/xychartDiagram-PRI3JC2R-CmSQMxUh.js","assets/requirementDiagram-UZGBJVZJ-DwkJt0zi.js","assets/sequenceDiagram-WL72ISMW-KHU_eApU.js","assets/classDiagram-2ON5EDUG-FCrnlCWC.js","assets/chunk-B4BG7PRW-Y-uXcJst.js","assets/classDiagram-v2-WZHVMYZB-FCrnlCWC.js","assets/stateDiagram-FKZM4ZOC-B3DBCxAL.js","assets/chunk-DI55MBZ5-C5xSbRST.js","assets/stateDiagram-v2-4FDKWEC3-C-uIk7gh.js","assets/journeyDiagram-XKPGCS4Q-CKN3oSxk.js","assets/timeline-definition-IT6M3QCI-SysEcQCC.js","assets/mindmap-definition-VGOIOE7T-C_goMzjx.js","assets/kanban-definition-3W4ZIXB7-BQCMklfJ.js","assets/sankeyDiagram-TZEHDZUN-DmxmatUB.js","assets/diagram-S2PKOQOG-pB6N6Tq_.js","assets/diagram-QEK2KX5R-BVbuejJn.js","assets/blockDiagram-VD42YOAC-pHVz60D0.js","assets/architectureDiagram-VXUJARFQ-DJQfSJUH.js","assets/diagram-PSM6KHXK-D4-QwLW1.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
@@ -4450,7 +4450,7 @@ const _createHooksMap = function _createHooksMap2() {
|
|
|
4450
4450
|
function createDOMPurify() {
|
|
4451
4451
|
let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
|
|
4452
4452
|
const DOMPurify = (root2) => createDOMPurify(root2);
|
|
4453
|
-
DOMPurify.version = "3.3.
|
|
4453
|
+
DOMPurify.version = "3.3.2";
|
|
4454
4454
|
DOMPurify.removed = [];
|
|
4455
4455
|
if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
|
|
4456
4456
|
DOMPurify.isSupported = false;
|
|
@@ -4651,7 +4651,7 @@ function createDOMPurify() {
|
|
|
4651
4651
|
}
|
|
4652
4652
|
if (USE_PROFILES) {
|
|
4653
4653
|
ALLOWED_TAGS = addToSet({}, text$4);
|
|
4654
|
-
ALLOWED_ATTR =
|
|
4654
|
+
ALLOWED_ATTR = create$1(null);
|
|
4655
4655
|
if (USE_PROFILES.html === true) {
|
|
4656
4656
|
addToSet(ALLOWED_TAGS, html$1);
|
|
4657
4657
|
addToSet(ALLOWED_ATTR, html);
|
|
@@ -4672,6 +4672,12 @@ function createDOMPurify() {
|
|
|
4672
4672
|
addToSet(ALLOWED_ATTR, xml);
|
|
4673
4673
|
}
|
|
4674
4674
|
}
|
|
4675
|
+
if (!objectHasOwnProperty(cfg, "ADD_TAGS")) {
|
|
4676
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = null;
|
|
4677
|
+
}
|
|
4678
|
+
if (!objectHasOwnProperty(cfg, "ADD_ATTR")) {
|
|
4679
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
4680
|
+
}
|
|
4675
4681
|
if (cfg.ADD_TAGS) {
|
|
4676
4682
|
if (typeof cfg.ADD_TAGS === "function") {
|
|
4677
4683
|
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
@@ -4950,6 +4956,9 @@ function createDOMPurify() {
|
|
|
4950
4956
|
return false;
|
|
4951
4957
|
};
|
|
4952
4958
|
const _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) {
|
|
4959
|
+
if (FORBID_ATTR[lcName]) {
|
|
4960
|
+
return false;
|
|
4961
|
+
}
|
|
4953
4962
|
if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) {
|
|
4954
4963
|
return false;
|
|
4955
4964
|
}
|
|
@@ -5016,7 +5025,7 @@ function createDOMPurify() {
|
|
|
5016
5025
|
_removeAttribute(name, currentNode);
|
|
5017
5026
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
5018
5027
|
}
|
|
5019
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
|
|
5028
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
|
|
5020
5029
|
_removeAttribute(name, currentNode);
|
|
5021
5030
|
continue;
|
|
5022
5031
|
}
|
|
@@ -62524,65 +62533,11 @@ class DomindsCodeBlock extends HTMLElement {
|
|
|
62524
62533
|
if (!customElements.get("dominds-code-block")) {
|
|
62525
62534
|
customElements.define("dominds-code-block", DomindsCodeBlock);
|
|
62526
62535
|
}
|
|
62527
|
-
class
|
|
62528
|
-
// The + prefix indicates that these fields aren't writeable
|
|
62529
|
-
// Lexer holding the input string.
|
|
62530
|
-
// Start offset, zero-based inclusive.
|
|
62531
|
-
// End offset, zero-based exclusive.
|
|
62532
|
-
constructor(lexer, start2, end) {
|
|
62533
|
-
this.lexer = void 0;
|
|
62534
|
-
this.start = void 0;
|
|
62535
|
-
this.end = void 0;
|
|
62536
|
-
this.lexer = lexer;
|
|
62537
|
-
this.start = start2;
|
|
62538
|
-
this.end = end;
|
|
62539
|
-
}
|
|
62540
|
-
/**
|
|
62541
|
-
* Merges two `SourceLocation`s from location providers, given they are
|
|
62542
|
-
* provided in order of appearance.
|
|
62543
|
-
* - Returns the first one's location if only the first is provided.
|
|
62544
|
-
* - Returns a merged range of the first and the last if both are provided
|
|
62545
|
-
* and their lexers match.
|
|
62546
|
-
* - Otherwise, returns null.
|
|
62547
|
-
*/
|
|
62548
|
-
static range(first, second) {
|
|
62549
|
-
if (!second) {
|
|
62550
|
-
return first && first.loc;
|
|
62551
|
-
} else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {
|
|
62552
|
-
return null;
|
|
62553
|
-
} else {
|
|
62554
|
-
return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);
|
|
62555
|
-
}
|
|
62556
|
-
}
|
|
62557
|
-
}
|
|
62558
|
-
class Token {
|
|
62559
|
-
// don't expand the token
|
|
62560
|
-
// used in \noexpand
|
|
62561
|
-
constructor(text2, loc) {
|
|
62562
|
-
this.text = void 0;
|
|
62563
|
-
this.loc = void 0;
|
|
62564
|
-
this.noexpand = void 0;
|
|
62565
|
-
this.treatAsRelax = void 0;
|
|
62566
|
-
this.text = text2;
|
|
62567
|
-
this.loc = loc;
|
|
62568
|
-
}
|
|
62569
|
-
/**
|
|
62570
|
-
* Given a pair of tokens (this and endToken), compute a `Token` encompassing
|
|
62571
|
-
* the whole input range enclosed by these two.
|
|
62572
|
-
*/
|
|
62573
|
-
range(endToken, text2) {
|
|
62574
|
-
return new Token(text2, SourceLocation.range(this, endToken));
|
|
62575
|
-
}
|
|
62576
|
-
}
|
|
62577
|
-
class ParseError {
|
|
62536
|
+
class ParseError extends Error {
|
|
62578
62537
|
// Error start position based on passed-in Token or ParseNode.
|
|
62579
62538
|
// Length of affected text based on passed-in Token or ParseNode.
|
|
62580
62539
|
// The underlying error message without any context added.
|
|
62581
62540
|
constructor(message, token2) {
|
|
62582
|
-
this.name = void 0;
|
|
62583
|
-
this.position = void 0;
|
|
62584
|
-
this.length = void 0;
|
|
62585
|
-
this.rawMessage = void 0;
|
|
62586
62541
|
var error2 = "KaTeX parse error: " + message;
|
|
62587
62542
|
var start2;
|
|
62588
62543
|
var end;
|
|
@@ -62611,18 +62566,16 @@ class ParseError {
|
|
|
62611
62566
|
}
|
|
62612
62567
|
error2 += left + underlined + right;
|
|
62613
62568
|
}
|
|
62614
|
-
|
|
62615
|
-
|
|
62616
|
-
|
|
62617
|
-
|
|
62569
|
+
super(error2);
|
|
62570
|
+
this.name = "ParseError";
|
|
62571
|
+
Object.setPrototypeOf(this, ParseError.prototype);
|
|
62572
|
+
this.position = start2;
|
|
62618
62573
|
if (start2 != null && end != null) {
|
|
62619
|
-
|
|
62574
|
+
this.length = end - start2;
|
|
62620
62575
|
}
|
|
62621
|
-
|
|
62622
|
-
return self2;
|
|
62576
|
+
this.rawMessage = message;
|
|
62623
62577
|
}
|
|
62624
62578
|
}
|
|
62625
|
-
ParseError.prototype.__proto__ = Error.prototype;
|
|
62626
62579
|
var uppercase = /([A-Z])/g;
|
|
62627
62580
|
var hyphenate = (str2) => str2.replace(uppercase, "-$1").toLowerCase();
|
|
62628
62581
|
var ESCAPE_LOOKUP = {
|
|
@@ -62759,7 +62712,7 @@ var SETTINGS_SCHEMA = {
|
|
|
62759
62712
|
}
|
|
62760
62713
|
};
|
|
62761
62714
|
function getDefaultValue(schema2) {
|
|
62762
|
-
if (schema2
|
|
62715
|
+
if ("default" in schema2) {
|
|
62763
62716
|
return schema2.default;
|
|
62764
62717
|
}
|
|
62765
62718
|
var type2 = schema2.type;
|
|
@@ -62780,26 +62733,14 @@ function getDefaultValue(schema2) {
|
|
|
62780
62733
|
}
|
|
62781
62734
|
class Settings {
|
|
62782
62735
|
constructor(options) {
|
|
62783
|
-
|
|
62784
|
-
|
|
62785
|
-
|
|
62786
|
-
this.fleqn = void 0;
|
|
62787
|
-
this.throwOnError = void 0;
|
|
62788
|
-
this.errorColor = void 0;
|
|
62789
|
-
this.macros = void 0;
|
|
62790
|
-
this.minRuleThickness = void 0;
|
|
62791
|
-
this.colorIsTextColor = void 0;
|
|
62792
|
-
this.strict = void 0;
|
|
62793
|
-
this.trust = void 0;
|
|
62794
|
-
this.maxSize = void 0;
|
|
62795
|
-
this.maxExpand = void 0;
|
|
62796
|
-
this.globalGroup = void 0;
|
|
62736
|
+
if (options === void 0) {
|
|
62737
|
+
options = {};
|
|
62738
|
+
}
|
|
62797
62739
|
options = options || {};
|
|
62798
|
-
for (var prop
|
|
62799
|
-
|
|
62800
|
-
|
|
62801
|
-
|
|
62802
|
-
}
|
|
62740
|
+
for (var prop of Object.keys(SETTINGS_SCHEMA)) {
|
|
62741
|
+
var schema2 = SETTINGS_SCHEMA[prop];
|
|
62742
|
+
var optionValue = options[prop];
|
|
62743
|
+
this[prop] = optionValue !== void 0 ? schema2.processor ? schema2.processor(optionValue) : optionValue : getDefaultValue(schema2);
|
|
62803
62744
|
}
|
|
62804
62745
|
}
|
|
62805
62746
|
/**
|
|
@@ -62859,7 +62800,7 @@ class Settings {
|
|
|
62859
62800
|
* get added by this function (changing the specified object).
|
|
62860
62801
|
*/
|
|
62861
62802
|
isTrusted(context) {
|
|
62862
|
-
if (context.url && !context.protocol) {
|
|
62803
|
+
if ("url" in context && context.url && !context.protocol) {
|
|
62863
62804
|
var protocol = protocolFromUrl(context.url);
|
|
62864
62805
|
if (protocol == null) {
|
|
62865
62806
|
return false;
|
|
@@ -62872,9 +62813,6 @@ class Settings {
|
|
|
62872
62813
|
}
|
|
62873
62814
|
class Style {
|
|
62874
62815
|
constructor(id28, size, cramped) {
|
|
62875
|
-
this.id = void 0;
|
|
62876
|
-
this.size = void 0;
|
|
62877
|
-
this.cramped = void 0;
|
|
62878
62816
|
this.id = id28;
|
|
62879
62817
|
this.size = size;
|
|
62880
62818
|
this.cramped = cramped;
|
|
@@ -63203,48 +63141,387 @@ var tallDelim = function tallDelim2(label, midHeight) {
|
|
|
63203
63141
|
throw new Error("Unknown stretchy delimiter.");
|
|
63204
63142
|
}
|
|
63205
63143
|
};
|
|
63206
|
-
|
|
63207
|
-
//
|
|
63208
|
-
|
|
63209
|
-
|
|
63210
|
-
|
|
63211
|
-
|
|
63212
|
-
|
|
63213
|
-
|
|
63214
|
-
|
|
63215
|
-
|
|
63216
|
-
|
|
63144
|
+
var ptPerUnit = {
|
|
63145
|
+
// https://en.wikibooks.org/wiki/LaTeX/Lengths and
|
|
63146
|
+
// https://tex.stackexchange.com/a/8263
|
|
63147
|
+
"pt": 1,
|
|
63148
|
+
// TeX point
|
|
63149
|
+
"mm": 7227 / 2540,
|
|
63150
|
+
// millimeter
|
|
63151
|
+
"cm": 7227 / 254,
|
|
63152
|
+
// centimeter
|
|
63153
|
+
"in": 72.27,
|
|
63154
|
+
// inch
|
|
63155
|
+
"bp": 803 / 800,
|
|
63156
|
+
// big (PostScript) points
|
|
63157
|
+
"pc": 12,
|
|
63158
|
+
// pica
|
|
63159
|
+
"dd": 1238 / 1157,
|
|
63160
|
+
// didot
|
|
63161
|
+
"cc": 14856 / 1157,
|
|
63162
|
+
// cicero (12 didot)
|
|
63163
|
+
"nd": 685 / 642,
|
|
63164
|
+
// new didot
|
|
63165
|
+
"nc": 1370 / 107,
|
|
63166
|
+
// new cicero (12 new didot)
|
|
63167
|
+
"sp": 1 / 65536,
|
|
63168
|
+
// scaled point (TeX's internal smallest unit)
|
|
63169
|
+
// https://tex.stackexchange.com/a/41371
|
|
63170
|
+
"px": 803 / 800
|
|
63171
|
+
// \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX
|
|
63172
|
+
};
|
|
63173
|
+
var relativeUnit = {
|
|
63174
|
+
"ex": true,
|
|
63175
|
+
"em": true,
|
|
63176
|
+
"mu": true
|
|
63177
|
+
};
|
|
63178
|
+
var validUnit = function validUnit2(unit) {
|
|
63179
|
+
if (typeof unit !== "string") {
|
|
63180
|
+
unit = unit.unit;
|
|
63181
|
+
}
|
|
63182
|
+
return unit in ptPerUnit || unit in relativeUnit || unit === "ex";
|
|
63183
|
+
};
|
|
63184
|
+
var calculateSize$1 = function calculateSize(sizeValue, options) {
|
|
63185
|
+
var scale;
|
|
63186
|
+
if (sizeValue.unit in ptPerUnit) {
|
|
63187
|
+
scale = ptPerUnit[sizeValue.unit] / options.fontMetrics().ptPerEm / options.sizeMultiplier;
|
|
63188
|
+
} else if (sizeValue.unit === "mu") {
|
|
63189
|
+
scale = options.fontMetrics().cssEmPerMu;
|
|
63190
|
+
} else {
|
|
63191
|
+
var unitOptions;
|
|
63192
|
+
if (options.style.isTight()) {
|
|
63193
|
+
unitOptions = options.havingStyle(options.style.text());
|
|
63194
|
+
} else {
|
|
63195
|
+
unitOptions = options;
|
|
63196
|
+
}
|
|
63197
|
+
if (sizeValue.unit === "ex") {
|
|
63198
|
+
scale = unitOptions.fontMetrics().xHeight;
|
|
63199
|
+
} else if (sizeValue.unit === "em") {
|
|
63200
|
+
scale = unitOptions.fontMetrics().quad;
|
|
63201
|
+
} else {
|
|
63202
|
+
throw new ParseError("Invalid unit: '" + sizeValue.unit + "'");
|
|
63203
|
+
}
|
|
63204
|
+
if (unitOptions !== options) {
|
|
63205
|
+
scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;
|
|
63206
|
+
}
|
|
63207
|
+
}
|
|
63208
|
+
return Math.min(sizeValue.number * scale, options.maxSize);
|
|
63209
|
+
};
|
|
63210
|
+
var makeEm = function makeEm2(n2) {
|
|
63211
|
+
return +n2.toFixed(4) + "em";
|
|
63212
|
+
};
|
|
63213
|
+
var createClass = function createClass2(classes) {
|
|
63214
|
+
return classes.filter((cls) => cls).join(" ");
|
|
63215
|
+
};
|
|
63216
|
+
var initNode = function initNode2(classes, options, style2) {
|
|
63217
|
+
this.classes = classes || [];
|
|
63218
|
+
this.attributes = {};
|
|
63219
|
+
this.height = 0;
|
|
63220
|
+
this.depth = 0;
|
|
63221
|
+
this.maxFontSize = 0;
|
|
63222
|
+
this.style = style2 || {};
|
|
63223
|
+
if (options) {
|
|
63224
|
+
if (options.style.isTight()) {
|
|
63225
|
+
this.classes.push("mtight");
|
|
63226
|
+
}
|
|
63227
|
+
var color2 = options.getColor();
|
|
63228
|
+
if (color2) {
|
|
63229
|
+
this.style.color = color2;
|
|
63230
|
+
}
|
|
63231
|
+
}
|
|
63232
|
+
};
|
|
63233
|
+
var toNode = function toNode2(tagName) {
|
|
63234
|
+
var node2 = document.createElement(tagName);
|
|
63235
|
+
node2.className = createClass(this.classes);
|
|
63236
|
+
for (var key of Object.keys(this.style)) {
|
|
63237
|
+
node2.style[key] = this.style[key];
|
|
63238
|
+
}
|
|
63239
|
+
for (var attr of Object.keys(this.attributes)) {
|
|
63240
|
+
node2.setAttribute(attr, this.attributes[attr]);
|
|
63241
|
+
}
|
|
63242
|
+
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
63243
|
+
node2.appendChild(this.children[i2].toNode());
|
|
63244
|
+
}
|
|
63245
|
+
return node2;
|
|
63246
|
+
};
|
|
63247
|
+
var invalidAttributeNameRegex = /[\s"'>/=\x00-\x1f]/;
|
|
63248
|
+
var toMarkup = function toMarkup2(tagName) {
|
|
63249
|
+
var markup = "<" + tagName;
|
|
63250
|
+
if (this.classes.length) {
|
|
63251
|
+
markup += ' class="' + escape$1(createClass(this.classes)) + '"';
|
|
63252
|
+
}
|
|
63253
|
+
var styles2 = "";
|
|
63254
|
+
for (var key of Object.keys(this.style)) {
|
|
63255
|
+
styles2 += hyphenate(key) + ":" + this.style[key] + ";";
|
|
63256
|
+
}
|
|
63257
|
+
if (styles2) {
|
|
63258
|
+
markup += ' style="' + escape$1(styles2) + '"';
|
|
63259
|
+
}
|
|
63260
|
+
for (var attr of Object.keys(this.attributes)) {
|
|
63261
|
+
if (invalidAttributeNameRegex.test(attr)) {
|
|
63262
|
+
throw new ParseError("Invalid attribute name '" + attr + "'");
|
|
63263
|
+
}
|
|
63264
|
+
markup += " " + attr + '="' + escape$1(this.attributes[attr]) + '"';
|
|
63265
|
+
}
|
|
63266
|
+
markup += ">";
|
|
63267
|
+
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
63268
|
+
markup += this.children[i2].toMarkup();
|
|
63269
|
+
}
|
|
63270
|
+
markup += "</" + tagName + ">";
|
|
63271
|
+
return markup;
|
|
63272
|
+
};
|
|
63273
|
+
class Span {
|
|
63274
|
+
constructor(classes, children2, options, style2) {
|
|
63275
|
+
initNode.call(this, classes, options, style2);
|
|
63276
|
+
this.children = children2 || [];
|
|
63277
|
+
}
|
|
63278
|
+
/**
|
|
63279
|
+
* Sets an arbitrary attribute on the span. Warning: use this wisely. Not
|
|
63280
|
+
* all browsers support attributes the same, and having too many custom
|
|
63281
|
+
* attributes is probably bad.
|
|
63282
|
+
*/
|
|
63283
|
+
setAttribute(attribute2, value) {
|
|
63284
|
+
this.attributes[attribute2] = value;
|
|
63285
|
+
}
|
|
63286
|
+
hasClass(className) {
|
|
63287
|
+
return this.classes.includes(className);
|
|
63288
|
+
}
|
|
63289
|
+
toNode() {
|
|
63290
|
+
return toNode.call(this, "span");
|
|
63291
|
+
}
|
|
63292
|
+
toMarkup() {
|
|
63293
|
+
return toMarkup.call(this, "span");
|
|
63294
|
+
}
|
|
63295
|
+
}
|
|
63296
|
+
class Anchor {
|
|
63297
|
+
constructor(href, classes, children2, options) {
|
|
63298
|
+
initNode.call(this, classes, options);
|
|
63299
|
+
this.children = children2 || [];
|
|
63300
|
+
this.setAttribute("href", href);
|
|
63301
|
+
}
|
|
63302
|
+
setAttribute(attribute2, value) {
|
|
63303
|
+
this.attributes[attribute2] = value;
|
|
63304
|
+
}
|
|
63305
|
+
hasClass(className) {
|
|
63306
|
+
return this.classes.includes(className);
|
|
63307
|
+
}
|
|
63308
|
+
toNode() {
|
|
63309
|
+
return toNode.call(this, "a");
|
|
63310
|
+
}
|
|
63311
|
+
toMarkup() {
|
|
63312
|
+
return toMarkup.call(this, "a");
|
|
63313
|
+
}
|
|
63314
|
+
}
|
|
63315
|
+
class Img {
|
|
63316
|
+
constructor(src, alt, style2) {
|
|
63317
|
+
this.alt = alt;
|
|
63318
|
+
this.src = src;
|
|
63319
|
+
this.classes = ["mord"];
|
|
63217
63320
|
this.height = 0;
|
|
63218
63321
|
this.depth = 0;
|
|
63219
63322
|
this.maxFontSize = 0;
|
|
63220
|
-
this.style =
|
|
63323
|
+
this.style = style2;
|
|
63221
63324
|
}
|
|
63222
63325
|
hasClass(className) {
|
|
63223
63326
|
return this.classes.includes(className);
|
|
63224
63327
|
}
|
|
63225
|
-
/** Convert the fragment into a node. */
|
|
63226
63328
|
toNode() {
|
|
63227
|
-
var
|
|
63329
|
+
var node2 = document.createElement("img");
|
|
63330
|
+
node2.src = this.src;
|
|
63331
|
+
node2.alt = this.alt;
|
|
63332
|
+
node2.className = "mord";
|
|
63333
|
+
for (var key of Object.keys(this.style)) {
|
|
63334
|
+
node2.style[key] = this.style[key];
|
|
63335
|
+
}
|
|
63336
|
+
return node2;
|
|
63337
|
+
}
|
|
63338
|
+
toMarkup() {
|
|
63339
|
+
var markup = '<img src="' + escape$1(this.src) + '"' + (' alt="' + escape$1(this.alt) + '"');
|
|
63340
|
+
var styles2 = "";
|
|
63341
|
+
for (var key of Object.keys(this.style)) {
|
|
63342
|
+
styles2 += hyphenate(key) + ":" + this.style[key] + ";";
|
|
63343
|
+
}
|
|
63344
|
+
if (styles2) {
|
|
63345
|
+
markup += ' style="' + escape$1(styles2) + '"';
|
|
63346
|
+
}
|
|
63347
|
+
markup += "'/>";
|
|
63348
|
+
return markup;
|
|
63349
|
+
}
|
|
63350
|
+
}
|
|
63351
|
+
var iCombinations = {
|
|
63352
|
+
"î": "ı̂",
|
|
63353
|
+
"ï": "ı̈",
|
|
63354
|
+
"í": "ı́",
|
|
63355
|
+
// 'ī': '\u0131\u0304', // enable when we add Extended Latin
|
|
63356
|
+
"ì": "ı̀"
|
|
63357
|
+
};
|
|
63358
|
+
class SymbolNode {
|
|
63359
|
+
constructor(text2, height, depth, italic, skew2, width, classes, style2) {
|
|
63360
|
+
this.text = text2;
|
|
63361
|
+
this.height = height || 0;
|
|
63362
|
+
this.depth = depth || 0;
|
|
63363
|
+
this.italic = italic || 0;
|
|
63364
|
+
this.skew = skew2 || 0;
|
|
63365
|
+
this.width = width || 0;
|
|
63366
|
+
this.classes = classes || [];
|
|
63367
|
+
this.style = style2 || {};
|
|
63368
|
+
this.maxFontSize = 0;
|
|
63369
|
+
var script = scriptFromCodepoint(this.text.charCodeAt(0));
|
|
63370
|
+
if (script) {
|
|
63371
|
+
this.classes.push(script + "_fallback");
|
|
63372
|
+
}
|
|
63373
|
+
if (/[îïíì]/.test(this.text)) {
|
|
63374
|
+
this.text = iCombinations[this.text];
|
|
63375
|
+
}
|
|
63376
|
+
}
|
|
63377
|
+
hasClass(className) {
|
|
63378
|
+
return this.classes.includes(className);
|
|
63379
|
+
}
|
|
63380
|
+
/**
|
|
63381
|
+
* Creates a text node or span from a symbol node. Note that a span is only
|
|
63382
|
+
* created if it is needed.
|
|
63383
|
+
*/
|
|
63384
|
+
toNode() {
|
|
63385
|
+
var node2 = document.createTextNode(this.text);
|
|
63386
|
+
var span = null;
|
|
63387
|
+
if (this.italic > 0) {
|
|
63388
|
+
span = document.createElement("span");
|
|
63389
|
+
span.style.marginRight = makeEm(this.italic);
|
|
63390
|
+
}
|
|
63391
|
+
if (this.classes.length > 0) {
|
|
63392
|
+
span = span || document.createElement("span");
|
|
63393
|
+
span.className = createClass(this.classes);
|
|
63394
|
+
}
|
|
63395
|
+
for (var key of Object.keys(this.style)) {
|
|
63396
|
+
span = span || document.createElement("span");
|
|
63397
|
+
span.style[key] = this.style[key];
|
|
63398
|
+
}
|
|
63399
|
+
if (span) {
|
|
63400
|
+
span.appendChild(node2);
|
|
63401
|
+
return span;
|
|
63402
|
+
} else {
|
|
63403
|
+
return node2;
|
|
63404
|
+
}
|
|
63405
|
+
}
|
|
63406
|
+
/**
|
|
63407
|
+
* Creates markup for a symbol node.
|
|
63408
|
+
*/
|
|
63409
|
+
toMarkup() {
|
|
63410
|
+
var needsSpan = false;
|
|
63411
|
+
var markup = "<span";
|
|
63412
|
+
if (this.classes.length) {
|
|
63413
|
+
needsSpan = true;
|
|
63414
|
+
markup += ' class="';
|
|
63415
|
+
markup += escape$1(createClass(this.classes));
|
|
63416
|
+
markup += '"';
|
|
63417
|
+
}
|
|
63418
|
+
var styles2 = "";
|
|
63419
|
+
if (this.italic > 0) {
|
|
63420
|
+
styles2 += "margin-right:" + this.italic + "em;";
|
|
63421
|
+
}
|
|
63422
|
+
for (var key of Object.keys(this.style)) {
|
|
63423
|
+
styles2 += hyphenate(key) + ":" + this.style[key] + ";";
|
|
63424
|
+
}
|
|
63425
|
+
if (styles2) {
|
|
63426
|
+
needsSpan = true;
|
|
63427
|
+
markup += ' style="' + escape$1(styles2) + '"';
|
|
63428
|
+
}
|
|
63429
|
+
var escaped = escape$1(this.text);
|
|
63430
|
+
if (needsSpan) {
|
|
63431
|
+
markup += ">";
|
|
63432
|
+
markup += escaped;
|
|
63433
|
+
markup += "</span>";
|
|
63434
|
+
return markup;
|
|
63435
|
+
} else {
|
|
63436
|
+
return escaped;
|
|
63437
|
+
}
|
|
63438
|
+
}
|
|
63439
|
+
}
|
|
63440
|
+
class SvgNode {
|
|
63441
|
+
constructor(children2, attributes) {
|
|
63442
|
+
this.children = children2 || [];
|
|
63443
|
+
this.attributes = attributes || {};
|
|
63444
|
+
}
|
|
63445
|
+
toNode() {
|
|
63446
|
+
var svgNS = "http://www.w3.org/2000/svg";
|
|
63447
|
+
var node2 = document.createElementNS(svgNS, "svg");
|
|
63448
|
+
for (var attr of Object.keys(this.attributes)) {
|
|
63449
|
+
node2.setAttribute(attr, this.attributes[attr]);
|
|
63450
|
+
}
|
|
63228
63451
|
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
63229
|
-
|
|
63452
|
+
node2.appendChild(this.children[i2].toNode());
|
|
63230
63453
|
}
|
|
63231
|
-
return
|
|
63454
|
+
return node2;
|
|
63232
63455
|
}
|
|
63233
|
-
/** Convert the fragment into HTML markup. */
|
|
63234
63456
|
toMarkup() {
|
|
63235
|
-
var markup = "";
|
|
63457
|
+
var markup = '<svg xmlns="http://www.w3.org/2000/svg"';
|
|
63458
|
+
for (var attr of Object.keys(this.attributes)) {
|
|
63459
|
+
markup += " " + attr + '="' + escape$1(this.attributes[attr]) + '"';
|
|
63460
|
+
}
|
|
63461
|
+
markup += ">";
|
|
63236
63462
|
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
63237
63463
|
markup += this.children[i2].toMarkup();
|
|
63238
63464
|
}
|
|
63465
|
+
markup += "</svg>";
|
|
63239
63466
|
return markup;
|
|
63240
63467
|
}
|
|
63241
|
-
|
|
63242
|
-
|
|
63243
|
-
|
|
63244
|
-
|
|
63245
|
-
|
|
63246
|
-
|
|
63247
|
-
|
|
63468
|
+
}
|
|
63469
|
+
class PathNode {
|
|
63470
|
+
constructor(pathName, alternate) {
|
|
63471
|
+
this.pathName = pathName;
|
|
63472
|
+
this.alternate = alternate;
|
|
63473
|
+
}
|
|
63474
|
+
toNode() {
|
|
63475
|
+
var svgNS = "http://www.w3.org/2000/svg";
|
|
63476
|
+
var node2 = document.createElementNS(svgNS, "path");
|
|
63477
|
+
if (this.alternate) {
|
|
63478
|
+
node2.setAttribute("d", this.alternate);
|
|
63479
|
+
} else {
|
|
63480
|
+
node2.setAttribute("d", path[this.pathName]);
|
|
63481
|
+
}
|
|
63482
|
+
return node2;
|
|
63483
|
+
}
|
|
63484
|
+
toMarkup() {
|
|
63485
|
+
if (this.alternate) {
|
|
63486
|
+
return '<path d="' + escape$1(this.alternate) + '"/>';
|
|
63487
|
+
} else {
|
|
63488
|
+
return '<path d="' + escape$1(path[this.pathName]) + '"/>';
|
|
63489
|
+
}
|
|
63490
|
+
}
|
|
63491
|
+
}
|
|
63492
|
+
class LineNode {
|
|
63493
|
+
constructor(attributes) {
|
|
63494
|
+
this.attributes = attributes || {};
|
|
63495
|
+
}
|
|
63496
|
+
toNode() {
|
|
63497
|
+
var svgNS = "http://www.w3.org/2000/svg";
|
|
63498
|
+
var node2 = document.createElementNS(svgNS, "line");
|
|
63499
|
+
for (var attr of Object.keys(this.attributes)) {
|
|
63500
|
+
node2.setAttribute(attr, this.attributes[attr]);
|
|
63501
|
+
}
|
|
63502
|
+
return node2;
|
|
63503
|
+
}
|
|
63504
|
+
toMarkup() {
|
|
63505
|
+
var markup = "<line";
|
|
63506
|
+
for (var attr of Object.keys(this.attributes)) {
|
|
63507
|
+
markup += " " + attr + '="' + escape$1(this.attributes[attr]) + '"';
|
|
63508
|
+
}
|
|
63509
|
+
markup += "/>";
|
|
63510
|
+
return markup;
|
|
63511
|
+
}
|
|
63512
|
+
}
|
|
63513
|
+
function assertSymbolDomNode(group) {
|
|
63514
|
+
if (group instanceof SymbolNode) {
|
|
63515
|
+
return group;
|
|
63516
|
+
} else {
|
|
63517
|
+
throw new Error("Expected symbolNode but got " + String(group) + ".");
|
|
63518
|
+
}
|
|
63519
|
+
}
|
|
63520
|
+
function assertSpan(group) {
|
|
63521
|
+
if (group instanceof Span) {
|
|
63522
|
+
return group;
|
|
63523
|
+
} else {
|
|
63524
|
+
throw new Error("Expected span<HtmlDomNode> but got " + String(group) + ".");
|
|
63248
63525
|
}
|
|
63249
63526
|
}
|
|
63250
63527
|
var fontMetricsData = {
|
|
@@ -65529,721 +65806,6 @@ function getGlobalMetrics(size) {
|
|
|
65529
65806
|
}
|
|
65530
65807
|
return fontMetricsBySizeIndex[sizeIndex];
|
|
65531
65808
|
}
|
|
65532
|
-
var sizeStyleMap = [
|
|
65533
|
-
// Each element contains [textsize, scriptsize, scriptscriptsize].
|
|
65534
|
-
// The size mappings are taken from TeX with \normalsize=10pt.
|
|
65535
|
-
[1, 1, 1],
|
|
65536
|
-
// size1: [5, 5, 5] \tiny
|
|
65537
|
-
[2, 1, 1],
|
|
65538
|
-
// size2: [6, 5, 5]
|
|
65539
|
-
[3, 1, 1],
|
|
65540
|
-
// size3: [7, 5, 5] \scriptsize
|
|
65541
|
-
[4, 2, 1],
|
|
65542
|
-
// size4: [8, 6, 5] \footnotesize
|
|
65543
|
-
[5, 2, 1],
|
|
65544
|
-
// size5: [9, 6, 5] \small
|
|
65545
|
-
[6, 3, 1],
|
|
65546
|
-
// size6: [10, 7, 5] \normalsize
|
|
65547
|
-
[7, 4, 2],
|
|
65548
|
-
// size7: [12, 8, 6] \large
|
|
65549
|
-
[8, 6, 3],
|
|
65550
|
-
// size8: [14.4, 10, 7] \Large
|
|
65551
|
-
[9, 7, 6],
|
|
65552
|
-
// size9: [17.28, 12, 10] \LARGE
|
|
65553
|
-
[10, 8, 7],
|
|
65554
|
-
// size10: [20.74, 14.4, 12] \huge
|
|
65555
|
-
[11, 10, 9]
|
|
65556
|
-
// size11: [24.88, 20.74, 17.28] \HUGE
|
|
65557
|
-
];
|
|
65558
|
-
var sizeMultipliers = [
|
|
65559
|
-
// fontMetrics.js:getGlobalMetrics also uses size indexes, so if
|
|
65560
|
-
// you change size indexes, change that function.
|
|
65561
|
-
0.5,
|
|
65562
|
-
0.6,
|
|
65563
|
-
0.7,
|
|
65564
|
-
0.8,
|
|
65565
|
-
0.9,
|
|
65566
|
-
1,
|
|
65567
|
-
1.2,
|
|
65568
|
-
1.44,
|
|
65569
|
-
1.728,
|
|
65570
|
-
2.074,
|
|
65571
|
-
2.488
|
|
65572
|
-
];
|
|
65573
|
-
var sizeAtStyle = function sizeAtStyle2(size, style2) {
|
|
65574
|
-
return style2.size < 2 ? size : sizeStyleMap[size - 1][style2.size - 1];
|
|
65575
|
-
};
|
|
65576
|
-
class Options {
|
|
65577
|
-
// A font family applies to a group of fonts (i.e. SansSerif), while a font
|
|
65578
|
-
// represents a specific font (i.e. SansSerif Bold).
|
|
65579
|
-
// See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm
|
|
65580
|
-
/**
|
|
65581
|
-
* The base size index.
|
|
65582
|
-
*/
|
|
65583
|
-
constructor(data) {
|
|
65584
|
-
this.style = void 0;
|
|
65585
|
-
this.color = void 0;
|
|
65586
|
-
this.size = void 0;
|
|
65587
|
-
this.textSize = void 0;
|
|
65588
|
-
this.phantom = void 0;
|
|
65589
|
-
this.font = void 0;
|
|
65590
|
-
this.fontFamily = void 0;
|
|
65591
|
-
this.fontWeight = void 0;
|
|
65592
|
-
this.fontShape = void 0;
|
|
65593
|
-
this.sizeMultiplier = void 0;
|
|
65594
|
-
this.maxSize = void 0;
|
|
65595
|
-
this.minRuleThickness = void 0;
|
|
65596
|
-
this._fontMetrics = void 0;
|
|
65597
|
-
this.style = data.style;
|
|
65598
|
-
this.color = data.color;
|
|
65599
|
-
this.size = data.size || Options.BASESIZE;
|
|
65600
|
-
this.textSize = data.textSize || this.size;
|
|
65601
|
-
this.phantom = !!data.phantom;
|
|
65602
|
-
this.font = data.font || "";
|
|
65603
|
-
this.fontFamily = data.fontFamily || "";
|
|
65604
|
-
this.fontWeight = data.fontWeight || "";
|
|
65605
|
-
this.fontShape = data.fontShape || "";
|
|
65606
|
-
this.sizeMultiplier = sizeMultipliers[this.size - 1];
|
|
65607
|
-
this.maxSize = data.maxSize;
|
|
65608
|
-
this.minRuleThickness = data.minRuleThickness;
|
|
65609
|
-
this._fontMetrics = void 0;
|
|
65610
|
-
}
|
|
65611
|
-
/**
|
|
65612
|
-
* Returns a new options object with the same properties as "this". Properties
|
|
65613
|
-
* from "extension" will be copied to the new options object.
|
|
65614
|
-
*/
|
|
65615
|
-
extend(extension2) {
|
|
65616
|
-
var data = {
|
|
65617
|
-
style: this.style,
|
|
65618
|
-
size: this.size,
|
|
65619
|
-
textSize: this.textSize,
|
|
65620
|
-
color: this.color,
|
|
65621
|
-
phantom: this.phantom,
|
|
65622
|
-
font: this.font,
|
|
65623
|
-
fontFamily: this.fontFamily,
|
|
65624
|
-
fontWeight: this.fontWeight,
|
|
65625
|
-
fontShape: this.fontShape,
|
|
65626
|
-
maxSize: this.maxSize,
|
|
65627
|
-
minRuleThickness: this.minRuleThickness
|
|
65628
|
-
};
|
|
65629
|
-
for (var key in extension2) {
|
|
65630
|
-
if (extension2.hasOwnProperty(key)) {
|
|
65631
|
-
data[key] = extension2[key];
|
|
65632
|
-
}
|
|
65633
|
-
}
|
|
65634
|
-
return new Options(data);
|
|
65635
|
-
}
|
|
65636
|
-
/**
|
|
65637
|
-
* Return an options object with the given style. If `this.style === style`,
|
|
65638
|
-
* returns `this`.
|
|
65639
|
-
*/
|
|
65640
|
-
havingStyle(style2) {
|
|
65641
|
-
if (this.style === style2) {
|
|
65642
|
-
return this;
|
|
65643
|
-
} else {
|
|
65644
|
-
return this.extend({
|
|
65645
|
-
style: style2,
|
|
65646
|
-
size: sizeAtStyle(this.textSize, style2)
|
|
65647
|
-
});
|
|
65648
|
-
}
|
|
65649
|
-
}
|
|
65650
|
-
/**
|
|
65651
|
-
* Return an options object with a cramped version of the current style. If
|
|
65652
|
-
* the current style is cramped, returns `this`.
|
|
65653
|
-
*/
|
|
65654
|
-
havingCrampedStyle() {
|
|
65655
|
-
return this.havingStyle(this.style.cramp());
|
|
65656
|
-
}
|
|
65657
|
-
/**
|
|
65658
|
-
* Return an options object with the given size and in at least `\textstyle`.
|
|
65659
|
-
* Returns `this` if appropriate.
|
|
65660
|
-
*/
|
|
65661
|
-
havingSize(size) {
|
|
65662
|
-
if (this.size === size && this.textSize === size) {
|
|
65663
|
-
return this;
|
|
65664
|
-
} else {
|
|
65665
|
-
return this.extend({
|
|
65666
|
-
style: this.style.text(),
|
|
65667
|
-
size,
|
|
65668
|
-
textSize: size,
|
|
65669
|
-
sizeMultiplier: sizeMultipliers[size - 1]
|
|
65670
|
-
});
|
|
65671
|
-
}
|
|
65672
|
-
}
|
|
65673
|
-
/**
|
|
65674
|
-
* Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,
|
|
65675
|
-
* changes to at least `\textstyle`.
|
|
65676
|
-
*/
|
|
65677
|
-
havingBaseStyle(style2) {
|
|
65678
|
-
style2 = style2 || this.style.text();
|
|
65679
|
-
var wantSize = sizeAtStyle(Options.BASESIZE, style2);
|
|
65680
|
-
if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style2) {
|
|
65681
|
-
return this;
|
|
65682
|
-
} else {
|
|
65683
|
-
return this.extend({
|
|
65684
|
-
style: style2,
|
|
65685
|
-
size: wantSize
|
|
65686
|
-
});
|
|
65687
|
-
}
|
|
65688
|
-
}
|
|
65689
|
-
/**
|
|
65690
|
-
* Remove the effect of sizing changes such as \Huge.
|
|
65691
|
-
* Keep the effect of the current style, such as \scriptstyle.
|
|
65692
|
-
*/
|
|
65693
|
-
havingBaseSizing() {
|
|
65694
|
-
var size;
|
|
65695
|
-
switch (this.style.id) {
|
|
65696
|
-
case 4:
|
|
65697
|
-
case 5:
|
|
65698
|
-
size = 3;
|
|
65699
|
-
break;
|
|
65700
|
-
case 6:
|
|
65701
|
-
case 7:
|
|
65702
|
-
size = 1;
|
|
65703
|
-
break;
|
|
65704
|
-
default:
|
|
65705
|
-
size = 6;
|
|
65706
|
-
}
|
|
65707
|
-
return this.extend({
|
|
65708
|
-
style: this.style.text(),
|
|
65709
|
-
size
|
|
65710
|
-
});
|
|
65711
|
-
}
|
|
65712
|
-
/**
|
|
65713
|
-
* Create a new options object with the given color.
|
|
65714
|
-
*/
|
|
65715
|
-
withColor(color2) {
|
|
65716
|
-
return this.extend({
|
|
65717
|
-
color: color2
|
|
65718
|
-
});
|
|
65719
|
-
}
|
|
65720
|
-
/**
|
|
65721
|
-
* Create a new options object with "phantom" set to true.
|
|
65722
|
-
*/
|
|
65723
|
-
withPhantom() {
|
|
65724
|
-
return this.extend({
|
|
65725
|
-
phantom: true
|
|
65726
|
-
});
|
|
65727
|
-
}
|
|
65728
|
-
/**
|
|
65729
|
-
* Creates a new options object with the given math font or old text font.
|
|
65730
|
-
* @type {[type]}
|
|
65731
|
-
*/
|
|
65732
|
-
withFont(font) {
|
|
65733
|
-
return this.extend({
|
|
65734
|
-
font
|
|
65735
|
-
});
|
|
65736
|
-
}
|
|
65737
|
-
/**
|
|
65738
|
-
* Create a new options objects with the given fontFamily.
|
|
65739
|
-
*/
|
|
65740
|
-
withTextFontFamily(fontFamily) {
|
|
65741
|
-
return this.extend({
|
|
65742
|
-
fontFamily,
|
|
65743
|
-
font: ""
|
|
65744
|
-
});
|
|
65745
|
-
}
|
|
65746
|
-
/**
|
|
65747
|
-
* Creates a new options object with the given font weight
|
|
65748
|
-
*/
|
|
65749
|
-
withTextFontWeight(fontWeight) {
|
|
65750
|
-
return this.extend({
|
|
65751
|
-
fontWeight,
|
|
65752
|
-
font: ""
|
|
65753
|
-
});
|
|
65754
|
-
}
|
|
65755
|
-
/**
|
|
65756
|
-
* Creates a new options object with the given font weight
|
|
65757
|
-
*/
|
|
65758
|
-
withTextFontShape(fontShape) {
|
|
65759
|
-
return this.extend({
|
|
65760
|
-
fontShape,
|
|
65761
|
-
font: ""
|
|
65762
|
-
});
|
|
65763
|
-
}
|
|
65764
|
-
/**
|
|
65765
|
-
* Return the CSS sizing classes required to switch from enclosing options
|
|
65766
|
-
* `oldOptions` to `this`. Returns an array of classes.
|
|
65767
|
-
*/
|
|
65768
|
-
sizingClasses(oldOptions) {
|
|
65769
|
-
if (oldOptions.size !== this.size) {
|
|
65770
|
-
return ["sizing", "reset-size" + oldOptions.size, "size" + this.size];
|
|
65771
|
-
} else {
|
|
65772
|
-
return [];
|
|
65773
|
-
}
|
|
65774
|
-
}
|
|
65775
|
-
/**
|
|
65776
|
-
* Return the CSS sizing classes required to switch to the base size. Like
|
|
65777
|
-
* `this.havingSize(BASESIZE).sizingClasses(this)`.
|
|
65778
|
-
*/
|
|
65779
|
-
baseSizingClasses() {
|
|
65780
|
-
if (this.size !== Options.BASESIZE) {
|
|
65781
|
-
return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE];
|
|
65782
|
-
} else {
|
|
65783
|
-
return [];
|
|
65784
|
-
}
|
|
65785
|
-
}
|
|
65786
|
-
/**
|
|
65787
|
-
* Return the font metrics for this size.
|
|
65788
|
-
*/
|
|
65789
|
-
fontMetrics() {
|
|
65790
|
-
if (!this._fontMetrics) {
|
|
65791
|
-
this._fontMetrics = getGlobalMetrics(this.size);
|
|
65792
|
-
}
|
|
65793
|
-
return this._fontMetrics;
|
|
65794
|
-
}
|
|
65795
|
-
/**
|
|
65796
|
-
* Gets the CSS color of the current options object
|
|
65797
|
-
*/
|
|
65798
|
-
getColor() {
|
|
65799
|
-
if (this.phantom) {
|
|
65800
|
-
return "transparent";
|
|
65801
|
-
} else {
|
|
65802
|
-
return this.color;
|
|
65803
|
-
}
|
|
65804
|
-
}
|
|
65805
|
-
}
|
|
65806
|
-
Options.BASESIZE = 6;
|
|
65807
|
-
var ptPerUnit = {
|
|
65808
|
-
// https://en.wikibooks.org/wiki/LaTeX/Lengths and
|
|
65809
|
-
// https://tex.stackexchange.com/a/8263
|
|
65810
|
-
"pt": 1,
|
|
65811
|
-
// TeX point
|
|
65812
|
-
"mm": 7227 / 2540,
|
|
65813
|
-
// millimeter
|
|
65814
|
-
"cm": 7227 / 254,
|
|
65815
|
-
// centimeter
|
|
65816
|
-
"in": 72.27,
|
|
65817
|
-
// inch
|
|
65818
|
-
"bp": 803 / 800,
|
|
65819
|
-
// big (PostScript) points
|
|
65820
|
-
"pc": 12,
|
|
65821
|
-
// pica
|
|
65822
|
-
"dd": 1238 / 1157,
|
|
65823
|
-
// didot
|
|
65824
|
-
"cc": 14856 / 1157,
|
|
65825
|
-
// cicero (12 didot)
|
|
65826
|
-
"nd": 685 / 642,
|
|
65827
|
-
// new didot
|
|
65828
|
-
"nc": 1370 / 107,
|
|
65829
|
-
// new cicero (12 new didot)
|
|
65830
|
-
"sp": 1 / 65536,
|
|
65831
|
-
// scaled point (TeX's internal smallest unit)
|
|
65832
|
-
// https://tex.stackexchange.com/a/41371
|
|
65833
|
-
"px": 803 / 800
|
|
65834
|
-
// \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX
|
|
65835
|
-
};
|
|
65836
|
-
var relativeUnit = {
|
|
65837
|
-
"ex": true,
|
|
65838
|
-
"em": true,
|
|
65839
|
-
"mu": true
|
|
65840
|
-
};
|
|
65841
|
-
var validUnit = function validUnit2(unit) {
|
|
65842
|
-
if (typeof unit !== "string") {
|
|
65843
|
-
unit = unit.unit;
|
|
65844
|
-
}
|
|
65845
|
-
return unit in ptPerUnit || unit in relativeUnit || unit === "ex";
|
|
65846
|
-
};
|
|
65847
|
-
var calculateSize$1 = function calculateSize(sizeValue, options) {
|
|
65848
|
-
var scale;
|
|
65849
|
-
if (sizeValue.unit in ptPerUnit) {
|
|
65850
|
-
scale = ptPerUnit[sizeValue.unit] / options.fontMetrics().ptPerEm / options.sizeMultiplier;
|
|
65851
|
-
} else if (sizeValue.unit === "mu") {
|
|
65852
|
-
scale = options.fontMetrics().cssEmPerMu;
|
|
65853
|
-
} else {
|
|
65854
|
-
var unitOptions;
|
|
65855
|
-
if (options.style.isTight()) {
|
|
65856
|
-
unitOptions = options.havingStyle(options.style.text());
|
|
65857
|
-
} else {
|
|
65858
|
-
unitOptions = options;
|
|
65859
|
-
}
|
|
65860
|
-
if (sizeValue.unit === "ex") {
|
|
65861
|
-
scale = unitOptions.fontMetrics().xHeight;
|
|
65862
|
-
} else if (sizeValue.unit === "em") {
|
|
65863
|
-
scale = unitOptions.fontMetrics().quad;
|
|
65864
|
-
} else {
|
|
65865
|
-
throw new ParseError("Invalid unit: '" + sizeValue.unit + "'");
|
|
65866
|
-
}
|
|
65867
|
-
if (unitOptions !== options) {
|
|
65868
|
-
scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;
|
|
65869
|
-
}
|
|
65870
|
-
}
|
|
65871
|
-
return Math.min(sizeValue.number * scale, options.maxSize);
|
|
65872
|
-
};
|
|
65873
|
-
var makeEm = function makeEm2(n2) {
|
|
65874
|
-
return +n2.toFixed(4) + "em";
|
|
65875
|
-
};
|
|
65876
|
-
var createClass = function createClass2(classes) {
|
|
65877
|
-
return classes.filter((cls) => cls).join(" ");
|
|
65878
|
-
};
|
|
65879
|
-
var initNode = function initNode2(classes, options, style2) {
|
|
65880
|
-
this.classes = classes || [];
|
|
65881
|
-
this.attributes = {};
|
|
65882
|
-
this.height = 0;
|
|
65883
|
-
this.depth = 0;
|
|
65884
|
-
this.maxFontSize = 0;
|
|
65885
|
-
this.style = style2 || {};
|
|
65886
|
-
if (options) {
|
|
65887
|
-
if (options.style.isTight()) {
|
|
65888
|
-
this.classes.push("mtight");
|
|
65889
|
-
}
|
|
65890
|
-
var color2 = options.getColor();
|
|
65891
|
-
if (color2) {
|
|
65892
|
-
this.style.color = color2;
|
|
65893
|
-
}
|
|
65894
|
-
}
|
|
65895
|
-
};
|
|
65896
|
-
var toNode = function toNode2(tagName) {
|
|
65897
|
-
var node2 = document.createElement(tagName);
|
|
65898
|
-
node2.className = createClass(this.classes);
|
|
65899
|
-
for (var style2 in this.style) {
|
|
65900
|
-
if (this.style.hasOwnProperty(style2)) {
|
|
65901
|
-
node2.style[style2] = this.style[style2];
|
|
65902
|
-
}
|
|
65903
|
-
}
|
|
65904
|
-
for (var attr in this.attributes) {
|
|
65905
|
-
if (this.attributes.hasOwnProperty(attr)) {
|
|
65906
|
-
node2.setAttribute(attr, this.attributes[attr]);
|
|
65907
|
-
}
|
|
65908
|
-
}
|
|
65909
|
-
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
65910
|
-
node2.appendChild(this.children[i2].toNode());
|
|
65911
|
-
}
|
|
65912
|
-
return node2;
|
|
65913
|
-
};
|
|
65914
|
-
var invalidAttributeNameRegex = /[\s"'>/=\x00-\x1f]/;
|
|
65915
|
-
var toMarkup = function toMarkup2(tagName) {
|
|
65916
|
-
var markup = "<" + tagName;
|
|
65917
|
-
if (this.classes.length) {
|
|
65918
|
-
markup += ' class="' + escape$1(createClass(this.classes)) + '"';
|
|
65919
|
-
}
|
|
65920
|
-
var styles2 = "";
|
|
65921
|
-
for (var style2 in this.style) {
|
|
65922
|
-
if (this.style.hasOwnProperty(style2)) {
|
|
65923
|
-
styles2 += hyphenate(style2) + ":" + this.style[style2] + ";";
|
|
65924
|
-
}
|
|
65925
|
-
}
|
|
65926
|
-
if (styles2) {
|
|
65927
|
-
markup += ' style="' + escape$1(styles2) + '"';
|
|
65928
|
-
}
|
|
65929
|
-
for (var attr in this.attributes) {
|
|
65930
|
-
if (this.attributes.hasOwnProperty(attr)) {
|
|
65931
|
-
if (invalidAttributeNameRegex.test(attr)) {
|
|
65932
|
-
throw new ParseError("Invalid attribute name '" + attr + "'");
|
|
65933
|
-
}
|
|
65934
|
-
markup += " " + attr + '="' + escape$1(this.attributes[attr]) + '"';
|
|
65935
|
-
}
|
|
65936
|
-
}
|
|
65937
|
-
markup += ">";
|
|
65938
|
-
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
65939
|
-
markup += this.children[i2].toMarkup();
|
|
65940
|
-
}
|
|
65941
|
-
markup += "</" + tagName + ">";
|
|
65942
|
-
return markup;
|
|
65943
|
-
};
|
|
65944
|
-
class Span {
|
|
65945
|
-
constructor(classes, children2, options, style2) {
|
|
65946
|
-
this.children = void 0;
|
|
65947
|
-
this.attributes = void 0;
|
|
65948
|
-
this.classes = void 0;
|
|
65949
|
-
this.height = void 0;
|
|
65950
|
-
this.depth = void 0;
|
|
65951
|
-
this.width = void 0;
|
|
65952
|
-
this.maxFontSize = void 0;
|
|
65953
|
-
this.style = void 0;
|
|
65954
|
-
initNode.call(this, classes, options, style2);
|
|
65955
|
-
this.children = children2 || [];
|
|
65956
|
-
}
|
|
65957
|
-
/**
|
|
65958
|
-
* Sets an arbitrary attribute on the span. Warning: use this wisely. Not
|
|
65959
|
-
* all browsers support attributes the same, and having too many custom
|
|
65960
|
-
* attributes is probably bad.
|
|
65961
|
-
*/
|
|
65962
|
-
setAttribute(attribute2, value) {
|
|
65963
|
-
this.attributes[attribute2] = value;
|
|
65964
|
-
}
|
|
65965
|
-
hasClass(className) {
|
|
65966
|
-
return this.classes.includes(className);
|
|
65967
|
-
}
|
|
65968
|
-
toNode() {
|
|
65969
|
-
return toNode.call(this, "span");
|
|
65970
|
-
}
|
|
65971
|
-
toMarkup() {
|
|
65972
|
-
return toMarkup.call(this, "span");
|
|
65973
|
-
}
|
|
65974
|
-
}
|
|
65975
|
-
class Anchor {
|
|
65976
|
-
constructor(href, classes, children2, options) {
|
|
65977
|
-
this.children = void 0;
|
|
65978
|
-
this.attributes = void 0;
|
|
65979
|
-
this.classes = void 0;
|
|
65980
|
-
this.height = void 0;
|
|
65981
|
-
this.depth = void 0;
|
|
65982
|
-
this.maxFontSize = void 0;
|
|
65983
|
-
this.style = void 0;
|
|
65984
|
-
initNode.call(this, classes, options);
|
|
65985
|
-
this.children = children2 || [];
|
|
65986
|
-
this.setAttribute("href", href);
|
|
65987
|
-
}
|
|
65988
|
-
setAttribute(attribute2, value) {
|
|
65989
|
-
this.attributes[attribute2] = value;
|
|
65990
|
-
}
|
|
65991
|
-
hasClass(className) {
|
|
65992
|
-
return this.classes.includes(className);
|
|
65993
|
-
}
|
|
65994
|
-
toNode() {
|
|
65995
|
-
return toNode.call(this, "a");
|
|
65996
|
-
}
|
|
65997
|
-
toMarkup() {
|
|
65998
|
-
return toMarkup.call(this, "a");
|
|
65999
|
-
}
|
|
66000
|
-
}
|
|
66001
|
-
class Img {
|
|
66002
|
-
constructor(src, alt, style2) {
|
|
66003
|
-
this.src = void 0;
|
|
66004
|
-
this.alt = void 0;
|
|
66005
|
-
this.classes = void 0;
|
|
66006
|
-
this.height = void 0;
|
|
66007
|
-
this.depth = void 0;
|
|
66008
|
-
this.maxFontSize = void 0;
|
|
66009
|
-
this.style = void 0;
|
|
66010
|
-
this.alt = alt;
|
|
66011
|
-
this.src = src;
|
|
66012
|
-
this.classes = ["mord"];
|
|
66013
|
-
this.style = style2;
|
|
66014
|
-
}
|
|
66015
|
-
hasClass(className) {
|
|
66016
|
-
return this.classes.includes(className);
|
|
66017
|
-
}
|
|
66018
|
-
toNode() {
|
|
66019
|
-
var node2 = document.createElement("img");
|
|
66020
|
-
node2.src = this.src;
|
|
66021
|
-
node2.alt = this.alt;
|
|
66022
|
-
node2.className = "mord";
|
|
66023
|
-
for (var style2 in this.style) {
|
|
66024
|
-
if (this.style.hasOwnProperty(style2)) {
|
|
66025
|
-
node2.style[style2] = this.style[style2];
|
|
66026
|
-
}
|
|
66027
|
-
}
|
|
66028
|
-
return node2;
|
|
66029
|
-
}
|
|
66030
|
-
toMarkup() {
|
|
66031
|
-
var markup = '<img src="' + escape$1(this.src) + '"' + (' alt="' + escape$1(this.alt) + '"');
|
|
66032
|
-
var styles2 = "";
|
|
66033
|
-
for (var style2 in this.style) {
|
|
66034
|
-
if (this.style.hasOwnProperty(style2)) {
|
|
66035
|
-
styles2 += hyphenate(style2) + ":" + this.style[style2] + ";";
|
|
66036
|
-
}
|
|
66037
|
-
}
|
|
66038
|
-
if (styles2) {
|
|
66039
|
-
markup += ' style="' + escape$1(styles2) + '"';
|
|
66040
|
-
}
|
|
66041
|
-
markup += "'/>";
|
|
66042
|
-
return markup;
|
|
66043
|
-
}
|
|
66044
|
-
}
|
|
66045
|
-
var iCombinations = {
|
|
66046
|
-
"î": "ı̂",
|
|
66047
|
-
"ï": "ı̈",
|
|
66048
|
-
"í": "ı́",
|
|
66049
|
-
// 'ī': '\u0131\u0304', // enable when we add Extended Latin
|
|
66050
|
-
"ì": "ı̀"
|
|
66051
|
-
};
|
|
66052
|
-
class SymbolNode {
|
|
66053
|
-
constructor(text2, height, depth, italic, skew2, width, classes, style2) {
|
|
66054
|
-
this.text = void 0;
|
|
66055
|
-
this.height = void 0;
|
|
66056
|
-
this.depth = void 0;
|
|
66057
|
-
this.italic = void 0;
|
|
66058
|
-
this.skew = void 0;
|
|
66059
|
-
this.width = void 0;
|
|
66060
|
-
this.maxFontSize = void 0;
|
|
66061
|
-
this.classes = void 0;
|
|
66062
|
-
this.style = void 0;
|
|
66063
|
-
this.text = text2;
|
|
66064
|
-
this.height = height || 0;
|
|
66065
|
-
this.depth = depth || 0;
|
|
66066
|
-
this.italic = italic || 0;
|
|
66067
|
-
this.skew = skew2 || 0;
|
|
66068
|
-
this.width = width || 0;
|
|
66069
|
-
this.classes = classes || [];
|
|
66070
|
-
this.style = style2 || {};
|
|
66071
|
-
this.maxFontSize = 0;
|
|
66072
|
-
var script = scriptFromCodepoint(this.text.charCodeAt(0));
|
|
66073
|
-
if (script) {
|
|
66074
|
-
this.classes.push(script + "_fallback");
|
|
66075
|
-
}
|
|
66076
|
-
if (/[îïíì]/.test(this.text)) {
|
|
66077
|
-
this.text = iCombinations[this.text];
|
|
66078
|
-
}
|
|
66079
|
-
}
|
|
66080
|
-
hasClass(className) {
|
|
66081
|
-
return this.classes.includes(className);
|
|
66082
|
-
}
|
|
66083
|
-
/**
|
|
66084
|
-
* Creates a text node or span from a symbol node. Note that a span is only
|
|
66085
|
-
* created if it is needed.
|
|
66086
|
-
*/
|
|
66087
|
-
toNode() {
|
|
66088
|
-
var node2 = document.createTextNode(this.text);
|
|
66089
|
-
var span = null;
|
|
66090
|
-
if (this.italic > 0) {
|
|
66091
|
-
span = document.createElement("span");
|
|
66092
|
-
span.style.marginRight = makeEm(this.italic);
|
|
66093
|
-
}
|
|
66094
|
-
if (this.classes.length > 0) {
|
|
66095
|
-
span = span || document.createElement("span");
|
|
66096
|
-
span.className = createClass(this.classes);
|
|
66097
|
-
}
|
|
66098
|
-
for (var style2 in this.style) {
|
|
66099
|
-
if (this.style.hasOwnProperty(style2)) {
|
|
66100
|
-
span = span || document.createElement("span");
|
|
66101
|
-
span.style[style2] = this.style[style2];
|
|
66102
|
-
}
|
|
66103
|
-
}
|
|
66104
|
-
if (span) {
|
|
66105
|
-
span.appendChild(node2);
|
|
66106
|
-
return span;
|
|
66107
|
-
} else {
|
|
66108
|
-
return node2;
|
|
66109
|
-
}
|
|
66110
|
-
}
|
|
66111
|
-
/**
|
|
66112
|
-
* Creates markup for a symbol node.
|
|
66113
|
-
*/
|
|
66114
|
-
toMarkup() {
|
|
66115
|
-
var needsSpan = false;
|
|
66116
|
-
var markup = "<span";
|
|
66117
|
-
if (this.classes.length) {
|
|
66118
|
-
needsSpan = true;
|
|
66119
|
-
markup += ' class="';
|
|
66120
|
-
markup += escape$1(createClass(this.classes));
|
|
66121
|
-
markup += '"';
|
|
66122
|
-
}
|
|
66123
|
-
var styles2 = "";
|
|
66124
|
-
if (this.italic > 0) {
|
|
66125
|
-
styles2 += "margin-right:" + this.italic + "em;";
|
|
66126
|
-
}
|
|
66127
|
-
for (var style2 in this.style) {
|
|
66128
|
-
if (this.style.hasOwnProperty(style2)) {
|
|
66129
|
-
styles2 += hyphenate(style2) + ":" + this.style[style2] + ";";
|
|
66130
|
-
}
|
|
66131
|
-
}
|
|
66132
|
-
if (styles2) {
|
|
66133
|
-
needsSpan = true;
|
|
66134
|
-
markup += ' style="' + escape$1(styles2) + '"';
|
|
66135
|
-
}
|
|
66136
|
-
var escaped = escape$1(this.text);
|
|
66137
|
-
if (needsSpan) {
|
|
66138
|
-
markup += ">";
|
|
66139
|
-
markup += escaped;
|
|
66140
|
-
markup += "</span>";
|
|
66141
|
-
return markup;
|
|
66142
|
-
} else {
|
|
66143
|
-
return escaped;
|
|
66144
|
-
}
|
|
66145
|
-
}
|
|
66146
|
-
}
|
|
66147
|
-
class SvgNode {
|
|
66148
|
-
constructor(children2, attributes) {
|
|
66149
|
-
this.children = void 0;
|
|
66150
|
-
this.attributes = void 0;
|
|
66151
|
-
this.children = children2 || [];
|
|
66152
|
-
this.attributes = attributes || {};
|
|
66153
|
-
}
|
|
66154
|
-
toNode() {
|
|
66155
|
-
var svgNS = "http://www.w3.org/2000/svg";
|
|
66156
|
-
var node2 = document.createElementNS(svgNS, "svg");
|
|
66157
|
-
for (var attr in this.attributes) {
|
|
66158
|
-
if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {
|
|
66159
|
-
node2.setAttribute(attr, this.attributes[attr]);
|
|
66160
|
-
}
|
|
66161
|
-
}
|
|
66162
|
-
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
66163
|
-
node2.appendChild(this.children[i2].toNode());
|
|
66164
|
-
}
|
|
66165
|
-
return node2;
|
|
66166
|
-
}
|
|
66167
|
-
toMarkup() {
|
|
66168
|
-
var markup = '<svg xmlns="http://www.w3.org/2000/svg"';
|
|
66169
|
-
for (var attr in this.attributes) {
|
|
66170
|
-
if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {
|
|
66171
|
-
markup += " " + attr + '="' + escape$1(this.attributes[attr]) + '"';
|
|
66172
|
-
}
|
|
66173
|
-
}
|
|
66174
|
-
markup += ">";
|
|
66175
|
-
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
66176
|
-
markup += this.children[i2].toMarkup();
|
|
66177
|
-
}
|
|
66178
|
-
markup += "</svg>";
|
|
66179
|
-
return markup;
|
|
66180
|
-
}
|
|
66181
|
-
}
|
|
66182
|
-
class PathNode {
|
|
66183
|
-
constructor(pathName, alternate) {
|
|
66184
|
-
this.pathName = void 0;
|
|
66185
|
-
this.alternate = void 0;
|
|
66186
|
-
this.pathName = pathName;
|
|
66187
|
-
this.alternate = alternate;
|
|
66188
|
-
}
|
|
66189
|
-
toNode() {
|
|
66190
|
-
var svgNS = "http://www.w3.org/2000/svg";
|
|
66191
|
-
var node2 = document.createElementNS(svgNS, "path");
|
|
66192
|
-
if (this.alternate) {
|
|
66193
|
-
node2.setAttribute("d", this.alternate);
|
|
66194
|
-
} else {
|
|
66195
|
-
node2.setAttribute("d", path[this.pathName]);
|
|
66196
|
-
}
|
|
66197
|
-
return node2;
|
|
66198
|
-
}
|
|
66199
|
-
toMarkup() {
|
|
66200
|
-
if (this.alternate) {
|
|
66201
|
-
return '<path d="' + escape$1(this.alternate) + '"/>';
|
|
66202
|
-
} else {
|
|
66203
|
-
return '<path d="' + escape$1(path[this.pathName]) + '"/>';
|
|
66204
|
-
}
|
|
66205
|
-
}
|
|
66206
|
-
}
|
|
66207
|
-
class LineNode {
|
|
66208
|
-
constructor(attributes) {
|
|
66209
|
-
this.attributes = void 0;
|
|
66210
|
-
this.attributes = attributes || {};
|
|
66211
|
-
}
|
|
66212
|
-
toNode() {
|
|
66213
|
-
var svgNS = "http://www.w3.org/2000/svg";
|
|
66214
|
-
var node2 = document.createElementNS(svgNS, "line");
|
|
66215
|
-
for (var attr in this.attributes) {
|
|
66216
|
-
if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {
|
|
66217
|
-
node2.setAttribute(attr, this.attributes[attr]);
|
|
66218
|
-
}
|
|
66219
|
-
}
|
|
66220
|
-
return node2;
|
|
66221
|
-
}
|
|
66222
|
-
toMarkup() {
|
|
66223
|
-
var markup = "<line";
|
|
66224
|
-
for (var attr in this.attributes) {
|
|
66225
|
-
if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {
|
|
66226
|
-
markup += " " + attr + '="' + escape$1(this.attributes[attr]) + '"';
|
|
66227
|
-
}
|
|
66228
|
-
}
|
|
66229
|
-
markup += "/>";
|
|
66230
|
-
return markup;
|
|
66231
|
-
}
|
|
66232
|
-
}
|
|
66233
|
-
function assertSymbolDomNode(group) {
|
|
66234
|
-
if (group instanceof SymbolNode) {
|
|
66235
|
-
return group;
|
|
66236
|
-
} else {
|
|
66237
|
-
throw new Error("Expected symbolNode but got " + String(group) + ".");
|
|
66238
|
-
}
|
|
66239
|
-
}
|
|
66240
|
-
function assertSpan(group) {
|
|
66241
|
-
if (group instanceof Span) {
|
|
66242
|
-
return group;
|
|
66243
|
-
} else {
|
|
66244
|
-
throw new Error("Expected span<HtmlDomNode> but got " + String(group) + ".");
|
|
66245
|
-
}
|
|
66246
|
-
}
|
|
66247
65809
|
var ATOMS = {
|
|
66248
65810
|
"bin": 1,
|
|
66249
65811
|
"close": 1,
|
|
@@ -67050,7 +66612,7 @@ var wideNumeralData = [
|
|
|
67050
66612
|
["mathtt", "texttt", "Typewriter-Regular"]
|
|
67051
66613
|
// 0-9 monospace
|
|
67052
66614
|
];
|
|
67053
|
-
var wideCharacterFont =
|
|
66615
|
+
var wideCharacterFont = (wideChar2, mode) => {
|
|
67054
66616
|
var H2 = wideChar2.charCodeAt(0);
|
|
67055
66617
|
var L2 = wideChar2.charCodeAt(1);
|
|
67056
66618
|
var codePoint = (H2 - 55296) * 1024 + (L2 - 56320) + 65536;
|
|
@@ -67069,9 +66631,50 @@ var wideCharacterFont = function wideCharacterFont2(wideChar2, mode) {
|
|
|
67069
66631
|
throw new ParseError("Unsupported character: " + wideChar2);
|
|
67070
66632
|
}
|
|
67071
66633
|
};
|
|
66634
|
+
class DocumentFragment {
|
|
66635
|
+
// Never used; needed for satisfying interface.
|
|
66636
|
+
constructor(children2) {
|
|
66637
|
+
this.children = children2;
|
|
66638
|
+
this.classes = [];
|
|
66639
|
+
this.height = 0;
|
|
66640
|
+
this.depth = 0;
|
|
66641
|
+
this.maxFontSize = 0;
|
|
66642
|
+
this.style = {};
|
|
66643
|
+
}
|
|
66644
|
+
hasClass(className) {
|
|
66645
|
+
return this.classes.includes(className);
|
|
66646
|
+
}
|
|
66647
|
+
/** Convert the fragment into a node. */
|
|
66648
|
+
toNode() {
|
|
66649
|
+
var frag = document.createDocumentFragment();
|
|
66650
|
+
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
66651
|
+
frag.appendChild(this.children[i2].toNode());
|
|
66652
|
+
}
|
|
66653
|
+
return frag;
|
|
66654
|
+
}
|
|
66655
|
+
/** Convert the fragment into HTML markup. */
|
|
66656
|
+
toMarkup() {
|
|
66657
|
+
var markup = "";
|
|
66658
|
+
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
66659
|
+
markup += this.children[i2].toMarkup();
|
|
66660
|
+
}
|
|
66661
|
+
return markup;
|
|
66662
|
+
}
|
|
66663
|
+
/**
|
|
66664
|
+
* Converts the math node into a string, similar to innerText. Applies to
|
|
66665
|
+
* MathDomNode's only.
|
|
66666
|
+
*/
|
|
66667
|
+
toText() {
|
|
66668
|
+
var toText = (child) => child.toText();
|
|
66669
|
+
return this.children.map(toText).join("");
|
|
66670
|
+
}
|
|
66671
|
+
}
|
|
67072
66672
|
var lookupSymbol = function lookupSymbol2(value, fontName, mode) {
|
|
67073
|
-
if (symbols[mode][value]
|
|
67074
|
-
|
|
66673
|
+
if (symbols[mode][value]) {
|
|
66674
|
+
var replacement = symbols[mode][value].replace;
|
|
66675
|
+
if (replacement) {
|
|
66676
|
+
value = replacement;
|
|
66677
|
+
}
|
|
67075
66678
|
}
|
|
67076
66679
|
return {
|
|
67077
66680
|
value,
|
|
@@ -67195,13 +66798,13 @@ var canCombine = (prev2, next2) => {
|
|
|
67195
66798
|
return false;
|
|
67196
66799
|
}
|
|
67197
66800
|
}
|
|
67198
|
-
for (var
|
|
67199
|
-
if (prev2.style
|
|
66801
|
+
for (var key of Object.keys(prev2.style)) {
|
|
66802
|
+
if (prev2.style[key] !== next2.style[key]) {
|
|
67200
66803
|
return false;
|
|
67201
66804
|
}
|
|
67202
66805
|
}
|
|
67203
|
-
for (var
|
|
67204
|
-
if (
|
|
66806
|
+
for (var _key of Object.keys(next2.style)) {
|
|
66807
|
+
if (prev2.style[_key] !== next2.style[_key]) {
|
|
67205
66808
|
return false;
|
|
67206
66809
|
}
|
|
67207
66810
|
}
|
|
@@ -67691,7 +67294,7 @@ var buildExpression$1 = function buildExpression(expression, options, isRealGrou
|
|
|
67691
67294
|
var dummyPrev = makeSpan([surrounding[0] || "leftmost"], [], options);
|
|
67692
67295
|
var dummyNext = makeSpan([surrounding[1] || "rightmost"], [], options);
|
|
67693
67296
|
var isRoot = isRealGroup === "root";
|
|
67694
|
-
|
|
67297
|
+
_traverseNonSpaceNodes(groups, (node3, prev2) => {
|
|
67695
67298
|
var prevType = prev2.classes[0];
|
|
67696
67299
|
var type2 = node3.classes[0];
|
|
67697
67300
|
if (prevType === "mbin" && binRightCanceller.has(type2)) {
|
|
@@ -67702,10 +67305,11 @@ var buildExpression$1 = function buildExpression(expression, options, isRealGrou
|
|
|
67702
67305
|
}, {
|
|
67703
67306
|
node: dummyPrev
|
|
67704
67307
|
}, dummyNext, isRoot);
|
|
67705
|
-
|
|
67308
|
+
_traverseNonSpaceNodes(groups, (node3, prev2) => {
|
|
67309
|
+
var _tightSpacings$prevTy, _spacings$prevType;
|
|
67706
67310
|
var prevType = getTypeOfDomTree(prev2);
|
|
67707
67311
|
var type2 = getTypeOfDomTree(node3);
|
|
67708
|
-
var space = prevType && type2 ? node3.hasClass("mtight") ? tightSpacings[prevType][type2] : spacings[prevType][type2] : null;
|
|
67312
|
+
var space = prevType && type2 ? node3.hasClass("mtight") ? (_tightSpacings$prevTy = tightSpacings[prevType]) == null ? void 0 : _tightSpacings$prevTy[type2] : (_spacings$prevType = spacings[prevType]) == null ? void 0 : _spacings$prevType[type2] : null;
|
|
67709
67313
|
if (space) {
|
|
67710
67314
|
return makeGlue(space, glueOptions);
|
|
67711
67315
|
}
|
|
@@ -67714,7 +67318,7 @@ var buildExpression$1 = function buildExpression(expression, options, isRealGrou
|
|
|
67714
67318
|
}, dummyNext, isRoot);
|
|
67715
67319
|
return groups;
|
|
67716
67320
|
};
|
|
67717
|
-
var
|
|
67321
|
+
var _traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev2, next2, isRoot) {
|
|
67718
67322
|
if (next2) {
|
|
67719
67323
|
nodes.push(next2);
|
|
67720
67324
|
}
|
|
@@ -67723,7 +67327,7 @@ var traverseNonSpaceNodes = function traverseNonSpaceNodes2(nodes, callback, pre
|
|
|
67723
67327
|
var node2 = nodes[i2];
|
|
67724
67328
|
var partialGroup = checkPartialGroup(node2);
|
|
67725
67329
|
if (partialGroup) {
|
|
67726
|
-
|
|
67330
|
+
_traverseNonSpaceNodes(partialGroup.children, callback, prev2, null, isRoot);
|
|
67727
67331
|
continue;
|
|
67728
67332
|
}
|
|
67729
67333
|
var nonspace = !node2.hasClass("mspace");
|
|
@@ -67758,15 +67362,15 @@ var checkPartialGroup = function checkPartialGroup2(node2) {
|
|
|
67758
67362
|
}
|
|
67759
67363
|
return null;
|
|
67760
67364
|
};
|
|
67761
|
-
var
|
|
67365
|
+
var _getOutermostNode = function getOutermostNode(node2, side) {
|
|
67762
67366
|
var partialGroup = checkPartialGroup(node2);
|
|
67763
67367
|
if (partialGroup) {
|
|
67764
67368
|
var children2 = partialGroup.children;
|
|
67765
67369
|
if (children2.length) {
|
|
67766
67370
|
if (side === "right") {
|
|
67767
|
-
return
|
|
67371
|
+
return _getOutermostNode(children2[children2.length - 1], "right");
|
|
67768
67372
|
} else if (side === "left") {
|
|
67769
|
-
return
|
|
67373
|
+
return _getOutermostNode(children2[0], "left");
|
|
67770
67374
|
}
|
|
67771
67375
|
}
|
|
67772
67376
|
}
|
|
@@ -67777,9 +67381,10 @@ var getTypeOfDomTree = function getTypeOfDomTree2(node2, side) {
|
|
|
67777
67381
|
return null;
|
|
67778
67382
|
}
|
|
67779
67383
|
if (side) {
|
|
67780
|
-
node2 =
|
|
67384
|
+
node2 = _getOutermostNode(node2, side);
|
|
67781
67385
|
}
|
|
67782
|
-
|
|
67386
|
+
var className = node2.classes[0];
|
|
67387
|
+
return DomEnum[className] || null;
|
|
67783
67388
|
};
|
|
67784
67389
|
var makeNullDelimiter = function makeNullDelimiter2(options, classes) {
|
|
67785
67390
|
var moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses());
|
|
@@ -67854,7 +67459,7 @@ function buildHTML(tree, options) {
|
|
|
67854
67459
|
}
|
|
67855
67460
|
var tagChild;
|
|
67856
67461
|
if (tag) {
|
|
67857
|
-
tagChild = buildHTMLUnbreakable(buildExpression$1(tag, options, true));
|
|
67462
|
+
tagChild = buildHTMLUnbreakable(buildExpression$1(tag, options, true), options);
|
|
67858
67463
|
tagChild.classes = ["tag"];
|
|
67859
67464
|
children2.push(tagChild);
|
|
67860
67465
|
} else if (eqnNum) {
|
|
@@ -67876,10 +67481,6 @@ function newDocumentFragment(children2) {
|
|
|
67876
67481
|
}
|
|
67877
67482
|
class MathNode {
|
|
67878
67483
|
constructor(type2, children2, classes) {
|
|
67879
|
-
this.type = void 0;
|
|
67880
|
-
this.attributes = void 0;
|
|
67881
|
-
this.children = void 0;
|
|
67882
|
-
this.classes = void 0;
|
|
67883
67484
|
this.type = type2;
|
|
67884
67485
|
this.attributes = {};
|
|
67885
67486
|
this.children = children2 || [];
|
|
@@ -67955,7 +67556,6 @@ class MathNode {
|
|
|
67955
67556
|
}
|
|
67956
67557
|
class TextNode {
|
|
67957
67558
|
constructor(text2) {
|
|
67958
|
-
this.text = void 0;
|
|
67959
67559
|
this.text = text2;
|
|
67960
67560
|
}
|
|
67961
67561
|
/**
|
|
@@ -67984,8 +67584,6 @@ class SpaceNode {
|
|
|
67984
67584
|
* Create a Space node with width given in CSS ems.
|
|
67985
67585
|
*/
|
|
67986
67586
|
constructor(width) {
|
|
67987
|
-
this.width = void 0;
|
|
67988
|
-
this.character = void 0;
|
|
67989
67587
|
this.width = width;
|
|
67990
67588
|
if (width >= 0.05555 && width <= 0.05556) {
|
|
67991
67589
|
this.character = " ";
|
|
@@ -68103,8 +67701,11 @@ var getVariant = function getVariant2(group, options) {
|
|
|
68103
67701
|
if (noVariantSymbols.has(text2)) {
|
|
68104
67702
|
return null;
|
|
68105
67703
|
}
|
|
68106
|
-
if (symbols[mode][text2]
|
|
68107
|
-
|
|
67704
|
+
if (symbols[mode][text2]) {
|
|
67705
|
+
var replacement = symbols[mode][text2].replace;
|
|
67706
|
+
if (replacement) {
|
|
67707
|
+
text2 = replacement;
|
|
67708
|
+
}
|
|
68108
67709
|
}
|
|
68109
67710
|
var fontName = fontMap[font].fontName;
|
|
68110
67711
|
if (getCharacterMetrics(text2, fontName, mode)) {
|
|
@@ -68207,6 +67808,258 @@ function buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly)
|
|
|
68207
67808
|
var wrapperClass = forMathmlOnly ? "katex" : "katex-mathml";
|
|
68208
67809
|
return makeSpan([wrapperClass], [math2]);
|
|
68209
67810
|
}
|
|
67811
|
+
var sizeStyleMap = [
|
|
67812
|
+
// Each element contains [textsize, scriptsize, scriptscriptsize].
|
|
67813
|
+
// The size mappings are taken from TeX with \normalsize=10pt.
|
|
67814
|
+
[1, 1, 1],
|
|
67815
|
+
// size1: [5, 5, 5] \tiny
|
|
67816
|
+
[2, 1, 1],
|
|
67817
|
+
// size2: [6, 5, 5]
|
|
67818
|
+
[3, 1, 1],
|
|
67819
|
+
// size3: [7, 5, 5] \scriptsize
|
|
67820
|
+
[4, 2, 1],
|
|
67821
|
+
// size4: [8, 6, 5] \footnotesize
|
|
67822
|
+
[5, 2, 1],
|
|
67823
|
+
// size5: [9, 6, 5] \small
|
|
67824
|
+
[6, 3, 1],
|
|
67825
|
+
// size6: [10, 7, 5] \normalsize
|
|
67826
|
+
[7, 4, 2],
|
|
67827
|
+
// size7: [12, 8, 6] \large
|
|
67828
|
+
[8, 6, 3],
|
|
67829
|
+
// size8: [14.4, 10, 7] \Large
|
|
67830
|
+
[9, 7, 6],
|
|
67831
|
+
// size9: [17.28, 12, 10] \LARGE
|
|
67832
|
+
[10, 8, 7],
|
|
67833
|
+
// size10: [20.74, 14.4, 12] \huge
|
|
67834
|
+
[11, 10, 9]
|
|
67835
|
+
// size11: [24.88, 20.74, 17.28] \HUGE
|
|
67836
|
+
];
|
|
67837
|
+
var sizeMultipliers = [
|
|
67838
|
+
// fontMetrics.js:getGlobalMetrics also uses size indexes, so if
|
|
67839
|
+
// you change size indexes, change that function.
|
|
67840
|
+
0.5,
|
|
67841
|
+
0.6,
|
|
67842
|
+
0.7,
|
|
67843
|
+
0.8,
|
|
67844
|
+
0.9,
|
|
67845
|
+
1,
|
|
67846
|
+
1.2,
|
|
67847
|
+
1.44,
|
|
67848
|
+
1.728,
|
|
67849
|
+
2.074,
|
|
67850
|
+
2.488
|
|
67851
|
+
];
|
|
67852
|
+
var sizeAtStyle = function sizeAtStyle2(size, style2) {
|
|
67853
|
+
return style2.size < 2 ? size : sizeStyleMap[size - 1][style2.size - 1];
|
|
67854
|
+
};
|
|
67855
|
+
class Options {
|
|
67856
|
+
constructor(data) {
|
|
67857
|
+
this.style = data.style;
|
|
67858
|
+
this.color = data.color;
|
|
67859
|
+
this.size = data.size || Options.BASESIZE;
|
|
67860
|
+
this.textSize = data.textSize || this.size;
|
|
67861
|
+
this.phantom = !!data.phantom;
|
|
67862
|
+
this.font = data.font || "";
|
|
67863
|
+
this.fontFamily = data.fontFamily || "";
|
|
67864
|
+
this.fontWeight = data.fontWeight || "";
|
|
67865
|
+
this.fontShape = data.fontShape || "";
|
|
67866
|
+
this.sizeMultiplier = sizeMultipliers[this.size - 1];
|
|
67867
|
+
this.maxSize = data.maxSize;
|
|
67868
|
+
this.minRuleThickness = data.minRuleThickness;
|
|
67869
|
+
this._fontMetrics = void 0;
|
|
67870
|
+
}
|
|
67871
|
+
/**
|
|
67872
|
+
* Returns a new options object with the same properties as "this". Properties
|
|
67873
|
+
* from "extension" will be copied to the new options object.
|
|
67874
|
+
*/
|
|
67875
|
+
extend(extension2) {
|
|
67876
|
+
var data = {
|
|
67877
|
+
style: this.style,
|
|
67878
|
+
size: this.size,
|
|
67879
|
+
textSize: this.textSize,
|
|
67880
|
+
color: this.color,
|
|
67881
|
+
phantom: this.phantom,
|
|
67882
|
+
font: this.font,
|
|
67883
|
+
fontFamily: this.fontFamily,
|
|
67884
|
+
fontWeight: this.fontWeight,
|
|
67885
|
+
fontShape: this.fontShape,
|
|
67886
|
+
maxSize: this.maxSize,
|
|
67887
|
+
minRuleThickness: this.minRuleThickness
|
|
67888
|
+
};
|
|
67889
|
+
Object.assign(data, extension2);
|
|
67890
|
+
return new Options(data);
|
|
67891
|
+
}
|
|
67892
|
+
/**
|
|
67893
|
+
* Return an options object with the given style. If `this.style === style`,
|
|
67894
|
+
* returns `this`.
|
|
67895
|
+
*/
|
|
67896
|
+
havingStyle(style2) {
|
|
67897
|
+
if (this.style === style2) {
|
|
67898
|
+
return this;
|
|
67899
|
+
} else {
|
|
67900
|
+
return this.extend({
|
|
67901
|
+
style: style2,
|
|
67902
|
+
size: sizeAtStyle(this.textSize, style2)
|
|
67903
|
+
});
|
|
67904
|
+
}
|
|
67905
|
+
}
|
|
67906
|
+
/**
|
|
67907
|
+
* Return an options object with a cramped version of the current style. If
|
|
67908
|
+
* the current style is cramped, returns `this`.
|
|
67909
|
+
*/
|
|
67910
|
+
havingCrampedStyle() {
|
|
67911
|
+
return this.havingStyle(this.style.cramp());
|
|
67912
|
+
}
|
|
67913
|
+
/**
|
|
67914
|
+
* Return an options object with the given size and in at least `\textstyle`.
|
|
67915
|
+
* Returns `this` if appropriate.
|
|
67916
|
+
*/
|
|
67917
|
+
havingSize(size) {
|
|
67918
|
+
if (this.size === size && this.textSize === size) {
|
|
67919
|
+
return this;
|
|
67920
|
+
} else {
|
|
67921
|
+
return this.extend({
|
|
67922
|
+
style: this.style.text(),
|
|
67923
|
+
size,
|
|
67924
|
+
textSize: size,
|
|
67925
|
+
sizeMultiplier: sizeMultipliers[size - 1]
|
|
67926
|
+
});
|
|
67927
|
+
}
|
|
67928
|
+
}
|
|
67929
|
+
/**
|
|
67930
|
+
* Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,
|
|
67931
|
+
* changes to at least `\textstyle`.
|
|
67932
|
+
*/
|
|
67933
|
+
havingBaseStyle(style2) {
|
|
67934
|
+
style2 = style2 || this.style.text();
|
|
67935
|
+
var wantSize = sizeAtStyle(Options.BASESIZE, style2);
|
|
67936
|
+
if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style2) {
|
|
67937
|
+
return this;
|
|
67938
|
+
} else {
|
|
67939
|
+
return this.extend({
|
|
67940
|
+
style: style2,
|
|
67941
|
+
size: wantSize
|
|
67942
|
+
});
|
|
67943
|
+
}
|
|
67944
|
+
}
|
|
67945
|
+
/**
|
|
67946
|
+
* Remove the effect of sizing changes such as \Huge.
|
|
67947
|
+
* Keep the effect of the current style, such as \scriptstyle.
|
|
67948
|
+
*/
|
|
67949
|
+
havingBaseSizing() {
|
|
67950
|
+
var size;
|
|
67951
|
+
switch (this.style.id) {
|
|
67952
|
+
case 4:
|
|
67953
|
+
case 5:
|
|
67954
|
+
size = 3;
|
|
67955
|
+
break;
|
|
67956
|
+
case 6:
|
|
67957
|
+
case 7:
|
|
67958
|
+
size = 1;
|
|
67959
|
+
break;
|
|
67960
|
+
default:
|
|
67961
|
+
size = 6;
|
|
67962
|
+
}
|
|
67963
|
+
return this.extend({
|
|
67964
|
+
style: this.style.text(),
|
|
67965
|
+
size
|
|
67966
|
+
});
|
|
67967
|
+
}
|
|
67968
|
+
/**
|
|
67969
|
+
* Create a new options object with the given color.
|
|
67970
|
+
*/
|
|
67971
|
+
withColor(color2) {
|
|
67972
|
+
return this.extend({
|
|
67973
|
+
color: color2
|
|
67974
|
+
});
|
|
67975
|
+
}
|
|
67976
|
+
/**
|
|
67977
|
+
* Create a new options object with "phantom" set to true.
|
|
67978
|
+
*/
|
|
67979
|
+
withPhantom() {
|
|
67980
|
+
return this.extend({
|
|
67981
|
+
phantom: true
|
|
67982
|
+
});
|
|
67983
|
+
}
|
|
67984
|
+
/**
|
|
67985
|
+
* Creates a new options object with the given math font or old text font.
|
|
67986
|
+
* @type {[type]}
|
|
67987
|
+
*/
|
|
67988
|
+
withFont(font) {
|
|
67989
|
+
return this.extend({
|
|
67990
|
+
font
|
|
67991
|
+
});
|
|
67992
|
+
}
|
|
67993
|
+
/**
|
|
67994
|
+
* Create a new options objects with the given fontFamily.
|
|
67995
|
+
*/
|
|
67996
|
+
withTextFontFamily(fontFamily) {
|
|
67997
|
+
return this.extend({
|
|
67998
|
+
fontFamily,
|
|
67999
|
+
font: ""
|
|
68000
|
+
});
|
|
68001
|
+
}
|
|
68002
|
+
/**
|
|
68003
|
+
* Creates a new options object with the given font weight
|
|
68004
|
+
*/
|
|
68005
|
+
withTextFontWeight(fontWeight) {
|
|
68006
|
+
return this.extend({
|
|
68007
|
+
fontWeight,
|
|
68008
|
+
font: ""
|
|
68009
|
+
});
|
|
68010
|
+
}
|
|
68011
|
+
/**
|
|
68012
|
+
* Creates a new options object with the given font weight
|
|
68013
|
+
*/
|
|
68014
|
+
withTextFontShape(fontShape) {
|
|
68015
|
+
return this.extend({
|
|
68016
|
+
fontShape,
|
|
68017
|
+
font: ""
|
|
68018
|
+
});
|
|
68019
|
+
}
|
|
68020
|
+
/**
|
|
68021
|
+
* Return the CSS sizing classes required to switch from enclosing options
|
|
68022
|
+
* `oldOptions` to `this`. Returns an array of classes.
|
|
68023
|
+
*/
|
|
68024
|
+
sizingClasses(oldOptions) {
|
|
68025
|
+
if (oldOptions.size !== this.size) {
|
|
68026
|
+
return ["sizing", "reset-size" + oldOptions.size, "size" + this.size];
|
|
68027
|
+
} else {
|
|
68028
|
+
return [];
|
|
68029
|
+
}
|
|
68030
|
+
}
|
|
68031
|
+
/**
|
|
68032
|
+
* Return the CSS sizing classes required to switch to the base size. Like
|
|
68033
|
+
* `this.havingSize(BASESIZE).sizingClasses(this)`.
|
|
68034
|
+
*/
|
|
68035
|
+
baseSizingClasses() {
|
|
68036
|
+
if (this.size !== Options.BASESIZE) {
|
|
68037
|
+
return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE];
|
|
68038
|
+
} else {
|
|
68039
|
+
return [];
|
|
68040
|
+
}
|
|
68041
|
+
}
|
|
68042
|
+
/**
|
|
68043
|
+
* Return the font metrics for this size.
|
|
68044
|
+
*/
|
|
68045
|
+
fontMetrics() {
|
|
68046
|
+
if (!this._fontMetrics) {
|
|
68047
|
+
this._fontMetrics = getGlobalMetrics(this.size);
|
|
68048
|
+
}
|
|
68049
|
+
return this._fontMetrics;
|
|
68050
|
+
}
|
|
68051
|
+
/**
|
|
68052
|
+
* Gets the CSS color of the current options object
|
|
68053
|
+
*/
|
|
68054
|
+
getColor() {
|
|
68055
|
+
if (this.phantom) {
|
|
68056
|
+
return "transparent";
|
|
68057
|
+
} else {
|
|
68058
|
+
return this.color;
|
|
68059
|
+
}
|
|
68060
|
+
}
|
|
68061
|
+
}
|
|
68062
|
+
Options.BASESIZE = 6;
|
|
68210
68063
|
var optionsFromSettings = function optionsFromSettings2(settings) {
|
|
68211
68064
|
return new Options({
|
|
68212
68065
|
style: settings.displayMode ? Style$1.DISPLAY : Style$1.TEXT,
|
|
@@ -68774,8 +68627,6 @@ defineFunction({
|
|
|
68774
68627
|
below: optArgs[0]
|
|
68775
68628
|
};
|
|
68776
68629
|
},
|
|
68777
|
-
// Flow is unable to correctly infer the type of `group`, even though it's
|
|
68778
|
-
// unambiguously determined from the passed-in `type` above.
|
|
68779
68630
|
htmlBuilder(group, options) {
|
|
68780
68631
|
var style2 = options.style;
|
|
68781
68632
|
var newOptions = options.havingStyle(style2.sup());
|
|
@@ -70008,23 +69859,25 @@ var delimTypeToFont = function delimTypeToFont2(type2) {
|
|
|
70008
69859
|
} else if (type2.type === "stack") {
|
|
70009
69860
|
return "Size4-Regular";
|
|
70010
69861
|
} else {
|
|
70011
|
-
|
|
69862
|
+
var delimKind = type2.type;
|
|
69863
|
+
throw new Error("Add support for delim type '" + delimKind + "' here.");
|
|
70012
69864
|
}
|
|
70013
69865
|
};
|
|
70014
69866
|
var traverseSequence = function traverseSequence2(delim, height, sequence, options) {
|
|
70015
69867
|
var start2 = Math.min(2, 3 - options.style.size);
|
|
70016
69868
|
for (var i2 = start2; i2 < sequence.length; i2++) {
|
|
70017
|
-
|
|
69869
|
+
var delimType = sequence[i2];
|
|
69870
|
+
if (delimType.type === "stack") {
|
|
70018
69871
|
break;
|
|
70019
69872
|
}
|
|
70020
|
-
var metrics = getMetrics(delim, delimTypeToFont(
|
|
69873
|
+
var metrics = getMetrics(delim, delimTypeToFont(delimType), "math");
|
|
70021
69874
|
var heightDepth = metrics.height + metrics.depth;
|
|
70022
|
-
if (
|
|
70023
|
-
var newOptions = options.havingBaseStyle(
|
|
69875
|
+
if (delimType.type === "small") {
|
|
69876
|
+
var newOptions = options.havingBaseStyle(delimType.style);
|
|
70024
69877
|
heightDepth *= newOptions.sizeMultiplier;
|
|
70025
69878
|
}
|
|
70026
69879
|
if (heightDepth > height) {
|
|
70027
|
-
return
|
|
69880
|
+
return delimType;
|
|
70028
69881
|
}
|
|
70029
69882
|
}
|
|
70030
69883
|
return sequence[sequence.length - 1];
|
|
@@ -70395,7 +70248,6 @@ var htmlBuilder$7 = (group, options) => {
|
|
|
70395
70248
|
options.fontMetrics().fboxrule,
|
|
70396
70249
|
// default
|
|
70397
70250
|
options.minRuleThickness
|
|
70398
|
-
// User override.
|
|
70399
70251
|
);
|
|
70400
70252
|
topPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness);
|
|
70401
70253
|
bottomPad = topPad;
|
|
@@ -70505,7 +70357,6 @@ var mathmlBuilder$6 = (group, options) => {
|
|
|
70505
70357
|
options.fontMetrics().fboxrule,
|
|
70506
70358
|
// default
|
|
70507
70359
|
options.minRuleThickness
|
|
70508
|
-
// user override
|
|
70509
70360
|
);
|
|
70510
70361
|
node2.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor));
|
|
70511
70362
|
}
|
|
@@ -70666,6 +70517,49 @@ var _macros = {};
|
|
|
70666
70517
|
function defineMacro(name, body) {
|
|
70667
70518
|
_macros[name] = body;
|
|
70668
70519
|
}
|
|
70520
|
+
class SourceLocation {
|
|
70521
|
+
// The + prefix indicates that these fields aren't writeable
|
|
70522
|
+
// Lexer holding the input string.
|
|
70523
|
+
// Start offset, zero-based inclusive.
|
|
70524
|
+
// End offset, zero-based exclusive.
|
|
70525
|
+
constructor(lexer, start2, end) {
|
|
70526
|
+
this.lexer = lexer;
|
|
70527
|
+
this.start = start2;
|
|
70528
|
+
this.end = end;
|
|
70529
|
+
}
|
|
70530
|
+
/**
|
|
70531
|
+
* Merges two `SourceLocation`s from location providers, given they are
|
|
70532
|
+
* provided in order of appearance.
|
|
70533
|
+
* - Returns the first one's location if only the first is provided.
|
|
70534
|
+
* - Returns a merged range of the first and the last if both are provided
|
|
70535
|
+
* and their lexers match.
|
|
70536
|
+
* - Otherwise, returns null.
|
|
70537
|
+
*/
|
|
70538
|
+
static range(first, second) {
|
|
70539
|
+
if (!second) {
|
|
70540
|
+
return first && first.loc;
|
|
70541
|
+
} else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {
|
|
70542
|
+
return null;
|
|
70543
|
+
} else {
|
|
70544
|
+
return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);
|
|
70545
|
+
}
|
|
70546
|
+
}
|
|
70547
|
+
}
|
|
70548
|
+
class Token {
|
|
70549
|
+
// don't expand the token
|
|
70550
|
+
// used in \noexpand
|
|
70551
|
+
constructor(text2, loc) {
|
|
70552
|
+
this.text = text2;
|
|
70553
|
+
this.loc = loc;
|
|
70554
|
+
}
|
|
70555
|
+
/**
|
|
70556
|
+
* Given a pair of tokens (this and endToken), compute a `Token` encompassing
|
|
70557
|
+
* the whole input range enclosed by these two.
|
|
70558
|
+
*/
|
|
70559
|
+
range(endToken, text2) {
|
|
70560
|
+
return new Token(text2, SourceLocation.range(this, endToken));
|
|
70561
|
+
}
|
|
70562
|
+
}
|
|
70669
70563
|
function getHLines(parser) {
|
|
70670
70564
|
var hlineInfo = [];
|
|
70671
70565
|
parser.consumeSpaces();
|
|
@@ -70747,13 +70641,13 @@ function parseArray(parser, _ref, style2) {
|
|
|
70747
70641
|
beginRow();
|
|
70748
70642
|
hLinesBeforeRow.push(getHLines(parser));
|
|
70749
70643
|
while (true) {
|
|
70750
|
-
var
|
|
70644
|
+
var cellBody = parser.parseExpression(false, singleRow ? "\\end" : "\\\\");
|
|
70751
70645
|
parser.gullet.endGroup();
|
|
70752
70646
|
parser.gullet.beginGroup();
|
|
70753
|
-
cell = {
|
|
70647
|
+
var cell = {
|
|
70754
70648
|
type: "ordgroup",
|
|
70755
70649
|
mode: parser.mode,
|
|
70756
|
-
body:
|
|
70650
|
+
body: cellBody
|
|
70757
70651
|
};
|
|
70758
70652
|
if (style2) {
|
|
70759
70653
|
cell = {
|
|
@@ -70776,7 +70670,7 @@ function parseArray(parser, _ref, style2) {
|
|
|
70776
70670
|
parser.consume();
|
|
70777
70671
|
} else if (next2 === "\\end") {
|
|
70778
70672
|
endRow();
|
|
70779
|
-
if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {
|
|
70673
|
+
if (row.length === 1 && cell.type === "styling" && cell.body.length === 1 && cell.body[0].type === "ordgroup" && cell.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {
|
|
70780
70674
|
body.pop();
|
|
70781
70675
|
}
|
|
70782
70676
|
if (hLinesBeforeRow.length < body.length + 1) {
|
|
@@ -70835,7 +70729,6 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
70835
70729
|
// From LaTeX \showthe\arrayrulewidth. Equals 0.04 em.
|
|
70836
70730
|
options.fontMetrics().arrayRuleWidth,
|
|
70837
70731
|
options.minRuleThickness
|
|
70838
|
-
// User override.
|
|
70839
70732
|
);
|
|
70840
70733
|
var pt = 1 / options.fontMetrics().ptPerEm;
|
|
70841
70734
|
var arraycolsep = 5 * pt;
|
|
@@ -70940,9 +70833,11 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
70940
70833
|
c2 < nc || colDescrNum < colDescriptions.length;
|
|
70941
70834
|
++c2, ++colDescrNum
|
|
70942
70835
|
) {
|
|
70943
|
-
var
|
|
70836
|
+
var _colDescr3;
|
|
70837
|
+
var colDescr = colDescriptions[colDescrNum];
|
|
70944
70838
|
var firstSeparator = true;
|
|
70945
|
-
while (colDescr.type === "separator") {
|
|
70839
|
+
while (((_colDescr = colDescr) == null ? void 0 : _colDescr.type) === "separator") {
|
|
70840
|
+
var _colDescr;
|
|
70946
70841
|
if (!firstSeparator) {
|
|
70947
70842
|
colSep = makeSpan(["arraycolsep"], []);
|
|
70948
70843
|
colSep.style.width = makeEm(options.fontMetrics().doubleRuleSep);
|
|
@@ -70964,7 +70859,7 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
70964
70859
|
throw new ParseError("Invalid separator type: " + colDescr.separator);
|
|
70965
70860
|
}
|
|
70966
70861
|
colDescrNum++;
|
|
70967
|
-
colDescr = colDescriptions[colDescrNum]
|
|
70862
|
+
colDescr = colDescriptions[colDescrNum];
|
|
70968
70863
|
firstSeparator = false;
|
|
70969
70864
|
}
|
|
70970
70865
|
if (c2 >= nc) {
|
|
@@ -70972,15 +70867,15 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
70972
70867
|
}
|
|
70973
70868
|
var sepwidth = void 0;
|
|
70974
70869
|
if (c2 > 0 || group.hskipBeforeAndAfter) {
|
|
70975
|
-
var _colDescr$pregap;
|
|
70976
|
-
sepwidth = (_colDescr$pregap = colDescr.pregap) != null ? _colDescr$pregap : arraycolsep;
|
|
70870
|
+
var _colDescr$pregap, _colDescr2;
|
|
70871
|
+
sepwidth = (_colDescr$pregap = (_colDescr2 = colDescr) == null ? void 0 : _colDescr2.pregap) != null ? _colDescr$pregap : arraycolsep;
|
|
70977
70872
|
if (sepwidth !== 0) {
|
|
70978
70873
|
colSep = makeSpan(["arraycolsep"], []);
|
|
70979
70874
|
colSep.style.width = makeEm(sepwidth);
|
|
70980
70875
|
cols.push(colSep);
|
|
70981
70876
|
}
|
|
70982
70877
|
}
|
|
70983
|
-
var
|
|
70878
|
+
var colElems = [];
|
|
70984
70879
|
for (r2 = 0; r2 < nr; ++r2) {
|
|
70985
70880
|
var row = body[r2];
|
|
70986
70881
|
var elem = row[c2];
|
|
@@ -70990,21 +70885,21 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
70990
70885
|
var _shift2 = row.pos - offset;
|
|
70991
70886
|
elem.depth = row.depth;
|
|
70992
70887
|
elem.height = row.height;
|
|
70993
|
-
|
|
70888
|
+
colElems.push({
|
|
70994
70889
|
type: "elem",
|
|
70995
70890
|
elem,
|
|
70996
70891
|
shift: _shift2
|
|
70997
70892
|
});
|
|
70998
70893
|
}
|
|
70999
|
-
|
|
70894
|
+
var colVList = makeVList({
|
|
71000
70895
|
positionType: "individualShift",
|
|
71001
|
-
children:
|
|
70896
|
+
children: colElems
|
|
71002
70897
|
});
|
|
71003
|
-
|
|
71004
|
-
cols.push(
|
|
70898
|
+
var colSpan = makeSpan(["col-align-" + (((_colDescr3 = colDescr) == null ? void 0 : _colDescr3.align) || "c")], [colVList]);
|
|
70899
|
+
cols.push(colSpan);
|
|
71005
70900
|
if (c2 < nc - 1 || group.hskipBeforeAndAfter) {
|
|
71006
|
-
var _colDescr$postgap;
|
|
71007
|
-
sepwidth = (_colDescr$postgap = colDescr.postgap) != null ? _colDescr$postgap : arraycolsep;
|
|
70901
|
+
var _colDescr$postgap, _colDescr4;
|
|
70902
|
+
sepwidth = (_colDescr$postgap = (_colDescr4 = colDescr) == null ? void 0 : _colDescr4.postgap) != null ? _colDescr$postgap : arraycolsep;
|
|
71008
70903
|
if (sepwidth !== 0) {
|
|
71009
70904
|
colSep = makeSpan(["arraycolsep"], []);
|
|
71010
70905
|
colSep.style.width = makeEm(sepwidth);
|
|
@@ -71012,13 +70907,13 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
71012
70907
|
}
|
|
71013
70908
|
}
|
|
71014
70909
|
}
|
|
71015
|
-
|
|
70910
|
+
var tableBody = makeSpan(["mtable"], cols);
|
|
71016
70911
|
if (hlines.length > 0) {
|
|
71017
70912
|
var line2 = makeLineSpan("hline", options, ruleThickness);
|
|
71018
70913
|
var dashes = makeLineSpan("hdashline", options, ruleThickness);
|
|
71019
70914
|
var vListElems = [{
|
|
71020
70915
|
type: "elem",
|
|
71021
|
-
elem:
|
|
70916
|
+
elem: tableBody,
|
|
71022
70917
|
shift: 0
|
|
71023
70918
|
}];
|
|
71024
70919
|
while (hlines.length > 0) {
|
|
@@ -71038,20 +70933,20 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
71038
70933
|
});
|
|
71039
70934
|
}
|
|
71040
70935
|
}
|
|
71041
|
-
|
|
70936
|
+
tableBody = makeVList({
|
|
71042
70937
|
positionType: "individualShift",
|
|
71043
70938
|
children: vListElems
|
|
71044
70939
|
});
|
|
71045
70940
|
}
|
|
71046
70941
|
if (tagSpans.length === 0) {
|
|
71047
|
-
return makeSpan(["mord"], [
|
|
70942
|
+
return makeSpan(["mord"], [tableBody], options);
|
|
71048
70943
|
} else {
|
|
71049
70944
|
var eqnNumCol = makeVList({
|
|
71050
70945
|
positionType: "individualShift",
|
|
71051
70946
|
children: tagSpans
|
|
71052
70947
|
});
|
|
71053
|
-
|
|
71054
|
-
return makeFragment([
|
|
70948
|
+
var tagCol = makeSpan(["tag"], [eqnNumCol], options);
|
|
70949
|
+
return makeFragment([tableBody, tagCol]);
|
|
71055
70950
|
}
|
|
71056
70951
|
};
|
|
71057
70952
|
var alignMap = {
|
|
@@ -71100,15 +70995,16 @@ var mathmlBuilder$5 = function mathmlBuilder(group, options) {
|
|
|
71100
70995
|
iEnd -= 1;
|
|
71101
70996
|
}
|
|
71102
70997
|
for (var _i2 = iStart; _i2 < iEnd; _i2++) {
|
|
71103
|
-
|
|
71104
|
-
|
|
70998
|
+
var col = cols[_i2];
|
|
70999
|
+
if (col.type === "align") {
|
|
71000
|
+
align += alignMap[col.align];
|
|
71105
71001
|
if (prevTypeWasAlign) {
|
|
71106
71002
|
columnLines += "none ";
|
|
71107
71003
|
}
|
|
71108
71004
|
prevTypeWasAlign = true;
|
|
71109
|
-
} else if (
|
|
71005
|
+
} else if (col.type === "separator") {
|
|
71110
71006
|
if (prevTypeWasAlign) {
|
|
71111
|
-
columnLines +=
|
|
71007
|
+
columnLines += col.separator === "|" ? "solid " : "dashed ";
|
|
71112
71008
|
prevTypeWasAlign = false;
|
|
71113
71009
|
}
|
|
71114
71010
|
}
|
|
@@ -71170,7 +71066,7 @@ var alignedHandler = function alignedHandler2(context, args) {
|
|
|
71170
71066
|
maxNumCols: isSplit ? 2 : void 0,
|
|
71171
71067
|
leqno: context.parser.settings.leqno
|
|
71172
71068
|
}, "display");
|
|
71173
|
-
var numMaths;
|
|
71069
|
+
var numMaths = 0;
|
|
71174
71070
|
var numCols = 0;
|
|
71175
71071
|
var emptyGroup = {
|
|
71176
71072
|
type: "ordgroup",
|
|
@@ -71363,12 +71259,12 @@ defineEnvironment({
|
|
|
71363
71259
|
if (cols.length > 1) {
|
|
71364
71260
|
throw new ParseError("{subarray} can contain only one column");
|
|
71365
71261
|
}
|
|
71366
|
-
var
|
|
71262
|
+
var payload = {
|
|
71367
71263
|
cols,
|
|
71368
71264
|
hskipBeforeAndAfter: false,
|
|
71369
71265
|
arraystretch: 0.5
|
|
71370
71266
|
};
|
|
71371
|
-
res = parseArray(context.parser,
|
|
71267
|
+
var res = parseArray(context.parser, payload, "script");
|
|
71372
71268
|
if (res.body.length > 0 && res.body[0].length > 1) {
|
|
71373
71269
|
throw new ParseError("{subarray} can contain only one column");
|
|
71374
71270
|
}
|
|
@@ -72900,7 +72796,7 @@ var htmlBuilder$2 = (grp, options) => {
|
|
|
72900
72796
|
var slant = 0;
|
|
72901
72797
|
if ((base2 instanceof SymbolNode || group.name === "\\oiint" || group.name === "\\oiiint") && !group.suppressBaseShift) {
|
|
72902
72798
|
baseShift = (base2.height - base2.depth) / 2 - options.fontMetrics().axisHeight;
|
|
72903
|
-
slant = base2.italic;
|
|
72799
|
+
slant = base2.italic || 0;
|
|
72904
72800
|
}
|
|
72905
72801
|
if (hasLimits) {
|
|
72906
72802
|
return assembleSupSub(base2, supGroup, subGroup, options, style2, slant, baseShift);
|
|
@@ -73095,7 +72991,7 @@ var htmlBuilder$1 = (grp, options) => {
|
|
|
73095
72991
|
var base2;
|
|
73096
72992
|
if (group.body.length > 0) {
|
|
73097
72993
|
var body = group.body.map((child2) => {
|
|
73098
|
-
var childText = child2.text;
|
|
72994
|
+
var childText = "text" in child2 ? child2.text : void 0;
|
|
73099
72995
|
if (typeof childText === "string") {
|
|
73100
72996
|
return {
|
|
73101
72997
|
type: "textord",
|
|
@@ -73133,7 +73029,6 @@ var mathmlBuilder2 = (group, options) => {
|
|
|
73133
73029
|
switch (node2.type) {
|
|
73134
73030
|
case "mi":
|
|
73135
73031
|
case "mn":
|
|
73136
|
-
case "ms":
|
|
73137
73032
|
case "mspace":
|
|
73138
73033
|
case "mtext":
|
|
73139
73034
|
break;
|
|
@@ -73278,52 +73173,7 @@ defineFunction({
|
|
|
73278
73173
|
return new MathNode("mphantom", inner2);
|
|
73279
73174
|
}
|
|
73280
73175
|
});
|
|
73281
|
-
|
|
73282
|
-
type: "hphantom",
|
|
73283
|
-
names: ["\\hphantom"],
|
|
73284
|
-
props: {
|
|
73285
|
-
numArgs: 1,
|
|
73286
|
-
allowedInText: true
|
|
73287
|
-
},
|
|
73288
|
-
handler: (_ref2, args) => {
|
|
73289
|
-
var {
|
|
73290
|
-
parser
|
|
73291
|
-
} = _ref2;
|
|
73292
|
-
var body = args[0];
|
|
73293
|
-
return {
|
|
73294
|
-
type: "hphantom",
|
|
73295
|
-
mode: parser.mode,
|
|
73296
|
-
body
|
|
73297
|
-
};
|
|
73298
|
-
},
|
|
73299
|
-
htmlBuilder: (group, options) => {
|
|
73300
|
-
var node2 = makeSpan([], [buildGroup$1(group.body, options.withPhantom())]);
|
|
73301
|
-
node2.height = 0;
|
|
73302
|
-
node2.depth = 0;
|
|
73303
|
-
if (node2.children) {
|
|
73304
|
-
for (var i2 = 0; i2 < node2.children.length; i2++) {
|
|
73305
|
-
node2.children[i2].height = 0;
|
|
73306
|
-
node2.children[i2].depth = 0;
|
|
73307
|
-
}
|
|
73308
|
-
}
|
|
73309
|
-
node2 = makeVList({
|
|
73310
|
-
positionType: "firstBaseline",
|
|
73311
|
-
children: [{
|
|
73312
|
-
type: "elem",
|
|
73313
|
-
elem: node2
|
|
73314
|
-
}]
|
|
73315
|
-
});
|
|
73316
|
-
return makeSpan(["mord"], [node2], options);
|
|
73317
|
-
},
|
|
73318
|
-
mathmlBuilder: (group, options) => {
|
|
73319
|
-
var inner2 = buildExpression2(ordargument(group.body), options);
|
|
73320
|
-
var phantom = new MathNode("mphantom", inner2);
|
|
73321
|
-
var node2 = new MathNode("mpadded", [phantom]);
|
|
73322
|
-
node2.setAttribute("height", "0px");
|
|
73323
|
-
node2.setAttribute("depth", "0px");
|
|
73324
|
-
return node2;
|
|
73325
|
-
}
|
|
73326
|
-
});
|
|
73176
|
+
defineMacro("\\hphantom", "\\smash{\\phantom{#1}}");
|
|
73327
73177
|
defineFunction({
|
|
73328
73178
|
type: "vphantom",
|
|
73329
73179
|
names: ["\\vphantom"],
|
|
@@ -73331,10 +73181,10 @@ defineFunction({
|
|
|
73331
73181
|
numArgs: 1,
|
|
73332
73182
|
allowedInText: true
|
|
73333
73183
|
},
|
|
73334
|
-
handler: (
|
|
73184
|
+
handler: (_ref2, args) => {
|
|
73335
73185
|
var {
|
|
73336
73186
|
parser
|
|
73337
|
-
} =
|
|
73187
|
+
} = _ref2;
|
|
73338
73188
|
var body = args[0];
|
|
73339
73189
|
return {
|
|
73340
73190
|
type: "vphantom",
|
|
@@ -73542,7 +73392,7 @@ defineFunction({
|
|
|
73542
73392
|
var letter = "";
|
|
73543
73393
|
for (var i2 = 0; i2 < tbArg.body.length; ++i2) {
|
|
73544
73394
|
var node2 = tbArg.body[i2];
|
|
73545
|
-
letter = node2.text;
|
|
73395
|
+
letter = assertSymbolNodeType(node2).text;
|
|
73546
73396
|
if (letter === "t") {
|
|
73547
73397
|
smashHeight = true;
|
|
73548
73398
|
} else if (letter === "b") {
|
|
@@ -73573,17 +73423,20 @@ defineFunction({
|
|
|
73573
73423
|
}
|
|
73574
73424
|
if (group.smashHeight) {
|
|
73575
73425
|
node2.height = 0;
|
|
73576
|
-
if (node2.children) {
|
|
73577
|
-
for (var i2 = 0; i2 < node2.children.length; i2++) {
|
|
73578
|
-
node2.children[i2].height = 0;
|
|
73579
|
-
}
|
|
73580
|
-
}
|
|
73581
73426
|
}
|
|
73582
73427
|
if (group.smashDepth) {
|
|
73583
73428
|
node2.depth = 0;
|
|
73584
|
-
|
|
73585
|
-
|
|
73586
|
-
|
|
73429
|
+
}
|
|
73430
|
+
if (group.smashHeight && group.smashDepth) {
|
|
73431
|
+
return makeSpan(["mord", "smash"], [node2], options);
|
|
73432
|
+
}
|
|
73433
|
+
if (node2.children) {
|
|
73434
|
+
for (var i2 = 0; i2 < node2.children.length; i2++) {
|
|
73435
|
+
if (group.smashHeight) {
|
|
73436
|
+
node2.children[i2].height = 0;
|
|
73437
|
+
}
|
|
73438
|
+
if (group.smashDepth) {
|
|
73439
|
+
node2.children[i2].depth = 0;
|
|
73587
73440
|
}
|
|
73588
73441
|
}
|
|
73589
73442
|
}
|
|
@@ -74263,10 +74116,6 @@ class Lexer {
|
|
|
74263
74116
|
// Category codes. The lexer only supports comment characters (14) for now.
|
|
74264
74117
|
// MacroExpander additionally distinguishes active (13).
|
|
74265
74118
|
constructor(input, settings) {
|
|
74266
|
-
this.input = void 0;
|
|
74267
|
-
this.settings = void 0;
|
|
74268
|
-
this.tokenRegex = void 0;
|
|
74269
|
-
this.catcodes = void 0;
|
|
74270
74119
|
this.input = input;
|
|
74271
74120
|
this.settings = settings;
|
|
74272
74121
|
this.tokenRegex = new RegExp(tokenRegexString, "g");
|
|
@@ -74321,9 +74170,6 @@ class Namespace {
|
|
|
74321
74170
|
if (globalMacros === void 0) {
|
|
74322
74171
|
globalMacros = {};
|
|
74323
74172
|
}
|
|
74324
|
-
this.current = void 0;
|
|
74325
|
-
this.builtins = void 0;
|
|
74326
|
-
this.undefStack = void 0;
|
|
74327
74173
|
this.current = globalMacros;
|
|
74328
74174
|
this.builtins = builtins;
|
|
74329
74175
|
this.undefStack = [];
|
|
@@ -74506,7 +74352,7 @@ var digitToNumber = {
|
|
|
74506
74352
|
defineMacro("\\char", function(context) {
|
|
74507
74353
|
var token2 = context.popToken();
|
|
74508
74354
|
var base2;
|
|
74509
|
-
var number =
|
|
74355
|
+
var number = 0;
|
|
74510
74356
|
if (token2.text === "'") {
|
|
74511
74357
|
base2 = 8;
|
|
74512
74358
|
token2 = context.popToken();
|
|
@@ -74644,7 +74490,6 @@ defineMacro("⌞", "\\llcorner");
|
|
|
74644
74490
|
defineMacro("⌟", "\\lrcorner");
|
|
74645
74491
|
defineMacro("©", "\\copyright");
|
|
74646
74492
|
defineMacro("®", "\\textregistered");
|
|
74647
|
-
defineMacro("️", "\\textregistered");
|
|
74648
74493
|
defineMacro("\\ulcorner", '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');
|
|
74649
74494
|
defineMacro("\\urcorner", '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');
|
|
74650
74495
|
defineMacro("\\llcorner", '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');
|
|
@@ -75092,12 +74937,6 @@ var implicitCommands = {
|
|
|
75092
74937
|
};
|
|
75093
74938
|
class MacroExpander {
|
|
75094
74939
|
constructor(input, settings, mode) {
|
|
75095
|
-
this.settings = void 0;
|
|
75096
|
-
this.expansionCount = void 0;
|
|
75097
|
-
this.lexer = void 0;
|
|
75098
|
-
this.macros = void 0;
|
|
75099
|
-
this.stack = void 0;
|
|
75100
|
-
this.mode = void 0;
|
|
75101
74940
|
this.settings = settings;
|
|
75102
74941
|
this.expansionCount = 0;
|
|
75103
74942
|
this.feed(input);
|
|
@@ -75370,7 +75209,6 @@ class MacroExpander {
|
|
|
75370
75209
|
return token2;
|
|
75371
75210
|
}
|
|
75372
75211
|
}
|
|
75373
|
-
throw new Error();
|
|
75374
75212
|
}
|
|
75375
75213
|
/**
|
|
75376
75214
|
* Fully expand the given macro name and return the resulting list of
|
|
@@ -75971,15 +75809,11 @@ var unicodeSymbols = {
|
|
|
75971
75809
|
};
|
|
75972
75810
|
class Parser {
|
|
75973
75811
|
constructor(input, settings) {
|
|
75974
|
-
this.mode = void 0;
|
|
75975
|
-
this.gullet = void 0;
|
|
75976
|
-
this.settings = void 0;
|
|
75977
|
-
this.leftrightDepth = void 0;
|
|
75978
|
-
this.nextToken = void 0;
|
|
75979
75812
|
this.mode = "math";
|
|
75980
75813
|
this.gullet = new MacroExpander(input, settings, this.mode);
|
|
75981
75814
|
this.settings = settings;
|
|
75982
75815
|
this.leftrightDepth = 0;
|
|
75816
|
+
this.nextToken = null;
|
|
75983
75817
|
}
|
|
75984
75818
|
/**
|
|
75985
75819
|
* Checks a result to make sure it has the right type, and throws an
|
|
@@ -76106,12 +75940,13 @@ class Parser {
|
|
|
76106
75940
|
var overIndex = -1;
|
|
76107
75941
|
var funcName;
|
|
76108
75942
|
for (var i2 = 0; i2 < body.length; i2++) {
|
|
76109
|
-
|
|
75943
|
+
var node2 = body[i2];
|
|
75944
|
+
if (node2.type === "infix") {
|
|
76110
75945
|
if (overIndex !== -1) {
|
|
76111
|
-
throw new ParseError("only one infix operator per group",
|
|
75946
|
+
throw new ParseError("only one infix operator per group", node2.token);
|
|
76112
75947
|
}
|
|
76113
75948
|
overIndex = i2;
|
|
76114
|
-
funcName =
|
|
75949
|
+
funcName = node2.replaceWith;
|
|
76115
75950
|
}
|
|
76116
75951
|
}
|
|
76117
75952
|
if (overIndex !== -1 && funcName) {
|
|
@@ -76137,13 +75972,13 @@ class Parser {
|
|
|
76137
75972
|
body: denomBody
|
|
76138
75973
|
};
|
|
76139
75974
|
}
|
|
76140
|
-
var
|
|
75975
|
+
var _node;
|
|
76141
75976
|
if (funcName === "\\\\abovefrac") {
|
|
76142
|
-
|
|
75977
|
+
_node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []);
|
|
76143
75978
|
} else {
|
|
76144
|
-
|
|
75979
|
+
_node = this.callFunction(funcName, [numerNode, denomNode], []);
|
|
76145
75980
|
}
|
|
76146
|
-
return [
|
|
75981
|
+
return [_node];
|
|
76147
75982
|
} else {
|
|
76148
75983
|
return body;
|
|
76149
75984
|
}
|
|
@@ -76357,7 +76192,7 @@ class Parser {
|
|
|
76357
76192
|
for (var i2 = 0; i2 < totalArgs; i2++) {
|
|
76358
76193
|
var argType = funcData.argTypes && funcData.argTypes[i2];
|
|
76359
76194
|
var isOptional = i2 < funcData.numOptionalArgs;
|
|
76360
|
-
if (funcData.primitive && argType == null || // \sqrt expands into primitive if optional argument doesn't exist
|
|
76195
|
+
if ("primitive" in funcData && funcData.primitive && argType == null || // \sqrt expands into primitive if optional argument doesn't exist
|
|
76361
76196
|
funcData.type === "sqrt" && i2 === 1 && optArgs[0] == null) {
|
|
76362
76197
|
argType = "primitive";
|
|
76363
76198
|
}
|
|
@@ -76632,13 +76467,21 @@ class Parser {
|
|
|
76632
76467
|
var n2 = group.length - 1;
|
|
76633
76468
|
for (var i2 = 0; i2 < n2; ++i2) {
|
|
76634
76469
|
var a2 = group[i2];
|
|
76470
|
+
if (a2.type !== "textord") {
|
|
76471
|
+
continue;
|
|
76472
|
+
}
|
|
76635
76473
|
var v2 = a2.text;
|
|
76636
|
-
|
|
76637
|
-
|
|
76474
|
+
var next2 = group[i2 + 1];
|
|
76475
|
+
if (!next2 || next2.type !== "textord") {
|
|
76476
|
+
continue;
|
|
76477
|
+
}
|
|
76478
|
+
if (v2 === "-" && next2.text === "-") {
|
|
76479
|
+
var afterNext = group[i2 + 2];
|
|
76480
|
+
if (i2 + 1 < n2 && afterNext && afterNext.type === "textord" && afterNext.text === "-") {
|
|
76638
76481
|
group.splice(i2, 3, {
|
|
76639
76482
|
type: "textord",
|
|
76640
76483
|
mode: "text",
|
|
76641
|
-
loc: SourceLocation.range(a2,
|
|
76484
|
+
loc: SourceLocation.range(a2, afterNext),
|
|
76642
76485
|
text: "---"
|
|
76643
76486
|
});
|
|
76644
76487
|
n2 -= 2;
|
|
@@ -76646,17 +76489,17 @@ class Parser {
|
|
|
76646
76489
|
group.splice(i2, 2, {
|
|
76647
76490
|
type: "textord",
|
|
76648
76491
|
mode: "text",
|
|
76649
|
-
loc: SourceLocation.range(a2,
|
|
76492
|
+
loc: SourceLocation.range(a2, next2),
|
|
76650
76493
|
text: "--"
|
|
76651
76494
|
});
|
|
76652
76495
|
n2 -= 1;
|
|
76653
76496
|
}
|
|
76654
76497
|
}
|
|
76655
|
-
if ((v2 === "'" || v2 === "`") &&
|
|
76498
|
+
if ((v2 === "'" || v2 === "`") && next2.text === v2) {
|
|
76656
76499
|
group.splice(i2, 2, {
|
|
76657
76500
|
type: "textord",
|
|
76658
76501
|
mode: "text",
|
|
76659
|
-
loc: SourceLocation.range(a2,
|
|
76502
|
+
loc: SourceLocation.range(a2, next2),
|
|
76660
76503
|
text: v2 + v2
|
|
76661
76504
|
});
|
|
76662
76505
|
n2 -= 1;
|
|
@@ -76764,7 +76607,7 @@ class Parser {
|
|
|
76764
76607
|
label: command,
|
|
76765
76608
|
isStretchy: false,
|
|
76766
76609
|
isShifty: true,
|
|
76767
|
-
//
|
|
76610
|
+
// TODO(ts)
|
|
76768
76611
|
base: symbol
|
|
76769
76612
|
};
|
|
76770
76613
|
}
|
|
@@ -76843,7 +76686,7 @@ var renderToHTMLTree = function renderToHTMLTree2(expression, options) {
|
|
|
76843
76686
|
return renderError(error2, expression, settings);
|
|
76844
76687
|
}
|
|
76845
76688
|
};
|
|
76846
|
-
var version = "0.16.
|
|
76689
|
+
var version = "0.16.37";
|
|
76847
76690
|
var __domTree = {
|
|
76848
76691
|
Span,
|
|
76849
76692
|
Anchor,
|
|
@@ -97388,12 +97231,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
97388
97231
|
registerLayoutLoaders([
|
|
97389
97232
|
{
|
|
97390
97233
|
name: "dagre",
|
|
97391
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-
|
|
97234
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-BcweuZHt.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
|
|
97392
97235
|
},
|
|
97393
97236
|
...[
|
|
97394
97237
|
{
|
|
97395
97238
|
name: "cose-bilkent",
|
|
97396
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-
|
|
97239
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-yM7S2atz.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
|
|
97397
97240
|
}
|
|
97398
97241
|
]
|
|
97399
97242
|
]);
|
|
@@ -97833,7 +97676,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
97833
97676
|
}, "detector");
|
|
97834
97677
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
97835
97678
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97836
|
-
const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-
|
|
97679
|
+
const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-B0WnCfAT.js");
|
|
97837
97680
|
return { diagram: diagram22 };
|
|
97838
97681
|
}, true ? __vite__mapDeps([8,9]) : void 0);
|
|
97839
97682
|
return { id, diagram: diagram2 };
|
|
@@ -97853,7 +97696,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97853
97696
|
}, "detector");
|
|
97854
97697
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
97855
97698
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97856
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
97699
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-BsBhWukh.js");
|
|
97857
97700
|
return { diagram: diagram22 };
|
|
97858
97701
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
97859
97702
|
return { id: id2, diagram: diagram2 };
|
|
@@ -97879,7 +97722,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97879
97722
|
}, "detector");
|
|
97880
97723
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
97881
97724
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97882
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
97725
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-BsBhWukh.js");
|
|
97883
97726
|
return { diagram: diagram22 };
|
|
97884
97727
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
97885
97728
|
return { id: id3, diagram: diagram2 };
|
|
@@ -97896,7 +97739,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
97896
97739
|
}, "detector");
|
|
97897
97740
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
97898
97741
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97899
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-
|
|
97742
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-DLKmthuw.js");
|
|
97900
97743
|
return { diagram: diagram22 };
|
|
97901
97744
|
}, true ? __vite__mapDeps([15,12,13,14]) : void 0);
|
|
97902
97745
|
return { id: id4, diagram: diagram2 };
|
|
@@ -97913,7 +97756,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
97913
97756
|
}, "detector");
|
|
97914
97757
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
97915
97758
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97916
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
97759
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-BnAPFBGR.js");
|
|
97917
97760
|
return { diagram: diagram22 };
|
|
97918
97761
|
}, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
|
|
97919
97762
|
return { id: id5, diagram: diagram2 };
|
|
@@ -97930,7 +97773,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
97930
97773
|
}, "detector");
|
|
97931
97774
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
97932
97775
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97933
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-
|
|
97776
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-Debz-J-C.js");
|
|
97934
97777
|
return { diagram: diagram22 };
|
|
97935
97778
|
}, true ? __vite__mapDeps([20,21,22,23]) : void 0);
|
|
97936
97779
|
return { id: id6, diagram: diagram2 };
|
|
@@ -97947,7 +97790,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
97947
97790
|
}, "detector");
|
|
97948
97791
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
97949
97792
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97950
|
-
const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-
|
|
97793
|
+
const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-CZ5hWoxV.js");
|
|
97951
97794
|
return { diagram: diagram22 };
|
|
97952
97795
|
}, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
|
|
97953
97796
|
return { id: id7, diagram: diagram2 };
|
|
@@ -97963,7 +97806,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
97963
97806
|
}, "detector");
|
|
97964
97807
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
97965
97808
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97966
|
-
const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-
|
|
97809
|
+
const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-BQ2n0cOB.js");
|
|
97967
97810
|
return { diagram: diagram22 };
|
|
97968
97811
|
}, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
|
|
97969
97812
|
return { id: id8, diagram: diagram2 };
|
|
@@ -97979,7 +97822,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
97979
97822
|
}, "detector");
|
|
97980
97823
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
97981
97824
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97982
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
97825
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-BLg7_neg.js");
|
|
97983
97826
|
return { diagram: diagram22 };
|
|
97984
97827
|
}, true ? __vite__mapDeps([28,21,22,23]) : void 0);
|
|
97985
97828
|
return { id: id9, diagram: diagram2 };
|
|
@@ -97996,7 +97839,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
97996
97839
|
}, "detector");
|
|
97997
97840
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
97998
97841
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97999
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-
|
|
97842
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-CmSQMxUh.js");
|
|
98000
97843
|
return { diagram: diagram22 };
|
|
98001
97844
|
}, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
|
|
98002
97845
|
return { id: id10, diagram: diagram2 };
|
|
@@ -98013,7 +97856,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
98013
97856
|
}, "detector");
|
|
98014
97857
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
98015
97858
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98016
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
97859
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-DwkJt0zi.js");
|
|
98017
97860
|
return { diagram: diagram22 };
|
|
98018
97861
|
}, true ? __vite__mapDeps([30,12,13]) : void 0);
|
|
98019
97862
|
return { id: id11, diagram: diagram2 };
|
|
@@ -98030,7 +97873,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
98030
97873
|
}, "detector");
|
|
98031
97874
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
98032
97875
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98033
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-
|
|
97876
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-KHU_eApU.js");
|
|
98034
97877
|
return { diagram: diagram22 };
|
|
98035
97878
|
}, true ? __vite__mapDeps([31,9,18]) : void 0);
|
|
98036
97879
|
return { id: id12, diagram: diagram2 };
|
|
@@ -98050,7 +97893,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98050
97893
|
}, "detector");
|
|
98051
97894
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
98052
97895
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98053
|
-
const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-
|
|
97896
|
+
const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-FCrnlCWC.js");
|
|
98054
97897
|
return { diagram: diagram22 };
|
|
98055
97898
|
}, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
|
|
98056
97899
|
return { id: id13, diagram: diagram2 };
|
|
@@ -98070,7 +97913,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98070
97913
|
}, "detector");
|
|
98071
97914
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
98072
97915
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98073
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
97916
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-FCrnlCWC.js");
|
|
98074
97917
|
return { diagram: diagram22 };
|
|
98075
97918
|
}, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
|
|
98076
97919
|
return { id: id14, diagram: diagram2 };
|
|
@@ -98090,7 +97933,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98090
97933
|
}, "detector");
|
|
98091
97934
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
98092
97935
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98093
|
-
const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-
|
|
97936
|
+
const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-B3DBCxAL.js");
|
|
98094
97937
|
return { diagram: diagram22 };
|
|
98095
97938
|
}, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
|
|
98096
97939
|
return { id: id15, diagram: diagram2 };
|
|
@@ -98113,7 +97956,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98113
97956
|
}, "detector");
|
|
98114
97957
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
98115
97958
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98116
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
97959
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-C-uIk7gh.js");
|
|
98117
97960
|
return { diagram: diagram22 };
|
|
98118
97961
|
}, true ? __vite__mapDeps([37,36,12,13]) : void 0);
|
|
98119
97962
|
return { id: id16, diagram: diagram2 };
|
|
@@ -98130,7 +97973,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
98130
97973
|
}, "detector");
|
|
98131
97974
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
98132
97975
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98133
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
97976
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-CKN3oSxk.js");
|
|
98134
97977
|
return { diagram: diagram22 };
|
|
98135
97978
|
}, true ? __vite__mapDeps([38,9,11,26]) : void 0);
|
|
98136
97979
|
return { id: id17, diagram: diagram2 };
|
|
@@ -98200,7 +98043,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
98200
98043
|
}, "detector");
|
|
98201
98044
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
98202
98045
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98203
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
98046
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-BsBhWukh.js");
|
|
98204
98047
|
return { diagram: diagram22 };
|
|
98205
98048
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
98206
98049
|
return { id: id18, diagram: diagram2 };
|
|
@@ -98217,7 +98060,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
98217
98060
|
}, "detector");
|
|
98218
98061
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
98219
98062
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98220
|
-
const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-
|
|
98063
|
+
const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-SysEcQCC.js");
|
|
98221
98064
|
return { diagram: diagram22 };
|
|
98222
98065
|
}, true ? __vite__mapDeps([39,26]) : void 0);
|
|
98223
98066
|
return { id: id19, diagram: diagram2 };
|
|
@@ -98234,7 +98077,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
98234
98077
|
}, "detector");
|
|
98235
98078
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
98236
98079
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98237
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-
|
|
98080
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-C_goMzjx.js");
|
|
98238
98081
|
return { diagram: diagram22 };
|
|
98239
98082
|
}, true ? __vite__mapDeps([40,12,13]) : void 0);
|
|
98240
98083
|
return { id: id20, diagram: diagram2 };
|
|
@@ -98251,7 +98094,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
98251
98094
|
}, "detector");
|
|
98252
98095
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
98253
98096
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98254
|
-
const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-
|
|
98097
|
+
const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-BQCMklfJ.js");
|
|
98255
98098
|
return { diagram: diagram22 };
|
|
98256
98099
|
}, true ? __vite__mapDeps([41,11]) : void 0);
|
|
98257
98100
|
return { id: id21, diagram: diagram2 };
|
|
@@ -98268,7 +98111,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
98268
98111
|
}, "detector");
|
|
98269
98112
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
98270
98113
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98271
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
98114
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-DmxmatUB.js");
|
|
98272
98115
|
return { diagram: diagram22 };
|
|
98273
98116
|
}, true ? __vite__mapDeps([42,27,22]) : void 0);
|
|
98274
98117
|
return { id: id22, diagram: diagram2 };
|
|
@@ -98285,7 +98128,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
98285
98128
|
}, "detector");
|
|
98286
98129
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
98287
98130
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98288
|
-
const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-
|
|
98131
|
+
const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-pB6N6Tq_.js");
|
|
98289
98132
|
return { diagram: diagram22 };
|
|
98290
98133
|
}, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
|
|
98291
98134
|
return { id: id23, diagram: diagram2 };
|
|
@@ -98301,7 +98144,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
98301
98144
|
}, "detector");
|
|
98302
98145
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
98303
98146
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98304
|
-
const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-
|
|
98147
|
+
const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-BVbuejJn.js");
|
|
98305
98148
|
return { diagram: diagram22 };
|
|
98306
98149
|
}, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
|
|
98307
98150
|
return { id: id24, diagram: diagram2 };
|
|
@@ -98317,7 +98160,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
98317
98160
|
}, "detector");
|
|
98318
98161
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
98319
98162
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98320
|
-
const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-
|
|
98163
|
+
const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-pHVz60D0.js");
|
|
98321
98164
|
return { diagram: diagram22 };
|
|
98322
98165
|
}, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
|
|
98323
98166
|
return { id: id25, diagram: diagram2 };
|
|
@@ -98334,7 +98177,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
98334
98177
|
}, "detector");
|
|
98335
98178
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
98336
98179
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98337
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-
|
|
98180
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-DJQfSJUH.js");
|
|
98338
98181
|
return { diagram: diagram22 };
|
|
98339
98182
|
}, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
|
|
98340
98183
|
return { id: id26, diagram: diagram2 };
|
|
@@ -98351,7 +98194,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
98351
98194
|
}, "detector");
|
|
98352
98195
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
98353
98196
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98354
|
-
const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-
|
|
98197
|
+
const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-D4-QwLW1.js");
|
|
98355
98198
|
return { diagram: diagram22 };
|
|
98356
98199
|
}, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
|
|
98357
98200
|
return { id: id27, diagram: diagram2 };
|
|
@@ -99592,6 +99435,12 @@ if (!customElements.get("dominds-markdown-section")) {
|
|
|
99592
99435
|
}
|
|
99593
99436
|
const CALLING_CONTENT_INITIAL_MAX_HEIGHT_PX = 120;
|
|
99594
99437
|
const CALLING_EXPAND_STEP_VIEWPORT_RATIO = 1 / 3;
|
|
99438
|
+
const AUTO_SCROLL_FOLLOW_THRESHOLD_PX = 32;
|
|
99439
|
+
const AUTO_SCROLL_WHEEL_RESISTANCE_PX = 56;
|
|
99440
|
+
const AUTO_SCROLL_WHEEL_DECAY_MS = 520;
|
|
99441
|
+
const AUTO_SCROLL_WHEEL_SETTLE_POLL_MS = 96;
|
|
99442
|
+
const AUTO_SCROLL_WHEEL_MAX_RESISTANCE = 1.8;
|
|
99443
|
+
const AUTO_SCROLL_WHEEL_IDLE_EPSILON = 0.03;
|
|
99595
99444
|
class DomindsDialogContainer extends HTMLElement {
|
|
99596
99445
|
constructor() {
|
|
99597
99446
|
super();
|
|
@@ -99601,11 +99450,18 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99601
99450
|
this.runState = null;
|
|
99602
99451
|
this.suppressEvents = false;
|
|
99603
99452
|
this.autoScrollEnabled = true;
|
|
99453
|
+
this.autoScrollPinnedToBottom = true;
|
|
99454
|
+
this.autoScrollLastUserRemainingPx = 0;
|
|
99604
99455
|
this.scrollContainer = null;
|
|
99605
99456
|
this.boundOnScrollContainerScroll = null;
|
|
99457
|
+
this.boundOnScrollContainerWheel = null;
|
|
99606
99458
|
this.autoScrollResizeObserver = null;
|
|
99607
99459
|
this.autoScrollResizeScrollRaf = null;
|
|
99608
99460
|
this.autoScrollResizeObservedEl = null;
|
|
99461
|
+
this.autoScrollWheelResistance = 0;
|
|
99462
|
+
this.autoScrollWheelLastDecayAtMs = 0;
|
|
99463
|
+
this.autoScrollWheelLastUpEventAtMs = 0;
|
|
99464
|
+
this.autoScrollWheelSettleTimer = null;
|
|
99609
99465
|
this.teammateCallingSectionBySeq = /* @__PURE__ */ new Map();
|
|
99610
99466
|
this.callingSectionByCallId = /* @__PURE__ */ new Map();
|
|
99611
99467
|
this.pendingCallTimingById = /* @__PURE__ */ new Map();
|
|
@@ -99947,8 +99803,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99947
99803
|
}
|
|
99948
99804
|
if (!target) return;
|
|
99949
99805
|
this.pendingScrollRequest = null;
|
|
99950
|
-
this.
|
|
99951
|
-
this.updateScrollToBottomButton();
|
|
99806
|
+
this.resetAutoScrollState(false);
|
|
99952
99807
|
target.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
99953
99808
|
let selector2 = null;
|
|
99954
99809
|
if (req.kind === "by_call_id") {
|
|
@@ -99972,12 +99827,18 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99972
99827
|
}
|
|
99973
99828
|
detachScrollContainerListener() {
|
|
99974
99829
|
const container = this.scrollContainer;
|
|
99975
|
-
const
|
|
99976
|
-
if (container &&
|
|
99977
|
-
container.removeEventListener("scroll",
|
|
99830
|
+
const scrollListener = this.boundOnScrollContainerScroll;
|
|
99831
|
+
if (container && scrollListener) {
|
|
99832
|
+
container.removeEventListener("scroll", scrollListener);
|
|
99833
|
+
}
|
|
99834
|
+
const wheelListener = this.boundOnScrollContainerWheel;
|
|
99835
|
+
if (container && wheelListener) {
|
|
99836
|
+
container.removeEventListener("wheel", wheelListener);
|
|
99978
99837
|
}
|
|
99979
99838
|
this.scrollContainer = null;
|
|
99980
99839
|
this.boundOnScrollContainerScroll = null;
|
|
99840
|
+
this.boundOnScrollContainerWheel = null;
|
|
99841
|
+
this.stopAutoScrollWheelSettleTimer();
|
|
99981
99842
|
}
|
|
99982
99843
|
ensureScrollContainerListener() {
|
|
99983
99844
|
const container = this.parentElement instanceof HTMLElement ? this.parentElement : null;
|
|
@@ -99988,17 +99849,95 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99988
99849
|
this.boundOnScrollContainerScroll = () => {
|
|
99989
99850
|
const current = this.scrollContainer;
|
|
99990
99851
|
if (!current) return;
|
|
99991
|
-
this.
|
|
99992
|
-
|
|
99852
|
+
this.refreshAutoScrollStateFromScroll(current);
|
|
99853
|
+
};
|
|
99854
|
+
this.boundOnScrollContainerWheel = (event) => {
|
|
99855
|
+
this.handleAutoScrollWheel(event);
|
|
99993
99856
|
};
|
|
99994
99857
|
container.addEventListener("scroll", this.boundOnScrollContainerScroll, { passive: true });
|
|
99995
|
-
this.
|
|
99996
|
-
this.
|
|
99858
|
+
container.addEventListener("wheel", this.boundOnScrollContainerWheel, { passive: true });
|
|
99859
|
+
this.refreshAutoScrollStateFromScroll(container);
|
|
99860
|
+
}
|
|
99861
|
+
getScrollContainerRemainingPx(container) {
|
|
99862
|
+
return Math.max(0, container.scrollHeight - container.scrollTop - container.clientHeight);
|
|
99997
99863
|
}
|
|
99998
99864
|
isScrollContainerAtBottom(container) {
|
|
99999
|
-
|
|
100000
|
-
|
|
100001
|
-
|
|
99865
|
+
return this.getScrollContainerRemainingPx(container) <= AUTO_SCROLL_FOLLOW_THRESHOLD_PX;
|
|
99866
|
+
}
|
|
99867
|
+
stopAutoScrollWheelSettleTimer() {
|
|
99868
|
+
if (this.autoScrollWheelSettleTimer === null) return;
|
|
99869
|
+
window.clearTimeout(this.autoScrollWheelSettleTimer);
|
|
99870
|
+
this.autoScrollWheelSettleTimer = null;
|
|
99871
|
+
}
|
|
99872
|
+
decayAutoScrollWheelResistance(nowMs) {
|
|
99873
|
+
if (this.autoScrollWheelLastDecayAtMs === 0) {
|
|
99874
|
+
this.autoScrollWheelLastDecayAtMs = nowMs;
|
|
99875
|
+
return this.autoScrollWheelResistance;
|
|
99876
|
+
}
|
|
99877
|
+
const elapsedMs = Math.max(0, nowMs - this.autoScrollWheelLastDecayAtMs);
|
|
99878
|
+
if (elapsedMs > 0 && this.autoScrollWheelResistance > 0) {
|
|
99879
|
+
this.autoScrollWheelResistance *= Math.exp(-elapsedMs / AUTO_SCROLL_WHEEL_DECAY_MS);
|
|
99880
|
+
if (this.autoScrollWheelResistance < AUTO_SCROLL_WHEEL_IDLE_EPSILON / 2) {
|
|
99881
|
+
this.autoScrollWheelResistance = 0;
|
|
99882
|
+
}
|
|
99883
|
+
}
|
|
99884
|
+
this.autoScrollWheelLastDecayAtMs = nowMs;
|
|
99885
|
+
return this.autoScrollWheelResistance;
|
|
99886
|
+
}
|
|
99887
|
+
getAutoScrollWheelResistancePx(nowMs) {
|
|
99888
|
+
return this.decayAutoScrollWheelResistance(nowMs) * AUTO_SCROLL_WHEEL_RESISTANCE_PX;
|
|
99889
|
+
}
|
|
99890
|
+
recomputeAutoScrollEnabled(nowMs) {
|
|
99891
|
+
const effectiveRemainingPx = this.autoScrollLastUserRemainingPx + (this.autoScrollPinnedToBottom ? this.getAutoScrollWheelResistancePx(nowMs) : 0);
|
|
99892
|
+
this.autoScrollEnabled = effectiveRemainingPx <= AUTO_SCROLL_FOLLOW_THRESHOLD_PX;
|
|
99893
|
+
this.updateScrollToBottomButton();
|
|
99894
|
+
}
|
|
99895
|
+
refreshAutoScrollStateFromScroll(container) {
|
|
99896
|
+
const remainingPx = this.getScrollContainerRemainingPx(container);
|
|
99897
|
+
this.autoScrollPinnedToBottom = this.isScrollContainerAtBottom(container);
|
|
99898
|
+
this.autoScrollLastUserRemainingPx = remainingPx;
|
|
99899
|
+
this.recomputeAutoScrollEnabled(performance.now());
|
|
99900
|
+
}
|
|
99901
|
+
resetAutoScrollState(enabled) {
|
|
99902
|
+
this.autoScrollPinnedToBottom = enabled;
|
|
99903
|
+
this.autoScrollLastUserRemainingPx = enabled ? 0 : AUTO_SCROLL_FOLLOW_THRESHOLD_PX + 1;
|
|
99904
|
+
this.autoScrollEnabled = enabled;
|
|
99905
|
+
this.autoScrollWheelResistance = 0;
|
|
99906
|
+
this.autoScrollWheelLastDecayAtMs = 0;
|
|
99907
|
+
this.autoScrollWheelLastUpEventAtMs = 0;
|
|
99908
|
+
this.stopAutoScrollWheelSettleTimer();
|
|
99909
|
+
this.updateScrollToBottomButton();
|
|
99910
|
+
}
|
|
99911
|
+
scheduleAutoScrollWheelSettle() {
|
|
99912
|
+
if (!this.autoScrollPinnedToBottom) return;
|
|
99913
|
+
if (this.autoScrollWheelSettleTimer !== null) return;
|
|
99914
|
+
this.autoScrollWheelSettleTimer = window.setTimeout(() => {
|
|
99915
|
+
this.autoScrollWheelSettleTimer = null;
|
|
99916
|
+
this.recomputeAutoScrollEnabled(performance.now());
|
|
99917
|
+
if (this.autoScrollWheelResistance >= AUTO_SCROLL_WHEEL_IDLE_EPSILON) {
|
|
99918
|
+
this.scheduleAutoScrollWheelSettle();
|
|
99919
|
+
}
|
|
99920
|
+
}, AUTO_SCROLL_WHEEL_SETTLE_POLL_MS);
|
|
99921
|
+
}
|
|
99922
|
+
handleAutoScrollWheel(event) {
|
|
99923
|
+
if (!Number.isFinite(event.deltaY) || event.deltaY === 0) return;
|
|
99924
|
+
const nowMs = performance.now();
|
|
99925
|
+
const currentResistance = this.decayAutoScrollWheelResistance(nowMs);
|
|
99926
|
+
const intensity = Math.min(1.25, Math.abs(event.deltaY) / 90);
|
|
99927
|
+
if (event.deltaY < 0) {
|
|
99928
|
+
const gapMs = this.autoScrollWheelLastUpEventAtMs === 0 ? Number.POSITIVE_INFINITY : nowMs - this.autoScrollWheelLastUpEventAtMs;
|
|
99929
|
+
const continuityBoost = gapMs < 140 ? 0.38 : gapMs < 260 ? 0.22 : gapMs < 420 ? 0.1 : 0;
|
|
99930
|
+
this.autoScrollWheelResistance = Math.min(
|
|
99931
|
+
AUTO_SCROLL_WHEEL_MAX_RESISTANCE,
|
|
99932
|
+
currentResistance + 0.18 + intensity * 0.32 + continuityBoost
|
|
99933
|
+
);
|
|
99934
|
+
this.autoScrollWheelLastUpEventAtMs = nowMs;
|
|
99935
|
+
} else {
|
|
99936
|
+
this.autoScrollWheelResistance = Math.max(0, currentResistance - (0.1 + intensity * 0.2));
|
|
99937
|
+
}
|
|
99938
|
+
this.autoScrollWheelLastDecayAtMs = nowMs;
|
|
99939
|
+
this.recomputeAutoScrollEnabled(nowMs);
|
|
99940
|
+
this.scheduleAutoScrollWheelSettle();
|
|
100002
99941
|
}
|
|
100003
99942
|
async loadTeamConfiguration() {
|
|
100004
99943
|
try {
|
|
@@ -100027,8 +99966,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100027
99966
|
}
|
|
100028
99967
|
async setDialog(dialog) {
|
|
100029
99968
|
this.suppressEvents = true;
|
|
100030
|
-
this.
|
|
100031
|
-
this.updateScrollToBottomButton();
|
|
99969
|
+
this.resetAutoScrollState(true);
|
|
100032
99970
|
if (this.currentDialog) {
|
|
100033
99971
|
this.previousDialog = this.currentDialog;
|
|
100034
99972
|
}
|
|
@@ -100045,8 +99983,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100045
99983
|
}
|
|
100046
99984
|
clearDialog() {
|
|
100047
99985
|
this.suppressEvents = true;
|
|
100048
|
-
this.
|
|
100049
|
-
this.updateScrollToBottomButton();
|
|
99986
|
+
this.resetAutoScrollState(true);
|
|
100050
99987
|
this.cleanup();
|
|
100051
99988
|
this.currentDialog = void 0;
|
|
100052
99989
|
this.render();
|
|
@@ -100073,8 +100010,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100073
100010
|
async setCurrentCourse(course) {
|
|
100074
100011
|
if (!this.currentDialog) return;
|
|
100075
100012
|
this.suppressEvents = true;
|
|
100076
|
-
this.
|
|
100077
|
-
this.updateScrollToBottomButton();
|
|
100013
|
+
this.resetAutoScrollState(true);
|
|
100078
100014
|
this.cleanup();
|
|
100079
100015
|
this.currentCourse = course;
|
|
100080
100016
|
this.wsManager.sendRaw({
|
|
@@ -100095,6 +100031,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100095
100031
|
resetForCourse(course) {
|
|
100096
100032
|
this.clearGenerationGlow();
|
|
100097
100033
|
this.stopAutoScrollObservation();
|
|
100034
|
+
this.stopAutoScrollWheelSettleTimer();
|
|
100098
100035
|
this.generationBubble = void 0;
|
|
100099
100036
|
this.thinkingSection = void 0;
|
|
100100
100037
|
this.markdownSection = void 0;
|
|
@@ -100117,6 +100054,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100117
100054
|
cleanup() {
|
|
100118
100055
|
this.clearGenerationGlow();
|
|
100119
100056
|
this.stopAutoScrollObservation();
|
|
100057
|
+
this.stopAutoScrollWheelSettleTimer();
|
|
100120
100058
|
this.previousDialog = void 0;
|
|
100121
100059
|
this.runState = null;
|
|
100122
100060
|
this.generationBubble = void 0;
|
|
@@ -102444,8 +102382,7 @@ ${event.content}`;
|
|
|
102444
102382
|
);
|
|
102445
102383
|
if (scrollBtn) {
|
|
102446
102384
|
scrollBtn.onclick = () => {
|
|
102447
|
-
this.
|
|
102448
|
-
this.updateScrollToBottomButton();
|
|
102385
|
+
this.resetAutoScrollState(true);
|
|
102449
102386
|
this.scrollToBottom({ force: true });
|
|
102450
102387
|
};
|
|
102451
102388
|
}
|
|
@@ -103845,7 +103782,10 @@ ${event.content}`;
|
|
|
103845
103782
|
const scrollContainer = this.scrollContainer;
|
|
103846
103783
|
if (!scrollContainer) return;
|
|
103847
103784
|
const forceScroll = options !== void 0 && options.force === true;
|
|
103848
|
-
if (!forceScroll
|
|
103785
|
+
if (!forceScroll) {
|
|
103786
|
+
this.recomputeAutoScrollEnabled(performance.now());
|
|
103787
|
+
if (!this.autoScrollEnabled) return;
|
|
103788
|
+
}
|
|
103849
103789
|
const doScroll = () => {
|
|
103850
103790
|
const maxScroll = scrollContainer.scrollHeight - scrollContainer.clientHeight;
|
|
103851
103791
|
scrollContainer.scrollTop = maxScroll;
|
|
@@ -119655,7 +119595,6 @@ const _DomindsConnectionStatus = class _DomindsConnectionStatus extends HTMLElem
|
|
|
119655
119595
|
display: inline-flex;
|
|
119656
119596
|
align-items: center;
|
|
119657
119597
|
gap: 4px;
|
|
119658
|
-
--status-text-optical-offset-y: -1px;
|
|
119659
119598
|
}
|
|
119660
119599
|
|
|
119661
119600
|
.status-container {
|
|
@@ -119753,7 +119692,6 @@ const _DomindsConnectionStatus = class _DomindsConnectionStatus extends HTMLElem
|
|
|
119753
119692
|
height: 100%;
|
|
119754
119693
|
font-weight: 500;
|
|
119755
119694
|
line-height: 1;
|
|
119756
|
-
transform: translateY(var(--status-text-optical-offset-y));
|
|
119757
119695
|
white-space: nowrap;
|
|
119758
119696
|
}
|
|
119759
119697
|
|
|
@@ -121497,4 +121435,4 @@ export {
|
|
|
121497
121435
|
clear$2 as y,
|
|
121498
121436
|
defaultConfig2 as z
|
|
121499
121437
|
};
|
|
121500
|
-
//# sourceMappingURL=index-
|
|
121438
|
+
//# sourceMappingURL=index-B-8J28g7.js.map
|