@uva-glass/component-library 3.55.1 → 3.55.3
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/Accordion-BpnBHYIx.js +69 -0
- package/dist/Accordion-BpnBHYIx.js.map +1 -0
- package/dist/AccordionCard-BXy-plB7.js +43 -0
- package/dist/AccordionCard-BXy-plB7.js.map +1 -0
- package/dist/ActionList-O9w1hqNg.js +95 -0
- package/dist/ActionList-O9w1hqNg.js.map +1 -0
- package/dist/AddCatalogueLinkForm-Cy6fPNvN.js +117 -0
- package/dist/AddCatalogueLinkForm-Cy6fPNvN.js.map +1 -0
- package/dist/AppStatusBar-Bca0KFDR.js +20 -0
- package/dist/AppStatusBar-Bca0KFDR.js.map +1 -0
- package/dist/Attention-Bq5UU9I8.js +13 -0
- package/dist/Attention-Bq5UU9I8.js.map +1 -0
- package/dist/Backdrop-D8AHeuBn.js +10 -0
- package/dist/Backdrop-D8AHeuBn.js.map +1 -0
- package/dist/Button.module-DJlNwQUj.js +16 -0
- package/dist/Button.module-DJlNwQUj.js.map +1 -0
- package/dist/ButtonGroup-DR80lTLz.js +21 -0
- package/dist/ButtonGroup-DR80lTLz.js.map +1 -0
- package/dist/Card-DMFyuTmy.js +32 -0
- package/dist/Card-DMFyuTmy.js.map +1 -0
- package/dist/Checkbox-D6-b_4dC.js +12 -0
- package/dist/Checkbox-D6-b_4dC.js.map +1 -0
- package/dist/CheckboxButtonBar-CalU0IYK.js +79 -0
- package/dist/CheckboxButtonBar-CalU0IYK.js.map +1 -0
- package/dist/Chip-DJHvFToV.js +22 -0
- package/dist/Chip-DJHvFToV.js.map +1 -0
- package/dist/ClipboardButton-geHjMl2J.js +43 -0
- package/dist/ClipboardButton-geHjMl2J.js.map +1 -0
- package/dist/Column-BwKEOOuL.js +84 -0
- package/dist/Column-BwKEOOuL.js.map +1 -0
- package/dist/Container-BLjtYDqq.js +31 -0
- package/dist/Container-BLjtYDqq.js.map +1 -0
- package/dist/ControlsButton-zemVxTlg.js +64 -0
- package/dist/ControlsButton-zemVxTlg.js.map +1 -0
- package/dist/CopyableText-DkyhZ6wk.js +57 -0
- package/dist/CopyableText-DkyhZ6wk.js.map +1 -0
- package/dist/Drawer-Ggofac6y.js +77 -0
- package/dist/Drawer-Ggofac6y.js.map +1 -0
- package/dist/EmptyStateDataDisplay-D0QiI8nE.js +46 -0
- package/dist/EmptyStateDataDisplay-D0QiI8nE.js.map +1 -0
- package/dist/ExpandableInfoPanel-CnBVVNlJ.js +58 -0
- package/dist/ExpandableInfoPanel-CnBVVNlJ.js.map +1 -0
- package/dist/FeedbackBar-ByKp32HE.js +43 -0
- package/dist/FeedbackBar-ByKp32HE.js.map +1 -0
- package/dist/FeedbackBox-Bu7uB9DP.js +29 -0
- package/dist/FeedbackBox-Bu7uB9DP.js.map +1 -0
- package/dist/FieldHint-D0HtbTnt.js +16 -0
- package/dist/FieldHint-D0HtbTnt.js.map +1 -0
- package/dist/Fieldset-CoNu_Owa.js +23 -0
- package/dist/Fieldset-CoNu_Owa.js.map +1 -0
- package/dist/Flyout-DEpzfZOC.js +18 -0
- package/dist/Flyout-DEpzfZOC.js.map +1 -0
- package/dist/FormField-BZSoQdp9.js +21 -0
- package/dist/FormField-BZSoQdp9.js.map +1 -0
- package/dist/HorizontalList-C22DaDz-.js +20 -0
- package/dist/HorizontalList-C22DaDz-.js.map +1 -0
- package/dist/IconButton-CWCMH9uf.js +24 -0
- package/dist/IconButton-CWCMH9uf.js.map +1 -0
- package/dist/InfoBanner-DyznQLGr.js +13 -0
- package/dist/InfoBanner-DyznQLGr.js.map +1 -0
- package/dist/InfoMessage-I-VlwxVc.js +19 -0
- package/dist/InfoMessage-I-VlwxVc.js.map +1 -0
- package/dist/Input-Bn-arMaC.js +25 -0
- package/dist/Input-Bn-arMaC.js.map +1 -0
- package/dist/InputField-BWAy19w9.js +51 -0
- package/dist/InputField-BWAy19w9.js.map +1 -0
- package/dist/Label-o0BcWTUS.js +21 -0
- package/dist/Label-o0BcWTUS.js.map +1 -0
- package/dist/Lexical.prod-DIglXatJ.js +5246 -0
- package/dist/Lexical.prod-DIglXatJ.js.map +1 -0
- package/dist/LexicalClipboard.prod-Bnzu0sh_.js +248 -0
- package/dist/LexicalClipboard.prod-Bnzu0sh_.js.map +1 -0
- package/dist/LexicalComposerContext.prod-Ca-YN_fj.js +22 -0
- package/dist/LexicalComposerContext.prod-Ca-YN_fj.js.map +1 -0
- package/dist/LexicalExtension.prod-COPHoPpX.js +886 -0
- package/dist/LexicalExtension.prod-COPHoPpX.js.map +1 -0
- package/dist/LexicalLink.prod-Bf9JUdMv.js +683 -0
- package/dist/LexicalLink.prod-Bf9JUdMv.js.map +1 -0
- package/dist/LexicalList.prod-DRz8vsM9.js +766 -0
- package/dist/LexicalList.prod-DRz8vsM9.js.map +1 -0
- package/dist/LexicalTable.prod-D16GW-aZ.js +2003 -0
- package/dist/LexicalTable.prod-D16GW-aZ.js.map +1 -0
- package/dist/LexicalUtils.prod-BBTLliac.js +360 -0
- package/dist/LexicalUtils.prod-BBTLliac.js.map +1 -0
- package/dist/LinkContextMenu-m_CGQEiX.js +101 -0
- package/dist/LinkContextMenu-m_CGQEiX.js.map +1 -0
- package/dist/MenuLink-Cm1yZO_5.js +21 -0
- package/dist/MenuLink-Cm1yZO_5.js.map +1 -0
- package/dist/MetaDataBar-C4QO9oBV.js +23 -0
- package/dist/MetaDataBar-C4QO9oBV.js.map +1 -0
- package/dist/MetaDataList-CAR1HTYs.js +24 -0
- package/dist/MetaDataList-CAR1HTYs.js.map +1 -0
- package/dist/ModalDialog-HUkDdAJ-.js +114 -0
- package/dist/ModalDialog-HUkDdAJ-.js.map +1 -0
- package/dist/MultiSelectBox-Cuh_o-A1.js +189 -0
- package/dist/MultiSelectBox-Cuh_o-A1.js.map +1 -0
- package/dist/MultiSelectItem-BF5xRjz5.js +36 -0
- package/dist/MultiSelectItem-BF5xRjz5.js.map +1 -0
- package/dist/Notification-CIhsHuF0.js +68 -0
- package/dist/Notification-CIhsHuF0.js.map +1 -0
- package/dist/OverlayCloseButton-rttFbAM_.js +22 -0
- package/dist/OverlayCloseButton-rttFbAM_.js.map +1 -0
- package/dist/OverlayStepBar-CjaoYdsh.js +45 -0
- package/dist/OverlayStepBar-CjaoYdsh.js.map +1 -0
- package/dist/PageOverlay-D_wG2oie.js +108 -0
- package/dist/PageOverlay-D_wG2oie.js.map +1 -0
- package/dist/PasteHandlerPlugin-DjD1wryY.js +235 -0
- package/dist/PasteHandlerPlugin-DjD1wryY.js.map +1 -0
- package/dist/Periods-BYETtB6R.js +40 -0
- package/dist/Periods-BYETtB6R.js.map +1 -0
- package/dist/ProgrammeCard-76gG7ksx.js +27 -0
- package/dist/ProgrammeCard-76gG7ksx.js.map +1 -0
- package/dist/RadioButton-Bto2p5B9.js +35 -0
- package/dist/RadioButton-Bto2p5B9.js.map +1 -0
- package/dist/RadioGroup-JeTjVp5B.js +50 -0
- package/dist/RadioGroup-JeTjVp5B.js.map +1 -0
- package/dist/Repeater-BhkTEUai.js +22 -0
- package/dist/Repeater-BhkTEUai.js.map +1 -0
- package/dist/RteEditor.module-Jk80F1FA.js +42 -0
- package/dist/RteEditor.module-Jk80F1FA.js.map +1 -0
- package/dist/SearchField.module-BgxjHaPG.js +19 -0
- package/dist/SearchField.module-BgxjHaPG.js.map +1 -0
- package/dist/SectionNotification-CQqwPTqP.js +14 -0
- package/dist/SectionNotification-CQqwPTqP.js.map +1 -0
- package/dist/SelectListbox.module-HaPs1CLD.js +30 -0
- package/dist/SelectListbox.module-HaPs1CLD.js.map +1 -0
- package/dist/Slider-BlLyrET9.js +102 -0
- package/dist/Slider-BlLyrET9.js.map +1 -0
- package/dist/Sortable.module-BTUOSbOU.js +27 -0
- package/dist/Sortable.module-BTUOSbOU.js.map +1 -0
- package/dist/SortableProvider-Dc7hwkb5.js +147 -0
- package/dist/SortableProvider-Dc7hwkb5.js.map +1 -0
- package/dist/Spinner-D8tWqg9j.js +31 -0
- package/dist/Spinner-D8tWqg9j.js.map +1 -0
- package/dist/StatusBage-DQDOF5-U.js +13 -0
- package/dist/StatusBage-DQDOF5-U.js.map +1 -0
- package/dist/StatusPill-DM7n3I4W.js +30 -0
- package/dist/StatusPill-DM7n3I4W.js.map +1 -0
- package/dist/TableCellContextMenu-D0IMQr3E.js +119 -0
- package/dist/TableCellContextMenu-D0IMQr3E.js.map +1 -0
- package/dist/TableCellResizerPlugin-CgYsYsuY.js +208 -0
- package/dist/TableCellResizerPlugin-CgYsYsuY.js.map +1 -0
- package/dist/TextArea-DqKIpOfT.js +68 -0
- package/dist/TextArea-DqKIpOfT.js.map +1 -0
- package/dist/ToggleSwitch-C7z7JVtx.js +51 -0
- package/dist/ToggleSwitch-C7z7JVtx.js.map +1 -0
- package/dist/Tooltip-BzB3jznk.js +80 -0
- package/dist/Tooltip-BzB3jznk.js.map +1 -0
- package/dist/VarIndicator-C-GueOZD.js +50 -0
- package/dist/VarIndicator-C-GueOZD.js.map +1 -0
- package/dist/WeekSelector.module-BLPrVYgn.js +18 -0
- package/dist/WeekSelector.module-BLPrVYgn.js.map +1 -0
- package/dist/__mocks__/svgrMock.js +12 -9
- package/dist/__mocks__/svgrMock.js.map +1 -1
- package/dist/assets/Accordion.css +1 -1
- package/dist/assets/AccordionCard.css +1 -1
- package/dist/assets/ActionList.css +1 -1
- package/dist/assets/AddCatalogueLinkForm.css +1 -1
- package/dist/assets/AppStatusBar.css +1 -1
- package/dist/assets/Attention.css +1 -1
- package/dist/assets/Backdrop.css +1 -1
- package/dist/assets/Backdrop2.css +1 -1
- package/dist/assets/Button.css +1 -1
- package/dist/assets/ButtonGroup.css +1 -1
- package/dist/assets/Card.css +1 -1
- package/dist/assets/Checkbox.css +1 -1
- package/dist/assets/CheckboxButtonBar.css +1 -1
- package/dist/assets/Chip.css +1 -1
- package/dist/assets/ClipboardButton.css +1 -1
- package/dist/assets/Column.css +1 -1
- package/dist/assets/Container.css +1 -1
- package/dist/assets/ControlsButton.css +1 -1
- package/dist/assets/CopyableText.css +1 -1
- package/dist/assets/Drawer.css +1 -1
- package/dist/assets/EmptyStateDataDisplay.css +1 -1
- package/dist/assets/ExpandableInfoPanel.css +1 -1
- package/dist/assets/FeedbackBar.css +1 -1
- package/dist/assets/FeedbackBox.css +1 -1
- package/dist/assets/Fieldset.css +1 -1
- package/dist/assets/Flyout.css +1 -1
- package/dist/assets/FormField.css +1 -1
- package/dist/assets/GridRow.css +1 -1
- package/dist/assets/HorizontalList.css +1 -1
- package/dist/assets/Icon.css +1 -1
- package/dist/assets/IconButton.css +1 -1
- package/dist/assets/InfoBanner.css +1 -1
- package/dist/assets/InfoMessage.css +1 -1
- package/dist/assets/Input.css +1 -1
- package/dist/assets/InputField.css +1 -1
- package/dist/assets/Label.css +1 -1
- package/dist/assets/LinkContextMenu.css +1 -1
- package/dist/assets/MenuLink.css +1 -1
- package/dist/assets/MenuLink2.css +1 -1
- package/dist/assets/MetaDataBar.css +1 -1
- package/dist/assets/MetaDataList.css +1 -1
- package/dist/assets/ModalDialog.css +1 -1
- package/dist/assets/MultiSelectBox.css +1 -1
- package/dist/assets/MultiSelectItem.css +1 -1
- package/dist/assets/Notification.css +1 -1
- package/dist/assets/OverlayCloseButton.css +1 -1
- package/dist/assets/OverlayStepBar.css +1 -1
- package/dist/assets/PageOverlay.css +1 -1
- package/dist/assets/Periods.css +1 -1
- package/dist/assets/ProgrammeCard.css +1 -1
- package/dist/assets/RadioButton.css +1 -1
- package/dist/assets/RadioButton2.css +1 -1
- package/dist/assets/RadioGroup.css +1 -1
- package/dist/assets/RteEditor.css +1 -1
- package/dist/assets/SearchField.css +1 -1
- package/dist/assets/SectionNotification.css +1 -1
- package/dist/assets/SelectListbox.css +1 -1
- package/dist/assets/Slider.css +1 -1
- package/dist/assets/Sortable.css +1 -1
- package/dist/assets/Spinner.css +1 -1
- package/dist/assets/StatusBage.css +1 -1
- package/dist/assets/StatusPill.css +1 -1
- package/dist/assets/TableCellContextMenu.css +1 -1
- package/dist/assets/TextArea.css +1 -1
- package/dist/assets/ToggleSwitch.css +1 -1
- package/dist/assets/Tooltip.css +1 -1
- package/dist/assets/VarIndicator.css +1 -1
- package/dist/assets/WeekSelector.css +1 -1
- package/dist/assets/components.css +1 -0
- package/dist/chunk-DeC0fbbY.js +23 -0
- package/dist/chunk-SZQXB3JV-D0XG4Tlp.js +8448 -0
- package/dist/chunk-SZQXB3JV-D0XG4Tlp.js.map +1 -0
- package/dist/client-UU-mS47K.js +18953 -0
- package/dist/client-UU-mS47K.js.map +1 -0
- package/dist/clsx-BD2qMUU1.js +18 -0
- package/dist/clsx-BD2qMUU1.js.map +1 -0
- package/dist/components/Accordion/Accordion.js +2 -94
- package/dist/components/Accordion/Accordion.stories.js +30 -32
- package/dist/components/Accordion/Accordion.stories.js.map +1 -1
- package/dist/components/Accordion/Accordion.test.js +49 -27
- package/dist/components/Accordion/Accordion.test.js.map +1 -1
- package/dist/components/Accordion/index.js +2 -5
- package/dist/components/AccordionCard/AccordionCard.js +2 -58
- package/dist/components/AccordionCard/AccordionCard.stories.js +31 -32
- package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.test.js +54 -31
- package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
- package/dist/components/AccordionCard/index.js +2 -5
- package/dist/components/ActionList/ActionList.js +2 -83
- package/dist/components/ActionList/ActionList.stories.js +49 -38
- package/dist/components/ActionList/ActionList.stories.js.map +1 -1
- package/dist/components/ActionList/ActionList.test.js +97 -57
- package/dist/components/ActionList/ActionList.test.js.map +1 -1
- package/dist/components/ActionList/index.js +2 -5
- package/dist/components/AppStatusBar/AppStatusBar.js +2 -13
- package/dist/components/AppStatusBar/AppStatusBar.stories.js +25 -26
- package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.test.js +17 -8
- package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
- package/dist/components/AppStatusBar/index.js +2 -5
- package/dist/components/Attention/Attention.js +2 -12
- package/dist/components/Attention/Attention.stories.js +18 -16
- package/dist/components/Attention/Attention.stories.js.map +1 -1
- package/dist/components/Attention/Attention.test.js +14 -8
- package/dist/components/Attention/Attention.test.js.map +1 -1
- package/dist/components/Attention/index.js +2 -5
- package/dist/components/Backdrop/Backdrop.js +2 -8
- package/dist/components/Backdrop/Backdrop.stories.js +32 -28
- package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.test.js +13 -7
- package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
- package/dist/components/Backdrop/index.js +2 -5
- package/dist/components/ButtonGroup/ButtonGroup.js +2 -26
- package/dist/components/ButtonGroup/ButtonGroup.stories.js +29 -39
- package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
- package/dist/components/ButtonGroup/index.js +2 -5
- package/dist/components/Buttons/Button.js +16 -22
- package/dist/components/Buttons/Button.js.map +1 -1
- package/dist/components/Buttons/Button.stories.js +43 -56
- package/dist/components/Buttons/Button.stories.js.map +1 -1
- package/dist/components/Buttons/Button.test.js +60 -33
- package/dist/components/Buttons/Button.test.js.map +1 -1
- package/dist/components/Buttons/LinkButton.js +14 -11
- package/dist/components/Buttons/LinkButton.js.map +1 -1
- package/dist/components/Buttons/LinkButton.stories.js +41 -57
- package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
- package/dist/components/Buttons/LinkButton.test.js +71 -65
- package/dist/components/Buttons/LinkButton.test.js.map +1 -1
- package/dist/components/Buttons/MenuButton.js +18 -15
- package/dist/components/Buttons/MenuButton.js.map +1 -1
- package/dist/components/Buttons/MenuButton.stories.js +45 -61
- package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
- package/dist/components/Buttons/MenuButton.test.js +70 -64
- package/dist/components/Buttons/MenuButton.test.js.map +1 -1
- package/dist/components/Buttons/index.js +4 -9
- package/dist/components/Card/Card.js +2 -39
- package/dist/components/Card/Card.stories.js +42 -49
- package/dist/components/Card/Card.stories.js.map +1 -1
- package/dist/components/Card/Card.test.js +14 -8
- package/dist/components/Card/Card.test.js.map +1 -1
- package/dist/components/Card/index.js +2 -5
- package/dist/components/Checkbox/Checkbox.js +2 -9
- package/dist/components/Checkbox/Checkbox.stories.js +44 -41
- package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +21 -15
- package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
- package/dist/components/Checkbox/index.js +2 -5
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js +2 -114
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +277 -310
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +71 -85
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
- package/dist/components/CheckboxButtonBar/index.js +2 -5
- package/dist/components/CheckboxTree/CheckboxTree.js +3 -172
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +89 -139
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/CheckboxTree/index.js +3 -5
- package/dist/components/Chip/Chip.js +2 -14
- package/dist/components/Chip/Chip.stories.js +24 -28
- package/dist/components/Chip/Chip.stories.js.map +1 -1
- package/dist/components/Chip/index.js +2 -5
- package/dist/components/ControlsButton/ControlsButton.js +2 -82
- package/dist/components/ControlsButton/ControlsButton.stories.js +98 -122
- package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
- package/dist/components/ControlsButton/index.js +2 -5
- package/dist/components/CopyableText/CopyableText.js +2 -64
- package/dist/components/CopyableText/CopyableText.stories.js +36 -35
- package/dist/components/CopyableText/CopyableText.stories.js.map +1 -1
- package/dist/components/CopyableText/index.js +2 -5
- package/dist/components/Drawer/Drawer.js +2 -62
- package/dist/components/Drawer/Drawer.stories.js +49 -68
- package/dist/components/Drawer/Drawer.stories.js.map +1 -1
- package/dist/components/Drawer/index.js +2 -5
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js +2 -50
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js +17 -18
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
- package/dist/components/EmptyStateDataDisplay/index.js +2 -5
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js +2 -57
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js +57 -50
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
- package/dist/components/ExpandableInfoPanel/index.js +2 -5
- package/dist/components/FeedbackBar/FeedbackBar.js +2 -30
- package/dist/components/FeedbackBar/FeedbackBar.stories.js +30 -33
- package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +18 -12
- package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
- package/dist/components/FeedbackBar/index.js +2 -5
- package/dist/components/FeedbackBox/FeedbackBox.js +2 -31
- package/dist/components/FeedbackBox/FeedbackBox.stories.js +30 -34
- package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
- package/dist/components/FeedbackBox/index.js +2 -5
- package/dist/components/FieldHint/FieldHint.js +2 -15
- package/dist/components/FieldHint/FieldHint.stories.js +27 -35
- package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
- package/dist/components/FieldHint/index.js +2 -5
- package/dist/components/Fieldset/Fieldset.js +2 -32
- package/dist/components/Fieldset/Fieldset.stories.js +40 -46
- package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
- package/dist/components/Fieldset/index.js +2 -5
- package/dist/components/FormField/FormField.js +2 -23
- package/dist/components/FormField/FormField.stories.js +40 -45
- package/dist/components/FormField/FormField.stories.js.map +1 -1
- package/dist/components/FormField/index.js +2 -5
- package/dist/components/FormInput/FormInput.js +3 -79
- package/dist/components/FormInput/FormInput.stories.js +60 -40
- package/dist/components/FormInput/FormInput.stories.js.map +1 -1
- package/dist/components/FormInput/index.js +3 -5
- package/dist/components/GridRow/Column/Column.js +2 -7
- package/dist/components/GridRow/Column/index.js +2 -5
- package/dist/components/GridRow/GridRow.js +27 -38
- package/dist/components/GridRow/GridRow.js.map +1 -1
- package/dist/components/GridRow/GridRow.stories.js +198 -95
- package/dist/components/GridRow/GridRow.stories.js.map +1 -1
- package/dist/components/GridRow/index.js +2 -5
- package/dist/components/HorizontalList/HorizontalList.js +2 -13
- package/dist/components/HorizontalList/HorizontalList.stories.js +44 -46
- package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
- package/dist/components/HorizontalList/index.js +2 -5
- package/dist/components/Icon/Icon.js +16 -9
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon/Icon.stories.js +47 -50
- package/dist/components/Icon/Icon.stories.js.map +1 -1
- package/dist/components/Icon/icons/index.js +2 -672
- package/dist/components/Icon/index.js +2 -5
- package/dist/components/IconButton/IconButton.js +2 -28
- package/dist/components/IconButton/IconButton.stories.js +55 -58
- package/dist/components/IconButton/IconButton.stories.js.map +1 -1
- package/dist/components/IconButton/index.js +2 -5
- package/dist/components/InfoBanner/InfoBanner.js +2 -12
- package/dist/components/InfoBanner/InfoBanner.stories.js +18 -22
- package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
- package/dist/components/InfoBanner/index.js +2 -5
- package/dist/components/InfoMessage/InfoMessage.js +2 -23
- package/dist/components/InfoMessage/InfoMessage.stories.js +21 -26
- package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
- package/dist/components/InfoMessage/index.js +2 -5
- package/dist/components/Input/Input.js +2 -28
- package/dist/components/Input/Input.stories.js +31 -50
- package/dist/components/Input/Input.stories.js.map +1 -1
- package/dist/components/Input/index.js +2 -5
- package/dist/components/InputField/InputField.js +2 -70
- package/dist/components/InputField/InputField.stories.js +81 -109
- package/dist/components/InputField/InputField.stories.js.map +1 -1
- package/dist/components/InputField/index.js +2 -5
- package/dist/components/Label/Label.js +2 -24
- package/dist/components/Label/Label.stories.js +26 -37
- package/dist/components/Label/Label.stories.js.map +1 -1
- package/dist/components/Label/Label.test.js +35 -20
- package/dist/components/Label/Label.test.js.map +1 -1
- package/dist/components/Label/index.js +2 -5
- package/dist/components/MenuLink/MenuLink.js +2 -25
- package/dist/components/MenuLink/MenuLink.stories.js +64 -27
- package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
- package/dist/components/MenuLink/index.js +2 -5
- package/dist/components/MetaDataBar/MetaDataBar.js +2 -13
- package/dist/components/MetaDataBar/MetaDataBar.stories.js +20 -20
- package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js +26 -16
- package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
- package/dist/components/MetaDataBar/index.js +2 -5
- package/dist/components/MetaDataList/MetaDataList.js +2 -14
- package/dist/components/MetaDataList/MetaDataList.stories.js +21 -23
- package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
- package/dist/components/MetaDataList/index.js +2 -5
- package/dist/components/ModalDialog/ModalDialog.js +2 -130
- package/dist/components/ModalDialog/ModalDialog.stories.js +80 -93
- package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
- package/dist/components/ModalDialog/index.js +2 -5
- package/dist/components/MultiSelect/MultiSelect.js +3 -8
- package/dist/components/MultiSelect/MultiSelect.stories.js +83 -93
- package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +3 -34
- package/dist/components/MultiSelect/components/MultiSelectItem.js +2 -9
- package/dist/components/MultiSelect/index.js +3 -5
- package/dist/components/MultiSelectBox/MultiSelectBox.js +2 -207
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +101 -70
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +54 -29
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
- package/dist/components/MultiSelectBox/index.js +2 -5
- package/dist/components/Notification/Notification.js +2 -58
- package/dist/components/Notification/Notification.stories.js +43 -40
- package/dist/components/Notification/Notification.stories.js.map +1 -1
- package/dist/components/Notification/Notification.test.js +24 -10
- package/dist/components/Notification/Notification.test.js.map +1 -1
- package/dist/components/Notification/index.js +2 -5
- package/dist/components/OverlayCloseButton/OverlayCloseButton.js +2 -25
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +30 -29
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
- package/dist/components/OverlayCloseButton/index.js +2 -5
- package/dist/components/OverlayStepBar/OverlayStepBar.js +2 -57
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js +44 -49
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
- package/dist/components/OverlayStepBar/index.js +2 -5
- package/dist/components/PageOverlay/PageOverlay.js +2 -114
- package/dist/components/PageOverlay/PageOverlay.stories.js +155 -163
- package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
- package/dist/components/PageOverlay/index.js +2 -5
- package/dist/components/PeriodSelector/PeriodSelector.js +3 -96
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +27 -24
- package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
- package/dist/components/PeriodSelector/index.js +3 -5
- package/dist/components/Periods/Periods.js +2 -46
- package/dist/components/Periods/Periods.stories.js +53 -60
- package/dist/components/Periods/Periods.stories.js.map +1 -1
- package/dist/components/Periods/index.js +2 -5
- package/dist/components/ProgrammeCard/ProgrammeCard.js +2 -29
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +71 -80
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
- package/dist/components/ProgrammeCard/index.js +2 -5
- package/dist/components/RadioButton/RadioButton.js +2 -26
- package/dist/components/RadioButton/RadioButton.stories.js +30 -40
- package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
- package/dist/components/RadioButton/index.js +2 -5
- package/dist/components/RadioGroup/RadioGroup.js +2 -52
- package/dist/components/RadioGroup/RadioGroup.stories.js +39 -46
- package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +46 -22
- package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
- package/dist/components/RadioGroup/index.js +2 -5
- package/dist/components/RadioTabSelector/RadioTabSelector.js +3 -94
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +76 -74
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
- package/dist/components/RadioTabSelector/index.js +3 -5
- package/dist/components/Repeater/Repeater.js +2 -19
- package/dist/components/Repeater/Repeater.stories.js +32 -42
- package/dist/components/Repeater/Repeater.stories.js.map +1 -1
- package/dist/components/Repeater/index.js +2 -5
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +3 -43
- package/dist/components/RteEditor/EditorHeader/index.js +3 -5
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +45 -47
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js +2 -108
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js +2 -5
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +150 -194
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +3 -81
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +3 -5
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +3 -38
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +2 -95
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +3 -217
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +2 -12
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +3 -5
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +75 -83
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +2 -31
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +2 -14
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +3 -36
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +2 -133
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js +2 -5
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +3 -42
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +69 -92
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +4 -7
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +3 -90
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +3 -5
- package/dist/components/RteEditor/Plugins/index.js +7 -21
- package/dist/components/RteEditor/Providers/LanguageProvider.js +22 -17
- package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
- package/dist/components/RteEditor/RteEditor.js +3 -871
- package/dist/components/RteEditor/RteEditor.stories.js +160 -207
- package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +41 -40
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/index.js +2 -5
- package/dist/components/RteEditor/helpers.js +33 -40
- package/dist/components/RteEditor/helpers.js.map +1 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js +2 -11
- package/dist/components/RteEditor/hooks/useFlyout.js +35 -23
- package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
- package/dist/components/RteEditor/hooks/useTranslation.js +9 -8
- package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
- package/dist/components/RteEditor/index.js +3 -6
- package/dist/components/RteEditor/mockCatalogueSearchData.js +484 -484
- package/dist/components/RteEditor/mockCatalogueSearchData.js.map +1 -1
- package/dist/components/RteEditor/mockRteContent.js +6 -100
- package/dist/components/RteEditor/mockRteContent.js.map +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +98 -122
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js +2 -11
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +58 -72
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/index.js +2 -10
- package/dist/components/RteEditor/nodes/index.js +3 -18
- package/dist/components/RteEditor/translations.js +216 -215
- package/dist/components/RteEditor/translations.js.map +1 -1
- package/dist/components/SearchField/SearchField.js +104 -105
- package/dist/components/SearchField/SearchField.js.map +1 -1
- package/dist/components/SearchField/SearcheField.stories.js +89 -118
- package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
- package/dist/components/SearchField/components/ResultOptionBox.js +19 -12
- package/dist/components/SearchField/components/ResultOptionBox.js.map +1 -1
- package/dist/components/SearchField/components/ResultsOption.js +50 -55
- package/dist/components/SearchField/components/ResultsOption.js.map +1 -1
- package/dist/components/SearchField/index.js +2 -5
- package/dist/components/SearchField/mockData.js +136 -135
- package/dist/components/SearchField/mockData.js.map +1 -1
- package/dist/components/SectionNotification/SectionNotification.js +2 -18
- package/dist/components/SectionNotification/SectionNotification.stories.js +21 -24
- package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
- package/dist/components/SectionNotification/index.js +2 -5
- package/dist/components/SelectListbox/SelectListBox.stories.js +3415 -248
- package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectListbox.js +45 -56
- package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
- package/dist/components/SelectListbox/SelectProvider.js +42 -43
- package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectButton.js +63 -77
- package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectContainer.js +22 -21
- package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOption.js +69 -66
- package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOptionBox.js +28 -30
- package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
- package/dist/components/SelectListbox/index.js +2 -5
- package/dist/components/Slider/Slider.js +2 -113
- package/dist/components/Slider/Slider.stories.js +59 -38
- package/dist/components/Slider/Slider.stories.js.map +1 -1
- package/dist/components/Slider/index.js +2 -5
- package/dist/components/Sortable/Sortable.js +25 -41
- package/dist/components/Sortable/Sortable.js.map +1 -1
- package/dist/components/Sortable/Sortable.stories.js +79 -59
- package/dist/components/Sortable/Sortable.stories.js.map +1 -1
- package/dist/components/Sortable/SortableProvider.js +2 -10
- package/dist/components/Sortable/actions.js +24 -32
- package/dist/components/Sortable/actions.js.map +1 -1
- package/dist/components/Sortable/components/SortableContainer.js +2 -9
- package/dist/components/Sortable/components/SortableHandle.js +13 -9
- package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
- package/dist/components/Sortable/components/SortableItem.js +103 -113
- package/dist/components/Sortable/components/SortableItem.js.map +1 -1
- package/dist/components/Sortable/constants.js +6 -14
- package/dist/components/Sortable/constants.js.map +1 -1
- package/dist/components/Sortable/index.js +1 -4
- package/dist/components/Sortable/sortableReducer.js +76 -90
- package/dist/components/Sortable/sortableReducer.js.map +1 -1
- package/dist/components/Spinner/Spinner.js +2 -22
- package/dist/components/Spinner/Spinner.stories.js +21 -26
- package/dist/components/Spinner/Spinner.stories.js.map +1 -1
- package/dist/components/Spinner/index.js +2 -5
- package/dist/components/StatusBadge/StatusBadge.stories.js +18 -21
- package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +19 -10
- package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
- package/dist/components/StatusBadge/StatusBage.js +2 -10
- package/dist/components/StatusBadge/index.js +2 -5
- package/dist/components/StatusPill/StatusPill.js +2 -35
- package/dist/components/StatusPill/StatusPill.stories.js +20 -20
- package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
- package/dist/components/StatusPill/index.js +2 -5
- package/dist/components/TextArea/TextArea.js +2 -65
- package/dist/components/TextArea/TextArea.stories.js +30 -31
- package/dist/components/TextArea/TextArea.stories.js.map +1 -1
- package/dist/components/TextArea/TextArea.test.js +38 -22
- package/dist/components/TextArea/TextArea.test.js.map +1 -1
- package/dist/components/TextArea/index.js +2 -5
- package/dist/components/ToggleSwitch/ToggleSwitch.js +2 -66
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +20 -26
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
- package/dist/components/ToggleSwitch/index.js +2 -5
- package/dist/components/Tooltip/Tooltip.js +2 -75
- package/dist/components/Tooltip/Tooltip.stories.js +27 -32
- package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
- package/dist/components/Tooltip/index.js +2 -5
- package/dist/components/VarIndicator/VarIndicator.js +2 -62
- package/dist/components/VarIndicator/VarIndicator.stories.js +31 -30
- package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +72 -54
- package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
- package/dist/components/VarIndicator/index.js +2 -5
- package/dist/components/WeekSelector/WeekSelector.js +89 -97
- package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.stories.js +146 -191
- package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorButton.js +20 -22
- package/dist/components/WeekSelector/components/WeekSelectorButton.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOption.js +72 -85
- package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js +30 -17
- package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js.map +1 -1
- package/dist/components/WeekSelector/index.js +2 -5
- package/dist/components/WeekSelector/mockdata.js +470 -469
- package/dist/components/WeekSelector/mockdata.js.map +1 -1
- package/dist/components/hooks/useDebounce.js +17 -16
- package/dist/components/hooks/useDebounce.js.map +1 -1
- package/dist/components/hooks/useOnClickOutside.js +15 -14
- package/dist/components/hooks/useOnClickOutside.js.map +1 -1
- package/dist/components/hooks/usePositionedFloaters.js +66 -71
- package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
- package/dist/components/hooks/useResponsive.js +36 -32
- package/dist/components/hooks/useResponsive.js.map +1 -1
- package/dist/components/index.js +64 -139
- package/dist/components-C4MCdrDH.js +1995 -0
- package/dist/components-C4MCdrDH.js.map +1 -0
- package/dist/dist-2TKCXdYZ.js +2005 -0
- package/dist/dist-2TKCXdYZ.js.map +1 -0
- package/dist/esm-UNe_gmRA.js +2781 -0
- package/dist/esm-UNe_gmRA.js.map +1 -0
- package/dist/helpers-BBSxTGRl.js +34 -0
- package/dist/helpers-BBSxTGRl.js.map +1 -0
- package/dist/icons-TRhI-4V6.js +2681 -0
- package/dist/icons-TRhI-4V6.js.map +1 -0
- package/dist/index.js +64 -139
- package/dist/lib-6BbFZdI7.js +5595 -0
- package/dist/lib-6BbFZdI7.js.map +1 -0
- package/dist/react-18-CRbkdI-3.js +43 -0
- package/dist/react-18-CRbkdI-3.js.map +1 -0
- package/dist/react.esm-CzIhAqlo.js +3297 -0
- package/dist/react.esm-CzIhAqlo.js.map +1 -0
- package/dist/setupTests.js +1226 -36
- package/dist/setupTests.js.map +1 -1
- package/dist/storyComponents/ClipboardButton/ClipboardButton.js +2 -45
- package/dist/storyComponents/ClipboardButton/index.js +2 -5
- package/dist/storyComponents/Container/Container.js +2 -40
- package/dist/storyComponents/Container/index.js +2 -5
- package/dist/storybook__react.d.js +6939 -7524
- package/dist/storybook__react.d.js.map +1 -1
- package/dist/test-DQruvi8i.js +19466 -0
- package/dist/test-DQruvi8i.js.map +1 -0
- package/dist/test-utils-BSs0eZfL.js +21 -0
- package/dist/test-utils-BSs0eZfL.js.map +1 -0
- package/dist/types/UserInterface.js +0 -2
- package/dist/vite-env.d.js +0 -2
- package/package.json +27 -27
- package/dist/Button.module-S1-6tV9o.js +0 -16
- package/dist/Button.module-S1-6tV9o.js.map +0 -1
- package/dist/Column-BL3dsYxn.js +0 -101
- package/dist/Column-BL3dsYxn.js.map +0 -1
- package/dist/Lexical.prod-o6Eq_uLx.js +0 -5202
- package/dist/Lexical.prod-o6Eq_uLx.js.map +0 -1
- package/dist/LexicalClipboard.prod-CnUrf2_p.js +0 -265
- package/dist/LexicalClipboard.prod-CnUrf2_p.js.map +0 -1
- package/dist/LexicalComposerContext.prod-DOyoZx0P.js +0 -22
- package/dist/LexicalComposerContext.prod-DOyoZx0P.js.map +0 -1
- package/dist/LexicalExtension.prod-CanXuzFO.js +0 -551
- package/dist/LexicalExtension.prod-CanXuzFO.js.map +0 -1
- package/dist/LexicalLink.prod-DAVbKER8.js +0 -561
- package/dist/LexicalLink.prod-DAVbKER8.js.map +0 -1
- package/dist/LexicalList.prod-C6cknPBV.js +0 -632
- package/dist/LexicalList.prod-C6cknPBV.js.map +0 -1
- package/dist/LexicalSelection.prod-B8GGrzJ3.js +0 -116
- package/dist/LexicalSelection.prod-B8GGrzJ3.js.map +0 -1
- package/dist/LexicalTable.prod-upbwOtcE.js +0 -1892
- package/dist/LexicalTable.prod-upbwOtcE.js.map +0 -1
- package/dist/LexicalUtils.prod-CF7x-KWm.js +0 -134
- package/dist/LexicalUtils.prod-CF7x-KWm.js.map +0 -1
- package/dist/MultiSelectItem-BzBmsKof.js +0 -24
- package/dist/MultiSelectItem-BzBmsKof.js.map +0 -1
- package/dist/RteEditor.module-CoTOIw5i.js +0 -41
- package/dist/RteEditor.module-CoTOIw5i.js.map +0 -1
- package/dist/SearchField.module-CMUEgX7d.js +0 -17
- package/dist/SearchField.module-CMUEgX7d.js.map +0 -1
- package/dist/SelectListbox.module-CXqMuXRB.js +0 -29
- package/dist/SelectListbox.module-CXqMuXRB.js.map +0 -1
- package/dist/Sortable.module-DCVXxKnw.js +0 -26
- package/dist/Sortable.module-DCVXxKnw.js.map +0 -1
- package/dist/SortableProvider-BbwlEPIr.js +0 -160
- package/dist/SortableProvider-BbwlEPIr.js.map +0 -1
- package/dist/TableCellResizerPlugin-qMtSAoKT.js +0 -248
- package/dist/TableCellResizerPlugin-qMtSAoKT.js.map +0 -1
- package/dist/TablePlugin-BRZcXq73.js +0 -308
- package/dist/TablePlugin-BRZcXq73.js.map +0 -1
- package/dist/WeekSelector.module-Clco7jTs.js +0 -17
- package/dist/WeekSelector.module-Clco7jTs.js.map +0 -1
- package/dist/_commonjsHelpers-DaMA6jEr.js +0 -9
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +0 -1
- package/dist/assets/CheckboxTree.css +0 -1
- package/dist/assets/EditorHeader.css +0 -1
- package/dist/assets/FormInput.css +0 -1
- package/dist/assets/PeriodSelector.css +0 -1
- package/dist/assets/RadioTabSelector.css +0 -1
- package/dist/assets/TablePlugin.css +0 -1
- package/dist/chunk-OPOZOKLO-nJkI9rUN.js +0 -4508
- package/dist/chunk-OPOZOKLO-nJkI9rUN.js.map +0 -1
- package/dist/client-D5eE1v54.js +0 -27222
- package/dist/client-D5eE1v54.js.map +0 -1
- package/dist/clsx-OuTLNxxd.js +0 -17
- package/dist/clsx-OuTLNxxd.js.map +0 -1
- package/dist/components/Accordion/Accordion.js.map +0 -1
- package/dist/components/Accordion/index.js.map +0 -1
- package/dist/components/AccordionCard/AccordionCard.js.map +0 -1
- package/dist/components/AccordionCard/index.js.map +0 -1
- package/dist/components/ActionList/ActionList.js.map +0 -1
- package/dist/components/ActionList/index.js.map +0 -1
- package/dist/components/AppStatusBar/AppStatusBar.js.map +0 -1
- package/dist/components/AppStatusBar/index.js.map +0 -1
- package/dist/components/Attention/Attention.js.map +0 -1
- package/dist/components/Attention/index.js.map +0 -1
- package/dist/components/Backdrop/Backdrop.js.map +0 -1
- package/dist/components/Backdrop/index.js.map +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +0 -1
- package/dist/components/ButtonGroup/index.js.map +0 -1
- package/dist/components/Buttons/index.js.map +0 -1
- package/dist/components/Card/Card.js.map +0 -1
- package/dist/components/Card/index.js.map +0 -1
- package/dist/components/Checkbox/Checkbox.js.map +0 -1
- package/dist/components/Checkbox/index.js.map +0 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js.map +0 -1
- package/dist/components/CheckboxButtonBar/index.js.map +0 -1
- package/dist/components/CheckboxTree/CheckboxTree.js.map +0 -1
- package/dist/components/CheckboxTree/index.js.map +0 -1
- package/dist/components/Chip/Chip.js.map +0 -1
- package/dist/components/Chip/index.js.map +0 -1
- package/dist/components/ControlsButton/ControlsButton.js.map +0 -1
- package/dist/components/ControlsButton/index.js.map +0 -1
- package/dist/components/CopyableText/CopyableText.js.map +0 -1
- package/dist/components/CopyableText/index.js.map +0 -1
- package/dist/components/Drawer/Drawer.js.map +0 -1
- package/dist/components/Drawer/index.js.map +0 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js.map +0 -1
- package/dist/components/EmptyStateDataDisplay/index.js.map +0 -1
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js.map +0 -1
- package/dist/components/ExpandableInfoPanel/index.js.map +0 -1
- package/dist/components/FeedbackBar/FeedbackBar.js.map +0 -1
- package/dist/components/FeedbackBar/index.js.map +0 -1
- package/dist/components/FeedbackBox/FeedbackBox.js.map +0 -1
- package/dist/components/FeedbackBox/index.js.map +0 -1
- package/dist/components/FieldHint/FieldHint.js.map +0 -1
- package/dist/components/FieldHint/index.js.map +0 -1
- package/dist/components/Fieldset/Fieldset.js.map +0 -1
- package/dist/components/Fieldset/index.js.map +0 -1
- package/dist/components/FormField/FormField.js.map +0 -1
- package/dist/components/FormField/index.js.map +0 -1
- package/dist/components/FormInput/FormInput.js.map +0 -1
- package/dist/components/FormInput/index.js.map +0 -1
- package/dist/components/GridRow/Column/Column.js.map +0 -1
- package/dist/components/GridRow/Column/index.js.map +0 -1
- package/dist/components/GridRow/index.js.map +0 -1
- package/dist/components/HorizontalList/HorizontalList.js.map +0 -1
- package/dist/components/HorizontalList/index.js.map +0 -1
- package/dist/components/Icon/icons/index.js.map +0 -1
- package/dist/components/Icon/index.js.map +0 -1
- package/dist/components/IconButton/IconButton.js.map +0 -1
- package/dist/components/IconButton/index.js.map +0 -1
- package/dist/components/InfoBanner/InfoBanner.js.map +0 -1
- package/dist/components/InfoBanner/index.js.map +0 -1
- package/dist/components/InfoMessage/InfoMessage.js.map +0 -1
- package/dist/components/InfoMessage/index.js.map +0 -1
- package/dist/components/Input/Input.js.map +0 -1
- package/dist/components/Input/index.js.map +0 -1
- package/dist/components/InputField/InputField.js.map +0 -1
- package/dist/components/InputField/index.js.map +0 -1
- package/dist/components/Label/Label.js.map +0 -1
- package/dist/components/Label/index.js.map +0 -1
- package/dist/components/MenuLink/MenuLink.js.map +0 -1
- package/dist/components/MenuLink/index.js.map +0 -1
- package/dist/components/MetaDataBar/MetaDataBar.js.map +0 -1
- package/dist/components/MetaDataBar/index.js.map +0 -1
- package/dist/components/MetaDataList/MetaDataList.js.map +0 -1
- package/dist/components/MetaDataList/index.js.map +0 -1
- package/dist/components/ModalDialog/ModalDialog.js.map +0 -1
- package/dist/components/ModalDialog/index.js.map +0 -1
- package/dist/components/MultiSelect/MultiSelect.js.map +0 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js.map +0 -1
- package/dist/components/MultiSelect/components/MultiSelectItem.js.map +0 -1
- package/dist/components/MultiSelect/index.js.map +0 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.js.map +0 -1
- package/dist/components/MultiSelectBox/index.js.map +0 -1
- package/dist/components/Notification/Notification.js.map +0 -1
- package/dist/components/Notification/index.js.map +0 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.js.map +0 -1
- package/dist/components/OverlayCloseButton/index.js.map +0 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.js.map +0 -1
- package/dist/components/OverlayStepBar/index.js.map +0 -1
- package/dist/components/PageOverlay/PageOverlay.js.map +0 -1
- package/dist/components/PageOverlay/index.js.map +0 -1
- package/dist/components/PeriodSelector/PeriodSelector.js.map +0 -1
- package/dist/components/PeriodSelector/index.js.map +0 -1
- package/dist/components/Periods/Periods.js.map +0 -1
- package/dist/components/Periods/index.js.map +0 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.js.map +0 -1
- package/dist/components/ProgrammeCard/index.js.map +0 -1
- package/dist/components/RadioButton/RadioButton.js.map +0 -1
- package/dist/components/RadioButton/index.js.map +0 -1
- package/dist/components/RadioGroup/RadioGroup.js.map +0 -1
- package/dist/components/RadioGroup/index.js.map +0 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.js.map +0 -1
- package/dist/components/RadioTabSelector/index.js.map +0 -1
- package/dist/components/Repeater/Repeater.js.map +0 -1
- package/dist/components/Repeater/index.js.map +0 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js.map +0 -1
- package/dist/components/RteEditor/EditorHeader/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js.map +0 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/index.js.map +0 -1
- package/dist/components/RteEditor/RteEditor.js.map +0 -1
- package/dist/components/RteEditor/UvaTheme/index.js.map +0 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js.map +0 -1
- package/dist/components/RteEditor/index.js.map +0 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js.map +0 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/index.js.map +0 -1
- package/dist/components/RteEditor/nodes/index.js.map +0 -1
- package/dist/components/SearchField/index.js.map +0 -1
- package/dist/components/SectionNotification/SectionNotification.js.map +0 -1
- package/dist/components/SectionNotification/index.js.map +0 -1
- package/dist/components/SelectListbox/index.js.map +0 -1
- package/dist/components/Slider/Slider.js.map +0 -1
- package/dist/components/Slider/index.js.map +0 -1
- package/dist/components/Sortable/SortableProvider.js.map +0 -1
- package/dist/components/Sortable/components/SortableContainer.js.map +0 -1
- package/dist/components/Sortable/index.js.map +0 -1
- package/dist/components/Spinner/Spinner.js.map +0 -1
- package/dist/components/Spinner/index.js.map +0 -1
- package/dist/components/StatusBadge/StatusBage.js.map +0 -1
- package/dist/components/StatusBadge/index.js.map +0 -1
- package/dist/components/StatusPill/StatusPill.js.map +0 -1
- package/dist/components/StatusPill/index.js.map +0 -1
- package/dist/components/TextArea/TextArea.js.map +0 -1
- package/dist/components/TextArea/index.js.map +0 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.js.map +0 -1
- package/dist/components/ToggleSwitch/index.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/components/Tooltip/index.js.map +0 -1
- package/dist/components/VarIndicator/VarIndicator.js.map +0 -1
- package/dist/components/VarIndicator/index.js.map +0 -1
- package/dist/components/WeekSelector/index.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/index-B_q_4aBT.js +0 -24946
- package/dist/index-B_q_4aBT.js.map +0 -1
- package/dist/index-CULNJwuI.js +0 -2355
- package/dist/index-CULNJwuI.js.map +0 -1
- package/dist/index-D6WVIfcJ.js +0 -6039
- package/dist/index-D6WVIfcJ.js.map +0 -1
- package/dist/index-YdDr6J97.js +0 -3099
- package/dist/index-YdDr6J97.js.map +0 -1
- package/dist/index-yEhaxKq-.js +0 -238
- package/dist/index-yEhaxKq-.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/react-18-CxCoNkIN.js +0 -41
- package/dist/react-18-CxCoNkIN.js.map +0 -1
- package/dist/react.esm-C68fQMAi.js +0 -4237
- package/dist/react.esm-C68fQMAi.js.map +0 -1
- package/dist/storyComponents/ClipboardButton/ClipboardButton.js.map +0 -1
- package/dist/storyComponents/ClipboardButton/index.js.map +0 -1
- package/dist/storyComponents/Container/Container.js.map +0 -1
- package/dist/storyComponents/Container/index.js.map +0 -1
- package/dist/test-utils-BcpWLsLH.js +0 -56
- package/dist/test-utils-BcpWLsLH.js.map +0 -1
- package/dist/types/UserInterface.js.map +0 -1
- package/dist/vite-env.d.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-OPOZOKLO-nJkI9rUN.js","sources":["../node_modules/storybook/dist/_browser-chunks/chunk-XLJZ7AOP.js","../node_modules/storybook/dist/_browser-chunks/chunk-LCHBOIHN.js","../node_modules/storybook/dist/_browser-chunks/chunk-YK43Z22A.js","../node_modules/storybook/dist/_browser-chunks/chunk-JVRDBUUP.js","../node_modules/storybook/dist/_browser-chunks/chunk-POMIZRJL.js","../node_modules/storybook/dist/_browser-chunks/chunk-SI6AKD4S.js","../node_modules/storybook/dist/_browser-chunks/chunk-V2VKKSMQ.js","../node_modules/storybook/dist/_browser-chunks/chunk-ZCFV7BZB.js","../node_modules/storybook/dist/channels/index.js","../node_modules/storybook/dist/_browser-chunks/chunk-OPOZOKLO.js"],"sourcesContent":["import {\n __commonJS\n} from \"./chunk-A242L54C.js\";\n\n// ../../node_modules/picoquery/lib/string-util.js\nvar require_string_util = __commonJS({\n \"../../node_modules/picoquery/lib/string-util.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.encodeString = encodeString;\n var hexTable = Array.from({ length: 256 }, (_, i) => \"%\" + ((i < 16 ? \"0\" : \"\") + i.toString(16)).toUpperCase()), noEscape = new Int8Array([\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ]);\n function encodeString(str) {\n let len = str.length;\n if (len === 0)\n return \"\";\n let out = \"\", lastPos = 0, i = 0;\n outer: for (; i < len; i++) {\n let c = str.charCodeAt(i);\n for (; c < 128; ) {\n if (noEscape[c] !== 1 && (lastPos < i && (out += str.slice(lastPos, i)), lastPos = i + 1, out += hexTable[c]), ++i === len)\n break outer;\n c = str.charCodeAt(i);\n }\n if (lastPos < i && (out += str.slice(lastPos, i)), c < 2048) {\n lastPos = i + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n if (++i, i >= len)\n throw new Error(\"URI malformed\");\n let c2 = str.charCodeAt(i) & 1023;\n lastPos = i + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n return lastPos === 0 ? str : lastPos < len ? out + str.slice(lastPos) : out;\n }\n }\n});\n\n// ../../node_modules/picoquery/lib/shared.js\nvar require_shared = __commonJS({\n \"../../node_modules/picoquery/lib/shared.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.defaultOptions = exports.defaultShouldSerializeObject = exports.defaultValueSerializer = void 0;\n var string_util_js_1 = require_string_util(), defaultValueSerializer = (value) => {\n switch (typeof value) {\n case \"string\":\n return (0, string_util_js_1.encodeString)(value);\n case \"bigint\":\n case \"boolean\":\n return \"\" + value;\n case \"number\":\n if (Number.isFinite(value))\n return value < 1e21 ? \"\" + value : (0, string_util_js_1.encodeString)(\"\" + value);\n break;\n }\n return value instanceof Date ? (0, string_util_js_1.encodeString)(value.toISOString()) : \"\";\n };\n exports.defaultValueSerializer = defaultValueSerializer;\n var defaultShouldSerializeObject = (val) => val instanceof Date;\n exports.defaultShouldSerializeObject = defaultShouldSerializeObject;\n var identityFunc = (v) => v;\n exports.defaultOptions = {\n nesting: !0,\n nestingSyntax: \"dot\",\n arrayRepeat: !1,\n arrayRepeatSyntax: \"repeat\",\n delimiter: 38,\n valueDeserializer: identityFunc,\n valueSerializer: exports.defaultValueSerializer,\n keyDeserializer: identityFunc,\n shouldSerializeObject: exports.defaultShouldSerializeObject\n };\n }\n});\n\n// ../../node_modules/picoquery/lib/object-util.js\nvar require_object_util = __commonJS({\n \"../../node_modules/picoquery/lib/object-util.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.getDeepObject = getDeepObject;\n exports.stringifyObject = stringifyObject;\n var shared_js_1 = require_shared(), string_util_js_1 = require_string_util();\n function isPrototypeKey(value) {\n return value === \"__proto__\" || value === \"constructor\" || value === \"prototype\";\n }\n function getDeepObject(obj, key, nextKey, forceObject, forceArray) {\n if (isPrototypeKey(key))\n return obj;\n let currObj = obj[key];\n return typeof currObj == \"object\" && currObj !== null ? currObj : !forceObject && (forceArray || typeof nextKey == \"number\" || typeof nextKey == \"string\" && nextKey * 0 === 0 && nextKey.indexOf(\".\") === -1) ? obj[key] = [] : obj[key] = {};\n }\n var MAX_DEPTH = 20, strBracketPair = \"[]\", strBracketLeft = \"[\", strBracketRight = \"]\", strDot = \".\";\n function stringifyObject(obj, options, depth = 0, parentKey, isProbableArray) {\n let { nestingSyntax = shared_js_1.defaultOptions.nestingSyntax, arrayRepeat = shared_js_1.defaultOptions.arrayRepeat, arrayRepeatSyntax = shared_js_1.defaultOptions.arrayRepeatSyntax, nesting = shared_js_1.defaultOptions.nesting, delimiter = shared_js_1.defaultOptions.delimiter, valueSerializer = shared_js_1.defaultOptions.valueSerializer, shouldSerializeObject = shared_js_1.defaultOptions.shouldSerializeObject } = options, strDelimiter = typeof delimiter == \"number\" ? String.fromCharCode(delimiter) : delimiter, useArrayRepeatKey = isProbableArray === !0 && arrayRepeat, shouldUseDot = nestingSyntax === \"dot\" || nestingSyntax === \"js\" && !isProbableArray;\n if (depth > MAX_DEPTH)\n return \"\";\n let result = \"\", firstKey = !0, valueIsProbableArray = !1;\n for (let key in obj) {\n let value = obj[key];\n if (value === void 0)\n continue;\n let path;\n parentKey ? (path = parentKey, useArrayRepeatKey ? arrayRepeatSyntax === \"bracket\" && (path += strBracketPair) : shouldUseDot ? (path += strDot, path += key) : (path += strBracketLeft, path += key, path += strBracketRight)) : path = key, firstKey || (result += strDelimiter), typeof value == \"object\" && value !== null && !shouldSerializeObject(value) ? (valueIsProbableArray = value.pop !== void 0, (nesting || arrayRepeat && valueIsProbableArray) && (result += stringifyObject(value, options, depth + 1, path, valueIsProbableArray))) : (result += (0, string_util_js_1.encodeString)(path), result += \"=\", result += valueSerializer(value, key)), firstKey && (firstKey = !1);\n }\n return result;\n }\n }\n});\n\n// ../../node_modules/picoquery/lib/decode-uri-component.js\nvar require_decode_uri_component = __commonJS({\n \"../../node_modules/picoquery/lib/decode-uri-component.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.decodeURIComponent = decodeURIComponent;\n var UTF8_ACCEPT = 12, UTF8_REJECT = 0, UTF8_DATA = [\n // The first part of the table maps bytes to character to a transition.\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 8,\n 7,\n 7,\n 10,\n 9,\n 9,\n 9,\n 11,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n // The second part of the table maps a state to a new state when adding a\n // transition.\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 12,\n 0,\n 0,\n 0,\n 0,\n 24,\n 36,\n 48,\n 60,\n 72,\n 84,\n 96,\n 0,\n 12,\n 12,\n 12,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 24,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 24,\n 24,\n 24,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 24,\n 24,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 48,\n 48,\n 48,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 48,\n 48,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 48,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n // The third part maps the current transition to a mask that needs to apply\n // to the byte.\n 127,\n 63,\n 63,\n 63,\n 0,\n 31,\n 15,\n 15,\n 15,\n 7,\n 7,\n 7\n ];\n function decodeURIComponent(uri) {\n let percentPosition = uri.indexOf(\"%\");\n if (percentPosition === -1)\n return uri;\n let length = uri.length, decoded = \"\", last = 0, codepoint = 0, startOfOctets = percentPosition, state = UTF8_ACCEPT;\n for (; percentPosition > -1 && percentPosition < length; ) {\n let high = hexCodeToInt(uri[percentPosition + 1], 4), low = hexCodeToInt(uri[percentPosition + 2], 0), byte = high | low, type = UTF8_DATA[byte];\n if (state = UTF8_DATA[256 + state + type], codepoint = codepoint << 6 | byte & UTF8_DATA[364 + type], state === UTF8_ACCEPT)\n decoded += uri.slice(last, startOfOctets), decoded += codepoint <= 65535 ? String.fromCharCode(codepoint) : String.fromCharCode(55232 + (codepoint >> 10), 56320 + (codepoint & 1023)), codepoint = 0, last = percentPosition + 3, percentPosition = startOfOctets = uri.indexOf(\"%\", last);\n else {\n if (state === UTF8_REJECT)\n return null;\n if (percentPosition += 3, percentPosition < length && uri.charCodeAt(percentPosition) === 37)\n continue;\n return null;\n }\n }\n return decoded + uri.slice(last);\n }\n var HEX = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n A: 10,\n b: 11,\n B: 11,\n c: 12,\n C: 12,\n d: 13,\n D: 13,\n e: 14,\n E: 14,\n f: 15,\n F: 15\n };\n function hexCodeToInt(c, shift) {\n let i = HEX[c];\n return i === void 0 ? 255 : i << shift;\n }\n }\n});\n\n// ../../node_modules/picoquery/lib/parse.js\nvar require_parse = __commonJS({\n \"../../node_modules/picoquery/lib/parse.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.numberValueDeserializer = exports.numberKeyDeserializer = void 0;\n exports.parse = parse;\n var object_util_js_1 = require_object_util(), shared_js_1 = require_shared(), decode_uri_component_js_1 = require_decode_uri_component(), numberKeyDeserializer = (key) => {\n let asNumber = Number(key);\n return Number.isNaN(asNumber) ? key : asNumber;\n };\n exports.numberKeyDeserializer = numberKeyDeserializer;\n var numberValueDeserializer = (value) => {\n let asNumber = Number(value);\n return Number.isNaN(asNumber) ? value : asNumber;\n };\n exports.numberValueDeserializer = numberValueDeserializer;\n var regexPlus = /\\+/g, Empty = function() {\n };\n Empty.prototype = /* @__PURE__ */ Object.create(null);\n function computeKeySlice(input, startIndex, endIndex, keyHasPlus, shouldDecodeKey) {\n let chunk = input.substring(startIndex, endIndex);\n return keyHasPlus && (chunk = chunk.replace(regexPlus, \" \")), shouldDecodeKey && (chunk = (0, decode_uri_component_js_1.decodeURIComponent)(chunk) || chunk), chunk;\n }\n function parse(input, options) {\n let { valueDeserializer = shared_js_1.defaultOptions.valueDeserializer, keyDeserializer = shared_js_1.defaultOptions.keyDeserializer, arrayRepeatSyntax = shared_js_1.defaultOptions.arrayRepeatSyntax, nesting = shared_js_1.defaultOptions.nesting, arrayRepeat = shared_js_1.defaultOptions.arrayRepeat, nestingSyntax = shared_js_1.defaultOptions.nestingSyntax, delimiter = shared_js_1.defaultOptions.delimiter } = options ?? {}, charDelimiter = typeof delimiter == \"string\" ? delimiter.charCodeAt(0) : delimiter, isJsNestingSyntax = nestingSyntax === \"js\", result = new Empty();\n if (typeof input != \"string\")\n return result;\n let inputLength = input.length, value = \"\", startingIndex = -1, equalityIndex = -1, keySeparatorIndex = -1, currentObj = result, lastKey, currentKey = \"\", keyChunk = \"\", shouldDecodeKey = !1, shouldDecodeValue = !1, keyHasPlus = !1, valueHasPlus = !1, keyIsDot = !1, hasBothKeyValuePair = !1, c = 0, arrayRepeatBracketIndex = -1, prevIndex = -1, prevChar = -1;\n for (let i = 0; i < inputLength + 1; i++) {\n if (c = i !== inputLength ? input.charCodeAt(i) : charDelimiter, c === charDelimiter) {\n if (hasBothKeyValuePair = equalityIndex > startingIndex, hasBothKeyValuePair || (equalityIndex = i), keySeparatorIndex !== equalityIndex - 1 && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, arrayRepeatBracketIndex > -1 ? arrayRepeatBracketIndex : equalityIndex, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax && keyIsDot, void 0))), hasBothKeyValuePair || currentKey !== \"\") {\n hasBothKeyValuePair && (value = input.slice(equalityIndex + 1, i), valueHasPlus && (value = value.replace(regexPlus, \" \")), shouldDecodeValue && (value = (0, decode_uri_component_js_1.decodeURIComponent)(value) || value));\n let newValue = valueDeserializer(value, currentKey);\n if (arrayRepeat) {\n let currentValue = currentObj[currentKey];\n currentValue === void 0 ? arrayRepeatBracketIndex > -1 ? currentObj[currentKey] = [newValue] : currentObj[currentKey] = newValue : currentValue.pop ? currentValue.push(newValue) : currentObj[currentKey] = [currentValue, newValue];\n } else\n currentObj[currentKey] = newValue;\n }\n value = \"\", startingIndex = i, equalityIndex = i, shouldDecodeKey = !1, shouldDecodeValue = !1, keyHasPlus = !1, valueHasPlus = !1, keyIsDot = !1, arrayRepeatBracketIndex = -1, keySeparatorIndex = i, currentObj = result, lastKey = void 0, currentKey = \"\";\n } else c === 93 ? (arrayRepeat && arrayRepeatSyntax === \"bracket\" && prevChar === 91 && (arrayRepeatBracketIndex = prevIndex), nesting && (nestingSyntax === \"index\" || isJsNestingSyntax) && equalityIndex <= startingIndex && (keySeparatorIndex !== prevIndex && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, i, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, void 0, void 0)), lastKey = currentKey, keyHasPlus = !1, shouldDecodeKey = !1), keySeparatorIndex = i, keyIsDot = !1)) : c === 46 ? nesting && (nestingSyntax === \"dot\" || isJsNestingSyntax) && equalityIndex <= startingIndex && (keySeparatorIndex !== prevIndex && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, i, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax)), lastKey = currentKey, keyHasPlus = !1, shouldDecodeKey = !1), keyIsDot = !0, keySeparatorIndex = i) : c === 91 ? nesting && (nestingSyntax === \"index\" || isJsNestingSyntax) && equalityIndex <= startingIndex && (keySeparatorIndex !== prevIndex && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, i, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), isJsNestingSyntax && lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax)), lastKey = currentKey, keyHasPlus = !1, shouldDecodeKey = !1, keyIsDot = !1), keySeparatorIndex = i) : c === 61 ? equalityIndex <= startingIndex ? equalityIndex = i : shouldDecodeValue = !0 : c === 43 ? equalityIndex > startingIndex ? valueHasPlus = !0 : keyHasPlus = !0 : c === 37 && (equalityIndex > startingIndex ? shouldDecodeValue = !0 : shouldDecodeKey = !0);\n prevIndex = i, prevChar = c;\n }\n return result;\n }\n }\n});\n\n// ../../node_modules/picoquery/lib/stringify.js\nvar require_stringify = __commonJS({\n \"../../node_modules/picoquery/lib/stringify.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.stringify = stringify;\n var object_util_js_1 = require_object_util();\n function stringify(input, options) {\n if (input === null || typeof input != \"object\")\n return \"\";\n let optionsObj = options ?? {};\n return (0, object_util_js_1.stringifyObject)(input, optionsObj);\n }\n }\n});\n\n// ../../node_modules/picoquery/lib/main.js\nvar require_main = __commonJS({\n \"../../node_modules/picoquery/lib/main.js\"(exports) {\n \"use strict\";\n var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {\n k2 === void 0 && (k2 = k);\n var desc = Object.getOwnPropertyDescriptor(m, k);\n (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) && (desc = { enumerable: !0, get: function() {\n return m[k];\n } }), Object.defineProperty(o, k2, desc);\n }) : (function(o, m, k, k2) {\n k2 === void 0 && (k2 = k), o[k2] = m[k];\n })), __exportStar = exports && exports.__exportStar || function(m, exports2) {\n for (var p in m) p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports2, p) && __createBinding(exports2, m, p);\n };\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.stringify = exports.parse = void 0;\n var parse_js_1 = require_parse();\n Object.defineProperty(exports, \"parse\", { enumerable: !0, get: function() {\n return parse_js_1.parse;\n } });\n var stringify_js_1 = require_stringify();\n Object.defineProperty(exports, \"stringify\", { enumerable: !0, get: function() {\n return stringify_js_1.stringify;\n } });\n __exportStar(require_shared(), exports);\n }\n});\n\nexport {\n require_main\n};\n","// ../../node_modules/es-toolkit/dist/predicate/isPlainObject.mjs\nfunction isPlainObject(value) {\n if (!value || typeof value != \"object\")\n return !1;\n let proto = Object.getPrototypeOf(value);\n return proto === null || proto === Object.prototype || Object.getPrototypeOf(proto) === null ? Object.prototype.toString.call(value) === \"[object Object]\" : !1;\n}\n\n// ../../node_modules/es-toolkit/dist/predicate/isPrimitive.mjs\nfunction isPrimitive(value) {\n return value == null || typeof value != \"object\" && typeof value != \"function\";\n}\n\n// ../../node_modules/es-toolkit/dist/predicate/isTypedArray.mjs\nfunction isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\n// ../../node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs\nfunction getSymbols(object) {\n return Object.getOwnPropertySymbols(object).filter((symbol) => Object.prototype.propertyIsEnumerable.call(object, symbol));\n}\n\n// ../../node_modules/es-toolkit/dist/compat/_internal/getTag.mjs\nfunction getTag(value) {\n return value == null ? value === void 0 ? \"[object Undefined]\" : \"[object Null]\" : Object.prototype.toString.call(value);\n}\n\n// ../../node_modules/es-toolkit/dist/compat/_internal/tags.mjs\nvar regexpTag = \"[object RegExp]\", stringTag = \"[object String]\", numberTag = \"[object Number]\", booleanTag = \"[object Boolean]\", argumentsTag = \"[object Arguments]\", symbolTag = \"[object Symbol]\", dateTag = \"[object Date]\", mapTag = \"[object Map]\", setTag = \"[object Set]\", arrayTag = \"[object Array]\", functionTag = \"[object Function]\", arrayBufferTag = \"[object ArrayBuffer]\", objectTag = \"[object Object]\", errorTag = \"[object Error]\", dataViewTag = \"[object DataView]\", uint8ArrayTag = \"[object Uint8Array]\", uint8ClampedArrayTag = \"[object Uint8ClampedArray]\", uint16ArrayTag = \"[object Uint16Array]\", uint32ArrayTag = \"[object Uint32Array]\", bigUint64ArrayTag = \"[object BigUint64Array]\", int8ArrayTag = \"[object Int8Array]\", int16ArrayTag = \"[object Int16Array]\", int32ArrayTag = \"[object Int32Array]\", bigInt64ArrayTag = \"[object BigInt64Array]\", float32ArrayTag = \"[object Float32Array]\", float64ArrayTag = \"[object Float64Array]\";\n\nexport {\n isPrimitive,\n isTypedArray,\n getSymbols,\n getTag,\n regexpTag,\n stringTag,\n numberTag,\n booleanTag,\n argumentsTag,\n symbolTag,\n dateTag,\n mapTag,\n setTag,\n arrayTag,\n functionTag,\n arrayBufferTag,\n objectTag,\n errorTag,\n dataViewTag,\n uint8ArrayTag,\n uint8ClampedArrayTag,\n uint16ArrayTag,\n uint32ArrayTag,\n bigUint64ArrayTag,\n int8ArrayTag,\n int16ArrayTag,\n int32ArrayTag,\n bigInt64ArrayTag,\n float32ArrayTag,\n float64ArrayTag,\n isPlainObject\n};\n","import {\n argumentsTag,\n arrayBufferTag,\n arrayTag,\n booleanTag,\n dataViewTag,\n dateTag,\n float32ArrayTag,\n float64ArrayTag,\n getSymbols,\n getTag,\n int16ArrayTag,\n int32ArrayTag,\n int8ArrayTag,\n isPlainObject,\n isPrimitive,\n isTypedArray,\n mapTag,\n numberTag,\n objectTag,\n regexpTag,\n setTag,\n stringTag,\n symbolTag,\n uint16ArrayTag,\n uint32ArrayTag,\n uint8ArrayTag,\n uint8ClampedArrayTag\n} from \"./chunk-LCHBOIHN.js\";\n\n// ../../node_modules/es-toolkit/dist/object/mapValues.mjs\nfunction mapValues(object, getNewValue) {\n let result = {}, keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i], value = object[key];\n result[key] = getNewValue(value, key, object);\n }\n return result;\n}\n\n// ../../node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs\nfunction isUnsafeProperty(key) {\n return key === \"__proto__\";\n}\n\n// ../../node_modules/es-toolkit/dist/object/mergeWith.mjs\nfunction mergeWith(target, source, merge2) {\n let sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n let key = sourceKeys[i];\n if (isUnsafeProperty(key))\n continue;\n let sourceValue = source[key], targetValue = target[key], merged = merge2(targetValue, sourceValue, key, target, source);\n merged !== void 0 ? target[key] = merged : Array.isArray(sourceValue) ? Array.isArray(targetValue) ? target[key] = mergeWith(targetValue, sourceValue, merge2) : target[key] = mergeWith([], sourceValue, merge2) : isPlainObject(sourceValue) ? isPlainObject(targetValue) ? target[key] = mergeWith(targetValue, sourceValue, merge2) : target[key] = mergeWith({}, sourceValue, merge2) : (targetValue === void 0 || sourceValue !== void 0) && (target[key] = sourceValue);\n }\n return target;\n}\n\n// ../../node_modules/es-toolkit/dist/object/pick.mjs\nfunction pick(obj, keys) {\n let result = {};\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n Object.hasOwn(obj, key) && (result[key] = obj[key]);\n }\n return result;\n}\n\n// ../../node_modules/es-toolkit/dist/object/pickBy.mjs\nfunction pickBy(obj, shouldPick) {\n let result = {}, keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i], value = obj[key];\n shouldPick(value, key) && (result[key] = value);\n }\n return result;\n}\n\n// ../../node_modules/es-toolkit/dist/object/clone.mjs\nfunction clone(obj) {\n if (isPrimitive(obj))\n return obj;\n if (Array.isArray(obj) || isTypedArray(obj) || obj instanceof ArrayBuffer || typeof SharedArrayBuffer < \"u\" && obj instanceof SharedArrayBuffer)\n return obj.slice(0);\n let prototype = Object.getPrototypeOf(obj), Constructor = prototype.constructor;\n if (obj instanceof Date || obj instanceof Map || obj instanceof Set)\n return new Constructor(obj);\n if (obj instanceof RegExp) {\n let newRegExp = new Constructor(obj);\n return newRegExp.lastIndex = obj.lastIndex, newRegExp;\n }\n if (obj instanceof DataView)\n return new Constructor(obj.buffer.slice(0));\n if (obj instanceof Error) {\n let newError = new Constructor(obj.message);\n return newError.stack = obj.stack, newError.name = obj.name, newError.cause = obj.cause, newError;\n }\n if (typeof File < \"u\" && obj instanceof File)\n return new Constructor([obj], obj.name, { type: obj.type, lastModified: obj.lastModified });\n if (typeof obj == \"object\") {\n let newObject = Object.create(prototype);\n return Object.assign(newObject, obj);\n }\n return obj;\n}\n\n// ../../node_modules/es-toolkit/dist/object/cloneDeepWith.mjs\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {\n let cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned !== void 0)\n return cloned;\n if (isPrimitive(valueToClone))\n return valueToClone;\n if (stack.has(valueToClone))\n return stack.get(valueToClone);\n if (Array.isArray(valueToClone)) {\n let result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++)\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n return Object.hasOwn(valueToClone, \"index\") && (result.index = valueToClone.index), Object.hasOwn(valueToClone, \"input\") && (result.input = valueToClone.input), result;\n }\n if (valueToClone instanceof Date)\n return new Date(valueToClone.getTime());\n if (valueToClone instanceof RegExp) {\n let result = new RegExp(valueToClone.source, valueToClone.flags);\n return result.lastIndex = valueToClone.lastIndex, result;\n }\n if (valueToClone instanceof Map) {\n let result = /* @__PURE__ */ new Map();\n stack.set(valueToClone, result);\n for (let [key, value] of valueToClone)\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n return result;\n }\n if (valueToClone instanceof Set) {\n let result = /* @__PURE__ */ new Set();\n stack.set(valueToClone, result);\n for (let value of valueToClone)\n result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));\n return result;\n }\n if (typeof Buffer < \"u\" && Buffer.isBuffer(valueToClone))\n return valueToClone.subarray();\n if (isTypedArray(valueToClone)) {\n let result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++)\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer < \"u\" && valueToClone instanceof SharedArrayBuffer)\n return valueToClone.slice(0);\n if (valueToClone instanceof DataView) {\n let result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (typeof File < \"u\" && valueToClone instanceof File) {\n let result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type\n });\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (typeof Blob < \"u\" && valueToClone instanceof Blob) {\n let result = new Blob([valueToClone], { type: valueToClone.type });\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (valueToClone instanceof Error) {\n let result = new valueToClone.constructor();\n return stack.set(valueToClone, result), result.message = valueToClone.message, result.name = valueToClone.name, result.stack = valueToClone.stack, result.cause = valueToClone.cause, copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (valueToClone instanceof Boolean) {\n let result = new Boolean(valueToClone.valueOf());\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (valueToClone instanceof Number) {\n let result = new Number(valueToClone.valueOf());\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (valueToClone instanceof String) {\n let result = new String(valueToClone.valueOf());\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n if (typeof valueToClone == \"object\" && isCloneableObject(valueToClone)) {\n let result = Object.create(Object.getPrototypeOf(valueToClone));\n return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n let keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i], descriptor = Object.getOwnPropertyDescriptor(target, key);\n (descriptor == null || descriptor.writable) && (target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue));\n }\n}\nfunction isCloneableObject(object) {\n switch (getTag(object)) {\n case argumentsTag:\n case arrayTag:\n case arrayBufferTag:\n case dataViewTag:\n case booleanTag:\n case dateTag:\n case float32ArrayTag:\n case float64ArrayTag:\n case int8ArrayTag:\n case int16ArrayTag:\n case int32ArrayTag:\n case mapTag:\n case numberTag:\n case objectTag:\n case regexpTag:\n case setTag:\n case stringTag:\n case symbolTag:\n case uint8ArrayTag:\n case uint8ClampedArrayTag:\n case uint16ArrayTag:\n case uint32ArrayTag:\n return !0;\n default:\n return !1;\n }\n}\n\n// ../../node_modules/es-toolkit/dist/object/cloneDeep.mjs\nfunction cloneDeep(obj) {\n return cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), void 0);\n}\n\n// ../../node_modules/es-toolkit/dist/object/omit.mjs\nfunction omit(obj, keys) {\n let result = { ...obj };\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n delete result[key];\n }\n return result;\n}\n\n// ../../node_modules/es-toolkit/dist/string/words.mjs\nvar CASE_SPLIT_PATTERN = new RegExp(\"\\\\p{Lu}?\\\\p{Ll}+|[0-9]+|\\\\p{Lu}+(?!\\\\p{Ll})|\\\\p{Emoji_Presentation}|\\\\p{Extended_Pictographic}|\\\\p{L}+\", \"gu\");\n\n// ../../node_modules/es-toolkit/dist/object/toMerged.mjs\nfunction toMerged(target, source) {\n return mergeWith(clone(target), source, function mergeRecursively(targetValue, sourceValue) {\n if (Array.isArray(sourceValue))\n return Array.isArray(targetValue) ? mergeWith(clone(targetValue), sourceValue, mergeRecursively) : mergeWith([], sourceValue, mergeRecursively);\n if (isPlainObject(sourceValue))\n return isPlainObject(targetValue) ? mergeWith(clone(targetValue), sourceValue, mergeRecursively) : mergeWith({}, sourceValue, mergeRecursively);\n });\n}\n\nexport {\n cloneDeep,\n mapValues,\n mergeWith,\n omit,\n pick,\n pickBy,\n toMerged\n};\n","// src/storybook-error.ts\nfunction parseErrorCode({\n code,\n category\n}) {\n let paddedCode = String(code).padStart(4, \"0\");\n return `SB_${category}_${paddedCode}`;\n}\nfunction appendErrorRef(url) {\n if (/^(?!.*storybook\\.js\\.org)|[?&]ref=error\\b/.test(url))\n return url;\n try {\n let urlObj = new URL(url);\n return urlObj.searchParams.set(\"ref\", \"error\"), urlObj.toString();\n } catch {\n return url;\n }\n}\nvar StorybookError = class _StorybookError extends Error {\n constructor(props) {\n super(_StorybookError.getFullMessage(props));\n /**\n * Data associated with the error. Used to provide additional information in the error message or\n * to be passed to telemetry.\n */\n this.data = {};\n /** Flag used to easily determine if the error originates from Storybook. */\n this.fromStorybook = !0;\n /**\n * Flag used to determine if the error is handled by us and should therefore not be shown to the\n * user.\n */\n this.isHandledError = !1;\n /**\n * A collection of sub errors which relate to a parent error.\n *\n * Sub-errors are used to represent multiple related errors that occurred together. When a\n * StorybookError with sub-errors is sent to telemetry, both the parent error and each sub-error\n * are sent as separate telemetry events. This allows for better error tracking and debugging.\n *\n * @example\n *\n * ```ts\n * const error1 = new SomeError();\n * const error2 = new AnotherError();\n * const parentError = new ParentError({\n * // ... other props\n * subErrors: [error1, error2],\n * });\n * ```\n */\n this.subErrors = [];\n this.category = props.category, this.documentation = props.documentation ?? !1, this.code = props.code, this.isHandledError = props.isHandledError ?? !1, this.name = props.name, this.subErrors = props.subErrors ?? [];\n }\n get fullErrorCode() {\n return parseErrorCode({ code: this.code, category: this.category });\n }\n /** Overrides the default `Error.name` property in the format: SB_<CATEGORY>_<CODE>. */\n get name() {\n let errorName = this._name || this.constructor.name;\n return `${this.fullErrorCode} (${errorName})`;\n }\n set name(name) {\n this._name = name;\n }\n /** Generates the error message along with additional documentation link (if applicable). */\n static getFullMessage({\n documentation,\n code,\n category,\n message\n }) {\n let page;\n return documentation === !0 ? page = `https://storybook.js.org/error/${parseErrorCode({ code, category })}?ref=error` : typeof documentation == \"string\" ? page = appendErrorRef(documentation) : Array.isArray(documentation) && (page = `\n${documentation.map((doc) => `\t- ${appendErrorRef(doc)}`).join(`\n`)}`), `${message}${page != null ? `\n\nMore info: ${page}\n` : \"\"}`;\n }\n};\n\nexport {\n StorybookError\n};\n","import {\n StorybookError\n} from \"./chunk-JVRDBUUP.js\";\nimport {\n dedent\n} from \"./chunk-3LY4VQVK.js\";\n\n// src/preview-errors.ts\nvar Category = /* @__PURE__ */ ((Category2) => (Category2.BLOCKS = \"BLOCKS\", Category2.DOCS_TOOLS = \"DOCS-TOOLS\", Category2.PREVIEW_CLIENT_LOGGER = \"PREVIEW_CLIENT-LOGGER\", Category2.PREVIEW_CHANNELS = \"PREVIEW_CHANNELS\", Category2.PREVIEW_CORE_EVENTS = \"PREVIEW_CORE-EVENTS\", Category2.PREVIEW_INSTRUMENTER = \"PREVIEW_INSTRUMENTER\", Category2.PREVIEW_API = \"PREVIEW_API\", Category2.PREVIEW_REACT_DOM_SHIM = \"PREVIEW_REACT-DOM-SHIM\", Category2.PREVIEW_ROUTER = \"PREVIEW_ROUTER\", Category2.PREVIEW_THEMING = \"PREVIEW_THEMING\", Category2.RENDERER_HTML = \"RENDERER_HTML\", Category2.RENDERER_PREACT = \"RENDERER_PREACT\", Category2.RENDERER_REACT = \"RENDERER_REACT\", Category2.RENDERER_SERVER = \"RENDERER_SERVER\", Category2.RENDERER_SVELTE = \"RENDERER_SVELTE\", Category2.RENDERER_VUE = \"RENDERER_VUE\", Category2.RENDERER_VUE3 = \"RENDERER_VUE3\", Category2.RENDERER_WEB_COMPONENTS = \"RENDERER_WEB-COMPONENTS\", Category2.FRAMEWORK_NEXTJS = \"FRAMEWORK_NEXTJS\", Category2.ADDON_VITEST = \"ADDON_VITEST\", Category2.ADDON_A11Y = \"ADDON_A11Y\", Category2))(Category || {}), MissingStoryAfterHmrError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"MissingStoryAfterHmrError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 1,\n message: dedent`\n Couldn't find story matching id '${data.storyId}' after HMR.\n - Did you just rename a story?\n - Did you remove it from your CSF file?\n - Are you sure a story with the id '${data.storyId}' exists?\n - Please check the values in the stories field of your main.js config and see if they would match your CSF File.\n - Also check the browser console and terminal for potential error messages.`\n });\n this.data = data;\n }\n}, ImplicitActionsDuringRendering = class extends StorybookError {\n constructor(data) {\n super({\n name: \"ImplicitActionsDuringRendering\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 2,\n documentation: \"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#using-implicit-actions-during-rendering-is-deprecated-for-example-in-the-play-function\",\n message: dedent`\n We detected that you use an implicit action arg while ${data.phase} of your story. \n ${data.deprecated ? `\nThis is deprecated and won't work in Storybook 8 anymore.\n` : \"\"}\n Please provide an explicit spy to your args like this:\n import { fn } from 'storybook/test';\n ... \n args: {\n ${data.name}: fn()\n }`\n });\n this.data = data;\n }\n}, CalledExtractOnStoreError = class extends StorybookError {\n constructor() {\n super({\n name: \"CalledExtractOnStoreError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 3,\n message: dedent`\n Cannot call \\`storyStore.extract()\\` without calling \\`storyStore.cacheAllCsfFiles()\\` first.\n\n You probably meant to call \\`await preview.extract()\\` which does the above for you.`\n });\n }\n}, MissingRenderToCanvasError = class extends StorybookError {\n constructor() {\n super({\n name: \"MissingRenderToCanvasError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 4,\n message: dedent`\n Expected your framework's preset to export a \\`renderToCanvas\\` field.\n\n Perhaps it needs to be upgraded for Storybook 7.0?`,\n documentation: \"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mainjs-framework-field\"\n });\n }\n}, CalledPreviewMethodBeforeInitializationError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"CalledPreviewMethodBeforeInitializationError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 5,\n message: dedent`\n Called \\`Preview.${data.methodName}()\\` before initialization.\n \n The preview needs to load the story index before most methods can be called. If you want\n to call \\`${data.methodName}\\`, try \\`await preview.initializationPromise;\\` first.\n \n If you didn't call the above code, then likely it was called by an addon that needs to\n do the above.`\n });\n this.data = data;\n }\n}, StoryIndexFetchError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"StoryIndexFetchError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 6,\n message: dedent`\n Error fetching \\`/index.json\\`:\n \n ${data.text}\n\n If you are in development, this likely indicates a problem with your Storybook process,\n check the terminal for errors.\n\n If you are in a deployed Storybook, there may have been an issue deploying the full Storybook\n build.`\n });\n this.data = data;\n }\n}, MdxFileWithNoCsfReferencesError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"MdxFileWithNoCsfReferencesError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 7,\n message: dedent`\n Tried to render docs entry ${data.storyId} but it is a MDX file that has no CSF\n references, or autodocs for a CSF file that some doesn't refer to itself.\n \n This likely is an internal error in Storybook's indexing, or you've attached the\n \\`attached-mdx\\` tag to an MDX file that is not attached.`\n });\n this.data = data;\n }\n}, EmptyIndexError = class extends StorybookError {\n constructor() {\n super({\n name: \"EmptyIndexError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 8,\n message: dedent`\n Couldn't find any stories in your Storybook.\n\n - Please check your stories field of your main.js config: does it match correctly?\n - Also check the browser console and terminal for error messages.`\n });\n }\n}, NoStoryMatchError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"NoStoryMatchError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 9,\n message: dedent`\n Couldn't find story matching '${data.storySpecifier}'.\n\n - Are you sure a story with that id exists?\n - Please check your stories field of your main.js config.\n - Also check the browser console and terminal for error messages.`\n });\n this.data = data;\n }\n}, MissingStoryFromCsfFileError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"MissingStoryFromCsfFileError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 10,\n message: dedent`\n Couldn't find story matching id '${data.storyId}' after importing a CSF file.\n\n The file was indexed as if the story was there, but then after importing the file in the browser\n we didn't find the story. Possible reasons:\n - You are using a custom story indexer that is misbehaving.\n - You have a custom file loader that is removing or renaming exports.\n\n Please check your browser console and terminal for errors that may explain the issue.`\n });\n this.data = data;\n }\n}, StoryStoreAccessedBeforeInitializationError = class extends StorybookError {\n constructor() {\n super({\n name: \"StoryStoreAccessedBeforeInitializationError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 11,\n message: dedent`\n Cannot access the Story Store until the index is ready.\n\n It is not recommended to use methods directly on the Story Store anyway, in Storybook 9 we will\n remove access to the store entirely`\n });\n }\n}, MountMustBeDestructuredError = class extends StorybookError {\n // name: 'MountMustBeDestructuredError';\n constructor(data) {\n super({\n name: \"MountMustBeDestructuredError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 12,\n message: dedent`\n Incorrect use of mount in the play function.\n \n To use mount in the play function, you must satisfy the following two requirements: \n \n 1. You *must* destructure the mount property from the \\`context\\` (the argument passed to your play function). \n This makes sure that Storybook does not start rendering the story before the play function begins.\n \n 2. Your Storybook framework or builder must be configured to transpile to ES2017 or newer. \n This is because destructuring statements and async/await usages are otherwise transpiled away, \n which prevents Storybook from recognizing your usage of \\`mount\\`.\n \n Note that Angular is not supported. As async/await is transpiled to support the zone.js polyfill. \n \n More info: https://storybook.js.org/docs/writing-tests/interaction-testing?ref=error#run-code-before-the-component-gets-rendered\n \n Received the following play function:\n ${data.playFunction}`\n });\n this.data = data;\n }\n}, NoRenderFunctionError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"NoRenderFunctionError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 14,\n message: dedent`\n No render function available for storyId '${data.id}'\n `\n });\n this.data = data;\n }\n}, NoStoryMountedError = class extends StorybookError {\n constructor() {\n super({\n name: \"NoStoryMountedError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 15,\n message: dedent`\n No component is mounted in your story.\n \n This usually occurs when you destructure mount in the play function, but forget to call it.\n \n For example:\n\n async play({ mount, canvasElement }) {\n // 👈 mount should be called: await mount(); \n const canvas = within(canvasElement);\n const button = await canvas.findByRole('button');\n await userEvent.click(button);\n };\n\n Make sure to either remove it or call mount in your play function.\n `\n });\n }\n}, StatusTypeIdMismatchError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"StatusTypeIdMismatchError\",\n category: \"PREVIEW_API\" /* PREVIEW_API */,\n code: 16,\n message: `Status has typeId \"${data.status.typeId}\" but was added to store with typeId \"${data.typeId}\". Full status: ${JSON.stringify(\n data.status,\n null,\n 2\n )}`\n });\n this.data = data;\n }\n}, NextJsSharpError = class extends StorybookError {\n constructor() {\n super({\n name: \"NextJsSharpError\",\n category: \"FRAMEWORK_NEXTJS\" /* FRAMEWORK_NEXTJS */,\n code: 1,\n documentation: \"https://storybook.js.org/docs/get-started/frameworks/nextjs#error-you-are-importing-avif-images-but-you-dont-have-sharp-installed-you-have-to-install-sharp-in-order-to-use-image-optimization-features-in-nextjs\",\n message: dedent`\n You are importing avif images, but you don't have sharp installed.\n\n You have to install sharp in order to use image optimization features in Next.js.\n `\n });\n }\n}, NextjsRouterMocksNotAvailable = class extends StorybookError {\n constructor(data) {\n super({\n name: \"NextjsRouterMocksNotAvailable\",\n category: \"FRAMEWORK_NEXTJS\" /* FRAMEWORK_NEXTJS */,\n code: 2,\n message: dedent`\n Tried to access router mocks from \"${data.importType}\" but they were not created yet. You might be running code in an unsupported environment.\n `\n });\n this.data = data;\n }\n}, UnknownArgTypesError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"UnknownArgTypesError\",\n category: \"DOCS-TOOLS\" /* DOCS_TOOLS */,\n code: 1,\n documentation: \"https://github.com/storybookjs/storybook/issues/26606\",\n message: dedent`\n There was a failure when generating detailed ArgTypes in ${data.language} for:\n ${JSON.stringify(data.type, null, 2)} \n \n Storybook will fall back to use a generic type description instead.\n\n This type is either not supported or it is a bug in the docgen generation in Storybook.\n If you think this is a bug, please detail it as much as possible in the Github issue.\n `\n });\n this.data = data;\n }\n}, UnsupportedViewportDimensionError = class extends StorybookError {\n constructor(data) {\n super({\n name: \"UnsupportedViewportDimensionError\",\n category: \"ADDON_VITEST\" /* ADDON_VITEST */,\n code: 1,\n // TODO: Add documentation about viewports support\n // documentation: '',\n message: dedent`\n Encountered an unsupported value \"${data.value}\" when setting the viewport ${data.dimension} dimension.\n \n The Storybook plugin only supports values in the following units:\n - px, vh, vw, em, rem and %.\n \n You can either change the viewport for this story to use one of the supported units or skip the test by adding '!test' to the story's tags per https://storybook.js.org/docs/writing-stories/tags\n `\n });\n this.data = data;\n }\n}, ElementA11yParameterError = class extends StorybookError {\n constructor() {\n super({\n name: \"ElementA11yParameterError\",\n category: \"ADDON_A11Y\" /* ADDON_A11Y */,\n code: 1,\n documentation: \"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#a11y-addon-replace-element-parameter-with-context-parameter\",\n message: 'The \"element\" parameter in parameters.a11y has been removed. Use \"context\" instead.'\n });\n }\n};\n\nexport {\n Category,\n MissingStoryAfterHmrError,\n ImplicitActionsDuringRendering,\n CalledExtractOnStoreError,\n MissingRenderToCanvasError,\n CalledPreviewMethodBeforeInitializationError,\n StoryIndexFetchError,\n MdxFileWithNoCsfReferencesError,\n EmptyIndexError,\n NoStoryMatchError,\n MissingStoryFromCsfFileError,\n StoryStoreAccessedBeforeInitializationError,\n MountMustBeDestructuredError,\n NoRenderFunctionError,\n NoStoryMountedError,\n StatusTypeIdMismatchError,\n NextJsSharpError,\n NextjsRouterMocksNotAvailable,\n UnknownArgTypesError,\n UnsupportedViewportDimensionError,\n ElementA11yParameterError\n};\n","import {\n mapValues\n} from \"./chunk-YK43Z22A.js\";\nimport {\n isPlainObject\n} from \"./chunk-LCHBOIHN.js\";\nimport {\n __commonJS,\n __toESM\n} from \"./chunk-A242L54C.js\";\n\n// ../../node_modules/jsdoc-type-pratt-parser/dist/index.js\nvar require_dist = __commonJS({\n \"../../node_modules/jsdoc-type-pratt-parser/dist/index.js\"(exports, module) {\n (function(global, factory) {\n typeof exports == \"object\" && typeof module < \"u\" ? factory(exports) : typeof define == \"function\" && define.amd ? define([\"exports\"], factory) : (global = typeof globalThis < \"u\" ? globalThis : global || self, factory(global.jtpp = {}));\n })(exports, (function(exports2) {\n \"use strict\";\n function tokenToString(token) {\n return token.text !== void 0 && token.text !== \"\" ? `'${token.type}' with value '${token.text}'` : `'${token.type}'`;\n }\n class NoParsletFoundError extends Error {\n constructor(token) {\n super(`No parslet found for token: ${tokenToString(token)}`), this.token = token, Object.setPrototypeOf(this, NoParsletFoundError.prototype);\n }\n getToken() {\n return this.token;\n }\n }\n class EarlyEndOfParseError extends Error {\n constructor(token) {\n super(`The parsing ended early. The next token was: ${tokenToString(token)}`), this.token = token, Object.setPrototypeOf(this, EarlyEndOfParseError.prototype);\n }\n getToken() {\n return this.token;\n }\n }\n class UnexpectedTypeError extends Error {\n constructor(result, message) {\n let error = `Unexpected type: '${result.type}'.`;\n message !== void 0 && (error += ` Message: ${message}`), super(error), Object.setPrototypeOf(this, UnexpectedTypeError.prototype);\n }\n }\n function makePunctuationRule(type) {\n return (text) => text.startsWith(type) ? { type, text: type } : null;\n }\n function getQuoted(text) {\n let position = 0, char, mark = text[0], escaped = !1;\n if (mark !== \"'\" && mark !== '\"')\n return null;\n for (; position < text.length; ) {\n if (position++, char = text[position], !escaped && char === mark) {\n position++;\n break;\n }\n escaped = !escaped && char === \"\\\\\";\n }\n if (char !== mark)\n throw new Error(\"Unterminated String\");\n return text.slice(0, position);\n }\n let identifierStartRegex = new RegExp(\"[$_\\\\p{ID_Start}]|\\\\\\\\u\\\\p{Hex_Digit}{4}|\\\\\\\\u\\\\{0*(?:\\\\p{Hex_Digit}{1,5}|10\\\\p{Hex_Digit}{4})\\\\}\", \"u\"), identifierContinueRegex = new RegExp(\"[$\\\\-\\\\p{ID_Continue}\\\\u200C\\\\u200D]|\\\\\\\\u\\\\p{Hex_Digit}{4}|\\\\\\\\u\\\\{0*(?:\\\\p{Hex_Digit}{1,5}|10\\\\p{Hex_Digit}{4})\\\\}\", \"u\");\n function getIdentifier(text) {\n let char = text[0];\n if (!identifierStartRegex.test(char))\n return null;\n let position = 1;\n do {\n if (char = text[position], !identifierContinueRegex.test(char))\n break;\n position++;\n } while (position < text.length);\n return text.slice(0, position);\n }\n let numberRegex = /^(NaN|-?((\\d*\\.\\d+|\\d+)([Ee][+-]?\\d+)?|Infinity))/;\n function getNumber(text) {\n var _a, _b;\n return (_b = (_a = numberRegex.exec(text)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;\n }\n let identifierRule = (text) => {\n let value = getIdentifier(text);\n return value == null ? null : {\n type: \"Identifier\",\n text: value\n };\n };\n function makeKeyWordRule(type) {\n return (text) => {\n if (!text.startsWith(type))\n return null;\n let prepends = text[type.length];\n return prepends !== void 0 && identifierContinueRegex.test(prepends) ? null : {\n type,\n text: type\n };\n };\n }\n let stringValueRule = (text) => {\n let value = getQuoted(text);\n return value == null ? null : {\n type: \"StringValue\",\n text: value\n };\n }, eofRule = (text) => text.length > 0 ? null : {\n type: \"EOF\",\n text: \"\"\n }, numberRule = (text) => {\n let value = getNumber(text);\n return value === null ? null : {\n type: \"Number\",\n text: value\n };\n }, rules = [\n eofRule,\n makePunctuationRule(\"=>\"),\n makePunctuationRule(\"(\"),\n makePunctuationRule(\")\"),\n makePunctuationRule(\"{\"),\n makePunctuationRule(\"}\"),\n makePunctuationRule(\"[\"),\n makePunctuationRule(\"]\"),\n makePunctuationRule(\"|\"),\n makePunctuationRule(\"&\"),\n makePunctuationRule(\"<\"),\n makePunctuationRule(\">\"),\n makePunctuationRule(\",\"),\n makePunctuationRule(\";\"),\n makePunctuationRule(\"*\"),\n makePunctuationRule(\"?\"),\n makePunctuationRule(\"!\"),\n makePunctuationRule(\"=\"),\n makePunctuationRule(\":\"),\n makePunctuationRule(\"...\"),\n makePunctuationRule(\".\"),\n makePunctuationRule(\"#\"),\n makePunctuationRule(\"~\"),\n makePunctuationRule(\"/\"),\n makePunctuationRule(\"@\"),\n makeKeyWordRule(\"undefined\"),\n makeKeyWordRule(\"null\"),\n makeKeyWordRule(\"function\"),\n makeKeyWordRule(\"this\"),\n makeKeyWordRule(\"new\"),\n makeKeyWordRule(\"module\"),\n makeKeyWordRule(\"event\"),\n makeKeyWordRule(\"extends\"),\n makeKeyWordRule(\"external\"),\n makeKeyWordRule(\"infer\"),\n makeKeyWordRule(\"typeof\"),\n makeKeyWordRule(\"keyof\"),\n makeKeyWordRule(\"readonly\"),\n makeKeyWordRule(\"import\"),\n makeKeyWordRule(\"is\"),\n makeKeyWordRule(\"in\"),\n makeKeyWordRule(\"asserts\"),\n numberRule,\n identifierRule,\n stringValueRule\n ], breakingWhitespaceRegex = /^\\s*\\n\\s*/;\n class Lexer {\n static create(text) {\n let current = this.read(text);\n text = current.text;\n let next = this.read(text);\n return text = next.text, new Lexer(text, void 0, current.token, next.token);\n }\n constructor(text, previous, current, next) {\n this.text = \"\", this.text = text, this.previous = previous, this.current = current, this.next = next;\n }\n static read(text, startOfLine = !1) {\n startOfLine = startOfLine || breakingWhitespaceRegex.test(text), text = text.trim();\n for (let rule of rules) {\n let partial = rule(text);\n if (partial !== null) {\n let token = Object.assign(Object.assign({}, partial), { startOfLine });\n return text = text.slice(token.text.length), { text, token };\n }\n }\n throw new Error(\"Unexpected Token \" + text);\n }\n advance() {\n let next = Lexer.read(this.text);\n return new Lexer(next.text, this.current, this.next, next.token);\n }\n }\n function assertRootResult(result) {\n if (result === void 0)\n throw new Error(\"Unexpected undefined\");\n if (result.type === \"JsdocTypeKeyValue\" || result.type === \"JsdocTypeParameterList\" || result.type === \"JsdocTypeProperty\" || result.type === \"JsdocTypeReadonlyProperty\" || result.type === \"JsdocTypeObjectField\" || result.type === \"JsdocTypeJsdocObjectField\" || result.type === \"JsdocTypeIndexSignature\" || result.type === \"JsdocTypeMappedType\" || result.type === \"JsdocTypeTypeParameter\")\n throw new UnexpectedTypeError(result);\n return result;\n }\n function assertPlainKeyValueOrRootResult(result) {\n return result.type === \"JsdocTypeKeyValue\" ? assertPlainKeyValueResult(result) : assertRootResult(result);\n }\n function assertPlainKeyValueOrNameResult(result) {\n return result.type === \"JsdocTypeName\" ? result : assertPlainKeyValueResult(result);\n }\n function assertPlainKeyValueResult(result) {\n if (result.type !== \"JsdocTypeKeyValue\")\n throw new UnexpectedTypeError(result);\n return result;\n }\n function assertNumberOrVariadicNameResult(result) {\n var _a;\n if (result.type === \"JsdocTypeVariadic\") {\n if (((_a = result.element) === null || _a === void 0 ? void 0 : _a.type) === \"JsdocTypeName\")\n return result;\n throw new UnexpectedTypeError(result);\n }\n if (result.type !== \"JsdocTypeNumber\" && result.type !== \"JsdocTypeName\")\n throw new UnexpectedTypeError(result);\n return result;\n }\n function assertArrayOrTupleResult(result) {\n if (result.type === \"JsdocTypeTuple\" || result.type === \"JsdocTypeGeneric\" && result.meta.brackets === \"square\")\n return result;\n throw new UnexpectedTypeError(result);\n }\n function isSquaredProperty(result) {\n return result.type === \"JsdocTypeIndexSignature\" || result.type === \"JsdocTypeMappedType\";\n }\n var Precedence;\n (function(Precedence2) {\n Precedence2[Precedence2.ALL = 0] = \"ALL\", Precedence2[Precedence2.PARAMETER_LIST = 1] = \"PARAMETER_LIST\", Precedence2[Precedence2.OBJECT = 2] = \"OBJECT\", Precedence2[Precedence2.KEY_VALUE = 3] = \"KEY_VALUE\", Precedence2[Precedence2.INDEX_BRACKETS = 4] = \"INDEX_BRACKETS\", Precedence2[Precedence2.UNION = 5] = \"UNION\", Precedence2[Precedence2.INTERSECTION = 6] = \"INTERSECTION\", Precedence2[Precedence2.PREFIX = 7] = \"PREFIX\", Precedence2[Precedence2.INFIX = 8] = \"INFIX\", Precedence2[Precedence2.TUPLE = 9] = \"TUPLE\", Precedence2[Precedence2.SYMBOL = 10] = \"SYMBOL\", Precedence2[Precedence2.OPTIONAL = 11] = \"OPTIONAL\", Precedence2[Precedence2.NULLABLE = 12] = \"NULLABLE\", Precedence2[Precedence2.KEY_OF_TYPE_OF = 13] = \"KEY_OF_TYPE_OF\", Precedence2[Precedence2.FUNCTION = 14] = \"FUNCTION\", Precedence2[Precedence2.ARROW = 15] = \"ARROW\", Precedence2[Precedence2.ARRAY_BRACKETS = 16] = \"ARRAY_BRACKETS\", Precedence2[Precedence2.GENERIC = 17] = \"GENERIC\", Precedence2[Precedence2.NAME_PATH = 18] = \"NAME_PATH\", Precedence2[Precedence2.PARENTHESIS = 19] = \"PARENTHESIS\", Precedence2[Precedence2.SPECIAL_TYPES = 20] = \"SPECIAL_TYPES\";\n })(Precedence || (Precedence = {}));\n class Parser {\n constructor(grammar, textOrLexer, baseParser) {\n this.grammar = grammar, typeof textOrLexer == \"string\" ? this._lexer = Lexer.create(textOrLexer) : this._lexer = textOrLexer, this.baseParser = baseParser;\n }\n get lexer() {\n return this._lexer;\n }\n /**\n * Parses a given string and throws an error if the parse ended before the end of the string.\n */\n parse() {\n let result = this.parseType(Precedence.ALL);\n if (this.lexer.current.type !== \"EOF\")\n throw new EarlyEndOfParseError(this.lexer.current);\n return result;\n }\n /**\n * Parses with the current lexer and asserts that the result is a {@link RootResult}.\n */\n parseType(precedence) {\n return assertRootResult(this.parseIntermediateType(precedence));\n }\n /**\n * The main parsing function. First it tries to parse the current state in the prefix step, and then it continues\n * to parse the state in the infix step.\n */\n parseIntermediateType(precedence) {\n let result = this.tryParslets(null, precedence);\n if (result === null)\n throw new NoParsletFoundError(this.lexer.current);\n return this.parseInfixIntermediateType(result, precedence);\n }\n /**\n * In the infix parsing step the parser continues to parse the current state with all parslets until none returns\n * a result.\n */\n parseInfixIntermediateType(left, precedence) {\n let result = this.tryParslets(left, precedence);\n for (; result !== null; )\n left = result, result = this.tryParslets(left, precedence);\n return left;\n }\n /**\n * Tries to parse the current state with all parslets in the grammar and returns the first non null result.\n */\n tryParslets(left, precedence) {\n for (let parslet of this.grammar) {\n let result = parslet(this, precedence, left);\n if (result !== null)\n return result;\n }\n return null;\n }\n /**\n * If the given type equals the current type of the {@link Lexer} advance the lexer. Return true if the lexer was\n * advanced.\n */\n consume(types) {\n return Array.isArray(types) || (types = [types]), types.includes(this.lexer.current.type) ? (this._lexer = this.lexer.advance(), !0) : !1;\n }\n acceptLexerState(parser) {\n this._lexer = parser.lexer;\n }\n }\n function isQuestionMarkUnknownType(next) {\n return next === \"}\" || next === \"EOF\" || next === \"|\" || next === \",\" || next === \")\" || next === \">\";\n }\n let nullableParslet = (parser, precedence, left) => {\n let type = parser.lexer.current.type, next = parser.lexer.next.type;\n return left == null && type === \"?\" && !isQuestionMarkUnknownType(next) || left != null && type === \"?\" ? (parser.consume(\"?\"), left == null ? {\n type: \"JsdocTypeNullable\",\n element: parser.parseType(Precedence.NULLABLE),\n meta: {\n position: \"prefix\"\n }\n } : {\n type: \"JsdocTypeNullable\",\n element: assertRootResult(left),\n meta: {\n position: \"suffix\"\n }\n }) : null;\n };\n function composeParslet(options) {\n let parslet = (parser, curPrecedence, left) => {\n let type = parser.lexer.current.type, next = parser.lexer.next.type;\n if (left === null) {\n if (\"parsePrefix\" in options && options.accept(type, next))\n return options.parsePrefix(parser);\n } else if (\"parseInfix\" in options && options.precedence > curPrecedence && options.accept(type, next))\n return options.parseInfix(parser, left);\n return null;\n };\n return Object.defineProperty(parslet, \"name\", {\n value: options.name\n }), parslet;\n }\n let optionalParslet = composeParslet({\n name: \"optionalParslet\",\n accept: (type) => type === \"=\",\n precedence: Precedence.OPTIONAL,\n parsePrefix: (parser) => (parser.consume(\"=\"), {\n type: \"JsdocTypeOptional\",\n element: parser.parseType(Precedence.OPTIONAL),\n meta: {\n position: \"prefix\"\n }\n }),\n parseInfix: (parser, left) => (parser.consume(\"=\"), {\n type: \"JsdocTypeOptional\",\n element: assertRootResult(left),\n meta: {\n position: \"suffix\"\n }\n })\n }), numberParslet = composeParslet({\n name: \"numberParslet\",\n accept: (type) => type === \"Number\",\n parsePrefix: (parser) => {\n let value = parseFloat(parser.lexer.current.text);\n return parser.consume(\"Number\"), {\n type: \"JsdocTypeNumber\",\n value\n };\n }\n }), parenthesisParslet = composeParslet({\n name: \"parenthesisParslet\",\n accept: (type) => type === \"(\",\n parsePrefix: (parser) => {\n if (parser.consume(\"(\"), parser.consume(\")\"))\n return {\n type: \"JsdocTypeParameterList\",\n elements: []\n };\n let result = parser.parseIntermediateType(Precedence.ALL);\n if (!parser.consume(\")\"))\n throw new Error(\"Unterminated parenthesis\");\n return result.type === \"JsdocTypeParameterList\" ? result : result.type === \"JsdocTypeKeyValue\" ? {\n type: \"JsdocTypeParameterList\",\n elements: [result]\n } : {\n type: \"JsdocTypeParenthesis\",\n element: assertRootResult(result)\n };\n }\n }), specialTypesParslet = composeParslet({\n name: \"specialTypesParslet\",\n accept: (type, next) => type === \"?\" && isQuestionMarkUnknownType(next) || type === \"null\" || type === \"undefined\" || type === \"*\",\n parsePrefix: (parser) => {\n if (parser.consume(\"null\"))\n return {\n type: \"JsdocTypeNull\"\n };\n if (parser.consume(\"undefined\"))\n return {\n type: \"JsdocTypeUndefined\"\n };\n if (parser.consume(\"*\"))\n return {\n type: \"JsdocTypeAny\"\n };\n if (parser.consume(\"?\"))\n return {\n type: \"JsdocTypeUnknown\"\n };\n throw new Error(\"Unacceptable token: \" + parser.lexer.current.text);\n }\n }), notNullableParslet = composeParslet({\n name: \"notNullableParslet\",\n accept: (type) => type === \"!\",\n precedence: Precedence.NULLABLE,\n parsePrefix: (parser) => (parser.consume(\"!\"), {\n type: \"JsdocTypeNotNullable\",\n element: parser.parseType(Precedence.NULLABLE),\n meta: {\n position: \"prefix\"\n }\n }),\n parseInfix: (parser, left) => (parser.consume(\"!\"), {\n type: \"JsdocTypeNotNullable\",\n element: assertRootResult(left),\n meta: {\n position: \"suffix\"\n }\n })\n });\n function createParameterListParslet({ allowTrailingComma }) {\n return composeParslet({\n name: \"parameterListParslet\",\n accept: (type) => type === \",\",\n precedence: Precedence.PARAMETER_LIST,\n parseInfix: (parser, left) => {\n let elements = [\n assertPlainKeyValueOrRootResult(left)\n ];\n parser.consume(\",\");\n do\n try {\n let next = parser.parseIntermediateType(Precedence.PARAMETER_LIST);\n elements.push(assertPlainKeyValueOrRootResult(next));\n } catch (e) {\n if (e instanceof NoParsletFoundError)\n break;\n throw e;\n }\n while (parser.consume(\",\"));\n if (elements.length > 0 && elements.slice(0, -1).some((e) => e.type === \"JsdocTypeVariadic\"))\n throw new Error(\"Only the last parameter may be a rest parameter\");\n return {\n type: \"JsdocTypeParameterList\",\n elements\n };\n }\n });\n }\n let genericParslet = composeParslet({\n name: \"genericParslet\",\n accept: (type, next) => type === \"<\" || type === \".\" && next === \"<\",\n precedence: Precedence.GENERIC,\n parseInfix: (parser, left) => {\n let dot = parser.consume(\".\");\n parser.consume(\"<\");\n let objects = [], infer = !1;\n if (parser.consume(\"infer\")) {\n infer = !0;\n let left2 = parser.parseIntermediateType(Precedence.SYMBOL);\n if (left2.type !== \"JsdocTypeName\")\n throw new UnexpectedTypeError(left2, \"A typescript asserts always has to have a name on the left side.\");\n objects.push(left2);\n } else\n do\n objects.push(parser.parseType(Precedence.PARAMETER_LIST));\n while (parser.consume(\",\"));\n if (!parser.consume(\">\"))\n throw new Error(\"Unterminated generic parameter list\");\n return Object.assign(Object.assign({ type: \"JsdocTypeGeneric\", left: assertRootResult(left), elements: objects }, infer ? { infer: !0 } : {}), { meta: {\n brackets: \"angle\",\n dot\n } });\n }\n }), unionParslet = composeParslet({\n name: \"unionParslet\",\n accept: (type) => type === \"|\",\n precedence: Precedence.UNION,\n parseInfix: (parser, left) => {\n parser.consume(\"|\");\n let elements = [];\n do\n elements.push(parser.parseType(Precedence.UNION));\n while (parser.consume(\"|\"));\n return {\n type: \"JsdocTypeUnion\",\n elements: [assertRootResult(left), ...elements]\n };\n }\n }), baseGrammar = [\n nullableParslet,\n optionalParslet,\n numberParslet,\n parenthesisParslet,\n specialTypesParslet,\n notNullableParslet,\n createParameterListParslet({\n allowTrailingComma: !0\n }),\n genericParslet,\n unionParslet,\n optionalParslet\n ];\n function createNamePathParslet({ allowSquareBracketsOnAnyType, allowJsdocNamePaths, pathGrammar: pathGrammar2 }) {\n return function(parser, precedence, left) {\n if (left == null || precedence >= Precedence.NAME_PATH)\n return null;\n let type = parser.lexer.current.type, next = parser.lexer.next.type;\n if (!(type === \".\" && next !== \"<\" || type === \"[\" && (allowSquareBracketsOnAnyType || left.type === \"JsdocTypeName\") || allowJsdocNamePaths && (type === \"~\" || type === \"#\")))\n return null;\n let pathType, brackets = !1;\n parser.consume(\".\") ? pathType = \"property\" : parser.consume(\"[\") ? (pathType = \"property-brackets\", brackets = !0) : parser.consume(\"~\") ? pathType = \"inner\" : (parser.consume(\"#\"), pathType = \"instance\");\n let pathParser = pathGrammar2 !== null ? new Parser(pathGrammar2, parser.lexer, parser) : parser, parsed = pathParser.parseIntermediateType(Precedence.NAME_PATH);\n parser.acceptLexerState(pathParser);\n let right;\n switch (parsed.type) {\n case \"JsdocTypeName\":\n right = {\n type: \"JsdocTypeProperty\",\n value: parsed.value,\n meta: {\n quote: void 0\n }\n };\n break;\n case \"JsdocTypeNumber\":\n right = {\n type: \"JsdocTypeProperty\",\n value: parsed.value.toString(10),\n meta: {\n quote: void 0\n }\n };\n break;\n case \"JsdocTypeStringValue\":\n right = {\n type: \"JsdocTypeProperty\",\n value: parsed.value,\n meta: {\n quote: parsed.meta.quote\n }\n };\n break;\n case \"JsdocTypeSpecialNamePath\":\n if (parsed.specialType === \"event\")\n right = parsed;\n else\n throw new UnexpectedTypeError(parsed, \"Type 'JsdocTypeSpecialNamePath' is only allowed with specialType 'event'\");\n break;\n default:\n throw new UnexpectedTypeError(parsed, \"Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'\");\n }\n if (brackets && !parser.consume(\"]\")) {\n let token = parser.lexer.current;\n throw new Error(`Unterminated square brackets. Next token is '${token.type}' with text '${token.text}'`);\n }\n return {\n type: \"JsdocTypeNamePath\",\n left: assertRootResult(left),\n right,\n pathType\n };\n };\n }\n function createNameParslet({ allowedAdditionalTokens }) {\n return composeParslet({\n name: \"nameParslet\",\n accept: (type) => type === \"Identifier\" || type === \"this\" || type === \"new\" || allowedAdditionalTokens.includes(type),\n parsePrefix: (parser) => {\n let { type, text } = parser.lexer.current;\n return parser.consume(type), {\n type: \"JsdocTypeName\",\n value: text\n };\n }\n });\n }\n let stringValueParslet = composeParslet({\n name: \"stringValueParslet\",\n accept: (type) => type === \"StringValue\",\n parsePrefix: (parser) => {\n let text = parser.lexer.current.text;\n return parser.consume(\"StringValue\"), {\n type: \"JsdocTypeStringValue\",\n value: text.slice(1, -1),\n meta: {\n quote: text[0] === \"'\" ? \"single\" : \"double\"\n }\n };\n }\n });\n function createSpecialNamePathParslet({ pathGrammar: pathGrammar2, allowedTypes }) {\n return composeParslet({\n name: \"specialNamePathParslet\",\n accept: (type) => allowedTypes.includes(type),\n parsePrefix: (parser) => {\n let type = parser.lexer.current.type;\n if (parser.consume(type), !parser.consume(\":\"))\n return {\n type: \"JsdocTypeName\",\n value: type\n };\n let result, token = parser.lexer.current;\n if (parser.consume(\"StringValue\"))\n result = {\n type: \"JsdocTypeSpecialNamePath\",\n value: token.text.slice(1, -1),\n specialType: type,\n meta: {\n quote: token.text[0] === \"'\" ? \"single\" : \"double\"\n }\n };\n else {\n let value = \"\", allowed = [\"Identifier\", \"@\", \"/\"];\n for (; allowed.some((type2) => parser.consume(type2)); )\n value += token.text, token = parser.lexer.current;\n result = {\n type: \"JsdocTypeSpecialNamePath\",\n value,\n specialType: type,\n meta: {\n quote: void 0\n }\n };\n }\n let moduleParser = new Parser(pathGrammar2, parser.lexer, parser), moduleResult = moduleParser.parseInfixIntermediateType(result, Precedence.ALL);\n return parser.acceptLexerState(moduleParser), assertRootResult(moduleResult);\n }\n });\n }\n let basePathGrammar = [\n createNameParslet({\n allowedAdditionalTokens: [\"external\", \"module\"]\n }),\n stringValueParslet,\n numberParslet,\n createNamePathParslet({\n allowSquareBracketsOnAnyType: !1,\n allowJsdocNamePaths: !0,\n pathGrammar: null\n })\n ], pathGrammar = [\n ...basePathGrammar,\n createSpecialNamePathParslet({\n allowedTypes: [\"event\"],\n pathGrammar: basePathGrammar\n })\n ];\n function getParameters(value) {\n let parameters;\n if (value.type === \"JsdocTypeParameterList\")\n parameters = value.elements;\n else if (value.type === \"JsdocTypeParenthesis\")\n parameters = [value.element];\n else\n throw new UnexpectedTypeError(value);\n return parameters.map((p) => assertPlainKeyValueOrRootResult(p));\n }\n function getUnnamedParameters(value) {\n let parameters = getParameters(value);\n if (parameters.some((p) => p.type === \"JsdocTypeKeyValue\"))\n throw new Error(\"No parameter should be named\");\n return parameters;\n }\n function createFunctionParslet({ allowNamedParameters, allowNoReturnType, allowWithoutParenthesis, allowNewAsFunctionKeyword }) {\n return composeParslet({\n name: \"functionParslet\",\n accept: (type, next) => type === \"function\" || allowNewAsFunctionKeyword && type === \"new\" && next === \"(\",\n parsePrefix: (parser) => {\n let newKeyword = parser.consume(\"new\");\n parser.consume(\"function\");\n let hasParenthesis = parser.lexer.current.type === \"(\";\n if (!hasParenthesis) {\n if (!allowWithoutParenthesis)\n throw new Error(\"function is missing parameter list\");\n return {\n type: \"JsdocTypeName\",\n value: \"function\"\n };\n }\n let result = {\n type: \"JsdocTypeFunction\",\n parameters: [],\n arrow: !1,\n constructor: newKeyword,\n parenthesis: hasParenthesis\n }, value = parser.parseIntermediateType(Precedence.FUNCTION);\n if (allowNamedParameters === void 0)\n result.parameters = getUnnamedParameters(value);\n else {\n if (newKeyword && value.type === \"JsdocTypeFunction\" && value.arrow)\n return result = value, result.constructor = !0, result;\n result.parameters = getParameters(value);\n for (let p of result.parameters)\n if (p.type === \"JsdocTypeKeyValue\" && !allowNamedParameters.includes(p.key))\n throw new Error(`only allowed named parameters are ${allowNamedParameters.join(\", \")} but got ${p.type}`);\n }\n if (parser.consume(\":\"))\n result.returnType = parser.parseType(Precedence.PREFIX);\n else if (!allowNoReturnType)\n throw new Error(\"function is missing return type\");\n return result;\n }\n });\n }\n function createVariadicParslet({ allowPostfix, allowEnclosingBrackets }) {\n return composeParslet({\n name: \"variadicParslet\",\n accept: (type) => type === \"...\",\n precedence: Precedence.PREFIX,\n parsePrefix: (parser) => {\n parser.consume(\"...\");\n let brackets = allowEnclosingBrackets && parser.consume(\"[\");\n try {\n let element = parser.parseType(Precedence.PREFIX);\n if (brackets && !parser.consume(\"]\"))\n throw new Error(\"Unterminated variadic type. Missing ']'\");\n return {\n type: \"JsdocTypeVariadic\",\n element: assertRootResult(element),\n meta: {\n position: \"prefix\",\n squareBrackets: brackets\n }\n };\n } catch (e) {\n if (e instanceof NoParsletFoundError) {\n if (brackets)\n throw new Error(\"Empty square brackets for variadic are not allowed.\");\n return {\n type: \"JsdocTypeVariadic\",\n meta: {\n position: void 0,\n squareBrackets: !1\n }\n };\n } else\n throw e;\n }\n },\n parseInfix: allowPostfix ? (parser, left) => (parser.consume(\"...\"), {\n type: \"JsdocTypeVariadic\",\n element: assertRootResult(left),\n meta: {\n position: \"suffix\",\n squareBrackets: !1\n }\n }) : void 0\n });\n }\n let symbolParslet = composeParslet({\n name: \"symbolParslet\",\n accept: (type) => type === \"(\",\n precedence: Precedence.SYMBOL,\n parseInfix: (parser, left) => {\n if (left.type !== \"JsdocTypeName\")\n throw new Error(\"Symbol expects a name on the left side. (Reacting on '(')\");\n parser.consume(\"(\");\n let result = {\n type: \"JsdocTypeSymbol\",\n value: left.value\n };\n if (!parser.consume(\")\")) {\n let next = parser.parseIntermediateType(Precedence.SYMBOL);\n if (result.element = assertNumberOrVariadicNameResult(next), !parser.consume(\")\"))\n throw new Error(\"Symbol does not end after value\");\n }\n return result;\n }\n }), arrayBracketsParslet = composeParslet({\n name: \"arrayBracketsParslet\",\n precedence: Precedence.ARRAY_BRACKETS,\n accept: (type, next) => type === \"[\" && next === \"]\",\n parseInfix: (parser, left) => (parser.consume(\"[\"), parser.consume(\"]\"), {\n type: \"JsdocTypeGeneric\",\n left: {\n type: \"JsdocTypeName\",\n value: \"Array\"\n },\n elements: [\n assertRootResult(left)\n ],\n meta: {\n brackets: \"square\",\n dot: !1\n }\n })\n });\n function createObjectParslet({ objectFieldGrammar: objectFieldGrammar2, allowKeyTypes }) {\n return composeParslet({\n name: \"objectParslet\",\n accept: (type) => type === \"{\",\n parsePrefix: (parser) => {\n parser.consume(\"{\");\n let result = {\n type: \"JsdocTypeObject\",\n meta: {\n separator: \"comma\"\n },\n elements: []\n };\n if (!parser.consume(\"}\")) {\n let separator, fieldParser = new Parser(objectFieldGrammar2, parser.lexer, parser);\n for (; ; ) {\n fieldParser.acceptLexerState(parser);\n let field = fieldParser.parseIntermediateType(Precedence.OBJECT);\n parser.acceptLexerState(fieldParser), field === void 0 && allowKeyTypes && (field = parser.parseIntermediateType(Precedence.OBJECT));\n let optional = !1;\n if (field.type === \"JsdocTypeNullable\" && (optional = !0, field = field.element), field.type === \"JsdocTypeNumber\" || field.type === \"JsdocTypeName\" || field.type === \"JsdocTypeStringValue\") {\n let quote2;\n field.type === \"JsdocTypeStringValue\" && (quote2 = field.meta.quote), result.elements.push({\n type: \"JsdocTypeObjectField\",\n key: field.value.toString(),\n right: void 0,\n optional,\n readonly: !1,\n meta: {\n quote: quote2\n }\n });\n } else if (field.type === \"JsdocTypeObjectField\" || field.type === \"JsdocTypeJsdocObjectField\")\n result.elements.push(field);\n else\n throw new UnexpectedTypeError(field);\n if (parser.lexer.current.startOfLine)\n separator = \"linebreak\", parser.consume(\",\") || parser.consume(\";\");\n else if (parser.consume(\",\"))\n separator = \"comma\";\n else if (parser.consume(\";\"))\n separator = \"semicolon\";\n else\n break;\n if (parser.lexer.current.type === \"}\")\n break;\n }\n if (result.meta.separator = separator ?? \"comma\", separator === \"linebreak\" && (result.meta.propertyIndent = \" \"), !parser.consume(\"}\"))\n throw new Error(\"Unterminated record type. Missing '}'\");\n }\n return result;\n }\n });\n }\n function createObjectFieldParslet({ allowSquaredProperties, allowKeyTypes, allowReadonly, allowOptional }) {\n return composeParslet({\n name: \"objectFieldParslet\",\n precedence: Precedence.KEY_VALUE,\n accept: (type) => type === \":\",\n parseInfix: (parser, left) => {\n var _a;\n let optional = !1, readonlyProperty = !1;\n allowOptional && left.type === \"JsdocTypeNullable\" && (optional = !0, left = left.element), allowReadonly && left.type === \"JsdocTypeReadonlyProperty\" && (readonlyProperty = !0, left = left.element);\n let parentParser = (_a = parser.baseParser) !== null && _a !== void 0 ? _a : parser;\n if (parentParser.acceptLexerState(parser), left.type === \"JsdocTypeNumber\" || left.type === \"JsdocTypeName\" || left.type === \"JsdocTypeStringValue\" || isSquaredProperty(left)) {\n if (isSquaredProperty(left) && !allowSquaredProperties)\n throw new UnexpectedTypeError(left);\n parentParser.consume(\":\");\n let quote2;\n left.type === \"JsdocTypeStringValue\" && (quote2 = left.meta.quote);\n let right = parentParser.parseType(Precedence.KEY_VALUE);\n return parser.acceptLexerState(parentParser), {\n type: \"JsdocTypeObjectField\",\n key: isSquaredProperty(left) ? left : left.value.toString(),\n right,\n optional,\n readonly: readonlyProperty,\n meta: {\n quote: quote2\n }\n };\n } else {\n if (!allowKeyTypes)\n throw new UnexpectedTypeError(left);\n parentParser.consume(\":\");\n let right = parentParser.parseType(Precedence.KEY_VALUE);\n return parser.acceptLexerState(parentParser), {\n type: \"JsdocTypeJsdocObjectField\",\n left: assertRootResult(left),\n right\n };\n }\n }\n });\n }\n function createKeyValueParslet({ allowOptional, allowVariadic }) {\n return composeParslet({\n name: \"keyValueParslet\",\n precedence: Precedence.KEY_VALUE,\n accept: (type) => type === \":\",\n parseInfix: (parser, left) => {\n let optional = !1, variadic = !1;\n if (allowOptional && left.type === \"JsdocTypeNullable\" && (optional = !0, left = left.element), allowVariadic && left.type === \"JsdocTypeVariadic\" && left.element !== void 0 && (variadic = !0, left = left.element), left.type !== \"JsdocTypeName\")\n throw new UnexpectedTypeError(left);\n parser.consume(\":\");\n let right = parser.parseType(Precedence.KEY_VALUE);\n return {\n type: \"JsdocTypeKeyValue\",\n key: left.value,\n right,\n optional,\n variadic\n };\n }\n });\n }\n let jsdocBaseGrammar = [\n ...baseGrammar,\n createFunctionParslet({\n allowWithoutParenthesis: !0,\n allowNamedParameters: [\"this\", \"new\"],\n allowNoReturnType: !0,\n allowNewAsFunctionKeyword: !1\n }),\n stringValueParslet,\n createSpecialNamePathParslet({\n allowedTypes: [\"module\", \"external\", \"event\"],\n pathGrammar\n }),\n createVariadicParslet({\n allowEnclosingBrackets: !0,\n allowPostfix: !0\n }),\n createNameParslet({\n allowedAdditionalTokens: [\"keyof\"]\n }),\n symbolParslet,\n arrayBracketsParslet,\n createNamePathParslet({\n allowSquareBracketsOnAnyType: !1,\n allowJsdocNamePaths: !0,\n pathGrammar\n })\n ], jsdocGrammar = [\n ...jsdocBaseGrammar,\n createObjectParslet({\n // jsdoc syntax allows full types as keys, so we need to pull in the full grammar here\n // we leave out the object type deliberately\n objectFieldGrammar: [\n createNameParslet({\n allowedAdditionalTokens: [\"typeof\", \"module\", \"in\"]\n }),\n createObjectFieldParslet({\n allowSquaredProperties: !1,\n allowKeyTypes: !0,\n allowOptional: !1,\n allowReadonly: !1\n }),\n ...jsdocBaseGrammar\n ],\n allowKeyTypes: !0\n }),\n createKeyValueParslet({\n allowOptional: !0,\n allowVariadic: !0\n })\n ], typeOfParslet = composeParslet({\n name: \"typeOfParslet\",\n accept: (type) => type === \"typeof\",\n parsePrefix: (parser) => (parser.consume(\"typeof\"), {\n type: \"JsdocTypeTypeof\",\n element: parser.parseType(Precedence.KEY_OF_TYPE_OF)\n })\n }), objectFieldGrammar$1 = [\n createNameParslet({\n allowedAdditionalTokens: [\"typeof\", \"module\", \"keyof\", \"event\", \"external\", \"in\"]\n }),\n nullableParslet,\n optionalParslet,\n stringValueParslet,\n numberParslet,\n createObjectFieldParslet({\n allowSquaredProperties: !1,\n allowKeyTypes: !1,\n allowOptional: !1,\n allowReadonly: !1\n })\n ], closureGrammar = [\n ...baseGrammar,\n createObjectParslet({\n allowKeyTypes: !1,\n objectFieldGrammar: objectFieldGrammar$1\n }),\n createNameParslet({\n allowedAdditionalTokens: [\"event\", \"external\", \"in\"]\n }),\n typeOfParslet,\n createFunctionParslet({\n allowWithoutParenthesis: !1,\n allowNamedParameters: [\"this\", \"new\"],\n allowNoReturnType: !0,\n allowNewAsFunctionKeyword: !1\n }),\n createVariadicParslet({\n allowEnclosingBrackets: !1,\n allowPostfix: !1\n }),\n // additional name parslet is needed for some special cases\n createNameParslet({\n allowedAdditionalTokens: [\"keyof\"]\n }),\n createSpecialNamePathParslet({\n allowedTypes: [\"module\"],\n pathGrammar\n }),\n createNamePathParslet({\n allowSquareBracketsOnAnyType: !1,\n allowJsdocNamePaths: !0,\n pathGrammar\n }),\n createKeyValueParslet({\n allowOptional: !1,\n allowVariadic: !1\n }),\n symbolParslet\n ], assertsParslet = composeParslet({\n name: \"assertsParslet\",\n accept: (type) => type === \"asserts\",\n parsePrefix: (parser) => {\n parser.consume(\"asserts\");\n let left = parser.parseIntermediateType(Precedence.SYMBOL);\n if (left.type !== \"JsdocTypeName\")\n throw new UnexpectedTypeError(left, \"A typescript asserts always has to have a name on the left side.\");\n return parser.consume(\"is\") ? {\n type: \"JsdocTypeAsserts\",\n left,\n right: assertRootResult(parser.parseIntermediateType(Precedence.INFIX))\n } : {\n type: \"JsdocTypeAssertsPlain\",\n element: left\n };\n }\n });\n function createTupleParslet({ allowQuestionMark }) {\n return composeParslet({\n name: \"tupleParslet\",\n accept: (type) => type === \"[\",\n parsePrefix: (parser) => {\n parser.consume(\"[\");\n let result = {\n type: \"JsdocTypeTuple\",\n elements: []\n };\n if (parser.consume(\"]\"))\n return result;\n let typeList = parser.parseIntermediateType(Precedence.ALL);\n if (typeList.type === \"JsdocTypeParameterList\" ? typeList.elements[0].type === \"JsdocTypeKeyValue\" ? result.elements = typeList.elements.map(assertPlainKeyValueResult) : result.elements = typeList.elements.map(assertRootResult) : typeList.type === \"JsdocTypeKeyValue\" ? result.elements = [assertPlainKeyValueResult(typeList)] : result.elements = [assertRootResult(typeList)], !parser.consume(\"]\"))\n throw new Error(\"Unterminated '['\");\n if (result.elements.some((e) => e.type === \"JsdocTypeUnknown\"))\n throw new Error(\"Question mark in tuple not allowed\");\n return result;\n }\n });\n }\n let keyOfParslet = composeParslet({\n name: \"keyOfParslet\",\n accept: (type) => type === \"keyof\",\n parsePrefix: (parser) => (parser.consume(\"keyof\"), {\n type: \"JsdocTypeKeyof\",\n element: assertRootResult(parser.parseType(Precedence.KEY_OF_TYPE_OF))\n })\n }), importParslet = composeParslet({\n name: \"importParslet\",\n accept: (type) => type === \"import\",\n parsePrefix: (parser) => {\n if (parser.consume(\"import\"), !parser.consume(\"(\"))\n throw new Error(\"Missing parenthesis after import keyword\");\n let path = parser.parseType(Precedence.PREFIX);\n if (path.type !== \"JsdocTypeStringValue\")\n throw new Error(\"Only string values are allowed as paths for imports\");\n if (!parser.consume(\")\"))\n throw new Error(\"Missing closing parenthesis after import keyword\");\n return {\n type: \"JsdocTypeImport\",\n element: path\n };\n }\n }), readonlyPropertyParslet = composeParslet({\n name: \"readonlyPropertyParslet\",\n accept: (type) => type === \"readonly\",\n parsePrefix: (parser) => (parser.consume(\"readonly\"), {\n type: \"JsdocTypeReadonlyProperty\",\n element: parser.parseIntermediateType(Precedence.KEY_VALUE)\n })\n }), arrowFunctionParslet = composeParslet({\n name: \"arrowFunctionParslet\",\n precedence: Precedence.ARROW,\n accept: (type) => type === \"=>\",\n parseInfix: (parser, left) => (parser.consume(\"=>\"), {\n type: \"JsdocTypeFunction\",\n parameters: getParameters(left).map(assertPlainKeyValueOrNameResult),\n arrow: !0,\n constructor: !1,\n parenthesis: !0,\n returnType: parser.parseType(Precedence.OBJECT)\n })\n }), genericArrowFunctionParslet = composeParslet({\n name: \"genericArrowFunctionParslet\",\n accept: (type) => type === \"<\",\n parsePrefix: (parser) => {\n let typeParameters = [];\n parser.consume(\"<\");\n do {\n let defaultValue, name = parser.parseIntermediateType(Precedence.SYMBOL);\n if (name.type === \"JsdocTypeOptional\" && (name = name.element, defaultValue = parser.parseType(Precedence.SYMBOL)), name.type !== \"JsdocTypeName\")\n throw new UnexpectedTypeError(name);\n let constraint;\n parser.consume(\"extends\") && (constraint = parser.parseType(Precedence.SYMBOL), constraint.type === \"JsdocTypeOptional\" && (constraint = constraint.element, defaultValue = parser.parseType(Precedence.SYMBOL)));\n let typeParameter = {\n type: \"JsdocTypeTypeParameter\",\n name\n };\n if (constraint !== void 0 && (typeParameter.constraint = constraint), defaultValue !== void 0 && (typeParameter.defaultValue = defaultValue), typeParameters.push(typeParameter), parser.consume(\">\"))\n break;\n } while (parser.consume(\",\"));\n let functionBase = parser.parseIntermediateType(Precedence.SYMBOL);\n return functionBase.typeParameters = typeParameters, functionBase;\n }\n }), intersectionParslet = composeParslet({\n name: \"intersectionParslet\",\n accept: (type) => type === \"&\",\n precedence: Precedence.INTERSECTION,\n parseInfix: (parser, left) => {\n parser.consume(\"&\");\n let elements = [];\n do\n elements.push(parser.parseType(Precedence.INTERSECTION));\n while (parser.consume(\"&\"));\n return {\n type: \"JsdocTypeIntersection\",\n elements: [assertRootResult(left), ...elements]\n };\n }\n }), predicateParslet = composeParslet({\n name: \"predicateParslet\",\n precedence: Precedence.INFIX,\n accept: (type) => type === \"is\",\n parseInfix: (parser, left) => {\n if (left.type !== \"JsdocTypeName\")\n throw new UnexpectedTypeError(left, \"A typescript predicate always has to have a name on the left side.\");\n return parser.consume(\"is\"), {\n type: \"JsdocTypePredicate\",\n left,\n right: assertRootResult(parser.parseIntermediateType(Precedence.INFIX))\n };\n }\n }), objectSquaredPropertyParslet = composeParslet({\n name: \"objectSquareBracketPropertyParslet\",\n accept: (type) => type === \"[\",\n parsePrefix: (parser) => {\n if (parser.baseParser === void 0)\n throw new Error(\"Only allowed inside object grammar\");\n parser.consume(\"[\");\n let key = parser.lexer.current.text;\n parser.consume(\"Identifier\");\n let result;\n if (parser.consume(\":\")) {\n let parentParser = parser.baseParser;\n parentParser.acceptLexerState(parser), result = {\n type: \"JsdocTypeIndexSignature\",\n key,\n right: parentParser.parseType(Precedence.INDEX_BRACKETS)\n }, parser.acceptLexerState(parentParser);\n } else if (parser.consume(\"in\")) {\n let parentParser = parser.baseParser;\n parentParser.acceptLexerState(parser), result = {\n type: \"JsdocTypeMappedType\",\n key,\n right: parentParser.parseType(Precedence.ARRAY_BRACKETS)\n }, parser.acceptLexerState(parentParser);\n } else\n throw new Error(\"Missing ':' or 'in' inside square bracketed property.\");\n if (!parser.consume(\"]\"))\n throw new Error(\"Unterminated square brackets\");\n return result;\n }\n }), readonlyArrayParslet = composeParslet({\n name: \"readonlyArrayParslet\",\n accept: (type) => type === \"readonly\",\n parsePrefix: (parser) => (parser.consume(\"readonly\"), {\n type: \"JsdocTypeReadonlyArray\",\n element: assertArrayOrTupleResult(parser.parseIntermediateType(Precedence.ALL))\n })\n }), conditionalParslet = composeParslet({\n name: \"conditionalParslet\",\n precedence: Precedence.INFIX,\n accept: (type) => type === \"extends\",\n parseInfix: (parser, left) => {\n parser.consume(\"extends\");\n let extendsType = parser.parseType(Precedence.KEY_OF_TYPE_OF).element, trueType = parser.parseType(Precedence.INFIX);\n return parser.consume(\":\"), {\n type: \"JsdocTypeConditional\",\n checksType: assertRootResult(left),\n extendsType,\n trueType,\n falseType: parser.parseType(Precedence.INFIX)\n };\n }\n }), objectFieldGrammar = [\n readonlyPropertyParslet,\n createNameParslet({\n allowedAdditionalTokens: [\"typeof\", \"module\", \"keyof\", \"event\", \"external\", \"in\"]\n }),\n nullableParslet,\n optionalParslet,\n stringValueParslet,\n numberParslet,\n createObjectFieldParslet({\n allowSquaredProperties: !0,\n allowKeyTypes: !1,\n allowOptional: !0,\n allowReadonly: !0\n }),\n objectSquaredPropertyParslet\n ], typescriptGrammar = [\n ...baseGrammar,\n createObjectParslet({\n allowKeyTypes: !1,\n objectFieldGrammar\n }),\n readonlyArrayParslet,\n typeOfParslet,\n keyOfParslet,\n importParslet,\n stringValueParslet,\n createFunctionParslet({\n allowWithoutParenthesis: !0,\n allowNoReturnType: !1,\n allowNamedParameters: [\"this\", \"new\", \"args\"],\n allowNewAsFunctionKeyword: !0\n }),\n createTupleParslet({\n allowQuestionMark: !1\n }),\n createVariadicParslet({\n allowEnclosingBrackets: !1,\n allowPostfix: !1\n }),\n assertsParslet,\n conditionalParslet,\n createNameParslet({\n allowedAdditionalTokens: [\"event\", \"external\", \"in\"]\n }),\n createSpecialNamePathParslet({\n allowedTypes: [\"module\"],\n pathGrammar\n }),\n arrayBracketsParslet,\n arrowFunctionParslet,\n genericArrowFunctionParslet,\n createNamePathParslet({\n allowSquareBracketsOnAnyType: !0,\n allowJsdocNamePaths: !1,\n pathGrammar\n }),\n intersectionParslet,\n predicateParslet,\n createKeyValueParslet({\n allowVariadic: !0,\n allowOptional: !0\n })\n ];\n function parse3(expression, mode) {\n switch (mode) {\n case \"closure\":\n return new Parser(closureGrammar, expression).parse();\n case \"jsdoc\":\n return new Parser(jsdocGrammar, expression).parse();\n case \"typescript\":\n return new Parser(typescriptGrammar, expression).parse();\n }\n }\n function tryParse(expression, modes = [\"typescript\", \"closure\", \"jsdoc\"]) {\n let error;\n for (let mode of modes)\n try {\n return parse3(expression, mode);\n } catch (e) {\n error = e;\n }\n throw error;\n }\n function transform(rules2, parseResult) {\n let rule = rules2[parseResult.type];\n if (rule === void 0)\n throw new Error(`In this set of transform rules exists no rule for type ${parseResult.type}.`);\n return rule(parseResult, (aParseResult) => transform(rules2, aParseResult));\n }\n function notAvailableTransform(parseResult) {\n throw new Error(\"This transform is not available. Are you trying the correct parsing mode?\");\n }\n function extractSpecialParams(source) {\n let result = {\n params: []\n };\n for (let param of source.parameters)\n param.type === \"JsdocTypeKeyValue\" ? param.key === \"this\" ? result.this = param.right : param.key === \"new\" ? result.new = param.right : result.params.push(param) : result.params.push(param);\n return result;\n }\n function applyPosition(position, target, value) {\n return position === \"prefix\" ? value + target : target + value;\n }\n function quote(value, quote2) {\n switch (quote2) {\n case \"double\":\n return `\"${value}\"`;\n case \"single\":\n return `'${value}'`;\n case void 0:\n return value;\n }\n }\n function stringifyRules2() {\n return {\n JsdocTypeParenthesis: (result, transform2) => `(${result.element !== void 0 ? transform2(result.element) : \"\"})`,\n JsdocTypeKeyof: (result, transform2) => `keyof ${transform2(result.element)}`,\n JsdocTypeFunction: (result, transform2) => {\n var _a;\n if (result.arrow) {\n if (result.returnType === void 0)\n throw new Error(\"Arrow function needs a return type.\");\n let stringified = `${result.typeParameters !== void 0 ? `<${(_a = result.typeParameters.map(transform2).join(\", \")) !== null && _a !== void 0 ? _a : \"\"}>` : \"\"}(${result.parameters.map(transform2).join(\", \")}) => ${transform2(result.returnType)}`;\n return result.constructor && (stringified = \"new \" + stringified), stringified;\n } else {\n let stringified = result.constructor ? \"new\" : \"function\";\n return result.parenthesis && (stringified += `(${result.parameters.map(transform2).join(\", \")})`, result.returnType !== void 0 && (stringified += `: ${transform2(result.returnType)}`)), stringified;\n }\n },\n JsdocTypeName: (result) => result.value,\n JsdocTypeTuple: (result, transform2) => `[${result.elements.map(transform2).join(\", \")}]`,\n JsdocTypeVariadic: (result, transform2) => result.meta.position === void 0 ? \"...\" : applyPosition(result.meta.position, transform2(result.element), \"...\"),\n JsdocTypeNamePath: (result, transform2) => {\n let left = transform2(result.left), right = transform2(result.right);\n switch (result.pathType) {\n case \"inner\":\n return `${left}~${right}`;\n case \"instance\":\n return `${left}#${right}`;\n case \"property\":\n return `${left}.${right}`;\n case \"property-brackets\":\n return `${left}[${right}]`;\n }\n },\n JsdocTypeStringValue: (result) => quote(result.value, result.meta.quote),\n JsdocTypeAny: () => \"*\",\n JsdocTypeGeneric: (result, transform2) => {\n if (result.meta.brackets === \"square\") {\n let element = result.elements[0], transformed = transform2(element);\n return element.type === \"JsdocTypeUnion\" || element.type === \"JsdocTypeIntersection\" ? `(${transformed})[]` : `${transformed}[]`;\n } else\n return `${transform2(result.left)}${result.meta.dot ? \".\" : \"\"}<${result.infer === !0 ? \"infer \" : \"\"}${result.elements.map(transform2).join(\", \")}>`;\n },\n JsdocTypeImport: (result, transform2) => `import(${transform2(result.element)})`,\n JsdocTypeObjectField: (result, transform2) => {\n let text = \"\";\n return result.readonly && (text += \"readonly \"), typeof result.key == \"string\" ? text += quote(result.key, result.meta.quote) : text += transform2(result.key), result.optional && (text += \"?\"), result.right === void 0 ? text : text + `: ${transform2(result.right)}`;\n },\n JsdocTypeJsdocObjectField: (result, transform2) => `${transform2(result.left)}: ${transform2(result.right)}`,\n JsdocTypeKeyValue: (result, transform2) => {\n let text = result.key;\n return result.optional && (text += \"?\"), result.variadic && (text = \"...\" + text), result.right === void 0 ? text : text + `: ${transform2(result.right)}`;\n },\n JsdocTypeSpecialNamePath: (result) => `${result.specialType}:${quote(result.value, result.meta.quote)}`,\n JsdocTypeNotNullable: (result, transform2) => applyPosition(result.meta.position, transform2(result.element), \"!\"),\n JsdocTypeNull: () => \"null\",\n JsdocTypeNullable: (result, transform2) => applyPosition(result.meta.position, transform2(result.element), \"?\"),\n JsdocTypeNumber: (result) => result.value.toString(),\n JsdocTypeObject: (result, transform2) => {\n var _a, _b;\n return `{${(result.meta.separator === \"linebreak\" && result.elements.length > 1 ? `\n` + ((_a = result.meta.propertyIndent) !== null && _a !== void 0 ? _a : \"\") : \"\") + result.elements.map(transform2).join(result.meta.separator === \"comma\" ? \", \" : result.meta.separator === \"linebreak\" ? `\n` + ((_b = result.meta.propertyIndent) !== null && _b !== void 0 ? _b : \"\") : \"; \") + (result.meta.separator === \"linebreak\" && result.elements.length > 1 ? `\n` : \"\")}}`;\n },\n JsdocTypeOptional: (result, transform2) => applyPosition(result.meta.position, transform2(result.element), \"=\"),\n JsdocTypeSymbol: (result, transform2) => `${result.value}(${result.element !== void 0 ? transform2(result.element) : \"\"})`,\n JsdocTypeTypeof: (result, transform2) => `typeof ${transform2(result.element)}`,\n JsdocTypeUndefined: () => \"undefined\",\n JsdocTypeUnion: (result, transform2) => result.elements.map(transform2).join(\" | \"),\n JsdocTypeUnknown: () => \"?\",\n JsdocTypeIntersection: (result, transform2) => result.elements.map(transform2).join(\" & \"),\n JsdocTypeProperty: (result) => quote(result.value, result.meta.quote),\n JsdocTypePredicate: (result, transform2) => `${transform2(result.left)} is ${transform2(result.right)}`,\n JsdocTypeIndexSignature: (result, transform2) => `[${result.key}: ${transform2(result.right)}]`,\n JsdocTypeMappedType: (result, transform2) => `[${result.key} in ${transform2(result.right)}]`,\n JsdocTypeAsserts: (result, transform2) => `asserts ${transform2(result.left)} is ${transform2(result.right)}`,\n JsdocTypeReadonlyArray: (result, transform2) => `readonly ${transform2(result.element)}`,\n JsdocTypeAssertsPlain: (result, transform2) => `asserts ${transform2(result.element)}`,\n JsdocTypeConditional: (result, transform2) => `${transform2(result.checksType)} extends ${transform2(result.extendsType)} ? ${transform2(result.trueType)} : ${transform2(result.falseType)}`,\n JsdocTypeTypeParameter: (result, transform2) => `${transform2(result.name)}${result.constraint !== void 0 ? ` extends ${transform2(result.constraint)}` : \"\"}${result.defaultValue !== void 0 ? ` = ${transform2(result.defaultValue)}` : \"\"}`\n };\n }\n let storedStringifyRules = stringifyRules2();\n function stringify2(result) {\n return transform(storedStringifyRules, result);\n }\n let reservedWords = [\n \"null\",\n \"true\",\n \"false\",\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\"\n ];\n function makeName(value) {\n let result = {\n type: \"NameExpression\",\n name: value\n };\n return reservedWords.includes(value) && (result.reservedWord = !0), result;\n }\n let catharsisTransformRules = {\n JsdocTypeOptional: (result, transform2) => {\n let transformed = transform2(result.element);\n return transformed.optional = !0, transformed;\n },\n JsdocTypeNullable: (result, transform2) => {\n let transformed = transform2(result.element);\n return transformed.nullable = !0, transformed;\n },\n JsdocTypeNotNullable: (result, transform2) => {\n let transformed = transform2(result.element);\n return transformed.nullable = !1, transformed;\n },\n JsdocTypeVariadic: (result, transform2) => {\n if (result.element === void 0)\n throw new Error(\"dots without value are not allowed in catharsis mode\");\n let transformed = transform2(result.element);\n return transformed.repeatable = !0, transformed;\n },\n JsdocTypeAny: () => ({\n type: \"AllLiteral\"\n }),\n JsdocTypeNull: () => ({\n type: \"NullLiteral\"\n }),\n JsdocTypeStringValue: (result) => makeName(quote(result.value, result.meta.quote)),\n JsdocTypeUndefined: () => ({\n type: \"UndefinedLiteral\"\n }),\n JsdocTypeUnknown: () => ({\n type: \"UnknownLiteral\"\n }),\n JsdocTypeFunction: (result, transform2) => {\n let params = extractSpecialParams(result), transformed = {\n type: \"FunctionType\",\n params: params.params.map(transform2)\n };\n return params.this !== void 0 && (transformed.this = transform2(params.this)), params.new !== void 0 && (transformed.new = transform2(params.new)), result.returnType !== void 0 && (transformed.result = transform2(result.returnType)), transformed;\n },\n JsdocTypeGeneric: (result, transform2) => ({\n type: \"TypeApplication\",\n applications: result.elements.map((o) => transform2(o)),\n expression: transform2(result.left)\n }),\n JsdocTypeSpecialNamePath: (result) => makeName(result.specialType + \":\" + quote(result.value, result.meta.quote)),\n JsdocTypeName: (result) => result.value !== \"function\" ? makeName(result.value) : {\n type: \"FunctionType\",\n params: []\n },\n JsdocTypeNumber: (result) => makeName(result.value.toString()),\n JsdocTypeObject: (result, transform2) => {\n let transformed = {\n type: \"RecordType\",\n fields: []\n };\n for (let field of result.elements)\n field.type !== \"JsdocTypeObjectField\" && field.type !== \"JsdocTypeJsdocObjectField\" ? transformed.fields.push({\n type: \"FieldType\",\n key: transform2(field),\n value: void 0\n }) : transformed.fields.push(transform2(field));\n return transformed;\n },\n JsdocTypeObjectField: (result, transform2) => {\n if (typeof result.key != \"string\")\n throw new Error(\"Index signatures and mapped types are not supported\");\n return {\n type: \"FieldType\",\n key: makeName(quote(result.key, result.meta.quote)),\n value: result.right === void 0 ? void 0 : transform2(result.right)\n };\n },\n JsdocTypeJsdocObjectField: (result, transform2) => ({\n type: \"FieldType\",\n key: transform2(result.left),\n value: transform2(result.right)\n }),\n JsdocTypeUnion: (result, transform2) => ({\n type: \"TypeUnion\",\n elements: result.elements.map((e) => transform2(e))\n }),\n JsdocTypeKeyValue: (result, transform2) => ({\n type: \"FieldType\",\n key: makeName(result.key),\n value: result.right === void 0 ? void 0 : transform2(result.right)\n }),\n JsdocTypeNamePath: (result, transform2) => {\n let leftResult = transform2(result.left), rightValue;\n result.right.type === \"JsdocTypeSpecialNamePath\" ? rightValue = transform2(result.right).name : rightValue = quote(result.right.value, result.right.meta.quote);\n let joiner = result.pathType === \"inner\" ? \"~\" : result.pathType === \"instance\" ? \"#\" : \".\";\n return makeName(`${leftResult.name}${joiner}${rightValue}`);\n },\n JsdocTypeSymbol: (result) => {\n let value = \"\", element = result.element, trailingDots = !1;\n return element?.type === \"JsdocTypeVariadic\" && (element.meta.position === \"prefix\" ? value = \"...\" : trailingDots = !0, element = element.element), element?.type === \"JsdocTypeName\" ? value += element.value : element?.type === \"JsdocTypeNumber\" && (value += element.value.toString()), trailingDots && (value += \"...\"), makeName(`${result.value}(${value})`);\n },\n JsdocTypeParenthesis: (result, transform2) => transform2(assertRootResult(result.element)),\n JsdocTypeMappedType: notAvailableTransform,\n JsdocTypeIndexSignature: notAvailableTransform,\n JsdocTypeImport: notAvailableTransform,\n JsdocTypeKeyof: notAvailableTransform,\n JsdocTypeTuple: notAvailableTransform,\n JsdocTypeTypeof: notAvailableTransform,\n JsdocTypeIntersection: notAvailableTransform,\n JsdocTypeProperty: notAvailableTransform,\n JsdocTypePredicate: notAvailableTransform,\n JsdocTypeAsserts: notAvailableTransform,\n JsdocTypeReadonlyArray: notAvailableTransform,\n JsdocTypeAssertsPlain: notAvailableTransform,\n JsdocTypeConditional: notAvailableTransform,\n JsdocTypeTypeParameter: notAvailableTransform\n };\n function catharsisTransform(result) {\n return transform(catharsisTransformRules, result);\n }\n function getQuoteStyle(quote2) {\n switch (quote2) {\n case void 0:\n return \"none\";\n case \"single\":\n return \"single\";\n case \"double\":\n return \"double\";\n }\n }\n function getMemberType(type) {\n switch (type) {\n case \"inner\":\n return \"INNER_MEMBER\";\n case \"instance\":\n return \"INSTANCE_MEMBER\";\n case \"property\":\n return \"MEMBER\";\n case \"property-brackets\":\n return \"MEMBER\";\n }\n }\n function nestResults(type, results) {\n return results.length === 2 ? {\n type,\n left: results[0],\n right: results[1]\n } : {\n type,\n left: results[0],\n right: nestResults(type, results.slice(1))\n };\n }\n let jtpRules = {\n JsdocTypeOptional: (result, transform2) => ({\n type: \"OPTIONAL\",\n value: transform2(result.element),\n meta: {\n syntax: result.meta.position === \"prefix\" ? \"PREFIX_EQUAL_SIGN\" : \"SUFFIX_EQUALS_SIGN\"\n }\n }),\n JsdocTypeNullable: (result, transform2) => ({\n type: \"NULLABLE\",\n value: transform2(result.element),\n meta: {\n syntax: result.meta.position === \"prefix\" ? \"PREFIX_QUESTION_MARK\" : \"SUFFIX_QUESTION_MARK\"\n }\n }),\n JsdocTypeNotNullable: (result, transform2) => ({\n type: \"NOT_NULLABLE\",\n value: transform2(result.element),\n meta: {\n syntax: result.meta.position === \"prefix\" ? \"PREFIX_BANG\" : \"SUFFIX_BANG\"\n }\n }),\n JsdocTypeVariadic: (result, transform2) => {\n let transformed = {\n type: \"VARIADIC\",\n meta: {\n syntax: result.meta.position === \"prefix\" ? \"PREFIX_DOTS\" : result.meta.position === \"suffix\" ? \"SUFFIX_DOTS\" : \"ONLY_DOTS\"\n }\n };\n return result.element !== void 0 && (transformed.value = transform2(result.element)), transformed;\n },\n JsdocTypeName: (result) => ({\n type: \"NAME\",\n name: result.value\n }),\n JsdocTypeTypeof: (result, transform2) => ({\n type: \"TYPE_QUERY\",\n name: transform2(result.element)\n }),\n JsdocTypeTuple: (result, transform2) => ({\n type: \"TUPLE\",\n entries: result.elements.map(transform2)\n }),\n JsdocTypeKeyof: (result, transform2) => ({\n type: \"KEY_QUERY\",\n value: transform2(result.element)\n }),\n JsdocTypeImport: (result) => ({\n type: \"IMPORT\",\n path: {\n type: \"STRING_VALUE\",\n quoteStyle: getQuoteStyle(result.element.meta.quote),\n string: result.element.value\n }\n }),\n JsdocTypeUndefined: () => ({\n type: \"NAME\",\n name: \"undefined\"\n }),\n JsdocTypeAny: () => ({\n type: \"ANY\"\n }),\n JsdocTypeFunction: (result, transform2) => {\n let specialParams = extractSpecialParams(result), transformed = {\n type: result.arrow ? \"ARROW\" : \"FUNCTION\",\n params: specialParams.params.map((param) => {\n if (param.type === \"JsdocTypeKeyValue\") {\n if (param.right === void 0)\n throw new Error(\"Function parameter without ':' is not expected to be 'KEY_VALUE'\");\n return {\n type: \"NAMED_PARAMETER\",\n name: param.key,\n typeName: transform2(param.right)\n };\n } else\n return transform2(param);\n }),\n new: null,\n returns: null\n };\n return specialParams.this !== void 0 ? transformed.this = transform2(specialParams.this) : result.arrow || (transformed.this = null), specialParams.new !== void 0 && (transformed.new = transform2(specialParams.new)), result.returnType !== void 0 && (transformed.returns = transform2(result.returnType)), transformed;\n },\n JsdocTypeGeneric: (result, transform2) => {\n let transformed = {\n type: \"GENERIC\",\n subject: transform2(result.left),\n objects: result.elements.map(transform2),\n meta: {\n syntax: result.meta.brackets === \"square\" ? \"SQUARE_BRACKET\" : result.meta.dot ? \"ANGLE_BRACKET_WITH_DOT\" : \"ANGLE_BRACKET\"\n }\n };\n return result.meta.brackets === \"square\" && result.elements[0].type === \"JsdocTypeFunction\" && !result.elements[0].parenthesis && (transformed.objects[0] = {\n type: \"NAME\",\n name: \"function\"\n }), transformed;\n },\n JsdocTypeObjectField: (result, transform2) => {\n if (typeof result.key != \"string\")\n throw new Error(\"Index signatures and mapped types are not supported\");\n if (result.right === void 0)\n return {\n type: \"RECORD_ENTRY\",\n key: result.key,\n quoteStyle: getQuoteStyle(result.meta.quote),\n value: null,\n readonly: !1\n };\n let right = transform2(result.right);\n return result.optional && (right = {\n type: \"OPTIONAL\",\n value: right,\n meta: {\n syntax: \"SUFFIX_KEY_QUESTION_MARK\"\n }\n }), {\n type: \"RECORD_ENTRY\",\n key: result.key.toString(),\n quoteStyle: getQuoteStyle(result.meta.quote),\n value: right,\n readonly: !1\n };\n },\n JsdocTypeJsdocObjectField: () => {\n throw new Error(\"Keys may not be typed in jsdoctypeparser.\");\n },\n JsdocTypeKeyValue: (result, transform2) => {\n if (result.right === void 0)\n return {\n type: \"RECORD_ENTRY\",\n key: result.key,\n quoteStyle: \"none\",\n value: null,\n readonly: !1\n };\n let right = transform2(result.right);\n return result.optional && (right = {\n type: \"OPTIONAL\",\n value: right,\n meta: {\n syntax: \"SUFFIX_KEY_QUESTION_MARK\"\n }\n }), {\n type: \"RECORD_ENTRY\",\n key: result.key,\n quoteStyle: \"none\",\n value: right,\n readonly: !1\n };\n },\n JsdocTypeObject: (result, transform2) => {\n let entries = [];\n for (let field of result.elements)\n (field.type === \"JsdocTypeObjectField\" || field.type === \"JsdocTypeJsdocObjectField\") && entries.push(transform2(field));\n return {\n type: \"RECORD\",\n entries\n };\n },\n JsdocTypeSpecialNamePath: (result) => {\n if (result.specialType !== \"module\")\n throw new Error(`jsdoctypeparser does not support type ${result.specialType} at this point.`);\n return {\n type: \"MODULE\",\n value: {\n type: \"FILE_PATH\",\n quoteStyle: getQuoteStyle(result.meta.quote),\n path: result.value\n }\n };\n },\n JsdocTypeNamePath: (result, transform2) => {\n let hasEventPrefix = !1, name, quoteStyle;\n result.right.type === \"JsdocTypeSpecialNamePath\" && result.right.specialType === \"event\" ? (hasEventPrefix = !0, name = result.right.value, quoteStyle = getQuoteStyle(result.right.meta.quote)) : (name = result.right.value, quoteStyle = getQuoteStyle(result.right.meta.quote));\n let transformed = {\n type: getMemberType(result.pathType),\n owner: transform2(result.left),\n name,\n quoteStyle,\n hasEventPrefix\n };\n if (transformed.owner.type === \"MODULE\") {\n let tModule = transformed.owner;\n return transformed.owner = transformed.owner.value, tModule.value = transformed, tModule;\n } else\n return transformed;\n },\n JsdocTypeUnion: (result, transform2) => nestResults(\"UNION\", result.elements.map(transform2)),\n JsdocTypeParenthesis: (result, transform2) => ({\n type: \"PARENTHESIS\",\n value: transform2(assertRootResult(result.element))\n }),\n JsdocTypeNull: () => ({\n type: \"NAME\",\n name: \"null\"\n }),\n JsdocTypeUnknown: () => ({\n type: \"UNKNOWN\"\n }),\n JsdocTypeStringValue: (result) => ({\n type: \"STRING_VALUE\",\n quoteStyle: getQuoteStyle(result.meta.quote),\n string: result.value\n }),\n JsdocTypeIntersection: (result, transform2) => nestResults(\"INTERSECTION\", result.elements.map(transform2)),\n JsdocTypeNumber: (result) => ({\n type: \"NUMBER_VALUE\",\n number: result.value.toString()\n }),\n JsdocTypeSymbol: notAvailableTransform,\n JsdocTypeProperty: notAvailableTransform,\n JsdocTypePredicate: notAvailableTransform,\n JsdocTypeMappedType: notAvailableTransform,\n JsdocTypeIndexSignature: notAvailableTransform,\n JsdocTypeAsserts: notAvailableTransform,\n JsdocTypeReadonlyArray: notAvailableTransform,\n JsdocTypeAssertsPlain: notAvailableTransform,\n JsdocTypeConditional: notAvailableTransform,\n JsdocTypeTypeParameter: notAvailableTransform\n };\n function jtpTransform(result) {\n return transform(jtpRules, result);\n }\n function identityTransformRules() {\n return {\n JsdocTypeIntersection: (result, transform2) => ({\n type: \"JsdocTypeIntersection\",\n elements: result.elements.map(transform2)\n }),\n JsdocTypeGeneric: (result, transform2) => ({\n type: \"JsdocTypeGeneric\",\n left: transform2(result.left),\n elements: result.elements.map(transform2),\n meta: {\n dot: result.meta.dot,\n brackets: result.meta.brackets\n }\n }),\n JsdocTypeNullable: (result) => result,\n JsdocTypeUnion: (result, transform2) => ({\n type: \"JsdocTypeUnion\",\n elements: result.elements.map(transform2)\n }),\n JsdocTypeUnknown: (result) => result,\n JsdocTypeUndefined: (result) => result,\n JsdocTypeTypeof: (result, transform2) => ({\n type: \"JsdocTypeTypeof\",\n element: transform2(result.element)\n }),\n JsdocTypeSymbol: (result, transform2) => {\n let transformed = {\n type: \"JsdocTypeSymbol\",\n value: result.value\n };\n return result.element !== void 0 && (transformed.element = transform2(result.element)), transformed;\n },\n JsdocTypeOptional: (result, transform2) => ({\n type: \"JsdocTypeOptional\",\n element: transform2(result.element),\n meta: {\n position: result.meta.position\n }\n }),\n JsdocTypeObject: (result, transform2) => ({\n type: \"JsdocTypeObject\",\n meta: {\n separator: \"comma\"\n },\n elements: result.elements.map(transform2)\n }),\n JsdocTypeNumber: (result) => result,\n JsdocTypeNull: (result) => result,\n JsdocTypeNotNullable: (result, transform2) => ({\n type: \"JsdocTypeNotNullable\",\n element: transform2(result.element),\n meta: {\n position: result.meta.position\n }\n }),\n JsdocTypeSpecialNamePath: (result) => result,\n JsdocTypeObjectField: (result, transform2) => ({\n type: \"JsdocTypeObjectField\",\n key: result.key,\n right: result.right === void 0 ? void 0 : transform2(result.right),\n optional: result.optional,\n readonly: result.readonly,\n meta: result.meta\n }),\n JsdocTypeJsdocObjectField: (result, transform2) => ({\n type: \"JsdocTypeJsdocObjectField\",\n left: transform2(result.left),\n right: transform2(result.right)\n }),\n JsdocTypeKeyValue: (result, transform2) => ({\n type: \"JsdocTypeKeyValue\",\n key: result.key,\n right: result.right === void 0 ? void 0 : transform2(result.right),\n optional: result.optional,\n variadic: result.variadic\n }),\n JsdocTypeImport: (result, transform2) => ({\n type: \"JsdocTypeImport\",\n element: transform2(result.element)\n }),\n JsdocTypeAny: (result) => result,\n JsdocTypeStringValue: (result) => result,\n JsdocTypeNamePath: (result) => result,\n JsdocTypeVariadic: (result, transform2) => {\n let transformed = {\n type: \"JsdocTypeVariadic\",\n meta: {\n position: result.meta.position,\n squareBrackets: result.meta.squareBrackets\n }\n };\n return result.element !== void 0 && (transformed.element = transform2(result.element)), transformed;\n },\n JsdocTypeTuple: (result, transform2) => ({\n type: \"JsdocTypeTuple\",\n elements: result.elements.map(transform2)\n }),\n JsdocTypeName: (result) => result,\n JsdocTypeFunction: (result, transform2) => {\n let transformed = {\n type: \"JsdocTypeFunction\",\n arrow: result.arrow,\n parameters: result.parameters.map(transform2),\n constructor: result.constructor,\n parenthesis: result.parenthesis\n };\n return result.returnType !== void 0 && (transformed.returnType = transform2(result.returnType)), transformed;\n },\n JsdocTypeKeyof: (result, transform2) => ({\n type: \"JsdocTypeKeyof\",\n element: transform2(result.element)\n }),\n JsdocTypeParenthesis: (result, transform2) => ({\n type: \"JsdocTypeParenthesis\",\n element: transform2(result.element)\n }),\n JsdocTypeProperty: (result) => result,\n JsdocTypePredicate: (result, transform2) => ({\n type: \"JsdocTypePredicate\",\n left: transform2(result.left),\n right: transform2(result.right)\n }),\n JsdocTypeIndexSignature: (result, transform2) => ({\n type: \"JsdocTypeIndexSignature\",\n key: result.key,\n right: transform2(result.right)\n }),\n JsdocTypeMappedType: (result, transform2) => ({\n type: \"JsdocTypeMappedType\",\n key: result.key,\n right: transform2(result.right)\n }),\n JsdocTypeAsserts: (result, transform2) => ({\n type: \"JsdocTypeAsserts\",\n left: transform2(result.left),\n right: transform2(result.right)\n }),\n JsdocTypeReadonlyArray: (result, transform2) => ({\n type: \"JsdocTypeReadonlyArray\",\n element: transform2(result.element)\n }),\n JsdocTypeAssertsPlain: (result, transform2) => ({\n type: \"JsdocTypeAssertsPlain\",\n element: transform2(result.element)\n }),\n JsdocTypeConditional: (result, transform2) => ({\n type: \"JsdocTypeConditional\",\n checksType: transform2(result.checksType),\n extendsType: transform2(result.extendsType),\n trueType: transform2(result.trueType),\n falseType: transform2(result.falseType)\n }),\n JsdocTypeTypeParameter: (result, transform2) => ({\n type: \"JsdocTypeTypeParameter\",\n name: transform2(result.name),\n constraint: result.constraint !== void 0 ? transform2(result.constraint) : void 0,\n defaultValue: result.defaultValue !== void 0 ? transform2(result.defaultValue) : void 0\n })\n };\n }\n let visitorKeys = {\n JsdocTypeAny: [],\n JsdocTypeFunction: [\"parameters\", \"returnType\"],\n JsdocTypeGeneric: [\"left\", \"elements\"],\n JsdocTypeImport: [],\n JsdocTypeIndexSignature: [\"right\"],\n JsdocTypeIntersection: [\"elements\"],\n JsdocTypeKeyof: [\"element\"],\n JsdocTypeKeyValue: [\"right\"],\n JsdocTypeMappedType: [\"right\"],\n JsdocTypeName: [],\n JsdocTypeNamePath: [\"left\", \"right\"],\n JsdocTypeNotNullable: [\"element\"],\n JsdocTypeNull: [],\n JsdocTypeNullable: [\"element\"],\n JsdocTypeNumber: [],\n JsdocTypeObject: [\"elements\"],\n JsdocTypeObjectField: [\"right\"],\n JsdocTypeJsdocObjectField: [\"left\", \"right\"],\n JsdocTypeOptional: [\"element\"],\n JsdocTypeParenthesis: [\"element\"],\n JsdocTypeSpecialNamePath: [],\n JsdocTypeStringValue: [],\n JsdocTypeSymbol: [\"element\"],\n JsdocTypeTuple: [\"elements\"],\n JsdocTypeTypeof: [\"element\"],\n JsdocTypeUndefined: [],\n JsdocTypeUnion: [\"elements\"],\n JsdocTypeUnknown: [],\n JsdocTypeVariadic: [\"element\"],\n JsdocTypeProperty: [],\n JsdocTypePredicate: [\"left\", \"right\"],\n JsdocTypeAsserts: [\"left\", \"right\"],\n JsdocTypeReadonlyArray: [\"element\"],\n JsdocTypeAssertsPlain: [\"element\"],\n JsdocTypeConditional: [\"checksType\", \"extendsType\", \"trueType\", \"falseType\"],\n JsdocTypeTypeParameter: [\"name\", \"constraint\", \"defaultValue\"]\n };\n function _traverse(node, parentNode, property, onEnter, onLeave) {\n onEnter?.(node, parentNode, property);\n let keysToVisit = visitorKeys[node.type];\n for (let key of keysToVisit) {\n let value = node[key];\n if (value !== void 0)\n if (Array.isArray(value))\n for (let element of value)\n _traverse(element, node, key, onEnter, onLeave);\n else\n _traverse(value, node, key, onEnter, onLeave);\n }\n onLeave?.(node, parentNode, property);\n }\n function traverse(node, onEnter, onLeave) {\n _traverse(node, void 0, void 0, onEnter, onLeave);\n }\n exports2.catharsisTransform = catharsisTransform, exports2.identityTransformRules = identityTransformRules, exports2.jtpTransform = jtpTransform, exports2.parse = parse3, exports2.stringify = stringify2, exports2.stringifyRules = stringifyRules2, exports2.transform = transform, exports2.traverse = traverse, exports2.tryParse = tryParse, exports2.visitorKeys = visitorKeys;\n }));\n }\n});\n\n// src/docs-tools/argTypes/convert/flow/convert.ts\nimport { UnknownArgTypesError } from \"storybook/internal/preview-errors\";\nvar isLiteral = (type) => type.name === \"literal\", toEnumOption = (element) => element.value.replace(/['|\"]/g, \"\"), convertSig = (type) => {\n switch (type.type) {\n case \"function\":\n return { name: \"function\" };\n case \"object\":\n let values = {};\n return type.signature.properties.forEach((prop) => {\n values[prop.key] = convert(prop.value);\n }), {\n name: \"object\",\n value: values\n };\n default:\n throw new UnknownArgTypesError({ type, language: \"Flow\" });\n }\n}, convert = (type) => {\n let { name, raw } = type, base = {};\n switch (typeof raw < \"u\" && (base.raw = raw), type.name) {\n case \"literal\":\n return { ...base, name: \"other\", value: type.value };\n case \"string\":\n case \"number\":\n case \"symbol\":\n case \"boolean\":\n return { ...base, name };\n case \"Array\":\n return { ...base, name: \"array\", value: type.elements.map(convert) };\n case \"signature\":\n return { ...base, ...convertSig(type) };\n case \"union\":\n return type.elements?.every(isLiteral) ? { ...base, name: \"enum\", value: type.elements?.map(toEnumOption) } : { ...base, name, value: type.elements?.map(convert) };\n case \"intersection\":\n return { ...base, name, value: type.elements?.map(convert) };\n default:\n return { ...base, name: \"other\", value: name };\n }\n};\n\n// src/docs-tools/argTypes/convert/utils.ts\nvar QUOTE_REGEX = /^['\"]|['\"]$/g, trimQuotes = (str2) => str2.replace(QUOTE_REGEX, \"\"), includesQuotes = (str2) => QUOTE_REGEX.test(str2), parseLiteral = (str2) => {\n let trimmedValue = trimQuotes(str2);\n return includesQuotes(str2) || Number.isNaN(Number(trimmedValue)) ? trimmedValue : Number(trimmedValue);\n};\n\n// src/docs-tools/argTypes/convert/proptypes/convert.ts\nvar SIGNATURE_REGEXP = /^\\(.*\\) => /, convert2 = (type) => {\n let { name, raw, computed, value } = type, base = {};\n switch (typeof raw < \"u\" && (base.raw = raw), name) {\n case \"enum\": {\n let values2 = computed ? value : value.map((v) => parseLiteral(v.value));\n return { ...base, name, value: values2 };\n }\n case \"string\":\n case \"number\":\n case \"symbol\":\n return { ...base, name };\n case \"func\":\n return { ...base, name: \"function\" };\n case \"bool\":\n case \"boolean\":\n return { ...base, name: \"boolean\" };\n case \"arrayOf\":\n case \"array\":\n return { ...base, name: \"array\", value: value && convert2(value) };\n case \"object\":\n return { ...base, name };\n case \"objectOf\":\n return { ...base, name, value: convert2(value) };\n case \"shape\":\n case \"exact\":\n let values = mapValues(value, (field) => convert2(field));\n return { ...base, name: \"object\", value: values };\n case \"union\":\n return { ...base, name: \"union\", value: value.map((v) => convert2(v)) };\n case \"instanceOf\":\n case \"element\":\n case \"elementType\":\n default: {\n if (name?.indexOf(\"|\") > 0)\n try {\n let literalValues = name.split(\"|\").map((v) => JSON.parse(v));\n return { ...base, name: \"enum\", value: literalValues };\n } catch {\n }\n let otherVal = value ? `${name}(${value})` : name, otherName = SIGNATURE_REGEXP.test(name) ? \"function\" : \"other\";\n return { ...base, name: otherName, value: otherVal };\n }\n }\n};\n\n// src/docs-tools/argTypes/convert/typescript/convert.ts\nimport { UnknownArgTypesError as UnknownArgTypesError2 } from \"storybook/internal/preview-errors\";\nvar isLiteral2 = (type) => type.name === \"literal\", isUndefined = (type) => type.name === \"undefined\", convertSig2 = (type) => {\n switch (type.type) {\n case \"function\":\n return { name: \"function\" };\n case \"object\":\n let values = {};\n return type.signature.properties.forEach((prop) => {\n values[prop.key] = convert3(prop.value);\n }), {\n name: \"object\",\n value: values\n };\n default:\n throw new UnknownArgTypesError2({ type, language: \"Typescript\" });\n }\n}, convert3 = (type) => {\n let { name, raw } = type, base = {};\n switch (typeof raw < \"u\" && (base.raw = raw), type.name) {\n case \"string\":\n case \"number\":\n case \"symbol\":\n case \"boolean\":\n return { ...base, name };\n case \"Array\":\n return { ...base, name: \"array\", value: type.elements.map(convert3) };\n case \"signature\":\n return { ...base, ...convertSig2(type) };\n case \"union\": {\n let nonUndefinedElements = type.elements.filter((element) => !isUndefined(element));\n if (nonUndefinedElements.length > 0 && nonUndefinedElements.every(isLiteral2)) {\n let literalElements = nonUndefinedElements.filter(isLiteral2);\n return {\n ...base,\n name: \"enum\",\n value: literalElements.map((element) => parseLiteral(element.value))\n };\n }\n return { ...base, name, value: type.elements.map(convert3) };\n }\n case \"intersection\":\n return { ...base, name, value: type.elements.map(convert3) };\n default:\n return { ...base, name: \"other\", value: name };\n }\n};\n\n// src/docs-tools/argTypes/convert/index.ts\nvar convert4 = (docgenInfo) => {\n let { type, tsType, flowType } = docgenInfo;\n try {\n if (type != null)\n return convert2(type);\n if (tsType != null)\n return convert3(tsType);\n if (flowType != null)\n return convert(flowType);\n } catch (err) {\n console.error(err);\n }\n return null;\n};\n\n// src/docs-tools/argTypes/docgen/types.ts\nvar TypeSystem = /* @__PURE__ */ ((TypeSystem2) => (TypeSystem2.JAVASCRIPT = \"JavaScript\", TypeSystem2.FLOW = \"Flow\", TypeSystem2.TYPESCRIPT = \"TypeScript\", TypeSystem2.UNKNOWN = \"Unknown\", TypeSystem2))(TypeSystem || {});\n\n// src/docs-tools/argTypes/docgen/utils/defaultValue.ts\nvar BLACKLIST = [\"null\", \"undefined\"];\nfunction isDefaultValueBlacklisted(value) {\n return BLACKLIST.some((x) => x === value);\n}\n\n// src/docs-tools/argTypes/docgen/utils/string.ts\nvar str = (obj) => {\n if (!obj)\n return \"\";\n if (typeof obj == \"string\")\n return obj;\n throw new Error(`Description: expected string, got: ${JSON.stringify(obj)}`);\n};\n\n// src/docs-tools/argTypes/docgen/utils/docgenInfo.ts\nfunction hasDocgen(component) {\n return !!component.__docgenInfo;\n}\nfunction isValidDocgenSection(docgenSection) {\n return docgenSection != null && Object.keys(docgenSection).length > 0;\n}\nfunction getDocgenSection(component, section) {\n return hasDocgen(component) ? component.__docgenInfo[section] : null;\n}\nfunction getDocgenDescription(component) {\n return hasDocgen(component) ? str(component.__docgenInfo.description) : \"\";\n}\n\n// ../../node_modules/comment-parser/es6/primitives.js\nvar Markers;\n(function(Markers2) {\n Markers2.start = \"/**\", Markers2.nostart = \"/***\", Markers2.delim = \"*\", Markers2.end = \"*/\";\n})(Markers = Markers || (Markers = {}));\n\n// ../../node_modules/comment-parser/es6/util.js\nfunction isSpace(source) {\n return /^\\s+$/.test(source);\n}\nfunction splitCR(source) {\n let matches = source.match(/\\r+$/);\n return matches == null ? [\"\", source] : [source.slice(-matches[0].length), source.slice(0, -matches[0].length)];\n}\nfunction splitSpace(source) {\n let matches = source.match(/^\\s+/);\n return matches == null ? [\"\", source] : [source.slice(0, matches[0].length), source.slice(matches[0].length)];\n}\nfunction splitLines(source) {\n return source.split(/\\n/);\n}\nfunction seedSpec(spec = {}) {\n return Object.assign({ tag: \"\", name: \"\", type: \"\", optional: !1, description: \"\", problems: [], source: [] }, spec);\n}\nfunction seedTokens(tokens = {}) {\n return Object.assign({ start: \"\", delimiter: \"\", postDelimiter: \"\", tag: \"\", postTag: \"\", name: \"\", postName: \"\", type: \"\", postType: \"\", description: \"\", end: \"\", lineEnd: \"\" }, tokens);\n}\n\n// ../../node_modules/comment-parser/es6/parser/block-parser.js\nvar reTag = /^@\\S+/;\nfunction getParser({ fence = \"```\" } = {}) {\n let fencer = getFencer(fence), toggleFence = (source, isFenced) => fencer(source) ? !isFenced : isFenced;\n return function(source) {\n let sections = [[]], isFenced = !1;\n for (let line of source)\n reTag.test(line.tokens.description) && !isFenced ? sections.push([line]) : sections[sections.length - 1].push(line), isFenced = toggleFence(line.tokens.description, isFenced);\n return sections;\n };\n}\nfunction getFencer(fence) {\n return typeof fence == \"string\" ? (source) => source.split(fence).length % 2 === 0 : fence;\n}\n\n// ../../node_modules/comment-parser/es6/parser/source-parser.js\nfunction getParser2({ startLine = 0, markers = Markers } = {}) {\n let block = null, num = startLine;\n return function(source) {\n let rest = source, tokens = seedTokens();\n if ([tokens.lineEnd, rest] = splitCR(rest), [tokens.start, rest] = splitSpace(rest), block === null && rest.startsWith(markers.start) && !rest.startsWith(markers.nostart) && (block = [], tokens.delimiter = rest.slice(0, markers.start.length), rest = rest.slice(markers.start.length), [tokens.postDelimiter, rest] = splitSpace(rest)), block === null)\n return num++, null;\n let isClosed = rest.trimRight().endsWith(markers.end);\n if (tokens.delimiter === \"\" && rest.startsWith(markers.delim) && !rest.startsWith(markers.end) && (tokens.delimiter = markers.delim, rest = rest.slice(markers.delim.length), [tokens.postDelimiter, rest] = splitSpace(rest)), isClosed) {\n let trimmed = rest.trimRight();\n tokens.end = rest.slice(trimmed.length - markers.end.length), rest = trimmed.slice(0, -markers.end.length);\n }\n if (tokens.description = rest, block.push({ number: num, source, tokens }), num++, isClosed) {\n let result = block.slice();\n return block = null, result;\n }\n return null;\n };\n}\n\n// ../../node_modules/comment-parser/es6/parser/spec-parser.js\nfunction getParser3({ tokenizers }) {\n return function(source) {\n var _a;\n let spec = seedSpec({ source });\n for (let tokenize of tokenizers)\n if (spec = tokenize(spec), !((_a = spec.problems[spec.problems.length - 1]) === null || _a === void 0) && _a.critical)\n break;\n return spec;\n };\n}\n\n// ../../node_modules/comment-parser/es6/parser/tokenizers/tag.js\nfunction tagTokenizer() {\n return (spec) => {\n let { tokens } = spec.source[0], match = tokens.description.match(/\\s*(@(\\S+))(\\s*)/);\n return match === null ? (spec.problems.push({\n code: \"spec:tag:prefix\",\n message: 'tag should start with \"@\" symbol',\n line: spec.source[0].number,\n critical: !0\n }), spec) : (tokens.tag = match[1], tokens.postTag = match[3], tokens.description = tokens.description.slice(match[0].length), spec.tag = match[2], spec);\n };\n}\n\n// ../../node_modules/comment-parser/es6/parser/tokenizers/type.js\nfunction typeTokenizer(spacing = \"compact\") {\n let join2 = getJoiner(spacing);\n return (spec) => {\n let curlies = 0, lines = [];\n for (let [i, { tokens }] of spec.source.entries()) {\n let type = \"\";\n if (i === 0 && tokens.description[0] !== \"{\")\n return spec;\n for (let ch of tokens.description)\n if (ch === \"{\" && curlies++, ch === \"}\" && curlies--, type += ch, curlies === 0)\n break;\n if (lines.push([tokens, type]), curlies === 0)\n break;\n }\n if (curlies !== 0)\n return spec.problems.push({\n code: \"spec:type:unpaired-curlies\",\n message: \"unpaired curlies\",\n line: spec.source[0].number,\n critical: !0\n }), spec;\n let parts = [], offset = lines[0][0].postDelimiter.length;\n for (let [i, [tokens, type]] of lines.entries())\n tokens.type = type, i > 0 && (tokens.type = tokens.postDelimiter.slice(offset) + type, tokens.postDelimiter = tokens.postDelimiter.slice(0, offset)), [tokens.postType, tokens.description] = splitSpace(tokens.description.slice(type.length)), parts.push(tokens.type);\n return parts[0] = parts[0].slice(1), parts[parts.length - 1] = parts[parts.length - 1].slice(0, -1), spec.type = join2(parts), spec;\n };\n}\nvar trim = (x) => x.trim();\nfunction getJoiner(spacing) {\n return spacing === \"compact\" ? (t) => t.map(trim).join(\"\") : spacing === \"preserve\" ? (t) => t.join(`\n`) : spacing;\n}\n\n// ../../node_modules/comment-parser/es6/parser/tokenizers/name.js\nvar isQuoted = (s) => s && s.startsWith('\"') && s.endsWith('\"');\nfunction nameTokenizer() {\n let typeEnd = (num, { tokens }, i) => tokens.type === \"\" ? num : i;\n return (spec) => {\n let { tokens } = spec.source[spec.source.reduce(typeEnd, 0)], source = tokens.description.trimLeft(), quotedGroups = source.split('\"');\n if (quotedGroups.length > 1 && quotedGroups[0] === \"\" && quotedGroups.length % 2 === 1)\n return spec.name = quotedGroups[1], tokens.name = `\"${quotedGroups[1]}\"`, [tokens.postName, tokens.description] = splitSpace(source.slice(tokens.name.length)), spec;\n let brackets = 0, name = \"\", optional = !1, defaultValue;\n for (let ch of source) {\n if (brackets === 0 && isSpace(ch))\n break;\n ch === \"[\" && brackets++, ch === \"]\" && brackets--, name += ch;\n }\n if (brackets !== 0)\n return spec.problems.push({\n code: \"spec:name:unpaired-brackets\",\n message: \"unpaired brackets\",\n line: spec.source[0].number,\n critical: !0\n }), spec;\n let nameToken = name;\n if (name[0] === \"[\" && name[name.length - 1] === \"]\") {\n optional = !0, name = name.slice(1, -1);\n let parts = name.split(\"=\");\n if (name = parts[0].trim(), parts[1] !== void 0 && (defaultValue = parts.slice(1).join(\"=\").trim()), name === \"\")\n return spec.problems.push({\n code: \"spec:name:empty-name\",\n message: \"empty name\",\n line: spec.source[0].number,\n critical: !0\n }), spec;\n if (defaultValue === \"\")\n return spec.problems.push({\n code: \"spec:name:empty-default\",\n message: \"empty default value\",\n line: spec.source[0].number,\n critical: !0\n }), spec;\n if (!isQuoted(defaultValue) && /=(?!>)/.test(defaultValue))\n return spec.problems.push({\n code: \"spec:name:invalid-default\",\n message: \"invalid default value syntax\",\n line: spec.source[0].number,\n critical: !0\n }), spec;\n }\n return spec.optional = optional, spec.name = name, tokens.name = nameToken, defaultValue !== void 0 && (spec.default = defaultValue), [tokens.postName, tokens.description] = splitSpace(source.slice(tokens.name.length)), spec;\n };\n}\n\n// ../../node_modules/comment-parser/es6/parser/tokenizers/description.js\nfunction descriptionTokenizer(spacing = \"compact\", markers = Markers) {\n let join2 = getJoiner2(spacing);\n return (spec) => (spec.description = join2(spec.source, markers), spec);\n}\nfunction getJoiner2(spacing) {\n return spacing === \"compact\" ? compactJoiner : spacing === \"preserve\" ? preserveJoiner : spacing;\n}\nfunction compactJoiner(lines, markers = Markers) {\n return lines.map(({ tokens: { description } }) => description.trim()).filter((description) => description !== \"\").join(\" \");\n}\nvar lineNo = (num, { tokens }, i) => tokens.type === \"\" ? num : i, getDescription = ({ tokens }) => (tokens.delimiter === \"\" ? tokens.start : tokens.postDelimiter.slice(1)) + tokens.description;\nfunction preserveJoiner(lines, markers = Markers) {\n if (lines.length === 0)\n return \"\";\n lines[0].tokens.description === \"\" && lines[0].tokens.delimiter === markers.start && (lines = lines.slice(1));\n let lastLine = lines[lines.length - 1];\n return lastLine !== void 0 && lastLine.tokens.description === \"\" && lastLine.tokens.end.endsWith(markers.end) && (lines = lines.slice(0, -1)), lines = lines.slice(lines.reduce(lineNo, 0)), lines.map(getDescription).join(`\n`);\n}\n\n// ../../node_modules/comment-parser/es6/parser/index.js\nfunction getParser4({ startLine = 0, fence = \"```\", spacing = \"compact\", markers = Markers, tokenizers = [\n tagTokenizer(),\n typeTokenizer(spacing),\n nameTokenizer(),\n descriptionTokenizer(spacing)\n] } = {}) {\n if (startLine < 0 || startLine % 1 > 0)\n throw new Error(\"Invalid startLine\");\n let parseSource = getParser2({ startLine, markers }), parseBlock = getParser({ fence }), parseSpec = getParser3({ tokenizers }), joinDescription = getJoiner2(spacing);\n return function(source) {\n let blocks = [];\n for (let line of splitLines(source)) {\n let lines = parseSource(line);\n if (lines === null)\n continue;\n let sections = parseBlock(lines), specs = sections.slice(1).map(parseSpec);\n blocks.push({\n description: joinDescription(sections[0], markers),\n tags: specs,\n source: lines,\n problems: specs.reduce((acc, spec) => acc.concat(spec.problems), [])\n });\n }\n return blocks;\n };\n}\n\n// ../../node_modules/comment-parser/es6/stringifier/index.js\nfunction join(tokens) {\n return tokens.start + tokens.delimiter + tokens.postDelimiter + tokens.tag + tokens.postTag + tokens.type + tokens.postType + tokens.name + tokens.postName + tokens.description + tokens.end + tokens.lineEnd;\n}\nfunction getStringifier() {\n return (block) => block.source.map(({ tokens }) => join(tokens)).join(`\n`);\n}\n\n// ../../node_modules/comment-parser/es6/stringifier/inspect.js\nvar zeroWidth = {\n line: 0,\n start: 0,\n delimiter: 0,\n postDelimiter: 0,\n tag: 0,\n postTag: 0,\n name: 0,\n postName: 0,\n type: 0,\n postType: 0,\n description: 0,\n end: 0,\n lineEnd: 0\n};\nvar fields = Object.keys(zeroWidth);\n\n// ../../node_modules/comment-parser/es6/index.js\nfunction parse(source, options = {}) {\n return getParser4(options)(source);\n}\nvar stringify = getStringifier();\n\n// src/docs-tools/argTypes/jsdocParser.ts\nvar import_jsdoc_type_pratt_parser = __toESM(require_dist(), 1);\nfunction containsJsDoc(value) {\n return value != null && value.includes(\"@\");\n}\nfunction parse2(content) {\n let normalisedContent = `/**\n` + (content ?? \"\").split(`\n`).map((line) => ` * ${line}`).join(`\n`) + `\n*/`, ast = parse(normalisedContent, {\n spacing: \"preserve\"\n });\n if (!ast || ast.length === 0)\n throw new Error(\"Cannot parse JSDoc tags.\");\n return ast[0];\n}\nvar DEFAULT_OPTIONS = {\n tags: [\"param\", \"arg\", \"argument\", \"returns\", \"ignore\", \"deprecated\"]\n}, parseJsDoc = (value, options = DEFAULT_OPTIONS) => {\n if (!containsJsDoc(value))\n return {\n includesJsDoc: !1,\n ignore: !1\n };\n let jsDocAst = parse2(value), extractedTags = extractJsDocTags(jsDocAst, options.tags);\n return extractedTags.ignore ? {\n includesJsDoc: !0,\n ignore: !0\n } : {\n includesJsDoc: !0,\n ignore: !1,\n // Always use the parsed description to ensure JSDoc is removed from the description.\n description: jsDocAst.description.trim(),\n extractedTags\n };\n};\nfunction extractJsDocTags(ast, tags) {\n let extractedTags = {\n params: null,\n deprecated: null,\n returns: null,\n ignore: !1\n };\n for (let tagSpec of ast.tags)\n if (!(tags !== void 0 && !tags.includes(tagSpec.tag)))\n if (tagSpec.tag === \"ignore\") {\n extractedTags.ignore = !0;\n break;\n } else\n switch (tagSpec.tag) {\n // arg & argument are aliases for param.\n case \"param\":\n case \"arg\":\n case \"argument\": {\n let paramTag = extractParam(tagSpec);\n paramTag != null && (extractedTags.params == null && (extractedTags.params = []), extractedTags.params.push(paramTag));\n break;\n }\n case \"deprecated\": {\n let deprecatedTag = extractDeprecated(tagSpec);\n deprecatedTag != null && (extractedTags.deprecated = deprecatedTag);\n break;\n }\n case \"returns\": {\n let returnsTag = extractReturns(tagSpec);\n returnsTag != null && (extractedTags.returns = returnsTag);\n break;\n }\n default:\n break;\n }\n return extractedTags;\n}\nfunction normaliseParamName(name) {\n return name.replace(/[\\.-]$/, \"\");\n}\nfunction extractParam(tag) {\n if (!tag.name || tag.name === \"-\")\n return null;\n let type = extractType(tag.type);\n return {\n name: tag.name,\n type,\n description: normaliseDescription(tag.description),\n getPrettyName: () => normaliseParamName(tag.name),\n getTypeName: () => type ? extractTypeName(type) : null\n };\n}\nfunction extractDeprecated(tag) {\n return tag.name ? joinNameAndDescription(tag.name, tag.description) : null;\n}\nfunction joinNameAndDescription(name, desc) {\n let joined = name === \"\" ? desc : `${name} ${desc}`;\n return normaliseDescription(joined);\n}\nfunction normaliseDescription(text) {\n let normalised = text.replace(/^- /g, \"\").trim();\n return normalised === \"\" ? null : normalised;\n}\nfunction extractReturns(tag) {\n let type = extractType(tag.type);\n return type ? {\n type,\n description: joinNameAndDescription(tag.name, tag.description),\n getTypeName: () => extractTypeName(type)\n } : null;\n}\nvar jsdocStringifyRules = (0, import_jsdoc_type_pratt_parser.stringifyRules)(), originalJsdocStringifyObject = jsdocStringifyRules.JsdocTypeObject;\njsdocStringifyRules.JsdocTypeAny = () => \"any\";\njsdocStringifyRules.JsdocTypeObject = (result, transform) => `(${originalJsdocStringifyObject(result, transform)})`;\njsdocStringifyRules.JsdocTypeOptional = (result, transform) => transform(result.element);\njsdocStringifyRules.JsdocTypeNullable = (result, transform) => transform(result.element);\njsdocStringifyRules.JsdocTypeNotNullable = (result, transform) => transform(result.element);\njsdocStringifyRules.JsdocTypeUnion = (result, transform) => result.elements.map(transform).join(\"|\");\nfunction extractType(typeString) {\n try {\n return (0, import_jsdoc_type_pratt_parser.parse)(typeString, \"typescript\");\n } catch {\n return null;\n }\n}\nfunction extractTypeName(type) {\n return (0, import_jsdoc_type_pratt_parser.transform)(jsdocStringifyRules, type);\n}\n\n// src/docs-tools/argTypes/utils.ts\nvar MAX_TYPE_SUMMARY_LENGTH = 90, MAX_DEFAULT_VALUE_SUMMARY_LENGTH = 50;\nfunction isTooLongForTypeSummary(value) {\n return value.length > 90;\n}\nfunction isTooLongForDefaultValueSummary(value) {\n return value.length > 50;\n}\nfunction createSummaryValue(summary, detail) {\n return summary === detail ? { summary } : { summary, detail };\n}\nvar normalizeNewlines = (string) => string.replace(/\\\\r\\\\n/g, \"\\\\n\");\n\n// src/docs-tools/argTypes/docgen/flow/createDefaultValue.ts\nfunction createDefaultValue(defaultValue, type) {\n if (defaultValue != null) {\n let { value } = defaultValue;\n if (!isDefaultValueBlacklisted(value))\n return isTooLongForDefaultValueSummary(value) ? createSummaryValue(type?.name, value) : createSummaryValue(value);\n }\n return null;\n}\n\n// src/docs-tools/argTypes/docgen/flow/createType.ts\nfunction generateUnionElement({ name, value, elements, raw }) {\n return value ?? (elements != null ? elements.map(generateUnionElement).join(\" | \") : raw ?? name);\n}\nfunction generateUnion({ name, raw, elements }) {\n return elements != null ? createSummaryValue(elements.map(generateUnionElement).join(\" | \")) : raw != null ? createSummaryValue(raw.replace(/^\\|\\s*/, \"\")) : createSummaryValue(name);\n}\nfunction generateFuncSignature({ type, raw }) {\n return raw != null ? createSummaryValue(raw) : createSummaryValue(type);\n}\nfunction generateObjectSignature({ type, raw }) {\n return raw != null ? isTooLongForTypeSummary(raw) ? createSummaryValue(type, raw) : createSummaryValue(raw) : createSummaryValue(type);\n}\nfunction generateSignature(flowType) {\n let { type } = flowType;\n return type === \"object\" ? generateObjectSignature(flowType) : generateFuncSignature(flowType);\n}\nfunction generateDefault({ name, raw }) {\n return raw != null ? isTooLongForTypeSummary(raw) ? createSummaryValue(name, raw) : createSummaryValue(raw) : createSummaryValue(name);\n}\nfunction createType(type) {\n if (type == null)\n return null;\n switch (type.name) {\n case \"union\" /* UNION */:\n return generateUnion(type);\n case \"signature\" /* SIGNATURE */:\n return generateSignature(type);\n default:\n return generateDefault(type);\n }\n}\n\n// src/docs-tools/argTypes/docgen/flow/createPropDef.ts\nvar createFlowPropDef = (propName, docgenInfo) => {\n let { flowType, description, required, defaultValue } = docgenInfo;\n return {\n name: propName,\n type: createType(flowType),\n required,\n description,\n defaultValue: createDefaultValue(defaultValue ?? null, flowType ?? null)\n };\n};\n\n// src/docs-tools/argTypes/docgen/typeScript/createDefaultValue.ts\nfunction createDefaultValue2({ defaultValue }) {\n if (defaultValue != null) {\n let { value } = defaultValue;\n if (!isDefaultValueBlacklisted(value))\n return createSummaryValue(value);\n }\n return null;\n}\n\n// src/docs-tools/argTypes/docgen/typeScript/createType.ts\nfunction createType2({ tsType, required }) {\n if (tsType == null)\n return null;\n let typeName = tsType.name;\n return required || (typeName = typeName.replace(\" | undefined\", \"\")), createSummaryValue(\n [\"Array\", \"Record\", \"signature\"].includes(tsType.name) ? tsType.raw : typeName\n );\n}\n\n// src/docs-tools/argTypes/docgen/typeScript/createPropDef.ts\nvar createTsPropDef = (propName, docgenInfo) => {\n let { description, required } = docgenInfo;\n return {\n name: propName,\n type: createType2(docgenInfo),\n required,\n description,\n defaultValue: createDefaultValue2(docgenInfo)\n };\n};\n\n// src/docs-tools/argTypes/docgen/createPropDef.ts\nfunction createType3(type) {\n return type != null ? createSummaryValue(type.name) : null;\n}\nfunction isReactDocgenTypescript(defaultValue) {\n let { computed, func } = defaultValue;\n return typeof computed > \"u\" && typeof func > \"u\";\n}\nfunction isStringValued(type) {\n return type ? type.name === \"string\" ? !0 : type.name === \"enum\" ? Array.isArray(type.value) && type.value.every(\n ({ value: tv }) => typeof tv == \"string\" && tv[0] === '\"' && tv[tv.length - 1] === '\"'\n ) : !1 : !1;\n}\nfunction createDefaultValue3(defaultValue, type) {\n if (defaultValue != null) {\n let { value } = defaultValue;\n if (!isDefaultValueBlacklisted(value))\n return isReactDocgenTypescript(defaultValue) && isStringValued(type) ? createSummaryValue(JSON.stringify(value)) : createSummaryValue(value);\n }\n return null;\n}\nfunction createBasicPropDef(name, type, docgenInfo) {\n let { description, required, defaultValue } = docgenInfo;\n return {\n name,\n type: createType3(type),\n required,\n description,\n defaultValue: createDefaultValue3(defaultValue, type)\n };\n}\nfunction applyJsDocResult(propDef, jsDocParsingResult) {\n if (jsDocParsingResult?.includesJsDoc) {\n let { description, extractedTags } = jsDocParsingResult;\n description != null && (propDef.description = jsDocParsingResult.description);\n let value = {\n ...extractedTags,\n params: extractedTags?.params?.map(\n (x) => ({\n name: x.getPrettyName(),\n description: x.description\n })\n )\n };\n Object.values(value).filter(Boolean).length > 0 && (propDef.jsDocTags = value);\n }\n return propDef;\n}\nvar javaScriptFactory = (propName, docgenInfo, jsDocParsingResult) => {\n let propDef = createBasicPropDef(propName, docgenInfo.type, docgenInfo);\n return propDef.sbType = convert4(docgenInfo), applyJsDocResult(propDef, jsDocParsingResult);\n}, tsFactory = (propName, docgenInfo, jsDocParsingResult) => {\n let propDef = createTsPropDef(propName, docgenInfo);\n return propDef.sbType = convert4(docgenInfo), applyJsDocResult(propDef, jsDocParsingResult);\n}, flowFactory = (propName, docgenInfo, jsDocParsingResult) => {\n let propDef = createFlowPropDef(propName, docgenInfo);\n return propDef.sbType = convert4(docgenInfo), applyJsDocResult(propDef, jsDocParsingResult);\n}, unknownFactory = (propName, docgenInfo, jsDocParsingResult) => {\n let propDef = createBasicPropDef(propName, { name: \"unknown\" }, docgenInfo);\n return applyJsDocResult(propDef, jsDocParsingResult);\n}, getPropDefFactory = (typeSystem) => {\n switch (typeSystem) {\n case \"JavaScript\" /* JAVASCRIPT */:\n return javaScriptFactory;\n case \"TypeScript\" /* TYPESCRIPT */:\n return tsFactory;\n case \"Flow\" /* FLOW */:\n return flowFactory;\n default:\n return unknownFactory;\n }\n};\n\n// src/docs-tools/argTypes/docgen/extractDocgenProps.ts\nvar getTypeSystem = (docgenInfo) => docgenInfo.type != null ? \"JavaScript\" /* JAVASCRIPT */ : docgenInfo.flowType != null ? \"Flow\" /* FLOW */ : docgenInfo.tsType != null ? \"TypeScript\" /* TYPESCRIPT */ : \"Unknown\" /* UNKNOWN */, extractComponentSectionArray = (docgenSection) => {\n let typeSystem = getTypeSystem(docgenSection[0]), createPropDef = getPropDefFactory(typeSystem);\n return docgenSection.map((item) => {\n let sanitizedItem = item;\n return item.type?.elements && (sanitizedItem = {\n ...item,\n type: {\n ...item.type,\n value: item.type.elements\n }\n }), extractProp(sanitizedItem.name, sanitizedItem, typeSystem, createPropDef);\n });\n}, extractComponentSectionObject = (docgenSection) => {\n let docgenPropsKeys = Object.keys(docgenSection), typeSystem = getTypeSystem(docgenSection[docgenPropsKeys[0]]), createPropDef = getPropDefFactory(typeSystem);\n return docgenPropsKeys.map((propName) => {\n let docgenInfo = docgenSection[propName];\n return docgenInfo != null ? extractProp(propName, docgenInfo, typeSystem, createPropDef) : null;\n }).filter(Boolean);\n}, extractComponentProps = (component, section) => {\n let docgenSection = getDocgenSection(component, section);\n return isValidDocgenSection(docgenSection) ? Array.isArray(docgenSection) ? extractComponentSectionArray(docgenSection) : extractComponentSectionObject(docgenSection) : [];\n};\nfunction extractProp(propName, docgenInfo, typeSystem, createPropDef) {\n let jsDocParsingResult = parseJsDoc(docgenInfo.description);\n return jsDocParsingResult.includesJsDoc && jsDocParsingResult.ignore ? null : {\n propDef: createPropDef(propName, docgenInfo, jsDocParsingResult),\n jsDocTags: jsDocParsingResult.extractedTags,\n docgenInfo,\n typeSystem\n };\n}\nfunction extractComponentDescription(component) {\n return component != null ? getDocgenDescription(component) : \"\";\n}\n\n// src/preview-api/modules/store/parameters.ts\nvar combineParameters = (...parameterSets) => {\n let mergeKeys = {}, definedParametersSets = parameterSets.filter(Boolean), combined = definedParametersSets.reduce((acc, parameters) => (Object.entries(parameters).forEach(([key, value]) => {\n let existing = acc[key];\n Array.isArray(value) || typeof existing > \"u\" ? acc[key] = value : isPlainObject(value) && isPlainObject(existing) ? mergeKeys[key] = !0 : typeof value < \"u\" && (acc[key] = value);\n }), acc), {});\n return Object.keys(mergeKeys).forEach((key) => {\n let mergeValues = definedParametersSets.filter(Boolean).map((p) => p[key]).filter((value) => typeof value < \"u\");\n mergeValues.every((value) => isPlainObject(value)) ? combined[key] = combineParameters(...mergeValues) : combined[key] = mergeValues[mergeValues.length - 1];\n }), combined;\n};\n\n// src/docs-tools/argTypes/enhanceArgTypes.ts\nvar enhanceArgTypes = (context) => {\n let {\n component,\n argTypes: userArgTypes,\n parameters: { docs = {} }\n } = context, { extractArgTypes } = docs;\n if (!extractArgTypes || !component)\n return userArgTypes;\n let extractedArgTypes = extractArgTypes(component);\n return extractedArgTypes ? combineParameters(extractedArgTypes, userArgTypes) : userArgTypes;\n};\n\n// src/docs-tools/shared.ts\nvar ADDON_ID = \"storybook/docs\", PANEL_ID = `${ADDON_ID}/panel`, PARAM_KEY = \"docs\", SNIPPET_RENDERED = `${ADDON_ID}/snippet-rendered`, SourceType = /* @__PURE__ */ ((SourceType2) => (SourceType2.AUTO = \"auto\", SourceType2.CODE = \"code\", SourceType2.DYNAMIC = \"dynamic\", SourceType2))(SourceType || {});\n\nexport {\n combineParameters,\n convert4 as convert,\n TypeSystem,\n isDefaultValueBlacklisted,\n str,\n hasDocgen,\n isValidDocgenSection,\n getDocgenSection,\n getDocgenDescription,\n parseJsDoc,\n MAX_TYPE_SUMMARY_LENGTH,\n MAX_DEFAULT_VALUE_SUMMARY_LENGTH,\n isTooLongForTypeSummary,\n isTooLongForDefaultValueSummary,\n createSummaryValue,\n normalizeNewlines,\n extractComponentSectionArray,\n extractComponentSectionObject,\n extractComponentProps,\n extractComponentDescription,\n enhanceArgTypes,\n ADDON_ID,\n PANEL_ID,\n PARAM_KEY,\n SNIPPET_RENDERED,\n SourceType\n};\n","import {\n __commonJS\n} from \"./chunk-A242L54C.js\";\n\n// ../../node_modules/entities/lib/maps/entities.json\nvar require_entities = __commonJS({\n \"../../node_modules/entities/lib/maps/entities.json\"(exports, module) {\n module.exports = { Aacute: \"\\xC1\", aacute: \"\\xE1\", Abreve: \"\\u0102\", abreve: \"\\u0103\", ac: \"\\u223E\", acd: \"\\u223F\", acE: \"\\u223E\\u0333\", Acirc: \"\\xC2\", acirc: \"\\xE2\", acute: \"\\xB4\", Acy: \"\\u0410\", acy: \"\\u0430\", AElig: \"\\xC6\", aelig: \"\\xE6\", af: \"\\u2061\", Afr: \"\\u{1D504}\", afr: \"\\u{1D51E}\", Agrave: \"\\xC0\", agrave: \"\\xE0\", alefsym: \"\\u2135\", aleph: \"\\u2135\", Alpha: \"\\u0391\", alpha: \"\\u03B1\", Amacr: \"\\u0100\", amacr: \"\\u0101\", amalg: \"\\u2A3F\", amp: \"&\", AMP: \"&\", andand: \"\\u2A55\", And: \"\\u2A53\", and: \"\\u2227\", andd: \"\\u2A5C\", andslope: \"\\u2A58\", andv: \"\\u2A5A\", ang: \"\\u2220\", ange: \"\\u29A4\", angle: \"\\u2220\", angmsdaa: \"\\u29A8\", angmsdab: \"\\u29A9\", angmsdac: \"\\u29AA\", angmsdad: \"\\u29AB\", angmsdae: \"\\u29AC\", angmsdaf: \"\\u29AD\", angmsdag: \"\\u29AE\", angmsdah: \"\\u29AF\", angmsd: \"\\u2221\", angrt: \"\\u221F\", angrtvb: \"\\u22BE\", angrtvbd: \"\\u299D\", angsph: \"\\u2222\", angst: \"\\xC5\", angzarr: \"\\u237C\", Aogon: \"\\u0104\", aogon: \"\\u0105\", Aopf: \"\\u{1D538}\", aopf: \"\\u{1D552}\", apacir: \"\\u2A6F\", ap: \"\\u2248\", apE: \"\\u2A70\", ape: \"\\u224A\", apid: \"\\u224B\", apos: \"'\", ApplyFunction: \"\\u2061\", approx: \"\\u2248\", approxeq: \"\\u224A\", Aring: \"\\xC5\", aring: \"\\xE5\", Ascr: \"\\u{1D49C}\", ascr: \"\\u{1D4B6}\", Assign: \"\\u2254\", ast: \"*\", asymp: \"\\u2248\", asympeq: \"\\u224D\", Atilde: \"\\xC3\", atilde: \"\\xE3\", Auml: \"\\xC4\", auml: \"\\xE4\", awconint: \"\\u2233\", awint: \"\\u2A11\", backcong: \"\\u224C\", backepsilon: \"\\u03F6\", backprime: \"\\u2035\", backsim: \"\\u223D\", backsimeq: \"\\u22CD\", Backslash: \"\\u2216\", Barv: \"\\u2AE7\", barvee: \"\\u22BD\", barwed: \"\\u2305\", Barwed: \"\\u2306\", barwedge: \"\\u2305\", bbrk: \"\\u23B5\", bbrktbrk: \"\\u23B6\", bcong: \"\\u224C\", Bcy: \"\\u0411\", bcy: \"\\u0431\", bdquo: \"\\u201E\", becaus: \"\\u2235\", because: \"\\u2235\", Because: \"\\u2235\", bemptyv: \"\\u29B0\", bepsi: \"\\u03F6\", bernou: \"\\u212C\", Bernoullis: \"\\u212C\", Beta: \"\\u0392\", beta: \"\\u03B2\", beth: \"\\u2136\", between: \"\\u226C\", Bfr: \"\\u{1D505}\", bfr: \"\\u{1D51F}\", bigcap: \"\\u22C2\", bigcirc: \"\\u25EF\", bigcup: \"\\u22C3\", bigodot: \"\\u2A00\", bigoplus: \"\\u2A01\", bigotimes: \"\\u2A02\", bigsqcup: \"\\u2A06\", bigstar: \"\\u2605\", bigtriangledown: \"\\u25BD\", bigtriangleup: \"\\u25B3\", biguplus: \"\\u2A04\", bigvee: \"\\u22C1\", bigwedge: \"\\u22C0\", bkarow: \"\\u290D\", blacklozenge: \"\\u29EB\", blacksquare: \"\\u25AA\", blacktriangle: \"\\u25B4\", blacktriangledown: \"\\u25BE\", blacktriangleleft: \"\\u25C2\", blacktriangleright: \"\\u25B8\", blank: \"\\u2423\", blk12: \"\\u2592\", blk14: \"\\u2591\", blk34: \"\\u2593\", block: \"\\u2588\", bne: \"=\\u20E5\", bnequiv: \"\\u2261\\u20E5\", bNot: \"\\u2AED\", bnot: \"\\u2310\", Bopf: \"\\u{1D539}\", bopf: \"\\u{1D553}\", bot: \"\\u22A5\", bottom: \"\\u22A5\", bowtie: \"\\u22C8\", boxbox: \"\\u29C9\", boxdl: \"\\u2510\", boxdL: \"\\u2555\", boxDl: \"\\u2556\", boxDL: \"\\u2557\", boxdr: \"\\u250C\", boxdR: \"\\u2552\", boxDr: \"\\u2553\", boxDR: \"\\u2554\", boxh: \"\\u2500\", boxH: \"\\u2550\", boxhd: \"\\u252C\", boxHd: \"\\u2564\", boxhD: \"\\u2565\", boxHD: \"\\u2566\", boxhu: \"\\u2534\", boxHu: \"\\u2567\", boxhU: \"\\u2568\", boxHU: \"\\u2569\", boxminus: \"\\u229F\", boxplus: \"\\u229E\", boxtimes: \"\\u22A0\", boxul: \"\\u2518\", boxuL: \"\\u255B\", boxUl: \"\\u255C\", boxUL: \"\\u255D\", boxur: \"\\u2514\", boxuR: \"\\u2558\", boxUr: \"\\u2559\", boxUR: \"\\u255A\", boxv: \"\\u2502\", boxV: \"\\u2551\", boxvh: \"\\u253C\", boxvH: \"\\u256A\", boxVh: \"\\u256B\", boxVH: \"\\u256C\", boxvl: \"\\u2524\", boxvL: \"\\u2561\", boxVl: \"\\u2562\", boxVL: \"\\u2563\", boxvr: \"\\u251C\", boxvR: \"\\u255E\", boxVr: \"\\u255F\", boxVR: \"\\u2560\", bprime: \"\\u2035\", breve: \"\\u02D8\", Breve: \"\\u02D8\", brvbar: \"\\xA6\", bscr: \"\\u{1D4B7}\", Bscr: \"\\u212C\", bsemi: \"\\u204F\", bsim: \"\\u223D\", bsime: \"\\u22CD\", bsolb: \"\\u29C5\", bsol: \"\\\\\", bsolhsub: \"\\u27C8\", bull: \"\\u2022\", bullet: \"\\u2022\", bump: \"\\u224E\", bumpE: \"\\u2AAE\", bumpe: \"\\u224F\", Bumpeq: \"\\u224E\", bumpeq: \"\\u224F\", Cacute: \"\\u0106\", cacute: \"\\u0107\", capand: \"\\u2A44\", capbrcup: \"\\u2A49\", capcap: \"\\u2A4B\", cap: \"\\u2229\", Cap: \"\\u22D2\", capcup: \"\\u2A47\", capdot: \"\\u2A40\", CapitalDifferentialD: \"\\u2145\", caps: \"\\u2229\\uFE00\", caret: \"\\u2041\", caron: \"\\u02C7\", Cayleys: \"\\u212D\", ccaps: \"\\u2A4D\", Ccaron: \"\\u010C\", ccaron: \"\\u010D\", Ccedil: \"\\xC7\", ccedil: \"\\xE7\", Ccirc: \"\\u0108\", ccirc: \"\\u0109\", Cconint: \"\\u2230\", ccups: \"\\u2A4C\", ccupssm: \"\\u2A50\", Cdot: \"\\u010A\", cdot: \"\\u010B\", cedil: \"\\xB8\", Cedilla: \"\\xB8\", cemptyv: \"\\u29B2\", cent: \"\\xA2\", centerdot: \"\\xB7\", CenterDot: \"\\xB7\", cfr: \"\\u{1D520}\", Cfr: \"\\u212D\", CHcy: \"\\u0427\", chcy: \"\\u0447\", check: \"\\u2713\", checkmark: \"\\u2713\", Chi: \"\\u03A7\", chi: \"\\u03C7\", circ: \"\\u02C6\", circeq: \"\\u2257\", circlearrowleft: \"\\u21BA\", circlearrowright: \"\\u21BB\", circledast: \"\\u229B\", circledcirc: \"\\u229A\", circleddash: \"\\u229D\", CircleDot: \"\\u2299\", circledR: \"\\xAE\", circledS: \"\\u24C8\", CircleMinus: \"\\u2296\", CirclePlus: \"\\u2295\", CircleTimes: \"\\u2297\", cir: \"\\u25CB\", cirE: \"\\u29C3\", cire: \"\\u2257\", cirfnint: \"\\u2A10\", cirmid: \"\\u2AEF\", cirscir: \"\\u29C2\", ClockwiseContourIntegral: \"\\u2232\", CloseCurlyDoubleQuote: \"\\u201D\", CloseCurlyQuote: \"\\u2019\", clubs: \"\\u2663\", clubsuit: \"\\u2663\", colon: \":\", Colon: \"\\u2237\", Colone: \"\\u2A74\", colone: \"\\u2254\", coloneq: \"\\u2254\", comma: \",\", commat: \"@\", comp: \"\\u2201\", compfn: \"\\u2218\", complement: \"\\u2201\", complexes: \"\\u2102\", cong: \"\\u2245\", congdot: \"\\u2A6D\", Congruent: \"\\u2261\", conint: \"\\u222E\", Conint: \"\\u222F\", ContourIntegral: \"\\u222E\", copf: \"\\u{1D554}\", Copf: \"\\u2102\", coprod: \"\\u2210\", Coproduct: \"\\u2210\", copy: \"\\xA9\", COPY: \"\\xA9\", copysr: \"\\u2117\", CounterClockwiseContourIntegral: \"\\u2233\", crarr: \"\\u21B5\", cross: \"\\u2717\", Cross: \"\\u2A2F\", Cscr: \"\\u{1D49E}\", cscr: \"\\u{1D4B8}\", csub: \"\\u2ACF\", csube: \"\\u2AD1\", csup: \"\\u2AD0\", csupe: \"\\u2AD2\", ctdot: \"\\u22EF\", cudarrl: \"\\u2938\", cudarrr: \"\\u2935\", cuepr: \"\\u22DE\", cuesc: \"\\u22DF\", cularr: \"\\u21B6\", cularrp: \"\\u293D\", cupbrcap: \"\\u2A48\", cupcap: \"\\u2A46\", CupCap: \"\\u224D\", cup: \"\\u222A\", Cup: \"\\u22D3\", cupcup: \"\\u2A4A\", cupdot: \"\\u228D\", cupor: \"\\u2A45\", cups: \"\\u222A\\uFE00\", curarr: \"\\u21B7\", curarrm: \"\\u293C\", curlyeqprec: \"\\u22DE\", curlyeqsucc: \"\\u22DF\", curlyvee: \"\\u22CE\", curlywedge: \"\\u22CF\", curren: \"\\xA4\", curvearrowleft: \"\\u21B6\", curvearrowright: \"\\u21B7\", cuvee: \"\\u22CE\", cuwed: \"\\u22CF\", cwconint: \"\\u2232\", cwint: \"\\u2231\", cylcty: \"\\u232D\", dagger: \"\\u2020\", Dagger: \"\\u2021\", daleth: \"\\u2138\", darr: \"\\u2193\", Darr: \"\\u21A1\", dArr: \"\\u21D3\", dash: \"\\u2010\", Dashv: \"\\u2AE4\", dashv: \"\\u22A3\", dbkarow: \"\\u290F\", dblac: \"\\u02DD\", Dcaron: \"\\u010E\", dcaron: \"\\u010F\", Dcy: \"\\u0414\", dcy: \"\\u0434\", ddagger: \"\\u2021\", ddarr: \"\\u21CA\", DD: \"\\u2145\", dd: \"\\u2146\", DDotrahd: \"\\u2911\", ddotseq: \"\\u2A77\", deg: \"\\xB0\", Del: \"\\u2207\", Delta: \"\\u0394\", delta: \"\\u03B4\", demptyv: \"\\u29B1\", dfisht: \"\\u297F\", Dfr: \"\\u{1D507}\", dfr: \"\\u{1D521}\", dHar: \"\\u2965\", dharl: \"\\u21C3\", dharr: \"\\u21C2\", DiacriticalAcute: \"\\xB4\", DiacriticalDot: \"\\u02D9\", DiacriticalDoubleAcute: \"\\u02DD\", DiacriticalGrave: \"`\", DiacriticalTilde: \"\\u02DC\", diam: \"\\u22C4\", diamond: \"\\u22C4\", Diamond: \"\\u22C4\", diamondsuit: \"\\u2666\", diams: \"\\u2666\", die: \"\\xA8\", DifferentialD: \"\\u2146\", digamma: \"\\u03DD\", disin: \"\\u22F2\", div: \"\\xF7\", divide: \"\\xF7\", divideontimes: \"\\u22C7\", divonx: \"\\u22C7\", DJcy: \"\\u0402\", djcy: \"\\u0452\", dlcorn: \"\\u231E\", dlcrop: \"\\u230D\", dollar: \"$\", Dopf: \"\\u{1D53B}\", dopf: \"\\u{1D555}\", Dot: \"\\xA8\", dot: \"\\u02D9\", DotDot: \"\\u20DC\", doteq: \"\\u2250\", doteqdot: \"\\u2251\", DotEqual: \"\\u2250\", dotminus: \"\\u2238\", dotplus: \"\\u2214\", dotsquare: \"\\u22A1\", doublebarwedge: \"\\u2306\", DoubleContourIntegral: \"\\u222F\", DoubleDot: \"\\xA8\", DoubleDownArrow: \"\\u21D3\", DoubleLeftArrow: \"\\u21D0\", DoubleLeftRightArrow: \"\\u21D4\", DoubleLeftTee: \"\\u2AE4\", DoubleLongLeftArrow: \"\\u27F8\", DoubleLongLeftRightArrow: \"\\u27FA\", DoubleLongRightArrow: \"\\u27F9\", DoubleRightArrow: \"\\u21D2\", DoubleRightTee: \"\\u22A8\", DoubleUpArrow: \"\\u21D1\", DoubleUpDownArrow: \"\\u21D5\", DoubleVerticalBar: \"\\u2225\", DownArrowBar: \"\\u2913\", downarrow: \"\\u2193\", DownArrow: \"\\u2193\", Downarrow: \"\\u21D3\", DownArrowUpArrow: \"\\u21F5\", DownBreve: \"\\u0311\", downdownarrows: \"\\u21CA\", downharpoonleft: \"\\u21C3\", downharpoonright: \"\\u21C2\", DownLeftRightVector: \"\\u2950\", DownLeftTeeVector: \"\\u295E\", DownLeftVectorBar: \"\\u2956\", DownLeftVector: \"\\u21BD\", DownRightTeeVector: \"\\u295F\", DownRightVectorBar: \"\\u2957\", DownRightVector: \"\\u21C1\", DownTeeArrow: \"\\u21A7\", DownTee: \"\\u22A4\", drbkarow: \"\\u2910\", drcorn: \"\\u231F\", drcrop: \"\\u230C\", Dscr: \"\\u{1D49F}\", dscr: \"\\u{1D4B9}\", DScy: \"\\u0405\", dscy: \"\\u0455\", dsol: \"\\u29F6\", Dstrok: \"\\u0110\", dstrok: \"\\u0111\", dtdot: \"\\u22F1\", dtri: \"\\u25BF\", dtrif: \"\\u25BE\", duarr: \"\\u21F5\", duhar: \"\\u296F\", dwangle: \"\\u29A6\", DZcy: \"\\u040F\", dzcy: \"\\u045F\", dzigrarr: \"\\u27FF\", Eacute: \"\\xC9\", eacute: \"\\xE9\", easter: \"\\u2A6E\", Ecaron: \"\\u011A\", ecaron: \"\\u011B\", Ecirc: \"\\xCA\", ecirc: \"\\xEA\", ecir: \"\\u2256\", ecolon: \"\\u2255\", Ecy: \"\\u042D\", ecy: \"\\u044D\", eDDot: \"\\u2A77\", Edot: \"\\u0116\", edot: \"\\u0117\", eDot: \"\\u2251\", ee: \"\\u2147\", efDot: \"\\u2252\", Efr: \"\\u{1D508}\", efr: \"\\u{1D522}\", eg: \"\\u2A9A\", Egrave: \"\\xC8\", egrave: \"\\xE8\", egs: \"\\u2A96\", egsdot: \"\\u2A98\", el: \"\\u2A99\", Element: \"\\u2208\", elinters: \"\\u23E7\", ell: \"\\u2113\", els: \"\\u2A95\", elsdot: \"\\u2A97\", Emacr: \"\\u0112\", emacr: \"\\u0113\", empty: \"\\u2205\", emptyset: \"\\u2205\", EmptySmallSquare: \"\\u25FB\", emptyv: \"\\u2205\", EmptyVerySmallSquare: \"\\u25AB\", emsp13: \"\\u2004\", emsp14: \"\\u2005\", emsp: \"\\u2003\", ENG: \"\\u014A\", eng: \"\\u014B\", ensp: \"\\u2002\", Eogon: \"\\u0118\", eogon: \"\\u0119\", Eopf: \"\\u{1D53C}\", eopf: \"\\u{1D556}\", epar: \"\\u22D5\", eparsl: \"\\u29E3\", eplus: \"\\u2A71\", epsi: \"\\u03B5\", Epsilon: \"\\u0395\", epsilon: \"\\u03B5\", epsiv: \"\\u03F5\", eqcirc: \"\\u2256\", eqcolon: \"\\u2255\", eqsim: \"\\u2242\", eqslantgtr: \"\\u2A96\", eqslantless: \"\\u2A95\", Equal: \"\\u2A75\", equals: \"=\", EqualTilde: \"\\u2242\", equest: \"\\u225F\", Equilibrium: \"\\u21CC\", equiv: \"\\u2261\", equivDD: \"\\u2A78\", eqvparsl: \"\\u29E5\", erarr: \"\\u2971\", erDot: \"\\u2253\", escr: \"\\u212F\", Escr: \"\\u2130\", esdot: \"\\u2250\", Esim: \"\\u2A73\", esim: \"\\u2242\", Eta: \"\\u0397\", eta: \"\\u03B7\", ETH: \"\\xD0\", eth: \"\\xF0\", Euml: \"\\xCB\", euml: \"\\xEB\", euro: \"\\u20AC\", excl: \"!\", exist: \"\\u2203\", Exists: \"\\u2203\", expectation: \"\\u2130\", exponentiale: \"\\u2147\", ExponentialE: \"\\u2147\", fallingdotseq: \"\\u2252\", Fcy: \"\\u0424\", fcy: \"\\u0444\", female: \"\\u2640\", ffilig: \"\\uFB03\", fflig: \"\\uFB00\", ffllig: \"\\uFB04\", Ffr: \"\\u{1D509}\", ffr: \"\\u{1D523}\", filig: \"\\uFB01\", FilledSmallSquare: \"\\u25FC\", FilledVerySmallSquare: \"\\u25AA\", fjlig: \"fj\", flat: \"\\u266D\", fllig: \"\\uFB02\", fltns: \"\\u25B1\", fnof: \"\\u0192\", Fopf: \"\\u{1D53D}\", fopf: \"\\u{1D557}\", forall: \"\\u2200\", ForAll: \"\\u2200\", fork: \"\\u22D4\", forkv: \"\\u2AD9\", Fouriertrf: \"\\u2131\", fpartint: \"\\u2A0D\", frac12: \"\\xBD\", frac13: \"\\u2153\", frac14: \"\\xBC\", frac15: \"\\u2155\", frac16: \"\\u2159\", frac18: \"\\u215B\", frac23: \"\\u2154\", frac25: \"\\u2156\", frac34: \"\\xBE\", frac35: \"\\u2157\", frac38: \"\\u215C\", frac45: \"\\u2158\", frac56: \"\\u215A\", frac58: \"\\u215D\", frac78: \"\\u215E\", frasl: \"\\u2044\", frown: \"\\u2322\", fscr: \"\\u{1D4BB}\", Fscr: \"\\u2131\", gacute: \"\\u01F5\", Gamma: \"\\u0393\", gamma: \"\\u03B3\", Gammad: \"\\u03DC\", gammad: \"\\u03DD\", gap: \"\\u2A86\", Gbreve: \"\\u011E\", gbreve: \"\\u011F\", Gcedil: \"\\u0122\", Gcirc: \"\\u011C\", gcirc: \"\\u011D\", Gcy: \"\\u0413\", gcy: \"\\u0433\", Gdot: \"\\u0120\", gdot: \"\\u0121\", ge: \"\\u2265\", gE: \"\\u2267\", gEl: \"\\u2A8C\", gel: \"\\u22DB\", geq: \"\\u2265\", geqq: \"\\u2267\", geqslant: \"\\u2A7E\", gescc: \"\\u2AA9\", ges: \"\\u2A7E\", gesdot: \"\\u2A80\", gesdoto: \"\\u2A82\", gesdotol: \"\\u2A84\", gesl: \"\\u22DB\\uFE00\", gesles: \"\\u2A94\", Gfr: \"\\u{1D50A}\", gfr: \"\\u{1D524}\", gg: \"\\u226B\", Gg: \"\\u22D9\", ggg: \"\\u22D9\", gimel: \"\\u2137\", GJcy: \"\\u0403\", gjcy: \"\\u0453\", gla: \"\\u2AA5\", gl: \"\\u2277\", glE: \"\\u2A92\", glj: \"\\u2AA4\", gnap: \"\\u2A8A\", gnapprox: \"\\u2A8A\", gne: \"\\u2A88\", gnE: \"\\u2269\", gneq: \"\\u2A88\", gneqq: \"\\u2269\", gnsim: \"\\u22E7\", Gopf: \"\\u{1D53E}\", gopf: \"\\u{1D558}\", grave: \"`\", GreaterEqual: \"\\u2265\", GreaterEqualLess: \"\\u22DB\", GreaterFullEqual: \"\\u2267\", GreaterGreater: \"\\u2AA2\", GreaterLess: \"\\u2277\", GreaterSlantEqual: \"\\u2A7E\", GreaterTilde: \"\\u2273\", Gscr: \"\\u{1D4A2}\", gscr: \"\\u210A\", gsim: \"\\u2273\", gsime: \"\\u2A8E\", gsiml: \"\\u2A90\", gtcc: \"\\u2AA7\", gtcir: \"\\u2A7A\", gt: \">\", GT: \">\", Gt: \"\\u226B\", gtdot: \"\\u22D7\", gtlPar: \"\\u2995\", gtquest: \"\\u2A7C\", gtrapprox: \"\\u2A86\", gtrarr: \"\\u2978\", gtrdot: \"\\u22D7\", gtreqless: \"\\u22DB\", gtreqqless: \"\\u2A8C\", gtrless: \"\\u2277\", gtrsim: \"\\u2273\", gvertneqq: \"\\u2269\\uFE00\", gvnE: \"\\u2269\\uFE00\", Hacek: \"\\u02C7\", hairsp: \"\\u200A\", half: \"\\xBD\", hamilt: \"\\u210B\", HARDcy: \"\\u042A\", hardcy: \"\\u044A\", harrcir: \"\\u2948\", harr: \"\\u2194\", hArr: \"\\u21D4\", harrw: \"\\u21AD\", Hat: \"^\", hbar: \"\\u210F\", Hcirc: \"\\u0124\", hcirc: \"\\u0125\", hearts: \"\\u2665\", heartsuit: \"\\u2665\", hellip: \"\\u2026\", hercon: \"\\u22B9\", hfr: \"\\u{1D525}\", Hfr: \"\\u210C\", HilbertSpace: \"\\u210B\", hksearow: \"\\u2925\", hkswarow: \"\\u2926\", hoarr: \"\\u21FF\", homtht: \"\\u223B\", hookleftarrow: \"\\u21A9\", hookrightarrow: \"\\u21AA\", hopf: \"\\u{1D559}\", Hopf: \"\\u210D\", horbar: \"\\u2015\", HorizontalLine: \"\\u2500\", hscr: \"\\u{1D4BD}\", Hscr: \"\\u210B\", hslash: \"\\u210F\", Hstrok: \"\\u0126\", hstrok: \"\\u0127\", HumpDownHump: \"\\u224E\", HumpEqual: \"\\u224F\", hybull: \"\\u2043\", hyphen: \"\\u2010\", Iacute: \"\\xCD\", iacute: \"\\xED\", ic: \"\\u2063\", Icirc: \"\\xCE\", icirc: \"\\xEE\", Icy: \"\\u0418\", icy: \"\\u0438\", Idot: \"\\u0130\", IEcy: \"\\u0415\", iecy: \"\\u0435\", iexcl: \"\\xA1\", iff: \"\\u21D4\", ifr: \"\\u{1D526}\", Ifr: \"\\u2111\", Igrave: \"\\xCC\", igrave: \"\\xEC\", ii: \"\\u2148\", iiiint: \"\\u2A0C\", iiint: \"\\u222D\", iinfin: \"\\u29DC\", iiota: \"\\u2129\", IJlig: \"\\u0132\", ijlig: \"\\u0133\", Imacr: \"\\u012A\", imacr: \"\\u012B\", image: \"\\u2111\", ImaginaryI: \"\\u2148\", imagline: \"\\u2110\", imagpart: \"\\u2111\", imath: \"\\u0131\", Im: \"\\u2111\", imof: \"\\u22B7\", imped: \"\\u01B5\", Implies: \"\\u21D2\", incare: \"\\u2105\", in: \"\\u2208\", infin: \"\\u221E\", infintie: \"\\u29DD\", inodot: \"\\u0131\", intcal: \"\\u22BA\", int: \"\\u222B\", Int: \"\\u222C\", integers: \"\\u2124\", Integral: \"\\u222B\", intercal: \"\\u22BA\", Intersection: \"\\u22C2\", intlarhk: \"\\u2A17\", intprod: \"\\u2A3C\", InvisibleComma: \"\\u2063\", InvisibleTimes: \"\\u2062\", IOcy: \"\\u0401\", iocy: \"\\u0451\", Iogon: \"\\u012E\", iogon: \"\\u012F\", Iopf: \"\\u{1D540}\", iopf: \"\\u{1D55A}\", Iota: \"\\u0399\", iota: \"\\u03B9\", iprod: \"\\u2A3C\", iquest: \"\\xBF\", iscr: \"\\u{1D4BE}\", Iscr: \"\\u2110\", isin: \"\\u2208\", isindot: \"\\u22F5\", isinE: \"\\u22F9\", isins: \"\\u22F4\", isinsv: \"\\u22F3\", isinv: \"\\u2208\", it: \"\\u2062\", Itilde: \"\\u0128\", itilde: \"\\u0129\", Iukcy: \"\\u0406\", iukcy: \"\\u0456\", Iuml: \"\\xCF\", iuml: \"\\xEF\", Jcirc: \"\\u0134\", jcirc: \"\\u0135\", Jcy: \"\\u0419\", jcy: \"\\u0439\", Jfr: \"\\u{1D50D}\", jfr: \"\\u{1D527}\", jmath: \"\\u0237\", Jopf: \"\\u{1D541}\", jopf: \"\\u{1D55B}\", Jscr: \"\\u{1D4A5}\", jscr: \"\\u{1D4BF}\", Jsercy: \"\\u0408\", jsercy: \"\\u0458\", Jukcy: \"\\u0404\", jukcy: \"\\u0454\", Kappa: \"\\u039A\", kappa: \"\\u03BA\", kappav: \"\\u03F0\", Kcedil: \"\\u0136\", kcedil: \"\\u0137\", Kcy: \"\\u041A\", kcy: \"\\u043A\", Kfr: \"\\u{1D50E}\", kfr: \"\\u{1D528}\", kgreen: \"\\u0138\", KHcy: \"\\u0425\", khcy: \"\\u0445\", KJcy: \"\\u040C\", kjcy: \"\\u045C\", Kopf: \"\\u{1D542}\", kopf: \"\\u{1D55C}\", Kscr: \"\\u{1D4A6}\", kscr: \"\\u{1D4C0}\", lAarr: \"\\u21DA\", Lacute: \"\\u0139\", lacute: \"\\u013A\", laemptyv: \"\\u29B4\", lagran: \"\\u2112\", Lambda: \"\\u039B\", lambda: \"\\u03BB\", lang: \"\\u27E8\", Lang: \"\\u27EA\", langd: \"\\u2991\", langle: \"\\u27E8\", lap: \"\\u2A85\", Laplacetrf: \"\\u2112\", laquo: \"\\xAB\", larrb: \"\\u21E4\", larrbfs: \"\\u291F\", larr: \"\\u2190\", Larr: \"\\u219E\", lArr: \"\\u21D0\", larrfs: \"\\u291D\", larrhk: \"\\u21A9\", larrlp: \"\\u21AB\", larrpl: \"\\u2939\", larrsim: \"\\u2973\", larrtl: \"\\u21A2\", latail: \"\\u2919\", lAtail: \"\\u291B\", lat: \"\\u2AAB\", late: \"\\u2AAD\", lates: \"\\u2AAD\\uFE00\", lbarr: \"\\u290C\", lBarr: \"\\u290E\", lbbrk: \"\\u2772\", lbrace: \"{\", lbrack: \"[\", lbrke: \"\\u298B\", lbrksld: \"\\u298F\", lbrkslu: \"\\u298D\", Lcaron: \"\\u013D\", lcaron: \"\\u013E\", Lcedil: \"\\u013B\", lcedil: \"\\u013C\", lceil: \"\\u2308\", lcub: \"{\", Lcy: \"\\u041B\", lcy: \"\\u043B\", ldca: \"\\u2936\", ldquo: \"\\u201C\", ldquor: \"\\u201E\", ldrdhar: \"\\u2967\", ldrushar: \"\\u294B\", ldsh: \"\\u21B2\", le: \"\\u2264\", lE: \"\\u2266\", LeftAngleBracket: \"\\u27E8\", LeftArrowBar: \"\\u21E4\", leftarrow: \"\\u2190\", LeftArrow: \"\\u2190\", Leftarrow: \"\\u21D0\", LeftArrowRightArrow: \"\\u21C6\", leftarrowtail: \"\\u21A2\", LeftCeiling: \"\\u2308\", LeftDoubleBracket: \"\\u27E6\", LeftDownTeeVector: \"\\u2961\", LeftDownVectorBar: \"\\u2959\", LeftDownVector: \"\\u21C3\", LeftFloor: \"\\u230A\", leftharpoondown: \"\\u21BD\", leftharpoonup: \"\\u21BC\", leftleftarrows: \"\\u21C7\", leftrightarrow: \"\\u2194\", LeftRightArrow: \"\\u2194\", Leftrightarrow: \"\\u21D4\", leftrightarrows: \"\\u21C6\", leftrightharpoons: \"\\u21CB\", leftrightsquigarrow: \"\\u21AD\", LeftRightVector: \"\\u294E\", LeftTeeArrow: \"\\u21A4\", LeftTee: \"\\u22A3\", LeftTeeVector: \"\\u295A\", leftthreetimes: \"\\u22CB\", LeftTriangleBar: \"\\u29CF\", LeftTriangle: \"\\u22B2\", LeftTriangleEqual: \"\\u22B4\", LeftUpDownVector: \"\\u2951\", LeftUpTeeVector: \"\\u2960\", LeftUpVectorBar: \"\\u2958\", LeftUpVector: \"\\u21BF\", LeftVectorBar: \"\\u2952\", LeftVector: \"\\u21BC\", lEg: \"\\u2A8B\", leg: \"\\u22DA\", leq: \"\\u2264\", leqq: \"\\u2266\", leqslant: \"\\u2A7D\", lescc: \"\\u2AA8\", les: \"\\u2A7D\", lesdot: \"\\u2A7F\", lesdoto: \"\\u2A81\", lesdotor: \"\\u2A83\", lesg: \"\\u22DA\\uFE00\", lesges: \"\\u2A93\", lessapprox: \"\\u2A85\", lessdot: \"\\u22D6\", lesseqgtr: \"\\u22DA\", lesseqqgtr: \"\\u2A8B\", LessEqualGreater: \"\\u22DA\", LessFullEqual: \"\\u2266\", LessGreater: \"\\u2276\", lessgtr: \"\\u2276\", LessLess: \"\\u2AA1\", lesssim: \"\\u2272\", LessSlantEqual: \"\\u2A7D\", LessTilde: \"\\u2272\", lfisht: \"\\u297C\", lfloor: \"\\u230A\", Lfr: \"\\u{1D50F}\", lfr: \"\\u{1D529}\", lg: \"\\u2276\", lgE: \"\\u2A91\", lHar: \"\\u2962\", lhard: \"\\u21BD\", lharu: \"\\u21BC\", lharul: \"\\u296A\", lhblk: \"\\u2584\", LJcy: \"\\u0409\", ljcy: \"\\u0459\", llarr: \"\\u21C7\", ll: \"\\u226A\", Ll: \"\\u22D8\", llcorner: \"\\u231E\", Lleftarrow: \"\\u21DA\", llhard: \"\\u296B\", lltri: \"\\u25FA\", Lmidot: \"\\u013F\", lmidot: \"\\u0140\", lmoustache: \"\\u23B0\", lmoust: \"\\u23B0\", lnap: \"\\u2A89\", lnapprox: \"\\u2A89\", lne: \"\\u2A87\", lnE: \"\\u2268\", lneq: \"\\u2A87\", lneqq: \"\\u2268\", lnsim: \"\\u22E6\", loang: \"\\u27EC\", loarr: \"\\u21FD\", lobrk: \"\\u27E6\", longleftarrow: \"\\u27F5\", LongLeftArrow: \"\\u27F5\", Longleftarrow: \"\\u27F8\", longleftrightarrow: \"\\u27F7\", LongLeftRightArrow: \"\\u27F7\", Longleftrightarrow: \"\\u27FA\", longmapsto: \"\\u27FC\", longrightarrow: \"\\u27F6\", LongRightArrow: \"\\u27F6\", Longrightarrow: \"\\u27F9\", looparrowleft: \"\\u21AB\", looparrowright: \"\\u21AC\", lopar: \"\\u2985\", Lopf: \"\\u{1D543}\", lopf: \"\\u{1D55D}\", loplus: \"\\u2A2D\", lotimes: \"\\u2A34\", lowast: \"\\u2217\", lowbar: \"_\", LowerLeftArrow: \"\\u2199\", LowerRightArrow: \"\\u2198\", loz: \"\\u25CA\", lozenge: \"\\u25CA\", lozf: \"\\u29EB\", lpar: \"(\", lparlt: \"\\u2993\", lrarr: \"\\u21C6\", lrcorner: \"\\u231F\", lrhar: \"\\u21CB\", lrhard: \"\\u296D\", lrm: \"\\u200E\", lrtri: \"\\u22BF\", lsaquo: \"\\u2039\", lscr: \"\\u{1D4C1}\", Lscr: \"\\u2112\", lsh: \"\\u21B0\", Lsh: \"\\u21B0\", lsim: \"\\u2272\", lsime: \"\\u2A8D\", lsimg: \"\\u2A8F\", lsqb: \"[\", lsquo: \"\\u2018\", lsquor: \"\\u201A\", Lstrok: \"\\u0141\", lstrok: \"\\u0142\", ltcc: \"\\u2AA6\", ltcir: \"\\u2A79\", lt: \"<\", LT: \"<\", Lt: \"\\u226A\", ltdot: \"\\u22D6\", lthree: \"\\u22CB\", ltimes: \"\\u22C9\", ltlarr: \"\\u2976\", ltquest: \"\\u2A7B\", ltri: \"\\u25C3\", ltrie: \"\\u22B4\", ltrif: \"\\u25C2\", ltrPar: \"\\u2996\", lurdshar: \"\\u294A\", luruhar: \"\\u2966\", lvertneqq: \"\\u2268\\uFE00\", lvnE: \"\\u2268\\uFE00\", macr: \"\\xAF\", male: \"\\u2642\", malt: \"\\u2720\", maltese: \"\\u2720\", Map: \"\\u2905\", map: \"\\u21A6\", mapsto: \"\\u21A6\", mapstodown: \"\\u21A7\", mapstoleft: \"\\u21A4\", mapstoup: \"\\u21A5\", marker: \"\\u25AE\", mcomma: \"\\u2A29\", Mcy: \"\\u041C\", mcy: \"\\u043C\", mdash: \"\\u2014\", mDDot: \"\\u223A\", measuredangle: \"\\u2221\", MediumSpace: \"\\u205F\", Mellintrf: \"\\u2133\", Mfr: \"\\u{1D510}\", mfr: \"\\u{1D52A}\", mho: \"\\u2127\", micro: \"\\xB5\", midast: \"*\", midcir: \"\\u2AF0\", mid: \"\\u2223\", middot: \"\\xB7\", minusb: \"\\u229F\", minus: \"\\u2212\", minusd: \"\\u2238\", minusdu: \"\\u2A2A\", MinusPlus: \"\\u2213\", mlcp: \"\\u2ADB\", mldr: \"\\u2026\", mnplus: \"\\u2213\", models: \"\\u22A7\", Mopf: \"\\u{1D544}\", mopf: \"\\u{1D55E}\", mp: \"\\u2213\", mscr: \"\\u{1D4C2}\", Mscr: \"\\u2133\", mstpos: \"\\u223E\", Mu: \"\\u039C\", mu: \"\\u03BC\", multimap: \"\\u22B8\", mumap: \"\\u22B8\", nabla: \"\\u2207\", Nacute: \"\\u0143\", nacute: \"\\u0144\", nang: \"\\u2220\\u20D2\", nap: \"\\u2249\", napE: \"\\u2A70\\u0338\", napid: \"\\u224B\\u0338\", napos: \"\\u0149\", napprox: \"\\u2249\", natural: \"\\u266E\", naturals: \"\\u2115\", natur: \"\\u266E\", nbsp: \"\\xA0\", nbump: \"\\u224E\\u0338\", nbumpe: \"\\u224F\\u0338\", ncap: \"\\u2A43\", Ncaron: \"\\u0147\", ncaron: \"\\u0148\", Ncedil: \"\\u0145\", ncedil: \"\\u0146\", ncong: \"\\u2247\", ncongdot: \"\\u2A6D\\u0338\", ncup: \"\\u2A42\", Ncy: \"\\u041D\", ncy: \"\\u043D\", ndash: \"\\u2013\", nearhk: \"\\u2924\", nearr: \"\\u2197\", neArr: \"\\u21D7\", nearrow: \"\\u2197\", ne: \"\\u2260\", nedot: \"\\u2250\\u0338\", NegativeMediumSpace: \"\\u200B\", NegativeThickSpace: \"\\u200B\", NegativeThinSpace: \"\\u200B\", NegativeVeryThinSpace: \"\\u200B\", nequiv: \"\\u2262\", nesear: \"\\u2928\", nesim: \"\\u2242\\u0338\", NestedGreaterGreater: \"\\u226B\", NestedLessLess: \"\\u226A\", NewLine: `\n`, nexist: \"\\u2204\", nexists: \"\\u2204\", Nfr: \"\\u{1D511}\", nfr: \"\\u{1D52B}\", ngE: \"\\u2267\\u0338\", nge: \"\\u2271\", ngeq: \"\\u2271\", ngeqq: \"\\u2267\\u0338\", ngeqslant: \"\\u2A7E\\u0338\", nges: \"\\u2A7E\\u0338\", nGg: \"\\u22D9\\u0338\", ngsim: \"\\u2275\", nGt: \"\\u226B\\u20D2\", ngt: \"\\u226F\", ngtr: \"\\u226F\", nGtv: \"\\u226B\\u0338\", nharr: \"\\u21AE\", nhArr: \"\\u21CE\", nhpar: \"\\u2AF2\", ni: \"\\u220B\", nis: \"\\u22FC\", nisd: \"\\u22FA\", niv: \"\\u220B\", NJcy: \"\\u040A\", njcy: \"\\u045A\", nlarr: \"\\u219A\", nlArr: \"\\u21CD\", nldr: \"\\u2025\", nlE: \"\\u2266\\u0338\", nle: \"\\u2270\", nleftarrow: \"\\u219A\", nLeftarrow: \"\\u21CD\", nleftrightarrow: \"\\u21AE\", nLeftrightarrow: \"\\u21CE\", nleq: \"\\u2270\", nleqq: \"\\u2266\\u0338\", nleqslant: \"\\u2A7D\\u0338\", nles: \"\\u2A7D\\u0338\", nless: \"\\u226E\", nLl: \"\\u22D8\\u0338\", nlsim: \"\\u2274\", nLt: \"\\u226A\\u20D2\", nlt: \"\\u226E\", nltri: \"\\u22EA\", nltrie: \"\\u22EC\", nLtv: \"\\u226A\\u0338\", nmid: \"\\u2224\", NoBreak: \"\\u2060\", NonBreakingSpace: \"\\xA0\", nopf: \"\\u{1D55F}\", Nopf: \"\\u2115\", Not: \"\\u2AEC\", not: \"\\xAC\", NotCongruent: \"\\u2262\", NotCupCap: \"\\u226D\", NotDoubleVerticalBar: \"\\u2226\", NotElement: \"\\u2209\", NotEqual: \"\\u2260\", NotEqualTilde: \"\\u2242\\u0338\", NotExists: \"\\u2204\", NotGreater: \"\\u226F\", NotGreaterEqual: \"\\u2271\", NotGreaterFullEqual: \"\\u2267\\u0338\", NotGreaterGreater: \"\\u226B\\u0338\", NotGreaterLess: \"\\u2279\", NotGreaterSlantEqual: \"\\u2A7E\\u0338\", NotGreaterTilde: \"\\u2275\", NotHumpDownHump: \"\\u224E\\u0338\", NotHumpEqual: \"\\u224F\\u0338\", notin: \"\\u2209\", notindot: \"\\u22F5\\u0338\", notinE: \"\\u22F9\\u0338\", notinva: \"\\u2209\", notinvb: \"\\u22F7\", notinvc: \"\\u22F6\", NotLeftTriangleBar: \"\\u29CF\\u0338\", NotLeftTriangle: \"\\u22EA\", NotLeftTriangleEqual: \"\\u22EC\", NotLess: \"\\u226E\", NotLessEqual: \"\\u2270\", NotLessGreater: \"\\u2278\", NotLessLess: \"\\u226A\\u0338\", NotLessSlantEqual: \"\\u2A7D\\u0338\", NotLessTilde: \"\\u2274\", NotNestedGreaterGreater: \"\\u2AA2\\u0338\", NotNestedLessLess: \"\\u2AA1\\u0338\", notni: \"\\u220C\", notniva: \"\\u220C\", notnivb: \"\\u22FE\", notnivc: \"\\u22FD\", NotPrecedes: \"\\u2280\", NotPrecedesEqual: \"\\u2AAF\\u0338\", NotPrecedesSlantEqual: \"\\u22E0\", NotReverseElement: \"\\u220C\", NotRightTriangleBar: \"\\u29D0\\u0338\", NotRightTriangle: \"\\u22EB\", NotRightTriangleEqual: \"\\u22ED\", NotSquareSubset: \"\\u228F\\u0338\", NotSquareSubsetEqual: \"\\u22E2\", NotSquareSuperset: \"\\u2290\\u0338\", NotSquareSupersetEqual: \"\\u22E3\", NotSubset: \"\\u2282\\u20D2\", NotSubsetEqual: \"\\u2288\", NotSucceeds: \"\\u2281\", NotSucceedsEqual: \"\\u2AB0\\u0338\", NotSucceedsSlantEqual: \"\\u22E1\", NotSucceedsTilde: \"\\u227F\\u0338\", NotSuperset: \"\\u2283\\u20D2\", NotSupersetEqual: \"\\u2289\", NotTilde: \"\\u2241\", NotTildeEqual: \"\\u2244\", NotTildeFullEqual: \"\\u2247\", NotTildeTilde: \"\\u2249\", NotVerticalBar: \"\\u2224\", nparallel: \"\\u2226\", npar: \"\\u2226\", nparsl: \"\\u2AFD\\u20E5\", npart: \"\\u2202\\u0338\", npolint: \"\\u2A14\", npr: \"\\u2280\", nprcue: \"\\u22E0\", nprec: \"\\u2280\", npreceq: \"\\u2AAF\\u0338\", npre: \"\\u2AAF\\u0338\", nrarrc: \"\\u2933\\u0338\", nrarr: \"\\u219B\", nrArr: \"\\u21CF\", nrarrw: \"\\u219D\\u0338\", nrightarrow: \"\\u219B\", nRightarrow: \"\\u21CF\", nrtri: \"\\u22EB\", nrtrie: \"\\u22ED\", nsc: \"\\u2281\", nsccue: \"\\u22E1\", nsce: \"\\u2AB0\\u0338\", Nscr: \"\\u{1D4A9}\", nscr: \"\\u{1D4C3}\", nshortmid: \"\\u2224\", nshortparallel: \"\\u2226\", nsim: \"\\u2241\", nsime: \"\\u2244\", nsimeq: \"\\u2244\", nsmid: \"\\u2224\", nspar: \"\\u2226\", nsqsube: \"\\u22E2\", nsqsupe: \"\\u22E3\", nsub: \"\\u2284\", nsubE: \"\\u2AC5\\u0338\", nsube: \"\\u2288\", nsubset: \"\\u2282\\u20D2\", nsubseteq: \"\\u2288\", nsubseteqq: \"\\u2AC5\\u0338\", nsucc: \"\\u2281\", nsucceq: \"\\u2AB0\\u0338\", nsup: \"\\u2285\", nsupE: \"\\u2AC6\\u0338\", nsupe: \"\\u2289\", nsupset: \"\\u2283\\u20D2\", nsupseteq: \"\\u2289\", nsupseteqq: \"\\u2AC6\\u0338\", ntgl: \"\\u2279\", Ntilde: \"\\xD1\", ntilde: \"\\xF1\", ntlg: \"\\u2278\", ntriangleleft: \"\\u22EA\", ntrianglelefteq: \"\\u22EC\", ntriangleright: \"\\u22EB\", ntrianglerighteq: \"\\u22ED\", Nu: \"\\u039D\", nu: \"\\u03BD\", num: \"#\", numero: \"\\u2116\", numsp: \"\\u2007\", nvap: \"\\u224D\\u20D2\", nvdash: \"\\u22AC\", nvDash: \"\\u22AD\", nVdash: \"\\u22AE\", nVDash: \"\\u22AF\", nvge: \"\\u2265\\u20D2\", nvgt: \">\\u20D2\", nvHarr: \"\\u2904\", nvinfin: \"\\u29DE\", nvlArr: \"\\u2902\", nvle: \"\\u2264\\u20D2\", nvlt: \"<\\u20D2\", nvltrie: \"\\u22B4\\u20D2\", nvrArr: \"\\u2903\", nvrtrie: \"\\u22B5\\u20D2\", nvsim: \"\\u223C\\u20D2\", nwarhk: \"\\u2923\", nwarr: \"\\u2196\", nwArr: \"\\u21D6\", nwarrow: \"\\u2196\", nwnear: \"\\u2927\", Oacute: \"\\xD3\", oacute: \"\\xF3\", oast: \"\\u229B\", Ocirc: \"\\xD4\", ocirc: \"\\xF4\", ocir: \"\\u229A\", Ocy: \"\\u041E\", ocy: \"\\u043E\", odash: \"\\u229D\", Odblac: \"\\u0150\", odblac: \"\\u0151\", odiv: \"\\u2A38\", odot: \"\\u2299\", odsold: \"\\u29BC\", OElig: \"\\u0152\", oelig: \"\\u0153\", ofcir: \"\\u29BF\", Ofr: \"\\u{1D512}\", ofr: \"\\u{1D52C}\", ogon: \"\\u02DB\", Ograve: \"\\xD2\", ograve: \"\\xF2\", ogt: \"\\u29C1\", ohbar: \"\\u29B5\", ohm: \"\\u03A9\", oint: \"\\u222E\", olarr: \"\\u21BA\", olcir: \"\\u29BE\", olcross: \"\\u29BB\", oline: \"\\u203E\", olt: \"\\u29C0\", Omacr: \"\\u014C\", omacr: \"\\u014D\", Omega: \"\\u03A9\", omega: \"\\u03C9\", Omicron: \"\\u039F\", omicron: \"\\u03BF\", omid: \"\\u29B6\", ominus: \"\\u2296\", Oopf: \"\\u{1D546}\", oopf: \"\\u{1D560}\", opar: \"\\u29B7\", OpenCurlyDoubleQuote: \"\\u201C\", OpenCurlyQuote: \"\\u2018\", operp: \"\\u29B9\", oplus: \"\\u2295\", orarr: \"\\u21BB\", Or: \"\\u2A54\", or: \"\\u2228\", ord: \"\\u2A5D\", order: \"\\u2134\", orderof: \"\\u2134\", ordf: \"\\xAA\", ordm: \"\\xBA\", origof: \"\\u22B6\", oror: \"\\u2A56\", orslope: \"\\u2A57\", orv: \"\\u2A5B\", oS: \"\\u24C8\", Oscr: \"\\u{1D4AA}\", oscr: \"\\u2134\", Oslash: \"\\xD8\", oslash: \"\\xF8\", osol: \"\\u2298\", Otilde: \"\\xD5\", otilde: \"\\xF5\", otimesas: \"\\u2A36\", Otimes: \"\\u2A37\", otimes: \"\\u2297\", Ouml: \"\\xD6\", ouml: \"\\xF6\", ovbar: \"\\u233D\", OverBar: \"\\u203E\", OverBrace: \"\\u23DE\", OverBracket: \"\\u23B4\", OverParenthesis: \"\\u23DC\", para: \"\\xB6\", parallel: \"\\u2225\", par: \"\\u2225\", parsim: \"\\u2AF3\", parsl: \"\\u2AFD\", part: \"\\u2202\", PartialD: \"\\u2202\", Pcy: \"\\u041F\", pcy: \"\\u043F\", percnt: \"%\", period: \".\", permil: \"\\u2030\", perp: \"\\u22A5\", pertenk: \"\\u2031\", Pfr: \"\\u{1D513}\", pfr: \"\\u{1D52D}\", Phi: \"\\u03A6\", phi: \"\\u03C6\", phiv: \"\\u03D5\", phmmat: \"\\u2133\", phone: \"\\u260E\", Pi: \"\\u03A0\", pi: \"\\u03C0\", pitchfork: \"\\u22D4\", piv: \"\\u03D6\", planck: \"\\u210F\", planckh: \"\\u210E\", plankv: \"\\u210F\", plusacir: \"\\u2A23\", plusb: \"\\u229E\", pluscir: \"\\u2A22\", plus: \"+\", plusdo: \"\\u2214\", plusdu: \"\\u2A25\", pluse: \"\\u2A72\", PlusMinus: \"\\xB1\", plusmn: \"\\xB1\", plussim: \"\\u2A26\", plustwo: \"\\u2A27\", pm: \"\\xB1\", Poincareplane: \"\\u210C\", pointint: \"\\u2A15\", popf: \"\\u{1D561}\", Popf: \"\\u2119\", pound: \"\\xA3\", prap: \"\\u2AB7\", Pr: \"\\u2ABB\", pr: \"\\u227A\", prcue: \"\\u227C\", precapprox: \"\\u2AB7\", prec: \"\\u227A\", preccurlyeq: \"\\u227C\", Precedes: \"\\u227A\", PrecedesEqual: \"\\u2AAF\", PrecedesSlantEqual: \"\\u227C\", PrecedesTilde: \"\\u227E\", preceq: \"\\u2AAF\", precnapprox: \"\\u2AB9\", precneqq: \"\\u2AB5\", precnsim: \"\\u22E8\", pre: \"\\u2AAF\", prE: \"\\u2AB3\", precsim: \"\\u227E\", prime: \"\\u2032\", Prime: \"\\u2033\", primes: \"\\u2119\", prnap: \"\\u2AB9\", prnE: \"\\u2AB5\", prnsim: \"\\u22E8\", prod: \"\\u220F\", Product: \"\\u220F\", profalar: \"\\u232E\", profline: \"\\u2312\", profsurf: \"\\u2313\", prop: \"\\u221D\", Proportional: \"\\u221D\", Proportion: \"\\u2237\", propto: \"\\u221D\", prsim: \"\\u227E\", prurel: \"\\u22B0\", Pscr: \"\\u{1D4AB}\", pscr: \"\\u{1D4C5}\", Psi: \"\\u03A8\", psi: \"\\u03C8\", puncsp: \"\\u2008\", Qfr: \"\\u{1D514}\", qfr: \"\\u{1D52E}\", qint: \"\\u2A0C\", qopf: \"\\u{1D562}\", Qopf: \"\\u211A\", qprime: \"\\u2057\", Qscr: \"\\u{1D4AC}\", qscr: \"\\u{1D4C6}\", quaternions: \"\\u210D\", quatint: \"\\u2A16\", quest: \"?\", questeq: \"\\u225F\", quot: '\"', QUOT: '\"', rAarr: \"\\u21DB\", race: \"\\u223D\\u0331\", Racute: \"\\u0154\", racute: \"\\u0155\", radic: \"\\u221A\", raemptyv: \"\\u29B3\", rang: \"\\u27E9\", Rang: \"\\u27EB\", rangd: \"\\u2992\", range: \"\\u29A5\", rangle: \"\\u27E9\", raquo: \"\\xBB\", rarrap: \"\\u2975\", rarrb: \"\\u21E5\", rarrbfs: \"\\u2920\", rarrc: \"\\u2933\", rarr: \"\\u2192\", Rarr: \"\\u21A0\", rArr: \"\\u21D2\", rarrfs: \"\\u291E\", rarrhk: \"\\u21AA\", rarrlp: \"\\u21AC\", rarrpl: \"\\u2945\", rarrsim: \"\\u2974\", Rarrtl: \"\\u2916\", rarrtl: \"\\u21A3\", rarrw: \"\\u219D\", ratail: \"\\u291A\", rAtail: \"\\u291C\", ratio: \"\\u2236\", rationals: \"\\u211A\", rbarr: \"\\u290D\", rBarr: \"\\u290F\", RBarr: \"\\u2910\", rbbrk: \"\\u2773\", rbrace: \"}\", rbrack: \"]\", rbrke: \"\\u298C\", rbrksld: \"\\u298E\", rbrkslu: \"\\u2990\", Rcaron: \"\\u0158\", rcaron: \"\\u0159\", Rcedil: \"\\u0156\", rcedil: \"\\u0157\", rceil: \"\\u2309\", rcub: \"}\", Rcy: \"\\u0420\", rcy: \"\\u0440\", rdca: \"\\u2937\", rdldhar: \"\\u2969\", rdquo: \"\\u201D\", rdquor: \"\\u201D\", rdsh: \"\\u21B3\", real: \"\\u211C\", realine: \"\\u211B\", realpart: \"\\u211C\", reals: \"\\u211D\", Re: \"\\u211C\", rect: \"\\u25AD\", reg: \"\\xAE\", REG: \"\\xAE\", ReverseElement: \"\\u220B\", ReverseEquilibrium: \"\\u21CB\", ReverseUpEquilibrium: \"\\u296F\", rfisht: \"\\u297D\", rfloor: \"\\u230B\", rfr: \"\\u{1D52F}\", Rfr: \"\\u211C\", rHar: \"\\u2964\", rhard: \"\\u21C1\", rharu: \"\\u21C0\", rharul: \"\\u296C\", Rho: \"\\u03A1\", rho: \"\\u03C1\", rhov: \"\\u03F1\", RightAngleBracket: \"\\u27E9\", RightArrowBar: \"\\u21E5\", rightarrow: \"\\u2192\", RightArrow: \"\\u2192\", Rightarrow: \"\\u21D2\", RightArrowLeftArrow: \"\\u21C4\", rightarrowtail: \"\\u21A3\", RightCeiling: \"\\u2309\", RightDoubleBracket: \"\\u27E7\", RightDownTeeVector: \"\\u295D\", RightDownVectorBar: \"\\u2955\", RightDownVector: \"\\u21C2\", RightFloor: \"\\u230B\", rightharpoondown: \"\\u21C1\", rightharpoonup: \"\\u21C0\", rightleftarrows: \"\\u21C4\", rightleftharpoons: \"\\u21CC\", rightrightarrows: \"\\u21C9\", rightsquigarrow: \"\\u219D\", RightTeeArrow: \"\\u21A6\", RightTee: \"\\u22A2\", RightTeeVector: \"\\u295B\", rightthreetimes: \"\\u22CC\", RightTriangleBar: \"\\u29D0\", RightTriangle: \"\\u22B3\", RightTriangleEqual: \"\\u22B5\", RightUpDownVector: \"\\u294F\", RightUpTeeVector: \"\\u295C\", RightUpVectorBar: \"\\u2954\", RightUpVector: \"\\u21BE\", RightVectorBar: \"\\u2953\", RightVector: \"\\u21C0\", ring: \"\\u02DA\", risingdotseq: \"\\u2253\", rlarr: \"\\u21C4\", rlhar: \"\\u21CC\", rlm: \"\\u200F\", rmoustache: \"\\u23B1\", rmoust: \"\\u23B1\", rnmid: \"\\u2AEE\", roang: \"\\u27ED\", roarr: \"\\u21FE\", robrk: \"\\u27E7\", ropar: \"\\u2986\", ropf: \"\\u{1D563}\", Ropf: \"\\u211D\", roplus: \"\\u2A2E\", rotimes: \"\\u2A35\", RoundImplies: \"\\u2970\", rpar: \")\", rpargt: \"\\u2994\", rppolint: \"\\u2A12\", rrarr: \"\\u21C9\", Rrightarrow: \"\\u21DB\", rsaquo: \"\\u203A\", rscr: \"\\u{1D4C7}\", Rscr: \"\\u211B\", rsh: \"\\u21B1\", Rsh: \"\\u21B1\", rsqb: \"]\", rsquo: \"\\u2019\", rsquor: \"\\u2019\", rthree: \"\\u22CC\", rtimes: \"\\u22CA\", rtri: \"\\u25B9\", rtrie: \"\\u22B5\", rtrif: \"\\u25B8\", rtriltri: \"\\u29CE\", RuleDelayed: \"\\u29F4\", ruluhar: \"\\u2968\", rx: \"\\u211E\", Sacute: \"\\u015A\", sacute: \"\\u015B\", sbquo: \"\\u201A\", scap: \"\\u2AB8\", Scaron: \"\\u0160\", scaron: \"\\u0161\", Sc: \"\\u2ABC\", sc: \"\\u227B\", sccue: \"\\u227D\", sce: \"\\u2AB0\", scE: \"\\u2AB4\", Scedil: \"\\u015E\", scedil: \"\\u015F\", Scirc: \"\\u015C\", scirc: \"\\u015D\", scnap: \"\\u2ABA\", scnE: \"\\u2AB6\", scnsim: \"\\u22E9\", scpolint: \"\\u2A13\", scsim: \"\\u227F\", Scy: \"\\u0421\", scy: \"\\u0441\", sdotb: \"\\u22A1\", sdot: \"\\u22C5\", sdote: \"\\u2A66\", searhk: \"\\u2925\", searr: \"\\u2198\", seArr: \"\\u21D8\", searrow: \"\\u2198\", sect: \"\\xA7\", semi: \";\", seswar: \"\\u2929\", setminus: \"\\u2216\", setmn: \"\\u2216\", sext: \"\\u2736\", Sfr: \"\\u{1D516}\", sfr: \"\\u{1D530}\", sfrown: \"\\u2322\", sharp: \"\\u266F\", SHCHcy: \"\\u0429\", shchcy: \"\\u0449\", SHcy: \"\\u0428\", shcy: \"\\u0448\", ShortDownArrow: \"\\u2193\", ShortLeftArrow: \"\\u2190\", shortmid: \"\\u2223\", shortparallel: \"\\u2225\", ShortRightArrow: \"\\u2192\", ShortUpArrow: \"\\u2191\", shy: \"\\xAD\", Sigma: \"\\u03A3\", sigma: \"\\u03C3\", sigmaf: \"\\u03C2\", sigmav: \"\\u03C2\", sim: \"\\u223C\", simdot: \"\\u2A6A\", sime: \"\\u2243\", simeq: \"\\u2243\", simg: \"\\u2A9E\", simgE: \"\\u2AA0\", siml: \"\\u2A9D\", simlE: \"\\u2A9F\", simne: \"\\u2246\", simplus: \"\\u2A24\", simrarr: \"\\u2972\", slarr: \"\\u2190\", SmallCircle: \"\\u2218\", smallsetminus: \"\\u2216\", smashp: \"\\u2A33\", smeparsl: \"\\u29E4\", smid: \"\\u2223\", smile: \"\\u2323\", smt: \"\\u2AAA\", smte: \"\\u2AAC\", smtes: \"\\u2AAC\\uFE00\", SOFTcy: \"\\u042C\", softcy: \"\\u044C\", solbar: \"\\u233F\", solb: \"\\u29C4\", sol: \"/\", Sopf: \"\\u{1D54A}\", sopf: \"\\u{1D564}\", spades: \"\\u2660\", spadesuit: \"\\u2660\", spar: \"\\u2225\", sqcap: \"\\u2293\", sqcaps: \"\\u2293\\uFE00\", sqcup: \"\\u2294\", sqcups: \"\\u2294\\uFE00\", Sqrt: \"\\u221A\", sqsub: \"\\u228F\", sqsube: \"\\u2291\", sqsubset: \"\\u228F\", sqsubseteq: \"\\u2291\", sqsup: \"\\u2290\", sqsupe: \"\\u2292\", sqsupset: \"\\u2290\", sqsupseteq: \"\\u2292\", square: \"\\u25A1\", Square: \"\\u25A1\", SquareIntersection: \"\\u2293\", SquareSubset: \"\\u228F\", SquareSubsetEqual: \"\\u2291\", SquareSuperset: \"\\u2290\", SquareSupersetEqual: \"\\u2292\", SquareUnion: \"\\u2294\", squarf: \"\\u25AA\", squ: \"\\u25A1\", squf: \"\\u25AA\", srarr: \"\\u2192\", Sscr: \"\\u{1D4AE}\", sscr: \"\\u{1D4C8}\", ssetmn: \"\\u2216\", ssmile: \"\\u2323\", sstarf: \"\\u22C6\", Star: \"\\u22C6\", star: \"\\u2606\", starf: \"\\u2605\", straightepsilon: \"\\u03F5\", straightphi: \"\\u03D5\", strns: \"\\xAF\", sub: \"\\u2282\", Sub: \"\\u22D0\", subdot: \"\\u2ABD\", subE: \"\\u2AC5\", sube: \"\\u2286\", subedot: \"\\u2AC3\", submult: \"\\u2AC1\", subnE: \"\\u2ACB\", subne: \"\\u228A\", subplus: \"\\u2ABF\", subrarr: \"\\u2979\", subset: \"\\u2282\", Subset: \"\\u22D0\", subseteq: \"\\u2286\", subseteqq: \"\\u2AC5\", SubsetEqual: \"\\u2286\", subsetneq: \"\\u228A\", subsetneqq: \"\\u2ACB\", subsim: \"\\u2AC7\", subsub: \"\\u2AD5\", subsup: \"\\u2AD3\", succapprox: \"\\u2AB8\", succ: \"\\u227B\", succcurlyeq: \"\\u227D\", Succeeds: \"\\u227B\", SucceedsEqual: \"\\u2AB0\", SucceedsSlantEqual: \"\\u227D\", SucceedsTilde: \"\\u227F\", succeq: \"\\u2AB0\", succnapprox: \"\\u2ABA\", succneqq: \"\\u2AB6\", succnsim: \"\\u22E9\", succsim: \"\\u227F\", SuchThat: \"\\u220B\", sum: \"\\u2211\", Sum: \"\\u2211\", sung: \"\\u266A\", sup1: \"\\xB9\", sup2: \"\\xB2\", sup3: \"\\xB3\", sup: \"\\u2283\", Sup: \"\\u22D1\", supdot: \"\\u2ABE\", supdsub: \"\\u2AD8\", supE: \"\\u2AC6\", supe: \"\\u2287\", supedot: \"\\u2AC4\", Superset: \"\\u2283\", SupersetEqual: \"\\u2287\", suphsol: \"\\u27C9\", suphsub: \"\\u2AD7\", suplarr: \"\\u297B\", supmult: \"\\u2AC2\", supnE: \"\\u2ACC\", supne: \"\\u228B\", supplus: \"\\u2AC0\", supset: \"\\u2283\", Supset: \"\\u22D1\", supseteq: \"\\u2287\", supseteqq: \"\\u2AC6\", supsetneq: \"\\u228B\", supsetneqq: \"\\u2ACC\", supsim: \"\\u2AC8\", supsub: \"\\u2AD4\", supsup: \"\\u2AD6\", swarhk: \"\\u2926\", swarr: \"\\u2199\", swArr: \"\\u21D9\", swarrow: \"\\u2199\", swnwar: \"\\u292A\", szlig: \"\\xDF\", Tab: \"\t\", target: \"\\u2316\", Tau: \"\\u03A4\", tau: \"\\u03C4\", tbrk: \"\\u23B4\", Tcaron: \"\\u0164\", tcaron: \"\\u0165\", Tcedil: \"\\u0162\", tcedil: \"\\u0163\", Tcy: \"\\u0422\", tcy: \"\\u0442\", tdot: \"\\u20DB\", telrec: \"\\u2315\", Tfr: \"\\u{1D517}\", tfr: \"\\u{1D531}\", there4: \"\\u2234\", therefore: \"\\u2234\", Therefore: \"\\u2234\", Theta: \"\\u0398\", theta: \"\\u03B8\", thetasym: \"\\u03D1\", thetav: \"\\u03D1\", thickapprox: \"\\u2248\", thicksim: \"\\u223C\", ThickSpace: \"\\u205F\\u200A\", ThinSpace: \"\\u2009\", thinsp: \"\\u2009\", thkap: \"\\u2248\", thksim: \"\\u223C\", THORN: \"\\xDE\", thorn: \"\\xFE\", tilde: \"\\u02DC\", Tilde: \"\\u223C\", TildeEqual: \"\\u2243\", TildeFullEqual: \"\\u2245\", TildeTilde: \"\\u2248\", timesbar: \"\\u2A31\", timesb: \"\\u22A0\", times: \"\\xD7\", timesd: \"\\u2A30\", tint: \"\\u222D\", toea: \"\\u2928\", topbot: \"\\u2336\", topcir: \"\\u2AF1\", top: \"\\u22A4\", Topf: \"\\u{1D54B}\", topf: \"\\u{1D565}\", topfork: \"\\u2ADA\", tosa: \"\\u2929\", tprime: \"\\u2034\", trade: \"\\u2122\", TRADE: \"\\u2122\", triangle: \"\\u25B5\", triangledown: \"\\u25BF\", triangleleft: \"\\u25C3\", trianglelefteq: \"\\u22B4\", triangleq: \"\\u225C\", triangleright: \"\\u25B9\", trianglerighteq: \"\\u22B5\", tridot: \"\\u25EC\", trie: \"\\u225C\", triminus: \"\\u2A3A\", TripleDot: \"\\u20DB\", triplus: \"\\u2A39\", trisb: \"\\u29CD\", tritime: \"\\u2A3B\", trpezium: \"\\u23E2\", Tscr: \"\\u{1D4AF}\", tscr: \"\\u{1D4C9}\", TScy: \"\\u0426\", tscy: \"\\u0446\", TSHcy: \"\\u040B\", tshcy: \"\\u045B\", Tstrok: \"\\u0166\", tstrok: \"\\u0167\", twixt: \"\\u226C\", twoheadleftarrow: \"\\u219E\", twoheadrightarrow: \"\\u21A0\", Uacute: \"\\xDA\", uacute: \"\\xFA\", uarr: \"\\u2191\", Uarr: \"\\u219F\", uArr: \"\\u21D1\", Uarrocir: \"\\u2949\", Ubrcy: \"\\u040E\", ubrcy: \"\\u045E\", Ubreve: \"\\u016C\", ubreve: \"\\u016D\", Ucirc: \"\\xDB\", ucirc: \"\\xFB\", Ucy: \"\\u0423\", ucy: \"\\u0443\", udarr: \"\\u21C5\", Udblac: \"\\u0170\", udblac: \"\\u0171\", udhar: \"\\u296E\", ufisht: \"\\u297E\", Ufr: \"\\u{1D518}\", ufr: \"\\u{1D532}\", Ugrave: \"\\xD9\", ugrave: \"\\xF9\", uHar: \"\\u2963\", uharl: \"\\u21BF\", uharr: \"\\u21BE\", uhblk: \"\\u2580\", ulcorn: \"\\u231C\", ulcorner: \"\\u231C\", ulcrop: \"\\u230F\", ultri: \"\\u25F8\", Umacr: \"\\u016A\", umacr: \"\\u016B\", uml: \"\\xA8\", UnderBar: \"_\", UnderBrace: \"\\u23DF\", UnderBracket: \"\\u23B5\", UnderParenthesis: \"\\u23DD\", Union: \"\\u22C3\", UnionPlus: \"\\u228E\", Uogon: \"\\u0172\", uogon: \"\\u0173\", Uopf: \"\\u{1D54C}\", uopf: \"\\u{1D566}\", UpArrowBar: \"\\u2912\", uparrow: \"\\u2191\", UpArrow: \"\\u2191\", Uparrow: \"\\u21D1\", UpArrowDownArrow: \"\\u21C5\", updownarrow: \"\\u2195\", UpDownArrow: \"\\u2195\", Updownarrow: \"\\u21D5\", UpEquilibrium: \"\\u296E\", upharpoonleft: \"\\u21BF\", upharpoonright: \"\\u21BE\", uplus: \"\\u228E\", UpperLeftArrow: \"\\u2196\", UpperRightArrow: \"\\u2197\", upsi: \"\\u03C5\", Upsi: \"\\u03D2\", upsih: \"\\u03D2\", Upsilon: \"\\u03A5\", upsilon: \"\\u03C5\", UpTeeArrow: \"\\u21A5\", UpTee: \"\\u22A5\", upuparrows: \"\\u21C8\", urcorn: \"\\u231D\", urcorner: \"\\u231D\", urcrop: \"\\u230E\", Uring: \"\\u016E\", uring: \"\\u016F\", urtri: \"\\u25F9\", Uscr: \"\\u{1D4B0}\", uscr: \"\\u{1D4CA}\", utdot: \"\\u22F0\", Utilde: \"\\u0168\", utilde: \"\\u0169\", utri: \"\\u25B5\", utrif: \"\\u25B4\", uuarr: \"\\u21C8\", Uuml: \"\\xDC\", uuml: \"\\xFC\", uwangle: \"\\u29A7\", vangrt: \"\\u299C\", varepsilon: \"\\u03F5\", varkappa: \"\\u03F0\", varnothing: \"\\u2205\", varphi: \"\\u03D5\", varpi: \"\\u03D6\", varpropto: \"\\u221D\", varr: \"\\u2195\", vArr: \"\\u21D5\", varrho: \"\\u03F1\", varsigma: \"\\u03C2\", varsubsetneq: \"\\u228A\\uFE00\", varsubsetneqq: \"\\u2ACB\\uFE00\", varsupsetneq: \"\\u228B\\uFE00\", varsupsetneqq: \"\\u2ACC\\uFE00\", vartheta: \"\\u03D1\", vartriangleleft: \"\\u22B2\", vartriangleright: \"\\u22B3\", vBar: \"\\u2AE8\", Vbar: \"\\u2AEB\", vBarv: \"\\u2AE9\", Vcy: \"\\u0412\", vcy: \"\\u0432\", vdash: \"\\u22A2\", vDash: \"\\u22A8\", Vdash: \"\\u22A9\", VDash: \"\\u22AB\", Vdashl: \"\\u2AE6\", veebar: \"\\u22BB\", vee: \"\\u2228\", Vee: \"\\u22C1\", veeeq: \"\\u225A\", vellip: \"\\u22EE\", verbar: \"|\", Verbar: \"\\u2016\", vert: \"|\", Vert: \"\\u2016\", VerticalBar: \"\\u2223\", VerticalLine: \"|\", VerticalSeparator: \"\\u2758\", VerticalTilde: \"\\u2240\", VeryThinSpace: \"\\u200A\", Vfr: \"\\u{1D519}\", vfr: \"\\u{1D533}\", vltri: \"\\u22B2\", vnsub: \"\\u2282\\u20D2\", vnsup: \"\\u2283\\u20D2\", Vopf: \"\\u{1D54D}\", vopf: \"\\u{1D567}\", vprop: \"\\u221D\", vrtri: \"\\u22B3\", Vscr: \"\\u{1D4B1}\", vscr: \"\\u{1D4CB}\", vsubnE: \"\\u2ACB\\uFE00\", vsubne: \"\\u228A\\uFE00\", vsupnE: \"\\u2ACC\\uFE00\", vsupne: \"\\u228B\\uFE00\", Vvdash: \"\\u22AA\", vzigzag: \"\\u299A\", Wcirc: \"\\u0174\", wcirc: \"\\u0175\", wedbar: \"\\u2A5F\", wedge: \"\\u2227\", Wedge: \"\\u22C0\", wedgeq: \"\\u2259\", weierp: \"\\u2118\", Wfr: \"\\u{1D51A}\", wfr: \"\\u{1D534}\", Wopf: \"\\u{1D54E}\", wopf: \"\\u{1D568}\", wp: \"\\u2118\", wr: \"\\u2240\", wreath: \"\\u2240\", Wscr: \"\\u{1D4B2}\", wscr: \"\\u{1D4CC}\", xcap: \"\\u22C2\", xcirc: \"\\u25EF\", xcup: \"\\u22C3\", xdtri: \"\\u25BD\", Xfr: \"\\u{1D51B}\", xfr: \"\\u{1D535}\", xharr: \"\\u27F7\", xhArr: \"\\u27FA\", Xi: \"\\u039E\", xi: \"\\u03BE\", xlarr: \"\\u27F5\", xlArr: \"\\u27F8\", xmap: \"\\u27FC\", xnis: \"\\u22FB\", xodot: \"\\u2A00\", Xopf: \"\\u{1D54F}\", xopf: \"\\u{1D569}\", xoplus: \"\\u2A01\", xotime: \"\\u2A02\", xrarr: \"\\u27F6\", xrArr: \"\\u27F9\", Xscr: \"\\u{1D4B3}\", xscr: \"\\u{1D4CD}\", xsqcup: \"\\u2A06\", xuplus: \"\\u2A04\", xutri: \"\\u25B3\", xvee: \"\\u22C1\", xwedge: \"\\u22C0\", Yacute: \"\\xDD\", yacute: \"\\xFD\", YAcy: \"\\u042F\", yacy: \"\\u044F\", Ycirc: \"\\u0176\", ycirc: \"\\u0177\", Ycy: \"\\u042B\", ycy: \"\\u044B\", yen: \"\\xA5\", Yfr: \"\\u{1D51C}\", yfr: \"\\u{1D536}\", YIcy: \"\\u0407\", yicy: \"\\u0457\", Yopf: \"\\u{1D550}\", yopf: \"\\u{1D56A}\", Yscr: \"\\u{1D4B4}\", yscr: \"\\u{1D4CE}\", YUcy: \"\\u042E\", yucy: \"\\u044E\", yuml: \"\\xFF\", Yuml: \"\\u0178\", Zacute: \"\\u0179\", zacute: \"\\u017A\", Zcaron: \"\\u017D\", zcaron: \"\\u017E\", Zcy: \"\\u0417\", zcy: \"\\u0437\", Zdot: \"\\u017B\", zdot: \"\\u017C\", zeetrf: \"\\u2128\", ZeroWidthSpace: \"\\u200B\", Zeta: \"\\u0396\", zeta: \"\\u03B6\", zfr: \"\\u{1D537}\", Zfr: \"\\u2128\", ZHcy: \"\\u0416\", zhcy: \"\\u0436\", zigrarr: \"\\u21DD\", zopf: \"\\u{1D56B}\", Zopf: \"\\u2124\", Zscr: \"\\u{1D4B5}\", zscr: \"\\u{1D4CF}\", zwj: \"\\u200D\", zwnj: \"\\u200C\" };\n }\n});\n\n// ../../node_modules/entities/lib/maps/legacy.json\nvar require_legacy = __commonJS({\n \"../../node_modules/entities/lib/maps/legacy.json\"(exports, module) {\n module.exports = { Aacute: \"\\xC1\", aacute: \"\\xE1\", Acirc: \"\\xC2\", acirc: \"\\xE2\", acute: \"\\xB4\", AElig: \"\\xC6\", aelig: \"\\xE6\", Agrave: \"\\xC0\", agrave: \"\\xE0\", amp: \"&\", AMP: \"&\", Aring: \"\\xC5\", aring: \"\\xE5\", Atilde: \"\\xC3\", atilde: \"\\xE3\", Auml: \"\\xC4\", auml: \"\\xE4\", brvbar: \"\\xA6\", Ccedil: \"\\xC7\", ccedil: \"\\xE7\", cedil: \"\\xB8\", cent: \"\\xA2\", copy: \"\\xA9\", COPY: \"\\xA9\", curren: \"\\xA4\", deg: \"\\xB0\", divide: \"\\xF7\", Eacute: \"\\xC9\", eacute: \"\\xE9\", Ecirc: \"\\xCA\", ecirc: \"\\xEA\", Egrave: \"\\xC8\", egrave: \"\\xE8\", ETH: \"\\xD0\", eth: \"\\xF0\", Euml: \"\\xCB\", euml: \"\\xEB\", frac12: \"\\xBD\", frac14: \"\\xBC\", frac34: \"\\xBE\", gt: \">\", GT: \">\", Iacute: \"\\xCD\", iacute: \"\\xED\", Icirc: \"\\xCE\", icirc: \"\\xEE\", iexcl: \"\\xA1\", Igrave: \"\\xCC\", igrave: \"\\xEC\", iquest: \"\\xBF\", Iuml: \"\\xCF\", iuml: \"\\xEF\", laquo: \"\\xAB\", lt: \"<\", LT: \"<\", macr: \"\\xAF\", micro: \"\\xB5\", middot: \"\\xB7\", nbsp: \"\\xA0\", not: \"\\xAC\", Ntilde: \"\\xD1\", ntilde: \"\\xF1\", Oacute: \"\\xD3\", oacute: \"\\xF3\", Ocirc: \"\\xD4\", ocirc: \"\\xF4\", Ograve: \"\\xD2\", ograve: \"\\xF2\", ordf: \"\\xAA\", ordm: \"\\xBA\", Oslash: \"\\xD8\", oslash: \"\\xF8\", Otilde: \"\\xD5\", otilde: \"\\xF5\", Ouml: \"\\xD6\", ouml: \"\\xF6\", para: \"\\xB6\", plusmn: \"\\xB1\", pound: \"\\xA3\", quot: '\"', QUOT: '\"', raquo: \"\\xBB\", reg: \"\\xAE\", REG: \"\\xAE\", sect: \"\\xA7\", shy: \"\\xAD\", sup1: \"\\xB9\", sup2: \"\\xB2\", sup3: \"\\xB3\", szlig: \"\\xDF\", THORN: \"\\xDE\", thorn: \"\\xFE\", times: \"\\xD7\", Uacute: \"\\xDA\", uacute: \"\\xFA\", Ucirc: \"\\xDB\", ucirc: \"\\xFB\", Ugrave: \"\\xD9\", ugrave: \"\\xF9\", uml: \"\\xA8\", Uuml: \"\\xDC\", uuml: \"\\xFC\", Yacute: \"\\xDD\", yacute: \"\\xFD\", yen: \"\\xA5\", yuml: \"\\xFF\" };\n }\n});\n\n// ../../node_modules/entities/lib/maps/xml.json\nvar require_xml = __commonJS({\n \"../../node_modules/entities/lib/maps/xml.json\"(exports, module) {\n module.exports = { amp: \"&\", apos: \"'\", gt: \">\", lt: \"<\", quot: '\"' };\n }\n});\n\n// ../../node_modules/entities/lib/maps/decode.json\nvar require_decode = __commonJS({\n \"../../node_modules/entities/lib/maps/decode.json\"(exports, module) {\n module.exports = { \"0\": 65533, \"128\": 8364, \"130\": 8218, \"131\": 402, \"132\": 8222, \"133\": 8230, \"134\": 8224, \"135\": 8225, \"136\": 710, \"137\": 8240, \"138\": 352, \"139\": 8249, \"140\": 338, \"142\": 381, \"145\": 8216, \"146\": 8217, \"147\": 8220, \"148\": 8221, \"149\": 8226, \"150\": 8211, \"151\": 8212, \"152\": 732, \"153\": 8482, \"154\": 353, \"155\": 8250, \"156\": 339, \"158\": 382, \"159\": 376 };\n }\n});\n\n// ../../node_modules/entities/lib/decode_codepoint.js\nvar require_decode_codepoint = __commonJS({\n \"../../node_modules/entities/lib/decode_codepoint.js\"(exports) {\n \"use strict\";\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : { default: mod };\n };\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n var decode_json_1 = __importDefault(require_decode()), fromCodePoint = (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n String.fromCodePoint || function(codePoint) {\n var output = \"\";\n return codePoint > 65535 && (codePoint -= 65536, output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296), codePoint = 56320 | codePoint & 1023), output += String.fromCharCode(codePoint), output;\n }\n );\n function decodeCodePoint(codePoint) {\n return codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111 ? \"\\uFFFD\" : (codePoint in decode_json_1.default && (codePoint = decode_json_1.default[codePoint]), fromCodePoint(codePoint));\n }\n exports.default = decodeCodePoint;\n }\n});\n\n// ../../node_modules/entities/lib/decode.js\nvar require_decode2 = __commonJS({\n \"../../node_modules/entities/lib/decode.js\"(exports) {\n \"use strict\";\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : { default: mod };\n };\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;\n var entities_json_1 = __importDefault(require_entities()), legacy_json_1 = __importDefault(require_legacy()), xml_json_1 = __importDefault(require_xml()), decode_codepoint_1 = __importDefault(require_decode_codepoint()), strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\\da-fA-F]+|#\\d+);/g;\n exports.decodeXML = getStrictDecoder(xml_json_1.default);\n exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);\n function getStrictDecoder(map) {\n var replace = getReplacer(map);\n return function(str) {\n return String(str).replace(strictEntityRe, replace);\n };\n }\n var sorter = function(a, b) {\n return a < b ? 1 : -1;\n };\n exports.decodeHTML = (function() {\n for (var legacy = Object.keys(legacy_json_1.default).sort(sorter), keys = Object.keys(entities_json_1.default).sort(sorter), i = 0, j = 0; i < keys.length; i++)\n legacy[j] === keys[i] ? (keys[i] += \";?\", j++) : keys[i] += \";\";\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\"), replace = getReplacer(entities_json_1.default);\n function replacer(str) {\n return str.substr(-1) !== \";\" && (str += \";\"), replace(str);\n }\n return function(str) {\n return String(str).replace(re, replacer);\n };\n })();\n function getReplacer(map) {\n return function(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n return secondChar === \"X\" || secondChar === \"x\" ? decode_codepoint_1.default(parseInt(str.substr(3), 16)) : decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n return map[str.slice(1, -1)] || str;\n };\n }\n }\n});\n\n// ../../node_modules/entities/lib/encode.js\nvar require_encode = __commonJS({\n \"../../node_modules/entities/lib/encode.js\"(exports) {\n \"use strict\";\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : { default: mod };\n };\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;\n var xml_json_1 = __importDefault(require_xml()), inverseXML = getInverseObj(xml_json_1.default), xmlReplacer = getInverseReplacer(inverseXML);\n exports.encodeXML = getASCIIEncoder(inverseXML);\n var entities_json_1 = __importDefault(require_entities()), inverseHTML = getInverseObj(entities_json_1.default), htmlReplacer = getInverseReplacer(inverseHTML);\n exports.encodeHTML = getInverse(inverseHTML, htmlReplacer);\n exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);\n function getInverseObj(obj) {\n return Object.keys(obj).sort().reduce(function(inverse, name) {\n return inverse[obj[name]] = \"&\" + name + \";\", inverse;\n }, {});\n }\n function getInverseReplacer(inverse) {\n for (var single = [], multiple = [], _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n k.length === 1 ? single.push(\"\\\\\" + k) : multiple.push(k);\n }\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n for (var end = start; end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1); )\n end += 1;\n var count = 1 + end - start;\n count < 3 || single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n return multiple.unshift(\"[\" + single.join(\"\") + \"]\"), new RegExp(multiple.join(\"|\"), \"g\");\n }\n var reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g, getCodePoint = (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n String.prototype.codePointAt != null ? (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n function(str) {\n return str.codePointAt(0);\n }\n ) : (\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function(c) {\n return (c.charCodeAt(0) - 55296) * 1024 + c.charCodeAt(1) - 56320 + 65536;\n }\n )\n );\n function singleCharReplacer(c) {\n return \"&#x\" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0)).toString(16).toUpperCase() + \";\";\n }\n function getInverse(inverse, re) {\n return function(data) {\n return data.replace(re, function(name) {\n return inverse[name];\n }).replace(reNonASCII, singleCharReplacer);\n };\n }\n var reEscapeChars = new RegExp(xmlReplacer.source + \"|\" + reNonASCII.source, \"g\");\n function escape(data) {\n return data.replace(reEscapeChars, singleCharReplacer);\n }\n exports.escape = escape;\n function escapeUTF8(data) {\n return data.replace(xmlReplacer, singleCharReplacer);\n }\n exports.escapeUTF8 = escapeUTF8;\n function getASCIIEncoder(obj) {\n return function(data) {\n return data.replace(reEscapeChars, function(c) {\n return obj[c] || singleCharReplacer(c);\n });\n };\n }\n }\n});\n\n// ../../node_modules/entities/lib/index.js\nvar require_lib = __commonJS({\n \"../../node_modules/entities/lib/index.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: !0 });\n exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;\n var decode_1 = require_decode2(), encode_1 = require_encode();\n function decode(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);\n }\n exports.decode = decode;\n function decodeStrict(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);\n }\n exports.decodeStrict = decodeStrict;\n function encode(data, level) {\n return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);\n }\n exports.encode = encode;\n var encode_2 = require_encode();\n Object.defineProperty(exports, \"encodeXML\", { enumerable: !0, get: function() {\n return encode_2.encodeXML;\n } });\n Object.defineProperty(exports, \"encodeHTML\", { enumerable: !0, get: function() {\n return encode_2.encodeHTML;\n } });\n Object.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: !0, get: function() {\n return encode_2.encodeNonAsciiHTML;\n } });\n Object.defineProperty(exports, \"escape\", { enumerable: !0, get: function() {\n return encode_2.escape;\n } });\n Object.defineProperty(exports, \"escapeUTF8\", { enumerable: !0, get: function() {\n return encode_2.escapeUTF8;\n } });\n Object.defineProperty(exports, \"encodeHTML4\", { enumerable: !0, get: function() {\n return encode_2.encodeHTML;\n } });\n Object.defineProperty(exports, \"encodeHTML5\", { enumerable: !0, get: function() {\n return encode_2.encodeHTML;\n } });\n var decode_2 = require_decode2();\n Object.defineProperty(exports, \"decodeXML\", { enumerable: !0, get: function() {\n return decode_2.decodeXML;\n } });\n Object.defineProperty(exports, \"decodeHTML\", { enumerable: !0, get: function() {\n return decode_2.decodeHTML;\n } });\n Object.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: !0, get: function() {\n return decode_2.decodeHTMLStrict;\n } });\n Object.defineProperty(exports, \"decodeHTML4\", { enumerable: !0, get: function() {\n return decode_2.decodeHTML;\n } });\n Object.defineProperty(exports, \"decodeHTML5\", { enumerable: !0, get: function() {\n return decode_2.decodeHTML;\n } });\n Object.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: !0, get: function() {\n return decode_2.decodeHTMLStrict;\n } });\n Object.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: !0, get: function() {\n return decode_2.decodeHTMLStrict;\n } });\n Object.defineProperty(exports, \"decodeXMLStrict\", { enumerable: !0, get: function() {\n return decode_2.decodeXML;\n } });\n }\n});\n\n// ../../node_modules/ansi-to-html/lib/ansi_to_html.js\nvar require_ansi_to_html = __commonJS({\n \"../../node_modules/ansi-to-html/lib/ansi_to_html.js\"(exports, module) {\n \"use strict\";\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n throw new TypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, \"value\" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol < \"u\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length == \"number\") {\n it && (o = it);\n var i = 0, F = function() {\n };\n return { s: F, n: function() {\n return i >= o.length ? { done: !0 } : { done: !1, value: o[i++] };\n }, e: function(_e) {\n throw _e;\n }, f: F };\n }\n throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);\n }\n var normalCompletion = !0, didErr = !1, err;\n return { s: function() {\n it = it.call(o);\n }, n: function() {\n var step = it.next();\n return normalCompletion = step.done, step;\n }, e: function(_e2) {\n didErr = !0, err = _e2;\n }, f: function() {\n try {\n !normalCompletion && it.return != null && it.return();\n } finally {\n if (didErr) throw err;\n }\n } };\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (o) {\n if (typeof o == \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor && (n = o.constructor.name), n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n }\n function _arrayLikeToArray(arr, len) {\n (len == null || len > arr.length) && (len = arr.length);\n for (var i = 0, arr2 = new Array(len); i < len; i++)\n arr2[i] = arr[i];\n return arr2;\n }\n var entities = require_lib(), defaults = {\n fg: \"#FFF\",\n bg: \"#000\",\n newline: !1,\n escapeXML: !1,\n stream: !1,\n colors: getDefaultColors()\n };\n function getDefaultColors() {\n var colors = {\n 0: \"#000\",\n 1: \"#A00\",\n 2: \"#0A0\",\n 3: \"#A50\",\n 4: \"#00A\",\n 5: \"#A0A\",\n 6: \"#0AA\",\n 7: \"#AAA\",\n 8: \"#555\",\n 9: \"#F55\",\n 10: \"#5F5\",\n 11: \"#FF5\",\n 12: \"#55F\",\n 13: \"#F5F\",\n 14: \"#5FF\",\n 15: \"#FFF\"\n };\n return range(0, 5).forEach(function(red) {\n range(0, 5).forEach(function(green) {\n range(0, 5).forEach(function(blue) {\n return setStyleColor(red, green, blue, colors);\n });\n });\n }), range(0, 23).forEach(function(gray) {\n var c = gray + 232, l = toHexString(gray * 10 + 8);\n colors[c] = \"#\" + l + l + l;\n }), colors;\n }\n function setStyleColor(red, green, blue, colors) {\n var c = 16 + red * 36 + green * 6 + blue, r = red > 0 ? red * 40 + 55 : 0, g = green > 0 ? green * 40 + 55 : 0, b = blue > 0 ? blue * 40 + 55 : 0;\n colors[c] = toColorHexString([r, g, b]);\n }\n function toHexString(num) {\n for (var str = num.toString(16); str.length < 2; )\n str = \"0\" + str;\n return str;\n }\n function toColorHexString(ref) {\n var results = [], _iterator = _createForOfIteratorHelper(ref), _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done; ) {\n var r = _step.value;\n results.push(toHexString(r));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return \"#\" + results.join(\"\");\n }\n function generateOutput(stack, token, data, options) {\n var result;\n return token === \"text\" ? result = pushText(data, options) : token === \"display\" ? result = handleDisplay(stack, data, options) : token === \"xterm256Foreground\" ? result = pushForegroundColor(stack, options.colors[data]) : token === \"xterm256Background\" ? result = pushBackgroundColor(stack, options.colors[data]) : token === \"rgb\" && (result = handleRgb(stack, data)), result;\n }\n function handleRgb(stack, data) {\n data = data.substring(2).slice(0, -1);\n var operation = +data.substr(0, 2), color = data.substring(5).split(\";\"), rgb = color.map(function(value) {\n return (\"0\" + Number(value).toString(16)).substr(-2);\n }).join(\"\");\n return pushStyle(stack, (operation === 38 ? \"color:#\" : \"background-color:#\") + rgb);\n }\n function handleDisplay(stack, code, options) {\n code = parseInt(code, 10);\n var codeMap = {\n \"-1\": function() {\n return \"<br/>\";\n },\n 0: function() {\n return stack.length && resetStyles(stack);\n },\n 1: function() {\n return pushTag(stack, \"b\");\n },\n 3: function() {\n return pushTag(stack, \"i\");\n },\n 4: function() {\n return pushTag(stack, \"u\");\n },\n 8: function() {\n return pushStyle(stack, \"display:none\");\n },\n 9: function() {\n return pushTag(stack, \"strike\");\n },\n 22: function() {\n return pushStyle(stack, \"font-weight:normal;text-decoration:none;font-style:normal\");\n },\n 23: function() {\n return closeTag(stack, \"i\");\n },\n 24: function() {\n return closeTag(stack, \"u\");\n },\n 39: function() {\n return pushForegroundColor(stack, options.fg);\n },\n 49: function() {\n return pushBackgroundColor(stack, options.bg);\n },\n 53: function() {\n return pushStyle(stack, \"text-decoration:overline\");\n }\n }, result;\n return codeMap[code] ? result = codeMap[code]() : 4 < code && code < 7 ? result = pushTag(stack, \"blink\") : 29 < code && code < 38 ? result = pushForegroundColor(stack, options.colors[code - 30]) : 39 < code && code < 48 ? result = pushBackgroundColor(stack, options.colors[code - 40]) : 89 < code && code < 98 ? result = pushForegroundColor(stack, options.colors[8 + (code - 90)]) : 99 < code && code < 108 && (result = pushBackgroundColor(stack, options.colors[8 + (code - 100)])), result;\n }\n function resetStyles(stack) {\n var stackClone = stack.slice(0);\n return stack.length = 0, stackClone.reverse().map(function(tag) {\n return \"</\" + tag + \">\";\n }).join(\"\");\n }\n function range(low, high) {\n for (var results = [], j = low; j <= high; j++)\n results.push(j);\n return results;\n }\n function notCategory(category) {\n return function(e) {\n return (category === null || e.category !== category) && category !== \"all\";\n };\n }\n function categoryForCode(code) {\n code = parseInt(code, 10);\n var result = null;\n return code === 0 ? result = \"all\" : code === 1 ? result = \"bold\" : 2 < code && code < 5 ? result = \"underline\" : 4 < code && code < 7 ? result = \"blink\" : code === 8 ? result = \"hide\" : code === 9 ? result = \"strike\" : 29 < code && code < 38 || code === 39 || 89 < code && code < 98 ? result = \"foreground-color\" : (39 < code && code < 48 || code === 49 || 99 < code && code < 108) && (result = \"background-color\"), result;\n }\n function pushText(text, options) {\n return options.escapeXML ? entities.encodeXML(text) : text;\n }\n function pushTag(stack, tag, style) {\n return style || (style = \"\"), stack.push(tag), \"<\".concat(tag).concat(style ? ' style=\"'.concat(style, '\"') : \"\", \">\");\n }\n function pushStyle(stack, style) {\n return pushTag(stack, \"span\", style);\n }\n function pushForegroundColor(stack, color) {\n return pushTag(stack, \"span\", \"color:\" + color);\n }\n function pushBackgroundColor(stack, color) {\n return pushTag(stack, \"span\", \"background-color:\" + color);\n }\n function closeTag(stack, style) {\n var last;\n if (stack.slice(-1)[0] === style && (last = stack.pop()), last)\n return \"</\" + style + \">\";\n }\n function tokenize(text, options, callback) {\n var ansiMatch = !1, ansiHandler = 3;\n function remove() {\n return \"\";\n }\n function removeXterm256Foreground(m, g1) {\n return callback(\"xterm256Foreground\", g1), \"\";\n }\n function removeXterm256Background(m, g1) {\n return callback(\"xterm256Background\", g1), \"\";\n }\n function newline(m) {\n return options.newline ? callback(\"display\", -1) : callback(\"text\", m), \"\";\n }\n function ansiMess(m, g1) {\n ansiMatch = !0, g1.trim().length === 0 && (g1 = \"0\"), g1 = g1.trimRight(\";\").split(\";\");\n var _iterator2 = _createForOfIteratorHelper(g1), _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {\n var g = _step2.value;\n callback(\"display\", g);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return \"\";\n }\n function realText(m) {\n return callback(\"text\", m), \"\";\n }\n function rgb(m) {\n return callback(\"rgb\", m), \"\";\n }\n var tokens = [{\n pattern: /^\\x08+/,\n sub: remove\n }, {\n pattern: /^\\x1b\\[[012]?K/,\n sub: remove\n }, {\n pattern: /^\\x1b\\[\\(B/,\n sub: remove\n }, {\n pattern: /^\\x1b\\[[34]8;2;\\d+;\\d+;\\d+m/,\n sub: rgb\n }, {\n pattern: /^\\x1b\\[38;5;(\\d+)m/,\n sub: removeXterm256Foreground\n }, {\n pattern: /^\\x1b\\[48;5;(\\d+)m/,\n sub: removeXterm256Background\n }, {\n pattern: /^\\n/,\n sub: newline\n }, {\n pattern: /^\\r+\\n/,\n sub: newline\n }, {\n pattern: /^\\r/,\n sub: newline\n }, {\n pattern: /^\\x1b\\[((?:\\d{1,3};?)+|)m/,\n sub: ansiMess\n }, {\n // CSI n J\n // ED - Erase in Display Clears part of the screen.\n // If n is 0 (or missing), clear from cursor to end of screen.\n // If n is 1, clear from cursor to beginning of the screen.\n // If n is 2, clear entire screen (and moves cursor to upper left on DOS ANSI.SYS).\n // If n is 3, clear entire screen and delete all lines saved in the scrollback buffer\n // (this feature was added for xterm and is supported by other terminal applications).\n pattern: /^\\x1b\\[\\d?J/,\n sub: remove\n }, {\n // CSI n ; m f\n // HVP - Horizontal Vertical Position Same as CUP\n pattern: /^\\x1b\\[\\d{0,3};\\d{0,3}f/,\n sub: remove\n }, {\n // catch-all for CSI sequences?\n pattern: /^\\x1b\\[?[\\d;]{0,3}/,\n sub: remove\n }, {\n /**\n * extracts real text - not containing:\n * - `\\x1b' - ESC - escape (Ascii 27)\n * - '\\x08' - BS - backspace (Ascii 8)\n * - `\\n` - Newline - linefeed (LF) (ascii 10)\n * - `\\r` - Windows Carriage Return (CR)\n */\n pattern: /^(([^\\x1b\\x08\\r\\n])+)/,\n sub: realText\n }];\n function process(handler2, i2) {\n i2 > ansiHandler && ansiMatch || (ansiMatch = !1, text = text.replace(handler2.pattern, handler2.sub));\n }\n var results1 = [], _text = text, length = _text.length;\n outer: for (; length > 0; ) {\n for (var i = 0, o = 0, len = tokens.length; o < len; i = ++o) {\n var handler = tokens[i];\n if (process(handler, i), text.length !== length) {\n length = text.length;\n continue outer;\n }\n }\n if (text.length === length)\n break;\n results1.push(0), length = text.length;\n }\n return results1;\n }\n function updateStickyStack(stickyStack, token, data) {\n return token !== \"text\" && (stickyStack = stickyStack.filter(notCategory(categoryForCode(data))), stickyStack.push({\n token,\n data,\n category: categoryForCode(data)\n })), stickyStack;\n }\n var Filter = (function() {\n function Filter2(options) {\n _classCallCheck(this, Filter2), options = options || {}, options.colors && (options.colors = Object.assign({}, defaults.colors, options.colors)), this.options = Object.assign({}, defaults, options), this.stack = [], this.stickyStack = [];\n }\n return _createClass(Filter2, [{\n key: \"toHtml\",\n value: function(input) {\n var _this = this;\n input = typeof input == \"string\" ? [input] : input;\n var stack = this.stack, options = this.options, buf = [];\n return this.stickyStack.forEach(function(element) {\n var output = generateOutput(stack, element.token, element.data, options);\n output && buf.push(output);\n }), tokenize(input.join(\"\"), options, function(token, data) {\n var output = generateOutput(stack, token, data, options);\n output && buf.push(output), options.stream && (_this.stickyStack = updateStickyStack(_this.stickyStack, token, data));\n }), stack.length && buf.push(resetStyles(stack)), buf.join(\"\");\n }\n }]), Filter2;\n })();\n module.exports = Filter;\n }\n});\n\nexport {\n require_ansi_to_html\n};\n","import {\n __commonJS,\n __require\n} from \"./chunk-A242L54C.js\";\n\n// ../../node_modules/memoizerific/memoizerific.js\nvar require_memoizerific = __commonJS({\n \"../../node_modules/memoizerific/memoizerific.js\"(exports, module) {\n (function(f) {\n if (typeof exports == \"object\" && typeof module < \"u\")\n module.exports = f();\n else if (typeof define == \"function\" && define.amd)\n define([], f);\n else {\n var g;\n typeof window < \"u\" ? g = window : typeof global < \"u\" ? g = global : typeof self < \"u\" ? g = self : g = this, g.memoizerific = f();\n }\n })(function() {\n var define2, module2, exports2;\n return (function e(t, n, r) {\n function s(o2, u) {\n if (!n[o2]) {\n if (!t[o2]) {\n var a = typeof __require == \"function\" && __require;\n if (!u && a) return a(o2, !0);\n if (i) return i(o2, !0);\n var f = new Error(\"Cannot find module '\" + o2 + \"'\");\n throw f.code = \"MODULE_NOT_FOUND\", f;\n }\n var l = n[o2] = { exports: {} };\n t[o2][0].call(l.exports, function(e2) {\n var n2 = t[o2][1][e2];\n return s(n2 || e2);\n }, l, l.exports, e, t, n, r);\n }\n return n[o2].exports;\n }\n for (var i = typeof __require == \"function\" && __require, o = 0; o < r.length; o++) s(r[o]);\n return s;\n })({ 1: [function(_dereq_, module3, exports3) {\n module3.exports = function(forceSimilar) {\n if (typeof Map != \"function\" || forceSimilar) {\n var Similar = _dereq_(\"./similar\");\n return new Similar();\n } else\n return /* @__PURE__ */ new Map();\n };\n }, { \"./similar\": 2 }], 2: [function(_dereq_, module3, exports3) {\n function Similar() {\n return this.list = [], this.lastItem = void 0, this.size = 0, this;\n }\n Similar.prototype.get = function(key) {\n var index;\n if (this.lastItem && this.isEqual(this.lastItem.key, key))\n return this.lastItem.val;\n if (index = this.indexOf(key), index >= 0)\n return this.lastItem = this.list[index], this.list[index].val;\n }, Similar.prototype.set = function(key, val) {\n var index;\n return this.lastItem && this.isEqual(this.lastItem.key, key) ? (this.lastItem.val = val, this) : (index = this.indexOf(key), index >= 0 ? (this.lastItem = this.list[index], this.list[index].val = val, this) : (this.lastItem = { key, val }, this.list.push(this.lastItem), this.size++, this));\n }, Similar.prototype.delete = function(key) {\n var index;\n if (this.lastItem && this.isEqual(this.lastItem.key, key) && (this.lastItem = void 0), index = this.indexOf(key), index >= 0)\n return this.size--, this.list.splice(index, 1)[0];\n }, Similar.prototype.has = function(key) {\n var index;\n return this.lastItem && this.isEqual(this.lastItem.key, key) ? !0 : (index = this.indexOf(key), index >= 0 ? (this.lastItem = this.list[index], !0) : !1);\n }, Similar.prototype.forEach = function(callback, thisArg) {\n var i;\n for (i = 0; i < this.size; i++)\n callback.call(thisArg || this, this.list[i].val, this.list[i].key, this);\n }, Similar.prototype.indexOf = function(key) {\n var i;\n for (i = 0; i < this.size; i++)\n if (this.isEqual(this.list[i].key, key))\n return i;\n return -1;\n }, Similar.prototype.isEqual = function(val1, val2) {\n return val1 === val2 || val1 !== val1 && val2 !== val2;\n }, module3.exports = Similar;\n }, {}], 3: [function(_dereq_, module3, exports3) {\n var MapOrSimilar = _dereq_(\"map-or-similar\");\n module3.exports = function(limit) {\n var cache = new MapOrSimilar(!1), lru = [];\n return function(fn) {\n var memoizerific = function() {\n var currentCache = cache, newMap, fnResult, argsLengthMinusOne = arguments.length - 1, lruPath = Array(argsLengthMinusOne + 1), isMemoized = !0, i;\n if ((memoizerific.numArgs || memoizerific.numArgs === 0) && memoizerific.numArgs !== argsLengthMinusOne + 1)\n throw new Error(\"Memoizerific functions should always be called with the same number of arguments\");\n for (i = 0; i < argsLengthMinusOne; i++) {\n if (lruPath[i] = {\n cacheItem: currentCache,\n arg: arguments[i]\n }, currentCache.has(arguments[i])) {\n currentCache = currentCache.get(arguments[i]);\n continue;\n }\n isMemoized = !1, newMap = new MapOrSimilar(!1), currentCache.set(arguments[i], newMap), currentCache = newMap;\n }\n return isMemoized && (currentCache.has(arguments[argsLengthMinusOne]) ? fnResult = currentCache.get(arguments[argsLengthMinusOne]) : isMemoized = !1), isMemoized || (fnResult = fn.apply(null, arguments), currentCache.set(arguments[argsLengthMinusOne], fnResult)), limit > 0 && (lruPath[argsLengthMinusOne] = {\n cacheItem: currentCache,\n arg: arguments[argsLengthMinusOne]\n }, isMemoized ? moveToMostRecentLru(lru, lruPath) : lru.push(lruPath), lru.length > limit && removeCachedResult(lru.shift())), memoizerific.wasMemoized = isMemoized, memoizerific.numArgs = argsLengthMinusOne + 1, fnResult;\n };\n return memoizerific.limit = limit, memoizerific.wasMemoized = !1, memoizerific.cache = cache, memoizerific.lru = lru, memoizerific;\n };\n };\n function moveToMostRecentLru(lru, lruPath) {\n var lruLen = lru.length, lruPathLen = lruPath.length, isMatch, i, ii;\n for (i = 0; i < lruLen; i++) {\n for (isMatch = !0, ii = 0; ii < lruPathLen; ii++)\n if (!isEqual(lru[i][ii].arg, lruPath[ii].arg)) {\n isMatch = !1;\n break;\n }\n if (isMatch)\n break;\n }\n lru.push(lru.splice(i, 1)[0]);\n }\n function removeCachedResult(removedLru) {\n var removedLruLen = removedLru.length, currentLru = removedLru[removedLruLen - 1], tmp, i;\n for (currentLru.cacheItem.delete(currentLru.arg), i = removedLruLen - 2; i >= 0 && (currentLru = removedLru[i], tmp = currentLru.cacheItem.get(currentLru.arg), !tmp || !tmp.size); i--)\n currentLru.cacheItem.delete(currentLru.arg);\n }\n function isEqual(val1, val2) {\n return val1 === val2 || val1 !== val1 && val2 !== val2;\n }\n }, { \"map-or-similar\": 1 }] }, {}, [3])(3);\n });\n }\n});\n\nexport {\n require_memoizerific\n};\n","import {\n UniversalStore,\n isJSON,\n parse,\n stringify\n} from \"../_browser-chunks/chunk-JK6U3MQW.js\";\nimport {\n invariant\n} from \"../_browser-chunks/chunk-IWQGIXJS.js\";\nimport \"../_browser-chunks/chunk-3LY4VQVK.js\";\nimport \"../_browser-chunks/chunk-A242L54C.js\";\n\n// src/channels/index.ts\nimport { global as global3 } from \"@storybook/global\";\n\n// src/channels/main.ts\nvar isMulti = (args) => args.transports !== void 0, generateRandomId = () => Math.random().toString(16).slice(2), Channel = class {\n constructor(input = {}) {\n this.sender = generateRandomId();\n this.events = {};\n this.data = {};\n this.transports = [];\n this.isAsync = input.async || !1, isMulti(input) ? (this.transports = input.transports || [], this.transports.forEach((t) => {\n t.setHandler((event) => this.handleEvent(event));\n })) : this.transports = input.transport ? [input.transport] : [], this.transports.forEach((t) => {\n t.setHandler((event) => this.handleEvent(event));\n });\n }\n get hasTransport() {\n return this.transports.length > 0;\n }\n addListener(eventName, listener) {\n this.events[eventName] = this.events[eventName] || [], this.events[eventName].push(listener);\n }\n emit(eventName, ...args) {\n let event = { type: eventName, args, from: this.sender }, options = {};\n args.length >= 1 && args[0] && args[0].options && (options = args[0].options);\n let handler = () => {\n this.transports.forEach((t) => {\n t.send(event, options);\n }), this.handleEvent(event);\n };\n this.isAsync ? setImmediate(handler) : handler();\n }\n last(eventName) {\n return this.data[eventName];\n }\n eventNames() {\n return Object.keys(this.events);\n }\n listenerCount(eventName) {\n let listeners = this.listeners(eventName);\n return listeners ? listeners.length : 0;\n }\n listeners(eventName) {\n return this.events[eventName] || void 0;\n }\n once(eventName, listener) {\n let onceListener = this.onceListener(eventName, listener);\n this.addListener(eventName, onceListener);\n }\n removeAllListeners(eventName) {\n eventName ? this.events[eventName] && delete this.events[eventName] : this.events = {};\n }\n removeListener(eventName, listener) {\n let listeners = this.listeners(eventName);\n listeners && (this.events[eventName] = listeners.filter((l) => l !== listener));\n }\n on(eventName, listener) {\n this.addListener(eventName, listener);\n }\n off(eventName, listener) {\n this.removeListener(eventName, listener);\n }\n handleEvent(event) {\n let listeners = this.listeners(event.type);\n listeners && listeners.length && listeners.forEach((fn) => {\n fn.apply(event, event.args);\n }), this.data[event.type] = event.args;\n }\n onceListener(eventName, listener) {\n let onceListener = (...args) => (this.removeListener(eventName, onceListener), listener(...args));\n return onceListener;\n }\n};\n\n// src/channels/postmessage/index.ts\nimport { logger as logger2, pretty } from \"storybook/internal/client-logger\";\nimport * as EVENTS from \"storybook/internal/core-events\";\nimport { global } from \"@storybook/global\";\n\n// src/channels/postmessage/getEventSourceUrl.ts\nimport { logger } from \"storybook/internal/client-logger\";\nvar getEventSourceUrl = (event) => {\n let frames = Array.from(\n document.querySelectorAll(\"iframe[data-is-storybook]\")\n ), [frame, ...remainder] = frames.filter((element) => {\n try {\n return element.contentWindow?.location.origin === event.source.location.origin && element.contentWindow?.location.pathname === event.source.location.pathname;\n } catch {\n }\n try {\n return element.contentWindow === event.source;\n } catch {\n }\n let src2 = element.getAttribute(\"src\"), origin;\n try {\n if (!src2)\n return !1;\n ({ origin } = new URL(src2, document.location.toString()));\n } catch {\n return !1;\n }\n return origin === event.origin;\n }), src = frame?.getAttribute(\"src\");\n if (src && remainder.length === 0) {\n let { protocol, host, pathname } = new URL(src, document.location.toString());\n return `${protocol}//${host}${pathname}`;\n }\n return remainder.length > 0 && logger.error(\"found multiple candidates for event source\"), null;\n};\n\n// src/channels/postmessage/index.ts\nvar { document: document2, location } = global, KEY = \"storybook-channel\", defaultEventOptions = { maxDepth: 25 }, PostMessageTransport = class {\n constructor(config) {\n this.config = config;\n this.connected = !1;\n if (this.buffer = [], typeof global?.addEventListener == \"function\" && global.addEventListener(\"message\", this.handleEvent.bind(this), !1), config.page !== \"manager\" && config.page !== \"preview\")\n throw new Error(`postmsg-channel: \"config.page\" cannot be \"${config.page}\"`);\n }\n setHandler(handler) {\n this.handler = (...args) => {\n handler.apply(this, args), !this.connected && this.getLocalFrame().length && (this.flush(), this.connected = !0);\n };\n }\n /**\n * Sends `event` to the associated window. If the window does not yet exist the event will be\n * stored in a buffer and sent when the window exists.\n *\n * @param event\n */\n send(event, options) {\n let {\n target,\n // telejson options\n allowRegExp,\n allowSymbol,\n allowDate,\n allowError,\n allowUndefined,\n maxDepth,\n space\n } = options || {}, eventOptions = Object.fromEntries(\n Object.entries({\n allowRegExp,\n allowSymbol,\n allowDate,\n allowError,\n allowUndefined,\n maxDepth,\n space\n }).filter(([k, v]) => typeof v < \"u\")\n ), stringifyOptions = {\n ...defaultEventOptions,\n ...global.CHANNEL_OPTIONS || {},\n ...eventOptions\n }, frames = this.getFrames(target), query = new URLSearchParams(location?.search || \"\"), data = stringify(\n {\n key: KEY,\n event,\n refId: query.get(\"refId\")\n },\n stringifyOptions\n );\n return frames.length ? (this.buffer.length && this.flush(), frames.forEach((f) => {\n try {\n f.postMessage(data, \"*\");\n } catch {\n logger2.error(\"sending over postmessage fail\");\n }\n }), Promise.resolve(null)) : new Promise((resolve, reject) => {\n this.buffer.push({ event, resolve, reject });\n });\n }\n flush() {\n let { buffer } = this;\n this.buffer = [], buffer.forEach((item) => {\n this.send(item.event).then(item.resolve).catch(item.reject);\n });\n }\n getFrames(target) {\n if (this.config.page === \"manager\") {\n let list = Array.from(\n document2.querySelectorAll(\"iframe[data-is-storybook][data-is-loaded]\")\n ).flatMap((e) => {\n try {\n return e.contentWindow && e.dataset.isStorybook !== void 0 && e.id === target ? [e.contentWindow] : [];\n } catch {\n return [];\n }\n });\n return list?.length ? list : this.getCurrentFrames();\n }\n return global && global.parent && global.parent !== global.self ? [global.parent] : [];\n }\n getCurrentFrames() {\n return this.config.page === \"manager\" ? Array.from(\n document2.querySelectorAll('[data-is-storybook=\"true\"]')\n ).flatMap((e) => e.contentWindow ? [e.contentWindow] : []) : global && global.parent ? [global.parent] : [];\n }\n getLocalFrame() {\n return this.config.page === \"manager\" ? Array.from(\n document2.querySelectorAll(\"#storybook-preview-iframe\")\n ).flatMap((e) => e.contentWindow ? [e.contentWindow] : []) : global && global.parent ? [global.parent] : [];\n }\n handleEvent(rawEvent) {\n try {\n let { data } = rawEvent, { key, event, refId } = typeof data == \"string\" && isJSON(data) ? parse(data, global.CHANNEL_OPTIONS || {}) : data;\n if (key === KEY) {\n let pageString = this.config.page === \"manager\" ? '<span style=\"color: #37D5D3; background: black\"> manager </span>' : '<span style=\"color: #1EA7FD; background: black\"> preview </span>', eventString = Object.values(EVENTS).includes(event.type) ? `<span style=\"color: #FF4785\">${event.type}</span>` : `<span style=\"color: #FFAE00\">${event.type}</span>`;\n if (refId && (event.refId = refId), event.source = this.config.page === \"preview\" ? rawEvent.origin : getEventSourceUrl(rawEvent), !event.source) {\n pretty.error(\n `${pageString} received ${eventString} but was unable to determine the source of the event`\n );\n return;\n }\n let message = `${pageString} received ${eventString} (${data.length})`;\n pretty.debug(\n location.origin !== event.source ? message : `${message} <span style=\"color: gray\">(on ${location.origin} from ${event.source})</span>`,\n ...event.args\n ), invariant(this.handler, \"ChannelHandler should be set\"), this.handler(event);\n }\n } catch (error) {\n logger2.error(error);\n }\n }\n};\n\n// src/channels/websocket/index.ts\nimport * as EVENTS2 from \"storybook/internal/core-events\";\nimport { global as global2 } from \"@storybook/global\";\nvar { WebSocket } = global2, HEARTBEAT_INTERVAL = 15e3, HEARTBEAT_MAX_LATENCY = 5e3, WebsocketTransport = class {\n constructor({ url, onError, page }) {\n this.buffer = [];\n this.isReady = !1;\n this.isClosed = !1;\n this.pingTimeout = 0;\n this.socket = new WebSocket(url), this.socket.onopen = () => {\n this.isReady = !0, this.heartbeat(), this.flush();\n }, this.socket.onmessage = ({ data }) => {\n let event = typeof data == \"string\" && isJSON(data) ? parse(data) : data;\n invariant(this.handler, \"WebsocketTransport handler should be set\"), this.handler(event), event.type === \"ping\" && (this.heartbeat(), this.send({ type: \"pong\" }));\n }, this.socket.onerror = (e) => {\n onError && onError(e);\n }, this.socket.onclose = (ev) => {\n invariant(this.handler, \"WebsocketTransport handler should be set\"), this.handler({\n type: EVENTS2.CHANNEL_WS_DISCONNECT,\n args: [{ reason: ev.reason, code: ev.code }],\n from: page || \"preview\"\n }), this.isClosed = !0, clearTimeout(this.pingTimeout);\n };\n }\n heartbeat() {\n clearTimeout(this.pingTimeout), this.pingTimeout = setTimeout(() => {\n this.socket.close(3008, \"timeout\");\n }, HEARTBEAT_INTERVAL + HEARTBEAT_MAX_LATENCY);\n }\n setHandler(handler) {\n this.handler = handler;\n }\n send(event) {\n this.isClosed || (this.isReady ? this.sendNow(event) : this.sendLater(event));\n }\n sendLater(event) {\n this.buffer.push(event);\n }\n sendNow(event) {\n let data = stringify(event, {\n maxDepth: 15,\n ...global2.CHANNEL_OPTIONS\n });\n this.socket.send(data);\n }\n flush() {\n let { buffer } = this;\n this.buffer = [], buffer.forEach((event) => this.send(event));\n }\n};\n\n// src/channels/index.ts\nvar { CHANNEL_OPTIONS, CONFIG_TYPE } = global3, channels_default = Channel;\nfunction createBrowserChannel({ page, extraTransports = [] }) {\n let transports = [new PostMessageTransport({ page }), ...extraTransports];\n if (CONFIG_TYPE === \"DEVELOPMENT\") {\n let protocol = window.location.protocol === \"http:\" ? \"ws\" : \"wss\", { hostname, port } = window.location, { wsToken } = CHANNEL_OPTIONS || {}, channelUrl = `${protocol}://${hostname}:${port}/storybook-server-channel?token=${wsToken}`;\n transports.push(new WebsocketTransport({ url: channelUrl, onError: () => {\n }, page }));\n }\n let channel = new Channel({ transports });\n return UniversalStore.__prepare(\n channel,\n page === \"manager\" ? UniversalStore.Environment.MANAGER : UniversalStore.Environment.PREVIEW\n ), channel;\n}\nexport {\n Channel,\n HEARTBEAT_INTERVAL,\n HEARTBEAT_MAX_LATENCY,\n PostMessageTransport,\n WebsocketTransport,\n createBrowserChannel,\n channels_default as default\n};\n","import {\n isTestEnvironment,\n pauseAnimations,\n waitForAnimations\n} from \"./chunk-MEXTPDJG.js\";\nimport {\n Tag\n} from \"./chunk-AFVOZMXQ.js\";\nimport {\n require_main\n} from \"./chunk-XLJZ7AOP.js\";\nimport {\n SNIPPET_RENDERED,\n combineParameters\n} from \"./chunk-SI6AKD4S.js\";\nimport {\n isEqual\n} from \"./chunk-IYCKG66Y.js\";\nimport {\n invariant\n} from \"./chunk-IWQGIXJS.js\";\nimport {\n require_ansi_to_html\n} from \"./chunk-V2VKKSMQ.js\";\nimport {\n mapValues,\n pickBy\n} from \"./chunk-YK43Z22A.js\";\nimport {\n isPlainObject\n} from \"./chunk-LCHBOIHN.js\";\nimport {\n require_memoizerific\n} from \"./chunk-ZCFV7BZB.js\";\nimport {\n dedent\n} from \"./chunk-3LY4VQVK.js\";\nimport {\n __toESM\n} from \"./chunk-A242L54C.js\";\n\n// src/preview-api/modules/addons/main.ts\nimport { global } from \"@storybook/global\";\n\n// src/preview-api/modules/addons/storybook-channel-mock.ts\nimport { Channel } from \"storybook/internal/channels\";\nfunction mockChannel() {\n let transport = {\n setHandler: () => {\n },\n send: () => {\n }\n };\n return new Channel({ transport });\n}\n\n// src/preview-api/modules/addons/main.ts\nvar AddonStore = class {\n constructor() {\n this.getChannel = () => {\n if (!this.channel) {\n let channel = mockChannel();\n return this.setChannel(channel), channel;\n }\n return this.channel;\n };\n this.ready = () => this.promise;\n this.hasChannel = () => !!this.channel;\n this.setChannel = (channel) => {\n this.channel = channel, this.resolve();\n };\n this.promise = new Promise((res) => {\n this.resolve = () => res(this.getChannel());\n });\n }\n}, KEY = \"__STORYBOOK_ADDONS_PREVIEW\";\nfunction getAddonsStore() {\n return global[KEY] || (global[KEY] = new AddonStore()), global[KEY];\n}\nvar addons = getAddonsStore();\n\n// src/preview-api/modules/addons/hooks.ts\nimport { logger } from \"storybook/internal/client-logger\";\nimport {\n FORCE_RE_RENDER,\n RESET_STORY_ARGS,\n STORY_RENDERED,\n UPDATE_GLOBALS,\n UPDATE_STORY_ARGS\n} from \"storybook/internal/core-events\";\nimport { global as global2 } from \"@storybook/global\";\nvar HooksContext = class {\n constructor() {\n this.hookListsMap = void 0;\n this.mountedDecorators = void 0;\n this.prevMountedDecorators = void 0;\n this.currentHooks = void 0;\n this.nextHookIndex = void 0;\n this.currentPhase = void 0;\n this.currentEffects = void 0;\n this.prevEffects = void 0;\n this.currentDecoratorName = void 0;\n this.hasUpdates = void 0;\n this.currentContext = void 0;\n this.renderListener = (storyId) => {\n storyId === this.currentContext?.id && (this.triggerEffects(), this.currentContext = null, this.removeRenderListeners());\n };\n this.init();\n }\n init() {\n this.hookListsMap = /* @__PURE__ */ new WeakMap(), this.mountedDecorators = /* @__PURE__ */ new Set(), this.prevMountedDecorators = /* @__PURE__ */ new Set(), this.currentHooks = [], this.nextHookIndex = 0, this.currentPhase = \"NONE\", this.currentEffects = [], this.prevEffects = [], this.currentDecoratorName = null, this.hasUpdates = !1, this.currentContext = null;\n }\n clean() {\n this.prevEffects.forEach((effect) => {\n effect.destroy && effect.destroy();\n }), this.init(), this.removeRenderListeners();\n }\n getNextHook() {\n let hook = this.currentHooks[this.nextHookIndex];\n return this.nextHookIndex += 1, hook;\n }\n triggerEffects() {\n this.prevEffects.forEach((effect) => {\n !this.currentEffects.includes(effect) && effect.destroy && effect.destroy();\n }), this.currentEffects.forEach((effect) => {\n this.prevEffects.includes(effect) || (effect.destroy = effect.create());\n }), this.prevEffects = this.currentEffects, this.currentEffects = [];\n }\n addRenderListeners() {\n this.removeRenderListeners(), addons.getChannel().on(STORY_RENDERED, this.renderListener);\n }\n removeRenderListeners() {\n addons.getChannel().removeListener(STORY_RENDERED, this.renderListener);\n }\n};\nfunction hookify(fn) {\n let hookified = (...args) => {\n let { hooks } = typeof args[0] == \"function\" ? args[1] : args[0], prevPhase = hooks.currentPhase, prevHooks = hooks.currentHooks, prevNextHookIndex = hooks.nextHookIndex, prevDecoratorName = hooks.currentDecoratorName;\n hooks.currentDecoratorName = fn.name, hooks.prevMountedDecorators.has(fn) ? (hooks.currentPhase = \"UPDATE\", hooks.currentHooks = hooks.hookListsMap.get(fn) || []) : (hooks.currentPhase = \"MOUNT\", hooks.currentHooks = [], hooks.hookListsMap.set(fn, hooks.currentHooks), hooks.prevMountedDecorators.add(fn)), hooks.nextHookIndex = 0;\n let prevContext = global2.STORYBOOK_HOOKS_CONTEXT;\n global2.STORYBOOK_HOOKS_CONTEXT = hooks;\n let result = fn(...args);\n if (global2.STORYBOOK_HOOKS_CONTEXT = prevContext, hooks.currentPhase === \"UPDATE\" && hooks.getNextHook() != null)\n throw new Error(\n \"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\"\n );\n return hooks.currentPhase = prevPhase, hooks.currentHooks = prevHooks, hooks.nextHookIndex = prevNextHookIndex, hooks.currentDecoratorName = prevDecoratorName, result;\n };\n return hookified.originalFn = fn, hookified;\n}\nvar numberOfRenders = 0, RENDER_LIMIT = 25, applyHooks = (applyDecorators) => (storyFn, decorators) => {\n let decorated = applyDecorators(\n hookify(storyFn),\n decorators.map((decorator) => hookify(decorator))\n );\n return (context) => {\n let { hooks } = context;\n hooks.prevMountedDecorators ??= /* @__PURE__ */ new Set(), hooks.mountedDecorators = /* @__PURE__ */ new Set([storyFn, ...decorators]), hooks.currentContext = context, hooks.hasUpdates = !1;\n let result = decorated(context);\n for (numberOfRenders = 1; hooks.hasUpdates; )\n if (hooks.hasUpdates = !1, hooks.currentEffects = [], result = decorated(context), numberOfRenders += 1, numberOfRenders > RENDER_LIMIT)\n throw new Error(\n \"Too many re-renders. Storybook limits the number of renders to prevent an infinite loop.\"\n );\n return hooks.addRenderListeners(), result;\n };\n}, areDepsEqual = (deps, nextDeps) => deps.length === nextDeps.length && deps.every((dep, i) => dep === nextDeps[i]), invalidHooksError = () => new Error(\"Storybook preview hooks can only be called inside decorators and story functions.\");\nfunction getHooksContextOrNull() {\n return global2.STORYBOOK_HOOKS_CONTEXT || null;\n}\nfunction getHooksContextOrThrow() {\n let hooks = getHooksContextOrNull();\n if (hooks == null)\n throw invalidHooksError();\n return hooks;\n}\nfunction useHook(name, callback, deps) {\n let hooks = getHooksContextOrThrow();\n if (hooks.currentPhase === \"MOUNT\") {\n deps != null && !Array.isArray(deps) && logger.warn(\n `${name} received a final argument that is not an array (instead, received ${deps}). When specified, the final argument must be an array.`\n );\n let hook = { name, deps };\n return hooks.currentHooks.push(hook), callback(hook), hook;\n }\n if (hooks.currentPhase === \"UPDATE\") {\n let hook = hooks.getNextHook();\n if (hook == null)\n throw new Error(\"Rendered more hooks than during the previous render.\");\n return hook.name !== name && logger.warn(\n `Storybook has detected a change in the order of Hooks${hooks.currentDecoratorName ? ` called by ${hooks.currentDecoratorName}` : \"\"}. This will lead to bugs and errors if not fixed.`\n ), deps != null && hook.deps == null && logger.warn(\n `${name} received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.`\n ), deps != null && hook.deps != null && deps.length !== hook.deps.length && logger.warn(`The final argument passed to ${name} changed size between renders. The order and size of this array must remain constant.\nPrevious: ${hook.deps}\nIncoming: ${deps}`), (deps == null || hook.deps == null || !areDepsEqual(deps, hook.deps)) && (callback(hook), hook.deps = deps), hook;\n }\n throw invalidHooksError();\n}\nfunction useMemoLike(name, nextCreate, deps) {\n let { memoizedState } = useHook(\n name,\n (hook) => {\n hook.memoizedState = nextCreate();\n },\n deps\n );\n return memoizedState;\n}\nfunction useMemo(nextCreate, deps) {\n return useMemoLike(\"useMemo\", nextCreate, deps);\n}\nfunction useCallback(callback, deps) {\n return useMemoLike(\"useCallback\", () => callback, deps);\n}\nfunction useRefLike(name, initialValue) {\n return useMemoLike(name, () => ({ current: initialValue }), []);\n}\nfunction useRef(initialValue) {\n return useRefLike(\"useRef\", initialValue);\n}\nfunction triggerUpdate() {\n let hooks = getHooksContextOrNull();\n if (hooks != null && hooks.currentPhase !== \"NONE\")\n hooks.hasUpdates = !0;\n else\n try {\n addons.getChannel().emit(FORCE_RE_RENDER);\n } catch {\n logger.warn(\"State updates of Storybook preview hooks work only in browser\");\n }\n}\nfunction useStateLike(name, initialState) {\n let stateRef = useRefLike(\n name,\n // @ts-expect-error S type should never be function, but there's no way to tell that to TypeScript\n typeof initialState == \"function\" ? initialState() : initialState\n ), setState = (update) => {\n stateRef.current = typeof update == \"function\" ? update(stateRef.current) : update, triggerUpdate();\n };\n return [stateRef.current, setState];\n}\nfunction useState(initialState) {\n return useStateLike(\"useState\", initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n let initialState = init != null ? () => init(initialArg) : initialArg, [state, setState] = useStateLike(\"useReducer\", initialState);\n return [state, (action) => setState((prevState) => reducer(prevState, action))];\n}\nfunction useEffect(create, deps) {\n let hooks = getHooksContextOrThrow(), effect = useMemoLike(\"useEffect\", () => ({ create }), deps);\n hooks.currentEffects.includes(effect) || hooks.currentEffects.push(effect);\n}\nfunction useChannel(eventMap, deps = []) {\n let channel = addons.getChannel();\n return useEffect(() => (Object.entries(eventMap).forEach(([type, listener]) => channel.on(type, listener)), () => {\n Object.entries(eventMap).forEach(\n ([type, listener]) => channel.removeListener(type, listener)\n );\n }), [...Object.keys(eventMap), ...deps]), useCallback(channel.emit.bind(channel), [channel]);\n}\nfunction useStoryContext() {\n let { currentContext } = getHooksContextOrThrow();\n if (currentContext == null)\n throw invalidHooksError();\n return currentContext;\n}\nfunction useParameter(parameterKey, defaultValue) {\n let { parameters } = useStoryContext();\n if (parameterKey)\n return parameters[parameterKey] ?? defaultValue;\n}\nfunction useArgs() {\n let channel = addons.getChannel(), { id: storyId, args } = useStoryContext(), updateArgs = useCallback(\n (updatedArgs) => channel.emit(UPDATE_STORY_ARGS, { storyId, updatedArgs }),\n [channel, storyId]\n ), resetArgs = useCallback(\n (argNames) => channel.emit(RESET_STORY_ARGS, { storyId, argNames }),\n [channel, storyId]\n );\n return [args, updateArgs, resetArgs];\n}\nfunction useGlobals() {\n let channel = addons.getChannel(), { globals } = useStoryContext(), updateGlobals = useCallback(\n (newGlobals) => channel.emit(UPDATE_GLOBALS, { globals: newGlobals }),\n [channel]\n );\n return [globals, updateGlobals];\n}\n\n// src/preview-api/modules/addons/make-decorator.ts\nvar makeDecorator = ({\n name,\n parameterName,\n wrapper,\n skipIfNoParametersOrOptions = !1\n}) => {\n let decorator = (options) => (storyFn, context) => {\n let parameters = context.parameters && context.parameters[parameterName];\n return parameters && parameters.disable || skipIfNoParametersOrOptions && !options && !parameters ? storyFn(context) : wrapper(storyFn, context, {\n options,\n parameters\n });\n };\n return (...args) => typeof args[0] == \"function\" ? decorator()(...args) : (...innerArgs) => {\n if (innerArgs.length > 1)\n return args.length > 1 ? decorator(args)(...innerArgs) : decorator(...args)(...innerArgs);\n throw new Error(\n `Passing stories directly into ${name}() is not allowed,\n instead use addDecorator(${name}) and pass options with the '${parameterName}' parameter`\n );\n };\n};\n\n// src/preview-api/modules/store/StoryStore.ts\nimport { getCoreAnnotations as getCoreAnnotations2 } from \"storybook/internal/csf\";\nimport {\n CalledExtractOnStoreError,\n MissingStoryFromCsfFileError\n} from \"storybook/internal/preview-errors\";\nvar import_memoizerific2 = __toESM(require_memoizerific(), 1);\n\n// src/preview-api/modules/store/args.ts\nimport { once } from \"storybook/internal/client-logger\";\nvar INCOMPATIBLE = Symbol(\"incompatible\"), map = (arg, argType) => {\n let type = argType.type;\n if (arg == null || !type || argType.mapping)\n return arg;\n switch (type.name) {\n case \"string\":\n return String(arg);\n case \"enum\":\n return arg;\n case \"number\":\n return Number(arg);\n case \"boolean\":\n return String(arg) === \"true\";\n case \"array\":\n return !type.value || !Array.isArray(arg) ? INCOMPATIBLE : arg.reduce((acc, item, index) => {\n let mapped = map(item, { type: type.value });\n return mapped !== INCOMPATIBLE && (acc[index] = mapped), acc;\n }, new Array(arg.length));\n case \"object\":\n return typeof arg == \"string\" || typeof arg == \"number\" ? arg : !type.value || typeof arg != \"object\" ? INCOMPATIBLE : Object.entries(arg).reduce((acc, [key, val]) => {\n let mapped = map(val, { type: type.value[key] });\n return mapped === INCOMPATIBLE ? acc : Object.assign(acc, { [key]: mapped });\n }, {});\n case \"other\": {\n let isPrimitiveArg = typeof arg == \"string\" || typeof arg == \"number\" || typeof arg == \"boolean\";\n return type.value === \"ReactNode\" && isPrimitiveArg ? arg : INCOMPATIBLE;\n }\n default:\n return INCOMPATIBLE;\n }\n}, mapArgsToTypes = (args, argTypes) => Object.entries(args).reduce((acc, [key, value]) => {\n if (!argTypes[key])\n return acc;\n let mapped = map(value, argTypes[key]);\n return mapped === INCOMPATIBLE ? acc : Object.assign(acc, { [key]: mapped });\n}, {}), combineArgs = (value, update) => Array.isArray(value) && Array.isArray(update) ? update.reduce(\n (acc, upd, index) => (acc[index] = combineArgs(value[index], update[index]), acc),\n [...value]\n).filter((v) => v !== void 0) : !isPlainObject(value) || !isPlainObject(update) ? update : Object.keys({ ...value, ...update }).reduce((acc, key) => {\n if (key in update) {\n let combined = combineArgs(value[key], update[key]);\n combined !== void 0 && (acc[key] = combined);\n } else\n acc[key] = value[key];\n return acc;\n}, {}), validateOptions = (args, argTypes) => Object.entries(argTypes).reduce((acc, [key, { options }]) => {\n function allowArg() {\n return key in args && (acc[key] = args[key]), acc;\n }\n if (!options)\n return allowArg();\n if (!Array.isArray(options))\n return once.error(dedent`\n Invalid argType: '${key}.options' should be an array.\n\n More info: https://storybook.js.org/docs/api/arg-types?ref=error\n `), allowArg();\n if (options.some((opt) => opt && [\"object\", \"function\"].includes(typeof opt)))\n return once.error(dedent`\n Invalid argType: '${key}.options' should only contain primitives. Use a 'mapping' for complex values.\n\n More info: https://storybook.js.org/docs/writing-stories/args?ref=error#mapping-to-complex-arg-values\n `), allowArg();\n let isArray = Array.isArray(args[key]), invalidIndex = isArray && args[key].findIndex((val) => !options.includes(val)), isValidArray = isArray && invalidIndex === -1;\n if (args[key] === void 0 || options.includes(args[key]) || isValidArray)\n return allowArg();\n let field = isArray ? `${key}[${invalidIndex}]` : key, supportedOptions = options.map((opt) => typeof opt == \"string\" ? `'${opt}'` : String(opt)).join(\", \");\n return once.warn(`Received illegal value for '${field}'. Supported options: ${supportedOptions}`), acc;\n}, {}), DEEPLY_EQUAL = Symbol(\"Deeply equal\"), deepDiff = (value, update) => {\n if (typeof value != typeof update)\n return update;\n if (isEqual(value, update))\n return DEEPLY_EQUAL;\n if (Array.isArray(value) && Array.isArray(update)) {\n let res = update.reduce((acc, upd, index) => {\n let diff = deepDiff(value[index], upd);\n return diff !== DEEPLY_EQUAL && (acc[index] = diff), acc;\n }, new Array(update.length));\n return update.length >= value.length ? res : res.concat(new Array(value.length - update.length).fill(void 0));\n }\n return isPlainObject(value) && isPlainObject(update) ? Object.keys({ ...value, ...update }).reduce((acc, key) => {\n let diff = deepDiff(value?.[key], update?.[key]);\n return diff === DEEPLY_EQUAL ? acc : Object.assign(acc, { [key]: diff });\n }, {}) : update;\n}, UNTARGETED = \"UNTARGETED\";\nfunction groupArgsByTarget({\n args,\n argTypes\n}) {\n let groupedArgs = {};\n return Object.entries(args).forEach(([name, value]) => {\n let { target = UNTARGETED } = argTypes[name] || {};\n groupedArgs[target] = groupedArgs[target] || {}, groupedArgs[target][name] = value;\n }), groupedArgs;\n}\n\n// src/preview-api/modules/store/ArgsStore.ts\nfunction deleteUndefined(obj) {\n return Object.keys(obj).forEach((key) => obj[key] === void 0 && delete obj[key]), obj;\n}\nvar ArgsStore = class {\n constructor() {\n this.initialArgsByStoryId = {};\n this.argsByStoryId = {};\n }\n get(storyId) {\n if (!(storyId in this.argsByStoryId))\n throw new Error(`No args known for ${storyId} -- has it been rendered yet?`);\n return this.argsByStoryId[storyId];\n }\n setInitial(story) {\n if (!this.initialArgsByStoryId[story.id])\n this.initialArgsByStoryId[story.id] = story.initialArgs, this.argsByStoryId[story.id] = story.initialArgs;\n else if (this.initialArgsByStoryId[story.id] !== story.initialArgs) {\n let delta = deepDiff(this.initialArgsByStoryId[story.id], this.argsByStoryId[story.id]);\n this.initialArgsByStoryId[story.id] = story.initialArgs, this.argsByStoryId[story.id] = story.initialArgs, delta !== DEEPLY_EQUAL && this.updateFromDelta(story, delta);\n }\n }\n updateFromDelta(story, delta) {\n let validatedDelta = validateOptions(delta, story.argTypes);\n this.argsByStoryId[story.id] = combineArgs(this.argsByStoryId[story.id], validatedDelta);\n }\n updateFromPersisted(story, persisted) {\n let mappedPersisted = mapArgsToTypes(persisted, story.argTypes);\n return this.updateFromDelta(story, mappedPersisted);\n }\n update(storyId, argsUpdate) {\n if (!(storyId in this.argsByStoryId))\n throw new Error(`No args known for ${storyId} -- has it been rendered yet?`);\n this.argsByStoryId[storyId] = deleteUndefined({\n ...this.argsByStoryId[storyId],\n ...argsUpdate\n });\n }\n};\n\n// src/preview-api/modules/store/GlobalsStore.ts\nimport { logger as logger2 } from \"storybook/internal/client-logger\";\n\n// src/preview-api/modules/store/csf/getValuesFromGlobalTypes.ts\nvar getValuesFromGlobalTypes = (globalTypes = {}) => Object.entries(globalTypes).reduce((acc, [arg, { defaultValue }]) => (typeof defaultValue < \"u\" && (acc[arg] = defaultValue), acc), {});\n\n// src/preview-api/modules/store/GlobalsStore.ts\nvar GlobalsStore = class {\n constructor({\n globals = {},\n globalTypes = {}\n }) {\n this.set({ globals, globalTypes });\n }\n set({ globals = {}, globalTypes = {} }) {\n let delta = this.initialGlobals && deepDiff(this.initialGlobals, this.globals);\n this.allowedGlobalNames = /* @__PURE__ */ new Set([...Object.keys(globals), ...Object.keys(globalTypes)]);\n let defaultGlobals = getValuesFromGlobalTypes(globalTypes);\n this.initialGlobals = { ...defaultGlobals, ...globals }, this.globals = this.initialGlobals, delta && delta !== DEEPLY_EQUAL && this.updateFromPersisted(delta);\n }\n filterAllowedGlobals(globals) {\n return Object.entries(globals).reduce((acc, [key, value]) => (this.allowedGlobalNames.has(key) ? acc[key] = value : logger2.warn(\n `Attempted to set a global (${key}) that is not defined in initial globals or globalTypes`\n ), acc), {});\n }\n updateFromPersisted(persisted) {\n let allowedUrlGlobals = this.filterAllowedGlobals(persisted);\n this.globals = { ...this.globals, ...allowedUrlGlobals };\n }\n get() {\n return this.globals;\n }\n update(newGlobals) {\n this.globals = { ...this.globals, ...this.filterAllowedGlobals(newGlobals) };\n for (let key in newGlobals)\n newGlobals[key] === void 0 && (this.globals[key] = this.initialGlobals[key]);\n }\n};\n\n// src/preview-api/modules/store/StoryIndexStore.ts\nvar import_memoizerific = __toESM(require_memoizerific(), 1);\nimport { MissingStoryAfterHmrError } from \"storybook/internal/preview-errors\";\nvar getImportPathMap = (0, import_memoizerific.default)(1)(\n (entries) => Object.values(entries).reduce(\n (acc, entry) => (acc[entry.importPath] = acc[entry.importPath] || entry, acc),\n {}\n )\n), StoryIndexStore = class {\n constructor({ entries } = { v: 5, entries: {} }) {\n this.entries = entries;\n }\n entryFromSpecifier(specifier) {\n let entries = Object.values(this.entries);\n if (specifier === \"*\")\n return entries[0];\n if (typeof specifier == \"string\")\n return this.entries[specifier] ? this.entries[specifier] : entries.find((entry) => entry.id.startsWith(specifier));\n let { name, title } = specifier;\n return entries.find((entry) => entry.name === name && entry.title === title);\n }\n storyIdToEntry(storyId) {\n let storyEntry = this.entries[storyId];\n if (!storyEntry)\n throw new MissingStoryAfterHmrError({ storyId });\n return storyEntry;\n }\n importPathToEntry(importPath) {\n return getImportPathMap(this.entries)[importPath];\n }\n};\n\n// src/preview-api/modules/store/csf/normalizeInputTypes.ts\nvar normalizeType = (type) => typeof type == \"string\" ? { name: type } : type, normalizeControl = (control) => typeof control == \"string\" ? { type: control } : control, normalizeInputType = (inputType, key) => {\n let { type, control, ...rest } = inputType, normalized = {\n name: key,\n ...rest\n };\n return type && (normalized.type = normalizeType(type)), control ? normalized.control = normalizeControl(control) : control === !1 && (normalized.control = { disable: !0 }), normalized;\n}, normalizeInputTypes = (inputTypes) => mapValues(inputTypes, normalizeInputType);\n\n// src/preview-api/modules/store/csf/normalizeStory.ts\nimport { deprecate, logger as logger3 } from \"storybook/internal/client-logger\";\nimport { storyNameFromExport, toId } from \"storybook/internal/csf\";\n\n// src/preview-api/modules/store/csf/normalizeArrays.ts\nvar normalizeArrays = (array) => Array.isArray(array) ? array : array ? [array] : [];\n\n// src/preview-api/modules/store/csf/normalizeStory.ts\nvar deprecatedStoryAnnotation = dedent`\nCSF .story annotations deprecated; annotate story functions directly:\n- StoryFn.story.name => StoryFn.storyName\n- StoryFn.story.(parameters|decorators) => StoryFn.(parameters|decorators)\nSee https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-annotations for details and codemod.\n`;\nfunction normalizeStory(key, storyAnnotations, meta) {\n let storyObject = storyAnnotations, userStoryFn = typeof storyAnnotations == \"function\" ? storyAnnotations : null, { story } = storyObject;\n story && (logger3.debug(\"deprecated story\", story), deprecate(deprecatedStoryAnnotation));\n let exportName = storyNameFromExport(key), name = typeof storyObject != \"function\" && storyObject.name || storyObject.storyName || story?.name || exportName, decorators = [\n ...normalizeArrays(storyObject.decorators),\n ...normalizeArrays(story?.decorators)\n ], parameters = { ...story?.parameters, ...storyObject.parameters }, args = { ...story?.args, ...storyObject.args }, argTypes = { ...story?.argTypes, ...storyObject.argTypes }, loaders = [...normalizeArrays(storyObject.loaders), ...normalizeArrays(story?.loaders)], beforeEach = [\n ...normalizeArrays(storyObject.beforeEach),\n ...normalizeArrays(story?.beforeEach)\n ], afterEach = [\n ...normalizeArrays(storyObject.afterEach),\n ...normalizeArrays(story?.afterEach)\n ], { render, play, tags = [], globals = {} } = storyObject, id = parameters.__id || toId(meta.id, exportName);\n return {\n moduleExport: storyAnnotations,\n id,\n name,\n tags,\n decorators,\n parameters,\n args,\n argTypes: normalizeInputTypes(argTypes),\n loaders,\n beforeEach,\n afterEach,\n globals,\n ...render && { render },\n ...userStoryFn && { userStoryFn },\n ...play && { play }\n };\n}\n\n// src/preview-api/modules/store/csf/processCSFFile.ts\nimport { logger as logger4 } from \"storybook/internal/client-logger\";\nimport { getStoryChildren, isExportStory, isStory, toTestId } from \"storybook/internal/csf\";\n\n// src/preview-api/modules/store/csf/normalizeComponentAnnotations.ts\nimport { sanitize } from \"storybook/internal/csf\";\nfunction normalizeComponentAnnotations(defaultExport, title = defaultExport.title, importPath) {\n let { id, argTypes } = defaultExport;\n return {\n id: sanitize(id || title),\n ...defaultExport,\n title,\n ...argTypes && { argTypes: normalizeInputTypes(argTypes) },\n parameters: {\n fileName: importPath,\n ...defaultExport.parameters\n }\n };\n}\n\n// src/preview-api/modules/store/csf/processCSFFile.ts\nvar checkGlobals = (parameters) => {\n let { globals, globalTypes } = parameters;\n (globals || globalTypes) && logger4.error(\n \"Global args/argTypes can only be set globally\",\n JSON.stringify({\n globals,\n globalTypes\n })\n );\n}, checkStorySort = (parameters) => {\n let { options } = parameters;\n options?.storySort && logger4.error(\"The storySort option parameter can only be set globally\");\n}, checkDisallowedParameters = (parameters) => {\n parameters && (checkGlobals(parameters), checkStorySort(parameters));\n};\nfunction processCSFFile(moduleExports, importPath, title) {\n let { default: defaultExport, __namedExportsOrder, ...namedExports } = moduleExports, factoryStory = Object.values(namedExports).find((it) => isStory(it));\n if (factoryStory) {\n let meta2 = normalizeComponentAnnotations(factoryStory.meta.input, title, importPath);\n checkDisallowedParameters(meta2.parameters);\n let csfFile2 = { meta: meta2, stories: {}, moduleExports };\n return Object.keys(namedExports).forEach((key) => {\n if (isExportStory(key, meta2) && isStory(namedExports[key])) {\n let story = namedExports[key], storyMeta = normalizeStory(key, story.input, meta2);\n checkDisallowedParameters(storyMeta.parameters), csfFile2.stories[storyMeta.id] = storyMeta, getStoryChildren(story).forEach((child) => {\n let name = child.input.name, childId = toTestId(storyMeta.id, name);\n child.input.parameters ??= {}, child.input.parameters.__id = childId, csfFile2.stories[childId] = normalizeStory(name, child.input, meta2);\n });\n }\n }), csfFile2.projectAnnotations = factoryStory.meta.preview.composed, csfFile2;\n }\n let meta = normalizeComponentAnnotations(\n defaultExport,\n title,\n importPath\n );\n checkDisallowedParameters(meta.parameters);\n let csfFile = { meta, stories: {}, moduleExports };\n return Object.keys(namedExports).forEach((key) => {\n if (isExportStory(key, meta)) {\n let storyMeta = normalizeStory(key, namedExports[key], meta);\n checkDisallowedParameters(storyMeta.parameters), csfFile.stories[storyMeta.id] = storyMeta;\n }\n }), csfFile;\n}\n\n// src/preview-api/modules/store/csf/prepareStory.ts\nimport { combineTags, includeConditionalArg } from \"storybook/internal/csf\";\nimport { NoRenderFunctionError } from \"storybook/internal/preview-errors\";\nimport { global as global3 } from \"@storybook/global\";\nimport { global as globalThis2 } from \"@storybook/global\";\n\n// src/preview-api/modules/preview-web/render/mount-utils.ts\nfunction mountDestructured(playFunction) {\n return playFunction != null && getUsedProps(playFunction).includes(\"mount\");\n}\nfunction getUsedProps(fn) {\n let [, args, body] = fn.toString().match(/[^(]*\\(([^)]+)\\)(?:.*{([^]+)})?/) || [];\n if (!args)\n return [];\n let [firstArg] = splitByComma(args);\n if (!firstArg)\n return [];\n let [, destructuredProps] = firstArg.match(/^{([^]+)}$/) || [];\n if (destructuredProps)\n return splitByComma(stripComments(destructuredProps)).map(\n (prop) => prop.replace(/:.*|=.*/g, \"\").trim()\n );\n if (!firstArg.match(/^[a-z_$][0-9a-z_$]*$/i))\n return [];\n let escapedArg = firstArg.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), [, destructuredArg] = body?.trim()?.match(new RegExp(`^(?:const|let|var)\\\\s*{([^}]+)}\\\\s*=\\\\s*${escapedArg};`)) || [];\n return destructuredArg ? splitByComma(stripComments(destructuredArg)).map(\n (prop) => prop.replace(/:.*|=.*/g, \"\").trim()\n ) : [];\n}\nfunction stripComments(s) {\n return s = s.replace(/\\/\\/.*$/gm, \"\"), s = s.replace(/\\/\\*[\\s\\S]*?\\*\\//g, \"\"), s;\n}\nfunction splitByComma(s) {\n let result = [], stack = [], start = 0;\n for (let i = 0; i < s.length; i++)\n if (s[i] === \"{\" || s[i] === \"[\")\n stack.push(s[i] === \"{\" ? \"}\" : \"]\");\n else if (s[i] === stack[stack.length - 1])\n stack.pop();\n else if (!stack.length && s[i] === \",\") {\n let token = s.substring(start, i).trim();\n token && result.push(token), start = i + 1;\n }\n let lastToken = s.substring(start).trim();\n return lastToken && result.push(lastToken), result;\n}\n\n// src/preview-api/modules/store/decorators.ts\nfunction decorateStory(storyFn, decorator, bindWithContext) {\n let boundStoryFunction = bindWithContext(storyFn);\n return (context) => decorator(boundStoryFunction, context);\n}\nfunction sanitizeStoryContextUpdate({\n componentId,\n title,\n kind,\n id,\n name,\n story,\n parameters,\n initialArgs,\n argTypes,\n ...update\n} = {}) {\n return update;\n}\nfunction defaultDecorateStory(storyFn, decorators) {\n let contextStore = {}, bindWithContext = (decoratedStoryFn) => (update) => {\n if (!contextStore.value)\n throw new Error(\"Decorated function called without init\");\n return contextStore.value = {\n ...contextStore.value,\n ...sanitizeStoryContextUpdate(update)\n }, decoratedStoryFn(contextStore.value);\n }, decoratedWithContextStore = decorators.reduce(\n (story, decorator) => decorateStory(story, decorator, bindWithContext),\n storyFn\n );\n return (context) => (contextStore.value = context, decoratedWithContextStore(context));\n}\n\n// src/preview-api/modules/store/csf/prepareStory.ts\nfunction prepareStory(storyAnnotations, componentAnnotations, projectAnnotations) {\n let { moduleExport, id, name } = storyAnnotations || {}, partialAnnotations = preparePartialAnnotations(\n storyAnnotations,\n componentAnnotations,\n projectAnnotations\n ), applyLoaders = async (context) => {\n let loaded = {};\n for (let loaders of [\n normalizeArrays(projectAnnotations.loaders),\n normalizeArrays(componentAnnotations.loaders),\n normalizeArrays(storyAnnotations.loaders)\n ]) {\n if (context.abortSignal.aborted)\n return loaded;\n let loadResults = await Promise.all(loaders.map((loader) => loader(context)));\n Object.assign(loaded, ...loadResults);\n }\n return loaded;\n }, applyBeforeEach = async (context) => {\n let cleanupCallbacks = new Array();\n for (let beforeEach of [\n ...normalizeArrays(projectAnnotations.beforeEach),\n ...normalizeArrays(componentAnnotations.beforeEach),\n ...normalizeArrays(storyAnnotations.beforeEach)\n ]) {\n if (context.abortSignal.aborted)\n return cleanupCallbacks;\n let cleanup = await beforeEach(context);\n cleanup && cleanupCallbacks.push(cleanup);\n }\n return cleanupCallbacks;\n }, applyAfterEach = async (context) => {\n let reversedFinalizers = [\n ...normalizeArrays(projectAnnotations.afterEach),\n ...normalizeArrays(componentAnnotations.afterEach),\n ...normalizeArrays(storyAnnotations.afterEach)\n ].reverse();\n for (let finalizer of reversedFinalizers) {\n if (context.abortSignal.aborted)\n return;\n await finalizer(context);\n }\n }, undecoratedStoryFn = (context) => context.originalStoryFn(context.args, context), { applyDecorators = defaultDecorateStory, runStep } = projectAnnotations, decorators = [\n ...normalizeArrays(storyAnnotations?.decorators),\n ...normalizeArrays(componentAnnotations?.decorators),\n ...normalizeArrays(projectAnnotations?.decorators)\n ], render = storyAnnotations?.userStoryFn || storyAnnotations?.render || componentAnnotations.render || projectAnnotations.render, decoratedStoryFn = applyHooks(applyDecorators)(undecoratedStoryFn, decorators), unboundStoryFn = (context) => decoratedStoryFn(context), playFunction = storyAnnotations?.play ?? componentAnnotations?.play, usesMount = mountDestructured(playFunction);\n if (!render && !usesMount)\n throw new NoRenderFunctionError({ id });\n let defaultMount = (context) => async () => (await context.renderToCanvas(), context.canvas), mount = storyAnnotations.mount ?? componentAnnotations.mount ?? projectAnnotations.mount ?? defaultMount, testingLibraryRender = projectAnnotations.testingLibraryRender;\n return {\n storyGlobals: {},\n ...partialAnnotations,\n moduleExport,\n id,\n name,\n story: name,\n originalStoryFn: render,\n undecoratedStoryFn,\n unboundStoryFn,\n applyLoaders,\n applyBeforeEach,\n applyAfterEach,\n playFunction,\n runStep,\n mount,\n testingLibraryRender,\n renderToCanvas: projectAnnotations.renderToCanvas,\n usesMount\n };\n}\nfunction prepareMeta(componentAnnotations, projectAnnotations, moduleExport) {\n return {\n ...preparePartialAnnotations(void 0, componentAnnotations, projectAnnotations),\n moduleExport\n };\n}\nfunction preparePartialAnnotations(storyAnnotations, componentAnnotations, projectAnnotations) {\n let defaultTags = [Tag.DEV, Tag.TEST], extraTags = globalThis2.DOCS_OPTIONS?.autodocs === !0 ? [Tag.AUTODOCS] : [], overrideTags = storyAnnotations?.tags?.includes(Tag.TEST_FN) ? [`!${Tag.AUTODOCS}`] : [], tags = combineTags(\n ...defaultTags,\n ...extraTags,\n ...projectAnnotations.tags ?? [],\n ...componentAnnotations.tags ?? [],\n ...overrideTags,\n ...storyAnnotations?.tags ?? []\n ), parameters = combineParameters(\n projectAnnotations.parameters,\n componentAnnotations.parameters,\n storyAnnotations?.parameters\n ), { argTypesEnhancers = [], argsEnhancers = [] } = projectAnnotations, passedArgTypes = combineParameters(\n projectAnnotations.argTypes,\n componentAnnotations.argTypes,\n storyAnnotations?.argTypes\n );\n if (storyAnnotations) {\n let render = storyAnnotations?.userStoryFn || storyAnnotations?.render || componentAnnotations.render || projectAnnotations.render;\n parameters.__isArgsStory = render && render.length > 0;\n }\n let passedArgs = {\n ...projectAnnotations.args,\n ...componentAnnotations.args,\n ...storyAnnotations?.args\n }, storyGlobals = {\n ...componentAnnotations.globals,\n ...storyAnnotations?.globals\n }, contextForEnhancers = {\n componentId: componentAnnotations.id,\n title: componentAnnotations.title,\n kind: componentAnnotations.title,\n // Back compat\n id: storyAnnotations?.id || componentAnnotations.id,\n // if there's no story name, we create a fake one since enhancers expect a name\n name: storyAnnotations?.name || \"__meta\",\n story: storyAnnotations?.name || \"__meta\",\n // Back compat\n component: componentAnnotations.component,\n subcomponents: componentAnnotations.subcomponents,\n tags,\n parameters,\n initialArgs: passedArgs,\n argTypes: passedArgTypes,\n storyGlobals\n };\n contextForEnhancers.argTypes = argTypesEnhancers.reduce(\n (accumulatedArgTypes, enhancer) => enhancer({ ...contextForEnhancers, argTypes: accumulatedArgTypes }),\n contextForEnhancers.argTypes\n );\n let initialArgsBeforeEnhancers = { ...passedArgs };\n contextForEnhancers.initialArgs = [...argsEnhancers].reduce(\n (accumulatedArgs, enhancer) => ({\n ...accumulatedArgs,\n ...enhancer({\n ...contextForEnhancers,\n initialArgs: accumulatedArgs\n })\n }),\n initialArgsBeforeEnhancers\n );\n let { name, story, ...withoutStoryIdentifiers } = contextForEnhancers;\n return withoutStoryIdentifiers;\n}\nfunction prepareContext(context) {\n let { args: unmappedArgs } = context, targetedContext = {\n ...context,\n allArgs: void 0,\n argsByTarget: void 0\n };\n if (global3.FEATURES?.argTypeTargetsV7) {\n let argsByTarget = groupArgsByTarget(context);\n targetedContext = {\n ...context,\n allArgs: context.args,\n argsByTarget,\n args: argsByTarget[UNTARGETED] || {}\n };\n }\n let mappedArgs = Object.entries(targetedContext.args).reduce((acc, [key, val]) => {\n if (!targetedContext.argTypes[key]?.mapping)\n return acc[key] = val, acc;\n let mappingFn = (originalValue) => {\n let mapping = targetedContext.argTypes[key].mapping;\n return mapping && originalValue in mapping ? mapping[originalValue] : originalValue;\n };\n return acc[key] = Array.isArray(val) ? val.map(mappingFn) : mappingFn(val), acc;\n }, {}), includedArgs = Object.entries(mappedArgs).reduce((acc, [key, val]) => {\n let argType = targetedContext.argTypes[key] || {};\n return includeConditionalArg(argType, mappedArgs, targetedContext.globals) && (acc[key] = val), acc;\n }, {});\n return { ...targetedContext, unmappedArgs, args: includedArgs };\n}\n\n// src/preview-api/modules/store/inferArgTypes.ts\nimport { logger as logger5 } from \"storybook/internal/client-logger\";\nvar inferType = (value, name, visited, cache) => {\n let type = typeof value;\n switch (type) {\n case \"boolean\":\n case \"string\":\n case \"number\":\n case \"function\":\n case \"symbol\":\n return { name: type };\n default:\n break;\n }\n if (value) {\n if (cache.has(value))\n return cache.get(value);\n if (visited.has(value))\n return logger5.warn(dedent`\n We've detected a cycle in arg '${name}'. Args should be JSON-serializable.\n\n Consider using the mapping feature or fully custom args:\n - Mapping: https://storybook.js.org/docs/writing-stories/args#mapping-to-complex-arg-values\n - Custom args: https://storybook.js.org/docs/essentials/controls#fully-custom-args\n `), { name: \"other\", value: \"cyclic object\" };\n visited.add(value);\n let result;\n return Array.isArray(value) ? result = { name: \"array\", value: value.length > 0 ? inferType(value[0], name, visited, cache) : { name: \"other\", value: \"unknown\" } } : result = { name: \"object\", value: mapValues(value, (field) => inferType(field, name, visited, cache)) }, visited.delete(value), cache.set(value, result), result;\n }\n return { name: \"object\", value: {} };\n}, inferArgTypes = (context) => {\n let { id, argTypes: userArgTypes = {}, initialArgs = {} } = context, cache = /* @__PURE__ */ new Map(), argTypes = mapValues(initialArgs, (arg, key) => ({\n name: key,\n type: inferType(arg, `${id}.${key}`, /* @__PURE__ */ new Set(), cache)\n })), userArgTypesNames = mapValues(userArgTypes, (argType, key) => ({\n name: key\n }));\n return combineParameters(argTypes, userArgTypesNames, userArgTypes);\n};\ninferArgTypes.secondPass = !0;\n\n// src/preview-api/modules/store/inferControls.ts\nimport { logger as logger6 } from \"storybook/internal/client-logger\";\n\n// src/preview-api/modules/store/filterArgTypes.ts\nvar matches = (name, descriptor) => Array.isArray(descriptor) ? descriptor.includes(name) : name.match(descriptor), filterArgTypes = (argTypes, include, exclude) => !include && !exclude ? argTypes : argTypes && pickBy(argTypes, (argType, key) => {\n let name = argType.name || key.toString();\n return !!(!include || matches(name, include)) && (!exclude || !matches(name, exclude));\n});\n\n// src/preview-api/modules/store/inferControls.ts\nvar inferControl = (argType, name, matchers) => {\n let { type, options } = argType;\n if (type) {\n if (matchers.color && matchers.color.test(name)) {\n let controlType = type.name;\n if (controlType === \"string\")\n return { control: { type: \"color\" } };\n controlType !== \"enum\" && logger6.warn(\n `Addon controls: Control of type color only supports string, received \"${controlType}\" instead`\n );\n }\n if (matchers.date && matchers.date.test(name))\n return { control: { type: \"date\" } };\n switch (type.name) {\n case \"array\":\n return { control: { type: \"object\" } };\n case \"boolean\":\n return { control: { type: \"boolean\" } };\n case \"string\":\n return { control: { type: \"text\" } };\n case \"number\":\n return { control: { type: \"number\" } };\n case \"enum\": {\n let { value } = type;\n return { control: { type: value?.length <= 5 ? \"radio\" : \"select\" }, options: value };\n }\n case \"function\":\n case \"symbol\":\n return null;\n default:\n return { control: { type: options ? \"select\" : \"object\" } };\n }\n }\n}, inferControls = (context) => {\n let {\n argTypes,\n parameters: { __isArgsStory, controls: { include = null, exclude = null, matchers = {} } = {} }\n } = context;\n if (!__isArgsStory)\n return argTypes;\n let filteredArgTypes = filterArgTypes(argTypes, include, exclude), withControls = mapValues(filteredArgTypes, (argType, name) => argType?.type && inferControl(argType, name.toString(), matchers));\n return combineParameters(withControls, filteredArgTypes);\n};\ninferControls.secondPass = !0;\n\n// src/preview-api/modules/store/csf/normalizeProjectAnnotations.ts\nfunction normalizeProjectAnnotations({\n argTypes,\n argTypesEnhancers,\n decorators,\n loaders,\n beforeEach,\n afterEach,\n initialGlobals,\n ...annotations\n}) {\n return {\n ...argTypes && { argTypes: normalizeInputTypes(argTypes) },\n decorators: normalizeArrays(decorators),\n loaders: normalizeArrays(loaders),\n beforeEach: normalizeArrays(beforeEach),\n afterEach: normalizeArrays(afterEach),\n argTypesEnhancers: [\n ...argTypesEnhancers || [],\n inferArgTypes,\n // There's an architectural decision to be made regarding embedded addons in core:\n //\n // Option 1: Keep embedded addons but ensure consistency by moving addon-specific code\n // (like inferControls) to live alongside the addon code itself. This maintains the\n // concept of core addons while improving code organization.\n //\n // Option 2: Fully integrate these addons into core, potentially moving UI components\n // into the manager and treating them as core features rather than addons. This is a\n // bigger architectural change requiring careful consideration.\n //\n // For now, we're keeping inferControls here as we need time to properly evaluate\n // these options and their implications. Some features (like Angular's cleanArgsDecorator)\n // currently rely on this behavior.\n //\n // TODO: Make an architectural decision on the handling of core addons\n inferControls\n ],\n initialGlobals,\n ...annotations\n };\n}\n\n// src/preview-api/modules/store/csf/composeConfigs.ts\nimport { global as global4 } from \"@storybook/global\";\n\n// src/preview-api/modules/store/csf/beforeAll.ts\nvar composeBeforeAllHooks = (hooks) => async () => {\n let cleanups2 = [];\n for (let hook of hooks) {\n let cleanup = await hook();\n cleanup && cleanups2.unshift(cleanup);\n }\n return async () => {\n for (let cleanup of cleanups2)\n await cleanup();\n };\n};\n\n// src/preview-api/modules/store/csf/stepRunners.ts\nfunction composeStepRunners(stepRunners) {\n return async (label, play, playContext) => {\n await stepRunners.reduceRight(\n (innerPlay, stepRunner) => async () => stepRunner(label, innerPlay, playContext),\n async () => play(playContext)\n )();\n };\n}\n\n// src/preview-api/modules/store/csf/composeConfigs.ts\nfunction getField(moduleExportList, field) {\n return moduleExportList.map((xs) => xs.default?.[field] ?? xs[field]).filter(Boolean);\n}\nfunction getArrayField(moduleExportList, field, options = {}) {\n return getField(moduleExportList, field).reduce((prev, cur) => {\n let normalized = normalizeArrays(cur);\n return options.reverseFileOrder ? [...normalized, ...prev] : [...prev, ...normalized];\n }, []);\n}\nfunction getObjectField(moduleExportList, field) {\n return Object.assign({}, ...getField(moduleExportList, field));\n}\nfunction getSingletonField(moduleExportList, field) {\n return getField(moduleExportList, field).pop();\n}\nfunction composeConfigs(moduleExportList) {\n let allArgTypeEnhancers = getArrayField(moduleExportList, \"argTypesEnhancers\"), stepRunners = getField(moduleExportList, \"runStep\"), beforeAllHooks = getArrayField(moduleExportList, \"beforeAll\");\n return {\n parameters: combineParameters(...getField(moduleExportList, \"parameters\")),\n decorators: getArrayField(moduleExportList, \"decorators\", {\n reverseFileOrder: !(global4.FEATURES?.legacyDecoratorFileOrder ?? !1)\n }),\n args: getObjectField(moduleExportList, \"args\"),\n argsEnhancers: getArrayField(moduleExportList, \"argsEnhancers\"),\n argTypes: getObjectField(moduleExportList, \"argTypes\"),\n argTypesEnhancers: [\n ...allArgTypeEnhancers.filter((e) => !e.secondPass),\n ...allArgTypeEnhancers.filter((e) => e.secondPass)\n ],\n initialGlobals: getObjectField(moduleExportList, \"initialGlobals\"),\n globalTypes: getObjectField(moduleExportList, \"globalTypes\"),\n loaders: getArrayField(moduleExportList, \"loaders\"),\n beforeAll: composeBeforeAllHooks(beforeAllHooks),\n beforeEach: getArrayField(moduleExportList, \"beforeEach\"),\n afterEach: getArrayField(moduleExportList, \"afterEach\"),\n render: getSingletonField(moduleExportList, \"render\"),\n renderToCanvas: getSingletonField(moduleExportList, \"renderToCanvas\"),\n applyDecorators: getSingletonField(moduleExportList, \"applyDecorators\"),\n runStep: composeStepRunners(stepRunners),\n tags: getArrayField(moduleExportList, \"tags\"),\n mount: getSingletonField(moduleExportList, \"mount\"),\n testingLibraryRender: getSingletonField(moduleExportList, \"testingLibraryRender\")\n };\n}\n\n// src/preview-api/modules/store/csf/portable-stories.ts\nimport { isExportStory as isExportStory2 } from \"storybook/internal/csf\";\nimport { getCoreAnnotations } from \"storybook/internal/csf\";\nimport { MountMustBeDestructuredError } from \"storybook/internal/preview-errors\";\n\n// src/preview-api/modules/store/reporter-api.ts\nvar ReporterAPI = class {\n constructor() {\n this.reports = [];\n }\n async addReport(report) {\n this.reports.push(report);\n }\n};\n\n// src/preview-api/modules/store/csf/csf-factory-utils.ts\nimport { isMeta, isStory as isStory2 } from \"storybook/internal/csf\";\nfunction getCsfFactoryAnnotations(story, meta, projectAnnotations) {\n return isStory2(story) ? {\n story: story.input,\n meta: story.meta.input,\n preview: story.meta.preview.composed\n } : { story, meta: isMeta(meta) ? meta.input : meta, preview: projectAnnotations };\n}\n\n// src/preview-api/modules/store/csf/portable-stories.ts\nfunction setDefaultProjectAnnotations(_defaultProjectAnnotations) {\n globalThis.defaultProjectAnnotations = _defaultProjectAnnotations;\n}\nvar DEFAULT_STORY_TITLE = \"ComposedStory\", DEFAULT_STORY_NAME = \"Unnamed Story\";\nfunction extractAnnotation(annotation) {\n return annotation ? composeConfigs([annotation]) : {};\n}\nfunction setProjectAnnotations(projectAnnotations) {\n let annotations = Array.isArray(projectAnnotations) ? projectAnnotations : [projectAnnotations];\n return globalThis.globalProjectAnnotations = composeConfigs([\n ...getCoreAnnotations(),\n globalThis.defaultProjectAnnotations ?? {},\n composeConfigs(annotations.map(extractAnnotation))\n ]), globalThis.globalProjectAnnotations ?? {};\n}\nvar cleanups = [];\nfunction composeStory(storyAnnotations, componentAnnotations, projectAnnotations, defaultConfig, exportsName) {\n if (storyAnnotations === void 0)\n throw new Error(\"Expected a story but received undefined.\");\n componentAnnotations.title = componentAnnotations.title ?? DEFAULT_STORY_TITLE;\n let normalizedComponentAnnotations = normalizeComponentAnnotations(componentAnnotations), storyName = exportsName || storyAnnotations.storyName || storyAnnotations.story?.name || storyAnnotations.name || DEFAULT_STORY_NAME, normalizedStory = normalizeStory(\n storyName,\n storyAnnotations,\n normalizedComponentAnnotations\n ), normalizedProjectAnnotations = normalizeProjectAnnotations(\n composeConfigs([\n defaultConfig ?? globalThis.globalProjectAnnotations ?? {},\n projectAnnotations ?? {}\n ])\n ), story = prepareStory(\n normalizedStory,\n normalizedComponentAnnotations,\n normalizedProjectAnnotations\n ), globals = {\n ...getValuesFromGlobalTypes(normalizedProjectAnnotations.globalTypes),\n ...normalizedProjectAnnotations.initialGlobals,\n ...story.storyGlobals\n }, reporting = new ReporterAPI(), initializeContext = () => {\n let context = prepareContext({\n hooks: new HooksContext(),\n globals,\n args: { ...story.initialArgs },\n viewMode: \"story\",\n reporting,\n loaded: {},\n abortSignal: new AbortController().signal,\n step: (label, play2) => story.runStep(label, play2, context),\n canvasElement: null,\n canvas: {},\n userEvent: {},\n globalTypes: normalizedProjectAnnotations.globalTypes,\n ...story,\n context: null,\n mount: null\n });\n return context.parameters.__isPortableStory = !0, context.context = context, story.renderToCanvas && (context.renderToCanvas = async () => {\n let unmount = await story.renderToCanvas?.(\n {\n componentId: story.componentId,\n title: story.title,\n id: story.id,\n name: story.name,\n tags: story.tags,\n showMain: () => {\n },\n showError: (error) => {\n throw new Error(`${error.title}\n${error.description}`);\n },\n showException: (error) => {\n throw error;\n },\n forceRemount: !0,\n storyContext: context,\n storyFn: () => story.unboundStoryFn(context),\n unboundStoryFn: story.unboundStoryFn\n },\n context.canvasElement\n );\n unmount && cleanups.push(unmount);\n }), context.mount = story.mount(context), context;\n }, loadedContext, play = async (extraContext) => {\n let context = initializeContext();\n return context.canvasElement ??= globalThis?.document?.body, loadedContext && (context.loaded = loadedContext.loaded), Object.assign(context, extraContext), story.playFunction(context);\n }, run = (extraContext) => {\n let context = initializeContext();\n return Object.assign(context, extraContext), runStory(story, context);\n }, playFunction = story.playFunction ? play : void 0;\n return Object.assign(\n function(extraArgs) {\n let context = initializeContext();\n return loadedContext && (context.loaded = loadedContext.loaded), context.args = {\n ...context.initialArgs,\n ...extraArgs\n }, story.unboundStoryFn(context);\n },\n {\n id: story.id,\n storyName,\n load: async () => {\n for (let callback of [...cleanups].reverse())\n await callback();\n cleanups.length = 0;\n let context = initializeContext();\n context.loaded = await story.applyLoaders(context), cleanups.push(...(await story.applyBeforeEach(context)).filter(Boolean)), loadedContext = context;\n },\n globals,\n args: story.initialArgs,\n parameters: story.parameters,\n argTypes: story.argTypes,\n play: playFunction,\n run,\n reporting,\n tags: story.tags\n }\n );\n}\nvar defaultComposeStory = (story, component, project, exportsName) => composeStory(story, component, project, {}, exportsName);\nfunction composeStories(storiesImport, globalConfig, composeStoryFn = defaultComposeStory) {\n let { default: metaExport, __esModule, __namedExportsOrder, ...stories } = storiesImport, meta = metaExport;\n return Object.entries(stories).reduce(\n (storiesMap, [exportsName, story]) => {\n let { story: storyAnnotations, meta: componentAnnotations } = getCsfFactoryAnnotations(story);\n return !meta && componentAnnotations && (meta = componentAnnotations), isExportStory2(exportsName, meta) ? Object.assign(storiesMap, {\n [exportsName]: composeStoryFn(storyAnnotations, meta, globalConfig, exportsName)\n }) : storiesMap;\n },\n {}\n );\n}\nfunction createPlaywrightTest(baseTest) {\n return baseTest.extend({\n mount: async ({ mount, page }, use) => {\n await use(async (storyRef, ...restArgs) => {\n if (!(\"__pw_type\" in storyRef) || \"__pw_type\" in storyRef && storyRef.__pw_type !== \"jsx\")\n throw new Error(dedent`\n Portable stories in Playwright CT only work when referencing JSX elements.\n Please use JSX format for your components such as:\n\n instead of:\n await mount(MyComponent, { props: { foo: 'bar' } })\n\n do:\n await mount(<MyComponent foo=\"bar\"/>)\n\n More info: https://storybook.js.org/docs/api/portable-stories/portable-stories-playwright?ref=error\n `);\n let { props, ...storyRefWithoutProps } = storyRef;\n await page.evaluate(async (wrappedStoryRef) => {\n let unwrappedStoryRef = await globalThis.__pwUnwrapObject?.(wrappedStoryRef);\n return (\"__pw_type\" in unwrappedStoryRef ? unwrappedStoryRef.type : unwrappedStoryRef)?.load?.();\n }, storyRefWithoutProps);\n let mountResult = await mount(storyRef, ...restArgs);\n return await page.evaluate(async (wrappedStoryRef) => {\n let unwrappedStoryRef = await globalThis.__pwUnwrapObject?.(wrappedStoryRef), story = \"__pw_type\" in unwrappedStoryRef ? unwrappedStoryRef.type : unwrappedStoryRef, canvasElement = document.querySelector(\"#root\");\n return story?.play?.({ canvasElement });\n }, storyRefWithoutProps), mountResult;\n });\n }\n });\n}\nasync function runStory(story, context) {\n for (let callback of [...cleanups].reverse())\n await callback();\n if (cleanups.length = 0, !context.canvasElement) {\n let container = document.createElement(\"div\");\n globalThis?.document?.body?.appendChild(container), context.canvasElement = container, cleanups.push(() => {\n globalThis?.document?.body?.contains(container) && globalThis?.document?.body?.removeChild(container);\n });\n }\n if (context.loaded = await story.applyLoaders(context), context.abortSignal.aborted)\n return;\n cleanups.push(...(await story.applyBeforeEach(context)).filter(Boolean));\n let playFunction = story.playFunction, isMountDestructured = story.usesMount;\n if (isMountDestructured || await context.mount(), context.abortSignal.aborted)\n return;\n playFunction && (isMountDestructured || (context.mount = async () => {\n throw new MountMustBeDestructuredError({ playFunction: playFunction.toString() });\n }), await playFunction(context));\n let cleanUp;\n isTestEnvironment() ? cleanUp = pauseAnimations() : await waitForAnimations(context.abortSignal), await story.applyAfterEach(context), await cleanUp?.();\n}\n\n// src/preview-api/modules/store/StoryStore.ts\nvar CSF_CACHE_SIZE = 1e3, STORY_CACHE_SIZE = 1e4, StoryStore = class {\n constructor(storyIndex, importFn, projectAnnotations) {\n this.importFn = importFn;\n this.storyIndex = new StoryIndexStore(storyIndex), this.projectAnnotations = normalizeProjectAnnotations(\n composeConfigs([...getCoreAnnotations2(), projectAnnotations])\n );\n let { initialGlobals, globalTypes } = this.projectAnnotations;\n this.args = new ArgsStore(), this.userGlobals = new GlobalsStore({ globals: initialGlobals, globalTypes }), this.hooks = {}, this.cleanupCallbacks = {}, this.processCSFFileWithCache = (0, import_memoizerific2.default)(CSF_CACHE_SIZE)(processCSFFile), this.prepareMetaWithCache = (0, import_memoizerific2.default)(CSF_CACHE_SIZE)(prepareMeta), this.prepareStoryWithCache = (0, import_memoizerific2.default)(STORY_CACHE_SIZE)(prepareStory);\n }\n setProjectAnnotations(projectAnnotations) {\n this.projectAnnotations = normalizeProjectAnnotations(projectAnnotations);\n let { initialGlobals, globalTypes } = projectAnnotations;\n this.userGlobals.set({ globals: initialGlobals, globalTypes });\n }\n // This means that one of the CSF files has changed.\n // If the `importFn` has changed, we will invalidate both caches.\n // If the `storyIndex` data has changed, we may or may not invalidate the caches, depending\n // on whether we've loaded the relevant files yet.\n async onStoriesChanged({\n importFn,\n storyIndex\n }) {\n importFn && (this.importFn = importFn), storyIndex && (this.storyIndex.entries = storyIndex.entries), this.cachedCSFFiles && await this.cacheAllCSFFiles();\n }\n // Get an entry from the index, waiting on initialization if necessary\n async storyIdToEntry(storyId) {\n return this.storyIndex.storyIdToEntry(storyId);\n }\n // To load a single CSF file to service a story we need to look up the importPath in the index\n async loadCSFFileByStoryId(storyId) {\n let { importPath, title } = this.storyIndex.storyIdToEntry(storyId), moduleExports = await this.importFn(importPath);\n return this.processCSFFileWithCache(moduleExports, importPath, title);\n }\n async loadAllCSFFiles() {\n let importPaths = {};\n return Object.entries(this.storyIndex.entries).forEach(([storyId, { importPath }]) => {\n importPaths[importPath] = storyId;\n }), (await Promise.all(\n Object.entries(importPaths).map(async ([importPath, storyId]) => ({\n importPath,\n csfFile: await this.loadCSFFileByStoryId(storyId)\n }))\n )).reduce(\n (acc, { importPath, csfFile }) => (acc[importPath] = csfFile, acc),\n {}\n );\n }\n async cacheAllCSFFiles() {\n this.cachedCSFFiles = await this.loadAllCSFFiles();\n }\n preparedMetaFromCSFFile({ csfFile }) {\n let componentAnnotations = csfFile.meta;\n return this.prepareMetaWithCache(\n componentAnnotations,\n this.projectAnnotations,\n csfFile.moduleExports.default\n );\n }\n // Load the CSF file for a story and prepare the story from it and the project annotations.\n async loadStory({ storyId }) {\n let csfFile = await this.loadCSFFileByStoryId(storyId);\n return this.storyFromCSFFile({ storyId, csfFile });\n }\n // This function is synchronous for convenience -- often times if you have a CSF file already\n // it is easier not to have to await `loadStory`.\n storyFromCSFFile({\n storyId,\n csfFile\n }) {\n let storyAnnotations = csfFile.stories[storyId];\n if (!storyAnnotations)\n throw new MissingStoryFromCsfFileError({ storyId });\n let componentAnnotations = csfFile.meta, story = this.prepareStoryWithCache(\n storyAnnotations,\n componentAnnotations,\n csfFile.projectAnnotations ?? this.projectAnnotations\n );\n return this.args.setInitial(story), this.hooks[story.id] = this.hooks[story.id] || new HooksContext(), story;\n }\n // If we have a CSF file we can get all the stories from it synchronously\n componentStoriesFromCSFFile({\n csfFile\n }) {\n return Object.keys(this.storyIndex.entries).filter((storyId) => !!csfFile.stories[storyId]).map((storyId) => this.storyFromCSFFile({ storyId, csfFile }));\n }\n async loadEntry(id) {\n let entry = await this.storyIdToEntry(id), storyImports = entry.type === \"docs\" ? entry.storiesImports : [], [entryExports, ...csfFiles] = await Promise.all([\n this.importFn(entry.importPath),\n ...storyImports.map((storyImportPath) => {\n let firstStoryEntry = this.storyIndex.importPathToEntry(storyImportPath);\n return this.loadCSFFileByStoryId(firstStoryEntry.id);\n })\n ]);\n return { entryExports, csfFiles };\n }\n // A prepared story does not include args, globals or hooks. These are stored in the story store\n // and updated separately to the (immutable) story.\n getStoryContext(story, { forceInitialArgs = !1 } = {}) {\n let userGlobals = this.userGlobals.get(), { initialGlobals } = this.userGlobals, reporting = new ReporterAPI();\n return prepareContext({\n ...story,\n args: forceInitialArgs ? story.initialArgs : this.args.get(story.id),\n initialGlobals,\n globalTypes: this.projectAnnotations.globalTypes,\n userGlobals,\n reporting,\n globals: {\n ...userGlobals,\n ...story.storyGlobals\n },\n hooks: this.hooks[story.id]\n });\n }\n addCleanupCallbacks(story, ...callbacks) {\n this.cleanupCallbacks[story.id] = (this.cleanupCallbacks[story.id] || []).concat(callbacks);\n }\n async cleanupStory(story) {\n this.hooks[story.id].clean();\n let callbacks = this.cleanupCallbacks[story.id];\n if (callbacks)\n for (let callback of [...callbacks].reverse())\n await callback();\n delete this.cleanupCallbacks[story.id];\n }\n extract(options = { includeDocsOnly: !1 }) {\n let { cachedCSFFiles } = this;\n if (console.log(\"extract: extracting stories\", cachedCSFFiles), !cachedCSFFiles)\n throw new CalledExtractOnStoreError();\n let stories = Object.entries(this.storyIndex.entries).reduce(\n (acc, [storyId, entry]) => {\n if (entry.type === \"docs\")\n return acc;\n let csfFile = cachedCSFFiles[entry.importPath], story = this.storyFromCSFFile({ storyId, csfFile });\n return !options.includeDocsOnly && story.parameters.docsOnly || (acc[storyId] = Object.entries(story).reduce(\n (storyAcc, [key, value]) => key === \"story\" && entry.subtype === \"test\" ? { ...storyAcc, story: entry.parentName } : key === \"moduleExport\" || typeof value == \"function\" ? storyAcc : Array.isArray(value) ? Object.assign(storyAcc, { [key]: value.slice().sort() }) : Object.assign(storyAcc, { [key]: value }),\n {\n args: story.initialArgs,\n globals: {\n ...this.userGlobals.initialGlobals,\n ...this.userGlobals.globals,\n ...story.storyGlobals\n },\n storyId: entry.parent ? entry.parent : storyId\n }\n )), acc;\n },\n {}\n );\n return console.log(\"extract: stories\", stories), stories;\n }\n};\n\n// src/preview-api/modules/store/autoTitle.ts\nimport { once as once2 } from \"storybook/internal/client-logger\";\n\n// ../../node_modules/slash/index.js\nfunction slash(path) {\n return path.startsWith(\"\\\\\\\\?\\\\\") ? path : path.replace(/\\\\/g, \"/\");\n}\n\n// src/preview-api/modules/store/autoTitle.ts\nvar sanitize2 = (parts) => {\n if (parts.length === 0)\n return parts;\n let last = parts[parts.length - 1], lastStripped = last?.replace(/(?:[.](?:story|stories))?([.][^.]+)$/i, \"\");\n if (parts.length === 1)\n return [lastStripped];\n let nextToLast = parts[parts.length - 2];\n return lastStripped && nextToLast && lastStripped.toLowerCase() === nextToLast.toLowerCase() ? [...parts.slice(0, -2), lastStripped] : lastStripped && (/^(story|stories)([.][^.]+)$/i.test(last) || /^index$/i.test(lastStripped)) ? parts.slice(0, -1) : [...parts.slice(0, -1), lastStripped];\n};\nfunction pathJoin(paths) {\n return paths.flatMap((p) => p.split(\"/\")).filter(Boolean).join(\"/\");\n}\nvar userOrAutoTitleFromSpecifier = (fileName, entry, userTitle) => {\n let { directory, importPathMatcher, titlePrefix = \"\" } = entry || {};\n typeof fileName == \"number\" && once2.warn(dedent`\n CSF Auto-title received a numeric fileName. This typically happens when\n webpack is mis-configured in production mode. To force webpack to produce\n filenames, set optimization.moduleIds = \"named\" in your webpack config.\n `);\n let normalizedFileName = slash(String(fileName));\n if (importPathMatcher.exec(normalizedFileName)) {\n if (!userTitle) {\n let suffix = normalizedFileName.replace(directory, \"\"), parts = pathJoin([titlePrefix, suffix]).split(\"/\");\n return parts = sanitize2(parts), parts.join(\"/\");\n }\n return titlePrefix ? pathJoin([titlePrefix, userTitle]) : userTitle;\n }\n}, userOrAutoTitle = (fileName, storiesEntries, userTitle) => {\n for (let i = 0; i < storiesEntries.length; i += 1) {\n let title = userOrAutoTitleFromSpecifier(fileName, storiesEntries[i], userTitle);\n if (title)\n return title;\n }\n return userTitle || void 0;\n};\n\n// src/preview-api/modules/store/storySort.ts\nvar STORY_KIND_PATH_SEPARATOR = /\\s*\\/\\s*/, storySort = (options = {}) => (a, b) => {\n if (a.title === b.title && !options.includeNames)\n return 0;\n let method = options.method || \"configure\", order = options.order || [], storyTitleA = a.title.trim().split(STORY_KIND_PATH_SEPARATOR), storyTitleB = b.title.trim().split(STORY_KIND_PATH_SEPARATOR);\n options.includeNames && (storyTitleA.push(a.name), storyTitleB.push(b.name));\n let depth = 0;\n for (; storyTitleA[depth] || storyTitleB[depth]; ) {\n if (!storyTitleA[depth])\n return -1;\n if (!storyTitleB[depth])\n return 1;\n let nameA = storyTitleA[depth], nameB = storyTitleB[depth];\n if (nameA !== nameB) {\n let indexA = order.indexOf(nameA), indexB = order.indexOf(nameB), indexWildcard = order.indexOf(\"*\");\n return indexA !== -1 || indexB !== -1 ? (indexA === -1 && (indexWildcard !== -1 ? indexA = indexWildcard : indexA = order.length), indexB === -1 && (indexWildcard !== -1 ? indexB = indexWildcard : indexB = order.length), indexA - indexB) : method === \"configure\" ? 0 : nameA.localeCompare(nameB, options.locales ? options.locales : void 0, {\n numeric: !0,\n sensitivity: \"accent\"\n });\n }\n let index = order.indexOf(nameA);\n index === -1 && (index = order.indexOf(\"*\")), order = index !== -1 && Array.isArray(order[index + 1]) ? order[index + 1] : [], depth += 1;\n }\n return 0;\n};\n\n// src/preview-api/modules/store/sortStories.ts\nvar sortStoriesCommon = (stories, storySortParameter, fileNameOrder) => {\n if (storySortParameter) {\n let sortFn;\n typeof storySortParameter == \"function\" ? sortFn = storySortParameter : sortFn = storySort(storySortParameter), stories.sort(sortFn);\n } else\n stories.sort(\n (s1, s2) => fileNameOrder.indexOf(s1.importPath) - fileNameOrder.indexOf(s2.importPath)\n );\n return stories;\n}, sortStoriesV7 = (stories, storySortParameter, fileNameOrder) => {\n try {\n return sortStoriesCommon(stories, storySortParameter, fileNameOrder);\n } catch (err) {\n throw new Error(dedent`\n Error sorting stories with sort parameter ${storySortParameter}:\n\n > ${err.message}\n\n Are you using a V6-style sort function in V7 mode?\n\n More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#v7-style-story-sort\n `);\n }\n};\n\n// src/preview-api/modules/preview-web/Preview.tsx\nimport { deprecate as deprecate2, logger as logger7 } from \"storybook/internal/client-logger\";\nimport {\n ARGTYPES_INFO_REQUEST,\n ARGTYPES_INFO_RESPONSE,\n CONFIG_ERROR,\n FORCE_REMOUNT,\n FORCE_RE_RENDER as FORCE_RE_RENDER2,\n GLOBALS_UPDATED,\n PREVIEW_INITIALIZED,\n RESET_STORY_ARGS as RESET_STORY_ARGS2,\n SET_GLOBALS,\n STORY_ARGS_UPDATED,\n STORY_HOT_UPDATED,\n STORY_INDEX_INVALIDATED,\n UPDATE_GLOBALS as UPDATE_GLOBALS2,\n UPDATE_STORY_ARGS as UPDATE_STORY_ARGS2\n} from \"storybook/internal/core-events\";\nimport {\n CalledPreviewMethodBeforeInitializationError,\n MissingRenderToCanvasError,\n StoryIndexFetchError,\n StoryStoreAccessedBeforeInitializationError\n} from \"storybook/internal/preview-errors\";\nimport { global as global5 } from \"@storybook/global\";\n\n// src/preview-api/modules/preview-web/render/StoryRender.ts\nimport {\n PLAY_FUNCTION_THREW_EXCEPTION,\n STORY_FINISHED,\n STORY_RENDERED as STORY_RENDERED2,\n STORY_RENDER_PHASE_CHANGED,\n UNHANDLED_ERRORS_WHILE_PLAYING\n} from \"storybook/internal/core-events\";\nimport {\n MountMustBeDestructuredError as MountMustBeDestructuredError2,\n NoStoryMountedError\n} from \"storybook/internal/preview-errors\";\n\n// src/preview-api/modules/preview-web/render/Render.ts\nvar PREPARE_ABORTED = new Error(\"prepareAborted\");\n\n// src/preview-api/modules/preview-web/render/StoryRender.ts\nvar { AbortController: AbortController2 } = globalThis;\nfunction serializeError(error) {\n try {\n let { name = \"Error\", message = String(error), stack } = error;\n return { name, message, stack };\n } catch {\n return { name: \"Error\", message: String(error) };\n }\n}\nvar StoryRender = class {\n constructor(channel, store, renderToScreen, callbacks, id, viewMode, renderOptions = { autoplay: !0, forceInitialArgs: !1 }, story) {\n this.channel = channel;\n this.store = store;\n this.renderToScreen = renderToScreen;\n this.callbacks = callbacks;\n this.id = id;\n this.viewMode = viewMode;\n this.renderOptions = renderOptions;\n this.type = \"story\";\n this.notYetRendered = !0;\n this.rerenderEnqueued = !1;\n this.disableKeyListeners = !1;\n this.teardownRender = () => {\n };\n this.torndown = !1;\n this.abortController = new AbortController2(), this.renderId = Date.now(), story && (this.story = story, this.phase = \"preparing\");\n }\n async runPhase(signal, phase, phaseFn) {\n this.phase = phase, this.channel.emit(STORY_RENDER_PHASE_CHANGED, {\n newPhase: this.phase,\n renderId: this.renderId,\n storyId: this.id\n }), phaseFn && (await phaseFn(), this.checkIfAborted(signal));\n }\n checkIfAborted(signal) {\n return signal.aborted && ![\"finished\", \"aborted\", \"errored\"].includes(this.phase) && (this.phase = \"aborted\", this.channel.emit(STORY_RENDER_PHASE_CHANGED, {\n newPhase: this.phase,\n renderId: this.renderId,\n storyId: this.id\n })), signal.aborted;\n }\n async prepare() {\n if (await this.runPhase(this.abortController.signal, \"preparing\", async () => {\n this.story = await this.store.loadStory({ storyId: this.id });\n }), this.abortController.signal.aborted)\n throw await this.store.cleanupStory(this.story), PREPARE_ABORTED;\n }\n // The two story \"renders\" are equal and have both loaded the same story\n isEqual(other) {\n return !!(this.id === other.id && this.story && this.story === other.story);\n }\n isPreparing() {\n return [\"preparing\"].includes(this.phase);\n }\n isPending() {\n return [\"loading\", \"beforeEach\", \"rendering\", \"playing\", \"afterEach\"].includes(\n this.phase\n );\n }\n async renderToElement(canvasElement) {\n return this.canvasElement = canvasElement, this.render({ initial: !0, forceRemount: !0 });\n }\n storyContext() {\n if (!this.story)\n throw new Error(\"Cannot call storyContext before preparing\");\n let { forceInitialArgs } = this.renderOptions;\n return this.store.getStoryContext(this.story, { forceInitialArgs });\n }\n async render({\n initial = !1,\n forceRemount = !1\n } = {}) {\n let { canvasElement } = this;\n if (!this.story)\n throw new Error(\"cannot render when not prepared\");\n let story = this.story;\n if (!canvasElement)\n throw new Error(\"cannot render when canvasElement is unset\");\n let {\n id,\n componentId,\n title,\n name,\n tags,\n applyLoaders,\n applyBeforeEach,\n applyAfterEach,\n unboundStoryFn,\n playFunction,\n runStep\n } = story;\n forceRemount && !initial && (this.cancelRender(), this.abortController = new AbortController2());\n let abortSignal = this.abortController.signal, mounted = !1, isMountDestructured = story.usesMount;\n try {\n let context = {\n ...this.storyContext(),\n viewMode: this.viewMode,\n abortSignal,\n canvasElement,\n loaded: {},\n step: (label, play) => runStep(label, play, context),\n context: null,\n canvas: {},\n userEvent: {},\n renderToCanvas: async () => {\n let teardown = await this.renderToScreen(renderContext, canvasElement);\n this.teardownRender = teardown || (() => {\n }), mounted = !0;\n },\n // The story provides (set in a renderer) a mount function that is a higher order function\n // (context) => (...args) => Canvas\n //\n // Before assigning it to the context, we resolve the context dependency,\n // so that a user can just call it as await mount(...args) in their play function.\n mount: async (...args) => {\n this.callbacks.showStoryDuringRender?.();\n let mountReturn = null;\n return await this.runPhase(abortSignal, \"rendering\", async () => {\n mountReturn = await story.mount(context)(...args);\n }), isMountDestructured && await this.runPhase(abortSignal, \"playing\"), mountReturn;\n }\n };\n context.context = context;\n let renderContext = {\n componentId,\n title,\n kind: title,\n id,\n name,\n story: name,\n tags,\n ...this.callbacks,\n showError: (error) => (this.phase = \"errored\", this.callbacks.showError(error)),\n showException: (error) => (this.phase = \"errored\", this.callbacks.showException(error)),\n forceRemount: forceRemount || this.notYetRendered,\n storyContext: context,\n storyFn: () => unboundStoryFn(context),\n unboundStoryFn\n };\n if (await this.runPhase(abortSignal, \"loading\", async () => {\n context.loaded = await applyLoaders(context);\n }), abortSignal.aborted)\n return;\n let cleanupCallbacks = await applyBeforeEach(context);\n if (this.store.addCleanupCallbacks(story, ...cleanupCallbacks), this.checkIfAborted(abortSignal) || (!mounted && !isMountDestructured && await context.mount(), this.notYetRendered = !1, abortSignal.aborted))\n return;\n let ignoreUnhandledErrors = this.story.parameters?.test?.dangerouslyIgnoreUnhandledErrors === !0, unhandledErrors = /* @__PURE__ */ new Set(), onError = (event) => {\n event.error && unhandledErrors.add(event.error);\n }, onUnhandledRejection = (event) => {\n event.reason && unhandledErrors.add(event.reason);\n };\n if (this.renderOptions.autoplay && forceRemount && playFunction && this.phase !== \"errored\") {\n window?.addEventListener?.(\"error\", onError), window?.addEventListener?.(\"unhandledrejection\", onUnhandledRejection), this.disableKeyListeners = !0;\n try {\n if (isMountDestructured ? await playFunction(context) : (context.mount = async () => {\n throw new MountMustBeDestructuredError2({ playFunction: playFunction.toString() });\n }, await this.runPhase(abortSignal, \"playing\", async () => playFunction(context))), !mounted)\n throw new NoStoryMountedError();\n this.checkIfAborted(abortSignal), !ignoreUnhandledErrors && unhandledErrors.size > 0 ? await this.runPhase(abortSignal, \"errored\") : await this.runPhase(abortSignal, \"played\");\n } catch (error) {\n if (this.callbacks.showStoryDuringRender?.(), await this.runPhase(abortSignal, \"errored\", async () => {\n this.channel.emit(PLAY_FUNCTION_THREW_EXCEPTION, serializeError(error));\n }), this.story.parameters.throwPlayFunctionExceptions !== !1)\n throw error;\n console.error(error);\n }\n if (!ignoreUnhandledErrors && unhandledErrors.size > 0 && this.channel.emit(\n UNHANDLED_ERRORS_WHILE_PLAYING,\n Array.from(unhandledErrors).map(serializeError)\n ), this.disableKeyListeners = !1, window?.removeEventListener?.(\"unhandledrejection\", onUnhandledRejection), window?.removeEventListener?.(\"error\", onError), abortSignal.aborted)\n return;\n }\n await this.runPhase(abortSignal, \"completing\", async () => {\n isTestEnvironment() ? this.store.addCleanupCallbacks(story, pauseAnimations()) : await waitForAnimations(abortSignal);\n }), await this.runPhase(abortSignal, \"completed\", async () => {\n this.channel.emit(STORY_RENDERED2, id);\n }), this.phase !== \"errored\" && await this.runPhase(abortSignal, \"afterEach\", async () => {\n await applyAfterEach(context);\n });\n let hasUnhandledErrors = !ignoreUnhandledErrors && unhandledErrors.size > 0, hasSomeReportsFailed = context.reporting.reports.some(\n (report) => report.status === \"failed\"\n ), hasStoryErrored = hasUnhandledErrors || hasSomeReportsFailed;\n await this.runPhase(\n abortSignal,\n \"finished\",\n async () => this.channel.emit(STORY_FINISHED, {\n storyId: id,\n status: hasStoryErrored ? \"error\" : \"success\",\n reporters: context.reporting.reports\n })\n );\n } catch (err) {\n this.phase = \"errored\", this.callbacks.showException(err), await this.runPhase(\n abortSignal,\n \"finished\",\n async () => this.channel.emit(STORY_FINISHED, {\n storyId: id,\n status: \"error\",\n reporters: []\n })\n );\n }\n this.rerenderEnqueued && (this.rerenderEnqueued = !1, this.render());\n }\n /**\n * Rerender the story. If the story is currently pending (loading/rendering), the rerender will be\n * enqueued, and will be executed after the current render is completed. Rerendering while playing\n * will not be enqueued, and will be executed immediately, to support rendering args changes while\n * playing.\n */\n async rerender() {\n if (this.isPending() && this.phase !== \"playing\")\n this.rerenderEnqueued = !0;\n else\n return this.render();\n }\n async remount() {\n return await this.teardown(), this.render({ forceRemount: !0 });\n }\n // If the story is torn down (either a new story is rendered or the docs page removes it)\n // we need to consider the fact that the initial render may not be finished\n // (possibly the loaders or the play function are still running). We use the controller\n // as a method to abort them, ASAP, but this is not foolproof as we cannot control what\n // happens inside the user's code.\n cancelRender() {\n this.abortController.abort();\n }\n cancelPlayFunction() {\n this.phase === \"playing\" && (this.abortController.abort(), this.runPhase(this.abortController.signal, \"aborted\"));\n }\n async teardown() {\n this.torndown = !0, this.cancelRender(), this.story && await this.store.cleanupStory(this.story);\n for (let i = 0; i < 3; i += 1) {\n if (!this.isPending()) {\n await this.teardownRender();\n return;\n }\n await new Promise((resolve) => setTimeout(resolve, 0));\n }\n window?.location?.reload?.(), await new Promise(() => {\n });\n }\n};\n\n// src/preview-api/modules/preview-web/Preview.tsx\nvar { fetch } = global5, STORY_INDEX_PATH = \"./index.json\", Preview = class {\n constructor(importFn, getProjectAnnotations, channel = addons.getChannel(), shouldInitialize = !0) {\n this.importFn = importFn;\n this.getProjectAnnotations = getProjectAnnotations;\n this.channel = channel;\n this.storyRenders = [];\n this.storeInitializationPromise = new Promise((resolve, reject) => {\n this.resolveStoreInitializationPromise = resolve, this.rejectStoreInitializationPromise = reject;\n }), shouldInitialize && this.initialize();\n }\n // Create a proxy object for `__STORYBOOK_STORY_STORE__` and `__STORYBOOK_PREVIEW__.storyStore`\n // That proxies through to the store once ready, and errors beforehand. This means we can set\n // `__STORYBOOK_STORY_STORE__ = __STORYBOOK_PREVIEW__.storyStore` without having to wait, and\n // similarly integrators can access the `storyStore` on the preview at any time, although\n // it is considered deprecated and we will no longer allow access in 9.0\n get storyStore() {\n return new Proxy(\n {},\n {\n get: (_, method) => {\n if (this.storyStoreValue)\n return deprecate2(\"Accessing the Story Store is deprecated and will be removed in 9.0\"), this.storyStoreValue[method];\n throw new StoryStoreAccessedBeforeInitializationError();\n }\n }\n );\n }\n // INITIALIZATION\n async initialize() {\n this.setupListeners();\n try {\n let projectAnnotations = await this.getProjectAnnotationsOrRenderError();\n await this.runBeforeAllHook(projectAnnotations), await this.initializeWithProjectAnnotations(projectAnnotations);\n let userAgent = globalThis?.navigator?.userAgent;\n await this.channel.emit(PREVIEW_INITIALIZED, { userAgent });\n } catch (err) {\n this.rejectStoreInitializationPromise(err);\n }\n }\n ready() {\n return this.storeInitializationPromise;\n }\n setupListeners() {\n this.channel.on(STORY_INDEX_INVALIDATED, this.onStoryIndexChanged.bind(this)), this.channel.on(UPDATE_GLOBALS2, this.onUpdateGlobals.bind(this)), this.channel.on(UPDATE_STORY_ARGS2, this.onUpdateArgs.bind(this)), this.channel.on(ARGTYPES_INFO_REQUEST, this.onRequestArgTypesInfo.bind(this)), this.channel.on(RESET_STORY_ARGS2, this.onResetArgs.bind(this)), this.channel.on(FORCE_RE_RENDER2, this.onForceReRender.bind(this)), this.channel.on(FORCE_REMOUNT, this.onForceRemount.bind(this)), this.channel.on(STORY_HOT_UPDATED, this.onStoryHotUpdated.bind(this));\n }\n async getProjectAnnotationsOrRenderError() {\n try {\n let projectAnnotations = await this.getProjectAnnotations();\n if (this.renderToCanvas = projectAnnotations.renderToCanvas, !this.renderToCanvas)\n throw new MissingRenderToCanvasError();\n return projectAnnotations;\n } catch (err) {\n throw this.renderPreviewEntryError(\"Error reading preview.js:\", err), err;\n }\n }\n // If initialization gets as far as project annotations, this function runs.\n async initializeWithProjectAnnotations(projectAnnotations) {\n this.projectAnnotationsBeforeInitialization = projectAnnotations;\n try {\n let storyIndex = await this.getStoryIndexFromServer();\n return this.initializeWithStoryIndex(storyIndex);\n } catch (err) {\n throw this.renderPreviewEntryError(\"Error loading story index:\", err), err;\n }\n }\n async runBeforeAllHook(projectAnnotations) {\n try {\n await this.beforeAllCleanup?.(), this.beforeAllCleanup = await projectAnnotations.beforeAll?.();\n } catch (err) {\n throw this.renderPreviewEntryError(\"Error in beforeAll hook:\", err), err;\n }\n }\n async getStoryIndexFromServer() {\n let result = await fetch(STORY_INDEX_PATH);\n if (result.status === 200)\n return result.json();\n throw new StoryIndexFetchError({ text: await result.text() });\n }\n // If initialization gets as far as the story index, this function runs.\n initializeWithStoryIndex(storyIndex) {\n if (!this.projectAnnotationsBeforeInitialization)\n throw new Error(\"Cannot call initializeWithStoryIndex until project annotations resolve\");\n this.storyStoreValue = new StoryStore(\n storyIndex,\n this.importFn,\n this.projectAnnotationsBeforeInitialization\n ), delete this.projectAnnotationsBeforeInitialization, this.setInitialGlobals(), this.resolveStoreInitializationPromise();\n }\n async setInitialGlobals() {\n this.emitGlobals();\n }\n emitGlobals() {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"emitGlobals\" });\n let payload = {\n globals: this.storyStoreValue.userGlobals.get() || {},\n globalTypes: this.storyStoreValue.projectAnnotations.globalTypes || {}\n };\n this.channel.emit(SET_GLOBALS, payload);\n }\n // EVENT HANDLERS\n // This happens when a config file gets reloaded\n async onGetProjectAnnotationsChanged({\n getProjectAnnotations\n }) {\n delete this.previewEntryError, this.getProjectAnnotations = getProjectAnnotations;\n let projectAnnotations = await this.getProjectAnnotationsOrRenderError();\n if (await this.runBeforeAllHook(projectAnnotations), !this.storyStoreValue) {\n await this.initializeWithProjectAnnotations(projectAnnotations);\n return;\n }\n this.storyStoreValue.setProjectAnnotations(projectAnnotations), this.emitGlobals();\n }\n async onStoryIndexChanged() {\n if (delete this.previewEntryError, !(!this.storyStoreValue && !this.projectAnnotationsBeforeInitialization))\n try {\n let storyIndex = await this.getStoryIndexFromServer();\n if (this.projectAnnotationsBeforeInitialization) {\n this.initializeWithStoryIndex(storyIndex);\n return;\n }\n await this.onStoriesChanged({ storyIndex });\n } catch (err) {\n throw this.renderPreviewEntryError(\"Error loading story index:\", err), err;\n }\n }\n // This happens when a glob gets HMR-ed\n async onStoriesChanged({\n importFn,\n storyIndex\n }) {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"onStoriesChanged\" });\n await this.storyStoreValue.onStoriesChanged({ importFn, storyIndex });\n }\n async onUpdateGlobals({\n globals: updatedGlobals,\n currentStory\n }) {\n if (this.storyStoreValue || await this.storeInitializationPromise, !this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"onUpdateGlobals\" });\n if (this.storyStoreValue.userGlobals.update(updatedGlobals), currentStory) {\n let { initialGlobals, storyGlobals, userGlobals, globals } = this.storyStoreValue.getStoryContext(currentStory);\n this.channel.emit(GLOBALS_UPDATED, {\n initialGlobals,\n userGlobals,\n storyGlobals,\n globals\n });\n } else {\n let { initialGlobals, globals } = this.storyStoreValue.userGlobals;\n this.channel.emit(GLOBALS_UPDATED, {\n initialGlobals,\n userGlobals: globals,\n storyGlobals: {},\n globals\n });\n }\n await Promise.all(this.storyRenders.map((r) => r.rerender()));\n }\n async onUpdateArgs({ storyId, updatedArgs }) {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"onUpdateArgs\" });\n this.storyStoreValue.args.update(storyId, updatedArgs), await Promise.all(\n this.storyRenders.filter((r) => r.id === storyId && !r.renderOptions.forceInitialArgs).map(\n (r) => (\n // We only run the play function, with in a force remount.\n // But when mount is destructured, the rendering happens inside of the play function.\n r.story && r.story.usesMount ? r.remount() : r.rerender()\n )\n )\n ), this.channel.emit(STORY_ARGS_UPDATED, {\n storyId,\n args: this.storyStoreValue.args.get(storyId)\n });\n }\n async onRequestArgTypesInfo({ id, payload }) {\n try {\n await this.storeInitializationPromise;\n let story = await this.storyStoreValue?.loadStory(payload);\n this.channel.emit(ARGTYPES_INFO_RESPONSE, {\n id,\n success: !0,\n payload: { argTypes: story?.argTypes || {} },\n error: null\n });\n } catch (e) {\n this.channel.emit(ARGTYPES_INFO_RESPONSE, {\n id,\n success: !1,\n error: e?.message\n });\n }\n }\n async onResetArgs({ storyId, argNames }) {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"onResetArgs\" });\n let story = this.storyRenders.find((r) => r.id === storyId)?.story || await this.storyStoreValue.loadStory({ storyId }), updatedArgs = (argNames || [\n .../* @__PURE__ */ new Set([\n ...Object.keys(story.initialArgs),\n ...Object.keys(this.storyStoreValue.args.get(storyId))\n ])\n ]).reduce((acc, argName) => (acc[argName] = story.initialArgs[argName], acc), {});\n await this.onUpdateArgs({ storyId, updatedArgs });\n }\n // ForceReRender does not include a story id, so we simply must\n // re-render all stories in case they are relevant\n async onForceReRender() {\n await Promise.all(this.storyRenders.map((r) => r.rerender()));\n }\n async onForceRemount({ storyId }) {\n await Promise.all(this.storyRenders.filter((r) => r.id === storyId).map((r) => r.remount()));\n }\n async onStoryHotUpdated() {\n await Promise.all(this.storyRenders.map((r) => r.cancelPlayFunction()));\n }\n // Used by docs to render a story to a given element\n // Note this short-circuits the `prepare()` phase of the StoryRender,\n // main to be consistent with the previous behaviour. In the future,\n // we will change it to go ahead and load the story, which will end up being\n // \"instant\", although async.\n renderStoryToElement(story, element, callbacks, options) {\n if (!this.renderToCanvas || !this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({\n methodName: \"renderStoryToElement\"\n });\n let render = new StoryRender(\n this.channel,\n this.storyStoreValue,\n this.renderToCanvas,\n callbacks,\n story.id,\n \"docs\",\n options,\n story\n );\n return render.renderToElement(element), this.storyRenders.push(render), async () => {\n await this.teardownRender(render);\n };\n }\n async teardownRender(render, { viewModeChanged } = {}) {\n this.storyRenders = this.storyRenders.filter((r) => r !== render), await render?.teardown?.({ viewModeChanged });\n }\n // API\n async loadStory({ storyId }) {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"loadStory\" });\n return this.storyStoreValue.loadStory({ storyId });\n }\n getStoryContext(story, { forceInitialArgs = !1 } = {}) {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"getStoryContext\" });\n return this.storyStoreValue.getStoryContext(story, { forceInitialArgs });\n }\n async extract(options) {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError({ methodName: \"extract\" });\n if (this.previewEntryError)\n throw this.previewEntryError;\n return await this.storyStoreValue.cacheAllCSFFiles(), this.storyStoreValue.extract(options);\n }\n // UTILITIES\n renderPreviewEntryError(reason, err) {\n this.previewEntryError = err, logger7.error(reason), logger7.error(err), this.channel.emit(CONFIG_ERROR, err);\n }\n};\n\n// src/preview-api/modules/preview-web/PreviewWeb.tsx\nimport { global as global8 } from \"@storybook/global\";\n\n// src/preview-api/modules/preview-web/PreviewWithSelection.tsx\nimport { logger as logger8 } from \"storybook/internal/client-logger\";\nimport {\n CURRENT_STORY_WAS_SET,\n DOCS_PREPARED,\n GLOBALS_UPDATED as GLOBALS_UPDATED2,\n PRELOAD_ENTRIES,\n PREVIEW_KEYDOWN,\n SET_CURRENT_STORY,\n STORY_CHANGED,\n STORY_ERRORED,\n STORY_MISSING,\n STORY_PREPARED,\n STORY_RENDER_PHASE_CHANGED as STORY_RENDER_PHASE_CHANGED2,\n STORY_SPECIFIED,\n STORY_THREW_EXCEPTION,\n STORY_UNCHANGED,\n UPDATE_QUERY_PARAMS\n} from \"storybook/internal/core-events\";\nimport {\n CalledPreviewMethodBeforeInitializationError as CalledPreviewMethodBeforeInitializationError2,\n EmptyIndexError,\n MdxFileWithNoCsfReferencesError,\n NoStoryMatchError\n} from \"storybook/internal/preview-errors\";\n\n// src/preview-api/modules/preview-web/render/CsfDocsRender.ts\nimport { DOCS_RENDERED } from \"storybook/internal/core-events\";\n\n// src/preview-api/modules/preview-web/docs-context/DocsContext.ts\nimport { isStory as isStory3 } from \"storybook/internal/csf\";\nvar DocsContext = class {\n constructor(channel, store, renderStoryToElement, csfFiles) {\n this.channel = channel;\n this.store = store;\n this.renderStoryToElement = renderStoryToElement;\n this.storyIdByName = (storyName) => {\n let storyId = this.nameToStoryId.get(storyName);\n if (storyId)\n return storyId;\n throw new Error(`No story found with that name: ${storyName}`);\n };\n this.componentStories = () => this.componentStoriesValue;\n this.componentStoriesFromCSFFile = (csfFile) => this.store.componentStoriesFromCSFFile({ csfFile });\n this.storyById = (storyId) => {\n if (!storyId) {\n if (!this.primaryStory)\n throw new Error(\n \"No primary story defined for docs entry. Did you forget to use `<Meta>`?\"\n );\n return this.primaryStory;\n }\n let csfFile = this.storyIdToCSFFile.get(storyId);\n if (!csfFile)\n throw new Error(`Called \\`storyById\\` for story that was never loaded: ${storyId}`);\n return this.store.storyFromCSFFile({ storyId, csfFile });\n };\n this.getStoryContext = (story) => ({\n ...this.store.getStoryContext(story),\n loaded: {},\n viewMode: \"docs\"\n });\n this.loadStory = (id) => this.store.loadStory({ storyId: id });\n this.componentStoriesValue = [], this.storyIdToCSFFile = /* @__PURE__ */ new Map(), this.exportToStory = /* @__PURE__ */ new Map(), this.exportsToCSFFile = /* @__PURE__ */ new Map(), this.nameToStoryId = /* @__PURE__ */ new Map(), this.attachedCSFFiles = /* @__PURE__ */ new Set(), csfFiles.forEach((csfFile, index) => {\n this.referenceCSFFile(csfFile);\n });\n }\n // This docs entry references this CSF file and can synchronously load the stories, as well\n // as reference them by module export. If the CSF is part of the \"component\" stories, they\n // can also be referenced by name and are in the componentStories list.\n referenceCSFFile(csfFile) {\n this.exportsToCSFFile.set(csfFile.moduleExports, csfFile), this.exportsToCSFFile.set(csfFile.moduleExports.default, csfFile), this.store.componentStoriesFromCSFFile({ csfFile }).forEach((story) => {\n let annotation = csfFile.stories[story.id];\n this.storyIdToCSFFile.set(annotation.id, csfFile), this.exportToStory.set(annotation.moduleExport, story);\n });\n }\n attachCSFFile(csfFile) {\n if (!this.exportsToCSFFile.has(csfFile.moduleExports))\n throw new Error(\"Cannot attach a CSF file that has not been referenced\");\n if (this.attachedCSFFiles.has(csfFile))\n return;\n this.attachedCSFFiles.add(csfFile), this.store.componentStoriesFromCSFFile({ csfFile }).forEach((story) => {\n this.nameToStoryId.set(story.name, story.id), this.componentStoriesValue.push(story), this.primaryStory || (this.primaryStory = story);\n });\n }\n referenceMeta(metaExports, attach) {\n let resolved = this.resolveModuleExport(metaExports);\n if (resolved.type !== \"meta\")\n throw new Error(\n \"<Meta of={} /> must reference a CSF file module export or meta export. Did you mistakenly reference your component instead of your CSF file?\"\n );\n attach && this.attachCSFFile(resolved.csfFile);\n }\n get projectAnnotations() {\n let { projectAnnotations } = this.store;\n if (!projectAnnotations)\n throw new Error(\"Can't get projectAnnotations from DocsContext before they are initialized\");\n return projectAnnotations;\n }\n resolveAttachedModuleExportType(moduleExportType) {\n if (moduleExportType === \"story\") {\n if (!this.primaryStory)\n throw new Error(\n \"No primary story attached to this docs file, did you forget to use <Meta of={} />?\"\n );\n return { type: \"story\", story: this.primaryStory };\n }\n if (this.attachedCSFFiles.size === 0)\n throw new Error(\n \"No CSF file attached to this docs file, did you forget to use <Meta of={} />?\"\n );\n let firstAttachedCSFFile = Array.from(this.attachedCSFFiles)[0];\n if (moduleExportType === \"meta\")\n return { type: \"meta\", csfFile: firstAttachedCSFFile };\n let { component } = firstAttachedCSFFile.meta;\n if (!component)\n throw new Error(\n \"Attached CSF file does not defined a component, did you forget to export one?\"\n );\n return { type: \"component\", component };\n }\n resolveModuleExport(moduleExportOrType) {\n let csfFile = this.exportsToCSFFile.get(moduleExportOrType);\n if (!csfFile && moduleExportOrType && typeof moduleExportOrType == \"object\" && \"default\" in moduleExportOrType && (csfFile = this.exportsToCSFFile.get(moduleExportOrType.default)), csfFile)\n return { type: \"meta\", csfFile };\n let story = this.exportToStory.get(\n isStory3(moduleExportOrType) ? moduleExportOrType.input : moduleExportOrType\n );\n return story ? { type: \"story\", story } : { type: \"component\", component: moduleExportOrType };\n }\n resolveOf(moduleExportOrType, validTypes = []) {\n let resolved;\n if ([\"component\", \"meta\", \"story\"].includes(moduleExportOrType)) {\n let type = moduleExportOrType;\n resolved = this.resolveAttachedModuleExportType(type);\n } else\n resolved = this.resolveModuleExport(moduleExportOrType);\n if (validTypes.length && !validTypes.includes(resolved.type)) {\n let prettyType = resolved.type === \"component\" ? \"component or unknown\" : resolved.type;\n throw new Error(dedent`Invalid value passed to the 'of' prop. The value was resolved to a '${prettyType}' type but the only types for this block are: ${validTypes.join(\n \", \"\n )}.\n - Did you pass a component to the 'of' prop when the block only supports a story or a meta?\n - ... or vice versa?\n - Did you pass a story, CSF file or meta to the 'of' prop that is not indexed, ie. is not targeted by the 'stories' globs in the main configuration?`);\n }\n switch (resolved.type) {\n case \"component\":\n return {\n ...resolved,\n projectAnnotations: this.projectAnnotations\n };\n case \"meta\":\n return {\n ...resolved,\n preparedMeta: this.store.preparedMetaFromCSFFile({ csfFile: resolved.csfFile })\n };\n case \"story\":\n default:\n return resolved;\n }\n }\n};\n\n// src/preview-api/modules/preview-web/render/CsfDocsRender.ts\nvar CsfDocsRender = class {\n constructor(channel, store, entry, callbacks) {\n this.channel = channel;\n this.store = store;\n this.entry = entry;\n this.callbacks = callbacks;\n this.type = \"docs\";\n this.subtype = \"csf\";\n this.torndown = !1;\n this.disableKeyListeners = !1;\n this.preparing = !1;\n this.id = entry.id, this.renderId = Date.now();\n }\n isPreparing() {\n return this.preparing;\n }\n async prepare() {\n this.preparing = !0;\n let { entryExports, csfFiles = [] } = await this.store.loadEntry(this.id);\n if (this.torndown)\n throw PREPARE_ABORTED;\n let { importPath, title } = this.entry, primaryCsfFile = this.store.processCSFFileWithCache(\n entryExports,\n importPath,\n title\n ), primaryStoryId = Object.keys(primaryCsfFile.stories)[0];\n this.story = this.store.storyFromCSFFile({ storyId: primaryStoryId, csfFile: primaryCsfFile }), this.csfFiles = [primaryCsfFile, ...csfFiles], this.preparing = !1;\n }\n isEqual(other) {\n return !!(this.id === other.id && this.story && this.story === other.story);\n }\n docsContext(renderStoryToElement) {\n if (!this.csfFiles)\n throw new Error(\"Cannot render docs before preparing\");\n let docsContext = new DocsContext(\n this.channel,\n this.store,\n renderStoryToElement,\n this.csfFiles\n );\n return this.csfFiles.forEach((csfFile) => docsContext.attachCSFFile(csfFile)), docsContext;\n }\n async renderToElement(canvasElement, renderStoryToElement) {\n if (!this.story || !this.csfFiles)\n throw new Error(\"Cannot render docs before preparing\");\n let docsContext = this.docsContext(renderStoryToElement), { docs: docsParameter } = this.story.parameters || {};\n if (!docsParameter)\n throw new Error(\n \"Cannot render a story in viewMode=docs if `@storybook/addon-docs` is not installed\"\n );\n let renderer = await docsParameter.renderer(), { render } = renderer, renderDocs = async () => {\n try {\n await render(docsContext, docsParameter, canvasElement), this.channel.emit(DOCS_RENDERED, this.id);\n } catch (err) {\n this.callbacks.showException(err);\n }\n };\n return this.rerender = async () => renderDocs(), this.teardownRender = async ({ viewModeChanged }) => {\n !viewModeChanged || !canvasElement || renderer.unmount(canvasElement);\n }, renderDocs();\n }\n async teardown({ viewModeChanged } = {}) {\n this.teardownRender?.({ viewModeChanged }), this.torndown = !0;\n }\n};\n\n// src/preview-api/modules/preview-web/render/MdxDocsRender.ts\nimport { DOCS_RENDERED as DOCS_RENDERED2 } from \"storybook/internal/core-events\";\nvar MdxDocsRender = class {\n constructor(channel, store, entry, callbacks) {\n this.channel = channel;\n this.store = store;\n this.entry = entry;\n this.callbacks = callbacks;\n this.type = \"docs\";\n this.subtype = \"mdx\";\n this.torndown = !1;\n this.disableKeyListeners = !1;\n this.preparing = !1;\n this.id = entry.id, this.renderId = Date.now();\n }\n isPreparing() {\n return this.preparing;\n }\n async prepare() {\n this.preparing = !0;\n let { entryExports, csfFiles = [] } = await this.store.loadEntry(this.id);\n if (this.torndown)\n throw PREPARE_ABORTED;\n this.csfFiles = csfFiles, this.exports = entryExports, this.preparing = !1;\n }\n isEqual(other) {\n return !!(this.id === other.id && this.exports && this.exports === other.exports);\n }\n docsContext(renderStoryToElement) {\n if (!this.csfFiles)\n throw new Error(\"Cannot render docs before preparing\");\n return new DocsContext(\n this.channel,\n this.store,\n renderStoryToElement,\n this.csfFiles\n );\n }\n async renderToElement(canvasElement, renderStoryToElement) {\n if (!this.exports || !this.csfFiles || !this.store.projectAnnotations)\n throw new Error(\"Cannot render docs before preparing\");\n let docsContext = this.docsContext(renderStoryToElement), { docs } = this.store.projectAnnotations.parameters ?? {};\n if (!docs)\n throw new Error(\n \"Cannot render a story in viewMode=docs if `@storybook/addon-docs` is not installed\"\n );\n let docsParameter = { ...docs, page: this.exports.default }, renderer = await docs.renderer(), { render } = renderer, renderDocs = async () => {\n try {\n await render(docsContext, docsParameter, canvasElement), this.channel.emit(DOCS_RENDERED2, this.id);\n } catch (err) {\n this.callbacks.showException(err);\n }\n };\n return this.rerender = async () => renderDocs(), this.teardownRender = async ({ viewModeChanged } = {}) => {\n !viewModeChanged || !canvasElement || (renderer.unmount(canvasElement), this.torndown = !0);\n }, renderDocs();\n }\n async teardown({ viewModeChanged } = {}) {\n this.teardownRender?.({ viewModeChanged }), this.torndown = !0;\n }\n};\n\n// src/preview-api/modules/preview-web/PreviewWithSelection.tsx\nvar globalWindow = globalThis;\nfunction focusInInput(event) {\n let target = event.composedPath && event.composedPath()[0] || event.target;\n return /input|textarea/i.test(target.tagName) || target.getAttribute(\"contenteditable\") !== null;\n}\nfunction isMdxEntry({ tags }) {\n return tags?.includes(Tag.UNATTACHED_MDX) || tags?.includes(Tag.ATTACHED_MDX);\n}\nfunction isStoryRender(r) {\n return r.type === \"story\";\n}\nfunction isDocsRender(r) {\n return r.type === \"docs\";\n}\nfunction isCsfDocsRender(r) {\n return isDocsRender(r) && r.subtype === \"csf\";\n}\nvar PreviewWithSelection = class extends Preview {\n constructor(importFn, getProjectAnnotations, selectionStore, view) {\n super(importFn, getProjectAnnotations, void 0, !1);\n this.importFn = importFn;\n this.getProjectAnnotations = getProjectAnnotations;\n this.selectionStore = selectionStore;\n this.view = view;\n this.initialize();\n }\n setupListeners() {\n super.setupListeners(), globalWindow.onkeydown = this.onKeydown.bind(this), this.channel.on(SET_CURRENT_STORY, this.onSetCurrentStory.bind(this)), this.channel.on(UPDATE_QUERY_PARAMS, this.onUpdateQueryParams.bind(this)), this.channel.on(PRELOAD_ENTRIES, this.onPreloadStories.bind(this));\n }\n async setInitialGlobals() {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError2({ methodName: \"setInitialGlobals\" });\n let { globals } = this.selectionStore.selectionSpecifier || {};\n globals && this.storyStoreValue.userGlobals.updateFromPersisted(globals), this.emitGlobals();\n }\n // If initialization gets as far as the story index, this function runs.\n async initializeWithStoryIndex(storyIndex) {\n return await super.initializeWithStoryIndex(storyIndex), this.selectSpecifiedStory();\n }\n // Use the selection specifier to choose a story, then render it\n async selectSpecifiedStory() {\n if (!this.storyStoreValue)\n throw new CalledPreviewMethodBeforeInitializationError2({\n methodName: \"selectSpecifiedStory\"\n });\n if (this.selectionStore.selection) {\n await this.renderSelection();\n return;\n }\n if (!this.selectionStore.selectionSpecifier) {\n this.renderMissingStory();\n return;\n }\n let { storySpecifier, args } = this.selectionStore.selectionSpecifier, entry = this.storyStoreValue.storyIndex.entryFromSpecifier(storySpecifier);\n if (!entry) {\n storySpecifier === \"*\" ? this.renderStoryLoadingException(storySpecifier, new EmptyIndexError()) : this.renderStoryLoadingException(\n storySpecifier,\n new NoStoryMatchError({ storySpecifier: storySpecifier.toString() })\n );\n return;\n }\n let { id: storyId, type: viewMode } = entry;\n this.selectionStore.setSelection({ storyId, viewMode }), this.channel.emit(STORY_SPECIFIED, this.selectionStore.selection), this.channel.emit(CURRENT_STORY_WAS_SET, this.selectionStore.selection), await this.renderSelection({ persistedArgs: args });\n }\n // EVENT HANDLERS\n // This happens when a config file gets reloaded\n async onGetProjectAnnotationsChanged({\n getProjectAnnotations\n }) {\n await super.onGetProjectAnnotationsChanged({ getProjectAnnotations }), this.selectionStore.selection && this.renderSelection();\n }\n // This happens when a glob gets HMR-ed\n async onStoriesChanged({\n importFn,\n storyIndex\n }) {\n await super.onStoriesChanged({ importFn, storyIndex }), this.selectionStore.selection ? await this.renderSelection() : await this.selectSpecifiedStory();\n }\n onKeydown(event) {\n if (!this.storyRenders.find((r) => r.disableKeyListeners) && !focusInInput(event)) {\n let { altKey, ctrlKey, metaKey, shiftKey, key, code, keyCode } = event;\n this.channel.emit(PREVIEW_KEYDOWN, {\n event: { altKey, ctrlKey, metaKey, shiftKey, key, code, keyCode }\n });\n }\n }\n async onSetCurrentStory(selection) {\n this.selectionStore.setSelection({ viewMode: \"story\", ...selection }), await this.storeInitializationPromise, this.channel.emit(CURRENT_STORY_WAS_SET, this.selectionStore.selection), this.renderSelection();\n }\n onUpdateQueryParams(queryParams) {\n this.selectionStore.setQueryParams(queryParams);\n }\n async onUpdateGlobals({ globals }) {\n let currentStory = this.currentRender instanceof StoryRender && this.currentRender.story || void 0;\n super.onUpdateGlobals({ globals, currentStory }), (this.currentRender instanceof MdxDocsRender || this.currentRender instanceof CsfDocsRender) && await this.currentRender.rerender?.();\n }\n async onUpdateArgs({ storyId, updatedArgs }) {\n super.onUpdateArgs({ storyId, updatedArgs });\n }\n async onPreloadStories({ ids }) {\n await this.storeInitializationPromise, this.storyStoreValue && await Promise.allSettled(ids.map((id) => this.storyStoreValue?.loadEntry(id)));\n }\n // RENDERING\n // We can either have:\n // - a story selected in \"story\" viewMode,\n // in which case we render it to the root element, OR\n // - a story selected in \"docs\" viewMode,\n // in which case we render the docsPage for that story\n async renderSelection({ persistedArgs } = {}) {\n let { renderToCanvas } = this;\n if (!this.storyStoreValue || !renderToCanvas)\n throw new CalledPreviewMethodBeforeInitializationError2({ methodName: \"renderSelection\" });\n let { selection } = this.selectionStore;\n if (!selection)\n throw new Error(\"Cannot call renderSelection as no selection was made\");\n let { storyId } = selection, entry;\n try {\n entry = await this.storyStoreValue.storyIdToEntry(storyId);\n } catch (err) {\n this.currentRender && await this.teardownRender(this.currentRender), this.renderStoryLoadingException(storyId, err);\n return;\n }\n let storyIdChanged = this.currentSelection?.storyId !== storyId, viewModeChanged = this.currentRender?.type !== entry.type;\n entry.type === \"story\" ? this.view.showPreparingStory({ immediate: viewModeChanged }) : this.view.showPreparingDocs({ immediate: viewModeChanged }), this.currentRender?.isPreparing() && await this.teardownRender(this.currentRender);\n let render;\n entry.type === \"story\" ? render = new StoryRender(\n this.channel,\n this.storyStoreValue,\n renderToCanvas,\n this.mainStoryCallbacks(storyId),\n storyId,\n \"story\"\n ) : isMdxEntry(entry) ? render = new MdxDocsRender(\n this.channel,\n this.storyStoreValue,\n entry,\n this.mainStoryCallbacks(storyId)\n ) : render = new CsfDocsRender(\n this.channel,\n this.storyStoreValue,\n entry,\n this.mainStoryCallbacks(storyId)\n );\n let lastSelection = this.currentSelection;\n this.currentSelection = selection;\n let lastRender = this.currentRender;\n this.currentRender = render;\n try {\n await render.prepare();\n } catch (err) {\n lastRender && await this.teardownRender(lastRender), err !== PREPARE_ABORTED && this.renderStoryLoadingException(storyId, err);\n return;\n }\n let implementationChanged = !storyIdChanged && lastRender && !render.isEqual(lastRender);\n if (persistedArgs && isStoryRender(render) && (invariant(!!render.story), this.storyStoreValue.args.updateFromPersisted(render.story, persistedArgs)), lastRender && !lastRender.torndown && !storyIdChanged && !implementationChanged && !viewModeChanged) {\n this.currentRender = lastRender, this.channel.emit(STORY_UNCHANGED, storyId), this.view.showMain();\n return;\n }\n if (lastRender && await this.teardownRender(lastRender, { viewModeChanged }), lastSelection && (storyIdChanged || viewModeChanged) && this.channel.emit(STORY_CHANGED, storyId), isStoryRender(render)) {\n invariant(!!render.story);\n let {\n parameters,\n initialArgs,\n argTypes,\n unmappedArgs,\n initialGlobals,\n userGlobals,\n storyGlobals,\n globals\n } = this.storyStoreValue.getStoryContext(render.story);\n this.channel.emit(STORY_PREPARED, {\n id: storyId,\n parameters,\n initialArgs,\n argTypes,\n args: unmappedArgs\n }), this.channel.emit(GLOBALS_UPDATED2, { userGlobals, storyGlobals, globals, initialGlobals });\n } else {\n let { parameters } = this.storyStoreValue.projectAnnotations, { initialGlobals, globals } = this.storyStoreValue.userGlobals;\n if (this.channel.emit(GLOBALS_UPDATED2, {\n globals,\n initialGlobals,\n storyGlobals: {},\n userGlobals: globals\n }), isCsfDocsRender(render) || render.entry.tags?.includes(Tag.ATTACHED_MDX)) {\n if (!render.csfFiles)\n throw new MdxFileWithNoCsfReferencesError({ storyId });\n ({ parameters } = this.storyStoreValue.preparedMetaFromCSFFile({\n csfFile: render.csfFiles[0]\n }));\n }\n this.channel.emit(DOCS_PREPARED, {\n id: storyId,\n parameters\n });\n }\n isStoryRender(render) ? (invariant(!!render.story), this.storyRenders.push(render), this.currentRender.renderToElement(\n this.view.prepareForStory(render.story)\n )) : this.currentRender.renderToElement(\n this.view.prepareForDocs(),\n // This argument is used for docs, which is currently only compatible with HTMLElements\n this.renderStoryToElement.bind(this)\n );\n }\n async teardownRender(render, { viewModeChanged = !1 } = {}) {\n this.storyRenders = this.storyRenders.filter((r) => r !== render), await render?.teardown?.({ viewModeChanged });\n }\n // UTILITIES\n mainStoryCallbacks(storyId) {\n return {\n showStoryDuringRender: () => this.view.showStoryDuringRender(),\n showMain: () => this.view.showMain(),\n showError: (err) => this.renderError(storyId, err),\n showException: (err) => this.renderException(storyId, err)\n };\n }\n renderPreviewEntryError(reason, err) {\n super.renderPreviewEntryError(reason, err), this.view.showErrorDisplay(err);\n }\n renderMissingStory() {\n this.view.showNoPreview(), this.channel.emit(STORY_MISSING);\n }\n renderStoryLoadingException(storySpecifier, err) {\n logger8.error(err), this.view.showErrorDisplay(err), this.channel.emit(STORY_MISSING, storySpecifier);\n }\n // renderException is used if we fail to render the story and it is uncaught by the app layer\n renderException(storyId, error) {\n let { name = \"Error\", message = String(error), stack } = error, renderId = this.currentRender?.renderId;\n this.channel.emit(STORY_THREW_EXCEPTION, { name, message, stack }), this.channel.emit(STORY_RENDER_PHASE_CHANGED2, { newPhase: \"errored\", renderId, storyId }), this.view.showErrorDisplay(error), logger8.error(`Error rendering story '${storyId}':`), logger8.error(error);\n }\n // renderError is used by the various app layers to inform the user they have done something\n // wrong -- for instance returned the wrong thing from a story\n renderError(storyId, { title, description }) {\n let renderId = this.currentRender?.renderId;\n this.channel.emit(STORY_ERRORED, { title, description }), this.channel.emit(STORY_RENDER_PHASE_CHANGED2, { newPhase: \"errored\", renderId, storyId }), this.view.showErrorDisplay({ message: title, stack: description }), logger8.error(`Error rendering story ${title}: ${description}`);\n }\n};\n\n// src/preview-api/modules/preview-web/UrlStore.ts\nvar import_picoquery2 = __toESM(require_main(), 1);\nimport { global as global6 } from \"@storybook/global\";\n\n// src/preview-api/modules/preview-web/parseArgsParam.ts\nimport { once as once3 } from \"storybook/internal/client-logger\";\nvar import_picoquery = __toESM(require_main(), 1);\nvar VALIDATION_REGEXP = /^[a-zA-Z0-9 _-]*$/, NUMBER_REGEXP = /^-?[0-9]+(\\.[0-9]+)?$/, HEX_REGEXP = /^#([a-f0-9]{3,4}|[a-f0-9]{6}|[a-f0-9]{8})$/i, COLOR_REGEXP = /^(rgba?|hsla?)\\(([0-9]{1,3}),\\s?([0-9]{1,3})%?,\\s?([0-9]{1,3})%?,?\\s?([0-9](\\.[0-9]{1,2})?)?\\)$/i, validateArgs = (key = \"\", value) => key === null || key === \"\" || !VALIDATION_REGEXP.test(key) ? !1 : value == null || value instanceof Date || typeof value == \"number\" || typeof value == \"boolean\" ? !0 : typeof value == \"string\" ? VALIDATION_REGEXP.test(value) || NUMBER_REGEXP.test(value) || HEX_REGEXP.test(value) || COLOR_REGEXP.test(value) : Array.isArray(value) ? value.every((v) => validateArgs(key, v)) : isPlainObject(value) ? Object.entries(value).every(([k, v]) => validateArgs(k, v)) : !1, QUERY_OPTIONS = {\n delimiter: \";\",\n // we're parsing a single query param\n nesting: !0,\n arrayRepeat: !0,\n arrayRepeatSyntax: \"bracket\",\n nestingSyntax: \"js\",\n // objects are encoded using dot notation\n valueDeserializer(str) {\n if (str.startsWith(\"!\")) {\n if (str === \"!undefined\")\n return;\n if (str === \"!null\")\n return null;\n if (str === \"!true\")\n return !0;\n if (str === \"!false\")\n return !1;\n if (str.startsWith(\"!date(\") && str.endsWith(\")\"))\n return new Date(str.replaceAll(\" \", \"+\").slice(6, -1));\n if (str.startsWith(\"!hex(\") && str.endsWith(\")\"))\n return `#${str.slice(5, -1)}`;\n let color = str.slice(1).match(COLOR_REGEXP);\n if (color)\n return str.startsWith(\"!rgba\") || str.startsWith(\"!RGBA\") ? `${color[1]}(${color[2]}, ${color[3]}, ${color[4]}, ${color[5]})` : str.startsWith(\"!hsla\") || str.startsWith(\"!HSLA\") ? `${color[1]}(${color[2]}, ${color[3]}%, ${color[4]}%, ${color[5]})` : str.startsWith(\"!rgb\") || str.startsWith(\"!RGB\") ? `${color[1]}(${color[2]}, ${color[3]}, ${color[4]})` : `${color[1]}(${color[2]}, ${color[3]}%, ${color[4]}%)`;\n }\n return NUMBER_REGEXP.test(str) ? Number(str) : str;\n }\n}, parseArgsParam = (argsString) => {\n let parts = argsString.split(\";\").map((part) => part.replace(\"=\", \"~\").replace(\":\", \"=\"));\n return Object.entries((0, import_picoquery.parse)(parts.join(\";\"), QUERY_OPTIONS)).reduce((acc, [key, value]) => validateArgs(key, value) ? Object.assign(acc, { [key]: value }) : (once3.warn(dedent`\n Omitted potentially unsafe URL args.\n\n More info: https://storybook.js.org/docs/writing-stories/args?ref=error#setting-args-through-the-url\n `), acc), {});\n};\n\n// src/preview-api/modules/preview-web/UrlStore.ts\nvar { history, document: document2 } = global6;\nfunction pathToId(path) {\n let match = (path || \"\").match(/^\\/story\\/(.+)/);\n if (!match)\n throw new Error(`Invalid path '${path}', must start with '/story/'`);\n return match[1];\n}\nvar getQueryString = ({\n selection,\n extraParams\n}) => {\n let search = document2?.location.search.slice(1), { path, selectedKind, selectedStory, ...rest } = (0, import_picoquery2.parse)(search);\n return `?${(0, import_picoquery2.stringify)({\n ...rest,\n ...extraParams,\n ...selection && { id: selection.storyId, viewMode: selection.viewMode }\n })}`;\n}, setPath = (selection) => {\n if (!selection)\n return;\n let query = getQueryString({ selection }), { hash = \"\" } = document2.location;\n document2.title = selection.storyId, history.replaceState({}, \"\", `${document2.location.pathname}${query}${hash}`);\n}, isObject = (val) => val != null && typeof val == \"object\" && Array.isArray(val) === !1, getFirstString = (v) => {\n if (v !== void 0) {\n if (typeof v == \"string\")\n return v;\n if (Array.isArray(v))\n return getFirstString(v[0]);\n if (isObject(v))\n return getFirstString(\n Object.values(v).filter(Boolean)\n );\n }\n}, getSelectionSpecifierFromPath = () => {\n if (typeof document2 < \"u\") {\n let queryStr = document2.location.search.slice(1), query = (0, import_picoquery2.parse)(queryStr), args = typeof query.args == \"string\" ? parseArgsParam(query.args) : void 0, globals = typeof query.globals == \"string\" ? parseArgsParam(query.globals) : void 0, viewMode = getFirstString(query.viewMode);\n if (typeof viewMode != \"string\" || !viewMode)\n viewMode = \"story\";\n else if (!viewMode.match(/docs|story/))\n return null;\n let path = getFirstString(query.path), storyId = path ? pathToId(path) : getFirstString(query.id);\n if (storyId)\n return { storySpecifier: storyId, args, globals, viewMode };\n }\n return null;\n}, UrlStore = class {\n constructor() {\n this.selectionSpecifier = getSelectionSpecifierFromPath();\n }\n setSelection(selection) {\n this.selection = selection, setPath(this.selection);\n }\n setQueryParams(queryParams) {\n let query = getQueryString({ extraParams: queryParams }), { hash = \"\" } = document2.location;\n history.replaceState({}, \"\", `${document2.location.pathname}${query}${hash}`);\n }\n};\n\n// src/preview-api/modules/preview-web/WebView.ts\nvar import_ansi_to_html = __toESM(require_ansi_to_html(), 1), import_picoquery3 = __toESM(require_main(), 1);\nimport { logger as logger9 } from \"storybook/internal/client-logger\";\nimport { global as global7 } from \"@storybook/global\";\nvar { document: document3 } = global7, PREPARING_DELAY = 100, Mode = /* @__PURE__ */ ((Mode2) => (Mode2.MAIN = \"MAIN\", Mode2.NOPREVIEW = \"NOPREVIEW\", Mode2.PREPARING_STORY = \"PREPARING_STORY\", Mode2.PREPARING_DOCS = \"PREPARING_DOCS\", Mode2.ERROR = \"ERROR\", Mode2))(Mode || {}), classes = {\n PREPARING_STORY: \"sb-show-preparing-story\",\n PREPARING_DOCS: \"sb-show-preparing-docs\",\n MAIN: \"sb-show-main\",\n NOPREVIEW: \"sb-show-nopreview\",\n ERROR: \"sb-show-errordisplay\"\n}, layoutClassMap = {\n centered: \"sb-main-centered\",\n fullscreen: \"sb-main-fullscreen\",\n padded: \"sb-main-padded\"\n}, ansiConverter = new import_ansi_to_html.default({\n escapeXML: !0\n}), WebView = class {\n constructor() {\n this.testing = !1;\n if (typeof document3 < \"u\") {\n let { __SPECIAL_TEST_PARAMETER__ } = (0, import_picoquery3.parse)(document3.location.search.slice(1));\n switch (__SPECIAL_TEST_PARAMETER__) {\n case \"preparing-story\": {\n this.showPreparingStory(), this.testing = !0;\n break;\n }\n case \"preparing-docs\": {\n this.showPreparingDocs(), this.testing = !0;\n break;\n }\n default:\n }\n }\n }\n // Get ready to render a story, returning the element to render to\n prepareForStory(story) {\n return this.showStory(), this.applyLayout(story.parameters.layout), document3.documentElement.scrollTop = 0, document3.documentElement.scrollLeft = 0, this.storyRoot();\n }\n storyRoot() {\n return document3.getElementById(\"storybook-root\");\n }\n prepareForDocs() {\n return this.showMain(), this.showDocs(), this.applyLayout(\"fullscreen\"), document3.documentElement.scrollTop = 0, document3.documentElement.scrollLeft = 0, this.docsRoot();\n }\n docsRoot() {\n return document3.getElementById(\"storybook-docs\");\n }\n applyLayout(layout = \"padded\") {\n if (layout === \"none\") {\n document3.body.classList.remove(this.currentLayoutClass), this.currentLayoutClass = null;\n return;\n }\n this.checkIfLayoutExists(layout);\n let layoutClass = layoutClassMap[layout];\n document3.body.classList.remove(this.currentLayoutClass), document3.body.classList.add(layoutClass), this.currentLayoutClass = layoutClass;\n }\n checkIfLayoutExists(layout) {\n layoutClassMap[layout] || logger9.warn(\n dedent`\n The desired layout: ${layout} is not a valid option.\n The possible options are: ${Object.keys(layoutClassMap).join(\", \")}, none.\n `\n );\n }\n showMode(mode) {\n clearTimeout(this.preparingTimeout), Object.keys(Mode).forEach((otherMode) => {\n otherMode === mode ? document3.body.classList.add(classes[otherMode]) : document3.body.classList.remove(classes[otherMode]);\n });\n }\n showErrorDisplay({ message = \"\", stack = \"\" }) {\n let header = message, detail = stack, parts = message.split(`\n`);\n parts.length > 1 && ([header] = parts, detail = parts.slice(1).join(`\n`).replace(/^\\n/, \"\")), document3.getElementById(\"error-message\").innerHTML = ansiConverter.toHtml(header), document3.getElementById(\"error-stack\").innerHTML = ansiConverter.toHtml(detail), this.showMode(\"ERROR\" /* ERROR */);\n }\n showNoPreview() {\n this.testing || (this.showMode(\"NOPREVIEW\" /* NOPREVIEW */), this.storyRoot()?.setAttribute(\"hidden\", \"true\"), this.docsRoot()?.setAttribute(\"hidden\", \"true\"));\n }\n showPreparingStory({ immediate = !1 } = {}) {\n clearTimeout(this.preparingTimeout), immediate ? this.showMode(\"PREPARING_STORY\" /* PREPARING_STORY */) : this.preparingTimeout = setTimeout(\n () => this.showMode(\"PREPARING_STORY\" /* PREPARING_STORY */),\n PREPARING_DELAY\n );\n }\n showPreparingDocs({ immediate = !1 } = {}) {\n clearTimeout(this.preparingTimeout), immediate ? this.showMode(\"PREPARING_DOCS\" /* PREPARING_DOCS */) : this.preparingTimeout = setTimeout(() => this.showMode(\"PREPARING_DOCS\" /* PREPARING_DOCS */), PREPARING_DELAY);\n }\n showMain() {\n this.showMode(\"MAIN\" /* MAIN */);\n }\n showDocs() {\n this.storyRoot().setAttribute(\"hidden\", \"true\"), this.docsRoot().removeAttribute(\"hidden\");\n }\n showStory() {\n this.docsRoot().setAttribute(\"hidden\", \"true\"), this.storyRoot().removeAttribute(\"hidden\");\n }\n showStoryDuringRender() {\n document3.body.classList.add(classes.MAIN);\n }\n};\n\n// src/preview-api/modules/preview-web/PreviewWeb.tsx\nvar PreviewWeb = class extends PreviewWithSelection {\n constructor(importFn, getProjectAnnotations) {\n super(importFn, getProjectAnnotations, new UrlStore(), new WebView());\n this.importFn = importFn;\n this.getProjectAnnotations = getProjectAnnotations;\n global8.__STORYBOOK_PREVIEW__ = this;\n }\n};\n\n// src/preview-api/modules/preview-web/simulate-pageload.ts\nimport { global as global9 } from \"@storybook/global\";\nvar { document: document4 } = global9, runScriptTypes = [\n \"application/javascript\",\n \"application/ecmascript\",\n \"application/x-ecmascript\",\n \"application/x-javascript\",\n \"text/ecmascript\",\n \"text/javascript\",\n \"text/javascript1.0\",\n \"text/javascript1.1\",\n \"text/javascript1.2\",\n \"text/javascript1.3\",\n \"text/javascript1.4\",\n \"text/javascript1.5\",\n \"text/jscript\",\n \"text/livescript\",\n \"text/x-ecmascript\",\n \"text/x-javascript\",\n // Support modern javascript\n \"module\"\n], SCRIPT = \"script\", SCRIPTS_ROOT_ID = \"scripts-root\";\nfunction simulateDOMContentLoaded() {\n let DOMContentLoadedEvent = document4.createEvent(\"Event\");\n DOMContentLoadedEvent.initEvent(\"DOMContentLoaded\", !0, !0), document4.dispatchEvent(DOMContentLoadedEvent);\n}\nfunction insertScript($script, callback, $scriptRoot) {\n let scriptEl = document4.createElement(\"script\");\n scriptEl.type = $script.type === \"module\" ? \"module\" : \"text/javascript\", $script.src ? (scriptEl.onload = callback, scriptEl.onerror = callback, scriptEl.src = $script.src) : scriptEl.textContent = $script.innerText, $scriptRoot ? $scriptRoot.appendChild(scriptEl) : document4.head.appendChild(scriptEl), $script.parentNode.removeChild($script), $script.src || callback();\n}\nfunction insertScriptsSequentially(scriptsToExecute, callback, index = 0) {\n scriptsToExecute[index](() => {\n index++, index === scriptsToExecute.length ? callback() : insertScriptsSequentially(scriptsToExecute, callback, index);\n });\n}\nfunction simulatePageLoad($container) {\n let $scriptsRoot = document4.getElementById(SCRIPTS_ROOT_ID);\n $scriptsRoot ? $scriptsRoot.innerHTML = \"\" : ($scriptsRoot = document4.createElement(\"div\"), $scriptsRoot.id = SCRIPTS_ROOT_ID, document4.body.appendChild($scriptsRoot));\n let $scripts = Array.from($container.querySelectorAll(SCRIPT));\n if ($scripts.length) {\n let scriptsToExecute = [];\n $scripts.forEach(($script) => {\n let typeAttr = $script.getAttribute(\"type\");\n (!typeAttr || runScriptTypes.includes(typeAttr)) && scriptsToExecute.push((callback) => insertScript($script, callback, $scriptsRoot));\n }), scriptsToExecute.length && insertScriptsSequentially(scriptsToExecute, simulateDOMContentLoaded, void 0);\n } else\n simulateDOMContentLoaded();\n}\n\n// src/preview-api/modules/preview-web/emitTransformCode.ts\nasync function emitTransformCode(source, context) {\n let transform = context.parameters?.docs?.source?.transform, { id, unmappedArgs } = context, transformed = transform && source ? transform?.(source, context) : source, result = transformed ? await transformed : void 0;\n addons.getChannel().emit(SNIPPET_RENDERED, {\n id,\n source: result,\n args: unmappedArgs\n });\n}\n\nexport {\n mockChannel,\n addons,\n HooksContext,\n applyHooks,\n useMemo,\n useCallback,\n useRef,\n useState,\n useReducer,\n useEffect,\n useChannel,\n useStoryContext,\n useParameter,\n useArgs,\n useGlobals,\n makeDecorator,\n combineArgs,\n normalizeArrays,\n normalizeStory,\n mountDestructured,\n decorateStory,\n sanitizeStoryContextUpdate,\n defaultDecorateStory,\n prepareStory,\n prepareMeta,\n filterArgTypes,\n inferControls,\n normalizeProjectAnnotations,\n composeStepRunners,\n composeConfigs,\n ReporterAPI,\n getCsfFactoryAnnotations,\n setDefaultProjectAnnotations,\n setProjectAnnotations,\n composeStory,\n composeStories,\n createPlaywrightTest,\n StoryStore,\n userOrAutoTitleFromSpecifier,\n userOrAutoTitle,\n sortStoriesV7,\n Preview,\n DocsContext,\n PreviewWithSelection,\n UrlStore,\n WebView,\n PreviewWeb,\n simulateDOMContentLoaded,\n simulatePageLoad,\n emitTransformCode\n};\n"],"names":["require_string_util","__commonJS","exports","encodeString","hexTable","_","noEscape","str","len","out","lastPos","i","outer","c","c2","require_shared","string_util_js_1","defaultValueSerializer","value","defaultShouldSerializeObject","val","identityFunc","v","require_object_util","getDeepObject","stringifyObject","shared_js_1","isPrototypeKey","obj","key","nextKey","forceObject","forceArray","currObj","MAX_DEPTH","strBracketPair","strBracketLeft","strBracketRight","strDot","options","depth","parentKey","isProbableArray","nestingSyntax","arrayRepeat","arrayRepeatSyntax","nesting","delimiter","valueSerializer","shouldSerializeObject","strDelimiter","useArrayRepeatKey","shouldUseDot","result","firstKey","valueIsProbableArray","path","require_decode_uri_component","decodeURIComponent","UTF8_ACCEPT","UTF8_REJECT","UTF8_DATA","uri","percentPosition","length","decoded","last","codepoint","startOfOctets","state","high","hexCodeToInt","low","byte","type","HEX","shift","require_parse","parse","object_util_js_1","decode_uri_component_js_1","numberKeyDeserializer","asNumber","numberValueDeserializer","regexPlus","Empty","computeKeySlice","input","startIndex","endIndex","keyHasPlus","shouldDecodeKey","chunk","valueDeserializer","keyDeserializer","charDelimiter","isJsNestingSyntax","inputLength","startingIndex","equalityIndex","keySeparatorIndex","currentObj","lastKey","currentKey","keyChunk","shouldDecodeValue","valueHasPlus","keyIsDot","hasBothKeyValuePair","arrayRepeatBracketIndex","prevIndex","prevChar","newValue","currentValue","require_stringify","stringify","optionsObj","require_main","__createBinding","o","m","k","k2","desc","__exportStar","exports2","p","parse_js_1","stringify_js_1","isPlainObject","proto","mapValues","object","getNewValue","keys","parseErrorCode","code","category","paddedCode","appendErrorRef","url","urlObj","StorybookError","_StorybookError","props","errorName","name","documentation","message","page","doc","ImplicitActionsDuringRendering","data","dedent","UnknownArgTypesError","require_dist","module","global","factory","tokenToString","token","NoParsletFoundError","EarlyEndOfParseError","UnexpectedTypeError","error","makePunctuationRule","text","getQuoted","position","char","mark","escaped","identifierStartRegex","identifierContinueRegex","getIdentifier","numberRegex","getNumber","_a","_b","identifierRule","makeKeyWordRule","prepends","stringValueRule","eofRule","numberRule","rules","breakingWhitespaceRegex","Lexer","current","next","previous","startOfLine","rule","partial","assertRootResult","assertPlainKeyValueOrRootResult","assertPlainKeyValueResult","assertPlainKeyValueOrNameResult","assertNumberOrVariadicNameResult","assertArrayOrTupleResult","isSquaredProperty","Precedence","Precedence2","Parser","grammar","textOrLexer","baseParser","precedence","left","parslet","types","parser","isQuestionMarkUnknownType","nullableParslet","composeParslet","curPrecedence","optionalParslet","numberParslet","parenthesisParslet","specialTypesParslet","notNullableParslet","createParameterListParslet","allowTrailingComma","elements","e","genericParslet","dot","objects","infer","left2","unionParslet","baseGrammar","createNamePathParslet","allowSquareBracketsOnAnyType","allowJsdocNamePaths","pathGrammar2","pathType","brackets","pathParser","parsed","right","createNameParslet","allowedAdditionalTokens","stringValueParslet","createSpecialNamePathParslet","allowedTypes","allowed","type2","moduleParser","moduleResult","basePathGrammar","pathGrammar","getParameters","parameters","getUnnamedParameters","createFunctionParslet","allowNamedParameters","allowNoReturnType","allowWithoutParenthesis","allowNewAsFunctionKeyword","newKeyword","hasParenthesis","createVariadicParslet","allowPostfix","allowEnclosingBrackets","element","symbolParslet","arrayBracketsParslet","createObjectParslet","objectFieldGrammar2","allowKeyTypes","separator","fieldParser","field","optional","quote2","createObjectFieldParslet","allowSquaredProperties","allowReadonly","allowOptional","readonlyProperty","parentParser","createKeyValueParslet","allowVariadic","variadic","jsdocBaseGrammar","jsdocGrammar","typeOfParslet","objectFieldGrammar$1","closureGrammar","assertsParslet","createTupleParslet","allowQuestionMark","typeList","keyOfParslet","importParslet","readonlyPropertyParslet","arrowFunctionParslet","genericArrowFunctionParslet","typeParameters","defaultValue","constraint","typeParameter","functionBase","intersectionParslet","predicateParslet","objectSquaredPropertyParslet","readonlyArrayParslet","conditionalParslet","extendsType","trueType","objectFieldGrammar","typescriptGrammar","parse3","expression","mode","tryParse","modes","transform","rules2","parseResult","aParseResult","notAvailableTransform","extractSpecialParams","source","param","applyPosition","target","quote","stringifyRules2","transform2","stringified","transformed","storedStringifyRules","stringify2","reservedWords","makeName","catharsisTransformRules","params","leftResult","rightValue","joiner","trailingDots","catharsisTransform","getQuoteStyle","getMemberType","nestResults","results","jtpRules","specialParams","entries","hasEventPrefix","quoteStyle","tModule","jtpTransform","identityTransformRules","visitorKeys","_traverse","node","parentNode","property","onEnter","onLeave","keysToVisit","traverse","isLiteral","toEnumOption","convertSig","values","prop","convert","raw","base","QUOTE_REGEX","trimQuotes","str2","includesQuotes","parseLiteral","trimmedValue","SIGNATURE_REGEXP","convert2","computed","values2","literalValues","otherVal","otherName","isLiteral2","isUndefined","convertSig2","convert3","UnknownArgTypesError2","nonUndefinedElements","literalElements","convert4","docgenInfo","tsType","flowType","err","TypeSystem","TypeSystem2","BLACKLIST","isDefaultValueBlacklisted","x","hasDocgen","component","isValidDocgenSection","docgenSection","getDocgenSection","section","getDocgenDescription","Markers","Markers2","isSpace","splitCR","matches","splitSpace","splitLines","seedSpec","spec","seedTokens","tokens","reTag","getParser","fence","fencer","getFencer","toggleFence","isFenced","sections","line","getParser2","startLine","markers","block","num","rest","isClosed","trimmed","getParser3","tokenizers","tokenize","tagTokenizer","match","typeTokenizer","spacing","join2","getJoiner","curlies","lines","ch","parts","offset","trim","t","isQuoted","s","nameTokenizer","typeEnd","quotedGroups","nameToken","descriptionTokenizer","getJoiner2","compactJoiner","preserveJoiner","description","lineNo","getDescription","lastLine","getParser4","parseSource","parseBlock","parseSpec","joinDescription","blocks","specs","acc","import_jsdoc_type_pratt_parser","__toESM","containsJsDoc","parse2","content","normalisedContent","ast","DEFAULT_OPTIONS","parseJsDoc","jsDocAst","extractedTags","extractJsDocTags","tags","tagSpec","paramTag","extractParam","deprecatedTag","extractDeprecated","returnsTag","extractReturns","normaliseParamName","tag","extractType","normaliseDescription","extractTypeName","joinNameAndDescription","joined","normalised","jsdocStringifyRules","originalJsdocStringifyObject","typeString","isTooLongForTypeSummary","isTooLongForDefaultValueSummary","createSummaryValue","summary","detail","createDefaultValue","generateUnionElement","generateUnion","generateFuncSignature","generateObjectSignature","generateSignature","generateDefault","createType","createFlowPropDef","propName","required","createDefaultValue2","createType2","typeName","createTsPropDef","createType3","isReactDocgenTypescript","func","isStringValued","tv","createDefaultValue3","createBasicPropDef","applyJsDocResult","propDef","jsDocParsingResult","javaScriptFactory","tsFactory","flowFactory","unknownFactory","getPropDefFactory","typeSystem","getTypeSystem","extractComponentSectionArray","createPropDef","item","sanitizedItem","extractProp","extractComponentSectionObject","docgenPropsKeys","extractComponentProps","extractComponentDescription","combineParameters","parameterSets","mergeKeys","definedParametersSets","combined","existing","mergeValues","enhanceArgTypes","context","userArgTypes","docs","extractArgTypes","extractedArgTypes","ADDON_ID","SNIPPET_RENDERED","SourceType","SourceType2","require_entities","require_legacy","require_xml","require_decode","require_decode_codepoint","__importDefault","mod","decode_json_1","fromCodePoint","codePoint","output","decodeCodePoint","require_decode2","entities_json_1","legacy_json_1","xml_json_1","decode_codepoint_1","strictEntityRe","getStrictDecoder","map","replace","getReplacer","sorter","a","b","legacy","j","re","replacer","secondChar","require_encode","inverseXML","getInverseObj","xmlReplacer","getInverseReplacer","getASCIIEncoder","inverseHTML","htmlReplacer","getInverse","inverse","single","multiple","_i","start","end","count","reNonASCII","getCodePoint","singleCharReplacer","reEscapeChars","escape","escapeUTF8","require_lib","decode_1","encode_1","decode","level","decodeStrict","encode","encode_2","decode_2","require_ansi_to_html","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_createForOfIteratorHelper","allowArrayLike","it","_unsupportedIterableToArray","F","_e","normalCompletion","didErr","step","_e2","minLen","_arrayLikeToArray","n","arr","arr2","entities","defaults","getDefaultColors","colors","range","red","green","blue","setStyleColor","gray","l","toHexString","r","g","toColorHexString","ref","_iterator","_step","generateOutput","stack","pushText","handleDisplay","pushForegroundColor","pushBackgroundColor","handleRgb","operation","color","rgb","pushStyle","codeMap","resetStyles","pushTag","closeTag","stackClone","notCategory","categoryForCode","style","callback","ansiMatch","ansiHandler","remove","removeXterm256Foreground","g1","removeXterm256Background","newline","ansiMess","_iterator2","_step2","realText","process","handler2","i2","results1","_text","handler","updateStickyStack","stickyStack","Filter","Filter2","_this","buf","require_memoizerific","f","o2","u","__require","e2","n2","_dereq_","module3","exports3","forceSimilar","Similar","index","thisArg","val1","val2","MapOrSimilar","limit","cache","lru","fn","memoizerific","currentCache","newMap","fnResult","argsLengthMinusOne","lruPath","isMemoized","moveToMostRecentLru","removeCachedResult","lruLen","lruPathLen","isMatch","ii","isEqual","removedLru","removedLruLen","currentLru","tmp","isMulti","args","generateRandomId","Channel","event","eventName","listener","listeners","onceListener","document2","location","WebSocket","global2","CHANNEL_OPTIONS","CONFIG_TYPE","global3","mockChannel","transport","AddonStore","channel","res","KEY","getAddonsStore","addons","areDepsEqual","deps","nextDeps","dep","invalidHooksError","getHooksContextOrNull","getHooksContextOrThrow","hooks","useHook","logger","hook","useMemoLike","nextCreate","memoizedState","useRefLike","initialValue","useRef","useEffect","create","effect","import_memoizerific","entry","normalizeArrays","array","decorateStory","storyFn","decorator","bindWithContext","boundStoryFunction","sanitizeStoryContextUpdate","componentId","title","kind","id","story","initialArgs","argTypes","update","defaultDecorateStory","decorators","contextStore","decoratedStoryFn","decoratedWithContextStore","composeBeforeAllHooks","cleanups2","cleanup","composeStepRunners","stepRunners","label","play","playContext","innerPlay","stepRunner","getField","moduleExportList","xs","getArrayField","prev","cur","normalized","getObjectField","getSingletonField","composeConfigs","allArgTypeEnhancers","beforeAllHooks","global4","fetch","global5","history","global6","import_ansi_to_html","document3","global7","document4","global9","emitTransformCode","unmappedArgs"],"mappings":"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A;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAC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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|