xmlui 0.11.3 → 0.11.6
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/bin/index.cjs +8836 -0
- package/dist/bin/index.js +8825 -0
- package/dist/lib/{apiInterceptorWorker-QiltRtq1.js → apiInterceptorWorker-dwrAyq6l.js} +126 -151
- package/dist/lib/{index-DSUDwtWN.js → index-x4orhWfi.js} +2054 -2285
- package/dist/lib/index.css +1 -1
- package/dist/lib/{initMock-DdH1iCH-.js → initMock-DrUirixi.js} +19 -22
- package/dist/lib/language-server-web-worker.js +13 -5
- package/dist/lib/language-server.js +11 -3
- package/dist/lib/{metadata-utils-D27cn-XB.js → metadata-utils-2bsMr4Gd.js} +57 -26
- package/dist/lib/{server-common-hq0poDwA.js → server-common-DI3W4cob.js} +4140 -3741
- package/dist/lib/syntax-textmate.js +8 -2472
- package/dist/lib/testing.d.ts +1 -0
- package/dist/lib/testing.js +20 -23
- package/dist/lib/{transform-Tooy42EB.js → transform-CQ_6R-43.js} +174 -127
- package/dist/lib/vite-xmlui-plugin.d.ts +10 -0
- package/dist/lib/vite-xmlui-plugin.js +8316 -0
- package/dist/lib/{xmlui-parser-BZZ430Wm.js → xmlui-parser-CW8YmGjO.js} +10 -11
- package/dist/lib/xmlui-parser.d.ts +2 -0
- package/dist/lib/xmlui-parser.js +2 -2
- package/dist/lib/{xmlui-serializer-D9D2mQ8m.js → xmlui-serializer-CeCcgdVR.js} +19 -19
- package/dist/lib/xmlui.d.ts +124 -2
- package/dist/lib/xmlui.js +8 -3
- package/dist/metadata/{apiInterceptorWorker-Dql7QGw2.js → apiInterceptorWorker-Wgm2_zjg.js} +124 -149
- package/dist/metadata/{collectedComponentMetadata-C8Lr9TFe.js → collectedComponentMetadata-BGdap_gu.js} +2100 -2276
- package/dist/metadata/{initMock-CWwgOjW_.js → initMock-DlJ0S4Uy.js} +19 -22
- package/dist/metadata/xmlui-metadata.css +1 -0
- package/dist/metadata/xmlui-metadata.js +1 -1
- package/dist/metadata/xmlui-metadata.umd.cjs +3 -3
- package/dist/standalone/xmlui-standalone.es.d.ts +175 -4
- package/dist/standalone/xmlui-standalone.umd.js +36 -37
- package/package.json +20 -50
- package/dist/lib/vite-xmlui-plugin/index.js +0 -13968
- package/dist/lib/vite-xmlui-plugin/package.json +0 -3
- package/dist/metadata/style.css +0 -1
- package/dist/scripts/bin/bootstrap.cjs +0 -4
- package/dist/scripts/bin/build-lib.js +0 -126
- package/dist/scripts/bin/build.js +0 -266
- package/dist/scripts/bin/index.js +0 -167
- package/dist/scripts/bin/preview.js +0 -44
- package/dist/scripts/bin/start.js +0 -52
- package/dist/scripts/bin/vite-xmlui-plugin.js +0 -109
- package/dist/scripts/bin/viteConfig.js +0 -144
- package/dist/scripts/package.json +0 -285
- package/dist/scripts/src/abstractions/ActionDefs.js +0 -2
- package/dist/scripts/src/abstractions/AppContextDefs.js +0 -4
- package/dist/scripts/src/abstractions/ComponentDefs.js +0 -2
- package/dist/scripts/src/abstractions/ContainerDefs.js +0 -2
- package/dist/scripts/src/abstractions/ExtensionDefs.js +0 -2
- package/dist/scripts/src/abstractions/FunctionDefs.js +0 -2
- package/dist/scripts/src/abstractions/RendererDefs.js +0 -2
- package/dist/scripts/src/abstractions/ThemingDefs.js +0 -2
- package/dist/scripts/src/abstractions/scripting/BlockScope.js +0 -2
- package/dist/scripts/src/abstractions/scripting/Compilation.js +0 -2
- package/dist/scripts/src/abstractions/scripting/LogicalThread.js +0 -2
- package/dist/scripts/src/abstractions/scripting/LoopScope.js +0 -2
- package/dist/scripts/src/abstractions/scripting/ScriptParserError.js +0 -2
- package/dist/scripts/src/abstractions/scripting/Token.js +0 -2
- package/dist/scripts/src/abstractions/scripting/TryScope.js +0 -2
- package/dist/scripts/src/abstractions/scripting/TryScopeExp.js +0 -2
- package/dist/scripts/src/abstractions/scripting/modules.js +0 -2
- package/dist/scripts/src/components/APICall/APICall.js +0 -130
- package/dist/scripts/src/components/APICall/APICall.spec.js +0 -910
- package/dist/scripts/src/components/APICall/APICallNative.js +0 -36
- package/dist/scripts/src/components/Accordion/Accordion.js +0 -97
- package/dist/scripts/src/components/Accordion/Accordion.spec.js +0 -969
- package/dist/scripts/src/components/Accordion/AccordionContext.js +0 -20
- package/dist/scripts/src/components/Accordion/AccordionItem.js +0 -35
- package/dist/scripts/src/components/Accordion/AccordionItemNative.js +0 -95
- package/dist/scripts/src/components/Accordion/AccordionNative.js +0 -141
- package/dist/scripts/src/components/Animation/AnimationNative.js +0 -263
- package/dist/scripts/src/components/App/App.js +0 -581
- package/dist/scripts/src/components/App/App.spec.js +0 -331
- package/dist/scripts/src/components/App/AppLayoutContext.js +0 -49
- package/dist/scripts/src/components/App/AppNative.js +0 -308
- package/dist/scripts/src/components/App/AppStateContext.js +0 -9
- package/dist/scripts/src/components/App/IndexerContext.js +0 -44
- package/dist/scripts/src/components/App/LinkInfoContext.js +0 -9
- package/dist/scripts/src/components/App/SearchContext.js +0 -35
- package/dist/scripts/src/components/App/Sheet.js +0 -99
- package/dist/scripts/src/components/AppHeader/AppHeader.js +0 -58
- package/dist/scripts/src/components/AppHeader/AppHeader.spec.js +0 -169
- package/dist/scripts/src/components/AppHeader/AppHeaderNative.js +0 -72
- package/dist/scripts/src/components/AppState/AppState.js +0 -75
- package/dist/scripts/src/components/AppState/AppState.spec.js +0 -292
- package/dist/scripts/src/components/AppState/AppStateNative.js +0 -51
- package/dist/scripts/src/components/AutoComplete/AutoComplete.js +0 -109
- package/dist/scripts/src/components/AutoComplete/AutoComplete.spec.js +0 -433
- package/dist/scripts/src/components/AutoComplete/AutoCompleteContext.js +0 -19
- package/dist/scripts/src/components/AutoComplete/AutoCompleteNative.js +0 -498
- package/dist/scripts/src/components/Avatar/Avatar.js +0 -55
- package/dist/scripts/src/components/Avatar/Avatar.spec.js +0 -1514
- package/dist/scripts/src/components/Avatar/AvatarNative.js +0 -58
- package/dist/scripts/src/components/Backdrop/Backdrop.js +0 -40
- package/dist/scripts/src/components/Backdrop/Backdrop.spec.js +0 -131
- package/dist/scripts/src/components/Backdrop/BackdropNative.js +0 -25
- package/dist/scripts/src/components/Badge/Badge.js +0 -81
- package/dist/scripts/src/components/Badge/Badge.spec.js +0 -2214
- package/dist/scripts/src/components/Badge/BadgeNative.js +0 -46
- package/dist/scripts/src/components/Bookmark/Bookmark.js +0 -48
- package/dist/scripts/src/components/Bookmark/Bookmark.spec.js +0 -230
- package/dist/scripts/src/components/Bookmark/BookmarkNative.js +0 -55
- package/dist/scripts/src/components/Breakout/Breakout.js +0 -17
- package/dist/scripts/src/components/Breakout/Breakout.spec.js +0 -56
- package/dist/scripts/src/components/Breakout/BreakoutNative.js +0 -24
- package/dist/scripts/src/components/Button/Button-style.spec.js +0 -274
- package/dist/scripts/src/components/Button/Button.js +0 -171
- package/dist/scripts/src/components/Button/Button.spec.js +0 -425
- package/dist/scripts/src/components/Button/ButtonNative.js +0 -109
- package/dist/scripts/src/components/Card/Card.js +0 -89
- package/dist/scripts/src/components/Card/Card.spec.js +0 -150
- package/dist/scripts/src/components/Card/CardNative.js +0 -41
- package/dist/scripts/src/components/Carousel/Carousel.js +0 -133
- package/dist/scripts/src/components/Carousel/Carousel.spec.js +0 -557
- package/dist/scripts/src/components/Carousel/CarouselContext.js +0 -57
- package/dist/scripts/src/components/Carousel/CarouselItem.js +0 -15
- package/dist/scripts/src/components/Carousel/CarouselItemNative.js +0 -40
- package/dist/scripts/src/components/Carousel/CarouselNative.js +0 -195
- package/dist/scripts/src/components/ChangeListener/ChangeListener.js +0 -34
- package/dist/scripts/src/components/ChangeListener/ChangeListener.spec.js +0 -169
- package/dist/scripts/src/components/ChangeListener/ChangeListenerNative.js +0 -30
- package/dist/scripts/src/components/Charts/AreaChart/AreaChart.js +0 -92
- package/dist/scripts/src/components/Charts/AreaChart/AreaChart.spec.js +0 -999
- package/dist/scripts/src/components/Charts/AreaChart/AreaChartNative.js +0 -127
- package/dist/scripts/src/components/Charts/BarChart/BarChart.js +0 -97
- package/dist/scripts/src/components/Charts/BarChart/BarChart.spec.js +0 -597
- package/dist/scripts/src/components/Charts/BarChart/BarChartNative.js +0 -317
- package/dist/scripts/src/components/Charts/DonutChart/DonutChart.js +0 -60
- package/dist/scripts/src/components/Charts/DonutChart/DonutChart.spec.js +0 -608
- package/dist/scripts/src/components/Charts/LabelList/LabelList.js +0 -41
- package/dist/scripts/src/components/Charts/LabelList/LabelList.spec.js +0 -539
- package/dist/scripts/src/components/Charts/LabelList/LabelListNative.js +0 -25
- package/dist/scripts/src/components/Charts/Legend/Legend.js +0 -33
- package/dist/scripts/src/components/Charts/Legend/Legend.spec.js +0 -558
- package/dist/scripts/src/components/Charts/Legend/LegendNative.js +0 -64
- package/dist/scripts/src/components/Charts/LineChart/LineChart.js +0 -94
- package/dist/scripts/src/components/Charts/LineChart/LineChart.spec.js +0 -450
- package/dist/scripts/src/components/Charts/LineChart/LineChartNative.js +0 -192
- package/dist/scripts/src/components/Charts/PieChart/PieChart.js +0 -64
- package/dist/scripts/src/components/Charts/PieChart/PieChart.spec.js +0 -584
- package/dist/scripts/src/components/Charts/PieChart/PieChartNative.js +0 -167
- package/dist/scripts/src/components/Charts/RadarChart/RadarChart.js +0 -92
- package/dist/scripts/src/components/Charts/RadarChart/RadarChart.spec.js +0 -571
- package/dist/scripts/src/components/Charts/RadarChart/RadarChartNative.js +0 -125
- package/dist/scripts/src/components/Charts/Tooltip/TooltipContent.js +0 -27
- package/dist/scripts/src/components/Charts/Tooltip/TooltipContent.spec.js +0 -451
- package/dist/scripts/src/components/Charts/utils/ChartProvider.js +0 -65
- package/dist/scripts/src/components/Charts/utils/abstractions.js +0 -26
- package/dist/scripts/src/components/Checkbox/Checkbox.js +0 -81
- package/dist/scripts/src/components/Checkbox/Checkbox.spec.js +0 -969
- package/dist/scripts/src/components/CodeBlock/CodeBlock.js +0 -42
- package/dist/scripts/src/components/CodeBlock/CodeBlock.spec.js +0 -196
- package/dist/scripts/src/components/CodeBlock/CodeBlockNative.js +0 -127
- package/dist/scripts/src/components/CodeBlock/highlight-code.js +0 -273
- package/dist/scripts/src/components/ColorPicker/ColorPicker.js +0 -54
- package/dist/scripts/src/components/ColorPicker/ColorPicker.spec.js +0 -312
- package/dist/scripts/src/components/ColorPicker/ColorPickerNative.js +0 -86
- package/dist/scripts/src/components/Column/Column.js +0 -89
- package/dist/scripts/src/components/Column/ColumnNative.js +0 -49
- package/dist/scripts/src/components/Column/TableContext.js +0 -12
- package/dist/scripts/src/components/Column/doc-resources/list-component-data.js +0 -53
- package/dist/scripts/src/components/ComponentProvider.js +0 -811
- package/dist/scripts/src/components/ComponentRegistryContext.js +0 -44
- package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +0 -51
- package/dist/scripts/src/components/ContentSeparator/ContentSeparator.spec.js +0 -531
- package/dist/scripts/src/components/ContentSeparator/ContentSeparatorNative.js +0 -31
- package/dist/scripts/src/components/DataSource/DataSource.js +0 -124
- package/dist/scripts/src/components/DateInput/DateInput.js +0 -197
- package/dist/scripts/src/components/DateInput/DateInput.spec.js +0 -952
- package/dist/scripts/src/components/DateInput/DateInputNative.js +0 -734
- package/dist/scripts/src/components/DatePicker/DatePicker.js +0 -146
- package/dist/scripts/src/components/DatePicker/DatePicker.spec.js +0 -394
- package/dist/scripts/src/components/DatePicker/DatePickerNative.js +0 -326
- package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +0 -196
- package/dist/scripts/src/components/DropdownMenu/DropdownMenu.spec.js +0 -331
- package/dist/scripts/src/components/DropdownMenu/DropdownMenuNative.js +0 -146
- package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +0 -26
- package/dist/scripts/src/components/EmojiSelector/EmojiSelector.spec.js +0 -29
- package/dist/scripts/src/components/EmojiSelector/EmojiSelectorNative.js +0 -71
- package/dist/scripts/src/components/ExpandableItem/ExpandableItem.js +0 -101
- package/dist/scripts/src/components/ExpandableItem/ExpandableItem.spec.js +0 -435
- package/dist/scripts/src/components/ExpandableItem/ExpandableItemNative.js +0 -109
- package/dist/scripts/src/components/FileInput/FileInput.js +0 -80
- package/dist/scripts/src/components/FileInput/FileInput.spec.js +0 -285
- package/dist/scripts/src/components/FileInput/FileInputNative.js +0 -161
- package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +0 -58
- package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.spec.js +0 -296
- package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZoneNative.js +0 -134
- package/dist/scripts/src/components/FlowLayout/FlowLayout.js +0 -65
- package/dist/scripts/src/components/FlowLayout/FlowLayout.spec.js +0 -518
- package/dist/scripts/src/components/FlowLayout/FlowLayoutNative.js +0 -153
- package/dist/scripts/src/components/Footer/Footer.js +0 -45
- package/dist/scripts/src/components/Footer/Footer.spec.js +0 -991
- package/dist/scripts/src/components/Footer/FooterNative.js +0 -35
- package/dist/scripts/src/components/Form/Form.js +0 -161
- package/dist/scripts/src/components/Form/Form.spec.js +0 -1719
- package/dist/scripts/src/components/Form/FormContext.js +0 -124
- package/dist/scripts/src/components/Form/FormNative.js +0 -463
- package/dist/scripts/src/components/Form/formActions.js +0 -115
- package/dist/scripts/src/components/FormItem/FormItem.js +0 -231
- package/dist/scripts/src/components/FormItem/FormItem.spec.js +0 -1022
- package/dist/scripts/src/components/FormItem/FormItemNative.js +0 -255
- package/dist/scripts/src/components/FormItem/HelperText.js +0 -27
- package/dist/scripts/src/components/FormItem/ItemWithLabel.js +0 -52
- package/dist/scripts/src/components/FormItem/Validations.js +0 -389
- package/dist/scripts/src/components/FormSection/FormSection.js +0 -56
- package/dist/scripts/src/components/Fragment/Fragment.js +0 -24
- package/dist/scripts/src/components/Fragment/Fragment.spec.js +0 -50
- package/dist/scripts/src/components/Heading/H1.spec.js +0 -66
- package/dist/scripts/src/components/Heading/H2.spec.js +0 -66
- package/dist/scripts/src/components/Heading/H3.spec.js +0 -66
- package/dist/scripts/src/components/Heading/H4.spec.js +0 -66
- package/dist/scripts/src/components/Heading/H5.spec.js +0 -66
- package/dist/scripts/src/components/Heading/H6.spec.js +0 -66
- package/dist/scripts/src/components/Heading/Heading.js +0 -396
- package/dist/scripts/src/components/Heading/Heading.spec.js +0 -966
- package/dist/scripts/src/components/Heading/HeadingNative.js +0 -98
- package/dist/scripts/src/components/Heading/abstractions.js +0 -4
- package/dist/scripts/src/components/HoverCard/HoverCard.js +0 -18
- package/dist/scripts/src/components/HoverCard/HovercardNative.js +0 -44
- package/dist/scripts/src/components/HtmlTags/HtmlTags.js +0 -1441
- package/dist/scripts/src/components/HtmlTags/HtmlTags.spec.js +0 -69
- package/dist/scripts/src/components/IFrame/IFrame.js +0 -77
- package/dist/scripts/src/components/IFrame/IFrame.spec.js +0 -527
- package/dist/scripts/src/components/IFrame/IFrameNative.js +0 -46
- package/dist/scripts/src/components/Icon/AdmonitionDanger.js +0 -10
- package/dist/scripts/src/components/Icon/AdmonitionInfo.js +0 -10
- package/dist/scripts/src/components/Icon/AdmonitionNote.js +0 -10
- package/dist/scripts/src/components/Icon/AdmonitionTip.js +0 -10
- package/dist/scripts/src/components/Icon/AdmonitionWarning.js +0 -10
- package/dist/scripts/src/components/Icon/ApiIcon.js +0 -10
- package/dist/scripts/src/components/Icon/ArrowDropDown.js +0 -11
- package/dist/scripts/src/components/Icon/ArrowDropUp.js +0 -11
- package/dist/scripts/src/components/Icon/ArrowLeft.js +0 -11
- package/dist/scripts/src/components/Icon/ArrowRight.js +0 -11
- package/dist/scripts/src/components/Icon/Attach.js +0 -10
- package/dist/scripts/src/components/Icon/Binding.js +0 -11
- package/dist/scripts/src/components/Icon/BoardIcon.js +0 -7
- package/dist/scripts/src/components/Icon/BoxIcon.js +0 -10
- package/dist/scripts/src/components/Icon/CheckIcon.js +0 -7
- package/dist/scripts/src/components/Icon/ChevronDownIcon.js +0 -7
- package/dist/scripts/src/components/Icon/ChevronLeft.js +0 -7
- package/dist/scripts/src/components/Icon/ChevronRight.js +0 -7
- package/dist/scripts/src/components/Icon/ChevronUpIcon.js +0 -7
- package/dist/scripts/src/components/Icon/CodeFileIcon.js +0 -10
- package/dist/scripts/src/components/Icon/CodeSandbox.js +0 -10
- package/dist/scripts/src/components/Icon/CompactListIcon.js +0 -7
- package/dist/scripts/src/components/Icon/ContentCopyIcon.js +0 -7
- package/dist/scripts/src/components/Icon/DarkToLightIcon.js +0 -10
- package/dist/scripts/src/components/Icon/DatabaseIcon.js +0 -11
- package/dist/scripts/src/components/Icon/DocFileIcon.js +0 -10
- package/dist/scripts/src/components/Icon/DocIcon.js +0 -10
- package/dist/scripts/src/components/Icon/DotMenuHorizontalIcon.js +0 -7
- package/dist/scripts/src/components/Icon/DotMenuIcon.js +0 -7
- package/dist/scripts/src/components/Icon/EmailIcon.js +0 -7
- package/dist/scripts/src/components/Icon/EmptyFolderIcon.js +0 -10
- package/dist/scripts/src/components/Icon/ErrorIcon.js +0 -7
- package/dist/scripts/src/components/Icon/ExpressionIcon.js +0 -10
- package/dist/scripts/src/components/Icon/FillPlusCricleIcon.js +0 -7
- package/dist/scripts/src/components/Icon/FilterIcon.js +0 -10
- package/dist/scripts/src/components/Icon/FolderIcon.js +0 -10
- package/dist/scripts/src/components/Icon/GlobeIcon.js +0 -7
- package/dist/scripts/src/components/Icon/HomeIcon.js +0 -7
- package/dist/scripts/src/components/Icon/HyperLinkIcon.js +0 -7
- package/dist/scripts/src/components/Icon/Icon.js +0 -42
- package/dist/scripts/src/components/Icon/Icon.spec.js +0 -527
- package/dist/scripts/src/components/Icon/IconNative.js +0 -127
- package/dist/scripts/src/components/Icon/ImageFileIcon.js +0 -10
- package/dist/scripts/src/components/Icon/Inspect.js +0 -10
- package/dist/scripts/src/components/Icon/LightToDark.js +0 -10
- package/dist/scripts/src/components/Icon/LinkIcon.js +0 -7
- package/dist/scripts/src/components/Icon/ListIcon.js +0 -7
- package/dist/scripts/src/components/Icon/LooseListIcon.js +0 -7
- package/dist/scripts/src/components/Icon/MoonIcon.js +0 -10
- package/dist/scripts/src/components/Icon/MoreOptionsIcon.js +0 -7
- package/dist/scripts/src/components/Icon/NoSortIcon.js +0 -8
- package/dist/scripts/src/components/Icon/PDFIcon.js +0 -10
- package/dist/scripts/src/components/Icon/PenIcon.js +0 -7
- package/dist/scripts/src/components/Icon/PhoneIcon.js +0 -7
- package/dist/scripts/src/components/Icon/PhotoIcon.js +0 -10
- package/dist/scripts/src/components/Icon/PlusIcon.js +0 -7
- package/dist/scripts/src/components/Icon/SearchIcon.js +0 -7
- package/dist/scripts/src/components/Icon/ShareIcon.js +0 -10
- package/dist/scripts/src/components/Icon/SortAscendingIcon.js +0 -8
- package/dist/scripts/src/components/Icon/SortDescendingIcon.js +0 -8
- package/dist/scripts/src/components/Icon/StarsIcon.js +0 -10
- package/dist/scripts/src/components/Icon/SunIcon.js +0 -10
- package/dist/scripts/src/components/Icon/TableDeleteColumnIcon.js +0 -7
- package/dist/scripts/src/components/Icon/TableDeleteRowIcon.js +0 -7
- package/dist/scripts/src/components/Icon/TableInsertColumnIcon.js +0 -7
- package/dist/scripts/src/components/Icon/TableInsertRowIcon.js +0 -7
- package/dist/scripts/src/components/Icon/TrashIcon.js +0 -7
- package/dist/scripts/src/components/Icon/TrendingDownIcon.js +0 -10
- package/dist/scripts/src/components/Icon/TrendingLevelIcon.js +0 -10
- package/dist/scripts/src/components/Icon/TrendingUpIcon.js +0 -10
- package/dist/scripts/src/components/Icon/TxtIcon.js +0 -10
- package/dist/scripts/src/components/Icon/UnknownFileIcon.js +0 -10
- package/dist/scripts/src/components/Icon/UnlinkIcon.js +0 -10
- package/dist/scripts/src/components/Icon/UserIcon.js +0 -7
- package/dist/scripts/src/components/Icon/WarningIcon.js +0 -7
- package/dist/scripts/src/components/Icon/XlsIcon.js +0 -10
- package/dist/scripts/src/components/IconProvider.js +0 -300
- package/dist/scripts/src/components/IconRegistryContext.js +0 -318
- package/dist/scripts/src/components/Image/Image.js +0 -52
- package/dist/scripts/src/components/Image/Image.spec.js +0 -198
- package/dist/scripts/src/components/Image/ImageNative.js +0 -73
- package/dist/scripts/src/components/Input/InputAdornment.js +0 -28
- package/dist/scripts/src/components/Input/InputDivider.js +0 -35
- package/dist/scripts/src/components/Input/InputLabel.js +0 -25
- package/dist/scripts/src/components/Input/PartialInput.js +0 -155
- package/dist/scripts/src/components/Input/index.js +0 -5
- package/dist/scripts/src/components/InspectButton/InspectButton.js +0 -35
- package/dist/scripts/src/components/Items/Items.js +0 -39
- package/dist/scripts/src/components/Items/Items.spec.js +0 -397
- package/dist/scripts/src/components/Items/ItemsNative.js +0 -33
- package/dist/scripts/src/components/Link/Link.js +0 -82
- package/dist/scripts/src/components/Link/Link.spec.js +0 -894
- package/dist/scripts/src/components/Link/LinkNative.js +0 -48
- package/dist/scripts/src/components/List/List.js +0 -130
- package/dist/scripts/src/components/List/List.spec.js +0 -927
- package/dist/scripts/src/components/List/ListNative.js +0 -433
- package/dist/scripts/src/components/List/doc-resources/list-component-data.js +0 -53
- package/dist/scripts/src/components/Logo/Logo.js +0 -30
- package/dist/scripts/src/components/Logo/LogoNative.js +0 -32
- package/dist/scripts/src/components/Markdown/CodeText.js +0 -38
- package/dist/scripts/src/components/Markdown/Markdown.js +0 -143
- package/dist/scripts/src/components/Markdown/Markdown.spec.js +0 -188
- package/dist/scripts/src/components/Markdown/MarkdownNative.js +0 -476
- package/dist/scripts/src/components/Markdown/parse-binding-expr.js +0 -60
- package/dist/scripts/src/components/Markdown/utils.js +0 -389
- package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +0 -111
- package/dist/scripts/src/components/ModalDialog/Dialog.js +0 -20
- package/dist/scripts/src/components/ModalDialog/ModalDialog.js +0 -83
- package/dist/scripts/src/components/ModalDialog/ModalDialog.spec.js +0 -181
- package/dist/scripts/src/components/ModalDialog/ModalDialogNative.js +0 -217
- package/dist/scripts/src/components/ModalDialog/ModalVisibilityContext.js +0 -60
- package/dist/scripts/src/components/NavGroup/NavGroup.js +0 -70
- package/dist/scripts/src/components/NavGroup/NavGroup.spec.js +0 -304
- package/dist/scripts/src/components/NavGroup/NavGroupContext.js +0 -13
- package/dist/scripts/src/components/NavGroup/NavGroupNative.js +0 -133
- package/dist/scripts/src/components/NavLink/NavLink.js +0 -86
- package/dist/scripts/src/components/NavLink/NavLink.spec.js +0 -864
- package/dist/scripts/src/components/NavLink/NavLinkNative.js +0 -73
- package/dist/scripts/src/components/NavPanel/NavPanel.js +0 -53
- package/dist/scripts/src/components/NavPanel/NavPanel.spec.js +0 -864
- package/dist/scripts/src/components/NavPanel/NavPanelNative.js +0 -222
- package/dist/scripts/src/components/NestedApp/AppWithCodeView.js +0 -91
- package/dist/scripts/src/components/NestedApp/AppWithCodeViewNative.js +0 -84
- package/dist/scripts/src/components/NestedApp/NestedApp.js +0 -86
- package/dist/scripts/src/components/NestedApp/NestedAppNative.js +0 -231
- package/dist/scripts/src/components/NestedApp/Tooltip.js +0 -46
- package/dist/scripts/src/components/NestedApp/defaultProps.js +0 -12
- package/dist/scripts/src/components/NestedApp/utils.js +0 -67
- package/dist/scripts/src/components/NoResult/NoResult.js +0 -46
- package/dist/scripts/src/components/NoResult/NoResult.spec.js +0 -863
- package/dist/scripts/src/components/NoResult/NoResultNative.js +0 -31
- package/dist/scripts/src/components/NumberBox/NumberBox.js +0 -123
- package/dist/scripts/src/components/NumberBox/NumberBox.spec.js +0 -954
- package/dist/scripts/src/components/NumberBox/NumberBoxNative.js +0 -513
- package/dist/scripts/src/components/NumberBox/numberbox-abstractions.js +0 -109
- package/dist/scripts/src/components/Option/Option.js +0 -44
- package/dist/scripts/src/components/Option/Option.spec.js +0 -474
- package/dist/scripts/src/components/Option/OptionNative.js +0 -29
- package/dist/scripts/src/components/Option/OptionTypeProvider.js +0 -16
- package/dist/scripts/src/components/PageMetaTitle/PageMetaTilteNative.js +0 -13
- package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +0 -22
- package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.spec.js +0 -80
- package/dist/scripts/src/components/Pages/Pages.js +0 -54
- package/dist/scripts/src/components/Pages/PagesNative.js +0 -57
- package/dist/scripts/src/components/Pagination/Pagination.js +0 -107
- package/dist/scripts/src/components/Pagination/Pagination.spec.js +0 -1008
- package/dist/scripts/src/components/Pagination/PaginationNative.js +0 -157
- package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +0 -24
- package/dist/scripts/src/components/PositionedContainer/PositionedContainerNative.js +0 -14
- package/dist/scripts/src/components/ProfileMenu/ProfileMenu.js +0 -20
- package/dist/scripts/src/components/ProgressBar/ProgressBar.js +0 -38
- package/dist/scripts/src/components/ProgressBar/ProgressBar.spec.js +0 -166
- package/dist/scripts/src/components/ProgressBar/ProgressBarNative.js +0 -28
- package/dist/scripts/src/components/Queue/Queue.js +0 -85
- package/dist/scripts/src/components/Queue/Queue.spec.js +0 -624
- package/dist/scripts/src/components/Queue/QueueNative.js +0 -342
- package/dist/scripts/src/components/Queue/queueActions.js +0 -87
- package/dist/scripts/src/components/RadioGroup/RadioGroup.js +0 -61
- package/dist/scripts/src/components/RadioGroup/RadioGroup.spec.js +0 -488
- package/dist/scripts/src/components/RadioGroup/RadioGroupNative.js +0 -158
- package/dist/scripts/src/components/RadioGroup/RadioItem.js +0 -28
- package/dist/scripts/src/components/RadioGroup/RadioItemNative.js +0 -62
- package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +0 -24
- package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapterNative.js +0 -135
- package/dist/scripts/src/components/Redirect/Redirect.js +0 -31
- package/dist/scripts/src/components/Redirect/Redirect.spec.js +0 -527
- package/dist/scripts/src/components/ResponsiveBar/ResponsiveBar.js +0 -60
- package/dist/scripts/src/components/ResponsiveBar/ResponsiveBar.spec.js +0 -76
- package/dist/scripts/src/components/ResponsiveBar/ResponsiveBarNative.js +0 -313
- package/dist/scripts/src/components/Select/HiddenOption.js +0 -20
- package/dist/scripts/src/components/Select/OptionContext.js +0 -12
- package/dist/scripts/src/components/Select/Select.js +0 -131
- package/dist/scripts/src/components/Select/Select.spec.js +0 -671
- package/dist/scripts/src/components/Select/SelectContext.js +0 -16
- package/dist/scripts/src/components/Select/SelectNative.js +0 -440
- package/dist/scripts/src/components/SelectionStore/SelectionStore.js +0 -25
- package/dist/scripts/src/components/SelectionStore/SelectionStoreNative.js +0 -103
- package/dist/scripts/src/components/Slider/Slider.js +0 -115
- package/dist/scripts/src/components/Slider/Slider.spec.js +0 -643
- package/dist/scripts/src/components/Slider/SliderNative.js +0 -237
- package/dist/scripts/src/components/Slot/Slot.js +0 -17
- package/dist/scripts/src/components/Slot/Slot.spec.js +0 -368
- package/dist/scripts/src/components/SlotItem.js +0 -32
- package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +0 -20
- package/dist/scripts/src/components/SpaceFiller/SpaceFiller.spec.js +0 -184
- package/dist/scripts/src/components/SpaceFiller/SpaceFillerNative.js +0 -10
- package/dist/scripts/src/components/Spinner/Spinner.js +0 -39
- package/dist/scripts/src/components/Spinner/Spinner.spec.js +0 -161
- package/dist/scripts/src/components/Spinner/SpinnerNative.js +0 -48
- package/dist/scripts/src/components/Splitter/HSplitter.spec.js +0 -104
- package/dist/scripts/src/components/Splitter/Splitter.js +0 -114
- package/dist/scripts/src/components/Splitter/Splitter.spec.js +0 -631
- package/dist/scripts/src/components/Splitter/SplitterNative.js +0 -203
- package/dist/scripts/src/components/Splitter/VSplitter.spec.js +0 -104
- package/dist/scripts/src/components/Splitter/utils.js +0 -22
- package/dist/scripts/src/components/Stack/CHStack.spec.js +0 -86
- package/dist/scripts/src/components/Stack/CVStack.spec.js +0 -86
- package/dist/scripts/src/components/Stack/HStack.spec.js +0 -67
- package/dist/scripts/src/components/Stack/Stack.js +0 -156
- package/dist/scripts/src/components/Stack/Stack.spec.js +0 -654
- package/dist/scripts/src/components/Stack/StackNative.js +0 -45
- package/dist/scripts/src/components/Stack/VStack.spec.js +0 -67
- package/dist/scripts/src/components/StickyBox/StickyBox.js +0 -34
- package/dist/scripts/src/components/StickyBox/StickyBoxNative.js +0 -42
- package/dist/scripts/src/components/Switch/Switch.js +0 -80
- package/dist/scripts/src/components/Switch/Switch.spec.js +0 -836
- package/dist/scripts/src/components/Table/Table.js +0 -268
- package/dist/scripts/src/components/Table/Table.spec.js +0 -827
- package/dist/scripts/src/components/Table/TableNative.js +0 -670
- package/dist/scripts/src/components/Table/doc-resources/list-component-data.js +0 -53
- package/dist/scripts/src/components/Table/useRowSelection.js +0 -454
- package/dist/scripts/src/components/TableOfContents/TableOfContents.js +0 -76
- package/dist/scripts/src/components/TableOfContents/TableOfContents.spec.js +0 -838
- package/dist/scripts/src/components/TableOfContents/TableOfContentsNative.js +0 -81
- package/dist/scripts/src/components/Tabs/TabContext.js +0 -58
- package/dist/scripts/src/components/Tabs/TabItem.js +0 -44
- package/dist/scripts/src/components/Tabs/TabItemNative.js +0 -53
- package/dist/scripts/src/components/Tabs/Tabs.js +0 -95
- package/dist/scripts/src/components/Tabs/Tabs.spec.js +0 -1237
- package/dist/scripts/src/components/Tabs/TabsNative.js +0 -137
- package/dist/scripts/src/components/Text/Text.js +0 -181
- package/dist/scripts/src/components/Text/Text.spec.js +0 -1676
- package/dist/scripts/src/components/Text/TextNative.js +0 -244
- package/dist/scripts/src/components/TextArea/TextArea.js +0 -103
- package/dist/scripts/src/components/TextArea/TextArea.spec.js +0 -794
- package/dist/scripts/src/components/TextArea/TextAreaNative.js +0 -196
- package/dist/scripts/src/components/TextArea/TextAreaResizable.js +0 -73
- package/dist/scripts/src/components/TextArea/useComposedRef.js +0 -60
- package/dist/scripts/src/components/TextBox/TextBox.js +0 -131
- package/dist/scripts/src/components/TextBox/TextBox.spec.js +0 -725
- package/dist/scripts/src/components/TextBox/TextBoxNative.js +0 -142
- package/dist/scripts/src/components/Theme/NotificationToast.js +0 -64
- package/dist/scripts/src/components/Theme/Theme.js +0 -47
- package/dist/scripts/src/components/Theme/Theme.spec.js +0 -390
- package/dist/scripts/src/components/Theme/ThemeNative.js +0 -162
- package/dist/scripts/src/components/TimeInput/TimeInput.js +0 -149
- package/dist/scripts/src/components/TimeInput/TimeInput.spec.js +0 -1160
- package/dist/scripts/src/components/TimeInput/TimeInputNative.js +0 -650
- package/dist/scripts/src/components/TimeInput/utils.js +0 -197
- package/dist/scripts/src/components/Timer/Timer.js +0 -62
- package/dist/scripts/src/components/Timer/Timer.spec.js +0 -328
- package/dist/scripts/src/components/Timer/TimerNative.js +0 -178
- package/dist/scripts/src/components/Toggle/Toggle.js +0 -172
- package/dist/scripts/src/components/ToneChangerButton/ToneChangerButton.js +0 -63
- package/dist/scripts/src/components/ToneChangerButton/ToneChangerButton.spec.js +0 -414
- package/dist/scripts/src/components/ToneSwitch/ToneSwitch.js +0 -51
- package/dist/scripts/src/components/ToneSwitch/ToneSwitch.spec.js +0 -89
- package/dist/scripts/src/components/ToneSwitch/ToneSwitchNative.js +0 -42
- package/dist/scripts/src/components/Tooltip/Tooltip.js +0 -118
- package/dist/scripts/src/components/Tooltip/Tooltip.spec.js +0 -418
- package/dist/scripts/src/components/Tooltip/TooltipNative.js +0 -160
- package/dist/scripts/src/components/Tree/Tree-dynamic.spec.js +0 -2894
- package/dist/scripts/src/components/Tree/Tree-icons.spec.js +0 -206
- package/dist/scripts/src/components/Tree/Tree.spec.js +0 -2839
- package/dist/scripts/src/components/Tree/TreeComponent.js +0 -324
- package/dist/scripts/src/components/Tree/TreeNative.js +0 -1129
- package/dist/scripts/src/components/Tree/testData.js +0 -296
- package/dist/scripts/src/components/TreeDisplay/TreeDisplay.js +0 -49
- package/dist/scripts/src/components/TreeDisplay/TreeDisplayNative.js +0 -104
- package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +0 -64
- package/dist/scripts/src/components/VisuallyHidden.js +0 -21
- package/dist/scripts/src/components/abstractions.js +0 -341
- package/dist/scripts/src/components/chart-color-schemes.js +0 -43
- package/dist/scripts/src/components/collectedComponentMetadata.js +0 -316
- package/dist/scripts/src/components/component-utils.js +0 -29
- package/dist/scripts/src/components/container-helpers.js +0 -26
- package/dist/scripts/src/components/metadata-helpers.js +0 -269
- package/dist/scripts/src/components-core/ApiBoundComponent.js +0 -227
- package/dist/scripts/src/components-core/AppContext.js +0 -16
- package/dist/scripts/src/components-core/ComponentDecorator.js +0 -74
- package/dist/scripts/src/components-core/ComponentViewer.js +0 -69
- package/dist/scripts/src/components-core/CompoundComponent.js +0 -145
- package/dist/scripts/src/components-core/DebugViewProvider.js +0 -43
- package/dist/scripts/src/components-core/EngineError.js +0 -91
- package/dist/scripts/src/components-core/InspectorContext.js +0 -248
- package/dist/scripts/src/components-core/LoaderComponent.js +0 -109
- package/dist/scripts/src/components-core/RestApiProxy.js +0 -468
- package/dist/scripts/src/components-core/StandaloneApp.js +0 -821
- package/dist/scripts/src/components-core/StandaloneExtensionManager.js +0 -44
- package/dist/scripts/src/components-core/TableOfContentsContext.js +0 -168
- package/dist/scripts/src/components-core/abstractions/ComponentRenderer.js +0 -2
- package/dist/scripts/src/components-core/abstractions/LoaderRenderer.js +0 -2
- package/dist/scripts/src/components-core/abstractions/standalone.js +0 -2
- package/dist/scripts/src/components-core/abstractions/treeAbstractions.js +0 -2
- package/dist/scripts/src/components-core/action/APICall.js +0 -284
- package/dist/scripts/src/components-core/action/FileDownloadAction.js +0 -80
- package/dist/scripts/src/components-core/action/FileUploadAction.js +0 -88
- package/dist/scripts/src/components-core/action/NavigateAction.js +0 -20
- package/dist/scripts/src/components-core/action/TimedAction.js +0 -21
- package/dist/scripts/src/components-core/action/actions.js +0 -15
- package/dist/scripts/src/components-core/appContext/date-functions.js +0 -24
- package/dist/scripts/src/components-core/appContext/math-function.js +0 -27
- package/dist/scripts/src/components-core/appContext/misc-utils.js +0 -14
- package/dist/scripts/src/components-core/behaviors/Behavior.js +0 -2
- package/dist/scripts/src/components-core/behaviors/CoreBehaviors.js +0 -200
- package/dist/scripts/src/components-core/component-hooks.js +0 -25
- package/dist/scripts/src/components-core/constants.js +0 -18
- package/dist/scripts/src/components-core/descriptorHelper.js +0 -96
- package/dist/scripts/src/components-core/devtools/InspectorDialog.js +0 -135
- package/dist/scripts/src/components-core/devtools/InspectorDialogVisibilityContext.js +0 -8
- package/dist/scripts/src/components-core/event-handlers.js +0 -46
- package/dist/scripts/src/components-core/interception/ApiInterceptor.js +0 -247
- package/dist/scripts/src/components-core/interception/ApiInterceptorProvider.js +0 -167
- package/dist/scripts/src/components-core/interception/Backend.js +0 -141
- package/dist/scripts/src/components-core/interception/Errors.js +0 -129
- package/dist/scripts/src/components-core/interception/InMemoryDb.js +0 -41
- package/dist/scripts/src/components-core/interception/IndexedDb.js +0 -205
- package/dist/scripts/src/components-core/interception/ReadonlyCollection.js +0 -145
- package/dist/scripts/src/components-core/interception/abstractions.js +0 -2
- package/dist/scripts/src/components-core/interception/apiInterceptorWorker.js +0 -44
- package/dist/scripts/src/components-core/interception/initMock.js +0 -20
- package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +0 -9
- package/dist/scripts/src/components-core/loader/ApiLoader.js +0 -54
- package/dist/scripts/src/components-core/loader/DataLoader.js +0 -330
- package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +0 -60
- package/dist/scripts/src/components-core/loader/Loader.js +0 -159
- package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +0 -43
- package/dist/scripts/src/components-core/loader/PageableLoader.js +0 -272
- package/dist/scripts/src/components-core/markup-check.js +0 -279
- package/dist/scripts/src/components-core/parts.js +0 -11
- package/dist/scripts/src/components-core/renderers.js +0 -76
- package/dist/scripts/src/components-core/rendering/AppContent.js +0 -400
- package/dist/scripts/src/components-core/rendering/AppRoot.js +0 -87
- package/dist/scripts/src/components-core/rendering/AppWrapper.js +0 -49
- package/dist/scripts/src/components-core/rendering/ComponentAdapter.js +0 -380
- package/dist/scripts/src/components-core/rendering/ComponentWrapper.js +0 -166
- package/dist/scripts/src/components-core/rendering/Container.js +0 -621
- package/dist/scripts/src/components-core/rendering/ContainerWrapper.js +0 -94
- package/dist/scripts/src/components-core/rendering/ErrorBoundary.js +0 -65
- package/dist/scripts/src/components-core/rendering/InvalidComponent.js +0 -17
- package/dist/scripts/src/components-core/rendering/StandaloneComponent.js +0 -39
- package/dist/scripts/src/components-core/rendering/StateContainer.js +0 -350
- package/dist/scripts/src/components-core/rendering/UnknownComponent.js +0 -15
- package/dist/scripts/src/components-core/rendering/buildProxy.js +0 -58
- package/dist/scripts/src/components-core/rendering/collectFnVarDeps.js +0 -49
- package/dist/scripts/src/components-core/rendering/containers.js +0 -19
- package/dist/scripts/src/components-core/rendering/nodeUtils.js +0 -6
- package/dist/scripts/src/components-core/rendering/reducer.js +0 -160
- package/dist/scripts/src/components-core/rendering/renderChild.js +0 -82
- package/dist/scripts/src/components-core/rendering/valueExtractor.js +0 -216
- package/dist/scripts/src/components-core/reportEngineError.js +0 -62
- package/dist/scripts/src/components-core/script-runner/AttributeValueParser.js +0 -117
- package/dist/scripts/src/components-core/script-runner/BindingTreeEvaluationContext.js +0 -33
- package/dist/scripts/src/components-core/script-runner/ParameterParser.js +0 -117
- package/dist/scripts/src/components-core/script-runner/ScriptingSourceTree.js +0 -45
- package/dist/scripts/src/components-core/script-runner/asyncProxy.js +0 -96
- package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +0 -34
- package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +0 -613
- package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +0 -439
- package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +0 -522
- package/dist/scripts/src/components-core/script-runner/process-statement-async.js +0 -761
- package/dist/scripts/src/components-core/script-runner/process-statement-common.js +0 -208
- package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +0 -746
- package/dist/scripts/src/components-core/script-runner/simplify-expression.js +0 -386
- package/dist/scripts/src/components-core/script-runner/statement-queue.js +0 -63
- package/dist/scripts/src/components-core/script-runner/visitors.js +0 -369
- package/dist/scripts/src/components-core/theming/StyleContext.js +0 -133
- package/dist/scripts/src/components-core/theming/StyleRegistry.js +0 -171
- package/dist/scripts/src/components-core/theming/ThemeContext.js +0 -53
- package/dist/scripts/src/components-core/theming/ThemeProvider.js +0 -342
- package/dist/scripts/src/components-core/theming/component-layout-resolver.js +0 -153
- package/dist/scripts/src/components-core/theming/extendThemeUtils.js +0 -47
- package/dist/scripts/src/components-core/theming/hvar.js +0 -105
- package/dist/scripts/src/components-core/theming/layout-resolver.js +0 -388
- package/dist/scripts/src/components-core/theming/parse-layout-props.js +0 -136
- package/dist/scripts/src/components-core/theming/themeVars.js +0 -62
- package/dist/scripts/src/components-core/theming/themes/base-utils.js +0 -15
- package/dist/scripts/src/components-core/theming/themes/palette.js +0 -57
- package/dist/scripts/src/components-core/theming/themes/root.js +0 -434
- package/dist/scripts/src/components-core/theming/themes/solid.js +0 -16
- package/dist/scripts/src/components-core/theming/themes/theme-colors.js +0 -561
- package/dist/scripts/src/components-core/theming/themes/xmlui.js +0 -57
- package/dist/scripts/src/components-core/theming/transformThemeVars.js +0 -733
- package/dist/scripts/src/components-core/theming/utils.js +0 -31
- package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +0 -41
- package/dist/scripts/src/components-core/utils/LruCache.js +0 -184
- package/dist/scripts/src/components-core/utils/actionUtils.js +0 -32
- package/dist/scripts/src/components-core/utils/audio-utils.js +0 -83
- package/dist/scripts/src/components-core/utils/base64-utils.js +0 -124
- package/dist/scripts/src/components-core/utils/compound-utils.js +0 -11
- package/dist/scripts/src/components-core/utils/css-utils.js +0 -179
- package/dist/scripts/src/components-core/utils/date-utils.js +0 -186
- package/dist/scripts/src/components-core/utils/extractParam.js +0 -281
- package/dist/scripts/src/components-core/utils/hooks.js +0 -400
- package/dist/scripts/src/components-core/utils/mergeProps.js +0 -45
- package/dist/scripts/src/components-core/utils/misc.js +0 -539
- package/dist/scripts/src/components-core/utils/request-params.js +0 -70
- package/dist/scripts/src/components-core/utils/statementUtils.js +0 -224
- package/dist/scripts/src/components-core/utils/treeUtils.js +0 -226
- package/dist/scripts/src/components-core/xmlui-parser.js +0 -548
- package/dist/scripts/src/index-standalone.js +0 -61
- package/dist/scripts/src/index.js +0 -158
- package/dist/scripts/src/language-server/server-common.js +0 -152
- package/dist/scripts/src/language-server/server-web-worker.js +0 -47
- package/dist/scripts/src/language-server/server.js +0 -42
- package/dist/scripts/src/language-server/services/common/docs-generation.js +0 -73
- package/dist/scripts/src/language-server/services/common/lsp-utils.js +0 -9
- package/dist/scripts/src/language-server/services/common/metadata-utils.js +0 -157
- package/dist/scripts/src/language-server/services/common/syntax-node-utilities.js +0 -135
- package/dist/scripts/src/language-server/services/completion.js +0 -288
- package/dist/scripts/src/language-server/services/diagnostic.js +0 -19
- package/dist/scripts/src/language-server/services/format.js +0 -430
- package/dist/scripts/src/language-server/services/hover.js +0 -164
- package/dist/scripts/src/language-server/xmlui-metadata-generated.js +0 -16276
- package/dist/scripts/src/logging/LoggerContext.js +0 -22
- package/dist/scripts/src/logging/LoggerInitializer.js +0 -14
- package/dist/scripts/src/logging/LoggerService.js +0 -60
- package/dist/scripts/src/logging/xmlui.js +0 -21
- package/dist/scripts/src/parsers/common/GenericToken.js +0 -2
- package/dist/scripts/src/parsers/common/InputStream.js +0 -59
- package/dist/scripts/src/parsers/common/utils.js +0 -19
- package/dist/scripts/src/parsers/scripting/Lexer.js +0 -1097
- package/dist/scripts/src/parsers/scripting/Parser.js +0 -2638
- package/dist/scripts/src/parsers/scripting/ParserError.js +0 -47
- package/dist/scripts/src/parsers/scripting/ScriptingNodeTypes.js +0 -50
- package/dist/scripts/src/parsers/scripting/TokenTrait.js +0 -108
- package/dist/scripts/src/parsers/scripting/TokenType.js +0 -109
- package/dist/scripts/src/parsers/scripting/code-behind-collect.js +0 -101
- package/dist/scripts/src/parsers/scripting/modules.js +0 -105
- package/dist/scripts/src/parsers/scripting/tree-visitor.js +0 -601
- package/dist/scripts/src/parsers/style-parser/StyleInputStream.js +0 -39
- package/dist/scripts/src/parsers/style-parser/StyleLexer.js +0 -623
- package/dist/scripts/src/parsers/style-parser/StyleParser.js +0 -453
- package/dist/scripts/src/parsers/style-parser/errors.js +0 -37
- package/dist/scripts/src/parsers/style-parser/source-tree.js +0 -2
- package/dist/scripts/src/parsers/style-parser/tokens.js +0 -43
- package/dist/scripts/src/parsers/xmlui-parser/CharacterCodes.js +0 -136
- package/dist/scripts/src/parsers/xmlui-parser/ParserError.js +0 -60
- package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +0 -172
- package/dist/scripts/src/parsers/xmlui-parser/fileExtensions.js +0 -6
- package/dist/scripts/src/parsers/xmlui-parser/index.js +0 -29
- package/dist/scripts/src/parsers/xmlui-parser/lint.js +0 -165
- package/dist/scripts/src/parsers/xmlui-parser/parser.js +0 -626
- package/dist/scripts/src/parsers/xmlui-parser/scanner.js +0 -415
- package/dist/scripts/src/parsers/xmlui-parser/syntax-kind.js +0 -123
- package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +0 -67
- package/dist/scripts/src/parsers/xmlui-parser/transform.js +0 -1131
- package/dist/scripts/src/parsers/xmlui-parser/utils.js +0 -83
- package/dist/scripts/src/parsers/xmlui-parser/xmlui-serializer.js +0 -582
- package/dist/scripts/src/parsers/xmlui-parser/xmlui-tree.js +0 -2
- package/dist/scripts/src/syntax/monaco/grammar.monacoLanguage.js +0 -286
- package/dist/scripts/src/syntax/monaco/index.js +0 -14
- package/dist/scripts/src/syntax/monaco/xmlui-dark.js +0 -25
- package/dist/scripts/src/syntax/monaco/xmlui-light.js +0 -25
- package/dist/scripts/src/syntax/monaco/xmluiscript.monacoLanguage.js +0 -310
- package/dist/scripts/src/syntax/textMate/index.js +0 -14
- package/dist/scripts/src/syntax/textMate/xmlui-dark.json +0 -631
- package/dist/scripts/src/syntax/textMate/xmlui-light.json +0 -565
- package/dist/scripts/src/syntax/textMate/xmlui.json +0 -564
- package/dist/scripts/src/syntax/textMate/xmlui.tmLanguage.json +0 -341
- package/dist/scripts/src/testing/ComponentDrivers.js +0 -1380
- package/dist/scripts/src/testing/assertions.js +0 -444
- package/dist/scripts/src/testing/component-test-helpers.js +0 -373
- package/dist/scripts/src/testing/drivers/DateInputDriver.js +0 -19
- package/dist/scripts/src/testing/drivers/ModalDialogDriver.js +0 -10
- package/dist/scripts/src/testing/drivers/NumberBoxDriver.js +0 -44
- package/dist/scripts/src/testing/drivers/TextBoxDriver.js +0 -20
- package/dist/scripts/src/testing/drivers/TimeInputDriver.js +0 -22
- package/dist/scripts/src/testing/drivers/TimerDriver.js +0 -64
- package/dist/scripts/src/testing/drivers/TreeDriver.js +0 -13
- package/dist/scripts/src/testing/drivers/index.js +0 -9
- package/dist/scripts/src/testing/fixtures.js +0 -519
- package/dist/scripts/src/testing/index.js +0 -69
- package/dist/scripts/src/testing/infrastructure/TestBed.js +0 -17
- package/dist/scripts/src/testing/infrastructure/main.js +0 -9
- package/dist/scripts/src/testing/infrastructure/public/mockServiceWorker.js +0 -266
- package/dist/scripts/src/testing/themed-app-test-helpers.js +0 -133
|
@@ -1,1380 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SliderDriver = exports.DropdownMenuDriver = exports.SpinnerDriver = exports.LabelDriver = exports.CheckboxDriver = exports.CodeBlockDriver = exports.HtmlTagDriver = exports.FormItemDriver = exports.OptionDriver = exports.NoResultDriver = exports.BadgeDriver = exports.AppFooterDriver = exports.AppHeaderDriver = exports.AccordionDriver = exports.CardDriver = exports.NavPanelDriver = exports.NavGroupDriver = exports.NavLinkDriver = exports.LinkDriver = exports.VStackDriver = exports.HStackDriver = exports.StackDriver = exports.IconDriver = exports.HeadingDriver = exports.TextDriver = exports.ListDriver = exports.ProgressBarDriver = exports.TextAreaDriver = exports.RadioGroupDriver = exports.SelectDriver = exports.AutoCompleteDriver = exports.DatePickerDriver = exports.RangeDriver = exports.ItemsDriver = exports.MarkdownDriver = exports.ValidationDisplayDriver = exports.ValidationSummaryDriver = exports.FormDriver = exports.BackdropDriver = exports.FileUploadDropZoneDriver = exports.FileInputDriver = exports.ExpandableItemDriver = exports.SplitterDriver = exports.AvatarDriver = exports.ContentSeparatorDriver = exports.ButtonDriver = exports.TestStateDriver = exports.InputComponentDriver = exports.ComponentDriver = void 0;
|
|
13
|
-
const component_test_helpers_1 = require("./component-test-helpers");
|
|
14
|
-
class ComponentDriver {
|
|
15
|
-
constructor({ locator, page }) {
|
|
16
|
-
// NOTE: methods must be created using the arrow function notation.
|
|
17
|
-
// Otherwise, the "this" will not be correctly bound to the class instance when destructuring.
|
|
18
|
-
this.click = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
yield this.locator.click(options);
|
|
20
|
-
});
|
|
21
|
-
this.dblclick = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
yield this.locator.dblclick(options);
|
|
23
|
-
});
|
|
24
|
-
this.focus = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
yield this.locator.focus(options);
|
|
26
|
-
});
|
|
27
|
-
this.blur = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
yield this.locator.blur(options);
|
|
29
|
-
});
|
|
30
|
-
this.hover = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
yield this.locator.hover(options);
|
|
32
|
-
});
|
|
33
|
-
this.locator = locator;
|
|
34
|
-
this.page = page;
|
|
35
|
-
}
|
|
36
|
-
get component() {
|
|
37
|
-
return this.locator;
|
|
38
|
-
}
|
|
39
|
-
getByTestId(testId) {
|
|
40
|
-
return this.component.getByTestId(testId).first();
|
|
41
|
-
}
|
|
42
|
-
getByPartName(part) {
|
|
43
|
-
return this.component.locator(`[data-part-id="${part}"]`).first();
|
|
44
|
-
}
|
|
45
|
-
getIcons() {
|
|
46
|
-
return this.component.locator('[data-icon-name="*"]');
|
|
47
|
-
}
|
|
48
|
-
getIconsByName(name) {
|
|
49
|
-
return this.component.locator(`[data-icon-name="${name}"]`);
|
|
50
|
-
}
|
|
51
|
-
getIconByName(name) {
|
|
52
|
-
return this.component.locator(`[data-icon-name="${name}"]`).first();
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Gets the html tag name of the final rendered component
|
|
56
|
-
*/
|
|
57
|
-
getComponentTagName() {
|
|
58
|
-
return this.component.evaluate((el) => el.tagName.toLowerCase());
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.ComponentDriver = ComponentDriver;
|
|
62
|
-
class InputComponentDriver extends ComponentDriver {
|
|
63
|
-
get field() {
|
|
64
|
-
return this.getByPartName("input");
|
|
65
|
-
}
|
|
66
|
-
get label() {
|
|
67
|
-
return this.getByPartName("label");
|
|
68
|
-
}
|
|
69
|
-
get placeholder() {
|
|
70
|
-
return this.field.getAttribute("placeholder");
|
|
71
|
-
}
|
|
72
|
-
get requiredIndicator() {
|
|
73
|
-
return this.component.getByText("*");
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.InputComponentDriver = InputComponentDriver;
|
|
77
|
-
class TestStateDriver {
|
|
78
|
-
constructor(testStateLocator) {
|
|
79
|
-
this.testStateLocator = testStateLocator;
|
|
80
|
-
}
|
|
81
|
-
/** returns an async function that can query the test state */
|
|
82
|
-
get testState() {
|
|
83
|
-
return () => __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
const text = yield this.testStateLocator.textContent();
|
|
85
|
-
const testState = text === "undefined" ? undefined : JSON.parse(text);
|
|
86
|
-
return testState;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
exports.TestStateDriver = TestStateDriver;
|
|
91
|
-
// --- Button
|
|
92
|
-
class ButtonDriver extends ComponentDriver {
|
|
93
|
-
// Ensure we either get rtl or ltr strings
|
|
94
|
-
/* async getWritingDirection() {
|
|
95
|
-
// https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir
|
|
96
|
-
const attribute = await this.locator.getAttribute("dir");
|
|
97
|
-
if (attribute && attribute !== "auto") return attribute as "rtl" | "ltr";
|
|
98
|
-
const style = await this.locator.evaluate(
|
|
99
|
-
(element) => window.getComputedStyle(element).direction,
|
|
100
|
-
);
|
|
101
|
-
// Default is ltr: https://developer.mozilla.org/en-US/docs/Web/CSS/direction#values
|
|
102
|
-
return style === "rtl" ? "rtl" : "ltr";
|
|
103
|
-
} */
|
|
104
|
-
// Unused as of yet
|
|
105
|
-
/* async getTextNodes() {
|
|
106
|
-
return await this.locator.evaluate((element) =>
|
|
107
|
-
[...element.childNodes]
|
|
108
|
-
.filter((e) => e.nodeType === Node.TEXT_NODE && e.textContent.trim())
|
|
109
|
-
.map((e) => e.textContent.trim()),
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
*/
|
|
113
|
-
getFirstNonTextNode() {
|
|
114
|
-
return this.locator.locator("> *").first();
|
|
115
|
-
}
|
|
116
|
-
// NOTE: Accounts for icons being passed as children as well
|
|
117
|
-
getIcons() {
|
|
118
|
-
return this.locator.locator("> svg").or(this.locator.locator("> img"));
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
exports.ButtonDriver = ButtonDriver;
|
|
122
|
-
// --- ContentSeparator
|
|
123
|
-
class ContentSeparatorDriver extends ComponentDriver {
|
|
124
|
-
get separator() {
|
|
125
|
-
return this.component;
|
|
126
|
-
}
|
|
127
|
-
getOrientation() {
|
|
128
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
-
const classList = yield this.separator.evaluate((el) => el.className);
|
|
130
|
-
if (classList.includes("horizontal"))
|
|
131
|
-
return "horizontal";
|
|
132
|
-
if (classList.includes("vertical"))
|
|
133
|
-
return "vertical";
|
|
134
|
-
return "unknown";
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
getComputedHeight() {
|
|
138
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
return yield this.separator.evaluate((el) => {
|
|
140
|
-
return window.getComputedStyle(el).height;
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
getComputedWidth() {
|
|
145
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
-
return yield this.separator.evaluate((el) => {
|
|
147
|
-
return window.getComputedStyle(el).width;
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
getBackgroundColor() {
|
|
152
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
-
return yield this.separator.evaluate((el) => {
|
|
154
|
-
return window.getComputedStyle(el).backgroundColor;
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
exports.ContentSeparatorDriver = ContentSeparatorDriver;
|
|
160
|
-
// --- Avatar
|
|
161
|
-
class AvatarDriver extends ComponentDriver {
|
|
162
|
-
}
|
|
163
|
-
exports.AvatarDriver = AvatarDriver;
|
|
164
|
-
// --- Splitter
|
|
165
|
-
class SplitterDriver extends ComponentDriver {
|
|
166
|
-
/**
|
|
167
|
-
* Gets the resizer element (non-floating)
|
|
168
|
-
*/
|
|
169
|
-
getResizer() {
|
|
170
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
-
// Look for the non-floating resizer element
|
|
172
|
-
const allResizerCandidates = this.locator.locator('[class*="resizer"]');
|
|
173
|
-
const resizerCount = yield allResizerCandidates.count();
|
|
174
|
-
for (let i = 0; i < resizerCount; i++) {
|
|
175
|
-
const candidate = allResizerCandidates.nth(i);
|
|
176
|
-
const className = yield candidate.getAttribute("class");
|
|
177
|
-
// Look for resizer that doesn't contain "floating" in its class
|
|
178
|
-
if (className && className.includes("resizer") && !className.includes("floating")) {
|
|
179
|
-
return candidate;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
// Fallback: return first resizer element
|
|
183
|
-
return allResizerCandidates.first();
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Gets the floating resizer element
|
|
188
|
-
*/
|
|
189
|
-
getFloatingResizer() {
|
|
190
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
191
|
-
// Look for the floating resizer element
|
|
192
|
-
const allResizerCandidates = this.locator.locator('[class*="resizer"]');
|
|
193
|
-
const resizerCount = yield allResizerCandidates.count();
|
|
194
|
-
for (let i = 0; i < resizerCount; i++) {
|
|
195
|
-
const candidate = allResizerCandidates.nth(i);
|
|
196
|
-
const className = yield candidate.getAttribute("class");
|
|
197
|
-
// Look for resizer that contains "floating" in its class
|
|
198
|
-
if (className && className.includes("floating")) {
|
|
199
|
-
return candidate;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
// If no floating resizer found, return null locator
|
|
203
|
-
return this.locator.locator('[class*="floating"][class*="resizer"]').first();
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Hovers near the resizer area to trigger floating resizer visibility
|
|
208
|
-
*/
|
|
209
|
-
hoverNearResizer() {
|
|
210
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
-
// Get the center of the splitter and hover there
|
|
212
|
-
const bounds = yield this.locator.boundingBox();
|
|
213
|
-
if (bounds) {
|
|
214
|
-
yield this.page.mouse.move(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2);
|
|
215
|
-
// Wait a bit for the hover effect to take place
|
|
216
|
-
yield this.page.waitForTimeout(200);
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Drags the resizer by the specified offset
|
|
222
|
-
* @param deltaX - Horizontal offset in pixels
|
|
223
|
-
* @param deltaY - Vertical offset in pixels
|
|
224
|
-
*/
|
|
225
|
-
dragResizer(deltaX, deltaY) {
|
|
226
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
-
// Try to get both types of resizers
|
|
228
|
-
const resizer = yield this.getResizer();
|
|
229
|
-
const floatingResizer = yield this.getFloatingResizer();
|
|
230
|
-
// Determine which resizer to use based on visibility
|
|
231
|
-
let targetResizer = resizer;
|
|
232
|
-
try {
|
|
233
|
-
const isResizerVisible = yield resizer.isVisible();
|
|
234
|
-
const isFloatingResizerVisible = yield floatingResizer.isVisible();
|
|
235
|
-
if (!isResizerVisible && isFloatingResizerVisible) {
|
|
236
|
-
targetResizer = floatingResizer;
|
|
237
|
-
}
|
|
238
|
-
else if (!isResizerVisible) {
|
|
239
|
-
// If neither is visible, try to hover to make floating resizer visible
|
|
240
|
-
yield this.hoverNearResizer();
|
|
241
|
-
targetResizer = floatingResizer;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
// If there's any error checking visibility, use the regular resizer
|
|
246
|
-
targetResizer = resizer;
|
|
247
|
-
}
|
|
248
|
-
// Get the resizer bounds
|
|
249
|
-
const resizerBounds = yield targetResizer.boundingBox();
|
|
250
|
-
if (!resizerBounds) {
|
|
251
|
-
throw new Error("Could not get resizer bounds for drag operation");
|
|
252
|
-
}
|
|
253
|
-
const startX = resizerBounds.x + resizerBounds.width / 2;
|
|
254
|
-
const startY = resizerBounds.y + resizerBounds.height / 2;
|
|
255
|
-
const endX = startX + deltaX;
|
|
256
|
-
const endY = startY + deltaY;
|
|
257
|
-
// Perform the drag operation
|
|
258
|
-
yield this.page.mouse.move(startX, startY);
|
|
259
|
-
yield this.page.mouse.down();
|
|
260
|
-
yield this.page.mouse.move(endX, endY, { steps: 5 });
|
|
261
|
-
yield this.page.mouse.up();
|
|
262
|
-
// Wait a bit for the component to update
|
|
263
|
-
yield this.page.waitForTimeout(100);
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Gets the primary panel element
|
|
268
|
-
*/
|
|
269
|
-
getPrimaryPanel() {
|
|
270
|
-
return this.locator.locator('[class*="primaryPanel"]').first();
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Gets the secondary panel element
|
|
274
|
-
*/
|
|
275
|
-
getSecondaryPanel() {
|
|
276
|
-
return this.locator.locator('[class*="secondaryPanel"]').first();
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
exports.SplitterDriver = SplitterDriver;
|
|
280
|
-
// --- ExpandableItem
|
|
281
|
-
class ExpandableItemDriver extends ComponentDriver {
|
|
282
|
-
getSummary() {
|
|
283
|
-
return this.component.locator('[class*="_summary_"]');
|
|
284
|
-
}
|
|
285
|
-
getSummaryContent() {
|
|
286
|
-
return this.component.locator('[class*="_summaryContent_"]');
|
|
287
|
-
}
|
|
288
|
-
getContent() {
|
|
289
|
-
return this.component.locator('[class*="_content_"]');
|
|
290
|
-
}
|
|
291
|
-
getIcon() {
|
|
292
|
-
return this.component.locator('[class*="_icon_"] svg');
|
|
293
|
-
}
|
|
294
|
-
getSwitch() {
|
|
295
|
-
// Get the actual switch input element, not the wrapper
|
|
296
|
-
return this.component.getByRole("switch");
|
|
297
|
-
}
|
|
298
|
-
isExpanded() {
|
|
299
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
300
|
-
return yield this.component.locator('[class*="_content_"]').isVisible();
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
isDisabled() {
|
|
304
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
305
|
-
return yield this.component.evaluate((el) => el.className.includes("disabled"));
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
expand() {
|
|
309
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
310
|
-
if (!(yield this.isExpanded())) {
|
|
311
|
-
yield this.getSummary().click();
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
collapse() {
|
|
316
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
317
|
-
if (yield this.isExpanded()) {
|
|
318
|
-
yield this.getSummary().click();
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
toggle() {
|
|
323
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
324
|
-
yield this.getSummary().click();
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
exports.ExpandableItemDriver = ExpandableItemDriver;
|
|
329
|
-
// --- FileInput
|
|
330
|
-
class FileInputDriver extends ComponentDriver {
|
|
331
|
-
getTextBox() {
|
|
332
|
-
return this.component.locator("input[readonly]");
|
|
333
|
-
}
|
|
334
|
-
getHiddenInput() {
|
|
335
|
-
return this.component.locator('input[type="file"]');
|
|
336
|
-
}
|
|
337
|
-
getBrowseButton() {
|
|
338
|
-
return this.component.locator('[class*="_button_"]');
|
|
339
|
-
}
|
|
340
|
-
getContainer() {
|
|
341
|
-
return this.component;
|
|
342
|
-
}
|
|
343
|
-
isEnabled() {
|
|
344
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
345
|
-
const browseButton = this.getBrowseButton();
|
|
346
|
-
return !(yield browseButton.isDisabled());
|
|
347
|
-
});
|
|
348
|
-
}
|
|
349
|
-
getSelectedFiles() {
|
|
350
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
351
|
-
const textBox = this.getTextBox();
|
|
352
|
-
const value = yield textBox.inputValue();
|
|
353
|
-
return value || "";
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
openFileDialog() {
|
|
357
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
358
|
-
yield this.getBrowseButton().click();
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
getPlaceholder() {
|
|
362
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
363
|
-
const textBox = this.getTextBox();
|
|
364
|
-
return (yield textBox.getAttribute("placeholder")) || "";
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
focusButton() {
|
|
368
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
369
|
-
yield this.getBrowseButton().focus();
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
hasReadOnlyAttribute() {
|
|
373
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
374
|
-
const textBox = this.getTextBox();
|
|
375
|
-
return (yield textBox.getAttribute("readonly")) !== null;
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
getAcceptedFileTypes() {
|
|
379
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
380
|
-
const hiddenInput = this.getHiddenInput();
|
|
381
|
-
return (yield hiddenInput.getAttribute("accept")) || "";
|
|
382
|
-
});
|
|
383
|
-
}
|
|
384
|
-
isMultiple() {
|
|
385
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
386
|
-
const hiddenInput = this.getHiddenInput();
|
|
387
|
-
return (yield hiddenInput.getAttribute("multiple")) !== null;
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
isDirectory() {
|
|
391
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
392
|
-
const hiddenInput = this.getHiddenInput();
|
|
393
|
-
return (yield hiddenInput.getAttribute("webkitdirectory")) !== null;
|
|
394
|
-
});
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
exports.FileInputDriver = FileInputDriver;
|
|
398
|
-
// --- FileUploadDropZone
|
|
399
|
-
class FileUploadDropZoneDriver extends ComponentDriver {
|
|
400
|
-
getWrapper() {
|
|
401
|
-
return this.component.locator('[class*="_wrapper_"]');
|
|
402
|
-
}
|
|
403
|
-
getHiddenInput() {
|
|
404
|
-
return this.component.locator('input[type="file"]');
|
|
405
|
-
}
|
|
406
|
-
getDropPlaceholder() {
|
|
407
|
-
return this.component.locator('[class*="_dropPlaceholder_"]');
|
|
408
|
-
}
|
|
409
|
-
getDropIcon() {
|
|
410
|
-
return this.getDropPlaceholder().locator("svg");
|
|
411
|
-
}
|
|
412
|
-
isDropPlaceholderVisible() {
|
|
413
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
414
|
-
return yield this.getDropPlaceholder().isVisible();
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
isEnabled() {
|
|
418
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
419
|
-
const input = this.getHiddenInput();
|
|
420
|
-
const isDisabled = yield input.isDisabled();
|
|
421
|
-
return !isDisabled;
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
getDropText() {
|
|
425
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
426
|
-
return (yield this.getDropPlaceholder().textContent()) || "";
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
triggerDragEnter() {
|
|
430
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
431
|
-
yield this.component.dispatchEvent("dragenter");
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
triggerDragLeave() {
|
|
435
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
436
|
-
yield this.component.dispatchEvent("dragleave");
|
|
437
|
-
});
|
|
438
|
-
}
|
|
439
|
-
triggerDrop() {
|
|
440
|
-
return __awaiter(this, arguments, void 0, function* (files = ["test.txt"]) {
|
|
441
|
-
// Simulate file drop event by creating File objects and using setInputFiles
|
|
442
|
-
const hiddenInput = this.getHiddenInput();
|
|
443
|
-
// Create temporary files for testing
|
|
444
|
-
const fileObjects = files.map((name) => {
|
|
445
|
-
return {
|
|
446
|
-
name,
|
|
447
|
-
mimeType: "text/plain",
|
|
448
|
-
buffer: Buffer.from("test content"),
|
|
449
|
-
};
|
|
450
|
-
});
|
|
451
|
-
// Set files on the hidden input
|
|
452
|
-
yield hiddenInput.setInputFiles(fileObjects);
|
|
453
|
-
// Trigger the drop event with a proper structure
|
|
454
|
-
yield this.component.evaluate((element, fileNames) => {
|
|
455
|
-
// Create a proper drop event
|
|
456
|
-
const event = new DragEvent("drop", {
|
|
457
|
-
bubbles: true,
|
|
458
|
-
cancelable: true,
|
|
459
|
-
dataTransfer: new DataTransfer(),
|
|
460
|
-
});
|
|
461
|
-
// Add files to dataTransfer if needed for component logic
|
|
462
|
-
fileNames.forEach((fileName) => {
|
|
463
|
-
var _a;
|
|
464
|
-
const file = new File(["test content"], fileName, { type: "text/plain" });
|
|
465
|
-
(_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.items.add(file);
|
|
466
|
-
});
|
|
467
|
-
element.dispatchEvent(event);
|
|
468
|
-
}, files);
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
triggerPaste() {
|
|
472
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
473
|
-
yield this.component.dispatchEvent("paste", {
|
|
474
|
-
clipboardData: {
|
|
475
|
-
files: [{ name: "pasted.txt", type: "text/plain", size: 50 }],
|
|
476
|
-
items: [{ kind: "file", getAsFile: () => ({ name: "pasted.txt" }) }],
|
|
477
|
-
},
|
|
478
|
-
});
|
|
479
|
-
});
|
|
480
|
-
}
|
|
481
|
-
hasChildren() {
|
|
482
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
483
|
-
const childrenCount = yield this.component
|
|
484
|
-
.locator('> *:not(input):not([class*="_dropPlaceholder_"])')
|
|
485
|
-
.count();
|
|
486
|
-
return childrenCount > 0;
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
exports.FileUploadDropZoneDriver = FileUploadDropZoneDriver;
|
|
491
|
-
class BackdropDriver extends ComponentDriver {
|
|
492
|
-
getBackdrop() {
|
|
493
|
-
return this.component.locator("> *").first();
|
|
494
|
-
}
|
|
495
|
-
getOverlay() {
|
|
496
|
-
return this.component.locator("> *").nth(1);
|
|
497
|
-
}
|
|
498
|
-
getDefaultBackgroundColor() {
|
|
499
|
-
return "rgb(0, 0, 0)"; // Default backdrop color
|
|
500
|
-
}
|
|
501
|
-
getDefaultOpacity() {
|
|
502
|
-
return "0.1"; // Default backdrop opacity
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
exports.BackdropDriver = BackdropDriver;
|
|
506
|
-
class FormDriver extends ComponentDriver {
|
|
507
|
-
mockExternalApi(url, apiOptions) {
|
|
508
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
509
|
-
const { status = 200, headers = {}, body = {} } = apiOptions;
|
|
510
|
-
yield this.page.route(url, (route) => route.fulfill({ status, headers, body: JSON.stringify(body) }));
|
|
511
|
-
});
|
|
512
|
-
}
|
|
513
|
-
get submitButton() {
|
|
514
|
-
return this.getByPartName("submitButton");
|
|
515
|
-
}
|
|
516
|
-
get cancelButton() {
|
|
517
|
-
return this.getByPartName("cancelButton");
|
|
518
|
-
}
|
|
519
|
-
hasSubmitButton() {
|
|
520
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
521
|
-
return (yield this.submitButton.count()) > 0;
|
|
522
|
-
});
|
|
523
|
-
}
|
|
524
|
-
submitForm() {
|
|
525
|
-
return __awaiter(this, arguments, void 0, function* (trigger = "click") {
|
|
526
|
-
if (trigger === "keypress") {
|
|
527
|
-
if ((yield this.hasSubmitButton()) && (yield this.submitButton.isEnabled())) {
|
|
528
|
-
yield this.submitButton.focus();
|
|
529
|
-
}
|
|
530
|
-
yield this.locator.locator("input").waitFor();
|
|
531
|
-
const firstInputChild = this.locator.locator("input");
|
|
532
|
-
if ((yield firstInputChild.count()) > 0) {
|
|
533
|
-
yield firstInputChild.first().focus();
|
|
534
|
-
}
|
|
535
|
-
yield this.page.keyboard.press("Enter");
|
|
536
|
-
}
|
|
537
|
-
else if (trigger === "click") {
|
|
538
|
-
yield this.submitButton.click();
|
|
539
|
-
}
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
getSubmitRequest() {
|
|
543
|
-
return __awaiter(this, arguments, void 0, function* (endpoint = "/entities", requestMethod = "POST", trigger = "click", timeout = 5000) {
|
|
544
|
-
const requestPromise = this.page.waitForRequest((request) => request.url().includes(endpoint) &&
|
|
545
|
-
request.method().toLowerCase() === requestMethod.toLowerCase(), { timeout });
|
|
546
|
-
yield this.submitForm(trigger);
|
|
547
|
-
return requestPromise;
|
|
548
|
-
});
|
|
549
|
-
}
|
|
550
|
-
getSubmitResponse(endpoint = "/entities", responseStatus = 200, timeout = 5000) {
|
|
551
|
-
const responsePromise = this.page.waitForResponse((response) => response.url().includes(endpoint) && response.status() === responseStatus, { timeout });
|
|
552
|
-
return responsePromise;
|
|
553
|
-
}
|
|
554
|
-
/**
|
|
555
|
-
* Gets the validation summary component inside the Form.
|
|
556
|
-
* Uses the 'data-validation-summary' attribute to find the component
|
|
557
|
-
*/
|
|
558
|
-
getValidationSummary() {
|
|
559
|
-
return this.component.locator("[data-validation-summary='true']");
|
|
560
|
-
}
|
|
561
|
-
/**
|
|
562
|
-
* Gets the validation display components inside the Form.
|
|
563
|
-
* Uses the 'data-validation-display-severity' attribute to find the components.
|
|
564
|
-
* The attribute contains the severity of the validation.
|
|
565
|
-
*/
|
|
566
|
-
getValidationDisplays() {
|
|
567
|
-
return this.component
|
|
568
|
-
.locator("[data-validation-summary='true']")
|
|
569
|
-
.locator("[data-validation-display-severity]");
|
|
570
|
-
}
|
|
571
|
-
getValidationDisplaysBySeverity(severity) {
|
|
572
|
-
return this.component
|
|
573
|
-
.locator("[data-validation-summary='true']")
|
|
574
|
-
.locator(`[data-validation-display-severity="${severity}"]`);
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
exports.FormDriver = FormDriver;
|
|
578
|
-
// --- ValidationSummary
|
|
579
|
-
class ValidationSummaryDriver extends ComponentDriver {
|
|
580
|
-
/**
|
|
581
|
-
* Gets the validation display components inside the Form.
|
|
582
|
-
* Uses the 'data-validation-display-severity' attribute to find the components.
|
|
583
|
-
* The attribute contains the severity of the validation.
|
|
584
|
-
*/
|
|
585
|
-
getValidationDisplays() {
|
|
586
|
-
return this.component
|
|
587
|
-
.locator("[data-validation-summary='true']")
|
|
588
|
-
.locator("[data-validation-display-severity]");
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
exports.ValidationSummaryDriver = ValidationSummaryDriver;
|
|
592
|
-
// --- ValidationDisplay
|
|
593
|
-
class ValidationDisplayDriver extends ComponentDriver {
|
|
594
|
-
getSeverity() {
|
|
595
|
-
return this.component.getAttribute("data-validation-display-severity");
|
|
596
|
-
}
|
|
597
|
-
getText() {
|
|
598
|
-
return this.component.locator("li").textContent();
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
exports.ValidationDisplayDriver = ValidationDisplayDriver;
|
|
602
|
-
// --- Markdown
|
|
603
|
-
class MarkdownDriver extends ComponentDriver {
|
|
604
|
-
hasHtmlElement(elements) {
|
|
605
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
606
|
-
const contents = yield this.component.innerHTML();
|
|
607
|
-
elements = typeof elements === "string" ? [elements] : elements;
|
|
608
|
-
return elements.map((e) => `<${e}`).reduce((acc, curr) => acc && contents.includes(curr), true);
|
|
609
|
-
});
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
exports.MarkdownDriver = MarkdownDriver;
|
|
613
|
-
// --- Items
|
|
614
|
-
class ItemsDriver extends ComponentDriver {
|
|
615
|
-
}
|
|
616
|
-
exports.ItemsDriver = ItemsDriver;
|
|
617
|
-
// --- Range
|
|
618
|
-
class RangeDriver extends ComponentDriver {
|
|
619
|
-
}
|
|
620
|
-
exports.RangeDriver = RangeDriver;
|
|
621
|
-
// --- DatePicker
|
|
622
|
-
class DatePickerDriver extends ComponentDriver {
|
|
623
|
-
toggleDropdownVisibility() {
|
|
624
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
625
|
-
yield this.component.click();
|
|
626
|
-
});
|
|
627
|
-
}
|
|
628
|
-
pickADay(value) {
|
|
629
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
630
|
-
yield this.component
|
|
631
|
-
.getByRole("gridcell", { name: value })
|
|
632
|
-
.or(this.page.getByRole("gridcell", { name: value }))
|
|
633
|
-
.first()
|
|
634
|
-
.click({ force: true });
|
|
635
|
-
});
|
|
636
|
-
}
|
|
637
|
-
}
|
|
638
|
-
exports.DatePickerDriver = DatePickerDriver;
|
|
639
|
-
// --- AutoComplete
|
|
640
|
-
class AutoCompleteDriver extends ComponentDriver {
|
|
641
|
-
toggleOptionsVisibility() {
|
|
642
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
643
|
-
yield this.component.click();
|
|
644
|
-
});
|
|
645
|
-
}
|
|
646
|
-
selectLabel(value) {
|
|
647
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
648
|
-
yield this.component
|
|
649
|
-
.getByRole("option", { name: value })
|
|
650
|
-
.or(this.page.getByRole("option", { name: value }))
|
|
651
|
-
.first()
|
|
652
|
-
.click({ force: true });
|
|
653
|
-
});
|
|
654
|
-
}
|
|
655
|
-
searchFor(value) {
|
|
656
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
657
|
-
yield this.page.getByRole("combobox").fill(value);
|
|
658
|
-
});
|
|
659
|
-
}
|
|
660
|
-
chooseIndex(index) {
|
|
661
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
662
|
-
yield this.locator
|
|
663
|
-
.getByRole("option")
|
|
664
|
-
.nth(index)
|
|
665
|
-
.or(this.page.getByRole("option").nth(index))
|
|
666
|
-
.first()
|
|
667
|
-
.click();
|
|
668
|
-
});
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
exports.AutoCompleteDriver = AutoCompleteDriver;
|
|
672
|
-
// --- Select
|
|
673
|
-
class SelectDriver extends ComponentDriver {
|
|
674
|
-
toggleOptionsVisibility() {
|
|
675
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
676
|
-
yield this.component.click();
|
|
677
|
-
});
|
|
678
|
-
}
|
|
679
|
-
selectLabel(value) {
|
|
680
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
681
|
-
yield this.component
|
|
682
|
-
.getByRole("option", { name: value })
|
|
683
|
-
.or(this.page.getByRole("option", { name: value }))
|
|
684
|
-
.first()
|
|
685
|
-
.click({ force: true });
|
|
686
|
-
});
|
|
687
|
-
}
|
|
688
|
-
selectFirstLabelPostSearh(label) {
|
|
689
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
690
|
-
yield this.searchFor(label);
|
|
691
|
-
yield this.chooseIndex(0);
|
|
692
|
-
});
|
|
693
|
-
}
|
|
694
|
-
searchFor(value) {
|
|
695
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
696
|
-
yield this.page.getByRole("searchbox").fill(value);
|
|
697
|
-
});
|
|
698
|
-
}
|
|
699
|
-
chooseIndex(index) {
|
|
700
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
701
|
-
yield this.locator
|
|
702
|
-
.getByRole("option")
|
|
703
|
-
.nth(index)
|
|
704
|
-
.or(this.page.getByRole("option").nth(index))
|
|
705
|
-
.first()
|
|
706
|
-
.click();
|
|
707
|
-
});
|
|
708
|
-
}
|
|
709
|
-
selectMultipleLabels(values) {
|
|
710
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
711
|
-
for (const value of values) {
|
|
712
|
-
yield this.component
|
|
713
|
-
.getByRole("option", { name: value })
|
|
714
|
-
.or(this.page.getByRole("option", { name: value }))
|
|
715
|
-
.first()
|
|
716
|
-
.click();
|
|
717
|
-
}
|
|
718
|
-
});
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
exports.SelectDriver = SelectDriver;
|
|
722
|
-
// --- RadioGroup
|
|
723
|
-
class RadioGroupDriver extends ComponentDriver {
|
|
724
|
-
}
|
|
725
|
-
exports.RadioGroupDriver = RadioGroupDriver;
|
|
726
|
-
// --- TextArea
|
|
727
|
-
class TextAreaDriver extends InputComponentDriver {
|
|
728
|
-
}
|
|
729
|
-
exports.TextAreaDriver = TextAreaDriver;
|
|
730
|
-
// --- ProgressBar
|
|
731
|
-
class ProgressBarDriver extends ComponentDriver {
|
|
732
|
-
get bar() {
|
|
733
|
-
return this.component.locator("> div");
|
|
734
|
-
}
|
|
735
|
-
getProgressRatio() {
|
|
736
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
737
|
-
const style = yield this.bar.getAttribute("style");
|
|
738
|
-
if (!style)
|
|
739
|
-
return 0;
|
|
740
|
-
const widthMatch = style.match(/width:\s*(\d+(?:\.\d+)?)%/);
|
|
741
|
-
return widthMatch ? parseFloat(widthMatch[1]) / 100 : 0;
|
|
742
|
-
});
|
|
743
|
-
}
|
|
744
|
-
}
|
|
745
|
-
exports.ProgressBarDriver = ProgressBarDriver;
|
|
746
|
-
// --- List
|
|
747
|
-
class ListDriver extends ComponentDriver {
|
|
748
|
-
/**
|
|
749
|
-
* Gets all list item elements
|
|
750
|
-
*/
|
|
751
|
-
get items() {
|
|
752
|
-
return this.component
|
|
753
|
-
.locator("[data-list-item]")
|
|
754
|
-
.or(this.component.locator("div").filter({ hasText: /^(?!.*Loading).*/ }));
|
|
755
|
-
}
|
|
756
|
-
/**
|
|
757
|
-
* Gets the loading spinner element
|
|
758
|
-
*/
|
|
759
|
-
get loadingSpinner() {
|
|
760
|
-
return this.component.locator('[class*="loadingWrapper"]');
|
|
761
|
-
}
|
|
762
|
-
/**
|
|
763
|
-
* Checks if the loading state is visible
|
|
764
|
-
*/
|
|
765
|
-
isLoading() {
|
|
766
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
767
|
-
return yield this.loadingSpinner.isVisible().catch(() => false);
|
|
768
|
-
});
|
|
769
|
-
}
|
|
770
|
-
/**
|
|
771
|
-
* Gets group header elements
|
|
772
|
-
*/
|
|
773
|
-
get groupHeaders() {
|
|
774
|
-
return this.component
|
|
775
|
-
.locator("[data-group-header]")
|
|
776
|
-
.or(this.component.locator("div").filter({ hasText: /^Category:|^Header:/ }));
|
|
777
|
-
}
|
|
778
|
-
/**
|
|
779
|
-
* Gets group footer elements
|
|
780
|
-
*/
|
|
781
|
-
get groupFooters() {
|
|
782
|
-
return this.component
|
|
783
|
-
.locator("[data-group-footer]")
|
|
784
|
-
.or(this.component.locator("div").filter({ hasText: /^End of/ }));
|
|
785
|
-
}
|
|
786
|
-
/**
|
|
787
|
-
* Gets the empty state element
|
|
788
|
-
*/
|
|
789
|
-
get emptyState() {
|
|
790
|
-
return this.component
|
|
791
|
-
.locator("[data-empty-state]")
|
|
792
|
-
.or(this.component.getByText("No items found!"));
|
|
793
|
-
}
|
|
794
|
-
/**
|
|
795
|
-
* Scrolls the list to a specific position
|
|
796
|
-
*/
|
|
797
|
-
scrollTo(position) {
|
|
798
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
799
|
-
if (position === "top") {
|
|
800
|
-
yield this.component.evaluate((el) => el.scrollTo({ top: 0 }));
|
|
801
|
-
}
|
|
802
|
-
else if (position === "bottom") {
|
|
803
|
-
yield this.component.evaluate((el) => el.scrollTo({ top: el.scrollHeight }));
|
|
804
|
-
}
|
|
805
|
-
else {
|
|
806
|
-
yield this.component.evaluate((el, pos) => el.scrollTo({ top: pos }), position);
|
|
807
|
-
}
|
|
808
|
-
});
|
|
809
|
-
}
|
|
810
|
-
/**
|
|
811
|
-
* Gets the number of visible items (for virtualization testing)
|
|
812
|
-
*/
|
|
813
|
-
getVisibleItemCount() {
|
|
814
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
815
|
-
return yield this.items.count();
|
|
816
|
-
});
|
|
817
|
-
}
|
|
818
|
-
/**
|
|
819
|
-
* Gets item at specific index
|
|
820
|
-
*/
|
|
821
|
-
getItemAt(index) {
|
|
822
|
-
return this.items.nth(index);
|
|
823
|
-
}
|
|
824
|
-
/**
|
|
825
|
-
* Gets item by text content
|
|
826
|
-
*/
|
|
827
|
-
getItemByText(text) {
|
|
828
|
-
return this.component.getByText(text);
|
|
829
|
-
}
|
|
830
|
-
/**
|
|
831
|
-
* Checks if list is empty
|
|
832
|
-
*/
|
|
833
|
-
isEmpty() {
|
|
834
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
835
|
-
// Check for the actual "No data available" text that appears when list is empty
|
|
836
|
-
const noDataText = yield this.component.textContent();
|
|
837
|
-
const hasNoDataMessage = (noDataText === null || noDataText === void 0 ? void 0 : noDataText.includes("No data available")) || (noDataText === null || noDataText === void 0 ? void 0 : noDataText.includes("No items found"));
|
|
838
|
-
// Also check if there are any actual data items
|
|
839
|
-
const itemCount = yield this.items.count();
|
|
840
|
-
const hasDataItems = itemCount > 0 && !hasNoDataMessage;
|
|
841
|
-
return hasNoDataMessage || !hasDataItems;
|
|
842
|
-
});
|
|
843
|
-
}
|
|
844
|
-
/**
|
|
845
|
-
* Gets all text content from visible items
|
|
846
|
-
*/
|
|
847
|
-
getVisibleItemTexts() {
|
|
848
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
849
|
-
const items = yield this.items.all();
|
|
850
|
-
const texts = yield Promise.all(items.map((item) => item.textContent()));
|
|
851
|
-
return texts.filter((text) => text !== null);
|
|
852
|
-
});
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
exports.ListDriver = ListDriver;
|
|
856
|
-
// --- Text
|
|
857
|
-
class TextDriver extends ComponentDriver {
|
|
858
|
-
}
|
|
859
|
-
exports.TextDriver = TextDriver;
|
|
860
|
-
// --- Heading
|
|
861
|
-
class HeadingDriver extends ComponentDriver {
|
|
862
|
-
}
|
|
863
|
-
exports.HeadingDriver = HeadingDriver;
|
|
864
|
-
// --- Icon
|
|
865
|
-
class IconDriver extends ComponentDriver {
|
|
866
|
-
get svgIcon() {
|
|
867
|
-
return this.component.locator("svg");
|
|
868
|
-
}
|
|
869
|
-
}
|
|
870
|
-
exports.IconDriver = IconDriver;
|
|
871
|
-
// --- Stack
|
|
872
|
-
class StackDriver extends ComponentDriver {
|
|
873
|
-
}
|
|
874
|
-
exports.StackDriver = StackDriver;
|
|
875
|
-
// --- HStack
|
|
876
|
-
class HStackDriver extends StackDriver {
|
|
877
|
-
}
|
|
878
|
-
exports.HStackDriver = HStackDriver;
|
|
879
|
-
// --- VStack
|
|
880
|
-
class VStackDriver extends StackDriver {
|
|
881
|
-
}
|
|
882
|
-
exports.VStackDriver = VStackDriver;
|
|
883
|
-
// --- Link
|
|
884
|
-
class LinkDriver extends ComponentDriver {
|
|
885
|
-
}
|
|
886
|
-
exports.LinkDriver = LinkDriver;
|
|
887
|
-
// --- NavLink
|
|
888
|
-
class NavLinkDriver extends ComponentDriver {
|
|
889
|
-
}
|
|
890
|
-
exports.NavLinkDriver = NavLinkDriver;
|
|
891
|
-
// --- NavGroup
|
|
892
|
-
class NavGroupDriver extends ComponentDriver {
|
|
893
|
-
getIcons() {
|
|
894
|
-
return this.locator.locator("> svg").or(this.locator.locator("> img"));
|
|
895
|
-
}
|
|
896
|
-
}
|
|
897
|
-
exports.NavGroupDriver = NavGroupDriver;
|
|
898
|
-
// --- NavPanel
|
|
899
|
-
class NavPanelDriver extends ComponentDriver {
|
|
900
|
-
}
|
|
901
|
-
exports.NavPanelDriver = NavPanelDriver;
|
|
902
|
-
// --- Card
|
|
903
|
-
class CardDriver extends ComponentDriver {
|
|
904
|
-
get avatar() {
|
|
905
|
-
return this.component.getByRole("img", { name: "avatar" });
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
exports.CardDriver = CardDriver;
|
|
909
|
-
// --- Accordion
|
|
910
|
-
class AccordionDriver extends ComponentDriver {
|
|
911
|
-
}
|
|
912
|
-
exports.AccordionDriver = AccordionDriver;
|
|
913
|
-
// --- AppHeader
|
|
914
|
-
class AppHeaderDriver extends ComponentDriver {
|
|
915
|
-
}
|
|
916
|
-
exports.AppHeaderDriver = AppHeaderDriver;
|
|
917
|
-
// --- AppFooter
|
|
918
|
-
class AppFooterDriver extends ComponentDriver {
|
|
919
|
-
}
|
|
920
|
-
exports.AppFooterDriver = AppFooterDriver;
|
|
921
|
-
// --- Badge
|
|
922
|
-
class BadgeDriver extends ComponentDriver {
|
|
923
|
-
}
|
|
924
|
-
exports.BadgeDriver = BadgeDriver;
|
|
925
|
-
// --- NoResult
|
|
926
|
-
class NoResultDriver extends ComponentDriver {
|
|
927
|
-
}
|
|
928
|
-
exports.NoResultDriver = NoResultDriver;
|
|
929
|
-
// --- Option
|
|
930
|
-
class OptionDriver extends ComponentDriver {
|
|
931
|
-
}
|
|
932
|
-
exports.OptionDriver = OptionDriver;
|
|
933
|
-
// --- FormItem
|
|
934
|
-
// NOTE (NEW): FormItem will be removed, delete this Driver
|
|
935
|
-
// NOTE: Do not delete these comments.
|
|
936
|
-
// This is an untested proposal to shorten code length.
|
|
937
|
-
// Now, you have to provide the .input element for a specific control driver:
|
|
938
|
-
//
|
|
939
|
-
// element = FormItemDriver().input -> TextBoxDriver(element)
|
|
940
|
-
//
|
|
941
|
-
// This can be shortened to FormItemDriver().input.as("TextBoxDriver") if we extend
|
|
942
|
-
// the locator object only for the return type of the "input" getter to support the "as" method
|
|
943
|
-
//
|
|
944
|
-
/* type DriverMap = {
|
|
945
|
-
TextBoxDriver: TextBoxDriver;
|
|
946
|
-
NumberBoxDriver: NumberBoxDriver;
|
|
947
|
-
};
|
|
948
|
-
|
|
949
|
-
const driverConstructors: {
|
|
950
|
-
[K in keyof DriverMap]: new (obj: ComponentDriverParams) => DriverMap[K]
|
|
951
|
-
} = {
|
|
952
|
-
TextBoxDriver,
|
|
953
|
-
NumberBoxDriver
|
|
954
|
-
};
|
|
955
|
-
|
|
956
|
-
export interface ExtendedLocator extends Locator {
|
|
957
|
-
as?: <K extends keyof DriverMap>(type: K) => DriverMap[K];
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
export const extendLocator = (
|
|
961
|
-
locator: Locator,
|
|
962
|
-
): ExtendedLocator => ({
|
|
963
|
-
...locator,
|
|
964
|
-
locator: (selector, options) =>
|
|
965
|
-
extendLocator(locator.locator(selector, options)),
|
|
966
|
-
as: (type) => { return new driverConstructors[type]({ locator, page: locator.page() }); }
|
|
967
|
-
}); */
|
|
968
|
-
class FormItemDriver extends ComponentDriver {
|
|
969
|
-
get input() {
|
|
970
|
-
return this.component.locator(">input").or(this.component).first();
|
|
971
|
-
}
|
|
972
|
-
get textBox() {
|
|
973
|
-
return this.input.getByRole("textbox");
|
|
974
|
-
}
|
|
975
|
-
get checkbox() {
|
|
976
|
-
return this.input.getByRole("checkbox");
|
|
977
|
-
}
|
|
978
|
-
get label() {
|
|
979
|
-
return this.component.locator("label");
|
|
980
|
-
}
|
|
981
|
-
get validationStatusTag() {
|
|
982
|
-
return "data-validation-status";
|
|
983
|
-
}
|
|
984
|
-
get validationStatusIndicator() {
|
|
985
|
-
return this.component.locator(`[${this.validationStatusTag}]`);
|
|
986
|
-
}
|
|
987
|
-
}
|
|
988
|
-
exports.FormItemDriver = FormItemDriver;
|
|
989
|
-
// --- htmlTags
|
|
990
|
-
class HtmlTagDriver extends ComponentDriver {
|
|
991
|
-
}
|
|
992
|
-
exports.HtmlTagDriver = HtmlTagDriver;
|
|
993
|
-
// --- CodeBlock
|
|
994
|
-
class CodeBlockDriver extends ComponentDriver {
|
|
995
|
-
getHeader() {
|
|
996
|
-
return this.component.locator('[class*="codeBlockHeader"]');
|
|
997
|
-
}
|
|
998
|
-
getContent() {
|
|
999
|
-
return this.component.locator('[class*="codeBlockContent"]');
|
|
1000
|
-
}
|
|
1001
|
-
getCopyButton() {
|
|
1002
|
-
return this.component.locator('[class*="codeBlockCopyButton"] button');
|
|
1003
|
-
}
|
|
1004
|
-
getFilename() {
|
|
1005
|
-
return this.getHeader().locator("span");
|
|
1006
|
-
}
|
|
1007
|
-
isCopyButtonVisible() {
|
|
1008
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1009
|
-
return yield this.getCopyButton().isVisible();
|
|
1010
|
-
});
|
|
1011
|
-
}
|
|
1012
|
-
hasHeader() {
|
|
1013
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1014
|
-
return yield this.getHeader().isVisible();
|
|
1015
|
-
});
|
|
1016
|
-
}
|
|
1017
|
-
getCodeText() {
|
|
1018
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1019
|
-
return yield this.getContent().textContent();
|
|
1020
|
-
});
|
|
1021
|
-
}
|
|
1022
|
-
clickCopyButton() {
|
|
1023
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1024
|
-
yield this.getCopyButton().click();
|
|
1025
|
-
});
|
|
1026
|
-
}
|
|
1027
|
-
hoverContent() {
|
|
1028
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1029
|
-
yield this.getContent().hover();
|
|
1030
|
-
});
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
|
-
exports.CodeBlockDriver = CodeBlockDriver;
|
|
1034
|
-
// --- Checkbox
|
|
1035
|
-
class CheckboxDriver extends InputComponentDriver {
|
|
1036
|
-
getIndicatorColor() {
|
|
1037
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1038
|
-
const specifier = this.component.getByRole("checkbox").or(this.component).last();
|
|
1039
|
-
const { boxShadow } = yield (0, component_test_helpers_1.getPseudoStyles)(specifier, "::before", "box-shadow");
|
|
1040
|
-
const colorMatch = boxShadow.match(/(rgba?\([^)]+\)|hsla?\([^)]+\)|#[a-fA-F0-9]{3,8})/);
|
|
1041
|
-
return colorMatch ? colorMatch[1] : null;
|
|
1042
|
-
});
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
exports.CheckboxDriver = CheckboxDriver;
|
|
1046
|
-
// --- Label
|
|
1047
|
-
class LabelDriver extends ComponentDriver {
|
|
1048
|
-
}
|
|
1049
|
-
exports.LabelDriver = LabelDriver;
|
|
1050
|
-
// --- Spinner
|
|
1051
|
-
class SpinnerDriver extends ComponentDriver {
|
|
1052
|
-
/**
|
|
1053
|
-
* Gets the main spinner element (the one with the ring animation)
|
|
1054
|
-
*/
|
|
1055
|
-
get spinnerElement() {
|
|
1056
|
-
// Filter for spinner elements and use the first one by default
|
|
1057
|
-
return this.page
|
|
1058
|
-
.locator('[data-testid="test-id-component"]')
|
|
1059
|
-
.filter({ has: this.page.locator("div") })
|
|
1060
|
-
.first();
|
|
1061
|
-
}
|
|
1062
|
-
/**
|
|
1063
|
-
* Gets a specific spinner element by index (for multiple spinners)
|
|
1064
|
-
*/
|
|
1065
|
-
getSpinnerByIndex(index) {
|
|
1066
|
-
return this.page
|
|
1067
|
-
.locator('[data-testid="test-id-component"]')
|
|
1068
|
-
.filter({ has: this.page.locator("div") })
|
|
1069
|
-
.nth(index);
|
|
1070
|
-
}
|
|
1071
|
-
/**
|
|
1072
|
-
* Gets the fullscreen wrapper element (only exists when fullScreen=true)
|
|
1073
|
-
*/
|
|
1074
|
-
get fullScreenWrapper() {
|
|
1075
|
-
return this.page.locator('div[class*="_fullScreenSpinnerWrapper_"]');
|
|
1076
|
-
}
|
|
1077
|
-
/**
|
|
1078
|
-
* Checks if the spinner is in fullscreen mode
|
|
1079
|
-
*/
|
|
1080
|
-
isFullScreen() {
|
|
1081
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1082
|
-
try {
|
|
1083
|
-
const wrapper = this.fullScreenWrapper;
|
|
1084
|
-
return yield wrapper.isVisible();
|
|
1085
|
-
}
|
|
1086
|
-
catch (_a) {
|
|
1087
|
-
return false;
|
|
1088
|
-
}
|
|
1089
|
-
});
|
|
1090
|
-
}
|
|
1091
|
-
/**
|
|
1092
|
-
* Gets the computed style of the spinner element
|
|
1093
|
-
*/
|
|
1094
|
-
getSpinnerStyle() {
|
|
1095
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1096
|
-
const element = this.spinnerElement;
|
|
1097
|
-
return yield element.evaluate((el) => {
|
|
1098
|
-
const styles = window.getComputedStyle(el);
|
|
1099
|
-
return {
|
|
1100
|
-
display: styles.display,
|
|
1101
|
-
position: styles.position,
|
|
1102
|
-
width: styles.width,
|
|
1103
|
-
height: styles.height,
|
|
1104
|
-
animationDuration: styles.animationDuration,
|
|
1105
|
-
className: el.className,
|
|
1106
|
-
};
|
|
1107
|
-
});
|
|
1108
|
-
});
|
|
1109
|
-
}
|
|
1110
|
-
/**
|
|
1111
|
-
* Gets the animation duration from the child elements (where the actual animation occurs)
|
|
1112
|
-
*/
|
|
1113
|
-
getAnimationDuration() {
|
|
1114
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1115
|
-
const element = this.spinnerElement;
|
|
1116
|
-
return yield element.evaluate((el) => {
|
|
1117
|
-
// Check the first child div for animation duration
|
|
1118
|
-
const firstChild = el.querySelector("div");
|
|
1119
|
-
if (firstChild) {
|
|
1120
|
-
const styles = window.getComputedStyle(firstChild);
|
|
1121
|
-
return styles.animationDuration;
|
|
1122
|
-
}
|
|
1123
|
-
return "0s";
|
|
1124
|
-
});
|
|
1125
|
-
});
|
|
1126
|
-
}
|
|
1127
|
-
/**
|
|
1128
|
-
* Waits for the spinner to appear
|
|
1129
|
-
*/
|
|
1130
|
-
waitForSpinner() {
|
|
1131
|
-
return __awaiter(this, arguments, void 0, function* (timeout = 5000) {
|
|
1132
|
-
yield this.spinnerElement.waitFor({ state: "visible", timeout });
|
|
1133
|
-
});
|
|
1134
|
-
}
|
|
1135
|
-
/**
|
|
1136
|
-
* Waits for the spinner to disappear
|
|
1137
|
-
*/
|
|
1138
|
-
waitForSpinnerToDisappear() {
|
|
1139
|
-
return __awaiter(this, arguments, void 0, function* (timeout = 5000) {
|
|
1140
|
-
yield this.spinnerElement.waitFor({ state: "hidden", timeout });
|
|
1141
|
-
});
|
|
1142
|
-
}
|
|
1143
|
-
/**
|
|
1144
|
-
* Checks if the spinner is visible
|
|
1145
|
-
*/
|
|
1146
|
-
isVisible() {
|
|
1147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1148
|
-
return yield this.spinnerElement.isVisible();
|
|
1149
|
-
});
|
|
1150
|
-
}
|
|
1151
|
-
/**
|
|
1152
|
-
* Gets the CSS class name to verify CSS modules are working
|
|
1153
|
-
*/
|
|
1154
|
-
getClassName() {
|
|
1155
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1156
|
-
return (yield this.spinnerElement.getAttribute("class")) || "";
|
|
1157
|
-
});
|
|
1158
|
-
}
|
|
1159
|
-
/**
|
|
1160
|
-
* Gets the number of child div elements (should be 4 for the ring animation)
|
|
1161
|
-
*/
|
|
1162
|
-
getChildCount() {
|
|
1163
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1164
|
-
return yield this.spinnerElement.evaluate((el) => {
|
|
1165
|
-
return el.querySelectorAll("div").length;
|
|
1166
|
-
});
|
|
1167
|
-
});
|
|
1168
|
-
}
|
|
1169
|
-
/**
|
|
1170
|
-
* Gets the total number of spinner components on the page
|
|
1171
|
-
*/
|
|
1172
|
-
getSpinnerCount() {
|
|
1173
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1174
|
-
return yield this.page.locator('[data-testid="test-id-component"]').count();
|
|
1175
|
-
});
|
|
1176
|
-
}
|
|
1177
|
-
/**
|
|
1178
|
-
* Gets a spinner by specific test ID
|
|
1179
|
-
*/
|
|
1180
|
-
getSpinnerByTestId(testId) {
|
|
1181
|
-
return this.page.locator(`[data-testid="${testId}"]`);
|
|
1182
|
-
}
|
|
1183
|
-
/**
|
|
1184
|
-
* Checks if fullscreen mode has the correct wrapper structure
|
|
1185
|
-
*/
|
|
1186
|
-
getFullScreenWrapperInfo() {
|
|
1187
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1188
|
-
const wrapper = this.fullScreenWrapper;
|
|
1189
|
-
if (!(yield wrapper.isVisible())) {
|
|
1190
|
-
return null;
|
|
1191
|
-
}
|
|
1192
|
-
return yield wrapper.evaluate((el) => {
|
|
1193
|
-
const parent = el.parentElement;
|
|
1194
|
-
const styles = window.getComputedStyle(el);
|
|
1195
|
-
return {
|
|
1196
|
-
position: styles.position,
|
|
1197
|
-
inset: styles.inset,
|
|
1198
|
-
parentClassName: (parent === null || parent === void 0 ? void 0 : parent.className) || "",
|
|
1199
|
-
hasSpinnerChild: !!el.querySelector('[class*="_lds-ring_"]'),
|
|
1200
|
-
};
|
|
1201
|
-
});
|
|
1202
|
-
});
|
|
1203
|
-
}
|
|
1204
|
-
}
|
|
1205
|
-
exports.SpinnerDriver = SpinnerDriver;
|
|
1206
|
-
// --- DropdownMenu
|
|
1207
|
-
class DropdownMenuDriver extends ComponentDriver {
|
|
1208
|
-
/**
|
|
1209
|
-
* Get the trigger button element
|
|
1210
|
-
* For DropdownMenu, we'll look for the button on the page level since Radix UI may render it separately
|
|
1211
|
-
*/
|
|
1212
|
-
getTrigger() {
|
|
1213
|
-
return this.page.getByRole("button").first();
|
|
1214
|
-
}
|
|
1215
|
-
/**
|
|
1216
|
-
* Open the dropdown menu
|
|
1217
|
-
*/
|
|
1218
|
-
open() {
|
|
1219
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1220
|
-
const trigger = this.getTrigger();
|
|
1221
|
-
yield trigger.click();
|
|
1222
|
-
});
|
|
1223
|
-
}
|
|
1224
|
-
/**
|
|
1225
|
-
* Close the dropdown menu by clicking outside
|
|
1226
|
-
*/
|
|
1227
|
-
close() {
|
|
1228
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1229
|
-
// Try clicking on the trigger first to close, then fall back to clicking outside
|
|
1230
|
-
try {
|
|
1231
|
-
yield this.page.keyboard.press("Escape");
|
|
1232
|
-
}
|
|
1233
|
-
catch (_a) {
|
|
1234
|
-
// If escape doesn't work, try clicking on a safe area
|
|
1235
|
-
yield this.page.click("html");
|
|
1236
|
-
}
|
|
1237
|
-
});
|
|
1238
|
-
}
|
|
1239
|
-
/**
|
|
1240
|
-
* Get all menu items
|
|
1241
|
-
*/
|
|
1242
|
-
getMenuItems() {
|
|
1243
|
-
return this.page.getByRole("menuitem");
|
|
1244
|
-
}
|
|
1245
|
-
/**
|
|
1246
|
-
* Get a specific menu item by text
|
|
1247
|
-
*/
|
|
1248
|
-
getMenuItem(text) {
|
|
1249
|
-
return this.page.getByRole("menuitem", { name: text });
|
|
1250
|
-
}
|
|
1251
|
-
/**
|
|
1252
|
-
* Click a menu item by text
|
|
1253
|
-
*/
|
|
1254
|
-
clickMenuItem(text) {
|
|
1255
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1256
|
-
yield this.getMenuItem(text).click();
|
|
1257
|
-
});
|
|
1258
|
-
}
|
|
1259
|
-
/**
|
|
1260
|
-
* Get submenu items
|
|
1261
|
-
*/
|
|
1262
|
-
getSubMenuItems(parentText) {
|
|
1263
|
-
// First hover over the parent submenu to open it
|
|
1264
|
-
return this.page.getByText(parentText);
|
|
1265
|
-
}
|
|
1266
|
-
/**
|
|
1267
|
-
* Open a submenu by hovering over it
|
|
1268
|
-
*/
|
|
1269
|
-
openSubMenu(submenuText) {
|
|
1270
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1271
|
-
yield this.page.getByText(submenuText).hover();
|
|
1272
|
-
});
|
|
1273
|
-
}
|
|
1274
|
-
/**
|
|
1275
|
-
* Get menu separators
|
|
1276
|
-
*/
|
|
1277
|
-
getMenuSeparators() {
|
|
1278
|
-
return this.page.locator('[class*="DropdownMenuSeparator"]');
|
|
1279
|
-
}
|
|
1280
|
-
/**
|
|
1281
|
-
* Get the menu content container
|
|
1282
|
-
*/
|
|
1283
|
-
getMenuContent() {
|
|
1284
|
-
return this.page.locator('[class*="DropdownMenuContent"]');
|
|
1285
|
-
}
|
|
1286
|
-
/**
|
|
1287
|
-
* Check if the menu is open
|
|
1288
|
-
*/
|
|
1289
|
-
isOpen() {
|
|
1290
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1291
|
-
try {
|
|
1292
|
-
const content = this.getMenuContent();
|
|
1293
|
-
return yield content.isVisible();
|
|
1294
|
-
}
|
|
1295
|
-
catch (_a) {
|
|
1296
|
-
return false;
|
|
1297
|
-
}
|
|
1298
|
-
});
|
|
1299
|
-
}
|
|
1300
|
-
/**
|
|
1301
|
-
* Wait for menu to open
|
|
1302
|
-
*/
|
|
1303
|
-
waitForOpen() {
|
|
1304
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1305
|
-
yield this.getMenuContent().waitFor({ state: "visible" });
|
|
1306
|
-
});
|
|
1307
|
-
}
|
|
1308
|
-
/**
|
|
1309
|
-
* Wait for menu to close
|
|
1310
|
-
*/
|
|
1311
|
-
waitForClose() {
|
|
1312
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1313
|
-
yield this.getMenuContent().waitFor({ state: "hidden" });
|
|
1314
|
-
});
|
|
1315
|
-
}
|
|
1316
|
-
}
|
|
1317
|
-
exports.DropdownMenuDriver = DropdownMenuDriver;
|
|
1318
|
-
// --- Slider
|
|
1319
|
-
class SliderDriver extends ComponentDriver {
|
|
1320
|
-
getActiveThumb() {
|
|
1321
|
-
return __awaiter(this, arguments, void 0, function* (thumbNumber = 0) {
|
|
1322
|
-
const thumbs = this.page.getByRole("slider");
|
|
1323
|
-
const thumbCount = yield thumbs.count();
|
|
1324
|
-
if (thumbCount === 0) {
|
|
1325
|
-
throw new Error("No slider thumb found to drag");
|
|
1326
|
-
}
|
|
1327
|
-
if (thumbNumber < 0) {
|
|
1328
|
-
thumbNumber = 0;
|
|
1329
|
-
}
|
|
1330
|
-
else if (thumbNumber >= thumbCount) {
|
|
1331
|
-
thumbNumber = thumbCount - 1;
|
|
1332
|
-
}
|
|
1333
|
-
return thumbs.nth(thumbNumber);
|
|
1334
|
-
});
|
|
1335
|
-
}
|
|
1336
|
-
dragThumbByMouse(location_1) {
|
|
1337
|
-
return __awaiter(this, arguments, void 0, function* (location, thumbNumber = 0) {
|
|
1338
|
-
const track = this.page.locator("[data-track]");
|
|
1339
|
-
yield track.waitFor({ state: "visible" });
|
|
1340
|
-
const activeThumb = yield this.getActiveThumb(thumbNumber);
|
|
1341
|
-
yield activeThumb.waitFor({ state: "visible" });
|
|
1342
|
-
// Get the thumb's current position for relative movement
|
|
1343
|
-
const thumbBox = yield activeThumb.boundingBox();
|
|
1344
|
-
if (!thumbBox) {
|
|
1345
|
-
throw new Error("Could not get thumb bounding box");
|
|
1346
|
-
}
|
|
1347
|
-
const trackBox = yield track.boundingBox();
|
|
1348
|
-
if (!trackBox) {
|
|
1349
|
-
throw new Error("Could not get track bounding box");
|
|
1350
|
-
}
|
|
1351
|
-
// Calculate target position relative to track
|
|
1352
|
-
let targetX;
|
|
1353
|
-
if (location === "start") {
|
|
1354
|
-
targetX = trackBox.x;
|
|
1355
|
-
}
|
|
1356
|
-
else if (location === "end") {
|
|
1357
|
-
targetX = trackBox.x + trackBox.width;
|
|
1358
|
-
}
|
|
1359
|
-
else {
|
|
1360
|
-
// middle
|
|
1361
|
-
targetX = trackBox.x + trackBox.width / 2;
|
|
1362
|
-
}
|
|
1363
|
-
const targetY = trackBox.y + trackBox.height / 2;
|
|
1364
|
-
yield activeThumb.hover();
|
|
1365
|
-
yield this.page.mouse.down({ button: "left" });
|
|
1366
|
-
yield this.page.mouse.move(targetX, targetY);
|
|
1367
|
-
yield this.page.mouse.up();
|
|
1368
|
-
});
|
|
1369
|
-
}
|
|
1370
|
-
stepThumbByKeyboard(key_1) {
|
|
1371
|
-
return __awaiter(this, arguments, void 0, function* (key, thumbNumber = 0, repeat = 1) {
|
|
1372
|
-
const activeThumb = yield this.getActiveThumb(thumbNumber);
|
|
1373
|
-
yield activeThumb.focus();
|
|
1374
|
-
for (let i = 0; i < repeat; i++) {
|
|
1375
|
-
yield this.page.keyboard.press(key);
|
|
1376
|
-
}
|
|
1377
|
-
});
|
|
1378
|
-
}
|
|
1379
|
-
}
|
|
1380
|
-
exports.SliderDriver = SliderDriver;
|