@epa-wg/custom-element-dist 0.0.32 → 0.0.34
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/.claude/settings.local.json +18 -0
- package/.github/workflows/deploy.yml +59 -0
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/custom-element-dist.iml +2 -0
- package/.storybook/main.ts +20 -21
- package/.storybook/preview.ts +23 -25
- package/README.md +6 -4
- package/coverage/block-navigation.js +1 -1
- package/coverage/coverage-final.json +8 -18
- package/coverage/index.html +45 -30
- package/coverage/sorter.js +21 -7
- package/coverage/src/custom-element/coverage.svg +1 -1
- package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
- package/coverage/src/custom-element/custom-element.js.html +687 -480
- package/coverage/src/custom-element/http-request.js/coverage.svg +1 -1
- package/coverage/src/custom-element/http-request.js.html +39 -18
- package/coverage/src/custom-element/index.html +35 -35
- package/coverage/src/custom-element/local-storage.js.html +1 -1
- package/coverage/src/custom-element/location-element.js.html +31 -31
- package/coverage/src/custom-element/module-url.js/coverage.svg +1 -1
- package/coverage/src/custom-element/module-url.js.html +20 -20
- package/coverage/src/index.html +1 -1
- package/coverage/src/{stories/local-storage.test.stories.ts → material/theme/colors.js}/coverage.svg +1 -1
- package/coverage/src/material/theme/colors.js.html +217 -0
- package/coverage/src/{stories/location-element.test.stories.ts → material/theme}/coverage.svg +1 -1
- package/coverage/src/material/theme/index.html +116 -0
- package/coverage/src/mocks/handlers.ts.html +1 -1
- package/coverage/src/mocks/index.html +1 -1
- package/coverage/src/stories/coverage.svg +1 -1
- package/coverage/src/stories/{external-template.test.stories.ts → frame.canvas.ts}/coverage.svg +1 -1
- package/coverage/src/stories/frame.canvas.ts.html +175 -0
- package/coverage/src/stories/http-request.stories.ts.html +1 -1
- package/coverage/src/stories/index.html +14 -179
- package/coverage/src/stories/testStoryBook.ts.html +12 -12
- package/coverage/src/sum.ts.html +1 -1
- package/dist/custom-element-BoYMoUtP.js +619 -0
- package/dist/custom-element-BqtjrCRF.cjs +97 -0
- package/dist/custom-element-bundle.cjs +1 -1
- package/dist/custom-element-bundle.js +3 -3
- package/dist/demo/a.html +10 -3
- package/dist/demo/a.svg +26 -26
- package/dist/demo/attributes.html +153 -0
- package/dist/demo/external-templates-sb-6.html +42 -0
- package/dist/demo/external-templates-sb-7.html +42 -0
- package/dist/demo/html-template.html +5 -4
- package/dist/demo/module-url-sb-2.html +46 -0
- package/dist/demo/module-url-sb-4.html +48 -0
- package/dist/demo/module-url-sb-5.html +53 -0
- package/dist/demo/s.xml +3859 -7
- package/dist/demo/s.xslt +13 -48
- package/dist/demo/s1.xml +3706 -0
- package/dist/demo/ss.html +13 -4
- package/dist/http-request-DSaowcG1.cjs +1 -0
- package/dist/{http-request-BOvP4KTl.js → http-request-DTCzZ1gc.js} +15 -9
- package/dist/mockServiceWorker.js +31 -8
- package/package.json +25 -26
- package/public/demo/a.html +10 -3
- package/public/demo/a.svg +26 -26
- package/public/demo/attributes.html +153 -0
- package/public/demo/external-templates-sb-6.html +42 -0
- package/public/demo/external-templates-sb-7.html +42 -0
- package/public/demo/html-template.html +5 -4
- package/public/demo/module-url-sb-2.html +46 -0
- package/public/demo/module-url-sb-4.html +48 -0
- package/public/demo/module-url-sb-5.html +53 -0
- package/public/demo/s.xml +3859 -7
- package/public/demo/s.xslt +13 -48
- package/public/demo/s1.xml +3706 -0
- package/public/demo/ss.html +13 -4
- package/public/mockServiceWorker.js +31 -8
- package/src/custom-element/custom-element.d.ts +4 -0
- package/src/custom-element/custom-element.js +119 -50
- package/src/custom-element/demo/a.html +10 -3
- package/src/custom-element/demo/a.svg +26 -26
- package/src/custom-element/demo/attributes.html +153 -0
- package/src/custom-element/demo/html-template.html +5 -4
- package/src/custom-element/demo/s.xml +3859 -7
- package/src/custom-element/demo/s.xslt +13 -48
- package/src/custom-element/demo/s1.xml +3706 -0
- package/src/custom-element/demo/ss.html +13 -4
- package/src/custom-element/http-request.js +7 -0
- package/src/custom-element/ide/web-types-dce.json +1 -1
- package/src/custom-element/ide/web-types-xsl.json +1 -1
- package/src/custom-element/index.html +1 -1
- package/src/material/angular.css +987 -987
- package/src/material/components/action.html +262 -0
- package/src/material/components/autocomplete.html +167 -239
- package/src/material/components/badge.html +239 -0
- package/src/material/components/dropdown.html +7 -13
- package/src/material/components/icon-link.html +160 -160
- package/src/material/components/icon.html +252 -0
- package/src/material/components/input.html +569 -362
- package/src/material/components/menu.html +235 -234
- package/src/material/components.html +157 -121
- package/src/material/demo.css +36 -36
- package/src/material/index.html +109 -110
- package/src/material/material.css +356 -356
- package/src/material/theme/Base-Principles.md +339 -0
- package/src/material/theme/README.md +298 -18
- package/src/material/theme/UI Domain Model in web applications.svg +1 -0
- package/src/material/theme/User Semantic Theme tokens.svg +1 -0
- package/src/material/theme/action-pending-poc.html +62 -0
- package/src/material/theme/actions-color.html +141 -0
- package/src/material/theme/colors-light.html +631 -0
- package/src/material/theme/colors-native.html +51 -0
- package/src/material/theme/colors-poc.html +66 -0
- package/src/material/theme/colors.html +297 -0
- package/src/material/theme/colors.js +44 -0
- package/src/material/theme/consumer-theme.css +745 -0
- package/src/material/theme/semantic.css +132 -113
- package/src/material/theme/style-bug.html +123 -0
- package/src/material/theme/theme-data.css +43 -0
- package/src/material/theme/theme-data.xhtml +2926 -0
- package/src/material/theme/todo.md +274 -0
- package/src/material/theme/tokens/action-colors.png +0 -0
- package/src/material/theme/tokens/cem-article-illustration-4x1-letterbox-2000x500.png +0 -0
- package/src/material/theme/tokens/cem-breakpoints.md +519 -0
- package/src/material/theme/tokens/cem-colors.md +715 -0
- package/src/material/theme/tokens/cem-consumerflow-typography-matrix.svg +198 -0
- package/src/material/theme/tokens/cem-coupling.md +372 -0
- package/src/material/theme/tokens/cem-data-vs-reading-numerals.svg +164 -0
- package/src/material/theme/tokens/cem-dimension.md +625 -0
- package/src/material/theme/tokens/cem-layering.md +562 -0
- package/src/material/theme/tokens/cem-m3-parity.md +343 -0
- package/src/material/theme/tokens/cem-responsive.md +238 -0
- package/src/material/theme/tokens/cem-shape.md +691 -0
- package/src/material/theme/tokens/cem-stroke-density-illustration-4to1-v3.svg +102 -0
- package/src/material/theme/tokens/cem-stroke.md +480 -0
- package/src/material/theme/tokens/cem-timing.md +198 -0
- package/src/material/theme/tokens/cem-typography-model-stack.svg +64 -0
- package/src/material/theme/tokens/cem-voice-fonts-typography.md +718 -0
- package/src/material/theme/tokens/cem-voice-ladder.svg +91 -0
- package/src/material/theme/tokens/chips.png +0 -0
- package/src/material/theme/tokens/columns-page.png +0 -0
- package/src/material/theme/tokens/initials.png +0 -0
- package/src/material/theme/tokens/nav-buttons.png +0 -0
- package/src/material/theme/tokens/script.png +0 -0
- package/src/material/theme/tokens/sufler.png +0 -0
- package/src/material/theme/tokens/typography-icons.png +0 -0
- package/src/mocks/versions.mock.ts +1 -1
- package/src/stories/__screenshots__/attributes.test.stories.ts +1 -0
- package/src/stories/__screenshots__/dom-merge.test.stories.ts/dom-merge-dom-merge-OrderPreservingOn2ndTransform-1.png +0 -0
- package/src/stories/__screenshots__/external-template.test.stories.ts +1 -0
- package/src/stories/__screenshots__/module-url.test.stories.ts +1 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-definition-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-runtime-change-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-cloneAs-el-newTag--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---3.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mix-to-from--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-definition-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-runtime-change-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-cloneAs-el-newTag--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-headers-and-response-status-and-headers-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-delayed--5-seconds-response-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-error-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---3.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mix-to-from--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-url-and-slice-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-url-change-1.png +0 -0
- package/src/stories/__screenshots__/xslt-conditionals.test.stories.ts/xslt-conditionals-xslt-conditionals-MultipleIfOrderingWorkaround-1.png +0 -0
- package/src/stories/attributes.test.stories.ts +83 -17
- package/src/stories/dom-merge.test.stories.ts +25 -1
- package/src/stories/external-template.test.stories.ts +16 -14
- package/src/stories/frame.canvas.ts +31 -0
- package/src/stories/module-url.test.stories.ts +29 -61
- package/src/stories/xslt-conditionals.test.stories.ts +492 -0
- package/src/stories/xslt-if.test.stories.ts +89 -0
- package/storybook-static/assets/Color-F6OSRLHC-CzTOSlqB.js +1 -0
- package/storybook-static/assets/Configure-7GqRsAoJ.js +165 -0
- package/storybook-static/assets/DocsRenderer-CFRXHY34-Duc5rSIm.js +2 -0
- package/storybook-static/assets/{attributes.test.stories-D1X6EBrd.js → attributes.test.stories-DYuxF8h1.js} +109 -38
- package/storybook-static/assets/{css.test.stories-Cp_g2hE1.js → css.test.stories-LOmvINyb.js} +1 -1
- package/storybook-static/assets/custom-element-Bwx7otrT.js +97 -0
- package/storybook-static/assets/{dom-merge.test.stories-hbpdCka0.js → dom-merge.test.stories-CEKhWjaS.js} +47 -6
- package/storybook-static/assets/entry-preview-BNCt9WBs.js +26 -0
- package/storybook-static/assets/entry-preview-docs-CbF8-81D.js +2 -0
- package/storybook-static/assets/{external-template.test.stories-BK89h6sk.js → external-template.test.stories-jHu0wsJ-.js} +38 -40
- package/storybook-static/assets/{form.test.stories-BfoLe_rw.js → form.test.stories-CUyUnmwP.js} +1 -1
- package/storybook-static/assets/frame.canvas-E5n9h6j1.js +1 -0
- package/storybook-static/assets/{handlers-yVPwH_Nz.js → handlers-F7GUfMqr.js} +17 -14
- package/storybook-static/assets/http-request-BWeEEBkP.js +1 -0
- package/storybook-static/assets/{http-request.stories-CBFJS2Ws.js → http-request.stories-wyX5-QOv.js} +1 -1
- package/storybook-static/assets/iframe-BS_DPWl0.js +199 -0
- package/storybook-static/assets/index-CGuyH0k-.js +240 -0
- package/storybook-static/assets/index-DB7LLObI.js +1 -0
- package/storybook-static/assets/index-DO1nmyvI.js +11 -0
- package/storybook-static/assets/index-V1EGs-wm.js +621 -0
- package/storybook-static/assets/{local-storage.test.stories-C0Yzy6Am.js → local-storage.test.stories-BxOhsf1k.js} +1 -1
- package/storybook-static/assets/{location-element.test.stories-DNFrEu5A.js → location-element.test.stories-DqhvvUoa.js} +1 -1
- package/storybook-static/assets/module-url.test.stories-C1gG9G7Y.js +142 -0
- package/storybook-static/assets/preview-1xJJ3sKE.js +1 -0
- package/storybook-static/assets/preview-Bn8igYMp.js +1 -0
- package/storybook-static/assets/preview-CTOeX_lO.js +1 -0
- package/storybook-static/assets/preview-Cwy1XFu2.js +2 -0
- package/storybook-static/assets/preview-D6sehqkw.js +50 -0
- package/storybook-static/assets/preview-DfTudP20.js +1 -0
- package/storybook-static/assets/{set-url.test.stories-BBfLxv2u.js → set-url.test.stories-BKQNdknJ.js} +1 -1
- package/storybook-static/assets/{slice-events.test.stories-HcXF8XQI.js → slice-events.test.stories-ChqULCeA.js} +1 -1
- package/storybook-static/assets/{slots.test.stories-i6mnIFM2.js → slots.test.stories-BlyLoCRe.js} +1 -1
- package/storybook-static/assets/{version-select.test.stories-BsUFH6Va.js → version-select.test.stories-CPGSh1tR.js} +1 -1
- package/storybook-static/assets/xslt-conditionals.test.stories-YC6QPqWZ.js +633 -0
- package/storybook-static/assets/xslt-if.test.stories-BRSWy2-x.js +71 -0
- package/storybook-static/demo/a.html +10 -3
- package/storybook-static/demo/a.svg +26 -26
- package/storybook-static/demo/attributes.html +153 -0
- package/storybook-static/demo/external-templates-sb-6.html +42 -0
- package/storybook-static/demo/external-templates-sb-7.html +42 -0
- package/storybook-static/demo/html-template.html +5 -4
- package/storybook-static/demo/module-url-sb-2.html +46 -0
- package/storybook-static/demo/module-url-sb-4.html +48 -0
- package/storybook-static/demo/module-url-sb-5.html +53 -0
- package/storybook-static/demo/s.xml +3859 -7
- package/storybook-static/demo/s.xslt +13 -48
- package/storybook-static/demo/s1.xml +3706 -0
- package/storybook-static/demo/ss.html +13 -4
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/index.html +6 -10
- package/storybook-static/index.json +1 -1
- package/storybook-static/mockServiceWorker.js +31 -8
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +394 -0
- package/storybook-static/sb-addons/essentials-docs-3/manager-bundle.js +233 -0
- package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/interactions-9/manager-bundle.js +58 -58
- package/storybook-static/sb-manager/globals-module-info.js +9 -0
- package/storybook-static/sb-manager/globals-runtime.js +10719 -10473
- package/storybook-static/sb-manager/runtime.js +4944 -6321
- package/coverage/src/stories/attributes.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/attributes.test.stories.ts.html +0 -814
- package/coverage/src/stories/css.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/css.test.stories.ts.html +0 -460
- package/coverage/src/stories/dom-merge.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/dom-merge.test.stories.ts.html +0 -706
- package/coverage/src/stories/external-template.test.stories.ts.html +0 -865
- package/coverage/src/stories/form.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/form.test.stories.ts.html +0 -661
- package/coverage/src/stories/local-storage.test.stories.ts.html +0 -1315
- package/coverage/src/stories/location-element.test.stories.ts.html +0 -523
- package/coverage/src/stories/module-url.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/module-url.test.stories.ts.html +0 -640
- package/coverage/src/stories/set-url.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/set-url.test.stories.ts.html +0 -433
- package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/slice-events.test.stories.ts.html +0 -952
- package/coverage/src/stories/slots.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/slots.test.stories.ts.html +0 -742
- package/coverage/src/stories/version-select.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/version-select.test.stories.ts.html +0 -397
- package/dist/custom-element-D2wf_rqP.js +0 -576
- package/dist/custom-element-Dtzhbjkc.cjs +0 -97
- package/dist/http-request-DPrY7mGh.cjs +0 -1
- package/storybook-static/assets/Color-F6OSRLHC-BU3iy8jH.js +0 -1
- package/storybook-static/assets/Configure-DN6ifayP.js +0 -165
- package/storybook-static/assets/DocsRenderer-CFRXHY34-BaVEufDj.js +0 -2
- package/storybook-static/assets/custom-element-uuAtIYWS.js +0 -97
- package/storybook-static/assets/entry-preview-DHVXbf3x.js +0 -26
- package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +0 -2
- package/storybook-static/assets/http-request-DNq59pnj.js +0 -1
- package/storybook-static/assets/iframe-CJEL_4Nu.js +0 -2
- package/storybook-static/assets/index-BcZLpTeD.js +0 -8
- package/storybook-static/assets/index-CxRwF5Or.js +0 -234
- package/storybook-static/assets/index-D-8MO0q_.js +0 -1
- package/storybook-static/assets/index-D5fBh-7N.js +0 -1
- package/storybook-static/assets/index-DM-KBPdl.js +0 -1
- package/storybook-static/assets/index-RSFf30w1.js +0 -1
- package/storybook-static/assets/index-SnjB5uV8.js +0 -769
- package/storybook-static/assets/module-url.test.stories-CXibF5Ta.js +0 -208
- package/storybook-static/assets/preview-BhhEZcNS.js +0 -1
- package/storybook-static/assets/preview-Bnd0XhaF.js +0 -52
- package/storybook-static/assets/preview-CNKoaWES.js +0 -1
- package/storybook-static/assets/preview-DAeyCMnM.js +0 -1
- package/storybook-static/assets/preview-DHPc-V4N.js +0 -1
- package/storybook-static/assets/preview-DJMlNTk8.js +0 -2
- package/storybook-static/assets/preview-DYzi3Z2p.js +0 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +0 -333
- package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +0 -40
- package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +0 -391
- package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
- package/storybook-static/sb-preview/globals.js +0 -33
- package/storybook-static/sb-preview/runtime.js +0 -7174
- package/test-runner-jest.config.js +0 -15
- /package/storybook-static/sb-addons/{essentials-actions-3 → essentials-actions-2}/manager-bundle.js.LEGAL.txt +0 -0
- /package/storybook-static/sb-addons/{essentials-controls-2 → essentials-controls-1}/manager-bundle.js.LEGAL.txt +0 -0
- /package/storybook-static/sb-addons/{links-1 → essentials-docs-3}/manager-bundle.js.LEGAL.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as o}from"./index-V1EGs-wm.js";import"./iframe-BS_DPWl0.js";import"./index-DO1nmyvI.js";import"./index-DrFu-skq.js";const e={},c=o.createContext(e);function m(t){const n=o.useContext(c);return o.useMemo(function(){return typeof t=="function"?t(n):{...n,...t}},[n,t])}function s(t){let n;return t.disableParentContext?n=typeof t.components=="function"?t.components(e):t.components||e:n=m(t.components),o.createElement(c.Provider,{value:n},t.children)}export{s as MDXProvider,m as useMDXComponents};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var B={exports:{}},ln=B.exports,Ve;function pn(){return Ve||(Ve=1,function(r,o){(function(s,p){p(o)})(ln,function(s){function p(e){return e.text!==void 0&&e.text!==""?`'${e.type}' with value '${e.text}'`:`'${e.type}'`}class d extends Error{constructor(t){super(`No parslet found for token: ${p(t)}`),this.token=t,Object.setPrototypeOf(this,d.prototype)}getToken(){return this.token}}class u extends Error{constructor(t){super(`The parsing ended early. The next token was: ${p(t)}`),this.token=t,Object.setPrototypeOf(this,u.prototype)}getToken(){return this.token}}class m extends Error{constructor(t,n){let a=`Unexpected type: '${t.type}'.`;n!==void 0&&(a+=` Message: ${n}`),super(a),Object.setPrototypeOf(this,m.prototype)}}function T(e){return t=>t.startsWith(e)?{type:e,text:e}:null}function J(e){let t=0,n;const a=e[0];let i=!1;if(a!=="'"&&a!=='"')return null;for(;t<e.length;){if(t++,n=e[t],!i&&n===a){t++;break}i=!i&&n==="\\"}if(n!==a)throw new Error("Unterminated String");return e.slice(0,t)}const O=/[$_\p{ID_Start}]|\\u\p{Hex_Digit}{4}|\\u\{0*(?:\p{Hex_Digit}{1,5}|10\p{Hex_Digit}{4})\}/u,b=/[$\-\p{ID_Continue}\u200C\u200D]|\\u\p{Hex_Digit}{4}|\\u\{0*(?:\p{Hex_Digit}{1,5}|10\p{Hex_Digit}{4})\}/u;function te(e){let t=e[0];if(!O.test(t))return null;let n=1;do{if(t=e[n],!b.test(t))break;n++}while(n<e.length);return e.slice(0,n)}const $=/^(NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity))/;function C(e){var t,n;return(n=(t=$.exec(e))===null||t===void 0?void 0:t[0])!==null&&n!==void 0?n:null}const Y=e=>{const t=te(e);return t==null?null:{type:"Identifier",text:t}};function N(e){return t=>{if(!t.startsWith(e))return null;const n=t[e.length];return n!==void 0&&b.test(n)?null:{type:e,text:e}}}const ne=e=>{const t=J(e);return t==null?null:{type:"StringValue",text:t}},wt=e=>e.length>0?null:{type:"EOF",text:""},Pt=e=>{const t=C(e);return t===null?null:{type:"Number",text:t}},Nt=[wt,T("=>"),T("("),T(")"),T("{"),T("}"),T("["),T("]"),T("|"),T("&"),T("<"),T(">"),T(","),T(";"),T("*"),T("?"),T("!"),T("="),T(":"),T("..."),T("."),T("#"),T("~"),T("/"),T("@"),N("undefined"),N("null"),N("function"),N("this"),N("new"),N("module"),N("event"),N("extends"),N("external"),N("infer"),N("typeof"),N("keyof"),N("readonly"),N("import"),N("is"),N("in"),N("asserts"),Pt,Y,ne],Et=/^\s*\n\s*/;class K{static create(t){const n=this.read(t);t=n.text;const a=this.read(t);return t=a.text,new K(t,void 0,n.token,a.token)}constructor(t,n,a,i){this.text="",this.text=t,this.previous=n,this.current=a,this.next=i}static read(t,n=!1){n=n||Et.test(t),t=t.trim();for(const a of Nt){const i=a(t);if(i!==null){const l=Object.assign(Object.assign({},i),{startOfLine:n});return t=t.slice(l.text.length),{text:t,token:l}}}throw new Error("Unexpected Token "+t)}advance(){const t=K.read(this.text);return new K(t.text,this.current,this.next,t.token)}}function P(e){if(e===void 0)throw new Error("Unexpected undefined");if(e.type==="JsdocTypeKeyValue"||e.type==="JsdocTypeParameterList"||e.type==="JsdocTypeProperty"||e.type==="JsdocTypeReadonlyProperty"||e.type==="JsdocTypeObjectField"||e.type==="JsdocTypeJsdocObjectField"||e.type==="JsdocTypeIndexSignature"||e.type==="JsdocTypeMappedType"||e.type==="JsdocTypeTypeParameter")throw new m(e);return e}function re(e){return e.type==="JsdocTypeKeyValue"?G(e):P(e)}function bt(e){return e.type==="JsdocTypeName"?e:G(e)}function G(e){if(e.type!=="JsdocTypeKeyValue")throw new m(e);return e}function xt(e){var t;if(e.type==="JsdocTypeVariadic"){if(((t=e.element)===null||t===void 0?void 0:t.type)==="JsdocTypeName")return e;throw new m(e)}if(e.type!=="JsdocTypeNumber"&&e.type!=="JsdocTypeName")throw new m(e);return e}function kt(e){if(e.type==="JsdocTypeTuple"||e.type==="JsdocTypeGeneric"&&e.meta.brackets==="square")return e;throw new m(e)}function oe(e){return e.type==="JsdocTypeIndexSignature"||e.type==="JsdocTypeMappedType"}var y;(function(e){e[e.ALL=0]="ALL",e[e.PARAMETER_LIST=1]="PARAMETER_LIST",e[e.OBJECT=2]="OBJECT",e[e.KEY_VALUE=3]="KEY_VALUE",e[e.INDEX_BRACKETS=4]="INDEX_BRACKETS",e[e.UNION=5]="UNION",e[e.INTERSECTION=6]="INTERSECTION",e[e.PREFIX=7]="PREFIX",e[e.INFIX=8]="INFIX",e[e.TUPLE=9]="TUPLE",e[e.SYMBOL=10]="SYMBOL",e[e.OPTIONAL=11]="OPTIONAL",e[e.NULLABLE=12]="NULLABLE",e[e.KEY_OF_TYPE_OF=13]="KEY_OF_TYPE_OF",e[e.FUNCTION=14]="FUNCTION",e[e.ARROW=15]="ARROW",e[e.ARRAY_BRACKETS=16]="ARRAY_BRACKETS",e[e.GENERIC=17]="GENERIC",e[e.NAME_PATH=18]="NAME_PATH",e[e.PARENTHESIS=19]="PARENTHESIS",e[e.SPECIAL_TYPES=20]="SPECIAL_TYPES"})(y||(y={}));class U{constructor(t,n,a){this.grammar=t,typeof n=="string"?this._lexer=K.create(n):this._lexer=n,this.baseParser=a}get lexer(){return this._lexer}parse(){const t=this.parseType(y.ALL);if(this.lexer.current.type!=="EOF")throw new u(this.lexer.current);return t}parseType(t){return P(this.parseIntermediateType(t))}parseIntermediateType(t){const n=this.tryParslets(null,t);if(n===null)throw new d(this.lexer.current);return this.parseInfixIntermediateType(n,t)}parseInfixIntermediateType(t,n){let a=this.tryParslets(t,n);for(;a!==null;)t=a,a=this.tryParslets(t,n);return t}tryParslets(t,n){for(const a of this.grammar){const i=a(this,n,t);if(i!==null)return i}return null}consume(t){return Array.isArray(t)||(t=[t]),t.includes(this.lexer.current.type)?(this._lexer=this.lexer.advance(),!0):!1}acceptLexerState(t){this._lexer=t.lexer}}function be(e){return e==="}"||e==="EOF"||e==="|"||e===","||e===")"||e===">"}const ae=(e,t,n)=>{const a=e.lexer.current.type,i=e.lexer.next.type;return n==null&&a==="?"&&!be(i)||n!=null&&a==="?"?(e.consume("?"),n==null?{type:"JsdocTypeNullable",element:e.parseType(y.NULLABLE),meta:{position:"prefix"}}:{type:"JsdocTypeNullable",element:P(n),meta:{position:"suffix"}}):null};function h(e){const t=(n,a,i)=>{const l=n.lexer.current.type,f=n.lexer.next.type;if(i===null){if("parsePrefix"in e&&e.accept(l,f))return e.parsePrefix(n)}else if("parseInfix"in e&&e.precedence>a&&e.accept(l,f))return e.parseInfix(n,i);return null};return Object.defineProperty(t,"name",{value:e.name}),t}const X=h({name:"optionalParslet",accept:e=>e==="=",precedence:y.OPTIONAL,parsePrefix:e=>(e.consume("="),{type:"JsdocTypeOptional",element:e.parseType(y.OPTIONAL),meta:{position:"prefix"}}),parseInfix:(e,t)=>(e.consume("="),{type:"JsdocTypeOptional",element:P(t),meta:{position:"suffix"}})}),W=h({name:"numberParslet",accept:e=>e==="Number",parsePrefix:e=>{const t=parseFloat(e.lexer.current.text);return e.consume("Number"),{type:"JsdocTypeNumber",value:t}}}),Ot=h({name:"parenthesisParslet",accept:e=>e==="(",parsePrefix:e=>{if(e.consume("("),e.consume(")"))return{type:"JsdocTypeParameterList",elements:[]};const t=e.parseIntermediateType(y.ALL);if(!e.consume(")"))throw new Error("Unterminated parenthesis");return t.type==="JsdocTypeParameterList"?t:t.type==="JsdocTypeKeyValue"?{type:"JsdocTypeParameterList",elements:[t]}:{type:"JsdocTypeParenthesis",element:P(t)}}}),St=h({name:"specialTypesParslet",accept:(e,t)=>e==="?"&&be(t)||e==="null"||e==="undefined"||e==="*",parsePrefix:e=>{if(e.consume("null"))return{type:"JsdocTypeNull"};if(e.consume("undefined"))return{type:"JsdocTypeUndefined"};if(e.consume("*"))return{type:"JsdocTypeAny"};if(e.consume("?"))return{type:"JsdocTypeUnknown"};throw new Error("Unacceptable token: "+e.lexer.current.text)}}),It=h({name:"notNullableParslet",accept:e=>e==="!",precedence:y.NULLABLE,parsePrefix:e=>(e.consume("!"),{type:"JsdocTypeNotNullable",element:e.parseType(y.NULLABLE),meta:{position:"prefix"}}),parseInfix:(e,t)=>(e.consume("!"),{type:"JsdocTypeNotNullable",element:P(t),meta:{position:"suffix"}})});function At({allowTrailingComma:e}){return h({name:"parameterListParslet",accept:t=>t===",",precedence:y.PARAMETER_LIST,parseInfix:(t,n)=>{const a=[re(n)];t.consume(",");do try{const i=t.parseIntermediateType(y.PARAMETER_LIST);a.push(re(i))}catch(i){if(i instanceof d)break;throw i}while(t.consume(","));if(a.length>0&&a.slice(0,-1).some(i=>i.type==="JsdocTypeVariadic"))throw new Error("Only the last parameter may be a rest parameter");return{type:"JsdocTypeParameterList",elements:a}}})}const vt=h({name:"genericParslet",accept:(e,t)=>e==="<"||e==="."&&t==="<",precedence:y.GENERIC,parseInfix:(e,t)=>{const n=e.consume(".");e.consume("<");const a=[];let i=!1;if(e.consume("infer")){i=!0;const l=e.parseIntermediateType(y.SYMBOL);if(l.type!=="JsdocTypeName")throw new m(l,"A typescript asserts always has to have a name on the left side.");a.push(l)}else do a.push(e.parseType(y.PARAMETER_LIST));while(e.consume(","));if(!e.consume(">"))throw new Error("Unterminated generic parameter list");return Object.assign(Object.assign({type:"JsdocTypeGeneric",left:P(t),elements:a},i?{infer:!0}:{}),{meta:{brackets:"angle",dot:n}})}}),Rt=h({name:"unionParslet",accept:e=>e==="|",precedence:y.UNION,parseInfix:(e,t)=>{e.consume("|");const n=[];do n.push(e.parseType(y.UNION));while(e.consume("|"));return{type:"JsdocTypeUnion",elements:[P(t),...n]}}}),se=[ae,X,W,Ot,St,It,At({allowTrailingComma:!0}),vt,Rt,X];function Q({allowSquareBracketsOnAnyType:e,allowJsdocNamePaths:t,pathGrammar:n}){return function(i,l,f){if(f==null||l>=y.NAME_PATH)return null;const g=i.lexer.current.type,k=i.lexer.next.type;if(!(g==="."&&k!=="<"||g==="["&&(e||f.type==="JsdocTypeName")||t&&(g==="~"||g==="#")))return null;let S,Z=!1;i.consume(".")?S="property":i.consume("[")?(S="property-brackets",Z=!0):i.consume("~")?S="inner":(i.consume("#"),S="instance");const Le=n!==null?new U(n,i.lexer,i):i,I=Le.parseIntermediateType(y.NAME_PATH);i.acceptLexerState(Le);let q;switch(I.type){case"JsdocTypeName":q={type:"JsdocTypeProperty",value:I.value,meta:{quote:void 0}};break;case"JsdocTypeNumber":q={type:"JsdocTypeProperty",value:I.value.toString(10),meta:{quote:void 0}};break;case"JsdocTypeStringValue":q={type:"JsdocTypeProperty",value:I.value,meta:{quote:I.meta.quote}};break;case"JsdocTypeSpecialNamePath":if(I.specialType==="event")q=I;else throw new m(I,"Type 'JsdocTypeSpecialNamePath' is only allowed with specialType 'event'");break;default:throw new m(I,"Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'")}if(Z&&!i.consume("]")){const Fe=i.lexer.current;throw new Error(`Unterminated square brackets. Next token is '${Fe.type}' with text '${Fe.text}'`)}return{type:"JsdocTypeNamePath",left:P(f),right:q,pathType:S}}}function A({allowedAdditionalTokens:e}){return h({name:"nameParslet",accept:t=>t==="Identifier"||t==="this"||t==="new"||e.includes(t),parsePrefix:t=>{const{type:n,text:a}=t.lexer.current;return t.consume(n),{type:"JsdocTypeName",value:a}}})}const D=h({name:"stringValueParslet",accept:e=>e==="StringValue",parsePrefix:e=>{const t=e.lexer.current.text;return e.consume("StringValue"),{type:"JsdocTypeStringValue",value:t.slice(1,-1),meta:{quote:t[0]==="'"?"single":"double"}}}});function H({pathGrammar:e,allowedTypes:t}){return h({name:"specialNamePathParslet",accept:n=>t.includes(n),parsePrefix:n=>{const a=n.lexer.current.type;if(n.consume(a),!n.consume(":"))return{type:"JsdocTypeName",value:a};let i,l=n.lexer.current;if(n.consume("StringValue"))i={type:"JsdocTypeSpecialNamePath",value:l.text.slice(1,-1),specialType:a,meta:{quote:l.text[0]==="'"?"single":"double"}};else{let k="";const x=["Identifier","@","/"];for(;x.some(S=>n.consume(S));)k+=l.text,l=n.lexer.current;i={type:"JsdocTypeSpecialNamePath",value:k,specialType:a,meta:{quote:void 0}}}const f=new U(e,n.lexer,n),g=f.parseInfixIntermediateType(i,y.ALL);return n.acceptLexerState(f),P(g)}})}const xe=[A({allowedAdditionalTokens:["external","module"]}),D,W,Q({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:null})],j=[...xe,H({allowedTypes:["event"],pathGrammar:xe})];function ie(e){let t;if(e.type==="JsdocTypeParameterList")t=e.elements;else if(e.type==="JsdocTypeParenthesis")t=[e.element];else throw new m(e);return t.map(n=>re(n))}function _t(e){const t=ie(e);if(t.some(n=>n.type==="JsdocTypeKeyValue"))throw new Error("No parameter should be named");return t}function ce({allowNamedParameters:e,allowNoReturnType:t,allowWithoutParenthesis:n,allowNewAsFunctionKeyword:a}){return h({name:"functionParslet",accept:(i,l)=>i==="function"||a&&i==="new"&&l==="(",parsePrefix:i=>{const l=i.consume("new");i.consume("function");const f=i.lexer.current.type==="(";if(!f){if(!n)throw new Error("function is missing parameter list");return{type:"JsdocTypeName",value:"function"}}let g={type:"JsdocTypeFunction",parameters:[],arrow:!1,constructor:l,parenthesis:f};const k=i.parseIntermediateType(y.FUNCTION);if(e===void 0)g.parameters=_t(k);else{if(l&&k.type==="JsdocTypeFunction"&&k.arrow)return g=k,g.constructor=!0,g;g.parameters=ie(k);for(const x of g.parameters)if(x.type==="JsdocTypeKeyValue"&&!e.includes(x.key))throw new Error(`only allowed named parameters are ${e.join(", ")} but got ${x.type}`)}if(i.consume(":"))g.returnType=i.parseType(y.PREFIX);else if(!t)throw new Error("function is missing return type");return g}})}function le({allowPostfix:e,allowEnclosingBrackets:t}){return h({name:"variadicParslet",accept:n=>n==="...",precedence:y.PREFIX,parsePrefix:n=>{n.consume("...");const a=t&&n.consume("[");try{const i=n.parseType(y.PREFIX);if(a&&!n.consume("]"))throw new Error("Unterminated variadic type. Missing ']'");return{type:"JsdocTypeVariadic",element:P(i),meta:{position:"prefix",squareBrackets:a}}}catch(i){if(i instanceof d){if(a)throw new Error("Empty square brackets for variadic are not allowed.");return{type:"JsdocTypeVariadic",meta:{position:void 0,squareBrackets:!1}}}else throw i}},parseInfix:e?(n,a)=>(n.consume("..."),{type:"JsdocTypeVariadic",element:P(a),meta:{position:"suffix",squareBrackets:!1}}):void 0})}const ke=h({name:"symbolParslet",accept:e=>e==="(",precedence:y.SYMBOL,parseInfix:(e,t)=>{if(t.type!=="JsdocTypeName")throw new Error("Symbol expects a name on the left side. (Reacting on '(')");e.consume("(");const n={type:"JsdocTypeSymbol",value:t.value};if(!e.consume(")")){const a=e.parseIntermediateType(y.SYMBOL);if(n.element=xt(a),!e.consume(")"))throw new Error("Symbol does not end after value")}return n}}),Oe=h({name:"arrayBracketsParslet",precedence:y.ARRAY_BRACKETS,accept:(e,t)=>e==="["&&t==="]",parseInfix:(e,t)=>(e.consume("["),e.consume("]"),{type:"JsdocTypeGeneric",left:{type:"JsdocTypeName",value:"Array"},elements:[P(t)],meta:{brackets:"square",dot:!1}})});function pe({objectFieldGrammar:e,allowKeyTypes:t}){return h({name:"objectParslet",accept:n=>n==="{",parsePrefix:n=>{n.consume("{");const a={type:"JsdocTypeObject",meta:{separator:"comma"},elements:[]};if(!n.consume("}")){let i;const l=new U(e,n.lexer,n);for(;;){l.acceptLexerState(n);let f=l.parseIntermediateType(y.OBJECT);n.acceptLexerState(l),f===void 0&&t&&(f=n.parseIntermediateType(y.OBJECT));let g=!1;if(f.type==="JsdocTypeNullable"&&(g=!0,f=f.element),f.type==="JsdocTypeNumber"||f.type==="JsdocTypeName"||f.type==="JsdocTypeStringValue"){let x;f.type==="JsdocTypeStringValue"&&(x=f.meta.quote),a.elements.push({type:"JsdocTypeObjectField",key:f.value.toString(),right:void 0,optional:g,readonly:!1,meta:{quote:x}})}else if(f.type==="JsdocTypeObjectField"||f.type==="JsdocTypeJsdocObjectField")a.elements.push(f);else throw new m(f);if(n.lexer.current.startOfLine)i="linebreak",n.consume(",")||n.consume(";");else if(n.consume(","))i="comma";else if(n.consume(";"))i="semicolon";else break;if(n.lexer.current.type==="}")break}if(a.meta.separator=i??"comma",i==="linebreak"&&(a.meta.propertyIndent=" "),!n.consume("}"))throw new Error("Unterminated record type. Missing '}'")}return a}})}function ue({allowSquaredProperties:e,allowKeyTypes:t,allowReadonly:n,allowOptional:a}){return h({name:"objectFieldParslet",precedence:y.KEY_VALUE,accept:i=>i===":",parseInfix:(i,l)=>{var f;let g=!1,k=!1;a&&l.type==="JsdocTypeNullable"&&(g=!0,l=l.element),n&&l.type==="JsdocTypeReadonlyProperty"&&(k=!0,l=l.element);const x=(f=i.baseParser)!==null&&f!==void 0?f:i;if(x.acceptLexerState(i),l.type==="JsdocTypeNumber"||l.type==="JsdocTypeName"||l.type==="JsdocTypeStringValue"||oe(l)){if(oe(l)&&!e)throw new m(l);x.consume(":");let S;l.type==="JsdocTypeStringValue"&&(S=l.meta.quote);const Z=x.parseType(y.KEY_VALUE);return i.acceptLexerState(x),{type:"JsdocTypeObjectField",key:oe(l)?l:l.value.toString(),right:Z,optional:g,readonly:k,meta:{quote:S}}}else{if(!t)throw new m(l);x.consume(":");const S=x.parseType(y.KEY_VALUE);return i.acceptLexerState(x),{type:"JsdocTypeJsdocObjectField",left:P(l),right:S}}}})}function ye({allowOptional:e,allowVariadic:t}){return h({name:"keyValueParslet",precedence:y.KEY_VALUE,accept:n=>n===":",parseInfix:(n,a)=>{let i=!1,l=!1;if(e&&a.type==="JsdocTypeNullable"&&(i=!0,a=a.element),t&&a.type==="JsdocTypeVariadic"&&a.element!==void 0&&(l=!0,a=a.element),a.type!=="JsdocTypeName")throw new m(a);n.consume(":");const f=n.parseType(y.KEY_VALUE);return{type:"JsdocTypeKeyValue",key:a.value,right:f,optional:i,variadic:l}}})}const Se=[...se,ce({allowWithoutParenthesis:!0,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),D,H({allowedTypes:["module","external","event"],pathGrammar:j}),le({allowEnclosingBrackets:!0,allowPostfix:!0}),A({allowedAdditionalTokens:["keyof"]}),ke,Oe,Q({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:j})],Lt=[...Se,pe({objectFieldGrammar:[A({allowedAdditionalTokens:["typeof","module","in"]}),ue({allowSquaredProperties:!1,allowKeyTypes:!0,allowOptional:!1,allowReadonly:!1}),...Se],allowKeyTypes:!0}),ye({allowOptional:!0,allowVariadic:!0})],Ie=h({name:"typeOfParslet",accept:e=>e==="typeof",parsePrefix:e=>(e.consume("typeof"),{type:"JsdocTypeTypeof",element:e.parseType(y.KEY_OF_TYPE_OF)})}),Ft=[A({allowedAdditionalTokens:["typeof","module","keyof","event","external","in"]}),ae,X,D,W,ue({allowSquaredProperties:!1,allowKeyTypes:!1,allowOptional:!1,allowReadonly:!1})],Vt=[...se,pe({allowKeyTypes:!1,objectFieldGrammar:Ft}),A({allowedAdditionalTokens:["event","external","in"]}),Ie,ce({allowWithoutParenthesis:!1,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),le({allowEnclosingBrackets:!1,allowPostfix:!1}),A({allowedAdditionalTokens:["keyof"]}),H({allowedTypes:["module"],pathGrammar:j}),Q({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:j}),ye({allowOptional:!1,allowVariadic:!1}),ke],Ut=h({name:"assertsParslet",accept:e=>e==="asserts",parsePrefix:e=>{e.consume("asserts");const t=e.parseIntermediateType(y.SYMBOL);if(t.type!=="JsdocTypeName")throw new m(t,"A typescript asserts always has to have a name on the left side.");return e.consume("is")?{type:"JsdocTypeAsserts",left:t,right:P(e.parseIntermediateType(y.INFIX))}:{type:"JsdocTypeAssertsPlain",element:t}}});function jt({allowQuestionMark:e}){return h({name:"tupleParslet",accept:t=>t==="[",parsePrefix:t=>{t.consume("[");const n={type:"JsdocTypeTuple",elements:[]};if(t.consume("]"))return n;const a=t.parseIntermediateType(y.ALL);if(a.type==="JsdocTypeParameterList"?a.elements[0].type==="JsdocTypeKeyValue"?n.elements=a.elements.map(G):n.elements=a.elements.map(P):a.type==="JsdocTypeKeyValue"?n.elements=[G(a)]:n.elements=[P(a)],!t.consume("]"))throw new Error("Unterminated '['");if(n.elements.some(i=>i.type==="JsdocTypeUnknown"))throw new Error("Question mark in tuple not allowed");return n}})}const $t=h({name:"keyOfParslet",accept:e=>e==="keyof",parsePrefix:e=>(e.consume("keyof"),{type:"JsdocTypeKeyof",element:P(e.parseType(y.KEY_OF_TYPE_OF))})}),Kt=h({name:"importParslet",accept:e=>e==="import",parsePrefix:e=>{if(e.consume("import"),!e.consume("("))throw new Error("Missing parenthesis after import keyword");const t=e.parseType(y.PREFIX);if(t.type!=="JsdocTypeStringValue")throw new Error("Only string values are allowed as paths for imports");if(!e.consume(")"))throw new Error("Missing closing parenthesis after import keyword");return{type:"JsdocTypeImport",element:t}}}),Dt=h({name:"readonlyPropertyParslet",accept:e=>e==="readonly",parsePrefix:e=>(e.consume("readonly"),{type:"JsdocTypeReadonlyProperty",element:e.parseIntermediateType(y.KEY_VALUE)})}),Mt=h({name:"arrowFunctionParslet",precedence:y.ARROW,accept:e=>e==="=>",parseInfix:(e,t)=>(e.consume("=>"),{type:"JsdocTypeFunction",parameters:ie(t).map(bt),arrow:!0,constructor:!1,parenthesis:!0,returnType:e.parseType(y.OBJECT)})}),qt=h({name:"genericArrowFunctionParslet",accept:e=>e==="<",parsePrefix:e=>{const t=[];e.consume("<");do{let a,i=e.parseIntermediateType(y.SYMBOL);if(i.type==="JsdocTypeOptional"&&(i=i.element,a=e.parseType(y.SYMBOL)),i.type!=="JsdocTypeName")throw new m(i);let l;e.consume("extends")&&(l=e.parseType(y.SYMBOL),l.type==="JsdocTypeOptional"&&(l=l.element,a=e.parseType(y.SYMBOL)));const f={type:"JsdocTypeTypeParameter",name:i};if(l!==void 0&&(f.constraint=l),a!==void 0&&(f.defaultValue=a),t.push(f),e.consume(">"))break}while(e.consume(","));const n=e.parseIntermediateType(y.SYMBOL);return n.typeParameters=t,n}}),Bt=h({name:"intersectionParslet",accept:e=>e==="&",precedence:y.INTERSECTION,parseInfix:(e,t)=>{e.consume("&");const n=[];do n.push(e.parseType(y.INTERSECTION));while(e.consume("&"));return{type:"JsdocTypeIntersection",elements:[P(t),...n]}}}),Ct=h({name:"predicateParslet",precedence:y.INFIX,accept:e=>e==="is",parseInfix:(e,t)=>{if(t.type!=="JsdocTypeName")throw new m(t,"A typescript predicate always has to have a name on the left side.");return e.consume("is"),{type:"JsdocTypePredicate",left:t,right:P(e.parseIntermediateType(y.INFIX))}}}),Yt=h({name:"objectSquareBracketPropertyParslet",accept:e=>e==="[",parsePrefix:e=>{if(e.baseParser===void 0)throw new Error("Only allowed inside object grammar");e.consume("[");const t=e.lexer.current.text;e.consume("Identifier");let n;if(e.consume(":")){const a=e.baseParser;a.acceptLexerState(e),n={type:"JsdocTypeIndexSignature",key:t,right:a.parseType(y.INDEX_BRACKETS)},e.acceptLexerState(a)}else if(e.consume("in")){const a=e.baseParser;a.acceptLexerState(e),n={type:"JsdocTypeMappedType",key:t,right:a.parseType(y.ARRAY_BRACKETS)},e.acceptLexerState(a)}else throw new Error("Missing ':' or 'in' inside square bracketed property.");if(!e.consume("]"))throw new Error("Unterminated square brackets");return n}}),Gt=h({name:"readonlyArrayParslet",accept:e=>e==="readonly",parsePrefix:e=>(e.consume("readonly"),{type:"JsdocTypeReadonlyArray",element:kt(e.parseIntermediateType(y.ALL))})}),Xt=h({name:"conditionalParslet",precedence:y.INFIX,accept:e=>e==="extends",parseInfix:(e,t)=>{e.consume("extends");const n=e.parseType(y.KEY_OF_TYPE_OF).element,a=e.parseType(y.INFIX);return e.consume(":"),{type:"JsdocTypeConditional",checksType:P(t),extendsType:n,trueType:a,falseType:e.parseType(y.INFIX)}}}),Wt=[Dt,A({allowedAdditionalTokens:["typeof","module","keyof","event","external","in"]}),ae,X,D,W,ue({allowSquaredProperties:!0,allowKeyTypes:!1,allowOptional:!0,allowReadonly:!0}),Yt],Qt=[...se,pe({allowKeyTypes:!1,objectFieldGrammar:Wt}),Gt,Ie,$t,Kt,D,ce({allowWithoutParenthesis:!0,allowNoReturnType:!1,allowNamedParameters:["this","new","args"],allowNewAsFunctionKeyword:!0}),jt({allowQuestionMark:!1}),le({allowEnclosingBrackets:!1,allowPostfix:!1}),Ut,Xt,A({allowedAdditionalTokens:["event","external","in"]}),H({allowedTypes:["module"],pathGrammar:j}),Oe,Mt,qt,Q({allowSquareBracketsOnAnyType:!0,allowJsdocNamePaths:!1,pathGrammar:j}),Bt,Ct,ye({allowVariadic:!0,allowOptional:!0})];function Ae(e,t){switch(t){case"closure":return new U(Vt,e).parse();case"jsdoc":return new U(Lt,e).parse();case"typescript":return new U(Qt,e).parse()}}function Ht(e,t=["typescript","closure","jsdoc"]){let n;for(const a of t)try{return Ae(e,a)}catch(i){n=i}throw n}function M(e,t){const n=e[t.type];if(n===void 0)throw new Error(`In this set of transform rules exists no rule for type ${t.type}.`);return n(t,a=>M(e,a))}function w(e){throw new Error("This transform is not available. Are you trying the correct parsing mode?")}function ve(e){const t={params:[]};for(const n of e.parameters)n.type==="JsdocTypeKeyValue"?n.key==="this"?t.this=n.right:n.key==="new"?t.new=n.right:t.params.push(n):t.params.push(n);return t}function z(e,t,n){return e==="prefix"?n+t:t+n}function v(e,t){switch(t){case"double":return`"${e}"`;case"single":return`'${e}'`;case void 0:return e}}function Re(){return{JsdocTypeParenthesis:(e,t)=>`(${e.element!==void 0?t(e.element):""})`,JsdocTypeKeyof:(e,t)=>`keyof ${t(e.element)}`,JsdocTypeFunction:(e,t)=>{var n;if(e.arrow){if(e.returnType===void 0)throw new Error("Arrow function needs a return type.");let a=`${e.typeParameters!==void 0?`<${(n=e.typeParameters.map(t).join(", "))!==null&&n!==void 0?n:""}>`:""}(${e.parameters.map(t).join(", ")}) => ${t(e.returnType)}`;return e.constructor&&(a="new "+a),a}else{let a=e.constructor?"new":"function";return e.parenthesis&&(a+=`(${e.parameters.map(t).join(", ")})`,e.returnType!==void 0&&(a+=`: ${t(e.returnType)}`)),a}},JsdocTypeName:e=>e.value,JsdocTypeTuple:(e,t)=>`[${e.elements.map(t).join(", ")}]`,JsdocTypeVariadic:(e,t)=>e.meta.position===void 0?"...":z(e.meta.position,t(e.element),"..."),JsdocTypeNamePath:(e,t)=>{const n=t(e.left),a=t(e.right);switch(e.pathType){case"inner":return`${n}~${a}`;case"instance":return`${n}#${a}`;case"property":return`${n}.${a}`;case"property-brackets":return`${n}[${a}]`}},JsdocTypeStringValue:e=>v(e.value,e.meta.quote),JsdocTypeAny:()=>"*",JsdocTypeGeneric:(e,t)=>{if(e.meta.brackets==="square"){const n=e.elements[0],a=t(n);return n.type==="JsdocTypeUnion"||n.type==="JsdocTypeIntersection"?`(${a})[]`:`${a}[]`}else return`${t(e.left)}${e.meta.dot?".":""}<${e.infer===!0?"infer ":""}${e.elements.map(t).join(", ")}>`},JsdocTypeImport:(e,t)=>`import(${t(e.element)})`,JsdocTypeObjectField:(e,t)=>{let n="";return e.readonly&&(n+="readonly "),typeof e.key=="string"?n+=v(e.key,e.meta.quote):n+=t(e.key),e.optional&&(n+="?"),e.right===void 0?n:n+`: ${t(e.right)}`},JsdocTypeJsdocObjectField:(e,t)=>`${t(e.left)}: ${t(e.right)}`,JsdocTypeKeyValue:(e,t)=>{let n=e.key;return e.optional&&(n+="?"),e.variadic&&(n="..."+n),e.right===void 0?n:n+`: ${t(e.right)}`},JsdocTypeSpecialNamePath:e=>`${e.specialType}:${v(e.value,e.meta.quote)}`,JsdocTypeNotNullable:(e,t)=>z(e.meta.position,t(e.element),"!"),JsdocTypeNull:()=>"null",JsdocTypeNullable:(e,t)=>z(e.meta.position,t(e.element),"?"),JsdocTypeNumber:e=>e.value.toString(),JsdocTypeObject:(e,t)=>{var n,a;return`{${(e.meta.separator==="linebreak"&&e.elements.length>1?`
|
|
2
|
+
`+((n=e.meta.propertyIndent)!==null&&n!==void 0?n:""):"")+e.elements.map(t).join(e.meta.separator==="comma"?", ":e.meta.separator==="linebreak"?`
|
|
3
|
+
`+((a=e.meta.propertyIndent)!==null&&a!==void 0?a:""):"; ")+(e.meta.separator==="linebreak"&&e.elements.length>1?`
|
|
4
|
+
`:"")}}`},JsdocTypeOptional:(e,t)=>z(e.meta.position,t(e.element),"="),JsdocTypeSymbol:(e,t)=>`${e.value}(${e.element!==void 0?t(e.element):""})`,JsdocTypeTypeof:(e,t)=>`typeof ${t(e.element)}`,JsdocTypeUndefined:()=>"undefined",JsdocTypeUnion:(e,t)=>e.elements.map(t).join(" | "),JsdocTypeUnknown:()=>"?",JsdocTypeIntersection:(e,t)=>e.elements.map(t).join(" & "),JsdocTypeProperty:e=>v(e.value,e.meta.quote),JsdocTypePredicate:(e,t)=>`${t(e.left)} is ${t(e.right)}`,JsdocTypeIndexSignature:(e,t)=>`[${e.key}: ${t(e.right)}]`,JsdocTypeMappedType:(e,t)=>`[${e.key} in ${t(e.right)}]`,JsdocTypeAsserts:(e,t)=>`asserts ${t(e.left)} is ${t(e.right)}`,JsdocTypeReadonlyArray:(e,t)=>`readonly ${t(e.element)}`,JsdocTypeAssertsPlain:(e,t)=>`asserts ${t(e.element)}`,JsdocTypeConditional:(e,t)=>`${t(e.checksType)} extends ${t(e.extendsType)} ? ${t(e.trueType)} : ${t(e.falseType)}`,JsdocTypeTypeParameter:(e,t)=>`${t(e.name)}${e.constraint!==void 0?` extends ${t(e.constraint)}`:""}${e.defaultValue!==void 0?` = ${t(e.defaultValue)}`:""}`}}const zt=Re();function Zt(e){return M(zt,e)}const en=["null","true","false","break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield"];function R(e){const t={type:"NameExpression",name:e};return en.includes(e)&&(t.reservedWord=!0),t}const tn={JsdocTypeOptional:(e,t)=>{const n=t(e.element);return n.optional=!0,n},JsdocTypeNullable:(e,t)=>{const n=t(e.element);return n.nullable=!0,n},JsdocTypeNotNullable:(e,t)=>{const n=t(e.element);return n.nullable=!1,n},JsdocTypeVariadic:(e,t)=>{if(e.element===void 0)throw new Error("dots without value are not allowed in catharsis mode");const n=t(e.element);return n.repeatable=!0,n},JsdocTypeAny:()=>({type:"AllLiteral"}),JsdocTypeNull:()=>({type:"NullLiteral"}),JsdocTypeStringValue:e=>R(v(e.value,e.meta.quote)),JsdocTypeUndefined:()=>({type:"UndefinedLiteral"}),JsdocTypeUnknown:()=>({type:"UnknownLiteral"}),JsdocTypeFunction:(e,t)=>{const n=ve(e),a={type:"FunctionType",params:n.params.map(t)};return n.this!==void 0&&(a.this=t(n.this)),n.new!==void 0&&(a.new=t(n.new)),e.returnType!==void 0&&(a.result=t(e.returnType)),a},JsdocTypeGeneric:(e,t)=>({type:"TypeApplication",applications:e.elements.map(n=>t(n)),expression:t(e.left)}),JsdocTypeSpecialNamePath:e=>R(e.specialType+":"+v(e.value,e.meta.quote)),JsdocTypeName:e=>e.value!=="function"?R(e.value):{type:"FunctionType",params:[]},JsdocTypeNumber:e=>R(e.value.toString()),JsdocTypeObject:(e,t)=>{const n={type:"RecordType",fields:[]};for(const a of e.elements)a.type!=="JsdocTypeObjectField"&&a.type!=="JsdocTypeJsdocObjectField"?n.fields.push({type:"FieldType",key:t(a),value:void 0}):n.fields.push(t(a));return n},JsdocTypeObjectField:(e,t)=>{if(typeof e.key!="string")throw new Error("Index signatures and mapped types are not supported");return{type:"FieldType",key:R(v(e.key,e.meta.quote)),value:e.right===void 0?void 0:t(e.right)}},JsdocTypeJsdocObjectField:(e,t)=>({type:"FieldType",key:t(e.left),value:t(e.right)}),JsdocTypeUnion:(e,t)=>({type:"TypeUnion",elements:e.elements.map(n=>t(n))}),JsdocTypeKeyValue:(e,t)=>({type:"FieldType",key:R(e.key),value:e.right===void 0?void 0:t(e.right)}),JsdocTypeNamePath:(e,t)=>{const n=t(e.left);let a;e.right.type==="JsdocTypeSpecialNamePath"?a=t(e.right).name:a=v(e.right.value,e.right.meta.quote);const i=e.pathType==="inner"?"~":e.pathType==="instance"?"#":".";return R(`${n.name}${i}${a}`)},JsdocTypeSymbol:e=>{let t="",n=e.element,a=!1;return n?.type==="JsdocTypeVariadic"&&(n.meta.position==="prefix"?t="...":a=!0,n=n.element),n?.type==="JsdocTypeName"?t+=n.value:n?.type==="JsdocTypeNumber"&&(t+=n.value.toString()),a&&(t+="..."),R(`${e.value}(${t})`)},JsdocTypeParenthesis:(e,t)=>t(P(e.element)),JsdocTypeMappedType:w,JsdocTypeIndexSignature:w,JsdocTypeImport:w,JsdocTypeKeyof:w,JsdocTypeTuple:w,JsdocTypeTypeof:w,JsdocTypeIntersection:w,JsdocTypeProperty:w,JsdocTypePredicate:w,JsdocTypeAsserts:w,JsdocTypeReadonlyArray:w,JsdocTypeAssertsPlain:w,JsdocTypeConditional:w,JsdocTypeTypeParameter:w};function nn(e){return M(tn,e)}function F(e){switch(e){case void 0:return"none";case"single":return"single";case"double":return"double"}}function rn(e){switch(e){case"inner":return"INNER_MEMBER";case"instance":return"INSTANCE_MEMBER";case"property":return"MEMBER";case"property-brackets":return"MEMBER"}}function de(e,t){return t.length===2?{type:e,left:t[0],right:t[1]}:{type:e,left:t[0],right:de(e,t.slice(1))}}const on={JsdocTypeOptional:(e,t)=>({type:"OPTIONAL",value:t(e.element),meta:{syntax:e.meta.position==="prefix"?"PREFIX_EQUAL_SIGN":"SUFFIX_EQUALS_SIGN"}}),JsdocTypeNullable:(e,t)=>({type:"NULLABLE",value:t(e.element),meta:{syntax:e.meta.position==="prefix"?"PREFIX_QUESTION_MARK":"SUFFIX_QUESTION_MARK"}}),JsdocTypeNotNullable:(e,t)=>({type:"NOT_NULLABLE",value:t(e.element),meta:{syntax:e.meta.position==="prefix"?"PREFIX_BANG":"SUFFIX_BANG"}}),JsdocTypeVariadic:(e,t)=>{const n={type:"VARIADIC",meta:{syntax:e.meta.position==="prefix"?"PREFIX_DOTS":e.meta.position==="suffix"?"SUFFIX_DOTS":"ONLY_DOTS"}};return e.element!==void 0&&(n.value=t(e.element)),n},JsdocTypeName:e=>({type:"NAME",name:e.value}),JsdocTypeTypeof:(e,t)=>({type:"TYPE_QUERY",name:t(e.element)}),JsdocTypeTuple:(e,t)=>({type:"TUPLE",entries:e.elements.map(t)}),JsdocTypeKeyof:(e,t)=>({type:"KEY_QUERY",value:t(e.element)}),JsdocTypeImport:e=>({type:"IMPORT",path:{type:"STRING_VALUE",quoteStyle:F(e.element.meta.quote),string:e.element.value}}),JsdocTypeUndefined:()=>({type:"NAME",name:"undefined"}),JsdocTypeAny:()=>({type:"ANY"}),JsdocTypeFunction:(e,t)=>{const n=ve(e),a={type:e.arrow?"ARROW":"FUNCTION",params:n.params.map(i=>{if(i.type==="JsdocTypeKeyValue"){if(i.right===void 0)throw new Error("Function parameter without ':' is not expected to be 'KEY_VALUE'");return{type:"NAMED_PARAMETER",name:i.key,typeName:t(i.right)}}else return t(i)}),new:null,returns:null};return n.this!==void 0?a.this=t(n.this):e.arrow||(a.this=null),n.new!==void 0&&(a.new=t(n.new)),e.returnType!==void 0&&(a.returns=t(e.returnType)),a},JsdocTypeGeneric:(e,t)=>{const n={type:"GENERIC",subject:t(e.left),objects:e.elements.map(t),meta:{syntax:e.meta.brackets==="square"?"SQUARE_BRACKET":e.meta.dot?"ANGLE_BRACKET_WITH_DOT":"ANGLE_BRACKET"}};return e.meta.brackets==="square"&&e.elements[0].type==="JsdocTypeFunction"&&!e.elements[0].parenthesis&&(n.objects[0]={type:"NAME",name:"function"}),n},JsdocTypeObjectField:(e,t)=>{if(typeof e.key!="string")throw new Error("Index signatures and mapped types are not supported");if(e.right===void 0)return{type:"RECORD_ENTRY",key:e.key,quoteStyle:F(e.meta.quote),value:null,readonly:!1};let n=t(e.right);return e.optional&&(n={type:"OPTIONAL",value:n,meta:{syntax:"SUFFIX_KEY_QUESTION_MARK"}}),{type:"RECORD_ENTRY",key:e.key.toString(),quoteStyle:F(e.meta.quote),value:n,readonly:!1}},JsdocTypeJsdocObjectField:()=>{throw new Error("Keys may not be typed in jsdoctypeparser.")},JsdocTypeKeyValue:(e,t)=>{if(e.right===void 0)return{type:"RECORD_ENTRY",key:e.key,quoteStyle:"none",value:null,readonly:!1};let n=t(e.right);return e.optional&&(n={type:"OPTIONAL",value:n,meta:{syntax:"SUFFIX_KEY_QUESTION_MARK"}}),{type:"RECORD_ENTRY",key:e.key,quoteStyle:"none",value:n,readonly:!1}},JsdocTypeObject:(e,t)=>{const n=[];for(const a of e.elements)(a.type==="JsdocTypeObjectField"||a.type==="JsdocTypeJsdocObjectField")&&n.push(t(a));return{type:"RECORD",entries:n}},JsdocTypeSpecialNamePath:e=>{if(e.specialType!=="module")throw new Error(`jsdoctypeparser does not support type ${e.specialType} at this point.`);return{type:"MODULE",value:{type:"FILE_PATH",quoteStyle:F(e.meta.quote),path:e.value}}},JsdocTypeNamePath:(e,t)=>{let n=!1,a,i;e.right.type==="JsdocTypeSpecialNamePath"&&e.right.specialType==="event"?(n=!0,a=e.right.value,i=F(e.right.meta.quote)):(a=e.right.value,i=F(e.right.meta.quote));const l={type:rn(e.pathType),owner:t(e.left),name:a,quoteStyle:i,hasEventPrefix:n};if(l.owner.type==="MODULE"){const f=l.owner;return l.owner=l.owner.value,f.value=l,f}else return l},JsdocTypeUnion:(e,t)=>de("UNION",e.elements.map(t)),JsdocTypeParenthesis:(e,t)=>({type:"PARENTHESIS",value:t(P(e.element))}),JsdocTypeNull:()=>({type:"NAME",name:"null"}),JsdocTypeUnknown:()=>({type:"UNKNOWN"}),JsdocTypeStringValue:e=>({type:"STRING_VALUE",quoteStyle:F(e.meta.quote),string:e.value}),JsdocTypeIntersection:(e,t)=>de("INTERSECTION",e.elements.map(t)),JsdocTypeNumber:e=>({type:"NUMBER_VALUE",number:e.value.toString()}),JsdocTypeSymbol:w,JsdocTypeProperty:w,JsdocTypePredicate:w,JsdocTypeMappedType:w,JsdocTypeIndexSignature:w,JsdocTypeAsserts:w,JsdocTypeReadonlyArray:w,JsdocTypeAssertsPlain:w,JsdocTypeConditional:w,JsdocTypeTypeParameter:w};function an(e){return M(on,e)}function sn(){return{JsdocTypeIntersection:(e,t)=>({type:"JsdocTypeIntersection",elements:e.elements.map(t)}),JsdocTypeGeneric:(e,t)=>({type:"JsdocTypeGeneric",left:t(e.left),elements:e.elements.map(t),meta:{dot:e.meta.dot,brackets:e.meta.brackets}}),JsdocTypeNullable:e=>e,JsdocTypeUnion:(e,t)=>({type:"JsdocTypeUnion",elements:e.elements.map(t)}),JsdocTypeUnknown:e=>e,JsdocTypeUndefined:e=>e,JsdocTypeTypeof:(e,t)=>({type:"JsdocTypeTypeof",element:t(e.element)}),JsdocTypeSymbol:(e,t)=>{const n={type:"JsdocTypeSymbol",value:e.value};return e.element!==void 0&&(n.element=t(e.element)),n},JsdocTypeOptional:(e,t)=>({type:"JsdocTypeOptional",element:t(e.element),meta:{position:e.meta.position}}),JsdocTypeObject:(e,t)=>({type:"JsdocTypeObject",meta:{separator:"comma"},elements:e.elements.map(t)}),JsdocTypeNumber:e=>e,JsdocTypeNull:e=>e,JsdocTypeNotNullable:(e,t)=>({type:"JsdocTypeNotNullable",element:t(e.element),meta:{position:e.meta.position}}),JsdocTypeSpecialNamePath:e=>e,JsdocTypeObjectField:(e,t)=>({type:"JsdocTypeObjectField",key:e.key,right:e.right===void 0?void 0:t(e.right),optional:e.optional,readonly:e.readonly,meta:e.meta}),JsdocTypeJsdocObjectField:(e,t)=>({type:"JsdocTypeJsdocObjectField",left:t(e.left),right:t(e.right)}),JsdocTypeKeyValue:(e,t)=>({type:"JsdocTypeKeyValue",key:e.key,right:e.right===void 0?void 0:t(e.right),optional:e.optional,variadic:e.variadic}),JsdocTypeImport:(e,t)=>({type:"JsdocTypeImport",element:t(e.element)}),JsdocTypeAny:e=>e,JsdocTypeStringValue:e=>e,JsdocTypeNamePath:e=>e,JsdocTypeVariadic:(e,t)=>{const n={type:"JsdocTypeVariadic",meta:{position:e.meta.position,squareBrackets:e.meta.squareBrackets}};return e.element!==void 0&&(n.element=t(e.element)),n},JsdocTypeTuple:(e,t)=>({type:"JsdocTypeTuple",elements:e.elements.map(t)}),JsdocTypeName:e=>e,JsdocTypeFunction:(e,t)=>{const n={type:"JsdocTypeFunction",arrow:e.arrow,parameters:e.parameters.map(t),constructor:e.constructor,parenthesis:e.parenthesis};return e.returnType!==void 0&&(n.returnType=t(e.returnType)),n},JsdocTypeKeyof:(e,t)=>({type:"JsdocTypeKeyof",element:t(e.element)}),JsdocTypeParenthesis:(e,t)=>({type:"JsdocTypeParenthesis",element:t(e.element)}),JsdocTypeProperty:e=>e,JsdocTypePredicate:(e,t)=>({type:"JsdocTypePredicate",left:t(e.left),right:t(e.right)}),JsdocTypeIndexSignature:(e,t)=>({type:"JsdocTypeIndexSignature",key:e.key,right:t(e.right)}),JsdocTypeMappedType:(e,t)=>({type:"JsdocTypeMappedType",key:e.key,right:t(e.right)}),JsdocTypeAsserts:(e,t)=>({type:"JsdocTypeAsserts",left:t(e.left),right:t(e.right)}),JsdocTypeReadonlyArray:(e,t)=>({type:"JsdocTypeReadonlyArray",element:t(e.element)}),JsdocTypeAssertsPlain:(e,t)=>({type:"JsdocTypeAssertsPlain",element:t(e.element)}),JsdocTypeConditional:(e,t)=>({type:"JsdocTypeConditional",checksType:t(e.checksType),extendsType:t(e.extendsType),trueType:t(e.trueType),falseType:t(e.falseType)}),JsdocTypeTypeParameter:(e,t)=>({type:"JsdocTypeTypeParameter",name:t(e.name),constraint:e.constraint!==void 0?t(e.constraint):void 0,defaultValue:e.defaultValue!==void 0?t(e.defaultValue):void 0})}}const _e={JsdocTypeAny:[],JsdocTypeFunction:["parameters","returnType"],JsdocTypeGeneric:["left","elements"],JsdocTypeImport:[],JsdocTypeIndexSignature:["right"],JsdocTypeIntersection:["elements"],JsdocTypeKeyof:["element"],JsdocTypeKeyValue:["right"],JsdocTypeMappedType:["right"],JsdocTypeName:[],JsdocTypeNamePath:["left","right"],JsdocTypeNotNullable:["element"],JsdocTypeNull:[],JsdocTypeNullable:["element"],JsdocTypeNumber:[],JsdocTypeObject:["elements"],JsdocTypeObjectField:["right"],JsdocTypeJsdocObjectField:["left","right"],JsdocTypeOptional:["element"],JsdocTypeParenthesis:["element"],JsdocTypeSpecialNamePath:[],JsdocTypeStringValue:[],JsdocTypeSymbol:["element"],JsdocTypeTuple:["elements"],JsdocTypeTypeof:["element"],JsdocTypeUndefined:[],JsdocTypeUnion:["elements"],JsdocTypeUnknown:[],JsdocTypeVariadic:["element"],JsdocTypeProperty:[],JsdocTypePredicate:["left","right"],JsdocTypeAsserts:["left","right"],JsdocTypeReadonlyArray:["element"],JsdocTypeAssertsPlain:["element"],JsdocTypeConditional:["checksType","extendsType","trueType","falseType"],JsdocTypeTypeParameter:["name","constraint","defaultValue"]};function me(e,t,n,a,i){a?.(e,t,n);const l=_e[e.type];for(const f of l){const g=e[f];if(g!==void 0)if(Array.isArray(g))for(const k of g)me(k,e,f,a,i);else me(g,e,f,a,i)}i?.(e,t,n)}function cn(e,t,n){me(e,void 0,void 0,t,n)}s.catharsisTransform=nn,s.identityTransformRules=sn,s.jtpTransform=an,s.parse=Ae,s.stringify=Zt,s.stringifyRules=Re,s.transform=M,s.traverse=cn,s.tryParse=Ht,s.visitorKeys=_e})}(B,B.exports)),B.exports}var fe=pn(),un=Object.defineProperty,c=(r,o)=>un(r,"name",{value:o,configurable:!0});const{UnknownArgTypesError:Un}=__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__;function yn(r,o){let s={},p=Object.keys(r);for(let d=0;d<p.length;d++){let u=p[d],m=r[u];s[u]=o(m,u,r)}return s}c(yn,"mapValues");const{UnknownArgTypesError:jn}=__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__;var dn=["null","undefined"];function ee(r){return dn.some(o=>o===r)}c(ee,"isDefaultValueBlacklisted");var mn=c(r=>{if(!r)return"";if(typeof r=="string")return r;throw new Error(`Description: expected string, got: ${JSON.stringify(r)}`)},"str");function Te(r){return!!r.__docgenInfo}c(Te,"hasDocgen");function fn(r){return r!=null&&Object.keys(r).length>0}c(fn,"isValidDocgenSection");function Tn(r,o){return Te(r)?r.__docgenInfo[o]:null}c(Tn,"getDocgenSection");function Ue(r){return Te(r)?mn(r.__docgenInfo.description):""}c(Ue,"getDocgenDescription");var _;(function(r){r.start="/**",r.nostart="/***",r.delim="*",r.end="*/"})(_=_||(_={}));function je(r){return/^\s+$/.test(r)}c(je,"isSpace");function $e(r){let o=r.match(/\r+$/);return o==null?["",r]:[r.slice(-o[0].length),r.slice(0,-o[0].length)]}c($e,"splitCR");function V(r){let o=r.match(/^\s+/);return o==null?["",r]:[r.slice(0,o[0].length),r.slice(o[0].length)]}c(V,"splitSpace");function Ke(r){return r.split(/\n/)}c(Ke,"splitLines");function De(r={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},r)}c(De,"seedSpec");function Me(r={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},r)}c(Me,"seedTokens");var hn=/^@\S+/;function qe({fence:r="```"}={}){let o=Be(r),s=c((p,d)=>o(p)?!d:d,"toggleFence");return c(function(p){let d=[[]],u=!1;for(let m of p)hn.test(m.tokens.description)&&!u?d.push([m]):d[d.length-1].push(m),u=s(m.tokens.description,u);return d},"parseBlock")}c(qe,"getParser");function Be(r){return typeof r=="string"?o=>o.split(r).length%2===0:r}c(Be,"getFencer");function Ce({startLine:r=0,markers:o=_}={}){let s=null,p=r;return c(function(d){let u=d,m=Me();if([m.lineEnd,u]=$e(u),[m.start,u]=V(u),s===null&&u.startsWith(o.start)&&!u.startsWith(o.nostart)&&(s=[],m.delimiter=u.slice(0,o.start.length),u=u.slice(o.start.length),[m.postDelimiter,u]=V(u)),s===null)return p++,null;let T=u.trimRight().endsWith(o.end);if(m.delimiter===""&&u.startsWith(o.delim)&&!u.startsWith(o.end)&&(m.delimiter=o.delim,u=u.slice(o.delim.length),[m.postDelimiter,u]=V(u)),T){let J=u.trimRight();m.end=u.slice(J.length-o.end.length),u=J.slice(0,-o.end.length)}if(m.description=u,s.push({number:p,source:d,tokens:m}),p++,T){let J=s.slice();return s=null,J}return null},"parseSource")}c(Ce,"getParser");function Ye({tokenizers:r}){return c(function(o){var s;let p=De({source:o});for(let d of r)if(p=d(p),!((s=p.problems[p.problems.length-1])===null||s===void 0)&&s.critical)break;return p},"parseSpec")}c(Ye,"getParser");function Ge(){return r=>{let{tokens:o}=r.source[0],s=o.description.match(/\s*(@(\S+))(\s*)/);return s===null?(r.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:r.source[0].number,critical:!0}),r):(o.tag=s[1],o.postTag=s[3],o.description=o.description.slice(s[0].length),r.tag=s[2],r)}}c(Ge,"tagTokenizer");function Xe(r="compact"){let o=We(r);return s=>{let p=0,d=[];for(let[T,{tokens:J}]of s.source.entries()){let O="";if(T===0&&J.description[0]!=="{")return s;for(let b of J.description)if(b==="{"&&p++,b==="}"&&p--,O+=b,p===0)break;if(d.push([J,O]),p===0)break}if(p!==0)return s.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:s.source[0].number,critical:!0}),s;let u=[],m=d[0][0].postDelimiter.length;for(let[T,[J,O]]of d.entries())J.type=O,T>0&&(J.type=J.postDelimiter.slice(m)+O,J.postDelimiter=J.postDelimiter.slice(0,m)),[J.postType,J.description]=V(J.description.slice(O.length)),u.push(J.type);return u[0]=u[0].slice(1),u[u.length-1]=u[u.length-1].slice(0,-1),s.type=o(u),s}}c(Xe,"typeTokenizer");var Jn=c(r=>r.trim(),"trim");function We(r){return r==="compact"?o=>o.map(Jn).join(""):r==="preserve"?o=>o.join(`
|
|
5
|
+
`):r}c(We,"getJoiner");var gn=c(r=>r&&r.startsWith('"')&&r.endsWith('"'),"isQuoted");function Qe(){let r=c((o,{tokens:s},p)=>s.type===""?o:p,"typeEnd");return o=>{let{tokens:s}=o.source[o.source.reduce(r,0)],p=s.description.trimLeft(),d=p.split('"');if(d.length>1&&d[0]===""&&d.length%2===1)return o.name=d[1],s.name=`"${d[1]}"`,[s.postName,s.description]=V(p.slice(s.name.length)),o;let u=0,m="",T=!1,J;for(let b of p){if(u===0&&je(b))break;b==="["&&u++,b==="]"&&u--,m+=b}if(u!==0)return o.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:o.source[0].number,critical:!0}),o;let O=m;if(m[0]==="["&&m[m.length-1]==="]"){T=!0,m=m.slice(1,-1);let b=m.split("=");if(m=b[0].trim(),b[1]!==void 0&&(J=b.slice(1).join("=").trim()),m==="")return o.problems.push({code:"spec:name:empty-name",message:"empty name",line:o.source[0].number,critical:!0}),o;if(J==="")return o.problems.push({code:"spec:name:empty-default",message:"empty default value",line:o.source[0].number,critical:!0}),o;if(!gn(J)&&/=(?!>)/.test(J))return o.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:o.source[0].number,critical:!0}),o}return o.optional=T,o.name=m,s.name=O,J!==void 0&&(o.default=J),[s.postName,s.description]=V(p.slice(s.name.length)),o}}c(Qe,"nameTokenizer");function He(r="compact",o=_){let s=he(r);return p=>(p.description=s(p.source,o),p)}c(He,"descriptionTokenizer");function he(r){return r==="compact"?ze:r==="preserve"?Ze:r}c(he,"getJoiner");function ze(r,o=_){return r.map(({tokens:{description:s}})=>s.trim()).filter(s=>s!=="").join(" ")}c(ze,"compactJoiner");var wn=c((r,{tokens:o},s)=>o.type===""?r:s,"lineNo"),Pn=c(({tokens:r})=>(r.delimiter===""?r.start:r.postDelimiter.slice(1))+r.description,"getDescription");function Ze(r,o=_){if(r.length===0)return"";r[0].tokens.description===""&&r[0].tokens.delimiter===o.start&&(r=r.slice(1));let s=r[r.length-1];return s!==void 0&&s.tokens.description===""&&s.tokens.end.endsWith(o.end)&&(r=r.slice(0,-1)),r=r.slice(r.reduce(wn,0)),r.map(Pn).join(`
|
|
6
|
+
`)}c(Ze,"preserveJoiner");function et({startLine:r=0,fence:o="```",spacing:s="compact",markers:p=_,tokenizers:d=[Ge(),Xe(s),Qe(),He(s)]}={}){if(r<0||r%1>0)throw new Error("Invalid startLine");let u=Ce({startLine:r,markers:p}),m=qe({fence:o}),T=Ye({tokenizers:d}),J=he(s);return function(O){let b=[];for(let te of Ke(O)){let $=u(te);if($===null)continue;let C=m($),Y=C.slice(1).map(T);b.push({description:J(C[0],p),tags:Y,source:$,problems:Y.reduce((N,ne)=>N.concat(ne.problems),[])})}return b}}c(et,"getParser");function tt(r){return r.start+r.delimiter+r.postDelimiter+r.tag+r.postTag+r.type+r.postType+r.name+r.postName+r.description+r.end+r.lineEnd}c(tt,"join");function Nn(){return r=>r.source.map(({tokens:o})=>tt(o)).join(`
|
|
7
|
+
`)}c(Nn,"getStringifier");function nt(r,o={}){return et(o)(r)}c(nt,"parse");function rt(r){return r!=null&&r.includes("@")}c(rt,"containsJsDoc");function ot(r){let o=`/**
|
|
8
|
+
`+(r??"").split(`
|
|
9
|
+
`).map(p=>` * ${p}`).join(`
|
|
10
|
+
`)+`
|
|
11
|
+
*/`,s=nt(o,{spacing:"preserve"});if(!s||s.length===0)throw new Error("Cannot parse JSDoc tags.");return s[0]}c(ot,"parse");var En={tags:["param","arg","argument","returns","ignore","deprecated"]},bn=c((r,o=En)=>{if(!rt(r))return{includesJsDoc:!1,ignore:!1};let s=ot(r),p=at(s,o.tags);return p.ignore?{includesJsDoc:!0,ignore:!0}:{includesJsDoc:!0,ignore:!1,description:s.description.trim(),extractedTags:p}},"parseJsDoc");function at(r,o){let s={params:null,deprecated:null,returns:null,ignore:!1};for(let p of r.tags)if(!(o!==void 0&&!o.includes(p.tag)))if(p.tag==="ignore"){s.ignore=!0;break}else switch(p.tag){case"param":case"arg":case"argument":{let d=it(p);d!=null&&(s.params==null&&(s.params=[]),s.params.push(d));break}case"deprecated":{let d=ct(p);d!=null&&(s.deprecated=d);break}case"returns":{let d=lt(p);d!=null&&(s.returns=d);break}}return s}c(at,"extractJsDocTags");function st(r){return r.replace(/[\.-]$/,"")}c(st,"normaliseParamName");function it(r){if(!r.name||r.name==="-")return null;let o=we(r.type);return{name:r.name,type:o,description:ge(r.description),getPrettyName:c(()=>st(r.name),"getPrettyName"),getTypeName:c(()=>o?Pe(o):null,"getTypeName")}}c(it,"extractParam");function ct(r){return r.name?Je(r.name,r.description):null}c(ct,"extractDeprecated");function Je(r,o){let s=r===""?o:`${r} ${o}`;return ge(s)}c(Je,"joinNameAndDescription");function ge(r){let o=r.replace(/^- /g,"").trim();return o===""?null:o}c(ge,"normaliseDescription");function lt(r){let o=we(r.type);return o?{type:o,description:Je(r.name,r.description),getTypeName:c(()=>Pe(o),"getTypeName")}:null}c(lt,"extractReturns");var L=fe.stringifyRules(),xn=L.JsdocTypeObject;L.JsdocTypeAny=()=>"any";L.JsdocTypeObject=(r,o)=>`(${xn(r,o)})`;L.JsdocTypeOptional=(r,o)=>o(r.element);L.JsdocTypeNullable=(r,o)=>o(r.element);L.JsdocTypeNotNullable=(r,o)=>o(r.element);L.JsdocTypeUnion=(r,o)=>r.elements.map(o).join("|");function we(r){try{return fe.parse(r,"typescript")}catch{return null}}c(we,"extractType");function Pe(r){return fe.transform(L,r)}c(Pe,"extractTypeName");function Ne(r){return r.length>90}c(Ne,"isTooLongForTypeSummary");function pt(r){return r.length>50}c(pt,"isTooLongForDefaultValueSummary");function E(r,o){return r===o?{summary:r}:{summary:r,detail:o}}c(E,"createSummaryValue");function kn(r,o){if(r!=null){let{value:s}=r;if(!ee(s))return pt(s)?E(o?.name,s):E(s)}return null}c(kn,"createDefaultValue");function Ee({name:r,value:o,elements:s,raw:p}){return o??(s!=null?s.map(Ee).join(" | "):p??r)}c(Ee,"generateUnionElement");function ut({name:r,raw:o,elements:s}){return s!=null?E(s.map(Ee).join(" | ")):o!=null?E(o.replace(/^\|\s*/,"")):E(r)}c(ut,"generateUnion");function yt({type:r,raw:o}){return o!=null?E(o):E(r)}c(yt,"generateFuncSignature");function dt({type:r,raw:o}){return o!=null?Ne(o)?E(r,o):E(o):E(r)}c(dt,"generateObjectSignature");function mt(r){let{type:o}=r;return o==="object"?dt(r):yt(r)}c(mt,"generateSignature");function ft({name:r,raw:o}){return o!=null?Ne(o)?E(r,o):E(o):E(r)}c(ft,"generateDefault");function On(r){if(r==null)return null;switch(r.name){case"union":return ut(r);case"signature":return mt(r);default:return ft(r)}}c(On,"createType");function Sn({defaultValue:r}){if(r!=null){let{value:o}=r;if(!ee(o))return E(o)}return null}c(Sn,"createDefaultValue");function In({tsType:r,required:o}){if(r==null)return null;let s=r.name;return o||(s=s.replace(" | undefined","")),E(["Array","Record","signature"].includes(r.name)?r.raw:s)}c(In,"createType");function Tt(r){return r!=null?E(r.name):null}c(Tt,"createType");function ht(r){let{computed:o,func:s}=r;return typeof o>"u"&&typeof s>"u"}c(ht,"isReactDocgenTypescript");function Jt(r){return r?r.name==="string"?!0:r.name==="enum"?Array.isArray(r.value)&&r.value.every(({value:o})=>typeof o=="string"&&o[0]==='"'&&o[o.length-1]==='"'):!1:!1}c(Jt,"isStringValued");function gt(r,o){if(r!=null){let{value:s}=r;if(!ee(s))return ht(r)&&Jt(o)?E(JSON.stringify(s)):E(s)}return null}c(gt,"createDefaultValue");function An(r,o,s){let{description:p,required:d,defaultValue:u}=s;return{name:r,type:Tt(o),required:d,description:p,defaultValue:gt(u,o)}}c(An,"createBasicPropDef");function vn(r,o){if(o?.includesJsDoc){let{description:s,extractedTags:p}=o;s!=null&&(r.description=o.description);let d={...p,params:p?.params?.map(u=>({name:u.getPrettyName(),description:u.description}))};Object.values(d).filter(Boolean).length>0&&(r.jsDocTags=d)}return r}c(vn,"applyJsDocResult");function Rn(r,o,s,p){let d=bn(o.description);return d.includesJsDoc&&d.ignore?null:{propDef:p(r,o,d),jsDocTags:d.extractedTags,docgenInfo:o,typeSystem:s}}c(Rn,"extractProp");function _n(r){return r!=null?Ue(r):""}c(_n,"extractComponentDescription");const{combineParameters:Ln}=__STORYBOOK_MODULE_PREVIEW_API__;var $n=c(r=>{let{component:o,argTypes:s,parameters:{docs:p={}}}=r,{extractArgTypes:d}=p,u=d&&o?d(o):{};return u?Ln(u,s):s},"enhanceArgTypes"),Fn="storybook/docs",Kn=`${Fn}/snippet-rendered`,Vn=(r=>(r.AUTO="auto",r.CODE="code",r.DYNAMIC="dynamic",r))(Vn||{});export{$n as c,Vn as g,Kn as y};
|