drizzle-cube 0.4.29 → 0.4.30
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/dist/adapters/anthropic-BIva8k1r.cjs +1 -0
- package/dist/adapters/anthropic-B_rg0BhK.js +140 -0
- package/dist/adapters/dist-Boc63-1q.cjs +2 -0
- package/dist/adapters/dist-De5fzUEM.js +581 -0
- package/dist/adapters/express/index.cjs +2 -10
- package/dist/adapters/express/index.js +232 -342
- package/dist/adapters/fastify/index.cjs +2 -10
- package/dist/adapters/fastify/index.js +275 -424
- package/dist/adapters/google-CT4kgmBf.js +154 -0
- package/dist/adapters/google-Dgo9-Kb5.cjs +2 -0
- package/dist/adapters/handler-B8vuFQYP.cjs +25 -0
- package/dist/adapters/handler-D-2-6uLM.js +2951 -0
- package/dist/adapters/hono/index.cjs +2 -10
- package/dist/adapters/hono/index.js +307 -402
- package/dist/adapters/mcp-prompts-BAutSQYA.js +344 -0
- package/dist/adapters/mcp-prompts-DsAkafVn.cjs +5 -0
- package/dist/adapters/mcp-transport-CuugoG8t.js +7821 -0
- package/dist/adapters/mcp-transport-Dpp6hdZe.cjs +253 -0
- package/dist/adapters/nextjs/index.cjs +1 -9
- package/dist/adapters/nextjs/index.js +377 -600
- package/dist/adapters/openai-CjBvA6mK.js +4114 -0
- package/dist/adapters/openai-DhLE0A9Z.cjs +1 -0
- package/dist/adapters/openai-Zjw4Zo4R.js +153 -0
- package/dist/adapters/openai-eJBw3LfQ.cjs +16 -0
- package/dist/adapters/types.cjs +0 -1
- package/dist/adapters/types.js +0 -1
- package/dist/adapters/utils-ChhNGUOF.js +5396 -0
- package/dist/adapters/utils-CwJplXR5.cjs +15 -0
- package/dist/adapters/utils.cjs +1 -19
- package/dist/adapters/utils.js +2 -21333
- package/dist/client/charts.js +15 -186
- package/dist/client/chunks/DashboardEditModal-C076pscL.js +6678 -0
- package/dist/client/chunks/DashboardEditModal-C076pscL.js.map +1 -0
- package/dist/client/chunks/FieldSearchModal-C0DjSWk3.js +2631 -0
- package/dist/client/chunks/FieldSearchModal-C0DjSWk3.js.map +1 -0
- package/dist/client/chunks/RetentionCombinedChart-DuGXc-AP.js +270 -0
- package/dist/client/chunks/RetentionCombinedChart-DuGXc-AP.js.map +1 -0
- package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js +56 -0
- package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js.map +1 -0
- package/dist/client/chunks/RetentionHeatmap-BoGY6mlZ.js +193 -0
- package/dist/client/chunks/RetentionHeatmap-BoGY6mlZ.js.map +1 -0
- package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js +25 -0
- package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js.map +1 -0
- package/dist/client/chunks/analysis-builder-DF0XntqC.js +6111 -0
- package/dist/client/chunks/analysis-builder-DF0XntqC.js.map +1 -0
- package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js +3114 -0
- package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js.map +1 -0
- package/dist/client/chunks/chart-activity-grid-CNES9VBk.js +803 -0
- package/dist/client/chunks/chart-activity-grid-CNES9VBk.js.map +1 -0
- package/dist/client/chunks/chart-area-CRJc3KOu.js +449 -0
- package/dist/client/chunks/chart-area-CRJc3KOu.js.map +1 -0
- package/dist/client/chunks/chart-bar-DD2PjJ5n.js +270 -0
- package/dist/client/chunks/chart-bar-DD2PjJ5n.js.map +1 -0
- package/dist/client/chunks/chart-box-plot-BcqleldJ.js +377 -0
- package/dist/client/chunks/chart-box-plot-BcqleldJ.js.map +1 -0
- package/dist/client/chunks/chart-bubble-BmQkVk4K.js +273 -0
- package/dist/client/chunks/chart-bubble-BmQkVk4K.js.map +1 -0
- package/dist/client/chunks/chart-candlestick-C3Rep469.js +306 -0
- package/dist/client/chunks/chart-candlestick-C3Rep469.js.map +1 -0
- package/dist/client/chunks/chart-config-activity-grid-USo7JrPh.js +51 -0
- package/dist/client/chunks/chart-config-activity-grid-USo7JrPh.js.map +1 -0
- package/dist/client/chunks/chart-config-area-D_ZufYzg.js +93 -0
- package/dist/client/chunks/chart-config-area-D_ZufYzg.js.map +1 -0
- package/dist/client/chunks/chart-config-bar-BCi2Wmd6.js +87 -0
- package/dist/client/chunks/chart-config-bar-BCi2Wmd6.js.map +1 -0
- package/dist/client/chunks/chart-config-box-plot-afKLzJSp.js +35 -0
- package/dist/client/chunks/chart-config-box-plot-afKLzJSp.js.map +1 -0
- package/dist/client/chunks/chart-config-bubble-CgbBjPv8.js +82 -0
- package/dist/client/chunks/chart-config-bubble-CgbBjPv8.js.map +1 -0
- package/dist/client/chunks/chart-config-candlestick-7boGjZ-A.js +72 -0
- package/dist/client/chunks/chart-config-candlestick-7boGjZ-A.js.map +1 -0
- package/dist/client/chunks/chart-config-data-table-Cl7sBasW.js +30 -0
- package/dist/client/chunks/chart-config-data-table-Cl7sBasW.js.map +1 -0
- package/dist/client/chunks/chart-config-funnel-CXPYQtTl.js +93 -0
- package/dist/client/chunks/chart-config-funnel-CXPYQtTl.js.map +1 -0
- package/dist/client/chunks/chart-config-gauge-DUNEUCvh.js +64 -0
- package/dist/client/chunks/chart-config-gauge-DUNEUCvh.js.map +1 -0
- package/dist/client/chunks/chart-config-heat-map-BFf1tO11.js +91 -0
- package/dist/client/chunks/chart-config-heat-map-BFf1tO11.js.map +1 -0
- package/dist/client/chunks/chart-config-kpi-delta-C5k2waIJ.js +94 -0
- package/dist/client/chunks/chart-config-kpi-delta-C5k2waIJ.js.map +1 -0
- package/dist/client/chunks/chart-config-kpi-number-DptOyhk0.js +75 -0
- package/dist/client/chunks/chart-config-kpi-number-DptOyhk0.js.map +1 -0
- package/dist/client/chunks/chart-config-kpi-text-D9DdVWqd.js +47 -0
- package/dist/client/chunks/chart-config-kpi-text-D9DdVWqd.js.map +1 -0
- package/dist/client/chunks/chart-config-line-B3NgLF7K.js +104 -0
- package/dist/client/chunks/chart-config-line-B3NgLF7K.js.map +1 -0
- package/dist/client/chunks/chart-config-markdown-tlfivQTt.js +117 -0
- package/dist/client/chunks/chart-config-markdown-tlfivQTt.js.map +1 -0
- package/dist/client/chunks/chart-config-measure-profile-D7XDwrU2.js +82 -0
- package/dist/client/chunks/chart-config-measure-profile-D7XDwrU2.js.map +1 -0
- package/dist/client/chunks/chart-config-pie-wY0B52PC.js +68 -0
- package/dist/client/chunks/chart-config-pie-wY0B52PC.js.map +1 -0
- package/dist/client/chunks/chart-config-radar-DRpJBy1M.js +49 -0
- package/dist/client/chunks/chart-config-radar-DRpJBy1M.js.map +1 -0
- package/dist/client/chunks/chart-config-radial-bar-DCUpXv9G.js +38 -0
- package/dist/client/chunks/chart-config-radial-bar-DCUpXv9G.js.map +1 -0
- package/dist/client/chunks/chart-config-sankey-CdOhlm4h.js +66 -0
- package/dist/client/chunks/chart-config-sankey-CdOhlm4h.js.map +1 -0
- package/dist/client/chunks/chart-config-scatter-B2su_x8f.js +61 -0
- package/dist/client/chunks/chart-config-scatter-B2su_x8f.js.map +1 -0
- package/dist/client/chunks/chart-config-sunburst-BPdjbk18.js +45 -0
- package/dist/client/chunks/chart-config-sunburst-BPdjbk18.js.map +1 -0
- package/dist/client/chunks/chart-config-tree-map-Cbsh2fe2.js +51 -0
- package/dist/client/chunks/chart-config-tree-map-Cbsh2fe2.js.map +1 -0
- package/dist/client/chunks/chart-config-waterfall-DGmuZfQF.js +59 -0
- package/dist/client/chunks/chart-config-waterfall-DGmuZfQF.js.map +1 -0
- package/dist/client/chunks/chart-data-table-DehW1C1G.js +4088 -0
- package/dist/client/chunks/chart-data-table-DehW1C1G.js.map +1 -0
- package/dist/client/chunks/chart-funnel-BjkpnG5g.js +447 -0
- package/dist/client/chunks/chart-funnel-BjkpnG5g.js.map +1 -0
- package/dist/client/chunks/chart-gauge-BWW_HEfg.js +424 -0
- package/dist/client/chunks/chart-gauge-BWW_HEfg.js.map +1 -0
- package/dist/client/chunks/chart-heat-map-BWuOuDcm.js +236 -0
- package/dist/client/chunks/chart-heat-map-BWuOuDcm.js.map +1 -0
- package/dist/client/chunks/chart-kpi-delta-D5OHtDJx.js +343 -0
- package/dist/client/chunks/chart-kpi-delta-D5OHtDJx.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-C9zH-aKC.js +326 -0
- package/dist/client/chunks/chart-kpi-number-C9zH-aKC.js.map +1 -0
- package/dist/client/chunks/chart-kpi-text-ChVn3S7j.js +149 -0
- package/dist/client/chunks/chart-kpi-text-ChVn3S7j.js.map +1 -0
- package/dist/client/chunks/chart-line-DOIMkP0b.js +431 -0
- package/dist/client/chunks/chart-line-DOIMkP0b.js.map +1 -0
- package/dist/client/chunks/chart-markdown-DXxc43w1.js +3457 -0
- package/dist/client/chunks/chart-markdown-DXxc43w1.js.map +1 -0
- package/dist/client/chunks/chart-measure-profile-C6wrr9il.js +179 -0
- package/dist/client/chunks/chart-measure-profile-C6wrr9il.js.map +1 -0
- package/dist/client/chunks/chart-pie-BU_FgwDc.js +172 -0
- package/dist/client/chunks/chart-pie-BU_FgwDc.js.map +1 -0
- package/dist/client/chunks/chart-radar-DlufwnAX.js +154 -0
- package/dist/client/chunks/chart-radar-DlufwnAX.js.map +1 -0
- package/dist/client/chunks/chart-radial-bar-B5vS_Aw5.js +148 -0
- package/dist/client/chunks/chart-radial-bar-B5vS_Aw5.js.map +1 -0
- package/dist/client/chunks/chart-sankey-FChb26UX.js +222 -0
- package/dist/client/chunks/chart-sankey-FChb26UX.js.map +1 -0
- package/dist/client/chunks/chart-scatter-DW0cAZ2H.js +255 -0
- package/dist/client/chunks/chart-scatter-DW0cAZ2H.js.map +1 -0
- package/dist/client/chunks/chart-sunburst-Clf-6WxW.js +221 -0
- package/dist/client/chunks/chart-sunburst-Clf-6WxW.js.map +1 -0
- package/dist/client/chunks/chart-tree-map-p_VwUJPF.js +298 -0
- package/dist/client/chunks/chart-tree-map-p_VwUJPF.js.map +1 -0
- package/dist/client/chunks/chart-waterfall-jt44IQ-w.js +237 -0
- package/dist/client/chunks/chart-waterfall-jt44IQ-w.js.map +1 -0
- package/dist/client/chunks/charts-core-CUVzf4cV.js +215 -0
- package/dist/client/chunks/charts-core-CUVzf4cV.js.map +1 -0
- package/dist/client/chunks/charts-loader-AGpph8_I.js +259 -0
- package/dist/client/chunks/charts-loader-AGpph8_I.js.map +1 -0
- package/dist/client/chunks/core-D1TOj17W.js +845 -0
- package/dist/client/chunks/core-D1TOj17W.js.map +1 -0
- package/dist/client/chunks/dist-DDBeV_JI.js +847 -0
- package/dist/client/chunks/dist-DDBeV_JI.js.map +1 -0
- package/dist/client/chunks/javascript-BBwTSo6e.js +438 -0
- package/dist/client/chunks/javascript-BBwTSo6e.js.map +1 -0
- package/dist/client/chunks/json-BpTrLZSh.js +38 -0
- package/dist/client/chunks/json-BpTrLZSh.js.map +1 -0
- package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js +149 -0
- package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js.map +1 -0
- package/dist/client/chunks/providers-DX3Vw5kc.js +7 -0
- package/dist/client/chunks/providers-DX3Vw5kc.js.map +1 -0
- package/dist/client/chunks/retention-UEXlSdZ-.js +132 -0
- package/dist/client/chunks/retention-UEXlSdZ-.js.map +1 -0
- package/dist/client/chunks/rolldown-runtime-lc2dmIiU.js +20 -0
- package/dist/client/chunks/schema-visualization-ZugB4Io9.js +1073 -0
- package/dist/client/chunks/schema-visualization-ZugB4Io9.js.map +1 -0
- package/dist/client/chunks/sql-B0chxcEK.js +120 -0
- package/dist/client/chunks/sql-B0chxcEK.js.map +1 -0
- package/dist/client/chunks/syntaxHighlighting-87bOwTxj.js +30 -0
- package/dist/client/chunks/syntaxHighlighting-87bOwTxj.js.map +1 -0
- package/dist/client/chunks/useDebounce-BQjNWndQ.js +1394 -0
- package/dist/client/chunks/useDebounce-BQjNWndQ.js.map +1 -0
- package/dist/client/chunks/useDirtyStateTracking-CgKZWkel.js +66 -0
- package/dist/client/chunks/useDirtyStateTracking-CgKZWkel.js.map +1 -0
- package/dist/client/chunks/useExplainAI-c_bHxZe5.js +203 -0
- package/dist/client/chunks/useExplainAI-c_bHxZe5.js.map +1 -0
- package/dist/client/chunks/useNotebookLayout-BFZ_33Kb.js +37 -0
- package/dist/client/chunks/useNotebookLayout-BFZ_33Kb.js.map +1 -0
- package/dist/client/chunks/utils-A54Ny29G.js +128 -0
- package/dist/client/chunks/utils-A54Ny29G.js.map +1 -0
- package/dist/client/chunks/vendor-CoPBRumI.js +828 -0
- package/dist/client/chunks/vendor-CoPBRumI.js.map +1 -0
- package/dist/client/components.js +4 -18
- package/dist/client/hooks.js +6 -58
- package/dist/client/icons.js +2 -15
- package/dist/client/index.js +1061 -1295
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +3 -9
- package/dist/client/styles.css +2 -1
- package/dist/client/types.d.ts +1 -0
- package/dist/client/utils.js +7 -74
- package/dist/client-bundle-stats.html +1 -1
- package/dist/server/anthropic-BsNspi1r.js +140 -0
- package/dist/server/anthropic-DsCEX6Fm.cjs +1 -0
- package/dist/server/dist-CMWZC51B.js +581 -0
- package/dist/server/dist-DxegvyZF.cjs +2 -0
- package/dist/server/google-BXwMolCu.js +154 -0
- package/dist/server/google-DzQWXFwF.cjs +2 -0
- package/dist/server/index.cjs +109 -129
- package/dist/server/index.js +15089 -34394
- package/dist/server/openai-BPhmb8mi.js +4114 -0
- package/dist/server/openai-CLsoLaue.cjs +1 -0
- package/dist/server/openai-D1kZ5sdM.js +153 -0
- package/dist/server/openai-DkOKbVLC.cjs +16 -0
- package/package.json +5 -5
- package/dist/adapters/anthropic-BTkjgFpT.cjs +0 -1
- package/dist/adapters/anthropic-CTu9E801.js +0 -126
- package/dist/adapters/google-BAK9pnQf.cjs +0 -2
- package/dist/adapters/google-DficVAsJ.js +0 -146
- package/dist/adapters/handler-BHguLZOY.js +0 -2713
- package/dist/adapters/handler-DOIyiFPg.cjs +0 -39
- package/dist/adapters/index-BgCeQBuN.cjs +0 -2
- package/dist/adapters/index-C3PskWTr.js +0 -5353
- package/dist/adapters/index-C45_meK_.js +0 -719
- package/dist/adapters/index-ht4NPca9.cjs +0 -23
- package/dist/adapters/mcp-transport-CWGqDQSI.cjs +0 -259
- package/dist/adapters/mcp-transport-CyeHMDPl.js +0 -11055
- package/dist/adapters/openai-BvA6eLs8.cjs +0 -1
- package/dist/adapters/openai-mcE24du8.js +0 -131
- package/dist/client/charts.js.map +0 -1
- package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js +0 -256
- package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js.map +0 -1
- package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js +0 -48
- package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js.map +0 -1
- package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js +0 -178
- package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js.map +0 -1
- package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js +0 -29
- package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js.map +0 -1
- package/dist/client/chunks/analysis-builder-DMFoAkjT.js +0 -6203
- package/dist/client/chunks/analysis-builder-DMFoAkjT.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js +0 -3140
- package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-DCznpK6N.js +0 -347
- package/dist/client/chunks/chart-activity-grid-DCznpK6N.js.map +0 -1
- package/dist/client/chunks/chart-area-CqKRIUpj.js +0 -234
- package/dist/client/chunks/chart-area-CqKRIUpj.js.map +0 -1
- package/dist/client/chunks/chart-bar-Bl5jvrU_.js +0 -267
- package/dist/client/chunks/chart-bar-Bl5jvrU_.js.map +0 -1
- package/dist/client/chunks/chart-box-plot-CzMb00z_.js +0 -322
- package/dist/client/chunks/chart-box-plot-CzMb00z_.js.map +0 -1
- package/dist/client/chunks/chart-bubble-BF8Z52eW.js +0 -249
- package/dist/client/chunks/chart-bubble-BF8Z52eW.js.map +0 -1
- package/dist/client/chunks/chart-candlestick-ByWS945g.js +0 -269
- package/dist/client/chunks/chart-candlestick-ByWS945g.js.map +0 -1
- package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js +0 -50
- package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js.map +0 -1
- package/dist/client/chunks/chart-config-area-CK_GVApT.js +0 -77
- package/dist/client/chunks/chart-config-area-CK_GVApT.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-C8uzktxl.js +0 -71
- package/dist/client/chunks/chart-config-bar-C8uzktxl.js.map +0 -1
- package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js +0 -38
- package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js.map +0 -1
- package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js +0 -71
- package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js.map +0 -1
- package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js +0 -70
- package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js.map +0 -1
- package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js +0 -28
- package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js.map +0 -1
- package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js +0 -92
- package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js.map +0 -1
- package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js +0 -64
- package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js.map +0 -1
- package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js +0 -77
- package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js +0 -97
- package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js +0 -75
- package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js +0 -47
- package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js.map +0 -1
- package/dist/client/chunks/chart-config-line-JNagi9tf.js +0 -88
- package/dist/client/chunks/chart-config-line-JNagi9tf.js.map +0 -1
- package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js +0 -97
- package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js.map +0 -1
- package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js +0 -70
- package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js.map +0 -1
- package/dist/client/chunks/chart-config-pie-CNLXb-fr.js +0 -39
- package/dist/client/chunks/chart-config-pie-CNLXb-fr.js.map +0 -1
- package/dist/client/chunks/chart-config-radar-oxHfRAa3.js +0 -44
- package/dist/client/chunks/chart-config-radar-oxHfRAa3.js.map +0 -1
- package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js +0 -37
- package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js.map +0 -1
- package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js +0 -61
- package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js.map +0 -1
- package/dist/client/chunks/chart-config-scatter-DFKM80eO.js +0 -53
- package/dist/client/chunks/chart-config-scatter-DFKM80eO.js.map +0 -1
- package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js +0 -50
- package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js.map +0 -1
- package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js +0 -47
- package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js.map +0 -1
- package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js +0 -60
- package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js.map +0 -1
- package/dist/client/chunks/chart-data-table-HwfF-Ujv.js +0 -293
- package/dist/client/chunks/chart-data-table-HwfF-Ujv.js.map +0 -1
- package/dist/client/chunks/chart-funnel-WmuoWlCq.js +0 -259
- package/dist/client/chunks/chart-funnel-WmuoWlCq.js.map +0 -1
- package/dist/client/chunks/chart-gauge-Cot4By-w.js +0 -374
- package/dist/client/chunks/chart-gauge-Cot4By-w.js.map +0 -1
- package/dist/client/chunks/chart-heat-map-bGNtsZMr.js +0 -231
- package/dist/client/chunks/chart-heat-map-bGNtsZMr.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js +0 -351
- package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js +0 -476
- package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js.map +0 -1
- package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js +0 -165
- package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js.map +0 -1
- package/dist/client/chunks/chart-line-3Nf-EPqJ.js +0 -450
- package/dist/client/chunks/chart-line-3Nf-EPqJ.js.map +0 -1
- package/dist/client/chunks/chart-markdown-BT_-MBq1.js +0 -2721
- package/dist/client/chunks/chart-markdown-BT_-MBq1.js.map +0 -1
- package/dist/client/chunks/chart-measure-profile-BVjUonqU.js +0 -114
- package/dist/client/chunks/chart-measure-profile-BVjUonqU.js.map +0 -1
- package/dist/client/chunks/chart-pie-DblG6w7g.js +0 -137
- package/dist/client/chunks/chart-pie-DblG6w7g.js.map +0 -1
- package/dist/client/chunks/chart-radar-BHZbeeTg.js +0 -129
- package/dist/client/chunks/chart-radar-BHZbeeTg.js.map +0 -1
- package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js +0 -119
- package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js.map +0 -1
- package/dist/client/chunks/chart-sankey-E8vYKjQF.js +0 -189
- package/dist/client/chunks/chart-sankey-E8vYKjQF.js.map +0 -1
- package/dist/client/chunks/chart-scatter-Bbxqi0iw.js +0 -202
- package/dist/client/chunks/chart-scatter-Bbxqi0iw.js.map +0 -1
- package/dist/client/chunks/chart-sunburst-BgnTKolT.js +0 -188
- package/dist/client/chunks/chart-sunburst-BgnTKolT.js.map +0 -1
- package/dist/client/chunks/chart-tree-map-i9LGCLwl.js +0 -284
- package/dist/client/chunks/chart-tree-map-i9LGCLwl.js.map +0 -1
- package/dist/client/chunks/chart-waterfall-BeIhCm83.js +0 -191
- package/dist/client/chunks/chart-waterfall-BeIhCm83.js.map +0 -1
- package/dist/client/chunks/charts-core-BUUO36OM.js +0 -692
- package/dist/client/chunks/charts-core-BUUO36OM.js.map +0 -1
- package/dist/client/chunks/charts-loader-goTYnavu.js +0 -258
- package/dist/client/chunks/charts-loader-goTYnavu.js.map +0 -1
- package/dist/client/chunks/components-BFgYvFq6.js +0 -10066
- package/dist/client/chunks/components-BFgYvFq6.js.map +0 -1
- package/dist/client/chunks/core-Y9e-sNfb.js +0 -1068
- package/dist/client/chunks/core-Y9e-sNfb.js.map +0 -1
- package/dist/client/chunks/flow-utils-CjQZG5qq.js +0 -16
- package/dist/client/chunks/flow-utils-CjQZG5qq.js.map +0 -1
- package/dist/client/chunks/funnel-utils-CyonoNeC.js +0 -135
- package/dist/client/chunks/funnel-utils-CyonoNeC.js.map +0 -1
- package/dist/client/chunks/icons-CwvgmdIP.js +0 -1636
- package/dist/client/chunks/icons-CwvgmdIP.js.map +0 -1
- package/dist/client/chunks/index-CApFCBF9.js +0 -81
- package/dist/client/chunks/index-CApFCBF9.js.map +0 -1
- package/dist/client/chunks/index-_2PSgbkC.js +0 -1046
- package/dist/client/chunks/index-_2PSgbkC.js.map +0 -1
- package/dist/client/chunks/javascript-DII1YQGr.js +0 -659
- package/dist/client/chunks/javascript-DII1YQGr.js.map +0 -1
- package/dist/client/chunks/json-C_6Prymp.js +0 -39
- package/dist/client/chunks/json-C_6Prymp.js.map +0 -1
- package/dist/client/chunks/providers-Ds7DRmnO.js +0 -554
- package/dist/client/chunks/providers-Ds7DRmnO.js.map +0 -1
- package/dist/client/chunks/retention-CzCo8262.js +0 -120
- package/dist/client/chunks/retention-CzCo8262.js.map +0 -1
- package/dist/client/chunks/schema-visualization-B97a1Ybu.js +0 -772
- package/dist/client/chunks/schema-visualization-B97a1Ybu.js.map +0 -1
- package/dist/client/chunks/sql-IeKX8fQ8.js +0 -616
- package/dist/client/chunks/sql-IeKX8fQ8.js.map +0 -1
- package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js +0 -34
- package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js.map +0 -1
- package/dist/client/chunks/theme-Dp3hFed1.js +0 -112
- package/dist/client/chunks/theme-Dp3hFed1.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js +0 -1231
- package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js.map +0 -1
- package/dist/client/chunks/useExplainAI-CfQ_JmF1.js +0 -182
- package/dist/client/chunks/useExplainAI-CfQ_JmF1.js.map +0 -1
- package/dist/client/chunks/vendor-B2EH3V58.js +0 -2892
- package/dist/client/chunks/vendor-B2EH3V58.js.map +0 -1
- package/dist/client/components.js.map +0 -1
- package/dist/client/hooks.js.map +0 -1
- package/dist/client/icons.js.map +0 -1
- package/dist/client/providers.js.map +0 -1
- package/dist/client/utils.js.map +0 -1
- package/dist/server/anthropic-BTkjgFpT.cjs +0 -1
- package/dist/server/anthropic-CTu9E801.js +0 -126
- package/dist/server/google-BAK9pnQf.cjs +0 -2
- package/dist/server/google-DficVAsJ.js +0 -146
- package/dist/server/index-BgCeQBuN.cjs +0 -2
- package/dist/server/index-C3PskWTr.js +0 -5353
- package/dist/server/index-C45_meK_.js +0 -719
- package/dist/server/index-ht4NPca9.cjs +0 -23
- package/dist/server/openai-BvA6eLs8.cjs +0 -1
- package/dist/server/openai-mcE24du8.js +0 -131
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-DDBeV_JI.js","names":[],"sources":["../../../node_modules/modern-screenshot/dist/index.mjs"],"sourcesContent":["function changeJpegDpi(uint8Array, dpi) {\n uint8Array[13] = 1;\n uint8Array[14] = dpi >> 8;\n uint8Array[15] = dpi & 255;\n uint8Array[16] = dpi >> 8;\n uint8Array[17] = dpi & 255;\n return uint8Array;\n}\n\nconst _P = \"p\".charCodeAt(0);\nconst _H = \"H\".charCodeAt(0);\nconst _Y = \"Y\".charCodeAt(0);\nconst _S = \"s\".charCodeAt(0);\nlet pngDataTable;\nfunction createPngDataTable() {\n const crcTable = new Int32Array(256);\n for (let n = 0; n < 256; n++) {\n let c = n;\n for (let k = 0; k < 8; k++) {\n c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1;\n }\n crcTable[n] = c;\n }\n return crcTable;\n}\nfunction calcCrc(uint8Array) {\n let c = -1;\n if (!pngDataTable)\n pngDataTable = createPngDataTable();\n for (let n = 0; n < uint8Array.length; n++) {\n c = pngDataTable[(c ^ uint8Array[n]) & 255] ^ c >>> 8;\n }\n return c ^ -1;\n}\nfunction searchStartOfPhys(uint8Array) {\n const length = uint8Array.length - 1;\n for (let i = length; i >= 4; i--) {\n if (uint8Array[i - 4] === 9 && uint8Array[i - 3] === _P && uint8Array[i - 2] === _H && uint8Array[i - 1] === _Y && uint8Array[i] === _S) {\n return i - 3;\n }\n }\n return 0;\n}\nfunction changePngDpi(uint8Array, dpi, overwritepHYs = false) {\n const physChunk = new Uint8Array(13);\n dpi *= 39.3701;\n physChunk[0] = _P;\n physChunk[1] = _H;\n physChunk[2] = _Y;\n physChunk[3] = _S;\n physChunk[4] = dpi >>> 24;\n physChunk[5] = dpi >>> 16;\n physChunk[6] = dpi >>> 8;\n physChunk[7] = dpi & 255;\n physChunk[8] = physChunk[4];\n physChunk[9] = physChunk[5];\n physChunk[10] = physChunk[6];\n physChunk[11] = physChunk[7];\n physChunk[12] = 1;\n const crc = calcCrc(physChunk);\n const crcChunk = new Uint8Array(4);\n crcChunk[0] = crc >>> 24;\n crcChunk[1] = crc >>> 16;\n crcChunk[2] = crc >>> 8;\n crcChunk[3] = crc & 255;\n if (overwritepHYs) {\n const startingIndex = searchStartOfPhys(uint8Array);\n uint8Array.set(physChunk, startingIndex);\n uint8Array.set(crcChunk, startingIndex + 13);\n return uint8Array;\n } else {\n const chunkLength = new Uint8Array(4);\n chunkLength[0] = 0;\n chunkLength[1] = 0;\n chunkLength[2] = 0;\n chunkLength[3] = 9;\n const finalHeader = new Uint8Array(54);\n finalHeader.set(uint8Array, 0);\n finalHeader.set(chunkLength, 33);\n finalHeader.set(physChunk, 37);\n finalHeader.set(crcChunk, 50);\n return finalHeader;\n }\n}\nconst b64PhysSignature1 = \"AAlwSFlz\";\nconst b64PhysSignature2 = \"AAAJcEhZ\";\nconst b64PhysSignature3 = \"AAAACXBI\";\nfunction detectPhysChunkFromDataUrl(dataUrl) {\n let b64index = dataUrl.indexOf(b64PhysSignature1);\n if (b64index === -1) {\n b64index = dataUrl.indexOf(b64PhysSignature2);\n }\n if (b64index === -1) {\n b64index = dataUrl.indexOf(b64PhysSignature3);\n }\n return b64index;\n}\n\nconst PREFIX = \"[modern-screenshot]\";\nconst IN_BROWSER = typeof window !== \"undefined\";\nconst SUPPORT_WEB_WORKER = IN_BROWSER && \"Worker\" in window;\nconst SUPPORT_ATOB = IN_BROWSER && \"atob\" in window;\nconst SUPPORT_BTOA = IN_BROWSER && \"btoa\" in window;\nconst USER_AGENT = IN_BROWSER ? window.navigator?.userAgent : \"\";\nconst IN_CHROME = USER_AGENT.includes(\"Chrome\");\nconst IN_SAFARI = USER_AGENT.includes(\"AppleWebKit\") && !IN_CHROME;\nconst IN_FIREFOX = USER_AGENT.includes(\"Firefox\");\nconst isContext = (value) => value && \"__CONTEXT__\" in value;\nconst isCssFontFaceRule = (rule) => rule.constructor.name === \"CSSFontFaceRule\";\nconst isCSSImportRule = (rule) => rule.constructor.name === \"CSSImportRule\";\nconst isLayerBlockRule = (rule) => rule.constructor.name === \"CSSLayerBlockRule\";\nconst isElementNode = (node) => node.nodeType === 1;\nconst isSVGElementNode = (node) => typeof node.className === \"object\";\nconst isSVGImageElementNode = (node) => node.tagName === \"image\";\nconst isSVGUseElementNode = (node) => node.tagName === \"use\";\nconst isHTMLElementNode = (node) => isElementNode(node) && typeof node.style !== \"undefined\" && !isSVGElementNode(node);\nconst isCommentNode = (node) => node.nodeType === 8;\nconst isTextNode = (node) => node.nodeType === 3;\nconst isImageElement = (node) => node.tagName === \"IMG\";\nconst isVideoElement = (node) => node.tagName === \"VIDEO\";\nconst isCanvasElement = (node) => node.tagName === \"CANVAS\";\nconst isTextareaElement = (node) => node.tagName === \"TEXTAREA\";\nconst isInputElement = (node) => node.tagName === \"INPUT\";\nconst isStyleElement = (node) => node.tagName === \"STYLE\";\nconst isScriptElement = (node) => node.tagName === \"SCRIPT\";\nconst isSelectElement = (node) => node.tagName === \"SELECT\";\nconst isSlotElement = (node) => node.tagName === \"SLOT\";\nconst isIFrameElement = (node) => node.tagName === \"IFRAME\";\nconst consoleWarn = (...args) => console.warn(PREFIX, ...args);\nfunction supportWebp(ownerDocument) {\n const canvas = ownerDocument?.createElement?.(\"canvas\");\n if (canvas) {\n canvas.height = canvas.width = 1;\n }\n return Boolean(canvas) && \"toDataURL\" in canvas && Boolean(canvas.toDataURL(\"image/webp\").includes(\"image/webp\"));\n}\nconst isDataUrl = (url) => url.startsWith(\"data:\");\nfunction resolveUrl(url, baseUrl) {\n if (url.match(/^[a-z]+:\\/\\//i))\n return url;\n if (IN_BROWSER && url.match(/^\\/\\//))\n return window.location.protocol + url;\n if (url.match(/^[a-z]+:/i))\n return url;\n if (!IN_BROWSER)\n return url;\n const doc = getDocument().implementation.createHTMLDocument();\n const base = doc.createElement(\"base\");\n const a = doc.createElement(\"a\");\n doc.head.appendChild(base);\n doc.body.appendChild(a);\n if (baseUrl)\n base.href = baseUrl;\n a.href = url;\n return a.href;\n}\nfunction getDocument(target) {\n return (target && isElementNode(target) ? target?.ownerDocument : target) ?? window.document;\n}\nconst XMLNS = \"http://www.w3.org/2000/svg\";\nfunction createSvg(width, height, ownerDocument) {\n const svg = getDocument(ownerDocument).createElementNS(XMLNS, \"svg\");\n svg.setAttributeNS(null, \"width\", width.toString());\n svg.setAttributeNS(null, \"height\", height.toString());\n svg.setAttributeNS(null, \"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n}\nfunction svgToDataUrl(svg, removeControlCharacter) {\n let xhtml = new XMLSerializer().serializeToString(svg);\n if (removeControlCharacter) {\n xhtml = xhtml.replace(/[\\u0000-\\u0008\\v\\f\\u000E-\\u001F\\uD800-\\uDFFF\\uFFFE\\uFFFF]/gu, \"\");\n }\n return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(xhtml)}`;\n}\nasync function canvasToBlob(canvas, type = \"image/png\", quality = 1) {\n try {\n return await new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (blob) {\n resolve(blob);\n } else {\n reject(new Error(\"Blob is null\"));\n }\n }, type, quality);\n });\n } catch (error) {\n if (SUPPORT_ATOB) {\n return dataUrlToBlob(canvas.toDataURL(type, quality));\n }\n throw error;\n }\n}\nfunction dataUrlToBlob(dataUrl) {\n const [header, base64] = dataUrl.split(\",\");\n const type = header.match(/data:(.+);/)?.[1] ?? void 0;\n const decoded = window.atob(base64);\n const length = decoded.length;\n const buffer = new Uint8Array(length);\n for (let i = 0; i < length; i += 1) {\n buffer[i] = decoded.charCodeAt(i);\n }\n return new Blob([buffer], { type });\n}\nfunction readBlob(blob, type) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result);\n reader.onerror = () => reject(reader.error);\n reader.onabort = () => reject(new Error(`Failed read blob to ${type}`));\n if (type === \"dataUrl\") {\n reader.readAsDataURL(blob);\n } else if (type === \"arrayBuffer\") {\n reader.readAsArrayBuffer(blob);\n }\n });\n}\nconst blobToDataUrl = (blob) => readBlob(blob, \"dataUrl\");\nconst blobToArrayBuffer = (blob) => readBlob(blob, \"arrayBuffer\");\nfunction createImage(url, ownerDocument) {\n const img = getDocument(ownerDocument).createElement(\"img\");\n img.decoding = \"sync\";\n img.loading = \"eager\";\n img.src = url;\n return img;\n}\nfunction loadMedia(media, options) {\n return new Promise((resolve) => {\n const { timeout, ownerDocument, onError: userOnError, onWarn } = options ?? {};\n const node = typeof media === \"string\" ? createImage(media, getDocument(ownerDocument)) : media;\n let timer = null;\n let removeEventListeners = null;\n function onResolve() {\n resolve(node);\n timer && clearTimeout(timer);\n removeEventListeners?.();\n }\n if (timeout) {\n timer = setTimeout(onResolve, timeout);\n }\n if (isVideoElement(node)) {\n const currentSrc = node.currentSrc || node.src;\n if (!currentSrc) {\n if (node.poster) {\n return loadMedia(node.poster, options).then(resolve);\n }\n return onResolve();\n }\n if (node.readyState >= 2) {\n return onResolve();\n }\n const onLoadeddata = onResolve;\n const onError = (error) => {\n onWarn?.(\n \"Failed video load\",\n currentSrc,\n error\n );\n userOnError?.(error);\n onResolve();\n };\n removeEventListeners = () => {\n node.removeEventListener(\"loadeddata\", onLoadeddata);\n node.removeEventListener(\"error\", onError);\n };\n node.addEventListener(\"loadeddata\", onLoadeddata, { once: true });\n node.addEventListener(\"error\", onError, { once: true });\n } else {\n const currentSrc = isSVGImageElementNode(node) ? node.href.baseVal : node.currentSrc || node.src;\n if (!currentSrc) {\n return onResolve();\n }\n const onLoad = async () => {\n if (isImageElement(node) && \"decode\" in node) {\n try {\n await node.decode();\n } catch (error) {\n onWarn?.(\n \"Failed to decode image, trying to render anyway\",\n node.dataset.originalSrc || currentSrc,\n error\n );\n }\n }\n onResolve();\n };\n const onError = (error) => {\n onWarn?.(\n \"Failed image load\",\n node.dataset.originalSrc || currentSrc,\n error\n );\n onResolve();\n };\n if (isImageElement(node) && node.complete) {\n return onLoad();\n }\n removeEventListeners = () => {\n node.removeEventListener(\"load\", onLoad);\n node.removeEventListener(\"error\", onError);\n };\n node.addEventListener(\"load\", onLoad, { once: true });\n node.addEventListener(\"error\", onError, { once: true });\n }\n });\n}\nasync function waitUntilLoad(node, options) {\n if (isHTMLElementNode(node)) {\n if (isImageElement(node) || isVideoElement(node)) {\n await loadMedia(node, options);\n } else {\n await Promise.all(\n [\"img\", \"video\"].flatMap((selectors) => {\n return Array.from(node.querySelectorAll(selectors)).map((el) => loadMedia(el, options));\n })\n );\n }\n }\n}\nconst uuid = /* @__PURE__ */ function uuid2() {\n let counter = 0;\n const random = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);\n return () => {\n counter += 1;\n return `u${random()}${counter}`;\n };\n}();\nfunction splitFontFamily(fontFamily) {\n return fontFamily?.split(\",\").map((val) => val.trim().replace(/\"|'/g, \"\").toLowerCase()).filter(Boolean);\n}\n\nlet uid = 0;\nfunction createLogger(debug) {\n const prefix = `${PREFIX}[#${uid}]`;\n uid++;\n return {\n // eslint-disable-next-line no-console\n time: (label) => debug && console.time(`${prefix} ${label}`),\n // eslint-disable-next-line no-console\n timeEnd: (label) => debug && console.timeEnd(`${prefix} ${label}`),\n warn: (...args) => debug && consoleWarn(...args)\n };\n}\n\nfunction getDefaultRequestInit(bypassingCache) {\n return {\n cache: bypassingCache ? \"no-cache\" : \"force-cache\"\n };\n}\n\nasync function orCreateContext(node, options) {\n return isContext(node) ? node : createContext(node, { ...options, autoDestruct: true });\n}\nasync function createContext(node, options) {\n const { scale = 1, workerUrl, workerNumber = 1 } = options || {};\n const debug = Boolean(options?.debug);\n const features = options?.features ?? true;\n const ownerDocument = node.ownerDocument ?? (IN_BROWSER ? window.document : void 0);\n const ownerWindow = node.ownerDocument?.defaultView ?? (IN_BROWSER ? window : void 0);\n const requests = /* @__PURE__ */ new Map();\n const context = {\n // Options\n width: 0,\n height: 0,\n quality: 1,\n type: \"image/png\",\n scale,\n backgroundColor: null,\n style: null,\n filter: null,\n maximumCanvasSize: 0,\n timeout: 3e4,\n progress: null,\n debug,\n fetch: {\n requestInit: getDefaultRequestInit(options?.fetch?.bypassingCache),\n placeholderImage: \"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\",\n bypassingCache: false,\n ...options?.fetch\n },\n fetchFn: null,\n font: {},\n drawImageInterval: 100,\n workerUrl: null,\n workerNumber,\n onCloneEachNode: null,\n onCloneNode: null,\n onEmbedNode: null,\n onCreateForeignObjectSvg: null,\n includeStyleProperties: null,\n autoDestruct: false,\n ...options,\n // InternalContext\n __CONTEXT__: true,\n log: createLogger(debug),\n node,\n ownerDocument,\n ownerWindow,\n dpi: scale === 1 ? null : 96 * scale,\n svgStyleElement: createStyleElement(ownerDocument),\n svgDefsElement: ownerDocument?.createElementNS(XMLNS, \"defs\"),\n svgStyles: /* @__PURE__ */ new Map(),\n defaultComputedStyles: /* @__PURE__ */ new Map(),\n workers: [\n ...Array.from({\n length: SUPPORT_WEB_WORKER && workerUrl && workerNumber ? workerNumber : 0\n })\n ].map(() => {\n try {\n const worker = new Worker(workerUrl);\n worker.onmessage = async (event) => {\n const { url, result } = event.data;\n if (result) {\n requests.get(url)?.resolve?.(result);\n } else {\n requests.get(url)?.reject?.(new Error(`Error receiving message from worker: ${url}`));\n }\n };\n worker.onmessageerror = (event) => {\n const { url } = event.data;\n requests.get(url)?.reject?.(new Error(`Error receiving message from worker: ${url}`));\n };\n return worker;\n } catch (error) {\n context.log.warn(\"Failed to new Worker\", error);\n return null;\n }\n }).filter(Boolean),\n fontFamilies: /* @__PURE__ */ new Map(),\n fontCssTexts: /* @__PURE__ */ new Map(),\n acceptOfImage: `${[\n supportWebp(ownerDocument) && \"image/webp\",\n \"image/svg+xml\",\n \"image/*\",\n \"*/*\"\n ].filter(Boolean).join(\",\")};q=0.8`,\n requests,\n drawImageCount: 0,\n tasks: [],\n features,\n isEnable: (key) => {\n if (key === \"restoreScrollPosition\") {\n return typeof features === \"boolean\" ? false : features[key] ?? false;\n }\n if (typeof features === \"boolean\") {\n return features;\n }\n return features[key] ?? true;\n },\n shadowRoots: []\n };\n context.log.time(\"wait until load\");\n await waitUntilLoad(node, { timeout: context.timeout, onWarn: context.log.warn });\n context.log.timeEnd(\"wait until load\");\n const { width, height } = resolveBoundingBox(node, context);\n context.width = width;\n context.height = height;\n return context;\n}\nfunction createStyleElement(ownerDocument) {\n if (!ownerDocument)\n return void 0;\n const style = ownerDocument.createElement(\"style\");\n const cssText = style.ownerDocument.createTextNode(`\n.______background-clip--text {\n background-clip: text;\n -webkit-background-clip: text;\n}\n`);\n style.appendChild(cssText);\n return style;\n}\nfunction resolveBoundingBox(node, context) {\n let { width, height } = context;\n if (isElementNode(node) && (!width || !height)) {\n const box = node.getBoundingClientRect();\n width = width || box.width || Number(node.getAttribute(\"width\")) || 0;\n height = height || box.height || Number(node.getAttribute(\"height\")) || 0;\n }\n return { width, height };\n}\n\nasync function imageToCanvas(image, context) {\n const {\n log,\n timeout,\n drawImageCount,\n drawImageInterval\n } = context;\n log.time(\"image to canvas\");\n const loaded = await loadMedia(image, { timeout, onWarn: context.log.warn });\n const { canvas, context2d } = createCanvas(image.ownerDocument, context);\n const drawImage = () => {\n try {\n context2d?.drawImage(loaded, 0, 0, canvas.width, canvas.height);\n } catch (error) {\n context.log.warn(\"Failed to drawImage\", error);\n }\n };\n drawImage();\n if (context.isEnable(\"fixSvgXmlDecode\")) {\n for (let i = 0; i < drawImageCount; i++) {\n await new Promise((resolve) => {\n setTimeout(() => {\n context2d?.clearRect(0, 0, canvas.width, canvas.height);\n drawImage();\n resolve();\n }, i + drawImageInterval);\n });\n }\n }\n context.drawImageCount = 0;\n log.timeEnd(\"image to canvas\");\n return canvas;\n}\nfunction createCanvas(ownerDocument, context) {\n const { width, height, scale, backgroundColor, maximumCanvasSize: max } = context;\n const canvas = ownerDocument.createElement(\"canvas\");\n canvas.width = Math.floor(width * scale);\n canvas.height = Math.floor(height * scale);\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n if (max) {\n if (canvas.width > max || canvas.height > max) {\n if (canvas.width > max && canvas.height > max) {\n if (canvas.width > canvas.height) {\n canvas.height *= max / canvas.width;\n canvas.width = max;\n } else {\n canvas.width *= max / canvas.height;\n canvas.height = max;\n }\n } else if (canvas.width > max) {\n canvas.height *= max / canvas.width;\n canvas.width = max;\n } else {\n canvas.width *= max / canvas.height;\n canvas.height = max;\n }\n }\n }\n const context2d = canvas.getContext(\"2d\");\n if (context2d && backgroundColor) {\n context2d.fillStyle = backgroundColor;\n context2d.fillRect(0, 0, canvas.width, canvas.height);\n }\n return { canvas, context2d };\n}\n\nfunction cloneCanvas(canvas, context) {\n if (canvas.ownerDocument) {\n try {\n const dataURL = canvas.toDataURL();\n if (dataURL !== \"data:,\") {\n return createImage(dataURL, canvas.ownerDocument);\n }\n } catch (error) {\n context.log.warn(\"Failed to clone canvas\", error);\n }\n }\n const cloned = canvas.cloneNode(false);\n const ctx = canvas.getContext(\"2d\");\n const clonedCtx = cloned.getContext(\"2d\");\n try {\n if (ctx && clonedCtx) {\n clonedCtx.putImageData(\n ctx.getImageData(0, 0, canvas.width, canvas.height),\n 0,\n 0\n );\n }\n return cloned;\n } catch (error) {\n context.log.warn(\"Failed to clone canvas\", error);\n }\n return cloned;\n}\n\nfunction cloneIframe(iframe, context) {\n try {\n if (iframe?.contentDocument?.body) {\n return cloneNode(iframe.contentDocument.body, context);\n }\n } catch (error) {\n context.log.warn(\"Failed to clone iframe\", error);\n }\n return iframe.cloneNode(false);\n}\n\nfunction cloneImage(image) {\n const cloned = image.cloneNode(false);\n if (image.currentSrc && image.currentSrc !== image.src) {\n cloned.src = image.currentSrc;\n cloned.srcset = \"\";\n }\n if (cloned.loading === \"lazy\") {\n cloned.loading = \"eager\";\n }\n return cloned;\n}\n\nasync function cloneVideo(video, context) {\n if (video.ownerDocument && !video.currentSrc && video.poster) {\n return createImage(video.poster, video.ownerDocument);\n }\n const cloned = video.cloneNode(false);\n cloned.crossOrigin = \"anonymous\";\n if (video.currentSrc && video.currentSrc !== video.src) {\n cloned.src = video.currentSrc;\n }\n const ownerDocument = cloned.ownerDocument;\n if (ownerDocument) {\n let canPlay = true;\n await loadMedia(cloned, { onError: () => canPlay = false, onWarn: context.log.warn });\n if (!canPlay) {\n if (video.poster) {\n return createImage(video.poster, video.ownerDocument);\n }\n return cloned;\n }\n cloned.currentTime = video.currentTime;\n await new Promise((resolve) => {\n cloned.addEventListener(\"seeked\", resolve, { once: true });\n });\n const canvas = ownerDocument.createElement(\"canvas\");\n canvas.width = video.offsetWidth;\n canvas.height = video.offsetHeight;\n try {\n const ctx = canvas.getContext(\"2d\");\n if (ctx)\n ctx.drawImage(cloned, 0, 0, canvas.width, canvas.height);\n } catch (error) {\n context.log.warn(\"Failed to clone video\", error);\n if (video.poster) {\n return createImage(video.poster, video.ownerDocument);\n }\n return cloned;\n }\n return cloneCanvas(canvas, context);\n }\n return cloned;\n}\n\nfunction cloneElement(node, context) {\n if (isCanvasElement(node)) {\n return cloneCanvas(node, context);\n }\n if (isIFrameElement(node)) {\n return cloneIframe(node, context);\n }\n if (isImageElement(node)) {\n return cloneImage(node);\n }\n if (isVideoElement(node)) {\n return cloneVideo(node, context);\n }\n return node.cloneNode(false);\n}\n\nfunction getSandBox(context) {\n let sandbox = context.sandbox;\n if (!sandbox) {\n const { ownerDocument } = context;\n try {\n if (ownerDocument) {\n sandbox = ownerDocument.createElement(\"iframe\");\n sandbox.id = `__SANDBOX__${uuid()}`;\n sandbox.width = \"0\";\n sandbox.height = \"0\";\n sandbox.style.visibility = \"hidden\";\n sandbox.style.position = \"fixed\";\n ownerDocument.body.appendChild(sandbox);\n sandbox.srcdoc = '<!DOCTYPE html><meta charset=\"UTF-8\"><title></title><body>';\n context.sandbox = sandbox;\n }\n } catch (error) {\n context.log.warn(\"Failed to getSandBox\", error);\n }\n }\n return sandbox;\n}\n\nconst ignoredStyles = [\n \"width\",\n \"height\",\n \"-webkit-text-fill-color\"\n];\nconst includedAttributes = [\n \"stroke\",\n \"fill\"\n];\nfunction getDefaultStyle(node, pseudoElement, context) {\n const { defaultComputedStyles } = context;\n const nodeName = node.nodeName.toLowerCase();\n const isSvgNode = isSVGElementNode(node) && nodeName !== \"svg\";\n const attributes = isSvgNode ? includedAttributes.map((name) => [name, node.getAttribute(name)]).filter(([, value]) => value !== null) : [];\n const key = [\n isSvgNode && \"svg\",\n nodeName,\n attributes.map((name, value) => `${name}=${value}`).join(\",\"),\n pseudoElement\n ].filter(Boolean).join(\":\");\n if (defaultComputedStyles.has(key))\n return defaultComputedStyles.get(key);\n const sandbox = getSandBox(context);\n const sandboxWindow = sandbox?.contentWindow;\n if (!sandboxWindow)\n return /* @__PURE__ */ new Map();\n const sandboxDocument = sandboxWindow?.document;\n let root;\n let el;\n if (isSvgNode) {\n root = sandboxDocument.createElementNS(XMLNS, \"svg\");\n el = root.ownerDocument.createElementNS(root.namespaceURI, nodeName);\n attributes.forEach(([name, value]) => {\n el.setAttributeNS(null, name, value);\n });\n root.appendChild(el);\n } else {\n root = el = sandboxDocument.createElement(nodeName);\n }\n el.textContent = \" \";\n sandboxDocument.body.appendChild(root);\n const computedStyle = sandboxWindow.getComputedStyle(el, pseudoElement);\n const styles = /* @__PURE__ */ new Map();\n for (let len = computedStyle.length, i = 0; i < len; i++) {\n const name = computedStyle.item(i);\n if (ignoredStyles.includes(name))\n continue;\n styles.set(name, computedStyle.getPropertyValue(name));\n }\n sandboxDocument.body.removeChild(root);\n defaultComputedStyles.set(key, styles);\n return styles;\n}\n\nfunction getDiffStyle(style, defaultStyle, includeStyleProperties) {\n const diffStyle = /* @__PURE__ */ new Map();\n const prefixs = [];\n const prefixTree = /* @__PURE__ */ new Map();\n if (includeStyleProperties) {\n for (const name of includeStyleProperties) {\n applyTo(name);\n }\n } else {\n for (let len = style.length, i = 0; i < len; i++) {\n const name = style.item(i);\n applyTo(name);\n }\n }\n for (let len = prefixs.length, i = 0; i < len; i++) {\n prefixTree.get(prefixs[i])?.forEach((value, name) => diffStyle.set(name, value));\n }\n function applyTo(name) {\n const value = style.getPropertyValue(name);\n const priority = style.getPropertyPriority(name);\n const subIndex = name.lastIndexOf(\"-\");\n const prefix = subIndex > -1 ? name.substring(0, subIndex) : void 0;\n if (prefix) {\n let map = prefixTree.get(prefix);\n if (!map) {\n map = /* @__PURE__ */ new Map();\n prefixTree.set(prefix, map);\n }\n map.set(name, [value, priority]);\n }\n if (defaultStyle.get(name) === value && !priority)\n return;\n if (prefix) {\n prefixs.push(prefix);\n } else {\n diffStyle.set(name, [value, priority]);\n }\n }\n return diffStyle;\n}\n\nfunction copyCssStyles(node, cloned, isRoot, context) {\n const { ownerWindow, includeStyleProperties, currentParentNodeStyle } = context;\n const clonedStyle = cloned.style;\n const computedStyle = ownerWindow.getComputedStyle(node);\n const defaultStyle = getDefaultStyle(node, null, context);\n currentParentNodeStyle?.forEach((_, key) => {\n defaultStyle.delete(key);\n });\n const style = getDiffStyle(computedStyle, defaultStyle, includeStyleProperties);\n style.delete(\"transition-property\");\n style.delete(\"all\");\n style.delete(\"d\");\n style.delete(\"content\");\n if (isRoot) {\n style.delete(\"margin-top\");\n style.delete(\"margin-right\");\n style.delete(\"margin-bottom\");\n style.delete(\"margin-left\");\n style.delete(\"margin-block-start\");\n style.delete(\"margin-block-end\");\n style.delete(\"margin-inline-start\");\n style.delete(\"margin-inline-end\");\n style.set(\"box-sizing\", [\"border-box\", \"\"]);\n }\n if (style.get(\"background-clip\")?.[0] === \"text\") {\n cloned.classList.add(\"______background-clip--text\");\n }\n if (IN_CHROME) {\n if (!style.has(\"font-kerning\"))\n style.set(\"font-kerning\", [\"normal\", \"\"]);\n if ((style.get(\"overflow-x\")?.[0] === \"hidden\" || style.get(\"overflow-y\")?.[0] === \"hidden\") && style.get(\"text-overflow\")?.[0] === \"ellipsis\" && node.scrollWidth === node.clientWidth) {\n style.set(\"text-overflow\", [\"clip\", \"\"]);\n }\n }\n for (let len = clonedStyle.length, i = 0; i < len; i++) {\n clonedStyle.removeProperty(clonedStyle.item(i));\n }\n style.forEach(([value, priority], name) => {\n clonedStyle.setProperty(name, value, priority);\n });\n return style;\n}\n\nfunction copyInputValue(node, cloned) {\n if (isTextareaElement(node) || isInputElement(node) || isSelectElement(node)) {\n cloned.setAttribute(\"value\", node.value);\n }\n}\n\nconst pseudoClasses = [\n \"::before\",\n \"::after\"\n // '::placeholder', TODO\n];\nconst scrollbarPseudoClasses = [\n \"::-webkit-scrollbar\",\n \"::-webkit-scrollbar-button\",\n // '::-webkit-scrollbar:horizontal', TODO\n \"::-webkit-scrollbar-thumb\",\n \"::-webkit-scrollbar-track\",\n \"::-webkit-scrollbar-track-piece\",\n // '::-webkit-scrollbar:vertical', TODO\n \"::-webkit-scrollbar-corner\",\n \"::-webkit-resizer\"\n];\nfunction copyPseudoClass(node, cloned, copyScrollbar, context, addWordToFontFamilies) {\n const { ownerWindow, svgStyleElement, svgStyles, currentNodeStyle } = context;\n if (!svgStyleElement || !ownerWindow)\n return;\n function copyBy(pseudoClass) {\n const computedStyle = ownerWindow.getComputedStyle(node, pseudoClass);\n let content = computedStyle.getPropertyValue(\"content\");\n if (!content || content === \"none\")\n return;\n addWordToFontFamilies?.(content);\n content = content.replace(/(')|(\")|(counter\\(.+\\))/g, \"\");\n const klasses = [uuid()];\n const defaultStyle = getDefaultStyle(node, pseudoClass, context);\n currentNodeStyle?.forEach((_, key) => {\n defaultStyle.delete(key);\n });\n const style = getDiffStyle(computedStyle, defaultStyle, context.includeStyleProperties);\n style.delete(\"content\");\n style.delete(\"-webkit-locale\");\n if (style.get(\"background-clip\")?.[0] === \"text\") {\n cloned.classList.add(\"______background-clip--text\");\n }\n const cloneStyle = [\n `content: '${content}';`\n ];\n style.forEach(([value, priority], name) => {\n cloneStyle.push(`${name}: ${value}${priority ? \" !important\" : \"\"};`);\n });\n if (cloneStyle.length === 1)\n return;\n try {\n cloned.className = [cloned.className, ...klasses].join(\" \");\n } catch (err) {\n context.log.warn(\"Failed to copyPseudoClass\", err);\n return;\n }\n const cssText = cloneStyle.join(\"\\n \");\n let allClasses = svgStyles.get(cssText);\n if (!allClasses) {\n allClasses = [];\n svgStyles.set(cssText, allClasses);\n }\n allClasses.push(`.${klasses[0]}${pseudoClass}`);\n }\n pseudoClasses.forEach(copyBy);\n if (copyScrollbar)\n scrollbarPseudoClasses.forEach(copyBy);\n}\n\nconst excludeParentNodes = /* @__PURE__ */ new Set([\n \"symbol\"\n // test/fixtures/svg.symbol.html\n]);\nasync function appendChildNode(node, cloned, child, context, addWordToFontFamilies) {\n if (isElementNode(child) && (isStyleElement(child) || isScriptElement(child)))\n return;\n if (context.filter && !context.filter(child))\n return;\n if (excludeParentNodes.has(cloned.nodeName) || excludeParentNodes.has(child.nodeName)) {\n context.currentParentNodeStyle = void 0;\n } else {\n context.currentParentNodeStyle = context.currentNodeStyle;\n }\n const childCloned = await cloneNode(child, context, false, addWordToFontFamilies);\n if (context.isEnable(\"restoreScrollPosition\")) {\n restoreScrollPosition(node, childCloned);\n }\n cloned.appendChild(childCloned);\n}\nasync function cloneChildNodes(node, cloned, context, addWordToFontFamilies) {\n let firstChild = node.firstChild;\n if (isElementNode(node)) {\n if (node.shadowRoot) {\n firstChild = node.shadowRoot?.firstChild;\n context.shadowRoots.push(node.shadowRoot);\n }\n }\n for (let child = firstChild; child; child = child.nextSibling) {\n if (isCommentNode(child))\n continue;\n if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === \"function\") {\n const nodes = child.assignedNodes();\n for (let i = 0; i < nodes.length; i++) {\n await appendChildNode(node, cloned, nodes[i], context, addWordToFontFamilies);\n }\n } else {\n await appendChildNode(node, cloned, child, context, addWordToFontFamilies);\n }\n }\n}\nfunction restoreScrollPosition(node, chlidCloned) {\n if (!isHTMLElementNode(node) || !isHTMLElementNode(chlidCloned))\n return;\n const { scrollTop, scrollLeft } = node;\n if (!scrollTop && !scrollLeft) {\n return;\n }\n const { transform } = chlidCloned.style;\n const matrix = new DOMMatrix(transform);\n const { a, b, c, d } = matrix;\n matrix.a = 1;\n matrix.b = 0;\n matrix.c = 0;\n matrix.d = 1;\n matrix.translateSelf(-scrollLeft, -scrollTop);\n matrix.a = a;\n matrix.b = b;\n matrix.c = c;\n matrix.d = d;\n chlidCloned.style.transform = matrix.toString();\n}\nfunction applyCssStyleWithOptions(cloned, context) {\n const { backgroundColor, width, height, style: styles } = context;\n const clonedStyle = cloned.style;\n if (backgroundColor)\n clonedStyle.setProperty(\"background-color\", backgroundColor, \"important\");\n if (width)\n clonedStyle.setProperty(\"width\", `${width}px`, \"important\");\n if (height)\n clonedStyle.setProperty(\"height\", `${height}px`, \"important\");\n if (styles) {\n for (const name in styles) clonedStyle[name] = styles[name];\n }\n}\nconst NORMAL_ATTRIBUTE_RE = /^[\\w-:]+$/;\nasync function cloneNode(node, context, isRoot = false, addWordToFontFamilies) {\n const { ownerDocument, ownerWindow, fontFamilies, onCloneEachNode } = context;\n if (ownerDocument && isTextNode(node)) {\n if (addWordToFontFamilies && /\\S/.test(node.data)) {\n addWordToFontFamilies(node.data);\n }\n return ownerDocument.createTextNode(node.data);\n }\n if (ownerDocument && ownerWindow && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) {\n const cloned2 = await cloneElement(node, context);\n if (context.isEnable(\"removeAbnormalAttributes\")) {\n const names = cloned2.getAttributeNames();\n for (let len = names.length, i = 0; i < len; i++) {\n const name = names[i];\n if (!NORMAL_ATTRIBUTE_RE.test(name)) {\n cloned2.removeAttribute(name);\n }\n }\n }\n const style = context.currentNodeStyle = copyCssStyles(node, cloned2, isRoot, context);\n if (isRoot)\n applyCssStyleWithOptions(cloned2, context);\n let copyScrollbar = false;\n if (context.isEnable(\"copyScrollbar\")) {\n const overflow = [\n style.get(\"overflow-x\")?.[0],\n style.get(\"overflow-y\")?.[0]\n ];\n copyScrollbar = overflow.includes(\"scroll\") || (overflow.includes(\"auto\") || overflow.includes(\"overlay\")) && (node.scrollHeight > node.clientHeight || node.scrollWidth > node.clientWidth);\n }\n const textTransform = style.get(\"text-transform\")?.[0];\n const families = splitFontFamily(style.get(\"font-family\")?.[0]);\n const addWordToFontFamilies2 = families ? (word) => {\n if (textTransform === \"uppercase\") {\n word = word.toUpperCase();\n } else if (textTransform === \"lowercase\") {\n word = word.toLowerCase();\n } else if (textTransform === \"capitalize\") {\n word = word[0].toUpperCase() + word.substring(1);\n }\n families.forEach((family) => {\n let fontFamily = fontFamilies.get(family);\n if (!fontFamily) {\n fontFamilies.set(family, fontFamily = /* @__PURE__ */ new Set());\n }\n word.split(\"\").forEach((text) => fontFamily.add(text));\n });\n } : void 0;\n copyPseudoClass(\n node,\n cloned2,\n copyScrollbar,\n context,\n addWordToFontFamilies2\n );\n copyInputValue(node, cloned2);\n if (!isVideoElement(node)) {\n await cloneChildNodes(\n node,\n cloned2,\n context,\n addWordToFontFamilies2\n );\n }\n await onCloneEachNode?.(cloned2);\n return cloned2;\n }\n const cloned = node.cloneNode(false);\n await cloneChildNodes(node, cloned, context);\n await onCloneEachNode?.(cloned);\n return cloned;\n}\n\nfunction destroyContext(context) {\n context.ownerDocument = void 0;\n context.ownerWindow = void 0;\n context.svgStyleElement = void 0;\n context.svgDefsElement = void 0;\n context.svgStyles.clear();\n context.defaultComputedStyles.clear();\n if (context.sandbox) {\n try {\n context.sandbox.remove();\n } catch (err) {\n context.log.warn(\"Failed to destroyContext\", err);\n }\n context.sandbox = void 0;\n }\n context.workers = [];\n context.fontFamilies.clear();\n context.fontCssTexts.clear();\n context.requests.clear();\n context.tasks = [];\n context.shadowRoots = [];\n}\n\nfunction baseFetch(options) {\n const { url, timeout, responseType, ...requestInit } = options;\n const controller = new AbortController();\n const timer = timeout ? setTimeout(() => controller.abort(), timeout) : void 0;\n return fetch(url, { signal: controller.signal, ...requestInit }).then((response) => {\n if (!response.ok) {\n throw new Error(\"Failed fetch, not 2xx response\", { cause: response });\n }\n switch (responseType) {\n case \"arrayBuffer\":\n return response.arrayBuffer();\n case \"dataUrl\":\n return response.blob().then(blobToDataUrl);\n case \"text\":\n default:\n return response.text();\n }\n }).finally(() => clearTimeout(timer));\n}\nfunction contextFetch(context, options) {\n const { url: rawUrl, requestType = \"text\", responseType = \"text\", imageDom } = options;\n let url = rawUrl;\n const {\n timeout,\n acceptOfImage,\n requests,\n fetchFn,\n fetch: {\n requestInit,\n bypassingCache,\n placeholderImage\n },\n font,\n workers,\n fontFamilies\n } = context;\n if (requestType === \"image\" && (IN_SAFARI || IN_FIREFOX)) {\n context.drawImageCount++;\n }\n let request = requests.get(rawUrl);\n if (!request) {\n if (bypassingCache) {\n if (bypassingCache instanceof RegExp && bypassingCache.test(url)) {\n url += (/\\?/.test(url) ? \"&\" : \"?\") + (/* @__PURE__ */ new Date()).getTime();\n }\n }\n const canFontMinify = requestType.startsWith(\"font\") && font && font.minify;\n const fontTexts = /* @__PURE__ */ new Set();\n if (canFontMinify) {\n const families = requestType.split(\";\")[1].split(\",\");\n families.forEach((family) => {\n if (!fontFamilies.has(family))\n return;\n fontFamilies.get(family).forEach((text) => fontTexts.add(text));\n });\n }\n const needFontMinify = canFontMinify && fontTexts.size;\n const baseFetchOptions = {\n url,\n timeout,\n responseType: needFontMinify ? \"arrayBuffer\" : responseType,\n headers: requestType === \"image\" ? { accept: acceptOfImage } : void 0,\n ...requestInit\n };\n request = {\n type: requestType,\n resolve: void 0,\n reject: void 0,\n response: null\n };\n request.response = (async () => {\n if (fetchFn && requestType === \"image\") {\n const result = await fetchFn(rawUrl);\n if (result)\n return result;\n }\n if (!IN_SAFARI && rawUrl.startsWith(\"http\") && workers.length) {\n return new Promise((resolve, reject) => {\n const worker = workers[requests.size & workers.length - 1];\n worker.postMessage({ rawUrl, ...baseFetchOptions });\n request.resolve = resolve;\n request.reject = reject;\n });\n }\n return baseFetch(baseFetchOptions);\n })().catch((error) => {\n requests.delete(rawUrl);\n if (requestType === \"image\" && placeholderImage) {\n context.log.warn(\"Failed to fetch image base64, trying to use placeholder image\", url);\n return typeof placeholderImage === \"string\" ? placeholderImage : placeholderImage(imageDom);\n }\n throw error;\n });\n requests.set(rawUrl, request);\n }\n return request.response;\n}\n\nasync function replaceCssUrlToDataUrl(cssText, baseUrl, context, isImage) {\n if (!hasCssUrl(cssText))\n return cssText;\n for (const [rawUrl, url] of parseCssUrls(cssText, baseUrl)) {\n try {\n const dataUrl = await contextFetch(\n context,\n {\n url,\n requestType: isImage ? \"image\" : \"text\",\n responseType: \"dataUrl\"\n }\n );\n cssText = cssText.replace(toRE(rawUrl), `$1${dataUrl}$3`);\n } catch (error) {\n context.log.warn(\"Failed to fetch css data url\", rawUrl, error);\n }\n }\n return cssText;\n}\nfunction hasCssUrl(cssText) {\n return /url\\((['\"]?)([^'\"]+?)\\1\\)/.test(cssText);\n}\nconst URL_RE = /url\\((['\"]?)([^'\"]+?)\\1\\)/g;\nfunction parseCssUrls(cssText, baseUrl) {\n const result = [];\n cssText.replace(URL_RE, (raw, quotation, url) => {\n result.push([url, resolveUrl(url, baseUrl)]);\n return raw;\n });\n return result.filter(([url]) => !isDataUrl(url));\n}\nfunction toRE(url) {\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, \"g\");\n}\n\nconst properties = [\n \"background-image\",\n \"border-image-source\",\n \"-webkit-border-image\",\n \"-webkit-mask-image\",\n \"list-style-image\"\n];\nfunction embedCssStyleImage(style, context) {\n return properties.map((property) => {\n const value = style.getPropertyValue(property);\n if (!value || value === \"none\") {\n return null;\n }\n if (IN_SAFARI || IN_FIREFOX) {\n context.drawImageCount++;\n }\n return replaceCssUrlToDataUrl(value, null, context, true).then((newValue) => {\n if (!newValue || value === newValue)\n return;\n style.setProperty(\n property,\n newValue,\n style.getPropertyPriority(property)\n );\n });\n }).filter(Boolean);\n}\n\nfunction embedImageElement(cloned, context) {\n if (isImageElement(cloned)) {\n const originalSrc = cloned.currentSrc || cloned.src;\n if (!isDataUrl(originalSrc)) {\n return [\n contextFetch(context, {\n url: originalSrc,\n imageDom: cloned,\n requestType: \"image\",\n responseType: \"dataUrl\"\n }).then((url) => {\n if (!url)\n return;\n cloned.srcset = \"\";\n cloned.dataset.originalSrc = originalSrc;\n cloned.src = url || \"\";\n })\n ];\n }\n if (IN_SAFARI || IN_FIREFOX) {\n context.drawImageCount++;\n }\n } else if (isSVGElementNode(cloned) && !isDataUrl(cloned.href.baseVal)) {\n const originalSrc = cloned.href.baseVal;\n return [\n contextFetch(context, {\n url: originalSrc,\n imageDom: cloned,\n requestType: \"image\",\n responseType: \"dataUrl\"\n }).then((url) => {\n if (!url)\n return;\n cloned.dataset.originalSrc = originalSrc;\n cloned.href.baseVal = url || \"\";\n })\n ];\n }\n return [];\n}\n\nfunction embedSvgUse(cloned, context) {\n const { ownerDocument, svgDefsElement } = context;\n const href = cloned.getAttribute(\"href\") ?? cloned.getAttribute(\"xlink:href\");\n if (!href)\n return [];\n const [svgUrl, id] = href.split(\"#\");\n if (id) {\n const query = `#${id}`;\n const definition = context.shadowRoots.reduce(\n (res, root) => {\n return res ?? root.querySelector(`svg ${query}`);\n },\n ownerDocument?.querySelector(`svg ${query}`)\n );\n if (svgUrl) {\n cloned.setAttribute(\"href\", query);\n }\n if (svgDefsElement?.querySelector(query))\n return [];\n if (definition) {\n svgDefsElement?.appendChild(definition.cloneNode(true));\n return [];\n } else if (svgUrl) {\n return [\n contextFetch(context, {\n url: svgUrl,\n responseType: \"text\"\n }).then((svgData) => {\n svgDefsElement?.insertAdjacentHTML(\"beforeend\", svgData);\n })\n ];\n }\n }\n return [];\n}\n\nfunction embedNode(cloned, context) {\n const { tasks } = context;\n if (isElementNode(cloned)) {\n if (isImageElement(cloned) || isSVGImageElementNode(cloned)) {\n tasks.push(...embedImageElement(cloned, context));\n }\n if (isSVGUseElementNode(cloned)) {\n tasks.push(...embedSvgUse(cloned, context));\n }\n }\n if (isHTMLElementNode(cloned)) {\n tasks.push(...embedCssStyleImage(cloned.style, context));\n }\n cloned.childNodes.forEach((child) => {\n embedNode(child, context);\n });\n}\n\nasync function embedWebFont(clone, context) {\n const {\n ownerDocument,\n svgStyleElement,\n fontFamilies,\n fontCssTexts,\n tasks,\n font\n } = context;\n if (!ownerDocument || !svgStyleElement || !fontFamilies.size) {\n return;\n }\n if (font && font.cssText) {\n const cssText = filterPreferredFormat(font.cssText, context);\n svgStyleElement.appendChild(ownerDocument.createTextNode(`${cssText}\n`));\n } else {\n const styleSheets = Array.from(ownerDocument.styleSheets).filter((styleSheet) => {\n try {\n return \"cssRules\" in styleSheet && Boolean(styleSheet.cssRules.length);\n } catch (error) {\n context.log.warn(`Error while reading CSS rules from ${styleSheet.href}`, error);\n return false;\n }\n });\n await Promise.all(\n styleSheets.flatMap((styleSheet) => {\n return Array.from(styleSheet.cssRules).map(async (cssRule, index) => {\n if (isCSSImportRule(cssRule)) {\n let importIndex = index + 1;\n const baseUrl = cssRule.href;\n let cssText = \"\";\n try {\n cssText = await contextFetch(context, {\n url: baseUrl,\n requestType: \"text\",\n responseType: \"text\"\n });\n } catch (error) {\n context.log.warn(`Error fetch remote css import from ${baseUrl}`, error);\n }\n const replacedCssText = cssText.replace(\n URL_RE,\n (raw, quotation, url) => raw.replace(url, resolveUrl(url, baseUrl))\n );\n for (const rule of parseCss(replacedCssText)) {\n try {\n styleSheet.insertRule(\n rule,\n rule.startsWith(\"@import\") ? importIndex += 1 : styleSheet.cssRules.length\n );\n } catch (error) {\n context.log.warn(\"Error inserting rule from remote css import\", { rule, error });\n }\n }\n }\n });\n })\n );\n const cssRules = [];\n styleSheets.forEach((sheet) => {\n unwrapCssLayers(sheet.cssRules, cssRules);\n });\n cssRules.filter((cssRule) => isCssFontFaceRule(cssRule) && hasCssUrl(cssRule.style.getPropertyValue(\"src\")) && splitFontFamily(cssRule.style.getPropertyValue(\"font-family\"))?.some((val) => fontFamilies.has(val))).forEach((value) => {\n const rule = value;\n const cssText = fontCssTexts.get(rule.cssText);\n if (cssText) {\n svgStyleElement.appendChild(ownerDocument.createTextNode(`${cssText}\n`));\n } else {\n tasks.push(\n replaceCssUrlToDataUrl(\n rule.cssText,\n rule.parentStyleSheet ? rule.parentStyleSheet.href : null,\n context\n ).then((cssText2) => {\n cssText2 = filterPreferredFormat(cssText2, context);\n fontCssTexts.set(rule.cssText, cssText2);\n svgStyleElement.appendChild(ownerDocument.createTextNode(`${cssText2}\n`));\n })\n );\n }\n });\n }\n}\nconst COMMENTS_RE = /(\\/\\*[\\s\\S]*?\\*\\/)/g;\nconst KEYFRAMES_RE = /((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})/gi;\nfunction parseCss(source) {\n if (source == null)\n return [];\n const result = [];\n let cssText = source.replace(COMMENTS_RE, \"\");\n while (true) {\n const matches = KEYFRAMES_RE.exec(cssText);\n if (!matches)\n break;\n result.push(matches[0]);\n }\n cssText = cssText.replace(KEYFRAMES_RE, \"\");\n const IMPORT_RE = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi;\n const UNIFIED_RE = new RegExp(\n // eslint-disable-next-line\n \"((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})\",\n \"gi\"\n );\n while (true) {\n let matches = IMPORT_RE.exec(cssText);\n if (!matches) {\n matches = UNIFIED_RE.exec(cssText);\n if (!matches) {\n break;\n } else {\n IMPORT_RE.lastIndex = UNIFIED_RE.lastIndex;\n }\n } else {\n UNIFIED_RE.lastIndex = IMPORT_RE.lastIndex;\n }\n result.push(matches[0]);\n }\n return result;\n}\nconst URL_WITH_FORMAT_RE = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g;\nconst FONT_SRC_RE = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g;\nfunction filterPreferredFormat(str, context) {\n const { font } = context;\n const preferredFormat = font ? font?.preferredFormat : void 0;\n return preferredFormat ? str.replace(FONT_SRC_RE, (match) => {\n while (true) {\n const [src, , format] = URL_WITH_FORMAT_RE.exec(match) || [];\n if (!format)\n return \"\";\n if (format === preferredFormat)\n return `src: ${src};`;\n }\n }) : str;\n}\nfunction unwrapCssLayers(rules, out = []) {\n for (const rule of Array.from(rules)) {\n if (isLayerBlockRule(rule)) {\n out.push(...unwrapCssLayers(rule.cssRules));\n } else if (\"cssRules\" in rule) {\n unwrapCssLayers(rule.cssRules, out);\n } else {\n out.push(rule);\n }\n }\n return out;\n}\n\nasync function domToForeignObjectSvg(node, options) {\n const context = await orCreateContext(node, options);\n if (isElementNode(context.node) && isSVGElementNode(context.node))\n return context.node;\n const {\n ownerDocument,\n log,\n tasks,\n svgStyleElement,\n svgDefsElement,\n svgStyles,\n font,\n progress,\n autoDestruct,\n onCloneNode,\n onEmbedNode,\n onCreateForeignObjectSvg\n } = context;\n log.time(\"clone node\");\n const clone = await cloneNode(context.node, context, true);\n if (svgStyleElement && ownerDocument) {\n let allCssText = \"\";\n svgStyles.forEach((klasses, cssText) => {\n allCssText += `${klasses.join(\",\\n\")} {\n ${cssText}\n}\n`;\n });\n svgStyleElement.appendChild(ownerDocument.createTextNode(allCssText));\n }\n log.timeEnd(\"clone node\");\n await onCloneNode?.(clone);\n if (font !== false && isElementNode(clone)) {\n log.time(\"embed web font\");\n await embedWebFont(clone, context);\n log.timeEnd(\"embed web font\");\n }\n log.time(\"embed node\");\n embedNode(clone, context);\n const count = tasks.length;\n let current = 0;\n const runTask = async () => {\n while (true) {\n const task = tasks.pop();\n if (!task)\n break;\n try {\n await task;\n } catch (error) {\n context.log.warn(\"Failed to run task\", error);\n }\n progress?.(++current, count);\n }\n };\n progress?.(current, count);\n await Promise.all([...Array.from({ length: 4 })].map(runTask));\n log.timeEnd(\"embed node\");\n await onEmbedNode?.(clone);\n const svg = createForeignObjectSvg(clone, context);\n svgDefsElement && svg.insertBefore(svgDefsElement, svg.children[0]);\n svgStyleElement && svg.insertBefore(svgStyleElement, svg.children[0]);\n autoDestruct && destroyContext(context);\n await onCreateForeignObjectSvg?.(svg);\n return svg;\n}\nfunction createForeignObjectSvg(clone, context) {\n const { width, height } = context;\n const svg = createSvg(width, height, clone.ownerDocument);\n const foreignObject = svg.ownerDocument.createElementNS(svg.namespaceURI, \"foreignObject\");\n foreignObject.setAttributeNS(null, \"x\", \"0%\");\n foreignObject.setAttributeNS(null, \"y\", \"0%\");\n foreignObject.setAttributeNS(null, \"width\", \"100%\");\n foreignObject.setAttributeNS(null, \"height\", \"100%\");\n foreignObject.append(clone);\n svg.appendChild(foreignObject);\n return svg;\n}\n\nasync function domToCanvas(node, options) {\n const context = await orCreateContext(node, options);\n const svg = await domToForeignObjectSvg(context);\n const dataUrl = svgToDataUrl(svg, context.isEnable(\"removeControlCharacter\"));\n if (!context.autoDestruct) {\n context.svgStyleElement = createStyleElement(context.ownerDocument);\n context.svgDefsElement = context.ownerDocument?.createElementNS(XMLNS, \"defs\");\n context.svgStyles.clear();\n }\n const image = createImage(dataUrl, svg.ownerDocument);\n return await imageToCanvas(image, context);\n}\n\nasync function domToBlob(node, options) {\n const context = await orCreateContext(node, options);\n const { log, type, quality, dpi } = context;\n const canvas = await domToCanvas(context);\n log.time(\"canvas to blob\");\n const blob = await canvasToBlob(canvas, type, quality);\n if ([\"image/png\", \"image/jpeg\"].includes(type) && dpi) {\n const arrayBuffer = await blobToArrayBuffer(blob.slice(0, 33));\n let uint8Array = new Uint8Array(arrayBuffer);\n if (type === \"image/png\") {\n uint8Array = changePngDpi(uint8Array, dpi);\n } else if (type === \"image/jpeg\") {\n uint8Array = changeJpegDpi(uint8Array, dpi);\n }\n log.timeEnd(\"canvas to blob\");\n return new Blob([uint8Array, blob.slice(33)], { type });\n }\n log.timeEnd(\"canvas to blob\");\n return blob;\n}\n\nasync function domToDataUrl(node, options) {\n const context = await orCreateContext(node, options);\n const { log, quality, type, dpi } = context;\n const canvas = await domToCanvas(context);\n log.time(\"canvas to data url\");\n let dataUrl = canvas.toDataURL(type, quality);\n if ([\"image/png\", \"image/jpeg\"].includes(type) && dpi && SUPPORT_ATOB && SUPPORT_BTOA) {\n const [format, body] = dataUrl.split(\",\");\n let headerLength = 0;\n let overwritepHYs = false;\n if (type === \"image/png\") {\n const b64Index = detectPhysChunkFromDataUrl(body);\n if (b64Index >= 0) {\n headerLength = Math.ceil((b64Index + 28) / 3) * 4;\n overwritepHYs = true;\n } else {\n headerLength = 33 / 3 * 4;\n }\n } else if (type === \"image/jpeg\") {\n headerLength = 18 / 3 * 4;\n }\n const stringHeader = body.substring(0, headerLength);\n const restOfData = body.substring(headerLength);\n const headerBytes = window.atob(stringHeader);\n const uint8Array = new Uint8Array(headerBytes.length);\n for (let i = 0; i < uint8Array.length; i++) {\n uint8Array[i] = headerBytes.charCodeAt(i);\n }\n const finalArray = type === \"image/png\" ? changePngDpi(uint8Array, dpi, overwritepHYs) : changeJpegDpi(uint8Array, dpi);\n const base64Header = window.btoa(String.fromCharCode(...finalArray));\n dataUrl = [format, \",\", base64Header, restOfData].join(\"\");\n }\n log.timeEnd(\"canvas to data url\");\n return dataUrl;\n}\n\nasync function domToSvg(node, options) {\n const context = await orCreateContext(node, options);\n const { width, height, ownerDocument } = context;\n const dataUrl = await domToDataUrl(context);\n const svg = createSvg(width, height, ownerDocument);\n const svgImage = svg.ownerDocument.createElementNS(svg.namespaceURI, \"image\");\n svgImage.setAttributeNS(null, \"href\", dataUrl);\n svgImage.setAttributeNS(null, \"height\", \"100%\");\n svgImage.setAttributeNS(null, \"width\", \"100%\");\n svg.appendChild(svgImage);\n return svgToDataUrl(svg, context.isEnable(\"removeControlCharacter\"));\n}\n\nasync function domToImage(node, options) {\n const context = await orCreateContext(node, options);\n const { ownerDocument, width, height, scale, type } = context;\n const url = type === \"image/svg+xml\" ? await domToSvg(context) : await domToDataUrl(context);\n const image = createImage(url, ownerDocument);\n image.width = Math.floor(width * scale);\n image.height = Math.floor(height * scale);\n image.style.width = `${width}px`;\n image.style.height = `${height}px`;\n return image;\n}\n\nasync function domToJpeg(node, options) {\n return domToDataUrl(\n await orCreateContext(node, { ...options, type: \"image/jpeg\" })\n );\n}\n\nasync function domToPixel(node, options) {\n const context = await orCreateContext(node, options);\n const canvas = await domToCanvas(context);\n return canvas.getContext(\"2d\").getImageData(0, 0, canvas.width, canvas.height).data;\n}\n\nasync function domToPng(node, options) {\n return domToDataUrl(\n await orCreateContext(node, { ...options, type: \"image/png\" })\n );\n}\n\nasync function domToWebp(node, options) {\n return domToDataUrl(\n await orCreateContext(node, { ...options, type: \"image/webp\" })\n );\n}\n\nexport { createContext, destroyContext, domToBlob, domToCanvas, domToDataUrl, domToForeignObjectSvg, domToImage, domToJpeg, domToPixel, domToPng, domToSvg, domToWebp, loadMedia, waitUntilLoad };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
//#region node_modules/highlight.js/es/languages/javascript.js
|
|
2
|
+
var e = "[A-Za-z$_][0-9A-Za-z$_]*", t = /* @__PURE__ */ "as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using".split("."), n = [
|
|
3
|
+
"true",
|
|
4
|
+
"false",
|
|
5
|
+
"null",
|
|
6
|
+
"undefined",
|
|
7
|
+
"NaN",
|
|
8
|
+
"Infinity"
|
|
9
|
+
], r = /* @__PURE__ */ "Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly".split("."), i = [
|
|
10
|
+
"Error",
|
|
11
|
+
"EvalError",
|
|
12
|
+
"InternalError",
|
|
13
|
+
"RangeError",
|
|
14
|
+
"ReferenceError",
|
|
15
|
+
"SyntaxError",
|
|
16
|
+
"TypeError",
|
|
17
|
+
"URIError"
|
|
18
|
+
], a = [
|
|
19
|
+
"setInterval",
|
|
20
|
+
"setTimeout",
|
|
21
|
+
"clearInterval",
|
|
22
|
+
"clearTimeout",
|
|
23
|
+
"require",
|
|
24
|
+
"exports",
|
|
25
|
+
"eval",
|
|
26
|
+
"isFinite",
|
|
27
|
+
"isNaN",
|
|
28
|
+
"parseFloat",
|
|
29
|
+
"parseInt",
|
|
30
|
+
"decodeURI",
|
|
31
|
+
"decodeURIComponent",
|
|
32
|
+
"encodeURI",
|
|
33
|
+
"encodeURIComponent",
|
|
34
|
+
"escape",
|
|
35
|
+
"unescape"
|
|
36
|
+
], o = [
|
|
37
|
+
"arguments",
|
|
38
|
+
"this",
|
|
39
|
+
"super",
|
|
40
|
+
"console",
|
|
41
|
+
"window",
|
|
42
|
+
"document",
|
|
43
|
+
"localStorage",
|
|
44
|
+
"sessionStorage",
|
|
45
|
+
"module",
|
|
46
|
+
"global"
|
|
47
|
+
], s = [].concat(a, r, i);
|
|
48
|
+
function c(c) {
|
|
49
|
+
let l = c.regex, u = (e, { after: t }) => {
|
|
50
|
+
let n = "</" + e[0].slice(1);
|
|
51
|
+
return e.input.indexOf(n, t) !== -1;
|
|
52
|
+
}, d = e, f = {
|
|
53
|
+
begin: "<>",
|
|
54
|
+
end: "</>"
|
|
55
|
+
}, p = /<[A-Za-z0-9\\._:-]+\s*\/>/, m = {
|
|
56
|
+
begin: /<[A-Za-z0-9\\._:-]+/,
|
|
57
|
+
end: /\/[A-Za-z0-9\\._:-]+>|\/>/,
|
|
58
|
+
isTrulyOpeningTag: (e, t) => {
|
|
59
|
+
let n = e[0].length + e.index, r = e.input[n];
|
|
60
|
+
if (r === "<" || r === ",") {
|
|
61
|
+
t.ignoreMatch();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
r === ">" && (u(e, { after: n }) || t.ignoreMatch());
|
|
65
|
+
let i, a = e.input.substring(n);
|
|
66
|
+
if (i = a.match(/^\s*=/)) {
|
|
67
|
+
t.ignoreMatch();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if ((i = a.match(/^\s+extends\s+/)) && i.index === 0) {
|
|
71
|
+
t.ignoreMatch();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}, h = {
|
|
76
|
+
$pattern: e,
|
|
77
|
+
keyword: t,
|
|
78
|
+
literal: n,
|
|
79
|
+
built_in: s,
|
|
80
|
+
"variable.language": o
|
|
81
|
+
}, g = "[0-9](_?[0-9])*", _ = `\\.(${g})`, v = "0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*", y = {
|
|
82
|
+
className: "number",
|
|
83
|
+
variants: [
|
|
84
|
+
{ begin: `(\\b(${v})((${_})|\\.)?|(${_}))[eE][+-]?(${g})\\b` },
|
|
85
|
+
{ begin: `\\b(${v})\\b((${_})\\b|\\.)?|(${_})\\b` },
|
|
86
|
+
{ begin: "\\b(0|[1-9](_?[0-9])*)n\\b" },
|
|
87
|
+
{ begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b" },
|
|
88
|
+
{ begin: "\\b0[bB][0-1](_?[0-1])*n?\\b" },
|
|
89
|
+
{ begin: "\\b0[oO][0-7](_?[0-7])*n?\\b" },
|
|
90
|
+
{ begin: "\\b0[0-7]+n?\\b" }
|
|
91
|
+
],
|
|
92
|
+
relevance: 0
|
|
93
|
+
}, b = {
|
|
94
|
+
className: "subst",
|
|
95
|
+
begin: "\\$\\{",
|
|
96
|
+
end: "\\}",
|
|
97
|
+
keywords: h,
|
|
98
|
+
contains: []
|
|
99
|
+
}, x = {
|
|
100
|
+
begin: ".?html`",
|
|
101
|
+
end: "",
|
|
102
|
+
starts: {
|
|
103
|
+
end: "`",
|
|
104
|
+
returnEnd: !1,
|
|
105
|
+
contains: [c.BACKSLASH_ESCAPE, b],
|
|
106
|
+
subLanguage: "xml"
|
|
107
|
+
}
|
|
108
|
+
}, S = {
|
|
109
|
+
begin: ".?css`",
|
|
110
|
+
end: "",
|
|
111
|
+
starts: {
|
|
112
|
+
end: "`",
|
|
113
|
+
returnEnd: !1,
|
|
114
|
+
contains: [c.BACKSLASH_ESCAPE, b],
|
|
115
|
+
subLanguage: "css"
|
|
116
|
+
}
|
|
117
|
+
}, C = {
|
|
118
|
+
begin: ".?gql`",
|
|
119
|
+
end: "",
|
|
120
|
+
starts: {
|
|
121
|
+
end: "`",
|
|
122
|
+
returnEnd: !1,
|
|
123
|
+
contains: [c.BACKSLASH_ESCAPE, b],
|
|
124
|
+
subLanguage: "graphql"
|
|
125
|
+
}
|
|
126
|
+
}, w = {
|
|
127
|
+
className: "string",
|
|
128
|
+
begin: "`",
|
|
129
|
+
end: "`",
|
|
130
|
+
contains: [c.BACKSLASH_ESCAPE, b]
|
|
131
|
+
}, T = {
|
|
132
|
+
className: "comment",
|
|
133
|
+
variants: [
|
|
134
|
+
c.COMMENT(/\/\*\*(?!\/)/, "\\*/", {
|
|
135
|
+
relevance: 0,
|
|
136
|
+
contains: [{
|
|
137
|
+
begin: "(?=@[A-Za-z]+)",
|
|
138
|
+
relevance: 0,
|
|
139
|
+
contains: [
|
|
140
|
+
{
|
|
141
|
+
className: "doctag",
|
|
142
|
+
begin: "@[A-Za-z]+"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
className: "type",
|
|
146
|
+
begin: "\\{",
|
|
147
|
+
end: "\\}",
|
|
148
|
+
excludeEnd: !0,
|
|
149
|
+
excludeBegin: !0,
|
|
150
|
+
relevance: 0
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
className: "variable",
|
|
154
|
+
begin: d + "(?=\\s*(-)|$)",
|
|
155
|
+
endsParent: !0,
|
|
156
|
+
relevance: 0
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
begin: /(?=[^\n])\s/,
|
|
160
|
+
relevance: 0
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
}]
|
|
164
|
+
}),
|
|
165
|
+
c.C_BLOCK_COMMENT_MODE,
|
|
166
|
+
c.C_LINE_COMMENT_MODE
|
|
167
|
+
]
|
|
168
|
+
}, E = [
|
|
169
|
+
c.APOS_STRING_MODE,
|
|
170
|
+
c.QUOTE_STRING_MODE,
|
|
171
|
+
x,
|
|
172
|
+
S,
|
|
173
|
+
C,
|
|
174
|
+
w,
|
|
175
|
+
{ match: /\$\d+/ },
|
|
176
|
+
y
|
|
177
|
+
];
|
|
178
|
+
b.contains = E.concat({
|
|
179
|
+
begin: /\{/,
|
|
180
|
+
end: /\}/,
|
|
181
|
+
keywords: h,
|
|
182
|
+
contains: ["self"].concat(E)
|
|
183
|
+
});
|
|
184
|
+
let D = [].concat(T, b.contains), O = D.concat([{
|
|
185
|
+
begin: /(\s*)\(/,
|
|
186
|
+
end: /\)/,
|
|
187
|
+
keywords: h,
|
|
188
|
+
contains: ["self"].concat(D)
|
|
189
|
+
}]), k = {
|
|
190
|
+
className: "params",
|
|
191
|
+
begin: /(\s*)\(/,
|
|
192
|
+
end: /\)/,
|
|
193
|
+
excludeBegin: !0,
|
|
194
|
+
excludeEnd: !0,
|
|
195
|
+
keywords: h,
|
|
196
|
+
contains: O
|
|
197
|
+
}, A = { variants: [{
|
|
198
|
+
match: [
|
|
199
|
+
/class/,
|
|
200
|
+
/\s+/,
|
|
201
|
+
d,
|
|
202
|
+
/\s+/,
|
|
203
|
+
/extends/,
|
|
204
|
+
/\s+/,
|
|
205
|
+
l.concat(d, "(", l.concat(/\./, d), ")*")
|
|
206
|
+
],
|
|
207
|
+
scope: {
|
|
208
|
+
1: "keyword",
|
|
209
|
+
3: "title.class",
|
|
210
|
+
5: "keyword",
|
|
211
|
+
7: "title.class.inherited"
|
|
212
|
+
}
|
|
213
|
+
}, {
|
|
214
|
+
match: [
|
|
215
|
+
/class/,
|
|
216
|
+
/\s+/,
|
|
217
|
+
d
|
|
218
|
+
],
|
|
219
|
+
scope: {
|
|
220
|
+
1: "keyword",
|
|
221
|
+
3: "title.class"
|
|
222
|
+
}
|
|
223
|
+
}] }, j = {
|
|
224
|
+
relevance: 0,
|
|
225
|
+
match: l.either(/\bJSON/, /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/, /\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/, /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),
|
|
226
|
+
className: "title.class",
|
|
227
|
+
keywords: { _: [...r, ...i] }
|
|
228
|
+
}, M = {
|
|
229
|
+
label: "use_strict",
|
|
230
|
+
className: "meta",
|
|
231
|
+
relevance: 10,
|
|
232
|
+
begin: /^\s*['"]use (strict|asm)['"]/
|
|
233
|
+
}, N = {
|
|
234
|
+
variants: [{ match: [
|
|
235
|
+
/function/,
|
|
236
|
+
/\s+/,
|
|
237
|
+
d,
|
|
238
|
+
/(?=\s*\()/
|
|
239
|
+
] }, { match: [/function/, /\s*(?=\()/] }],
|
|
240
|
+
className: {
|
|
241
|
+
1: "keyword",
|
|
242
|
+
3: "title.function"
|
|
243
|
+
},
|
|
244
|
+
label: "func.def",
|
|
245
|
+
contains: [k],
|
|
246
|
+
illegal: /%/
|
|
247
|
+
}, P = {
|
|
248
|
+
relevance: 0,
|
|
249
|
+
match: /\b[A-Z][A-Z_0-9]+\b/,
|
|
250
|
+
className: "variable.constant"
|
|
251
|
+
};
|
|
252
|
+
function F(e) {
|
|
253
|
+
return l.concat("(?!", e.join("|"), ")");
|
|
254
|
+
}
|
|
255
|
+
let I = {
|
|
256
|
+
match: l.concat(/\b/, F([
|
|
257
|
+
...a,
|
|
258
|
+
"super",
|
|
259
|
+
"import"
|
|
260
|
+
].map((e) => `${e}\\s*\\(`)), d, l.lookahead(/\s*\(/)),
|
|
261
|
+
className: "title.function",
|
|
262
|
+
relevance: 0
|
|
263
|
+
}, L = {
|
|
264
|
+
begin: l.concat(/\./, l.lookahead(l.concat(d, /(?![0-9A-Za-z$_(])/))),
|
|
265
|
+
end: d,
|
|
266
|
+
excludeBegin: !0,
|
|
267
|
+
keywords: "prototype",
|
|
268
|
+
className: "property",
|
|
269
|
+
relevance: 0
|
|
270
|
+
}, R = {
|
|
271
|
+
match: [
|
|
272
|
+
/get|set/,
|
|
273
|
+
/\s+/,
|
|
274
|
+
d,
|
|
275
|
+
/(?=\()/
|
|
276
|
+
],
|
|
277
|
+
className: {
|
|
278
|
+
1: "keyword",
|
|
279
|
+
3: "title.function"
|
|
280
|
+
},
|
|
281
|
+
contains: [{ begin: /\(\)/ }, k]
|
|
282
|
+
}, z = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + c.UNDERSCORE_IDENT_RE + ")\\s*=>", B = {
|
|
283
|
+
match: [
|
|
284
|
+
/const|var|let/,
|
|
285
|
+
/\s+/,
|
|
286
|
+
d,
|
|
287
|
+
/\s*/,
|
|
288
|
+
/=\s*/,
|
|
289
|
+
/(async\s*)?/,
|
|
290
|
+
l.lookahead(z)
|
|
291
|
+
],
|
|
292
|
+
keywords: "async",
|
|
293
|
+
className: {
|
|
294
|
+
1: "keyword",
|
|
295
|
+
3: "title.function"
|
|
296
|
+
},
|
|
297
|
+
contains: [k]
|
|
298
|
+
};
|
|
299
|
+
return {
|
|
300
|
+
name: "JavaScript",
|
|
301
|
+
aliases: [
|
|
302
|
+
"js",
|
|
303
|
+
"jsx",
|
|
304
|
+
"mjs",
|
|
305
|
+
"cjs"
|
|
306
|
+
],
|
|
307
|
+
keywords: h,
|
|
308
|
+
exports: {
|
|
309
|
+
PARAMS_CONTAINS: O,
|
|
310
|
+
CLASS_REFERENCE: j
|
|
311
|
+
},
|
|
312
|
+
illegal: /#(?![$_A-z])/,
|
|
313
|
+
contains: [
|
|
314
|
+
c.SHEBANG({
|
|
315
|
+
label: "shebang",
|
|
316
|
+
binary: "node",
|
|
317
|
+
relevance: 5
|
|
318
|
+
}),
|
|
319
|
+
M,
|
|
320
|
+
c.APOS_STRING_MODE,
|
|
321
|
+
c.QUOTE_STRING_MODE,
|
|
322
|
+
x,
|
|
323
|
+
S,
|
|
324
|
+
C,
|
|
325
|
+
w,
|
|
326
|
+
T,
|
|
327
|
+
{ match: /\$\d+/ },
|
|
328
|
+
y,
|
|
329
|
+
j,
|
|
330
|
+
{
|
|
331
|
+
scope: "attr",
|
|
332
|
+
match: d + l.lookahead(":"),
|
|
333
|
+
relevance: 0
|
|
334
|
+
},
|
|
335
|
+
B,
|
|
336
|
+
{
|
|
337
|
+
begin: "(" + c.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
|
|
338
|
+
keywords: "return throw case",
|
|
339
|
+
relevance: 0,
|
|
340
|
+
contains: [
|
|
341
|
+
T,
|
|
342
|
+
c.REGEXP_MODE,
|
|
343
|
+
{
|
|
344
|
+
className: "function",
|
|
345
|
+
begin: z,
|
|
346
|
+
returnBegin: !0,
|
|
347
|
+
end: "\\s*=>",
|
|
348
|
+
contains: [{
|
|
349
|
+
className: "params",
|
|
350
|
+
variants: [
|
|
351
|
+
{
|
|
352
|
+
begin: c.UNDERSCORE_IDENT_RE,
|
|
353
|
+
relevance: 0
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
className: null,
|
|
357
|
+
begin: /\(\s*\)/,
|
|
358
|
+
skip: !0
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
begin: /(\s*)\(/,
|
|
362
|
+
end: /\)/,
|
|
363
|
+
excludeBegin: !0,
|
|
364
|
+
excludeEnd: !0,
|
|
365
|
+
keywords: h,
|
|
366
|
+
contains: O
|
|
367
|
+
}
|
|
368
|
+
]
|
|
369
|
+
}]
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
begin: /,/,
|
|
373
|
+
relevance: 0
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
match: /\s+/,
|
|
377
|
+
relevance: 0
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
variants: [
|
|
381
|
+
{
|
|
382
|
+
begin: f.begin,
|
|
383
|
+
end: f.end
|
|
384
|
+
},
|
|
385
|
+
{ match: p },
|
|
386
|
+
{
|
|
387
|
+
begin: m.begin,
|
|
388
|
+
"on:begin": m.isTrulyOpeningTag,
|
|
389
|
+
end: m.end
|
|
390
|
+
}
|
|
391
|
+
],
|
|
392
|
+
subLanguage: "xml",
|
|
393
|
+
contains: [{
|
|
394
|
+
begin: m.begin,
|
|
395
|
+
end: m.end,
|
|
396
|
+
skip: !0,
|
|
397
|
+
contains: ["self"]
|
|
398
|
+
}]
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
N,
|
|
403
|
+
{ beginKeywords: "while if switch catch for" },
|
|
404
|
+
{
|
|
405
|
+
begin: "\\b(?!function)" + c.UNDERSCORE_IDENT_RE + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",
|
|
406
|
+
returnBegin: !0,
|
|
407
|
+
label: "func.def",
|
|
408
|
+
contains: [k, c.inherit(c.TITLE_MODE, {
|
|
409
|
+
begin: d,
|
|
410
|
+
className: "title.function"
|
|
411
|
+
})]
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
match: /\.\.\./,
|
|
415
|
+
relevance: 0
|
|
416
|
+
},
|
|
417
|
+
L,
|
|
418
|
+
{
|
|
419
|
+
match: "\\$" + d,
|
|
420
|
+
relevance: 0
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
match: [/\bconstructor(?=\s*\()/],
|
|
424
|
+
className: { 1: "title.function" },
|
|
425
|
+
contains: [k]
|
|
426
|
+
},
|
|
427
|
+
I,
|
|
428
|
+
P,
|
|
429
|
+
A,
|
|
430
|
+
R,
|
|
431
|
+
{ match: /\$[(.]/ }
|
|
432
|
+
]
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
//#endregion
|
|
436
|
+
export { c as default };
|
|
437
|
+
|
|
438
|
+
//# sourceMappingURL=javascript-BBwTSo6e.js.map
|