@redocly/theme 0.69.0-next.9 → 0.70.0-next.0
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/lib/components/Buttons/DownloadButton.js +13 -3
- package/lib/components/Catalog/Catalog.d.ts +2 -2
- package/lib/components/Catalog/CatalogActionsRow.d.ts +3 -2
- package/lib/components/Catalog/CatalogCardView/CatalogCard.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntities.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntities.js +1 -0
- package/lib/components/Catalog/CatalogEntitiesEmptyState.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.js +1 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.d.ts +3 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.js +45 -23
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.js +67 -33
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityRevisionItem.d.ts +3 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityRevisionItem.js +15 -3
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.d.ts +3 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.js +48 -57
- package/lib/components/Catalog/CatalogEntity/CatalogEntityInfoBar.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityLinks.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +1 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.d.ts +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.d.ts +2 -3
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.d.ts +3 -4
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.d.ts +3 -4
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +1 -2
- package/lib/components/Catalog/CatalogEntityIcon.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntityTypeTag.d.ts +2 -2
- package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.d.ts +1 -1
- package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.js +1 -2
- package/lib/components/Catalog/CatalogHighlight.d.ts +2 -1
- package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.d.ts +2 -1
- package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.d.ts +1 -1
- package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.d.ts +2 -1
- package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.d.ts +2 -2
- package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.d.ts +2 -2
- package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.d.ts +1 -1
- package/lib/components/Catalog/CatalogSelector.d.ts +3 -2
- package/lib/components/Catalog/CatalogTableView/CatalogEntityCell.d.ts +1 -1
- package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.d.ts +1 -1
- package/lib/components/Catalog/CatalogTableView/CatalogTableView.d.ts +2 -1
- package/lib/components/Catalog/CatalogTableView/CatalogTableViewRow.d.ts +2 -1
- package/lib/components/Catalog/CatalogTableView/CatalogTagsCell.d.ts +1 -1
- package/lib/components/Catalog/CatalogTags.d.ts +2 -2
- package/lib/components/Catalog/CatalogViewModeToggle.d.ts +1 -1
- package/lib/components/Catalog/variables.js +24 -33
- package/lib/components/CatalogClassic/CatalogClassicInfoBlock.d.ts +1 -1
- package/lib/components/CatalogClassic/CatalogClassicInfoBlock.js +1 -2
- package/lib/components/CatalogClassic/CatalogClassicVirtualizedGroups.d.ts +1 -1
- package/lib/components/CodeBlock/CodeBlockControls.d.ts +1 -1
- package/lib/components/Dropdown/Dropdown.js +7 -1
- package/lib/components/Filter/FilterOptionLabel.d.ts +1 -1
- package/lib/components/LoadMore/LoadMore.d.ts +1 -1
- package/lib/components/MCP/McpConnectionTabs.js +22 -12
- package/lib/components/Markdown/Markdown.js +1 -3
- package/lib/components/Markdown/styles/base-table.js +8 -0
- package/lib/components/Markdown/variables.js +1 -2
- package/lib/components/PageActions/PageActions.d.ts +1 -1
- package/lib/components/Search/SearchAiDialog.d.ts +1 -1
- package/lib/components/Search/SearchAiDialog.js +3 -0
- package/lib/components/Search/SearchAiMessage.d.ts +1 -2
- package/lib/components/Search/SearchAiMessage.js +8 -10
- package/lib/components/Search/SearchAiResponse.d.ts +1 -1
- package/lib/components/Search/SearchGroups.d.ts +1 -1
- package/lib/core/constants/markdown.d.ts +2 -0
- package/lib/core/constants/markdown.js +3 -1
- package/lib/core/contexts/AccordionGroupContext.d.ts +1 -0
- package/lib/core/contexts/AccordionGroupContext.js +6 -0
- package/lib/core/contexts/PageActionsContext.d.ts +5 -0
- package/lib/core/contexts/PageActionsContext.js +10 -0
- package/lib/core/contexts/index.d.ts +2 -0
- package/lib/core/contexts/index.js +2 -0
- package/lib/core/hooks/catalog/use-catalog-entity-schema.d.ts +1 -1
- package/lib/core/hooks/catalog/use-catalog-table-header-cell-actions.d.ts +1 -1
- package/lib/core/hooks/catalog/use-graph.d.ts +3 -3
- package/lib/core/hooks/code-walkthrough/use-code-walkthrough-steps.js +1 -0
- package/lib/core/hooks/use-active-heading.js +4 -0
- package/lib/core/hooks/use-active-section-id.js +6 -0
- package/lib/core/hooks/use-connect-mcp-button.js +7 -2
- package/lib/core/hooks/use-element-size.d.ts +1 -1
- package/lib/core/hooks/use-product-picker.js +1 -1
- package/lib/core/hooks/use-tabs.js +4 -2
- package/lib/core/hooks/use-telemetry-fallback.d.ts +2 -0
- package/lib/core/hooks/use-telemetry-fallback.js +2 -0
- package/lib/core/styles/global.js +1 -0
- package/lib/core/types/catalog.d.ts +2 -3
- package/lib/core/types/common.d.ts +1 -1
- package/lib/core/types/hooks.d.ts +4 -7
- package/lib/core/utils/class-names.d.ts +1 -0
- package/lib/core/utils/class-names.js +7 -0
- package/lib/core/utils/mcp.d.ts +0 -1
- package/lib/core/utils/mcp.js +0 -13
- package/lib/core/utils/menu.d.ts +2 -2
- package/lib/core/utils/urls.js +1 -3
- package/lib/ext/use-configure-replay.d.ts +1 -1
- package/lib/layouts/OIDCForbidden.js +1 -1
- package/lib/markdoc/components/Accordion/Accordion.js +6 -6
- package/lib/markdoc/components/Accordion/AccordionGroup.d.ts +2 -1
- package/lib/markdoc/components/Accordion/AccordionGroup.js +39 -3
- package/lib/markdoc/components/CodeWalkthrough/CodePanelPreview.d.ts +1 -2
- package/lib/markdoc/components/Diagram/Diagram.d.ts +1 -1
- package/lib/markdoc/components/Diagram/Diagram.js +1 -2
- package/lib/markdoc/components/Heading/Heading.js +5 -2
- package/lib/markdoc/components/Tabs/Tab.d.ts +1 -1
- package/lib/markdoc/components/Tabs/TabList.d.ts +1 -1
- package/lib/markdoc/tags/accordion-group.js +3 -0
- package/lib/markdoc/tags/code-walkthrough.d.ts +1 -1
- package/lib/markdoc/tags/markdoc-example.js +34 -22
- package/package.json +2 -2
- package/src/components/Buttons/DownloadButton.tsx +16 -8
- package/src/components/Catalog/Catalog.tsx +4 -4
- package/src/components/Catalog/CatalogActionsRow.tsx +3 -2
- package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +3 -2
- package/src/components/Catalog/CatalogEntities.tsx +4 -2
- package/src/components/Catalog/CatalogEntitiesEmptyState.tsx +2 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +6 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.tsx +4 -5
- package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.tsx +56 -35
- package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.tsx +80 -42
- package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityRevisionItem.tsx +18 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.tsx +61 -75
- package/src/components/Catalog/CatalogEntity/CatalogEntityInfoBar.tsx +2 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityLinks.tsx +1 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityMetadata.tsx +1 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.tsx +1 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.tsx +2 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.tsx +3 -4
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +2 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.tsx +7 -4
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.tsx +2 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.tsx +7 -4
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.tsx +3 -4
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +3 -2
- package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +1 -2
- package/src/components/Catalog/CatalogEntityIcon.tsx +3 -2
- package/src/components/Catalog/CatalogEntityTypeTag.tsx +3 -2
- package/src/components/Catalog/CatalogFilter/CatalogFilterContent.tsx +2 -4
- package/src/components/Catalog/CatalogHighlight.tsx +2 -1
- package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.tsx +2 -1
- package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.tsx +2 -1
- package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.tsx +2 -1
- package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.tsx +3 -2
- package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.tsx +3 -2
- package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.tsx +2 -1
- package/src/components/Catalog/CatalogSelector.tsx +3 -2
- package/src/components/Catalog/CatalogTableView/CatalogEntityCell.tsx +1 -1
- package/src/components/Catalog/CatalogTableView/CatalogTableHeaderCell.tsx +1 -1
- package/src/components/Catalog/CatalogTableView/CatalogTableView.tsx +2 -1
- package/src/components/Catalog/CatalogTableView/CatalogTableViewRow.tsx +2 -1
- package/src/components/Catalog/CatalogTableView/CatalogTagsCell.tsx +1 -1
- package/src/components/Catalog/CatalogTags.tsx +4 -2
- package/src/components/Catalog/CatalogViewModeToggle.tsx +1 -1
- package/src/components/Catalog/variables.ts +24 -33
- package/src/components/CatalogClassic/CatalogClassicInfoBlock.tsx +2 -5
- package/src/components/CatalogClassic/CatalogClassicVirtualizedGroups.tsx +1 -1
- package/src/components/CodeBlock/CodeBlockControls.tsx +2 -1
- package/src/components/Dropdown/Dropdown.tsx +5 -1
- package/src/components/Filter/FilterOptionLabel.tsx +1 -1
- package/src/components/LoadMore/LoadMore.tsx +2 -1
- package/src/components/MCP/McpConnectionTabs.tsx +35 -14
- package/src/components/Markdown/Markdown.tsx +1 -3
- package/src/components/Markdown/styles/base-table.ts +8 -0
- package/src/components/Markdown/variables.ts +1 -2
- package/src/components/PageActions/PageActions.tsx +2 -1
- package/src/components/Search/SearchAiDialog.tsx +4 -1
- package/src/components/Search/SearchAiMessage.tsx +3 -6
- package/src/components/Search/SearchAiResponse.tsx +2 -4
- package/src/components/Search/SearchGroups.tsx +1 -5
- package/src/core/constants/markdown.ts +4 -0
- package/src/core/contexts/AccordionGroupContext.tsx +3 -0
- package/src/core/contexts/PageActionsContext.tsx +7 -0
- package/src/core/contexts/index.ts +2 -0
- package/src/core/hooks/__mocks__/use-theme-hooks.ts +2 -0
- package/src/core/hooks/catalog/use-catalog-entity-schema.ts +1 -1
- package/src/core/hooks/catalog/use-catalog-table-header-cell-actions.ts +1 -1
- package/src/core/hooks/catalog/use-graph.ts +4 -4
- package/src/core/hooks/code-walkthrough/use-code-walkthrough-steps.ts +1 -0
- package/src/core/hooks/menu/__mocks__/use-mobile-menu-items.ts +1 -1
- package/src/core/hooks/use-active-heading.ts +4 -0
- package/src/core/hooks/use-active-section-id.ts +8 -0
- package/src/core/hooks/use-connect-mcp-button.ts +8 -2
- package/src/core/hooks/use-element-size.ts +2 -1
- package/src/core/hooks/use-product-picker.ts +2 -2
- package/src/core/hooks/use-tabs.ts +4 -2
- package/src/core/hooks/use-telemetry-fallback.ts +2 -0
- package/src/core/styles/global.ts +1 -0
- package/src/core/types/catalog.ts +7 -3
- package/src/core/types/common.ts +1 -1
- package/src/core/types/hooks.ts +15 -13
- package/src/core/utils/class-names.ts +8 -0
- package/src/core/utils/mcp.ts +0 -17
- package/src/core/utils/menu.ts +2 -2
- package/src/core/utils/urls.ts +1 -3
- package/src/ext/use-configure-replay.ts +3 -3
- package/src/layouts/OIDCForbidden.tsx +1 -1
- package/src/markdoc/components/Accordion/Accordion.tsx +8 -2
- package/src/markdoc/components/Accordion/AccordionGroup.tsx +9 -2
- package/src/markdoc/components/CodeWalkthrough/CodePanelPreview.tsx +2 -2
- package/src/markdoc/components/CodeWalkthrough/CodeWalkthrough.tsx +2 -4
- package/src/markdoc/components/Diagram/Diagram.tsx +2 -5
- package/src/markdoc/components/Heading/Heading.tsx +7 -4
- package/src/markdoc/components/Tabs/Tab.tsx +1 -1
- package/src/markdoc/components/Tabs/TabList.tsx +1 -1
- package/src/markdoc/tags/accordion-group.ts +3 -0
- package/src/markdoc/tags/code-walkthrough.ts +2 -1
- package/src/markdoc/tags/markdoc-example.ts +45 -28
|
@@ -473,33 +473,31 @@ exports.catalog = (0, styled_components_1.css) `
|
|
|
473
473
|
* @tokens Catalog history button
|
|
474
474
|
*/
|
|
475
475
|
--catalog-history-button-width: 252px;
|
|
476
|
-
--catalog-history-button-item-width: 244px;
|
|
477
476
|
--catalog-history-separator-border-color: var(--border-color-secondary);
|
|
478
|
-
--catalog-history-separator-margin
|
|
477
|
+
--catalog-history-separator-margin: var(--spacing-sm) 0;
|
|
479
478
|
--catalog-history-item-padding: var(--spacing-xxs);
|
|
480
|
-
--catalog-history-item-
|
|
481
|
-
--catalog-history-item-
|
|
482
|
-
--catalog-history-item-border-radius: var(--menu-item-label-border-radius);
|
|
479
|
+
--catalog-history-item-gap: var(--spacing-xxs);
|
|
480
|
+
--catalog-history-item-border-radius: var(--border-radius-lg);
|
|
483
481
|
--catalog-history-item-bg-color-hover: var(--menu-item-bg-color-hover);
|
|
484
482
|
--catalog-history-icon-size: 16px;
|
|
485
|
-
--catalog-history-
|
|
483
|
+
--catalog-history-icon-gap: 2px;
|
|
486
484
|
--catalog-history-text-font-family: var(--font-family-base);
|
|
487
485
|
--catalog-history-text-font-size: var(--font-size-base);
|
|
488
486
|
--catalog-history-text-font-weight: var(--font-weight-regular);
|
|
489
487
|
--catalog-history-text-line-height: var(--line-height-base);
|
|
490
|
-
--catalog-history-text-color: var(--
|
|
488
|
+
--catalog-history-text-color: var(--menu-content-color);
|
|
491
489
|
--catalog-history-pill-gap: var(--spacing-xxs);
|
|
490
|
+
--catalog-history-pill-height: 22px;
|
|
492
491
|
--catalog-history-pill-padding-vertical: 1px;
|
|
493
492
|
--catalog-history-pill-padding-horizontal: var(--spacing-xs);
|
|
494
493
|
--catalog-history-pill-border-color: var(--border-color-primary);
|
|
495
|
-
--catalog-history-pill-border-radius:
|
|
496
|
-
--catalog-history-pill-icon-size:
|
|
494
|
+
--catalog-history-pill-border-radius: var(--border-radius-xl);
|
|
495
|
+
--catalog-history-pill-icon-size: 14px;
|
|
497
496
|
--catalog-history-pill-icon-color: var(--color-green-8);
|
|
498
497
|
--catalog-history-pill-font-family: var(--font-family-base);
|
|
499
498
|
--catalog-history-pill-font-size: var(--font-size-base);
|
|
500
499
|
--catalog-history-pill-line-height: var(--line-height-base);
|
|
501
500
|
--catalog-history-pill-text-color: var(--text-color-primary);
|
|
502
|
-
--catalog-history-pill-min-width: calc(100% - 118px - var(--catalog-history-item-gap));
|
|
503
501
|
// @tokens End
|
|
504
502
|
|
|
505
503
|
/**
|
|
@@ -508,50 +506,44 @@ exports.catalog = (0, styled_components_1.css) `
|
|
|
508
506
|
--catalog-history-sidebar-width: 320px;
|
|
509
507
|
--catalog-history-sidebar-bg-color: var(--sidebar-bg-color);
|
|
510
508
|
--catalog-history-sidebar-border-color: var(--border-color-secondary);
|
|
509
|
+
--catalog-history-sidebar-padding: var(--spacing-base) var(--spacing-base) 0;
|
|
510
|
+
--catalog-history-sidebar-divider-margin: var(--spacing-sm) 0 0;
|
|
511
511
|
|
|
512
|
-
--catalog-history-sidebar-header-padding: var(--spacing-
|
|
512
|
+
--catalog-history-sidebar-header-padding: var(--spacing-xxs);
|
|
513
513
|
--catalog-history-sidebar-header-font-family: var(--font-family-base);
|
|
514
514
|
--catalog-history-sidebar-header-font-size: var(--font-size-base);
|
|
515
515
|
--catalog-history-sidebar-header-font-weight: var(--font-weight-regular);
|
|
516
516
|
--catalog-history-sidebar-header-line-height: var(--line-height-base);
|
|
517
517
|
--catalog-history-sidebar-header-letter-spacing: 0;
|
|
518
|
-
--catalog-history-sidebar-header-color: var(--
|
|
518
|
+
--catalog-history-sidebar-header-color: var(--menu-content-color);
|
|
519
519
|
|
|
520
|
-
--catalog-history-sidebar-close-button-size:
|
|
521
|
-
--catalog-history-sidebar-close-button-border-radius: var(--border-radius-
|
|
520
|
+
--catalog-history-sidebar-close-button-size: 22px;
|
|
521
|
+
--catalog-history-sidebar-close-button-border-radius: var(--border-radius-xl);
|
|
522
522
|
--catalog-history-sidebar-close-button-bg-color-hover: var(--color-hover-base);
|
|
523
523
|
--catalog-history-sidebar-close-icon-color: var(--text-color-primary);
|
|
524
524
|
|
|
525
|
-
--catalog-history-sidebar-
|
|
526
|
-
--catalog-history-sidebar-content-margin-top: calc(var(--spacing-xxs) * -1);
|
|
527
|
-
|
|
528
|
-
--catalog-history-sidebar-version-header-padding: var(--spacing-xs) var(--spacing-xxs);
|
|
525
|
+
--catalog-history-sidebar-version-header-padding: var(--spacing-xxs);
|
|
529
526
|
--catalog-history-sidebar-version-header-border-radius: var(--border-radius-md);
|
|
530
527
|
--catalog-history-sidebar-version-header-bg-color-hover: var(--color-hover-base);
|
|
528
|
+
--catalog-history-sidebar-version-header-bg-color-current: var(--menu-item-bg-color-active);
|
|
531
529
|
|
|
532
|
-
--catalog-history-sidebar-version-icon-size:
|
|
533
|
-
--catalog-history-sidebar-version-icon-color: var(--text-color-
|
|
530
|
+
--catalog-history-sidebar-version-icon-size: 20px;
|
|
531
|
+
--catalog-history-sidebar-version-icon-color: var(--text-color-primary);
|
|
534
532
|
--catalog-history-sidebar-version-icon-color-current: var(--color-static-white);
|
|
535
|
-
--catalog-history-sidebar-version-icon-margin-right: var(--spacing-
|
|
533
|
+
--catalog-history-sidebar-version-icon-margin-right: var(--spacing-xxs);
|
|
536
534
|
--catalog-history-sidebar-chevron-icon-color: var(--text-color-secondary);
|
|
537
|
-
--catalog-history-sidebar-version-info-gap: 2px;
|
|
538
535
|
|
|
539
536
|
--catalog-history-sidebar-version-title-font-family: var(--font-family-base);
|
|
540
537
|
--catalog-history-sidebar-version-title-font-size: var(--font-size-base);
|
|
541
|
-
--catalog-history-sidebar-version-title-font-weight: var(--font-weight-
|
|
538
|
+
--catalog-history-sidebar-version-title-font-weight: var(--font-weight-regular);
|
|
542
539
|
--catalog-history-sidebar-version-title-line-height: var(--line-height-base);
|
|
543
|
-
--catalog-history-sidebar-version-title-color: var(--
|
|
544
|
-
|
|
545
|
-
--catalog-history-sidebar-version-date-font-family: var(--font-family-base);
|
|
546
|
-
--catalog-history-sidebar-version-date-font-size: var(--font-size-sm);
|
|
547
|
-
--catalog-history-sidebar-version-date-font-weight: var(--font-weight-regular);
|
|
548
|
-
--catalog-history-sidebar-version-date-line-height: var(--line-height-sm);
|
|
549
|
-
--catalog-history-sidebar-version-date-color: var(--color-warm-grey-7);
|
|
540
|
+
--catalog-history-sidebar-version-title-color: var(--menu-content-color);
|
|
550
541
|
|
|
551
|
-
--catalog-history-sidebar-revisions-padding-left:
|
|
542
|
+
--catalog-history-sidebar-revisions-padding-left: 28px;
|
|
552
543
|
--catalog-history-sidebar-revisions-padding-bottom: var(--spacing-base);
|
|
544
|
+
--catalog-history-sidebar-revision-line-left: 14px;
|
|
553
545
|
|
|
554
|
-
--catalog-history-sidebar-revision-item-padding: var(--spacing-
|
|
546
|
+
--catalog-history-sidebar-revision-item-padding: var(--spacing-xxs) var(--spacing-sm);
|
|
555
547
|
--catalog-history-sidebar-revision-item-border-radius: var(--border-radius-md);
|
|
556
548
|
--catalog-history-sidebar-revision-item-bg-color-hover: var(--bg-color-hover);
|
|
557
549
|
|
|
@@ -575,7 +567,6 @@ exports.catalog = (0, styled_components_1.css) `
|
|
|
575
567
|
/**
|
|
576
568
|
* @tokens Catalog history tag border radius
|
|
577
569
|
*/
|
|
578
|
-
--catalog-history-sidebar-version-tag-border-radius: var(--border-radius-xl);
|
|
579
570
|
--catalog-history-sidebar-revision-tag-border-radius: var(--border-radius-xl);
|
|
580
571
|
// @tokens End
|
|
581
572
|
|
|
@@ -10,7 +10,6 @@ const hooks_1 = require("../../core/hooks");
|
|
|
10
10
|
const utils_1 = require("../../core/utils");
|
|
11
11
|
const Tag_1 = require("../../components/Tag/Tag");
|
|
12
12
|
const Link_1 = require("../../components/Link/Link");
|
|
13
|
-
const utils_2 = require("../../core/utils");
|
|
14
13
|
function CatalogClassicInfoBlock(props) {
|
|
15
14
|
var _a, _b, _c, _d;
|
|
16
15
|
const scorecardBadge = ((_a = props.metadata) === null || _a === void 0 ? void 0 : _a.scorecardLevel) ? (react_1.default.createElement(ScorecardBadge, { level: props.metadata.scorecardLevel, slug: (_b = props.metadata) === null || _b === void 0 ? void 0 : _b.scoreCardSlug, colorVariable: (0, utils_1.getScorecardColorVariable)(((_c = props.metadata) === null || _c === void 0 ? void 0 : _c.scorecardLevelIdx) || 0, Object.keys(((_d = props.metadata) === null || _d === void 0 ? void 0 : _d.scorecardLevels) || {}).length) })) : null;
|
|
@@ -22,7 +21,7 @@ function ScorecardBadge(props) {
|
|
|
22
21
|
const { useTelemetry } = (0, hooks_1.useThemeHooks)();
|
|
23
22
|
const telemetry = useTelemetry();
|
|
24
23
|
return (react_1.default.createElement(Link_1.Link, { to: slug },
|
|
25
|
-
react_1.default.createElement(Tag_1.Tag, { onClick: () => telemetry.sendScorecardLinkClickedMessage([(0,
|
|
24
|
+
react_1.default.createElement(Tag_1.Tag, { onClick: () => telemetry.sendScorecardLinkClickedMessage([(0, utils_1.getBaseDataAttributes)('scorecardLink', 'tag')]), withStatusDot: true, statusDotColor: `var(${colorVariable})` }, level)));
|
|
26
25
|
}
|
|
27
26
|
const CatalogInfoBlockWrapper = styled_components_1.default.div `
|
|
28
27
|
position: relative;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { JSX } from 'react';
|
|
3
3
|
import type { CodeBlockItems } from '../../components/CodeBlock/CodeBlock';
|
|
4
|
-
import { ReportButtonProps } from '../../core/hooks';
|
|
4
|
+
import type { ReportButtonProps } from '../../core/hooks';
|
|
5
5
|
export type CodeBlockControlsProps = {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
className?: string;
|
|
@@ -77,12 +77,18 @@ exports.Dropdown = (0, react_1.forwardRef)(({ children, className, active, trigg
|
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
const updateMenuPosition = (0, react_1.useCallback)(() => {
|
|
80
|
+
var _a;
|
|
81
|
+
var _b;
|
|
80
82
|
const wrapper = wrapperRef.current;
|
|
81
83
|
if (!wrapper)
|
|
82
84
|
return;
|
|
83
85
|
const rect = wrapper.getBoundingClientRect();
|
|
86
|
+
const menuHeight = (_b = (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0;
|
|
87
|
+
const fitsBelow = rect.bottom + menuHeight <= window.innerHeight;
|
|
88
|
+
const fitsAbove = rect.top - menuHeight >= 0;
|
|
89
|
+
const openUpward = placement === 'top' ? fitsAbove || !fitsBelow : !fitsBelow && fitsAbove;
|
|
84
90
|
const style = { minWidth: rect.width };
|
|
85
|
-
if (
|
|
91
|
+
if (openUpward) {
|
|
86
92
|
style.bottom = window.innerHeight - rect.top;
|
|
87
93
|
}
|
|
88
94
|
else {
|
|
@@ -62,11 +62,10 @@ const TAB_LABELS = {
|
|
|
62
62
|
},
|
|
63
63
|
json: { translationKey: 'page.mcpNotAllowed.tabs.json', defaultLabel: 'JSON' },
|
|
64
64
|
};
|
|
65
|
-
// The report control is docs feedback, not useful on the connection page.
|
|
66
|
-
const CODE_BLOCK_HEADER = { controls: { copy: {}, report: { hidden: true } } };
|
|
67
65
|
function McpConnectionTabs({ options = DEFAULT_TAB_OPTIONS, className, }) {
|
|
68
|
-
const { useTranslate } = (0, hooks_1.useThemeHooks)();
|
|
66
|
+
const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
|
|
69
67
|
const { translate } = useTranslate();
|
|
68
|
+
const telemetry = useTelemetry();
|
|
70
69
|
const { serverName, serverUrl, isMcpDisabled } = (0, hooks_1.useMCPConfig)();
|
|
71
70
|
// The SSR markup of error pages is cached with the build-time origin, so the
|
|
72
71
|
// tabs remount after hydration to pick up the real browser origin.
|
|
@@ -76,20 +75,31 @@ function McpConnectionTabs({ options = DEFAULT_TAB_OPTIONS, className, }) {
|
|
|
76
75
|
return null;
|
|
77
76
|
}
|
|
78
77
|
const connection = { serverName, url: serverUrl };
|
|
78
|
+
const snippetHeader = (client, snippet) => ({
|
|
79
|
+
controls: {
|
|
80
|
+
copy: {
|
|
81
|
+
onClick: () => telemetry.sendMcpConnectionSnippetCopiedMessage([
|
|
82
|
+
Object.assign(Object.assign({}, (0, utils_1.getBaseDataAttributes)('mcpConnectionSnippet', 'button')), { client, snippet }),
|
|
83
|
+
]),
|
|
84
|
+
},
|
|
85
|
+
// The report control is docs feedback, not useful on the connection page.
|
|
86
|
+
report: { hidden: true },
|
|
87
|
+
},
|
|
88
|
+
});
|
|
79
89
|
return (react_1.default.createElement(McpConnectionTabsWrapper, { key: hydrated ? 'client' : 'ssr', "data-component-name": "MCP/McpConnectionTabs", "data-testid": "mcp-connection-tabs", className: className },
|
|
80
90
|
react_1.default.createElement(Tabs_1.Tabs, { size: Tabs_1.TabsSize.SMALL }, options.map((option) => {
|
|
81
91
|
const { translationKey, defaultLabel, icon: TabIcon } = TAB_LABELS[option];
|
|
82
|
-
return (react_1.default.createElement(TabItemFragment_1.TabItemFragment, { key: option, label: translate(translationKey, defaultLabel), icon: TabIcon ? react_1.default.createElement(TabIcon, null) : undefined }, renderTabContent(option, connection, translate)));
|
|
92
|
+
return (react_1.default.createElement(TabItemFragment_1.TabItemFragment, { key: option, label: translate(translationKey, defaultLabel), icon: TabIcon ? react_1.default.createElement(TabIcon, null) : undefined }, renderTabContent(option, connection, translate, snippetHeader)));
|
|
83
93
|
}))));
|
|
84
94
|
}
|
|
85
|
-
function renderTabContent(option, connection, translate) {
|
|
95
|
+
function renderTabContent(option, connection, translate, snippetHeader) {
|
|
86
96
|
const terminalHint = (react_1.default.createElement(TabHint, null, translate('page.mcpNotAllowed.snippets.terminal.hint', 'Run this command in your terminal:')));
|
|
87
|
-
const urlBlock = react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "text", source: connection.url, header:
|
|
97
|
+
const urlBlock = (react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "text", source: connection.url, header: snippetHeader(option, 'chatgpt-app') }));
|
|
88
98
|
const assistantPromptClient = {
|
|
89
99
|
headline: translate('page.mcpNotAllowed.snippets.prompt.headline', 'Prompt'),
|
|
90
100
|
content: (react_1.default.createElement(react_1.default.Fragment, null,
|
|
91
101
|
react_1.default.createElement(TabHint, null, translate('page.mcpNotAllowed.snippets.prompt.hint', 'Or paste this prompt into the chat to have it add the server for you:')),
|
|
92
|
-
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "text", source: (0, utils_1.generateMcpInstallPrompt)(connection), header:
|
|
102
|
+
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "text", source: (0, utils_1.generateMcpInstallPrompt)(connection), header: snippetHeader(option, 'prompt'), wrapContents: true }))),
|
|
93
103
|
};
|
|
94
104
|
switch (option) {
|
|
95
105
|
case 'claude':
|
|
@@ -98,13 +108,13 @@ function renderTabContent(option, connection, translate) {
|
|
|
98
108
|
headline: translate('page.mcpNotAllowed.snippets.claudeCode.headline', 'Claude Code'),
|
|
99
109
|
content: (react_1.default.createElement(react_1.default.Fragment, null,
|
|
100
110
|
terminalHint,
|
|
101
|
-
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "shell", source: (0, utils_1.generateClaudeCodeCommand)(connection), header:
|
|
111
|
+
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "shell", source: (0, utils_1.generateClaudeCodeCommand)(connection), header: snippetHeader(option, 'claude-code'), wrapContents: true }))),
|
|
102
112
|
},
|
|
103
113
|
{
|
|
104
114
|
headline: translate('page.mcpNotAllowed.snippets.claudeDesktop.headline', 'Claude Desktop'),
|
|
105
115
|
content: (react_1.default.createElement(react_1.default.Fragment, null,
|
|
106
|
-
react_1.default.createElement(TabHint, null, translate('page.mcpNotAllowed.snippets.claudeDesktop.instruction', '
|
|
107
|
-
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "
|
|
116
|
+
react_1.default.createElement(TabHint, null, translate('page.mcpNotAllowed.snippets.claudeDesktop.instruction', 'Open Customize → Connectors → Add custom connector and paste this server URL:')),
|
|
117
|
+
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "text", source: connection.url, header: snippetHeader(option, 'claude-desktop') }))),
|
|
108
118
|
},
|
|
109
119
|
]);
|
|
110
120
|
case 'chatgpt':
|
|
@@ -113,7 +123,7 @@ function renderTabContent(option, connection, translate) {
|
|
|
113
123
|
headline: translate('page.mcpNotAllowed.snippets.codexCli.headline', 'Codex CLI'),
|
|
114
124
|
content: (react_1.default.createElement(react_1.default.Fragment, null,
|
|
115
125
|
terminalHint,
|
|
116
|
-
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "shell", source: (0, utils_1.generateCodexCommand)(connection), header:
|
|
126
|
+
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "shell", source: (0, utils_1.generateCodexCommand)(connection), header: snippetHeader(option, 'codex'), wrapContents: true }))),
|
|
117
127
|
},
|
|
118
128
|
{
|
|
119
129
|
headline: translate('page.mcpNotAllowed.snippets.chatgptApp.headline', 'ChatGPT desktop app'),
|
|
@@ -126,7 +136,7 @@ function renderTabContent(option, connection, translate) {
|
|
|
126
136
|
case 'json':
|
|
127
137
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
128
138
|
react_1.default.createElement(TabHint, null, translate('page.mcpNotAllowed.snippets.json.hint', 'Add this server entry to your MCP client configuration file:')),
|
|
129
|
-
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "json", source: JSON.stringify({ [connection.serverName]: { url: connection.url, description: 'MCP Server' } }, null, 2), header:
|
|
139
|
+
react_1.default.createElement(CodeBlock_1.CodeBlock, { lang: "json", source: JSON.stringify({ [connection.serverName]: { url: connection.url, description: 'MCP Server' } }, null, 2), header: snippetHeader(option, 'json') })));
|
|
130
140
|
}
|
|
131
141
|
}
|
|
132
142
|
function renderClientList(clients) {
|
|
@@ -178,10 +178,8 @@ exports.Markdown = styled_components_1.default.main
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
hr {
|
|
181
|
-
border-top: 1px solid var(--md-hr-border-color);
|
|
182
|
-
background-color: var(--md-hr-bg-color);
|
|
183
|
-
height: var(--md-hr-height);
|
|
184
181
|
margin: var(--md-hr-margin-vertical) 0;
|
|
182
|
+
border: var(--md-hr-border);
|
|
185
183
|
}
|
|
186
184
|
|
|
187
185
|
details:not(${constants_1.ACCORDION_SELECTOR}) {
|
|
@@ -46,6 +46,14 @@ exports.markdownBaseTableCss = (0, styled_components_1.css) `
|
|
|
46
46
|
background-color: var(--md-table-header-bg-color);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/* hide the header row when every cell is empty; one labelled cell keeps it visible */
|
|
50
|
+
thead:has(th:empty) {
|
|
51
|
+
display: none;
|
|
52
|
+
}
|
|
53
|
+
thead:has(th:not(:empty)) {
|
|
54
|
+
display: table-header-group;
|
|
55
|
+
}
|
|
56
|
+
|
|
49
57
|
tr {
|
|
50
58
|
background-color: var(--md-table-stripe-bg-color);
|
|
51
59
|
}
|
|
@@ -62,9 +62,8 @@ exports.markdown = (0, styled_components_1.css) `
|
|
|
62
62
|
* @tokens Markdown Horizontal Rule
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
|
-
--md-hr-bg-color: transparent; // @presenter Color
|
|
66
65
|
--md-hr-border-color: var(--border-color-secondary); // @presenter Color
|
|
67
|
-
--md-hr-
|
|
66
|
+
--md-hr-border: 0.5px solid var(--md-hr-border-color); // @presenter Border
|
|
68
67
|
--md-hr-margin-vertical: 20px; // @presenter Spacing
|
|
69
68
|
|
|
70
69
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { JSX } from 'react';
|
|
3
3
|
import type { AiSearchConversationItem, SearchAiMessageResource, ToolCall, ContentSegment } from '../../core/types';
|
|
4
|
-
import { AiSearchError } from '../../core/constants';
|
|
4
|
+
import type { AiSearchError } from '../../core/constants';
|
|
5
5
|
export type SearchAiDialogProps = {
|
|
6
6
|
response: string | undefined;
|
|
7
7
|
isGeneratingResponse: boolean;
|
|
@@ -80,6 +80,7 @@ function SearchAiDialog({ isGeneratingResponse, response, initialMessage, error,
|
|
|
80
80
|
if (!(initialMessage === null || initialMessage === void 0 ? void 0 : initialMessage.trim().length)) {
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-pass-data-to-parent -- appends the initial message into the conversation state lifted to the search root once the dialog mounts
|
|
83
84
|
setConversation((prev) => [
|
|
84
85
|
...prev,
|
|
85
86
|
{ role: constants_1.AiSearchConversationRole.USER, content: initialMessage },
|
|
@@ -89,6 +90,7 @@ function SearchAiDialog({ isGeneratingResponse, response, initialMessage, error,
|
|
|
89
90
|
if (response === undefined || conversation.length === 0 || error) {
|
|
90
91
|
return;
|
|
91
92
|
}
|
|
93
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-pass-data-to-parent -- merges the streamed assistant response into the lifted conversation state as chunks arrive
|
|
92
94
|
setConversation((prev) => {
|
|
93
95
|
const lastMessage = prev[prev.length - 1];
|
|
94
96
|
const content = response || '';
|
|
@@ -127,6 +129,7 @@ function SearchAiDialog({ isGeneratingResponse, response, initialMessage, error,
|
|
|
127
129
|
]);
|
|
128
130
|
(0, react_1.useEffect)(() => {
|
|
129
131
|
if (error) {
|
|
132
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-pass-data-to-parent -- drops the pending message from the lifted conversation state once the request errors
|
|
130
133
|
setConversation((prev) => prev.slice(0, -1));
|
|
131
134
|
}
|
|
132
135
|
}, [error, setConversation]);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { JSX } from 'react';
|
|
1
|
+
import React, { type JSX } from 'react';
|
|
3
2
|
import { FeedbackType, type SearchAiMessageResource, type ToolCall, type ContentSegment } from '../../core/types';
|
|
4
3
|
import { AiSearchConversationRole } from '../../core/constants';
|
|
5
4
|
export type SearchAiMessageProps = {
|
|
@@ -41,10 +41,8 @@ const react_1 = __importStar(require("react"));
|
|
|
41
41
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
42
42
|
const types_1 = require("../../core/types");
|
|
43
43
|
const constants_1 = require("../../core/constants");
|
|
44
|
-
const types_2 = require("../../core/types");
|
|
45
44
|
const Link_1 = require("../../components/Link/Link");
|
|
46
45
|
const Tag_1 = require("../../components/Tag/Tag");
|
|
47
|
-
const constants_2 = require("../../core/constants");
|
|
48
46
|
const hooks_1 = require("../../core/hooks");
|
|
49
47
|
const Markdown_1 = require("../../components/Markdown/Markdown");
|
|
50
48
|
const DocumentIcon_1 = require("../../icons/DocumentIcon/DocumentIcon");
|
|
@@ -70,7 +68,7 @@ function getExecuteDescription(args) {
|
|
|
70
68
|
}
|
|
71
69
|
function getToolCallDisplayText(toolCall) {
|
|
72
70
|
var _a;
|
|
73
|
-
if (toolCall.name ===
|
|
71
|
+
if (toolCall.name === types_1.ToolCallName.Execute) {
|
|
74
72
|
const description = getExecuteDescription(toolCall.args);
|
|
75
73
|
if (description) {
|
|
76
74
|
return { inProgressText: description, completedText: description };
|
|
@@ -123,8 +121,8 @@ function SearchAiMessageComponent({ role, content, isThinking, resources, classN
|
|
|
123
121
|
}
|
|
124
122
|
};
|
|
125
123
|
return (react_1.default.createElement(SearchAiMessageWrapper, { "data-component-name": "Search/SearchAiMessage", $role: role, className: className, "data-testid": "search-ai-message" },
|
|
126
|
-
role ===
|
|
127
|
-
react_1.default.createElement(MessageContentWrapper, null, role ===
|
|
124
|
+
role === constants_1.AiSearchConversationRole.ASSISTANT && (react_1.default.createElement(AiStarsIcon_1.AiStarsIcon, { size: "32px", background: "var(--search-ai-icon-bg-color)", borderRadius: "var(--border-radius-lg)", color: "var(--search-ai-icon-color)", margin: "0 var(--spacing-xs) 0 0" })),
|
|
125
|
+
react_1.default.createElement(MessageContentWrapper, null, role === constants_1.AiSearchConversationRole.ASSISTANT ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
128
126
|
react_1.default.createElement(MessageWrapper, { $role: role },
|
|
129
127
|
contentSegments.map((segment, index) => {
|
|
130
128
|
if (segment.type === 'tool') {
|
|
@@ -189,7 +187,7 @@ const SearchAiMessageWrapper = styled_components_1.default.div `
|
|
|
189
187
|
flex-direction: row;
|
|
190
188
|
align-items: flex-start;
|
|
191
189
|
width: 100%;
|
|
192
|
-
justify-content: ${({ $role }) => $role ===
|
|
190
|
+
justify-content: ${({ $role }) => $role === constants_1.AiSearchConversationRole.USER ? 'flex-end' : 'flex-start'};
|
|
193
191
|
`;
|
|
194
192
|
const MessageContentWrapper = styled_components_1.default.div `
|
|
195
193
|
display: flex;
|
|
@@ -215,7 +213,7 @@ const ResponseText = (0, styled_components_1.default)(Markdown_1.Markdown) `
|
|
|
215
213
|
}
|
|
216
214
|
`;
|
|
217
215
|
const MessageWrapper = styled_components_1.default.div `
|
|
218
|
-
padding: ${({ $role }) => $role ===
|
|
216
|
+
padding: ${({ $role }) => $role === constants_1.AiSearchConversationRole.USER
|
|
219
217
|
? 'var(--spacing-sm)'
|
|
220
218
|
: 'var(--spacing-sm) var(--spacing-sm) var(--spacing-xs) var(--spacing-sm)'};
|
|
221
219
|
border-radius: var(--border-radius-xl);
|
|
@@ -223,11 +221,11 @@ const MessageWrapper = styled_components_1.default.div `
|
|
|
223
221
|
max-width: 100%;
|
|
224
222
|
word-wrap: break-word;
|
|
225
223
|
white-space: pre-wrap;
|
|
226
|
-
background-color: ${({ $role }) => $role ===
|
|
224
|
+
background-color: ${({ $role }) => $role === constants_1.AiSearchConversationRole.USER
|
|
227
225
|
? 'var(--search-ai-user-bg-color)'
|
|
228
226
|
: 'var(--search-ai-assistant-bg-color)'};
|
|
229
|
-
border: ${({ $role }) => $role ===
|
|
230
|
-
color: ${({ $role }) => $role ===
|
|
227
|
+
border: ${({ $role }) => $role === constants_1.AiSearchConversationRole.USER ? 'none' : 'var(--search-ai-assistant-border)'};
|
|
228
|
+
color: ${({ $role }) => $role === constants_1.AiSearchConversationRole.USER
|
|
231
229
|
? 'var(--search-ai-user-text-color)'
|
|
232
230
|
: 'var(--search-ai-assistant-text-color)'};
|
|
233
231
|
`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JSX } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import type { SearchFacet, SearchFilterItem } from '../../core/types';
|
|
3
3
|
type SearchGroupsProps = {
|
|
4
4
|
facets: SearchFacet[];
|
|
5
5
|
searchFilter: SearchFilterItem[];
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MARKDOWN_CLASS_NAME = void 0;
|
|
3
|
+
exports.EXAMPLE_CONTENT_ATTRIBUTE = exports.MARKDOC_EXAMPLE_TAG = exports.MARKDOWN_CLASS_NAME = void 0;
|
|
4
4
|
exports.MARKDOWN_CLASS_NAME = 'md';
|
|
5
|
+
exports.MARKDOC_EXAMPLE_TAG = 'markdoc-example';
|
|
6
|
+
exports.EXAMPLE_CONTENT_ATTRIBUTE = 'exampleContent';
|
|
5
7
|
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const AccordionGroupContext: import("react").Context<string | null>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccordionGroupContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
exports.AccordionGroupContext = (0, react_1.createContext)(null);
|
|
6
|
+
//# sourceMappingURL=AccordionGroupContext.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageActionsContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
/**
|
|
6
|
+
* Whether the first heading inside the enclosing `Markdown` mounts the page actions.
|
|
7
|
+
* Without a provider `Heading` falls back to the page type in the page metadata.
|
|
8
|
+
*/
|
|
9
|
+
exports.PageActionsContext = (0, react_1.createContext)(null);
|
|
10
|
+
//# sourceMappingURL=PageActionsContext.js.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from './ThemeDataContext';
|
|
2
2
|
export * from './MarkdownLinkContext';
|
|
3
|
+
export * from './PageActionsContext';
|
|
3
4
|
export * from './CodeWalkthrough/CodeWalkthroughControlsContext';
|
|
4
5
|
export * from './CodeWalkthrough/CodeWalkthroughStepsContext';
|
|
6
|
+
export * from './AccordionGroupContext';
|
|
5
7
|
export * from './CodeSnippetContext';
|
|
6
8
|
export * from './SearchContext';
|
|
7
9
|
export * from './Toast/ToastContext';
|
|
@@ -16,8 +16,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ThemeDataContext"), exports);
|
|
18
18
|
__exportStar(require("./MarkdownLinkContext"), exports);
|
|
19
|
+
__exportStar(require("./PageActionsContext"), exports);
|
|
19
20
|
__exportStar(require("./CodeWalkthrough/CodeWalkthroughControlsContext"), exports);
|
|
20
21
|
__exportStar(require("./CodeWalkthrough/CodeWalkthroughStepsContext"), exports);
|
|
22
|
+
__exportStar(require("./AccordionGroupContext"), exports);
|
|
21
23
|
__exportStar(require("./CodeSnippetContext"), exports);
|
|
22
24
|
__exportStar(require("./SearchContext"), exports);
|
|
23
25
|
__exportStar(require("./Toast/ToastContext"), exports);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseEntity, CatalogColumn } from '../../../components/Catalog/CatalogTableView/CatalogTableView';
|
|
1
|
+
import type { BaseEntity, CatalogColumn } from '../../../components/Catalog/CatalogTableView/CatalogTableView';
|
|
2
2
|
type CatalogTableHeaderCellActionsProps<T extends BaseEntity> = {
|
|
3
3
|
column: CatalogColumn<T>;
|
|
4
4
|
currentSortOption?: string | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import {
|
|
3
|
-
import { BffCatalogEntity, BffCatalogRelatedEntity } from '../../types';
|
|
1
|
+
import { type OnNodesChange, type OnEdgesChange, type Node, type Edge, type Connection } from '@xyflow/react';
|
|
2
|
+
import type { CatalogEntityNodeData } from '../../../components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNode';
|
|
3
|
+
import type { BffCatalogEntity, BffCatalogRelatedEntity } from '../../types';
|
|
4
4
|
export type UseGraphProps = {
|
|
5
5
|
entity: BffCatalogEntity;
|
|
6
6
|
relations: BffCatalogRelatedEntity[];
|
|
@@ -58,6 +58,7 @@ function useCodeWalkthroughSteps({ steps, enableDeepLink, root, }) {
|
|
|
58
58
|
startOffset: markersMinTopOffset < endOffset ? startOffset : 0,
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-chain-state-updates -- marker geometry is derived from post-layout measurements (offsetTop, clientHeight, window.innerHeight)
|
|
61
62
|
setMarkers(markers.reduce((acc, marker, index) => {
|
|
62
63
|
var _a;
|
|
63
64
|
const step = visibleSteps[index];
|
|
@@ -205,19 +205,23 @@ function useActiveHeading(contentElement, displayedHeadings) {
|
|
|
205
205
|
return;
|
|
206
206
|
}
|
|
207
207
|
const headers = findHeaders(contentElement);
|
|
208
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-chain-state-updates -- headings and the initial active heading come from DOM queries and scroll measurement, available only after layout
|
|
208
209
|
setHeadingElements(headers);
|
|
209
210
|
if (headers.length > 0 && !heading) {
|
|
210
211
|
if (isTopOfPage()) {
|
|
212
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-chain-state-updates -- see above
|
|
211
213
|
setHeading(headers[0].id);
|
|
212
214
|
}
|
|
213
215
|
else {
|
|
214
216
|
const totalHeight = scrollY + window.innerHeight;
|
|
215
217
|
if (totalHeight >= document.body.scrollHeight - 10) {
|
|
218
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-chain-state-updates -- see above
|
|
216
219
|
setHeading(((_a = headers[headers.length - 1]) === null || _a === void 0 ? void 0 : _a.id) || undefined);
|
|
217
220
|
}
|
|
218
221
|
else {
|
|
219
222
|
const triggerOffset = getTriggerOffset();
|
|
220
223
|
const activeHeader = findActiveHeaderByVirtualPosition(headers, scrollY, triggerOffset);
|
|
224
|
+
// oxlint-disable-next-line react-you-might-not-need-an-effect/no-chain-state-updates -- see above
|
|
221
225
|
setHeading(activeHeader.id);
|
|
222
226
|
}
|
|
223
227
|
}
|
|
@@ -32,6 +32,8 @@ function useActiveSectionId(location, hasOverviewPage = false, withNavbar = true
|
|
|
32
32
|
const section = sections[i];
|
|
33
33
|
const rect = section.getBoundingClientRect();
|
|
34
34
|
if (rect.y < heightOffset && rect.bottom > heightOffset) {
|
|
35
|
+
if (isSkippedContent(section))
|
|
36
|
+
continue;
|
|
35
37
|
setItemId(section.getAttribute('data-section-id') || '');
|
|
36
38
|
return;
|
|
37
39
|
}
|
|
@@ -56,4 +58,8 @@ function useActiveSectionId(location, hasOverviewPage = false, withNavbar = true
|
|
|
56
58
|
}, [location, heightOffset, scrollListener]);
|
|
57
59
|
return itemId;
|
|
58
60
|
}
|
|
61
|
+
function isSkippedContent(element) {
|
|
62
|
+
return (typeof element.checkVisibility === 'function' &&
|
|
63
|
+
!element.checkVisibility({ contentVisibilityAuto: true }));
|
|
64
|
+
}
|
|
59
65
|
//# sourceMappingURL=use-active-section-id.js.map
|